From cb1f916bce972f7974efee9a12fabb87a5590d29 Mon Sep 17 00:00:00 2001 From: Jan Mercl <0xjnml@gmail.com> Date: Sun, 18 Jul 2021 20:22:36 +0200 Subject: [PATCH] enable session support, updates #58 --- generator.go | 6 +- internal/mptest/main_darwin_amd64.go | 26 +- internal/mptest/main_linux_386.go | 26 +- internal/mptest/main_linux_amd64.go | 26 +- internal/mptest/main_linux_arm.go | 26 +- internal/mptest/main_linux_arm64.go | 26 +- internal/mptest/main_windows_amd64.go | 26 +- .../testfixture/testfixture_darwin_amd64.go | 6190 +++++---- internal/testfixture/testfixture_linux_386.go | 5841 +++++--- .../testfixture/testfixture_linux_amd64.go | 5847 +++++--- internal/testfixture/testfixture_linux_arm.go | 5869 +++++--- .../testfixture/testfixture_linux_arm64.go | 5925 +++++--- .../testfixture/testfixture_windows_amd64.go | 5512 +++++--- lib/capi_darwin_amd64.go | 49 +- lib/capi_linux_386.go | 49 +- lib/capi_linux_amd64.go | 49 +- lib/capi_linux_arm.go | 49 +- lib/capi_linux_arm64.go | 49 +- lib/capi_windows_amd64.go | 49 +- lib/sqlite_darwin_amd64.go | 10640 +++++++++++--- lib/sqlite_darwin_arm64.go | 2 - lib/sqlite_linux_386.go | 10559 +++++++++++--- lib/sqlite_linux_amd64.go | 10566 +++++++++++--- lib/sqlite_linux_arm.go | 10560 +++++++++++--- lib/sqlite_linux_arm64.go | 10568 +++++++++++--- lib/sqlite_windows_amd64.go | 10688 +++++++++++--- libtest/capi_darwin_amd64.go | 49 +- libtest/capi_linux_386.go | 49 +- libtest/capi_linux_amd64.go | 49 +- libtest/capi_linux_arm.go | 49 +- libtest/capi_linux_arm64.go | 49 +- libtest/capi_windows_amd64.go | 49 +- libtest/sqlite_darwin_amd64.go | 11332 +++++++++++---- libtest/sqlite_darwin_arm64.go | 2 - libtest/sqlite_linux_386.go | 11173 +++++++++++---- libtest/sqlite_linux_amd64.go | 11180 +++++++++++---- libtest/sqlite_linux_arm.go | 11174 +++++++++++---- libtest/sqlite_linux_arm64.go | 11182 +++++++++++---- libtest/sqlite_windows_amd64.go | 11494 ++++++++++++---- speedtest1/main_darwin_amd64.go | 26 +- speedtest1/main_linux_386.go | 26 +- speedtest1/main_linux_amd64.go | 26 +- speedtest1/main_linux_arm.go | 26 +- speedtest1/main_linux_arm64.go | 26 +- speedtest1/main_windows_amd64.go | 26 +- 45 files changed, 125077 insertions(+), 42133 deletions(-) diff --git a/generator.go b/generator.go index b4ddfda..745ae33 100644 --- a/generator.go +++ b/generator.go @@ -161,6 +161,7 @@ var ( "-DSQLITE_ENABLE_PREUPDATE_HOOK", "-DSQLITE_ENABLE_RBU", "-DSQLITE_ENABLE_RTREE", + "-DSQLITE_ENABLE_SESSION", "-DSQLITE_ENABLE_SNAPSHOT", "-DSQLITE_ENABLE_STAT4", "-DSQLITE_ENABLE_UNLOCK_NOTIFY", // Adds sqlite3_unlock_notify(). @@ -170,7 +171,6 @@ var ( "-DSQLITE_THREADSAFE=1", //DONT "-DNDEBUG", // To enable GO_GENERATE=-DSQLITE_DEBUG //DONT "-DSQLITE_DQS=0", // testfixture - //DONT "-DSQLITE_ENABLE_SESSION", // Needs UTF16 //DONT "-DSQLITE_NO_SYNC=1", //DONT "-DSQLITE_OMIT_DECLTYPE", // testfixture //DONT "-DSQLITE_OMIT_DEPRECATED", // mptest @@ -212,6 +212,7 @@ var ( "-DSQLITE_ENABLE_PREUPDATE_HOOK", "-DSQLITE_ENABLE_RBU", "-DSQLITE_ENABLE_RTREE", + "-DSQLITE_ENABLE_SESSION", "-DSQLITE_ENABLE_SNAPSHOT", "-DSQLITE_ENABLE_STAT4", "-DSQLITE_ENABLE_STMTVTAB", // testfixture @@ -225,7 +226,6 @@ var ( "-DSQLITE_THREADSAFE=1", //DONT "-DNDEBUG", // To enable GO_GENERATE=-DSQLITE_DEBUG //DONT "-DSQLITE_DQS=0", // testfixture - //DONT "-DSQLITE_ENABLE_SESSION", // Needs UTF16 //DONT "-DSQLITE_NO_SYNC=1", //DONT "-DSQLITE_OMIT_DECLTYPE", // testfixture //DONT "-DSQLITE_OMIT_DEPRECATED", // mptest @@ -520,7 +520,7 @@ func makeTestfixture(goos, goarch string, more []string) { "ext/misc/wholenumber.c", "ext/misc/zipfile.c", "ext/rbu/test_rbu.c", - // "ext/session/test_session.c", // Needs UTF16 + "ext/session/test_session.c", "ext/userauth/userauth.c", "src/tclsqlite.c", "src/test1.c", diff --git a/internal/mptest/main_darwin_amd64.go b/internal/mptest/main_darwin_amd64.go index 54a60ca..71cf55e 100644 --- a/internal/mptest/main_darwin_amd64.go +++ b/internal/mptest/main_darwin_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -export-defines "" -o internal/mptest/main_darwin_amd64.go -trace-translation-units testdata/sqlite-src-3360000/mptest/mptest.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. +// Code generated by 'ccgo -export-defines "" -o internal/mptest/main_darwin_amd64.go -trace-translation-units testdata/sqlite-src-3360000/mptest/mptest.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. package main @@ -398,6 +398,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -519,6 +530,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -751,6 +763,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3619,10 +3633,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -3674,10 +3687,9 @@ type Fts5ExtensionApi1 = struct { xPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** diff --git a/internal/mptest/main_linux_386.go b/internal/mptest/main_linux_386.go index e4f7ae0..e944d2f 100644 --- a/internal/mptest/main_linux_386.go +++ b/internal/mptest/main_linux_386.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -export-defines "" -o internal/mptest/main_linux_386.go -trace-translation-units testdata/sqlite-src-3360000/mptest/mptest.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -export-defines "" -o internal/mptest/main_linux_386.go -trace-translation-units testdata/sqlite-src-3360000/mptest/mptest.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. package main @@ -224,6 +224,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -345,6 +356,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -577,6 +589,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3343,10 +3357,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -3397,10 +3410,9 @@ type Fts5ExtensionApi1 = struct { xPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** diff --git a/internal/mptest/main_linux_amd64.go b/internal/mptest/main_linux_amd64.go index 690762a..50d511e 100644 --- a/internal/mptest/main_linux_amd64.go +++ b/internal/mptest/main_linux_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -export-defines "" -o internal/mptest/main_linux_amd64.go -trace-translation-units testdata/sqlite-src-3360000/mptest/mptest.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -export-defines "" -o internal/mptest/main_linux_amd64.go -trace-translation-units testdata/sqlite-src-3360000/mptest/mptest.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package main @@ -224,6 +224,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -345,6 +356,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -576,6 +588,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3354,10 +3368,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -3409,10 +3422,9 @@ type Fts5ExtensionApi1 = struct { xPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** diff --git a/internal/mptest/main_linux_arm.go b/internal/mptest/main_linux_arm.go index 8193904..6abb492 100644 --- a/internal/mptest/main_linux_arm.go +++ b/internal/mptest/main_linux_arm.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -export-defines "" -o internal/mptest/main_linux_arm.go -trace-translation-units testdata/sqlite-src-3360000/mptest/mptest.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -export-defines "" -o internal/mptest/main_linux_arm.go -trace-translation-units testdata/sqlite-src-3360000/mptest/mptest.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. package main @@ -224,6 +224,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -345,6 +356,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -577,6 +589,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3350,10 +3364,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -3404,10 +3417,9 @@ type Fts5ExtensionApi1 = struct { xPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** diff --git a/internal/mptest/main_linux_arm64.go b/internal/mptest/main_linux_arm64.go index 2063e99..3853954 100644 --- a/internal/mptest/main_linux_arm64.go +++ b/internal/mptest/main_linux_arm64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -export-defines "" -o internal/mptest/main_linux_arm64.go -trace-translation-units testdata/sqlite-src-3360000/mptest/mptest.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -export-defines "" -o internal/mptest/main_linux_arm64.go -trace-translation-units testdata/sqlite-src-3360000/mptest/mptest.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. package main @@ -224,6 +224,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -345,6 +356,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -577,6 +589,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3361,10 +3375,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -3416,10 +3429,9 @@ type Fts5ExtensionApi1 = struct { xPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** diff --git a/internal/mptest/main_windows_amd64.go b/internal/mptest/main_windows_amd64.go index a1fb62e..d31ada5 100644 --- a/internal/mptest/main_windows_amd64.go +++ b/internal/mptest/main_windows_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -export-defines "" -o internal/mptest/main_windows_amd64.go -trace-translation-units testdata/sqlite-src-3360000/mptest/mptest.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT. +// Code generated by 'ccgo -export-defines "" -o internal/mptest/main_windows_amd64.go -trace-translation-units testdata/sqlite-src-3360000/mptest/mptest.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT. package main @@ -8802,6 +8802,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -8923,6 +8934,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -9155,6 +9167,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -14714,10 +14728,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -14769,10 +14782,9 @@ type Fts5ExtensionApi1 = struct { xPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** diff --git a/internal/testfixture/testfixture_darwin_amd64.go b/internal/testfixture/testfixture_darwin_amd64.go index e961449..67cc905 100644 --- a/internal/testfixture/testfixture_darwin_amd64.go +++ b/internal/testfixture/testfixture_darwin_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -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 -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_darwin_amd64.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC -lmodernc.org/sqlite/internal/libc2', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -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 -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_darwin_amd64.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/session/test_session.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC -lmodernc.org/sqlite/internal/libc2', DO NOT EDIT. package main @@ -84,6 +84,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -213,6 +224,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_STMTVTAB = 1 @@ -450,6 +462,8 @@ const ( SQLITE_SERIALIZE_NOCOPY = 0x001 SQLITE_SERIES_CONSTRAINT_VERIFY = 1 SQLITE_SERVER = 1 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -2593,6 +2607,7 @@ const ( SQLITE_RBU_STATE_MOVE = 2 SQLITE_RBU_STATE_OAL = 1 X_SQLITE3RBU_H = 0 + SESSION_STREAM_TCL_VAR = "sqlite3session_streams" MAX_PREPARED_STMTS = 100 NUM_PREPARED_STMTS = 10 SQLITE_EVAL_WITHOUTNULLS = 0x00001 @@ -4411,343 +4426,11 @@ const ( /* qos.h:130:1: */ QOS_CLASS_UNSPECIFIED = 0 ) -// Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved. // -// @APPLE_LICENSE_HEADER_START@ +// END OF REGISTRATION API // -// This file contains Original Code and/or Modifications of Original Code -// as defined in and that are subject to the Apple Public Source License -// Version 2.0 (the 'License'). You may not use this file except in -// compliance with the License. Please obtain a copy of the License at -// http://www.opensource.apple.com/apsl/ and read it before using this -// file. -// -// The Original Code and all software distributed under the License are -// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, -// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -// Please see the License for the specific language governing rights and -// limitations under the License. -// -// @APPLE_LICENSE_HEADER_END@ -// - -// Copyright (c) 1990, 1993 -// The Regents of the University of California. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. All advertising materials mentioning features or use of this software -// must display the following acknowledgement: -// This product includes software developed by the University of -// California, Berkeley and its contributors. -// 4. Neither the name of the University nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -// SUCH DAMAGE. -// -// @(#)string.h 8.1 (Berkeley) 6/2/93 - -// Security checking functions. -// Copyright (c) 2017 Apple Inc. All rights reserved. -// -// @APPLE_LICENSE_HEADER_START@ -// -// This file contains Original Code and/or Modifications of Original Code -// as defined in and that are subject to the Apple Public Source License -// Version 2.0 (the 'License'). You may not use this file except in -// compliance with the License. Please obtain a copy of the License at -// http://www.opensource.apple.com/apsl/ and read it before using this -// file. -// -// The Original Code and all software distributed under the License are -// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, -// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -// Please see the License for the specific language governing rights and -// limitations under the License. -// -// @APPLE_LICENSE_HEADER_END@ - -// Copyright (c) 2000-2018 Apple Inc. All rights reserved. -// -// @APPLE_OSREFERENCE_LICENSE_HEADER_START@ -// -// This file contains Original Code and/or Modifications of Original Code -// as defined in and that are subject to the Apple Public Source License -// Version 2.0 (the 'License'). You may not use this file except in -// compliance with the License. The rights granted to you under the License -// may not be used to create, or enable the creation or redistribution of, -// unlawful or unlicensed copies of an Apple operating system, or to -// circumvent, violate, or enable the circumvention or violation of, any -// terms of an Apple operating system software license agreement. -// -// Please obtain a copy of the License at -// http://www.opensource.apple.com/apsl/ and read it before using this file. -// -// The Original Code and all software distributed under the License are -// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, -// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -// Please see the License for the specific language governing rights and -// limitations under the License. -// -// @APPLE_OSREFERENCE_LICENSE_HEADER_END@ -// Copyright 1995 NeXT Computer, Inc. All rights reserved. -// Copyright (c) 1991, 1993 -// The Regents of the University of California. All rights reserved. -// -// This code is derived from software contributed to Berkeley by -// Berkeley Software Design, Inc. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. All advertising materials mentioning features or use of this software -// must display the following acknowledgement: -// This product includes software developed by the University of -// California, Berkeley and its contributors. -// 4. Neither the name of the University nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -// SUCH DAMAGE. -// -// @(#)cdefs.h 8.8 (Berkeley) 1/9/95 - -// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. -// -// @APPLE_LICENSE_HEADER_START@ -// -// This file contains Original Code and/or Modifications of Original Code -// as defined in and that are subject to the Apple Public Source License -// Version 2.0 (the 'License'). You may not use this file except in -// compliance with the License. Please obtain a copy of the License at -// http://www.opensource.apple.com/apsl/ and read it before using this -// file. -// -// The Original Code and all software distributed under the License are -// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, -// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -// Please see the License for the specific language governing rights and -// limitations under the License. -// -// @APPLE_LICENSE_HEADER_END@ - -// Copyright (c) 2007, 2008 Apple Inc. All rights reserved. -// -// @APPLE_LICENSE_HEADER_START@ -// -// This file contains Original Code and/or Modifications of Original Code -// as defined in and that are subject to the Apple Public Source License -// Version 2.0 (the 'License'). You may not use this file except in -// compliance with the License. Please obtain a copy of the License at -// http://www.opensource.apple.com/apsl/ and read it before using this -// file. -// -// The Original Code and all software distributed under the License are -// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, -// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -// Please see the License for the specific language governing rights and -// limitations under the License. -// -// @APPLE_LICENSE_HEADER_END@ - -// bcopy and bzero - -// Removed in Issue 7 - -// void bcopy(const void *src, void *dst, size_t len) - -// void bzero(void *s, size_t n) - -// Security checking functions. -// Copyright (c) 2007,2017 Apple Inc. All rights reserved. -// -// @APPLE_LICENSE_HEADER_START@ -// -// This file contains Original Code and/or Modifications of Original Code -// as defined in and that are subject to the Apple Public Source License -// Version 2.0 (the 'License'). You may not use this file except in -// compliance with the License. Please obtain a copy of the License at -// http://www.opensource.apple.com/apsl/ and read it before using this -// file. -// -// The Original Code and all software distributed under the License are -// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, -// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -// Please see the License for the specific language governing rights and -// limitations under the License. -// -// @APPLE_LICENSE_HEADER_END@ - -// Copyright (c) 2000-2018 Apple Inc. All rights reserved. -// -// @APPLE_OSREFERENCE_LICENSE_HEADER_START@ -// -// This file contains Original Code and/or Modifications of Original Code -// as defined in and that are subject to the Apple Public Source License -// Version 2.0 (the 'License'). You may not use this file except in -// compliance with the License. The rights granted to you under the License -// may not be used to create, or enable the creation or redistribution of, -// unlawful or unlicensed copies of an Apple operating system, or to -// circumvent, violate, or enable the circumvention or violation of, any -// terms of an Apple operating system software license agreement. -// -// Please obtain a copy of the License at -// http://www.opensource.apple.com/apsl/ and read it before using this file. -// -// The Original Code and all software distributed under the License are -// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, -// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -// Please see the License for the specific language governing rights and -// limitations under the License. -// -// @APPLE_OSREFERENCE_LICENSE_HEADER_END@ -// Copyright 1995 NeXT Computer, Inc. All rights reserved. -// Copyright (c) 1991, 1993 -// The Regents of the University of California. All rights reserved. -// -// This code is derived from software contributed to Berkeley by -// Berkeley Software Design, Inc. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. All advertising materials mentioning features or use of this software -// must display the following acknowledgement: -// This product includes software developed by the University of -// California, Berkeley and its contributors. -// 4. Neither the name of the University nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -// SUCH DAMAGE. -// -// @(#)cdefs.h 8.8 (Berkeley) 1/9/95 - -// Copyright (c) 2007-2016 by Apple Inc.. All rights reserved. -// -// @APPLE_LICENSE_HEADER_START@ -// -// This file contains Original Code and/or Modifications of Original Code -// as defined in and that are subject to the Apple Public Source License -// Version 2.0 (the 'License'). You may not use this file except in -// compliance with the License. Please obtain a copy of the License at -// http://www.opensource.apple.com/apsl/ and read it before using this -// file. -// -// The Original Code and all software distributed under the License are -// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, -// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -// Please see the License for the specific language governing rights and -// limitations under the License. -// -// @APPLE_LICENSE_HEADER_END@ - -// Copyright (c) 2007, 2008 Apple Inc. All rights reserved. -// -// @APPLE_LICENSE_HEADER_START@ -// -// This file contains Original Code and/or Modifications of Original Code -// as defined in and that are subject to the Apple Public Source License -// Version 2.0 (the 'License'). You may not use this file except in -// compliance with the License. Please obtain a copy of the License at -// http://www.opensource.apple.com/apsl/ and read it before using this -// file. -// -// The Original Code and all software distributed under the License are -// distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -// EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, -// INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -// Please see the License for the specific language governing rights and -// limitations under the License. -// -// @APPLE_LICENSE_HEADER_END@ - -// - -// memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy, -// strncpy, stpncpy, strcat, strlcat, and strncat - -// void *memcpy(void *dst, const void *src, size_t n) - -// void *memmove(void *dst, const void *src, size_t len) - -// void *memset(void *b, int c, size_t len) - -// char *strcpy(char *dst, const char *src) - -// char *stpcpy(char *dst, const char *src) - -// char *stpncpy(char *dst, const char *src, size_t n) - -// char *strncpy(char *dst, const char *src, size_t n) - -// char *strcat(char *s1, const char *s2) - -// char *strncat(char *s1, const char *s2, size_t n) +//******* End of fts5.h ******** // Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved. // // @APPLE_LICENSE_HEADER_START@ @@ -7924,10 +7607,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -7979,10 +7661,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -52180,6 +51861,1552 @@ var aObjCmd = [5]struct { {FzName: ts + 10499 /* "sqlite3rbu_inter..." */, FxProc: 0}, } /* test_rbu.c:369:5 */ +type TestSession1 = struct { + FpSession uintptr + Finterp uintptr + FpFilterScript uintptr +} /* test_session.c:21:9 */ + +type TestSession = TestSession1 /* test_session.c:21:28 */ + +type TestStreamInput1 = struct { + FnStream int32 + _ [4]byte + FaData uintptr + FnData int32 + FiData int32 +} /* test_session.c:28:9 */ + +type TestStreamInput = TestStreamInput1 /* test_session.c:28:32 */ + +// Extract an sqlite3* db handle from the object passed as the second +// argument. If successful, set *pDb to point to the db handle and return +// TCL_OK. Otherwise, return TCL_ERROR. +func dbHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, pDb uintptr) int32 { /* test_session.c:41:12: */ + bp := tls.Alloc(88) + defer tls.Free(88) + + // var info Tcl_CmdInfo at bp+24, 64 + + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, pObj), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, pObj), 0)) + return TCL_ERROR + } + + *(*uintptr)(unsafe.Pointer(pDb)) = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + return TCL_OK +} + +/************************************************************************* +** The following code is copied byte-for-byte from the sessions module +** documentation. It is used by some of the sessions modules tests to +** ensure that the example in the documentation does actually work. + */ +// Argument zSql points to a buffer containing an SQL script to execute +// against the database handle passed as the first argument. As well as +// executing the SQL script, this function collects a changeset recording +// all changes made to the "main" database file. Assuming no error occurs, +// output variables (*ppChangeset) and (*pnChangeset) are set to point +// to a buffer containing the changeset and the size of the changeset in +// bytes before returning SQLITE_OK. In this case it is the responsibility +// of the caller to eventually free the changeset blob by passing it to +// the sqlite3_free function. +// +// Or, if an error does occur, return an SQLite error code. The final +// value of (*pChangeset) and (*pnChangeset) are undefined in this case. +func sql_exec_changeset(tls *libc.TLS, db uintptr, zSql uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* test_session.c:71:5: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pSession */)) = uintptr(0) + var rc int32 + + // Create a new session object + rc = sqlite3.Xsqlite3session_create(tls, db, ts+85 /* "main" */, bp /* &pSession */) + + // Configure the session object to record changes to all tables + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3session_attach(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */)), uintptr(0)) + } + + // Execute the SQL script + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) + } + + // Collect the changeset + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3session_changeset(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */)), pnChangeset, ppChangeset) + } + + // Delete the session object + sqlite3.Xsqlite3session_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */))) + + return rc +} + +//********************************************************************** + +// Tclcmd: sql_exec_changeset DB SQL +func test_sql_exec_changeset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:104:26: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var zSql uintptr + // var db uintptr at bp+16, 8 + + // var pChangeset uintptr at bp+32, 8 + + // var nChangeset int32 at bp+24, 4 + + var rc int32 + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10524 /* "DB SQL" */) + return TCL_ERROR + } + if dbHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &db */) != 0 { + return TCL_ERROR + } + zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) + + rc = sql_exec_changeset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zSql, bp+24 /* &nChangeset */, bp+32 /* &pChangeset */) + if rc != SQLITE_OK { + tcl.XTcl_ResetResult(tls, interp) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10531 /* "error in sql_exe..." */, 0)) + return TCL_ERROR + } + + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pChangeset */)), *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pChangeset */))) + return TCL_OK +} + +// Attempt to find the global variable zVar within interpreter interp +// and extract an integer value from it. Return this value. +// +// If the named variable cannot be found, or if it cannot be interpreted +// as a integer, return 0. +func test_tcl_integer(tls *libc.TLS, interp uintptr, zVar uintptr) int32 { /* test_session.c:146:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var pObj uintptr + *(*int32)(unsafe.Pointer(bp /* iVal */)) = 0 + var pName uintptr = tcl.XTcl_NewStringObj(tls, zVar, -1) + (*Tcl_Obj)(unsafe.Pointer(pName)).FrefCount++ + pObj = tcl.XTcl_ObjGetVar2(tls, interp, pName, uintptr(0), TCL_GLOBAL_ONLY) + for ok := true; ok; ok = 0 != 0 { + if libc.PreDecInt32(&(*Tcl_Obj)(unsafe.Pointer((pName))).FrefCount, 1) <= 0 { + tcl.XTclFreeObj(tls, pName) + } + } + if pObj != 0 { + tcl.XTcl_GetIntFromObj(tls, uintptr(0), pObj, bp /* &iVal */) + } + return *(*int32)(unsafe.Pointer(bp /* iVal */)) +} + +func test_session_error(tls *libc.TLS, interp uintptr, rc int32, zErr uintptr) int32 { /* test_session.c:157:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) + if zErr != 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10280 /* " - " */, zErr, 0)) + sqlite3.Xsqlite3_free(tls, zErr) + } + return TCL_ERROR +} + +func test_table_filter(tls *libc.TLS, pCtx uintptr, zTbl uintptr) int32 { /* test_session.c:167:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + var pEval uintptr + var rc int32 + *(*int32)(unsafe.Pointer(bp /* bRes */)) = 0 + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestSession)(unsafe.Pointer(p)).FpFilterScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + rc = tcl.XTcl_ListObjAppendElement(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, zTbl, -1)) + if rc == TCL_OK { + rc = tcl.XTcl_EvalObjEx(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, TCL_EVAL_GLOBAL) + } + if rc == TCL_OK { + rc = tcl.XTcl_GetBooleanFromObj(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, tcl.XTcl_GetObjResult(tls, (*TestSession)(unsafe.Pointer(p)).Finterp), bp /* &bRes */) + } + if rc != TCL_OK { + // printf("error: %s\n", Tcl_GetStringResult(p->interp)); + tcl.XTcl_BackgroundError(tls, (*TestSession)(unsafe.Pointer(p)).Finterp) + } + for ok := true; ok; ok = 0 != 0 { + if libc.PreDecInt32(&(*Tcl_Obj)(unsafe.Pointer((pEval))).FrefCount, 1) <= 0 { + tcl.XTclFreeObj(tls, pEval) + } + } + + return *(*int32)(unsafe.Pointer(bp /* bRes */)) +} + +type TestSessionsBlob1 = struct { + Fp uintptr + Fn int32 + _ [4]byte +} /* test_session.c:191:1 */ + +type TestSessionsBlob = TestSessionsBlob1 /* test_session.c:195:33 */ + +func testStreamOutput(tls *libc.TLS, pCtx uintptr, pData uintptr, nData int32) int32 { /* test_session.c:197:12: */ + var pBlob uintptr = pCtx + var pNew uintptr + + pNew = sqlite3.Xsqlite3_realloc(tls, (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp, ((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn + nData)) + if pNew == uintptr(0) { + return SQLITE_NOMEM + } + (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp = pNew + libc.X__builtin___memcpy_chk(tls, (pNew + uintptr((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn)), pData, uint64(nData), libc.X__builtin_object_size(tls, (pNew+uintptr((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn)), 0)) + *(*int32)(unsafe.Pointer(pBlob + 8 /* &.n */)) += (nData) + return SQLITE_OK +} + +// Tclcmd: $session attach TABLE +// $session changeset +// $session delete +// $session enable BOOL +// $session indirect INTEGER +// $session patchset +// $session table_filter SCRIPT +func test_session_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:225:26: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + var p uintptr = clientData + var pSession uintptr = (*TestSession)(unsafe.Pointer(p)).FpSession + // var iSub int32 at bp, 4 + + var rc int32 + + if objc < 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1860 /* "SUBCOMMAND ..." */) + return TCL_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub)), int32(unsafe.Sizeof(SessionSubcmd{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if objc != (2 + aSub[*(*int32)(unsafe.Pointer(bp /* iSub */))].FnArg) { + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub[*(*int32)(unsafe.Pointer(bp /* iSub */))].FzMsg) + return TCL_ERROR + } + + switch *(*int32)(unsafe.Pointer(bp /* iSub */)) { + case 0: + { // attach + var zArg uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) + if (int32(*(*int8)(unsafe.Pointer(zArg))) == '*') && (int32(*(*int8)(unsafe.Pointer(zArg + 1))) == 0) { + zArg = uintptr(0) + } + rc = sqlite3.Xsqlite3session_attach(tls, pSession, zArg) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + break + + } + + case 7: + fallthrough // patchset + case 1: + { // changeset + *(*TestSessionsBlob)(unsafe.Pointer(bp + 8 /* o */)) = TestSessionsBlob{} + if test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) != 0 { + var pCtx uintptr = bp + 8 /* &o */ + if *(*int32)(unsafe.Pointer(bp /* iSub */)) == 7 { + rc = sqlite3.Xsqlite3session_patchset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), pCtx) + } else { + rc = sqlite3.Xsqlite3session_changeset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), pCtx) + } + } else { + if *(*int32)(unsafe.Pointer(bp /* iSub */)) == 7 { + rc = sqlite3.Xsqlite3session_patchset(tls, pSession, (bp + 8 /* &o */ + 8 /* &.n */), (bp + 8 /* &o */ /* &.p */)) + } else { + rc = sqlite3.Xsqlite3session_changeset(tls, pSession, (bp + 8 /* &o */ + 8 /* &.n */), (bp + 8 /* &o */ /* &.p */)) + } + } + if rc == SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+8 /* &o */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+8 /* &o */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+8 /* &o */)).Fp) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + break + + } + + case 2: // delete + tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))) + break + + case 3: + { // enable + // var val int32 at bp+24, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24 /* &val */) != 0 { + return TCL_ERROR + } + *(*int32)(unsafe.Pointer(bp + 24 /* val */)) = sqlite3.Xsqlite3session_enable(tls, pSession, *(*int32)(unsafe.Pointer(bp + 24 /* val */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewBooleanObj(tls, *(*int32)(unsafe.Pointer(bp + 24 /* val */)))) + break + + } + + case 4: + { // indirect + // var val int32 at bp+28, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+28 /* &val */) != 0 { + return TCL_ERROR + } + *(*int32)(unsafe.Pointer(bp + 28 /* val */)) = sqlite3.Xsqlite3session_indirect(tls, pSession, *(*int32)(unsafe.Pointer(bp + 28 /* val */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewBooleanObj(tls, *(*int32)(unsafe.Pointer(bp + 28 /* val */)))) + break + + } + + case 5: + { // isempty + var val int32 + val = sqlite3.Xsqlite3session_isempty(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewBooleanObj(tls, val)) + break + + } + + case 6: + { // table_filter + if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 { + for ok := true; ok; ok = 0 != 0 { + if libc.PreDecInt32(&(*Tcl_Obj)(unsafe.Pointer(((*TestSession)(unsafe.Pointer(p)).FpFilterScript))).FrefCount, 1) <= 0 { + tcl.XTclFreeObj(tls, (*TestSession)(unsafe.Pointer(p)).FpFilterScript) + } + } + } + (*TestSession)(unsafe.Pointer(p)).Finterp = interp + (*TestSession)(unsafe.Pointer(p)).FpFilterScript = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) + (*Tcl_Obj)(unsafe.Pointer((*TestSession)(unsafe.Pointer(p)).FpFilterScript)).FrefCount++ + sqlite3.Xsqlite3session_table_filter(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_table_filter})), clientData) + break + + } + + case 8: + { // diff + *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)) = uintptr(0) + rc = sqlite3.Xsqlite3session_diff(tls, pSession, + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))), + bp+32 /* &zErr */) + + if rc != 0 { + return test_session_error(tls, interp, rc, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */))) + } + break + + } + + case 9: + { // memory_used + var nMalloc sqlite3_int64 = sqlite3.Xsqlite3session_memory_used(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, int64(nMalloc))) + break + + } + + case 10: + { + var nSize sqlite3_int64 = sqlite3.Xsqlite3session_changeset_size(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, int64(nSize))) + break + + } + case 11: + { + var rc int32 + // var iArg int32 at bp+40, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &iArg */) != 0 { + return TCL_ERROR + } + rc = sqlite3.Xsqlite3session_object_config(tls, + pSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+40 /* &iArg */) + if rc != SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 40 /* iArg */)))) + } + break + + } + } + + return TCL_OK +} + +type SessionSubcmd = struct { + FzSub uintptr + FnArg int32 + _ [4]byte + FzMsg uintptr + FiSub int32 + _ [4]byte +} /* test_session.c:233:10 */ + +var aSub = [13]SessionSubcmd{ + {FzSub: ts + 10584 /* "attach" */, FnArg: 1, FzMsg: ts + 1812 /* "TABLE" */}, // 0 + {FzSub: ts + 10591 /* "changeset" */, FzMsg: ts + 489 /* "" */}, // 1 + {FzSub: ts + 10601 /* "delete" */, FzMsg: ts + 489 /* "" */}, // 2 + {FzSub: ts + 10608 /* "enable" */, FnArg: 1, FzMsg: ts + 10615 /* "BOOL" */}, // 3 + {FzSub: ts + 10620 /* "indirect" */, FnArg: 1, FzMsg: ts + 10615 /* "BOOL" */}, // 4 + {FzSub: ts + 10629 /* "isempty" */, FzMsg: ts + 489 /* "" */}, // 5 + {FzSub: ts + 10637 /* "table_filter" */, FnArg: 1, FzMsg: ts + 10650 /* "SCRIPT" */}, // 6 + {FzSub: ts + 10657 /* "patchset" */, FzMsg: ts + 489 /* "" */}, // 7 + {FzSub: ts + 10666 /* "diff" */, FnArg: 2, FzMsg: ts + 10671 /* "FROMDB TBL" */}, // 8 + {FzSub: ts + 10682 /* "memory_used" */, FzMsg: ts + 489 /* "" */}, // 9 + {FzSub: ts + 10694 /* "changeset_size" */, FzMsg: ts + 489 /* "" */}, // 10 + {FzSub: ts + 10709 /* "object_config_si..." */, FnArg: 1, FzMsg: ts + 2274 /* "INTEGER" */}, // 11 + {}, +} /* test_session.c:238:5 */ + +func test_session_del(tls *libc.TLS, clientData uintptr) { /* test_session.c:390:27: */ + var p uintptr = clientData + if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 { + for ok := true; ok; ok = 0 != 0 { + if libc.PreDecInt32(&(*Tcl_Obj)(unsafe.Pointer(((*TestSession)(unsafe.Pointer(p)).FpFilterScript))).FrefCount, 1) <= 0 { + tcl.XTclFreeObj(tls, (*TestSession)(unsafe.Pointer(p)).FpFilterScript) + } + } + } + sqlite3.Xsqlite3session_delete(tls, (*TestSession)(unsafe.Pointer(p)).FpSession) + tcl.XTcl_Free(tls, p) +} + +// Tclcmd: sqlite3session CMD DB-HANDLE DB-NAME +func test_sqlite3session(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:400:26: */ + bp := tls.Alloc(92) + defer tls.Free(92) + + var db uintptr + // var info Tcl_CmdInfo at bp+24, 64 + + var rc int32 // sqlite3session_create() return code + var p uintptr // New wrapper object + *(*int32)(unsafe.Pointer(bp + 88 /* iArg */)) = -1 + + if objc != 4 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10728 /* "CMD DB-HANDLE DB..." */) + return TCL_ERROR + } + + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + + p = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(TestSession{}))) + libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(TestSession{})), libc.X__builtin_object_size(tls, p, 0)) + rc = sqlite3.Xsqlite3session_create(tls, db, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))), (p /* &.pSession */)) + if rc != SQLITE_OK { + tcl.XTcl_Free(tls, p) + return test_session_error(tls, interp, rc, uintptr(0)) + } + + // Query the SQLITE_SESSION_OBJCONFIG_SIZE option to ensure that it + // is clear by default. Then set it. + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+88 /* &iArg */) + + *(*int32)(unsafe.Pointer(bp + 88 /* iArg */)) = 1 + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+88 /* &iArg */) + + tcl.XTcl_CreateObjCommand(tls, + interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_session_cmd})), p, + *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_session_del}))) + tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + return TCL_OK +} + +func test_append_value(tls *libc.TLS, pList uintptr, pVal uintptr) { /* test_session.c:446:13: */ + if pVal == uintptr(0) { + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls)) + } else { + var pObj uintptr + switch sqlite3.Xsqlite3_value_type(tls, pVal) { + case SQLITE_NULL: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10750 /* "n" */, 1)) + pObj = tcl.XTcl_NewObj(tls) + break + fallthrough + case SQLITE_INTEGER: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10752 /* "i" */, 1)) + pObj = tcl.XTcl_NewWideIntObj(tls, int64(sqlite3.Xsqlite3_value_int64(tls, pVal))) + break + fallthrough + case SQLITE_FLOAT: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10754 /* "f" */, 1)) + pObj = tcl.XTcl_NewDoubleObj(tls, sqlite3.Xsqlite3_value_double(tls, pVal)) + break + fallthrough + case SQLITE_TEXT: + { + var z uintptr = sqlite3.Xsqlite3_value_blob(tls, pVal) + var n int32 = sqlite3.Xsqlite3_value_bytes(tls, pVal) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10756 /* "t" */, 1)) + pObj = tcl.XTcl_NewStringObj(tls, z, n) + break + + } + fallthrough + default: + + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10758 /* "b" */, 1)) + pObj = tcl.XTcl_NewByteArrayObj(tls, + sqlite3.Xsqlite3_value_blob(tls, pVal), + sqlite3.Xsqlite3_value_bytes(tls, pVal)) + break + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, pObj) + } +} + +type TestConflictHandler1 = struct { + Finterp uintptr + FpConflictScript uintptr + FpFilterScript uintptr +} /* test_session.c:485:9 */ + +type TestConflictHandler = TestConflictHandler1 /* test_session.c:485:36 */ + +func test_obj_eq_string(tls *libc.TLS, p uintptr, z uintptr) int32 { /* test_session.c:492:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var n int32 + // var nObj int32 at bp, 4 + + var zObj uintptr + + n = int32(libc.Xstrlen(tls, z)) + zObj = tcl.XTcl_GetStringFromObj(tls, p, bp /* &nObj */) + + return (libc.Bool32((*(*int32)(unsafe.Pointer(bp /* nObj */)) == n) && ((n == 0) || (0 == libc.Xmemcmp(tls, zObj, z, uint64(n)))))) +} + +func test_filter_handler(tls *libc.TLS, pCtx uintptr, zTab uintptr) int32 { /* test_session.c:503:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*int32)(unsafe.Pointer(bp /* res */)) = 1 + var pEval uintptr + var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpFilterScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + + if ((TCL_OK != tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, zTab, -1))) || + (TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL))) || + (TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, tcl.XTcl_GetObjResult(tls, interp), bp /* &res */)) { + tcl.XTcl_BackgroundError(tls, interp) + } + + for ok := true; ok; ok = 0 != 0 { + if libc.PreDecInt32(&(*Tcl_Obj)(unsafe.Pointer((pEval))).FrefCount, 1) <= 0 { + tcl.XTclFreeObj(tls, pEval) + } + } + return *(*int32)(unsafe.Pointer(bp /* res */)) +} + +func test_conflict_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 { /* test_session.c:526:12: */ + bp := tls.Alloc(104) + defer tls.Free(104) + + var p uintptr = pCtx + var pEval uintptr + var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = 0 // Return value + + // var op int32 at bp+12, 4 + // SQLITE_UPDATE, DELETE or INSERT + // var zTab uintptr at bp, 8 + // Name of table conflict is on + // var nCol int32 at bp+8, 4 + // Number of columns in table zTab + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpConflictScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + + sqlite3.Xsqlite3changeset_op(tls, pIter, bp /* &zTab */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if eConf == SQLITE_CHANGESET_FOREIGN_KEY { + // var nFk int32 at bp+16, 4 + + sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+16 /* &nFk */) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, ts+10760 /* "FOREIGN_KEY" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 16 /* nFk */)))) + } else { + + // Append the operation type. + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + return ts + 10772 /* "INSERT" */ + } + return func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_UPDATE { + return ts + 10779 /* "UPDATE" */ + } + return ts + 10786 /* "DELETE" */ + }() + }(), -1)) + + // Append the table name. + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp /* zTab */)), -1)) + + // Append the conflict type. + switch eConf { + case SQLITE_CHANGESET_DATA: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10793 /* "DATA" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_NOTFOUND: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10798 /* "NOTFOUND" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_CONFLICT: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10807 /* "CONFLICT" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_CONSTRAINT: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10816 /* "CONSTRAINT" */, -1)) + break + } + + // If this is not an INSERT, append the old row + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_INSERT { + var i int32 + var pOld uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+24, 8 + + sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+24 /* &pVal */) + test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pOld) + } + + // If this is not a DELETE, append the new row + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_DELETE { + var i int32 + var pNew uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+32, 8 + + sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+32 /* &pVal */) + test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pNew) + } + + // If this is a CHANGESET_DATA or CHANGESET_CONFLICT conflict, append + // the conflicting row. + if (eConf == SQLITE_CHANGESET_DATA) || (eConf == SQLITE_CHANGESET_CONFLICT) { + var i int32 + var pConflict uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + var rc int32 + _ = rc + // var pVal uintptr at bp+40, 8 + + rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, i, bp+40 /* &pVal */) + + test_append_value(tls, pConflict, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pConflict) + } + + // ********************************************************************** + // + // This block is purely for testing some error conditions. + if (eConf == SQLITE_CHANGESET_CONSTRAINT) || + (eConf == SQLITE_CHANGESET_NOTFOUND) { + // var pVal uintptr at bp+48, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, 0, bp+48 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+56, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, -1, bp+56 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), bp+56 /* &pVal */) + + } + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_DELETE { + // var pVal uintptr at bp+64, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, 0, bp+64 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+72, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, -1, bp+72 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_new(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), bp+72 /* &pVal */) + + } + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + // var pVal uintptr at bp+80, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, 0, bp+80 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+88, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, -1, bp+88 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_old(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), bp+88 /* &pVal */) + + } + if eConf != SQLITE_CHANGESET_FOREIGN_KEY { + // eConf!=FOREIGN_KEY is always true at this point. The condition is + // just there to make it clearer what is being tested. + // var nDummy int32 at bp+96, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+96 /* &nDummy */) + _ = rc + + } + // End of testing block + // + } + + if TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL) { + tcl.XTcl_BackgroundError(tls, interp) + } else { + var pRes uintptr = tcl.XTcl_GetObjResult(tls, interp) + if (test_obj_eq_string(tls, pRes, ts+10827 /* "OMIT" */) != 0) || (test_obj_eq_string(tls, pRes, ts+489 /* "" */) != 0) { + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = SQLITE_CHANGESET_OMIT + } else if test_obj_eq_string(tls, pRes, ts+7292 /* "REPLACE" */) != 0 { + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = SQLITE_CHANGESET_REPLACE + } else if test_obj_eq_string(tls, pRes, ts+7286 /* "ABORT" */) != 0 { + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = SQLITE_CHANGESET_ABORT + } else { + tcl.XTcl_GetIntFromObj(tls, uintptr(0), pRes, bp+100 /* &ret */) + } + } + + for ok := true; ok; ok = 0 != 0 { + if libc.PreDecInt32(&(*Tcl_Obj)(unsafe.Pointer((pEval))).FrefCount, 1) <= 0 { + tcl.XTclFreeObj(tls, pEval) + } + } + return *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) +} + +// The conflict handler used by sqlite3changeset_apply_replace_all(). +// This conflict handler calls sqlite3_value_text16() on all available +// sqlite3_value objects and then returns CHANGESET_REPLACE, or +// CHANGESET_OMIT if REPLACE is not applicable. This is used to test the +// effect of a malloc failure within an sqlite3_value_xxx() function +// invoked by a conflict-handler callback. +func replace_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 { /* test_session.c:693:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var op int32 at bp+12, 4 + // SQLITE_UPDATE, DELETE or INSERT + // var zTab uintptr at bp, 8 + // Name of table conflict is on + // var nCol int32 at bp+8, 4 + // Number of columns in table zTab + var i int32 + var x int32 = 0 + + sqlite3.Xsqlite3changeset_op(tls, pIter, bp /* &zTab */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_INSERT { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+16, 8 + + sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+16 /* &pVal */) + sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) + x++ + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_DELETE { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+24, 8 + + sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+24 /* &pVal */) + sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + x++ + } + } + + if eConf == SQLITE_CHANGESET_DATA { + return SQLITE_CHANGESET_REPLACE + } + return SQLITE_CHANGESET_OMIT +} + +func testStreamInput(tls *libc.TLS, pCtx uintptr, pData uintptr, pnData uintptr) int32 { /* test_session.c:730:12: */ + var p uintptr = pCtx + var nReq int32 = *(*int32)(unsafe.Pointer(pnData)) // Bytes of data requested + var nRem int32 = ((*TestStreamInput)(unsafe.Pointer(p)).FnData - (*TestStreamInput)(unsafe.Pointer(p)).FiData) // Bytes of data available + var nRet int32 = (*TestStreamInput)(unsafe.Pointer(p)).FnStream // Bytes actually returned + + // Allocate and free some space. There is no point to this, other than + // that it allows the regular OOM fault-injection tests to cause an error + // in this function. + var pAlloc uintptr = sqlite3.Xsqlite3_malloc(tls, 10) + if pAlloc == uintptr(0) { + return SQLITE_NOMEM + } + sqlite3.Xsqlite3_free(tls, pAlloc) + + if nRet > nReq { + nRet = nReq + } + if nRet > nRem { + nRet = nRem + } + + if nRet > 0 { + libc.X__builtin___memcpy_chk(tls, pData, ((*TestStreamInput)(unsafe.Pointer(p)).FaData + uintptr((*TestStreamInput)(unsafe.Pointer(p)).FiData)), uint64(nRet), libc.X__builtin_object_size(tls, pData, 0)) + *(*int32)(unsafe.Pointer(p + 20 /* &.iData */)) += (nRet) + } + + *(*int32)(unsafe.Pointer(pnData)) = nRet + return SQLITE_OK +} + +func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:761:26: */ + bp := tls.Alloc(156) + defer tls.Free(156) + + var db uintptr // Database handle + // var info Tcl_CmdInfo at bp+48, 64 + // Database Tcl command (objv[1]) info + var rc int32 // Return code from changeset_invert() + var pChangeset uintptr // Buffer containing changeset + // var nChangeset int32 at bp+112, 4 + // Size of buffer aChangeset in bytes + // var ctx TestConflictHandler at bp+120, 24 + + // var sStr TestStreamInput at bp+24, 24 + + *(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 152 /* nRebase */)) = 0 + var flags int32 = 0 // Flags for apply_v2() + + libc.X__builtin___memset_chk(tls, bp+24 /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{})), libc.X__builtin_object_size(tls, bp+24 /* &sStr */, 0)) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + + // Check for the -nosavepoint flag + if bV2 != 0 { + if objc > 1 { + var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + var n int32 = int32(libc.Xstrlen(tls, z1)) + if ((n > 1) && (n <= 12)) && (0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10832 /* "-nosavepoint" */, z1, n)) { + flags = flags | (SQLITE_CHANGESETAPPLY_NOSAVEPOINT) + objc-- + objv += 8 + } + } + if objc > 1 { + var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + var n int32 = int32(libc.Xstrlen(tls, z1)) + if ((n > 1) && (n <= 7)) && (0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10845 /* "-invert" */, z1, n)) { + flags = flags | (SQLITE_CHANGESETAPPLY_INVERT) + objc-- + objv += 8 + } + } + } + + if (objc != 4) && (objc != 5) { + var zMsg uintptr + if bV2 != 0 { + zMsg = ts + 10853 /* "?-nosavepoint? ?..." */ + } else { + zMsg = ts + 10924 /* "DB CHANGESET CON..." */ + } + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zMsg) + return TCL_ERROR + } + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+112 /* &nChangeset */) + (*TestConflictHandler)(unsafe.Pointer(bp + 120 /* &ctx */)).FpConflictScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) + (*TestConflictHandler)(unsafe.Pointer(bp + 120 /* &ctx */)).FpFilterScript = func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(objv + 4*8)) + } + return uintptr(0) + }() + (*TestConflictHandler)(unsafe.Pointer(bp + 120 /* &ctx */)).Finterp = interp + + if (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sStr */)).FnStream == 0 { + if bV2 == 0 { + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 112 /* nChangeset */)), pChangeset, + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+120 /* &ctx */) + } else { + rc = sqlite3.Xsqlite3changeset_apply_v2(tls, db, *(*int32)(unsafe.Pointer(bp + 112 /* nChangeset */)), pChangeset, + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+120, /* &ctx */ + bp+144 /* &pRebase */, bp+152 /* &nRebase */, flags) + } + } else { + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 112 /* nChangeset */)) + if bV2 == 0 { + rc = sqlite3.Xsqlite3changeset_apply_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sStr */ + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+120 /* &ctx */) + } else { + rc = sqlite3.Xsqlite3changeset_apply_v2_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sStr */ + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+120, /* &ctx */ + bp+144 /* &pRebase */, bp+152 /* &nRebase */, flags) + } + } + + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_ResetResult(tls, interp) + if (bV2 != 0) && (*(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */)) != 0) { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */)), *(*int32)(unsafe.Pointer(bp + 152 /* nRebase */)))) + } + } + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */))) + return TCL_OK +} + +// sqlite3changeset_apply DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT? +func test_sqlite3changeset_apply(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:868:26: */ + return testSqlite3changesetApply(tls, 0, clientData, interp, objc, objv) +} + +// sqlite3changeset_apply_v2 DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT? +func test_sqlite3changeset_apply_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:879:26: */ + return testSqlite3changesetApply(tls, 1, clientData, interp, objc, objv) +} + +// sqlite3changeset_apply_replace_all DB CHANGESET +func test_sqlite3changeset_apply_replace_all(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:891:26: */ + bp := tls.Alloc(92) + defer tls.Free(92) + + var db uintptr // Database handle + // var info Tcl_CmdInfo at bp+24, 64 + // Database Tcl command (objv[1]) info + var rc int32 // Return code from changeset_invert() + var pChangeset uintptr // Buffer containing changeset + // var nChangeset int32 at bp+88, 4 + // Size of buffer aChangeset in bytes + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10969 /* "DB CHANGESET" */) + return TCL_ERROR + } + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+88 /* &nChangeset */) + + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 88 /* nChangeset */)), pChangeset, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{replace_handler})), uintptr(0)) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + tcl.XTcl_ResetResult(tls, interp) + return TCL_OK +} + +// sqlite3changeset_invert CHANGESET +func test_sqlite3changeset_invert(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:926:26: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var rc int32 // Return code from changeset_invert() + // var sIn TestStreamInput at bp, 24 + // Input stream + // var sOut TestSessionsBlob at bp+24, 16 + // Output blob + + if objc != 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10982 /* "CHANGESET" */) + return TCL_ERROR + } + + libc.X__builtin___memset_chk(tls, bp /* &sIn */, 0, uint64(unsafe.Sizeof(TestStreamInput{})), libc.X__builtin_object_size(tls, bp /* &sIn */, 0)) + libc.X__builtin___memset_chk(tls, bp+24 /* &sOut */, 0, uint64(unsafe.Sizeof(TestSessionsBlob{})), libc.X__builtin_object_size(tls, bp+24 /* &sOut */, 0)) + (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), (bp /* &sIn */ + 16 /* &.nData */)) + + if (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnStream != 0 { + rc = sqlite3.Xsqlite3changeset_invert_strm(tls, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp /* &sIn */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+24 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3changeset_invert(tls, (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FaData, (bp + 24 /* &sOut */ + 8 /* &.n */), (bp + 24 /* &sOut */ /* &.p */)) + } + if rc != SQLITE_OK { + rc = test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fp) + return rc +} + +// sqlite3changeset_concat LEFT RIGHT +func test_sqlite3changeset_concat(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:965:26: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var rc int32 // Return code from changeset_invert() + + // var sLeft TestStreamInput at bp, 24 + // Input stream + // var sRight TestStreamInput at bp+24, 24 + // Input stream + *(*TestSessionsBlob)(unsafe.Pointer(bp + 48 /* sOut */)) = TestSessionsBlob{} // Output blob + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10992 /* "LEFT RIGHT" */) + return TCL_ERROR + } + + libc.X__builtin___memset_chk(tls, bp /* &sLeft */, 0, uint64(unsafe.Sizeof(TestStreamInput{})), libc.X__builtin_object_size(tls, bp /* &sLeft */, 0)) + libc.X__builtin___memset_chk(tls, bp+24 /* &sRight */, 0, uint64(unsafe.Sizeof(TestStreamInput{})), libc.X__builtin_object_size(tls, bp+24 /* &sRight */, 0)) + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), (bp /* &sLeft */ + 16 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sRight */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), (bp + 24 /* &sRight */ + 16 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sRight */)).FnStream = (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream + + if (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream > 0 { + rc = sqlite3.Xsqlite3changeset_concat_strm(tls, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp, /* &sLeft */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sRight */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+48 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3changeset_concat(tls, + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FaData, (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sRight */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sRight */)).FaData, (bp + 48 /* &sOut */ + 8 /* &.n */), (bp + 48 /* &sOut */ /* &.p */)) + } + + if rc != SQLITE_OK { + rc = test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+48 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+48 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+48 /* &sOut */)).Fp) + return rc +} + +// sqlite3session_foreach VARNAME CHANGESET SCRIPT +func test_sqlite3session_foreach(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1013:26: */ + bp := tls.Alloc(104) + defer tls.Free(104) + + var pChangeset uintptr + // var nChangeset int32 at bp+24, 4 + + // var pIter uintptr at bp+32, 8 + + var rc int32 + var pVarname uintptr + var pCS uintptr + var pScript uintptr + var isCheckNext int32 = 0 + var isInvert int32 = 0 + // var sStr TestStreamInput at bp, 24 + + libc.X__builtin___memset_chk(tls, bp /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{})), libc.X__builtin_object_size(tls, bp /* &sStr */, 0)) + + for objc > 1 { + var zOpt uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + var nOpt int32 = int32(libc.Xstrlen(tls, zOpt)) + if int32(*(*int8)(unsafe.Pointer(zOpt))) != '-' { + break + } + if (nOpt <= 7) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+10845 /* "-invert" */, nOpt)) { + isInvert = 1 + } else if (nOpt <= 5) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+11003 /* "-next" */, nOpt)) { + isCheckNext = 1 + } else { + break + } + objv += 8 + objc-- + } + if objc != 4 { + tcl.XTcl_WrongNumArgs(tls, + interp, 1, objv, ts+11009 /* "?-next? ?-invert..." */) + return TCL_ERROR + } + + pVarname = *(*uintptr)(unsafe.Pointer(objv + 1*8)) + pCS = *(*uintptr)(unsafe.Pointer(objv + 2*8)) + pScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) + + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, pCS, bp+24 /* &nChangeset */) + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + if isInvert != 0 { + var f int32 = SQLITE_CHANGESETSTART_INVERT + if (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream == 0 { + rc = sqlite3.Xsqlite3changeset_start_v2(tls, bp+32 /* &pIter */, *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)), pChangeset, f) + } else { + var pCtx uintptr = bp /* &sStr */ + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)) + rc = sqlite3.Xsqlite3changeset_start_v2_strm(tls, bp+32 /* &pIter */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), pCtx, f) + } + } else { + if (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream == 0 { + rc = sqlite3.Xsqlite3changeset_start(tls, bp+32 /* &pIter */, *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)), pChangeset) + } else { + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)) + rc = sqlite3.Xsqlite3changeset_start_strm(tls, bp+32 /* &pIter */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp /* &sStr */) + } + } + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + for SQLITE_ROW == sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) { + // var nCol int32 at bp+56, 4 + // Number of columns in table + // var nCol2 int32 at bp+80, 4 + // Number of columns in table + // var op int32 at bp+60, 4 + // SQLITE_INSERT, UPDATE or DELETE + // var zTab uintptr at bp+48, 8 + // Name of table change applies to + var pVar uintptr // Tcl value to set $VARNAME to + var pOld uintptr // Vector of old.* values + var pNew uintptr // Vector of new.* values + // var bIndirect int32 at bp+64, 4 + + var zPK uintptr + // var abPK uintptr at bp+72, 8 + + var i int32 + + // Test that _fk_conflicts() returns SQLITE_MISUSE if called on this + // iterator. + // var nDummy int32 at bp+40, 4 + + if SQLITE_MISUSE != sqlite3.Xsqlite3changeset_fk_conflicts(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), bp+40 /* &nDummy */) { + sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + return TCL_ERROR + } + + sqlite3.Xsqlite3changeset_op(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), bp+48 /* &zTab */, bp+56 /* &nCol */, bp+60 /* &op */, bp+64 /* &bIndirect */) + pVar = tcl.XTcl_NewObj(tls) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) == SQLITE_INSERT { + return ts + 10772 /* "INSERT" */ + } + return func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) == SQLITE_UPDATE { + return ts + 10779 /* "UPDATE" */ + } + return ts + 10786 /* "DELETE" */ + }() + }(), -1)) + + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zTab */)), -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewBooleanObj(tls, *(*int32)(unsafe.Pointer(bp + 64 /* bIndirect */)))) + + zPK = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 56 /* nCol */)) + 1))) + libc.X__builtin___memset_chk(tls, zPK, 0, (uint64(*(*int32)(unsafe.Pointer(bp + 56 /* nCol */)) + 1)), libc.X__builtin_object_size(tls, zPK, 0)) + sqlite3.Xsqlite3changeset_pk(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), bp+72 /* &abPK */, bp+80 /* &nCol2 */) + + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56 /* nCol */)); i++ { + *(*int8)(unsafe.Pointer(zPK + uintptr(i))) = func() int8 { + if *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72 /* abPK */)) + uintptr(i))) != 0 { + return int8('X') + } + return int8('.') + }() + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, zPK, -1)) + tcl.XTcl_Free(tls, zPK) + + pOld = tcl.XTcl_NewObj(tls) + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) != SQLITE_INSERT { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56 /* nCol */)); i++ { + // var pVal uintptr at bp+88, 8 + + sqlite3.Xsqlite3changeset_old(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), i, bp+88 /* &pVal */) + test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 88 /* pVal */))) + } + } + pNew = tcl.XTcl_NewObj(tls) + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) != SQLITE_DELETE { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56 /* nCol */)); i++ { + // var pVal uintptr at bp+96, 8 + + sqlite3.Xsqlite3changeset_new(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), i, bp+96 /* &pVal */) + test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 96 /* pVal */))) + } + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pOld) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pNew) + + tcl.XTcl_ObjSetVar2(tls, interp, pVarname, uintptr(0), pVar, 0) + rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0) + if (rc != TCL_OK) && (rc != TCL_CONTINUE) { + sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + if rc == TCL_BREAK { + return TCL_OK + } + return rc + } + } + + if isCheckNext != 0 { + var rc2 int32 = sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + _ = rc2 + rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + + } else { + rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + } + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + return TCL_OK +} + +// tclcmd: CMD configure REBASE-BLOB +// tclcmd: CMD rebase CHANGESET +// tclcmd: CMD delete +func test_rebaser_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1171:26: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var p uintptr = clientData + // var iSub int32 at bp, 4 + + var rc int32 + + if objc < 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1860 /* "SUBCOMMAND ..." */) + return TCL_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub1)), int32(unsafe.Sizeof(RebaseSubcmd{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if objc != (2 + aSub1[*(*int32)(unsafe.Pointer(bp /* iSub */))].FnArg) { + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub1[*(*int32)(unsafe.Pointer(bp /* iSub */))].FzMsg) + return TCL_ERROR + } + + switch *(*int32)(unsafe.Pointer(bp /* iSub */)) { + case 0: + { // configure + *(*int32)(unsafe.Pointer(bp + 4 /* nRebase */)) = 0 + var pRebase uintptr = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+4 /* &nRebase */) + rc = sqlite3.Xsqlite3rebaser_configure(tls, p, *(*int32)(unsafe.Pointer(bp + 4 /* nRebase */)), pRebase) + break + + } + + case 1: // delete + tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))) + break + + default: + { // rebase + // var sStr TestStreamInput at bp+8, 24 + // Input stream + // var sOut TestSessionsBlob at bp+32, 16 + // Output blob + + libc.X__builtin___memset_chk(tls, bp+8 /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{})), libc.X__builtin_object_size(tls, bp+8 /* &sStr */, 0)) + libc.X__builtin___memset_chk(tls, bp+32 /* &sOut */, 0, uint64(unsafe.Sizeof(TestSessionsBlob{})), libc.X__builtin_object_size(tls, bp+32 /* &sOut */, 0)) + (*TestStreamInput)(unsafe.Pointer(bp + 8 /* &sStr */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), (bp + 8 /* &sStr */ + 16 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp + 8 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + + if (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FnStream != 0 { + rc = sqlite3.Xsqlite3rebaser_rebase_strm(tls, p, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+8, /* &sStr */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+32 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3rebaser_rebase(tls, p, (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FaData, (bp + 32 /* &sOut */ + 8 /* &.n */), (bp + 32 /* &sOut */ /* &.p */)) + } + + if rc == SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fp) + break + + } + } + + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + return TCL_OK +} + +type RebaseSubcmd = struct { + FzSub uintptr + FnArg int32 + _ [4]byte + FzMsg uintptr + FiSub int32 + _ [4]byte +} /* test_session.c:1177:10 */ + +var aSub1 = [4]RebaseSubcmd{ + {FzSub: ts + 11052 /* "configure" */, FnArg: 1, FzMsg: ts + 11062 /* "REBASE-BLOB" */}, // 0 + {FzSub: ts + 10601 /* "delete" */, FzMsg: ts + 489 /* "" */}, // 1 + {FzSub: ts + 11074 /* "rebase" */, FnArg: 1, FzMsg: ts + 10982 /* "CHANGESET" */}, // 2 + {}, +} /* test_session.c:1182:5 */ + +func test_rebaser_del(tls *libc.TLS, clientData uintptr) { /* test_session.c:1252:27: */ + var p uintptr = clientData + sqlite3.Xsqlite3rebaser_delete(tls, p) +} + +// tclcmd: sqlite3rebaser_create NAME +func test_sqlite3rebaser_create(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1260:26: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 + *(*uintptr)(unsafe.Pointer(bp /* pNew */)) = uintptr(0) + if objc != 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10397 /* "NAME" */) + return SQLITE_ERROR + } + + rc = sqlite3.Xsqlite3rebaser_create(tls, bp /* &pNew */) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + tcl.XTcl_CreateObjCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_rebaser_cmd})), + *(*uintptr)(unsafe.Pointer(bp /* pNew */)), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_rebaser_del}))) + tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + return TCL_OK +} + +// tclcmd: sqlite3rebaser_configure OP VALUE +func test_sqlite3session_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1288:26: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 + // var iSub int32 at bp, 4 + + // var iVal int32 at bp+4, 4 + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11081 /* "OP VALUE" */) + return SQLITE_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub2)), int32(unsafe.Sizeof(ConfigOpt{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+4 /* &iVal */) != 0 { + return TCL_ERROR + } + + rc = sqlite3.Xsqlite3session_config(tls, aSub2[*(*int32)(unsafe.Pointer(bp /* iSub */))].Fop, bp+4 /* &iVal */) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4 /* iVal */)))) + return TCL_OK +} + +type ConfigOpt = struct { + FzSub uintptr + Fop int32 + _ [4]byte +} /* test_session.c:1294:10 */ + +var aSub2 = [3]ConfigOpt{ + {FzSub: ts + 11090 /* "strm_size" */, Fop: SQLITE_SESSION_CONFIG_STRMSIZE}, + {FzSub: ts + 2619 /* "invalid" */}, + {}, +} /* test_session.c:1297:5 */ + +func TestSession_Init(tls *libc.TLS, interp uintptr) int32 { /* test_session.c:1324:5: */ + bp := tls.Alloc(160) + defer tls.Free(160) + + *(*[10]struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(bp /* aCmd */)) = [10]struct { + FzCmd uintptr + FxProc uintptr + }{ + {FzCmd: ts + 11100 /* "sqlite3session" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session}))}, + {FzCmd: ts + 11115 /* "sqlite3session_f..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session_foreach}))}, + {FzCmd: ts + 11138 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_invert}))}, + {FzCmd: ts + 11162 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_concat}))}, + {FzCmd: ts + 11186 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply}))}, + {FzCmd: ts + 11209 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply_v2}))}, + {FzCmd: ts + 11235, /* "sqlite3changeset..." */ + FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply_replace_all}))}, + {FzCmd: ts + 11270 /* "sql_exec_changes..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sql_exec_changeset}))}, + {FzCmd: ts + 11289 /* "sqlite3rebaser_c..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3rebaser_create}))}, + {FzCmd: ts + 11311 /* "sqlite3session_c..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session_config}))}, + } + var i int32 + + for i = 0; uint64(i) < (uint64(unsafe.Sizeof([10]struct { + FzCmd uintptr + FxProc uintptr + }{})) / uint64(unsafe.Sizeof(struct { + FzCmd uintptr + FxProc uintptr + }{}))); i++ { + var p uintptr = (bp /* &aCmd */ + uintptr(i)*16) + tcl.XTcl_CreateObjCommand(tls, interp, (*struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(p)).FzCmd, (*struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(p)).FxProc, uintptr(0), uintptr(0)) + } + + return TCL_OK +} + // 2014-09-08 // // The author disclaims copyright to this source code. In place of @@ -52453,7 +53680,7 @@ func incrblobHandle(tls *libc.TLS, instanceData ClientData, dir int32, hPtr uint } var IncrblobChannelType = Tcl_ChannelType{ - FtypeName: ts + 10524, /* "incrblob" */ // typeName + FtypeName: ts + 11333, /* "incrblob" */ // typeName Fversion: uintptr(0x2), // version FcloseProc: 0, // closeProc FinputProc: 0, // inputProc @@ -52491,7 +53718,7 @@ func createIncrblobChannel(tls *libc.TLS, interp uintptr, pDb uintptr, zDb uintp (*IncrblobChannel)(unsafe.Pointer(p)).FiSeek = 0 (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob = *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zChannel[0] */, ts+10533 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zChannel[0] */, ts+11342 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel = tcl.XTcl_CreateChannel(tls, uintptr(unsafe.Pointer(&IncrblobChannelType)), bp+16 /* &zChannel[0] */, p, flags) tcl.XTcl_RegisterChannel(tls, interp, (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel) @@ -52818,7 +54045,7 @@ func DbProfileHandler(tls *libc.TLS, cd uintptr, zSql uintptr, tm1 sqlite_uint64 // var zTm [100]int8 at bp+8, 100 - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([100]int8{})) - uint64(1))), bp+8 /* &zTm[0] */, ts+10545 /* "%lld" */, libc.VaList(bp, tm1)) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([100]int8{})) - uint64(1))), bp+8 /* &zTm[0] */, ts+11354 /* "%lld" */, libc.VaList(bp, tm1)) tcl.XTcl_DStringInit(tls, bp+112 /* &str */) tcl.XTcl_DStringAppend(tls, bp+112 /* &str */, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, -1) tcl.XTcl_DStringAppendElement(tls, bp+112 /* &str */, zSql) @@ -52885,9 +54112,9 @@ func setTestUnlockNotifyVars(tls *libc.TLS, interp uintptr, iArg int32, nArg int // var zBuf [64]int8 at bp+16, 64 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp, iArg)) - tcl.XTcl_SetVar(tls, interp, ts+10550 /* "sqlite_unlock_no..." */, bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar(tls, interp, ts+11359 /* "sqlite_unlock_no..." */, bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+8, nArg)) - tcl.XTcl_SetVar(tls, interp, ts+10575 /* "sqlite_unlock_no..." */, bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar(tls, interp, ts+11384 /* "sqlite_unlock_no..." */, bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) } func DbUnlockNotify(tls *libc.TLS, apArg uintptr, nArg int32) { /* tclsqlite.c:799:13: */ @@ -52927,7 +54154,7 @@ func DbPreUpdateHandler(tls *libc.TLS, p uintptr, db uintptr, op int32, zDb uint } } -var azStr = [3]uintptr{ts + 10605 /* "DELETE" */, ts + 10612 /* "INSERT" */, ts + 10619 /* "UPDATE" */} /* tclsqlite.c:828:21 */ +var azStr = [3]uintptr{ts + 10786 /* "DELETE" */, ts + 10772 /* "INSERT" */, ts + 10779 /* "UPDATE" */} /* tclsqlite.c:828:21 */ func DbUpdateHandler(tls *libc.TLS, p uintptr, op int32, zDb uintptr, zTbl uintptr, rowid sqlite_int64) { /* tclsqlite.c:849:13: */ var pDb uintptr = p @@ -52947,7 +54174,7 @@ func DbUpdateHandler(tls *libc.TLS, p uintptr, op int32, zDb uintptr, zTbl uintp } } -var azStr1 = [3]uintptr{ts + 10605 /* "DELETE" */, ts + 10612 /* "INSERT" */, ts + 10619 /* "UPDATE" */} /* tclsqlite.c:858:21 */ +var azStr1 = [3]uintptr{ts + 10786 /* "DELETE" */, ts + 10772 /* "INSERT" */, ts + 10779 /* "UPDATE" */} /* tclsqlite.c:858:21 */ func tclCollateNeeded(tls *libc.TLS, pCtx uintptr, db uintptr, enc int32, zName uintptr) { /* tclsqlite.c:877:13: */ var pDb uintptr = pCtx @@ -53201,109 +54428,109 @@ func auth_callback(tls *libc.TLS, pArg uintptr, code int32, zArg1 uintptr, zArg2 // authorized. switch code { case SQLITE_COPY: - zCode = ts + 10626 /* "SQLITE_COPY" */ + zCode = ts + 11414 /* "SQLITE_COPY" */ break case SQLITE_CREATE_INDEX: - zCode = ts + 10638 /* "SQLITE_CREATE_IN..." */ + zCode = ts + 11426 /* "SQLITE_CREATE_IN..." */ break case SQLITE_CREATE_TABLE: - zCode = ts + 10658 /* "SQLITE_CREATE_TA..." */ + zCode = ts + 11446 /* "SQLITE_CREATE_TA..." */ break case SQLITE_CREATE_TEMP_INDEX: - zCode = ts + 10678 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11466 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_TABLE: - zCode = ts + 10703 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11491 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_TRIGGER: - zCode = ts + 10728 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11516 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_VIEW: - zCode = ts + 10755 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11543 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TRIGGER: - zCode = ts + 10779 /* "SQLITE_CREATE_TR..." */ + zCode = ts + 11567 /* "SQLITE_CREATE_TR..." */ break case SQLITE_CREATE_VIEW: - zCode = ts + 10801 /* "SQLITE_CREATE_VI..." */ + zCode = ts + 11589 /* "SQLITE_CREATE_VI..." */ break case SQLITE_DELETE: - zCode = ts + 10820 /* "SQLITE_DELETE" */ + zCode = ts + 11608 /* "SQLITE_DELETE" */ break case SQLITE_DROP_INDEX: - zCode = ts + 10834 /* "SQLITE_DROP_INDE..." */ + zCode = ts + 11622 /* "SQLITE_DROP_INDE..." */ break case SQLITE_DROP_TABLE: - zCode = ts + 10852 /* "SQLITE_DROP_TABL..." */ + zCode = ts + 11640 /* "SQLITE_DROP_TABL..." */ break case SQLITE_DROP_TEMP_INDEX: - zCode = ts + 10870 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11658 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_TABLE: - zCode = ts + 10893 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11681 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_TRIGGER: - zCode = ts + 10916 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11704 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_VIEW: - zCode = ts + 10941 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11729 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TRIGGER: - zCode = ts + 10963 /* "SQLITE_DROP_TRIG..." */ + zCode = ts + 11751 /* "SQLITE_DROP_TRIG..." */ break case SQLITE_DROP_VIEW: - zCode = ts + 10983 /* "SQLITE_DROP_VIEW" */ + zCode = ts + 11771 /* "SQLITE_DROP_VIEW" */ break case SQLITE_INSERT: - zCode = ts + 11000 /* "SQLITE_INSERT" */ + zCode = ts + 11788 /* "SQLITE_INSERT" */ break case SQLITE_PRAGMA: - zCode = ts + 11014 /* "SQLITE_PRAGMA" */ + zCode = ts + 11802 /* "SQLITE_PRAGMA" */ break case SQLITE_READ: - zCode = ts + 11028 /* "SQLITE_READ" */ + zCode = ts + 11816 /* "SQLITE_READ" */ break case SQLITE_SELECT: - zCode = ts + 11040 /* "SQLITE_SELECT" */ + zCode = ts + 11828 /* "SQLITE_SELECT" */ break case SQLITE_TRANSACTION: - zCode = ts + 11054 /* "SQLITE_TRANSACTI..." */ + zCode = ts + 11842 /* "SQLITE_TRANSACTI..." */ break case SQLITE_UPDATE: - zCode = ts + 11073 /* "SQLITE_UPDATE" */ + zCode = ts + 11861 /* "SQLITE_UPDATE" */ break case SQLITE_ATTACH: - zCode = ts + 11087 /* "SQLITE_ATTACH" */ + zCode = ts + 11875 /* "SQLITE_ATTACH" */ break case SQLITE_DETACH: - zCode = ts + 11101 /* "SQLITE_DETACH" */ + zCode = ts + 11889 /* "SQLITE_DETACH" */ break case SQLITE_ALTER_TABLE: - zCode = ts + 11115 /* "SQLITE_ALTER_TAB..." */ + zCode = ts + 11903 /* "SQLITE_ALTER_TAB..." */ break case SQLITE_REINDEX: - zCode = ts + 11134 /* "SQLITE_REINDEX" */ + zCode = ts + 11922 /* "SQLITE_REINDEX" */ break case SQLITE_ANALYZE: - zCode = ts + 11149 /* "SQLITE_ANALYZE" */ + zCode = ts + 11937 /* "SQLITE_ANALYZE" */ break case SQLITE_CREATE_VTABLE: - zCode = ts + 11164 /* "SQLITE_CREATE_VT..." */ + zCode = ts + 11952 /* "SQLITE_CREATE_VT..." */ break case SQLITE_DROP_VTABLE: - zCode = ts + 11185 /* "SQLITE_DROP_VTAB..." */ + zCode = ts + 11973 /* "SQLITE_DROP_VTAB..." */ break case SQLITE_FUNCTION: - zCode = ts + 11204 /* "SQLITE_FUNCTION" */ + zCode = ts + 11992 /* "SQLITE_FUNCTION" */ break case SQLITE_SAVEPOINT: - zCode = ts + 11220 /* "SQLITE_SAVEPOINT" */ + zCode = ts + 12008 /* "SQLITE_SAVEPOINT" */ break case SQLITE_RECURSIVE: - zCode = ts + 11237 /* "SQLITE_RECURSIVE" */ + zCode = ts + 12025 /* "SQLITE_RECURSIVE" */ break default: - zCode = ts + 11254 /* "????" */ + zCode = ts + 12042 /* "????" */ break } tcl.XTcl_DStringInit(tls, bp /* &str */) @@ -53338,13 +54565,13 @@ func auth_callback(tls *libc.TLS, pArg uintptr, code int32, zArg1 uintptr, zArg2 if rc == TCL_OK { zReply = tcl.XTcl_GetStringResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp) } else { - zReply = ts + 11259 /* "SQLITE_DENY" */ + zReply = ts + 12047 /* "SQLITE_DENY" */ } if libc.Xstrcmp(tls, zReply, ts+1988 /* "SQLITE_OK" */) == 0 { rc = SQLITE_OK - } else if libc.Xstrcmp(tls, zReply, ts+11259 /* "SQLITE_DENY" */) == 0 { + } else if libc.Xstrcmp(tls, zReply, ts+12047 /* "SQLITE_DENY" */) == 0 { rc = SQLITE_DENY - } else if libc.Xstrcmp(tls, zReply, ts+11271 /* "SQLITE_IGNORE" */) == 0 { + } else if libc.Xstrcmp(tls, zReply, ts+12059 /* "SQLITE_IGNORE" */) == 0 { rc = SQLITE_IGNORE } else { rc = 999 @@ -53441,9 +54668,9 @@ func DbTransPostCmd(tls *libc.TLS, data uintptr, interp uintptr, result int32) i } var azEnd = [4]uintptr{ - ts + 11285, /* "RELEASE _tcl_tra..." */ // rc==TCL_ERROR, nTransaction!=0 - ts + 11310, /* "COMMIT" */ // rc!=TCL_ERROR, nTransaction==0 - ts + 11317, /* "ROLLBACK TO _tcl..." */ + ts + 12073, /* "RELEASE _tcl_tra..." */ // rc==TCL_ERROR, nTransaction!=0 + ts + 12098, /* "COMMIT" */ // rc!=TCL_ERROR, nTransaction==0 + ts + 12105, /* "ROLLBACK TO _tcl..." */ ts + 7270, /* "ROLLBACK" */ // rc==TCL_ERROR, nTransaction==0 } /* tclsqlite.c:1216:21 */ @@ -54312,7 +55539,7 @@ func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintpt return TCL_ERROR __1: ; - if !(tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&DB_strs)), ts+11373 /* "option" */, 0, bp+1016 /* &choice */) != 0) { + if !(tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&DB_strs)), ts+12161 /* "option" */, 0, bp+1016 /* &choice */) != 0) { goto __2 } return TCL_ERROR @@ -54670,7 +55897,7 @@ __4: if !(objc > 3) { goto __45 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __46 __45: @@ -54741,7 +55968,7 @@ __55: zDestFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) goto __58 __57: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11391 /* "?DATABASE? FILEN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12179 /* "?DATABASE? FILEN..." */) return TCL_ERROR __58: ; @@ -54752,7 +55979,7 @@ __56: if !(rc != SQLITE_OK) { goto __59 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+11411, /* "cannot open targ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+12199, /* "cannot open targ..." */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))) return TCL_ERROR @@ -54762,7 +55989,7 @@ __59: if !(pBackup == uintptr(0)) { goto __60 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+11441, /* "backup failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+12229, /* "backup failed: " */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))) return TCL_ERROR @@ -54782,7 +56009,7 @@ __62: rc = TCL_OK goto __64 __63: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+11441, /* "backup failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+12229, /* "backup failed: " */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) rc = TCL_ERROR __64: @@ -54811,7 +56038,7 @@ __6: if !(objc > 3) { goto __65 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __66 __65: @@ -54857,7 +56084,7 @@ __7: if !(objc > 3) { goto __73 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11457 /* "CALLBACK" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12245 /* "CALLBACK" */) return TCL_ERROR goto __74 __73: @@ -54917,18 +56144,18 @@ __8: if !(objc <= 2) { goto __83 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11466 /* "cache option ?ar..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+12254 /* "cache option ?ar..." */) return TCL_ERROR __83: ; subCmd = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)) - if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 'f') && (libc.Xstrcmp(tls, subCmd, ts+11485 /* "flush" */) == 0)) { + if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 'f') && (libc.Xstrcmp(tls, subCmd, ts+12273 /* "flush" */) == 0)) { goto __84 } if !(objc != 3) { goto __86 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11485 /* "flush" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12273 /* "flush" */) return TCL_ERROR goto __87 __86: @@ -54937,21 +56164,21 @@ __87: ; goto __85 __84: - if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 's') && (libc.Xstrcmp(tls, subCmd, ts+11491 /* "size" */) == 0)) { + if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 's') && (libc.Xstrcmp(tls, subCmd, ts+12279 /* "size" */) == 0)) { goto __88 } if !(objc != 4) { goto __90 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11496 /* "size n" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12284 /* "size n" */) return TCL_ERROR goto __91 __90: if !(TCL_ERROR == tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1040 /* &n */)) { goto __92 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+120, ts+11503, /* "cannot convert \"" */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), uintptr(0)), ts+11520 /* "\" to integer" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+120, ts+12291, /* "cannot convert \"" */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), uintptr(0)), ts+12308 /* "\" to integer" */, uintptr(0))) return TCL_ERROR goto __93 __92: @@ -54977,8 +56204,8 @@ __91: ; goto __89 __88: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, ts+11533, /* "bad option \"" */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)), ts+11546, /* "\": must be flush..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, ts+12321, /* "bad option \"" */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)), ts+12334, /* "\": must be flush..." */ uintptr(0))) return TCL_ERROR __89: @@ -55019,7 +56246,7 @@ __11: if !(objc != 4) { goto __98 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11571 /* "NAME SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12359 /* "NAME SCRIPT" */) return TCL_ERROR __98: ; @@ -55057,7 +56284,7 @@ __12: if !(objc != 3) { goto __101 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11583 /* "SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+10650 /* "SCRIPT" */) return TCL_ERROR __101: ; @@ -55098,7 +56325,7 @@ __13: if !(objc > 3) { goto __107 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __108 __107: @@ -55174,7 +56401,7 @@ __15: if !(objc > 4) { goto __118 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11590 /* "?OPTION? ?BOOLEA..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12371 /* "?OPTION? ?BOOLEA..." */) return TCL_ERROR __118: ; @@ -55234,8 +56461,8 @@ __127: if !(uint64(ii) >= (uint64(unsafe.Sizeof(aDbConfig)) / uint64(unsafe.Sizeof(DbConfigChoices{})))) { goto __129 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+216, ts+11609 /* "unknown config o..." */, zOpt, - ts+11634 /* "\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+216, ts+12390 /* "unknown config o..." */, zOpt, + ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __129: ; @@ -55279,7 +56506,7 @@ __16: // The input file goto __132 } tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, - ts+11636 /* "CONFLICT-ALGORIT..." */) + ts+12417 /* "CONFLICT-ALGORIT..." */) return TCL_ERROR __132: ; @@ -55289,7 +56516,7 @@ __132: zSep = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 5*8)), uintptr(0)) goto __134 __133: - zSep = ts + 11698 /* "\t" */ + zSep = ts + 12479 /* "\t" */ __134: ; if !(objc >= 7) { @@ -55309,25 +56536,25 @@ __136: if !(nSep == 0) { goto __137 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+264, ts+11700, /* "Error: non-null ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+264, ts+12481, /* "Error: non-null ..." */ uintptr(0))) return TCL_ERROR __137: ; - if !(((((libc.Xstrcmp(tls, zConflict, ts+11744 /* "rollback" */) != 0) && (libc.Xstrcmp(tls, zConflict, ts+11753 /* "abort" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11759 /* "fail" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11764 /* "ignore" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11771 /* "replace" */) != 0)) { + if !(((((libc.Xstrcmp(tls, zConflict, ts+12525 /* "rollback" */) != 0) && (libc.Xstrcmp(tls, zConflict, ts+12534 /* "abort" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12540 /* "fail" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12545 /* "ignore" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12552 /* "replace" */) != 0)) { goto __138 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+280, ts+11779 /* "Error: \"" */, zConflict, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+280, ts+12560 /* "Error: \"" */, zConflict, - ts+11788 /* "\", conflict-algo..." */, uintptr(0))) + ts+12569 /* "\", conflict-algo..." */, uintptr(0))) return TCL_ERROR __138: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+11868 /* "SELECT * FROM '%..." */, libc.VaList(bp+312, zTable)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+12649 /* "SELECT * FROM '%..." */, libc.VaList(bp+312, zTable)) if !(zSql == uintptr(0)) { goto __139 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+320, ts+11887 /* "Error: no such t..." */, zTable, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+320, ts+12668 /* "Error: no such t..." */, zTable, uintptr(0))) return TCL_ERROR __139: ; @@ -55337,7 +56564,7 @@ __139: if !(rc != 0) { goto __140 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+344, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+344, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) nCol = 0 goto __141 __140: @@ -55355,11 +56582,11 @@ __142: if !(zSql == uintptr(0)) { goto __143 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+368, ts+11918 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+368, ts+12699 /* "Error: can't mal..." */, uintptr(0))) return TCL_ERROR __143: ; - sqlite3.Xsqlite3_snprintf(tls, (nByte + 50), zSql, ts+11940, /* "INSERT OR %q INT..." */ + sqlite3.Xsqlite3_snprintf(tls, (nByte + 50), zSql, ts+12721, /* "INSERT OR %q INT..." */ libc.VaList(bp+384, zConflict, zTable)) j = strlen30(tls, zSql) i = 1 @@ -55383,7 +56610,7 @@ __146: if !(rc != 0) { goto __147 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+400, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+400, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */))) return TCL_ERROR __147: @@ -55392,7 +56619,7 @@ __147: if !(in == uintptr(0)) { goto __148 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+424, ts+11972 /* "Error: cannot op..." */, zFile, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+424, ts+12753 /* "Error: cannot op..." */, zFile, uintptr(0))) sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */))) return TCL_ERROR __148: @@ -55401,13 +56628,13 @@ __148: if !(azCol == uintptr(0)) { goto __149 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+448, ts+11918 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+448, ts+12699 /* "Error: can't mal..." */, uintptr(0))) libc.Xfclose(tls, in) return TCL_ERROR __149: ; - sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+11998 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) - zCommit1 = ts + 11310 /* "COMMIT" */ + sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+12779 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + zCommit1 = ts + 12098 /* "COMMIT" */ __150: if !((libc.AssignUintptr(&zLine, local_getline(tls, uintptr(0), in))) != uintptr(0)) { goto __151 @@ -55450,7 +56677,7 @@ __154: goto __158 } sqlite3.Xsqlite3_snprintf(tls, nErr, zErr, - ts+12004, /* "Error: %s line %..." */ + ts+12785, /* "Error: %s line %..." */ libc.VaList(bp+464, zFile, lineno, nCol, (i+1))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+496, zErr, uintptr(0))) libc.Xfree(tls, zErr) @@ -55489,7 +56716,7 @@ __161: if !(rc != SQLITE_OK) { goto __164 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+512, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+512, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) zCommit1 = ts + 7270 /* "ROLLBACK" */ goto __151 __164: @@ -55513,7 +56740,7 @@ __151: __165: // failure, append lineno where failed sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+1072 /* &zLineNum[0] */, ts+1238 /* "%d" */, libc.VaList(bp+536, lineno)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+544, ts+12064 /* ", failed while p..." */, bp+1072, /* &zLineNum[0] */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+544, ts+12845 /* ", failed while p..." */, bp+1072, /* &zLineNum[0] */ uintptr(0))) rc = TCL_ERROR __166: @@ -55532,7 +56759,7 @@ __17: if !(objc < 3) { goto __167 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12097 /* "?DATABASE? VALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12878 /* "?DATABASE? VALUE" */) rc = TCL_ERROR goto __3 __167: @@ -55543,7 +56770,7 @@ __168: goto __170 } z1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i1)*8))) - if !((libc.Xstrcmp(tls, z1, ts+12114 /* "-maxsize" */) == 0) && (i1 < (objc - 2))) { + if !((libc.Xstrcmp(tls, z1, ts+12895 /* "-maxsize" */) == 0) && (i1 < (objc - 2))) { goto __171 } rc = tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1152 /* &mxSize */) @@ -55556,7 +56783,7 @@ __172: goto __169 __171: ; - if !((libc.Xstrcmp(tls, z1, ts+12123 /* "-readonly" */) == 0) && (i1 < (objc - 2))) { + if !((libc.Xstrcmp(tls, z1, ts+12904 /* "-readonly" */) == 0) && (i1 < (objc - 2))) { goto __173 } rc = tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1160 /* &isReadonly */) @@ -55576,7 +56803,7 @@ __173: goto __169 __175: ; - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+568, ts+12133 /* "unknown option: " */, z1, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+568, ts+12914 /* "unknown option: " */, z1, uintptr(0))) rc = TCL_ERROR goto deserialize_error goto __169 @@ -55615,7 +56842,7 @@ __180: if !(xrc != 0) { goto __181 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+608, ts+12150 /* "unable to set ME..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+608, ts+12931 /* "unable to set ME..." */, uintptr(0))) rc = TCL_ERROR __181: ; @@ -55635,7 +56862,7 @@ deserialize_error: // Turn the extension loading feature on or off. It if off by // default. __18: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+624, ts+12178, /* "extension loadin..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+624, ts+12959, /* "extension loadin..." */ uintptr(0))) return TCL_ERROR @@ -55721,13 +56948,13 @@ __192: if !(((objc > 3) && ((libc.AssignUintptr(&zOpt1, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))))) != uintptr(0))) && (int32(*(*int8)(unsafe.Pointer(zOpt1))) == '-')) { goto __193 } - if !(libc.Xstrcmp(tls, zOpt1, ts+12226 /* "-withoutnulls" */) == 0) { + if !(libc.Xstrcmp(tls, zOpt1, ts+13007 /* "-withoutnulls" */) == 0) { goto __194 } evalFlags = evalFlags | (SQLITE_EVAL_WITHOUTNULLS) goto __195 __194: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+640, ts+12240 /* "unknown option: ..." */, zOpt1, ts+11634 /* "\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+640, ts+13021 /* "unknown option: ..." */, zOpt1, ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __195: ; @@ -55740,7 +56967,7 @@ __193: goto __196 } tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, - ts+12258 /* "?OPTIONS? SQL ?A..." */) + ts+13039 /* "?OPTIONS? SQL ?A..." */) return TCL_ERROR __196: ; @@ -55836,7 +57063,7 @@ __23: if !(objc < 4) { goto __210 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12294 /* "NAME ?SWITCHES? ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13075 /* "NAME ?SWITCHES? ..." */) return TCL_ERROR __210: ; @@ -55847,13 +57074,13 @@ __211: } z2 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8))) n1 = strlen30(tls, z2) - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12317 /* "-argcount" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13098 /* "-argcount" */, uint64(n1)) == 0)) { goto __214 } if !(i3 == (objc - 2)) { goto __216 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+672, ts+12327 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+672, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __216: ; @@ -55866,7 +57093,7 @@ __217: if !(*(*int32)(unsafe.Pointer(bp + 1304 /* nArg */)) < 0) { goto __218 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+696, ts+12357, /* "number of argume..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+696, ts+13138, /* "number of argume..." */ uintptr(0))) return TCL_ERROR __218: @@ -55874,38 +57101,38 @@ __218: i3++ goto __215 __214: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12398 /* "-deterministic" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13179 /* "-deterministic" */, uint64(n1)) == 0)) { goto __219 } flags1 = flags1 | (SQLITE_DETERMINISTIC) goto __220 __219: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12413 /* "-directonly" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13194 /* "-directonly" */, uint64(n1)) == 0)) { goto __221 } flags1 = flags1 | (SQLITE_DIRECTONLY) goto __222 __221: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12425 /* "-innocuous" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13206 /* "-innocuous" */, uint64(n1)) == 0)) { goto __223 } flags1 = flags1 | (SQLITE_INNOCUOUS) goto __224 __223: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12436 /* "-returntype" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13217 /* "-returntype" */, uint64(n1)) == 0)) { goto __225 } - *(*[6]uintptr)(unsafe.Pointer(bp + 1312 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 12448 /* "real" */, ts + 12453 /* "text" */, ts + 12458 /* "blob" */, ts + 12463 /* "any" */, uintptr(0)} + *(*[6]uintptr)(unsafe.Pointer(bp + 1312 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 13229 /* "real" */, ts + 13234 /* "text" */, ts + 13239 /* "blob" */, ts + 13244 /* "any" */, uintptr(0)} if !(i3 == (objc - 2)) { goto __227 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+712, ts+12327 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+712, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __227: ; i3++ - if !(tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8)), bp+1312 /* &azType[0] */, ts+12467 /* "type" */, 0, bp+1360 /* &eType */) != 0) { + if !(tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8)), bp+1312 /* &azType[0] */, ts+13248 /* "type" */, 0, bp+1360 /* &eType */) != 0) { goto __228 } return TCL_ERROR @@ -55914,9 +57141,9 @@ __228: *(*int32)(unsafe.Pointer(bp + 1360 /* eType */))++ goto __226 __225: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+736, ts+11533 /* "bad option \"" */, z2, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+736, ts+12321 /* "bad option \"" */, z2, - ts+12472 /* "\": must be -argc..." */, uintptr(0))) + ts+13253 /* "\": must be -argc..." */, uintptr(0))) return TCL_ERROR __226: ; @@ -55988,7 +57215,7 @@ __24: zDb = ts + 85 /* "main" */ // Check for the -readonly option - if !((objc > 3) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), ts+12123 /* "-readonly" */) == 0)) { + if !((objc > 3) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), ts+12904 /* "-readonly" */) == 0)) { goto __236 } isReadonly1 = 1 @@ -55998,7 +57225,7 @@ __236: if !((objc != (5 + isReadonly1)) && (objc != (6 + isReadonly1))) { goto __237 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12550 /* "?-readonly? ?DB?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13331 /* "?-readonly? ?DB?..." */) return TCL_ERROR __237: ; @@ -56040,7 +57267,7 @@ __26: if !((objc != 2) && (objc != 3)) { goto __240 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12586 /* "NULLVALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13367 /* "NULLVALUE" */) return TCL_ERROR __240: ; @@ -56145,7 +57372,7 @@ __256: ; goto __250 __249: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12596 /* "N CALLBACK" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13377 /* "N CALLBACK" */) return TCL_ERROR __250: ; @@ -56162,7 +57389,7 @@ __29: if !(objc > 3) { goto __257 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __258 __257: @@ -56219,7 +57446,7 @@ __30: if !(objc != 3) { goto __267 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12607 /* "KEY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13388 /* "KEY" */) return TCL_ERROR __267: ; @@ -56246,7 +57473,7 @@ __268: zSrcFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) goto __271 __270: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11391 /* "?DATABASE? FILEN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12179 /* "?DATABASE? FILEN..." */) return TCL_ERROR __271: ; @@ -56257,7 +57484,7 @@ __269: if !(rc != SQLITE_OK) { goto __272 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+800, ts+12611, /* "cannot open sour..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+800, ts+13392, /* "cannot open sour..." */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */))) return TCL_ERROR @@ -56267,7 +57494,7 @@ __272: if !(pBackup1 == uintptr(0)) { goto __273 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+824, ts+12641, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+824, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */))) return TCL_ERROR @@ -56303,12 +57530,12 @@ __278: if !((rc == SQLITE_BUSY) || (rc == SQLITE_LOCKED)) { goto __280 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+848, ts+12658, /* "restore failed: ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+848, ts+13439, /* "restore failed: ..." */ uintptr(0))) rc = TCL_ERROR goto __281 __280: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+12641, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) rc = TCL_ERROR __281: @@ -56331,7 +57558,7 @@ __32: if !((objc != 2) && (objc != 3)) { goto __282 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12695 /* "?DATABASE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13476 /* "?DATABASE?" */) rc = TCL_ERROR goto __283 __282: @@ -56365,7 +57592,7 @@ __33: if !(objc != 3) { goto __287 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12706 /* "(step|sort|autoi..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13487 /* "(step|sort|autoi..." */) return TCL_ERROR __287: ; @@ -56376,26 +57603,26 @@ __287: v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnStep goto __289 __288: - if !(libc.Xstrcmp(tls, zOp, ts+12728 /* "sort" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13509 /* "sort" */) == 0) { goto __290 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnSort goto __291 __290: - if !(libc.Xstrcmp(tls, zOp, ts+12733 /* "autoindex" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13514 /* "autoindex" */) == 0) { goto __292 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnIndex goto __293 __292: - if !(libc.Xstrcmp(tls, zOp, ts+12743 /* "vmstep" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13524 /* "vmstep" */) == 0) { goto __294 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnVMStep goto __295 __294: tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+888, ts+12750, /* "bad argument: sh..." */ + libc.VaList(bp+888, ts+13531, /* "bad argument: sh..." */ uintptr(0))) return TCL_ERROR __295: @@ -56416,7 +57643,7 @@ __34: if !(objc != 3) { goto __296 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12806 /* "MILLISECONDS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13587 /* "MILLISECONDS" */) return TCL_ERROR __296: ; @@ -56454,7 +57681,7 @@ __36: if !(objc > 3) { goto __299 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __300 __299: @@ -56513,7 +57740,7 @@ __37: if !(objc > 4) { goto __309 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12819 /* "?CALLBACK? ?MASK..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13600 /* "?CALLBACK? ?MASK..." */) return TCL_ERROR goto __310 __309: @@ -56549,7 +57776,7 @@ __317: return TCL_ERROR __320: ; - if !(tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), ts+12837, /* "trace type" */ + if !(tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), ts+13618, /* "trace type" */ 0, bp+1432 /* &ttype */) != TCL_OK) { goto __321 } @@ -56682,11 +57909,11 @@ __310: // This command was inspired by Dave Thomas's talk on Ruby at the // 2005 O'Reilly Open Source Convention (OSCON). __38: - zBegin = ts + 12848 /* "SAVEPOINT _tcl_t..." */ + zBegin = ts + 13629 /* "SAVEPOINT _tcl_t..." */ if !((objc != 3) && (objc != 4)) { goto __343 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12875 /* "[TYPE] SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13656 /* "[TYPE] SCRIPT" */) return TCL_ERROR __343: ; @@ -56694,7 +57921,7 @@ __343: if !(((*SqliteDb)(unsafe.Pointer(pDb)).FnTransaction == 0) && (objc == 4)) { goto __344 } - if !(tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&TTYPE_strs1)), ts+12889, /* "transaction type" */ + if !(tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&TTYPE_strs1)), ts+13670, /* "transaction type" */ 0, bp+1448 /* &ttype1 */) != 0) { goto __345 } @@ -56714,10 +57941,10 @@ __347: /* no-op */ ; goto __346 __348: - zBegin = ts + 12906 /* "BEGIN EXCLUSIVE" */ + zBegin = ts + 13687 /* "BEGIN EXCLUSIVE" */ goto __346 __349: - zBegin = ts + 12922 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 13703 /* "BEGIN IMMEDIATE" */ goto __346 __346: ; @@ -56759,7 +57986,7 @@ __39: if !((objc != 2) && (objc != 3)) { goto __353 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) rc = TCL_ERROR goto __354 __353: @@ -56820,7 +58047,7 @@ __40: if !(objc < 3) { goto __362 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12947 /* "SUB-COMMAND ?ARG..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13728 /* "SUB-COMMAND ?ARG..." */) __362: ; if !(tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&azSub)), ts+1875 /* "sub-command" */, 0, bp+1464 /* &iSub */) != 0) { @@ -56855,7 +58082,7 @@ __366: if !(objc > 4) { goto __370 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12966 /* "hook ?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13747 /* "hook ?SCRIPT?" */) return TCL_ERROR __370: ; @@ -56884,7 +58111,7 @@ __369: if !(objc != 4) { goto __372 } - tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+12980 /* "INDEX" */) + tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+13761 /* "INDEX" */) return TCL_ERROR __372: ; @@ -56952,7 +58179,7 @@ __380: if !(objc > 3) { goto __381 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) return TCL_ERROR __381: ; @@ -56979,7 +58206,7 @@ __382: // $db version -use-legacy-prepare BOOLEAN // // Turn the use of legacy sqlite3_prepare() on or off. - if !((libc.Xstrcmp(tls, zArg, ts+12986 /* "-use-legacy-prep..." */) == 0) && ((i5 + 1) < objc)) { + if !((libc.Xstrcmp(tls, zArg, ts+13767 /* "-use-legacy-prep..." */) == 0) && ((i5 + 1) < objc)) { goto __385 } i5++ @@ -56996,10 +58223,10 @@ __385: // // Return a string which is a hex encoding of the pointer to the // most recent sqlite3_stmt in the statement cache. - if !(libc.Xstrcmp(tls, zArg, ts+13006 /* "-last-stmt-ptr" */) == 0) { + if !(libc.Xstrcmp(tls, zArg, ts+13787 /* "-last-stmt-ptr" */) == 0) { goto __388 } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1480 /* &zBuf[0] */, ts+13021, /* "%p" */ + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1480 /* &zBuf[0] */, ts+13802, /* "%p" */ libc.VaList(bp+984, func() uintptr { if (*SqliteDb)(unsafe.Pointer(pDb)).FstmtList != 0 { return (*SqlPreparedStmt)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FstmtList)).FpStmt @@ -57010,7 +58237,7 @@ __385: goto __389 __388: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+992, ts+13024 /* "unknown argument..." */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+992, ts+13805 /* "unknown argument..." */, zArg, uintptr(0))) return TCL_ERROR __389: ; @@ -57043,53 +58270,53 @@ type DbConfigChoices = struct { } /* tclsqlite.c:2340:18 */ var DB_strs = [42]uintptr{ - ts + 13043 /* "authorizer" */, ts + 13054 /* "backup" */, ts + 13061, /* "bind_fallback" */ - ts + 13075 /* "busy" */, ts + 13080 /* "cache" */, ts + 13086, /* "changes" */ - ts + 10125 /* "close" */, ts + 13094 /* "collate" */, ts + 13102, /* "collation_needed" */ - ts + 13119 /* "commit_hook" */, ts + 13131 /* "complete" */, ts + 13140, /* "config" */ - ts + 13147 /* "copy" */, ts + 13152 /* "deserialize" */, ts + 13164, /* "enable_load_exte..." */ - ts + 13186 /* "errorcode" */, ts + 4757 /* "eval" */, ts + 13196, /* "exists" */ - ts + 13203 /* "function" */, ts + 10524 /* "incrblob" */, ts + 13212, /* "interrupt" */ - ts + 13222 /* "last_insert_rowi..." */, ts + 13240 /* "nullvalue" */, ts + 13250, /* "onecolumn" */ - ts + 13260 /* "preupdate" */, ts + 13270 /* "profile" */, ts + 10199, /* "progress" */ - ts + 13278 /* "rekey" */, ts + 13284 /* "restore" */, ts + 13292, /* "rollback_hook" */ - ts + 13306 /* "serialize" */, ts + 13316 /* "status" */, ts + 13323, /* "timeout" */ - ts + 13331 /* "total_changes" */, ts + 13345 /* "trace" */, ts + 13351, /* "trace_v2" */ - ts + 13360 /* "transaction" */, ts + 13372 /* "unlock_notify" */, ts + 13386, /* "update_hook" */ - ts + 13398 /* "version" */, ts + 13406 /* "wal_hook" */, uintptr(0), + ts + 13824 /* "authorizer" */, ts + 13835 /* "backup" */, ts + 13842, /* "bind_fallback" */ + ts + 13856 /* "busy" */, ts + 13861 /* "cache" */, ts + 13867, /* "changes" */ + ts + 10125 /* "close" */, ts + 13875 /* "collate" */, ts + 13883, /* "collation_needed" */ + ts + 13900 /* "commit_hook" */, ts + 13912 /* "complete" */, ts + 13921, /* "config" */ + ts + 13928 /* "copy" */, ts + 13933 /* "deserialize" */, ts + 13945, /* "enable_load_exte..." */ + ts + 13967 /* "errorcode" */, ts + 4757 /* "eval" */, ts + 13977, /* "exists" */ + ts + 13984 /* "function" */, ts + 11333 /* "incrblob" */, ts + 13993, /* "interrupt" */ + ts + 14003 /* "last_insert_rowi..." */, ts + 14021 /* "nullvalue" */, ts + 14031, /* "onecolumn" */ + ts + 14041 /* "preupdate" */, ts + 14051 /* "profile" */, ts + 10199, /* "progress" */ + ts + 14059 /* "rekey" */, ts + 14065 /* "restore" */, ts + 14073, /* "rollback_hook" */ + ts + 14087 /* "serialize" */, ts + 14097 /* "status" */, ts + 14104, /* "timeout" */ + ts + 14112 /* "total_changes" */, ts + 14126 /* "trace" */, ts + 14132, /* "trace_v2" */ + ts + 14141 /* "transaction" */, ts + 14153 /* "unlock_notify" */, ts + 14167, /* "update_hook" */ + ts + 14179 /* "version" */, ts + 14187 /* "wal_hook" */, uintptr(0), } /* tclsqlite.c:1916:21 */ var aDbConfig = [16]DbConfigChoices{ - {FzName: ts + 13415 /* "defensive" */, Fop: SQLITE_DBCONFIG_DEFENSIVE}, - {FzName: ts + 13425 /* "dqs_ddl" */, Fop: SQLITE_DBCONFIG_DQS_DDL}, - {FzName: ts + 13433 /* "dqs_dml" */, Fop: SQLITE_DBCONFIG_DQS_DML}, - {FzName: ts + 13441 /* "enable_fkey" */, Fop: SQLITE_DBCONFIG_ENABLE_FKEY}, - {FzName: ts + 13453 /* "enable_qpsg" */, Fop: SQLITE_DBCONFIG_ENABLE_QPSG}, - {FzName: ts + 13465 /* "enable_trigger" */, Fop: SQLITE_DBCONFIG_ENABLE_TRIGGER}, - {FzName: ts + 13480 /* "enable_view" */, Fop: SQLITE_DBCONFIG_ENABLE_VIEW}, - {FzName: ts + 13492 /* "fts3_tokenizer" */, Fop: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, - {FzName: ts + 13507 /* "legacy_alter_tab..." */, Fop: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, - {FzName: ts + 13526 /* "legacy_file_form..." */, Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, - {FzName: ts + 13545 /* "load_extension" */, Fop: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, - {FzName: ts + 13560 /* "no_ckpt_on_close" */, Fop: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, - {FzName: ts + 13577 /* "reset_database" */, Fop: SQLITE_DBCONFIG_RESET_DATABASE}, - {FzName: ts + 13592 /* "trigger_eqp" */, Fop: SQLITE_DBCONFIG_TRIGGER_EQP}, - {FzName: ts + 13604 /* "trusted_schema" */, Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA}, - {FzName: ts + 13619 /* "writable_schema" */, Fop: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, + {FzName: ts + 14196 /* "defensive" */, Fop: SQLITE_DBCONFIG_DEFENSIVE}, + {FzName: ts + 14206 /* "dqs_ddl" */, Fop: SQLITE_DBCONFIG_DQS_DDL}, + {FzName: ts + 14214 /* "dqs_dml" */, Fop: SQLITE_DBCONFIG_DQS_DML}, + {FzName: ts + 14222 /* "enable_fkey" */, Fop: SQLITE_DBCONFIG_ENABLE_FKEY}, + {FzName: ts + 14234 /* "enable_qpsg" */, Fop: SQLITE_DBCONFIG_ENABLE_QPSG}, + {FzName: ts + 14246 /* "enable_trigger" */, Fop: SQLITE_DBCONFIG_ENABLE_TRIGGER}, + {FzName: ts + 14261 /* "enable_view" */, Fop: SQLITE_DBCONFIG_ENABLE_VIEW}, + {FzName: ts + 14273 /* "fts3_tokenizer" */, Fop: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, + {FzName: ts + 14288 /* "legacy_alter_tab..." */, Fop: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, + {FzName: ts + 14307 /* "legacy_file_form..." */, Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, + {FzName: ts + 14326 /* "load_extension" */, Fop: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, + {FzName: ts + 14341 /* "no_ckpt_on_close" */, Fop: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, + {FzName: ts + 14358 /* "reset_database" */, Fop: SQLITE_DBCONFIG_RESET_DATABASE}, + {FzName: ts + 14373 /* "trigger_eqp" */, Fop: SQLITE_DBCONFIG_TRIGGER_EQP}, + {FzName: ts + 14385 /* "trusted_schema" */, Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA}, + {FzName: ts + 14400 /* "writable_schema" */, Fop: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, } /* tclsqlite.c:2343:7 */ var TTYPE_strs = [5]uintptr{ - ts + 13635 /* "statement" */, ts + 13270 /* "profile" */, ts + 13645 /* "row" */, ts + 10125 /* "close" */, uintptr(0), + ts + 14416 /* "statement" */, ts + 14051 /* "profile" */, ts + 14426 /* "row" */, ts + 10125 /* "close" */, uintptr(0), } /* tclsqlite.c:3321:27 */ var TTYPE_strs1 = [4]uintptr{ - ts + 13649 /* "deferred" */, ts + 13658 /* "exclusive" */, ts + 13668 /* "immediate" */, uintptr(0), + ts + 14430 /* "deferred" */, ts + 14439 /* "exclusive" */, ts + 14449 /* "immediate" */, uintptr(0), } /* tclsqlite.c:3404:25 */ -var azSub = [6]uintptr{ts + 1826 /* "count" */, ts + 13678 /* "depth" */, ts + 13684 /* "hook" */, ts + 13689 /* "new" */, ts + 13693 /* "old" */, uintptr(0)} /* tclsqlite.c:3496:23 */ +var azSub = [6]uintptr{ts + 1826 /* "count" */, ts + 14459 /* "depth" */, ts + 14465 /* "hook" */, ts + 14470 /* "new" */, ts + 14474 /* "old" */, uintptr(0)} /* tclsqlite.c:3496:23 */ // Issue the usage message when the "sqlite3" command arguments are // incorrect. func sqliteCmdUsage(tls *libc.TLS, interp uintptr, objv uintptr) int32 { /* tclsqlite.c:3661:12: */ tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+13697 /* "HANDLE ?FILENAME..." */) + ts+14478 /* "HANDLE ?FILENAME..." */) return TCL_ERROR } @@ -57135,16 +58362,16 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } if objc == 2 { zArg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(0)) - if libc.Xstrcmp(tls, zArg, ts+13843 /* "-version" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14624 /* "-version" */) == 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), uintptr(0))) return TCL_OK } - if libc.Xstrcmp(tls, zArg, ts+13852 /* "-sourceid" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14633 /* "-sourceid" */) == 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, sqlite3.Xsqlite3_sourceid(tls), uintptr(0))) return TCL_OK } - if libc.Xstrcmp(tls, zArg, ts+13862 /* "-has-codec" */) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+13873 /* "0" */, uintptr(0))) + if libc.Xstrcmp(tls, zArg, ts+14643 /* "-has-codec" */) == 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+14654 /* "0" */, uintptr(0))) return TCL_OK } if int32(*(*int8)(unsafe.Pointer(zArg))) == '-' { @@ -57164,11 +58391,11 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) return sqliteCmdUsage(tls, interp, objv) } i++ - if libc.Xstrcmp(tls, zArg, ts+13875 /* "-key" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14656 /* "-key" */) == 0 { // no-op - } else if libc.Xstrcmp(tls, zArg, ts+13880 /* "-vfs" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14661 /* "-vfs" */) == 0 { zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))) - } else if libc.Xstrcmp(tls, zArg, ts+12123 /* "-readonly" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+12904 /* "-readonly" */) == 0 { // var b int32 at bp+88, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+88 /* &b */) != 0 { @@ -57181,7 +58408,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) flags = flags & (libc.CplInt32(SQLITE_OPEN_READONLY)) flags = flags | (SQLITE_OPEN_READWRITE) } - } else if libc.Xstrcmp(tls, zArg, ts+13885 /* "-create" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14666 /* "-create" */) == 0 { // var b int32 at bp+92, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+92 /* &b */) != 0 { @@ -57192,7 +58419,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_CREATE)) } - } else if libc.Xstrcmp(tls, zArg, ts+13893 /* "-nofollow" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14674 /* "-nofollow" */) == 0 { // var b int32 at bp+96, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+96 /* &b */) != 0 { @@ -57203,7 +58430,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOFOLLOW)) } - } else if libc.Xstrcmp(tls, zArg, ts+13903 /* "-nomutex" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14684 /* "-nomutex" */) == 0 { // var b int32 at bp+100, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+100 /* &b */) != 0 { @@ -57215,7 +58442,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOMUTEX)) } - } else if libc.Xstrcmp(tls, zArg, ts+13912 /* "-fullmutex" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14693 /* "-fullmutex" */) == 0 { // var b int32 at bp+104, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+104 /* &b */) != 0 { @@ -57227,7 +58454,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_FULLMUTEX)) } - } else if libc.Xstrcmp(tls, zArg, ts+13923 /* "-uri" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14704 /* "-uri" */) == 0 { // var b int32 at bp+108, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+108 /* &b */) != 0 { @@ -57238,12 +58465,12 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_URI)) } - } else if libc.Xstrcmp(tls, zArg, ts+13928 /* "-translatefilena..." */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14709 /* "-translatefilena..." */) == 0 { if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+112 /* &bTranslateFileName */) != 0 { return TCL_ERROR } } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+12133 /* "unknown option: " */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+12914 /* "unknown option: " */, zArg, uintptr(0))) return TCL_ERROR } } @@ -57313,16 +58540,16 @@ func Sqlite3_Init(tls *libc.TLS, interp uintptr) int32 { /* tclsqlite.c:3877:12: rc = TCL_ERROR } if rc == TCL_OK { - tcl.XTcl_CreateObjCommand(tls, interp, ts+13947 /* "sqlite3" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+14728 /* "sqlite3" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{DbMain})), uintptr(0), uintptr(0)) // The "sqlite" alias is undocumented. It is here only to support // legacy scripts. All new scripts should use only the "sqlite3" // command. - tcl.XTcl_CreateObjCommand(tls, interp, ts+13955 /* "sqlite" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+14736 /* "sqlite" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{DbMain})), uintptr(0), uintptr(0)) - rc = tcl.XTcl_PkgProvide(tls, interp, ts+13947 /* "sqlite3" */, ts+13962 /* "3.36.0" */) + rc = tcl.XTcl_PkgProvide(tls, interp, ts+14728 /* "sqlite3" */, ts+14743 /* "3.36.0" */) } return rc } @@ -57375,7 +58602,7 @@ func tclsh_main_loop(tls *libc.TLS) uintptr { /* tclsqlite.c:3920:19: */ return uintptr(unsafe.Pointer(&zMainloop)) } -var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 13969 /* "if {[llength $ar..." */)) /* tclsqlite.c:3921:21 */ +var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 14750 /* "if {[llength $ar..." */)) /* tclsqlite.c:3921:21 */ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953:18: */ bp := tls.Alloc(64) @@ -57386,10 +58613,10 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: var zScript uintptr = uintptr(0) // var zArgc [32]int8 at bp+32, 32 - if libc.Xgetenv(tls, ts+14400 /* "SQLITE_DEBUG_BRE..." */) != 0 { + if libc.Xgetenv(tls, ts+15181 /* "SQLITE_DEBUG_BRE..." */) != 0 { if (libc.Xisatty(tls, 0) != 0) && (libc.Xisatty(tls, 2) != 0) { libc.Xfprintf(tls, libc.X__stderrp, - ts+14419, /* "attach debugger ..." */ + ts+15200, /* "attach debugger ..." */ libc.VaList(bp, libc.Xgetpid(tls))) libc.Xfgetc(tls, libc.X__stdinp) } else { @@ -57403,16 +58630,16 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: sqlite3.Xsqlite3_shutdown(tls) tcl.XTcl_FindExecutable(tls, *(*uintptr)(unsafe.Pointer(argv))) - tcl.XTcl_SetSystemEncoding(tls, uintptr(0), ts+14481 /* "utf-8" */) + tcl.XTcl_SetSystemEncoding(tls, uintptr(0), ts+15262 /* "utf-8" */) interp = tcl.XTcl_CreateInterp(tls) Sqlite3_Init(tls, interp) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), bp+32 /* &zArgc[0] */, ts+1238 /* "%d" */, libc.VaList(bp+8, (argc-1))) - tcl.XTcl_SetVar(tls, interp, ts+14487 /* "argc" */, bp+32 /* &zArgc[0] */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar(tls, interp, ts+14492 /* "argv0" */, *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar(tls, interp, ts+14498 /* "argv" */, ts+489 /* "" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar(tls, interp, ts+15268 /* "argc" */, bp+32 /* &zArgc[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar(tls, interp, ts+15273 /* "argv0" */, *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar(tls, interp, ts+15279 /* "argv" */, ts+489 /* "" */, TCL_GLOBAL_ONLY) for i = 1; i < argc; i++ { - tcl.XTcl_SetVar(tls, interp, ts+14498 /* "argv" */, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), + tcl.XTcl_SetVar(tls, interp, ts+15279 /* "argv" */, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ((TCL_GLOBAL_ONLY | TCL_LIST_ELEMENT) | TCL_APPEND_VALUE)) } zScript = sqlite3TestInit(tls, interp) @@ -57420,11 +58647,11 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: zScript = tclsh_main_loop(tls) } if tcl.XTcl_GlobalEval(tls, interp, zScript) != TCL_OK { - var zInfo uintptr = tcl.XTcl_GetVar(tls, interp, ts+14503 /* "errorInfo" */, TCL_GLOBAL_ONLY) + var zInfo uintptr = tcl.XTcl_GetVar(tls, interp, ts+15284 /* "errorInfo" */, TCL_GLOBAL_ONLY) if zInfo == uintptr(0) { zInfo = tcl.XTcl_GetStringResult(tls, interp) } - libc.Xfprintf(tls, libc.X__stderrp, ts+14513 /* "%s: %s\n" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) + libc.Xfprintf(tls, libc.X__stderrp, ts+15294 /* "%s: %s\n" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) return 1 } return 0 @@ -59434,16 +60661,16 @@ func get_sqlite_pointer(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var zBuf [100]int8 at bp+112, 100 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+14521 /* "SQLITE-CONNECTIO..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15302 /* "SQLITE-CONNECTIO..." */) return TCL_ERROR } if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539, /* "command not foun..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } p = (*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &cmdInfo */)).FobjClientData - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+112 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+24, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+112 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+24, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+112 /* &zBuf[0] */, 0)) return TCL_OK } @@ -59480,7 +60707,7 @@ func sqlite3TestErrCode(tls *libc.TLS, interp uintptr, db uintptr, rc int32) int var r2 int32 = sqlite3.Xsqlite3_errcode(tls, db) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+48, /* &zBuf[0] */ - ts+14559, /* "error code %s (%..." */ + ts+15340, /* "error code %s (%..." */ libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, rc), rc, sqlite3.Xsqlite3ErrName(tls, r2), r2)) tcl.XTcl_ResetResult(tls, interp) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+48 /* &zBuf[0] */, 0)) @@ -59510,7 +60737,7 @@ func sqlite3TestMakePointerStr(tls *libc.TLS, interp uintptr, zPtr uintptr, p ui bp := tls.Alloc(8) defer tls.Free(8) - sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+13802 /* "%p" */, libc.VaList(bp, p)) return TCL_OK } @@ -59559,7 +60786,7 @@ func test_io_trace(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // Also return true if the OMIT_MISUSE environment variable exists. func clang_sanitize_address(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:269:26: */ var res int32 = 0 - if (res == 0) && (libc.Xgetenv(tls, ts+14617 /* "OMIT_MISUSE" */) != uintptr(0)) { + if (res == 0) && (libc.Xgetenv(tls, ts+15398 /* "OMIT_MISUSE" */) != uintptr(0)) { res = 1 } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, res)) @@ -59585,8 +60812,8 @@ func test_exec_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // var zBuf [30]int8 at bp+280, 30 if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14655 /* " DB FORMAT STRIN..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15436 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { @@ -59639,8 +60866,8 @@ func test_exec_hex(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // var zBuf [30]int8 at bp+776, 30 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14673 /* " DB HEX" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15454 /* " DB HEX" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { @@ -59703,8 +60930,8 @@ func db_enter(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -59721,8 +60948,8 @@ func db_leave(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -59751,8 +60978,8 @@ func test_exec(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [30]int8 at bp+280, 30 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14685 /* " DB SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { @@ -59804,8 +61031,8 @@ func test_exec_nr(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar var rc int32 *(*uintptr)(unsafe.Pointer(bp + 40 /* zErr */)) = uintptr(0) if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14685 /* " DB SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -59831,7 +61058,7 @@ func test_mprintf_z(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 for i = 2; (i < argc) && ((i == 2) || (zResult != 0)); i++ { - zResult = sqlite3.Xsqlite3_mprintf(tls, ts+14693 /* "%z%s%s" */, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + zResult = sqlite3.Xsqlite3_mprintf(tls, ts+15474 /* "%z%s%s" */, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, zResult, 0)) sqlite3.Xsqlite3_free(tls, zResult) @@ -59848,7 +61075,7 @@ func test_mprintf_n(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var zStr uintptr *(*int32)(unsafe.Pointer(bp + 16 /* n */)) = 0 - zStr = sqlite3.Xsqlite3_mprintf(tls, ts+14700 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+16 /* &n */)) + zStr = sqlite3.Xsqlite3_mprintf(tls, ts+15481 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+16 /* &n */)) sqlite3.Xsqlite3_free(tls, zStr) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 16 /* n */)))) return TCL_OK @@ -59874,7 +61101,7 @@ func test_snprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 if uint64(n) > uint64(unsafe.Sizeof([100]int8{})) { n = int32(unsafe.Sizeof([100]int8{})) } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zStr[0] */, ts+14705 /* "abcdefghijklmnop..." */, 0) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zStr[0] */, ts+15486 /* "abcdefghijklmnop..." */, 0) sqlite3.Xsqlite3_snprintf(tls, n, bp+24 /* &zStr[0] */, zFormat, libc.VaList(bp, a1)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24 /* &zStr[0] */, 0)) return TCL_OK @@ -59910,8 +61137,8 @@ func test_get_table_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc } } if (argc != 4) && (argc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14732 /* " DB FORMAT STRIN..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15513 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72 /* &db */) != 0 { @@ -59968,13 +61195,13 @@ func test_last_rowid(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [30]int8 at bp+64, 30 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56 /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+64 /* &zBuf[0] */, ts+10545 /* "%lld" */, libc.VaList(bp+32, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+64 /* &zBuf[0] */, ts+11354 /* "%lld" */, libc.VaList(bp+32, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+64 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -60004,8 +61231,8 @@ func sqlite_test_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -60027,8 +61254,8 @@ func sqlite_test_close_v2(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -60066,7 +61293,7 @@ func hex8Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c:7 z = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint64(i) < ((uint64(unsafe.Sizeof([200]int8{})) / uint64(2)) - uint64(2))) && (*(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([200]int8{})) - (uint64(i * 2)))), (bp + 8 /* &zBuf */ + uintptr((i * 2))), ts+14774 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([200]int8{})) - (uint64(i * 2)))), (bp + 8 /* &zBuf */ + uintptr((i * 2))), ts+15555 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) } *(*int8)(unsafe.Pointer(bp + 8 /* &zBuf[0] */ + uintptr((i * 2)))) = int8(0) sqlite3.Xsqlite3_result_text(tls, p, bp+8 /* zBuf */, -1, libc.UintptrFromInt32(-1)) @@ -60082,7 +61309,7 @@ func hex16Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c: z = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint64(i) < ((uint64(unsafe.Sizeof([400]int8{})) / uint64(4)) - uint64(4))) && (*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([400]int8{})) - (uint64(i * 4)))), (bp + 8 /* &zBuf */ + uintptr((i * 4))), ts+14779 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([400]int8{})) - (uint64(i * 4)))), (bp + 8 /* &zBuf */ + uintptr((i * 4))), ts+15560 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) } *(*int8)(unsafe.Pointer(bp + 8 /* &zBuf[0] */ + uintptr((i * 4)))) = int8(0) sqlite3.Xsqlite3_result_text(tls, p, bp+8 /* zBuf */, -1, libc.UintptrFromInt32(-1)) @@ -60181,7 +61408,7 @@ func tkt2213Function(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zText3 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if (zText1 != zText2) || (zText2 != zText3) { - sqlite3.Xsqlite3_result_error(tls, context, ts+14784 /* "tkt2213 is not f..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15565 /* "tkt2213 is not f..." */, -1) } else { var zCopy uintptr = sqlite3.Xsqlite3_malloc(tls, nText) libc.X__builtin___memcpy_chk(tls, zCopy, zText1, uint64(nText), libc.X__builtin_object_size(tls, zCopy, 0)) @@ -60222,11 +61449,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+12453 /* "text" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+13234 /* "text" */) == 0 { p1 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14805 /* "text16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15586 /* "text16" */) == 0 { p1 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+12458 /* "blob" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+13239 /* "blob" */) == 0 { p1 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) } else { return @@ -60235,11 +61462,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+14812 /* "bytes" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+15593 /* "bytes" */) == 0 { sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14818 /* "bytes16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15599 /* "bytes16" */) == 0 { sqlite3.Xsqlite3_value_bytes16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14826 /* "noop" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15607 /* "noop" */) == 0 { // do nothing } else { return @@ -60248,11 +61475,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+12453 /* "text" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+13234 /* "text" */) == 0 { p2 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14805 /* "text16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15586 /* "text16" */) == 0 { p2 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+12458 /* "blob" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+13239 /* "blob" */) == 0 { p2 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) } else { return @@ -60300,37 +61527,37 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14831 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15612 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1_ifnullFunc})), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14842 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15623 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex8Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14847 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15628 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex16Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14853 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15634 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tkt2213Function})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14865 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15646 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{ptrChngFunction})), uintptr(0), uintptr(0)) @@ -60340,13 +61567,13 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // both return an ascending integer with each call. But counter1() is marked // as non-deterministic and counter2() is marked as deterministic. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14880 /* "counter1" */, -1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15661 /* "counter1" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14889 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15670 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) @@ -60355,7 +61582,7 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // The intreal() function converts its argument to an integer and returns // it as a MEM_IntReal. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14898 /* "intreal" */, 1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15679 /* "intreal" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{intrealFunction})), uintptr(0), uintptr(0)) @@ -60368,7 +61595,7 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var pVal uintptr sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmutex) pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) - sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+14906 /* "x_sqlite_exec" */, uint8(SQLITE_UTF8), uintptr(0)) + sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+15687 /* "x_sqlite_exec" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) if (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).FmallocFailed != 0 { rc = SQLITE_NOMEM @@ -60401,8 +61628,8 @@ func test_drop_modules(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -60451,7 +61678,7 @@ func t1CountStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* if argc > 0 { var v int32 = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))) if v == 40 { - sqlite3.Xsqlite3_result_error(tls, context, ts+14920 /* "value of 40 hand..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15701 /* "value of 40 hand..." */, -1) } else if v == 41 { *(*[9]int8)(unsafe.Pointer(bp /* zUtf16ErrMsg */)) = [9]int8{int8(0), int8(0x61), int8(0), int8(0x62), int8(0), int8(0x63), int8(0), int8(0), int8(0)} sqlite3.Xsqlite3_result_error16(tls, context, (bp /* &zUtf16ErrMsg */ + 1), -1) @@ -60464,7 +61691,7 @@ func t1CountFinalize(tls *libc.TLS, context uintptr) { /* test1.c:1149:13: */ p = sqlite3.Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(t1CountCtx{}))) if p != 0 { if (*t1CountCtx)(unsafe.Pointer(p)).Fn == 42 { - sqlite3.Xsqlite3_result_error(tls, context, ts+14950 /* "x_count totals t..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15731 /* "x_count totals t..." */, -1) } else { sqlite3.Xsqlite3_result_int(tls, context, func() int32 { if p != 0 { @@ -60509,25 +61736,25 @@ func test_create_aggregate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14971 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15752 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14971 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15752 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14979 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15760 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{legacyCountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{legacyCountFinalize}))) @@ -60550,8 +61777,8 @@ func test_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg defer tls.Free(40) if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14992 /* " TEXT\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15773 /* " TEXT\"" */, 0)) return TCL_ERROR } libc.Xprintf(tls, ts+294 /* "%s\n" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) @@ -60570,8 +61797,8 @@ func sqlite3_mprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { @@ -60597,13 +61824,13 @@ func sqlite3_mprintf_int64(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { if sqlite3.Xsqlite3Atoi64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+88 /* &a */ +uintptr((i-2))*8), sqlite3.Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))), uint8(SQLITE_UTF8)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15020 /* "argument is not ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15801 /* "argument is not ..." */, 0)) return TCL_ERROR } } @@ -60629,8 +61856,8 @@ func sqlite3_mprintf_long(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { @@ -60658,8 +61885,8 @@ func sqlite3_mprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 var z uintptr if (argc < 4) || (argc > 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15059 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15840 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -60692,15 +61919,15 @@ func sqlite3_snprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var z uintptr if (argc < 5) || (argc > 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15085 /* " INT FORMAT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15866 /* " INT FORMAT INT ..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+88 /* &n */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 88 /* n */)) < 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15115 /* "N must be non-ne..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15896 /* "N must be non-ne..." */, 0)) return TCL_ERROR } for i = 3; i < 5; i++ { @@ -60734,8 +61961,8 @@ func sqlite3_mprintf_double(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15138 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15919 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -60766,8 +61993,8 @@ func sqlite3_mprintf_scaled(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15162 /* " FORMAT DOUBLE D..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15943 /* " FORMAT DOUBLE D..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -60792,8 +62019,8 @@ func sqlite3_mprintf_stronly(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg var z uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15185 /* " FORMAT STRING\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) @@ -60820,12 +62047,12 @@ func sqlite3_mprintf_hexdouble(tls *libc.TLS, NotUsed uintptr, interp uintptr, a // var d sqlite_uint64 at bp+104, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15185 /* " FORMAT STRING\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } - if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+15201 /* "%08x%08x" */, libc.VaList(bp+32, bp+88 /* &x2 */, bp+92 /* &x1 */)) != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+15210 /* "2nd argument sho..." */, 0)) + if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+15982 /* "%08x%08x" */, libc.VaList(bp+32, bp+88 /* &x2 */, bp+92 /* &x1 */)) != 2 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+15991 /* "2nd argument sho..." */, 0)) return TCL_ERROR } *(*sqlite_uint64)(unsafe.Pointer(bp + 104 /* d */)) = sqlite_uint64(*(*uint32)(unsafe.Pointer(bp + 88 /* x2 */))) @@ -60849,7 +62076,7 @@ func test_enable_shared(tls *libc.TLS, clientData ClientData, interp uintptr, ob var ret int32 = 0 if (objc != 2) && (objc != 1) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15254 /* "?BOOLEAN?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16035 /* "?BOOLEAN?" */) return TCL_ERROR } ret = sqlite3.Xsqlite3Config.FsharedCacheEnabled @@ -60879,7 +62106,7 @@ func test_extended_result_codes(tls *libc.TLS, clientData ClientData, interp uin // var db uintptr at bp, 8 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15264 /* "DB BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16045 /* "DB BOOLEAN" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -60923,7 +62150,7 @@ func test_table_column_metadata(tls *libc.TLS, clientData ClientData, interp uin // var autoincrement int32 at bp+48, 4 if (objc != 5) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15275 /* "DB dbname tblnam..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16056 /* "DB dbname tblnam..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { @@ -61002,7 +62229,7 @@ func test_blob_reopen(tls *libc.TLS, clientData ClientData, interp uintptr, objc var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15301 /* "CHANNEL ROWID" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16082 /* "CHANNEL ROWID" */) return TCL_ERROR } @@ -61094,7 +62321,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp var rc int32 if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15315 /* "DB-HANDLE NAME C..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16096 /* "DB-HANDLE NAME C..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { @@ -61114,7 +62341,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp }{testCreateCollationCmp})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testCreateCollationDel}))) if rc != SQLITE_MISUSE { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+15348 /* "sqlite3_create_c..." */, uintptr(0))) + libc.VaList(bp, ts+16129 /* "sqlite3_create_c..." */, uintptr(0))) return TCL_ERROR } rc = sqlite3.Xsqlite3_create_collation_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), SQLITE_UTF8, @@ -61216,16 +62443,16 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt var rc int32 *(*[6]EncTable)(unsafe.Pointer(bp + 32 /* aEnc */)) = [6]EncTable{ - {FzEnc: ts + 15413 /* "utf8" */, Fenc: SQLITE_UTF8}, - {FzEnc: ts + 15418 /* "utf16" */, Fenc: SQLITE_UTF16}, - {FzEnc: ts + 15424 /* "utf16le" */, Fenc: SQLITE_UTF16LE}, - {FzEnc: ts + 15432 /* "utf16be" */, Fenc: SQLITE_UTF16BE}, - {FzEnc: ts + 12463 /* "any" */, Fenc: SQLITE_ANY}, - {FzEnc: ts + 13873 /* "0" */}, + {FzEnc: ts + 16194 /* "utf8" */, Fenc: SQLITE_UTF8}, + {FzEnc: ts + 16199 /* "utf16" */, Fenc: SQLITE_UTF16}, + {FzEnc: ts + 16205 /* "utf16le" */, Fenc: SQLITE_UTF16LE}, + {FzEnc: ts + 16213 /* "utf16be" */, Fenc: SQLITE_UTF16BE}, + {FzEnc: ts + 13244 /* "any" */, Fenc: SQLITE_ANY}, + {FzEnc: ts + 14654 /* "0" */}, } if (objc < 5) || ((objc % 2) == 0) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15440 /* "DB NAME NARG ENC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16221 /* "DB NAME NARG ENC..." */) return TCL_ERROR } @@ -61237,7 +62464,7 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+32 /* &aEnc[0] */, int32(unsafe.Sizeof(EncTable{})), - ts+15469 /* "encoding" */, 0, bp+128 /* &enc */) != 0 { + ts+16250 /* "encoding" */, 0, bp+128 /* &enc */) != 0 { return TCL_ERROR } *(*int32)(unsafe.Pointer(bp + 128 /* enc */)) = (*EncTable)(unsafe.Pointer(bp + 32 /* &aEnc */ + uintptr(*(*int32)(unsafe.Pointer(bp + 128 /* enc */)))*16)).Fenc @@ -61250,8 +62477,8 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt for i = 5; i < objc; i = i + (2) { // var iSwitch int32 at bp+176, 4 - *(*[5]uintptr)(unsafe.Pointer(bp + 136 /* azSwitch */)) = [5]uintptr{ts + 15478 /* "-func" */, ts + 15484 /* "-step" */, ts + 15490 /* "-final" */, ts + 15497 /* "-destroy" */, uintptr(0)} - if tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+136 /* &azSwitch[0] */, ts+15506 /* "switch" */, 0, bp+176 /* &iSwitch */) != 0 { + *(*[5]uintptr)(unsafe.Pointer(bp + 136 /* azSwitch */)) = [5]uintptr{ts + 16259 /* "-func" */, ts + 16265 /* "-step" */, ts + 16271 /* "-final" */, ts + 16278 /* "-destroy" */, uintptr(0)} + if tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+136 /* &azSwitch[0] */, ts+16287 /* "switch" */, 0, bp+176 /* &iSwitch */) != 0 { sqlite3.Xsqlite3_free(tls, p) return TCL_ERROR } @@ -61353,7 +62580,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o var zErr uintptr = uintptr(0) if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15513 /* "DB-HANDLE FILE ?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16294 /* "DB-HANDLE FILE ?..." */) return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -61364,7 +62591,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o // Extract the C database handle from the Tcl command name if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+24 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539 /* "command not foun..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &cmdInfo */)).FobjClientData)).Fdb @@ -61373,7 +62600,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o // TCL_ERROR and load any error string into the interpreter. If no // error occurs, set rc to TCL_OK. rc = SQLITE_ERROR - zErr = sqlite3.Xsqlite3_mprintf(tls, ts+15535 /* "this build omits..." */, 0) + zErr = sqlite3.Xsqlite3_mprintf(tls, ts+16316 /* "this build omits..." */, 0) _ = zProc _ = zFile if rc != SQLITE_OK { @@ -61405,14 +62632,14 @@ func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var onoff int32 at bp+96, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15577 /* "DB-HANDLE ONOFF" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16358 /* "DB-HANDLE ONOFF" */) return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) // Extract the C database handle from the Tcl command name if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+32 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539 /* "command not foun..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &cmdInfo */)).FobjClientData)).Fdb @@ -61422,7 +62649,7 @@ func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+15535 /* "this build omits..." */)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+16316 /* "this build omits..." */)) return TCL_ERROR } @@ -61461,7 +62688,7 @@ __5: sqlite3.Xsqlite3_result_int64(tls, context, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) goto __8 __7: - if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+15593 /* "string" */) == 0) { + if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+16374 /* "string" */) == 0) { goto __9 } sqlite3.Xsqlite3_result_text(tls, context, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))), -1, @@ -61480,7 +62707,7 @@ __11: sqlite3.Xsqlite3_result_null(tls, context) goto __14 __13: - if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+15600 /* "value" */) == 0) { + if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+16381 /* "value" */) == 0) { goto __15 } sqlite3.Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + uintptr(sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))*8))) @@ -61513,7 +62740,7 @@ __2: error_out: sqlite3.Xsqlite3_result_error(tls, context, - ts+15606 /* "first argument s..." */, -1) + ts+16387 /* "first argument s..." */, -1) } // Usage: sqlite_register_test_function DB NAME @@ -61527,8 +62754,8 @@ func test_register_func(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15674 /* " DB FUNCTION-NAM..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+16455 /* " DB FUNCTION-NAM..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { @@ -61561,8 +62788,8 @@ func test_finalize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var db uintptr = uintptr(0) if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } @@ -61597,7 +62824,7 @@ func test_stmt_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // var pStmt uintptr at bp, 8 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15700 /* "STMT PARAMETER R..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16481 /* "STMT PARAMETER R..." */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -61636,13 +62863,13 @@ var aOp = [7]struct { Fop int32 _ [4]byte }{ - {FzName: ts + 15725 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, - {FzName: ts + 15757 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, - {FzName: ts + 15780 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_AUTOINDEX}, - {FzName: ts + 15808 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_VM_STEP}, - {FzName: ts + 15834 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_REPREPARE}, - {FzName: ts + 15862 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_RUN}, - {FzName: ts + 15884 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_MEMUSED}, + {FzName: ts + 16506 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, + {FzName: ts + 16538 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, + {FzName: ts + 16561 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_AUTOINDEX}, + {FzName: ts + 16589 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_VM_STEP}, + {FzName: ts + 16615 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_REPREPARE}, + {FzName: ts + 16643 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_RUN}, + {FzName: ts + 16665 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_MEMUSED}, } /* test1.c:2158:5 */ // Usage: sqlite3_config_sorterref @@ -61655,7 +62882,7 @@ func test_config_sorterref(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var iVal int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15910 /* "NBYTE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &iVal */) != 0 { @@ -61696,7 +62923,7 @@ func test_snapshot_get(tls *libc.TLS, clientData uintptr, interp uintptr, objc i *(*uintptr)(unsafe.Pointer(bp + 8 /* pSnapshot */)) = uintptr(0) if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -61730,7 +62957,7 @@ func test_snapshot_recover(tls *libc.TLS, clientData uintptr, interp uintptr, ob var zName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -61760,7 +62987,7 @@ func test_snapshot_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc var pSnapshot uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15926 /* "DB DBNAME SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16707 /* "DB DBNAME SNAPSH..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -61783,7 +63010,7 @@ func test_snapshot_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc func test_snapshot_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2428:26: */ var pSnapshot uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15945 /* "SNAPSHOT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16726 /* "SNAPSHOT" */) return TCL_ERROR } pSnapshot = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -61797,7 +63024,7 @@ func test_snapshot_cmp(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var p1 uintptr var p2 uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15954 /* "SNAPSHOT1 SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16735 /* "SNAPSHOT1 SNAPSH..." */) return TCL_ERROR } p1 = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -61819,7 +63046,7 @@ func test_snapshot_get_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o *(*uintptr)(unsafe.Pointer(bp + 8 /* pSnapshot */)) = uintptr(0) if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -61852,7 +63079,7 @@ func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, // var nBlob int32 at bp+24, 4 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15926 /* "DB DBNAME SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16707 /* "DB DBNAME SNAPSH..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { @@ -61861,7 +63088,7 @@ func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) pBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+24 /* &nBlob */) if (uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nBlob */))) != uint64(unsafe.Sizeof(sqlite3_snapshot{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15974 /* "bad SNAPSHOT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } rc = sqlite3.Xsqlite3_snapshot_open(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zName, pBlob) @@ -61885,7 +63112,7 @@ func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o // var n2 int32 at bp+20, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15954 /* "SNAPSHOT1 SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16735 /* "SNAPSHOT1 SNAPSH..." */) return TCL_ERROR } @@ -61893,7 +63120,7 @@ func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o p2 = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+20 /* &n2 */) if (uint64(*(*int32)(unsafe.Pointer(bp + 16 /* n1 */))) != uint64(unsafe.Sizeof(sqlite3_snapshot{}))) || (*(*int32)(unsafe.Pointer(bp + 16 /* n1 */)) != *(*int32)(unsafe.Pointer(bp + 20 /* n2 */))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15974 /* "bad SNAPSHOT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } @@ -61907,7 +63134,7 @@ func test_delete_database(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 var zFile uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15987 /* "FILE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16768 /* "FILE" */) return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -61930,7 +63157,7 @@ func test_atomic_batch_write(tls *libc.TLS, clientData uintptr, interp uintptr, var rc int32 // sqlite3_open() return code if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15992 /* "PATH" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16773 /* "PATH" */) return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -61966,8 +63193,8 @@ func test_next_stmt(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var zBuf [50]int8 at bp+64, 50 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15997 /* " DB STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16778 /* " DB STMT" */, 0)) return TCL_ERROR } @@ -62000,8 +63227,8 @@ func test_stmt_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -62026,8 +63253,8 @@ func test_stmt_isexplain(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -62052,8 +63279,8 @@ func test_stmt_busy(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -62075,8 +63302,8 @@ func uses_stmt_journal(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var pStmt uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -62100,8 +63327,8 @@ func test_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } @@ -62131,8 +63358,8 @@ func test_expired(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var pStmt uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { @@ -62154,8 +63381,8 @@ func test_transfer_bind(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var pStmt2 uintptr at bp+40, 8 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16012 /* " FROM-STMT TO-ST..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16793 /* " FROM-STMT TO-ST..." */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt1 */) != 0 { @@ -62180,8 +63407,8 @@ func test_changes(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var db uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -62215,8 +63442,8 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var idx int32 at bp+88, 4 if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+16031 /* " VM IDX VALUE (n..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+16812 /* " VM IDX VALUE (n..." */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80 /* &pStmt */) != 0 { @@ -62227,18 +63454,18 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv } if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+7385 /* "null" */) == 0 { rc = sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */))) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16067 /* "static" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16848 /* "static" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), sqlite_static_bind_value, -1, uintptr(0)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16074 /* "static-nbytes" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16855 /* "static-nbytes" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), sqlite_static_bind_value, sqlite_static_bind_nbyte, uintptr(0)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16088 /* "normal" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16869 /* "normal" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), *(*uintptr)(unsafe.Pointer(argv + 3*8)), -1, libc.UintptrFromInt32(-1)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16095 /* "blob10" */) == 0 { - rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), ts+16102 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16876 /* "blob10" */) == 0 { + rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), ts+16883 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) } else { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+32, ts+16113 /* "4th argument sho..." */, 0)) + libc.VaList(bp+32, ts+16894 /* "4th argument sho..." */, 0)) return TCL_ERROR } if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))), rc) != 0 { @@ -62247,7 +63474,7 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv if rc != 0 { // var zBuf [50]int8 at bp+92, 50 - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+92 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+48, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+92 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+48, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+92 /* &zBuf[0] */, sqlite3.Xsqlite3ErrStr(tls, rc), 0)) return TCL_ERROR } @@ -62294,18 +63521,18 @@ func test_collate_func(tls *libc.TLS, pCtx uintptr, nA int32, zA uintptr, nB int var pVal uintptr var pX uintptr - pX = tcl.XTcl_NewStringObj(tls, ts+16173 /* "test_collate" */, -1) + pX = tcl.XTcl_NewStringObj(tls, ts+16954 /* "test_collate" */, -1) (*Tcl_Obj)(unsafe.Pointer(pX)).FrefCount++ switch encin { case SQLITE_UTF8: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16186 /* "UTF-8" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16967 /* "UTF-8" */, -1)) break case SQLITE_UTF16LE: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16192 /* "UTF-16LE" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16973 /* "UTF-16LE" */, -1)) break case SQLITE_UTF16BE: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16201 /* "UTF-16BE" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16982 /* "UTF-16BE" */, -1)) break default: @@ -62368,7 +63595,7 @@ __2: return TCL_ERROR __3: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16173 /* "test_collate" */, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF8, uintptr(SQLITE_UTF8), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 56 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -62386,7 +63613,7 @@ __3: return TCL_ERROR __5: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16173 /* "test_collate" */, SQLITE_UTF16LE, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF16LE, uintptr(SQLITE_UTF16LE), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 56 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -62404,7 +63631,7 @@ __6: sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* db */)))).Fmutex) pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */))) - sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16173 /* "test_collate" */, uint8(SQLITE_UTF8), uintptr(0)) + sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16954 /* "test_collate" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) if !((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* db */)))).FmallocFailed != 0) { goto __7 @@ -62444,8 +63671,8 @@ __10: return TCL_OK bad_args: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16210 /* " " */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17077 /* "" */) } zCode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -62857,7 +64084,7 @@ func test_bind_zeroblob(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16309 /* "STMT IDX N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17090 /* "STMT IDX N" */) return TCL_ERROR } @@ -62900,7 +64127,7 @@ func test_bind_zeroblob64(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16309 /* "STMT IDX N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17090 /* "STMT IDX N" */) return TCL_ERROR } @@ -62944,8 +64171,8 @@ func test_bind_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var rc int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -63122,8 +64349,8 @@ func test_bind_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -63167,8 +64394,8 @@ func test_bind_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var i int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -63223,16 +64450,16 @@ var aSpecialFp = [10]struct { FiUpper uint32 FiLower uint32 }{ - {FzName: ts + 16334 /* "NaN" */, FiUpper: uint32(0x7fffffff), FiLower: 0xffffffff}, - {FzName: ts + 16338 /* "SNaN" */, FiUpper: uint32(0x7ff7ffff), FiLower: 0xffffffff}, - {FzName: ts + 16343 /* "-NaN" */, FiUpper: 0xffffffff, FiLower: 0xffffffff}, - {FzName: ts + 16348 /* "-SNaN" */, FiUpper: 0xfff7ffff, FiLower: 0xffffffff}, - {FzName: ts + 16354 /* "+Inf" */, FiUpper: uint32(0x7ff00000)}, - {FzName: ts + 16359 /* "-Inf" */, FiUpper: 0xfff00000}, - {FzName: ts + 16364 /* "Epsilon" */, FiLower: uint32(0x00000001)}, - {FzName: ts + 16372 /* "-Epsilon" */, FiUpper: 0x80000000, FiLower: uint32(0x00000001)}, - {FzName: ts + 16381 /* "NaN0" */, FiUpper: uint32(0x7ff80000)}, - {FzName: ts + 16386 /* "-NaN0" */, FiUpper: 0xfff80000}, + {FzName: ts + 17115 /* "NaN" */, FiUpper: uint32(0x7fffffff), FiLower: 0xffffffff}, + {FzName: ts + 17119 /* "SNaN" */, FiUpper: uint32(0x7ff7ffff), FiLower: 0xffffffff}, + {FzName: ts + 17124 /* "-NaN" */, FiUpper: 0xffffffff, FiLower: 0xffffffff}, + {FzName: ts + 17129 /* "-SNaN" */, FiUpper: 0xfff7ffff, FiLower: 0xffffffff}, + {FzName: ts + 17135 /* "+Inf" */, FiUpper: uint32(0x7ff00000)}, + {FzName: ts + 17140 /* "-Inf" */, FiUpper: 0xfff00000}, + {FzName: ts + 17145 /* "Epsilon" */, FiLower: uint32(0x00000001)}, + {FzName: ts + 17153 /* "-Epsilon" */, FiUpper: 0x80000000, FiLower: uint32(0x00000001)}, + {FzName: ts + 17162 /* "NaN0" */, FiUpper: uint32(0x7ff80000)}, + {FzName: ts + 17167 /* "-NaN0" */, FiUpper: 0xfff80000}, } /* test1.c:3724:5 */ // Usage: sqlite3_bind_null STMT N @@ -63251,8 +64478,8 @@ func test_bind_null(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var rc int32 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16392 /* " STMT N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17173 /* " STMT N" */, 0)) return TCL_ERROR } @@ -63296,8 +64523,8 @@ func test_bind_text(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var toFree uintptr = uintptr(0) if objc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16400 /* " STMT N VALUE BY..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17181 /* " STMT N VALUE BY..." */, 0)) return TCL_ERROR } @@ -63367,8 +64594,8 @@ func test_bind_text16(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var oBytes uintptr = *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)) if (objc != 5) && (objc != 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16400 /* " STMT N VALUE BY..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17181 /* " STMT N VALUE BY..." */, 0)) return TCL_ERROR } @@ -63427,8 +64654,8 @@ func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var xDestructor sqlite3_destructor_type = libc.UintptrFromInt32(-1) if (objc != 5) && (objc != 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16420 /* " STMT N DATA BYT..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17201 /* " STMT N DATA BYT..." */, 0)) return TCL_ERROR } @@ -63453,7 +64680,7 @@ func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var zBuf [200]int8 at bp+84, 200 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+84, /* &zBuf[0] */ - ts+16439 /* "cannot use %d bl..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 80 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 76 /* len */)))) + ts+17220 /* "cannot use %d bl..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 80 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 76 /* len */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+84 /* &zBuf[0] */, uintptr(0))) return TCL_ERROR } @@ -63558,52 +64785,52 @@ __7: goto __9 } z = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))) - if !(libc.Xstrcmp(tls, z, ts+16473 /* "-transient" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17254 /* "-transient" */) == 0) { goto __10 } isTransient = 1 xDel = libc.UintptrFromInt32(-1) goto __11 __10: - if !(libc.Xstrcmp(tls, z, ts+16484 /* "-static" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17265 /* "-static" */) == 0) { goto __12 } isStatic = 1 xDel = uintptr(0) goto __13 __12: - if !(libc.Xstrcmp(tls, z, ts+16492 /* "-int32" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17273 /* "-int32" */) == 0) { goto __14 } eType = 0 // CARRAY_INT32 goto __15 __14: - if !(libc.Xstrcmp(tls, z, ts+16499 /* "-int64" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17280 /* "-int64" */) == 0) { goto __16 } eType = 1 // CARRAY_INT64 goto __17 __16: - if !(libc.Xstrcmp(tls, z, ts+16506 /* "-double" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17287 /* "-double" */) == 0) { goto __18 } eType = 2 // CARRAY_DOUBLE goto __19 __18: - if !(libc.Xstrcmp(tls, z, ts+16514 /* "-text" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17295 /* "-text" */) == 0) { goto __20 } eType = 3 // CARRAY_TEXT goto __21 __20: - if !(libc.Xstrcmp(tls, z, ts+16520 /* "--" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17301 /* "--" */) == 0) { goto __22 } goto __9 goto __23 __22: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+12133 /* "unknown option: " */, z, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+12914 /* "unknown option: " */, z, uintptr(0))) return TCL_ERROR __23: ; @@ -63629,7 +64856,7 @@ __9: if !(((eType == 3) && !(isStatic != 0)) && !(isTransient != 0)) { goto __24 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+16523, /* "text data must b..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+17304, /* "text data must b..." */ uintptr(0))) return TCL_ERROR __24: @@ -63637,7 +64864,7 @@ __24: if !((isStatic != 0) && (isTransient != 0)) { goto __25 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+16570, /* "cannot be both -..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+17351, /* "cannot be both -..." */ uintptr(0))) return TCL_ERROR __25: @@ -63645,7 +64872,7 @@ __25: if !((objc - i) < 2) { goto __26 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16608 /* "[OPTIONS] STMT I..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17389 /* "[OPTIONS] STMT I..." */) return TCL_ERROR __26: ; @@ -63866,7 +65093,7 @@ func test_bind_parameter_count(tls *libc.TLS, clientData uintptr, interp uintptr // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -63890,7 +65117,7 @@ func test_bind_parameter_name(tls *libc.TLS, clientData uintptr, interp uintptr, // var i int32 at bp+8, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16642 /* "STMT N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17423 /* "STMT N" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -63915,7 +65142,7 @@ func test_bind_parameter_index(tls *libc.TLS, clientData uintptr, interp uintptr // var pStmt uintptr at bp, 8 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16649 /* "STMT NAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17430 /* "STMT NAME" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -63936,7 +65163,7 @@ func test_clear_bindings(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -63954,7 +65181,7 @@ func test_sleep(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o // var ms int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+12806 /* "MILLISECONDS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+13587 /* "MILLISECONDS" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &ms */) != 0 { @@ -63977,8 +65204,8 @@ func test_ex_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -64002,8 +65229,8 @@ func test_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -64027,8 +65254,8 @@ func test_errmsg(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zErr uintptr if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -64057,8 +65284,8 @@ func test_errmsg16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var bytes int32 = 0 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -64097,8 +65324,8 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var rc int32 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -64130,7 +65357,7 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -64168,8 +65395,8 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -64214,7 +65441,7 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -64254,8 +65481,8 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if (objc != 6) && (objc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16705 /* " DB sql bytes fl..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17486 /* " DB sql bytes fl..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -64301,7 +65528,7 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -64331,8 +65558,8 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -64345,7 +65572,7 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+96 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -64359,7 +65586,7 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj return TCL_OK } -var zSql = *(*[10]int8)(unsafe.Pointer(ts + 16733 /* "\x00SELECT 1" */)) /* test1.c:4623:21 */ +var zSql = *(*[10]int8)(unsafe.Pointer(ts + 17514 /* "\x00SELECT 1" */)) /* test1.c:4623:21 */ // Usage: sqlite3_prepare16 DB sql bytes tailvar // @@ -64386,8 +65613,8 @@ func test_prepare16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -64461,8 +65688,8 @@ func test_prepare16_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -64522,8 +65749,8 @@ func test_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob // var zBuf [100]int8 at bp+56, 100 if ((objc != 3) && (objc != 2)) && (objc != 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16743 /* " filename option..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17524 /* " filename option..." */, 0)) return TCL_ERROR } @@ -64561,7 +65788,7 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var i int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16766 /* "FILENAME FLAGS V..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17547 /* "FILENAME FLAGS V..." */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -64578,29 +65805,29 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var iFlag int32 at bp+352, 4 *(*[20]OpenFlag)(unsafe.Pointer(bp + 32 /* aFlag */)) = [20]OpenFlag{ - {FzFlag: ts + 16785 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READONLY}, - {FzFlag: ts + 16806 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READWRITE}, - {FzFlag: ts + 16828 /* "SQLITE_OPEN_CREA..." */, Fflag: SQLITE_OPEN_CREATE}, - {FzFlag: ts + 16847 /* "SQLITE_OPEN_DELE..." */, Fflag: SQLITE_OPEN_DELETEONCLOSE}, - {FzFlag: ts + 16873 /* "SQLITE_OPEN_EXCL..." */, Fflag: SQLITE_OPEN_EXCLUSIVE}, - {FzFlag: ts + 16895 /* "SQLITE_OPEN_AUTO..." */, Fflag: SQLITE_OPEN_AUTOPROXY}, - {FzFlag: ts + 16917 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_DB}, - {FzFlag: ts + 16937 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_DB}, - {FzFlag: ts + 16957 /* "SQLITE_OPEN_TRAN..." */, Fflag: SQLITE_OPEN_TRANSIENT_DB}, - {FzFlag: ts + 16982 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_JOURNAL}, - {FzFlag: ts + 17007 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_JOURNAL}, - {FzFlag: ts + 17032 /* "SQLITE_OPEN_SUBJ..." */, Fflag: SQLITE_OPEN_SUBJOURNAL}, - {FzFlag: ts + 17055 /* "SQLITE_OPEN_SUPE..." */, Fflag: SQLITE_OPEN_SUPER_JOURNAL}, - {FzFlag: ts + 17081 /* "SQLITE_OPEN_NOMU..." */, Fflag: SQLITE_OPEN_NOMUTEX}, - {FzFlag: ts + 17101 /* "SQLITE_OPEN_FULL..." */, Fflag: SQLITE_OPEN_FULLMUTEX}, - {FzFlag: ts + 17123 /* "SQLITE_OPEN_SHAR..." */, Fflag: SQLITE_OPEN_SHAREDCACHE}, - {FzFlag: ts + 17147 /* "SQLITE_OPEN_PRIV..." */, Fflag: SQLITE_OPEN_PRIVATECACHE}, - {FzFlag: ts + 17172 /* "SQLITE_OPEN_WAL" */, Fflag: SQLITE_OPEN_WAL}, - {FzFlag: ts + 17188 /* "SQLITE_OPEN_URI" */, Fflag: SQLITE_OPEN_URI}, + {FzFlag: ts + 17566 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READONLY}, + {FzFlag: ts + 17587 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READWRITE}, + {FzFlag: ts + 17609 /* "SQLITE_OPEN_CREA..." */, Fflag: SQLITE_OPEN_CREATE}, + {FzFlag: ts + 17628 /* "SQLITE_OPEN_DELE..." */, Fflag: SQLITE_OPEN_DELETEONCLOSE}, + {FzFlag: ts + 17654 /* "SQLITE_OPEN_EXCL..." */, Fflag: SQLITE_OPEN_EXCLUSIVE}, + {FzFlag: ts + 17676 /* "SQLITE_OPEN_AUTO..." */, Fflag: SQLITE_OPEN_AUTOPROXY}, + {FzFlag: ts + 17698 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_DB}, + {FzFlag: ts + 17718 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_DB}, + {FzFlag: ts + 17738 /* "SQLITE_OPEN_TRAN..." */, Fflag: SQLITE_OPEN_TRANSIENT_DB}, + {FzFlag: ts + 17763 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_JOURNAL}, + {FzFlag: ts + 17788 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_JOURNAL}, + {FzFlag: ts + 17813 /* "SQLITE_OPEN_SUBJ..." */, Fflag: SQLITE_OPEN_SUBJOURNAL}, + {FzFlag: ts + 17836 /* "SQLITE_OPEN_SUPE..." */, Fflag: SQLITE_OPEN_SUPER_JOURNAL}, + {FzFlag: ts + 17862 /* "SQLITE_OPEN_NOMU..." */, Fflag: SQLITE_OPEN_NOMUTEX}, + {FzFlag: ts + 17882 /* "SQLITE_OPEN_FULL..." */, Fflag: SQLITE_OPEN_FULLMUTEX}, + {FzFlag: ts + 17904 /* "SQLITE_OPEN_SHAR..." */, Fflag: SQLITE_OPEN_SHAREDCACHE}, + {FzFlag: ts + 17928 /* "SQLITE_OPEN_PRIV..." */, Fflag: SQLITE_OPEN_PRIVATECACHE}, + {FzFlag: ts + 17953 /* "SQLITE_OPEN_WAL" */, Fflag: SQLITE_OPEN_WAL}, + {FzFlag: ts + 17969 /* "SQLITE_OPEN_URI" */, Fflag: SQLITE_OPEN_URI}, {}, } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* apFlag */)) + uintptr(i)*8)), bp+32 /* &aFlag[0] */, int32(unsafe.Sizeof(OpenFlag{})), - ts+17204 /* "flag" */, 0, bp+352 /* &iFlag */) + ts+17985 /* "flag" */, 0, bp+352 /* &iFlag */) if rc != TCL_OK { return rc } @@ -64632,8 +65859,8 @@ func test_open16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zBuf [100]int8 at bp+56, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16743 /* " filename option..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17524 /* " filename option..." */, 0)) return TCL_ERROR } @@ -64655,7 +65882,7 @@ func test_complete16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var zBuf uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17209 /* "" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17990 /* "" */) return TCL_ERROR } @@ -64697,8 +65924,8 @@ func test_step(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -64719,7 +65946,7 @@ func test_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -64739,7 +65966,7 @@ func test_ex_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var z uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -64762,8 +65989,8 @@ func test_column_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var pStmt uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -64789,8 +66016,8 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var tp int32 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -64810,13 +66037,13 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in tcl.XTcl_SetResult(tls, interp, ts+5707 /* "NULL" */, uintptr(0)) break case SQLITE_FLOAT: - tcl.XTcl_SetResult(tls, interp, ts+17235 /* "FLOAT" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18016 /* "FLOAT" */, uintptr(0)) break case SQLITE_TEXT: - tcl.XTcl_SetResult(tls, interp, ts+17241 /* "TEXT" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18022 /* "TEXT" */, uintptr(0)) break case SQLITE_BLOB: - tcl.XTcl_SetResult(tls, interp, ts+17246 /* "BLOB" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18027 /* "BLOB" */, uintptr(0)) break default: @@ -64840,8 +66067,8 @@ func test_column_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var iVal i64 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -64870,8 +66097,8 @@ func test_column_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var pBlob uintptr if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -64902,8 +66129,8 @@ func test_column_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rVal float64 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -64929,8 +66156,8 @@ func test_data_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var pStmt uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -64960,8 +66187,8 @@ func test_stmt_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -65008,8 +66235,8 @@ func test_stmt_utf16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -65051,8 +66278,8 @@ func test_stmt_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -65077,20 +66304,20 @@ func sqlite_set_magic(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // var db uintptr at bp+32, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17251 /* " DB MAGIC" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18032 /* " DB MAGIC" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17261 /* "SQLITE_MAGIC_OPE..." */) == 0 { + if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18042 /* "SQLITE_MAGIC_OPE..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_OPEN - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17279 /* "SQLITE_MAGIC_CLO..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18060 /* "SQLITE_MAGIC_CLO..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_CLOSED - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17299 /* "SQLITE_MAGIC_BUS..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18080 /* "SQLITE_MAGIC_BUS..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_BUSY - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17317 /* "SQLITE_MAGIC_ERR..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18098 /* "SQLITE_MAGIC_ERR..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_ERROR } else if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), (*(*uintptr)(unsafe.Pointer(bp + 32 /* db */))+116 /* &.magic */)) != 0 { return TCL_ERROR @@ -65108,7 +66335,7 @@ func test_interrupt(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -65131,8 +66358,8 @@ func delete_function(tls *libc.TLS, clientData uintptr, interp uintptr, argc int // var db uintptr at bp+32, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17336 /* " DB function-nam..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -65156,8 +66383,8 @@ func delete_collation(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // var db uintptr at bp+32, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17336 /* " DB function-nam..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -65181,8 +66408,8 @@ func get_autocommit(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // var db uintptr at bp+56, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56 /* &db */) != 0 { @@ -65208,8 +66435,8 @@ func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc i // var db uintptr at bp+48, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { @@ -65230,7 +66457,7 @@ func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc i func tcl_variable_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5514:26: */ var pVar uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17354 /* "VARIABLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18135 /* "VARIABLE" */) return TCL_ERROR } pVar = tcl.XTcl_GetVar2Ex(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0), TCL_LEAVE_ERR_MSG) @@ -65256,7 +66483,7 @@ func test_release_memory(tls *libc.TLS, clientData uintptr, interp uintptr, objc var amt int32 if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -65354,7 +66581,7 @@ func test_db_filename(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var zDbName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { @@ -65377,7 +66604,7 @@ func test_db_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var zDbName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -65400,7 +66627,7 @@ func test_soft_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, obj var amt sqlite3_int64 *(*Tcl_WideInt)(unsafe.Pointer(bp /* N */)) = int64(-1) if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -65425,7 +66652,7 @@ func test_hard_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, obj var amt sqlite3_int64 *(*Tcl_WideInt)(unsafe.Pointer(bp /* N */)) = int64(-1) if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -65462,8 +66689,8 @@ func test_pager_refcounts(tls *libc.TLS, clientData uintptr, interp uintptr, obj var pResult uintptr if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -65500,7 +66727,7 @@ func working_64bit_int(tls *libc.TLS, clientData ClientData, interp uintptr, obj var working int32 = 0 pTestObj = tcl.XTcl_NewWideIntObj(tls, (int64(1000000) * int64(1234567890))) - working = (libc.Bool32(libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, pTestObj), ts+17367 /* "1234567890000000" */) == 0)) + working = (libc.Bool32(libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, pTestObj), ts+18148 /* "1234567890000000" */) == 0)) for ok := true; ok; ok = 0 != 0 { if libc.PreDecInt32(&(*Tcl_Obj)(unsafe.Pointer((pTestObj))).FrefCount, 1) <= 0 { tcl.XTclFreeObj(tls, pTestObj) @@ -65529,8 +66756,8 @@ func vfs_unlink_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var two sqlite3_vfs at bp+168, 168 sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(0)) // Unregister of NULL is harmless - (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 17384 /* "__one" */ - (*sqlite3_vfs)(unsafe.Pointer(bp + 168 /* &two */)).FzName = ts + 17390 /* "__two" */ + (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 18165 /* "__one" */ + (*sqlite3_vfs)(unsafe.Pointer(bp + 168 /* &two */)).FzName = ts + 18171 /* "__two" */ // Calling sqlite3_vfs_register with 2nd argument of 0 does not // change the default VFS @@ -65603,7 +66830,7 @@ func vfs_initfail_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj // var one sqlite3_vfs at bp, 168 - (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 17384 /* "__one" */ + (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 18165 /* "__one" */ if sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) != 0 { return TCL_ERROR @@ -65667,8 +66894,8 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj _ = rc if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -65676,7 +66903,7 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), uintptr(0), 0, bp+40 /* &iArg */) - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+17396 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+40 /* &iArg */) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+18177 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+40 /* &iArg */) rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+85 /* "main" */, -1, bp+40 /* &iArg */) @@ -65699,8 +66926,8 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -65712,7 +66939,7 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 72 /* iArg */)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17409, /* "Unexpected non-z..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18190, /* "Unexpected non-z..." */ tcl.XTcl_GetStringFromObj(tls, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 72 /* iArg */))), uintptr(0)), ts+4755 /* " " */, 0)) return TCL_ERROR } @@ -65736,7 +66963,7 @@ func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uint // var zBuf [100]int8 at bp+20, 100 if (objc != 3) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17437 /* "DB [DBNAME]" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18218 /* "DB [DBNAME]" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+8 /* &db */) != 0 { @@ -65753,7 +66980,7 @@ func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uint tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) return TCL_ERROR } else { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+20 /* &zBuf[0] */, ts+17449 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 16 /* iVers */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+20 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 16 /* iVers */)))) tcl.XTcl_SetResult(tls, interp, bp+20 /* zBuf */, uintptr(1)) return TCL_OK } @@ -65777,7 +67004,7 @@ func file_control_chunksize_test(tls *libc.TLS, clientData ClientData, interp ui var rc int32 // file_control() return code if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17452 /* "DB DBNAME SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18233 /* "DB DBNAME SIZE" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || @@ -65813,7 +67040,7 @@ func file_control_sizehint_test(tls *libc.TLS, clientData ClientData, interp uin var rc int32 // file_control() return code if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17452 /* "DB DBNAME SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18233 /* "DB DBNAME SIZE" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || @@ -65845,8 +67072,8 @@ func file_control_lockproxy_test(tls *libc.TLS, clientData ClientData, interp ui // var db uintptr at bp+72, 8 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17467 /* " DB PWD" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18248 /* " DB PWD" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+72 /* &db */) != 0 { @@ -65864,10 +67091,10 @@ func file_control_lockproxy_test(tls *libc.TLS, clientData ClientData, interp ui zPwd = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+80 /* &nPwd */) if uint64(unsafe.Sizeof([400]int8{})) < (uint64(*(*int32)(unsafe.Pointer(bp + 80 /* nPwd */)) + 20)) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17475 /* "PWD too big" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18256 /* "PWD too big" */, uintptr(0))) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([400]int8{})), bp+84 /* &proxyPath[0] */, ts+17487 /* "%s/test.proxy" */, libc.VaList(bp+48, zPwd)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([400]int8{})), bp+84 /* &proxyPath[0] */, ts+18268 /* "%s/test.proxy" */, libc.VaList(bp+48, zPwd)) rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* db */)), uintptr(0), SQLITE_FCNTL_SET_LOCKPROXYFILE, bp+84 /* &proxyPath[0] */) if rc != 0 { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) @@ -65876,7 +67103,7 @@ func file_control_lockproxy_test(tls *libc.TLS, clientData ClientData, interp ui rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* db */)), uintptr(0), SQLITE_FCNTL_GET_LOCKPROXYFILE, bp+488 /* &testPath */) if libc.Xstrncmp(tls, bp+84 /* &proxyPath[0] */, *(*uintptr)(unsafe.Pointer(bp + 488 /* testPath */)), uint64(11)) != 0 { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+56, ts+17501 /* "Lock proxy file ..." */, 0)) + libc.VaList(bp+56, ts+18282 /* "Lock proxy file ..." */, 0)) return TCL_ERROR } if rc != 0 { @@ -65909,8 +67136,8 @@ func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintp // var z [100]int8 at bp+76, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17561 /* " DB FLAG" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18342 /* " DB FLAG" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -65920,7 +67147,7 @@ func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintp return TCL_ERROR } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_PERSIST_WAL, bp+72 /* &bPersist */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+17570 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* bPersist */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+18351 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* bPersist */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+76 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -65941,8 +67168,8 @@ func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, inte // var z [100]int8 at bp+76, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17561 /* " DB FLAG" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18342 /* " DB FLAG" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -65952,7 +67179,7 @@ func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, inte return TCL_ERROR } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_POWERSAFE_OVERWRITE, bp+72 /* &b */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+17570 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* b */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+18351 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* b */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+76 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -65970,8 +67197,8 @@ func file_control_vfsname(tls *libc.TLS, clientData ClientData, interp uintptr, *(*uintptr)(unsafe.Pointer(bp + 56 /* zVfsName */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17576 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18357 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -65998,7 +67225,7 @@ func file_control_reservebytes(tls *libc.TLS, clientData ClientData, interp uint var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17588 /* "DB N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18369 /* "DB N" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || @@ -66024,8 +67251,8 @@ func file_control_tempfilename(tls *libc.TLS, clientData ClientData, interp uint *(*uintptr)(unsafe.Pointer(bp + 56 /* zTName */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17576 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18357 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -66054,8 +67281,8 @@ func file_control_external_reader(tls *libc.TLS, clientData ClientData, interp u var rc int32 = SQLITE_OK if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17576 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18357 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -66108,8 +67335,8 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 var zId uintptr if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17593 /* " DB ID VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18374 /* " DB ID VALUE" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &db */) != 0 { @@ -66131,7 +67358,7 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 Fid int32 _ [4]byte }{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17606 /* "unknown limit ty..." */, zId, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18387 /* "unknown limit ty..." */, zId, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+64 /* &val */) != 0 { @@ -66147,22 +67374,22 @@ var aId = [14]struct { Fid int32 _ [4]byte }{ - {FzName: ts + 17627 /* "SQLITE_LIMIT_LEN..." */}, - {FzName: ts + 17647 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, - {FzName: ts + 17671 /* "SQLITE_LIMIT_COL..." */, Fid: SQLITE_LIMIT_COLUMN}, - {FzName: ts + 17691 /* "SQLITE_LIMIT_EXP..." */, Fid: SQLITE_LIMIT_EXPR_DEPTH}, - {FzName: ts + 17715 /* "SQLITE_LIMIT_COM..." */, Fid: SQLITE_LIMIT_COMPOUND_SELECT}, - {FzName: ts + 17744 /* "SQLITE_LIMIT_VDB..." */, Fid: SQLITE_LIMIT_VDBE_OP}, - {FzName: ts + 17765 /* "SQLITE_LIMIT_FUN..." */, Fid: SQLITE_LIMIT_FUNCTION_ARG}, - {FzName: ts + 17791 /* "SQLITE_LIMIT_ATT..." */, Fid: SQLITE_LIMIT_ATTACHED}, - {FzName: ts + 17813 /* "SQLITE_LIMIT_LIK..." */, Fid: SQLITE_LIMIT_LIKE_PATTERN_LENGTH}, - {FzName: ts + 17846 /* "SQLITE_LIMIT_VAR..." */, Fid: SQLITE_LIMIT_VARIABLE_NUMBER}, - {FzName: ts + 17875 /* "SQLITE_LIMIT_TRI..." */, Fid: SQLITE_LIMIT_TRIGGER_DEPTH}, - {FzName: ts + 17902 /* "SQLITE_LIMIT_WOR..." */, Fid: SQLITE_LIMIT_WORKER_THREADS}, + {FzName: ts + 18408 /* "SQLITE_LIMIT_LEN..." */}, + {FzName: ts + 18428 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, + {FzName: ts + 18452 /* "SQLITE_LIMIT_COL..." */, Fid: SQLITE_LIMIT_COLUMN}, + {FzName: ts + 18472 /* "SQLITE_LIMIT_EXP..." */, Fid: SQLITE_LIMIT_EXPR_DEPTH}, + {FzName: ts + 18496 /* "SQLITE_LIMIT_COM..." */, Fid: SQLITE_LIMIT_COMPOUND_SELECT}, + {FzName: ts + 18525 /* "SQLITE_LIMIT_VDB..." */, Fid: SQLITE_LIMIT_VDBE_OP}, + {FzName: ts + 18546 /* "SQLITE_LIMIT_FUN..." */, Fid: SQLITE_LIMIT_FUNCTION_ARG}, + {FzName: ts + 18572 /* "SQLITE_LIMIT_ATT..." */, Fid: SQLITE_LIMIT_ATTACHED}, + {FzName: ts + 18594 /* "SQLITE_LIMIT_LIK..." */, Fid: SQLITE_LIMIT_LIKE_PATTERN_LENGTH}, + {FzName: ts + 18627 /* "SQLITE_LIMIT_VAR..." */, Fid: SQLITE_LIMIT_VARIABLE_NUMBER}, + {FzName: ts + 18656 /* "SQLITE_LIMIT_TRI..." */, Fid: SQLITE_LIMIT_TRIGGER_DEPTH}, + {FzName: ts + 18683 /* "SQLITE_LIMIT_WOR..." */, Fid: SQLITE_LIMIT_WORKER_THREADS}, // Out of range test cases - {FzName: ts + 17930 /* "SQLITE_LIMIT_TOO..." */, Fid: -1}, - {FzName: ts + 17952 /* "SQLITE_LIMIT_TOO..." */, Fid: (SQLITE_LIMIT_WORKER_THREADS + 1)}, + {FzName: ts + 18711 /* "SQLITE_LIMIT_TOO..." */, Fid: -1}, + {FzName: ts + 18733 /* "SQLITE_LIMIT_TOO..." */, Fid: (SQLITE_LIMIT_WORKER_THREADS + 1)}, } /* test1.c:6595:5 */ // tclcmd: save_prng_state @@ -66212,7 +67439,7 @@ func prng_seed(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, *(*int32)(unsafe.Pointer(bp + 16 /* i */)) = 0 *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17972 /* "SEED ?DB?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18753 /* "SEED ?DB?" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &i */) != 0 { @@ -66237,7 +67464,7 @@ func extra_schema_checks(tls *libc.TLS, clientData ClientData, interp uintptr, o *(*int32)(unsafe.Pointer(bp + 8 /* i */)) = 0 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17982 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18763 /* "BOOLEAN" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &i */) != 0 { @@ -66290,13 +67517,13 @@ func test_pcache_stats(tls *libc.TLS, clientData ClientData, interp uintptr, obj sqlite3.Xsqlite3PcacheStats(tls, bp /* &nCurrent */, bp+4 /* &nMax */, bp+8 /* &nMin */, bp+12 /* &nRecyclable */) pRet = tcl.XTcl_NewObj(tls) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17990 /* "current" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18771 /* "current" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp /* nCurrent */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17998 /* "max" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18779 /* "max" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4 /* nMax */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18002 /* "min" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18783 /* "min" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 8 /* nMin */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18006 /* "recyclable" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18787 /* "recyclable" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 12 /* nRecyclable */)))) tcl.XTcl_SetObjResult(tls, interp, pRet) @@ -66307,7 +67534,7 @@ func test_pcache_stats(tls *libc.TLS, clientData ClientData, interp uintptr, obj func test_unlock_notify_cb(tls *libc.TLS, aArg uintptr, nArg int32) { /* test1.c:6808:13: */ var ii int32 for ii = 0; ii < nArg; ii++ { - tcl.XTcl_EvalEx(tls, *(*uintptr)(unsafe.Pointer(aArg + uintptr(ii)*8)), ts+13372 /* "unlock_notify" */, -1, TCL_EVAL_GLOBAL) + tcl.XTcl_EvalEx(tls, *(*uintptr)(unsafe.Pointer(aArg + uintptr(ii)*8)), ts+14153 /* "unlock_notify" */, -1, TCL_EVAL_GLOBAL) } } @@ -66346,7 +67573,7 @@ func test_wal_checkpoint(tls *libc.TLS, clientData ClientData, interp uintptr, o var rc int32 if (objc != 3) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18017 /* "DB ?NAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18798 /* "DB ?NAME?" */) return TCL_ERROR } @@ -66391,10 +67618,10 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr *(*int32)(unsafe.Pointer(bp + 92 /* nCkpt */)) = -555 var pRet uintptr - *(*[5]uintptr)(unsafe.Pointer(bp + 48 /* aMode */)) = [5]uintptr{ts + 18027 /* "passive" */, ts + 18035 /* "full" */, ts + 18040 /* "restart" */, ts + 18048 /* "truncate" */, uintptr(0)} + *(*[5]uintptr)(unsafe.Pointer(bp + 48 /* aMode */)) = [5]uintptr{ts + 18808 /* "passive" */, ts + 18816 /* "full" */, ts + 18821 /* "restart" */, ts + 18829 /* "truncate" */, uintptr(0)} if (objc != 3) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18057 /* "DB MODE ?NAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18838 /* "DB MODE ?NAME?" */) return TCL_ERROR } @@ -66402,7 +67629,7 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0) || ((TCL_OK != tcl.XTcl_GetIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &eMode */)) && - (TCL_OK != tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &aMode[0] */, ts+18072 /* "mode" */, 0, bp+40 /* &eMode */))) { + (TCL_OK != tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &aMode[0] */, ts+18853 /* "mode" */, 0, bp+40 /* &eMode */))) { return TCL_ERROR } @@ -66439,7 +67666,7 @@ func test_wal_autocheckpoint(tls *libc.TLS, clientData ClientData, interp uintpt // var iVal int32 at bp+8, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18077 /* "DB VALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18858 /* "DB VALUE" */) return TCL_ERROR } @@ -66487,7 +67714,7 @@ func test_sqlite3_log(tls *libc.TLS, clientData ClientData, interp uintptr, objc defer tls.Free(32) if objc > 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11583 /* "SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10650 /* "SCRIPT" */) return TCL_ERROR } if logcallback.FpObj != 0 { @@ -66522,16 +67749,16 @@ func runAsObjProc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var cmdInfo Tcl_CmdInfo at bp+48, 64 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18086 /* "COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18867 /* "COMMAND ..." */) return TCL_ERROR } if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539, /* "command not foun..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } if (*Tcl_CmdInfo)(unsafe.Pointer(bp+48 /* &cmdInfo */)).FobjProc == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18098, /* "command has no o..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18879, /* "command has no o..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } @@ -66576,7 +67803,7 @@ func printExplainQueryPlan(tls *libc.TLS, pStmt uintptr) int32 { /* test1.c:7063 var iFrom int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 2) var zDetail uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 3) - libc.Xprintf(tls, ts+18123 /* "%d %d %d %s\n" */, libc.VaList(bp+8, iSelectid, iOrder, iFrom, zDetail)) + libc.Xprintf(tls, ts+18904 /* "%d %d %d %s\n" */, libc.VaList(bp+8, iSelectid, iOrder, iFrom, zDetail)) } return sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */))) @@ -66590,7 +67817,7 @@ func test_print_eqp(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -66611,10 +67838,10 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i defer tls.Free(184) *(*[4]Verb)(unsafe.Pointer(bp + 64 /* aVerb */)) = [4]Verb{ - {FzName: ts + 18136 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT}, - {FzName: ts + 18168 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_SORTER_MMAP}, - {FzName: ts + 18196 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_IMPOSTER}, - {FzName: ts + 18221 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS}, + {FzName: ts + 18917 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT}, + {FzName: ts + 18949 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_SORTER_MMAP}, + {FzName: ts + 18977 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_IMPOSTER}, + {FzName: ts + 19002 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS}, } // var iVerb int32 at bp+128, 4 @@ -66622,12 +67849,12 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var rc int32 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18256 /* "VERB ARGS..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19037 /* "VERB ARGS..." */) return TCL_ERROR } rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+18269 /* "VERB" */, 0, bp+128 /* &iVerb */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+19050 /* "VERB" */, 0, bp+128 /* &iVerb */) if rc != TCL_OK { return rc } @@ -66653,7 +67880,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var val int32 at bp+144, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18274 /* "ONOFF" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+19055 /* "ONOFF" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+144 /* &val */) != 0 { @@ -66671,7 +67898,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+152, 8 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18280 /* "DB LIMIT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+19061 /* "DB LIMIT" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+152 /* &db */) != 0 { @@ -66695,7 +67922,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+168, 8 if objc != 6 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18289 /* "DB dbName onOff ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+19070 /* "DB dbName onOff ..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+168 /* &db */) != 0 { @@ -66795,7 +68022,7 @@ func test_getrusage(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 libc.Xgetrusage(tls, RUSAGE_SELF, bp+48 /* &r */) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1024]int8{})), bp+192, /* &buf[0] */ - ts+18310, /* "ru_utime=%d.%06d..." */ + ts+19091, /* "ru_utime=%d.%06d..." */ libc.VaList(bp, int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_utime.Ftv_sec), (*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_utime.Ftv_usec, int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_stime.Ftv_sec), (*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_stime.Ftv_usec, int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_minflt), int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_majflt))) @@ -66821,7 +68048,7 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj var mask int32 = 0 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18370 /* "DB OPT BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19151 /* "DB OPT BOOLEAN" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &db */) != 0 { @@ -66849,7 +68076,7 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj Fmask int32 _ [4]byte }{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18385, /* "unknown optimiza..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19166, /* "unknown optimiza..." */ uintptr(0))) for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aOpt)) / uint64(unsafe.Sizeof(struct { FzOptName uintptr @@ -66869,19 +68096,19 @@ var aOpt = [13]struct { Fmask int32 _ [4]byte }{ - {FzOptName: ts + 18426 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, - {FzOptName: ts + 18430 /* "none" */}, - {FzOptName: ts + 18435 /* "query-flattener" */, Fmask: SQLITE_QueryFlattener}, - {FzOptName: ts + 18451 /* "groupby-order" */, Fmask: SQLITE_GroupByOrder}, - {FzOptName: ts + 18465 /* "factor-constants" */, Fmask: SQLITE_FactorOutConst}, - {FzOptName: ts + 18482 /* "distinct-opt" */, Fmask: SQLITE_DistinctOpt}, - {FzOptName: ts + 18495 /* "cover-idx-scan" */, Fmask: SQLITE_CoverIdxScan}, - {FzOptName: ts + 18510 /* "order-by-idx-joi..." */, Fmask: SQLITE_OrderByIdxJoin}, - {FzOptName: ts + 18528 /* "transitive" */, Fmask: SQLITE_Transitive}, - {FzOptName: ts + 18539 /* "omit-noop-join" */, Fmask: SQLITE_OmitNoopJoin}, - {FzOptName: ts + 18554 /* "stat4" */, Fmask: SQLITE_Stat4}, - {FzOptName: ts + 18560 /* "skip-scan" */, Fmask: SQLITE_SkipScan}, - {FzOptName: ts + 18570 /* "push-down" */, Fmask: SQLITE_PushDown}, + {FzOptName: ts + 19207 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, + {FzOptName: ts + 19211 /* "none" */}, + {FzOptName: ts + 19216 /* "query-flattener" */, Fmask: SQLITE_QueryFlattener}, + {FzOptName: ts + 19232 /* "groupby-order" */, Fmask: SQLITE_GroupByOrder}, + {FzOptName: ts + 19246 /* "factor-constants" */, Fmask: SQLITE_FactorOutConst}, + {FzOptName: ts + 19263 /* "distinct-opt" */, Fmask: SQLITE_DistinctOpt}, + {FzOptName: ts + 19276 /* "cover-idx-scan" */, Fmask: SQLITE_CoverIdxScan}, + {FzOptName: ts + 19291 /* "order-by-idx-joi..." */, Fmask: SQLITE_OrderByIdxJoin}, + {FzOptName: ts + 19309 /* "transitive" */, Fmask: SQLITE_Transitive}, + {FzOptName: ts + 19320 /* "omit-noop-join" */, Fmask: SQLITE_OmitNoopJoin}, + {FzOptName: ts + 19335 /* "stat4" */, Fmask: SQLITE_Stat4}, + {FzOptName: ts + 19341 /* "skip-scan" */, Fmask: SQLITE_SkipScan}, + {FzOptName: ts + 19351 /* "push-down" */, Fmask: SQLITE_PushDown}, } /* test1.c:7503:5 */ // load_static_extension DB NAME ... @@ -66899,7 +68126,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr var rc int32 *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)) = uintptr(0) if objc < 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18580 /* "DB NAME ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19361 /* "DB NAME ..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -66919,7 +68146,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr FzExtName uintptr FpInit uintptr }{})))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18592 /* "no such extensio..." */, zName, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19373 /* "no such extensio..." */, zName, uintptr(0))) return TCL_ERROR } if aExtension[i].FpInit != 0 { @@ -66928,7 +68155,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr rc = SQLITE_OK } if ((rc != SQLITE_OK) && (rc != (SQLITE_OK | (int32(1) << 8)))) || (*(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18612 /* "initialization o..." */, zName, ts+18631 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)), + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+19393 /* "initialization o..." */, zName, ts+19412 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)), uintptr(0))) sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */))) return TCL_ERROR @@ -66941,25 +68168,25 @@ var aExtension = [22]struct { FzExtName uintptr FpInit uintptr }{ - {FzExtName: ts + 18641 /* "amatch" */, FpInit: 0}, - {FzExtName: ts + 18648 /* "appendvfs" */, FpInit: 0}, + {FzExtName: ts + 19422 /* "amatch" */, FpInit: 0}, + {FzExtName: ts + 19429 /* "appendvfs" */, FpInit: 0}, {FzExtName: ts + 3921 /* "carray" */, FpInit: 0}, - {FzExtName: ts + 18658 /* "closure" */, FpInit: 0}, + {FzExtName: ts + 19439 /* "closure" */, FpInit: 0}, {FzExtName: ts + 4676 /* "csv" */, FpInit: 0}, {FzExtName: ts + 4699 /* "decimal" */, FpInit: 0}, {FzExtName: ts + 4757 /* "eval" */, FpInit: 0}, {FzExtName: ts + 4835 /* "explain" */, FpInit: 0}, - {FzExtName: ts + 18666 /* "fileio" */, FpInit: 0}, + {FzExtName: ts + 19447 /* "fileio" */, FpInit: 0}, {FzExtName: ts + 5344 /* "fuzzer" */, FpInit: 0}, {FzExtName: ts + 5368 /* "ieee754" */, FpInit: 0}, - {FzExtName: ts + 18673 /* "nextchar" */, FpInit: 0}, + {FzExtName: ts + 19454 /* "nextchar" */, FpInit: 0}, {FzExtName: ts + 5948 /* "percentile" */, FpInit: 0}, {FzExtName: ts + 6023 /* "prefixes" */, FpInit: 0}, {FzExtName: ts + 6335 /* "regexp" */, FpInit: 0}, {FzExtName: ts + 6350 /* "remember" */, FpInit: 0}, - {FzExtName: ts + 18682 /* "series" */, FpInit: 0}, - {FzExtName: ts + 18689 /* "spellfix" */, FpInit: 0}, - {FzExtName: ts + 18698 /* "totype" */, FpInit: 0}, + {FzExtName: ts + 19463 /* "series" */, FpInit: 0}, + {FzExtName: ts + 19470 /* "spellfix" */, FpInit: 0}, + {FzExtName: ts + 19479 /* "totype" */, FpInit: 0}, {FzExtName: ts + 8367 /* "unionvtab" */, FpInit: 0}, {FzExtName: ts + 8909 /* "wholenumber" */, FpInit: 0}, {FzExtName: ts + 9012 /* "zipfile" */, FpInit: 0}, @@ -66974,7 +68201,7 @@ func sorter_test_fakeheap(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var bArg int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18705 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } @@ -67029,7 +68256,7 @@ func sorter_test_sort4_helper(tls *libc.TLS, clientData uintptr, interp uintptr, if !(objc != 5) { goto __1 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18710 /* "DB SQL1 NSTEP SQ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19486 /* "DB SQL1 NSTEP SQ..." */) return TCL_ERROR __1: ; @@ -67067,7 +68294,7 @@ __5: if !(a != sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)), iB)) { goto __8 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18729 /* "data error: (a!=..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19505 /* "data error: (a!=..." */, 0)) return TCL_ERROR __8: ; @@ -67120,14 +68347,14 @@ __14: if !(iCksum1 != iCksum2) { goto __15 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+18748 /* "checksum mismatc..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19524 /* "checksum mismatc..." */, 0)) return TCL_ERROR __15: ; return TCL_OK sql_error: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18766 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19542 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))), 0)) return TCL_ERROR } @@ -67155,7 +68382,7 @@ func test_bad_behavior(tls *libc.TLS, clientData ClientData, interp uintptr, obj var a uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18778 /* "TYPE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19554 /* "TYPE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &iType */) != 0 { @@ -67193,7 +68420,7 @@ func test_bad_behavior(tls *libc.TLS, clientData ClientData, interp uintptr, obj } case 4: { - tcl.XTcl_Panic(tls, ts+18783 /* "Deliberate panic" */, 0) + tcl.XTcl_Panic(tls, ts+19559 /* "Deliberate panic" */, 0) break } @@ -67237,20 +68464,20 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o // var db uintptr at bp+16, 8 if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18800 /* "DB SETTING [VALU..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19576 /* "DB SETTING [VALU..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { return TCL_ERROR } zSetting = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if sqlite3.Xsqlite3_strglob(tls, ts+18819 /* "SQLITE_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19595 /* "SQLITE_*" */, zSetting) == 0 { zSetting += uintptr(7) } - if sqlite3.Xsqlite3_strglob(tls, ts+18828 /* "DBCONFIG_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19604 /* "DBCONFIG_*" */, zSetting) == 0 { zSetting += uintptr(9) } - if sqlite3.Xsqlite3_strglob(tls, ts+18839 /* "ENABLE_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19615 /* "ENABLE_*" */, zSetting) == 0 { zSetting += uintptr(7) } for i = 0; i < (int32(uint64(unsafe.Sizeof(aSetting)) / uint64(unsafe.Sizeof(struct { @@ -67268,7 +68495,7 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o _ [4]byte }{})))) { tcl.XTcl_SetObjResult(tls, interp, - tcl.XTcl_NewStringObj(tls, ts+18848 /* "unknown sqlite3_..." */, -1)) + tcl.XTcl_NewStringObj(tls, ts+19624 /* "unknown sqlite3_..." */, -1)) return TCL_ERROR } if objc == 4 { @@ -67288,20 +68515,20 @@ var aSetting = [14]struct { FeVal int32 _ [4]byte }{ - {FzName: ts + 18882 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, - {FzName: ts + 18887 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, - {FzName: ts + 18895 /* "FTS3_TOKENIZER" */, FeVal: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, - {FzName: ts + 18910 /* "LOAD_EXTENSION" */, FeVal: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, - {FzName: ts + 18925 /* "NO_CKPT_ON_CLOSE" */, FeVal: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, - {FzName: ts + 18942 /* "QPSG" */, FeVal: SQLITE_DBCONFIG_ENABLE_QPSG}, - {FzName: ts + 18947 /* "TRIGGER_EQP" */, FeVal: SQLITE_DBCONFIG_TRIGGER_EQP}, - {FzName: ts + 18959 /* "RESET_DB" */, FeVal: SQLITE_DBCONFIG_RESET_DATABASE}, - {FzName: ts + 18968 /* "DEFENSIVE" */, FeVal: SQLITE_DBCONFIG_DEFENSIVE}, - {FzName: ts + 18978 /* "WRITABLE_SCHEMA" */, FeVal: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, - {FzName: ts + 18994 /* "LEGACY_ALTER_TAB..." */, FeVal: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, - {FzName: ts + 19013 /* "DQS_DML" */, FeVal: SQLITE_DBCONFIG_DQS_DML}, - {FzName: ts + 19021 /* "DQS_DDL" */, FeVal: SQLITE_DBCONFIG_DQS_DDL}, - {FzName: ts + 19029 /* "LEGACY_FILE_FORM..." */, FeVal: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, + {FzName: ts + 19658 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, + {FzName: ts + 19663 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, + {FzName: ts + 19671 /* "FTS3_TOKENIZER" */, FeVal: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, + {FzName: ts + 19686 /* "LOAD_EXTENSION" */, FeVal: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, + {FzName: ts + 19701 /* "NO_CKPT_ON_CLOSE" */, FeVal: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, + {FzName: ts + 19718 /* "QPSG" */, FeVal: SQLITE_DBCONFIG_ENABLE_QPSG}, + {FzName: ts + 19723 /* "TRIGGER_EQP" */, FeVal: SQLITE_DBCONFIG_TRIGGER_EQP}, + {FzName: ts + 19735 /* "RESET_DB" */, FeVal: SQLITE_DBCONFIG_RESET_DATABASE}, + {FzName: ts + 19744 /* "DEFENSIVE" */, FeVal: SQLITE_DBCONFIG_DEFENSIVE}, + {FzName: ts + 19754 /* "WRITABLE_SCHEMA" */, FeVal: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, + {FzName: ts + 19770 /* "LEGACY_ALTER_TAB..." */, FeVal: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, + {FzName: ts + 19789 /* "DQS_DML" */, FeVal: SQLITE_DBCONFIG_DQS_DML}, + {FzName: ts + 19797 /* "DQS_DDL" */, FeVal: SQLITE_DBCONFIG_DQS_DDL}, + {FzName: ts + 19805 /* "LEGACY_FILE_FORM..." */, FeVal: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, } /* test1.c:7986:5 */ // tclcmd: sqlite3_txn_state DB ?SCHEMA? @@ -67319,7 +68546,7 @@ func test_sqlite3_txn_state(tls *libc.TLS, clientData uintptr, interp uintptr, o var iTxn int32 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19048 /* "DB ?SCHEMA?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19824 /* "DB ?SCHEMA?" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -67350,7 +68577,7 @@ func test_dbconfig_maindbname_icecube(tls *libc.TLS, clientData uintptr, interp if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+8 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+19060 /* "icecube" */)) + rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+19836 /* "icecube" */)) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_OK } @@ -67363,7 +68590,7 @@ func test_mmap_warm(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 defer tls.Free(8) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19068 /* "DB ?DBNAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19844 /* "DB ?DBNAME?" */) return TCL_ERROR } else { var rc int32 @@ -67400,7 +68627,7 @@ func test_write_db(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19080 /* "DB OFFSET DATA" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19856 /* "DB OFFSET DATA" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -67470,7 +68697,7 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var x [16]uint32 at bp+232, 64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19095 /* "HEXDB" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19871 /* "HEXDB" */) return TCL_ERROR } zIn = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -67487,17 +68714,17 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i if a == uintptr(0) { // var pgsz int32 at bp+220, 4 - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19101 /* "| size %d pagesi..." */, libc.VaList(bp, bp+216 /* &n */, bp+220 /* &pgsz */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19877 /* "| size %d pagesi..." */, libc.VaList(bp, bp+216 /* &n */, bp+220 /* &pgsz */)) if rc != 2 { continue } if ((*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) < 512) || (*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) > 65536)) || ((*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) - 1)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19123 /* "bad 'pagesize' f..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19899 /* "bad 'pagesize' f..." */, uintptr(0))) return TCL_ERROR } *(*int32)(unsafe.Pointer(bp + 216 /* n */)) = (((*(*int32)(unsafe.Pointer(bp + 216 /* n */)) + *(*int32)(unsafe.Pointer(bp + 220 /* pgsz */))) - 1) & ^(*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) - 1)) // Round n up to the next multiple of pgsz if *(*int32)(unsafe.Pointer(bp + 216 /* n */)) < 512 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19144 /* "bad 'size' field" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19920 /* "bad 'size' field" */, uintptr(0))) return TCL_ERROR } a = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 216 /* n */)))) @@ -67508,12 +68735,12 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i libc.X__builtin___memset_chk(tls, a, 0, uint64(*(*int32)(unsafe.Pointer(bp + 216 /* n */))), libc.X__builtin_object_size(tls, a, 0)) continue } - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19161 /* "| page %d offset..." */, libc.VaList(bp+64, bp+224 /* &j */, bp+228 /* &k */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19937 /* "| page %d offset..." */, libc.VaList(bp+64, bp+224 /* &j */, bp+228 /* &k */)) if rc == 2 { iOffset = *(*int32)(unsafe.Pointer(bp + 228 /* k */)) continue } - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19181, /* "| %d: %x %x %x %..." */ + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19957, /* "| %d: %x %x %x %..." */ libc.VaList(bp+80, bp+224 /* &j */, (bp+232 /* &x */), (bp+232 /* &x */ +1*4), (bp+232 /* &x */ +2*4), (bp+232 /* &x */ +3*4), (bp+232 /* &x */ +4*4), (bp+232 /* &x */ +5*4), (bp+232 /* &x */ +6*4), (bp+232 /* &x */ +7*4), (bp+232 /* &x */ +8*4), (bp+232 /* &x */ +9*4), (bp+232 /* &x */ +10*4), (bp+232 /* &x */ +11*4), (bp+232 /* &x */ +12*4), (bp+232 /* &x */ +13*4), (bp+232 /* &x */ +14*4), (bp+232 /* &x */ +15*4))) if rc == 17 { @@ -67550,58 +68777,58 @@ func Sqlitetest1_Init(tls *libc.TLS, interp uintptr) int32 { /* test1.c:8271:5: tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd1[i].FzName, aObjCmd1[i].FxProc, aObjCmd1[i].FclientData, uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+19235, /* "sqlite_search_co..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20011, /* "sqlite_search_co..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_search_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19255, /* "sqlite_found_cou..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20031, /* "sqlite_found_cou..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_found_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19274, /* "sqlite_sort_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20050, /* "sqlite_sort_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sort_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19292, /* "sqlite3_max_blob..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20068, /* "sqlite3_max_blob..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_max_blobsize)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19313, /* "sqlite_like_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20089, /* "sqlite_like_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_like_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19331, /* "sqlite_interrupt..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20107, /* "sqlite_interrupt..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_interrupt_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19354, /* "sqlite_open_file..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20130, /* "sqlite_open_file..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_open_file_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19377, /* "sqlite_current_t..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20153, /* "sqlite_current_t..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_current_time)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19397, /* "sqlite_hostid_nu..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20173, /* "sqlite_hostid_nu..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_hostid_num)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19415, /* "sqlite3_xferopt_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20191, /* "sqlite3_xferopt_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_xferopt_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19437, /* "sqlite3_pager_re..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20213, /* "sqlite3_pager_re..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_readdb_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19464, /* "sqlite3_pager_wr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20240, /* "sqlite3_pager_wr..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writedb_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19492, /* "sqlite3_pager_wr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20268, /* "sqlite3_pager_wr..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writej_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19519, /* "unaligned_string..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20295, /* "unaligned_string..." */ uintptr(unsafe.Pointer(&unaligned_string_counter)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19544, /* "sqlite_last_need..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20320, /* "sqlite_last_need..." */ uintptr(unsafe.Pointer(&pzNeededCollation)), (TCL_LINK_STRING | TCL_LINK_READ_ONLY)) { - tcl.XTcl_LinkVar(tls, interp, ts+19573, /* "sqlite_query_pla..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20349, /* "sqlite_query_pla..." */ uintptr(unsafe.Pointer(&query_plan)), (TCL_LINK_STRING | TCL_LINK_READ_ONLY)) } - tcl.XTcl_LinkVar(tls, interp, ts+19591, /* "sqlite_opentemp_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20367, /* "sqlite_opentemp_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_opentemp_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19613, /* "sqlite_static_bi..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20389, /* "sqlite_static_bi..." */ uintptr(unsafe.Pointer(&sqlite_static_bind_value)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19638, /* "sqlite_static_bi..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20414, /* "sqlite_static_bi..." */ uintptr(unsafe.Pointer(&sqlite_static_bind_nbyte)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19663, /* "sqlite_temp_dire..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20439, /* "sqlite_temp_dire..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_temp_directory)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19685, /* "sqlite_data_dire..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20461, /* "sqlite_data_dire..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_data_directory)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19707, /* "bitmask_size" */ + tcl.XTcl_LinkVar(tls, interp, ts+20483, /* "bitmask_size" */ uintptr(unsafe.Pointer(&bitmask_size)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) - tcl.XTcl_LinkVar(tls, interp, ts+19720, /* "longdouble_size" */ + tcl.XTcl_LinkVar(tls, interp, ts+20496, /* "longdouble_size" */ uintptr(unsafe.Pointer(&longdouble_size)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) - tcl.XTcl_LinkVar(tls, interp, ts+19736, /* "sqlite_sync_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20512, /* "sqlite_sync_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sync_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19754, /* "sqlite_fullsync_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20530, /* "sqlite_fullsync_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_fullsync_count)), TCL_LINK_INT) return TCL_OK } @@ -67611,227 +68838,227 @@ var aCmd1 = [40]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 19776 /* "db_enter" */, FxProc: 0}, - {FzName: ts + 19785 /* "db_leave" */, FxProc: 0}, - {FzName: ts + 19794 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19814 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19836 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19857 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19877 /* "sqlite3_snprintf..." */, FxProc: 0}, - {FzName: ts + 19898 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19922 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19945 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19968 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19994 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 20017 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 20040 /* "sqlite3_snprintf..." */, FxProc: 0}, - {FzName: ts + 20061 /* "sqlite3_last_ins..." */, FxProc: 0}, - {FzName: ts + 20087 /* "sqlite3_exec_pri..." */, FxProc: 0}, - {FzName: ts + 20107 /* "sqlite3_exec_hex" */, FxProc: 0}, - {FzName: ts + 20124 /* "sqlite3_exec" */, FxProc: 0}, - {FzName: ts + 20137 /* "sqlite3_exec_nr" */, FxProc: 0}, - {FzName: ts + 20153 /* "sqlite3_get_tabl..." */, FxProc: 0}, - {FzName: ts + 20178 /* "sqlite3_close" */, FxProc: 0}, - {FzName: ts + 20192 /* "sqlite3_close_v2" */, FxProc: 0}, - {FzName: ts + 20209 /* "sqlite3_create_f..." */, FxProc: 0}, - {FzName: ts + 20233 /* "sqlite3_create_a..." */, FxProc: 0}, - {FzName: ts + 20258 /* "sqlite3_drop_mod..." */, FxProc: 0}, - {FzName: ts + 20279 /* "sqlite_register_..." */, FxProc: 0}, - {FzName: ts + 20309 /* "sqlite_abort" */, FxProc: 0}, - {FzName: ts + 20322 /* "sqlite_bind" */, FxProc: 0}, - {FzName: ts + 20334 /* "breakpoint" */, FxProc: 0}, - {FzName: ts + 20345 /* "sqlite3_key" */, FxProc: 0}, - {FzName: ts + 20357 /* "sqlite3_rekey" */, FxProc: 0}, - {FzName: ts + 20371 /* "sqlite_set_magic" */, FxProc: 0}, - {FzName: ts + 20388 /* "sqlite3_interrup..." */, FxProc: 0}, - {FzName: ts + 20406 /* "sqlite_delete_fu..." */, FxProc: 0}, - {FzName: ts + 20429 /* "sqlite_delete_co..." */, FxProc: 0}, - {FzName: ts + 20453 /* "sqlite3_get_auto..." */, FxProc: 0}, - {FzName: ts + 20476 /* "sqlite3_busy_tim..." */, FxProc: 0}, - {FzName: ts + 20497 /* "printf" */, FxProc: 0}, - {FzName: ts + 20504 /* "sqlite3IoTrace" */, FxProc: 0}, - {FzName: ts + 20519 /* "clang_sanitize_a..." */, FxProc: 0}, + {FzName: ts + 20552 /* "db_enter" */, FxProc: 0}, + {FzName: ts + 20561 /* "db_leave" */, FxProc: 0}, + {FzName: ts + 20570 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20590 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20612 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20633 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20653 /* "sqlite3_snprintf..." */, FxProc: 0}, + {FzName: ts + 20674 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20698 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20721 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20744 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20770 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20793 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20816 /* "sqlite3_snprintf..." */, FxProc: 0}, + {FzName: ts + 20837 /* "sqlite3_last_ins..." */, FxProc: 0}, + {FzName: ts + 20863 /* "sqlite3_exec_pri..." */, FxProc: 0}, + {FzName: ts + 20883 /* "sqlite3_exec_hex" */, FxProc: 0}, + {FzName: ts + 20900 /* "sqlite3_exec" */, FxProc: 0}, + {FzName: ts + 20913 /* "sqlite3_exec_nr" */, FxProc: 0}, + {FzName: ts + 20929 /* "sqlite3_get_tabl..." */, FxProc: 0}, + {FzName: ts + 20954 /* "sqlite3_close" */, FxProc: 0}, + {FzName: ts + 20968 /* "sqlite3_close_v2" */, FxProc: 0}, + {FzName: ts + 20985 /* "sqlite3_create_f..." */, FxProc: 0}, + {FzName: ts + 21009 /* "sqlite3_create_a..." */, FxProc: 0}, + {FzName: ts + 21034 /* "sqlite3_drop_mod..." */, FxProc: 0}, + {FzName: ts + 21055 /* "sqlite_register_..." */, FxProc: 0}, + {FzName: ts + 21085 /* "sqlite_abort" */, FxProc: 0}, + {FzName: ts + 21098 /* "sqlite_bind" */, FxProc: 0}, + {FzName: ts + 21110 /* "breakpoint" */, FxProc: 0}, + {FzName: ts + 21121 /* "sqlite3_key" */, FxProc: 0}, + {FzName: ts + 21133 /* "sqlite3_rekey" */, FxProc: 0}, + {FzName: ts + 21147 /* "sqlite_set_magic" */, FxProc: 0}, + {FzName: ts + 21164 /* "sqlite3_interrup..." */, FxProc: 0}, + {FzName: ts + 21182 /* "sqlite_delete_fu..." */, FxProc: 0}, + {FzName: ts + 21205 /* "sqlite_delete_co..." */, FxProc: 0}, + {FzName: ts + 21229 /* "sqlite3_get_auto..." */, FxProc: 0}, + {FzName: ts + 21252 /* "sqlite3_busy_tim..." */, FxProc: 0}, + {FzName: ts + 21273 /* "printf" */, FxProc: 0}, + {FzName: ts + 21280 /* "sqlite3IoTrace" */, FxProc: 0}, + {FzName: ts + 21295 /* "clang_sanitize_a..." */, FxProc: 0}, } /* test1.c:8288:5 */ var aObjCmd1 = [161]struct { FzName uintptr FxProc uintptr FclientData uintptr }{ - {FzName: ts + 20542 /* "sqlite3_db_confi..." */, FxProc: 0}, - {FzName: ts + 20560 /* "sqlite3_txn_stat..." */, FxProc: 0}, - {FzName: ts + 20578 /* "bad_behavior" */, FxProc: 0, FclientData: 0}, - {FzName: ts + 20591 /* "register_dbstat_..." */, FxProc: 0}, - {FzName: ts + 20612 /* "sqlite3_connecti..." */, FxProc: 0}, - {FzName: ts + 20639 /* "intarray_addr" */, FxProc: 0}, - {FzName: ts + 20653 /* "int64array_addr" */, FxProc: 0}, - {FzName: ts + 20669 /* "doublearray_addr" */, FxProc: 0}, - {FzName: ts + 20686 /* "textarray_addr" */, FxProc: 0}, - {FzName: ts + 20701 /* "sqlite3_bind_int" */, FxProc: 0}, - {FzName: ts + 20718 /* "sqlite3_bind_zer..." */, FxProc: 0}, - {FzName: ts + 20740 /* "sqlite3_bind_zer..." */, FxProc: 0}, - {FzName: ts + 20764 /* "sqlite3_bind_int..." */, FxProc: 0}, - {FzName: ts + 20783 /* "sqlite3_bind_dou..." */, FxProc: 0}, - {FzName: ts + 20803 /* "sqlite3_bind_nul..." */, FxProc: 0}, - {FzName: ts + 20821 /* "sqlite3_bind_tex..." */, FxProc: 0}, - {FzName: ts + 20839 /* "sqlite3_bind_tex..." */, FxProc: 0}, - {FzName: ts + 20859 /* "sqlite3_bind_blo..." */, FxProc: 0}, - {FzName: ts + 20877 /* "sqlite3_carray_b..." */, FxProc: 0}, - {FzName: ts + 20897 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20926 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20954 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20983 /* "sqlite3_clear_bi..." */, FxProc: 0}, - {FzName: ts + 21006 /* "sqlite3_sleep" */, FxProc: 0}, - {FzName: ts + 21020 /* "sqlite3_errcode" */, FxProc: 0}, - {FzName: ts + 21036 /* "sqlite3_extended..." */, FxProc: 0}, - {FzName: ts + 21061 /* "sqlite3_errmsg" */, FxProc: 0}, - {FzName: ts + 21076 /* "sqlite3_errmsg16" */, FxProc: 0}, - {FzName: ts + 21093 /* "sqlite3_open" */, FxProc: 0}, - {FzName: ts + 21106 /* "sqlite3_open16" */, FxProc: 0}, - {FzName: ts + 21121 /* "sqlite3_open_v2" */, FxProc: 0}, - {FzName: ts + 21137 /* "sqlite3_complete..." */, FxProc: 0}, - {FzName: ts + 21156 /* "sqlite3_normaliz..." */, FxProc: 0}, + {FzName: ts + 21318 /* "sqlite3_db_confi..." */, FxProc: 0}, + {FzName: ts + 21336 /* "sqlite3_txn_stat..." */, FxProc: 0}, + {FzName: ts + 21354 /* "bad_behavior" */, FxProc: 0, FclientData: 0}, + {FzName: ts + 21367 /* "register_dbstat_..." */, FxProc: 0}, + {FzName: ts + 21388 /* "sqlite3_connecti..." */, FxProc: 0}, + {FzName: ts + 21415 /* "intarray_addr" */, FxProc: 0}, + {FzName: ts + 21429 /* "int64array_addr" */, FxProc: 0}, + {FzName: ts + 21445 /* "doublearray_addr" */, FxProc: 0}, + {FzName: ts + 21462 /* "textarray_addr" */, FxProc: 0}, + {FzName: ts + 21477 /* "sqlite3_bind_int" */, FxProc: 0}, + {FzName: ts + 21494 /* "sqlite3_bind_zer..." */, FxProc: 0}, + {FzName: ts + 21516 /* "sqlite3_bind_zer..." */, FxProc: 0}, + {FzName: ts + 21540 /* "sqlite3_bind_int..." */, FxProc: 0}, + {FzName: ts + 21559 /* "sqlite3_bind_dou..." */, FxProc: 0}, + {FzName: ts + 21579 /* "sqlite3_bind_nul..." */, FxProc: 0}, + {FzName: ts + 21597 /* "sqlite3_bind_tex..." */, FxProc: 0}, + {FzName: ts + 21615 /* "sqlite3_bind_tex..." */, FxProc: 0}, + {FzName: ts + 21635 /* "sqlite3_bind_blo..." */, FxProc: 0}, + {FzName: ts + 21653 /* "sqlite3_carray_b..." */, FxProc: 0}, + {FzName: ts + 21673 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21702 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21730 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21759 /* "sqlite3_clear_bi..." */, FxProc: 0}, + {FzName: ts + 21782 /* "sqlite3_sleep" */, FxProc: 0}, + {FzName: ts + 21796 /* "sqlite3_errcode" */, FxProc: 0}, + {FzName: ts + 21812 /* "sqlite3_extended..." */, FxProc: 0}, + {FzName: ts + 21837 /* "sqlite3_errmsg" */, FxProc: 0}, + {FzName: ts + 21852 /* "sqlite3_errmsg16" */, FxProc: 0}, + {FzName: ts + 21869 /* "sqlite3_open" */, FxProc: 0}, + {FzName: ts + 21882 /* "sqlite3_open16" */, FxProc: 0}, + {FzName: ts + 21897 /* "sqlite3_open_v2" */, FxProc: 0}, + {FzName: ts + 21913 /* "sqlite3_complete..." */, FxProc: 0}, + {FzName: ts + 21932 /* "sqlite3_normaliz..." */, FxProc: 0}, - {FzName: ts + 21174 /* "sqlite3_prepare" */, FxProc: 0}, - {FzName: ts + 21190 /* "sqlite3_prepare1..." */, FxProc: 0}, - {FzName: ts + 21208 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21227 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21246 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21270 /* "sqlite3_prepare1..." */, FxProc: 0}, - {FzName: ts + 21291 /* "sqlite3_finalize" */, FxProc: 0}, - {FzName: ts + 21308 /* "sqlite3_stmt_sta..." */, FxProc: 0}, - {FzName: ts + 21328 /* "sqlite3_reset" */, FxProc: 0}, - {FzName: ts + 21342 /* "sqlite3_expired" */, FxProc: 0}, - {FzName: ts + 21358 /* "sqlite3_transfer..." */, FxProc: 0}, - {FzName: ts + 21384 /* "sqlite3_changes" */, FxProc: 0}, - {FzName: ts + 21400 /* "sqlite3_step" */, FxProc: 0}, - {FzName: ts + 21413 /* "sqlite3_sql" */, FxProc: 0}, - {FzName: ts + 21425 /* "sqlite3_expanded..." */, FxProc: 0}, - {FzName: ts + 21446 /* "sqlite3_next_stm..." */, FxProc: 0}, - {FzName: ts + 21464 /* "sqlite3_stmt_rea..." */, FxProc: 0}, - {FzName: ts + 21486 /* "sqlite3_stmt_ise..." */, FxProc: 0}, - {FzName: ts + 21509 /* "sqlite3_stmt_bus..." */, FxProc: 0}, - {FzName: ts + 21527 /* "uses_stmt_journa..." */, FxProc: 0}, + {FzName: ts + 21950 /* "sqlite3_prepare" */, FxProc: 0}, + {FzName: ts + 21966 /* "sqlite3_prepare1..." */, FxProc: 0}, + {FzName: ts + 21984 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 22003 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 22022 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 22046 /* "sqlite3_prepare1..." */, FxProc: 0}, + {FzName: ts + 22067 /* "sqlite3_finalize" */, FxProc: 0}, + {FzName: ts + 22084 /* "sqlite3_stmt_sta..." */, FxProc: 0}, + {FzName: ts + 22104 /* "sqlite3_reset" */, FxProc: 0}, + {FzName: ts + 22118 /* "sqlite3_expired" */, FxProc: 0}, + {FzName: ts + 22134 /* "sqlite3_transfer..." */, FxProc: 0}, + {FzName: ts + 22160 /* "sqlite3_changes" */, FxProc: 0}, + {FzName: ts + 22176 /* "sqlite3_step" */, FxProc: 0}, + {FzName: ts + 22189 /* "sqlite3_sql" */, FxProc: 0}, + {FzName: ts + 22201 /* "sqlite3_expanded..." */, FxProc: 0}, + {FzName: ts + 22222 /* "sqlite3_next_stm..." */, FxProc: 0}, + {FzName: ts + 22240 /* "sqlite3_stmt_rea..." */, FxProc: 0}, + {FzName: ts + 22262 /* "sqlite3_stmt_ise..." */, FxProc: 0}, + {FzName: ts + 22285 /* "sqlite3_stmt_bus..." */, FxProc: 0}, + {FzName: ts + 22303 /* "uses_stmt_journa..." */, FxProc: 0}, - {FzName: ts + 21545 /* "sqlite3_release_..." */, FxProc: 0}, - {FzName: ts + 21568 /* "sqlite3_db_relea..." */, FxProc: 0}, - {FzName: ts + 21594 /* "sqlite3_db_cache..." */, FxProc: 0}, - {FzName: ts + 21616 /* "sqlite3_system_e..." */, FxProc: 0}, - {FzName: ts + 21637 /* "sqlite3_db_filen..." */, FxProc: 0}, - {FzName: ts + 21657 /* "sqlite3_db_reado..." */, FxProc: 0}, - {FzName: ts + 21677 /* "sqlite3_soft_hea..." */, FxProc: 0}, - {FzName: ts + 21701 /* "sqlite3_soft_hea..." */, FxProc: 0}, - {FzName: ts + 21727 /* "sqlite3_hard_hea..." */, FxProc: 0}, - {FzName: ts + 21753 /* "sqlite3_thread_c..." */, FxProc: 0}, - {FzName: ts + 21776 /* "sqlite3_pager_re..." */, FxProc: 0}, + {FzName: ts + 22321 /* "sqlite3_release_..." */, FxProc: 0}, + {FzName: ts + 22344 /* "sqlite3_db_relea..." */, FxProc: 0}, + {FzName: ts + 22370 /* "sqlite3_db_cache..." */, FxProc: 0}, + {FzName: ts + 22392 /* "sqlite3_system_e..." */, FxProc: 0}, + {FzName: ts + 22413 /* "sqlite3_db_filen..." */, FxProc: 0}, + {FzName: ts + 22433 /* "sqlite3_db_reado..." */, FxProc: 0}, + {FzName: ts + 22453 /* "sqlite3_soft_hea..." */, FxProc: 0}, + {FzName: ts + 22477 /* "sqlite3_soft_hea..." */, FxProc: 0}, + {FzName: ts + 22503 /* "sqlite3_hard_hea..." */, FxProc: 0}, + {FzName: ts + 22529 /* "sqlite3_thread_c..." */, FxProc: 0}, + {FzName: ts + 22552 /* "sqlite3_pager_re..." */, FxProc: 0}, - {FzName: ts + 21800 /* "sqlite3_load_ext..." */, FxProc: 0}, - {FzName: ts + 21823 /* "sqlite3_enable_l..." */, FxProc: 0}, - {FzName: ts + 21853 /* "sqlite3_extended..." */, FxProc: 0}, - {FzName: ts + 21883 /* "sqlite3_limit" */, FxProc: 0}, - {FzName: ts + 21897 /* "dbconfig_maindbn..." */, FxProc: 0}, + {FzName: ts + 22576 /* "sqlite3_load_ext..." */, FxProc: 0}, + {FzName: ts + 22599 /* "sqlite3_enable_l..." */, FxProc: 0}, + {FzName: ts + 22629 /* "sqlite3_extended..." */, FxProc: 0}, + {FzName: ts + 22659 /* "sqlite3_limit" */, FxProc: 0}, + {FzName: ts + 22673 /* "dbconfig_maindbn..." */, FxProc: 0}, - {FzName: ts + 21925 /* "save_prng_state" */, FxProc: 0}, - {FzName: ts + 21941 /* "restore_prng_sta..." */, FxProc: 0}, - {FzName: ts + 21960 /* "reset_prng_state" */, FxProc: 0}, - {FzName: ts + 21977 /* "prng_seed" */, FxProc: 0}, - {FzName: ts + 21987 /* "extra_schema_che..." */, FxProc: 0}, - {FzName: ts + 22007 /* "database_never_c..." */, FxProc: 0}, - {FzName: ts + 22030 /* "database_may_be_..." */, FxProc: 0}, - {FzName: ts + 22054 /* "optimization_con..." */, FxProc: 0}, - {FzName: ts + 22075 /* "tcl_objproc" */, FxProc: 0}, + {FzName: ts + 22701 /* "save_prng_state" */, FxProc: 0}, + {FzName: ts + 22717 /* "restore_prng_sta..." */, FxProc: 0}, + {FzName: ts + 22736 /* "reset_prng_state" */, FxProc: 0}, + {FzName: ts + 22753 /* "prng_seed" */, FxProc: 0}, + {FzName: ts + 22763 /* "extra_schema_che..." */, FxProc: 0}, + {FzName: ts + 22783 /* "database_never_c..." */, FxProc: 0}, + {FzName: ts + 22806 /* "database_may_be_..." */, FxProc: 0}, + {FzName: ts + 22830 /* "optimization_con..." */, FxProc: 0}, + {FzName: ts + 22851 /* "tcl_objproc" */, FxProc: 0}, // sqlite3_column_*() API - {FzName: ts + 22087 /* "sqlite3_column_c..." */, FxProc: 0}, - {FzName: ts + 22108 /* "sqlite3_data_cou..." */, FxProc: 0}, - {FzName: ts + 22127 /* "sqlite3_column_t..." */, FxProc: 0}, - {FzName: ts + 22147 /* "sqlite3_column_b..." */, FxProc: 0}, - {FzName: ts + 22167 /* "sqlite3_column_d..." */, FxProc: 0}, - {FzName: ts + 22189 /* "sqlite3_column_i..." */, FxProc: 0}, - {FzName: ts + 22210 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22230 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22250 /* "sqlite3_column_i..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22269 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22290 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22314 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22343 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22369 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22863 /* "sqlite3_column_c..." */, FxProc: 0}, + {FzName: ts + 22884 /* "sqlite3_data_cou..." */, FxProc: 0}, + {FzName: ts + 22903 /* "sqlite3_column_t..." */, FxProc: 0}, + {FzName: ts + 22923 /* "sqlite3_column_b..." */, FxProc: 0}, + {FzName: ts + 22943 /* "sqlite3_column_d..." */, FxProc: 0}, + {FzName: ts + 22965 /* "sqlite3_column_i..." */, FxProc: 0}, + {FzName: ts + 22986 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23006 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23026 /* "sqlite3_column_i..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23045 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23066 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23090 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23119 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23145 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22396 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22419 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22441 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22463 /* "add_alignment_te..." */, FxProc: 0}, - {FzName: ts + 22493 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22519, /* "sqlite3_column_d..." */ + {FzName: ts + 23172 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23195 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23217 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23239 /* "add_alignment_te..." */, FxProc: 0}, + {FzName: ts + 23269 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23295, /* "sqlite3_column_d..." */ FxProc: 0, FclientData: 0}, - {FzName: ts + 22550 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22578 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22607 /* "sqlite3_create_c..." */, FxProc: 0}, - {FzName: ts + 22635 /* "sqlite3_global_r..." */, FxProc: 0}, - {FzName: ts + 22658 /* "working_64bit_in..." */, FxProc: 0}, - {FzName: ts + 22676 /* "vfs_unlink_test" */, FxProc: 0}, - {FzName: ts + 22692 /* "vfs_initfail_tes..." */, FxProc: 0}, - {FzName: ts + 22710 /* "vfs_unregister_a..." */, FxProc: 0}, - {FzName: ts + 22729 /* "vfs_reregister_a..." */, FxProc: 0}, - {FzName: ts + 22748 /* "file_control_tes..." */, FxProc: 0}, - {FzName: ts + 22766 /* "file_control_las..." */, FxProc: 0}, - {FzName: ts + 22794 /* "file_control_loc..." */, FxProc: 0}, - {FzName: ts + 22822 /* "file_control_chu..." */, FxProc: 0}, - {FzName: ts + 22850 /* "file_control_siz..." */, FxProc: 0}, - {FzName: ts + 22877 /* "file_control_dat..." */, FxProc: 0}, - {FzName: ts + 22903 /* "file_control_per..." */, FxProc: 0}, - {FzName: ts + 22928 /* "file_control_pow..." */, FxProc: 0}, - {FzName: ts + 22961 /* "file_control_vfs..." */, FxProc: 0}, - {FzName: ts + 22982 /* "file_control_res..." */, FxProc: 0}, - {FzName: ts + 23008 /* "file_control_tem..." */, FxProc: 0}, - {FzName: ts + 23034 /* "file_control_ext..." */, FxProc: 0}, - {FzName: ts + 23063 /* "sqlite3_vfs_list" */, FxProc: 0}, - {FzName: ts + 23080 /* "sqlite3_create_f..." */, FxProc: 0}, + {FzName: ts + 23326 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23354 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23383 /* "sqlite3_create_c..." */, FxProc: 0}, + {FzName: ts + 23411 /* "sqlite3_global_r..." */, FxProc: 0}, + {FzName: ts + 23434 /* "working_64bit_in..." */, FxProc: 0}, + {FzName: ts + 23452 /* "vfs_unlink_test" */, FxProc: 0}, + {FzName: ts + 23468 /* "vfs_initfail_tes..." */, FxProc: 0}, + {FzName: ts + 23486 /* "vfs_unregister_a..." */, FxProc: 0}, + {FzName: ts + 23505 /* "vfs_reregister_a..." */, FxProc: 0}, + {FzName: ts + 23524 /* "file_control_tes..." */, FxProc: 0}, + {FzName: ts + 23542 /* "file_control_las..." */, FxProc: 0}, + {FzName: ts + 23570 /* "file_control_loc..." */, FxProc: 0}, + {FzName: ts + 23598 /* "file_control_chu..." */, FxProc: 0}, + {FzName: ts + 23626 /* "file_control_siz..." */, FxProc: 0}, + {FzName: ts + 23653 /* "file_control_dat..." */, FxProc: 0}, + {FzName: ts + 23679 /* "file_control_per..." */, FxProc: 0}, + {FzName: ts + 23704 /* "file_control_pow..." */, FxProc: 0}, + {FzName: ts + 23737 /* "file_control_vfs..." */, FxProc: 0}, + {FzName: ts + 23758 /* "file_control_res..." */, FxProc: 0}, + {FzName: ts + 23784 /* "file_control_tem..." */, FxProc: 0}, + {FzName: ts + 23810 /* "file_control_ext..." */, FxProc: 0}, + {FzName: ts + 23839 /* "sqlite3_vfs_list" */, FxProc: 0}, + {FzName: ts + 23856 /* "sqlite3_create_f..." */, FxProc: 0}, // Functions from os.h - {FzName: ts + 23107 /* "add_test_collate" */, FxProc: 0}, - {FzName: ts + 23124 /* "add_test_collate..." */, FxProc: 0}, - {FzName: ts + 23148 /* "add_test_functio..." */, FxProc: 0}, - {FzName: ts + 23166 /* "add_test_utf16bi..." */, FxProc: 0}, - {FzName: ts + 23192 /* "sqlite3_test_err..." */, FxProc: 0}, - {FzName: ts + 23212 /* "tcl_variable_typ..." */, FxProc: 0}, - {FzName: ts + 23230 /* "sqlite3_enable_s..." */, FxProc: 0}, - {FzName: ts + 23258 /* "sqlite3_shared_c..." */, FxProc: 0}, - {FzName: ts + 23286 /* "sqlite3_libversi..." */, FxProc: 0}, - {FzName: ts + 23312 /* "sqlite3_table_co..." */, FxProc: 0}, - {FzName: ts + 23342 /* "sqlite3_blob_reo..." */, FxProc: 0}, - {FzName: ts + 23362 /* "pcache_stats" */, FxProc: 0}, - {FzName: ts + 23375 /* "sqlite3_unlock_n..." */, FxProc: 0}, - {FzName: ts + 23397 /* "sqlite3_wal_chec..." */, FxProc: 0}, - {FzName: ts + 23420 /* "sqlite3_wal_chec..." */, FxProc: 0}, - {FzName: ts + 23446 /* "sqlite3_wal_auto..." */, FxProc: 0}, - {FzName: ts + 23473 /* "test_sqlite3_log" */, FxProc: 0}, - {FzName: ts + 23490 /* "print_explain_qu..." */, FxProc: 0}, - {FzName: ts + 23515 /* "sqlite3_test_con..." */, FxProc: 0}, - {FzName: ts + 23536 /* "getrusage" */, FxProc: 0}, - {FzName: ts + 23546 /* "load_static_exte..." */, FxProc: 0}, - {FzName: ts + 23568 /* "sorter_test_fake..." */, FxProc: 0}, - {FzName: ts + 23589 /* "sorter_test_sort..." */, FxProc: 0}, - {FzName: ts + 23614 /* "vfs_current_time..." */, FxProc: 0}, - {FzName: ts + 23637 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23658 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23680 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23702 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23723 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23748 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23774 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23801 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23827 /* "sqlite3_delete_d..." */, FxProc: 0}, - {FzName: ts + 23851 /* "atomic_batch_wri..." */, FxProc: 0}, - {FzName: ts + 23870 /* "sqlite3_mmap_war..." */, FxProc: 0}, - {FzName: ts + 23888 /* "sqlite3_config_s..." */, FxProc: 0}, - {FzName: ts + 23913 /* "decode_hexdb" */, FxProc: 0}, - {FzName: ts + 23926 /* "test_write_db" */, FxProc: 0}, - {FzName: ts + 23940 /* "sqlite3_register..." */, FxProc: 0}, - {FzName: ts + 23966 /* "sqlite3_unregist..." */, FxProc: 0}, + {FzName: ts + 23883 /* "add_test_collate" */, FxProc: 0}, + {FzName: ts + 23900 /* "add_test_collate..." */, FxProc: 0}, + {FzName: ts + 23924 /* "add_test_functio..." */, FxProc: 0}, + {FzName: ts + 23942 /* "add_test_utf16bi..." */, FxProc: 0}, + {FzName: ts + 23968 /* "sqlite3_test_err..." */, FxProc: 0}, + {FzName: ts + 23988 /* "tcl_variable_typ..." */, FxProc: 0}, + {FzName: ts + 24006 /* "sqlite3_enable_s..." */, FxProc: 0}, + {FzName: ts + 24034 /* "sqlite3_shared_c..." */, FxProc: 0}, + {FzName: ts + 24062 /* "sqlite3_libversi..." */, FxProc: 0}, + {FzName: ts + 24088 /* "sqlite3_table_co..." */, FxProc: 0}, + {FzName: ts + 24118 /* "sqlite3_blob_reo..." */, FxProc: 0}, + {FzName: ts + 24138 /* "pcache_stats" */, FxProc: 0}, + {FzName: ts + 24151 /* "sqlite3_unlock_n..." */, FxProc: 0}, + {FzName: ts + 24173 /* "sqlite3_wal_chec..." */, FxProc: 0}, + {FzName: ts + 24196 /* "sqlite3_wal_chec..." */, FxProc: 0}, + {FzName: ts + 24222 /* "sqlite3_wal_auto..." */, FxProc: 0}, + {FzName: ts + 24249 /* "test_sqlite3_log" */, FxProc: 0}, + {FzName: ts + 24266 /* "print_explain_qu..." */, FxProc: 0}, + {FzName: ts + 24291 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 24312 /* "getrusage" */, FxProc: 0}, + {FzName: ts + 24322 /* "load_static_exte..." */, FxProc: 0}, + {FzName: ts + 24344 /* "sorter_test_fake..." */, FxProc: 0}, + {FzName: ts + 24365 /* "sorter_test_sort..." */, FxProc: 0}, + {FzName: ts + 24390 /* "vfs_current_time..." */, FxProc: 0}, + {FzName: ts + 24413 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24434 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24456 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24478 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24499 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24524 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24550 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24577 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24603 /* "sqlite3_delete_d..." */, FxProc: 0}, + {FzName: ts + 24627 /* "atomic_batch_wri..." */, FxProc: 0}, + {FzName: ts + 24646 /* "sqlite3_mmap_war..." */, FxProc: 0}, + {FzName: ts + 24664 /* "sqlite3_config_s..." */, FxProc: 0}, + {FzName: ts + 24689 /* "decode_hexdb" */, FxProc: 0}, + {FzName: ts + 24702 /* "test_write_db" */, FxProc: 0}, + {FzName: ts + 24716 /* "sqlite3_register..." */, FxProc: 0}, + {FzName: ts + 24742 /* "sqlite3_unregist..." */, FxProc: 0}, } /* test1.c:8336:5 */ var bitmask_size int32 = (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8))) /* test1.c:8564:14 */ var longdouble_size int32 = int32(unsafe.Sizeof(float64(0))) /* test1.c:8565:14 */ -var query_plan uintptr = ts + 23994 /* "*** OBSOLETE VAR..." */ /* test1.c:8637:23 */ +var query_plan uintptr = ts + 24770 /* "*** OBSOLETE VAR..." */ /* test1.c:8637:23 */ // Page size and reserved size used for testing. var test_pagesize int32 = 1024 /* test2.c:31:12 */ @@ -67858,8 +69085,8 @@ func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [100]int8 at bp+92, 100 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24020 /* " FILENAME N-PAGE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24796 /* " FILENAME N-PAGE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72 /* &nPage */) != 0 { @@ -67875,7 +69102,7 @@ func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv sqlite3.Xsqlite3PagerSetCachesize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)), *(*int32)(unsafe.Pointer(bp + 72 /* nPage */))) *(*u32)(unsafe.Pointer(bp + 88 /* pageSize */)) = u32(test_pagesize) sqlite3.Xsqlite3PagerSetPagesize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)), bp+88 /* &pageSize */, -1) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+92 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+92 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+92 /* &zBuf[0] */, 0)) return TCL_OK } @@ -67890,8 +69117,8 @@ func pager_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -67913,8 +69140,8 @@ func pager_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -67936,8 +69163,8 @@ func pager_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -67964,8 +69191,8 @@ func pager_stmt_begin(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -67987,8 +69214,8 @@ func pager_stmt_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -68011,8 +69238,8 @@ func pager_stmt_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -68035,8 +69262,8 @@ func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var i int32 var a uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -68052,8 +69279,8 @@ func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg } var zName = [9]uintptr{ - ts + 24043 /* "ref" */, ts + 24047 /* "page" */, ts + 17998 /* "max" */, ts + 11491 /* "size" */, ts + 10193 /* "state" */, ts + 24052, /* "err" */ - ts + 24056 /* "hit" */, ts + 24060 /* "miss" */, ts + 24065, /* "ovfl" */ + ts + 24819 /* "ref" */, ts + 24823 /* "page" */, ts + 18779 /* "max" */, ts + 12279 /* "size" */, ts + 10193 /* "state" */, ts + 24828, /* "err" */ + ts + 24832 /* "hit" */, ts + 24836 /* "miss" */, ts + 24841, /* "ovfl" */ } /* test2.c:266:17 */ // Usage: pager_pagecount ID @@ -68069,8 +69296,8 @@ func pager_pagecount(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var nPage int32 at bp+56, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -68095,8 +69322,8 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24070 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24846 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -68111,7 +69338,7 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPage */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPage */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &zBuf[0] */, 0)) return TCL_OK } @@ -68131,8 +69358,8 @@ func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // var pgno int32 at bp+56, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24070 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24846 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -68141,7 +69368,7 @@ func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg } pPage = sqlite3.Xsqlite3PagerLookup(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 56 /* pgno */)))) if pPage != 0 { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+32, pPage)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+32, pPage)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+60 /* &zBuf[0] */, 0)) } return TCL_OK @@ -68156,8 +69383,8 @@ func pager_truncate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var pgno int32 at bp+32, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24070 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24846 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -68177,8 +69404,8 @@ func page_unref(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24080 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24856 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -68197,8 +69424,8 @@ func page_read(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24080 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24856 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -68218,8 +69445,8 @@ func page_number(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24080 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24856 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -68239,8 +69466,8 @@ func page_write(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pData uintptr var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24087 /* " PAGE DATA\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24863 /* " PAGE DATA\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -68280,8 +69507,8 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var zFile uintptr var nFile int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24099 /* " N-MEGABYTES FIL..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24875 /* " N-MEGABYTES FIL..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80 /* &n */) != 0 { @@ -68299,17 +69526,17 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a rc = sqlite3.Xsqlite3OsOpenMalloc(tls, pVfs, zFile, bp+88, /* &fd */ ((SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_MAIN_DB), uintptr(0)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24118 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24894 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) sqlite3.Xsqlite3_free(tls, zFile) return TCL_ERROR } offset = i64(*(*int32)(unsafe.Pointer(bp + 80 /* n */))) offset = offset * (int64(1024 * 1024)) - rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* fd */)), ts+24132 /* "Hello, World!" */, 14, offset) + rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* fd */)), ts+24908 /* "Hello, World!" */, 14, offset) sqlite3.Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* fd */))) sqlite3.Xsqlite3_free(tls, zFile) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+24146 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+24922 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -68326,8 +69553,8 @@ func testPendingByte(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24161 /* " PENDING-BYTE\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24937 /* " PENDING-BYTE\"" */, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &pbyte */) != 0 { @@ -68353,7 +69580,7 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ var isNeg int32 var rc int32 if x == 0 { - libc.X__builtin___memcpy_chk(tls, (faultSimScript + uintptr(faultSimScriptSize)), ts+13873 /* "0" */, uint64(2), libc.X__builtin_object_size(tls, (faultSimScript+uintptr(faultSimScriptSize)), 0)) + libc.X__builtin___memcpy_chk(tls, (faultSimScript + uintptr(faultSimScriptSize)), ts+14654 /* "0" */, uint64(2), libc.X__builtin_object_size(tls, (faultSimScript+uintptr(faultSimScriptSize)), 0)) } else { // Convert x to text without using any sqlite3 routines if x < 0 { @@ -68387,7 +69614,7 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ } rc = tcl.XTcl_Eval(tls, faultSimInterp, faultSimScript) if rc != 0 { - libc.Xfprintf(tls, libc.X__stderrp, ts+24176 /* "fault simulator ..." */, libc.VaList(bp, faultSimScript)) + libc.Xfprintf(tls, libc.X__stderrp, ts+24952 /* "fault simulator ..." */, libc.VaList(bp, faultSimScript)) rc = SQLITE_ERROR } else { rc = libc.Xatoi(tls, tcl.XTcl_GetStringResult(tls, faultSimInterp)) @@ -68409,8 +69636,8 @@ func faultInstallCmd(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var nScript int32 var rc int32 if (argc != 1) && (argc != 2) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24212 /* " SCRIPT\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24988 /* " SCRIPT\"" */, uintptr(0))) } if argc == 2 { zScript = *(*uintptr)(unsafe.Pointer(argv + 1*8)) @@ -68456,8 +69683,8 @@ func testBitvecBuiltinTest(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24221 /* " SIZE PROGRAM\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24997 /* " SIZE PROGRAM\"" */, uintptr(0))) } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &sz */) != 0 { return TCL_ERROR @@ -68490,19 +69717,19 @@ func Sqlitetest2_Init(tls *libc.TLS, interp uintptr) int32 { /* test2.c:697:5: * }{}))); i++ { tcl.XTcl_CreateCommand(tls, interp, aCmd2[i].FzName, aCmd2[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+24236, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25012, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_pending)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24260, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25036, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_persist)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24284, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25060, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hit)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24304, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25080, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hardhit)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24328, /* "sqlite_diskfull_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25104, /* "sqlite_diskfull_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull_pending)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24352, /* "sqlite_diskfull" */ + tcl.XTcl_LinkVar(tls, interp, ts+25128, /* "sqlite_diskfull" */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24368, /* "sqlite_pending_b..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25144, /* "sqlite_pending_b..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3PendingByte)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) return TCL_OK } @@ -68511,26 +69738,26 @@ var aCmd2 = [20]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 24388 /* "pager_open" */, FxProc: 0}, - {FzName: ts + 24399 /* "pager_close" */, FxProc: 0}, - {FzName: ts + 24411 /* "pager_commit" */, FxProc: 0}, - {FzName: ts + 24424 /* "pager_rollback" */, FxProc: 0}, - {FzName: ts + 24439 /* "pager_stmt_begin" */, FxProc: 0}, - {FzName: ts + 24456 /* "pager_stmt_commi..." */, FxProc: 0}, - {FzName: ts + 24474 /* "pager_stmt_rollb..." */, FxProc: 0}, - {FzName: ts + 24494 /* "pager_stats" */, FxProc: 0}, - {FzName: ts + 24506 /* "pager_pagecount" */, FxProc: 0}, - {FzName: ts + 24522 /* "page_get" */, FxProc: 0}, - {FzName: ts + 24531 /* "page_lookup" */, FxProc: 0}, - {FzName: ts + 24543 /* "page_unref" */, FxProc: 0}, - {FzName: ts + 24554 /* "page_read" */, FxProc: 0}, - {FzName: ts + 24564 /* "page_write" */, FxProc: 0}, - {FzName: ts + 24575 /* "page_number" */, FxProc: 0}, - {FzName: ts + 24587 /* "pager_truncate" */, FxProc: 0}, - {FzName: ts + 24602 /* "fake_big_file" */, FxProc: 0}, - {FzName: ts + 24616 /* "sqlite3BitvecBui..." */, FxProc: 0}, - {FzName: ts + 24641 /* "sqlite3_test_con..." */, FxProc: 0}, - {FzName: ts + 24675 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 25164 /* "pager_open" */, FxProc: 0}, + {FzName: ts + 25175 /* "pager_close" */, FxProc: 0}, + {FzName: ts + 25187 /* "pager_commit" */, FxProc: 0}, + {FzName: ts + 25200 /* "pager_rollback" */, FxProc: 0}, + {FzName: ts + 25215 /* "pager_stmt_begin" */, FxProc: 0}, + {FzName: ts + 25232 /* "pager_stmt_commi..." */, FxProc: 0}, + {FzName: ts + 25250 /* "pager_stmt_rollb..." */, FxProc: 0}, + {FzName: ts + 25270 /* "pager_stats" */, FxProc: 0}, + {FzName: ts + 25282 /* "pager_pagecount" */, FxProc: 0}, + {FzName: ts + 25298 /* "page_get" */, FxProc: 0}, + {FzName: ts + 25307 /* "page_lookup" */, FxProc: 0}, + {FzName: ts + 25319 /* "page_unref" */, FxProc: 0}, + {FzName: ts + 25330 /* "page_read" */, FxProc: 0}, + {FzName: ts + 25340 /* "page_write" */, FxProc: 0}, + {FzName: ts + 25351 /* "page_number" */, FxProc: 0}, + {FzName: ts + 25363 /* "pager_truncate" */, FxProc: 0}, + {FzName: ts + 25378 /* "fake_big_file" */, FxProc: 0}, + {FzName: ts + 25392 /* "sqlite3BitvecBui..." */, FxProc: 0}, + {FzName: ts + 25417 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 25451 /* "sqlite3_test_con..." */, FxProc: 0}, } /* test2.c:707:5 */ // 2001 September 15 @@ -69307,8 +70534,8 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var n int32 var zFilename uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24710 /* " FILENAME NCACHE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25486 /* " FILENAME NCACHE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72 /* &nCache */) != 0 { @@ -69335,7 +70562,7 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv return TCL_ERROR } sqlite3.Xsqlite3BtreeSetCacheSize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pBt */)), *(*int32)(unsafe.Pointer(bp + 72 /* nCache */))) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pBt */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pBt */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &zBuf[0] */, 0)) return TCL_OK } @@ -69350,8 +70577,8 @@ func btree_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pBt uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -69380,8 +70607,8 @@ func btree_begin_transaction(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg var pBt uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -69407,8 +70634,8 @@ func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var a uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -69438,8 +70665,8 @@ func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 } var zName1 = [11]uintptr{ - ts + 24043 /* "ref" */, ts + 24047 /* "page" */, ts + 17998 /* "max" */, ts + 11491 /* "size" */, ts + 10193 /* "state" */, ts + 24052, /* "err" */ - ts + 24056 /* "hit" */, ts + 24060 /* "miss" */, ts + 24065 /* "ovfl" */, ts + 24734 /* "read" */, ts + 24739, /* "write" */ + ts + 24819 /* "ref" */, ts + 24823 /* "page" */, ts + 18779 /* "max" */, ts + 12279 /* "size" */, ts + 10193 /* "state" */, ts + 24828, /* "err" */ + ts + 24832 /* "hit" */, ts + 24836 /* "miss" */, ts + 24841 /* "ovfl" */, ts + 25510 /* "read" */, ts + 25515, /* "write" */ } /* test3.c:179:17 */ // Usage: btree_cursor ID TABLENUM WRITEABLE @@ -69459,8 +70686,8 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar // var zBuf [30]int8 at bp+80, 30 if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24745 /* " ID TABLENUM WRI..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25521 /* " ID TABLENUM WRI..." */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -69488,7 +70715,7 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+80 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, pCur)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+80 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, pCur)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -69504,8 +70731,8 @@ func btree_close_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -69541,8 +70768,8 @@ func btree_next(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -69576,8 +70803,8 @@ func btree_first(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // var zBuf [100]int8 at bp+76, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -69606,8 +70833,8 @@ func btree_eof(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [50]int8 at bp+56, 50 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -69631,15 +70858,15 @@ func btree_payload_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var zBuf [50]int8 at bp+56, 50 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) n = sqlite3.Xsqlite3BtreePayloadSize(tls, pCur) sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56 /* &zBuf[0] */, ts+17449 /* "%u" */, libc.VaList(bp+32, n)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp+32, n)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+56 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -69678,8 +70905,8 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var zBuf [100]uint8 at bp+200, 100 if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24769 /* " START MULTIPLIE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25545 /* " START MULTIPLIE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+184 /* &start */) != 0 { @@ -69702,20 +70929,20 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 n1 = sqlite3.Xsqlite3PutVarint(tls, bp+200 /* &zBuf[0] */, in) if (n1 > 9) || (n1 < 1) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24804 /* "putVarint return..." */, libc.VaList(bp+32, n1)) + ts+25580 /* "putVarint return..." */, libc.VaList(bp+32, n1)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } n2 = int32(sqlite3.Xsqlite3GetVarint(tls, bp+200 /* &zBuf[0] */, bp+504 /* &out */)) if n1 != n2 { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24854 /* "putVarint return..." */, libc.VaList(bp+56, n1, n2)) + ts+25630 /* "putVarint return..." */, libc.VaList(bp+56, n1, n2)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } if in != *(*u64)(unsafe.Pointer(bp + 504 /* out */)) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24902 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+88, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) + ts+25678 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+88, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+104, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } @@ -69734,14 +70961,14 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 *(*u64)(unsafe.Pointer(bp + 504 /* out */)) = u64(*(*u32)(unsafe.Pointer(bp + 512 /* out32 */))) if n1 != n2 { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24941, /* "putVarint return..." */ + ts+25717, /* "putVarint return..." */ libc.VaList(bp+120, n1, n2)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+136, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } if in != *(*u64)(unsafe.Pointer(bp + 504 /* out */)) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24991, /* "Wrote 0x%016llx ..." */ + ts+25767, /* "Wrote 0x%016llx ..." */ libc.VaList(bp+152, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+168, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR @@ -69779,13 +71006,13 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var iDb int32 = 0 if (argc != 2) && (argc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25047 /* " DB-HANDLE ?N?\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25823 /* " DB-HANDLE ?N?\"" */, 0)) return TCL_ERROR } if 1 != tcl.XTcl_GetCommandInfo(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72 /* &info */) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25063 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25839 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+12415 /* "\"" */, 0)) return TCL_ERROR } if argc == 3 { @@ -69795,7 +71022,7 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 72 /* &info */)).FobjClientData)) pBt = (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpBt - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+136 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+64, pBt)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+136 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, pBt)) tcl.XTcl_SetResult(tls, interp, bp+136 /* &zBuf[0] */, uintptr(1)) return TCL_OK } @@ -69812,8 +71039,8 @@ func btree_ismemdb(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var pFile uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24038 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24814 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -69840,7 +71067,7 @@ func btree_set_cache_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i if argc != 3 { tcl.XTcl_AppendResult(tls, - interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+25084 /* " BT NCACHE\"" */, 0)) + interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+25860 /* " BT NCACHE\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -69869,7 +71096,7 @@ func btree_insert(tls *libc.TLS, clientData ClientData, interp uintptr, objc int // var x BtreePayload at bp+16, 48 if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+25096 /* "?-intkey? CSR KE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+25872 /* "?-intkey? CSR KE..." */) return TCL_ERROR } @@ -69911,7 +71138,7 @@ func Sqlitetest3_Init(tls *libc.TLS, interp uintptr) int32 { /* test3.c:661:5: * tcl.XTcl_CreateCommand(tls, interp, aCmd3[i].FzName, aCmd3[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_CreateObjCommand(tls, interp, ts+25120 /* "btree_insert" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+25896 /* "btree_insert" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{btree_insert})), uintptr(0), uintptr(0)) @@ -69922,20 +71149,20 @@ var aCmd3 = [14]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25133 /* "btree_open" */, FxProc: 0}, - {FzName: ts + 25144 /* "btree_close" */, FxProc: 0}, - {FzName: ts + 25156 /* "btree_begin_tran..." */, FxProc: 0}, - {FzName: ts + 25180 /* "btree_pager_stat..." */, FxProc: 0}, - {FzName: ts + 25198 /* "btree_cursor" */, FxProc: 0}, - {FzName: ts + 25211 /* "btree_close_curs..." */, FxProc: 0}, - {FzName: ts + 25230 /* "btree_next" */, FxProc: 0}, - {FzName: ts + 25241 /* "btree_eof" */, FxProc: 0}, - {FzName: ts + 25251 /* "btree_payload_si..." */, FxProc: 0}, - {FzName: ts + 25270 /* "btree_first" */, FxProc: 0}, - {FzName: ts + 25282 /* "btree_varint_tes..." */, FxProc: 0}, - {FzName: ts + 25300 /* "btree_from_db" */, FxProc: 0}, - {FzName: ts + 25314 /* "btree_ismemdb" */, FxProc: 0}, - {FzName: ts + 25328 /* "btree_set_cache_..." */, FxProc: 0}, + {FzName: ts + 25909 /* "btree_open" */, FxProc: 0}, + {FzName: ts + 25920 /* "btree_close" */, FxProc: 0}, + {FzName: ts + 25932 /* "btree_begin_tran..." */, FxProc: 0}, + {FzName: ts + 25956 /* "btree_pager_stat..." */, FxProc: 0}, + {FzName: ts + 25974 /* "btree_cursor" */, FxProc: 0}, + {FzName: ts + 25987 /* "btree_close_curs..." */, FxProc: 0}, + {FzName: ts + 26006 /* "btree_next" */, FxProc: 0}, + {FzName: ts + 26017 /* "btree_eof" */, FxProc: 0}, + {FzName: ts + 26027 /* "btree_payload_si..." */, FxProc: 0}, + {FzName: ts + 26046 /* "btree_first" */, FxProc: 0}, + {FzName: ts + 26058 /* "btree_varint_tes..." */, FxProc: 0}, + {FzName: ts + 26076 /* "btree_from_db" */, FxProc: 0}, + {FzName: ts + 26090 /* "btree_ismemdb" */, FxProc: 0}, + {FzName: ts + 26104 /* "btree_set_cache_..." */, FxProc: 0}, } /* test3.c:665:5 */ // end block for C++ @@ -70427,7 +71654,7 @@ func parse_thread_id(tls *libc.TLS, interp uintptr, zArg uintptr) int32 { /* tes defer tls.Free(16) if (((zArg == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zArg))) == 0)) || (int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0)) || !(libc.Xisupper(tls, int32(uint8(*(*int8)(unsafe.Pointer(zArg))))) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25349 /* "thread ID must b..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26125 /* "thread ID must b..." */, 0)) return -1 } return (int32(*(*int8)(unsafe.Pointer(zArg))) - 'A') @@ -70447,8 +71674,8 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25388 /* " ID FILENAME" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26164 /* " ID FILENAME" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70456,7 +71683,7 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if threadset[i].Fbusy != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25401 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+25409 /* " is already runn..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26177 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+26185 /* " is already runn..." */, 0)) return TCL_ERROR } threadset[i].Fbusy = 1 @@ -70468,7 +71695,7 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 f func(*libc.TLS, uintptr) uintptr }{test_thread_main})), (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+25429 /* "failed to create..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+26205 /* "failed to create..." */, 0)) sqlite3.Xsqlite3_free(tls, threadset[i].FzFilename) threadset[i].Fbusy = 0 return TCL_ERROR @@ -70494,8 +71721,8 @@ func tcl_thread_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25457 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26233 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70503,7 +71730,7 @@ func tcl_thread_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -70534,8 +71761,8 @@ func tcl_thread_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25457 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26233 /* " ID" */, 0)) return TCL_ERROR } if (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*8))))) == '*') && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*8)) + 1))) == 0) { @@ -70550,7 +71777,7 @@ func tcl_thread_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } test_stop_thread(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -70570,8 +71797,8 @@ func tcl_thread_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25457 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26233 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70579,7 +71806,7 @@ func tcl_thread_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -70600,8 +71827,8 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25476 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26252 /* " ID N" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70609,7 +71836,7 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &n */) != 0 { @@ -70617,7 +71844,7 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25482 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26258 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680 + 80 /* &.argv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*8)), 0)) @@ -70636,8 +71863,8 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25476 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26252 /* " ID N" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70645,7 +71872,7 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &n */) != 0 { @@ -70653,7 +71880,7 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25482 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26258 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680 + 880 /* &.colv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*8)), 0)) @@ -70672,8 +71899,8 @@ func tcl_thread_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var zName uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25457 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26233 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70681,7 +71908,7 @@ func tcl_thread_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -70701,8 +71928,8 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25457 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26233 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70710,7 +71937,7 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -70721,7 +71948,7 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // This procedure runs in the thread to compile an SQL statement. func do_compile(tls *libc.TLS, p uintptr) { /* test4.c:419:13: */ if (*Thread)(unsafe.Pointer(p)).Fdb == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25509 /* "no database is o..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26285 /* "no database is o..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -70741,8 +71968,8 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25529 /* " ID SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26305 /* " ID SQL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70750,7 +71977,7 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -70765,7 +71992,7 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int func do_step(tls *libc.TLS, p uintptr) { /* test4.c:466:13: */ var i int32 if (*Thread)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25537 /* "no virtual machi..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26313 /* "no virtual machi..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -70790,8 +72017,8 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25566 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26342 /* " IDL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70799,7 +72026,7 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -70811,7 +72038,7 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // This procedure runs in the thread to finalize a virtual machine. func do_finalize(tls *libc.TLS, p uintptr) { /* test4.c:517:13: */ if (*Thread)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25537 /* "no virtual machi..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26313 /* "no virtual machi..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -70828,8 +72055,8 @@ func tcl_thread_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25566 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26342 /* " IDL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70837,7 +72064,7 @@ func tcl_thread_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -70859,8 +72086,8 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var j int32 var temp uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25571 /* " ID1 ID2" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26347 /* " ID1 ID2" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70868,7 +72095,7 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -70877,7 +72104,7 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[j].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(j)*1680)) @@ -70900,8 +72127,8 @@ func tcl_thread_db_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var zBuf [100]int8 at bp+64, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25457 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26233 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70909,7 +72136,7 @@ func tcl_thread_db_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -70927,8 +72154,8 @@ func tcl_thread_db_put(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25580 /* " ID DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26356 /* " ID DB" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70936,7 +72163,7 @@ func tcl_thread_db_put(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -70957,8 +72184,8 @@ func tcl_thread_stmt_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in // var zBuf [100]int8 at bp+64, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25457 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26233 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -70966,7 +72193,7 @@ func tcl_thread_stmt_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -70993,21 +72220,21 @@ var aCmd4 = [15]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25587 /* "thread_create" */, FxProc: 0}, - {FzName: ts + 25601 /* "thread_wait" */, FxProc: 0}, - {FzName: ts + 25613 /* "thread_halt" */, FxProc: 0}, - {FzName: ts + 25625 /* "thread_argc" */, FxProc: 0}, - {FzName: ts + 25637 /* "thread_argv" */, FxProc: 0}, - {FzName: ts + 25649 /* "thread_colname" */, FxProc: 0}, - {FzName: ts + 25664 /* "thread_result" */, FxProc: 0}, - {FzName: ts + 25678 /* "thread_error" */, FxProc: 0}, - {FzName: ts + 25691 /* "thread_compile" */, FxProc: 0}, - {FzName: ts + 25706 /* "thread_step" */, FxProc: 0}, - {FzName: ts + 25718 /* "thread_finalize" */, FxProc: 0}, - {FzName: ts + 25734 /* "thread_swap" */, FxProc: 0}, - {FzName: ts + 25746 /* "thread_db_get" */, FxProc: 0}, - {FzName: ts + 25760 /* "thread_db_put" */, FxProc: 0}, - {FzName: ts + 25774 /* "thread_stmt_get" */, FxProc: 0}, + {FzName: ts + 26363 /* "thread_create" */, FxProc: 0}, + {FzName: ts + 26377 /* "thread_wait" */, FxProc: 0}, + {FzName: ts + 26389 /* "thread_halt" */, FxProc: 0}, + {FzName: ts + 26401 /* "thread_argc" */, FxProc: 0}, + {FzName: ts + 26413 /* "thread_argv" */, FxProc: 0}, + {FzName: ts + 26425 /* "thread_colname" */, FxProc: 0}, + {FzName: ts + 26440 /* "thread_result" */, FxProc: 0}, + {FzName: ts + 26454 /* "thread_error" */, FxProc: 0}, + {FzName: ts + 26467 /* "thread_compile" */, FxProc: 0}, + {FzName: ts + 26482 /* "thread_step" */, FxProc: 0}, + {FzName: ts + 26494 /* "thread_finalize" */, FxProc: 0}, + {FzName: ts + 26510 /* "thread_swap" */, FxProc: 0}, + {FzName: ts + 26522 /* "thread_db_get" */, FxProc: 0}, + {FzName: ts + 26536 /* "thread_db_put" */, FxProc: 0}, + {FzName: ts + 26550 /* "thread_stmt_get" */, FxProc: 0}, } /* test4.c:700:5 */ // end block for C++ @@ -71164,8 +72391,8 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var val Mem at bp+40, 56 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+25790 /* " ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+26566 /* " ..." */, 0)) return TCL_ERROR } @@ -71177,7 +72404,7 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc } (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fflags = (u16((MEM_Str | MEM_Term) | MEM_Static)) - (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fz = ts + 25817 /* "hello world" */ + (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fz = ts + 26593 /* "hello world" */ (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fenc = u8(SQLITE_UTF8) for i = 0; i < *(*int32)(unsafe.Pointer(bp + 32 /* repeat_count */)); i++ { @@ -71194,10 +72421,10 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 defer tls.Free(104) *(*[5]EncName)(unsafe.Pointer(bp + 24 /* encnames */)) = [5]EncName{ - {FzName: ts + 25829 /* "UTF8" */, Fenc: u8(SQLITE_UTF8)}, - {FzName: ts + 25834 /* "UTF16LE" */, Fenc: u8(SQLITE_UTF16LE)}, - {FzName: ts + 25842 /* "UTF16BE" */, Fenc: u8(SQLITE_UTF16BE)}, - {FzName: ts + 25850 /* "UTF16" */, Fenc: u8(SQLITE_UTF16)}, + {FzName: ts + 26605 /* "UTF8" */, Fenc: u8(SQLITE_UTF8)}, + {FzName: ts + 26610 /* "UTF16LE" */, Fenc: u8(SQLITE_UTF16LE)}, + {FzName: ts + 26618 /* "UTF16BE" */, Fenc: u8(SQLITE_UTF16BE)}, + {FzName: ts + 26626 /* "UTF16" */, Fenc: u8(SQLITE_UTF16)}, {}, } var pEnc uintptr @@ -71208,7 +72435,7 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 } } if !(int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25856 /* "No such encoding..." */, z, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26632 /* "No such encoding..." */, z, 0)) } if int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) == SQLITE_UTF16 { return u8(SQLITE_UTF16LE) @@ -71237,9 +72464,9 @@ func test_translate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var xDel uintptr = uintptr(0) if (objc != 4) && (objc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), - ts+25875 /* " <..." */, 0)) + ts+26651 /* " <..." */, 0)) return TCL_ERROR } if objc == 5 { @@ -71308,10 +72535,10 @@ var aCmd5 = [4]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25910 /* "binarize" */, FxProc: 0}, - {FzName: ts + 25919 /* "test_value_overh..." */, FxProc: 0}, - {FzName: ts + 25939 /* "test_translate" */, FxProc: 0}, - {FzName: ts + 25954 /* "translate_selfte..." */, FxProc: 0}, + {FzName: ts + 26686 /* "binarize" */, FxProc: 0}, + {FzName: ts + 26695 /* "test_value_overh..." */, FxProc: 0}, + {FzName: ts + 26715 /* "test_translate" */, FxProc: 0}, + {FzName: ts + 26730 /* "translate_selfte..." */, FxProc: 0}, } /* test5.c:209:5 */ // end block for C++ @@ -71565,7 +72792,7 @@ func writeListAppend(tls *libc.TLS, pFile uintptr, iOffset sqlite3_int64, zBuf u pNew = crash_malloc(tls, (int32(uint64(unsafe.Sizeof(WriteBuffer{})) + uint64(nBuf)))) if pNew == uintptr(0) { - libc.Xfprintf(tls, libc.X__stderrp, ts+25973 /* "out of memory in..." */, 0) + libc.Xfprintf(tls, libc.X__stderrp, ts+26749 /* "out of memory in..." */, 0) } libc.X__builtin___memset_chk(tls, pNew, 0, (uint64(unsafe.Sizeof(WriteBuffer{})) + uint64(nBuf)), libc.X__builtin_object_size(tls, pNew, 0)) (*WriteBuffer)(unsafe.Pointer(pNew)).FiOffset = iOffset @@ -71883,19 +73110,19 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, defer tls.Free(316) *(*[14]DeviceFlag)(unsafe.Pointer(bp + 88 /* aFlag */)) = [14]DeviceFlag{ - {FzName: ts + 26011 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, - {FzName: ts + 26018 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, - {FzName: ts + 26028 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, - {FzName: ts + 26037 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, - {FzName: ts + 26046 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, - {FzName: ts + 26055 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, - {FzName: ts + 26064 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, - {FzName: ts + 26074 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, - {FzName: ts + 26084 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, - {FzName: ts + 26094 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, - {FzName: ts + 26105 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, - {FzName: ts + 26117 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, - {FzName: ts + 26137 /* "batch-atomic" */, FiValue: SQLITE_IOCAP_BATCH_ATOMIC}, + {FzName: ts + 26787 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, + {FzName: ts + 26794 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, + {FzName: ts + 26804 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, + {FzName: ts + 26813 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, + {FzName: ts + 26822 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, + {FzName: ts + 26831 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, + {FzName: ts + 26840 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, + {FzName: ts + 26850 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, + {FzName: ts + 26860 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, + {FzName: ts + 26870 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, + {FzName: ts + 26881 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, + {FzName: ts + 26893 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, + {FzName: ts + 26913 /* "batch-atomic" */, FiValue: SQLITE_IOCAP_BATCH_ATOMIC}, {}, } var i int32 @@ -71909,15 +73136,15 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, var zOpt uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+64 /* &nOpt */) - if (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26150 /* "-sectorsize" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) && - (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26162 /* "-characteristics" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) { + if (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26926 /* "-sectorsize" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) && + (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26938 /* "-characteristics" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+26179 /* "Bad option: \"" */, zOpt, - ts+26193 /* "\" - must be \"-ch..." */, 0)) + libc.VaList(bp, ts+26955 /* "Bad option: \"" */, zOpt, + ts+26969 /* "\" - must be \"-ch..." */, 0)) return TCL_ERROR } if i == (objc - 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26241 /* "Option requires ..." */, zOpt, ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+27017 /* "Option requires ..." */, zOpt, ts+12415 /* "\"" */, 0)) return TCL_ERROR } @@ -71944,7 +73171,7 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, tcl.XTcl_UtfToLower(tls, tcl.XTcl_GetString(tls, pFlag)) rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, pFlag, bp+88 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+26272 /* "no such flag" */, 0, bp+312 /* &iChoice */) + interp, pFlag, bp+88 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+27048 /* "no such flag" */, 0, bp+312 /* &iChoice */) for ok := true; ok; ok = 0 != 0 { if libc.PreDecInt32(&(*Tcl_Obj)(unsafe.Pointer((pFlag))).FrefCount, 1) <= 0 { tcl.XTclFreeObj(tls, pFlag) @@ -72003,7 +73230,7 @@ func crashEnableCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 *(*int32)(unsafe.Pointer(bp + 4 /* isDefault */)) = 0 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26285 /* "ENABLE ?DEFAULT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27061 /* "ENABLE ?DEFAULT?" */) return TCL_ERROR } @@ -72034,7 +73261,7 @@ func crashEnableCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var crashVfs = sqlite3_vfs{ FiVersion: 2, // pNext - FzName: ts + 26302, /* "crash" */ // pAppData + FzName: ts + 27078, /* "crash" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -72085,7 +73312,7 @@ func crashParamsObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc i if !(objc < 3) { goto __1 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26308 /* "?OPTIONS? DELAY ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27084 /* "?OPTIONS? DELAY ..." */) goto error __1: ; @@ -72094,7 +73321,7 @@ __1: if !(uint64(*(*int32)(unsafe.Pointer(bp + 32 /* nCrashFile */))) >= uint64(unsafe.Sizeof([500]int8{}))) { goto __2 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26334 /* "Filename is too ..." */, zCrashFile, ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27110 /* "Filename is too ..." */, zCrashFile, ts+12415 /* "\"" */, 0)) goto error __2: ; @@ -72157,7 +73384,7 @@ func writeCrashObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc in *(*int32)(unsafe.Pointer(bp /* nWrite */)) = 0 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26358 /* "NWRITE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27134 /* "NWRITE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nWrite */) != 0 { @@ -72188,14 +73415,14 @@ func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj var zParent uintptr = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26365 /* "?-default? PAREN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27141 /* "?-default? PAREN..." */) return TCL_ERROR } zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) if objc == 3 { - if libc.Xstrcmp(tls, zParent, ts+26387 /* "-default" */) != 0 { + if libc.Xstrcmp(tls, zParent, ts+27163 /* "-default" */) != 0 { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+11533 /* "bad option \"" */, zParent, ts+26396 /* "\": must be -defa..." */, 0)) + libc.VaList(bp, ts+12321 /* "bad option \"" */, zParent, ts+27172 /* "\": must be -defa..." */, 0)) return TCL_ERROR } zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) @@ -72205,7 +73432,7 @@ func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj zParent = uintptr(0) } if jt_register(tls, zParent, (libc.Bool32(objc == 3))) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26416 /* "Error in jt_regi..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+27192 /* "Error in jt_regi..." */, 0)) return TCL_ERROR } @@ -72226,28 +73453,28 @@ func jtUnregisterObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc // This procedure registers the TCL procedures defined in this file. func Sqlitetest6_Init(tls *libc.TLS, interp uintptr) int32 { /* test6.c:1093:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+26437 /* "sqlite3_crash_en..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27213 /* "sqlite3_crash_en..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashEnableCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26458 /* "sqlite3_crashpar..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27234 /* "sqlite3_crashpar..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashParamsObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26478 /* "sqlite3_crash_no..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27254 /* "sqlite3_crash_no..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashNowCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26496 /* "sqlite3_simulate..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27272 /* "sqlite3_simulate..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{devSymObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26520 /* "sqlite3_crash_on..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27296 /* "sqlite3_crash_on..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{writeCrashObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26543 /* "unregister_devsi..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27319 /* "unregister_devsi..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{dsUnregisterObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26561 /* "register_jt_vfs" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27337 /* "register_jt_vfs" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{jtObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26577 /* "unregister_jt_vf..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27353 /* "unregister_jt_vf..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{jtUnregisterObjCmd})), uintptr(0), uintptr(0)) return TCL_OK @@ -72332,7 +73559,7 @@ func parse_client_id(tls *libc.TLS, interp uintptr, zArg uintptr) int32 { /* tes defer tls.Free(16) if (((zArg == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zArg))) == 0)) || (int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0)) || !(libc.Xisupper(tls, int32(uint8(*(*int8)(unsafe.Pointer(zArg))))) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25349 /* "thread ID must b..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26125 /* "thread ID must b..." */, 0)) return -1 } return (int32(*(*int8)(unsafe.Pointer(zArg))) - 'A') @@ -72352,8 +73579,8 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25388 /* " ID FILENAME" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26164 /* " ID FILENAME" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -72361,7 +73588,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if threadset1[i].Fbusy != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25401 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+25409 /* " is already runn..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26177 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+26185 /* " is already runn..." */, 0)) return TCL_ERROR } threadset1[i].Fbusy = 1 @@ -72373,7 +73600,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 f func(*libc.TLS, uintptr) uintptr }{client_main})), (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+25429 /* "failed to create..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+26205 /* "failed to create..." */, 0)) sqlite3.Xsqlite3_free(tls, threadset1[i].FzFilename) threadset1[i].Fbusy = 0 return TCL_ERROR @@ -72403,8 +73630,8 @@ func tcl_client_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25457 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26233 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -72412,7 +73639,7 @@ func tcl_client_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -72443,8 +73670,8 @@ func tcl_client_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25457 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26233 /* " ID" */, 0)) return TCL_ERROR } if (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*8))))) == '*') && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*8)) + 1))) == 0) { @@ -72459,7 +73686,7 @@ func tcl_client_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } stop_thread(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -72494,8 +73721,8 @@ func tcl_client_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25457 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26233 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -72503,7 +73730,7 @@ func tcl_client_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -72524,8 +73751,8 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25476 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26252 /* " ID N" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -72533,7 +73760,7 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &n */) != 0 { @@ -72541,7 +73768,7 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset1[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25482 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26258 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688 + 80 /* &.argv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*8)), 0)) @@ -72560,8 +73787,8 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25476 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26252 /* " ID N" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -72569,7 +73796,7 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &n */) != 0 { @@ -72577,7 +73804,7 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset1[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25482 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26258 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688 + 880 /* &.colv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*8)), 0)) @@ -72596,8 +73823,8 @@ func tcl_client_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var zName uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25457 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26233 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -72605,7 +73832,7 @@ func tcl_client_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -72625,8 +73852,8 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25457 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26233 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -72634,7 +73861,7 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -72645,7 +73872,7 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // This procedure runs in the thread to compile an SQL statement. func do_compile1(tls *libc.TLS, p uintptr) { /* test7.c:466:13: */ if (*Thread1)(unsafe.Pointer(p)).Fdb == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25509 /* "no database is o..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26285 /* "no database is o..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -72665,8 +73892,8 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25529 /* " ID SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26305 /* " ID SQL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -72674,7 +73901,7 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -72689,7 +73916,7 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int func do_step1(tls *libc.TLS, p uintptr) { /* test7.c:513:13: */ var i int32 if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25537 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26313 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -72714,8 +73941,8 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25566 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26342 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -72723,7 +73950,7 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -72735,7 +73962,7 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // This procedure runs in the thread to finalize a virtual machine. func do_finalize1(tls *libc.TLS, p uintptr) { /* test7.c:564:13: */ if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25537 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26313 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -72752,8 +73979,8 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25566 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26342 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -72761,7 +73988,7 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -72775,7 +74002,7 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in // This procedure runs in the thread to reset a virtual machine. func do_reset(tls *libc.TLS, p uintptr) { /* test7.c:608:13: */ if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25537 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26313 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -72792,8 +74019,8 @@ func tcl_client_reset(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25566 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26342 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -72801,7 +74028,7 @@ func tcl_client_reset(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -72823,8 +74050,8 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var j int32 var temp uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25571 /* " ID1 ID2" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26347 /* " ID1 ID2" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -72832,7 +74059,7 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -72841,7 +74068,7 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[j].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25461 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26237 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(j)*1688)) @@ -72868,19 +74095,19 @@ var aCmd6 = [13]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 26595 /* "client_create" */, FxProc: 0}, - {FzName: ts + 26609 /* "client_wait" */, FxProc: 0}, - {FzName: ts + 26621 /* "client_halt" */, FxProc: 0}, - {FzName: ts + 26633 /* "client_argc" */, FxProc: 0}, - {FzName: ts + 26645 /* "client_argv" */, FxProc: 0}, - {FzName: ts + 26657 /* "client_colname" */, FxProc: 0}, - {FzName: ts + 26672 /* "client_result" */, FxProc: 0}, - {FzName: ts + 26686 /* "client_error" */, FxProc: 0}, - {FzName: ts + 26699 /* "client_compile" */, FxProc: 0}, - {FzName: ts + 26714 /* "client_step" */, FxProc: 0}, - {FzName: ts + 26726 /* "client_reset" */, FxProc: 0}, - {FzName: ts + 26739 /* "client_finalize" */, FxProc: 0}, - {FzName: ts + 26755 /* "client_swap" */, FxProc: 0}, + {FzName: ts + 27371 /* "client_create" */, FxProc: 0}, + {FzName: ts + 27385 /* "client_wait" */, FxProc: 0}, + {FzName: ts + 27397 /* "client_halt" */, FxProc: 0}, + {FzName: ts + 27409 /* "client_argc" */, FxProc: 0}, + {FzName: ts + 27421 /* "client_argv" */, FxProc: 0}, + {FzName: ts + 27433 /* "client_colname" */, FxProc: 0}, + {FzName: ts + 27448 /* "client_result" */, FxProc: 0}, + {FzName: ts + 27462 /* "client_error" */, FxProc: 0}, + {FzName: ts + 27475 /* "client_compile" */, FxProc: 0}, + {FzName: ts + 27490 /* "client_step" */, FxProc: 0}, + {FzName: ts + 27502 /* "client_reset" */, FxProc: 0}, + {FzName: ts + 27515 /* "client_finalize" */, FxProc: 0}, + {FzName: ts + 27531 /* "client_swap" */, FxProc: 0}, } /* test7.c:694:5 */ // end block for C++ @@ -73144,10 +74371,10 @@ func simulateVtabError(tls *libc.TLS, p uintptr, zMethod uintptr) int32 { /* tes // var zVarname [128]int8 at bp+24, 128 *(*int8)(unsafe.Pointer(bp + 24 /* &zVarname[0] */ + 127)) = int8(0) - sqlite3.Xsqlite3_snprintf(tls, 127, bp+24 /* &zVarname[0] */, ts+26767 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) + sqlite3.Xsqlite3_snprintf(tls, 127, bp+24 /* &zVarname[0] */, ts+27543 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) zErr = tcl.XTcl_GetVar(tls, (*echo_vtab)(unsafe.Pointer(p)).Finterp, bp+24 /* &zVarname[0] */, TCL_GLOBAL_ONLY) if zErr != 0 { - (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26791 /* "echo-vtab-error:..." */, libc.VaList(bp+16, zErr)) + (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27567 /* "echo-vtab-error:..." */, libc.VaList(bp+16, zErr)) } return (libc.Bool32(zErr != uintptr(0))) } @@ -73231,7 +74458,7 @@ func getColumnNames(tls *libc.TLS, db uintptr, zTab uintptr, paCol uintptr, pnCo // Prepare the statement "SELECT * FROM ". The column names // of the result set of the compiled SELECT will be the same as // the column names of table . - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26811 /* "SELECT * FROM %Q" */, libc.VaList(bp, zTab)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27587 /* "SELECT * FROM %Q" */, libc.VaList(bp, zTab)) if !(!(zSql != 0)) { goto __1 } @@ -73348,7 +74575,7 @@ __1: ; // Compile an sqlite pragma to loop through all indices on table zTab - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26828 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTab)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27604 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTab)) if !(!(zSql != 0)) { goto __2 } @@ -73373,7 +74600,7 @@ __3: goto __3 __5: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26850 /* "PRAGMA index_inf..." */, libc.VaList(bp+8, zIdx)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27626 /* "PRAGMA index_inf..." */, libc.VaList(bp+8, zIdx)) if !(!(zSql != 0)) { goto __6 } @@ -73435,7 +74662,7 @@ __12: // the string element zArg to that list in interpreter interp. func appendToEchoModule(tls *libc.TLS, interp uintptr, zArg uintptr) { /* test8.c:313:13: */ var flags int32 = ((TCL_APPEND_VALUE | TCL_LIST_ELEMENT) | TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar(tls, interp, ts+26872 /* "echo_module" */, func() uintptr { + tcl.XTcl_SetVar(tls, interp, ts+27648 /* "echo_module" */, func() uintptr { if zArg != 0 { return zArg } @@ -73467,7 +74694,7 @@ func echoDeclareVtab(tls *libc.TLS, pVtab uintptr, db uintptr) int32 { /* test8. if (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0 { *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) = uintptr(0) rc = sqlite3.Xsqlite3_prepare(tls, db, - ts+26884, /* "SELECT sql FROM ..." */ + ts+27660, /* "SELECT sql FROM ..." */ -1, bp /* &pStmt */, uintptr(0)) if rc == SQLITE_OK { sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 1, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName, -1, uintptr(0)) @@ -73548,7 +74775,7 @@ func echoConstructor(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) dequoteString(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) if ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0) && (int32(*(*int8)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))) == '*') { - var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+26948 /* "%s%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) + var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27724 /* "%s%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) sqlite3.Xsqlite3_free(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = z (*echo_vtab)(unsafe.Pointer(pVtab)).FisPattern = 1 @@ -73584,7 +74811,7 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt defer tls.Free(24) var rc int32 = SQLITE_OK - appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+26953 /* "xCreate" */) + appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27729 /* "xCreate" */) rc = echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr) // If there were two arguments passed to the module at the SQL level @@ -73600,7 +74827,7 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt var zSql uintptr var pVtab uintptr = *(*uintptr)(unsafe.Pointer(ppVtab)) (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 4*8)))) - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26961 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+8, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27737 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+8, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { @@ -73622,13 +74849,13 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt // Echo virtual table module xConnect method. func echoConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* test8.c:513:12: */ - appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+26985 /* "xConnect" */) + appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27761 /* "xConnect" */) return echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr) } // Echo virtual table module xDisconnect method. func echoDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:527:12: */ - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26994 /* "xDisconnect" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27770 /* "xDisconnect" */) return echoDestructor(tls, pVtab) } @@ -73639,12 +74866,12 @@ func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:535:12: */ var rc int32 = SQLITE_OK var p uintptr = pVtab - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27006 /* "xDestroy" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27782 /* "xDestroy" */) // Drop the "log" table, if one exists (see echoCreate() for details) if (p != 0) && ((*echo_vtab)(unsafe.Pointer(p)).FzLogName != 0) { var zSql uintptr - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27015 /* "DROP TABLE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzLogName)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27791 /* "DROP TABLE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzLogName)) rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) } @@ -73658,7 +74885,7 @@ func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:535:12: */ // Echo virtual table module xOpen method. func echoOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* test8.c:557:12: */ var pCur uintptr - if simulateVtabError(tls, pVTab, ts+27029 /* "xOpen" */) != 0 { + if simulateVtabError(tls, pVTab, ts+27805 /* "xOpen" */) != 0 { return SQLITE_ERROR } pCur = sqlite3.Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(echo_cursor{}))) @@ -73698,7 +74925,7 @@ func echoNext(tls *libc.TLS, cur uintptr) int32 { /* test8.c:591:12: */ var rc int32 = SQLITE_OK var pCur uintptr = cur - if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27035 /* "xNext" */) != 0 { + if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27811 /* "xNext" */) != 0 { return SQLITE_ERROR } @@ -73720,7 +74947,7 @@ func echoColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* tes var iCol int32 = (i + 1) var pStmt uintptr = (*echo_cursor)(unsafe.Pointer(cur)).FpStmt - if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27041 /* "xColumn" */) != 0 { + if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27817 /* "xColumn" */) != 0 { return SQLITE_ERROR } @@ -73770,14 +74997,14 @@ func echoFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr var pVtab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab var db uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Fdb - if simulateVtabError(tls, pVtab, ts+27049 /* "xFilter" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27825 /* "xFilter" */) != 0 { return SQLITE_ERROR } // Check that idxNum matches idxStr // Log arguments to the ::echo_module Tcl variable - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27049 /* "xFilter" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27825 /* "xFilter" */) appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, idxStr) for i = 0; i < argc; i++ { appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) @@ -73827,7 +75054,7 @@ func string_concat(tls *libc.TLS, pzStr uintptr, zAppend uintptr, doFree int32, } else { if zIn != 0 { var zTemp uintptr = zIn - zIn = sqlite3.Xsqlite3_mprintf(tls, ts+26948 /* "%s%s" */, libc.VaList(bp, zIn, zAppend)) + zIn = sqlite3.Xsqlite3_mprintf(tls, ts+27724 /* "%s%s" */, libc.VaList(bp, zIn, zAppend)) sqlite3.Xsqlite3_free(tls, zTemp) } else { zIn = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zAppend)) @@ -73856,7 +75083,7 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* var zRet uintptr = uintptr(0) if sqlite3.Xsqlite3_libversion_number(tls) < 3010000 { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27057 /* ", *" */, 0) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27833 /* ", *" */, 0) } else { var i int32 for i = 0; i < (*echo_vtab)(unsafe.Pointer(pTab)).FnCol; i++ { @@ -73866,9 +75093,9 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* } return i }()))) != 0 { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27061 /* "%z, %s" */, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*8)))) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27837 /* "%z, %s" */, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*8)))) } else { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27068 /* "%z, NULL" */, libc.VaList(bp+16, zRet)) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27844 /* "%z, NULL" */, libc.VaList(bp+16, zRet)) } if !(zRet != 0) { break @@ -73918,11 +75145,11 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test var useCost int32 = 0 var cost float64 = float64(0) var isIgnoreUsable int32 = 0 - if tcl.XTcl_GetVar(tls, interp, ts+27077 /* "echo_module_igno..." */, TCL_GLOBAL_ONLY) != 0 { + if tcl.XTcl_GetVar(tls, interp, ts+27853 /* "echo_module_igno..." */, TCL_GLOBAL_ONLY) != 0 { isIgnoreUsable = 1 } - if simulateVtabError(tls, pVtab, ts+27103 /* "xBestIndex" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27879 /* "xBestIndex" */) != 0 { return SQLITE_ERROR } @@ -73930,11 +75157,11 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test // variable nRow. The 'estimated-cost' of the scan will be the number of // rows in the table for a linear scan, or the log (base 2) of the // number of rows if the proposed scan uses an index. - if tcl.XTcl_GetVar(tls, interp, ts+27114 /* "echo_module_cost" */, TCL_GLOBAL_ONLY) != 0 { - cost = libc.Xatof(tls, tcl.XTcl_GetVar(tls, interp, ts+27114 /* "echo_module_cost" */, TCL_GLOBAL_ONLY)) + if tcl.XTcl_GetVar(tls, interp, ts+27890 /* "echo_module_cost" */, TCL_GLOBAL_ONLY) != 0 { + cost = libc.Xatof(tls, tcl.XTcl_GetVar(tls, interp, ts+27890 /* "echo_module_cost" */, TCL_GLOBAL_ONLY)) useCost = 1 } else { - *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27131 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27907 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) != 0) { return SQLITE_NOMEM } @@ -73955,7 +75182,7 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if !(zCol != 0) { return SQLITE_NOMEM } - *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27155 /* "SELECT rowid%z F..." */, libc.VaList(bp+8, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27931 /* "SELECT rowid%z F..." */, libc.VaList(bp+8, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) != 0) { return SQLITE_NOMEM } @@ -73978,29 +75205,29 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if iCol >= 0 { zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*8)) } else { - zNewCol = ts + 27178 /* "rowid" */ + zNewCol = ts + 27954 /* "rowid" */ } var zOp uintptr = uintptr(0) useIdx = 1 switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) { case SQLITE_INDEX_CONSTRAINT_EQ: - zOp = ts + 27184 /* "=" */ + zOp = ts + 27960 /* "=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LT: - zOp = ts + 27186 /* "<" */ + zOp = ts + 27962 /* "<" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GT: - zOp = ts + 27188 /* ">" */ + zOp = ts + 27964 /* ">" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LE: - zOp = ts + 27190 /* "<=" */ + zOp = ts + 27966 /* "<=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GE: - zOp = ts + 27193 /* ">=" */ + zOp = ts + 27969 /* ">=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_MATCH: @@ -74010,15 +75237,15 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test // of code requires the first letter of this operator to be // in upper-case to trigger the special MATCH handling (i.e. // wrapping the bound parameter with literal '%'s). - zOp = ts + 27196 /* "LIKE" */ + zOp = ts + 27972 /* "LIKE" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LIKE: - zOp = ts + 27201 /* "like" */ + zOp = ts + 27977 /* "like" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GLOB: - zOp = ts + 27206 /* "glob" */ + zOp = ts + 27982 /* "glob" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_REGEXP: @@ -74027,10 +75254,10 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test } if zOp != 0 { if int32(*(*int8)(unsafe.Pointer(zOp))) == 'L' { - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27211, /* " %s %s LIKE (SEL..." */ + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27987, /* " %s %s LIKE (SEL..." */ libc.VaList(bp+24, zSep, zNewCol)) } else { - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27246 /* " %s %s %s ?" */, libc.VaList(bp+40, zSep, zNewCol, zOp)) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+28022 /* " %s %s %s ?" */, libc.VaList(bp+40, zSep, zNewCol, zOp)) } string_concat(tls, bp+88 /* &zQuery */, zNew, 1, bp+96 /* &rc */) zSep = ts + 8865 /* "AND" */ @@ -74049,20 +75276,20 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if iCol >= 0 { zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*8)) } else { - zNewCol = ts + 27178 /* "rowid" */ + zNewCol = ts + 27954 /* "rowid" */ } var zDir uintptr if (*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).Fdesc != 0 { - zDir = ts + 27258 /* "DESC" */ + zDir = ts + 28034 /* "DESC" */ } else { - zDir = ts + 27263 /* "ASC" */ + zDir = ts + 28039 /* "ASC" */ } - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27267 /* " ORDER BY %s %s" */, libc.VaList(bp+64, zNewCol, zDir)) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+28043 /* " ORDER BY %s %s" */, libc.VaList(bp+64, zNewCol, zDir)) string_concat(tls, bp+88 /* &zQuery */, zNew, 1, bp+96 /* &rc */) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1 } - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27103 /* "xBestIndex" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27879 /* "xBestIndex" */) appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */))) @@ -74116,14 +75343,14 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid // Ticket #3083 - make sure we always start a transaction prior to // making any changes to a virtual table - if simulateVtabError(tls, pVtab, ts+27283 /* "xUpdate" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28059 /* "xUpdate" */) != 0 { return SQLITE_ERROR } // If apData[0] is an integer and nData>1 then do an UPDATE if (nData > 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { - var zSep uintptr = ts + 27291 /* " SET" */ - *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27296 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + var zSep uintptr = ts + 28067 /* " SET" */ + *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+28072 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) != 0) { *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM } @@ -74132,7 +75359,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid bindArgZero = 1 if bindArgOne != 0 { - string_concat(tls, bp+96 /* &z */, ts+27306 /* " SET rowid=?1 " */, 0, bp+104 /* &rc */) + string_concat(tls, bp+96 /* &z */, ts+28082 /* " SET rowid=?1 " */, 0, bp+104 /* &rc */) zSep = ts + 4619 /* "," */ } for i = 2; i < nData; i++ { @@ -74140,12 +75367,12 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid continue } string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, - ts+27321 /* "%s %Q=?%d" */, libc.VaList(bp+8, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*8)), i)), 1, bp+104 /* &rc */) + ts+28097 /* "%s %Q=?%d" */, libc.VaList(bp+8, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*8)), i)), 1, bp+104 /* &rc */) zSep = ts + 4619 /* "," */ } - string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+27331 /* " WHERE rowid=?%d" */, libc.VaList(bp+32, nData)), 1, bp+104 /* &rc */) + string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+28107 /* " WHERE rowid=?%d" */, libc.VaList(bp+32, nData)), 1, bp+104 /* &rc */) } else if (nData == 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { - *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27348 /* "DELETE FROM %Q W..." */, libc.VaList(bp+40, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+28124 /* "DELETE FROM %Q W..." */, libc.VaList(bp+40, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) != 0) { *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM } @@ -74155,26 +75382,26 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27380 /* "INSERT INTO %Q (" */, libc.VaList(bp+48, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+28156 /* "INSERT INTO %Q (" */, libc.VaList(bp+48, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) != 0) { *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM } if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData + 1*8))) == SQLITE_INTEGER { bindArgOne = 1 *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) = sqlite3.Xsqlite3_mprintf(tls, ts+3266 /* "?" */, 0) - string_concat(tls, bp+112 /* &zInsert */, ts+27178 /* "rowid" */, 0, bp+104 /* &rc */) + string_concat(tls, bp+112 /* &zInsert */, ts+27954 /* "rowid" */, 0, bp+104 /* &rc */) } for ii = 2; ii < nData; ii++ { string_concat(tls, bp+112, /* &zInsert */ - sqlite3.Xsqlite3_mprintf(tls, ts+27397 /* "%s%Q" */, libc.VaList(bp+56, func() uintptr { + sqlite3.Xsqlite3_mprintf(tls, ts+28173 /* "%s%Q" */, libc.VaList(bp+56, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) != 0 { return ts + 90 /* ", " */ } return ts + 489 /* "" */ }(), *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((ii-2))*8)))), 1, bp+104 /* &rc */) string_concat(tls, bp+120, /* &zValues */ - sqlite3.Xsqlite3_mprintf(tls, ts+27402 /* "%s?%d" */, libc.VaList(bp+72, func() uintptr { + sqlite3.Xsqlite3_mprintf(tls, ts+28178 /* "%s?%d" */, libc.VaList(bp+72, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) != 0 { return ts + 90 /* ", " */ } @@ -74183,7 +75410,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid } string_concat(tls, bp+96 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)), 1, bp+104 /* &rc */) - string_concat(tls, bp+96 /* &z */, ts+27408 /* ") VALUES(" */, 0, bp+104 /* &rc */) + string_concat(tls, bp+96 /* &z */, ts+28184 /* ") VALUES(" */, 0, bp+104 /* &rc */) string_concat(tls, bp+96 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)), 1, bp+104 /* &rc */) string_concat(tls, bp+96 /* &z */, ts+490 /* ")" */, 0, bp+104 /* &rc */) } else { @@ -74220,7 +75447,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid *(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_last_insert_rowid(tls, db) } if *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) != SQLITE_OK { - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26791 /* "echo-vtab-error:..." */, libc.VaList(bp+88, sqlite3.Xsqlite3_errmsg(tls, db))) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27567 /* "echo-vtab-error:..." */, libc.VaList(bp+88, sqlite3.Xsqlite3_errmsg(tls, db))) } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) @@ -74235,7 +75462,7 @@ func echoTransactionCall(tls *libc.TLS, tab uintptr, zCall uintptr) int32 { /* t var z uintptr var pVtab uintptr = tab - z = sqlite3.Xsqlite3_mprintf(tls, ts+27418 /* "echo(%s)" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + z = sqlite3.Xsqlite3_mprintf(tls, ts+28194 /* "echo(%s)" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if z == uintptr(0) { return SQLITE_NOMEM } @@ -74254,17 +75481,17 @@ func echoBegin(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1112:12: */ // Ticket #3083 - do not start a transaction if we are already in // a transaction - if simulateVtabError(tls, pVtab, ts+27427 /* "xBegin" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28203 /* "xBegin" */) != 0 { return SQLITE_ERROR } - rc = echoTransactionCall(tls, tab, ts+27427 /* "xBegin" */) + rc = echoTransactionCall(tls, tab, ts+28203 /* "xBegin" */) if rc == SQLITE_OK { // Check if the $::echo_module_begin_fail variable is defined. If it is, // and it is set to the name of the real table underlying this virtual // echo module table, then cause this xSync operation to fail. - zVal = tcl.XTcl_GetVar(tls, interp, ts+27434 /* "echo_module_begi..." */, TCL_GLOBAL_ONLY) + zVal = tcl.XTcl_GetVar(tls, interp, ts+28210 /* "echo_module_begi..." */, TCL_GLOBAL_ONLY) if (zVal != 0) && (0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) { rc = SQLITE_ERROR } @@ -74284,17 +75511,17 @@ func echoSync(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1143:12: */ // Ticket #3083 - Only call xSync if we have previously started a // transaction - if simulateVtabError(tls, pVtab, ts+27457 /* "xSync" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28233 /* "xSync" */) != 0 { return SQLITE_ERROR } - rc = echoTransactionCall(tls, tab, ts+27457 /* "xSync" */) + rc = echoTransactionCall(tls, tab, ts+28233 /* "xSync" */) if rc == SQLITE_OK { // Check if the $::echo_module_sync_fail variable is defined. If it is, // and it is set to the name of the real table underlying this virtual // echo module table, then cause this xSync operation to fail. - zVal = tcl.XTcl_GetVar(tls, interp, ts+27463 /* "echo_module_sync..." */, TCL_GLOBAL_ONLY) + zVal = tcl.XTcl_GetVar(tls, interp, ts+28239 /* "echo_module_sync..." */, TCL_GLOBAL_ONLY) if (zVal != 0) && (0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) { rc = -1 } @@ -74309,12 +75536,12 @@ func echoCommit(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1171:12: */ // Ticket #3083 - Only call xCommit if we have previously started // a transaction - if simulateVtabError(tls, pVtab, ts+27485 /* "xCommit" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28261 /* "xCommit" */) != 0 { return SQLITE_ERROR } sqlite3.Xsqlite3BeginBenignMalloc(tls) - rc = echoTransactionCall(tls, tab, ts+27485 /* "xCommit" */) + rc = echoTransactionCall(tls, tab, ts+28261 /* "xCommit" */) sqlite3.Xsqlite3EndBenignMalloc(tls) (*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0 return rc @@ -74327,7 +75554,7 @@ func echoRollback(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1189:12: */ // Ticket #3083 - Only call xRollback if we have previously started // a transaction - rc = echoTransactionCall(tls, tab, ts+27493 /* "xRollback" */) + rc = echoTransactionCall(tls, tab, ts+28269 /* "xRollback" */) (*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0 return rc } @@ -74345,7 +75572,7 @@ func overloadedGlobFunction(tls *libc.TLS, pContext uintptr, nArg int32, apArg u var i int32 var rc int32 tcl.XTcl_DStringInit(tls, bp /* &str */) - tcl.XTcl_DStringAppendElement(tls, bp /* &str */, ts+27503 /* "::echo_glob_over..." */) + tcl.XTcl_DStringAppendElement(tls, bp /* &str */, ts+28279 /* "::echo_glob_over..." */) for i = 0; i < nArg; i++ { tcl.XTcl_DStringAppendElement(tls, bp /* &str */, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + uintptr(i)*8)))) } @@ -74374,10 +75601,10 @@ func echoFindFunction(tls *libc.TLS, vtab uintptr, nArg int32, zFuncName uintptr var interp uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp // var info Tcl_CmdInfo at bp, 64 - if libc.Xstrcmp(tls, zFuncName, ts+27206 /* "glob" */) != 0 { + if libc.Xstrcmp(tls, zFuncName, ts+27982 /* "glob" */) != 0 { return 0 } - if tcl.XTcl_GetCommandInfo(tls, interp, ts+27503 /* "::echo_glob_over..." */, bp /* &info */) == 0 { + if tcl.XTcl_GetCommandInfo(tls, interp, ts+28279 /* "::echo_glob_over..." */, bp /* &info */) == 0 { return 0 } *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { @@ -74394,13 +75621,13 @@ func echoRename(tls *libc.TLS, vtab uintptr, zNewName uintptr) int32 { /* test8. var rc int32 = SQLITE_OK var p uintptr = vtab - if simulateVtabError(tls, p, ts+27524 /* "xRename" */) != 0 { + if simulateVtabError(tls, p, ts+28300 /* "xRename" */) != 0 { return SQLITE_ERROR } if (*echo_vtab)(unsafe.Pointer(p)).FisPattern != 0 { var nThis int32 = int32(libc.Xstrlen(tls, (*echo_vtab)(unsafe.Pointer(p)).FzThis)) - var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27532, /* "ALTER TABLE %s R..." */ + var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+28308, /* "ALTER TABLE %s R..." */ libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzTableName, zNewName, ((*echo_vtab)(unsafe.Pointer(p)).FzTableName+uintptr(nThis)))) rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) @@ -74477,7 +75704,7 @@ var echoModuleV2 = sqlite3_module{ func moduleDestroy(tls *libc.TLS, p uintptr) { /* test8.c:1355:13: */ var pMod uintptr = p - sqlite3.Xsqlite3_create_function(tls, (*EchoModule)(unsafe.Pointer(pMod)).Fdb, ts+27562, /* "function_that_do..." */ + sqlite3.Xsqlite3_create_function(tls, (*EchoModule)(unsafe.Pointer(pMod)).Fdb, ts+28338, /* "function_that_do..." */ SQLITE_ANY, 1, uintptr(0), uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, p) } @@ -74504,14 +75731,14 @@ func register_echo_module(tls *libc.TLS, clientData ClientData, interp uintptr, (*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp (*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp /* db */)) rc = sqlite3.Xsqlite3_create_module_v2(tls, - *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27600 /* "echo" */, uintptr(unsafe.Pointer(&echoModule)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) + *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28376 /* "echo" */, uintptr(unsafe.Pointer(&echoModule)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) // Virtual table module "echo_v2" if rc == SQLITE_OK { pMod = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(EchoModule{}))) (*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp (*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp /* db */)) - rc = sqlite3.Xsqlite3_create_module_v2(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27605, /* "echo_v2" */ + rc = sqlite3.Xsqlite3_create_module_v2(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28381, /* "echo_v2" */ uintptr(unsafe.Pointer(&echoModuleV2)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) } @@ -74530,7 +75757,7 @@ func declare_vtab(tls *libc.TLS, clientData ClientData, interp uintptr, objc int var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27613 /* "DB SQL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10524 /* "DB SQL" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -74563,8 +75790,8 @@ var aObjCmd2 = [2]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 27620 /* "register_echo_mo..." */, FxProc: 0}, - {FzName: ts + 27641 /* "sqlite3_declare_..." */, FxProc: 0}, + {FzName: ts + 28389 /* "register_echo_mo..." */, FxProc: 0}, + {FzName: ts + 28410 /* "sqlite3_declare_..." */, FxProc: 0}, } /* test8.c:1439:5 */ // end block for C++ @@ -74691,7 +75918,7 @@ func c_collation_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var db uintptr at bp+24, 8 var rc int32 - zErrFunction = ts + 27662 /* "N/A" */ + zErrFunction = ts + 28431 /* "N/A" */ if !(objc != 1) { goto __1 } @@ -74705,17 +75932,17 @@ __1: if !(rc != SQLITE_OK) { goto __2 } - zErrFunction = ts + 21093 /* "sqlite3_open" */ + zErrFunction = ts + 21869 /* "sqlite3_open" */ goto error_out __2: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+13094 /* "collate" */, 456, uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+13875 /* "collate" */, 456, uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { goto __3 } sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))) - zErrFunction = ts + 27666 /* "sqlite3_create_c..." */ + zErrFunction = ts + 28435 /* "sqlite3_create_c..." */ goto error_out __3: ; @@ -74725,7 +75952,7 @@ __3: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27691 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28460 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -74736,7 +75963,7 @@ func c_realloc_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var p uintptr var zErrFunction uintptr - zErrFunction = ts + 27662 /* "N/A" */ + zErrFunction = ts + 28431 /* "N/A" */ if !(objc != 1) { goto __1 @@ -74750,7 +75977,7 @@ __1: if !(!(p != 0)) { goto __2 } - zErrFunction = ts + 27716 /* "sqlite3_malloc" */ + zErrFunction = ts + 28485 /* "sqlite3_malloc" */ goto error_out __2: ; @@ -74761,7 +75988,7 @@ __2: if !(p != 0) { goto __3 } - zErrFunction = ts + 27731 /* "sqlite3_realloc" */ + zErrFunction = ts + 28500 /* "sqlite3_realloc" */ goto error_out __3: ; @@ -74770,7 +75997,7 @@ __3: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27691 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28460 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -74785,7 +76012,7 @@ func c_misuse_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc in // var pStmt uintptr at bp+32, 8 var rc int32 - zErrFunction = ts + 27662 /* "N/A" */ + zErrFunction = ts + 28431 /* "N/A" */ *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)) = uintptr(0) if !(objc != 1) { @@ -74802,7 +76029,7 @@ __1: if !(rc != SQLITE_OK) { goto __2 } - zErrFunction = ts + 21093 /* "sqlite3_open" */ + zErrFunction = ts + 21869 /* "sqlite3_open" */ goto error_out __2: ; @@ -74812,7 +76039,7 @@ __2: if !(rc != SQLITE_MISUSE) { goto __3 } - zErrFunction = ts + 21020 /* "sqlite3_errcode" */ + zErrFunction = ts + 21796 /* "sqlite3_errcode" */ goto error_out __3: ; @@ -74822,7 +76049,7 @@ __3: if !(rc != SQLITE_MISUSE) { goto __4 } - zErrFunction = ts + 21174 /* "sqlite3_prepare" */ + zErrFunction = ts + 21950 /* "sqlite3_prepare" */ goto error_out __4: ; @@ -74833,7 +76060,7 @@ __4: if !(rc != SQLITE_MISUSE) { goto __5 } - zErrFunction = ts + 21208 /* "sqlite3_prepare_..." */ + zErrFunction = ts + 21984 /* "sqlite3_prepare_..." */ goto error_out __5: ; @@ -74843,7 +76070,7 @@ __5: if !(rc != SQLITE_MISUSE) { goto __6 } - zErrFunction = ts + 21190 /* "sqlite3_prepare1..." */ + zErrFunction = ts + 21966 /* "sqlite3_prepare1..." */ goto error_out __6: ; @@ -74853,7 +76080,7 @@ __6: if !(rc != SQLITE_MISUSE) { goto __7 } - zErrFunction = ts + 21270 /* "sqlite3_prepare1..." */ + zErrFunction = ts + 22046 /* "sqlite3_prepare1..." */ goto error_out __7: ; @@ -74862,7 +76089,7 @@ __7: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27691 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28460 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -74885,9 +76112,9 @@ var aObjCmd3 = [3]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 27747 /* "c_misuse_test" */, FxProc: 0}, - {FzName: ts + 27761 /* "c_realloc_test" */, FxProc: 0}, - {FzName: ts + 27776 /* "c_collation_test" */, FxProc: 0}, + {FzName: ts + 28516 /* "c_misuse_test" */, FxProc: 0}, + {FzName: ts + 28530 /* "c_realloc_test" */, FxProc: 0}, + {FzName: ts + 28545 /* "c_collation_test" */, FxProc: 0}, } /* test9.c:193:5 */ // end block for C++ @@ -74928,7 +76155,7 @@ func resetAutoExtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc // This procedure registers the TCL procs defined in this file. func Sqlitetest_autoext_Init(tls *libc.TLS, interp uintptr) int32 { /* test_autoext.c:210:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+27793, /* "sqlite3_reset_au..." */ + tcl.XTcl_CreateObjCommand(tls, interp, ts+28562, /* "sqlite3_reset_au..." */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{resetAutoExtObjCmd})), uintptr(0), uintptr(0)) @@ -74940,10 +76167,10 @@ func backupTestCmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc in defer tls.Free(196) *(*[5]BackupSubCommand)(unsafe.Pointer(bp /* aSub */)) = [5]BackupSubCommand{ - {FzCmd: ts + 10120 /* "step" */, FnArg: 1, FzArg: ts + 27822 /* "npage" */}, - {FzCmd: ts + 27828 /* "finish" */, FeCmd: uint32(1) /* BACKUP_FINISH */, FzArg: ts + 489 /* "" */}, - {FzCmd: ts + 27835 /* "remaining" */, FeCmd: uint32(2) /* BACKUP_REMAINING */, FzArg: ts + 489 /* "" */}, - {FzCmd: ts + 27845 /* "pagecount" */, FeCmd: uint32(3) /* BACKUP_PAGECOUNT */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 10120 /* "step" */, FnArg: 1, FzArg: ts + 28591 /* "npage" */}, + {FzCmd: ts + 28597 /* "finish" */, FeCmd: uint32(1) /* BACKUP_FINISH */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 28604 /* "remaining" */, FeCmd: uint32(2) /* BACKUP_REMAINING */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 28614 /* "pagecount" */, FeCmd: uint32(3) /* BACKUP_PAGECOUNT */, FzArg: ts + 489 /* "" */}, {}, } @@ -74953,7 +76180,7 @@ func backupTestCmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc in var rc int32 rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aSub[0] */, int32(unsafe.Sizeof(BackupSubCommand{})), ts+11373 /* "option" */, 0, bp+120 /* &iCmd */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aSub[0] */, int32(unsafe.Sizeof(BackupSubCommand{})), ts+12161 /* "option" */, 0, bp+120 /* &iCmd */) if rc != TCL_OK { return rc } @@ -75035,7 +76262,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i if objc != 6 { tcl.XTcl_WrongNumArgs(tls, - interp, 1, objv, ts+27855 /* "CMDNAME DESTHAND..." */) + interp, 1, objv, ts+28624 /* "CMDNAME DESTHAND..." */) return TCL_ERROR } @@ -75047,7 +76274,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i pBackup = sqlite3.Xsqlite3_backup_init(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pDestDb */)), zDestName, *(*uintptr)(unsafe.Pointer(bp + 24 /* pSrcDb */)), zSrcName) if !(pBackup != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27901 /* "sqlite3_backup_i..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28670 /* "sqlite3_backup_i..." */, 0)) return TCL_ERROR } @@ -75059,7 +76286,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i } func Sqlitetestbackup_Init(tls *libc.TLS, interp uintptr) int32 { /* test_backup.c:154:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+27930 /* "sqlite3_backup" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+28699 /* "sqlite3_backup" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{backupTestInit})), uintptr(0), uintptr(0)) return TCL_OK @@ -75150,7 +76377,7 @@ func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt var rc int32 = SQLITE_OK if argc != 4 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27945 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28714 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -75168,7 +76395,7 @@ func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26985 /* "xConnect" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27761 /* "xConnect" */, -1)) rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, TCL_EVAL_GLOBAL) if rc != TCL_OK { @@ -75260,7 +76487,7 @@ func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27049 /* "xFilter" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27825 /* "xFilter" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewIntObj(tls, idxNum)) if idxStr != 0 { tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, idxStr, -1)) @@ -75316,11 +76543,11 @@ func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, rc = sqlite3.Xsqlite3_prepare_v2(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pStmt */), uintptr(0)) if rc != SQLITE_OK { var zErr uintptr = sqlite3.Xsqlite3_errmsg(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb) - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27971 /* "unexpected: %s" */, libc.VaList(bp+16, zErr)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28740 /* "unexpected: %s" */, libc.VaList(bp+16, zErr)) } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27971 /* "unexpected: %s" */, libc.VaList(bp+24, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28740 /* "unexpected: %s" */, libc.VaList(bp+24, zCmd)) } } } @@ -75362,7 +76589,7 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27103 /* "xBestIndex" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27879 /* "xBestIndex" */, -1)) pArg = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pArg)).FrefCount++ @@ -75375,54 +76602,54 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) { case SQLITE_INDEX_CONSTRAINT_EQ: - zOp = ts + 27986 /* "eq" */ + zOp = ts + 28755 /* "eq" */ break case SQLITE_INDEX_CONSTRAINT_GT: - zOp = ts + 27989 /* "gt" */ + zOp = ts + 28758 /* "gt" */ break case SQLITE_INDEX_CONSTRAINT_LE: - zOp = ts + 27992 /* "le" */ + zOp = ts + 28761 /* "le" */ break case SQLITE_INDEX_CONSTRAINT_LT: - zOp = ts + 27995 /* "lt" */ + zOp = ts + 28764 /* "lt" */ break case SQLITE_INDEX_CONSTRAINT_GE: - zOp = ts + 27998 /* "ge" */ + zOp = ts + 28767 /* "ge" */ break case SQLITE_INDEX_CONSTRAINT_MATCH: - zOp = ts + 28001 /* "match" */ + zOp = ts + 28770 /* "match" */ break case SQLITE_INDEX_CONSTRAINT_LIKE: - zOp = ts + 27201 /* "like" */ + zOp = ts + 27977 /* "like" */ break case SQLITE_INDEX_CONSTRAINT_GLOB: - zOp = ts + 27206 /* "glob" */ + zOp = ts + 27982 /* "glob" */ break case SQLITE_INDEX_CONSTRAINT_REGEXP: zOp = ts + 6335 /* "regexp" */ break case SQLITE_INDEX_CONSTRAINT_NE: - zOp = ts + 28007 /* "ne" */ + zOp = ts + 28776 /* "ne" */ break case SQLITE_INDEX_CONSTRAINT_ISNOT: - zOp = ts + 28010 /* "isnot" */ + zOp = ts + 28779 /* "isnot" */ break case SQLITE_INDEX_CONSTRAINT_ISNOTNULL: - zOp = ts + 28016 /* "isnotnull" */ + zOp = ts + 28785 /* "isnotnull" */ break case SQLITE_INDEX_CONSTRAINT_ISNULL: - zOp = ts + 28026 /* "isnull" */ + zOp = ts + 28795 /* "isnull" */ break case SQLITE_INDEX_CONSTRAINT_IS: zOp = ts + 5712 /* "is" */ break } - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28033 /* "op" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28802 /* "op" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, zOp, -1)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28036 /* "column" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28805 /* "column" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28043 /* "usable" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28812 /* "usable" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fusable))) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, pElem) @@ -75447,9 +76674,9 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ var pElem uintptr = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pElem)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28036 /* "column" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28805 /* "column" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).FiColumn)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28050 /* "desc" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28819 /* "desc" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).Fdesc))) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, pElem) @@ -75505,29 +76732,29 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ for ii = 0; (rc == SQLITE_OK) && (ii < *(*int32)(unsafe.Pointer(bp + 48 /* nElem */))); ii = ii + (2) { var zCmd uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56 /* apElem */)) + uintptr(ii)*8))) var p uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56 /* apElem */)) + uintptr((ii+1))*8)) - if sqlite3.Xsqlite3_stricmp(tls, ts+28055 /* "cost" */, zCmd) == 0 { + if sqlite3.Xsqlite3_stricmp(tls, ts+28824 /* "cost" */, zCmd) == 0 { rc = tcl.XTcl_GetDoubleFromObj(tls, interp, p, (pIdxInfo + 64 /* &.estimatedCost */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+28060 /* "orderby" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28829 /* "orderby" */, zCmd) == 0 { rc = tcl.XTcl_GetIntFromObj(tls, interp, p, (pIdxInfo + 60 /* &.orderByConsumed */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+28068 /* "idxnum" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28837 /* "idxnum" */, zCmd) == 0 { rc = tcl.XTcl_GetIntFromObj(tls, interp, p, (pIdxInfo + 40 /* &.idxNum */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+28075 /* "idxstr" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28844 /* "idxstr" */, zCmd) == 0 { sqlite3.Xsqlite3_free(tls, (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, tcl.XTcl_GetString(tls, p))) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - } else if sqlite3.Xsqlite3_stricmp(tls, ts+28082 /* "rows" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28851 /* "rows" */, zCmd) == 0 { *(*Tcl_WideInt)(unsafe.Pointer(bp + 64 /* x */)) = int64(0) rc = tcl.XTcl_GetWideIntFromObj(tls, interp, p, bp+64 /* &x */) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = sqlite3_int64(tRowcnt(*(*Tcl_WideInt)(unsafe.Pointer(bp + 64 /* x */)))) - } else if (sqlite3.Xsqlite3_stricmp(tls, ts+28087 /* "use" */, zCmd) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, ts+28091 /* "omit" */, zCmd) == 0) { + } else if (sqlite3.Xsqlite3_stricmp(tls, ts+28856 /* "use" */, zCmd) == 0) || + (sqlite3.Xsqlite3_stricmp(tls, ts+28860 /* "omit" */, zCmd) == 0) { // var iCons int32 at bp+72, 4 rc = tcl.XTcl_GetIntFromObj(tls, interp, p, bp+72 /* &iCons */) if rc == SQLITE_OK { if (*(*int32)(unsafe.Pointer(bp + 72 /* iCons */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 72 /* iCons */)) >= (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28096 /* "unexpected: %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 72 /* iCons */)))) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28865 /* "unexpected: %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 72 /* iCons */)))) } else { var bOmit int32 = (libc.Bool32((int32(*(*int8)(unsafe.Pointer(zCmd))) == 'o') || (int32(*(*int8)(unsafe.Pointer(zCmd))) == 'O'))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(*(*int32)(unsafe.Pointer(bp + 72 /* iCons */)))*8)).FargvIndex = libc.PostIncInt32(&iArgv, 1) @@ -75536,7 +76763,7 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27971 /* "unexpected: %s" */, libc.VaList(bp+32, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28740 /* "unexpected: %s" */, libc.VaList(bp+32, zCmd)) } if (rc != SQLITE_OK) && ((*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg == uintptr(0)) { var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp) @@ -75580,7 +76807,7 @@ func register_tcl_module(tls *libc.TLS, clientData ClientData, interp uintptr, o if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28111 /* "tcl" */, uintptr(unsafe.Pointer(&tclModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28880 /* "tcl" */, uintptr(unsafe.Pointer(&tclModule)), interp) return TCL_OK } @@ -75603,7 +76830,7 @@ var aObjCmd4 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 28115 /* "register_tcl_mod..." */, FxProc: 0}, + {FzName: ts + 28884 /* "register_tcl_mod..." */, FxProc: 0}, } /* test_bestindex.c:610:5 */ // Return a pointer to a buffer containing a text representation of the @@ -75613,7 +76840,7 @@ func ptrToText(tls *libc.TLS, p uintptr) uintptr { /* test_blob.c:37:13: */ bp := tls.Alloc(8) defer tls.Free(8) - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof(buf)) - uint64(1))), uintptr(unsafe.Pointer(&buf)), ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof(buf)) - uint64(1))), uintptr(unsafe.Pointer(&buf)), ts+13802 /* "%p" */, libc.VaList(bp, p)) return uintptr(unsafe.Pointer(&buf)) } @@ -75639,7 +76866,7 @@ func blobHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, ppBlob uint z = tcl.XTcl_GetStringFromObj(tls, pObj, bp /* &n */) if *(*int32)(unsafe.Pointer(bp /* n */)) == 0 { *(*uintptr)(unsafe.Pointer(ppBlob)) = uintptr(0) - } else if (*(*int32)(unsafe.Pointer(bp /* n */)) > 9) && (0 == libc.Xmemcmp(tls, ts+28135 /* "incrblob_" */, z, uint64(9))) { + } else if (*(*int32)(unsafe.Pointer(bp /* n */)) > 9) && (0 == libc.Xmemcmp(tls, ts+28904 /* "incrblob_" */, z, uint64(9))) { // var notUsed int32 at bp+4, 4 var channel Tcl_Channel @@ -75703,7 +76930,7 @@ func test_blob_open(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var rc int32 if objc != 8 { - var zUsage uintptr = ts + 28145 /* "DB DATABASE TABL..." */ + var zUsage uintptr = ts + 28914 /* "DB DATABASE TABL..." */ tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zUsage) return TCL_ERROR } @@ -75747,7 +76974,7 @@ func test_blob_close(tls *libc.TLS, clientData ClientData, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28190 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28959 /* "HANDLE" */) return TCL_ERROR } @@ -75774,7 +77001,7 @@ func test_blob_bytes(tls *libc.TLS, clientData ClientData, interp uintptr, objc var nByte int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28190 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28959 /* "HANDLE" */) return TCL_ERROR } @@ -75814,7 +77041,7 @@ func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28197 /* "CHANNEL OFFSET N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28966 /* "CHANNEL OFFSET N" */) return TCL_ERROR } @@ -75829,7 +77056,7 @@ func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc i if *(*int32)(unsafe.Pointer(bp + 28 /* nByte */)) > 0 { zBuf = tcl.XTcl_AttemptAlloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nByte */)))) if zBuf == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28214 /* "out of memory in..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28983 /* "out of memory in..." */, 0)) return TCL_ERROR } } @@ -75874,7 +77101,7 @@ func test_blob_write(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var nBuf int32 at bp+12, 4 if (objc != 4) && (objc != 5) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28275 /* "HANDLE OFFSET DA..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+29044 /* "HANDLE OFFSET DA..." */) return TCL_ERROR } @@ -75918,11 +77145,11 @@ var aObjCmd5 = [5]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 28302 /* "sqlite3_blob_ope..." */, FxProc: 0}, - {FzName: ts + 28320 /* "sqlite3_blob_clo..." */, FxProc: 0}, - {FzName: ts + 28339 /* "sqlite3_blob_byt..." */, FxProc: 0}, - {FzName: ts + 28358 /* "sqlite3_blob_rea..." */, FxProc: 0}, - {FzName: ts + 28376 /* "sqlite3_blob_wri..." */, FxProc: 0}, + {FzName: ts + 29071 /* "sqlite3_blob_ope..." */, FxProc: 0}, + {FzName: ts + 29089 /* "sqlite3_blob_clo..." */, FxProc: 0}, + {FzName: ts + 29108 /* "sqlite3_blob_byt..." */, FxProc: 0}, + {FzName: ts + 29127 /* "sqlite3_blob_rea..." */, FxProc: 0}, + {FzName: ts + 29145 /* "sqlite3_blob_wri..." */, FxProc: 0}, } /* test_blob.c:317:5 */ // end block for C++ @@ -76075,369 +77302,369 @@ func sqlite3BtreeCursorList(tls *libc.TLS, p uintptr) { /* test_btree.c:52:6: */ // according to the compile-time configuration of the database. Test // procedures use this to determine when tests should be omitted. func set_options(tls *libc.TLS, interp uintptr) { /* test_config.c:47:13: */ - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28410 /* "malloc_usable_si..." */, ts+13873, /* "0" */ + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29179 /* "malloc_usable_si..." */, ts+14654, /* "0" */ TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28429 /* "rowid32" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29198 /* "rowid32" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28437 /* "casesensitivelik..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29206 /* "casesensitivelik..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28455 /* "configslower" */, ts+28468 /* "1.0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29224 /* "configslower" */, ts+29237 /* "1.0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28472 /* "curdir" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29241 /* "curdir" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28481 /* "win32malloc" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29250 /* "win32malloc" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28493 /* "debug" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29262 /* "debug" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28499 /* "default_ckptfull..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29268 /* "default_ckptfull..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28521 /* "direct_read" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29290 /* "direct_read" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28533 /* "dirsync" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29302 /* "dirsync" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28541 /* "lfs" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29310 /* "lfs" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28545 /* "pagecache_overfl..." */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29314 /* "pagecache_overfl..." */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28570 /* "mmap" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29339 /* "mmap" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28575, /* "worker_threads" */ - ts+28590 /* "8" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29344, /* "worker_threads" */ + ts+29359 /* "8" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28592 /* "memdebug" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29361 /* "memdebug" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28601 /* "8_3_names" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29370 /* "8_3_names" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28611 /* "cursorhints" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29380 /* "cursorhints" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28623 /* "hiddencolumns" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29392 /* "hiddencolumns" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+13152 /* "deserialize" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+13933 /* "deserialize" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28637 /* "mathlib" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29406 /* "mathlib" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28645 /* "mem3" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29414 /* "mem3" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28650 /* "mem5" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29419 /* "mem5" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28655 /* "offset_sql_func" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29424 /* "offset_sql_func" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+13260 /* "preupdate" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+14041 /* "preupdate" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28671 /* "snapshot" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29440 /* "snapshot" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28680 /* "mutex" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29449 /* "mutex" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28686 /* "mutex_noop" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29455 /* "mutex_noop" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28697 /* "altertable" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29466 /* "altertable" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+1818 /* "analyze" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+1818 /* "analyze" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28708 /* "api_armor" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29477 /* "api_armor" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28718 /* "atomicwrite" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29487 /* "atomicwrite" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28730 /* "geopoly" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29499 /* "geopoly" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28738 /* "json1" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29507 /* "json1" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28744 /* "has_codec" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29513 /* "has_codec" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28754 /* "like_match_blobs" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29523 /* "like_match_blobs" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28771 /* "attach" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+10584 /* "attach" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28778 /* "auth" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29540 /* "auth" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28783 /* "autoinc" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29545 /* "autoinc" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+12733 /* "autoindex" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+13514 /* "autoindex" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28791 /* "autoreset" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29553 /* "autoreset" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28801 /* "autovacuum" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28812, /* "default_autovacu..." */ - ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29563 /* "autovacuum" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29574, /* "default_autovacu..." */ + ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28831 /* "between_opt" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29593 /* "between_opt" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28843 /* "builtin_test" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29605 /* "builtin_test" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28856 /* "bloblit" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29618 /* "bloblit" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28864 /* "cast" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29626 /* "cast" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28869 /* "check" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29631 /* "check" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28875 /* "cte" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29637 /* "cte" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28879 /* "columnmetadata" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29641 /* "columnmetadata" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28894 /* "oversize_cell_ch..." */, ts+13873, /* "0" */ + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29656 /* "oversize_cell_ch..." */, ts+14654, /* "0" */ TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28914 /* "compileoption_di..." */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29676 /* "compileoption_di..." */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+13131 /* "complete" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+13912 /* "complete" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28934 /* "compound" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29696 /* "compound" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28943 /* "conflict" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28952 /* "crashtest" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29705 /* "conflict" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29714 /* "crashtest" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28962 /* "datetime" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29724 /* "datetime" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28971 /* "decltype" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29733 /* "decltype" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28980 /* "deprecated" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29742 /* "deprecated" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28991 /* "diskio" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29753 /* "diskio" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+4835 /* "explain" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+4835 /* "explain" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+28998 /* "floatingpoint" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29760 /* "floatingpoint" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29012 /* "foreignkey" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29774 /* "foreignkey" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29023 /* "fts1" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29785 /* "fts1" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29028 /* "fts2" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29790 /* "fts2" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29033 /* "fts3" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29795 /* "fts3" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29038 /* "fts5" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29800 /* "fts5" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29043 /* "fts3_unicode" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29805 /* "fts3_unicode" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29056 /* "fts4_deferred" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29818 /* "fts4_deferred" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29070 /* "gettable" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29832 /* "gettable" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29079 /* "icu" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29841 /* "icu" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29083 /* "icu_collations" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29845 /* "icu_collations" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+10524 /* "incrblob" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+11333 /* "incrblob" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29098 /* "integrityck" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29860 /* "integrityck" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29110 /* "legacyformat" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29872 /* "legacyformat" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29123 /* "like_opt" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29885 /* "like_opt" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29132 /* "load_ext" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29894 /* "load_ext" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29141 /* "localtime" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29903 /* "localtime" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29151 /* "lookaside" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29913 /* "lookaside" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29161, /* "long_double" */ + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29923, /* "long_double" */ func() uintptr { if uint64(unsafe.Sizeof(float64(0))) > uint64(unsafe.Sizeof(float64(0))) { - return ts + 28479 /* "1" */ + return ts + 29248 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29173 /* "memorydb" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29935 /* "memorydb" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29182 /* "memorymanage" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29944 /* "memorymanage" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29195 /* "mergesort" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29957 /* "mergesort" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29205 /* "null_trim" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29967 /* "null_trim" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29215 /* "or_opt" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29977 /* "or_opt" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29222 /* "rbu" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29984 /* "rbu" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29226 /* "pager_pragmas" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+29988 /* "pager_pragmas" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29240 /* "pragma" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30002 /* "pragma" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+10199 /* "progress" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+10199 /* "progress" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29247 /* "reindex" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30009 /* "reindex" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29255 /* "rtree" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30017 /* "rtree" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29261 /* "rtree_int_only" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30023 /* "rtree_int_only" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29276 /* "schema_pragmas" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30038 /* "schema_pragmas" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29291 /* "schema_version" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30053 /* "schema_version" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29306 /* "session" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30068 /* "session" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+18554 /* "stat4" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29314 /* "stmtvtab" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+19335 /* "stat4" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30076 /* "stmtvtab" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29323 /* "scanstatus" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30085 /* "scanstatus" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29334 /* "lock_proxy_pragm..." */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29353 /* "prefer_proxy_loc..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30096 /* "lock_proxy_pragm..." */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30115 /* "prefer_proxy_loc..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29374 /* "shared_cache" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30136 /* "shared_cache" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29387 /* "subquery" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30149 /* "subquery" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29396 /* "tclvar" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30158 /* "tclvar" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29403, /* "threadsafe" */ + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30165, /* "threadsafe" */ func() uintptr { if 1 != 0 { - return ts + 28479 /* "1" */ + return ts + 29248 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29414, /* "threadsafe1" */ + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30176, /* "threadsafe1" */ func() uintptr { if SQLITE_THREADSAFE == 1 { - return ts + 28479 /* "1" */ + return ts + 29248 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29426, /* "threadsafe2" */ + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30188, /* "threadsafe2" */ func() uintptr { if SQLITE_THREADSAFE == 2 { - return ts + 28479 /* "1" */ + return ts + 29248 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29438 /* "tempdb" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30200 /* "tempdb" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+13345 /* "trace" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+14126 /* "trace" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29445 /* "trigger" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30207 /* "trigger" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29453 /* "truncate_opt" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30215 /* "truncate_opt" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+15418 /* "utf16" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+16199 /* "utf16" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29466 /* "vacuum" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30228 /* "vacuum" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29473 /* "view" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30235 /* "view" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29478 /* "vtab" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30240 /* "vtab" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29483 /* "wal" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30245 /* "wal" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29487 /* "wsd" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30249 /* "wsd" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29491 /* "update_delete_li..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30253 /* "update_delete_li..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+13372 /* "unlock_notify" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+14153 /* "unlock_notify" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29511 /* "fast_secure_dele..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30273 /* "fast_secure_dele..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29530 /* "secure_delete" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30292 /* "secure_delete" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29544 /* "userauth" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30306 /* "userauth" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29553 /* "multiplex_ext_ov..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30315 /* "multiplex_ext_ov..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29577 /* "yytrackmaxstackd..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30339 /* "yytrackmaxstackd..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29598 /* "sqllog" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30360 /* "sqllog" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29605 /* "uri_00_error" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30367 /* "uri_00_error" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29618 /* "normalize" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30380 /* "normalize" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28395 /* "sqlite_options" */, ts+29628 /* "windowfunc" */, ts+28479 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29164 /* "sqlite_options" */, ts+30390 /* "windowfunc" */, ts+29248 /* "1" */, TCL_GLOBAL_ONLY) { - tcl.XTcl_LinkVar(tls, interp, ts+29639 /* "SQLITE_MAX_LENGT..." */, uintptr(unsafe.Pointer(&cv_MAX_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30401 /* "SQLITE_MAX_LENGT..." */, uintptr(unsafe.Pointer(&cv_MAX_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29657 /* "SQLITE_MAX_COLUM..." */, uintptr(unsafe.Pointer(&cv_MAX_COLUMN)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30419 /* "SQLITE_MAX_COLUM..." */, uintptr(unsafe.Pointer(&cv_MAX_COLUMN)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29675 /* "SQLITE_MAX_SQL_L..." */, uintptr(unsafe.Pointer(&cv_MAX_SQL_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30437 /* "SQLITE_MAX_SQL_L..." */, uintptr(unsafe.Pointer(&cv_MAX_SQL_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29697 /* "SQLITE_MAX_EXPR_..." */, uintptr(unsafe.Pointer(&cv_MAX_EXPR_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30459 /* "SQLITE_MAX_EXPR_..." */, uintptr(unsafe.Pointer(&cv_MAX_EXPR_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29719 /* "SQLITE_MAX_COMPO..." */, uintptr(unsafe.Pointer(&cv_MAX_COMPOUND_SELECT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30481 /* "SQLITE_MAX_COMPO..." */, uintptr(unsafe.Pointer(&cv_MAX_COMPOUND_SELECT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29746 /* "SQLITE_MAX_VDBE_..." */, uintptr(unsafe.Pointer(&cv_MAX_VDBE_OP)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30508 /* "SQLITE_MAX_VDBE_..." */, uintptr(unsafe.Pointer(&cv_MAX_VDBE_OP)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29765 /* "SQLITE_MAX_FUNCT..." */, uintptr(unsafe.Pointer(&cv_MAX_FUNCTION_ARG)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30527 /* "SQLITE_MAX_FUNCT..." */, uintptr(unsafe.Pointer(&cv_MAX_FUNCTION_ARG)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29789 /* "SQLITE_MAX_VARIA..." */, uintptr(unsafe.Pointer(&cv_MAX_VARIABLE_NUMBER)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30551 /* "SQLITE_MAX_VARIA..." */, uintptr(unsafe.Pointer(&cv_MAX_VARIABLE_NUMBER)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29816 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30578 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29837 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_COUNT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30599 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_COUNT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29859 /* "SQLITE_MAX_LIKE_..." */, uintptr(unsafe.Pointer(&cv_MAX_LIKE_PATTERN_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30621 /* "SQLITE_MAX_LIKE_..." */, uintptr(unsafe.Pointer(&cv_MAX_LIKE_PATTERN_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29890 /* "SQLITE_MAX_TRIGG..." */, uintptr(unsafe.Pointer(&cv_MAX_TRIGGER_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30652 /* "SQLITE_MAX_TRIGG..." */, uintptr(unsafe.Pointer(&cv_MAX_TRIGGER_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29915 /* "SQLITE_DEFAULT_C..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_CACHE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30677 /* "SQLITE_DEFAULT_C..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_CACHE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29941 /* "SQLITE_DEFAULT_P..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30703 /* "SQLITE_DEFAULT_P..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29966 /* "SQLITE_DEFAULT_F..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_FILE_FORMAT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30728 /* "SQLITE_DEFAULT_F..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_FILE_FORMAT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29993 /* "SQLITE_DEFAULT_S..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30755 /* "SQLITE_DEFAULT_S..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30020 /* "SQLITE_DEFAULT_W..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_WAL_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30782 /* "SQLITE_DEFAULT_W..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_WAL_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30051 /* "SQLITE_MAX_ATTAC..." */, uintptr(unsafe.Pointer(&cv_MAX_ATTACHED)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30813 /* "SQLITE_MAX_ATTAC..." */, uintptr(unsafe.Pointer(&cv_MAX_ATTACHED)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30071 /* "SQLITE_MAX_DEFAU..." */, uintptr(unsafe.Pointer(&cv_MAX_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30833 /* "SQLITE_MAX_DEFAU..." */, uintptr(unsafe.Pointer(&cv_MAX_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30100 /* "SQLITE_MAX_WORKE..." */, uintptr(unsafe.Pointer(&cv_MAX_WORKER_THREADS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30862 /* "SQLITE_MAX_WORKE..." */, uintptr(unsafe.Pointer(&cv_MAX_WORKER_THREADS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30126 /* "TEMP_STORE" */, uintptr(unsafe.Pointer(&cv_TEMP_STORE)), + tcl.XTcl_LinkVar(tls, interp, ts+30888 /* "TEMP_STORE" */, uintptr(unsafe.Pointer(&cv_TEMP_STORE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30137 /* "__GNUC__" */, uintptr(unsafe.Pointer(&cv___GNUC__)), + tcl.XTcl_LinkVar(tls, interp, ts+30899 /* "__GNUC__" */, uintptr(unsafe.Pointer(&cv___GNUC__)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } @@ -76530,15 +77757,15 @@ func sqlite3_delete_database(tls *libc.TLS, zFile uintptr) int32 { /* test_delet var rc int32 = 0 // System error code var i int32 // Iterate through azFmt[] and aMFile[] - *(*[4]uintptr)(unsafe.Pointer(bp + 24 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 30146 /* "%s-journal" */, ts + 30157 /* "%s-wal" */, ts + 30164 /* "%s-shm" */} + *(*[4]uintptr)(unsafe.Pointer(bp + 24 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 30908 /* "%s-journal" */, ts + 30919 /* "%s-wal" */, ts + 30926 /* "%s-shm" */} *(*[6]MFile)(unsafe.Pointer(bp + 56 /* aMFile */)) = [6]MFile{ - {FzFmt: ts + 30171 /* "%s%03d" */}, - {FzFmt: ts + 30178 /* "%s-journal%03d" */}, - {FzFmt: ts + 30193 /* "%s-wal%03d" */}, - {FzFmt: ts + 30171 /* "%s%03d" */, Fb83: 1}, - {FzFmt: ts + 30178 /* "%s-journal%03d" */, FiOffset: SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET, Fb83: 1}, - {FzFmt: ts + 30193 /* "%s-wal%03d" */, FiOffset: SQLITE_MULTIPLEX_WAL_8_3_OFFSET, Fb83: 1}, + {FzFmt: ts + 30933 /* "%s%03d" */}, + {FzFmt: ts + 30940 /* "%s-journal%03d" */}, + {FzFmt: ts + 30955 /* "%s-wal%03d" */}, + {FzFmt: ts + 30933 /* "%s%03d" */, Fb83: 1}, + {FzFmt: ts + 30940 /* "%s-journal%03d" */, FiOffset: SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET, Fb83: 1}, + {FzFmt: ts + 30955 /* "%s-wal%03d" */, FiOffset: SQLITE_MULTIPLEX_WAL_8_3_OFFSET, Fb83: 1}, } var pVfs uintptr = uintptr(0) @@ -77215,7 +78442,7 @@ func demoDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* test_de } func demoDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* test_demovfs.c:567:13: */ - sqlite3.Xsqlite3_snprintf(tls, nByte, zErrMsg, ts+30204 /* "Loadable extensi..." */, 0) + sqlite3.Xsqlite3_snprintf(tls, nByte, zErrMsg, ts+30966 /* "Loadable extensi..." */, 0) *(*int8)(unsafe.Pointer(zErrMsg + uintptr((nByte - 1)))) = int8(0) } @@ -77268,7 +78495,7 @@ var demovfs = sqlite3_vfs{ FiVersion: 1, // iVersion FszOsFile: int32(unsafe.Sizeof(DemoFile{})), // szOsFile FmxPathname: MAXPATHNAME, // pNext - FzName: ts + 30242, /* "demo" */ // pAppData + FzName: ts + 31004, /* "demo" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -77304,10 +78531,10 @@ func unregister_demovfs(tls *libc.TLS, clientData ClientData, interp uintptr, ob // Register commands with the TCL interpreter. func Sqlitetest_demovfs_Init(tls *libc.TLS, interp uintptr) int32 { /* test_demovfs.c:679:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+30247 /* "register_demovfs" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+31009 /* "register_demovfs" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{register_demovfs})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+30264 /* "unregister_demov..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+31026 /* "unregister_demov..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{unregister_demovfs})), uintptr(0), uintptr(0)) return TCL_OK @@ -77559,7 +78786,7 @@ var devsym_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(devsym_file{})), // szOsFile FmxPathname: DEVSYM_MAX_PATHNAME, // pNext - FzName: ts + 30283, /* "devsym" */ // pAppData + FzName: ts + 31045, /* "devsym" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -77573,7 +78800,7 @@ var writecrash_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(devsym_file{})), // szOsFile FmxPathname: DEVSYM_MAX_PATHNAME, // pNext - FzName: ts + 30290, /* "writecrash" */ // pAppData + FzName: ts + 31052, /* "writecrash" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -77676,7 +78903,7 @@ func fsdirConnect1(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin var pTab uintptr if argc != 3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27945 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28714 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -77687,7 +78914,7 @@ func fsdirConnect1(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin libc.X__builtin___memset_chk(tls, pTab, 0, uint64(unsafe.Sizeof(FsdirVtab{})), libc.X__builtin_object_size(tls, pTab, 0)) *(*uintptr)(unsafe.Pointer(ppVtab)) = (pTab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30301 /* "CREATE TABLE xyz..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+31063 /* "CREATE TABLE xyz..." */) return SQLITE_OK } @@ -77869,7 +79096,7 @@ func fstreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin var pTab uintptr if argc != 3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27945 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28714 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -77881,7 +79108,7 @@ func fstreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin (*FstreeVtab)(unsafe.Pointer(pTab)).Fdb = db *(*uintptr)(unsafe.Pointer(ppVtab)) = (pTab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30330 /* "CREATE TABLE xyz..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+31092 /* "CREATE TABLE xyz..." */) return SQLITE_OK } @@ -77973,7 +79200,7 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var pCsr uintptr = pVtabCursor var pTab uintptr = (*FstreeCsr)(unsafe.Pointer(pCsr)).Fbase.FpVtab var rc int32 - var zSql uintptr = ts + 30366 /* "WITH r(d) AS ( ..." */ + var zSql uintptr = ts + 31128 /* "WITH r(d) AS ( ..." */ var zRoot uintptr var nRoot int32 var zPrefix uintptr @@ -77982,7 +79209,7 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var nDir int32 *(*[2]int8)(unsafe.Pointer(bp /* aWild */)) = [2]int8{int8(0), int8(0)} - zRoot = ts + 30598 /* "/" */ + zRoot = ts + 31360 /* "/" */ nRoot = 1 zPrefix = ts + 489 /* "" */ nPrefix = 0 @@ -78103,7 +79330,7 @@ func fsConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr var zDb uintptr = *(*uintptr)(unsafe.Pointer(argv + 1*8)) if argc != 4 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27945 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28714 /* "wrong number of ..." */, 0) return SQLITE_ERROR } zTbl = *(*uintptr)(unsafe.Pointer(argv + 3*8)) @@ -78120,7 +79347,7 @@ func fsConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr libc.X__builtin___memcpy_chk(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzTbl, zTbl, libc.Xstrlen(tls, zTbl), libc.X__builtin_object_size(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzTbl, 0)) libc.X__builtin___memcpy_chk(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzDb, zDb, libc.Xstrlen(tls, zDb), libc.X__builtin_object_size(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzDb, 0)) *(*uintptr)(unsafe.Pointer(ppVtab)) = (pVtab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30600 /* "CREATE TABLE x(p..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+31362 /* "CREATE TABLE x(p..." */) return SQLITE_OK } @@ -78174,7 +79401,7 @@ func fsFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, if idxNum == 1 { var zStmt uintptr = sqlite3.Xsqlite3_mprintf(tls, - ts+30637 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) + ts+31399 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) if !(zStmt != 0) { return SQLITE_NOMEM } @@ -78339,9 +79566,9 @@ func register_fs_module(tls *libc.TLS, clientData ClientData, interp uintptr, ob if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30671 /* "fs" */, uintptr(unsafe.Pointer(&fsModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31433 /* "fs" */, uintptr(unsafe.Pointer(&fsModule)), interp) sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+5186 /* "fsdir" */, uintptr(unsafe.Pointer(&fsdirModule)), uintptr(0)) - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30674 /* "fstree" */, uintptr(unsafe.Pointer(&fstreeModule)), uintptr(0)) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31436 /* "fstree" */, uintptr(unsafe.Pointer(&fstreeModule)), uintptr(0)) return TCL_OK } @@ -78364,7 +79591,7 @@ var aObjCmd6 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 30681 /* "register_fs_modu..." */, FxProc: 0}, + {FzName: ts + 31443 /* "register_fs_modu..." */, FxProc: 0}, } /* test_fs.c:907:5 */ // Allocate nByte bytes of space using sqlite3_malloc(). If the @@ -78424,7 +79651,7 @@ func randStr(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* test sqlite3.Xsqlite3_result_text(tls, context, bp+4 /* zBuf */, n, libc.UintptrFromInt32(-1)) } -var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 30700 /* "abcdefghijklmnop..." */)) /* test_func.c:46:30 */ +var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 31462 /* "abcdefghijklmnop..." */)) /* test_func.c:46:30 */ // The following two SQL functions are used to test returning a text // result with a destructor. Function 'test_destructor' takes one argument @@ -78617,7 +79844,7 @@ func test_eval(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* test_ if rc != 0 { var zErr uintptr - zErr = sqlite3.Xsqlite3_mprintf(tls, ts+30779 /* "sqlite3_prepare_..." */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) + zErr = sqlite3.Xsqlite3_mprintf(tls, ts+31541 /* "sqlite3_prepare_..." */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) sqlite3.Xsqlite3_result_text(tls, pCtx, zErr, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) sqlite3.Xsqlite3_result_error_code(tls, pCtx, rc) } @@ -78723,11 +79950,11 @@ func real2hex(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* tes *(*float64)(unsafe.Pointer(bp /* &v */)) = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; i < 8; i++ { if bigEndian != 0 { - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((i * 2)))) = *(*int8)(unsafe.Pointer(ts + 30810 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((i * 2) + 1)))) = *(*int8)(unsafe.Pointer(ts + 30810 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((i * 2)))) = *(*int8)(unsafe.Pointer(ts + 31572 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((i * 2) + 1)))) = *(*int8)(unsafe.Pointer(ts + 31572 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) } else { - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((14 - (i * 2))))) = *(*int8)(unsafe.Pointer(ts + 30810 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((14 - (i * 2)) + 1)))) = *(*int8)(unsafe.Pointer(ts + 30810 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((14 - (i * 2))))) = *(*int8)(unsafe.Pointer(ts + 31572 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((14 - (i * 2)) + 1)))) = *(*int8)(unsafe.Pointer(ts + 31572 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) } } *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + 16)) = int8(0) @@ -78833,7 +80060,7 @@ func test_decode(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* var n int32 = sqlite3.Xsqlite3_value_bytes(tls, bp+40 /* &mem */) var z uintptr = sqlite3.Xsqlite3_value_blob(tls, bp+40 /* &mem */) var i int32 - pVal = tcl.XTcl_NewStringObj(tls, ts+30827 /* "x'" */, -1) + pVal = tcl.XTcl_NewStringObj(tls, ts+31589 /* "x'" */, -1) for i = 0; i < n; i++ { // var hex [3]int8 at bp+104, 3 @@ -78933,7 +80160,7 @@ func registerTestFunctions(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk u int32(aFuncs[i].FeTextRep), uintptr(0), aFuncs[i].FxFunc, uintptr(0), uintptr(0)) } - sqlite3.Xsqlite3_create_function(tls, db, ts+30830 /* "test_agg_errmsg1..." */, 0, SQLITE_ANY, uintptr(0), uintptr(0), + sqlite3.Xsqlite3_create_function(tls, db, ts+31592 /* "test_agg_errmsg1..." */, 0, SQLITE_ANY, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{test_agg_errmsg16_step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_agg_errmsg16_final}))) @@ -78948,26 +80175,26 @@ var aFuncs = [20]struct { FeTextRep uint32 FxFunc uintptr }{ - {FzName: ts + 30848 /* "randstr" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30856 /* "test_destructor" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30872 /* "test_destructor1..." */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30890 /* "hex_to_utf16be" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30905 /* "hex_to_utf16le" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30920 /* "hex_to_utf8" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30932 /* "test_destructor_..." */, FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30954 /* "test_auxdata" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30967 /* "test_error" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30967 /* "test_error" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30978 /* "test_eval" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30988 /* "test_isolation" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 31003 /* "test_counter" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 31016 /* "real2hex" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 31025 /* "test_decode" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 31037 /* "test_extract" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 31050 /* "test_zeroblob" */, FnArg: int8(1), FeTextRep: (uint32(SQLITE_UTF8 | SQLITE_DETERMINISTIC)), FxFunc: 0}, - {FzName: ts + 31064 /* "test_getsubtype" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 31080 /* "test_setsubtype" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 31096 /* "test_frombind" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31610 /* "randstr" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31618 /* "test_destructor" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31634 /* "test_destructor1..." */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31652 /* "hex_to_utf16be" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31667 /* "hex_to_utf16le" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31682 /* "hex_to_utf8" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31694 /* "test_destructor_..." */, FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31716 /* "test_auxdata" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31729 /* "test_error" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31729 /* "test_error" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31740 /* "test_eval" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31750 /* "test_isolation" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31765 /* "test_counter" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31778 /* "real2hex" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31787 /* "test_decode" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31799 /* "test_extract" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31812 /* "test_zeroblob" */, FnArg: int8(1), FeTextRep: (uint32(SQLITE_UTF8 | SQLITE_DETERMINISTIC)), FxFunc: 0}, + {FzName: ts + 31826 /* "test_getsubtype" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31842 /* "test_setsubtype" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31858 /* "test_frombind" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, } /* test_func.c:674:5 */ // TCLCMD: autoinstall_test_functions @@ -79015,7 +80242,7 @@ func abuse_create_function(tls *libc.TLS, clientData uintptr, interp uintptr, ob __1: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31110 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31872 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -79027,7 +80254,7 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31110 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31872 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -79039,7 +80266,7 @@ __2: __3: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31110 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31872 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { @@ -79049,7 +80276,7 @@ __3: __4: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31110 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31872 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { goto __5 } @@ -79057,7 +80284,7 @@ __4: __5: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31110 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31872 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -79067,7 +80294,7 @@ __5: __6: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31110 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31872 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -79077,7 +80304,7 @@ __6: __7: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31110 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31872 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -79089,7 +80316,7 @@ __8: rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), - ts+31113, /* "funcxx_123456789..." */ + ts+31875, /* "funcxx_123456789..." */ 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) @@ -79107,7 +80334,7 @@ __9: mxArg = sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), SQLITE_LIMIT_FUNCTION_ARG, -1) rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), - ts+31370, /* "nullx_123456789_..." */ + ts+32132, /* "nullx_123456789_..." */ mxArg, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) @@ -79121,7 +80348,7 @@ __10: return TCL_OK abuse_err: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31626, /* "sqlite3_create_f..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32388, /* "sqlite3_create_f..." */ uintptr(0))) return TCL_ERROR } @@ -79208,7 +80435,7 @@ __2: goto __3 } sqlite3.Xsqlite3_result_error(tls, pCtx, - ts+31669 /* "invalid matchinf..." */, -1) + ts+32431 /* "invalid matchinf..." */, -1) return __3: ; @@ -79269,7 +80496,7 @@ __7: // Jump here if the wrong number of arguments are passed to this function wrong_number_args: - sqlite3.Xsqlite3_result_error(tls, pCtx, ts+31718 /* "wrong number of ..." */, -1) + sqlite3.Xsqlite3_result_error(tls, pCtx, ts+32480 /* "wrong number of ..." */, -1) } func install_fts3_rank_function(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_func.c:910:26: */ @@ -79286,7 +80513,7 @@ func install_fts3_rank_function(tls *libc.TLS, clientData uintptr, interp uintpt if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31763 /* "rank" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+32525 /* "rank" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rankfunc})), uintptr(0), uintptr(0)) return TCL_OK @@ -79316,9 +80543,9 @@ var aObjCmd7 = [3]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 31768 /* "autoinstall_test..." */, FxProc: 0}, - {FzName: ts + 31795 /* "abuse_create_fun..." */, FxProc: 0}, - {FzName: ts + 31817 /* "install_fts3_ran..." */, FxProc: 0}, + {FzName: ts + 32530 /* "autoinstall_test..." */, FxProc: 0}, + {FzName: ts + 32557 /* "abuse_create_fun..." */, FxProc: 0}, + {FzName: ts + 32579 /* "install_fts3_ran..." */, FxProc: 0}, } /* test_func.c:937:5 */ // end block for C++ @@ -79548,7 +80775,7 @@ func sqlite3TestBinToHex(tls *libc.TLS, zBuf uintptr, N int32) { /* test_hexio.c bp := tls.Alloc(17) defer tls.Free(17) - *(*[17]uint8)(unsafe.Pointer(bp /* zHex */)) = *(*[17]uint8)(unsafe.Pointer(ts + 31844 /* "0123456789ABCDEF" */)) + *(*[17]uint8)(unsafe.Pointer(bp /* zHex */)) = *(*[17]uint8)(unsafe.Pointer(ts + 32606 /* "0123456789ABCDEF" */)) var i int32 var j int32 var c uint8 @@ -79628,7 +80855,7 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o var in uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31861 /* "FILENAME OFFSET ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32623 /* "FILENAME OFFSET ..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &offset */) != 0 { @@ -79644,10 +80871,10 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o } in = libc.Xfopen(tls, zFile, ts+4263 /* "rb" */) if in == uintptr(0) { - in = libc.Xfopen(tls, zFile, ts+31881 /* "r" */) + in = libc.Xfopen(tls, zFile, ts+32643 /* "r" */) } if in == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31883 /* "cannot open inpu..." */, zFile, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32645 /* "cannot open inpu..." */, zFile, 0)) return TCL_ERROR } libc.Xfseek(tls, in, int64(*(*int32)(unsafe.Pointer(bp + 40 /* offset */))), SEEK_SET) @@ -79682,7 +80909,7 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var out uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31907 /* "FILENAME OFFSET ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32669 /* "FILENAME OFFSET ..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24 /* &offset */) != 0 { @@ -79695,12 +80922,12 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } nOut = sqlite3TestHexToBin(tls, zIn, *(*int32)(unsafe.Pointer(bp + 28 /* nIn */)), aOut) - out = libc.Xfopen(tls, zFile, ts+31931 /* "r+b" */) + out = libc.Xfopen(tls, zFile, ts+32693 /* "r+b" */) if out == uintptr(0) { - out = libc.Xfopen(tls, zFile, ts+31935 /* "r+" */) + out = libc.Xfopen(tls, zFile, ts+32697 /* "r+" */) } if out == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31938 /* "cannot open outp..." */, zFile, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32700 /* "cannot open outp..." */, zFile, 0)) return TCL_ERROR } libc.Xfseek(tls, out, int64(*(*int32)(unsafe.Pointer(bp + 24 /* offset */))), SEEK_SET) @@ -79729,7 +80956,7 @@ func hexio_get_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 // var aNum [4]uint8 at bp+4, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31963 /* "HEXDATA" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32725 /* "HEXDATA" */) return TCL_ERROR } zIn = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nIn */) @@ -79812,7 +81039,7 @@ func utf8_to_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(16) tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+31971 /* "[utf8_to_utf8] u..." */, 0)) + libc.VaList(bp, ts+32733 /* "[utf8_to_utf8] u..." */, 0)) return TCL_ERROR } @@ -79857,7 +81084,7 @@ func read_fts3varint(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var nVal int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32025 /* "BLOB VARNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32787 /* "BLOB VARNAME" */) return TCL_ERROR } zBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nBlob */) @@ -79881,7 +81108,7 @@ func make_fts3record(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var i int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32038 /* "LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32800 /* "LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nArg */, bp+8 /* &aArg */) != 0 { @@ -79952,14 +81179,14 @@ var aObjCmd8 = [8]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 32043 /* "hexio_read" */, FxProc: 0}, - {FzName: ts + 32054 /* "hexio_write" */, FxProc: 0}, - {FzName: ts + 32066 /* "hexio_get_int" */, FxProc: 0}, - {FzName: ts + 32080 /* "hexio_render_int..." */, FxProc: 0}, - {FzName: ts + 32099 /* "hexio_render_int..." */, FxProc: 0}, - {FzName: ts + 32118 /* "utf8_to_utf8" */, FxProc: 0}, - {FzName: ts + 32131 /* "read_fts3varint" */, FxProc: 0}, - {FzName: ts + 32147 /* "make_fts3record" */, FxProc: 0}, + {FzName: ts + 32805 /* "hexio_read" */, FxProc: 0}, + {FzName: ts + 32816 /* "hexio_write" */, FxProc: 0}, + {FzName: ts + 32828 /* "hexio_get_int" */, FxProc: 0}, + {FzName: ts + 32842 /* "hexio_render_int..." */, FxProc: 0}, + {FzName: ts + 32861 /* "hexio_render_int..." */, FxProc: 0}, + {FzName: ts + 32880 /* "utf8_to_utf8" */, FxProc: 0}, + {FzName: ts + 32893 /* "read_fts3varint" */, FxProc: 0}, + {FzName: ts + 32909 /* "make_fts3record" */, FxProc: 0}, } /* test_hexio.c:450:5 */ // end block for C++ @@ -80200,14 +81427,14 @@ func init_wrapper_install(tls *libc.TLS, clientData ClientData, interp uintptr, installInitWrappers(tls) for i = 1; i < objc; i++ { var z uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))) - if libc.Xstrcmp(tls, z, ts+32163 /* "mem" */) == 0 { + if libc.Xstrcmp(tls, z, ts+32925 /* "mem" */) == 0 { wrapped.Fmem_fail = 1 - } else if libc.Xstrcmp(tls, z, ts+28680 /* "mutex" */) == 0 { + } else if libc.Xstrcmp(tls, z, ts+29449 /* "mutex" */) == 0 { wrapped.Fmutex_fail = 1 - } else if libc.Xstrcmp(tls, z, ts+32167 /* "pcache" */) == 0 { + } else if libc.Xstrcmp(tls, z, ts+32929 /* "pcache" */) == 0 { wrapped.Fpcache_fail = 1 } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32174 /* "Unknown argument..." */, z, ts+11634 /* "\"" */)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32936 /* "Unknown argument..." */, z, ts+12415 /* "\"" */)) return TCL_ERROR } } @@ -80252,13 +81479,13 @@ func init_wrapper_query(tls *libc.TLS, clientData ClientData, interp uintptr, ob pRet = tcl.XTcl_NewObj(tls) if wrapped.Fmutex_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+28680 /* "mutex" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+29449 /* "mutex" */, -1)) } if wrapped.Fmem_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32163 /* "mem" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32925 /* "mem" */, -1)) } if wrapped.Fpcache_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32167 /* "pcache" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32929 /* "pcache" */, -1)) } tcl.XTcl_SetObjResult(tls, interp, pRet) @@ -80282,10 +81509,10 @@ var aObjCmd9 = [4]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 32194 /* "init_wrapper_ins..." */, FxProc: 0}, - {FzName: ts + 32215 /* "init_wrapper_que..." */, FxProc: 0}, - {FzName: ts + 32234 /* "init_wrapper_uni..." */, FxProc: 0}, - {FzName: ts + 32257 /* "init_wrapper_cle..." */, FxProc: 0}, + {FzName: ts + 32956 /* "init_wrapper_ins..." */, FxProc: 0}, + {FzName: ts + 32977 /* "init_wrapper_que..." */, FxProc: 0}, + {FzName: ts + 32996 /* "init_wrapper_uni..." */, FxProc: 0}, + {FzName: ts + 33019 /* "init_wrapper_cle..." */, FxProc: 0}, } /* test_init.c:282:5 */ // @@ -80358,7 +81585,7 @@ func intarrayCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui if pVtab != 0 { libc.X__builtin___memset_chk(tls, pVtab, 0, uint64(unsafe.Sizeof(intarray_vtab{})), libc.X__builtin_object_size(tls, pVtab, 0)) (*intarray_vtab)(unsafe.Pointer(pVtab)).FpContent = pAux - rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+32276 /* "CREATE TABLE x(v..." */) + rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+33038 /* "CREATE TABLE x(v..." */) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab return rc @@ -80468,7 +81695,7 @@ func sqlite3_intarray_create(tls *libc.TLS, db uintptr, zName uintptr, ppReturn *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{intarrayFree}))) if rc == SQLITE_OK { var zSql uintptr - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+32318, /* "CREATE VIRTUAL T..." */ + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+33080, /* "CREATE VIRTUAL T..." */ libc.VaList(bp, zName, zName)) rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) @@ -80539,14 +81766,14 @@ func test_intarray_bind(tls *libc.TLS, clientData ClientData, interp uintptr, ob var a uintptr if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32356 /* "INTARRAY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33118 /* "INTARRAY" */) return TCL_ERROR } pArray = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) n = (objc - 2) a = sqlite3.Xsqlite3_malloc64(tls, (uint64(uint64(unsafe.Sizeof(sqlite3_int64(0))) * uint64(n)))) if a == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32365 /* "SQLITE_NOMEM" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33127 /* "SQLITE_NOMEM" */, uintptr(0))) return TCL_ERROR } for i = 0; i < n; i++ { @@ -80581,8 +81808,8 @@ var aObjCmd10 = [2]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 32378 /* "sqlite3_intarray..." */, FxProc: 0}, - {FzName: ts + 32402 /* "sqlite3_intarray..." */, FxProc: 0}, + {FzName: ts + 33140 /* "sqlite3_intarray..." */, FxProc: 0}, + {FzName: ts + 33164 /* "sqlite3_intarray..." */, FxProc: 0}, } /* test_intarray.c:380:5 */ // Maximum pathname length supported by the jt backend. @@ -80615,7 +81842,7 @@ var jt_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(jt_file{})), // szOsFile FmxPathname: JT_MAX_PATHNAME, // pNext - FzName: ts + 32424, /* "jt" */ // pAppData + FzName: ts + 33186, /* "jt" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -80729,7 +81956,7 @@ func locateDatabaseHandle(tls *libc.TLS, zJournal uintptr, noLock int32) uintptr var pMain uintptr = uintptr(0) enterJtMutex(tls) for pMain = g2.FpList; pMain != 0; pMain = (*jt_file)(unsafe.Pointer(pMain)).FpNext { - var nName int32 = (int32(libc.Xstrlen(tls, zJournal) - libc.Xstrlen(tls, ts+32427 /* "-journal" */))) + var nName int32 = (int32(libc.Xstrlen(tls, zJournal) - libc.Xstrlen(tls, ts+33189 /* "-journal" */))) if (((((*jt_file)(unsafe.Pointer(pMain)).Fflags & SQLITE_OPEN_MAIN_DB) != 0) && (int32(libc.Xstrlen(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName)) == nName)) && (0 == libc.Xmemcmp(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName, zJournal, uint64(nName)))) && @@ -81194,7 +82421,7 @@ func jtOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int // returning. func jtDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* test_journal.c:733:12: */ var nPath int32 = int32(libc.Xstrlen(tls, zPath)) - if (nPath > 8) && (0 == libc.Xstrcmp(tls, ts+32427 /* "-journal" */, (zPath+uintptr((nPath-8))))) { + if (nPath > 8) && (0 == libc.Xstrcmp(tls, ts+33189 /* "-journal" */, (zPath+uintptr((nPath-8))))) { // Deleting a journal file. The end of a transaction. var pMain uintptr = locateDatabaseHandle(tls, zPath, 0) if pMain != 0 { @@ -81941,7 +83168,7 @@ func pointerToText(tls *libc.TLS, p uintptr, z uintptr) { /* test_malloc.c:239:1 // var n sqlite3_uint64 at bp, 8 if *(*uintptr)(unsafe.Pointer(bp + 8 /* p */)) == uintptr(0) { - libc.X__builtin___strcpy_chk(tls, z, ts+13873 /* "0" */, libc.X__builtin_object_size(tls, z, func() int32 { + libc.X__builtin___strcpy_chk(tls, z, ts+14654 /* "0" */, libc.X__builtin_object_size(tls, z, func() int32 { if X_USE_FORTIFY_LEVEL > 1 { return 1 } @@ -81979,7 +83206,7 @@ __3: *(*int8)(unsafe.Pointer(z + 16)) = int8(0) } -var zHex = *(*[17]int8)(unsafe.Pointer(ts + 30810 /* "0123456789abcdef" */)) /* test_malloc.c:240:21 */ +var zHex = *(*[17]int8)(unsafe.Pointer(ts + 31572 /* "0123456789abcdef" */)) /* test_malloc.c:240:21 */ func hexToInt(tls *libc.TLS, h int32) int32 { /* test_malloc.c:262:12: */ if (h >= '0') && (h <= '9') { @@ -82035,7 +83262,7 @@ func test_malloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zOut [100]int8 at bp+20, 100 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32436 /* "NBYTES" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33198 /* "NBYTES" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &nByte */) != 0 { @@ -82062,14 +83289,14 @@ func test_realloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zOut [100]int8 at bp+56, 100 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32443 /* "PRIOR NBYTES" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33205 /* "PRIOR NBYTES" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &nByte */) != 0 { return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &pPrior */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32456 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33218 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } p = sqlite3.Xsqlite3_realloc(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pPrior */)), int32(uint32(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))))) @@ -82088,11 +83315,11 @@ func test_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob // var pPrior uintptr at bp+24, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32470 /* "PRIOR" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33232 /* "PRIOR" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &pPrior */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32456 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33218 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPrior */))) @@ -82119,18 +83346,18 @@ func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zBin [100]int8 at bp+72, 100 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32476 /* "ADDRESS SIZE HEX" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33238 /* "ADDRESS SIZE HEX" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &p */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32456 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33218 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64 /* &size */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 64 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32493 /* "size must be pos..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+33255 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } zHex = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+68 /* &n */) @@ -82139,7 +83366,7 @@ func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } *(*int32)(unsafe.Pointer(bp + 68 /* n */)) = sqlite3TestHexToBin(tls, zHex, *(*int32)(unsafe.Pointer(bp + 68 /* n */)), bp+72 /* &zBin[0] */) if *(*int32)(unsafe.Pointer(bp + 68 /* n */)) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+32515 /* "no data" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+33277 /* "no data" */, uintptr(0))) return TCL_ERROR } zOut = *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) @@ -82165,18 +83392,18 @@ func test_memget(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zHex [100]int8 at bp+68, 100 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32523 /* "ADDRESS SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33285 /* "ADDRESS SIZE" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &p */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32456 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33218 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64 /* &size */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 64 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32493 /* "size must be pos..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+33255 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } zBin = *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) @@ -82212,7 +83439,7 @@ func test_memory_highwater(tls *libc.TLS, clientData uintptr, interp uintptr, ob *(*int32)(unsafe.Pointer(bp /* resetFlag */)) = 0 if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32536 /* "?RESET?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33298 /* "?RESET?" */) return TCL_ERROR } if objc == 2 { @@ -82236,7 +83463,7 @@ func test_memdebug_backtrace(tls *libc.TLS, clientData uintptr, interp uintptr, // var depth int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32544 /* "DEPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33306 /* "DEPT" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &depth */) != 0 { @@ -82250,7 +83477,7 @@ func test_memdebug_backtrace(tls *libc.TLS, clientData uintptr, interp uintptr, // Write a summary of unfreed memory to FILENAME. func test_memdebug_dump(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:542:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32549 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33311 /* "FILENAME" */) return TCL_ERROR } return TCL_OK @@ -82298,7 +83525,7 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc var nFail int32 = 0 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32558 /* "COUNTER ?OPTIONS..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33320 /* "COUNTER ?OPTIONS..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &iFail */) != 0 { @@ -82311,22 +83538,22 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc var zOption uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(ii)*8)), bp+28 /* &nOption */) var zErr uintptr = uintptr(0) - if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32576 /* "-repeat" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { + if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+33338 /* "-repeat" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { if ii == (objc - 1) { - zErr = ts + 12327 /* "option requires ..." */ + zErr = ts + 13108 /* "option requires ..." */ } else { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*8)), bp+32 /* &nRepeat */) != 0 { return TCL_ERROR } } - } else if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32584 /* "-benigncnt" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { + } else if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+33346 /* "-benigncnt" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { if ii == (objc - 1) { - zErr = ts + 12327 /* "option requires ..." */ + zErr = ts + 13108 /* "option requires ..." */ } else { pBenignCnt = *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*8)) } } else { - zErr = ts + 12133 /* "unknown option: " */ + zErr = ts + 12914 /* "unknown option: " */ } if zErr != 0 { @@ -82378,7 +83605,7 @@ var sqlite3_memdebug_title_count int32 = 0 /* test_malloc.c:694:12 */ func test_memdebug_settitle(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:706:26: */ sqlite3_memdebug_title_count++ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32595 /* "TITLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33357 /* "TITLE" */) return TCL_ERROR } return TCL_OK @@ -82431,7 +83658,7 @@ func test_memdebug_log(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32601 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33363 /* "SUB-COMMAND ..." */) } if tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&MB_strs)), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) != 0 { return TCL_ERROR @@ -82495,7 +83722,7 @@ func test_memdebug_log(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } var isInit int32 = 0 /* test_malloc.c:793:14 */ -var MB_strs = [5]uintptr{ts + 32617 /* "start" */, ts + 32623 /* "stop" */, ts + 32628 /* "dump" */, ts + 32633 /* "clear" */, ts + 32639 /* "sync" */} /* test_malloc.c:796:21 */ +var MB_strs = [5]uintptr{ts + 33379 /* "start" */, ts + 33385 /* "stop" */, ts + 33390 /* "dump" */, ts + 33395 /* "clear" */, ts + 33401 /* "sync" */} /* test_malloc.c:796:21 */ // Usage: sqlite3_config_pagecache SIZE N // @@ -82515,7 +83742,7 @@ func test_config_pagecache(tls *libc.TLS, clientData uintptr, interp uintptr, ob var pRes uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32644 /* "SIZE N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33406 /* "SIZE N" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+48 /* &sz */) != 0 { @@ -82563,7 +83790,7 @@ func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int *(*int32)(unsafe.Pointer(bp + 28 /* highStress */)) = 0 if (objc < 2) || (objc > 5) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+32651 /* "INSTALLFLAG DISC..." */) + ts+33413 /* "INSTALLFLAG DISC..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &installFlag */) != 0 { @@ -82579,7 +83806,7 @@ func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int return TCL_ERROR } if (*(*int32)(unsafe.Pointer(bp + 20 /* discardChance */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 20 /* discardChance */)) > 100) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32698, /* "discard-chance s..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33460, /* "discard-chance s..." */ uintptr(0))) return TCL_ERROR } @@ -82599,7 +83826,7 @@ func test_config_memstatus(tls *libc.TLS, clientData uintptr, interp uintptr, ob var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17982 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18763 /* "BOOLEAN" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &enable */) != 0 { @@ -82622,7 +83849,7 @@ func test_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, ob var pRet uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32741 /* "SIZE COUNT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33503 /* "SIZE COUNT" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &sz */) != 0 { @@ -82660,7 +83887,7 @@ func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, // var bufid int32 at bp+72, 4 if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32752 /* "BUFID SIZE COUNT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33514 /* "BUFID SIZE COUNT" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -82680,7 +83907,7 @@ func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, } else if ((*(*int32)(unsafe.Pointer(bp + 72 /* bufid */)) >= 1) && (*(*int32)(unsafe.Pointer(bp + 72 /* bufid */)) <= 2)) && ((uint64(*(*int32)(unsafe.Pointer(bp + 76 /* sz */)) * *(*int32)(unsafe.Pointer(bp + 80 /* cnt */)))) <= uint64(unsafe.Sizeof([10000]int8{}))) { rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+24, (uintptr(unsafe.Pointer(&azBuf))+uintptr(*(*int32)(unsafe.Pointer(bp + 72 /* bufid */)))*10000), *(*int32)(unsafe.Pointer(bp + 76 /* sz */)), *(*int32)(unsafe.Pointer(bp + 80 /* cnt */)))) } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+32769 /* "illegal argument..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+33531 /* "illegal argument..." */, uintptr(0))) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) @@ -82704,7 +83931,7 @@ func test_config_heap(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var nArg int32 = (objc - 1) if nArg != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32807 /* "NBYTE NMINALLOC" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33569 /* "NBYTE NMINALLOC" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+48 /* &nByte */) != 0 { @@ -82742,7 +83969,7 @@ func test_config_heap_size(tls *libc.TLS, clientData uintptr, interp uintptr, ob var nArg int32 = (objc - 1) if nArg != 1 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15910 /* "NBYTE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+8 /* &nByte */) != 0 { @@ -82766,7 +83993,7 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+32, 8 if (objc != 2) && (objc != 1) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32823 /* "[DB]" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33585 /* "[DB]" */) return TCL_ERROR } if objc == 2 { @@ -82775,14 +84002,14 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } if sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+32828, /* "sqlite3_db_confi..." */ + libc.VaList(bp, ts+33590, /* "sqlite3_db_confi..." */ uintptr(0))) return TCL_ERROR } } else { if sqlite3.Xsqlite3_config(tls, 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+16, ts+32886, /* "sqlite3_config(9..." */ + libc.VaList(bp+16, ts+33648, /* "sqlite3_config(9..." */ uintptr(0))) return TCL_ERROR } @@ -82802,7 +84029,7 @@ func test_config_uri(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var bOpenUri int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18705 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &bOpenUri */) != 0 { @@ -82827,7 +84054,7 @@ func test_config_cis(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var bUseCis int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18705 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &bUseCis */) != 0 { @@ -82851,7 +84078,7 @@ func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var iPmaSz int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18705 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &iPmaSz */) != 0 { @@ -82870,7 +84097,7 @@ func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // Write a summary of unfreed memsys3 allocations to FILENAME. func test_dump_memsys3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:1251:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32549 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33311 /* "FILENAME" */) return TCL_ERROR } @@ -82908,7 +84135,7 @@ func test_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zOpName uintptr var pResult uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32937 /* "PARAMETER RESETF..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33699 /* "PARAMETER RESETF..." */) return TCL_ERROR } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -82950,16 +84177,16 @@ var aOp1 = [10]struct { Fop int32 _ [4]byte }{ - {FzName: ts + 32957 /* "SQLITE_STATUS_ME..." */}, - {FzName: ts + 32983 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, - {FzName: ts + 33009 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_USED}, - {FzName: ts + 33038 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_OVERFLOW}, - {FzName: ts + 33071 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_SIZE}, - {FzName: ts + 33100 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_USED}, - {FzName: ts + 33127 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_OVERFLOW}, - {FzName: ts + 33158 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_SIZE}, - {FzName: ts + 33185 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PARSER_STACK}, - {FzName: ts + 33212 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_COUNT}, + {FzName: ts + 33719 /* "SQLITE_STATUS_ME..." */}, + {FzName: ts + 33745 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, + {FzName: ts + 33771 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_USED}, + {FzName: ts + 33800 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_OVERFLOW}, + {FzName: ts + 33833 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_SIZE}, + {FzName: ts + 33862 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_USED}, + {FzName: ts + 33889 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_OVERFLOW}, + {FzName: ts + 33920 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_SIZE}, + {FzName: ts + 33947 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PARSER_STACK}, + {FzName: ts + 33974 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_COUNT}, } /* test_malloc.c:1299:5 */ // Usage: sqlite3_db_status DATABASE OPCODE RESETFLAG @@ -82984,17 +84211,17 @@ func test_db_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var pResult uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33239 /* "DB PARAMETER RES..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34001 /* "DB PARAMETER RES..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if libc.Xmemcmp(tls, zOpName, ts+33262 /* "SQLITE_" */, uint64(7)) == 0 { + if libc.Xmemcmp(tls, zOpName, ts+34024 /* "SQLITE_" */, uint64(7)) == 0 { zOpName += uintptr(7) } - if libc.Xmemcmp(tls, zOpName, ts+33270 /* "DBSTATUS_" */, uint64(9)) == 0 { + if libc.Xmemcmp(tls, zOpName, ts+34032 /* "DBSTATUS_" */, uint64(9)) == 0 { zOpName += uintptr(9) } for i = 0; i < (int32(uint64(unsafe.Sizeof(aOp2)) / uint64(unsafe.Sizeof(struct { @@ -83035,19 +84262,19 @@ var aOp2 = [13]struct { Fop int32 _ [4]byte }{ - {FzName: ts + 33280 /* "LOOKASIDE_USED" */}, - {FzName: ts + 33295 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, - {FzName: ts + 33306 /* "SCHEMA_USED" */, Fop: SQLITE_DBSTATUS_SCHEMA_USED}, - {FzName: ts + 33318 /* "STMT_USED" */, Fop: SQLITE_DBSTATUS_STMT_USED}, - {FzName: ts + 33328 /* "LOOKASIDE_HIT" */, Fop: SQLITE_DBSTATUS_LOOKASIDE_HIT}, - {FzName: ts + 33342 /* "LOOKASIDE_MISS_S..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE}, - {FzName: ts + 33362 /* "LOOKASIDE_MISS_F..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL}, - {FzName: ts + 33382 /* "CACHE_HIT" */, Fop: SQLITE_DBSTATUS_CACHE_HIT}, - {FzName: ts + 33392 /* "CACHE_MISS" */, Fop: SQLITE_DBSTATUS_CACHE_MISS}, - {FzName: ts + 33403 /* "CACHE_WRITE" */, Fop: SQLITE_DBSTATUS_CACHE_WRITE}, - {FzName: ts + 33415 /* "DEFERRED_FKS" */, Fop: SQLITE_DBSTATUS_DEFERRED_FKS}, - {FzName: ts + 33428 /* "CACHE_USED_SHARE..." */, Fop: SQLITE_DBSTATUS_CACHE_USED_SHARED}, - {FzName: ts + 33446 /* "CACHE_SPILL" */, Fop: SQLITE_DBSTATUS_CACHE_SPILL}, + {FzName: ts + 34042 /* "LOOKASIDE_USED" */}, + {FzName: ts + 34057 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, + {FzName: ts + 34068 /* "SCHEMA_USED" */, Fop: SQLITE_DBSTATUS_SCHEMA_USED}, + {FzName: ts + 34080 /* "STMT_USED" */, Fop: SQLITE_DBSTATUS_STMT_USED}, + {FzName: ts + 34090 /* "LOOKASIDE_HIT" */, Fop: SQLITE_DBSTATUS_LOOKASIDE_HIT}, + {FzName: ts + 34104 /* "LOOKASIDE_MISS_S..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE}, + {FzName: ts + 34124 /* "LOOKASIDE_MISS_F..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL}, + {FzName: ts + 34144 /* "CACHE_HIT" */, Fop: SQLITE_DBSTATUS_CACHE_HIT}, + {FzName: ts + 34154 /* "CACHE_MISS" */, Fop: SQLITE_DBSTATUS_CACHE_MISS}, + {FzName: ts + 34165 /* "CACHE_WRITE" */, Fop: SQLITE_DBSTATUS_CACHE_WRITE}, + {FzName: ts + 34177 /* "DEFERRED_FKS" */, Fop: SQLITE_DBSTATUS_DEFERRED_FKS}, + {FzName: ts + 34190 /* "CACHE_USED_SHARE..." */, Fop: SQLITE_DBSTATUS_CACHE_USED_SHARED}, + {FzName: ts + 34208 /* "CACHE_SPILL" */, Fop: SQLITE_DBSTATUS_CACHE_SPILL}, } /* test_malloc.c:1358:5 */ // install_malloc_faultsim BOOLEAN @@ -83059,7 +84286,7 @@ func test_install_malloc_faultsim(tls *libc.TLS, clientData uintptr, interp uint // var isInstall int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17982 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18763 /* "BOOLEAN" */) return TCL_ERROR } if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &isInstall */) { @@ -83082,7 +84309,7 @@ func test_vfs_oom_test(tls *libc.TLS, clientData uintptr, interp uintptr, objc i defer tls.Free(4) if objc > 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33458 /* "?INTEGER?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34220 /* "?INTEGER?" */) return TCL_ERROR } else if objc == 2 { // var iNew int32 at bp, 4 @@ -83117,38 +84344,38 @@ var aObjCmd11 = [32]struct { FclientData int32 _ [4]byte }{ - {FzName: ts + 27716 /* "sqlite3_malloc" */, FxProc: 0}, - {FzName: ts + 27731 /* "sqlite3_realloc" */, FxProc: 0}, - {FzName: ts + 33468 /* "sqlite3_free" */, FxProc: 0}, - {FzName: ts + 33481 /* "memset" */, FxProc: 0}, - {FzName: ts + 33488 /* "memget" */, FxProc: 0}, - {FzName: ts + 33495 /* "sqlite3_memory_u..." */, FxProc: 0}, - {FzName: ts + 33515 /* "sqlite3_memory_h..." */, FxProc: 0}, - {FzName: ts + 33540 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33567 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33589 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33611 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33636 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33662 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33692 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33713 /* "sqlite3_config_p..." */, FxProc: 0}, - {FzName: ts + 33738 /* "sqlite3_config_a..." */, FxProc: 0}, - {FzName: ts + 33764 /* "sqlite3_status" */, FxProc: 0}, - {FzName: ts + 33779 /* "sqlite3_db_statu..." */, FxProc: 0}, - {FzName: ts + 33797 /* "install_malloc_f..." */, FxProc: 0}, - {FzName: ts + 33821 /* "sqlite3_config_h..." */, FxProc: 0}, - {FzName: ts + 33841 /* "sqlite3_config_h..." */, FxProc: 0}, - {FzName: ts + 33866 /* "sqlite3_config_m..." */, FxProc: 0}, - {FzName: ts + 33891 /* "sqlite3_config_l..." */, FxProc: 0}, - {FzName: ts + 33916 /* "sqlite3_config_e..." */, FxProc: 0}, - {FzName: ts + 33937 /* "sqlite3_config_u..." */, FxProc: 0}, - {FzName: ts + 33956 /* "sqlite3_config_c..." */, FxProc: 0}, - {FzName: ts + 33975 /* "sqlite3_config_p..." */, FxProc: 0}, - {FzName: ts + 33996 /* "sqlite3_db_confi..." */, FxProc: 0}, - {FzName: ts + 34024 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 3}, - {FzName: ts + 34045 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 5}, - {FzName: ts + 34066 /* "sqlite3_install_..." */, FxProc: 0}, - {FzName: ts + 34090 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 28485 /* "sqlite3_malloc" */, FxProc: 0}, + {FzName: ts + 28500 /* "sqlite3_realloc" */, FxProc: 0}, + {FzName: ts + 34230 /* "sqlite3_free" */, FxProc: 0}, + {FzName: ts + 34243 /* "memset" */, FxProc: 0}, + {FzName: ts + 34250 /* "memget" */, FxProc: 0}, + {FzName: ts + 34257 /* "sqlite3_memory_u..." */, FxProc: 0}, + {FzName: ts + 34277 /* "sqlite3_memory_h..." */, FxProc: 0}, + {FzName: ts + 34302 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34329 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34351 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34373 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34398 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34424 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34454 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34475 /* "sqlite3_config_p..." */, FxProc: 0}, + {FzName: ts + 34500 /* "sqlite3_config_a..." */, FxProc: 0}, + {FzName: ts + 34526 /* "sqlite3_status" */, FxProc: 0}, + {FzName: ts + 34541 /* "sqlite3_db_statu..." */, FxProc: 0}, + {FzName: ts + 34559 /* "install_malloc_f..." */, FxProc: 0}, + {FzName: ts + 34583 /* "sqlite3_config_h..." */, FxProc: 0}, + {FzName: ts + 34603 /* "sqlite3_config_h..." */, FxProc: 0}, + {FzName: ts + 34628 /* "sqlite3_config_m..." */, FxProc: 0}, + {FzName: ts + 34653 /* "sqlite3_config_l..." */, FxProc: 0}, + {FzName: ts + 34678 /* "sqlite3_config_e..." */, FxProc: 0}, + {FzName: ts + 34699 /* "sqlite3_config_u..." */, FxProc: 0}, + {FzName: ts + 34718 /* "sqlite3_config_c..." */, FxProc: 0}, + {FzName: ts + 34737 /* "sqlite3_config_p..." */, FxProc: 0}, + {FzName: ts + 34758 /* "sqlite3_db_confi..." */, FxProc: 0}, + {FzName: ts + 34786 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 3}, + {FzName: ts + 34807 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 5}, + {FzName: ts + 34828 /* "sqlite3_install_..." */, FxProc: 0}, + {FzName: ts + 34852 /* "sqlite3_memdebug..." */, FxProc: 0}, } /* test_malloc.c:1472:5 */ // end block for C++ @@ -83534,7 +84761,7 @@ func MD5DigestToBase16(tls *libc.TLS, digest uintptr, zBuf uintptr) { /* test_md *(*int8)(unsafe.Pointer(zBuf + uintptr(j))) = int8(0) } -var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 30810 /* "0123456789abcdef" */)) /* test_md5.c:285:21 */ +var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 31572 /* "0123456789abcdef" */)) /* test_md5.c:285:21 */ // Convert a 128-bit MD5 digest into sequency of eight 5-digit integers // each representing 16 bits of the digest and separated from each @@ -83551,7 +84778,7 @@ func MD5DigestToBase10x8(tls *libc.TLS, digest uintptr, zDigest uintptr) { /* te if i > 0 { *(*int8)(unsafe.Pointer(zDigest + uintptr(libc.PostIncInt32(&j, 1)))) = int8('-') } - sqlite3.Xsqlite3_snprintf(tls, (50 - j), (zDigest + uintptr(j)), ts+34120 /* "%05u" */, libc.VaList(bp, x)) + sqlite3.Xsqlite3_snprintf(tls, (50 - j), (zDigest + uintptr(j)), ts+34882 /* "%05u" */, libc.VaList(bp, x)) j = j + (5) } *(*int8)(unsafe.Pointer(zDigest + uintptr(j))) = int8(0) @@ -83572,8 +84799,8 @@ func md5_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uintptr var converter uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14992 /* " TEXT\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15773 /* " TEXT\"" */, uintptr(0))) return TCL_ERROR } MD5Init(tls, bp+48 /* &ctx */) @@ -83602,8 +84829,8 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin // var zBuf [10240]int8 at bp+172, 10240 if (argc != 2) && (argc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+34125 /* " FILENAME [OFFSE..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+34887 /* " FILENAME [OFFSE..." */, uintptr(0))) return TCL_ERROR } if argc == 4 { @@ -83615,8 +84842,8 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin } in = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+4263 /* "rb" */) if in == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+34149 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), - ts+34171 /* "\" for reading" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+34911 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), + ts+34933 /* "\" for reading" */, uintptr(0))) return TCL_ERROR } libc.Xfseek(tls, in, int64(ofst), SEEK_SET) @@ -83646,25 +84873,25 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin // Register the four new TCL commands for generating MD5 checksums // with the TCL interpreter. func Md5_Init(tls *libc.TLS, interp uintptr) int32 { /* test_md5.c:400:5: */ - tcl.XTcl_CreateCommand(tls, interp, ts+34185 /* "md5" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34947 /* "md5" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase16})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34189 /* "md5-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34951 /* "md5-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase10x8})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34198 /* "md5file" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34960 /* "md5file" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5file_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase16})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34206 /* "md5file-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34968 /* "md5file-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5file_cmd})), *(*uintptr)(unsafe.Pointer(&struct { @@ -83712,11 +84939,11 @@ func md5finalize(tls *libc.TLS, context uintptr) { /* test_md5.c:432:13: */ } func Md5_Register(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk uintptr) int32 { /* test_md5.c:441:5: */ - var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+34219 /* "md5sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), + var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+34981 /* "md5sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{md5step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{md5finalize}))) - sqlite3.Xsqlite3_overload_function(tls, db, ts+34219 /* "md5sum" */, -1) // To exercise this API + sqlite3.Xsqlite3_overload_function(tls, db, ts+34981 /* "md5sum" */, -1) // To exercise this API return rc } @@ -83886,7 +85113,7 @@ func multiplexFilename(tls *libc.TLS, zBase uintptr, nBase int32, flags int32, i var n int32 = nBase libc.X__builtin___memcpy_chk(tls, zOut, zBase, (uint64(n + 1)), libc.X__builtin_object_size(tls, zOut, 0)) if (iChunk != 0) && (iChunk <= MX_CHUNK_NUMBER) { - sqlite3.Xsqlite3_snprintf(tls, 4, (zOut + uintptr(n)), ts+34226 /* "%03d" */, libc.VaList(bp, iChunk)) + sqlite3.Xsqlite3_snprintf(tls, 4, (zOut + uintptr(n)), ts+34988 /* "%03d" */, libc.VaList(bp, iChunk)) n = n + (3) } @@ -83952,7 +85179,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p SQLITE_ACCESS_EXISTS, bp+16 /* &bExists */) if (*(*int32)(unsafe.Pointer(rc)) != 0) || !(*(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) != 0) { if *(*int32)(unsafe.Pointer(rc)) != 0 { - sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34231, /* "multiplexor.xAcc..." */ + sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34993, /* "multiplexor.xAcc..." */ libc.VaList(bp, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz)) } return uintptr(0) @@ -83968,7 +85195,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p *(*int32)(unsafe.Pointer(rc)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 40 /* &.xOpen */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, pSubOpen, flags, pOutFlags) if (*(*int32)(unsafe.Pointer(rc))) != SQLITE_OK { - sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34265, /* "multiplexor.xOpe..." */ + sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+35027, /* "multiplexor.xOpe..." */ libc.VaList(bp+8, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz)) sqlite3.Xsqlite3_free(tls, pSubOpen) (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*16)).Fp = uintptr(0) @@ -84044,7 +85271,7 @@ func multiplexControlFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp // multiplex_control() function. func multiplexFuncInit(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 { /* test_multiplex.c:417:12: */ var rc int32 - rc = sqlite3.Xsqlite3_create_function(tls, db, ts+34297 /* "multiplex_contro..." */, 2, SQLITE_ANY, + rc = sqlite3.Xsqlite3_create_function(tls, db, ts+35059 /* "multiplex_contro..." */, 2, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{multiplexControlFunc})), uintptr(0), uintptr(0)) @@ -84129,9 +85356,9 @@ func multiplexOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, fl libc.X__builtin___memset_chk(tls, pGroup, 0, uint64(sz), libc.X__builtin_object_size(tls, pGroup, 0)) (*multiplexConn)(unsafe.Pointer(pMultiplexOpen)).FpGroup = pGroup (*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled = libc.Uint8(libc.Uint8FromInt32(-1)) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(sqlite3.Xsqlite3_uri_boolean(tls, zUri, ts+18048, /* "truncate" */ + (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(sqlite3.Xsqlite3_uri_boolean(tls, zUri, ts+18829, /* "truncate" */ (libc.Bool32((flags & SQLITE_OPEN_MAIN_DB) == 0)))) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(sqlite3.Xsqlite3_uri_int64(tls, zUri, ts+34315, /* "chunksize" */ + (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(sqlite3.Xsqlite3_uri_int64(tls, zUri, ts+35077, /* "chunksize" */ int64(SQLITE_MULTIPLEX_CHUNK_SIZE)))) (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = (((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk + uint32(0xffff)) & libc.Uint32FromInt32(libc.CplInt32(0xffff))) if zName != 0 { @@ -84602,13 +85829,13 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) // second element of the array is the name of the pragma and the third // element is the argument to the pragma or NULL if the pragma has no // argument. - if (*(*uintptr)(unsafe.Pointer(aFcntl + 1*8)) != 0) && (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)), ts+34325 /* "multiplex_trunca..." */) == 0) { + if (*(*uintptr)(unsafe.Pointer(aFcntl + 1*8)) != 0) && (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)), ts+35087 /* "multiplex_trunca..." */) == 0) { if (*(*uintptr)(unsafe.Pointer(aFcntl + 2*8)) != 0) && (*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(aFcntl + 2*8)))) != 0) { if (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+4039 /* "on" */) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+28479 /* "1" */) == 0) { + (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+29248 /* "1" */) == 0) { (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(1) } else if (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+4403 /* "off" */) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+13873 /* "0" */) == 0) { + (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+14654 /* "0" */) == 0) { (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(0) } } @@ -84636,7 +85863,7 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) if pSubOpen != 0 { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 80 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34344 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35106 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } } break @@ -84758,7 +85985,7 @@ func sqlite3_multiplex_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefau gMultiplex.FpOrigVfs = pOrigVfs gMultiplex.FsThisVfs = *(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)) *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gMultiplex)) + 8 /* &.sThisVfs */ + 4 /* &.szOsFile */)) += int32((uint64(unsafe.Sizeof(multiplexConn{})))) - gMultiplex.FsThisVfs.FzName = ts + 34357 /* "multiplex" */ + gMultiplex.FsThisVfs.FzName = ts + 35119 /* "multiplex" */ gMultiplex.FsThisVfs.FxOpen = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 }{multiplexOpen})) @@ -84889,7 +86116,7 @@ func test_multiplex_initialize(tls *libc.TLS, clientData uintptr, interp uintptr // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34367 /* "NAME MAKEDEFAULT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35129 /* "NAME MAKEDEFAULT" */) return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -84913,11 +86140,11 @@ func test_multiplex_shutdown(tls *libc.TLS, clientData uintptr, interp uintptr, _ = clientData - if (objc == 2) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+34384 /* "-force" */) != 0) { + if (objc == 2) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+35146 /* "-force" */) != 0) { objc = 3 } if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34391 /* "?-force?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35153 /* "?-force?" */) return TCL_ERROR } @@ -84951,20 +86178,20 @@ func test_multiplex_control(tls *libc.TLS, cd ClientData, interp uintptr, objc i Fop int32 Fargtype int32 }{ - {FzName: ts + 34400 /* "enable" */, Fop: MULTIPLEX_CTRL_ENABLE, Fargtype: 1}, - {FzName: ts + 34407 /* "chunk_size" */, Fop: MULTIPLEX_CTRL_SET_CHUNK_SIZE, Fargtype: 1}, - {FzName: ts + 34418 /* "max_chunks" */, Fop: MULTIPLEX_CTRL_SET_MAX_CHUNKS, Fargtype: 1}, + {FzName: ts + 10608 /* "enable" */, Fop: MULTIPLEX_CTRL_ENABLE, Fargtype: 1}, + {FzName: ts + 35162 /* "chunk_size" */, Fop: MULTIPLEX_CTRL_SET_CHUNK_SIZE, Fargtype: 1}, + {FzName: ts + 35173 /* "max_chunks" */, Fop: MULTIPLEX_CTRL_SET_MAX_CHUNKS, Fargtype: 1}, {}, } if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34429 /* "HANDLE DBNAME SU..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35184 /* "HANDLE DBNAME SU..." */) return TCL_ERROR } if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &cmdInfo */) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34465 /* "expected databas..." */, 0)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35220 /* "expected databas..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+12415 /* "\"" */, 0)) return TCL_ERROR } else { db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 40 /* &cmdInfo */)).FobjClientData)) @@ -85028,9 +86255,9 @@ var aCmd7 = [3]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 34497 /* "sqlite3_multiple..." */, FxProc: 0}, - {FzName: ts + 34526 /* "sqlite3_multiple..." */, FxProc: 0}, - {FzName: ts + 34553 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35252 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35281 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35308 /* "sqlite3_multiple..." */, FxProc: 0}, } /* test_multiplex.c:1310:5 */ // CAPI3REF: Standard File Control Opcodes @@ -85384,10 +86611,10 @@ var aCmd7 = [3]struct { type sqlite3_mutex = sqlite3_mutex1 /* sqlite3.h:1206:30 */ var aName = [15]uintptr{ - ts + 34579 /* "fast" */, ts + 34584 /* "recursive" */, ts + 34594 /* "static_main" */, ts + 34606, /* "static_mem" */ - ts + 34617 /* "static_open" */, ts + 34629 /* "static_prng" */, ts + 34641 /* "static_lru" */, ts + 34652, /* "static_pmem" */ - ts + 34664 /* "static_app1" */, ts + 34676 /* "static_app2" */, ts + 34688 /* "static_app3" */, ts + 34700, /* "static_vfs1" */ - ts + 34712 /* "static_vfs2" */, ts + 34724 /* "static_vfs3" */, uintptr(0), + ts + 35334 /* "fast" */, ts + 35339 /* "recursive" */, ts + 35349 /* "static_main" */, ts + 35361, /* "static_mem" */ + ts + 35372 /* "static_open" */, ts + 35384 /* "static_prng" */, ts + 35396 /* "static_lru" */, ts + 35407, /* "static_pmem" */ + ts + 35419 /* "static_app1" */, ts + 35431 /* "static_app2" */, ts + 35443 /* "static_app3" */, ts + 35455, /* "static_vfs1" */ + ts + 35467 /* "static_vfs2" */, ts + 35479 /* "static_vfs3" */, uintptr(0), } /* test_mutex.c:32:19 */ // State variables @@ -85546,7 +86773,7 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp } if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17982 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18763 /* "BOOLEAN" */) return TCL_ERROR } if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+56 /* &isInstall */) { @@ -85554,12 +86781,12 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp } if *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) == g3.FisInstalled { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34736 /* "mutex counters a..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35491 /* "mutex counters a..." */, 0)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, func() uintptr { if *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) != 0 { - return ts + 34756 /* "already installe..." */ + return ts + 35511 /* "already installe..." */ } - return ts + 34774 /* "not installed" */ + return ts + 35529 /* "not installed" */ }(), 0)) return TCL_ERROR } @@ -85637,7 +86864,7 @@ func test_alloc_mutex(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // var zBuf [100]int8 at bp+24, 100 sqlite3.Xsqlite3_mutex_free(tls, p) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24 /* &zBuf[0] */, uintptr(0))) return TCL_OK } @@ -85656,9 +86883,9 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(68) *(*[4]ConfigOption)(unsafe.Pointer(bp /* aOpt */)) = [4]ConfigOption{ - {FzName: ts + 34788 /* "singlethread" */, FiValue: SQLITE_CONFIG_SINGLETHREAD}, - {FzName: ts + 34801 /* "multithread" */, FiValue: SQLITE_CONFIG_MULTITHREAD}, - {FzName: ts + 34813 /* "serialized" */, FiValue: SQLITE_CONFIG_SERIALIZED}, + {FzName: ts + 35543 /* "singlethread" */, FiValue: SQLITE_CONFIG_SINGLETHREAD}, + {FzName: ts + 35556 /* "multithread" */, FiValue: SQLITE_CONFIG_MULTITHREAD}, + {FzName: ts + 35568 /* "serialized" */, FiValue: SQLITE_CONFIG_SERIALIZED}, {}, } var s int32 = int32(unsafe.Sizeof(ConfigOption{})) @@ -85671,7 +86898,7 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aOpt[0] */, s, ts+17204 /* "flag" */, 0, bp+64 /* &i */) != 0 { + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aOpt[0] */, s, ts+17985 /* "flag" */, 0, bp+64 /* &i */) != 0 { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &i */) != 0 { return TCL_ERROR } @@ -85713,7 +86940,7 @@ func getStaticMutexPointer(tls *libc.TLS, pInterp uintptr, pObj uintptr) uintptr // var iMutex int32 at bp, 4 - if tcl.XTcl_GetIndexFromObj(tls, pInterp, pObj, uintptr(unsafe.Pointer(&aName)), ts+34824 /* "mutex name" */, 0, bp /* &iMutex */) != 0 { + if tcl.XTcl_GetIndexFromObj(tls, pInterp, pObj, uintptr(unsafe.Pointer(&aName)), ts+35579 /* "mutex name" */, 0, bp /* &iMutex */) != 0 { return uintptr(0) } @@ -85785,9 +87012,9 @@ func Sqlitetest_mutex_Init(tls *libc.TLS, interp uintptr) int32 { /* test_mutex. tcl.XTcl_CreateObjCommand(tls, interp, aCmd8[i].FzName, aCmd8[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+34835, /* "disable_mutex_in..." */ + tcl.XTcl_LinkVar(tls, interp, ts+35590, /* "disable_mutex_in..." */ (uintptr(unsafe.Pointer(&g3)) + 4 /* &.disableInit */), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+34854, /* "disable_mutex_tr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+35609, /* "disable_mutex_tr..." */ (uintptr(unsafe.Pointer(&g3)) + 8 /* &.disableTry */), TCL_LINK_INT) return SQLITE_OK } @@ -85796,20 +87023,20 @@ var aCmd8 = [11]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 34872 /* "sqlite3_shutdown" */, FxProc: 0}, - {FzName: ts + 34889 /* "sqlite3_initiali..." */, FxProc: 0}, - {FzName: ts + 34908 /* "sqlite3_config" */, FxProc: 0}, + {FzName: ts + 35627 /* "sqlite3_shutdown" */, FxProc: 0}, + {FzName: ts + 35644 /* "sqlite3_initiali..." */, FxProc: 0}, + {FzName: ts + 35663 /* "sqlite3_config" */, FxProc: 0}, - {FzName: ts + 34923 /* "enter_static_mut..." */, FxProc: 0}, - {FzName: ts + 34942 /* "leave_static_mut..." */, FxProc: 0}, + {FzName: ts + 35678 /* "enter_static_mut..." */, FxProc: 0}, + {FzName: ts + 35697 /* "leave_static_mut..." */, FxProc: 0}, - {FzName: ts + 34961 /* "enter_db_mutex" */, FxProc: 0}, - {FzName: ts + 34976 /* "leave_db_mutex" */, FxProc: 0}, + {FzName: ts + 35716 /* "enter_db_mutex" */, FxProc: 0}, + {FzName: ts + 35731 /* "leave_db_mutex" */, FxProc: 0}, - {FzName: ts + 34991 /* "alloc_dealloc_mu..." */, FxProc: 0}, - {FzName: ts + 35011 /* "install_mutex_co..." */, FxProc: 0}, - {FzName: ts + 35034 /* "read_mutex_count..." */, FxProc: 0}, - {FzName: ts + 35054 /* "clear_mutex_coun..." */, FxProc: 0}, + {FzName: ts + 35746 /* "alloc_dealloc_mu..." */, FxProc: 0}, + {FzName: ts + 35766 /* "install_mutex_co..." */, FxProc: 0}, + {FzName: ts + 35789 /* "read_mutex_count..." */, FxProc: 0}, + {FzName: ts + 35809 /* "clear_mutex_coun..." */, FxProc: 0}, } /* test_mutex.c:484:5 */ // Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved. @@ -86536,7 +87763,7 @@ type fs_vfs_t = fs_vfs_t1 /* test_onefile.c:176:25 */ var fs_vfs = fs_vfs_t{ Fbase: sqlite3_vfs{ FiVersion: 1, // pNext - FzName: ts + 30671, /* "fs" */ // pAppData + FzName: ts + 31433, /* "fs" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -86987,7 +88214,7 @@ __8: if !(*(*sqlite3_int64)(unsafe.Pointer(bp /* size */)) == int64(0)) { goto __9 } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 24 /* &.xWrite */))))(tls, pRealFile, ts+35075 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 24 /* &.xWrite */))))(tls, pRealFile, ts+35830 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) (*fs_real_file)(unsafe.Pointer(pReal)).FnBlob = BLOBSIZE goto __10 __9: @@ -87066,7 +88293,7 @@ func fsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { } if pReal != 0 { pF = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 24 /* &.xWrite */))))(tls, pF, ts+35077 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 24 /* &.xWrite */))))(tls, pF, ts+35832 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) if rc == SQLITE_OK { (*fs_real_file)(unsafe.Pointer(pReal)).FnJournal = 0 } @@ -87087,7 +88314,7 @@ func fsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut u return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 56 /* &.xAccess */))))(tls, pParent, zPath, flags, pResOut) } - if (nName > 8) && (libc.Xstrcmp(tls, ts+32427 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { + if (nName > 8) && (libc.Xstrcmp(tls, ts+33189 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { nName = nName - (8) isJournal = 1 } @@ -88255,7 +89482,7 @@ func vfslogFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int var p uintptr = pFile var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 80 /* &.xFileControl */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35082 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35837 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } return rc } @@ -88550,7 +89777,7 @@ func sqlite3_vfslog_new(tls *libc.TLS, zVfs uintptr, zParentVfs uintptr, zLog ui (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pParent + 48 /* &.xDelete */))))(tls, pParent, zFile, 0) rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 40 /* &.xOpen */))))(tls, pParent, zFile, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, *(*int32)(unsafe.Pointer(bp /* flags */)), bp /* &flags */) if rc == SQLITE_OK { - libc.X__builtin___memcpy_chk(tls, p+204 /* &.aBuf */, ts+35092 /* "sqlite_ostrace1...." */, uint64(20), libc.X__builtin_object_size(tls, p+204 /* &.aBuf */, 0)) + libc.X__builtin___memcpy_chk(tls, p+204 /* &.aBuf */, ts+35847 /* "sqlite_ostrace1...." */, uint64(20), libc.X__builtin_object_size(tls, p+204 /* &.aBuf */, 0)) (*VfslogVfs)(unsafe.Pointer(p)).FiOffset = int64(0) (*VfslogVfs)(unsafe.Pointer(p)).FnBuf = 20 rc = sqlite3.Xsqlite3_vfs_register(tls, p, 1) @@ -88579,78 +89806,78 @@ func vfslog_eventname(tls *libc.TLS, eEvent int32) uintptr { /* test_osinst.c:76 switch eEvent { case OS_CLOSE: - zEvent = ts + 35113 /* "xClose" */ + zEvent = ts + 35868 /* "xClose" */ break case OS_READ: - zEvent = ts + 35120 /* "xRead" */ + zEvent = ts + 35875 /* "xRead" */ break case OS_WRITE: - zEvent = ts + 35126 /* "xWrite" */ + zEvent = ts + 35881 /* "xWrite" */ break case OS_TRUNCATE: - zEvent = ts + 35133 /* "xTruncate" */ + zEvent = ts + 35888 /* "xTruncate" */ break case OS_SYNC: - zEvent = ts + 27457 /* "xSync" */ + zEvent = ts + 28233 /* "xSync" */ break case OS_FILESIZE: - zEvent = ts + 35143 /* "xFilesize" */ + zEvent = ts + 35898 /* "xFilesize" */ break case OS_LOCK: - zEvent = ts + 35153 /* "xLock" */ + zEvent = ts + 35908 /* "xLock" */ break case OS_UNLOCK: - zEvent = ts + 35159 /* "xUnlock" */ + zEvent = ts + 35914 /* "xUnlock" */ break case OS_CHECKRESERVEDLOCK: - zEvent = ts + 35167 /* "xCheckResLock" */ + zEvent = ts + 35922 /* "xCheckResLock" */ break case OS_FILECONTROL: - zEvent = ts + 35181 /* "xFileControl" */ + zEvent = ts + 35936 /* "xFileControl" */ break case OS_SECTORSIZE: - zEvent = ts + 35194 /* "xSectorSize" */ + zEvent = ts + 35949 /* "xSectorSize" */ break case OS_DEVCHAR: - zEvent = ts + 35206 /* "xDeviceChar" */ + zEvent = ts + 35961 /* "xDeviceChar" */ break case OS_OPEN: - zEvent = ts + 27029 /* "xOpen" */ + zEvent = ts + 27805 /* "xOpen" */ break case OS_DELETE: - zEvent = ts + 35218 /* "xDelete" */ + zEvent = ts + 35973 /* "xDelete" */ break case OS_ACCESS: - zEvent = ts + 35226 /* "xAccess" */ + zEvent = ts + 35981 /* "xAccess" */ break case OS_FULLPATHNAME: - zEvent = ts + 35234 /* "xFullPathname" */ + zEvent = ts + 35989 /* "xFullPathname" */ break case OS_RANDOMNESS: - zEvent = ts + 35248 /* "xRandomness" */ + zEvent = ts + 36003 /* "xRandomness" */ break case OS_SLEEP: - zEvent = ts + 35260 /* "xSleep" */ + zEvent = ts + 36015 /* "xSleep" */ break case OS_CURRENTTIME: - zEvent = ts + 35267 /* "xCurrentTime" */ + zEvent = ts + 36022 /* "xCurrentTime" */ break case OS_SHMUNMAP: - zEvent = ts + 35280 /* "xShmUnmap" */ + zEvent = ts + 36035 /* "xShmUnmap" */ break case OS_SHMLOCK: - zEvent = ts + 35290 /* "xShmLock" */ + zEvent = ts + 36045 /* "xShmLock" */ break case OS_SHMBARRIER: - zEvent = ts + 35299 /* "xShmBarrier" */ + zEvent = ts + 36054 /* "xShmBarrier" */ break case OS_SHMMAP: - zEvent = ts + 35311 /* "xShmMap" */ + zEvent = ts + 36066 /* "xShmMap" */ break case OS_ANNOTATE: - zEvent = ts + 35319 /* "annotation" */ + zEvent = ts + 36074 /* "annotation" */ break } @@ -88749,7 +89976,7 @@ func vlogConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp if rc == SQLITE_OK { (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 48 /* &.xFileSize */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, (p + 32 /* &.nByte */)) sqlite3.Xsqlite3_declare_vtab(tls, db, - ts+35330 /* "CREATE TABLE xxx..." */) + ts+36085 /* "CREATE TABLE xxx..." */) *(*uintptr)(unsafe.Pointer(ppVtab)) = (p /* &.base */) } else { sqlite3.Xsqlite3_free(tls, p) @@ -88909,7 +90136,7 @@ func vlogRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* test_o func sqlite3_vfslog_register(tls *libc.TLS, db uintptr) int32 { /* test_osinst.c:1071:5: */ - sqlite3.Xsqlite3_create_module(tls, db, ts+35385 /* "vfslog" */, uintptr(unsafe.Pointer(&vfslog_module)), uintptr(0)) + sqlite3.Xsqlite3_create_module(tls, db, ts+36140 /* "vfslog" */, uintptr(unsafe.Pointer(&vfslog_module)), uintptr(0)) return SQLITE_OK } @@ -88947,7 +90174,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var iSub int32 at bp+72, 4 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32601 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33363 /* "SUB-COMMAND ..." */) return TCL_ERROR } if tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&strs)), ts+1875 /* "sub-command" */, 0, bp+72 /* &iSub */) != 0 { @@ -88960,14 +90187,14 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zVfs uintptr var zMsg uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+35392 /* "VFS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+36147 /* "VFS" */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) zMsg = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) rc = sqlite3_vfslog_annotate(tls, zVfs, zMsg) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35396 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+36151 /* "failed" */, 0)) return TCL_ERROR } break @@ -88977,13 +90204,13 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, { var zVfs uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35392 /* "VFS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36147 /* "VFS" */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) rc = sqlite3_vfslog_finalize(tls, zVfs) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+35396 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+36151 /* "failed" */, 0)) return TCL_ERROR } break @@ -88996,7 +90223,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zParent uintptr var zLog uintptr if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35403 /* "VFS PARENT LOGFI..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36158 /* "VFS PARENT LOGFI..." */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) @@ -89007,7 +90234,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } rc = sqlite3_vfslog_new(tls, zVfs, zParent, zLog) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+35396 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+36151 /* "failed" */, 0)) return TCL_ERROR } break @@ -89027,7 +90254,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, rc = sqlite3_vfslog_register(tls, db) } if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+35422 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+36177 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) return TCL_ERROR } break @@ -89038,10 +90265,10 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_OK } -var strs = [5]uintptr{ts + 35443 /* "annotate" */, ts + 35452 /* "finalize" */, ts + 13689 /* "new" */, ts + 35461 /* "register" */, uintptr(0)} /* test_osinst.c:1127:21 */ +var strs = [5]uintptr{ts + 36198 /* "annotate" */, ts + 36207 /* "finalize" */, ts + 14470 /* "new" */, ts + 36216 /* "register" */, uintptr(0)} /* test_osinst.c:1127:21 */ func SqlitetestOsinst_Init(tls *libc.TLS, interp uintptr) int32 { /* test_osinst.c:1219:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+35385 /* "vfslog" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36140 /* "vfslog" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfslog})), uintptr(0), uintptr(0)) return TCL_OK @@ -90871,7 +92098,7 @@ func quotaFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int3 var pSubOpen uintptr = quotaSubOpen(tls, pConn) var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 80 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35470 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+36225 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } return rc } @@ -90946,7 +92173,7 @@ func sqlite3_quota_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefault i f func(*libc.TLS, uintptr, uintptr, int32) int32 }{quotaDelete})) *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gQuota)) + 8 /* &.sThisVfs */ + 4 /* &.szOsFile */)) += int32((uint64(unsafe.Sizeof(quotaConn{})))) - gQuota.FsThisVfs.FzName = ts + 35479 /* "quota" */ + gQuota.FsThisVfs.FzName = ts + 36234 /* "quota" */ gQuota.FsIoMethodsV1.FiVersion = 1 gQuota.FsIoMethodsV1.FxClose = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 @@ -91520,7 +92747,7 @@ func tclQuotaCallback(tls *libc.TLS, zFilename uintptr, piLimit uintptr, iSize s return } - pVarname = tcl.XTcl_NewStringObj(tls, ts+35485 /* "::piLimit_" */, -1) + pVarname = tcl.XTcl_NewStringObj(tls, ts+36240 /* "::piLimit_" */, -1) (*Tcl_Obj)(unsafe.Pointer(pVarname)).FrefCount++ sqlite3.Xsqlite3_randomness(tls, int32(unsafe.Sizeof(uint32(0))), bp /* &rnd */) tcl.XTcl_AppendObjToObj(tls, pVarname, tcl.XTcl_NewIntObj(tls, (int32(*(*uint32)(unsafe.Pointer(bp /* rnd */))&uint32(0x7FFFFFFF))))) @@ -91582,7 +92809,7 @@ func test_quota_initialize(tls *libc.TLS, clientData uintptr, interp uintptr, ob // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34367 /* "NAME MAKEDEFAULT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35129 /* "NAME MAKEDEFAULT" */) return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -91634,7 +92861,7 @@ func test_quota_set(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Process arguments if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35496 /* "PATTERN LIMIT SC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36251 /* "PATTERN LIMIT SC..." */) return TCL_ERROR } zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -91648,7 +92875,7 @@ func test_quota_set(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Allocate a TclQuotaCallback object p = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TclQuotaCallback{}))) if !(p != 0) { - tcl.XTcl_SetResult(tls, interp, ts+32365 /* "SQLITE_NOMEM" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+33127 /* "SQLITE_NOMEM" */, uintptr(0)) return TCL_OK } libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(TclQuotaCallback{})), libc.X__builtin_object_size(tls, p, 0)) @@ -91679,7 +92906,7 @@ func test_quota_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // Process arguments if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32549 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33311 /* "FILENAME" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -91753,13 +92980,13 @@ func test_quota_fopen(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35517 /* "FILENAME MODE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36272 /* "FILENAME MODE" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) zMode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) p = sqlite3_quota_fopen(tls, zFilename, zMode) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+8 /* &zReturn[0] */, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+8 /* &zReturn[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) tcl.XTcl_SetResult(tls, interp, bp+8 /* &zReturn[0] */, uintptr(1)) return TCL_OK } @@ -91778,7 +93005,7 @@ func test_quota_fread(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var got size_t if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35531 /* "HANDLE SIZE NELE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36286 /* "HANDLE SIZE NELE..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -91814,7 +93041,7 @@ func test_quota_fwrite(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var got size_t if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35549 /* "HANDLE SIZE NELE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36304 /* "HANDLE SIZE NELE..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -91836,7 +93063,7 @@ func test_quota_fclose(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28190 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28959 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -91855,7 +93082,7 @@ func test_quota_fflush(tls *libc.TLS, clientData uintptr, interp uintptr, objc i *(*int32)(unsafe.Pointer(bp /* doSync */)) = 0 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35575 /* "HANDLE ?HARDSYNC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36330 /* "HANDLE ?HARDSYNC..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -91882,7 +93109,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35593 /* "HANDLE OFFSET WH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36348 /* "HANDLE OFFSET WH..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -91890,15 +93117,15 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in return TCL_ERROR } zWhence = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) - if libc.Xstrcmp(tls, zWhence, ts+35614 /* "SEEK_SET" */) == 0 { + if libc.Xstrcmp(tls, zWhence, ts+36369 /* "SEEK_SET" */) == 0 { whence = SEEK_SET - } else if libc.Xstrcmp(tls, zWhence, ts+35623 /* "SEEK_CUR" */) == 0 { + } else if libc.Xstrcmp(tls, zWhence, ts+36378 /* "SEEK_CUR" */) == 0 { whence = SEEK_CUR - } else if libc.Xstrcmp(tls, zWhence, ts+35632 /* "SEEK_END" */) == 0 { + } else if libc.Xstrcmp(tls, zWhence, ts+36387 /* "SEEK_END" */) == 0 { whence = SEEK_END } else { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+35641 /* "WHENCE should be..." */, uintptr(0))) + libc.VaList(bp, ts+36396 /* "WHENCE should be..." */, uintptr(0))) return TCL_ERROR } rc = sqlite3_quota_fseek(tls, p, int64(*(*int32)(unsafe.Pointer(bp + 16 /* ofst */))), whence) @@ -91910,7 +93137,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in func test_quota_rewind(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_quota.c:1718:26: */ var p uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28190 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28959 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -91923,7 +93150,7 @@ func test_quota_ftell(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28190 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28959 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -91943,7 +93170,7 @@ func test_quota_ftruncate(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35690 /* "HANDLE SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36445 /* "HANDLE SIZE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -91961,7 +93188,7 @@ func test_quota_file_size(tls *libc.TLS, clientData uintptr, interp uintptr, obj var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28190 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28959 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -91975,7 +93202,7 @@ func test_quota_file_truesize(tls *libc.TLS, clientData uintptr, interp uintptr, var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28190 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28959 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -91993,7 +93220,7 @@ func test_quota_file_mtime(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var t time_t at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28190 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28959 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -92008,7 +93235,7 @@ func test_quota_remove(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var zFilename uintptr // File pattern to configure var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32549 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33311 /* "FILENAME" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -92026,7 +93253,7 @@ func test_quota_glob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var zText uintptr // Text to compare agains the pattern var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35702 /* "PATTERN TEXT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36457 /* "PATTERN TEXT" */) return TCL_ERROR } zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -92044,7 +93271,7 @@ func test_quota_file_available(tls *libc.TLS, clientData uintptr, interp uintptr var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28190 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28959 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -92060,7 +93287,7 @@ func test_quota_ferror(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var p uintptr var x int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28190 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28959 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -92089,27 +93316,27 @@ var aCmd9 = [21]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 35715 /* "sqlite3_quota_in..." */, FxProc: 0}, - {FzName: ts + 35740 /* "sqlite3_quota_sh..." */, FxProc: 0}, - {FzName: ts + 35763 /* "sqlite3_quota_se..." */, FxProc: 0}, - {FzName: ts + 35781 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35800 /* "sqlite3_quota_du..." */, FxProc: 0}, - {FzName: ts + 35819 /* "sqlite3_quota_fo..." */, FxProc: 0}, - {FzName: ts + 35839 /* "sqlite3_quota_fr..." */, FxProc: 0}, - {FzName: ts + 35859 /* "sqlite3_quota_fw..." */, FxProc: 0}, - {FzName: ts + 35880 /* "sqlite3_quota_fc..." */, FxProc: 0}, - {FzName: ts + 35901 /* "sqlite3_quota_ff..." */, FxProc: 0}, - {FzName: ts + 35922 /* "sqlite3_quota_fs..." */, FxProc: 0}, - {FzName: ts + 35942 /* "sqlite3_quota_re..." */, FxProc: 0}, - {FzName: ts + 35963 /* "sqlite3_quota_ft..." */, FxProc: 0}, - {FzName: ts + 35983 /* "sqlite3_quota_ft..." */, FxProc: 0}, - {FzName: ts + 36007 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 36031 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 36059 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 36084 /* "sqlite3_quota_re..." */, FxProc: 0}, - {FzName: ts + 36105 /* "sqlite3_quota_gl..." */, FxProc: 0}, - {FzName: ts + 36124 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 36153 /* "sqlite3_quota_fe..." */, FxProc: 0}, + {FzName: ts + 36470 /* "sqlite3_quota_in..." */, FxProc: 0}, + {FzName: ts + 36495 /* "sqlite3_quota_sh..." */, FxProc: 0}, + {FzName: ts + 36518 /* "sqlite3_quota_se..." */, FxProc: 0}, + {FzName: ts + 36536 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36555 /* "sqlite3_quota_du..." */, FxProc: 0}, + {FzName: ts + 36574 /* "sqlite3_quota_fo..." */, FxProc: 0}, + {FzName: ts + 36594 /* "sqlite3_quota_fr..." */, FxProc: 0}, + {FzName: ts + 36614 /* "sqlite3_quota_fw..." */, FxProc: 0}, + {FzName: ts + 36635 /* "sqlite3_quota_fc..." */, FxProc: 0}, + {FzName: ts + 36656 /* "sqlite3_quota_ff..." */, FxProc: 0}, + {FzName: ts + 36677 /* "sqlite3_quota_fs..." */, FxProc: 0}, + {FzName: ts + 36697 /* "sqlite3_quota_re..." */, FxProc: 0}, + {FzName: ts + 36718 /* "sqlite3_quota_ft..." */, FxProc: 0}, + {FzName: ts + 36738 /* "sqlite3_quota_ft..." */, FxProc: 0}, + {FzName: ts + 36762 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36786 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36814 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36839 /* "sqlite3_quota_re..." */, FxProc: 0}, + {FzName: ts + 36860 /* "sqlite3_quota_gl..." */, FxProc: 0}, + {FzName: ts + 36879 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36908 /* "sqlite3_quota_fe..." */, FxProc: 0}, } /* test_quota.c:1948:5 */ // Type used to cache parameter information for the "circle" r-tree geometry @@ -92827,7 +94054,7 @@ func register_cube_geom(tls *libc.TLS, clientData uintptr, interp uintptr, objc if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36174 /* "cube" */, *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36929 /* "cube" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 }{cube_geom})), uintptr(unsafe.Pointer(&gHere))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) @@ -92849,17 +94076,17 @@ func register_circle_geom(tls *libc.TLS, clientData uintptr, interp uintptr, obj if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36179 /* "circle" */, *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36934 /* "circle" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 }{circle_geom})), uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36186, /* "Qcircle" */ + rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36941, /* "Qcircle" */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 }{circle_query_func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36194, /* "breadthfirstsear..." */ + rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36949, /* "breadthfirstsear..." */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 }{bfs_query_func})), uintptr(0), uintptr(0)) @@ -92869,10 +94096,10 @@ func register_circle_geom(tls *libc.TLS, clientData uintptr, interp uintptr, obj } func Sqlitetestrtree_Init(tls *libc.TLS, interp uintptr) int32 { /* test_rtree.c:507:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+36213 /* "register_cube_ge..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36968 /* "register_cube_ge..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{register_cube_geom})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+36232 /* "register_circle_..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36987 /* "register_circle_..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{register_circle_geom})), uintptr(0), uintptr(0)) return TCL_OK @@ -93352,7 +94579,7 @@ func schemaCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint if pVtab != 0 { libc.X__builtin___memset_chk(tls, pVtab, 0, uint64(unsafe.Sizeof(schema_vtab{})), libc.X__builtin_object_size(tls, pVtab, 0)) (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb = db - rc = sqlite3.Xsqlite3_declare_vtab(tls, db /* Name of database (i.e. main, temp etc.) */ /* Name of table */ /* Column number (from left-to-right, 0 upward) */ /* Column name */ /* Specified type (i.e. VARCHAR(32)) */ /* Boolean. True if NOT NULL was specified */ /* Default value for this column */ /* True if this column is part of the primary key */, ts+36253 /* "CREATE TABLE x(d..." */) + rc = sqlite3.Xsqlite3_declare_vtab(tls, db /* Name of database (i.e. main, temp etc.) */ /* Name of table */ /* Column number (from left-to-right, 0 upward) */ /* Column name */ /* Specified type (i.e. VARCHAR(32)) */ /* Boolean. True if NOT NULL was specified */ /* Default value for this column */ /* True if this column is part of the primary key */, ts+37008 /* "CREATE TABLE x(d..." */) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab return rc @@ -93476,12 +94703,12 @@ __8: goto __9 } zSql = sqlite3.Xsqlite3_mprintf(tls, - ts+36325 /* "SELECT name FROM..." */, 0) + ts+37080 /* "SELECT name FROM..." */, 0) goto __10 __9: pDbList = (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList zSql = sqlite3.Xsqlite3_mprintf(tls, - ts+36380, /* "SELECT name FROM..." */ + ts+37135, /* "SELECT name FROM..." */ libc.VaList(bp, sqlite3.Xsqlite3_column_text(tls, pDbList, 1))) __10: ; @@ -93508,7 +94735,7 @@ __5: // Set zSql to the SQL to the table_info pragma for the table currently // identified by the rows pointed to by statements pCur->pDbList and // pCur->pTableList. - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+36433, /* "PRAGMA %Q.table_..." */ + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+37188, /* "PRAGMA %Q.table_..." */ libc.VaList(bp+8, sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList, 1), sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpTableList, 0))) @@ -93546,7 +94773,7 @@ func schemaFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp finalize(tls, (pCur + 16 /* &.pTableList */)) finalize(tls, (pCur + 24 /* &.pColumnList */)) finalize(tls, (pCur + 8 /* &.pDbList */)) - rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, ts+36458 /* "PRAGMA database_..." */, -1, (pCur + 8 /* &.pDbList */), uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, ts+37213 /* "PRAGMA database_..." */, -1, (pCur + 8 /* &.pDbList */), uintptr(0)) return func() int32 { if rc == SQLITE_OK { return schemaNext(tls, pVtabCursor) @@ -93614,7 +94841,7 @@ var aObjCmd12 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 36479 /* "register_schema_..." */, FxProc: 0}, + {FzName: ts + 37234 /* "register_schema_..." */, FxProc: 0}, } /* test_schema.c:335:5 */ // 2001-09-15 @@ -94567,7 +95794,7 @@ func superlockIsWal(tls *libc.TLS, pLock uintptr) int32 { /* test_superlock.c:67 // var pStmt uintptr at bp, 8 // Compiled PRAGMA journal_mode statement - rc = sqlite3.Xsqlite3_prepare(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+36502 /* "PRAGMA main.jour..." */, -1, bp /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+37257 /* "PRAGMA main.jour..." */, -1, bp /* &pStmt */, uintptr(0)) if rc != SQLITE_OK { return rc } @@ -94575,7 +95802,7 @@ func superlockIsWal(tls *libc.TLS, pLock uintptr) int32 { /* test_superlock.c:67 (*Superlock)(unsafe.Pointer(pLock)).FbWal = 0 if SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { var zMode uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) - if ((zMode != 0) && (libc.Xstrlen(tls, zMode) == uint64(3))) && (sqlite3.Xsqlite3_strnicmp(tls, ts+29483 /* "wal" */, zMode, 3) == 0) { + if ((zMode != 0) && (libc.Xstrlen(tls, zMode) == uint64(3))) && (sqlite3.Xsqlite3_strnicmp(tls, ts+30245 /* "wal" */, zMode, 3) == 0) { (*Superlock)(unsafe.Pointer(pLock)).FbWal = 1 } } @@ -94709,7 +95936,7 @@ func sqlite3demo_superlock(tls *libc.TLS, zPath uintptr, zVfs uintptr, xBusy uin sqlite3.Xsqlite3_busy_handler(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 }{superlockBusyHandler})), bp /* &busy */) - rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+12906 /* "BEGIN EXCLUSIVE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+13687 /* "BEGIN EXCLUSIVE" */, uintptr(0), uintptr(0), uintptr(0)) } // If the BEGIN EXCLUSIVE was executed successfully and this is a WAL @@ -94722,7 +95949,7 @@ func sqlite3demo_superlock(tls *libc.TLS, zPath uintptr, zVfs uintptr, xBusy uin // new WAL locks may conflict with the old. if rc == SQLITE_OK { if (SQLITE_OK == (libc.AssignInt32(&rc, superlockIsWal(tls, pLock)))) && ((*Superlock)(unsafe.Pointer(pLock)).FbWal != 0) { - rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+11310 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+12098 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = superlockWalLock(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, bp /* &busy */) } @@ -94804,7 +96031,7 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj if (objc < 3) || (objc > 5) { tcl.XTcl_WrongNumArgs(tls, - interp, 1, objv, ts+36527 /* "CMDNAME PATH ?VF..." */) + interp, 1, objv, ts+37282 /* "CMDNAME PATH ?VF..." */) return TCL_ERROR } @@ -94841,7 +96068,7 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj } func SqliteSuperlock_Init(tls *libc.TLS, interp uintptr) int32 { /* test_superlock.c:359:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+36568 /* "sqlite3demo_supe..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+37323 /* "sqlite3demo_supe..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{superlock_cmd})), uintptr(0), uintptr(0)) return TCL_OK @@ -94914,24 +96141,24 @@ type TestSyscallArray = struct { } /* test_syscall.c:127:1 */ var aSyscall = [19]TestSyscallArray{ - /* 0 */ {FzName: ts + 36590 /* "open" */, FxTest: 0, Fdefault_errno: EACCES}, + /* 0 */ {FzName: ts + 37345 /* "open" */, FxTest: 0, Fdefault_errno: EACCES}, /* 1 */ {FzName: ts + 10125 /* "close" */, FxTest: 0}, - /* 2 */ {FzName: ts + 36595 /* "access" */, FxTest: 0}, - /* 3 */ {FzName: ts + 36602 /* "getcwd" */, FxTest: 0}, - /* 4 */ {FzName: ts + 36609 /* "stat" */, FxTest: 0}, - /* 5 */ {FzName: ts + 36614 /* "fstat" */, FxTest: 0}, - /* 6 */ {FzName: ts + 36620 /* "ftruncate" */, FxTest: 0, Fdefault_errno: EIO}, - /* 7 */ {FzName: ts + 36630 /* "fcntl" */, FxTest: 0, Fdefault_errno: EACCES}, - /* 8 */ {FzName: ts + 24734 /* "read" */, FxTest: 0}, - /* 9 */ {FzName: ts + 36636 /* "pread" */, FxTest: 0}, - /* 10 */ {FzName: ts + 36642 /* "pread64" */, FxTest: 0}, - /* 11 */ {FzName: ts + 24739 /* "write" */, FxTest: 0}, - /* 12 */ {FzName: ts + 36650 /* "pwrite" */, FxTest: 0}, - /* 13 */ {FzName: ts + 36657 /* "pwrite64" */, FxTest: 0}, - /* 14 */ {FzName: ts + 36666 /* "fchmod" */, FxTest: 0}, - /* 15 */ {FzName: ts + 36673 /* "fallocate" */, FxTest: 0}, - /* 16 */ {FzName: ts + 28570 /* "mmap" */, FxTest: 0}, - /* 17 */ {FzName: ts + 36683 /* "mremap" */, FxTest: 0}, + /* 2 */ {FzName: ts + 37350 /* "access" */, FxTest: 0}, + /* 3 */ {FzName: ts + 37357 /* "getcwd" */, FxTest: 0}, + /* 4 */ {FzName: ts + 37364 /* "stat" */, FxTest: 0}, + /* 5 */ {FzName: ts + 37369 /* "fstat" */, FxTest: 0}, + /* 6 */ {FzName: ts + 37375 /* "ftruncate" */, FxTest: 0, Fdefault_errno: EIO}, + /* 7 */ {FzName: ts + 37385 /* "fcntl" */, FxTest: 0, Fdefault_errno: EACCES}, + /* 8 */ {FzName: ts + 25510 /* "read" */, FxTest: 0}, + /* 9 */ {FzName: ts + 37391 /* "pread" */, FxTest: 0}, + /* 10 */ {FzName: ts + 37397 /* "pread64" */, FxTest: 0}, + /* 11 */ {FzName: ts + 25515 /* "write" */, FxTest: 0}, + /* 12 */ {FzName: ts + 37405 /* "pwrite" */, FxTest: 0}, + /* 13 */ {FzName: ts + 37412 /* "pwrite64" */, FxTest: 0}, + /* 14 */ {FzName: ts + 37421 /* "fchmod" */, FxTest: 0}, + /* 15 */ {FzName: ts + 37428 /* "fallocate" */, FxTest: 0}, + /* 16 */ {FzName: ts + 29339 /* "mmap" */, FxTest: 0}, + /* 17 */ {FzName: ts + 37438 /* "mremap" */, FxTest: 0}, {}, } /* test_syscall.c:133:3 */ @@ -94983,7 +96210,7 @@ func tsIsFailErrno(tls *libc.TLS, zFunc uintptr) int32 { /* test_syscall.c:215:1 // A wrapper around open(). func ts_open(tls *libc.TLS, zFile uintptr, flags int32, mode int32) int32 { /* test_syscall.c:226:12: */ - if tsIsFailErrno(tls, ts+36590 /* "open" */) != 0 { + if tsIsFailErrno(tls, ts+37345 /* "open" */) != 0 { return -1 } return (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 16 /* &.xOrig */))))(tls, zFile, flags, mode) @@ -95029,7 +96256,7 @@ func ts_stat(tls *libc.TLS, zPath uintptr, p uintptr) int32 { /* test_syscall.c: // A wrapper around fstat(). func ts_fstat(tls *libc.TLS, fd int32, p uintptr) int32 { /* test_syscall.c:282:12: */ - if tsIsFailErrno(tls, ts+36614 /* "fstat" */) != 0 { + if tsIsFailErrno(tls, ts+37369 /* "fstat" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*32 + 16 /* &.xOrig */))))(tls, fd, p) @@ -95037,7 +96264,7 @@ func ts_fstat(tls *libc.TLS, fd int32, p uintptr) int32 { /* test_syscall.c:282: // A wrapper around ftruncate(). func ts_ftruncate(tls *libc.TLS, fd int32, n off_t) int32 { /* test_syscall.c:292:12: */ - if tsIsFailErrno(tls, ts+36620 /* "ftruncate" */) != 0 { + if tsIsFailErrno(tls, ts+37375 /* "ftruncate" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, off_t) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 6*32 + 16 /* &.xOrig */))))(tls, fd, n) @@ -95051,7 +96278,7 @@ func ts_fcntl(tls *libc.TLS, fd int32, cmd int32, va uintptr) int32 { /* test_sy var ap va_list _ = ap var pArg uintptr - if tsIsFailErrno(tls, ts+36630 /* "fcntl" */) != 0 { + if tsIsFailErrno(tls, ts+37385 /* "fcntl" */) != 0 { return -1 } ap = va @@ -95061,7 +96288,7 @@ func ts_fcntl(tls *libc.TLS, fd int32, cmd int32, va uintptr) int32 { /* test_sy // A wrapper around read(). func ts_read(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test_syscall.c:316:12: */ - if tsIsFailErrno(tls, ts+24734 /* "read" */) != 0 { + if tsIsFailErrno(tls, ts+25510 /* "read" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf)) @@ -95069,7 +96296,7 @@ func ts_read(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test // A wrapper around pread(). func ts_pread(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int32 { /* test_syscall.c:326:12: */ - if tsIsFailErrno(tls, ts+36636 /* "pread" */) != 0 { + if tsIsFailErrno(tls, ts+37391 /* "pread" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t, off_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 9*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off)) @@ -95077,7 +96304,7 @@ func ts_pread(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int // A wrapper around pread64(). func ts_pread64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_uint64) int32 { /* test_syscall.c:336:12: */ - if tsIsFailErrno(tls, ts+36642 /* "pread64" */) != 0 { + if tsIsFailErrno(tls, ts+37397 /* "pread64" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t, sqlite3_uint64) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 10*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off)) @@ -95085,8 +96312,8 @@ func ts_pread64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_ // A wrapper around write(). func ts_write(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test_syscall.c:346:12: */ - if tsIsFailErrno(tls, ts+24739 /* "write" */) != 0 { - if tsErrno(tls, ts+24739 /* "write" */) == EINTR { + if tsIsFailErrno(tls, ts+25515 /* "write" */) != 0 { + if tsErrno(tls, ts+25515 /* "write" */) == EINTR { (*(*func(*libc.TLS, int32, uintptr, size_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 11*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, (nBuf / uint64(2))) } return -1 @@ -95096,7 +96323,7 @@ func ts_write(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* tes // A wrapper around pwrite(). func ts_pwrite(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int32 { /* test_syscall.c:357:12: */ - if tsIsFailErrno(tls, ts+36650 /* "pwrite" */) != 0 { + if tsIsFailErrno(tls, ts+37405 /* "pwrite" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t, off_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 12*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off)) @@ -95104,7 +96331,7 @@ func ts_pwrite(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) in // A wrapper around pwrite64(). func ts_pwrite64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_uint64) int32 { /* test_syscall.c:367:12: */ - if tsIsFailErrno(tls, ts+36657 /* "pwrite64" */) != 0 { + if tsIsFailErrno(tls, ts+37412 /* "pwrite64" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t, sqlite3_uint64) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 13*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off)) @@ -95127,13 +96354,13 @@ func ts_fchmod(tls *libc.TLS, fd int32, mode mode_t) int32 { /* test_syscall.c:3 // failure. Note that errno is not set. func ts_fallocate(tls *libc.TLS, fd int32, off off_t, len off_t) int32 { /* test_syscall.c:393:12: */ if tsIsFail(tls) != 0 { - return tsErrno(tls, ts+36673 /* "fallocate" */) + return tsErrno(tls, ts+37428 /* "fallocate" */) } return (*(*func(*libc.TLS, int32, off_t, off_t) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 15*32 + 16 /* &.xOrig */))))(tls, fd, off, len) } func ts_mmap(tls *libc.TLS, pAddr uintptr, nByte size_t, prot int32, flags int32, fd int32, iOff off_t) uintptr { /* test_syscall.c:400:13: */ - if tsIsFailErrno(tls, ts+28570 /* "mmap" */) != 0 { + if tsIsFailErrno(tls, ts+29339 /* "mmap" */) != 0 { return libc.UintptrFromInt32(-1) } return (*(*func(*libc.TLS, uintptr, size_t, int32, int32, int32, off_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 16*32 + 16 /* &.xOrig */))))(tls, pAddr, nByte, prot, flags, fd, iOff) @@ -95146,7 +96373,7 @@ func ts_mremap(tls *libc.TLS, a uintptr, b size_t, c size_t, d int32, va uintptr var ap va_list _ = ap var pArg uintptr - if tsIsFailErrno(tls, ts+36683 /* "mremap" */) != 0 { + if tsIsFailErrno(tls, ts+37438 /* "mremap" */) != 0 { return libc.UintptrFromInt32(-1) } ap = va @@ -95165,7 +96392,7 @@ func test_syscall_install(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var apElem uintptr at bp+8, 8 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36690 /* "SYSCALL-LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37445 /* "SYSCALL-LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp /* &nElem */, bp+8 /* &apElem */) != 0 { @@ -95177,7 +96404,7 @@ func test_syscall_install(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var iCall int32 at bp+16, 4 var rc int32 = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* apElem */)) + uintptr(i)*8)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+36703 /* "system-call" */, 0, bp+16 /* &iCall */) + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* apElem */)) + uintptr(i)*8)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+37458 /* "system-call" */, 0, bp+16 /* &iCall */) if rc != 0 { return rc } @@ -95277,7 +96504,7 @@ func test_syscall_fault(tls *libc.TLS, clientData uintptr, interp uintptr, objc *(*int32)(unsafe.Pointer(bp + 4 /* bPersist */)) = 0 if (objc != 2) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36715 /* "?COUNT PERSIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37470 /* "?COUNT PERSIST?" */) return TCL_ERROR } @@ -95306,32 +96533,32 @@ func test_syscall_errno(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 *(*[12]Errno)(unsafe.Pointer(bp + 8 /* aErrno */)) = [12]Errno{ - {Fz: ts + 36731 /* "EACCES" */, Fi: EACCES}, - {Fz: ts + 36738 /* "EINTR" */, Fi: EINTR}, - {Fz: ts + 36744 /* "EIO" */, Fi: EIO}, - {Fz: ts + 36748 /* "EOVERFLOW" */, Fi: EOVERFLOW}, - {Fz: ts + 36758 /* "ENOMEM" */, Fi: ENOMEM}, - {Fz: ts + 36765 /* "EAGAIN" */, Fi: EAGAIN}, - {Fz: ts + 36772 /* "ETIMEDOUT" */, Fi: ETIMEDOUT}, - {Fz: ts + 36782 /* "EBUSY" */, Fi: EBUSY}, - {Fz: ts + 36788 /* "EPERM" */, Fi: EPERM}, - {Fz: ts + 36794 /* "EDEADLK" */, Fi: EDEADLK}, - {Fz: ts + 36802 /* "ENOLCK" */, Fi: ENOLCK}, + {Fz: ts + 37486 /* "EACCES" */, Fi: EACCES}, + {Fz: ts + 37493 /* "EINTR" */, Fi: EINTR}, + {Fz: ts + 37499 /* "EIO" */, Fi: EIO}, + {Fz: ts + 37503 /* "EOVERFLOW" */, Fi: EOVERFLOW}, + {Fz: ts + 37513 /* "ENOMEM" */, Fi: ENOMEM}, + {Fz: ts + 37520 /* "EAGAIN" */, Fi: EAGAIN}, + {Fz: ts + 37527 /* "ETIMEDOUT" */, Fi: ETIMEDOUT}, + {Fz: ts + 37537 /* "EBUSY" */, Fi: EBUSY}, + {Fz: ts + 37543 /* "EPERM" */, Fi: EPERM}, + {Fz: ts + 37549 /* "EDEADLK" */, Fi: EDEADLK}, + {Fz: ts + 37557 /* "ENOLCK" */, Fi: ENOLCK}, {}, } if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36809 /* "SYSCALL ERRNO" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37564 /* "SYSCALL ERRNO" */) return TCL_ERROR } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+36703 /* "system-call" */, 0, bp /* &iCall */) + *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+37458 /* "system-call" */, 0, bp /* &iCall */) if rc != TCL_OK { return rc } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &aErrno[0] */, int32(unsafe.Sizeof(Errno{})), ts+36823 /* "errno" */, 0, bp+200 /* &iErrno */) + *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &aErrno[0] */, int32(unsafe.Sizeof(Errno{})), ts+37578 /* "errno" */, 0, bp+200 /* &iErrno */) if rc != TCL_OK { return rc } @@ -95397,7 +96624,7 @@ func test_syscall_pagesize(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var pgsz int32 at bp+16, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36829 /* "PGSZ" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37584 /* "PGSZ" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+16 /* &pgsz */) != 0 { @@ -95406,17 +96633,17 @@ func test_syscall_pagesize(tls *libc.TLS, clientData uintptr, interp uintptr, ob if *(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) < 0 { if gSyscall.Forig_getpagesize != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, ts+36834 /* "getpagesize" */, gSyscall.Forig_getpagesize) + (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, ts+37589 /* "getpagesize" */, gSyscall.Forig_getpagesize) } } else { if (*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) < 512) || ((*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) - 1)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+36846 /* "pgsz out of rang..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37601 /* "pgsz out of rang..." */, 0)) return TCL_ERROR } - gSyscall.Forig_getpagesize = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 152 /* &.xGetSystemCall */))))(tls, pVfs, ts+36834 /* "getpagesize" */) + gSyscall.Forig_getpagesize = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 152 /* &.xGetSystemCall */))))(tls, pVfs, ts+37589 /* "getpagesize" */) gSyscall.Fpgsz = *(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, - pVfs, ts+36834 /* "getpagesize" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{ts_getpagesize}))) + pVfs, ts+37589 /* "getpagesize" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{ts_getpagesize}))) } return TCL_OK @@ -95427,31 +96654,31 @@ func test_syscall(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(180) *(*[10]SyscallCmd)(unsafe.Pointer(bp + 16 /* aCmd */)) = [10]SyscallCmd{ - {FzName: ts + 36864 /* "fault" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37619 /* "fault" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_fault}))}, - {FzName: ts + 36870 /* "install" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37625 /* "install" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_install}))}, - {FzName: ts + 36878 /* "uninstall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37633 /* "uninstall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_uninstall}))}, {FzName: ts + 7379 /* "reset" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_reset}))}, - {FzName: ts + 36823 /* "errno" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37578 /* "errno" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_errno}))}, - {FzName: ts + 13196 /* "exists" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 13977 /* "exists" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_exists}))}, - {FzName: ts + 36888 /* "list" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37643 /* "list" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_list}))}, - {FzName: ts + 36893 /* "defaultvfs" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37648 /* "defaultvfs" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_defaultvfs}))}, - {FzName: ts + 36904 /* "pagesize" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37659 /* "pagesize" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_pagesize}))}, {}, @@ -95462,11 +96689,11 @@ func test_syscall(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var pVfs uintptr = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32601 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33363 /* "SUB-COMMAND ..." */) return TCL_ERROR } if ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion < 3) || ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall == uintptr(0)) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+36913 /* "VFS does not sup..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37668 /* "VFS does not sup..." */, 0)) rc = TCL_ERROR } else { rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, @@ -95488,7 +96715,7 @@ func SqlitetestSyscall_Init(tls *libc.TLS, interp uintptr) int32 { /* test_sysca defer tls.Free(16) *(*[1]SyscallCmd)(unsafe.Pointer(bp /* aCmd */)) = [1]SyscallCmd{ - {FzName: ts + 36949 /* "test_syscall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37704 /* "test_syscall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall}))}, } @@ -95520,7 +96747,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 // Since the primary use case for this binary is testing of SQLite, // be sure to generate core files if we crash - if tcl.XTcl_GetCommandInfo(tls, interp, ts+13947 /* "sqlite3" */, bp /* &cmdInfo */) == 0 { + if tcl.XTcl_GetCommandInfo(tls, interp, ts+14728 /* "sqlite3" */, bp /* &cmdInfo */) == 0 { Sqlite3_Init(tls, interp) } Md5_Init(tls, interp) @@ -95557,6 +96784,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 Sqlitemultiplex_Init(tls, interp) SqliteSuperlock_Init(tls, interp) SqlitetestSyscall_Init(tls, interp) + TestSession_Init(tls, interp) Fts5tcl_Init(tls, interp) SqliteRbu_Init(tls, interp) Sqlitetesttcl_Init(tls, interp) @@ -95566,7 +96794,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 Sqlitetestvdbecov_Init(tls, interp) tcl.XTcl_CreateObjCommand(tls, - interp, ts+36962 /* "load_testfixture..." */, *(*uintptr)(unsafe.Pointer(&struct { + interp, ts+37717 /* "load_testfixture..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{load_testfixture_extensions})), uintptr(0), uintptr(0)) return uintptr(0) @@ -95576,7 +96804,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 func load_testfixture_extensions(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_tclsh.c:185:26: */ var slave uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36990 /* "SLAVE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+37745 /* "SLAVE" */) return TCL_ERROR } @@ -95858,7 +97086,7 @@ var zSchema = // Array index // Value // base(index) name -*(*[100]int8)(unsafe.Pointer(ts + 36996 /* "CREATE TABLE x( ..." */)) /* test_tclvar.c:88:21 */ +*(*[100]int8)(unsafe.Pointer(ts + 37751 /* "CREATE TABLE x( ..." */)) /* test_tclvar.c:88:21 */ // Note that for this virtual table, the xCreate and xConnect // methods are identical. @@ -95908,7 +97136,7 @@ func next2(tls *libc.TLS, interp uintptr, pCur uintptr, pObj uintptr) int32 { /* if pObj != 0 { if !(int32((*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2) != 0) { - p = tcl.XTcl_NewStringObj(tls, ts+37096 /* "array names" */, -1) + p = tcl.XTcl_NewStringObj(tls, ts+37851 /* "array names" */, -1) (*Tcl_Obj)(unsafe.Pointer(p)).FrefCount++ tcl.XTcl_ListObjAppendElement(tls, uintptr(0), p, pObj) tcl.XTcl_EvalObjEx(tls, interp, p, TCL_EVAL_GLOBAL) @@ -95967,7 +97195,7 @@ func tclvarNext(tls *libc.TLS, cur uintptr) int32 { /* test_tclvar.c:168:12: */ func tclvarFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* test_tclvar.c:188:12: */ var pCur uintptr = pVtabCursor var interp uintptr = (*tclvar_vtab)(unsafe.Pointer((*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab)).Finterp - var p uintptr = tcl.XTcl_NewStringObj(tls, ts+37108 /* "tclvar_filter_cm..." */, -1) + var p uintptr = tcl.XTcl_NewStringObj(tls, ts+37863 /* "tclvar_filter_cm..." */, -1) var zEq uintptr = ts + 489 /* "" */ var zMatch uintptr = ts + 489 /* "" */ @@ -96082,7 +97310,7 @@ func tclvarColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* t { var z3 uintptr if *(*uintptr)(unsafe.Pointer(bp + 24 /* p2 */)) != 0 { - z3 = sqlite3.Xsqlite3_mprintf(tls, ts+37126 /* "%s(%s)" */, libc.VaList(bp, z1, z2)) + z3 = sqlite3.Xsqlite3_mprintf(tls, ts+37881 /* "%s(%s)" */, libc.VaList(bp, z1, z2)) sqlite3.Xsqlite3_result_text(tls, ctx, z3, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) } else { sqlite3.Xsqlite3_result_text(tls, ctx, z1, -1, libc.UintptrFromInt32(-1)) @@ -96137,7 +97365,7 @@ func tclvarSetOmit(tls *libc.TLS, interp uintptr) int32 { /* test_tclvar.c:324:1 *(*int32)(unsafe.Pointer(bp /* res */)) = 0 var pRes uintptr rc = tcl.XTcl_Eval(tls, interp, - ts+37133 /* "expr {[info exis..." */) + ts+37888 /* "expr {[info exis..." */) if rc == TCL_OK { pRes = tcl.XTcl_GetObjResult(tls, interp) rc = tcl.XTcl_GetBooleanFromObj(tls, uintptr(0), pRes, bp /* &res */) @@ -96234,7 +97462,7 @@ func tclvarUpdate(tls *libc.TLS, tab uintptr, argc int32, argv uintptr, pRowid u var zValue uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8))) var zName uintptr if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 5*8))) != SQLITE_TEXT { - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37194 /* "the 'fullname' c..." */, 0) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37949 /* "the 'fullname' c..." */, 0) return SQLITE_ERROR } zName = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 5*8))) @@ -96260,7 +97488,7 @@ func tclvarUpdate(tls *libc.TLS, tab uintptr, argc int32, argv uintptr, pRowid u } return SQLITE_OK } - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37229 /* "prohibited TCL v..." */, 0) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37984 /* "prohibited TCL v..." */, 0) return SQLITE_ERROR } @@ -96297,10 +97525,10 @@ func register_tclvar_module(tls *libc.TLS, clientData ClientData, interp uintptr if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+29396 /* "tclvar" */, uintptr(unsafe.Pointer(&tclvarModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30158 /* "tclvar" */, uintptr(unsafe.Pointer(&tclvarModule)), interp) rc = tcl.XTcl_Eval(tls, interp, - ts+37260 /* "proc like {patte..." */) + ts+38015 /* "proc like {patte..." */) return rc } @@ -96323,7 +97551,7 @@ var aObjCmd13 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 37796 /* "register_tclvar_..." */, FxProc: 0}, + {FzName: ts + 38551 /* "register_tclvar_..." */, FxProc: 0}, } /* test_tclvar.c:552:5 */ // One of these is allocated for each thread created by [sqlthread spawn]. @@ -96400,21 +97628,21 @@ func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) { /* test_thread.c:11 var p uintptr = pSqlThread interp = tcl.XTcl_CreateInterp(tls) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37819 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38574 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{clock_seconds_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37833 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38588 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_proc})), pSqlThread, uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37843 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38598 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_step_proc})), uintptr(0), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37865 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38620 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(1), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37893 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38648 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(0), uintptr(0)) Sqlitetest1_Init(tls, interp) @@ -96439,7 +97667,7 @@ func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) { /* test_thread.c:11 pList = tcl.XTcl_NewObj(tls) } - tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+37924 /* "set" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+38679 /* "set" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, (*SqlThread)(unsafe.Pointer(p)).FzVarname, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pList, pRes) postToParent(tls, p, pList) @@ -96505,7 +97733,7 @@ func sqlthread_spawn(tls *libc.TLS, clientData ClientData, interp uintptr, objc rc = tcl.XTcl_CreateThread(tls, bp+24 /* &x */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, ClientData) }{tclScriptThread})), pNew, nStack, flags) if rc != TCL_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37928 /* "Error in Tcl_Cre..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38683 /* "Error in Tcl_Cre..." */, 0)) tcl.XTcl_Free(tls, pNew) return TCL_ERROR } @@ -96535,7 +97763,7 @@ func sqlthread_parent(tls *libc.TLS, clientData ClientData, interp uintptr, objc _ = objc if p == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37956 /* "no parent thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38711 /* "no parent thread" */, 0)) return TCL_ERROR } @@ -96623,16 +97851,16 @@ func sqlthread_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc i _ [4]byte FzUsage uintptr }{ - {FzName: ts + 37973 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 38728 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_parent})), FnArg: 1, FzUsage: ts + 11583 /* "SCRIPT" */}, - {FzName: ts + 37980 /* "spawn" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_parent})), FnArg: 1, FzUsage: ts + 10650 /* "SCRIPT" */}, + {FzName: ts + 38735 /* "spawn" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_spawn})), FnArg: 2, FzUsage: ts + 37986 /* "VARNAME SCRIPT" */}, - {FzName: ts + 36590 /* "open" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_spawn})), FnArg: 2, FzUsage: ts + 38741 /* "VARNAME SCRIPT" */}, + {FzName: ts + 37345 /* "open" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_open})), FnArg: 1, FzUsage: ts + 38001 /* "DBNAME" */}, - {FzName: ts + 38008 /* "id" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_open})), FnArg: 1, FzUsage: ts + 38756 /* "DBNAME" */}, + {FzName: ts + 38763 /* "id" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_id})), FzUsage: ts + 489 /* "" */}, {}, @@ -96827,7 +98055,7 @@ func blocking_step_proc(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -96857,8 +98085,8 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, var isBlocking int32 = libc.BoolInt32(!(clientData == uintptr(0))) if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -96883,7 +98111,7 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+38011 /* "%s " */, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+38766 /* "%s " */, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -96903,21 +98131,21 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, // Register commands with the TCL interpreter. func SqlitetestThread_Init(tls *libc.TLS, interp uintptr) int32 { /* test_thread.c:619:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+37833 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38588 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37819 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38574 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{clock_seconds_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37843 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38598 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_step_proc})), uintptr(0), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37865 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38620 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(1), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37893 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38648 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(0), uintptr(0)) return TCL_OK @@ -97035,13 +98263,13 @@ func tvfsResultCode(tls *libc.TLS, p uintptr, pRc uintptr) int32 { /* test_vfs.c *(*[9]errcode)(unsafe.Pointer(bp /* aCode */)) = [9]errcode{ {FzCode: ts + 1988 /* "SQLITE_OK" */}, {FeCode: SQLITE_ERROR, FzCode: ts + 1975 /* "SQLITE_ERROR" */}, - {FeCode: SQLITE_IOERR, FzCode: ts + 38015 /* "SQLITE_IOERR" */}, - {FeCode: SQLITE_LOCKED, FzCode: ts + 38028 /* "SQLITE_LOCKED" */}, - {FeCode: SQLITE_BUSY, FzCode: ts + 38042 /* "SQLITE_BUSY" */}, - {FeCode: SQLITE_READONLY, FzCode: ts + 38054 /* "SQLITE_READONLY" */}, - {FeCode: (SQLITE_READONLY | (int32(5) << 8)), FzCode: ts + 38070 /* "SQLITE_READONLY_..." */}, - {FeCode: SQLITE_NOTFOUND, FzCode: ts + 38095 /* "SQLITE_NOTFOUND" */}, - {FeCode: -1, FzCode: ts + 38111 /* "SQLITE_OMIT" */}, + {FeCode: SQLITE_IOERR, FzCode: ts + 38770 /* "SQLITE_IOERR" */}, + {FeCode: SQLITE_LOCKED, FzCode: ts + 38783 /* "SQLITE_LOCKED" */}, + {FeCode: SQLITE_BUSY, FzCode: ts + 38797 /* "SQLITE_BUSY" */}, + {FeCode: SQLITE_READONLY, FzCode: ts + 38809 /* "SQLITE_READONLY" */}, + {FeCode: (SQLITE_READONLY | (int32(5) << 8)), FzCode: ts + 38825 /* "SQLITE_READONLY_..." */}, + {FeCode: SQLITE_NOTFOUND, FzCode: ts + 38850 /* "SQLITE_NOTFOUND" */}, + {FeCode: -1, FzCode: ts + 38866 /* "SQLITE_OMIT" */}, } var z uintptr var i int32 @@ -97121,7 +98349,7 @@ func tvfsClose(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:317:12: */ var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_CLOSE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35113, /* "xClose" */ + tvfsExecTcl(tls, p, ts+35868, /* "xClose" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) } @@ -97151,7 +98379,7 @@ func tvfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqli var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_READ_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35120, /* "xRead" */ + tvfsExecTcl(tls, p, ts+35875, /* "xRead" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -97174,7 +98402,7 @@ func tvfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sql var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_WRITE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35126, /* "xWrite" */ + tvfsExecTcl(tls, p, ts+35881, /* "xWrite" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewWideIntObj(tls, int64(iOfst)), tcl.XTcl_NewIntObj(tls, iAmt)) tvfsResultCode(tls, p, bp /* &rc */) @@ -97206,7 +98434,7 @@ func tvfsTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 { /* te var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_TRUNCATE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35133, /* "xTruncate" */ + tvfsExecTcl(tls, p, ts+35888, /* "xTruncate" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -97231,26 +98459,26 @@ func tvfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* test_vfs.c:4 switch flags { case SQLITE_SYNC_NORMAL: - zFlags = ts + 16088 /* "normal" */ + zFlags = ts + 16869 /* "normal" */ break fallthrough case SQLITE_SYNC_FULL: - zFlags = ts + 18035 /* "full" */ + zFlags = ts + 18816 /* "full" */ break fallthrough case (SQLITE_SYNC_NORMAL | SQLITE_SYNC_DATAONLY): - zFlags = ts + 38123 /* "normal|dataonly" */ + zFlags = ts + 38878 /* "normal|dataonly" */ break fallthrough case (SQLITE_SYNC_FULL | SQLITE_SYNC_DATAONLY): - zFlags = ts + 38139 /* "full|dataonly" */ + zFlags = ts + 38894 /* "full|dataonly" */ break fallthrough default: } - tvfsExecTcl(tls, p, ts+27457, /* "xSync" */ + tvfsExecTcl(tls, p, ts+28233, /* "xSync" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewStringObj(tls, zFlags, -1), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) @@ -97284,7 +98512,7 @@ func tvfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c:4 // var zLock [30]int8 at bp+8, 30 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) - tvfsExecTcl(tls, p, ts+35153 /* "xLock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+35908 /* "xLock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, bp+8 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } return sqlite3.Xsqlite3OsLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, eLock) @@ -97301,7 +98529,7 @@ func tvfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c // var zLock [30]int8 at bp+8, 30 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) - tvfsExecTcl(tls, p, ts+35159 /* "xUnlock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+35914 /* "xUnlock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, bp+8 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } if (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_WRITE_MASK) != 0) && (tvfsInjectIoerr(tls, p) != 0) { @@ -97315,7 +98543,7 @@ func tvfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_CKLOCK_MASK) != 0) { - tvfsExecTcl(tls, p, ts+38153 /* "xCheckReservedLo..." */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+38908 /* "xCheckReservedLo..." */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) } return sqlite3.Xsqlite3OsCheckReservedLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, pResOut) @@ -97357,9 +98585,9 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_FCNTL_MASK) != 0) { *(*[3]Fcntl)(unsafe.Pointer(bp + 16 /* aF */)) = [3]Fcntl{ - {FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 38172 /* "BEGIN_ATOMIC_WRI..." */}, - {FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 38191 /* "COMMIT_ATOMIC_WR..." */}, - {FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 38211 /* "ZIPVFS" */}, + {FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 38927 /* "BEGIN_ATOMIC_WRI..." */}, + {FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 38946 /* "COMMIT_ATOMIC_WR..." */}, + {FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 38966 /* "ZIPVFS" */}, } var i int32 for i = 0; uint64(i) < (uint64(unsafe.Sizeof([3]Fcntl{})) / uint64(unsafe.Sizeof(Fcntl{}))); i++ { @@ -97369,7 +98597,7 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } if uint64(i) < (uint64(unsafe.Sizeof([3]Fcntl{})) / uint64(unsafe.Sizeof(Fcntl{}))) { *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = 0 - tvfsExecTcl(tls, p, ts+35181, /* "xFileControl" */ + tvfsExecTcl(tls, p, ts+35936, /* "xFileControl" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, (*Fcntl)(unsafe.Pointer(bp+16 /* &aF */ +uintptr(i)*16)).FzFnctl, -1), uintptr(0), uintptr(0)) @@ -97456,7 +98684,7 @@ func tvfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i z += (uintptr(libc.Xstrlen(tls, z) + uint64(1))) } } - tvfsExecTcl(tls, p, ts+27029 /* "xOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), pArg, uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+27805 /* "xOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), pArg, uintptr(0), uintptr(0)) for ok := true; ok; ok = 0 != 0 { if libc.PreDecInt32(&(*Tcl_Obj)(unsafe.Pointer((pArg))).FrefCount, 1) <= 0 { tcl.XTclFreeObj(tls, pArg) @@ -97482,7 +98710,7 @@ func tvfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i } if !(pId != 0) { - pId = tcl.XTcl_NewStringObj(tls, ts+38218 /* "anon" */, -1) + pId = tcl.XTcl_NewStringObj(tls, ts+38973 /* "anon" */, -1) } (*Tcl_Obj)(unsafe.Pointer(pId)).FrefCount++ (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId = pId @@ -97528,7 +98756,7 @@ func tvfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 var p uintptr = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_DELETE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35218, /* "xDelete" */ + tvfsExecTcl(tls, p, ts+35973, /* "xDelete" */ tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewIntObj(tls, dirSync), uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -97550,15 +98778,15 @@ func tvfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut var zArg uintptr = uintptr(0) if flags == SQLITE_ACCESS_EXISTS { - zArg = ts + 38223 /* "SQLITE_ACCESS_EX..." */ + zArg = ts + 38978 /* "SQLITE_ACCESS_EX..." */ } if flags == SQLITE_ACCESS_READWRITE { - zArg = ts + 38244 /* "SQLITE_ACCESS_RE..." */ + zArg = ts + 38999 /* "SQLITE_ACCESS_RE..." */ } if flags == SQLITE_ACCESS_READ { - zArg = ts + 38268 /* "SQLITE_ACCESS_RE..." */ + zArg = ts + 39023 /* "SQLITE_ACCESS_RE..." */ } - tvfsExecTcl(tls, p, ts+35226, /* "xAccess" */ + tvfsExecTcl(tls, p, ts+35981, /* "xAccess" */ tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewStringObj(tls, zArg, -1), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { @@ -97585,7 +98813,7 @@ func tvfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_FULLPATHNAME_MASK) != 0) { // var rc int32 at bp, 4 - tvfsExecTcl(tls, p, ts+35234 /* "xFullPathname" */, tcl.XTcl_NewStringObj(tls, zPath, -1), uintptr(0), uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+35989 /* "xFullPathname" */, tcl.XTcl_NewStringObj(tls, zPath, -1), uintptr(0), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -97629,7 +98857,7 @@ func tvfsShmOpen(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:827:12: */ // SCRIPT xShmOpen FILENAME tcl.XTcl_ResetResult(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp) if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMOPEN_MASK) != 0) { - tvfsExecTcl(tls, p, ts+38287 /* "xShmOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+39042 /* "xShmOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -97700,7 +98928,7 @@ func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite i tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, iPage)) tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, pgsz)) tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, isWrite)) - tvfsExecTcl(tls, p, ts+35311, /* "xShmMap" */ + tvfsExecTcl(tls, p, ts+36066, /* "xShmMap" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, pArg, uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) for ok := true; ok; ok = 0 != 0 { @@ -97739,17 +98967,17 @@ func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMLOCK_MASK) != 0) { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+16 /* &zLock[0] */, ts+17570 /* "%d %d" */, libc.VaList(bp, ofst, n)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+16 /* &zLock[0] */, ts+18351 /* "%d %d" */, libc.VaList(bp, ofst, n)) nLock = int32(libc.Xstrlen(tls, bp+16 /* &zLock[0] */)) if (flags & SQLITE_SHM_LOCK) != 0 { - libc.X__builtin___strcpy_chk(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38296 /* " lock" */, libc.X__builtin_object_size(tls, (bp+16 /* &zLock */ +uintptr(nLock)), func() int32 { + libc.X__builtin___strcpy_chk(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+39051 /* " lock" */, libc.X__builtin_object_size(tls, (bp+16 /* &zLock */ +uintptr(nLock)), func() int32 { if X_USE_FORTIFY_LEVEL > 1 { return 1 } return 0 }())) } else { - libc.X__builtin___strcpy_chk(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38302 /* " unlock" */, libc.X__builtin_object_size(tls, (bp+16 /* &zLock */ +uintptr(nLock)), func() int32 { + libc.X__builtin___strcpy_chk(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+39057 /* " unlock" */, libc.X__builtin_object_size(tls, (bp+16 /* &zLock */ +uintptr(nLock)), func() int32 { if X_USE_FORTIFY_LEVEL > 1 { return 1 } @@ -97758,21 +98986,21 @@ func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) } nLock = nLock + (int32(libc.Xstrlen(tls, (bp + 16 /* &zLock */ + uintptr(nLock))))) if (flags & SQLITE_SHM_SHARED) != 0 { - libc.X__builtin___strcpy_chk(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38310 /* " shared" */, libc.X__builtin_object_size(tls, (bp+16 /* &zLock */ +uintptr(nLock)), func() int32 { + libc.X__builtin___strcpy_chk(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+39065 /* " shared" */, libc.X__builtin_object_size(tls, (bp+16 /* &zLock */ +uintptr(nLock)), func() int32 { if X_USE_FORTIFY_LEVEL > 1 { return 1 } return 0 }())) } else { - libc.X__builtin___strcpy_chk(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38318 /* " exclusive" */, libc.X__builtin_object_size(tls, (bp+16 /* &zLock */ +uintptr(nLock)), func() int32 { + libc.X__builtin___strcpy_chk(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+39073 /* " exclusive" */, libc.X__builtin_object_size(tls, (bp+16 /* &zLock */ +uintptr(nLock)), func() int32 { if X_USE_FORTIFY_LEVEL > 1 { return 1 } return 0 }())) } - tvfsExecTcl(tls, p, ts+35290, /* "xShmLock" */ + tvfsExecTcl(tls, p, ts+36045, /* "xShmLock" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewStringObj(tls, bp+16 /* &zLock[0] */, -1), uintptr(0)) tvfsResultCode(tls, p, bp+96 /* &rc */) @@ -97829,7 +99057,7 @@ func tvfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_vfs.c:1004:13: */ } else { z = ts + 489 /* "" */ } - tvfsExecTcl(tls, p, ts+35299 /* "xShmBarrier" */, tcl.XTcl_NewStringObj(tls, z, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+36054 /* "xShmBarrier" */, tcl.XTcl_NewStringObj(tls, z, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) } if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { @@ -97859,7 +99087,7 @@ func tvfsShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* tes } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMCLOSE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35280, /* "xShmUnmap" */ + tvfsExecTcl(tls, p, ts+36035, /* "xShmUnmap" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -97902,15 +99130,15 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o var p uintptr = cd *(*[10]TestvfsSubcmd)(unsafe.Pointer(bp + 96 /* aSubcmd */)) = [10]TestvfsSubcmd{ - {FzName: ts + 38329 /* "shm" */}, - {FzName: ts + 38333 /* "delete" */, FeCmd: uint32(1) /* CMD_DELETE */}, - {FzName: ts + 38340 /* "filter" */, FeCmd: uint32(2) /* CMD_FILTER */}, - {FzName: ts + 38347 /* "ioerr" */, FeCmd: uint32(3) /* CMD_IOERR */}, - {FzName: ts + 38353 /* "fullerr" */, FeCmd: uint32(7) /* CMD_FULLERR */}, - {FzName: ts + 38361 /* "cantopenerr" */, FeCmd: uint32(8) /* CMD_CANTOPENERR */}, - {FzName: ts + 38373 /* "script" */, FeCmd: uint32(4) /* CMD_SCRIPT */}, - {FzName: ts + 38380 /* "devchar" */, FeCmd: uint32(5) /* CMD_DEVCHAR */}, - {FzName: ts + 38388 /* "sectorsize" */, FeCmd: uint32(6) /* CMD_SECTORSIZE */}, + {FzName: ts + 39084 /* "shm" */}, + {FzName: ts + 10601 /* "delete" */, FeCmd: uint32(1) /* CMD_DELETE */}, + {FzName: ts + 39088 /* "filter" */, FeCmd: uint32(2) /* CMD_FILTER */}, + {FzName: ts + 39095 /* "ioerr" */, FeCmd: uint32(3) /* CMD_IOERR */}, + {FzName: ts + 39101 /* "fullerr" */, FeCmd: uint32(7) /* CMD_FULLERR */}, + {FzName: ts + 39109 /* "cantopenerr" */, FeCmd: uint32(8) /* CMD_CANTOPENERR */}, + {FzName: ts + 39121 /* "script" */, FeCmd: uint32(4) /* CMD_SCRIPT */}, + {FzName: ts + 39128 /* "devchar" */, FeCmd: uint32(5) /* CMD_DEVCHAR */}, + {FzName: ts + 39136 /* "sectorsize" */, FeCmd: uint32(6) /* CMD_SECTORSIZE */}, {}, } // var i int32 at bp+256, 4 @@ -97920,7 +99148,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+96 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+38399 /* "subcommand" */, 0, bp+256 /* &i */) != 0 { + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+96 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+39147 /* "subcommand" */, 0, bp+256 /* &i */) != 0 { return TCL_ERROR } tcl.XTcl_ResetResult(tls, interp) @@ -97933,7 +99161,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o var pBuffer uintptr var zName uintptr if (objc != 3) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38410 /* "FILE ?VALUE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39158 /* "FILE ?VALUE?" */) return TCL_ERROR } zName = tcl.XTcl_Alloc(tls, uint32((*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname)) @@ -97941,7 +99169,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o (*Testvfs)(unsafe.Pointer(p)).FpParent, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), (*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname, zName) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38423, /* "failed to get fu..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+39171, /* "failed to get fu..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) tcl.XTcl_Free(tls, zName) return TCL_ERROR @@ -97953,7 +99181,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } tcl.XTcl_Free(tls, zName) if !(pBuffer != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+38449 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+39197 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) return TCL_ERROR } if objc == 4 { @@ -97996,7 +99224,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o *(*int32)(unsafe.Pointer(bp + 264 /* nElem */)) = 0 var mask int32 = 0 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+32038 /* "LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+32800 /* "LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+264 /* &nElem */, bp+272 /* &apElem */) != 0 { @@ -98013,7 +99241,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } } if iMethod == (int32(uint64(unsafe.Sizeof(vfsmethod)) / uint64(unsafe.Sizeof(VfsMethod{})))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+38464 /* "unknown method: " */, zElem, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+39212 /* "unknown method: " */, zElem, 0)) return TCL_ERROR } } @@ -98045,7 +99273,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o (*Tcl_Obj)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpScript)).FrefCount++ } } else if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) return TCL_ERROR } @@ -98104,7 +99332,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o }() (*TestFaultInject)(unsafe.Pointer(pTest)).FiCnt = *(*int32)(unsafe.Pointer(bp + 284 /* iCnt */)) } else if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38481 /* "?CNT PERSIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39229 /* "?CNT PERSIST?" */) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iRet)) @@ -98122,28 +99350,28 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(5) /* CMD_DEVCHAR */ : { *(*[16]DeviceFlag)(unsafe.Pointer(bp + 304 /* aFlag */)) = [16]DeviceFlag{ - {FzName: ts + 38495 /* "default" */, FiValue: -1}, - {FzName: ts + 26011 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, - {FzName: ts + 26018 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, - {FzName: ts + 26028 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, - {FzName: ts + 26037 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, - {FzName: ts + 26046 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, - {FzName: ts + 26055 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, - {FzName: ts + 26064 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, - {FzName: ts + 26074 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, - {FzName: ts + 26084 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, - {FzName: ts + 26094 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, - {FzName: ts + 26105 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, - {FzName: ts + 38503 /* "undeletable_when..." */, FiValue: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN}, - {FzName: ts + 26117 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, - {FzName: ts + 38525 /* "immutable" */, FiValue: SQLITE_IOCAP_IMMUTABLE}, + {FzName: ts + 39243 /* "default" */, FiValue: -1}, + {FzName: ts + 26787 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, + {FzName: ts + 26794 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, + {FzName: ts + 26804 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, + {FzName: ts + 26813 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, + {FzName: ts + 26822 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, + {FzName: ts + 26831 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, + {FzName: ts + 26840 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, + {FzName: ts + 26850 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, + {FzName: ts + 26860 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, + {FzName: ts + 26870 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, + {FzName: ts + 26881 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, + {FzName: ts + 39251 /* "undeletable_when..." */, FiValue: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN}, + {FzName: ts + 26893 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, + {FzName: ts + 39273 /* "immutable" */, FiValue: SQLITE_IOCAP_IMMUTABLE}, {}, } var pRet uintptr var iFlag int32 if objc > 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38535 /* "?ATTR-LIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39283 /* "?ATTR-LIST?" */) return TCL_ERROR } if objc == 3 { @@ -98159,11 +99387,11 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o for j = 0; j < *(*int32)(unsafe.Pointer(bp + 292 /* nFlags */)); j++ { *(*int32)(unsafe.Pointer(bp + 560 /* idx */)) = 0 if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 296 /* flags */)) + uintptr(j)*8)), bp+304, /* &aFlag[0] */ - int32(unsafe.Sizeof(DeviceFlag{})), ts+17204 /* "flag" */, 0, bp+560 /* &idx */) != 0 { + int32(unsafe.Sizeof(DeviceFlag{})), ts+17985 /* "flag" */, 0, bp+560 /* &idx */) != 0 { return TCL_ERROR } if ((*DeviceFlag)(unsafe.Pointer(bp+304 /* &aFlag */ +uintptr(*(*int32)(unsafe.Pointer(bp + 560 /* idx */)))*16)).FiValue < 0) && (*(*int32)(unsafe.Pointer(bp + 292 /* nFlags */)) > 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+38547 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+39295 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) return TCL_ERROR } iNew = iNew | ((*DeviceFlag)(unsafe.Pointer(bp + 304 /* &aFlag */ + uintptr(*(*int32)(unsafe.Pointer(bp + 560 /* idx */)))*16)).FiValue) @@ -98188,7 +99416,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(6) /* CMD_SECTORSIZE */ : { if objc > 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38559 /* "?VALUE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39307 /* "?VALUE?" */) return TCL_ERROR } if objc == 3 { @@ -98220,24 +99448,24 @@ type VfsMethod = struct { } /* test_vfs.c:1179:14 */ var vfsmethod = [18]VfsMethod{ - {FzName: ts + 38287 /* "xShmOpen" */, Fmask: TESTVFS_SHMOPEN_MASK}, - {FzName: ts + 35290 /* "xShmLock" */, Fmask: TESTVFS_SHMLOCK_MASK}, - {FzName: ts + 35299 /* "xShmBarrier" */, Fmask: TESTVFS_SHMBARRIER_MASK}, - {FzName: ts + 35280 /* "xShmUnmap" */, Fmask: TESTVFS_SHMCLOSE_MASK}, - {FzName: ts + 35311 /* "xShmMap" */, Fmask: TESTVFS_SHMMAP_MASK}, - {FzName: ts + 27457 /* "xSync" */, Fmask: TESTVFS_SYNC_MASK}, - {FzName: ts + 35218 /* "xDelete" */, Fmask: TESTVFS_DELETE_MASK}, - {FzName: ts + 35126 /* "xWrite" */, Fmask: TESTVFS_WRITE_MASK}, - {FzName: ts + 35120 /* "xRead" */, Fmask: TESTVFS_READ_MASK}, - {FzName: ts + 35133 /* "xTruncate" */, Fmask: TESTVFS_TRUNCATE_MASK}, - {FzName: ts + 27029 /* "xOpen" */, Fmask: TESTVFS_OPEN_MASK}, - {FzName: ts + 35113 /* "xClose" */, Fmask: TESTVFS_CLOSE_MASK}, - {FzName: ts + 35226 /* "xAccess" */, Fmask: TESTVFS_ACCESS_MASK}, - {FzName: ts + 35234 /* "xFullPathname" */, Fmask: TESTVFS_FULLPATHNAME_MASK}, - {FzName: ts + 35159 /* "xUnlock" */, Fmask: TESTVFS_UNLOCK_MASK}, - {FzName: ts + 35153 /* "xLock" */, Fmask: TESTVFS_LOCK_MASK}, - {FzName: ts + 38153 /* "xCheckReservedLo..." */, Fmask: TESTVFS_CKLOCK_MASK}, - {FzName: ts + 35181 /* "xFileControl" */, Fmask: TESTVFS_FCNTL_MASK}, + {FzName: ts + 39042 /* "xShmOpen" */, Fmask: TESTVFS_SHMOPEN_MASK}, + {FzName: ts + 36045 /* "xShmLock" */, Fmask: TESTVFS_SHMLOCK_MASK}, + {FzName: ts + 36054 /* "xShmBarrier" */, Fmask: TESTVFS_SHMBARRIER_MASK}, + {FzName: ts + 36035 /* "xShmUnmap" */, Fmask: TESTVFS_SHMCLOSE_MASK}, + {FzName: ts + 36066 /* "xShmMap" */, Fmask: TESTVFS_SHMMAP_MASK}, + {FzName: ts + 28233 /* "xSync" */, Fmask: TESTVFS_SYNC_MASK}, + {FzName: ts + 35973 /* "xDelete" */, Fmask: TESTVFS_DELETE_MASK}, + {FzName: ts + 35881 /* "xWrite" */, Fmask: TESTVFS_WRITE_MASK}, + {FzName: ts + 35875 /* "xRead" */, Fmask: TESTVFS_READ_MASK}, + {FzName: ts + 35888 /* "xTruncate" */, Fmask: TESTVFS_TRUNCATE_MASK}, + {FzName: ts + 27805 /* "xOpen" */, Fmask: TESTVFS_OPEN_MASK}, + {FzName: ts + 35868 /* "xClose" */, Fmask: TESTVFS_CLOSE_MASK}, + {FzName: ts + 35981 /* "xAccess" */, Fmask: TESTVFS_ACCESS_MASK}, + {FzName: ts + 35989 /* "xFullPathname" */, Fmask: TESTVFS_FULLPATHNAME_MASK}, + {FzName: ts + 35914 /* "xUnlock" */, Fmask: TESTVFS_UNLOCK_MASK}, + {FzName: ts + 35908 /* "xLock" */, Fmask: TESTVFS_LOCK_MASK}, + {FzName: ts + 38908 /* "xCheckReservedLo..." */, Fmask: TESTVFS_CKLOCK_MASK}, + {FzName: ts + 35936 /* "xFileControl" */, Fmask: TESTVFS_FCNTL_MASK}, } /* test_vfs.c:1182:9 */ func testvfs_obj_del(tls *libc.TLS, cd ClientData) { /* test_vfs.c:1393:27: */ @@ -98334,7 +99562,7 @@ __2: } zSwitch = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp /* &nSwitch */) - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38567 /* "-noshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39315 /* "-noshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __5 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+4 /* &isNoshm */) != 0) { @@ -98351,7 +99579,7 @@ __8: ; goto __6 __5: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+26387 /* "-default" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+27163 /* "-default" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __9 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+8 /* &isDefault */) != 0) { @@ -98362,7 +99590,7 @@ __11: ; goto __10 __9: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38574 /* "-szosfile" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39322 /* "-szosfile" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __12 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+12 /* &szOsFile */) != 0) { @@ -98373,7 +99601,7 @@ __14: ; goto __13 __12: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38584 /* "-mxpathname" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39332 /* "-mxpathname" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __15 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+16 /* &mxPathname */) != 0) { @@ -98384,7 +99612,7 @@ __17: ; goto __16 __15: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38596 /* "-iversion" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39344 /* "-iversion" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __18 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+20 /* &iVersion */) != 0) { @@ -98395,7 +99623,7 @@ __20: ; goto __19 __18: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38606 /* "-fullshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39354 /* "-fullshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __21 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+24 /* &isFullshm */) != 0) { @@ -98484,7 +99712,7 @@ __26: return TCL_OK bad_args: - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38615 /* "VFSNAME ?-noshm ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39363 /* "VFSNAME ?-noshm ..." */) return TCL_ERROR } @@ -98504,8 +99732,8 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in bp := tls.Alloc(88) defer tls.Free(88) - *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azArg1 */)) = [3]uintptr{ts + 38719 /* "shared" */, ts + 13658 /* "exclusive" */, uintptr(0)} - *(*[3]uintptr)(unsafe.Pointer(bp + 40 /* azArg2 */)) = [3]uintptr{ts + 38726 /* "lock" */, ts + 38731 /* "unlock" */, uintptr(0)} + *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azArg1 */)) = [3]uintptr{ts + 39467 /* "shared" */, ts + 14439 /* "exclusive" */, uintptr(0)} + *(*[3]uintptr)(unsafe.Pointer(bp + 40 /* azArg2 */)) = [3]uintptr{ts + 39474 /* "lock" */, ts + 39479 /* "unlock" */, uintptr(0)} *(*uintptr)(unsafe.Pointer(bp /* db */)) = uintptr(0) var rc int32 = SQLITE_OK var zDbname uintptr = uintptr(0) @@ -98517,14 +99745,14 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in if objc != 7 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+38738 /* "DB DBNAME (share..." */) + ts+39486 /* "DB DBNAME (share..." */) return TCL_ERROR } zDbname = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) if ((((getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || - (tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &azArg1[0] */, ts+38790 /* "ARG" */, 0, bp+32 /* &iArg1 */) != 0)) || - (tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+40 /* &azArg2[0] */, ts+38790 /* "ARG" */, 0, bp+64 /* &iArg2 */) != 0)) || + (tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &azArg1[0] */, ts+39538 /* "ARG" */, 0, bp+32 /* &iArg1 */) != 0)) || + (tcl.XTcl_GetIndexFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+40 /* &azArg2[0] */, ts+39538 /* "ARG" */, 0, bp+64 /* &iArg2 */) != 0)) || (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*8)), bp+68 /* &iOffset */) != 0)) || (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 6*8)), bp+72 /* &n */) != 0) { return TCL_ERROR @@ -98567,7 +99795,7 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob var iOff int32 if (objc != 4) && (objc != 5) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38794 /* "DB DBNAME SLOT ?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39542 /* "DB DBNAME SLOT ?..." */) return TCL_ERROR } @@ -98588,7 +99816,7 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob return TCL_ERROR } if libc.AtomicLoadPUintptr(bp+40 /* pShm */) == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38817 /* "*-shm is not yet..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+39565 /* "*-shm is not yet..." */, 0)) return TCL_ERROR } aShm = libc.AtomicLoadPUintptr(bp + 40 /* pShm */) @@ -98603,13 +99831,13 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob } func Sqlitetestvfs_Init(tls *libc.TLS, interp uintptr) int32 { /* test_vfs.c:1685:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+38841 /* "testvfs" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39589 /* "testvfs" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{testvfs_cmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+38849 /* "vfs_shmlock" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39597 /* "vfs_shmlock" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfs_shmlock})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+38861 /* "vfs_set_readmark" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39609 /* "vfs_set_readmark" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfs_set_readmark})), uintptr(0), uintptr(0)) return TCL_OK @@ -98768,7 +99996,7 @@ func test_create_window(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 7 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38878 /* "DB NAME XSTEP XF..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39626 /* "DB NAME XSTEP XF..." */) return TCL_ERROR } @@ -98826,7 +100054,7 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38915 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39663 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowInverse})), @@ -98837,7 +100065,7 @@ __2: goto error __3: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38915 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39663 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct { @@ -98850,7 +100078,7 @@ __3: goto error __4: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38915 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39663 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { @@ -98863,7 +100091,7 @@ __4: goto error __5: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38915 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39663 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), uintptr(0), @@ -98878,7 +100106,7 @@ __6: return TCL_OK error: - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+38919 /* "misuse test erro..." */, -1)) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+39667 /* "misuse test erro..." */, -1)) return TCL_ERROR } @@ -98887,7 +100115,7 @@ func sumintStep(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* test var pInt uintptr if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_INTEGER { - sqlite3.Xsqlite3_result_error(tls, ctx, ts+38937 /* "invalid argument" */, -1) + sqlite3.Xsqlite3_result_error(tls, ctx, ts+39685 /* "invalid argument" */, -1) return } pInt = sqlite3.Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(sqlite3_int64(0)))) @@ -98941,7 +100169,7 @@ func test_create_sumint(tls *libc.TLS, clientData uintptr, interp uintptr, objc return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38954 /* "sumint" */, 1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39702 /* "sumint" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintValue})), *(*uintptr)(unsafe.Pointer(&struct { @@ -98972,7 +100200,7 @@ func test_override_sum(tls *libc.TLS, clientData uintptr, interp uintptr, objc i return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38961 /* "sum" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39709 /* "sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal}))) @@ -99004,10 +100232,10 @@ var aObjCmd14 = [4]struct { FclientData int32 _ [4]byte }{ - {FzName: ts + 38965 /* "sqlite3_create_w..." */, FxProc: 0}, - {FzName: ts + 38996 /* "test_create_wind..." */, FxProc: 0}, - {FzName: ts + 39031 /* "test_create_sumi..." */, FxProc: 0}, - {FzName: ts + 39050 /* "test_override_su..." */, FxProc: 0}, + {FzName: ts + 39713 /* "sqlite3_create_w..." */, FxProc: 0}, + {FzName: ts + 39744 /* "test_create_wind..." */, FxProc: 0}, + {FzName: ts + 39779 /* "test_create_sumi..." */, FxProc: 0}, + {FzName: ts + 39798 /* "test_override_su..." */, FxProc: 0}, } /* test_window.c:336:5 */ // 2008 September 1 @@ -100421,5 +101649,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&zipfileModule)) + 144 /* .xFindFunction */)) = zipfileFindFunction // zipfile.c:2167:5: } -var ts1 = "%s\x00internal error!\x00SELECT * FROM main.%Q WHERE sample()\x00expert\x00PRAGMA table_xinfo=%Q\x00main\x00, \x00%Q\x00 COLLATE %Q\x00 COLLATE %s\x00 DESC\x00PRAGMA index_list=%Q\x00PRAGMA index_xInfo=%Q\x00%s_idx_%08x\x00CREATE INDEX '%q' ON %Q(%s)\x00CREATE INDEX %s ON %s(%s)\x00EXPLAIN QUERY PLAN %s\x00 USING INDEX \x00 USING COVERING INDEX \x00%s\n\x00%s;\n\x00SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_schema WHERE tbl_name = %Q AND type IN ('table', 'trigger') ORDER BY type;\x00ALTER TABLE temp.%Q RENAME TO %Q\x00INSERT INTO %Q VALUES(\x00%s?\x00\x00)\x00UPDATE %Q SET \x00%s%Q=?\x00DELETE FROM %Q\x00t592690916721053953805701627921227776\x00DROP TABLE t592690916721053953805701627921227776\x00SELECT type, name, sql, 1 FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%' UNION ALL SELECT type, name, sql, 2 FROM sqlite_schema WHERE type = 'trigger' AND tbl_name IN(SELECT name FROM sqlite_schema WHERE type = 'view') ORDER BY 4, 1\x00CREATE TABLE x(\x00%s%Q COLLATE %s\x00CREATE VIRTUAL TABLE %Q USING expert(%Q)\x00SELECT max(i.seqno) FROM sqlite_schema AS s, pragma_index_list(s.name) AS l, pragma_index_info(l.name) AS i WHERE s.type = 'table'\x00%sx.%Q IS rem(%d, x.%Q) COLLATE %s\x00%s%d\x00SELECT %s FROM %Q x ORDER BY %s\x00SELECT %s FROM temp.t592690916721053953805701627921227776 x ORDER BY %s\x00%d\x00 %d\x00DROP TABLE IF EXISTS temp.t592690916721053953805701627921227776\x00CREATE TABLE temp.t592690916721053953805701627921227776 AS SELECT * FROM %Q\x00SELECT s.rowid, s.name, l.name FROM sqlite_schema AS s, pragma_index_list(s.name) AS l WHERE s.type = 'table'\x00SELECT name, coll FROM pragma_index_xinfo(?) WHERE key\x00INSERT INTO sqlite_stat1 VALUES(?, ?, ?)\x00ANALYZE; PRAGMA writable_schema=1\x00rem\x00sample\x00ANALYZE sqlite_schema\x00:memory:\x00SELECT sql FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%%' AND sql NOT LIKE 'CREATE VIRTUAL %%'\x00%s;%s%s\n\x00 -- stat1: \x00no such handle: \x00sql\x00TABLE\x00analyze\x00count\x00report\x00STMT EREPORT\x00destroy\x00SUBCOMMAND ...\x00sub-command\x00indexes\x00plan\x00candidates\x00DB\x00sqlite3expert%d\x00out of memory\x00sqlite3_expert_new\x00SQLITE_DONE\x00SQLITE_ERROR\x00SQLITE_OK\x00SELECT fts5(?1)\x00error: \x00fts5_api_ptr\x00f5t_2_%lld\x00xColumnCount\x00xRowCount\x00xColumnTotalSize\x00COL\x00xTokenize\x00TEXT SCRIPT\x00xPhraseCount\x00xPhraseSize\x00PHRASE\x00xInstCount\x00xInst\x00IDX\x00xRowid\x00xColumnText\x00xColumnSize\x00xQueryPhrase\x00PHRASE SCRIPT\x00xSetAuxdata\x00VALUE\x00xGetAuxdata\x00CLEAR\x00xSetAuxdataInt\x00INTEGER\x00xGetAuxdataInt\x00xPhraseForeach\x00IPHRASE COLVAR OFFVAR SCRIPT\x00xPhraseColumnForeach\x00IPHRASE COLVAR SCRIPT\x00SUB-COMMAND\x00f5t_%lld\x00bytearray\x00boolean\x00double\x00wideInt\x00int\x00DB NAME SCRIPT\x00?-subst? DB NAME TEXT\x00-subst\x00unrecognized option: \x00no such tokenizer: \x00error in tokenizer.xCreate()\x00error in tokenizer.xTokenize()\x00document\x00aux\x00query\x00prefixquery\x00invalid\x00-colocated\x00sqlite3_fts5_token may only be used by tokenizer callback\x00?-colocated? TEXT START END\x00error in fts5_api.xCreateTokenizer()\x00NSLOT TOKEN\x00sqlite3_fts5_create_tokenizer\x00sqlite3_fts5_token\x00sqlite3_fts5_tokenize\x00sqlite3_fts5_create_function\x00sqlite3_fts5_may_be_corrupt\x00sqlite3_fts5_token_hash\x00sqlite3_fts5_register_matchinfo\x00sqlite3_fts5_register_fts5tokenize\x00unrecognized matchinfo flag: %c\x00pcx\x00matchinfo\x00CREATE TABLE x(input HIDDEN, token, start, end, position)\x00fts5tokenize\x00apndvfs\x00Start-Of-SQLite3-\x00apnd(%lld)/%z\x00SQLite format 3\x00%s: cost must be between 1 and %d\x00%s: maximum string length is %d\x00%s: iLang must be between 0 and %d\x00?\x00SELECT * FROM %Q.%Q\x00%s: %s\x00%s: %s has %d columns, expected 4\x00vocabulary_table\x00vocabulary_word\x00vocabulary_language\x00edit_distances\x00unrecognized argument: [%s]\n\x00no edit_distances table specified\x00CREATE TABLE x(word,distance,language,command HIDDEN,nword HIDDEN)\x000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^abcdefghijklmnopqrstuvwxyz~\x00SELECT \"%w\" FROM \"%w\"\x00 WHERE \"%w\">=?1 AND \"%w\"=?2 ORDER BY 1\x00SELECT \"%w\" FROM \"%w\" WHERE \"%w\">=?1 ORDER BY 1\x00*\x00DELETE from %s is not allowed\x00UPDATE of %s is not allowed\x00INSERT INTO %s allowed for column [command] only\x00approximate_match\x00int32\x00int64\x00char*\x00CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)\x00carray-bind\x00carray\x00unknown datatype: %Q\x00inttoptr\x00cksmvfs\x00ZV-\x00checksum fault offset %lld of \"%s\"\x00checksum_verification\x00enable%\x00yes\x00on\x00page_size\x00cksm/%z\x00verify_checksum\x00tablename\x00idcolumn\x00parentcolumn\x00CREATE TABLE x(id,depth,root HIDDEN,tablename HIDDEN,idcolumn HIDDEN,parentcolumn HIDDEN)\x00SELECT \"%w\".\"%w\" FROM \"%w\" WHERE \"%w\".\"%w\"=?1\x00transitive_closure\x00rb\x00cannot open '%s' for reading\x00line %d: unescaped %c character\x00line %d: unterminated %c-quoted field\n\x00more than one '%s' parameter\x00true\x00no\x00off\x00false\x00header\x00more than one 'header' parameter\x00testflags\x00columns\x00more than one 'columns' parameter\x00column= value must be positive\x00bad parameter: '%s'\x00must specify either filename= or data= but not both\x00%sc%d TEXT\x00,\x00%s\"%w\" TEXT\x00bad schema: '%s' - %s\x00filename\x00data\x00schema\x00csv\x00csv_wr\x00decimal_sum\x00decimal\x00decimal_cmp\x00decimal_add\x00decimal_sub\x00decimal_mul\x00 \x00eval\x00CREATE TABLE x(addr,opcode,p1,p2,p3,p4,p5,comment,sql HIDDEN)\x00EXPLAIN %s\x00explain\x00wb\x00wrong number of arguments to function writefile()\x00failed to create symlink: %s\x00failed to create directory: %s\x00failed to write file: %s\x00CREATE TABLE x(name,mode,mtime,data,path HIDDEN,dir HIDDEN)\x00cannot read directory: %s\x00%s/%s\x00cannot stat file: %s\x00table function fsdir requires an argument\x00table function fsdir requires a non-NULL argument\x00fsdir\x00readfile\x00writefile\x00lsmode\x00%s: ruleset must be between 0 and %d\x00%s: wrong number of CREATE VIRTUAL TABLE arguments\x00CREATE TABLE x(word,distance,ruleset)\x00fuzzer\x00ieee754(%lld,%d)\x00ieee754\x00ieee754_mantissa\x00ieee754_exponent\x00ieee754_to_blob\x00ieee754_from_blob\x00BEGIN; SELECT * FROM %s%q%ssqlite_schema\x00'\x00'.\x00PRAGMA %s%q%spage_size\x00sqlite3_mmap_warm_cache: Warmed up %d pages of %s\x00END\x00AND (%s)\x00collate \"%w\"\x00SELECT %s FROM %s WHERE %s>=(?1 || ?2) %s AND %s<=(?1 || char(1114111)) %s %s ORDER BY 1 %s ASC LIMIT 1\x00next_char\x00NULL\x00is\x00not\x00in(\x00in(select\x00in(with\x00?,?,?\x002nd argument to percentile() is not a number between 0.0 and 100.0\x002nd argument to percentile() is not the same for all input rows\x001st argument to percentile() is not numeric\x00Inf input to percentile()\x00percentile\x00CREATE TABLE prefixes(prefix TEXT, original_string TEXT HIDDEN)\x00prefixes\x00prefix_length\x00unknown \\ escape\x00afnrtv\\()*.+?[$^{|}]\x00\a\f\n\r\t\v\x00unmatched '('\x00'*' without operand\x00'+' without operand\x00'?' without operand\x00'{m,n}' without operand\x00unmatched '{'\x00n less than m in '{m,n}'\x00both m and n are zero in '{m,n}'\x00POSIX character classes not supported\x00unclosed '['\x00unrecognized character\x00regexp\x00regexpi\x00remember\x00CREATE TABLE x(value,start hidden,stop hidden,step hidden)\x00generate_series() requires SQLite 3.8.12 or later\x00generate_series\x00.ABCDHLRMY9 ?\x00non-ASCII input to editdist()\x00NULL input to editdist()\x00SELECT iLang, cFrom, cTo, iCost FROM \"%w\" WHERE iLang>=0 ORDER BY iLang\x00editdist3\x00DROP TABLE IF EXISTS \"%w\".\"%w_vocab\"\x00CREATE TABLE x(word,rank,distance,langid, score, matchlen, phonehash HIDDEN, top HIDDEN, scope HIDDEN, srchcnt HIDDEN, soundslike HIDDEN, command HIDDEN)\x00CREATE TABLE IF NOT EXISTS \"%w\".\"%w_vocab\"(\n id INTEGER PRIMARY KEY,\n rank INT,\n langid INT,\n word TEXT,\n k1 TEXT,\n k2 TEXT\n);\n\x00CREATE INDEX IF NOT EXISTS \"%w\".\"%w_vocab_index_langid_k2\" ON \"%w_vocab\"(langid,k2);\x00edit_cost_table=\x00bad argument to spellfix1(): \"%s\"\x00SELECT id, word, rank, coalesce(k1,word) FROM \"%w\".\"%w_vocab\" WHERE langid=%d AND k2>=?1 AND k2=%lld\x00AND\x00%z %s rowid<=%lld\x00CREATE TABLE x(value)\x00wholenumber\x00CREATE TABLE y(name PRIMARY KEY,mode,mtime,sz,rawdata,data,method,z HIDDEN) WITHOUT ROWID;\x00zipfile\x00zipfile constructor requires one argument\x00error in fread()\x00error in fwrite()\x00failed to read CDS at offset %lld\x00%.*s\x00failed to read LFH at offset %d\x001.2.11\x00inflateInit2() failed (%d)\x00inflate() failed (%d)\x00zipfile: deflate() error\x00cannot find end of central directory record\x00zipfile() function requires an argument\x00cannot open file: %s\x00-rwxrwxrwx\x00zipfile: mode does not match data\x00zipfile: parse error in mode: %s\x00zipfile: missing filename\x00ab+\x00zipfile: failed to open file %s for writing\x00sz must be NULL\x00rawdata must be NULL\x00unknown compression method: %d\x00%s/\x00duplicate name: \"%s\"\x00{\"version-made-by\" : %u, \"version-to-extract\" : %u, \"flags\" : %u, \"compression\" : %u, \"time\" : %u, \"date\" : %u, \"crc32\" : %u, \"compressed-size\" : %u, \"uncompressed-size\" : %u, \"file-name-length\" : %u, \"extra-field-length\" : %u, \"file-comment-length\" : %u, \"disk-number-start\" : %u, \"internal-attr\" : %u, \"external-attr\" : %u, \"offset\" : %u }\x00zipfile_cds\x00wrong number of arguments to function zipfile()\x00first argument to zipfile() must be non-NULL\x00illegal method value: %d\x00non-directory name must not end with /\x00rbu_delta\x00step\x00close\x00create_rbu_delta\x00savestate\x00dbMain_eval\x00SQL\x00bp_progress\x00db\x00RBU\x00state\x00progress\x00close_no_error\x00temp_size_limit\x00LIMIT\x00temp_size\x00dbRbu_eval\x00METHOD\x00method\x00 - \x00oal\x00move\x00checkpoint\x00done\x00error\x00NAME TARGET-DB RBU-DB ?STATE-DB?\x00NAME TARGET-DB ?STATE-DB?\x00?-default? NAME PARENT\x00NAME\x00sqlite3rbu_db(0, 0)!=0\x00sqlite3rbu\x00sqlite3rbu_vacuum\x00sqlite3rbu_create_vfs\x00sqlite3rbu_destroy_vfs\x00sqlite3rbu_internal_test\x00incrblob\x00incrblob_%d\x00%lld\x00sqlite_unlock_notify_arg\x00sqlite_unlock_notify_argcount\x00DELETE\x00INSERT\x00UPDATE\x00SQLITE_COPY\x00SQLITE_CREATE_INDEX\x00SQLITE_CREATE_TABLE\x00SQLITE_CREATE_TEMP_INDEX\x00SQLITE_CREATE_TEMP_TABLE\x00SQLITE_CREATE_TEMP_TRIGGER\x00SQLITE_CREATE_TEMP_VIEW\x00SQLITE_CREATE_TRIGGER\x00SQLITE_CREATE_VIEW\x00SQLITE_DELETE\x00SQLITE_DROP_INDEX\x00SQLITE_DROP_TABLE\x00SQLITE_DROP_TEMP_INDEX\x00SQLITE_DROP_TEMP_TABLE\x00SQLITE_DROP_TEMP_TRIGGER\x00SQLITE_DROP_TEMP_VIEW\x00SQLITE_DROP_TRIGGER\x00SQLITE_DROP_VIEW\x00SQLITE_INSERT\x00SQLITE_PRAGMA\x00SQLITE_READ\x00SQLITE_SELECT\x00SQLITE_TRANSACTION\x00SQLITE_UPDATE\x00SQLITE_ATTACH\x00SQLITE_DETACH\x00SQLITE_ALTER_TABLE\x00SQLITE_REINDEX\x00SQLITE_ANALYZE\x00SQLITE_CREATE_VTABLE\x00SQLITE_DROP_VTABLE\x00SQLITE_FUNCTION\x00SQLITE_SAVEPOINT\x00SQLITE_RECURSIVE\x00????\x00SQLITE_DENY\x00SQLITE_IGNORE\x00RELEASE _tcl_transaction\x00COMMIT\x00ROLLBACK TO _tcl_transaction ; RELEASE _tcl_transaction\x00option\x00?CALLBACK?\x00?DATABASE? FILENAME\x00cannot open target database: \x00backup failed: \x00CALLBACK\x00cache option ?arg?\x00flush\x00size\x00size n\x00cannot convert \"\x00\" to integer\x00bad option \"\x00\": must be flush or size\x00NAME SCRIPT\x00SCRIPT\x00?OPTION? ?BOOLEAN?\x00unknown config option: \"\x00\"\x00CONFLICT-ALGORITHM TABLE FILENAME ?SEPARATOR? ?NULLINDICATOR?\x00\t\x00Error: non-null separator required for copy\x00rollback\x00abort\x00fail\x00ignore\x00replace\x00Error: \"\x00\", conflict-algorithm must be one of: rollback, abort, fail, ignore, or replace\x00SELECT * FROM '%q'\x00Error: no such table: \x00Error: \x00Error: can't malloc()\x00INSERT OR %q INTO '%q' VALUES(?\x00Error: cannot open file: \x00BEGIN\x00Error: %s line %d: expected %d columns of data but found %d\x00, failed while processing line: \x00?DATABASE? VALUE\x00-maxsize\x00-readonly\x00unknown option: \x00unable to set MEMDB content\x00extension loading is turned off at compile-time\x00-withoutnulls\x00unknown option: \"\x00?OPTIONS? SQL ?ARRAY-NAME? ?SCRIPT?\x00NAME ?SWITCHES? SCRIPT\x00-argcount\x00option requires an argument: \x00number of arguments must be non-negative\x00-deterministic\x00-directonly\x00-innocuous\x00-returntype\x00real\x00text\x00blob\x00any\x00type\x00\": must be -argcount, -deterministic, -directonly, -innocuous, or -returntype\x00?-readonly? ?DB? TABLE COLUMN ROWID\x00NULLVALUE\x00N CALLBACK\x00KEY\x00cannot open source database: \x00restore failed: \x00restore failed: source database busy\x00?DATABASE?\x00(step|sort|autoindex)\x00sort\x00autoindex\x00vmstep\x00bad argument: should be autoindex, step, sort or vmstep\x00MILLISECONDS\x00?CALLBACK? ?MASK?\x00trace type\x00SAVEPOINT _tcl_transaction\x00[TYPE] SCRIPT\x00transaction type\x00BEGIN EXCLUSIVE\x00BEGIN IMMEDIATE\x00?SCRIPT?\x00SUB-COMMAND ?ARGS?\x00hook ?SCRIPT?\x00INDEX\x00-use-legacy-prepare\x00-last-stmt-ptr\x00%p\x00unknown argument: \x00authorizer\x00backup\x00bind_fallback\x00busy\x00cache\x00changes\x00collate\x00collation_needed\x00commit_hook\x00complete\x00config\x00copy\x00deserialize\x00enable_load_extension\x00errorcode\x00exists\x00function\x00interrupt\x00last_insert_rowid\x00nullvalue\x00onecolumn\x00preupdate\x00profile\x00rekey\x00restore\x00rollback_hook\x00serialize\x00status\x00timeout\x00total_changes\x00trace\x00trace_v2\x00transaction\x00unlock_notify\x00update_hook\x00version\x00wal_hook\x00defensive\x00dqs_ddl\x00dqs_dml\x00enable_fkey\x00enable_qpsg\x00enable_trigger\x00enable_view\x00fts3_tokenizer\x00legacy_alter_table\x00legacy_file_format\x00load_extension\x00no_ckpt_on_close\x00reset_database\x00trigger_eqp\x00trusted_schema\x00writable_schema\x00statement\x00row\x00deferred\x00exclusive\x00immediate\x00depth\x00hook\x00new\x00old\x00HANDLE ?FILENAME? ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nofollow BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?\x00-version\x00-sourceid\x00-has-codec\x000\x00-key\x00-vfs\x00-create\x00-nofollow\x00-nomutex\x00-fullmutex\x00-uri\x00-translatefilename\x00sqlite3\x00sqlite\x003.36.0\x00if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewline \"% \"\n}\nflush stdout\nappend line [gets stdin]\nif {[info complete $line]} {\nif {[catch {uplevel #0 $line} result]} {\nputs stderr \"Error: $result\"\n} elseif {$result!=\"\"} {\nputs $result\n}\nset line {}\n} else {\nappend line \\n\n}\n}\n}\n\x00SQLITE_DEBUG_BREAK\x00attach debugger to process %d and press any key to continue.\n\x00utf-8\x00argc\x00argv0\x00argv\x00errorInfo\x00%s: %s\n\x00SQLITE-CONNECTION\x00command not found: \x00error code %s (%d) does not match sqlite3_errcode %s (%d)\x00OMIT_MISUSE\x00wrong # args: should be \"\x00 DB FORMAT STRING\x00 DB HEX\x00 DB\x00 DB SQL\x00%z%s%s\x00%s%n\x00abcdefghijklmnopqrstuvwxyz\x00 DB FORMAT STRING ?COUNT?\x00 DB\"\x00 FILENAME\"\x00%02x\x00%04x\x00tkt2213 is not fixed\x00text16\x00bytes\x00bytes16\x00noop\x00x_coalesce\x00hex8\x00hex16\x00tkt2213func\x00pointer_change\x00counter1\x00counter2\x00intreal\x00x_sqlite_exec\x00value of 40 handed to x_count\x00x_count totals to 42\x00x_count\x00legacy_count\x00 TEXT\"\x00 FORMAT INT INT INT\"\x00argument is not a valid 64-bit integer\x00 FORMAT INT INT ?STRING?\"\x00 INT FORMAT INT INT ?STRING?\"\x00N must be non-negative\x00 FORMAT INT INT DOUBLE\"\x00 FORMAT DOUBLE DOUBLE\"\x00 FORMAT STRING\"\x00%08x%08x\x002nd argument should be 16-characters of hex\x00?BOOLEAN?\x00DB BOOLEAN\x00DB dbname tblname colname\x00CHANNEL ROWID\x00DB-HANDLE NAME CMP-PROC DEL-PROC\x00sqlite3_create_collate_v2() failed to detect an invalid encoding\x00utf8\x00utf16\x00utf16le\x00utf16be\x00DB NAME NARG ENC SWITCHES...\x00encoding\x00-func\x00-step\x00-final\x00-destroy\x00switch\x00DB-HANDLE FILE ?PROC?\x00this build omits sqlite3_load_extension()\x00DB-HANDLE ONOFF\x00string\x00value\x00first argument should be one of: int int64 string double null value\x00 DB FUNCTION-NAME\x00 \x00STMT PARAMETER RESETFLAG\x00SQLITE_STMTSTATUS_FULLSCAN_STEP\x00SQLITE_STMTSTATUS_SORT\x00SQLITE_STMTSTATUS_AUTOINDEX\x00SQLITE_STMTSTATUS_VM_STEP\x00SQLITE_STMTSTATUS_REPREPARE\x00SQLITE_STMTSTATUS_RUN\x00SQLITE_STMTSTATUS_MEMUSED\x00NBYTE\x00DB DBNAME\x00DB DBNAME SNAPSHOT\x00SNAPSHOT\x00SNAPSHOT1 SNAPSHOT2\x00bad SNAPSHOT\x00FILE\x00PATH\x00 DB STMT\x00 STMT\x00 FROM-STMT TO-STMT\x00 VM IDX VALUE (null|static|normal)\"\x00static\x00static-nbytes\x00normal\x00blob10\x00abc\x00xyz\x00pq\x004th argument should be \"null\" or \"static\" or \"normal\"\x00(%d) \x00test_collate\x00UTF-8\x00UTF-16LE\x00UTF-16BE\x00 \x00utf16bin\x00utf16_unaligned\x00utf16_aligned\x00test_function\x00\x00STMT IDX N\x00 STMT N VALUE\x00NaN\x00SNaN\x00-NaN\x00-SNaN\x00+Inf\x00-Inf\x00Epsilon\x00-Epsilon\x00NaN0\x00-NaN0\x00 STMT N\x00 STMT N VALUE BYTES\x00 STMT N DATA BYTES\x00cannot use %d blob bytes, have %d\x00-transient\x00-static\x00-int32\x00-int64\x00-double\x00-text\x00--\x00text data must be either -static or -transient\x00cannot be both -static and -transient\x00[OPTIONS] STMT IDX VALUE ...\x00STMT\x00STMT N\x00STMT NAME\x00 DB sql bytes ?tailvar?\x00 DB sql bytes tailvar\x00 DB sql bytes flags tailvar\x00\x00SELECT 1\x00 filename options-list\x00FILENAME FLAGS VFS\x00SQLITE_OPEN_READONLY\x00SQLITE_OPEN_READWRITE\x00SQLITE_OPEN_CREATE\x00SQLITE_OPEN_DELETEONCLOSE\x00SQLITE_OPEN_EXCLUSIVE\x00SQLITE_OPEN_AUTOPROXY\x00SQLITE_OPEN_MAIN_DB\x00SQLITE_OPEN_TEMP_DB\x00SQLITE_OPEN_TRANSIENT_DB\x00SQLITE_OPEN_MAIN_JOURNAL\x00SQLITE_OPEN_TEMP_JOURNAL\x00SQLITE_OPEN_SUBJOURNAL\x00SQLITE_OPEN_SUPER_JOURNAL\x00SQLITE_OPEN_NOMUTEX\x00SQLITE_OPEN_FULLMUTEX\x00SQLITE_OPEN_SHAREDCACHE\x00SQLITE_OPEN_PRIVATECACHE\x00SQLITE_OPEN_WAL\x00SQLITE_OPEN_URI\x00flag\x00\x00 STMT column\x00FLOAT\x00TEXT\x00BLOB\x00 DB MAGIC\x00SQLITE_MAGIC_OPEN\x00SQLITE_MAGIC_CLOSED\x00SQLITE_MAGIC_BUSY\x00SQLITE_MAGIC_ERROR\x00 DB function-name\x00VARIABLE\x00?N?\x001234567890000000\x00__one\x00__two\x00notadatabase\x00Unexpected non-zero errno: \x00DB [DBNAME]\x00%u\x00DB DBNAME SIZE\x00 DB PWD\x00PWD too big\x00%s/test.proxy\x00Lock proxy file did not match the previously assigned value\x00 DB FLAG\x00%d %d\x00 DB ?AUXDB?\x00DB N\x00 DB ID VALUE\x00unknown limit type: \x00SQLITE_LIMIT_LENGTH\x00SQLITE_LIMIT_SQL_LENGTH\x00SQLITE_LIMIT_COLUMN\x00SQLITE_LIMIT_EXPR_DEPTH\x00SQLITE_LIMIT_COMPOUND_SELECT\x00SQLITE_LIMIT_VDBE_OP\x00SQLITE_LIMIT_FUNCTION_ARG\x00SQLITE_LIMIT_ATTACHED\x00SQLITE_LIMIT_LIKE_PATTERN_LENGTH\x00SQLITE_LIMIT_VARIABLE_NUMBER\x00SQLITE_LIMIT_TRIGGER_DEPTH\x00SQLITE_LIMIT_WORKER_THREADS\x00SQLITE_LIMIT_TOOSMALL\x00SQLITE_LIMIT_TOOBIG\x00SEED ?DB?\x00BOOLEAN\x00current\x00max\x00min\x00recyclable\x00DB ?NAME?\x00passive\x00full\x00restart\x00truncate\x00DB MODE ?NAME?\x00mode\x00DB VALUE\x00COMMAND ...\x00command has no objProc: \x00%d %d %d %s\n\x00SQLITE_TESTCTRL_LOCALTIME_FAULT\x00SQLITE_TESTCTRL_SORTER_MMAP\x00SQLITE_TESTCTRL_IMPOSTER\x00SQLITE_TESTCTRL_INTERNAL_FUNCTIONS\x00VERB ARGS...\x00VERB\x00ONOFF\x00DB LIMIT\x00DB dbName onOff tnum\x00ru_utime=%d.%06d ru_stime=%d.%06d ru_minflt=%d ru_majflt=%d\x00DB OPT BOOLEAN\x00unknown optimization - should be one of:\x00all\x00none\x00query-flattener\x00groupby-order\x00factor-constants\x00distinct-opt\x00cover-idx-scan\x00order-by-idx-join\x00transitive\x00omit-noop-join\x00stat4\x00skip-scan\x00push-down\x00DB NAME ...\x00no such extension: \x00initialization of \x00 failed: \x00amatch\x00appendvfs\x00closure\x00fileio\x00nextchar\x00series\x00spellfix\x00totype\x00BOOL\x00DB SQL1 NSTEP SQL2\x00data error: (a!=b)\x00checksum mismatch\x00sql error: \x00TYPE\x00Deliberate panic\x00DB SETTING [VALUE]\x00SQLITE_*\x00DBCONFIG_*\x00ENABLE_*\x00unknown sqlite3_db_config setting\x00FKEY\x00TRIGGER\x00FTS3_TOKENIZER\x00LOAD_EXTENSION\x00NO_CKPT_ON_CLOSE\x00QPSG\x00TRIGGER_EQP\x00RESET_DB\x00DEFENSIVE\x00WRITABLE_SCHEMA\x00LEGACY_ALTER_TABLE\x00DQS_DML\x00DQS_DDL\x00LEGACY_FILE_FORMAT\x00DB ?SCHEMA?\x00icecube\x00DB ?DBNAME?\x00DB OFFSET DATA\x00HEXDB\x00| size %d pagesize %d\x00bad 'pagesize' field\x00bad 'size' field\x00| page %d offset %d\x00| %d: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\x00sqlite_search_count\x00sqlite_found_count\x00sqlite_sort_count\x00sqlite3_max_blobsize\x00sqlite_like_count\x00sqlite_interrupt_count\x00sqlite_open_file_count\x00sqlite_current_time\x00sqlite_hostid_num\x00sqlite3_xferopt_count\x00sqlite3_pager_readdb_count\x00sqlite3_pager_writedb_count\x00sqlite3_pager_writej_count\x00unaligned_string_counter\x00sqlite_last_needed_collation\x00sqlite_query_plan\x00sqlite_opentemp_count\x00sqlite_static_bind_value\x00sqlite_static_bind_nbyte\x00sqlite_temp_directory\x00sqlite_data_directory\x00bitmask_size\x00longdouble_size\x00sqlite_sync_count\x00sqlite_fullsync_count\x00db_enter\x00db_leave\x00sqlite3_mprintf_int\x00sqlite3_mprintf_int64\x00sqlite3_mprintf_long\x00sqlite3_mprintf_str\x00sqlite3_snprintf_str\x00sqlite3_mprintf_stronly\x00sqlite3_mprintf_double\x00sqlite3_mprintf_scaled\x00sqlite3_mprintf_hexdouble\x00sqlite3_mprintf_z_test\x00sqlite3_mprintf_n_test\x00sqlite3_snprintf_int\x00sqlite3_last_insert_rowid\x00sqlite3_exec_printf\x00sqlite3_exec_hex\x00sqlite3_exec\x00sqlite3_exec_nr\x00sqlite3_get_table_printf\x00sqlite3_close\x00sqlite3_close_v2\x00sqlite3_create_function\x00sqlite3_create_aggregate\x00sqlite3_drop_modules\x00sqlite_register_test_function\x00sqlite_abort\x00sqlite_bind\x00breakpoint\x00sqlite3_key\x00sqlite3_rekey\x00sqlite_set_magic\x00sqlite3_interrupt\x00sqlite_delete_function\x00sqlite_delete_collation\x00sqlite3_get_autocommit\x00sqlite3_busy_timeout\x00printf\x00sqlite3IoTrace\x00clang_sanitize_address\x00sqlite3_db_config\x00sqlite3_txn_state\x00bad_behavior\x00register_dbstat_vtab\x00sqlite3_connection_pointer\x00intarray_addr\x00int64array_addr\x00doublearray_addr\x00textarray_addr\x00sqlite3_bind_int\x00sqlite3_bind_zeroblob\x00sqlite3_bind_zeroblob64\x00sqlite3_bind_int64\x00sqlite3_bind_double\x00sqlite3_bind_null\x00sqlite3_bind_text\x00sqlite3_bind_text16\x00sqlite3_bind_blob\x00sqlite3_carray_bind\x00sqlite3_bind_parameter_count\x00sqlite3_bind_parameter_name\x00sqlite3_bind_parameter_index\x00sqlite3_clear_bindings\x00sqlite3_sleep\x00sqlite3_errcode\x00sqlite3_extended_errcode\x00sqlite3_errmsg\x00sqlite3_errmsg16\x00sqlite3_open\x00sqlite3_open16\x00sqlite3_open_v2\x00sqlite3_complete16\x00sqlite3_normalize\x00sqlite3_prepare\x00sqlite3_prepare16\x00sqlite3_prepare_v2\x00sqlite3_prepare_v3\x00sqlite3_prepare_tkt3134\x00sqlite3_prepare16_v2\x00sqlite3_finalize\x00sqlite3_stmt_status\x00sqlite3_reset\x00sqlite3_expired\x00sqlite3_transfer_bindings\x00sqlite3_changes\x00sqlite3_step\x00sqlite3_sql\x00sqlite3_expanded_sql\x00sqlite3_next_stmt\x00sqlite3_stmt_readonly\x00sqlite3_stmt_isexplain\x00sqlite3_stmt_busy\x00uses_stmt_journal\x00sqlite3_release_memory\x00sqlite3_db_release_memory\x00sqlite3_db_cacheflush\x00sqlite3_system_errno\x00sqlite3_db_filename\x00sqlite3_db_readonly\x00sqlite3_soft_heap_limit\x00sqlite3_soft_heap_limit64\x00sqlite3_hard_heap_limit64\x00sqlite3_thread_cleanup\x00sqlite3_pager_refcounts\x00sqlite3_load_extension\x00sqlite3_enable_load_extension\x00sqlite3_extended_result_codes\x00sqlite3_limit\x00dbconfig_maindbname_icecube\x00save_prng_state\x00restore_prng_state\x00reset_prng_state\x00prng_seed\x00extra_schema_checks\x00database_never_corrupt\x00database_may_be_corrupt\x00optimization_control\x00tcl_objproc\x00sqlite3_column_count\x00sqlite3_data_count\x00sqlite3_column_type\x00sqlite3_column_blob\x00sqlite3_column_double\x00sqlite3_column_int64\x00sqlite3_column_text\x00sqlite3_column_name\x00sqlite3_column_int\x00sqlite3_column_bytes\x00sqlite3_column_decltype\x00sqlite3_column_database_name\x00sqlite3_column_table_name\x00sqlite3_column_origin_name\x00sqlite3_column_bytes16\x00sqlite3_column_text16\x00sqlite3_column_name16\x00add_alignment_test_collations\x00sqlite3_column_decltype16\x00sqlite3_column_database_name16\x00sqlite3_column_table_name16\x00sqlite3_column_origin_name16\x00sqlite3_create_collation_v2\x00sqlite3_global_recover\x00working_64bit_int\x00vfs_unlink_test\x00vfs_initfail_test\x00vfs_unregister_all\x00vfs_reregister_all\x00file_control_test\x00file_control_lasterrno_test\x00file_control_lockproxy_test\x00file_control_chunksize_test\x00file_control_sizehint_test\x00file_control_data_version\x00file_control_persist_wal\x00file_control_powersafe_overwrite\x00file_control_vfsname\x00file_control_reservebytes\x00file_control_tempfilename\x00file_control_external_reader\x00sqlite3_vfs_list\x00sqlite3_create_function_v2\x00add_test_collate\x00add_test_collate_needed\x00add_test_function\x00add_test_utf16bin_collate\x00sqlite3_test_errstr\x00tcl_variable_type\x00sqlite3_enable_shared_cache\x00sqlite3_shared_cache_report\x00sqlite3_libversion_number\x00sqlite3_table_column_metadata\x00sqlite3_blob_reopen\x00pcache_stats\x00sqlite3_unlock_notify\x00sqlite3_wal_checkpoint\x00sqlite3_wal_checkpoint_v2\x00sqlite3_wal_autocheckpoint\x00test_sqlite3_log\x00print_explain_query_plan\x00sqlite3_test_control\x00getrusage\x00load_static_extension\x00sorter_test_fakeheap\x00sorter_test_sort4_helper\x00vfs_current_time_int64\x00sqlite3_snapshot_get\x00sqlite3_snapshot_open\x00sqlite3_snapshot_free\x00sqlite3_snapshot_cmp\x00sqlite3_snapshot_recover\x00sqlite3_snapshot_get_blob\x00sqlite3_snapshot_open_blob\x00sqlite3_snapshot_cmp_blob\x00sqlite3_delete_database\x00atomic_batch_write\x00sqlite3_mmap_warm\x00sqlite3_config_sorterref\x00decode_hexdb\x00test_write_db\x00sqlite3_register_cksumvfs\x00sqlite3_unregister_cksumvfs\x00*** OBSOLETE VARIABLE ***\x00 FILENAME N-PAGE\"\x00 ID\"\x00ref\x00page\x00err\x00hit\x00miss\x00ovfl\x00 ID PGNO\"\x00 PAGE\"\x00 PAGE DATA\"\x00 N-MEGABYTES FILE\"\x00open failed: \x00Hello, World!\x00write failed: \x00 PENDING-BYTE\"\x00fault simulator script failed: [%s]\x00 SCRIPT\"\x00 SIZE PROGRAM\"\x00sqlite_io_error_pending\x00sqlite_io_error_persist\x00sqlite_io_error_hit\x00sqlite_io_error_hardhit\x00sqlite_diskfull_pending\x00sqlite_diskfull\x00sqlite_pending_byte\x00pager_open\x00pager_close\x00pager_commit\x00pager_rollback\x00pager_stmt_begin\x00pager_stmt_commit\x00pager_stmt_rollback\x00pager_stats\x00pager_pagecount\x00page_get\x00page_lookup\x00page_unref\x00page_read\x00page_write\x00page_number\x00pager_truncate\x00fake_big_file\x00sqlite3BitvecBuiltinTest\x00sqlite3_test_control_pending_byte\x00sqlite3_test_control_fault_install\x00 FILENAME NCACHE FLAGS\"\x00read\x00write\x00 ID TABLENUM WRITEABLE\"\x00 START MULTIPLIER COUNT INCREMENT\"\x00putVarint returned %d - should be between 1 and 9\x00putVarint returned %d and getVarint returned %d\x00Wrote 0x%016llx and got back 0x%016llx\x00putVarint returned %d and GetVarint32 returned %d\x00Wrote 0x%016llx and got back 0x%016llx from GetVarint32\x00 DB-HANDLE ?N?\"\x00No such db-handle: \"\x00 BT NCACHE\"\x00?-intkey? CSR KEY VALUE\x00btree_insert\x00btree_open\x00btree_close\x00btree_begin_transaction\x00btree_pager_stats\x00btree_cursor\x00btree_close_cursor\x00btree_next\x00btree_eof\x00btree_payload_size\x00btree_first\x00btree_varint_test\x00btree_from_db\x00btree_ismemdb\x00btree_set_cache_size\x00thread ID must be an upper case letter\x00 ID FILENAME\x00thread \x00 is already running\x00failed to create the thread\x00 ID\x00no such thread\x00 ID N\x00column number out of range\x00no database is open\x00 ID SQL\x00no virtual machine available\x00 IDL\x00 ID1 ID2\x00 ID DB\x00thread_create\x00thread_wait\x00thread_halt\x00thread_argc\x00thread_argv\x00thread_colname\x00thread_result\x00thread_error\x00thread_compile\x00thread_step\x00thread_finalize\x00thread_swap\x00thread_db_get\x00thread_db_put\x00thread_stmt_get\x00 \x00hello world\x00UTF8\x00UTF16LE\x00UTF16BE\x00UTF16\x00No such encoding: \x00 \x00binarize\x00test_value_overhead\x00test_translate\x00translate_selftest\x00out of memory in the crash simulator\n\x00atomic\x00atomic512\x00atomic1k\x00atomic2k\x00atomic4k\x00atomic8k\x00atomic16k\x00atomic32k\x00atomic64k\x00sequential\x00safe_append\x00powersafe_overwrite\x00batch-atomic\x00-sectorsize\x00-characteristics\x00Bad option: \"\x00\" - must be \"-characteristics\" or \"-sectorsize\"\x00Option requires an argument: \"\x00no such flag\x00ENABLE ?DEFAULT?\x00crash\x00?OPTIONS? DELAY CRASHFILE\x00Filename is too long: \"\x00NWRITE\x00?-default? PARENT-VFS\x00-default\x00\": must be -default\x00Error in jt_register\x00sqlite3_crash_enable\x00sqlite3_crashparams\x00sqlite3_crash_now\x00sqlite3_simulate_device\x00sqlite3_crash_on_write\x00unregister_devsim\x00register_jt_vfs\x00unregister_jt_vfs\x00client_create\x00client_wait\x00client_halt\x00client_argc\x00client_argv\x00client_colname\x00client_result\x00client_error\x00client_compile\x00client_step\x00client_reset\x00client_finalize\x00client_swap\x00echo_module_fail(%s,%s)\x00echo-vtab-error: %s\x00SELECT * FROM %Q\x00PRAGMA index_list(%s)\x00PRAGMA index_info(%s)\x00echo_module\x00SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = ?\x00%s%s\x00xCreate\x00CREATE TABLE %Q(logmsg)\x00xConnect\x00xDisconnect\x00xDestroy\x00DROP TABLE %Q\x00xOpen\x00xNext\x00xColumn\x00xFilter\x00, *\x00%z, %s\x00%z, NULL\x00echo_module_ignore_usable\x00xBestIndex\x00echo_module_cost\x00SELECT count(*) FROM %Q\x00SELECT rowid%z FROM %Q\x00rowid\x00=\x00<\x00>\x00<=\x00>=\x00LIKE\x00like\x00glob\x00 %s %s LIKE (SELECT '%%'||?||'%%')\x00 %s %s %s ?\x00DESC\x00ASC\x00 ORDER BY %s %s\x00xUpdate\x00 SET\x00UPDATE %Q\x00 SET rowid=?1 \x00%s %Q=?%d\x00 WHERE rowid=?%d\x00DELETE FROM %Q WHERE rowid = ?1\x00INSERT INTO %Q (\x00%s%Q\x00%s?%d\x00) VALUES(\x00echo(%s)\x00xBegin\x00echo_module_begin_fail\x00xSync\x00echo_module_sync_fail\x00xCommit\x00xRollback\x00::echo_glob_overload\x00xRename\x00ALTER TABLE %s RENAME TO %s%s\x00function_that_does_not_exist_0982ma98\x00echo\x00echo_v2\x00DB SQL\x00register_echo_module\x00sqlite3_declare_vtab\x00N/A\x00sqlite3_create_collation\x00Error testing function: \x00sqlite3_malloc\x00sqlite3_realloc\x00c_misuse_test\x00c_realloc_test\x00c_collation_test\x00sqlite3_reset_auto_extension\x00npage\x00finish\x00remaining\x00pagecount\x00CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME\x00sqlite3_backup_init() failed\x00sqlite3_backup\x00wrong number of arguments\x00unexpected: %s\x00eq\x00gt\x00le\x00lt\x00ge\x00match\x00ne\x00isnot\x00isnotnull\x00isnull\x00op\x00column\x00usable\x00desc\x00cost\x00orderby\x00idxnum\x00idxstr\x00rows\x00use\x00omit\x00unexpected: %d\x00tcl\x00register_tcl_module\x00incrblob_\x00DB DATABASE TABLE COLUMN ROWID FLAGS VARNAME\x00HANDLE\x00CHANNEL OFFSET N\x00out of memory in testdata/sqlite-src-3360000/src/test_blob.c\x00HANDLE OFFSET DATA ?NDATA?\x00sqlite3_blob_open\x00sqlite3_blob_close\x00sqlite3_blob_bytes\x00sqlite3_blob_read\x00sqlite3_blob_write\x00sqlite_options\x00malloc_usable_size\x00rowid32\x00casesensitivelike\x00configslower\x001.0\x00curdir\x001\x00win32malloc\x00debug\x00default_ckptfullfsync\x00direct_read\x00dirsync\x00lfs\x00pagecache_overflow_stats\x00mmap\x00worker_threads\x008\x00memdebug\x008_3_names\x00cursorhints\x00hiddencolumns\x00mathlib\x00mem3\x00mem5\x00offset_sql_func\x00snapshot\x00mutex\x00mutex_noop\x00altertable\x00api_armor\x00atomicwrite\x00geopoly\x00json1\x00has_codec\x00like_match_blobs\x00attach\x00auth\x00autoinc\x00autoreset\x00autovacuum\x00default_autovacuum\x00between_opt\x00builtin_test\x00bloblit\x00cast\x00check\x00cte\x00columnmetadata\x00oversize_cell_check\x00compileoption_diags\x00compound\x00conflict\x00crashtest\x00datetime\x00decltype\x00deprecated\x00diskio\x00floatingpoint\x00foreignkey\x00fts1\x00fts2\x00fts3\x00fts5\x00fts3_unicode\x00fts4_deferred\x00gettable\x00icu\x00icu_collations\x00integrityck\x00legacyformat\x00like_opt\x00load_ext\x00localtime\x00lookaside\x00long_double\x00memorydb\x00memorymanage\x00mergesort\x00null_trim\x00or_opt\x00rbu\x00pager_pragmas\x00pragma\x00reindex\x00rtree\x00rtree_int_only\x00schema_pragmas\x00schema_version\x00session\x00stmtvtab\x00scanstatus\x00lock_proxy_pragmas\x00prefer_proxy_locking\x00shared_cache\x00subquery\x00tclvar\x00threadsafe\x00threadsafe1\x00threadsafe2\x00tempdb\x00trigger\x00truncate_opt\x00vacuum\x00view\x00vtab\x00wal\x00wsd\x00update_delete_limit\x00fast_secure_delete\x00secure_delete\x00userauth\x00multiplex_ext_overwrite\x00yytrackmaxstackdepth\x00sqllog\x00uri_00_error\x00normalize\x00windowfunc\x00SQLITE_MAX_LENGTH\x00SQLITE_MAX_COLUMN\x00SQLITE_MAX_SQL_LENGTH\x00SQLITE_MAX_EXPR_DEPTH\x00SQLITE_MAX_COMPOUND_SELECT\x00SQLITE_MAX_VDBE_OP\x00SQLITE_MAX_FUNCTION_ARG\x00SQLITE_MAX_VARIABLE_NUMBER\x00SQLITE_MAX_PAGE_SIZE\x00SQLITE_MAX_PAGE_COUNT\x00SQLITE_MAX_LIKE_PATTERN_LENGTH\x00SQLITE_MAX_TRIGGER_DEPTH\x00SQLITE_DEFAULT_CACHE_SIZE\x00SQLITE_DEFAULT_PAGE_SIZE\x00SQLITE_DEFAULT_FILE_FORMAT\x00SQLITE_DEFAULT_SYNCHRONOUS\x00SQLITE_DEFAULT_WAL_SYNCHRONOUS\x00SQLITE_MAX_ATTACHED\x00SQLITE_MAX_DEFAULT_PAGE_SIZE\x00SQLITE_MAX_WORKER_THREADS\x00TEMP_STORE\x00__GNUC__\x00%s-journal\x00%s-wal\x00%s-shm\x00%s%03d\x00%s-journal%03d\x00%s-wal%03d\x00Loadable extensions are not supported\x00demo\x00register_demovfs\x00unregister_demovfs\x00devsym\x00writecrash\x00CREATE TABLE xyz(dir, name);\x00CREATE TABLE xyz(path, size, data);\x00WITH r(d) AS ( SELECT CASE WHEN dir=?2 THEN ?3 ELSE dir END || '/' || name FROM fsdir WHERE dir=?1 AND name NOT LIKE '.%' UNION ALL SELECT dir || '/' || name FROM r, fsdir WHERE dir=d AND name NOT LIKE '.%') SELECT d FROM r;\x00/\x00CREATE TABLE x(path TEXT, data TEXT)\x00SELECT * FROM %Q.%Q WHERE rowid=?\x00fs\x00fstree\x00register_fs_module\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-!,:*^+=_|?/<> \x00sqlite3_prepare_v2() error: %s\x000123456789abcdef\x00x'\x00test_agg_errmsg16\x00randstr\x00test_destructor\x00test_destructor16\x00hex_to_utf16be\x00hex_to_utf16le\x00hex_to_utf8\x00test_destructor_count\x00test_auxdata\x00test_error\x00test_eval\x00test_isolation\x00test_counter\x00real2hex\x00test_decode\x00test_extract\x00test_zeroblob\x00test_getsubtype\x00test_setsubtype\x00test_frombind\x00tx\x00funcxx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00nullx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00sqlite3_create_function abused test failed\x00invalid matchinfo blob passed to function rank()\x00wrong number of arguments to function rank()\x00rank\x00autoinstall_test_functions\x00abuse_create_function\x00install_fts3_rank_function\x000123456789ABCDEF\x00FILENAME OFFSET AMT\x00r\x00cannot open input file \x00FILENAME OFFSET HEXDATA\x00r+b\x00r+\x00cannot open output file \x00HEXDATA\x00[utf8_to_utf8] unavailable - SQLITE_DEBUG not defined\x00BLOB VARNAME\x00LIST\x00hexio_read\x00hexio_write\x00hexio_get_int\x00hexio_render_int16\x00hexio_render_int32\x00utf8_to_utf8\x00read_fts3varint\x00make_fts3record\x00mem\x00pcache\x00Unknown argument: \"\x00init_wrapper_install\x00init_wrapper_query\x00init_wrapper_uninstall\x00init_wrapper_clear\x00CREATE TABLE x(value INTEGER PRIMARY KEY)\x00CREATE VIRTUAL TABLE temp.%Q USING %Q\x00INTARRAY\x00SQLITE_NOMEM\x00sqlite3_intarray_create\x00sqlite3_intarray_bind\x00jt\x00-journal\x00NBYTES\x00PRIOR NBYTES\x00bad pointer: \x00PRIOR\x00ADDRESS SIZE HEX\x00size must be positive\x00no data\x00ADDRESS SIZE\x00?RESET?\x00DEPT\x00FILENAME\x00COUNTER ?OPTIONS?\x00-repeat\x00-benigncnt\x00TITLE\x00SUB-COMMAND ...\x00start\x00stop\x00dump\x00clear\x00sync\x00SIZE N\x00INSTALLFLAG DISCARDCHANCE PRNGSEEED HIGHSTRESS\x00discard-chance should be between 0 and 100\x00SIZE COUNT\x00BUFID SIZE COUNT\x00illegal arguments - see documentation\x00NBYTE NMINALLOC\x00[DB]\x00sqlite3_db_config(db, 99999) does not return SQLITE_ERROR\x00sqlite3_config(99999) does not return SQLITE_ERROR\x00PARAMETER RESETFLAG\x00SQLITE_STATUS_MEMORY_USED\x00SQLITE_STATUS_MALLOC_SIZE\x00SQLITE_STATUS_PAGECACHE_USED\x00SQLITE_STATUS_PAGECACHE_OVERFLOW\x00SQLITE_STATUS_PAGECACHE_SIZE\x00SQLITE_STATUS_SCRATCH_USED\x00SQLITE_STATUS_SCRATCH_OVERFLOW\x00SQLITE_STATUS_SCRATCH_SIZE\x00SQLITE_STATUS_PARSER_STACK\x00SQLITE_STATUS_MALLOC_COUNT\x00DB PARAMETER RESETFLAG\x00SQLITE_\x00DBSTATUS_\x00LOOKASIDE_USED\x00CACHE_USED\x00SCHEMA_USED\x00STMT_USED\x00LOOKASIDE_HIT\x00LOOKASIDE_MISS_SIZE\x00LOOKASIDE_MISS_FULL\x00CACHE_HIT\x00CACHE_MISS\x00CACHE_WRITE\x00DEFERRED_FKS\x00CACHE_USED_SHARED\x00CACHE_SPILL\x00?INTEGER?\x00sqlite3_free\x00memset\x00memget\x00sqlite3_memory_used\x00sqlite3_memory_highwater\x00sqlite3_memdebug_backtrace\x00sqlite3_memdebug_dump\x00sqlite3_memdebug_fail\x00sqlite3_memdebug_pending\x00sqlite3_memdebug_settitle\x00sqlite3_memdebug_malloc_count\x00sqlite3_memdebug_log\x00sqlite3_config_pagecache\x00sqlite3_config_alt_pcache\x00sqlite3_status\x00sqlite3_db_status\x00install_malloc_faultsim\x00sqlite3_config_heap\x00sqlite3_config_heap_size\x00sqlite3_config_memstatus\x00sqlite3_config_lookaside\x00sqlite3_config_error\x00sqlite3_config_uri\x00sqlite3_config_cis\x00sqlite3_config_pmasz\x00sqlite3_db_config_lookaside\x00sqlite3_dump_memsys3\x00sqlite3_dump_memsys5\x00sqlite3_install_memsys3\x00sqlite3_memdebug_vfs_oom_test\x00%05u\x00 FILENAME [OFFSET AMT]\"\x00unable to open file \"\x00\" for reading\x00md5\x00md5-10x8\x00md5file\x00md5file-10x8\x00md5sum\x00%03d\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_control\x00chunksize\x00multiplex_truncate\x00multiplex/%z\x00multiplex\x00NAME MAKEDEFAULT\x00-force\x00?-force?\x00enable\x00chunk_size\x00max_chunks\x00HANDLE DBNAME SUB-COMMAND INT-VALUE\x00expected database handle, got \"\x00sqlite3_multiplex_initialize\x00sqlite3_multiplex_shutdown\x00sqlite3_multiplex_control\x00fast\x00recursive\x00static_main\x00static_mem\x00static_open\x00static_prng\x00static_lru\x00static_pmem\x00static_app1\x00static_app2\x00static_app3\x00static_vfs1\x00static_vfs2\x00static_vfs3\x00mutex counters are \x00already installed\x00not installed\x00singlethread\x00multithread\x00serialized\x00mutex name\x00disable_mutex_init\x00disable_mutex_try\x00sqlite3_shutdown\x00sqlite3_initialize\x00sqlite3_config\x00enter_static_mutex\x00leave_static_mutex\x00enter_db_mutex\x00leave_db_mutex\x00alloc_dealloc_mutex\x00install_mutex_counters\x00read_mutex_counters\x00clear_mutex_counters\x00\x00\x00\x00\x00\x00\x00\x00vfslog/%z\x00sqlite_ostrace1.....\x00xClose\x00xRead\x00xWrite\x00xTruncate\x00xFilesize\x00xLock\x00xUnlock\x00xCheckResLock\x00xFileControl\x00xSectorSize\x00xDeviceChar\x00xDelete\x00xAccess\x00xFullPathname\x00xRandomness\x00xSleep\x00xCurrentTime\x00xShmUnmap\x00xShmLock\x00xShmBarrier\x00xShmMap\x00annotation\x00CREATE TABLE xxx(event, file, click, rc, size, offset)\x00vfslog\x00VFS\x00failed\x00VFS PARENT LOGFILE\x00bad sqlite3 handle: \x00annotate\x00finalize\x00register\x00quota/%z\x00quota\x00::piLimit_\x00PATTERN LIMIT SCRIPT\x00FILENAME MODE\x00HANDLE SIZE NELEM\x00HANDLE SIZE NELEM CONTENT\x00HANDLE ?HARDSYNC?\x00HANDLE OFFSET WHENCE\x00SEEK_SET\x00SEEK_CUR\x00SEEK_END\x00WHENCE should be SEEK_SET, SEEK_CUR, or SEEK_END\x00HANDLE SIZE\x00PATTERN TEXT\x00sqlite3_quota_initialize\x00sqlite3_quota_shutdown\x00sqlite3_quota_set\x00sqlite3_quota_file\x00sqlite3_quota_dump\x00sqlite3_quota_fopen\x00sqlite3_quota_fread\x00sqlite3_quota_fwrite\x00sqlite3_quota_fclose\x00sqlite3_quota_fflush\x00sqlite3_quota_fseek\x00sqlite3_quota_rewind\x00sqlite3_quota_ftell\x00sqlite3_quota_ftruncate\x00sqlite3_quota_file_size\x00sqlite3_quota_file_truesize\x00sqlite3_quota_file_mtime\x00sqlite3_quota_remove\x00sqlite3_quota_glob\x00sqlite3_quota_file_available\x00sqlite3_quota_ferror\x00cube\x00circle\x00Qcircle\x00breadthfirstsearch\x00register_cube_geom\x00register_circle_geom\x00CREATE TABLE x(database,tablename,cid,name,type,not_null,dflt_value,pk)\x00SELECT name FROM sqlite_temp_schema WHERE type='table'\x00SELECT name FROM %Q.sqlite_schema WHERE type='table'\x00PRAGMA %Q.table_info(%Q)\x00PRAGMA database_list\x00register_schema_module\x00PRAGMA main.journal_mode\x00CMDNAME PATH ?VFS? ?BUSY-HANDLER-SCRIPT?\x00sqlite3demo_superlock\x00open\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00pread\x00pread64\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00mremap\x00SYSCALL-LIST\x00system-call\x00?COUNT PERSIST?\x00EACCES\x00EINTR\x00EIO\x00EOVERFLOW\x00ENOMEM\x00EAGAIN\x00ETIMEDOUT\x00EBUSY\x00EPERM\x00EDEADLK\x00ENOLCK\x00SYSCALL ERRNO\x00errno\x00PGSZ\x00getpagesize\x00pgsz out of range\x00fault\x00install\x00uninstall\x00list\x00defaultvfs\x00pagesize\x00VFS does not support xSetSystemCall\x00test_syscall\x00load_testfixture_extensions\x00SLAVE\x00CREATE TABLE x( name TEXT, arrayname TEXT, value TEXT, fullname TEXT PRIMARY KEY) WITHOUT ROWID\x00array names\x00tclvar_filter_cmd\x00%s(%s)\x00expr {[info exists ::tclvar_set_omit] && $::tclvar_set_omit}\x00the 'fullname' column must be TEXT\x00prohibited TCL variable change\x00proc like {pattern str} {\n set p [string map {% * _ ?} $pattern]\n string match $p $str\n}\nproc tclvar_filter_cmd {eq match glob regexp like} {\n set res {}\n set pattern $eq\n if {$pattern=={}} { set pattern $match }\n if {$pattern=={}} { set pattern * }\n foreach v [uplevel #0 info vars $pattern] {\n if {($glob=={} || [string match $glob [uplevel #0 set $v]])\n && ($like=={} || [like $like [uplevel #0 set $v]])\n && ($regexp=={} || [regexp $regexp [uplevel #0 set $v]])\n } {\n lappend res $v\n }\n }\n set res\n}\n\x00register_tclvar_module\x00clock_seconds\x00sqlthread\x00sqlite3_blocking_step\x00sqlite3_blocking_prepare_v2\x00sqlite3_nonblocking_prepare_v2\x00set\x00Error in Tcl_CreateThread()\x00no parent thread\x00parent\x00spawn\x00VARNAME SCRIPT\x00DBNAME\x00id\x00%s \x00SQLITE_IOERR\x00SQLITE_LOCKED\x00SQLITE_BUSY\x00SQLITE_READONLY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_NOTFOUND\x00SQLITE_OMIT\x00normal|dataonly\x00full|dataonly\x00xCheckReservedLock\x00BEGIN_ATOMIC_WRITE\x00COMMIT_ATOMIC_WRITE\x00ZIPVFS\x00anon\x00SQLITE_ACCESS_EXISTS\x00SQLITE_ACCESS_READWRITE\x00SQLITE_ACCESS_READ\x00xShmOpen\x00 lock\x00 unlock\x00 shared\x00 exclusive\x00shm\x00delete\x00filter\x00ioerr\x00fullerr\x00cantopenerr\x00script\x00devchar\x00sectorsize\x00subcommand\x00FILE ?VALUE?\x00failed to get full path: \x00no such file: \x00unknown method: \x00?CNT PERSIST?\x00default\x00undeletable_when_open\x00immutable\x00?ATTR-LIST?\x00bad flags: \x00?VALUE?\x00-noshm\x00-szosfile\x00-mxpathname\x00-iversion\x00-fullshm\x00VFSNAME ?-noshm BOOL? ?-fullshm BOOL? ?-default BOOL? ?-mxpathname INT? ?-szosfile INT? ?-iversion INT?\x00shared\x00lock\x00unlock\x00DB DBNAME (shared|exclusive) (lock|unlock) OFFSET N\x00ARG\x00DB DBNAME SLOT ?VALUE?\x00*-shm is not yet mapped\x00testvfs\x00vfs_shmlock\x00vfs_set_readmark\x00DB NAME XSTEP XFINAL XVALUE XINVERSE\x00fff\x00misuse test error\x00invalid argument\x00sumint\x00sum\x00sqlite3_create_window_function\x00test_create_window_function_misuse\x00test_create_sumint\x00test_override_sum\x00" +var ts1 = "%s\x00internal error!\x00SELECT * FROM main.%Q WHERE sample()\x00expert\x00PRAGMA table_xinfo=%Q\x00main\x00, \x00%Q\x00 COLLATE %Q\x00 COLLATE %s\x00 DESC\x00PRAGMA index_list=%Q\x00PRAGMA index_xInfo=%Q\x00%s_idx_%08x\x00CREATE INDEX '%q' ON %Q(%s)\x00CREATE INDEX %s ON %s(%s)\x00EXPLAIN QUERY PLAN %s\x00 USING INDEX \x00 USING COVERING INDEX \x00%s\n\x00%s;\n\x00SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_schema WHERE tbl_name = %Q AND type IN ('table', 'trigger') ORDER BY type;\x00ALTER TABLE temp.%Q RENAME TO %Q\x00INSERT INTO %Q VALUES(\x00%s?\x00\x00)\x00UPDATE %Q SET \x00%s%Q=?\x00DELETE FROM %Q\x00t592690916721053953805701627921227776\x00DROP TABLE t592690916721053953805701627921227776\x00SELECT type, name, sql, 1 FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%' UNION ALL SELECT type, name, sql, 2 FROM sqlite_schema WHERE type = 'trigger' AND tbl_name IN(SELECT name FROM sqlite_schema WHERE type = 'view') ORDER BY 4, 1\x00CREATE TABLE x(\x00%s%Q COLLATE %s\x00CREATE VIRTUAL TABLE %Q USING expert(%Q)\x00SELECT max(i.seqno) FROM sqlite_schema AS s, pragma_index_list(s.name) AS l, pragma_index_info(l.name) AS i WHERE s.type = 'table'\x00%sx.%Q IS rem(%d, x.%Q) COLLATE %s\x00%s%d\x00SELECT %s FROM %Q x ORDER BY %s\x00SELECT %s FROM temp.t592690916721053953805701627921227776 x ORDER BY %s\x00%d\x00 %d\x00DROP TABLE IF EXISTS temp.t592690916721053953805701627921227776\x00CREATE TABLE temp.t592690916721053953805701627921227776 AS SELECT * FROM %Q\x00SELECT s.rowid, s.name, l.name FROM sqlite_schema AS s, pragma_index_list(s.name) AS l WHERE s.type = 'table'\x00SELECT name, coll FROM pragma_index_xinfo(?) WHERE key\x00INSERT INTO sqlite_stat1 VALUES(?, ?, ?)\x00ANALYZE; PRAGMA writable_schema=1\x00rem\x00sample\x00ANALYZE sqlite_schema\x00:memory:\x00SELECT sql FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%%' AND sql NOT LIKE 'CREATE VIRTUAL %%'\x00%s;%s%s\n\x00 -- stat1: \x00no such handle: \x00sql\x00TABLE\x00analyze\x00count\x00report\x00STMT EREPORT\x00destroy\x00SUBCOMMAND ...\x00sub-command\x00indexes\x00plan\x00candidates\x00DB\x00sqlite3expert%d\x00out of memory\x00sqlite3_expert_new\x00SQLITE_DONE\x00SQLITE_ERROR\x00SQLITE_OK\x00SELECT fts5(?1)\x00error: \x00fts5_api_ptr\x00f5t_2_%lld\x00xColumnCount\x00xRowCount\x00xColumnTotalSize\x00COL\x00xTokenize\x00TEXT SCRIPT\x00xPhraseCount\x00xPhraseSize\x00PHRASE\x00xInstCount\x00xInst\x00IDX\x00xRowid\x00xColumnText\x00xColumnSize\x00xQueryPhrase\x00PHRASE SCRIPT\x00xSetAuxdata\x00VALUE\x00xGetAuxdata\x00CLEAR\x00xSetAuxdataInt\x00INTEGER\x00xGetAuxdataInt\x00xPhraseForeach\x00IPHRASE COLVAR OFFVAR SCRIPT\x00xPhraseColumnForeach\x00IPHRASE COLVAR SCRIPT\x00SUB-COMMAND\x00f5t_%lld\x00bytearray\x00boolean\x00double\x00wideInt\x00int\x00DB NAME SCRIPT\x00?-subst? DB NAME TEXT\x00-subst\x00unrecognized option: \x00no such tokenizer: \x00error in tokenizer.xCreate()\x00error in tokenizer.xTokenize()\x00document\x00aux\x00query\x00prefixquery\x00invalid\x00-colocated\x00sqlite3_fts5_token may only be used by tokenizer callback\x00?-colocated? TEXT START END\x00error in fts5_api.xCreateTokenizer()\x00NSLOT TOKEN\x00sqlite3_fts5_create_tokenizer\x00sqlite3_fts5_token\x00sqlite3_fts5_tokenize\x00sqlite3_fts5_create_function\x00sqlite3_fts5_may_be_corrupt\x00sqlite3_fts5_token_hash\x00sqlite3_fts5_register_matchinfo\x00sqlite3_fts5_register_fts5tokenize\x00unrecognized matchinfo flag: %c\x00pcx\x00matchinfo\x00CREATE TABLE x(input HIDDEN, token, start, end, position)\x00fts5tokenize\x00apndvfs\x00Start-Of-SQLite3-\x00apnd(%lld)/%z\x00SQLite format 3\x00%s: cost must be between 1 and %d\x00%s: maximum string length is %d\x00%s: iLang must be between 0 and %d\x00?\x00SELECT * FROM %Q.%Q\x00%s: %s\x00%s: %s has %d columns, expected 4\x00vocabulary_table\x00vocabulary_word\x00vocabulary_language\x00edit_distances\x00unrecognized argument: [%s]\n\x00no edit_distances table specified\x00CREATE TABLE x(word,distance,language,command HIDDEN,nword HIDDEN)\x000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^abcdefghijklmnopqrstuvwxyz~\x00SELECT \"%w\" FROM \"%w\"\x00 WHERE \"%w\">=?1 AND \"%w\"=?2 ORDER BY 1\x00SELECT \"%w\" FROM \"%w\" WHERE \"%w\">=?1 ORDER BY 1\x00*\x00DELETE from %s is not allowed\x00UPDATE of %s is not allowed\x00INSERT INTO %s allowed for column [command] only\x00approximate_match\x00int32\x00int64\x00char*\x00CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)\x00carray-bind\x00carray\x00unknown datatype: %Q\x00inttoptr\x00cksmvfs\x00ZV-\x00checksum fault offset %lld of \"%s\"\x00checksum_verification\x00enable%\x00yes\x00on\x00page_size\x00cksm/%z\x00verify_checksum\x00tablename\x00idcolumn\x00parentcolumn\x00CREATE TABLE x(id,depth,root HIDDEN,tablename HIDDEN,idcolumn HIDDEN,parentcolumn HIDDEN)\x00SELECT \"%w\".\"%w\" FROM \"%w\" WHERE \"%w\".\"%w\"=?1\x00transitive_closure\x00rb\x00cannot open '%s' for reading\x00line %d: unescaped %c character\x00line %d: unterminated %c-quoted field\n\x00more than one '%s' parameter\x00true\x00no\x00off\x00false\x00header\x00more than one 'header' parameter\x00testflags\x00columns\x00more than one 'columns' parameter\x00column= value must be positive\x00bad parameter: '%s'\x00must specify either filename= or data= but not both\x00%sc%d TEXT\x00,\x00%s\"%w\" TEXT\x00bad schema: '%s' - %s\x00filename\x00data\x00schema\x00csv\x00csv_wr\x00decimal_sum\x00decimal\x00decimal_cmp\x00decimal_add\x00decimal_sub\x00decimal_mul\x00 \x00eval\x00CREATE TABLE x(addr,opcode,p1,p2,p3,p4,p5,comment,sql HIDDEN)\x00EXPLAIN %s\x00explain\x00wb\x00wrong number of arguments to function writefile()\x00failed to create symlink: %s\x00failed to create directory: %s\x00failed to write file: %s\x00CREATE TABLE x(name,mode,mtime,data,path HIDDEN,dir HIDDEN)\x00cannot read directory: %s\x00%s/%s\x00cannot stat file: %s\x00table function fsdir requires an argument\x00table function fsdir requires a non-NULL argument\x00fsdir\x00readfile\x00writefile\x00lsmode\x00%s: ruleset must be between 0 and %d\x00%s: wrong number of CREATE VIRTUAL TABLE arguments\x00CREATE TABLE x(word,distance,ruleset)\x00fuzzer\x00ieee754(%lld,%d)\x00ieee754\x00ieee754_mantissa\x00ieee754_exponent\x00ieee754_to_blob\x00ieee754_from_blob\x00BEGIN; SELECT * FROM %s%q%ssqlite_schema\x00'\x00'.\x00PRAGMA %s%q%spage_size\x00sqlite3_mmap_warm_cache: Warmed up %d pages of %s\x00END\x00AND (%s)\x00collate \"%w\"\x00SELECT %s FROM %s WHERE %s>=(?1 || ?2) %s AND %s<=(?1 || char(1114111)) %s %s ORDER BY 1 %s ASC LIMIT 1\x00next_char\x00NULL\x00is\x00not\x00in(\x00in(select\x00in(with\x00?,?,?\x002nd argument to percentile() is not a number between 0.0 and 100.0\x002nd argument to percentile() is not the same for all input rows\x001st argument to percentile() is not numeric\x00Inf input to percentile()\x00percentile\x00CREATE TABLE prefixes(prefix TEXT, original_string TEXT HIDDEN)\x00prefixes\x00prefix_length\x00unknown \\ escape\x00afnrtv\\()*.+?[$^{|}]\x00\a\f\n\r\t\v\x00unmatched '('\x00'*' without operand\x00'+' without operand\x00'?' without operand\x00'{m,n}' without operand\x00unmatched '{'\x00n less than m in '{m,n}'\x00both m and n are zero in '{m,n}'\x00POSIX character classes not supported\x00unclosed '['\x00unrecognized character\x00regexp\x00regexpi\x00remember\x00CREATE TABLE x(value,start hidden,stop hidden,step hidden)\x00generate_series() requires SQLite 3.8.12 or later\x00generate_series\x00.ABCDHLRMY9 ?\x00non-ASCII input to editdist()\x00NULL input to editdist()\x00SELECT iLang, cFrom, cTo, iCost FROM \"%w\" WHERE iLang>=0 ORDER BY iLang\x00editdist3\x00DROP TABLE IF EXISTS \"%w\".\"%w_vocab\"\x00CREATE TABLE x(word,rank,distance,langid, score, matchlen, phonehash HIDDEN, top HIDDEN, scope HIDDEN, srchcnt HIDDEN, soundslike HIDDEN, command HIDDEN)\x00CREATE TABLE IF NOT EXISTS \"%w\".\"%w_vocab\"(\n id INTEGER PRIMARY KEY,\n rank INT,\n langid INT,\n word TEXT,\n k1 TEXT,\n k2 TEXT\n);\n\x00CREATE INDEX IF NOT EXISTS \"%w\".\"%w_vocab_index_langid_k2\" ON \"%w_vocab\"(langid,k2);\x00edit_cost_table=\x00bad argument to spellfix1(): \"%s\"\x00SELECT id, word, rank, coalesce(k1,word) FROM \"%w\".\"%w_vocab\" WHERE langid=%d AND k2>=?1 AND k2=%lld\x00AND\x00%z %s rowid<=%lld\x00CREATE TABLE x(value)\x00wholenumber\x00CREATE TABLE y(name PRIMARY KEY,mode,mtime,sz,rawdata,data,method,z HIDDEN) WITHOUT ROWID;\x00zipfile\x00zipfile constructor requires one argument\x00error in fread()\x00error in fwrite()\x00failed to read CDS at offset %lld\x00%.*s\x00failed to read LFH at offset %d\x001.2.11\x00inflateInit2() failed (%d)\x00inflate() failed (%d)\x00zipfile: deflate() error\x00cannot find end of central directory record\x00zipfile() function requires an argument\x00cannot open file: %s\x00-rwxrwxrwx\x00zipfile: mode does not match data\x00zipfile: parse error in mode: %s\x00zipfile: missing filename\x00ab+\x00zipfile: failed to open file %s for writing\x00sz must be NULL\x00rawdata must be NULL\x00unknown compression method: %d\x00%s/\x00duplicate name: \"%s\"\x00{\"version-made-by\" : %u, \"version-to-extract\" : %u, \"flags\" : %u, \"compression\" : %u, \"time\" : %u, \"date\" : %u, \"crc32\" : %u, \"compressed-size\" : %u, \"uncompressed-size\" : %u, \"file-name-length\" : %u, \"extra-field-length\" : %u, \"file-comment-length\" : %u, \"disk-number-start\" : %u, \"internal-attr\" : %u, \"external-attr\" : %u, \"offset\" : %u }\x00zipfile_cds\x00wrong number of arguments to function zipfile()\x00first argument to zipfile() must be non-NULL\x00illegal method value: %d\x00non-directory name must not end with /\x00rbu_delta\x00step\x00close\x00create_rbu_delta\x00savestate\x00dbMain_eval\x00SQL\x00bp_progress\x00db\x00RBU\x00state\x00progress\x00close_no_error\x00temp_size_limit\x00LIMIT\x00temp_size\x00dbRbu_eval\x00METHOD\x00method\x00 - \x00oal\x00move\x00checkpoint\x00done\x00error\x00NAME TARGET-DB RBU-DB ?STATE-DB?\x00NAME TARGET-DB ?STATE-DB?\x00?-default? NAME PARENT\x00NAME\x00sqlite3rbu_db(0, 0)!=0\x00sqlite3rbu\x00sqlite3rbu_vacuum\x00sqlite3rbu_create_vfs\x00sqlite3rbu_destroy_vfs\x00sqlite3rbu_internal_test\x00DB SQL\x00error in sql_exec_changeset()\x00sqlite3session_streams\x00attach\x00changeset\x00delete\x00enable\x00BOOL\x00indirect\x00isempty\x00table_filter\x00SCRIPT\x00patchset\x00diff\x00FROMDB TBL\x00memory_used\x00changeset_size\x00object_config_size\x00CMD DB-HANDLE DB-NAME\x00n\x00i\x00f\x00t\x00b\x00FOREIGN_KEY\x00INSERT\x00UPDATE\x00DELETE\x00DATA\x00NOTFOUND\x00CONFLICT\x00CONSTRAINT\x00OMIT\x00-nosavepoint\x00-invert\x00?-nosavepoint? ?-inverse? DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET\x00CHANGESET\x00LEFT RIGHT\x00-next\x00?-next? ?-invert? VARNAME CHANGESET SCRIPT\x00configure\x00REBASE-BLOB\x00rebase\x00OP VALUE\x00strm_size\x00sqlite3session\x00sqlite3session_foreach\x00sqlite3changeset_invert\x00sqlite3changeset_concat\x00sqlite3changeset_apply\x00sqlite3changeset_apply_v2\x00sqlite3changeset_apply_replace_all\x00sql_exec_changeset\x00sqlite3rebaser_create\x00sqlite3session_config\x00incrblob\x00incrblob_%d\x00%lld\x00sqlite_unlock_notify_arg\x00sqlite_unlock_notify_argcount\x00SQLITE_COPY\x00SQLITE_CREATE_INDEX\x00SQLITE_CREATE_TABLE\x00SQLITE_CREATE_TEMP_INDEX\x00SQLITE_CREATE_TEMP_TABLE\x00SQLITE_CREATE_TEMP_TRIGGER\x00SQLITE_CREATE_TEMP_VIEW\x00SQLITE_CREATE_TRIGGER\x00SQLITE_CREATE_VIEW\x00SQLITE_DELETE\x00SQLITE_DROP_INDEX\x00SQLITE_DROP_TABLE\x00SQLITE_DROP_TEMP_INDEX\x00SQLITE_DROP_TEMP_TABLE\x00SQLITE_DROP_TEMP_TRIGGER\x00SQLITE_DROP_TEMP_VIEW\x00SQLITE_DROP_TRIGGER\x00SQLITE_DROP_VIEW\x00SQLITE_INSERT\x00SQLITE_PRAGMA\x00SQLITE_READ\x00SQLITE_SELECT\x00SQLITE_TRANSACTION\x00SQLITE_UPDATE\x00SQLITE_ATTACH\x00SQLITE_DETACH\x00SQLITE_ALTER_TABLE\x00SQLITE_REINDEX\x00SQLITE_ANALYZE\x00SQLITE_CREATE_VTABLE\x00SQLITE_DROP_VTABLE\x00SQLITE_FUNCTION\x00SQLITE_SAVEPOINT\x00SQLITE_RECURSIVE\x00????\x00SQLITE_DENY\x00SQLITE_IGNORE\x00RELEASE _tcl_transaction\x00COMMIT\x00ROLLBACK TO _tcl_transaction ; RELEASE _tcl_transaction\x00option\x00?CALLBACK?\x00?DATABASE? FILENAME\x00cannot open target database: \x00backup failed: \x00CALLBACK\x00cache option ?arg?\x00flush\x00size\x00size n\x00cannot convert \"\x00\" to integer\x00bad option \"\x00\": must be flush or size\x00NAME SCRIPT\x00?OPTION? ?BOOLEAN?\x00unknown config option: \"\x00\"\x00CONFLICT-ALGORITHM TABLE FILENAME ?SEPARATOR? ?NULLINDICATOR?\x00\t\x00Error: non-null separator required for copy\x00rollback\x00abort\x00fail\x00ignore\x00replace\x00Error: \"\x00\", conflict-algorithm must be one of: rollback, abort, fail, ignore, or replace\x00SELECT * FROM '%q'\x00Error: no such table: \x00Error: \x00Error: can't malloc()\x00INSERT OR %q INTO '%q' VALUES(?\x00Error: cannot open file: \x00BEGIN\x00Error: %s line %d: expected %d columns of data but found %d\x00, failed while processing line: \x00?DATABASE? VALUE\x00-maxsize\x00-readonly\x00unknown option: \x00unable to set MEMDB content\x00extension loading is turned off at compile-time\x00-withoutnulls\x00unknown option: \"\x00?OPTIONS? SQL ?ARRAY-NAME? ?SCRIPT?\x00NAME ?SWITCHES? SCRIPT\x00-argcount\x00option requires an argument: \x00number of arguments must be non-negative\x00-deterministic\x00-directonly\x00-innocuous\x00-returntype\x00real\x00text\x00blob\x00any\x00type\x00\": must be -argcount, -deterministic, -directonly, -innocuous, or -returntype\x00?-readonly? ?DB? TABLE COLUMN ROWID\x00NULLVALUE\x00N CALLBACK\x00KEY\x00cannot open source database: \x00restore failed: \x00restore failed: source database busy\x00?DATABASE?\x00(step|sort|autoindex)\x00sort\x00autoindex\x00vmstep\x00bad argument: should be autoindex, step, sort or vmstep\x00MILLISECONDS\x00?CALLBACK? ?MASK?\x00trace type\x00SAVEPOINT _tcl_transaction\x00[TYPE] SCRIPT\x00transaction type\x00BEGIN EXCLUSIVE\x00BEGIN IMMEDIATE\x00?SCRIPT?\x00SUB-COMMAND ?ARGS?\x00hook ?SCRIPT?\x00INDEX\x00-use-legacy-prepare\x00-last-stmt-ptr\x00%p\x00unknown argument: \x00authorizer\x00backup\x00bind_fallback\x00busy\x00cache\x00changes\x00collate\x00collation_needed\x00commit_hook\x00complete\x00config\x00copy\x00deserialize\x00enable_load_extension\x00errorcode\x00exists\x00function\x00interrupt\x00last_insert_rowid\x00nullvalue\x00onecolumn\x00preupdate\x00profile\x00rekey\x00restore\x00rollback_hook\x00serialize\x00status\x00timeout\x00total_changes\x00trace\x00trace_v2\x00transaction\x00unlock_notify\x00update_hook\x00version\x00wal_hook\x00defensive\x00dqs_ddl\x00dqs_dml\x00enable_fkey\x00enable_qpsg\x00enable_trigger\x00enable_view\x00fts3_tokenizer\x00legacy_alter_table\x00legacy_file_format\x00load_extension\x00no_ckpt_on_close\x00reset_database\x00trigger_eqp\x00trusted_schema\x00writable_schema\x00statement\x00row\x00deferred\x00exclusive\x00immediate\x00depth\x00hook\x00new\x00old\x00HANDLE ?FILENAME? ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nofollow BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?\x00-version\x00-sourceid\x00-has-codec\x000\x00-key\x00-vfs\x00-create\x00-nofollow\x00-nomutex\x00-fullmutex\x00-uri\x00-translatefilename\x00sqlite3\x00sqlite\x003.36.0\x00if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewline \"% \"\n}\nflush stdout\nappend line [gets stdin]\nif {[info complete $line]} {\nif {[catch {uplevel #0 $line} result]} {\nputs stderr \"Error: $result\"\n} elseif {$result!=\"\"} {\nputs $result\n}\nset line {}\n} else {\nappend line \\n\n}\n}\n}\n\x00SQLITE_DEBUG_BREAK\x00attach debugger to process %d and press any key to continue.\n\x00utf-8\x00argc\x00argv0\x00argv\x00errorInfo\x00%s: %s\n\x00SQLITE-CONNECTION\x00command not found: \x00error code %s (%d) does not match sqlite3_errcode %s (%d)\x00OMIT_MISUSE\x00wrong # args: should be \"\x00 DB FORMAT STRING\x00 DB HEX\x00 DB\x00 DB SQL\x00%z%s%s\x00%s%n\x00abcdefghijklmnopqrstuvwxyz\x00 DB FORMAT STRING ?COUNT?\x00 DB\"\x00 FILENAME\"\x00%02x\x00%04x\x00tkt2213 is not fixed\x00text16\x00bytes\x00bytes16\x00noop\x00x_coalesce\x00hex8\x00hex16\x00tkt2213func\x00pointer_change\x00counter1\x00counter2\x00intreal\x00x_sqlite_exec\x00value of 40 handed to x_count\x00x_count totals to 42\x00x_count\x00legacy_count\x00 TEXT\"\x00 FORMAT INT INT INT\"\x00argument is not a valid 64-bit integer\x00 FORMAT INT INT ?STRING?\"\x00 INT FORMAT INT INT ?STRING?\"\x00N must be non-negative\x00 FORMAT INT INT DOUBLE\"\x00 FORMAT DOUBLE DOUBLE\"\x00 FORMAT STRING\"\x00%08x%08x\x002nd argument should be 16-characters of hex\x00?BOOLEAN?\x00DB BOOLEAN\x00DB dbname tblname colname\x00CHANNEL ROWID\x00DB-HANDLE NAME CMP-PROC DEL-PROC\x00sqlite3_create_collate_v2() failed to detect an invalid encoding\x00utf8\x00utf16\x00utf16le\x00utf16be\x00DB NAME NARG ENC SWITCHES...\x00encoding\x00-func\x00-step\x00-final\x00-destroy\x00switch\x00DB-HANDLE FILE ?PROC?\x00this build omits sqlite3_load_extension()\x00DB-HANDLE ONOFF\x00string\x00value\x00first argument should be one of: int int64 string double null value\x00 DB FUNCTION-NAME\x00 \x00STMT PARAMETER RESETFLAG\x00SQLITE_STMTSTATUS_FULLSCAN_STEP\x00SQLITE_STMTSTATUS_SORT\x00SQLITE_STMTSTATUS_AUTOINDEX\x00SQLITE_STMTSTATUS_VM_STEP\x00SQLITE_STMTSTATUS_REPREPARE\x00SQLITE_STMTSTATUS_RUN\x00SQLITE_STMTSTATUS_MEMUSED\x00NBYTE\x00DB DBNAME\x00DB DBNAME SNAPSHOT\x00SNAPSHOT\x00SNAPSHOT1 SNAPSHOT2\x00bad SNAPSHOT\x00FILE\x00PATH\x00 DB STMT\x00 STMT\x00 FROM-STMT TO-STMT\x00 VM IDX VALUE (null|static|normal)\"\x00static\x00static-nbytes\x00normal\x00blob10\x00abc\x00xyz\x00pq\x004th argument should be \"null\" or \"static\" or \"normal\"\x00(%d) \x00test_collate\x00UTF-8\x00UTF-16LE\x00UTF-16BE\x00 \x00utf16bin\x00utf16_unaligned\x00utf16_aligned\x00test_function\x00\x00STMT IDX N\x00 STMT N VALUE\x00NaN\x00SNaN\x00-NaN\x00-SNaN\x00+Inf\x00-Inf\x00Epsilon\x00-Epsilon\x00NaN0\x00-NaN0\x00 STMT N\x00 STMT N VALUE BYTES\x00 STMT N DATA BYTES\x00cannot use %d blob bytes, have %d\x00-transient\x00-static\x00-int32\x00-int64\x00-double\x00-text\x00--\x00text data must be either -static or -transient\x00cannot be both -static and -transient\x00[OPTIONS] STMT IDX VALUE ...\x00STMT\x00STMT N\x00STMT NAME\x00 DB sql bytes ?tailvar?\x00 DB sql bytes tailvar\x00 DB sql bytes flags tailvar\x00\x00SELECT 1\x00 filename options-list\x00FILENAME FLAGS VFS\x00SQLITE_OPEN_READONLY\x00SQLITE_OPEN_READWRITE\x00SQLITE_OPEN_CREATE\x00SQLITE_OPEN_DELETEONCLOSE\x00SQLITE_OPEN_EXCLUSIVE\x00SQLITE_OPEN_AUTOPROXY\x00SQLITE_OPEN_MAIN_DB\x00SQLITE_OPEN_TEMP_DB\x00SQLITE_OPEN_TRANSIENT_DB\x00SQLITE_OPEN_MAIN_JOURNAL\x00SQLITE_OPEN_TEMP_JOURNAL\x00SQLITE_OPEN_SUBJOURNAL\x00SQLITE_OPEN_SUPER_JOURNAL\x00SQLITE_OPEN_NOMUTEX\x00SQLITE_OPEN_FULLMUTEX\x00SQLITE_OPEN_SHAREDCACHE\x00SQLITE_OPEN_PRIVATECACHE\x00SQLITE_OPEN_WAL\x00SQLITE_OPEN_URI\x00flag\x00\x00 STMT column\x00FLOAT\x00TEXT\x00BLOB\x00 DB MAGIC\x00SQLITE_MAGIC_OPEN\x00SQLITE_MAGIC_CLOSED\x00SQLITE_MAGIC_BUSY\x00SQLITE_MAGIC_ERROR\x00 DB function-name\x00VARIABLE\x00?N?\x001234567890000000\x00__one\x00__two\x00notadatabase\x00Unexpected non-zero errno: \x00DB [DBNAME]\x00%u\x00DB DBNAME SIZE\x00 DB PWD\x00PWD too big\x00%s/test.proxy\x00Lock proxy file did not match the previously assigned value\x00 DB FLAG\x00%d %d\x00 DB ?AUXDB?\x00DB N\x00 DB ID VALUE\x00unknown limit type: \x00SQLITE_LIMIT_LENGTH\x00SQLITE_LIMIT_SQL_LENGTH\x00SQLITE_LIMIT_COLUMN\x00SQLITE_LIMIT_EXPR_DEPTH\x00SQLITE_LIMIT_COMPOUND_SELECT\x00SQLITE_LIMIT_VDBE_OP\x00SQLITE_LIMIT_FUNCTION_ARG\x00SQLITE_LIMIT_ATTACHED\x00SQLITE_LIMIT_LIKE_PATTERN_LENGTH\x00SQLITE_LIMIT_VARIABLE_NUMBER\x00SQLITE_LIMIT_TRIGGER_DEPTH\x00SQLITE_LIMIT_WORKER_THREADS\x00SQLITE_LIMIT_TOOSMALL\x00SQLITE_LIMIT_TOOBIG\x00SEED ?DB?\x00BOOLEAN\x00current\x00max\x00min\x00recyclable\x00DB ?NAME?\x00passive\x00full\x00restart\x00truncate\x00DB MODE ?NAME?\x00mode\x00DB VALUE\x00COMMAND ...\x00command has no objProc: \x00%d %d %d %s\n\x00SQLITE_TESTCTRL_LOCALTIME_FAULT\x00SQLITE_TESTCTRL_SORTER_MMAP\x00SQLITE_TESTCTRL_IMPOSTER\x00SQLITE_TESTCTRL_INTERNAL_FUNCTIONS\x00VERB ARGS...\x00VERB\x00ONOFF\x00DB LIMIT\x00DB dbName onOff tnum\x00ru_utime=%d.%06d ru_stime=%d.%06d ru_minflt=%d ru_majflt=%d\x00DB OPT BOOLEAN\x00unknown optimization - should be one of:\x00all\x00none\x00query-flattener\x00groupby-order\x00factor-constants\x00distinct-opt\x00cover-idx-scan\x00order-by-idx-join\x00transitive\x00omit-noop-join\x00stat4\x00skip-scan\x00push-down\x00DB NAME ...\x00no such extension: \x00initialization of \x00 failed: \x00amatch\x00appendvfs\x00closure\x00fileio\x00nextchar\x00series\x00spellfix\x00totype\x00DB SQL1 NSTEP SQL2\x00data error: (a!=b)\x00checksum mismatch\x00sql error: \x00TYPE\x00Deliberate panic\x00DB SETTING [VALUE]\x00SQLITE_*\x00DBCONFIG_*\x00ENABLE_*\x00unknown sqlite3_db_config setting\x00FKEY\x00TRIGGER\x00FTS3_TOKENIZER\x00LOAD_EXTENSION\x00NO_CKPT_ON_CLOSE\x00QPSG\x00TRIGGER_EQP\x00RESET_DB\x00DEFENSIVE\x00WRITABLE_SCHEMA\x00LEGACY_ALTER_TABLE\x00DQS_DML\x00DQS_DDL\x00LEGACY_FILE_FORMAT\x00DB ?SCHEMA?\x00icecube\x00DB ?DBNAME?\x00DB OFFSET DATA\x00HEXDB\x00| size %d pagesize %d\x00bad 'pagesize' field\x00bad 'size' field\x00| page %d offset %d\x00| %d: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\x00sqlite_search_count\x00sqlite_found_count\x00sqlite_sort_count\x00sqlite3_max_blobsize\x00sqlite_like_count\x00sqlite_interrupt_count\x00sqlite_open_file_count\x00sqlite_current_time\x00sqlite_hostid_num\x00sqlite3_xferopt_count\x00sqlite3_pager_readdb_count\x00sqlite3_pager_writedb_count\x00sqlite3_pager_writej_count\x00unaligned_string_counter\x00sqlite_last_needed_collation\x00sqlite_query_plan\x00sqlite_opentemp_count\x00sqlite_static_bind_value\x00sqlite_static_bind_nbyte\x00sqlite_temp_directory\x00sqlite_data_directory\x00bitmask_size\x00longdouble_size\x00sqlite_sync_count\x00sqlite_fullsync_count\x00db_enter\x00db_leave\x00sqlite3_mprintf_int\x00sqlite3_mprintf_int64\x00sqlite3_mprintf_long\x00sqlite3_mprintf_str\x00sqlite3_snprintf_str\x00sqlite3_mprintf_stronly\x00sqlite3_mprintf_double\x00sqlite3_mprintf_scaled\x00sqlite3_mprintf_hexdouble\x00sqlite3_mprintf_z_test\x00sqlite3_mprintf_n_test\x00sqlite3_snprintf_int\x00sqlite3_last_insert_rowid\x00sqlite3_exec_printf\x00sqlite3_exec_hex\x00sqlite3_exec\x00sqlite3_exec_nr\x00sqlite3_get_table_printf\x00sqlite3_close\x00sqlite3_close_v2\x00sqlite3_create_function\x00sqlite3_create_aggregate\x00sqlite3_drop_modules\x00sqlite_register_test_function\x00sqlite_abort\x00sqlite_bind\x00breakpoint\x00sqlite3_key\x00sqlite3_rekey\x00sqlite_set_magic\x00sqlite3_interrupt\x00sqlite_delete_function\x00sqlite_delete_collation\x00sqlite3_get_autocommit\x00sqlite3_busy_timeout\x00printf\x00sqlite3IoTrace\x00clang_sanitize_address\x00sqlite3_db_config\x00sqlite3_txn_state\x00bad_behavior\x00register_dbstat_vtab\x00sqlite3_connection_pointer\x00intarray_addr\x00int64array_addr\x00doublearray_addr\x00textarray_addr\x00sqlite3_bind_int\x00sqlite3_bind_zeroblob\x00sqlite3_bind_zeroblob64\x00sqlite3_bind_int64\x00sqlite3_bind_double\x00sqlite3_bind_null\x00sqlite3_bind_text\x00sqlite3_bind_text16\x00sqlite3_bind_blob\x00sqlite3_carray_bind\x00sqlite3_bind_parameter_count\x00sqlite3_bind_parameter_name\x00sqlite3_bind_parameter_index\x00sqlite3_clear_bindings\x00sqlite3_sleep\x00sqlite3_errcode\x00sqlite3_extended_errcode\x00sqlite3_errmsg\x00sqlite3_errmsg16\x00sqlite3_open\x00sqlite3_open16\x00sqlite3_open_v2\x00sqlite3_complete16\x00sqlite3_normalize\x00sqlite3_prepare\x00sqlite3_prepare16\x00sqlite3_prepare_v2\x00sqlite3_prepare_v3\x00sqlite3_prepare_tkt3134\x00sqlite3_prepare16_v2\x00sqlite3_finalize\x00sqlite3_stmt_status\x00sqlite3_reset\x00sqlite3_expired\x00sqlite3_transfer_bindings\x00sqlite3_changes\x00sqlite3_step\x00sqlite3_sql\x00sqlite3_expanded_sql\x00sqlite3_next_stmt\x00sqlite3_stmt_readonly\x00sqlite3_stmt_isexplain\x00sqlite3_stmt_busy\x00uses_stmt_journal\x00sqlite3_release_memory\x00sqlite3_db_release_memory\x00sqlite3_db_cacheflush\x00sqlite3_system_errno\x00sqlite3_db_filename\x00sqlite3_db_readonly\x00sqlite3_soft_heap_limit\x00sqlite3_soft_heap_limit64\x00sqlite3_hard_heap_limit64\x00sqlite3_thread_cleanup\x00sqlite3_pager_refcounts\x00sqlite3_load_extension\x00sqlite3_enable_load_extension\x00sqlite3_extended_result_codes\x00sqlite3_limit\x00dbconfig_maindbname_icecube\x00save_prng_state\x00restore_prng_state\x00reset_prng_state\x00prng_seed\x00extra_schema_checks\x00database_never_corrupt\x00database_may_be_corrupt\x00optimization_control\x00tcl_objproc\x00sqlite3_column_count\x00sqlite3_data_count\x00sqlite3_column_type\x00sqlite3_column_blob\x00sqlite3_column_double\x00sqlite3_column_int64\x00sqlite3_column_text\x00sqlite3_column_name\x00sqlite3_column_int\x00sqlite3_column_bytes\x00sqlite3_column_decltype\x00sqlite3_column_database_name\x00sqlite3_column_table_name\x00sqlite3_column_origin_name\x00sqlite3_column_bytes16\x00sqlite3_column_text16\x00sqlite3_column_name16\x00add_alignment_test_collations\x00sqlite3_column_decltype16\x00sqlite3_column_database_name16\x00sqlite3_column_table_name16\x00sqlite3_column_origin_name16\x00sqlite3_create_collation_v2\x00sqlite3_global_recover\x00working_64bit_int\x00vfs_unlink_test\x00vfs_initfail_test\x00vfs_unregister_all\x00vfs_reregister_all\x00file_control_test\x00file_control_lasterrno_test\x00file_control_lockproxy_test\x00file_control_chunksize_test\x00file_control_sizehint_test\x00file_control_data_version\x00file_control_persist_wal\x00file_control_powersafe_overwrite\x00file_control_vfsname\x00file_control_reservebytes\x00file_control_tempfilename\x00file_control_external_reader\x00sqlite3_vfs_list\x00sqlite3_create_function_v2\x00add_test_collate\x00add_test_collate_needed\x00add_test_function\x00add_test_utf16bin_collate\x00sqlite3_test_errstr\x00tcl_variable_type\x00sqlite3_enable_shared_cache\x00sqlite3_shared_cache_report\x00sqlite3_libversion_number\x00sqlite3_table_column_metadata\x00sqlite3_blob_reopen\x00pcache_stats\x00sqlite3_unlock_notify\x00sqlite3_wal_checkpoint\x00sqlite3_wal_checkpoint_v2\x00sqlite3_wal_autocheckpoint\x00test_sqlite3_log\x00print_explain_query_plan\x00sqlite3_test_control\x00getrusage\x00load_static_extension\x00sorter_test_fakeheap\x00sorter_test_sort4_helper\x00vfs_current_time_int64\x00sqlite3_snapshot_get\x00sqlite3_snapshot_open\x00sqlite3_snapshot_free\x00sqlite3_snapshot_cmp\x00sqlite3_snapshot_recover\x00sqlite3_snapshot_get_blob\x00sqlite3_snapshot_open_blob\x00sqlite3_snapshot_cmp_blob\x00sqlite3_delete_database\x00atomic_batch_write\x00sqlite3_mmap_warm\x00sqlite3_config_sorterref\x00decode_hexdb\x00test_write_db\x00sqlite3_register_cksumvfs\x00sqlite3_unregister_cksumvfs\x00*** OBSOLETE VARIABLE ***\x00 FILENAME N-PAGE\"\x00 ID\"\x00ref\x00page\x00err\x00hit\x00miss\x00ovfl\x00 ID PGNO\"\x00 PAGE\"\x00 PAGE DATA\"\x00 N-MEGABYTES FILE\"\x00open failed: \x00Hello, World!\x00write failed: \x00 PENDING-BYTE\"\x00fault simulator script failed: [%s]\x00 SCRIPT\"\x00 SIZE PROGRAM\"\x00sqlite_io_error_pending\x00sqlite_io_error_persist\x00sqlite_io_error_hit\x00sqlite_io_error_hardhit\x00sqlite_diskfull_pending\x00sqlite_diskfull\x00sqlite_pending_byte\x00pager_open\x00pager_close\x00pager_commit\x00pager_rollback\x00pager_stmt_begin\x00pager_stmt_commit\x00pager_stmt_rollback\x00pager_stats\x00pager_pagecount\x00page_get\x00page_lookup\x00page_unref\x00page_read\x00page_write\x00page_number\x00pager_truncate\x00fake_big_file\x00sqlite3BitvecBuiltinTest\x00sqlite3_test_control_pending_byte\x00sqlite3_test_control_fault_install\x00 FILENAME NCACHE FLAGS\"\x00read\x00write\x00 ID TABLENUM WRITEABLE\"\x00 START MULTIPLIER COUNT INCREMENT\"\x00putVarint returned %d - should be between 1 and 9\x00putVarint returned %d and getVarint returned %d\x00Wrote 0x%016llx and got back 0x%016llx\x00putVarint returned %d and GetVarint32 returned %d\x00Wrote 0x%016llx and got back 0x%016llx from GetVarint32\x00 DB-HANDLE ?N?\"\x00No such db-handle: \"\x00 BT NCACHE\"\x00?-intkey? CSR KEY VALUE\x00btree_insert\x00btree_open\x00btree_close\x00btree_begin_transaction\x00btree_pager_stats\x00btree_cursor\x00btree_close_cursor\x00btree_next\x00btree_eof\x00btree_payload_size\x00btree_first\x00btree_varint_test\x00btree_from_db\x00btree_ismemdb\x00btree_set_cache_size\x00thread ID must be an upper case letter\x00 ID FILENAME\x00thread \x00 is already running\x00failed to create the thread\x00 ID\x00no such thread\x00 ID N\x00column number out of range\x00no database is open\x00 ID SQL\x00no virtual machine available\x00 IDL\x00 ID1 ID2\x00 ID DB\x00thread_create\x00thread_wait\x00thread_halt\x00thread_argc\x00thread_argv\x00thread_colname\x00thread_result\x00thread_error\x00thread_compile\x00thread_step\x00thread_finalize\x00thread_swap\x00thread_db_get\x00thread_db_put\x00thread_stmt_get\x00 \x00hello world\x00UTF8\x00UTF16LE\x00UTF16BE\x00UTF16\x00No such encoding: \x00 \x00binarize\x00test_value_overhead\x00test_translate\x00translate_selftest\x00out of memory in the crash simulator\n\x00atomic\x00atomic512\x00atomic1k\x00atomic2k\x00atomic4k\x00atomic8k\x00atomic16k\x00atomic32k\x00atomic64k\x00sequential\x00safe_append\x00powersafe_overwrite\x00batch-atomic\x00-sectorsize\x00-characteristics\x00Bad option: \"\x00\" - must be \"-characteristics\" or \"-sectorsize\"\x00Option requires an argument: \"\x00no such flag\x00ENABLE ?DEFAULT?\x00crash\x00?OPTIONS? DELAY CRASHFILE\x00Filename is too long: \"\x00NWRITE\x00?-default? PARENT-VFS\x00-default\x00\": must be -default\x00Error in jt_register\x00sqlite3_crash_enable\x00sqlite3_crashparams\x00sqlite3_crash_now\x00sqlite3_simulate_device\x00sqlite3_crash_on_write\x00unregister_devsim\x00register_jt_vfs\x00unregister_jt_vfs\x00client_create\x00client_wait\x00client_halt\x00client_argc\x00client_argv\x00client_colname\x00client_result\x00client_error\x00client_compile\x00client_step\x00client_reset\x00client_finalize\x00client_swap\x00echo_module_fail(%s,%s)\x00echo-vtab-error: %s\x00SELECT * FROM %Q\x00PRAGMA index_list(%s)\x00PRAGMA index_info(%s)\x00echo_module\x00SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = ?\x00%s%s\x00xCreate\x00CREATE TABLE %Q(logmsg)\x00xConnect\x00xDisconnect\x00xDestroy\x00DROP TABLE %Q\x00xOpen\x00xNext\x00xColumn\x00xFilter\x00, *\x00%z, %s\x00%z, NULL\x00echo_module_ignore_usable\x00xBestIndex\x00echo_module_cost\x00SELECT count(*) FROM %Q\x00SELECT rowid%z FROM %Q\x00rowid\x00=\x00<\x00>\x00<=\x00>=\x00LIKE\x00like\x00glob\x00 %s %s LIKE (SELECT '%%'||?||'%%')\x00 %s %s %s ?\x00DESC\x00ASC\x00 ORDER BY %s %s\x00xUpdate\x00 SET\x00UPDATE %Q\x00 SET rowid=?1 \x00%s %Q=?%d\x00 WHERE rowid=?%d\x00DELETE FROM %Q WHERE rowid = ?1\x00INSERT INTO %Q (\x00%s%Q\x00%s?%d\x00) VALUES(\x00echo(%s)\x00xBegin\x00echo_module_begin_fail\x00xSync\x00echo_module_sync_fail\x00xCommit\x00xRollback\x00::echo_glob_overload\x00xRename\x00ALTER TABLE %s RENAME TO %s%s\x00function_that_does_not_exist_0982ma98\x00echo\x00echo_v2\x00register_echo_module\x00sqlite3_declare_vtab\x00N/A\x00sqlite3_create_collation\x00Error testing function: \x00sqlite3_malloc\x00sqlite3_realloc\x00c_misuse_test\x00c_realloc_test\x00c_collation_test\x00sqlite3_reset_auto_extension\x00npage\x00finish\x00remaining\x00pagecount\x00CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME\x00sqlite3_backup_init() failed\x00sqlite3_backup\x00wrong number of arguments\x00unexpected: %s\x00eq\x00gt\x00le\x00lt\x00ge\x00match\x00ne\x00isnot\x00isnotnull\x00isnull\x00op\x00column\x00usable\x00desc\x00cost\x00orderby\x00idxnum\x00idxstr\x00rows\x00use\x00omit\x00unexpected: %d\x00tcl\x00register_tcl_module\x00incrblob_\x00DB DATABASE TABLE COLUMN ROWID FLAGS VARNAME\x00HANDLE\x00CHANNEL OFFSET N\x00out of memory in testdata/sqlite-src-3360000/src/test_blob.c\x00HANDLE OFFSET DATA ?NDATA?\x00sqlite3_blob_open\x00sqlite3_blob_close\x00sqlite3_blob_bytes\x00sqlite3_blob_read\x00sqlite3_blob_write\x00sqlite_options\x00malloc_usable_size\x00rowid32\x00casesensitivelike\x00configslower\x001.0\x00curdir\x001\x00win32malloc\x00debug\x00default_ckptfullfsync\x00direct_read\x00dirsync\x00lfs\x00pagecache_overflow_stats\x00mmap\x00worker_threads\x008\x00memdebug\x008_3_names\x00cursorhints\x00hiddencolumns\x00mathlib\x00mem3\x00mem5\x00offset_sql_func\x00snapshot\x00mutex\x00mutex_noop\x00altertable\x00api_armor\x00atomicwrite\x00geopoly\x00json1\x00has_codec\x00like_match_blobs\x00auth\x00autoinc\x00autoreset\x00autovacuum\x00default_autovacuum\x00between_opt\x00builtin_test\x00bloblit\x00cast\x00check\x00cte\x00columnmetadata\x00oversize_cell_check\x00compileoption_diags\x00compound\x00conflict\x00crashtest\x00datetime\x00decltype\x00deprecated\x00diskio\x00floatingpoint\x00foreignkey\x00fts1\x00fts2\x00fts3\x00fts5\x00fts3_unicode\x00fts4_deferred\x00gettable\x00icu\x00icu_collations\x00integrityck\x00legacyformat\x00like_opt\x00load_ext\x00localtime\x00lookaside\x00long_double\x00memorydb\x00memorymanage\x00mergesort\x00null_trim\x00or_opt\x00rbu\x00pager_pragmas\x00pragma\x00reindex\x00rtree\x00rtree_int_only\x00schema_pragmas\x00schema_version\x00session\x00stmtvtab\x00scanstatus\x00lock_proxy_pragmas\x00prefer_proxy_locking\x00shared_cache\x00subquery\x00tclvar\x00threadsafe\x00threadsafe1\x00threadsafe2\x00tempdb\x00trigger\x00truncate_opt\x00vacuum\x00view\x00vtab\x00wal\x00wsd\x00update_delete_limit\x00fast_secure_delete\x00secure_delete\x00userauth\x00multiplex_ext_overwrite\x00yytrackmaxstackdepth\x00sqllog\x00uri_00_error\x00normalize\x00windowfunc\x00SQLITE_MAX_LENGTH\x00SQLITE_MAX_COLUMN\x00SQLITE_MAX_SQL_LENGTH\x00SQLITE_MAX_EXPR_DEPTH\x00SQLITE_MAX_COMPOUND_SELECT\x00SQLITE_MAX_VDBE_OP\x00SQLITE_MAX_FUNCTION_ARG\x00SQLITE_MAX_VARIABLE_NUMBER\x00SQLITE_MAX_PAGE_SIZE\x00SQLITE_MAX_PAGE_COUNT\x00SQLITE_MAX_LIKE_PATTERN_LENGTH\x00SQLITE_MAX_TRIGGER_DEPTH\x00SQLITE_DEFAULT_CACHE_SIZE\x00SQLITE_DEFAULT_PAGE_SIZE\x00SQLITE_DEFAULT_FILE_FORMAT\x00SQLITE_DEFAULT_SYNCHRONOUS\x00SQLITE_DEFAULT_WAL_SYNCHRONOUS\x00SQLITE_MAX_ATTACHED\x00SQLITE_MAX_DEFAULT_PAGE_SIZE\x00SQLITE_MAX_WORKER_THREADS\x00TEMP_STORE\x00__GNUC__\x00%s-journal\x00%s-wal\x00%s-shm\x00%s%03d\x00%s-journal%03d\x00%s-wal%03d\x00Loadable extensions are not supported\x00demo\x00register_demovfs\x00unregister_demovfs\x00devsym\x00writecrash\x00CREATE TABLE xyz(dir, name);\x00CREATE TABLE xyz(path, size, data);\x00WITH r(d) AS ( SELECT CASE WHEN dir=?2 THEN ?3 ELSE dir END || '/' || name FROM fsdir WHERE dir=?1 AND name NOT LIKE '.%' UNION ALL SELECT dir || '/' || name FROM r, fsdir WHERE dir=d AND name NOT LIKE '.%') SELECT d FROM r;\x00/\x00CREATE TABLE x(path TEXT, data TEXT)\x00SELECT * FROM %Q.%Q WHERE rowid=?\x00fs\x00fstree\x00register_fs_module\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-!,:*^+=_|?/<> \x00sqlite3_prepare_v2() error: %s\x000123456789abcdef\x00x'\x00test_agg_errmsg16\x00randstr\x00test_destructor\x00test_destructor16\x00hex_to_utf16be\x00hex_to_utf16le\x00hex_to_utf8\x00test_destructor_count\x00test_auxdata\x00test_error\x00test_eval\x00test_isolation\x00test_counter\x00real2hex\x00test_decode\x00test_extract\x00test_zeroblob\x00test_getsubtype\x00test_setsubtype\x00test_frombind\x00tx\x00funcxx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00nullx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00sqlite3_create_function abused test failed\x00invalid matchinfo blob passed to function rank()\x00wrong number of arguments to function rank()\x00rank\x00autoinstall_test_functions\x00abuse_create_function\x00install_fts3_rank_function\x000123456789ABCDEF\x00FILENAME OFFSET AMT\x00r\x00cannot open input file \x00FILENAME OFFSET HEXDATA\x00r+b\x00r+\x00cannot open output file \x00HEXDATA\x00[utf8_to_utf8] unavailable - SQLITE_DEBUG not defined\x00BLOB VARNAME\x00LIST\x00hexio_read\x00hexio_write\x00hexio_get_int\x00hexio_render_int16\x00hexio_render_int32\x00utf8_to_utf8\x00read_fts3varint\x00make_fts3record\x00mem\x00pcache\x00Unknown argument: \"\x00init_wrapper_install\x00init_wrapper_query\x00init_wrapper_uninstall\x00init_wrapper_clear\x00CREATE TABLE x(value INTEGER PRIMARY KEY)\x00CREATE VIRTUAL TABLE temp.%Q USING %Q\x00INTARRAY\x00SQLITE_NOMEM\x00sqlite3_intarray_create\x00sqlite3_intarray_bind\x00jt\x00-journal\x00NBYTES\x00PRIOR NBYTES\x00bad pointer: \x00PRIOR\x00ADDRESS SIZE HEX\x00size must be positive\x00no data\x00ADDRESS SIZE\x00?RESET?\x00DEPT\x00FILENAME\x00COUNTER ?OPTIONS?\x00-repeat\x00-benigncnt\x00TITLE\x00SUB-COMMAND ...\x00start\x00stop\x00dump\x00clear\x00sync\x00SIZE N\x00INSTALLFLAG DISCARDCHANCE PRNGSEEED HIGHSTRESS\x00discard-chance should be between 0 and 100\x00SIZE COUNT\x00BUFID SIZE COUNT\x00illegal arguments - see documentation\x00NBYTE NMINALLOC\x00[DB]\x00sqlite3_db_config(db, 99999) does not return SQLITE_ERROR\x00sqlite3_config(99999) does not return SQLITE_ERROR\x00PARAMETER RESETFLAG\x00SQLITE_STATUS_MEMORY_USED\x00SQLITE_STATUS_MALLOC_SIZE\x00SQLITE_STATUS_PAGECACHE_USED\x00SQLITE_STATUS_PAGECACHE_OVERFLOW\x00SQLITE_STATUS_PAGECACHE_SIZE\x00SQLITE_STATUS_SCRATCH_USED\x00SQLITE_STATUS_SCRATCH_OVERFLOW\x00SQLITE_STATUS_SCRATCH_SIZE\x00SQLITE_STATUS_PARSER_STACK\x00SQLITE_STATUS_MALLOC_COUNT\x00DB PARAMETER RESETFLAG\x00SQLITE_\x00DBSTATUS_\x00LOOKASIDE_USED\x00CACHE_USED\x00SCHEMA_USED\x00STMT_USED\x00LOOKASIDE_HIT\x00LOOKASIDE_MISS_SIZE\x00LOOKASIDE_MISS_FULL\x00CACHE_HIT\x00CACHE_MISS\x00CACHE_WRITE\x00DEFERRED_FKS\x00CACHE_USED_SHARED\x00CACHE_SPILL\x00?INTEGER?\x00sqlite3_free\x00memset\x00memget\x00sqlite3_memory_used\x00sqlite3_memory_highwater\x00sqlite3_memdebug_backtrace\x00sqlite3_memdebug_dump\x00sqlite3_memdebug_fail\x00sqlite3_memdebug_pending\x00sqlite3_memdebug_settitle\x00sqlite3_memdebug_malloc_count\x00sqlite3_memdebug_log\x00sqlite3_config_pagecache\x00sqlite3_config_alt_pcache\x00sqlite3_status\x00sqlite3_db_status\x00install_malloc_faultsim\x00sqlite3_config_heap\x00sqlite3_config_heap_size\x00sqlite3_config_memstatus\x00sqlite3_config_lookaside\x00sqlite3_config_error\x00sqlite3_config_uri\x00sqlite3_config_cis\x00sqlite3_config_pmasz\x00sqlite3_db_config_lookaside\x00sqlite3_dump_memsys3\x00sqlite3_dump_memsys5\x00sqlite3_install_memsys3\x00sqlite3_memdebug_vfs_oom_test\x00%05u\x00 FILENAME [OFFSET AMT]\"\x00unable to open file \"\x00\" for reading\x00md5\x00md5-10x8\x00md5file\x00md5file-10x8\x00md5sum\x00%03d\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_control\x00chunksize\x00multiplex_truncate\x00multiplex/%z\x00multiplex\x00NAME MAKEDEFAULT\x00-force\x00?-force?\x00chunk_size\x00max_chunks\x00HANDLE DBNAME SUB-COMMAND INT-VALUE\x00expected database handle, got \"\x00sqlite3_multiplex_initialize\x00sqlite3_multiplex_shutdown\x00sqlite3_multiplex_control\x00fast\x00recursive\x00static_main\x00static_mem\x00static_open\x00static_prng\x00static_lru\x00static_pmem\x00static_app1\x00static_app2\x00static_app3\x00static_vfs1\x00static_vfs2\x00static_vfs3\x00mutex counters are \x00already installed\x00not installed\x00singlethread\x00multithread\x00serialized\x00mutex name\x00disable_mutex_init\x00disable_mutex_try\x00sqlite3_shutdown\x00sqlite3_initialize\x00sqlite3_config\x00enter_static_mutex\x00leave_static_mutex\x00enter_db_mutex\x00leave_db_mutex\x00alloc_dealloc_mutex\x00install_mutex_counters\x00read_mutex_counters\x00clear_mutex_counters\x00\x00\x00\x00\x00\x00\x00\x00vfslog/%z\x00sqlite_ostrace1.....\x00xClose\x00xRead\x00xWrite\x00xTruncate\x00xFilesize\x00xLock\x00xUnlock\x00xCheckResLock\x00xFileControl\x00xSectorSize\x00xDeviceChar\x00xDelete\x00xAccess\x00xFullPathname\x00xRandomness\x00xSleep\x00xCurrentTime\x00xShmUnmap\x00xShmLock\x00xShmBarrier\x00xShmMap\x00annotation\x00CREATE TABLE xxx(event, file, click, rc, size, offset)\x00vfslog\x00VFS\x00failed\x00VFS PARENT LOGFILE\x00bad sqlite3 handle: \x00annotate\x00finalize\x00register\x00quota/%z\x00quota\x00::piLimit_\x00PATTERN LIMIT SCRIPT\x00FILENAME MODE\x00HANDLE SIZE NELEM\x00HANDLE SIZE NELEM CONTENT\x00HANDLE ?HARDSYNC?\x00HANDLE OFFSET WHENCE\x00SEEK_SET\x00SEEK_CUR\x00SEEK_END\x00WHENCE should be SEEK_SET, SEEK_CUR, or SEEK_END\x00HANDLE SIZE\x00PATTERN TEXT\x00sqlite3_quota_initialize\x00sqlite3_quota_shutdown\x00sqlite3_quota_set\x00sqlite3_quota_file\x00sqlite3_quota_dump\x00sqlite3_quota_fopen\x00sqlite3_quota_fread\x00sqlite3_quota_fwrite\x00sqlite3_quota_fclose\x00sqlite3_quota_fflush\x00sqlite3_quota_fseek\x00sqlite3_quota_rewind\x00sqlite3_quota_ftell\x00sqlite3_quota_ftruncate\x00sqlite3_quota_file_size\x00sqlite3_quota_file_truesize\x00sqlite3_quota_file_mtime\x00sqlite3_quota_remove\x00sqlite3_quota_glob\x00sqlite3_quota_file_available\x00sqlite3_quota_ferror\x00cube\x00circle\x00Qcircle\x00breadthfirstsearch\x00register_cube_geom\x00register_circle_geom\x00CREATE TABLE x(database,tablename,cid,name,type,not_null,dflt_value,pk)\x00SELECT name FROM sqlite_temp_schema WHERE type='table'\x00SELECT name FROM %Q.sqlite_schema WHERE type='table'\x00PRAGMA %Q.table_info(%Q)\x00PRAGMA database_list\x00register_schema_module\x00PRAGMA main.journal_mode\x00CMDNAME PATH ?VFS? ?BUSY-HANDLER-SCRIPT?\x00sqlite3demo_superlock\x00open\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00pread\x00pread64\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00mremap\x00SYSCALL-LIST\x00system-call\x00?COUNT PERSIST?\x00EACCES\x00EINTR\x00EIO\x00EOVERFLOW\x00ENOMEM\x00EAGAIN\x00ETIMEDOUT\x00EBUSY\x00EPERM\x00EDEADLK\x00ENOLCK\x00SYSCALL ERRNO\x00errno\x00PGSZ\x00getpagesize\x00pgsz out of range\x00fault\x00install\x00uninstall\x00list\x00defaultvfs\x00pagesize\x00VFS does not support xSetSystemCall\x00test_syscall\x00load_testfixture_extensions\x00SLAVE\x00CREATE TABLE x( name TEXT, arrayname TEXT, value TEXT, fullname TEXT PRIMARY KEY) WITHOUT ROWID\x00array names\x00tclvar_filter_cmd\x00%s(%s)\x00expr {[info exists ::tclvar_set_omit] && $::tclvar_set_omit}\x00the 'fullname' column must be TEXT\x00prohibited TCL variable change\x00proc like {pattern str} {\n set p [string map {% * _ ?} $pattern]\n string match $p $str\n}\nproc tclvar_filter_cmd {eq match glob regexp like} {\n set res {}\n set pattern $eq\n if {$pattern=={}} { set pattern $match }\n if {$pattern=={}} { set pattern * }\n foreach v [uplevel #0 info vars $pattern] {\n if {($glob=={} || [string match $glob [uplevel #0 set $v]])\n && ($like=={} || [like $like [uplevel #0 set $v]])\n && ($regexp=={} || [regexp $regexp [uplevel #0 set $v]])\n } {\n lappend res $v\n }\n }\n set res\n}\n\x00register_tclvar_module\x00clock_seconds\x00sqlthread\x00sqlite3_blocking_step\x00sqlite3_blocking_prepare_v2\x00sqlite3_nonblocking_prepare_v2\x00set\x00Error in Tcl_CreateThread()\x00no parent thread\x00parent\x00spawn\x00VARNAME SCRIPT\x00DBNAME\x00id\x00%s \x00SQLITE_IOERR\x00SQLITE_LOCKED\x00SQLITE_BUSY\x00SQLITE_READONLY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_NOTFOUND\x00SQLITE_OMIT\x00normal|dataonly\x00full|dataonly\x00xCheckReservedLock\x00BEGIN_ATOMIC_WRITE\x00COMMIT_ATOMIC_WRITE\x00ZIPVFS\x00anon\x00SQLITE_ACCESS_EXISTS\x00SQLITE_ACCESS_READWRITE\x00SQLITE_ACCESS_READ\x00xShmOpen\x00 lock\x00 unlock\x00 shared\x00 exclusive\x00shm\x00filter\x00ioerr\x00fullerr\x00cantopenerr\x00script\x00devchar\x00sectorsize\x00subcommand\x00FILE ?VALUE?\x00failed to get full path: \x00no such file: \x00unknown method: \x00?CNT PERSIST?\x00default\x00undeletable_when_open\x00immutable\x00?ATTR-LIST?\x00bad flags: \x00?VALUE?\x00-noshm\x00-szosfile\x00-mxpathname\x00-iversion\x00-fullshm\x00VFSNAME ?-noshm BOOL? ?-fullshm BOOL? ?-default BOOL? ?-mxpathname INT? ?-szosfile INT? ?-iversion INT?\x00shared\x00lock\x00unlock\x00DB DBNAME (shared|exclusive) (lock|unlock) OFFSET N\x00ARG\x00DB DBNAME SLOT ?VALUE?\x00*-shm is not yet mapped\x00testvfs\x00vfs_shmlock\x00vfs_set_readmark\x00DB NAME XSTEP XFINAL XVALUE XINVERSE\x00fff\x00misuse test error\x00invalid argument\x00sumint\x00sum\x00sqlite3_create_window_function\x00test_create_window_function_misuse\x00test_create_sumint\x00test_override_sum\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/internal/testfixture/testfixture_linux_386.go b/internal/testfixture/testfixture_linux_386.go index dc9d89f..b349712 100644 --- a/internal/testfixture/testfixture_linux_386.go +++ b/internal/testfixture/testfixture_linux_386.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -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 -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_linux_386.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -lmodernc.org/sqlite/internal/libc2', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -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 -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_linux_386.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/session/test_session.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -lmodernc.org/sqlite/internal/libc2', DO NOT EDIT. package main @@ -80,6 +80,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -209,6 +220,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_STMTVTAB = 1 @@ -445,6 +457,8 @@ const ( SQLITE_SERIALIZE_NOCOPY = 0x001 SQLITE_SERIES_CONSTRAINT_VERIFY = 1 SQLITE_SERVER = 1 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -1557,6 +1571,7 @@ const ( SQLITE_RBU_STATE_MOVE = 2 SQLITE_RBU_STATE_OAL = 1 X_SQLITE3RBU_H = 0 + SESSION_STREAM_TCL_VAR = "sqlite3session_streams" FP_XSTATE_MAGIC1 = 0x46505853 FP_XSTATE_MAGIC2 = 0x46505845 MAX_PREPARED_STMTS = 100 @@ -3541,10 +3556,6 @@ const ( /* resource.h:158:1: */ // All of its terminated child processes. RUSAGE_CHILDREN = -1 -) - -// Whose usage statistics do you want? -const ( /* resource.h:158:1: */ // The calling thread. RUSAGE_THREAD = 1 ) @@ -7067,10 +7078,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -7121,10 +7131,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -35832,6 +35841,1551 @@ var aObjCmd = [5]struct { {FzName: ts + 10499 /* "sqlite3rbu_inter..." */, FxProc: 0}, } /* test_rbu.c:369:5 */ +type TestSession1 = struct { + FpSession uintptr + Finterp uintptr + FpFilterScript uintptr +} /* test_session.c:21:9 */ + +type TestSession = TestSession1 /* test_session.c:21:28 */ + +type TestStreamInput1 = struct { + FnStream int32 + FaData uintptr + FnData int32 + FiData int32 +} /* test_session.c:28:9 */ + +type TestStreamInput = TestStreamInput1 /* test_session.c:28:32 */ + +// Extract an sqlite3* db handle from the object passed as the second +// argument. If successful, set *pDb to point to the db handle and return +// TCL_OK. Otherwise, return TCL_ERROR. +func dbHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, pDb uintptr) int32 { /* test_session.c:41:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + // var info Tcl_CmdInfo at bp+24, 32 + + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, pObj), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, pObj), 0)) + return TCL_ERROR + } + + *(*uintptr)(unsafe.Pointer(pDb)) = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + return TCL_OK +} + +/************************************************************************* +** The following code is copied byte-for-byte from the sessions module +** documentation. It is used by some of the sessions modules tests to +** ensure that the example in the documentation does actually work. + */ +// Argument zSql points to a buffer containing an SQL script to execute +// against the database handle passed as the first argument. As well as +// executing the SQL script, this function collects a changeset recording +// all changes made to the "main" database file. Assuming no error occurs, +// output variables (*ppChangeset) and (*pnChangeset) are set to point +// to a buffer containing the changeset and the size of the changeset in +// bytes before returning SQLITE_OK. In this case it is the responsibility +// of the caller to eventually free the changeset blob by passing it to +// the sqlite3_free function. +// +// Or, if an error does occur, return an SQLite error code. The final +// value of (*pChangeset) and (*pnChangeset) are undefined in this case. +func sql_exec_changeset(tls *libc.TLS, db uintptr, zSql uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* test_session.c:71:5: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pSession */)) = uintptr(0) + var rc int32 + + // Create a new session object + rc = sqlite3.Xsqlite3session_create(tls, db, ts+85 /* "main" */, bp /* &pSession */) + + // Configure the session object to record changes to all tables + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3session_attach(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */)), uintptr(0)) + } + + // Execute the SQL script + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) + } + + // Collect the changeset + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3session_changeset(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */)), pnChangeset, ppChangeset) + } + + // Delete the session object + sqlite3.Xsqlite3session_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */))) + + return rc +} + +//********************************************************************** + +// Tclcmd: sql_exec_changeset DB SQL +func test_sql_exec_changeset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:104:26: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var zSql uintptr + // var db uintptr at bp+16, 4 + + // var pChangeset uintptr at bp+24, 4 + + // var nChangeset int32 at bp+20, 4 + + var rc int32 + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10524 /* "DB SQL" */) + return TCL_ERROR + } + if dbHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+16 /* &db */) != 0 { + return TCL_ERROR + } + zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) + + rc = sql_exec_changeset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zSql, bp+20 /* &nChangeset */, bp+24 /* &pChangeset */) + if rc != SQLITE_OK { + tcl.XTcl_ResetResult(tls, interp) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10531 /* "error in sql_exe..." */, 0)) + return TCL_ERROR + } + + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pChangeset */)), *(*int32)(unsafe.Pointer(bp + 20 /* nChangeset */)))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pChangeset */))) + return TCL_OK +} + +// Attempt to find the global variable zVar within interpreter interp +// and extract an integer value from it. Return this value. +// +// If the named variable cannot be found, or if it cannot be interpreted +// as a integer, return 0. +func test_tcl_integer(tls *libc.TLS, interp uintptr, zVar uintptr) int32 { /* test_session.c:146:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var pObj uintptr + *(*int32)(unsafe.Pointer(bp /* iVal */)) = 0 + var pName uintptr = tcl.XTcl_NewStringObj(tls, zVar, -1) + (*Tcl_Obj)(unsafe.Pointer(pName)).FrefCount++ + pObj = tcl.XTcl_ObjGetVar2(tls, interp, pName, uintptr(0), TCL_GLOBAL_ONLY) + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pName + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + if pObj != 0 { + tcl.XTcl_GetIntFromObj(tls, uintptr(0), pObj, bp /* &iVal */) + } + return *(*int32)(unsafe.Pointer(bp /* iVal */)) +} + +func test_session_error(tls *libc.TLS, interp uintptr, rc int32, zErr uintptr) int32 { /* test_session.c:157:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) + if zErr != 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10280 /* " - " */, zErr, 0)) + sqlite3.Xsqlite3_free(tls, zErr) + } + return TCL_ERROR +} + +func test_table_filter(tls *libc.TLS, pCtx uintptr, zTbl uintptr) int32 { /* test_session.c:167:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + var pEval uintptr + var rc int32 + *(*int32)(unsafe.Pointer(bp /* bRes */)) = 0 + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestSession)(unsafe.Pointer(p)).FpFilterScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + rc = tcl.XTcl_ListObjAppendElement(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, zTbl, -1)) + if rc == TCL_OK { + rc = tcl.XTcl_EvalObjEx(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, TCL_EVAL_GLOBAL) + } + if rc == TCL_OK { + rc = tcl.XTcl_GetBooleanFromObj(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, tcl.XTcl_GetObjResult(tls, (*TestSession)(unsafe.Pointer(p)).Finterp), bp /* &bRes */) + } + if rc != TCL_OK { + // printf("error: %s\n", Tcl_GetStringResult(p->interp)); + tcl.XTcl_BackgroundError(tls, (*TestSession)(unsafe.Pointer(p)).Finterp) + } + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + + return *(*int32)(unsafe.Pointer(bp /* bRes */)) +} + +type TestSessionsBlob1 = struct { + Fp uintptr + Fn int32 +} /* test_session.c:191:1 */ + +type TestSessionsBlob = TestSessionsBlob1 /* test_session.c:195:33 */ + +func testStreamOutput(tls *libc.TLS, pCtx uintptr, pData uintptr, nData int32) int32 { /* test_session.c:197:12: */ + var pBlob uintptr = pCtx + var pNew uintptr + + pNew = sqlite3.Xsqlite3_realloc(tls, (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp, ((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn + nData)) + if pNew == uintptr(0) { + return SQLITE_NOMEM + } + (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp = pNew + libc.Xmemcpy(tls, (pNew + uintptr((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn)), pData, uint32(nData)) + *(*int32)(unsafe.Pointer(pBlob + 4 /* &.n */)) += (nData) + return SQLITE_OK +} + +// Tclcmd: $session attach TABLE +// $session changeset +// $session delete +// $session enable BOOL +// $session indirect INTEGER +// $session patchset +// $session table_filter SCRIPT +func test_session_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:225:26: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var p uintptr = clientData + var pSession uintptr = (*TestSession)(unsafe.Pointer(p)).FpSession + // var iSub int32 at bp, 4 + + var rc int32 + + if objc < 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1860 /* "SUBCOMMAND ..." */) + return TCL_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&aSub)), int32(unsafe.Sizeof(SessionSubcmd{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if objc != (2 + aSub[*(*int32)(unsafe.Pointer(bp /* iSub */))].FnArg) { + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub[*(*int32)(unsafe.Pointer(bp /* iSub */))].FzMsg) + return TCL_ERROR + } + + switch *(*int32)(unsafe.Pointer(bp /* iSub */)) { + case 0: + { // attach + var zArg uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) + if (int32(*(*int8)(unsafe.Pointer(zArg))) == '*') && (int32(*(*int8)(unsafe.Pointer(zArg + 1))) == 0) { + zArg = uintptr(0) + } + rc = sqlite3.Xsqlite3session_attach(tls, pSession, zArg) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + break + + } + + case 7: + fallthrough // patchset + case 1: + { // changeset + *(*TestSessionsBlob)(unsafe.Pointer(bp + 4 /* o */)) = TestSessionsBlob{} + if test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) != 0 { + var pCtx uintptr = bp + 4 /* &o */ + if *(*int32)(unsafe.Pointer(bp /* iSub */)) == 7 { + rc = sqlite3.Xsqlite3session_patchset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), pCtx) + } else { + rc = sqlite3.Xsqlite3session_changeset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), pCtx) + } + } else { + if *(*int32)(unsafe.Pointer(bp /* iSub */)) == 7 { + rc = sqlite3.Xsqlite3session_patchset(tls, pSession, (bp + 4 /* &o */ + 4 /* &.n */), (bp + 4 /* &o */ /* &.p */)) + } else { + rc = sqlite3.Xsqlite3session_changeset(tls, pSession, (bp + 4 /* &o */ + 4 /* &.n */), (bp + 4 /* &o */ /* &.p */)) + } + } + if rc == SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+4 /* &o */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+4 /* &o */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+4 /* &o */)).Fp) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + break + + } + + case 2: // delete + tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))) + break + + case 3: + { // enable + // var val int32 at bp+12, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+12 /* &val */) != 0 { + return TCL_ERROR + } + *(*int32)(unsafe.Pointer(bp + 12 /* val */)) = sqlite3.Xsqlite3session_enable(tls, pSession, *(*int32)(unsafe.Pointer(bp + 12 /* val */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 12 /* val */))) != 0)))) + break + + } + + case 4: + { // indirect + // var val int32 at bp+16, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+16 /* &val */) != 0 { + return TCL_ERROR + } + *(*int32)(unsafe.Pointer(bp + 16 /* val */)) = sqlite3.Xsqlite3session_indirect(tls, pSession, *(*int32)(unsafe.Pointer(bp + 16 /* val */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 16 /* val */))) != 0)))) + break + + } + + case 5: + { // isempty + var val int32 + val = sqlite3.Xsqlite3session_isempty(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((val) != 0)))) + break + + } + + case 6: + { // table_filter + if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 { + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = (*TestSession)(unsafe.Pointer(p)).FpFilterScript + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + } + (*TestSession)(unsafe.Pointer(p)).Finterp = interp + (*TestSession)(unsafe.Pointer(p)).FpFilterScript = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) + (*Tcl_Obj)(unsafe.Pointer((*TestSession)(unsafe.Pointer(p)).FpFilterScript)).FrefCount++ + sqlite3.Xsqlite3session_table_filter(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_table_filter})), clientData) + break + + } + + case 8: + { // diff + *(*uintptr)(unsafe.Pointer(bp + 20 /* zErr */)) = uintptr(0) + rc = sqlite3.Xsqlite3session_diff(tls, pSession, + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))), + bp+20 /* &zErr */) + + if rc != 0 { + return test_session_error(tls, interp, rc, *(*uintptr)(unsafe.Pointer(bp + 20 /* zErr */))) + } + break + + } + + case 9: + { // memory_used + var nMalloc sqlite3_int64 = sqlite3.Xsqlite3session_memory_used(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, nMalloc)) + break + + } + + case 10: + { + var nSize sqlite3_int64 = sqlite3.Xsqlite3session_changeset_size(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, nSize)) + break + + } + case 11: + { + var rc int32 + // var iArg int32 at bp+24, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+24 /* &iArg */) != 0 { + return TCL_ERROR + } + rc = sqlite3.Xsqlite3session_object_config(tls, + pSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+24 /* &iArg */) + if rc != SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 24 /* iArg */)))) + } + break + + } + } + + return TCL_OK +} + +type SessionSubcmd = struct { + FzSub uintptr + FnArg int32 + FzMsg uintptr + FiSub int32 +} /* test_session.c:233:10 */ + +var aSub = [13]SessionSubcmd{ + {FzSub: ts + 10584 /* "attach" */, FnArg: 1, FzMsg: ts + 1812 /* "TABLE" */}, // 0 + {FzSub: ts + 10591 /* "changeset" */, FzMsg: ts + 489 /* "" */}, // 1 + {FzSub: ts + 10601 /* "delete" */, FzMsg: ts + 489 /* "" */}, // 2 + {FzSub: ts + 10608 /* "enable" */, FnArg: 1, FzMsg: ts + 10615 /* "BOOL" */}, // 3 + {FzSub: ts + 10620 /* "indirect" */, FnArg: 1, FzMsg: ts + 10615 /* "BOOL" */}, // 4 + {FzSub: ts + 10629 /* "isempty" */, FzMsg: ts + 489 /* "" */}, // 5 + {FzSub: ts + 10637 /* "table_filter" */, FnArg: 1, FzMsg: ts + 10650 /* "SCRIPT" */}, // 6 + {FzSub: ts + 10657 /* "patchset" */, FzMsg: ts + 489 /* "" */}, // 7 + {FzSub: ts + 10666 /* "diff" */, FnArg: 2, FzMsg: ts + 10671 /* "FROMDB TBL" */}, // 8 + {FzSub: ts + 10682 /* "memory_used" */, FzMsg: ts + 489 /* "" */}, // 9 + {FzSub: ts + 10694 /* "changeset_size" */, FzMsg: ts + 489 /* "" */}, // 10 + {FzSub: ts + 10709 /* "object_config_si..." */, FnArg: 1, FzMsg: ts + 2274 /* "INTEGER" */}, // 11 + {}, +} /* test_session.c:238:5 */ + +func test_session_del(tls *libc.TLS, clientData uintptr) { /* test_session.c:390:27: */ + var p uintptr = clientData + if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 { + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = (*TestSession)(unsafe.Pointer(p)).FpFilterScript + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + } + sqlite3.Xsqlite3session_delete(tls, (*TestSession)(unsafe.Pointer(p)).FpSession) + tcl.XTcl_Free(tls, p) +} + +// Tclcmd: sqlite3session CMD DB-HANDLE DB-NAME +func test_sqlite3session(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:400:26: */ + bp := tls.Alloc(60) + defer tls.Free(60) + + var db uintptr + // var info Tcl_CmdInfo at bp+24, 32 + + var rc int32 // sqlite3session_create() return code + var p uintptr // New wrapper object + *(*int32)(unsafe.Pointer(bp + 56 /* iArg */)) = -1 + + if objc != 4 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10728 /* "CMD DB-HANDLE DB..." */) + return TCL_ERROR + } + + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + + p = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(TestSession{}))) + libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(TestSession{}))) + rc = sqlite3.Xsqlite3session_create(tls, db, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))), (p /* &.pSession */)) + if rc != SQLITE_OK { + tcl.XTcl_Free(tls, p) + return test_session_error(tls, interp, rc, uintptr(0)) + } + + // Query the SQLITE_SESSION_OBJCONFIG_SIZE option to ensure that it + // is clear by default. Then set it. + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+56 /* &iArg */) + + *(*int32)(unsafe.Pointer(bp + 56 /* iArg */)) = 1 + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+56 /* &iArg */) + + tcl.XTcl_CreateObjCommand(tls, + interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_session_cmd})), p, + *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_session_del}))) + tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4))) + return TCL_OK +} + +func test_append_value(tls *libc.TLS, pList uintptr, pVal uintptr) { /* test_session.c:446:13: */ + if pVal == uintptr(0) { + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls)) + } else { + var pObj uintptr + switch sqlite3.Xsqlite3_value_type(tls, pVal) { + case SQLITE_NULL: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10750 /* "n" */, 1)) + pObj = tcl.XTcl_NewObj(tls) + break + fallthrough + case SQLITE_INTEGER: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10752 /* "i" */, 1)) + pObj = tcl.XTcl_NewWideIntObj(tls, sqlite3.Xsqlite3_value_int64(tls, pVal)) + break + fallthrough + case SQLITE_FLOAT: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10754 /* "f" */, 1)) + pObj = tcl.XTcl_NewDoubleObj(tls, sqlite3.Xsqlite3_value_double(tls, pVal)) + break + fallthrough + case SQLITE_TEXT: + { + var z uintptr = sqlite3.Xsqlite3_value_blob(tls, pVal) + var n int32 = sqlite3.Xsqlite3_value_bytes(tls, pVal) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10756 /* "t" */, 1)) + pObj = tcl.XTcl_NewStringObj(tls, z, n) + break + + } + fallthrough + default: + + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10758 /* "b" */, 1)) + pObj = tcl.XTcl_NewByteArrayObj(tls, + sqlite3.Xsqlite3_value_blob(tls, pVal), + sqlite3.Xsqlite3_value_bytes(tls, pVal)) + break + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, pObj) + } +} + +type TestConflictHandler1 = struct { + Finterp uintptr + FpConflictScript uintptr + FpFilterScript uintptr +} /* test_session.c:485:9 */ + +type TestConflictHandler = TestConflictHandler1 /* test_session.c:485:36 */ + +func test_obj_eq_string(tls *libc.TLS, p uintptr, z uintptr) int32 { /* test_session.c:492:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var n int32 + // var nObj int32 at bp, 4 + + var zObj uintptr + + n = int32(libc.Xstrlen(tls, z)) + zObj = tcl.XTcl_GetStringFromObj(tls, p, bp /* &nObj */) + + return (libc.Bool32((*(*int32)(unsafe.Pointer(bp /* nObj */)) == n) && ((n == 0) || (0 == libc.Xmemcmp(tls, zObj, z, uint32(n)))))) +} + +func test_filter_handler(tls *libc.TLS, pCtx uintptr, zTab uintptr) int32 { /* test_session.c:503:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*int32)(unsafe.Pointer(bp /* res */)) = 1 + var pEval uintptr + var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpFilterScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + + if ((TCL_OK != tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, zTab, -1))) || + (TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL))) || + (TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, tcl.XTcl_GetObjResult(tls, interp), bp /* &res */)) { + tcl.XTcl_BackgroundError(tls, interp) + } + + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + return *(*int32)(unsafe.Pointer(bp /* res */)) +} + +func test_conflict_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 { /* test_session.c:526:12: */ + bp := tls.Alloc(60) + defer tls.Free(60) + + var p uintptr = pCtx + var pEval uintptr + var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp + *(*int32)(unsafe.Pointer(bp + 56 /* ret */)) = 0 // Return value + + // var op int32 at bp+8, 4 + // SQLITE_UPDATE, DELETE or INSERT + // var zTab uintptr at bp, 4 + // Name of table conflict is on + // var nCol int32 at bp+4, 4 + // Number of columns in table zTab + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpConflictScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + + sqlite3.Xsqlite3changeset_op(tls, pIter, bp /* &zTab */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + + if eConf == SQLITE_CHANGESET_FOREIGN_KEY { + // var nFk int32 at bp+12, 4 + + sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+12 /* &nFk */) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, ts+10760 /* "FOREIGN_KEY" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 12 /* nFk */)))) + } else { + + // Append the operation type. + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_INSERT { + return ts + 10772 /* "INSERT" */ + } + return func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_UPDATE { + return ts + 10779 /* "UPDATE" */ + } + return ts + 10786 /* "DELETE" */ + }() + }(), -1)) + + // Append the table name. + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp /* zTab */)), -1)) + + // Append the conflict type. + switch eConf { + case SQLITE_CHANGESET_DATA: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10793 /* "DATA" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_NOTFOUND: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10798 /* "NOTFOUND" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_CONFLICT: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10807 /* "CONFLICT" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_CONSTRAINT: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10816 /* "CONSTRAINT" */, -1)) + break + } + + // If this is not an INSERT, append the old row + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) != SQLITE_INSERT { + var i int32 + var pOld uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)); i++ { + // var pVal uintptr at bp+16, 4 + + sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+16 /* &pVal */) + test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pOld) + } + + // If this is not a DELETE, append the new row + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) != SQLITE_DELETE { + var i int32 + var pNew uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)); i++ { + // var pVal uintptr at bp+20, 4 + + sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+20 /* &pVal */) + test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 20 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pNew) + } + + // If this is a CHANGESET_DATA or CHANGESET_CONFLICT conflict, append + // the conflicting row. + if (eConf == SQLITE_CHANGESET_DATA) || (eConf == SQLITE_CHANGESET_CONFLICT) { + var i int32 + var pConflict uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)); i++ { + var rc int32 + _ = rc + // var pVal uintptr at bp+24, 4 + + rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, i, bp+24 /* &pVal */) + + test_append_value(tls, pConflict, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pConflict) + } + + // ********************************************************************** + // + // This block is purely for testing some error conditions. + if (eConf == SQLITE_CHANGESET_CONSTRAINT) || + (eConf == SQLITE_CHANGESET_NOTFOUND) { + // var pVal uintptr at bp+28, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, 0, bp+28 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+32, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, -1, bp+32 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), bp+32 /* &pVal */) + + } + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_DELETE { + // var pVal uintptr at bp+36, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, 0, bp+36 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+40, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, -1, bp+40 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_new(tls, pIter, *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), bp+40 /* &pVal */) + + } + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_INSERT { + // var pVal uintptr at bp+44, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, 0, bp+44 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+48, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, -1, bp+48 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_old(tls, pIter, *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), bp+48 /* &pVal */) + + } + if eConf != SQLITE_CHANGESET_FOREIGN_KEY { + // eConf!=FOREIGN_KEY is always true at this point. The condition is + // just there to make it clearer what is being tested. + // var nDummy int32 at bp+52, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+52 /* &nDummy */) + _ = rc + + } + // End of testing block + // + } + + if TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL) { + tcl.XTcl_BackgroundError(tls, interp) + } else { + var pRes uintptr = tcl.XTcl_GetObjResult(tls, interp) + if (test_obj_eq_string(tls, pRes, ts+10827 /* "OMIT" */) != 0) || (test_obj_eq_string(tls, pRes, ts+489 /* "" */) != 0) { + *(*int32)(unsafe.Pointer(bp + 56 /* ret */)) = SQLITE_CHANGESET_OMIT + } else if test_obj_eq_string(tls, pRes, ts+7292 /* "REPLACE" */) != 0 { + *(*int32)(unsafe.Pointer(bp + 56 /* ret */)) = SQLITE_CHANGESET_REPLACE + } else if test_obj_eq_string(tls, pRes, ts+7286 /* "ABORT" */) != 0 { + *(*int32)(unsafe.Pointer(bp + 56 /* ret */)) = SQLITE_CHANGESET_ABORT + } else { + tcl.XTcl_GetIntFromObj(tls, uintptr(0), pRes, bp+56 /* &ret */) + } + } + + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + return *(*int32)(unsafe.Pointer(bp + 56 /* ret */)) +} + +// The conflict handler used by sqlite3changeset_apply_replace_all(). +// This conflict handler calls sqlite3_value_text16() on all available +// sqlite3_value objects and then returns CHANGESET_REPLACE, or +// CHANGESET_OMIT if REPLACE is not applicable. This is used to test the +// effect of a malloc failure within an sqlite3_value_xxx() function +// invoked by a conflict-handler callback. +func replace_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 { /* test_session.c:693:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + // var op int32 at bp+8, 4 + // SQLITE_UPDATE, DELETE or INSERT + // var zTab uintptr at bp, 4 + // Name of table conflict is on + // var nCol int32 at bp+4, 4 + // Number of columns in table zTab + var i int32 + var x int32 = 0 + + sqlite3.Xsqlite3changeset_op(tls, pIter, bp /* &zTab */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) != SQLITE_INSERT { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)); i++ { + // var pVal uintptr at bp+12, 4 + + sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+12 /* &pVal */) + sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pVal */))) + x++ + } + } + + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) != SQLITE_DELETE { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)); i++ { + // var pVal uintptr at bp+16, 4 + + sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+16 /* &pVal */) + sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) + x++ + } + } + + if eConf == SQLITE_CHANGESET_DATA { + return SQLITE_CHANGESET_REPLACE + } + return SQLITE_CHANGESET_OMIT +} + +func testStreamInput(tls *libc.TLS, pCtx uintptr, pData uintptr, pnData uintptr) int32 { /* test_session.c:730:12: */ + var p uintptr = pCtx + var nReq int32 = *(*int32)(unsafe.Pointer(pnData)) // Bytes of data requested + var nRem int32 = ((*TestStreamInput)(unsafe.Pointer(p)).FnData - (*TestStreamInput)(unsafe.Pointer(p)).FiData) // Bytes of data available + var nRet int32 = (*TestStreamInput)(unsafe.Pointer(p)).FnStream // Bytes actually returned + + // Allocate and free some space. There is no point to this, other than + // that it allows the regular OOM fault-injection tests to cause an error + // in this function. + var pAlloc uintptr = sqlite3.Xsqlite3_malloc(tls, 10) + if pAlloc == uintptr(0) { + return SQLITE_NOMEM + } + sqlite3.Xsqlite3_free(tls, pAlloc) + + if nRet > nReq { + nRet = nReq + } + if nRet > nRem { + nRet = nRem + } + + if nRet > 0 { + libc.Xmemcpy(tls, pData, ((*TestStreamInput)(unsafe.Pointer(p)).FaData + uintptr((*TestStreamInput)(unsafe.Pointer(p)).FiData)), uint32(nRet)) + *(*int32)(unsafe.Pointer(p + 12 /* &.iData */)) += (nRet) + } + + *(*int32)(unsafe.Pointer(pnData)) = nRet + return SQLITE_OK +} + +func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:761:26: */ + bp := tls.Alloc(96) + defer tls.Free(96) + + var db uintptr // Database handle + // var info Tcl_CmdInfo at bp+40, 32 + // Database Tcl command (objv[1]) info + var rc int32 // Return code from changeset_invert() + var pChangeset uintptr // Buffer containing changeset + // var nChangeset int32 at bp+72, 4 + // Size of buffer aChangeset in bytes + // var ctx TestConflictHandler at bp+76, 12 + + // var sStr TestStreamInput at bp+24, 16 + + *(*uintptr)(unsafe.Pointer(bp + 88 /* pRebase */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 92 /* nRebase */)) = 0 + var flags int32 = 0 // Flags for apply_v2() + + libc.Xmemset(tls, bp+24 /* &sStr */, 0, uint32(unsafe.Sizeof(TestStreamInput{}))) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + + // Check for the -nosavepoint flag + if bV2 != 0 { + if objc > 1 { + var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) + var n int32 = int32(libc.Xstrlen(tls, z1)) + if ((n > 1) && (n <= 12)) && (0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10832 /* "-nosavepoint" */, z1, n)) { + flags = flags | (SQLITE_CHANGESETAPPLY_NOSAVEPOINT) + objc-- + objv += 4 + } + } + if objc > 1 { + var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) + var n int32 = int32(libc.Xstrlen(tls, z1)) + if ((n > 1) && (n <= 7)) && (0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10845 /* "-invert" */, z1, n)) { + flags = flags | (SQLITE_CHANGESETAPPLY_INVERT) + objc-- + objv += 4 + } + } + } + + if (objc != 4) && (objc != 5) { + var zMsg uintptr + if bV2 != 0 { + zMsg = ts + 10853 /* "?-nosavepoint? ?..." */ + } else { + zMsg = ts + 10924 /* "DB CHANGESET CON..." */ + } + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zMsg) + return TCL_ERROR + } + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+40 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 40 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+72 /* &nChangeset */) + (*TestConflictHandler)(unsafe.Pointer(bp + 76 /* &ctx */)).FpConflictScript = *(*uintptr)(unsafe.Pointer(objv + 3*4)) + (*TestConflictHandler)(unsafe.Pointer(bp + 76 /* &ctx */)).FpFilterScript = func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(objv + 4*4)) + } + return uintptr(0) + }() + (*TestConflictHandler)(unsafe.Pointer(bp + 76 /* &ctx */)).Finterp = interp + + if (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sStr */)).FnStream == 0 { + if bV2 == 0 { + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 72 /* nChangeset */)), pChangeset, + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+76 /* &ctx */) + } else { + rc = sqlite3.Xsqlite3changeset_apply_v2(tls, db, *(*int32)(unsafe.Pointer(bp + 72 /* nChangeset */)), pChangeset, + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+76, /* &ctx */ + bp+88 /* &pRebase */, bp+92 /* &nRebase */, flags) + } + } else { + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 72 /* nChangeset */)) + if bV2 == 0 { + rc = sqlite3.Xsqlite3changeset_apply_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sStr */ + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+76 /* &ctx */) + } else { + rc = sqlite3.Xsqlite3changeset_apply_v2_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sStr */ + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+76, /* &ctx */ + bp+88 /* &pRebase */, bp+92 /* &nRebase */, flags) + } + } + + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_ResetResult(tls, interp) + if (bV2 != 0) && (*(*uintptr)(unsafe.Pointer(bp + 88 /* pRebase */)) != 0) { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pRebase */)), *(*int32)(unsafe.Pointer(bp + 92 /* nRebase */)))) + } + } + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pRebase */))) + return TCL_OK +} + +// sqlite3changeset_apply DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT? +func test_sqlite3changeset_apply(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:868:26: */ + return testSqlite3changesetApply(tls, 0, clientData, interp, objc, objv) +} + +// sqlite3changeset_apply_v2 DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT? +func test_sqlite3changeset_apply_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:879:26: */ + return testSqlite3changesetApply(tls, 1, clientData, interp, objc, objv) +} + +// sqlite3changeset_apply_replace_all DB CHANGESET +func test_sqlite3changeset_apply_replace_all(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:891:26: */ + bp := tls.Alloc(60) + defer tls.Free(60) + + var db uintptr // Database handle + // var info Tcl_CmdInfo at bp+24, 32 + // Database Tcl command (objv[1]) info + var rc int32 // Return code from changeset_invert() + var pChangeset uintptr // Buffer containing changeset + // var nChangeset int32 at bp+56, 4 + // Size of buffer aChangeset in bytes + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10969 /* "DB CHANGESET" */) + return TCL_ERROR + } + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+56 /* &nChangeset */) + + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 56 /* nChangeset */)), pChangeset, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{replace_handler})), uintptr(0)) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + tcl.XTcl_ResetResult(tls, interp) + return TCL_OK +} + +// sqlite3changeset_invert CHANGESET +func test_sqlite3changeset_invert(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:926:26: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var rc int32 // Return code from changeset_invert() + // var sIn TestStreamInput at bp, 16 + // Input stream + // var sOut TestSessionsBlob at bp+16, 8 + // Output blob + + if objc != 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10982 /* "CHANGESET" */) + return TCL_ERROR + } + + libc.Xmemset(tls, bp /* &sIn */, 0, uint32(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+16 /* &sOut */, 0, uint32(unsafe.Sizeof(TestSessionsBlob{}))) + (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)), (bp /* &sIn */ + 8 /* &.nData */)) + + if (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnStream != 0 { + rc = sqlite3.Xsqlite3changeset_invert_strm(tls, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp /* &sIn */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+16 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3changeset_invert(tls, (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FaData, (bp + 16 /* &sOut */ + 4 /* &.n */), (bp + 16 /* &sOut */ /* &.p */)) + } + if rc != SQLITE_OK { + rc = test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+16 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+16 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+16 /* &sOut */)).Fp) + return rc +} + +// sqlite3changeset_concat LEFT RIGHT +func test_sqlite3changeset_concat(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:965:26: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var rc int32 // Return code from changeset_invert() + + // var sLeft TestStreamInput at bp, 16 + // Input stream + // var sRight TestStreamInput at bp+16, 16 + // Input stream + *(*TestSessionsBlob)(unsafe.Pointer(bp + 32 /* sOut */)) = TestSessionsBlob{} // Output blob + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10992 /* "LEFT RIGHT" */) + return TCL_ERROR + } + + libc.Xmemset(tls, bp /* &sLeft */, 0, uint32(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+16 /* &sRight */, 0, uint32(unsafe.Sizeof(TestStreamInput{}))) + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)), (bp /* &sLeft */ + 8 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp + 16 /* &sRight */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), (bp + 16 /* &sRight */ + 8 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + (*TestStreamInput)(unsafe.Pointer(bp + 16 /* &sRight */)).FnStream = (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream + + if (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream > 0 { + rc = sqlite3.Xsqlite3changeset_concat_strm(tls, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp, /* &sLeft */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+16, /* &sRight */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+32 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3changeset_concat(tls, + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FaData, (*TestStreamInput)(unsafe.Pointer(bp+16 /* &sRight */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+16 /* &sRight */)).FaData, (bp + 32 /* &sOut */ + 4 /* &.n */), (bp + 32 /* &sOut */ /* &.p */)) + } + + if rc != SQLITE_OK { + rc = test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fp) + return rc +} + +// sqlite3session_foreach VARNAME CHANGESET SCRIPT +func test_sqlite3session_foreach(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1013:26: */ + bp := tls.Alloc(60) + defer tls.Free(60) + + var pChangeset uintptr + // var nChangeset int32 at bp+16, 4 + + // var pIter uintptr at bp+20, 4 + + var rc int32 + var pVarname uintptr + var pCS uintptr + var pScript uintptr + var isCheckNext int32 = 0 + var isInvert int32 = 0 + // var sStr TestStreamInput at bp, 16 + + libc.Xmemset(tls, bp /* &sStr */, 0, uint32(unsafe.Sizeof(TestStreamInput{}))) + + for objc > 1 { + var zOpt uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) + var nOpt int32 = int32(libc.Xstrlen(tls, zOpt)) + if int32(*(*int8)(unsafe.Pointer(zOpt))) != '-' { + break + } + if (nOpt <= 7) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+10845 /* "-invert" */, nOpt)) { + isInvert = 1 + } else if (nOpt <= 5) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+11003 /* "-next" */, nOpt)) { + isCheckNext = 1 + } else { + break + } + objv += 4 + objc-- + } + if objc != 4 { + tcl.XTcl_WrongNumArgs(tls, + interp, 1, objv, ts+11009 /* "?-next? ?-invert..." */) + return TCL_ERROR + } + + pVarname = *(*uintptr)(unsafe.Pointer(objv + 1*4)) + pCS = *(*uintptr)(unsafe.Pointer(objv + 2*4)) + pScript = *(*uintptr)(unsafe.Pointer(objv + 3*4)) + + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, pCS, bp+16 /* &nChangeset */) + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + if isInvert != 0 { + var f int32 = SQLITE_CHANGESETSTART_INVERT + if (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream == 0 { + rc = sqlite3.Xsqlite3changeset_start_v2(tls, bp+20 /* &pIter */, *(*int32)(unsafe.Pointer(bp + 16 /* nChangeset */)), pChangeset, f) + } else { + var pCtx uintptr = bp /* &sStr */ + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 16 /* nChangeset */)) + rc = sqlite3.Xsqlite3changeset_start_v2_strm(tls, bp+20 /* &pIter */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), pCtx, f) + } + } else { + if (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream == 0 { + rc = sqlite3.Xsqlite3changeset_start(tls, bp+20 /* &pIter */, *(*int32)(unsafe.Pointer(bp + 16 /* nChangeset */)), pChangeset) + } else { + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 16 /* nChangeset */)) + rc = sqlite3.Xsqlite3changeset_start_strm(tls, bp+20 /* &pIter */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp /* &sStr */) + } + } + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + for SQLITE_ROW == sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */))) { + // var nCol int32 at bp+32, 4 + // Number of columns in table + // var nCol2 int32 at bp+48, 4 + // Number of columns in table + // var op int32 at bp+36, 4 + // SQLITE_INSERT, UPDATE or DELETE + // var zTab uintptr at bp+28, 4 + // Name of table change applies to + var pVar uintptr // Tcl value to set $VARNAME to + var pOld uintptr // Vector of old.* values + var pNew uintptr // Vector of new.* values + // var bIndirect int32 at bp+40, 4 + + var zPK uintptr + // var abPK uintptr at bp+44, 4 + + var i int32 + + // Test that _fk_conflicts() returns SQLITE_MISUSE if called on this + // iterator. + // var nDummy int32 at bp+24, 4 + + if SQLITE_MISUSE != sqlite3.Xsqlite3changeset_fk_conflicts(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */)), bp+24 /* &nDummy */) { + sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */))) + return TCL_ERROR + } + + sqlite3.Xsqlite3changeset_op(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */)), bp+28 /* &zTab */, bp+32 /* &nCol */, bp+36 /* &op */, bp+40 /* &bIndirect */) + pVar = tcl.XTcl_NewObj(tls) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 36 /* op */)) == SQLITE_INSERT { + return ts + 10772 /* "INSERT" */ + } + return func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 36 /* op */)) == SQLITE_UPDATE { + return ts + 10779 /* "UPDATE" */ + } + return ts + 10786 /* "DELETE" */ + }() + }(), -1)) + + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* zTab */)), -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 40 /* bIndirect */))) != 0)))) + + zPK = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 32 /* nCol */)) + 1))) + libc.Xmemset(tls, zPK, 0, (uint32(*(*int32)(unsafe.Pointer(bp + 32 /* nCol */)) + 1))) + sqlite3.Xsqlite3changeset_pk(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */)), bp+44 /* &abPK */, bp+48 /* &nCol2 */) + + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 32 /* nCol */)); i++ { + *(*int8)(unsafe.Pointer(zPK + uintptr(i))) = func() int8 { + if *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 44 /* abPK */)) + uintptr(i))) != 0 { + return int8('X') + } + return int8('.') + }() + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, zPK, -1)) + tcl.XTcl_Free(tls, zPK) + + pOld = tcl.XTcl_NewObj(tls) + if *(*int32)(unsafe.Pointer(bp + 36 /* op */)) != SQLITE_INSERT { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 32 /* nCol */)); i++ { + // var pVal uintptr at bp+52, 4 + + sqlite3.Xsqlite3changeset_old(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */)), i, bp+52 /* &pVal */) + test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 52 /* pVal */))) + } + } + pNew = tcl.XTcl_NewObj(tls) + if *(*int32)(unsafe.Pointer(bp + 36 /* op */)) != SQLITE_DELETE { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 32 /* nCol */)); i++ { + // var pVal uintptr at bp+56, 4 + + sqlite3.Xsqlite3changeset_new(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */)), i, bp+56 /* &pVal */) + test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 56 /* pVal */))) + } + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pOld) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pNew) + + tcl.XTcl_ObjSetVar2(tls, interp, pVarname, uintptr(0), pVar, 0) + rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0) + if (rc != TCL_OK) && (rc != TCL_CONTINUE) { + sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */))) + if rc == TCL_BREAK { + return TCL_OK + } + return rc + } + } + + if isCheckNext != 0 { + var rc2 int32 = sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */))) + _ = rc2 + rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */))) + + } else { + rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */))) + } + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + return TCL_OK +} + +// tclcmd: CMD configure REBASE-BLOB +// tclcmd: CMD rebase CHANGESET +// tclcmd: CMD delete +func test_rebaser_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1171:26: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var p uintptr = clientData + // var iSub int32 at bp, 4 + + var rc int32 + + if objc < 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1860 /* "SUBCOMMAND ..." */) + return TCL_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&aSub1)), int32(unsafe.Sizeof(RebaseSubcmd{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if objc != (2 + aSub1[*(*int32)(unsafe.Pointer(bp /* iSub */))].FnArg) { + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub1[*(*int32)(unsafe.Pointer(bp /* iSub */))].FzMsg) + return TCL_ERROR + } + + switch *(*int32)(unsafe.Pointer(bp /* iSub */)) { + case 0: + { // configure + *(*int32)(unsafe.Pointer(bp + 4 /* nRebase */)) = 0 + var pRebase uintptr = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+4 /* &nRebase */) + rc = sqlite3.Xsqlite3rebaser_configure(tls, p, *(*int32)(unsafe.Pointer(bp + 4 /* nRebase */)), pRebase) + break + + } + + case 1: // delete + tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))) + break + + default: + { // rebase + // var sStr TestStreamInput at bp+8, 16 + // Input stream + // var sOut TestSessionsBlob at bp+24, 8 + // Output blob + + libc.Xmemset(tls, bp+8 /* &sStr */, 0, uint32(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+24 /* &sOut */, 0, uint32(unsafe.Sizeof(TestSessionsBlob{}))) + (*TestStreamInput)(unsafe.Pointer(bp + 8 /* &sStr */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), (bp + 8 /* &sStr */ + 8 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp + 8 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + + if (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FnStream != 0 { + rc = sqlite3.Xsqlite3rebaser_rebase_strm(tls, p, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+8, /* &sStr */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+24 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3rebaser_rebase(tls, p, (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FaData, (bp + 24 /* &sOut */ + 4 /* &.n */), (bp + 24 /* &sOut */ /* &.p */)) + } + + if rc == SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fp) + break + + } + } + + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + return TCL_OK +} + +type RebaseSubcmd = struct { + FzSub uintptr + FnArg int32 + FzMsg uintptr + FiSub int32 +} /* test_session.c:1177:10 */ + +var aSub1 = [4]RebaseSubcmd{ + {FzSub: ts + 11052 /* "configure" */, FnArg: 1, FzMsg: ts + 11062 /* "REBASE-BLOB" */}, // 0 + {FzSub: ts + 10601 /* "delete" */, FzMsg: ts + 489 /* "" */}, // 1 + {FzSub: ts + 11074 /* "rebase" */, FnArg: 1, FzMsg: ts + 10982 /* "CHANGESET" */}, // 2 + {}, +} /* test_session.c:1182:5 */ + +func test_rebaser_del(tls *libc.TLS, clientData uintptr) { /* test_session.c:1252:27: */ + var p uintptr = clientData + sqlite3.Xsqlite3rebaser_delete(tls, p) +} + +// tclcmd: sqlite3rebaser_create NAME +func test_sqlite3rebaser_create(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1260:26: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 + *(*uintptr)(unsafe.Pointer(bp /* pNew */)) = uintptr(0) + if objc != 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10397 /* "NAME" */) + return SQLITE_ERROR + } + + rc = sqlite3.Xsqlite3rebaser_create(tls, bp /* &pNew */) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + tcl.XTcl_CreateObjCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_rebaser_cmd})), + *(*uintptr)(unsafe.Pointer(bp /* pNew */)), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_rebaser_del}))) + tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4))) + return TCL_OK +} + +// tclcmd: sqlite3rebaser_configure OP VALUE +func test_sqlite3session_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1288:26: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 + // var iSub int32 at bp, 4 + + // var iVal int32 at bp+4, 4 + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11081 /* "OP VALUE" */) + return SQLITE_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&aSub2)), int32(unsafe.Sizeof(ConfigOpt{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+4 /* &iVal */) != 0 { + return TCL_ERROR + } + + rc = sqlite3.Xsqlite3session_config(tls, aSub2[*(*int32)(unsafe.Pointer(bp /* iSub */))].Fop, bp+4 /* &iVal */) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4 /* iVal */)))) + return TCL_OK +} + +type ConfigOpt = struct { + FzSub uintptr + Fop int32 +} /* test_session.c:1294:10 */ + +var aSub2 = [3]ConfigOpt{ + {FzSub: ts + 11090 /* "strm_size" */, Fop: SQLITE_SESSION_CONFIG_STRMSIZE}, + {FzSub: ts + 2619 /* "invalid" */}, + {}, +} /* test_session.c:1297:5 */ + +func TestSession_Init(tls *libc.TLS, interp uintptr) int32 { /* test_session.c:1324:5: */ + bp := tls.Alloc(80) + defer tls.Free(80) + + *(*[10]struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(bp /* aCmd */)) = [10]struct { + FzCmd uintptr + FxProc uintptr + }{ + {FzCmd: ts + 11100 /* "sqlite3session" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session}))}, + {FzCmd: ts + 11115 /* "sqlite3session_f..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session_foreach}))}, + {FzCmd: ts + 11138 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_invert}))}, + {FzCmd: ts + 11162 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_concat}))}, + {FzCmd: ts + 11186 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply}))}, + {FzCmd: ts + 11209 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply_v2}))}, + {FzCmd: ts + 11235, /* "sqlite3changeset..." */ + FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply_replace_all}))}, + {FzCmd: ts + 11270 /* "sql_exec_changes..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sql_exec_changeset}))}, + {FzCmd: ts + 11289 /* "sqlite3rebaser_c..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3rebaser_create}))}, + {FzCmd: ts + 11311 /* "sqlite3session_c..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session_config}))}, + } + var i int32 + + for i = 0; uint32(i) < (uint32(unsafe.Sizeof([10]struct { + FzCmd uintptr + FxProc uintptr + }{})) / uint32(unsafe.Sizeof(struct { + FzCmd uintptr + FxProc uintptr + }{}))); i++ { + var p uintptr = (bp /* &aCmd */ + uintptr(i)*8) + tcl.XTcl_CreateObjCommand(tls, interp, (*struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(p)).FzCmd, (*struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(p)).FxProc, uintptr(0), uintptr(0)) + } + + return TCL_OK +} + // 2014-09-08 // // The author disclaims copyright to this source code. In place of @@ -36932,7 +38486,7 @@ func incrblobHandle(tls *libc.TLS, instanceData ClientData, dir int32, hPtr uint } var IncrblobChannelType = Tcl_ChannelType{ - FtypeName: ts + 10524, /* "incrblob" */ // typeName + FtypeName: ts + 11333, /* "incrblob" */ // typeName Fversion: uintptr(0x2), // version FcloseProc: 0, // closeProc FinputProc: 0, // inputProc @@ -36970,7 +38524,7 @@ func createIncrblobChannel(tls *libc.TLS, interp uintptr, pDb uintptr, zDb uintp (*IncrblobChannel)(unsafe.Pointer(p)).FiSeek = 0 (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob = *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zChannel[0] */, ts+10533 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zChannel[0] */, ts+11342 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel = tcl.XTcl_CreateChannel(tls, uintptr(unsafe.Pointer(&IncrblobChannelType)), bp+12 /* &zChannel[0] */, p, flags) tcl.XTcl_RegisterChannel(tls, interp, (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel) @@ -37307,7 +38861,7 @@ func DbProfileHandler(tls *libc.TLS, cd uintptr, zSql uintptr, tm1 sqlite_uint64 // var zTm [100]int8 at bp+8, 100 - sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([100]int8{})) - uint32(1))), bp+8 /* &zTm[0] */, ts+10545 /* "%lld" */, libc.VaList(bp, tm1)) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([100]int8{})) - uint32(1))), bp+8 /* &zTm[0] */, ts+11354 /* "%lld" */, libc.VaList(bp, tm1)) tcl.XTcl_DStringInit(tls, bp+108 /* &str */) tcl.XTcl_DStringAppend(tls, bp+108 /* &str */, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, -1) tcl.XTcl_DStringAppendElement(tls, bp+108 /* &str */, zSql) @@ -37375,9 +38929,9 @@ func setTestUnlockNotifyVars(tls *libc.TLS, interp uintptr, iArg int32, nArg int // var zBuf [64]int8 at bp+16, 64 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp, iArg)) - tcl.XTcl_SetVar2(tls, interp, ts+10550 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+11359 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+8, nArg)) - tcl.XTcl_SetVar2(tls, interp, ts+10575 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+11384 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) } func DbUnlockNotify(tls *libc.TLS, apArg uintptr, nArg int32) { /* tclsqlite.c:799:13: */ @@ -37419,7 +38973,7 @@ func DbPreUpdateHandler(tls *libc.TLS, p uintptr, db uintptr, op int32, zDb uint } } -var azStr = [3]uintptr{ts + 10605 /* "DELETE" */, ts + 10612 /* "INSERT" */, ts + 10619 /* "UPDATE" */} /* tclsqlite.c:828:21 */ +var azStr = [3]uintptr{ts + 10786 /* "DELETE" */, ts + 10772 /* "INSERT" */, ts + 10779 /* "UPDATE" */} /* tclsqlite.c:828:21 */ func DbUpdateHandler(tls *libc.TLS, p uintptr, op int32, zDb uintptr, zTbl uintptr, rowid sqlite_int64) { /* tclsqlite.c:849:13: */ var pDb uintptr = p @@ -37440,7 +38994,7 @@ func DbUpdateHandler(tls *libc.TLS, p uintptr, op int32, zDb uintptr, zTbl uintp } } -var azStr1 = [3]uintptr{ts + 10605 /* "DELETE" */, ts + 10612 /* "INSERT" */, ts + 10619 /* "UPDATE" */} /* tclsqlite.c:858:21 */ +var azStr1 = [3]uintptr{ts + 10786 /* "DELETE" */, ts + 10772 /* "INSERT" */, ts + 10779 /* "UPDATE" */} /* tclsqlite.c:858:21 */ func tclCollateNeeded(tls *libc.TLS, pCtx uintptr, db uintptr, enc int32, zName uintptr) { /* tclsqlite.c:877:13: */ var pDb uintptr = pCtx @@ -37699,109 +39253,109 @@ func auth_callback(tls *libc.TLS, pArg uintptr, code int32, zArg1 uintptr, zArg2 // authorized. switch code { case SQLITE_COPY: - zCode = ts + 10626 /* "SQLITE_COPY" */ + zCode = ts + 11414 /* "SQLITE_COPY" */ break case SQLITE_CREATE_INDEX: - zCode = ts + 10638 /* "SQLITE_CREATE_IN..." */ + zCode = ts + 11426 /* "SQLITE_CREATE_IN..." */ break case SQLITE_CREATE_TABLE: - zCode = ts + 10658 /* "SQLITE_CREATE_TA..." */ + zCode = ts + 11446 /* "SQLITE_CREATE_TA..." */ break case SQLITE_CREATE_TEMP_INDEX: - zCode = ts + 10678 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11466 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_TABLE: - zCode = ts + 10703 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11491 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_TRIGGER: - zCode = ts + 10728 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11516 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_VIEW: - zCode = ts + 10755 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11543 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TRIGGER: - zCode = ts + 10779 /* "SQLITE_CREATE_TR..." */ + zCode = ts + 11567 /* "SQLITE_CREATE_TR..." */ break case SQLITE_CREATE_VIEW: - zCode = ts + 10801 /* "SQLITE_CREATE_VI..." */ + zCode = ts + 11589 /* "SQLITE_CREATE_VI..." */ break case SQLITE_DELETE: - zCode = ts + 10820 /* "SQLITE_DELETE" */ + zCode = ts + 11608 /* "SQLITE_DELETE" */ break case SQLITE_DROP_INDEX: - zCode = ts + 10834 /* "SQLITE_DROP_INDE..." */ + zCode = ts + 11622 /* "SQLITE_DROP_INDE..." */ break case SQLITE_DROP_TABLE: - zCode = ts + 10852 /* "SQLITE_DROP_TABL..." */ + zCode = ts + 11640 /* "SQLITE_DROP_TABL..." */ break case SQLITE_DROP_TEMP_INDEX: - zCode = ts + 10870 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11658 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_TABLE: - zCode = ts + 10893 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11681 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_TRIGGER: - zCode = ts + 10916 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11704 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_VIEW: - zCode = ts + 10941 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11729 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TRIGGER: - zCode = ts + 10963 /* "SQLITE_DROP_TRIG..." */ + zCode = ts + 11751 /* "SQLITE_DROP_TRIG..." */ break case SQLITE_DROP_VIEW: - zCode = ts + 10983 /* "SQLITE_DROP_VIEW" */ + zCode = ts + 11771 /* "SQLITE_DROP_VIEW" */ break case SQLITE_INSERT: - zCode = ts + 11000 /* "SQLITE_INSERT" */ + zCode = ts + 11788 /* "SQLITE_INSERT" */ break case SQLITE_PRAGMA: - zCode = ts + 11014 /* "SQLITE_PRAGMA" */ + zCode = ts + 11802 /* "SQLITE_PRAGMA" */ break case SQLITE_READ: - zCode = ts + 11028 /* "SQLITE_READ" */ + zCode = ts + 11816 /* "SQLITE_READ" */ break case SQLITE_SELECT: - zCode = ts + 11040 /* "SQLITE_SELECT" */ + zCode = ts + 11828 /* "SQLITE_SELECT" */ break case SQLITE_TRANSACTION: - zCode = ts + 11054 /* "SQLITE_TRANSACTI..." */ + zCode = ts + 11842 /* "SQLITE_TRANSACTI..." */ break case SQLITE_UPDATE: - zCode = ts + 11073 /* "SQLITE_UPDATE" */ + zCode = ts + 11861 /* "SQLITE_UPDATE" */ break case SQLITE_ATTACH: - zCode = ts + 11087 /* "SQLITE_ATTACH" */ + zCode = ts + 11875 /* "SQLITE_ATTACH" */ break case SQLITE_DETACH: - zCode = ts + 11101 /* "SQLITE_DETACH" */ + zCode = ts + 11889 /* "SQLITE_DETACH" */ break case SQLITE_ALTER_TABLE: - zCode = ts + 11115 /* "SQLITE_ALTER_TAB..." */ + zCode = ts + 11903 /* "SQLITE_ALTER_TAB..." */ break case SQLITE_REINDEX: - zCode = ts + 11134 /* "SQLITE_REINDEX" */ + zCode = ts + 11922 /* "SQLITE_REINDEX" */ break case SQLITE_ANALYZE: - zCode = ts + 11149 /* "SQLITE_ANALYZE" */ + zCode = ts + 11937 /* "SQLITE_ANALYZE" */ break case SQLITE_CREATE_VTABLE: - zCode = ts + 11164 /* "SQLITE_CREATE_VT..." */ + zCode = ts + 11952 /* "SQLITE_CREATE_VT..." */ break case SQLITE_DROP_VTABLE: - zCode = ts + 11185 /* "SQLITE_DROP_VTAB..." */ + zCode = ts + 11973 /* "SQLITE_DROP_VTAB..." */ break case SQLITE_FUNCTION: - zCode = ts + 11204 /* "SQLITE_FUNCTION" */ + zCode = ts + 11992 /* "SQLITE_FUNCTION" */ break case SQLITE_SAVEPOINT: - zCode = ts + 11220 /* "SQLITE_SAVEPOINT" */ + zCode = ts + 12008 /* "SQLITE_SAVEPOINT" */ break case SQLITE_RECURSIVE: - zCode = ts + 11237 /* "SQLITE_RECURSIVE" */ + zCode = ts + 12025 /* "SQLITE_RECURSIVE" */ break default: - zCode = ts + 11254 /* "????" */ + zCode = ts + 12042 /* "????" */ break } tcl.XTcl_DStringInit(tls, bp /* &str */) @@ -37836,13 +39390,13 @@ func auth_callback(tls *libc.TLS, pArg uintptr, code int32, zArg1 uintptr, zArg2 if rc == TCL_OK { zReply = tcl.XTcl_GetStringResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp) } else { - zReply = ts + 11259 /* "SQLITE_DENY" */ + zReply = ts + 12047 /* "SQLITE_DENY" */ } if libc.Xstrcmp(tls, zReply, ts+1988 /* "SQLITE_OK" */) == 0 { rc = SQLITE_OK - } else if libc.Xstrcmp(tls, zReply, ts+11259 /* "SQLITE_DENY" */) == 0 { + } else if libc.Xstrcmp(tls, zReply, ts+12047 /* "SQLITE_DENY" */) == 0 { rc = SQLITE_DENY - } else if libc.Xstrcmp(tls, zReply, ts+11271 /* "SQLITE_IGNORE" */) == 0 { + } else if libc.Xstrcmp(tls, zReply, ts+12059 /* "SQLITE_IGNORE" */) == 0 { rc = SQLITE_IGNORE } else { rc = 999 @@ -37939,9 +39493,9 @@ func DbTransPostCmd(tls *libc.TLS, data uintptr, interp uintptr, result int32) i } var azEnd = [4]uintptr{ - ts + 11285, /* "RELEASE _tcl_tra..." */ // rc==TCL_ERROR, nTransaction!=0 - ts + 11310, /* "COMMIT" */ // rc!=TCL_ERROR, nTransaction==0 - ts + 11317, /* "ROLLBACK TO _tcl..." */ + ts + 12073, /* "RELEASE _tcl_tra..." */ // rc==TCL_ERROR, nTransaction!=0 + ts + 12098, /* "COMMIT" */ // rc!=TCL_ERROR, nTransaction==0 + ts + 12105, /* "ROLLBACK TO _tcl..." */ ts + 7270, /* "ROLLBACK" */ // rc==TCL_ERROR, nTransaction==0 } /* tclsqlite.c:1216:21 */ @@ -38830,7 +40384,7 @@ func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintpt return TCL_ERROR __1: ; - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&DB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+11373 /* "option" */, 0, bp+1016 /* &choice */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&DB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+12161 /* "option" */, 0, bp+1016 /* &choice */) != 0) { goto __2 } return TCL_ERROR @@ -39188,7 +40742,7 @@ __4: if !(objc > 3) { goto __45 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __46 __45: @@ -39259,7 +40813,7 @@ __55: zDestFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))) goto __58 __57: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11391 /* "?DATABASE? FILEN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12179 /* "?DATABASE? FILEN..." */) return TCL_ERROR __58: ; @@ -39270,7 +40824,7 @@ __56: if !(rc != SQLITE_OK) { goto __59 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+11411, /* "cannot open targ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+12199, /* "cannot open targ..." */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))) return TCL_ERROR @@ -39280,7 +40834,7 @@ __59: if !(pBackup == uintptr(0)) { goto __60 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+11441, /* "backup failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+12229, /* "backup failed: " */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))) return TCL_ERROR @@ -39300,7 +40854,7 @@ __62: rc = TCL_OK goto __64 __63: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+11441, /* "backup failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+12229, /* "backup failed: " */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) rc = TCL_ERROR __64: @@ -39329,7 +40883,7 @@ __6: if !(objc > 3) { goto __65 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __66 __65: @@ -39375,7 +40929,7 @@ __7: if !(objc > 3) { goto __73 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11457 /* "CALLBACK" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12245 /* "CALLBACK" */) return TCL_ERROR goto __74 __73: @@ -39435,18 +40989,18 @@ __8: if !(objc <= 2) { goto __83 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11466 /* "cache option ?ar..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+12254 /* "cache option ?ar..." */) return TCL_ERROR __83: ; subCmd = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(0)) - if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 'f') && (libc.Xstrcmp(tls, subCmd, ts+11485 /* "flush" */) == 0)) { + if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 'f') && (libc.Xstrcmp(tls, subCmd, ts+12273 /* "flush" */) == 0)) { goto __84 } if !(objc != 3) { goto __86 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11485 /* "flush" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12273 /* "flush" */) return TCL_ERROR goto __87 __86: @@ -39455,21 +41009,21 @@ __87: ; goto __85 __84: - if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 's') && (libc.Xstrcmp(tls, subCmd, ts+11491 /* "size" */) == 0)) { + if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 's') && (libc.Xstrcmp(tls, subCmd, ts+12279 /* "size" */) == 0)) { goto __88 } if !(objc != 4) { goto __90 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11496 /* "size n" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12284 /* "size n" */) return TCL_ERROR goto __91 __90: if !(TCL_ERROR == tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+1036 /* &n */)) { goto __92 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+120, ts+11503, /* "cannot convert \"" */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4)), uintptr(0)), ts+11520 /* "\" to integer" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+120, ts+12291, /* "cannot convert \"" */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4)), uintptr(0)), ts+12308 /* "\" to integer" */, uintptr(0))) return TCL_ERROR goto __93 __92: @@ -39495,8 +41049,8 @@ __91: ; goto __89 __88: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, ts+11533, /* "bad option \"" */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(0)), ts+11546, /* "\": must be flush..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, ts+12321, /* "bad option \"" */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(0)), ts+12334, /* "\": must be flush..." */ uintptr(0))) return TCL_ERROR __89: @@ -39537,7 +41091,7 @@ __11: if !(objc != 4) { goto __98 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11571 /* "NAME SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12359 /* "NAME SCRIPT" */) return TCL_ERROR __98: ; @@ -39575,7 +41129,7 @@ __12: if !(objc != 3) { goto __101 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11583 /* "SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+10650 /* "SCRIPT" */) return TCL_ERROR __101: ; @@ -39617,7 +41171,7 @@ __13: if !(objc > 3) { goto __107 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __108 __107: @@ -39693,7 +41247,7 @@ __15: if !(objc > 4) { goto __118 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11590 /* "?OPTION? ?BOOLEA..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12371 /* "?OPTION? ?BOOLEA..." */) return TCL_ERROR __118: ; @@ -39753,8 +41307,8 @@ __127: if !(uint32(ii) >= (uint32(unsafe.Sizeof(aDbConfig)) / uint32(unsafe.Sizeof(DbConfigChoices{})))) { goto __129 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+216, ts+11609 /* "unknown config o..." */, zOpt, - ts+11634 /* "\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+216, ts+12390 /* "unknown config o..." */, zOpt, + ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __129: ; @@ -39798,7 +41352,7 @@ __16: // The input file goto __132 } tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, - ts+11636 /* "CONFLICT-ALGORIT..." */) + ts+12417 /* "CONFLICT-ALGORIT..." */) return TCL_ERROR __132: ; @@ -39808,7 +41362,7 @@ __132: zSep = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 5*4)), uintptr(0)) goto __134 __133: - zSep = ts + 11698 /* "\t" */ + zSep = ts + 12479 /* "\t" */ __134: ; if !(objc >= 7) { @@ -39828,25 +41382,25 @@ __136: if !(nSep == 0) { goto __137 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+264, ts+11700, /* "Error: non-null ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+264, ts+12481, /* "Error: non-null ..." */ uintptr(0))) return TCL_ERROR __137: ; - if !(((((libc.Xstrcmp(tls, zConflict, ts+11744 /* "rollback" */) != 0) && (libc.Xstrcmp(tls, zConflict, ts+11753 /* "abort" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11759 /* "fail" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11764 /* "ignore" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11771 /* "replace" */) != 0)) { + if !(((((libc.Xstrcmp(tls, zConflict, ts+12525 /* "rollback" */) != 0) && (libc.Xstrcmp(tls, zConflict, ts+12534 /* "abort" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12540 /* "fail" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12545 /* "ignore" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12552 /* "replace" */) != 0)) { goto __138 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+280, ts+11779 /* "Error: \"" */, zConflict, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+280, ts+12560 /* "Error: \"" */, zConflict, - ts+11788 /* "\", conflict-algo..." */, uintptr(0))) + ts+12569 /* "\", conflict-algo..." */, uintptr(0))) return TCL_ERROR __138: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+11868 /* "SELECT * FROM '%..." */, libc.VaList(bp+312, zTable)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+12649 /* "SELECT * FROM '%..." */, libc.VaList(bp+312, zTable)) if !(zSql == uintptr(0)) { goto __139 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+320, ts+11887 /* "Error: no such t..." */, zTable, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+320, ts+12668 /* "Error: no such t..." */, zTable, uintptr(0))) return TCL_ERROR __139: ; @@ -39856,7 +41410,7 @@ __139: if !(rc != 0) { goto __140 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+344, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+344, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) nCol = 0 goto __141 __140: @@ -39874,11 +41428,11 @@ __142: if !(zSql == uintptr(0)) { goto __143 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+368, ts+11918 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+368, ts+12699 /* "Error: can't mal..." */, uintptr(0))) return TCL_ERROR __143: ; - sqlite3.Xsqlite3_snprintf(tls, (nByte + 50), zSql, ts+11940, /* "INSERT OR %q INT..." */ + sqlite3.Xsqlite3_snprintf(tls, (nByte + 50), zSql, ts+12721, /* "INSERT OR %q INT..." */ libc.VaList(bp+384, zConflict, zTable)) j = strlen30(tls, zSql) i = 1 @@ -39902,7 +41456,7 @@ __146: if !(rc != 0) { goto __147 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+400, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+400, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1060 /* pStmt */))) return TCL_ERROR __147: @@ -39911,7 +41465,7 @@ __147: if !(in == uintptr(0)) { goto __148 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+424, ts+11972 /* "Error: cannot op..." */, zFile, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+424, ts+12753 /* "Error: cannot op..." */, zFile, uintptr(0))) sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1060 /* pStmt */))) return TCL_ERROR __148: @@ -39920,13 +41474,13 @@ __148: if !(azCol == uintptr(0)) { goto __149 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+448, ts+11918 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+448, ts+12699 /* "Error: can't mal..." */, uintptr(0))) libc.Xfclose(tls, in) return TCL_ERROR __149: ; - sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+11998 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) - zCommit1 = ts + 11310 /* "COMMIT" */ + sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+12779 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + zCommit1 = ts + 12098 /* "COMMIT" */ __150: if !((libc.AssignUintptr(&zLine, local_getline(tls, uintptr(0), in))) != uintptr(0)) { goto __151 @@ -39969,7 +41523,7 @@ __154: goto __158 } sqlite3.Xsqlite3_snprintf(tls, nErr, zErr, - ts+12004, /* "Error: %s line %..." */ + ts+12785, /* "Error: %s line %..." */ libc.VaList(bp+464, zFile, lineno, nCol, (i+1))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+496, zErr, uintptr(0))) libc.Xfree(tls, zErr) @@ -40008,7 +41562,7 @@ __161: if !(rc != SQLITE_OK) { goto __164 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+512, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+512, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) zCommit1 = ts + 7270 /* "ROLLBACK" */ goto __151 __164: @@ -40032,7 +41586,7 @@ __151: __165: // failure, append lineno where failed sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+1064 /* &zLineNum[0] */, ts+1238 /* "%d" */, libc.VaList(bp+536, lineno)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+544, ts+12064 /* ", failed while p..." */, bp+1064, /* &zLineNum[0] */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+544, ts+12845 /* ", failed while p..." */, bp+1064, /* &zLineNum[0] */ uintptr(0))) rc = TCL_ERROR __166: @@ -40051,7 +41605,7 @@ __17: if !(objc < 3) { goto __167 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12097 /* "?DATABASE? VALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12878 /* "?DATABASE? VALUE" */) rc = TCL_ERROR goto __3 __167: @@ -40062,7 +41616,7 @@ __168: goto __170 } z1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i1)*4))) - if !((libc.Xstrcmp(tls, z1, ts+12114 /* "-maxsize" */) == 0) && (i1 < (objc - 2))) { + if !((libc.Xstrcmp(tls, z1, ts+12895 /* "-maxsize" */) == 0) && (i1 < (objc - 2))) { goto __171 } rc = tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*4)), bp+1144 /* &mxSize */) @@ -40075,7 +41629,7 @@ __172: goto __169 __171: ; - if !((libc.Xstrcmp(tls, z1, ts+12123 /* "-readonly" */) == 0) && (i1 < (objc - 2))) { + if !((libc.Xstrcmp(tls, z1, ts+12904 /* "-readonly" */) == 0) && (i1 < (objc - 2))) { goto __173 } rc = tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*4)), bp+1152 /* &isReadonly */) @@ -40095,7 +41649,7 @@ __173: goto __169 __175: ; - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+568, ts+12133 /* "unknown option: " */, z1, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+568, ts+12914 /* "unknown option: " */, z1, uintptr(0))) rc = TCL_ERROR goto deserialize_error goto __169 @@ -40134,7 +41688,7 @@ __180: if !(xrc != 0) { goto __181 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+608, ts+12150 /* "unable to set ME..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+608, ts+12931 /* "unable to set ME..." */, uintptr(0))) rc = TCL_ERROR __181: ; @@ -40154,7 +41708,7 @@ deserialize_error: // Turn the extension loading feature on or off. It if off by // default. __18: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+624, ts+12178, /* "extension loadin..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+624, ts+12959, /* "extension loadin..." */ uintptr(0))) return TCL_ERROR @@ -40240,13 +41794,13 @@ __192: if !(((objc > 3) && ((libc.AssignUintptr(&zOpt1, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))))) != uintptr(0))) && (int32(*(*int8)(unsafe.Pointer(zOpt1))) == '-')) { goto __193 } - if !(libc.Xstrcmp(tls, zOpt1, ts+12226 /* "-withoutnulls" */) == 0) { + if !(libc.Xstrcmp(tls, zOpt1, ts+13007 /* "-withoutnulls" */) == 0) { goto __194 } evalFlags = evalFlags | (SQLITE_EVAL_WITHOUTNULLS) goto __195 __194: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+640, ts+12240 /* "unknown option: ..." */, zOpt1, ts+11634 /* "\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+640, ts+13021 /* "unknown option: ..." */, zOpt1, ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __195: ; @@ -40259,7 +41813,7 @@ __193: goto __196 } tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, - ts+12258 /* "?OPTIONS? SQL ?A..." */) + ts+13039 /* "?OPTIONS? SQL ?A..." */) return TCL_ERROR __196: ; @@ -40356,7 +41910,7 @@ __23: if !(objc < 4) { goto __210 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12294 /* "NAME ?SWITCHES? ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13075 /* "NAME ?SWITCHES? ..." */) return TCL_ERROR __210: ; @@ -40367,13 +41921,13 @@ __211: } z2 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*4))) n1 = strlen30(tls, z2) - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12317 /* "-argcount" */, uint32(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13098 /* "-argcount" */, uint32(n1)) == 0)) { goto __214 } if !(i3 == (objc - 2)) { goto __216 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+672, ts+12327 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+672, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __216: ; @@ -40386,7 +41940,7 @@ __217: if !(*(*int32)(unsafe.Pointer(bp + 1236 /* nArg */)) < 0) { goto __218 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+696, ts+12357, /* "number of argume..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+696, ts+13138, /* "number of argume..." */ uintptr(0))) return TCL_ERROR __218: @@ -40394,38 +41948,38 @@ __218: i3++ goto __215 __214: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12398 /* "-deterministic" */, uint32(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13179 /* "-deterministic" */, uint32(n1)) == 0)) { goto __219 } flags1 = flags1 | (SQLITE_DETERMINISTIC) goto __220 __219: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12413 /* "-directonly" */, uint32(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13194 /* "-directonly" */, uint32(n1)) == 0)) { goto __221 } flags1 = flags1 | (SQLITE_DIRECTONLY) goto __222 __221: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12425 /* "-innocuous" */, uint32(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13206 /* "-innocuous" */, uint32(n1)) == 0)) { goto __223 } flags1 = flags1 | (SQLITE_INNOCUOUS) goto __224 __223: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12436 /* "-returntype" */, uint32(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13217 /* "-returntype" */, uint32(n1)) == 0)) { goto __225 } - *(*[6]uintptr)(unsafe.Pointer(bp + 1240 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 12448 /* "real" */, ts + 12453 /* "text" */, ts + 12458 /* "blob" */, ts + 12463 /* "any" */, uintptr(0)} + *(*[6]uintptr)(unsafe.Pointer(bp + 1240 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 13229 /* "real" */, ts + 13234 /* "text" */, ts + 13239 /* "blob" */, ts + 13244 /* "any" */, uintptr(0)} if !(i3 == (objc - 2)) { goto __227 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+712, ts+12327 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+712, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __227: ; i3++ - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*4)), bp+1240 /* &azType[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+12467 /* "type" */, 0, bp+1264 /* &eType */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*4)), bp+1240 /* &azType[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+13248 /* "type" */, 0, bp+1264 /* &eType */) != 0) { goto __228 } return TCL_ERROR @@ -40434,9 +41988,9 @@ __228: *(*int32)(unsafe.Pointer(bp + 1264 /* eType */))++ goto __226 __225: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+736, ts+11533 /* "bad option \"" */, z2, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+736, ts+12321 /* "bad option \"" */, z2, - ts+12472 /* "\": must be -argc..." */, uintptr(0))) + ts+13253 /* "\": must be -argc..." */, uintptr(0))) return TCL_ERROR __226: ; @@ -40509,7 +42063,7 @@ __24: zDb = ts + 85 /* "main" */ // Check for the -readonly option - if !((objc > 3) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), ts+12123 /* "-readonly" */) == 0)) { + if !((objc > 3) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), ts+12904 /* "-readonly" */) == 0)) { goto __236 } isReadonly1 = 1 @@ -40519,7 +42073,7 @@ __236: if !((objc != (5 + isReadonly1)) && (objc != (6 + isReadonly1))) { goto __237 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12550 /* "?-readonly? ?DB?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13331 /* "?-readonly? ?DB?..." */) return TCL_ERROR __237: ; @@ -40561,7 +42115,7 @@ __26: if !((objc != 2) && (objc != 3)) { goto __240 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12586 /* "NULLVALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13367 /* "NULLVALUE" */) return TCL_ERROR __240: ; @@ -40666,7 +42220,7 @@ __256: ; goto __250 __249: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12596 /* "N CALLBACK" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13377 /* "N CALLBACK" */) return TCL_ERROR __250: ; @@ -40683,7 +42237,7 @@ __29: if !(objc > 3) { goto __257 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __258 __257: @@ -40740,7 +42294,7 @@ __30: if !(objc != 3) { goto __267 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12607 /* "KEY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13388 /* "KEY" */) return TCL_ERROR __267: ; @@ -40767,7 +42321,7 @@ __268: zSrcFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))) goto __271 __270: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11391 /* "?DATABASE? FILEN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12179 /* "?DATABASE? FILEN..." */) return TCL_ERROR __271: ; @@ -40778,7 +42332,7 @@ __269: if !(rc != SQLITE_OK) { goto __272 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+800, ts+12611, /* "cannot open sour..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+800, ts+13392, /* "cannot open sour..." */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1292 /* pSrc */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1292 /* pSrc */))) return TCL_ERROR @@ -40788,7 +42342,7 @@ __272: if !(pBackup1 == uintptr(0)) { goto __273 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+824, ts+12641, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+824, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1292 /* pSrc */))) return TCL_ERROR @@ -40824,12 +42378,12 @@ __278: if !((rc == SQLITE_BUSY) || (rc == SQLITE_LOCKED)) { goto __280 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+848, ts+12658, /* "restore failed: ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+848, ts+13439, /* "restore failed: ..." */ uintptr(0))) rc = TCL_ERROR goto __281 __280: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+12641, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) rc = TCL_ERROR __281: @@ -40852,7 +42406,7 @@ __32: if !((objc != 2) && (objc != 3)) { goto __282 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12695 /* "?DATABASE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13476 /* "?DATABASE?" */) rc = TCL_ERROR goto __283 __282: @@ -40886,7 +42440,7 @@ __33: if !(objc != 3) { goto __287 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12706 /* "(step|sort|autoi..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13487 /* "(step|sort|autoi..." */) return TCL_ERROR __287: ; @@ -40897,26 +42451,26 @@ __287: v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnStep goto __289 __288: - if !(libc.Xstrcmp(tls, zOp, ts+12728 /* "sort" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13509 /* "sort" */) == 0) { goto __290 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnSort goto __291 __290: - if !(libc.Xstrcmp(tls, zOp, ts+12733 /* "autoindex" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13514 /* "autoindex" */) == 0) { goto __292 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnIndex goto __293 __292: - if !(libc.Xstrcmp(tls, zOp, ts+12743 /* "vmstep" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13524 /* "vmstep" */) == 0) { goto __294 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnVMStep goto __295 __294: tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+888, ts+12750, /* "bad argument: sh..." */ + libc.VaList(bp+888, ts+13531, /* "bad argument: sh..." */ uintptr(0))) return TCL_ERROR __295: @@ -40937,7 +42491,7 @@ __34: if !(objc != 3) { goto __296 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12806 /* "MILLISECONDS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13587 /* "MILLISECONDS" */) return TCL_ERROR __296: ; @@ -40975,7 +42529,7 @@ __36: if !(objc > 3) { goto __299 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __300 __299: @@ -41034,7 +42588,7 @@ __37: if !(objc > 4) { goto __309 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12819 /* "?CALLBACK? ?MASK..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13600 /* "?CALLBACK? ?MASK..." */) return TCL_ERROR goto __310 __309: @@ -41070,7 +42624,7 @@ __317: return TCL_ERROR __320: ; - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1316 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+12837 /* "trace type" */, 0, bp+1320 /* &ttype */) != TCL_OK) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1316 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+13618 /* "trace type" */, 0, bp+1320 /* &ttype */) != TCL_OK) { goto __321 } pError = tcl.XTcl_DuplicateObj(tls, tcl.XTcl_GetObjResult(tls, interp)) @@ -41204,11 +42758,11 @@ __310: // This command was inspired by Dave Thomas's talk on Ruby at the // 2005 O'Reilly Open Source Convention (OSCON). __38: - zBegin = ts + 12848 /* "SAVEPOINT _tcl_t..." */ + zBegin = ts + 13629 /* "SAVEPOINT _tcl_t..." */ if !((objc != 3) && (objc != 4)) { goto __343 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12875 /* "[TYPE] SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13656 /* "[TYPE] SCRIPT" */) return TCL_ERROR __343: ; @@ -41216,7 +42770,7 @@ __343: if !(((*SqliteDb)(unsafe.Pointer(pDb)).FnTransaction == 0) && (objc == 4)) { goto __344 } - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(unsafe.Pointer(&TTYPE_strs1)), int32(unsafe.Sizeof(uintptr(0))), ts+12889 /* "transaction type" */, 0, bp+1332 /* &ttype1 */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(unsafe.Pointer(&TTYPE_strs1)), int32(unsafe.Sizeof(uintptr(0))), ts+13670 /* "transaction type" */, 0, bp+1332 /* &ttype1 */) != 0) { goto __345 } return TCL_ERROR @@ -41235,10 +42789,10 @@ __347: /* no-op */ ; goto __346 __348: - zBegin = ts + 12906 /* "BEGIN EXCLUSIVE" */ + zBegin = ts + 13687 /* "BEGIN EXCLUSIVE" */ goto __346 __349: - zBegin = ts + 12922 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 13703 /* "BEGIN IMMEDIATE" */ goto __346 __346: ; @@ -41283,7 +42837,7 @@ __39: if !((objc != 2) && (objc != 3)) { goto __353 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) rc = TCL_ERROR goto __354 __353: @@ -41345,7 +42899,7 @@ __40: if !(objc < 3) { goto __362 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12947 /* "SUB-COMMAND ?ARG..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13728 /* "SUB-COMMAND ?ARG..." */) __362: ; if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(unsafe.Pointer(&azSub)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+1340 /* &iSub */) != 0) { @@ -41380,7 +42934,7 @@ __366: if !(objc > 4) { goto __370 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12966 /* "hook ?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13747 /* "hook ?SCRIPT?" */) return TCL_ERROR __370: ; @@ -41409,7 +42963,7 @@ __369: if !(objc != 4) { goto __372 } - tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+12980 /* "INDEX" */) + tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+13761 /* "INDEX" */) return TCL_ERROR __372: ; @@ -41477,7 +43031,7 @@ __380: if !(objc > 3) { goto __381 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) return TCL_ERROR __381: ; @@ -41504,7 +43058,7 @@ __382: // $db version -use-legacy-prepare BOOLEAN // // Turn the use of legacy sqlite3_prepare() on or off. - if !((libc.Xstrcmp(tls, zArg, ts+12986 /* "-use-legacy-prep..." */) == 0) && ((i5 + 1) < objc)) { + if !((libc.Xstrcmp(tls, zArg, ts+13767 /* "-use-legacy-prep..." */) == 0) && ((i5 + 1) < objc)) { goto __385 } i5++ @@ -41521,10 +43075,10 @@ __385: // // Return a string which is a hex encoding of the pointer to the // most recent sqlite3_stmt in the statement cache. - if !(libc.Xstrcmp(tls, zArg, ts+13006 /* "-last-stmt-ptr" */) == 0) { + if !(libc.Xstrcmp(tls, zArg, ts+13787 /* "-last-stmt-ptr" */) == 0) { goto __388 } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1352 /* &zBuf[0] */, ts+13021, /* "%p" */ + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1352 /* &zBuf[0] */, ts+13802, /* "%p" */ libc.VaList(bp+984, func() uintptr { if (*SqliteDb)(unsafe.Pointer(pDb)).FstmtList != 0 { return (*SqlPreparedStmt)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FstmtList)).FpStmt @@ -41535,7 +43089,7 @@ __385: goto __389 __388: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+992, ts+13024 /* "unknown argument..." */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+992, ts+13805 /* "unknown argument..." */, zArg, uintptr(0))) return TCL_ERROR __389: ; @@ -41567,46 +43121,46 @@ type DbConfigChoices = struct { } /* tclsqlite.c:2340:18 */ var DB_strs = [42]uintptr{ - ts + 13043 /* "authorizer" */, ts + 13054 /* "backup" */, ts + 13061, /* "bind_fallback" */ - ts + 13075 /* "busy" */, ts + 13080 /* "cache" */, ts + 13086, /* "changes" */ - ts + 10125 /* "close" */, ts + 13094 /* "collate" */, ts + 13102, /* "collation_needed" */ - ts + 13119 /* "commit_hook" */, ts + 13131 /* "complete" */, ts + 13140, /* "config" */ - ts + 13147 /* "copy" */, ts + 13152 /* "deserialize" */, ts + 13164, /* "enable_load_exte..." */ - ts + 13186 /* "errorcode" */, ts + 4757 /* "eval" */, ts + 13196, /* "exists" */ - ts + 13203 /* "function" */, ts + 10524 /* "incrblob" */, ts + 13212, /* "interrupt" */ - ts + 13222 /* "last_insert_rowi..." */, ts + 13240 /* "nullvalue" */, ts + 13250, /* "onecolumn" */ - ts + 13260 /* "preupdate" */, ts + 13270 /* "profile" */, ts + 10199, /* "progress" */ - ts + 13278 /* "rekey" */, ts + 13284 /* "restore" */, ts + 13292, /* "rollback_hook" */ - ts + 13306 /* "serialize" */, ts + 13316 /* "status" */, ts + 13323, /* "timeout" */ - ts + 13331 /* "total_changes" */, ts + 13345 /* "trace" */, ts + 13351, /* "trace_v2" */ - ts + 13360 /* "transaction" */, ts + 13372 /* "unlock_notify" */, ts + 13386, /* "update_hook" */ - ts + 13398 /* "version" */, ts + 13406 /* "wal_hook" */, uintptr(0), + ts + 13824 /* "authorizer" */, ts + 13835 /* "backup" */, ts + 13842, /* "bind_fallback" */ + ts + 13856 /* "busy" */, ts + 13861 /* "cache" */, ts + 13867, /* "changes" */ + ts + 10125 /* "close" */, ts + 13875 /* "collate" */, ts + 13883, /* "collation_needed" */ + ts + 13900 /* "commit_hook" */, ts + 13912 /* "complete" */, ts + 13921, /* "config" */ + ts + 13928 /* "copy" */, ts + 13933 /* "deserialize" */, ts + 13945, /* "enable_load_exte..." */ + ts + 13967 /* "errorcode" */, ts + 4757 /* "eval" */, ts + 13977, /* "exists" */ + ts + 13984 /* "function" */, ts + 11333 /* "incrblob" */, ts + 13993, /* "interrupt" */ + ts + 14003 /* "last_insert_rowi..." */, ts + 14021 /* "nullvalue" */, ts + 14031, /* "onecolumn" */ + ts + 14041 /* "preupdate" */, ts + 14051 /* "profile" */, ts + 10199, /* "progress" */ + ts + 14059 /* "rekey" */, ts + 14065 /* "restore" */, ts + 14073, /* "rollback_hook" */ + ts + 14087 /* "serialize" */, ts + 14097 /* "status" */, ts + 14104, /* "timeout" */ + ts + 14112 /* "total_changes" */, ts + 14126 /* "trace" */, ts + 14132, /* "trace_v2" */ + ts + 14141 /* "transaction" */, ts + 14153 /* "unlock_notify" */, ts + 14167, /* "update_hook" */ + ts + 14179 /* "version" */, ts + 14187 /* "wal_hook" */, uintptr(0), } /* tclsqlite.c:1916:21 */ var aDbConfig = [16]DbConfigChoices{ - {FzName: ts + 13415 /* "defensive" */, Fop: SQLITE_DBCONFIG_DEFENSIVE}, - {FzName: ts + 13425 /* "dqs_ddl" */, Fop: SQLITE_DBCONFIG_DQS_DDL}, - {FzName: ts + 13433 /* "dqs_dml" */, Fop: SQLITE_DBCONFIG_DQS_DML}, - {FzName: ts + 13441 /* "enable_fkey" */, Fop: SQLITE_DBCONFIG_ENABLE_FKEY}, - {FzName: ts + 13453 /* "enable_qpsg" */, Fop: SQLITE_DBCONFIG_ENABLE_QPSG}, - {FzName: ts + 13465 /* "enable_trigger" */, Fop: SQLITE_DBCONFIG_ENABLE_TRIGGER}, - {FzName: ts + 13480 /* "enable_view" */, Fop: SQLITE_DBCONFIG_ENABLE_VIEW}, - {FzName: ts + 13492 /* "fts3_tokenizer" */, Fop: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, - {FzName: ts + 13507 /* "legacy_alter_tab..." */, Fop: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, - {FzName: ts + 13526 /* "legacy_file_form..." */, Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, - {FzName: ts + 13545 /* "load_extension" */, Fop: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, - {FzName: ts + 13560 /* "no_ckpt_on_close" */, Fop: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, - {FzName: ts + 13577 /* "reset_database" */, Fop: SQLITE_DBCONFIG_RESET_DATABASE}, - {FzName: ts + 13592 /* "trigger_eqp" */, Fop: SQLITE_DBCONFIG_TRIGGER_EQP}, - {FzName: ts + 13604 /* "trusted_schema" */, Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA}, - {FzName: ts + 13619 /* "writable_schema" */, Fop: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, + {FzName: ts + 14196 /* "defensive" */, Fop: SQLITE_DBCONFIG_DEFENSIVE}, + {FzName: ts + 14206 /* "dqs_ddl" */, Fop: SQLITE_DBCONFIG_DQS_DDL}, + {FzName: ts + 14214 /* "dqs_dml" */, Fop: SQLITE_DBCONFIG_DQS_DML}, + {FzName: ts + 14222 /* "enable_fkey" */, Fop: SQLITE_DBCONFIG_ENABLE_FKEY}, + {FzName: ts + 14234 /* "enable_qpsg" */, Fop: SQLITE_DBCONFIG_ENABLE_QPSG}, + {FzName: ts + 14246 /* "enable_trigger" */, Fop: SQLITE_DBCONFIG_ENABLE_TRIGGER}, + {FzName: ts + 14261 /* "enable_view" */, Fop: SQLITE_DBCONFIG_ENABLE_VIEW}, + {FzName: ts + 14273 /* "fts3_tokenizer" */, Fop: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, + {FzName: ts + 14288 /* "legacy_alter_tab..." */, Fop: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, + {FzName: ts + 14307 /* "legacy_file_form..." */, Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, + {FzName: ts + 14326 /* "load_extension" */, Fop: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, + {FzName: ts + 14341 /* "no_ckpt_on_close" */, Fop: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, + {FzName: ts + 14358 /* "reset_database" */, Fop: SQLITE_DBCONFIG_RESET_DATABASE}, + {FzName: ts + 14373 /* "trigger_eqp" */, Fop: SQLITE_DBCONFIG_TRIGGER_EQP}, + {FzName: ts + 14385 /* "trusted_schema" */, Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA}, + {FzName: ts + 14400 /* "writable_schema" */, Fop: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, } /* tclsqlite.c:2343:7 */ var TTYPE_strs = [5]uintptr{ - ts + 13635 /* "statement" */, ts + 13270 /* "profile" */, ts + 13645 /* "row" */, ts + 10125 /* "close" */, uintptr(0), + ts + 14416 /* "statement" */, ts + 14051 /* "profile" */, ts + 14426 /* "row" */, ts + 10125 /* "close" */, uintptr(0), } /* tclsqlite.c:3321:27 */ var TTYPE_strs1 = [4]uintptr{ - ts + 13649 /* "deferred" */, ts + 13658 /* "exclusive" */, ts + 13668 /* "immediate" */, uintptr(0), + ts + 14430 /* "deferred" */, ts + 14439 /* "exclusive" */, ts + 14449 /* "immediate" */, uintptr(0), } /* tclsqlite.c:3404:25 */ -var azSub = [6]uintptr{ts + 1826 /* "count" */, ts + 13678 /* "depth" */, ts + 13684 /* "hook" */, ts + 13689 /* "new" */, ts + 13693 /* "old" */, uintptr(0)} /* tclsqlite.c:3496:23 */ +var azSub = [6]uintptr{ts + 1826 /* "count" */, ts + 14459 /* "depth" */, ts + 14465 /* "hook" */, ts + 14470 /* "new" */, ts + 14474 /* "old" */, uintptr(0)} /* tclsqlite.c:3496:23 */ // Adaptor that provides an objCmd interface to the NRE-enabled // interface implementation. @@ -41621,7 +43175,7 @@ func DbObjCmdAdaptor(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv func sqliteCmdUsage(tls *libc.TLS, interp uintptr, objv uintptr) int32 { /* tclsqlite.c:3661:12: */ tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+13697 /* "HANDLE ?FILENAME..." */) + ts+14478 /* "HANDLE ?FILENAME..." */) return TCL_ERROR } @@ -41667,16 +43221,16 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } if objc == 2 { zArg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(0)) - if libc.Xstrcmp(tls, zArg, ts+13843 /* "-version" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14624 /* "-version" */) == 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), uintptr(0))) return TCL_OK } - if libc.Xstrcmp(tls, zArg, ts+13852 /* "-sourceid" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14633 /* "-sourceid" */) == 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, sqlite3.Xsqlite3_sourceid(tls), uintptr(0))) return TCL_OK } - if libc.Xstrcmp(tls, zArg, ts+13862 /* "-has-codec" */) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+13873 /* "0" */, uintptr(0))) + if libc.Xstrcmp(tls, zArg, ts+14643 /* "-has-codec" */) == 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+14654 /* "0" */, uintptr(0))) return TCL_OK } if int32(*(*int8)(unsafe.Pointer(zArg))) == '-' { @@ -41696,11 +43250,11 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) return sqliteCmdUsage(tls, interp, objv) } i++ - if libc.Xstrcmp(tls, zArg, ts+13875 /* "-key" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14656 /* "-key" */) == 0 { // no-op - } else if libc.Xstrcmp(tls, zArg, ts+13880 /* "-vfs" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14661 /* "-vfs" */) == 0 { zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4))) - } else if libc.Xstrcmp(tls, zArg, ts+12123 /* "-readonly" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+12904 /* "-readonly" */) == 0 { // var b int32 at bp+88, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+88 /* &b */) != 0 { @@ -41713,7 +43267,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) flags = flags & (libc.CplInt32(SQLITE_OPEN_READONLY)) flags = flags | (SQLITE_OPEN_READWRITE) } - } else if libc.Xstrcmp(tls, zArg, ts+13885 /* "-create" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14666 /* "-create" */) == 0 { // var b int32 at bp+92, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+92 /* &b */) != 0 { @@ -41724,7 +43278,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_CREATE)) } - } else if libc.Xstrcmp(tls, zArg, ts+13893 /* "-nofollow" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14674 /* "-nofollow" */) == 0 { // var b int32 at bp+96, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+96 /* &b */) != 0 { @@ -41735,7 +43289,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOFOLLOW)) } - } else if libc.Xstrcmp(tls, zArg, ts+13903 /* "-nomutex" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14684 /* "-nomutex" */) == 0 { // var b int32 at bp+100, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+100 /* &b */) != 0 { @@ -41747,7 +43301,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOMUTEX)) } - } else if libc.Xstrcmp(tls, zArg, ts+13912 /* "-fullmutex" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14693 /* "-fullmutex" */) == 0 { // var b int32 at bp+104, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+104 /* &b */) != 0 { @@ -41759,7 +43313,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_FULLMUTEX)) } - } else if libc.Xstrcmp(tls, zArg, ts+13923 /* "-uri" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14704 /* "-uri" */) == 0 { // var b int32 at bp+108, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+108 /* &b */) != 0 { @@ -41770,12 +43324,12 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_URI)) } - } else if libc.Xstrcmp(tls, zArg, ts+13928 /* "-translatefilena..." */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14709 /* "-translatefilena..." */) == 0 { if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+112 /* &bTranslateFileName */) != 0 { return TCL_ERROR } } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+12133 /* "unknown option: " */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+12914 /* "unknown option: " */, zArg, uintptr(0))) return TCL_ERROR } } @@ -41850,16 +43404,16 @@ func Sqlite3_Init(tls *libc.TLS, interp uintptr) int32 { /* tclsqlite.c:3877:12: rc = TCL_ERROR } if rc == TCL_OK { - tcl.XTcl_CreateObjCommand(tls, interp, ts+13947 /* "sqlite3" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+14728 /* "sqlite3" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{DbMain})), uintptr(0), uintptr(0)) // The "sqlite" alias is undocumented. It is here only to support // legacy scripts. All new scripts should use only the "sqlite3" // command. - tcl.XTcl_CreateObjCommand(tls, interp, ts+13955 /* "sqlite" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+14736 /* "sqlite" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{DbMain})), uintptr(0), uintptr(0)) - rc = tcl.XTcl_PkgProvideEx(tls, interp, ts+13947 /* "sqlite3" */, ts+13962 /* "3.36.0" */, uintptr(0)) + rc = tcl.XTcl_PkgProvideEx(tls, interp, ts+14728 /* "sqlite3" */, ts+14743 /* "3.36.0" */, uintptr(0)) } return rc } @@ -41912,7 +43466,7 @@ func tclsh_main_loop(tls *libc.TLS) uintptr { /* tclsqlite.c:3920:19: */ return uintptr(unsafe.Pointer(&zMainloop)) } -var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 13969 /* "if {[llength $ar..." */)) /* tclsqlite.c:3921:21 */ +var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 14750 /* "if {[llength $ar..." */)) /* tclsqlite.c:3921:21 */ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953:18: */ bp := tls.Alloc(64) @@ -41923,10 +43477,10 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: var zScript uintptr = uintptr(0) // var zArgc [32]int8 at bp+32, 32 - if libc.Xgetenv(tls, ts+14400 /* "SQLITE_DEBUG_BRE..." */) != 0 { + if libc.Xgetenv(tls, ts+15181 /* "SQLITE_DEBUG_BRE..." */) != 0 { if (libc.Xisatty(tls, 0) != 0) && (libc.Xisatty(tls, 2) != 0) { libc.Xfprintf(tls, libc.Xstderr, - ts+14419, /* "attach debugger ..." */ + ts+15200, /* "attach debugger ..." */ libc.VaList(bp, libc.Xgetpid(tls))) libc.Xfgetc(tls, libc.Xstdin) } else { @@ -41940,27 +43494,27 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: sqlite3.Xsqlite3_shutdown(tls) tcl.XTcl_FindExecutable(tls, *(*uintptr)(unsafe.Pointer(argv))) - tcl.XTcl_SetSystemEncoding(tls, uintptr(0), ts+14481 /* "utf-8" */) + tcl.XTcl_SetSystemEncoding(tls, uintptr(0), ts+15262 /* "utf-8" */) interp = tcl.XTcl_CreateInterp(tls) Sqlite3_Init(tls, interp) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), bp+32 /* &zArgc[0] */, ts+1238 /* "%d" */, libc.VaList(bp+8, (argc-1))) - tcl.XTcl_SetVar2(tls, interp, ts+14487 /* "argc" */, uintptr(0), bp+32 /* &zArgc[0] */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+14492 /* "argv0" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+14498 /* "argv" */, uintptr(0), ts+489 /* "" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15268 /* "argc" */, uintptr(0), bp+32 /* &zArgc[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15273 /* "argv0" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15279 /* "argv" */, uintptr(0), ts+489 /* "" */, TCL_GLOBAL_ONLY) for i = 1; i < argc; i++ { - tcl.XTcl_SetVar2(tls, interp, ts+14498 /* "argv" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), ((TCL_GLOBAL_ONLY | TCL_LIST_ELEMENT) | TCL_APPEND_VALUE)) + tcl.XTcl_SetVar2(tls, interp, ts+15279 /* "argv" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), ((TCL_GLOBAL_ONLY | TCL_LIST_ELEMENT) | TCL_APPEND_VALUE)) } zScript = sqlite3TestInit(tls, interp) if zScript == uintptr(0) { zScript = tclsh_main_loop(tls) } if tcl.XTcl_GlobalEval(tls, interp, zScript) != TCL_OK { - var zInfo uintptr = tcl.XTcl_GetVar2(tls, interp, ts+14503 /* "errorInfo" */, uintptr(0), TCL_GLOBAL_ONLY) + var zInfo uintptr = tcl.XTcl_GetVar2(tls, interp, ts+15284 /* "errorInfo" */, uintptr(0), TCL_GLOBAL_ONLY) if zInfo == uintptr(0) { zInfo = tcl.XTcl_GetStringResult(tls, interp) } - libc.Xfprintf(tls, libc.Xstderr, ts+14513 /* "%s: %s\n" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) + libc.Xfprintf(tls, libc.Xstderr, ts+15294 /* "%s: %s\n" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) return 1 } return 0 @@ -44087,16 +45641,16 @@ func get_sqlite_pointer(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var zBuf [100]int8 at bp+80, 100 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+14521 /* "SQLITE-CONNECTIO..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15302 /* "SQLITE-CONNECTIO..." */) return TCL_ERROR } if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539, /* "command not foun..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } p = (*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &cmdInfo */)).FobjClientData - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+24, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+24, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+80 /* &zBuf[0] */, 0)) return TCL_OK } @@ -44133,7 +45687,7 @@ func sqlite3TestErrCode(tls *libc.TLS, interp uintptr, db uintptr, rc int32) int var r2 int32 = sqlite3.Xsqlite3_errcode(tls, db) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+48, /* &zBuf[0] */ - ts+14559, /* "error code %s (%..." */ + ts+15340, /* "error code %s (%..." */ libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, rc), rc, sqlite3.Xsqlite3ErrName(tls, r2), r2)) tcl.XTcl_ResetResult(tls, interp) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+48 /* &zBuf[0] */, 0)) @@ -44163,7 +45717,7 @@ func sqlite3TestMakePointerStr(tls *libc.TLS, interp uintptr, zPtr uintptr, p ui bp := tls.Alloc(8) defer tls.Free(8) - sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+13802 /* "%p" */, libc.VaList(bp, p)) return TCL_OK } @@ -44212,7 +45766,7 @@ func test_io_trace(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // Also return true if the OMIT_MISUSE environment variable exists. func clang_sanitize_address(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:269:26: */ var res int32 = 0 - if (res == 0) && (libc.Xgetenv(tls, ts+14617 /* "OMIT_MISUSE" */) != uintptr(0)) { + if (res == 0) && (libc.Xgetenv(tls, ts+15398 /* "OMIT_MISUSE" */) != uintptr(0)) { res = 1 } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, res)) @@ -44238,8 +45792,8 @@ func test_exec_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // var zBuf [30]int8 at bp+268, 30 if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14655 /* " DB FORMAT STRIN..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15436 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+48 /* &db */) != 0 { @@ -44292,8 +45846,8 @@ func test_exec_hex(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // var zBuf [30]int8 at bp+764, 30 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14673 /* " DB HEX" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15454 /* " DB HEX" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+40 /* &db */) != 0 { @@ -44356,8 +45910,8 @@ func db_enter(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // var db uintptr at bp+32, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -44374,8 +45928,8 @@ func db_leave(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // var db uintptr at bp+32, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -44404,8 +45958,8 @@ func test_exec(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [30]int8 at bp+268, 30 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14685 /* " DB SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+48 /* &db */) != 0 { @@ -44457,8 +46011,8 @@ func test_exec_nr(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar var rc int32 *(*uintptr)(unsafe.Pointer(bp + 36 /* zErr */)) = uintptr(0) if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14685 /* " DB SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -44484,7 +46038,7 @@ func test_mprintf_z(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 for i = 2; (i < argc) && ((i == 2) || (zResult != 0)); i++ { - zResult = sqlite3.Xsqlite3_mprintf(tls, ts+14693 /* "%z%s%s" */, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) + zResult = sqlite3.Xsqlite3_mprintf(tls, ts+15474 /* "%z%s%s" */, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, zResult, 0)) sqlite3.Xsqlite3_free(tls, zResult) @@ -44501,7 +46055,7 @@ func test_mprintf_n(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var zStr uintptr *(*int32)(unsafe.Pointer(bp + 16 /* n */)) = 0 - zStr = sqlite3.Xsqlite3_mprintf(tls, ts+14700 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+16 /* &n */)) + zStr = sqlite3.Xsqlite3_mprintf(tls, ts+15481 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+16 /* &n */)) sqlite3.Xsqlite3_free(tls, zStr) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 16 /* n */)))) return TCL_OK @@ -44527,7 +46081,7 @@ func test_snprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 if uint32(n) > uint32(unsafe.Sizeof([100]int8{})) { n = int32(unsafe.Sizeof([100]int8{})) } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zStr[0] */, ts+14705 /* "abcdefghijklmnop..." */, 0) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zStr[0] */, ts+15486 /* "abcdefghijklmnop..." */, 0) sqlite3.Xsqlite3_snprintf(tls, n, bp+24 /* &zStr[0] */, zFormat, libc.VaList(bp, a1)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24 /* &zStr[0] */, 0)) return TCL_OK @@ -44563,8 +46117,8 @@ func test_get_table_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc } } if (argc != 4) && (argc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14732 /* " DB FORMAT STRIN..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15513 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+68 /* &db */) != 0 { @@ -44621,13 +46175,13 @@ func test_last_rowid(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [30]int8 at bp+60, 30 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+56 /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+60 /* &zBuf[0] */, ts+10545 /* "%lld" */, libc.VaList(bp+32, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+60 /* &zBuf[0] */, ts+11354 /* "%lld" */, libc.VaList(bp+32, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+60 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -44657,8 +46211,8 @@ func sqlite_test_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -44680,8 +46234,8 @@ func sqlite_test_close_v2(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -44719,7 +46273,7 @@ func hex8Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c:7 z = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint32(i) < ((uint32(unsafe.Sizeof([200]int8{})) / uint32(2)) - uint32(2))) && (*(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([200]int8{})) - (uint32(i * 2)))), (bp + 8 /* &zBuf */ + uintptr((i * 2))), ts+14774 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([200]int8{})) - (uint32(i * 2)))), (bp + 8 /* &zBuf */ + uintptr((i * 2))), ts+15555 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) } *(*int8)(unsafe.Pointer(bp + 8 /* &zBuf[0] */ + uintptr((i * 2)))) = int8(0) sqlite3.Xsqlite3_result_text(tls, p, bp+8 /* zBuf */, -1, libc.UintptrFromInt32(-1)) @@ -44735,7 +46289,7 @@ func hex16Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c: z = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint32(i) < ((uint32(unsafe.Sizeof([400]int8{})) / uint32(4)) - uint32(4))) && (*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([400]int8{})) - (uint32(i * 4)))), (bp + 8 /* &zBuf */ + uintptr((i * 4))), ts+14779 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([400]int8{})) - (uint32(i * 4)))), (bp + 8 /* &zBuf */ + uintptr((i * 4))), ts+15560 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) } *(*int8)(unsafe.Pointer(bp + 8 /* &zBuf[0] */ + uintptr((i * 4)))) = int8(0) sqlite3.Xsqlite3_result_text(tls, p, bp+8 /* zBuf */, -1, libc.UintptrFromInt32(-1)) @@ -44834,7 +46388,7 @@ func tkt2213Function(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zText3 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if (zText1 != zText2) || (zText2 != zText3) { - sqlite3.Xsqlite3_result_error(tls, context, ts+14784 /* "tkt2213 is not f..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15565 /* "tkt2213 is not f..." */, -1) } else { var zCopy uintptr = sqlite3.Xsqlite3_malloc(tls, nText) libc.Xmemcpy(tls, zCopy, zText1, uint32(nText)) @@ -44875,11 +46429,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+12453 /* "text" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+13234 /* "text" */) == 0 { p1 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14805 /* "text16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15586 /* "text16" */) == 0 { p1 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+12458 /* "blob" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+13239 /* "blob" */) == 0 { p1 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) } else { return @@ -44888,11 +46442,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+14812 /* "bytes" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+15593 /* "bytes" */) == 0 { sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14818 /* "bytes16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15599 /* "bytes16" */) == 0 { sqlite3.Xsqlite3_value_bytes16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14826 /* "noop" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15607 /* "noop" */) == 0 { // do nothing } else { return @@ -44901,11 +46455,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+12453 /* "text" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+13234 /* "text" */) == 0 { p2 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14805 /* "text16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15586 /* "text16" */) == 0 { p2 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+12458 /* "blob" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+13239 /* "blob" */) == 0 { p2 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) } else { return @@ -44953,37 +46507,37 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // var db uintptr at bp+32, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14831 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15612 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1_ifnullFunc})), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14842 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15623 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex8Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14847 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15628 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex16Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14853 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15634 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tkt2213Function})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14865 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15646 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{ptrChngFunction})), uintptr(0), uintptr(0)) @@ -44993,13 +46547,13 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // both return an ascending integer with each call. But counter1() is marked // as non-deterministic and counter2() is marked as deterministic. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14880 /* "counter1" */, -1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15661 /* "counter1" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14889 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15670 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) @@ -45008,7 +46562,7 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // The intreal() function converts its argument to an integer and returns // it as a MEM_IntReal. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14898 /* "intreal" */, 1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15679 /* "intreal" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{intrealFunction})), uintptr(0), uintptr(0)) @@ -45021,7 +46575,7 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var pVal uintptr sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmutex) pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) - sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+14906 /* "x_sqlite_exec" */, uint8(SQLITE_UTF8), uintptr(0)) + sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+15687 /* "x_sqlite_exec" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) if (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).FmallocFailed != 0 { rc = SQLITE_NOMEM @@ -45054,8 +46608,8 @@ func test_drop_modules(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var db uintptr at bp+32, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -45104,7 +46658,7 @@ func t1CountStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* if argc > 0 { var v int32 = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))) if v == 40 { - sqlite3.Xsqlite3_result_error(tls, context, ts+14920 /* "value of 40 hand..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15701 /* "value of 40 hand..." */, -1) } else if v == 41 { *(*[9]int8)(unsafe.Pointer(bp /* zUtf16ErrMsg */)) = [9]int8{int8(0), int8(0x61), int8(0), int8(0x62), int8(0), int8(0x63), int8(0), int8(0), int8(0)} sqlite3.Xsqlite3_result_error16(tls, context, (bp /* &zUtf16ErrMsg */ + 1), -1) @@ -45117,7 +46671,7 @@ func t1CountFinalize(tls *libc.TLS, context uintptr) { /* test1.c:1149:13: */ p = sqlite3.Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(t1CountCtx{}))) if p != 0 { if (*t1CountCtx)(unsafe.Pointer(p)).Fn == 42 { - sqlite3.Xsqlite3_result_error(tls, context, ts+14950 /* "x_count totals t..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15731 /* "x_count totals t..." */, -1) } else { sqlite3.Xsqlite3_result_int(tls, context, func() int32 { if p != 0 { @@ -45162,25 +46716,25 @@ func test_create_aggregate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14971 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15752 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14971 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15752 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14979 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15760 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{legacyCountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{legacyCountFinalize}))) @@ -45203,8 +46757,8 @@ func test_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg defer tls.Free(40) if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14992 /* " TEXT\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15773 /* " TEXT\"" */, 0)) return TCL_ERROR } libc.Xprintf(tls, ts+294 /* "%s\n" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 1*4)))) @@ -45223,8 +46777,8 @@ func sqlite3_mprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { @@ -45250,13 +46804,13 @@ func sqlite3_mprintf_int64(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { if sqlite3.Xsqlite3Atoi64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), (bp+88 /* &a */ +uintptr((i-2))*8), sqlite3.Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))), uint8(SQLITE_UTF8)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15020 /* "argument is not ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15801 /* "argument is not ..." */, 0)) return TCL_ERROR } } @@ -45282,8 +46836,8 @@ func sqlite3_mprintf_long(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { @@ -45311,8 +46865,8 @@ func sqlite3_mprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 var z uintptr if (argc < 4) || (argc > 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15059 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15840 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -45345,15 +46899,15 @@ func sqlite3_snprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var z uintptr if (argc < 5) || (argc > 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15085 /* " INT FORMAT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15866 /* " INT FORMAT INT ..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+88 /* &n */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 88 /* n */)) < 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15115 /* "N must be non-ne..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15896 /* "N must be non-ne..." */, 0)) return TCL_ERROR } for i = 3; i < 5; i++ { @@ -45387,8 +46941,8 @@ func sqlite3_mprintf_double(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15138 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15919 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -45419,8 +46973,8 @@ func sqlite3_mprintf_scaled(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15162 /* " FORMAT DOUBLE D..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15943 /* " FORMAT DOUBLE D..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -45445,8 +46999,8 @@ func sqlite3_mprintf_stronly(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg var z uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15185 /* " FORMAT STRING\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4)), libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 2*4)))) @@ -45473,12 +47027,12 @@ func sqlite3_mprintf_hexdouble(tls *libc.TLS, NotUsed uintptr, interp uintptr, a // var d sqlite_uint64 at bp+104, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15185 /* " FORMAT STRING\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } - if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+15201 /* "%08x%08x" */, libc.VaList(bp+32, bp+88 /* &x2 */, bp+92 /* &x1 */)) != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+15210 /* "2nd argument sho..." */, 0)) + if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+15982 /* "%08x%08x" */, libc.VaList(bp+32, bp+88 /* &x2 */, bp+92 /* &x1 */)) != 2 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+15991 /* "2nd argument sho..." */, 0)) return TCL_ERROR } *(*sqlite_uint64)(unsafe.Pointer(bp + 104 /* d */)) = sqlite_uint64(*(*uint32)(unsafe.Pointer(bp + 88 /* x2 */))) @@ -45502,7 +47056,7 @@ func test_enable_shared(tls *libc.TLS, clientData ClientData, interp uintptr, ob var ret int32 = 0 if (objc != 2) && (objc != 1) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15254 /* "?BOOLEAN?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16035 /* "?BOOLEAN?" */) return TCL_ERROR } ret = sqlite3.Xsqlite3Config.FsharedCacheEnabled @@ -45532,7 +47086,7 @@ func test_extended_result_codes(tls *libc.TLS, clientData ClientData, interp uin // var db uintptr at bp, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15264 /* "DB BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16045 /* "DB BOOLEAN" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -45576,7 +47130,7 @@ func test_table_column_metadata(tls *libc.TLS, clientData ClientData, interp uin // var autoincrement int32 at bp+36, 4 if (objc != 5) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15275 /* "DB dbname tblnam..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16056 /* "DB dbname tblnam..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+16 /* &db */) != 0 { @@ -45655,7 +47209,7 @@ func test_blob_reopen(tls *libc.TLS, clientData ClientData, interp uintptr, objc var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15301 /* "CHANNEL ROWID" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16082 /* "CHANNEL ROWID" */) return TCL_ERROR } @@ -45750,7 +47304,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp var rc int32 if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15315 /* "DB-HANDLE NAME C..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16096 /* "DB-HANDLE NAME C..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+16 /* &db */) != 0 { @@ -45770,7 +47324,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp }{testCreateCollationCmp})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testCreateCollationDel}))) if rc != SQLITE_MISUSE { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+15348 /* "sqlite3_create_c..." */, uintptr(0))) + libc.VaList(bp, ts+16129 /* "sqlite3_create_c..." */, uintptr(0))) return TCL_ERROR } rc = sqlite3.Xsqlite3_create_collation_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), SQLITE_UTF8, @@ -45876,16 +47430,16 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt var rc int32 *(*[6]EncTable)(unsafe.Pointer(bp + 24 /* aEnc */)) = [6]EncTable{ - {FzEnc: ts + 15413 /* "utf8" */, Fenc: SQLITE_UTF8}, - {FzEnc: ts + 15418 /* "utf16" */, Fenc: SQLITE_UTF16}, - {FzEnc: ts + 15424 /* "utf16le" */, Fenc: SQLITE_UTF16LE}, - {FzEnc: ts + 15432 /* "utf16be" */, Fenc: SQLITE_UTF16BE}, - {FzEnc: ts + 12463 /* "any" */, Fenc: SQLITE_ANY}, - {FzEnc: ts + 13873 /* "0" */}, + {FzEnc: ts + 16194 /* "utf8" */, Fenc: SQLITE_UTF8}, + {FzEnc: ts + 16199 /* "utf16" */, Fenc: SQLITE_UTF16}, + {FzEnc: ts + 16205 /* "utf16le" */, Fenc: SQLITE_UTF16LE}, + {FzEnc: ts + 16213 /* "utf16be" */, Fenc: SQLITE_UTF16BE}, + {FzEnc: ts + 13244 /* "any" */, Fenc: SQLITE_ANY}, + {FzEnc: ts + 14654 /* "0" */}, } if (objc < 5) || ((objc % 2) == 0) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15440 /* "DB NAME NARG ENC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16221 /* "DB NAME NARG ENC..." */) return TCL_ERROR } @@ -45897,7 +47451,7 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*4)), bp+24 /* &aEnc[0] */, int32(unsafe.Sizeof(EncTable{})), - ts+15469 /* "encoding" */, 0, bp+72 /* &enc */) != 0 { + ts+16250 /* "encoding" */, 0, bp+72 /* &enc */) != 0 { return TCL_ERROR } *(*int32)(unsafe.Pointer(bp + 72 /* enc */)) = (*EncTable)(unsafe.Pointer(bp + 24 /* &aEnc */ + uintptr(*(*int32)(unsafe.Pointer(bp + 72 /* enc */)))*8)).Fenc @@ -45910,8 +47464,8 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt for i = 5; i < objc; i = i + (2) { // var iSwitch int32 at bp+96, 4 - *(*[5]uintptr)(unsafe.Pointer(bp + 76 /* azSwitch */)) = [5]uintptr{ts + 15478 /* "-func" */, ts + 15484 /* "-step" */, ts + 15490 /* "-final" */, ts + 15497 /* "-destroy" */, uintptr(0)} - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+76 /* &azSwitch[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+15506 /* "switch" */, 0, bp+96 /* &iSwitch */) != 0 { + *(*[5]uintptr)(unsafe.Pointer(bp + 76 /* azSwitch */)) = [5]uintptr{ts + 16259 /* "-func" */, ts + 16265 /* "-step" */, ts + 16271 /* "-final" */, ts + 16278 /* "-destroy" */, uintptr(0)} + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+76 /* &azSwitch[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+16287 /* "switch" */, 0, bp+96 /* &iSwitch */) != 0 { sqlite3.Xsqlite3_free(tls, p) return TCL_ERROR } @@ -46012,7 +47566,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o var zErr uintptr = uintptr(0) if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15513 /* "DB-HANDLE FILE ?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16294 /* "DB-HANDLE FILE ?..." */) return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -46023,7 +47577,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o // Extract the C database handle from the Tcl command name if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+24 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539 /* "command not foun..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &cmdInfo */)).FobjClientData)).Fdb @@ -46032,7 +47586,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o // TCL_ERROR and load any error string into the interpreter. If no // error occurs, set rc to TCL_OK. rc = SQLITE_ERROR - zErr = sqlite3.Xsqlite3_mprintf(tls, ts+15535 /* "this build omits..." */, 0) + zErr = sqlite3.Xsqlite3_mprintf(tls, ts+16316 /* "this build omits..." */, 0) _ = zProc _ = zFile if rc != SQLITE_OK { @@ -46064,14 +47618,14 @@ func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var onoff int32 at bp+64, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15577 /* "DB-HANDLE ONOFF" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16358 /* "DB-HANDLE ONOFF" */) return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) // Extract the C database handle from the Tcl command name if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+32 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539 /* "command not foun..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &cmdInfo */)).FobjClientData)).Fdb @@ -46081,7 +47635,7 @@ func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+15535 /* "this build omits..." */)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+16316 /* "this build omits..." */)) return TCL_ERROR } @@ -46120,7 +47674,7 @@ __5: sqlite3.Xsqlite3_result_int64(tls, context, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4)))) goto __8 __7: - if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+15593 /* "string" */) == 0) { + if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+16374 /* "string" */) == 0) { goto __9 } sqlite3.Xsqlite3_result_text(tls, context, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))), -1, @@ -46139,7 +47693,7 @@ __11: sqlite3.Xsqlite3_result_null(tls, context) goto __14 __13: - if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+15600 /* "value" */) == 0) { + if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+16381 /* "value" */) == 0) { goto __15 } sqlite3.Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + uintptr(sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))*4))) @@ -46172,7 +47726,7 @@ __2: error_out: sqlite3.Xsqlite3_result_error(tls, context, - ts+15606 /* "first argument s..." */, -1) + ts+16387 /* "first argument s..." */, -1) } // Usage: sqlite_register_test_function DB NAME @@ -46186,8 +47740,8 @@ func test_register_func(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15674 /* " DB FUNCTION-NAM..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+16455 /* " DB FUNCTION-NAM..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+48 /* &db */) != 0 { @@ -46220,8 +47774,8 @@ func test_finalize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var db uintptr = uintptr(0) if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } @@ -46256,7 +47810,7 @@ func test_stmt_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // var pStmt uintptr at bp, 4 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15700 /* "STMT PARAMETER R..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16481 /* "STMT PARAMETER R..." */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &pStmt */) != 0 { @@ -46292,13 +47846,13 @@ var aOp = [7]struct { FzName uintptr Fop int32 }{ - {FzName: ts + 15725 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, - {FzName: ts + 15757 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, - {FzName: ts + 15780 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_AUTOINDEX}, - {FzName: ts + 15808 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_VM_STEP}, - {FzName: ts + 15834 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_REPREPARE}, - {FzName: ts + 15862 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_RUN}, - {FzName: ts + 15884 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_MEMUSED}, + {FzName: ts + 16506 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, + {FzName: ts + 16538 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, + {FzName: ts + 16561 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_AUTOINDEX}, + {FzName: ts + 16589 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_VM_STEP}, + {FzName: ts + 16615 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_REPREPARE}, + {FzName: ts + 16643 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_RUN}, + {FzName: ts + 16665 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_MEMUSED}, } /* test1.c:2158:5 */ // Usage: sqlite3_config_sorterref @@ -46311,7 +47865,7 @@ func test_config_sorterref(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var iVal int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15910 /* "NBYTE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+8 /* &iVal */) != 0 { @@ -46352,7 +47906,7 @@ func test_snapshot_get(tls *libc.TLS, clientData uintptr, interp uintptr, objc i *(*uintptr)(unsafe.Pointer(bp + 4 /* pSnapshot */)) = uintptr(0) if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -46386,7 +47940,7 @@ func test_snapshot_recover(tls *libc.TLS, clientData uintptr, interp uintptr, ob var zName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -46416,7 +47970,7 @@ func test_snapshot_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc var pSnapshot uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15926 /* "DB DBNAME SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16707 /* "DB DBNAME SNAPSH..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -46439,7 +47993,7 @@ func test_snapshot_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc func test_snapshot_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2428:26: */ var pSnapshot uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15945 /* "SNAPSHOT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16726 /* "SNAPSHOT" */) return TCL_ERROR } pSnapshot = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -46453,7 +48007,7 @@ func test_snapshot_cmp(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var p1 uintptr var p2 uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15954 /* "SNAPSHOT1 SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16735 /* "SNAPSHOT1 SNAPSH..." */) return TCL_ERROR } p1 = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -46475,7 +48029,7 @@ func test_snapshot_get_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o *(*uintptr)(unsafe.Pointer(bp + 4 /* pSnapshot */)) = uintptr(0) if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -46508,7 +48062,7 @@ func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, // var nBlob int32 at bp+20, 4 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15926 /* "DB DBNAME SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16707 /* "DB DBNAME SNAPSH..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+16 /* &db */) != 0 { @@ -46517,7 +48071,7 @@ func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) pBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+20 /* &nBlob */) if (uint32(*(*int32)(unsafe.Pointer(bp + 20 /* nBlob */))) != uint32(unsafe.Sizeof(sqlite3_snapshot{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15974 /* "bad SNAPSHOT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } rc = sqlite3.Xsqlite3_snapshot_open(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zName, pBlob) @@ -46541,7 +48095,7 @@ func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o // var n2 int32 at bp+20, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15954 /* "SNAPSHOT1 SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16735 /* "SNAPSHOT1 SNAPSH..." */) return TCL_ERROR } @@ -46549,7 +48103,7 @@ func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o p2 = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+20 /* &n2 */) if (uint32(*(*int32)(unsafe.Pointer(bp + 16 /* n1 */))) != uint32(unsafe.Sizeof(sqlite3_snapshot{}))) || (*(*int32)(unsafe.Pointer(bp + 16 /* n1 */)) != *(*int32)(unsafe.Pointer(bp + 20 /* n2 */))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15974 /* "bad SNAPSHOT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } @@ -46563,7 +48117,7 @@ func test_delete_database(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 var zFile uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15987 /* "FILE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16768 /* "FILE" */) return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -46586,7 +48140,7 @@ func test_atomic_batch_write(tls *libc.TLS, clientData uintptr, interp uintptr, var rc int32 // sqlite3_open() return code if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15992 /* "PATH" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16773 /* "PATH" */) return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -46622,8 +48176,8 @@ func test_next_stmt(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var zBuf [50]int8 at bp+56, 50 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15997 /* " DB STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16778 /* " DB STMT" */, 0)) return TCL_ERROR } @@ -46656,8 +48210,8 @@ func test_stmt_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46682,8 +48236,8 @@ func test_stmt_isexplain(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46708,8 +48262,8 @@ func test_stmt_busy(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46731,8 +48285,8 @@ func uses_stmt_journal(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var pStmt uintptr at bp+32, 4 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46756,8 +48310,8 @@ func test_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } @@ -46787,8 +48341,8 @@ func test_expired(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var pStmt uintptr at bp+32, 4 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &pStmt */) != 0 { @@ -46810,8 +48364,8 @@ func test_transfer_bind(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var pStmt2 uintptr at bp+36, 4 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16012 /* " FROM-STMT TO-ST..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16793 /* " FROM-STMT TO-ST..." */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &pStmt1 */) != 0 { @@ -46836,8 +48390,8 @@ func test_changes(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var db uintptr at bp+32, 4 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -46871,8 +48425,8 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var idx int32 at bp+84, 4 if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+16031 /* " VM IDX VALUE (n..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+16812 /* " VM IDX VALUE (n..." */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+80 /* &pStmt */) != 0 { @@ -46883,18 +48437,18 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv } if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+7385 /* "null" */) == 0 { rc = sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 84 /* idx */))) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16067 /* "static" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16848 /* "static" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 84 /* idx */)), sqlite_static_bind_value, -1, uintptr(0)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16074 /* "static-nbytes" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16855 /* "static-nbytes" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 84 /* idx */)), sqlite_static_bind_value, sqlite_static_bind_nbyte, uintptr(0)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16088 /* "normal" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16869 /* "normal" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 84 /* idx */)), *(*uintptr)(unsafe.Pointer(argv + 3*4)), -1, libc.UintptrFromInt32(-1)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16095 /* "blob10" */) == 0 { - rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 84 /* idx */)), ts+16102 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16876 /* "blob10" */) == 0 { + rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 84 /* idx */)), ts+16883 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) } else { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+32, ts+16113 /* "4th argument sho..." */, 0)) + libc.VaList(bp+32, ts+16894 /* "4th argument sho..." */, 0)) return TCL_ERROR } if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))), rc) != 0 { @@ -46903,7 +48457,7 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv if rc != 0 { // var zBuf [50]int8 at bp+88, 50 - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+88 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+48, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+88 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+48, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &zBuf[0] */, sqlite3.Xsqlite3ErrStr(tls, rc), 0)) return TCL_ERROR } @@ -46950,18 +48504,18 @@ func test_collate_func(tls *libc.TLS, pCtx uintptr, nA int32, zA uintptr, nB int var pVal uintptr var pX uintptr - pX = tcl.XTcl_NewStringObj(tls, ts+16173 /* "test_collate" */, -1) + pX = tcl.XTcl_NewStringObj(tls, ts+16954 /* "test_collate" */, -1) (*Tcl_Obj)(unsafe.Pointer(pX)).FrefCount++ switch encin { case SQLITE_UTF8: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16186 /* "UTF-8" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16967 /* "UTF-8" */, -1)) break case SQLITE_UTF16LE: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16192 /* "UTF-16LE" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16973 /* "UTF-16LE" */, -1)) break case SQLITE_UTF16BE: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16201 /* "UTF-16BE" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16982 /* "UTF-16BE" */, -1)) break default: @@ -47025,7 +48579,7 @@ __2: return TCL_ERROR __3: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16173 /* "test_collate" */, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF8, uintptr(SQLITE_UTF8), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 52 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -47043,7 +48597,7 @@ __3: return TCL_ERROR __5: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16173 /* "test_collate" */, SQLITE_UTF16LE, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF16LE, uintptr(SQLITE_UTF16LE), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 52 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -47061,7 +48615,7 @@ __6: sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* db */)))).Fmutex) pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */))) - sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16173 /* "test_collate" */, uint8(SQLITE_UTF8), uintptr(0)) + sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16954 /* "test_collate" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) if !((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* db */)))).FmallocFailed != 0) { goto __7 @@ -47101,8 +48655,8 @@ __10: return TCL_OK bad_args: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16210 /* " " */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17077 /* "" */) } zCode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -47517,7 +49071,7 @@ func test_bind_zeroblob(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16309 /* "STMT IDX N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17090 /* "STMT IDX N" */) return TCL_ERROR } @@ -47560,7 +49114,7 @@ func test_bind_zeroblob64(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16309 /* "STMT IDX N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17090 /* "STMT IDX N" */) return TCL_ERROR } @@ -47604,8 +49158,8 @@ func test_bind_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var rc int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -47782,8 +49336,8 @@ func test_bind_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -47827,8 +49381,8 @@ func test_bind_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var i int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -47883,16 +49437,16 @@ var aSpecialFp = [10]struct { FiUpper uint32 FiLower uint32 }{ - {FzName: ts + 16334 /* "NaN" */, FiUpper: uint32(0x7fffffff), FiLower: 0xffffffff}, - {FzName: ts + 16338 /* "SNaN" */, FiUpper: uint32(0x7ff7ffff), FiLower: 0xffffffff}, - {FzName: ts + 16343 /* "-NaN" */, FiUpper: 0xffffffff, FiLower: 0xffffffff}, - {FzName: ts + 16348 /* "-SNaN" */, FiUpper: 0xfff7ffff, FiLower: 0xffffffff}, - {FzName: ts + 16354 /* "+Inf" */, FiUpper: uint32(0x7ff00000)}, - {FzName: ts + 16359 /* "-Inf" */, FiUpper: 0xfff00000}, - {FzName: ts + 16364 /* "Epsilon" */, FiLower: uint32(0x00000001)}, - {FzName: ts + 16372 /* "-Epsilon" */, FiUpper: 0x80000000, FiLower: uint32(0x00000001)}, - {FzName: ts + 16381 /* "NaN0" */, FiUpper: uint32(0x7ff80000)}, - {FzName: ts + 16386 /* "-NaN0" */, FiUpper: 0xfff80000}, + {FzName: ts + 17115 /* "NaN" */, FiUpper: uint32(0x7fffffff), FiLower: 0xffffffff}, + {FzName: ts + 17119 /* "SNaN" */, FiUpper: uint32(0x7ff7ffff), FiLower: 0xffffffff}, + {FzName: ts + 17124 /* "-NaN" */, FiUpper: 0xffffffff, FiLower: 0xffffffff}, + {FzName: ts + 17129 /* "-SNaN" */, FiUpper: 0xfff7ffff, FiLower: 0xffffffff}, + {FzName: ts + 17135 /* "+Inf" */, FiUpper: uint32(0x7ff00000)}, + {FzName: ts + 17140 /* "-Inf" */, FiUpper: 0xfff00000}, + {FzName: ts + 17145 /* "Epsilon" */, FiLower: uint32(0x00000001)}, + {FzName: ts + 17153 /* "-Epsilon" */, FiUpper: 0x80000000, FiLower: uint32(0x00000001)}, + {FzName: ts + 17162 /* "NaN0" */, FiUpper: uint32(0x7ff80000)}, + {FzName: ts + 17167 /* "-NaN0" */, FiUpper: 0xfff80000}, } /* test1.c:3724:5 */ // Usage: sqlite3_bind_null STMT N @@ -47911,8 +49465,8 @@ func test_bind_null(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var rc int32 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16392 /* " STMT N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17173 /* " STMT N" */, 0)) return TCL_ERROR } @@ -47956,8 +49510,8 @@ func test_bind_text(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var toFree uintptr = uintptr(0) if objc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16400 /* " STMT N VALUE BY..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17181 /* " STMT N VALUE BY..." */, 0)) return TCL_ERROR } @@ -48027,8 +49581,8 @@ func test_bind_text16(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var oBytes uintptr = *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*4)) if (objc != 5) && (objc != 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16400 /* " STMT N VALUE BY..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17181 /* " STMT N VALUE BY..." */, 0)) return TCL_ERROR } @@ -48087,8 +49641,8 @@ func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var xDestructor sqlite3_destructor_type = libc.UintptrFromInt32(-1) if (objc != 5) && (objc != 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16420 /* " STMT N DATA BYT..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17201 /* " STMT N DATA BYT..." */, 0)) return TCL_ERROR } @@ -48113,7 +49667,7 @@ func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var zBuf [200]int8 at bp+80, 200 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+80, /* &zBuf[0] */ - ts+16439 /* "cannot use %d bl..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 76 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 72 /* len */)))) + ts+17220 /* "cannot use %d bl..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 76 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 72 /* len */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+80 /* &zBuf[0] */, uintptr(0))) return TCL_ERROR } @@ -48218,52 +49772,52 @@ __7: goto __9 } z = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4))) - if !(libc.Xstrcmp(tls, z, ts+16473 /* "-transient" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17254 /* "-transient" */) == 0) { goto __10 } isTransient = 1 xDel = libc.UintptrFromInt32(-1) goto __11 __10: - if !(libc.Xstrcmp(tls, z, ts+16484 /* "-static" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17265 /* "-static" */) == 0) { goto __12 } isStatic = 1 xDel = uintptr(0) goto __13 __12: - if !(libc.Xstrcmp(tls, z, ts+16492 /* "-int32" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17273 /* "-int32" */) == 0) { goto __14 } eType = 0 // CARRAY_INT32 goto __15 __14: - if !(libc.Xstrcmp(tls, z, ts+16499 /* "-int64" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17280 /* "-int64" */) == 0) { goto __16 } eType = 1 // CARRAY_INT64 goto __17 __16: - if !(libc.Xstrcmp(tls, z, ts+16506 /* "-double" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17287 /* "-double" */) == 0) { goto __18 } eType = 2 // CARRAY_DOUBLE goto __19 __18: - if !(libc.Xstrcmp(tls, z, ts+16514 /* "-text" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17295 /* "-text" */) == 0) { goto __20 } eType = 3 // CARRAY_TEXT goto __21 __20: - if !(libc.Xstrcmp(tls, z, ts+16520 /* "--" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17301 /* "--" */) == 0) { goto __22 } goto __9 goto __23 __22: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+12133 /* "unknown option: " */, z, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+12914 /* "unknown option: " */, z, uintptr(0))) return TCL_ERROR __23: ; @@ -48289,7 +49843,7 @@ __9: if !(((eType == 3) && !(isStatic != 0)) && !(isTransient != 0)) { goto __24 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+16523, /* "text data must b..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+17304, /* "text data must b..." */ uintptr(0))) return TCL_ERROR __24: @@ -48297,7 +49851,7 @@ __24: if !((isStatic != 0) && (isTransient != 0)) { goto __25 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+16570, /* "cannot be both -..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+17351, /* "cannot be both -..." */ uintptr(0))) return TCL_ERROR __25: @@ -48305,7 +49859,7 @@ __25: if !((objc - i) < 2) { goto __26 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16608 /* "[OPTIONS] STMT I..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17389 /* "[OPTIONS] STMT I..." */) return TCL_ERROR __26: ; @@ -48526,7 +50080,7 @@ func test_bind_parameter_count(tls *libc.TLS, clientData uintptr, interp uintptr // var pStmt uintptr at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &pStmt */) != 0 { @@ -48550,7 +50104,7 @@ func test_bind_parameter_name(tls *libc.TLS, clientData uintptr, interp uintptr, // var i int32 at bp+4, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16642 /* "STMT N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17423 /* "STMT N" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &pStmt */) != 0 { @@ -48575,7 +50129,7 @@ func test_bind_parameter_index(tls *libc.TLS, clientData uintptr, interp uintptr // var pStmt uintptr at bp, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16649 /* "STMT NAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17430 /* "STMT NAME" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &pStmt */) != 0 { @@ -48596,7 +50150,7 @@ func test_clear_bindings(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var pStmt uintptr at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &pStmt */) != 0 { @@ -48614,7 +50168,7 @@ func test_sleep(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o // var ms int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+12806 /* "MILLISECONDS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+13587 /* "MILLISECONDS" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &ms */) != 0 { @@ -48637,8 +50191,8 @@ func test_ex_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &db */) != 0 { @@ -48662,8 +50216,8 @@ func test_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &db */) != 0 { @@ -48687,8 +50241,8 @@ func test_errmsg(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zErr uintptr if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -48717,8 +50271,8 @@ func test_errmsg16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var bytes int32 = 0 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -48757,8 +50311,8 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var rc int32 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+80 /* &db */) != 0 { @@ -48790,7 +50344,7 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+96 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -48828,8 +50382,8 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+80 /* &db */) != 0 { @@ -48874,7 +50428,7 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+96 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -48914,8 +50468,8 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if (objc != 6) && (objc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16705 /* " DB sql bytes fl..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17486 /* " DB sql bytes fl..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+80 /* &db */) != 0 { @@ -48961,7 +50515,7 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+100 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+100 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+100 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -48991,8 +50545,8 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+80 /* &db */) != 0 { @@ -49005,7 +50559,7 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+88 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+88 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+88 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -49019,7 +50573,7 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj return TCL_OK } -var zSql = *(*[10]int8)(unsafe.Pointer(ts + 16733 /* "\x00SELECT 1" */)) /* test1.c:4623:21 */ +var zSql = *(*[10]int8)(unsafe.Pointer(ts + 17514 /* "\x00SELECT 1" */)) /* test1.c:4623:21 */ // Usage: sqlite3_prepare16 DB sql bytes tailvar // @@ -49046,8 +50600,8 @@ func test_prepare16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &db */) != 0 { @@ -49122,8 +50676,8 @@ func test_prepare16_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &db */) != 0 { @@ -49184,8 +50738,8 @@ func test_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob // var zBuf [100]int8 at bp+52, 100 if ((objc != 3) && (objc != 2)) && (objc != 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16743 /* " filename option..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17524 /* " filename option..." */, 0)) return TCL_ERROR } @@ -49223,7 +50777,7 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var i int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16766 /* "FILENAME FLAGS V..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17547 /* "FILENAME FLAGS V..." */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -49240,29 +50794,29 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var iFlag int32 at bp+184, 4 *(*[20]OpenFlag)(unsafe.Pointer(bp + 24 /* aFlag */)) = [20]OpenFlag{ - {FzFlag: ts + 16785 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READONLY}, - {FzFlag: ts + 16806 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READWRITE}, - {FzFlag: ts + 16828 /* "SQLITE_OPEN_CREA..." */, Fflag: SQLITE_OPEN_CREATE}, - {FzFlag: ts + 16847 /* "SQLITE_OPEN_DELE..." */, Fflag: SQLITE_OPEN_DELETEONCLOSE}, - {FzFlag: ts + 16873 /* "SQLITE_OPEN_EXCL..." */, Fflag: SQLITE_OPEN_EXCLUSIVE}, - {FzFlag: ts + 16895 /* "SQLITE_OPEN_AUTO..." */, Fflag: SQLITE_OPEN_AUTOPROXY}, - {FzFlag: ts + 16917 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_DB}, - {FzFlag: ts + 16937 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_DB}, - {FzFlag: ts + 16957 /* "SQLITE_OPEN_TRAN..." */, Fflag: SQLITE_OPEN_TRANSIENT_DB}, - {FzFlag: ts + 16982 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_JOURNAL}, - {FzFlag: ts + 17007 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_JOURNAL}, - {FzFlag: ts + 17032 /* "SQLITE_OPEN_SUBJ..." */, Fflag: SQLITE_OPEN_SUBJOURNAL}, - {FzFlag: ts + 17055 /* "SQLITE_OPEN_SUPE..." */, Fflag: SQLITE_OPEN_SUPER_JOURNAL}, - {FzFlag: ts + 17081 /* "SQLITE_OPEN_NOMU..." */, Fflag: SQLITE_OPEN_NOMUTEX}, - {FzFlag: ts + 17101 /* "SQLITE_OPEN_FULL..." */, Fflag: SQLITE_OPEN_FULLMUTEX}, - {FzFlag: ts + 17123 /* "SQLITE_OPEN_SHAR..." */, Fflag: SQLITE_OPEN_SHAREDCACHE}, - {FzFlag: ts + 17147 /* "SQLITE_OPEN_PRIV..." */, Fflag: SQLITE_OPEN_PRIVATECACHE}, - {FzFlag: ts + 17172 /* "SQLITE_OPEN_WAL" */, Fflag: SQLITE_OPEN_WAL}, - {FzFlag: ts + 17188 /* "SQLITE_OPEN_URI" */, Fflag: SQLITE_OPEN_URI}, + {FzFlag: ts + 17566 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READONLY}, + {FzFlag: ts + 17587 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READWRITE}, + {FzFlag: ts + 17609 /* "SQLITE_OPEN_CREA..." */, Fflag: SQLITE_OPEN_CREATE}, + {FzFlag: ts + 17628 /* "SQLITE_OPEN_DELE..." */, Fflag: SQLITE_OPEN_DELETEONCLOSE}, + {FzFlag: ts + 17654 /* "SQLITE_OPEN_EXCL..." */, Fflag: SQLITE_OPEN_EXCLUSIVE}, + {FzFlag: ts + 17676 /* "SQLITE_OPEN_AUTO..." */, Fflag: SQLITE_OPEN_AUTOPROXY}, + {FzFlag: ts + 17698 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_DB}, + {FzFlag: ts + 17718 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_DB}, + {FzFlag: ts + 17738 /* "SQLITE_OPEN_TRAN..." */, Fflag: SQLITE_OPEN_TRANSIENT_DB}, + {FzFlag: ts + 17763 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_JOURNAL}, + {FzFlag: ts + 17788 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_JOURNAL}, + {FzFlag: ts + 17813 /* "SQLITE_OPEN_SUBJ..." */, Fflag: SQLITE_OPEN_SUBJOURNAL}, + {FzFlag: ts + 17836 /* "SQLITE_OPEN_SUPE..." */, Fflag: SQLITE_OPEN_SUPER_JOURNAL}, + {FzFlag: ts + 17862 /* "SQLITE_OPEN_NOMU..." */, Fflag: SQLITE_OPEN_NOMUTEX}, + {FzFlag: ts + 17882 /* "SQLITE_OPEN_FULL..." */, Fflag: SQLITE_OPEN_FULLMUTEX}, + {FzFlag: ts + 17904 /* "SQLITE_OPEN_SHAR..." */, Fflag: SQLITE_OPEN_SHAREDCACHE}, + {FzFlag: ts + 17928 /* "SQLITE_OPEN_PRIV..." */, Fflag: SQLITE_OPEN_PRIVATECACHE}, + {FzFlag: ts + 17953 /* "SQLITE_OPEN_WAL" */, Fflag: SQLITE_OPEN_WAL}, + {FzFlag: ts + 17969 /* "SQLITE_OPEN_URI" */, Fflag: SQLITE_OPEN_URI}, {}, } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20 /* apFlag */)) + uintptr(i)*4)), bp+24 /* &aFlag[0] */, int32(unsafe.Sizeof(OpenFlag{})), - ts+17204 /* "flag" */, 0, bp+184 /* &iFlag */) + ts+17985 /* "flag" */, 0, bp+184 /* &iFlag */) if rc != TCL_OK { return rc } @@ -49293,8 +50847,8 @@ func test_open16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zBuf [100]int8 at bp+52, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16743 /* " filename option..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17524 /* " filename option..." */, 0)) return TCL_ERROR } @@ -49316,7 +50870,7 @@ func test_complete16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var zBuf uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17209 /* "" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17990 /* "" */) return TCL_ERROR } @@ -49358,8 +50912,8 @@ func test_step(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -49380,7 +50934,7 @@ func test_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj // var pStmt uintptr at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -49400,7 +50954,7 @@ func test_ex_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var z uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -49423,8 +50977,8 @@ func test_column_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var pStmt uintptr at bp+32, 4 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49450,8 +51004,8 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var tp int32 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49471,13 +51025,13 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in tcl.XTcl_SetResult(tls, interp, ts+5707 /* "NULL" */, uintptr(0)) break case SQLITE_FLOAT: - tcl.XTcl_SetResult(tls, interp, ts+17235 /* "FLOAT" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18016 /* "FLOAT" */, uintptr(0)) break case SQLITE_TEXT: - tcl.XTcl_SetResult(tls, interp, ts+17241 /* "TEXT" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18022 /* "TEXT" */, uintptr(0)) break case SQLITE_BLOB: - tcl.XTcl_SetResult(tls, interp, ts+17246 /* "BLOB" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18027 /* "BLOB" */, uintptr(0)) break default: @@ -49501,8 +51055,8 @@ func test_column_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var iVal i64 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49531,8 +51085,8 @@ func test_column_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var pBlob uintptr if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49563,8 +51117,8 @@ func test_column_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rVal float64 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49590,8 +51144,8 @@ func test_data_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var pStmt uintptr at bp+32, 4 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49621,8 +51175,8 @@ func test_stmt_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49669,8 +51223,8 @@ func test_stmt_utf16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49712,8 +51266,8 @@ func test_stmt_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49738,20 +51292,20 @@ func sqlite_set_magic(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // var db uintptr at bp+32, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17251 /* " DB MAGIC" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18032 /* " DB MAGIC" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { return TCL_ERROR } - if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+17261 /* "SQLITE_MAGIC_OPE..." */) == 0 { + if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+18042 /* "SQLITE_MAGIC_OPE..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_OPEN - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+17279 /* "SQLITE_MAGIC_CLO..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+18060 /* "SQLITE_MAGIC_CLO..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_CLOSED - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+17299 /* "SQLITE_MAGIC_BUS..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+18080 /* "SQLITE_MAGIC_BUS..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_BUSY - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+17317 /* "SQLITE_MAGIC_ERR..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+18098 /* "SQLITE_MAGIC_ERR..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_ERROR } else if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), (*(*uintptr)(unsafe.Pointer(bp + 32 /* db */))+96 /* &.magic */)) != 0 { return TCL_ERROR @@ -49769,7 +51323,7 @@ func test_interrupt(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // var db uintptr at bp+32, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -49792,8 +51346,8 @@ func delete_function(tls *libc.TLS, clientData uintptr, interp uintptr, argc int // var db uintptr at bp+32, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17336 /* " DB function-nam..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -49817,8 +51371,8 @@ func delete_collation(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // var db uintptr at bp+32, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17336 /* " DB function-nam..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -49842,8 +51396,8 @@ func get_autocommit(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // var db uintptr at bp+56, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+56 /* &db */) != 0 { @@ -49869,8 +51423,8 @@ func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc i // var db uintptr at bp+48, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+48 /* &db */) != 0 { @@ -49891,7 +51445,7 @@ func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc i func tcl_variable_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5514:26: */ var pVar uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17354 /* "VARIABLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18135 /* "VARIABLE" */) return TCL_ERROR } pVar = tcl.XTcl_GetVar2Ex(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0), TCL_LEAVE_ERR_MSG) @@ -49917,7 +51471,7 @@ func test_release_memory(tls *libc.TLS, clientData uintptr, interp uintptr, objc var amt int32 if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -50015,7 +51569,7 @@ func test_db_filename(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var zDbName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+16 /* &db */) != 0 { @@ -50038,7 +51592,7 @@ func test_db_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var zDbName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -50061,7 +51615,7 @@ func test_soft_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, obj var amt sqlite3_int64 *(*Tcl_WideInt)(unsafe.Pointer(bp /* N */)) = int64(-1) if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -50086,7 +51640,7 @@ func test_hard_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, obj var amt sqlite3_int64 *(*Tcl_WideInt)(unsafe.Pointer(bp /* N */)) = int64(-1) if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -50123,8 +51677,8 @@ func test_pager_refcounts(tls *libc.TLS, clientData uintptr, interp uintptr, obj var pResult uintptr if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -50161,7 +51715,7 @@ func working_64bit_int(tls *libc.TLS, clientData ClientData, interp uintptr, obj var working int32 = 0 pTestObj = tcl.XTcl_NewWideIntObj(tls, (int64(1000000) * int64(1234567890))) - working = (libc.Bool32(libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, pTestObj), ts+17367 /* "1234567890000000" */) == 0)) + working = (libc.Bool32(libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, pTestObj), ts+18148 /* "1234567890000000" */) == 0)) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pTestObj if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -50191,8 +51745,8 @@ func vfs_unlink_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var two sqlite3_vfs at bp+88, 88 sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(0)) // Unregister of NULL is harmless - (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 17384 /* "__one" */ - (*sqlite3_vfs)(unsafe.Pointer(bp + 88 /* &two */)).FzName = ts + 17390 /* "__two" */ + (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 18165 /* "__one" */ + (*sqlite3_vfs)(unsafe.Pointer(bp + 88 /* &two */)).FzName = ts + 18171 /* "__two" */ // Calling sqlite3_vfs_register with 2nd argument of 0 does not // change the default VFS @@ -50265,7 +51819,7 @@ func vfs_initfail_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj // var one sqlite3_vfs at bp, 88 - (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 17384 /* "__one" */ + (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 18165 /* "__one" */ if sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) != 0 { return TCL_ERROR @@ -50329,8 +51883,8 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj _ = rc if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -50338,7 +51892,7 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), uintptr(0), 0, bp+36 /* &iArg */) - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+17396 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+36 /* &iArg */) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+18177 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+36 /* &iArg */) rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+85 /* "main" */, -1, bp+36 /* &iArg */) @@ -50361,8 +51915,8 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+64 /* &db */) != 0 { @@ -50374,7 +51928,7 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 68 /* iArg */)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17409, /* "Unexpected non-z..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18190, /* "Unexpected non-z..." */ tcl.XTcl_GetStringFromObj(tls, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 68 /* iArg */))), uintptr(0)), ts+4755 /* " " */, 0)) return TCL_ERROR } @@ -50398,7 +51952,7 @@ func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uint // var zBuf [100]int8 at bp+16, 100 if (objc != 3) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17437 /* "DB [DBNAME]" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18218 /* "DB [DBNAME]" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+8 /* &db */) != 0 { @@ -50415,7 +51969,7 @@ func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uint tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) return TCL_ERROR } else { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+16 /* &zBuf[0] */, ts+17449 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 12 /* iVers */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+16 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 12 /* iVers */)))) tcl.XTcl_SetResult(tls, interp, bp+16 /* zBuf */, uintptr(1)) return TCL_OK } @@ -50439,7 +51993,7 @@ func file_control_chunksize_test(tls *libc.TLS, clientData ClientData, interp ui var rc int32 // file_control() return code if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17452 /* "DB DBNAME SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18233 /* "DB DBNAME SIZE" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0) || @@ -50475,7 +52029,7 @@ func file_control_sizehint_test(tls *libc.TLS, clientData ClientData, interp uin var rc int32 // file_control() return code if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17452 /* "DB DBNAME SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18233 /* "DB DBNAME SIZE" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0) || @@ -50507,8 +52061,8 @@ func file_control_lockproxy_test(tls *libc.TLS, clientData ClientData, interp ui // var db uintptr at bp+32, 4 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17467 /* " DB PWD" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18248 /* " DB PWD" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -50534,8 +52088,8 @@ func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintp // var z [100]int8 at bp+72, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17475 /* " DB FLAG" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18256 /* " DB FLAG" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+64 /* &db */) != 0 { @@ -50545,7 +52099,7 @@ func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintp return TCL_ERROR } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_PERSIST_WAL, bp+68 /* &bPersist */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &z[0] */, ts+17484 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 68 /* bPersist */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &z[0] */, ts+18265 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 68 /* bPersist */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+72 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -50566,8 +52120,8 @@ func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, inte // var z [100]int8 at bp+72, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17475 /* " DB FLAG" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18256 /* " DB FLAG" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+64 /* &db */) != 0 { @@ -50577,7 +52131,7 @@ func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, inte return TCL_ERROR } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_POWERSAFE_OVERWRITE, bp+68 /* &b */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &z[0] */, ts+17484 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 68 /* b */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &z[0] */, ts+18265 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 68 /* b */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+72 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -50595,8 +52149,8 @@ func file_control_vfsname(tls *libc.TLS, clientData ClientData, interp uintptr, *(*uintptr)(unsafe.Pointer(bp + 52 /* zVfsName */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17490 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18271 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &db */) != 0 { @@ -50623,7 +52177,7 @@ func file_control_reservebytes(tls *libc.TLS, clientData ClientData, interp uint var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17502 /* "DB N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18283 /* "DB N" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0) || @@ -50649,8 +52203,8 @@ func file_control_tempfilename(tls *libc.TLS, clientData ClientData, interp uint *(*uintptr)(unsafe.Pointer(bp + 52 /* zTName */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17490 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18271 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &db */) != 0 { @@ -50679,8 +52233,8 @@ func file_control_external_reader(tls *libc.TLS, clientData ClientData, interp u var rc int32 = SQLITE_OK if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17490 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18271 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -50733,8 +52287,8 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 var zId uintptr if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17507 /* " DB ID VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18288 /* " DB ID VALUE" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+56 /* &db */) != 0 { @@ -50754,7 +52308,7 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 FzName uintptr Fid int32 }{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17520 /* "unknown limit ty..." */, zId, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18301 /* "unknown limit ty..." */, zId, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+60 /* &val */) != 0 { @@ -50769,22 +52323,22 @@ var aId = [14]struct { FzName uintptr Fid int32 }{ - {FzName: ts + 17541 /* "SQLITE_LIMIT_LEN..." */}, - {FzName: ts + 17561 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, - {FzName: ts + 17585 /* "SQLITE_LIMIT_COL..." */, Fid: SQLITE_LIMIT_COLUMN}, - {FzName: ts + 17605 /* "SQLITE_LIMIT_EXP..." */, Fid: SQLITE_LIMIT_EXPR_DEPTH}, - {FzName: ts + 17629 /* "SQLITE_LIMIT_COM..." */, Fid: SQLITE_LIMIT_COMPOUND_SELECT}, - {FzName: ts + 17658 /* "SQLITE_LIMIT_VDB..." */, Fid: SQLITE_LIMIT_VDBE_OP}, - {FzName: ts + 17679 /* "SQLITE_LIMIT_FUN..." */, Fid: SQLITE_LIMIT_FUNCTION_ARG}, - {FzName: ts + 17705 /* "SQLITE_LIMIT_ATT..." */, Fid: SQLITE_LIMIT_ATTACHED}, - {FzName: ts + 17727 /* "SQLITE_LIMIT_LIK..." */, Fid: SQLITE_LIMIT_LIKE_PATTERN_LENGTH}, - {FzName: ts + 17760 /* "SQLITE_LIMIT_VAR..." */, Fid: SQLITE_LIMIT_VARIABLE_NUMBER}, - {FzName: ts + 17789 /* "SQLITE_LIMIT_TRI..." */, Fid: SQLITE_LIMIT_TRIGGER_DEPTH}, - {FzName: ts + 17816 /* "SQLITE_LIMIT_WOR..." */, Fid: SQLITE_LIMIT_WORKER_THREADS}, + {FzName: ts + 18322 /* "SQLITE_LIMIT_LEN..." */}, + {FzName: ts + 18342 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, + {FzName: ts + 18366 /* "SQLITE_LIMIT_COL..." */, Fid: SQLITE_LIMIT_COLUMN}, + {FzName: ts + 18386 /* "SQLITE_LIMIT_EXP..." */, Fid: SQLITE_LIMIT_EXPR_DEPTH}, + {FzName: ts + 18410 /* "SQLITE_LIMIT_COM..." */, Fid: SQLITE_LIMIT_COMPOUND_SELECT}, + {FzName: ts + 18439 /* "SQLITE_LIMIT_VDB..." */, Fid: SQLITE_LIMIT_VDBE_OP}, + {FzName: ts + 18460 /* "SQLITE_LIMIT_FUN..." */, Fid: SQLITE_LIMIT_FUNCTION_ARG}, + {FzName: ts + 18486 /* "SQLITE_LIMIT_ATT..." */, Fid: SQLITE_LIMIT_ATTACHED}, + {FzName: ts + 18508 /* "SQLITE_LIMIT_LIK..." */, Fid: SQLITE_LIMIT_LIKE_PATTERN_LENGTH}, + {FzName: ts + 18541 /* "SQLITE_LIMIT_VAR..." */, Fid: SQLITE_LIMIT_VARIABLE_NUMBER}, + {FzName: ts + 18570 /* "SQLITE_LIMIT_TRI..." */, Fid: SQLITE_LIMIT_TRIGGER_DEPTH}, + {FzName: ts + 18597 /* "SQLITE_LIMIT_WOR..." */, Fid: SQLITE_LIMIT_WORKER_THREADS}, // Out of range test cases - {FzName: ts + 17844 /* "SQLITE_LIMIT_TOO..." */, Fid: -1}, - {FzName: ts + 17866 /* "SQLITE_LIMIT_TOO..." */, Fid: (SQLITE_LIMIT_WORKER_THREADS + 1)}, + {FzName: ts + 18625 /* "SQLITE_LIMIT_TOO..." */, Fid: -1}, + {FzName: ts + 18647 /* "SQLITE_LIMIT_TOO..." */, Fid: (SQLITE_LIMIT_WORKER_THREADS + 1)}, } /* test1.c:6595:5 */ // tclcmd: save_prng_state @@ -50834,7 +52388,7 @@ func prng_seed(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, *(*int32)(unsafe.Pointer(bp + 16 /* i */)) = 0 *(*uintptr)(unsafe.Pointer(bp + 20 /* db */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17886 /* "SEED ?DB?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18667 /* "SEED ?DB?" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+16 /* &i */) != 0 { @@ -50859,7 +52413,7 @@ func extra_schema_checks(tls *libc.TLS, clientData ClientData, interp uintptr, o *(*int32)(unsafe.Pointer(bp + 8 /* i */)) = 0 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+8 /* &i */) != 0 { @@ -50912,13 +52466,13 @@ func test_pcache_stats(tls *libc.TLS, clientData ClientData, interp uintptr, obj sqlite3.Xsqlite3PcacheStats(tls, bp /* &nCurrent */, bp+4 /* &nMax */, bp+8 /* &nMin */, bp+12 /* &nRecyclable */) pRet = tcl.XTcl_NewObj(tls) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17904 /* "current" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18685 /* "current" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp /* nCurrent */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17912 /* "max" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18693 /* "max" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4 /* nMax */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17916 /* "min" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18697 /* "min" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 8 /* nMin */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17920 /* "recyclable" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18701 /* "recyclable" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 12 /* nRecyclable */)))) tcl.XTcl_SetObjResult(tls, interp, pRet) @@ -50929,7 +52483,7 @@ func test_pcache_stats(tls *libc.TLS, clientData ClientData, interp uintptr, obj func test_unlock_notify_cb(tls *libc.TLS, aArg uintptr, nArg int32) { /* test1.c:6808:13: */ var ii int32 for ii = 0; ii < nArg; ii++ { - tcl.XTcl_EvalEx(tls, *(*uintptr)(unsafe.Pointer(aArg + uintptr(ii)*4)), ts+13372 /* "unlock_notify" */, -1, TCL_EVAL_GLOBAL) + tcl.XTcl_EvalEx(tls, *(*uintptr)(unsafe.Pointer(aArg + uintptr(ii)*4)), ts+14153 /* "unlock_notify" */, -1, TCL_EVAL_GLOBAL) } } @@ -50968,7 +52522,7 @@ func test_wal_checkpoint(tls *libc.TLS, clientData ClientData, interp uintptr, o var rc int32 if (objc != 3) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17931 /* "DB ?NAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18712 /* "DB ?NAME?" */) return TCL_ERROR } @@ -51013,10 +52567,10 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr *(*int32)(unsafe.Pointer(bp + 64 /* nCkpt */)) = -555 var pRet uintptr - *(*[5]uintptr)(unsafe.Pointer(bp + 40 /* aMode */)) = [5]uintptr{ts + 17941 /* "passive" */, ts + 17949 /* "full" */, ts + 17954 /* "restart" */, ts + 17962 /* "truncate" */, uintptr(0)} + *(*[5]uintptr)(unsafe.Pointer(bp + 40 /* aMode */)) = [5]uintptr{ts + 18722 /* "passive" */, ts + 18730 /* "full" */, ts + 18735 /* "restart" */, ts + 18743 /* "truncate" */, uintptr(0)} if (objc != 3) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17971 /* "DB MODE ?NAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18752 /* "DB MODE ?NAME?" */) return TCL_ERROR } @@ -51024,7 +52578,7 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))) } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0) || ((TCL_OK != tcl.XTcl_GetIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+36 /* &eMode */)) && - (TCL_OK != tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+40 /* &aMode[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+17986 /* "mode" */, 0, bp+36 /* &eMode */))) { + (TCL_OK != tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+40 /* &aMode[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+18767 /* "mode" */, 0, bp+36 /* &eMode */))) { return TCL_ERROR } @@ -51061,7 +52615,7 @@ func test_wal_autocheckpoint(tls *libc.TLS, clientData ClientData, interp uintpt // var iVal int32 at bp+4, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17991 /* "DB VALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18772 /* "DB VALUE" */) return TCL_ERROR } @@ -51110,7 +52664,7 @@ func test_sqlite3_log(tls *libc.TLS, clientData ClientData, interp uintptr, objc defer tls.Free(32) if objc > 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11583 /* "SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10650 /* "SCRIPT" */) return TCL_ERROR } if logcallback.FpObj != 0 { @@ -51146,16 +52700,16 @@ func runAsObjProc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var cmdInfo Tcl_CmdInfo at bp+48, 32 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18000 /* "COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18781 /* "COMMAND ..." */) return TCL_ERROR } if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539, /* "command not foun..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } if (*Tcl_CmdInfo)(unsafe.Pointer(bp+48 /* &cmdInfo */)).FobjProc == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18012, /* "command has no o..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18793, /* "command has no o..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } @@ -51200,7 +52754,7 @@ func printExplainQueryPlan(tls *libc.TLS, pStmt uintptr) int32 { /* test1.c:7063 var iFrom int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 2) var zDetail uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 3) - libc.Xprintf(tls, ts+18037 /* "%d %d %d %s\n" */, libc.VaList(bp+8, iSelectid, iOrder, iFrom, zDetail)) + libc.Xprintf(tls, ts+18818 /* "%d %d %d %s\n" */, libc.VaList(bp+8, iSelectid, iOrder, iFrom, zDetail)) } return sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */))) @@ -51214,7 +52768,7 @@ func test_print_eqp(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var pStmt uintptr at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &pStmt */) != 0 { @@ -51235,10 +52789,10 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i defer tls.Free(128) *(*[4]Verb)(unsafe.Pointer(bp + 64 /* aVerb */)) = [4]Verb{ - {FzName: ts + 18050 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT}, - {FzName: ts + 18082 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_SORTER_MMAP}, - {FzName: ts + 18110 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_IMPOSTER}, - {FzName: ts + 18135 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS}, + {FzName: ts + 18831 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT}, + {FzName: ts + 18863 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_SORTER_MMAP}, + {FzName: ts + 18891 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_IMPOSTER}, + {FzName: ts + 18916 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS}, } // var iVerb int32 at bp+96, 4 @@ -51246,12 +52800,12 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var rc int32 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18170 /* "VERB ARGS..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18951 /* "VERB ARGS..." */) return TCL_ERROR } rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+64 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+18183 /* "VERB" */, 0, bp+96 /* &iVerb */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+64 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+18964 /* "VERB" */, 0, bp+96 /* &iVerb */) if rc != TCL_OK { return rc } @@ -51277,7 +52831,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var val int32 at bp+104, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18188 /* "ONOFF" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18969 /* "ONOFF" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+104 /* &val */) != 0 { @@ -51295,7 +52849,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+108, 4 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18194 /* "DB LIMIT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18975 /* "DB LIMIT" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), bp+108 /* &db */) != 0 { @@ -51319,7 +52873,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+116, 4 if objc != 6 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18203 /* "DB dbName onOff ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18984 /* "DB dbName onOff ..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), bp+116 /* &db */) != 0 { @@ -51446,7 +53000,7 @@ func test_getrusage(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 libc.Xgetrusage(tls, RUSAGE_SELF, bp+48 /* &r */) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1024]int8{})), bp+120, /* &buf[0] */ - ts+18224, /* "ru_utime=%d.%06d..." */ + ts+19005, /* "ru_utime=%d.%06d..." */ libc.VaList(bp, int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_utime.Ftv_sec), int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_utime.Ftv_usec), int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_stime.Ftv_sec), int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_stime.Ftv_usec), int32(*(*int32)(unsafe.Pointer(bp + 48 /* &r */ + 32 /* &.ru_minflt */))), int32(*(*int32)(unsafe.Pointer(bp + 48 /* &r */ + 36 /* &.ru_majflt */))))) @@ -51472,7 +53026,7 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj var mask int32 = 0 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18284 /* "DB OPT BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19065 /* "DB OPT BOOLEAN" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+56 /* &db */) != 0 { @@ -51498,7 +53052,7 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj FzOptName uintptr Fmask int32 }{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18299, /* "unknown optimiza..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19080, /* "unknown optimiza..." */ uintptr(0))) for i = 0; uint32(i) < (uint32(unsafe.Sizeof(aOpt)) / uint32(unsafe.Sizeof(struct { FzOptName uintptr @@ -51516,19 +53070,19 @@ var aOpt = [13]struct { FzOptName uintptr Fmask int32 }{ - {FzOptName: ts + 18340 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, - {FzOptName: ts + 18344 /* "none" */}, - {FzOptName: ts + 18349 /* "query-flattener" */, Fmask: SQLITE_QueryFlattener}, - {FzOptName: ts + 18365 /* "groupby-order" */, Fmask: SQLITE_GroupByOrder}, - {FzOptName: ts + 18379 /* "factor-constants" */, Fmask: SQLITE_FactorOutConst}, - {FzOptName: ts + 18396 /* "distinct-opt" */, Fmask: SQLITE_DistinctOpt}, - {FzOptName: ts + 18409 /* "cover-idx-scan" */, Fmask: SQLITE_CoverIdxScan}, - {FzOptName: ts + 18424 /* "order-by-idx-joi..." */, Fmask: SQLITE_OrderByIdxJoin}, - {FzOptName: ts + 18442 /* "transitive" */, Fmask: SQLITE_Transitive}, - {FzOptName: ts + 18453 /* "omit-noop-join" */, Fmask: SQLITE_OmitNoopJoin}, - {FzOptName: ts + 18468 /* "stat4" */, Fmask: SQLITE_Stat4}, - {FzOptName: ts + 18474 /* "skip-scan" */, Fmask: SQLITE_SkipScan}, - {FzOptName: ts + 18484 /* "push-down" */, Fmask: SQLITE_PushDown}, + {FzOptName: ts + 19121 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, + {FzOptName: ts + 19125 /* "none" */}, + {FzOptName: ts + 19130 /* "query-flattener" */, Fmask: SQLITE_QueryFlattener}, + {FzOptName: ts + 19146 /* "groupby-order" */, Fmask: SQLITE_GroupByOrder}, + {FzOptName: ts + 19160 /* "factor-constants" */, Fmask: SQLITE_FactorOutConst}, + {FzOptName: ts + 19177 /* "distinct-opt" */, Fmask: SQLITE_DistinctOpt}, + {FzOptName: ts + 19190 /* "cover-idx-scan" */, Fmask: SQLITE_CoverIdxScan}, + {FzOptName: ts + 19205 /* "order-by-idx-joi..." */, Fmask: SQLITE_OrderByIdxJoin}, + {FzOptName: ts + 19223 /* "transitive" */, Fmask: SQLITE_Transitive}, + {FzOptName: ts + 19234 /* "omit-noop-join" */, Fmask: SQLITE_OmitNoopJoin}, + {FzOptName: ts + 19249 /* "stat4" */, Fmask: SQLITE_Stat4}, + {FzOptName: ts + 19255 /* "skip-scan" */, Fmask: SQLITE_SkipScan}, + {FzOptName: ts + 19265 /* "push-down" */, Fmask: SQLITE_PushDown}, } /* test1.c:7503:5 */ // load_static_extension DB NAME ... @@ -51546,7 +53100,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr var rc int32 *(*uintptr)(unsafe.Pointer(bp + 68 /* zErrMsg */)) = uintptr(0) if objc < 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18494 /* "DB NAME ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19275 /* "DB NAME ..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+64 /* &db */) != 0 { @@ -51566,7 +53120,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr FzExtName uintptr FpInit uintptr }{})))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18506 /* "no such extensio..." */, zName, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19287 /* "no such extensio..." */, zName, uintptr(0))) return TCL_ERROR } if aExtension[i].FpInit != 0 { @@ -51575,7 +53129,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr rc = SQLITE_OK } if ((rc != SQLITE_OK) && (rc != (SQLITE_OK | (int32(1) << 8)))) || (*(*uintptr)(unsafe.Pointer(bp + 68 /* zErrMsg */)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18526 /* "initialization o..." */, zName, ts+18545 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 68 /* zErrMsg */)), + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+19307 /* "initialization o..." */, zName, ts+19326 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 68 /* zErrMsg */)), uintptr(0))) sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 68 /* zErrMsg */))) return TCL_ERROR @@ -51588,25 +53142,25 @@ var aExtension = [22]struct { FzExtName uintptr FpInit uintptr }{ - {FzExtName: ts + 18555 /* "amatch" */, FpInit: 0}, - {FzExtName: ts + 18562 /* "appendvfs" */, FpInit: 0}, + {FzExtName: ts + 19336 /* "amatch" */, FpInit: 0}, + {FzExtName: ts + 19343 /* "appendvfs" */, FpInit: 0}, {FzExtName: ts + 3921 /* "carray" */, FpInit: 0}, - {FzExtName: ts + 18572 /* "closure" */, FpInit: 0}, + {FzExtName: ts + 19353 /* "closure" */, FpInit: 0}, {FzExtName: ts + 4676 /* "csv" */, FpInit: 0}, {FzExtName: ts + 4699 /* "decimal" */, FpInit: 0}, {FzExtName: ts + 4757 /* "eval" */, FpInit: 0}, {FzExtName: ts + 4835 /* "explain" */, FpInit: 0}, - {FzExtName: ts + 18580 /* "fileio" */, FpInit: 0}, + {FzExtName: ts + 19361 /* "fileio" */, FpInit: 0}, {FzExtName: ts + 5344 /* "fuzzer" */, FpInit: 0}, {FzExtName: ts + 5368 /* "ieee754" */, FpInit: 0}, - {FzExtName: ts + 18587 /* "nextchar" */, FpInit: 0}, + {FzExtName: ts + 19368 /* "nextchar" */, FpInit: 0}, {FzExtName: ts + 5948 /* "percentile" */, FpInit: 0}, {FzExtName: ts + 6023 /* "prefixes" */, FpInit: 0}, {FzExtName: ts + 6335 /* "regexp" */, FpInit: 0}, {FzExtName: ts + 6350 /* "remember" */, FpInit: 0}, - {FzExtName: ts + 18596 /* "series" */, FpInit: 0}, - {FzExtName: ts + 18603 /* "spellfix" */, FpInit: 0}, - {FzExtName: ts + 18612 /* "totype" */, FpInit: 0}, + {FzExtName: ts + 19377 /* "series" */, FpInit: 0}, + {FzExtName: ts + 19384 /* "spellfix" */, FpInit: 0}, + {FzExtName: ts + 19393 /* "totype" */, FpInit: 0}, {FzExtName: ts + 8367 /* "unionvtab" */, FpInit: 0}, {FzExtName: ts + 8909 /* "wholenumber" */, FpInit: 0}, {FzExtName: ts + 9012 /* "zipfile" */, FpInit: 0}, @@ -51621,7 +53175,7 @@ func sorter_test_fakeheap(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var bArg int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } @@ -51676,7 +53230,7 @@ func sorter_test_sort4_helper(tls *libc.TLS, clientData uintptr, interp uintptr, if !(objc != 5) { goto __1 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18624 /* "DB SQL1 NSTEP SQ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19400 /* "DB SQL1 NSTEP SQ..." */) return TCL_ERROR __1: ; @@ -51714,7 +53268,7 @@ __5: if !(a != sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), iB)) { goto __8 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18643 /* "data error: (a!=..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19419 /* "data error: (a!=..." */, 0)) return TCL_ERROR __8: ; @@ -51767,14 +53321,14 @@ __14: if !(iCksum1 != iCksum2) { goto __15 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+18662 /* "checksum mismatc..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19438 /* "checksum mismatc..." */, 0)) return TCL_ERROR __15: ; return TCL_OK sql_error: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18680 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19456 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))), 0)) return TCL_ERROR } @@ -51802,7 +53356,7 @@ func test_bad_behavior(tls *libc.TLS, clientData ClientData, interp uintptr, obj var a uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18692 /* "TYPE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19468 /* "TYPE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &iType */) != 0 { @@ -51840,7 +53394,7 @@ func test_bad_behavior(tls *libc.TLS, clientData ClientData, interp uintptr, obj } case 4: { - tcl.XTcl_Panic(tls, ts+18697 /* "Deliberate panic" */, 0) + tcl.XTcl_Panic(tls, ts+19473 /* "Deliberate panic" */, 0) break } @@ -51884,20 +53438,20 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o // var db uintptr at bp+16, 4 if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18714 /* "DB SETTING [VALU..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19490 /* "DB SETTING [VALU..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+16 /* &db */) != 0 { return TCL_ERROR } zSetting = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) - if sqlite3.Xsqlite3_strglob(tls, ts+18733 /* "SQLITE_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19509 /* "SQLITE_*" */, zSetting) == 0 { zSetting += uintptr(7) } - if sqlite3.Xsqlite3_strglob(tls, ts+18742 /* "DBCONFIG_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19518 /* "DBCONFIG_*" */, zSetting) == 0 { zSetting += uintptr(9) } - if sqlite3.Xsqlite3_strglob(tls, ts+18753 /* "ENABLE_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19529 /* "ENABLE_*" */, zSetting) == 0 { zSetting += uintptr(7) } for i = 0; i < (int32(uint32(unsafe.Sizeof(aSetting)) / uint32(unsafe.Sizeof(struct { @@ -51913,7 +53467,7 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o FeVal int32 }{})))) { tcl.XTcl_SetObjResult(tls, interp, - tcl.XTcl_NewStringObj(tls, ts+18762 /* "unknown sqlite3_..." */, -1)) + tcl.XTcl_NewStringObj(tls, ts+19538 /* "unknown sqlite3_..." */, -1)) return TCL_ERROR } if objc == 4 { @@ -51932,20 +53486,20 @@ var aSetting = [14]struct { FzName uintptr FeVal int32 }{ - {FzName: ts + 18796 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, - {FzName: ts + 18801 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, - {FzName: ts + 18809 /* "FTS3_TOKENIZER" */, FeVal: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, - {FzName: ts + 18824 /* "LOAD_EXTENSION" */, FeVal: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, - {FzName: ts + 18839 /* "NO_CKPT_ON_CLOSE" */, FeVal: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, - {FzName: ts + 18856 /* "QPSG" */, FeVal: SQLITE_DBCONFIG_ENABLE_QPSG}, - {FzName: ts + 18861 /* "TRIGGER_EQP" */, FeVal: SQLITE_DBCONFIG_TRIGGER_EQP}, - {FzName: ts + 18873 /* "RESET_DB" */, FeVal: SQLITE_DBCONFIG_RESET_DATABASE}, - {FzName: ts + 18882 /* "DEFENSIVE" */, FeVal: SQLITE_DBCONFIG_DEFENSIVE}, - {FzName: ts + 18892 /* "WRITABLE_SCHEMA" */, FeVal: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, - {FzName: ts + 18908 /* "LEGACY_ALTER_TAB..." */, FeVal: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, - {FzName: ts + 18927 /* "DQS_DML" */, FeVal: SQLITE_DBCONFIG_DQS_DML}, - {FzName: ts + 18935 /* "DQS_DDL" */, FeVal: SQLITE_DBCONFIG_DQS_DDL}, - {FzName: ts + 18943 /* "LEGACY_FILE_FORM..." */, FeVal: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, + {FzName: ts + 19572 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, + {FzName: ts + 19577 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, + {FzName: ts + 19585 /* "FTS3_TOKENIZER" */, FeVal: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, + {FzName: ts + 19600 /* "LOAD_EXTENSION" */, FeVal: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, + {FzName: ts + 19615 /* "NO_CKPT_ON_CLOSE" */, FeVal: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, + {FzName: ts + 19632 /* "QPSG" */, FeVal: SQLITE_DBCONFIG_ENABLE_QPSG}, + {FzName: ts + 19637 /* "TRIGGER_EQP" */, FeVal: SQLITE_DBCONFIG_TRIGGER_EQP}, + {FzName: ts + 19649 /* "RESET_DB" */, FeVal: SQLITE_DBCONFIG_RESET_DATABASE}, + {FzName: ts + 19658 /* "DEFENSIVE" */, FeVal: SQLITE_DBCONFIG_DEFENSIVE}, + {FzName: ts + 19668 /* "WRITABLE_SCHEMA" */, FeVal: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, + {FzName: ts + 19684 /* "LEGACY_ALTER_TAB..." */, FeVal: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, + {FzName: ts + 19703 /* "DQS_DML" */, FeVal: SQLITE_DBCONFIG_DQS_DML}, + {FzName: ts + 19711 /* "DQS_DDL" */, FeVal: SQLITE_DBCONFIG_DQS_DDL}, + {FzName: ts + 19719 /* "LEGACY_FILE_FORM..." */, FeVal: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, } /* test1.c:7986:5 */ // tclcmd: sqlite3_txn_state DB ?SCHEMA? @@ -51963,7 +53517,7 @@ func test_sqlite3_txn_state(tls *libc.TLS, clientData uintptr, interp uintptr, o var iTxn int32 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18962 /* "DB ?SCHEMA?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19738 /* "DB ?SCHEMA?" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -51994,7 +53548,7 @@ func test_dbconfig_maindbname_icecube(tls *libc.TLS, clientData uintptr, interp if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+8 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+18974 /* "icecube" */)) + rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+19750 /* "icecube" */)) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_OK } @@ -52007,7 +53561,7 @@ func test_mmap_warm(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 defer tls.Free(4) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18982 /* "DB ?DBNAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19758 /* "DB ?DBNAME?" */) return TCL_ERROR } else { var rc int32 @@ -52044,7 +53598,7 @@ func test_write_db(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18994 /* "DB OFFSET DATA" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19770 /* "DB OFFSET DATA" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -52114,7 +53668,7 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var x [16]uint32 at bp+232, 64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19009 /* "HEXDB" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19785 /* "HEXDB" */) return TCL_ERROR } zIn = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -52131,17 +53685,17 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i if a == uintptr(0) { // var pgsz int32 at bp+220, 4 - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19015 /* "| size %d pagesi..." */, libc.VaList(bp, bp+216 /* &n */, bp+220 /* &pgsz */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19791 /* "| size %d pagesi..." */, libc.VaList(bp, bp+216 /* &n */, bp+220 /* &pgsz */)) if rc != 2 { continue } if ((*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) < 512) || (*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) > 65536)) || ((*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) - 1)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19037 /* "bad 'pagesize' f..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19813 /* "bad 'pagesize' f..." */, uintptr(0))) return TCL_ERROR } *(*int32)(unsafe.Pointer(bp + 216 /* n */)) = (((*(*int32)(unsafe.Pointer(bp + 216 /* n */)) + *(*int32)(unsafe.Pointer(bp + 220 /* pgsz */))) - 1) & ^(*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) - 1)) // Round n up to the next multiple of pgsz if *(*int32)(unsafe.Pointer(bp + 216 /* n */)) < 512 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19058 /* "bad 'size' field" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19834 /* "bad 'size' field" */, uintptr(0))) return TCL_ERROR } a = libc.Xmalloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 216 /* n */)))) @@ -52152,12 +53706,12 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i libc.Xmemset(tls, a, 0, uint32(*(*int32)(unsafe.Pointer(bp + 216 /* n */)))) continue } - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19075 /* "| page %d offset..." */, libc.VaList(bp+64, bp+224 /* &j */, bp+228 /* &k */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19851 /* "| page %d offset..." */, libc.VaList(bp+64, bp+224 /* &j */, bp+228 /* &k */)) if rc == 2 { iOffset = *(*int32)(unsafe.Pointer(bp + 228 /* k */)) continue } - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19095, /* "| %d: %x %x %x %..." */ + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19871, /* "| %d: %x %x %x %..." */ libc.VaList(bp+80, bp+224 /* &j */, (bp+232 /* &x */), (bp+232 /* &x */ +1*4), (bp+232 /* &x */ +2*4), (bp+232 /* &x */ +3*4), (bp+232 /* &x */ +4*4), (bp+232 /* &x */ +5*4), (bp+232 /* &x */ +6*4), (bp+232 /* &x */ +7*4), (bp+232 /* &x */ +8*4), (bp+232 /* &x */ +9*4), (bp+232 /* &x */ +10*4), (bp+232 /* &x */ +11*4), (bp+232 /* &x */ +12*4), (bp+232 /* &x */ +13*4), (bp+232 /* &x */ +14*4), (bp+232 /* &x */ +15*4))) if rc == 17 { @@ -52194,56 +53748,56 @@ func Sqlitetest1_Init(tls *libc.TLS, interp uintptr) int32 { /* test1.c:8271:5: tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd1[i].FzName, aObjCmd1[i].FxProc, aObjCmd1[i].FclientData, uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+19149, /* "sqlite_search_co..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19925, /* "sqlite_search_co..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_search_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19169, /* "sqlite_found_cou..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19945, /* "sqlite_found_cou..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_found_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19188, /* "sqlite_sort_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19964, /* "sqlite_sort_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sort_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19206, /* "sqlite3_max_blob..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19982, /* "sqlite3_max_blob..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_max_blobsize)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19227, /* "sqlite_like_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20003, /* "sqlite_like_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_like_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19245, /* "sqlite_interrupt..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20021, /* "sqlite_interrupt..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_interrupt_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19268, /* "sqlite_open_file..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20044, /* "sqlite_open_file..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_open_file_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19291, /* "sqlite_current_t..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20067, /* "sqlite_current_t..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_current_time)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19311, /* "sqlite3_xferopt_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20087, /* "sqlite3_xferopt_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_xferopt_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19333, /* "sqlite3_pager_re..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20109, /* "sqlite3_pager_re..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_readdb_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19360, /* "sqlite3_pager_wr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20136, /* "sqlite3_pager_wr..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writedb_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19388, /* "sqlite3_pager_wr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20164, /* "sqlite3_pager_wr..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writej_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19415, /* "unaligned_string..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20191, /* "unaligned_string..." */ uintptr(unsafe.Pointer(&unaligned_string_counter)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19440, /* "sqlite_last_need..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20216, /* "sqlite_last_need..." */ uintptr(unsafe.Pointer(&pzNeededCollation)), (TCL_LINK_STRING | TCL_LINK_READ_ONLY)) { - tcl.XTcl_LinkVar(tls, interp, ts+19469, /* "sqlite_query_pla..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20245, /* "sqlite_query_pla..." */ uintptr(unsafe.Pointer(&query_plan)), (TCL_LINK_STRING | TCL_LINK_READ_ONLY)) } - tcl.XTcl_LinkVar(tls, interp, ts+19487, /* "sqlite_opentemp_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20263, /* "sqlite_opentemp_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_opentemp_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19509, /* "sqlite_static_bi..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20285, /* "sqlite_static_bi..." */ uintptr(unsafe.Pointer(&sqlite_static_bind_value)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19534, /* "sqlite_static_bi..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20310, /* "sqlite_static_bi..." */ uintptr(unsafe.Pointer(&sqlite_static_bind_nbyte)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19559, /* "sqlite_temp_dire..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20335, /* "sqlite_temp_dire..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_temp_directory)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19581, /* "sqlite_data_dire..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20357, /* "sqlite_data_dire..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_data_directory)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19603, /* "bitmask_size" */ + tcl.XTcl_LinkVar(tls, interp, ts+20379, /* "bitmask_size" */ uintptr(unsafe.Pointer(&bitmask_size)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) - tcl.XTcl_LinkVar(tls, interp, ts+19616, /* "longdouble_size" */ + tcl.XTcl_LinkVar(tls, interp, ts+20392, /* "longdouble_size" */ uintptr(unsafe.Pointer(&longdouble_size)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) - tcl.XTcl_LinkVar(tls, interp, ts+19632, /* "sqlite_sync_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20408, /* "sqlite_sync_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sync_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19650, /* "sqlite_fullsync_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20426, /* "sqlite_fullsync_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_fullsync_count)), TCL_LINK_INT) return TCL_OK } @@ -52253,227 +53807,227 @@ var aCmd1 = [40]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 19672 /* "db_enter" */, FxProc: 0}, - {FzName: ts + 19681 /* "db_leave" */, FxProc: 0}, - {FzName: ts + 19690 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19710 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19732 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19753 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19773 /* "sqlite3_snprintf..." */, FxProc: 0}, - {FzName: ts + 19794 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19818 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19841 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19864 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19890 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19913 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19936 /* "sqlite3_snprintf..." */, FxProc: 0}, - {FzName: ts + 19957 /* "sqlite3_last_ins..." */, FxProc: 0}, - {FzName: ts + 19983 /* "sqlite3_exec_pri..." */, FxProc: 0}, - {FzName: ts + 20003 /* "sqlite3_exec_hex" */, FxProc: 0}, - {FzName: ts + 20020 /* "sqlite3_exec" */, FxProc: 0}, - {FzName: ts + 20033 /* "sqlite3_exec_nr" */, FxProc: 0}, - {FzName: ts + 20049 /* "sqlite3_get_tabl..." */, FxProc: 0}, - {FzName: ts + 20074 /* "sqlite3_close" */, FxProc: 0}, - {FzName: ts + 20088 /* "sqlite3_close_v2" */, FxProc: 0}, - {FzName: ts + 20105 /* "sqlite3_create_f..." */, FxProc: 0}, - {FzName: ts + 20129 /* "sqlite3_create_a..." */, FxProc: 0}, - {FzName: ts + 20154 /* "sqlite3_drop_mod..." */, FxProc: 0}, - {FzName: ts + 20175 /* "sqlite_register_..." */, FxProc: 0}, - {FzName: ts + 20205 /* "sqlite_abort" */, FxProc: 0}, - {FzName: ts + 20218 /* "sqlite_bind" */, FxProc: 0}, - {FzName: ts + 20230 /* "breakpoint" */, FxProc: 0}, - {FzName: ts + 20241 /* "sqlite3_key" */, FxProc: 0}, - {FzName: ts + 20253 /* "sqlite3_rekey" */, FxProc: 0}, - {FzName: ts + 20267 /* "sqlite_set_magic" */, FxProc: 0}, - {FzName: ts + 20284 /* "sqlite3_interrup..." */, FxProc: 0}, - {FzName: ts + 20302 /* "sqlite_delete_fu..." */, FxProc: 0}, - {FzName: ts + 20325 /* "sqlite_delete_co..." */, FxProc: 0}, - {FzName: ts + 20349 /* "sqlite3_get_auto..." */, FxProc: 0}, - {FzName: ts + 20372 /* "sqlite3_busy_tim..." */, FxProc: 0}, - {FzName: ts + 20393 /* "printf" */, FxProc: 0}, - {FzName: ts + 20400 /* "sqlite3IoTrace" */, FxProc: 0}, - {FzName: ts + 20415 /* "clang_sanitize_a..." */, FxProc: 0}, + {FzName: ts + 20448 /* "db_enter" */, FxProc: 0}, + {FzName: ts + 20457 /* "db_leave" */, FxProc: 0}, + {FzName: ts + 20466 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20486 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20508 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20529 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20549 /* "sqlite3_snprintf..." */, FxProc: 0}, + {FzName: ts + 20570 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20594 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20617 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20640 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20666 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20689 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20712 /* "sqlite3_snprintf..." */, FxProc: 0}, + {FzName: ts + 20733 /* "sqlite3_last_ins..." */, FxProc: 0}, + {FzName: ts + 20759 /* "sqlite3_exec_pri..." */, FxProc: 0}, + {FzName: ts + 20779 /* "sqlite3_exec_hex" */, FxProc: 0}, + {FzName: ts + 20796 /* "sqlite3_exec" */, FxProc: 0}, + {FzName: ts + 20809 /* "sqlite3_exec_nr" */, FxProc: 0}, + {FzName: ts + 20825 /* "sqlite3_get_tabl..." */, FxProc: 0}, + {FzName: ts + 20850 /* "sqlite3_close" */, FxProc: 0}, + {FzName: ts + 20864 /* "sqlite3_close_v2" */, FxProc: 0}, + {FzName: ts + 20881 /* "sqlite3_create_f..." */, FxProc: 0}, + {FzName: ts + 20905 /* "sqlite3_create_a..." */, FxProc: 0}, + {FzName: ts + 20930 /* "sqlite3_drop_mod..." */, FxProc: 0}, + {FzName: ts + 20951 /* "sqlite_register_..." */, FxProc: 0}, + {FzName: ts + 20981 /* "sqlite_abort" */, FxProc: 0}, + {FzName: ts + 20994 /* "sqlite_bind" */, FxProc: 0}, + {FzName: ts + 21006 /* "breakpoint" */, FxProc: 0}, + {FzName: ts + 21017 /* "sqlite3_key" */, FxProc: 0}, + {FzName: ts + 21029 /* "sqlite3_rekey" */, FxProc: 0}, + {FzName: ts + 21043 /* "sqlite_set_magic" */, FxProc: 0}, + {FzName: ts + 21060 /* "sqlite3_interrup..." */, FxProc: 0}, + {FzName: ts + 21078 /* "sqlite_delete_fu..." */, FxProc: 0}, + {FzName: ts + 21101 /* "sqlite_delete_co..." */, FxProc: 0}, + {FzName: ts + 21125 /* "sqlite3_get_auto..." */, FxProc: 0}, + {FzName: ts + 21148 /* "sqlite3_busy_tim..." */, FxProc: 0}, + {FzName: ts + 21169 /* "printf" */, FxProc: 0}, + {FzName: ts + 21176 /* "sqlite3IoTrace" */, FxProc: 0}, + {FzName: ts + 21191 /* "clang_sanitize_a..." */, FxProc: 0}, } /* test1.c:8288:5 */ var aObjCmd1 = [161]struct { FzName uintptr FxProc uintptr FclientData uintptr }{ - {FzName: ts + 20438 /* "sqlite3_db_confi..." */, FxProc: 0}, - {FzName: ts + 20456 /* "sqlite3_txn_stat..." */, FxProc: 0}, - {FzName: ts + 20474 /* "bad_behavior" */, FxProc: 0, FclientData: 0}, - {FzName: ts + 20487 /* "register_dbstat_..." */, FxProc: 0}, - {FzName: ts + 20508 /* "sqlite3_connecti..." */, FxProc: 0}, - {FzName: ts + 20535 /* "intarray_addr" */, FxProc: 0}, - {FzName: ts + 20549 /* "int64array_addr" */, FxProc: 0}, - {FzName: ts + 20565 /* "doublearray_addr" */, FxProc: 0}, - {FzName: ts + 20582 /* "textarray_addr" */, FxProc: 0}, - {FzName: ts + 20597 /* "sqlite3_bind_int" */, FxProc: 0}, - {FzName: ts + 20614 /* "sqlite3_bind_zer..." */, FxProc: 0}, - {FzName: ts + 20636 /* "sqlite3_bind_zer..." */, FxProc: 0}, - {FzName: ts + 20660 /* "sqlite3_bind_int..." */, FxProc: 0}, - {FzName: ts + 20679 /* "sqlite3_bind_dou..." */, FxProc: 0}, - {FzName: ts + 20699 /* "sqlite3_bind_nul..." */, FxProc: 0}, - {FzName: ts + 20717 /* "sqlite3_bind_tex..." */, FxProc: 0}, - {FzName: ts + 20735 /* "sqlite3_bind_tex..." */, FxProc: 0}, - {FzName: ts + 20755 /* "sqlite3_bind_blo..." */, FxProc: 0}, - {FzName: ts + 20773 /* "sqlite3_carray_b..." */, FxProc: 0}, - {FzName: ts + 20793 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20822 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20850 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20879 /* "sqlite3_clear_bi..." */, FxProc: 0}, - {FzName: ts + 20902 /* "sqlite3_sleep" */, FxProc: 0}, - {FzName: ts + 20916 /* "sqlite3_errcode" */, FxProc: 0}, - {FzName: ts + 20932 /* "sqlite3_extended..." */, FxProc: 0}, - {FzName: ts + 20957 /* "sqlite3_errmsg" */, FxProc: 0}, - {FzName: ts + 20972 /* "sqlite3_errmsg16" */, FxProc: 0}, - {FzName: ts + 20989 /* "sqlite3_open" */, FxProc: 0}, - {FzName: ts + 21002 /* "sqlite3_open16" */, FxProc: 0}, - {FzName: ts + 21017 /* "sqlite3_open_v2" */, FxProc: 0}, - {FzName: ts + 21033 /* "sqlite3_complete..." */, FxProc: 0}, - {FzName: ts + 21052 /* "sqlite3_normaliz..." */, FxProc: 0}, + {FzName: ts + 21214 /* "sqlite3_db_confi..." */, FxProc: 0}, + {FzName: ts + 21232 /* "sqlite3_txn_stat..." */, FxProc: 0}, + {FzName: ts + 21250 /* "bad_behavior" */, FxProc: 0, FclientData: 0}, + {FzName: ts + 21263 /* "register_dbstat_..." */, FxProc: 0}, + {FzName: ts + 21284 /* "sqlite3_connecti..." */, FxProc: 0}, + {FzName: ts + 21311 /* "intarray_addr" */, FxProc: 0}, + {FzName: ts + 21325 /* "int64array_addr" */, FxProc: 0}, + {FzName: ts + 21341 /* "doublearray_addr" */, FxProc: 0}, + {FzName: ts + 21358 /* "textarray_addr" */, FxProc: 0}, + {FzName: ts + 21373 /* "sqlite3_bind_int" */, FxProc: 0}, + {FzName: ts + 21390 /* "sqlite3_bind_zer..." */, FxProc: 0}, + {FzName: ts + 21412 /* "sqlite3_bind_zer..." */, FxProc: 0}, + {FzName: ts + 21436 /* "sqlite3_bind_int..." */, FxProc: 0}, + {FzName: ts + 21455 /* "sqlite3_bind_dou..." */, FxProc: 0}, + {FzName: ts + 21475 /* "sqlite3_bind_nul..." */, FxProc: 0}, + {FzName: ts + 21493 /* "sqlite3_bind_tex..." */, FxProc: 0}, + {FzName: ts + 21511 /* "sqlite3_bind_tex..." */, FxProc: 0}, + {FzName: ts + 21531 /* "sqlite3_bind_blo..." */, FxProc: 0}, + {FzName: ts + 21549 /* "sqlite3_carray_b..." */, FxProc: 0}, + {FzName: ts + 21569 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21598 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21626 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21655 /* "sqlite3_clear_bi..." */, FxProc: 0}, + {FzName: ts + 21678 /* "sqlite3_sleep" */, FxProc: 0}, + {FzName: ts + 21692 /* "sqlite3_errcode" */, FxProc: 0}, + {FzName: ts + 21708 /* "sqlite3_extended..." */, FxProc: 0}, + {FzName: ts + 21733 /* "sqlite3_errmsg" */, FxProc: 0}, + {FzName: ts + 21748 /* "sqlite3_errmsg16" */, FxProc: 0}, + {FzName: ts + 21765 /* "sqlite3_open" */, FxProc: 0}, + {FzName: ts + 21778 /* "sqlite3_open16" */, FxProc: 0}, + {FzName: ts + 21793 /* "sqlite3_open_v2" */, FxProc: 0}, + {FzName: ts + 21809 /* "sqlite3_complete..." */, FxProc: 0}, + {FzName: ts + 21828 /* "sqlite3_normaliz..." */, FxProc: 0}, - {FzName: ts + 21070 /* "sqlite3_prepare" */, FxProc: 0}, - {FzName: ts + 21086 /* "sqlite3_prepare1..." */, FxProc: 0}, - {FzName: ts + 21104 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21123 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21142 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21166 /* "sqlite3_prepare1..." */, FxProc: 0}, - {FzName: ts + 21187 /* "sqlite3_finalize" */, FxProc: 0}, - {FzName: ts + 21204 /* "sqlite3_stmt_sta..." */, FxProc: 0}, - {FzName: ts + 21224 /* "sqlite3_reset" */, FxProc: 0}, - {FzName: ts + 21238 /* "sqlite3_expired" */, FxProc: 0}, - {FzName: ts + 21254 /* "sqlite3_transfer..." */, FxProc: 0}, - {FzName: ts + 21280 /* "sqlite3_changes" */, FxProc: 0}, - {FzName: ts + 21296 /* "sqlite3_step" */, FxProc: 0}, - {FzName: ts + 21309 /* "sqlite3_sql" */, FxProc: 0}, - {FzName: ts + 21321 /* "sqlite3_expanded..." */, FxProc: 0}, - {FzName: ts + 21342 /* "sqlite3_next_stm..." */, FxProc: 0}, - {FzName: ts + 21360 /* "sqlite3_stmt_rea..." */, FxProc: 0}, - {FzName: ts + 21382 /* "sqlite3_stmt_ise..." */, FxProc: 0}, - {FzName: ts + 21405 /* "sqlite3_stmt_bus..." */, FxProc: 0}, - {FzName: ts + 21423 /* "uses_stmt_journa..." */, FxProc: 0}, + {FzName: ts + 21846 /* "sqlite3_prepare" */, FxProc: 0}, + {FzName: ts + 21862 /* "sqlite3_prepare1..." */, FxProc: 0}, + {FzName: ts + 21880 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 21899 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 21918 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 21942 /* "sqlite3_prepare1..." */, FxProc: 0}, + {FzName: ts + 21963 /* "sqlite3_finalize" */, FxProc: 0}, + {FzName: ts + 21980 /* "sqlite3_stmt_sta..." */, FxProc: 0}, + {FzName: ts + 22000 /* "sqlite3_reset" */, FxProc: 0}, + {FzName: ts + 22014 /* "sqlite3_expired" */, FxProc: 0}, + {FzName: ts + 22030 /* "sqlite3_transfer..." */, FxProc: 0}, + {FzName: ts + 22056 /* "sqlite3_changes" */, FxProc: 0}, + {FzName: ts + 22072 /* "sqlite3_step" */, FxProc: 0}, + {FzName: ts + 22085 /* "sqlite3_sql" */, FxProc: 0}, + {FzName: ts + 22097 /* "sqlite3_expanded..." */, FxProc: 0}, + {FzName: ts + 22118 /* "sqlite3_next_stm..." */, FxProc: 0}, + {FzName: ts + 22136 /* "sqlite3_stmt_rea..." */, FxProc: 0}, + {FzName: ts + 22158 /* "sqlite3_stmt_ise..." */, FxProc: 0}, + {FzName: ts + 22181 /* "sqlite3_stmt_bus..." */, FxProc: 0}, + {FzName: ts + 22199 /* "uses_stmt_journa..." */, FxProc: 0}, - {FzName: ts + 21441 /* "sqlite3_release_..." */, FxProc: 0}, - {FzName: ts + 21464 /* "sqlite3_db_relea..." */, FxProc: 0}, - {FzName: ts + 21490 /* "sqlite3_db_cache..." */, FxProc: 0}, - {FzName: ts + 21512 /* "sqlite3_system_e..." */, FxProc: 0}, - {FzName: ts + 21533 /* "sqlite3_db_filen..." */, FxProc: 0}, - {FzName: ts + 21553 /* "sqlite3_db_reado..." */, FxProc: 0}, - {FzName: ts + 21573 /* "sqlite3_soft_hea..." */, FxProc: 0}, - {FzName: ts + 21597 /* "sqlite3_soft_hea..." */, FxProc: 0}, - {FzName: ts + 21623 /* "sqlite3_hard_hea..." */, FxProc: 0}, - {FzName: ts + 21649 /* "sqlite3_thread_c..." */, FxProc: 0}, - {FzName: ts + 21672 /* "sqlite3_pager_re..." */, FxProc: 0}, + {FzName: ts + 22217 /* "sqlite3_release_..." */, FxProc: 0}, + {FzName: ts + 22240 /* "sqlite3_db_relea..." */, FxProc: 0}, + {FzName: ts + 22266 /* "sqlite3_db_cache..." */, FxProc: 0}, + {FzName: ts + 22288 /* "sqlite3_system_e..." */, FxProc: 0}, + {FzName: ts + 22309 /* "sqlite3_db_filen..." */, FxProc: 0}, + {FzName: ts + 22329 /* "sqlite3_db_reado..." */, FxProc: 0}, + {FzName: ts + 22349 /* "sqlite3_soft_hea..." */, FxProc: 0}, + {FzName: ts + 22373 /* "sqlite3_soft_hea..." */, FxProc: 0}, + {FzName: ts + 22399 /* "sqlite3_hard_hea..." */, FxProc: 0}, + {FzName: ts + 22425 /* "sqlite3_thread_c..." */, FxProc: 0}, + {FzName: ts + 22448 /* "sqlite3_pager_re..." */, FxProc: 0}, - {FzName: ts + 21696 /* "sqlite3_load_ext..." */, FxProc: 0}, - {FzName: ts + 21719 /* "sqlite3_enable_l..." */, FxProc: 0}, - {FzName: ts + 21749 /* "sqlite3_extended..." */, FxProc: 0}, - {FzName: ts + 21779 /* "sqlite3_limit" */, FxProc: 0}, - {FzName: ts + 21793 /* "dbconfig_maindbn..." */, FxProc: 0}, + {FzName: ts + 22472 /* "sqlite3_load_ext..." */, FxProc: 0}, + {FzName: ts + 22495 /* "sqlite3_enable_l..." */, FxProc: 0}, + {FzName: ts + 22525 /* "sqlite3_extended..." */, FxProc: 0}, + {FzName: ts + 22555 /* "sqlite3_limit" */, FxProc: 0}, + {FzName: ts + 22569 /* "dbconfig_maindbn..." */, FxProc: 0}, - {FzName: ts + 21821 /* "save_prng_state" */, FxProc: 0}, - {FzName: ts + 21837 /* "restore_prng_sta..." */, FxProc: 0}, - {FzName: ts + 21856 /* "reset_prng_state" */, FxProc: 0}, - {FzName: ts + 21873 /* "prng_seed" */, FxProc: 0}, - {FzName: ts + 21883 /* "extra_schema_che..." */, FxProc: 0}, - {FzName: ts + 21903 /* "database_never_c..." */, FxProc: 0}, - {FzName: ts + 21926 /* "database_may_be_..." */, FxProc: 0}, - {FzName: ts + 21950 /* "optimization_con..." */, FxProc: 0}, - {FzName: ts + 21971 /* "tcl_objproc" */, FxProc: 0}, + {FzName: ts + 22597 /* "save_prng_state" */, FxProc: 0}, + {FzName: ts + 22613 /* "restore_prng_sta..." */, FxProc: 0}, + {FzName: ts + 22632 /* "reset_prng_state" */, FxProc: 0}, + {FzName: ts + 22649 /* "prng_seed" */, FxProc: 0}, + {FzName: ts + 22659 /* "extra_schema_che..." */, FxProc: 0}, + {FzName: ts + 22679 /* "database_never_c..." */, FxProc: 0}, + {FzName: ts + 22702 /* "database_may_be_..." */, FxProc: 0}, + {FzName: ts + 22726 /* "optimization_con..." */, FxProc: 0}, + {FzName: ts + 22747 /* "tcl_objproc" */, FxProc: 0}, // sqlite3_column_*() API - {FzName: ts + 21983 /* "sqlite3_column_c..." */, FxProc: 0}, - {FzName: ts + 22004 /* "sqlite3_data_cou..." */, FxProc: 0}, - {FzName: ts + 22023 /* "sqlite3_column_t..." */, FxProc: 0}, - {FzName: ts + 22043 /* "sqlite3_column_b..." */, FxProc: 0}, - {FzName: ts + 22063 /* "sqlite3_column_d..." */, FxProc: 0}, - {FzName: ts + 22085 /* "sqlite3_column_i..." */, FxProc: 0}, - {FzName: ts + 22106 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22126 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22146 /* "sqlite3_column_i..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22165 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22186 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22210 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22239 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22265 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22759 /* "sqlite3_column_c..." */, FxProc: 0}, + {FzName: ts + 22780 /* "sqlite3_data_cou..." */, FxProc: 0}, + {FzName: ts + 22799 /* "sqlite3_column_t..." */, FxProc: 0}, + {FzName: ts + 22819 /* "sqlite3_column_b..." */, FxProc: 0}, + {FzName: ts + 22839 /* "sqlite3_column_d..." */, FxProc: 0}, + {FzName: ts + 22861 /* "sqlite3_column_i..." */, FxProc: 0}, + {FzName: ts + 22882 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22902 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22922 /* "sqlite3_column_i..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22941 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22962 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22986 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23015 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23041 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22292 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22315 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22337 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22359 /* "add_alignment_te..." */, FxProc: 0}, - {FzName: ts + 22389 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22415, /* "sqlite3_column_d..." */ + {FzName: ts + 23068 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23091 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23113 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23135 /* "add_alignment_te..." */, FxProc: 0}, + {FzName: ts + 23165 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23191, /* "sqlite3_column_d..." */ FxProc: 0, FclientData: 0}, - {FzName: ts + 22446 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22474 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22503 /* "sqlite3_create_c..." */, FxProc: 0}, - {FzName: ts + 22531 /* "sqlite3_global_r..." */, FxProc: 0}, - {FzName: ts + 22554 /* "working_64bit_in..." */, FxProc: 0}, - {FzName: ts + 22572 /* "vfs_unlink_test" */, FxProc: 0}, - {FzName: ts + 22588 /* "vfs_initfail_tes..." */, FxProc: 0}, - {FzName: ts + 22606 /* "vfs_unregister_a..." */, FxProc: 0}, - {FzName: ts + 22625 /* "vfs_reregister_a..." */, FxProc: 0}, - {FzName: ts + 22644 /* "file_control_tes..." */, FxProc: 0}, - {FzName: ts + 22662 /* "file_control_las..." */, FxProc: 0}, - {FzName: ts + 22690 /* "file_control_loc..." */, FxProc: 0}, - {FzName: ts + 22718 /* "file_control_chu..." */, FxProc: 0}, - {FzName: ts + 22746 /* "file_control_siz..." */, FxProc: 0}, - {FzName: ts + 22773 /* "file_control_dat..." */, FxProc: 0}, - {FzName: ts + 22799 /* "file_control_per..." */, FxProc: 0}, - {FzName: ts + 22824 /* "file_control_pow..." */, FxProc: 0}, - {FzName: ts + 22857 /* "file_control_vfs..." */, FxProc: 0}, - {FzName: ts + 22878 /* "file_control_res..." */, FxProc: 0}, - {FzName: ts + 22904 /* "file_control_tem..." */, FxProc: 0}, - {FzName: ts + 22930 /* "file_control_ext..." */, FxProc: 0}, - {FzName: ts + 22959 /* "sqlite3_vfs_list" */, FxProc: 0}, - {FzName: ts + 22976 /* "sqlite3_create_f..." */, FxProc: 0}, + {FzName: ts + 23222 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23250 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23279 /* "sqlite3_create_c..." */, FxProc: 0}, + {FzName: ts + 23307 /* "sqlite3_global_r..." */, FxProc: 0}, + {FzName: ts + 23330 /* "working_64bit_in..." */, FxProc: 0}, + {FzName: ts + 23348 /* "vfs_unlink_test" */, FxProc: 0}, + {FzName: ts + 23364 /* "vfs_initfail_tes..." */, FxProc: 0}, + {FzName: ts + 23382 /* "vfs_unregister_a..." */, FxProc: 0}, + {FzName: ts + 23401 /* "vfs_reregister_a..." */, FxProc: 0}, + {FzName: ts + 23420 /* "file_control_tes..." */, FxProc: 0}, + {FzName: ts + 23438 /* "file_control_las..." */, FxProc: 0}, + {FzName: ts + 23466 /* "file_control_loc..." */, FxProc: 0}, + {FzName: ts + 23494 /* "file_control_chu..." */, FxProc: 0}, + {FzName: ts + 23522 /* "file_control_siz..." */, FxProc: 0}, + {FzName: ts + 23549 /* "file_control_dat..." */, FxProc: 0}, + {FzName: ts + 23575 /* "file_control_per..." */, FxProc: 0}, + {FzName: ts + 23600 /* "file_control_pow..." */, FxProc: 0}, + {FzName: ts + 23633 /* "file_control_vfs..." */, FxProc: 0}, + {FzName: ts + 23654 /* "file_control_res..." */, FxProc: 0}, + {FzName: ts + 23680 /* "file_control_tem..." */, FxProc: 0}, + {FzName: ts + 23706 /* "file_control_ext..." */, FxProc: 0}, + {FzName: ts + 23735 /* "sqlite3_vfs_list" */, FxProc: 0}, + {FzName: ts + 23752 /* "sqlite3_create_f..." */, FxProc: 0}, // Functions from os.h - {FzName: ts + 23003 /* "add_test_collate" */, FxProc: 0}, - {FzName: ts + 23020 /* "add_test_collate..." */, FxProc: 0}, - {FzName: ts + 23044 /* "add_test_functio..." */, FxProc: 0}, - {FzName: ts + 23062 /* "add_test_utf16bi..." */, FxProc: 0}, - {FzName: ts + 23088 /* "sqlite3_test_err..." */, FxProc: 0}, - {FzName: ts + 23108 /* "tcl_variable_typ..." */, FxProc: 0}, - {FzName: ts + 23126 /* "sqlite3_enable_s..." */, FxProc: 0}, - {FzName: ts + 23154 /* "sqlite3_shared_c..." */, FxProc: 0}, - {FzName: ts + 23182 /* "sqlite3_libversi..." */, FxProc: 0}, - {FzName: ts + 23208 /* "sqlite3_table_co..." */, FxProc: 0}, - {FzName: ts + 23238 /* "sqlite3_blob_reo..." */, FxProc: 0}, - {FzName: ts + 23258 /* "pcache_stats" */, FxProc: 0}, - {FzName: ts + 23271 /* "sqlite3_unlock_n..." */, FxProc: 0}, - {FzName: ts + 23293 /* "sqlite3_wal_chec..." */, FxProc: 0}, - {FzName: ts + 23316 /* "sqlite3_wal_chec..." */, FxProc: 0}, - {FzName: ts + 23342 /* "sqlite3_wal_auto..." */, FxProc: 0}, - {FzName: ts + 23369 /* "test_sqlite3_log" */, FxProc: 0}, - {FzName: ts + 23386 /* "print_explain_qu..." */, FxProc: 0}, - {FzName: ts + 23411 /* "sqlite3_test_con..." */, FxProc: 0}, - {FzName: ts + 23432 /* "getrusage" */, FxProc: 0}, - {FzName: ts + 23442 /* "load_static_exte..." */, FxProc: 0}, - {FzName: ts + 23464 /* "sorter_test_fake..." */, FxProc: 0}, - {FzName: ts + 23485 /* "sorter_test_sort..." */, FxProc: 0}, - {FzName: ts + 23510 /* "vfs_current_time..." */, FxProc: 0}, - {FzName: ts + 23533 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23554 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23576 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23598 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23619 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23644 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23670 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23697 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23723 /* "sqlite3_delete_d..." */, FxProc: 0}, - {FzName: ts + 23747 /* "atomic_batch_wri..." */, FxProc: 0}, - {FzName: ts + 23766 /* "sqlite3_mmap_war..." */, FxProc: 0}, - {FzName: ts + 23784 /* "sqlite3_config_s..." */, FxProc: 0}, - {FzName: ts + 23809 /* "decode_hexdb" */, FxProc: 0}, - {FzName: ts + 23822 /* "test_write_db" */, FxProc: 0}, - {FzName: ts + 23836 /* "sqlite3_register..." */, FxProc: 0}, - {FzName: ts + 23862 /* "sqlite3_unregist..." */, FxProc: 0}, + {FzName: ts + 23779 /* "add_test_collate" */, FxProc: 0}, + {FzName: ts + 23796 /* "add_test_collate..." */, FxProc: 0}, + {FzName: ts + 23820 /* "add_test_functio..." */, FxProc: 0}, + {FzName: ts + 23838 /* "add_test_utf16bi..." */, FxProc: 0}, + {FzName: ts + 23864 /* "sqlite3_test_err..." */, FxProc: 0}, + {FzName: ts + 23884 /* "tcl_variable_typ..." */, FxProc: 0}, + {FzName: ts + 23902 /* "sqlite3_enable_s..." */, FxProc: 0}, + {FzName: ts + 23930 /* "sqlite3_shared_c..." */, FxProc: 0}, + {FzName: ts + 23958 /* "sqlite3_libversi..." */, FxProc: 0}, + {FzName: ts + 23984 /* "sqlite3_table_co..." */, FxProc: 0}, + {FzName: ts + 24014 /* "sqlite3_blob_reo..." */, FxProc: 0}, + {FzName: ts + 24034 /* "pcache_stats" */, FxProc: 0}, + {FzName: ts + 24047 /* "sqlite3_unlock_n..." */, FxProc: 0}, + {FzName: ts + 24069 /* "sqlite3_wal_chec..." */, FxProc: 0}, + {FzName: ts + 24092 /* "sqlite3_wal_chec..." */, FxProc: 0}, + {FzName: ts + 24118 /* "sqlite3_wal_auto..." */, FxProc: 0}, + {FzName: ts + 24145 /* "test_sqlite3_log" */, FxProc: 0}, + {FzName: ts + 24162 /* "print_explain_qu..." */, FxProc: 0}, + {FzName: ts + 24187 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 24208 /* "getrusage" */, FxProc: 0}, + {FzName: ts + 24218 /* "load_static_exte..." */, FxProc: 0}, + {FzName: ts + 24240 /* "sorter_test_fake..." */, FxProc: 0}, + {FzName: ts + 24261 /* "sorter_test_sort..." */, FxProc: 0}, + {FzName: ts + 24286 /* "vfs_current_time..." */, FxProc: 0}, + {FzName: ts + 24309 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24330 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24352 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24374 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24395 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24420 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24446 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24473 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24499 /* "sqlite3_delete_d..." */, FxProc: 0}, + {FzName: ts + 24523 /* "atomic_batch_wri..." */, FxProc: 0}, + {FzName: ts + 24542 /* "sqlite3_mmap_war..." */, FxProc: 0}, + {FzName: ts + 24560 /* "sqlite3_config_s..." */, FxProc: 0}, + {FzName: ts + 24585 /* "decode_hexdb" */, FxProc: 0}, + {FzName: ts + 24598 /* "test_write_db" */, FxProc: 0}, + {FzName: ts + 24612 /* "sqlite3_register..." */, FxProc: 0}, + {FzName: ts + 24638 /* "sqlite3_unregist..." */, FxProc: 0}, } /* test1.c:8336:5 */ var bitmask_size int32 = (int32(uint32(unsafe.Sizeof(Bitmask(0))) * uint32(8))) /* test1.c:8564:14 */ var longdouble_size int32 = int32(unsafe.Sizeof(float64(0))) /* test1.c:8565:14 */ -var query_plan uintptr = ts + 23890 /* "*** OBSOLETE VAR..." */ /* test1.c:8637:23 */ +var query_plan uintptr = ts + 24666 /* "*** OBSOLETE VAR..." */ /* test1.c:8637:23 */ // Page size and reserved size used for testing. var test_pagesize int32 = 1024 /* test2.c:31:12 */ @@ -52500,8 +54054,8 @@ func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [100]int8 at bp+84, 100 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23916 /* " FILENAME N-PAGE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24692 /* " FILENAME N-PAGE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+72 /* &nPage */) != 0 { @@ -52517,7 +54071,7 @@ func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv sqlite3.Xsqlite3PagerSetCachesize(tls, *(*uintptr)(unsafe.Pointer(bp + 76 /* pPager */)), *(*int32)(unsafe.Pointer(bp + 72 /* nPage */))) *(*u32)(unsafe.Pointer(bp + 80 /* pageSize */)) = u32(test_pagesize) sqlite3.Xsqlite3PagerSetPagesize(tls, *(*uintptr)(unsafe.Pointer(bp + 76 /* pPager */)), bp+80 /* &pageSize */, -1) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+84 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 76 /* pPager */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+84 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 76 /* pPager */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+84 /* &zBuf[0] */, 0)) return TCL_OK } @@ -52532,8 +54086,8 @@ func pager_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52555,8 +54109,8 @@ func pager_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52578,8 +54132,8 @@ func pager_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52606,8 +54160,8 @@ func pager_stmt_begin(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52629,8 +54183,8 @@ func pager_stmt_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52653,8 +54207,8 @@ func pager_stmt_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52677,8 +54231,8 @@ func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var i int32 var a uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52694,8 +54248,8 @@ func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg } var zName = [9]uintptr{ - ts + 23939 /* "ref" */, ts + 23943 /* "page" */, ts + 17912 /* "max" */, ts + 11491 /* "size" */, ts + 10193 /* "state" */, ts + 23948, /* "err" */ - ts + 23952 /* "hit" */, ts + 23956 /* "miss" */, ts + 23961, /* "ovfl" */ + ts + 24715 /* "ref" */, ts + 24719 /* "page" */, ts + 18693 /* "max" */, ts + 12279 /* "size" */, ts + 10193 /* "state" */, ts + 24724, /* "err" */ + ts + 24728 /* "hit" */, ts + 24732 /* "miss" */, ts + 24737, /* "ovfl" */ } /* test2.c:266:17 */ // Usage: pager_pagecount ID @@ -52711,8 +54265,8 @@ func pager_pagecount(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var nPage int32 at bp+56, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52737,8 +54291,8 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23966 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24742 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52753,7 +54307,7 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 76 /* pPage */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 76 /* pPage */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) return TCL_OK } @@ -52773,8 +54327,8 @@ func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // var pgno int32 at bp+56, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23966 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24742 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52783,7 +54337,7 @@ func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg } pPage = sqlite3.Xsqlite3PagerLookup(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 56 /* pgno */)))) if pPage != 0 { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+32, pPage)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+32, pPage)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+60 /* &zBuf[0] */, 0)) } return TCL_OK @@ -52798,8 +54352,8 @@ func pager_truncate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var pgno int32 at bp+32, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23966 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24742 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52819,8 +54373,8 @@ func page_unref(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23976 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24752 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52839,8 +54393,8 @@ func page_read(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23976 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24752 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52860,8 +54414,8 @@ func page_number(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23976 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24752 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52881,8 +54435,8 @@ func page_write(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pData uintptr var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23983 /* " PAGE DATA\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24759 /* " PAGE DATA\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52917,8 +54471,8 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var zFile uintptr var nFile int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23995 /* " N-MEGABYTES FIL..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24771 /* " N-MEGABYTES FIL..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+80 /* &n */) != 0 { @@ -52936,17 +54490,17 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a rc = sqlite3.Xsqlite3OsOpenMalloc(tls, pVfs, zFile, bp+84, /* &fd */ ((SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_MAIN_DB), uintptr(0)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24014 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24790 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) sqlite3.Xsqlite3_free(tls, zFile) return TCL_ERROR } offset = i64(*(*int32)(unsafe.Pointer(bp + 80 /* n */))) offset = offset * (int64(1024 * 1024)) - rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 84 /* fd */)), ts+24028 /* "Hello, World!" */, 14, offset) + rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 84 /* fd */)), ts+24804 /* "Hello, World!" */, 14, offset) sqlite3.Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 84 /* fd */))) sqlite3.Xsqlite3_free(tls, zFile) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+24042 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+24818 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -52963,8 +54517,8 @@ func testPendingByte(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24057 /* " PENDING-BYTE\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24833 /* " PENDING-BYTE\"" */, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+40 /* &pbyte */) != 0 { @@ -52990,7 +54544,7 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ var isNeg int32 var rc int32 if x == 0 { - libc.Xmemcpy(tls, (faultSimScript + uintptr(faultSimScriptSize)), ts+13873 /* "0" */, uint32(2)) + libc.Xmemcpy(tls, (faultSimScript + uintptr(faultSimScriptSize)), ts+14654 /* "0" */, uint32(2)) } else { // Convert x to text without using any sqlite3 routines if x < 0 { @@ -53024,7 +54578,7 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ } rc = tcl.XTcl_Eval(tls, faultSimInterp, faultSimScript) if rc != 0 { - libc.Xfprintf(tls, libc.Xstderr, ts+24072 /* "fault simulator ..." */, libc.VaList(bp, faultSimScript)) + libc.Xfprintf(tls, libc.Xstderr, ts+24848 /* "fault simulator ..." */, libc.VaList(bp, faultSimScript)) rc = SQLITE_ERROR } else { rc = libc.Xatoi(tls, tcl.XTcl_GetStringResult(tls, faultSimInterp)) @@ -53046,8 +54600,8 @@ func faultInstallCmd(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var nScript int32 var rc int32 if (argc != 1) && (argc != 2) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24108 /* " SCRIPT\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24884 /* " SCRIPT\"" */, uintptr(0))) } if argc == 2 { zScript = *(*uintptr)(unsafe.Pointer(argv + 1*4)) @@ -53093,8 +54647,8 @@ func testBitvecBuiltinTest(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24117 /* " SIZE PROGRAM\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24893 /* " SIZE PROGRAM\"" */, uintptr(0))) } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+48 /* &sz */) != 0 { return TCL_ERROR @@ -53127,19 +54681,19 @@ func Sqlitetest2_Init(tls *libc.TLS, interp uintptr) int32 { /* test2.c:697:5: * }{}))); i++ { tcl.XTcl_CreateCommand(tls, interp, aCmd2[i].FzName, aCmd2[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+24132, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24908, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_pending)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24156, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24932, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_persist)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24180, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24956, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hit)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24200, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24976, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hardhit)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24224, /* "sqlite_diskfull_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25000, /* "sqlite_diskfull_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull_pending)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24248, /* "sqlite_diskfull" */ + tcl.XTcl_LinkVar(tls, interp, ts+25024, /* "sqlite_diskfull" */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24264, /* "sqlite_pending_b..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25040, /* "sqlite_pending_b..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3PendingByte)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) return TCL_OK } @@ -53148,26 +54702,26 @@ var aCmd2 = [20]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 24284 /* "pager_open" */, FxProc: 0}, - {FzName: ts + 24295 /* "pager_close" */, FxProc: 0}, - {FzName: ts + 24307 /* "pager_commit" */, FxProc: 0}, - {FzName: ts + 24320 /* "pager_rollback" */, FxProc: 0}, - {FzName: ts + 24335 /* "pager_stmt_begin" */, FxProc: 0}, - {FzName: ts + 24352 /* "pager_stmt_commi..." */, FxProc: 0}, - {FzName: ts + 24370 /* "pager_stmt_rollb..." */, FxProc: 0}, - {FzName: ts + 24390 /* "pager_stats" */, FxProc: 0}, - {FzName: ts + 24402 /* "pager_pagecount" */, FxProc: 0}, - {FzName: ts + 24418 /* "page_get" */, FxProc: 0}, - {FzName: ts + 24427 /* "page_lookup" */, FxProc: 0}, - {FzName: ts + 24439 /* "page_unref" */, FxProc: 0}, - {FzName: ts + 24450 /* "page_read" */, FxProc: 0}, - {FzName: ts + 24460 /* "page_write" */, FxProc: 0}, - {FzName: ts + 24471 /* "page_number" */, FxProc: 0}, - {FzName: ts + 24483 /* "pager_truncate" */, FxProc: 0}, - {FzName: ts + 24498 /* "fake_big_file" */, FxProc: 0}, - {FzName: ts + 24512 /* "sqlite3BitvecBui..." */, FxProc: 0}, - {FzName: ts + 24537 /* "sqlite3_test_con..." */, FxProc: 0}, - {FzName: ts + 24571 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 25060 /* "pager_open" */, FxProc: 0}, + {FzName: ts + 25071 /* "pager_close" */, FxProc: 0}, + {FzName: ts + 25083 /* "pager_commit" */, FxProc: 0}, + {FzName: ts + 25096 /* "pager_rollback" */, FxProc: 0}, + {FzName: ts + 25111 /* "pager_stmt_begin" */, FxProc: 0}, + {FzName: ts + 25128 /* "pager_stmt_commi..." */, FxProc: 0}, + {FzName: ts + 25146 /* "pager_stmt_rollb..." */, FxProc: 0}, + {FzName: ts + 25166 /* "pager_stats" */, FxProc: 0}, + {FzName: ts + 25178 /* "pager_pagecount" */, FxProc: 0}, + {FzName: ts + 25194 /* "page_get" */, FxProc: 0}, + {FzName: ts + 25203 /* "page_lookup" */, FxProc: 0}, + {FzName: ts + 25215 /* "page_unref" */, FxProc: 0}, + {FzName: ts + 25226 /* "page_read" */, FxProc: 0}, + {FzName: ts + 25236 /* "page_write" */, FxProc: 0}, + {FzName: ts + 25247 /* "page_number" */, FxProc: 0}, + {FzName: ts + 25259 /* "pager_truncate" */, FxProc: 0}, + {FzName: ts + 25274 /* "fake_big_file" */, FxProc: 0}, + {FzName: ts + 25288 /* "sqlite3BitvecBui..." */, FxProc: 0}, + {FzName: ts + 25313 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 25347 /* "sqlite3_test_con..." */, FxProc: 0}, } /* test2.c:707:5 */ // 2001 September 15 @@ -53943,8 +55497,8 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var n int32 var zFilename uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24606 /* " FILENAME NCACHE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25382 /* " FILENAME NCACHE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+72 /* &nCache */) != 0 { @@ -53971,7 +55525,7 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv return TCL_ERROR } sqlite3.Xsqlite3BtreeSetCacheSize(tls, *(*uintptr)(unsafe.Pointer(bp + 76 /* pBt */)), *(*int32)(unsafe.Pointer(bp + 72 /* nCache */))) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 76 /* pBt */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 76 /* pBt */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) return TCL_OK } @@ -53986,8 +55540,8 @@ func btree_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pBt uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54016,8 +55570,8 @@ func btree_begin_transaction(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg var pBt uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54043,8 +55597,8 @@ func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var a uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54074,8 +55628,8 @@ func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 } var zName1 = [11]uintptr{ - ts + 23939 /* "ref" */, ts + 23943 /* "page" */, ts + 17912 /* "max" */, ts + 11491 /* "size" */, ts + 10193 /* "state" */, ts + 23948, /* "err" */ - ts + 23952 /* "hit" */, ts + 23956 /* "miss" */, ts + 23961 /* "ovfl" */, ts + 24630 /* "read" */, ts + 24635, /* "write" */ + ts + 24715 /* "ref" */, ts + 24719 /* "page" */, ts + 18693 /* "max" */, ts + 12279 /* "size" */, ts + 10193 /* "state" */, ts + 24724, /* "err" */ + ts + 24728 /* "hit" */, ts + 24732 /* "miss" */, ts + 24737 /* "ovfl" */, ts + 25406 /* "read" */, ts + 25411, /* "write" */ } /* test3.c:179:17 */ // Usage: btree_cursor ID TABLENUM WRITEABLE @@ -54095,8 +55649,8 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar // var zBuf [30]int8 at bp+80, 30 if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24641 /* " ID TABLENUM WRI..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25417 /* " ID TABLENUM WRI..." */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54124,7 +55678,7 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+80 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, pCur)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+80 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, pCur)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -54140,8 +55694,8 @@ func btree_close_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54177,8 +55731,8 @@ func btree_next(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54212,8 +55766,8 @@ func btree_first(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // var zBuf [100]int8 at bp+76, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54242,8 +55796,8 @@ func btree_eof(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [50]int8 at bp+56, 50 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54267,15 +55821,15 @@ func btree_payload_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var zBuf [50]int8 at bp+56, 50 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) n = sqlite3.Xsqlite3BtreePayloadSize(tls, pCur) sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56 /* &zBuf[0] */, ts+17449 /* "%u" */, libc.VaList(bp+32, n)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp+32, n)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+56 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -54314,8 +55868,8 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var zBuf [100]uint8 at bp+200, 100 if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24665 /* " START MULTIPLIE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25441 /* " START MULTIPLIE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+184 /* &start */) != 0 { @@ -54338,20 +55892,20 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 n1 = sqlite3.Xsqlite3PutVarint(tls, bp+200 /* &zBuf[0] */, in) if (n1 > 9) || (n1 < 1) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24700 /* "putVarint return..." */, libc.VaList(bp+32, n1)) + ts+25476 /* "putVarint return..." */, libc.VaList(bp+32, n1)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } n2 = int32(sqlite3.Xsqlite3GetVarint(tls, bp+200 /* &zBuf[0] */, bp+500 /* &out */)) if n1 != n2 { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24750 /* "putVarint return..." */, libc.VaList(bp+56, n1, n2)) + ts+25526 /* "putVarint return..." */, libc.VaList(bp+56, n1, n2)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } if in != *(*u64)(unsafe.Pointer(bp + 500 /* out */)) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24798 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+88, in, *(*u64)(unsafe.Pointer(bp + 500 /* out */)))) + ts+25574 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+88, in, *(*u64)(unsafe.Pointer(bp + 500 /* out */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+104, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } @@ -54370,14 +55924,14 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 *(*u64)(unsafe.Pointer(bp + 500 /* out */)) = u64(*(*u32)(unsafe.Pointer(bp + 508 /* out32 */))) if n1 != n2 { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24837, /* "putVarint return..." */ + ts+25613, /* "putVarint return..." */ libc.VaList(bp+120, n1, n2)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+136, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } if in != *(*u64)(unsafe.Pointer(bp + 500 /* out */)) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24887, /* "Wrote 0x%016llx ..." */ + ts+25663, /* "Wrote 0x%016llx ..." */ libc.VaList(bp+152, in, *(*u64)(unsafe.Pointer(bp + 500 /* out */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+168, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR @@ -54415,13 +55969,13 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var iDb int32 = 0 if (argc != 2) && (argc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24943 /* " DB-HANDLE ?N?\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25719 /* " DB-HANDLE ?N?\"" */, 0)) return TCL_ERROR } if 1 != tcl.XTcl_GetCommandInfo(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+72 /* &info */) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24959 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25735 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+12415 /* "\"" */, 0)) return TCL_ERROR } if argc == 3 { @@ -54431,7 +55985,7 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 72 /* &info */)).FobjClientData)) pBt = (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FpBt - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+64, pBt)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, pBt)) tcl.XTcl_SetResult(tls, interp, bp+104 /* &zBuf[0] */, uintptr(1)) return TCL_OK } @@ -54448,8 +56002,8 @@ func btree_ismemdb(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var pFile uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54476,7 +56030,7 @@ func btree_set_cache_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i if argc != 3 { tcl.XTcl_AppendResult(tls, - interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+24980 /* " BT NCACHE\"" */, 0)) + interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+25756 /* " BT NCACHE\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54505,7 +56059,7 @@ func btree_insert(tls *libc.TLS, clientData ClientData, interp uintptr, objc int // var x BtreePayload at bp+16, 32 if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+24992 /* "?-intkey? CSR KE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+25768 /* "?-intkey? CSR KE..." */) return TCL_ERROR } @@ -54547,7 +56101,7 @@ func Sqlitetest3_Init(tls *libc.TLS, interp uintptr) int32 { /* test3.c:661:5: * tcl.XTcl_CreateCommand(tls, interp, aCmd3[i].FzName, aCmd3[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_CreateObjCommand(tls, interp, ts+25016 /* "btree_insert" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+25792 /* "btree_insert" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{btree_insert})), uintptr(0), uintptr(0)) @@ -54558,20 +56112,20 @@ var aCmd3 = [14]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25029 /* "btree_open" */, FxProc: 0}, - {FzName: ts + 25040 /* "btree_close" */, FxProc: 0}, - {FzName: ts + 25052 /* "btree_begin_tran..." */, FxProc: 0}, - {FzName: ts + 25076 /* "btree_pager_stat..." */, FxProc: 0}, - {FzName: ts + 25094 /* "btree_cursor" */, FxProc: 0}, - {FzName: ts + 25107 /* "btree_close_curs..." */, FxProc: 0}, - {FzName: ts + 25126 /* "btree_next" */, FxProc: 0}, - {FzName: ts + 25137 /* "btree_eof" */, FxProc: 0}, - {FzName: ts + 25147 /* "btree_payload_si..." */, FxProc: 0}, - {FzName: ts + 25166 /* "btree_first" */, FxProc: 0}, - {FzName: ts + 25178 /* "btree_varint_tes..." */, FxProc: 0}, - {FzName: ts + 25196 /* "btree_from_db" */, FxProc: 0}, - {FzName: ts + 25210 /* "btree_ismemdb" */, FxProc: 0}, - {FzName: ts + 25224 /* "btree_set_cache_..." */, FxProc: 0}, + {FzName: ts + 25805 /* "btree_open" */, FxProc: 0}, + {FzName: ts + 25816 /* "btree_close" */, FxProc: 0}, + {FzName: ts + 25828 /* "btree_begin_tran..." */, FxProc: 0}, + {FzName: ts + 25852 /* "btree_pager_stat..." */, FxProc: 0}, + {FzName: ts + 25870 /* "btree_cursor" */, FxProc: 0}, + {FzName: ts + 25883 /* "btree_close_curs..." */, FxProc: 0}, + {FzName: ts + 25902 /* "btree_next" */, FxProc: 0}, + {FzName: ts + 25913 /* "btree_eof" */, FxProc: 0}, + {FzName: ts + 25923 /* "btree_payload_si..." */, FxProc: 0}, + {FzName: ts + 25942 /* "btree_first" */, FxProc: 0}, + {FzName: ts + 25954 /* "btree_varint_tes..." */, FxProc: 0}, + {FzName: ts + 25972 /* "btree_from_db" */, FxProc: 0}, + {FzName: ts + 25986 /* "btree_ismemdb" */, FxProc: 0}, + {FzName: ts + 26000 /* "btree_set_cache_..." */, FxProc: 0}, } /* test3.c:665:5 */ // end block for C++ @@ -55221,7 +56775,7 @@ func parse_thread_id(tls *libc.TLS, interp uintptr, zArg uintptr) int32 { /* tes defer tls.Free(16) if (((zArg == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zArg))) == 0)) || (int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0)) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zArg)))))*2))) & int32(_ISupper)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25245 /* "thread ID must b..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26021 /* "thread ID must b..." */, 0)) return -1 } return (int32(*(*int8)(unsafe.Pointer(zArg))) - 'A') @@ -55241,8 +56795,8 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25284 /* " ID FILENAME" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26060 /* " ID FILENAME" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55250,7 +56804,7 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if threadset[i].Fbusy != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25297 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+25305 /* " is already runn..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26073 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+26081 /* " is already runn..." */, 0)) return TCL_ERROR } threadset[i].Fbusy = 1 @@ -55262,7 +56816,7 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 f func(*libc.TLS, uintptr) uintptr }{test_thread_main})), (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+25325 /* "failed to create..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+26101 /* "failed to create..." */, 0)) sqlite3.Xsqlite3_free(tls, threadset[i].FzFilename) threadset[i].Fbusy = 0 return TCL_ERROR @@ -55288,8 +56842,8 @@ func tcl_thread_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55297,7 +56851,7 @@ func tcl_thread_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55328,8 +56882,8 @@ func tcl_thread_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } if (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*4))))) == '*') && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*4)) + 1))) == 0) { @@ -55344,7 +56898,7 @@ func tcl_thread_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_stop_thread(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55364,8 +56918,8 @@ func tcl_thread_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55373,7 +56927,7 @@ func tcl_thread_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55394,8 +56948,8 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55403,7 +56957,7 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+80 /* &n */) != 0 { @@ -55411,7 +56965,7 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848 + 48 /* &.argv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*4)), 0)) @@ -55430,8 +56984,8 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55439,7 +56993,7 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+80 /* &n */) != 0 { @@ -55447,7 +57001,7 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848 + 448 /* &.colv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*4)), 0)) @@ -55466,8 +57020,8 @@ func tcl_thread_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var zName uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55475,7 +57029,7 @@ func tcl_thread_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55495,8 +57049,8 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55504,7 +57058,7 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55515,7 +57069,7 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // This procedure runs in the thread to compile an SQL statement. func do_compile(tls *libc.TLS, p uintptr) { /* test4.c:419:13: */ if (*Thread)(unsafe.Pointer(p)).Fdb == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25405 /* "no database is o..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26181 /* "no database is o..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -55535,8 +57089,8 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25425 /* " ID SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26201 /* " ID SQL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55544,7 +57098,7 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55559,7 +57113,7 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int func do_step(tls *libc.TLS, p uintptr) { /* test4.c:466:13: */ var i int32 if (*Thread)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -55584,8 +57138,8 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55593,7 +57147,7 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55605,7 +57159,7 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // This procedure runs in the thread to finalize a virtual machine. func do_finalize(tls *libc.TLS, p uintptr) { /* test4.c:517:13: */ if (*Thread)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -55622,8 +57176,8 @@ func tcl_thread_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55631,7 +57185,7 @@ func tcl_thread_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55653,8 +57207,8 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var j int32 var temp uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25467 /* " ID1 ID2" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26243 /* " ID1 ID2" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55662,7 +57216,7 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55671,7 +57225,7 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[j].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(j)*848)) @@ -55694,8 +57248,8 @@ func tcl_thread_db_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var zBuf [100]int8 at bp+64, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55703,7 +57257,7 @@ func tcl_thread_db_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55721,8 +57275,8 @@ func tcl_thread_db_put(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25476 /* " ID DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26252 /* " ID DB" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55730,7 +57284,7 @@ func tcl_thread_db_put(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55751,8 +57305,8 @@ func tcl_thread_stmt_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in // var zBuf [100]int8 at bp+64, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55760,7 +57314,7 @@ func tcl_thread_stmt_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55787,21 +57341,21 @@ var aCmd4 = [15]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25483 /* "thread_create" */, FxProc: 0}, - {FzName: ts + 25497 /* "thread_wait" */, FxProc: 0}, - {FzName: ts + 25509 /* "thread_halt" */, FxProc: 0}, - {FzName: ts + 25521 /* "thread_argc" */, FxProc: 0}, - {FzName: ts + 25533 /* "thread_argv" */, FxProc: 0}, - {FzName: ts + 25545 /* "thread_colname" */, FxProc: 0}, - {FzName: ts + 25560 /* "thread_result" */, FxProc: 0}, - {FzName: ts + 25574 /* "thread_error" */, FxProc: 0}, - {FzName: ts + 25587 /* "thread_compile" */, FxProc: 0}, - {FzName: ts + 25602 /* "thread_step" */, FxProc: 0}, - {FzName: ts + 25614 /* "thread_finalize" */, FxProc: 0}, - {FzName: ts + 25630 /* "thread_swap" */, FxProc: 0}, - {FzName: ts + 25642 /* "thread_db_get" */, FxProc: 0}, - {FzName: ts + 25656 /* "thread_db_put" */, FxProc: 0}, - {FzName: ts + 25670 /* "thread_stmt_get" */, FxProc: 0}, + {FzName: ts + 26259 /* "thread_create" */, FxProc: 0}, + {FzName: ts + 26273 /* "thread_wait" */, FxProc: 0}, + {FzName: ts + 26285 /* "thread_halt" */, FxProc: 0}, + {FzName: ts + 26297 /* "thread_argc" */, FxProc: 0}, + {FzName: ts + 26309 /* "thread_argv" */, FxProc: 0}, + {FzName: ts + 26321 /* "thread_colname" */, FxProc: 0}, + {FzName: ts + 26336 /* "thread_result" */, FxProc: 0}, + {FzName: ts + 26350 /* "thread_error" */, FxProc: 0}, + {FzName: ts + 26363 /* "thread_compile" */, FxProc: 0}, + {FzName: ts + 26378 /* "thread_step" */, FxProc: 0}, + {FzName: ts + 26390 /* "thread_finalize" */, FxProc: 0}, + {FzName: ts + 26406 /* "thread_swap" */, FxProc: 0}, + {FzName: ts + 26418 /* "thread_db_get" */, FxProc: 0}, + {FzName: ts + 26432 /* "thread_db_put" */, FxProc: 0}, + {FzName: ts + 26446 /* "thread_stmt_get" */, FxProc: 0}, } /* test4.c:700:5 */ // end block for C++ @@ -55888,8 +57442,8 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var val Mem at bp+40, 40 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+25686 /* " ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+26462 /* " ..." */, 0)) return TCL_ERROR } @@ -55901,7 +57455,7 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc } (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fflags = (u16((MEM_Str | MEM_Term) | MEM_Static)) - (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fz = ts + 25713 /* "hello world" */ + (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fz = ts + 26489 /* "hello world" */ (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fenc = u8(SQLITE_UTF8) for i = 0; i < *(*int32)(unsafe.Pointer(bp + 32 /* repeat_count */)); i++ { @@ -55918,10 +57472,10 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 defer tls.Free(64) *(*[5]EncName)(unsafe.Pointer(bp + 24 /* encnames */)) = [5]EncName{ - {FzName: ts + 25725 /* "UTF8" */, Fenc: u8(SQLITE_UTF8)}, - {FzName: ts + 25730 /* "UTF16LE" */, Fenc: u8(SQLITE_UTF16LE)}, - {FzName: ts + 25738 /* "UTF16BE" */, Fenc: u8(SQLITE_UTF16BE)}, - {FzName: ts + 25746 /* "UTF16" */, Fenc: u8(SQLITE_UTF16)}, + {FzName: ts + 26501 /* "UTF8" */, Fenc: u8(SQLITE_UTF8)}, + {FzName: ts + 26506 /* "UTF16LE" */, Fenc: u8(SQLITE_UTF16LE)}, + {FzName: ts + 26514 /* "UTF16BE" */, Fenc: u8(SQLITE_UTF16BE)}, + {FzName: ts + 26522 /* "UTF16" */, Fenc: u8(SQLITE_UTF16)}, {}, } var pEnc uintptr @@ -55932,7 +57486,7 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 } } if !(int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25752 /* "No such encoding..." */, z, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26528 /* "No such encoding..." */, z, 0)) } if int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) == SQLITE_UTF16 { return u8(SQLITE_UTF16LE) @@ -55961,9 +57515,9 @@ func test_translate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var xDel uintptr = uintptr(0) if (objc != 4) && (objc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), - ts+25771 /* " <..." */, 0)) + ts+26547 /* " <..." */, 0)) return TCL_ERROR } if objc == 5 { @@ -56032,10 +57586,10 @@ var aCmd5 = [4]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25806 /* "binarize" */, FxProc: 0}, - {FzName: ts + 25815 /* "test_value_overh..." */, FxProc: 0}, - {FzName: ts + 25835 /* "test_translate" */, FxProc: 0}, - {FzName: ts + 25850 /* "translate_selfte..." */, FxProc: 0}, + {FzName: ts + 26582 /* "binarize" */, FxProc: 0}, + {FzName: ts + 26591 /* "test_value_overh..." */, FxProc: 0}, + {FzName: ts + 26611 /* "test_translate" */, FxProc: 0}, + {FzName: ts + 26626 /* "translate_selfte..." */, FxProc: 0}, } /* test5.c:209:5 */ // end block for C++ @@ -56286,7 +57840,7 @@ func writeListAppend(tls *libc.TLS, pFile uintptr, iOffset sqlite3_int64, zBuf u pNew = crash_malloc(tls, (int32(uint32(unsafe.Sizeof(WriteBuffer{})) + uint32(nBuf)))) if pNew == uintptr(0) { - libc.Xfprintf(tls, libc.Xstderr, ts+25869 /* "out of memory in..." */, 0) + libc.Xfprintf(tls, libc.Xstderr, ts+26645 /* "out of memory in..." */, 0) } libc.Xmemset(tls, pNew, 0, (uint32(unsafe.Sizeof(WriteBuffer{})) + uint32(nBuf))) (*WriteBuffer)(unsafe.Pointer(pNew)).FiOffset = iOffset @@ -56604,19 +58158,19 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, defer tls.Free(196) *(*[14]DeviceFlag)(unsafe.Pointer(bp + 80 /* aFlag */)) = [14]DeviceFlag{ - {FzName: ts + 25907 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, - {FzName: ts + 25914 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, - {FzName: ts + 25924 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, - {FzName: ts + 25933 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, - {FzName: ts + 25942 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, - {FzName: ts + 25951 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, - {FzName: ts + 25960 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, - {FzName: ts + 25970 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, - {FzName: ts + 25980 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, - {FzName: ts + 25990 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, - {FzName: ts + 26001 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, - {FzName: ts + 26013 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, - {FzName: ts + 26033 /* "batch-atomic" */, FiValue: SQLITE_IOCAP_BATCH_ATOMIC}, + {FzName: ts + 26683 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, + {FzName: ts + 26690 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, + {FzName: ts + 26700 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, + {FzName: ts + 26709 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, + {FzName: ts + 26718 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, + {FzName: ts + 26727 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, + {FzName: ts + 26736 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, + {FzName: ts + 26746 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, + {FzName: ts + 26756 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, + {FzName: ts + 26766 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, + {FzName: ts + 26777 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, + {FzName: ts + 26789 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, + {FzName: ts + 26809 /* "batch-atomic" */, FiValue: SQLITE_IOCAP_BATCH_ATOMIC}, {}, } var i int32 @@ -56630,15 +58184,15 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, var zOpt uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+64 /* &nOpt */) - if (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26046 /* "-sectorsize" */, zOpt, uint32(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) && - (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26058 /* "-characteristics" */, zOpt, uint32(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) { + if (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26822 /* "-sectorsize" */, zOpt, uint32(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) && + (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26834 /* "-characteristics" */, zOpt, uint32(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+26075 /* "Bad option: \"" */, zOpt, - ts+26089 /* "\" - must be \"-ch..." */, 0)) + libc.VaList(bp, ts+26851 /* "Bad option: \"" */, zOpt, + ts+26865 /* "\" - must be \"-ch..." */, 0)) return TCL_ERROR } if i == (objc - 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26137 /* "Option requires ..." */, zOpt, ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26913 /* "Option requires ..." */, zOpt, ts+12415 /* "\"" */, 0)) return TCL_ERROR } @@ -56665,7 +58219,7 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, tcl.XTcl_UtfToLower(tls, tcl.XTcl_GetString(tls, pFlag)) rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, pFlag, bp+80 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+26168 /* "no such flag" */, 0, bp+192 /* &iChoice */) + interp, pFlag, bp+80 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+26944 /* "no such flag" */, 0, bp+192 /* &iChoice */) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pFlag if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -56724,7 +58278,7 @@ func crashEnableCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 *(*int32)(unsafe.Pointer(bp + 4 /* isDefault */)) = 0 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26181 /* "ENABLE ?DEFAULT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26957 /* "ENABLE ?DEFAULT?" */) return TCL_ERROR } @@ -56755,7 +58309,7 @@ func crashEnableCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var crashVfs = sqlite3_vfs{ FiVersion: 2, // pNext - FzName: ts + 26198, /* "crash" */ // pAppData + FzName: ts + 26974, /* "crash" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -56806,7 +58360,7 @@ func crashParamsObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc i if !(objc < 3) { goto __1 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26204 /* "?OPTIONS? DELAY ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26980 /* "?OPTIONS? DELAY ..." */) goto error __1: ; @@ -56815,7 +58369,7 @@ __1: if !(uint32(*(*int32)(unsafe.Pointer(bp + 32 /* nCrashFile */))) >= uint32(unsafe.Sizeof([500]int8{}))) { goto __2 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26230 /* "Filename is too ..." */, zCrashFile, ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27006 /* "Filename is too ..." */, zCrashFile, ts+12415 /* "\"" */, 0)) goto error __2: ; @@ -56878,7 +58432,7 @@ func writeCrashObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc in *(*int32)(unsafe.Pointer(bp /* nWrite */)) = 0 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26254 /* "NWRITE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27030 /* "NWRITE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &nWrite */) != 0 { @@ -56909,14 +58463,14 @@ func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj var zParent uintptr = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26261 /* "?-default? PAREN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27037 /* "?-default? PAREN..." */) return TCL_ERROR } zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) if objc == 3 { - if libc.Xstrcmp(tls, zParent, ts+26283 /* "-default" */) != 0 { + if libc.Xstrcmp(tls, zParent, ts+27059 /* "-default" */) != 0 { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+11533 /* "bad option \"" */, zParent, ts+26292 /* "\": must be -defa..." */, 0)) + libc.VaList(bp, ts+12321 /* "bad option \"" */, zParent, ts+27068 /* "\": must be -defa..." */, 0)) return TCL_ERROR } zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) @@ -56926,7 +58480,7 @@ func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj zParent = uintptr(0) } if jt_register(tls, zParent, (libc.Bool32(objc == 3))) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26312 /* "Error in jt_regi..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+27088 /* "Error in jt_regi..." */, 0)) return TCL_ERROR } @@ -56947,28 +58501,28 @@ func jtUnregisterObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc // This procedure registers the TCL procedures defined in this file. func Sqlitetest6_Init(tls *libc.TLS, interp uintptr) int32 { /* test6.c:1093:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+26333 /* "sqlite3_crash_en..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27109 /* "sqlite3_crash_en..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashEnableCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26354 /* "sqlite3_crashpar..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27130 /* "sqlite3_crashpar..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashParamsObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26374 /* "sqlite3_crash_no..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27150 /* "sqlite3_crash_no..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashNowCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26392 /* "sqlite3_simulate..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27168 /* "sqlite3_simulate..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{devSymObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26416 /* "sqlite3_crash_on..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27192 /* "sqlite3_crash_on..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{writeCrashObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26439 /* "unregister_devsi..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27215 /* "unregister_devsi..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{dsUnregisterObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26457 /* "register_jt_vfs" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27233 /* "register_jt_vfs" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{jtObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26473 /* "unregister_jt_vf..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27249 /* "unregister_jt_vf..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{jtUnregisterObjCmd})), uintptr(0), uintptr(0)) return TCL_OK @@ -57051,7 +58605,7 @@ func parse_client_id(tls *libc.TLS, interp uintptr, zArg uintptr) int32 { /* tes defer tls.Free(16) if (((zArg == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zArg))) == 0)) || (int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0)) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zArg)))))*2))) & int32(_ISupper)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25245 /* "thread ID must b..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26021 /* "thread ID must b..." */, 0)) return -1 } return (int32(*(*int8)(unsafe.Pointer(zArg))) - 'A') @@ -57071,8 +58625,8 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25284 /* " ID FILENAME" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26060 /* " ID FILENAME" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57080,7 +58634,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if threadset1[i].Fbusy != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25297 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+25305 /* " is already runn..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26073 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+26081 /* " is already runn..." */, 0)) return TCL_ERROR } threadset1[i].Fbusy = 1 @@ -57092,7 +58646,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 f func(*libc.TLS, uintptr) uintptr }{client_main})), (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+25325 /* "failed to create..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+26101 /* "failed to create..." */, 0)) sqlite3.Xsqlite3_free(tls, threadset1[i].FzFilename) threadset1[i].Fbusy = 0 return TCL_ERROR @@ -57122,8 +58676,8 @@ func tcl_client_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57131,7 +58685,7 @@ func tcl_client_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57162,8 +58716,8 @@ func tcl_client_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } if (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*4))))) == '*') && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*4)) + 1))) == 0) { @@ -57178,7 +58732,7 @@ func tcl_client_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } stop_thread(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57213,8 +58767,8 @@ func tcl_client_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57222,7 +58776,7 @@ func tcl_client_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57243,8 +58797,8 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57252,7 +58806,7 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+80 /* &n */) != 0 { @@ -57260,7 +58814,7 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset1[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852 + 48 /* &.argv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*4)), 0)) @@ -57279,8 +58833,8 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57288,7 +58842,7 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+80 /* &n */) != 0 { @@ -57296,7 +58850,7 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset1[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852 + 448 /* &.colv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*4)), 0)) @@ -57315,8 +58869,8 @@ func tcl_client_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var zName uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57324,7 +58878,7 @@ func tcl_client_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57344,8 +58898,8 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57353,7 +58907,7 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57364,7 +58918,7 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // This procedure runs in the thread to compile an SQL statement. func do_compile1(tls *libc.TLS, p uintptr) { /* test7.c:466:13: */ if (*Thread1)(unsafe.Pointer(p)).Fdb == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25405 /* "no database is o..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26181 /* "no database is o..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57384,8 +58938,8 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25425 /* " ID SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26201 /* " ID SQL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57393,7 +58947,7 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57408,7 +58962,7 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int func do_step1(tls *libc.TLS, p uintptr) { /* test7.c:513:13: */ var i int32 if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57433,8 +58987,8 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57442,7 +58996,7 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57454,7 +59008,7 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // This procedure runs in the thread to finalize a virtual machine. func do_finalize1(tls *libc.TLS, p uintptr) { /* test7.c:564:13: */ if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57471,8 +59025,8 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57480,7 +59034,7 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57494,7 +59048,7 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in // This procedure runs in the thread to reset a virtual machine. func do_reset(tls *libc.TLS, p uintptr) { /* test7.c:608:13: */ if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57511,8 +59065,8 @@ func tcl_client_reset(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57520,7 +59074,7 @@ func tcl_client_reset(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57542,8 +59096,8 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var j int32 var temp uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25467 /* " ID1 ID2" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26243 /* " ID1 ID2" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57551,7 +59105,7 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57560,7 +59114,7 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[j].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(j)*852)) @@ -57587,19 +59141,19 @@ var aCmd6 = [13]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 26491 /* "client_create" */, FxProc: 0}, - {FzName: ts + 26505 /* "client_wait" */, FxProc: 0}, - {FzName: ts + 26517 /* "client_halt" */, FxProc: 0}, - {FzName: ts + 26529 /* "client_argc" */, FxProc: 0}, - {FzName: ts + 26541 /* "client_argv" */, FxProc: 0}, - {FzName: ts + 26553 /* "client_colname" */, FxProc: 0}, - {FzName: ts + 26568 /* "client_result" */, FxProc: 0}, - {FzName: ts + 26582 /* "client_error" */, FxProc: 0}, - {FzName: ts + 26595 /* "client_compile" */, FxProc: 0}, - {FzName: ts + 26610 /* "client_step" */, FxProc: 0}, - {FzName: ts + 26622 /* "client_reset" */, FxProc: 0}, - {FzName: ts + 26635 /* "client_finalize" */, FxProc: 0}, - {FzName: ts + 26651 /* "client_swap" */, FxProc: 0}, + {FzName: ts + 27267 /* "client_create" */, FxProc: 0}, + {FzName: ts + 27281 /* "client_wait" */, FxProc: 0}, + {FzName: ts + 27293 /* "client_halt" */, FxProc: 0}, + {FzName: ts + 27305 /* "client_argc" */, FxProc: 0}, + {FzName: ts + 27317 /* "client_argv" */, FxProc: 0}, + {FzName: ts + 27329 /* "client_colname" */, FxProc: 0}, + {FzName: ts + 27344 /* "client_result" */, FxProc: 0}, + {FzName: ts + 27358 /* "client_error" */, FxProc: 0}, + {FzName: ts + 27371 /* "client_compile" */, FxProc: 0}, + {FzName: ts + 27386 /* "client_step" */, FxProc: 0}, + {FzName: ts + 27398 /* "client_reset" */, FxProc: 0}, + {FzName: ts + 27411 /* "client_finalize" */, FxProc: 0}, + {FzName: ts + 27427 /* "client_swap" */, FxProc: 0}, } /* test7.c:694:5 */ // end block for C++ @@ -57722,10 +59276,10 @@ func simulateVtabError(tls *libc.TLS, p uintptr, zMethod uintptr) int32 { /* tes // var zVarname [128]int8 at bp+24, 128 *(*int8)(unsafe.Pointer(bp + 24 /* &zVarname[0] */ + 127)) = int8(0) - sqlite3.Xsqlite3_snprintf(tls, 127, bp+24 /* &zVarname[0] */, ts+26663 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) + sqlite3.Xsqlite3_snprintf(tls, 127, bp+24 /* &zVarname[0] */, ts+27439 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) zErr = tcl.XTcl_GetVar2(tls, (*echo_vtab)(unsafe.Pointer(p)).Finterp, bp+24 /* &zVarname[0] */, uintptr(0), TCL_GLOBAL_ONLY) if zErr != 0 { - (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26687 /* "echo-vtab-error:..." */, libc.VaList(bp+16, zErr)) + (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27463 /* "echo-vtab-error:..." */, libc.VaList(bp+16, zErr)) } return (libc.Bool32(zErr != uintptr(0))) } @@ -57809,7 +59363,7 @@ func getColumnNames(tls *libc.TLS, db uintptr, zTab uintptr, paCol uintptr, pnCo // Prepare the statement "SELECT * FROM ". The column names // of the result set of the compiled SELECT will be the same as // the column names of table . - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26707 /* "SELECT * FROM %Q" */, libc.VaList(bp, zTab)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27483 /* "SELECT * FROM %Q" */, libc.VaList(bp, zTab)) if !(!(zSql != 0)) { goto __1 } @@ -57926,7 +59480,7 @@ __1: ; // Compile an sqlite pragma to loop through all indices on table zTab - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26724 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTab)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27500 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTab)) if !(!(zSql != 0)) { goto __2 } @@ -57951,7 +59505,7 @@ __3: goto __3 __5: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26746 /* "PRAGMA index_inf..." */, libc.VaList(bp+8, zIdx)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27522 /* "PRAGMA index_inf..." */, libc.VaList(bp+8, zIdx)) if !(!(zSql != 0)) { goto __6 } @@ -58013,7 +59567,7 @@ __12: // the string element zArg to that list in interpreter interp. func appendToEchoModule(tls *libc.TLS, interp uintptr, zArg uintptr) { /* test8.c:313:13: */ var flags int32 = ((TCL_APPEND_VALUE | TCL_LIST_ELEMENT) | TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+26768 /* "echo_module" */, uintptr(0), func() uintptr { + tcl.XTcl_SetVar2(tls, interp, ts+27544 /* "echo_module" */, uintptr(0), func() uintptr { if zArg != 0 { return zArg } @@ -58045,7 +59599,7 @@ func echoDeclareVtab(tls *libc.TLS, pVtab uintptr, db uintptr) int32 { /* test8. if (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0 { *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) = uintptr(0) rc = sqlite3.Xsqlite3_prepare(tls, db, - ts+26780, /* "SELECT sql FROM ..." */ + ts+27556, /* "SELECT sql FROM ..." */ -1, bp /* &pStmt */, uintptr(0)) if rc == SQLITE_OK { sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 1, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName, -1, uintptr(0)) @@ -58126,7 +59680,7 @@ func echoConstructor(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + 3*4)))) dequoteString(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) if ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0) && (int32(*(*int8)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))) == '*') { - var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+26844 /* "%s%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) + var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27620 /* "%s%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) sqlite3.Xsqlite3_free(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = z (*echo_vtab)(unsafe.Pointer(pVtab)).FisPattern = 1 @@ -58162,7 +59716,7 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt defer tls.Free(24) var rc int32 = SQLITE_OK - appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+26849 /* "xCreate" */) + appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27625 /* "xCreate" */) rc = echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr) // If there were two arguments passed to the module at the SQL level @@ -58178,7 +59732,7 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt var zSql uintptr var pVtab uintptr = *(*uintptr)(unsafe.Pointer(ppVtab)) (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 4*4)))) - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26857 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+8, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27633 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+8, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { @@ -58200,13 +59754,13 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt // Echo virtual table module xConnect method. func echoConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* test8.c:513:12: */ - appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+26881 /* "xConnect" */) + appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27657 /* "xConnect" */) return echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr) } // Echo virtual table module xDisconnect method. func echoDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:527:12: */ - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26890 /* "xDisconnect" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27666 /* "xDisconnect" */) return echoDestructor(tls, pVtab) } @@ -58217,12 +59771,12 @@ func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:535:12: */ var rc int32 = SQLITE_OK var p uintptr = pVtab - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26902 /* "xDestroy" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27678 /* "xDestroy" */) // Drop the "log" table, if one exists (see echoCreate() for details) if (p != 0) && ((*echo_vtab)(unsafe.Pointer(p)).FzLogName != 0) { var zSql uintptr - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26911 /* "DROP TABLE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzLogName)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27687 /* "DROP TABLE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzLogName)) rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) } @@ -58236,7 +59790,7 @@ func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:535:12: */ // Echo virtual table module xOpen method. func echoOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* test8.c:557:12: */ var pCur uintptr - if simulateVtabError(tls, pVTab, ts+26925 /* "xOpen" */) != 0 { + if simulateVtabError(tls, pVTab, ts+27701 /* "xOpen" */) != 0 { return SQLITE_ERROR } pCur = sqlite3.Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(echo_cursor{}))) @@ -58276,7 +59830,7 @@ func echoNext(tls *libc.TLS, cur uintptr) int32 { /* test8.c:591:12: */ var rc int32 = SQLITE_OK var pCur uintptr = cur - if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+26931 /* "xNext" */) != 0 { + if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27707 /* "xNext" */) != 0 { return SQLITE_ERROR } @@ -58298,7 +59852,7 @@ func echoColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* tes var iCol int32 = (i + 1) var pStmt uintptr = (*echo_cursor)(unsafe.Pointer(cur)).FpStmt - if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+26937 /* "xColumn" */) != 0 { + if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27713 /* "xColumn" */) != 0 { return SQLITE_ERROR } @@ -58348,14 +59902,14 @@ func echoFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr var pVtab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab var db uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Fdb - if simulateVtabError(tls, pVtab, ts+26945 /* "xFilter" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27721 /* "xFilter" */) != 0 { return SQLITE_ERROR } // Check that idxNum matches idxStr // Log arguments to the ::echo_module Tcl variable - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26945 /* "xFilter" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27721 /* "xFilter" */) appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, idxStr) for i = 0; i < argc; i++ { appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) @@ -58405,7 +59959,7 @@ func string_concat(tls *libc.TLS, pzStr uintptr, zAppend uintptr, doFree int32, } else { if zIn != 0 { var zTemp uintptr = zIn - zIn = sqlite3.Xsqlite3_mprintf(tls, ts+26844 /* "%s%s" */, libc.VaList(bp, zIn, zAppend)) + zIn = sqlite3.Xsqlite3_mprintf(tls, ts+27620 /* "%s%s" */, libc.VaList(bp, zIn, zAppend)) sqlite3.Xsqlite3_free(tls, zTemp) } else { zIn = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zAppend)) @@ -58434,7 +59988,7 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* var zRet uintptr = uintptr(0) if sqlite3.Xsqlite3_libversion_number(tls) < 3010000 { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26953 /* ", *" */, 0) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27729 /* ", *" */, 0) } else { var i int32 for i = 0; i < (*echo_vtab)(unsafe.Pointer(pTab)).FnCol; i++ { @@ -58444,9 +59998,9 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* } return i }()))) != 0 { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26957 /* "%z, %s" */, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*4)))) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27733 /* "%z, %s" */, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*4)))) } else { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26964 /* "%z, NULL" */, libc.VaList(bp+16, zRet)) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27740 /* "%z, NULL" */, libc.VaList(bp+16, zRet)) } if !(zRet != 0) { break @@ -58496,11 +60050,11 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test var useCost int32 = 0 var cost float64 = float64(0) var isIgnoreUsable int32 = 0 - if tcl.XTcl_GetVar2(tls, interp, ts+26973 /* "echo_module_igno..." */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { + if tcl.XTcl_GetVar2(tls, interp, ts+27749 /* "echo_module_igno..." */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { isIgnoreUsable = 1 } - if simulateVtabError(tls, pVtab, ts+26999 /* "xBestIndex" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27775 /* "xBestIndex" */) != 0 { return SQLITE_ERROR } @@ -58508,11 +60062,11 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test // variable nRow. The 'estimated-cost' of the scan will be the number of // rows in the table for a linear scan, or the log (base 2) of the // number of rows if the proposed scan uses an index. - if tcl.XTcl_GetVar2(tls, interp, ts+27010 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { - cost = libc.Xatof(tls, tcl.XTcl_GetVar2(tls, interp, ts+27010 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY)) + if tcl.XTcl_GetVar2(tls, interp, ts+27786 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { + cost = libc.Xatof(tls, tcl.XTcl_GetVar2(tls, interp, ts+27786 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY)) useCost = 1 } else { - *(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27027 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27803 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */)) != 0) { return SQLITE_NOMEM } @@ -58533,7 +60087,7 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if !(zCol != 0) { return SQLITE_NOMEM } - *(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27051 /* "SELECT rowid%z F..." */, libc.VaList(bp+8, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27827 /* "SELECT rowid%z F..." */, libc.VaList(bp+8, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */)) != 0) { return SQLITE_NOMEM } @@ -58556,29 +60110,29 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if iCol >= 0 { zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*4)) } else { - zNewCol = ts + 27074 /* "rowid" */ + zNewCol = ts + 27850 /* "rowid" */ } var zOp uintptr = uintptr(0) useIdx = 1 switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) { case SQLITE_INDEX_CONSTRAINT_EQ: - zOp = ts + 27080 /* "=" */ + zOp = ts + 27856 /* "=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LT: - zOp = ts + 27082 /* "<" */ + zOp = ts + 27858 /* "<" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GT: - zOp = ts + 27084 /* ">" */ + zOp = ts + 27860 /* ">" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LE: - zOp = ts + 27086 /* "<=" */ + zOp = ts + 27862 /* "<=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GE: - zOp = ts + 27089 /* ">=" */ + zOp = ts + 27865 /* ">=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_MATCH: @@ -58588,15 +60142,15 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test // of code requires the first letter of this operator to be // in upper-case to trigger the special MATCH handling (i.e. // wrapping the bound parameter with literal '%'s). - zOp = ts + 27092 /* "LIKE" */ + zOp = ts + 27868 /* "LIKE" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LIKE: - zOp = ts + 27097 /* "like" */ + zOp = ts + 27873 /* "like" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GLOB: - zOp = ts + 27102 /* "glob" */ + zOp = ts + 27878 /* "glob" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_REGEXP: @@ -58605,10 +60159,10 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test } if zOp != 0 { if int32(*(*int8)(unsafe.Pointer(zOp))) == 'L' { - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27107, /* " %s %s LIKE (SEL..." */ + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27883, /* " %s %s LIKE (SEL..." */ libc.VaList(bp+24, zSep, zNewCol)) } else { - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27142 /* " %s %s %s ?" */, libc.VaList(bp+40, zSep, zNewCol, zOp)) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27918 /* " %s %s %s ?" */, libc.VaList(bp+40, zSep, zNewCol, zOp)) } string_concat(tls, bp+84 /* &zQuery */, zNew, 1, bp+88 /* &rc */) zSep = ts + 8865 /* "AND" */ @@ -58627,20 +60181,20 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if iCol >= 0 { zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*4)) } else { - zNewCol = ts + 27074 /* "rowid" */ + zNewCol = ts + 27850 /* "rowid" */ } var zDir uintptr if (*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).Fdesc != 0 { - zDir = ts + 27154 /* "DESC" */ + zDir = ts + 27930 /* "DESC" */ } else { - zDir = ts + 27159 /* "ASC" */ + zDir = ts + 27935 /* "ASC" */ } - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27163 /* " ORDER BY %s %s" */, libc.VaList(bp+64, zNewCol, zDir)) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27939 /* " ORDER BY %s %s" */, libc.VaList(bp+64, zNewCol, zDir)) string_concat(tls, bp+84 /* &zQuery */, zNew, 1, bp+88 /* &rc */) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1 } - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26999 /* "xBestIndex" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27775 /* "xBestIndex" */) appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, *(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */))) @@ -58694,14 +60248,14 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid // Ticket #3083 - make sure we always start a transaction prior to // making any changes to a virtual table - if simulateVtabError(tls, pVtab, ts+27179 /* "xUpdate" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27955 /* "xUpdate" */) != 0 { return SQLITE_ERROR } // If apData[0] is an integer and nData>1 then do an UPDATE if (nData > 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { - var zSep uintptr = ts + 27187 /* " SET" */ - *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27192 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + var zSep uintptr = ts + 27963 /* " SET" */ + *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27968 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) != 0) { *(*int32)(unsafe.Pointer(bp + 100 /* rc */)) = SQLITE_NOMEM } @@ -58710,7 +60264,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid bindArgZero = 1 if bindArgOne != 0 { - string_concat(tls, bp+96 /* &z */, ts+27202 /* " SET rowid=?1 " */, 0, bp+100 /* &rc */) + string_concat(tls, bp+96 /* &z */, ts+27978 /* " SET rowid=?1 " */, 0, bp+100 /* &rc */) zSep = ts + 4619 /* "," */ } for i = 2; i < nData; i++ { @@ -58718,12 +60272,12 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid continue } string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, - ts+27217 /* "%s %Q=?%d" */, libc.VaList(bp+8, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*4)), i)), 1, bp+100 /* &rc */) + ts+27993 /* "%s %Q=?%d" */, libc.VaList(bp+8, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*4)), i)), 1, bp+100 /* &rc */) zSep = ts + 4619 /* "," */ } - string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+27227 /* " WHERE rowid=?%d" */, libc.VaList(bp+32, nData)), 1, bp+100 /* &rc */) + string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+28003 /* " WHERE rowid=?%d" */, libc.VaList(bp+32, nData)), 1, bp+100 /* &rc */) } else if (nData == 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { - *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27244 /* "DELETE FROM %Q W..." */, libc.VaList(bp+40, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+28020 /* "DELETE FROM %Q W..." */, libc.VaList(bp+40, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) != 0) { *(*int32)(unsafe.Pointer(bp + 100 /* rc */)) = SQLITE_NOMEM } @@ -58733,26 +60287,26 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid *(*uintptr)(unsafe.Pointer(bp + 104 /* zInsert */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 108 /* zValues */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 104 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27276 /* "INSERT INTO %Q (" */, libc.VaList(bp+48, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 104 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+28052 /* "INSERT INTO %Q (" */, libc.VaList(bp+48, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 104 /* zInsert */)) != 0) { *(*int32)(unsafe.Pointer(bp + 100 /* rc */)) = SQLITE_NOMEM } if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData + 1*4))) == SQLITE_INTEGER { bindArgOne = 1 *(*uintptr)(unsafe.Pointer(bp + 108 /* zValues */)) = sqlite3.Xsqlite3_mprintf(tls, ts+3266 /* "?" */, 0) - string_concat(tls, bp+104 /* &zInsert */, ts+27074 /* "rowid" */, 0, bp+100 /* &rc */) + string_concat(tls, bp+104 /* &zInsert */, ts+27850 /* "rowid" */, 0, bp+100 /* &rc */) } for ii = 2; ii < nData; ii++ { string_concat(tls, bp+104, /* &zInsert */ - sqlite3.Xsqlite3_mprintf(tls, ts+27293 /* "%s%Q" */, libc.VaList(bp+56, func() uintptr { + sqlite3.Xsqlite3_mprintf(tls, ts+28069 /* "%s%Q" */, libc.VaList(bp+56, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 108 /* zValues */)) != 0 { return ts + 90 /* ", " */ } return ts + 489 /* "" */ }(), *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((ii-2))*4)))), 1, bp+100 /* &rc */) string_concat(tls, bp+108, /* &zValues */ - sqlite3.Xsqlite3_mprintf(tls, ts+27298 /* "%s?%d" */, libc.VaList(bp+72, func() uintptr { + sqlite3.Xsqlite3_mprintf(tls, ts+28074 /* "%s?%d" */, libc.VaList(bp+72, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 108 /* zValues */)) != 0 { return ts + 90 /* ", " */ } @@ -58761,7 +60315,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid } string_concat(tls, bp+96 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 104 /* zInsert */)), 1, bp+100 /* &rc */) - string_concat(tls, bp+96 /* &z */, ts+27304 /* ") VALUES(" */, 0, bp+100 /* &rc */) + string_concat(tls, bp+96 /* &z */, ts+28080 /* ") VALUES(" */, 0, bp+100 /* &rc */) string_concat(tls, bp+96 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 108 /* zValues */)), 1, bp+100 /* &rc */) string_concat(tls, bp+96 /* &z */, ts+490 /* ")" */, 0, bp+100 /* &rc */) } else { @@ -58798,7 +60352,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid *(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_last_insert_rowid(tls, db) } if *(*int32)(unsafe.Pointer(bp + 100 /* rc */)) != SQLITE_OK { - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26687 /* "echo-vtab-error:..." */, libc.VaList(bp+88, sqlite3.Xsqlite3_errmsg(tls, db))) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27463 /* "echo-vtab-error:..." */, libc.VaList(bp+88, sqlite3.Xsqlite3_errmsg(tls, db))) } return *(*int32)(unsafe.Pointer(bp + 100 /* rc */)) @@ -58813,7 +60367,7 @@ func echoTransactionCall(tls *libc.TLS, tab uintptr, zCall uintptr) int32 { /* t var z uintptr var pVtab uintptr = tab - z = sqlite3.Xsqlite3_mprintf(tls, ts+27314 /* "echo(%s)" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + z = sqlite3.Xsqlite3_mprintf(tls, ts+28090 /* "echo(%s)" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if z == uintptr(0) { return SQLITE_NOMEM } @@ -58832,17 +60386,17 @@ func echoBegin(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1112:12: */ // Ticket #3083 - do not start a transaction if we are already in // a transaction - if simulateVtabError(tls, pVtab, ts+27323 /* "xBegin" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28099 /* "xBegin" */) != 0 { return SQLITE_ERROR } - rc = echoTransactionCall(tls, tab, ts+27323 /* "xBegin" */) + rc = echoTransactionCall(tls, tab, ts+28099 /* "xBegin" */) if rc == SQLITE_OK { // Check if the $::echo_module_begin_fail variable is defined. If it is, // and it is set to the name of the real table underlying this virtual // echo module table, then cause this xSync operation to fail. - zVal = tcl.XTcl_GetVar2(tls, interp, ts+27330 /* "echo_module_begi..." */, uintptr(0), TCL_GLOBAL_ONLY) + zVal = tcl.XTcl_GetVar2(tls, interp, ts+28106 /* "echo_module_begi..." */, uintptr(0), TCL_GLOBAL_ONLY) if (zVal != 0) && (0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) { rc = SQLITE_ERROR } @@ -58862,17 +60416,17 @@ func echoSync(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1143:12: */ // Ticket #3083 - Only call xSync if we have previously started a // transaction - if simulateVtabError(tls, pVtab, ts+27353 /* "xSync" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28129 /* "xSync" */) != 0 { return SQLITE_ERROR } - rc = echoTransactionCall(tls, tab, ts+27353 /* "xSync" */) + rc = echoTransactionCall(tls, tab, ts+28129 /* "xSync" */) if rc == SQLITE_OK { // Check if the $::echo_module_sync_fail variable is defined. If it is, // and it is set to the name of the real table underlying this virtual // echo module table, then cause this xSync operation to fail. - zVal = tcl.XTcl_GetVar2(tls, interp, ts+27359 /* "echo_module_sync..." */, uintptr(0), TCL_GLOBAL_ONLY) + zVal = tcl.XTcl_GetVar2(tls, interp, ts+28135 /* "echo_module_sync..." */, uintptr(0), TCL_GLOBAL_ONLY) if (zVal != 0) && (0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) { rc = -1 } @@ -58887,12 +60441,12 @@ func echoCommit(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1171:12: */ // Ticket #3083 - Only call xCommit if we have previously started // a transaction - if simulateVtabError(tls, pVtab, ts+27381 /* "xCommit" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28157 /* "xCommit" */) != 0 { return SQLITE_ERROR } sqlite3.Xsqlite3BeginBenignMalloc(tls) - rc = echoTransactionCall(tls, tab, ts+27381 /* "xCommit" */) + rc = echoTransactionCall(tls, tab, ts+28157 /* "xCommit" */) sqlite3.Xsqlite3EndBenignMalloc(tls) (*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0 return rc @@ -58905,7 +60459,7 @@ func echoRollback(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1189:12: */ // Ticket #3083 - Only call xRollback if we have previously started // a transaction - rc = echoTransactionCall(tls, tab, ts+27389 /* "xRollback" */) + rc = echoTransactionCall(tls, tab, ts+28165 /* "xRollback" */) (*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0 return rc } @@ -58923,7 +60477,7 @@ func overloadedGlobFunction(tls *libc.TLS, pContext uintptr, nArg int32, apArg u var i int32 var rc int32 tcl.XTcl_DStringInit(tls, bp /* &str */) - tcl.XTcl_DStringAppendElement(tls, bp /* &str */, ts+27399 /* "::echo_glob_over..." */) + tcl.XTcl_DStringAppendElement(tls, bp /* &str */, ts+28175 /* "::echo_glob_over..." */) for i = 0; i < nArg; i++ { tcl.XTcl_DStringAppendElement(tls, bp /* &str */, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + uintptr(i)*4)))) } @@ -58952,10 +60506,10 @@ func echoFindFunction(tls *libc.TLS, vtab uintptr, nArg int32, zFuncName uintptr var interp uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp // var info Tcl_CmdInfo at bp, 32 - if libc.Xstrcmp(tls, zFuncName, ts+27102 /* "glob" */) != 0 { + if libc.Xstrcmp(tls, zFuncName, ts+27878 /* "glob" */) != 0 { return 0 } - if tcl.XTcl_GetCommandInfo(tls, interp, ts+27399 /* "::echo_glob_over..." */, bp /* &info */) == 0 { + if tcl.XTcl_GetCommandInfo(tls, interp, ts+28175 /* "::echo_glob_over..." */, bp /* &info */) == 0 { return 0 } *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { @@ -58972,13 +60526,13 @@ func echoRename(tls *libc.TLS, vtab uintptr, zNewName uintptr) int32 { /* test8. var rc int32 = SQLITE_OK var p uintptr = vtab - if simulateVtabError(tls, p, ts+27420 /* "xRename" */) != 0 { + if simulateVtabError(tls, p, ts+28196 /* "xRename" */) != 0 { return SQLITE_ERROR } if (*echo_vtab)(unsafe.Pointer(p)).FisPattern != 0 { var nThis int32 = int32(libc.Xstrlen(tls, (*echo_vtab)(unsafe.Pointer(p)).FzThis)) - var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27428, /* "ALTER TABLE %s R..." */ + var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+28204, /* "ALTER TABLE %s R..." */ libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzTableName, zNewName, ((*echo_vtab)(unsafe.Pointer(p)).FzTableName+uintptr(nThis)))) rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) @@ -59055,7 +60609,7 @@ var echoModuleV2 = sqlite3_module{ func moduleDestroy(tls *libc.TLS, p uintptr) { /* test8.c:1355:13: */ var pMod uintptr = p - sqlite3.Xsqlite3_create_function(tls, (*EchoModule)(unsafe.Pointer(pMod)).Fdb, ts+27458, /* "function_that_do..." */ + sqlite3.Xsqlite3_create_function(tls, (*EchoModule)(unsafe.Pointer(pMod)).Fdb, ts+28234, /* "function_that_do..." */ SQLITE_ANY, 1, uintptr(0), uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, p) } @@ -59082,14 +60636,14 @@ func register_echo_module(tls *libc.TLS, clientData ClientData, interp uintptr, (*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp (*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp /* db */)) rc = sqlite3.Xsqlite3_create_module_v2(tls, - *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27496 /* "echo" */, uintptr(unsafe.Pointer(&echoModule)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) + *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28272 /* "echo" */, uintptr(unsafe.Pointer(&echoModule)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) // Virtual table module "echo_v2" if rc == SQLITE_OK { pMod = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(EchoModule{}))) (*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp (*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp /* db */)) - rc = sqlite3.Xsqlite3_create_module_v2(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27501, /* "echo_v2" */ + rc = sqlite3.Xsqlite3_create_module_v2(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28277, /* "echo_v2" */ uintptr(unsafe.Pointer(&echoModuleV2)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) } @@ -59108,7 +60662,7 @@ func declare_vtab(tls *libc.TLS, clientData ClientData, interp uintptr, objc int var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27509 /* "DB SQL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10524 /* "DB SQL" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -59141,8 +60695,8 @@ var aObjCmd2 = [2]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 27516 /* "register_echo_mo..." */, FxProc: 0}, - {FzName: ts + 27537 /* "sqlite3_declare_..." */, FxProc: 0}, + {FzName: ts + 28285 /* "register_echo_mo..." */, FxProc: 0}, + {FzName: ts + 28306 /* "sqlite3_declare_..." */, FxProc: 0}, } /* test8.c:1439:5 */ // end block for C++ @@ -59199,7 +60753,7 @@ func c_collation_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var db uintptr at bp+24, 4 var rc int32 - zErrFunction = ts + 27558 /* "N/A" */ + zErrFunction = ts + 28327 /* "N/A" */ if !(objc != 1) { goto __1 } @@ -59213,17 +60767,17 @@ __1: if !(rc != SQLITE_OK) { goto __2 } - zErrFunction = ts + 20989 /* "sqlite3_open" */ + zErrFunction = ts + 21765 /* "sqlite3_open" */ goto error_out __2: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+13094 /* "collate" */, 456, uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+13875 /* "collate" */, 456, uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { goto __3 } sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))) - zErrFunction = ts + 27562 /* "sqlite3_create_c..." */ + zErrFunction = ts + 28331 /* "sqlite3_create_c..." */ goto error_out __3: ; @@ -59233,7 +60787,7 @@ __3: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27587 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28356 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -59244,7 +60798,7 @@ func c_realloc_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var p uintptr var zErrFunction uintptr - zErrFunction = ts + 27558 /* "N/A" */ + zErrFunction = ts + 28327 /* "N/A" */ if !(objc != 1) { goto __1 @@ -59258,7 +60812,7 @@ __1: if !(!(p != 0)) { goto __2 } - zErrFunction = ts + 27612 /* "sqlite3_malloc" */ + zErrFunction = ts + 28381 /* "sqlite3_malloc" */ goto error_out __2: ; @@ -59269,7 +60823,7 @@ __2: if !(p != 0) { goto __3 } - zErrFunction = ts + 27627 /* "sqlite3_realloc" */ + zErrFunction = ts + 28396 /* "sqlite3_realloc" */ goto error_out __3: ; @@ -59278,7 +60832,7 @@ __3: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27587 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28356 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -59293,7 +60847,7 @@ func c_misuse_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc in // var pStmt uintptr at bp+28, 4 var rc int32 - zErrFunction = ts + 27558 /* "N/A" */ + zErrFunction = ts + 28327 /* "N/A" */ *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)) = uintptr(0) if !(objc != 1) { @@ -59310,7 +60864,7 @@ __1: if !(rc != SQLITE_OK) { goto __2 } - zErrFunction = ts + 20989 /* "sqlite3_open" */ + zErrFunction = ts + 21765 /* "sqlite3_open" */ goto error_out __2: ; @@ -59320,7 +60874,7 @@ __2: if !(rc != SQLITE_MISUSE) { goto __3 } - zErrFunction = ts + 20916 /* "sqlite3_errcode" */ + zErrFunction = ts + 21692 /* "sqlite3_errcode" */ goto error_out __3: ; @@ -59330,7 +60884,7 @@ __3: if !(rc != SQLITE_MISUSE) { goto __4 } - zErrFunction = ts + 21070 /* "sqlite3_prepare" */ + zErrFunction = ts + 21846 /* "sqlite3_prepare" */ goto error_out __4: ; @@ -59341,7 +60895,7 @@ __4: if !(rc != SQLITE_MISUSE) { goto __5 } - zErrFunction = ts + 21104 /* "sqlite3_prepare_..." */ + zErrFunction = ts + 21880 /* "sqlite3_prepare_..." */ goto error_out __5: ; @@ -59351,7 +60905,7 @@ __5: if !(rc != SQLITE_MISUSE) { goto __6 } - zErrFunction = ts + 21086 /* "sqlite3_prepare1..." */ + zErrFunction = ts + 21862 /* "sqlite3_prepare1..." */ goto error_out __6: ; @@ -59361,7 +60915,7 @@ __6: if !(rc != SQLITE_MISUSE) { goto __7 } - zErrFunction = ts + 21166 /* "sqlite3_prepare1..." */ + zErrFunction = ts + 21942 /* "sqlite3_prepare1..." */ goto error_out __7: ; @@ -59370,7 +60924,7 @@ __7: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27587 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28356 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -59393,9 +60947,9 @@ var aObjCmd3 = [3]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 27643 /* "c_misuse_test" */, FxProc: 0}, - {FzName: ts + 27657 /* "c_realloc_test" */, FxProc: 0}, - {FzName: ts + 27672 /* "c_collation_test" */, FxProc: 0}, + {FzName: ts + 28412 /* "c_misuse_test" */, FxProc: 0}, + {FzName: ts + 28426 /* "c_realloc_test" */, FxProc: 0}, + {FzName: ts + 28441 /* "c_collation_test" */, FxProc: 0}, } /* test9.c:193:5 */ // end block for C++ @@ -59436,7 +60990,7 @@ func resetAutoExtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc // This procedure registers the TCL procs defined in this file. func Sqlitetest_autoext_Init(tls *libc.TLS, interp uintptr) int32 { /* test_autoext.c:210:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+27689, /* "sqlite3_reset_au..." */ + tcl.XTcl_CreateObjCommand(tls, interp, ts+28458, /* "sqlite3_reset_au..." */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{resetAutoExtObjCmd})), uintptr(0), uintptr(0)) @@ -59448,10 +61002,10 @@ func backupTestCmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc in defer tls.Free(120) *(*[5]BackupSubCommand)(unsafe.Pointer(bp /* aSub */)) = [5]BackupSubCommand{ - {FzCmd: ts + 10120 /* "step" */, FnArg: 1, FzArg: ts + 27718 /* "npage" */}, - {FzCmd: ts + 27724 /* "finish" */, FeCmd: uint32(1) /* BACKUP_FINISH */, FzArg: ts + 489 /* "" */}, - {FzCmd: ts + 27731 /* "remaining" */, FeCmd: uint32(2) /* BACKUP_REMAINING */, FzArg: ts + 489 /* "" */}, - {FzCmd: ts + 27741 /* "pagecount" */, FeCmd: uint32(3) /* BACKUP_PAGECOUNT */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 10120 /* "step" */, FnArg: 1, FzArg: ts + 28487 /* "npage" */}, + {FzCmd: ts + 28493 /* "finish" */, FeCmd: uint32(1) /* BACKUP_FINISH */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 28500 /* "remaining" */, FeCmd: uint32(2) /* BACKUP_REMAINING */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 28510 /* "pagecount" */, FeCmd: uint32(3) /* BACKUP_PAGECOUNT */, FzArg: ts + 489 /* "" */}, {}, } @@ -59461,7 +61015,7 @@ func backupTestCmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc in var rc int32 rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &aSub[0] */, int32(unsafe.Sizeof(BackupSubCommand{})), ts+11373 /* "option" */, 0, bp+80 /* &iCmd */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &aSub[0] */, int32(unsafe.Sizeof(BackupSubCommand{})), ts+12161 /* "option" */, 0, bp+80 /* &iCmd */) if rc != TCL_OK { return rc } @@ -59543,7 +61097,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i if objc != 6 { tcl.XTcl_WrongNumArgs(tls, - interp, 1, objv, ts+27751 /* "CMDNAME DESTHAND..." */) + interp, 1, objv, ts+28520 /* "CMDNAME DESTHAND..." */) return TCL_ERROR } @@ -59555,7 +61109,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i pBackup = sqlite3.Xsqlite3_backup_init(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pDestDb */)), zDestName, *(*uintptr)(unsafe.Pointer(bp + 20 /* pSrcDb */)), zSrcName) if !(pBackup != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27797 /* "sqlite3_backup_i..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28566 /* "sqlite3_backup_i..." */, 0)) return TCL_ERROR } @@ -59567,7 +61121,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i } func Sqlitetestbackup_Init(tls *libc.TLS, interp uintptr) int32 { /* test_backup.c:154:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+27826 /* "sqlite3_backup" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+28595 /* "sqlite3_backup" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{backupTestInit})), uintptr(0), uintptr(0)) return TCL_OK @@ -59658,7 +61212,7 @@ func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt var rc int32 = SQLITE_OK if argc != 4 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -59676,7 +61230,7 @@ func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26881 /* "xConnect" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27657 /* "xConnect" */, -1)) rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, TCL_EVAL_GLOBAL) if rc != TCL_OK { @@ -59769,7 +61323,7 @@ func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26945 /* "xFilter" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27721 /* "xFilter" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewIntObj(tls, idxNum)) if idxStr != 0 { tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, idxStr, -1)) @@ -59826,11 +61380,11 @@ func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, rc = sqlite3.Xsqlite3_prepare_v2(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 4 /* &.pStmt */), uintptr(0)) if rc != SQLITE_OK { var zErr uintptr = sqlite3.Xsqlite3_errmsg(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb) - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27867 /* "unexpected: %s" */, libc.VaList(bp+16, zErr)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28636 /* "unexpected: %s" */, libc.VaList(bp+16, zErr)) } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27867 /* "unexpected: %s" */, libc.VaList(bp+24, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28636 /* "unexpected: %s" */, libc.VaList(bp+24, zCmd)) } } } @@ -59872,7 +61426,7 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26999 /* "xBestIndex" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27775 /* "xBestIndex" */, -1)) pArg = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pArg)).FrefCount++ @@ -59885,54 +61439,54 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) { case SQLITE_INDEX_CONSTRAINT_EQ: - zOp = ts + 27882 /* "eq" */ + zOp = ts + 28651 /* "eq" */ break case SQLITE_INDEX_CONSTRAINT_GT: - zOp = ts + 27885 /* "gt" */ + zOp = ts + 28654 /* "gt" */ break case SQLITE_INDEX_CONSTRAINT_LE: - zOp = ts + 27888 /* "le" */ + zOp = ts + 28657 /* "le" */ break case SQLITE_INDEX_CONSTRAINT_LT: - zOp = ts + 27891 /* "lt" */ + zOp = ts + 28660 /* "lt" */ break case SQLITE_INDEX_CONSTRAINT_GE: - zOp = ts + 27894 /* "ge" */ + zOp = ts + 28663 /* "ge" */ break case SQLITE_INDEX_CONSTRAINT_MATCH: - zOp = ts + 27897 /* "match" */ + zOp = ts + 28666 /* "match" */ break case SQLITE_INDEX_CONSTRAINT_LIKE: - zOp = ts + 27097 /* "like" */ + zOp = ts + 27873 /* "like" */ break case SQLITE_INDEX_CONSTRAINT_GLOB: - zOp = ts + 27102 /* "glob" */ + zOp = ts + 27878 /* "glob" */ break case SQLITE_INDEX_CONSTRAINT_REGEXP: zOp = ts + 6335 /* "regexp" */ break case SQLITE_INDEX_CONSTRAINT_NE: - zOp = ts + 27903 /* "ne" */ + zOp = ts + 28672 /* "ne" */ break case SQLITE_INDEX_CONSTRAINT_ISNOT: - zOp = ts + 27906 /* "isnot" */ + zOp = ts + 28675 /* "isnot" */ break case SQLITE_INDEX_CONSTRAINT_ISNOTNULL: - zOp = ts + 27912 /* "isnotnull" */ + zOp = ts + 28681 /* "isnotnull" */ break case SQLITE_INDEX_CONSTRAINT_ISNULL: - zOp = ts + 27922 /* "isnull" */ + zOp = ts + 28691 /* "isnull" */ break case SQLITE_INDEX_CONSTRAINT_IS: zOp = ts + 5712 /* "is" */ break } - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27929 /* "op" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28698 /* "op" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, zOp, -1)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27932 /* "column" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28701 /* "column" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27939 /* "usable" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28708 /* "usable" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fusable))) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, pElem) @@ -59959,9 +61513,9 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ var pElem uintptr = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pElem)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27932 /* "column" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28701 /* "column" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).FiColumn)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27946 /* "desc" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28715 /* "desc" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).Fdesc))) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, pElem) @@ -60020,29 +61574,29 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ for ii = 0; (rc == SQLITE_OK) && (ii < *(*int32)(unsafe.Pointer(bp + 48 /* nElem */))); ii = ii + (2) { var zCmd uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 52 /* apElem */)) + uintptr(ii)*4))) var p uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 52 /* apElem */)) + uintptr((ii+1))*4)) - if sqlite3.Xsqlite3_stricmp(tls, ts+27951 /* "cost" */, zCmd) == 0 { + if sqlite3.Xsqlite3_stricmp(tls, ts+28720 /* "cost" */, zCmd) == 0 { rc = tcl.XTcl_GetDoubleFromObj(tls, interp, p, (pIdxInfo + 36 /* &.estimatedCost */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27956 /* "orderby" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28725 /* "orderby" */, zCmd) == 0 { rc = tcl.XTcl_GetIntFromObj(tls, interp, p, (pIdxInfo + 32 /* &.orderByConsumed */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27964 /* "idxnum" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28733 /* "idxnum" */, zCmd) == 0 { rc = tcl.XTcl_GetIntFromObj(tls, interp, p, (pIdxInfo + 20 /* &.idxNum */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27971 /* "idxstr" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28740 /* "idxstr" */, zCmd) == 0 { sqlite3.Xsqlite3_free(tls, (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, tcl.XTcl_GetString(tls, p))) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27978 /* "rows" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28747 /* "rows" */, zCmd) == 0 { *(*Tcl_WideInt)(unsafe.Pointer(bp + 56 /* x */)) = int64(0) rc = tcl.XTcl_GetWideIntFromObj(tls, interp, p, bp+56 /* &x */) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = sqlite3_int64(tRowcnt(*(*Tcl_WideInt)(unsafe.Pointer(bp + 56 /* x */)))) - } else if (sqlite3.Xsqlite3_stricmp(tls, ts+27983 /* "use" */, zCmd) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, ts+27987 /* "omit" */, zCmd) == 0) { + } else if (sqlite3.Xsqlite3_stricmp(tls, ts+28752 /* "use" */, zCmd) == 0) || + (sqlite3.Xsqlite3_stricmp(tls, ts+28756 /* "omit" */, zCmd) == 0) { // var iCons int32 at bp+64, 4 rc = tcl.XTcl_GetIntFromObj(tls, interp, p, bp+64 /* &iCons */) if rc == SQLITE_OK { if (*(*int32)(unsafe.Pointer(bp + 64 /* iCons */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 64 /* iCons */)) >= (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27992 /* "unexpected: %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 64 /* iCons */)))) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28761 /* "unexpected: %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 64 /* iCons */)))) } else { var bOmit int32 = (libc.Bool32((int32(*(*int8)(unsafe.Pointer(zCmd))) == 'o') || (int32(*(*int8)(unsafe.Pointer(zCmd))) == 'O'))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(*(*int32)(unsafe.Pointer(bp + 64 /* iCons */)))*8)).FargvIndex = libc.PostIncInt32(&iArgv, 1) @@ -60051,7 +61605,7 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27867 /* "unexpected: %s" */, libc.VaList(bp+32, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28636 /* "unexpected: %s" */, libc.VaList(bp+32, zCmd)) } if (rc != SQLITE_OK) && ((*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg == uintptr(0)) { var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp) @@ -60095,7 +61649,7 @@ func register_tcl_module(tls *libc.TLS, clientData ClientData, interp uintptr, o if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28007 /* "tcl" */, uintptr(unsafe.Pointer(&tclModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28776 /* "tcl" */, uintptr(unsafe.Pointer(&tclModule)), interp) return TCL_OK } @@ -60118,7 +61672,7 @@ var aObjCmd4 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 28011 /* "register_tcl_mod..." */, FxProc: 0}, + {FzName: ts + 28780 /* "register_tcl_mod..." */, FxProc: 0}, } /* test_bestindex.c:610:5 */ // Return a pointer to a buffer containing a text representation of the @@ -60128,7 +61682,7 @@ func ptrToText(tls *libc.TLS, p uintptr) uintptr { /* test_blob.c:37:13: */ bp := tls.Alloc(8) defer tls.Free(8) - sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof(buf)) - uint32(1))), uintptr(unsafe.Pointer(&buf)), ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof(buf)) - uint32(1))), uintptr(unsafe.Pointer(&buf)), ts+13802 /* "%p" */, libc.VaList(bp, p)) return uintptr(unsafe.Pointer(&buf)) } @@ -60154,7 +61708,7 @@ func blobHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, ppBlob uint z = tcl.XTcl_GetStringFromObj(tls, pObj, bp /* &n */) if *(*int32)(unsafe.Pointer(bp /* n */)) == 0 { *(*uintptr)(unsafe.Pointer(ppBlob)) = uintptr(0) - } else if (*(*int32)(unsafe.Pointer(bp /* n */)) > 9) && (0 == libc.Xmemcmp(tls, ts+28031 /* "incrblob_" */, z, uint32(9))) { + } else if (*(*int32)(unsafe.Pointer(bp /* n */)) > 9) && (0 == libc.Xmemcmp(tls, ts+28800 /* "incrblob_" */, z, uint32(9))) { // var notUsed int32 at bp+4, 4 var channel Tcl_Channel @@ -60218,7 +61772,7 @@ func test_blob_open(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var rc int32 if objc != 8 { - var zUsage uintptr = ts + 28041 /* "DB DATABASE TABL..." */ + var zUsage uintptr = ts + 28810 /* "DB DATABASE TABL..." */ tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zUsage) return TCL_ERROR } @@ -60262,7 +61816,7 @@ func test_blob_close(tls *libc.TLS, clientData ClientData, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } @@ -60289,7 +61843,7 @@ func test_blob_bytes(tls *libc.TLS, clientData ClientData, interp uintptr, objc var nByte int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } @@ -60329,7 +61883,7 @@ func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28093 /* "CHANNEL OFFSET N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28862 /* "CHANNEL OFFSET N" */) return TCL_ERROR } @@ -60344,7 +61898,7 @@ func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc i if *(*int32)(unsafe.Pointer(bp + 24 /* nByte */)) > 0 { zBuf = tcl.XTcl_AttemptAlloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 24 /* nByte */)))) if zBuf == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28110 /* "out of memory in..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28879 /* "out of memory in..." */, 0)) return TCL_ERROR } } @@ -60389,7 +61943,7 @@ func test_blob_write(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var nBuf int32 at bp+8, 4 if (objc != 4) && (objc != 5) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28171 /* "HANDLE OFFSET DA..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28940 /* "HANDLE OFFSET DA..." */) return TCL_ERROR } @@ -60433,11 +61987,11 @@ var aObjCmd5 = [5]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 28198 /* "sqlite3_blob_ope..." */, FxProc: 0}, - {FzName: ts + 28216 /* "sqlite3_blob_clo..." */, FxProc: 0}, - {FzName: ts + 28235 /* "sqlite3_blob_byt..." */, FxProc: 0}, - {FzName: ts + 28254 /* "sqlite3_blob_rea..." */, FxProc: 0}, - {FzName: ts + 28272 /* "sqlite3_blob_wri..." */, FxProc: 0}, + {FzName: ts + 28967 /* "sqlite3_blob_ope..." */, FxProc: 0}, + {FzName: ts + 28985 /* "sqlite3_blob_clo..." */, FxProc: 0}, + {FzName: ts + 29004 /* "sqlite3_blob_byt..." */, FxProc: 0}, + {FzName: ts + 29023 /* "sqlite3_blob_rea..." */, FxProc: 0}, + {FzName: ts + 29041 /* "sqlite3_blob_wri..." */, FxProc: 0}, } /* test_blob.c:317:5 */ // end block for C++ @@ -60520,369 +62074,369 @@ func sqlite3BtreeCursorList(tls *libc.TLS, p uintptr) { /* test_btree.c:52:6: */ // according to the compile-time configuration of the database. Test // procedures use this to determine when tests should be omitted. func set_options(tls *libc.TLS, interp uintptr) { /* test_config.c:47:13: */ - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28306 /* "malloc_usable_si..." */, ts+28325, /* "1" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29075 /* "malloc_usable_si..." */, ts+29094, /* "1" */ TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28327 /* "rowid32" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29096 /* "rowid32" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28335 /* "casesensitivelik..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29104 /* "casesensitivelik..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28353 /* "configslower" */, ts+28366 /* "1.0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29122 /* "configslower" */, ts+29135 /* "1.0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28370 /* "curdir" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29139 /* "curdir" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28377 /* "win32malloc" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29146 /* "win32malloc" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28389 /* "debug" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29158 /* "debug" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28395 /* "default_ckptfull..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29164 /* "default_ckptfull..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28417 /* "direct_read" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29186 /* "direct_read" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28429 /* "dirsync" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29198 /* "dirsync" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28437 /* "lfs" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29206 /* "lfs" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28441 /* "pagecache_overfl..." */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29210 /* "pagecache_overfl..." */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28466 /* "mmap" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29235 /* "mmap" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28471, /* "worker_threads" */ - ts+28486 /* "8" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29240, /* "worker_threads" */ + ts+29255 /* "8" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28488 /* "memdebug" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29257 /* "memdebug" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28497 /* "8_3_names" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29266 /* "8_3_names" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28507 /* "cursorhints" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29276 /* "cursorhints" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28519 /* "hiddencolumns" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29288 /* "hiddencolumns" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13152 /* "deserialize" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+13933 /* "deserialize" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28533 /* "mathlib" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29302 /* "mathlib" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28541 /* "mem3" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29310 /* "mem3" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28546 /* "mem5" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29315 /* "mem5" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28551 /* "offset_sql_func" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29320 /* "offset_sql_func" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13260 /* "preupdate" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+14041 /* "preupdate" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28567 /* "snapshot" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29336 /* "snapshot" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28576 /* "mutex" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29345 /* "mutex" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28582 /* "mutex_noop" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29351 /* "mutex_noop" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28593 /* "altertable" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29362 /* "altertable" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+1818 /* "analyze" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+1818 /* "analyze" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28604 /* "api_armor" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29373 /* "api_armor" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28614 /* "atomicwrite" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29383 /* "atomicwrite" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28626 /* "geopoly" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29395 /* "geopoly" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28634 /* "json1" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29403 /* "json1" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28640 /* "has_codec" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29409 /* "has_codec" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28650 /* "like_match_blobs" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29419 /* "like_match_blobs" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28667 /* "attach" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+10584 /* "attach" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28674 /* "auth" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29436 /* "auth" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28679 /* "autoinc" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29441 /* "autoinc" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+12733 /* "autoindex" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+13514 /* "autoindex" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28687 /* "autoreset" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29449 /* "autoreset" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28697 /* "autovacuum" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28708, /* "default_autovacu..." */ - ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29459 /* "autovacuum" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29470, /* "default_autovacu..." */ + ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28727 /* "between_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29489 /* "between_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28739 /* "builtin_test" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29501 /* "builtin_test" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28752 /* "bloblit" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29514 /* "bloblit" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28760 /* "cast" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29522 /* "cast" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28765 /* "check" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29527 /* "check" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28771 /* "cte" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29533 /* "cte" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28775 /* "columnmetadata" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29537 /* "columnmetadata" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28790 /* "oversize_cell_ch..." */, ts+13873, /* "0" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29552 /* "oversize_cell_ch..." */, ts+14654, /* "0" */ TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28810 /* "compileoption_di..." */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29572 /* "compileoption_di..." */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13131 /* "complete" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+13912 /* "complete" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28830 /* "compound" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29592 /* "compound" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28839 /* "conflict" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28848 /* "crashtest" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29601 /* "conflict" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29610 /* "crashtest" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28858 /* "datetime" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29620 /* "datetime" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28867 /* "decltype" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29629 /* "decltype" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28876 /* "deprecated" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29638 /* "deprecated" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28887 /* "diskio" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29649 /* "diskio" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+4835 /* "explain" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+4835 /* "explain" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28894 /* "floatingpoint" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29656 /* "floatingpoint" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28908 /* "foreignkey" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29670 /* "foreignkey" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28919 /* "fts1" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29681 /* "fts1" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28924 /* "fts2" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29686 /* "fts2" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28929 /* "fts3" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29691 /* "fts3" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28934 /* "fts5" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29696 /* "fts5" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28939 /* "fts3_unicode" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29701 /* "fts3_unicode" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28952 /* "fts4_deferred" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29714 /* "fts4_deferred" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28966 /* "gettable" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29728 /* "gettable" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28975 /* "icu" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29737 /* "icu" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28979 /* "icu_collations" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29741 /* "icu_collations" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+10524 /* "incrblob" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+11333 /* "incrblob" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28994 /* "integrityck" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29756 /* "integrityck" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29006 /* "legacyformat" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29768 /* "legacyformat" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29019 /* "like_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29781 /* "like_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29028 /* "load_ext" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29790 /* "load_ext" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29037 /* "localtime" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29799 /* "localtime" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29047 /* "lookaside" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29809 /* "lookaside" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29057, /* "long_double" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29819, /* "long_double" */ func() uintptr { if uint32(unsafe.Sizeof(float64(0))) > uint32(unsafe.Sizeof(float64(0))) { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29069 /* "memorydb" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29831 /* "memorydb" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29078 /* "memorymanage" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29840 /* "memorymanage" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29091 /* "mergesort" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29853 /* "mergesort" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29101 /* "null_trim" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29863 /* "null_trim" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29111 /* "or_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29873 /* "or_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29118 /* "rbu" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29880 /* "rbu" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29122 /* "pager_pragmas" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29884 /* "pager_pragmas" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29136 /* "pragma" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29898 /* "pragma" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+10199 /* "progress" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+10199 /* "progress" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29143 /* "reindex" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29905 /* "reindex" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29151 /* "rtree" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29913 /* "rtree" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29157 /* "rtree_int_only" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29919 /* "rtree_int_only" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29172 /* "schema_pragmas" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29934 /* "schema_pragmas" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29187 /* "schema_version" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29949 /* "schema_version" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29202 /* "session" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29964 /* "session" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+18468 /* "stat4" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29210 /* "stmtvtab" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+19249 /* "stat4" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29972 /* "stmtvtab" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29219 /* "scanstatus" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29981 /* "scanstatus" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29230 /* "lock_proxy_pragm..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29249 /* "prefer_proxy_loc..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29992 /* "lock_proxy_pragm..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30011 /* "prefer_proxy_loc..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29270 /* "shared_cache" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30032 /* "shared_cache" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29283 /* "subquery" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30045 /* "subquery" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29292 /* "tclvar" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30054 /* "tclvar" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29299, /* "threadsafe" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30061, /* "threadsafe" */ func() uintptr { if 1 != 0 { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29310, /* "threadsafe1" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30072, /* "threadsafe1" */ func() uintptr { if SQLITE_THREADSAFE == 1 { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29322, /* "threadsafe2" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30084, /* "threadsafe2" */ func() uintptr { if SQLITE_THREADSAFE == 2 { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29334 /* "tempdb" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30096 /* "tempdb" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13345 /* "trace" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+14126 /* "trace" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29341 /* "trigger" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30103 /* "trigger" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29349 /* "truncate_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30111 /* "truncate_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+15418 /* "utf16" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+16199 /* "utf16" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29362 /* "vacuum" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30124 /* "vacuum" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29369 /* "view" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30131 /* "view" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29374 /* "vtab" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30136 /* "vtab" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29379 /* "wal" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30141 /* "wal" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29383 /* "wsd" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30145 /* "wsd" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29387 /* "update_delete_li..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30149 /* "update_delete_li..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13372 /* "unlock_notify" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+14153 /* "unlock_notify" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29407 /* "fast_secure_dele..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30169 /* "fast_secure_dele..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29426 /* "secure_delete" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30188 /* "secure_delete" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29440 /* "userauth" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30202 /* "userauth" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29449 /* "multiplex_ext_ov..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30211 /* "multiplex_ext_ov..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29473 /* "yytrackmaxstackd..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30235 /* "yytrackmaxstackd..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29494 /* "sqllog" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30256 /* "sqllog" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29501 /* "uri_00_error" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30263 /* "uri_00_error" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29514 /* "normalize" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30276 /* "normalize" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29524 /* "windowfunc" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30286 /* "windowfunc" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) { - tcl.XTcl_LinkVar(tls, interp, ts+29535 /* "SQLITE_MAX_LENGT..." */, uintptr(unsafe.Pointer(&cv_MAX_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30297 /* "SQLITE_MAX_LENGT..." */, uintptr(unsafe.Pointer(&cv_MAX_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29553 /* "SQLITE_MAX_COLUM..." */, uintptr(unsafe.Pointer(&cv_MAX_COLUMN)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30315 /* "SQLITE_MAX_COLUM..." */, uintptr(unsafe.Pointer(&cv_MAX_COLUMN)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29571 /* "SQLITE_MAX_SQL_L..." */, uintptr(unsafe.Pointer(&cv_MAX_SQL_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30333 /* "SQLITE_MAX_SQL_L..." */, uintptr(unsafe.Pointer(&cv_MAX_SQL_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29593 /* "SQLITE_MAX_EXPR_..." */, uintptr(unsafe.Pointer(&cv_MAX_EXPR_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30355 /* "SQLITE_MAX_EXPR_..." */, uintptr(unsafe.Pointer(&cv_MAX_EXPR_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29615 /* "SQLITE_MAX_COMPO..." */, uintptr(unsafe.Pointer(&cv_MAX_COMPOUND_SELECT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30377 /* "SQLITE_MAX_COMPO..." */, uintptr(unsafe.Pointer(&cv_MAX_COMPOUND_SELECT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29642 /* "SQLITE_MAX_VDBE_..." */, uintptr(unsafe.Pointer(&cv_MAX_VDBE_OP)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30404 /* "SQLITE_MAX_VDBE_..." */, uintptr(unsafe.Pointer(&cv_MAX_VDBE_OP)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29661 /* "SQLITE_MAX_FUNCT..." */, uintptr(unsafe.Pointer(&cv_MAX_FUNCTION_ARG)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30423 /* "SQLITE_MAX_FUNCT..." */, uintptr(unsafe.Pointer(&cv_MAX_FUNCTION_ARG)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29685 /* "SQLITE_MAX_VARIA..." */, uintptr(unsafe.Pointer(&cv_MAX_VARIABLE_NUMBER)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30447 /* "SQLITE_MAX_VARIA..." */, uintptr(unsafe.Pointer(&cv_MAX_VARIABLE_NUMBER)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29712 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30474 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29733 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_COUNT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30495 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_COUNT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29755 /* "SQLITE_MAX_LIKE_..." */, uintptr(unsafe.Pointer(&cv_MAX_LIKE_PATTERN_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30517 /* "SQLITE_MAX_LIKE_..." */, uintptr(unsafe.Pointer(&cv_MAX_LIKE_PATTERN_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29786 /* "SQLITE_MAX_TRIGG..." */, uintptr(unsafe.Pointer(&cv_MAX_TRIGGER_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30548 /* "SQLITE_MAX_TRIGG..." */, uintptr(unsafe.Pointer(&cv_MAX_TRIGGER_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29811 /* "SQLITE_DEFAULT_C..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_CACHE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30573 /* "SQLITE_DEFAULT_C..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_CACHE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29837 /* "SQLITE_DEFAULT_P..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30599 /* "SQLITE_DEFAULT_P..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29862 /* "SQLITE_DEFAULT_F..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_FILE_FORMAT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30624 /* "SQLITE_DEFAULT_F..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_FILE_FORMAT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29889 /* "SQLITE_DEFAULT_S..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30651 /* "SQLITE_DEFAULT_S..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29916 /* "SQLITE_DEFAULT_W..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_WAL_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30678 /* "SQLITE_DEFAULT_W..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_WAL_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29947 /* "SQLITE_MAX_ATTAC..." */, uintptr(unsafe.Pointer(&cv_MAX_ATTACHED)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30709 /* "SQLITE_MAX_ATTAC..." */, uintptr(unsafe.Pointer(&cv_MAX_ATTACHED)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29967 /* "SQLITE_MAX_DEFAU..." */, uintptr(unsafe.Pointer(&cv_MAX_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30729 /* "SQLITE_MAX_DEFAU..." */, uintptr(unsafe.Pointer(&cv_MAX_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29996 /* "SQLITE_MAX_WORKE..." */, uintptr(unsafe.Pointer(&cv_MAX_WORKER_THREADS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30758 /* "SQLITE_MAX_WORKE..." */, uintptr(unsafe.Pointer(&cv_MAX_WORKER_THREADS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30022 /* "TEMP_STORE" */, uintptr(unsafe.Pointer(&cv_TEMP_STORE)), + tcl.XTcl_LinkVar(tls, interp, ts+30784 /* "TEMP_STORE" */, uintptr(unsafe.Pointer(&cv_TEMP_STORE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30033 /* "__GNUC__" */, uintptr(unsafe.Pointer(&cv___GNUC__)), + tcl.XTcl_LinkVar(tls, interp, ts+30795 /* "__GNUC__" */, uintptr(unsafe.Pointer(&cv___GNUC__)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } @@ -60975,15 +62529,15 @@ func sqlite3_delete_database(tls *libc.TLS, zFile uintptr) int32 { /* test_delet var rc int32 = 0 // System error code var i int32 // Iterate through azFmt[] and aMFile[] - *(*[4]uintptr)(unsafe.Pointer(bp + 24 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 30042 /* "%s-journal" */, ts + 30053 /* "%s-wal" */, ts + 30060 /* "%s-shm" */} + *(*[4]uintptr)(unsafe.Pointer(bp + 24 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 30804 /* "%s-journal" */, ts + 30815 /* "%s-wal" */, ts + 30822 /* "%s-shm" */} *(*[6]MFile)(unsafe.Pointer(bp + 40 /* aMFile */)) = [6]MFile{ - {FzFmt: ts + 30067 /* "%s%03d" */}, - {FzFmt: ts + 30074 /* "%s-journal%03d" */}, - {FzFmt: ts + 30089 /* "%s-wal%03d" */}, - {FzFmt: ts + 30067 /* "%s%03d" */, Fb83: 1}, - {FzFmt: ts + 30074 /* "%s-journal%03d" */, FiOffset: SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET, Fb83: 1}, - {FzFmt: ts + 30089 /* "%s-wal%03d" */, FiOffset: SQLITE_MULTIPLEX_WAL_8_3_OFFSET, Fb83: 1}, + {FzFmt: ts + 30829 /* "%s%03d" */}, + {FzFmt: ts + 30836 /* "%s-journal%03d" */}, + {FzFmt: ts + 30851 /* "%s-wal%03d" */}, + {FzFmt: ts + 30829 /* "%s%03d" */, Fb83: 1}, + {FzFmt: ts + 30836 /* "%s-journal%03d" */, FiOffset: SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET, Fb83: 1}, + {FzFmt: ts + 30851 /* "%s-wal%03d" */, FiOffset: SQLITE_MULTIPLEX_WAL_8_3_OFFSET, Fb83: 1}, } var pVfs uintptr = uintptr(0) @@ -61297,7 +62851,7 @@ var devsym_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(devsym_file{})), // szOsFile FmxPathname: DEVSYM_MAX_PATHNAME, // pNext - FzName: ts + 30100, /* "devsym" */ // pAppData + FzName: ts + 30862, /* "devsym" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -61311,7 +62865,7 @@ var writecrash_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(devsym_file{})), // szOsFile FmxPathname: DEVSYM_MAX_PATHNAME, // pNext - FzName: ts + 30107, /* "writecrash" */ // pAppData + FzName: ts + 30869, /* "writecrash" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -61765,7 +63319,7 @@ func fsdirConnect1(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin var pTab uintptr if argc != 3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -61776,7 +63330,7 @@ func fsdirConnect1(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin libc.Xmemset(tls, pTab, 0, uint32(unsafe.Sizeof(FsdirVtab{}))) *(*uintptr)(unsafe.Pointer(ppVtab)) = (pTab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30118 /* "CREATE TABLE xyz..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30880 /* "CREATE TABLE xyz..." */) return SQLITE_OK } @@ -61957,7 +63511,7 @@ func fstreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin var pTab uintptr if argc != 3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -61969,7 +63523,7 @@ func fstreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin (*FstreeVtab)(unsafe.Pointer(pTab)).Fdb = db *(*uintptr)(unsafe.Pointer(ppVtab)) = (pTab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30147 /* "CREATE TABLE xyz..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30909 /* "CREATE TABLE xyz..." */) return SQLITE_OK } @@ -62061,7 +63615,7 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var pCsr uintptr = pVtabCursor var pTab uintptr = (*FstreeCsr)(unsafe.Pointer(pCsr)).Fbase.FpVtab var rc int32 - var zSql uintptr = ts + 30183 /* "WITH r(d) AS ( ..." */ + var zSql uintptr = ts + 30945 /* "WITH r(d) AS ( ..." */ var zRoot uintptr var nRoot int32 var zPrefix uintptr @@ -62070,7 +63624,7 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var nDir int32 *(*[2]int8)(unsafe.Pointer(bp /* aWild */)) = [2]int8{int8(0), int8(0)} - zRoot = ts + 30415 /* "/" */ + zRoot = ts + 31177 /* "/" */ nRoot = 1 zPrefix = ts + 489 /* "" */ nPrefix = 0 @@ -62191,7 +63745,7 @@ func fsConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr var zDb uintptr = *(*uintptr)(unsafe.Pointer(argv + 1*4)) if argc != 4 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } zTbl = *(*uintptr)(unsafe.Pointer(argv + 3*4)) @@ -62208,7 +63762,7 @@ func fsConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr libc.Xmemcpy(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzTbl, zTbl, libc.Xstrlen(tls, zTbl)) libc.Xmemcpy(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzDb, zDb, libc.Xstrlen(tls, zDb)) *(*uintptr)(unsafe.Pointer(ppVtab)) = (pVtab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30417 /* "CREATE TABLE x(p..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+31179 /* "CREATE TABLE x(p..." */) return SQLITE_OK } @@ -62262,7 +63816,7 @@ func fsFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, if idxNum == 1 { var zStmt uintptr = sqlite3.Xsqlite3_mprintf(tls, - ts+30454 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) + ts+31216 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) if !(zStmt != 0) { return SQLITE_NOMEM } @@ -62427,9 +63981,9 @@ func register_fs_module(tls *libc.TLS, clientData ClientData, interp uintptr, ob if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30488 /* "fs" */, uintptr(unsafe.Pointer(&fsModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31250 /* "fs" */, uintptr(unsafe.Pointer(&fsModule)), interp) sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+5186 /* "fsdir" */, uintptr(unsafe.Pointer(&fsdirModule)), uintptr(0)) - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30491 /* "fstree" */, uintptr(unsafe.Pointer(&fstreeModule)), uintptr(0)) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31253 /* "fstree" */, uintptr(unsafe.Pointer(&fstreeModule)), uintptr(0)) return TCL_OK } @@ -62452,7 +64006,7 @@ var aObjCmd6 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 30498 /* "register_fs_modu..." */, FxProc: 0}, + {FzName: ts + 31260 /* "register_fs_modu..." */, FxProc: 0}, } /* test_fs.c:907:5 */ // Some versions of define this macros. @@ -62518,7 +64072,7 @@ func randStr(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* test sqlite3.Xsqlite3_result_text(tls, context, bp+4 /* zBuf */, n, libc.UintptrFromInt32(-1)) } -var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 30517 /* "abcdefghijklmnop..." */)) /* test_func.c:46:30 */ +var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 31279 /* "abcdefghijklmnop..." */)) /* test_func.c:46:30 */ // The following two SQL functions are used to test returning a text // result with a destructor. Function 'test_destructor' takes one argument @@ -62711,7 +64265,7 @@ func test_eval(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* test_ if rc != 0 { var zErr uintptr - zErr = sqlite3.Xsqlite3_mprintf(tls, ts+30596 /* "sqlite3_prepare_..." */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) + zErr = sqlite3.Xsqlite3_mprintf(tls, ts+31358 /* "sqlite3_prepare_..." */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) sqlite3.Xsqlite3_result_text(tls, pCtx, zErr, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) sqlite3.Xsqlite3_result_error_code(tls, pCtx, rc) } @@ -62817,11 +64371,11 @@ func real2hex(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* tes *(*float64)(unsafe.Pointer(bp /* &v */)) = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; i < 8; i++ { if bigEndian != 0 { - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((i * 2)))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((i * 2) + 1)))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((i * 2)))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((i * 2) + 1)))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) } else { - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((14 - (i * 2))))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((14 - (i * 2)) + 1)))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((14 - (i * 2))))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((14 - (i * 2)) + 1)))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) } } *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + 16)) = int8(0) @@ -62927,7 +64481,7 @@ func test_decode(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* var n int32 = sqlite3.Xsqlite3_value_bytes(tls, bp+40 /* &mem */) var z uintptr = sqlite3.Xsqlite3_value_blob(tls, bp+40 /* &mem */) var i int32 - pVal = tcl.XTcl_NewStringObj(tls, ts+30644 /* "x'" */, -1) + pVal = tcl.XTcl_NewStringObj(tls, ts+31406 /* "x'" */, -1) for i = 0; i < n; i++ { // var hex [3]int8 at bp+88, 3 @@ -63028,7 +64582,7 @@ func registerTestFunctions(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk u int32(aFuncs[i].FeTextRep), uintptr(0), aFuncs[i].FxFunc, uintptr(0), uintptr(0)) } - sqlite3.Xsqlite3_create_function(tls, db, ts+30647 /* "test_agg_errmsg1..." */, 0, SQLITE_ANY, uintptr(0), uintptr(0), + sqlite3.Xsqlite3_create_function(tls, db, ts+31409 /* "test_agg_errmsg1..." */, 0, SQLITE_ANY, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{test_agg_errmsg16_step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_agg_errmsg16_final}))) @@ -63043,26 +64597,26 @@ var aFuncs = [20]struct { FeTextRep uint32 FxFunc uintptr }{ - {FzName: ts + 30665 /* "randstr" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30673 /* "test_destructor" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30689 /* "test_destructor1..." */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30707 /* "hex_to_utf16be" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30722 /* "hex_to_utf16le" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30737 /* "hex_to_utf8" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30749 /* "test_destructor_..." */, FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30771 /* "test_auxdata" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30784 /* "test_error" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30784 /* "test_error" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30795 /* "test_eval" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30805 /* "test_isolation" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30820 /* "test_counter" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30833 /* "real2hex" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30842 /* "test_decode" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30854 /* "test_extract" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30867 /* "test_zeroblob" */, FnArg: int8(1), FeTextRep: (uint32(SQLITE_UTF8 | SQLITE_DETERMINISTIC)), FxFunc: 0}, - {FzName: ts + 30881 /* "test_getsubtype" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30897 /* "test_setsubtype" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30913 /* "test_frombind" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31427 /* "randstr" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31435 /* "test_destructor" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31451 /* "test_destructor1..." */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31469 /* "hex_to_utf16be" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31484 /* "hex_to_utf16le" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31499 /* "hex_to_utf8" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31511 /* "test_destructor_..." */, FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31533 /* "test_auxdata" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31546 /* "test_error" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31546 /* "test_error" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31557 /* "test_eval" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31567 /* "test_isolation" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31582 /* "test_counter" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31595 /* "real2hex" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31604 /* "test_decode" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31616 /* "test_extract" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31629 /* "test_zeroblob" */, FnArg: int8(1), FeTextRep: (uint32(SQLITE_UTF8 | SQLITE_DETERMINISTIC)), FxFunc: 0}, + {FzName: ts + 31643 /* "test_getsubtype" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31659 /* "test_setsubtype" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31675 /* "test_frombind" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, } /* test_func.c:674:5 */ // TCLCMD: autoinstall_test_functions @@ -63110,7 +64664,7 @@ func abuse_create_function(tls *libc.TLS, clientData uintptr, interp uintptr, ob __1: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -63122,7 +64676,7 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -63134,7 +64688,7 @@ __2: __3: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { @@ -63144,7 +64698,7 @@ __3: __4: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { goto __5 } @@ -63152,7 +64706,7 @@ __4: __5: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -63162,7 +64716,7 @@ __5: __6: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -63172,7 +64726,7 @@ __6: __7: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -63184,7 +64738,7 @@ __8: rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), - ts+30930, /* "funcxx_123456789..." */ + ts+31692, /* "funcxx_123456789..." */ 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) @@ -63202,7 +64756,7 @@ __9: mxArg = sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), SQLITE_LIMIT_FUNCTION_ARG, -1) rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), - ts+31187, /* "nullx_123456789_..." */ + ts+31949, /* "nullx_123456789_..." */ mxArg, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) @@ -63216,7 +64770,7 @@ __10: return TCL_OK abuse_err: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31443, /* "sqlite3_create_f..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32205, /* "sqlite3_create_f..." */ uintptr(0))) return TCL_ERROR } @@ -63303,7 +64857,7 @@ __2: goto __3 } sqlite3.Xsqlite3_result_error(tls, pCtx, - ts+31486 /* "invalid matchinf..." */, -1) + ts+32248 /* "invalid matchinf..." */, -1) return __3: ; @@ -63364,7 +64918,7 @@ __7: // Jump here if the wrong number of arguments are passed to this function wrong_number_args: - sqlite3.Xsqlite3_result_error(tls, pCtx, ts+31535 /* "wrong number of ..." */, -1) + sqlite3.Xsqlite3_result_error(tls, pCtx, ts+32297 /* "wrong number of ..." */, -1) } func install_fts3_rank_function(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_func.c:910:26: */ @@ -63381,7 +64935,7 @@ func install_fts3_rank_function(tls *libc.TLS, clientData uintptr, interp uintpt if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31580 /* "rank" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+32342 /* "rank" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rankfunc})), uintptr(0), uintptr(0)) return TCL_OK @@ -63411,9 +64965,9 @@ var aObjCmd7 = [3]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 31585 /* "autoinstall_test..." */, FxProc: 0}, - {FzName: ts + 31612 /* "abuse_create_fun..." */, FxProc: 0}, - {FzName: ts + 31634 /* "install_fts3_ran..." */, FxProc: 0}, + {FzName: ts + 32347 /* "autoinstall_test..." */, FxProc: 0}, + {FzName: ts + 32374 /* "abuse_create_fun..." */, FxProc: 0}, + {FzName: ts + 32396 /* "install_fts3_ran..." */, FxProc: 0}, } /* test_func.c:937:5 */ // Some versions of define this macros. @@ -63521,7 +65075,7 @@ func sqlite3TestBinToHex(tls *libc.TLS, zBuf uintptr, N int32) { /* test_hexio.c bp := tls.Alloc(17) defer tls.Free(17) - *(*[17]uint8)(unsafe.Pointer(bp /* zHex */)) = *(*[17]uint8)(unsafe.Pointer(ts + 31661 /* "0123456789ABCDEF" */)) + *(*[17]uint8)(unsafe.Pointer(bp /* zHex */)) = *(*[17]uint8)(unsafe.Pointer(ts + 32423 /* "0123456789ABCDEF" */)) var i int32 var j int32 var c uint8 @@ -63601,7 +65155,7 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o var in uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31678 /* "FILENAME OFFSET ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32440 /* "FILENAME OFFSET ..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+40 /* &offset */) != 0 { @@ -63617,10 +65171,10 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o } in = libc.Xfopen(tls, zFile, ts+4263 /* "rb" */) if in == uintptr(0) { - in = libc.Xfopen(tls, zFile, ts+31698 /* "r" */) + in = libc.Xfopen(tls, zFile, ts+32460 /* "r" */) } if in == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31700 /* "cannot open inpu..." */, zFile, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32462 /* "cannot open inpu..." */, zFile, 0)) return TCL_ERROR } libc.Xfseek(tls, in, int32(*(*int32)(unsafe.Pointer(bp + 40 /* offset */))), SEEK_SET) @@ -63655,7 +65209,7 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var out uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31724 /* "FILENAME OFFSET ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32486 /* "FILENAME OFFSET ..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+24 /* &offset */) != 0 { @@ -63668,12 +65222,12 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } nOut = sqlite3TestHexToBin(tls, zIn, *(*int32)(unsafe.Pointer(bp + 28 /* nIn */)), aOut) - out = libc.Xfopen(tls, zFile, ts+31748 /* "r+b" */) + out = libc.Xfopen(tls, zFile, ts+32510 /* "r+b" */) if out == uintptr(0) { - out = libc.Xfopen(tls, zFile, ts+31752 /* "r+" */) + out = libc.Xfopen(tls, zFile, ts+32514 /* "r+" */) } if out == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31755 /* "cannot open outp..." */, zFile, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32517 /* "cannot open outp..." */, zFile, 0)) return TCL_ERROR } libc.Xfseek(tls, out, int32(*(*int32)(unsafe.Pointer(bp + 24 /* offset */))), SEEK_SET) @@ -63702,7 +65256,7 @@ func hexio_get_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 // var aNum [4]uint8 at bp+4, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31780 /* "HEXDATA" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32542 /* "HEXDATA" */) return TCL_ERROR } zIn = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &nIn */) @@ -63785,7 +65339,7 @@ func utf8_to_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(16) tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+31788 /* "[utf8_to_utf8] u..." */, 0)) + libc.VaList(bp, ts+32550 /* "[utf8_to_utf8] u..." */, 0)) return TCL_ERROR } @@ -63830,7 +65384,7 @@ func read_fts3varint(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var nVal int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31842 /* "BLOB VARNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32604 /* "BLOB VARNAME" */) return TCL_ERROR } zBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &nBlob */) @@ -63854,7 +65408,7 @@ func make_fts3record(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var i int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31855 /* "LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32617 /* "LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &nArg */, bp+4 /* &aArg */) != 0 { @@ -63925,14 +65479,14 @@ var aObjCmd8 = [8]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 31860 /* "hexio_read" */, FxProc: 0}, - {FzName: ts + 31871 /* "hexio_write" */, FxProc: 0}, - {FzName: ts + 31883 /* "hexio_get_int" */, FxProc: 0}, - {FzName: ts + 31897 /* "hexio_render_int..." */, FxProc: 0}, - {FzName: ts + 31916 /* "hexio_render_int..." */, FxProc: 0}, - {FzName: ts + 31935 /* "utf8_to_utf8" */, FxProc: 0}, - {FzName: ts + 31948 /* "read_fts3varint" */, FxProc: 0}, - {FzName: ts + 31964 /* "make_fts3record" */, FxProc: 0}, + {FzName: ts + 32622 /* "hexio_read" */, FxProc: 0}, + {FzName: ts + 32633 /* "hexio_write" */, FxProc: 0}, + {FzName: ts + 32645 /* "hexio_get_int" */, FxProc: 0}, + {FzName: ts + 32659 /* "hexio_render_int..." */, FxProc: 0}, + {FzName: ts + 32678 /* "hexio_render_int..." */, FxProc: 0}, + {FzName: ts + 32697 /* "utf8_to_utf8" */, FxProc: 0}, + {FzName: ts + 32710 /* "read_fts3varint" */, FxProc: 0}, + {FzName: ts + 32726 /* "make_fts3record" */, FxProc: 0}, } /* test_hexio.c:450:5 */ // end block for C++ @@ -64173,14 +65727,14 @@ func init_wrapper_install(tls *libc.TLS, clientData ClientData, interp uintptr, installInitWrappers(tls) for i = 1; i < objc; i++ { var z uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4))) - if libc.Xstrcmp(tls, z, ts+31980 /* "mem" */) == 0 { + if libc.Xstrcmp(tls, z, ts+32742 /* "mem" */) == 0 { wrapped.Fmem_fail = 1 - } else if libc.Xstrcmp(tls, z, ts+28576 /* "mutex" */) == 0 { + } else if libc.Xstrcmp(tls, z, ts+29345 /* "mutex" */) == 0 { wrapped.Fmutex_fail = 1 - } else if libc.Xstrcmp(tls, z, ts+31984 /* "pcache" */) == 0 { + } else if libc.Xstrcmp(tls, z, ts+32746 /* "pcache" */) == 0 { wrapped.Fpcache_fail = 1 } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31991 /* "Unknown argument..." */, z, ts+11634 /* "\"" */)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32753 /* "Unknown argument..." */, z, ts+12415 /* "\"" */)) return TCL_ERROR } } @@ -64225,13 +65779,13 @@ func init_wrapper_query(tls *libc.TLS, clientData ClientData, interp uintptr, ob pRet = tcl.XTcl_NewObj(tls) if wrapped.Fmutex_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+28576 /* "mutex" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+29345 /* "mutex" */, -1)) } if wrapped.Fmem_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+31980 /* "mem" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32742 /* "mem" */, -1)) } if wrapped.Fpcache_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+31984 /* "pcache" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32746 /* "pcache" */, -1)) } tcl.XTcl_SetObjResult(tls, interp, pRet) @@ -64255,10 +65809,10 @@ var aObjCmd9 = [4]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 32011 /* "init_wrapper_ins..." */, FxProc: 0}, - {FzName: ts + 32032 /* "init_wrapper_que..." */, FxProc: 0}, - {FzName: ts + 32051 /* "init_wrapper_uni..." */, FxProc: 0}, - {FzName: ts + 32074 /* "init_wrapper_cle..." */, FxProc: 0}, + {FzName: ts + 32773 /* "init_wrapper_ins..." */, FxProc: 0}, + {FzName: ts + 32794 /* "init_wrapper_que..." */, FxProc: 0}, + {FzName: ts + 32813 /* "init_wrapper_uni..." */, FxProc: 0}, + {FzName: ts + 32836 /* "init_wrapper_cle..." */, FxProc: 0}, } /* test_init.c:282:5 */ // @@ -64329,7 +65883,7 @@ func intarrayCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui if pVtab != 0 { libc.Xmemset(tls, pVtab, 0, uint32(unsafe.Sizeof(intarray_vtab{}))) (*intarray_vtab)(unsafe.Pointer(pVtab)).FpContent = pAux - rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+32093 /* "CREATE TABLE x(v..." */) + rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+32855 /* "CREATE TABLE x(v..." */) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab return rc @@ -64439,7 +65993,7 @@ func sqlite3_intarray_create(tls *libc.TLS, db uintptr, zName uintptr, ppReturn *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{intarrayFree}))) if rc == SQLITE_OK { var zSql uintptr - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+32135, /* "CREATE VIRTUAL T..." */ + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+32897, /* "CREATE VIRTUAL T..." */ libc.VaList(bp, zName, zName)) rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) @@ -64510,14 +66064,14 @@ func test_intarray_bind(tls *libc.TLS, clientData ClientData, interp uintptr, ob var a uintptr if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32173 /* "INTARRAY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32935 /* "INTARRAY" */) return TCL_ERROR } pArray = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) n = (objc - 2) a = sqlite3.Xsqlite3_malloc64(tls, (uint64(uint32(unsafe.Sizeof(sqlite3_int64(0))) * uint32(n)))) if a == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32182 /* "SQLITE_NOMEM" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32944 /* "SQLITE_NOMEM" */, uintptr(0))) return TCL_ERROR } for i = 0; i < n; i++ { @@ -64552,8 +66106,8 @@ var aObjCmd10 = [2]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 32195 /* "sqlite3_intarray..." */, FxProc: 0}, - {FzName: ts + 32219 /* "sqlite3_intarray..." */, FxProc: 0}, + {FzName: ts + 32957 /* "sqlite3_intarray..." */, FxProc: 0}, + {FzName: ts + 32981 /* "sqlite3_intarray..." */, FxProc: 0}, } /* test_intarray.c:380:5 */ // Maximum pathname length supported by the jt backend. @@ -64585,7 +66139,7 @@ var jt_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(jt_file{})), // szOsFile FmxPathname: JT_MAX_PATHNAME, // pNext - FzName: ts + 32241, /* "jt" */ // pAppData + FzName: ts + 33003, /* "jt" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -64699,7 +66253,7 @@ func locateDatabaseHandle(tls *libc.TLS, zJournal uintptr, noLock int32) uintptr var pMain uintptr = uintptr(0) enterJtMutex(tls) for pMain = g2.FpList; pMain != 0; pMain = (*jt_file)(unsafe.Pointer(pMain)).FpNext { - var nName int32 = (int32(libc.Xstrlen(tls, zJournal) - libc.Xstrlen(tls, ts+32244 /* "-journal" */))) + var nName int32 = (int32(libc.Xstrlen(tls, zJournal) - libc.Xstrlen(tls, ts+33006 /* "-journal" */))) if (((((*jt_file)(unsafe.Pointer(pMain)).Fflags & SQLITE_OPEN_MAIN_DB) != 0) && (int32(libc.Xstrlen(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName)) == nName)) && (0 == libc.Xmemcmp(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName, zJournal, uint32(nName)))) && @@ -65164,7 +66718,7 @@ func jtOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int // returning. func jtDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* test_journal.c:733:12: */ var nPath int32 = int32(libc.Xstrlen(tls, zPath)) - if (nPath > 8) && (0 == libc.Xstrcmp(tls, ts+32244 /* "-journal" */, (zPath+uintptr((nPath-8))))) { + if (nPath > 8) && (0 == libc.Xstrcmp(tls, ts+33006 /* "-journal" */, (zPath+uintptr((nPath-8))))) { // Deleting a journal file. The end of a transaction. var pMain uintptr = locateDatabaseHandle(tls, zPath, 0) if pMain != 0 { @@ -65654,7 +67208,7 @@ func pointerToText(tls *libc.TLS, p uintptr, z uintptr) { /* test_malloc.c:239:1 // var n sqlite3_uint64 at bp, 8 if *(*uintptr)(unsafe.Pointer(bp + 8 /* p */)) == uintptr(0) { - libc.Xstrcpy(tls, z, ts+13873 /* "0" */) + libc.Xstrcpy(tls, z, ts+14654 /* "0" */) return } if uint32(unsafe.Sizeof(sqlite3_uint64(0))) == uint32(unsafe.Sizeof(uintptr(0))) { @@ -65687,7 +67241,7 @@ __3: *(*int8)(unsafe.Pointer(z + 8)) = int8(0) } -var zHex = *(*[17]int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */)) /* test_malloc.c:240:21 */ +var zHex = *(*[17]int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */)) /* test_malloc.c:240:21 */ func hexToInt(tls *libc.TLS, h int32) int32 { /* test_malloc.c:262:12: */ if (h >= '0') && (h <= '9') { @@ -65743,7 +67297,7 @@ func test_malloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zOut [100]int8 at bp+20, 100 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32253 /* "NBYTES" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33015 /* "NBYTES" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+16 /* &nByte */) != 0 { @@ -65770,14 +67324,14 @@ func test_realloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zOut [100]int8 at bp+48, 100 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32260 /* "PRIOR NBYTES" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33022 /* "PRIOR NBYTES" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+40 /* &nByte */) != 0 { return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+44 /* &pPrior */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } p = sqlite3.Xsqlite3_realloc(tls, *(*uintptr)(unsafe.Pointer(bp + 44 /* pPrior */)), int32(uint32(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))))) @@ -65796,11 +67350,11 @@ func test_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob // var pPrior uintptr at bp+24, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32287 /* "PRIOR" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33049 /* "PRIOR" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+24 /* &pPrior */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPrior */))) @@ -65827,18 +67381,18 @@ func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zBin [100]int8 at bp+68, 100 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32293 /* "ADDRESS SIZE HEX" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33055 /* "ADDRESS SIZE HEX" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+56 /* &p */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+60 /* &size */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 60 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32310 /* "size must be pos..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+33072 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } zHex = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+64 /* &n */) @@ -65847,7 +67401,7 @@ func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } *(*int32)(unsafe.Pointer(bp + 64 /* n */)) = sqlite3TestHexToBin(tls, zHex, *(*int32)(unsafe.Pointer(bp + 64 /* n */)), bp+68 /* &zBin[0] */) if *(*int32)(unsafe.Pointer(bp + 64 /* n */)) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+32332 /* "no data" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+33094 /* "no data" */, uintptr(0))) return TCL_ERROR } zOut = *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) @@ -65873,18 +67427,18 @@ func test_memget(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zHex [100]int8 at bp+64, 100 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32340 /* "ADDRESS SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33102 /* "ADDRESS SIZE" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+56 /* &p */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+60 /* &size */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 60 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32310 /* "size must be pos..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+33072 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } zBin = *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) @@ -65920,7 +67474,7 @@ func test_memory_highwater(tls *libc.TLS, clientData uintptr, interp uintptr, ob *(*int32)(unsafe.Pointer(bp /* resetFlag */)) = 0 if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32353 /* "?RESET?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33115 /* "?RESET?" */) return TCL_ERROR } if objc == 2 { @@ -65944,7 +67498,7 @@ func test_memdebug_backtrace(tls *libc.TLS, clientData uintptr, interp uintptr, // var depth int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32361 /* "DEPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33123 /* "DEPT" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &depth */) != 0 { @@ -65958,7 +67512,7 @@ func test_memdebug_backtrace(tls *libc.TLS, clientData uintptr, interp uintptr, // Write a summary of unfreed memory to FILENAME. func test_memdebug_dump(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:542:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } return TCL_OK @@ -66006,7 +67560,7 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc var nFail int32 = 0 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32375 /* "COUNTER ?OPTIONS..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33137 /* "COUNTER ?OPTIONS..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+24 /* &iFail */) != 0 { @@ -66019,22 +67573,22 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc var zOption uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(ii)*4)), bp+28 /* &nOption */) var zErr uintptr = uintptr(0) - if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32393 /* "-repeat" */, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { + if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+33155 /* "-repeat" */, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { if ii == (objc - 1) { - zErr = ts + 12327 /* "option requires ..." */ + zErr = ts + 13108 /* "option requires ..." */ } else { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*4)), bp+32 /* &nRepeat */) != 0 { return TCL_ERROR } } - } else if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32401 /* "-benigncnt" */, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { + } else if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+33163 /* "-benigncnt" */, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { if ii == (objc - 1) { - zErr = ts + 12327 /* "option requires ..." */ + zErr = ts + 13108 /* "option requires ..." */ } else { pBenignCnt = *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*4)) } } else { - zErr = ts + 12133 /* "unknown option: " */ + zErr = ts + 12914 /* "unknown option: " */ } if zErr != 0 { @@ -66086,7 +67640,7 @@ var sqlite3_memdebug_title_count int32 = 0 /* test_malloc.c:694:12 */ func test_memdebug_settitle(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:706:26: */ sqlite3_memdebug_title_count++ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32412 /* "TITLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33174 /* "TITLE" */) return TCL_ERROR } return TCL_OK @@ -66139,7 +67693,7 @@ func test_memdebug_log(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32418 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33180 /* "SUB-COMMAND ..." */) } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&MB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) != 0 { return TCL_ERROR @@ -66203,7 +67757,7 @@ func test_memdebug_log(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } var isInit int32 = 0 /* test_malloc.c:793:14 */ -var MB_strs = [5]uintptr{ts + 32434 /* "start" */, ts + 32440 /* "stop" */, ts + 32445 /* "dump" */, ts + 32450 /* "clear" */, ts + 32456 /* "sync" */} /* test_malloc.c:796:21 */ +var MB_strs = [5]uintptr{ts + 33196 /* "start" */, ts + 33202 /* "stop" */, ts + 33207 /* "dump" */, ts + 33212 /* "clear" */, ts + 33218 /* "sync" */} /* test_malloc.c:796:21 */ // Usage: sqlite3_config_pagecache SIZE N // @@ -66223,7 +67777,7 @@ func test_config_pagecache(tls *libc.TLS, clientData uintptr, interp uintptr, ob var pRes uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32461 /* "SIZE N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33223 /* "SIZE N" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+48 /* &sz */) != 0 { @@ -66271,7 +67825,7 @@ func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int *(*int32)(unsafe.Pointer(bp + 28 /* highStress */)) = 0 if (objc < 2) || (objc > 5) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+32468 /* "INSTALLFLAG DISC..." */) + ts+33230 /* "INSTALLFLAG DISC..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+16 /* &installFlag */) != 0 { @@ -66287,7 +67841,7 @@ func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int return TCL_ERROR } if (*(*int32)(unsafe.Pointer(bp + 20 /* discardChance */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 20 /* discardChance */)) > 100) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32515, /* "discard-chance s..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33277, /* "discard-chance s..." */ uintptr(0))) return TCL_ERROR } @@ -66307,7 +67861,7 @@ func test_config_memstatus(tls *libc.TLS, clientData uintptr, interp uintptr, ob var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+8 /* &enable */) != 0 { @@ -66330,7 +67884,7 @@ func test_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, ob var pRet uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32558 /* "SIZE COUNT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33320 /* "SIZE COUNT" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+16 /* &sz */) != 0 { @@ -66368,7 +67922,7 @@ func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, // var bufid int32 at bp+68, 4 if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32569 /* "BUFID SIZE COUNT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33331 /* "BUFID SIZE COUNT" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+64 /* &db */) != 0 { @@ -66388,7 +67942,7 @@ func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, } else if ((*(*int32)(unsafe.Pointer(bp + 68 /* bufid */)) >= 1) && (*(*int32)(unsafe.Pointer(bp + 68 /* bufid */)) <= 2)) && ((uint32(*(*int32)(unsafe.Pointer(bp + 72 /* sz */)) * *(*int32)(unsafe.Pointer(bp + 76 /* cnt */)))) <= uint32(unsafe.Sizeof([10000]int8{}))) { rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+24, (uintptr(unsafe.Pointer(&azBuf))+uintptr(*(*int32)(unsafe.Pointer(bp + 68 /* bufid */)))*10000), *(*int32)(unsafe.Pointer(bp + 72 /* sz */)), *(*int32)(unsafe.Pointer(bp + 76 /* cnt */)))) } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+32586 /* "illegal argument..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+33348 /* "illegal argument..." */, uintptr(0))) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) @@ -66412,7 +67966,7 @@ func test_config_heap(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var nArg int32 = (objc - 1) if nArg != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32624 /* "NBYTE NMINALLOC" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33386 /* "NBYTE NMINALLOC" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+48 /* &nByte */) != 0 { @@ -66450,7 +68004,7 @@ func test_config_heap_size(tls *libc.TLS, clientData uintptr, interp uintptr, ob var nArg int32 = (objc - 1) if nArg != 1 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15910 /* "NBYTE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+8 /* &nByte */) != 0 { @@ -66474,7 +68028,7 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+32, 4 if (objc != 2) && (objc != 1) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32640 /* "[DB]" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33402 /* "[DB]" */) return TCL_ERROR } if objc == 2 { @@ -66483,14 +68037,14 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } if sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+32645, /* "sqlite3_db_confi..." */ + libc.VaList(bp, ts+33407, /* "sqlite3_db_confi..." */ uintptr(0))) return TCL_ERROR } } else { if sqlite3.Xsqlite3_config(tls, 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+16, ts+32703, /* "sqlite3_config(9..." */ + libc.VaList(bp+16, ts+33465, /* "sqlite3_config(9..." */ uintptr(0))) return TCL_ERROR } @@ -66510,7 +68064,7 @@ func test_config_uri(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var bOpenUri int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+8 /* &bOpenUri */) != 0 { @@ -66535,7 +68089,7 @@ func test_config_cis(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var bUseCis int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+8 /* &bUseCis */) != 0 { @@ -66559,7 +68113,7 @@ func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var iPmaSz int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+8 /* &iPmaSz */) != 0 { @@ -66578,7 +68132,7 @@ func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // Write a summary of unfreed memsys3 allocations to FILENAME. func test_dump_memsys3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:1251:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } @@ -66616,7 +68170,7 @@ func test_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zOpName uintptr var pResult uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32754 /* "PARAMETER RESETF..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33516 /* "PARAMETER RESETF..." */) return TCL_ERROR } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -66655,16 +68209,16 @@ var aOp1 = [10]struct { FzName uintptr Fop int32 }{ - {FzName: ts + 32774 /* "SQLITE_STATUS_ME..." */}, - {FzName: ts + 32800 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, - {FzName: ts + 32826 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_USED}, - {FzName: ts + 32855 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_OVERFLOW}, - {FzName: ts + 32888 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_SIZE}, - {FzName: ts + 32917 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_USED}, - {FzName: ts + 32944 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_OVERFLOW}, - {FzName: ts + 32975 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_SIZE}, - {FzName: ts + 33002 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PARSER_STACK}, - {FzName: ts + 33029 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_COUNT}, + {FzName: ts + 33536 /* "SQLITE_STATUS_ME..." */}, + {FzName: ts + 33562 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, + {FzName: ts + 33588 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_USED}, + {FzName: ts + 33617 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_OVERFLOW}, + {FzName: ts + 33650 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_SIZE}, + {FzName: ts + 33679 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_USED}, + {FzName: ts + 33706 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_OVERFLOW}, + {FzName: ts + 33737 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_SIZE}, + {FzName: ts + 33764 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PARSER_STACK}, + {FzName: ts + 33791 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_COUNT}, } /* test_malloc.c:1299:5 */ // Usage: sqlite3_db_status DATABASE OPCODE RESETFLAG @@ -66689,17 +68243,17 @@ func test_db_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var pResult uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33056 /* "DB PARAMETER RES..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33818 /* "DB PARAMETER RES..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) - if libc.Xmemcmp(tls, zOpName, ts+33079 /* "SQLITE_" */, uint32(7)) == 0 { + if libc.Xmemcmp(tls, zOpName, ts+33841 /* "SQLITE_" */, uint32(7)) == 0 { zOpName += uintptr(7) } - if libc.Xmemcmp(tls, zOpName, ts+33087 /* "DBSTATUS_" */, uint32(9)) == 0 { + if libc.Xmemcmp(tls, zOpName, ts+33849 /* "DBSTATUS_" */, uint32(9)) == 0 { zOpName += uintptr(9) } for i = 0; i < (int32(uint32(unsafe.Sizeof(aOp2)) / uint32(unsafe.Sizeof(struct { @@ -66737,19 +68291,19 @@ var aOp2 = [13]struct { FzName uintptr Fop int32 }{ - {FzName: ts + 33097 /* "LOOKASIDE_USED" */}, - {FzName: ts + 33112 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, - {FzName: ts + 33123 /* "SCHEMA_USED" */, Fop: SQLITE_DBSTATUS_SCHEMA_USED}, - {FzName: ts + 33135 /* "STMT_USED" */, Fop: SQLITE_DBSTATUS_STMT_USED}, - {FzName: ts + 33145 /* "LOOKASIDE_HIT" */, Fop: SQLITE_DBSTATUS_LOOKASIDE_HIT}, - {FzName: ts + 33159 /* "LOOKASIDE_MISS_S..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE}, - {FzName: ts + 33179 /* "LOOKASIDE_MISS_F..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL}, - {FzName: ts + 33199 /* "CACHE_HIT" */, Fop: SQLITE_DBSTATUS_CACHE_HIT}, - {FzName: ts + 33209 /* "CACHE_MISS" */, Fop: SQLITE_DBSTATUS_CACHE_MISS}, - {FzName: ts + 33220 /* "CACHE_WRITE" */, Fop: SQLITE_DBSTATUS_CACHE_WRITE}, - {FzName: ts + 33232 /* "DEFERRED_FKS" */, Fop: SQLITE_DBSTATUS_DEFERRED_FKS}, - {FzName: ts + 33245 /* "CACHE_USED_SHARE..." */, Fop: SQLITE_DBSTATUS_CACHE_USED_SHARED}, - {FzName: ts + 33263 /* "CACHE_SPILL" */, Fop: SQLITE_DBSTATUS_CACHE_SPILL}, + {FzName: ts + 33859 /* "LOOKASIDE_USED" */}, + {FzName: ts + 33874 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, + {FzName: ts + 33885 /* "SCHEMA_USED" */, Fop: SQLITE_DBSTATUS_SCHEMA_USED}, + {FzName: ts + 33897 /* "STMT_USED" */, Fop: SQLITE_DBSTATUS_STMT_USED}, + {FzName: ts + 33907 /* "LOOKASIDE_HIT" */, Fop: SQLITE_DBSTATUS_LOOKASIDE_HIT}, + {FzName: ts + 33921 /* "LOOKASIDE_MISS_S..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE}, + {FzName: ts + 33941 /* "LOOKASIDE_MISS_F..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL}, + {FzName: ts + 33961 /* "CACHE_HIT" */, Fop: SQLITE_DBSTATUS_CACHE_HIT}, + {FzName: ts + 33971 /* "CACHE_MISS" */, Fop: SQLITE_DBSTATUS_CACHE_MISS}, + {FzName: ts + 33982 /* "CACHE_WRITE" */, Fop: SQLITE_DBSTATUS_CACHE_WRITE}, + {FzName: ts + 33994 /* "DEFERRED_FKS" */, Fop: SQLITE_DBSTATUS_DEFERRED_FKS}, + {FzName: ts + 34007 /* "CACHE_USED_SHARE..." */, Fop: SQLITE_DBSTATUS_CACHE_USED_SHARED}, + {FzName: ts + 34025 /* "CACHE_SPILL" */, Fop: SQLITE_DBSTATUS_CACHE_SPILL}, } /* test_malloc.c:1358:5 */ // install_malloc_faultsim BOOLEAN @@ -66761,7 +68315,7 @@ func test_install_malloc_faultsim(tls *libc.TLS, clientData uintptr, interp uint // var isInstall int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &isInstall */) { @@ -66784,7 +68338,7 @@ func test_vfs_oom_test(tls *libc.TLS, clientData uintptr, interp uintptr, objc i defer tls.Free(4) if objc > 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33275 /* "?INTEGER?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34037 /* "?INTEGER?" */) return TCL_ERROR } else if objc == 2 { // var iNew int32 at bp, 4 @@ -66817,38 +68371,38 @@ var aObjCmd11 = [32]struct { FxProc uintptr FclientData int32 }{ - {FzName: ts + 27612 /* "sqlite3_malloc" */, FxProc: 0}, - {FzName: ts + 27627 /* "sqlite3_realloc" */, FxProc: 0}, - {FzName: ts + 33285 /* "sqlite3_free" */, FxProc: 0}, - {FzName: ts + 33298 /* "memset" */, FxProc: 0}, - {FzName: ts + 33305 /* "memget" */, FxProc: 0}, - {FzName: ts + 33312 /* "sqlite3_memory_u..." */, FxProc: 0}, - {FzName: ts + 33332 /* "sqlite3_memory_h..." */, FxProc: 0}, - {FzName: ts + 33357 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33384 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33406 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33428 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33453 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33479 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33509 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33530 /* "sqlite3_config_p..." */, FxProc: 0}, - {FzName: ts + 33555 /* "sqlite3_config_a..." */, FxProc: 0}, - {FzName: ts + 33581 /* "sqlite3_status" */, FxProc: 0}, - {FzName: ts + 33596 /* "sqlite3_db_statu..." */, FxProc: 0}, - {FzName: ts + 33614 /* "install_malloc_f..." */, FxProc: 0}, - {FzName: ts + 33638 /* "sqlite3_config_h..." */, FxProc: 0}, - {FzName: ts + 33658 /* "sqlite3_config_h..." */, FxProc: 0}, - {FzName: ts + 33683 /* "sqlite3_config_m..." */, FxProc: 0}, - {FzName: ts + 33708 /* "sqlite3_config_l..." */, FxProc: 0}, - {FzName: ts + 33733 /* "sqlite3_config_e..." */, FxProc: 0}, - {FzName: ts + 33754 /* "sqlite3_config_u..." */, FxProc: 0}, - {FzName: ts + 33773 /* "sqlite3_config_c..." */, FxProc: 0}, - {FzName: ts + 33792 /* "sqlite3_config_p..." */, FxProc: 0}, - {FzName: ts + 33813 /* "sqlite3_db_confi..." */, FxProc: 0}, - {FzName: ts + 33841 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 3}, - {FzName: ts + 33862 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 5}, - {FzName: ts + 33883 /* "sqlite3_install_..." */, FxProc: 0}, - {FzName: ts + 33907 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 28381 /* "sqlite3_malloc" */, FxProc: 0}, + {FzName: ts + 28396 /* "sqlite3_realloc" */, FxProc: 0}, + {FzName: ts + 34047 /* "sqlite3_free" */, FxProc: 0}, + {FzName: ts + 34060 /* "memset" */, FxProc: 0}, + {FzName: ts + 34067 /* "memget" */, FxProc: 0}, + {FzName: ts + 34074 /* "sqlite3_memory_u..." */, FxProc: 0}, + {FzName: ts + 34094 /* "sqlite3_memory_h..." */, FxProc: 0}, + {FzName: ts + 34119 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34146 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34168 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34190 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34215 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34241 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34271 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34292 /* "sqlite3_config_p..." */, FxProc: 0}, + {FzName: ts + 34317 /* "sqlite3_config_a..." */, FxProc: 0}, + {FzName: ts + 34343 /* "sqlite3_status" */, FxProc: 0}, + {FzName: ts + 34358 /* "sqlite3_db_statu..." */, FxProc: 0}, + {FzName: ts + 34376 /* "install_malloc_f..." */, FxProc: 0}, + {FzName: ts + 34400 /* "sqlite3_config_h..." */, FxProc: 0}, + {FzName: ts + 34420 /* "sqlite3_config_h..." */, FxProc: 0}, + {FzName: ts + 34445 /* "sqlite3_config_m..." */, FxProc: 0}, + {FzName: ts + 34470 /* "sqlite3_config_l..." */, FxProc: 0}, + {FzName: ts + 34495 /* "sqlite3_config_e..." */, FxProc: 0}, + {FzName: ts + 34516 /* "sqlite3_config_u..." */, FxProc: 0}, + {FzName: ts + 34535 /* "sqlite3_config_c..." */, FxProc: 0}, + {FzName: ts + 34554 /* "sqlite3_config_p..." */, FxProc: 0}, + {FzName: ts + 34575 /* "sqlite3_db_confi..." */, FxProc: 0}, + {FzName: ts + 34603 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 3}, + {FzName: ts + 34624 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 5}, + {FzName: ts + 34645 /* "sqlite3_install_..." */, FxProc: 0}, + {FzName: ts + 34669 /* "sqlite3_memdebug..." */, FxProc: 0}, } /* test_malloc.c:1472:5 */ // Some versions of define this macros. @@ -67240,7 +68794,7 @@ func MD5DigestToBase16(tls *libc.TLS, digest uintptr, zBuf uintptr) { /* test_md *(*int8)(unsafe.Pointer(zBuf + uintptr(j))) = int8(0) } -var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */)) /* test_md5.c:285:21 */ +var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */)) /* test_md5.c:285:21 */ // Convert a 128-bit MD5 digest into sequency of eight 5-digit integers // each representing 16 bits of the digest and separated from each @@ -67257,7 +68811,7 @@ func MD5DigestToBase10x8(tls *libc.TLS, digest uintptr, zDigest uintptr) { /* te if i > 0 { *(*int8)(unsafe.Pointer(zDigest + uintptr(libc.PostIncInt32(&j, 1)))) = int8('-') } - sqlite3.Xsqlite3_snprintf(tls, (50 - j), (zDigest + uintptr(j)), ts+33937 /* "%05u" */, libc.VaList(bp, x)) + sqlite3.Xsqlite3_snprintf(tls, (50 - j), (zDigest + uintptr(j)), ts+34699 /* "%05u" */, libc.VaList(bp, x)) j = j + (5) } *(*int8)(unsafe.Pointer(zDigest + uintptr(j))) = int8(0) @@ -67278,8 +68832,8 @@ func md5_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uintptr var converter uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14992 /* " TEXT\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15773 /* " TEXT\"" */, uintptr(0))) return TCL_ERROR } MD5Init(tls, bp+48 /* &ctx */) @@ -67308,8 +68862,8 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin // var zBuf [10240]int8 at bp+172, 10240 if (argc != 2) && (argc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+33942 /* " FILENAME [OFFSE..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+34704 /* " FILENAME [OFFSE..." */, uintptr(0))) return TCL_ERROR } if argc == 4 { @@ -67321,8 +68875,8 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin } in = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+4263 /* "rb" */) if in == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+33966 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), - ts+33988 /* "\" for reading" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+34728 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), + ts+34750 /* "\" for reading" */, uintptr(0))) return TCL_ERROR } libc.Xfseek(tls, in, int32(ofst), SEEK_SET) @@ -67352,25 +68906,25 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin // Register the four new TCL commands for generating MD5 checksums // with the TCL interpreter. func Md5_Init(tls *libc.TLS, interp uintptr) int32 { /* test_md5.c:400:5: */ - tcl.XTcl_CreateCommand(tls, interp, ts+34002 /* "md5" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34764 /* "md5" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase16})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34006 /* "md5-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34768 /* "md5-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase10x8})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34015 /* "md5file" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34777 /* "md5file" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5file_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase16})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34023 /* "md5file-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34785 /* "md5file-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5file_cmd})), *(*uintptr)(unsafe.Pointer(&struct { @@ -67418,11 +68972,11 @@ func md5finalize(tls *libc.TLS, context uintptr) { /* test_md5.c:432:13: */ } func Md5_Register(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk uintptr) int32 { /* test_md5.c:441:5: */ - var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+34036 /* "md5sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), + var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+34798 /* "md5sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{md5step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{md5finalize}))) - sqlite3.Xsqlite3_overload_function(tls, db, ts+34036 /* "md5sum" */, -1) // To exercise this API + sqlite3.Xsqlite3_overload_function(tls, db, ts+34798 /* "md5sum" */, -1) // To exercise this API return rc } @@ -67590,7 +69144,7 @@ func multiplexFilename(tls *libc.TLS, zBase uintptr, nBase int32, flags int32, i var n int32 = nBase libc.Xmemcpy(tls, zOut, zBase, (uint32(n + 1))) if (iChunk != 0) && (iChunk <= MX_CHUNK_NUMBER) { - sqlite3.Xsqlite3_snprintf(tls, 4, (zOut + uintptr(n)), ts+34043 /* "%03d" */, libc.VaList(bp, iChunk)) + sqlite3.Xsqlite3_snprintf(tls, 4, (zOut + uintptr(n)), ts+34805 /* "%03d" */, libc.VaList(bp, iChunk)) n = n + (3) } @@ -67656,7 +69210,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p SQLITE_ACCESS_EXISTS, bp+16 /* &bExists */) if (*(*int32)(unsafe.Pointer(rc)) != 0) || !(*(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) != 0) { if *(*int32)(unsafe.Pointer(rc)) != 0 { - sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34048, /* "multiplexor.xAcc..." */ + sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34810, /* "multiplexor.xAcc..." */ libc.VaList(bp, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*8)).Fz)) } return uintptr(0) @@ -67672,7 +69226,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p *(*int32)(unsafe.Pointer(rc)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 24 /* &.xOpen */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*8)).Fz, pSubOpen, flags, pOutFlags) if (*(*int32)(unsafe.Pointer(rc))) != SQLITE_OK { - sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34082, /* "multiplexor.xOpe..." */ + sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34844, /* "multiplexor.xOpe..." */ libc.VaList(bp+8, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*8)).Fz)) sqlite3.Xsqlite3_free(tls, pSubOpen) (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*8)).Fp = uintptr(0) @@ -67748,7 +69302,7 @@ func multiplexControlFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp // multiplex_control() function. func multiplexFuncInit(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 { /* test_multiplex.c:417:12: */ var rc int32 - rc = sqlite3.Xsqlite3_create_function(tls, db, ts+34114 /* "multiplex_contro..." */, 2, SQLITE_ANY, + rc = sqlite3.Xsqlite3_create_function(tls, db, ts+34876 /* "multiplex_contro..." */, 2, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{multiplexControlFunc})), uintptr(0), uintptr(0)) @@ -67833,9 +69387,9 @@ func multiplexOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, fl libc.Xmemset(tls, pGroup, 0, uint32(sz)) (*multiplexConn)(unsafe.Pointer(pMultiplexOpen)).FpGroup = pGroup (*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled = libc.Uint8(libc.Uint8FromInt32(-1)) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(sqlite3.Xsqlite3_uri_boolean(tls, zUri, ts+17962, /* "truncate" */ + (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(sqlite3.Xsqlite3_uri_boolean(tls, zUri, ts+18743, /* "truncate" */ (libc.Bool32((flags & SQLITE_OPEN_MAIN_DB) == 0)))) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(sqlite3.Xsqlite3_uri_int64(tls, zUri, ts+34132, /* "chunksize" */ + (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(sqlite3.Xsqlite3_uri_int64(tls, zUri, ts+34894, /* "chunksize" */ int64(SQLITE_MULTIPLEX_CHUNK_SIZE)))) (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = (((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk + uint32(0xffff)) & libc.Uint32FromInt32(libc.CplInt32(0xffff))) if zName != 0 { @@ -68306,13 +69860,13 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) // second element of the array is the name of the pragma and the third // element is the argument to the pragma or NULL if the pragma has no // argument. - if (*(*uintptr)(unsafe.Pointer(aFcntl + 1*4)) != 0) && (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*4)), ts+34142 /* "multiplex_trunca..." */) == 0) { + if (*(*uintptr)(unsafe.Pointer(aFcntl + 1*4)) != 0) && (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*4)), ts+34904 /* "multiplex_trunca..." */) == 0) { if (*(*uintptr)(unsafe.Pointer(aFcntl + 2*4)) != 0) && (*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(aFcntl + 2*4)))) != 0) { if (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*4)), ts+4039 /* "on" */) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*4)), ts+28325 /* "1" */) == 0) { + (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*4)), ts+29094 /* "1" */) == 0) { (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(1) } else if (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*4)), ts+4403 /* "off" */) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*4)), ts+13873 /* "0" */) == 0) { + (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*4)), ts+14654 /* "0" */) == 0) { (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(0) } } @@ -68340,7 +69894,7 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) if pSubOpen != 0 { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 40 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34161 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34923 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } } break @@ -68462,7 +70016,7 @@ func sqlite3_multiplex_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefau gMultiplex.FpOrigVfs = pOrigVfs gMultiplex.FsThisVfs = *(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)) *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gMultiplex)) + 4 /* &.sThisVfs */ + 4 /* &.szOsFile */)) += int32((uint32(unsafe.Sizeof(multiplexConn{})))) - gMultiplex.FsThisVfs.FzName = ts + 34174 /* "multiplex" */ + gMultiplex.FsThisVfs.FzName = ts + 34936 /* "multiplex" */ gMultiplex.FsThisVfs.FxOpen = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 }{multiplexOpen})) @@ -68593,7 +70147,7 @@ func test_multiplex_initialize(tls *libc.TLS, clientData uintptr, interp uintptr // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34184 /* "NAME MAKEDEFAULT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34946 /* "NAME MAKEDEFAULT" */) return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -68617,11 +70171,11 @@ func test_multiplex_shutdown(tls *libc.TLS, clientData uintptr, interp uintptr, _ = clientData - if (objc == 2) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), ts+34201 /* "-force" */) != 0) { + if (objc == 2) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), ts+34963 /* "-force" */) != 0) { objc = 3 } if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34208 /* "?-force?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34970 /* "?-force?" */) return TCL_ERROR } @@ -68655,20 +70209,20 @@ func test_multiplex_control(tls *libc.TLS, cd ClientData, interp uintptr, objc i Fop int32 Fargtype int32 }{ - {FzName: ts + 34217 /* "enable" */, Fop: MULTIPLEX_CTRL_ENABLE, Fargtype: 1}, - {FzName: ts + 34224 /* "chunk_size" */, Fop: MULTIPLEX_CTRL_SET_CHUNK_SIZE, Fargtype: 1}, - {FzName: ts + 34235 /* "max_chunks" */, Fop: MULTIPLEX_CTRL_SET_MAX_CHUNKS, Fargtype: 1}, + {FzName: ts + 10608 /* "enable" */, Fop: MULTIPLEX_CTRL_ENABLE, Fargtype: 1}, + {FzName: ts + 34979 /* "chunk_size" */, Fop: MULTIPLEX_CTRL_SET_CHUNK_SIZE, Fargtype: 1}, + {FzName: ts + 34990 /* "max_chunks" */, Fop: MULTIPLEX_CTRL_SET_MAX_CHUNKS, Fargtype: 1}, {}, } if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34246 /* "HANDLE DBNAME SU..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35001 /* "HANDLE DBNAME SU..." */) return TCL_ERROR } if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+40 /* &cmdInfo */) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34282 /* "expected databas..." */, 0)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35037 /* "expected databas..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), ts+12415 /* "\"" */, 0)) return TCL_ERROR } else { db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 40 /* &cmdInfo */)).FobjClientData)) @@ -68732,9 +70286,9 @@ var aCmd7 = [3]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 34314 /* "sqlite3_multiple..." */, FxProc: 0}, - {FzName: ts + 34343 /* "sqlite3_multiple..." */, FxProc: 0}, - {FzName: ts + 34370 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35069 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35098 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35125 /* "sqlite3_multiple..." */, FxProc: 0}, } /* test_multiplex.c:1310:5 */ // CAPI3REF: Standard File Control Opcodes @@ -69088,10 +70642,10 @@ var aCmd7 = [3]struct { type sqlite3_mutex = sqlite3_mutex1 /* sqlite3.h:1206:30 */ var aName = [15]uintptr{ - ts + 34396 /* "fast" */, ts + 34401 /* "recursive" */, ts + 34411 /* "static_main" */, ts + 34423, /* "static_mem" */ - ts + 34434 /* "static_open" */, ts + 34446 /* "static_prng" */, ts + 34458 /* "static_lru" */, ts + 34469, /* "static_pmem" */ - ts + 34481 /* "static_app1" */, ts + 34493 /* "static_app2" */, ts + 34505 /* "static_app3" */, ts + 34517, /* "static_vfs1" */ - ts + 34529 /* "static_vfs2" */, ts + 34541 /* "static_vfs3" */, uintptr(0), + ts + 35151 /* "fast" */, ts + 35156 /* "recursive" */, ts + 35166 /* "static_main" */, ts + 35178, /* "static_mem" */ + ts + 35189 /* "static_open" */, ts + 35201 /* "static_prng" */, ts + 35213 /* "static_lru" */, ts + 35224, /* "static_pmem" */ + ts + 35236 /* "static_app1" */, ts + 35248 /* "static_app2" */, ts + 35260 /* "static_app3" */, ts + 35272, /* "static_vfs1" */ + ts + 35284 /* "static_vfs2" */, ts + 35296 /* "static_vfs3" */, uintptr(0), } /* test_mutex.c:32:19 */ // State variables @@ -69250,7 +70804,7 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp } if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+56 /* &isInstall */) { @@ -69258,12 +70812,12 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp } if *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) == g3.FisInstalled { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34553 /* "mutex counters a..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35308 /* "mutex counters a..." */, 0)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, func() uintptr { if *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) != 0 { - return ts + 34573 /* "already installe..." */ + return ts + 35328 /* "already installe..." */ } - return ts + 34591 /* "not installed" */ + return ts + 35346 /* "not installed" */ }(), 0)) return TCL_ERROR } @@ -69342,7 +70896,7 @@ func test_alloc_mutex(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // var zBuf [100]int8 at bp+24, 100 sqlite3.Xsqlite3_mutex_free(tls, p) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24 /* &zBuf[0] */, uintptr(0))) return TCL_OK } @@ -69361,9 +70915,9 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(36) *(*[4]ConfigOption)(unsafe.Pointer(bp /* aOpt */)) = [4]ConfigOption{ - {FzName: ts + 34605 /* "singlethread" */, FiValue: SQLITE_CONFIG_SINGLETHREAD}, - {FzName: ts + 34618 /* "multithread" */, FiValue: SQLITE_CONFIG_MULTITHREAD}, - {FzName: ts + 34630 /* "serialized" */, FiValue: SQLITE_CONFIG_SERIALIZED}, + {FzName: ts + 35360 /* "singlethread" */, FiValue: SQLITE_CONFIG_SINGLETHREAD}, + {FzName: ts + 35373 /* "multithread" */, FiValue: SQLITE_CONFIG_MULTITHREAD}, + {FzName: ts + 35385 /* "serialized" */, FiValue: SQLITE_CONFIG_SERIALIZED}, {}, } var s int32 = int32(unsafe.Sizeof(ConfigOption{})) @@ -69376,7 +70930,7 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &aOpt[0] */, s, ts+17204 /* "flag" */, 0, bp+32 /* &i */) != 0 { + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &aOpt[0] */, s, ts+17985 /* "flag" */, 0, bp+32 /* &i */) != 0 { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+32 /* &i */) != 0 { return TCL_ERROR } @@ -69417,7 +70971,7 @@ func getStaticMutexPointer(tls *libc.TLS, pInterp uintptr, pObj uintptr) uintptr // var iMutex int32 at bp, 4 - if tcl.XTcl_GetIndexFromObjStruct(tls, pInterp, pObj, uintptr(unsafe.Pointer(&aName)), int32(unsafe.Sizeof(uintptr(0))), ts+34641 /* "mutex name" */, 0, bp /* &iMutex */) != 0 { + if tcl.XTcl_GetIndexFromObjStruct(tls, pInterp, pObj, uintptr(unsafe.Pointer(&aName)), int32(unsafe.Sizeof(uintptr(0))), ts+35396 /* "mutex name" */, 0, bp /* &iMutex */) != 0 { return uintptr(0) } @@ -69489,9 +71043,9 @@ func Sqlitetest_mutex_Init(tls *libc.TLS, interp uintptr) int32 { /* test_mutex. tcl.XTcl_CreateObjCommand(tls, interp, aCmd8[i].FzName, aCmd8[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+34652, /* "disable_mutex_in..." */ + tcl.XTcl_LinkVar(tls, interp, ts+35407, /* "disable_mutex_in..." */ (uintptr(unsafe.Pointer(&g3)) + 4 /* &.disableInit */), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+34671, /* "disable_mutex_tr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+35426, /* "disable_mutex_tr..." */ (uintptr(unsafe.Pointer(&g3)) + 8 /* &.disableTry */), TCL_LINK_INT) return SQLITE_OK } @@ -69500,20 +71054,20 @@ var aCmd8 = [11]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 34689 /* "sqlite3_shutdown" */, FxProc: 0}, - {FzName: ts + 34706 /* "sqlite3_initiali..." */, FxProc: 0}, - {FzName: ts + 34725 /* "sqlite3_config" */, FxProc: 0}, + {FzName: ts + 35444 /* "sqlite3_shutdown" */, FxProc: 0}, + {FzName: ts + 35461 /* "sqlite3_initiali..." */, FxProc: 0}, + {FzName: ts + 35480 /* "sqlite3_config" */, FxProc: 0}, - {FzName: ts + 34740 /* "enter_static_mut..." */, FxProc: 0}, - {FzName: ts + 34759 /* "leave_static_mut..." */, FxProc: 0}, + {FzName: ts + 35495 /* "enter_static_mut..." */, FxProc: 0}, + {FzName: ts + 35514 /* "leave_static_mut..." */, FxProc: 0}, - {FzName: ts + 34778 /* "enter_db_mutex" */, FxProc: 0}, - {FzName: ts + 34793 /* "leave_db_mutex" */, FxProc: 0}, + {FzName: ts + 35533 /* "enter_db_mutex" */, FxProc: 0}, + {FzName: ts + 35548 /* "leave_db_mutex" */, FxProc: 0}, - {FzName: ts + 34808 /* "alloc_dealloc_mu..." */, FxProc: 0}, - {FzName: ts + 34828 /* "install_mutex_co..." */, FxProc: 0}, - {FzName: ts + 34851 /* "read_mutex_count..." */, FxProc: 0}, - {FzName: ts + 34871 /* "clear_mutex_coun..." */, FxProc: 0}, + {FzName: ts + 35563 /* "alloc_dealloc_mu..." */, FxProc: 0}, + {FzName: ts + 35583 /* "install_mutex_co..." */, FxProc: 0}, + {FzName: ts + 35606 /* "read_mutex_count..." */, FxProc: 0}, + {FzName: ts + 35626 /* "clear_mutex_coun..." */, FxProc: 0}, } /* test_mutex.c:484:5 */ // Maximum pathname length supported by the fs backend. @@ -69565,7 +71119,7 @@ type fs_vfs_t = fs_vfs_t1 /* test_onefile.c:176:25 */ var fs_vfs = fs_vfs_t{ Fbase: sqlite3_vfs{ FiVersion: 1, // pNext - FzName: ts + 30488, /* "fs" */ // pAppData + FzName: ts + 31250, /* "fs" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -70016,7 +71570,7 @@ __8: if !(*(*sqlite3_int64)(unsafe.Pointer(bp /* size */)) == int64(0)) { goto __9 } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 12 /* &.xWrite */))))(tls, pRealFile, ts+34892 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 12 /* &.xWrite */))))(tls, pRealFile, ts+35647 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) (*fs_real_file)(unsafe.Pointer(pReal)).FnBlob = BLOBSIZE goto __10 __9: @@ -70095,7 +71649,7 @@ func fsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { } if pReal != 0 { pF = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 12 /* &.xWrite */))))(tls, pF, ts+34894 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 12 /* &.xWrite */))))(tls, pF, ts+35649 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) if rc == SQLITE_OK { (*fs_real_file)(unsafe.Pointer(pReal)).FnJournal = 0 } @@ -70116,7 +71670,7 @@ func fsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut u return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 32 /* &.xAccess */))))(tls, pParent, zPath, flags, pResOut) } - if (nName > 8) && (libc.Xstrcmp(tls, ts+32244 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { + if (nName > 8) && (libc.Xstrcmp(tls, ts+33006 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { nName = nName - (8) isJournal = 1 } @@ -70494,7 +72048,7 @@ func vfslogFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int var p uintptr = pFile var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 40 /* &.xFileControl */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34899 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35654 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } return rc } @@ -70789,7 +72343,7 @@ func sqlite3_vfslog_new(tls *libc.TLS, zVfs uintptr, zParentVfs uintptr, zLog ui (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pParent + 28 /* &.xDelete */))))(tls, pParent, zFile, 0) rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 24 /* &.xOpen */))))(tls, pParent, zFile, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, *(*int32)(unsafe.Pointer(bp /* flags */)), bp /* &flags */) if rc == SQLITE_OK { - libc.Xmemcpy(tls, p+112 /* &.aBuf */, ts+34909 /* "sqlite_ostrace1...." */, uint32(20)) + libc.Xmemcpy(tls, p+112 /* &.aBuf */, ts+35664 /* "sqlite_ostrace1...." */, uint32(20)) (*VfslogVfs)(unsafe.Pointer(p)).FiOffset = int64(0) (*VfslogVfs)(unsafe.Pointer(p)).FnBuf = 20 rc = sqlite3.Xsqlite3_vfs_register(tls, p, 1) @@ -70818,78 +72372,78 @@ func vfslog_eventname(tls *libc.TLS, eEvent int32) uintptr { /* test_osinst.c:76 switch eEvent { case OS_CLOSE: - zEvent = ts + 34930 /* "xClose" */ + zEvent = ts + 35685 /* "xClose" */ break case OS_READ: - zEvent = ts + 34937 /* "xRead" */ + zEvent = ts + 35692 /* "xRead" */ break case OS_WRITE: - zEvent = ts + 34943 /* "xWrite" */ + zEvent = ts + 35698 /* "xWrite" */ break case OS_TRUNCATE: - zEvent = ts + 34950 /* "xTruncate" */ + zEvent = ts + 35705 /* "xTruncate" */ break case OS_SYNC: - zEvent = ts + 27353 /* "xSync" */ + zEvent = ts + 28129 /* "xSync" */ break case OS_FILESIZE: - zEvent = ts + 34960 /* "xFilesize" */ + zEvent = ts + 35715 /* "xFilesize" */ break case OS_LOCK: - zEvent = ts + 34970 /* "xLock" */ + zEvent = ts + 35725 /* "xLock" */ break case OS_UNLOCK: - zEvent = ts + 34976 /* "xUnlock" */ + zEvent = ts + 35731 /* "xUnlock" */ break case OS_CHECKRESERVEDLOCK: - zEvent = ts + 34984 /* "xCheckResLock" */ + zEvent = ts + 35739 /* "xCheckResLock" */ break case OS_FILECONTROL: - zEvent = ts + 34998 /* "xFileControl" */ + zEvent = ts + 35753 /* "xFileControl" */ break case OS_SECTORSIZE: - zEvent = ts + 35011 /* "xSectorSize" */ + zEvent = ts + 35766 /* "xSectorSize" */ break case OS_DEVCHAR: - zEvent = ts + 35023 /* "xDeviceChar" */ + zEvent = ts + 35778 /* "xDeviceChar" */ break case OS_OPEN: - zEvent = ts + 26925 /* "xOpen" */ + zEvent = ts + 27701 /* "xOpen" */ break case OS_DELETE: - zEvent = ts + 35035 /* "xDelete" */ + zEvent = ts + 35790 /* "xDelete" */ break case OS_ACCESS: - zEvent = ts + 35043 /* "xAccess" */ + zEvent = ts + 35798 /* "xAccess" */ break case OS_FULLPATHNAME: - zEvent = ts + 35051 /* "xFullPathname" */ + zEvent = ts + 35806 /* "xFullPathname" */ break case OS_RANDOMNESS: - zEvent = ts + 35065 /* "xRandomness" */ + zEvent = ts + 35820 /* "xRandomness" */ break case OS_SLEEP: - zEvent = ts + 35077 /* "xSleep" */ + zEvent = ts + 35832 /* "xSleep" */ break case OS_CURRENTTIME: - zEvent = ts + 35084 /* "xCurrentTime" */ + zEvent = ts + 35839 /* "xCurrentTime" */ break case OS_SHMUNMAP: - zEvent = ts + 35097 /* "xShmUnmap" */ + zEvent = ts + 35852 /* "xShmUnmap" */ break case OS_SHMLOCK: - zEvent = ts + 35107 /* "xShmLock" */ + zEvent = ts + 35862 /* "xShmLock" */ break case OS_SHMBARRIER: - zEvent = ts + 35116 /* "xShmBarrier" */ + zEvent = ts + 35871 /* "xShmBarrier" */ break case OS_SHMMAP: - zEvent = ts + 35128 /* "xShmMap" */ + zEvent = ts + 35883 /* "xShmMap" */ break case OS_ANNOTATE: - zEvent = ts + 35136 /* "annotation" */ + zEvent = ts + 35891 /* "annotation" */ break } @@ -70987,7 +72541,7 @@ func vlogConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp if rc == SQLITE_OK { (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 24 /* &.xFileSize */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, (p + 16 /* &.nByte */)) sqlite3.Xsqlite3_declare_vtab(tls, db, - ts+35147 /* "CREATE TABLE xxx..." */) + ts+35902 /* "CREATE TABLE xxx..." */) *(*uintptr)(unsafe.Pointer(ppVtab)) = (p /* &.base */) } else { sqlite3.Xsqlite3_free(tls, p) @@ -71147,7 +72701,7 @@ func vlogRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* test_o func sqlite3_vfslog_register(tls *libc.TLS, db uintptr) int32 { /* test_osinst.c:1071:5: */ - sqlite3.Xsqlite3_create_module(tls, db, ts+35202 /* "vfslog" */, uintptr(unsafe.Pointer(&vfslog_module)), uintptr(0)) + sqlite3.Xsqlite3_create_module(tls, db, ts+35957 /* "vfslog" */, uintptr(unsafe.Pointer(&vfslog_module)), uintptr(0)) return SQLITE_OK } @@ -71185,7 +72739,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var iSub int32 at bp+72, 4 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32418 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33180 /* "SUB-COMMAND ..." */) return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&strs)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+72 /* &iSub */) != 0 { @@ -71198,14 +72752,14 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zVfs uintptr var zMsg uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+35209 /* "VFS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+35964 /* "VFS" */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) zMsg = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))) rc = sqlite3_vfslog_annotate(tls, zVfs, zMsg) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35213 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35968 /* "failed" */, 0)) return TCL_ERROR } break @@ -71215,13 +72769,13 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, { var zVfs uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35209 /* "VFS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35964 /* "VFS" */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) rc = sqlite3_vfslog_finalize(tls, zVfs) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+35213 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+35968 /* "failed" */, 0)) return TCL_ERROR } break @@ -71234,7 +72788,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zParent uintptr var zLog uintptr if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35220 /* "VFS PARENT LOGFI..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35975 /* "VFS PARENT LOGFI..." */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) @@ -71245,7 +72799,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } rc = sqlite3_vfslog_new(tls, zVfs, zParent, zLog) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+35213 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+35968 /* "failed" */, 0)) return TCL_ERROR } break @@ -71265,7 +72819,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, rc = sqlite3_vfslog_register(tls, db) } if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+35239 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+35994 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) return TCL_ERROR } break @@ -71276,10 +72830,10 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_OK } -var strs = [5]uintptr{ts + 35260 /* "annotate" */, ts + 35269 /* "finalize" */, ts + 13689 /* "new" */, ts + 35278 /* "register" */, uintptr(0)} /* test_osinst.c:1127:21 */ +var strs = [5]uintptr{ts + 36015 /* "annotate" */, ts + 36024 /* "finalize" */, ts + 14470 /* "new" */, ts + 36033 /* "register" */, uintptr(0)} /* test_osinst.c:1127:21 */ func SqlitetestOsinst_Init(tls *libc.TLS, interp uintptr) int32 { /* test_osinst.c:1219:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+35202 /* "vfslog" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+35957 /* "vfslog" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfslog})), uintptr(0), uintptr(0)) return TCL_OK @@ -72321,7 +73875,7 @@ func quotaFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int3 var pSubOpen uintptr = quotaSubOpen(tls, pConn) var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 40 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35287 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+36042 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } return rc } @@ -72396,7 +73950,7 @@ func sqlite3_quota_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefault i f func(*libc.TLS, uintptr, uintptr, int32) int32 }{quotaDelete})) *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gQuota)) + 4 /* &.sThisVfs */ + 4 /* &.szOsFile */)) += int32((uint32(unsafe.Sizeof(quotaConn{})))) - gQuota.FsThisVfs.FzName = ts + 35296 /* "quota" */ + gQuota.FsThisVfs.FzName = ts + 36051 /* "quota" */ gQuota.FsIoMethodsV1.FiVersion = 1 gQuota.FsIoMethodsV1.FxClose = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 @@ -72970,7 +74524,7 @@ func tclQuotaCallback(tls *libc.TLS, zFilename uintptr, piLimit uintptr, iSize s return } - pVarname = tcl.XTcl_NewStringObj(tls, ts+35302 /* "::piLimit_" */, -1) + pVarname = tcl.XTcl_NewStringObj(tls, ts+36057 /* "::piLimit_" */, -1) (*Tcl_Obj)(unsafe.Pointer(pVarname)).FrefCount++ sqlite3.Xsqlite3_randomness(tls, int32(unsafe.Sizeof(uint32(0))), bp /* &rnd */) tcl.XTcl_AppendObjToObj(tls, pVarname, tcl.XTcl_NewIntObj(tls, (int32(*(*uint32)(unsafe.Pointer(bp /* rnd */))&uint32(0x7FFFFFFF))))) @@ -73035,7 +74589,7 @@ func test_quota_initialize(tls *libc.TLS, clientData uintptr, interp uintptr, ob // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34184 /* "NAME MAKEDEFAULT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34946 /* "NAME MAKEDEFAULT" */) return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -73087,7 +74641,7 @@ func test_quota_set(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Process arguments if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35313 /* "PATTERN LIMIT SC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36068 /* "PATTERN LIMIT SC..." */) return TCL_ERROR } zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -73101,7 +74655,7 @@ func test_quota_set(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Allocate a TclQuotaCallback object p = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TclQuotaCallback{}))) if !(p != 0) { - tcl.XTcl_SetResult(tls, interp, ts+32182 /* "SQLITE_NOMEM" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+32944 /* "SQLITE_NOMEM" */, uintptr(0)) return TCL_OK } libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(TclQuotaCallback{}))) @@ -73132,7 +74686,7 @@ func test_quota_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // Process arguments if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -73206,13 +74760,13 @@ func test_quota_fopen(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35334 /* "FILENAME MODE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36089 /* "FILENAME MODE" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) zMode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) p = sqlite3_quota_fopen(tls, zFilename, zMode) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+8 /* &zReturn[0] */, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+8 /* &zReturn[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) tcl.XTcl_SetResult(tls, interp, bp+8 /* &zReturn[0] */, uintptr(1)) return TCL_OK } @@ -73231,7 +74785,7 @@ func test_quota_fread(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var got size_t if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35348 /* "HANDLE SIZE NELE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36103 /* "HANDLE SIZE NELE..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73267,7 +74821,7 @@ func test_quota_fwrite(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var got size_t if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35366 /* "HANDLE SIZE NELE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36121 /* "HANDLE SIZE NELE..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73289,7 +74843,7 @@ func test_quota_fclose(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73308,7 +74862,7 @@ func test_quota_fflush(tls *libc.TLS, clientData uintptr, interp uintptr, objc i *(*int32)(unsafe.Pointer(bp /* doSync */)) = 0 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35392 /* "HANDLE ?HARDSYNC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36147 /* "HANDLE ?HARDSYNC..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73335,7 +74889,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35410 /* "HANDLE OFFSET WH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36165 /* "HANDLE OFFSET WH..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73343,15 +74897,15 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in return TCL_ERROR } zWhence = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))) - if libc.Xstrcmp(tls, zWhence, ts+35431 /* "SEEK_SET" */) == 0 { + if libc.Xstrcmp(tls, zWhence, ts+36186 /* "SEEK_SET" */) == 0 { whence = SEEK_SET - } else if libc.Xstrcmp(tls, zWhence, ts+35440 /* "SEEK_CUR" */) == 0 { + } else if libc.Xstrcmp(tls, zWhence, ts+36195 /* "SEEK_CUR" */) == 0 { whence = SEEK_CUR - } else if libc.Xstrcmp(tls, zWhence, ts+35449 /* "SEEK_END" */) == 0 { + } else if libc.Xstrcmp(tls, zWhence, ts+36204 /* "SEEK_END" */) == 0 { whence = SEEK_END } else { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+35458 /* "WHENCE should be..." */, uintptr(0))) + libc.VaList(bp, ts+36213 /* "WHENCE should be..." */, uintptr(0))) return TCL_ERROR } rc = sqlite3_quota_fseek(tls, p, int32(*(*int32)(unsafe.Pointer(bp + 16 /* ofst */))), whence) @@ -73363,7 +74917,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in func test_quota_rewind(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_quota.c:1718:26: */ var p uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73376,7 +74930,7 @@ func test_quota_ftell(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73396,7 +74950,7 @@ func test_quota_ftruncate(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35507 /* "HANDLE SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36262 /* "HANDLE SIZE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73414,7 +74968,7 @@ func test_quota_file_size(tls *libc.TLS, clientData uintptr, interp uintptr, obj var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73428,7 +74982,7 @@ func test_quota_file_truesize(tls *libc.TLS, clientData uintptr, interp uintptr, var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73446,7 +75000,7 @@ func test_quota_file_mtime(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var t time_t at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73461,7 +75015,7 @@ func test_quota_remove(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var zFilename uintptr // File pattern to configure var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -73479,7 +75033,7 @@ func test_quota_glob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var zText uintptr // Text to compare agains the pattern var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35519 /* "PATTERN TEXT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36274 /* "PATTERN TEXT" */) return TCL_ERROR } zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -73497,7 +75051,7 @@ func test_quota_file_available(tls *libc.TLS, clientData uintptr, interp uintptr var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73513,7 +75067,7 @@ func test_quota_ferror(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var p uintptr var x int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73542,27 +75096,27 @@ var aCmd9 = [21]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 35532 /* "sqlite3_quota_in..." */, FxProc: 0}, - {FzName: ts + 35557 /* "sqlite3_quota_sh..." */, FxProc: 0}, - {FzName: ts + 35580 /* "sqlite3_quota_se..." */, FxProc: 0}, - {FzName: ts + 35598 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35617 /* "sqlite3_quota_du..." */, FxProc: 0}, - {FzName: ts + 35636 /* "sqlite3_quota_fo..." */, FxProc: 0}, - {FzName: ts + 35656 /* "sqlite3_quota_fr..." */, FxProc: 0}, - {FzName: ts + 35676 /* "sqlite3_quota_fw..." */, FxProc: 0}, - {FzName: ts + 35697 /* "sqlite3_quota_fc..." */, FxProc: 0}, - {FzName: ts + 35718 /* "sqlite3_quota_ff..." */, FxProc: 0}, - {FzName: ts + 35739 /* "sqlite3_quota_fs..." */, FxProc: 0}, - {FzName: ts + 35759 /* "sqlite3_quota_re..." */, FxProc: 0}, - {FzName: ts + 35780 /* "sqlite3_quota_ft..." */, FxProc: 0}, - {FzName: ts + 35800 /* "sqlite3_quota_ft..." */, FxProc: 0}, - {FzName: ts + 35824 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35848 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35876 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35901 /* "sqlite3_quota_re..." */, FxProc: 0}, - {FzName: ts + 35922 /* "sqlite3_quota_gl..." */, FxProc: 0}, - {FzName: ts + 35941 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35970 /* "sqlite3_quota_fe..." */, FxProc: 0}, + {FzName: ts + 36287 /* "sqlite3_quota_in..." */, FxProc: 0}, + {FzName: ts + 36312 /* "sqlite3_quota_sh..." */, FxProc: 0}, + {FzName: ts + 36335 /* "sqlite3_quota_se..." */, FxProc: 0}, + {FzName: ts + 36353 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36372 /* "sqlite3_quota_du..." */, FxProc: 0}, + {FzName: ts + 36391 /* "sqlite3_quota_fo..." */, FxProc: 0}, + {FzName: ts + 36411 /* "sqlite3_quota_fr..." */, FxProc: 0}, + {FzName: ts + 36431 /* "sqlite3_quota_fw..." */, FxProc: 0}, + {FzName: ts + 36452 /* "sqlite3_quota_fc..." */, FxProc: 0}, + {FzName: ts + 36473 /* "sqlite3_quota_ff..." */, FxProc: 0}, + {FzName: ts + 36494 /* "sqlite3_quota_fs..." */, FxProc: 0}, + {FzName: ts + 36514 /* "sqlite3_quota_re..." */, FxProc: 0}, + {FzName: ts + 36535 /* "sqlite3_quota_ft..." */, FxProc: 0}, + {FzName: ts + 36555 /* "sqlite3_quota_ft..." */, FxProc: 0}, + {FzName: ts + 36579 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36603 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36631 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36656 /* "sqlite3_quota_re..." */, FxProc: 0}, + {FzName: ts + 36677 /* "sqlite3_quota_gl..." */, FxProc: 0}, + {FzName: ts + 36696 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36725 /* "sqlite3_quota_fe..." */, FxProc: 0}, } /* test_quota.c:1948:5 */ // Type used to cache parameter information for the "circle" r-tree geometry @@ -74159,7 +75713,7 @@ func register_cube_geom(tls *libc.TLS, clientData uintptr, interp uintptr, objc if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+35991 /* "cube" */, *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36746 /* "cube" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 }{cube_geom})), uintptr(unsafe.Pointer(&gHere))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) @@ -74181,17 +75735,17 @@ func register_circle_geom(tls *libc.TLS, clientData uintptr, interp uintptr, obj if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+35996 /* "circle" */, *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36751 /* "circle" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 }{circle_geom})), uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36003, /* "Qcircle" */ + rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36758, /* "Qcircle" */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 }{circle_query_func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36011, /* "breadthfirstsear..." */ + rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36766, /* "breadthfirstsear..." */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 }{bfs_query_func})), uintptr(0), uintptr(0)) @@ -74201,10 +75755,10 @@ func register_circle_geom(tls *libc.TLS, clientData uintptr, interp uintptr, obj } func Sqlitetestrtree_Init(tls *libc.TLS, interp uintptr) int32 { /* test_rtree.c:507:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+36030 /* "register_cube_ge..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36785 /* "register_cube_ge..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{register_cube_geom})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+36049 /* "register_circle_..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36804 /* "register_circle_..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{register_circle_geom})), uintptr(0), uintptr(0)) return TCL_OK @@ -74433,7 +75987,7 @@ func schemaCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint if pVtab != 0 { libc.Xmemset(tls, pVtab, 0, uint32(unsafe.Sizeof(schema_vtab{}))) (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb = db - rc = sqlite3.Xsqlite3_declare_vtab(tls, db /* Name of database (i.e. main, temp etc.) */ /* Name of table */ /* Column number (from left-to-right, 0 upward) */ /* Column name */ /* Specified type (i.e. VARCHAR(32)) */ /* Boolean. True if NOT NULL was specified */ /* Default value for this column */ /* True if this column is part of the primary key */, ts+36070 /* "CREATE TABLE x(d..." */) + rc = sqlite3.Xsqlite3_declare_vtab(tls, db /* Name of database (i.e. main, temp etc.) */ /* Name of table */ /* Column number (from left-to-right, 0 upward) */ /* Column name */ /* Specified type (i.e. VARCHAR(32)) */ /* Boolean. True if NOT NULL was specified */ /* Default value for this column */ /* True if this column is part of the primary key */, ts+36825 /* "CREATE TABLE x(d..." */) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab return rc @@ -74557,12 +76111,12 @@ __8: goto __9 } zSql = sqlite3.Xsqlite3_mprintf(tls, - ts+36142 /* "SELECT name FROM..." */, 0) + ts+36897 /* "SELECT name FROM..." */, 0) goto __10 __9: pDbList = (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList zSql = sqlite3.Xsqlite3_mprintf(tls, - ts+36197, /* "SELECT name FROM..." */ + ts+36952, /* "SELECT name FROM..." */ libc.VaList(bp, sqlite3.Xsqlite3_column_text(tls, pDbList, 1))) __10: ; @@ -74589,7 +76143,7 @@ __5: // Set zSql to the SQL to the table_info pragma for the table currently // identified by the rows pointed to by statements pCur->pDbList and // pCur->pTableList. - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+36250, /* "PRAGMA %Q.table_..." */ + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+37005, /* "PRAGMA %Q.table_..." */ libc.VaList(bp+8, sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList, 1), sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpTableList, 0))) @@ -74627,7 +76181,7 @@ func schemaFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp finalize(tls, (pCur + 8 /* &.pTableList */)) finalize(tls, (pCur + 12 /* &.pColumnList */)) finalize(tls, (pCur + 4 /* &.pDbList */)) - rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, ts+36275 /* "PRAGMA database_..." */, -1, (pCur + 4 /* &.pDbList */), uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, ts+37030 /* "PRAGMA database_..." */, -1, (pCur + 4 /* &.pDbList */), uintptr(0)) return func() int32 { if rc == SQLITE_OK { return schemaNext(tls, pVtabCursor) @@ -74695,7 +76249,7 @@ var aObjCmd12 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 36296 /* "register_schema_..." */, FxProc: 0}, + {FzName: ts + 37051 /* "register_schema_..." */, FxProc: 0}, } /* test_schema.c:335:5 */ // 2001-09-15 @@ -75244,7 +76798,7 @@ func superlockIsWal(tls *libc.TLS, pLock uintptr) int32 { /* test_superlock.c:67 // var pStmt uintptr at bp, 4 // Compiled PRAGMA journal_mode statement - rc = sqlite3.Xsqlite3_prepare(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+36319 /* "PRAGMA main.jour..." */, -1, bp /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+37074 /* "PRAGMA main.jour..." */, -1, bp /* &pStmt */, uintptr(0)) if rc != SQLITE_OK { return rc } @@ -75252,7 +76806,7 @@ func superlockIsWal(tls *libc.TLS, pLock uintptr) int32 { /* test_superlock.c:67 (*Superlock)(unsafe.Pointer(pLock)).FbWal = 0 if SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { var zMode uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) - if ((zMode != 0) && (libc.Xstrlen(tls, zMode) == size_t(3))) && (sqlite3.Xsqlite3_strnicmp(tls, ts+29379 /* "wal" */, zMode, 3) == 0) { + if ((zMode != 0) && (libc.Xstrlen(tls, zMode) == size_t(3))) && (sqlite3.Xsqlite3_strnicmp(tls, ts+30141 /* "wal" */, zMode, 3) == 0) { (*Superlock)(unsafe.Pointer(pLock)).FbWal = 1 } } @@ -75386,7 +76940,7 @@ func sqlite3demo_superlock(tls *libc.TLS, zPath uintptr, zVfs uintptr, xBusy uin sqlite3.Xsqlite3_busy_handler(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 }{superlockBusyHandler})), bp /* &busy */) - rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+12906 /* "BEGIN EXCLUSIVE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+13687 /* "BEGIN EXCLUSIVE" */, uintptr(0), uintptr(0), uintptr(0)) } // If the BEGIN EXCLUSIVE was executed successfully and this is a WAL @@ -75399,7 +76953,7 @@ func sqlite3demo_superlock(tls *libc.TLS, zPath uintptr, zVfs uintptr, xBusy uin // new WAL locks may conflict with the old. if rc == SQLITE_OK { if (SQLITE_OK == (libc.AssignInt32(&rc, superlockIsWal(tls, pLock)))) && ((*Superlock)(unsafe.Pointer(pLock)).FbWal != 0) { - rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+11310 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+12098 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = superlockWalLock(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, bp /* &busy */) } @@ -75482,7 +77036,7 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj if (objc < 3) || (objc > 5) { tcl.XTcl_WrongNumArgs(tls, - interp, 1, objv, ts+36344 /* "CMDNAME PATH ?VF..." */) + interp, 1, objv, ts+37099 /* "CMDNAME PATH ?VF..." */) return TCL_ERROR } @@ -75519,7 +77073,7 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj } func SqliteSuperlock_Init(tls *libc.TLS, interp uintptr) int32 { /* test_superlock.c:359:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+36385 /* "sqlite3demo_supe..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+37140 /* "sqlite3demo_supe..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{superlock_cmd})), uintptr(0), uintptr(0)) return TCL_OK @@ -75564,24 +77118,24 @@ type TestSyscallArray = struct { } /* test_syscall.c:127:1 */ var aSyscall = [19]TestSyscallArray{ - /* 0 */ {FzName: ts + 36407 /* "open" */, FxTest: 0, Fdefault_errno: EACCES}, + /* 0 */ {FzName: ts + 37162 /* "open" */, FxTest: 0, Fdefault_errno: EACCES}, /* 1 */ {FzName: ts + 10125 /* "close" */, FxTest: 0}, - /* 2 */ {FzName: ts + 36412 /* "access" */, FxTest: 0}, - /* 3 */ {FzName: ts + 36419 /* "getcwd" */, FxTest: 0}, - /* 4 */ {FzName: ts + 36426 /* "stat" */, FxTest: 0}, - /* 5 */ {FzName: ts + 36431 /* "fstat" */, FxTest: 0}, - /* 6 */ {FzName: ts + 36437 /* "ftruncate" */, FxTest: 0, Fdefault_errno: EIO}, - /* 7 */ {FzName: ts + 36447 /* "fcntl" */, FxTest: 0, Fdefault_errno: EACCES}, - /* 8 */ {FzName: ts + 24630 /* "read" */, FxTest: 0}, - /* 9 */ {FzName: ts + 36453 /* "pread" */, FxTest: 0}, - /* 10 */ {FzName: ts + 36459 /* "pread64" */, FxTest: 0}, - /* 11 */ {FzName: ts + 24635 /* "write" */, FxTest: 0}, - /* 12 */ {FzName: ts + 36467 /* "pwrite" */, FxTest: 0}, - /* 13 */ {FzName: ts + 36474 /* "pwrite64" */, FxTest: 0}, - /* 14 */ {FzName: ts + 36483 /* "fchmod" */, FxTest: 0}, - /* 15 */ {FzName: ts + 36490 /* "fallocate" */, FxTest: 0}, - /* 16 */ {FzName: ts + 28466 /* "mmap" */, FxTest: 0}, - /* 17 */ {FzName: ts + 36500 /* "mremap" */, FxTest: 0}, + /* 2 */ {FzName: ts + 37167 /* "access" */, FxTest: 0}, + /* 3 */ {FzName: ts + 37174 /* "getcwd" */, FxTest: 0}, + /* 4 */ {FzName: ts + 37181 /* "stat" */, FxTest: 0}, + /* 5 */ {FzName: ts + 37186 /* "fstat" */, FxTest: 0}, + /* 6 */ {FzName: ts + 37192 /* "ftruncate" */, FxTest: 0, Fdefault_errno: EIO}, + /* 7 */ {FzName: ts + 37202 /* "fcntl" */, FxTest: 0, Fdefault_errno: EACCES}, + /* 8 */ {FzName: ts + 25406 /* "read" */, FxTest: 0}, + /* 9 */ {FzName: ts + 37208 /* "pread" */, FxTest: 0}, + /* 10 */ {FzName: ts + 37214 /* "pread64" */, FxTest: 0}, + /* 11 */ {FzName: ts + 25411 /* "write" */, FxTest: 0}, + /* 12 */ {FzName: ts + 37222 /* "pwrite" */, FxTest: 0}, + /* 13 */ {FzName: ts + 37229 /* "pwrite64" */, FxTest: 0}, + /* 14 */ {FzName: ts + 37238 /* "fchmod" */, FxTest: 0}, + /* 15 */ {FzName: ts + 37245 /* "fallocate" */, FxTest: 0}, + /* 16 */ {FzName: ts + 29235 /* "mmap" */, FxTest: 0}, + /* 17 */ {FzName: ts + 37255 /* "mremap" */, FxTest: 0}, {}, } /* test_syscall.c:133:3 */ @@ -75633,7 +77187,7 @@ func tsIsFailErrno(tls *libc.TLS, zFunc uintptr) int32 { /* test_syscall.c:215:1 // A wrapper around open(). func ts_open(tls *libc.TLS, zFile uintptr, flags int32, mode int32) int32 { /* test_syscall.c:226:12: */ - if tsIsFailErrno(tls, ts+36407 /* "open" */) != 0 { + if tsIsFailErrno(tls, ts+37162 /* "open" */) != 0 { return -1 } return (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.xOrig */))))(tls, zFile, flags, mode) @@ -75679,7 +77233,7 @@ func ts_stat(tls *libc.TLS, zPath uintptr, p uintptr) int32 { /* test_syscall.c: // A wrapper around fstat(). func ts_fstat(tls *libc.TLS, fd int32, p uintptr) int32 { /* test_syscall.c:282:12: */ - if tsIsFailErrno(tls, ts+36431 /* "fstat" */) != 0 { + if tsIsFailErrno(tls, ts+37186 /* "fstat" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*20 + 8 /* &.xOrig */))))(tls, fd, p) @@ -75687,7 +77241,7 @@ func ts_fstat(tls *libc.TLS, fd int32, p uintptr) int32 { /* test_syscall.c:282: // A wrapper around ftruncate(). func ts_ftruncate(tls *libc.TLS, fd int32, n off_t) int32 { /* test_syscall.c:292:12: */ - if tsIsFailErrno(tls, ts+36437 /* "ftruncate" */) != 0 { + if tsIsFailErrno(tls, ts+37192 /* "ftruncate" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, off_t) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 6*20 + 8 /* &.xOrig */))))(tls, fd, n) @@ -75701,7 +77255,7 @@ func ts_fcntl(tls *libc.TLS, fd int32, cmd int32, va uintptr) int32 { /* test_sy var ap va_list _ = ap var pArg uintptr - if tsIsFailErrno(tls, ts+36447 /* "fcntl" */) != 0 { + if tsIsFailErrno(tls, ts+37202 /* "fcntl" */) != 0 { return -1 } ap = va @@ -75711,7 +77265,7 @@ func ts_fcntl(tls *libc.TLS, fd int32, cmd int32, va uintptr) int32 { /* test_sy // A wrapper around read(). func ts_read(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test_syscall.c:316:12: */ - if tsIsFailErrno(tls, ts+24630 /* "read" */) != 0 { + if tsIsFailErrno(tls, ts+25406 /* "read" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr, size_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8*20 + 8 /* &.xOrig */))))(tls, fd, aBuf, nBuf) @@ -75719,7 +77273,7 @@ func ts_read(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test // A wrapper around pread(). func ts_pread(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int32 { /* test_syscall.c:326:12: */ - if tsIsFailErrno(tls, ts+36453 /* "pread" */) != 0 { + if tsIsFailErrno(tls, ts+37208 /* "pread" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr, size_t, off_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 9*20 + 8 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off) @@ -75727,7 +77281,7 @@ func ts_pread(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int // A wrapper around pread64(). func ts_pread64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_uint64) int32 { /* test_syscall.c:336:12: */ - if tsIsFailErrno(tls, ts+36459 /* "pread64" */) != 0 { + if tsIsFailErrno(tls, ts+37214 /* "pread64" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr, size_t, sqlite3_uint64) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 10*20 + 8 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off) @@ -75735,8 +77289,8 @@ func ts_pread64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_ // A wrapper around write(). func ts_write(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test_syscall.c:346:12: */ - if tsIsFailErrno(tls, ts+24635 /* "write" */) != 0 { - if tsErrno(tls, ts+24635 /* "write" */) == EINTR { + if tsIsFailErrno(tls, ts+25411 /* "write" */) != 0 { + if tsErrno(tls, ts+25411 /* "write" */) == EINTR { (*(*func(*libc.TLS, int32, uintptr, size_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 11*20 + 8 /* &.xOrig */))))(tls, fd, aBuf, (nBuf / size_t(2))) } return -1 @@ -75746,7 +77300,7 @@ func ts_write(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* tes // A wrapper around pwrite(). func ts_pwrite(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int32 { /* test_syscall.c:357:12: */ - if tsIsFailErrno(tls, ts+36467 /* "pwrite" */) != 0 { + if tsIsFailErrno(tls, ts+37222 /* "pwrite" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr, size_t, off_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 12*20 + 8 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off) @@ -75754,7 +77308,7 @@ func ts_pwrite(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) in // A wrapper around pwrite64(). func ts_pwrite64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_uint64) int32 { /* test_syscall.c:367:12: */ - if tsIsFailErrno(tls, ts+36474 /* "pwrite64" */) != 0 { + if tsIsFailErrno(tls, ts+37229 /* "pwrite64" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr, size_t, sqlite3_uint64) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 13*20 + 8 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off) @@ -75777,13 +77331,13 @@ func ts_fchmod(tls *libc.TLS, fd int32, mode mode_t) int32 { /* test_syscall.c:3 // failure. Note that errno is not set. func ts_fallocate(tls *libc.TLS, fd int32, off off_t, len off_t) int32 { /* test_syscall.c:393:12: */ if tsIsFail(tls) != 0 { - return tsErrno(tls, ts+36490 /* "fallocate" */) + return tsErrno(tls, ts+37245 /* "fallocate" */) } return (*(*func(*libc.TLS, int32, off_t, off_t) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 15*20 + 8 /* &.xOrig */))))(tls, fd, off, len) } func ts_mmap(tls *libc.TLS, pAddr uintptr, nByte size_t, prot int32, flags int32, fd int32, iOff off_t) uintptr { /* test_syscall.c:400:13: */ - if tsIsFailErrno(tls, ts+28466 /* "mmap" */) != 0 { + if tsIsFailErrno(tls, ts+29235 /* "mmap" */) != 0 { return libc.UintptrFromInt32(-1) } return (*(*func(*libc.TLS, uintptr, size_t, int32, int32, int32, off_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 16*20 + 8 /* &.xOrig */))))(tls, pAddr, nByte, prot, flags, fd, iOff) @@ -75796,7 +77350,7 @@ func ts_mremap(tls *libc.TLS, a uintptr, b size_t, c size_t, d int32, va uintptr var ap va_list _ = ap var pArg uintptr - if tsIsFailErrno(tls, ts+36500 /* "mremap" */) != 0 { + if tsIsFailErrno(tls, ts+37255 /* "mremap" */) != 0 { return libc.UintptrFromInt32(-1) } ap = va @@ -75815,7 +77369,7 @@ func test_syscall_install(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var apElem uintptr at bp+4, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36507 /* "SYSCALL-LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37262 /* "SYSCALL-LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp /* &nElem */, bp+4 /* &apElem */) != 0 { @@ -75827,7 +77381,7 @@ func test_syscall_install(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var iCall int32 at bp+8, 4 var rc int32 = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* apElem */)) + uintptr(i)*4)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+36520 /* "system-call" */, 0, bp+8 /* &iCall */) + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* apElem */)) + uintptr(i)*4)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+37275 /* "system-call" */, 0, bp+8 /* &iCall */) if rc != 0 { return rc } @@ -75927,7 +77481,7 @@ func test_syscall_fault(tls *libc.TLS, clientData uintptr, interp uintptr, objc *(*int32)(unsafe.Pointer(bp + 4 /* bPersist */)) = 0 if (objc != 2) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36532 /* "?COUNT PERSIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37287 /* "?COUNT PERSIST?" */) return TCL_ERROR } @@ -75956,32 +77510,32 @@ func test_syscall_errno(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 *(*[12]Errno)(unsafe.Pointer(bp + 4 /* aErrno */)) = [12]Errno{ - {Fz: ts + 36548 /* "EACCES" */, Fi: EACCES}, - {Fz: ts + 36555 /* "EINTR" */, Fi: EINTR}, - {Fz: ts + 36561 /* "EIO" */, Fi: EIO}, - {Fz: ts + 36565 /* "EOVERFLOW" */, Fi: EOVERFLOW}, - {Fz: ts + 36575 /* "ENOMEM" */, Fi: ENOMEM}, - {Fz: ts + 36582 /* "EAGAIN" */, Fi: EAGAIN}, - {Fz: ts + 36589 /* "ETIMEDOUT" */, Fi: ETIMEDOUT}, - {Fz: ts + 36599 /* "EBUSY" */, Fi: EBUSY}, - {Fz: ts + 36605 /* "EPERM" */, Fi: EPERM}, - {Fz: ts + 36611 /* "EDEADLK" */, Fi: EDEADLK}, - {Fz: ts + 36619 /* "ENOLCK" */, Fi: ENOLCK}, + {Fz: ts + 37303 /* "EACCES" */, Fi: EACCES}, + {Fz: ts + 37310 /* "EINTR" */, Fi: EINTR}, + {Fz: ts + 37316 /* "EIO" */, Fi: EIO}, + {Fz: ts + 37320 /* "EOVERFLOW" */, Fi: EOVERFLOW}, + {Fz: ts + 37330 /* "ENOMEM" */, Fi: ENOMEM}, + {Fz: ts + 37337 /* "EAGAIN" */, Fi: EAGAIN}, + {Fz: ts + 37344 /* "ETIMEDOUT" */, Fi: ETIMEDOUT}, + {Fz: ts + 37354 /* "EBUSY" */, Fi: EBUSY}, + {Fz: ts + 37360 /* "EPERM" */, Fi: EPERM}, + {Fz: ts + 37366 /* "EDEADLK" */, Fi: EDEADLK}, + {Fz: ts + 37374 /* "ENOLCK" */, Fi: ENOLCK}, {}, } if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36626 /* "SYSCALL ERRNO" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37381 /* "SYSCALL ERRNO" */) return TCL_ERROR } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+36520 /* "system-call" */, 0, bp /* &iCall */) + *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+37275 /* "system-call" */, 0, bp /* &iCall */) if rc != TCL_OK { return rc } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+4 /* &aErrno[0] */, int32(unsafe.Sizeof(Errno{})), ts+36640 /* "errno" */, 0, bp+100 /* &iErrno */) + *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+4 /* &aErrno[0] */, int32(unsafe.Sizeof(Errno{})), ts+37395 /* "errno" */, 0, bp+100 /* &iErrno */) if rc != TCL_OK { return rc } @@ -76047,7 +77601,7 @@ func test_syscall_pagesize(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var pgsz int32 at bp+16, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36646 /* "PGSZ" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37401 /* "PGSZ" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+16 /* &pgsz */) != 0 { @@ -76056,17 +77610,17 @@ func test_syscall_pagesize(tls *libc.TLS, clientData uintptr, interp uintptr, ob if *(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) < 0 { if gSyscall.Forig_getpagesize != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 76 /* &.xSetSystemCall */))))(tls, pVfs, ts+36651 /* "getpagesize" */, gSyscall.Forig_getpagesize) + (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 76 /* &.xSetSystemCall */))))(tls, pVfs, ts+37406 /* "getpagesize" */, gSyscall.Forig_getpagesize) } } else { if (*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) < 512) || ((*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) - 1)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+36663 /* "pgsz out of rang..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37418 /* "pgsz out of rang..." */, 0)) return TCL_ERROR } - gSyscall.Forig_getpagesize = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 80 /* &.xGetSystemCall */))))(tls, pVfs, ts+36651 /* "getpagesize" */) + gSyscall.Forig_getpagesize = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 80 /* &.xGetSystemCall */))))(tls, pVfs, ts+37406 /* "getpagesize" */) gSyscall.Fpgsz = *(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 76 /* &.xSetSystemCall */))))(tls, - pVfs, ts+36651 /* "getpagesize" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{ts_getpagesize}))) + pVfs, ts+37406 /* "getpagesize" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{ts_getpagesize}))) } return TCL_OK @@ -76077,31 +77631,31 @@ func test_syscall(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(100) *(*[10]SyscallCmd)(unsafe.Pointer(bp + 16 /* aCmd */)) = [10]SyscallCmd{ - {FzName: ts + 36681 /* "fault" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37436 /* "fault" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_fault}))}, - {FzName: ts + 36687 /* "install" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37442 /* "install" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_install}))}, - {FzName: ts + 36695 /* "uninstall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37450 /* "uninstall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_uninstall}))}, {FzName: ts + 7379 /* "reset" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_reset}))}, - {FzName: ts + 36640 /* "errno" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37395 /* "errno" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_errno}))}, - {FzName: ts + 13196 /* "exists" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 13977 /* "exists" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_exists}))}, - {FzName: ts + 36705 /* "list" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37460 /* "list" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_list}))}, - {FzName: ts + 36710 /* "defaultvfs" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37465 /* "defaultvfs" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_defaultvfs}))}, - {FzName: ts + 36721 /* "pagesize" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37476 /* "pagesize" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_pagesize}))}, {}, @@ -76112,11 +77666,11 @@ func test_syscall(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var pVfs uintptr = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32418 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33180 /* "SUB-COMMAND ..." */) return TCL_ERROR } if ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion < 3) || ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall == uintptr(0)) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+36730 /* "VFS does not sup..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37485 /* "VFS does not sup..." */, 0)) rc = TCL_ERROR } else { rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, @@ -76138,7 +77692,7 @@ func SqlitetestSyscall_Init(tls *libc.TLS, interp uintptr) int32 { /* test_sysca defer tls.Free(8) *(*[1]SyscallCmd)(unsafe.Pointer(bp /* aCmd */)) = [1]SyscallCmd{ - {FzName: ts + 36766 /* "test_syscall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37521 /* "test_syscall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall}))}, } @@ -76178,7 +77732,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 } - if tcl.XTcl_GetCommandInfo(tls, interp, ts+13947 /* "sqlite3" */, bp+16 /* &cmdInfo */) == 0 { + if tcl.XTcl_GetCommandInfo(tls, interp, ts+14728 /* "sqlite3" */, bp+16 /* &cmdInfo */) == 0 { Sqlite3_Init(tls, interp) } Md5_Init(tls, interp) @@ -76215,6 +77769,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 Sqlitemultiplex_Init(tls, interp) SqliteSuperlock_Init(tls, interp) SqlitetestSyscall_Init(tls, interp) + TestSession_Init(tls, interp) Fts5tcl_Init(tls, interp) SqliteRbu_Init(tls, interp) Sqlitetesttcl_Init(tls, interp) @@ -76224,7 +77779,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 Sqlitetestvdbecov_Init(tls, interp) tcl.XTcl_CreateObjCommand(tls, - interp, ts+36779 /* "load_testfixture..." */, *(*uintptr)(unsafe.Pointer(&struct { + interp, ts+37534 /* "load_testfixture..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{load_testfixture_extensions})), uintptr(0), uintptr(0)) return uintptr(0) @@ -76234,7 +77789,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 func load_testfixture_extensions(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_tclsh.c:185:26: */ var slave uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36807 /* "SLAVE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+37562 /* "SLAVE" */) return TCL_ERROR } @@ -76376,7 +77931,7 @@ var zSchema = // Array index // Value // base(index) name -*(*[100]int8)(unsafe.Pointer(ts + 36813 /* "CREATE TABLE x( ..." */)) /* test_tclvar.c:88:21 */ +*(*[100]int8)(unsafe.Pointer(ts + 37568 /* "CREATE TABLE x( ..." */)) /* test_tclvar.c:88:21 */ // Note that for this virtual table, the xCreate and xConnect // methods are identical. @@ -76428,7 +77983,7 @@ func next2(tls *libc.TLS, interp uintptr, pCur uintptr, pObj uintptr) int32 { /* if pObj != 0 { if !(int32((*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2) != 0) { - p = tcl.XTcl_NewStringObj(tls, ts+36913 /* "array names" */, -1) + p = tcl.XTcl_NewStringObj(tls, ts+37668 /* "array names" */, -1) (*Tcl_Obj)(unsafe.Pointer(p)).FrefCount++ tcl.XTcl_ListObjAppendElement(tls, uintptr(0), p, pObj) tcl.XTcl_EvalObjEx(tls, interp, p, TCL_EVAL_GLOBAL) @@ -76489,7 +78044,7 @@ func tclvarNext(tls *libc.TLS, cur uintptr) int32 { /* test_tclvar.c:168:12: */ func tclvarFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* test_tclvar.c:188:12: */ var pCur uintptr = pVtabCursor var interp uintptr = (*tclvar_vtab)(unsafe.Pointer((*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab)).Finterp - var p uintptr = tcl.XTcl_NewStringObj(tls, ts+36925 /* "tclvar_filter_cm..." */, -1) + var p uintptr = tcl.XTcl_NewStringObj(tls, ts+37680 /* "tclvar_filter_cm..." */, -1) var zEq uintptr = ts + 489 /* "" */ var zMatch uintptr = ts + 489 /* "" */ @@ -76607,7 +78162,7 @@ func tclvarColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* t { var z3 uintptr if *(*uintptr)(unsafe.Pointer(bp + 20 /* p2 */)) != 0 { - z3 = sqlite3.Xsqlite3_mprintf(tls, ts+36943 /* "%s(%s)" */, libc.VaList(bp, z1, z2)) + z3 = sqlite3.Xsqlite3_mprintf(tls, ts+37698 /* "%s(%s)" */, libc.VaList(bp, z1, z2)) sqlite3.Xsqlite3_result_text(tls, ctx, z3, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) } else { sqlite3.Xsqlite3_result_text(tls, ctx, z1, -1, libc.UintptrFromInt32(-1)) @@ -76662,7 +78217,7 @@ func tclvarSetOmit(tls *libc.TLS, interp uintptr) int32 { /* test_tclvar.c:324:1 *(*int32)(unsafe.Pointer(bp /* res */)) = 0 var pRes uintptr rc = tcl.XTcl_Eval(tls, interp, - ts+36950 /* "expr {[info exis..." */) + ts+37705 /* "expr {[info exis..." */) if rc == TCL_OK { pRes = tcl.XTcl_GetObjResult(tls, interp) rc = tcl.XTcl_GetBooleanFromObj(tls, uintptr(0), pRes, bp /* &res */) @@ -76759,7 +78314,7 @@ func tclvarUpdate(tls *libc.TLS, tab uintptr, argc int32, argv uintptr, pRowid u var zValue uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4))) var zName uintptr if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 5*4))) != SQLITE_TEXT { - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37011 /* "the 'fullname' c..." */, 0) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37766 /* "the 'fullname' c..." */, 0) return SQLITE_ERROR } zName = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 5*4))) @@ -76785,7 +78340,7 @@ func tclvarUpdate(tls *libc.TLS, tab uintptr, argc int32, argv uintptr, pRowid u } return SQLITE_OK } - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37046 /* "prohibited TCL v..." */, 0) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37801 /* "prohibited TCL v..." */, 0) return SQLITE_ERROR } @@ -76822,10 +78377,10 @@ func register_tclvar_module(tls *libc.TLS, clientData ClientData, interp uintptr if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+29292 /* "tclvar" */, uintptr(unsafe.Pointer(&tclvarModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30054 /* "tclvar" */, uintptr(unsafe.Pointer(&tclvarModule)), interp) rc = tcl.XTcl_Eval(tls, interp, - ts+37077 /* "proc like {patte..." */) + ts+37832 /* "proc like {patte..." */) return rc } @@ -76848,7 +78403,7 @@ var aObjCmd13 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 37613 /* "register_tclvar_..." */, FxProc: 0}, + {FzName: ts + 38368 /* "register_tclvar_..." */, FxProc: 0}, } /* test_tclvar.c:552:5 */ // Define some macros helping to catch buffer overflows. @@ -76929,21 +78484,21 @@ func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) { /* test_thread.c:11 var p uintptr = pSqlThread interp = tcl.XTcl_CreateInterp(tls) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37636 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38391 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{clock_seconds_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37650 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38405 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_proc})), pSqlThread, uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37660 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38415 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_step_proc})), uintptr(0), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37682 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38437 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(1), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37710 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38465 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(0), uintptr(0)) Sqlitetest1_Init(tls, interp) @@ -76969,7 +78524,7 @@ func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) { /* test_thread.c:11 pList = tcl.XTcl_NewObj(tls) } - tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+37741 /* "set" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+38496 /* "set" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, (*SqlThread)(unsafe.Pointer(p)).FzVarname, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pList, pRes) postToParent(tls, p, pList) @@ -77037,7 +78592,7 @@ func sqlthread_spawn(tls *libc.TLS, clientData ClientData, interp uintptr, objc rc = tcl.XTcl_CreateThread(tls, bp+24 /* &x */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, ClientData) }{tclScriptThread})), pNew, nStack, flags) if rc != TCL_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37745 /* "Error in Tcl_Cre..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38500 /* "Error in Tcl_Cre..." */, 0)) tcl.XTcl_Free(tls, pNew) return TCL_ERROR } @@ -77067,7 +78622,7 @@ func sqlthread_parent(tls *libc.TLS, clientData ClientData, interp uintptr, objc _ = objc if p == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37773 /* "no parent thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38528 /* "no parent thread" */, 0)) return TCL_ERROR } @@ -77153,16 +78708,16 @@ func sqlthread_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc i FnArg int32 FzUsage uintptr }{ - {FzName: ts + 37790 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 38545 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_parent})), FnArg: 1, FzUsage: ts + 11583 /* "SCRIPT" */}, - {FzName: ts + 37797 /* "spawn" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_parent})), FnArg: 1, FzUsage: ts + 10650 /* "SCRIPT" */}, + {FzName: ts + 38552 /* "spawn" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_spawn})), FnArg: 2, FzUsage: ts + 37803 /* "VARNAME SCRIPT" */}, - {FzName: ts + 36407 /* "open" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_spawn})), FnArg: 2, FzUsage: ts + 38558 /* "VARNAME SCRIPT" */}, + {FzName: ts + 37162 /* "open" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_open})), FnArg: 1, FzUsage: ts + 37818 /* "DBNAME" */}, - {FzName: ts + 37825 /* "id" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_open})), FnArg: 1, FzUsage: ts + 38573 /* "DBNAME" */}, + {FzName: ts + 38580 /* "id" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_id})), FzUsage: ts + 489 /* "" */}, {}, @@ -77353,7 +78908,7 @@ func blocking_step_proc(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -77383,8 +78938,8 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, var isBlocking int32 = libc.BoolInt32(!(clientData == uintptr(0))) if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+80 /* &db */) != 0 { @@ -77409,7 +78964,7 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+37828 /* "%s " */, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+38583 /* "%s " */, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+96 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -77429,21 +78984,21 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, // Register commands with the TCL interpreter. func SqlitetestThread_Init(tls *libc.TLS, interp uintptr) int32 { /* test_thread.c:619:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+37650 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38405 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37636 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38391 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{clock_seconds_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37660 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38415 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_step_proc})), uintptr(0), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37682 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38437 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(1), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37710 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38465 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(0), uintptr(0)) return TCL_OK @@ -77560,13 +79115,13 @@ func tvfsResultCode(tls *libc.TLS, p uintptr, pRc uintptr) int32 { /* test_vfs.c *(*[9]errcode)(unsafe.Pointer(bp /* aCode */)) = [9]errcode{ {FzCode: ts + 1988 /* "SQLITE_OK" */}, {FeCode: SQLITE_ERROR, FzCode: ts + 1975 /* "SQLITE_ERROR" */}, - {FeCode: SQLITE_IOERR, FzCode: ts + 37832 /* "SQLITE_IOERR" */}, - {FeCode: SQLITE_LOCKED, FzCode: ts + 37845 /* "SQLITE_LOCKED" */}, - {FeCode: SQLITE_BUSY, FzCode: ts + 37859 /* "SQLITE_BUSY" */}, - {FeCode: SQLITE_READONLY, FzCode: ts + 37871 /* "SQLITE_READONLY" */}, - {FeCode: (SQLITE_READONLY | (int32(5) << 8)), FzCode: ts + 37887 /* "SQLITE_READONLY_..." */}, - {FeCode: SQLITE_NOTFOUND, FzCode: ts + 37912 /* "SQLITE_NOTFOUND" */}, - {FeCode: -1, FzCode: ts + 37928 /* "SQLITE_OMIT" */}, + {FeCode: SQLITE_IOERR, FzCode: ts + 38587 /* "SQLITE_IOERR" */}, + {FeCode: SQLITE_LOCKED, FzCode: ts + 38600 /* "SQLITE_LOCKED" */}, + {FeCode: SQLITE_BUSY, FzCode: ts + 38614 /* "SQLITE_BUSY" */}, + {FeCode: SQLITE_READONLY, FzCode: ts + 38626 /* "SQLITE_READONLY" */}, + {FeCode: (SQLITE_READONLY | (int32(5) << 8)), FzCode: ts + 38642 /* "SQLITE_READONLY_..." */}, + {FeCode: SQLITE_NOTFOUND, FzCode: ts + 38667 /* "SQLITE_NOTFOUND" */}, + {FeCode: -1, FzCode: ts + 38683 /* "SQLITE_OMIT" */}, } var z uintptr var i int32 @@ -77645,7 +79200,7 @@ func tvfsClose(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:317:12: */ var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_CLOSE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34930, /* "xClose" */ + tvfsExecTcl(tls, p, ts+35685, /* "xClose" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) } @@ -77676,7 +79231,7 @@ func tvfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqli var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_READ_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34937, /* "xRead" */ + tvfsExecTcl(tls, p, ts+35692, /* "xRead" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -77699,7 +79254,7 @@ func tvfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sql var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_WRITE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34943, /* "xWrite" */ + tvfsExecTcl(tls, p, ts+35698, /* "xWrite" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewWideIntObj(tls, iOfst), tcl.XTcl_NewIntObj(tls, iAmt)) tvfsResultCode(tls, p, bp /* &rc */) @@ -77731,7 +79286,7 @@ func tvfsTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 { /* te var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_TRUNCATE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34950, /* "xTruncate" */ + tvfsExecTcl(tls, p, ts+35705, /* "xTruncate" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -77756,26 +79311,26 @@ func tvfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* test_vfs.c:4 switch flags { case SQLITE_SYNC_NORMAL: - zFlags = ts + 16088 /* "normal" */ + zFlags = ts + 16869 /* "normal" */ break fallthrough case SQLITE_SYNC_FULL: - zFlags = ts + 17949 /* "full" */ + zFlags = ts + 18730 /* "full" */ break fallthrough case (SQLITE_SYNC_NORMAL | SQLITE_SYNC_DATAONLY): - zFlags = ts + 37940 /* "normal|dataonly" */ + zFlags = ts + 38695 /* "normal|dataonly" */ break fallthrough case (SQLITE_SYNC_FULL | SQLITE_SYNC_DATAONLY): - zFlags = ts + 37956 /* "full|dataonly" */ + zFlags = ts + 38711 /* "full|dataonly" */ break fallthrough default: } - tvfsExecTcl(tls, p, ts+27353, /* "xSync" */ + tvfsExecTcl(tls, p, ts+28129, /* "xSync" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewStringObj(tls, zFlags, -1), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) @@ -77809,7 +79364,7 @@ func tvfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c:4 // var zLock [30]int8 at bp+8, 30 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) - tvfsExecTcl(tls, p, ts+34970 /* "xLock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+35725 /* "xLock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, bp+8 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } return sqlite3.Xsqlite3OsLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, eLock) @@ -77826,7 +79381,7 @@ func tvfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c // var zLock [30]int8 at bp+8, 30 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) - tvfsExecTcl(tls, p, ts+34976 /* "xUnlock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+35731 /* "xUnlock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, bp+8 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } if (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_WRITE_MASK) != 0) && (tvfsInjectIoerr(tls, p) != 0) { @@ -77840,7 +79395,7 @@ func tvfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_CKLOCK_MASK) != 0) { - tvfsExecTcl(tls, p, ts+37970 /* "xCheckReservedLo..." */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+38725 /* "xCheckReservedLo..." */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) } return sqlite3.Xsqlite3OsCheckReservedLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, pResOut) @@ -77882,9 +79437,9 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_FCNTL_MASK) != 0) { *(*[3]Fcntl)(unsafe.Pointer(bp + 16 /* aF */)) = [3]Fcntl{ - {FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 37989 /* "BEGIN_ATOMIC_WRI..." */}, - {FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 38008 /* "COMMIT_ATOMIC_WR..." */}, - {FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 38028 /* "ZIPVFS" */}, + {FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 38744 /* "BEGIN_ATOMIC_WRI..." */}, + {FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 38763 /* "COMMIT_ATOMIC_WR..." */}, + {FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 38783 /* "ZIPVFS" */}, } var i int32 for i = 0; uint32(i) < (uint32(unsafe.Sizeof([3]Fcntl{})) / uint32(unsafe.Sizeof(Fcntl{}))); i++ { @@ -77894,7 +79449,7 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } if uint32(i) < (uint32(unsafe.Sizeof([3]Fcntl{})) / uint32(unsafe.Sizeof(Fcntl{}))) { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = 0 - tvfsExecTcl(tls, p, ts+34998, /* "xFileControl" */ + tvfsExecTcl(tls, p, ts+35753, /* "xFileControl" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, (*Fcntl)(unsafe.Pointer(bp+16 /* &aF */ +uintptr(i)*8)).FzFnctl, -1), uintptr(0), uintptr(0)) @@ -77980,7 +79535,7 @@ func tvfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i z += (uintptr(libc.Xstrlen(tls, z) + size_t(1))) } } - tvfsExecTcl(tls, p, ts+26925 /* "xOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), pArg, uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+27701 /* "xOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), pArg, uintptr(0), uintptr(0)) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pArg if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -78007,7 +79562,7 @@ func tvfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i } if !(pId != 0) { - pId = tcl.XTcl_NewStringObj(tls, ts+38035 /* "anon" */, -1) + pId = tcl.XTcl_NewStringObj(tls, ts+38790 /* "anon" */, -1) } (*Tcl_Obj)(unsafe.Pointer(pId)).FrefCount++ (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId = pId @@ -78053,7 +79608,7 @@ func tvfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 var p uintptr = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_DELETE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35035, /* "xDelete" */ + tvfsExecTcl(tls, p, ts+35790, /* "xDelete" */ tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewIntObj(tls, dirSync), uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -78075,15 +79630,15 @@ func tvfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut var zArg uintptr = uintptr(0) if flags == SQLITE_ACCESS_EXISTS { - zArg = ts + 38040 /* "SQLITE_ACCESS_EX..." */ + zArg = ts + 38795 /* "SQLITE_ACCESS_EX..." */ } if flags == SQLITE_ACCESS_READWRITE { - zArg = ts + 38061 /* "SQLITE_ACCESS_RE..." */ + zArg = ts + 38816 /* "SQLITE_ACCESS_RE..." */ } if flags == SQLITE_ACCESS_READ { - zArg = ts + 38085 /* "SQLITE_ACCESS_RE..." */ + zArg = ts + 38840 /* "SQLITE_ACCESS_RE..." */ } - tvfsExecTcl(tls, p, ts+35043, /* "xAccess" */ + tvfsExecTcl(tls, p, ts+35798, /* "xAccess" */ tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewStringObj(tls, zArg, -1), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { @@ -78110,7 +79665,7 @@ func tvfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_FULLPATHNAME_MASK) != 0) { // var rc int32 at bp, 4 - tvfsExecTcl(tls, p, ts+35051 /* "xFullPathname" */, tcl.XTcl_NewStringObj(tls, zPath, -1), uintptr(0), uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+35806 /* "xFullPathname" */, tcl.XTcl_NewStringObj(tls, zPath, -1), uintptr(0), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -78154,7 +79709,7 @@ func tvfsShmOpen(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:827:12: */ // SCRIPT xShmOpen FILENAME tcl.XTcl_ResetResult(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp) if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMOPEN_MASK) != 0) { - tvfsExecTcl(tls, p, ts+38104 /* "xShmOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+38859 /* "xShmOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -78225,7 +79780,7 @@ func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite i tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, iPage)) tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, pgsz)) tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, isWrite)) - tvfsExecTcl(tls, p, ts+35128, /* "xShmMap" */ + tvfsExecTcl(tls, p, ts+35883, /* "xShmMap" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, pArg, uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) for ok := true; ok; ok = 0 != 0 { @@ -78265,20 +79820,20 @@ func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMLOCK_MASK) != 0) { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+16 /* &zLock[0] */, ts+17484 /* "%d %d" */, libc.VaList(bp, ofst, n)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+16 /* &zLock[0] */, ts+18265 /* "%d %d" */, libc.VaList(bp, ofst, n)) nLock = int32(libc.Xstrlen(tls, bp+16 /* &zLock[0] */)) if (flags & SQLITE_SHM_LOCK) != 0 { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38113 /* " lock" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38868 /* " lock" */) } else { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38119 /* " unlock" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38874 /* " unlock" */) } nLock = nLock + (int32(libc.Xstrlen(tls, (bp + 16 /* &zLock */ + uintptr(nLock))))) if (flags & SQLITE_SHM_SHARED) != 0 { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38127 /* " shared" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38882 /* " shared" */) } else { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38135 /* " exclusive" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38890 /* " exclusive" */) } - tvfsExecTcl(tls, p, ts+35107, /* "xShmLock" */ + tvfsExecTcl(tls, p, ts+35862, /* "xShmLock" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewStringObj(tls, bp+16 /* &zLock[0] */, -1), uintptr(0)) tvfsResultCode(tls, p, bp+96 /* &rc */) @@ -78335,7 +79890,7 @@ func tvfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_vfs.c:1004:13: */ } else { z = ts + 489 /* "" */ } - tvfsExecTcl(tls, p, ts+35116 /* "xShmBarrier" */, tcl.XTcl_NewStringObj(tls, z, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+35871 /* "xShmBarrier" */, tcl.XTcl_NewStringObj(tls, z, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) } if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { @@ -78365,7 +79920,7 @@ func tvfsShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* tes } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMCLOSE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35097, /* "xShmUnmap" */ + tvfsExecTcl(tls, p, ts+35852, /* "xShmUnmap" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -78408,15 +79963,15 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o var p uintptr = cd *(*[10]TestvfsSubcmd)(unsafe.Pointer(bp + 96 /* aSubcmd */)) = [10]TestvfsSubcmd{ - {FzName: ts + 38146 /* "shm" */}, - {FzName: ts + 38150 /* "delete" */, FeCmd: uint32(1) /* CMD_DELETE */}, - {FzName: ts + 38157 /* "filter" */, FeCmd: uint32(2) /* CMD_FILTER */}, - {FzName: ts + 38164 /* "ioerr" */, FeCmd: uint32(3) /* CMD_IOERR */}, - {FzName: ts + 38170 /* "fullerr" */, FeCmd: uint32(7) /* CMD_FULLERR */}, - {FzName: ts + 38178 /* "cantopenerr" */, FeCmd: uint32(8) /* CMD_CANTOPENERR */}, - {FzName: ts + 38190 /* "script" */, FeCmd: uint32(4) /* CMD_SCRIPT */}, - {FzName: ts + 38197 /* "devchar" */, FeCmd: uint32(5) /* CMD_DEVCHAR */}, - {FzName: ts + 38205 /* "sectorsize" */, FeCmd: uint32(6) /* CMD_SECTORSIZE */}, + {FzName: ts + 38901 /* "shm" */}, + {FzName: ts + 10601 /* "delete" */, FeCmd: uint32(1) /* CMD_DELETE */}, + {FzName: ts + 38905 /* "filter" */, FeCmd: uint32(2) /* CMD_FILTER */}, + {FzName: ts + 38912 /* "ioerr" */, FeCmd: uint32(3) /* CMD_IOERR */}, + {FzName: ts + 38918 /* "fullerr" */, FeCmd: uint32(7) /* CMD_FULLERR */}, + {FzName: ts + 38926 /* "cantopenerr" */, FeCmd: uint32(8) /* CMD_CANTOPENERR */}, + {FzName: ts + 38938 /* "script" */, FeCmd: uint32(4) /* CMD_SCRIPT */}, + {FzName: ts + 38945 /* "devchar" */, FeCmd: uint32(5) /* CMD_DEVCHAR */}, + {FzName: ts + 38953 /* "sectorsize" */, FeCmd: uint32(6) /* CMD_SECTORSIZE */}, {}, } // var i int32 at bp+176, 4 @@ -78426,7 +79981,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+96 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+38216 /* "subcommand" */, 0, bp+176 /* &i */) != 0 { + interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+96 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+38964 /* "subcommand" */, 0, bp+176 /* &i */) != 0 { return TCL_ERROR } tcl.XTcl_ResetResult(tls, interp) @@ -78439,7 +79994,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o var pBuffer uintptr var zName uintptr if (objc != 3) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38227 /* "FILE ?VALUE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38975 /* "FILE ?VALUE?" */) return TCL_ERROR } zName = tcl.XTcl_Alloc(tls, uint32((*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname)) @@ -78447,7 +80002,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o (*Testvfs)(unsafe.Pointer(p)).FpParent, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), (*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname, zName) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38240, /* "failed to get fu..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38988, /* "failed to get fu..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) tcl.XTcl_Free(tls, zName) return TCL_ERROR @@ -78459,7 +80014,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } tcl.XTcl_Free(tls, zName) if !(pBuffer != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+38266 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+39014 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) return TCL_ERROR } if objc == 4 { @@ -78502,7 +80057,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o *(*int32)(unsafe.Pointer(bp + 184 /* nElem */)) = 0 var mask int32 = 0 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+31855 /* "LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+32617 /* "LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+184 /* &nElem */, bp+188 /* &apElem */) != 0 { @@ -78519,7 +80074,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } } if iMethod == (int32(uint32(unsafe.Sizeof(vfsmethod)) / uint32(unsafe.Sizeof(VfsMethod{})))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+38281 /* "unknown method: " */, zElem, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+39029 /* "unknown method: " */, zElem, 0)) return TCL_ERROR } } @@ -78552,7 +80107,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o (*Tcl_Obj)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpScript)).FrefCount++ } } else if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) return TCL_ERROR } @@ -78611,7 +80166,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o }() (*TestFaultInject)(unsafe.Pointer(pTest)).FiCnt = *(*int32)(unsafe.Pointer(bp + 196 /* iCnt */)) } else if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38298 /* "?CNT PERSIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39046 /* "?CNT PERSIST?" */) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iRet)) @@ -78629,28 +80184,28 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(5) /* CMD_DEVCHAR */ : { *(*[16]DeviceFlag)(unsafe.Pointer(bp + 212 /* aFlag */)) = [16]DeviceFlag{ - {FzName: ts + 38312 /* "default" */, FiValue: -1}, - {FzName: ts + 25907 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, - {FzName: ts + 25914 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, - {FzName: ts + 25924 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, - {FzName: ts + 25933 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, - {FzName: ts + 25942 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, - {FzName: ts + 25951 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, - {FzName: ts + 25960 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, - {FzName: ts + 25970 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, - {FzName: ts + 25980 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, - {FzName: ts + 25990 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, - {FzName: ts + 26001 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, - {FzName: ts + 38320 /* "undeletable_when..." */, FiValue: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN}, - {FzName: ts + 26013 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, - {FzName: ts + 38342 /* "immutable" */, FiValue: SQLITE_IOCAP_IMMUTABLE}, + {FzName: ts + 39060 /* "default" */, FiValue: -1}, + {FzName: ts + 26683 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, + {FzName: ts + 26690 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, + {FzName: ts + 26700 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, + {FzName: ts + 26709 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, + {FzName: ts + 26718 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, + {FzName: ts + 26727 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, + {FzName: ts + 26736 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, + {FzName: ts + 26746 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, + {FzName: ts + 26756 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, + {FzName: ts + 26766 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, + {FzName: ts + 26777 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, + {FzName: ts + 39068 /* "undeletable_when..." */, FiValue: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN}, + {FzName: ts + 26789 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, + {FzName: ts + 39090 /* "immutable" */, FiValue: SQLITE_IOCAP_IMMUTABLE}, {}, } var pRet uintptr var iFlag int32 if objc > 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38352 /* "?ATTR-LIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39100 /* "?ATTR-LIST?" */) return TCL_ERROR } if objc == 3 { @@ -78666,11 +80221,11 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o for j = 0; j < *(*int32)(unsafe.Pointer(bp + 204 /* nFlags */)); j++ { *(*int32)(unsafe.Pointer(bp + 340 /* idx */)) = 0 if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 208 /* flags */)) + uintptr(j)*4)), bp+212, /* &aFlag[0] */ - int32(unsafe.Sizeof(DeviceFlag{})), ts+17204 /* "flag" */, 0, bp+340 /* &idx */) != 0 { + int32(unsafe.Sizeof(DeviceFlag{})), ts+17985 /* "flag" */, 0, bp+340 /* &idx */) != 0 { return TCL_ERROR } if ((*DeviceFlag)(unsafe.Pointer(bp+212 /* &aFlag */ +uintptr(*(*int32)(unsafe.Pointer(bp + 340 /* idx */)))*8)).FiValue < 0) && (*(*int32)(unsafe.Pointer(bp + 204 /* nFlags */)) > 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+38364 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+39112 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) return TCL_ERROR } iNew = iNew | ((*DeviceFlag)(unsafe.Pointer(bp + 212 /* &aFlag */ + uintptr(*(*int32)(unsafe.Pointer(bp + 340 /* idx */)))*8)).FiValue) @@ -78695,7 +80250,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(6) /* CMD_SECTORSIZE */ : { if objc > 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38376 /* "?VALUE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39124 /* "?VALUE?" */) return TCL_ERROR } if objc == 3 { @@ -78725,24 +80280,24 @@ type VfsMethod = struct { } /* test_vfs.c:1179:14 */ var vfsmethod = [18]VfsMethod{ - {FzName: ts + 38104 /* "xShmOpen" */, Fmask: TESTVFS_SHMOPEN_MASK}, - {FzName: ts + 35107 /* "xShmLock" */, Fmask: TESTVFS_SHMLOCK_MASK}, - {FzName: ts + 35116 /* "xShmBarrier" */, Fmask: TESTVFS_SHMBARRIER_MASK}, - {FzName: ts + 35097 /* "xShmUnmap" */, Fmask: TESTVFS_SHMCLOSE_MASK}, - {FzName: ts + 35128 /* "xShmMap" */, Fmask: TESTVFS_SHMMAP_MASK}, - {FzName: ts + 27353 /* "xSync" */, Fmask: TESTVFS_SYNC_MASK}, - {FzName: ts + 35035 /* "xDelete" */, Fmask: TESTVFS_DELETE_MASK}, - {FzName: ts + 34943 /* "xWrite" */, Fmask: TESTVFS_WRITE_MASK}, - {FzName: ts + 34937 /* "xRead" */, Fmask: TESTVFS_READ_MASK}, - {FzName: ts + 34950 /* "xTruncate" */, Fmask: TESTVFS_TRUNCATE_MASK}, - {FzName: ts + 26925 /* "xOpen" */, Fmask: TESTVFS_OPEN_MASK}, - {FzName: ts + 34930 /* "xClose" */, Fmask: TESTVFS_CLOSE_MASK}, - {FzName: ts + 35043 /* "xAccess" */, Fmask: TESTVFS_ACCESS_MASK}, - {FzName: ts + 35051 /* "xFullPathname" */, Fmask: TESTVFS_FULLPATHNAME_MASK}, - {FzName: ts + 34976 /* "xUnlock" */, Fmask: TESTVFS_UNLOCK_MASK}, - {FzName: ts + 34970 /* "xLock" */, Fmask: TESTVFS_LOCK_MASK}, - {FzName: ts + 37970 /* "xCheckReservedLo..." */, Fmask: TESTVFS_CKLOCK_MASK}, - {FzName: ts + 34998 /* "xFileControl" */, Fmask: TESTVFS_FCNTL_MASK}, + {FzName: ts + 38859 /* "xShmOpen" */, Fmask: TESTVFS_SHMOPEN_MASK}, + {FzName: ts + 35862 /* "xShmLock" */, Fmask: TESTVFS_SHMLOCK_MASK}, + {FzName: ts + 35871 /* "xShmBarrier" */, Fmask: TESTVFS_SHMBARRIER_MASK}, + {FzName: ts + 35852 /* "xShmUnmap" */, Fmask: TESTVFS_SHMCLOSE_MASK}, + {FzName: ts + 35883 /* "xShmMap" */, Fmask: TESTVFS_SHMMAP_MASK}, + {FzName: ts + 28129 /* "xSync" */, Fmask: TESTVFS_SYNC_MASK}, + {FzName: ts + 35790 /* "xDelete" */, Fmask: TESTVFS_DELETE_MASK}, + {FzName: ts + 35698 /* "xWrite" */, Fmask: TESTVFS_WRITE_MASK}, + {FzName: ts + 35692 /* "xRead" */, Fmask: TESTVFS_READ_MASK}, + {FzName: ts + 35705 /* "xTruncate" */, Fmask: TESTVFS_TRUNCATE_MASK}, + {FzName: ts + 27701 /* "xOpen" */, Fmask: TESTVFS_OPEN_MASK}, + {FzName: ts + 35685 /* "xClose" */, Fmask: TESTVFS_CLOSE_MASK}, + {FzName: ts + 35798 /* "xAccess" */, Fmask: TESTVFS_ACCESS_MASK}, + {FzName: ts + 35806 /* "xFullPathname" */, Fmask: TESTVFS_FULLPATHNAME_MASK}, + {FzName: ts + 35731 /* "xUnlock" */, Fmask: TESTVFS_UNLOCK_MASK}, + {FzName: ts + 35725 /* "xLock" */, Fmask: TESTVFS_LOCK_MASK}, + {FzName: ts + 38725 /* "xCheckReservedLo..." */, Fmask: TESTVFS_CKLOCK_MASK}, + {FzName: ts + 35753 /* "xFileControl" */, Fmask: TESTVFS_FCNTL_MASK}, } /* test_vfs.c:1182:9 */ func testvfs_obj_del(tls *libc.TLS, cd ClientData) { /* test_vfs.c:1393:27: */ @@ -78840,7 +80395,7 @@ __2: } zSwitch = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp /* &nSwitch */) - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38384 /* "-noshm" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39132 /* "-noshm" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __5 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*4)), bp+4 /* &isNoshm */) != 0) { @@ -78857,7 +80412,7 @@ __8: ; goto __6 __5: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+26283 /* "-default" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+27059 /* "-default" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __9 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*4)), bp+8 /* &isDefault */) != 0) { @@ -78868,7 +80423,7 @@ __11: ; goto __10 __9: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38391 /* "-szosfile" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39139 /* "-szosfile" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __12 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*4)), bp+12 /* &szOsFile */) != 0) { @@ -78879,7 +80434,7 @@ __14: ; goto __13 __12: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38401 /* "-mxpathname" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39149 /* "-mxpathname" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __15 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*4)), bp+16 /* &mxPathname */) != 0) { @@ -78890,7 +80445,7 @@ __17: ; goto __16 __15: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38413 /* "-iversion" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39161 /* "-iversion" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __18 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*4)), bp+20 /* &iVersion */) != 0) { @@ -78901,7 +80456,7 @@ __20: ; goto __19 __18: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38423 /* "-fullshm" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39171 /* "-fullshm" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __21 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*4)), bp+24 /* &isFullshm */) != 0) { @@ -78990,7 +80545,7 @@ __26: return TCL_OK bad_args: - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38432 /* "VFSNAME ?-noshm ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39180 /* "VFSNAME ?-noshm ..." */) return TCL_ERROR } @@ -79010,8 +80565,8 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in bp := tls.Alloc(48) defer tls.Free(48) - *(*[3]uintptr)(unsafe.Pointer(bp + 4 /* azArg1 */)) = [3]uintptr{ts + 38536 /* "shared" */, ts + 13658 /* "exclusive" */, uintptr(0)} - *(*[3]uintptr)(unsafe.Pointer(bp + 20 /* azArg2 */)) = [3]uintptr{ts + 38543 /* "lock" */, ts + 38548 /* "unlock" */, uintptr(0)} + *(*[3]uintptr)(unsafe.Pointer(bp + 4 /* azArg1 */)) = [3]uintptr{ts + 39284 /* "shared" */, ts + 14439 /* "exclusive" */, uintptr(0)} + *(*[3]uintptr)(unsafe.Pointer(bp + 20 /* azArg2 */)) = [3]uintptr{ts + 39291 /* "lock" */, ts + 39296 /* "unlock" */, uintptr(0)} *(*uintptr)(unsafe.Pointer(bp /* db */)) = uintptr(0) var rc int32 = SQLITE_OK var zDbname uintptr = uintptr(0) @@ -79023,14 +80578,14 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in if objc != 7 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+38555 /* "DB DBNAME (share..." */) + ts+39303 /* "DB DBNAME (share..." */) return TCL_ERROR } zDbname = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) if ((((getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0) || - (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+4 /* &azArg1[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+38607 /* "ARG" */, 0, bp+16 /* &iArg1 */) != 0)) || - (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*4)), bp+20 /* &azArg2[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+38607 /* "ARG" */, 0, bp+32 /* &iArg2 */) != 0)) || + (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+4 /* &azArg1[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+39355 /* "ARG" */, 0, bp+16 /* &iArg1 */) != 0)) || + (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*4)), bp+20 /* &azArg2[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+39355 /* "ARG" */, 0, bp+32 /* &iArg2 */) != 0)) || (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*4)), bp+36 /* &iOffset */) != 0)) || (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 6*4)), bp+40 /* &n */) != 0) { return TCL_ERROR @@ -79073,7 +80628,7 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob var iOff int32 if (objc != 4) && (objc != 5) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38611 /* "DB DBNAME SLOT ?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39359 /* "DB DBNAME SLOT ?..." */) return TCL_ERROR } @@ -79094,7 +80649,7 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob return TCL_ERROR } if libc.AtomicLoadPUintptr(bp+32 /* pShm */) == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38634 /* "*-shm is not yet..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+39382 /* "*-shm is not yet..." */, 0)) return TCL_ERROR } aShm = libc.AtomicLoadPUintptr(bp + 32 /* pShm */) @@ -79109,13 +80664,13 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob } func Sqlitetestvfs_Init(tls *libc.TLS, interp uintptr) int32 { /* test_vfs.c:1685:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+38658 /* "testvfs" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39406 /* "testvfs" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{testvfs_cmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+38666 /* "vfs_shmlock" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39414 /* "vfs_shmlock" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfs_shmlock})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+38678 /* "vfs_set_readmark" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39426 /* "vfs_set_readmark" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfs_set_readmark})), uintptr(0), uintptr(0)) return TCL_OK @@ -79278,7 +80833,7 @@ func test_create_window(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 7 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38695 /* "DB NAME XSTEP XF..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39443 /* "DB NAME XSTEP XF..." */) return TCL_ERROR } @@ -79336,7 +80891,7 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowInverse})), @@ -79347,7 +80902,7 @@ __2: goto error __3: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct { @@ -79360,7 +80915,7 @@ __3: goto error __4: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { @@ -79373,7 +80928,7 @@ __4: goto error __5: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), uintptr(0), @@ -79388,7 +80943,7 @@ __6: return TCL_OK error: - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+38736 /* "misuse test erro..." */, -1)) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+39484 /* "misuse test erro..." */, -1)) return TCL_ERROR } @@ -79397,7 +80952,7 @@ func sumintStep(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* test var pInt uintptr if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_INTEGER { - sqlite3.Xsqlite3_result_error(tls, ctx, ts+38754 /* "invalid argument" */, -1) + sqlite3.Xsqlite3_result_error(tls, ctx, ts+39502 /* "invalid argument" */, -1) return } pInt = sqlite3.Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(sqlite3_int64(0)))) @@ -79451,7 +81006,7 @@ func test_create_sumint(tls *libc.TLS, clientData uintptr, interp uintptr, objc return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38771 /* "sumint" */, 1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39519 /* "sumint" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintValue})), *(*uintptr)(unsafe.Pointer(&struct { @@ -79482,7 +81037,7 @@ func test_override_sum(tls *libc.TLS, clientData uintptr, interp uintptr, objc i return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38778 /* "sum" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39526 /* "sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal}))) @@ -79512,10 +81067,10 @@ var aObjCmd14 = [4]struct { FxProc uintptr FclientData int32 }{ - {FzName: ts + 38782 /* "sqlite3_create_w..." */, FxProc: 0}, - {FzName: ts + 38813 /* "test_create_wind..." */, FxProc: 0}, - {FzName: ts + 38848 /* "test_create_sumi..." */, FxProc: 0}, - {FzName: ts + 38867 /* "test_override_su..." */, FxProc: 0}, + {FzName: ts + 39530 /* "sqlite3_create_w..." */, FxProc: 0}, + {FzName: ts + 39561 /* "test_create_wind..." */, FxProc: 0}, + {FzName: ts + 39596 /* "test_create_sumi..." */, FxProc: 0}, + {FzName: ts + 39615 /* "test_override_su..." */, FxProc: 0}, } /* test_window.c:336:5 */ // 2008 September 1 @@ -80906,5 +82461,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&zipfileModule)) + 72 /* .xFindFunction */)) = zipfileFindFunction // zipfile.c:2167:5: } -var ts1 = "%s\x00internal error!\x00SELECT * FROM main.%Q WHERE sample()\x00expert\x00PRAGMA table_xinfo=%Q\x00main\x00, \x00%Q\x00 COLLATE %Q\x00 COLLATE %s\x00 DESC\x00PRAGMA index_list=%Q\x00PRAGMA index_xInfo=%Q\x00%s_idx_%08x\x00CREATE INDEX '%q' ON %Q(%s)\x00CREATE INDEX %s ON %s(%s)\x00EXPLAIN QUERY PLAN %s\x00 USING INDEX \x00 USING COVERING INDEX \x00%s\n\x00%s;\n\x00SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_schema WHERE tbl_name = %Q AND type IN ('table', 'trigger') ORDER BY type;\x00ALTER TABLE temp.%Q RENAME TO %Q\x00INSERT INTO %Q VALUES(\x00%s?\x00\x00)\x00UPDATE %Q SET \x00%s%Q=?\x00DELETE FROM %Q\x00t592690916721053953805701627921227776\x00DROP TABLE t592690916721053953805701627921227776\x00SELECT type, name, sql, 1 FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%' UNION ALL SELECT type, name, sql, 2 FROM sqlite_schema WHERE type = 'trigger' AND tbl_name IN(SELECT name FROM sqlite_schema WHERE type = 'view') ORDER BY 4, 1\x00CREATE TABLE x(\x00%s%Q COLLATE %s\x00CREATE VIRTUAL TABLE %Q USING expert(%Q)\x00SELECT max(i.seqno) FROM sqlite_schema AS s, pragma_index_list(s.name) AS l, pragma_index_info(l.name) AS i WHERE s.type = 'table'\x00%sx.%Q IS rem(%d, x.%Q) COLLATE %s\x00%s%d\x00SELECT %s FROM %Q x ORDER BY %s\x00SELECT %s FROM temp.t592690916721053953805701627921227776 x ORDER BY %s\x00%d\x00 %d\x00DROP TABLE IF EXISTS temp.t592690916721053953805701627921227776\x00CREATE TABLE temp.t592690916721053953805701627921227776 AS SELECT * FROM %Q\x00SELECT s.rowid, s.name, l.name FROM sqlite_schema AS s, pragma_index_list(s.name) AS l WHERE s.type = 'table'\x00SELECT name, coll FROM pragma_index_xinfo(?) WHERE key\x00INSERT INTO sqlite_stat1 VALUES(?, ?, ?)\x00ANALYZE; PRAGMA writable_schema=1\x00rem\x00sample\x00ANALYZE sqlite_schema\x00:memory:\x00SELECT sql FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%%' AND sql NOT LIKE 'CREATE VIRTUAL %%'\x00%s;%s%s\n\x00 -- stat1: \x00no such handle: \x00sql\x00TABLE\x00analyze\x00count\x00report\x00STMT EREPORT\x00destroy\x00SUBCOMMAND ...\x00sub-command\x00indexes\x00plan\x00candidates\x00DB\x00sqlite3expert%d\x00out of memory\x00sqlite3_expert_new\x00SQLITE_DONE\x00SQLITE_ERROR\x00SQLITE_OK\x00SELECT fts5(?1)\x00error: \x00fts5_api_ptr\x00f5t_2_%lld\x00xColumnCount\x00xRowCount\x00xColumnTotalSize\x00COL\x00xTokenize\x00TEXT SCRIPT\x00xPhraseCount\x00xPhraseSize\x00PHRASE\x00xInstCount\x00xInst\x00IDX\x00xRowid\x00xColumnText\x00xColumnSize\x00xQueryPhrase\x00PHRASE SCRIPT\x00xSetAuxdata\x00VALUE\x00xGetAuxdata\x00CLEAR\x00xSetAuxdataInt\x00INTEGER\x00xGetAuxdataInt\x00xPhraseForeach\x00IPHRASE COLVAR OFFVAR SCRIPT\x00xPhraseColumnForeach\x00IPHRASE COLVAR SCRIPT\x00SUB-COMMAND\x00f5t_%lld\x00bytearray\x00boolean\x00double\x00wideInt\x00int\x00DB NAME SCRIPT\x00?-subst? DB NAME TEXT\x00-subst\x00unrecognized option: \x00no such tokenizer: \x00error in tokenizer.xCreate()\x00error in tokenizer.xTokenize()\x00document\x00aux\x00query\x00prefixquery\x00invalid\x00-colocated\x00sqlite3_fts5_token may only be used by tokenizer callback\x00?-colocated? TEXT START END\x00error in fts5_api.xCreateTokenizer()\x00NSLOT TOKEN\x00sqlite3_fts5_create_tokenizer\x00sqlite3_fts5_token\x00sqlite3_fts5_tokenize\x00sqlite3_fts5_create_function\x00sqlite3_fts5_may_be_corrupt\x00sqlite3_fts5_token_hash\x00sqlite3_fts5_register_matchinfo\x00sqlite3_fts5_register_fts5tokenize\x00unrecognized matchinfo flag: %c\x00pcx\x00matchinfo\x00CREATE TABLE x(input HIDDEN, token, start, end, position)\x00fts5tokenize\x00apndvfs\x00Start-Of-SQLite3-\x00apnd(%lld)/%z\x00SQLite format 3\x00%s: cost must be between 1 and %d\x00%s: maximum string length is %d\x00%s: iLang must be between 0 and %d\x00?\x00SELECT * FROM %Q.%Q\x00%s: %s\x00%s: %s has %d columns, expected 4\x00vocabulary_table\x00vocabulary_word\x00vocabulary_language\x00edit_distances\x00unrecognized argument: [%s]\n\x00no edit_distances table specified\x00CREATE TABLE x(word,distance,language,command HIDDEN,nword HIDDEN)\x000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^abcdefghijklmnopqrstuvwxyz~\x00SELECT \"%w\" FROM \"%w\"\x00 WHERE \"%w\">=?1 AND \"%w\"=?2 ORDER BY 1\x00SELECT \"%w\" FROM \"%w\" WHERE \"%w\">=?1 ORDER BY 1\x00*\x00DELETE from %s is not allowed\x00UPDATE of %s is not allowed\x00INSERT INTO %s allowed for column [command] only\x00approximate_match\x00int32\x00int64\x00char*\x00CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)\x00carray-bind\x00carray\x00unknown datatype: %Q\x00inttoptr\x00cksmvfs\x00ZV-\x00checksum fault offset %lld of \"%s\"\x00checksum_verification\x00enable%\x00yes\x00on\x00page_size\x00cksm/%z\x00verify_checksum\x00tablename\x00idcolumn\x00parentcolumn\x00CREATE TABLE x(id,depth,root HIDDEN,tablename HIDDEN,idcolumn HIDDEN,parentcolumn HIDDEN)\x00SELECT \"%w\".\"%w\" FROM \"%w\" WHERE \"%w\".\"%w\"=?1\x00transitive_closure\x00rb\x00cannot open '%s' for reading\x00line %d: unescaped %c character\x00line %d: unterminated %c-quoted field\n\x00more than one '%s' parameter\x00true\x00no\x00off\x00false\x00header\x00more than one 'header' parameter\x00testflags\x00columns\x00more than one 'columns' parameter\x00column= value must be positive\x00bad parameter: '%s'\x00must specify either filename= or data= but not both\x00%sc%d TEXT\x00,\x00%s\"%w\" TEXT\x00bad schema: '%s' - %s\x00filename\x00data\x00schema\x00csv\x00csv_wr\x00decimal_sum\x00decimal\x00decimal_cmp\x00decimal_add\x00decimal_sub\x00decimal_mul\x00 \x00eval\x00CREATE TABLE x(addr,opcode,p1,p2,p3,p4,p5,comment,sql HIDDEN)\x00EXPLAIN %s\x00explain\x00wb\x00wrong number of arguments to function writefile()\x00failed to create symlink: %s\x00failed to create directory: %s\x00failed to write file: %s\x00CREATE TABLE x(name,mode,mtime,data,path HIDDEN,dir HIDDEN)\x00cannot read directory: %s\x00%s/%s\x00cannot stat file: %s\x00table function fsdir requires an argument\x00table function fsdir requires a non-NULL argument\x00fsdir\x00readfile\x00writefile\x00lsmode\x00%s: ruleset must be between 0 and %d\x00%s: wrong number of CREATE VIRTUAL TABLE arguments\x00CREATE TABLE x(word,distance,ruleset)\x00fuzzer\x00ieee754(%lld,%d)\x00ieee754\x00ieee754_mantissa\x00ieee754_exponent\x00ieee754_to_blob\x00ieee754_from_blob\x00BEGIN; SELECT * FROM %s%q%ssqlite_schema\x00'\x00'.\x00PRAGMA %s%q%spage_size\x00sqlite3_mmap_warm_cache: Warmed up %d pages of %s\x00END\x00AND (%s)\x00collate \"%w\"\x00SELECT %s FROM %s WHERE %s>=(?1 || ?2) %s AND %s<=(?1 || char(1114111)) %s %s ORDER BY 1 %s ASC LIMIT 1\x00next_char\x00NULL\x00is\x00not\x00in(\x00in(select\x00in(with\x00?,?,?\x002nd argument to percentile() is not a number between 0.0 and 100.0\x002nd argument to percentile() is not the same for all input rows\x001st argument to percentile() is not numeric\x00Inf input to percentile()\x00percentile\x00CREATE TABLE prefixes(prefix TEXT, original_string TEXT HIDDEN)\x00prefixes\x00prefix_length\x00unknown \\ escape\x00afnrtv\\()*.+?[$^{|}]\x00\a\f\n\r\t\v\x00unmatched '('\x00'*' without operand\x00'+' without operand\x00'?' without operand\x00'{m,n}' without operand\x00unmatched '{'\x00n less than m in '{m,n}'\x00both m and n are zero in '{m,n}'\x00POSIX character classes not supported\x00unclosed '['\x00unrecognized character\x00regexp\x00regexpi\x00remember\x00CREATE TABLE x(value,start hidden,stop hidden,step hidden)\x00generate_series() requires SQLite 3.8.12 or later\x00generate_series\x00.ABCDHLRMY9 ?\x00non-ASCII input to editdist()\x00NULL input to editdist()\x00SELECT iLang, cFrom, cTo, iCost FROM \"%w\" WHERE iLang>=0 ORDER BY iLang\x00editdist3\x00DROP TABLE IF EXISTS \"%w\".\"%w_vocab\"\x00CREATE TABLE x(word,rank,distance,langid, score, matchlen, phonehash HIDDEN, top HIDDEN, scope HIDDEN, srchcnt HIDDEN, soundslike HIDDEN, command HIDDEN)\x00CREATE TABLE IF NOT EXISTS \"%w\".\"%w_vocab\"(\n id INTEGER PRIMARY KEY,\n rank INT,\n langid INT,\n word TEXT,\n k1 TEXT,\n k2 TEXT\n);\n\x00CREATE INDEX IF NOT EXISTS \"%w\".\"%w_vocab_index_langid_k2\" ON \"%w_vocab\"(langid,k2);\x00edit_cost_table=\x00bad argument to spellfix1(): \"%s\"\x00SELECT id, word, rank, coalesce(k1,word) FROM \"%w\".\"%w_vocab\" WHERE langid=%d AND k2>=?1 AND k2=%lld\x00AND\x00%z %s rowid<=%lld\x00CREATE TABLE x(value)\x00wholenumber\x00CREATE TABLE y(name PRIMARY KEY,mode,mtime,sz,rawdata,data,method,z HIDDEN) WITHOUT ROWID;\x00zipfile\x00zipfile constructor requires one argument\x00error in fread()\x00error in fwrite()\x00failed to read CDS at offset %lld\x00%.*s\x00failed to read LFH at offset %d\x001.2.11\x00inflateInit2() failed (%d)\x00inflate() failed (%d)\x00zipfile: deflate() error\x00cannot find end of central directory record\x00zipfile() function requires an argument\x00cannot open file: %s\x00-rwxrwxrwx\x00zipfile: mode does not match data\x00zipfile: parse error in mode: %s\x00zipfile: missing filename\x00ab+\x00zipfile: failed to open file %s for writing\x00sz must be NULL\x00rawdata must be NULL\x00unknown compression method: %d\x00%s/\x00duplicate name: \"%s\"\x00{\"version-made-by\" : %u, \"version-to-extract\" : %u, \"flags\" : %u, \"compression\" : %u, \"time\" : %u, \"date\" : %u, \"crc32\" : %u, \"compressed-size\" : %u, \"uncompressed-size\" : %u, \"file-name-length\" : %u, \"extra-field-length\" : %u, \"file-comment-length\" : %u, \"disk-number-start\" : %u, \"internal-attr\" : %u, \"external-attr\" : %u, \"offset\" : %u }\x00zipfile_cds\x00wrong number of arguments to function zipfile()\x00first argument to zipfile() must be non-NULL\x00illegal method value: %d\x00non-directory name must not end with /\x00rbu_delta\x00step\x00close\x00create_rbu_delta\x00savestate\x00dbMain_eval\x00SQL\x00bp_progress\x00db\x00RBU\x00state\x00progress\x00close_no_error\x00temp_size_limit\x00LIMIT\x00temp_size\x00dbRbu_eval\x00METHOD\x00method\x00 - \x00oal\x00move\x00checkpoint\x00done\x00error\x00NAME TARGET-DB RBU-DB ?STATE-DB?\x00NAME TARGET-DB ?STATE-DB?\x00?-default? NAME PARENT\x00NAME\x00sqlite3rbu_db(0, 0)!=0\x00sqlite3rbu\x00sqlite3rbu_vacuum\x00sqlite3rbu_create_vfs\x00sqlite3rbu_destroy_vfs\x00sqlite3rbu_internal_test\x00incrblob\x00incrblob_%d\x00%lld\x00sqlite_unlock_notify_arg\x00sqlite_unlock_notify_argcount\x00DELETE\x00INSERT\x00UPDATE\x00SQLITE_COPY\x00SQLITE_CREATE_INDEX\x00SQLITE_CREATE_TABLE\x00SQLITE_CREATE_TEMP_INDEX\x00SQLITE_CREATE_TEMP_TABLE\x00SQLITE_CREATE_TEMP_TRIGGER\x00SQLITE_CREATE_TEMP_VIEW\x00SQLITE_CREATE_TRIGGER\x00SQLITE_CREATE_VIEW\x00SQLITE_DELETE\x00SQLITE_DROP_INDEX\x00SQLITE_DROP_TABLE\x00SQLITE_DROP_TEMP_INDEX\x00SQLITE_DROP_TEMP_TABLE\x00SQLITE_DROP_TEMP_TRIGGER\x00SQLITE_DROP_TEMP_VIEW\x00SQLITE_DROP_TRIGGER\x00SQLITE_DROP_VIEW\x00SQLITE_INSERT\x00SQLITE_PRAGMA\x00SQLITE_READ\x00SQLITE_SELECT\x00SQLITE_TRANSACTION\x00SQLITE_UPDATE\x00SQLITE_ATTACH\x00SQLITE_DETACH\x00SQLITE_ALTER_TABLE\x00SQLITE_REINDEX\x00SQLITE_ANALYZE\x00SQLITE_CREATE_VTABLE\x00SQLITE_DROP_VTABLE\x00SQLITE_FUNCTION\x00SQLITE_SAVEPOINT\x00SQLITE_RECURSIVE\x00????\x00SQLITE_DENY\x00SQLITE_IGNORE\x00RELEASE _tcl_transaction\x00COMMIT\x00ROLLBACK TO _tcl_transaction ; RELEASE _tcl_transaction\x00option\x00?CALLBACK?\x00?DATABASE? FILENAME\x00cannot open target database: \x00backup failed: \x00CALLBACK\x00cache option ?arg?\x00flush\x00size\x00size n\x00cannot convert \"\x00\" to integer\x00bad option \"\x00\": must be flush or size\x00NAME SCRIPT\x00SCRIPT\x00?OPTION? ?BOOLEAN?\x00unknown config option: \"\x00\"\x00CONFLICT-ALGORITHM TABLE FILENAME ?SEPARATOR? ?NULLINDICATOR?\x00\t\x00Error: non-null separator required for copy\x00rollback\x00abort\x00fail\x00ignore\x00replace\x00Error: \"\x00\", conflict-algorithm must be one of: rollback, abort, fail, ignore, or replace\x00SELECT * FROM '%q'\x00Error: no such table: \x00Error: \x00Error: can't malloc()\x00INSERT OR %q INTO '%q' VALUES(?\x00Error: cannot open file: \x00BEGIN\x00Error: %s line %d: expected %d columns of data but found %d\x00, failed while processing line: \x00?DATABASE? VALUE\x00-maxsize\x00-readonly\x00unknown option: \x00unable to set MEMDB content\x00extension loading is turned off at compile-time\x00-withoutnulls\x00unknown option: \"\x00?OPTIONS? SQL ?ARRAY-NAME? ?SCRIPT?\x00NAME ?SWITCHES? SCRIPT\x00-argcount\x00option requires an argument: \x00number of arguments must be non-negative\x00-deterministic\x00-directonly\x00-innocuous\x00-returntype\x00real\x00text\x00blob\x00any\x00type\x00\": must be -argcount, -deterministic, -directonly, -innocuous, or -returntype\x00?-readonly? ?DB? TABLE COLUMN ROWID\x00NULLVALUE\x00N CALLBACK\x00KEY\x00cannot open source database: \x00restore failed: \x00restore failed: source database busy\x00?DATABASE?\x00(step|sort|autoindex)\x00sort\x00autoindex\x00vmstep\x00bad argument: should be autoindex, step, sort or vmstep\x00MILLISECONDS\x00?CALLBACK? ?MASK?\x00trace type\x00SAVEPOINT _tcl_transaction\x00[TYPE] SCRIPT\x00transaction type\x00BEGIN EXCLUSIVE\x00BEGIN IMMEDIATE\x00?SCRIPT?\x00SUB-COMMAND ?ARGS?\x00hook ?SCRIPT?\x00INDEX\x00-use-legacy-prepare\x00-last-stmt-ptr\x00%p\x00unknown argument: \x00authorizer\x00backup\x00bind_fallback\x00busy\x00cache\x00changes\x00collate\x00collation_needed\x00commit_hook\x00complete\x00config\x00copy\x00deserialize\x00enable_load_extension\x00errorcode\x00exists\x00function\x00interrupt\x00last_insert_rowid\x00nullvalue\x00onecolumn\x00preupdate\x00profile\x00rekey\x00restore\x00rollback_hook\x00serialize\x00status\x00timeout\x00total_changes\x00trace\x00trace_v2\x00transaction\x00unlock_notify\x00update_hook\x00version\x00wal_hook\x00defensive\x00dqs_ddl\x00dqs_dml\x00enable_fkey\x00enable_qpsg\x00enable_trigger\x00enable_view\x00fts3_tokenizer\x00legacy_alter_table\x00legacy_file_format\x00load_extension\x00no_ckpt_on_close\x00reset_database\x00trigger_eqp\x00trusted_schema\x00writable_schema\x00statement\x00row\x00deferred\x00exclusive\x00immediate\x00depth\x00hook\x00new\x00old\x00HANDLE ?FILENAME? ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nofollow BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?\x00-version\x00-sourceid\x00-has-codec\x000\x00-key\x00-vfs\x00-create\x00-nofollow\x00-nomutex\x00-fullmutex\x00-uri\x00-translatefilename\x00sqlite3\x00sqlite\x003.36.0\x00if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewline \"% \"\n}\nflush stdout\nappend line [gets stdin]\nif {[info complete $line]} {\nif {[catch {uplevel #0 $line} result]} {\nputs stderr \"Error: $result\"\n} elseif {$result!=\"\"} {\nputs $result\n}\nset line {}\n} else {\nappend line \\n\n}\n}\n}\n\x00SQLITE_DEBUG_BREAK\x00attach debugger to process %d and press any key to continue.\n\x00utf-8\x00argc\x00argv0\x00argv\x00errorInfo\x00%s: %s\n\x00SQLITE-CONNECTION\x00command not found: \x00error code %s (%d) does not match sqlite3_errcode %s (%d)\x00OMIT_MISUSE\x00wrong # args: should be \"\x00 DB FORMAT STRING\x00 DB HEX\x00 DB\x00 DB SQL\x00%z%s%s\x00%s%n\x00abcdefghijklmnopqrstuvwxyz\x00 DB FORMAT STRING ?COUNT?\x00 DB\"\x00 FILENAME\"\x00%02x\x00%04x\x00tkt2213 is not fixed\x00text16\x00bytes\x00bytes16\x00noop\x00x_coalesce\x00hex8\x00hex16\x00tkt2213func\x00pointer_change\x00counter1\x00counter2\x00intreal\x00x_sqlite_exec\x00value of 40 handed to x_count\x00x_count totals to 42\x00x_count\x00legacy_count\x00 TEXT\"\x00 FORMAT INT INT INT\"\x00argument is not a valid 64-bit integer\x00 FORMAT INT INT ?STRING?\"\x00 INT FORMAT INT INT ?STRING?\"\x00N must be non-negative\x00 FORMAT INT INT DOUBLE\"\x00 FORMAT DOUBLE DOUBLE\"\x00 FORMAT STRING\"\x00%08x%08x\x002nd argument should be 16-characters of hex\x00?BOOLEAN?\x00DB BOOLEAN\x00DB dbname tblname colname\x00CHANNEL ROWID\x00DB-HANDLE NAME CMP-PROC DEL-PROC\x00sqlite3_create_collate_v2() failed to detect an invalid encoding\x00utf8\x00utf16\x00utf16le\x00utf16be\x00DB NAME NARG ENC SWITCHES...\x00encoding\x00-func\x00-step\x00-final\x00-destroy\x00switch\x00DB-HANDLE FILE ?PROC?\x00this build omits sqlite3_load_extension()\x00DB-HANDLE ONOFF\x00string\x00value\x00first argument should be one of: int int64 string double null value\x00 DB FUNCTION-NAME\x00 \x00STMT PARAMETER RESETFLAG\x00SQLITE_STMTSTATUS_FULLSCAN_STEP\x00SQLITE_STMTSTATUS_SORT\x00SQLITE_STMTSTATUS_AUTOINDEX\x00SQLITE_STMTSTATUS_VM_STEP\x00SQLITE_STMTSTATUS_REPREPARE\x00SQLITE_STMTSTATUS_RUN\x00SQLITE_STMTSTATUS_MEMUSED\x00NBYTE\x00DB DBNAME\x00DB DBNAME SNAPSHOT\x00SNAPSHOT\x00SNAPSHOT1 SNAPSHOT2\x00bad SNAPSHOT\x00FILE\x00PATH\x00 DB STMT\x00 STMT\x00 FROM-STMT TO-STMT\x00 VM IDX VALUE (null|static|normal)\"\x00static\x00static-nbytes\x00normal\x00blob10\x00abc\x00xyz\x00pq\x004th argument should be \"null\" or \"static\" or \"normal\"\x00(%d) \x00test_collate\x00UTF-8\x00UTF-16LE\x00UTF-16BE\x00 \x00utf16bin\x00utf16_unaligned\x00utf16_aligned\x00test_function\x00\x00STMT IDX N\x00 STMT N VALUE\x00NaN\x00SNaN\x00-NaN\x00-SNaN\x00+Inf\x00-Inf\x00Epsilon\x00-Epsilon\x00NaN0\x00-NaN0\x00 STMT N\x00 STMT N VALUE BYTES\x00 STMT N DATA BYTES\x00cannot use %d blob bytes, have %d\x00-transient\x00-static\x00-int32\x00-int64\x00-double\x00-text\x00--\x00text data must be either -static or -transient\x00cannot be both -static and -transient\x00[OPTIONS] STMT IDX VALUE ...\x00STMT\x00STMT N\x00STMT NAME\x00 DB sql bytes ?tailvar?\x00 DB sql bytes tailvar\x00 DB sql bytes flags tailvar\x00\x00SELECT 1\x00 filename options-list\x00FILENAME FLAGS VFS\x00SQLITE_OPEN_READONLY\x00SQLITE_OPEN_READWRITE\x00SQLITE_OPEN_CREATE\x00SQLITE_OPEN_DELETEONCLOSE\x00SQLITE_OPEN_EXCLUSIVE\x00SQLITE_OPEN_AUTOPROXY\x00SQLITE_OPEN_MAIN_DB\x00SQLITE_OPEN_TEMP_DB\x00SQLITE_OPEN_TRANSIENT_DB\x00SQLITE_OPEN_MAIN_JOURNAL\x00SQLITE_OPEN_TEMP_JOURNAL\x00SQLITE_OPEN_SUBJOURNAL\x00SQLITE_OPEN_SUPER_JOURNAL\x00SQLITE_OPEN_NOMUTEX\x00SQLITE_OPEN_FULLMUTEX\x00SQLITE_OPEN_SHAREDCACHE\x00SQLITE_OPEN_PRIVATECACHE\x00SQLITE_OPEN_WAL\x00SQLITE_OPEN_URI\x00flag\x00\x00 STMT column\x00FLOAT\x00TEXT\x00BLOB\x00 DB MAGIC\x00SQLITE_MAGIC_OPEN\x00SQLITE_MAGIC_CLOSED\x00SQLITE_MAGIC_BUSY\x00SQLITE_MAGIC_ERROR\x00 DB function-name\x00VARIABLE\x00?N?\x001234567890000000\x00__one\x00__two\x00notadatabase\x00Unexpected non-zero errno: \x00DB [DBNAME]\x00%u\x00DB DBNAME SIZE\x00 DB PWD\x00 DB FLAG\x00%d %d\x00 DB ?AUXDB?\x00DB N\x00 DB ID VALUE\x00unknown limit type: \x00SQLITE_LIMIT_LENGTH\x00SQLITE_LIMIT_SQL_LENGTH\x00SQLITE_LIMIT_COLUMN\x00SQLITE_LIMIT_EXPR_DEPTH\x00SQLITE_LIMIT_COMPOUND_SELECT\x00SQLITE_LIMIT_VDBE_OP\x00SQLITE_LIMIT_FUNCTION_ARG\x00SQLITE_LIMIT_ATTACHED\x00SQLITE_LIMIT_LIKE_PATTERN_LENGTH\x00SQLITE_LIMIT_VARIABLE_NUMBER\x00SQLITE_LIMIT_TRIGGER_DEPTH\x00SQLITE_LIMIT_WORKER_THREADS\x00SQLITE_LIMIT_TOOSMALL\x00SQLITE_LIMIT_TOOBIG\x00SEED ?DB?\x00BOOLEAN\x00current\x00max\x00min\x00recyclable\x00DB ?NAME?\x00passive\x00full\x00restart\x00truncate\x00DB MODE ?NAME?\x00mode\x00DB VALUE\x00COMMAND ...\x00command has no objProc: \x00%d %d %d %s\n\x00SQLITE_TESTCTRL_LOCALTIME_FAULT\x00SQLITE_TESTCTRL_SORTER_MMAP\x00SQLITE_TESTCTRL_IMPOSTER\x00SQLITE_TESTCTRL_INTERNAL_FUNCTIONS\x00VERB ARGS...\x00VERB\x00ONOFF\x00DB LIMIT\x00DB dbName onOff tnum\x00ru_utime=%d.%06d ru_stime=%d.%06d ru_minflt=%d ru_majflt=%d\x00DB OPT BOOLEAN\x00unknown optimization - should be one of:\x00all\x00none\x00query-flattener\x00groupby-order\x00factor-constants\x00distinct-opt\x00cover-idx-scan\x00order-by-idx-join\x00transitive\x00omit-noop-join\x00stat4\x00skip-scan\x00push-down\x00DB NAME ...\x00no such extension: \x00initialization of \x00 failed: \x00amatch\x00appendvfs\x00closure\x00fileio\x00nextchar\x00series\x00spellfix\x00totype\x00BOOL\x00DB SQL1 NSTEP SQL2\x00data error: (a!=b)\x00checksum mismatch\x00sql error: \x00TYPE\x00Deliberate panic\x00DB SETTING [VALUE]\x00SQLITE_*\x00DBCONFIG_*\x00ENABLE_*\x00unknown sqlite3_db_config setting\x00FKEY\x00TRIGGER\x00FTS3_TOKENIZER\x00LOAD_EXTENSION\x00NO_CKPT_ON_CLOSE\x00QPSG\x00TRIGGER_EQP\x00RESET_DB\x00DEFENSIVE\x00WRITABLE_SCHEMA\x00LEGACY_ALTER_TABLE\x00DQS_DML\x00DQS_DDL\x00LEGACY_FILE_FORMAT\x00DB ?SCHEMA?\x00icecube\x00DB ?DBNAME?\x00DB OFFSET DATA\x00HEXDB\x00| size %d pagesize %d\x00bad 'pagesize' field\x00bad 'size' field\x00| page %d offset %d\x00| %d: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\x00sqlite_search_count\x00sqlite_found_count\x00sqlite_sort_count\x00sqlite3_max_blobsize\x00sqlite_like_count\x00sqlite_interrupt_count\x00sqlite_open_file_count\x00sqlite_current_time\x00sqlite3_xferopt_count\x00sqlite3_pager_readdb_count\x00sqlite3_pager_writedb_count\x00sqlite3_pager_writej_count\x00unaligned_string_counter\x00sqlite_last_needed_collation\x00sqlite_query_plan\x00sqlite_opentemp_count\x00sqlite_static_bind_value\x00sqlite_static_bind_nbyte\x00sqlite_temp_directory\x00sqlite_data_directory\x00bitmask_size\x00longdouble_size\x00sqlite_sync_count\x00sqlite_fullsync_count\x00db_enter\x00db_leave\x00sqlite3_mprintf_int\x00sqlite3_mprintf_int64\x00sqlite3_mprintf_long\x00sqlite3_mprintf_str\x00sqlite3_snprintf_str\x00sqlite3_mprintf_stronly\x00sqlite3_mprintf_double\x00sqlite3_mprintf_scaled\x00sqlite3_mprintf_hexdouble\x00sqlite3_mprintf_z_test\x00sqlite3_mprintf_n_test\x00sqlite3_snprintf_int\x00sqlite3_last_insert_rowid\x00sqlite3_exec_printf\x00sqlite3_exec_hex\x00sqlite3_exec\x00sqlite3_exec_nr\x00sqlite3_get_table_printf\x00sqlite3_close\x00sqlite3_close_v2\x00sqlite3_create_function\x00sqlite3_create_aggregate\x00sqlite3_drop_modules\x00sqlite_register_test_function\x00sqlite_abort\x00sqlite_bind\x00breakpoint\x00sqlite3_key\x00sqlite3_rekey\x00sqlite_set_magic\x00sqlite3_interrupt\x00sqlite_delete_function\x00sqlite_delete_collation\x00sqlite3_get_autocommit\x00sqlite3_busy_timeout\x00printf\x00sqlite3IoTrace\x00clang_sanitize_address\x00sqlite3_db_config\x00sqlite3_txn_state\x00bad_behavior\x00register_dbstat_vtab\x00sqlite3_connection_pointer\x00intarray_addr\x00int64array_addr\x00doublearray_addr\x00textarray_addr\x00sqlite3_bind_int\x00sqlite3_bind_zeroblob\x00sqlite3_bind_zeroblob64\x00sqlite3_bind_int64\x00sqlite3_bind_double\x00sqlite3_bind_null\x00sqlite3_bind_text\x00sqlite3_bind_text16\x00sqlite3_bind_blob\x00sqlite3_carray_bind\x00sqlite3_bind_parameter_count\x00sqlite3_bind_parameter_name\x00sqlite3_bind_parameter_index\x00sqlite3_clear_bindings\x00sqlite3_sleep\x00sqlite3_errcode\x00sqlite3_extended_errcode\x00sqlite3_errmsg\x00sqlite3_errmsg16\x00sqlite3_open\x00sqlite3_open16\x00sqlite3_open_v2\x00sqlite3_complete16\x00sqlite3_normalize\x00sqlite3_prepare\x00sqlite3_prepare16\x00sqlite3_prepare_v2\x00sqlite3_prepare_v3\x00sqlite3_prepare_tkt3134\x00sqlite3_prepare16_v2\x00sqlite3_finalize\x00sqlite3_stmt_status\x00sqlite3_reset\x00sqlite3_expired\x00sqlite3_transfer_bindings\x00sqlite3_changes\x00sqlite3_step\x00sqlite3_sql\x00sqlite3_expanded_sql\x00sqlite3_next_stmt\x00sqlite3_stmt_readonly\x00sqlite3_stmt_isexplain\x00sqlite3_stmt_busy\x00uses_stmt_journal\x00sqlite3_release_memory\x00sqlite3_db_release_memory\x00sqlite3_db_cacheflush\x00sqlite3_system_errno\x00sqlite3_db_filename\x00sqlite3_db_readonly\x00sqlite3_soft_heap_limit\x00sqlite3_soft_heap_limit64\x00sqlite3_hard_heap_limit64\x00sqlite3_thread_cleanup\x00sqlite3_pager_refcounts\x00sqlite3_load_extension\x00sqlite3_enable_load_extension\x00sqlite3_extended_result_codes\x00sqlite3_limit\x00dbconfig_maindbname_icecube\x00save_prng_state\x00restore_prng_state\x00reset_prng_state\x00prng_seed\x00extra_schema_checks\x00database_never_corrupt\x00database_may_be_corrupt\x00optimization_control\x00tcl_objproc\x00sqlite3_column_count\x00sqlite3_data_count\x00sqlite3_column_type\x00sqlite3_column_blob\x00sqlite3_column_double\x00sqlite3_column_int64\x00sqlite3_column_text\x00sqlite3_column_name\x00sqlite3_column_int\x00sqlite3_column_bytes\x00sqlite3_column_decltype\x00sqlite3_column_database_name\x00sqlite3_column_table_name\x00sqlite3_column_origin_name\x00sqlite3_column_bytes16\x00sqlite3_column_text16\x00sqlite3_column_name16\x00add_alignment_test_collations\x00sqlite3_column_decltype16\x00sqlite3_column_database_name16\x00sqlite3_column_table_name16\x00sqlite3_column_origin_name16\x00sqlite3_create_collation_v2\x00sqlite3_global_recover\x00working_64bit_int\x00vfs_unlink_test\x00vfs_initfail_test\x00vfs_unregister_all\x00vfs_reregister_all\x00file_control_test\x00file_control_lasterrno_test\x00file_control_lockproxy_test\x00file_control_chunksize_test\x00file_control_sizehint_test\x00file_control_data_version\x00file_control_persist_wal\x00file_control_powersafe_overwrite\x00file_control_vfsname\x00file_control_reservebytes\x00file_control_tempfilename\x00file_control_external_reader\x00sqlite3_vfs_list\x00sqlite3_create_function_v2\x00add_test_collate\x00add_test_collate_needed\x00add_test_function\x00add_test_utf16bin_collate\x00sqlite3_test_errstr\x00tcl_variable_type\x00sqlite3_enable_shared_cache\x00sqlite3_shared_cache_report\x00sqlite3_libversion_number\x00sqlite3_table_column_metadata\x00sqlite3_blob_reopen\x00pcache_stats\x00sqlite3_unlock_notify\x00sqlite3_wal_checkpoint\x00sqlite3_wal_checkpoint_v2\x00sqlite3_wal_autocheckpoint\x00test_sqlite3_log\x00print_explain_query_plan\x00sqlite3_test_control\x00getrusage\x00load_static_extension\x00sorter_test_fakeheap\x00sorter_test_sort4_helper\x00vfs_current_time_int64\x00sqlite3_snapshot_get\x00sqlite3_snapshot_open\x00sqlite3_snapshot_free\x00sqlite3_snapshot_cmp\x00sqlite3_snapshot_recover\x00sqlite3_snapshot_get_blob\x00sqlite3_snapshot_open_blob\x00sqlite3_snapshot_cmp_blob\x00sqlite3_delete_database\x00atomic_batch_write\x00sqlite3_mmap_warm\x00sqlite3_config_sorterref\x00decode_hexdb\x00test_write_db\x00sqlite3_register_cksumvfs\x00sqlite3_unregister_cksumvfs\x00*** OBSOLETE VARIABLE ***\x00 FILENAME N-PAGE\"\x00 ID\"\x00ref\x00page\x00err\x00hit\x00miss\x00ovfl\x00 ID PGNO\"\x00 PAGE\"\x00 PAGE DATA\"\x00 N-MEGABYTES FILE\"\x00open failed: \x00Hello, World!\x00write failed: \x00 PENDING-BYTE\"\x00fault simulator script failed: [%s]\x00 SCRIPT\"\x00 SIZE PROGRAM\"\x00sqlite_io_error_pending\x00sqlite_io_error_persist\x00sqlite_io_error_hit\x00sqlite_io_error_hardhit\x00sqlite_diskfull_pending\x00sqlite_diskfull\x00sqlite_pending_byte\x00pager_open\x00pager_close\x00pager_commit\x00pager_rollback\x00pager_stmt_begin\x00pager_stmt_commit\x00pager_stmt_rollback\x00pager_stats\x00pager_pagecount\x00page_get\x00page_lookup\x00page_unref\x00page_read\x00page_write\x00page_number\x00pager_truncate\x00fake_big_file\x00sqlite3BitvecBuiltinTest\x00sqlite3_test_control_pending_byte\x00sqlite3_test_control_fault_install\x00 FILENAME NCACHE FLAGS\"\x00read\x00write\x00 ID TABLENUM WRITEABLE\"\x00 START MULTIPLIER COUNT INCREMENT\"\x00putVarint returned %d - should be between 1 and 9\x00putVarint returned %d and getVarint returned %d\x00Wrote 0x%016llx and got back 0x%016llx\x00putVarint returned %d and GetVarint32 returned %d\x00Wrote 0x%016llx and got back 0x%016llx from GetVarint32\x00 DB-HANDLE ?N?\"\x00No such db-handle: \"\x00 BT NCACHE\"\x00?-intkey? CSR KEY VALUE\x00btree_insert\x00btree_open\x00btree_close\x00btree_begin_transaction\x00btree_pager_stats\x00btree_cursor\x00btree_close_cursor\x00btree_next\x00btree_eof\x00btree_payload_size\x00btree_first\x00btree_varint_test\x00btree_from_db\x00btree_ismemdb\x00btree_set_cache_size\x00thread ID must be an upper case letter\x00 ID FILENAME\x00thread \x00 is already running\x00failed to create the thread\x00 ID\x00no such thread\x00 ID N\x00column number out of range\x00no database is open\x00 ID SQL\x00no virtual machine available\x00 IDL\x00 ID1 ID2\x00 ID DB\x00thread_create\x00thread_wait\x00thread_halt\x00thread_argc\x00thread_argv\x00thread_colname\x00thread_result\x00thread_error\x00thread_compile\x00thread_step\x00thread_finalize\x00thread_swap\x00thread_db_get\x00thread_db_put\x00thread_stmt_get\x00 \x00hello world\x00UTF8\x00UTF16LE\x00UTF16BE\x00UTF16\x00No such encoding: \x00 \x00binarize\x00test_value_overhead\x00test_translate\x00translate_selftest\x00out of memory in the crash simulator\n\x00atomic\x00atomic512\x00atomic1k\x00atomic2k\x00atomic4k\x00atomic8k\x00atomic16k\x00atomic32k\x00atomic64k\x00sequential\x00safe_append\x00powersafe_overwrite\x00batch-atomic\x00-sectorsize\x00-characteristics\x00Bad option: \"\x00\" - must be \"-characteristics\" or \"-sectorsize\"\x00Option requires an argument: \"\x00no such flag\x00ENABLE ?DEFAULT?\x00crash\x00?OPTIONS? DELAY CRASHFILE\x00Filename is too long: \"\x00NWRITE\x00?-default? PARENT-VFS\x00-default\x00\": must be -default\x00Error in jt_register\x00sqlite3_crash_enable\x00sqlite3_crashparams\x00sqlite3_crash_now\x00sqlite3_simulate_device\x00sqlite3_crash_on_write\x00unregister_devsim\x00register_jt_vfs\x00unregister_jt_vfs\x00client_create\x00client_wait\x00client_halt\x00client_argc\x00client_argv\x00client_colname\x00client_result\x00client_error\x00client_compile\x00client_step\x00client_reset\x00client_finalize\x00client_swap\x00echo_module_fail(%s,%s)\x00echo-vtab-error: %s\x00SELECT * FROM %Q\x00PRAGMA index_list(%s)\x00PRAGMA index_info(%s)\x00echo_module\x00SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = ?\x00%s%s\x00xCreate\x00CREATE TABLE %Q(logmsg)\x00xConnect\x00xDisconnect\x00xDestroy\x00DROP TABLE %Q\x00xOpen\x00xNext\x00xColumn\x00xFilter\x00, *\x00%z, %s\x00%z, NULL\x00echo_module_ignore_usable\x00xBestIndex\x00echo_module_cost\x00SELECT count(*) FROM %Q\x00SELECT rowid%z FROM %Q\x00rowid\x00=\x00<\x00>\x00<=\x00>=\x00LIKE\x00like\x00glob\x00 %s %s LIKE (SELECT '%%'||?||'%%')\x00 %s %s %s ?\x00DESC\x00ASC\x00 ORDER BY %s %s\x00xUpdate\x00 SET\x00UPDATE %Q\x00 SET rowid=?1 \x00%s %Q=?%d\x00 WHERE rowid=?%d\x00DELETE FROM %Q WHERE rowid = ?1\x00INSERT INTO %Q (\x00%s%Q\x00%s?%d\x00) VALUES(\x00echo(%s)\x00xBegin\x00echo_module_begin_fail\x00xSync\x00echo_module_sync_fail\x00xCommit\x00xRollback\x00::echo_glob_overload\x00xRename\x00ALTER TABLE %s RENAME TO %s%s\x00function_that_does_not_exist_0982ma98\x00echo\x00echo_v2\x00DB SQL\x00register_echo_module\x00sqlite3_declare_vtab\x00N/A\x00sqlite3_create_collation\x00Error testing function: \x00sqlite3_malloc\x00sqlite3_realloc\x00c_misuse_test\x00c_realloc_test\x00c_collation_test\x00sqlite3_reset_auto_extension\x00npage\x00finish\x00remaining\x00pagecount\x00CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME\x00sqlite3_backup_init() failed\x00sqlite3_backup\x00wrong number of arguments\x00unexpected: %s\x00eq\x00gt\x00le\x00lt\x00ge\x00match\x00ne\x00isnot\x00isnotnull\x00isnull\x00op\x00column\x00usable\x00desc\x00cost\x00orderby\x00idxnum\x00idxstr\x00rows\x00use\x00omit\x00unexpected: %d\x00tcl\x00register_tcl_module\x00incrblob_\x00DB DATABASE TABLE COLUMN ROWID FLAGS VARNAME\x00HANDLE\x00CHANNEL OFFSET N\x00out of memory in testdata/sqlite-src-3360000/src/test_blob.c\x00HANDLE OFFSET DATA ?NDATA?\x00sqlite3_blob_open\x00sqlite3_blob_close\x00sqlite3_blob_bytes\x00sqlite3_blob_read\x00sqlite3_blob_write\x00sqlite_options\x00malloc_usable_size\x001\x00rowid32\x00casesensitivelike\x00configslower\x001.0\x00curdir\x00win32malloc\x00debug\x00default_ckptfullfsync\x00direct_read\x00dirsync\x00lfs\x00pagecache_overflow_stats\x00mmap\x00worker_threads\x008\x00memdebug\x008_3_names\x00cursorhints\x00hiddencolumns\x00mathlib\x00mem3\x00mem5\x00offset_sql_func\x00snapshot\x00mutex\x00mutex_noop\x00altertable\x00api_armor\x00atomicwrite\x00geopoly\x00json1\x00has_codec\x00like_match_blobs\x00attach\x00auth\x00autoinc\x00autoreset\x00autovacuum\x00default_autovacuum\x00between_opt\x00builtin_test\x00bloblit\x00cast\x00check\x00cte\x00columnmetadata\x00oversize_cell_check\x00compileoption_diags\x00compound\x00conflict\x00crashtest\x00datetime\x00decltype\x00deprecated\x00diskio\x00floatingpoint\x00foreignkey\x00fts1\x00fts2\x00fts3\x00fts5\x00fts3_unicode\x00fts4_deferred\x00gettable\x00icu\x00icu_collations\x00integrityck\x00legacyformat\x00like_opt\x00load_ext\x00localtime\x00lookaside\x00long_double\x00memorydb\x00memorymanage\x00mergesort\x00null_trim\x00or_opt\x00rbu\x00pager_pragmas\x00pragma\x00reindex\x00rtree\x00rtree_int_only\x00schema_pragmas\x00schema_version\x00session\x00stmtvtab\x00scanstatus\x00lock_proxy_pragmas\x00prefer_proxy_locking\x00shared_cache\x00subquery\x00tclvar\x00threadsafe\x00threadsafe1\x00threadsafe2\x00tempdb\x00trigger\x00truncate_opt\x00vacuum\x00view\x00vtab\x00wal\x00wsd\x00update_delete_limit\x00fast_secure_delete\x00secure_delete\x00userauth\x00multiplex_ext_overwrite\x00yytrackmaxstackdepth\x00sqllog\x00uri_00_error\x00normalize\x00windowfunc\x00SQLITE_MAX_LENGTH\x00SQLITE_MAX_COLUMN\x00SQLITE_MAX_SQL_LENGTH\x00SQLITE_MAX_EXPR_DEPTH\x00SQLITE_MAX_COMPOUND_SELECT\x00SQLITE_MAX_VDBE_OP\x00SQLITE_MAX_FUNCTION_ARG\x00SQLITE_MAX_VARIABLE_NUMBER\x00SQLITE_MAX_PAGE_SIZE\x00SQLITE_MAX_PAGE_COUNT\x00SQLITE_MAX_LIKE_PATTERN_LENGTH\x00SQLITE_MAX_TRIGGER_DEPTH\x00SQLITE_DEFAULT_CACHE_SIZE\x00SQLITE_DEFAULT_PAGE_SIZE\x00SQLITE_DEFAULT_FILE_FORMAT\x00SQLITE_DEFAULT_SYNCHRONOUS\x00SQLITE_DEFAULT_WAL_SYNCHRONOUS\x00SQLITE_MAX_ATTACHED\x00SQLITE_MAX_DEFAULT_PAGE_SIZE\x00SQLITE_MAX_WORKER_THREADS\x00TEMP_STORE\x00__GNUC__\x00%s-journal\x00%s-wal\x00%s-shm\x00%s%03d\x00%s-journal%03d\x00%s-wal%03d\x00devsym\x00writecrash\x00CREATE TABLE xyz(dir, name);\x00CREATE TABLE xyz(path, size, data);\x00WITH r(d) AS ( SELECT CASE WHEN dir=?2 THEN ?3 ELSE dir END || '/' || name FROM fsdir WHERE dir=?1 AND name NOT LIKE '.%' UNION ALL SELECT dir || '/' || name FROM r, fsdir WHERE dir=d AND name NOT LIKE '.%') SELECT d FROM r;\x00/\x00CREATE TABLE x(path TEXT, data TEXT)\x00SELECT * FROM %Q.%Q WHERE rowid=?\x00fs\x00fstree\x00register_fs_module\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-!,:*^+=_|?/<> \x00sqlite3_prepare_v2() error: %s\x000123456789abcdef\x00x'\x00test_agg_errmsg16\x00randstr\x00test_destructor\x00test_destructor16\x00hex_to_utf16be\x00hex_to_utf16le\x00hex_to_utf8\x00test_destructor_count\x00test_auxdata\x00test_error\x00test_eval\x00test_isolation\x00test_counter\x00real2hex\x00test_decode\x00test_extract\x00test_zeroblob\x00test_getsubtype\x00test_setsubtype\x00test_frombind\x00tx\x00funcxx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00nullx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00sqlite3_create_function abused test failed\x00invalid matchinfo blob passed to function rank()\x00wrong number of arguments to function rank()\x00rank\x00autoinstall_test_functions\x00abuse_create_function\x00install_fts3_rank_function\x000123456789ABCDEF\x00FILENAME OFFSET AMT\x00r\x00cannot open input file \x00FILENAME OFFSET HEXDATA\x00r+b\x00r+\x00cannot open output file \x00HEXDATA\x00[utf8_to_utf8] unavailable - SQLITE_DEBUG not defined\x00BLOB VARNAME\x00LIST\x00hexio_read\x00hexio_write\x00hexio_get_int\x00hexio_render_int16\x00hexio_render_int32\x00utf8_to_utf8\x00read_fts3varint\x00make_fts3record\x00mem\x00pcache\x00Unknown argument: \"\x00init_wrapper_install\x00init_wrapper_query\x00init_wrapper_uninstall\x00init_wrapper_clear\x00CREATE TABLE x(value INTEGER PRIMARY KEY)\x00CREATE VIRTUAL TABLE temp.%Q USING %Q\x00INTARRAY\x00SQLITE_NOMEM\x00sqlite3_intarray_create\x00sqlite3_intarray_bind\x00jt\x00-journal\x00NBYTES\x00PRIOR NBYTES\x00bad pointer: \x00PRIOR\x00ADDRESS SIZE HEX\x00size must be positive\x00no data\x00ADDRESS SIZE\x00?RESET?\x00DEPT\x00FILENAME\x00COUNTER ?OPTIONS?\x00-repeat\x00-benigncnt\x00TITLE\x00SUB-COMMAND ...\x00start\x00stop\x00dump\x00clear\x00sync\x00SIZE N\x00INSTALLFLAG DISCARDCHANCE PRNGSEEED HIGHSTRESS\x00discard-chance should be between 0 and 100\x00SIZE COUNT\x00BUFID SIZE COUNT\x00illegal arguments - see documentation\x00NBYTE NMINALLOC\x00[DB]\x00sqlite3_db_config(db, 99999) does not return SQLITE_ERROR\x00sqlite3_config(99999) does not return SQLITE_ERROR\x00PARAMETER RESETFLAG\x00SQLITE_STATUS_MEMORY_USED\x00SQLITE_STATUS_MALLOC_SIZE\x00SQLITE_STATUS_PAGECACHE_USED\x00SQLITE_STATUS_PAGECACHE_OVERFLOW\x00SQLITE_STATUS_PAGECACHE_SIZE\x00SQLITE_STATUS_SCRATCH_USED\x00SQLITE_STATUS_SCRATCH_OVERFLOW\x00SQLITE_STATUS_SCRATCH_SIZE\x00SQLITE_STATUS_PARSER_STACK\x00SQLITE_STATUS_MALLOC_COUNT\x00DB PARAMETER RESETFLAG\x00SQLITE_\x00DBSTATUS_\x00LOOKASIDE_USED\x00CACHE_USED\x00SCHEMA_USED\x00STMT_USED\x00LOOKASIDE_HIT\x00LOOKASIDE_MISS_SIZE\x00LOOKASIDE_MISS_FULL\x00CACHE_HIT\x00CACHE_MISS\x00CACHE_WRITE\x00DEFERRED_FKS\x00CACHE_USED_SHARED\x00CACHE_SPILL\x00?INTEGER?\x00sqlite3_free\x00memset\x00memget\x00sqlite3_memory_used\x00sqlite3_memory_highwater\x00sqlite3_memdebug_backtrace\x00sqlite3_memdebug_dump\x00sqlite3_memdebug_fail\x00sqlite3_memdebug_pending\x00sqlite3_memdebug_settitle\x00sqlite3_memdebug_malloc_count\x00sqlite3_memdebug_log\x00sqlite3_config_pagecache\x00sqlite3_config_alt_pcache\x00sqlite3_status\x00sqlite3_db_status\x00install_malloc_faultsim\x00sqlite3_config_heap\x00sqlite3_config_heap_size\x00sqlite3_config_memstatus\x00sqlite3_config_lookaside\x00sqlite3_config_error\x00sqlite3_config_uri\x00sqlite3_config_cis\x00sqlite3_config_pmasz\x00sqlite3_db_config_lookaside\x00sqlite3_dump_memsys3\x00sqlite3_dump_memsys5\x00sqlite3_install_memsys3\x00sqlite3_memdebug_vfs_oom_test\x00%05u\x00 FILENAME [OFFSET AMT]\"\x00unable to open file \"\x00\" for reading\x00md5\x00md5-10x8\x00md5file\x00md5file-10x8\x00md5sum\x00%03d\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_control\x00chunksize\x00multiplex_truncate\x00multiplex/%z\x00multiplex\x00NAME MAKEDEFAULT\x00-force\x00?-force?\x00enable\x00chunk_size\x00max_chunks\x00HANDLE DBNAME SUB-COMMAND INT-VALUE\x00expected database handle, got \"\x00sqlite3_multiplex_initialize\x00sqlite3_multiplex_shutdown\x00sqlite3_multiplex_control\x00fast\x00recursive\x00static_main\x00static_mem\x00static_open\x00static_prng\x00static_lru\x00static_pmem\x00static_app1\x00static_app2\x00static_app3\x00static_vfs1\x00static_vfs2\x00static_vfs3\x00mutex counters are \x00already installed\x00not installed\x00singlethread\x00multithread\x00serialized\x00mutex name\x00disable_mutex_init\x00disable_mutex_try\x00sqlite3_shutdown\x00sqlite3_initialize\x00sqlite3_config\x00enter_static_mutex\x00leave_static_mutex\x00enter_db_mutex\x00leave_db_mutex\x00alloc_dealloc_mutex\x00install_mutex_counters\x00read_mutex_counters\x00clear_mutex_counters\x00\x00\x00\x00\x00\x00\x00\x00vfslog/%z\x00sqlite_ostrace1.....\x00xClose\x00xRead\x00xWrite\x00xTruncate\x00xFilesize\x00xLock\x00xUnlock\x00xCheckResLock\x00xFileControl\x00xSectorSize\x00xDeviceChar\x00xDelete\x00xAccess\x00xFullPathname\x00xRandomness\x00xSleep\x00xCurrentTime\x00xShmUnmap\x00xShmLock\x00xShmBarrier\x00xShmMap\x00annotation\x00CREATE TABLE xxx(event, file, click, rc, size, offset)\x00vfslog\x00VFS\x00failed\x00VFS PARENT LOGFILE\x00bad sqlite3 handle: \x00annotate\x00finalize\x00register\x00quota/%z\x00quota\x00::piLimit_\x00PATTERN LIMIT SCRIPT\x00FILENAME MODE\x00HANDLE SIZE NELEM\x00HANDLE SIZE NELEM CONTENT\x00HANDLE ?HARDSYNC?\x00HANDLE OFFSET WHENCE\x00SEEK_SET\x00SEEK_CUR\x00SEEK_END\x00WHENCE should be SEEK_SET, SEEK_CUR, or SEEK_END\x00HANDLE SIZE\x00PATTERN TEXT\x00sqlite3_quota_initialize\x00sqlite3_quota_shutdown\x00sqlite3_quota_set\x00sqlite3_quota_file\x00sqlite3_quota_dump\x00sqlite3_quota_fopen\x00sqlite3_quota_fread\x00sqlite3_quota_fwrite\x00sqlite3_quota_fclose\x00sqlite3_quota_fflush\x00sqlite3_quota_fseek\x00sqlite3_quota_rewind\x00sqlite3_quota_ftell\x00sqlite3_quota_ftruncate\x00sqlite3_quota_file_size\x00sqlite3_quota_file_truesize\x00sqlite3_quota_file_mtime\x00sqlite3_quota_remove\x00sqlite3_quota_glob\x00sqlite3_quota_file_available\x00sqlite3_quota_ferror\x00cube\x00circle\x00Qcircle\x00breadthfirstsearch\x00register_cube_geom\x00register_circle_geom\x00CREATE TABLE x(database,tablename,cid,name,type,not_null,dflt_value,pk)\x00SELECT name FROM sqlite_temp_schema WHERE type='table'\x00SELECT name FROM %Q.sqlite_schema WHERE type='table'\x00PRAGMA %Q.table_info(%Q)\x00PRAGMA database_list\x00register_schema_module\x00PRAGMA main.journal_mode\x00CMDNAME PATH ?VFS? ?BUSY-HANDLER-SCRIPT?\x00sqlite3demo_superlock\x00open\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00pread\x00pread64\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00mremap\x00SYSCALL-LIST\x00system-call\x00?COUNT PERSIST?\x00EACCES\x00EINTR\x00EIO\x00EOVERFLOW\x00ENOMEM\x00EAGAIN\x00ETIMEDOUT\x00EBUSY\x00EPERM\x00EDEADLK\x00ENOLCK\x00SYSCALL ERRNO\x00errno\x00PGSZ\x00getpagesize\x00pgsz out of range\x00fault\x00install\x00uninstall\x00list\x00defaultvfs\x00pagesize\x00VFS does not support xSetSystemCall\x00test_syscall\x00load_testfixture_extensions\x00SLAVE\x00CREATE TABLE x( name TEXT, arrayname TEXT, value TEXT, fullname TEXT PRIMARY KEY) WITHOUT ROWID\x00array names\x00tclvar_filter_cmd\x00%s(%s)\x00expr {[info exists ::tclvar_set_omit] && $::tclvar_set_omit}\x00the 'fullname' column must be TEXT\x00prohibited TCL variable change\x00proc like {pattern str} {\n set p [string map {% * _ ?} $pattern]\n string match $p $str\n}\nproc tclvar_filter_cmd {eq match glob regexp like} {\n set res {}\n set pattern $eq\n if {$pattern=={}} { set pattern $match }\n if {$pattern=={}} { set pattern * }\n foreach v [uplevel #0 info vars $pattern] {\n if {($glob=={} || [string match $glob [uplevel #0 set $v]])\n && ($like=={} || [like $like [uplevel #0 set $v]])\n && ($regexp=={} || [regexp $regexp [uplevel #0 set $v]])\n } {\n lappend res $v\n }\n }\n set res\n}\n\x00register_tclvar_module\x00clock_seconds\x00sqlthread\x00sqlite3_blocking_step\x00sqlite3_blocking_prepare_v2\x00sqlite3_nonblocking_prepare_v2\x00set\x00Error in Tcl_CreateThread()\x00no parent thread\x00parent\x00spawn\x00VARNAME SCRIPT\x00DBNAME\x00id\x00%s \x00SQLITE_IOERR\x00SQLITE_LOCKED\x00SQLITE_BUSY\x00SQLITE_READONLY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_NOTFOUND\x00SQLITE_OMIT\x00normal|dataonly\x00full|dataonly\x00xCheckReservedLock\x00BEGIN_ATOMIC_WRITE\x00COMMIT_ATOMIC_WRITE\x00ZIPVFS\x00anon\x00SQLITE_ACCESS_EXISTS\x00SQLITE_ACCESS_READWRITE\x00SQLITE_ACCESS_READ\x00xShmOpen\x00 lock\x00 unlock\x00 shared\x00 exclusive\x00shm\x00delete\x00filter\x00ioerr\x00fullerr\x00cantopenerr\x00script\x00devchar\x00sectorsize\x00subcommand\x00FILE ?VALUE?\x00failed to get full path: \x00no such file: \x00unknown method: \x00?CNT PERSIST?\x00default\x00undeletable_when_open\x00immutable\x00?ATTR-LIST?\x00bad flags: \x00?VALUE?\x00-noshm\x00-szosfile\x00-mxpathname\x00-iversion\x00-fullshm\x00VFSNAME ?-noshm BOOL? ?-fullshm BOOL? ?-default BOOL? ?-mxpathname INT? ?-szosfile INT? ?-iversion INT?\x00shared\x00lock\x00unlock\x00DB DBNAME (shared|exclusive) (lock|unlock) OFFSET N\x00ARG\x00DB DBNAME SLOT ?VALUE?\x00*-shm is not yet mapped\x00testvfs\x00vfs_shmlock\x00vfs_set_readmark\x00DB NAME XSTEP XFINAL XVALUE XINVERSE\x00fff\x00misuse test error\x00invalid argument\x00sumint\x00sum\x00sqlite3_create_window_function\x00test_create_window_function_misuse\x00test_create_sumint\x00test_override_sum\x00" +var ts1 = "%s\x00internal error!\x00SELECT * FROM main.%Q WHERE sample()\x00expert\x00PRAGMA table_xinfo=%Q\x00main\x00, \x00%Q\x00 COLLATE %Q\x00 COLLATE %s\x00 DESC\x00PRAGMA index_list=%Q\x00PRAGMA index_xInfo=%Q\x00%s_idx_%08x\x00CREATE INDEX '%q' ON %Q(%s)\x00CREATE INDEX %s ON %s(%s)\x00EXPLAIN QUERY PLAN %s\x00 USING INDEX \x00 USING COVERING INDEX \x00%s\n\x00%s;\n\x00SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_schema WHERE tbl_name = %Q AND type IN ('table', 'trigger') ORDER BY type;\x00ALTER TABLE temp.%Q RENAME TO %Q\x00INSERT INTO %Q VALUES(\x00%s?\x00\x00)\x00UPDATE %Q SET \x00%s%Q=?\x00DELETE FROM %Q\x00t592690916721053953805701627921227776\x00DROP TABLE t592690916721053953805701627921227776\x00SELECT type, name, sql, 1 FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%' UNION ALL SELECT type, name, sql, 2 FROM sqlite_schema WHERE type = 'trigger' AND tbl_name IN(SELECT name FROM sqlite_schema WHERE type = 'view') ORDER BY 4, 1\x00CREATE TABLE x(\x00%s%Q COLLATE %s\x00CREATE VIRTUAL TABLE %Q USING expert(%Q)\x00SELECT max(i.seqno) FROM sqlite_schema AS s, pragma_index_list(s.name) AS l, pragma_index_info(l.name) AS i WHERE s.type = 'table'\x00%sx.%Q IS rem(%d, x.%Q) COLLATE %s\x00%s%d\x00SELECT %s FROM %Q x ORDER BY %s\x00SELECT %s FROM temp.t592690916721053953805701627921227776 x ORDER BY %s\x00%d\x00 %d\x00DROP TABLE IF EXISTS temp.t592690916721053953805701627921227776\x00CREATE TABLE temp.t592690916721053953805701627921227776 AS SELECT * FROM %Q\x00SELECT s.rowid, s.name, l.name FROM sqlite_schema AS s, pragma_index_list(s.name) AS l WHERE s.type = 'table'\x00SELECT name, coll FROM pragma_index_xinfo(?) WHERE key\x00INSERT INTO sqlite_stat1 VALUES(?, ?, ?)\x00ANALYZE; PRAGMA writable_schema=1\x00rem\x00sample\x00ANALYZE sqlite_schema\x00:memory:\x00SELECT sql FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%%' AND sql NOT LIKE 'CREATE VIRTUAL %%'\x00%s;%s%s\n\x00 -- stat1: \x00no such handle: \x00sql\x00TABLE\x00analyze\x00count\x00report\x00STMT EREPORT\x00destroy\x00SUBCOMMAND ...\x00sub-command\x00indexes\x00plan\x00candidates\x00DB\x00sqlite3expert%d\x00out of memory\x00sqlite3_expert_new\x00SQLITE_DONE\x00SQLITE_ERROR\x00SQLITE_OK\x00SELECT fts5(?1)\x00error: \x00fts5_api_ptr\x00f5t_2_%lld\x00xColumnCount\x00xRowCount\x00xColumnTotalSize\x00COL\x00xTokenize\x00TEXT SCRIPT\x00xPhraseCount\x00xPhraseSize\x00PHRASE\x00xInstCount\x00xInst\x00IDX\x00xRowid\x00xColumnText\x00xColumnSize\x00xQueryPhrase\x00PHRASE SCRIPT\x00xSetAuxdata\x00VALUE\x00xGetAuxdata\x00CLEAR\x00xSetAuxdataInt\x00INTEGER\x00xGetAuxdataInt\x00xPhraseForeach\x00IPHRASE COLVAR OFFVAR SCRIPT\x00xPhraseColumnForeach\x00IPHRASE COLVAR SCRIPT\x00SUB-COMMAND\x00f5t_%lld\x00bytearray\x00boolean\x00double\x00wideInt\x00int\x00DB NAME SCRIPT\x00?-subst? DB NAME TEXT\x00-subst\x00unrecognized option: \x00no such tokenizer: \x00error in tokenizer.xCreate()\x00error in tokenizer.xTokenize()\x00document\x00aux\x00query\x00prefixquery\x00invalid\x00-colocated\x00sqlite3_fts5_token may only be used by tokenizer callback\x00?-colocated? TEXT START END\x00error in fts5_api.xCreateTokenizer()\x00NSLOT TOKEN\x00sqlite3_fts5_create_tokenizer\x00sqlite3_fts5_token\x00sqlite3_fts5_tokenize\x00sqlite3_fts5_create_function\x00sqlite3_fts5_may_be_corrupt\x00sqlite3_fts5_token_hash\x00sqlite3_fts5_register_matchinfo\x00sqlite3_fts5_register_fts5tokenize\x00unrecognized matchinfo flag: %c\x00pcx\x00matchinfo\x00CREATE TABLE x(input HIDDEN, token, start, end, position)\x00fts5tokenize\x00apndvfs\x00Start-Of-SQLite3-\x00apnd(%lld)/%z\x00SQLite format 3\x00%s: cost must be between 1 and %d\x00%s: maximum string length is %d\x00%s: iLang must be between 0 and %d\x00?\x00SELECT * FROM %Q.%Q\x00%s: %s\x00%s: %s has %d columns, expected 4\x00vocabulary_table\x00vocabulary_word\x00vocabulary_language\x00edit_distances\x00unrecognized argument: [%s]\n\x00no edit_distances table specified\x00CREATE TABLE x(word,distance,language,command HIDDEN,nword HIDDEN)\x000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^abcdefghijklmnopqrstuvwxyz~\x00SELECT \"%w\" FROM \"%w\"\x00 WHERE \"%w\">=?1 AND \"%w\"=?2 ORDER BY 1\x00SELECT \"%w\" FROM \"%w\" WHERE \"%w\">=?1 ORDER BY 1\x00*\x00DELETE from %s is not allowed\x00UPDATE of %s is not allowed\x00INSERT INTO %s allowed for column [command] only\x00approximate_match\x00int32\x00int64\x00char*\x00CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)\x00carray-bind\x00carray\x00unknown datatype: %Q\x00inttoptr\x00cksmvfs\x00ZV-\x00checksum fault offset %lld of \"%s\"\x00checksum_verification\x00enable%\x00yes\x00on\x00page_size\x00cksm/%z\x00verify_checksum\x00tablename\x00idcolumn\x00parentcolumn\x00CREATE TABLE x(id,depth,root HIDDEN,tablename HIDDEN,idcolumn HIDDEN,parentcolumn HIDDEN)\x00SELECT \"%w\".\"%w\" FROM \"%w\" WHERE \"%w\".\"%w\"=?1\x00transitive_closure\x00rb\x00cannot open '%s' for reading\x00line %d: unescaped %c character\x00line %d: unterminated %c-quoted field\n\x00more than one '%s' parameter\x00true\x00no\x00off\x00false\x00header\x00more than one 'header' parameter\x00testflags\x00columns\x00more than one 'columns' parameter\x00column= value must be positive\x00bad parameter: '%s'\x00must specify either filename= or data= but not both\x00%sc%d TEXT\x00,\x00%s\"%w\" TEXT\x00bad schema: '%s' - %s\x00filename\x00data\x00schema\x00csv\x00csv_wr\x00decimal_sum\x00decimal\x00decimal_cmp\x00decimal_add\x00decimal_sub\x00decimal_mul\x00 \x00eval\x00CREATE TABLE x(addr,opcode,p1,p2,p3,p4,p5,comment,sql HIDDEN)\x00EXPLAIN %s\x00explain\x00wb\x00wrong number of arguments to function writefile()\x00failed to create symlink: %s\x00failed to create directory: %s\x00failed to write file: %s\x00CREATE TABLE x(name,mode,mtime,data,path HIDDEN,dir HIDDEN)\x00cannot read directory: %s\x00%s/%s\x00cannot stat file: %s\x00table function fsdir requires an argument\x00table function fsdir requires a non-NULL argument\x00fsdir\x00readfile\x00writefile\x00lsmode\x00%s: ruleset must be between 0 and %d\x00%s: wrong number of CREATE VIRTUAL TABLE arguments\x00CREATE TABLE x(word,distance,ruleset)\x00fuzzer\x00ieee754(%lld,%d)\x00ieee754\x00ieee754_mantissa\x00ieee754_exponent\x00ieee754_to_blob\x00ieee754_from_blob\x00BEGIN; SELECT * FROM %s%q%ssqlite_schema\x00'\x00'.\x00PRAGMA %s%q%spage_size\x00sqlite3_mmap_warm_cache: Warmed up %d pages of %s\x00END\x00AND (%s)\x00collate \"%w\"\x00SELECT %s FROM %s WHERE %s>=(?1 || ?2) %s AND %s<=(?1 || char(1114111)) %s %s ORDER BY 1 %s ASC LIMIT 1\x00next_char\x00NULL\x00is\x00not\x00in(\x00in(select\x00in(with\x00?,?,?\x002nd argument to percentile() is not a number between 0.0 and 100.0\x002nd argument to percentile() is not the same for all input rows\x001st argument to percentile() is not numeric\x00Inf input to percentile()\x00percentile\x00CREATE TABLE prefixes(prefix TEXT, original_string TEXT HIDDEN)\x00prefixes\x00prefix_length\x00unknown \\ escape\x00afnrtv\\()*.+?[$^{|}]\x00\a\f\n\r\t\v\x00unmatched '('\x00'*' without operand\x00'+' without operand\x00'?' without operand\x00'{m,n}' without operand\x00unmatched '{'\x00n less than m in '{m,n}'\x00both m and n are zero in '{m,n}'\x00POSIX character classes not supported\x00unclosed '['\x00unrecognized character\x00regexp\x00regexpi\x00remember\x00CREATE TABLE x(value,start hidden,stop hidden,step hidden)\x00generate_series() requires SQLite 3.8.12 or later\x00generate_series\x00.ABCDHLRMY9 ?\x00non-ASCII input to editdist()\x00NULL input to editdist()\x00SELECT iLang, cFrom, cTo, iCost FROM \"%w\" WHERE iLang>=0 ORDER BY iLang\x00editdist3\x00DROP TABLE IF EXISTS \"%w\".\"%w_vocab\"\x00CREATE TABLE x(word,rank,distance,langid, score, matchlen, phonehash HIDDEN, top HIDDEN, scope HIDDEN, srchcnt HIDDEN, soundslike HIDDEN, command HIDDEN)\x00CREATE TABLE IF NOT EXISTS \"%w\".\"%w_vocab\"(\n id INTEGER PRIMARY KEY,\n rank INT,\n langid INT,\n word TEXT,\n k1 TEXT,\n k2 TEXT\n);\n\x00CREATE INDEX IF NOT EXISTS \"%w\".\"%w_vocab_index_langid_k2\" ON \"%w_vocab\"(langid,k2);\x00edit_cost_table=\x00bad argument to spellfix1(): \"%s\"\x00SELECT id, word, rank, coalesce(k1,word) FROM \"%w\".\"%w_vocab\" WHERE langid=%d AND k2>=?1 AND k2=%lld\x00AND\x00%z %s rowid<=%lld\x00CREATE TABLE x(value)\x00wholenumber\x00CREATE TABLE y(name PRIMARY KEY,mode,mtime,sz,rawdata,data,method,z HIDDEN) WITHOUT ROWID;\x00zipfile\x00zipfile constructor requires one argument\x00error in fread()\x00error in fwrite()\x00failed to read CDS at offset %lld\x00%.*s\x00failed to read LFH at offset %d\x001.2.11\x00inflateInit2() failed (%d)\x00inflate() failed (%d)\x00zipfile: deflate() error\x00cannot find end of central directory record\x00zipfile() function requires an argument\x00cannot open file: %s\x00-rwxrwxrwx\x00zipfile: mode does not match data\x00zipfile: parse error in mode: %s\x00zipfile: missing filename\x00ab+\x00zipfile: failed to open file %s for writing\x00sz must be NULL\x00rawdata must be NULL\x00unknown compression method: %d\x00%s/\x00duplicate name: \"%s\"\x00{\"version-made-by\" : %u, \"version-to-extract\" : %u, \"flags\" : %u, \"compression\" : %u, \"time\" : %u, \"date\" : %u, \"crc32\" : %u, \"compressed-size\" : %u, \"uncompressed-size\" : %u, \"file-name-length\" : %u, \"extra-field-length\" : %u, \"file-comment-length\" : %u, \"disk-number-start\" : %u, \"internal-attr\" : %u, \"external-attr\" : %u, \"offset\" : %u }\x00zipfile_cds\x00wrong number of arguments to function zipfile()\x00first argument to zipfile() must be non-NULL\x00illegal method value: %d\x00non-directory name must not end with /\x00rbu_delta\x00step\x00close\x00create_rbu_delta\x00savestate\x00dbMain_eval\x00SQL\x00bp_progress\x00db\x00RBU\x00state\x00progress\x00close_no_error\x00temp_size_limit\x00LIMIT\x00temp_size\x00dbRbu_eval\x00METHOD\x00method\x00 - \x00oal\x00move\x00checkpoint\x00done\x00error\x00NAME TARGET-DB RBU-DB ?STATE-DB?\x00NAME TARGET-DB ?STATE-DB?\x00?-default? NAME PARENT\x00NAME\x00sqlite3rbu_db(0, 0)!=0\x00sqlite3rbu\x00sqlite3rbu_vacuum\x00sqlite3rbu_create_vfs\x00sqlite3rbu_destroy_vfs\x00sqlite3rbu_internal_test\x00DB SQL\x00error in sql_exec_changeset()\x00sqlite3session_streams\x00attach\x00changeset\x00delete\x00enable\x00BOOL\x00indirect\x00isempty\x00table_filter\x00SCRIPT\x00patchset\x00diff\x00FROMDB TBL\x00memory_used\x00changeset_size\x00object_config_size\x00CMD DB-HANDLE DB-NAME\x00n\x00i\x00f\x00t\x00b\x00FOREIGN_KEY\x00INSERT\x00UPDATE\x00DELETE\x00DATA\x00NOTFOUND\x00CONFLICT\x00CONSTRAINT\x00OMIT\x00-nosavepoint\x00-invert\x00?-nosavepoint? ?-inverse? DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET\x00CHANGESET\x00LEFT RIGHT\x00-next\x00?-next? ?-invert? VARNAME CHANGESET SCRIPT\x00configure\x00REBASE-BLOB\x00rebase\x00OP VALUE\x00strm_size\x00sqlite3session\x00sqlite3session_foreach\x00sqlite3changeset_invert\x00sqlite3changeset_concat\x00sqlite3changeset_apply\x00sqlite3changeset_apply_v2\x00sqlite3changeset_apply_replace_all\x00sql_exec_changeset\x00sqlite3rebaser_create\x00sqlite3session_config\x00incrblob\x00incrblob_%d\x00%lld\x00sqlite_unlock_notify_arg\x00sqlite_unlock_notify_argcount\x00SQLITE_COPY\x00SQLITE_CREATE_INDEX\x00SQLITE_CREATE_TABLE\x00SQLITE_CREATE_TEMP_INDEX\x00SQLITE_CREATE_TEMP_TABLE\x00SQLITE_CREATE_TEMP_TRIGGER\x00SQLITE_CREATE_TEMP_VIEW\x00SQLITE_CREATE_TRIGGER\x00SQLITE_CREATE_VIEW\x00SQLITE_DELETE\x00SQLITE_DROP_INDEX\x00SQLITE_DROP_TABLE\x00SQLITE_DROP_TEMP_INDEX\x00SQLITE_DROP_TEMP_TABLE\x00SQLITE_DROP_TEMP_TRIGGER\x00SQLITE_DROP_TEMP_VIEW\x00SQLITE_DROP_TRIGGER\x00SQLITE_DROP_VIEW\x00SQLITE_INSERT\x00SQLITE_PRAGMA\x00SQLITE_READ\x00SQLITE_SELECT\x00SQLITE_TRANSACTION\x00SQLITE_UPDATE\x00SQLITE_ATTACH\x00SQLITE_DETACH\x00SQLITE_ALTER_TABLE\x00SQLITE_REINDEX\x00SQLITE_ANALYZE\x00SQLITE_CREATE_VTABLE\x00SQLITE_DROP_VTABLE\x00SQLITE_FUNCTION\x00SQLITE_SAVEPOINT\x00SQLITE_RECURSIVE\x00????\x00SQLITE_DENY\x00SQLITE_IGNORE\x00RELEASE _tcl_transaction\x00COMMIT\x00ROLLBACK TO _tcl_transaction ; RELEASE _tcl_transaction\x00option\x00?CALLBACK?\x00?DATABASE? FILENAME\x00cannot open target database: \x00backup failed: \x00CALLBACK\x00cache option ?arg?\x00flush\x00size\x00size n\x00cannot convert \"\x00\" to integer\x00bad option \"\x00\": must be flush or size\x00NAME SCRIPT\x00?OPTION? ?BOOLEAN?\x00unknown config option: \"\x00\"\x00CONFLICT-ALGORITHM TABLE FILENAME ?SEPARATOR? ?NULLINDICATOR?\x00\t\x00Error: non-null separator required for copy\x00rollback\x00abort\x00fail\x00ignore\x00replace\x00Error: \"\x00\", conflict-algorithm must be one of: rollback, abort, fail, ignore, or replace\x00SELECT * FROM '%q'\x00Error: no such table: \x00Error: \x00Error: can't malloc()\x00INSERT OR %q INTO '%q' VALUES(?\x00Error: cannot open file: \x00BEGIN\x00Error: %s line %d: expected %d columns of data but found %d\x00, failed while processing line: \x00?DATABASE? VALUE\x00-maxsize\x00-readonly\x00unknown option: \x00unable to set MEMDB content\x00extension loading is turned off at compile-time\x00-withoutnulls\x00unknown option: \"\x00?OPTIONS? SQL ?ARRAY-NAME? ?SCRIPT?\x00NAME ?SWITCHES? SCRIPT\x00-argcount\x00option requires an argument: \x00number of arguments must be non-negative\x00-deterministic\x00-directonly\x00-innocuous\x00-returntype\x00real\x00text\x00blob\x00any\x00type\x00\": must be -argcount, -deterministic, -directonly, -innocuous, or -returntype\x00?-readonly? ?DB? TABLE COLUMN ROWID\x00NULLVALUE\x00N CALLBACK\x00KEY\x00cannot open source database: \x00restore failed: \x00restore failed: source database busy\x00?DATABASE?\x00(step|sort|autoindex)\x00sort\x00autoindex\x00vmstep\x00bad argument: should be autoindex, step, sort or vmstep\x00MILLISECONDS\x00?CALLBACK? ?MASK?\x00trace type\x00SAVEPOINT _tcl_transaction\x00[TYPE] SCRIPT\x00transaction type\x00BEGIN EXCLUSIVE\x00BEGIN IMMEDIATE\x00?SCRIPT?\x00SUB-COMMAND ?ARGS?\x00hook ?SCRIPT?\x00INDEX\x00-use-legacy-prepare\x00-last-stmt-ptr\x00%p\x00unknown argument: \x00authorizer\x00backup\x00bind_fallback\x00busy\x00cache\x00changes\x00collate\x00collation_needed\x00commit_hook\x00complete\x00config\x00copy\x00deserialize\x00enable_load_extension\x00errorcode\x00exists\x00function\x00interrupt\x00last_insert_rowid\x00nullvalue\x00onecolumn\x00preupdate\x00profile\x00rekey\x00restore\x00rollback_hook\x00serialize\x00status\x00timeout\x00total_changes\x00trace\x00trace_v2\x00transaction\x00unlock_notify\x00update_hook\x00version\x00wal_hook\x00defensive\x00dqs_ddl\x00dqs_dml\x00enable_fkey\x00enable_qpsg\x00enable_trigger\x00enable_view\x00fts3_tokenizer\x00legacy_alter_table\x00legacy_file_format\x00load_extension\x00no_ckpt_on_close\x00reset_database\x00trigger_eqp\x00trusted_schema\x00writable_schema\x00statement\x00row\x00deferred\x00exclusive\x00immediate\x00depth\x00hook\x00new\x00old\x00HANDLE ?FILENAME? ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nofollow BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?\x00-version\x00-sourceid\x00-has-codec\x000\x00-key\x00-vfs\x00-create\x00-nofollow\x00-nomutex\x00-fullmutex\x00-uri\x00-translatefilename\x00sqlite3\x00sqlite\x003.36.0\x00if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewline \"% \"\n}\nflush stdout\nappend line [gets stdin]\nif {[info complete $line]} {\nif {[catch {uplevel #0 $line} result]} {\nputs stderr \"Error: $result\"\n} elseif {$result!=\"\"} {\nputs $result\n}\nset line {}\n} else {\nappend line \\n\n}\n}\n}\n\x00SQLITE_DEBUG_BREAK\x00attach debugger to process %d and press any key to continue.\n\x00utf-8\x00argc\x00argv0\x00argv\x00errorInfo\x00%s: %s\n\x00SQLITE-CONNECTION\x00command not found: \x00error code %s (%d) does not match sqlite3_errcode %s (%d)\x00OMIT_MISUSE\x00wrong # args: should be \"\x00 DB FORMAT STRING\x00 DB HEX\x00 DB\x00 DB SQL\x00%z%s%s\x00%s%n\x00abcdefghijklmnopqrstuvwxyz\x00 DB FORMAT STRING ?COUNT?\x00 DB\"\x00 FILENAME\"\x00%02x\x00%04x\x00tkt2213 is not fixed\x00text16\x00bytes\x00bytes16\x00noop\x00x_coalesce\x00hex8\x00hex16\x00tkt2213func\x00pointer_change\x00counter1\x00counter2\x00intreal\x00x_sqlite_exec\x00value of 40 handed to x_count\x00x_count totals to 42\x00x_count\x00legacy_count\x00 TEXT\"\x00 FORMAT INT INT INT\"\x00argument is not a valid 64-bit integer\x00 FORMAT INT INT ?STRING?\"\x00 INT FORMAT INT INT ?STRING?\"\x00N must be non-negative\x00 FORMAT INT INT DOUBLE\"\x00 FORMAT DOUBLE DOUBLE\"\x00 FORMAT STRING\"\x00%08x%08x\x002nd argument should be 16-characters of hex\x00?BOOLEAN?\x00DB BOOLEAN\x00DB dbname tblname colname\x00CHANNEL ROWID\x00DB-HANDLE NAME CMP-PROC DEL-PROC\x00sqlite3_create_collate_v2() failed to detect an invalid encoding\x00utf8\x00utf16\x00utf16le\x00utf16be\x00DB NAME NARG ENC SWITCHES...\x00encoding\x00-func\x00-step\x00-final\x00-destroy\x00switch\x00DB-HANDLE FILE ?PROC?\x00this build omits sqlite3_load_extension()\x00DB-HANDLE ONOFF\x00string\x00value\x00first argument should be one of: int int64 string double null value\x00 DB FUNCTION-NAME\x00 \x00STMT PARAMETER RESETFLAG\x00SQLITE_STMTSTATUS_FULLSCAN_STEP\x00SQLITE_STMTSTATUS_SORT\x00SQLITE_STMTSTATUS_AUTOINDEX\x00SQLITE_STMTSTATUS_VM_STEP\x00SQLITE_STMTSTATUS_REPREPARE\x00SQLITE_STMTSTATUS_RUN\x00SQLITE_STMTSTATUS_MEMUSED\x00NBYTE\x00DB DBNAME\x00DB DBNAME SNAPSHOT\x00SNAPSHOT\x00SNAPSHOT1 SNAPSHOT2\x00bad SNAPSHOT\x00FILE\x00PATH\x00 DB STMT\x00 STMT\x00 FROM-STMT TO-STMT\x00 VM IDX VALUE (null|static|normal)\"\x00static\x00static-nbytes\x00normal\x00blob10\x00abc\x00xyz\x00pq\x004th argument should be \"null\" or \"static\" or \"normal\"\x00(%d) \x00test_collate\x00UTF-8\x00UTF-16LE\x00UTF-16BE\x00 \x00utf16bin\x00utf16_unaligned\x00utf16_aligned\x00test_function\x00\x00STMT IDX N\x00 STMT N VALUE\x00NaN\x00SNaN\x00-NaN\x00-SNaN\x00+Inf\x00-Inf\x00Epsilon\x00-Epsilon\x00NaN0\x00-NaN0\x00 STMT N\x00 STMT N VALUE BYTES\x00 STMT N DATA BYTES\x00cannot use %d blob bytes, have %d\x00-transient\x00-static\x00-int32\x00-int64\x00-double\x00-text\x00--\x00text data must be either -static or -transient\x00cannot be both -static and -transient\x00[OPTIONS] STMT IDX VALUE ...\x00STMT\x00STMT N\x00STMT NAME\x00 DB sql bytes ?tailvar?\x00 DB sql bytes tailvar\x00 DB sql bytes flags tailvar\x00\x00SELECT 1\x00 filename options-list\x00FILENAME FLAGS VFS\x00SQLITE_OPEN_READONLY\x00SQLITE_OPEN_READWRITE\x00SQLITE_OPEN_CREATE\x00SQLITE_OPEN_DELETEONCLOSE\x00SQLITE_OPEN_EXCLUSIVE\x00SQLITE_OPEN_AUTOPROXY\x00SQLITE_OPEN_MAIN_DB\x00SQLITE_OPEN_TEMP_DB\x00SQLITE_OPEN_TRANSIENT_DB\x00SQLITE_OPEN_MAIN_JOURNAL\x00SQLITE_OPEN_TEMP_JOURNAL\x00SQLITE_OPEN_SUBJOURNAL\x00SQLITE_OPEN_SUPER_JOURNAL\x00SQLITE_OPEN_NOMUTEX\x00SQLITE_OPEN_FULLMUTEX\x00SQLITE_OPEN_SHAREDCACHE\x00SQLITE_OPEN_PRIVATECACHE\x00SQLITE_OPEN_WAL\x00SQLITE_OPEN_URI\x00flag\x00\x00 STMT column\x00FLOAT\x00TEXT\x00BLOB\x00 DB MAGIC\x00SQLITE_MAGIC_OPEN\x00SQLITE_MAGIC_CLOSED\x00SQLITE_MAGIC_BUSY\x00SQLITE_MAGIC_ERROR\x00 DB function-name\x00VARIABLE\x00?N?\x001234567890000000\x00__one\x00__two\x00notadatabase\x00Unexpected non-zero errno: \x00DB [DBNAME]\x00%u\x00DB DBNAME SIZE\x00 DB PWD\x00 DB FLAG\x00%d %d\x00 DB ?AUXDB?\x00DB N\x00 DB ID VALUE\x00unknown limit type: \x00SQLITE_LIMIT_LENGTH\x00SQLITE_LIMIT_SQL_LENGTH\x00SQLITE_LIMIT_COLUMN\x00SQLITE_LIMIT_EXPR_DEPTH\x00SQLITE_LIMIT_COMPOUND_SELECT\x00SQLITE_LIMIT_VDBE_OP\x00SQLITE_LIMIT_FUNCTION_ARG\x00SQLITE_LIMIT_ATTACHED\x00SQLITE_LIMIT_LIKE_PATTERN_LENGTH\x00SQLITE_LIMIT_VARIABLE_NUMBER\x00SQLITE_LIMIT_TRIGGER_DEPTH\x00SQLITE_LIMIT_WORKER_THREADS\x00SQLITE_LIMIT_TOOSMALL\x00SQLITE_LIMIT_TOOBIG\x00SEED ?DB?\x00BOOLEAN\x00current\x00max\x00min\x00recyclable\x00DB ?NAME?\x00passive\x00full\x00restart\x00truncate\x00DB MODE ?NAME?\x00mode\x00DB VALUE\x00COMMAND ...\x00command has no objProc: \x00%d %d %d %s\n\x00SQLITE_TESTCTRL_LOCALTIME_FAULT\x00SQLITE_TESTCTRL_SORTER_MMAP\x00SQLITE_TESTCTRL_IMPOSTER\x00SQLITE_TESTCTRL_INTERNAL_FUNCTIONS\x00VERB ARGS...\x00VERB\x00ONOFF\x00DB LIMIT\x00DB dbName onOff tnum\x00ru_utime=%d.%06d ru_stime=%d.%06d ru_minflt=%d ru_majflt=%d\x00DB OPT BOOLEAN\x00unknown optimization - should be one of:\x00all\x00none\x00query-flattener\x00groupby-order\x00factor-constants\x00distinct-opt\x00cover-idx-scan\x00order-by-idx-join\x00transitive\x00omit-noop-join\x00stat4\x00skip-scan\x00push-down\x00DB NAME ...\x00no such extension: \x00initialization of \x00 failed: \x00amatch\x00appendvfs\x00closure\x00fileio\x00nextchar\x00series\x00spellfix\x00totype\x00DB SQL1 NSTEP SQL2\x00data error: (a!=b)\x00checksum mismatch\x00sql error: \x00TYPE\x00Deliberate panic\x00DB SETTING [VALUE]\x00SQLITE_*\x00DBCONFIG_*\x00ENABLE_*\x00unknown sqlite3_db_config setting\x00FKEY\x00TRIGGER\x00FTS3_TOKENIZER\x00LOAD_EXTENSION\x00NO_CKPT_ON_CLOSE\x00QPSG\x00TRIGGER_EQP\x00RESET_DB\x00DEFENSIVE\x00WRITABLE_SCHEMA\x00LEGACY_ALTER_TABLE\x00DQS_DML\x00DQS_DDL\x00LEGACY_FILE_FORMAT\x00DB ?SCHEMA?\x00icecube\x00DB ?DBNAME?\x00DB OFFSET DATA\x00HEXDB\x00| size %d pagesize %d\x00bad 'pagesize' field\x00bad 'size' field\x00| page %d offset %d\x00| %d: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\x00sqlite_search_count\x00sqlite_found_count\x00sqlite_sort_count\x00sqlite3_max_blobsize\x00sqlite_like_count\x00sqlite_interrupt_count\x00sqlite_open_file_count\x00sqlite_current_time\x00sqlite3_xferopt_count\x00sqlite3_pager_readdb_count\x00sqlite3_pager_writedb_count\x00sqlite3_pager_writej_count\x00unaligned_string_counter\x00sqlite_last_needed_collation\x00sqlite_query_plan\x00sqlite_opentemp_count\x00sqlite_static_bind_value\x00sqlite_static_bind_nbyte\x00sqlite_temp_directory\x00sqlite_data_directory\x00bitmask_size\x00longdouble_size\x00sqlite_sync_count\x00sqlite_fullsync_count\x00db_enter\x00db_leave\x00sqlite3_mprintf_int\x00sqlite3_mprintf_int64\x00sqlite3_mprintf_long\x00sqlite3_mprintf_str\x00sqlite3_snprintf_str\x00sqlite3_mprintf_stronly\x00sqlite3_mprintf_double\x00sqlite3_mprintf_scaled\x00sqlite3_mprintf_hexdouble\x00sqlite3_mprintf_z_test\x00sqlite3_mprintf_n_test\x00sqlite3_snprintf_int\x00sqlite3_last_insert_rowid\x00sqlite3_exec_printf\x00sqlite3_exec_hex\x00sqlite3_exec\x00sqlite3_exec_nr\x00sqlite3_get_table_printf\x00sqlite3_close\x00sqlite3_close_v2\x00sqlite3_create_function\x00sqlite3_create_aggregate\x00sqlite3_drop_modules\x00sqlite_register_test_function\x00sqlite_abort\x00sqlite_bind\x00breakpoint\x00sqlite3_key\x00sqlite3_rekey\x00sqlite_set_magic\x00sqlite3_interrupt\x00sqlite_delete_function\x00sqlite_delete_collation\x00sqlite3_get_autocommit\x00sqlite3_busy_timeout\x00printf\x00sqlite3IoTrace\x00clang_sanitize_address\x00sqlite3_db_config\x00sqlite3_txn_state\x00bad_behavior\x00register_dbstat_vtab\x00sqlite3_connection_pointer\x00intarray_addr\x00int64array_addr\x00doublearray_addr\x00textarray_addr\x00sqlite3_bind_int\x00sqlite3_bind_zeroblob\x00sqlite3_bind_zeroblob64\x00sqlite3_bind_int64\x00sqlite3_bind_double\x00sqlite3_bind_null\x00sqlite3_bind_text\x00sqlite3_bind_text16\x00sqlite3_bind_blob\x00sqlite3_carray_bind\x00sqlite3_bind_parameter_count\x00sqlite3_bind_parameter_name\x00sqlite3_bind_parameter_index\x00sqlite3_clear_bindings\x00sqlite3_sleep\x00sqlite3_errcode\x00sqlite3_extended_errcode\x00sqlite3_errmsg\x00sqlite3_errmsg16\x00sqlite3_open\x00sqlite3_open16\x00sqlite3_open_v2\x00sqlite3_complete16\x00sqlite3_normalize\x00sqlite3_prepare\x00sqlite3_prepare16\x00sqlite3_prepare_v2\x00sqlite3_prepare_v3\x00sqlite3_prepare_tkt3134\x00sqlite3_prepare16_v2\x00sqlite3_finalize\x00sqlite3_stmt_status\x00sqlite3_reset\x00sqlite3_expired\x00sqlite3_transfer_bindings\x00sqlite3_changes\x00sqlite3_step\x00sqlite3_sql\x00sqlite3_expanded_sql\x00sqlite3_next_stmt\x00sqlite3_stmt_readonly\x00sqlite3_stmt_isexplain\x00sqlite3_stmt_busy\x00uses_stmt_journal\x00sqlite3_release_memory\x00sqlite3_db_release_memory\x00sqlite3_db_cacheflush\x00sqlite3_system_errno\x00sqlite3_db_filename\x00sqlite3_db_readonly\x00sqlite3_soft_heap_limit\x00sqlite3_soft_heap_limit64\x00sqlite3_hard_heap_limit64\x00sqlite3_thread_cleanup\x00sqlite3_pager_refcounts\x00sqlite3_load_extension\x00sqlite3_enable_load_extension\x00sqlite3_extended_result_codes\x00sqlite3_limit\x00dbconfig_maindbname_icecube\x00save_prng_state\x00restore_prng_state\x00reset_prng_state\x00prng_seed\x00extra_schema_checks\x00database_never_corrupt\x00database_may_be_corrupt\x00optimization_control\x00tcl_objproc\x00sqlite3_column_count\x00sqlite3_data_count\x00sqlite3_column_type\x00sqlite3_column_blob\x00sqlite3_column_double\x00sqlite3_column_int64\x00sqlite3_column_text\x00sqlite3_column_name\x00sqlite3_column_int\x00sqlite3_column_bytes\x00sqlite3_column_decltype\x00sqlite3_column_database_name\x00sqlite3_column_table_name\x00sqlite3_column_origin_name\x00sqlite3_column_bytes16\x00sqlite3_column_text16\x00sqlite3_column_name16\x00add_alignment_test_collations\x00sqlite3_column_decltype16\x00sqlite3_column_database_name16\x00sqlite3_column_table_name16\x00sqlite3_column_origin_name16\x00sqlite3_create_collation_v2\x00sqlite3_global_recover\x00working_64bit_int\x00vfs_unlink_test\x00vfs_initfail_test\x00vfs_unregister_all\x00vfs_reregister_all\x00file_control_test\x00file_control_lasterrno_test\x00file_control_lockproxy_test\x00file_control_chunksize_test\x00file_control_sizehint_test\x00file_control_data_version\x00file_control_persist_wal\x00file_control_powersafe_overwrite\x00file_control_vfsname\x00file_control_reservebytes\x00file_control_tempfilename\x00file_control_external_reader\x00sqlite3_vfs_list\x00sqlite3_create_function_v2\x00add_test_collate\x00add_test_collate_needed\x00add_test_function\x00add_test_utf16bin_collate\x00sqlite3_test_errstr\x00tcl_variable_type\x00sqlite3_enable_shared_cache\x00sqlite3_shared_cache_report\x00sqlite3_libversion_number\x00sqlite3_table_column_metadata\x00sqlite3_blob_reopen\x00pcache_stats\x00sqlite3_unlock_notify\x00sqlite3_wal_checkpoint\x00sqlite3_wal_checkpoint_v2\x00sqlite3_wal_autocheckpoint\x00test_sqlite3_log\x00print_explain_query_plan\x00sqlite3_test_control\x00getrusage\x00load_static_extension\x00sorter_test_fakeheap\x00sorter_test_sort4_helper\x00vfs_current_time_int64\x00sqlite3_snapshot_get\x00sqlite3_snapshot_open\x00sqlite3_snapshot_free\x00sqlite3_snapshot_cmp\x00sqlite3_snapshot_recover\x00sqlite3_snapshot_get_blob\x00sqlite3_snapshot_open_blob\x00sqlite3_snapshot_cmp_blob\x00sqlite3_delete_database\x00atomic_batch_write\x00sqlite3_mmap_warm\x00sqlite3_config_sorterref\x00decode_hexdb\x00test_write_db\x00sqlite3_register_cksumvfs\x00sqlite3_unregister_cksumvfs\x00*** OBSOLETE VARIABLE ***\x00 FILENAME N-PAGE\"\x00 ID\"\x00ref\x00page\x00err\x00hit\x00miss\x00ovfl\x00 ID PGNO\"\x00 PAGE\"\x00 PAGE DATA\"\x00 N-MEGABYTES FILE\"\x00open failed: \x00Hello, World!\x00write failed: \x00 PENDING-BYTE\"\x00fault simulator script failed: [%s]\x00 SCRIPT\"\x00 SIZE PROGRAM\"\x00sqlite_io_error_pending\x00sqlite_io_error_persist\x00sqlite_io_error_hit\x00sqlite_io_error_hardhit\x00sqlite_diskfull_pending\x00sqlite_diskfull\x00sqlite_pending_byte\x00pager_open\x00pager_close\x00pager_commit\x00pager_rollback\x00pager_stmt_begin\x00pager_stmt_commit\x00pager_stmt_rollback\x00pager_stats\x00pager_pagecount\x00page_get\x00page_lookup\x00page_unref\x00page_read\x00page_write\x00page_number\x00pager_truncate\x00fake_big_file\x00sqlite3BitvecBuiltinTest\x00sqlite3_test_control_pending_byte\x00sqlite3_test_control_fault_install\x00 FILENAME NCACHE FLAGS\"\x00read\x00write\x00 ID TABLENUM WRITEABLE\"\x00 START MULTIPLIER COUNT INCREMENT\"\x00putVarint returned %d - should be between 1 and 9\x00putVarint returned %d and getVarint returned %d\x00Wrote 0x%016llx and got back 0x%016llx\x00putVarint returned %d and GetVarint32 returned %d\x00Wrote 0x%016llx and got back 0x%016llx from GetVarint32\x00 DB-HANDLE ?N?\"\x00No such db-handle: \"\x00 BT NCACHE\"\x00?-intkey? CSR KEY VALUE\x00btree_insert\x00btree_open\x00btree_close\x00btree_begin_transaction\x00btree_pager_stats\x00btree_cursor\x00btree_close_cursor\x00btree_next\x00btree_eof\x00btree_payload_size\x00btree_first\x00btree_varint_test\x00btree_from_db\x00btree_ismemdb\x00btree_set_cache_size\x00thread ID must be an upper case letter\x00 ID FILENAME\x00thread \x00 is already running\x00failed to create the thread\x00 ID\x00no such thread\x00 ID N\x00column number out of range\x00no database is open\x00 ID SQL\x00no virtual machine available\x00 IDL\x00 ID1 ID2\x00 ID DB\x00thread_create\x00thread_wait\x00thread_halt\x00thread_argc\x00thread_argv\x00thread_colname\x00thread_result\x00thread_error\x00thread_compile\x00thread_step\x00thread_finalize\x00thread_swap\x00thread_db_get\x00thread_db_put\x00thread_stmt_get\x00 \x00hello world\x00UTF8\x00UTF16LE\x00UTF16BE\x00UTF16\x00No such encoding: \x00 \x00binarize\x00test_value_overhead\x00test_translate\x00translate_selftest\x00out of memory in the crash simulator\n\x00atomic\x00atomic512\x00atomic1k\x00atomic2k\x00atomic4k\x00atomic8k\x00atomic16k\x00atomic32k\x00atomic64k\x00sequential\x00safe_append\x00powersafe_overwrite\x00batch-atomic\x00-sectorsize\x00-characteristics\x00Bad option: \"\x00\" - must be \"-characteristics\" or \"-sectorsize\"\x00Option requires an argument: \"\x00no such flag\x00ENABLE ?DEFAULT?\x00crash\x00?OPTIONS? DELAY CRASHFILE\x00Filename is too long: \"\x00NWRITE\x00?-default? PARENT-VFS\x00-default\x00\": must be -default\x00Error in jt_register\x00sqlite3_crash_enable\x00sqlite3_crashparams\x00sqlite3_crash_now\x00sqlite3_simulate_device\x00sqlite3_crash_on_write\x00unregister_devsim\x00register_jt_vfs\x00unregister_jt_vfs\x00client_create\x00client_wait\x00client_halt\x00client_argc\x00client_argv\x00client_colname\x00client_result\x00client_error\x00client_compile\x00client_step\x00client_reset\x00client_finalize\x00client_swap\x00echo_module_fail(%s,%s)\x00echo-vtab-error: %s\x00SELECT * FROM %Q\x00PRAGMA index_list(%s)\x00PRAGMA index_info(%s)\x00echo_module\x00SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = ?\x00%s%s\x00xCreate\x00CREATE TABLE %Q(logmsg)\x00xConnect\x00xDisconnect\x00xDestroy\x00DROP TABLE %Q\x00xOpen\x00xNext\x00xColumn\x00xFilter\x00, *\x00%z, %s\x00%z, NULL\x00echo_module_ignore_usable\x00xBestIndex\x00echo_module_cost\x00SELECT count(*) FROM %Q\x00SELECT rowid%z FROM %Q\x00rowid\x00=\x00<\x00>\x00<=\x00>=\x00LIKE\x00like\x00glob\x00 %s %s LIKE (SELECT '%%'||?||'%%')\x00 %s %s %s ?\x00DESC\x00ASC\x00 ORDER BY %s %s\x00xUpdate\x00 SET\x00UPDATE %Q\x00 SET rowid=?1 \x00%s %Q=?%d\x00 WHERE rowid=?%d\x00DELETE FROM %Q WHERE rowid = ?1\x00INSERT INTO %Q (\x00%s%Q\x00%s?%d\x00) VALUES(\x00echo(%s)\x00xBegin\x00echo_module_begin_fail\x00xSync\x00echo_module_sync_fail\x00xCommit\x00xRollback\x00::echo_glob_overload\x00xRename\x00ALTER TABLE %s RENAME TO %s%s\x00function_that_does_not_exist_0982ma98\x00echo\x00echo_v2\x00register_echo_module\x00sqlite3_declare_vtab\x00N/A\x00sqlite3_create_collation\x00Error testing function: \x00sqlite3_malloc\x00sqlite3_realloc\x00c_misuse_test\x00c_realloc_test\x00c_collation_test\x00sqlite3_reset_auto_extension\x00npage\x00finish\x00remaining\x00pagecount\x00CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME\x00sqlite3_backup_init() failed\x00sqlite3_backup\x00wrong number of arguments\x00unexpected: %s\x00eq\x00gt\x00le\x00lt\x00ge\x00match\x00ne\x00isnot\x00isnotnull\x00isnull\x00op\x00column\x00usable\x00desc\x00cost\x00orderby\x00idxnum\x00idxstr\x00rows\x00use\x00omit\x00unexpected: %d\x00tcl\x00register_tcl_module\x00incrblob_\x00DB DATABASE TABLE COLUMN ROWID FLAGS VARNAME\x00HANDLE\x00CHANNEL OFFSET N\x00out of memory in testdata/sqlite-src-3360000/src/test_blob.c\x00HANDLE OFFSET DATA ?NDATA?\x00sqlite3_blob_open\x00sqlite3_blob_close\x00sqlite3_blob_bytes\x00sqlite3_blob_read\x00sqlite3_blob_write\x00sqlite_options\x00malloc_usable_size\x001\x00rowid32\x00casesensitivelike\x00configslower\x001.0\x00curdir\x00win32malloc\x00debug\x00default_ckptfullfsync\x00direct_read\x00dirsync\x00lfs\x00pagecache_overflow_stats\x00mmap\x00worker_threads\x008\x00memdebug\x008_3_names\x00cursorhints\x00hiddencolumns\x00mathlib\x00mem3\x00mem5\x00offset_sql_func\x00snapshot\x00mutex\x00mutex_noop\x00altertable\x00api_armor\x00atomicwrite\x00geopoly\x00json1\x00has_codec\x00like_match_blobs\x00auth\x00autoinc\x00autoreset\x00autovacuum\x00default_autovacuum\x00between_opt\x00builtin_test\x00bloblit\x00cast\x00check\x00cte\x00columnmetadata\x00oversize_cell_check\x00compileoption_diags\x00compound\x00conflict\x00crashtest\x00datetime\x00decltype\x00deprecated\x00diskio\x00floatingpoint\x00foreignkey\x00fts1\x00fts2\x00fts3\x00fts5\x00fts3_unicode\x00fts4_deferred\x00gettable\x00icu\x00icu_collations\x00integrityck\x00legacyformat\x00like_opt\x00load_ext\x00localtime\x00lookaside\x00long_double\x00memorydb\x00memorymanage\x00mergesort\x00null_trim\x00or_opt\x00rbu\x00pager_pragmas\x00pragma\x00reindex\x00rtree\x00rtree_int_only\x00schema_pragmas\x00schema_version\x00session\x00stmtvtab\x00scanstatus\x00lock_proxy_pragmas\x00prefer_proxy_locking\x00shared_cache\x00subquery\x00tclvar\x00threadsafe\x00threadsafe1\x00threadsafe2\x00tempdb\x00trigger\x00truncate_opt\x00vacuum\x00view\x00vtab\x00wal\x00wsd\x00update_delete_limit\x00fast_secure_delete\x00secure_delete\x00userauth\x00multiplex_ext_overwrite\x00yytrackmaxstackdepth\x00sqllog\x00uri_00_error\x00normalize\x00windowfunc\x00SQLITE_MAX_LENGTH\x00SQLITE_MAX_COLUMN\x00SQLITE_MAX_SQL_LENGTH\x00SQLITE_MAX_EXPR_DEPTH\x00SQLITE_MAX_COMPOUND_SELECT\x00SQLITE_MAX_VDBE_OP\x00SQLITE_MAX_FUNCTION_ARG\x00SQLITE_MAX_VARIABLE_NUMBER\x00SQLITE_MAX_PAGE_SIZE\x00SQLITE_MAX_PAGE_COUNT\x00SQLITE_MAX_LIKE_PATTERN_LENGTH\x00SQLITE_MAX_TRIGGER_DEPTH\x00SQLITE_DEFAULT_CACHE_SIZE\x00SQLITE_DEFAULT_PAGE_SIZE\x00SQLITE_DEFAULT_FILE_FORMAT\x00SQLITE_DEFAULT_SYNCHRONOUS\x00SQLITE_DEFAULT_WAL_SYNCHRONOUS\x00SQLITE_MAX_ATTACHED\x00SQLITE_MAX_DEFAULT_PAGE_SIZE\x00SQLITE_MAX_WORKER_THREADS\x00TEMP_STORE\x00__GNUC__\x00%s-journal\x00%s-wal\x00%s-shm\x00%s%03d\x00%s-journal%03d\x00%s-wal%03d\x00devsym\x00writecrash\x00CREATE TABLE xyz(dir, name);\x00CREATE TABLE xyz(path, size, data);\x00WITH r(d) AS ( SELECT CASE WHEN dir=?2 THEN ?3 ELSE dir END || '/' || name FROM fsdir WHERE dir=?1 AND name NOT LIKE '.%' UNION ALL SELECT dir || '/' || name FROM r, fsdir WHERE dir=d AND name NOT LIKE '.%') SELECT d FROM r;\x00/\x00CREATE TABLE x(path TEXT, data TEXT)\x00SELECT * FROM %Q.%Q WHERE rowid=?\x00fs\x00fstree\x00register_fs_module\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-!,:*^+=_|?/<> \x00sqlite3_prepare_v2() error: %s\x000123456789abcdef\x00x'\x00test_agg_errmsg16\x00randstr\x00test_destructor\x00test_destructor16\x00hex_to_utf16be\x00hex_to_utf16le\x00hex_to_utf8\x00test_destructor_count\x00test_auxdata\x00test_error\x00test_eval\x00test_isolation\x00test_counter\x00real2hex\x00test_decode\x00test_extract\x00test_zeroblob\x00test_getsubtype\x00test_setsubtype\x00test_frombind\x00tx\x00funcxx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00nullx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00sqlite3_create_function abused test failed\x00invalid matchinfo blob passed to function rank()\x00wrong number of arguments to function rank()\x00rank\x00autoinstall_test_functions\x00abuse_create_function\x00install_fts3_rank_function\x000123456789ABCDEF\x00FILENAME OFFSET AMT\x00r\x00cannot open input file \x00FILENAME OFFSET HEXDATA\x00r+b\x00r+\x00cannot open output file \x00HEXDATA\x00[utf8_to_utf8] unavailable - SQLITE_DEBUG not defined\x00BLOB VARNAME\x00LIST\x00hexio_read\x00hexio_write\x00hexio_get_int\x00hexio_render_int16\x00hexio_render_int32\x00utf8_to_utf8\x00read_fts3varint\x00make_fts3record\x00mem\x00pcache\x00Unknown argument: \"\x00init_wrapper_install\x00init_wrapper_query\x00init_wrapper_uninstall\x00init_wrapper_clear\x00CREATE TABLE x(value INTEGER PRIMARY KEY)\x00CREATE VIRTUAL TABLE temp.%Q USING %Q\x00INTARRAY\x00SQLITE_NOMEM\x00sqlite3_intarray_create\x00sqlite3_intarray_bind\x00jt\x00-journal\x00NBYTES\x00PRIOR NBYTES\x00bad pointer: \x00PRIOR\x00ADDRESS SIZE HEX\x00size must be positive\x00no data\x00ADDRESS SIZE\x00?RESET?\x00DEPT\x00FILENAME\x00COUNTER ?OPTIONS?\x00-repeat\x00-benigncnt\x00TITLE\x00SUB-COMMAND ...\x00start\x00stop\x00dump\x00clear\x00sync\x00SIZE N\x00INSTALLFLAG DISCARDCHANCE PRNGSEEED HIGHSTRESS\x00discard-chance should be between 0 and 100\x00SIZE COUNT\x00BUFID SIZE COUNT\x00illegal arguments - see documentation\x00NBYTE NMINALLOC\x00[DB]\x00sqlite3_db_config(db, 99999) does not return SQLITE_ERROR\x00sqlite3_config(99999) does not return SQLITE_ERROR\x00PARAMETER RESETFLAG\x00SQLITE_STATUS_MEMORY_USED\x00SQLITE_STATUS_MALLOC_SIZE\x00SQLITE_STATUS_PAGECACHE_USED\x00SQLITE_STATUS_PAGECACHE_OVERFLOW\x00SQLITE_STATUS_PAGECACHE_SIZE\x00SQLITE_STATUS_SCRATCH_USED\x00SQLITE_STATUS_SCRATCH_OVERFLOW\x00SQLITE_STATUS_SCRATCH_SIZE\x00SQLITE_STATUS_PARSER_STACK\x00SQLITE_STATUS_MALLOC_COUNT\x00DB PARAMETER RESETFLAG\x00SQLITE_\x00DBSTATUS_\x00LOOKASIDE_USED\x00CACHE_USED\x00SCHEMA_USED\x00STMT_USED\x00LOOKASIDE_HIT\x00LOOKASIDE_MISS_SIZE\x00LOOKASIDE_MISS_FULL\x00CACHE_HIT\x00CACHE_MISS\x00CACHE_WRITE\x00DEFERRED_FKS\x00CACHE_USED_SHARED\x00CACHE_SPILL\x00?INTEGER?\x00sqlite3_free\x00memset\x00memget\x00sqlite3_memory_used\x00sqlite3_memory_highwater\x00sqlite3_memdebug_backtrace\x00sqlite3_memdebug_dump\x00sqlite3_memdebug_fail\x00sqlite3_memdebug_pending\x00sqlite3_memdebug_settitle\x00sqlite3_memdebug_malloc_count\x00sqlite3_memdebug_log\x00sqlite3_config_pagecache\x00sqlite3_config_alt_pcache\x00sqlite3_status\x00sqlite3_db_status\x00install_malloc_faultsim\x00sqlite3_config_heap\x00sqlite3_config_heap_size\x00sqlite3_config_memstatus\x00sqlite3_config_lookaside\x00sqlite3_config_error\x00sqlite3_config_uri\x00sqlite3_config_cis\x00sqlite3_config_pmasz\x00sqlite3_db_config_lookaside\x00sqlite3_dump_memsys3\x00sqlite3_dump_memsys5\x00sqlite3_install_memsys3\x00sqlite3_memdebug_vfs_oom_test\x00%05u\x00 FILENAME [OFFSET AMT]\"\x00unable to open file \"\x00\" for reading\x00md5\x00md5-10x8\x00md5file\x00md5file-10x8\x00md5sum\x00%03d\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_control\x00chunksize\x00multiplex_truncate\x00multiplex/%z\x00multiplex\x00NAME MAKEDEFAULT\x00-force\x00?-force?\x00chunk_size\x00max_chunks\x00HANDLE DBNAME SUB-COMMAND INT-VALUE\x00expected database handle, got \"\x00sqlite3_multiplex_initialize\x00sqlite3_multiplex_shutdown\x00sqlite3_multiplex_control\x00fast\x00recursive\x00static_main\x00static_mem\x00static_open\x00static_prng\x00static_lru\x00static_pmem\x00static_app1\x00static_app2\x00static_app3\x00static_vfs1\x00static_vfs2\x00static_vfs3\x00mutex counters are \x00already installed\x00not installed\x00singlethread\x00multithread\x00serialized\x00mutex name\x00disable_mutex_init\x00disable_mutex_try\x00sqlite3_shutdown\x00sqlite3_initialize\x00sqlite3_config\x00enter_static_mutex\x00leave_static_mutex\x00enter_db_mutex\x00leave_db_mutex\x00alloc_dealloc_mutex\x00install_mutex_counters\x00read_mutex_counters\x00clear_mutex_counters\x00\x00\x00\x00\x00\x00\x00\x00vfslog/%z\x00sqlite_ostrace1.....\x00xClose\x00xRead\x00xWrite\x00xTruncate\x00xFilesize\x00xLock\x00xUnlock\x00xCheckResLock\x00xFileControl\x00xSectorSize\x00xDeviceChar\x00xDelete\x00xAccess\x00xFullPathname\x00xRandomness\x00xSleep\x00xCurrentTime\x00xShmUnmap\x00xShmLock\x00xShmBarrier\x00xShmMap\x00annotation\x00CREATE TABLE xxx(event, file, click, rc, size, offset)\x00vfslog\x00VFS\x00failed\x00VFS PARENT LOGFILE\x00bad sqlite3 handle: \x00annotate\x00finalize\x00register\x00quota/%z\x00quota\x00::piLimit_\x00PATTERN LIMIT SCRIPT\x00FILENAME MODE\x00HANDLE SIZE NELEM\x00HANDLE SIZE NELEM CONTENT\x00HANDLE ?HARDSYNC?\x00HANDLE OFFSET WHENCE\x00SEEK_SET\x00SEEK_CUR\x00SEEK_END\x00WHENCE should be SEEK_SET, SEEK_CUR, or SEEK_END\x00HANDLE SIZE\x00PATTERN TEXT\x00sqlite3_quota_initialize\x00sqlite3_quota_shutdown\x00sqlite3_quota_set\x00sqlite3_quota_file\x00sqlite3_quota_dump\x00sqlite3_quota_fopen\x00sqlite3_quota_fread\x00sqlite3_quota_fwrite\x00sqlite3_quota_fclose\x00sqlite3_quota_fflush\x00sqlite3_quota_fseek\x00sqlite3_quota_rewind\x00sqlite3_quota_ftell\x00sqlite3_quota_ftruncate\x00sqlite3_quota_file_size\x00sqlite3_quota_file_truesize\x00sqlite3_quota_file_mtime\x00sqlite3_quota_remove\x00sqlite3_quota_glob\x00sqlite3_quota_file_available\x00sqlite3_quota_ferror\x00cube\x00circle\x00Qcircle\x00breadthfirstsearch\x00register_cube_geom\x00register_circle_geom\x00CREATE TABLE x(database,tablename,cid,name,type,not_null,dflt_value,pk)\x00SELECT name FROM sqlite_temp_schema WHERE type='table'\x00SELECT name FROM %Q.sqlite_schema WHERE type='table'\x00PRAGMA %Q.table_info(%Q)\x00PRAGMA database_list\x00register_schema_module\x00PRAGMA main.journal_mode\x00CMDNAME PATH ?VFS? ?BUSY-HANDLER-SCRIPT?\x00sqlite3demo_superlock\x00open\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00pread\x00pread64\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00mremap\x00SYSCALL-LIST\x00system-call\x00?COUNT PERSIST?\x00EACCES\x00EINTR\x00EIO\x00EOVERFLOW\x00ENOMEM\x00EAGAIN\x00ETIMEDOUT\x00EBUSY\x00EPERM\x00EDEADLK\x00ENOLCK\x00SYSCALL ERRNO\x00errno\x00PGSZ\x00getpagesize\x00pgsz out of range\x00fault\x00install\x00uninstall\x00list\x00defaultvfs\x00pagesize\x00VFS does not support xSetSystemCall\x00test_syscall\x00load_testfixture_extensions\x00SLAVE\x00CREATE TABLE x( name TEXT, arrayname TEXT, value TEXT, fullname TEXT PRIMARY KEY) WITHOUT ROWID\x00array names\x00tclvar_filter_cmd\x00%s(%s)\x00expr {[info exists ::tclvar_set_omit] && $::tclvar_set_omit}\x00the 'fullname' column must be TEXT\x00prohibited TCL variable change\x00proc like {pattern str} {\n set p [string map {% * _ ?} $pattern]\n string match $p $str\n}\nproc tclvar_filter_cmd {eq match glob regexp like} {\n set res {}\n set pattern $eq\n if {$pattern=={}} { set pattern $match }\n if {$pattern=={}} { set pattern * }\n foreach v [uplevel #0 info vars $pattern] {\n if {($glob=={} || [string match $glob [uplevel #0 set $v]])\n && ($like=={} || [like $like [uplevel #0 set $v]])\n && ($regexp=={} || [regexp $regexp [uplevel #0 set $v]])\n } {\n lappend res $v\n }\n }\n set res\n}\n\x00register_tclvar_module\x00clock_seconds\x00sqlthread\x00sqlite3_blocking_step\x00sqlite3_blocking_prepare_v2\x00sqlite3_nonblocking_prepare_v2\x00set\x00Error in Tcl_CreateThread()\x00no parent thread\x00parent\x00spawn\x00VARNAME SCRIPT\x00DBNAME\x00id\x00%s \x00SQLITE_IOERR\x00SQLITE_LOCKED\x00SQLITE_BUSY\x00SQLITE_READONLY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_NOTFOUND\x00SQLITE_OMIT\x00normal|dataonly\x00full|dataonly\x00xCheckReservedLock\x00BEGIN_ATOMIC_WRITE\x00COMMIT_ATOMIC_WRITE\x00ZIPVFS\x00anon\x00SQLITE_ACCESS_EXISTS\x00SQLITE_ACCESS_READWRITE\x00SQLITE_ACCESS_READ\x00xShmOpen\x00 lock\x00 unlock\x00 shared\x00 exclusive\x00shm\x00filter\x00ioerr\x00fullerr\x00cantopenerr\x00script\x00devchar\x00sectorsize\x00subcommand\x00FILE ?VALUE?\x00failed to get full path: \x00no such file: \x00unknown method: \x00?CNT PERSIST?\x00default\x00undeletable_when_open\x00immutable\x00?ATTR-LIST?\x00bad flags: \x00?VALUE?\x00-noshm\x00-szosfile\x00-mxpathname\x00-iversion\x00-fullshm\x00VFSNAME ?-noshm BOOL? ?-fullshm BOOL? ?-default BOOL? ?-mxpathname INT? ?-szosfile INT? ?-iversion INT?\x00shared\x00lock\x00unlock\x00DB DBNAME (shared|exclusive) (lock|unlock) OFFSET N\x00ARG\x00DB DBNAME SLOT ?VALUE?\x00*-shm is not yet mapped\x00testvfs\x00vfs_shmlock\x00vfs_set_readmark\x00DB NAME XSTEP XFINAL XVALUE XINVERSE\x00fff\x00misuse test error\x00invalid argument\x00sumint\x00sum\x00sqlite3_create_window_function\x00test_create_window_function_misuse\x00test_create_sumint\x00test_override_sum\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/internal/testfixture/testfixture_linux_amd64.go b/internal/testfixture/testfixture_linux_amd64.go index 92d72de..7103242 100644 --- a/internal/testfixture/testfixture_linux_amd64.go +++ b/internal/testfixture/testfixture_linux_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -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 -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_linux_amd64.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -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 -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_linux_amd64.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/session/test_session.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1', DO NOT EDIT. package main @@ -80,6 +80,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -209,6 +220,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_STMTVTAB = 1 @@ -444,6 +456,8 @@ const ( SQLITE_SERIALIZE_NOCOPY = 0x001 SQLITE_SERIES_CONSTRAINT_VERIFY = 1 SQLITE_SERVER = 1 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -1553,6 +1567,7 @@ const ( SQLITE_RBU_STATE_MOVE = 2 SQLITE_RBU_STATE_OAL = 1 X_SQLITE3RBU_H = 0 + SESSION_STREAM_TCL_VAR = "sqlite3session_streams" FP_XSTATE_MAGIC1 = 0x46505853 FP_XSTATE_MAGIC2 = 0x46505845 MAX_PREPARED_STMTS = 100 @@ -3122,6 +3137,9 @@ const ( TESTVFS_WRITE_MASK = 0x00001000 ) +// If we are compiling with optimizing read this file. It contains +// several optimizing inline functions and macros. + // Copyright (C) 1991-2018 Free Software Foundation, Inc. // This file is part of the GNU C Library. // @@ -6989,10 +7007,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -7044,10 +7061,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -35857,6 +35873,1558 @@ var aObjCmd = [5]struct { {FzName: ts + 10499 /* "sqlite3rbu_inter..." */, FxProc: 0}, } /* test_rbu.c:369:5 */ +type TestSession1 = struct { + FpSession uintptr + Finterp uintptr + FpFilterScript uintptr +} /* test_session.c:21:9 */ + +type TestSession = TestSession1 /* test_session.c:21:28 */ + +type TestStreamInput1 = struct { + FnStream int32 + _ [4]byte + FaData uintptr + FnData int32 + FiData int32 +} /* test_session.c:28:9 */ + +type TestStreamInput = TestStreamInput1 /* test_session.c:28:32 */ + +// Extract an sqlite3* db handle from the object passed as the second +// argument. If successful, set *pDb to point to the db handle and return +// TCL_OK. Otherwise, return TCL_ERROR. +func dbHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, pDb uintptr) int32 { /* test_session.c:41:12: */ + bp := tls.Alloc(88) + defer tls.Free(88) + + // var info Tcl_CmdInfo at bp+24, 64 + + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, pObj), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, pObj), 0)) + return TCL_ERROR + } + + *(*uintptr)(unsafe.Pointer(pDb)) = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + return TCL_OK +} + +/************************************************************************* +** The following code is copied byte-for-byte from the sessions module +** documentation. It is used by some of the sessions modules tests to +** ensure that the example in the documentation does actually work. + */ +// Argument zSql points to a buffer containing an SQL script to execute +// against the database handle passed as the first argument. As well as +// executing the SQL script, this function collects a changeset recording +// all changes made to the "main" database file. Assuming no error occurs, +// output variables (*ppChangeset) and (*pnChangeset) are set to point +// to a buffer containing the changeset and the size of the changeset in +// bytes before returning SQLITE_OK. In this case it is the responsibility +// of the caller to eventually free the changeset blob by passing it to +// the sqlite3_free function. +// +// Or, if an error does occur, return an SQLite error code. The final +// value of (*pChangeset) and (*pnChangeset) are undefined in this case. +func sql_exec_changeset(tls *libc.TLS, db uintptr, zSql uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* test_session.c:71:5: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pSession */)) = uintptr(0) + var rc int32 + + // Create a new session object + rc = sqlite3.Xsqlite3session_create(tls, db, ts+85 /* "main" */, bp /* &pSession */) + + // Configure the session object to record changes to all tables + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3session_attach(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */)), uintptr(0)) + } + + // Execute the SQL script + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) + } + + // Collect the changeset + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3session_changeset(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */)), pnChangeset, ppChangeset) + } + + // Delete the session object + sqlite3.Xsqlite3session_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */))) + + return rc +} + +//********************************************************************** + +// Tclcmd: sql_exec_changeset DB SQL +func test_sql_exec_changeset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:104:26: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var zSql uintptr + // var db uintptr at bp+16, 8 + + // var pChangeset uintptr at bp+32, 8 + + // var nChangeset int32 at bp+24, 4 + + var rc int32 + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10524 /* "DB SQL" */) + return TCL_ERROR + } + if dbHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &db */) != 0 { + return TCL_ERROR + } + zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) + + rc = sql_exec_changeset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zSql, bp+24 /* &nChangeset */, bp+32 /* &pChangeset */) + if rc != SQLITE_OK { + tcl.XTcl_ResetResult(tls, interp) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10531 /* "error in sql_exe..." */, 0)) + return TCL_ERROR + } + + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pChangeset */)), *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pChangeset */))) + return TCL_OK +} + +// Attempt to find the global variable zVar within interpreter interp +// and extract an integer value from it. Return this value. +// +// If the named variable cannot be found, or if it cannot be interpreted +// as a integer, return 0. +func test_tcl_integer(tls *libc.TLS, interp uintptr, zVar uintptr) int32 { /* test_session.c:146:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var pObj uintptr + *(*int32)(unsafe.Pointer(bp /* iVal */)) = 0 + var pName uintptr = tcl.XTcl_NewStringObj(tls, zVar, -1) + (*Tcl_Obj)(unsafe.Pointer(pName)).FrefCount++ + pObj = tcl.XTcl_ObjGetVar2(tls, interp, pName, uintptr(0), TCL_GLOBAL_ONLY) + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pName + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + if pObj != 0 { + tcl.XTcl_GetIntFromObj(tls, uintptr(0), pObj, bp /* &iVal */) + } + return *(*int32)(unsafe.Pointer(bp /* iVal */)) +} + +func test_session_error(tls *libc.TLS, interp uintptr, rc int32, zErr uintptr) int32 { /* test_session.c:157:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) + if zErr != 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10280 /* " - " */, zErr, 0)) + sqlite3.Xsqlite3_free(tls, zErr) + } + return TCL_ERROR +} + +func test_table_filter(tls *libc.TLS, pCtx uintptr, zTbl uintptr) int32 { /* test_session.c:167:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + var pEval uintptr + var rc int32 + *(*int32)(unsafe.Pointer(bp /* bRes */)) = 0 + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestSession)(unsafe.Pointer(p)).FpFilterScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + rc = tcl.XTcl_ListObjAppendElement(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, zTbl, -1)) + if rc == TCL_OK { + rc = tcl.XTcl_EvalObjEx(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, TCL_EVAL_GLOBAL) + } + if rc == TCL_OK { + rc = tcl.XTcl_GetBooleanFromObj(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, tcl.XTcl_GetObjResult(tls, (*TestSession)(unsafe.Pointer(p)).Finterp), bp /* &bRes */) + } + if rc != TCL_OK { + // printf("error: %s\n", Tcl_GetStringResult(p->interp)); + tcl.XTcl_BackgroundError(tls, (*TestSession)(unsafe.Pointer(p)).Finterp) + } + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + + return *(*int32)(unsafe.Pointer(bp /* bRes */)) +} + +type TestSessionsBlob1 = struct { + Fp uintptr + Fn int32 + _ [4]byte +} /* test_session.c:191:1 */ + +type TestSessionsBlob = TestSessionsBlob1 /* test_session.c:195:33 */ + +func testStreamOutput(tls *libc.TLS, pCtx uintptr, pData uintptr, nData int32) int32 { /* test_session.c:197:12: */ + var pBlob uintptr = pCtx + var pNew uintptr + + pNew = sqlite3.Xsqlite3_realloc(tls, (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp, ((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn + nData)) + if pNew == uintptr(0) { + return SQLITE_NOMEM + } + (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp = pNew + libc.Xmemcpy(tls, (pNew + uintptr((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn)), pData, uint64(nData)) + *(*int32)(unsafe.Pointer(pBlob + 8 /* &.n */)) += (nData) + return SQLITE_OK +} + +// Tclcmd: $session attach TABLE +// $session changeset +// $session delete +// $session enable BOOL +// $session indirect INTEGER +// $session patchset +// $session table_filter SCRIPT +func test_session_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:225:26: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + var p uintptr = clientData + var pSession uintptr = (*TestSession)(unsafe.Pointer(p)).FpSession + // var iSub int32 at bp, 4 + + var rc int32 + + if objc < 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1860 /* "SUBCOMMAND ..." */) + return TCL_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub)), int32(unsafe.Sizeof(SessionSubcmd{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if objc != (2 + aSub[*(*int32)(unsafe.Pointer(bp /* iSub */))].FnArg) { + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub[*(*int32)(unsafe.Pointer(bp /* iSub */))].FzMsg) + return TCL_ERROR + } + + switch *(*int32)(unsafe.Pointer(bp /* iSub */)) { + case 0: + { // attach + var zArg uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) + if (int32(*(*int8)(unsafe.Pointer(zArg))) == '*') && (int32(*(*int8)(unsafe.Pointer(zArg + 1))) == 0) { + zArg = uintptr(0) + } + rc = sqlite3.Xsqlite3session_attach(tls, pSession, zArg) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + break + + } + + case 7: + fallthrough // patchset + case 1: + { // changeset + *(*TestSessionsBlob)(unsafe.Pointer(bp + 8 /* o */)) = TestSessionsBlob{} + if test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) != 0 { + var pCtx uintptr = bp + 8 /* &o */ + if *(*int32)(unsafe.Pointer(bp /* iSub */)) == 7 { + rc = sqlite3.Xsqlite3session_patchset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), pCtx) + } else { + rc = sqlite3.Xsqlite3session_changeset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), pCtx) + } + } else { + if *(*int32)(unsafe.Pointer(bp /* iSub */)) == 7 { + rc = sqlite3.Xsqlite3session_patchset(tls, pSession, (bp + 8 /* &o */ + 8 /* &.n */), (bp + 8 /* &o */ /* &.p */)) + } else { + rc = sqlite3.Xsqlite3session_changeset(tls, pSession, (bp + 8 /* &o */ + 8 /* &.n */), (bp + 8 /* &o */ /* &.p */)) + } + } + if rc == SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+8 /* &o */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+8 /* &o */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+8 /* &o */)).Fp) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + break + + } + + case 2: // delete + tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))) + break + + case 3: + { // enable + // var val int32 at bp+24, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24 /* &val */) != 0 { + return TCL_ERROR + } + *(*int32)(unsafe.Pointer(bp + 24 /* val */)) = sqlite3.Xsqlite3session_enable(tls, pSession, *(*int32)(unsafe.Pointer(bp + 24 /* val */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 24 /* val */))) != 0)))) + break + + } + + case 4: + { // indirect + // var val int32 at bp+28, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+28 /* &val */) != 0 { + return TCL_ERROR + } + *(*int32)(unsafe.Pointer(bp + 28 /* val */)) = sqlite3.Xsqlite3session_indirect(tls, pSession, *(*int32)(unsafe.Pointer(bp + 28 /* val */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 28 /* val */))) != 0)))) + break + + } + + case 5: + { // isempty + var val int32 + val = sqlite3.Xsqlite3session_isempty(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((val) != 0)))) + break + + } + + case 6: + { // table_filter + if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 { + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = (*TestSession)(unsafe.Pointer(p)).FpFilterScript + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + } + (*TestSession)(unsafe.Pointer(p)).Finterp = interp + (*TestSession)(unsafe.Pointer(p)).FpFilterScript = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) + (*Tcl_Obj)(unsafe.Pointer((*TestSession)(unsafe.Pointer(p)).FpFilterScript)).FrefCount++ + sqlite3.Xsqlite3session_table_filter(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_table_filter})), clientData) + break + + } + + case 8: + { // diff + *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)) = uintptr(0) + rc = sqlite3.Xsqlite3session_diff(tls, pSession, + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))), + bp+32 /* &zErr */) + + if rc != 0 { + return test_session_error(tls, interp, rc, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */))) + } + break + + } + + case 9: + { // memory_used + var nMalloc sqlite3_int64 = sqlite3.Xsqlite3session_memory_used(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, nMalloc)) + break + + } + + case 10: + { + var nSize sqlite3_int64 = sqlite3.Xsqlite3session_changeset_size(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, nSize)) + break + + } + case 11: + { + var rc int32 + // var iArg int32 at bp+40, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &iArg */) != 0 { + return TCL_ERROR + } + rc = sqlite3.Xsqlite3session_object_config(tls, + pSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+40 /* &iArg */) + if rc != SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 40 /* iArg */)))) + } + break + + } + } + + return TCL_OK +} + +type SessionSubcmd = struct { + FzSub uintptr + FnArg int32 + _ [4]byte + FzMsg uintptr + FiSub int32 + _ [4]byte +} /* test_session.c:233:10 */ + +var aSub = [13]SessionSubcmd{ + {FzSub: ts + 10584 /* "attach" */, FnArg: 1, FzMsg: ts + 1812 /* "TABLE" */}, // 0 + {FzSub: ts + 10591 /* "changeset" */, FzMsg: ts + 489 /* "" */}, // 1 + {FzSub: ts + 10601 /* "delete" */, FzMsg: ts + 489 /* "" */}, // 2 + {FzSub: ts + 10608 /* "enable" */, FnArg: 1, FzMsg: ts + 10615 /* "BOOL" */}, // 3 + {FzSub: ts + 10620 /* "indirect" */, FnArg: 1, FzMsg: ts + 10615 /* "BOOL" */}, // 4 + {FzSub: ts + 10629 /* "isempty" */, FzMsg: ts + 489 /* "" */}, // 5 + {FzSub: ts + 10637 /* "table_filter" */, FnArg: 1, FzMsg: ts + 10650 /* "SCRIPT" */}, // 6 + {FzSub: ts + 10657 /* "patchset" */, FzMsg: ts + 489 /* "" */}, // 7 + {FzSub: ts + 10666 /* "diff" */, FnArg: 2, FzMsg: ts + 10671 /* "FROMDB TBL" */}, // 8 + {FzSub: ts + 10682 /* "memory_used" */, FzMsg: ts + 489 /* "" */}, // 9 + {FzSub: ts + 10694 /* "changeset_size" */, FzMsg: ts + 489 /* "" */}, // 10 + {FzSub: ts + 10709 /* "object_config_si..." */, FnArg: 1, FzMsg: ts + 2274 /* "INTEGER" */}, // 11 + {}, +} /* test_session.c:238:5 */ + +func test_session_del(tls *libc.TLS, clientData uintptr) { /* test_session.c:390:27: */ + var p uintptr = clientData + if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 { + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = (*TestSession)(unsafe.Pointer(p)).FpFilterScript + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + } + sqlite3.Xsqlite3session_delete(tls, (*TestSession)(unsafe.Pointer(p)).FpSession) + tcl.XTcl_Free(tls, p) +} + +// Tclcmd: sqlite3session CMD DB-HANDLE DB-NAME +func test_sqlite3session(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:400:26: */ + bp := tls.Alloc(92) + defer tls.Free(92) + + var db uintptr + // var info Tcl_CmdInfo at bp+24, 64 + + var rc int32 // sqlite3session_create() return code + var p uintptr // New wrapper object + *(*int32)(unsafe.Pointer(bp + 88 /* iArg */)) = -1 + + if objc != 4 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10728 /* "CMD DB-HANDLE DB..." */) + return TCL_ERROR + } + + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + + p = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(TestSession{}))) + libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(TestSession{}))) + rc = sqlite3.Xsqlite3session_create(tls, db, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))), (p /* &.pSession */)) + if rc != SQLITE_OK { + tcl.XTcl_Free(tls, p) + return test_session_error(tls, interp, rc, uintptr(0)) + } + + // Query the SQLITE_SESSION_OBJCONFIG_SIZE option to ensure that it + // is clear by default. Then set it. + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+88 /* &iArg */) + + *(*int32)(unsafe.Pointer(bp + 88 /* iArg */)) = 1 + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+88 /* &iArg */) + + tcl.XTcl_CreateObjCommand(tls, + interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_session_cmd})), p, + *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_session_del}))) + tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + return TCL_OK +} + +func test_append_value(tls *libc.TLS, pList uintptr, pVal uintptr) { /* test_session.c:446:13: */ + if pVal == uintptr(0) { + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls)) + } else { + var pObj uintptr + switch sqlite3.Xsqlite3_value_type(tls, pVal) { + case SQLITE_NULL: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10750 /* "n" */, 1)) + pObj = tcl.XTcl_NewObj(tls) + break + fallthrough + case SQLITE_INTEGER: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10752 /* "i" */, 1)) + pObj = tcl.XTcl_NewWideIntObj(tls, sqlite3.Xsqlite3_value_int64(tls, pVal)) + break + fallthrough + case SQLITE_FLOAT: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10754 /* "f" */, 1)) + pObj = tcl.XTcl_NewDoubleObj(tls, sqlite3.Xsqlite3_value_double(tls, pVal)) + break + fallthrough + case SQLITE_TEXT: + { + var z uintptr = sqlite3.Xsqlite3_value_blob(tls, pVal) + var n int32 = sqlite3.Xsqlite3_value_bytes(tls, pVal) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10756 /* "t" */, 1)) + pObj = tcl.XTcl_NewStringObj(tls, z, n) + break + + } + fallthrough + default: + + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10758 /* "b" */, 1)) + pObj = tcl.XTcl_NewByteArrayObj(tls, + sqlite3.Xsqlite3_value_blob(tls, pVal), + sqlite3.Xsqlite3_value_bytes(tls, pVal)) + break + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, pObj) + } +} + +type TestConflictHandler1 = struct { + Finterp uintptr + FpConflictScript uintptr + FpFilterScript uintptr +} /* test_session.c:485:9 */ + +type TestConflictHandler = TestConflictHandler1 /* test_session.c:485:36 */ + +func test_obj_eq_string(tls *libc.TLS, p uintptr, z uintptr) int32 { /* test_session.c:492:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var n int32 + // var nObj int32 at bp, 4 + + var zObj uintptr + + n = int32(libc.Xstrlen(tls, z)) + zObj = tcl.XTcl_GetStringFromObj(tls, p, bp /* &nObj */) + + return (libc.Bool32((*(*int32)(unsafe.Pointer(bp /* nObj */)) == n) && ((n == 0) || (0 == libc.Xmemcmp(tls, zObj, z, uint64(n)))))) +} + +func test_filter_handler(tls *libc.TLS, pCtx uintptr, zTab uintptr) int32 { /* test_session.c:503:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*int32)(unsafe.Pointer(bp /* res */)) = 1 + var pEval uintptr + var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpFilterScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + + if ((TCL_OK != tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, zTab, -1))) || + (TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL))) || + (TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, tcl.XTcl_GetObjResult(tls, interp), bp /* &res */)) { + tcl.XTcl_BackgroundError(tls, interp) + } + + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + return *(*int32)(unsafe.Pointer(bp /* res */)) +} + +func test_conflict_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 { /* test_session.c:526:12: */ + bp := tls.Alloc(104) + defer tls.Free(104) + + var p uintptr = pCtx + var pEval uintptr + var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = 0 // Return value + + // var op int32 at bp+12, 4 + // SQLITE_UPDATE, DELETE or INSERT + // var zTab uintptr at bp, 8 + // Name of table conflict is on + // var nCol int32 at bp+8, 4 + // Number of columns in table zTab + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpConflictScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + + sqlite3.Xsqlite3changeset_op(tls, pIter, bp /* &zTab */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if eConf == SQLITE_CHANGESET_FOREIGN_KEY { + // var nFk int32 at bp+16, 4 + + sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+16 /* &nFk */) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, ts+10760 /* "FOREIGN_KEY" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 16 /* nFk */)))) + } else { + + // Append the operation type. + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + return ts + 10772 /* "INSERT" */ + } + return func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_UPDATE { + return ts + 10779 /* "UPDATE" */ + } + return ts + 10786 /* "DELETE" */ + }() + }(), -1)) + + // Append the table name. + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp /* zTab */)), -1)) + + // Append the conflict type. + switch eConf { + case SQLITE_CHANGESET_DATA: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10793 /* "DATA" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_NOTFOUND: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10798 /* "NOTFOUND" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_CONFLICT: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10807 /* "CONFLICT" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_CONSTRAINT: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10816 /* "CONSTRAINT" */, -1)) + break + } + + // If this is not an INSERT, append the old row + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_INSERT { + var i int32 + var pOld uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+24, 8 + + sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+24 /* &pVal */) + test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pOld) + } + + // If this is not a DELETE, append the new row + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_DELETE { + var i int32 + var pNew uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+32, 8 + + sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+32 /* &pVal */) + test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pNew) + } + + // If this is a CHANGESET_DATA or CHANGESET_CONFLICT conflict, append + // the conflicting row. + if (eConf == SQLITE_CHANGESET_DATA) || (eConf == SQLITE_CHANGESET_CONFLICT) { + var i int32 + var pConflict uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + var rc int32 + _ = rc + // var pVal uintptr at bp+40, 8 + + rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, i, bp+40 /* &pVal */) + + test_append_value(tls, pConflict, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pConflict) + } + + // ********************************************************************** + // + // This block is purely for testing some error conditions. + if (eConf == SQLITE_CHANGESET_CONSTRAINT) || + (eConf == SQLITE_CHANGESET_NOTFOUND) { + // var pVal uintptr at bp+48, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, 0, bp+48 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+56, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, -1, bp+56 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), bp+56 /* &pVal */) + + } + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_DELETE { + // var pVal uintptr at bp+64, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, 0, bp+64 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+72, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, -1, bp+72 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_new(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), bp+72 /* &pVal */) + + } + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + // var pVal uintptr at bp+80, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, 0, bp+80 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+88, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, -1, bp+88 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_old(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), bp+88 /* &pVal */) + + } + if eConf != SQLITE_CHANGESET_FOREIGN_KEY { + // eConf!=FOREIGN_KEY is always true at this point. The condition is + // just there to make it clearer what is being tested. + // var nDummy int32 at bp+96, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+96 /* &nDummy */) + _ = rc + + } + // End of testing block + // + } + + if TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL) { + tcl.XTcl_BackgroundError(tls, interp) + } else { + var pRes uintptr = tcl.XTcl_GetObjResult(tls, interp) + if (test_obj_eq_string(tls, pRes, ts+10827 /* "OMIT" */) != 0) || (test_obj_eq_string(tls, pRes, ts+489 /* "" */) != 0) { + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = SQLITE_CHANGESET_OMIT + } else if test_obj_eq_string(tls, pRes, ts+7292 /* "REPLACE" */) != 0 { + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = SQLITE_CHANGESET_REPLACE + } else if test_obj_eq_string(tls, pRes, ts+7286 /* "ABORT" */) != 0 { + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = SQLITE_CHANGESET_ABORT + } else { + tcl.XTcl_GetIntFromObj(tls, uintptr(0), pRes, bp+100 /* &ret */) + } + } + + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + return *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) +} + +// The conflict handler used by sqlite3changeset_apply_replace_all(). +// This conflict handler calls sqlite3_value_text16() on all available +// sqlite3_value objects and then returns CHANGESET_REPLACE, or +// CHANGESET_OMIT if REPLACE is not applicable. This is used to test the +// effect of a malloc failure within an sqlite3_value_xxx() function +// invoked by a conflict-handler callback. +func replace_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 { /* test_session.c:693:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var op int32 at bp+12, 4 + // SQLITE_UPDATE, DELETE or INSERT + // var zTab uintptr at bp, 8 + // Name of table conflict is on + // var nCol int32 at bp+8, 4 + // Number of columns in table zTab + var i int32 + var x int32 = 0 + + sqlite3.Xsqlite3changeset_op(tls, pIter, bp /* &zTab */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_INSERT { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+16, 8 + + sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+16 /* &pVal */) + sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) + x++ + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_DELETE { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+24, 8 + + sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+24 /* &pVal */) + sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + x++ + } + } + + if eConf == SQLITE_CHANGESET_DATA { + return SQLITE_CHANGESET_REPLACE + } + return SQLITE_CHANGESET_OMIT +} + +func testStreamInput(tls *libc.TLS, pCtx uintptr, pData uintptr, pnData uintptr) int32 { /* test_session.c:730:12: */ + var p uintptr = pCtx + var nReq int32 = *(*int32)(unsafe.Pointer(pnData)) // Bytes of data requested + var nRem int32 = ((*TestStreamInput)(unsafe.Pointer(p)).FnData - (*TestStreamInput)(unsafe.Pointer(p)).FiData) // Bytes of data available + var nRet int32 = (*TestStreamInput)(unsafe.Pointer(p)).FnStream // Bytes actually returned + + // Allocate and free some space. There is no point to this, other than + // that it allows the regular OOM fault-injection tests to cause an error + // in this function. + var pAlloc uintptr = sqlite3.Xsqlite3_malloc(tls, 10) + if pAlloc == uintptr(0) { + return SQLITE_NOMEM + } + sqlite3.Xsqlite3_free(tls, pAlloc) + + if nRet > nReq { + nRet = nReq + } + if nRet > nRem { + nRet = nRem + } + + if nRet > 0 { + libc.Xmemcpy(tls, pData, ((*TestStreamInput)(unsafe.Pointer(p)).FaData + uintptr((*TestStreamInput)(unsafe.Pointer(p)).FiData)), uint64(nRet)) + *(*int32)(unsafe.Pointer(p + 20 /* &.iData */)) += (nRet) + } + + *(*int32)(unsafe.Pointer(pnData)) = nRet + return SQLITE_OK +} + +func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:761:26: */ + bp := tls.Alloc(156) + defer tls.Free(156) + + var db uintptr // Database handle + // var info Tcl_CmdInfo at bp+48, 64 + // Database Tcl command (objv[1]) info + var rc int32 // Return code from changeset_invert() + var pChangeset uintptr // Buffer containing changeset + // var nChangeset int32 at bp+112, 4 + // Size of buffer aChangeset in bytes + // var ctx TestConflictHandler at bp+120, 24 + + // var sStr TestStreamInput at bp+24, 24 + + *(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 152 /* nRebase */)) = 0 + var flags int32 = 0 // Flags for apply_v2() + + libc.Xmemset(tls, bp+24 /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + + // Check for the -nosavepoint flag + if bV2 != 0 { + if objc > 1 { + var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + var n int32 = int32(libc.Xstrlen(tls, z1)) + if ((n > 1) && (n <= 12)) && (0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10832 /* "-nosavepoint" */, z1, n)) { + flags = flags | (SQLITE_CHANGESETAPPLY_NOSAVEPOINT) + objc-- + objv += 8 + } + } + if objc > 1 { + var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + var n int32 = int32(libc.Xstrlen(tls, z1)) + if ((n > 1) && (n <= 7)) && (0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10845 /* "-invert" */, z1, n)) { + flags = flags | (SQLITE_CHANGESETAPPLY_INVERT) + objc-- + objv += 8 + } + } + } + + if (objc != 4) && (objc != 5) { + var zMsg uintptr + if bV2 != 0 { + zMsg = ts + 10853 /* "?-nosavepoint? ?..." */ + } else { + zMsg = ts + 10924 /* "DB CHANGESET CON..." */ + } + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zMsg) + return TCL_ERROR + } + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+112 /* &nChangeset */) + (*TestConflictHandler)(unsafe.Pointer(bp + 120 /* &ctx */)).FpConflictScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) + (*TestConflictHandler)(unsafe.Pointer(bp + 120 /* &ctx */)).FpFilterScript = func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(objv + 4*8)) + } + return uintptr(0) + }() + (*TestConflictHandler)(unsafe.Pointer(bp + 120 /* &ctx */)).Finterp = interp + + if (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sStr */)).FnStream == 0 { + if bV2 == 0 { + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 112 /* nChangeset */)), pChangeset, + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+120 /* &ctx */) + } else { + rc = sqlite3.Xsqlite3changeset_apply_v2(tls, db, *(*int32)(unsafe.Pointer(bp + 112 /* nChangeset */)), pChangeset, + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+120, /* &ctx */ + bp+144 /* &pRebase */, bp+152 /* &nRebase */, flags) + } + } else { + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 112 /* nChangeset */)) + if bV2 == 0 { + rc = sqlite3.Xsqlite3changeset_apply_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sStr */ + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+120 /* &ctx */) + } else { + rc = sqlite3.Xsqlite3changeset_apply_v2_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sStr */ + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+120, /* &ctx */ + bp+144 /* &pRebase */, bp+152 /* &nRebase */, flags) + } + } + + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_ResetResult(tls, interp) + if (bV2 != 0) && (*(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */)) != 0) { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */)), *(*int32)(unsafe.Pointer(bp + 152 /* nRebase */)))) + } + } + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */))) + return TCL_OK +} + +// sqlite3changeset_apply DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT? +func test_sqlite3changeset_apply(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:868:26: */ + return testSqlite3changesetApply(tls, 0, clientData, interp, objc, objv) +} + +// sqlite3changeset_apply_v2 DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT? +func test_sqlite3changeset_apply_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:879:26: */ + return testSqlite3changesetApply(tls, 1, clientData, interp, objc, objv) +} + +// sqlite3changeset_apply_replace_all DB CHANGESET +func test_sqlite3changeset_apply_replace_all(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:891:26: */ + bp := tls.Alloc(92) + defer tls.Free(92) + + var db uintptr // Database handle + // var info Tcl_CmdInfo at bp+24, 64 + // Database Tcl command (objv[1]) info + var rc int32 // Return code from changeset_invert() + var pChangeset uintptr // Buffer containing changeset + // var nChangeset int32 at bp+88, 4 + // Size of buffer aChangeset in bytes + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10969 /* "DB CHANGESET" */) + return TCL_ERROR + } + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+88 /* &nChangeset */) + + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 88 /* nChangeset */)), pChangeset, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{replace_handler})), uintptr(0)) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + tcl.XTcl_ResetResult(tls, interp) + return TCL_OK +} + +// sqlite3changeset_invert CHANGESET +func test_sqlite3changeset_invert(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:926:26: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var rc int32 // Return code from changeset_invert() + // var sIn TestStreamInput at bp, 24 + // Input stream + // var sOut TestSessionsBlob at bp+24, 16 + // Output blob + + if objc != 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10982 /* "CHANGESET" */) + return TCL_ERROR + } + + libc.Xmemset(tls, bp /* &sIn */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+24 /* &sOut */, 0, uint64(unsafe.Sizeof(TestSessionsBlob{}))) + (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), (bp /* &sIn */ + 16 /* &.nData */)) + + if (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnStream != 0 { + rc = sqlite3.Xsqlite3changeset_invert_strm(tls, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp /* &sIn */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+24 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3changeset_invert(tls, (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FaData, (bp + 24 /* &sOut */ + 8 /* &.n */), (bp + 24 /* &sOut */ /* &.p */)) + } + if rc != SQLITE_OK { + rc = test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fp) + return rc +} + +// sqlite3changeset_concat LEFT RIGHT +func test_sqlite3changeset_concat(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:965:26: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var rc int32 // Return code from changeset_invert() + + // var sLeft TestStreamInput at bp, 24 + // Input stream + // var sRight TestStreamInput at bp+24, 24 + // Input stream + *(*TestSessionsBlob)(unsafe.Pointer(bp + 48 /* sOut */)) = TestSessionsBlob{} // Output blob + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10992 /* "LEFT RIGHT" */) + return TCL_ERROR + } + + libc.Xmemset(tls, bp /* &sLeft */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+24 /* &sRight */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), (bp /* &sLeft */ + 16 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sRight */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), (bp + 24 /* &sRight */ + 16 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sRight */)).FnStream = (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream + + if (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream > 0 { + rc = sqlite3.Xsqlite3changeset_concat_strm(tls, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp, /* &sLeft */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sRight */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+48 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3changeset_concat(tls, + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FaData, (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sRight */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sRight */)).FaData, (bp + 48 /* &sOut */ + 8 /* &.n */), (bp + 48 /* &sOut */ /* &.p */)) + } + + if rc != SQLITE_OK { + rc = test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+48 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+48 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+48 /* &sOut */)).Fp) + return rc +} + +// sqlite3session_foreach VARNAME CHANGESET SCRIPT +func test_sqlite3session_foreach(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1013:26: */ + bp := tls.Alloc(104) + defer tls.Free(104) + + var pChangeset uintptr + // var nChangeset int32 at bp+24, 4 + + // var pIter uintptr at bp+32, 8 + + var rc int32 + var pVarname uintptr + var pCS uintptr + var pScript uintptr + var isCheckNext int32 = 0 + var isInvert int32 = 0 + // var sStr TestStreamInput at bp, 24 + + libc.Xmemset(tls, bp /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + + for objc > 1 { + var zOpt uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + var nOpt int32 = int32(libc.Xstrlen(tls, zOpt)) + if int32(*(*int8)(unsafe.Pointer(zOpt))) != '-' { + break + } + if (nOpt <= 7) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+10845 /* "-invert" */, nOpt)) { + isInvert = 1 + } else if (nOpt <= 5) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+11003 /* "-next" */, nOpt)) { + isCheckNext = 1 + } else { + break + } + objv += 8 + objc-- + } + if objc != 4 { + tcl.XTcl_WrongNumArgs(tls, + interp, 1, objv, ts+11009 /* "?-next? ?-invert..." */) + return TCL_ERROR + } + + pVarname = *(*uintptr)(unsafe.Pointer(objv + 1*8)) + pCS = *(*uintptr)(unsafe.Pointer(objv + 2*8)) + pScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) + + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, pCS, bp+24 /* &nChangeset */) + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + if isInvert != 0 { + var f int32 = SQLITE_CHANGESETSTART_INVERT + if (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream == 0 { + rc = sqlite3.Xsqlite3changeset_start_v2(tls, bp+32 /* &pIter */, *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)), pChangeset, f) + } else { + var pCtx uintptr = bp /* &sStr */ + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)) + rc = sqlite3.Xsqlite3changeset_start_v2_strm(tls, bp+32 /* &pIter */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), pCtx, f) + } + } else { + if (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream == 0 { + rc = sqlite3.Xsqlite3changeset_start(tls, bp+32 /* &pIter */, *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)), pChangeset) + } else { + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)) + rc = sqlite3.Xsqlite3changeset_start_strm(tls, bp+32 /* &pIter */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp /* &sStr */) + } + } + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + for SQLITE_ROW == sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) { + // var nCol int32 at bp+56, 4 + // Number of columns in table + // var nCol2 int32 at bp+80, 4 + // Number of columns in table + // var op int32 at bp+60, 4 + // SQLITE_INSERT, UPDATE or DELETE + // var zTab uintptr at bp+48, 8 + // Name of table change applies to + var pVar uintptr // Tcl value to set $VARNAME to + var pOld uintptr // Vector of old.* values + var pNew uintptr // Vector of new.* values + // var bIndirect int32 at bp+64, 4 + + var zPK uintptr + // var abPK uintptr at bp+72, 8 + + var i int32 + + // Test that _fk_conflicts() returns SQLITE_MISUSE if called on this + // iterator. + // var nDummy int32 at bp+40, 4 + + if SQLITE_MISUSE != sqlite3.Xsqlite3changeset_fk_conflicts(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), bp+40 /* &nDummy */) { + sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + return TCL_ERROR + } + + sqlite3.Xsqlite3changeset_op(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), bp+48 /* &zTab */, bp+56 /* &nCol */, bp+60 /* &op */, bp+64 /* &bIndirect */) + pVar = tcl.XTcl_NewObj(tls) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) == SQLITE_INSERT { + return ts + 10772 /* "INSERT" */ + } + return func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) == SQLITE_UPDATE { + return ts + 10779 /* "UPDATE" */ + } + return ts + 10786 /* "DELETE" */ + }() + }(), -1)) + + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zTab */)), -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 64 /* bIndirect */))) != 0)))) + + zPK = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 56 /* nCol */)) + 1))) + libc.Xmemset(tls, zPK, 0, (uint64(*(*int32)(unsafe.Pointer(bp + 56 /* nCol */)) + 1))) + sqlite3.Xsqlite3changeset_pk(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), bp+72 /* &abPK */, bp+80 /* &nCol2 */) + + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56 /* nCol */)); i++ { + *(*int8)(unsafe.Pointer(zPK + uintptr(i))) = func() int8 { + if *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72 /* abPK */)) + uintptr(i))) != 0 { + return int8('X') + } + return int8('.') + }() + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, zPK, -1)) + tcl.XTcl_Free(tls, zPK) + + pOld = tcl.XTcl_NewObj(tls) + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) != SQLITE_INSERT { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56 /* nCol */)); i++ { + // var pVal uintptr at bp+88, 8 + + sqlite3.Xsqlite3changeset_old(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), i, bp+88 /* &pVal */) + test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 88 /* pVal */))) + } + } + pNew = tcl.XTcl_NewObj(tls) + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) != SQLITE_DELETE { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56 /* nCol */)); i++ { + // var pVal uintptr at bp+96, 8 + + sqlite3.Xsqlite3changeset_new(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), i, bp+96 /* &pVal */) + test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 96 /* pVal */))) + } + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pOld) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pNew) + + tcl.XTcl_ObjSetVar2(tls, interp, pVarname, uintptr(0), pVar, 0) + rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0) + if (rc != TCL_OK) && (rc != TCL_CONTINUE) { + sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + if rc == TCL_BREAK { + return TCL_OK + } + return rc + } + } + + if isCheckNext != 0 { + var rc2 int32 = sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + _ = rc2 + rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + + } else { + rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + } + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + return TCL_OK +} + +// tclcmd: CMD configure REBASE-BLOB +// tclcmd: CMD rebase CHANGESET +// tclcmd: CMD delete +func test_rebaser_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1171:26: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var p uintptr = clientData + // var iSub int32 at bp, 4 + + var rc int32 + + if objc < 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1860 /* "SUBCOMMAND ..." */) + return TCL_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub1)), int32(unsafe.Sizeof(RebaseSubcmd{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if objc != (2 + aSub1[*(*int32)(unsafe.Pointer(bp /* iSub */))].FnArg) { + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub1[*(*int32)(unsafe.Pointer(bp /* iSub */))].FzMsg) + return TCL_ERROR + } + + switch *(*int32)(unsafe.Pointer(bp /* iSub */)) { + case 0: + { // configure + *(*int32)(unsafe.Pointer(bp + 4 /* nRebase */)) = 0 + var pRebase uintptr = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+4 /* &nRebase */) + rc = sqlite3.Xsqlite3rebaser_configure(tls, p, *(*int32)(unsafe.Pointer(bp + 4 /* nRebase */)), pRebase) + break + + } + + case 1: // delete + tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))) + break + + default: + { // rebase + // var sStr TestStreamInput at bp+8, 24 + // Input stream + // var sOut TestSessionsBlob at bp+32, 16 + // Output blob + + libc.Xmemset(tls, bp+8 /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+32 /* &sOut */, 0, uint64(unsafe.Sizeof(TestSessionsBlob{}))) + (*TestStreamInput)(unsafe.Pointer(bp + 8 /* &sStr */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), (bp + 8 /* &sStr */ + 16 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp + 8 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + + if (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FnStream != 0 { + rc = sqlite3.Xsqlite3rebaser_rebase_strm(tls, p, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+8, /* &sStr */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+32 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3rebaser_rebase(tls, p, (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FaData, (bp + 32 /* &sOut */ + 8 /* &.n */), (bp + 32 /* &sOut */ /* &.p */)) + } + + if rc == SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fp) + break + + } + } + + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + return TCL_OK +} + +type RebaseSubcmd = struct { + FzSub uintptr + FnArg int32 + _ [4]byte + FzMsg uintptr + FiSub int32 + _ [4]byte +} /* test_session.c:1177:10 */ + +var aSub1 = [4]RebaseSubcmd{ + {FzSub: ts + 11052 /* "configure" */, FnArg: 1, FzMsg: ts + 11062 /* "REBASE-BLOB" */}, // 0 + {FzSub: ts + 10601 /* "delete" */, FzMsg: ts + 489 /* "" */}, // 1 + {FzSub: ts + 11074 /* "rebase" */, FnArg: 1, FzMsg: ts + 10982 /* "CHANGESET" */}, // 2 + {}, +} /* test_session.c:1182:5 */ + +func test_rebaser_del(tls *libc.TLS, clientData uintptr) { /* test_session.c:1252:27: */ + var p uintptr = clientData + sqlite3.Xsqlite3rebaser_delete(tls, p) +} + +// tclcmd: sqlite3rebaser_create NAME +func test_sqlite3rebaser_create(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1260:26: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 + *(*uintptr)(unsafe.Pointer(bp /* pNew */)) = uintptr(0) + if objc != 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10397 /* "NAME" */) + return SQLITE_ERROR + } + + rc = sqlite3.Xsqlite3rebaser_create(tls, bp /* &pNew */) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + tcl.XTcl_CreateObjCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_rebaser_cmd})), + *(*uintptr)(unsafe.Pointer(bp /* pNew */)), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_rebaser_del}))) + tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + return TCL_OK +} + +// tclcmd: sqlite3rebaser_configure OP VALUE +func test_sqlite3session_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1288:26: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 + // var iSub int32 at bp, 4 + + // var iVal int32 at bp+4, 4 + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11081 /* "OP VALUE" */) + return SQLITE_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub2)), int32(unsafe.Sizeof(ConfigOpt{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+4 /* &iVal */) != 0 { + return TCL_ERROR + } + + rc = sqlite3.Xsqlite3session_config(tls, aSub2[*(*int32)(unsafe.Pointer(bp /* iSub */))].Fop, bp+4 /* &iVal */) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4 /* iVal */)))) + return TCL_OK +} + +type ConfigOpt = struct { + FzSub uintptr + Fop int32 + _ [4]byte +} /* test_session.c:1294:10 */ + +var aSub2 = [3]ConfigOpt{ + {FzSub: ts + 11090 /* "strm_size" */, Fop: SQLITE_SESSION_CONFIG_STRMSIZE}, + {FzSub: ts + 2619 /* "invalid" */}, + {}, +} /* test_session.c:1297:5 */ + +func TestSession_Init(tls *libc.TLS, interp uintptr) int32 { /* test_session.c:1324:5: */ + bp := tls.Alloc(160) + defer tls.Free(160) + + *(*[10]struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(bp /* aCmd */)) = [10]struct { + FzCmd uintptr + FxProc uintptr + }{ + {FzCmd: ts + 11100 /* "sqlite3session" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session}))}, + {FzCmd: ts + 11115 /* "sqlite3session_f..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session_foreach}))}, + {FzCmd: ts + 11138 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_invert}))}, + {FzCmd: ts + 11162 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_concat}))}, + {FzCmd: ts + 11186 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply}))}, + {FzCmd: ts + 11209 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply_v2}))}, + {FzCmd: ts + 11235, /* "sqlite3changeset..." */ + FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply_replace_all}))}, + {FzCmd: ts + 11270 /* "sql_exec_changes..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sql_exec_changeset}))}, + {FzCmd: ts + 11289 /* "sqlite3rebaser_c..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3rebaser_create}))}, + {FzCmd: ts + 11311 /* "sqlite3session_c..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session_config}))}, + } + var i int32 + + for i = 0; uint64(i) < (uint64(unsafe.Sizeof([10]struct { + FzCmd uintptr + FxProc uintptr + }{})) / uint64(unsafe.Sizeof(struct { + FzCmd uintptr + FxProc uintptr + }{}))); i++ { + var p uintptr = (bp /* &aCmd */ + uintptr(i)*16) + tcl.XTcl_CreateObjCommand(tls, interp, (*struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(p)).FzCmd, (*struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(p)).FxProc, uintptr(0), uintptr(0)) + } + + return TCL_OK +} + // 2014-09-08 // // The author disclaims copyright to this source code. In place of @@ -36962,7 +38530,7 @@ func incrblobHandle(tls *libc.TLS, instanceData ClientData, dir int32, hPtr uint } var IncrblobChannelType = Tcl_ChannelType{ - FtypeName: ts + 10524, /* "incrblob" */ // typeName + FtypeName: ts + 11333, /* "incrblob" */ // typeName Fversion: uintptr(0x2), // version FcloseProc: 0, // closeProc FinputProc: 0, // inputProc @@ -37000,7 +38568,7 @@ func createIncrblobChannel(tls *libc.TLS, interp uintptr, pDb uintptr, zDb uintp (*IncrblobChannel)(unsafe.Pointer(p)).FiSeek = 0 (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob = *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zChannel[0] */, ts+10533 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zChannel[0] */, ts+11342 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel = tcl.XTcl_CreateChannel(tls, uintptr(unsafe.Pointer(&IncrblobChannelType)), bp+16 /* &zChannel[0] */, p, flags) tcl.XTcl_RegisterChannel(tls, interp, (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel) @@ -37337,7 +38905,7 @@ func DbProfileHandler(tls *libc.TLS, cd uintptr, zSql uintptr, tm1 sqlite_uint64 // var zTm [100]int8 at bp+8, 100 - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([100]int8{})) - uint64(1))), bp+8 /* &zTm[0] */, ts+10545 /* "%lld" */, libc.VaList(bp, tm1)) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([100]int8{})) - uint64(1))), bp+8 /* &zTm[0] */, ts+11354 /* "%lld" */, libc.VaList(bp, tm1)) tcl.XTcl_DStringInit(tls, bp+112 /* &str */) tcl.XTcl_DStringAppend(tls, bp+112 /* &str */, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, -1) tcl.XTcl_DStringAppendElement(tls, bp+112 /* &str */, zSql) @@ -37405,9 +38973,9 @@ func setTestUnlockNotifyVars(tls *libc.TLS, interp uintptr, iArg int32, nArg int // var zBuf [64]int8 at bp+16, 64 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp, iArg)) - tcl.XTcl_SetVar2(tls, interp, ts+10550 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+11359 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+8, nArg)) - tcl.XTcl_SetVar2(tls, interp, ts+10575 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+11384 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) } func DbUnlockNotify(tls *libc.TLS, apArg uintptr, nArg int32) { /* tclsqlite.c:799:13: */ @@ -37449,7 +39017,7 @@ func DbPreUpdateHandler(tls *libc.TLS, p uintptr, db uintptr, op int32, zDb uint } } -var azStr = [3]uintptr{ts + 10605 /* "DELETE" */, ts + 10612 /* "INSERT" */, ts + 10619 /* "UPDATE" */} /* tclsqlite.c:828:21 */ +var azStr = [3]uintptr{ts + 10786 /* "DELETE" */, ts + 10772 /* "INSERT" */, ts + 10779 /* "UPDATE" */} /* tclsqlite.c:828:21 */ func DbUpdateHandler(tls *libc.TLS, p uintptr, op int32, zDb uintptr, zTbl uintptr, rowid sqlite_int64) { /* tclsqlite.c:849:13: */ var pDb uintptr = p @@ -37470,7 +39038,7 @@ func DbUpdateHandler(tls *libc.TLS, p uintptr, op int32, zDb uintptr, zTbl uintp } } -var azStr1 = [3]uintptr{ts + 10605 /* "DELETE" */, ts + 10612 /* "INSERT" */, ts + 10619 /* "UPDATE" */} /* tclsqlite.c:858:21 */ +var azStr1 = [3]uintptr{ts + 10786 /* "DELETE" */, ts + 10772 /* "INSERT" */, ts + 10779 /* "UPDATE" */} /* tclsqlite.c:858:21 */ func tclCollateNeeded(tls *libc.TLS, pCtx uintptr, db uintptr, enc int32, zName uintptr) { /* tclsqlite.c:877:13: */ var pDb uintptr = pCtx @@ -37729,109 +39297,109 @@ func auth_callback(tls *libc.TLS, pArg uintptr, code int32, zArg1 uintptr, zArg2 // authorized. switch code { case SQLITE_COPY: - zCode = ts + 10626 /* "SQLITE_COPY" */ + zCode = ts + 11414 /* "SQLITE_COPY" */ break case SQLITE_CREATE_INDEX: - zCode = ts + 10638 /* "SQLITE_CREATE_IN..." */ + zCode = ts + 11426 /* "SQLITE_CREATE_IN..." */ break case SQLITE_CREATE_TABLE: - zCode = ts + 10658 /* "SQLITE_CREATE_TA..." */ + zCode = ts + 11446 /* "SQLITE_CREATE_TA..." */ break case SQLITE_CREATE_TEMP_INDEX: - zCode = ts + 10678 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11466 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_TABLE: - zCode = ts + 10703 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11491 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_TRIGGER: - zCode = ts + 10728 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11516 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_VIEW: - zCode = ts + 10755 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11543 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TRIGGER: - zCode = ts + 10779 /* "SQLITE_CREATE_TR..." */ + zCode = ts + 11567 /* "SQLITE_CREATE_TR..." */ break case SQLITE_CREATE_VIEW: - zCode = ts + 10801 /* "SQLITE_CREATE_VI..." */ + zCode = ts + 11589 /* "SQLITE_CREATE_VI..." */ break case SQLITE_DELETE: - zCode = ts + 10820 /* "SQLITE_DELETE" */ + zCode = ts + 11608 /* "SQLITE_DELETE" */ break case SQLITE_DROP_INDEX: - zCode = ts + 10834 /* "SQLITE_DROP_INDE..." */ + zCode = ts + 11622 /* "SQLITE_DROP_INDE..." */ break case SQLITE_DROP_TABLE: - zCode = ts + 10852 /* "SQLITE_DROP_TABL..." */ + zCode = ts + 11640 /* "SQLITE_DROP_TABL..." */ break case SQLITE_DROP_TEMP_INDEX: - zCode = ts + 10870 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11658 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_TABLE: - zCode = ts + 10893 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11681 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_TRIGGER: - zCode = ts + 10916 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11704 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_VIEW: - zCode = ts + 10941 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11729 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TRIGGER: - zCode = ts + 10963 /* "SQLITE_DROP_TRIG..." */ + zCode = ts + 11751 /* "SQLITE_DROP_TRIG..." */ break case SQLITE_DROP_VIEW: - zCode = ts + 10983 /* "SQLITE_DROP_VIEW" */ + zCode = ts + 11771 /* "SQLITE_DROP_VIEW" */ break case SQLITE_INSERT: - zCode = ts + 11000 /* "SQLITE_INSERT" */ + zCode = ts + 11788 /* "SQLITE_INSERT" */ break case SQLITE_PRAGMA: - zCode = ts + 11014 /* "SQLITE_PRAGMA" */ + zCode = ts + 11802 /* "SQLITE_PRAGMA" */ break case SQLITE_READ: - zCode = ts + 11028 /* "SQLITE_READ" */ + zCode = ts + 11816 /* "SQLITE_READ" */ break case SQLITE_SELECT: - zCode = ts + 11040 /* "SQLITE_SELECT" */ + zCode = ts + 11828 /* "SQLITE_SELECT" */ break case SQLITE_TRANSACTION: - zCode = ts + 11054 /* "SQLITE_TRANSACTI..." */ + zCode = ts + 11842 /* "SQLITE_TRANSACTI..." */ break case SQLITE_UPDATE: - zCode = ts + 11073 /* "SQLITE_UPDATE" */ + zCode = ts + 11861 /* "SQLITE_UPDATE" */ break case SQLITE_ATTACH: - zCode = ts + 11087 /* "SQLITE_ATTACH" */ + zCode = ts + 11875 /* "SQLITE_ATTACH" */ break case SQLITE_DETACH: - zCode = ts + 11101 /* "SQLITE_DETACH" */ + zCode = ts + 11889 /* "SQLITE_DETACH" */ break case SQLITE_ALTER_TABLE: - zCode = ts + 11115 /* "SQLITE_ALTER_TAB..." */ + zCode = ts + 11903 /* "SQLITE_ALTER_TAB..." */ break case SQLITE_REINDEX: - zCode = ts + 11134 /* "SQLITE_REINDEX" */ + zCode = ts + 11922 /* "SQLITE_REINDEX" */ break case SQLITE_ANALYZE: - zCode = ts + 11149 /* "SQLITE_ANALYZE" */ + zCode = ts + 11937 /* "SQLITE_ANALYZE" */ break case SQLITE_CREATE_VTABLE: - zCode = ts + 11164 /* "SQLITE_CREATE_VT..." */ + zCode = ts + 11952 /* "SQLITE_CREATE_VT..." */ break case SQLITE_DROP_VTABLE: - zCode = ts + 11185 /* "SQLITE_DROP_VTAB..." */ + zCode = ts + 11973 /* "SQLITE_DROP_VTAB..." */ break case SQLITE_FUNCTION: - zCode = ts + 11204 /* "SQLITE_FUNCTION" */ + zCode = ts + 11992 /* "SQLITE_FUNCTION" */ break case SQLITE_SAVEPOINT: - zCode = ts + 11220 /* "SQLITE_SAVEPOINT" */ + zCode = ts + 12008 /* "SQLITE_SAVEPOINT" */ break case SQLITE_RECURSIVE: - zCode = ts + 11237 /* "SQLITE_RECURSIVE" */ + zCode = ts + 12025 /* "SQLITE_RECURSIVE" */ break default: - zCode = ts + 11254 /* "????" */ + zCode = ts + 12042 /* "????" */ break } tcl.XTcl_DStringInit(tls, bp /* &str */) @@ -37866,13 +39434,13 @@ func auth_callback(tls *libc.TLS, pArg uintptr, code int32, zArg1 uintptr, zArg2 if rc == TCL_OK { zReply = tcl.XTcl_GetStringResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp) } else { - zReply = ts + 11259 /* "SQLITE_DENY" */ + zReply = ts + 12047 /* "SQLITE_DENY" */ } if libc.Xstrcmp(tls, zReply, ts+1988 /* "SQLITE_OK" */) == 0 { rc = SQLITE_OK - } else if libc.Xstrcmp(tls, zReply, ts+11259 /* "SQLITE_DENY" */) == 0 { + } else if libc.Xstrcmp(tls, zReply, ts+12047 /* "SQLITE_DENY" */) == 0 { rc = SQLITE_DENY - } else if libc.Xstrcmp(tls, zReply, ts+11271 /* "SQLITE_IGNORE" */) == 0 { + } else if libc.Xstrcmp(tls, zReply, ts+12059 /* "SQLITE_IGNORE" */) == 0 { rc = SQLITE_IGNORE } else { rc = 999 @@ -37969,9 +39537,9 @@ func DbTransPostCmd(tls *libc.TLS, data uintptr, interp uintptr, result int32) i } var azEnd = [4]uintptr{ - ts + 11285, /* "RELEASE _tcl_tra..." */ // rc==TCL_ERROR, nTransaction!=0 - ts + 11310, /* "COMMIT" */ // rc!=TCL_ERROR, nTransaction==0 - ts + 11317, /* "ROLLBACK TO _tcl..." */ + ts + 12073, /* "RELEASE _tcl_tra..." */ // rc==TCL_ERROR, nTransaction!=0 + ts + 12098, /* "COMMIT" */ // rc!=TCL_ERROR, nTransaction==0 + ts + 12105, /* "ROLLBACK TO _tcl..." */ ts + 7270, /* "ROLLBACK" */ // rc==TCL_ERROR, nTransaction==0 } /* tclsqlite.c:1216:21 */ @@ -38860,7 +40428,7 @@ func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintpt return TCL_ERROR __1: ; - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&DB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+11373 /* "option" */, 0, bp+1016 /* &choice */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&DB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+12161 /* "option" */, 0, bp+1016 /* &choice */) != 0) { goto __2 } return TCL_ERROR @@ -39218,7 +40786,7 @@ __4: if !(objc > 3) { goto __45 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __46 __45: @@ -39289,7 +40857,7 @@ __55: zDestFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) goto __58 __57: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11391 /* "?DATABASE? FILEN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12179 /* "?DATABASE? FILEN..." */) return TCL_ERROR __58: ; @@ -39300,7 +40868,7 @@ __56: if !(rc != SQLITE_OK) { goto __59 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+11411, /* "cannot open targ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+12199, /* "cannot open targ..." */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))) return TCL_ERROR @@ -39310,7 +40878,7 @@ __59: if !(pBackup == uintptr(0)) { goto __60 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+11441, /* "backup failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+12229, /* "backup failed: " */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))) return TCL_ERROR @@ -39330,7 +40898,7 @@ __62: rc = TCL_OK goto __64 __63: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+11441, /* "backup failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+12229, /* "backup failed: " */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) rc = TCL_ERROR __64: @@ -39359,7 +40927,7 @@ __6: if !(objc > 3) { goto __65 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __66 __65: @@ -39405,7 +40973,7 @@ __7: if !(objc > 3) { goto __73 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11457 /* "CALLBACK" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12245 /* "CALLBACK" */) return TCL_ERROR goto __74 __73: @@ -39465,18 +41033,18 @@ __8: if !(objc <= 2) { goto __83 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11466 /* "cache option ?ar..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+12254 /* "cache option ?ar..." */) return TCL_ERROR __83: ; subCmd = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)) - if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 'f') && (libc.Xstrcmp(tls, subCmd, ts+11485 /* "flush" */) == 0)) { + if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 'f') && (libc.Xstrcmp(tls, subCmd, ts+12273 /* "flush" */) == 0)) { goto __84 } if !(objc != 3) { goto __86 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11485 /* "flush" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12273 /* "flush" */) return TCL_ERROR goto __87 __86: @@ -39485,21 +41053,21 @@ __87: ; goto __85 __84: - if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 's') && (libc.Xstrcmp(tls, subCmd, ts+11491 /* "size" */) == 0)) { + if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 's') && (libc.Xstrcmp(tls, subCmd, ts+12279 /* "size" */) == 0)) { goto __88 } if !(objc != 4) { goto __90 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11496 /* "size n" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12284 /* "size n" */) return TCL_ERROR goto __91 __90: if !(TCL_ERROR == tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1040 /* &n */)) { goto __92 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+120, ts+11503, /* "cannot convert \"" */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), uintptr(0)), ts+11520 /* "\" to integer" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+120, ts+12291, /* "cannot convert \"" */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), uintptr(0)), ts+12308 /* "\" to integer" */, uintptr(0))) return TCL_ERROR goto __93 __92: @@ -39525,8 +41093,8 @@ __91: ; goto __89 __88: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, ts+11533, /* "bad option \"" */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)), ts+11546, /* "\": must be flush..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, ts+12321, /* "bad option \"" */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)), ts+12334, /* "\": must be flush..." */ uintptr(0))) return TCL_ERROR __89: @@ -39567,7 +41135,7 @@ __11: if !(objc != 4) { goto __98 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11571 /* "NAME SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12359 /* "NAME SCRIPT" */) return TCL_ERROR __98: ; @@ -39605,7 +41173,7 @@ __12: if !(objc != 3) { goto __101 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11583 /* "SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+10650 /* "SCRIPT" */) return TCL_ERROR __101: ; @@ -39647,7 +41215,7 @@ __13: if !(objc > 3) { goto __107 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __108 __107: @@ -39723,7 +41291,7 @@ __15: if !(objc > 4) { goto __118 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11590 /* "?OPTION? ?BOOLEA..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12371 /* "?OPTION? ?BOOLEA..." */) return TCL_ERROR __118: ; @@ -39783,8 +41351,8 @@ __127: if !(uint64(ii) >= (uint64(unsafe.Sizeof(aDbConfig)) / uint64(unsafe.Sizeof(DbConfigChoices{})))) { goto __129 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+216, ts+11609 /* "unknown config o..." */, zOpt, - ts+11634 /* "\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+216, ts+12390 /* "unknown config o..." */, zOpt, + ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __129: ; @@ -39828,7 +41396,7 @@ __16: // The input file goto __132 } tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, - ts+11636 /* "CONFLICT-ALGORIT..." */) + ts+12417 /* "CONFLICT-ALGORIT..." */) return TCL_ERROR __132: ; @@ -39838,7 +41406,7 @@ __132: zSep = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 5*8)), uintptr(0)) goto __134 __133: - zSep = ts + 11698 /* "\t" */ + zSep = ts + 12479 /* "\t" */ __134: ; if !(objc >= 7) { @@ -39858,25 +41426,25 @@ __136: if !(nSep == 0) { goto __137 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+264, ts+11700, /* "Error: non-null ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+264, ts+12481, /* "Error: non-null ..." */ uintptr(0))) return TCL_ERROR __137: ; - if !(((((libc.Xstrcmp(tls, zConflict, ts+11744 /* "rollback" */) != 0) && (libc.Xstrcmp(tls, zConflict, ts+11753 /* "abort" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11759 /* "fail" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11764 /* "ignore" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11771 /* "replace" */) != 0)) { + if !(((((libc.Xstrcmp(tls, zConflict, ts+12525 /* "rollback" */) != 0) && (libc.Xstrcmp(tls, zConflict, ts+12534 /* "abort" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12540 /* "fail" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12545 /* "ignore" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12552 /* "replace" */) != 0)) { goto __138 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+280, ts+11779 /* "Error: \"" */, zConflict, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+280, ts+12560 /* "Error: \"" */, zConflict, - ts+11788 /* "\", conflict-algo..." */, uintptr(0))) + ts+12569 /* "\", conflict-algo..." */, uintptr(0))) return TCL_ERROR __138: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+11868 /* "SELECT * FROM '%..." */, libc.VaList(bp+312, zTable)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+12649 /* "SELECT * FROM '%..." */, libc.VaList(bp+312, zTable)) if !(zSql == uintptr(0)) { goto __139 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+320, ts+11887 /* "Error: no such t..." */, zTable, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+320, ts+12668 /* "Error: no such t..." */, zTable, uintptr(0))) return TCL_ERROR __139: ; @@ -39886,7 +41454,7 @@ __139: if !(rc != 0) { goto __140 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+344, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+344, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) nCol = 0 goto __141 __140: @@ -39904,11 +41472,11 @@ __142: if !(zSql == uintptr(0)) { goto __143 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+368, ts+11918 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+368, ts+12699 /* "Error: can't mal..." */, uintptr(0))) return TCL_ERROR __143: ; - sqlite3.Xsqlite3_snprintf(tls, (nByte + 50), zSql, ts+11940, /* "INSERT OR %q INT..." */ + sqlite3.Xsqlite3_snprintf(tls, (nByte + 50), zSql, ts+12721, /* "INSERT OR %q INT..." */ libc.VaList(bp+384, zConflict, zTable)) j = strlen30(tls, zSql) i = 1 @@ -39932,7 +41500,7 @@ __146: if !(rc != 0) { goto __147 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+400, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+400, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */))) return TCL_ERROR __147: @@ -39941,7 +41509,7 @@ __147: if !(in == uintptr(0)) { goto __148 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+424, ts+11972 /* "Error: cannot op..." */, zFile, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+424, ts+12753 /* "Error: cannot op..." */, zFile, uintptr(0))) sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */))) return TCL_ERROR __148: @@ -39950,13 +41518,13 @@ __148: if !(azCol == uintptr(0)) { goto __149 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+448, ts+11918 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+448, ts+12699 /* "Error: can't mal..." */, uintptr(0))) libc.Xfclose(tls, in) return TCL_ERROR __149: ; - sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+11998 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) - zCommit1 = ts + 11310 /* "COMMIT" */ + sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+12779 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + zCommit1 = ts + 12098 /* "COMMIT" */ __150: if !((libc.AssignUintptr(&zLine, local_getline(tls, uintptr(0), in))) != uintptr(0)) { goto __151 @@ -39999,7 +41567,7 @@ __154: goto __158 } sqlite3.Xsqlite3_snprintf(tls, nErr, zErr, - ts+12004, /* "Error: %s line %..." */ + ts+12785, /* "Error: %s line %..." */ libc.VaList(bp+464, zFile, lineno, nCol, (i+1))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+496, zErr, uintptr(0))) libc.Xfree(tls, zErr) @@ -40038,7 +41606,7 @@ __161: if !(rc != SQLITE_OK) { goto __164 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+512, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+512, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) zCommit1 = ts + 7270 /* "ROLLBACK" */ goto __151 __164: @@ -40062,7 +41630,7 @@ __151: __165: // failure, append lineno where failed sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+1072 /* &zLineNum[0] */, ts+1238 /* "%d" */, libc.VaList(bp+536, lineno)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+544, ts+12064 /* ", failed while p..." */, bp+1072, /* &zLineNum[0] */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+544, ts+12845 /* ", failed while p..." */, bp+1072, /* &zLineNum[0] */ uintptr(0))) rc = TCL_ERROR __166: @@ -40081,7 +41649,7 @@ __17: if !(objc < 3) { goto __167 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12097 /* "?DATABASE? VALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12878 /* "?DATABASE? VALUE" */) rc = TCL_ERROR goto __3 __167: @@ -40092,7 +41660,7 @@ __168: goto __170 } z1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i1)*8))) - if !((libc.Xstrcmp(tls, z1, ts+12114 /* "-maxsize" */) == 0) && (i1 < (objc - 2))) { + if !((libc.Xstrcmp(tls, z1, ts+12895 /* "-maxsize" */) == 0) && (i1 < (objc - 2))) { goto __171 } rc = tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1152 /* &mxSize */) @@ -40105,7 +41673,7 @@ __172: goto __169 __171: ; - if !((libc.Xstrcmp(tls, z1, ts+12123 /* "-readonly" */) == 0) && (i1 < (objc - 2))) { + if !((libc.Xstrcmp(tls, z1, ts+12904 /* "-readonly" */) == 0) && (i1 < (objc - 2))) { goto __173 } rc = tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1160 /* &isReadonly */) @@ -40125,7 +41693,7 @@ __173: goto __169 __175: ; - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+568, ts+12133 /* "unknown option: " */, z1, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+568, ts+12914 /* "unknown option: " */, z1, uintptr(0))) rc = TCL_ERROR goto deserialize_error goto __169 @@ -40164,7 +41732,7 @@ __180: if !(xrc != 0) { goto __181 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+608, ts+12150 /* "unable to set ME..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+608, ts+12931 /* "unable to set ME..." */, uintptr(0))) rc = TCL_ERROR __181: ; @@ -40184,7 +41752,7 @@ deserialize_error: // Turn the extension loading feature on or off. It if off by // default. __18: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+624, ts+12178, /* "extension loadin..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+624, ts+12959, /* "extension loadin..." */ uintptr(0))) return TCL_ERROR @@ -40270,13 +41838,13 @@ __192: if !(((objc > 3) && ((libc.AssignUintptr(&zOpt1, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))))) != uintptr(0))) && (int32(*(*int8)(unsafe.Pointer(zOpt1))) == '-')) { goto __193 } - if !(libc.Xstrcmp(tls, zOpt1, ts+12226 /* "-withoutnulls" */) == 0) { + if !(libc.Xstrcmp(tls, zOpt1, ts+13007 /* "-withoutnulls" */) == 0) { goto __194 } evalFlags = evalFlags | (SQLITE_EVAL_WITHOUTNULLS) goto __195 __194: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+640, ts+12240 /* "unknown option: ..." */, zOpt1, ts+11634 /* "\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+640, ts+13021 /* "unknown option: ..." */, zOpt1, ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __195: ; @@ -40289,7 +41857,7 @@ __193: goto __196 } tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, - ts+12258 /* "?OPTIONS? SQL ?A..." */) + ts+13039 /* "?OPTIONS? SQL ?A..." */) return TCL_ERROR __196: ; @@ -40386,7 +41954,7 @@ __23: if !(objc < 4) { goto __210 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12294 /* "NAME ?SWITCHES? ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13075 /* "NAME ?SWITCHES? ..." */) return TCL_ERROR __210: ; @@ -40397,13 +41965,13 @@ __211: } z2 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8))) n1 = strlen30(tls, z2) - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12317 /* "-argcount" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13098 /* "-argcount" */, uint64(n1)) == 0)) { goto __214 } if !(i3 == (objc - 2)) { goto __216 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+672, ts+12327 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+672, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __216: ; @@ -40416,7 +41984,7 @@ __217: if !(*(*int32)(unsafe.Pointer(bp + 1304 /* nArg */)) < 0) { goto __218 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+696, ts+12357, /* "number of argume..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+696, ts+13138, /* "number of argume..." */ uintptr(0))) return TCL_ERROR __218: @@ -40424,38 +41992,38 @@ __218: i3++ goto __215 __214: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12398 /* "-deterministic" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13179 /* "-deterministic" */, uint64(n1)) == 0)) { goto __219 } flags1 = flags1 | (SQLITE_DETERMINISTIC) goto __220 __219: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12413 /* "-directonly" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13194 /* "-directonly" */, uint64(n1)) == 0)) { goto __221 } flags1 = flags1 | (SQLITE_DIRECTONLY) goto __222 __221: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12425 /* "-innocuous" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13206 /* "-innocuous" */, uint64(n1)) == 0)) { goto __223 } flags1 = flags1 | (SQLITE_INNOCUOUS) goto __224 __223: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12436 /* "-returntype" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13217 /* "-returntype" */, uint64(n1)) == 0)) { goto __225 } - *(*[6]uintptr)(unsafe.Pointer(bp + 1312 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 12448 /* "real" */, ts + 12453 /* "text" */, ts + 12458 /* "blob" */, ts + 12463 /* "any" */, uintptr(0)} + *(*[6]uintptr)(unsafe.Pointer(bp + 1312 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 13229 /* "real" */, ts + 13234 /* "text" */, ts + 13239 /* "blob" */, ts + 13244 /* "any" */, uintptr(0)} if !(i3 == (objc - 2)) { goto __227 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+712, ts+12327 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+712, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __227: ; i3++ - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8)), bp+1312 /* &azType[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+12467 /* "type" */, 0, bp+1360 /* &eType */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8)), bp+1312 /* &azType[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+13248 /* "type" */, 0, bp+1360 /* &eType */) != 0) { goto __228 } return TCL_ERROR @@ -40464,9 +42032,9 @@ __228: *(*int32)(unsafe.Pointer(bp + 1360 /* eType */))++ goto __226 __225: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+736, ts+11533 /* "bad option \"" */, z2, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+736, ts+12321 /* "bad option \"" */, z2, - ts+12472 /* "\": must be -argc..." */, uintptr(0))) + ts+13253 /* "\": must be -argc..." */, uintptr(0))) return TCL_ERROR __226: ; @@ -40539,7 +42107,7 @@ __24: zDb = ts + 85 /* "main" */ // Check for the -readonly option - if !((objc > 3) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), ts+12123 /* "-readonly" */) == 0)) { + if !((objc > 3) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), ts+12904 /* "-readonly" */) == 0)) { goto __236 } isReadonly1 = 1 @@ -40549,7 +42117,7 @@ __236: if !((objc != (5 + isReadonly1)) && (objc != (6 + isReadonly1))) { goto __237 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12550 /* "?-readonly? ?DB?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13331 /* "?-readonly? ?DB?..." */) return TCL_ERROR __237: ; @@ -40591,7 +42159,7 @@ __26: if !((objc != 2) && (objc != 3)) { goto __240 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12586 /* "NULLVALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13367 /* "NULLVALUE" */) return TCL_ERROR __240: ; @@ -40696,7 +42264,7 @@ __256: ; goto __250 __249: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12596 /* "N CALLBACK" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13377 /* "N CALLBACK" */) return TCL_ERROR __250: ; @@ -40713,7 +42281,7 @@ __29: if !(objc > 3) { goto __257 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __258 __257: @@ -40770,7 +42338,7 @@ __30: if !(objc != 3) { goto __267 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12607 /* "KEY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13388 /* "KEY" */) return TCL_ERROR __267: ; @@ -40797,7 +42365,7 @@ __268: zSrcFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) goto __271 __270: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11391 /* "?DATABASE? FILEN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12179 /* "?DATABASE? FILEN..." */) return TCL_ERROR __271: ; @@ -40808,7 +42376,7 @@ __269: if !(rc != SQLITE_OK) { goto __272 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+800, ts+12611, /* "cannot open sour..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+800, ts+13392, /* "cannot open sour..." */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */))) return TCL_ERROR @@ -40818,7 +42386,7 @@ __272: if !(pBackup1 == uintptr(0)) { goto __273 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+824, ts+12641, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+824, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */))) return TCL_ERROR @@ -40854,12 +42422,12 @@ __278: if !((rc == SQLITE_BUSY) || (rc == SQLITE_LOCKED)) { goto __280 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+848, ts+12658, /* "restore failed: ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+848, ts+13439, /* "restore failed: ..." */ uintptr(0))) rc = TCL_ERROR goto __281 __280: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+12641, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) rc = TCL_ERROR __281: @@ -40882,7 +42450,7 @@ __32: if !((objc != 2) && (objc != 3)) { goto __282 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12695 /* "?DATABASE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13476 /* "?DATABASE?" */) rc = TCL_ERROR goto __283 __282: @@ -40916,7 +42484,7 @@ __33: if !(objc != 3) { goto __287 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12706 /* "(step|sort|autoi..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13487 /* "(step|sort|autoi..." */) return TCL_ERROR __287: ; @@ -40927,26 +42495,26 @@ __287: v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnStep goto __289 __288: - if !(libc.Xstrcmp(tls, zOp, ts+12728 /* "sort" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13509 /* "sort" */) == 0) { goto __290 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnSort goto __291 __290: - if !(libc.Xstrcmp(tls, zOp, ts+12733 /* "autoindex" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13514 /* "autoindex" */) == 0) { goto __292 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnIndex goto __293 __292: - if !(libc.Xstrcmp(tls, zOp, ts+12743 /* "vmstep" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13524 /* "vmstep" */) == 0) { goto __294 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnVMStep goto __295 __294: tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+888, ts+12750, /* "bad argument: sh..." */ + libc.VaList(bp+888, ts+13531, /* "bad argument: sh..." */ uintptr(0))) return TCL_ERROR __295: @@ -40967,7 +42535,7 @@ __34: if !(objc != 3) { goto __296 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12806 /* "MILLISECONDS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13587 /* "MILLISECONDS" */) return TCL_ERROR __296: ; @@ -41005,7 +42573,7 @@ __36: if !(objc > 3) { goto __299 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __300 __299: @@ -41064,7 +42632,7 @@ __37: if !(objc > 4) { goto __309 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12819 /* "?CALLBACK? ?MASK..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13600 /* "?CALLBACK? ?MASK..." */) return TCL_ERROR goto __310 __309: @@ -41100,7 +42668,7 @@ __317: return TCL_ERROR __320: ; - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+12837 /* "trace type" */, 0, bp+1432 /* &ttype */) != TCL_OK) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+13618 /* "trace type" */, 0, bp+1432 /* &ttype */) != TCL_OK) { goto __321 } pError = tcl.XTcl_DuplicateObj(tls, tcl.XTcl_GetObjResult(tls, interp)) @@ -41234,11 +42802,11 @@ __310: // This command was inspired by Dave Thomas's talk on Ruby at the // 2005 O'Reilly Open Source Convention (OSCON). __38: - zBegin = ts + 12848 /* "SAVEPOINT _tcl_t..." */ + zBegin = ts + 13629 /* "SAVEPOINT _tcl_t..." */ if !((objc != 3) && (objc != 4)) { goto __343 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12875 /* "[TYPE] SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13656 /* "[TYPE] SCRIPT" */) return TCL_ERROR __343: ; @@ -41246,7 +42814,7 @@ __343: if !(((*SqliteDb)(unsafe.Pointer(pDb)).FnTransaction == 0) && (objc == 4)) { goto __344 } - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&TTYPE_strs1)), int32(unsafe.Sizeof(uintptr(0))), ts+12889 /* "transaction type" */, 0, bp+1448 /* &ttype1 */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&TTYPE_strs1)), int32(unsafe.Sizeof(uintptr(0))), ts+13670 /* "transaction type" */, 0, bp+1448 /* &ttype1 */) != 0) { goto __345 } return TCL_ERROR @@ -41265,10 +42833,10 @@ __347: /* no-op */ ; goto __346 __348: - zBegin = ts + 12906 /* "BEGIN EXCLUSIVE" */ + zBegin = ts + 13687 /* "BEGIN EXCLUSIVE" */ goto __346 __349: - zBegin = ts + 12922 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 13703 /* "BEGIN IMMEDIATE" */ goto __346 __346: ; @@ -41313,7 +42881,7 @@ __39: if !((objc != 2) && (objc != 3)) { goto __353 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) rc = TCL_ERROR goto __354 __353: @@ -41375,7 +42943,7 @@ __40: if !(objc < 3) { goto __362 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12947 /* "SUB-COMMAND ?ARG..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13728 /* "SUB-COMMAND ?ARG..." */) __362: ; if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&azSub)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+1464 /* &iSub */) != 0) { @@ -41410,7 +42978,7 @@ __366: if !(objc > 4) { goto __370 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12966 /* "hook ?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13747 /* "hook ?SCRIPT?" */) return TCL_ERROR __370: ; @@ -41439,7 +43007,7 @@ __369: if !(objc != 4) { goto __372 } - tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+12980 /* "INDEX" */) + tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+13761 /* "INDEX" */) return TCL_ERROR __372: ; @@ -41507,7 +43075,7 @@ __380: if !(objc > 3) { goto __381 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) return TCL_ERROR __381: ; @@ -41534,7 +43102,7 @@ __382: // $db version -use-legacy-prepare BOOLEAN // // Turn the use of legacy sqlite3_prepare() on or off. - if !((libc.Xstrcmp(tls, zArg, ts+12986 /* "-use-legacy-prep..." */) == 0) && ((i5 + 1) < objc)) { + if !((libc.Xstrcmp(tls, zArg, ts+13767 /* "-use-legacy-prep..." */) == 0) && ((i5 + 1) < objc)) { goto __385 } i5++ @@ -41551,10 +43119,10 @@ __385: // // Return a string which is a hex encoding of the pointer to the // most recent sqlite3_stmt in the statement cache. - if !(libc.Xstrcmp(tls, zArg, ts+13006 /* "-last-stmt-ptr" */) == 0) { + if !(libc.Xstrcmp(tls, zArg, ts+13787 /* "-last-stmt-ptr" */) == 0) { goto __388 } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1480 /* &zBuf[0] */, ts+13021, /* "%p" */ + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1480 /* &zBuf[0] */, ts+13802, /* "%p" */ libc.VaList(bp+984, func() uintptr { if (*SqliteDb)(unsafe.Pointer(pDb)).FstmtList != 0 { return (*SqlPreparedStmt)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FstmtList)).FpStmt @@ -41565,7 +43133,7 @@ __385: goto __389 __388: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+992, ts+13024 /* "unknown argument..." */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+992, ts+13805 /* "unknown argument..." */, zArg, uintptr(0))) return TCL_ERROR __389: ; @@ -41598,46 +43166,46 @@ type DbConfigChoices = struct { } /* tclsqlite.c:2340:18 */ var DB_strs = [42]uintptr{ - ts + 13043 /* "authorizer" */, ts + 13054 /* "backup" */, ts + 13061, /* "bind_fallback" */ - ts + 13075 /* "busy" */, ts + 13080 /* "cache" */, ts + 13086, /* "changes" */ - ts + 10125 /* "close" */, ts + 13094 /* "collate" */, ts + 13102, /* "collation_needed" */ - ts + 13119 /* "commit_hook" */, ts + 13131 /* "complete" */, ts + 13140, /* "config" */ - ts + 13147 /* "copy" */, ts + 13152 /* "deserialize" */, ts + 13164, /* "enable_load_exte..." */ - ts + 13186 /* "errorcode" */, ts + 4757 /* "eval" */, ts + 13196, /* "exists" */ - ts + 13203 /* "function" */, ts + 10524 /* "incrblob" */, ts + 13212, /* "interrupt" */ - ts + 13222 /* "last_insert_rowi..." */, ts + 13240 /* "nullvalue" */, ts + 13250, /* "onecolumn" */ - ts + 13260 /* "preupdate" */, ts + 13270 /* "profile" */, ts + 10199, /* "progress" */ - ts + 13278 /* "rekey" */, ts + 13284 /* "restore" */, ts + 13292, /* "rollback_hook" */ - ts + 13306 /* "serialize" */, ts + 13316 /* "status" */, ts + 13323, /* "timeout" */ - ts + 13331 /* "total_changes" */, ts + 13345 /* "trace" */, ts + 13351, /* "trace_v2" */ - ts + 13360 /* "transaction" */, ts + 13372 /* "unlock_notify" */, ts + 13386, /* "update_hook" */ - ts + 13398 /* "version" */, ts + 13406 /* "wal_hook" */, uintptr(0), + ts + 13824 /* "authorizer" */, ts + 13835 /* "backup" */, ts + 13842, /* "bind_fallback" */ + ts + 13856 /* "busy" */, ts + 13861 /* "cache" */, ts + 13867, /* "changes" */ + ts + 10125 /* "close" */, ts + 13875 /* "collate" */, ts + 13883, /* "collation_needed" */ + ts + 13900 /* "commit_hook" */, ts + 13912 /* "complete" */, ts + 13921, /* "config" */ + ts + 13928 /* "copy" */, ts + 13933 /* "deserialize" */, ts + 13945, /* "enable_load_exte..." */ + ts + 13967 /* "errorcode" */, ts + 4757 /* "eval" */, ts + 13977, /* "exists" */ + ts + 13984 /* "function" */, ts + 11333 /* "incrblob" */, ts + 13993, /* "interrupt" */ + ts + 14003 /* "last_insert_rowi..." */, ts + 14021 /* "nullvalue" */, ts + 14031, /* "onecolumn" */ + ts + 14041 /* "preupdate" */, ts + 14051 /* "profile" */, ts + 10199, /* "progress" */ + ts + 14059 /* "rekey" */, ts + 14065 /* "restore" */, ts + 14073, /* "rollback_hook" */ + ts + 14087 /* "serialize" */, ts + 14097 /* "status" */, ts + 14104, /* "timeout" */ + ts + 14112 /* "total_changes" */, ts + 14126 /* "trace" */, ts + 14132, /* "trace_v2" */ + ts + 14141 /* "transaction" */, ts + 14153 /* "unlock_notify" */, ts + 14167, /* "update_hook" */ + ts + 14179 /* "version" */, ts + 14187 /* "wal_hook" */, uintptr(0), } /* tclsqlite.c:1916:21 */ var aDbConfig = [16]DbConfigChoices{ - {FzName: ts + 13415 /* "defensive" */, Fop: SQLITE_DBCONFIG_DEFENSIVE}, - {FzName: ts + 13425 /* "dqs_ddl" */, Fop: SQLITE_DBCONFIG_DQS_DDL}, - {FzName: ts + 13433 /* "dqs_dml" */, Fop: SQLITE_DBCONFIG_DQS_DML}, - {FzName: ts + 13441 /* "enable_fkey" */, Fop: SQLITE_DBCONFIG_ENABLE_FKEY}, - {FzName: ts + 13453 /* "enable_qpsg" */, Fop: SQLITE_DBCONFIG_ENABLE_QPSG}, - {FzName: ts + 13465 /* "enable_trigger" */, Fop: SQLITE_DBCONFIG_ENABLE_TRIGGER}, - {FzName: ts + 13480 /* "enable_view" */, Fop: SQLITE_DBCONFIG_ENABLE_VIEW}, - {FzName: ts + 13492 /* "fts3_tokenizer" */, Fop: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, - {FzName: ts + 13507 /* "legacy_alter_tab..." */, Fop: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, - {FzName: ts + 13526 /* "legacy_file_form..." */, Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, - {FzName: ts + 13545 /* "load_extension" */, Fop: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, - {FzName: ts + 13560 /* "no_ckpt_on_close" */, Fop: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, - {FzName: ts + 13577 /* "reset_database" */, Fop: SQLITE_DBCONFIG_RESET_DATABASE}, - {FzName: ts + 13592 /* "trigger_eqp" */, Fop: SQLITE_DBCONFIG_TRIGGER_EQP}, - {FzName: ts + 13604 /* "trusted_schema" */, Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA}, - {FzName: ts + 13619 /* "writable_schema" */, Fop: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, + {FzName: ts + 14196 /* "defensive" */, Fop: SQLITE_DBCONFIG_DEFENSIVE}, + {FzName: ts + 14206 /* "dqs_ddl" */, Fop: SQLITE_DBCONFIG_DQS_DDL}, + {FzName: ts + 14214 /* "dqs_dml" */, Fop: SQLITE_DBCONFIG_DQS_DML}, + {FzName: ts + 14222 /* "enable_fkey" */, Fop: SQLITE_DBCONFIG_ENABLE_FKEY}, + {FzName: ts + 14234 /* "enable_qpsg" */, Fop: SQLITE_DBCONFIG_ENABLE_QPSG}, + {FzName: ts + 14246 /* "enable_trigger" */, Fop: SQLITE_DBCONFIG_ENABLE_TRIGGER}, + {FzName: ts + 14261 /* "enable_view" */, Fop: SQLITE_DBCONFIG_ENABLE_VIEW}, + {FzName: ts + 14273 /* "fts3_tokenizer" */, Fop: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, + {FzName: ts + 14288 /* "legacy_alter_tab..." */, Fop: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, + {FzName: ts + 14307 /* "legacy_file_form..." */, Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, + {FzName: ts + 14326 /* "load_extension" */, Fop: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, + {FzName: ts + 14341 /* "no_ckpt_on_close" */, Fop: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, + {FzName: ts + 14358 /* "reset_database" */, Fop: SQLITE_DBCONFIG_RESET_DATABASE}, + {FzName: ts + 14373 /* "trigger_eqp" */, Fop: SQLITE_DBCONFIG_TRIGGER_EQP}, + {FzName: ts + 14385 /* "trusted_schema" */, Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA}, + {FzName: ts + 14400 /* "writable_schema" */, Fop: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, } /* tclsqlite.c:2343:7 */ var TTYPE_strs = [5]uintptr{ - ts + 13635 /* "statement" */, ts + 13270 /* "profile" */, ts + 13645 /* "row" */, ts + 10125 /* "close" */, uintptr(0), + ts + 14416 /* "statement" */, ts + 14051 /* "profile" */, ts + 14426 /* "row" */, ts + 10125 /* "close" */, uintptr(0), } /* tclsqlite.c:3321:27 */ var TTYPE_strs1 = [4]uintptr{ - ts + 13649 /* "deferred" */, ts + 13658 /* "exclusive" */, ts + 13668 /* "immediate" */, uintptr(0), + ts + 14430 /* "deferred" */, ts + 14439 /* "exclusive" */, ts + 14449 /* "immediate" */, uintptr(0), } /* tclsqlite.c:3404:25 */ -var azSub = [6]uintptr{ts + 1826 /* "count" */, ts + 13678 /* "depth" */, ts + 13684 /* "hook" */, ts + 13689 /* "new" */, ts + 13693 /* "old" */, uintptr(0)} /* tclsqlite.c:3496:23 */ +var azSub = [6]uintptr{ts + 1826 /* "count" */, ts + 14459 /* "depth" */, ts + 14465 /* "hook" */, ts + 14470 /* "new" */, ts + 14474 /* "old" */, uintptr(0)} /* tclsqlite.c:3496:23 */ // Adaptor that provides an objCmd interface to the NRE-enabled // interface implementation. @@ -41652,7 +43220,7 @@ func DbObjCmdAdaptor(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv func sqliteCmdUsage(tls *libc.TLS, interp uintptr, objv uintptr) int32 { /* tclsqlite.c:3661:12: */ tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+13697 /* "HANDLE ?FILENAME..." */) + ts+14478 /* "HANDLE ?FILENAME..." */) return TCL_ERROR } @@ -41698,16 +43266,16 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } if objc == 2 { zArg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(0)) - if libc.Xstrcmp(tls, zArg, ts+13843 /* "-version" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14624 /* "-version" */) == 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), uintptr(0))) return TCL_OK } - if libc.Xstrcmp(tls, zArg, ts+13852 /* "-sourceid" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14633 /* "-sourceid" */) == 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, sqlite3.Xsqlite3_sourceid(tls), uintptr(0))) return TCL_OK } - if libc.Xstrcmp(tls, zArg, ts+13862 /* "-has-codec" */) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+13873 /* "0" */, uintptr(0))) + if libc.Xstrcmp(tls, zArg, ts+14643 /* "-has-codec" */) == 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+14654 /* "0" */, uintptr(0))) return TCL_OK } if int32(*(*int8)(unsafe.Pointer(zArg))) == '-' { @@ -41727,11 +43295,11 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) return sqliteCmdUsage(tls, interp, objv) } i++ - if libc.Xstrcmp(tls, zArg, ts+13875 /* "-key" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14656 /* "-key" */) == 0 { // no-op - } else if libc.Xstrcmp(tls, zArg, ts+13880 /* "-vfs" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14661 /* "-vfs" */) == 0 { zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))) - } else if libc.Xstrcmp(tls, zArg, ts+12123 /* "-readonly" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+12904 /* "-readonly" */) == 0 { // var b int32 at bp+88, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+88 /* &b */) != 0 { @@ -41744,7 +43312,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) flags = flags & (libc.CplInt32(SQLITE_OPEN_READONLY)) flags = flags | (SQLITE_OPEN_READWRITE) } - } else if libc.Xstrcmp(tls, zArg, ts+13885 /* "-create" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14666 /* "-create" */) == 0 { // var b int32 at bp+92, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+92 /* &b */) != 0 { @@ -41755,7 +43323,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_CREATE)) } - } else if libc.Xstrcmp(tls, zArg, ts+13893 /* "-nofollow" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14674 /* "-nofollow" */) == 0 { // var b int32 at bp+96, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+96 /* &b */) != 0 { @@ -41766,7 +43334,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOFOLLOW)) } - } else if libc.Xstrcmp(tls, zArg, ts+13903 /* "-nomutex" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14684 /* "-nomutex" */) == 0 { // var b int32 at bp+100, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+100 /* &b */) != 0 { @@ -41778,7 +43346,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOMUTEX)) } - } else if libc.Xstrcmp(tls, zArg, ts+13912 /* "-fullmutex" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14693 /* "-fullmutex" */) == 0 { // var b int32 at bp+104, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+104 /* &b */) != 0 { @@ -41790,7 +43358,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_FULLMUTEX)) } - } else if libc.Xstrcmp(tls, zArg, ts+13923 /* "-uri" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14704 /* "-uri" */) == 0 { // var b int32 at bp+108, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+108 /* &b */) != 0 { @@ -41801,12 +43369,12 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_URI)) } - } else if libc.Xstrcmp(tls, zArg, ts+13928 /* "-translatefilena..." */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14709 /* "-translatefilena..." */) == 0 { if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+112 /* &bTranslateFileName */) != 0 { return TCL_ERROR } } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+12133 /* "unknown option: " */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+12914 /* "unknown option: " */, zArg, uintptr(0))) return TCL_ERROR } } @@ -41881,16 +43449,16 @@ func Sqlite3_Init(tls *libc.TLS, interp uintptr) int32 { /* tclsqlite.c:3877:12: rc = TCL_ERROR } if rc == TCL_OK { - tcl.XTcl_CreateObjCommand(tls, interp, ts+13947 /* "sqlite3" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+14728 /* "sqlite3" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{DbMain})), uintptr(0), uintptr(0)) // The "sqlite" alias is undocumented. It is here only to support // legacy scripts. All new scripts should use only the "sqlite3" // command. - tcl.XTcl_CreateObjCommand(tls, interp, ts+13955 /* "sqlite" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+14736 /* "sqlite" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{DbMain})), uintptr(0), uintptr(0)) - rc = tcl.XTcl_PkgProvideEx(tls, interp, ts+13947 /* "sqlite3" */, ts+13962 /* "3.36.0" */, uintptr(0)) + rc = tcl.XTcl_PkgProvideEx(tls, interp, ts+14728 /* "sqlite3" */, ts+14743 /* "3.36.0" */, uintptr(0)) } return rc } @@ -41943,7 +43511,7 @@ func tclsh_main_loop(tls *libc.TLS) uintptr { /* tclsqlite.c:3920:19: */ return uintptr(unsafe.Pointer(&zMainloop)) } -var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 13969 /* "if {[llength $ar..." */)) /* tclsqlite.c:3921:21 */ +var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 14750 /* "if {[llength $ar..." */)) /* tclsqlite.c:3921:21 */ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953:18: */ bp := tls.Alloc(64) @@ -41954,10 +43522,10 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: var zScript uintptr = uintptr(0) // var zArgc [32]int8 at bp+32, 32 - if libc.Xgetenv(tls, ts+14400 /* "SQLITE_DEBUG_BRE..." */) != 0 { + if libc.Xgetenv(tls, ts+15181 /* "SQLITE_DEBUG_BRE..." */) != 0 { if (libc.Xisatty(tls, 0) != 0) && (libc.Xisatty(tls, 2) != 0) { libc.Xfprintf(tls, libc.Xstderr, - ts+14419, /* "attach debugger ..." */ + ts+15200, /* "attach debugger ..." */ libc.VaList(bp, libc.Xgetpid(tls))) libc.Xfgetc(tls, libc.Xstdin) } else { @@ -41971,27 +43539,27 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: sqlite3.Xsqlite3_shutdown(tls) tcl.XTcl_FindExecutable(tls, *(*uintptr)(unsafe.Pointer(argv))) - tcl.XTcl_SetSystemEncoding(tls, uintptr(0), ts+14481 /* "utf-8" */) + tcl.XTcl_SetSystemEncoding(tls, uintptr(0), ts+15262 /* "utf-8" */) interp = tcl.XTcl_CreateInterp(tls) Sqlite3_Init(tls, interp) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), bp+32 /* &zArgc[0] */, ts+1238 /* "%d" */, libc.VaList(bp+8, (argc-1))) - tcl.XTcl_SetVar2(tls, interp, ts+14487 /* "argc" */, uintptr(0), bp+32 /* &zArgc[0] */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+14492 /* "argv0" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+14498 /* "argv" */, uintptr(0), ts+489 /* "" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15268 /* "argc" */, uintptr(0), bp+32 /* &zArgc[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15273 /* "argv0" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15279 /* "argv" */, uintptr(0), ts+489 /* "" */, TCL_GLOBAL_ONLY) for i = 1; i < argc; i++ { - tcl.XTcl_SetVar2(tls, interp, ts+14498 /* "argv" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ((TCL_GLOBAL_ONLY | TCL_LIST_ELEMENT) | TCL_APPEND_VALUE)) + tcl.XTcl_SetVar2(tls, interp, ts+15279 /* "argv" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ((TCL_GLOBAL_ONLY | TCL_LIST_ELEMENT) | TCL_APPEND_VALUE)) } zScript = sqlite3TestInit(tls, interp) if zScript == uintptr(0) { zScript = tclsh_main_loop(tls) } if tcl.XTcl_GlobalEval(tls, interp, zScript) != TCL_OK { - var zInfo uintptr = tcl.XTcl_GetVar2(tls, interp, ts+14503 /* "errorInfo" */, uintptr(0), TCL_GLOBAL_ONLY) + var zInfo uintptr = tcl.XTcl_GetVar2(tls, interp, ts+15284 /* "errorInfo" */, uintptr(0), TCL_GLOBAL_ONLY) if zInfo == uintptr(0) { zInfo = tcl.XTcl_GetStringResult(tls, interp) } - libc.Xfprintf(tls, libc.Xstderr, ts+14513 /* "%s: %s\n" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) + libc.Xfprintf(tls, libc.Xstderr, ts+15294 /* "%s: %s\n" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) return 1 } return 0 @@ -44164,16 +45732,16 @@ func get_sqlite_pointer(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var zBuf [100]int8 at bp+112, 100 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+14521 /* "SQLITE-CONNECTIO..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15302 /* "SQLITE-CONNECTIO..." */) return TCL_ERROR } if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539, /* "command not foun..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } p = (*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &cmdInfo */)).FobjClientData - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+112 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+24, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+112 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+24, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+112 /* &zBuf[0] */, 0)) return TCL_OK } @@ -44210,7 +45778,7 @@ func sqlite3TestErrCode(tls *libc.TLS, interp uintptr, db uintptr, rc int32) int var r2 int32 = sqlite3.Xsqlite3_errcode(tls, db) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+48, /* &zBuf[0] */ - ts+14559, /* "error code %s (%..." */ + ts+15340, /* "error code %s (%..." */ libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, rc), rc, sqlite3.Xsqlite3ErrName(tls, r2), r2)) tcl.XTcl_ResetResult(tls, interp) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+48 /* &zBuf[0] */, 0)) @@ -44240,7 +45808,7 @@ func sqlite3TestMakePointerStr(tls *libc.TLS, interp uintptr, zPtr uintptr, p ui bp := tls.Alloc(8) defer tls.Free(8) - sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+13802 /* "%p" */, libc.VaList(bp, p)) return TCL_OK } @@ -44289,7 +45857,7 @@ func test_io_trace(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // Also return true if the OMIT_MISUSE environment variable exists. func clang_sanitize_address(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:269:26: */ var res int32 = 0 - if (res == 0) && (libc.Xgetenv(tls, ts+14617 /* "OMIT_MISUSE" */) != uintptr(0)) { + if (res == 0) && (libc.Xgetenv(tls, ts+15398 /* "OMIT_MISUSE" */) != uintptr(0)) { res = 1 } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, res)) @@ -44315,8 +45883,8 @@ func test_exec_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // var zBuf [30]int8 at bp+280, 30 if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14655 /* " DB FORMAT STRIN..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15436 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { @@ -44369,8 +45937,8 @@ func test_exec_hex(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // var zBuf [30]int8 at bp+776, 30 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14673 /* " DB HEX" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15454 /* " DB HEX" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { @@ -44433,8 +46001,8 @@ func db_enter(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -44451,8 +46019,8 @@ func db_leave(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -44481,8 +46049,8 @@ func test_exec(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [30]int8 at bp+280, 30 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14685 /* " DB SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { @@ -44534,8 +46102,8 @@ func test_exec_nr(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar var rc int32 *(*uintptr)(unsafe.Pointer(bp + 40 /* zErr */)) = uintptr(0) if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14685 /* " DB SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -44561,7 +46129,7 @@ func test_mprintf_z(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 for i = 2; (i < argc) && ((i == 2) || (zResult != 0)); i++ { - zResult = sqlite3.Xsqlite3_mprintf(tls, ts+14693 /* "%z%s%s" */, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + zResult = sqlite3.Xsqlite3_mprintf(tls, ts+15474 /* "%z%s%s" */, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, zResult, 0)) sqlite3.Xsqlite3_free(tls, zResult) @@ -44578,7 +46146,7 @@ func test_mprintf_n(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var zStr uintptr *(*int32)(unsafe.Pointer(bp + 16 /* n */)) = 0 - zStr = sqlite3.Xsqlite3_mprintf(tls, ts+14700 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+16 /* &n */)) + zStr = sqlite3.Xsqlite3_mprintf(tls, ts+15481 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+16 /* &n */)) sqlite3.Xsqlite3_free(tls, zStr) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 16 /* n */)))) return TCL_OK @@ -44604,7 +46172,7 @@ func test_snprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 if uint64(n) > uint64(unsafe.Sizeof([100]int8{})) { n = int32(unsafe.Sizeof([100]int8{})) } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zStr[0] */, ts+14705 /* "abcdefghijklmnop..." */, 0) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zStr[0] */, ts+15486 /* "abcdefghijklmnop..." */, 0) sqlite3.Xsqlite3_snprintf(tls, n, bp+24 /* &zStr[0] */, zFormat, libc.VaList(bp, a1)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24 /* &zStr[0] */, 0)) return TCL_OK @@ -44640,8 +46208,8 @@ func test_get_table_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc } } if (argc != 4) && (argc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14732 /* " DB FORMAT STRIN..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15513 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72 /* &db */) != 0 { @@ -44698,13 +46266,13 @@ func test_last_rowid(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [30]int8 at bp+64, 30 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56 /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+64 /* &zBuf[0] */, ts+10545 /* "%lld" */, libc.VaList(bp+32, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+64 /* &zBuf[0] */, ts+11354 /* "%lld" */, libc.VaList(bp+32, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+64 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -44734,8 +46302,8 @@ func sqlite_test_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -44757,8 +46325,8 @@ func sqlite_test_close_v2(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -44796,7 +46364,7 @@ func hex8Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c:7 z = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint64(i) < ((uint64(unsafe.Sizeof([200]int8{})) / uint64(2)) - uint64(2))) && (*(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([200]int8{})) - (uint64(i * 2)))), (bp + 8 /* &zBuf */ + uintptr((i * 2))), ts+14774 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([200]int8{})) - (uint64(i * 2)))), (bp + 8 /* &zBuf */ + uintptr((i * 2))), ts+15555 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) } *(*int8)(unsafe.Pointer(bp + 8 /* &zBuf[0] */ + uintptr((i * 2)))) = int8(0) sqlite3.Xsqlite3_result_text(tls, p, bp+8 /* zBuf */, -1, libc.UintptrFromInt32(-1)) @@ -44812,7 +46380,7 @@ func hex16Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c: z = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint64(i) < ((uint64(unsafe.Sizeof([400]int8{})) / uint64(4)) - uint64(4))) && (*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([400]int8{})) - (uint64(i * 4)))), (bp + 8 /* &zBuf */ + uintptr((i * 4))), ts+14779 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([400]int8{})) - (uint64(i * 4)))), (bp + 8 /* &zBuf */ + uintptr((i * 4))), ts+15560 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) } *(*int8)(unsafe.Pointer(bp + 8 /* &zBuf[0] */ + uintptr((i * 4)))) = int8(0) sqlite3.Xsqlite3_result_text(tls, p, bp+8 /* zBuf */, -1, libc.UintptrFromInt32(-1)) @@ -44911,7 +46479,7 @@ func tkt2213Function(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zText3 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if (zText1 != zText2) || (zText2 != zText3) { - sqlite3.Xsqlite3_result_error(tls, context, ts+14784 /* "tkt2213 is not f..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15565 /* "tkt2213 is not f..." */, -1) } else { var zCopy uintptr = sqlite3.Xsqlite3_malloc(tls, nText) libc.Xmemcpy(tls, zCopy, zText1, uint64(nText)) @@ -44952,11 +46520,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+12453 /* "text" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+13234 /* "text" */) == 0 { p1 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14805 /* "text16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15586 /* "text16" */) == 0 { p1 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+12458 /* "blob" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+13239 /* "blob" */) == 0 { p1 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) } else { return @@ -44965,11 +46533,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+14812 /* "bytes" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+15593 /* "bytes" */) == 0 { sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14818 /* "bytes16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15599 /* "bytes16" */) == 0 { sqlite3.Xsqlite3_value_bytes16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14826 /* "noop" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15607 /* "noop" */) == 0 { // do nothing } else { return @@ -44978,11 +46546,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+12453 /* "text" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+13234 /* "text" */) == 0 { p2 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14805 /* "text16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15586 /* "text16" */) == 0 { p2 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+12458 /* "blob" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+13239 /* "blob" */) == 0 { p2 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) } else { return @@ -45030,37 +46598,37 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14831 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15612 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1_ifnullFunc})), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14842 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15623 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex8Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14847 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15628 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex16Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14853 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15634 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tkt2213Function})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14865 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15646 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{ptrChngFunction})), uintptr(0), uintptr(0)) @@ -45070,13 +46638,13 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // both return an ascending integer with each call. But counter1() is marked // as non-deterministic and counter2() is marked as deterministic. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14880 /* "counter1" */, -1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15661 /* "counter1" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14889 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15670 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) @@ -45085,7 +46653,7 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // The intreal() function converts its argument to an integer and returns // it as a MEM_IntReal. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14898 /* "intreal" */, 1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15679 /* "intreal" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{intrealFunction})), uintptr(0), uintptr(0)) @@ -45098,7 +46666,7 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var pVal uintptr sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmutex) pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) - sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+14906 /* "x_sqlite_exec" */, uint8(SQLITE_UTF8), uintptr(0)) + sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+15687 /* "x_sqlite_exec" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) if (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).FmallocFailed != 0 { rc = SQLITE_NOMEM @@ -45131,8 +46699,8 @@ func test_drop_modules(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -45181,7 +46749,7 @@ func t1CountStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* if argc > 0 { var v int32 = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))) if v == 40 { - sqlite3.Xsqlite3_result_error(tls, context, ts+14920 /* "value of 40 hand..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15701 /* "value of 40 hand..." */, -1) } else if v == 41 { *(*[9]int8)(unsafe.Pointer(bp /* zUtf16ErrMsg */)) = [9]int8{int8(0), int8(0x61), int8(0), int8(0x62), int8(0), int8(0x63), int8(0), int8(0), int8(0)} sqlite3.Xsqlite3_result_error16(tls, context, (bp /* &zUtf16ErrMsg */ + 1), -1) @@ -45194,7 +46762,7 @@ func t1CountFinalize(tls *libc.TLS, context uintptr) { /* test1.c:1149:13: */ p = sqlite3.Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(t1CountCtx{}))) if p != 0 { if (*t1CountCtx)(unsafe.Pointer(p)).Fn == 42 { - sqlite3.Xsqlite3_result_error(tls, context, ts+14950 /* "x_count totals t..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15731 /* "x_count totals t..." */, -1) } else { sqlite3.Xsqlite3_result_int(tls, context, func() int32 { if p != 0 { @@ -45239,25 +46807,25 @@ func test_create_aggregate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14971 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15752 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14971 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15752 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14979 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15760 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{legacyCountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{legacyCountFinalize}))) @@ -45280,8 +46848,8 @@ func test_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg defer tls.Free(40) if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14992 /* " TEXT\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15773 /* " TEXT\"" */, 0)) return TCL_ERROR } libc.Xprintf(tls, ts+294 /* "%s\n" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) @@ -45300,8 +46868,8 @@ func sqlite3_mprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { @@ -45327,13 +46895,13 @@ func sqlite3_mprintf_int64(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { if sqlite3.Xsqlite3Atoi64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+88 /* &a */ +uintptr((i-2))*8), sqlite3.Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))), uint8(SQLITE_UTF8)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15020 /* "argument is not ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15801 /* "argument is not ..." */, 0)) return TCL_ERROR } } @@ -45359,8 +46927,8 @@ func sqlite3_mprintf_long(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { @@ -45388,8 +46956,8 @@ func sqlite3_mprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 var z uintptr if (argc < 4) || (argc > 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15059 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15840 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -45422,15 +46990,15 @@ func sqlite3_snprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var z uintptr if (argc < 5) || (argc > 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15085 /* " INT FORMAT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15866 /* " INT FORMAT INT ..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+88 /* &n */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 88 /* n */)) < 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15115 /* "N must be non-ne..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15896 /* "N must be non-ne..." */, 0)) return TCL_ERROR } for i = 3; i < 5; i++ { @@ -45464,8 +47032,8 @@ func sqlite3_mprintf_double(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15138 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15919 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -45496,8 +47064,8 @@ func sqlite3_mprintf_scaled(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15162 /* " FORMAT DOUBLE D..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15943 /* " FORMAT DOUBLE D..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -45522,8 +47090,8 @@ func sqlite3_mprintf_stronly(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg var z uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15185 /* " FORMAT STRING\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) @@ -45550,12 +47118,12 @@ func sqlite3_mprintf_hexdouble(tls *libc.TLS, NotUsed uintptr, interp uintptr, a // var d sqlite_uint64 at bp+104, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15185 /* " FORMAT STRING\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } - if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+15201 /* "%08x%08x" */, libc.VaList(bp+32, bp+88 /* &x2 */, bp+92 /* &x1 */)) != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+15210 /* "2nd argument sho..." */, 0)) + if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+15982 /* "%08x%08x" */, libc.VaList(bp+32, bp+88 /* &x2 */, bp+92 /* &x1 */)) != 2 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+15991 /* "2nd argument sho..." */, 0)) return TCL_ERROR } *(*sqlite_uint64)(unsafe.Pointer(bp + 104 /* d */)) = sqlite_uint64(*(*uint32)(unsafe.Pointer(bp + 88 /* x2 */))) @@ -45579,7 +47147,7 @@ func test_enable_shared(tls *libc.TLS, clientData ClientData, interp uintptr, ob var ret int32 = 0 if (objc != 2) && (objc != 1) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15254 /* "?BOOLEAN?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16035 /* "?BOOLEAN?" */) return TCL_ERROR } ret = sqlite3.Xsqlite3Config.FsharedCacheEnabled @@ -45609,7 +47177,7 @@ func test_extended_result_codes(tls *libc.TLS, clientData ClientData, interp uin // var db uintptr at bp, 8 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15264 /* "DB BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16045 /* "DB BOOLEAN" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -45653,7 +47221,7 @@ func test_table_column_metadata(tls *libc.TLS, clientData ClientData, interp uin // var autoincrement int32 at bp+48, 4 if (objc != 5) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15275 /* "DB dbname tblnam..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16056 /* "DB dbname tblnam..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { @@ -45732,7 +47300,7 @@ func test_blob_reopen(tls *libc.TLS, clientData ClientData, interp uintptr, objc var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15301 /* "CHANNEL ROWID" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16082 /* "CHANNEL ROWID" */) return TCL_ERROR } @@ -45827,7 +47395,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp var rc int32 if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15315 /* "DB-HANDLE NAME C..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16096 /* "DB-HANDLE NAME C..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { @@ -45847,7 +47415,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp }{testCreateCollationCmp})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testCreateCollationDel}))) if rc != SQLITE_MISUSE { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+15348 /* "sqlite3_create_c..." */, uintptr(0))) + libc.VaList(bp, ts+16129 /* "sqlite3_create_c..." */, uintptr(0))) return TCL_ERROR } rc = sqlite3.Xsqlite3_create_collation_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), SQLITE_UTF8, @@ -45953,16 +47521,16 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt var rc int32 *(*[6]EncTable)(unsafe.Pointer(bp + 32 /* aEnc */)) = [6]EncTable{ - {FzEnc: ts + 15413 /* "utf8" */, Fenc: SQLITE_UTF8}, - {FzEnc: ts + 15418 /* "utf16" */, Fenc: SQLITE_UTF16}, - {FzEnc: ts + 15424 /* "utf16le" */, Fenc: SQLITE_UTF16LE}, - {FzEnc: ts + 15432 /* "utf16be" */, Fenc: SQLITE_UTF16BE}, - {FzEnc: ts + 12463 /* "any" */, Fenc: SQLITE_ANY}, - {FzEnc: ts + 13873 /* "0" */}, + {FzEnc: ts + 16194 /* "utf8" */, Fenc: SQLITE_UTF8}, + {FzEnc: ts + 16199 /* "utf16" */, Fenc: SQLITE_UTF16}, + {FzEnc: ts + 16205 /* "utf16le" */, Fenc: SQLITE_UTF16LE}, + {FzEnc: ts + 16213 /* "utf16be" */, Fenc: SQLITE_UTF16BE}, + {FzEnc: ts + 13244 /* "any" */, Fenc: SQLITE_ANY}, + {FzEnc: ts + 14654 /* "0" */}, } if (objc < 5) || ((objc % 2) == 0) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15440 /* "DB NAME NARG ENC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16221 /* "DB NAME NARG ENC..." */) return TCL_ERROR } @@ -45974,7 +47542,7 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+32 /* &aEnc[0] */, int32(unsafe.Sizeof(EncTable{})), - ts+15469 /* "encoding" */, 0, bp+128 /* &enc */) != 0 { + ts+16250 /* "encoding" */, 0, bp+128 /* &enc */) != 0 { return TCL_ERROR } *(*int32)(unsafe.Pointer(bp + 128 /* enc */)) = (*EncTable)(unsafe.Pointer(bp + 32 /* &aEnc */ + uintptr(*(*int32)(unsafe.Pointer(bp + 128 /* enc */)))*16)).Fenc @@ -45987,8 +47555,8 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt for i = 5; i < objc; i = i + (2) { // var iSwitch int32 at bp+176, 4 - *(*[5]uintptr)(unsafe.Pointer(bp + 136 /* azSwitch */)) = [5]uintptr{ts + 15478 /* "-func" */, ts + 15484 /* "-step" */, ts + 15490 /* "-final" */, ts + 15497 /* "-destroy" */, uintptr(0)} - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+136 /* &azSwitch[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+15506 /* "switch" */, 0, bp+176 /* &iSwitch */) != 0 { + *(*[5]uintptr)(unsafe.Pointer(bp + 136 /* azSwitch */)) = [5]uintptr{ts + 16259 /* "-func" */, ts + 16265 /* "-step" */, ts + 16271 /* "-final" */, ts + 16278 /* "-destroy" */, uintptr(0)} + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+136 /* &azSwitch[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+16287 /* "switch" */, 0, bp+176 /* &iSwitch */) != 0 { sqlite3.Xsqlite3_free(tls, p) return TCL_ERROR } @@ -46090,7 +47658,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o var zErr uintptr = uintptr(0) if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15513 /* "DB-HANDLE FILE ?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16294 /* "DB-HANDLE FILE ?..." */) return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -46101,7 +47669,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o // Extract the C database handle from the Tcl command name if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+24 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539 /* "command not foun..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &cmdInfo */)).FobjClientData)).Fdb @@ -46110,7 +47678,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o // TCL_ERROR and load any error string into the interpreter. If no // error occurs, set rc to TCL_OK. rc = SQLITE_ERROR - zErr = sqlite3.Xsqlite3_mprintf(tls, ts+15535 /* "this build omits..." */, 0) + zErr = sqlite3.Xsqlite3_mprintf(tls, ts+16316 /* "this build omits..." */, 0) _ = zProc _ = zFile if rc != SQLITE_OK { @@ -46142,14 +47710,14 @@ func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var onoff int32 at bp+96, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15577 /* "DB-HANDLE ONOFF" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16358 /* "DB-HANDLE ONOFF" */) return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) // Extract the C database handle from the Tcl command name if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+32 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539 /* "command not foun..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &cmdInfo */)).FobjClientData)).Fdb @@ -46159,7 +47727,7 @@ func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+15535 /* "this build omits..." */)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+16316 /* "this build omits..." */)) return TCL_ERROR } @@ -46198,7 +47766,7 @@ __5: sqlite3.Xsqlite3_result_int64(tls, context, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) goto __8 __7: - if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+15593 /* "string" */) == 0) { + if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+16374 /* "string" */) == 0) { goto __9 } sqlite3.Xsqlite3_result_text(tls, context, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))), -1, @@ -46217,7 +47785,7 @@ __11: sqlite3.Xsqlite3_result_null(tls, context) goto __14 __13: - if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+15600 /* "value" */) == 0) { + if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+16381 /* "value" */) == 0) { goto __15 } sqlite3.Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + uintptr(sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))*8))) @@ -46250,7 +47818,7 @@ __2: error_out: sqlite3.Xsqlite3_result_error(tls, context, - ts+15606 /* "first argument s..." */, -1) + ts+16387 /* "first argument s..." */, -1) } // Usage: sqlite_register_test_function DB NAME @@ -46264,8 +47832,8 @@ func test_register_func(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15674 /* " DB FUNCTION-NAM..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+16455 /* " DB FUNCTION-NAM..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { @@ -46298,8 +47866,8 @@ func test_finalize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var db uintptr = uintptr(0) if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } @@ -46334,7 +47902,7 @@ func test_stmt_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // var pStmt uintptr at bp, 8 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15700 /* "STMT PARAMETER R..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16481 /* "STMT PARAMETER R..." */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -46373,13 +47941,13 @@ var aOp = [7]struct { Fop int32 _ [4]byte }{ - {FzName: ts + 15725 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, - {FzName: ts + 15757 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, - {FzName: ts + 15780 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_AUTOINDEX}, - {FzName: ts + 15808 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_VM_STEP}, - {FzName: ts + 15834 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_REPREPARE}, - {FzName: ts + 15862 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_RUN}, - {FzName: ts + 15884 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_MEMUSED}, + {FzName: ts + 16506 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, + {FzName: ts + 16538 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, + {FzName: ts + 16561 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_AUTOINDEX}, + {FzName: ts + 16589 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_VM_STEP}, + {FzName: ts + 16615 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_REPREPARE}, + {FzName: ts + 16643 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_RUN}, + {FzName: ts + 16665 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_MEMUSED}, } /* test1.c:2158:5 */ // Usage: sqlite3_config_sorterref @@ -46392,7 +47960,7 @@ func test_config_sorterref(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var iVal int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15910 /* "NBYTE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &iVal */) != 0 { @@ -46433,7 +48001,7 @@ func test_snapshot_get(tls *libc.TLS, clientData uintptr, interp uintptr, objc i *(*uintptr)(unsafe.Pointer(bp + 8 /* pSnapshot */)) = uintptr(0) if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -46467,7 +48035,7 @@ func test_snapshot_recover(tls *libc.TLS, clientData uintptr, interp uintptr, ob var zName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -46497,7 +48065,7 @@ func test_snapshot_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc var pSnapshot uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15926 /* "DB DBNAME SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16707 /* "DB DBNAME SNAPSH..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -46520,7 +48088,7 @@ func test_snapshot_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc func test_snapshot_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2428:26: */ var pSnapshot uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15945 /* "SNAPSHOT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16726 /* "SNAPSHOT" */) return TCL_ERROR } pSnapshot = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -46534,7 +48102,7 @@ func test_snapshot_cmp(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var p1 uintptr var p2 uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15954 /* "SNAPSHOT1 SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16735 /* "SNAPSHOT1 SNAPSH..." */) return TCL_ERROR } p1 = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -46556,7 +48124,7 @@ func test_snapshot_get_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o *(*uintptr)(unsafe.Pointer(bp + 8 /* pSnapshot */)) = uintptr(0) if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -46589,7 +48157,7 @@ func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, // var nBlob int32 at bp+24, 4 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15926 /* "DB DBNAME SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16707 /* "DB DBNAME SNAPSH..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { @@ -46598,7 +48166,7 @@ func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) pBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+24 /* &nBlob */) if (uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nBlob */))) != uint64(unsafe.Sizeof(sqlite3_snapshot{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15974 /* "bad SNAPSHOT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } rc = sqlite3.Xsqlite3_snapshot_open(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zName, pBlob) @@ -46622,7 +48190,7 @@ func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o // var n2 int32 at bp+20, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15954 /* "SNAPSHOT1 SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16735 /* "SNAPSHOT1 SNAPSH..." */) return TCL_ERROR } @@ -46630,7 +48198,7 @@ func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o p2 = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+20 /* &n2 */) if (uint64(*(*int32)(unsafe.Pointer(bp + 16 /* n1 */))) != uint64(unsafe.Sizeof(sqlite3_snapshot{}))) || (*(*int32)(unsafe.Pointer(bp + 16 /* n1 */)) != *(*int32)(unsafe.Pointer(bp + 20 /* n2 */))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15974 /* "bad SNAPSHOT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } @@ -46644,7 +48212,7 @@ func test_delete_database(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 var zFile uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15987 /* "FILE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16768 /* "FILE" */) return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -46667,7 +48235,7 @@ func test_atomic_batch_write(tls *libc.TLS, clientData uintptr, interp uintptr, var rc int32 // sqlite3_open() return code if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15992 /* "PATH" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16773 /* "PATH" */) return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -46703,8 +48271,8 @@ func test_next_stmt(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var zBuf [50]int8 at bp+64, 50 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15997 /* " DB STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16778 /* " DB STMT" */, 0)) return TCL_ERROR } @@ -46737,8 +48305,8 @@ func test_stmt_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46763,8 +48331,8 @@ func test_stmt_isexplain(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46789,8 +48357,8 @@ func test_stmt_busy(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46812,8 +48380,8 @@ func uses_stmt_journal(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var pStmt uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46837,8 +48405,8 @@ func test_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } @@ -46868,8 +48436,8 @@ func test_expired(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var pStmt uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { @@ -46891,8 +48459,8 @@ func test_transfer_bind(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var pStmt2 uintptr at bp+40, 8 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16012 /* " FROM-STMT TO-ST..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16793 /* " FROM-STMT TO-ST..." */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt1 */) != 0 { @@ -46917,8 +48485,8 @@ func test_changes(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var db uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -46952,8 +48520,8 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var idx int32 at bp+88, 4 if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+16031 /* " VM IDX VALUE (n..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+16812 /* " VM IDX VALUE (n..." */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80 /* &pStmt */) != 0 { @@ -46964,18 +48532,18 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv } if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+7385 /* "null" */) == 0 { rc = sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */))) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16067 /* "static" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16848 /* "static" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), sqlite_static_bind_value, -1, uintptr(0)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16074 /* "static-nbytes" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16855 /* "static-nbytes" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), sqlite_static_bind_value, sqlite_static_bind_nbyte, uintptr(0)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16088 /* "normal" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16869 /* "normal" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), *(*uintptr)(unsafe.Pointer(argv + 3*8)), -1, libc.UintptrFromInt32(-1)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16095 /* "blob10" */) == 0 { - rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), ts+16102 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16876 /* "blob10" */) == 0 { + rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), ts+16883 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) } else { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+32, ts+16113 /* "4th argument sho..." */, 0)) + libc.VaList(bp+32, ts+16894 /* "4th argument sho..." */, 0)) return TCL_ERROR } if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))), rc) != 0 { @@ -46984,7 +48552,7 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv if rc != 0 { // var zBuf [50]int8 at bp+92, 50 - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+92 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+48, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+92 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+48, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+92 /* &zBuf[0] */, sqlite3.Xsqlite3ErrStr(tls, rc), 0)) return TCL_ERROR } @@ -47031,18 +48599,18 @@ func test_collate_func(tls *libc.TLS, pCtx uintptr, nA int32, zA uintptr, nB int var pVal uintptr var pX uintptr - pX = tcl.XTcl_NewStringObj(tls, ts+16173 /* "test_collate" */, -1) + pX = tcl.XTcl_NewStringObj(tls, ts+16954 /* "test_collate" */, -1) (*Tcl_Obj)(unsafe.Pointer(pX)).FrefCount++ switch encin { case SQLITE_UTF8: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16186 /* "UTF-8" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16967 /* "UTF-8" */, -1)) break case SQLITE_UTF16LE: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16192 /* "UTF-16LE" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16973 /* "UTF-16LE" */, -1)) break case SQLITE_UTF16BE: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16201 /* "UTF-16BE" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16982 /* "UTF-16BE" */, -1)) break default: @@ -47106,7 +48674,7 @@ __2: return TCL_ERROR __3: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16173 /* "test_collate" */, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF8, uintptr(SQLITE_UTF8), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 56 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -47124,7 +48692,7 @@ __3: return TCL_ERROR __5: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16173 /* "test_collate" */, SQLITE_UTF16LE, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF16LE, uintptr(SQLITE_UTF16LE), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 56 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -47142,7 +48710,7 @@ __6: sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* db */)))).Fmutex) pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */))) - sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16173 /* "test_collate" */, uint8(SQLITE_UTF8), uintptr(0)) + sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16954 /* "test_collate" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) if !((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* db */)))).FmallocFailed != 0) { goto __7 @@ -47182,8 +48750,8 @@ __10: return TCL_OK bad_args: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16210 /* " " */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17077 /* "" */) } zCode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -47598,7 +49166,7 @@ func test_bind_zeroblob(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16309 /* "STMT IDX N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17090 /* "STMT IDX N" */) return TCL_ERROR } @@ -47641,7 +49209,7 @@ func test_bind_zeroblob64(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16309 /* "STMT IDX N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17090 /* "STMT IDX N" */) return TCL_ERROR } @@ -47685,8 +49253,8 @@ func test_bind_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var rc int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -47863,8 +49431,8 @@ func test_bind_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -47908,8 +49476,8 @@ func test_bind_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var i int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -47964,16 +49532,16 @@ var aSpecialFp = [10]struct { FiUpper uint32 FiLower uint32 }{ - {FzName: ts + 16334 /* "NaN" */, FiUpper: uint32(0x7fffffff), FiLower: 0xffffffff}, - {FzName: ts + 16338 /* "SNaN" */, FiUpper: uint32(0x7ff7ffff), FiLower: 0xffffffff}, - {FzName: ts + 16343 /* "-NaN" */, FiUpper: 0xffffffff, FiLower: 0xffffffff}, - {FzName: ts + 16348 /* "-SNaN" */, FiUpper: 0xfff7ffff, FiLower: 0xffffffff}, - {FzName: ts + 16354 /* "+Inf" */, FiUpper: uint32(0x7ff00000)}, - {FzName: ts + 16359 /* "-Inf" */, FiUpper: 0xfff00000}, - {FzName: ts + 16364 /* "Epsilon" */, FiLower: uint32(0x00000001)}, - {FzName: ts + 16372 /* "-Epsilon" */, FiUpper: 0x80000000, FiLower: uint32(0x00000001)}, - {FzName: ts + 16381 /* "NaN0" */, FiUpper: uint32(0x7ff80000)}, - {FzName: ts + 16386 /* "-NaN0" */, FiUpper: 0xfff80000}, + {FzName: ts + 17115 /* "NaN" */, FiUpper: uint32(0x7fffffff), FiLower: 0xffffffff}, + {FzName: ts + 17119 /* "SNaN" */, FiUpper: uint32(0x7ff7ffff), FiLower: 0xffffffff}, + {FzName: ts + 17124 /* "-NaN" */, FiUpper: 0xffffffff, FiLower: 0xffffffff}, + {FzName: ts + 17129 /* "-SNaN" */, FiUpper: 0xfff7ffff, FiLower: 0xffffffff}, + {FzName: ts + 17135 /* "+Inf" */, FiUpper: uint32(0x7ff00000)}, + {FzName: ts + 17140 /* "-Inf" */, FiUpper: 0xfff00000}, + {FzName: ts + 17145 /* "Epsilon" */, FiLower: uint32(0x00000001)}, + {FzName: ts + 17153 /* "-Epsilon" */, FiUpper: 0x80000000, FiLower: uint32(0x00000001)}, + {FzName: ts + 17162 /* "NaN0" */, FiUpper: uint32(0x7ff80000)}, + {FzName: ts + 17167 /* "-NaN0" */, FiUpper: 0xfff80000}, } /* test1.c:3724:5 */ // Usage: sqlite3_bind_null STMT N @@ -47992,8 +49560,8 @@ func test_bind_null(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var rc int32 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16392 /* " STMT N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17173 /* " STMT N" */, 0)) return TCL_ERROR } @@ -48037,8 +49605,8 @@ func test_bind_text(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var toFree uintptr = uintptr(0) if objc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16400 /* " STMT N VALUE BY..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17181 /* " STMT N VALUE BY..." */, 0)) return TCL_ERROR } @@ -48108,8 +49676,8 @@ func test_bind_text16(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var oBytes uintptr = *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)) if (objc != 5) && (objc != 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16400 /* " STMT N VALUE BY..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17181 /* " STMT N VALUE BY..." */, 0)) return TCL_ERROR } @@ -48168,8 +49736,8 @@ func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var xDestructor sqlite3_destructor_type = libc.UintptrFromInt32(-1) if (objc != 5) && (objc != 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16420 /* " STMT N DATA BYT..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17201 /* " STMT N DATA BYT..." */, 0)) return TCL_ERROR } @@ -48194,7 +49762,7 @@ func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var zBuf [200]int8 at bp+84, 200 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+84, /* &zBuf[0] */ - ts+16439 /* "cannot use %d bl..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 80 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 76 /* len */)))) + ts+17220 /* "cannot use %d bl..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 80 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 76 /* len */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+84 /* &zBuf[0] */, uintptr(0))) return TCL_ERROR } @@ -48299,52 +49867,52 @@ __7: goto __9 } z = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))) - if !(libc.Xstrcmp(tls, z, ts+16473 /* "-transient" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17254 /* "-transient" */) == 0) { goto __10 } isTransient = 1 xDel = libc.UintptrFromInt32(-1) goto __11 __10: - if !(libc.Xstrcmp(tls, z, ts+16484 /* "-static" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17265 /* "-static" */) == 0) { goto __12 } isStatic = 1 xDel = uintptr(0) goto __13 __12: - if !(libc.Xstrcmp(tls, z, ts+16492 /* "-int32" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17273 /* "-int32" */) == 0) { goto __14 } eType = 0 // CARRAY_INT32 goto __15 __14: - if !(libc.Xstrcmp(tls, z, ts+16499 /* "-int64" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17280 /* "-int64" */) == 0) { goto __16 } eType = 1 // CARRAY_INT64 goto __17 __16: - if !(libc.Xstrcmp(tls, z, ts+16506 /* "-double" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17287 /* "-double" */) == 0) { goto __18 } eType = 2 // CARRAY_DOUBLE goto __19 __18: - if !(libc.Xstrcmp(tls, z, ts+16514 /* "-text" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17295 /* "-text" */) == 0) { goto __20 } eType = 3 // CARRAY_TEXT goto __21 __20: - if !(libc.Xstrcmp(tls, z, ts+16520 /* "--" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17301 /* "--" */) == 0) { goto __22 } goto __9 goto __23 __22: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+12133 /* "unknown option: " */, z, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+12914 /* "unknown option: " */, z, uintptr(0))) return TCL_ERROR __23: ; @@ -48370,7 +49938,7 @@ __9: if !(((eType == 3) && !(isStatic != 0)) && !(isTransient != 0)) { goto __24 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+16523, /* "text data must b..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+17304, /* "text data must b..." */ uintptr(0))) return TCL_ERROR __24: @@ -48378,7 +49946,7 @@ __24: if !((isStatic != 0) && (isTransient != 0)) { goto __25 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+16570, /* "cannot be both -..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+17351, /* "cannot be both -..." */ uintptr(0))) return TCL_ERROR __25: @@ -48386,7 +49954,7 @@ __25: if !((objc - i) < 2) { goto __26 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16608 /* "[OPTIONS] STMT I..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17389 /* "[OPTIONS] STMT I..." */) return TCL_ERROR __26: ; @@ -48607,7 +50175,7 @@ func test_bind_parameter_count(tls *libc.TLS, clientData uintptr, interp uintptr // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -48631,7 +50199,7 @@ func test_bind_parameter_name(tls *libc.TLS, clientData uintptr, interp uintptr, // var i int32 at bp+8, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16642 /* "STMT N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17423 /* "STMT N" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -48656,7 +50224,7 @@ func test_bind_parameter_index(tls *libc.TLS, clientData uintptr, interp uintptr // var pStmt uintptr at bp, 8 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16649 /* "STMT NAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17430 /* "STMT NAME" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -48677,7 +50245,7 @@ func test_clear_bindings(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -48695,7 +50263,7 @@ func test_sleep(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o // var ms int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+12806 /* "MILLISECONDS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+13587 /* "MILLISECONDS" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &ms */) != 0 { @@ -48718,8 +50286,8 @@ func test_ex_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -48743,8 +50311,8 @@ func test_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -48768,8 +50336,8 @@ func test_errmsg(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zErr uintptr if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -48798,8 +50366,8 @@ func test_errmsg16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var bytes int32 = 0 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -48838,8 +50406,8 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var rc int32 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -48871,7 +50439,7 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -48909,8 +50477,8 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -48955,7 +50523,7 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -48995,8 +50563,8 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if (objc != 6) && (objc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16705 /* " DB sql bytes fl..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17486 /* " DB sql bytes fl..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -49042,7 +50610,7 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -49072,8 +50640,8 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -49086,7 +50654,7 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+96 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -49100,7 +50668,7 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj return TCL_OK } -var zSql = *(*[10]int8)(unsafe.Pointer(ts + 16733 /* "\x00SELECT 1" */)) /* test1.c:4623:21 */ +var zSql = *(*[10]int8)(unsafe.Pointer(ts + 17514 /* "\x00SELECT 1" */)) /* test1.c:4623:21 */ // Usage: sqlite3_prepare16 DB sql bytes tailvar // @@ -49127,8 +50695,8 @@ func test_prepare16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -49203,8 +50771,8 @@ func test_prepare16_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -49265,8 +50833,8 @@ func test_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob // var zBuf [100]int8 at bp+56, 100 if ((objc != 3) && (objc != 2)) && (objc != 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16743 /* " filename option..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17524 /* " filename option..." */, 0)) return TCL_ERROR } @@ -49304,7 +50872,7 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var i int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16766 /* "FILENAME FLAGS V..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17547 /* "FILENAME FLAGS V..." */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -49321,29 +50889,29 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var iFlag int32 at bp+352, 4 *(*[20]OpenFlag)(unsafe.Pointer(bp + 32 /* aFlag */)) = [20]OpenFlag{ - {FzFlag: ts + 16785 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READONLY}, - {FzFlag: ts + 16806 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READWRITE}, - {FzFlag: ts + 16828 /* "SQLITE_OPEN_CREA..." */, Fflag: SQLITE_OPEN_CREATE}, - {FzFlag: ts + 16847 /* "SQLITE_OPEN_DELE..." */, Fflag: SQLITE_OPEN_DELETEONCLOSE}, - {FzFlag: ts + 16873 /* "SQLITE_OPEN_EXCL..." */, Fflag: SQLITE_OPEN_EXCLUSIVE}, - {FzFlag: ts + 16895 /* "SQLITE_OPEN_AUTO..." */, Fflag: SQLITE_OPEN_AUTOPROXY}, - {FzFlag: ts + 16917 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_DB}, - {FzFlag: ts + 16937 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_DB}, - {FzFlag: ts + 16957 /* "SQLITE_OPEN_TRAN..." */, Fflag: SQLITE_OPEN_TRANSIENT_DB}, - {FzFlag: ts + 16982 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_JOURNAL}, - {FzFlag: ts + 17007 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_JOURNAL}, - {FzFlag: ts + 17032 /* "SQLITE_OPEN_SUBJ..." */, Fflag: SQLITE_OPEN_SUBJOURNAL}, - {FzFlag: ts + 17055 /* "SQLITE_OPEN_SUPE..." */, Fflag: SQLITE_OPEN_SUPER_JOURNAL}, - {FzFlag: ts + 17081 /* "SQLITE_OPEN_NOMU..." */, Fflag: SQLITE_OPEN_NOMUTEX}, - {FzFlag: ts + 17101 /* "SQLITE_OPEN_FULL..." */, Fflag: SQLITE_OPEN_FULLMUTEX}, - {FzFlag: ts + 17123 /* "SQLITE_OPEN_SHAR..." */, Fflag: SQLITE_OPEN_SHAREDCACHE}, - {FzFlag: ts + 17147 /* "SQLITE_OPEN_PRIV..." */, Fflag: SQLITE_OPEN_PRIVATECACHE}, - {FzFlag: ts + 17172 /* "SQLITE_OPEN_WAL" */, Fflag: SQLITE_OPEN_WAL}, - {FzFlag: ts + 17188 /* "SQLITE_OPEN_URI" */, Fflag: SQLITE_OPEN_URI}, + {FzFlag: ts + 17566 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READONLY}, + {FzFlag: ts + 17587 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READWRITE}, + {FzFlag: ts + 17609 /* "SQLITE_OPEN_CREA..." */, Fflag: SQLITE_OPEN_CREATE}, + {FzFlag: ts + 17628 /* "SQLITE_OPEN_DELE..." */, Fflag: SQLITE_OPEN_DELETEONCLOSE}, + {FzFlag: ts + 17654 /* "SQLITE_OPEN_EXCL..." */, Fflag: SQLITE_OPEN_EXCLUSIVE}, + {FzFlag: ts + 17676 /* "SQLITE_OPEN_AUTO..." */, Fflag: SQLITE_OPEN_AUTOPROXY}, + {FzFlag: ts + 17698 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_DB}, + {FzFlag: ts + 17718 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_DB}, + {FzFlag: ts + 17738 /* "SQLITE_OPEN_TRAN..." */, Fflag: SQLITE_OPEN_TRANSIENT_DB}, + {FzFlag: ts + 17763 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_JOURNAL}, + {FzFlag: ts + 17788 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_JOURNAL}, + {FzFlag: ts + 17813 /* "SQLITE_OPEN_SUBJ..." */, Fflag: SQLITE_OPEN_SUBJOURNAL}, + {FzFlag: ts + 17836 /* "SQLITE_OPEN_SUPE..." */, Fflag: SQLITE_OPEN_SUPER_JOURNAL}, + {FzFlag: ts + 17862 /* "SQLITE_OPEN_NOMU..." */, Fflag: SQLITE_OPEN_NOMUTEX}, + {FzFlag: ts + 17882 /* "SQLITE_OPEN_FULL..." */, Fflag: SQLITE_OPEN_FULLMUTEX}, + {FzFlag: ts + 17904 /* "SQLITE_OPEN_SHAR..." */, Fflag: SQLITE_OPEN_SHAREDCACHE}, + {FzFlag: ts + 17928 /* "SQLITE_OPEN_PRIV..." */, Fflag: SQLITE_OPEN_PRIVATECACHE}, + {FzFlag: ts + 17953 /* "SQLITE_OPEN_WAL" */, Fflag: SQLITE_OPEN_WAL}, + {FzFlag: ts + 17969 /* "SQLITE_OPEN_URI" */, Fflag: SQLITE_OPEN_URI}, {}, } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* apFlag */)) + uintptr(i)*8)), bp+32 /* &aFlag[0] */, int32(unsafe.Sizeof(OpenFlag{})), - ts+17204 /* "flag" */, 0, bp+352 /* &iFlag */) + ts+17985 /* "flag" */, 0, bp+352 /* &iFlag */) if rc != TCL_OK { return rc } @@ -49375,8 +50943,8 @@ func test_open16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zBuf [100]int8 at bp+56, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16743 /* " filename option..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17524 /* " filename option..." */, 0)) return TCL_ERROR } @@ -49398,7 +50966,7 @@ func test_complete16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var zBuf uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17209 /* "" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17990 /* "" */) return TCL_ERROR } @@ -49440,8 +51008,8 @@ func test_step(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -49462,7 +51030,7 @@ func test_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -49482,7 +51050,7 @@ func test_ex_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var z uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -49505,8 +51073,8 @@ func test_column_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var pStmt uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49532,8 +51100,8 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var tp int32 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49553,13 +51121,13 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in tcl.XTcl_SetResult(tls, interp, ts+5707 /* "NULL" */, uintptr(0)) break case SQLITE_FLOAT: - tcl.XTcl_SetResult(tls, interp, ts+17235 /* "FLOAT" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18016 /* "FLOAT" */, uintptr(0)) break case SQLITE_TEXT: - tcl.XTcl_SetResult(tls, interp, ts+17241 /* "TEXT" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18022 /* "TEXT" */, uintptr(0)) break case SQLITE_BLOB: - tcl.XTcl_SetResult(tls, interp, ts+17246 /* "BLOB" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18027 /* "BLOB" */, uintptr(0)) break default: @@ -49583,8 +51151,8 @@ func test_column_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var iVal i64 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49613,8 +51181,8 @@ func test_column_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var pBlob uintptr if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49645,8 +51213,8 @@ func test_column_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rVal float64 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49672,8 +51240,8 @@ func test_data_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var pStmt uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49703,8 +51271,8 @@ func test_stmt_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49751,8 +51319,8 @@ func test_stmt_utf16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49794,8 +51362,8 @@ func test_stmt_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49820,20 +51388,20 @@ func sqlite_set_magic(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // var db uintptr at bp+32, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17251 /* " DB MAGIC" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18032 /* " DB MAGIC" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17261 /* "SQLITE_MAGIC_OPE..." */) == 0 { + if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18042 /* "SQLITE_MAGIC_OPE..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_OPEN - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17279 /* "SQLITE_MAGIC_CLO..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18060 /* "SQLITE_MAGIC_CLO..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_CLOSED - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17299 /* "SQLITE_MAGIC_BUS..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18080 /* "SQLITE_MAGIC_BUS..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_BUSY - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17317 /* "SQLITE_MAGIC_ERR..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18098 /* "SQLITE_MAGIC_ERR..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_ERROR } else if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), (*(*uintptr)(unsafe.Pointer(bp + 32 /* db */))+116 /* &.magic */)) != 0 { return TCL_ERROR @@ -49851,7 +51419,7 @@ func test_interrupt(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -49874,8 +51442,8 @@ func delete_function(tls *libc.TLS, clientData uintptr, interp uintptr, argc int // var db uintptr at bp+32, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17336 /* " DB function-nam..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -49899,8 +51467,8 @@ func delete_collation(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // var db uintptr at bp+32, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17336 /* " DB function-nam..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -49924,8 +51492,8 @@ func get_autocommit(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // var db uintptr at bp+56, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56 /* &db */) != 0 { @@ -49951,8 +51519,8 @@ func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc i // var db uintptr at bp+48, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { @@ -49973,7 +51541,7 @@ func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc i func tcl_variable_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5514:26: */ var pVar uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17354 /* "VARIABLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18135 /* "VARIABLE" */) return TCL_ERROR } pVar = tcl.XTcl_GetVar2Ex(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0), TCL_LEAVE_ERR_MSG) @@ -49999,7 +51567,7 @@ func test_release_memory(tls *libc.TLS, clientData uintptr, interp uintptr, objc var amt int32 if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -50097,7 +51665,7 @@ func test_db_filename(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var zDbName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { @@ -50120,7 +51688,7 @@ func test_db_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var zDbName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -50143,7 +51711,7 @@ func test_soft_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, obj var amt sqlite3_int64 *(*Tcl_WideInt)(unsafe.Pointer(bp /* N */)) = int64(-1) if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -50168,7 +51736,7 @@ func test_hard_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, obj var amt sqlite3_int64 *(*Tcl_WideInt)(unsafe.Pointer(bp /* N */)) = int64(-1) if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -50205,8 +51773,8 @@ func test_pager_refcounts(tls *libc.TLS, clientData uintptr, interp uintptr, obj var pResult uintptr if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -50243,7 +51811,7 @@ func working_64bit_int(tls *libc.TLS, clientData ClientData, interp uintptr, obj var working int32 = 0 pTestObj = tcl.XTcl_NewWideIntObj(tls, (int64(1000000) * int64(1234567890))) - working = (libc.Bool32(libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, pTestObj), ts+17367 /* "1234567890000000" */) == 0)) + working = (libc.Bool32(libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, pTestObj), ts+18148 /* "1234567890000000" */) == 0)) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pTestObj if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -50273,8 +51841,8 @@ func vfs_unlink_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var two sqlite3_vfs at bp+168, 168 sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(0)) // Unregister of NULL is harmless - (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 17384 /* "__one" */ - (*sqlite3_vfs)(unsafe.Pointer(bp + 168 /* &two */)).FzName = ts + 17390 /* "__two" */ + (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 18165 /* "__one" */ + (*sqlite3_vfs)(unsafe.Pointer(bp + 168 /* &two */)).FzName = ts + 18171 /* "__two" */ // Calling sqlite3_vfs_register with 2nd argument of 0 does not // change the default VFS @@ -50347,7 +51915,7 @@ func vfs_initfail_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj // var one sqlite3_vfs at bp, 168 - (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 17384 /* "__one" */ + (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 18165 /* "__one" */ if sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) != 0 { return TCL_ERROR @@ -50411,8 +51979,8 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj _ = rc if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -50420,7 +51988,7 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), uintptr(0), 0, bp+40 /* &iArg */) - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+17396 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+40 /* &iArg */) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+18177 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+40 /* &iArg */) rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+85 /* "main" */, -1, bp+40 /* &iArg */) @@ -50443,8 +52011,8 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -50456,7 +52024,7 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 72 /* iArg */)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17409, /* "Unexpected non-z..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18190, /* "Unexpected non-z..." */ tcl.XTcl_GetStringFromObj(tls, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 72 /* iArg */))), uintptr(0)), ts+4755 /* " " */, 0)) return TCL_ERROR } @@ -50480,7 +52048,7 @@ func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uint // var zBuf [100]int8 at bp+20, 100 if (objc != 3) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17437 /* "DB [DBNAME]" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18218 /* "DB [DBNAME]" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+8 /* &db */) != 0 { @@ -50497,7 +52065,7 @@ func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uint tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) return TCL_ERROR } else { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+20 /* &zBuf[0] */, ts+17449 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 16 /* iVers */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+20 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 16 /* iVers */)))) tcl.XTcl_SetResult(tls, interp, bp+20 /* zBuf */, uintptr(1)) return TCL_OK } @@ -50521,7 +52089,7 @@ func file_control_chunksize_test(tls *libc.TLS, clientData ClientData, interp ui var rc int32 // file_control() return code if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17452 /* "DB DBNAME SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18233 /* "DB DBNAME SIZE" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || @@ -50557,7 +52125,7 @@ func file_control_sizehint_test(tls *libc.TLS, clientData ClientData, interp uin var rc int32 // file_control() return code if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17452 /* "DB DBNAME SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18233 /* "DB DBNAME SIZE" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || @@ -50589,8 +52157,8 @@ func file_control_lockproxy_test(tls *libc.TLS, clientData ClientData, interp ui // var db uintptr at bp+32, 8 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17467 /* " DB PWD" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18248 /* " DB PWD" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -50616,8 +52184,8 @@ func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintp // var z [100]int8 at bp+76, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17475 /* " DB FLAG" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18256 /* " DB FLAG" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -50627,7 +52195,7 @@ func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintp return TCL_ERROR } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_PERSIST_WAL, bp+72 /* &bPersist */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+17484 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* bPersist */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+18265 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* bPersist */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+76 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -50648,8 +52216,8 @@ func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, inte // var z [100]int8 at bp+76, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17475 /* " DB FLAG" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18256 /* " DB FLAG" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -50659,7 +52227,7 @@ func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, inte return TCL_ERROR } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_POWERSAFE_OVERWRITE, bp+72 /* &b */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+17484 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* b */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+18265 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* b */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+76 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -50677,8 +52245,8 @@ func file_control_vfsname(tls *libc.TLS, clientData ClientData, interp uintptr, *(*uintptr)(unsafe.Pointer(bp + 56 /* zVfsName */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17490 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18271 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -50705,7 +52273,7 @@ func file_control_reservebytes(tls *libc.TLS, clientData ClientData, interp uint var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17502 /* "DB N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18283 /* "DB N" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || @@ -50731,8 +52299,8 @@ func file_control_tempfilename(tls *libc.TLS, clientData ClientData, interp uint *(*uintptr)(unsafe.Pointer(bp + 56 /* zTName */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17490 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18271 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -50761,8 +52329,8 @@ func file_control_external_reader(tls *libc.TLS, clientData ClientData, interp u var rc int32 = SQLITE_OK if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17490 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18271 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -50815,8 +52383,8 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 var zId uintptr if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17507 /* " DB ID VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18288 /* " DB ID VALUE" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &db */) != 0 { @@ -50838,7 +52406,7 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 Fid int32 _ [4]byte }{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17520 /* "unknown limit ty..." */, zId, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18301 /* "unknown limit ty..." */, zId, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+64 /* &val */) != 0 { @@ -50854,22 +52422,22 @@ var aId = [14]struct { Fid int32 _ [4]byte }{ - {FzName: ts + 17541 /* "SQLITE_LIMIT_LEN..." */}, - {FzName: ts + 17561 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, - {FzName: ts + 17585 /* "SQLITE_LIMIT_COL..." */, Fid: SQLITE_LIMIT_COLUMN}, - {FzName: ts + 17605 /* "SQLITE_LIMIT_EXP..." */, Fid: SQLITE_LIMIT_EXPR_DEPTH}, - {FzName: ts + 17629 /* "SQLITE_LIMIT_COM..." */, Fid: SQLITE_LIMIT_COMPOUND_SELECT}, - {FzName: ts + 17658 /* "SQLITE_LIMIT_VDB..." */, Fid: SQLITE_LIMIT_VDBE_OP}, - {FzName: ts + 17679 /* "SQLITE_LIMIT_FUN..." */, Fid: SQLITE_LIMIT_FUNCTION_ARG}, - {FzName: ts + 17705 /* "SQLITE_LIMIT_ATT..." */, Fid: SQLITE_LIMIT_ATTACHED}, - {FzName: ts + 17727 /* "SQLITE_LIMIT_LIK..." */, Fid: SQLITE_LIMIT_LIKE_PATTERN_LENGTH}, - {FzName: ts + 17760 /* "SQLITE_LIMIT_VAR..." */, Fid: SQLITE_LIMIT_VARIABLE_NUMBER}, - {FzName: ts + 17789 /* "SQLITE_LIMIT_TRI..." */, Fid: SQLITE_LIMIT_TRIGGER_DEPTH}, - {FzName: ts + 17816 /* "SQLITE_LIMIT_WOR..." */, Fid: SQLITE_LIMIT_WORKER_THREADS}, + {FzName: ts + 18322 /* "SQLITE_LIMIT_LEN..." */}, + {FzName: ts + 18342 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, + {FzName: ts + 18366 /* "SQLITE_LIMIT_COL..." */, Fid: SQLITE_LIMIT_COLUMN}, + {FzName: ts + 18386 /* "SQLITE_LIMIT_EXP..." */, Fid: SQLITE_LIMIT_EXPR_DEPTH}, + {FzName: ts + 18410 /* "SQLITE_LIMIT_COM..." */, Fid: SQLITE_LIMIT_COMPOUND_SELECT}, + {FzName: ts + 18439 /* "SQLITE_LIMIT_VDB..." */, Fid: SQLITE_LIMIT_VDBE_OP}, + {FzName: ts + 18460 /* "SQLITE_LIMIT_FUN..." */, Fid: SQLITE_LIMIT_FUNCTION_ARG}, + {FzName: ts + 18486 /* "SQLITE_LIMIT_ATT..." */, Fid: SQLITE_LIMIT_ATTACHED}, + {FzName: ts + 18508 /* "SQLITE_LIMIT_LIK..." */, Fid: SQLITE_LIMIT_LIKE_PATTERN_LENGTH}, + {FzName: ts + 18541 /* "SQLITE_LIMIT_VAR..." */, Fid: SQLITE_LIMIT_VARIABLE_NUMBER}, + {FzName: ts + 18570 /* "SQLITE_LIMIT_TRI..." */, Fid: SQLITE_LIMIT_TRIGGER_DEPTH}, + {FzName: ts + 18597 /* "SQLITE_LIMIT_WOR..." */, Fid: SQLITE_LIMIT_WORKER_THREADS}, // Out of range test cases - {FzName: ts + 17844 /* "SQLITE_LIMIT_TOO..." */, Fid: -1}, - {FzName: ts + 17866 /* "SQLITE_LIMIT_TOO..." */, Fid: (SQLITE_LIMIT_WORKER_THREADS + 1)}, + {FzName: ts + 18625 /* "SQLITE_LIMIT_TOO..." */, Fid: -1}, + {FzName: ts + 18647 /* "SQLITE_LIMIT_TOO..." */, Fid: (SQLITE_LIMIT_WORKER_THREADS + 1)}, } /* test1.c:6595:5 */ // tclcmd: save_prng_state @@ -50919,7 +52487,7 @@ func prng_seed(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, *(*int32)(unsafe.Pointer(bp + 16 /* i */)) = 0 *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17886 /* "SEED ?DB?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18667 /* "SEED ?DB?" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &i */) != 0 { @@ -50944,7 +52512,7 @@ func extra_schema_checks(tls *libc.TLS, clientData ClientData, interp uintptr, o *(*int32)(unsafe.Pointer(bp + 8 /* i */)) = 0 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &i */) != 0 { @@ -50997,13 +52565,13 @@ func test_pcache_stats(tls *libc.TLS, clientData ClientData, interp uintptr, obj sqlite3.Xsqlite3PcacheStats(tls, bp /* &nCurrent */, bp+4 /* &nMax */, bp+8 /* &nMin */, bp+12 /* &nRecyclable */) pRet = tcl.XTcl_NewObj(tls) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17904 /* "current" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18685 /* "current" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp /* nCurrent */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17912 /* "max" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18693 /* "max" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4 /* nMax */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17916 /* "min" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18697 /* "min" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 8 /* nMin */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17920 /* "recyclable" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18701 /* "recyclable" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 12 /* nRecyclable */)))) tcl.XTcl_SetObjResult(tls, interp, pRet) @@ -51014,7 +52582,7 @@ func test_pcache_stats(tls *libc.TLS, clientData ClientData, interp uintptr, obj func test_unlock_notify_cb(tls *libc.TLS, aArg uintptr, nArg int32) { /* test1.c:6808:13: */ var ii int32 for ii = 0; ii < nArg; ii++ { - tcl.XTcl_EvalEx(tls, *(*uintptr)(unsafe.Pointer(aArg + uintptr(ii)*8)), ts+13372 /* "unlock_notify" */, -1, TCL_EVAL_GLOBAL) + tcl.XTcl_EvalEx(tls, *(*uintptr)(unsafe.Pointer(aArg + uintptr(ii)*8)), ts+14153 /* "unlock_notify" */, -1, TCL_EVAL_GLOBAL) } } @@ -51053,7 +52621,7 @@ func test_wal_checkpoint(tls *libc.TLS, clientData ClientData, interp uintptr, o var rc int32 if (objc != 3) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17931 /* "DB ?NAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18712 /* "DB ?NAME?" */) return TCL_ERROR } @@ -51098,10 +52666,10 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr *(*int32)(unsafe.Pointer(bp + 92 /* nCkpt */)) = -555 var pRet uintptr - *(*[5]uintptr)(unsafe.Pointer(bp + 48 /* aMode */)) = [5]uintptr{ts + 17941 /* "passive" */, ts + 17949 /* "full" */, ts + 17954 /* "restart" */, ts + 17962 /* "truncate" */, uintptr(0)} + *(*[5]uintptr)(unsafe.Pointer(bp + 48 /* aMode */)) = [5]uintptr{ts + 18722 /* "passive" */, ts + 18730 /* "full" */, ts + 18735 /* "restart" */, ts + 18743 /* "truncate" */, uintptr(0)} if (objc != 3) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17971 /* "DB MODE ?NAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18752 /* "DB MODE ?NAME?" */) return TCL_ERROR } @@ -51109,7 +52677,7 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0) || ((TCL_OK != tcl.XTcl_GetIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &eMode */)) && - (TCL_OK != tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &aMode[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+17986 /* "mode" */, 0, bp+40 /* &eMode */))) { + (TCL_OK != tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &aMode[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+18767 /* "mode" */, 0, bp+40 /* &eMode */))) { return TCL_ERROR } @@ -51146,7 +52714,7 @@ func test_wal_autocheckpoint(tls *libc.TLS, clientData ClientData, interp uintpt // var iVal int32 at bp+8, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17991 /* "DB VALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18772 /* "DB VALUE" */) return TCL_ERROR } @@ -51195,7 +52763,7 @@ func test_sqlite3_log(tls *libc.TLS, clientData ClientData, interp uintptr, objc defer tls.Free(32) if objc > 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11583 /* "SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10650 /* "SCRIPT" */) return TCL_ERROR } if logcallback.FpObj != 0 { @@ -51231,16 +52799,16 @@ func runAsObjProc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var cmdInfo Tcl_CmdInfo at bp+48, 64 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18000 /* "COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18781 /* "COMMAND ..." */) return TCL_ERROR } if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539, /* "command not foun..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } if (*Tcl_CmdInfo)(unsafe.Pointer(bp+48 /* &cmdInfo */)).FobjProc == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18012, /* "command has no o..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18793, /* "command has no o..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } @@ -51285,7 +52853,7 @@ func printExplainQueryPlan(tls *libc.TLS, pStmt uintptr) int32 { /* test1.c:7063 var iFrom int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 2) var zDetail uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 3) - libc.Xprintf(tls, ts+18037 /* "%d %d %d %s\n" */, libc.VaList(bp+8, iSelectid, iOrder, iFrom, zDetail)) + libc.Xprintf(tls, ts+18818 /* "%d %d %d %s\n" */, libc.VaList(bp+8, iSelectid, iOrder, iFrom, zDetail)) } return sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */))) @@ -51299,7 +52867,7 @@ func test_print_eqp(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -51320,10 +52888,10 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i defer tls.Free(184) *(*[4]Verb)(unsafe.Pointer(bp + 64 /* aVerb */)) = [4]Verb{ - {FzName: ts + 18050 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT}, - {FzName: ts + 18082 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_SORTER_MMAP}, - {FzName: ts + 18110 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_IMPOSTER}, - {FzName: ts + 18135 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS}, + {FzName: ts + 18831 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT}, + {FzName: ts + 18863 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_SORTER_MMAP}, + {FzName: ts + 18891 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_IMPOSTER}, + {FzName: ts + 18916 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS}, } // var iVerb int32 at bp+128, 4 @@ -51331,12 +52899,12 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var rc int32 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18170 /* "VERB ARGS..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18951 /* "VERB ARGS..." */) return TCL_ERROR } rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+18183 /* "VERB" */, 0, bp+128 /* &iVerb */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+18964 /* "VERB" */, 0, bp+128 /* &iVerb */) if rc != TCL_OK { return rc } @@ -51362,7 +52930,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var val int32 at bp+144, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18188 /* "ONOFF" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18969 /* "ONOFF" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+144 /* &val */) != 0 { @@ -51380,7 +52948,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+152, 8 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18194 /* "DB LIMIT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18975 /* "DB LIMIT" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+152 /* &db */) != 0 { @@ -51404,7 +52972,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+168, 8 if objc != 6 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18203 /* "DB dbName onOff ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18984 /* "DB dbName onOff ..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+168 /* &db */) != 0 { @@ -51532,7 +53100,7 @@ func test_getrusage(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 libc.Xgetrusage(tls, RUSAGE_SELF, bp+48 /* &r */) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1024]int8{})), bp+192, /* &buf[0] */ - ts+18224, /* "ru_utime=%d.%06d..." */ + ts+19005, /* "ru_utime=%d.%06d..." */ libc.VaList(bp, int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_utime.Ftv_sec), int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_utime.Ftv_usec), int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_stime.Ftv_sec), int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_stime.Ftv_usec), int32(*(*int64)(unsafe.Pointer(bp + 48 /* &r */ + 64 /* &.ru_minflt */))), int32(*(*int64)(unsafe.Pointer(bp + 48 /* &r */ + 72 /* &.ru_majflt */))))) @@ -51558,7 +53126,7 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj var mask int32 = 0 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18284 /* "DB OPT BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19065 /* "DB OPT BOOLEAN" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &db */) != 0 { @@ -51586,7 +53154,7 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj Fmask int32 _ [4]byte }{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18299, /* "unknown optimiza..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19080, /* "unknown optimiza..." */ uintptr(0))) for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aOpt)) / uint64(unsafe.Sizeof(struct { FzOptName uintptr @@ -51606,19 +53174,19 @@ var aOpt = [13]struct { Fmask int32 _ [4]byte }{ - {FzOptName: ts + 18340 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, - {FzOptName: ts + 18344 /* "none" */}, - {FzOptName: ts + 18349 /* "query-flattener" */, Fmask: SQLITE_QueryFlattener}, - {FzOptName: ts + 18365 /* "groupby-order" */, Fmask: SQLITE_GroupByOrder}, - {FzOptName: ts + 18379 /* "factor-constants" */, Fmask: SQLITE_FactorOutConst}, - {FzOptName: ts + 18396 /* "distinct-opt" */, Fmask: SQLITE_DistinctOpt}, - {FzOptName: ts + 18409 /* "cover-idx-scan" */, Fmask: SQLITE_CoverIdxScan}, - {FzOptName: ts + 18424 /* "order-by-idx-joi..." */, Fmask: SQLITE_OrderByIdxJoin}, - {FzOptName: ts + 18442 /* "transitive" */, Fmask: SQLITE_Transitive}, - {FzOptName: ts + 18453 /* "omit-noop-join" */, Fmask: SQLITE_OmitNoopJoin}, - {FzOptName: ts + 18468 /* "stat4" */, Fmask: SQLITE_Stat4}, - {FzOptName: ts + 18474 /* "skip-scan" */, Fmask: SQLITE_SkipScan}, - {FzOptName: ts + 18484 /* "push-down" */, Fmask: SQLITE_PushDown}, + {FzOptName: ts + 19121 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, + {FzOptName: ts + 19125 /* "none" */}, + {FzOptName: ts + 19130 /* "query-flattener" */, Fmask: SQLITE_QueryFlattener}, + {FzOptName: ts + 19146 /* "groupby-order" */, Fmask: SQLITE_GroupByOrder}, + {FzOptName: ts + 19160 /* "factor-constants" */, Fmask: SQLITE_FactorOutConst}, + {FzOptName: ts + 19177 /* "distinct-opt" */, Fmask: SQLITE_DistinctOpt}, + {FzOptName: ts + 19190 /* "cover-idx-scan" */, Fmask: SQLITE_CoverIdxScan}, + {FzOptName: ts + 19205 /* "order-by-idx-joi..." */, Fmask: SQLITE_OrderByIdxJoin}, + {FzOptName: ts + 19223 /* "transitive" */, Fmask: SQLITE_Transitive}, + {FzOptName: ts + 19234 /* "omit-noop-join" */, Fmask: SQLITE_OmitNoopJoin}, + {FzOptName: ts + 19249 /* "stat4" */, Fmask: SQLITE_Stat4}, + {FzOptName: ts + 19255 /* "skip-scan" */, Fmask: SQLITE_SkipScan}, + {FzOptName: ts + 19265 /* "push-down" */, Fmask: SQLITE_PushDown}, } /* test1.c:7503:5 */ // load_static_extension DB NAME ... @@ -51636,7 +53204,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr var rc int32 *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)) = uintptr(0) if objc < 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18494 /* "DB NAME ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19275 /* "DB NAME ..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -51656,7 +53224,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr FzExtName uintptr FpInit uintptr }{})))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18506 /* "no such extensio..." */, zName, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19287 /* "no such extensio..." */, zName, uintptr(0))) return TCL_ERROR } if aExtension[i].FpInit != 0 { @@ -51665,7 +53233,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr rc = SQLITE_OK } if ((rc != SQLITE_OK) && (rc != (SQLITE_OK | (int32(1) << 8)))) || (*(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18526 /* "initialization o..." */, zName, ts+18545 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)), + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+19307 /* "initialization o..." */, zName, ts+19326 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)), uintptr(0))) sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */))) return TCL_ERROR @@ -51678,25 +53246,25 @@ var aExtension = [22]struct { FzExtName uintptr FpInit uintptr }{ - {FzExtName: ts + 18555 /* "amatch" */, FpInit: 0}, - {FzExtName: ts + 18562 /* "appendvfs" */, FpInit: 0}, + {FzExtName: ts + 19336 /* "amatch" */, FpInit: 0}, + {FzExtName: ts + 19343 /* "appendvfs" */, FpInit: 0}, {FzExtName: ts + 3921 /* "carray" */, FpInit: 0}, - {FzExtName: ts + 18572 /* "closure" */, FpInit: 0}, + {FzExtName: ts + 19353 /* "closure" */, FpInit: 0}, {FzExtName: ts + 4676 /* "csv" */, FpInit: 0}, {FzExtName: ts + 4699 /* "decimal" */, FpInit: 0}, {FzExtName: ts + 4757 /* "eval" */, FpInit: 0}, {FzExtName: ts + 4835 /* "explain" */, FpInit: 0}, - {FzExtName: ts + 18580 /* "fileio" */, FpInit: 0}, + {FzExtName: ts + 19361 /* "fileio" */, FpInit: 0}, {FzExtName: ts + 5344 /* "fuzzer" */, FpInit: 0}, {FzExtName: ts + 5368 /* "ieee754" */, FpInit: 0}, - {FzExtName: ts + 18587 /* "nextchar" */, FpInit: 0}, + {FzExtName: ts + 19368 /* "nextchar" */, FpInit: 0}, {FzExtName: ts + 5948 /* "percentile" */, FpInit: 0}, {FzExtName: ts + 6023 /* "prefixes" */, FpInit: 0}, {FzExtName: ts + 6335 /* "regexp" */, FpInit: 0}, {FzExtName: ts + 6350 /* "remember" */, FpInit: 0}, - {FzExtName: ts + 18596 /* "series" */, FpInit: 0}, - {FzExtName: ts + 18603 /* "spellfix" */, FpInit: 0}, - {FzExtName: ts + 18612 /* "totype" */, FpInit: 0}, + {FzExtName: ts + 19377 /* "series" */, FpInit: 0}, + {FzExtName: ts + 19384 /* "spellfix" */, FpInit: 0}, + {FzExtName: ts + 19393 /* "totype" */, FpInit: 0}, {FzExtName: ts + 8367 /* "unionvtab" */, FpInit: 0}, {FzExtName: ts + 8909 /* "wholenumber" */, FpInit: 0}, {FzExtName: ts + 9012 /* "zipfile" */, FpInit: 0}, @@ -51711,7 +53279,7 @@ func sorter_test_fakeheap(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var bArg int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } @@ -51766,7 +53334,7 @@ func sorter_test_sort4_helper(tls *libc.TLS, clientData uintptr, interp uintptr, if !(objc != 5) { goto __1 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18624 /* "DB SQL1 NSTEP SQ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19400 /* "DB SQL1 NSTEP SQ..." */) return TCL_ERROR __1: ; @@ -51804,7 +53372,7 @@ __5: if !(a != sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)), iB)) { goto __8 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18643 /* "data error: (a!=..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19419 /* "data error: (a!=..." */, 0)) return TCL_ERROR __8: ; @@ -51857,14 +53425,14 @@ __14: if !(iCksum1 != iCksum2) { goto __15 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+18662 /* "checksum mismatc..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19438 /* "checksum mismatc..." */, 0)) return TCL_ERROR __15: ; return TCL_OK sql_error: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18680 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19456 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))), 0)) return TCL_ERROR } @@ -51892,7 +53460,7 @@ func test_bad_behavior(tls *libc.TLS, clientData ClientData, interp uintptr, obj var a uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18692 /* "TYPE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19468 /* "TYPE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &iType */) != 0 { @@ -51930,7 +53498,7 @@ func test_bad_behavior(tls *libc.TLS, clientData ClientData, interp uintptr, obj } case 4: { - tcl.XTcl_Panic(tls, ts+18697 /* "Deliberate panic" */, 0) + tcl.XTcl_Panic(tls, ts+19473 /* "Deliberate panic" */, 0) break } @@ -51974,20 +53542,20 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o // var db uintptr at bp+16, 8 if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18714 /* "DB SETTING [VALU..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19490 /* "DB SETTING [VALU..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { return TCL_ERROR } zSetting = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if sqlite3.Xsqlite3_strglob(tls, ts+18733 /* "SQLITE_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19509 /* "SQLITE_*" */, zSetting) == 0 { zSetting += uintptr(7) } - if sqlite3.Xsqlite3_strglob(tls, ts+18742 /* "DBCONFIG_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19518 /* "DBCONFIG_*" */, zSetting) == 0 { zSetting += uintptr(9) } - if sqlite3.Xsqlite3_strglob(tls, ts+18753 /* "ENABLE_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19529 /* "ENABLE_*" */, zSetting) == 0 { zSetting += uintptr(7) } for i = 0; i < (int32(uint64(unsafe.Sizeof(aSetting)) / uint64(unsafe.Sizeof(struct { @@ -52005,7 +53573,7 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o _ [4]byte }{})))) { tcl.XTcl_SetObjResult(tls, interp, - tcl.XTcl_NewStringObj(tls, ts+18762 /* "unknown sqlite3_..." */, -1)) + tcl.XTcl_NewStringObj(tls, ts+19538 /* "unknown sqlite3_..." */, -1)) return TCL_ERROR } if objc == 4 { @@ -52025,20 +53593,20 @@ var aSetting = [14]struct { FeVal int32 _ [4]byte }{ - {FzName: ts + 18796 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, - {FzName: ts + 18801 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, - {FzName: ts + 18809 /* "FTS3_TOKENIZER" */, FeVal: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, - {FzName: ts + 18824 /* "LOAD_EXTENSION" */, FeVal: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, - {FzName: ts + 18839 /* "NO_CKPT_ON_CLOSE" */, FeVal: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, - {FzName: ts + 18856 /* "QPSG" */, FeVal: SQLITE_DBCONFIG_ENABLE_QPSG}, - {FzName: ts + 18861 /* "TRIGGER_EQP" */, FeVal: SQLITE_DBCONFIG_TRIGGER_EQP}, - {FzName: ts + 18873 /* "RESET_DB" */, FeVal: SQLITE_DBCONFIG_RESET_DATABASE}, - {FzName: ts + 18882 /* "DEFENSIVE" */, FeVal: SQLITE_DBCONFIG_DEFENSIVE}, - {FzName: ts + 18892 /* "WRITABLE_SCHEMA" */, FeVal: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, - {FzName: ts + 18908 /* "LEGACY_ALTER_TAB..." */, FeVal: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, - {FzName: ts + 18927 /* "DQS_DML" */, FeVal: SQLITE_DBCONFIG_DQS_DML}, - {FzName: ts + 18935 /* "DQS_DDL" */, FeVal: SQLITE_DBCONFIG_DQS_DDL}, - {FzName: ts + 18943 /* "LEGACY_FILE_FORM..." */, FeVal: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, + {FzName: ts + 19572 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, + {FzName: ts + 19577 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, + {FzName: ts + 19585 /* "FTS3_TOKENIZER" */, FeVal: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, + {FzName: ts + 19600 /* "LOAD_EXTENSION" */, FeVal: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, + {FzName: ts + 19615 /* "NO_CKPT_ON_CLOSE" */, FeVal: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, + {FzName: ts + 19632 /* "QPSG" */, FeVal: SQLITE_DBCONFIG_ENABLE_QPSG}, + {FzName: ts + 19637 /* "TRIGGER_EQP" */, FeVal: SQLITE_DBCONFIG_TRIGGER_EQP}, + {FzName: ts + 19649 /* "RESET_DB" */, FeVal: SQLITE_DBCONFIG_RESET_DATABASE}, + {FzName: ts + 19658 /* "DEFENSIVE" */, FeVal: SQLITE_DBCONFIG_DEFENSIVE}, + {FzName: ts + 19668 /* "WRITABLE_SCHEMA" */, FeVal: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, + {FzName: ts + 19684 /* "LEGACY_ALTER_TAB..." */, FeVal: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, + {FzName: ts + 19703 /* "DQS_DML" */, FeVal: SQLITE_DBCONFIG_DQS_DML}, + {FzName: ts + 19711 /* "DQS_DDL" */, FeVal: SQLITE_DBCONFIG_DQS_DDL}, + {FzName: ts + 19719 /* "LEGACY_FILE_FORM..." */, FeVal: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, } /* test1.c:7986:5 */ // tclcmd: sqlite3_txn_state DB ?SCHEMA? @@ -52056,7 +53624,7 @@ func test_sqlite3_txn_state(tls *libc.TLS, clientData uintptr, interp uintptr, o var iTxn int32 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18962 /* "DB ?SCHEMA?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19738 /* "DB ?SCHEMA?" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -52087,7 +53655,7 @@ func test_dbconfig_maindbname_icecube(tls *libc.TLS, clientData uintptr, interp if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+8 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+18974 /* "icecube" */)) + rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+19750 /* "icecube" */)) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_OK } @@ -52100,7 +53668,7 @@ func test_mmap_warm(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 defer tls.Free(8) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18982 /* "DB ?DBNAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19758 /* "DB ?DBNAME?" */) return TCL_ERROR } else { var rc int32 @@ -52137,7 +53705,7 @@ func test_write_db(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18994 /* "DB OFFSET DATA" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19770 /* "DB OFFSET DATA" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -52207,7 +53775,7 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var x [16]uint32 at bp+232, 64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19009 /* "HEXDB" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19785 /* "HEXDB" */) return TCL_ERROR } zIn = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -52224,17 +53792,17 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i if a == uintptr(0) { // var pgsz int32 at bp+220, 4 - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19015 /* "| size %d pagesi..." */, libc.VaList(bp, bp+216 /* &n */, bp+220 /* &pgsz */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19791 /* "| size %d pagesi..." */, libc.VaList(bp, bp+216 /* &n */, bp+220 /* &pgsz */)) if rc != 2 { continue } if ((*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) < 512) || (*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) > 65536)) || ((*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) - 1)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19037 /* "bad 'pagesize' f..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19813 /* "bad 'pagesize' f..." */, uintptr(0))) return TCL_ERROR } *(*int32)(unsafe.Pointer(bp + 216 /* n */)) = (((*(*int32)(unsafe.Pointer(bp + 216 /* n */)) + *(*int32)(unsafe.Pointer(bp + 220 /* pgsz */))) - 1) & ^(*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) - 1)) // Round n up to the next multiple of pgsz if *(*int32)(unsafe.Pointer(bp + 216 /* n */)) < 512 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19058 /* "bad 'size' field" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19834 /* "bad 'size' field" */, uintptr(0))) return TCL_ERROR } a = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 216 /* n */)))) @@ -52245,12 +53813,12 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i libc.Xmemset(tls, a, 0, uint64(*(*int32)(unsafe.Pointer(bp + 216 /* n */)))) continue } - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19075 /* "| page %d offset..." */, libc.VaList(bp+64, bp+224 /* &j */, bp+228 /* &k */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19851 /* "| page %d offset..." */, libc.VaList(bp+64, bp+224 /* &j */, bp+228 /* &k */)) if rc == 2 { iOffset = *(*int32)(unsafe.Pointer(bp + 228 /* k */)) continue } - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19095, /* "| %d: %x %x %x %..." */ + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19871, /* "| %d: %x %x %x %..." */ libc.VaList(bp+80, bp+224 /* &j */, (bp+232 /* &x */), (bp+232 /* &x */ +1*4), (bp+232 /* &x */ +2*4), (bp+232 /* &x */ +3*4), (bp+232 /* &x */ +4*4), (bp+232 /* &x */ +5*4), (bp+232 /* &x */ +6*4), (bp+232 /* &x */ +7*4), (bp+232 /* &x */ +8*4), (bp+232 /* &x */ +9*4), (bp+232 /* &x */ +10*4), (bp+232 /* &x */ +11*4), (bp+232 /* &x */ +12*4), (bp+232 /* &x */ +13*4), (bp+232 /* &x */ +14*4), (bp+232 /* &x */ +15*4))) if rc == 17 { @@ -52287,56 +53855,56 @@ func Sqlitetest1_Init(tls *libc.TLS, interp uintptr) int32 { /* test1.c:8271:5: tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd1[i].FzName, aObjCmd1[i].FxProc, aObjCmd1[i].FclientData, uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+19149, /* "sqlite_search_co..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19925, /* "sqlite_search_co..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_search_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19169, /* "sqlite_found_cou..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19945, /* "sqlite_found_cou..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_found_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19188, /* "sqlite_sort_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19964, /* "sqlite_sort_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sort_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19206, /* "sqlite3_max_blob..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19982, /* "sqlite3_max_blob..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_max_blobsize)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19227, /* "sqlite_like_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20003, /* "sqlite_like_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_like_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19245, /* "sqlite_interrupt..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20021, /* "sqlite_interrupt..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_interrupt_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19268, /* "sqlite_open_file..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20044, /* "sqlite_open_file..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_open_file_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19291, /* "sqlite_current_t..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20067, /* "sqlite_current_t..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_current_time)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19311, /* "sqlite3_xferopt_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20087, /* "sqlite3_xferopt_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_xferopt_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19333, /* "sqlite3_pager_re..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20109, /* "sqlite3_pager_re..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_readdb_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19360, /* "sqlite3_pager_wr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20136, /* "sqlite3_pager_wr..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writedb_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19388, /* "sqlite3_pager_wr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20164, /* "sqlite3_pager_wr..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writej_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19415, /* "unaligned_string..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20191, /* "unaligned_string..." */ uintptr(unsafe.Pointer(&unaligned_string_counter)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19440, /* "sqlite_last_need..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20216, /* "sqlite_last_need..." */ uintptr(unsafe.Pointer(&pzNeededCollation)), (TCL_LINK_STRING | TCL_LINK_READ_ONLY)) { - tcl.XTcl_LinkVar(tls, interp, ts+19469, /* "sqlite_query_pla..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20245, /* "sqlite_query_pla..." */ uintptr(unsafe.Pointer(&query_plan)), (TCL_LINK_STRING | TCL_LINK_READ_ONLY)) } - tcl.XTcl_LinkVar(tls, interp, ts+19487, /* "sqlite_opentemp_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20263, /* "sqlite_opentemp_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_opentemp_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19509, /* "sqlite_static_bi..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20285, /* "sqlite_static_bi..." */ uintptr(unsafe.Pointer(&sqlite_static_bind_value)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19534, /* "sqlite_static_bi..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20310, /* "sqlite_static_bi..." */ uintptr(unsafe.Pointer(&sqlite_static_bind_nbyte)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19559, /* "sqlite_temp_dire..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20335, /* "sqlite_temp_dire..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_temp_directory)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19581, /* "sqlite_data_dire..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20357, /* "sqlite_data_dire..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_data_directory)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19603, /* "bitmask_size" */ + tcl.XTcl_LinkVar(tls, interp, ts+20379, /* "bitmask_size" */ uintptr(unsafe.Pointer(&bitmask_size)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) - tcl.XTcl_LinkVar(tls, interp, ts+19616, /* "longdouble_size" */ + tcl.XTcl_LinkVar(tls, interp, ts+20392, /* "longdouble_size" */ uintptr(unsafe.Pointer(&longdouble_size)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) - tcl.XTcl_LinkVar(tls, interp, ts+19632, /* "sqlite_sync_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20408, /* "sqlite_sync_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sync_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19650, /* "sqlite_fullsync_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20426, /* "sqlite_fullsync_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_fullsync_count)), TCL_LINK_INT) return TCL_OK } @@ -52346,227 +53914,227 @@ var aCmd1 = [40]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 19672 /* "db_enter" */, FxProc: 0}, - {FzName: ts + 19681 /* "db_leave" */, FxProc: 0}, - {FzName: ts + 19690 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19710 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19732 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19753 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19773 /* "sqlite3_snprintf..." */, FxProc: 0}, - {FzName: ts + 19794 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19818 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19841 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19864 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19890 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19913 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19936 /* "sqlite3_snprintf..." */, FxProc: 0}, - {FzName: ts + 19957 /* "sqlite3_last_ins..." */, FxProc: 0}, - {FzName: ts + 19983 /* "sqlite3_exec_pri..." */, FxProc: 0}, - {FzName: ts + 20003 /* "sqlite3_exec_hex" */, FxProc: 0}, - {FzName: ts + 20020 /* "sqlite3_exec" */, FxProc: 0}, - {FzName: ts + 20033 /* "sqlite3_exec_nr" */, FxProc: 0}, - {FzName: ts + 20049 /* "sqlite3_get_tabl..." */, FxProc: 0}, - {FzName: ts + 20074 /* "sqlite3_close" */, FxProc: 0}, - {FzName: ts + 20088 /* "sqlite3_close_v2" */, FxProc: 0}, - {FzName: ts + 20105 /* "sqlite3_create_f..." */, FxProc: 0}, - {FzName: ts + 20129 /* "sqlite3_create_a..." */, FxProc: 0}, - {FzName: ts + 20154 /* "sqlite3_drop_mod..." */, FxProc: 0}, - {FzName: ts + 20175 /* "sqlite_register_..." */, FxProc: 0}, - {FzName: ts + 20205 /* "sqlite_abort" */, FxProc: 0}, - {FzName: ts + 20218 /* "sqlite_bind" */, FxProc: 0}, - {FzName: ts + 20230 /* "breakpoint" */, FxProc: 0}, - {FzName: ts + 20241 /* "sqlite3_key" */, FxProc: 0}, - {FzName: ts + 20253 /* "sqlite3_rekey" */, FxProc: 0}, - {FzName: ts + 20267 /* "sqlite_set_magic" */, FxProc: 0}, - {FzName: ts + 20284 /* "sqlite3_interrup..." */, FxProc: 0}, - {FzName: ts + 20302 /* "sqlite_delete_fu..." */, FxProc: 0}, - {FzName: ts + 20325 /* "sqlite_delete_co..." */, FxProc: 0}, - {FzName: ts + 20349 /* "sqlite3_get_auto..." */, FxProc: 0}, - {FzName: ts + 20372 /* "sqlite3_busy_tim..." */, FxProc: 0}, - {FzName: ts + 20393 /* "printf" */, FxProc: 0}, - {FzName: ts + 20400 /* "sqlite3IoTrace" */, FxProc: 0}, - {FzName: ts + 20415 /* "clang_sanitize_a..." */, FxProc: 0}, + {FzName: ts + 20448 /* "db_enter" */, FxProc: 0}, + {FzName: ts + 20457 /* "db_leave" */, FxProc: 0}, + {FzName: ts + 20466 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20486 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20508 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20529 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20549 /* "sqlite3_snprintf..." */, FxProc: 0}, + {FzName: ts + 20570 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20594 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20617 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20640 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20666 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20689 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20712 /* "sqlite3_snprintf..." */, FxProc: 0}, + {FzName: ts + 20733 /* "sqlite3_last_ins..." */, FxProc: 0}, + {FzName: ts + 20759 /* "sqlite3_exec_pri..." */, FxProc: 0}, + {FzName: ts + 20779 /* "sqlite3_exec_hex" */, FxProc: 0}, + {FzName: ts + 20796 /* "sqlite3_exec" */, FxProc: 0}, + {FzName: ts + 20809 /* "sqlite3_exec_nr" */, FxProc: 0}, + {FzName: ts + 20825 /* "sqlite3_get_tabl..." */, FxProc: 0}, + {FzName: ts + 20850 /* "sqlite3_close" */, FxProc: 0}, + {FzName: ts + 20864 /* "sqlite3_close_v2" */, FxProc: 0}, + {FzName: ts + 20881 /* "sqlite3_create_f..." */, FxProc: 0}, + {FzName: ts + 20905 /* "sqlite3_create_a..." */, FxProc: 0}, + {FzName: ts + 20930 /* "sqlite3_drop_mod..." */, FxProc: 0}, + {FzName: ts + 20951 /* "sqlite_register_..." */, FxProc: 0}, + {FzName: ts + 20981 /* "sqlite_abort" */, FxProc: 0}, + {FzName: ts + 20994 /* "sqlite_bind" */, FxProc: 0}, + {FzName: ts + 21006 /* "breakpoint" */, FxProc: 0}, + {FzName: ts + 21017 /* "sqlite3_key" */, FxProc: 0}, + {FzName: ts + 21029 /* "sqlite3_rekey" */, FxProc: 0}, + {FzName: ts + 21043 /* "sqlite_set_magic" */, FxProc: 0}, + {FzName: ts + 21060 /* "sqlite3_interrup..." */, FxProc: 0}, + {FzName: ts + 21078 /* "sqlite_delete_fu..." */, FxProc: 0}, + {FzName: ts + 21101 /* "sqlite_delete_co..." */, FxProc: 0}, + {FzName: ts + 21125 /* "sqlite3_get_auto..." */, FxProc: 0}, + {FzName: ts + 21148 /* "sqlite3_busy_tim..." */, FxProc: 0}, + {FzName: ts + 21169 /* "printf" */, FxProc: 0}, + {FzName: ts + 21176 /* "sqlite3IoTrace" */, FxProc: 0}, + {FzName: ts + 21191 /* "clang_sanitize_a..." */, FxProc: 0}, } /* test1.c:8288:5 */ var aObjCmd1 = [161]struct { FzName uintptr FxProc uintptr FclientData uintptr }{ - {FzName: ts + 20438 /* "sqlite3_db_confi..." */, FxProc: 0}, - {FzName: ts + 20456 /* "sqlite3_txn_stat..." */, FxProc: 0}, - {FzName: ts + 20474 /* "bad_behavior" */, FxProc: 0, FclientData: 0}, - {FzName: ts + 20487 /* "register_dbstat_..." */, FxProc: 0}, - {FzName: ts + 20508 /* "sqlite3_connecti..." */, FxProc: 0}, - {FzName: ts + 20535 /* "intarray_addr" */, FxProc: 0}, - {FzName: ts + 20549 /* "int64array_addr" */, FxProc: 0}, - {FzName: ts + 20565 /* "doublearray_addr" */, FxProc: 0}, - {FzName: ts + 20582 /* "textarray_addr" */, FxProc: 0}, - {FzName: ts + 20597 /* "sqlite3_bind_int" */, FxProc: 0}, - {FzName: ts + 20614 /* "sqlite3_bind_zer..." */, FxProc: 0}, - {FzName: ts + 20636 /* "sqlite3_bind_zer..." */, FxProc: 0}, - {FzName: ts + 20660 /* "sqlite3_bind_int..." */, FxProc: 0}, - {FzName: ts + 20679 /* "sqlite3_bind_dou..." */, FxProc: 0}, - {FzName: ts + 20699 /* "sqlite3_bind_nul..." */, FxProc: 0}, - {FzName: ts + 20717 /* "sqlite3_bind_tex..." */, FxProc: 0}, - {FzName: ts + 20735 /* "sqlite3_bind_tex..." */, FxProc: 0}, - {FzName: ts + 20755 /* "sqlite3_bind_blo..." */, FxProc: 0}, - {FzName: ts + 20773 /* "sqlite3_carray_b..." */, FxProc: 0}, - {FzName: ts + 20793 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20822 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20850 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20879 /* "sqlite3_clear_bi..." */, FxProc: 0}, - {FzName: ts + 20902 /* "sqlite3_sleep" */, FxProc: 0}, - {FzName: ts + 20916 /* "sqlite3_errcode" */, FxProc: 0}, - {FzName: ts + 20932 /* "sqlite3_extended..." */, FxProc: 0}, - {FzName: ts + 20957 /* "sqlite3_errmsg" */, FxProc: 0}, - {FzName: ts + 20972 /* "sqlite3_errmsg16" */, FxProc: 0}, - {FzName: ts + 20989 /* "sqlite3_open" */, FxProc: 0}, - {FzName: ts + 21002 /* "sqlite3_open16" */, FxProc: 0}, - {FzName: ts + 21017 /* "sqlite3_open_v2" */, FxProc: 0}, - {FzName: ts + 21033 /* "sqlite3_complete..." */, FxProc: 0}, - {FzName: ts + 21052 /* "sqlite3_normaliz..." */, FxProc: 0}, + {FzName: ts + 21214 /* "sqlite3_db_confi..." */, FxProc: 0}, + {FzName: ts + 21232 /* "sqlite3_txn_stat..." */, FxProc: 0}, + {FzName: ts + 21250 /* "bad_behavior" */, FxProc: 0, FclientData: 0}, + {FzName: ts + 21263 /* "register_dbstat_..." */, FxProc: 0}, + {FzName: ts + 21284 /* "sqlite3_connecti..." */, FxProc: 0}, + {FzName: ts + 21311 /* "intarray_addr" */, FxProc: 0}, + {FzName: ts + 21325 /* "int64array_addr" */, FxProc: 0}, + {FzName: ts + 21341 /* "doublearray_addr" */, FxProc: 0}, + {FzName: ts + 21358 /* "textarray_addr" */, FxProc: 0}, + {FzName: ts + 21373 /* "sqlite3_bind_int" */, FxProc: 0}, + {FzName: ts + 21390 /* "sqlite3_bind_zer..." */, FxProc: 0}, + {FzName: ts + 21412 /* "sqlite3_bind_zer..." */, FxProc: 0}, + {FzName: ts + 21436 /* "sqlite3_bind_int..." */, FxProc: 0}, + {FzName: ts + 21455 /* "sqlite3_bind_dou..." */, FxProc: 0}, + {FzName: ts + 21475 /* "sqlite3_bind_nul..." */, FxProc: 0}, + {FzName: ts + 21493 /* "sqlite3_bind_tex..." */, FxProc: 0}, + {FzName: ts + 21511 /* "sqlite3_bind_tex..." */, FxProc: 0}, + {FzName: ts + 21531 /* "sqlite3_bind_blo..." */, FxProc: 0}, + {FzName: ts + 21549 /* "sqlite3_carray_b..." */, FxProc: 0}, + {FzName: ts + 21569 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21598 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21626 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21655 /* "sqlite3_clear_bi..." */, FxProc: 0}, + {FzName: ts + 21678 /* "sqlite3_sleep" */, FxProc: 0}, + {FzName: ts + 21692 /* "sqlite3_errcode" */, FxProc: 0}, + {FzName: ts + 21708 /* "sqlite3_extended..." */, FxProc: 0}, + {FzName: ts + 21733 /* "sqlite3_errmsg" */, FxProc: 0}, + {FzName: ts + 21748 /* "sqlite3_errmsg16" */, FxProc: 0}, + {FzName: ts + 21765 /* "sqlite3_open" */, FxProc: 0}, + {FzName: ts + 21778 /* "sqlite3_open16" */, FxProc: 0}, + {FzName: ts + 21793 /* "sqlite3_open_v2" */, FxProc: 0}, + {FzName: ts + 21809 /* "sqlite3_complete..." */, FxProc: 0}, + {FzName: ts + 21828 /* "sqlite3_normaliz..." */, FxProc: 0}, - {FzName: ts + 21070 /* "sqlite3_prepare" */, FxProc: 0}, - {FzName: ts + 21086 /* "sqlite3_prepare1..." */, FxProc: 0}, - {FzName: ts + 21104 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21123 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21142 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21166 /* "sqlite3_prepare1..." */, FxProc: 0}, - {FzName: ts + 21187 /* "sqlite3_finalize" */, FxProc: 0}, - {FzName: ts + 21204 /* "sqlite3_stmt_sta..." */, FxProc: 0}, - {FzName: ts + 21224 /* "sqlite3_reset" */, FxProc: 0}, - {FzName: ts + 21238 /* "sqlite3_expired" */, FxProc: 0}, - {FzName: ts + 21254 /* "sqlite3_transfer..." */, FxProc: 0}, - {FzName: ts + 21280 /* "sqlite3_changes" */, FxProc: 0}, - {FzName: ts + 21296 /* "sqlite3_step" */, FxProc: 0}, - {FzName: ts + 21309 /* "sqlite3_sql" */, FxProc: 0}, - {FzName: ts + 21321 /* "sqlite3_expanded..." */, FxProc: 0}, - {FzName: ts + 21342 /* "sqlite3_next_stm..." */, FxProc: 0}, - {FzName: ts + 21360 /* "sqlite3_stmt_rea..." */, FxProc: 0}, - {FzName: ts + 21382 /* "sqlite3_stmt_ise..." */, FxProc: 0}, - {FzName: ts + 21405 /* "sqlite3_stmt_bus..." */, FxProc: 0}, - {FzName: ts + 21423 /* "uses_stmt_journa..." */, FxProc: 0}, + {FzName: ts + 21846 /* "sqlite3_prepare" */, FxProc: 0}, + {FzName: ts + 21862 /* "sqlite3_prepare1..." */, FxProc: 0}, + {FzName: ts + 21880 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 21899 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 21918 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 21942 /* "sqlite3_prepare1..." */, FxProc: 0}, + {FzName: ts + 21963 /* "sqlite3_finalize" */, FxProc: 0}, + {FzName: ts + 21980 /* "sqlite3_stmt_sta..." */, FxProc: 0}, + {FzName: ts + 22000 /* "sqlite3_reset" */, FxProc: 0}, + {FzName: ts + 22014 /* "sqlite3_expired" */, FxProc: 0}, + {FzName: ts + 22030 /* "sqlite3_transfer..." */, FxProc: 0}, + {FzName: ts + 22056 /* "sqlite3_changes" */, FxProc: 0}, + {FzName: ts + 22072 /* "sqlite3_step" */, FxProc: 0}, + {FzName: ts + 22085 /* "sqlite3_sql" */, FxProc: 0}, + {FzName: ts + 22097 /* "sqlite3_expanded..." */, FxProc: 0}, + {FzName: ts + 22118 /* "sqlite3_next_stm..." */, FxProc: 0}, + {FzName: ts + 22136 /* "sqlite3_stmt_rea..." */, FxProc: 0}, + {FzName: ts + 22158 /* "sqlite3_stmt_ise..." */, FxProc: 0}, + {FzName: ts + 22181 /* "sqlite3_stmt_bus..." */, FxProc: 0}, + {FzName: ts + 22199 /* "uses_stmt_journa..." */, FxProc: 0}, - {FzName: ts + 21441 /* "sqlite3_release_..." */, FxProc: 0}, - {FzName: ts + 21464 /* "sqlite3_db_relea..." */, FxProc: 0}, - {FzName: ts + 21490 /* "sqlite3_db_cache..." */, FxProc: 0}, - {FzName: ts + 21512 /* "sqlite3_system_e..." */, FxProc: 0}, - {FzName: ts + 21533 /* "sqlite3_db_filen..." */, FxProc: 0}, - {FzName: ts + 21553 /* "sqlite3_db_reado..." */, FxProc: 0}, - {FzName: ts + 21573 /* "sqlite3_soft_hea..." */, FxProc: 0}, - {FzName: ts + 21597 /* "sqlite3_soft_hea..." */, FxProc: 0}, - {FzName: ts + 21623 /* "sqlite3_hard_hea..." */, FxProc: 0}, - {FzName: ts + 21649 /* "sqlite3_thread_c..." */, FxProc: 0}, - {FzName: ts + 21672 /* "sqlite3_pager_re..." */, FxProc: 0}, + {FzName: ts + 22217 /* "sqlite3_release_..." */, FxProc: 0}, + {FzName: ts + 22240 /* "sqlite3_db_relea..." */, FxProc: 0}, + {FzName: ts + 22266 /* "sqlite3_db_cache..." */, FxProc: 0}, + {FzName: ts + 22288 /* "sqlite3_system_e..." */, FxProc: 0}, + {FzName: ts + 22309 /* "sqlite3_db_filen..." */, FxProc: 0}, + {FzName: ts + 22329 /* "sqlite3_db_reado..." */, FxProc: 0}, + {FzName: ts + 22349 /* "sqlite3_soft_hea..." */, FxProc: 0}, + {FzName: ts + 22373 /* "sqlite3_soft_hea..." */, FxProc: 0}, + {FzName: ts + 22399 /* "sqlite3_hard_hea..." */, FxProc: 0}, + {FzName: ts + 22425 /* "sqlite3_thread_c..." */, FxProc: 0}, + {FzName: ts + 22448 /* "sqlite3_pager_re..." */, FxProc: 0}, - {FzName: ts + 21696 /* "sqlite3_load_ext..." */, FxProc: 0}, - {FzName: ts + 21719 /* "sqlite3_enable_l..." */, FxProc: 0}, - {FzName: ts + 21749 /* "sqlite3_extended..." */, FxProc: 0}, - {FzName: ts + 21779 /* "sqlite3_limit" */, FxProc: 0}, - {FzName: ts + 21793 /* "dbconfig_maindbn..." */, FxProc: 0}, + {FzName: ts + 22472 /* "sqlite3_load_ext..." */, FxProc: 0}, + {FzName: ts + 22495 /* "sqlite3_enable_l..." */, FxProc: 0}, + {FzName: ts + 22525 /* "sqlite3_extended..." */, FxProc: 0}, + {FzName: ts + 22555 /* "sqlite3_limit" */, FxProc: 0}, + {FzName: ts + 22569 /* "dbconfig_maindbn..." */, FxProc: 0}, - {FzName: ts + 21821 /* "save_prng_state" */, FxProc: 0}, - {FzName: ts + 21837 /* "restore_prng_sta..." */, FxProc: 0}, - {FzName: ts + 21856 /* "reset_prng_state" */, FxProc: 0}, - {FzName: ts + 21873 /* "prng_seed" */, FxProc: 0}, - {FzName: ts + 21883 /* "extra_schema_che..." */, FxProc: 0}, - {FzName: ts + 21903 /* "database_never_c..." */, FxProc: 0}, - {FzName: ts + 21926 /* "database_may_be_..." */, FxProc: 0}, - {FzName: ts + 21950 /* "optimization_con..." */, FxProc: 0}, - {FzName: ts + 21971 /* "tcl_objproc" */, FxProc: 0}, + {FzName: ts + 22597 /* "save_prng_state" */, FxProc: 0}, + {FzName: ts + 22613 /* "restore_prng_sta..." */, FxProc: 0}, + {FzName: ts + 22632 /* "reset_prng_state" */, FxProc: 0}, + {FzName: ts + 22649 /* "prng_seed" */, FxProc: 0}, + {FzName: ts + 22659 /* "extra_schema_che..." */, FxProc: 0}, + {FzName: ts + 22679 /* "database_never_c..." */, FxProc: 0}, + {FzName: ts + 22702 /* "database_may_be_..." */, FxProc: 0}, + {FzName: ts + 22726 /* "optimization_con..." */, FxProc: 0}, + {FzName: ts + 22747 /* "tcl_objproc" */, FxProc: 0}, // sqlite3_column_*() API - {FzName: ts + 21983 /* "sqlite3_column_c..." */, FxProc: 0}, - {FzName: ts + 22004 /* "sqlite3_data_cou..." */, FxProc: 0}, - {FzName: ts + 22023 /* "sqlite3_column_t..." */, FxProc: 0}, - {FzName: ts + 22043 /* "sqlite3_column_b..." */, FxProc: 0}, - {FzName: ts + 22063 /* "sqlite3_column_d..." */, FxProc: 0}, - {FzName: ts + 22085 /* "sqlite3_column_i..." */, FxProc: 0}, - {FzName: ts + 22106 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22126 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22146 /* "sqlite3_column_i..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22165 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22186 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22210 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22239 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22265 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22759 /* "sqlite3_column_c..." */, FxProc: 0}, + {FzName: ts + 22780 /* "sqlite3_data_cou..." */, FxProc: 0}, + {FzName: ts + 22799 /* "sqlite3_column_t..." */, FxProc: 0}, + {FzName: ts + 22819 /* "sqlite3_column_b..." */, FxProc: 0}, + {FzName: ts + 22839 /* "sqlite3_column_d..." */, FxProc: 0}, + {FzName: ts + 22861 /* "sqlite3_column_i..." */, FxProc: 0}, + {FzName: ts + 22882 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22902 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22922 /* "sqlite3_column_i..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22941 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22962 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22986 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23015 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23041 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22292 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22315 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22337 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22359 /* "add_alignment_te..." */, FxProc: 0}, - {FzName: ts + 22389 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22415, /* "sqlite3_column_d..." */ + {FzName: ts + 23068 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23091 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23113 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23135 /* "add_alignment_te..." */, FxProc: 0}, + {FzName: ts + 23165 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23191, /* "sqlite3_column_d..." */ FxProc: 0, FclientData: 0}, - {FzName: ts + 22446 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22474 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22503 /* "sqlite3_create_c..." */, FxProc: 0}, - {FzName: ts + 22531 /* "sqlite3_global_r..." */, FxProc: 0}, - {FzName: ts + 22554 /* "working_64bit_in..." */, FxProc: 0}, - {FzName: ts + 22572 /* "vfs_unlink_test" */, FxProc: 0}, - {FzName: ts + 22588 /* "vfs_initfail_tes..." */, FxProc: 0}, - {FzName: ts + 22606 /* "vfs_unregister_a..." */, FxProc: 0}, - {FzName: ts + 22625 /* "vfs_reregister_a..." */, FxProc: 0}, - {FzName: ts + 22644 /* "file_control_tes..." */, FxProc: 0}, - {FzName: ts + 22662 /* "file_control_las..." */, FxProc: 0}, - {FzName: ts + 22690 /* "file_control_loc..." */, FxProc: 0}, - {FzName: ts + 22718 /* "file_control_chu..." */, FxProc: 0}, - {FzName: ts + 22746 /* "file_control_siz..." */, FxProc: 0}, - {FzName: ts + 22773 /* "file_control_dat..." */, FxProc: 0}, - {FzName: ts + 22799 /* "file_control_per..." */, FxProc: 0}, - {FzName: ts + 22824 /* "file_control_pow..." */, FxProc: 0}, - {FzName: ts + 22857 /* "file_control_vfs..." */, FxProc: 0}, - {FzName: ts + 22878 /* "file_control_res..." */, FxProc: 0}, - {FzName: ts + 22904 /* "file_control_tem..." */, FxProc: 0}, - {FzName: ts + 22930 /* "file_control_ext..." */, FxProc: 0}, - {FzName: ts + 22959 /* "sqlite3_vfs_list" */, FxProc: 0}, - {FzName: ts + 22976 /* "sqlite3_create_f..." */, FxProc: 0}, + {FzName: ts + 23222 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23250 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23279 /* "sqlite3_create_c..." */, FxProc: 0}, + {FzName: ts + 23307 /* "sqlite3_global_r..." */, FxProc: 0}, + {FzName: ts + 23330 /* "working_64bit_in..." */, FxProc: 0}, + {FzName: ts + 23348 /* "vfs_unlink_test" */, FxProc: 0}, + {FzName: ts + 23364 /* "vfs_initfail_tes..." */, FxProc: 0}, + {FzName: ts + 23382 /* "vfs_unregister_a..." */, FxProc: 0}, + {FzName: ts + 23401 /* "vfs_reregister_a..." */, FxProc: 0}, + {FzName: ts + 23420 /* "file_control_tes..." */, FxProc: 0}, + {FzName: ts + 23438 /* "file_control_las..." */, FxProc: 0}, + {FzName: ts + 23466 /* "file_control_loc..." */, FxProc: 0}, + {FzName: ts + 23494 /* "file_control_chu..." */, FxProc: 0}, + {FzName: ts + 23522 /* "file_control_siz..." */, FxProc: 0}, + {FzName: ts + 23549 /* "file_control_dat..." */, FxProc: 0}, + {FzName: ts + 23575 /* "file_control_per..." */, FxProc: 0}, + {FzName: ts + 23600 /* "file_control_pow..." */, FxProc: 0}, + {FzName: ts + 23633 /* "file_control_vfs..." */, FxProc: 0}, + {FzName: ts + 23654 /* "file_control_res..." */, FxProc: 0}, + {FzName: ts + 23680 /* "file_control_tem..." */, FxProc: 0}, + {FzName: ts + 23706 /* "file_control_ext..." */, FxProc: 0}, + {FzName: ts + 23735 /* "sqlite3_vfs_list" */, FxProc: 0}, + {FzName: ts + 23752 /* "sqlite3_create_f..." */, FxProc: 0}, // Functions from os.h - {FzName: ts + 23003 /* "add_test_collate" */, FxProc: 0}, - {FzName: ts + 23020 /* "add_test_collate..." */, FxProc: 0}, - {FzName: ts + 23044 /* "add_test_functio..." */, FxProc: 0}, - {FzName: ts + 23062 /* "add_test_utf16bi..." */, FxProc: 0}, - {FzName: ts + 23088 /* "sqlite3_test_err..." */, FxProc: 0}, - {FzName: ts + 23108 /* "tcl_variable_typ..." */, FxProc: 0}, - {FzName: ts + 23126 /* "sqlite3_enable_s..." */, FxProc: 0}, - {FzName: ts + 23154 /* "sqlite3_shared_c..." */, FxProc: 0}, - {FzName: ts + 23182 /* "sqlite3_libversi..." */, FxProc: 0}, - {FzName: ts + 23208 /* "sqlite3_table_co..." */, FxProc: 0}, - {FzName: ts + 23238 /* "sqlite3_blob_reo..." */, FxProc: 0}, - {FzName: ts + 23258 /* "pcache_stats" */, FxProc: 0}, - {FzName: ts + 23271 /* "sqlite3_unlock_n..." */, FxProc: 0}, - {FzName: ts + 23293 /* "sqlite3_wal_chec..." */, FxProc: 0}, - {FzName: ts + 23316 /* "sqlite3_wal_chec..." */, FxProc: 0}, - {FzName: ts + 23342 /* "sqlite3_wal_auto..." */, FxProc: 0}, - {FzName: ts + 23369 /* "test_sqlite3_log" */, FxProc: 0}, - {FzName: ts + 23386 /* "print_explain_qu..." */, FxProc: 0}, - {FzName: ts + 23411 /* "sqlite3_test_con..." */, FxProc: 0}, - {FzName: ts + 23432 /* "getrusage" */, FxProc: 0}, - {FzName: ts + 23442 /* "load_static_exte..." */, FxProc: 0}, - {FzName: ts + 23464 /* "sorter_test_fake..." */, FxProc: 0}, - {FzName: ts + 23485 /* "sorter_test_sort..." */, FxProc: 0}, - {FzName: ts + 23510 /* "vfs_current_time..." */, FxProc: 0}, - {FzName: ts + 23533 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23554 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23576 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23598 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23619 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23644 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23670 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23697 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23723 /* "sqlite3_delete_d..." */, FxProc: 0}, - {FzName: ts + 23747 /* "atomic_batch_wri..." */, FxProc: 0}, - {FzName: ts + 23766 /* "sqlite3_mmap_war..." */, FxProc: 0}, - {FzName: ts + 23784 /* "sqlite3_config_s..." */, FxProc: 0}, - {FzName: ts + 23809 /* "decode_hexdb" */, FxProc: 0}, - {FzName: ts + 23822 /* "test_write_db" */, FxProc: 0}, - {FzName: ts + 23836 /* "sqlite3_register..." */, FxProc: 0}, - {FzName: ts + 23862 /* "sqlite3_unregist..." */, FxProc: 0}, + {FzName: ts + 23779 /* "add_test_collate" */, FxProc: 0}, + {FzName: ts + 23796 /* "add_test_collate..." */, FxProc: 0}, + {FzName: ts + 23820 /* "add_test_functio..." */, FxProc: 0}, + {FzName: ts + 23838 /* "add_test_utf16bi..." */, FxProc: 0}, + {FzName: ts + 23864 /* "sqlite3_test_err..." */, FxProc: 0}, + {FzName: ts + 23884 /* "tcl_variable_typ..." */, FxProc: 0}, + {FzName: ts + 23902 /* "sqlite3_enable_s..." */, FxProc: 0}, + {FzName: ts + 23930 /* "sqlite3_shared_c..." */, FxProc: 0}, + {FzName: ts + 23958 /* "sqlite3_libversi..." */, FxProc: 0}, + {FzName: ts + 23984 /* "sqlite3_table_co..." */, FxProc: 0}, + {FzName: ts + 24014 /* "sqlite3_blob_reo..." */, FxProc: 0}, + {FzName: ts + 24034 /* "pcache_stats" */, FxProc: 0}, + {FzName: ts + 24047 /* "sqlite3_unlock_n..." */, FxProc: 0}, + {FzName: ts + 24069 /* "sqlite3_wal_chec..." */, FxProc: 0}, + {FzName: ts + 24092 /* "sqlite3_wal_chec..." */, FxProc: 0}, + {FzName: ts + 24118 /* "sqlite3_wal_auto..." */, FxProc: 0}, + {FzName: ts + 24145 /* "test_sqlite3_log" */, FxProc: 0}, + {FzName: ts + 24162 /* "print_explain_qu..." */, FxProc: 0}, + {FzName: ts + 24187 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 24208 /* "getrusage" */, FxProc: 0}, + {FzName: ts + 24218 /* "load_static_exte..." */, FxProc: 0}, + {FzName: ts + 24240 /* "sorter_test_fake..." */, FxProc: 0}, + {FzName: ts + 24261 /* "sorter_test_sort..." */, FxProc: 0}, + {FzName: ts + 24286 /* "vfs_current_time..." */, FxProc: 0}, + {FzName: ts + 24309 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24330 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24352 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24374 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24395 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24420 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24446 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24473 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24499 /* "sqlite3_delete_d..." */, FxProc: 0}, + {FzName: ts + 24523 /* "atomic_batch_wri..." */, FxProc: 0}, + {FzName: ts + 24542 /* "sqlite3_mmap_war..." */, FxProc: 0}, + {FzName: ts + 24560 /* "sqlite3_config_s..." */, FxProc: 0}, + {FzName: ts + 24585 /* "decode_hexdb" */, FxProc: 0}, + {FzName: ts + 24598 /* "test_write_db" */, FxProc: 0}, + {FzName: ts + 24612 /* "sqlite3_register..." */, FxProc: 0}, + {FzName: ts + 24638 /* "sqlite3_unregist..." */, FxProc: 0}, } /* test1.c:8336:5 */ var bitmask_size int32 = (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8))) /* test1.c:8564:14 */ var longdouble_size int32 = int32(unsafe.Sizeof(float64(0))) /* test1.c:8565:14 */ -var query_plan uintptr = ts + 23890 /* "*** OBSOLETE VAR..." */ /* test1.c:8637:23 */ +var query_plan uintptr = ts + 24666 /* "*** OBSOLETE VAR..." */ /* test1.c:8637:23 */ // Page size and reserved size used for testing. var test_pagesize int32 = 1024 /* test2.c:31:12 */ @@ -52593,8 +54161,8 @@ func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [100]int8 at bp+92, 100 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23916 /* " FILENAME N-PAGE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24692 /* " FILENAME N-PAGE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72 /* &nPage */) != 0 { @@ -52610,7 +54178,7 @@ func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv sqlite3.Xsqlite3PagerSetCachesize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)), *(*int32)(unsafe.Pointer(bp + 72 /* nPage */))) *(*u32)(unsafe.Pointer(bp + 88 /* pageSize */)) = u32(test_pagesize) sqlite3.Xsqlite3PagerSetPagesize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)), bp+88 /* &pageSize */, -1) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+92 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+92 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+92 /* &zBuf[0] */, 0)) return TCL_OK } @@ -52625,8 +54193,8 @@ func pager_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52648,8 +54216,8 @@ func pager_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52671,8 +54239,8 @@ func pager_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52699,8 +54267,8 @@ func pager_stmt_begin(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52722,8 +54290,8 @@ func pager_stmt_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52746,8 +54314,8 @@ func pager_stmt_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52770,8 +54338,8 @@ func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var i int32 var a uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52787,8 +54355,8 @@ func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg } var zName = [9]uintptr{ - ts + 23939 /* "ref" */, ts + 23943 /* "page" */, ts + 17912 /* "max" */, ts + 11491 /* "size" */, ts + 10193 /* "state" */, ts + 23948, /* "err" */ - ts + 23952 /* "hit" */, ts + 23956 /* "miss" */, ts + 23961, /* "ovfl" */ + ts + 24715 /* "ref" */, ts + 24719 /* "page" */, ts + 18693 /* "max" */, ts + 12279 /* "size" */, ts + 10193 /* "state" */, ts + 24724, /* "err" */ + ts + 24728 /* "hit" */, ts + 24732 /* "miss" */, ts + 24737, /* "ovfl" */ } /* test2.c:266:17 */ // Usage: pager_pagecount ID @@ -52804,8 +54372,8 @@ func pager_pagecount(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var nPage int32 at bp+56, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52830,8 +54398,8 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23966 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24742 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52846,7 +54414,7 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPage */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPage */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &zBuf[0] */, 0)) return TCL_OK } @@ -52866,8 +54434,8 @@ func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // var pgno int32 at bp+56, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23966 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24742 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52876,7 +54444,7 @@ func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg } pPage = sqlite3.Xsqlite3PagerLookup(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 56 /* pgno */)))) if pPage != 0 { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+32, pPage)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+32, pPage)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+60 /* &zBuf[0] */, 0)) } return TCL_OK @@ -52891,8 +54459,8 @@ func pager_truncate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var pgno int32 at bp+32, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23966 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24742 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52912,8 +54480,8 @@ func page_unref(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23976 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24752 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52932,8 +54500,8 @@ func page_read(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23976 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24752 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52953,8 +54521,8 @@ func page_number(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23976 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24752 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52974,8 +54542,8 @@ func page_write(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pData uintptr var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23983 /* " PAGE DATA\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24759 /* " PAGE DATA\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -53010,8 +54578,8 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var zFile uintptr var nFile int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23995 /* " N-MEGABYTES FIL..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24771 /* " N-MEGABYTES FIL..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80 /* &n */) != 0 { @@ -53029,17 +54597,17 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a rc = sqlite3.Xsqlite3OsOpenMalloc(tls, pVfs, zFile, bp+88, /* &fd */ ((SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_MAIN_DB), uintptr(0)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24014 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24790 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) sqlite3.Xsqlite3_free(tls, zFile) return TCL_ERROR } offset = i64(*(*int32)(unsafe.Pointer(bp + 80 /* n */))) offset = offset * (int64(1024 * 1024)) - rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* fd */)), ts+24028 /* "Hello, World!" */, 14, offset) + rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* fd */)), ts+24804 /* "Hello, World!" */, 14, offset) sqlite3.Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* fd */))) sqlite3.Xsqlite3_free(tls, zFile) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+24042 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+24818 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -53056,8 +54624,8 @@ func testPendingByte(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24057 /* " PENDING-BYTE\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24833 /* " PENDING-BYTE\"" */, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &pbyte */) != 0 { @@ -53083,7 +54651,7 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ var isNeg int32 var rc int32 if x == 0 { - libc.Xmemcpy(tls, (faultSimScript + uintptr(faultSimScriptSize)), ts+13873 /* "0" */, uint64(2)) + libc.Xmemcpy(tls, (faultSimScript + uintptr(faultSimScriptSize)), ts+14654 /* "0" */, uint64(2)) } else { // Convert x to text without using any sqlite3 routines if x < 0 { @@ -53117,7 +54685,7 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ } rc = tcl.XTcl_Eval(tls, faultSimInterp, faultSimScript) if rc != 0 { - libc.Xfprintf(tls, libc.Xstderr, ts+24072 /* "fault simulator ..." */, libc.VaList(bp, faultSimScript)) + libc.Xfprintf(tls, libc.Xstderr, ts+24848 /* "fault simulator ..." */, libc.VaList(bp, faultSimScript)) rc = SQLITE_ERROR } else { rc = libc.Xatoi(tls, tcl.XTcl_GetStringResult(tls, faultSimInterp)) @@ -53139,8 +54707,8 @@ func faultInstallCmd(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var nScript int32 var rc int32 if (argc != 1) && (argc != 2) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24108 /* " SCRIPT\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24884 /* " SCRIPT\"" */, uintptr(0))) } if argc == 2 { zScript = *(*uintptr)(unsafe.Pointer(argv + 1*8)) @@ -53186,8 +54754,8 @@ func testBitvecBuiltinTest(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24117 /* " SIZE PROGRAM\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24893 /* " SIZE PROGRAM\"" */, uintptr(0))) } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &sz */) != 0 { return TCL_ERROR @@ -53220,19 +54788,19 @@ func Sqlitetest2_Init(tls *libc.TLS, interp uintptr) int32 { /* test2.c:697:5: * }{}))); i++ { tcl.XTcl_CreateCommand(tls, interp, aCmd2[i].FzName, aCmd2[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+24132, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24908, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_pending)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24156, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24932, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_persist)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24180, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24956, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hit)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24200, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24976, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hardhit)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24224, /* "sqlite_diskfull_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25000, /* "sqlite_diskfull_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull_pending)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24248, /* "sqlite_diskfull" */ + tcl.XTcl_LinkVar(tls, interp, ts+25024, /* "sqlite_diskfull" */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24264, /* "sqlite_pending_b..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25040, /* "sqlite_pending_b..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3PendingByte)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) return TCL_OK } @@ -53241,26 +54809,26 @@ var aCmd2 = [20]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 24284 /* "pager_open" */, FxProc: 0}, - {FzName: ts + 24295 /* "pager_close" */, FxProc: 0}, - {FzName: ts + 24307 /* "pager_commit" */, FxProc: 0}, - {FzName: ts + 24320 /* "pager_rollback" */, FxProc: 0}, - {FzName: ts + 24335 /* "pager_stmt_begin" */, FxProc: 0}, - {FzName: ts + 24352 /* "pager_stmt_commi..." */, FxProc: 0}, - {FzName: ts + 24370 /* "pager_stmt_rollb..." */, FxProc: 0}, - {FzName: ts + 24390 /* "pager_stats" */, FxProc: 0}, - {FzName: ts + 24402 /* "pager_pagecount" */, FxProc: 0}, - {FzName: ts + 24418 /* "page_get" */, FxProc: 0}, - {FzName: ts + 24427 /* "page_lookup" */, FxProc: 0}, - {FzName: ts + 24439 /* "page_unref" */, FxProc: 0}, - {FzName: ts + 24450 /* "page_read" */, FxProc: 0}, - {FzName: ts + 24460 /* "page_write" */, FxProc: 0}, - {FzName: ts + 24471 /* "page_number" */, FxProc: 0}, - {FzName: ts + 24483 /* "pager_truncate" */, FxProc: 0}, - {FzName: ts + 24498 /* "fake_big_file" */, FxProc: 0}, - {FzName: ts + 24512 /* "sqlite3BitvecBui..." */, FxProc: 0}, - {FzName: ts + 24537 /* "sqlite3_test_con..." */, FxProc: 0}, - {FzName: ts + 24571 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 25060 /* "pager_open" */, FxProc: 0}, + {FzName: ts + 25071 /* "pager_close" */, FxProc: 0}, + {FzName: ts + 25083 /* "pager_commit" */, FxProc: 0}, + {FzName: ts + 25096 /* "pager_rollback" */, FxProc: 0}, + {FzName: ts + 25111 /* "pager_stmt_begin" */, FxProc: 0}, + {FzName: ts + 25128 /* "pager_stmt_commi..." */, FxProc: 0}, + {FzName: ts + 25146 /* "pager_stmt_rollb..." */, FxProc: 0}, + {FzName: ts + 25166 /* "pager_stats" */, FxProc: 0}, + {FzName: ts + 25178 /* "pager_pagecount" */, FxProc: 0}, + {FzName: ts + 25194 /* "page_get" */, FxProc: 0}, + {FzName: ts + 25203 /* "page_lookup" */, FxProc: 0}, + {FzName: ts + 25215 /* "page_unref" */, FxProc: 0}, + {FzName: ts + 25226 /* "page_read" */, FxProc: 0}, + {FzName: ts + 25236 /* "page_write" */, FxProc: 0}, + {FzName: ts + 25247 /* "page_number" */, FxProc: 0}, + {FzName: ts + 25259 /* "pager_truncate" */, FxProc: 0}, + {FzName: ts + 25274 /* "fake_big_file" */, FxProc: 0}, + {FzName: ts + 25288 /* "sqlite3BitvecBui..." */, FxProc: 0}, + {FzName: ts + 25313 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 25347 /* "sqlite3_test_con..." */, FxProc: 0}, } /* test2.c:707:5 */ // 2001 September 15 @@ -54037,8 +55605,8 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var n int32 var zFilename uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24606 /* " FILENAME NCACHE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25382 /* " FILENAME NCACHE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72 /* &nCache */) != 0 { @@ -54065,7 +55633,7 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv return TCL_ERROR } sqlite3.Xsqlite3BtreeSetCacheSize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pBt */)), *(*int32)(unsafe.Pointer(bp + 72 /* nCache */))) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pBt */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pBt */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &zBuf[0] */, 0)) return TCL_OK } @@ -54080,8 +55648,8 @@ func btree_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pBt uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54110,8 +55678,8 @@ func btree_begin_transaction(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg var pBt uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54137,8 +55705,8 @@ func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var a uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54168,8 +55736,8 @@ func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 } var zName1 = [11]uintptr{ - ts + 23939 /* "ref" */, ts + 23943 /* "page" */, ts + 17912 /* "max" */, ts + 11491 /* "size" */, ts + 10193 /* "state" */, ts + 23948, /* "err" */ - ts + 23952 /* "hit" */, ts + 23956 /* "miss" */, ts + 23961 /* "ovfl" */, ts + 24630 /* "read" */, ts + 24635, /* "write" */ + ts + 24715 /* "ref" */, ts + 24719 /* "page" */, ts + 18693 /* "max" */, ts + 12279 /* "size" */, ts + 10193 /* "state" */, ts + 24724, /* "err" */ + ts + 24728 /* "hit" */, ts + 24732 /* "miss" */, ts + 24737 /* "ovfl" */, ts + 25406 /* "read" */, ts + 25411, /* "write" */ } /* test3.c:179:17 */ // Usage: btree_cursor ID TABLENUM WRITEABLE @@ -54189,8 +55757,8 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar // var zBuf [30]int8 at bp+80, 30 if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24641 /* " ID TABLENUM WRI..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25417 /* " ID TABLENUM WRI..." */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54218,7 +55786,7 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+80 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, pCur)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+80 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, pCur)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -54234,8 +55802,8 @@ func btree_close_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54271,8 +55839,8 @@ func btree_next(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54306,8 +55874,8 @@ func btree_first(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // var zBuf [100]int8 at bp+76, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54336,8 +55904,8 @@ func btree_eof(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [50]int8 at bp+56, 50 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54361,15 +55929,15 @@ func btree_payload_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var zBuf [50]int8 at bp+56, 50 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) n = sqlite3.Xsqlite3BtreePayloadSize(tls, pCur) sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56 /* &zBuf[0] */, ts+17449 /* "%u" */, libc.VaList(bp+32, n)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp+32, n)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+56 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -54408,8 +55976,8 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var zBuf [100]uint8 at bp+200, 100 if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24665 /* " START MULTIPLIE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25441 /* " START MULTIPLIE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+184 /* &start */) != 0 { @@ -54432,20 +56000,20 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 n1 = sqlite3.Xsqlite3PutVarint(tls, bp+200 /* &zBuf[0] */, in) if (n1 > 9) || (n1 < 1) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24700 /* "putVarint return..." */, libc.VaList(bp+32, n1)) + ts+25476 /* "putVarint return..." */, libc.VaList(bp+32, n1)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } n2 = int32(sqlite3.Xsqlite3GetVarint(tls, bp+200 /* &zBuf[0] */, bp+504 /* &out */)) if n1 != n2 { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24750 /* "putVarint return..." */, libc.VaList(bp+56, n1, n2)) + ts+25526 /* "putVarint return..." */, libc.VaList(bp+56, n1, n2)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } if in != *(*u64)(unsafe.Pointer(bp + 504 /* out */)) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24798 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+88, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) + ts+25574 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+88, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+104, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } @@ -54464,14 +56032,14 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 *(*u64)(unsafe.Pointer(bp + 504 /* out */)) = u64(*(*u32)(unsafe.Pointer(bp + 512 /* out32 */))) if n1 != n2 { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24837, /* "putVarint return..." */ + ts+25613, /* "putVarint return..." */ libc.VaList(bp+120, n1, n2)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+136, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } if in != *(*u64)(unsafe.Pointer(bp + 504 /* out */)) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24887, /* "Wrote 0x%016llx ..." */ + ts+25663, /* "Wrote 0x%016llx ..." */ libc.VaList(bp+152, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+168, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR @@ -54509,13 +56077,13 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var iDb int32 = 0 if (argc != 2) && (argc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24943 /* " DB-HANDLE ?N?\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25719 /* " DB-HANDLE ?N?\"" */, 0)) return TCL_ERROR } if 1 != tcl.XTcl_GetCommandInfo(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72 /* &info */) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24959 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25735 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+12415 /* "\"" */, 0)) return TCL_ERROR } if argc == 3 { @@ -54525,7 +56093,7 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 72 /* &info */)).FobjClientData)) pBt = (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpBt - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+136 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+64, pBt)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+136 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, pBt)) tcl.XTcl_SetResult(tls, interp, bp+136 /* &zBuf[0] */, uintptr(1)) return TCL_OK } @@ -54542,8 +56110,8 @@ func btree_ismemdb(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var pFile uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54570,7 +56138,7 @@ func btree_set_cache_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i if argc != 3 { tcl.XTcl_AppendResult(tls, - interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+24980 /* " BT NCACHE\"" */, 0)) + interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+25756 /* " BT NCACHE\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54599,7 +56167,7 @@ func btree_insert(tls *libc.TLS, clientData ClientData, interp uintptr, objc int // var x BtreePayload at bp+16, 48 if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+24992 /* "?-intkey? CSR KE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+25768 /* "?-intkey? CSR KE..." */) return TCL_ERROR } @@ -54641,7 +56209,7 @@ func Sqlitetest3_Init(tls *libc.TLS, interp uintptr) int32 { /* test3.c:661:5: * tcl.XTcl_CreateCommand(tls, interp, aCmd3[i].FzName, aCmd3[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_CreateObjCommand(tls, interp, ts+25016 /* "btree_insert" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+25792 /* "btree_insert" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{btree_insert})), uintptr(0), uintptr(0)) @@ -54652,20 +56220,20 @@ var aCmd3 = [14]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25029 /* "btree_open" */, FxProc: 0}, - {FzName: ts + 25040 /* "btree_close" */, FxProc: 0}, - {FzName: ts + 25052 /* "btree_begin_tran..." */, FxProc: 0}, - {FzName: ts + 25076 /* "btree_pager_stat..." */, FxProc: 0}, - {FzName: ts + 25094 /* "btree_cursor" */, FxProc: 0}, - {FzName: ts + 25107 /* "btree_close_curs..." */, FxProc: 0}, - {FzName: ts + 25126 /* "btree_next" */, FxProc: 0}, - {FzName: ts + 25137 /* "btree_eof" */, FxProc: 0}, - {FzName: ts + 25147 /* "btree_payload_si..." */, FxProc: 0}, - {FzName: ts + 25166 /* "btree_first" */, FxProc: 0}, - {FzName: ts + 25178 /* "btree_varint_tes..." */, FxProc: 0}, - {FzName: ts + 25196 /* "btree_from_db" */, FxProc: 0}, - {FzName: ts + 25210 /* "btree_ismemdb" */, FxProc: 0}, - {FzName: ts + 25224 /* "btree_set_cache_..." */, FxProc: 0}, + {FzName: ts + 25805 /* "btree_open" */, FxProc: 0}, + {FzName: ts + 25816 /* "btree_close" */, FxProc: 0}, + {FzName: ts + 25828 /* "btree_begin_tran..." */, FxProc: 0}, + {FzName: ts + 25852 /* "btree_pager_stat..." */, FxProc: 0}, + {FzName: ts + 25870 /* "btree_cursor" */, FxProc: 0}, + {FzName: ts + 25883 /* "btree_close_curs..." */, FxProc: 0}, + {FzName: ts + 25902 /* "btree_next" */, FxProc: 0}, + {FzName: ts + 25913 /* "btree_eof" */, FxProc: 0}, + {FzName: ts + 25923 /* "btree_payload_si..." */, FxProc: 0}, + {FzName: ts + 25942 /* "btree_first" */, FxProc: 0}, + {FzName: ts + 25954 /* "btree_varint_tes..." */, FxProc: 0}, + {FzName: ts + 25972 /* "btree_from_db" */, FxProc: 0}, + {FzName: ts + 25986 /* "btree_ismemdb" */, FxProc: 0}, + {FzName: ts + 26000 /* "btree_set_cache_..." */, FxProc: 0}, } /* test3.c:665:5 */ // end block for C++ @@ -55320,7 +56888,7 @@ func parse_thread_id(tls *libc.TLS, interp uintptr, zArg uintptr) int32 { /* tes defer tls.Free(16) if (((zArg == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zArg))) == 0)) || (int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0)) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zArg)))))*2))) & int32(_ISupper)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25245 /* "thread ID must b..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26021 /* "thread ID must b..." */, 0)) return -1 } return (int32(*(*int8)(unsafe.Pointer(zArg))) - 'A') @@ -55340,8 +56908,8 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25284 /* " ID FILENAME" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26060 /* " ID FILENAME" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55349,7 +56917,7 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if threadset[i].Fbusy != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25297 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+25305 /* " is already runn..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26073 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+26081 /* " is already runn..." */, 0)) return TCL_ERROR } threadset[i].Fbusy = 1 @@ -55361,7 +56929,7 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 f func(*libc.TLS, uintptr) uintptr }{test_thread_main})), (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+25325 /* "failed to create..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+26101 /* "failed to create..." */, 0)) sqlite3.Xsqlite3_free(tls, threadset[i].FzFilename) threadset[i].Fbusy = 0 return TCL_ERROR @@ -55387,8 +56955,8 @@ func tcl_thread_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55396,7 +56964,7 @@ func tcl_thread_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55427,8 +56995,8 @@ func tcl_thread_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } if (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*8))))) == '*') && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*8)) + 1))) == 0) { @@ -55443,7 +57011,7 @@ func tcl_thread_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_stop_thread(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55463,8 +57031,8 @@ func tcl_thread_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55472,7 +57040,7 @@ func tcl_thread_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55493,8 +57061,8 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55502,7 +57070,7 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &n */) != 0 { @@ -55510,7 +57078,7 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680 + 80 /* &.argv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*8)), 0)) @@ -55529,8 +57097,8 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55538,7 +57106,7 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &n */) != 0 { @@ -55546,7 +57114,7 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680 + 880 /* &.colv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*8)), 0)) @@ -55565,8 +57133,8 @@ func tcl_thread_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var zName uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55574,7 +57142,7 @@ func tcl_thread_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55594,8 +57162,8 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55603,7 +57171,7 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55614,7 +57182,7 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // This procedure runs in the thread to compile an SQL statement. func do_compile(tls *libc.TLS, p uintptr) { /* test4.c:419:13: */ if (*Thread)(unsafe.Pointer(p)).Fdb == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25405 /* "no database is o..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26181 /* "no database is o..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -55634,8 +57202,8 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25425 /* " ID SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26201 /* " ID SQL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55643,7 +57211,7 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55658,7 +57226,7 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int func do_step(tls *libc.TLS, p uintptr) { /* test4.c:466:13: */ var i int32 if (*Thread)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -55683,8 +57251,8 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55692,7 +57260,7 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55704,7 +57272,7 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // This procedure runs in the thread to finalize a virtual machine. func do_finalize(tls *libc.TLS, p uintptr) { /* test4.c:517:13: */ if (*Thread)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -55721,8 +57289,8 @@ func tcl_thread_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55730,7 +57298,7 @@ func tcl_thread_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55752,8 +57320,8 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var j int32 var temp uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25467 /* " ID1 ID2" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26243 /* " ID1 ID2" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55761,7 +57329,7 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55770,7 +57338,7 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[j].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(j)*1680)) @@ -55793,8 +57361,8 @@ func tcl_thread_db_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var zBuf [100]int8 at bp+64, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55802,7 +57370,7 @@ func tcl_thread_db_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55820,8 +57388,8 @@ func tcl_thread_db_put(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25476 /* " ID DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26252 /* " ID DB" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55829,7 +57397,7 @@ func tcl_thread_db_put(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55850,8 +57418,8 @@ func tcl_thread_stmt_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in // var zBuf [100]int8 at bp+64, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55859,7 +57427,7 @@ func tcl_thread_stmt_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55886,21 +57454,21 @@ var aCmd4 = [15]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25483 /* "thread_create" */, FxProc: 0}, - {FzName: ts + 25497 /* "thread_wait" */, FxProc: 0}, - {FzName: ts + 25509 /* "thread_halt" */, FxProc: 0}, - {FzName: ts + 25521 /* "thread_argc" */, FxProc: 0}, - {FzName: ts + 25533 /* "thread_argv" */, FxProc: 0}, - {FzName: ts + 25545 /* "thread_colname" */, FxProc: 0}, - {FzName: ts + 25560 /* "thread_result" */, FxProc: 0}, - {FzName: ts + 25574 /* "thread_error" */, FxProc: 0}, - {FzName: ts + 25587 /* "thread_compile" */, FxProc: 0}, - {FzName: ts + 25602 /* "thread_step" */, FxProc: 0}, - {FzName: ts + 25614 /* "thread_finalize" */, FxProc: 0}, - {FzName: ts + 25630 /* "thread_swap" */, FxProc: 0}, - {FzName: ts + 25642 /* "thread_db_get" */, FxProc: 0}, - {FzName: ts + 25656 /* "thread_db_put" */, FxProc: 0}, - {FzName: ts + 25670 /* "thread_stmt_get" */, FxProc: 0}, + {FzName: ts + 26259 /* "thread_create" */, FxProc: 0}, + {FzName: ts + 26273 /* "thread_wait" */, FxProc: 0}, + {FzName: ts + 26285 /* "thread_halt" */, FxProc: 0}, + {FzName: ts + 26297 /* "thread_argc" */, FxProc: 0}, + {FzName: ts + 26309 /* "thread_argv" */, FxProc: 0}, + {FzName: ts + 26321 /* "thread_colname" */, FxProc: 0}, + {FzName: ts + 26336 /* "thread_result" */, FxProc: 0}, + {FzName: ts + 26350 /* "thread_error" */, FxProc: 0}, + {FzName: ts + 26363 /* "thread_compile" */, FxProc: 0}, + {FzName: ts + 26378 /* "thread_step" */, FxProc: 0}, + {FzName: ts + 26390 /* "thread_finalize" */, FxProc: 0}, + {FzName: ts + 26406 /* "thread_swap" */, FxProc: 0}, + {FzName: ts + 26418 /* "thread_db_get" */, FxProc: 0}, + {FzName: ts + 26432 /* "thread_db_put" */, FxProc: 0}, + {FzName: ts + 26446 /* "thread_stmt_get" */, FxProc: 0}, } /* test4.c:700:5 */ // end block for C++ @@ -55987,8 +57555,8 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var val Mem at bp+40, 56 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+25686 /* " ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+26462 /* " ..." */, 0)) return TCL_ERROR } @@ -56000,7 +57568,7 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc } (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fflags = (u16((MEM_Str | MEM_Term) | MEM_Static)) - (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fz = ts + 25713 /* "hello world" */ + (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fz = ts + 26489 /* "hello world" */ (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fenc = u8(SQLITE_UTF8) for i = 0; i < *(*int32)(unsafe.Pointer(bp + 32 /* repeat_count */)); i++ { @@ -56017,10 +57585,10 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 defer tls.Free(104) *(*[5]EncName)(unsafe.Pointer(bp + 24 /* encnames */)) = [5]EncName{ - {FzName: ts + 25725 /* "UTF8" */, Fenc: u8(SQLITE_UTF8)}, - {FzName: ts + 25730 /* "UTF16LE" */, Fenc: u8(SQLITE_UTF16LE)}, - {FzName: ts + 25738 /* "UTF16BE" */, Fenc: u8(SQLITE_UTF16BE)}, - {FzName: ts + 25746 /* "UTF16" */, Fenc: u8(SQLITE_UTF16)}, + {FzName: ts + 26501 /* "UTF8" */, Fenc: u8(SQLITE_UTF8)}, + {FzName: ts + 26506 /* "UTF16LE" */, Fenc: u8(SQLITE_UTF16LE)}, + {FzName: ts + 26514 /* "UTF16BE" */, Fenc: u8(SQLITE_UTF16BE)}, + {FzName: ts + 26522 /* "UTF16" */, Fenc: u8(SQLITE_UTF16)}, {}, } var pEnc uintptr @@ -56031,7 +57599,7 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 } } if !(int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25752 /* "No such encoding..." */, z, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26528 /* "No such encoding..." */, z, 0)) } if int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) == SQLITE_UTF16 { return u8(SQLITE_UTF16LE) @@ -56060,9 +57628,9 @@ func test_translate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var xDel uintptr = uintptr(0) if (objc != 4) && (objc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), - ts+25771 /* " <..." */, 0)) + ts+26547 /* " <..." */, 0)) return TCL_ERROR } if objc == 5 { @@ -56131,10 +57699,10 @@ var aCmd5 = [4]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25806 /* "binarize" */, FxProc: 0}, - {FzName: ts + 25815 /* "test_value_overh..." */, FxProc: 0}, - {FzName: ts + 25835 /* "test_translate" */, FxProc: 0}, - {FzName: ts + 25850 /* "translate_selfte..." */, FxProc: 0}, + {FzName: ts + 26582 /* "binarize" */, FxProc: 0}, + {FzName: ts + 26591 /* "test_value_overh..." */, FxProc: 0}, + {FzName: ts + 26611 /* "test_translate" */, FxProc: 0}, + {FzName: ts + 26626 /* "translate_selfte..." */, FxProc: 0}, } /* test5.c:209:5 */ // end block for C++ @@ -56388,7 +57956,7 @@ func writeListAppend(tls *libc.TLS, pFile uintptr, iOffset sqlite3_int64, zBuf u pNew = crash_malloc(tls, (int32(uint64(unsafe.Sizeof(WriteBuffer{})) + uint64(nBuf)))) if pNew == uintptr(0) { - libc.Xfprintf(tls, libc.Xstderr, ts+25869 /* "out of memory in..." */, 0) + libc.Xfprintf(tls, libc.Xstderr, ts+26645 /* "out of memory in..." */, 0) } libc.Xmemset(tls, pNew, 0, (uint64(unsafe.Sizeof(WriteBuffer{})) + uint64(nBuf))) (*WriteBuffer)(unsafe.Pointer(pNew)).FiOffset = iOffset @@ -56706,19 +58274,19 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, defer tls.Free(316) *(*[14]DeviceFlag)(unsafe.Pointer(bp + 88 /* aFlag */)) = [14]DeviceFlag{ - {FzName: ts + 25907 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, - {FzName: ts + 25914 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, - {FzName: ts + 25924 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, - {FzName: ts + 25933 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, - {FzName: ts + 25942 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, - {FzName: ts + 25951 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, - {FzName: ts + 25960 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, - {FzName: ts + 25970 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, - {FzName: ts + 25980 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, - {FzName: ts + 25990 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, - {FzName: ts + 26001 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, - {FzName: ts + 26013 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, - {FzName: ts + 26033 /* "batch-atomic" */, FiValue: SQLITE_IOCAP_BATCH_ATOMIC}, + {FzName: ts + 26683 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, + {FzName: ts + 26690 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, + {FzName: ts + 26700 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, + {FzName: ts + 26709 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, + {FzName: ts + 26718 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, + {FzName: ts + 26727 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, + {FzName: ts + 26736 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, + {FzName: ts + 26746 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, + {FzName: ts + 26756 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, + {FzName: ts + 26766 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, + {FzName: ts + 26777 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, + {FzName: ts + 26789 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, + {FzName: ts + 26809 /* "batch-atomic" */, FiValue: SQLITE_IOCAP_BATCH_ATOMIC}, {}, } var i int32 @@ -56732,15 +58300,15 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, var zOpt uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+64 /* &nOpt */) - if (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26046 /* "-sectorsize" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) && - (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26058 /* "-characteristics" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) { + if (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26822 /* "-sectorsize" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) && + (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26834 /* "-characteristics" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+26075 /* "Bad option: \"" */, zOpt, - ts+26089 /* "\" - must be \"-ch..." */, 0)) + libc.VaList(bp, ts+26851 /* "Bad option: \"" */, zOpt, + ts+26865 /* "\" - must be \"-ch..." */, 0)) return TCL_ERROR } if i == (objc - 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26137 /* "Option requires ..." */, zOpt, ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26913 /* "Option requires ..." */, zOpt, ts+12415 /* "\"" */, 0)) return TCL_ERROR } @@ -56767,7 +58335,7 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, tcl.XTcl_UtfToLower(tls, tcl.XTcl_GetString(tls, pFlag)) rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, pFlag, bp+88 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+26168 /* "no such flag" */, 0, bp+312 /* &iChoice */) + interp, pFlag, bp+88 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+26944 /* "no such flag" */, 0, bp+312 /* &iChoice */) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pFlag if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -56827,7 +58395,7 @@ func crashEnableCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 *(*int32)(unsafe.Pointer(bp + 4 /* isDefault */)) = 0 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26181 /* "ENABLE ?DEFAULT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26957 /* "ENABLE ?DEFAULT?" */) return TCL_ERROR } @@ -56858,7 +58426,7 @@ func crashEnableCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var crashVfs = sqlite3_vfs{ FiVersion: 2, // pNext - FzName: ts + 26198, /* "crash" */ // pAppData + FzName: ts + 26974, /* "crash" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -56909,7 +58477,7 @@ func crashParamsObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc i if !(objc < 3) { goto __1 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26204 /* "?OPTIONS? DELAY ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26980 /* "?OPTIONS? DELAY ..." */) goto error __1: ; @@ -56918,7 +58486,7 @@ __1: if !(uint64(*(*int32)(unsafe.Pointer(bp + 32 /* nCrashFile */))) >= uint64(unsafe.Sizeof([500]int8{}))) { goto __2 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26230 /* "Filename is too ..." */, zCrashFile, ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27006 /* "Filename is too ..." */, zCrashFile, ts+12415 /* "\"" */, 0)) goto error __2: ; @@ -56981,7 +58549,7 @@ func writeCrashObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc in *(*int32)(unsafe.Pointer(bp /* nWrite */)) = 0 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26254 /* "NWRITE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27030 /* "NWRITE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nWrite */) != 0 { @@ -57012,14 +58580,14 @@ func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj var zParent uintptr = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26261 /* "?-default? PAREN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27037 /* "?-default? PAREN..." */) return TCL_ERROR } zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) if objc == 3 { - if libc.Xstrcmp(tls, zParent, ts+26283 /* "-default" */) != 0 { + if libc.Xstrcmp(tls, zParent, ts+27059 /* "-default" */) != 0 { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+11533 /* "bad option \"" */, zParent, ts+26292 /* "\": must be -defa..." */, 0)) + libc.VaList(bp, ts+12321 /* "bad option \"" */, zParent, ts+27068 /* "\": must be -defa..." */, 0)) return TCL_ERROR } zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) @@ -57029,7 +58597,7 @@ func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj zParent = uintptr(0) } if jt_register(tls, zParent, (libc.Bool32(objc == 3))) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26312 /* "Error in jt_regi..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+27088 /* "Error in jt_regi..." */, 0)) return TCL_ERROR } @@ -57050,28 +58618,28 @@ func jtUnregisterObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc // This procedure registers the TCL procedures defined in this file. func Sqlitetest6_Init(tls *libc.TLS, interp uintptr) int32 { /* test6.c:1093:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+26333 /* "sqlite3_crash_en..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27109 /* "sqlite3_crash_en..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashEnableCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26354 /* "sqlite3_crashpar..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27130 /* "sqlite3_crashpar..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashParamsObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26374 /* "sqlite3_crash_no..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27150 /* "sqlite3_crash_no..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashNowCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26392 /* "sqlite3_simulate..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27168 /* "sqlite3_simulate..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{devSymObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26416 /* "sqlite3_crash_on..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27192 /* "sqlite3_crash_on..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{writeCrashObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26439 /* "unregister_devsi..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27215 /* "unregister_devsi..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{dsUnregisterObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26457 /* "register_jt_vfs" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27233 /* "register_jt_vfs" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{jtObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26473 /* "unregister_jt_vf..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27249 /* "unregister_jt_vf..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{jtUnregisterObjCmd})), uintptr(0), uintptr(0)) return TCL_OK @@ -57156,7 +58724,7 @@ func parse_client_id(tls *libc.TLS, interp uintptr, zArg uintptr) int32 { /* tes defer tls.Free(16) if (((zArg == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zArg))) == 0)) || (int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0)) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zArg)))))*2))) & int32(_ISupper)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25245 /* "thread ID must b..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26021 /* "thread ID must b..." */, 0)) return -1 } return (int32(*(*int8)(unsafe.Pointer(zArg))) - 'A') @@ -57176,8 +58744,8 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25284 /* " ID FILENAME" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26060 /* " ID FILENAME" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57185,7 +58753,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if threadset1[i].Fbusy != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25297 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+25305 /* " is already runn..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26073 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+26081 /* " is already runn..." */, 0)) return TCL_ERROR } threadset1[i].Fbusy = 1 @@ -57197,7 +58765,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 f func(*libc.TLS, uintptr) uintptr }{client_main})), (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+25325 /* "failed to create..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+26101 /* "failed to create..." */, 0)) sqlite3.Xsqlite3_free(tls, threadset1[i].FzFilename) threadset1[i].Fbusy = 0 return TCL_ERROR @@ -57227,8 +58795,8 @@ func tcl_client_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57236,7 +58804,7 @@ func tcl_client_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57267,8 +58835,8 @@ func tcl_client_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } if (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*8))))) == '*') && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*8)) + 1))) == 0) { @@ -57283,7 +58851,7 @@ func tcl_client_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } stop_thread(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57318,8 +58886,8 @@ func tcl_client_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57327,7 +58895,7 @@ func tcl_client_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57348,8 +58916,8 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57357,7 +58925,7 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &n */) != 0 { @@ -57365,7 +58933,7 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset1[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688 + 80 /* &.argv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*8)), 0)) @@ -57384,8 +58952,8 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57393,7 +58961,7 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &n */) != 0 { @@ -57401,7 +58969,7 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset1[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688 + 880 /* &.colv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*8)), 0)) @@ -57420,8 +58988,8 @@ func tcl_client_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var zName uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57429,7 +58997,7 @@ func tcl_client_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57449,8 +59017,8 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57458,7 +59026,7 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57469,7 +59037,7 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // This procedure runs in the thread to compile an SQL statement. func do_compile1(tls *libc.TLS, p uintptr) { /* test7.c:466:13: */ if (*Thread1)(unsafe.Pointer(p)).Fdb == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25405 /* "no database is o..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26181 /* "no database is o..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57489,8 +59057,8 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25425 /* " ID SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26201 /* " ID SQL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57498,7 +59066,7 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57513,7 +59081,7 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int func do_step1(tls *libc.TLS, p uintptr) { /* test7.c:513:13: */ var i int32 if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57538,8 +59106,8 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57547,7 +59115,7 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57559,7 +59127,7 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // This procedure runs in the thread to finalize a virtual machine. func do_finalize1(tls *libc.TLS, p uintptr) { /* test7.c:564:13: */ if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57576,8 +59144,8 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57585,7 +59153,7 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57599,7 +59167,7 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in // This procedure runs in the thread to reset a virtual machine. func do_reset(tls *libc.TLS, p uintptr) { /* test7.c:608:13: */ if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57616,8 +59184,8 @@ func tcl_client_reset(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57625,7 +59193,7 @@ func tcl_client_reset(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57647,8 +59215,8 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var j int32 var temp uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25467 /* " ID1 ID2" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26243 /* " ID1 ID2" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57656,7 +59224,7 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57665,7 +59233,7 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[j].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(j)*1688)) @@ -57692,19 +59260,19 @@ var aCmd6 = [13]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 26491 /* "client_create" */, FxProc: 0}, - {FzName: ts + 26505 /* "client_wait" */, FxProc: 0}, - {FzName: ts + 26517 /* "client_halt" */, FxProc: 0}, - {FzName: ts + 26529 /* "client_argc" */, FxProc: 0}, - {FzName: ts + 26541 /* "client_argv" */, FxProc: 0}, - {FzName: ts + 26553 /* "client_colname" */, FxProc: 0}, - {FzName: ts + 26568 /* "client_result" */, FxProc: 0}, - {FzName: ts + 26582 /* "client_error" */, FxProc: 0}, - {FzName: ts + 26595 /* "client_compile" */, FxProc: 0}, - {FzName: ts + 26610 /* "client_step" */, FxProc: 0}, - {FzName: ts + 26622 /* "client_reset" */, FxProc: 0}, - {FzName: ts + 26635 /* "client_finalize" */, FxProc: 0}, - {FzName: ts + 26651 /* "client_swap" */, FxProc: 0}, + {FzName: ts + 27267 /* "client_create" */, FxProc: 0}, + {FzName: ts + 27281 /* "client_wait" */, FxProc: 0}, + {FzName: ts + 27293 /* "client_halt" */, FxProc: 0}, + {FzName: ts + 27305 /* "client_argc" */, FxProc: 0}, + {FzName: ts + 27317 /* "client_argv" */, FxProc: 0}, + {FzName: ts + 27329 /* "client_colname" */, FxProc: 0}, + {FzName: ts + 27344 /* "client_result" */, FxProc: 0}, + {FzName: ts + 27358 /* "client_error" */, FxProc: 0}, + {FzName: ts + 27371 /* "client_compile" */, FxProc: 0}, + {FzName: ts + 27386 /* "client_step" */, FxProc: 0}, + {FzName: ts + 27398 /* "client_reset" */, FxProc: 0}, + {FzName: ts + 27411 /* "client_finalize" */, FxProc: 0}, + {FzName: ts + 27427 /* "client_swap" */, FxProc: 0}, } /* test7.c:694:5 */ // end block for C++ @@ -57828,10 +59396,10 @@ func simulateVtabError(tls *libc.TLS, p uintptr, zMethod uintptr) int32 { /* tes // var zVarname [128]int8 at bp+24, 128 *(*int8)(unsafe.Pointer(bp + 24 /* &zVarname[0] */ + 127)) = int8(0) - sqlite3.Xsqlite3_snprintf(tls, 127, bp+24 /* &zVarname[0] */, ts+26663 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) + sqlite3.Xsqlite3_snprintf(tls, 127, bp+24 /* &zVarname[0] */, ts+27439 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) zErr = tcl.XTcl_GetVar2(tls, (*echo_vtab)(unsafe.Pointer(p)).Finterp, bp+24 /* &zVarname[0] */, uintptr(0), TCL_GLOBAL_ONLY) if zErr != 0 { - (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26687 /* "echo-vtab-error:..." */, libc.VaList(bp+16, zErr)) + (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27463 /* "echo-vtab-error:..." */, libc.VaList(bp+16, zErr)) } return (libc.Bool32(zErr != uintptr(0))) } @@ -57915,7 +59483,7 @@ func getColumnNames(tls *libc.TLS, db uintptr, zTab uintptr, paCol uintptr, pnCo // Prepare the statement "SELECT * FROM ". The column names // of the result set of the compiled SELECT will be the same as // the column names of table . - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26707 /* "SELECT * FROM %Q" */, libc.VaList(bp, zTab)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27483 /* "SELECT * FROM %Q" */, libc.VaList(bp, zTab)) if !(!(zSql != 0)) { goto __1 } @@ -58032,7 +59600,7 @@ __1: ; // Compile an sqlite pragma to loop through all indices on table zTab - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26724 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTab)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27500 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTab)) if !(!(zSql != 0)) { goto __2 } @@ -58057,7 +59625,7 @@ __3: goto __3 __5: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26746 /* "PRAGMA index_inf..." */, libc.VaList(bp+8, zIdx)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27522 /* "PRAGMA index_inf..." */, libc.VaList(bp+8, zIdx)) if !(!(zSql != 0)) { goto __6 } @@ -58119,7 +59687,7 @@ __12: // the string element zArg to that list in interpreter interp. func appendToEchoModule(tls *libc.TLS, interp uintptr, zArg uintptr) { /* test8.c:313:13: */ var flags int32 = ((TCL_APPEND_VALUE | TCL_LIST_ELEMENT) | TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+26768 /* "echo_module" */, uintptr(0), func() uintptr { + tcl.XTcl_SetVar2(tls, interp, ts+27544 /* "echo_module" */, uintptr(0), func() uintptr { if zArg != 0 { return zArg } @@ -58151,7 +59719,7 @@ func echoDeclareVtab(tls *libc.TLS, pVtab uintptr, db uintptr) int32 { /* test8. if (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0 { *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) = uintptr(0) rc = sqlite3.Xsqlite3_prepare(tls, db, - ts+26780, /* "SELECT sql FROM ..." */ + ts+27556, /* "SELECT sql FROM ..." */ -1, bp /* &pStmt */, uintptr(0)) if rc == SQLITE_OK { sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 1, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName, -1, uintptr(0)) @@ -58232,7 +59800,7 @@ func echoConstructor(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) dequoteString(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) if ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0) && (int32(*(*int8)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))) == '*') { - var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+26844 /* "%s%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) + var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27620 /* "%s%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) sqlite3.Xsqlite3_free(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = z (*echo_vtab)(unsafe.Pointer(pVtab)).FisPattern = 1 @@ -58268,7 +59836,7 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt defer tls.Free(24) var rc int32 = SQLITE_OK - appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+26849 /* "xCreate" */) + appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27625 /* "xCreate" */) rc = echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr) // If there were two arguments passed to the module at the SQL level @@ -58284,7 +59852,7 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt var zSql uintptr var pVtab uintptr = *(*uintptr)(unsafe.Pointer(ppVtab)) (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 4*8)))) - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26857 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+8, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27633 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+8, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { @@ -58306,13 +59874,13 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt // Echo virtual table module xConnect method. func echoConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* test8.c:513:12: */ - appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+26881 /* "xConnect" */) + appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27657 /* "xConnect" */) return echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr) } // Echo virtual table module xDisconnect method. func echoDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:527:12: */ - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26890 /* "xDisconnect" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27666 /* "xDisconnect" */) return echoDestructor(tls, pVtab) } @@ -58323,12 +59891,12 @@ func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:535:12: */ var rc int32 = SQLITE_OK var p uintptr = pVtab - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26902 /* "xDestroy" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27678 /* "xDestroy" */) // Drop the "log" table, if one exists (see echoCreate() for details) if (p != 0) && ((*echo_vtab)(unsafe.Pointer(p)).FzLogName != 0) { var zSql uintptr - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26911 /* "DROP TABLE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzLogName)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27687 /* "DROP TABLE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzLogName)) rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) } @@ -58342,7 +59910,7 @@ func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:535:12: */ // Echo virtual table module xOpen method. func echoOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* test8.c:557:12: */ var pCur uintptr - if simulateVtabError(tls, pVTab, ts+26925 /* "xOpen" */) != 0 { + if simulateVtabError(tls, pVTab, ts+27701 /* "xOpen" */) != 0 { return SQLITE_ERROR } pCur = sqlite3.Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(echo_cursor{}))) @@ -58382,7 +59950,7 @@ func echoNext(tls *libc.TLS, cur uintptr) int32 { /* test8.c:591:12: */ var rc int32 = SQLITE_OK var pCur uintptr = cur - if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+26931 /* "xNext" */) != 0 { + if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27707 /* "xNext" */) != 0 { return SQLITE_ERROR } @@ -58404,7 +59972,7 @@ func echoColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* tes var iCol int32 = (i + 1) var pStmt uintptr = (*echo_cursor)(unsafe.Pointer(cur)).FpStmt - if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+26937 /* "xColumn" */) != 0 { + if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27713 /* "xColumn" */) != 0 { return SQLITE_ERROR } @@ -58454,14 +60022,14 @@ func echoFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr var pVtab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab var db uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Fdb - if simulateVtabError(tls, pVtab, ts+26945 /* "xFilter" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27721 /* "xFilter" */) != 0 { return SQLITE_ERROR } // Check that idxNum matches idxStr // Log arguments to the ::echo_module Tcl variable - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26945 /* "xFilter" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27721 /* "xFilter" */) appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, idxStr) for i = 0; i < argc; i++ { appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) @@ -58511,7 +60079,7 @@ func string_concat(tls *libc.TLS, pzStr uintptr, zAppend uintptr, doFree int32, } else { if zIn != 0 { var zTemp uintptr = zIn - zIn = sqlite3.Xsqlite3_mprintf(tls, ts+26844 /* "%s%s" */, libc.VaList(bp, zIn, zAppend)) + zIn = sqlite3.Xsqlite3_mprintf(tls, ts+27620 /* "%s%s" */, libc.VaList(bp, zIn, zAppend)) sqlite3.Xsqlite3_free(tls, zTemp) } else { zIn = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zAppend)) @@ -58540,7 +60108,7 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* var zRet uintptr = uintptr(0) if sqlite3.Xsqlite3_libversion_number(tls) < 3010000 { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26953 /* ", *" */, 0) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27729 /* ", *" */, 0) } else { var i int32 for i = 0; i < (*echo_vtab)(unsafe.Pointer(pTab)).FnCol; i++ { @@ -58550,9 +60118,9 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* } return i }()))) != 0 { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26957 /* "%z, %s" */, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*8)))) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27733 /* "%z, %s" */, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*8)))) } else { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26964 /* "%z, NULL" */, libc.VaList(bp+16, zRet)) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27740 /* "%z, NULL" */, libc.VaList(bp+16, zRet)) } if !(zRet != 0) { break @@ -58602,11 +60170,11 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test var useCost int32 = 0 var cost float64 = float64(0) var isIgnoreUsable int32 = 0 - if tcl.XTcl_GetVar2(tls, interp, ts+26973 /* "echo_module_igno..." */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { + if tcl.XTcl_GetVar2(tls, interp, ts+27749 /* "echo_module_igno..." */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { isIgnoreUsable = 1 } - if simulateVtabError(tls, pVtab, ts+26999 /* "xBestIndex" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27775 /* "xBestIndex" */) != 0 { return SQLITE_ERROR } @@ -58614,11 +60182,11 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test // variable nRow. The 'estimated-cost' of the scan will be the number of // rows in the table for a linear scan, or the log (base 2) of the // number of rows if the proposed scan uses an index. - if tcl.XTcl_GetVar2(tls, interp, ts+27010 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { - cost = libc.Xatof(tls, tcl.XTcl_GetVar2(tls, interp, ts+27010 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY)) + if tcl.XTcl_GetVar2(tls, interp, ts+27786 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { + cost = libc.Xatof(tls, tcl.XTcl_GetVar2(tls, interp, ts+27786 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY)) useCost = 1 } else { - *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27027 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27803 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) != 0) { return SQLITE_NOMEM } @@ -58639,7 +60207,7 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if !(zCol != 0) { return SQLITE_NOMEM } - *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27051 /* "SELECT rowid%z F..." */, libc.VaList(bp+8, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27827 /* "SELECT rowid%z F..." */, libc.VaList(bp+8, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) != 0) { return SQLITE_NOMEM } @@ -58662,29 +60230,29 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if iCol >= 0 { zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*8)) } else { - zNewCol = ts + 27074 /* "rowid" */ + zNewCol = ts + 27850 /* "rowid" */ } var zOp uintptr = uintptr(0) useIdx = 1 switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) { case SQLITE_INDEX_CONSTRAINT_EQ: - zOp = ts + 27080 /* "=" */ + zOp = ts + 27856 /* "=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LT: - zOp = ts + 27082 /* "<" */ + zOp = ts + 27858 /* "<" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GT: - zOp = ts + 27084 /* ">" */ + zOp = ts + 27860 /* ">" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LE: - zOp = ts + 27086 /* "<=" */ + zOp = ts + 27862 /* "<=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GE: - zOp = ts + 27089 /* ">=" */ + zOp = ts + 27865 /* ">=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_MATCH: @@ -58694,15 +60262,15 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test // of code requires the first letter of this operator to be // in upper-case to trigger the special MATCH handling (i.e. // wrapping the bound parameter with literal '%'s). - zOp = ts + 27092 /* "LIKE" */ + zOp = ts + 27868 /* "LIKE" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LIKE: - zOp = ts + 27097 /* "like" */ + zOp = ts + 27873 /* "like" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GLOB: - zOp = ts + 27102 /* "glob" */ + zOp = ts + 27878 /* "glob" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_REGEXP: @@ -58711,10 +60279,10 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test } if zOp != 0 { if int32(*(*int8)(unsafe.Pointer(zOp))) == 'L' { - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27107, /* " %s %s LIKE (SEL..." */ + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27883, /* " %s %s LIKE (SEL..." */ libc.VaList(bp+24, zSep, zNewCol)) } else { - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27142 /* " %s %s %s ?" */, libc.VaList(bp+40, zSep, zNewCol, zOp)) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27918 /* " %s %s %s ?" */, libc.VaList(bp+40, zSep, zNewCol, zOp)) } string_concat(tls, bp+88 /* &zQuery */, zNew, 1, bp+96 /* &rc */) zSep = ts + 8865 /* "AND" */ @@ -58733,20 +60301,20 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if iCol >= 0 { zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*8)) } else { - zNewCol = ts + 27074 /* "rowid" */ + zNewCol = ts + 27850 /* "rowid" */ } var zDir uintptr if (*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).Fdesc != 0 { - zDir = ts + 27154 /* "DESC" */ + zDir = ts + 27930 /* "DESC" */ } else { - zDir = ts + 27159 /* "ASC" */ + zDir = ts + 27935 /* "ASC" */ } - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27163 /* " ORDER BY %s %s" */, libc.VaList(bp+64, zNewCol, zDir)) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27939 /* " ORDER BY %s %s" */, libc.VaList(bp+64, zNewCol, zDir)) string_concat(tls, bp+88 /* &zQuery */, zNew, 1, bp+96 /* &rc */) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1 } - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26999 /* "xBestIndex" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27775 /* "xBestIndex" */) appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */))) @@ -58800,14 +60368,14 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid // Ticket #3083 - make sure we always start a transaction prior to // making any changes to a virtual table - if simulateVtabError(tls, pVtab, ts+27179 /* "xUpdate" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27955 /* "xUpdate" */) != 0 { return SQLITE_ERROR } // If apData[0] is an integer and nData>1 then do an UPDATE if (nData > 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { - var zSep uintptr = ts + 27187 /* " SET" */ - *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27192 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + var zSep uintptr = ts + 27963 /* " SET" */ + *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27968 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) != 0) { *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM } @@ -58816,7 +60384,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid bindArgZero = 1 if bindArgOne != 0 { - string_concat(tls, bp+96 /* &z */, ts+27202 /* " SET rowid=?1 " */, 0, bp+104 /* &rc */) + string_concat(tls, bp+96 /* &z */, ts+27978 /* " SET rowid=?1 " */, 0, bp+104 /* &rc */) zSep = ts + 4619 /* "," */ } for i = 2; i < nData; i++ { @@ -58824,12 +60392,12 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid continue } string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, - ts+27217 /* "%s %Q=?%d" */, libc.VaList(bp+8, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*8)), i)), 1, bp+104 /* &rc */) + ts+27993 /* "%s %Q=?%d" */, libc.VaList(bp+8, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*8)), i)), 1, bp+104 /* &rc */) zSep = ts + 4619 /* "," */ } - string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+27227 /* " WHERE rowid=?%d" */, libc.VaList(bp+32, nData)), 1, bp+104 /* &rc */) + string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+28003 /* " WHERE rowid=?%d" */, libc.VaList(bp+32, nData)), 1, bp+104 /* &rc */) } else if (nData == 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { - *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27244 /* "DELETE FROM %Q W..." */, libc.VaList(bp+40, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+28020 /* "DELETE FROM %Q W..." */, libc.VaList(bp+40, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) != 0) { *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM } @@ -58839,26 +60407,26 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27276 /* "INSERT INTO %Q (" */, libc.VaList(bp+48, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+28052 /* "INSERT INTO %Q (" */, libc.VaList(bp+48, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) != 0) { *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM } if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData + 1*8))) == SQLITE_INTEGER { bindArgOne = 1 *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) = sqlite3.Xsqlite3_mprintf(tls, ts+3266 /* "?" */, 0) - string_concat(tls, bp+112 /* &zInsert */, ts+27074 /* "rowid" */, 0, bp+104 /* &rc */) + string_concat(tls, bp+112 /* &zInsert */, ts+27850 /* "rowid" */, 0, bp+104 /* &rc */) } for ii = 2; ii < nData; ii++ { string_concat(tls, bp+112, /* &zInsert */ - sqlite3.Xsqlite3_mprintf(tls, ts+27293 /* "%s%Q" */, libc.VaList(bp+56, func() uintptr { + sqlite3.Xsqlite3_mprintf(tls, ts+28069 /* "%s%Q" */, libc.VaList(bp+56, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) != 0 { return ts + 90 /* ", " */ } return ts + 489 /* "" */ }(), *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((ii-2))*8)))), 1, bp+104 /* &rc */) string_concat(tls, bp+120, /* &zValues */ - sqlite3.Xsqlite3_mprintf(tls, ts+27298 /* "%s?%d" */, libc.VaList(bp+72, func() uintptr { + sqlite3.Xsqlite3_mprintf(tls, ts+28074 /* "%s?%d" */, libc.VaList(bp+72, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) != 0 { return ts + 90 /* ", " */ } @@ -58867,7 +60435,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid } string_concat(tls, bp+96 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)), 1, bp+104 /* &rc */) - string_concat(tls, bp+96 /* &z */, ts+27304 /* ") VALUES(" */, 0, bp+104 /* &rc */) + string_concat(tls, bp+96 /* &z */, ts+28080 /* ") VALUES(" */, 0, bp+104 /* &rc */) string_concat(tls, bp+96 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)), 1, bp+104 /* &rc */) string_concat(tls, bp+96 /* &z */, ts+490 /* ")" */, 0, bp+104 /* &rc */) } else { @@ -58904,7 +60472,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid *(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_last_insert_rowid(tls, db) } if *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) != SQLITE_OK { - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26687 /* "echo-vtab-error:..." */, libc.VaList(bp+88, sqlite3.Xsqlite3_errmsg(tls, db))) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27463 /* "echo-vtab-error:..." */, libc.VaList(bp+88, sqlite3.Xsqlite3_errmsg(tls, db))) } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) @@ -58919,7 +60487,7 @@ func echoTransactionCall(tls *libc.TLS, tab uintptr, zCall uintptr) int32 { /* t var z uintptr var pVtab uintptr = tab - z = sqlite3.Xsqlite3_mprintf(tls, ts+27314 /* "echo(%s)" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + z = sqlite3.Xsqlite3_mprintf(tls, ts+28090 /* "echo(%s)" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if z == uintptr(0) { return SQLITE_NOMEM } @@ -58938,17 +60506,17 @@ func echoBegin(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1112:12: */ // Ticket #3083 - do not start a transaction if we are already in // a transaction - if simulateVtabError(tls, pVtab, ts+27323 /* "xBegin" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28099 /* "xBegin" */) != 0 { return SQLITE_ERROR } - rc = echoTransactionCall(tls, tab, ts+27323 /* "xBegin" */) + rc = echoTransactionCall(tls, tab, ts+28099 /* "xBegin" */) if rc == SQLITE_OK { // Check if the $::echo_module_begin_fail variable is defined. If it is, // and it is set to the name of the real table underlying this virtual // echo module table, then cause this xSync operation to fail. - zVal = tcl.XTcl_GetVar2(tls, interp, ts+27330 /* "echo_module_begi..." */, uintptr(0), TCL_GLOBAL_ONLY) + zVal = tcl.XTcl_GetVar2(tls, interp, ts+28106 /* "echo_module_begi..." */, uintptr(0), TCL_GLOBAL_ONLY) if (zVal != 0) && (0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) { rc = SQLITE_ERROR } @@ -58968,17 +60536,17 @@ func echoSync(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1143:12: */ // Ticket #3083 - Only call xSync if we have previously started a // transaction - if simulateVtabError(tls, pVtab, ts+27353 /* "xSync" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28129 /* "xSync" */) != 0 { return SQLITE_ERROR } - rc = echoTransactionCall(tls, tab, ts+27353 /* "xSync" */) + rc = echoTransactionCall(tls, tab, ts+28129 /* "xSync" */) if rc == SQLITE_OK { // Check if the $::echo_module_sync_fail variable is defined. If it is, // and it is set to the name of the real table underlying this virtual // echo module table, then cause this xSync operation to fail. - zVal = tcl.XTcl_GetVar2(tls, interp, ts+27359 /* "echo_module_sync..." */, uintptr(0), TCL_GLOBAL_ONLY) + zVal = tcl.XTcl_GetVar2(tls, interp, ts+28135 /* "echo_module_sync..." */, uintptr(0), TCL_GLOBAL_ONLY) if (zVal != 0) && (0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) { rc = -1 } @@ -58993,12 +60561,12 @@ func echoCommit(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1171:12: */ // Ticket #3083 - Only call xCommit if we have previously started // a transaction - if simulateVtabError(tls, pVtab, ts+27381 /* "xCommit" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28157 /* "xCommit" */) != 0 { return SQLITE_ERROR } sqlite3.Xsqlite3BeginBenignMalloc(tls) - rc = echoTransactionCall(tls, tab, ts+27381 /* "xCommit" */) + rc = echoTransactionCall(tls, tab, ts+28157 /* "xCommit" */) sqlite3.Xsqlite3EndBenignMalloc(tls) (*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0 return rc @@ -59011,7 +60579,7 @@ func echoRollback(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1189:12: */ // Ticket #3083 - Only call xRollback if we have previously started // a transaction - rc = echoTransactionCall(tls, tab, ts+27389 /* "xRollback" */) + rc = echoTransactionCall(tls, tab, ts+28165 /* "xRollback" */) (*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0 return rc } @@ -59029,7 +60597,7 @@ func overloadedGlobFunction(tls *libc.TLS, pContext uintptr, nArg int32, apArg u var i int32 var rc int32 tcl.XTcl_DStringInit(tls, bp /* &str */) - tcl.XTcl_DStringAppendElement(tls, bp /* &str */, ts+27399 /* "::echo_glob_over..." */) + tcl.XTcl_DStringAppendElement(tls, bp /* &str */, ts+28175 /* "::echo_glob_over..." */) for i = 0; i < nArg; i++ { tcl.XTcl_DStringAppendElement(tls, bp /* &str */, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + uintptr(i)*8)))) } @@ -59058,10 +60626,10 @@ func echoFindFunction(tls *libc.TLS, vtab uintptr, nArg int32, zFuncName uintptr var interp uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp // var info Tcl_CmdInfo at bp, 64 - if libc.Xstrcmp(tls, zFuncName, ts+27102 /* "glob" */) != 0 { + if libc.Xstrcmp(tls, zFuncName, ts+27878 /* "glob" */) != 0 { return 0 } - if tcl.XTcl_GetCommandInfo(tls, interp, ts+27399 /* "::echo_glob_over..." */, bp /* &info */) == 0 { + if tcl.XTcl_GetCommandInfo(tls, interp, ts+28175 /* "::echo_glob_over..." */, bp /* &info */) == 0 { return 0 } *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { @@ -59078,13 +60646,13 @@ func echoRename(tls *libc.TLS, vtab uintptr, zNewName uintptr) int32 { /* test8. var rc int32 = SQLITE_OK var p uintptr = vtab - if simulateVtabError(tls, p, ts+27420 /* "xRename" */) != 0 { + if simulateVtabError(tls, p, ts+28196 /* "xRename" */) != 0 { return SQLITE_ERROR } if (*echo_vtab)(unsafe.Pointer(p)).FisPattern != 0 { var nThis int32 = int32(libc.Xstrlen(tls, (*echo_vtab)(unsafe.Pointer(p)).FzThis)) - var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27428, /* "ALTER TABLE %s R..." */ + var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+28204, /* "ALTER TABLE %s R..." */ libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzTableName, zNewName, ((*echo_vtab)(unsafe.Pointer(p)).FzTableName+uintptr(nThis)))) rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) @@ -59161,7 +60729,7 @@ var echoModuleV2 = sqlite3_module{ func moduleDestroy(tls *libc.TLS, p uintptr) { /* test8.c:1355:13: */ var pMod uintptr = p - sqlite3.Xsqlite3_create_function(tls, (*EchoModule)(unsafe.Pointer(pMod)).Fdb, ts+27458, /* "function_that_do..." */ + sqlite3.Xsqlite3_create_function(tls, (*EchoModule)(unsafe.Pointer(pMod)).Fdb, ts+28234, /* "function_that_do..." */ SQLITE_ANY, 1, uintptr(0), uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, p) } @@ -59188,14 +60756,14 @@ func register_echo_module(tls *libc.TLS, clientData ClientData, interp uintptr, (*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp (*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp /* db */)) rc = sqlite3.Xsqlite3_create_module_v2(tls, - *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27496 /* "echo" */, uintptr(unsafe.Pointer(&echoModule)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) + *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28272 /* "echo" */, uintptr(unsafe.Pointer(&echoModule)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) // Virtual table module "echo_v2" if rc == SQLITE_OK { pMod = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(EchoModule{}))) (*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp (*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp /* db */)) - rc = sqlite3.Xsqlite3_create_module_v2(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27501, /* "echo_v2" */ + rc = sqlite3.Xsqlite3_create_module_v2(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28277, /* "echo_v2" */ uintptr(unsafe.Pointer(&echoModuleV2)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) } @@ -59214,7 +60782,7 @@ func declare_vtab(tls *libc.TLS, clientData ClientData, interp uintptr, objc int var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27509 /* "DB SQL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10524 /* "DB SQL" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -59247,8 +60815,8 @@ var aObjCmd2 = [2]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 27516 /* "register_echo_mo..." */, FxProc: 0}, - {FzName: ts + 27537 /* "sqlite3_declare_..." */, FxProc: 0}, + {FzName: ts + 28285 /* "register_echo_mo..." */, FxProc: 0}, + {FzName: ts + 28306 /* "sqlite3_declare_..." */, FxProc: 0}, } /* test8.c:1439:5 */ // end block for C++ @@ -59305,7 +60873,7 @@ func c_collation_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var db uintptr at bp+24, 8 var rc int32 - zErrFunction = ts + 27558 /* "N/A" */ + zErrFunction = ts + 28327 /* "N/A" */ if !(objc != 1) { goto __1 } @@ -59319,17 +60887,17 @@ __1: if !(rc != SQLITE_OK) { goto __2 } - zErrFunction = ts + 20989 /* "sqlite3_open" */ + zErrFunction = ts + 21765 /* "sqlite3_open" */ goto error_out __2: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+13094 /* "collate" */, 456, uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+13875 /* "collate" */, 456, uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { goto __3 } sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))) - zErrFunction = ts + 27562 /* "sqlite3_create_c..." */ + zErrFunction = ts + 28331 /* "sqlite3_create_c..." */ goto error_out __3: ; @@ -59339,7 +60907,7 @@ __3: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27587 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28356 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -59350,7 +60918,7 @@ func c_realloc_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var p uintptr var zErrFunction uintptr - zErrFunction = ts + 27558 /* "N/A" */ + zErrFunction = ts + 28327 /* "N/A" */ if !(objc != 1) { goto __1 @@ -59364,7 +60932,7 @@ __1: if !(!(p != 0)) { goto __2 } - zErrFunction = ts + 27612 /* "sqlite3_malloc" */ + zErrFunction = ts + 28381 /* "sqlite3_malloc" */ goto error_out __2: ; @@ -59375,7 +60943,7 @@ __2: if !(p != 0) { goto __3 } - zErrFunction = ts + 27627 /* "sqlite3_realloc" */ + zErrFunction = ts + 28396 /* "sqlite3_realloc" */ goto error_out __3: ; @@ -59384,7 +60952,7 @@ __3: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27587 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28356 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -59399,7 +60967,7 @@ func c_misuse_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc in // var pStmt uintptr at bp+32, 8 var rc int32 - zErrFunction = ts + 27558 /* "N/A" */ + zErrFunction = ts + 28327 /* "N/A" */ *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)) = uintptr(0) if !(objc != 1) { @@ -59416,7 +60984,7 @@ __1: if !(rc != SQLITE_OK) { goto __2 } - zErrFunction = ts + 20989 /* "sqlite3_open" */ + zErrFunction = ts + 21765 /* "sqlite3_open" */ goto error_out __2: ; @@ -59426,7 +60994,7 @@ __2: if !(rc != SQLITE_MISUSE) { goto __3 } - zErrFunction = ts + 20916 /* "sqlite3_errcode" */ + zErrFunction = ts + 21692 /* "sqlite3_errcode" */ goto error_out __3: ; @@ -59436,7 +61004,7 @@ __3: if !(rc != SQLITE_MISUSE) { goto __4 } - zErrFunction = ts + 21070 /* "sqlite3_prepare" */ + zErrFunction = ts + 21846 /* "sqlite3_prepare" */ goto error_out __4: ; @@ -59447,7 +61015,7 @@ __4: if !(rc != SQLITE_MISUSE) { goto __5 } - zErrFunction = ts + 21104 /* "sqlite3_prepare_..." */ + zErrFunction = ts + 21880 /* "sqlite3_prepare_..." */ goto error_out __5: ; @@ -59457,7 +61025,7 @@ __5: if !(rc != SQLITE_MISUSE) { goto __6 } - zErrFunction = ts + 21086 /* "sqlite3_prepare1..." */ + zErrFunction = ts + 21862 /* "sqlite3_prepare1..." */ goto error_out __6: ; @@ -59467,7 +61035,7 @@ __6: if !(rc != SQLITE_MISUSE) { goto __7 } - zErrFunction = ts + 21166 /* "sqlite3_prepare1..." */ + zErrFunction = ts + 21942 /* "sqlite3_prepare1..." */ goto error_out __7: ; @@ -59476,7 +61044,7 @@ __7: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27587 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28356 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -59499,9 +61067,9 @@ var aObjCmd3 = [3]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 27643 /* "c_misuse_test" */, FxProc: 0}, - {FzName: ts + 27657 /* "c_realloc_test" */, FxProc: 0}, - {FzName: ts + 27672 /* "c_collation_test" */, FxProc: 0}, + {FzName: ts + 28412 /* "c_misuse_test" */, FxProc: 0}, + {FzName: ts + 28426 /* "c_realloc_test" */, FxProc: 0}, + {FzName: ts + 28441 /* "c_collation_test" */, FxProc: 0}, } /* test9.c:193:5 */ // end block for C++ @@ -59542,7 +61110,7 @@ func resetAutoExtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc // This procedure registers the TCL procs defined in this file. func Sqlitetest_autoext_Init(tls *libc.TLS, interp uintptr) int32 { /* test_autoext.c:210:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+27689, /* "sqlite3_reset_au..." */ + tcl.XTcl_CreateObjCommand(tls, interp, ts+28458, /* "sqlite3_reset_au..." */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{resetAutoExtObjCmd})), uintptr(0), uintptr(0)) @@ -59554,10 +61122,10 @@ func backupTestCmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc in defer tls.Free(196) *(*[5]BackupSubCommand)(unsafe.Pointer(bp /* aSub */)) = [5]BackupSubCommand{ - {FzCmd: ts + 10120 /* "step" */, FnArg: 1, FzArg: ts + 27718 /* "npage" */}, - {FzCmd: ts + 27724 /* "finish" */, FeCmd: uint32(1) /* BACKUP_FINISH */, FzArg: ts + 489 /* "" */}, - {FzCmd: ts + 27731 /* "remaining" */, FeCmd: uint32(2) /* BACKUP_REMAINING */, FzArg: ts + 489 /* "" */}, - {FzCmd: ts + 27741 /* "pagecount" */, FeCmd: uint32(3) /* BACKUP_PAGECOUNT */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 10120 /* "step" */, FnArg: 1, FzArg: ts + 28487 /* "npage" */}, + {FzCmd: ts + 28493 /* "finish" */, FeCmd: uint32(1) /* BACKUP_FINISH */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 28500 /* "remaining" */, FeCmd: uint32(2) /* BACKUP_REMAINING */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 28510 /* "pagecount" */, FeCmd: uint32(3) /* BACKUP_PAGECOUNT */, FzArg: ts + 489 /* "" */}, {}, } @@ -59567,7 +61135,7 @@ func backupTestCmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc in var rc int32 rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aSub[0] */, int32(unsafe.Sizeof(BackupSubCommand{})), ts+11373 /* "option" */, 0, bp+120 /* &iCmd */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aSub[0] */, int32(unsafe.Sizeof(BackupSubCommand{})), ts+12161 /* "option" */, 0, bp+120 /* &iCmd */) if rc != TCL_OK { return rc } @@ -59649,7 +61217,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i if objc != 6 { tcl.XTcl_WrongNumArgs(tls, - interp, 1, objv, ts+27751 /* "CMDNAME DESTHAND..." */) + interp, 1, objv, ts+28520 /* "CMDNAME DESTHAND..." */) return TCL_ERROR } @@ -59661,7 +61229,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i pBackup = sqlite3.Xsqlite3_backup_init(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pDestDb */)), zDestName, *(*uintptr)(unsafe.Pointer(bp + 24 /* pSrcDb */)), zSrcName) if !(pBackup != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27797 /* "sqlite3_backup_i..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28566 /* "sqlite3_backup_i..." */, 0)) return TCL_ERROR } @@ -59673,7 +61241,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i } func Sqlitetestbackup_Init(tls *libc.TLS, interp uintptr) int32 { /* test_backup.c:154:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+27826 /* "sqlite3_backup" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+28595 /* "sqlite3_backup" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{backupTestInit})), uintptr(0), uintptr(0)) return TCL_OK @@ -59764,7 +61332,7 @@ func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt var rc int32 = SQLITE_OK if argc != 4 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -59782,7 +61350,7 @@ func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26881 /* "xConnect" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27657 /* "xConnect" */, -1)) rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, TCL_EVAL_GLOBAL) if rc != TCL_OK { @@ -59875,7 +61443,7 @@ func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26945 /* "xFilter" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27721 /* "xFilter" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewIntObj(tls, idxNum)) if idxStr != 0 { tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, idxStr, -1)) @@ -59932,11 +61500,11 @@ func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, rc = sqlite3.Xsqlite3_prepare_v2(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pStmt */), uintptr(0)) if rc != SQLITE_OK { var zErr uintptr = sqlite3.Xsqlite3_errmsg(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb) - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27867 /* "unexpected: %s" */, libc.VaList(bp+16, zErr)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28636 /* "unexpected: %s" */, libc.VaList(bp+16, zErr)) } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27867 /* "unexpected: %s" */, libc.VaList(bp+24, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28636 /* "unexpected: %s" */, libc.VaList(bp+24, zCmd)) } } } @@ -59978,7 +61546,7 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26999 /* "xBestIndex" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27775 /* "xBestIndex" */, -1)) pArg = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pArg)).FrefCount++ @@ -59991,54 +61559,54 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) { case SQLITE_INDEX_CONSTRAINT_EQ: - zOp = ts + 27882 /* "eq" */ + zOp = ts + 28651 /* "eq" */ break case SQLITE_INDEX_CONSTRAINT_GT: - zOp = ts + 27885 /* "gt" */ + zOp = ts + 28654 /* "gt" */ break case SQLITE_INDEX_CONSTRAINT_LE: - zOp = ts + 27888 /* "le" */ + zOp = ts + 28657 /* "le" */ break case SQLITE_INDEX_CONSTRAINT_LT: - zOp = ts + 27891 /* "lt" */ + zOp = ts + 28660 /* "lt" */ break case SQLITE_INDEX_CONSTRAINT_GE: - zOp = ts + 27894 /* "ge" */ + zOp = ts + 28663 /* "ge" */ break case SQLITE_INDEX_CONSTRAINT_MATCH: - zOp = ts + 27897 /* "match" */ + zOp = ts + 28666 /* "match" */ break case SQLITE_INDEX_CONSTRAINT_LIKE: - zOp = ts + 27097 /* "like" */ + zOp = ts + 27873 /* "like" */ break case SQLITE_INDEX_CONSTRAINT_GLOB: - zOp = ts + 27102 /* "glob" */ + zOp = ts + 27878 /* "glob" */ break case SQLITE_INDEX_CONSTRAINT_REGEXP: zOp = ts + 6335 /* "regexp" */ break case SQLITE_INDEX_CONSTRAINT_NE: - zOp = ts + 27903 /* "ne" */ + zOp = ts + 28672 /* "ne" */ break case SQLITE_INDEX_CONSTRAINT_ISNOT: - zOp = ts + 27906 /* "isnot" */ + zOp = ts + 28675 /* "isnot" */ break case SQLITE_INDEX_CONSTRAINT_ISNOTNULL: - zOp = ts + 27912 /* "isnotnull" */ + zOp = ts + 28681 /* "isnotnull" */ break case SQLITE_INDEX_CONSTRAINT_ISNULL: - zOp = ts + 27922 /* "isnull" */ + zOp = ts + 28691 /* "isnull" */ break case SQLITE_INDEX_CONSTRAINT_IS: zOp = ts + 5712 /* "is" */ break } - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27929 /* "op" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28698 /* "op" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, zOp, -1)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27932 /* "column" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28701 /* "column" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27939 /* "usable" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28708 /* "usable" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fusable))) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, pElem) @@ -60065,9 +61633,9 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ var pElem uintptr = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pElem)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27932 /* "column" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28701 /* "column" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).FiColumn)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27946 /* "desc" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28715 /* "desc" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).Fdesc))) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, pElem) @@ -60126,29 +61694,29 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ for ii = 0; (rc == SQLITE_OK) && (ii < *(*int32)(unsafe.Pointer(bp + 48 /* nElem */))); ii = ii + (2) { var zCmd uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56 /* apElem */)) + uintptr(ii)*8))) var p uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56 /* apElem */)) + uintptr((ii+1))*8)) - if sqlite3.Xsqlite3_stricmp(tls, ts+27951 /* "cost" */, zCmd) == 0 { + if sqlite3.Xsqlite3_stricmp(tls, ts+28720 /* "cost" */, zCmd) == 0 { rc = tcl.XTcl_GetDoubleFromObj(tls, interp, p, (pIdxInfo + 64 /* &.estimatedCost */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27956 /* "orderby" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28725 /* "orderby" */, zCmd) == 0 { rc = tcl.XTcl_GetIntFromObj(tls, interp, p, (pIdxInfo + 60 /* &.orderByConsumed */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27964 /* "idxnum" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28733 /* "idxnum" */, zCmd) == 0 { rc = tcl.XTcl_GetIntFromObj(tls, interp, p, (pIdxInfo + 40 /* &.idxNum */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27971 /* "idxstr" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28740 /* "idxstr" */, zCmd) == 0 { sqlite3.Xsqlite3_free(tls, (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, tcl.XTcl_GetString(tls, p))) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27978 /* "rows" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28747 /* "rows" */, zCmd) == 0 { *(*Tcl_WideInt)(unsafe.Pointer(bp + 64 /* x */)) = int64(0) rc = tcl.XTcl_GetWideIntFromObj(tls, interp, p, bp+64 /* &x */) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = sqlite3_int64(tRowcnt(*(*Tcl_WideInt)(unsafe.Pointer(bp + 64 /* x */)))) - } else if (sqlite3.Xsqlite3_stricmp(tls, ts+27983 /* "use" */, zCmd) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, ts+27987 /* "omit" */, zCmd) == 0) { + } else if (sqlite3.Xsqlite3_stricmp(tls, ts+28752 /* "use" */, zCmd) == 0) || + (sqlite3.Xsqlite3_stricmp(tls, ts+28756 /* "omit" */, zCmd) == 0) { // var iCons int32 at bp+72, 4 rc = tcl.XTcl_GetIntFromObj(tls, interp, p, bp+72 /* &iCons */) if rc == SQLITE_OK { if (*(*int32)(unsafe.Pointer(bp + 72 /* iCons */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 72 /* iCons */)) >= (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27992 /* "unexpected: %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 72 /* iCons */)))) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28761 /* "unexpected: %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 72 /* iCons */)))) } else { var bOmit int32 = (libc.Bool32((int32(*(*int8)(unsafe.Pointer(zCmd))) == 'o') || (int32(*(*int8)(unsafe.Pointer(zCmd))) == 'O'))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(*(*int32)(unsafe.Pointer(bp + 72 /* iCons */)))*8)).FargvIndex = libc.PostIncInt32(&iArgv, 1) @@ -60157,7 +61725,7 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27867 /* "unexpected: %s" */, libc.VaList(bp+32, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28636 /* "unexpected: %s" */, libc.VaList(bp+32, zCmd)) } if (rc != SQLITE_OK) && ((*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg == uintptr(0)) { var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp) @@ -60201,7 +61769,7 @@ func register_tcl_module(tls *libc.TLS, clientData ClientData, interp uintptr, o if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28007 /* "tcl" */, uintptr(unsafe.Pointer(&tclModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28776 /* "tcl" */, uintptr(unsafe.Pointer(&tclModule)), interp) return TCL_OK } @@ -60224,7 +61792,7 @@ var aObjCmd4 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 28011 /* "register_tcl_mod..." */, FxProc: 0}, + {FzName: ts + 28780 /* "register_tcl_mod..." */, FxProc: 0}, } /* test_bestindex.c:610:5 */ // Return a pointer to a buffer containing a text representation of the @@ -60234,7 +61802,7 @@ func ptrToText(tls *libc.TLS, p uintptr) uintptr { /* test_blob.c:37:13: */ bp := tls.Alloc(8) defer tls.Free(8) - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof(buf)) - uint64(1))), uintptr(unsafe.Pointer(&buf)), ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof(buf)) - uint64(1))), uintptr(unsafe.Pointer(&buf)), ts+13802 /* "%p" */, libc.VaList(bp, p)) return uintptr(unsafe.Pointer(&buf)) } @@ -60260,7 +61828,7 @@ func blobHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, ppBlob uint z = tcl.XTcl_GetStringFromObj(tls, pObj, bp /* &n */) if *(*int32)(unsafe.Pointer(bp /* n */)) == 0 { *(*uintptr)(unsafe.Pointer(ppBlob)) = uintptr(0) - } else if (*(*int32)(unsafe.Pointer(bp /* n */)) > 9) && (0 == libc.Xmemcmp(tls, ts+28031 /* "incrblob_" */, z, uint64(9))) { + } else if (*(*int32)(unsafe.Pointer(bp /* n */)) > 9) && (0 == libc.Xmemcmp(tls, ts+28800 /* "incrblob_" */, z, uint64(9))) { // var notUsed int32 at bp+4, 4 var channel Tcl_Channel @@ -60324,7 +61892,7 @@ func test_blob_open(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var rc int32 if objc != 8 { - var zUsage uintptr = ts + 28041 /* "DB DATABASE TABL..." */ + var zUsage uintptr = ts + 28810 /* "DB DATABASE TABL..." */ tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zUsage) return TCL_ERROR } @@ -60368,7 +61936,7 @@ func test_blob_close(tls *libc.TLS, clientData ClientData, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } @@ -60395,7 +61963,7 @@ func test_blob_bytes(tls *libc.TLS, clientData ClientData, interp uintptr, objc var nByte int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } @@ -60435,7 +62003,7 @@ func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28093 /* "CHANNEL OFFSET N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28862 /* "CHANNEL OFFSET N" */) return TCL_ERROR } @@ -60450,7 +62018,7 @@ func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc i if *(*int32)(unsafe.Pointer(bp + 28 /* nByte */)) > 0 { zBuf = tcl.XTcl_AttemptAlloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nByte */)))) if zBuf == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28110 /* "out of memory in..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28879 /* "out of memory in..." */, 0)) return TCL_ERROR } } @@ -60495,7 +62063,7 @@ func test_blob_write(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var nBuf int32 at bp+12, 4 if (objc != 4) && (objc != 5) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28171 /* "HANDLE OFFSET DA..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28940 /* "HANDLE OFFSET DA..." */) return TCL_ERROR } @@ -60539,11 +62107,11 @@ var aObjCmd5 = [5]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 28198 /* "sqlite3_blob_ope..." */, FxProc: 0}, - {FzName: ts + 28216 /* "sqlite3_blob_clo..." */, FxProc: 0}, - {FzName: ts + 28235 /* "sqlite3_blob_byt..." */, FxProc: 0}, - {FzName: ts + 28254 /* "sqlite3_blob_rea..." */, FxProc: 0}, - {FzName: ts + 28272 /* "sqlite3_blob_wri..." */, FxProc: 0}, + {FzName: ts + 28967 /* "sqlite3_blob_ope..." */, FxProc: 0}, + {FzName: ts + 28985 /* "sqlite3_blob_clo..." */, FxProc: 0}, + {FzName: ts + 29004 /* "sqlite3_blob_byt..." */, FxProc: 0}, + {FzName: ts + 29023 /* "sqlite3_blob_rea..." */, FxProc: 0}, + {FzName: ts + 29041 /* "sqlite3_blob_wri..." */, FxProc: 0}, } /* test_blob.c:317:5 */ // end block for C++ @@ -60626,369 +62194,369 @@ func sqlite3BtreeCursorList(tls *libc.TLS, p uintptr) { /* test_btree.c:52:6: */ // according to the compile-time configuration of the database. Test // procedures use this to determine when tests should be omitted. func set_options(tls *libc.TLS, interp uintptr) { /* test_config.c:47:13: */ - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28306 /* "malloc_usable_si..." */, ts+28325, /* "1" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29075 /* "malloc_usable_si..." */, ts+29094, /* "1" */ TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28327 /* "rowid32" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29096 /* "rowid32" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28335 /* "casesensitivelik..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29104 /* "casesensitivelik..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28353 /* "configslower" */, ts+28366 /* "1.0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29122 /* "configslower" */, ts+29135 /* "1.0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28370 /* "curdir" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29139 /* "curdir" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28377 /* "win32malloc" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29146 /* "win32malloc" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28389 /* "debug" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29158 /* "debug" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28395 /* "default_ckptfull..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29164 /* "default_ckptfull..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28417 /* "direct_read" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29186 /* "direct_read" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28429 /* "dirsync" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29198 /* "dirsync" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28437 /* "lfs" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29206 /* "lfs" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28441 /* "pagecache_overfl..." */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29210 /* "pagecache_overfl..." */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28466 /* "mmap" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29235 /* "mmap" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28471, /* "worker_threads" */ - ts+28486 /* "8" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29240, /* "worker_threads" */ + ts+29255 /* "8" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28488 /* "memdebug" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29257 /* "memdebug" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28497 /* "8_3_names" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29266 /* "8_3_names" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28507 /* "cursorhints" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29276 /* "cursorhints" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28519 /* "hiddencolumns" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29288 /* "hiddencolumns" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13152 /* "deserialize" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+13933 /* "deserialize" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28533 /* "mathlib" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29302 /* "mathlib" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28541 /* "mem3" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29310 /* "mem3" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28546 /* "mem5" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29315 /* "mem5" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28551 /* "offset_sql_func" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29320 /* "offset_sql_func" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13260 /* "preupdate" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+14041 /* "preupdate" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28567 /* "snapshot" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29336 /* "snapshot" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28576 /* "mutex" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29345 /* "mutex" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28582 /* "mutex_noop" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29351 /* "mutex_noop" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28593 /* "altertable" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29362 /* "altertable" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+1818 /* "analyze" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+1818 /* "analyze" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28604 /* "api_armor" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29373 /* "api_armor" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28614 /* "atomicwrite" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29383 /* "atomicwrite" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28626 /* "geopoly" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29395 /* "geopoly" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28634 /* "json1" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29403 /* "json1" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28640 /* "has_codec" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29409 /* "has_codec" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28650 /* "like_match_blobs" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29419 /* "like_match_blobs" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28667 /* "attach" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+10584 /* "attach" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28674 /* "auth" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29436 /* "auth" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28679 /* "autoinc" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29441 /* "autoinc" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+12733 /* "autoindex" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+13514 /* "autoindex" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28687 /* "autoreset" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29449 /* "autoreset" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28697 /* "autovacuum" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28708, /* "default_autovacu..." */ - ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29459 /* "autovacuum" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29470, /* "default_autovacu..." */ + ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28727 /* "between_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29489 /* "between_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28739 /* "builtin_test" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29501 /* "builtin_test" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28752 /* "bloblit" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29514 /* "bloblit" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28760 /* "cast" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29522 /* "cast" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28765 /* "check" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29527 /* "check" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28771 /* "cte" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29533 /* "cte" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28775 /* "columnmetadata" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29537 /* "columnmetadata" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28790 /* "oversize_cell_ch..." */, ts+13873, /* "0" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29552 /* "oversize_cell_ch..." */, ts+14654, /* "0" */ TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28810 /* "compileoption_di..." */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29572 /* "compileoption_di..." */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13131 /* "complete" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+13912 /* "complete" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28830 /* "compound" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29592 /* "compound" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28839 /* "conflict" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28848 /* "crashtest" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29601 /* "conflict" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29610 /* "crashtest" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28858 /* "datetime" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29620 /* "datetime" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28867 /* "decltype" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29629 /* "decltype" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28876 /* "deprecated" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29638 /* "deprecated" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28887 /* "diskio" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29649 /* "diskio" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+4835 /* "explain" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+4835 /* "explain" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28894 /* "floatingpoint" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29656 /* "floatingpoint" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28908 /* "foreignkey" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29670 /* "foreignkey" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28919 /* "fts1" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29681 /* "fts1" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28924 /* "fts2" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29686 /* "fts2" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28929 /* "fts3" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29691 /* "fts3" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28934 /* "fts5" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29696 /* "fts5" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28939 /* "fts3_unicode" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29701 /* "fts3_unicode" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28952 /* "fts4_deferred" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29714 /* "fts4_deferred" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28966 /* "gettable" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29728 /* "gettable" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28975 /* "icu" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29737 /* "icu" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28979 /* "icu_collations" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29741 /* "icu_collations" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+10524 /* "incrblob" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+11333 /* "incrblob" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28994 /* "integrityck" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29756 /* "integrityck" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29006 /* "legacyformat" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29768 /* "legacyformat" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29019 /* "like_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29781 /* "like_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29028 /* "load_ext" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29790 /* "load_ext" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29037 /* "localtime" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29799 /* "localtime" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29047 /* "lookaside" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29809 /* "lookaside" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29057, /* "long_double" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29819, /* "long_double" */ func() uintptr { if uint64(unsafe.Sizeof(float64(0))) > uint64(unsafe.Sizeof(float64(0))) { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29069 /* "memorydb" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29831 /* "memorydb" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29078 /* "memorymanage" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29840 /* "memorymanage" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29091 /* "mergesort" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29853 /* "mergesort" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29101 /* "null_trim" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29863 /* "null_trim" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29111 /* "or_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29873 /* "or_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29118 /* "rbu" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29880 /* "rbu" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29122 /* "pager_pragmas" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29884 /* "pager_pragmas" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29136 /* "pragma" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29898 /* "pragma" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+10199 /* "progress" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+10199 /* "progress" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29143 /* "reindex" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29905 /* "reindex" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29151 /* "rtree" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29913 /* "rtree" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29157 /* "rtree_int_only" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29919 /* "rtree_int_only" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29172 /* "schema_pragmas" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29934 /* "schema_pragmas" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29187 /* "schema_version" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29949 /* "schema_version" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29202 /* "session" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29964 /* "session" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+18468 /* "stat4" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29210 /* "stmtvtab" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+19249 /* "stat4" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29972 /* "stmtvtab" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29219 /* "scanstatus" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29981 /* "scanstatus" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29230 /* "lock_proxy_pragm..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29249 /* "prefer_proxy_loc..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29992 /* "lock_proxy_pragm..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30011 /* "prefer_proxy_loc..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29270 /* "shared_cache" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30032 /* "shared_cache" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29283 /* "subquery" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30045 /* "subquery" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29292 /* "tclvar" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30054 /* "tclvar" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29299, /* "threadsafe" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30061, /* "threadsafe" */ func() uintptr { if 1 != 0 { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29310, /* "threadsafe1" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30072, /* "threadsafe1" */ func() uintptr { if SQLITE_THREADSAFE == 1 { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29322, /* "threadsafe2" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30084, /* "threadsafe2" */ func() uintptr { if SQLITE_THREADSAFE == 2 { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29334 /* "tempdb" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30096 /* "tempdb" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13345 /* "trace" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+14126 /* "trace" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29341 /* "trigger" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30103 /* "trigger" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29349 /* "truncate_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30111 /* "truncate_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+15418 /* "utf16" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+16199 /* "utf16" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29362 /* "vacuum" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30124 /* "vacuum" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29369 /* "view" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30131 /* "view" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29374 /* "vtab" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30136 /* "vtab" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29379 /* "wal" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30141 /* "wal" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29383 /* "wsd" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30145 /* "wsd" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29387 /* "update_delete_li..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30149 /* "update_delete_li..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13372 /* "unlock_notify" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+14153 /* "unlock_notify" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29407 /* "fast_secure_dele..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30169 /* "fast_secure_dele..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29426 /* "secure_delete" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30188 /* "secure_delete" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29440 /* "userauth" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30202 /* "userauth" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29449 /* "multiplex_ext_ov..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30211 /* "multiplex_ext_ov..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29473 /* "yytrackmaxstackd..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30235 /* "yytrackmaxstackd..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29494 /* "sqllog" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30256 /* "sqllog" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29501 /* "uri_00_error" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30263 /* "uri_00_error" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29514 /* "normalize" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30276 /* "normalize" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29524 /* "windowfunc" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30286 /* "windowfunc" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) { - tcl.XTcl_LinkVar(tls, interp, ts+29535 /* "SQLITE_MAX_LENGT..." */, uintptr(unsafe.Pointer(&cv_MAX_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30297 /* "SQLITE_MAX_LENGT..." */, uintptr(unsafe.Pointer(&cv_MAX_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29553 /* "SQLITE_MAX_COLUM..." */, uintptr(unsafe.Pointer(&cv_MAX_COLUMN)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30315 /* "SQLITE_MAX_COLUM..." */, uintptr(unsafe.Pointer(&cv_MAX_COLUMN)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29571 /* "SQLITE_MAX_SQL_L..." */, uintptr(unsafe.Pointer(&cv_MAX_SQL_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30333 /* "SQLITE_MAX_SQL_L..." */, uintptr(unsafe.Pointer(&cv_MAX_SQL_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29593 /* "SQLITE_MAX_EXPR_..." */, uintptr(unsafe.Pointer(&cv_MAX_EXPR_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30355 /* "SQLITE_MAX_EXPR_..." */, uintptr(unsafe.Pointer(&cv_MAX_EXPR_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29615 /* "SQLITE_MAX_COMPO..." */, uintptr(unsafe.Pointer(&cv_MAX_COMPOUND_SELECT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30377 /* "SQLITE_MAX_COMPO..." */, uintptr(unsafe.Pointer(&cv_MAX_COMPOUND_SELECT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29642 /* "SQLITE_MAX_VDBE_..." */, uintptr(unsafe.Pointer(&cv_MAX_VDBE_OP)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30404 /* "SQLITE_MAX_VDBE_..." */, uintptr(unsafe.Pointer(&cv_MAX_VDBE_OP)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29661 /* "SQLITE_MAX_FUNCT..." */, uintptr(unsafe.Pointer(&cv_MAX_FUNCTION_ARG)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30423 /* "SQLITE_MAX_FUNCT..." */, uintptr(unsafe.Pointer(&cv_MAX_FUNCTION_ARG)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29685 /* "SQLITE_MAX_VARIA..." */, uintptr(unsafe.Pointer(&cv_MAX_VARIABLE_NUMBER)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30447 /* "SQLITE_MAX_VARIA..." */, uintptr(unsafe.Pointer(&cv_MAX_VARIABLE_NUMBER)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29712 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30474 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29733 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_COUNT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30495 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_COUNT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29755 /* "SQLITE_MAX_LIKE_..." */, uintptr(unsafe.Pointer(&cv_MAX_LIKE_PATTERN_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30517 /* "SQLITE_MAX_LIKE_..." */, uintptr(unsafe.Pointer(&cv_MAX_LIKE_PATTERN_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29786 /* "SQLITE_MAX_TRIGG..." */, uintptr(unsafe.Pointer(&cv_MAX_TRIGGER_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30548 /* "SQLITE_MAX_TRIGG..." */, uintptr(unsafe.Pointer(&cv_MAX_TRIGGER_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29811 /* "SQLITE_DEFAULT_C..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_CACHE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30573 /* "SQLITE_DEFAULT_C..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_CACHE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29837 /* "SQLITE_DEFAULT_P..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30599 /* "SQLITE_DEFAULT_P..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29862 /* "SQLITE_DEFAULT_F..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_FILE_FORMAT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30624 /* "SQLITE_DEFAULT_F..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_FILE_FORMAT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29889 /* "SQLITE_DEFAULT_S..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30651 /* "SQLITE_DEFAULT_S..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29916 /* "SQLITE_DEFAULT_W..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_WAL_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30678 /* "SQLITE_DEFAULT_W..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_WAL_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29947 /* "SQLITE_MAX_ATTAC..." */, uintptr(unsafe.Pointer(&cv_MAX_ATTACHED)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30709 /* "SQLITE_MAX_ATTAC..." */, uintptr(unsafe.Pointer(&cv_MAX_ATTACHED)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29967 /* "SQLITE_MAX_DEFAU..." */, uintptr(unsafe.Pointer(&cv_MAX_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30729 /* "SQLITE_MAX_DEFAU..." */, uintptr(unsafe.Pointer(&cv_MAX_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29996 /* "SQLITE_MAX_WORKE..." */, uintptr(unsafe.Pointer(&cv_MAX_WORKER_THREADS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30758 /* "SQLITE_MAX_WORKE..." */, uintptr(unsafe.Pointer(&cv_MAX_WORKER_THREADS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30022 /* "TEMP_STORE" */, uintptr(unsafe.Pointer(&cv_TEMP_STORE)), + tcl.XTcl_LinkVar(tls, interp, ts+30784 /* "TEMP_STORE" */, uintptr(unsafe.Pointer(&cv_TEMP_STORE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30033 /* "__GNUC__" */, uintptr(unsafe.Pointer(&cv___GNUC__)), + tcl.XTcl_LinkVar(tls, interp, ts+30795 /* "__GNUC__" */, uintptr(unsafe.Pointer(&cv___GNUC__)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } @@ -61081,15 +62649,15 @@ func sqlite3_delete_database(tls *libc.TLS, zFile uintptr) int32 { /* test_delet var rc int32 = 0 // System error code var i int32 // Iterate through azFmt[] and aMFile[] - *(*[4]uintptr)(unsafe.Pointer(bp + 24 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 30042 /* "%s-journal" */, ts + 30053 /* "%s-wal" */, ts + 30060 /* "%s-shm" */} + *(*[4]uintptr)(unsafe.Pointer(bp + 24 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 30804 /* "%s-journal" */, ts + 30815 /* "%s-wal" */, ts + 30822 /* "%s-shm" */} *(*[6]MFile)(unsafe.Pointer(bp + 56 /* aMFile */)) = [6]MFile{ - {FzFmt: ts + 30067 /* "%s%03d" */}, - {FzFmt: ts + 30074 /* "%s-journal%03d" */}, - {FzFmt: ts + 30089 /* "%s-wal%03d" */}, - {FzFmt: ts + 30067 /* "%s%03d" */, Fb83: 1}, - {FzFmt: ts + 30074 /* "%s-journal%03d" */, FiOffset: SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET, Fb83: 1}, - {FzFmt: ts + 30089 /* "%s-wal%03d" */, FiOffset: SQLITE_MULTIPLEX_WAL_8_3_OFFSET, Fb83: 1}, + {FzFmt: ts + 30829 /* "%s%03d" */}, + {FzFmt: ts + 30836 /* "%s-journal%03d" */}, + {FzFmt: ts + 30851 /* "%s-wal%03d" */}, + {FzFmt: ts + 30829 /* "%s%03d" */, Fb83: 1}, + {FzFmt: ts + 30836 /* "%s-journal%03d" */, FiOffset: SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET, Fb83: 1}, + {FzFmt: ts + 30851 /* "%s-wal%03d" */, FiOffset: SQLITE_MULTIPLEX_WAL_8_3_OFFSET, Fb83: 1}, } var pVfs uintptr = uintptr(0) @@ -61404,7 +62972,7 @@ var devsym_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(devsym_file{})), // szOsFile FmxPathname: DEVSYM_MAX_PATHNAME, // pNext - FzName: ts + 30100, /* "devsym" */ // pAppData + FzName: ts + 30862, /* "devsym" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -61418,7 +62986,7 @@ var writecrash_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(devsym_file{})), // szOsFile FmxPathname: DEVSYM_MAX_PATHNAME, // pNext - FzName: ts + 30107, /* "writecrash" */ // pAppData + FzName: ts + 30869, /* "writecrash" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -61873,7 +63441,7 @@ func fsdirConnect1(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin var pTab uintptr if argc != 3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -61884,7 +63452,7 @@ func fsdirConnect1(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(FsdirVtab{}))) *(*uintptr)(unsafe.Pointer(ppVtab)) = (pTab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30118 /* "CREATE TABLE xyz..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30880 /* "CREATE TABLE xyz..." */) return SQLITE_OK } @@ -62066,7 +63634,7 @@ func fstreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin var pTab uintptr if argc != 3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -62078,7 +63646,7 @@ func fstreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin (*FstreeVtab)(unsafe.Pointer(pTab)).Fdb = db *(*uintptr)(unsafe.Pointer(ppVtab)) = (pTab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30147 /* "CREATE TABLE xyz..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30909 /* "CREATE TABLE xyz..." */) return SQLITE_OK } @@ -62170,7 +63738,7 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var pCsr uintptr = pVtabCursor var pTab uintptr = (*FstreeCsr)(unsafe.Pointer(pCsr)).Fbase.FpVtab var rc int32 - var zSql uintptr = ts + 30183 /* "WITH r(d) AS ( ..." */ + var zSql uintptr = ts + 30945 /* "WITH r(d) AS ( ..." */ var zRoot uintptr var nRoot int32 var zPrefix uintptr @@ -62179,7 +63747,7 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var nDir int32 *(*[2]int8)(unsafe.Pointer(bp /* aWild */)) = [2]int8{int8(0), int8(0)} - zRoot = ts + 30415 /* "/" */ + zRoot = ts + 31177 /* "/" */ nRoot = 1 zPrefix = ts + 489 /* "" */ nPrefix = 0 @@ -62300,7 +63868,7 @@ func fsConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr var zDb uintptr = *(*uintptr)(unsafe.Pointer(argv + 1*8)) if argc != 4 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } zTbl = *(*uintptr)(unsafe.Pointer(argv + 3*8)) @@ -62317,7 +63885,7 @@ func fsConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr libc.Xmemcpy(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzTbl, zTbl, libc.Xstrlen(tls, zTbl)) libc.Xmemcpy(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzDb, zDb, libc.Xstrlen(tls, zDb)) *(*uintptr)(unsafe.Pointer(ppVtab)) = (pVtab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30417 /* "CREATE TABLE x(p..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+31179 /* "CREATE TABLE x(p..." */) return SQLITE_OK } @@ -62371,7 +63939,7 @@ func fsFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, if idxNum == 1 { var zStmt uintptr = sqlite3.Xsqlite3_mprintf(tls, - ts+30454 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) + ts+31216 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) if !(zStmt != 0) { return SQLITE_NOMEM } @@ -62536,9 +64104,9 @@ func register_fs_module(tls *libc.TLS, clientData ClientData, interp uintptr, ob if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30488 /* "fs" */, uintptr(unsafe.Pointer(&fsModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31250 /* "fs" */, uintptr(unsafe.Pointer(&fsModule)), interp) sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+5186 /* "fsdir" */, uintptr(unsafe.Pointer(&fsdirModule)), uintptr(0)) - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30491 /* "fstree" */, uintptr(unsafe.Pointer(&fstreeModule)), uintptr(0)) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31253 /* "fstree" */, uintptr(unsafe.Pointer(&fstreeModule)), uintptr(0)) return TCL_OK } @@ -62561,7 +64129,7 @@ var aObjCmd6 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 30498 /* "register_fs_modu..." */, FxProc: 0}, + {FzName: ts + 31260 /* "register_fs_modu..." */, FxProc: 0}, } /* test_fs.c:907:5 */ // Some versions of define this macros. @@ -62627,7 +64195,7 @@ func randStr(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* test sqlite3.Xsqlite3_result_text(tls, context, bp+4 /* zBuf */, n, libc.UintptrFromInt32(-1)) } -var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 30517 /* "abcdefghijklmnop..." */)) /* test_func.c:46:30 */ +var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 31279 /* "abcdefghijklmnop..." */)) /* test_func.c:46:30 */ // The following two SQL functions are used to test returning a text // result with a destructor. Function 'test_destructor' takes one argument @@ -62820,7 +64388,7 @@ func test_eval(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* test_ if rc != 0 { var zErr uintptr - zErr = sqlite3.Xsqlite3_mprintf(tls, ts+30596 /* "sqlite3_prepare_..." */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) + zErr = sqlite3.Xsqlite3_mprintf(tls, ts+31358 /* "sqlite3_prepare_..." */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) sqlite3.Xsqlite3_result_text(tls, pCtx, zErr, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) sqlite3.Xsqlite3_result_error_code(tls, pCtx, rc) } @@ -62926,11 +64494,11 @@ func real2hex(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* tes *(*float64)(unsafe.Pointer(bp /* &v */)) = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; i < 8; i++ { if bigEndian != 0 { - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((i * 2)))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((i * 2) + 1)))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((i * 2)))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((i * 2) + 1)))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) } else { - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((14 - (i * 2))))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((14 - (i * 2)) + 1)))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((14 - (i * 2))))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((14 - (i * 2)) + 1)))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) } } *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + 16)) = int8(0) @@ -63036,7 +64604,7 @@ func test_decode(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* var n int32 = sqlite3.Xsqlite3_value_bytes(tls, bp+40 /* &mem */) var z uintptr = sqlite3.Xsqlite3_value_blob(tls, bp+40 /* &mem */) var i int32 - pVal = tcl.XTcl_NewStringObj(tls, ts+30644 /* "x'" */, -1) + pVal = tcl.XTcl_NewStringObj(tls, ts+31406 /* "x'" */, -1) for i = 0; i < n; i++ { // var hex [3]int8 at bp+104, 3 @@ -63137,7 +64705,7 @@ func registerTestFunctions(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk u int32(aFuncs[i].FeTextRep), uintptr(0), aFuncs[i].FxFunc, uintptr(0), uintptr(0)) } - sqlite3.Xsqlite3_create_function(tls, db, ts+30647 /* "test_agg_errmsg1..." */, 0, SQLITE_ANY, uintptr(0), uintptr(0), + sqlite3.Xsqlite3_create_function(tls, db, ts+31409 /* "test_agg_errmsg1..." */, 0, SQLITE_ANY, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{test_agg_errmsg16_step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_agg_errmsg16_final}))) @@ -63152,26 +64720,26 @@ var aFuncs = [20]struct { FeTextRep uint32 FxFunc uintptr }{ - {FzName: ts + 30665 /* "randstr" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30673 /* "test_destructor" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30689 /* "test_destructor1..." */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30707 /* "hex_to_utf16be" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30722 /* "hex_to_utf16le" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30737 /* "hex_to_utf8" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30749 /* "test_destructor_..." */, FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30771 /* "test_auxdata" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30784 /* "test_error" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30784 /* "test_error" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30795 /* "test_eval" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30805 /* "test_isolation" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30820 /* "test_counter" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30833 /* "real2hex" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30842 /* "test_decode" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30854 /* "test_extract" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30867 /* "test_zeroblob" */, FnArg: int8(1), FeTextRep: (uint32(SQLITE_UTF8 | SQLITE_DETERMINISTIC)), FxFunc: 0}, - {FzName: ts + 30881 /* "test_getsubtype" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30897 /* "test_setsubtype" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30913 /* "test_frombind" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31427 /* "randstr" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31435 /* "test_destructor" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31451 /* "test_destructor1..." */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31469 /* "hex_to_utf16be" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31484 /* "hex_to_utf16le" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31499 /* "hex_to_utf8" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31511 /* "test_destructor_..." */, FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31533 /* "test_auxdata" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31546 /* "test_error" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31546 /* "test_error" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31557 /* "test_eval" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31567 /* "test_isolation" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31582 /* "test_counter" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31595 /* "real2hex" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31604 /* "test_decode" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31616 /* "test_extract" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31629 /* "test_zeroblob" */, FnArg: int8(1), FeTextRep: (uint32(SQLITE_UTF8 | SQLITE_DETERMINISTIC)), FxFunc: 0}, + {FzName: ts + 31643 /* "test_getsubtype" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31659 /* "test_setsubtype" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31675 /* "test_frombind" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, } /* test_func.c:674:5 */ // TCLCMD: autoinstall_test_functions @@ -63219,7 +64787,7 @@ func abuse_create_function(tls *libc.TLS, clientData uintptr, interp uintptr, ob __1: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -63231,7 +64799,7 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -63243,7 +64811,7 @@ __2: __3: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { @@ -63253,7 +64821,7 @@ __3: __4: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { goto __5 } @@ -63261,7 +64829,7 @@ __4: __5: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -63271,7 +64839,7 @@ __5: __6: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -63281,7 +64849,7 @@ __6: __7: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -63293,7 +64861,7 @@ __8: rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), - ts+30930, /* "funcxx_123456789..." */ + ts+31692, /* "funcxx_123456789..." */ 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) @@ -63311,7 +64879,7 @@ __9: mxArg = sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), SQLITE_LIMIT_FUNCTION_ARG, -1) rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), - ts+31187, /* "nullx_123456789_..." */ + ts+31949, /* "nullx_123456789_..." */ mxArg, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) @@ -63325,7 +64893,7 @@ __10: return TCL_OK abuse_err: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31443, /* "sqlite3_create_f..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32205, /* "sqlite3_create_f..." */ uintptr(0))) return TCL_ERROR } @@ -63412,7 +64980,7 @@ __2: goto __3 } sqlite3.Xsqlite3_result_error(tls, pCtx, - ts+31486 /* "invalid matchinf..." */, -1) + ts+32248 /* "invalid matchinf..." */, -1) return __3: ; @@ -63473,7 +65041,7 @@ __7: // Jump here if the wrong number of arguments are passed to this function wrong_number_args: - sqlite3.Xsqlite3_result_error(tls, pCtx, ts+31535 /* "wrong number of ..." */, -1) + sqlite3.Xsqlite3_result_error(tls, pCtx, ts+32297 /* "wrong number of ..." */, -1) } func install_fts3_rank_function(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_func.c:910:26: */ @@ -63490,7 +65058,7 @@ func install_fts3_rank_function(tls *libc.TLS, clientData uintptr, interp uintpt if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31580 /* "rank" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+32342 /* "rank" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rankfunc})), uintptr(0), uintptr(0)) return TCL_OK @@ -63520,9 +65088,9 @@ var aObjCmd7 = [3]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 31585 /* "autoinstall_test..." */, FxProc: 0}, - {FzName: ts + 31612 /* "abuse_create_fun..." */, FxProc: 0}, - {FzName: ts + 31634 /* "install_fts3_ran..." */, FxProc: 0}, + {FzName: ts + 32347 /* "autoinstall_test..." */, FxProc: 0}, + {FzName: ts + 32374 /* "abuse_create_fun..." */, FxProc: 0}, + {FzName: ts + 32396 /* "install_fts3_ran..." */, FxProc: 0}, } /* test_func.c:937:5 */ // Some versions of define this macros. @@ -63630,7 +65198,7 @@ func sqlite3TestBinToHex(tls *libc.TLS, zBuf uintptr, N int32) { /* test_hexio.c bp := tls.Alloc(17) defer tls.Free(17) - *(*[17]uint8)(unsafe.Pointer(bp /* zHex */)) = *(*[17]uint8)(unsafe.Pointer(ts + 31661 /* "0123456789ABCDEF" */)) + *(*[17]uint8)(unsafe.Pointer(bp /* zHex */)) = *(*[17]uint8)(unsafe.Pointer(ts + 32423 /* "0123456789ABCDEF" */)) var i int32 var j int32 var c uint8 @@ -63710,7 +65278,7 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o var in uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31678 /* "FILENAME OFFSET ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32440 /* "FILENAME OFFSET ..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &offset */) != 0 { @@ -63726,10 +65294,10 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o } in = libc.Xfopen(tls, zFile, ts+4263 /* "rb" */) if in == uintptr(0) { - in = libc.Xfopen(tls, zFile, ts+31698 /* "r" */) + in = libc.Xfopen(tls, zFile, ts+32460 /* "r" */) } if in == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31700 /* "cannot open inpu..." */, zFile, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32462 /* "cannot open inpu..." */, zFile, 0)) return TCL_ERROR } libc.Xfseek(tls, in, int64(*(*int32)(unsafe.Pointer(bp + 40 /* offset */))), SEEK_SET) @@ -63764,7 +65332,7 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var out uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31724 /* "FILENAME OFFSET ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32486 /* "FILENAME OFFSET ..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24 /* &offset */) != 0 { @@ -63777,12 +65345,12 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } nOut = sqlite3TestHexToBin(tls, zIn, *(*int32)(unsafe.Pointer(bp + 28 /* nIn */)), aOut) - out = libc.Xfopen(tls, zFile, ts+31748 /* "r+b" */) + out = libc.Xfopen(tls, zFile, ts+32510 /* "r+b" */) if out == uintptr(0) { - out = libc.Xfopen(tls, zFile, ts+31752 /* "r+" */) + out = libc.Xfopen(tls, zFile, ts+32514 /* "r+" */) } if out == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31755 /* "cannot open outp..." */, zFile, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32517 /* "cannot open outp..." */, zFile, 0)) return TCL_ERROR } libc.Xfseek(tls, out, int64(*(*int32)(unsafe.Pointer(bp + 24 /* offset */))), SEEK_SET) @@ -63811,7 +65379,7 @@ func hexio_get_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 // var aNum [4]uint8 at bp+4, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31780 /* "HEXDATA" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32542 /* "HEXDATA" */) return TCL_ERROR } zIn = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nIn */) @@ -63894,7 +65462,7 @@ func utf8_to_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(16) tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+31788 /* "[utf8_to_utf8] u..." */, 0)) + libc.VaList(bp, ts+32550 /* "[utf8_to_utf8] u..." */, 0)) return TCL_ERROR } @@ -63939,7 +65507,7 @@ func read_fts3varint(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var nVal int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31842 /* "BLOB VARNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32604 /* "BLOB VARNAME" */) return TCL_ERROR } zBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nBlob */) @@ -63963,7 +65531,7 @@ func make_fts3record(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var i int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31855 /* "LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32617 /* "LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nArg */, bp+8 /* &aArg */) != 0 { @@ -64034,14 +65602,14 @@ var aObjCmd8 = [8]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 31860 /* "hexio_read" */, FxProc: 0}, - {FzName: ts + 31871 /* "hexio_write" */, FxProc: 0}, - {FzName: ts + 31883 /* "hexio_get_int" */, FxProc: 0}, - {FzName: ts + 31897 /* "hexio_render_int..." */, FxProc: 0}, - {FzName: ts + 31916 /* "hexio_render_int..." */, FxProc: 0}, - {FzName: ts + 31935 /* "utf8_to_utf8" */, FxProc: 0}, - {FzName: ts + 31948 /* "read_fts3varint" */, FxProc: 0}, - {FzName: ts + 31964 /* "make_fts3record" */, FxProc: 0}, + {FzName: ts + 32622 /* "hexio_read" */, FxProc: 0}, + {FzName: ts + 32633 /* "hexio_write" */, FxProc: 0}, + {FzName: ts + 32645 /* "hexio_get_int" */, FxProc: 0}, + {FzName: ts + 32659 /* "hexio_render_int..." */, FxProc: 0}, + {FzName: ts + 32678 /* "hexio_render_int..." */, FxProc: 0}, + {FzName: ts + 32697 /* "utf8_to_utf8" */, FxProc: 0}, + {FzName: ts + 32710 /* "read_fts3varint" */, FxProc: 0}, + {FzName: ts + 32726 /* "make_fts3record" */, FxProc: 0}, } /* test_hexio.c:450:5 */ // end block for C++ @@ -64282,14 +65850,14 @@ func init_wrapper_install(tls *libc.TLS, clientData ClientData, interp uintptr, installInitWrappers(tls) for i = 1; i < objc; i++ { var z uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))) - if libc.Xstrcmp(tls, z, ts+31980 /* "mem" */) == 0 { + if libc.Xstrcmp(tls, z, ts+32742 /* "mem" */) == 0 { wrapped.Fmem_fail = 1 - } else if libc.Xstrcmp(tls, z, ts+28576 /* "mutex" */) == 0 { + } else if libc.Xstrcmp(tls, z, ts+29345 /* "mutex" */) == 0 { wrapped.Fmutex_fail = 1 - } else if libc.Xstrcmp(tls, z, ts+31984 /* "pcache" */) == 0 { + } else if libc.Xstrcmp(tls, z, ts+32746 /* "pcache" */) == 0 { wrapped.Fpcache_fail = 1 } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31991 /* "Unknown argument..." */, z, ts+11634 /* "\"" */)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32753 /* "Unknown argument..." */, z, ts+12415 /* "\"" */)) return TCL_ERROR } } @@ -64334,13 +65902,13 @@ func init_wrapper_query(tls *libc.TLS, clientData ClientData, interp uintptr, ob pRet = tcl.XTcl_NewObj(tls) if wrapped.Fmutex_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+28576 /* "mutex" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+29345 /* "mutex" */, -1)) } if wrapped.Fmem_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+31980 /* "mem" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32742 /* "mem" */, -1)) } if wrapped.Fpcache_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+31984 /* "pcache" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32746 /* "pcache" */, -1)) } tcl.XTcl_SetObjResult(tls, interp, pRet) @@ -64364,10 +65932,10 @@ var aObjCmd9 = [4]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 32011 /* "init_wrapper_ins..." */, FxProc: 0}, - {FzName: ts + 32032 /* "init_wrapper_que..." */, FxProc: 0}, - {FzName: ts + 32051 /* "init_wrapper_uni..." */, FxProc: 0}, - {FzName: ts + 32074 /* "init_wrapper_cle..." */, FxProc: 0}, + {FzName: ts + 32773 /* "init_wrapper_ins..." */, FxProc: 0}, + {FzName: ts + 32794 /* "init_wrapper_que..." */, FxProc: 0}, + {FzName: ts + 32813 /* "init_wrapper_uni..." */, FxProc: 0}, + {FzName: ts + 32836 /* "init_wrapper_cle..." */, FxProc: 0}, } /* test_init.c:282:5 */ // @@ -64440,7 +66008,7 @@ func intarrayCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui if pVtab != 0 { libc.Xmemset(tls, pVtab, 0, uint64(unsafe.Sizeof(intarray_vtab{}))) (*intarray_vtab)(unsafe.Pointer(pVtab)).FpContent = pAux - rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+32093 /* "CREATE TABLE x(v..." */) + rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+32855 /* "CREATE TABLE x(v..." */) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab return rc @@ -64550,7 +66118,7 @@ func sqlite3_intarray_create(tls *libc.TLS, db uintptr, zName uintptr, ppReturn *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{intarrayFree}))) if rc == SQLITE_OK { var zSql uintptr - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+32135, /* "CREATE VIRTUAL T..." */ + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+32897, /* "CREATE VIRTUAL T..." */ libc.VaList(bp, zName, zName)) rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) @@ -64621,14 +66189,14 @@ func test_intarray_bind(tls *libc.TLS, clientData ClientData, interp uintptr, ob var a uintptr if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32173 /* "INTARRAY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32935 /* "INTARRAY" */) return TCL_ERROR } pArray = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) n = (objc - 2) a = sqlite3.Xsqlite3_malloc64(tls, (uint64(uint64(unsafe.Sizeof(sqlite3_int64(0))) * uint64(n)))) if a == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32182 /* "SQLITE_NOMEM" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32944 /* "SQLITE_NOMEM" */, uintptr(0))) return TCL_ERROR } for i = 0; i < n; i++ { @@ -64663,8 +66231,8 @@ var aObjCmd10 = [2]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 32195 /* "sqlite3_intarray..." */, FxProc: 0}, - {FzName: ts + 32219 /* "sqlite3_intarray..." */, FxProc: 0}, + {FzName: ts + 32957 /* "sqlite3_intarray..." */, FxProc: 0}, + {FzName: ts + 32981 /* "sqlite3_intarray..." */, FxProc: 0}, } /* test_intarray.c:380:5 */ // Maximum pathname length supported by the jt backend. @@ -64697,7 +66265,7 @@ var jt_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(jt_file{})), // szOsFile FmxPathname: JT_MAX_PATHNAME, // pNext - FzName: ts + 32241, /* "jt" */ // pAppData + FzName: ts + 33003, /* "jt" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -64811,7 +66379,7 @@ func locateDatabaseHandle(tls *libc.TLS, zJournal uintptr, noLock int32) uintptr var pMain uintptr = uintptr(0) enterJtMutex(tls) for pMain = g2.FpList; pMain != 0; pMain = (*jt_file)(unsafe.Pointer(pMain)).FpNext { - var nName int32 = (int32(libc.Xstrlen(tls, zJournal) - libc.Xstrlen(tls, ts+32244 /* "-journal" */))) + var nName int32 = (int32(libc.Xstrlen(tls, zJournal) - libc.Xstrlen(tls, ts+33006 /* "-journal" */))) if (((((*jt_file)(unsafe.Pointer(pMain)).Fflags & SQLITE_OPEN_MAIN_DB) != 0) && (int32(libc.Xstrlen(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName)) == nName)) && (0 == libc.Xmemcmp(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName, zJournal, uint64(nName)))) && @@ -65276,7 +66844,7 @@ func jtOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int // returning. func jtDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* test_journal.c:733:12: */ var nPath int32 = int32(libc.Xstrlen(tls, zPath)) - if (nPath > 8) && (0 == libc.Xstrcmp(tls, ts+32244 /* "-journal" */, (zPath+uintptr((nPath-8))))) { + if (nPath > 8) && (0 == libc.Xstrcmp(tls, ts+33006 /* "-journal" */, (zPath+uintptr((nPath-8))))) { // Deleting a journal file. The end of a transaction. var pMain uintptr = locateDatabaseHandle(tls, zPath, 0) if pMain != 0 { @@ -65767,7 +67335,7 @@ func pointerToText(tls *libc.TLS, p uintptr, z uintptr) { /* test_malloc.c:239:1 // var n sqlite3_uint64 at bp, 8 if *(*uintptr)(unsafe.Pointer(bp + 8 /* p */)) == uintptr(0) { - libc.Xstrcpy(tls, z, ts+13873 /* "0" */) + libc.Xstrcpy(tls, z, ts+14654 /* "0" */) return } if uint64(unsafe.Sizeof(sqlite3_uint64(0))) == uint64(unsafe.Sizeof(uintptr(0))) { @@ -65800,7 +67368,7 @@ __3: *(*int8)(unsafe.Pointer(z + 16)) = int8(0) } -var zHex = *(*[17]int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */)) /* test_malloc.c:240:21 */ +var zHex = *(*[17]int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */)) /* test_malloc.c:240:21 */ func hexToInt(tls *libc.TLS, h int32) int32 { /* test_malloc.c:262:12: */ if (h >= '0') && (h <= '9') { @@ -65856,7 +67424,7 @@ func test_malloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zOut [100]int8 at bp+20, 100 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32253 /* "NBYTES" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33015 /* "NBYTES" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &nByte */) != 0 { @@ -65883,14 +67451,14 @@ func test_realloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zOut [100]int8 at bp+56, 100 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32260 /* "PRIOR NBYTES" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33022 /* "PRIOR NBYTES" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &nByte */) != 0 { return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &pPrior */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } p = sqlite3.Xsqlite3_realloc(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pPrior */)), int32(uint32(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))))) @@ -65909,11 +67477,11 @@ func test_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob // var pPrior uintptr at bp+24, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32287 /* "PRIOR" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33049 /* "PRIOR" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &pPrior */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPrior */))) @@ -65940,18 +67508,18 @@ func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zBin [100]int8 at bp+72, 100 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32293 /* "ADDRESS SIZE HEX" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33055 /* "ADDRESS SIZE HEX" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &p */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64 /* &size */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 64 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32310 /* "size must be pos..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+33072 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } zHex = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+68 /* &n */) @@ -65960,7 +67528,7 @@ func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } *(*int32)(unsafe.Pointer(bp + 68 /* n */)) = sqlite3TestHexToBin(tls, zHex, *(*int32)(unsafe.Pointer(bp + 68 /* n */)), bp+72 /* &zBin[0] */) if *(*int32)(unsafe.Pointer(bp + 68 /* n */)) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+32332 /* "no data" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+33094 /* "no data" */, uintptr(0))) return TCL_ERROR } zOut = *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) @@ -65986,18 +67554,18 @@ func test_memget(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zHex [100]int8 at bp+68, 100 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32340 /* "ADDRESS SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33102 /* "ADDRESS SIZE" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &p */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64 /* &size */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 64 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32310 /* "size must be pos..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+33072 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } zBin = *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) @@ -66033,7 +67601,7 @@ func test_memory_highwater(tls *libc.TLS, clientData uintptr, interp uintptr, ob *(*int32)(unsafe.Pointer(bp /* resetFlag */)) = 0 if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32353 /* "?RESET?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33115 /* "?RESET?" */) return TCL_ERROR } if objc == 2 { @@ -66057,7 +67625,7 @@ func test_memdebug_backtrace(tls *libc.TLS, clientData uintptr, interp uintptr, // var depth int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32361 /* "DEPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33123 /* "DEPT" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &depth */) != 0 { @@ -66071,7 +67639,7 @@ func test_memdebug_backtrace(tls *libc.TLS, clientData uintptr, interp uintptr, // Write a summary of unfreed memory to FILENAME. func test_memdebug_dump(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:542:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } return TCL_OK @@ -66119,7 +67687,7 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc var nFail int32 = 0 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32375 /* "COUNTER ?OPTIONS..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33137 /* "COUNTER ?OPTIONS..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &iFail */) != 0 { @@ -66132,22 +67700,22 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc var zOption uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(ii)*8)), bp+28 /* &nOption */) var zErr uintptr = uintptr(0) - if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32393 /* "-repeat" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { + if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+33155 /* "-repeat" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { if ii == (objc - 1) { - zErr = ts + 12327 /* "option requires ..." */ + zErr = ts + 13108 /* "option requires ..." */ } else { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*8)), bp+32 /* &nRepeat */) != 0 { return TCL_ERROR } } - } else if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32401 /* "-benigncnt" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { + } else if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+33163 /* "-benigncnt" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { if ii == (objc - 1) { - zErr = ts + 12327 /* "option requires ..." */ + zErr = ts + 13108 /* "option requires ..." */ } else { pBenignCnt = *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*8)) } } else { - zErr = ts + 12133 /* "unknown option: " */ + zErr = ts + 12914 /* "unknown option: " */ } if zErr != 0 { @@ -66199,7 +67767,7 @@ var sqlite3_memdebug_title_count int32 = 0 /* test_malloc.c:694:12 */ func test_memdebug_settitle(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:706:26: */ sqlite3_memdebug_title_count++ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32412 /* "TITLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33174 /* "TITLE" */) return TCL_ERROR } return TCL_OK @@ -66252,7 +67820,7 @@ func test_memdebug_log(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32418 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33180 /* "SUB-COMMAND ..." */) } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&MB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) != 0 { return TCL_ERROR @@ -66316,7 +67884,7 @@ func test_memdebug_log(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } var isInit int32 = 0 /* test_malloc.c:793:14 */ -var MB_strs = [5]uintptr{ts + 32434 /* "start" */, ts + 32440 /* "stop" */, ts + 32445 /* "dump" */, ts + 32450 /* "clear" */, ts + 32456 /* "sync" */} /* test_malloc.c:796:21 */ +var MB_strs = [5]uintptr{ts + 33196 /* "start" */, ts + 33202 /* "stop" */, ts + 33207 /* "dump" */, ts + 33212 /* "clear" */, ts + 33218 /* "sync" */} /* test_malloc.c:796:21 */ // Usage: sqlite3_config_pagecache SIZE N // @@ -66336,7 +67904,7 @@ func test_config_pagecache(tls *libc.TLS, clientData uintptr, interp uintptr, ob var pRes uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32461 /* "SIZE N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33223 /* "SIZE N" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+48 /* &sz */) != 0 { @@ -66384,7 +67952,7 @@ func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int *(*int32)(unsafe.Pointer(bp + 28 /* highStress */)) = 0 if (objc < 2) || (objc > 5) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+32468 /* "INSTALLFLAG DISC..." */) + ts+33230 /* "INSTALLFLAG DISC..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &installFlag */) != 0 { @@ -66400,7 +67968,7 @@ func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int return TCL_ERROR } if (*(*int32)(unsafe.Pointer(bp + 20 /* discardChance */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 20 /* discardChance */)) > 100) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32515, /* "discard-chance s..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33277, /* "discard-chance s..." */ uintptr(0))) return TCL_ERROR } @@ -66420,7 +67988,7 @@ func test_config_memstatus(tls *libc.TLS, clientData uintptr, interp uintptr, ob var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &enable */) != 0 { @@ -66443,7 +68011,7 @@ func test_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, ob var pRet uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32558 /* "SIZE COUNT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33320 /* "SIZE COUNT" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &sz */) != 0 { @@ -66481,7 +68049,7 @@ func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, // var bufid int32 at bp+72, 4 if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32569 /* "BUFID SIZE COUNT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33331 /* "BUFID SIZE COUNT" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -66501,7 +68069,7 @@ func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, } else if ((*(*int32)(unsafe.Pointer(bp + 72 /* bufid */)) >= 1) && (*(*int32)(unsafe.Pointer(bp + 72 /* bufid */)) <= 2)) && ((uint64(*(*int32)(unsafe.Pointer(bp + 76 /* sz */)) * *(*int32)(unsafe.Pointer(bp + 80 /* cnt */)))) <= uint64(unsafe.Sizeof([10000]int8{}))) { rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+24, (uintptr(unsafe.Pointer(&azBuf))+uintptr(*(*int32)(unsafe.Pointer(bp + 72 /* bufid */)))*10000), *(*int32)(unsafe.Pointer(bp + 76 /* sz */)), *(*int32)(unsafe.Pointer(bp + 80 /* cnt */)))) } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+32586 /* "illegal argument..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+33348 /* "illegal argument..." */, uintptr(0))) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) @@ -66525,7 +68093,7 @@ func test_config_heap(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var nArg int32 = (objc - 1) if nArg != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32624 /* "NBYTE NMINALLOC" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33386 /* "NBYTE NMINALLOC" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+48 /* &nByte */) != 0 { @@ -66563,7 +68131,7 @@ func test_config_heap_size(tls *libc.TLS, clientData uintptr, interp uintptr, ob var nArg int32 = (objc - 1) if nArg != 1 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15910 /* "NBYTE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+8 /* &nByte */) != 0 { @@ -66587,7 +68155,7 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+32, 8 if (objc != 2) && (objc != 1) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32640 /* "[DB]" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33402 /* "[DB]" */) return TCL_ERROR } if objc == 2 { @@ -66596,14 +68164,14 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } if sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+32645, /* "sqlite3_db_confi..." */ + libc.VaList(bp, ts+33407, /* "sqlite3_db_confi..." */ uintptr(0))) return TCL_ERROR } } else { if sqlite3.Xsqlite3_config(tls, 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+16, ts+32703, /* "sqlite3_config(9..." */ + libc.VaList(bp+16, ts+33465, /* "sqlite3_config(9..." */ uintptr(0))) return TCL_ERROR } @@ -66623,7 +68191,7 @@ func test_config_uri(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var bOpenUri int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &bOpenUri */) != 0 { @@ -66648,7 +68216,7 @@ func test_config_cis(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var bUseCis int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &bUseCis */) != 0 { @@ -66672,7 +68240,7 @@ func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var iPmaSz int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &iPmaSz */) != 0 { @@ -66691,7 +68259,7 @@ func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // Write a summary of unfreed memsys3 allocations to FILENAME. func test_dump_memsys3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:1251:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } @@ -66729,7 +68297,7 @@ func test_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zOpName uintptr var pResult uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32754 /* "PARAMETER RESETF..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33516 /* "PARAMETER RESETF..." */) return TCL_ERROR } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -66771,16 +68339,16 @@ var aOp1 = [10]struct { Fop int32 _ [4]byte }{ - {FzName: ts + 32774 /* "SQLITE_STATUS_ME..." */}, - {FzName: ts + 32800 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, - {FzName: ts + 32826 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_USED}, - {FzName: ts + 32855 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_OVERFLOW}, - {FzName: ts + 32888 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_SIZE}, - {FzName: ts + 32917 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_USED}, - {FzName: ts + 32944 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_OVERFLOW}, - {FzName: ts + 32975 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_SIZE}, - {FzName: ts + 33002 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PARSER_STACK}, - {FzName: ts + 33029 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_COUNT}, + {FzName: ts + 33536 /* "SQLITE_STATUS_ME..." */}, + {FzName: ts + 33562 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, + {FzName: ts + 33588 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_USED}, + {FzName: ts + 33617 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_OVERFLOW}, + {FzName: ts + 33650 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_SIZE}, + {FzName: ts + 33679 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_USED}, + {FzName: ts + 33706 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_OVERFLOW}, + {FzName: ts + 33737 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_SIZE}, + {FzName: ts + 33764 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PARSER_STACK}, + {FzName: ts + 33791 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_COUNT}, } /* test_malloc.c:1299:5 */ // Usage: sqlite3_db_status DATABASE OPCODE RESETFLAG @@ -66805,17 +68373,17 @@ func test_db_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var pResult uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33056 /* "DB PARAMETER RES..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33818 /* "DB PARAMETER RES..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if libc.Xmemcmp(tls, zOpName, ts+33079 /* "SQLITE_" */, uint64(7)) == 0 { + if libc.Xmemcmp(tls, zOpName, ts+33841 /* "SQLITE_" */, uint64(7)) == 0 { zOpName += uintptr(7) } - if libc.Xmemcmp(tls, zOpName, ts+33087 /* "DBSTATUS_" */, uint64(9)) == 0 { + if libc.Xmemcmp(tls, zOpName, ts+33849 /* "DBSTATUS_" */, uint64(9)) == 0 { zOpName += uintptr(9) } for i = 0; i < (int32(uint64(unsafe.Sizeof(aOp2)) / uint64(unsafe.Sizeof(struct { @@ -66856,19 +68424,19 @@ var aOp2 = [13]struct { Fop int32 _ [4]byte }{ - {FzName: ts + 33097 /* "LOOKASIDE_USED" */}, - {FzName: ts + 33112 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, - {FzName: ts + 33123 /* "SCHEMA_USED" */, Fop: SQLITE_DBSTATUS_SCHEMA_USED}, - {FzName: ts + 33135 /* "STMT_USED" */, Fop: SQLITE_DBSTATUS_STMT_USED}, - {FzName: ts + 33145 /* "LOOKASIDE_HIT" */, Fop: SQLITE_DBSTATUS_LOOKASIDE_HIT}, - {FzName: ts + 33159 /* "LOOKASIDE_MISS_S..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE}, - {FzName: ts + 33179 /* "LOOKASIDE_MISS_F..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL}, - {FzName: ts + 33199 /* "CACHE_HIT" */, Fop: SQLITE_DBSTATUS_CACHE_HIT}, - {FzName: ts + 33209 /* "CACHE_MISS" */, Fop: SQLITE_DBSTATUS_CACHE_MISS}, - {FzName: ts + 33220 /* "CACHE_WRITE" */, Fop: SQLITE_DBSTATUS_CACHE_WRITE}, - {FzName: ts + 33232 /* "DEFERRED_FKS" */, Fop: SQLITE_DBSTATUS_DEFERRED_FKS}, - {FzName: ts + 33245 /* "CACHE_USED_SHARE..." */, Fop: SQLITE_DBSTATUS_CACHE_USED_SHARED}, - {FzName: ts + 33263 /* "CACHE_SPILL" */, Fop: SQLITE_DBSTATUS_CACHE_SPILL}, + {FzName: ts + 33859 /* "LOOKASIDE_USED" */}, + {FzName: ts + 33874 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, + {FzName: ts + 33885 /* "SCHEMA_USED" */, Fop: SQLITE_DBSTATUS_SCHEMA_USED}, + {FzName: ts + 33897 /* "STMT_USED" */, Fop: SQLITE_DBSTATUS_STMT_USED}, + {FzName: ts + 33907 /* "LOOKASIDE_HIT" */, Fop: SQLITE_DBSTATUS_LOOKASIDE_HIT}, + {FzName: ts + 33921 /* "LOOKASIDE_MISS_S..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE}, + {FzName: ts + 33941 /* "LOOKASIDE_MISS_F..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL}, + {FzName: ts + 33961 /* "CACHE_HIT" */, Fop: SQLITE_DBSTATUS_CACHE_HIT}, + {FzName: ts + 33971 /* "CACHE_MISS" */, Fop: SQLITE_DBSTATUS_CACHE_MISS}, + {FzName: ts + 33982 /* "CACHE_WRITE" */, Fop: SQLITE_DBSTATUS_CACHE_WRITE}, + {FzName: ts + 33994 /* "DEFERRED_FKS" */, Fop: SQLITE_DBSTATUS_DEFERRED_FKS}, + {FzName: ts + 34007 /* "CACHE_USED_SHARE..." */, Fop: SQLITE_DBSTATUS_CACHE_USED_SHARED}, + {FzName: ts + 34025 /* "CACHE_SPILL" */, Fop: SQLITE_DBSTATUS_CACHE_SPILL}, } /* test_malloc.c:1358:5 */ // install_malloc_faultsim BOOLEAN @@ -66880,7 +68448,7 @@ func test_install_malloc_faultsim(tls *libc.TLS, clientData uintptr, interp uint // var isInstall int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &isInstall */) { @@ -66903,7 +68471,7 @@ func test_vfs_oom_test(tls *libc.TLS, clientData uintptr, interp uintptr, objc i defer tls.Free(4) if objc > 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33275 /* "?INTEGER?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34037 /* "?INTEGER?" */) return TCL_ERROR } else if objc == 2 { // var iNew int32 at bp, 4 @@ -66938,38 +68506,38 @@ var aObjCmd11 = [32]struct { FclientData int32 _ [4]byte }{ - {FzName: ts + 27612 /* "sqlite3_malloc" */, FxProc: 0}, - {FzName: ts + 27627 /* "sqlite3_realloc" */, FxProc: 0}, - {FzName: ts + 33285 /* "sqlite3_free" */, FxProc: 0}, - {FzName: ts + 33298 /* "memset" */, FxProc: 0}, - {FzName: ts + 33305 /* "memget" */, FxProc: 0}, - {FzName: ts + 33312 /* "sqlite3_memory_u..." */, FxProc: 0}, - {FzName: ts + 33332 /* "sqlite3_memory_h..." */, FxProc: 0}, - {FzName: ts + 33357 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33384 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33406 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33428 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33453 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33479 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33509 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33530 /* "sqlite3_config_p..." */, FxProc: 0}, - {FzName: ts + 33555 /* "sqlite3_config_a..." */, FxProc: 0}, - {FzName: ts + 33581 /* "sqlite3_status" */, FxProc: 0}, - {FzName: ts + 33596 /* "sqlite3_db_statu..." */, FxProc: 0}, - {FzName: ts + 33614 /* "install_malloc_f..." */, FxProc: 0}, - {FzName: ts + 33638 /* "sqlite3_config_h..." */, FxProc: 0}, - {FzName: ts + 33658 /* "sqlite3_config_h..." */, FxProc: 0}, - {FzName: ts + 33683 /* "sqlite3_config_m..." */, FxProc: 0}, - {FzName: ts + 33708 /* "sqlite3_config_l..." */, FxProc: 0}, - {FzName: ts + 33733 /* "sqlite3_config_e..." */, FxProc: 0}, - {FzName: ts + 33754 /* "sqlite3_config_u..." */, FxProc: 0}, - {FzName: ts + 33773 /* "sqlite3_config_c..." */, FxProc: 0}, - {FzName: ts + 33792 /* "sqlite3_config_p..." */, FxProc: 0}, - {FzName: ts + 33813 /* "sqlite3_db_confi..." */, FxProc: 0}, - {FzName: ts + 33841 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 3}, - {FzName: ts + 33862 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 5}, - {FzName: ts + 33883 /* "sqlite3_install_..." */, FxProc: 0}, - {FzName: ts + 33907 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 28381 /* "sqlite3_malloc" */, FxProc: 0}, + {FzName: ts + 28396 /* "sqlite3_realloc" */, FxProc: 0}, + {FzName: ts + 34047 /* "sqlite3_free" */, FxProc: 0}, + {FzName: ts + 34060 /* "memset" */, FxProc: 0}, + {FzName: ts + 34067 /* "memget" */, FxProc: 0}, + {FzName: ts + 34074 /* "sqlite3_memory_u..." */, FxProc: 0}, + {FzName: ts + 34094 /* "sqlite3_memory_h..." */, FxProc: 0}, + {FzName: ts + 34119 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34146 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34168 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34190 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34215 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34241 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34271 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34292 /* "sqlite3_config_p..." */, FxProc: 0}, + {FzName: ts + 34317 /* "sqlite3_config_a..." */, FxProc: 0}, + {FzName: ts + 34343 /* "sqlite3_status" */, FxProc: 0}, + {FzName: ts + 34358 /* "sqlite3_db_statu..." */, FxProc: 0}, + {FzName: ts + 34376 /* "install_malloc_f..." */, FxProc: 0}, + {FzName: ts + 34400 /* "sqlite3_config_h..." */, FxProc: 0}, + {FzName: ts + 34420 /* "sqlite3_config_h..." */, FxProc: 0}, + {FzName: ts + 34445 /* "sqlite3_config_m..." */, FxProc: 0}, + {FzName: ts + 34470 /* "sqlite3_config_l..." */, FxProc: 0}, + {FzName: ts + 34495 /* "sqlite3_config_e..." */, FxProc: 0}, + {FzName: ts + 34516 /* "sqlite3_config_u..." */, FxProc: 0}, + {FzName: ts + 34535 /* "sqlite3_config_c..." */, FxProc: 0}, + {FzName: ts + 34554 /* "sqlite3_config_p..." */, FxProc: 0}, + {FzName: ts + 34575 /* "sqlite3_db_confi..." */, FxProc: 0}, + {FzName: ts + 34603 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 3}, + {FzName: ts + 34624 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 5}, + {FzName: ts + 34645 /* "sqlite3_install_..." */, FxProc: 0}, + {FzName: ts + 34669 /* "sqlite3_memdebug..." */, FxProc: 0}, } /* test_malloc.c:1472:5 */ // Some versions of define this macros. @@ -67361,7 +68929,7 @@ func MD5DigestToBase16(tls *libc.TLS, digest uintptr, zBuf uintptr) { /* test_md *(*int8)(unsafe.Pointer(zBuf + uintptr(j))) = int8(0) } -var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */)) /* test_md5.c:285:21 */ +var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */)) /* test_md5.c:285:21 */ // Convert a 128-bit MD5 digest into sequency of eight 5-digit integers // each representing 16 bits of the digest and separated from each @@ -67378,7 +68946,7 @@ func MD5DigestToBase10x8(tls *libc.TLS, digest uintptr, zDigest uintptr) { /* te if i > 0 { *(*int8)(unsafe.Pointer(zDigest + uintptr(libc.PostIncInt32(&j, 1)))) = int8('-') } - sqlite3.Xsqlite3_snprintf(tls, (50 - j), (zDigest + uintptr(j)), ts+33937 /* "%05u" */, libc.VaList(bp, x)) + sqlite3.Xsqlite3_snprintf(tls, (50 - j), (zDigest + uintptr(j)), ts+34699 /* "%05u" */, libc.VaList(bp, x)) j = j + (5) } *(*int8)(unsafe.Pointer(zDigest + uintptr(j))) = int8(0) @@ -67399,8 +68967,8 @@ func md5_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uintptr var converter uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14992 /* " TEXT\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15773 /* " TEXT\"" */, uintptr(0))) return TCL_ERROR } MD5Init(tls, bp+48 /* &ctx */) @@ -67429,8 +68997,8 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin // var zBuf [10240]int8 at bp+172, 10240 if (argc != 2) && (argc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+33942 /* " FILENAME [OFFSE..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+34704 /* " FILENAME [OFFSE..." */, uintptr(0))) return TCL_ERROR } if argc == 4 { @@ -67442,8 +69010,8 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin } in = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+4263 /* "rb" */) if in == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+33966 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), - ts+33988 /* "\" for reading" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+34728 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), + ts+34750 /* "\" for reading" */, uintptr(0))) return TCL_ERROR } libc.Xfseek(tls, in, int64(ofst), SEEK_SET) @@ -67473,25 +69041,25 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin // Register the four new TCL commands for generating MD5 checksums // with the TCL interpreter. func Md5_Init(tls *libc.TLS, interp uintptr) int32 { /* test_md5.c:400:5: */ - tcl.XTcl_CreateCommand(tls, interp, ts+34002 /* "md5" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34764 /* "md5" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase16})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34006 /* "md5-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34768 /* "md5-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase10x8})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34015 /* "md5file" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34777 /* "md5file" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5file_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase16})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34023 /* "md5file-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34785 /* "md5file-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5file_cmd})), *(*uintptr)(unsafe.Pointer(&struct { @@ -67539,11 +69107,11 @@ func md5finalize(tls *libc.TLS, context uintptr) { /* test_md5.c:432:13: */ } func Md5_Register(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk uintptr) int32 { /* test_md5.c:441:5: */ - var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+34036 /* "md5sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), + var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+34798 /* "md5sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{md5step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{md5finalize}))) - sqlite3.Xsqlite3_overload_function(tls, db, ts+34036 /* "md5sum" */, -1) // To exercise this API + sqlite3.Xsqlite3_overload_function(tls, db, ts+34798 /* "md5sum" */, -1) // To exercise this API return rc } @@ -67713,7 +69281,7 @@ func multiplexFilename(tls *libc.TLS, zBase uintptr, nBase int32, flags int32, i var n int32 = nBase libc.Xmemcpy(tls, zOut, zBase, (uint64(n + 1))) if (iChunk != 0) && (iChunk <= MX_CHUNK_NUMBER) { - sqlite3.Xsqlite3_snprintf(tls, 4, (zOut + uintptr(n)), ts+34043 /* "%03d" */, libc.VaList(bp, iChunk)) + sqlite3.Xsqlite3_snprintf(tls, 4, (zOut + uintptr(n)), ts+34805 /* "%03d" */, libc.VaList(bp, iChunk)) n = n + (3) } @@ -67779,7 +69347,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p SQLITE_ACCESS_EXISTS, bp+16 /* &bExists */) if (*(*int32)(unsafe.Pointer(rc)) != 0) || !(*(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) != 0) { if *(*int32)(unsafe.Pointer(rc)) != 0 { - sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34048, /* "multiplexor.xAcc..." */ + sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34810, /* "multiplexor.xAcc..." */ libc.VaList(bp, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz)) } return uintptr(0) @@ -67795,7 +69363,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p *(*int32)(unsafe.Pointer(rc)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 40 /* &.xOpen */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, pSubOpen, flags, pOutFlags) if (*(*int32)(unsafe.Pointer(rc))) != SQLITE_OK { - sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34082, /* "multiplexor.xOpe..." */ + sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34844, /* "multiplexor.xOpe..." */ libc.VaList(bp+8, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz)) sqlite3.Xsqlite3_free(tls, pSubOpen) (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*16)).Fp = uintptr(0) @@ -67871,7 +69439,7 @@ func multiplexControlFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp // multiplex_control() function. func multiplexFuncInit(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 { /* test_multiplex.c:417:12: */ var rc int32 - rc = sqlite3.Xsqlite3_create_function(tls, db, ts+34114 /* "multiplex_contro..." */, 2, SQLITE_ANY, + rc = sqlite3.Xsqlite3_create_function(tls, db, ts+34876 /* "multiplex_contro..." */, 2, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{multiplexControlFunc})), uintptr(0), uintptr(0)) @@ -67956,9 +69524,9 @@ func multiplexOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, fl libc.Xmemset(tls, pGroup, 0, uint64(sz)) (*multiplexConn)(unsafe.Pointer(pMultiplexOpen)).FpGroup = pGroup (*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled = libc.Uint8(libc.Uint8FromInt32(-1)) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(sqlite3.Xsqlite3_uri_boolean(tls, zUri, ts+17962, /* "truncate" */ + (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(sqlite3.Xsqlite3_uri_boolean(tls, zUri, ts+18743, /* "truncate" */ (libc.Bool32((flags & SQLITE_OPEN_MAIN_DB) == 0)))) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(sqlite3.Xsqlite3_uri_int64(tls, zUri, ts+34132, /* "chunksize" */ + (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(sqlite3.Xsqlite3_uri_int64(tls, zUri, ts+34894, /* "chunksize" */ int64(SQLITE_MULTIPLEX_CHUNK_SIZE)))) (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = (((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk + uint32(0xffff)) & libc.Uint32FromInt32(libc.CplInt32(0xffff))) if zName != 0 { @@ -68429,13 +69997,13 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) // second element of the array is the name of the pragma and the third // element is the argument to the pragma or NULL if the pragma has no // argument. - if (*(*uintptr)(unsafe.Pointer(aFcntl + 1*8)) != 0) && (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)), ts+34142 /* "multiplex_trunca..." */) == 0) { + if (*(*uintptr)(unsafe.Pointer(aFcntl + 1*8)) != 0) && (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)), ts+34904 /* "multiplex_trunca..." */) == 0) { if (*(*uintptr)(unsafe.Pointer(aFcntl + 2*8)) != 0) && (*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(aFcntl + 2*8)))) != 0) { if (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+4039 /* "on" */) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+28325 /* "1" */) == 0) { + (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+29094 /* "1" */) == 0) { (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(1) } else if (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+4403 /* "off" */) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+13873 /* "0" */) == 0) { + (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+14654 /* "0" */) == 0) { (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(0) } } @@ -68463,7 +70031,7 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) if pSubOpen != 0 { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 80 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34161 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34923 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } } break @@ -68585,7 +70153,7 @@ func sqlite3_multiplex_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefau gMultiplex.FpOrigVfs = pOrigVfs gMultiplex.FsThisVfs = *(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)) *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gMultiplex)) + 8 /* &.sThisVfs */ + 4 /* &.szOsFile */)) += int32((uint64(unsafe.Sizeof(multiplexConn{})))) - gMultiplex.FsThisVfs.FzName = ts + 34174 /* "multiplex" */ + gMultiplex.FsThisVfs.FzName = ts + 34936 /* "multiplex" */ gMultiplex.FsThisVfs.FxOpen = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 }{multiplexOpen})) @@ -68716,7 +70284,7 @@ func test_multiplex_initialize(tls *libc.TLS, clientData uintptr, interp uintptr // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34184 /* "NAME MAKEDEFAULT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34946 /* "NAME MAKEDEFAULT" */) return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -68740,11 +70308,11 @@ func test_multiplex_shutdown(tls *libc.TLS, clientData uintptr, interp uintptr, _ = clientData - if (objc == 2) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+34201 /* "-force" */) != 0) { + if (objc == 2) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+34963 /* "-force" */) != 0) { objc = 3 } if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34208 /* "?-force?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34970 /* "?-force?" */) return TCL_ERROR } @@ -68778,20 +70346,20 @@ func test_multiplex_control(tls *libc.TLS, cd ClientData, interp uintptr, objc i Fop int32 Fargtype int32 }{ - {FzName: ts + 34217 /* "enable" */, Fop: MULTIPLEX_CTRL_ENABLE, Fargtype: 1}, - {FzName: ts + 34224 /* "chunk_size" */, Fop: MULTIPLEX_CTRL_SET_CHUNK_SIZE, Fargtype: 1}, - {FzName: ts + 34235 /* "max_chunks" */, Fop: MULTIPLEX_CTRL_SET_MAX_CHUNKS, Fargtype: 1}, + {FzName: ts + 10608 /* "enable" */, Fop: MULTIPLEX_CTRL_ENABLE, Fargtype: 1}, + {FzName: ts + 34979 /* "chunk_size" */, Fop: MULTIPLEX_CTRL_SET_CHUNK_SIZE, Fargtype: 1}, + {FzName: ts + 34990 /* "max_chunks" */, Fop: MULTIPLEX_CTRL_SET_MAX_CHUNKS, Fargtype: 1}, {}, } if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34246 /* "HANDLE DBNAME SU..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35001 /* "HANDLE DBNAME SU..." */) return TCL_ERROR } if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &cmdInfo */) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34282 /* "expected databas..." */, 0)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35037 /* "expected databas..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+12415 /* "\"" */, 0)) return TCL_ERROR } else { db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 40 /* &cmdInfo */)).FobjClientData)) @@ -68855,9 +70423,9 @@ var aCmd7 = [3]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 34314 /* "sqlite3_multiple..." */, FxProc: 0}, - {FzName: ts + 34343 /* "sqlite3_multiple..." */, FxProc: 0}, - {FzName: ts + 34370 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35069 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35098 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35125 /* "sqlite3_multiple..." */, FxProc: 0}, } /* test_multiplex.c:1310:5 */ // CAPI3REF: Standard File Control Opcodes @@ -69211,10 +70779,10 @@ var aCmd7 = [3]struct { type sqlite3_mutex = sqlite3_mutex1 /* sqlite3.h:1206:30 */ var aName = [15]uintptr{ - ts + 34396 /* "fast" */, ts + 34401 /* "recursive" */, ts + 34411 /* "static_main" */, ts + 34423, /* "static_mem" */ - ts + 34434 /* "static_open" */, ts + 34446 /* "static_prng" */, ts + 34458 /* "static_lru" */, ts + 34469, /* "static_pmem" */ - ts + 34481 /* "static_app1" */, ts + 34493 /* "static_app2" */, ts + 34505 /* "static_app3" */, ts + 34517, /* "static_vfs1" */ - ts + 34529 /* "static_vfs2" */, ts + 34541 /* "static_vfs3" */, uintptr(0), + ts + 35151 /* "fast" */, ts + 35156 /* "recursive" */, ts + 35166 /* "static_main" */, ts + 35178, /* "static_mem" */ + ts + 35189 /* "static_open" */, ts + 35201 /* "static_prng" */, ts + 35213 /* "static_lru" */, ts + 35224, /* "static_pmem" */ + ts + 35236 /* "static_app1" */, ts + 35248 /* "static_app2" */, ts + 35260 /* "static_app3" */, ts + 35272, /* "static_vfs1" */ + ts + 35284 /* "static_vfs2" */, ts + 35296 /* "static_vfs3" */, uintptr(0), } /* test_mutex.c:32:19 */ // State variables @@ -69373,7 +70941,7 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp } if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+56 /* &isInstall */) { @@ -69381,12 +70949,12 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp } if *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) == g3.FisInstalled { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34553 /* "mutex counters a..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35308 /* "mutex counters a..." */, 0)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, func() uintptr { if *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) != 0 { - return ts + 34573 /* "already installe..." */ + return ts + 35328 /* "already installe..." */ } - return ts + 34591 /* "not installed" */ + return ts + 35346 /* "not installed" */ }(), 0)) return TCL_ERROR } @@ -69465,7 +71033,7 @@ func test_alloc_mutex(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // var zBuf [100]int8 at bp+24, 100 sqlite3.Xsqlite3_mutex_free(tls, p) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24 /* &zBuf[0] */, uintptr(0))) return TCL_OK } @@ -69484,9 +71052,9 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(68) *(*[4]ConfigOption)(unsafe.Pointer(bp /* aOpt */)) = [4]ConfigOption{ - {FzName: ts + 34605 /* "singlethread" */, FiValue: SQLITE_CONFIG_SINGLETHREAD}, - {FzName: ts + 34618 /* "multithread" */, FiValue: SQLITE_CONFIG_MULTITHREAD}, - {FzName: ts + 34630 /* "serialized" */, FiValue: SQLITE_CONFIG_SERIALIZED}, + {FzName: ts + 35360 /* "singlethread" */, FiValue: SQLITE_CONFIG_SINGLETHREAD}, + {FzName: ts + 35373 /* "multithread" */, FiValue: SQLITE_CONFIG_MULTITHREAD}, + {FzName: ts + 35385 /* "serialized" */, FiValue: SQLITE_CONFIG_SERIALIZED}, {}, } var s int32 = int32(unsafe.Sizeof(ConfigOption{})) @@ -69499,7 +71067,7 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aOpt[0] */, s, ts+17204 /* "flag" */, 0, bp+64 /* &i */) != 0 { + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aOpt[0] */, s, ts+17985 /* "flag" */, 0, bp+64 /* &i */) != 0 { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &i */) != 0 { return TCL_ERROR } @@ -69541,7 +71109,7 @@ func getStaticMutexPointer(tls *libc.TLS, pInterp uintptr, pObj uintptr) uintptr // var iMutex int32 at bp, 4 - if tcl.XTcl_GetIndexFromObjStruct(tls, pInterp, pObj, uintptr(unsafe.Pointer(&aName)), int32(unsafe.Sizeof(uintptr(0))), ts+34641 /* "mutex name" */, 0, bp /* &iMutex */) != 0 { + if tcl.XTcl_GetIndexFromObjStruct(tls, pInterp, pObj, uintptr(unsafe.Pointer(&aName)), int32(unsafe.Sizeof(uintptr(0))), ts+35396 /* "mutex name" */, 0, bp /* &iMutex */) != 0 { return uintptr(0) } @@ -69613,9 +71181,9 @@ func Sqlitetest_mutex_Init(tls *libc.TLS, interp uintptr) int32 { /* test_mutex. tcl.XTcl_CreateObjCommand(tls, interp, aCmd8[i].FzName, aCmd8[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+34652, /* "disable_mutex_in..." */ + tcl.XTcl_LinkVar(tls, interp, ts+35407, /* "disable_mutex_in..." */ (uintptr(unsafe.Pointer(&g3)) + 4 /* &.disableInit */), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+34671, /* "disable_mutex_tr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+35426, /* "disable_mutex_tr..." */ (uintptr(unsafe.Pointer(&g3)) + 8 /* &.disableTry */), TCL_LINK_INT) return SQLITE_OK } @@ -69624,20 +71192,20 @@ var aCmd8 = [11]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 34689 /* "sqlite3_shutdown" */, FxProc: 0}, - {FzName: ts + 34706 /* "sqlite3_initiali..." */, FxProc: 0}, - {FzName: ts + 34725 /* "sqlite3_config" */, FxProc: 0}, + {FzName: ts + 35444 /* "sqlite3_shutdown" */, FxProc: 0}, + {FzName: ts + 35461 /* "sqlite3_initiali..." */, FxProc: 0}, + {FzName: ts + 35480 /* "sqlite3_config" */, FxProc: 0}, - {FzName: ts + 34740 /* "enter_static_mut..." */, FxProc: 0}, - {FzName: ts + 34759 /* "leave_static_mut..." */, FxProc: 0}, + {FzName: ts + 35495 /* "enter_static_mut..." */, FxProc: 0}, + {FzName: ts + 35514 /* "leave_static_mut..." */, FxProc: 0}, - {FzName: ts + 34778 /* "enter_db_mutex" */, FxProc: 0}, - {FzName: ts + 34793 /* "leave_db_mutex" */, FxProc: 0}, + {FzName: ts + 35533 /* "enter_db_mutex" */, FxProc: 0}, + {FzName: ts + 35548 /* "leave_db_mutex" */, FxProc: 0}, - {FzName: ts + 34808 /* "alloc_dealloc_mu..." */, FxProc: 0}, - {FzName: ts + 34828 /* "install_mutex_co..." */, FxProc: 0}, - {FzName: ts + 34851 /* "read_mutex_count..." */, FxProc: 0}, - {FzName: ts + 34871 /* "clear_mutex_coun..." */, FxProc: 0}, + {FzName: ts + 35563 /* "alloc_dealloc_mu..." */, FxProc: 0}, + {FzName: ts + 35583 /* "install_mutex_co..." */, FxProc: 0}, + {FzName: ts + 35606 /* "read_mutex_count..." */, FxProc: 0}, + {FzName: ts + 35626 /* "clear_mutex_coun..." */, FxProc: 0}, } /* test_mutex.c:484:5 */ // Maximum pathname length supported by the fs backend. @@ -69690,7 +71258,7 @@ type fs_vfs_t = fs_vfs_t1 /* test_onefile.c:176:25 */ var fs_vfs = fs_vfs_t{ Fbase: sqlite3_vfs{ FiVersion: 1, // pNext - FzName: ts + 30488, /* "fs" */ // pAppData + FzName: ts + 31250, /* "fs" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -70141,7 +71709,7 @@ __8: if !(*(*sqlite3_int64)(unsafe.Pointer(bp /* size */)) == int64(0)) { goto __9 } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 24 /* &.xWrite */))))(tls, pRealFile, ts+34892 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 24 /* &.xWrite */))))(tls, pRealFile, ts+35647 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) (*fs_real_file)(unsafe.Pointer(pReal)).FnBlob = BLOBSIZE goto __10 __9: @@ -70220,7 +71788,7 @@ func fsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { } if pReal != 0 { pF = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 24 /* &.xWrite */))))(tls, pF, ts+34894 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 24 /* &.xWrite */))))(tls, pF, ts+35649 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) if rc == SQLITE_OK { (*fs_real_file)(unsafe.Pointer(pReal)).FnJournal = 0 } @@ -70241,7 +71809,7 @@ func fsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut u return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 56 /* &.xAccess */))))(tls, pParent, zPath, flags, pResOut) } - if (nName > 8) && (libc.Xstrcmp(tls, ts+32244 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { + if (nName > 8) && (libc.Xstrcmp(tls, ts+33006 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { nName = nName - (8) isJournal = 1 } @@ -70622,7 +72190,7 @@ func vfslogFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int var p uintptr = pFile var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 80 /* &.xFileControl */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34899 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35654 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } return rc } @@ -70917,7 +72485,7 @@ func sqlite3_vfslog_new(tls *libc.TLS, zVfs uintptr, zParentVfs uintptr, zLog ui (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pParent + 48 /* &.xDelete */))))(tls, pParent, zFile, 0) rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 40 /* &.xOpen */))))(tls, pParent, zFile, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, *(*int32)(unsafe.Pointer(bp /* flags */)), bp /* &flags */) if rc == SQLITE_OK { - libc.Xmemcpy(tls, p+204 /* &.aBuf */, ts+34909 /* "sqlite_ostrace1...." */, uint64(20)) + libc.Xmemcpy(tls, p+204 /* &.aBuf */, ts+35664 /* "sqlite_ostrace1...." */, uint64(20)) (*VfslogVfs)(unsafe.Pointer(p)).FiOffset = int64(0) (*VfslogVfs)(unsafe.Pointer(p)).FnBuf = 20 rc = sqlite3.Xsqlite3_vfs_register(tls, p, 1) @@ -70946,78 +72514,78 @@ func vfslog_eventname(tls *libc.TLS, eEvent int32) uintptr { /* test_osinst.c:76 switch eEvent { case OS_CLOSE: - zEvent = ts + 34930 /* "xClose" */ + zEvent = ts + 35685 /* "xClose" */ break case OS_READ: - zEvent = ts + 34937 /* "xRead" */ + zEvent = ts + 35692 /* "xRead" */ break case OS_WRITE: - zEvent = ts + 34943 /* "xWrite" */ + zEvent = ts + 35698 /* "xWrite" */ break case OS_TRUNCATE: - zEvent = ts + 34950 /* "xTruncate" */ + zEvent = ts + 35705 /* "xTruncate" */ break case OS_SYNC: - zEvent = ts + 27353 /* "xSync" */ + zEvent = ts + 28129 /* "xSync" */ break case OS_FILESIZE: - zEvent = ts + 34960 /* "xFilesize" */ + zEvent = ts + 35715 /* "xFilesize" */ break case OS_LOCK: - zEvent = ts + 34970 /* "xLock" */ + zEvent = ts + 35725 /* "xLock" */ break case OS_UNLOCK: - zEvent = ts + 34976 /* "xUnlock" */ + zEvent = ts + 35731 /* "xUnlock" */ break case OS_CHECKRESERVEDLOCK: - zEvent = ts + 34984 /* "xCheckResLock" */ + zEvent = ts + 35739 /* "xCheckResLock" */ break case OS_FILECONTROL: - zEvent = ts + 34998 /* "xFileControl" */ + zEvent = ts + 35753 /* "xFileControl" */ break case OS_SECTORSIZE: - zEvent = ts + 35011 /* "xSectorSize" */ + zEvent = ts + 35766 /* "xSectorSize" */ break case OS_DEVCHAR: - zEvent = ts + 35023 /* "xDeviceChar" */ + zEvent = ts + 35778 /* "xDeviceChar" */ break case OS_OPEN: - zEvent = ts + 26925 /* "xOpen" */ + zEvent = ts + 27701 /* "xOpen" */ break case OS_DELETE: - zEvent = ts + 35035 /* "xDelete" */ + zEvent = ts + 35790 /* "xDelete" */ break case OS_ACCESS: - zEvent = ts + 35043 /* "xAccess" */ + zEvent = ts + 35798 /* "xAccess" */ break case OS_FULLPATHNAME: - zEvent = ts + 35051 /* "xFullPathname" */ + zEvent = ts + 35806 /* "xFullPathname" */ break case OS_RANDOMNESS: - zEvent = ts + 35065 /* "xRandomness" */ + zEvent = ts + 35820 /* "xRandomness" */ break case OS_SLEEP: - zEvent = ts + 35077 /* "xSleep" */ + zEvent = ts + 35832 /* "xSleep" */ break case OS_CURRENTTIME: - zEvent = ts + 35084 /* "xCurrentTime" */ + zEvent = ts + 35839 /* "xCurrentTime" */ break case OS_SHMUNMAP: - zEvent = ts + 35097 /* "xShmUnmap" */ + zEvent = ts + 35852 /* "xShmUnmap" */ break case OS_SHMLOCK: - zEvent = ts + 35107 /* "xShmLock" */ + zEvent = ts + 35862 /* "xShmLock" */ break case OS_SHMBARRIER: - zEvent = ts + 35116 /* "xShmBarrier" */ + zEvent = ts + 35871 /* "xShmBarrier" */ break case OS_SHMMAP: - zEvent = ts + 35128 /* "xShmMap" */ + zEvent = ts + 35883 /* "xShmMap" */ break case OS_ANNOTATE: - zEvent = ts + 35136 /* "annotation" */ + zEvent = ts + 35891 /* "annotation" */ break } @@ -71116,7 +72684,7 @@ func vlogConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp if rc == SQLITE_OK { (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 48 /* &.xFileSize */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, (p + 32 /* &.nByte */)) sqlite3.Xsqlite3_declare_vtab(tls, db, - ts+35147 /* "CREATE TABLE xxx..." */) + ts+35902 /* "CREATE TABLE xxx..." */) *(*uintptr)(unsafe.Pointer(ppVtab)) = (p /* &.base */) } else { sqlite3.Xsqlite3_free(tls, p) @@ -71276,7 +72844,7 @@ func vlogRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* test_o func sqlite3_vfslog_register(tls *libc.TLS, db uintptr) int32 { /* test_osinst.c:1071:5: */ - sqlite3.Xsqlite3_create_module(tls, db, ts+35202 /* "vfslog" */, uintptr(unsafe.Pointer(&vfslog_module)), uintptr(0)) + sqlite3.Xsqlite3_create_module(tls, db, ts+35957 /* "vfslog" */, uintptr(unsafe.Pointer(&vfslog_module)), uintptr(0)) return SQLITE_OK } @@ -71314,7 +72882,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var iSub int32 at bp+72, 4 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32418 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33180 /* "SUB-COMMAND ..." */) return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&strs)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+72 /* &iSub */) != 0 { @@ -71327,14 +72895,14 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zVfs uintptr var zMsg uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+35209 /* "VFS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+35964 /* "VFS" */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) zMsg = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) rc = sqlite3_vfslog_annotate(tls, zVfs, zMsg) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35213 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35968 /* "failed" */, 0)) return TCL_ERROR } break @@ -71344,13 +72912,13 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, { var zVfs uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35209 /* "VFS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35964 /* "VFS" */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) rc = sqlite3_vfslog_finalize(tls, zVfs) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+35213 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+35968 /* "failed" */, 0)) return TCL_ERROR } break @@ -71363,7 +72931,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zParent uintptr var zLog uintptr if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35220 /* "VFS PARENT LOGFI..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35975 /* "VFS PARENT LOGFI..." */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) @@ -71374,7 +72942,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } rc = sqlite3_vfslog_new(tls, zVfs, zParent, zLog) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+35213 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+35968 /* "failed" */, 0)) return TCL_ERROR } break @@ -71394,7 +72962,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, rc = sqlite3_vfslog_register(tls, db) } if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+35239 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+35994 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) return TCL_ERROR } break @@ -71405,10 +72973,10 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_OK } -var strs = [5]uintptr{ts + 35260 /* "annotate" */, ts + 35269 /* "finalize" */, ts + 13689 /* "new" */, ts + 35278 /* "register" */, uintptr(0)} /* test_osinst.c:1127:21 */ +var strs = [5]uintptr{ts + 36015 /* "annotate" */, ts + 36024 /* "finalize" */, ts + 14470 /* "new" */, ts + 36033 /* "register" */, uintptr(0)} /* test_osinst.c:1127:21 */ func SqlitetestOsinst_Init(tls *libc.TLS, interp uintptr) int32 { /* test_osinst.c:1219:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+35202 /* "vfslog" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+35957 /* "vfslog" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfslog})), uintptr(0), uintptr(0)) return TCL_OK @@ -72452,7 +74020,7 @@ func quotaFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int3 var pSubOpen uintptr = quotaSubOpen(tls, pConn) var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 80 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35287 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+36042 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } return rc } @@ -72527,7 +74095,7 @@ func sqlite3_quota_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefault i f func(*libc.TLS, uintptr, uintptr, int32) int32 }{quotaDelete})) *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gQuota)) + 8 /* &.sThisVfs */ + 4 /* &.szOsFile */)) += int32((uint64(unsafe.Sizeof(quotaConn{})))) - gQuota.FsThisVfs.FzName = ts + 35296 /* "quota" */ + gQuota.FsThisVfs.FzName = ts + 36051 /* "quota" */ gQuota.FsIoMethodsV1.FiVersion = 1 gQuota.FsIoMethodsV1.FxClose = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 @@ -73101,7 +74669,7 @@ func tclQuotaCallback(tls *libc.TLS, zFilename uintptr, piLimit uintptr, iSize s return } - pVarname = tcl.XTcl_NewStringObj(tls, ts+35302 /* "::piLimit_" */, -1) + pVarname = tcl.XTcl_NewStringObj(tls, ts+36057 /* "::piLimit_" */, -1) (*Tcl_Obj)(unsafe.Pointer(pVarname)).FrefCount++ sqlite3.Xsqlite3_randomness(tls, int32(unsafe.Sizeof(uint32(0))), bp /* &rnd */) tcl.XTcl_AppendObjToObj(tls, pVarname, tcl.XTcl_NewIntObj(tls, (int32(*(*uint32)(unsafe.Pointer(bp /* rnd */))&uint32(0x7FFFFFFF))))) @@ -73166,7 +74734,7 @@ func test_quota_initialize(tls *libc.TLS, clientData uintptr, interp uintptr, ob // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34184 /* "NAME MAKEDEFAULT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34946 /* "NAME MAKEDEFAULT" */) return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -73218,7 +74786,7 @@ func test_quota_set(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Process arguments if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35313 /* "PATTERN LIMIT SC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36068 /* "PATTERN LIMIT SC..." */) return TCL_ERROR } zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -73232,7 +74800,7 @@ func test_quota_set(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Allocate a TclQuotaCallback object p = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TclQuotaCallback{}))) if !(p != 0) { - tcl.XTcl_SetResult(tls, interp, ts+32182 /* "SQLITE_NOMEM" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+32944 /* "SQLITE_NOMEM" */, uintptr(0)) return TCL_OK } libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(TclQuotaCallback{}))) @@ -73263,7 +74831,7 @@ func test_quota_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // Process arguments if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -73337,13 +74905,13 @@ func test_quota_fopen(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35334 /* "FILENAME MODE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36089 /* "FILENAME MODE" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) zMode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) p = sqlite3_quota_fopen(tls, zFilename, zMode) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+8 /* &zReturn[0] */, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+8 /* &zReturn[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) tcl.XTcl_SetResult(tls, interp, bp+8 /* &zReturn[0] */, uintptr(1)) return TCL_OK } @@ -73362,7 +74930,7 @@ func test_quota_fread(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var got size_t if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35348 /* "HANDLE SIZE NELE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36103 /* "HANDLE SIZE NELE..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73398,7 +74966,7 @@ func test_quota_fwrite(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var got size_t if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35366 /* "HANDLE SIZE NELE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36121 /* "HANDLE SIZE NELE..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73420,7 +74988,7 @@ func test_quota_fclose(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73439,7 +75007,7 @@ func test_quota_fflush(tls *libc.TLS, clientData uintptr, interp uintptr, objc i *(*int32)(unsafe.Pointer(bp /* doSync */)) = 0 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35392 /* "HANDLE ?HARDSYNC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36147 /* "HANDLE ?HARDSYNC..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73466,7 +75034,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35410 /* "HANDLE OFFSET WH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36165 /* "HANDLE OFFSET WH..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73474,15 +75042,15 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in return TCL_ERROR } zWhence = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) - if libc.Xstrcmp(tls, zWhence, ts+35431 /* "SEEK_SET" */) == 0 { + if libc.Xstrcmp(tls, zWhence, ts+36186 /* "SEEK_SET" */) == 0 { whence = SEEK_SET - } else if libc.Xstrcmp(tls, zWhence, ts+35440 /* "SEEK_CUR" */) == 0 { + } else if libc.Xstrcmp(tls, zWhence, ts+36195 /* "SEEK_CUR" */) == 0 { whence = SEEK_CUR - } else if libc.Xstrcmp(tls, zWhence, ts+35449 /* "SEEK_END" */) == 0 { + } else if libc.Xstrcmp(tls, zWhence, ts+36204 /* "SEEK_END" */) == 0 { whence = SEEK_END } else { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+35458 /* "WHENCE should be..." */, uintptr(0))) + libc.VaList(bp, ts+36213 /* "WHENCE should be..." */, uintptr(0))) return TCL_ERROR } rc = sqlite3_quota_fseek(tls, p, int64(*(*int32)(unsafe.Pointer(bp + 16 /* ofst */))), whence) @@ -73494,7 +75062,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in func test_quota_rewind(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_quota.c:1718:26: */ var p uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73507,7 +75075,7 @@ func test_quota_ftell(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73527,7 +75095,7 @@ func test_quota_ftruncate(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35507 /* "HANDLE SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36262 /* "HANDLE SIZE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73545,7 +75113,7 @@ func test_quota_file_size(tls *libc.TLS, clientData uintptr, interp uintptr, obj var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73559,7 +75127,7 @@ func test_quota_file_truesize(tls *libc.TLS, clientData uintptr, interp uintptr, var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73577,7 +75145,7 @@ func test_quota_file_mtime(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var t time_t at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73592,7 +75160,7 @@ func test_quota_remove(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var zFilename uintptr // File pattern to configure var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -73610,7 +75178,7 @@ func test_quota_glob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var zText uintptr // Text to compare agains the pattern var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35519 /* "PATTERN TEXT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36274 /* "PATTERN TEXT" */) return TCL_ERROR } zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -73628,7 +75196,7 @@ func test_quota_file_available(tls *libc.TLS, clientData uintptr, interp uintptr var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73644,7 +75212,7 @@ func test_quota_ferror(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var p uintptr var x int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73673,27 +75241,27 @@ var aCmd9 = [21]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 35532 /* "sqlite3_quota_in..." */, FxProc: 0}, - {FzName: ts + 35557 /* "sqlite3_quota_sh..." */, FxProc: 0}, - {FzName: ts + 35580 /* "sqlite3_quota_se..." */, FxProc: 0}, - {FzName: ts + 35598 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35617 /* "sqlite3_quota_du..." */, FxProc: 0}, - {FzName: ts + 35636 /* "sqlite3_quota_fo..." */, FxProc: 0}, - {FzName: ts + 35656 /* "sqlite3_quota_fr..." */, FxProc: 0}, - {FzName: ts + 35676 /* "sqlite3_quota_fw..." */, FxProc: 0}, - {FzName: ts + 35697 /* "sqlite3_quota_fc..." */, FxProc: 0}, - {FzName: ts + 35718 /* "sqlite3_quota_ff..." */, FxProc: 0}, - {FzName: ts + 35739 /* "sqlite3_quota_fs..." */, FxProc: 0}, - {FzName: ts + 35759 /* "sqlite3_quota_re..." */, FxProc: 0}, - {FzName: ts + 35780 /* "sqlite3_quota_ft..." */, FxProc: 0}, - {FzName: ts + 35800 /* "sqlite3_quota_ft..." */, FxProc: 0}, - {FzName: ts + 35824 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35848 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35876 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35901 /* "sqlite3_quota_re..." */, FxProc: 0}, - {FzName: ts + 35922 /* "sqlite3_quota_gl..." */, FxProc: 0}, - {FzName: ts + 35941 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35970 /* "sqlite3_quota_fe..." */, FxProc: 0}, + {FzName: ts + 36287 /* "sqlite3_quota_in..." */, FxProc: 0}, + {FzName: ts + 36312 /* "sqlite3_quota_sh..." */, FxProc: 0}, + {FzName: ts + 36335 /* "sqlite3_quota_se..." */, FxProc: 0}, + {FzName: ts + 36353 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36372 /* "sqlite3_quota_du..." */, FxProc: 0}, + {FzName: ts + 36391 /* "sqlite3_quota_fo..." */, FxProc: 0}, + {FzName: ts + 36411 /* "sqlite3_quota_fr..." */, FxProc: 0}, + {FzName: ts + 36431 /* "sqlite3_quota_fw..." */, FxProc: 0}, + {FzName: ts + 36452 /* "sqlite3_quota_fc..." */, FxProc: 0}, + {FzName: ts + 36473 /* "sqlite3_quota_ff..." */, FxProc: 0}, + {FzName: ts + 36494 /* "sqlite3_quota_fs..." */, FxProc: 0}, + {FzName: ts + 36514 /* "sqlite3_quota_re..." */, FxProc: 0}, + {FzName: ts + 36535 /* "sqlite3_quota_ft..." */, FxProc: 0}, + {FzName: ts + 36555 /* "sqlite3_quota_ft..." */, FxProc: 0}, + {FzName: ts + 36579 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36603 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36631 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36656 /* "sqlite3_quota_re..." */, FxProc: 0}, + {FzName: ts + 36677 /* "sqlite3_quota_gl..." */, FxProc: 0}, + {FzName: ts + 36696 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36725 /* "sqlite3_quota_fe..." */, FxProc: 0}, } /* test_quota.c:1948:5 */ // Type used to cache parameter information for the "circle" r-tree geometry @@ -74291,7 +75859,7 @@ func register_cube_geom(tls *libc.TLS, clientData uintptr, interp uintptr, objc if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+35991 /* "cube" */, *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36746 /* "cube" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 }{cube_geom})), uintptr(unsafe.Pointer(&gHere))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) @@ -74313,17 +75881,17 @@ func register_circle_geom(tls *libc.TLS, clientData uintptr, interp uintptr, obj if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+35996 /* "circle" */, *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36751 /* "circle" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 }{circle_geom})), uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36003, /* "Qcircle" */ + rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36758, /* "Qcircle" */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 }{circle_query_func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36011, /* "breadthfirstsear..." */ + rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36766, /* "breadthfirstsear..." */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 }{bfs_query_func})), uintptr(0), uintptr(0)) @@ -74333,10 +75901,10 @@ func register_circle_geom(tls *libc.TLS, clientData uintptr, interp uintptr, obj } func Sqlitetestrtree_Init(tls *libc.TLS, interp uintptr) int32 { /* test_rtree.c:507:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+36030 /* "register_cube_ge..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36785 /* "register_cube_ge..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{register_cube_geom})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+36049 /* "register_circle_..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36804 /* "register_circle_..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{register_circle_geom})), uintptr(0), uintptr(0)) return TCL_OK @@ -74566,7 +76134,7 @@ func schemaCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint if pVtab != 0 { libc.Xmemset(tls, pVtab, 0, uint64(unsafe.Sizeof(schema_vtab{}))) (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb = db - rc = sqlite3.Xsqlite3_declare_vtab(tls, db /* Name of database (i.e. main, temp etc.) */ /* Name of table */ /* Column number (from left-to-right, 0 upward) */ /* Column name */ /* Specified type (i.e. VARCHAR(32)) */ /* Boolean. True if NOT NULL was specified */ /* Default value for this column */ /* True if this column is part of the primary key */, ts+36070 /* "CREATE TABLE x(d..." */) + rc = sqlite3.Xsqlite3_declare_vtab(tls, db /* Name of database (i.e. main, temp etc.) */ /* Name of table */ /* Column number (from left-to-right, 0 upward) */ /* Column name */ /* Specified type (i.e. VARCHAR(32)) */ /* Boolean. True if NOT NULL was specified */ /* Default value for this column */ /* True if this column is part of the primary key */, ts+36825 /* "CREATE TABLE x(d..." */) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab return rc @@ -74690,12 +76258,12 @@ __8: goto __9 } zSql = sqlite3.Xsqlite3_mprintf(tls, - ts+36142 /* "SELECT name FROM..." */, 0) + ts+36897 /* "SELECT name FROM..." */, 0) goto __10 __9: pDbList = (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList zSql = sqlite3.Xsqlite3_mprintf(tls, - ts+36197, /* "SELECT name FROM..." */ + ts+36952, /* "SELECT name FROM..." */ libc.VaList(bp, sqlite3.Xsqlite3_column_text(tls, pDbList, 1))) __10: ; @@ -74722,7 +76290,7 @@ __5: // Set zSql to the SQL to the table_info pragma for the table currently // identified by the rows pointed to by statements pCur->pDbList and // pCur->pTableList. - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+36250, /* "PRAGMA %Q.table_..." */ + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+37005, /* "PRAGMA %Q.table_..." */ libc.VaList(bp+8, sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList, 1), sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpTableList, 0))) @@ -74760,7 +76328,7 @@ func schemaFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp finalize(tls, (pCur + 16 /* &.pTableList */)) finalize(tls, (pCur + 24 /* &.pColumnList */)) finalize(tls, (pCur + 8 /* &.pDbList */)) - rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, ts+36275 /* "PRAGMA database_..." */, -1, (pCur + 8 /* &.pDbList */), uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, ts+37030 /* "PRAGMA database_..." */, -1, (pCur + 8 /* &.pDbList */), uintptr(0)) return func() int32 { if rc == SQLITE_OK { return schemaNext(tls, pVtabCursor) @@ -74828,7 +76396,7 @@ var aObjCmd12 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 36296 /* "register_schema_..." */, FxProc: 0}, + {FzName: ts + 37051 /* "register_schema_..." */, FxProc: 0}, } /* test_schema.c:335:5 */ // 2001-09-15 @@ -75383,7 +76951,7 @@ func superlockIsWal(tls *libc.TLS, pLock uintptr) int32 { /* test_superlock.c:67 // var pStmt uintptr at bp, 8 // Compiled PRAGMA journal_mode statement - rc = sqlite3.Xsqlite3_prepare(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+36319 /* "PRAGMA main.jour..." */, -1, bp /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+37074 /* "PRAGMA main.jour..." */, -1, bp /* &pStmt */, uintptr(0)) if rc != SQLITE_OK { return rc } @@ -75391,7 +76959,7 @@ func superlockIsWal(tls *libc.TLS, pLock uintptr) int32 { /* test_superlock.c:67 (*Superlock)(unsafe.Pointer(pLock)).FbWal = 0 if SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { var zMode uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) - if ((zMode != 0) && (libc.Xstrlen(tls, zMode) == uint64(3))) && (sqlite3.Xsqlite3_strnicmp(tls, ts+29379 /* "wal" */, zMode, 3) == 0) { + if ((zMode != 0) && (libc.Xstrlen(tls, zMode) == uint64(3))) && (sqlite3.Xsqlite3_strnicmp(tls, ts+30141 /* "wal" */, zMode, 3) == 0) { (*Superlock)(unsafe.Pointer(pLock)).FbWal = 1 } } @@ -75525,7 +77093,7 @@ func sqlite3demo_superlock(tls *libc.TLS, zPath uintptr, zVfs uintptr, xBusy uin sqlite3.Xsqlite3_busy_handler(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 }{superlockBusyHandler})), bp /* &busy */) - rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+12906 /* "BEGIN EXCLUSIVE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+13687 /* "BEGIN EXCLUSIVE" */, uintptr(0), uintptr(0), uintptr(0)) } // If the BEGIN EXCLUSIVE was executed successfully and this is a WAL @@ -75538,7 +77106,7 @@ func sqlite3demo_superlock(tls *libc.TLS, zPath uintptr, zVfs uintptr, xBusy uin // new WAL locks may conflict with the old. if rc == SQLITE_OK { if (SQLITE_OK == (libc.AssignInt32(&rc, superlockIsWal(tls, pLock)))) && ((*Superlock)(unsafe.Pointer(pLock)).FbWal != 0) { - rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+11310 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+12098 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = superlockWalLock(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, bp /* &busy */) } @@ -75621,7 +77189,7 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj if (objc < 3) || (objc > 5) { tcl.XTcl_WrongNumArgs(tls, - interp, 1, objv, ts+36344 /* "CMDNAME PATH ?VF..." */) + interp, 1, objv, ts+37099 /* "CMDNAME PATH ?VF..." */) return TCL_ERROR } @@ -75658,7 +77226,7 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj } func SqliteSuperlock_Init(tls *libc.TLS, interp uintptr) int32 { /* test_superlock.c:359:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+36385 /* "sqlite3demo_supe..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+37140 /* "sqlite3demo_supe..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{superlock_cmd})), uintptr(0), uintptr(0)) return TCL_OK @@ -75703,24 +77271,24 @@ type TestSyscallArray = struct { } /* test_syscall.c:127:1 */ var aSyscall = [19]TestSyscallArray{ - /* 0 */ {FzName: ts + 36407 /* "open" */, FxTest: 0, Fdefault_errno: EACCES}, + /* 0 */ {FzName: ts + 37162 /* "open" */, FxTest: 0, Fdefault_errno: EACCES}, /* 1 */ {FzName: ts + 10125 /* "close" */, FxTest: 0}, - /* 2 */ {FzName: ts + 36412 /* "access" */, FxTest: 0}, - /* 3 */ {FzName: ts + 36419 /* "getcwd" */, FxTest: 0}, - /* 4 */ {FzName: ts + 36426 /* "stat" */, FxTest: 0}, - /* 5 */ {FzName: ts + 36431 /* "fstat" */, FxTest: 0}, - /* 6 */ {FzName: ts + 36437 /* "ftruncate" */, FxTest: 0, Fdefault_errno: EIO}, - /* 7 */ {FzName: ts + 36447 /* "fcntl" */, FxTest: 0, Fdefault_errno: EACCES}, - /* 8 */ {FzName: ts + 24630 /* "read" */, FxTest: 0}, - /* 9 */ {FzName: ts + 36453 /* "pread" */, FxTest: 0}, - /* 10 */ {FzName: ts + 36459 /* "pread64" */, FxTest: 0}, - /* 11 */ {FzName: ts + 24635 /* "write" */, FxTest: 0}, - /* 12 */ {FzName: ts + 36467 /* "pwrite" */, FxTest: 0}, - /* 13 */ {FzName: ts + 36474 /* "pwrite64" */, FxTest: 0}, - /* 14 */ {FzName: ts + 36483 /* "fchmod" */, FxTest: 0}, - /* 15 */ {FzName: ts + 36490 /* "fallocate" */, FxTest: 0}, - /* 16 */ {FzName: ts + 28466 /* "mmap" */, FxTest: 0}, - /* 17 */ {FzName: ts + 36500 /* "mremap" */, FxTest: 0}, + /* 2 */ {FzName: ts + 37167 /* "access" */, FxTest: 0}, + /* 3 */ {FzName: ts + 37174 /* "getcwd" */, FxTest: 0}, + /* 4 */ {FzName: ts + 37181 /* "stat" */, FxTest: 0}, + /* 5 */ {FzName: ts + 37186 /* "fstat" */, FxTest: 0}, + /* 6 */ {FzName: ts + 37192 /* "ftruncate" */, FxTest: 0, Fdefault_errno: EIO}, + /* 7 */ {FzName: ts + 37202 /* "fcntl" */, FxTest: 0, Fdefault_errno: EACCES}, + /* 8 */ {FzName: ts + 25406 /* "read" */, FxTest: 0}, + /* 9 */ {FzName: ts + 37208 /* "pread" */, FxTest: 0}, + /* 10 */ {FzName: ts + 37214 /* "pread64" */, FxTest: 0}, + /* 11 */ {FzName: ts + 25411 /* "write" */, FxTest: 0}, + /* 12 */ {FzName: ts + 37222 /* "pwrite" */, FxTest: 0}, + /* 13 */ {FzName: ts + 37229 /* "pwrite64" */, FxTest: 0}, + /* 14 */ {FzName: ts + 37238 /* "fchmod" */, FxTest: 0}, + /* 15 */ {FzName: ts + 37245 /* "fallocate" */, FxTest: 0}, + /* 16 */ {FzName: ts + 29235 /* "mmap" */, FxTest: 0}, + /* 17 */ {FzName: ts + 37255 /* "mremap" */, FxTest: 0}, {}, } /* test_syscall.c:133:3 */ @@ -75772,7 +77340,7 @@ func tsIsFailErrno(tls *libc.TLS, zFunc uintptr) int32 { /* test_syscall.c:215:1 // A wrapper around open(). func ts_open(tls *libc.TLS, zFile uintptr, flags int32, mode int32) int32 { /* test_syscall.c:226:12: */ - if tsIsFailErrno(tls, ts+36407 /* "open" */) != 0 { + if tsIsFailErrno(tls, ts+37162 /* "open" */) != 0 { return -1 } return (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 16 /* &.xOrig */))))(tls, zFile, flags, mode) @@ -75818,7 +77386,7 @@ func ts_stat(tls *libc.TLS, zPath uintptr, p uintptr) int32 { /* test_syscall.c: // A wrapper around fstat(). func ts_fstat(tls *libc.TLS, fd int32, p uintptr) int32 { /* test_syscall.c:282:12: */ - if tsIsFailErrno(tls, ts+36431 /* "fstat" */) != 0 { + if tsIsFailErrno(tls, ts+37186 /* "fstat" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*32 + 16 /* &.xOrig */))))(tls, fd, p) @@ -75826,7 +77394,7 @@ func ts_fstat(tls *libc.TLS, fd int32, p uintptr) int32 { /* test_syscall.c:282: // A wrapper around ftruncate(). func ts_ftruncate(tls *libc.TLS, fd int32, n off_t) int32 { /* test_syscall.c:292:12: */ - if tsIsFailErrno(tls, ts+36437 /* "ftruncate" */) != 0 { + if tsIsFailErrno(tls, ts+37192 /* "ftruncate" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, off_t) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 6*32 + 16 /* &.xOrig */))))(tls, fd, n) @@ -75840,7 +77408,7 @@ func ts_fcntl(tls *libc.TLS, fd int32, cmd int32, va uintptr) int32 { /* test_sy var ap va_list _ = ap var pArg uintptr - if tsIsFailErrno(tls, ts+36447 /* "fcntl" */) != 0 { + if tsIsFailErrno(tls, ts+37202 /* "fcntl" */) != 0 { return -1 } ap = va @@ -75850,7 +77418,7 @@ func ts_fcntl(tls *libc.TLS, fd int32, cmd int32, va uintptr) int32 { /* test_sy // A wrapper around read(). func ts_read(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test_syscall.c:316:12: */ - if tsIsFailErrno(tls, ts+24630 /* "read" */) != 0 { + if tsIsFailErrno(tls, ts+25406 /* "read" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf)) @@ -75858,7 +77426,7 @@ func ts_read(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test // A wrapper around pread(). func ts_pread(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int32 { /* test_syscall.c:326:12: */ - if tsIsFailErrno(tls, ts+36453 /* "pread" */) != 0 { + if tsIsFailErrno(tls, ts+37208 /* "pread" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t, off_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 9*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off)) @@ -75866,7 +77434,7 @@ func ts_pread(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int // A wrapper around pread64(). func ts_pread64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_uint64) int32 { /* test_syscall.c:336:12: */ - if tsIsFailErrno(tls, ts+36459 /* "pread64" */) != 0 { + if tsIsFailErrno(tls, ts+37214 /* "pread64" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t, sqlite3_uint64) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 10*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off)) @@ -75874,8 +77442,8 @@ func ts_pread64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_ // A wrapper around write(). func ts_write(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test_syscall.c:346:12: */ - if tsIsFailErrno(tls, ts+24635 /* "write" */) != 0 { - if tsErrno(tls, ts+24635 /* "write" */) == EINTR { + if tsIsFailErrno(tls, ts+25411 /* "write" */) != 0 { + if tsErrno(tls, ts+25411 /* "write" */) == EINTR { (*(*func(*libc.TLS, int32, uintptr, size_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 11*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, (nBuf / uint64(2))) } return -1 @@ -75885,7 +77453,7 @@ func ts_write(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* tes // A wrapper around pwrite(). func ts_pwrite(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int32 { /* test_syscall.c:357:12: */ - if tsIsFailErrno(tls, ts+36467 /* "pwrite" */) != 0 { + if tsIsFailErrno(tls, ts+37222 /* "pwrite" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t, off_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 12*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off)) @@ -75893,7 +77461,7 @@ func ts_pwrite(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) in // A wrapper around pwrite64(). func ts_pwrite64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_uint64) int32 { /* test_syscall.c:367:12: */ - if tsIsFailErrno(tls, ts+36474 /* "pwrite64" */) != 0 { + if tsIsFailErrno(tls, ts+37229 /* "pwrite64" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t, sqlite3_uint64) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 13*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off)) @@ -75916,13 +77484,13 @@ func ts_fchmod(tls *libc.TLS, fd int32, mode mode_t) int32 { /* test_syscall.c:3 // failure. Note that errno is not set. func ts_fallocate(tls *libc.TLS, fd int32, off off_t, len off_t) int32 { /* test_syscall.c:393:12: */ if tsIsFail(tls) != 0 { - return tsErrno(tls, ts+36490 /* "fallocate" */) + return tsErrno(tls, ts+37245 /* "fallocate" */) } return (*(*func(*libc.TLS, int32, off_t, off_t) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 15*32 + 16 /* &.xOrig */))))(tls, fd, off, len) } func ts_mmap(tls *libc.TLS, pAddr uintptr, nByte size_t, prot int32, flags int32, fd int32, iOff off_t) uintptr { /* test_syscall.c:400:13: */ - if tsIsFailErrno(tls, ts+28466 /* "mmap" */) != 0 { + if tsIsFailErrno(tls, ts+29235 /* "mmap" */) != 0 { return libc.UintptrFromInt32(-1) } return (*(*func(*libc.TLS, uintptr, size_t, int32, int32, int32, off_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 16*32 + 16 /* &.xOrig */))))(tls, pAddr, nByte, prot, flags, fd, iOff) @@ -75935,7 +77503,7 @@ func ts_mremap(tls *libc.TLS, a uintptr, b size_t, c size_t, d int32, va uintptr var ap va_list _ = ap var pArg uintptr - if tsIsFailErrno(tls, ts+36500 /* "mremap" */) != 0 { + if tsIsFailErrno(tls, ts+37255 /* "mremap" */) != 0 { return libc.UintptrFromInt32(-1) } ap = va @@ -75954,7 +77522,7 @@ func test_syscall_install(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var apElem uintptr at bp+8, 8 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36507 /* "SYSCALL-LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37262 /* "SYSCALL-LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp /* &nElem */, bp+8 /* &apElem */) != 0 { @@ -75966,7 +77534,7 @@ func test_syscall_install(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var iCall int32 at bp+16, 4 var rc int32 = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* apElem */)) + uintptr(i)*8)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+36520 /* "system-call" */, 0, bp+16 /* &iCall */) + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* apElem */)) + uintptr(i)*8)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+37275 /* "system-call" */, 0, bp+16 /* &iCall */) if rc != 0 { return rc } @@ -76066,7 +77634,7 @@ func test_syscall_fault(tls *libc.TLS, clientData uintptr, interp uintptr, objc *(*int32)(unsafe.Pointer(bp + 4 /* bPersist */)) = 0 if (objc != 2) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36532 /* "?COUNT PERSIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37287 /* "?COUNT PERSIST?" */) return TCL_ERROR } @@ -76095,32 +77663,32 @@ func test_syscall_errno(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 *(*[12]Errno)(unsafe.Pointer(bp + 8 /* aErrno */)) = [12]Errno{ - {Fz: ts + 36548 /* "EACCES" */, Fi: EACCES}, - {Fz: ts + 36555 /* "EINTR" */, Fi: EINTR}, - {Fz: ts + 36561 /* "EIO" */, Fi: EIO}, - {Fz: ts + 36565 /* "EOVERFLOW" */, Fi: EOVERFLOW}, - {Fz: ts + 36575 /* "ENOMEM" */, Fi: ENOMEM}, - {Fz: ts + 36582 /* "EAGAIN" */, Fi: EAGAIN}, - {Fz: ts + 36589 /* "ETIMEDOUT" */, Fi: ETIMEDOUT}, - {Fz: ts + 36599 /* "EBUSY" */, Fi: EBUSY}, - {Fz: ts + 36605 /* "EPERM" */, Fi: EPERM}, - {Fz: ts + 36611 /* "EDEADLK" */, Fi: EDEADLK}, - {Fz: ts + 36619 /* "ENOLCK" */, Fi: ENOLCK}, + {Fz: ts + 37303 /* "EACCES" */, Fi: EACCES}, + {Fz: ts + 37310 /* "EINTR" */, Fi: EINTR}, + {Fz: ts + 37316 /* "EIO" */, Fi: EIO}, + {Fz: ts + 37320 /* "EOVERFLOW" */, Fi: EOVERFLOW}, + {Fz: ts + 37330 /* "ENOMEM" */, Fi: ENOMEM}, + {Fz: ts + 37337 /* "EAGAIN" */, Fi: EAGAIN}, + {Fz: ts + 37344 /* "ETIMEDOUT" */, Fi: ETIMEDOUT}, + {Fz: ts + 37354 /* "EBUSY" */, Fi: EBUSY}, + {Fz: ts + 37360 /* "EPERM" */, Fi: EPERM}, + {Fz: ts + 37366 /* "EDEADLK" */, Fi: EDEADLK}, + {Fz: ts + 37374 /* "ENOLCK" */, Fi: ENOLCK}, {}, } if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36626 /* "SYSCALL ERRNO" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37381 /* "SYSCALL ERRNO" */) return TCL_ERROR } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+36520 /* "system-call" */, 0, bp /* &iCall */) + *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+37275 /* "system-call" */, 0, bp /* &iCall */) if rc != TCL_OK { return rc } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &aErrno[0] */, int32(unsafe.Sizeof(Errno{})), ts+36640 /* "errno" */, 0, bp+200 /* &iErrno */) + *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &aErrno[0] */, int32(unsafe.Sizeof(Errno{})), ts+37395 /* "errno" */, 0, bp+200 /* &iErrno */) if rc != TCL_OK { return rc } @@ -76187,7 +77755,7 @@ func test_syscall_pagesize(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var pgsz int32 at bp+16, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36646 /* "PGSZ" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37401 /* "PGSZ" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+16 /* &pgsz */) != 0 { @@ -76196,17 +77764,17 @@ func test_syscall_pagesize(tls *libc.TLS, clientData uintptr, interp uintptr, ob if *(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) < 0 { if gSyscall.Forig_getpagesize != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, ts+36651 /* "getpagesize" */, gSyscall.Forig_getpagesize) + (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, ts+37406 /* "getpagesize" */, gSyscall.Forig_getpagesize) } } else { if (*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) < 512) || ((*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) - 1)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+36663 /* "pgsz out of rang..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37418 /* "pgsz out of rang..." */, 0)) return TCL_ERROR } - gSyscall.Forig_getpagesize = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 152 /* &.xGetSystemCall */))))(tls, pVfs, ts+36651 /* "getpagesize" */) + gSyscall.Forig_getpagesize = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 152 /* &.xGetSystemCall */))))(tls, pVfs, ts+37406 /* "getpagesize" */) gSyscall.Fpgsz = *(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, - pVfs, ts+36651 /* "getpagesize" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{ts_getpagesize}))) + pVfs, ts+37406 /* "getpagesize" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{ts_getpagesize}))) } return TCL_OK @@ -76217,31 +77785,31 @@ func test_syscall(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(180) *(*[10]SyscallCmd)(unsafe.Pointer(bp + 16 /* aCmd */)) = [10]SyscallCmd{ - {FzName: ts + 36681 /* "fault" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37436 /* "fault" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_fault}))}, - {FzName: ts + 36687 /* "install" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37442 /* "install" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_install}))}, - {FzName: ts + 36695 /* "uninstall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37450 /* "uninstall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_uninstall}))}, {FzName: ts + 7379 /* "reset" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_reset}))}, - {FzName: ts + 36640 /* "errno" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37395 /* "errno" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_errno}))}, - {FzName: ts + 13196 /* "exists" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 13977 /* "exists" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_exists}))}, - {FzName: ts + 36705 /* "list" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37460 /* "list" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_list}))}, - {FzName: ts + 36710 /* "defaultvfs" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37465 /* "defaultvfs" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_defaultvfs}))}, - {FzName: ts + 36721 /* "pagesize" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37476 /* "pagesize" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_pagesize}))}, {}, @@ -76252,11 +77820,11 @@ func test_syscall(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var pVfs uintptr = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32418 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33180 /* "SUB-COMMAND ..." */) return TCL_ERROR } if ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion < 3) || ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall == uintptr(0)) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+36730 /* "VFS does not sup..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37485 /* "VFS does not sup..." */, 0)) rc = TCL_ERROR } else { rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, @@ -76278,7 +77846,7 @@ func SqlitetestSyscall_Init(tls *libc.TLS, interp uintptr) int32 { /* test_sysca defer tls.Free(16) *(*[1]SyscallCmd)(unsafe.Pointer(bp /* aCmd */)) = [1]SyscallCmd{ - {FzName: ts + 36766 /* "test_syscall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37521 /* "test_syscall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall}))}, } @@ -76318,7 +77886,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 } - if tcl.XTcl_GetCommandInfo(tls, interp, ts+13947 /* "sqlite3" */, bp+16 /* &cmdInfo */) == 0 { + if tcl.XTcl_GetCommandInfo(tls, interp, ts+14728 /* "sqlite3" */, bp+16 /* &cmdInfo */) == 0 { Sqlite3_Init(tls, interp) } Md5_Init(tls, interp) @@ -76355,6 +77923,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 Sqlitemultiplex_Init(tls, interp) SqliteSuperlock_Init(tls, interp) SqlitetestSyscall_Init(tls, interp) + TestSession_Init(tls, interp) Fts5tcl_Init(tls, interp) SqliteRbu_Init(tls, interp) Sqlitetesttcl_Init(tls, interp) @@ -76364,7 +77933,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 Sqlitetestvdbecov_Init(tls, interp) tcl.XTcl_CreateObjCommand(tls, - interp, ts+36779 /* "load_testfixture..." */, *(*uintptr)(unsafe.Pointer(&struct { + interp, ts+37534 /* "load_testfixture..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{load_testfixture_extensions})), uintptr(0), uintptr(0)) return uintptr(0) @@ -76374,7 +77943,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 func load_testfixture_extensions(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_tclsh.c:185:26: */ var slave uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36807 /* "SLAVE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+37562 /* "SLAVE" */) return TCL_ERROR } @@ -76516,7 +78085,7 @@ var zSchema = // Array index // Value // base(index) name -*(*[100]int8)(unsafe.Pointer(ts + 36813 /* "CREATE TABLE x( ..." */)) /* test_tclvar.c:88:21 */ +*(*[100]int8)(unsafe.Pointer(ts + 37568 /* "CREATE TABLE x( ..." */)) /* test_tclvar.c:88:21 */ // Note that for this virtual table, the xCreate and xConnect // methods are identical. @@ -76568,7 +78137,7 @@ func next2(tls *libc.TLS, interp uintptr, pCur uintptr, pObj uintptr) int32 { /* if pObj != 0 { if !(int32((*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2) != 0) { - p = tcl.XTcl_NewStringObj(tls, ts+36913 /* "array names" */, -1) + p = tcl.XTcl_NewStringObj(tls, ts+37668 /* "array names" */, -1) (*Tcl_Obj)(unsafe.Pointer(p)).FrefCount++ tcl.XTcl_ListObjAppendElement(tls, uintptr(0), p, pObj) tcl.XTcl_EvalObjEx(tls, interp, p, TCL_EVAL_GLOBAL) @@ -76629,7 +78198,7 @@ func tclvarNext(tls *libc.TLS, cur uintptr) int32 { /* test_tclvar.c:168:12: */ func tclvarFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* test_tclvar.c:188:12: */ var pCur uintptr = pVtabCursor var interp uintptr = (*tclvar_vtab)(unsafe.Pointer((*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab)).Finterp - var p uintptr = tcl.XTcl_NewStringObj(tls, ts+36925 /* "tclvar_filter_cm..." */, -1) + var p uintptr = tcl.XTcl_NewStringObj(tls, ts+37680 /* "tclvar_filter_cm..." */, -1) var zEq uintptr = ts + 489 /* "" */ var zMatch uintptr = ts + 489 /* "" */ @@ -76747,7 +78316,7 @@ func tclvarColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* t { var z3 uintptr if *(*uintptr)(unsafe.Pointer(bp + 24 /* p2 */)) != 0 { - z3 = sqlite3.Xsqlite3_mprintf(tls, ts+36943 /* "%s(%s)" */, libc.VaList(bp, z1, z2)) + z3 = sqlite3.Xsqlite3_mprintf(tls, ts+37698 /* "%s(%s)" */, libc.VaList(bp, z1, z2)) sqlite3.Xsqlite3_result_text(tls, ctx, z3, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) } else { sqlite3.Xsqlite3_result_text(tls, ctx, z1, -1, libc.UintptrFromInt32(-1)) @@ -76802,7 +78371,7 @@ func tclvarSetOmit(tls *libc.TLS, interp uintptr) int32 { /* test_tclvar.c:324:1 *(*int32)(unsafe.Pointer(bp /* res */)) = 0 var pRes uintptr rc = tcl.XTcl_Eval(tls, interp, - ts+36950 /* "expr {[info exis..." */) + ts+37705 /* "expr {[info exis..." */) if rc == TCL_OK { pRes = tcl.XTcl_GetObjResult(tls, interp) rc = tcl.XTcl_GetBooleanFromObj(tls, uintptr(0), pRes, bp /* &res */) @@ -76899,7 +78468,7 @@ func tclvarUpdate(tls *libc.TLS, tab uintptr, argc int32, argv uintptr, pRowid u var zValue uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8))) var zName uintptr if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 5*8))) != SQLITE_TEXT { - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37011 /* "the 'fullname' c..." */, 0) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37766 /* "the 'fullname' c..." */, 0) return SQLITE_ERROR } zName = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 5*8))) @@ -76925,7 +78494,7 @@ func tclvarUpdate(tls *libc.TLS, tab uintptr, argc int32, argv uintptr, pRowid u } return SQLITE_OK } - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37046 /* "prohibited TCL v..." */, 0) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37801 /* "prohibited TCL v..." */, 0) return SQLITE_ERROR } @@ -76962,10 +78531,10 @@ func register_tclvar_module(tls *libc.TLS, clientData ClientData, interp uintptr if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+29292 /* "tclvar" */, uintptr(unsafe.Pointer(&tclvarModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30054 /* "tclvar" */, uintptr(unsafe.Pointer(&tclvarModule)), interp) rc = tcl.XTcl_Eval(tls, interp, - ts+37077 /* "proc like {patte..." */) + ts+37832 /* "proc like {patte..." */) return rc } @@ -76988,7 +78557,7 @@ var aObjCmd13 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 37613 /* "register_tclvar_..." */, FxProc: 0}, + {FzName: ts + 38368 /* "register_tclvar_..." */, FxProc: 0}, } /* test_tclvar.c:552:5 */ // Define some macros helping to catch buffer overflows. @@ -77069,21 +78638,21 @@ func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) { /* test_thread.c:11 var p uintptr = pSqlThread interp = tcl.XTcl_CreateInterp(tls) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37636 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38391 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{clock_seconds_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37650 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38405 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_proc})), pSqlThread, uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37660 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38415 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_step_proc})), uintptr(0), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37682 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38437 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(1), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37710 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38465 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(0), uintptr(0)) Sqlitetest1_Init(tls, interp) @@ -77109,7 +78678,7 @@ func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) { /* test_thread.c:11 pList = tcl.XTcl_NewObj(tls) } - tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+37741 /* "set" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+38496 /* "set" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, (*SqlThread)(unsafe.Pointer(p)).FzVarname, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pList, pRes) postToParent(tls, p, pList) @@ -77177,7 +78746,7 @@ func sqlthread_spawn(tls *libc.TLS, clientData ClientData, interp uintptr, objc rc = tcl.XTcl_CreateThread(tls, bp+24 /* &x */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, ClientData) }{tclScriptThread})), pNew, nStack, flags) if rc != TCL_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37745 /* "Error in Tcl_Cre..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38500 /* "Error in Tcl_Cre..." */, 0)) tcl.XTcl_Free(tls, pNew) return TCL_ERROR } @@ -77207,7 +78776,7 @@ func sqlthread_parent(tls *libc.TLS, clientData ClientData, interp uintptr, objc _ = objc if p == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37773 /* "no parent thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38528 /* "no parent thread" */, 0)) return TCL_ERROR } @@ -77295,16 +78864,16 @@ func sqlthread_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc i _ [4]byte FzUsage uintptr }{ - {FzName: ts + 37790 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 38545 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_parent})), FnArg: 1, FzUsage: ts + 11583 /* "SCRIPT" */}, - {FzName: ts + 37797 /* "spawn" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_parent})), FnArg: 1, FzUsage: ts + 10650 /* "SCRIPT" */}, + {FzName: ts + 38552 /* "spawn" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_spawn})), FnArg: 2, FzUsage: ts + 37803 /* "VARNAME SCRIPT" */}, - {FzName: ts + 36407 /* "open" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_spawn})), FnArg: 2, FzUsage: ts + 38558 /* "VARNAME SCRIPT" */}, + {FzName: ts + 37162 /* "open" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_open})), FnArg: 1, FzUsage: ts + 37818 /* "DBNAME" */}, - {FzName: ts + 37825 /* "id" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_open})), FnArg: 1, FzUsage: ts + 38573 /* "DBNAME" */}, + {FzName: ts + 38580 /* "id" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_id})), FzUsage: ts + 489 /* "" */}, {}, @@ -77499,7 +79068,7 @@ func blocking_step_proc(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -77529,8 +79098,8 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, var isBlocking int32 = libc.BoolInt32(!(clientData == uintptr(0))) if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -77555,7 +79124,7 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+37828 /* "%s " */, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+38583 /* "%s " */, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -77575,21 +79144,21 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, // Register commands with the TCL interpreter. func SqlitetestThread_Init(tls *libc.TLS, interp uintptr) int32 { /* test_thread.c:619:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+37650 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38405 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37636 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38391 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{clock_seconds_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37660 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38415 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_step_proc})), uintptr(0), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37682 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38437 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(1), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37710 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38465 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(0), uintptr(0)) return TCL_OK @@ -77707,13 +79276,13 @@ func tvfsResultCode(tls *libc.TLS, p uintptr, pRc uintptr) int32 { /* test_vfs.c *(*[9]errcode)(unsafe.Pointer(bp /* aCode */)) = [9]errcode{ {FzCode: ts + 1988 /* "SQLITE_OK" */}, {FeCode: SQLITE_ERROR, FzCode: ts + 1975 /* "SQLITE_ERROR" */}, - {FeCode: SQLITE_IOERR, FzCode: ts + 37832 /* "SQLITE_IOERR" */}, - {FeCode: SQLITE_LOCKED, FzCode: ts + 37845 /* "SQLITE_LOCKED" */}, - {FeCode: SQLITE_BUSY, FzCode: ts + 37859 /* "SQLITE_BUSY" */}, - {FeCode: SQLITE_READONLY, FzCode: ts + 37871 /* "SQLITE_READONLY" */}, - {FeCode: (SQLITE_READONLY | (int32(5) << 8)), FzCode: ts + 37887 /* "SQLITE_READONLY_..." */}, - {FeCode: SQLITE_NOTFOUND, FzCode: ts + 37912 /* "SQLITE_NOTFOUND" */}, - {FeCode: -1, FzCode: ts + 37928 /* "SQLITE_OMIT" */}, + {FeCode: SQLITE_IOERR, FzCode: ts + 38587 /* "SQLITE_IOERR" */}, + {FeCode: SQLITE_LOCKED, FzCode: ts + 38600 /* "SQLITE_LOCKED" */}, + {FeCode: SQLITE_BUSY, FzCode: ts + 38614 /* "SQLITE_BUSY" */}, + {FeCode: SQLITE_READONLY, FzCode: ts + 38626 /* "SQLITE_READONLY" */}, + {FeCode: (SQLITE_READONLY | (int32(5) << 8)), FzCode: ts + 38642 /* "SQLITE_READONLY_..." */}, + {FeCode: SQLITE_NOTFOUND, FzCode: ts + 38667 /* "SQLITE_NOTFOUND" */}, + {FeCode: -1, FzCode: ts + 38683 /* "SQLITE_OMIT" */}, } var z uintptr var i int32 @@ -77793,7 +79362,7 @@ func tvfsClose(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:317:12: */ var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_CLOSE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34930, /* "xClose" */ + tvfsExecTcl(tls, p, ts+35685, /* "xClose" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) } @@ -77824,7 +79393,7 @@ func tvfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqli var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_READ_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34937, /* "xRead" */ + tvfsExecTcl(tls, p, ts+35692, /* "xRead" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -77847,7 +79416,7 @@ func tvfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sql var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_WRITE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34943, /* "xWrite" */ + tvfsExecTcl(tls, p, ts+35698, /* "xWrite" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewWideIntObj(tls, iOfst), tcl.XTcl_NewIntObj(tls, iAmt)) tvfsResultCode(tls, p, bp /* &rc */) @@ -77879,7 +79448,7 @@ func tvfsTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 { /* te var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_TRUNCATE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34950, /* "xTruncate" */ + tvfsExecTcl(tls, p, ts+35705, /* "xTruncate" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -77904,26 +79473,26 @@ func tvfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* test_vfs.c:4 switch flags { case SQLITE_SYNC_NORMAL: - zFlags = ts + 16088 /* "normal" */ + zFlags = ts + 16869 /* "normal" */ break fallthrough case SQLITE_SYNC_FULL: - zFlags = ts + 17949 /* "full" */ + zFlags = ts + 18730 /* "full" */ break fallthrough case (SQLITE_SYNC_NORMAL | SQLITE_SYNC_DATAONLY): - zFlags = ts + 37940 /* "normal|dataonly" */ + zFlags = ts + 38695 /* "normal|dataonly" */ break fallthrough case (SQLITE_SYNC_FULL | SQLITE_SYNC_DATAONLY): - zFlags = ts + 37956 /* "full|dataonly" */ + zFlags = ts + 38711 /* "full|dataonly" */ break fallthrough default: } - tvfsExecTcl(tls, p, ts+27353, /* "xSync" */ + tvfsExecTcl(tls, p, ts+28129, /* "xSync" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewStringObj(tls, zFlags, -1), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) @@ -77957,7 +79526,7 @@ func tvfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c:4 // var zLock [30]int8 at bp+8, 30 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) - tvfsExecTcl(tls, p, ts+34970 /* "xLock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+35725 /* "xLock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, bp+8 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } return sqlite3.Xsqlite3OsLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, eLock) @@ -77974,7 +79543,7 @@ func tvfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c // var zLock [30]int8 at bp+8, 30 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) - tvfsExecTcl(tls, p, ts+34976 /* "xUnlock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+35731 /* "xUnlock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, bp+8 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } if (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_WRITE_MASK) != 0) && (tvfsInjectIoerr(tls, p) != 0) { @@ -77988,7 +79557,7 @@ func tvfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_CKLOCK_MASK) != 0) { - tvfsExecTcl(tls, p, ts+37970 /* "xCheckReservedLo..." */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+38725 /* "xCheckReservedLo..." */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) } return sqlite3.Xsqlite3OsCheckReservedLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, pResOut) @@ -78030,9 +79599,9 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_FCNTL_MASK) != 0) { *(*[3]Fcntl)(unsafe.Pointer(bp + 16 /* aF */)) = [3]Fcntl{ - {FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 37989 /* "BEGIN_ATOMIC_WRI..." */}, - {FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 38008 /* "COMMIT_ATOMIC_WR..." */}, - {FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 38028 /* "ZIPVFS" */}, + {FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 38744 /* "BEGIN_ATOMIC_WRI..." */}, + {FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 38763 /* "COMMIT_ATOMIC_WR..." */}, + {FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 38783 /* "ZIPVFS" */}, } var i int32 for i = 0; uint64(i) < (uint64(unsafe.Sizeof([3]Fcntl{})) / uint64(unsafe.Sizeof(Fcntl{}))); i++ { @@ -78042,7 +79611,7 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } if uint64(i) < (uint64(unsafe.Sizeof([3]Fcntl{})) / uint64(unsafe.Sizeof(Fcntl{}))) { *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = 0 - tvfsExecTcl(tls, p, ts+34998, /* "xFileControl" */ + tvfsExecTcl(tls, p, ts+35753, /* "xFileControl" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, (*Fcntl)(unsafe.Pointer(bp+16 /* &aF */ +uintptr(i)*16)).FzFnctl, -1), uintptr(0), uintptr(0)) @@ -78129,7 +79698,7 @@ func tvfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i z += (uintptr(libc.Xstrlen(tls, z) + uint64(1))) } } - tvfsExecTcl(tls, p, ts+26925 /* "xOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), pArg, uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+27701 /* "xOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), pArg, uintptr(0), uintptr(0)) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pArg if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -78156,7 +79725,7 @@ func tvfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i } if !(pId != 0) { - pId = tcl.XTcl_NewStringObj(tls, ts+38035 /* "anon" */, -1) + pId = tcl.XTcl_NewStringObj(tls, ts+38790 /* "anon" */, -1) } (*Tcl_Obj)(unsafe.Pointer(pId)).FrefCount++ (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId = pId @@ -78202,7 +79771,7 @@ func tvfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 var p uintptr = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_DELETE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35035, /* "xDelete" */ + tvfsExecTcl(tls, p, ts+35790, /* "xDelete" */ tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewIntObj(tls, dirSync), uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -78224,15 +79793,15 @@ func tvfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut var zArg uintptr = uintptr(0) if flags == SQLITE_ACCESS_EXISTS { - zArg = ts + 38040 /* "SQLITE_ACCESS_EX..." */ + zArg = ts + 38795 /* "SQLITE_ACCESS_EX..." */ } if flags == SQLITE_ACCESS_READWRITE { - zArg = ts + 38061 /* "SQLITE_ACCESS_RE..." */ + zArg = ts + 38816 /* "SQLITE_ACCESS_RE..." */ } if flags == SQLITE_ACCESS_READ { - zArg = ts + 38085 /* "SQLITE_ACCESS_RE..." */ + zArg = ts + 38840 /* "SQLITE_ACCESS_RE..." */ } - tvfsExecTcl(tls, p, ts+35043, /* "xAccess" */ + tvfsExecTcl(tls, p, ts+35798, /* "xAccess" */ tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewStringObj(tls, zArg, -1), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { @@ -78259,7 +79828,7 @@ func tvfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_FULLPATHNAME_MASK) != 0) { // var rc int32 at bp, 4 - tvfsExecTcl(tls, p, ts+35051 /* "xFullPathname" */, tcl.XTcl_NewStringObj(tls, zPath, -1), uintptr(0), uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+35806 /* "xFullPathname" */, tcl.XTcl_NewStringObj(tls, zPath, -1), uintptr(0), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -78303,7 +79872,7 @@ func tvfsShmOpen(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:827:12: */ // SCRIPT xShmOpen FILENAME tcl.XTcl_ResetResult(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp) if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMOPEN_MASK) != 0) { - tvfsExecTcl(tls, p, ts+38104 /* "xShmOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+38859 /* "xShmOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -78374,7 +79943,7 @@ func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite i tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, iPage)) tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, pgsz)) tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, isWrite)) - tvfsExecTcl(tls, p, ts+35128, /* "xShmMap" */ + tvfsExecTcl(tls, p, ts+35883, /* "xShmMap" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, pArg, uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) for ok := true; ok; ok = 0 != 0 { @@ -78414,20 +79983,20 @@ func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMLOCK_MASK) != 0) { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+16 /* &zLock[0] */, ts+17484 /* "%d %d" */, libc.VaList(bp, ofst, n)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+16 /* &zLock[0] */, ts+18265 /* "%d %d" */, libc.VaList(bp, ofst, n)) nLock = int32(libc.Xstrlen(tls, bp+16 /* &zLock[0] */)) if (flags & SQLITE_SHM_LOCK) != 0 { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38113 /* " lock" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38868 /* " lock" */) } else { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38119 /* " unlock" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38874 /* " unlock" */) } nLock = nLock + (int32(libc.Xstrlen(tls, (bp + 16 /* &zLock */ + uintptr(nLock))))) if (flags & SQLITE_SHM_SHARED) != 0 { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38127 /* " shared" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38882 /* " shared" */) } else { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38135 /* " exclusive" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38890 /* " exclusive" */) } - tvfsExecTcl(tls, p, ts+35107, /* "xShmLock" */ + tvfsExecTcl(tls, p, ts+35862, /* "xShmLock" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewStringObj(tls, bp+16 /* &zLock[0] */, -1), uintptr(0)) tvfsResultCode(tls, p, bp+96 /* &rc */) @@ -78484,7 +80053,7 @@ func tvfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_vfs.c:1004:13: */ } else { z = ts + 489 /* "" */ } - tvfsExecTcl(tls, p, ts+35116 /* "xShmBarrier" */, tcl.XTcl_NewStringObj(tls, z, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+35871 /* "xShmBarrier" */, tcl.XTcl_NewStringObj(tls, z, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) } if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { @@ -78514,7 +80083,7 @@ func tvfsShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* tes } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMCLOSE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35097, /* "xShmUnmap" */ + tvfsExecTcl(tls, p, ts+35852, /* "xShmUnmap" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -78557,15 +80126,15 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o var p uintptr = cd *(*[10]TestvfsSubcmd)(unsafe.Pointer(bp + 96 /* aSubcmd */)) = [10]TestvfsSubcmd{ - {FzName: ts + 38146 /* "shm" */}, - {FzName: ts + 38150 /* "delete" */, FeCmd: uint32(1) /* CMD_DELETE */}, - {FzName: ts + 38157 /* "filter" */, FeCmd: uint32(2) /* CMD_FILTER */}, - {FzName: ts + 38164 /* "ioerr" */, FeCmd: uint32(3) /* CMD_IOERR */}, - {FzName: ts + 38170 /* "fullerr" */, FeCmd: uint32(7) /* CMD_FULLERR */}, - {FzName: ts + 38178 /* "cantopenerr" */, FeCmd: uint32(8) /* CMD_CANTOPENERR */}, - {FzName: ts + 38190 /* "script" */, FeCmd: uint32(4) /* CMD_SCRIPT */}, - {FzName: ts + 38197 /* "devchar" */, FeCmd: uint32(5) /* CMD_DEVCHAR */}, - {FzName: ts + 38205 /* "sectorsize" */, FeCmd: uint32(6) /* CMD_SECTORSIZE */}, + {FzName: ts + 38901 /* "shm" */}, + {FzName: ts + 10601 /* "delete" */, FeCmd: uint32(1) /* CMD_DELETE */}, + {FzName: ts + 38905 /* "filter" */, FeCmd: uint32(2) /* CMD_FILTER */}, + {FzName: ts + 38912 /* "ioerr" */, FeCmd: uint32(3) /* CMD_IOERR */}, + {FzName: ts + 38918 /* "fullerr" */, FeCmd: uint32(7) /* CMD_FULLERR */}, + {FzName: ts + 38926 /* "cantopenerr" */, FeCmd: uint32(8) /* CMD_CANTOPENERR */}, + {FzName: ts + 38938 /* "script" */, FeCmd: uint32(4) /* CMD_SCRIPT */}, + {FzName: ts + 38945 /* "devchar" */, FeCmd: uint32(5) /* CMD_DEVCHAR */}, + {FzName: ts + 38953 /* "sectorsize" */, FeCmd: uint32(6) /* CMD_SECTORSIZE */}, {}, } // var i int32 at bp+256, 4 @@ -78575,7 +80144,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+96 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+38216 /* "subcommand" */, 0, bp+256 /* &i */) != 0 { + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+96 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+38964 /* "subcommand" */, 0, bp+256 /* &i */) != 0 { return TCL_ERROR } tcl.XTcl_ResetResult(tls, interp) @@ -78588,7 +80157,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o var pBuffer uintptr var zName uintptr if (objc != 3) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38227 /* "FILE ?VALUE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38975 /* "FILE ?VALUE?" */) return TCL_ERROR } zName = tcl.XTcl_Alloc(tls, uint32((*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname)) @@ -78596,7 +80165,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o (*Testvfs)(unsafe.Pointer(p)).FpParent, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), (*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname, zName) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38240, /* "failed to get fu..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38988, /* "failed to get fu..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) tcl.XTcl_Free(tls, zName) return TCL_ERROR @@ -78608,7 +80177,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } tcl.XTcl_Free(tls, zName) if !(pBuffer != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+38266 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+39014 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) return TCL_ERROR } if objc == 4 { @@ -78651,7 +80220,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o *(*int32)(unsafe.Pointer(bp + 264 /* nElem */)) = 0 var mask int32 = 0 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+31855 /* "LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+32617 /* "LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+264 /* &nElem */, bp+272 /* &apElem */) != 0 { @@ -78668,7 +80237,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } } if iMethod == (int32(uint64(unsafe.Sizeof(vfsmethod)) / uint64(unsafe.Sizeof(VfsMethod{})))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+38281 /* "unknown method: " */, zElem, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+39029 /* "unknown method: " */, zElem, 0)) return TCL_ERROR } } @@ -78701,7 +80270,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o (*Tcl_Obj)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpScript)).FrefCount++ } } else if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) return TCL_ERROR } @@ -78760,7 +80329,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o }() (*TestFaultInject)(unsafe.Pointer(pTest)).FiCnt = *(*int32)(unsafe.Pointer(bp + 284 /* iCnt */)) } else if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38298 /* "?CNT PERSIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39046 /* "?CNT PERSIST?" */) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iRet)) @@ -78778,28 +80347,28 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(5) /* CMD_DEVCHAR */ : { *(*[16]DeviceFlag)(unsafe.Pointer(bp + 304 /* aFlag */)) = [16]DeviceFlag{ - {FzName: ts + 38312 /* "default" */, FiValue: -1}, - {FzName: ts + 25907 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, - {FzName: ts + 25914 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, - {FzName: ts + 25924 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, - {FzName: ts + 25933 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, - {FzName: ts + 25942 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, - {FzName: ts + 25951 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, - {FzName: ts + 25960 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, - {FzName: ts + 25970 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, - {FzName: ts + 25980 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, - {FzName: ts + 25990 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, - {FzName: ts + 26001 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, - {FzName: ts + 38320 /* "undeletable_when..." */, FiValue: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN}, - {FzName: ts + 26013 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, - {FzName: ts + 38342 /* "immutable" */, FiValue: SQLITE_IOCAP_IMMUTABLE}, + {FzName: ts + 39060 /* "default" */, FiValue: -1}, + {FzName: ts + 26683 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, + {FzName: ts + 26690 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, + {FzName: ts + 26700 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, + {FzName: ts + 26709 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, + {FzName: ts + 26718 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, + {FzName: ts + 26727 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, + {FzName: ts + 26736 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, + {FzName: ts + 26746 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, + {FzName: ts + 26756 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, + {FzName: ts + 26766 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, + {FzName: ts + 26777 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, + {FzName: ts + 39068 /* "undeletable_when..." */, FiValue: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN}, + {FzName: ts + 26789 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, + {FzName: ts + 39090 /* "immutable" */, FiValue: SQLITE_IOCAP_IMMUTABLE}, {}, } var pRet uintptr var iFlag int32 if objc > 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38352 /* "?ATTR-LIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39100 /* "?ATTR-LIST?" */) return TCL_ERROR } if objc == 3 { @@ -78815,11 +80384,11 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o for j = 0; j < *(*int32)(unsafe.Pointer(bp + 292 /* nFlags */)); j++ { *(*int32)(unsafe.Pointer(bp + 560 /* idx */)) = 0 if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 296 /* flags */)) + uintptr(j)*8)), bp+304, /* &aFlag[0] */ - int32(unsafe.Sizeof(DeviceFlag{})), ts+17204 /* "flag" */, 0, bp+560 /* &idx */) != 0 { + int32(unsafe.Sizeof(DeviceFlag{})), ts+17985 /* "flag" */, 0, bp+560 /* &idx */) != 0 { return TCL_ERROR } if ((*DeviceFlag)(unsafe.Pointer(bp+304 /* &aFlag */ +uintptr(*(*int32)(unsafe.Pointer(bp + 560 /* idx */)))*16)).FiValue < 0) && (*(*int32)(unsafe.Pointer(bp + 292 /* nFlags */)) > 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+38364 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+39112 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) return TCL_ERROR } iNew = iNew | ((*DeviceFlag)(unsafe.Pointer(bp + 304 /* &aFlag */ + uintptr(*(*int32)(unsafe.Pointer(bp + 560 /* idx */)))*16)).FiValue) @@ -78844,7 +80413,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(6) /* CMD_SECTORSIZE */ : { if objc > 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38376 /* "?VALUE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39124 /* "?VALUE?" */) return TCL_ERROR } if objc == 3 { @@ -78876,24 +80445,24 @@ type VfsMethod = struct { } /* test_vfs.c:1179:14 */ var vfsmethod = [18]VfsMethod{ - {FzName: ts + 38104 /* "xShmOpen" */, Fmask: TESTVFS_SHMOPEN_MASK}, - {FzName: ts + 35107 /* "xShmLock" */, Fmask: TESTVFS_SHMLOCK_MASK}, - {FzName: ts + 35116 /* "xShmBarrier" */, Fmask: TESTVFS_SHMBARRIER_MASK}, - {FzName: ts + 35097 /* "xShmUnmap" */, Fmask: TESTVFS_SHMCLOSE_MASK}, - {FzName: ts + 35128 /* "xShmMap" */, Fmask: TESTVFS_SHMMAP_MASK}, - {FzName: ts + 27353 /* "xSync" */, Fmask: TESTVFS_SYNC_MASK}, - {FzName: ts + 35035 /* "xDelete" */, Fmask: TESTVFS_DELETE_MASK}, - {FzName: ts + 34943 /* "xWrite" */, Fmask: TESTVFS_WRITE_MASK}, - {FzName: ts + 34937 /* "xRead" */, Fmask: TESTVFS_READ_MASK}, - {FzName: ts + 34950 /* "xTruncate" */, Fmask: TESTVFS_TRUNCATE_MASK}, - {FzName: ts + 26925 /* "xOpen" */, Fmask: TESTVFS_OPEN_MASK}, - {FzName: ts + 34930 /* "xClose" */, Fmask: TESTVFS_CLOSE_MASK}, - {FzName: ts + 35043 /* "xAccess" */, Fmask: TESTVFS_ACCESS_MASK}, - {FzName: ts + 35051 /* "xFullPathname" */, Fmask: TESTVFS_FULLPATHNAME_MASK}, - {FzName: ts + 34976 /* "xUnlock" */, Fmask: TESTVFS_UNLOCK_MASK}, - {FzName: ts + 34970 /* "xLock" */, Fmask: TESTVFS_LOCK_MASK}, - {FzName: ts + 37970 /* "xCheckReservedLo..." */, Fmask: TESTVFS_CKLOCK_MASK}, - {FzName: ts + 34998 /* "xFileControl" */, Fmask: TESTVFS_FCNTL_MASK}, + {FzName: ts + 38859 /* "xShmOpen" */, Fmask: TESTVFS_SHMOPEN_MASK}, + {FzName: ts + 35862 /* "xShmLock" */, Fmask: TESTVFS_SHMLOCK_MASK}, + {FzName: ts + 35871 /* "xShmBarrier" */, Fmask: TESTVFS_SHMBARRIER_MASK}, + {FzName: ts + 35852 /* "xShmUnmap" */, Fmask: TESTVFS_SHMCLOSE_MASK}, + {FzName: ts + 35883 /* "xShmMap" */, Fmask: TESTVFS_SHMMAP_MASK}, + {FzName: ts + 28129 /* "xSync" */, Fmask: TESTVFS_SYNC_MASK}, + {FzName: ts + 35790 /* "xDelete" */, Fmask: TESTVFS_DELETE_MASK}, + {FzName: ts + 35698 /* "xWrite" */, Fmask: TESTVFS_WRITE_MASK}, + {FzName: ts + 35692 /* "xRead" */, Fmask: TESTVFS_READ_MASK}, + {FzName: ts + 35705 /* "xTruncate" */, Fmask: TESTVFS_TRUNCATE_MASK}, + {FzName: ts + 27701 /* "xOpen" */, Fmask: TESTVFS_OPEN_MASK}, + {FzName: ts + 35685 /* "xClose" */, Fmask: TESTVFS_CLOSE_MASK}, + {FzName: ts + 35798 /* "xAccess" */, Fmask: TESTVFS_ACCESS_MASK}, + {FzName: ts + 35806 /* "xFullPathname" */, Fmask: TESTVFS_FULLPATHNAME_MASK}, + {FzName: ts + 35731 /* "xUnlock" */, Fmask: TESTVFS_UNLOCK_MASK}, + {FzName: ts + 35725 /* "xLock" */, Fmask: TESTVFS_LOCK_MASK}, + {FzName: ts + 38725 /* "xCheckReservedLo..." */, Fmask: TESTVFS_CKLOCK_MASK}, + {FzName: ts + 35753 /* "xFileControl" */, Fmask: TESTVFS_FCNTL_MASK}, } /* test_vfs.c:1182:9 */ func testvfs_obj_del(tls *libc.TLS, cd ClientData) { /* test_vfs.c:1393:27: */ @@ -78991,7 +80560,7 @@ __2: } zSwitch = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp /* &nSwitch */) - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38384 /* "-noshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39132 /* "-noshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __5 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+4 /* &isNoshm */) != 0) { @@ -79008,7 +80577,7 @@ __8: ; goto __6 __5: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+26283 /* "-default" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+27059 /* "-default" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __9 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+8 /* &isDefault */) != 0) { @@ -79019,7 +80588,7 @@ __11: ; goto __10 __9: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38391 /* "-szosfile" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39139 /* "-szosfile" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __12 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+12 /* &szOsFile */) != 0) { @@ -79030,7 +80599,7 @@ __14: ; goto __13 __12: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38401 /* "-mxpathname" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39149 /* "-mxpathname" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __15 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+16 /* &mxPathname */) != 0) { @@ -79041,7 +80610,7 @@ __17: ; goto __16 __15: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38413 /* "-iversion" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39161 /* "-iversion" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __18 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+20 /* &iVersion */) != 0) { @@ -79052,7 +80621,7 @@ __20: ; goto __19 __18: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38423 /* "-fullshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39171 /* "-fullshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __21 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+24 /* &isFullshm */) != 0) { @@ -79141,7 +80710,7 @@ __26: return TCL_OK bad_args: - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38432 /* "VFSNAME ?-noshm ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39180 /* "VFSNAME ?-noshm ..." */) return TCL_ERROR } @@ -79161,8 +80730,8 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in bp := tls.Alloc(88) defer tls.Free(88) - *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azArg1 */)) = [3]uintptr{ts + 38536 /* "shared" */, ts + 13658 /* "exclusive" */, uintptr(0)} - *(*[3]uintptr)(unsafe.Pointer(bp + 40 /* azArg2 */)) = [3]uintptr{ts + 38543 /* "lock" */, ts + 38548 /* "unlock" */, uintptr(0)} + *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azArg1 */)) = [3]uintptr{ts + 39284 /* "shared" */, ts + 14439 /* "exclusive" */, uintptr(0)} + *(*[3]uintptr)(unsafe.Pointer(bp + 40 /* azArg2 */)) = [3]uintptr{ts + 39291 /* "lock" */, ts + 39296 /* "unlock" */, uintptr(0)} *(*uintptr)(unsafe.Pointer(bp /* db */)) = uintptr(0) var rc int32 = SQLITE_OK var zDbname uintptr = uintptr(0) @@ -79174,14 +80743,14 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in if objc != 7 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+38555 /* "DB DBNAME (share..." */) + ts+39303 /* "DB DBNAME (share..." */) return TCL_ERROR } zDbname = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) if ((((getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || - (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &azArg1[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+38607 /* "ARG" */, 0, bp+32 /* &iArg1 */) != 0)) || - (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+40 /* &azArg2[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+38607 /* "ARG" */, 0, bp+64 /* &iArg2 */) != 0)) || + (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &azArg1[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+39355 /* "ARG" */, 0, bp+32 /* &iArg1 */) != 0)) || + (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+40 /* &azArg2[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+39355 /* "ARG" */, 0, bp+64 /* &iArg2 */) != 0)) || (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*8)), bp+68 /* &iOffset */) != 0)) || (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 6*8)), bp+72 /* &n */) != 0) { return TCL_ERROR @@ -79224,7 +80793,7 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob var iOff int32 if (objc != 4) && (objc != 5) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38611 /* "DB DBNAME SLOT ?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39359 /* "DB DBNAME SLOT ?..." */) return TCL_ERROR } @@ -79245,7 +80814,7 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob return TCL_ERROR } if libc.AtomicLoadPUintptr(bp+40 /* pShm */) == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38634 /* "*-shm is not yet..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+39382 /* "*-shm is not yet..." */, 0)) return TCL_ERROR } aShm = libc.AtomicLoadPUintptr(bp + 40 /* pShm */) @@ -79260,13 +80829,13 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob } func Sqlitetestvfs_Init(tls *libc.TLS, interp uintptr) int32 { /* test_vfs.c:1685:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+38658 /* "testvfs" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39406 /* "testvfs" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{testvfs_cmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+38666 /* "vfs_shmlock" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39414 /* "vfs_shmlock" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfs_shmlock})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+38678 /* "vfs_set_readmark" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39426 /* "vfs_set_readmark" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfs_set_readmark})), uintptr(0), uintptr(0)) return TCL_OK @@ -79429,7 +80998,7 @@ func test_create_window(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 7 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38695 /* "DB NAME XSTEP XF..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39443 /* "DB NAME XSTEP XF..." */) return TCL_ERROR } @@ -79487,7 +81056,7 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowInverse})), @@ -79498,7 +81067,7 @@ __2: goto error __3: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct { @@ -79511,7 +81080,7 @@ __3: goto error __4: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { @@ -79524,7 +81093,7 @@ __4: goto error __5: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), uintptr(0), @@ -79539,7 +81108,7 @@ __6: return TCL_OK error: - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+38736 /* "misuse test erro..." */, -1)) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+39484 /* "misuse test erro..." */, -1)) return TCL_ERROR } @@ -79548,7 +81117,7 @@ func sumintStep(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* test var pInt uintptr if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_INTEGER { - sqlite3.Xsqlite3_result_error(tls, ctx, ts+38754 /* "invalid argument" */, -1) + sqlite3.Xsqlite3_result_error(tls, ctx, ts+39502 /* "invalid argument" */, -1) return } pInt = sqlite3.Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(sqlite3_int64(0)))) @@ -79602,7 +81171,7 @@ func test_create_sumint(tls *libc.TLS, clientData uintptr, interp uintptr, objc return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38771 /* "sumint" */, 1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39519 /* "sumint" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintValue})), *(*uintptr)(unsafe.Pointer(&struct { @@ -79633,7 +81202,7 @@ func test_override_sum(tls *libc.TLS, clientData uintptr, interp uintptr, objc i return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38778 /* "sum" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39526 /* "sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal}))) @@ -79665,10 +81234,10 @@ var aObjCmd14 = [4]struct { FclientData int32 _ [4]byte }{ - {FzName: ts + 38782 /* "sqlite3_create_w..." */, FxProc: 0}, - {FzName: ts + 38813 /* "test_create_wind..." */, FxProc: 0}, - {FzName: ts + 38848 /* "test_create_sumi..." */, FxProc: 0}, - {FzName: ts + 38867 /* "test_override_su..." */, FxProc: 0}, + {FzName: ts + 39530 /* "sqlite3_create_w..." */, FxProc: 0}, + {FzName: ts + 39561 /* "test_create_wind..." */, FxProc: 0}, + {FzName: ts + 39596 /* "test_create_sumi..." */, FxProc: 0}, + {FzName: ts + 39615 /* "test_override_su..." */, FxProc: 0}, } /* test_window.c:336:5 */ // 2008 September 1 @@ -81059,5 +82628,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&zipfileModule)) + 144 /* .xFindFunction */)) = zipfileFindFunction // zipfile.c:2167:5: } -var ts1 = "%s\x00internal error!\x00SELECT * FROM main.%Q WHERE sample()\x00expert\x00PRAGMA table_xinfo=%Q\x00main\x00, \x00%Q\x00 COLLATE %Q\x00 COLLATE %s\x00 DESC\x00PRAGMA index_list=%Q\x00PRAGMA index_xInfo=%Q\x00%s_idx_%08x\x00CREATE INDEX '%q' ON %Q(%s)\x00CREATE INDEX %s ON %s(%s)\x00EXPLAIN QUERY PLAN %s\x00 USING INDEX \x00 USING COVERING INDEX \x00%s\n\x00%s;\n\x00SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_schema WHERE tbl_name = %Q AND type IN ('table', 'trigger') ORDER BY type;\x00ALTER TABLE temp.%Q RENAME TO %Q\x00INSERT INTO %Q VALUES(\x00%s?\x00\x00)\x00UPDATE %Q SET \x00%s%Q=?\x00DELETE FROM %Q\x00t592690916721053953805701627921227776\x00DROP TABLE t592690916721053953805701627921227776\x00SELECT type, name, sql, 1 FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%' UNION ALL SELECT type, name, sql, 2 FROM sqlite_schema WHERE type = 'trigger' AND tbl_name IN(SELECT name FROM sqlite_schema WHERE type = 'view') ORDER BY 4, 1\x00CREATE TABLE x(\x00%s%Q COLLATE %s\x00CREATE VIRTUAL TABLE %Q USING expert(%Q)\x00SELECT max(i.seqno) FROM sqlite_schema AS s, pragma_index_list(s.name) AS l, pragma_index_info(l.name) AS i WHERE s.type = 'table'\x00%sx.%Q IS rem(%d, x.%Q) COLLATE %s\x00%s%d\x00SELECT %s FROM %Q x ORDER BY %s\x00SELECT %s FROM temp.t592690916721053953805701627921227776 x ORDER BY %s\x00%d\x00 %d\x00DROP TABLE IF EXISTS temp.t592690916721053953805701627921227776\x00CREATE TABLE temp.t592690916721053953805701627921227776 AS SELECT * FROM %Q\x00SELECT s.rowid, s.name, l.name FROM sqlite_schema AS s, pragma_index_list(s.name) AS l WHERE s.type = 'table'\x00SELECT name, coll FROM pragma_index_xinfo(?) WHERE key\x00INSERT INTO sqlite_stat1 VALUES(?, ?, ?)\x00ANALYZE; PRAGMA writable_schema=1\x00rem\x00sample\x00ANALYZE sqlite_schema\x00:memory:\x00SELECT sql FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%%' AND sql NOT LIKE 'CREATE VIRTUAL %%'\x00%s;%s%s\n\x00 -- stat1: \x00no such handle: \x00sql\x00TABLE\x00analyze\x00count\x00report\x00STMT EREPORT\x00destroy\x00SUBCOMMAND ...\x00sub-command\x00indexes\x00plan\x00candidates\x00DB\x00sqlite3expert%d\x00out of memory\x00sqlite3_expert_new\x00SQLITE_DONE\x00SQLITE_ERROR\x00SQLITE_OK\x00SELECT fts5(?1)\x00error: \x00fts5_api_ptr\x00f5t_2_%lld\x00xColumnCount\x00xRowCount\x00xColumnTotalSize\x00COL\x00xTokenize\x00TEXT SCRIPT\x00xPhraseCount\x00xPhraseSize\x00PHRASE\x00xInstCount\x00xInst\x00IDX\x00xRowid\x00xColumnText\x00xColumnSize\x00xQueryPhrase\x00PHRASE SCRIPT\x00xSetAuxdata\x00VALUE\x00xGetAuxdata\x00CLEAR\x00xSetAuxdataInt\x00INTEGER\x00xGetAuxdataInt\x00xPhraseForeach\x00IPHRASE COLVAR OFFVAR SCRIPT\x00xPhraseColumnForeach\x00IPHRASE COLVAR SCRIPT\x00SUB-COMMAND\x00f5t_%lld\x00bytearray\x00boolean\x00double\x00wideInt\x00int\x00DB NAME SCRIPT\x00?-subst? DB NAME TEXT\x00-subst\x00unrecognized option: \x00no such tokenizer: \x00error in tokenizer.xCreate()\x00error in tokenizer.xTokenize()\x00document\x00aux\x00query\x00prefixquery\x00invalid\x00-colocated\x00sqlite3_fts5_token may only be used by tokenizer callback\x00?-colocated? TEXT START END\x00error in fts5_api.xCreateTokenizer()\x00NSLOT TOKEN\x00sqlite3_fts5_create_tokenizer\x00sqlite3_fts5_token\x00sqlite3_fts5_tokenize\x00sqlite3_fts5_create_function\x00sqlite3_fts5_may_be_corrupt\x00sqlite3_fts5_token_hash\x00sqlite3_fts5_register_matchinfo\x00sqlite3_fts5_register_fts5tokenize\x00unrecognized matchinfo flag: %c\x00pcx\x00matchinfo\x00CREATE TABLE x(input HIDDEN, token, start, end, position)\x00fts5tokenize\x00apndvfs\x00Start-Of-SQLite3-\x00apnd(%lld)/%z\x00SQLite format 3\x00%s: cost must be between 1 and %d\x00%s: maximum string length is %d\x00%s: iLang must be between 0 and %d\x00?\x00SELECT * FROM %Q.%Q\x00%s: %s\x00%s: %s has %d columns, expected 4\x00vocabulary_table\x00vocabulary_word\x00vocabulary_language\x00edit_distances\x00unrecognized argument: [%s]\n\x00no edit_distances table specified\x00CREATE TABLE x(word,distance,language,command HIDDEN,nword HIDDEN)\x000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^abcdefghijklmnopqrstuvwxyz~\x00SELECT \"%w\" FROM \"%w\"\x00 WHERE \"%w\">=?1 AND \"%w\"=?2 ORDER BY 1\x00SELECT \"%w\" FROM \"%w\" WHERE \"%w\">=?1 ORDER BY 1\x00*\x00DELETE from %s is not allowed\x00UPDATE of %s is not allowed\x00INSERT INTO %s allowed for column [command] only\x00approximate_match\x00int32\x00int64\x00char*\x00CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)\x00carray-bind\x00carray\x00unknown datatype: %Q\x00inttoptr\x00cksmvfs\x00ZV-\x00checksum fault offset %lld of \"%s\"\x00checksum_verification\x00enable%\x00yes\x00on\x00page_size\x00cksm/%z\x00verify_checksum\x00tablename\x00idcolumn\x00parentcolumn\x00CREATE TABLE x(id,depth,root HIDDEN,tablename HIDDEN,idcolumn HIDDEN,parentcolumn HIDDEN)\x00SELECT \"%w\".\"%w\" FROM \"%w\" WHERE \"%w\".\"%w\"=?1\x00transitive_closure\x00rb\x00cannot open '%s' for reading\x00line %d: unescaped %c character\x00line %d: unterminated %c-quoted field\n\x00more than one '%s' parameter\x00true\x00no\x00off\x00false\x00header\x00more than one 'header' parameter\x00testflags\x00columns\x00more than one 'columns' parameter\x00column= value must be positive\x00bad parameter: '%s'\x00must specify either filename= or data= but not both\x00%sc%d TEXT\x00,\x00%s\"%w\" TEXT\x00bad schema: '%s' - %s\x00filename\x00data\x00schema\x00csv\x00csv_wr\x00decimal_sum\x00decimal\x00decimal_cmp\x00decimal_add\x00decimal_sub\x00decimal_mul\x00 \x00eval\x00CREATE TABLE x(addr,opcode,p1,p2,p3,p4,p5,comment,sql HIDDEN)\x00EXPLAIN %s\x00explain\x00wb\x00wrong number of arguments to function writefile()\x00failed to create symlink: %s\x00failed to create directory: %s\x00failed to write file: %s\x00CREATE TABLE x(name,mode,mtime,data,path HIDDEN,dir HIDDEN)\x00cannot read directory: %s\x00%s/%s\x00cannot stat file: %s\x00table function fsdir requires an argument\x00table function fsdir requires a non-NULL argument\x00fsdir\x00readfile\x00writefile\x00lsmode\x00%s: ruleset must be between 0 and %d\x00%s: wrong number of CREATE VIRTUAL TABLE arguments\x00CREATE TABLE x(word,distance,ruleset)\x00fuzzer\x00ieee754(%lld,%d)\x00ieee754\x00ieee754_mantissa\x00ieee754_exponent\x00ieee754_to_blob\x00ieee754_from_blob\x00BEGIN; SELECT * FROM %s%q%ssqlite_schema\x00'\x00'.\x00PRAGMA %s%q%spage_size\x00sqlite3_mmap_warm_cache: Warmed up %d pages of %s\x00END\x00AND (%s)\x00collate \"%w\"\x00SELECT %s FROM %s WHERE %s>=(?1 || ?2) %s AND %s<=(?1 || char(1114111)) %s %s ORDER BY 1 %s ASC LIMIT 1\x00next_char\x00NULL\x00is\x00not\x00in(\x00in(select\x00in(with\x00?,?,?\x002nd argument to percentile() is not a number between 0.0 and 100.0\x002nd argument to percentile() is not the same for all input rows\x001st argument to percentile() is not numeric\x00Inf input to percentile()\x00percentile\x00CREATE TABLE prefixes(prefix TEXT, original_string TEXT HIDDEN)\x00prefixes\x00prefix_length\x00unknown \\ escape\x00afnrtv\\()*.+?[$^{|}]\x00\a\f\n\r\t\v\x00unmatched '('\x00'*' without operand\x00'+' without operand\x00'?' without operand\x00'{m,n}' without operand\x00unmatched '{'\x00n less than m in '{m,n}'\x00both m and n are zero in '{m,n}'\x00POSIX character classes not supported\x00unclosed '['\x00unrecognized character\x00regexp\x00regexpi\x00remember\x00CREATE TABLE x(value,start hidden,stop hidden,step hidden)\x00generate_series() requires SQLite 3.8.12 or later\x00generate_series\x00.ABCDHLRMY9 ?\x00non-ASCII input to editdist()\x00NULL input to editdist()\x00SELECT iLang, cFrom, cTo, iCost FROM \"%w\" WHERE iLang>=0 ORDER BY iLang\x00editdist3\x00DROP TABLE IF EXISTS \"%w\".\"%w_vocab\"\x00CREATE TABLE x(word,rank,distance,langid, score, matchlen, phonehash HIDDEN, top HIDDEN, scope HIDDEN, srchcnt HIDDEN, soundslike HIDDEN, command HIDDEN)\x00CREATE TABLE IF NOT EXISTS \"%w\".\"%w_vocab\"(\n id INTEGER PRIMARY KEY,\n rank INT,\n langid INT,\n word TEXT,\n k1 TEXT,\n k2 TEXT\n);\n\x00CREATE INDEX IF NOT EXISTS \"%w\".\"%w_vocab_index_langid_k2\" ON \"%w_vocab\"(langid,k2);\x00edit_cost_table=\x00bad argument to spellfix1(): \"%s\"\x00SELECT id, word, rank, coalesce(k1,word) FROM \"%w\".\"%w_vocab\" WHERE langid=%d AND k2>=?1 AND k2=%lld\x00AND\x00%z %s rowid<=%lld\x00CREATE TABLE x(value)\x00wholenumber\x00CREATE TABLE y(name PRIMARY KEY,mode,mtime,sz,rawdata,data,method,z HIDDEN) WITHOUT ROWID;\x00zipfile\x00zipfile constructor requires one argument\x00error in fread()\x00error in fwrite()\x00failed to read CDS at offset %lld\x00%.*s\x00failed to read LFH at offset %d\x001.2.11\x00inflateInit2() failed (%d)\x00inflate() failed (%d)\x00zipfile: deflate() error\x00cannot find end of central directory record\x00zipfile() function requires an argument\x00cannot open file: %s\x00-rwxrwxrwx\x00zipfile: mode does not match data\x00zipfile: parse error in mode: %s\x00zipfile: missing filename\x00ab+\x00zipfile: failed to open file %s for writing\x00sz must be NULL\x00rawdata must be NULL\x00unknown compression method: %d\x00%s/\x00duplicate name: \"%s\"\x00{\"version-made-by\" : %u, \"version-to-extract\" : %u, \"flags\" : %u, \"compression\" : %u, \"time\" : %u, \"date\" : %u, \"crc32\" : %u, \"compressed-size\" : %u, \"uncompressed-size\" : %u, \"file-name-length\" : %u, \"extra-field-length\" : %u, \"file-comment-length\" : %u, \"disk-number-start\" : %u, \"internal-attr\" : %u, \"external-attr\" : %u, \"offset\" : %u }\x00zipfile_cds\x00wrong number of arguments to function zipfile()\x00first argument to zipfile() must be non-NULL\x00illegal method value: %d\x00non-directory name must not end with /\x00rbu_delta\x00step\x00close\x00create_rbu_delta\x00savestate\x00dbMain_eval\x00SQL\x00bp_progress\x00db\x00RBU\x00state\x00progress\x00close_no_error\x00temp_size_limit\x00LIMIT\x00temp_size\x00dbRbu_eval\x00METHOD\x00method\x00 - \x00oal\x00move\x00checkpoint\x00done\x00error\x00NAME TARGET-DB RBU-DB ?STATE-DB?\x00NAME TARGET-DB ?STATE-DB?\x00?-default? NAME PARENT\x00NAME\x00sqlite3rbu_db(0, 0)!=0\x00sqlite3rbu\x00sqlite3rbu_vacuum\x00sqlite3rbu_create_vfs\x00sqlite3rbu_destroy_vfs\x00sqlite3rbu_internal_test\x00incrblob\x00incrblob_%d\x00%lld\x00sqlite_unlock_notify_arg\x00sqlite_unlock_notify_argcount\x00DELETE\x00INSERT\x00UPDATE\x00SQLITE_COPY\x00SQLITE_CREATE_INDEX\x00SQLITE_CREATE_TABLE\x00SQLITE_CREATE_TEMP_INDEX\x00SQLITE_CREATE_TEMP_TABLE\x00SQLITE_CREATE_TEMP_TRIGGER\x00SQLITE_CREATE_TEMP_VIEW\x00SQLITE_CREATE_TRIGGER\x00SQLITE_CREATE_VIEW\x00SQLITE_DELETE\x00SQLITE_DROP_INDEX\x00SQLITE_DROP_TABLE\x00SQLITE_DROP_TEMP_INDEX\x00SQLITE_DROP_TEMP_TABLE\x00SQLITE_DROP_TEMP_TRIGGER\x00SQLITE_DROP_TEMP_VIEW\x00SQLITE_DROP_TRIGGER\x00SQLITE_DROP_VIEW\x00SQLITE_INSERT\x00SQLITE_PRAGMA\x00SQLITE_READ\x00SQLITE_SELECT\x00SQLITE_TRANSACTION\x00SQLITE_UPDATE\x00SQLITE_ATTACH\x00SQLITE_DETACH\x00SQLITE_ALTER_TABLE\x00SQLITE_REINDEX\x00SQLITE_ANALYZE\x00SQLITE_CREATE_VTABLE\x00SQLITE_DROP_VTABLE\x00SQLITE_FUNCTION\x00SQLITE_SAVEPOINT\x00SQLITE_RECURSIVE\x00????\x00SQLITE_DENY\x00SQLITE_IGNORE\x00RELEASE _tcl_transaction\x00COMMIT\x00ROLLBACK TO _tcl_transaction ; RELEASE _tcl_transaction\x00option\x00?CALLBACK?\x00?DATABASE? FILENAME\x00cannot open target database: \x00backup failed: \x00CALLBACK\x00cache option ?arg?\x00flush\x00size\x00size n\x00cannot convert \"\x00\" to integer\x00bad option \"\x00\": must be flush or size\x00NAME SCRIPT\x00SCRIPT\x00?OPTION? ?BOOLEAN?\x00unknown config option: \"\x00\"\x00CONFLICT-ALGORITHM TABLE FILENAME ?SEPARATOR? ?NULLINDICATOR?\x00\t\x00Error: non-null separator required for copy\x00rollback\x00abort\x00fail\x00ignore\x00replace\x00Error: \"\x00\", conflict-algorithm must be one of: rollback, abort, fail, ignore, or replace\x00SELECT * FROM '%q'\x00Error: no such table: \x00Error: \x00Error: can't malloc()\x00INSERT OR %q INTO '%q' VALUES(?\x00Error: cannot open file: \x00BEGIN\x00Error: %s line %d: expected %d columns of data but found %d\x00, failed while processing line: \x00?DATABASE? VALUE\x00-maxsize\x00-readonly\x00unknown option: \x00unable to set MEMDB content\x00extension loading is turned off at compile-time\x00-withoutnulls\x00unknown option: \"\x00?OPTIONS? SQL ?ARRAY-NAME? ?SCRIPT?\x00NAME ?SWITCHES? SCRIPT\x00-argcount\x00option requires an argument: \x00number of arguments must be non-negative\x00-deterministic\x00-directonly\x00-innocuous\x00-returntype\x00real\x00text\x00blob\x00any\x00type\x00\": must be -argcount, -deterministic, -directonly, -innocuous, or -returntype\x00?-readonly? ?DB? TABLE COLUMN ROWID\x00NULLVALUE\x00N CALLBACK\x00KEY\x00cannot open source database: \x00restore failed: \x00restore failed: source database busy\x00?DATABASE?\x00(step|sort|autoindex)\x00sort\x00autoindex\x00vmstep\x00bad argument: should be autoindex, step, sort or vmstep\x00MILLISECONDS\x00?CALLBACK? ?MASK?\x00trace type\x00SAVEPOINT _tcl_transaction\x00[TYPE] SCRIPT\x00transaction type\x00BEGIN EXCLUSIVE\x00BEGIN IMMEDIATE\x00?SCRIPT?\x00SUB-COMMAND ?ARGS?\x00hook ?SCRIPT?\x00INDEX\x00-use-legacy-prepare\x00-last-stmt-ptr\x00%p\x00unknown argument: \x00authorizer\x00backup\x00bind_fallback\x00busy\x00cache\x00changes\x00collate\x00collation_needed\x00commit_hook\x00complete\x00config\x00copy\x00deserialize\x00enable_load_extension\x00errorcode\x00exists\x00function\x00interrupt\x00last_insert_rowid\x00nullvalue\x00onecolumn\x00preupdate\x00profile\x00rekey\x00restore\x00rollback_hook\x00serialize\x00status\x00timeout\x00total_changes\x00trace\x00trace_v2\x00transaction\x00unlock_notify\x00update_hook\x00version\x00wal_hook\x00defensive\x00dqs_ddl\x00dqs_dml\x00enable_fkey\x00enable_qpsg\x00enable_trigger\x00enable_view\x00fts3_tokenizer\x00legacy_alter_table\x00legacy_file_format\x00load_extension\x00no_ckpt_on_close\x00reset_database\x00trigger_eqp\x00trusted_schema\x00writable_schema\x00statement\x00row\x00deferred\x00exclusive\x00immediate\x00depth\x00hook\x00new\x00old\x00HANDLE ?FILENAME? ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nofollow BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?\x00-version\x00-sourceid\x00-has-codec\x000\x00-key\x00-vfs\x00-create\x00-nofollow\x00-nomutex\x00-fullmutex\x00-uri\x00-translatefilename\x00sqlite3\x00sqlite\x003.36.0\x00if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewline \"% \"\n}\nflush stdout\nappend line [gets stdin]\nif {[info complete $line]} {\nif {[catch {uplevel #0 $line} result]} {\nputs stderr \"Error: $result\"\n} elseif {$result!=\"\"} {\nputs $result\n}\nset line {}\n} else {\nappend line \\n\n}\n}\n}\n\x00SQLITE_DEBUG_BREAK\x00attach debugger to process %d and press any key to continue.\n\x00utf-8\x00argc\x00argv0\x00argv\x00errorInfo\x00%s: %s\n\x00SQLITE-CONNECTION\x00command not found: \x00error code %s (%d) does not match sqlite3_errcode %s (%d)\x00OMIT_MISUSE\x00wrong # args: should be \"\x00 DB FORMAT STRING\x00 DB HEX\x00 DB\x00 DB SQL\x00%z%s%s\x00%s%n\x00abcdefghijklmnopqrstuvwxyz\x00 DB FORMAT STRING ?COUNT?\x00 DB\"\x00 FILENAME\"\x00%02x\x00%04x\x00tkt2213 is not fixed\x00text16\x00bytes\x00bytes16\x00noop\x00x_coalesce\x00hex8\x00hex16\x00tkt2213func\x00pointer_change\x00counter1\x00counter2\x00intreal\x00x_sqlite_exec\x00value of 40 handed to x_count\x00x_count totals to 42\x00x_count\x00legacy_count\x00 TEXT\"\x00 FORMAT INT INT INT\"\x00argument is not a valid 64-bit integer\x00 FORMAT INT INT ?STRING?\"\x00 INT FORMAT INT INT ?STRING?\"\x00N must be non-negative\x00 FORMAT INT INT DOUBLE\"\x00 FORMAT DOUBLE DOUBLE\"\x00 FORMAT STRING\"\x00%08x%08x\x002nd argument should be 16-characters of hex\x00?BOOLEAN?\x00DB BOOLEAN\x00DB dbname tblname colname\x00CHANNEL ROWID\x00DB-HANDLE NAME CMP-PROC DEL-PROC\x00sqlite3_create_collate_v2() failed to detect an invalid encoding\x00utf8\x00utf16\x00utf16le\x00utf16be\x00DB NAME NARG ENC SWITCHES...\x00encoding\x00-func\x00-step\x00-final\x00-destroy\x00switch\x00DB-HANDLE FILE ?PROC?\x00this build omits sqlite3_load_extension()\x00DB-HANDLE ONOFF\x00string\x00value\x00first argument should be one of: int int64 string double null value\x00 DB FUNCTION-NAME\x00 \x00STMT PARAMETER RESETFLAG\x00SQLITE_STMTSTATUS_FULLSCAN_STEP\x00SQLITE_STMTSTATUS_SORT\x00SQLITE_STMTSTATUS_AUTOINDEX\x00SQLITE_STMTSTATUS_VM_STEP\x00SQLITE_STMTSTATUS_REPREPARE\x00SQLITE_STMTSTATUS_RUN\x00SQLITE_STMTSTATUS_MEMUSED\x00NBYTE\x00DB DBNAME\x00DB DBNAME SNAPSHOT\x00SNAPSHOT\x00SNAPSHOT1 SNAPSHOT2\x00bad SNAPSHOT\x00FILE\x00PATH\x00 DB STMT\x00 STMT\x00 FROM-STMT TO-STMT\x00 VM IDX VALUE (null|static|normal)\"\x00static\x00static-nbytes\x00normal\x00blob10\x00abc\x00xyz\x00pq\x004th argument should be \"null\" or \"static\" or \"normal\"\x00(%d) \x00test_collate\x00UTF-8\x00UTF-16LE\x00UTF-16BE\x00 \x00utf16bin\x00utf16_unaligned\x00utf16_aligned\x00test_function\x00\x00STMT IDX N\x00 STMT N VALUE\x00NaN\x00SNaN\x00-NaN\x00-SNaN\x00+Inf\x00-Inf\x00Epsilon\x00-Epsilon\x00NaN0\x00-NaN0\x00 STMT N\x00 STMT N VALUE BYTES\x00 STMT N DATA BYTES\x00cannot use %d blob bytes, have %d\x00-transient\x00-static\x00-int32\x00-int64\x00-double\x00-text\x00--\x00text data must be either -static or -transient\x00cannot be both -static and -transient\x00[OPTIONS] STMT IDX VALUE ...\x00STMT\x00STMT N\x00STMT NAME\x00 DB sql bytes ?tailvar?\x00 DB sql bytes tailvar\x00 DB sql bytes flags tailvar\x00\x00SELECT 1\x00 filename options-list\x00FILENAME FLAGS VFS\x00SQLITE_OPEN_READONLY\x00SQLITE_OPEN_READWRITE\x00SQLITE_OPEN_CREATE\x00SQLITE_OPEN_DELETEONCLOSE\x00SQLITE_OPEN_EXCLUSIVE\x00SQLITE_OPEN_AUTOPROXY\x00SQLITE_OPEN_MAIN_DB\x00SQLITE_OPEN_TEMP_DB\x00SQLITE_OPEN_TRANSIENT_DB\x00SQLITE_OPEN_MAIN_JOURNAL\x00SQLITE_OPEN_TEMP_JOURNAL\x00SQLITE_OPEN_SUBJOURNAL\x00SQLITE_OPEN_SUPER_JOURNAL\x00SQLITE_OPEN_NOMUTEX\x00SQLITE_OPEN_FULLMUTEX\x00SQLITE_OPEN_SHAREDCACHE\x00SQLITE_OPEN_PRIVATECACHE\x00SQLITE_OPEN_WAL\x00SQLITE_OPEN_URI\x00flag\x00\x00 STMT column\x00FLOAT\x00TEXT\x00BLOB\x00 DB MAGIC\x00SQLITE_MAGIC_OPEN\x00SQLITE_MAGIC_CLOSED\x00SQLITE_MAGIC_BUSY\x00SQLITE_MAGIC_ERROR\x00 DB function-name\x00VARIABLE\x00?N?\x001234567890000000\x00__one\x00__two\x00notadatabase\x00Unexpected non-zero errno: \x00DB [DBNAME]\x00%u\x00DB DBNAME SIZE\x00 DB PWD\x00 DB FLAG\x00%d %d\x00 DB ?AUXDB?\x00DB N\x00 DB ID VALUE\x00unknown limit type: \x00SQLITE_LIMIT_LENGTH\x00SQLITE_LIMIT_SQL_LENGTH\x00SQLITE_LIMIT_COLUMN\x00SQLITE_LIMIT_EXPR_DEPTH\x00SQLITE_LIMIT_COMPOUND_SELECT\x00SQLITE_LIMIT_VDBE_OP\x00SQLITE_LIMIT_FUNCTION_ARG\x00SQLITE_LIMIT_ATTACHED\x00SQLITE_LIMIT_LIKE_PATTERN_LENGTH\x00SQLITE_LIMIT_VARIABLE_NUMBER\x00SQLITE_LIMIT_TRIGGER_DEPTH\x00SQLITE_LIMIT_WORKER_THREADS\x00SQLITE_LIMIT_TOOSMALL\x00SQLITE_LIMIT_TOOBIG\x00SEED ?DB?\x00BOOLEAN\x00current\x00max\x00min\x00recyclable\x00DB ?NAME?\x00passive\x00full\x00restart\x00truncate\x00DB MODE ?NAME?\x00mode\x00DB VALUE\x00COMMAND ...\x00command has no objProc: \x00%d %d %d %s\n\x00SQLITE_TESTCTRL_LOCALTIME_FAULT\x00SQLITE_TESTCTRL_SORTER_MMAP\x00SQLITE_TESTCTRL_IMPOSTER\x00SQLITE_TESTCTRL_INTERNAL_FUNCTIONS\x00VERB ARGS...\x00VERB\x00ONOFF\x00DB LIMIT\x00DB dbName onOff tnum\x00ru_utime=%d.%06d ru_stime=%d.%06d ru_minflt=%d ru_majflt=%d\x00DB OPT BOOLEAN\x00unknown optimization - should be one of:\x00all\x00none\x00query-flattener\x00groupby-order\x00factor-constants\x00distinct-opt\x00cover-idx-scan\x00order-by-idx-join\x00transitive\x00omit-noop-join\x00stat4\x00skip-scan\x00push-down\x00DB NAME ...\x00no such extension: \x00initialization of \x00 failed: \x00amatch\x00appendvfs\x00closure\x00fileio\x00nextchar\x00series\x00spellfix\x00totype\x00BOOL\x00DB SQL1 NSTEP SQL2\x00data error: (a!=b)\x00checksum mismatch\x00sql error: \x00TYPE\x00Deliberate panic\x00DB SETTING [VALUE]\x00SQLITE_*\x00DBCONFIG_*\x00ENABLE_*\x00unknown sqlite3_db_config setting\x00FKEY\x00TRIGGER\x00FTS3_TOKENIZER\x00LOAD_EXTENSION\x00NO_CKPT_ON_CLOSE\x00QPSG\x00TRIGGER_EQP\x00RESET_DB\x00DEFENSIVE\x00WRITABLE_SCHEMA\x00LEGACY_ALTER_TABLE\x00DQS_DML\x00DQS_DDL\x00LEGACY_FILE_FORMAT\x00DB ?SCHEMA?\x00icecube\x00DB ?DBNAME?\x00DB OFFSET DATA\x00HEXDB\x00| size %d pagesize %d\x00bad 'pagesize' field\x00bad 'size' field\x00| page %d offset %d\x00| %d: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\x00sqlite_search_count\x00sqlite_found_count\x00sqlite_sort_count\x00sqlite3_max_blobsize\x00sqlite_like_count\x00sqlite_interrupt_count\x00sqlite_open_file_count\x00sqlite_current_time\x00sqlite3_xferopt_count\x00sqlite3_pager_readdb_count\x00sqlite3_pager_writedb_count\x00sqlite3_pager_writej_count\x00unaligned_string_counter\x00sqlite_last_needed_collation\x00sqlite_query_plan\x00sqlite_opentemp_count\x00sqlite_static_bind_value\x00sqlite_static_bind_nbyte\x00sqlite_temp_directory\x00sqlite_data_directory\x00bitmask_size\x00longdouble_size\x00sqlite_sync_count\x00sqlite_fullsync_count\x00db_enter\x00db_leave\x00sqlite3_mprintf_int\x00sqlite3_mprintf_int64\x00sqlite3_mprintf_long\x00sqlite3_mprintf_str\x00sqlite3_snprintf_str\x00sqlite3_mprintf_stronly\x00sqlite3_mprintf_double\x00sqlite3_mprintf_scaled\x00sqlite3_mprintf_hexdouble\x00sqlite3_mprintf_z_test\x00sqlite3_mprintf_n_test\x00sqlite3_snprintf_int\x00sqlite3_last_insert_rowid\x00sqlite3_exec_printf\x00sqlite3_exec_hex\x00sqlite3_exec\x00sqlite3_exec_nr\x00sqlite3_get_table_printf\x00sqlite3_close\x00sqlite3_close_v2\x00sqlite3_create_function\x00sqlite3_create_aggregate\x00sqlite3_drop_modules\x00sqlite_register_test_function\x00sqlite_abort\x00sqlite_bind\x00breakpoint\x00sqlite3_key\x00sqlite3_rekey\x00sqlite_set_magic\x00sqlite3_interrupt\x00sqlite_delete_function\x00sqlite_delete_collation\x00sqlite3_get_autocommit\x00sqlite3_busy_timeout\x00printf\x00sqlite3IoTrace\x00clang_sanitize_address\x00sqlite3_db_config\x00sqlite3_txn_state\x00bad_behavior\x00register_dbstat_vtab\x00sqlite3_connection_pointer\x00intarray_addr\x00int64array_addr\x00doublearray_addr\x00textarray_addr\x00sqlite3_bind_int\x00sqlite3_bind_zeroblob\x00sqlite3_bind_zeroblob64\x00sqlite3_bind_int64\x00sqlite3_bind_double\x00sqlite3_bind_null\x00sqlite3_bind_text\x00sqlite3_bind_text16\x00sqlite3_bind_blob\x00sqlite3_carray_bind\x00sqlite3_bind_parameter_count\x00sqlite3_bind_parameter_name\x00sqlite3_bind_parameter_index\x00sqlite3_clear_bindings\x00sqlite3_sleep\x00sqlite3_errcode\x00sqlite3_extended_errcode\x00sqlite3_errmsg\x00sqlite3_errmsg16\x00sqlite3_open\x00sqlite3_open16\x00sqlite3_open_v2\x00sqlite3_complete16\x00sqlite3_normalize\x00sqlite3_prepare\x00sqlite3_prepare16\x00sqlite3_prepare_v2\x00sqlite3_prepare_v3\x00sqlite3_prepare_tkt3134\x00sqlite3_prepare16_v2\x00sqlite3_finalize\x00sqlite3_stmt_status\x00sqlite3_reset\x00sqlite3_expired\x00sqlite3_transfer_bindings\x00sqlite3_changes\x00sqlite3_step\x00sqlite3_sql\x00sqlite3_expanded_sql\x00sqlite3_next_stmt\x00sqlite3_stmt_readonly\x00sqlite3_stmt_isexplain\x00sqlite3_stmt_busy\x00uses_stmt_journal\x00sqlite3_release_memory\x00sqlite3_db_release_memory\x00sqlite3_db_cacheflush\x00sqlite3_system_errno\x00sqlite3_db_filename\x00sqlite3_db_readonly\x00sqlite3_soft_heap_limit\x00sqlite3_soft_heap_limit64\x00sqlite3_hard_heap_limit64\x00sqlite3_thread_cleanup\x00sqlite3_pager_refcounts\x00sqlite3_load_extension\x00sqlite3_enable_load_extension\x00sqlite3_extended_result_codes\x00sqlite3_limit\x00dbconfig_maindbname_icecube\x00save_prng_state\x00restore_prng_state\x00reset_prng_state\x00prng_seed\x00extra_schema_checks\x00database_never_corrupt\x00database_may_be_corrupt\x00optimization_control\x00tcl_objproc\x00sqlite3_column_count\x00sqlite3_data_count\x00sqlite3_column_type\x00sqlite3_column_blob\x00sqlite3_column_double\x00sqlite3_column_int64\x00sqlite3_column_text\x00sqlite3_column_name\x00sqlite3_column_int\x00sqlite3_column_bytes\x00sqlite3_column_decltype\x00sqlite3_column_database_name\x00sqlite3_column_table_name\x00sqlite3_column_origin_name\x00sqlite3_column_bytes16\x00sqlite3_column_text16\x00sqlite3_column_name16\x00add_alignment_test_collations\x00sqlite3_column_decltype16\x00sqlite3_column_database_name16\x00sqlite3_column_table_name16\x00sqlite3_column_origin_name16\x00sqlite3_create_collation_v2\x00sqlite3_global_recover\x00working_64bit_int\x00vfs_unlink_test\x00vfs_initfail_test\x00vfs_unregister_all\x00vfs_reregister_all\x00file_control_test\x00file_control_lasterrno_test\x00file_control_lockproxy_test\x00file_control_chunksize_test\x00file_control_sizehint_test\x00file_control_data_version\x00file_control_persist_wal\x00file_control_powersafe_overwrite\x00file_control_vfsname\x00file_control_reservebytes\x00file_control_tempfilename\x00file_control_external_reader\x00sqlite3_vfs_list\x00sqlite3_create_function_v2\x00add_test_collate\x00add_test_collate_needed\x00add_test_function\x00add_test_utf16bin_collate\x00sqlite3_test_errstr\x00tcl_variable_type\x00sqlite3_enable_shared_cache\x00sqlite3_shared_cache_report\x00sqlite3_libversion_number\x00sqlite3_table_column_metadata\x00sqlite3_blob_reopen\x00pcache_stats\x00sqlite3_unlock_notify\x00sqlite3_wal_checkpoint\x00sqlite3_wal_checkpoint_v2\x00sqlite3_wal_autocheckpoint\x00test_sqlite3_log\x00print_explain_query_plan\x00sqlite3_test_control\x00getrusage\x00load_static_extension\x00sorter_test_fakeheap\x00sorter_test_sort4_helper\x00vfs_current_time_int64\x00sqlite3_snapshot_get\x00sqlite3_snapshot_open\x00sqlite3_snapshot_free\x00sqlite3_snapshot_cmp\x00sqlite3_snapshot_recover\x00sqlite3_snapshot_get_blob\x00sqlite3_snapshot_open_blob\x00sqlite3_snapshot_cmp_blob\x00sqlite3_delete_database\x00atomic_batch_write\x00sqlite3_mmap_warm\x00sqlite3_config_sorterref\x00decode_hexdb\x00test_write_db\x00sqlite3_register_cksumvfs\x00sqlite3_unregister_cksumvfs\x00*** OBSOLETE VARIABLE ***\x00 FILENAME N-PAGE\"\x00 ID\"\x00ref\x00page\x00err\x00hit\x00miss\x00ovfl\x00 ID PGNO\"\x00 PAGE\"\x00 PAGE DATA\"\x00 N-MEGABYTES FILE\"\x00open failed: \x00Hello, World!\x00write failed: \x00 PENDING-BYTE\"\x00fault simulator script failed: [%s]\x00 SCRIPT\"\x00 SIZE PROGRAM\"\x00sqlite_io_error_pending\x00sqlite_io_error_persist\x00sqlite_io_error_hit\x00sqlite_io_error_hardhit\x00sqlite_diskfull_pending\x00sqlite_diskfull\x00sqlite_pending_byte\x00pager_open\x00pager_close\x00pager_commit\x00pager_rollback\x00pager_stmt_begin\x00pager_stmt_commit\x00pager_stmt_rollback\x00pager_stats\x00pager_pagecount\x00page_get\x00page_lookup\x00page_unref\x00page_read\x00page_write\x00page_number\x00pager_truncate\x00fake_big_file\x00sqlite3BitvecBuiltinTest\x00sqlite3_test_control_pending_byte\x00sqlite3_test_control_fault_install\x00 FILENAME NCACHE FLAGS\"\x00read\x00write\x00 ID TABLENUM WRITEABLE\"\x00 START MULTIPLIER COUNT INCREMENT\"\x00putVarint returned %d - should be between 1 and 9\x00putVarint returned %d and getVarint returned %d\x00Wrote 0x%016llx and got back 0x%016llx\x00putVarint returned %d and GetVarint32 returned %d\x00Wrote 0x%016llx and got back 0x%016llx from GetVarint32\x00 DB-HANDLE ?N?\"\x00No such db-handle: \"\x00 BT NCACHE\"\x00?-intkey? CSR KEY VALUE\x00btree_insert\x00btree_open\x00btree_close\x00btree_begin_transaction\x00btree_pager_stats\x00btree_cursor\x00btree_close_cursor\x00btree_next\x00btree_eof\x00btree_payload_size\x00btree_first\x00btree_varint_test\x00btree_from_db\x00btree_ismemdb\x00btree_set_cache_size\x00thread ID must be an upper case letter\x00 ID FILENAME\x00thread \x00 is already running\x00failed to create the thread\x00 ID\x00no such thread\x00 ID N\x00column number out of range\x00no database is open\x00 ID SQL\x00no virtual machine available\x00 IDL\x00 ID1 ID2\x00 ID DB\x00thread_create\x00thread_wait\x00thread_halt\x00thread_argc\x00thread_argv\x00thread_colname\x00thread_result\x00thread_error\x00thread_compile\x00thread_step\x00thread_finalize\x00thread_swap\x00thread_db_get\x00thread_db_put\x00thread_stmt_get\x00 \x00hello world\x00UTF8\x00UTF16LE\x00UTF16BE\x00UTF16\x00No such encoding: \x00 \x00binarize\x00test_value_overhead\x00test_translate\x00translate_selftest\x00out of memory in the crash simulator\n\x00atomic\x00atomic512\x00atomic1k\x00atomic2k\x00atomic4k\x00atomic8k\x00atomic16k\x00atomic32k\x00atomic64k\x00sequential\x00safe_append\x00powersafe_overwrite\x00batch-atomic\x00-sectorsize\x00-characteristics\x00Bad option: \"\x00\" - must be \"-characteristics\" or \"-sectorsize\"\x00Option requires an argument: \"\x00no such flag\x00ENABLE ?DEFAULT?\x00crash\x00?OPTIONS? DELAY CRASHFILE\x00Filename is too long: \"\x00NWRITE\x00?-default? PARENT-VFS\x00-default\x00\": must be -default\x00Error in jt_register\x00sqlite3_crash_enable\x00sqlite3_crashparams\x00sqlite3_crash_now\x00sqlite3_simulate_device\x00sqlite3_crash_on_write\x00unregister_devsim\x00register_jt_vfs\x00unregister_jt_vfs\x00client_create\x00client_wait\x00client_halt\x00client_argc\x00client_argv\x00client_colname\x00client_result\x00client_error\x00client_compile\x00client_step\x00client_reset\x00client_finalize\x00client_swap\x00echo_module_fail(%s,%s)\x00echo-vtab-error: %s\x00SELECT * FROM %Q\x00PRAGMA index_list(%s)\x00PRAGMA index_info(%s)\x00echo_module\x00SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = ?\x00%s%s\x00xCreate\x00CREATE TABLE %Q(logmsg)\x00xConnect\x00xDisconnect\x00xDestroy\x00DROP TABLE %Q\x00xOpen\x00xNext\x00xColumn\x00xFilter\x00, *\x00%z, %s\x00%z, NULL\x00echo_module_ignore_usable\x00xBestIndex\x00echo_module_cost\x00SELECT count(*) FROM %Q\x00SELECT rowid%z FROM %Q\x00rowid\x00=\x00<\x00>\x00<=\x00>=\x00LIKE\x00like\x00glob\x00 %s %s LIKE (SELECT '%%'||?||'%%')\x00 %s %s %s ?\x00DESC\x00ASC\x00 ORDER BY %s %s\x00xUpdate\x00 SET\x00UPDATE %Q\x00 SET rowid=?1 \x00%s %Q=?%d\x00 WHERE rowid=?%d\x00DELETE FROM %Q WHERE rowid = ?1\x00INSERT INTO %Q (\x00%s%Q\x00%s?%d\x00) VALUES(\x00echo(%s)\x00xBegin\x00echo_module_begin_fail\x00xSync\x00echo_module_sync_fail\x00xCommit\x00xRollback\x00::echo_glob_overload\x00xRename\x00ALTER TABLE %s RENAME TO %s%s\x00function_that_does_not_exist_0982ma98\x00echo\x00echo_v2\x00DB SQL\x00register_echo_module\x00sqlite3_declare_vtab\x00N/A\x00sqlite3_create_collation\x00Error testing function: \x00sqlite3_malloc\x00sqlite3_realloc\x00c_misuse_test\x00c_realloc_test\x00c_collation_test\x00sqlite3_reset_auto_extension\x00npage\x00finish\x00remaining\x00pagecount\x00CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME\x00sqlite3_backup_init() failed\x00sqlite3_backup\x00wrong number of arguments\x00unexpected: %s\x00eq\x00gt\x00le\x00lt\x00ge\x00match\x00ne\x00isnot\x00isnotnull\x00isnull\x00op\x00column\x00usable\x00desc\x00cost\x00orderby\x00idxnum\x00idxstr\x00rows\x00use\x00omit\x00unexpected: %d\x00tcl\x00register_tcl_module\x00incrblob_\x00DB DATABASE TABLE COLUMN ROWID FLAGS VARNAME\x00HANDLE\x00CHANNEL OFFSET N\x00out of memory in testdata/sqlite-src-3360000/src/test_blob.c\x00HANDLE OFFSET DATA ?NDATA?\x00sqlite3_blob_open\x00sqlite3_blob_close\x00sqlite3_blob_bytes\x00sqlite3_blob_read\x00sqlite3_blob_write\x00sqlite_options\x00malloc_usable_size\x001\x00rowid32\x00casesensitivelike\x00configslower\x001.0\x00curdir\x00win32malloc\x00debug\x00default_ckptfullfsync\x00direct_read\x00dirsync\x00lfs\x00pagecache_overflow_stats\x00mmap\x00worker_threads\x008\x00memdebug\x008_3_names\x00cursorhints\x00hiddencolumns\x00mathlib\x00mem3\x00mem5\x00offset_sql_func\x00snapshot\x00mutex\x00mutex_noop\x00altertable\x00api_armor\x00atomicwrite\x00geopoly\x00json1\x00has_codec\x00like_match_blobs\x00attach\x00auth\x00autoinc\x00autoreset\x00autovacuum\x00default_autovacuum\x00between_opt\x00builtin_test\x00bloblit\x00cast\x00check\x00cte\x00columnmetadata\x00oversize_cell_check\x00compileoption_diags\x00compound\x00conflict\x00crashtest\x00datetime\x00decltype\x00deprecated\x00diskio\x00floatingpoint\x00foreignkey\x00fts1\x00fts2\x00fts3\x00fts5\x00fts3_unicode\x00fts4_deferred\x00gettable\x00icu\x00icu_collations\x00integrityck\x00legacyformat\x00like_opt\x00load_ext\x00localtime\x00lookaside\x00long_double\x00memorydb\x00memorymanage\x00mergesort\x00null_trim\x00or_opt\x00rbu\x00pager_pragmas\x00pragma\x00reindex\x00rtree\x00rtree_int_only\x00schema_pragmas\x00schema_version\x00session\x00stmtvtab\x00scanstatus\x00lock_proxy_pragmas\x00prefer_proxy_locking\x00shared_cache\x00subquery\x00tclvar\x00threadsafe\x00threadsafe1\x00threadsafe2\x00tempdb\x00trigger\x00truncate_opt\x00vacuum\x00view\x00vtab\x00wal\x00wsd\x00update_delete_limit\x00fast_secure_delete\x00secure_delete\x00userauth\x00multiplex_ext_overwrite\x00yytrackmaxstackdepth\x00sqllog\x00uri_00_error\x00normalize\x00windowfunc\x00SQLITE_MAX_LENGTH\x00SQLITE_MAX_COLUMN\x00SQLITE_MAX_SQL_LENGTH\x00SQLITE_MAX_EXPR_DEPTH\x00SQLITE_MAX_COMPOUND_SELECT\x00SQLITE_MAX_VDBE_OP\x00SQLITE_MAX_FUNCTION_ARG\x00SQLITE_MAX_VARIABLE_NUMBER\x00SQLITE_MAX_PAGE_SIZE\x00SQLITE_MAX_PAGE_COUNT\x00SQLITE_MAX_LIKE_PATTERN_LENGTH\x00SQLITE_MAX_TRIGGER_DEPTH\x00SQLITE_DEFAULT_CACHE_SIZE\x00SQLITE_DEFAULT_PAGE_SIZE\x00SQLITE_DEFAULT_FILE_FORMAT\x00SQLITE_DEFAULT_SYNCHRONOUS\x00SQLITE_DEFAULT_WAL_SYNCHRONOUS\x00SQLITE_MAX_ATTACHED\x00SQLITE_MAX_DEFAULT_PAGE_SIZE\x00SQLITE_MAX_WORKER_THREADS\x00TEMP_STORE\x00__GNUC__\x00%s-journal\x00%s-wal\x00%s-shm\x00%s%03d\x00%s-journal%03d\x00%s-wal%03d\x00devsym\x00writecrash\x00CREATE TABLE xyz(dir, name);\x00CREATE TABLE xyz(path, size, data);\x00WITH r(d) AS ( SELECT CASE WHEN dir=?2 THEN ?3 ELSE dir END || '/' || name FROM fsdir WHERE dir=?1 AND name NOT LIKE '.%' UNION ALL SELECT dir || '/' || name FROM r, fsdir WHERE dir=d AND name NOT LIKE '.%') SELECT d FROM r;\x00/\x00CREATE TABLE x(path TEXT, data TEXT)\x00SELECT * FROM %Q.%Q WHERE rowid=?\x00fs\x00fstree\x00register_fs_module\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-!,:*^+=_|?/<> \x00sqlite3_prepare_v2() error: %s\x000123456789abcdef\x00x'\x00test_agg_errmsg16\x00randstr\x00test_destructor\x00test_destructor16\x00hex_to_utf16be\x00hex_to_utf16le\x00hex_to_utf8\x00test_destructor_count\x00test_auxdata\x00test_error\x00test_eval\x00test_isolation\x00test_counter\x00real2hex\x00test_decode\x00test_extract\x00test_zeroblob\x00test_getsubtype\x00test_setsubtype\x00test_frombind\x00tx\x00funcxx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00nullx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00sqlite3_create_function abused test failed\x00invalid matchinfo blob passed to function rank()\x00wrong number of arguments to function rank()\x00rank\x00autoinstall_test_functions\x00abuse_create_function\x00install_fts3_rank_function\x000123456789ABCDEF\x00FILENAME OFFSET AMT\x00r\x00cannot open input file \x00FILENAME OFFSET HEXDATA\x00r+b\x00r+\x00cannot open output file \x00HEXDATA\x00[utf8_to_utf8] unavailable - SQLITE_DEBUG not defined\x00BLOB VARNAME\x00LIST\x00hexio_read\x00hexio_write\x00hexio_get_int\x00hexio_render_int16\x00hexio_render_int32\x00utf8_to_utf8\x00read_fts3varint\x00make_fts3record\x00mem\x00pcache\x00Unknown argument: \"\x00init_wrapper_install\x00init_wrapper_query\x00init_wrapper_uninstall\x00init_wrapper_clear\x00CREATE TABLE x(value INTEGER PRIMARY KEY)\x00CREATE VIRTUAL TABLE temp.%Q USING %Q\x00INTARRAY\x00SQLITE_NOMEM\x00sqlite3_intarray_create\x00sqlite3_intarray_bind\x00jt\x00-journal\x00NBYTES\x00PRIOR NBYTES\x00bad pointer: \x00PRIOR\x00ADDRESS SIZE HEX\x00size must be positive\x00no data\x00ADDRESS SIZE\x00?RESET?\x00DEPT\x00FILENAME\x00COUNTER ?OPTIONS?\x00-repeat\x00-benigncnt\x00TITLE\x00SUB-COMMAND ...\x00start\x00stop\x00dump\x00clear\x00sync\x00SIZE N\x00INSTALLFLAG DISCARDCHANCE PRNGSEEED HIGHSTRESS\x00discard-chance should be between 0 and 100\x00SIZE COUNT\x00BUFID SIZE COUNT\x00illegal arguments - see documentation\x00NBYTE NMINALLOC\x00[DB]\x00sqlite3_db_config(db, 99999) does not return SQLITE_ERROR\x00sqlite3_config(99999) does not return SQLITE_ERROR\x00PARAMETER RESETFLAG\x00SQLITE_STATUS_MEMORY_USED\x00SQLITE_STATUS_MALLOC_SIZE\x00SQLITE_STATUS_PAGECACHE_USED\x00SQLITE_STATUS_PAGECACHE_OVERFLOW\x00SQLITE_STATUS_PAGECACHE_SIZE\x00SQLITE_STATUS_SCRATCH_USED\x00SQLITE_STATUS_SCRATCH_OVERFLOW\x00SQLITE_STATUS_SCRATCH_SIZE\x00SQLITE_STATUS_PARSER_STACK\x00SQLITE_STATUS_MALLOC_COUNT\x00DB PARAMETER RESETFLAG\x00SQLITE_\x00DBSTATUS_\x00LOOKASIDE_USED\x00CACHE_USED\x00SCHEMA_USED\x00STMT_USED\x00LOOKASIDE_HIT\x00LOOKASIDE_MISS_SIZE\x00LOOKASIDE_MISS_FULL\x00CACHE_HIT\x00CACHE_MISS\x00CACHE_WRITE\x00DEFERRED_FKS\x00CACHE_USED_SHARED\x00CACHE_SPILL\x00?INTEGER?\x00sqlite3_free\x00memset\x00memget\x00sqlite3_memory_used\x00sqlite3_memory_highwater\x00sqlite3_memdebug_backtrace\x00sqlite3_memdebug_dump\x00sqlite3_memdebug_fail\x00sqlite3_memdebug_pending\x00sqlite3_memdebug_settitle\x00sqlite3_memdebug_malloc_count\x00sqlite3_memdebug_log\x00sqlite3_config_pagecache\x00sqlite3_config_alt_pcache\x00sqlite3_status\x00sqlite3_db_status\x00install_malloc_faultsim\x00sqlite3_config_heap\x00sqlite3_config_heap_size\x00sqlite3_config_memstatus\x00sqlite3_config_lookaside\x00sqlite3_config_error\x00sqlite3_config_uri\x00sqlite3_config_cis\x00sqlite3_config_pmasz\x00sqlite3_db_config_lookaside\x00sqlite3_dump_memsys3\x00sqlite3_dump_memsys5\x00sqlite3_install_memsys3\x00sqlite3_memdebug_vfs_oom_test\x00%05u\x00 FILENAME [OFFSET AMT]\"\x00unable to open file \"\x00\" for reading\x00md5\x00md5-10x8\x00md5file\x00md5file-10x8\x00md5sum\x00%03d\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_control\x00chunksize\x00multiplex_truncate\x00multiplex/%z\x00multiplex\x00NAME MAKEDEFAULT\x00-force\x00?-force?\x00enable\x00chunk_size\x00max_chunks\x00HANDLE DBNAME SUB-COMMAND INT-VALUE\x00expected database handle, got \"\x00sqlite3_multiplex_initialize\x00sqlite3_multiplex_shutdown\x00sqlite3_multiplex_control\x00fast\x00recursive\x00static_main\x00static_mem\x00static_open\x00static_prng\x00static_lru\x00static_pmem\x00static_app1\x00static_app2\x00static_app3\x00static_vfs1\x00static_vfs2\x00static_vfs3\x00mutex counters are \x00already installed\x00not installed\x00singlethread\x00multithread\x00serialized\x00mutex name\x00disable_mutex_init\x00disable_mutex_try\x00sqlite3_shutdown\x00sqlite3_initialize\x00sqlite3_config\x00enter_static_mutex\x00leave_static_mutex\x00enter_db_mutex\x00leave_db_mutex\x00alloc_dealloc_mutex\x00install_mutex_counters\x00read_mutex_counters\x00clear_mutex_counters\x00\x00\x00\x00\x00\x00\x00\x00vfslog/%z\x00sqlite_ostrace1.....\x00xClose\x00xRead\x00xWrite\x00xTruncate\x00xFilesize\x00xLock\x00xUnlock\x00xCheckResLock\x00xFileControl\x00xSectorSize\x00xDeviceChar\x00xDelete\x00xAccess\x00xFullPathname\x00xRandomness\x00xSleep\x00xCurrentTime\x00xShmUnmap\x00xShmLock\x00xShmBarrier\x00xShmMap\x00annotation\x00CREATE TABLE xxx(event, file, click, rc, size, offset)\x00vfslog\x00VFS\x00failed\x00VFS PARENT LOGFILE\x00bad sqlite3 handle: \x00annotate\x00finalize\x00register\x00quota/%z\x00quota\x00::piLimit_\x00PATTERN LIMIT SCRIPT\x00FILENAME MODE\x00HANDLE SIZE NELEM\x00HANDLE SIZE NELEM CONTENT\x00HANDLE ?HARDSYNC?\x00HANDLE OFFSET WHENCE\x00SEEK_SET\x00SEEK_CUR\x00SEEK_END\x00WHENCE should be SEEK_SET, SEEK_CUR, or SEEK_END\x00HANDLE SIZE\x00PATTERN TEXT\x00sqlite3_quota_initialize\x00sqlite3_quota_shutdown\x00sqlite3_quota_set\x00sqlite3_quota_file\x00sqlite3_quota_dump\x00sqlite3_quota_fopen\x00sqlite3_quota_fread\x00sqlite3_quota_fwrite\x00sqlite3_quota_fclose\x00sqlite3_quota_fflush\x00sqlite3_quota_fseek\x00sqlite3_quota_rewind\x00sqlite3_quota_ftell\x00sqlite3_quota_ftruncate\x00sqlite3_quota_file_size\x00sqlite3_quota_file_truesize\x00sqlite3_quota_file_mtime\x00sqlite3_quota_remove\x00sqlite3_quota_glob\x00sqlite3_quota_file_available\x00sqlite3_quota_ferror\x00cube\x00circle\x00Qcircle\x00breadthfirstsearch\x00register_cube_geom\x00register_circle_geom\x00CREATE TABLE x(database,tablename,cid,name,type,not_null,dflt_value,pk)\x00SELECT name FROM sqlite_temp_schema WHERE type='table'\x00SELECT name FROM %Q.sqlite_schema WHERE type='table'\x00PRAGMA %Q.table_info(%Q)\x00PRAGMA database_list\x00register_schema_module\x00PRAGMA main.journal_mode\x00CMDNAME PATH ?VFS? ?BUSY-HANDLER-SCRIPT?\x00sqlite3demo_superlock\x00open\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00pread\x00pread64\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00mremap\x00SYSCALL-LIST\x00system-call\x00?COUNT PERSIST?\x00EACCES\x00EINTR\x00EIO\x00EOVERFLOW\x00ENOMEM\x00EAGAIN\x00ETIMEDOUT\x00EBUSY\x00EPERM\x00EDEADLK\x00ENOLCK\x00SYSCALL ERRNO\x00errno\x00PGSZ\x00getpagesize\x00pgsz out of range\x00fault\x00install\x00uninstall\x00list\x00defaultvfs\x00pagesize\x00VFS does not support xSetSystemCall\x00test_syscall\x00load_testfixture_extensions\x00SLAVE\x00CREATE TABLE x( name TEXT, arrayname TEXT, value TEXT, fullname TEXT PRIMARY KEY) WITHOUT ROWID\x00array names\x00tclvar_filter_cmd\x00%s(%s)\x00expr {[info exists ::tclvar_set_omit] && $::tclvar_set_omit}\x00the 'fullname' column must be TEXT\x00prohibited TCL variable change\x00proc like {pattern str} {\n set p [string map {% * _ ?} $pattern]\n string match $p $str\n}\nproc tclvar_filter_cmd {eq match glob regexp like} {\n set res {}\n set pattern $eq\n if {$pattern=={}} { set pattern $match }\n if {$pattern=={}} { set pattern * }\n foreach v [uplevel #0 info vars $pattern] {\n if {($glob=={} || [string match $glob [uplevel #0 set $v]])\n && ($like=={} || [like $like [uplevel #0 set $v]])\n && ($regexp=={} || [regexp $regexp [uplevel #0 set $v]])\n } {\n lappend res $v\n }\n }\n set res\n}\n\x00register_tclvar_module\x00clock_seconds\x00sqlthread\x00sqlite3_blocking_step\x00sqlite3_blocking_prepare_v2\x00sqlite3_nonblocking_prepare_v2\x00set\x00Error in Tcl_CreateThread()\x00no parent thread\x00parent\x00spawn\x00VARNAME SCRIPT\x00DBNAME\x00id\x00%s \x00SQLITE_IOERR\x00SQLITE_LOCKED\x00SQLITE_BUSY\x00SQLITE_READONLY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_NOTFOUND\x00SQLITE_OMIT\x00normal|dataonly\x00full|dataonly\x00xCheckReservedLock\x00BEGIN_ATOMIC_WRITE\x00COMMIT_ATOMIC_WRITE\x00ZIPVFS\x00anon\x00SQLITE_ACCESS_EXISTS\x00SQLITE_ACCESS_READWRITE\x00SQLITE_ACCESS_READ\x00xShmOpen\x00 lock\x00 unlock\x00 shared\x00 exclusive\x00shm\x00delete\x00filter\x00ioerr\x00fullerr\x00cantopenerr\x00script\x00devchar\x00sectorsize\x00subcommand\x00FILE ?VALUE?\x00failed to get full path: \x00no such file: \x00unknown method: \x00?CNT PERSIST?\x00default\x00undeletable_when_open\x00immutable\x00?ATTR-LIST?\x00bad flags: \x00?VALUE?\x00-noshm\x00-szosfile\x00-mxpathname\x00-iversion\x00-fullshm\x00VFSNAME ?-noshm BOOL? ?-fullshm BOOL? ?-default BOOL? ?-mxpathname INT? ?-szosfile INT? ?-iversion INT?\x00shared\x00lock\x00unlock\x00DB DBNAME (shared|exclusive) (lock|unlock) OFFSET N\x00ARG\x00DB DBNAME SLOT ?VALUE?\x00*-shm is not yet mapped\x00testvfs\x00vfs_shmlock\x00vfs_set_readmark\x00DB NAME XSTEP XFINAL XVALUE XINVERSE\x00fff\x00misuse test error\x00invalid argument\x00sumint\x00sum\x00sqlite3_create_window_function\x00test_create_window_function_misuse\x00test_create_sumint\x00test_override_sum\x00" +var ts1 = "%s\x00internal error!\x00SELECT * FROM main.%Q WHERE sample()\x00expert\x00PRAGMA table_xinfo=%Q\x00main\x00, \x00%Q\x00 COLLATE %Q\x00 COLLATE %s\x00 DESC\x00PRAGMA index_list=%Q\x00PRAGMA index_xInfo=%Q\x00%s_idx_%08x\x00CREATE INDEX '%q' ON %Q(%s)\x00CREATE INDEX %s ON %s(%s)\x00EXPLAIN QUERY PLAN %s\x00 USING INDEX \x00 USING COVERING INDEX \x00%s\n\x00%s;\n\x00SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_schema WHERE tbl_name = %Q AND type IN ('table', 'trigger') ORDER BY type;\x00ALTER TABLE temp.%Q RENAME TO %Q\x00INSERT INTO %Q VALUES(\x00%s?\x00\x00)\x00UPDATE %Q SET \x00%s%Q=?\x00DELETE FROM %Q\x00t592690916721053953805701627921227776\x00DROP TABLE t592690916721053953805701627921227776\x00SELECT type, name, sql, 1 FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%' UNION ALL SELECT type, name, sql, 2 FROM sqlite_schema WHERE type = 'trigger' AND tbl_name IN(SELECT name FROM sqlite_schema WHERE type = 'view') ORDER BY 4, 1\x00CREATE TABLE x(\x00%s%Q COLLATE %s\x00CREATE VIRTUAL TABLE %Q USING expert(%Q)\x00SELECT max(i.seqno) FROM sqlite_schema AS s, pragma_index_list(s.name) AS l, pragma_index_info(l.name) AS i WHERE s.type = 'table'\x00%sx.%Q IS rem(%d, x.%Q) COLLATE %s\x00%s%d\x00SELECT %s FROM %Q x ORDER BY %s\x00SELECT %s FROM temp.t592690916721053953805701627921227776 x ORDER BY %s\x00%d\x00 %d\x00DROP TABLE IF EXISTS temp.t592690916721053953805701627921227776\x00CREATE TABLE temp.t592690916721053953805701627921227776 AS SELECT * FROM %Q\x00SELECT s.rowid, s.name, l.name FROM sqlite_schema AS s, pragma_index_list(s.name) AS l WHERE s.type = 'table'\x00SELECT name, coll FROM pragma_index_xinfo(?) WHERE key\x00INSERT INTO sqlite_stat1 VALUES(?, ?, ?)\x00ANALYZE; PRAGMA writable_schema=1\x00rem\x00sample\x00ANALYZE sqlite_schema\x00:memory:\x00SELECT sql FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%%' AND sql NOT LIKE 'CREATE VIRTUAL %%'\x00%s;%s%s\n\x00 -- stat1: \x00no such handle: \x00sql\x00TABLE\x00analyze\x00count\x00report\x00STMT EREPORT\x00destroy\x00SUBCOMMAND ...\x00sub-command\x00indexes\x00plan\x00candidates\x00DB\x00sqlite3expert%d\x00out of memory\x00sqlite3_expert_new\x00SQLITE_DONE\x00SQLITE_ERROR\x00SQLITE_OK\x00SELECT fts5(?1)\x00error: \x00fts5_api_ptr\x00f5t_2_%lld\x00xColumnCount\x00xRowCount\x00xColumnTotalSize\x00COL\x00xTokenize\x00TEXT SCRIPT\x00xPhraseCount\x00xPhraseSize\x00PHRASE\x00xInstCount\x00xInst\x00IDX\x00xRowid\x00xColumnText\x00xColumnSize\x00xQueryPhrase\x00PHRASE SCRIPT\x00xSetAuxdata\x00VALUE\x00xGetAuxdata\x00CLEAR\x00xSetAuxdataInt\x00INTEGER\x00xGetAuxdataInt\x00xPhraseForeach\x00IPHRASE COLVAR OFFVAR SCRIPT\x00xPhraseColumnForeach\x00IPHRASE COLVAR SCRIPT\x00SUB-COMMAND\x00f5t_%lld\x00bytearray\x00boolean\x00double\x00wideInt\x00int\x00DB NAME SCRIPT\x00?-subst? DB NAME TEXT\x00-subst\x00unrecognized option: \x00no such tokenizer: \x00error in tokenizer.xCreate()\x00error in tokenizer.xTokenize()\x00document\x00aux\x00query\x00prefixquery\x00invalid\x00-colocated\x00sqlite3_fts5_token may only be used by tokenizer callback\x00?-colocated? TEXT START END\x00error in fts5_api.xCreateTokenizer()\x00NSLOT TOKEN\x00sqlite3_fts5_create_tokenizer\x00sqlite3_fts5_token\x00sqlite3_fts5_tokenize\x00sqlite3_fts5_create_function\x00sqlite3_fts5_may_be_corrupt\x00sqlite3_fts5_token_hash\x00sqlite3_fts5_register_matchinfo\x00sqlite3_fts5_register_fts5tokenize\x00unrecognized matchinfo flag: %c\x00pcx\x00matchinfo\x00CREATE TABLE x(input HIDDEN, token, start, end, position)\x00fts5tokenize\x00apndvfs\x00Start-Of-SQLite3-\x00apnd(%lld)/%z\x00SQLite format 3\x00%s: cost must be between 1 and %d\x00%s: maximum string length is %d\x00%s: iLang must be between 0 and %d\x00?\x00SELECT * FROM %Q.%Q\x00%s: %s\x00%s: %s has %d columns, expected 4\x00vocabulary_table\x00vocabulary_word\x00vocabulary_language\x00edit_distances\x00unrecognized argument: [%s]\n\x00no edit_distances table specified\x00CREATE TABLE x(word,distance,language,command HIDDEN,nword HIDDEN)\x000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^abcdefghijklmnopqrstuvwxyz~\x00SELECT \"%w\" FROM \"%w\"\x00 WHERE \"%w\">=?1 AND \"%w\"=?2 ORDER BY 1\x00SELECT \"%w\" FROM \"%w\" WHERE \"%w\">=?1 ORDER BY 1\x00*\x00DELETE from %s is not allowed\x00UPDATE of %s is not allowed\x00INSERT INTO %s allowed for column [command] only\x00approximate_match\x00int32\x00int64\x00char*\x00CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)\x00carray-bind\x00carray\x00unknown datatype: %Q\x00inttoptr\x00cksmvfs\x00ZV-\x00checksum fault offset %lld of \"%s\"\x00checksum_verification\x00enable%\x00yes\x00on\x00page_size\x00cksm/%z\x00verify_checksum\x00tablename\x00idcolumn\x00parentcolumn\x00CREATE TABLE x(id,depth,root HIDDEN,tablename HIDDEN,idcolumn HIDDEN,parentcolumn HIDDEN)\x00SELECT \"%w\".\"%w\" FROM \"%w\" WHERE \"%w\".\"%w\"=?1\x00transitive_closure\x00rb\x00cannot open '%s' for reading\x00line %d: unescaped %c character\x00line %d: unterminated %c-quoted field\n\x00more than one '%s' parameter\x00true\x00no\x00off\x00false\x00header\x00more than one 'header' parameter\x00testflags\x00columns\x00more than one 'columns' parameter\x00column= value must be positive\x00bad parameter: '%s'\x00must specify either filename= or data= but not both\x00%sc%d TEXT\x00,\x00%s\"%w\" TEXT\x00bad schema: '%s' - %s\x00filename\x00data\x00schema\x00csv\x00csv_wr\x00decimal_sum\x00decimal\x00decimal_cmp\x00decimal_add\x00decimal_sub\x00decimal_mul\x00 \x00eval\x00CREATE TABLE x(addr,opcode,p1,p2,p3,p4,p5,comment,sql HIDDEN)\x00EXPLAIN %s\x00explain\x00wb\x00wrong number of arguments to function writefile()\x00failed to create symlink: %s\x00failed to create directory: %s\x00failed to write file: %s\x00CREATE TABLE x(name,mode,mtime,data,path HIDDEN,dir HIDDEN)\x00cannot read directory: %s\x00%s/%s\x00cannot stat file: %s\x00table function fsdir requires an argument\x00table function fsdir requires a non-NULL argument\x00fsdir\x00readfile\x00writefile\x00lsmode\x00%s: ruleset must be between 0 and %d\x00%s: wrong number of CREATE VIRTUAL TABLE arguments\x00CREATE TABLE x(word,distance,ruleset)\x00fuzzer\x00ieee754(%lld,%d)\x00ieee754\x00ieee754_mantissa\x00ieee754_exponent\x00ieee754_to_blob\x00ieee754_from_blob\x00BEGIN; SELECT * FROM %s%q%ssqlite_schema\x00'\x00'.\x00PRAGMA %s%q%spage_size\x00sqlite3_mmap_warm_cache: Warmed up %d pages of %s\x00END\x00AND (%s)\x00collate \"%w\"\x00SELECT %s FROM %s WHERE %s>=(?1 || ?2) %s AND %s<=(?1 || char(1114111)) %s %s ORDER BY 1 %s ASC LIMIT 1\x00next_char\x00NULL\x00is\x00not\x00in(\x00in(select\x00in(with\x00?,?,?\x002nd argument to percentile() is not a number between 0.0 and 100.0\x002nd argument to percentile() is not the same for all input rows\x001st argument to percentile() is not numeric\x00Inf input to percentile()\x00percentile\x00CREATE TABLE prefixes(prefix TEXT, original_string TEXT HIDDEN)\x00prefixes\x00prefix_length\x00unknown \\ escape\x00afnrtv\\()*.+?[$^{|}]\x00\a\f\n\r\t\v\x00unmatched '('\x00'*' without operand\x00'+' without operand\x00'?' without operand\x00'{m,n}' without operand\x00unmatched '{'\x00n less than m in '{m,n}'\x00both m and n are zero in '{m,n}'\x00POSIX character classes not supported\x00unclosed '['\x00unrecognized character\x00regexp\x00regexpi\x00remember\x00CREATE TABLE x(value,start hidden,stop hidden,step hidden)\x00generate_series() requires SQLite 3.8.12 or later\x00generate_series\x00.ABCDHLRMY9 ?\x00non-ASCII input to editdist()\x00NULL input to editdist()\x00SELECT iLang, cFrom, cTo, iCost FROM \"%w\" WHERE iLang>=0 ORDER BY iLang\x00editdist3\x00DROP TABLE IF EXISTS \"%w\".\"%w_vocab\"\x00CREATE TABLE x(word,rank,distance,langid, score, matchlen, phonehash HIDDEN, top HIDDEN, scope HIDDEN, srchcnt HIDDEN, soundslike HIDDEN, command HIDDEN)\x00CREATE TABLE IF NOT EXISTS \"%w\".\"%w_vocab\"(\n id INTEGER PRIMARY KEY,\n rank INT,\n langid INT,\n word TEXT,\n k1 TEXT,\n k2 TEXT\n);\n\x00CREATE INDEX IF NOT EXISTS \"%w\".\"%w_vocab_index_langid_k2\" ON \"%w_vocab\"(langid,k2);\x00edit_cost_table=\x00bad argument to spellfix1(): \"%s\"\x00SELECT id, word, rank, coalesce(k1,word) FROM \"%w\".\"%w_vocab\" WHERE langid=%d AND k2>=?1 AND k2=%lld\x00AND\x00%z %s rowid<=%lld\x00CREATE TABLE x(value)\x00wholenumber\x00CREATE TABLE y(name PRIMARY KEY,mode,mtime,sz,rawdata,data,method,z HIDDEN) WITHOUT ROWID;\x00zipfile\x00zipfile constructor requires one argument\x00error in fread()\x00error in fwrite()\x00failed to read CDS at offset %lld\x00%.*s\x00failed to read LFH at offset %d\x001.2.11\x00inflateInit2() failed (%d)\x00inflate() failed (%d)\x00zipfile: deflate() error\x00cannot find end of central directory record\x00zipfile() function requires an argument\x00cannot open file: %s\x00-rwxrwxrwx\x00zipfile: mode does not match data\x00zipfile: parse error in mode: %s\x00zipfile: missing filename\x00ab+\x00zipfile: failed to open file %s for writing\x00sz must be NULL\x00rawdata must be NULL\x00unknown compression method: %d\x00%s/\x00duplicate name: \"%s\"\x00{\"version-made-by\" : %u, \"version-to-extract\" : %u, \"flags\" : %u, \"compression\" : %u, \"time\" : %u, \"date\" : %u, \"crc32\" : %u, \"compressed-size\" : %u, \"uncompressed-size\" : %u, \"file-name-length\" : %u, \"extra-field-length\" : %u, \"file-comment-length\" : %u, \"disk-number-start\" : %u, \"internal-attr\" : %u, \"external-attr\" : %u, \"offset\" : %u }\x00zipfile_cds\x00wrong number of arguments to function zipfile()\x00first argument to zipfile() must be non-NULL\x00illegal method value: %d\x00non-directory name must not end with /\x00rbu_delta\x00step\x00close\x00create_rbu_delta\x00savestate\x00dbMain_eval\x00SQL\x00bp_progress\x00db\x00RBU\x00state\x00progress\x00close_no_error\x00temp_size_limit\x00LIMIT\x00temp_size\x00dbRbu_eval\x00METHOD\x00method\x00 - \x00oal\x00move\x00checkpoint\x00done\x00error\x00NAME TARGET-DB RBU-DB ?STATE-DB?\x00NAME TARGET-DB ?STATE-DB?\x00?-default? NAME PARENT\x00NAME\x00sqlite3rbu_db(0, 0)!=0\x00sqlite3rbu\x00sqlite3rbu_vacuum\x00sqlite3rbu_create_vfs\x00sqlite3rbu_destroy_vfs\x00sqlite3rbu_internal_test\x00DB SQL\x00error in sql_exec_changeset()\x00sqlite3session_streams\x00attach\x00changeset\x00delete\x00enable\x00BOOL\x00indirect\x00isempty\x00table_filter\x00SCRIPT\x00patchset\x00diff\x00FROMDB TBL\x00memory_used\x00changeset_size\x00object_config_size\x00CMD DB-HANDLE DB-NAME\x00n\x00i\x00f\x00t\x00b\x00FOREIGN_KEY\x00INSERT\x00UPDATE\x00DELETE\x00DATA\x00NOTFOUND\x00CONFLICT\x00CONSTRAINT\x00OMIT\x00-nosavepoint\x00-invert\x00?-nosavepoint? ?-inverse? DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET\x00CHANGESET\x00LEFT RIGHT\x00-next\x00?-next? ?-invert? VARNAME CHANGESET SCRIPT\x00configure\x00REBASE-BLOB\x00rebase\x00OP VALUE\x00strm_size\x00sqlite3session\x00sqlite3session_foreach\x00sqlite3changeset_invert\x00sqlite3changeset_concat\x00sqlite3changeset_apply\x00sqlite3changeset_apply_v2\x00sqlite3changeset_apply_replace_all\x00sql_exec_changeset\x00sqlite3rebaser_create\x00sqlite3session_config\x00incrblob\x00incrblob_%d\x00%lld\x00sqlite_unlock_notify_arg\x00sqlite_unlock_notify_argcount\x00SQLITE_COPY\x00SQLITE_CREATE_INDEX\x00SQLITE_CREATE_TABLE\x00SQLITE_CREATE_TEMP_INDEX\x00SQLITE_CREATE_TEMP_TABLE\x00SQLITE_CREATE_TEMP_TRIGGER\x00SQLITE_CREATE_TEMP_VIEW\x00SQLITE_CREATE_TRIGGER\x00SQLITE_CREATE_VIEW\x00SQLITE_DELETE\x00SQLITE_DROP_INDEX\x00SQLITE_DROP_TABLE\x00SQLITE_DROP_TEMP_INDEX\x00SQLITE_DROP_TEMP_TABLE\x00SQLITE_DROP_TEMP_TRIGGER\x00SQLITE_DROP_TEMP_VIEW\x00SQLITE_DROP_TRIGGER\x00SQLITE_DROP_VIEW\x00SQLITE_INSERT\x00SQLITE_PRAGMA\x00SQLITE_READ\x00SQLITE_SELECT\x00SQLITE_TRANSACTION\x00SQLITE_UPDATE\x00SQLITE_ATTACH\x00SQLITE_DETACH\x00SQLITE_ALTER_TABLE\x00SQLITE_REINDEX\x00SQLITE_ANALYZE\x00SQLITE_CREATE_VTABLE\x00SQLITE_DROP_VTABLE\x00SQLITE_FUNCTION\x00SQLITE_SAVEPOINT\x00SQLITE_RECURSIVE\x00????\x00SQLITE_DENY\x00SQLITE_IGNORE\x00RELEASE _tcl_transaction\x00COMMIT\x00ROLLBACK TO _tcl_transaction ; RELEASE _tcl_transaction\x00option\x00?CALLBACK?\x00?DATABASE? FILENAME\x00cannot open target database: \x00backup failed: \x00CALLBACK\x00cache option ?arg?\x00flush\x00size\x00size n\x00cannot convert \"\x00\" to integer\x00bad option \"\x00\": must be flush or size\x00NAME SCRIPT\x00?OPTION? ?BOOLEAN?\x00unknown config option: \"\x00\"\x00CONFLICT-ALGORITHM TABLE FILENAME ?SEPARATOR? ?NULLINDICATOR?\x00\t\x00Error: non-null separator required for copy\x00rollback\x00abort\x00fail\x00ignore\x00replace\x00Error: \"\x00\", conflict-algorithm must be one of: rollback, abort, fail, ignore, or replace\x00SELECT * FROM '%q'\x00Error: no such table: \x00Error: \x00Error: can't malloc()\x00INSERT OR %q INTO '%q' VALUES(?\x00Error: cannot open file: \x00BEGIN\x00Error: %s line %d: expected %d columns of data but found %d\x00, failed while processing line: \x00?DATABASE? VALUE\x00-maxsize\x00-readonly\x00unknown option: \x00unable to set MEMDB content\x00extension loading is turned off at compile-time\x00-withoutnulls\x00unknown option: \"\x00?OPTIONS? SQL ?ARRAY-NAME? ?SCRIPT?\x00NAME ?SWITCHES? SCRIPT\x00-argcount\x00option requires an argument: \x00number of arguments must be non-negative\x00-deterministic\x00-directonly\x00-innocuous\x00-returntype\x00real\x00text\x00blob\x00any\x00type\x00\": must be -argcount, -deterministic, -directonly, -innocuous, or -returntype\x00?-readonly? ?DB? TABLE COLUMN ROWID\x00NULLVALUE\x00N CALLBACK\x00KEY\x00cannot open source database: \x00restore failed: \x00restore failed: source database busy\x00?DATABASE?\x00(step|sort|autoindex)\x00sort\x00autoindex\x00vmstep\x00bad argument: should be autoindex, step, sort or vmstep\x00MILLISECONDS\x00?CALLBACK? ?MASK?\x00trace type\x00SAVEPOINT _tcl_transaction\x00[TYPE] SCRIPT\x00transaction type\x00BEGIN EXCLUSIVE\x00BEGIN IMMEDIATE\x00?SCRIPT?\x00SUB-COMMAND ?ARGS?\x00hook ?SCRIPT?\x00INDEX\x00-use-legacy-prepare\x00-last-stmt-ptr\x00%p\x00unknown argument: \x00authorizer\x00backup\x00bind_fallback\x00busy\x00cache\x00changes\x00collate\x00collation_needed\x00commit_hook\x00complete\x00config\x00copy\x00deserialize\x00enable_load_extension\x00errorcode\x00exists\x00function\x00interrupt\x00last_insert_rowid\x00nullvalue\x00onecolumn\x00preupdate\x00profile\x00rekey\x00restore\x00rollback_hook\x00serialize\x00status\x00timeout\x00total_changes\x00trace\x00trace_v2\x00transaction\x00unlock_notify\x00update_hook\x00version\x00wal_hook\x00defensive\x00dqs_ddl\x00dqs_dml\x00enable_fkey\x00enable_qpsg\x00enable_trigger\x00enable_view\x00fts3_tokenizer\x00legacy_alter_table\x00legacy_file_format\x00load_extension\x00no_ckpt_on_close\x00reset_database\x00trigger_eqp\x00trusted_schema\x00writable_schema\x00statement\x00row\x00deferred\x00exclusive\x00immediate\x00depth\x00hook\x00new\x00old\x00HANDLE ?FILENAME? ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nofollow BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?\x00-version\x00-sourceid\x00-has-codec\x000\x00-key\x00-vfs\x00-create\x00-nofollow\x00-nomutex\x00-fullmutex\x00-uri\x00-translatefilename\x00sqlite3\x00sqlite\x003.36.0\x00if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewline \"% \"\n}\nflush stdout\nappend line [gets stdin]\nif {[info complete $line]} {\nif {[catch {uplevel #0 $line} result]} {\nputs stderr \"Error: $result\"\n} elseif {$result!=\"\"} {\nputs $result\n}\nset line {}\n} else {\nappend line \\n\n}\n}\n}\n\x00SQLITE_DEBUG_BREAK\x00attach debugger to process %d and press any key to continue.\n\x00utf-8\x00argc\x00argv0\x00argv\x00errorInfo\x00%s: %s\n\x00SQLITE-CONNECTION\x00command not found: \x00error code %s (%d) does not match sqlite3_errcode %s (%d)\x00OMIT_MISUSE\x00wrong # args: should be \"\x00 DB FORMAT STRING\x00 DB HEX\x00 DB\x00 DB SQL\x00%z%s%s\x00%s%n\x00abcdefghijklmnopqrstuvwxyz\x00 DB FORMAT STRING ?COUNT?\x00 DB\"\x00 FILENAME\"\x00%02x\x00%04x\x00tkt2213 is not fixed\x00text16\x00bytes\x00bytes16\x00noop\x00x_coalesce\x00hex8\x00hex16\x00tkt2213func\x00pointer_change\x00counter1\x00counter2\x00intreal\x00x_sqlite_exec\x00value of 40 handed to x_count\x00x_count totals to 42\x00x_count\x00legacy_count\x00 TEXT\"\x00 FORMAT INT INT INT\"\x00argument is not a valid 64-bit integer\x00 FORMAT INT INT ?STRING?\"\x00 INT FORMAT INT INT ?STRING?\"\x00N must be non-negative\x00 FORMAT INT INT DOUBLE\"\x00 FORMAT DOUBLE DOUBLE\"\x00 FORMAT STRING\"\x00%08x%08x\x002nd argument should be 16-characters of hex\x00?BOOLEAN?\x00DB BOOLEAN\x00DB dbname tblname colname\x00CHANNEL ROWID\x00DB-HANDLE NAME CMP-PROC DEL-PROC\x00sqlite3_create_collate_v2() failed to detect an invalid encoding\x00utf8\x00utf16\x00utf16le\x00utf16be\x00DB NAME NARG ENC SWITCHES...\x00encoding\x00-func\x00-step\x00-final\x00-destroy\x00switch\x00DB-HANDLE FILE ?PROC?\x00this build omits sqlite3_load_extension()\x00DB-HANDLE ONOFF\x00string\x00value\x00first argument should be one of: int int64 string double null value\x00 DB FUNCTION-NAME\x00 \x00STMT PARAMETER RESETFLAG\x00SQLITE_STMTSTATUS_FULLSCAN_STEP\x00SQLITE_STMTSTATUS_SORT\x00SQLITE_STMTSTATUS_AUTOINDEX\x00SQLITE_STMTSTATUS_VM_STEP\x00SQLITE_STMTSTATUS_REPREPARE\x00SQLITE_STMTSTATUS_RUN\x00SQLITE_STMTSTATUS_MEMUSED\x00NBYTE\x00DB DBNAME\x00DB DBNAME SNAPSHOT\x00SNAPSHOT\x00SNAPSHOT1 SNAPSHOT2\x00bad SNAPSHOT\x00FILE\x00PATH\x00 DB STMT\x00 STMT\x00 FROM-STMT TO-STMT\x00 VM IDX VALUE (null|static|normal)\"\x00static\x00static-nbytes\x00normal\x00blob10\x00abc\x00xyz\x00pq\x004th argument should be \"null\" or \"static\" or \"normal\"\x00(%d) \x00test_collate\x00UTF-8\x00UTF-16LE\x00UTF-16BE\x00 \x00utf16bin\x00utf16_unaligned\x00utf16_aligned\x00test_function\x00\x00STMT IDX N\x00 STMT N VALUE\x00NaN\x00SNaN\x00-NaN\x00-SNaN\x00+Inf\x00-Inf\x00Epsilon\x00-Epsilon\x00NaN0\x00-NaN0\x00 STMT N\x00 STMT N VALUE BYTES\x00 STMT N DATA BYTES\x00cannot use %d blob bytes, have %d\x00-transient\x00-static\x00-int32\x00-int64\x00-double\x00-text\x00--\x00text data must be either -static or -transient\x00cannot be both -static and -transient\x00[OPTIONS] STMT IDX VALUE ...\x00STMT\x00STMT N\x00STMT NAME\x00 DB sql bytes ?tailvar?\x00 DB sql bytes tailvar\x00 DB sql bytes flags tailvar\x00\x00SELECT 1\x00 filename options-list\x00FILENAME FLAGS VFS\x00SQLITE_OPEN_READONLY\x00SQLITE_OPEN_READWRITE\x00SQLITE_OPEN_CREATE\x00SQLITE_OPEN_DELETEONCLOSE\x00SQLITE_OPEN_EXCLUSIVE\x00SQLITE_OPEN_AUTOPROXY\x00SQLITE_OPEN_MAIN_DB\x00SQLITE_OPEN_TEMP_DB\x00SQLITE_OPEN_TRANSIENT_DB\x00SQLITE_OPEN_MAIN_JOURNAL\x00SQLITE_OPEN_TEMP_JOURNAL\x00SQLITE_OPEN_SUBJOURNAL\x00SQLITE_OPEN_SUPER_JOURNAL\x00SQLITE_OPEN_NOMUTEX\x00SQLITE_OPEN_FULLMUTEX\x00SQLITE_OPEN_SHAREDCACHE\x00SQLITE_OPEN_PRIVATECACHE\x00SQLITE_OPEN_WAL\x00SQLITE_OPEN_URI\x00flag\x00\x00 STMT column\x00FLOAT\x00TEXT\x00BLOB\x00 DB MAGIC\x00SQLITE_MAGIC_OPEN\x00SQLITE_MAGIC_CLOSED\x00SQLITE_MAGIC_BUSY\x00SQLITE_MAGIC_ERROR\x00 DB function-name\x00VARIABLE\x00?N?\x001234567890000000\x00__one\x00__two\x00notadatabase\x00Unexpected non-zero errno: \x00DB [DBNAME]\x00%u\x00DB DBNAME SIZE\x00 DB PWD\x00 DB FLAG\x00%d %d\x00 DB ?AUXDB?\x00DB N\x00 DB ID VALUE\x00unknown limit type: \x00SQLITE_LIMIT_LENGTH\x00SQLITE_LIMIT_SQL_LENGTH\x00SQLITE_LIMIT_COLUMN\x00SQLITE_LIMIT_EXPR_DEPTH\x00SQLITE_LIMIT_COMPOUND_SELECT\x00SQLITE_LIMIT_VDBE_OP\x00SQLITE_LIMIT_FUNCTION_ARG\x00SQLITE_LIMIT_ATTACHED\x00SQLITE_LIMIT_LIKE_PATTERN_LENGTH\x00SQLITE_LIMIT_VARIABLE_NUMBER\x00SQLITE_LIMIT_TRIGGER_DEPTH\x00SQLITE_LIMIT_WORKER_THREADS\x00SQLITE_LIMIT_TOOSMALL\x00SQLITE_LIMIT_TOOBIG\x00SEED ?DB?\x00BOOLEAN\x00current\x00max\x00min\x00recyclable\x00DB ?NAME?\x00passive\x00full\x00restart\x00truncate\x00DB MODE ?NAME?\x00mode\x00DB VALUE\x00COMMAND ...\x00command has no objProc: \x00%d %d %d %s\n\x00SQLITE_TESTCTRL_LOCALTIME_FAULT\x00SQLITE_TESTCTRL_SORTER_MMAP\x00SQLITE_TESTCTRL_IMPOSTER\x00SQLITE_TESTCTRL_INTERNAL_FUNCTIONS\x00VERB ARGS...\x00VERB\x00ONOFF\x00DB LIMIT\x00DB dbName onOff tnum\x00ru_utime=%d.%06d ru_stime=%d.%06d ru_minflt=%d ru_majflt=%d\x00DB OPT BOOLEAN\x00unknown optimization - should be one of:\x00all\x00none\x00query-flattener\x00groupby-order\x00factor-constants\x00distinct-opt\x00cover-idx-scan\x00order-by-idx-join\x00transitive\x00omit-noop-join\x00stat4\x00skip-scan\x00push-down\x00DB NAME ...\x00no such extension: \x00initialization of \x00 failed: \x00amatch\x00appendvfs\x00closure\x00fileio\x00nextchar\x00series\x00spellfix\x00totype\x00DB SQL1 NSTEP SQL2\x00data error: (a!=b)\x00checksum mismatch\x00sql error: \x00TYPE\x00Deliberate panic\x00DB SETTING [VALUE]\x00SQLITE_*\x00DBCONFIG_*\x00ENABLE_*\x00unknown sqlite3_db_config setting\x00FKEY\x00TRIGGER\x00FTS3_TOKENIZER\x00LOAD_EXTENSION\x00NO_CKPT_ON_CLOSE\x00QPSG\x00TRIGGER_EQP\x00RESET_DB\x00DEFENSIVE\x00WRITABLE_SCHEMA\x00LEGACY_ALTER_TABLE\x00DQS_DML\x00DQS_DDL\x00LEGACY_FILE_FORMAT\x00DB ?SCHEMA?\x00icecube\x00DB ?DBNAME?\x00DB OFFSET DATA\x00HEXDB\x00| size %d pagesize %d\x00bad 'pagesize' field\x00bad 'size' field\x00| page %d offset %d\x00| %d: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\x00sqlite_search_count\x00sqlite_found_count\x00sqlite_sort_count\x00sqlite3_max_blobsize\x00sqlite_like_count\x00sqlite_interrupt_count\x00sqlite_open_file_count\x00sqlite_current_time\x00sqlite3_xferopt_count\x00sqlite3_pager_readdb_count\x00sqlite3_pager_writedb_count\x00sqlite3_pager_writej_count\x00unaligned_string_counter\x00sqlite_last_needed_collation\x00sqlite_query_plan\x00sqlite_opentemp_count\x00sqlite_static_bind_value\x00sqlite_static_bind_nbyte\x00sqlite_temp_directory\x00sqlite_data_directory\x00bitmask_size\x00longdouble_size\x00sqlite_sync_count\x00sqlite_fullsync_count\x00db_enter\x00db_leave\x00sqlite3_mprintf_int\x00sqlite3_mprintf_int64\x00sqlite3_mprintf_long\x00sqlite3_mprintf_str\x00sqlite3_snprintf_str\x00sqlite3_mprintf_stronly\x00sqlite3_mprintf_double\x00sqlite3_mprintf_scaled\x00sqlite3_mprintf_hexdouble\x00sqlite3_mprintf_z_test\x00sqlite3_mprintf_n_test\x00sqlite3_snprintf_int\x00sqlite3_last_insert_rowid\x00sqlite3_exec_printf\x00sqlite3_exec_hex\x00sqlite3_exec\x00sqlite3_exec_nr\x00sqlite3_get_table_printf\x00sqlite3_close\x00sqlite3_close_v2\x00sqlite3_create_function\x00sqlite3_create_aggregate\x00sqlite3_drop_modules\x00sqlite_register_test_function\x00sqlite_abort\x00sqlite_bind\x00breakpoint\x00sqlite3_key\x00sqlite3_rekey\x00sqlite_set_magic\x00sqlite3_interrupt\x00sqlite_delete_function\x00sqlite_delete_collation\x00sqlite3_get_autocommit\x00sqlite3_busy_timeout\x00printf\x00sqlite3IoTrace\x00clang_sanitize_address\x00sqlite3_db_config\x00sqlite3_txn_state\x00bad_behavior\x00register_dbstat_vtab\x00sqlite3_connection_pointer\x00intarray_addr\x00int64array_addr\x00doublearray_addr\x00textarray_addr\x00sqlite3_bind_int\x00sqlite3_bind_zeroblob\x00sqlite3_bind_zeroblob64\x00sqlite3_bind_int64\x00sqlite3_bind_double\x00sqlite3_bind_null\x00sqlite3_bind_text\x00sqlite3_bind_text16\x00sqlite3_bind_blob\x00sqlite3_carray_bind\x00sqlite3_bind_parameter_count\x00sqlite3_bind_parameter_name\x00sqlite3_bind_parameter_index\x00sqlite3_clear_bindings\x00sqlite3_sleep\x00sqlite3_errcode\x00sqlite3_extended_errcode\x00sqlite3_errmsg\x00sqlite3_errmsg16\x00sqlite3_open\x00sqlite3_open16\x00sqlite3_open_v2\x00sqlite3_complete16\x00sqlite3_normalize\x00sqlite3_prepare\x00sqlite3_prepare16\x00sqlite3_prepare_v2\x00sqlite3_prepare_v3\x00sqlite3_prepare_tkt3134\x00sqlite3_prepare16_v2\x00sqlite3_finalize\x00sqlite3_stmt_status\x00sqlite3_reset\x00sqlite3_expired\x00sqlite3_transfer_bindings\x00sqlite3_changes\x00sqlite3_step\x00sqlite3_sql\x00sqlite3_expanded_sql\x00sqlite3_next_stmt\x00sqlite3_stmt_readonly\x00sqlite3_stmt_isexplain\x00sqlite3_stmt_busy\x00uses_stmt_journal\x00sqlite3_release_memory\x00sqlite3_db_release_memory\x00sqlite3_db_cacheflush\x00sqlite3_system_errno\x00sqlite3_db_filename\x00sqlite3_db_readonly\x00sqlite3_soft_heap_limit\x00sqlite3_soft_heap_limit64\x00sqlite3_hard_heap_limit64\x00sqlite3_thread_cleanup\x00sqlite3_pager_refcounts\x00sqlite3_load_extension\x00sqlite3_enable_load_extension\x00sqlite3_extended_result_codes\x00sqlite3_limit\x00dbconfig_maindbname_icecube\x00save_prng_state\x00restore_prng_state\x00reset_prng_state\x00prng_seed\x00extra_schema_checks\x00database_never_corrupt\x00database_may_be_corrupt\x00optimization_control\x00tcl_objproc\x00sqlite3_column_count\x00sqlite3_data_count\x00sqlite3_column_type\x00sqlite3_column_blob\x00sqlite3_column_double\x00sqlite3_column_int64\x00sqlite3_column_text\x00sqlite3_column_name\x00sqlite3_column_int\x00sqlite3_column_bytes\x00sqlite3_column_decltype\x00sqlite3_column_database_name\x00sqlite3_column_table_name\x00sqlite3_column_origin_name\x00sqlite3_column_bytes16\x00sqlite3_column_text16\x00sqlite3_column_name16\x00add_alignment_test_collations\x00sqlite3_column_decltype16\x00sqlite3_column_database_name16\x00sqlite3_column_table_name16\x00sqlite3_column_origin_name16\x00sqlite3_create_collation_v2\x00sqlite3_global_recover\x00working_64bit_int\x00vfs_unlink_test\x00vfs_initfail_test\x00vfs_unregister_all\x00vfs_reregister_all\x00file_control_test\x00file_control_lasterrno_test\x00file_control_lockproxy_test\x00file_control_chunksize_test\x00file_control_sizehint_test\x00file_control_data_version\x00file_control_persist_wal\x00file_control_powersafe_overwrite\x00file_control_vfsname\x00file_control_reservebytes\x00file_control_tempfilename\x00file_control_external_reader\x00sqlite3_vfs_list\x00sqlite3_create_function_v2\x00add_test_collate\x00add_test_collate_needed\x00add_test_function\x00add_test_utf16bin_collate\x00sqlite3_test_errstr\x00tcl_variable_type\x00sqlite3_enable_shared_cache\x00sqlite3_shared_cache_report\x00sqlite3_libversion_number\x00sqlite3_table_column_metadata\x00sqlite3_blob_reopen\x00pcache_stats\x00sqlite3_unlock_notify\x00sqlite3_wal_checkpoint\x00sqlite3_wal_checkpoint_v2\x00sqlite3_wal_autocheckpoint\x00test_sqlite3_log\x00print_explain_query_plan\x00sqlite3_test_control\x00getrusage\x00load_static_extension\x00sorter_test_fakeheap\x00sorter_test_sort4_helper\x00vfs_current_time_int64\x00sqlite3_snapshot_get\x00sqlite3_snapshot_open\x00sqlite3_snapshot_free\x00sqlite3_snapshot_cmp\x00sqlite3_snapshot_recover\x00sqlite3_snapshot_get_blob\x00sqlite3_snapshot_open_blob\x00sqlite3_snapshot_cmp_blob\x00sqlite3_delete_database\x00atomic_batch_write\x00sqlite3_mmap_warm\x00sqlite3_config_sorterref\x00decode_hexdb\x00test_write_db\x00sqlite3_register_cksumvfs\x00sqlite3_unregister_cksumvfs\x00*** OBSOLETE VARIABLE ***\x00 FILENAME N-PAGE\"\x00 ID\"\x00ref\x00page\x00err\x00hit\x00miss\x00ovfl\x00 ID PGNO\"\x00 PAGE\"\x00 PAGE DATA\"\x00 N-MEGABYTES FILE\"\x00open failed: \x00Hello, World!\x00write failed: \x00 PENDING-BYTE\"\x00fault simulator script failed: [%s]\x00 SCRIPT\"\x00 SIZE PROGRAM\"\x00sqlite_io_error_pending\x00sqlite_io_error_persist\x00sqlite_io_error_hit\x00sqlite_io_error_hardhit\x00sqlite_diskfull_pending\x00sqlite_diskfull\x00sqlite_pending_byte\x00pager_open\x00pager_close\x00pager_commit\x00pager_rollback\x00pager_stmt_begin\x00pager_stmt_commit\x00pager_stmt_rollback\x00pager_stats\x00pager_pagecount\x00page_get\x00page_lookup\x00page_unref\x00page_read\x00page_write\x00page_number\x00pager_truncate\x00fake_big_file\x00sqlite3BitvecBuiltinTest\x00sqlite3_test_control_pending_byte\x00sqlite3_test_control_fault_install\x00 FILENAME NCACHE FLAGS\"\x00read\x00write\x00 ID TABLENUM WRITEABLE\"\x00 START MULTIPLIER COUNT INCREMENT\"\x00putVarint returned %d - should be between 1 and 9\x00putVarint returned %d and getVarint returned %d\x00Wrote 0x%016llx and got back 0x%016llx\x00putVarint returned %d and GetVarint32 returned %d\x00Wrote 0x%016llx and got back 0x%016llx from GetVarint32\x00 DB-HANDLE ?N?\"\x00No such db-handle: \"\x00 BT NCACHE\"\x00?-intkey? CSR KEY VALUE\x00btree_insert\x00btree_open\x00btree_close\x00btree_begin_transaction\x00btree_pager_stats\x00btree_cursor\x00btree_close_cursor\x00btree_next\x00btree_eof\x00btree_payload_size\x00btree_first\x00btree_varint_test\x00btree_from_db\x00btree_ismemdb\x00btree_set_cache_size\x00thread ID must be an upper case letter\x00 ID FILENAME\x00thread \x00 is already running\x00failed to create the thread\x00 ID\x00no such thread\x00 ID N\x00column number out of range\x00no database is open\x00 ID SQL\x00no virtual machine available\x00 IDL\x00 ID1 ID2\x00 ID DB\x00thread_create\x00thread_wait\x00thread_halt\x00thread_argc\x00thread_argv\x00thread_colname\x00thread_result\x00thread_error\x00thread_compile\x00thread_step\x00thread_finalize\x00thread_swap\x00thread_db_get\x00thread_db_put\x00thread_stmt_get\x00 \x00hello world\x00UTF8\x00UTF16LE\x00UTF16BE\x00UTF16\x00No such encoding: \x00 \x00binarize\x00test_value_overhead\x00test_translate\x00translate_selftest\x00out of memory in the crash simulator\n\x00atomic\x00atomic512\x00atomic1k\x00atomic2k\x00atomic4k\x00atomic8k\x00atomic16k\x00atomic32k\x00atomic64k\x00sequential\x00safe_append\x00powersafe_overwrite\x00batch-atomic\x00-sectorsize\x00-characteristics\x00Bad option: \"\x00\" - must be \"-characteristics\" or \"-sectorsize\"\x00Option requires an argument: \"\x00no such flag\x00ENABLE ?DEFAULT?\x00crash\x00?OPTIONS? DELAY CRASHFILE\x00Filename is too long: \"\x00NWRITE\x00?-default? PARENT-VFS\x00-default\x00\": must be -default\x00Error in jt_register\x00sqlite3_crash_enable\x00sqlite3_crashparams\x00sqlite3_crash_now\x00sqlite3_simulate_device\x00sqlite3_crash_on_write\x00unregister_devsim\x00register_jt_vfs\x00unregister_jt_vfs\x00client_create\x00client_wait\x00client_halt\x00client_argc\x00client_argv\x00client_colname\x00client_result\x00client_error\x00client_compile\x00client_step\x00client_reset\x00client_finalize\x00client_swap\x00echo_module_fail(%s,%s)\x00echo-vtab-error: %s\x00SELECT * FROM %Q\x00PRAGMA index_list(%s)\x00PRAGMA index_info(%s)\x00echo_module\x00SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = ?\x00%s%s\x00xCreate\x00CREATE TABLE %Q(logmsg)\x00xConnect\x00xDisconnect\x00xDestroy\x00DROP TABLE %Q\x00xOpen\x00xNext\x00xColumn\x00xFilter\x00, *\x00%z, %s\x00%z, NULL\x00echo_module_ignore_usable\x00xBestIndex\x00echo_module_cost\x00SELECT count(*) FROM %Q\x00SELECT rowid%z FROM %Q\x00rowid\x00=\x00<\x00>\x00<=\x00>=\x00LIKE\x00like\x00glob\x00 %s %s LIKE (SELECT '%%'||?||'%%')\x00 %s %s %s ?\x00DESC\x00ASC\x00 ORDER BY %s %s\x00xUpdate\x00 SET\x00UPDATE %Q\x00 SET rowid=?1 \x00%s %Q=?%d\x00 WHERE rowid=?%d\x00DELETE FROM %Q WHERE rowid = ?1\x00INSERT INTO %Q (\x00%s%Q\x00%s?%d\x00) VALUES(\x00echo(%s)\x00xBegin\x00echo_module_begin_fail\x00xSync\x00echo_module_sync_fail\x00xCommit\x00xRollback\x00::echo_glob_overload\x00xRename\x00ALTER TABLE %s RENAME TO %s%s\x00function_that_does_not_exist_0982ma98\x00echo\x00echo_v2\x00register_echo_module\x00sqlite3_declare_vtab\x00N/A\x00sqlite3_create_collation\x00Error testing function: \x00sqlite3_malloc\x00sqlite3_realloc\x00c_misuse_test\x00c_realloc_test\x00c_collation_test\x00sqlite3_reset_auto_extension\x00npage\x00finish\x00remaining\x00pagecount\x00CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME\x00sqlite3_backup_init() failed\x00sqlite3_backup\x00wrong number of arguments\x00unexpected: %s\x00eq\x00gt\x00le\x00lt\x00ge\x00match\x00ne\x00isnot\x00isnotnull\x00isnull\x00op\x00column\x00usable\x00desc\x00cost\x00orderby\x00idxnum\x00idxstr\x00rows\x00use\x00omit\x00unexpected: %d\x00tcl\x00register_tcl_module\x00incrblob_\x00DB DATABASE TABLE COLUMN ROWID FLAGS VARNAME\x00HANDLE\x00CHANNEL OFFSET N\x00out of memory in testdata/sqlite-src-3360000/src/test_blob.c\x00HANDLE OFFSET DATA ?NDATA?\x00sqlite3_blob_open\x00sqlite3_blob_close\x00sqlite3_blob_bytes\x00sqlite3_blob_read\x00sqlite3_blob_write\x00sqlite_options\x00malloc_usable_size\x001\x00rowid32\x00casesensitivelike\x00configslower\x001.0\x00curdir\x00win32malloc\x00debug\x00default_ckptfullfsync\x00direct_read\x00dirsync\x00lfs\x00pagecache_overflow_stats\x00mmap\x00worker_threads\x008\x00memdebug\x008_3_names\x00cursorhints\x00hiddencolumns\x00mathlib\x00mem3\x00mem5\x00offset_sql_func\x00snapshot\x00mutex\x00mutex_noop\x00altertable\x00api_armor\x00atomicwrite\x00geopoly\x00json1\x00has_codec\x00like_match_blobs\x00auth\x00autoinc\x00autoreset\x00autovacuum\x00default_autovacuum\x00between_opt\x00builtin_test\x00bloblit\x00cast\x00check\x00cte\x00columnmetadata\x00oversize_cell_check\x00compileoption_diags\x00compound\x00conflict\x00crashtest\x00datetime\x00decltype\x00deprecated\x00diskio\x00floatingpoint\x00foreignkey\x00fts1\x00fts2\x00fts3\x00fts5\x00fts3_unicode\x00fts4_deferred\x00gettable\x00icu\x00icu_collations\x00integrityck\x00legacyformat\x00like_opt\x00load_ext\x00localtime\x00lookaside\x00long_double\x00memorydb\x00memorymanage\x00mergesort\x00null_trim\x00or_opt\x00rbu\x00pager_pragmas\x00pragma\x00reindex\x00rtree\x00rtree_int_only\x00schema_pragmas\x00schema_version\x00session\x00stmtvtab\x00scanstatus\x00lock_proxy_pragmas\x00prefer_proxy_locking\x00shared_cache\x00subquery\x00tclvar\x00threadsafe\x00threadsafe1\x00threadsafe2\x00tempdb\x00trigger\x00truncate_opt\x00vacuum\x00view\x00vtab\x00wal\x00wsd\x00update_delete_limit\x00fast_secure_delete\x00secure_delete\x00userauth\x00multiplex_ext_overwrite\x00yytrackmaxstackdepth\x00sqllog\x00uri_00_error\x00normalize\x00windowfunc\x00SQLITE_MAX_LENGTH\x00SQLITE_MAX_COLUMN\x00SQLITE_MAX_SQL_LENGTH\x00SQLITE_MAX_EXPR_DEPTH\x00SQLITE_MAX_COMPOUND_SELECT\x00SQLITE_MAX_VDBE_OP\x00SQLITE_MAX_FUNCTION_ARG\x00SQLITE_MAX_VARIABLE_NUMBER\x00SQLITE_MAX_PAGE_SIZE\x00SQLITE_MAX_PAGE_COUNT\x00SQLITE_MAX_LIKE_PATTERN_LENGTH\x00SQLITE_MAX_TRIGGER_DEPTH\x00SQLITE_DEFAULT_CACHE_SIZE\x00SQLITE_DEFAULT_PAGE_SIZE\x00SQLITE_DEFAULT_FILE_FORMAT\x00SQLITE_DEFAULT_SYNCHRONOUS\x00SQLITE_DEFAULT_WAL_SYNCHRONOUS\x00SQLITE_MAX_ATTACHED\x00SQLITE_MAX_DEFAULT_PAGE_SIZE\x00SQLITE_MAX_WORKER_THREADS\x00TEMP_STORE\x00__GNUC__\x00%s-journal\x00%s-wal\x00%s-shm\x00%s%03d\x00%s-journal%03d\x00%s-wal%03d\x00devsym\x00writecrash\x00CREATE TABLE xyz(dir, name);\x00CREATE TABLE xyz(path, size, data);\x00WITH r(d) AS ( SELECT CASE WHEN dir=?2 THEN ?3 ELSE dir END || '/' || name FROM fsdir WHERE dir=?1 AND name NOT LIKE '.%' UNION ALL SELECT dir || '/' || name FROM r, fsdir WHERE dir=d AND name NOT LIKE '.%') SELECT d FROM r;\x00/\x00CREATE TABLE x(path TEXT, data TEXT)\x00SELECT * FROM %Q.%Q WHERE rowid=?\x00fs\x00fstree\x00register_fs_module\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-!,:*^+=_|?/<> \x00sqlite3_prepare_v2() error: %s\x000123456789abcdef\x00x'\x00test_agg_errmsg16\x00randstr\x00test_destructor\x00test_destructor16\x00hex_to_utf16be\x00hex_to_utf16le\x00hex_to_utf8\x00test_destructor_count\x00test_auxdata\x00test_error\x00test_eval\x00test_isolation\x00test_counter\x00real2hex\x00test_decode\x00test_extract\x00test_zeroblob\x00test_getsubtype\x00test_setsubtype\x00test_frombind\x00tx\x00funcxx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00nullx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00sqlite3_create_function abused test failed\x00invalid matchinfo blob passed to function rank()\x00wrong number of arguments to function rank()\x00rank\x00autoinstall_test_functions\x00abuse_create_function\x00install_fts3_rank_function\x000123456789ABCDEF\x00FILENAME OFFSET AMT\x00r\x00cannot open input file \x00FILENAME OFFSET HEXDATA\x00r+b\x00r+\x00cannot open output file \x00HEXDATA\x00[utf8_to_utf8] unavailable - SQLITE_DEBUG not defined\x00BLOB VARNAME\x00LIST\x00hexio_read\x00hexio_write\x00hexio_get_int\x00hexio_render_int16\x00hexio_render_int32\x00utf8_to_utf8\x00read_fts3varint\x00make_fts3record\x00mem\x00pcache\x00Unknown argument: \"\x00init_wrapper_install\x00init_wrapper_query\x00init_wrapper_uninstall\x00init_wrapper_clear\x00CREATE TABLE x(value INTEGER PRIMARY KEY)\x00CREATE VIRTUAL TABLE temp.%Q USING %Q\x00INTARRAY\x00SQLITE_NOMEM\x00sqlite3_intarray_create\x00sqlite3_intarray_bind\x00jt\x00-journal\x00NBYTES\x00PRIOR NBYTES\x00bad pointer: \x00PRIOR\x00ADDRESS SIZE HEX\x00size must be positive\x00no data\x00ADDRESS SIZE\x00?RESET?\x00DEPT\x00FILENAME\x00COUNTER ?OPTIONS?\x00-repeat\x00-benigncnt\x00TITLE\x00SUB-COMMAND ...\x00start\x00stop\x00dump\x00clear\x00sync\x00SIZE N\x00INSTALLFLAG DISCARDCHANCE PRNGSEEED HIGHSTRESS\x00discard-chance should be between 0 and 100\x00SIZE COUNT\x00BUFID SIZE COUNT\x00illegal arguments - see documentation\x00NBYTE NMINALLOC\x00[DB]\x00sqlite3_db_config(db, 99999) does not return SQLITE_ERROR\x00sqlite3_config(99999) does not return SQLITE_ERROR\x00PARAMETER RESETFLAG\x00SQLITE_STATUS_MEMORY_USED\x00SQLITE_STATUS_MALLOC_SIZE\x00SQLITE_STATUS_PAGECACHE_USED\x00SQLITE_STATUS_PAGECACHE_OVERFLOW\x00SQLITE_STATUS_PAGECACHE_SIZE\x00SQLITE_STATUS_SCRATCH_USED\x00SQLITE_STATUS_SCRATCH_OVERFLOW\x00SQLITE_STATUS_SCRATCH_SIZE\x00SQLITE_STATUS_PARSER_STACK\x00SQLITE_STATUS_MALLOC_COUNT\x00DB PARAMETER RESETFLAG\x00SQLITE_\x00DBSTATUS_\x00LOOKASIDE_USED\x00CACHE_USED\x00SCHEMA_USED\x00STMT_USED\x00LOOKASIDE_HIT\x00LOOKASIDE_MISS_SIZE\x00LOOKASIDE_MISS_FULL\x00CACHE_HIT\x00CACHE_MISS\x00CACHE_WRITE\x00DEFERRED_FKS\x00CACHE_USED_SHARED\x00CACHE_SPILL\x00?INTEGER?\x00sqlite3_free\x00memset\x00memget\x00sqlite3_memory_used\x00sqlite3_memory_highwater\x00sqlite3_memdebug_backtrace\x00sqlite3_memdebug_dump\x00sqlite3_memdebug_fail\x00sqlite3_memdebug_pending\x00sqlite3_memdebug_settitle\x00sqlite3_memdebug_malloc_count\x00sqlite3_memdebug_log\x00sqlite3_config_pagecache\x00sqlite3_config_alt_pcache\x00sqlite3_status\x00sqlite3_db_status\x00install_malloc_faultsim\x00sqlite3_config_heap\x00sqlite3_config_heap_size\x00sqlite3_config_memstatus\x00sqlite3_config_lookaside\x00sqlite3_config_error\x00sqlite3_config_uri\x00sqlite3_config_cis\x00sqlite3_config_pmasz\x00sqlite3_db_config_lookaside\x00sqlite3_dump_memsys3\x00sqlite3_dump_memsys5\x00sqlite3_install_memsys3\x00sqlite3_memdebug_vfs_oom_test\x00%05u\x00 FILENAME [OFFSET AMT]\"\x00unable to open file \"\x00\" for reading\x00md5\x00md5-10x8\x00md5file\x00md5file-10x8\x00md5sum\x00%03d\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_control\x00chunksize\x00multiplex_truncate\x00multiplex/%z\x00multiplex\x00NAME MAKEDEFAULT\x00-force\x00?-force?\x00chunk_size\x00max_chunks\x00HANDLE DBNAME SUB-COMMAND INT-VALUE\x00expected database handle, got \"\x00sqlite3_multiplex_initialize\x00sqlite3_multiplex_shutdown\x00sqlite3_multiplex_control\x00fast\x00recursive\x00static_main\x00static_mem\x00static_open\x00static_prng\x00static_lru\x00static_pmem\x00static_app1\x00static_app2\x00static_app3\x00static_vfs1\x00static_vfs2\x00static_vfs3\x00mutex counters are \x00already installed\x00not installed\x00singlethread\x00multithread\x00serialized\x00mutex name\x00disable_mutex_init\x00disable_mutex_try\x00sqlite3_shutdown\x00sqlite3_initialize\x00sqlite3_config\x00enter_static_mutex\x00leave_static_mutex\x00enter_db_mutex\x00leave_db_mutex\x00alloc_dealloc_mutex\x00install_mutex_counters\x00read_mutex_counters\x00clear_mutex_counters\x00\x00\x00\x00\x00\x00\x00\x00vfslog/%z\x00sqlite_ostrace1.....\x00xClose\x00xRead\x00xWrite\x00xTruncate\x00xFilesize\x00xLock\x00xUnlock\x00xCheckResLock\x00xFileControl\x00xSectorSize\x00xDeviceChar\x00xDelete\x00xAccess\x00xFullPathname\x00xRandomness\x00xSleep\x00xCurrentTime\x00xShmUnmap\x00xShmLock\x00xShmBarrier\x00xShmMap\x00annotation\x00CREATE TABLE xxx(event, file, click, rc, size, offset)\x00vfslog\x00VFS\x00failed\x00VFS PARENT LOGFILE\x00bad sqlite3 handle: \x00annotate\x00finalize\x00register\x00quota/%z\x00quota\x00::piLimit_\x00PATTERN LIMIT SCRIPT\x00FILENAME MODE\x00HANDLE SIZE NELEM\x00HANDLE SIZE NELEM CONTENT\x00HANDLE ?HARDSYNC?\x00HANDLE OFFSET WHENCE\x00SEEK_SET\x00SEEK_CUR\x00SEEK_END\x00WHENCE should be SEEK_SET, SEEK_CUR, or SEEK_END\x00HANDLE SIZE\x00PATTERN TEXT\x00sqlite3_quota_initialize\x00sqlite3_quota_shutdown\x00sqlite3_quota_set\x00sqlite3_quota_file\x00sqlite3_quota_dump\x00sqlite3_quota_fopen\x00sqlite3_quota_fread\x00sqlite3_quota_fwrite\x00sqlite3_quota_fclose\x00sqlite3_quota_fflush\x00sqlite3_quota_fseek\x00sqlite3_quota_rewind\x00sqlite3_quota_ftell\x00sqlite3_quota_ftruncate\x00sqlite3_quota_file_size\x00sqlite3_quota_file_truesize\x00sqlite3_quota_file_mtime\x00sqlite3_quota_remove\x00sqlite3_quota_glob\x00sqlite3_quota_file_available\x00sqlite3_quota_ferror\x00cube\x00circle\x00Qcircle\x00breadthfirstsearch\x00register_cube_geom\x00register_circle_geom\x00CREATE TABLE x(database,tablename,cid,name,type,not_null,dflt_value,pk)\x00SELECT name FROM sqlite_temp_schema WHERE type='table'\x00SELECT name FROM %Q.sqlite_schema WHERE type='table'\x00PRAGMA %Q.table_info(%Q)\x00PRAGMA database_list\x00register_schema_module\x00PRAGMA main.journal_mode\x00CMDNAME PATH ?VFS? ?BUSY-HANDLER-SCRIPT?\x00sqlite3demo_superlock\x00open\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00pread\x00pread64\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00mremap\x00SYSCALL-LIST\x00system-call\x00?COUNT PERSIST?\x00EACCES\x00EINTR\x00EIO\x00EOVERFLOW\x00ENOMEM\x00EAGAIN\x00ETIMEDOUT\x00EBUSY\x00EPERM\x00EDEADLK\x00ENOLCK\x00SYSCALL ERRNO\x00errno\x00PGSZ\x00getpagesize\x00pgsz out of range\x00fault\x00install\x00uninstall\x00list\x00defaultvfs\x00pagesize\x00VFS does not support xSetSystemCall\x00test_syscall\x00load_testfixture_extensions\x00SLAVE\x00CREATE TABLE x( name TEXT, arrayname TEXT, value TEXT, fullname TEXT PRIMARY KEY) WITHOUT ROWID\x00array names\x00tclvar_filter_cmd\x00%s(%s)\x00expr {[info exists ::tclvar_set_omit] && $::tclvar_set_omit}\x00the 'fullname' column must be TEXT\x00prohibited TCL variable change\x00proc like {pattern str} {\n set p [string map {% * _ ?} $pattern]\n string match $p $str\n}\nproc tclvar_filter_cmd {eq match glob regexp like} {\n set res {}\n set pattern $eq\n if {$pattern=={}} { set pattern $match }\n if {$pattern=={}} { set pattern * }\n foreach v [uplevel #0 info vars $pattern] {\n if {($glob=={} || [string match $glob [uplevel #0 set $v]])\n && ($like=={} || [like $like [uplevel #0 set $v]])\n && ($regexp=={} || [regexp $regexp [uplevel #0 set $v]])\n } {\n lappend res $v\n }\n }\n set res\n}\n\x00register_tclvar_module\x00clock_seconds\x00sqlthread\x00sqlite3_blocking_step\x00sqlite3_blocking_prepare_v2\x00sqlite3_nonblocking_prepare_v2\x00set\x00Error in Tcl_CreateThread()\x00no parent thread\x00parent\x00spawn\x00VARNAME SCRIPT\x00DBNAME\x00id\x00%s \x00SQLITE_IOERR\x00SQLITE_LOCKED\x00SQLITE_BUSY\x00SQLITE_READONLY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_NOTFOUND\x00SQLITE_OMIT\x00normal|dataonly\x00full|dataonly\x00xCheckReservedLock\x00BEGIN_ATOMIC_WRITE\x00COMMIT_ATOMIC_WRITE\x00ZIPVFS\x00anon\x00SQLITE_ACCESS_EXISTS\x00SQLITE_ACCESS_READWRITE\x00SQLITE_ACCESS_READ\x00xShmOpen\x00 lock\x00 unlock\x00 shared\x00 exclusive\x00shm\x00filter\x00ioerr\x00fullerr\x00cantopenerr\x00script\x00devchar\x00sectorsize\x00subcommand\x00FILE ?VALUE?\x00failed to get full path: \x00no such file: \x00unknown method: \x00?CNT PERSIST?\x00default\x00undeletable_when_open\x00immutable\x00?ATTR-LIST?\x00bad flags: \x00?VALUE?\x00-noshm\x00-szosfile\x00-mxpathname\x00-iversion\x00-fullshm\x00VFSNAME ?-noshm BOOL? ?-fullshm BOOL? ?-default BOOL? ?-mxpathname INT? ?-szosfile INT? ?-iversion INT?\x00shared\x00lock\x00unlock\x00DB DBNAME (shared|exclusive) (lock|unlock) OFFSET N\x00ARG\x00DB DBNAME SLOT ?VALUE?\x00*-shm is not yet mapped\x00testvfs\x00vfs_shmlock\x00vfs_set_readmark\x00DB NAME XSTEP XFINAL XVALUE XINVERSE\x00fff\x00misuse test error\x00invalid argument\x00sumint\x00sum\x00sqlite3_create_window_function\x00test_create_window_function_misuse\x00test_create_sumint\x00test_override_sum\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/internal/testfixture/testfixture_linux_arm.go b/internal/testfixture/testfixture_linux_arm.go index ec685da..c6e38be 100644 --- a/internal/testfixture/testfixture_linux_arm.go +++ b/internal/testfixture/testfixture_linux_arm.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -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 -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_linux_arm.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -lmodernc.org/sqlite/internal/libc2', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -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 -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_linux_arm.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/session/test_session.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -lmodernc.org/sqlite/internal/libc2', DO NOT EDIT. package main @@ -80,6 +80,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -209,6 +220,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_STMTVTAB = 1 @@ -445,6 +457,8 @@ const ( SQLITE_SERIALIZE_NOCOPY = 0x001 SQLITE_SERIES_CONSTRAINT_VERIFY = 1 SQLITE_SERVER = 1 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -1559,6 +1573,7 @@ const ( SQLITE_RBU_STATE_MOVE = 2 SQLITE_RBU_STATE_OAL = 1 X_SQLITE3RBU_H = 0 + SESSION_STREAM_TCL_VAR = "sqlite3session_streams" MAX_PREPARED_STMTS = 100 MINSIGSTKSZ = 2048 NGREG = 18 @@ -3540,6 +3555,10 @@ const ( /* resource.h:158:1: */ // All of its terminated child processes. RUSAGE_CHILDREN = -1 +) + +// Whose usage statistics do you want? +const ( /* resource.h:158:1: */ // The calling thread. RUSAGE_THREAD = 1 ) @@ -3554,9 +3573,15 @@ const ( /* resource.h:187:1: */ PRIO_USER = 2 ) -// Convenience macros for operations on timevals. -// NOTE: `timercmp' does not work for >= or <=. +// end block for C++ +// Local Variables: +// mode: c +// c-basic-offset: 4 +// fill-column: 78 +// End: + +// Needed for the setrlimit() system call on unix // Copyright (C) 1992-2018 Free Software Foundation, Inc. // This file is part of the GNU C Library. // @@ -3913,24 +3938,6 @@ const ( /* waitflags.h:52:1: */ P_PGID = 2 ) -// Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface. -// Copyright (C) 1996-2018 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - // Copyright (C) 1991-2018 Free Software Foundation, Inc. // This file is part of the GNU C Library. // @@ -7023,10 +7030,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -7077,10 +7083,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -35861,6 +35866,1551 @@ var aObjCmd = [5]struct { {FzName: ts + 10499 /* "sqlite3rbu_inter..." */, FxProc: 0}, } /* test_rbu.c:369:5 */ +type TestSession1 = struct { + FpSession uintptr + Finterp uintptr + FpFilterScript uintptr +} /* test_session.c:21:9 */ + +type TestSession = TestSession1 /* test_session.c:21:28 */ + +type TestStreamInput1 = struct { + FnStream int32 + FaData uintptr + FnData int32 + FiData int32 +} /* test_session.c:28:9 */ + +type TestStreamInput = TestStreamInput1 /* test_session.c:28:32 */ + +// Extract an sqlite3* db handle from the object passed as the second +// argument. If successful, set *pDb to point to the db handle and return +// TCL_OK. Otherwise, return TCL_ERROR. +func dbHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, pDb uintptr) int32 { /* test_session.c:41:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + // var info Tcl_CmdInfo at bp+24, 32 + + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, pObj), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, pObj), 0)) + return TCL_ERROR + } + + *(*uintptr)(unsafe.Pointer(pDb)) = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + return TCL_OK +} + +/************************************************************************* +** The following code is copied byte-for-byte from the sessions module +** documentation. It is used by some of the sessions modules tests to +** ensure that the example in the documentation does actually work. + */ +// Argument zSql points to a buffer containing an SQL script to execute +// against the database handle passed as the first argument. As well as +// executing the SQL script, this function collects a changeset recording +// all changes made to the "main" database file. Assuming no error occurs, +// output variables (*ppChangeset) and (*pnChangeset) are set to point +// to a buffer containing the changeset and the size of the changeset in +// bytes before returning SQLITE_OK. In this case it is the responsibility +// of the caller to eventually free the changeset blob by passing it to +// the sqlite3_free function. +// +// Or, if an error does occur, return an SQLite error code. The final +// value of (*pChangeset) and (*pnChangeset) are undefined in this case. +func sql_exec_changeset(tls *libc.TLS, db uintptr, zSql uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* test_session.c:71:5: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pSession */)) = uintptr(0) + var rc int32 + + // Create a new session object + rc = sqlite3.Xsqlite3session_create(tls, db, ts+85 /* "main" */, bp /* &pSession */) + + // Configure the session object to record changes to all tables + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3session_attach(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */)), uintptr(0)) + } + + // Execute the SQL script + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) + } + + // Collect the changeset + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3session_changeset(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */)), pnChangeset, ppChangeset) + } + + // Delete the session object + sqlite3.Xsqlite3session_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */))) + + return rc +} + +//********************************************************************** + +// Tclcmd: sql_exec_changeset DB SQL +func test_sql_exec_changeset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:104:26: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var zSql uintptr + // var db uintptr at bp+16, 4 + + // var pChangeset uintptr at bp+24, 4 + + // var nChangeset int32 at bp+20, 4 + + var rc int32 + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10524 /* "DB SQL" */) + return TCL_ERROR + } + if dbHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+16 /* &db */) != 0 { + return TCL_ERROR + } + zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) + + rc = sql_exec_changeset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zSql, bp+20 /* &nChangeset */, bp+24 /* &pChangeset */) + if rc != SQLITE_OK { + tcl.XTcl_ResetResult(tls, interp) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10531 /* "error in sql_exe..." */, 0)) + return TCL_ERROR + } + + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pChangeset */)), *(*int32)(unsafe.Pointer(bp + 20 /* nChangeset */)))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pChangeset */))) + return TCL_OK +} + +// Attempt to find the global variable zVar within interpreter interp +// and extract an integer value from it. Return this value. +// +// If the named variable cannot be found, or if it cannot be interpreted +// as a integer, return 0. +func test_tcl_integer(tls *libc.TLS, interp uintptr, zVar uintptr) int32 { /* test_session.c:146:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var pObj uintptr + *(*int32)(unsafe.Pointer(bp /* iVal */)) = 0 + var pName uintptr = tcl.XTcl_NewStringObj(tls, zVar, -1) + (*Tcl_Obj)(unsafe.Pointer(pName)).FrefCount++ + pObj = tcl.XTcl_ObjGetVar2(tls, interp, pName, uintptr(0), TCL_GLOBAL_ONLY) + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pName + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + if pObj != 0 { + tcl.XTcl_GetIntFromObj(tls, uintptr(0), pObj, bp /* &iVal */) + } + return *(*int32)(unsafe.Pointer(bp /* iVal */)) +} + +func test_session_error(tls *libc.TLS, interp uintptr, rc int32, zErr uintptr) int32 { /* test_session.c:157:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) + if zErr != 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10280 /* " - " */, zErr, 0)) + sqlite3.Xsqlite3_free(tls, zErr) + } + return TCL_ERROR +} + +func test_table_filter(tls *libc.TLS, pCtx uintptr, zTbl uintptr) int32 { /* test_session.c:167:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + var pEval uintptr + var rc int32 + *(*int32)(unsafe.Pointer(bp /* bRes */)) = 0 + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestSession)(unsafe.Pointer(p)).FpFilterScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + rc = tcl.XTcl_ListObjAppendElement(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, zTbl, -1)) + if rc == TCL_OK { + rc = tcl.XTcl_EvalObjEx(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, TCL_EVAL_GLOBAL) + } + if rc == TCL_OK { + rc = tcl.XTcl_GetBooleanFromObj(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, tcl.XTcl_GetObjResult(tls, (*TestSession)(unsafe.Pointer(p)).Finterp), bp /* &bRes */) + } + if rc != TCL_OK { + // printf("error: %s\n", Tcl_GetStringResult(p->interp)); + tcl.XTcl_BackgroundError(tls, (*TestSession)(unsafe.Pointer(p)).Finterp) + } + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + + return *(*int32)(unsafe.Pointer(bp /* bRes */)) +} + +type TestSessionsBlob1 = struct { + Fp uintptr + Fn int32 +} /* test_session.c:191:1 */ + +type TestSessionsBlob = TestSessionsBlob1 /* test_session.c:195:33 */ + +func testStreamOutput(tls *libc.TLS, pCtx uintptr, pData uintptr, nData int32) int32 { /* test_session.c:197:12: */ + var pBlob uintptr = pCtx + var pNew uintptr + + pNew = sqlite3.Xsqlite3_realloc(tls, (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp, ((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn + nData)) + if pNew == uintptr(0) { + return SQLITE_NOMEM + } + (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp = pNew + libc.Xmemcpy(tls, (pNew + uintptr((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn)), pData, uint32(nData)) + *(*int32)(unsafe.Pointer(pBlob + 4 /* &.n */)) += (nData) + return SQLITE_OK +} + +// Tclcmd: $session attach TABLE +// $session changeset +// $session delete +// $session enable BOOL +// $session indirect INTEGER +// $session patchset +// $session table_filter SCRIPT +func test_session_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:225:26: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var p uintptr = clientData + var pSession uintptr = (*TestSession)(unsafe.Pointer(p)).FpSession + // var iSub int32 at bp, 4 + + var rc int32 + + if objc < 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1860 /* "SUBCOMMAND ..." */) + return TCL_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&aSub)), int32(unsafe.Sizeof(SessionSubcmd{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if objc != (2 + aSub[*(*int32)(unsafe.Pointer(bp /* iSub */))].FnArg) { + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub[*(*int32)(unsafe.Pointer(bp /* iSub */))].FzMsg) + return TCL_ERROR + } + + switch *(*int32)(unsafe.Pointer(bp /* iSub */)) { + case 0: + { // attach + var zArg uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) + if (int32(*(*int8)(unsafe.Pointer(zArg))) == '*') && (int32(*(*int8)(unsafe.Pointer(zArg + 1))) == 0) { + zArg = uintptr(0) + } + rc = sqlite3.Xsqlite3session_attach(tls, pSession, zArg) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + break + + } + + case 7: + fallthrough // patchset + case 1: + { // changeset + *(*TestSessionsBlob)(unsafe.Pointer(bp + 4 /* o */)) = TestSessionsBlob{} + if test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) != 0 { + var pCtx uintptr = bp + 4 /* &o */ + if *(*int32)(unsafe.Pointer(bp /* iSub */)) == 7 { + rc = sqlite3.Xsqlite3session_patchset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), pCtx) + } else { + rc = sqlite3.Xsqlite3session_changeset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), pCtx) + } + } else { + if *(*int32)(unsafe.Pointer(bp /* iSub */)) == 7 { + rc = sqlite3.Xsqlite3session_patchset(tls, pSession, (bp + 4 /* &o */ + 4 /* &.n */), (bp + 4 /* &o */ /* &.p */)) + } else { + rc = sqlite3.Xsqlite3session_changeset(tls, pSession, (bp + 4 /* &o */ + 4 /* &.n */), (bp + 4 /* &o */ /* &.p */)) + } + } + if rc == SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+4 /* &o */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+4 /* &o */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+4 /* &o */)).Fp) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + break + + } + + case 2: // delete + tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))) + break + + case 3: + { // enable + // var val int32 at bp+12, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+12 /* &val */) != 0 { + return TCL_ERROR + } + *(*int32)(unsafe.Pointer(bp + 12 /* val */)) = sqlite3.Xsqlite3session_enable(tls, pSession, *(*int32)(unsafe.Pointer(bp + 12 /* val */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 12 /* val */))) != 0)))) + break + + } + + case 4: + { // indirect + // var val int32 at bp+16, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+16 /* &val */) != 0 { + return TCL_ERROR + } + *(*int32)(unsafe.Pointer(bp + 16 /* val */)) = sqlite3.Xsqlite3session_indirect(tls, pSession, *(*int32)(unsafe.Pointer(bp + 16 /* val */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 16 /* val */))) != 0)))) + break + + } + + case 5: + { // isempty + var val int32 + val = sqlite3.Xsqlite3session_isempty(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((val) != 0)))) + break + + } + + case 6: + { // table_filter + if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 { + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = (*TestSession)(unsafe.Pointer(p)).FpFilterScript + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + } + (*TestSession)(unsafe.Pointer(p)).Finterp = interp + (*TestSession)(unsafe.Pointer(p)).FpFilterScript = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) + (*Tcl_Obj)(unsafe.Pointer((*TestSession)(unsafe.Pointer(p)).FpFilterScript)).FrefCount++ + sqlite3.Xsqlite3session_table_filter(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_table_filter})), clientData) + break + + } + + case 8: + { // diff + *(*uintptr)(unsafe.Pointer(bp + 20 /* zErr */)) = uintptr(0) + rc = sqlite3.Xsqlite3session_diff(tls, pSession, + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))), + bp+20 /* &zErr */) + + if rc != 0 { + return test_session_error(tls, interp, rc, *(*uintptr)(unsafe.Pointer(bp + 20 /* zErr */))) + } + break + + } + + case 9: + { // memory_used + var nMalloc sqlite3_int64 = sqlite3.Xsqlite3session_memory_used(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, nMalloc)) + break + + } + + case 10: + { + var nSize sqlite3_int64 = sqlite3.Xsqlite3session_changeset_size(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, nSize)) + break + + } + case 11: + { + var rc int32 + // var iArg int32 at bp+24, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+24 /* &iArg */) != 0 { + return TCL_ERROR + } + rc = sqlite3.Xsqlite3session_object_config(tls, + pSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+24 /* &iArg */) + if rc != SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 24 /* iArg */)))) + } + break + + } + } + + return TCL_OK +} + +type SessionSubcmd = struct { + FzSub uintptr + FnArg int32 + FzMsg uintptr + FiSub int32 +} /* test_session.c:233:10 */ + +var aSub = [13]SessionSubcmd{ + {FzSub: ts + 10584 /* "attach" */, FnArg: 1, FzMsg: ts + 1812 /* "TABLE" */}, // 0 + {FzSub: ts + 10591 /* "changeset" */, FzMsg: ts + 489 /* "" */}, // 1 + {FzSub: ts + 10601 /* "delete" */, FzMsg: ts + 489 /* "" */}, // 2 + {FzSub: ts + 10608 /* "enable" */, FnArg: 1, FzMsg: ts + 10615 /* "BOOL" */}, // 3 + {FzSub: ts + 10620 /* "indirect" */, FnArg: 1, FzMsg: ts + 10615 /* "BOOL" */}, // 4 + {FzSub: ts + 10629 /* "isempty" */, FzMsg: ts + 489 /* "" */}, // 5 + {FzSub: ts + 10637 /* "table_filter" */, FnArg: 1, FzMsg: ts + 10650 /* "SCRIPT" */}, // 6 + {FzSub: ts + 10657 /* "patchset" */, FzMsg: ts + 489 /* "" */}, // 7 + {FzSub: ts + 10666 /* "diff" */, FnArg: 2, FzMsg: ts + 10671 /* "FROMDB TBL" */}, // 8 + {FzSub: ts + 10682 /* "memory_used" */, FzMsg: ts + 489 /* "" */}, // 9 + {FzSub: ts + 10694 /* "changeset_size" */, FzMsg: ts + 489 /* "" */}, // 10 + {FzSub: ts + 10709 /* "object_config_si..." */, FnArg: 1, FzMsg: ts + 2274 /* "INTEGER" */}, // 11 + {}, +} /* test_session.c:238:5 */ + +func test_session_del(tls *libc.TLS, clientData uintptr) { /* test_session.c:390:27: */ + var p uintptr = clientData + if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 { + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = (*TestSession)(unsafe.Pointer(p)).FpFilterScript + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + } + sqlite3.Xsqlite3session_delete(tls, (*TestSession)(unsafe.Pointer(p)).FpSession) + tcl.XTcl_Free(tls, p) +} + +// Tclcmd: sqlite3session CMD DB-HANDLE DB-NAME +func test_sqlite3session(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:400:26: */ + bp := tls.Alloc(60) + defer tls.Free(60) + + var db uintptr + // var info Tcl_CmdInfo at bp+24, 32 + + var rc int32 // sqlite3session_create() return code + var p uintptr // New wrapper object + *(*int32)(unsafe.Pointer(bp + 56 /* iArg */)) = -1 + + if objc != 4 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10728 /* "CMD DB-HANDLE DB..." */) + return TCL_ERROR + } + + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + + p = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(TestSession{}))) + libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(TestSession{}))) + rc = sqlite3.Xsqlite3session_create(tls, db, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))), (p /* &.pSession */)) + if rc != SQLITE_OK { + tcl.XTcl_Free(tls, p) + return test_session_error(tls, interp, rc, uintptr(0)) + } + + // Query the SQLITE_SESSION_OBJCONFIG_SIZE option to ensure that it + // is clear by default. Then set it. + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+56 /* &iArg */) + + *(*int32)(unsafe.Pointer(bp + 56 /* iArg */)) = 1 + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+56 /* &iArg */) + + tcl.XTcl_CreateObjCommand(tls, + interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_session_cmd})), p, + *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_session_del}))) + tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4))) + return TCL_OK +} + +func test_append_value(tls *libc.TLS, pList uintptr, pVal uintptr) { /* test_session.c:446:13: */ + if pVal == uintptr(0) { + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls)) + } else { + var pObj uintptr + switch sqlite3.Xsqlite3_value_type(tls, pVal) { + case SQLITE_NULL: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10750 /* "n" */, 1)) + pObj = tcl.XTcl_NewObj(tls) + break + fallthrough + case SQLITE_INTEGER: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10752 /* "i" */, 1)) + pObj = tcl.XTcl_NewWideIntObj(tls, sqlite3.Xsqlite3_value_int64(tls, pVal)) + break + fallthrough + case SQLITE_FLOAT: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10754 /* "f" */, 1)) + pObj = tcl.XTcl_NewDoubleObj(tls, sqlite3.Xsqlite3_value_double(tls, pVal)) + break + fallthrough + case SQLITE_TEXT: + { + var z uintptr = sqlite3.Xsqlite3_value_blob(tls, pVal) + var n int32 = sqlite3.Xsqlite3_value_bytes(tls, pVal) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10756 /* "t" */, 1)) + pObj = tcl.XTcl_NewStringObj(tls, z, n) + break + + } + fallthrough + default: + + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10758 /* "b" */, 1)) + pObj = tcl.XTcl_NewByteArrayObj(tls, + sqlite3.Xsqlite3_value_blob(tls, pVal), + sqlite3.Xsqlite3_value_bytes(tls, pVal)) + break + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, pObj) + } +} + +type TestConflictHandler1 = struct { + Finterp uintptr + FpConflictScript uintptr + FpFilterScript uintptr +} /* test_session.c:485:9 */ + +type TestConflictHandler = TestConflictHandler1 /* test_session.c:485:36 */ + +func test_obj_eq_string(tls *libc.TLS, p uintptr, z uintptr) int32 { /* test_session.c:492:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var n int32 + // var nObj int32 at bp, 4 + + var zObj uintptr + + n = int32(libc.Xstrlen(tls, z)) + zObj = tcl.XTcl_GetStringFromObj(tls, p, bp /* &nObj */) + + return (libc.Bool32((*(*int32)(unsafe.Pointer(bp /* nObj */)) == n) && ((n == 0) || (0 == libc.Xmemcmp(tls, zObj, z, uint32(n)))))) +} + +func test_filter_handler(tls *libc.TLS, pCtx uintptr, zTab uintptr) int32 { /* test_session.c:503:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*int32)(unsafe.Pointer(bp /* res */)) = 1 + var pEval uintptr + var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpFilterScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + + if ((TCL_OK != tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, zTab, -1))) || + (TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL))) || + (TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, tcl.XTcl_GetObjResult(tls, interp), bp /* &res */)) { + tcl.XTcl_BackgroundError(tls, interp) + } + + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + return *(*int32)(unsafe.Pointer(bp /* res */)) +} + +func test_conflict_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 { /* test_session.c:526:12: */ + bp := tls.Alloc(60) + defer tls.Free(60) + + var p uintptr = pCtx + var pEval uintptr + var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp + *(*int32)(unsafe.Pointer(bp + 56 /* ret */)) = 0 // Return value + + // var op int32 at bp+8, 4 + // SQLITE_UPDATE, DELETE or INSERT + // var zTab uintptr at bp, 4 + // Name of table conflict is on + // var nCol int32 at bp+4, 4 + // Number of columns in table zTab + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpConflictScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + + sqlite3.Xsqlite3changeset_op(tls, pIter, bp /* &zTab */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + + if eConf == SQLITE_CHANGESET_FOREIGN_KEY { + // var nFk int32 at bp+12, 4 + + sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+12 /* &nFk */) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, ts+10760 /* "FOREIGN_KEY" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 12 /* nFk */)))) + } else { + + // Append the operation type. + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_INSERT { + return ts + 10772 /* "INSERT" */ + } + return func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_UPDATE { + return ts + 10779 /* "UPDATE" */ + } + return ts + 10786 /* "DELETE" */ + }() + }(), -1)) + + // Append the table name. + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp /* zTab */)), -1)) + + // Append the conflict type. + switch eConf { + case SQLITE_CHANGESET_DATA: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10793 /* "DATA" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_NOTFOUND: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10798 /* "NOTFOUND" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_CONFLICT: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10807 /* "CONFLICT" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_CONSTRAINT: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10816 /* "CONSTRAINT" */, -1)) + break + } + + // If this is not an INSERT, append the old row + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) != SQLITE_INSERT { + var i int32 + var pOld uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)); i++ { + // var pVal uintptr at bp+16, 4 + + sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+16 /* &pVal */) + test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pOld) + } + + // If this is not a DELETE, append the new row + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) != SQLITE_DELETE { + var i int32 + var pNew uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)); i++ { + // var pVal uintptr at bp+20, 4 + + sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+20 /* &pVal */) + test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 20 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pNew) + } + + // If this is a CHANGESET_DATA or CHANGESET_CONFLICT conflict, append + // the conflicting row. + if (eConf == SQLITE_CHANGESET_DATA) || (eConf == SQLITE_CHANGESET_CONFLICT) { + var i int32 + var pConflict uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)); i++ { + var rc int32 + _ = rc + // var pVal uintptr at bp+24, 4 + + rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, i, bp+24 /* &pVal */) + + test_append_value(tls, pConflict, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pConflict) + } + + // ********************************************************************** + // + // This block is purely for testing some error conditions. + if (eConf == SQLITE_CHANGESET_CONSTRAINT) || + (eConf == SQLITE_CHANGESET_NOTFOUND) { + // var pVal uintptr at bp+28, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, 0, bp+28 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+32, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, -1, bp+32 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), bp+32 /* &pVal */) + + } + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_DELETE { + // var pVal uintptr at bp+36, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, 0, bp+36 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+40, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, -1, bp+40 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_new(tls, pIter, *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), bp+40 /* &pVal */) + + } + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_INSERT { + // var pVal uintptr at bp+44, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, 0, bp+44 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+48, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, -1, bp+48 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_old(tls, pIter, *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), bp+48 /* &pVal */) + + } + if eConf != SQLITE_CHANGESET_FOREIGN_KEY { + // eConf!=FOREIGN_KEY is always true at this point. The condition is + // just there to make it clearer what is being tested. + // var nDummy int32 at bp+52, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+52 /* &nDummy */) + _ = rc + + } + // End of testing block + // + } + + if TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL) { + tcl.XTcl_BackgroundError(tls, interp) + } else { + var pRes uintptr = tcl.XTcl_GetObjResult(tls, interp) + if (test_obj_eq_string(tls, pRes, ts+10827 /* "OMIT" */) != 0) || (test_obj_eq_string(tls, pRes, ts+489 /* "" */) != 0) { + *(*int32)(unsafe.Pointer(bp + 56 /* ret */)) = SQLITE_CHANGESET_OMIT + } else if test_obj_eq_string(tls, pRes, ts+7292 /* "REPLACE" */) != 0 { + *(*int32)(unsafe.Pointer(bp + 56 /* ret */)) = SQLITE_CHANGESET_REPLACE + } else if test_obj_eq_string(tls, pRes, ts+7286 /* "ABORT" */) != 0 { + *(*int32)(unsafe.Pointer(bp + 56 /* ret */)) = SQLITE_CHANGESET_ABORT + } else { + tcl.XTcl_GetIntFromObj(tls, uintptr(0), pRes, bp+56 /* &ret */) + } + } + + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + return *(*int32)(unsafe.Pointer(bp + 56 /* ret */)) +} + +// The conflict handler used by sqlite3changeset_apply_replace_all(). +// This conflict handler calls sqlite3_value_text16() on all available +// sqlite3_value objects and then returns CHANGESET_REPLACE, or +// CHANGESET_OMIT if REPLACE is not applicable. This is used to test the +// effect of a malloc failure within an sqlite3_value_xxx() function +// invoked by a conflict-handler callback. +func replace_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 { /* test_session.c:693:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + // var op int32 at bp+8, 4 + // SQLITE_UPDATE, DELETE or INSERT + // var zTab uintptr at bp, 4 + // Name of table conflict is on + // var nCol int32 at bp+4, 4 + // Number of columns in table zTab + var i int32 + var x int32 = 0 + + sqlite3.Xsqlite3changeset_op(tls, pIter, bp /* &zTab */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) != SQLITE_INSERT { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)); i++ { + // var pVal uintptr at bp+12, 4 + + sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+12 /* &pVal */) + sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pVal */))) + x++ + } + } + + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) != SQLITE_DELETE { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)); i++ { + // var pVal uintptr at bp+16, 4 + + sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+16 /* &pVal */) + sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) + x++ + } + } + + if eConf == SQLITE_CHANGESET_DATA { + return SQLITE_CHANGESET_REPLACE + } + return SQLITE_CHANGESET_OMIT +} + +func testStreamInput(tls *libc.TLS, pCtx uintptr, pData uintptr, pnData uintptr) int32 { /* test_session.c:730:12: */ + var p uintptr = pCtx + var nReq int32 = *(*int32)(unsafe.Pointer(pnData)) // Bytes of data requested + var nRem int32 = ((*TestStreamInput)(unsafe.Pointer(p)).FnData - (*TestStreamInput)(unsafe.Pointer(p)).FiData) // Bytes of data available + var nRet int32 = (*TestStreamInput)(unsafe.Pointer(p)).FnStream // Bytes actually returned + + // Allocate and free some space. There is no point to this, other than + // that it allows the regular OOM fault-injection tests to cause an error + // in this function. + var pAlloc uintptr = sqlite3.Xsqlite3_malloc(tls, 10) + if pAlloc == uintptr(0) { + return SQLITE_NOMEM + } + sqlite3.Xsqlite3_free(tls, pAlloc) + + if nRet > nReq { + nRet = nReq + } + if nRet > nRem { + nRet = nRem + } + + if nRet > 0 { + libc.Xmemcpy(tls, pData, ((*TestStreamInput)(unsafe.Pointer(p)).FaData + uintptr((*TestStreamInput)(unsafe.Pointer(p)).FiData)), uint32(nRet)) + *(*int32)(unsafe.Pointer(p + 12 /* &.iData */)) += (nRet) + } + + *(*int32)(unsafe.Pointer(pnData)) = nRet + return SQLITE_OK +} + +func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:761:26: */ + bp := tls.Alloc(96) + defer tls.Free(96) + + var db uintptr // Database handle + // var info Tcl_CmdInfo at bp+40, 32 + // Database Tcl command (objv[1]) info + var rc int32 // Return code from changeset_invert() + var pChangeset uintptr // Buffer containing changeset + // var nChangeset int32 at bp+72, 4 + // Size of buffer aChangeset in bytes + // var ctx TestConflictHandler at bp+76, 12 + + // var sStr TestStreamInput at bp+24, 16 + + *(*uintptr)(unsafe.Pointer(bp + 88 /* pRebase */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 92 /* nRebase */)) = 0 + var flags int32 = 0 // Flags for apply_v2() + + libc.Xmemset(tls, bp+24 /* &sStr */, 0, uint32(unsafe.Sizeof(TestStreamInput{}))) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + + // Check for the -nosavepoint flag + if bV2 != 0 { + if objc > 1 { + var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) + var n int32 = int32(libc.Xstrlen(tls, z1)) + if ((n > 1) && (n <= 12)) && (0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10832 /* "-nosavepoint" */, z1, n)) { + flags = flags | (SQLITE_CHANGESETAPPLY_NOSAVEPOINT) + objc-- + objv += 4 + } + } + if objc > 1 { + var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) + var n int32 = int32(libc.Xstrlen(tls, z1)) + if ((n > 1) && (n <= 7)) && (0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10845 /* "-invert" */, z1, n)) { + flags = flags | (SQLITE_CHANGESETAPPLY_INVERT) + objc-- + objv += 4 + } + } + } + + if (objc != 4) && (objc != 5) { + var zMsg uintptr + if bV2 != 0 { + zMsg = ts + 10853 /* "?-nosavepoint? ?..." */ + } else { + zMsg = ts + 10924 /* "DB CHANGESET CON..." */ + } + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zMsg) + return TCL_ERROR + } + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+40 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 40 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+72 /* &nChangeset */) + (*TestConflictHandler)(unsafe.Pointer(bp + 76 /* &ctx */)).FpConflictScript = *(*uintptr)(unsafe.Pointer(objv + 3*4)) + (*TestConflictHandler)(unsafe.Pointer(bp + 76 /* &ctx */)).FpFilterScript = func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(objv + 4*4)) + } + return uintptr(0) + }() + (*TestConflictHandler)(unsafe.Pointer(bp + 76 /* &ctx */)).Finterp = interp + + if (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sStr */)).FnStream == 0 { + if bV2 == 0 { + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 72 /* nChangeset */)), pChangeset, + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+76 /* &ctx */) + } else { + rc = sqlite3.Xsqlite3changeset_apply_v2(tls, db, *(*int32)(unsafe.Pointer(bp + 72 /* nChangeset */)), pChangeset, + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+76, /* &ctx */ + bp+88 /* &pRebase */, bp+92 /* &nRebase */, flags) + } + } else { + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 72 /* nChangeset */)) + if bV2 == 0 { + rc = sqlite3.Xsqlite3changeset_apply_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sStr */ + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+76 /* &ctx */) + } else { + rc = sqlite3.Xsqlite3changeset_apply_v2_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sStr */ + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+76, /* &ctx */ + bp+88 /* &pRebase */, bp+92 /* &nRebase */, flags) + } + } + + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_ResetResult(tls, interp) + if (bV2 != 0) && (*(*uintptr)(unsafe.Pointer(bp + 88 /* pRebase */)) != 0) { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pRebase */)), *(*int32)(unsafe.Pointer(bp + 92 /* nRebase */)))) + } + } + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pRebase */))) + return TCL_OK +} + +// sqlite3changeset_apply DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT? +func test_sqlite3changeset_apply(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:868:26: */ + return testSqlite3changesetApply(tls, 0, clientData, interp, objc, objv) +} + +// sqlite3changeset_apply_v2 DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT? +func test_sqlite3changeset_apply_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:879:26: */ + return testSqlite3changesetApply(tls, 1, clientData, interp, objc, objv) +} + +// sqlite3changeset_apply_replace_all DB CHANGESET +func test_sqlite3changeset_apply_replace_all(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:891:26: */ + bp := tls.Alloc(60) + defer tls.Free(60) + + var db uintptr // Database handle + // var info Tcl_CmdInfo at bp+24, 32 + // Database Tcl command (objv[1]) info + var rc int32 // Return code from changeset_invert() + var pChangeset uintptr // Buffer containing changeset + // var nChangeset int32 at bp+56, 4 + // Size of buffer aChangeset in bytes + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10969 /* "DB CHANGESET" */) + return TCL_ERROR + } + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+56 /* &nChangeset */) + + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 56 /* nChangeset */)), pChangeset, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{replace_handler})), uintptr(0)) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + tcl.XTcl_ResetResult(tls, interp) + return TCL_OK +} + +// sqlite3changeset_invert CHANGESET +func test_sqlite3changeset_invert(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:926:26: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var rc int32 // Return code from changeset_invert() + // var sIn TestStreamInput at bp, 16 + // Input stream + // var sOut TestSessionsBlob at bp+16, 8 + // Output blob + + if objc != 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10982 /* "CHANGESET" */) + return TCL_ERROR + } + + libc.Xmemset(tls, bp /* &sIn */, 0, uint32(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+16 /* &sOut */, 0, uint32(unsafe.Sizeof(TestSessionsBlob{}))) + (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)), (bp /* &sIn */ + 8 /* &.nData */)) + + if (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnStream != 0 { + rc = sqlite3.Xsqlite3changeset_invert_strm(tls, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp /* &sIn */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+16 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3changeset_invert(tls, (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FaData, (bp + 16 /* &sOut */ + 4 /* &.n */), (bp + 16 /* &sOut */ /* &.p */)) + } + if rc != SQLITE_OK { + rc = test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+16 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+16 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+16 /* &sOut */)).Fp) + return rc +} + +// sqlite3changeset_concat LEFT RIGHT +func test_sqlite3changeset_concat(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:965:26: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var rc int32 // Return code from changeset_invert() + + // var sLeft TestStreamInput at bp, 16 + // Input stream + // var sRight TestStreamInput at bp+16, 16 + // Input stream + *(*TestSessionsBlob)(unsafe.Pointer(bp + 32 /* sOut */)) = TestSessionsBlob{} // Output blob + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10992 /* "LEFT RIGHT" */) + return TCL_ERROR + } + + libc.Xmemset(tls, bp /* &sLeft */, 0, uint32(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+16 /* &sRight */, 0, uint32(unsafe.Sizeof(TestStreamInput{}))) + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)), (bp /* &sLeft */ + 8 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp + 16 /* &sRight */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), (bp + 16 /* &sRight */ + 8 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + (*TestStreamInput)(unsafe.Pointer(bp + 16 /* &sRight */)).FnStream = (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream + + if (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream > 0 { + rc = sqlite3.Xsqlite3changeset_concat_strm(tls, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp, /* &sLeft */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+16, /* &sRight */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+32 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3changeset_concat(tls, + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FaData, (*TestStreamInput)(unsafe.Pointer(bp+16 /* &sRight */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+16 /* &sRight */)).FaData, (bp + 32 /* &sOut */ + 4 /* &.n */), (bp + 32 /* &sOut */ /* &.p */)) + } + + if rc != SQLITE_OK { + rc = test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fp) + return rc +} + +// sqlite3session_foreach VARNAME CHANGESET SCRIPT +func test_sqlite3session_foreach(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1013:26: */ + bp := tls.Alloc(60) + defer tls.Free(60) + + var pChangeset uintptr + // var nChangeset int32 at bp+16, 4 + + // var pIter uintptr at bp+20, 4 + + var rc int32 + var pVarname uintptr + var pCS uintptr + var pScript uintptr + var isCheckNext int32 = 0 + var isInvert int32 = 0 + // var sStr TestStreamInput at bp, 16 + + libc.Xmemset(tls, bp /* &sStr */, 0, uint32(unsafe.Sizeof(TestStreamInput{}))) + + for objc > 1 { + var zOpt uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) + var nOpt int32 = int32(libc.Xstrlen(tls, zOpt)) + if int32(*(*int8)(unsafe.Pointer(zOpt))) != '-' { + break + } + if (nOpt <= 7) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+10845 /* "-invert" */, nOpt)) { + isInvert = 1 + } else if (nOpt <= 5) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+11003 /* "-next" */, nOpt)) { + isCheckNext = 1 + } else { + break + } + objv += 4 + objc-- + } + if objc != 4 { + tcl.XTcl_WrongNumArgs(tls, + interp, 1, objv, ts+11009 /* "?-next? ?-invert..." */) + return TCL_ERROR + } + + pVarname = *(*uintptr)(unsafe.Pointer(objv + 1*4)) + pCS = *(*uintptr)(unsafe.Pointer(objv + 2*4)) + pScript = *(*uintptr)(unsafe.Pointer(objv + 3*4)) + + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, pCS, bp+16 /* &nChangeset */) + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + if isInvert != 0 { + var f int32 = SQLITE_CHANGESETSTART_INVERT + if (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream == 0 { + rc = sqlite3.Xsqlite3changeset_start_v2(tls, bp+20 /* &pIter */, *(*int32)(unsafe.Pointer(bp + 16 /* nChangeset */)), pChangeset, f) + } else { + var pCtx uintptr = bp /* &sStr */ + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 16 /* nChangeset */)) + rc = sqlite3.Xsqlite3changeset_start_v2_strm(tls, bp+20 /* &pIter */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), pCtx, f) + } + } else { + if (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream == 0 { + rc = sqlite3.Xsqlite3changeset_start(tls, bp+20 /* &pIter */, *(*int32)(unsafe.Pointer(bp + 16 /* nChangeset */)), pChangeset) + } else { + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 16 /* nChangeset */)) + rc = sqlite3.Xsqlite3changeset_start_strm(tls, bp+20 /* &pIter */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp /* &sStr */) + } + } + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + for SQLITE_ROW == sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */))) { + // var nCol int32 at bp+32, 4 + // Number of columns in table + // var nCol2 int32 at bp+48, 4 + // Number of columns in table + // var op int32 at bp+36, 4 + // SQLITE_INSERT, UPDATE or DELETE + // var zTab uintptr at bp+28, 4 + // Name of table change applies to + var pVar uintptr // Tcl value to set $VARNAME to + var pOld uintptr // Vector of old.* values + var pNew uintptr // Vector of new.* values + // var bIndirect int32 at bp+40, 4 + + var zPK uintptr + // var abPK uintptr at bp+44, 4 + + var i int32 + + // Test that _fk_conflicts() returns SQLITE_MISUSE if called on this + // iterator. + // var nDummy int32 at bp+24, 4 + + if SQLITE_MISUSE != sqlite3.Xsqlite3changeset_fk_conflicts(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */)), bp+24 /* &nDummy */) { + sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */))) + return TCL_ERROR + } + + sqlite3.Xsqlite3changeset_op(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */)), bp+28 /* &zTab */, bp+32 /* &nCol */, bp+36 /* &op */, bp+40 /* &bIndirect */) + pVar = tcl.XTcl_NewObj(tls) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 36 /* op */)) == SQLITE_INSERT { + return ts + 10772 /* "INSERT" */ + } + return func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 36 /* op */)) == SQLITE_UPDATE { + return ts + 10779 /* "UPDATE" */ + } + return ts + 10786 /* "DELETE" */ + }() + }(), -1)) + + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* zTab */)), -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 40 /* bIndirect */))) != 0)))) + + zPK = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 32 /* nCol */)) + 1))) + libc.Xmemset(tls, zPK, 0, (uint32(*(*int32)(unsafe.Pointer(bp + 32 /* nCol */)) + 1))) + sqlite3.Xsqlite3changeset_pk(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */)), bp+44 /* &abPK */, bp+48 /* &nCol2 */) + + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 32 /* nCol */)); i++ { + *(*int8)(unsafe.Pointer(zPK + uintptr(i))) = func() int8 { + if *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 44 /* abPK */)) + uintptr(i))) != 0 { + return int8('X') + } + return int8('.') + }() + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, zPK, -1)) + tcl.XTcl_Free(tls, zPK) + + pOld = tcl.XTcl_NewObj(tls) + if *(*int32)(unsafe.Pointer(bp + 36 /* op */)) != SQLITE_INSERT { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 32 /* nCol */)); i++ { + // var pVal uintptr at bp+52, 4 + + sqlite3.Xsqlite3changeset_old(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */)), i, bp+52 /* &pVal */) + test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 52 /* pVal */))) + } + } + pNew = tcl.XTcl_NewObj(tls) + if *(*int32)(unsafe.Pointer(bp + 36 /* op */)) != SQLITE_DELETE { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 32 /* nCol */)); i++ { + // var pVal uintptr at bp+56, 4 + + sqlite3.Xsqlite3changeset_new(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */)), i, bp+56 /* &pVal */) + test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 56 /* pVal */))) + } + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pOld) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pNew) + + tcl.XTcl_ObjSetVar2(tls, interp, pVarname, uintptr(0), pVar, 0) + rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0) + if (rc != TCL_OK) && (rc != TCL_CONTINUE) { + sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */))) + if rc == TCL_BREAK { + return TCL_OK + } + return rc + } + } + + if isCheckNext != 0 { + var rc2 int32 = sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */))) + _ = rc2 + rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */))) + + } else { + rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pIter */))) + } + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + return TCL_OK +} + +// tclcmd: CMD configure REBASE-BLOB +// tclcmd: CMD rebase CHANGESET +// tclcmd: CMD delete +func test_rebaser_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1171:26: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var p uintptr = clientData + // var iSub int32 at bp, 4 + + var rc int32 + + if objc < 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1860 /* "SUBCOMMAND ..." */) + return TCL_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&aSub1)), int32(unsafe.Sizeof(RebaseSubcmd{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if objc != (2 + aSub1[*(*int32)(unsafe.Pointer(bp /* iSub */))].FnArg) { + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub1[*(*int32)(unsafe.Pointer(bp /* iSub */))].FzMsg) + return TCL_ERROR + } + + switch *(*int32)(unsafe.Pointer(bp /* iSub */)) { + case 0: + { // configure + *(*int32)(unsafe.Pointer(bp + 4 /* nRebase */)) = 0 + var pRebase uintptr = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+4 /* &nRebase */) + rc = sqlite3.Xsqlite3rebaser_configure(tls, p, *(*int32)(unsafe.Pointer(bp + 4 /* nRebase */)), pRebase) + break + + } + + case 1: // delete + tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))) + break + + default: + { // rebase + // var sStr TestStreamInput at bp+8, 16 + // Input stream + // var sOut TestSessionsBlob at bp+24, 8 + // Output blob + + libc.Xmemset(tls, bp+8 /* &sStr */, 0, uint32(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+24 /* &sOut */, 0, uint32(unsafe.Sizeof(TestSessionsBlob{}))) + (*TestStreamInput)(unsafe.Pointer(bp + 8 /* &sStr */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), (bp + 8 /* &sStr */ + 8 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp + 8 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + + if (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FnStream != 0 { + rc = sqlite3.Xsqlite3rebaser_rebase_strm(tls, p, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+8, /* &sStr */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+24 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3rebaser_rebase(tls, p, (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FaData, (bp + 24 /* &sOut */ + 4 /* &.n */), (bp + 24 /* &sOut */ /* &.p */)) + } + + if rc == SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fp) + break + + } + } + + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + return TCL_OK +} + +type RebaseSubcmd = struct { + FzSub uintptr + FnArg int32 + FzMsg uintptr + FiSub int32 +} /* test_session.c:1177:10 */ + +var aSub1 = [4]RebaseSubcmd{ + {FzSub: ts + 11052 /* "configure" */, FnArg: 1, FzMsg: ts + 11062 /* "REBASE-BLOB" */}, // 0 + {FzSub: ts + 10601 /* "delete" */, FzMsg: ts + 489 /* "" */}, // 1 + {FzSub: ts + 11074 /* "rebase" */, FnArg: 1, FzMsg: ts + 10982 /* "CHANGESET" */}, // 2 + {}, +} /* test_session.c:1182:5 */ + +func test_rebaser_del(tls *libc.TLS, clientData uintptr) { /* test_session.c:1252:27: */ + var p uintptr = clientData + sqlite3.Xsqlite3rebaser_delete(tls, p) +} + +// tclcmd: sqlite3rebaser_create NAME +func test_sqlite3rebaser_create(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1260:26: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 + *(*uintptr)(unsafe.Pointer(bp /* pNew */)) = uintptr(0) + if objc != 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10397 /* "NAME" */) + return SQLITE_ERROR + } + + rc = sqlite3.Xsqlite3rebaser_create(tls, bp /* &pNew */) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + tcl.XTcl_CreateObjCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_rebaser_cmd})), + *(*uintptr)(unsafe.Pointer(bp /* pNew */)), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_rebaser_del}))) + tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4))) + return TCL_OK +} + +// tclcmd: sqlite3rebaser_configure OP VALUE +func test_sqlite3session_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1288:26: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 + // var iSub int32 at bp, 4 + + // var iVal int32 at bp+4, 4 + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11081 /* "OP VALUE" */) + return SQLITE_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&aSub2)), int32(unsafe.Sizeof(ConfigOpt{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+4 /* &iVal */) != 0 { + return TCL_ERROR + } + + rc = sqlite3.Xsqlite3session_config(tls, aSub2[*(*int32)(unsafe.Pointer(bp /* iSub */))].Fop, bp+4 /* &iVal */) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4 /* iVal */)))) + return TCL_OK +} + +type ConfigOpt = struct { + FzSub uintptr + Fop int32 +} /* test_session.c:1294:10 */ + +var aSub2 = [3]ConfigOpt{ + {FzSub: ts + 11090 /* "strm_size" */, Fop: SQLITE_SESSION_CONFIG_STRMSIZE}, + {FzSub: ts + 2619 /* "invalid" */}, + {}, +} /* test_session.c:1297:5 */ + +func TestSession_Init(tls *libc.TLS, interp uintptr) int32 { /* test_session.c:1324:5: */ + bp := tls.Alloc(80) + defer tls.Free(80) + + *(*[10]struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(bp /* aCmd */)) = [10]struct { + FzCmd uintptr + FxProc uintptr + }{ + {FzCmd: ts + 11100 /* "sqlite3session" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session}))}, + {FzCmd: ts + 11115 /* "sqlite3session_f..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session_foreach}))}, + {FzCmd: ts + 11138 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_invert}))}, + {FzCmd: ts + 11162 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_concat}))}, + {FzCmd: ts + 11186 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply}))}, + {FzCmd: ts + 11209 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply_v2}))}, + {FzCmd: ts + 11235, /* "sqlite3changeset..." */ + FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply_replace_all}))}, + {FzCmd: ts + 11270 /* "sql_exec_changes..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sql_exec_changeset}))}, + {FzCmd: ts + 11289 /* "sqlite3rebaser_c..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3rebaser_create}))}, + {FzCmd: ts + 11311 /* "sqlite3session_c..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session_config}))}, + } + var i int32 + + for i = 0; uint32(i) < (uint32(unsafe.Sizeof([10]struct { + FzCmd uintptr + FxProc uintptr + }{})) / uint32(unsafe.Sizeof(struct { + FzCmd uintptr + FxProc uintptr + }{}))); i++ { + var p uintptr = (bp /* &aCmd */ + uintptr(i)*8) + tcl.XTcl_CreateObjCommand(tls, interp, (*struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(p)).FzCmd, (*struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(p)).FxProc, uintptr(0), uintptr(0)) + } + + return TCL_OK +} + // 2014-09-08 // // The author disclaims copyright to this source code. In place of @@ -36859,7 +38409,7 @@ func incrblobHandle(tls *libc.TLS, instanceData ClientData, dir int32, hPtr uint } var IncrblobChannelType = Tcl_ChannelType{ - FtypeName: ts + 10524, /* "incrblob" */ // typeName + FtypeName: ts + 11333, /* "incrblob" */ // typeName Fversion: uintptr(0x2), // version FcloseProc: 0, // closeProc FinputProc: 0, // inputProc @@ -36897,7 +38447,7 @@ func createIncrblobChannel(tls *libc.TLS, interp uintptr, pDb uintptr, zDb uintp (*IncrblobChannel)(unsafe.Pointer(p)).FiSeek = 0 (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob = *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zChannel[0] */, ts+10533 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zChannel[0] */, ts+11342 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel = tcl.XTcl_CreateChannel(tls, uintptr(unsafe.Pointer(&IncrblobChannelType)), bp+12 /* &zChannel[0] */, p, flags) tcl.XTcl_RegisterChannel(tls, interp, (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel) @@ -37234,7 +38784,7 @@ func DbProfileHandler(tls *libc.TLS, cd uintptr, zSql uintptr, tm1 sqlite_uint64 // var zTm [100]int8 at bp+8, 100 - sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([100]int8{})) - uint32(1))), bp+8 /* &zTm[0] */, ts+10545 /* "%lld" */, libc.VaList(bp, tm1)) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([100]int8{})) - uint32(1))), bp+8 /* &zTm[0] */, ts+11354 /* "%lld" */, libc.VaList(bp, tm1)) tcl.XTcl_DStringInit(tls, bp+108 /* &str */) tcl.XTcl_DStringAppend(tls, bp+108 /* &str */, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, -1) tcl.XTcl_DStringAppendElement(tls, bp+108 /* &str */, zSql) @@ -37302,9 +38852,9 @@ func setTestUnlockNotifyVars(tls *libc.TLS, interp uintptr, iArg int32, nArg int // var zBuf [64]int8 at bp+16, 64 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp, iArg)) - tcl.XTcl_SetVar2(tls, interp, ts+10550 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+11359 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+8, nArg)) - tcl.XTcl_SetVar2(tls, interp, ts+10575 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+11384 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) } func DbUnlockNotify(tls *libc.TLS, apArg uintptr, nArg int32) { /* tclsqlite.c:799:13: */ @@ -37346,7 +38896,7 @@ func DbPreUpdateHandler(tls *libc.TLS, p uintptr, db uintptr, op int32, zDb uint } } -var azStr = [3]uintptr{ts + 10605 /* "DELETE" */, ts + 10612 /* "INSERT" */, ts + 10619 /* "UPDATE" */} /* tclsqlite.c:828:21 */ +var azStr = [3]uintptr{ts + 10786 /* "DELETE" */, ts + 10772 /* "INSERT" */, ts + 10779 /* "UPDATE" */} /* tclsqlite.c:828:21 */ func DbUpdateHandler(tls *libc.TLS, p uintptr, op int32, zDb uintptr, zTbl uintptr, rowid sqlite_int64) { /* tclsqlite.c:849:13: */ var pDb uintptr = p @@ -37367,7 +38917,7 @@ func DbUpdateHandler(tls *libc.TLS, p uintptr, op int32, zDb uintptr, zTbl uintp } } -var azStr1 = [3]uintptr{ts + 10605 /* "DELETE" */, ts + 10612 /* "INSERT" */, ts + 10619 /* "UPDATE" */} /* tclsqlite.c:858:21 */ +var azStr1 = [3]uintptr{ts + 10786 /* "DELETE" */, ts + 10772 /* "INSERT" */, ts + 10779 /* "UPDATE" */} /* tclsqlite.c:858:21 */ func tclCollateNeeded(tls *libc.TLS, pCtx uintptr, db uintptr, enc int32, zName uintptr) { /* tclsqlite.c:877:13: */ var pDb uintptr = pCtx @@ -37626,109 +39176,109 @@ func auth_callback(tls *libc.TLS, pArg uintptr, code int32, zArg1 uintptr, zArg2 // authorized. switch code { case SQLITE_COPY: - zCode = ts + 10626 /* "SQLITE_COPY" */ + zCode = ts + 11414 /* "SQLITE_COPY" */ break case SQLITE_CREATE_INDEX: - zCode = ts + 10638 /* "SQLITE_CREATE_IN..." */ + zCode = ts + 11426 /* "SQLITE_CREATE_IN..." */ break case SQLITE_CREATE_TABLE: - zCode = ts + 10658 /* "SQLITE_CREATE_TA..." */ + zCode = ts + 11446 /* "SQLITE_CREATE_TA..." */ break case SQLITE_CREATE_TEMP_INDEX: - zCode = ts + 10678 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11466 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_TABLE: - zCode = ts + 10703 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11491 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_TRIGGER: - zCode = ts + 10728 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11516 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_VIEW: - zCode = ts + 10755 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11543 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TRIGGER: - zCode = ts + 10779 /* "SQLITE_CREATE_TR..." */ + zCode = ts + 11567 /* "SQLITE_CREATE_TR..." */ break case SQLITE_CREATE_VIEW: - zCode = ts + 10801 /* "SQLITE_CREATE_VI..." */ + zCode = ts + 11589 /* "SQLITE_CREATE_VI..." */ break case SQLITE_DELETE: - zCode = ts + 10820 /* "SQLITE_DELETE" */ + zCode = ts + 11608 /* "SQLITE_DELETE" */ break case SQLITE_DROP_INDEX: - zCode = ts + 10834 /* "SQLITE_DROP_INDE..." */ + zCode = ts + 11622 /* "SQLITE_DROP_INDE..." */ break case SQLITE_DROP_TABLE: - zCode = ts + 10852 /* "SQLITE_DROP_TABL..." */ + zCode = ts + 11640 /* "SQLITE_DROP_TABL..." */ break case SQLITE_DROP_TEMP_INDEX: - zCode = ts + 10870 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11658 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_TABLE: - zCode = ts + 10893 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11681 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_TRIGGER: - zCode = ts + 10916 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11704 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_VIEW: - zCode = ts + 10941 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11729 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TRIGGER: - zCode = ts + 10963 /* "SQLITE_DROP_TRIG..." */ + zCode = ts + 11751 /* "SQLITE_DROP_TRIG..." */ break case SQLITE_DROP_VIEW: - zCode = ts + 10983 /* "SQLITE_DROP_VIEW" */ + zCode = ts + 11771 /* "SQLITE_DROP_VIEW" */ break case SQLITE_INSERT: - zCode = ts + 11000 /* "SQLITE_INSERT" */ + zCode = ts + 11788 /* "SQLITE_INSERT" */ break case SQLITE_PRAGMA: - zCode = ts + 11014 /* "SQLITE_PRAGMA" */ + zCode = ts + 11802 /* "SQLITE_PRAGMA" */ break case SQLITE_READ: - zCode = ts + 11028 /* "SQLITE_READ" */ + zCode = ts + 11816 /* "SQLITE_READ" */ break case SQLITE_SELECT: - zCode = ts + 11040 /* "SQLITE_SELECT" */ + zCode = ts + 11828 /* "SQLITE_SELECT" */ break case SQLITE_TRANSACTION: - zCode = ts + 11054 /* "SQLITE_TRANSACTI..." */ + zCode = ts + 11842 /* "SQLITE_TRANSACTI..." */ break case SQLITE_UPDATE: - zCode = ts + 11073 /* "SQLITE_UPDATE" */ + zCode = ts + 11861 /* "SQLITE_UPDATE" */ break case SQLITE_ATTACH: - zCode = ts + 11087 /* "SQLITE_ATTACH" */ + zCode = ts + 11875 /* "SQLITE_ATTACH" */ break case SQLITE_DETACH: - zCode = ts + 11101 /* "SQLITE_DETACH" */ + zCode = ts + 11889 /* "SQLITE_DETACH" */ break case SQLITE_ALTER_TABLE: - zCode = ts + 11115 /* "SQLITE_ALTER_TAB..." */ + zCode = ts + 11903 /* "SQLITE_ALTER_TAB..." */ break case SQLITE_REINDEX: - zCode = ts + 11134 /* "SQLITE_REINDEX" */ + zCode = ts + 11922 /* "SQLITE_REINDEX" */ break case SQLITE_ANALYZE: - zCode = ts + 11149 /* "SQLITE_ANALYZE" */ + zCode = ts + 11937 /* "SQLITE_ANALYZE" */ break case SQLITE_CREATE_VTABLE: - zCode = ts + 11164 /* "SQLITE_CREATE_VT..." */ + zCode = ts + 11952 /* "SQLITE_CREATE_VT..." */ break case SQLITE_DROP_VTABLE: - zCode = ts + 11185 /* "SQLITE_DROP_VTAB..." */ + zCode = ts + 11973 /* "SQLITE_DROP_VTAB..." */ break case SQLITE_FUNCTION: - zCode = ts + 11204 /* "SQLITE_FUNCTION" */ + zCode = ts + 11992 /* "SQLITE_FUNCTION" */ break case SQLITE_SAVEPOINT: - zCode = ts + 11220 /* "SQLITE_SAVEPOINT" */ + zCode = ts + 12008 /* "SQLITE_SAVEPOINT" */ break case SQLITE_RECURSIVE: - zCode = ts + 11237 /* "SQLITE_RECURSIVE" */ + zCode = ts + 12025 /* "SQLITE_RECURSIVE" */ break default: - zCode = ts + 11254 /* "????" */ + zCode = ts + 12042 /* "????" */ break } tcl.XTcl_DStringInit(tls, bp /* &str */) @@ -37763,13 +39313,13 @@ func auth_callback(tls *libc.TLS, pArg uintptr, code int32, zArg1 uintptr, zArg2 if rc == TCL_OK { zReply = tcl.XTcl_GetStringResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp) } else { - zReply = ts + 11259 /* "SQLITE_DENY" */ + zReply = ts + 12047 /* "SQLITE_DENY" */ } if libc.Xstrcmp(tls, zReply, ts+1988 /* "SQLITE_OK" */) == 0 { rc = SQLITE_OK - } else if libc.Xstrcmp(tls, zReply, ts+11259 /* "SQLITE_DENY" */) == 0 { + } else if libc.Xstrcmp(tls, zReply, ts+12047 /* "SQLITE_DENY" */) == 0 { rc = SQLITE_DENY - } else if libc.Xstrcmp(tls, zReply, ts+11271 /* "SQLITE_IGNORE" */) == 0 { + } else if libc.Xstrcmp(tls, zReply, ts+12059 /* "SQLITE_IGNORE" */) == 0 { rc = SQLITE_IGNORE } else { rc = 999 @@ -37866,9 +39416,9 @@ func DbTransPostCmd(tls *libc.TLS, data uintptr, interp uintptr, result int32) i } var azEnd = [4]uintptr{ - ts + 11285, /* "RELEASE _tcl_tra..." */ // rc==TCL_ERROR, nTransaction!=0 - ts + 11310, /* "COMMIT" */ // rc!=TCL_ERROR, nTransaction==0 - ts + 11317, /* "ROLLBACK TO _tcl..." */ + ts + 12073, /* "RELEASE _tcl_tra..." */ // rc==TCL_ERROR, nTransaction!=0 + ts + 12098, /* "COMMIT" */ // rc!=TCL_ERROR, nTransaction==0 + ts + 12105, /* "ROLLBACK TO _tcl..." */ ts + 7270, /* "ROLLBACK" */ // rc==TCL_ERROR, nTransaction==0 } /* tclsqlite.c:1216:21 */ @@ -38757,7 +40307,7 @@ func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintpt return TCL_ERROR __1: ; - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&DB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+11373 /* "option" */, 0, bp+1016 /* &choice */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&DB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+12161 /* "option" */, 0, bp+1016 /* &choice */) != 0) { goto __2 } return TCL_ERROR @@ -39115,7 +40665,7 @@ __4: if !(objc > 3) { goto __45 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __46 __45: @@ -39186,7 +40736,7 @@ __55: zDestFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))) goto __58 __57: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11391 /* "?DATABASE? FILEN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12179 /* "?DATABASE? FILEN..." */) return TCL_ERROR __58: ; @@ -39197,7 +40747,7 @@ __56: if !(rc != SQLITE_OK) { goto __59 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+11411, /* "cannot open targ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+12199, /* "cannot open targ..." */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))) return TCL_ERROR @@ -39207,7 +40757,7 @@ __59: if !(pBackup == uintptr(0)) { goto __60 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+11441, /* "backup failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+12229, /* "backup failed: " */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))) return TCL_ERROR @@ -39227,7 +40777,7 @@ __62: rc = TCL_OK goto __64 __63: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+11441, /* "backup failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+12229, /* "backup failed: " */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) rc = TCL_ERROR __64: @@ -39256,7 +40806,7 @@ __6: if !(objc > 3) { goto __65 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __66 __65: @@ -39302,7 +40852,7 @@ __7: if !(objc > 3) { goto __73 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11457 /* "CALLBACK" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12245 /* "CALLBACK" */) return TCL_ERROR goto __74 __73: @@ -39362,18 +40912,18 @@ __8: if !(objc <= 2) { goto __83 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11466 /* "cache option ?ar..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+12254 /* "cache option ?ar..." */) return TCL_ERROR __83: ; subCmd = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(0)) - if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 'f') && (libc.Xstrcmp(tls, subCmd, ts+11485 /* "flush" */) == 0)) { + if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 'f') && (libc.Xstrcmp(tls, subCmd, ts+12273 /* "flush" */) == 0)) { goto __84 } if !(objc != 3) { goto __86 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11485 /* "flush" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12273 /* "flush" */) return TCL_ERROR goto __87 __86: @@ -39382,21 +40932,21 @@ __87: ; goto __85 __84: - if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 's') && (libc.Xstrcmp(tls, subCmd, ts+11491 /* "size" */) == 0)) { + if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 's') && (libc.Xstrcmp(tls, subCmd, ts+12279 /* "size" */) == 0)) { goto __88 } if !(objc != 4) { goto __90 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11496 /* "size n" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12284 /* "size n" */) return TCL_ERROR goto __91 __90: if !(TCL_ERROR == tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+1036 /* &n */)) { goto __92 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+120, ts+11503, /* "cannot convert \"" */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4)), uintptr(0)), ts+11520 /* "\" to integer" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+120, ts+12291, /* "cannot convert \"" */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4)), uintptr(0)), ts+12308 /* "\" to integer" */, uintptr(0))) return TCL_ERROR goto __93 __92: @@ -39422,8 +40972,8 @@ __91: ; goto __89 __88: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, ts+11533, /* "bad option \"" */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(0)), ts+11546, /* "\": must be flush..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, ts+12321, /* "bad option \"" */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(0)), ts+12334, /* "\": must be flush..." */ uintptr(0))) return TCL_ERROR __89: @@ -39464,7 +41014,7 @@ __11: if !(objc != 4) { goto __98 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11571 /* "NAME SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12359 /* "NAME SCRIPT" */) return TCL_ERROR __98: ; @@ -39502,7 +41052,7 @@ __12: if !(objc != 3) { goto __101 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11583 /* "SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+10650 /* "SCRIPT" */) return TCL_ERROR __101: ; @@ -39544,7 +41094,7 @@ __13: if !(objc > 3) { goto __107 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __108 __107: @@ -39620,7 +41170,7 @@ __15: if !(objc > 4) { goto __118 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11590 /* "?OPTION? ?BOOLEA..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12371 /* "?OPTION? ?BOOLEA..." */) return TCL_ERROR __118: ; @@ -39680,8 +41230,8 @@ __127: if !(uint32(ii) >= (uint32(unsafe.Sizeof(aDbConfig)) / uint32(unsafe.Sizeof(DbConfigChoices{})))) { goto __129 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+216, ts+11609 /* "unknown config o..." */, zOpt, - ts+11634 /* "\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+216, ts+12390 /* "unknown config o..." */, zOpt, + ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __129: ; @@ -39725,7 +41275,7 @@ __16: // The input file goto __132 } tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, - ts+11636 /* "CONFLICT-ALGORIT..." */) + ts+12417 /* "CONFLICT-ALGORIT..." */) return TCL_ERROR __132: ; @@ -39735,7 +41285,7 @@ __132: zSep = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 5*4)), uintptr(0)) goto __134 __133: - zSep = ts + 11698 /* "\t" */ + zSep = ts + 12479 /* "\t" */ __134: ; if !(objc >= 7) { @@ -39755,25 +41305,25 @@ __136: if !(nSep == 0) { goto __137 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+264, ts+11700, /* "Error: non-null ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+264, ts+12481, /* "Error: non-null ..." */ uintptr(0))) return TCL_ERROR __137: ; - if !(((((libc.Xstrcmp(tls, zConflict, ts+11744 /* "rollback" */) != 0) && (libc.Xstrcmp(tls, zConflict, ts+11753 /* "abort" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11759 /* "fail" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11764 /* "ignore" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11771 /* "replace" */) != 0)) { + if !(((((libc.Xstrcmp(tls, zConflict, ts+12525 /* "rollback" */) != 0) && (libc.Xstrcmp(tls, zConflict, ts+12534 /* "abort" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12540 /* "fail" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12545 /* "ignore" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12552 /* "replace" */) != 0)) { goto __138 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+280, ts+11779 /* "Error: \"" */, zConflict, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+280, ts+12560 /* "Error: \"" */, zConflict, - ts+11788 /* "\", conflict-algo..." */, uintptr(0))) + ts+12569 /* "\", conflict-algo..." */, uintptr(0))) return TCL_ERROR __138: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+11868 /* "SELECT * FROM '%..." */, libc.VaList(bp+312, zTable)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+12649 /* "SELECT * FROM '%..." */, libc.VaList(bp+312, zTable)) if !(zSql == uintptr(0)) { goto __139 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+320, ts+11887 /* "Error: no such t..." */, zTable, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+320, ts+12668 /* "Error: no such t..." */, zTable, uintptr(0))) return TCL_ERROR __139: ; @@ -39783,7 +41333,7 @@ __139: if !(rc != 0) { goto __140 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+344, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+344, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) nCol = 0 goto __141 __140: @@ -39801,11 +41351,11 @@ __142: if !(zSql == uintptr(0)) { goto __143 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+368, ts+11918 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+368, ts+12699 /* "Error: can't mal..." */, uintptr(0))) return TCL_ERROR __143: ; - sqlite3.Xsqlite3_snprintf(tls, (nByte + 50), zSql, ts+11940, /* "INSERT OR %q INT..." */ + sqlite3.Xsqlite3_snprintf(tls, (nByte + 50), zSql, ts+12721, /* "INSERT OR %q INT..." */ libc.VaList(bp+384, zConflict, zTable)) j = strlen30(tls, zSql) i = 1 @@ -39829,7 +41379,7 @@ __146: if !(rc != 0) { goto __147 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+400, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+400, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1060 /* pStmt */))) return TCL_ERROR __147: @@ -39838,7 +41388,7 @@ __147: if !(in == uintptr(0)) { goto __148 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+424, ts+11972 /* "Error: cannot op..." */, zFile, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+424, ts+12753 /* "Error: cannot op..." */, zFile, uintptr(0))) sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1060 /* pStmt */))) return TCL_ERROR __148: @@ -39847,13 +41397,13 @@ __148: if !(azCol == uintptr(0)) { goto __149 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+448, ts+11918 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+448, ts+12699 /* "Error: can't mal..." */, uintptr(0))) libc.Xfclose(tls, in) return TCL_ERROR __149: ; - sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+11998 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) - zCommit1 = ts + 11310 /* "COMMIT" */ + sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+12779 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + zCommit1 = ts + 12098 /* "COMMIT" */ __150: if !((libc.AssignUintptr(&zLine, local_getline(tls, uintptr(0), in))) != uintptr(0)) { goto __151 @@ -39896,7 +41446,7 @@ __154: goto __158 } sqlite3.Xsqlite3_snprintf(tls, nErr, zErr, - ts+12004, /* "Error: %s line %..." */ + ts+12785, /* "Error: %s line %..." */ libc.VaList(bp+464, zFile, lineno, nCol, (i+1))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+496, zErr, uintptr(0))) libc.Xfree(tls, zErr) @@ -39935,7 +41485,7 @@ __161: if !(rc != SQLITE_OK) { goto __164 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+512, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+512, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) zCommit1 = ts + 7270 /* "ROLLBACK" */ goto __151 __164: @@ -39959,7 +41509,7 @@ __151: __165: // failure, append lineno where failed sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+1064 /* &zLineNum[0] */, ts+1238 /* "%d" */, libc.VaList(bp+536, lineno)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+544, ts+12064 /* ", failed while p..." */, bp+1064, /* &zLineNum[0] */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+544, ts+12845 /* ", failed while p..." */, bp+1064, /* &zLineNum[0] */ uintptr(0))) rc = TCL_ERROR __166: @@ -39978,7 +41528,7 @@ __17: if !(objc < 3) { goto __167 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12097 /* "?DATABASE? VALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12878 /* "?DATABASE? VALUE" */) rc = TCL_ERROR goto __3 __167: @@ -39989,7 +41539,7 @@ __168: goto __170 } z1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i1)*4))) - if !((libc.Xstrcmp(tls, z1, ts+12114 /* "-maxsize" */) == 0) && (i1 < (objc - 2))) { + if !((libc.Xstrcmp(tls, z1, ts+12895 /* "-maxsize" */) == 0) && (i1 < (objc - 2))) { goto __171 } rc = tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*4)), bp+1144 /* &mxSize */) @@ -40002,7 +41552,7 @@ __172: goto __169 __171: ; - if !((libc.Xstrcmp(tls, z1, ts+12123 /* "-readonly" */) == 0) && (i1 < (objc - 2))) { + if !((libc.Xstrcmp(tls, z1, ts+12904 /* "-readonly" */) == 0) && (i1 < (objc - 2))) { goto __173 } rc = tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*4)), bp+1152 /* &isReadonly */) @@ -40022,7 +41572,7 @@ __173: goto __169 __175: ; - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+568, ts+12133 /* "unknown option: " */, z1, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+568, ts+12914 /* "unknown option: " */, z1, uintptr(0))) rc = TCL_ERROR goto deserialize_error goto __169 @@ -40061,7 +41611,7 @@ __180: if !(xrc != 0) { goto __181 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+608, ts+12150 /* "unable to set ME..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+608, ts+12931 /* "unable to set ME..." */, uintptr(0))) rc = TCL_ERROR __181: ; @@ -40081,7 +41631,7 @@ deserialize_error: // Turn the extension loading feature on or off. It if off by // default. __18: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+624, ts+12178, /* "extension loadin..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+624, ts+12959, /* "extension loadin..." */ uintptr(0))) return TCL_ERROR @@ -40167,13 +41717,13 @@ __192: if !(((objc > 3) && ((libc.AssignUintptr(&zOpt1, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))))) != uintptr(0))) && (int32(*(*int8)(unsafe.Pointer(zOpt1))) == '-')) { goto __193 } - if !(libc.Xstrcmp(tls, zOpt1, ts+12226 /* "-withoutnulls" */) == 0) { + if !(libc.Xstrcmp(tls, zOpt1, ts+13007 /* "-withoutnulls" */) == 0) { goto __194 } evalFlags = evalFlags | (SQLITE_EVAL_WITHOUTNULLS) goto __195 __194: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+640, ts+12240 /* "unknown option: ..." */, zOpt1, ts+11634 /* "\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+640, ts+13021 /* "unknown option: ..." */, zOpt1, ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __195: ; @@ -40186,7 +41736,7 @@ __193: goto __196 } tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, - ts+12258 /* "?OPTIONS? SQL ?A..." */) + ts+13039 /* "?OPTIONS? SQL ?A..." */) return TCL_ERROR __196: ; @@ -40283,7 +41833,7 @@ __23: if !(objc < 4) { goto __210 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12294 /* "NAME ?SWITCHES? ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13075 /* "NAME ?SWITCHES? ..." */) return TCL_ERROR __210: ; @@ -40294,13 +41844,13 @@ __211: } z2 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*4))) n1 = strlen30(tls, z2) - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12317 /* "-argcount" */, uint32(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13098 /* "-argcount" */, uint32(n1)) == 0)) { goto __214 } if !(i3 == (objc - 2)) { goto __216 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+672, ts+12327 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+672, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __216: ; @@ -40313,7 +41863,7 @@ __217: if !(*(*int32)(unsafe.Pointer(bp + 1236 /* nArg */)) < 0) { goto __218 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+696, ts+12357, /* "number of argume..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+696, ts+13138, /* "number of argume..." */ uintptr(0))) return TCL_ERROR __218: @@ -40321,38 +41871,38 @@ __218: i3++ goto __215 __214: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12398 /* "-deterministic" */, uint32(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13179 /* "-deterministic" */, uint32(n1)) == 0)) { goto __219 } flags1 = flags1 | (SQLITE_DETERMINISTIC) goto __220 __219: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12413 /* "-directonly" */, uint32(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13194 /* "-directonly" */, uint32(n1)) == 0)) { goto __221 } flags1 = flags1 | (SQLITE_DIRECTONLY) goto __222 __221: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12425 /* "-innocuous" */, uint32(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13206 /* "-innocuous" */, uint32(n1)) == 0)) { goto __223 } flags1 = flags1 | (SQLITE_INNOCUOUS) goto __224 __223: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12436 /* "-returntype" */, uint32(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13217 /* "-returntype" */, uint32(n1)) == 0)) { goto __225 } - *(*[6]uintptr)(unsafe.Pointer(bp + 1240 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 12448 /* "real" */, ts + 12453 /* "text" */, ts + 12458 /* "blob" */, ts + 12463 /* "any" */, uintptr(0)} + *(*[6]uintptr)(unsafe.Pointer(bp + 1240 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 13229 /* "real" */, ts + 13234 /* "text" */, ts + 13239 /* "blob" */, ts + 13244 /* "any" */, uintptr(0)} if !(i3 == (objc - 2)) { goto __227 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+712, ts+12327 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+712, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __227: ; i3++ - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*4)), bp+1240 /* &azType[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+12467 /* "type" */, 0, bp+1264 /* &eType */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*4)), bp+1240 /* &azType[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+13248 /* "type" */, 0, bp+1264 /* &eType */) != 0) { goto __228 } return TCL_ERROR @@ -40361,9 +41911,9 @@ __228: *(*int32)(unsafe.Pointer(bp + 1264 /* eType */))++ goto __226 __225: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+736, ts+11533 /* "bad option \"" */, z2, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+736, ts+12321 /* "bad option \"" */, z2, - ts+12472 /* "\": must be -argc..." */, uintptr(0))) + ts+13253 /* "\": must be -argc..." */, uintptr(0))) return TCL_ERROR __226: ; @@ -40436,7 +41986,7 @@ __24: zDb = ts + 85 /* "main" */ // Check for the -readonly option - if !((objc > 3) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), ts+12123 /* "-readonly" */) == 0)) { + if !((objc > 3) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), ts+12904 /* "-readonly" */) == 0)) { goto __236 } isReadonly1 = 1 @@ -40446,7 +41996,7 @@ __236: if !((objc != (5 + isReadonly1)) && (objc != (6 + isReadonly1))) { goto __237 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12550 /* "?-readonly? ?DB?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13331 /* "?-readonly? ?DB?..." */) return TCL_ERROR __237: ; @@ -40488,7 +42038,7 @@ __26: if !((objc != 2) && (objc != 3)) { goto __240 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12586 /* "NULLVALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13367 /* "NULLVALUE" */) return TCL_ERROR __240: ; @@ -40593,7 +42143,7 @@ __256: ; goto __250 __249: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12596 /* "N CALLBACK" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13377 /* "N CALLBACK" */) return TCL_ERROR __250: ; @@ -40610,7 +42160,7 @@ __29: if !(objc > 3) { goto __257 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __258 __257: @@ -40667,7 +42217,7 @@ __30: if !(objc != 3) { goto __267 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12607 /* "KEY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13388 /* "KEY" */) return TCL_ERROR __267: ; @@ -40694,7 +42244,7 @@ __268: zSrcFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))) goto __271 __270: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11391 /* "?DATABASE? FILEN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12179 /* "?DATABASE? FILEN..." */) return TCL_ERROR __271: ; @@ -40705,7 +42255,7 @@ __269: if !(rc != SQLITE_OK) { goto __272 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+800, ts+12611, /* "cannot open sour..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+800, ts+13392, /* "cannot open sour..." */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1296 /* pSrc */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1296 /* pSrc */))) return TCL_ERROR @@ -40715,7 +42265,7 @@ __272: if !(pBackup1 == uintptr(0)) { goto __273 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+824, ts+12641, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+824, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1296 /* pSrc */))) return TCL_ERROR @@ -40751,12 +42301,12 @@ __278: if !((rc == SQLITE_BUSY) || (rc == SQLITE_LOCKED)) { goto __280 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+848, ts+12658, /* "restore failed: ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+848, ts+13439, /* "restore failed: ..." */ uintptr(0))) rc = TCL_ERROR goto __281 __280: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+12641, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) rc = TCL_ERROR __281: @@ -40779,7 +42329,7 @@ __32: if !((objc != 2) && (objc != 3)) { goto __282 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12695 /* "?DATABASE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13476 /* "?DATABASE?" */) rc = TCL_ERROR goto __283 __282: @@ -40813,7 +42363,7 @@ __33: if !(objc != 3) { goto __287 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12706 /* "(step|sort|autoi..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13487 /* "(step|sort|autoi..." */) return TCL_ERROR __287: ; @@ -40824,26 +42374,26 @@ __287: v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnStep goto __289 __288: - if !(libc.Xstrcmp(tls, zOp, ts+12728 /* "sort" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13509 /* "sort" */) == 0) { goto __290 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnSort goto __291 __290: - if !(libc.Xstrcmp(tls, zOp, ts+12733 /* "autoindex" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13514 /* "autoindex" */) == 0) { goto __292 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnIndex goto __293 __292: - if !(libc.Xstrcmp(tls, zOp, ts+12743 /* "vmstep" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13524 /* "vmstep" */) == 0) { goto __294 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnVMStep goto __295 __294: tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+888, ts+12750, /* "bad argument: sh..." */ + libc.VaList(bp+888, ts+13531, /* "bad argument: sh..." */ uintptr(0))) return TCL_ERROR __295: @@ -40864,7 +42414,7 @@ __34: if !(objc != 3) { goto __296 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12806 /* "MILLISECONDS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13587 /* "MILLISECONDS" */) return TCL_ERROR __296: ; @@ -40902,7 +42452,7 @@ __36: if !(objc > 3) { goto __299 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __300 __299: @@ -40961,7 +42511,7 @@ __37: if !(objc > 4) { goto __309 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12819 /* "?CALLBACK? ?MASK..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13600 /* "?CALLBACK? ?MASK..." */) return TCL_ERROR goto __310 __309: @@ -40997,7 +42547,7 @@ __317: return TCL_ERROR __320: ; - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1324 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+12837 /* "trace type" */, 0, bp+1328 /* &ttype */) != TCL_OK) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1324 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+13618 /* "trace type" */, 0, bp+1328 /* &ttype */) != TCL_OK) { goto __321 } pError = tcl.XTcl_DuplicateObj(tls, tcl.XTcl_GetObjResult(tls, interp)) @@ -41131,11 +42681,11 @@ __310: // This command was inspired by Dave Thomas's talk on Ruby at the // 2005 O'Reilly Open Source Convention (OSCON). __38: - zBegin = ts + 12848 /* "SAVEPOINT _tcl_t..." */ + zBegin = ts + 13629 /* "SAVEPOINT _tcl_t..." */ if !((objc != 3) && (objc != 4)) { goto __343 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12875 /* "[TYPE] SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13656 /* "[TYPE] SCRIPT" */) return TCL_ERROR __343: ; @@ -41143,7 +42693,7 @@ __343: if !(((*SqliteDb)(unsafe.Pointer(pDb)).FnTransaction == 0) && (objc == 4)) { goto __344 } - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(unsafe.Pointer(&TTYPE_strs1)), int32(unsafe.Sizeof(uintptr(0))), ts+12889 /* "transaction type" */, 0, bp+1344 /* &ttype1 */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(unsafe.Pointer(&TTYPE_strs1)), int32(unsafe.Sizeof(uintptr(0))), ts+13670 /* "transaction type" */, 0, bp+1344 /* &ttype1 */) != 0) { goto __345 } return TCL_ERROR @@ -41162,10 +42712,10 @@ __347: /* no-op */ ; goto __346 __348: - zBegin = ts + 12906 /* "BEGIN EXCLUSIVE" */ + zBegin = ts + 13687 /* "BEGIN EXCLUSIVE" */ goto __346 __349: - zBegin = ts + 12922 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 13703 /* "BEGIN IMMEDIATE" */ goto __346 __346: ; @@ -41210,7 +42760,7 @@ __39: if !((objc != 2) && (objc != 3)) { goto __353 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) rc = TCL_ERROR goto __354 __353: @@ -41272,7 +42822,7 @@ __40: if !(objc < 3) { goto __362 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12947 /* "SUB-COMMAND ?ARG..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13728 /* "SUB-COMMAND ?ARG..." */) __362: ; if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(unsafe.Pointer(&azSub)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+1352 /* &iSub */) != 0) { @@ -41307,7 +42857,7 @@ __366: if !(objc > 4) { goto __370 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12966 /* "hook ?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13747 /* "hook ?SCRIPT?" */) return TCL_ERROR __370: ; @@ -41336,7 +42886,7 @@ __369: if !(objc != 4) { goto __372 } - tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+12980 /* "INDEX" */) + tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+13761 /* "INDEX" */) return TCL_ERROR __372: ; @@ -41404,7 +42954,7 @@ __380: if !(objc > 3) { goto __381 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) return TCL_ERROR __381: ; @@ -41431,7 +42981,7 @@ __382: // $db version -use-legacy-prepare BOOLEAN // // Turn the use of legacy sqlite3_prepare() on or off. - if !((libc.Xstrcmp(tls, zArg, ts+12986 /* "-use-legacy-prep..." */) == 0) && ((i5 + 1) < objc)) { + if !((libc.Xstrcmp(tls, zArg, ts+13767 /* "-use-legacy-prep..." */) == 0) && ((i5 + 1) < objc)) { goto __385 } i5++ @@ -41448,10 +42998,10 @@ __385: // // Return a string which is a hex encoding of the pointer to the // most recent sqlite3_stmt in the statement cache. - if !(libc.Xstrcmp(tls, zArg, ts+13006 /* "-last-stmt-ptr" */) == 0) { + if !(libc.Xstrcmp(tls, zArg, ts+13787 /* "-last-stmt-ptr" */) == 0) { goto __388 } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1364 /* &zBuf[0] */, ts+13021, /* "%p" */ + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1364 /* &zBuf[0] */, ts+13802, /* "%p" */ libc.VaList(bp+984, func() uintptr { if (*SqliteDb)(unsafe.Pointer(pDb)).FstmtList != 0 { return (*SqlPreparedStmt)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FstmtList)).FpStmt @@ -41462,7 +43012,7 @@ __385: goto __389 __388: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+992, ts+13024 /* "unknown argument..." */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+992, ts+13805 /* "unknown argument..." */, zArg, uintptr(0))) return TCL_ERROR __389: ; @@ -41494,46 +43044,46 @@ type DbConfigChoices = struct { } /* tclsqlite.c:2340:18 */ var DB_strs = [42]uintptr{ - ts + 13043 /* "authorizer" */, ts + 13054 /* "backup" */, ts + 13061, /* "bind_fallback" */ - ts + 13075 /* "busy" */, ts + 13080 /* "cache" */, ts + 13086, /* "changes" */ - ts + 10125 /* "close" */, ts + 13094 /* "collate" */, ts + 13102, /* "collation_needed" */ - ts + 13119 /* "commit_hook" */, ts + 13131 /* "complete" */, ts + 13140, /* "config" */ - ts + 13147 /* "copy" */, ts + 13152 /* "deserialize" */, ts + 13164, /* "enable_load_exte..." */ - ts + 13186 /* "errorcode" */, ts + 4757 /* "eval" */, ts + 13196, /* "exists" */ - ts + 13203 /* "function" */, ts + 10524 /* "incrblob" */, ts + 13212, /* "interrupt" */ - ts + 13222 /* "last_insert_rowi..." */, ts + 13240 /* "nullvalue" */, ts + 13250, /* "onecolumn" */ - ts + 13260 /* "preupdate" */, ts + 13270 /* "profile" */, ts + 10199, /* "progress" */ - ts + 13278 /* "rekey" */, ts + 13284 /* "restore" */, ts + 13292, /* "rollback_hook" */ - ts + 13306 /* "serialize" */, ts + 13316 /* "status" */, ts + 13323, /* "timeout" */ - ts + 13331 /* "total_changes" */, ts + 13345 /* "trace" */, ts + 13351, /* "trace_v2" */ - ts + 13360 /* "transaction" */, ts + 13372 /* "unlock_notify" */, ts + 13386, /* "update_hook" */ - ts + 13398 /* "version" */, ts + 13406 /* "wal_hook" */, uintptr(0), + ts + 13824 /* "authorizer" */, ts + 13835 /* "backup" */, ts + 13842, /* "bind_fallback" */ + ts + 13856 /* "busy" */, ts + 13861 /* "cache" */, ts + 13867, /* "changes" */ + ts + 10125 /* "close" */, ts + 13875 /* "collate" */, ts + 13883, /* "collation_needed" */ + ts + 13900 /* "commit_hook" */, ts + 13912 /* "complete" */, ts + 13921, /* "config" */ + ts + 13928 /* "copy" */, ts + 13933 /* "deserialize" */, ts + 13945, /* "enable_load_exte..." */ + ts + 13967 /* "errorcode" */, ts + 4757 /* "eval" */, ts + 13977, /* "exists" */ + ts + 13984 /* "function" */, ts + 11333 /* "incrblob" */, ts + 13993, /* "interrupt" */ + ts + 14003 /* "last_insert_rowi..." */, ts + 14021 /* "nullvalue" */, ts + 14031, /* "onecolumn" */ + ts + 14041 /* "preupdate" */, ts + 14051 /* "profile" */, ts + 10199, /* "progress" */ + ts + 14059 /* "rekey" */, ts + 14065 /* "restore" */, ts + 14073, /* "rollback_hook" */ + ts + 14087 /* "serialize" */, ts + 14097 /* "status" */, ts + 14104, /* "timeout" */ + ts + 14112 /* "total_changes" */, ts + 14126 /* "trace" */, ts + 14132, /* "trace_v2" */ + ts + 14141 /* "transaction" */, ts + 14153 /* "unlock_notify" */, ts + 14167, /* "update_hook" */ + ts + 14179 /* "version" */, ts + 14187 /* "wal_hook" */, uintptr(0), } /* tclsqlite.c:1916:21 */ var aDbConfig = [16]DbConfigChoices{ - {FzName: ts + 13415 /* "defensive" */, Fop: SQLITE_DBCONFIG_DEFENSIVE}, - {FzName: ts + 13425 /* "dqs_ddl" */, Fop: SQLITE_DBCONFIG_DQS_DDL}, - {FzName: ts + 13433 /* "dqs_dml" */, Fop: SQLITE_DBCONFIG_DQS_DML}, - {FzName: ts + 13441 /* "enable_fkey" */, Fop: SQLITE_DBCONFIG_ENABLE_FKEY}, - {FzName: ts + 13453 /* "enable_qpsg" */, Fop: SQLITE_DBCONFIG_ENABLE_QPSG}, - {FzName: ts + 13465 /* "enable_trigger" */, Fop: SQLITE_DBCONFIG_ENABLE_TRIGGER}, - {FzName: ts + 13480 /* "enable_view" */, Fop: SQLITE_DBCONFIG_ENABLE_VIEW}, - {FzName: ts + 13492 /* "fts3_tokenizer" */, Fop: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, - {FzName: ts + 13507 /* "legacy_alter_tab..." */, Fop: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, - {FzName: ts + 13526 /* "legacy_file_form..." */, Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, - {FzName: ts + 13545 /* "load_extension" */, Fop: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, - {FzName: ts + 13560 /* "no_ckpt_on_close" */, Fop: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, - {FzName: ts + 13577 /* "reset_database" */, Fop: SQLITE_DBCONFIG_RESET_DATABASE}, - {FzName: ts + 13592 /* "trigger_eqp" */, Fop: SQLITE_DBCONFIG_TRIGGER_EQP}, - {FzName: ts + 13604 /* "trusted_schema" */, Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA}, - {FzName: ts + 13619 /* "writable_schema" */, Fop: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, + {FzName: ts + 14196 /* "defensive" */, Fop: SQLITE_DBCONFIG_DEFENSIVE}, + {FzName: ts + 14206 /* "dqs_ddl" */, Fop: SQLITE_DBCONFIG_DQS_DDL}, + {FzName: ts + 14214 /* "dqs_dml" */, Fop: SQLITE_DBCONFIG_DQS_DML}, + {FzName: ts + 14222 /* "enable_fkey" */, Fop: SQLITE_DBCONFIG_ENABLE_FKEY}, + {FzName: ts + 14234 /* "enable_qpsg" */, Fop: SQLITE_DBCONFIG_ENABLE_QPSG}, + {FzName: ts + 14246 /* "enable_trigger" */, Fop: SQLITE_DBCONFIG_ENABLE_TRIGGER}, + {FzName: ts + 14261 /* "enable_view" */, Fop: SQLITE_DBCONFIG_ENABLE_VIEW}, + {FzName: ts + 14273 /* "fts3_tokenizer" */, Fop: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, + {FzName: ts + 14288 /* "legacy_alter_tab..." */, Fop: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, + {FzName: ts + 14307 /* "legacy_file_form..." */, Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, + {FzName: ts + 14326 /* "load_extension" */, Fop: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, + {FzName: ts + 14341 /* "no_ckpt_on_close" */, Fop: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, + {FzName: ts + 14358 /* "reset_database" */, Fop: SQLITE_DBCONFIG_RESET_DATABASE}, + {FzName: ts + 14373 /* "trigger_eqp" */, Fop: SQLITE_DBCONFIG_TRIGGER_EQP}, + {FzName: ts + 14385 /* "trusted_schema" */, Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA}, + {FzName: ts + 14400 /* "writable_schema" */, Fop: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, } /* tclsqlite.c:2343:7 */ var TTYPE_strs = [5]uintptr{ - ts + 13635 /* "statement" */, ts + 13270 /* "profile" */, ts + 13645 /* "row" */, ts + 10125 /* "close" */, uintptr(0), + ts + 14416 /* "statement" */, ts + 14051 /* "profile" */, ts + 14426 /* "row" */, ts + 10125 /* "close" */, uintptr(0), } /* tclsqlite.c:3321:27 */ var TTYPE_strs1 = [4]uintptr{ - ts + 13649 /* "deferred" */, ts + 13658 /* "exclusive" */, ts + 13668 /* "immediate" */, uintptr(0), + ts + 14430 /* "deferred" */, ts + 14439 /* "exclusive" */, ts + 14449 /* "immediate" */, uintptr(0), } /* tclsqlite.c:3404:25 */ -var azSub = [6]uintptr{ts + 1826 /* "count" */, ts + 13678 /* "depth" */, ts + 13684 /* "hook" */, ts + 13689 /* "new" */, ts + 13693 /* "old" */, uintptr(0)} /* tclsqlite.c:3496:23 */ +var azSub = [6]uintptr{ts + 1826 /* "count" */, ts + 14459 /* "depth" */, ts + 14465 /* "hook" */, ts + 14470 /* "new" */, ts + 14474 /* "old" */, uintptr(0)} /* tclsqlite.c:3496:23 */ // Adaptor that provides an objCmd interface to the NRE-enabled // interface implementation. @@ -41548,7 +43098,7 @@ func DbObjCmdAdaptor(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv func sqliteCmdUsage(tls *libc.TLS, interp uintptr, objv uintptr) int32 { /* tclsqlite.c:3661:12: */ tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+13697 /* "HANDLE ?FILENAME..." */) + ts+14478 /* "HANDLE ?FILENAME..." */) return TCL_ERROR } @@ -41594,16 +43144,16 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } if objc == 2 { zArg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(0)) - if libc.Xstrcmp(tls, zArg, ts+13843 /* "-version" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14624 /* "-version" */) == 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), uintptr(0))) return TCL_OK } - if libc.Xstrcmp(tls, zArg, ts+13852 /* "-sourceid" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14633 /* "-sourceid" */) == 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, sqlite3.Xsqlite3_sourceid(tls), uintptr(0))) return TCL_OK } - if libc.Xstrcmp(tls, zArg, ts+13862 /* "-has-codec" */) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+13873 /* "0" */, uintptr(0))) + if libc.Xstrcmp(tls, zArg, ts+14643 /* "-has-codec" */) == 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+14654 /* "0" */, uintptr(0))) return TCL_OK } if int32(*(*int8)(unsafe.Pointer(zArg))) == '-' { @@ -41623,11 +43173,11 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) return sqliteCmdUsage(tls, interp, objv) } i++ - if libc.Xstrcmp(tls, zArg, ts+13875 /* "-key" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14656 /* "-key" */) == 0 { // no-op - } else if libc.Xstrcmp(tls, zArg, ts+13880 /* "-vfs" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14661 /* "-vfs" */) == 0 { zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4))) - } else if libc.Xstrcmp(tls, zArg, ts+12123 /* "-readonly" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+12904 /* "-readonly" */) == 0 { // var b int32 at bp+88, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+88 /* &b */) != 0 { @@ -41640,7 +43190,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) flags = flags & (libc.CplInt32(SQLITE_OPEN_READONLY)) flags = flags | (SQLITE_OPEN_READWRITE) } - } else if libc.Xstrcmp(tls, zArg, ts+13885 /* "-create" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14666 /* "-create" */) == 0 { // var b int32 at bp+92, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+92 /* &b */) != 0 { @@ -41651,7 +43201,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_CREATE)) } - } else if libc.Xstrcmp(tls, zArg, ts+13893 /* "-nofollow" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14674 /* "-nofollow" */) == 0 { // var b int32 at bp+96, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+96 /* &b */) != 0 { @@ -41662,7 +43212,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOFOLLOW)) } - } else if libc.Xstrcmp(tls, zArg, ts+13903 /* "-nomutex" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14684 /* "-nomutex" */) == 0 { // var b int32 at bp+100, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+100 /* &b */) != 0 { @@ -41674,7 +43224,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOMUTEX)) } - } else if libc.Xstrcmp(tls, zArg, ts+13912 /* "-fullmutex" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14693 /* "-fullmutex" */) == 0 { // var b int32 at bp+104, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+104 /* &b */) != 0 { @@ -41686,7 +43236,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_FULLMUTEX)) } - } else if libc.Xstrcmp(tls, zArg, ts+13923 /* "-uri" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14704 /* "-uri" */) == 0 { // var b int32 at bp+108, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+108 /* &b */) != 0 { @@ -41697,12 +43247,12 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_URI)) } - } else if libc.Xstrcmp(tls, zArg, ts+13928 /* "-translatefilena..." */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14709 /* "-translatefilena..." */) == 0 { if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+112 /* &bTranslateFileName */) != 0 { return TCL_ERROR } } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+12133 /* "unknown option: " */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+12914 /* "unknown option: " */, zArg, uintptr(0))) return TCL_ERROR } } @@ -41777,16 +43327,16 @@ func Sqlite3_Init(tls *libc.TLS, interp uintptr) int32 { /* tclsqlite.c:3877:12: rc = TCL_ERROR } if rc == TCL_OK { - tcl.XTcl_CreateObjCommand(tls, interp, ts+13947 /* "sqlite3" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+14728 /* "sqlite3" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{DbMain})), uintptr(0), uintptr(0)) // The "sqlite" alias is undocumented. It is here only to support // legacy scripts. All new scripts should use only the "sqlite3" // command. - tcl.XTcl_CreateObjCommand(tls, interp, ts+13955 /* "sqlite" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+14736 /* "sqlite" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{DbMain})), uintptr(0), uintptr(0)) - rc = tcl.XTcl_PkgProvideEx(tls, interp, ts+13947 /* "sqlite3" */, ts+13962 /* "3.36.0" */, uintptr(0)) + rc = tcl.XTcl_PkgProvideEx(tls, interp, ts+14728 /* "sqlite3" */, ts+14743 /* "3.36.0" */, uintptr(0)) } return rc } @@ -41839,7 +43389,7 @@ func tclsh_main_loop(tls *libc.TLS) uintptr { /* tclsqlite.c:3920:19: */ return uintptr(unsafe.Pointer(&zMainloop)) } -var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 13969 /* "if {[llength $ar..." */)) /* tclsqlite.c:3921:21 */ +var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 14750 /* "if {[llength $ar..." */)) /* tclsqlite.c:3921:21 */ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953:18: */ bp := tls.Alloc(64) @@ -41850,10 +43400,10 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: var zScript uintptr = uintptr(0) // var zArgc [32]int8 at bp+32, 32 - if libc.Xgetenv(tls, ts+14400 /* "SQLITE_DEBUG_BRE..." */) != 0 { + if libc.Xgetenv(tls, ts+15181 /* "SQLITE_DEBUG_BRE..." */) != 0 { if (libc.Xisatty(tls, 0) != 0) && (libc.Xisatty(tls, 2) != 0) { libc.Xfprintf(tls, libc.Xstderr, - ts+14419, /* "attach debugger ..." */ + ts+15200, /* "attach debugger ..." */ libc.VaList(bp, libc.Xgetpid(tls))) libc.Xfgetc(tls, libc.Xstdin) } else { @@ -41867,27 +43417,27 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: sqlite3.Xsqlite3_shutdown(tls) tcl.XTcl_FindExecutable(tls, *(*uintptr)(unsafe.Pointer(argv))) - tcl.XTcl_SetSystemEncoding(tls, uintptr(0), ts+14481 /* "utf-8" */) + tcl.XTcl_SetSystemEncoding(tls, uintptr(0), ts+15262 /* "utf-8" */) interp = tcl.XTcl_CreateInterp(tls) Sqlite3_Init(tls, interp) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), bp+32 /* &zArgc[0] */, ts+1238 /* "%d" */, libc.VaList(bp+8, (argc-1))) - tcl.XTcl_SetVar2(tls, interp, ts+14487 /* "argc" */, uintptr(0), bp+32 /* &zArgc[0] */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+14492 /* "argv0" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+14498 /* "argv" */, uintptr(0), ts+489 /* "" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15268 /* "argc" */, uintptr(0), bp+32 /* &zArgc[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15273 /* "argv0" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15279 /* "argv" */, uintptr(0), ts+489 /* "" */, TCL_GLOBAL_ONLY) for i = 1; i < argc; i++ { - tcl.XTcl_SetVar2(tls, interp, ts+14498 /* "argv" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), ((TCL_GLOBAL_ONLY | TCL_LIST_ELEMENT) | TCL_APPEND_VALUE)) + tcl.XTcl_SetVar2(tls, interp, ts+15279 /* "argv" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), ((TCL_GLOBAL_ONLY | TCL_LIST_ELEMENT) | TCL_APPEND_VALUE)) } zScript = sqlite3TestInit(tls, interp) if zScript == uintptr(0) { zScript = tclsh_main_loop(tls) } if tcl.XTcl_GlobalEval(tls, interp, zScript) != TCL_OK { - var zInfo uintptr = tcl.XTcl_GetVar2(tls, interp, ts+14503 /* "errorInfo" */, uintptr(0), TCL_GLOBAL_ONLY) + var zInfo uintptr = tcl.XTcl_GetVar2(tls, interp, ts+15284 /* "errorInfo" */, uintptr(0), TCL_GLOBAL_ONLY) if zInfo == uintptr(0) { zInfo = tcl.XTcl_GetStringResult(tls, interp) } - libc.Xfprintf(tls, libc.Xstderr, ts+14513 /* "%s: %s\n" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) + libc.Xfprintf(tls, libc.Xstderr, ts+15294 /* "%s: %s\n" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) return 1 } return 0 @@ -44029,16 +45579,16 @@ func get_sqlite_pointer(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var zBuf [100]int8 at bp+80, 100 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+14521 /* "SQLITE-CONNECTIO..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15302 /* "SQLITE-CONNECTIO..." */) return TCL_ERROR } if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539, /* "command not foun..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } p = (*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &cmdInfo */)).FobjClientData - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+24, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+24, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+80 /* &zBuf[0] */, 0)) return TCL_OK } @@ -44075,7 +45625,7 @@ func sqlite3TestErrCode(tls *libc.TLS, interp uintptr, db uintptr, rc int32) int var r2 int32 = sqlite3.Xsqlite3_errcode(tls, db) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+48, /* &zBuf[0] */ - ts+14559, /* "error code %s (%..." */ + ts+15340, /* "error code %s (%..." */ libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, rc), rc, sqlite3.Xsqlite3ErrName(tls, r2), r2)) tcl.XTcl_ResetResult(tls, interp) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+48 /* &zBuf[0] */, 0)) @@ -44105,7 +45655,7 @@ func sqlite3TestMakePointerStr(tls *libc.TLS, interp uintptr, zPtr uintptr, p ui bp := tls.Alloc(8) defer tls.Free(8) - sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+13802 /* "%p" */, libc.VaList(bp, p)) return TCL_OK } @@ -44154,7 +45704,7 @@ func test_io_trace(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // Also return true if the OMIT_MISUSE environment variable exists. func clang_sanitize_address(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:269:26: */ var res int32 = 0 - if (res == 0) && (libc.Xgetenv(tls, ts+14617 /* "OMIT_MISUSE" */) != uintptr(0)) { + if (res == 0) && (libc.Xgetenv(tls, ts+15398 /* "OMIT_MISUSE" */) != uintptr(0)) { res = 1 } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, res)) @@ -44180,8 +45730,8 @@ func test_exec_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // var zBuf [30]int8 at bp+268, 30 if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14655 /* " DB FORMAT STRIN..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15436 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+48 /* &db */) != 0 { @@ -44234,8 +45784,8 @@ func test_exec_hex(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // var zBuf [30]int8 at bp+764, 30 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14673 /* " DB HEX" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15454 /* " DB HEX" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+40 /* &db */) != 0 { @@ -44298,8 +45848,8 @@ func db_enter(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // var db uintptr at bp+32, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -44316,8 +45866,8 @@ func db_leave(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // var db uintptr at bp+32, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -44346,8 +45896,8 @@ func test_exec(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [30]int8 at bp+268, 30 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14685 /* " DB SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+48 /* &db */) != 0 { @@ -44399,8 +45949,8 @@ func test_exec_nr(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar var rc int32 *(*uintptr)(unsafe.Pointer(bp + 36 /* zErr */)) = uintptr(0) if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14685 /* " DB SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -44426,7 +45976,7 @@ func test_mprintf_z(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 for i = 2; (i < argc) && ((i == 2) || (zResult != 0)); i++ { - zResult = sqlite3.Xsqlite3_mprintf(tls, ts+14693 /* "%z%s%s" */, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) + zResult = sqlite3.Xsqlite3_mprintf(tls, ts+15474 /* "%z%s%s" */, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, zResult, 0)) sqlite3.Xsqlite3_free(tls, zResult) @@ -44443,7 +45993,7 @@ func test_mprintf_n(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var zStr uintptr *(*int32)(unsafe.Pointer(bp + 16 /* n */)) = 0 - zStr = sqlite3.Xsqlite3_mprintf(tls, ts+14700 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+16 /* &n */)) + zStr = sqlite3.Xsqlite3_mprintf(tls, ts+15481 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+16 /* &n */)) sqlite3.Xsqlite3_free(tls, zStr) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 16 /* n */)))) return TCL_OK @@ -44469,7 +46019,7 @@ func test_snprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 if uint32(n) > uint32(unsafe.Sizeof([100]int8{})) { n = int32(unsafe.Sizeof([100]int8{})) } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zStr[0] */, ts+14705 /* "abcdefghijklmnop..." */, 0) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zStr[0] */, ts+15486 /* "abcdefghijklmnop..." */, 0) sqlite3.Xsqlite3_snprintf(tls, n, bp+24 /* &zStr[0] */, zFormat, libc.VaList(bp, a1)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24 /* &zStr[0] */, 0)) return TCL_OK @@ -44505,8 +46055,8 @@ func test_get_table_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc } } if (argc != 4) && (argc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14732 /* " DB FORMAT STRIN..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15513 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+68 /* &db */) != 0 { @@ -44563,13 +46113,13 @@ func test_last_rowid(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [30]int8 at bp+60, 30 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+56 /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+60 /* &zBuf[0] */, ts+10545 /* "%lld" */, libc.VaList(bp+32, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+60 /* &zBuf[0] */, ts+11354 /* "%lld" */, libc.VaList(bp+32, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+60 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -44599,8 +46149,8 @@ func sqlite_test_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -44622,8 +46172,8 @@ func sqlite_test_close_v2(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -44661,7 +46211,7 @@ func hex8Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c:7 z = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint32(i) < ((uint32(unsafe.Sizeof([200]int8{})) / uint32(2)) - uint32(2))) && (*(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([200]int8{})) - (uint32(i * 2)))), (bp + 8 /* &zBuf */ + uintptr((i * 2))), ts+14774 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([200]int8{})) - (uint32(i * 2)))), (bp + 8 /* &zBuf */ + uintptr((i * 2))), ts+15555 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) } *(*int8)(unsafe.Pointer(bp + 8 /* &zBuf[0] */ + uintptr((i * 2)))) = int8(0) sqlite3.Xsqlite3_result_text(tls, p, bp+8 /* zBuf */, -1, libc.UintptrFromInt32(-1)) @@ -44677,7 +46227,7 @@ func hex16Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c: z = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint32(i) < ((uint32(unsafe.Sizeof([400]int8{})) / uint32(4)) - uint32(4))) && (*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([400]int8{})) - (uint32(i * 4)))), (bp + 8 /* &zBuf */ + uintptr((i * 4))), ts+14779 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([400]int8{})) - (uint32(i * 4)))), (bp + 8 /* &zBuf */ + uintptr((i * 4))), ts+15560 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) } *(*int8)(unsafe.Pointer(bp + 8 /* &zBuf[0] */ + uintptr((i * 4)))) = int8(0) sqlite3.Xsqlite3_result_text(tls, p, bp+8 /* zBuf */, -1, libc.UintptrFromInt32(-1)) @@ -44776,7 +46326,7 @@ func tkt2213Function(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zText3 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if (zText1 != zText2) || (zText2 != zText3) { - sqlite3.Xsqlite3_result_error(tls, context, ts+14784 /* "tkt2213 is not f..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15565 /* "tkt2213 is not f..." */, -1) } else { var zCopy uintptr = sqlite3.Xsqlite3_malloc(tls, nText) libc.Xmemcpy(tls, zCopy, zText1, uint32(nText)) @@ -44817,11 +46367,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+12453 /* "text" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+13234 /* "text" */) == 0 { p1 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14805 /* "text16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15586 /* "text16" */) == 0 { p1 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+12458 /* "blob" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+13239 /* "blob" */) == 0 { p1 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) } else { return @@ -44830,11 +46380,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+14812 /* "bytes" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+15593 /* "bytes" */) == 0 { sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14818 /* "bytes16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15599 /* "bytes16" */) == 0 { sqlite3.Xsqlite3_value_bytes16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14826 /* "noop" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15607 /* "noop" */) == 0 { // do nothing } else { return @@ -44843,11 +46393,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+12453 /* "text" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+13234 /* "text" */) == 0 { p2 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14805 /* "text16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15586 /* "text16" */) == 0 { p2 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+12458 /* "blob" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+13239 /* "blob" */) == 0 { p2 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) } else { return @@ -44895,37 +46445,37 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // var db uintptr at bp+32, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14831 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15612 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1_ifnullFunc})), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14842 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15623 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex8Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14847 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15628 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex16Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14853 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15634 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tkt2213Function})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14865 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15646 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{ptrChngFunction})), uintptr(0), uintptr(0)) @@ -44935,13 +46485,13 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // both return an ascending integer with each call. But counter1() is marked // as non-deterministic and counter2() is marked as deterministic. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14880 /* "counter1" */, -1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15661 /* "counter1" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14889 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15670 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) @@ -44950,7 +46500,7 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // The intreal() function converts its argument to an integer and returns // it as a MEM_IntReal. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14898 /* "intreal" */, 1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15679 /* "intreal" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{intrealFunction})), uintptr(0), uintptr(0)) @@ -44963,7 +46513,7 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var pVal uintptr sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmutex) pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) - sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+14906 /* "x_sqlite_exec" */, uint8(SQLITE_UTF8), uintptr(0)) + sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+15687 /* "x_sqlite_exec" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) if (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).FmallocFailed != 0 { rc = SQLITE_NOMEM @@ -44996,8 +46546,8 @@ func test_drop_modules(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var db uintptr at bp+32, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -45046,7 +46596,7 @@ func t1CountStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* if argc > 0 { var v int32 = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))) if v == 40 { - sqlite3.Xsqlite3_result_error(tls, context, ts+14920 /* "value of 40 hand..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15701 /* "value of 40 hand..." */, -1) } else if v == 41 { *(*[9]int8)(unsafe.Pointer(bp /* zUtf16ErrMsg */)) = [9]int8{int8(0), int8(0x61), int8(0), int8(0x62), int8(0), int8(0x63), int8(0), int8(0), int8(0)} sqlite3.Xsqlite3_result_error16(tls, context, (bp /* &zUtf16ErrMsg */ + 1), -1) @@ -45059,7 +46609,7 @@ func t1CountFinalize(tls *libc.TLS, context uintptr) { /* test1.c:1149:13: */ p = sqlite3.Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(t1CountCtx{}))) if p != 0 { if (*t1CountCtx)(unsafe.Pointer(p)).Fn == 42 { - sqlite3.Xsqlite3_result_error(tls, context, ts+14950 /* "x_count totals t..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15731 /* "x_count totals t..." */, -1) } else { sqlite3.Xsqlite3_result_int(tls, context, func() int32 { if p != 0 { @@ -45104,25 +46654,25 @@ func test_create_aggregate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14971 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15752 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14971 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15752 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14979 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15760 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{legacyCountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{legacyCountFinalize}))) @@ -45145,8 +46695,8 @@ func test_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg defer tls.Free(40) if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14992 /* " TEXT\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15773 /* " TEXT\"" */, 0)) return TCL_ERROR } libc.Xprintf(tls, ts+294 /* "%s\n" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 1*4)))) @@ -45165,8 +46715,8 @@ func sqlite3_mprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { @@ -45192,13 +46742,13 @@ func sqlite3_mprintf_int64(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { if sqlite3.Xsqlite3Atoi64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)), (bp+88 /* &a */ +uintptr((i-2))*8), sqlite3.Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))), uint8(SQLITE_UTF8)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15020 /* "argument is not ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15801 /* "argument is not ..." */, 0)) return TCL_ERROR } } @@ -45224,8 +46774,8 @@ func sqlite3_mprintf_long(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { @@ -45253,8 +46803,8 @@ func sqlite3_mprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 var z uintptr if (argc < 4) || (argc > 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15059 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15840 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -45287,15 +46837,15 @@ func sqlite3_snprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var z uintptr if (argc < 5) || (argc > 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15085 /* " INT FORMAT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15866 /* " INT FORMAT INT ..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+88 /* &n */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 88 /* n */)) < 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15115 /* "N must be non-ne..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15896 /* "N must be non-ne..." */, 0)) return TCL_ERROR } for i = 3; i < 5; i++ { @@ -45329,8 +46879,8 @@ func sqlite3_mprintf_double(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15138 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15919 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -45361,8 +46911,8 @@ func sqlite3_mprintf_scaled(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15162 /* " FORMAT DOUBLE D..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15943 /* " FORMAT DOUBLE D..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -45387,8 +46937,8 @@ func sqlite3_mprintf_stronly(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg var z uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15185 /* " FORMAT STRING\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4)), libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 2*4)))) @@ -45415,12 +46965,12 @@ func sqlite3_mprintf_hexdouble(tls *libc.TLS, NotUsed uintptr, interp uintptr, a // var d sqlite_uint64 at bp+104, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15185 /* " FORMAT STRING\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } - if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+15201 /* "%08x%08x" */, libc.VaList(bp+32, bp+88 /* &x2 */, bp+92 /* &x1 */)) != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+15210 /* "2nd argument sho..." */, 0)) + if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+15982 /* "%08x%08x" */, libc.VaList(bp+32, bp+88 /* &x2 */, bp+92 /* &x1 */)) != 2 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+15991 /* "2nd argument sho..." */, 0)) return TCL_ERROR } *(*sqlite_uint64)(unsafe.Pointer(bp + 104 /* d */)) = sqlite_uint64(*(*uint32)(unsafe.Pointer(bp + 88 /* x2 */))) @@ -45444,7 +46994,7 @@ func test_enable_shared(tls *libc.TLS, clientData ClientData, interp uintptr, ob var ret int32 = 0 if (objc != 2) && (objc != 1) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15254 /* "?BOOLEAN?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16035 /* "?BOOLEAN?" */) return TCL_ERROR } ret = sqlite3.Xsqlite3Config.FsharedCacheEnabled @@ -45474,7 +47024,7 @@ func test_extended_result_codes(tls *libc.TLS, clientData ClientData, interp uin // var db uintptr at bp, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15264 /* "DB BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16045 /* "DB BOOLEAN" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -45518,7 +47068,7 @@ func test_table_column_metadata(tls *libc.TLS, clientData ClientData, interp uin // var autoincrement int32 at bp+36, 4 if (objc != 5) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15275 /* "DB dbname tblnam..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16056 /* "DB dbname tblnam..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+16 /* &db */) != 0 { @@ -45597,7 +47147,7 @@ func test_blob_reopen(tls *libc.TLS, clientData ClientData, interp uintptr, objc var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15301 /* "CHANNEL ROWID" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16082 /* "CHANNEL ROWID" */) return TCL_ERROR } @@ -45692,7 +47242,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp var rc int32 if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15315 /* "DB-HANDLE NAME C..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16096 /* "DB-HANDLE NAME C..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+16 /* &db */) != 0 { @@ -45712,7 +47262,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp }{testCreateCollationCmp})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testCreateCollationDel}))) if rc != SQLITE_MISUSE { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+15348 /* "sqlite3_create_c..." */, uintptr(0))) + libc.VaList(bp, ts+16129 /* "sqlite3_create_c..." */, uintptr(0))) return TCL_ERROR } rc = sqlite3.Xsqlite3_create_collation_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), SQLITE_UTF8, @@ -45818,16 +47368,16 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt var rc int32 *(*[6]EncTable)(unsafe.Pointer(bp + 24 /* aEnc */)) = [6]EncTable{ - {FzEnc: ts + 15413 /* "utf8" */, Fenc: SQLITE_UTF8}, - {FzEnc: ts + 15418 /* "utf16" */, Fenc: SQLITE_UTF16}, - {FzEnc: ts + 15424 /* "utf16le" */, Fenc: SQLITE_UTF16LE}, - {FzEnc: ts + 15432 /* "utf16be" */, Fenc: SQLITE_UTF16BE}, - {FzEnc: ts + 12463 /* "any" */, Fenc: SQLITE_ANY}, - {FzEnc: ts + 13873 /* "0" */}, + {FzEnc: ts + 16194 /* "utf8" */, Fenc: SQLITE_UTF8}, + {FzEnc: ts + 16199 /* "utf16" */, Fenc: SQLITE_UTF16}, + {FzEnc: ts + 16205 /* "utf16le" */, Fenc: SQLITE_UTF16LE}, + {FzEnc: ts + 16213 /* "utf16be" */, Fenc: SQLITE_UTF16BE}, + {FzEnc: ts + 13244 /* "any" */, Fenc: SQLITE_ANY}, + {FzEnc: ts + 14654 /* "0" */}, } if (objc < 5) || ((objc % 2) == 0) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15440 /* "DB NAME NARG ENC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16221 /* "DB NAME NARG ENC..." */) return TCL_ERROR } @@ -45839,7 +47389,7 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*4)), bp+24 /* &aEnc[0] */, int32(unsafe.Sizeof(EncTable{})), - ts+15469 /* "encoding" */, 0, bp+72 /* &enc */) != 0 { + ts+16250 /* "encoding" */, 0, bp+72 /* &enc */) != 0 { return TCL_ERROR } *(*int32)(unsafe.Pointer(bp + 72 /* enc */)) = (*EncTable)(unsafe.Pointer(bp + 24 /* &aEnc */ + uintptr(*(*int32)(unsafe.Pointer(bp + 72 /* enc */)))*8)).Fenc @@ -45852,8 +47402,8 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt for i = 5; i < objc; i = i + (2) { // var iSwitch int32 at bp+96, 4 - *(*[5]uintptr)(unsafe.Pointer(bp + 76 /* azSwitch */)) = [5]uintptr{ts + 15478 /* "-func" */, ts + 15484 /* "-step" */, ts + 15490 /* "-final" */, ts + 15497 /* "-destroy" */, uintptr(0)} - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+76 /* &azSwitch[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+15506 /* "switch" */, 0, bp+96 /* &iSwitch */) != 0 { + *(*[5]uintptr)(unsafe.Pointer(bp + 76 /* azSwitch */)) = [5]uintptr{ts + 16259 /* "-func" */, ts + 16265 /* "-step" */, ts + 16271 /* "-final" */, ts + 16278 /* "-destroy" */, uintptr(0)} + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+76 /* &azSwitch[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+16287 /* "switch" */, 0, bp+96 /* &iSwitch */) != 0 { sqlite3.Xsqlite3_free(tls, p) return TCL_ERROR } @@ -45954,7 +47504,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o var zErr uintptr = uintptr(0) if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15513 /* "DB-HANDLE FILE ?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16294 /* "DB-HANDLE FILE ?..." */) return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -45965,7 +47515,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o // Extract the C database handle from the Tcl command name if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+24 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539 /* "command not foun..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &cmdInfo */)).FobjClientData)).Fdb @@ -45974,7 +47524,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o // TCL_ERROR and load any error string into the interpreter. If no // error occurs, set rc to TCL_OK. rc = SQLITE_ERROR - zErr = sqlite3.Xsqlite3_mprintf(tls, ts+15535 /* "this build omits..." */, 0) + zErr = sqlite3.Xsqlite3_mprintf(tls, ts+16316 /* "this build omits..." */, 0) _ = zProc _ = zFile if rc != SQLITE_OK { @@ -46006,14 +47556,14 @@ func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var onoff int32 at bp+64, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15577 /* "DB-HANDLE ONOFF" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16358 /* "DB-HANDLE ONOFF" */) return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) // Extract the C database handle from the Tcl command name if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+32 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539 /* "command not foun..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &cmdInfo */)).FobjClientData)).Fdb @@ -46023,7 +47573,7 @@ func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+15535 /* "this build omits..." */)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+16316 /* "this build omits..." */)) return TCL_ERROR } @@ -46062,7 +47612,7 @@ __5: sqlite3.Xsqlite3_result_int64(tls, context, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4)))) goto __8 __7: - if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+15593 /* "string" */) == 0) { + if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+16374 /* "string" */) == 0) { goto __9 } sqlite3.Xsqlite3_result_text(tls, context, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))), -1, @@ -46081,7 +47631,7 @@ __11: sqlite3.Xsqlite3_result_null(tls, context) goto __14 __13: - if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+15600 /* "value" */) == 0) { + if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+16381 /* "value" */) == 0) { goto __15 } sqlite3.Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + uintptr(sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))*4))) @@ -46114,7 +47664,7 @@ __2: error_out: sqlite3.Xsqlite3_result_error(tls, context, - ts+15606 /* "first argument s..." */, -1) + ts+16387 /* "first argument s..." */, -1) } // Usage: sqlite_register_test_function DB NAME @@ -46128,8 +47678,8 @@ func test_register_func(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15674 /* " DB FUNCTION-NAM..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+16455 /* " DB FUNCTION-NAM..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+48 /* &db */) != 0 { @@ -46162,8 +47712,8 @@ func test_finalize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var db uintptr = uintptr(0) if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } @@ -46198,7 +47748,7 @@ func test_stmt_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // var pStmt uintptr at bp, 4 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15700 /* "STMT PARAMETER R..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16481 /* "STMT PARAMETER R..." */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &pStmt */) != 0 { @@ -46234,13 +47784,13 @@ var aOp = [7]struct { FzName uintptr Fop int32 }{ - {FzName: ts + 15725 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, - {FzName: ts + 15757 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, - {FzName: ts + 15780 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_AUTOINDEX}, - {FzName: ts + 15808 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_VM_STEP}, - {FzName: ts + 15834 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_REPREPARE}, - {FzName: ts + 15862 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_RUN}, - {FzName: ts + 15884 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_MEMUSED}, + {FzName: ts + 16506 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, + {FzName: ts + 16538 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, + {FzName: ts + 16561 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_AUTOINDEX}, + {FzName: ts + 16589 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_VM_STEP}, + {FzName: ts + 16615 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_REPREPARE}, + {FzName: ts + 16643 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_RUN}, + {FzName: ts + 16665 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_MEMUSED}, } /* test1.c:2158:5 */ // Usage: sqlite3_config_sorterref @@ -46253,7 +47803,7 @@ func test_config_sorterref(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var iVal int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15910 /* "NBYTE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+8 /* &iVal */) != 0 { @@ -46294,7 +47844,7 @@ func test_snapshot_get(tls *libc.TLS, clientData uintptr, interp uintptr, objc i *(*uintptr)(unsafe.Pointer(bp + 4 /* pSnapshot */)) = uintptr(0) if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -46328,7 +47878,7 @@ func test_snapshot_recover(tls *libc.TLS, clientData uintptr, interp uintptr, ob var zName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -46358,7 +47908,7 @@ func test_snapshot_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc var pSnapshot uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15926 /* "DB DBNAME SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16707 /* "DB DBNAME SNAPSH..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -46381,7 +47931,7 @@ func test_snapshot_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc func test_snapshot_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2428:26: */ var pSnapshot uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15945 /* "SNAPSHOT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16726 /* "SNAPSHOT" */) return TCL_ERROR } pSnapshot = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -46395,7 +47945,7 @@ func test_snapshot_cmp(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var p1 uintptr var p2 uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15954 /* "SNAPSHOT1 SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16735 /* "SNAPSHOT1 SNAPSH..." */) return TCL_ERROR } p1 = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -46417,7 +47967,7 @@ func test_snapshot_get_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o *(*uintptr)(unsafe.Pointer(bp + 4 /* pSnapshot */)) = uintptr(0) if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -46450,7 +48000,7 @@ func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, // var nBlob int32 at bp+20, 4 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15926 /* "DB DBNAME SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16707 /* "DB DBNAME SNAPSH..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+16 /* &db */) != 0 { @@ -46459,7 +48009,7 @@ func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) pBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+20 /* &nBlob */) if (uint32(*(*int32)(unsafe.Pointer(bp + 20 /* nBlob */))) != uint32(unsafe.Sizeof(sqlite3_snapshot{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15974 /* "bad SNAPSHOT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } rc = sqlite3.Xsqlite3_snapshot_open(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zName, pBlob) @@ -46483,7 +48033,7 @@ func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o // var n2 int32 at bp+20, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15954 /* "SNAPSHOT1 SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16735 /* "SNAPSHOT1 SNAPSH..." */) return TCL_ERROR } @@ -46491,7 +48041,7 @@ func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o p2 = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+20 /* &n2 */) if (uint32(*(*int32)(unsafe.Pointer(bp + 16 /* n1 */))) != uint32(unsafe.Sizeof(sqlite3_snapshot{}))) || (*(*int32)(unsafe.Pointer(bp + 16 /* n1 */)) != *(*int32)(unsafe.Pointer(bp + 20 /* n2 */))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15974 /* "bad SNAPSHOT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } @@ -46505,7 +48055,7 @@ func test_delete_database(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 var zFile uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15987 /* "FILE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16768 /* "FILE" */) return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -46528,7 +48078,7 @@ func test_atomic_batch_write(tls *libc.TLS, clientData uintptr, interp uintptr, var rc int32 // sqlite3_open() return code if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15992 /* "PATH" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16773 /* "PATH" */) return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -46564,8 +48114,8 @@ func test_next_stmt(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var zBuf [50]int8 at bp+56, 50 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15997 /* " DB STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16778 /* " DB STMT" */, 0)) return TCL_ERROR } @@ -46598,8 +48148,8 @@ func test_stmt_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46624,8 +48174,8 @@ func test_stmt_isexplain(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46650,8 +48200,8 @@ func test_stmt_busy(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46673,8 +48223,8 @@ func uses_stmt_journal(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var pStmt uintptr at bp+32, 4 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46698,8 +48248,8 @@ func test_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } @@ -46729,8 +48279,8 @@ func test_expired(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var pStmt uintptr at bp+32, 4 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &pStmt */) != 0 { @@ -46752,8 +48302,8 @@ func test_transfer_bind(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var pStmt2 uintptr at bp+36, 4 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16012 /* " FROM-STMT TO-ST..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16793 /* " FROM-STMT TO-ST..." */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &pStmt1 */) != 0 { @@ -46778,8 +48328,8 @@ func test_changes(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var db uintptr at bp+32, 4 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -46813,8 +48363,8 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var idx int32 at bp+84, 4 if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+16031 /* " VM IDX VALUE (n..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+16812 /* " VM IDX VALUE (n..." */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+80 /* &pStmt */) != 0 { @@ -46825,18 +48375,18 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv } if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+7385 /* "null" */) == 0 { rc = sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 84 /* idx */))) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16067 /* "static" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16848 /* "static" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 84 /* idx */)), sqlite_static_bind_value, -1, uintptr(0)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16074 /* "static-nbytes" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16855 /* "static-nbytes" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 84 /* idx */)), sqlite_static_bind_value, sqlite_static_bind_nbyte, uintptr(0)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16088 /* "normal" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16869 /* "normal" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 84 /* idx */)), *(*uintptr)(unsafe.Pointer(argv + 3*4)), -1, libc.UintptrFromInt32(-1)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16095 /* "blob10" */) == 0 { - rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 84 /* idx */)), ts+16102 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4)), ts+16876 /* "blob10" */) == 0 { + rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 84 /* idx */)), ts+16883 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) } else { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+32, ts+16113 /* "4th argument sho..." */, 0)) + libc.VaList(bp+32, ts+16894 /* "4th argument sho..." */, 0)) return TCL_ERROR } if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))), rc) != 0 { @@ -46845,7 +48395,7 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv if rc != 0 { // var zBuf [50]int8 at bp+88, 50 - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+88 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+48, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+88 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+48, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &zBuf[0] */, sqlite3.Xsqlite3ErrStr(tls, rc), 0)) return TCL_ERROR } @@ -46892,18 +48442,18 @@ func test_collate_func(tls *libc.TLS, pCtx uintptr, nA int32, zA uintptr, nB int var pVal uintptr var pX uintptr - pX = tcl.XTcl_NewStringObj(tls, ts+16173 /* "test_collate" */, -1) + pX = tcl.XTcl_NewStringObj(tls, ts+16954 /* "test_collate" */, -1) (*Tcl_Obj)(unsafe.Pointer(pX)).FrefCount++ switch encin { case SQLITE_UTF8: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16186 /* "UTF-8" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16967 /* "UTF-8" */, -1)) break case SQLITE_UTF16LE: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16192 /* "UTF-16LE" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16973 /* "UTF-16LE" */, -1)) break case SQLITE_UTF16BE: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16201 /* "UTF-16BE" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16982 /* "UTF-16BE" */, -1)) break default: @@ -46967,7 +48517,7 @@ __2: return TCL_ERROR __3: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16173 /* "test_collate" */, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF8, uintptr(SQLITE_UTF8), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 52 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -46985,7 +48535,7 @@ __3: return TCL_ERROR __5: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16173 /* "test_collate" */, SQLITE_UTF16LE, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF16LE, uintptr(SQLITE_UTF16LE), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 52 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -47003,7 +48553,7 @@ __6: sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* db */)))).Fmutex) pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */))) - sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16173 /* "test_collate" */, uint8(SQLITE_UTF8), uintptr(0)) + sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16954 /* "test_collate" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) if !((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* db */)))).FmallocFailed != 0) { goto __7 @@ -47043,8 +48593,8 @@ __10: return TCL_OK bad_args: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16210 /* " " */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17077 /* "" */) } zCode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -47459,7 +49009,7 @@ func test_bind_zeroblob(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16309 /* "STMT IDX N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17090 /* "STMT IDX N" */) return TCL_ERROR } @@ -47502,7 +49052,7 @@ func test_bind_zeroblob64(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16309 /* "STMT IDX N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17090 /* "STMT IDX N" */) return TCL_ERROR } @@ -47546,8 +49096,8 @@ func test_bind_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var rc int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -47724,8 +49274,8 @@ func test_bind_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -47769,8 +49319,8 @@ func test_bind_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var i int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -47825,16 +49375,16 @@ var aSpecialFp = [10]struct { FiUpper uint32 FiLower uint32 }{ - {FzName: ts + 16334 /* "NaN" */, FiUpper: uint32(0x7fffffff), FiLower: 0xffffffff}, - {FzName: ts + 16338 /* "SNaN" */, FiUpper: uint32(0x7ff7ffff), FiLower: 0xffffffff}, - {FzName: ts + 16343 /* "-NaN" */, FiUpper: 0xffffffff, FiLower: 0xffffffff}, - {FzName: ts + 16348 /* "-SNaN" */, FiUpper: 0xfff7ffff, FiLower: 0xffffffff}, - {FzName: ts + 16354 /* "+Inf" */, FiUpper: uint32(0x7ff00000)}, - {FzName: ts + 16359 /* "-Inf" */, FiUpper: 0xfff00000}, - {FzName: ts + 16364 /* "Epsilon" */, FiLower: uint32(0x00000001)}, - {FzName: ts + 16372 /* "-Epsilon" */, FiUpper: 0x80000000, FiLower: uint32(0x00000001)}, - {FzName: ts + 16381 /* "NaN0" */, FiUpper: uint32(0x7ff80000)}, - {FzName: ts + 16386 /* "-NaN0" */, FiUpper: 0xfff80000}, + {FzName: ts + 17115 /* "NaN" */, FiUpper: uint32(0x7fffffff), FiLower: 0xffffffff}, + {FzName: ts + 17119 /* "SNaN" */, FiUpper: uint32(0x7ff7ffff), FiLower: 0xffffffff}, + {FzName: ts + 17124 /* "-NaN" */, FiUpper: 0xffffffff, FiLower: 0xffffffff}, + {FzName: ts + 17129 /* "-SNaN" */, FiUpper: 0xfff7ffff, FiLower: 0xffffffff}, + {FzName: ts + 17135 /* "+Inf" */, FiUpper: uint32(0x7ff00000)}, + {FzName: ts + 17140 /* "-Inf" */, FiUpper: 0xfff00000}, + {FzName: ts + 17145 /* "Epsilon" */, FiLower: uint32(0x00000001)}, + {FzName: ts + 17153 /* "-Epsilon" */, FiUpper: 0x80000000, FiLower: uint32(0x00000001)}, + {FzName: ts + 17162 /* "NaN0" */, FiUpper: uint32(0x7ff80000)}, + {FzName: ts + 17167 /* "-NaN0" */, FiUpper: 0xfff80000}, } /* test1.c:3724:5 */ // Usage: sqlite3_bind_null STMT N @@ -47853,8 +49403,8 @@ func test_bind_null(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var rc int32 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16392 /* " STMT N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17173 /* " STMT N" */, 0)) return TCL_ERROR } @@ -47898,8 +49448,8 @@ func test_bind_text(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var toFree uintptr = uintptr(0) if objc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16400 /* " STMT N VALUE BY..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17181 /* " STMT N VALUE BY..." */, 0)) return TCL_ERROR } @@ -47969,8 +49519,8 @@ func test_bind_text16(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var oBytes uintptr = *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*4)) if (objc != 5) && (objc != 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16400 /* " STMT N VALUE BY..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17181 /* " STMT N VALUE BY..." */, 0)) return TCL_ERROR } @@ -48029,8 +49579,8 @@ func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var xDestructor sqlite3_destructor_type = libc.UintptrFromInt32(-1) if (objc != 5) && (objc != 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16420 /* " STMT N DATA BYT..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17201 /* " STMT N DATA BYT..." */, 0)) return TCL_ERROR } @@ -48055,7 +49605,7 @@ func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var zBuf [200]int8 at bp+80, 200 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+80, /* &zBuf[0] */ - ts+16439 /* "cannot use %d bl..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 76 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 72 /* len */)))) + ts+17220 /* "cannot use %d bl..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 76 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 72 /* len */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+80 /* &zBuf[0] */, uintptr(0))) return TCL_ERROR } @@ -48160,52 +49710,52 @@ __7: goto __9 } z = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4))) - if !(libc.Xstrcmp(tls, z, ts+16473 /* "-transient" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17254 /* "-transient" */) == 0) { goto __10 } isTransient = 1 xDel = libc.UintptrFromInt32(-1) goto __11 __10: - if !(libc.Xstrcmp(tls, z, ts+16484 /* "-static" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17265 /* "-static" */) == 0) { goto __12 } isStatic = 1 xDel = uintptr(0) goto __13 __12: - if !(libc.Xstrcmp(tls, z, ts+16492 /* "-int32" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17273 /* "-int32" */) == 0) { goto __14 } eType = 0 // CARRAY_INT32 goto __15 __14: - if !(libc.Xstrcmp(tls, z, ts+16499 /* "-int64" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17280 /* "-int64" */) == 0) { goto __16 } eType = 1 // CARRAY_INT64 goto __17 __16: - if !(libc.Xstrcmp(tls, z, ts+16506 /* "-double" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17287 /* "-double" */) == 0) { goto __18 } eType = 2 // CARRAY_DOUBLE goto __19 __18: - if !(libc.Xstrcmp(tls, z, ts+16514 /* "-text" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17295 /* "-text" */) == 0) { goto __20 } eType = 3 // CARRAY_TEXT goto __21 __20: - if !(libc.Xstrcmp(tls, z, ts+16520 /* "--" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17301 /* "--" */) == 0) { goto __22 } goto __9 goto __23 __22: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+12133 /* "unknown option: " */, z, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+12914 /* "unknown option: " */, z, uintptr(0))) return TCL_ERROR __23: ; @@ -48231,7 +49781,7 @@ __9: if !(((eType == 3) && !(isStatic != 0)) && !(isTransient != 0)) { goto __24 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+16523, /* "text data must b..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+17304, /* "text data must b..." */ uintptr(0))) return TCL_ERROR __24: @@ -48239,7 +49789,7 @@ __24: if !((isStatic != 0) && (isTransient != 0)) { goto __25 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+16570, /* "cannot be both -..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+17351, /* "cannot be both -..." */ uintptr(0))) return TCL_ERROR __25: @@ -48247,7 +49797,7 @@ __25: if !((objc - i) < 2) { goto __26 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16608 /* "[OPTIONS] STMT I..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17389 /* "[OPTIONS] STMT I..." */) return TCL_ERROR __26: ; @@ -48468,7 +50018,7 @@ func test_bind_parameter_count(tls *libc.TLS, clientData uintptr, interp uintptr // var pStmt uintptr at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &pStmt */) != 0 { @@ -48492,7 +50042,7 @@ func test_bind_parameter_name(tls *libc.TLS, clientData uintptr, interp uintptr, // var i int32 at bp+4, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16642 /* "STMT N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17423 /* "STMT N" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &pStmt */) != 0 { @@ -48517,7 +50067,7 @@ func test_bind_parameter_index(tls *libc.TLS, clientData uintptr, interp uintptr // var pStmt uintptr at bp, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16649 /* "STMT NAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17430 /* "STMT NAME" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &pStmt */) != 0 { @@ -48538,7 +50088,7 @@ func test_clear_bindings(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var pStmt uintptr at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &pStmt */) != 0 { @@ -48556,7 +50106,7 @@ func test_sleep(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o // var ms int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+12806 /* "MILLISECONDS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+13587 /* "MILLISECONDS" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &ms */) != 0 { @@ -48579,8 +50129,8 @@ func test_ex_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &db */) != 0 { @@ -48604,8 +50154,8 @@ func test_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &db */) != 0 { @@ -48629,8 +50179,8 @@ func test_errmsg(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zErr uintptr if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -48659,8 +50209,8 @@ func test_errmsg16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var bytes int32 = 0 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -48699,8 +50249,8 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var rc int32 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+80 /* &db */) != 0 { @@ -48732,7 +50282,7 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+96 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -48770,8 +50320,8 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+80 /* &db */) != 0 { @@ -48816,7 +50366,7 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+96 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -48856,8 +50406,8 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if (objc != 6) && (objc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16705 /* " DB sql bytes fl..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17486 /* " DB sql bytes fl..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+80 /* &db */) != 0 { @@ -48903,7 +50453,7 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+100 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+100 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+100 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -48933,8 +50483,8 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+80 /* &db */) != 0 { @@ -48947,7 +50497,7 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+88 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+88 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+88 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -48961,7 +50511,7 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj return TCL_OK } -var zSql = *(*[10]int8)(unsafe.Pointer(ts + 16733 /* "\x00SELECT 1" */)) /* test1.c:4623:21 */ +var zSql = *(*[10]int8)(unsafe.Pointer(ts + 17514 /* "\x00SELECT 1" */)) /* test1.c:4623:21 */ // Usage: sqlite3_prepare16 DB sql bytes tailvar // @@ -48988,8 +50538,8 @@ func test_prepare16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &db */) != 0 { @@ -49064,8 +50614,8 @@ func test_prepare16_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &db */) != 0 { @@ -49126,8 +50676,8 @@ func test_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob // var zBuf [100]int8 at bp+52, 100 if ((objc != 3) && (objc != 2)) && (objc != 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16743 /* " filename option..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17524 /* " filename option..." */, 0)) return TCL_ERROR } @@ -49165,7 +50715,7 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var i int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16766 /* "FILENAME FLAGS V..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17547 /* "FILENAME FLAGS V..." */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -49182,29 +50732,29 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var iFlag int32 at bp+184, 4 *(*[20]OpenFlag)(unsafe.Pointer(bp + 24 /* aFlag */)) = [20]OpenFlag{ - {FzFlag: ts + 16785 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READONLY}, - {FzFlag: ts + 16806 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READWRITE}, - {FzFlag: ts + 16828 /* "SQLITE_OPEN_CREA..." */, Fflag: SQLITE_OPEN_CREATE}, - {FzFlag: ts + 16847 /* "SQLITE_OPEN_DELE..." */, Fflag: SQLITE_OPEN_DELETEONCLOSE}, - {FzFlag: ts + 16873 /* "SQLITE_OPEN_EXCL..." */, Fflag: SQLITE_OPEN_EXCLUSIVE}, - {FzFlag: ts + 16895 /* "SQLITE_OPEN_AUTO..." */, Fflag: SQLITE_OPEN_AUTOPROXY}, - {FzFlag: ts + 16917 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_DB}, - {FzFlag: ts + 16937 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_DB}, - {FzFlag: ts + 16957 /* "SQLITE_OPEN_TRAN..." */, Fflag: SQLITE_OPEN_TRANSIENT_DB}, - {FzFlag: ts + 16982 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_JOURNAL}, - {FzFlag: ts + 17007 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_JOURNAL}, - {FzFlag: ts + 17032 /* "SQLITE_OPEN_SUBJ..." */, Fflag: SQLITE_OPEN_SUBJOURNAL}, - {FzFlag: ts + 17055 /* "SQLITE_OPEN_SUPE..." */, Fflag: SQLITE_OPEN_SUPER_JOURNAL}, - {FzFlag: ts + 17081 /* "SQLITE_OPEN_NOMU..." */, Fflag: SQLITE_OPEN_NOMUTEX}, - {FzFlag: ts + 17101 /* "SQLITE_OPEN_FULL..." */, Fflag: SQLITE_OPEN_FULLMUTEX}, - {FzFlag: ts + 17123 /* "SQLITE_OPEN_SHAR..." */, Fflag: SQLITE_OPEN_SHAREDCACHE}, - {FzFlag: ts + 17147 /* "SQLITE_OPEN_PRIV..." */, Fflag: SQLITE_OPEN_PRIVATECACHE}, - {FzFlag: ts + 17172 /* "SQLITE_OPEN_WAL" */, Fflag: SQLITE_OPEN_WAL}, - {FzFlag: ts + 17188 /* "SQLITE_OPEN_URI" */, Fflag: SQLITE_OPEN_URI}, + {FzFlag: ts + 17566 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READONLY}, + {FzFlag: ts + 17587 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READWRITE}, + {FzFlag: ts + 17609 /* "SQLITE_OPEN_CREA..." */, Fflag: SQLITE_OPEN_CREATE}, + {FzFlag: ts + 17628 /* "SQLITE_OPEN_DELE..." */, Fflag: SQLITE_OPEN_DELETEONCLOSE}, + {FzFlag: ts + 17654 /* "SQLITE_OPEN_EXCL..." */, Fflag: SQLITE_OPEN_EXCLUSIVE}, + {FzFlag: ts + 17676 /* "SQLITE_OPEN_AUTO..." */, Fflag: SQLITE_OPEN_AUTOPROXY}, + {FzFlag: ts + 17698 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_DB}, + {FzFlag: ts + 17718 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_DB}, + {FzFlag: ts + 17738 /* "SQLITE_OPEN_TRAN..." */, Fflag: SQLITE_OPEN_TRANSIENT_DB}, + {FzFlag: ts + 17763 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_JOURNAL}, + {FzFlag: ts + 17788 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_JOURNAL}, + {FzFlag: ts + 17813 /* "SQLITE_OPEN_SUBJ..." */, Fflag: SQLITE_OPEN_SUBJOURNAL}, + {FzFlag: ts + 17836 /* "SQLITE_OPEN_SUPE..." */, Fflag: SQLITE_OPEN_SUPER_JOURNAL}, + {FzFlag: ts + 17862 /* "SQLITE_OPEN_NOMU..." */, Fflag: SQLITE_OPEN_NOMUTEX}, + {FzFlag: ts + 17882 /* "SQLITE_OPEN_FULL..." */, Fflag: SQLITE_OPEN_FULLMUTEX}, + {FzFlag: ts + 17904 /* "SQLITE_OPEN_SHAR..." */, Fflag: SQLITE_OPEN_SHAREDCACHE}, + {FzFlag: ts + 17928 /* "SQLITE_OPEN_PRIV..." */, Fflag: SQLITE_OPEN_PRIVATECACHE}, + {FzFlag: ts + 17953 /* "SQLITE_OPEN_WAL" */, Fflag: SQLITE_OPEN_WAL}, + {FzFlag: ts + 17969 /* "SQLITE_OPEN_URI" */, Fflag: SQLITE_OPEN_URI}, {}, } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20 /* apFlag */)) + uintptr(i)*4)), bp+24 /* &aFlag[0] */, int32(unsafe.Sizeof(OpenFlag{})), - ts+17204 /* "flag" */, 0, bp+184 /* &iFlag */) + ts+17985 /* "flag" */, 0, bp+184 /* &iFlag */) if rc != TCL_OK { return rc } @@ -49235,8 +50785,8 @@ func test_open16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zBuf [100]int8 at bp+52, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16743 /* " filename option..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17524 /* " filename option..." */, 0)) return TCL_ERROR } @@ -49258,7 +50808,7 @@ func test_complete16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var zBuf uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17209 /* "" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17990 /* "" */) return TCL_ERROR } @@ -49300,8 +50850,8 @@ func test_step(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -49322,7 +50872,7 @@ func test_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj // var pStmt uintptr at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -49342,7 +50892,7 @@ func test_ex_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var z uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -49365,8 +50915,8 @@ func test_column_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var pStmt uintptr at bp+32, 4 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49392,8 +50942,8 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var tp int32 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49413,13 +50963,13 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in tcl.XTcl_SetResult(tls, interp, ts+5707 /* "NULL" */, uintptr(0)) break case SQLITE_FLOAT: - tcl.XTcl_SetResult(tls, interp, ts+17235 /* "FLOAT" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18016 /* "FLOAT" */, uintptr(0)) break case SQLITE_TEXT: - tcl.XTcl_SetResult(tls, interp, ts+17241 /* "TEXT" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18022 /* "TEXT" */, uintptr(0)) break case SQLITE_BLOB: - tcl.XTcl_SetResult(tls, interp, ts+17246 /* "BLOB" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18027 /* "BLOB" */, uintptr(0)) break default: @@ -49443,8 +50993,8 @@ func test_column_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var iVal i64 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49473,8 +51023,8 @@ func test_column_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var pBlob uintptr if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49505,8 +51055,8 @@ func test_column_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rVal float64 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49532,8 +51082,8 @@ func test_data_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var pStmt uintptr at bp+32, 4 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49563,8 +51113,8 @@ func test_stmt_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49611,8 +51161,8 @@ func test_stmt_utf16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49654,8 +51204,8 @@ func test_stmt_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49680,20 +51230,20 @@ func sqlite_set_magic(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // var db uintptr at bp+32, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17251 /* " DB MAGIC" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18032 /* " DB MAGIC" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { return TCL_ERROR } - if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+17261 /* "SQLITE_MAGIC_OPE..." */) == 0 { + if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+18042 /* "SQLITE_MAGIC_OPE..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_OPEN - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+17279 /* "SQLITE_MAGIC_CLO..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+18060 /* "SQLITE_MAGIC_CLO..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_CLOSED - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+17299 /* "SQLITE_MAGIC_BUS..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+18080 /* "SQLITE_MAGIC_BUS..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_BUSY - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+17317 /* "SQLITE_MAGIC_ERR..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ts+18098 /* "SQLITE_MAGIC_ERR..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_ERROR } else if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), (*(*uintptr)(unsafe.Pointer(bp + 32 /* db */))+100 /* &.magic */)) != 0 { return TCL_ERROR @@ -49711,7 +51261,7 @@ func test_interrupt(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // var db uintptr at bp+32, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -49734,8 +51284,8 @@ func delete_function(tls *libc.TLS, clientData uintptr, interp uintptr, argc int // var db uintptr at bp+32, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17336 /* " DB function-nam..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -49759,8 +51309,8 @@ func delete_collation(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // var db uintptr at bp+32, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17336 /* " DB function-nam..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+32 /* &db */) != 0 { @@ -49784,8 +51334,8 @@ func get_autocommit(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // var db uintptr at bp+56, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+56 /* &db */) != 0 { @@ -49811,8 +51361,8 @@ func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc i // var db uintptr at bp+48, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+48 /* &db */) != 0 { @@ -49833,7 +51383,7 @@ func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc i func tcl_variable_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5514:26: */ var pVar uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17354 /* "VARIABLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18135 /* "VARIABLE" */) return TCL_ERROR } pVar = tcl.XTcl_GetVar2Ex(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0), TCL_LEAVE_ERR_MSG) @@ -49859,7 +51409,7 @@ func test_release_memory(tls *libc.TLS, clientData uintptr, interp uintptr, objc var amt int32 if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -49957,7 +51507,7 @@ func test_db_filename(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var zDbName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+16 /* &db */) != 0 { @@ -49980,7 +51530,7 @@ func test_db_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var zDbName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -50003,7 +51553,7 @@ func test_soft_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, obj var amt sqlite3_int64 *(*Tcl_WideInt)(unsafe.Pointer(bp /* N */)) = int64(-1) if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -50028,7 +51578,7 @@ func test_hard_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, obj var amt sqlite3_int64 *(*Tcl_WideInt)(unsafe.Pointer(bp /* N */)) = int64(-1) if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -50065,8 +51615,8 @@ func test_pager_refcounts(tls *libc.TLS, clientData uintptr, interp uintptr, obj var pResult uintptr if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -50103,7 +51653,7 @@ func working_64bit_int(tls *libc.TLS, clientData ClientData, interp uintptr, obj var working int32 = 0 pTestObj = tcl.XTcl_NewWideIntObj(tls, (int64(1000000) * int64(1234567890))) - working = (libc.Bool32(libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, pTestObj), ts+17367 /* "1234567890000000" */) == 0)) + working = (libc.Bool32(libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, pTestObj), ts+18148 /* "1234567890000000" */) == 0)) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pTestObj if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -50133,8 +51683,8 @@ func vfs_unlink_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var two sqlite3_vfs at bp+88, 88 sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(0)) // Unregister of NULL is harmless - (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 17384 /* "__one" */ - (*sqlite3_vfs)(unsafe.Pointer(bp + 88 /* &two */)).FzName = ts + 17390 /* "__two" */ + (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 18165 /* "__one" */ + (*sqlite3_vfs)(unsafe.Pointer(bp + 88 /* &two */)).FzName = ts + 18171 /* "__two" */ // Calling sqlite3_vfs_register with 2nd argument of 0 does not // change the default VFS @@ -50207,7 +51757,7 @@ func vfs_initfail_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj // var one sqlite3_vfs at bp, 88 - (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 17384 /* "__one" */ + (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 18165 /* "__one" */ if sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) != 0 { return TCL_ERROR @@ -50271,8 +51821,8 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj _ = rc if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -50280,7 +51830,7 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), uintptr(0), 0, bp+36 /* &iArg */) - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+17396 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+36 /* &iArg */) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+18177 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+36 /* &iArg */) rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+85 /* "main" */, -1, bp+36 /* &iArg */) @@ -50303,8 +51853,8 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+64 /* &db */) != 0 { @@ -50316,7 +51866,7 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 68 /* iArg */)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17409, /* "Unexpected non-z..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18190, /* "Unexpected non-z..." */ tcl.XTcl_GetStringFromObj(tls, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 68 /* iArg */))), uintptr(0)), ts+4755 /* " " */, 0)) return TCL_ERROR } @@ -50340,7 +51890,7 @@ func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uint // var zBuf [100]int8 at bp+16, 100 if (objc != 3) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17437 /* "DB [DBNAME]" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18218 /* "DB [DBNAME]" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+8 /* &db */) != 0 { @@ -50357,7 +51907,7 @@ func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uint tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) return TCL_ERROR } else { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+16 /* &zBuf[0] */, ts+17449 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 12 /* iVers */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+16 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 12 /* iVers */)))) tcl.XTcl_SetResult(tls, interp, bp+16 /* zBuf */, uintptr(1)) return TCL_OK } @@ -50381,7 +51931,7 @@ func file_control_chunksize_test(tls *libc.TLS, clientData ClientData, interp ui var rc int32 // file_control() return code if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17452 /* "DB DBNAME SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18233 /* "DB DBNAME SIZE" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0) || @@ -50417,7 +51967,7 @@ func file_control_sizehint_test(tls *libc.TLS, clientData ClientData, interp uin var rc int32 // file_control() return code if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17452 /* "DB DBNAME SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18233 /* "DB DBNAME SIZE" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0) || @@ -50449,8 +51999,8 @@ func file_control_lockproxy_test(tls *libc.TLS, clientData ClientData, interp ui // var db uintptr at bp+32, 4 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17467 /* " DB PWD" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18248 /* " DB PWD" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -50476,8 +52026,8 @@ func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintp // var z [100]int8 at bp+72, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17475 /* " DB FLAG" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18256 /* " DB FLAG" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+64 /* &db */) != 0 { @@ -50487,7 +52037,7 @@ func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintp return TCL_ERROR } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_PERSIST_WAL, bp+68 /* &bPersist */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &z[0] */, ts+17484 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 68 /* bPersist */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &z[0] */, ts+18265 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 68 /* bPersist */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+72 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -50508,8 +52058,8 @@ func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, inte // var z [100]int8 at bp+72, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17475 /* " DB FLAG" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18256 /* " DB FLAG" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+64 /* &db */) != 0 { @@ -50519,7 +52069,7 @@ func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, inte return TCL_ERROR } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_POWERSAFE_OVERWRITE, bp+68 /* &b */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &z[0] */, ts+17484 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 68 /* b */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &z[0] */, ts+18265 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 68 /* b */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+72 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -50537,8 +52087,8 @@ func file_control_vfsname(tls *libc.TLS, clientData ClientData, interp uintptr, *(*uintptr)(unsafe.Pointer(bp + 52 /* zVfsName */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17490 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18271 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &db */) != 0 { @@ -50565,7 +52115,7 @@ func file_control_reservebytes(tls *libc.TLS, clientData ClientData, interp uint var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17502 /* "DB N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18283 /* "DB N" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0) || @@ -50591,8 +52141,8 @@ func file_control_tempfilename(tls *libc.TLS, clientData ClientData, interp uint *(*uintptr)(unsafe.Pointer(bp + 52 /* zTName */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17490 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18271 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &db */) != 0 { @@ -50621,8 +52171,8 @@ func file_control_external_reader(tls *libc.TLS, clientData ClientData, interp u var rc int32 = SQLITE_OK if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17490 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18271 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0 { @@ -50675,8 +52225,8 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 var zId uintptr if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17507 /* " DB ID VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18288 /* " DB ID VALUE" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+56 /* &db */) != 0 { @@ -50696,7 +52246,7 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 FzName uintptr Fid int32 }{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17520 /* "unknown limit ty..." */, zId, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18301 /* "unknown limit ty..." */, zId, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+60 /* &val */) != 0 { @@ -50711,22 +52261,22 @@ var aId = [14]struct { FzName uintptr Fid int32 }{ - {FzName: ts + 17541 /* "SQLITE_LIMIT_LEN..." */}, - {FzName: ts + 17561 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, - {FzName: ts + 17585 /* "SQLITE_LIMIT_COL..." */, Fid: SQLITE_LIMIT_COLUMN}, - {FzName: ts + 17605 /* "SQLITE_LIMIT_EXP..." */, Fid: SQLITE_LIMIT_EXPR_DEPTH}, - {FzName: ts + 17629 /* "SQLITE_LIMIT_COM..." */, Fid: SQLITE_LIMIT_COMPOUND_SELECT}, - {FzName: ts + 17658 /* "SQLITE_LIMIT_VDB..." */, Fid: SQLITE_LIMIT_VDBE_OP}, - {FzName: ts + 17679 /* "SQLITE_LIMIT_FUN..." */, Fid: SQLITE_LIMIT_FUNCTION_ARG}, - {FzName: ts + 17705 /* "SQLITE_LIMIT_ATT..." */, Fid: SQLITE_LIMIT_ATTACHED}, - {FzName: ts + 17727 /* "SQLITE_LIMIT_LIK..." */, Fid: SQLITE_LIMIT_LIKE_PATTERN_LENGTH}, - {FzName: ts + 17760 /* "SQLITE_LIMIT_VAR..." */, Fid: SQLITE_LIMIT_VARIABLE_NUMBER}, - {FzName: ts + 17789 /* "SQLITE_LIMIT_TRI..." */, Fid: SQLITE_LIMIT_TRIGGER_DEPTH}, - {FzName: ts + 17816 /* "SQLITE_LIMIT_WOR..." */, Fid: SQLITE_LIMIT_WORKER_THREADS}, + {FzName: ts + 18322 /* "SQLITE_LIMIT_LEN..." */}, + {FzName: ts + 18342 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, + {FzName: ts + 18366 /* "SQLITE_LIMIT_COL..." */, Fid: SQLITE_LIMIT_COLUMN}, + {FzName: ts + 18386 /* "SQLITE_LIMIT_EXP..." */, Fid: SQLITE_LIMIT_EXPR_DEPTH}, + {FzName: ts + 18410 /* "SQLITE_LIMIT_COM..." */, Fid: SQLITE_LIMIT_COMPOUND_SELECT}, + {FzName: ts + 18439 /* "SQLITE_LIMIT_VDB..." */, Fid: SQLITE_LIMIT_VDBE_OP}, + {FzName: ts + 18460 /* "SQLITE_LIMIT_FUN..." */, Fid: SQLITE_LIMIT_FUNCTION_ARG}, + {FzName: ts + 18486 /* "SQLITE_LIMIT_ATT..." */, Fid: SQLITE_LIMIT_ATTACHED}, + {FzName: ts + 18508 /* "SQLITE_LIMIT_LIK..." */, Fid: SQLITE_LIMIT_LIKE_PATTERN_LENGTH}, + {FzName: ts + 18541 /* "SQLITE_LIMIT_VAR..." */, Fid: SQLITE_LIMIT_VARIABLE_NUMBER}, + {FzName: ts + 18570 /* "SQLITE_LIMIT_TRI..." */, Fid: SQLITE_LIMIT_TRIGGER_DEPTH}, + {FzName: ts + 18597 /* "SQLITE_LIMIT_WOR..." */, Fid: SQLITE_LIMIT_WORKER_THREADS}, // Out of range test cases - {FzName: ts + 17844 /* "SQLITE_LIMIT_TOO..." */, Fid: -1}, - {FzName: ts + 17866 /* "SQLITE_LIMIT_TOO..." */, Fid: (SQLITE_LIMIT_WORKER_THREADS + 1)}, + {FzName: ts + 18625 /* "SQLITE_LIMIT_TOO..." */, Fid: -1}, + {FzName: ts + 18647 /* "SQLITE_LIMIT_TOO..." */, Fid: (SQLITE_LIMIT_WORKER_THREADS + 1)}, } /* test1.c:6595:5 */ // tclcmd: save_prng_state @@ -50776,7 +52326,7 @@ func prng_seed(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, *(*int32)(unsafe.Pointer(bp + 16 /* i */)) = 0 *(*uintptr)(unsafe.Pointer(bp + 20 /* db */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17886 /* "SEED ?DB?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18667 /* "SEED ?DB?" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+16 /* &i */) != 0 { @@ -50801,7 +52351,7 @@ func extra_schema_checks(tls *libc.TLS, clientData ClientData, interp uintptr, o *(*int32)(unsafe.Pointer(bp + 8 /* i */)) = 0 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+8 /* &i */) != 0 { @@ -50854,13 +52404,13 @@ func test_pcache_stats(tls *libc.TLS, clientData ClientData, interp uintptr, obj sqlite3.Xsqlite3PcacheStats(tls, bp /* &nCurrent */, bp+4 /* &nMax */, bp+8 /* &nMin */, bp+12 /* &nRecyclable */) pRet = tcl.XTcl_NewObj(tls) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17904 /* "current" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18685 /* "current" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp /* nCurrent */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17912 /* "max" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18693 /* "max" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4 /* nMax */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17916 /* "min" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18697 /* "min" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 8 /* nMin */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17920 /* "recyclable" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18701 /* "recyclable" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 12 /* nRecyclable */)))) tcl.XTcl_SetObjResult(tls, interp, pRet) @@ -50871,7 +52421,7 @@ func test_pcache_stats(tls *libc.TLS, clientData ClientData, interp uintptr, obj func test_unlock_notify_cb(tls *libc.TLS, aArg uintptr, nArg int32) { /* test1.c:6808:13: */ var ii int32 for ii = 0; ii < nArg; ii++ { - tcl.XTcl_EvalEx(tls, *(*uintptr)(unsafe.Pointer(aArg + uintptr(ii)*4)), ts+13372 /* "unlock_notify" */, -1, TCL_EVAL_GLOBAL) + tcl.XTcl_EvalEx(tls, *(*uintptr)(unsafe.Pointer(aArg + uintptr(ii)*4)), ts+14153 /* "unlock_notify" */, -1, TCL_EVAL_GLOBAL) } } @@ -50910,7 +52460,7 @@ func test_wal_checkpoint(tls *libc.TLS, clientData ClientData, interp uintptr, o var rc int32 if (objc != 3) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17931 /* "DB ?NAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18712 /* "DB ?NAME?" */) return TCL_ERROR } @@ -50955,10 +52505,10 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr *(*int32)(unsafe.Pointer(bp + 64 /* nCkpt */)) = -555 var pRet uintptr - *(*[5]uintptr)(unsafe.Pointer(bp + 40 /* aMode */)) = [5]uintptr{ts + 17941 /* "passive" */, ts + 17949 /* "full" */, ts + 17954 /* "restart" */, ts + 17962 /* "truncate" */, uintptr(0)} + *(*[5]uintptr)(unsafe.Pointer(bp + 40 /* aMode */)) = [5]uintptr{ts + 18722 /* "passive" */, ts + 18730 /* "full" */, ts + 18735 /* "restart" */, ts + 18743 /* "truncate" */, uintptr(0)} if (objc != 3) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17971 /* "DB MODE ?NAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18752 /* "DB MODE ?NAME?" */) return TCL_ERROR } @@ -50966,7 +52516,7 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))) } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+32 /* &db */) != 0) || ((TCL_OK != tcl.XTcl_GetIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+36 /* &eMode */)) && - (TCL_OK != tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+40 /* &aMode[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+17986 /* "mode" */, 0, bp+36 /* &eMode */))) { + (TCL_OK != tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+40 /* &aMode[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+18767 /* "mode" */, 0, bp+36 /* &eMode */))) { return TCL_ERROR } @@ -51003,7 +52553,7 @@ func test_wal_autocheckpoint(tls *libc.TLS, clientData ClientData, interp uintpt // var iVal int32 at bp+4, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17991 /* "DB VALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18772 /* "DB VALUE" */) return TCL_ERROR } @@ -51052,7 +52602,7 @@ func test_sqlite3_log(tls *libc.TLS, clientData ClientData, interp uintptr, objc defer tls.Free(32) if objc > 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11583 /* "SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10650 /* "SCRIPT" */) return TCL_ERROR } if logcallback.FpObj != 0 { @@ -51088,16 +52638,16 @@ func runAsObjProc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var cmdInfo Tcl_CmdInfo at bp+48, 32 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18000 /* "COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18781 /* "COMMAND ..." */) return TCL_ERROR } if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+48 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539, /* "command not foun..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } if (*Tcl_CmdInfo)(unsafe.Pointer(bp+48 /* &cmdInfo */)).FobjProc == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18012, /* "command has no o..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18793, /* "command has no o..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } @@ -51142,7 +52692,7 @@ func printExplainQueryPlan(tls *libc.TLS, pStmt uintptr) int32 { /* test1.c:7063 var iFrom int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 2) var zDetail uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 3) - libc.Xprintf(tls, ts+18037 /* "%d %d %d %s\n" */, libc.VaList(bp+8, iSelectid, iOrder, iFrom, zDetail)) + libc.Xprintf(tls, ts+18818 /* "%d %d %d %s\n" */, libc.VaList(bp+8, iSelectid, iOrder, iFrom, zDetail)) } return sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */))) @@ -51156,7 +52706,7 @@ func test_print_eqp(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var pStmt uintptr at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &pStmt */) != 0 { @@ -51177,10 +52727,10 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i defer tls.Free(128) *(*[4]Verb)(unsafe.Pointer(bp + 64 /* aVerb */)) = [4]Verb{ - {FzName: ts + 18050 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT}, - {FzName: ts + 18082 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_SORTER_MMAP}, - {FzName: ts + 18110 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_IMPOSTER}, - {FzName: ts + 18135 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS}, + {FzName: ts + 18831 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT}, + {FzName: ts + 18863 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_SORTER_MMAP}, + {FzName: ts + 18891 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_IMPOSTER}, + {FzName: ts + 18916 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS}, } // var iVerb int32 at bp+96, 4 @@ -51188,12 +52738,12 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var rc int32 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18170 /* "VERB ARGS..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18951 /* "VERB ARGS..." */) return TCL_ERROR } rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+64 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+18183 /* "VERB" */, 0, bp+96 /* &iVerb */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+64 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+18964 /* "VERB" */, 0, bp+96 /* &iVerb */) if rc != TCL_OK { return rc } @@ -51219,7 +52769,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var val int32 at bp+104, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18188 /* "ONOFF" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18969 /* "ONOFF" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+104 /* &val */) != 0 { @@ -51237,7 +52787,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+108, 4 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18194 /* "DB LIMIT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18975 /* "DB LIMIT" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), bp+108 /* &db */) != 0 { @@ -51261,7 +52811,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+116, 4 if objc != 6 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18203 /* "DB dbName onOff ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18984 /* "DB dbName onOff ..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), bp+116 /* &db */) != 0 { @@ -51388,7 +52938,7 @@ func test_getrusage(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 libc.Xgetrusage(tls, RUSAGE_SELF, bp+48 /* &r */) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1024]int8{})), bp+120, /* &buf[0] */ - ts+18224, /* "ru_utime=%d.%06d..." */ + ts+19005, /* "ru_utime=%d.%06d..." */ libc.VaList(bp, int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_utime.Ftv_sec), int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_utime.Ftv_usec), int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_stime.Ftv_sec), int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_stime.Ftv_usec), int32(*(*int32)(unsafe.Pointer(bp + 48 /* &r */ + 32 /* &.ru_minflt */))), int32(*(*int32)(unsafe.Pointer(bp + 48 /* &r */ + 36 /* &.ru_majflt */))))) @@ -51414,7 +52964,7 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj var mask int32 = 0 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18284 /* "DB OPT BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19065 /* "DB OPT BOOLEAN" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+56 /* &db */) != 0 { @@ -51440,7 +52990,7 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj FzOptName uintptr Fmask int32 }{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18299, /* "unknown optimiza..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19080, /* "unknown optimiza..." */ uintptr(0))) for i = 0; uint32(i) < (uint32(unsafe.Sizeof(aOpt)) / uint32(unsafe.Sizeof(struct { FzOptName uintptr @@ -51458,19 +53008,19 @@ var aOpt = [13]struct { FzOptName uintptr Fmask int32 }{ - {FzOptName: ts + 18340 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, - {FzOptName: ts + 18344 /* "none" */}, - {FzOptName: ts + 18349 /* "query-flattener" */, Fmask: SQLITE_QueryFlattener}, - {FzOptName: ts + 18365 /* "groupby-order" */, Fmask: SQLITE_GroupByOrder}, - {FzOptName: ts + 18379 /* "factor-constants" */, Fmask: SQLITE_FactorOutConst}, - {FzOptName: ts + 18396 /* "distinct-opt" */, Fmask: SQLITE_DistinctOpt}, - {FzOptName: ts + 18409 /* "cover-idx-scan" */, Fmask: SQLITE_CoverIdxScan}, - {FzOptName: ts + 18424 /* "order-by-idx-joi..." */, Fmask: SQLITE_OrderByIdxJoin}, - {FzOptName: ts + 18442 /* "transitive" */, Fmask: SQLITE_Transitive}, - {FzOptName: ts + 18453 /* "omit-noop-join" */, Fmask: SQLITE_OmitNoopJoin}, - {FzOptName: ts + 18468 /* "stat4" */, Fmask: SQLITE_Stat4}, - {FzOptName: ts + 18474 /* "skip-scan" */, Fmask: SQLITE_SkipScan}, - {FzOptName: ts + 18484 /* "push-down" */, Fmask: SQLITE_PushDown}, + {FzOptName: ts + 19121 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, + {FzOptName: ts + 19125 /* "none" */}, + {FzOptName: ts + 19130 /* "query-flattener" */, Fmask: SQLITE_QueryFlattener}, + {FzOptName: ts + 19146 /* "groupby-order" */, Fmask: SQLITE_GroupByOrder}, + {FzOptName: ts + 19160 /* "factor-constants" */, Fmask: SQLITE_FactorOutConst}, + {FzOptName: ts + 19177 /* "distinct-opt" */, Fmask: SQLITE_DistinctOpt}, + {FzOptName: ts + 19190 /* "cover-idx-scan" */, Fmask: SQLITE_CoverIdxScan}, + {FzOptName: ts + 19205 /* "order-by-idx-joi..." */, Fmask: SQLITE_OrderByIdxJoin}, + {FzOptName: ts + 19223 /* "transitive" */, Fmask: SQLITE_Transitive}, + {FzOptName: ts + 19234 /* "omit-noop-join" */, Fmask: SQLITE_OmitNoopJoin}, + {FzOptName: ts + 19249 /* "stat4" */, Fmask: SQLITE_Stat4}, + {FzOptName: ts + 19255 /* "skip-scan" */, Fmask: SQLITE_SkipScan}, + {FzOptName: ts + 19265 /* "push-down" */, Fmask: SQLITE_PushDown}, } /* test1.c:7503:5 */ // load_static_extension DB NAME ... @@ -51488,7 +53038,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr var rc int32 *(*uintptr)(unsafe.Pointer(bp + 68 /* zErrMsg */)) = uintptr(0) if objc < 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18494 /* "DB NAME ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19275 /* "DB NAME ..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+64 /* &db */) != 0 { @@ -51508,7 +53058,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr FzExtName uintptr FpInit uintptr }{})))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18506 /* "no such extensio..." */, zName, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19287 /* "no such extensio..." */, zName, uintptr(0))) return TCL_ERROR } if aExtension[i].FpInit != 0 { @@ -51517,7 +53067,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr rc = SQLITE_OK } if ((rc != SQLITE_OK) && (rc != (SQLITE_OK | (int32(1) << 8)))) || (*(*uintptr)(unsafe.Pointer(bp + 68 /* zErrMsg */)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18526 /* "initialization o..." */, zName, ts+18545 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 68 /* zErrMsg */)), + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+19307 /* "initialization o..." */, zName, ts+19326 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 68 /* zErrMsg */)), uintptr(0))) sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 68 /* zErrMsg */))) return TCL_ERROR @@ -51530,25 +53080,25 @@ var aExtension = [22]struct { FzExtName uintptr FpInit uintptr }{ - {FzExtName: ts + 18555 /* "amatch" */, FpInit: 0}, - {FzExtName: ts + 18562 /* "appendvfs" */, FpInit: 0}, + {FzExtName: ts + 19336 /* "amatch" */, FpInit: 0}, + {FzExtName: ts + 19343 /* "appendvfs" */, FpInit: 0}, {FzExtName: ts + 3921 /* "carray" */, FpInit: 0}, - {FzExtName: ts + 18572 /* "closure" */, FpInit: 0}, + {FzExtName: ts + 19353 /* "closure" */, FpInit: 0}, {FzExtName: ts + 4676 /* "csv" */, FpInit: 0}, {FzExtName: ts + 4699 /* "decimal" */, FpInit: 0}, {FzExtName: ts + 4757 /* "eval" */, FpInit: 0}, {FzExtName: ts + 4835 /* "explain" */, FpInit: 0}, - {FzExtName: ts + 18580 /* "fileio" */, FpInit: 0}, + {FzExtName: ts + 19361 /* "fileio" */, FpInit: 0}, {FzExtName: ts + 5344 /* "fuzzer" */, FpInit: 0}, {FzExtName: ts + 5368 /* "ieee754" */, FpInit: 0}, - {FzExtName: ts + 18587 /* "nextchar" */, FpInit: 0}, + {FzExtName: ts + 19368 /* "nextchar" */, FpInit: 0}, {FzExtName: ts + 5948 /* "percentile" */, FpInit: 0}, {FzExtName: ts + 6023 /* "prefixes" */, FpInit: 0}, {FzExtName: ts + 6335 /* "regexp" */, FpInit: 0}, {FzExtName: ts + 6350 /* "remember" */, FpInit: 0}, - {FzExtName: ts + 18596 /* "series" */, FpInit: 0}, - {FzExtName: ts + 18603 /* "spellfix" */, FpInit: 0}, - {FzExtName: ts + 18612 /* "totype" */, FpInit: 0}, + {FzExtName: ts + 19377 /* "series" */, FpInit: 0}, + {FzExtName: ts + 19384 /* "spellfix" */, FpInit: 0}, + {FzExtName: ts + 19393 /* "totype" */, FpInit: 0}, {FzExtName: ts + 8367 /* "unionvtab" */, FpInit: 0}, {FzExtName: ts + 8909 /* "wholenumber" */, FpInit: 0}, {FzExtName: ts + 9012 /* "zipfile" */, FpInit: 0}, @@ -51563,7 +53113,7 @@ func sorter_test_fakeheap(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var bArg int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } @@ -51618,7 +53168,7 @@ func sorter_test_sort4_helper(tls *libc.TLS, clientData uintptr, interp uintptr, if !(objc != 5) { goto __1 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18624 /* "DB SQL1 NSTEP SQ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19400 /* "DB SQL1 NSTEP SQ..." */) return TCL_ERROR __1: ; @@ -51656,7 +53206,7 @@ __5: if !(a != sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), iB)) { goto __8 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18643 /* "data error: (a!=..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19419 /* "data error: (a!=..." */, 0)) return TCL_ERROR __8: ; @@ -51709,14 +53259,14 @@ __14: if !(iCksum1 != iCksum2) { goto __15 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+18662 /* "checksum mismatc..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19438 /* "checksum mismatc..." */, 0)) return TCL_ERROR __15: ; return TCL_OK sql_error: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18680 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19456 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))), 0)) return TCL_ERROR } @@ -51744,7 +53294,7 @@ func test_bad_behavior(tls *libc.TLS, clientData ClientData, interp uintptr, obj var a uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18692 /* "TYPE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19468 /* "TYPE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &iType */) != 0 { @@ -51782,7 +53332,7 @@ func test_bad_behavior(tls *libc.TLS, clientData ClientData, interp uintptr, obj } case 4: { - tcl.XTcl_Panic(tls, ts+18697 /* "Deliberate panic" */, 0) + tcl.XTcl_Panic(tls, ts+19473 /* "Deliberate panic" */, 0) break } @@ -51826,20 +53376,20 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o // var db uintptr at bp+16, 4 if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18714 /* "DB SETTING [VALU..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19490 /* "DB SETTING [VALU..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+16 /* &db */) != 0 { return TCL_ERROR } zSetting = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) - if sqlite3.Xsqlite3_strglob(tls, ts+18733 /* "SQLITE_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19509 /* "SQLITE_*" */, zSetting) == 0 { zSetting += uintptr(7) } - if sqlite3.Xsqlite3_strglob(tls, ts+18742 /* "DBCONFIG_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19518 /* "DBCONFIG_*" */, zSetting) == 0 { zSetting += uintptr(9) } - if sqlite3.Xsqlite3_strglob(tls, ts+18753 /* "ENABLE_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19529 /* "ENABLE_*" */, zSetting) == 0 { zSetting += uintptr(7) } for i = 0; i < (int32(uint32(unsafe.Sizeof(aSetting)) / uint32(unsafe.Sizeof(struct { @@ -51855,7 +53405,7 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o FeVal int32 }{})))) { tcl.XTcl_SetObjResult(tls, interp, - tcl.XTcl_NewStringObj(tls, ts+18762 /* "unknown sqlite3_..." */, -1)) + tcl.XTcl_NewStringObj(tls, ts+19538 /* "unknown sqlite3_..." */, -1)) return TCL_ERROR } if objc == 4 { @@ -51874,20 +53424,20 @@ var aSetting = [14]struct { FzName uintptr FeVal int32 }{ - {FzName: ts + 18796 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, - {FzName: ts + 18801 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, - {FzName: ts + 18809 /* "FTS3_TOKENIZER" */, FeVal: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, - {FzName: ts + 18824 /* "LOAD_EXTENSION" */, FeVal: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, - {FzName: ts + 18839 /* "NO_CKPT_ON_CLOSE" */, FeVal: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, - {FzName: ts + 18856 /* "QPSG" */, FeVal: SQLITE_DBCONFIG_ENABLE_QPSG}, - {FzName: ts + 18861 /* "TRIGGER_EQP" */, FeVal: SQLITE_DBCONFIG_TRIGGER_EQP}, - {FzName: ts + 18873 /* "RESET_DB" */, FeVal: SQLITE_DBCONFIG_RESET_DATABASE}, - {FzName: ts + 18882 /* "DEFENSIVE" */, FeVal: SQLITE_DBCONFIG_DEFENSIVE}, - {FzName: ts + 18892 /* "WRITABLE_SCHEMA" */, FeVal: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, - {FzName: ts + 18908 /* "LEGACY_ALTER_TAB..." */, FeVal: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, - {FzName: ts + 18927 /* "DQS_DML" */, FeVal: SQLITE_DBCONFIG_DQS_DML}, - {FzName: ts + 18935 /* "DQS_DDL" */, FeVal: SQLITE_DBCONFIG_DQS_DDL}, - {FzName: ts + 18943 /* "LEGACY_FILE_FORM..." */, FeVal: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, + {FzName: ts + 19572 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, + {FzName: ts + 19577 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, + {FzName: ts + 19585 /* "FTS3_TOKENIZER" */, FeVal: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, + {FzName: ts + 19600 /* "LOAD_EXTENSION" */, FeVal: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, + {FzName: ts + 19615 /* "NO_CKPT_ON_CLOSE" */, FeVal: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, + {FzName: ts + 19632 /* "QPSG" */, FeVal: SQLITE_DBCONFIG_ENABLE_QPSG}, + {FzName: ts + 19637 /* "TRIGGER_EQP" */, FeVal: SQLITE_DBCONFIG_TRIGGER_EQP}, + {FzName: ts + 19649 /* "RESET_DB" */, FeVal: SQLITE_DBCONFIG_RESET_DATABASE}, + {FzName: ts + 19658 /* "DEFENSIVE" */, FeVal: SQLITE_DBCONFIG_DEFENSIVE}, + {FzName: ts + 19668 /* "WRITABLE_SCHEMA" */, FeVal: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, + {FzName: ts + 19684 /* "LEGACY_ALTER_TAB..." */, FeVal: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, + {FzName: ts + 19703 /* "DQS_DML" */, FeVal: SQLITE_DBCONFIG_DQS_DML}, + {FzName: ts + 19711 /* "DQS_DDL" */, FeVal: SQLITE_DBCONFIG_DQS_DDL}, + {FzName: ts + 19719 /* "LEGACY_FILE_FORM..." */, FeVal: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, } /* test1.c:7986:5 */ // tclcmd: sqlite3_txn_state DB ?SCHEMA? @@ -51905,7 +53455,7 @@ func test_sqlite3_txn_state(tls *libc.TLS, clientData uintptr, interp uintptr, o var iTxn int32 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18962 /* "DB ?SCHEMA?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19738 /* "DB ?SCHEMA?" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -51936,7 +53486,7 @@ func test_dbconfig_maindbname_icecube(tls *libc.TLS, clientData uintptr, interp if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+8 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+18974 /* "icecube" */)) + rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+19750 /* "icecube" */)) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_OK } @@ -51949,7 +53499,7 @@ func test_mmap_warm(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 defer tls.Free(4) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18982 /* "DB ?DBNAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19758 /* "DB ?DBNAME?" */) return TCL_ERROR } else { var rc int32 @@ -51986,7 +53536,7 @@ func test_write_db(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18994 /* "DB OFFSET DATA" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19770 /* "DB OFFSET DATA" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -52056,7 +53606,7 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var x [16]uint32 at bp+232, 64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19009 /* "HEXDB" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19785 /* "HEXDB" */) return TCL_ERROR } zIn = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -52073,17 +53623,17 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i if a == uintptr(0) { // var pgsz int32 at bp+220, 4 - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19015 /* "| size %d pagesi..." */, libc.VaList(bp, bp+216 /* &n */, bp+220 /* &pgsz */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19791 /* "| size %d pagesi..." */, libc.VaList(bp, bp+216 /* &n */, bp+220 /* &pgsz */)) if rc != 2 { continue } if ((*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) < 512) || (*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) > 65536)) || ((*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) - 1)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19037 /* "bad 'pagesize' f..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19813 /* "bad 'pagesize' f..." */, uintptr(0))) return TCL_ERROR } *(*int32)(unsafe.Pointer(bp + 216 /* n */)) = (((*(*int32)(unsafe.Pointer(bp + 216 /* n */)) + *(*int32)(unsafe.Pointer(bp + 220 /* pgsz */))) - 1) & ^(*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) - 1)) // Round n up to the next multiple of pgsz if *(*int32)(unsafe.Pointer(bp + 216 /* n */)) < 512 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19058 /* "bad 'size' field" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19834 /* "bad 'size' field" */, uintptr(0))) return TCL_ERROR } a = libc.Xmalloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 216 /* n */)))) @@ -52094,12 +53644,12 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i libc.Xmemset(tls, a, 0, uint32(*(*int32)(unsafe.Pointer(bp + 216 /* n */)))) continue } - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19075 /* "| page %d offset..." */, libc.VaList(bp+64, bp+224 /* &j */, bp+228 /* &k */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19851 /* "| page %d offset..." */, libc.VaList(bp+64, bp+224 /* &j */, bp+228 /* &k */)) if rc == 2 { iOffset = *(*int32)(unsafe.Pointer(bp + 228 /* k */)) continue } - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19095, /* "| %d: %x %x %x %..." */ + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19871, /* "| %d: %x %x %x %..." */ libc.VaList(bp+80, bp+224 /* &j */, (bp+232 /* &x */), (bp+232 /* &x */ +1*4), (bp+232 /* &x */ +2*4), (bp+232 /* &x */ +3*4), (bp+232 /* &x */ +4*4), (bp+232 /* &x */ +5*4), (bp+232 /* &x */ +6*4), (bp+232 /* &x */ +7*4), (bp+232 /* &x */ +8*4), (bp+232 /* &x */ +9*4), (bp+232 /* &x */ +10*4), (bp+232 /* &x */ +11*4), (bp+232 /* &x */ +12*4), (bp+232 /* &x */ +13*4), (bp+232 /* &x */ +14*4), (bp+232 /* &x */ +15*4))) if rc == 17 { @@ -52136,56 +53686,56 @@ func Sqlitetest1_Init(tls *libc.TLS, interp uintptr) int32 { /* test1.c:8271:5: tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd1[i].FzName, aObjCmd1[i].FxProc, aObjCmd1[i].FclientData, uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+19149, /* "sqlite_search_co..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19925, /* "sqlite_search_co..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_search_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19169, /* "sqlite_found_cou..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19945, /* "sqlite_found_cou..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_found_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19188, /* "sqlite_sort_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19964, /* "sqlite_sort_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sort_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19206, /* "sqlite3_max_blob..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19982, /* "sqlite3_max_blob..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_max_blobsize)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19227, /* "sqlite_like_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20003, /* "sqlite_like_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_like_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19245, /* "sqlite_interrupt..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20021, /* "sqlite_interrupt..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_interrupt_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19268, /* "sqlite_open_file..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20044, /* "sqlite_open_file..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_open_file_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19291, /* "sqlite_current_t..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20067, /* "sqlite_current_t..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_current_time)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19311, /* "sqlite3_xferopt_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20087, /* "sqlite3_xferopt_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_xferopt_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19333, /* "sqlite3_pager_re..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20109, /* "sqlite3_pager_re..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_readdb_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19360, /* "sqlite3_pager_wr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20136, /* "sqlite3_pager_wr..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writedb_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19388, /* "sqlite3_pager_wr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20164, /* "sqlite3_pager_wr..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writej_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19415, /* "unaligned_string..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20191, /* "unaligned_string..." */ uintptr(unsafe.Pointer(&unaligned_string_counter)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19440, /* "sqlite_last_need..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20216, /* "sqlite_last_need..." */ uintptr(unsafe.Pointer(&pzNeededCollation)), (TCL_LINK_STRING | TCL_LINK_READ_ONLY)) { - tcl.XTcl_LinkVar(tls, interp, ts+19469, /* "sqlite_query_pla..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20245, /* "sqlite_query_pla..." */ uintptr(unsafe.Pointer(&query_plan)), (TCL_LINK_STRING | TCL_LINK_READ_ONLY)) } - tcl.XTcl_LinkVar(tls, interp, ts+19487, /* "sqlite_opentemp_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20263, /* "sqlite_opentemp_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_opentemp_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19509, /* "sqlite_static_bi..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20285, /* "sqlite_static_bi..." */ uintptr(unsafe.Pointer(&sqlite_static_bind_value)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19534, /* "sqlite_static_bi..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20310, /* "sqlite_static_bi..." */ uintptr(unsafe.Pointer(&sqlite_static_bind_nbyte)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19559, /* "sqlite_temp_dire..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20335, /* "sqlite_temp_dire..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_temp_directory)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19581, /* "sqlite_data_dire..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20357, /* "sqlite_data_dire..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_data_directory)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19603, /* "bitmask_size" */ + tcl.XTcl_LinkVar(tls, interp, ts+20379, /* "bitmask_size" */ uintptr(unsafe.Pointer(&bitmask_size)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) - tcl.XTcl_LinkVar(tls, interp, ts+19616, /* "longdouble_size" */ + tcl.XTcl_LinkVar(tls, interp, ts+20392, /* "longdouble_size" */ uintptr(unsafe.Pointer(&longdouble_size)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) - tcl.XTcl_LinkVar(tls, interp, ts+19632, /* "sqlite_sync_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20408, /* "sqlite_sync_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sync_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19650, /* "sqlite_fullsync_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20426, /* "sqlite_fullsync_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_fullsync_count)), TCL_LINK_INT) return TCL_OK } @@ -52195,227 +53745,227 @@ var aCmd1 = [40]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 19672 /* "db_enter" */, FxProc: 0}, - {FzName: ts + 19681 /* "db_leave" */, FxProc: 0}, - {FzName: ts + 19690 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19710 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19732 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19753 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19773 /* "sqlite3_snprintf..." */, FxProc: 0}, - {FzName: ts + 19794 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19818 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19841 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19864 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19890 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19913 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19936 /* "sqlite3_snprintf..." */, FxProc: 0}, - {FzName: ts + 19957 /* "sqlite3_last_ins..." */, FxProc: 0}, - {FzName: ts + 19983 /* "sqlite3_exec_pri..." */, FxProc: 0}, - {FzName: ts + 20003 /* "sqlite3_exec_hex" */, FxProc: 0}, - {FzName: ts + 20020 /* "sqlite3_exec" */, FxProc: 0}, - {FzName: ts + 20033 /* "sqlite3_exec_nr" */, FxProc: 0}, - {FzName: ts + 20049 /* "sqlite3_get_tabl..." */, FxProc: 0}, - {FzName: ts + 20074 /* "sqlite3_close" */, FxProc: 0}, - {FzName: ts + 20088 /* "sqlite3_close_v2" */, FxProc: 0}, - {FzName: ts + 20105 /* "sqlite3_create_f..." */, FxProc: 0}, - {FzName: ts + 20129 /* "sqlite3_create_a..." */, FxProc: 0}, - {FzName: ts + 20154 /* "sqlite3_drop_mod..." */, FxProc: 0}, - {FzName: ts + 20175 /* "sqlite_register_..." */, FxProc: 0}, - {FzName: ts + 20205 /* "sqlite_abort" */, FxProc: 0}, - {FzName: ts + 20218 /* "sqlite_bind" */, FxProc: 0}, - {FzName: ts + 20230 /* "breakpoint" */, FxProc: 0}, - {FzName: ts + 20241 /* "sqlite3_key" */, FxProc: 0}, - {FzName: ts + 20253 /* "sqlite3_rekey" */, FxProc: 0}, - {FzName: ts + 20267 /* "sqlite_set_magic" */, FxProc: 0}, - {FzName: ts + 20284 /* "sqlite3_interrup..." */, FxProc: 0}, - {FzName: ts + 20302 /* "sqlite_delete_fu..." */, FxProc: 0}, - {FzName: ts + 20325 /* "sqlite_delete_co..." */, FxProc: 0}, - {FzName: ts + 20349 /* "sqlite3_get_auto..." */, FxProc: 0}, - {FzName: ts + 20372 /* "sqlite3_busy_tim..." */, FxProc: 0}, - {FzName: ts + 20393 /* "printf" */, FxProc: 0}, - {FzName: ts + 20400 /* "sqlite3IoTrace" */, FxProc: 0}, - {FzName: ts + 20415 /* "clang_sanitize_a..." */, FxProc: 0}, + {FzName: ts + 20448 /* "db_enter" */, FxProc: 0}, + {FzName: ts + 20457 /* "db_leave" */, FxProc: 0}, + {FzName: ts + 20466 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20486 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20508 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20529 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20549 /* "sqlite3_snprintf..." */, FxProc: 0}, + {FzName: ts + 20570 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20594 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20617 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20640 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20666 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20689 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20712 /* "sqlite3_snprintf..." */, FxProc: 0}, + {FzName: ts + 20733 /* "sqlite3_last_ins..." */, FxProc: 0}, + {FzName: ts + 20759 /* "sqlite3_exec_pri..." */, FxProc: 0}, + {FzName: ts + 20779 /* "sqlite3_exec_hex" */, FxProc: 0}, + {FzName: ts + 20796 /* "sqlite3_exec" */, FxProc: 0}, + {FzName: ts + 20809 /* "sqlite3_exec_nr" */, FxProc: 0}, + {FzName: ts + 20825 /* "sqlite3_get_tabl..." */, FxProc: 0}, + {FzName: ts + 20850 /* "sqlite3_close" */, FxProc: 0}, + {FzName: ts + 20864 /* "sqlite3_close_v2" */, FxProc: 0}, + {FzName: ts + 20881 /* "sqlite3_create_f..." */, FxProc: 0}, + {FzName: ts + 20905 /* "sqlite3_create_a..." */, FxProc: 0}, + {FzName: ts + 20930 /* "sqlite3_drop_mod..." */, FxProc: 0}, + {FzName: ts + 20951 /* "sqlite_register_..." */, FxProc: 0}, + {FzName: ts + 20981 /* "sqlite_abort" */, FxProc: 0}, + {FzName: ts + 20994 /* "sqlite_bind" */, FxProc: 0}, + {FzName: ts + 21006 /* "breakpoint" */, FxProc: 0}, + {FzName: ts + 21017 /* "sqlite3_key" */, FxProc: 0}, + {FzName: ts + 21029 /* "sqlite3_rekey" */, FxProc: 0}, + {FzName: ts + 21043 /* "sqlite_set_magic" */, FxProc: 0}, + {FzName: ts + 21060 /* "sqlite3_interrup..." */, FxProc: 0}, + {FzName: ts + 21078 /* "sqlite_delete_fu..." */, FxProc: 0}, + {FzName: ts + 21101 /* "sqlite_delete_co..." */, FxProc: 0}, + {FzName: ts + 21125 /* "sqlite3_get_auto..." */, FxProc: 0}, + {FzName: ts + 21148 /* "sqlite3_busy_tim..." */, FxProc: 0}, + {FzName: ts + 21169 /* "printf" */, FxProc: 0}, + {FzName: ts + 21176 /* "sqlite3IoTrace" */, FxProc: 0}, + {FzName: ts + 21191 /* "clang_sanitize_a..." */, FxProc: 0}, } /* test1.c:8288:5 */ var aObjCmd1 = [161]struct { FzName uintptr FxProc uintptr FclientData uintptr }{ - {FzName: ts + 20438 /* "sqlite3_db_confi..." */, FxProc: 0}, - {FzName: ts + 20456 /* "sqlite3_txn_stat..." */, FxProc: 0}, - {FzName: ts + 20474 /* "bad_behavior" */, FxProc: 0, FclientData: 0}, - {FzName: ts + 20487 /* "register_dbstat_..." */, FxProc: 0}, - {FzName: ts + 20508 /* "sqlite3_connecti..." */, FxProc: 0}, - {FzName: ts + 20535 /* "intarray_addr" */, FxProc: 0}, - {FzName: ts + 20549 /* "int64array_addr" */, FxProc: 0}, - {FzName: ts + 20565 /* "doublearray_addr" */, FxProc: 0}, - {FzName: ts + 20582 /* "textarray_addr" */, FxProc: 0}, - {FzName: ts + 20597 /* "sqlite3_bind_int" */, FxProc: 0}, - {FzName: ts + 20614 /* "sqlite3_bind_zer..." */, FxProc: 0}, - {FzName: ts + 20636 /* "sqlite3_bind_zer..." */, FxProc: 0}, - {FzName: ts + 20660 /* "sqlite3_bind_int..." */, FxProc: 0}, - {FzName: ts + 20679 /* "sqlite3_bind_dou..." */, FxProc: 0}, - {FzName: ts + 20699 /* "sqlite3_bind_nul..." */, FxProc: 0}, - {FzName: ts + 20717 /* "sqlite3_bind_tex..." */, FxProc: 0}, - {FzName: ts + 20735 /* "sqlite3_bind_tex..." */, FxProc: 0}, - {FzName: ts + 20755 /* "sqlite3_bind_blo..." */, FxProc: 0}, - {FzName: ts + 20773 /* "sqlite3_carray_b..." */, FxProc: 0}, - {FzName: ts + 20793 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20822 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20850 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20879 /* "sqlite3_clear_bi..." */, FxProc: 0}, - {FzName: ts + 20902 /* "sqlite3_sleep" */, FxProc: 0}, - {FzName: ts + 20916 /* "sqlite3_errcode" */, FxProc: 0}, - {FzName: ts + 20932 /* "sqlite3_extended..." */, FxProc: 0}, - {FzName: ts + 20957 /* "sqlite3_errmsg" */, FxProc: 0}, - {FzName: ts + 20972 /* "sqlite3_errmsg16" */, FxProc: 0}, - {FzName: ts + 20989 /* "sqlite3_open" */, FxProc: 0}, - {FzName: ts + 21002 /* "sqlite3_open16" */, FxProc: 0}, - {FzName: ts + 21017 /* "sqlite3_open_v2" */, FxProc: 0}, - {FzName: ts + 21033 /* "sqlite3_complete..." */, FxProc: 0}, - {FzName: ts + 21052 /* "sqlite3_normaliz..." */, FxProc: 0}, + {FzName: ts + 21214 /* "sqlite3_db_confi..." */, FxProc: 0}, + {FzName: ts + 21232 /* "sqlite3_txn_stat..." */, FxProc: 0}, + {FzName: ts + 21250 /* "bad_behavior" */, FxProc: 0, FclientData: 0}, + {FzName: ts + 21263 /* "register_dbstat_..." */, FxProc: 0}, + {FzName: ts + 21284 /* "sqlite3_connecti..." */, FxProc: 0}, + {FzName: ts + 21311 /* "intarray_addr" */, FxProc: 0}, + {FzName: ts + 21325 /* "int64array_addr" */, FxProc: 0}, + {FzName: ts + 21341 /* "doublearray_addr" */, FxProc: 0}, + {FzName: ts + 21358 /* "textarray_addr" */, FxProc: 0}, + {FzName: ts + 21373 /* "sqlite3_bind_int" */, FxProc: 0}, + {FzName: ts + 21390 /* "sqlite3_bind_zer..." */, FxProc: 0}, + {FzName: ts + 21412 /* "sqlite3_bind_zer..." */, FxProc: 0}, + {FzName: ts + 21436 /* "sqlite3_bind_int..." */, FxProc: 0}, + {FzName: ts + 21455 /* "sqlite3_bind_dou..." */, FxProc: 0}, + {FzName: ts + 21475 /* "sqlite3_bind_nul..." */, FxProc: 0}, + {FzName: ts + 21493 /* "sqlite3_bind_tex..." */, FxProc: 0}, + {FzName: ts + 21511 /* "sqlite3_bind_tex..." */, FxProc: 0}, + {FzName: ts + 21531 /* "sqlite3_bind_blo..." */, FxProc: 0}, + {FzName: ts + 21549 /* "sqlite3_carray_b..." */, FxProc: 0}, + {FzName: ts + 21569 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21598 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21626 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21655 /* "sqlite3_clear_bi..." */, FxProc: 0}, + {FzName: ts + 21678 /* "sqlite3_sleep" */, FxProc: 0}, + {FzName: ts + 21692 /* "sqlite3_errcode" */, FxProc: 0}, + {FzName: ts + 21708 /* "sqlite3_extended..." */, FxProc: 0}, + {FzName: ts + 21733 /* "sqlite3_errmsg" */, FxProc: 0}, + {FzName: ts + 21748 /* "sqlite3_errmsg16" */, FxProc: 0}, + {FzName: ts + 21765 /* "sqlite3_open" */, FxProc: 0}, + {FzName: ts + 21778 /* "sqlite3_open16" */, FxProc: 0}, + {FzName: ts + 21793 /* "sqlite3_open_v2" */, FxProc: 0}, + {FzName: ts + 21809 /* "sqlite3_complete..." */, FxProc: 0}, + {FzName: ts + 21828 /* "sqlite3_normaliz..." */, FxProc: 0}, - {FzName: ts + 21070 /* "sqlite3_prepare" */, FxProc: 0}, - {FzName: ts + 21086 /* "sqlite3_prepare1..." */, FxProc: 0}, - {FzName: ts + 21104 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21123 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21142 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21166 /* "sqlite3_prepare1..." */, FxProc: 0}, - {FzName: ts + 21187 /* "sqlite3_finalize" */, FxProc: 0}, - {FzName: ts + 21204 /* "sqlite3_stmt_sta..." */, FxProc: 0}, - {FzName: ts + 21224 /* "sqlite3_reset" */, FxProc: 0}, - {FzName: ts + 21238 /* "sqlite3_expired" */, FxProc: 0}, - {FzName: ts + 21254 /* "sqlite3_transfer..." */, FxProc: 0}, - {FzName: ts + 21280 /* "sqlite3_changes" */, FxProc: 0}, - {FzName: ts + 21296 /* "sqlite3_step" */, FxProc: 0}, - {FzName: ts + 21309 /* "sqlite3_sql" */, FxProc: 0}, - {FzName: ts + 21321 /* "sqlite3_expanded..." */, FxProc: 0}, - {FzName: ts + 21342 /* "sqlite3_next_stm..." */, FxProc: 0}, - {FzName: ts + 21360 /* "sqlite3_stmt_rea..." */, FxProc: 0}, - {FzName: ts + 21382 /* "sqlite3_stmt_ise..." */, FxProc: 0}, - {FzName: ts + 21405 /* "sqlite3_stmt_bus..." */, FxProc: 0}, - {FzName: ts + 21423 /* "uses_stmt_journa..." */, FxProc: 0}, + {FzName: ts + 21846 /* "sqlite3_prepare" */, FxProc: 0}, + {FzName: ts + 21862 /* "sqlite3_prepare1..." */, FxProc: 0}, + {FzName: ts + 21880 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 21899 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 21918 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 21942 /* "sqlite3_prepare1..." */, FxProc: 0}, + {FzName: ts + 21963 /* "sqlite3_finalize" */, FxProc: 0}, + {FzName: ts + 21980 /* "sqlite3_stmt_sta..." */, FxProc: 0}, + {FzName: ts + 22000 /* "sqlite3_reset" */, FxProc: 0}, + {FzName: ts + 22014 /* "sqlite3_expired" */, FxProc: 0}, + {FzName: ts + 22030 /* "sqlite3_transfer..." */, FxProc: 0}, + {FzName: ts + 22056 /* "sqlite3_changes" */, FxProc: 0}, + {FzName: ts + 22072 /* "sqlite3_step" */, FxProc: 0}, + {FzName: ts + 22085 /* "sqlite3_sql" */, FxProc: 0}, + {FzName: ts + 22097 /* "sqlite3_expanded..." */, FxProc: 0}, + {FzName: ts + 22118 /* "sqlite3_next_stm..." */, FxProc: 0}, + {FzName: ts + 22136 /* "sqlite3_stmt_rea..." */, FxProc: 0}, + {FzName: ts + 22158 /* "sqlite3_stmt_ise..." */, FxProc: 0}, + {FzName: ts + 22181 /* "sqlite3_stmt_bus..." */, FxProc: 0}, + {FzName: ts + 22199 /* "uses_stmt_journa..." */, FxProc: 0}, - {FzName: ts + 21441 /* "sqlite3_release_..." */, FxProc: 0}, - {FzName: ts + 21464 /* "sqlite3_db_relea..." */, FxProc: 0}, - {FzName: ts + 21490 /* "sqlite3_db_cache..." */, FxProc: 0}, - {FzName: ts + 21512 /* "sqlite3_system_e..." */, FxProc: 0}, - {FzName: ts + 21533 /* "sqlite3_db_filen..." */, FxProc: 0}, - {FzName: ts + 21553 /* "sqlite3_db_reado..." */, FxProc: 0}, - {FzName: ts + 21573 /* "sqlite3_soft_hea..." */, FxProc: 0}, - {FzName: ts + 21597 /* "sqlite3_soft_hea..." */, FxProc: 0}, - {FzName: ts + 21623 /* "sqlite3_hard_hea..." */, FxProc: 0}, - {FzName: ts + 21649 /* "sqlite3_thread_c..." */, FxProc: 0}, - {FzName: ts + 21672 /* "sqlite3_pager_re..." */, FxProc: 0}, + {FzName: ts + 22217 /* "sqlite3_release_..." */, FxProc: 0}, + {FzName: ts + 22240 /* "sqlite3_db_relea..." */, FxProc: 0}, + {FzName: ts + 22266 /* "sqlite3_db_cache..." */, FxProc: 0}, + {FzName: ts + 22288 /* "sqlite3_system_e..." */, FxProc: 0}, + {FzName: ts + 22309 /* "sqlite3_db_filen..." */, FxProc: 0}, + {FzName: ts + 22329 /* "sqlite3_db_reado..." */, FxProc: 0}, + {FzName: ts + 22349 /* "sqlite3_soft_hea..." */, FxProc: 0}, + {FzName: ts + 22373 /* "sqlite3_soft_hea..." */, FxProc: 0}, + {FzName: ts + 22399 /* "sqlite3_hard_hea..." */, FxProc: 0}, + {FzName: ts + 22425 /* "sqlite3_thread_c..." */, FxProc: 0}, + {FzName: ts + 22448 /* "sqlite3_pager_re..." */, FxProc: 0}, - {FzName: ts + 21696 /* "sqlite3_load_ext..." */, FxProc: 0}, - {FzName: ts + 21719 /* "sqlite3_enable_l..." */, FxProc: 0}, - {FzName: ts + 21749 /* "sqlite3_extended..." */, FxProc: 0}, - {FzName: ts + 21779 /* "sqlite3_limit" */, FxProc: 0}, - {FzName: ts + 21793 /* "dbconfig_maindbn..." */, FxProc: 0}, + {FzName: ts + 22472 /* "sqlite3_load_ext..." */, FxProc: 0}, + {FzName: ts + 22495 /* "sqlite3_enable_l..." */, FxProc: 0}, + {FzName: ts + 22525 /* "sqlite3_extended..." */, FxProc: 0}, + {FzName: ts + 22555 /* "sqlite3_limit" */, FxProc: 0}, + {FzName: ts + 22569 /* "dbconfig_maindbn..." */, FxProc: 0}, - {FzName: ts + 21821 /* "save_prng_state" */, FxProc: 0}, - {FzName: ts + 21837 /* "restore_prng_sta..." */, FxProc: 0}, - {FzName: ts + 21856 /* "reset_prng_state" */, FxProc: 0}, - {FzName: ts + 21873 /* "prng_seed" */, FxProc: 0}, - {FzName: ts + 21883 /* "extra_schema_che..." */, FxProc: 0}, - {FzName: ts + 21903 /* "database_never_c..." */, FxProc: 0}, - {FzName: ts + 21926 /* "database_may_be_..." */, FxProc: 0}, - {FzName: ts + 21950 /* "optimization_con..." */, FxProc: 0}, - {FzName: ts + 21971 /* "tcl_objproc" */, FxProc: 0}, + {FzName: ts + 22597 /* "save_prng_state" */, FxProc: 0}, + {FzName: ts + 22613 /* "restore_prng_sta..." */, FxProc: 0}, + {FzName: ts + 22632 /* "reset_prng_state" */, FxProc: 0}, + {FzName: ts + 22649 /* "prng_seed" */, FxProc: 0}, + {FzName: ts + 22659 /* "extra_schema_che..." */, FxProc: 0}, + {FzName: ts + 22679 /* "database_never_c..." */, FxProc: 0}, + {FzName: ts + 22702 /* "database_may_be_..." */, FxProc: 0}, + {FzName: ts + 22726 /* "optimization_con..." */, FxProc: 0}, + {FzName: ts + 22747 /* "tcl_objproc" */, FxProc: 0}, // sqlite3_column_*() API - {FzName: ts + 21983 /* "sqlite3_column_c..." */, FxProc: 0}, - {FzName: ts + 22004 /* "sqlite3_data_cou..." */, FxProc: 0}, - {FzName: ts + 22023 /* "sqlite3_column_t..." */, FxProc: 0}, - {FzName: ts + 22043 /* "sqlite3_column_b..." */, FxProc: 0}, - {FzName: ts + 22063 /* "sqlite3_column_d..." */, FxProc: 0}, - {FzName: ts + 22085 /* "sqlite3_column_i..." */, FxProc: 0}, - {FzName: ts + 22106 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22126 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22146 /* "sqlite3_column_i..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22165 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22186 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22210 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22239 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22265 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22759 /* "sqlite3_column_c..." */, FxProc: 0}, + {FzName: ts + 22780 /* "sqlite3_data_cou..." */, FxProc: 0}, + {FzName: ts + 22799 /* "sqlite3_column_t..." */, FxProc: 0}, + {FzName: ts + 22819 /* "sqlite3_column_b..." */, FxProc: 0}, + {FzName: ts + 22839 /* "sqlite3_column_d..." */, FxProc: 0}, + {FzName: ts + 22861 /* "sqlite3_column_i..." */, FxProc: 0}, + {FzName: ts + 22882 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22902 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22922 /* "sqlite3_column_i..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22941 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22962 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22986 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23015 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23041 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22292 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22315 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22337 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22359 /* "add_alignment_te..." */, FxProc: 0}, - {FzName: ts + 22389 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22415, /* "sqlite3_column_d..." */ + {FzName: ts + 23068 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23091 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23113 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23135 /* "add_alignment_te..." */, FxProc: 0}, + {FzName: ts + 23165 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23191, /* "sqlite3_column_d..." */ FxProc: 0, FclientData: 0}, - {FzName: ts + 22446 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22474 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22503 /* "sqlite3_create_c..." */, FxProc: 0}, - {FzName: ts + 22531 /* "sqlite3_global_r..." */, FxProc: 0}, - {FzName: ts + 22554 /* "working_64bit_in..." */, FxProc: 0}, - {FzName: ts + 22572 /* "vfs_unlink_test" */, FxProc: 0}, - {FzName: ts + 22588 /* "vfs_initfail_tes..." */, FxProc: 0}, - {FzName: ts + 22606 /* "vfs_unregister_a..." */, FxProc: 0}, - {FzName: ts + 22625 /* "vfs_reregister_a..." */, FxProc: 0}, - {FzName: ts + 22644 /* "file_control_tes..." */, FxProc: 0}, - {FzName: ts + 22662 /* "file_control_las..." */, FxProc: 0}, - {FzName: ts + 22690 /* "file_control_loc..." */, FxProc: 0}, - {FzName: ts + 22718 /* "file_control_chu..." */, FxProc: 0}, - {FzName: ts + 22746 /* "file_control_siz..." */, FxProc: 0}, - {FzName: ts + 22773 /* "file_control_dat..." */, FxProc: 0}, - {FzName: ts + 22799 /* "file_control_per..." */, FxProc: 0}, - {FzName: ts + 22824 /* "file_control_pow..." */, FxProc: 0}, - {FzName: ts + 22857 /* "file_control_vfs..." */, FxProc: 0}, - {FzName: ts + 22878 /* "file_control_res..." */, FxProc: 0}, - {FzName: ts + 22904 /* "file_control_tem..." */, FxProc: 0}, - {FzName: ts + 22930 /* "file_control_ext..." */, FxProc: 0}, - {FzName: ts + 22959 /* "sqlite3_vfs_list" */, FxProc: 0}, - {FzName: ts + 22976 /* "sqlite3_create_f..." */, FxProc: 0}, + {FzName: ts + 23222 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23250 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23279 /* "sqlite3_create_c..." */, FxProc: 0}, + {FzName: ts + 23307 /* "sqlite3_global_r..." */, FxProc: 0}, + {FzName: ts + 23330 /* "working_64bit_in..." */, FxProc: 0}, + {FzName: ts + 23348 /* "vfs_unlink_test" */, FxProc: 0}, + {FzName: ts + 23364 /* "vfs_initfail_tes..." */, FxProc: 0}, + {FzName: ts + 23382 /* "vfs_unregister_a..." */, FxProc: 0}, + {FzName: ts + 23401 /* "vfs_reregister_a..." */, FxProc: 0}, + {FzName: ts + 23420 /* "file_control_tes..." */, FxProc: 0}, + {FzName: ts + 23438 /* "file_control_las..." */, FxProc: 0}, + {FzName: ts + 23466 /* "file_control_loc..." */, FxProc: 0}, + {FzName: ts + 23494 /* "file_control_chu..." */, FxProc: 0}, + {FzName: ts + 23522 /* "file_control_siz..." */, FxProc: 0}, + {FzName: ts + 23549 /* "file_control_dat..." */, FxProc: 0}, + {FzName: ts + 23575 /* "file_control_per..." */, FxProc: 0}, + {FzName: ts + 23600 /* "file_control_pow..." */, FxProc: 0}, + {FzName: ts + 23633 /* "file_control_vfs..." */, FxProc: 0}, + {FzName: ts + 23654 /* "file_control_res..." */, FxProc: 0}, + {FzName: ts + 23680 /* "file_control_tem..." */, FxProc: 0}, + {FzName: ts + 23706 /* "file_control_ext..." */, FxProc: 0}, + {FzName: ts + 23735 /* "sqlite3_vfs_list" */, FxProc: 0}, + {FzName: ts + 23752 /* "sqlite3_create_f..." */, FxProc: 0}, // Functions from os.h - {FzName: ts + 23003 /* "add_test_collate" */, FxProc: 0}, - {FzName: ts + 23020 /* "add_test_collate..." */, FxProc: 0}, - {FzName: ts + 23044 /* "add_test_functio..." */, FxProc: 0}, - {FzName: ts + 23062 /* "add_test_utf16bi..." */, FxProc: 0}, - {FzName: ts + 23088 /* "sqlite3_test_err..." */, FxProc: 0}, - {FzName: ts + 23108 /* "tcl_variable_typ..." */, FxProc: 0}, - {FzName: ts + 23126 /* "sqlite3_enable_s..." */, FxProc: 0}, - {FzName: ts + 23154 /* "sqlite3_shared_c..." */, FxProc: 0}, - {FzName: ts + 23182 /* "sqlite3_libversi..." */, FxProc: 0}, - {FzName: ts + 23208 /* "sqlite3_table_co..." */, FxProc: 0}, - {FzName: ts + 23238 /* "sqlite3_blob_reo..." */, FxProc: 0}, - {FzName: ts + 23258 /* "pcache_stats" */, FxProc: 0}, - {FzName: ts + 23271 /* "sqlite3_unlock_n..." */, FxProc: 0}, - {FzName: ts + 23293 /* "sqlite3_wal_chec..." */, FxProc: 0}, - {FzName: ts + 23316 /* "sqlite3_wal_chec..." */, FxProc: 0}, - {FzName: ts + 23342 /* "sqlite3_wal_auto..." */, FxProc: 0}, - {FzName: ts + 23369 /* "test_sqlite3_log" */, FxProc: 0}, - {FzName: ts + 23386 /* "print_explain_qu..." */, FxProc: 0}, - {FzName: ts + 23411 /* "sqlite3_test_con..." */, FxProc: 0}, - {FzName: ts + 23432 /* "getrusage" */, FxProc: 0}, - {FzName: ts + 23442 /* "load_static_exte..." */, FxProc: 0}, - {FzName: ts + 23464 /* "sorter_test_fake..." */, FxProc: 0}, - {FzName: ts + 23485 /* "sorter_test_sort..." */, FxProc: 0}, - {FzName: ts + 23510 /* "vfs_current_time..." */, FxProc: 0}, - {FzName: ts + 23533 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23554 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23576 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23598 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23619 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23644 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23670 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23697 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23723 /* "sqlite3_delete_d..." */, FxProc: 0}, - {FzName: ts + 23747 /* "atomic_batch_wri..." */, FxProc: 0}, - {FzName: ts + 23766 /* "sqlite3_mmap_war..." */, FxProc: 0}, - {FzName: ts + 23784 /* "sqlite3_config_s..." */, FxProc: 0}, - {FzName: ts + 23809 /* "decode_hexdb" */, FxProc: 0}, - {FzName: ts + 23822 /* "test_write_db" */, FxProc: 0}, - {FzName: ts + 23836 /* "sqlite3_register..." */, FxProc: 0}, - {FzName: ts + 23862 /* "sqlite3_unregist..." */, FxProc: 0}, + {FzName: ts + 23779 /* "add_test_collate" */, FxProc: 0}, + {FzName: ts + 23796 /* "add_test_collate..." */, FxProc: 0}, + {FzName: ts + 23820 /* "add_test_functio..." */, FxProc: 0}, + {FzName: ts + 23838 /* "add_test_utf16bi..." */, FxProc: 0}, + {FzName: ts + 23864 /* "sqlite3_test_err..." */, FxProc: 0}, + {FzName: ts + 23884 /* "tcl_variable_typ..." */, FxProc: 0}, + {FzName: ts + 23902 /* "sqlite3_enable_s..." */, FxProc: 0}, + {FzName: ts + 23930 /* "sqlite3_shared_c..." */, FxProc: 0}, + {FzName: ts + 23958 /* "sqlite3_libversi..." */, FxProc: 0}, + {FzName: ts + 23984 /* "sqlite3_table_co..." */, FxProc: 0}, + {FzName: ts + 24014 /* "sqlite3_blob_reo..." */, FxProc: 0}, + {FzName: ts + 24034 /* "pcache_stats" */, FxProc: 0}, + {FzName: ts + 24047 /* "sqlite3_unlock_n..." */, FxProc: 0}, + {FzName: ts + 24069 /* "sqlite3_wal_chec..." */, FxProc: 0}, + {FzName: ts + 24092 /* "sqlite3_wal_chec..." */, FxProc: 0}, + {FzName: ts + 24118 /* "sqlite3_wal_auto..." */, FxProc: 0}, + {FzName: ts + 24145 /* "test_sqlite3_log" */, FxProc: 0}, + {FzName: ts + 24162 /* "print_explain_qu..." */, FxProc: 0}, + {FzName: ts + 24187 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 24208 /* "getrusage" */, FxProc: 0}, + {FzName: ts + 24218 /* "load_static_exte..." */, FxProc: 0}, + {FzName: ts + 24240 /* "sorter_test_fake..." */, FxProc: 0}, + {FzName: ts + 24261 /* "sorter_test_sort..." */, FxProc: 0}, + {FzName: ts + 24286 /* "vfs_current_time..." */, FxProc: 0}, + {FzName: ts + 24309 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24330 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24352 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24374 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24395 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24420 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24446 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24473 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24499 /* "sqlite3_delete_d..." */, FxProc: 0}, + {FzName: ts + 24523 /* "atomic_batch_wri..." */, FxProc: 0}, + {FzName: ts + 24542 /* "sqlite3_mmap_war..." */, FxProc: 0}, + {FzName: ts + 24560 /* "sqlite3_config_s..." */, FxProc: 0}, + {FzName: ts + 24585 /* "decode_hexdb" */, FxProc: 0}, + {FzName: ts + 24598 /* "test_write_db" */, FxProc: 0}, + {FzName: ts + 24612 /* "sqlite3_register..." */, FxProc: 0}, + {FzName: ts + 24638 /* "sqlite3_unregist..." */, FxProc: 0}, } /* test1.c:8336:5 */ var bitmask_size int32 = (int32(uint32(unsafe.Sizeof(Bitmask(0))) * uint32(8))) /* test1.c:8564:14 */ var longdouble_size int32 = int32(unsafe.Sizeof(float64(0))) /* test1.c:8565:14 */ -var query_plan uintptr = ts + 23890 /* "*** OBSOLETE VAR..." */ /* test1.c:8637:23 */ +var query_plan uintptr = ts + 24666 /* "*** OBSOLETE VAR..." */ /* test1.c:8637:23 */ // Page size and reserved size used for testing. var test_pagesize int32 = 1024 /* test2.c:31:12 */ @@ -52442,8 +53992,8 @@ func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [100]int8 at bp+84, 100 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23916 /* " FILENAME N-PAGE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24692 /* " FILENAME N-PAGE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+72 /* &nPage */) != 0 { @@ -52459,7 +54009,7 @@ func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv sqlite3.Xsqlite3PagerSetCachesize(tls, *(*uintptr)(unsafe.Pointer(bp + 76 /* pPager */)), *(*int32)(unsafe.Pointer(bp + 72 /* nPage */))) *(*u32)(unsafe.Pointer(bp + 80 /* pageSize */)) = u32(test_pagesize) sqlite3.Xsqlite3PagerSetPagesize(tls, *(*uintptr)(unsafe.Pointer(bp + 76 /* pPager */)), bp+80 /* &pageSize */, -1) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+84 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 76 /* pPager */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+84 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 76 /* pPager */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+84 /* &zBuf[0] */, 0)) return TCL_OK } @@ -52474,8 +54024,8 @@ func pager_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52497,8 +54047,8 @@ func pager_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52520,8 +54070,8 @@ func pager_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52548,8 +54098,8 @@ func pager_stmt_begin(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52571,8 +54121,8 @@ func pager_stmt_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52595,8 +54145,8 @@ func pager_stmt_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52619,8 +54169,8 @@ func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var i int32 var a uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52636,8 +54186,8 @@ func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg } var zName = [9]uintptr{ - ts + 23939 /* "ref" */, ts + 23943 /* "page" */, ts + 17912 /* "max" */, ts + 11491 /* "size" */, ts + 10193 /* "state" */, ts + 23948, /* "err" */ - ts + 23952 /* "hit" */, ts + 23956 /* "miss" */, ts + 23961, /* "ovfl" */ + ts + 24715 /* "ref" */, ts + 24719 /* "page" */, ts + 18693 /* "max" */, ts + 12279 /* "size" */, ts + 10193 /* "state" */, ts + 24724, /* "err" */ + ts + 24728 /* "hit" */, ts + 24732 /* "miss" */, ts + 24737, /* "ovfl" */ } /* test2.c:266:17 */ // Usage: pager_pagecount ID @@ -52653,8 +54203,8 @@ func pager_pagecount(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var nPage int32 at bp+56, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52679,8 +54229,8 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23966 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24742 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52695,7 +54245,7 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 76 /* pPage */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 76 /* pPage */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) return TCL_OK } @@ -52715,8 +54265,8 @@ func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // var pgno int32 at bp+56, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23966 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24742 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52725,7 +54275,7 @@ func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg } pPage = sqlite3.Xsqlite3PagerLookup(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 56 /* pgno */)))) if pPage != 0 { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+32, pPage)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+32, pPage)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+60 /* &zBuf[0] */, 0)) } return TCL_OK @@ -52740,8 +54290,8 @@ func pager_truncate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var pgno int32 at bp+32, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23966 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24742 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52761,8 +54311,8 @@ func page_unref(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23976 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24752 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52781,8 +54331,8 @@ func page_read(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23976 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24752 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52802,8 +54352,8 @@ func page_number(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23976 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24752 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52823,8 +54373,8 @@ func page_write(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pData uintptr var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23983 /* " PAGE DATA\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24759 /* " PAGE DATA\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -52859,8 +54409,8 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var zFile uintptr var nFile int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23995 /* " N-MEGABYTES FIL..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24771 /* " N-MEGABYTES FIL..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+80 /* &n */) != 0 { @@ -52878,17 +54428,17 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a rc = sqlite3.Xsqlite3OsOpenMalloc(tls, pVfs, zFile, bp+84, /* &fd */ ((SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_MAIN_DB), uintptr(0)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24014 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24790 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) sqlite3.Xsqlite3_free(tls, zFile) return TCL_ERROR } offset = i64(*(*int32)(unsafe.Pointer(bp + 80 /* n */))) offset = offset * (int64(1024 * 1024)) - rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 84 /* fd */)), ts+24028 /* "Hello, World!" */, 14, offset) + rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 84 /* fd */)), ts+24804 /* "Hello, World!" */, 14, offset) sqlite3.Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 84 /* fd */))) sqlite3.Xsqlite3_free(tls, zFile) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+24042 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+24818 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -52905,8 +54455,8 @@ func testPendingByte(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24057 /* " PENDING-BYTE\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24833 /* " PENDING-BYTE\"" */, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+40 /* &pbyte */) != 0 { @@ -52932,7 +54482,7 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ var isNeg int32 var rc int32 if x == 0 { - libc.Xmemcpy(tls, (faultSimScript + uintptr(faultSimScriptSize)), ts+13873 /* "0" */, uint32(2)) + libc.Xmemcpy(tls, (faultSimScript + uintptr(faultSimScriptSize)), ts+14654 /* "0" */, uint32(2)) } else { // Convert x to text without using any sqlite3 routines if x < 0 { @@ -52966,7 +54516,7 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ } rc = tcl.XTcl_Eval(tls, faultSimInterp, faultSimScript) if rc != 0 { - libc.Xfprintf(tls, libc.Xstderr, ts+24072 /* "fault simulator ..." */, libc.VaList(bp, faultSimScript)) + libc.Xfprintf(tls, libc.Xstderr, ts+24848 /* "fault simulator ..." */, libc.VaList(bp, faultSimScript)) rc = SQLITE_ERROR } else { rc = libc.Xatoi(tls, tcl.XTcl_GetStringResult(tls, faultSimInterp)) @@ -52988,8 +54538,8 @@ func faultInstallCmd(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var nScript int32 var rc int32 if (argc != 1) && (argc != 2) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24108 /* " SCRIPT\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24884 /* " SCRIPT\"" */, uintptr(0))) } if argc == 2 { zScript = *(*uintptr)(unsafe.Pointer(argv + 1*4)) @@ -53035,8 +54585,8 @@ func testBitvecBuiltinTest(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24117 /* " SIZE PROGRAM\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24893 /* " SIZE PROGRAM\"" */, uintptr(0))) } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+48 /* &sz */) != 0 { return TCL_ERROR @@ -53069,19 +54619,19 @@ func Sqlitetest2_Init(tls *libc.TLS, interp uintptr) int32 { /* test2.c:697:5: * }{}))); i++ { tcl.XTcl_CreateCommand(tls, interp, aCmd2[i].FzName, aCmd2[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+24132, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24908, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_pending)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24156, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24932, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_persist)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24180, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24956, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hit)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24200, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24976, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hardhit)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24224, /* "sqlite_diskfull_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25000, /* "sqlite_diskfull_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull_pending)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24248, /* "sqlite_diskfull" */ + tcl.XTcl_LinkVar(tls, interp, ts+25024, /* "sqlite_diskfull" */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24264, /* "sqlite_pending_b..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25040, /* "sqlite_pending_b..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3PendingByte)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) return TCL_OK } @@ -53090,26 +54640,26 @@ var aCmd2 = [20]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 24284 /* "pager_open" */, FxProc: 0}, - {FzName: ts + 24295 /* "pager_close" */, FxProc: 0}, - {FzName: ts + 24307 /* "pager_commit" */, FxProc: 0}, - {FzName: ts + 24320 /* "pager_rollback" */, FxProc: 0}, - {FzName: ts + 24335 /* "pager_stmt_begin" */, FxProc: 0}, - {FzName: ts + 24352 /* "pager_stmt_commi..." */, FxProc: 0}, - {FzName: ts + 24370 /* "pager_stmt_rollb..." */, FxProc: 0}, - {FzName: ts + 24390 /* "pager_stats" */, FxProc: 0}, - {FzName: ts + 24402 /* "pager_pagecount" */, FxProc: 0}, - {FzName: ts + 24418 /* "page_get" */, FxProc: 0}, - {FzName: ts + 24427 /* "page_lookup" */, FxProc: 0}, - {FzName: ts + 24439 /* "page_unref" */, FxProc: 0}, - {FzName: ts + 24450 /* "page_read" */, FxProc: 0}, - {FzName: ts + 24460 /* "page_write" */, FxProc: 0}, - {FzName: ts + 24471 /* "page_number" */, FxProc: 0}, - {FzName: ts + 24483 /* "pager_truncate" */, FxProc: 0}, - {FzName: ts + 24498 /* "fake_big_file" */, FxProc: 0}, - {FzName: ts + 24512 /* "sqlite3BitvecBui..." */, FxProc: 0}, - {FzName: ts + 24537 /* "sqlite3_test_con..." */, FxProc: 0}, - {FzName: ts + 24571 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 25060 /* "pager_open" */, FxProc: 0}, + {FzName: ts + 25071 /* "pager_close" */, FxProc: 0}, + {FzName: ts + 25083 /* "pager_commit" */, FxProc: 0}, + {FzName: ts + 25096 /* "pager_rollback" */, FxProc: 0}, + {FzName: ts + 25111 /* "pager_stmt_begin" */, FxProc: 0}, + {FzName: ts + 25128 /* "pager_stmt_commi..." */, FxProc: 0}, + {FzName: ts + 25146 /* "pager_stmt_rollb..." */, FxProc: 0}, + {FzName: ts + 25166 /* "pager_stats" */, FxProc: 0}, + {FzName: ts + 25178 /* "pager_pagecount" */, FxProc: 0}, + {FzName: ts + 25194 /* "page_get" */, FxProc: 0}, + {FzName: ts + 25203 /* "page_lookup" */, FxProc: 0}, + {FzName: ts + 25215 /* "page_unref" */, FxProc: 0}, + {FzName: ts + 25226 /* "page_read" */, FxProc: 0}, + {FzName: ts + 25236 /* "page_write" */, FxProc: 0}, + {FzName: ts + 25247 /* "page_number" */, FxProc: 0}, + {FzName: ts + 25259 /* "pager_truncate" */, FxProc: 0}, + {FzName: ts + 25274 /* "fake_big_file" */, FxProc: 0}, + {FzName: ts + 25288 /* "sqlite3BitvecBui..." */, FxProc: 0}, + {FzName: ts + 25313 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 25347 /* "sqlite3_test_con..." */, FxProc: 0}, } /* test2.c:707:5 */ // 2001 September 15 @@ -53886,8 +55436,8 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var n int32 var zFilename uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24606 /* " FILENAME NCACHE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25382 /* " FILENAME NCACHE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+72 /* &nCache */) != 0 { @@ -53914,7 +55464,7 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv return TCL_ERROR } sqlite3.Xsqlite3BtreeSetCacheSize(tls, *(*uintptr)(unsafe.Pointer(bp + 76 /* pBt */)), *(*int32)(unsafe.Pointer(bp + 72 /* nCache */))) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 76 /* pBt */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 76 /* pBt */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) return TCL_OK } @@ -53929,8 +55479,8 @@ func btree_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pBt uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -53959,8 +55509,8 @@ func btree_begin_transaction(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg var pBt uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -53986,8 +55536,8 @@ func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var a uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54017,8 +55567,8 @@ func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 } var zName1 = [11]uintptr{ - ts + 23939 /* "ref" */, ts + 23943 /* "page" */, ts + 17912 /* "max" */, ts + 11491 /* "size" */, ts + 10193 /* "state" */, ts + 23948, /* "err" */ - ts + 23952 /* "hit" */, ts + 23956 /* "miss" */, ts + 23961 /* "ovfl" */, ts + 24630 /* "read" */, ts + 24635, /* "write" */ + ts + 24715 /* "ref" */, ts + 24719 /* "page" */, ts + 18693 /* "max" */, ts + 12279 /* "size" */, ts + 10193 /* "state" */, ts + 24724, /* "err" */ + ts + 24728 /* "hit" */, ts + 24732 /* "miss" */, ts + 24737 /* "ovfl" */, ts + 25406 /* "read" */, ts + 25411, /* "write" */ } /* test3.c:179:17 */ // Usage: btree_cursor ID TABLENUM WRITEABLE @@ -54038,8 +55588,8 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar // var zBuf [30]int8 at bp+80, 30 if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24641 /* " ID TABLENUM WRI..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25417 /* " ID TABLENUM WRI..." */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54067,7 +55617,7 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+80 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, pCur)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+80 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, pCur)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -54083,8 +55633,8 @@ func btree_close_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54120,8 +55670,8 @@ func btree_next(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54155,8 +55705,8 @@ func btree_first(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // var zBuf [100]int8 at bp+76, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54185,8 +55735,8 @@ func btree_eof(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [50]int8 at bp+56, 50 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54210,15 +55760,15 @@ func btree_payload_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var zBuf [50]int8 at bp+56, 50 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) n = sqlite3.Xsqlite3BtreePayloadSize(tls, pCur) sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56 /* &zBuf[0] */, ts+17449 /* "%u" */, libc.VaList(bp+32, n)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp+32, n)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+56 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -54257,8 +55807,8 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var zBuf [100]uint8 at bp+200, 100 if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24665 /* " START MULTIPLIE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25441 /* " START MULTIPLIE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+184 /* &start */) != 0 { @@ -54281,20 +55831,20 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 n1 = sqlite3.Xsqlite3PutVarint(tls, bp+200 /* &zBuf[0] */, in) if (n1 > 9) || (n1 < 1) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24700 /* "putVarint return..." */, libc.VaList(bp+32, n1)) + ts+25476 /* "putVarint return..." */, libc.VaList(bp+32, n1)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } n2 = int32(sqlite3.Xsqlite3GetVarint(tls, bp+200 /* &zBuf[0] */, bp+504 /* &out */)) if n1 != n2 { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24750 /* "putVarint return..." */, libc.VaList(bp+56, n1, n2)) + ts+25526 /* "putVarint return..." */, libc.VaList(bp+56, n1, n2)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } if in != *(*u64)(unsafe.Pointer(bp + 504 /* out */)) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24798 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+88, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) + ts+25574 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+88, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+104, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } @@ -54313,14 +55863,14 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 *(*u64)(unsafe.Pointer(bp + 504 /* out */)) = u64(*(*u32)(unsafe.Pointer(bp + 512 /* out32 */))) if n1 != n2 { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24837, /* "putVarint return..." */ + ts+25613, /* "putVarint return..." */ libc.VaList(bp+120, n1, n2)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+136, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } if in != *(*u64)(unsafe.Pointer(bp + 504 /* out */)) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24887, /* "Wrote 0x%016llx ..." */ + ts+25663, /* "Wrote 0x%016llx ..." */ libc.VaList(bp+152, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+168, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR @@ -54358,13 +55908,13 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var iDb int32 = 0 if (argc != 2) && (argc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24943 /* " DB-HANDLE ?N?\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25719 /* " DB-HANDLE ?N?\"" */, 0)) return TCL_ERROR } if 1 != tcl.XTcl_GetCommandInfo(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4)), bp+72 /* &info */) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24959 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25735 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+12415 /* "\"" */, 0)) return TCL_ERROR } if argc == 3 { @@ -54374,7 +55924,7 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 72 /* &info */)).FobjClientData)) pBt = (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FpBt - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+64, pBt)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, pBt)) tcl.XTcl_SetResult(tls, interp, bp+104 /* &zBuf[0] */, uintptr(1)) return TCL_OK } @@ -54391,8 +55941,8 @@ func btree_ismemdb(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var pFile uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54419,7 +55969,7 @@ func btree_set_cache_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i if argc != 3 { tcl.XTcl_AppendResult(tls, - interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+24980 /* " BT NCACHE\"" */, 0)) + interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+25756 /* " BT NCACHE\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -54448,7 +55998,7 @@ func btree_insert(tls *libc.TLS, clientData ClientData, interp uintptr, objc int // var x BtreePayload at bp+16, 40 if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+24992 /* "?-intkey? CSR KE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+25768 /* "?-intkey? CSR KE..." */) return TCL_ERROR } @@ -54490,7 +56040,7 @@ func Sqlitetest3_Init(tls *libc.TLS, interp uintptr) int32 { /* test3.c:661:5: * tcl.XTcl_CreateCommand(tls, interp, aCmd3[i].FzName, aCmd3[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_CreateObjCommand(tls, interp, ts+25016 /* "btree_insert" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+25792 /* "btree_insert" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{btree_insert})), uintptr(0), uintptr(0)) @@ -54501,20 +56051,20 @@ var aCmd3 = [14]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25029 /* "btree_open" */, FxProc: 0}, - {FzName: ts + 25040 /* "btree_close" */, FxProc: 0}, - {FzName: ts + 25052 /* "btree_begin_tran..." */, FxProc: 0}, - {FzName: ts + 25076 /* "btree_pager_stat..." */, FxProc: 0}, - {FzName: ts + 25094 /* "btree_cursor" */, FxProc: 0}, - {FzName: ts + 25107 /* "btree_close_curs..." */, FxProc: 0}, - {FzName: ts + 25126 /* "btree_next" */, FxProc: 0}, - {FzName: ts + 25137 /* "btree_eof" */, FxProc: 0}, - {FzName: ts + 25147 /* "btree_payload_si..." */, FxProc: 0}, - {FzName: ts + 25166 /* "btree_first" */, FxProc: 0}, - {FzName: ts + 25178 /* "btree_varint_tes..." */, FxProc: 0}, - {FzName: ts + 25196 /* "btree_from_db" */, FxProc: 0}, - {FzName: ts + 25210 /* "btree_ismemdb" */, FxProc: 0}, - {FzName: ts + 25224 /* "btree_set_cache_..." */, FxProc: 0}, + {FzName: ts + 25805 /* "btree_open" */, FxProc: 0}, + {FzName: ts + 25816 /* "btree_close" */, FxProc: 0}, + {FzName: ts + 25828 /* "btree_begin_tran..." */, FxProc: 0}, + {FzName: ts + 25852 /* "btree_pager_stat..." */, FxProc: 0}, + {FzName: ts + 25870 /* "btree_cursor" */, FxProc: 0}, + {FzName: ts + 25883 /* "btree_close_curs..." */, FxProc: 0}, + {FzName: ts + 25902 /* "btree_next" */, FxProc: 0}, + {FzName: ts + 25913 /* "btree_eof" */, FxProc: 0}, + {FzName: ts + 25923 /* "btree_payload_si..." */, FxProc: 0}, + {FzName: ts + 25942 /* "btree_first" */, FxProc: 0}, + {FzName: ts + 25954 /* "btree_varint_tes..." */, FxProc: 0}, + {FzName: ts + 25972 /* "btree_from_db" */, FxProc: 0}, + {FzName: ts + 25986 /* "btree_ismemdb" */, FxProc: 0}, + {FzName: ts + 26000 /* "btree_set_cache_..." */, FxProc: 0}, } /* test3.c:665:5 */ // end block for C++ @@ -55164,7 +56714,7 @@ func parse_thread_id(tls *libc.TLS, interp uintptr, zArg uintptr) int32 { /* tes defer tls.Free(16) if (((zArg == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zArg))) == 0)) || (int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0)) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zArg)))))*2))) & int32(_ISupper)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25245 /* "thread ID must b..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26021 /* "thread ID must b..." */, 0)) return -1 } return (int32(*(*int8)(unsafe.Pointer(zArg))) - 'A') @@ -55184,8 +56734,8 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25284 /* " ID FILENAME" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26060 /* " ID FILENAME" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55193,7 +56743,7 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if threadset[i].Fbusy != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25297 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+25305 /* " is already runn..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26073 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+26081 /* " is already runn..." */, 0)) return TCL_ERROR } threadset[i].Fbusy = 1 @@ -55205,7 +56755,7 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 f func(*libc.TLS, uintptr) uintptr }{test_thread_main})), (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+25325 /* "failed to create..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+26101 /* "failed to create..." */, 0)) sqlite3.Xsqlite3_free(tls, threadset[i].FzFilename) threadset[i].Fbusy = 0 return TCL_ERROR @@ -55231,8 +56781,8 @@ func tcl_thread_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55240,7 +56790,7 @@ func tcl_thread_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55271,8 +56821,8 @@ func tcl_thread_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } if (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*4))))) == '*') && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*4)) + 1))) == 0) { @@ -55287,7 +56837,7 @@ func tcl_thread_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_stop_thread(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55307,8 +56857,8 @@ func tcl_thread_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55316,7 +56866,7 @@ func tcl_thread_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55337,8 +56887,8 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55346,7 +56896,7 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+80 /* &n */) != 0 { @@ -55354,7 +56904,7 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848 + 48 /* &.argv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*4)), 0)) @@ -55373,8 +56923,8 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55382,7 +56932,7 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+80 /* &n */) != 0 { @@ -55390,7 +56940,7 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848 + 448 /* &.colv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*4)), 0)) @@ -55409,8 +56959,8 @@ func tcl_thread_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var zName uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55418,7 +56968,7 @@ func tcl_thread_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55438,8 +56988,8 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55447,7 +56997,7 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55458,7 +57008,7 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // This procedure runs in the thread to compile an SQL statement. func do_compile(tls *libc.TLS, p uintptr) { /* test4.c:419:13: */ if (*Thread)(unsafe.Pointer(p)).Fdb == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25405 /* "no database is o..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26181 /* "no database is o..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -55478,8 +57028,8 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25425 /* " ID SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26201 /* " ID SQL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55487,7 +57037,7 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55502,7 +57052,7 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int func do_step(tls *libc.TLS, p uintptr) { /* test4.c:466:13: */ var i int32 if (*Thread)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -55527,8 +57077,8 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55536,7 +57086,7 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55548,7 +57098,7 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // This procedure runs in the thread to finalize a virtual machine. func do_finalize(tls *libc.TLS, p uintptr) { /* test4.c:517:13: */ if (*Thread)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -55565,8 +57115,8 @@ func tcl_thread_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55574,7 +57124,7 @@ func tcl_thread_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55596,8 +57146,8 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var j int32 var temp uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25467 /* " ID1 ID2" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26243 /* " ID1 ID2" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55605,7 +57155,7 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55614,7 +57164,7 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[j].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(j)*848)) @@ -55637,8 +57187,8 @@ func tcl_thread_db_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var zBuf [100]int8 at bp+64, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55646,7 +57196,7 @@ func tcl_thread_db_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55664,8 +57214,8 @@ func tcl_thread_db_put(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25476 /* " ID DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26252 /* " ID DB" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55673,7 +57223,7 @@ func tcl_thread_db_put(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55694,8 +57244,8 @@ func tcl_thread_stmt_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in // var zBuf [100]int8 at bp+64, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -55703,7 +57253,7 @@ func tcl_thread_stmt_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*848)) @@ -55730,21 +57280,21 @@ var aCmd4 = [15]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25483 /* "thread_create" */, FxProc: 0}, - {FzName: ts + 25497 /* "thread_wait" */, FxProc: 0}, - {FzName: ts + 25509 /* "thread_halt" */, FxProc: 0}, - {FzName: ts + 25521 /* "thread_argc" */, FxProc: 0}, - {FzName: ts + 25533 /* "thread_argv" */, FxProc: 0}, - {FzName: ts + 25545 /* "thread_colname" */, FxProc: 0}, - {FzName: ts + 25560 /* "thread_result" */, FxProc: 0}, - {FzName: ts + 25574 /* "thread_error" */, FxProc: 0}, - {FzName: ts + 25587 /* "thread_compile" */, FxProc: 0}, - {FzName: ts + 25602 /* "thread_step" */, FxProc: 0}, - {FzName: ts + 25614 /* "thread_finalize" */, FxProc: 0}, - {FzName: ts + 25630 /* "thread_swap" */, FxProc: 0}, - {FzName: ts + 25642 /* "thread_db_get" */, FxProc: 0}, - {FzName: ts + 25656 /* "thread_db_put" */, FxProc: 0}, - {FzName: ts + 25670 /* "thread_stmt_get" */, FxProc: 0}, + {FzName: ts + 26259 /* "thread_create" */, FxProc: 0}, + {FzName: ts + 26273 /* "thread_wait" */, FxProc: 0}, + {FzName: ts + 26285 /* "thread_halt" */, FxProc: 0}, + {FzName: ts + 26297 /* "thread_argc" */, FxProc: 0}, + {FzName: ts + 26309 /* "thread_argv" */, FxProc: 0}, + {FzName: ts + 26321 /* "thread_colname" */, FxProc: 0}, + {FzName: ts + 26336 /* "thread_result" */, FxProc: 0}, + {FzName: ts + 26350 /* "thread_error" */, FxProc: 0}, + {FzName: ts + 26363 /* "thread_compile" */, FxProc: 0}, + {FzName: ts + 26378 /* "thread_step" */, FxProc: 0}, + {FzName: ts + 26390 /* "thread_finalize" */, FxProc: 0}, + {FzName: ts + 26406 /* "thread_swap" */, FxProc: 0}, + {FzName: ts + 26418 /* "thread_db_get" */, FxProc: 0}, + {FzName: ts + 26432 /* "thread_db_put" */, FxProc: 0}, + {FzName: ts + 26446 /* "thread_stmt_get" */, FxProc: 0}, } /* test4.c:700:5 */ // end block for C++ @@ -55831,8 +57381,8 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var val Mem at bp+40, 40 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+25686 /* " ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+26462 /* " ..." */, 0)) return TCL_ERROR } @@ -55844,7 +57394,7 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc } (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fflags = (u16((MEM_Str | MEM_Term) | MEM_Static)) - (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fz = ts + 25713 /* "hello world" */ + (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fz = ts + 26489 /* "hello world" */ (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fenc = u8(SQLITE_UTF8) for i = 0; i < *(*int32)(unsafe.Pointer(bp + 32 /* repeat_count */)); i++ { @@ -55861,10 +57411,10 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 defer tls.Free(64) *(*[5]EncName)(unsafe.Pointer(bp + 24 /* encnames */)) = [5]EncName{ - {FzName: ts + 25725 /* "UTF8" */, Fenc: u8(SQLITE_UTF8)}, - {FzName: ts + 25730 /* "UTF16LE" */, Fenc: u8(SQLITE_UTF16LE)}, - {FzName: ts + 25738 /* "UTF16BE" */, Fenc: u8(SQLITE_UTF16BE)}, - {FzName: ts + 25746 /* "UTF16" */, Fenc: u8(SQLITE_UTF16)}, + {FzName: ts + 26501 /* "UTF8" */, Fenc: u8(SQLITE_UTF8)}, + {FzName: ts + 26506 /* "UTF16LE" */, Fenc: u8(SQLITE_UTF16LE)}, + {FzName: ts + 26514 /* "UTF16BE" */, Fenc: u8(SQLITE_UTF16BE)}, + {FzName: ts + 26522 /* "UTF16" */, Fenc: u8(SQLITE_UTF16)}, {}, } var pEnc uintptr @@ -55875,7 +57425,7 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 } } if !(int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25752 /* "No such encoding..." */, z, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26528 /* "No such encoding..." */, z, 0)) } if int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) == SQLITE_UTF16 { return u8(SQLITE_UTF16LE) @@ -55904,9 +57454,9 @@ func test_translate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var xDel uintptr = uintptr(0) if (objc != 4) && (objc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), - ts+25771 /* " <..." */, 0)) + ts+26547 /* " <..." */, 0)) return TCL_ERROR } if objc == 5 { @@ -55975,10 +57525,10 @@ var aCmd5 = [4]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25806 /* "binarize" */, FxProc: 0}, - {FzName: ts + 25815 /* "test_value_overh..." */, FxProc: 0}, - {FzName: ts + 25835 /* "test_translate" */, FxProc: 0}, - {FzName: ts + 25850 /* "translate_selfte..." */, FxProc: 0}, + {FzName: ts + 26582 /* "binarize" */, FxProc: 0}, + {FzName: ts + 26591 /* "test_value_overh..." */, FxProc: 0}, + {FzName: ts + 26611 /* "test_translate" */, FxProc: 0}, + {FzName: ts + 26626 /* "translate_selfte..." */, FxProc: 0}, } /* test5.c:209:5 */ // end block for C++ @@ -56229,7 +57779,7 @@ func writeListAppend(tls *libc.TLS, pFile uintptr, iOffset sqlite3_int64, zBuf u pNew = crash_malloc(tls, (int32(uint32(unsafe.Sizeof(WriteBuffer{})) + uint32(nBuf)))) if pNew == uintptr(0) { - libc.Xfprintf(tls, libc.Xstderr, ts+25869 /* "out of memory in..." */, 0) + libc.Xfprintf(tls, libc.Xstderr, ts+26645 /* "out of memory in..." */, 0) } libc.Xmemset(tls, pNew, 0, (uint32(unsafe.Sizeof(WriteBuffer{})) + uint32(nBuf))) (*WriteBuffer)(unsafe.Pointer(pNew)).FiOffset = iOffset @@ -56547,19 +58097,19 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, defer tls.Free(196) *(*[14]DeviceFlag)(unsafe.Pointer(bp + 80 /* aFlag */)) = [14]DeviceFlag{ - {FzName: ts + 25907 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, - {FzName: ts + 25914 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, - {FzName: ts + 25924 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, - {FzName: ts + 25933 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, - {FzName: ts + 25942 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, - {FzName: ts + 25951 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, - {FzName: ts + 25960 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, - {FzName: ts + 25970 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, - {FzName: ts + 25980 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, - {FzName: ts + 25990 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, - {FzName: ts + 26001 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, - {FzName: ts + 26013 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, - {FzName: ts + 26033 /* "batch-atomic" */, FiValue: SQLITE_IOCAP_BATCH_ATOMIC}, + {FzName: ts + 26683 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, + {FzName: ts + 26690 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, + {FzName: ts + 26700 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, + {FzName: ts + 26709 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, + {FzName: ts + 26718 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, + {FzName: ts + 26727 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, + {FzName: ts + 26736 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, + {FzName: ts + 26746 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, + {FzName: ts + 26756 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, + {FzName: ts + 26766 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, + {FzName: ts + 26777 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, + {FzName: ts + 26789 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, + {FzName: ts + 26809 /* "batch-atomic" */, FiValue: SQLITE_IOCAP_BATCH_ATOMIC}, {}, } var i int32 @@ -56573,15 +58123,15 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, var zOpt uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp+64 /* &nOpt */) - if (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26046 /* "-sectorsize" */, zOpt, uint32(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) && - (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26058 /* "-characteristics" */, zOpt, uint32(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) { + if (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26822 /* "-sectorsize" */, zOpt, uint32(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) && + (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26834 /* "-characteristics" */, zOpt, uint32(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+26075 /* "Bad option: \"" */, zOpt, - ts+26089 /* "\" - must be \"-ch..." */, 0)) + libc.VaList(bp, ts+26851 /* "Bad option: \"" */, zOpt, + ts+26865 /* "\" - must be \"-ch..." */, 0)) return TCL_ERROR } if i == (objc - 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26137 /* "Option requires ..." */, zOpt, ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26913 /* "Option requires ..." */, zOpt, ts+12415 /* "\"" */, 0)) return TCL_ERROR } @@ -56608,7 +58158,7 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, tcl.XTcl_UtfToLower(tls, tcl.XTcl_GetString(tls, pFlag)) rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, pFlag, bp+80 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+26168 /* "no such flag" */, 0, bp+192 /* &iChoice */) + interp, pFlag, bp+80 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+26944 /* "no such flag" */, 0, bp+192 /* &iChoice */) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pFlag if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -56667,7 +58217,7 @@ func crashEnableCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 *(*int32)(unsafe.Pointer(bp + 4 /* isDefault */)) = 0 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26181 /* "ENABLE ?DEFAULT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26957 /* "ENABLE ?DEFAULT?" */) return TCL_ERROR } @@ -56698,7 +58248,7 @@ func crashEnableCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var crashVfs = sqlite3_vfs{ FiVersion: 2, // pNext - FzName: ts + 26198, /* "crash" */ // pAppData + FzName: ts + 26974, /* "crash" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -56749,7 +58299,7 @@ func crashParamsObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc i if !(objc < 3) { goto __1 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26204 /* "?OPTIONS? DELAY ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26980 /* "?OPTIONS? DELAY ..." */) goto error __1: ; @@ -56758,7 +58308,7 @@ __1: if !(uint32(*(*int32)(unsafe.Pointer(bp + 32 /* nCrashFile */))) >= uint32(unsafe.Sizeof([500]int8{}))) { goto __2 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26230 /* "Filename is too ..." */, zCrashFile, ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27006 /* "Filename is too ..." */, zCrashFile, ts+12415 /* "\"" */, 0)) goto error __2: ; @@ -56821,7 +58371,7 @@ func writeCrashObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc in *(*int32)(unsafe.Pointer(bp /* nWrite */)) = 0 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26254 /* "NWRITE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27030 /* "NWRITE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &nWrite */) != 0 { @@ -56852,14 +58402,14 @@ func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj var zParent uintptr = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26261 /* "?-default? PAREN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27037 /* "?-default? PAREN..." */) return TCL_ERROR } zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) if objc == 3 { - if libc.Xstrcmp(tls, zParent, ts+26283 /* "-default" */) != 0 { + if libc.Xstrcmp(tls, zParent, ts+27059 /* "-default" */) != 0 { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+11533 /* "bad option \"" */, zParent, ts+26292 /* "\": must be -defa..." */, 0)) + libc.VaList(bp, ts+12321 /* "bad option \"" */, zParent, ts+27068 /* "\": must be -defa..." */, 0)) return TCL_ERROR } zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) @@ -56869,7 +58419,7 @@ func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj zParent = uintptr(0) } if jt_register(tls, zParent, (libc.Bool32(objc == 3))) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26312 /* "Error in jt_regi..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+27088 /* "Error in jt_regi..." */, 0)) return TCL_ERROR } @@ -56890,28 +58440,28 @@ func jtUnregisterObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc // This procedure registers the TCL procedures defined in this file. func Sqlitetest6_Init(tls *libc.TLS, interp uintptr) int32 { /* test6.c:1093:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+26333 /* "sqlite3_crash_en..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27109 /* "sqlite3_crash_en..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashEnableCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26354 /* "sqlite3_crashpar..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27130 /* "sqlite3_crashpar..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashParamsObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26374 /* "sqlite3_crash_no..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27150 /* "sqlite3_crash_no..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashNowCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26392 /* "sqlite3_simulate..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27168 /* "sqlite3_simulate..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{devSymObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26416 /* "sqlite3_crash_on..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27192 /* "sqlite3_crash_on..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{writeCrashObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26439 /* "unregister_devsi..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27215 /* "unregister_devsi..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{dsUnregisterObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26457 /* "register_jt_vfs" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27233 /* "register_jt_vfs" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{jtObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26473 /* "unregister_jt_vf..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27249 /* "unregister_jt_vf..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{jtUnregisterObjCmd})), uintptr(0), uintptr(0)) return TCL_OK @@ -56994,7 +58544,7 @@ func parse_client_id(tls *libc.TLS, interp uintptr, zArg uintptr) int32 { /* tes defer tls.Free(16) if (((zArg == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zArg))) == 0)) || (int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0)) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zArg)))))*2))) & int32(_ISupper)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25245 /* "thread ID must b..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26021 /* "thread ID must b..." */, 0)) return -1 } return (int32(*(*int8)(unsafe.Pointer(zArg))) - 'A') @@ -57014,8 +58564,8 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25284 /* " ID FILENAME" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26060 /* " ID FILENAME" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57023,7 +58573,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if threadset1[i].Fbusy != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25297 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+25305 /* " is already runn..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26073 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+26081 /* " is already runn..." */, 0)) return TCL_ERROR } threadset1[i].Fbusy = 1 @@ -57035,7 +58585,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 f func(*libc.TLS, uintptr) uintptr }{client_main})), (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+25325 /* "failed to create..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+26101 /* "failed to create..." */, 0)) sqlite3.Xsqlite3_free(tls, threadset1[i].FzFilename) threadset1[i].Fbusy = 0 return TCL_ERROR @@ -57065,8 +58615,8 @@ func tcl_client_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57074,7 +58624,7 @@ func tcl_client_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57105,8 +58655,8 @@ func tcl_client_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } if (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*4))))) == '*') && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*4)) + 1))) == 0) { @@ -57121,7 +58671,7 @@ func tcl_client_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } stop_thread(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57156,8 +58706,8 @@ func tcl_client_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57165,7 +58715,7 @@ func tcl_client_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57186,8 +58736,8 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57195,7 +58745,7 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+80 /* &n */) != 0 { @@ -57203,7 +58753,7 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset1[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852 + 48 /* &.argv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*4)), 0)) @@ -57222,8 +58772,8 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57231,7 +58781,7 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+80 /* &n */) != 0 { @@ -57239,7 +58789,7 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset1[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852 + 448 /* &.colv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*4)), 0)) @@ -57258,8 +58808,8 @@ func tcl_client_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var zName uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57267,7 +58817,7 @@ func tcl_client_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57287,8 +58837,8 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57296,7 +58846,7 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57307,7 +58857,7 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // This procedure runs in the thread to compile an SQL statement. func do_compile1(tls *libc.TLS, p uintptr) { /* test7.c:466:13: */ if (*Thread1)(unsafe.Pointer(p)).Fdb == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25405 /* "no database is o..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26181 /* "no database is o..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57327,8 +58877,8 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25425 /* " ID SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26201 /* " ID SQL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57336,7 +58886,7 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57351,7 +58901,7 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int func do_step1(tls *libc.TLS, p uintptr) { /* test7.c:513:13: */ var i int32 if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57376,8 +58926,8 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57385,7 +58935,7 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57397,7 +58947,7 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // This procedure runs in the thread to finalize a virtual machine. func do_finalize1(tls *libc.TLS, p uintptr) { /* test7.c:564:13: */ if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57414,8 +58964,8 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57423,7 +58973,7 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57437,7 +58987,7 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in // This procedure runs in the thread to reset a virtual machine. func do_reset(tls *libc.TLS, p uintptr) { /* test7.c:608:13: */ if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+36 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57454,8 +59004,8 @@ func tcl_client_reset(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57463,7 +59013,7 @@ func tcl_client_reset(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57485,8 +59035,8 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var j int32 var temp uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25467 /* " ID1 ID2" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26243 /* " ID1 ID2" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*4))) @@ -57494,7 +59044,7 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*852)) @@ -57503,7 +59053,7 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[j].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(j)*852)) @@ -57530,19 +59080,19 @@ var aCmd6 = [13]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 26491 /* "client_create" */, FxProc: 0}, - {FzName: ts + 26505 /* "client_wait" */, FxProc: 0}, - {FzName: ts + 26517 /* "client_halt" */, FxProc: 0}, - {FzName: ts + 26529 /* "client_argc" */, FxProc: 0}, - {FzName: ts + 26541 /* "client_argv" */, FxProc: 0}, - {FzName: ts + 26553 /* "client_colname" */, FxProc: 0}, - {FzName: ts + 26568 /* "client_result" */, FxProc: 0}, - {FzName: ts + 26582 /* "client_error" */, FxProc: 0}, - {FzName: ts + 26595 /* "client_compile" */, FxProc: 0}, - {FzName: ts + 26610 /* "client_step" */, FxProc: 0}, - {FzName: ts + 26622 /* "client_reset" */, FxProc: 0}, - {FzName: ts + 26635 /* "client_finalize" */, FxProc: 0}, - {FzName: ts + 26651 /* "client_swap" */, FxProc: 0}, + {FzName: ts + 27267 /* "client_create" */, FxProc: 0}, + {FzName: ts + 27281 /* "client_wait" */, FxProc: 0}, + {FzName: ts + 27293 /* "client_halt" */, FxProc: 0}, + {FzName: ts + 27305 /* "client_argc" */, FxProc: 0}, + {FzName: ts + 27317 /* "client_argv" */, FxProc: 0}, + {FzName: ts + 27329 /* "client_colname" */, FxProc: 0}, + {FzName: ts + 27344 /* "client_result" */, FxProc: 0}, + {FzName: ts + 27358 /* "client_error" */, FxProc: 0}, + {FzName: ts + 27371 /* "client_compile" */, FxProc: 0}, + {FzName: ts + 27386 /* "client_step" */, FxProc: 0}, + {FzName: ts + 27398 /* "client_reset" */, FxProc: 0}, + {FzName: ts + 27411 /* "client_finalize" */, FxProc: 0}, + {FzName: ts + 27427 /* "client_swap" */, FxProc: 0}, } /* test7.c:694:5 */ // end block for C++ @@ -57665,10 +59215,10 @@ func simulateVtabError(tls *libc.TLS, p uintptr, zMethod uintptr) int32 { /* tes // var zVarname [128]int8 at bp+24, 128 *(*int8)(unsafe.Pointer(bp + 24 /* &zVarname[0] */ + 127)) = int8(0) - sqlite3.Xsqlite3_snprintf(tls, 127, bp+24 /* &zVarname[0] */, ts+26663 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) + sqlite3.Xsqlite3_snprintf(tls, 127, bp+24 /* &zVarname[0] */, ts+27439 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) zErr = tcl.XTcl_GetVar2(tls, (*echo_vtab)(unsafe.Pointer(p)).Finterp, bp+24 /* &zVarname[0] */, uintptr(0), TCL_GLOBAL_ONLY) if zErr != 0 { - (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26687 /* "echo-vtab-error:..." */, libc.VaList(bp+16, zErr)) + (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27463 /* "echo-vtab-error:..." */, libc.VaList(bp+16, zErr)) } return (libc.Bool32(zErr != uintptr(0))) } @@ -57752,7 +59302,7 @@ func getColumnNames(tls *libc.TLS, db uintptr, zTab uintptr, paCol uintptr, pnCo // Prepare the statement "SELECT * FROM ". The column names // of the result set of the compiled SELECT will be the same as // the column names of table . - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26707 /* "SELECT * FROM %Q" */, libc.VaList(bp, zTab)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27483 /* "SELECT * FROM %Q" */, libc.VaList(bp, zTab)) if !(!(zSql != 0)) { goto __1 } @@ -57869,7 +59419,7 @@ __1: ; // Compile an sqlite pragma to loop through all indices on table zTab - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26724 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTab)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27500 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTab)) if !(!(zSql != 0)) { goto __2 } @@ -57894,7 +59444,7 @@ __3: goto __3 __5: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26746 /* "PRAGMA index_inf..." */, libc.VaList(bp+8, zIdx)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27522 /* "PRAGMA index_inf..." */, libc.VaList(bp+8, zIdx)) if !(!(zSql != 0)) { goto __6 } @@ -57956,7 +59506,7 @@ __12: // the string element zArg to that list in interpreter interp. func appendToEchoModule(tls *libc.TLS, interp uintptr, zArg uintptr) { /* test8.c:313:13: */ var flags int32 = ((TCL_APPEND_VALUE | TCL_LIST_ELEMENT) | TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+26768 /* "echo_module" */, uintptr(0), func() uintptr { + tcl.XTcl_SetVar2(tls, interp, ts+27544 /* "echo_module" */, uintptr(0), func() uintptr { if zArg != 0 { return zArg } @@ -57988,7 +59538,7 @@ func echoDeclareVtab(tls *libc.TLS, pVtab uintptr, db uintptr) int32 { /* test8. if (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0 { *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) = uintptr(0) rc = sqlite3.Xsqlite3_prepare(tls, db, - ts+26780, /* "SELECT sql FROM ..." */ + ts+27556, /* "SELECT sql FROM ..." */ -1, bp /* &pStmt */, uintptr(0)) if rc == SQLITE_OK { sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 1, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName, -1, uintptr(0)) @@ -58069,7 +59619,7 @@ func echoConstructor(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + 3*4)))) dequoteString(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) if ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0) && (int32(*(*int8)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))) == '*') { - var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+26844 /* "%s%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) + var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27620 /* "%s%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*4)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) sqlite3.Xsqlite3_free(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = z (*echo_vtab)(unsafe.Pointer(pVtab)).FisPattern = 1 @@ -58105,7 +59655,7 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt defer tls.Free(24) var rc int32 = SQLITE_OK - appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+26849 /* "xCreate" */) + appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27625 /* "xCreate" */) rc = echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr) // If there were two arguments passed to the module at the SQL level @@ -58121,7 +59671,7 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt var zSql uintptr var pVtab uintptr = *(*uintptr)(unsafe.Pointer(ppVtab)) (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 4*4)))) - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26857 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+8, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27633 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+8, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { @@ -58143,13 +59693,13 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt // Echo virtual table module xConnect method. func echoConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* test8.c:513:12: */ - appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+26881 /* "xConnect" */) + appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27657 /* "xConnect" */) return echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr) } // Echo virtual table module xDisconnect method. func echoDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:527:12: */ - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26890 /* "xDisconnect" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27666 /* "xDisconnect" */) return echoDestructor(tls, pVtab) } @@ -58160,12 +59710,12 @@ func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:535:12: */ var rc int32 = SQLITE_OK var p uintptr = pVtab - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26902 /* "xDestroy" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27678 /* "xDestroy" */) // Drop the "log" table, if one exists (see echoCreate() for details) if (p != 0) && ((*echo_vtab)(unsafe.Pointer(p)).FzLogName != 0) { var zSql uintptr - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26911 /* "DROP TABLE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzLogName)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27687 /* "DROP TABLE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzLogName)) rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) } @@ -58179,7 +59729,7 @@ func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:535:12: */ // Echo virtual table module xOpen method. func echoOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* test8.c:557:12: */ var pCur uintptr - if simulateVtabError(tls, pVTab, ts+26925 /* "xOpen" */) != 0 { + if simulateVtabError(tls, pVTab, ts+27701 /* "xOpen" */) != 0 { return SQLITE_ERROR } pCur = sqlite3.Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(echo_cursor{}))) @@ -58219,7 +59769,7 @@ func echoNext(tls *libc.TLS, cur uintptr) int32 { /* test8.c:591:12: */ var rc int32 = SQLITE_OK var pCur uintptr = cur - if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+26931 /* "xNext" */) != 0 { + if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27707 /* "xNext" */) != 0 { return SQLITE_ERROR } @@ -58241,7 +59791,7 @@ func echoColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* tes var iCol int32 = (i + 1) var pStmt uintptr = (*echo_cursor)(unsafe.Pointer(cur)).FpStmt - if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+26937 /* "xColumn" */) != 0 { + if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27713 /* "xColumn" */) != 0 { return SQLITE_ERROR } @@ -58291,14 +59841,14 @@ func echoFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr var pVtab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab var db uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Fdb - if simulateVtabError(tls, pVtab, ts+26945 /* "xFilter" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27721 /* "xFilter" */) != 0 { return SQLITE_ERROR } // Check that idxNum matches idxStr // Log arguments to the ::echo_module Tcl variable - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26945 /* "xFilter" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27721 /* "xFilter" */) appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, idxStr) for i = 0; i < argc; i++ { appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) @@ -58348,7 +59898,7 @@ func string_concat(tls *libc.TLS, pzStr uintptr, zAppend uintptr, doFree int32, } else { if zIn != 0 { var zTemp uintptr = zIn - zIn = sqlite3.Xsqlite3_mprintf(tls, ts+26844 /* "%s%s" */, libc.VaList(bp, zIn, zAppend)) + zIn = sqlite3.Xsqlite3_mprintf(tls, ts+27620 /* "%s%s" */, libc.VaList(bp, zIn, zAppend)) sqlite3.Xsqlite3_free(tls, zTemp) } else { zIn = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zAppend)) @@ -58377,7 +59927,7 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* var zRet uintptr = uintptr(0) if sqlite3.Xsqlite3_libversion_number(tls) < 3010000 { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26953 /* ", *" */, 0) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27729 /* ", *" */, 0) } else { var i int32 for i = 0; i < (*echo_vtab)(unsafe.Pointer(pTab)).FnCol; i++ { @@ -58387,9 +59937,9 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* } return i }()))) != 0 { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26957 /* "%z, %s" */, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*4)))) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27733 /* "%z, %s" */, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*4)))) } else { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26964 /* "%z, NULL" */, libc.VaList(bp+16, zRet)) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27740 /* "%z, NULL" */, libc.VaList(bp+16, zRet)) } if !(zRet != 0) { break @@ -58439,11 +59989,11 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test var useCost int32 = 0 var cost float64 = float64(0) var isIgnoreUsable int32 = 0 - if tcl.XTcl_GetVar2(tls, interp, ts+26973 /* "echo_module_igno..." */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { + if tcl.XTcl_GetVar2(tls, interp, ts+27749 /* "echo_module_igno..." */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { isIgnoreUsable = 1 } - if simulateVtabError(tls, pVtab, ts+26999 /* "xBestIndex" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27775 /* "xBestIndex" */) != 0 { return SQLITE_ERROR } @@ -58451,11 +60001,11 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test // variable nRow. The 'estimated-cost' of the scan will be the number of // rows in the table for a linear scan, or the log (base 2) of the // number of rows if the proposed scan uses an index. - if tcl.XTcl_GetVar2(tls, interp, ts+27010 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { - cost = libc.Xatof(tls, tcl.XTcl_GetVar2(tls, interp, ts+27010 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY)) + if tcl.XTcl_GetVar2(tls, interp, ts+27786 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { + cost = libc.Xatof(tls, tcl.XTcl_GetVar2(tls, interp, ts+27786 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY)) useCost = 1 } else { - *(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27027 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27803 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */)) != 0) { return SQLITE_NOMEM } @@ -58476,7 +60026,7 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if !(zCol != 0) { return SQLITE_NOMEM } - *(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27051 /* "SELECT rowid%z F..." */, libc.VaList(bp+8, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27827 /* "SELECT rowid%z F..." */, libc.VaList(bp+8, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */)) != 0) { return SQLITE_NOMEM } @@ -58499,29 +60049,29 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if iCol >= 0 { zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*4)) } else { - zNewCol = ts + 27074 /* "rowid" */ + zNewCol = ts + 27850 /* "rowid" */ } var zOp uintptr = uintptr(0) useIdx = 1 switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) { case SQLITE_INDEX_CONSTRAINT_EQ: - zOp = ts + 27080 /* "=" */ + zOp = ts + 27856 /* "=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LT: - zOp = ts + 27082 /* "<" */ + zOp = ts + 27858 /* "<" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GT: - zOp = ts + 27084 /* ">" */ + zOp = ts + 27860 /* ">" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LE: - zOp = ts + 27086 /* "<=" */ + zOp = ts + 27862 /* "<=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GE: - zOp = ts + 27089 /* ">=" */ + zOp = ts + 27865 /* ">=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_MATCH: @@ -58531,15 +60081,15 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test // of code requires the first letter of this operator to be // in upper-case to trigger the special MATCH handling (i.e. // wrapping the bound parameter with literal '%'s). - zOp = ts + 27092 /* "LIKE" */ + zOp = ts + 27868 /* "LIKE" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LIKE: - zOp = ts + 27097 /* "like" */ + zOp = ts + 27873 /* "like" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GLOB: - zOp = ts + 27102 /* "glob" */ + zOp = ts + 27878 /* "glob" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_REGEXP: @@ -58548,10 +60098,10 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test } if zOp != 0 { if int32(*(*int8)(unsafe.Pointer(zOp))) == 'L' { - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27107, /* " %s %s LIKE (SEL..." */ + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27883, /* " %s %s LIKE (SEL..." */ libc.VaList(bp+24, zSep, zNewCol)) } else { - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27142 /* " %s %s %s ?" */, libc.VaList(bp+40, zSep, zNewCol, zOp)) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27918 /* " %s %s %s ?" */, libc.VaList(bp+40, zSep, zNewCol, zOp)) } string_concat(tls, bp+84 /* &zQuery */, zNew, 1, bp+88 /* &rc */) zSep = ts + 8865 /* "AND" */ @@ -58570,20 +60120,20 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if iCol >= 0 { zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*4)) } else { - zNewCol = ts + 27074 /* "rowid" */ + zNewCol = ts + 27850 /* "rowid" */ } var zDir uintptr if (*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).Fdesc != 0 { - zDir = ts + 27154 /* "DESC" */ + zDir = ts + 27930 /* "DESC" */ } else { - zDir = ts + 27159 /* "ASC" */ + zDir = ts + 27935 /* "ASC" */ } - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27163 /* " ORDER BY %s %s" */, libc.VaList(bp+64, zNewCol, zDir)) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27939 /* " ORDER BY %s %s" */, libc.VaList(bp+64, zNewCol, zDir)) string_concat(tls, bp+84 /* &zQuery */, zNew, 1, bp+88 /* &rc */) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1 } - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26999 /* "xBestIndex" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27775 /* "xBestIndex" */) appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, *(*uintptr)(unsafe.Pointer(bp + 84 /* zQuery */))) @@ -58637,14 +60187,14 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid // Ticket #3083 - make sure we always start a transaction prior to // making any changes to a virtual table - if simulateVtabError(tls, pVtab, ts+27179 /* "xUpdate" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27955 /* "xUpdate" */) != 0 { return SQLITE_ERROR } // If apData[0] is an integer and nData>1 then do an UPDATE if (nData > 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { - var zSep uintptr = ts + 27187 /* " SET" */ - *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27192 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + var zSep uintptr = ts + 27963 /* " SET" */ + *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27968 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) != 0) { *(*int32)(unsafe.Pointer(bp + 100 /* rc */)) = SQLITE_NOMEM } @@ -58653,7 +60203,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid bindArgZero = 1 if bindArgOne != 0 { - string_concat(tls, bp+96 /* &z */, ts+27202 /* " SET rowid=?1 " */, 0, bp+100 /* &rc */) + string_concat(tls, bp+96 /* &z */, ts+27978 /* " SET rowid=?1 " */, 0, bp+100 /* &rc */) zSep = ts + 4619 /* "," */ } for i = 2; i < nData; i++ { @@ -58661,12 +60211,12 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid continue } string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, - ts+27217 /* "%s %Q=?%d" */, libc.VaList(bp+8, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*4)), i)), 1, bp+100 /* &rc */) + ts+27993 /* "%s %Q=?%d" */, libc.VaList(bp+8, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*4)), i)), 1, bp+100 /* &rc */) zSep = ts + 4619 /* "," */ } - string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+27227 /* " WHERE rowid=?%d" */, libc.VaList(bp+32, nData)), 1, bp+100 /* &rc */) + string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+28003 /* " WHERE rowid=?%d" */, libc.VaList(bp+32, nData)), 1, bp+100 /* &rc */) } else if (nData == 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { - *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27244 /* "DELETE FROM %Q W..." */, libc.VaList(bp+40, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+28020 /* "DELETE FROM %Q W..." */, libc.VaList(bp+40, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) != 0) { *(*int32)(unsafe.Pointer(bp + 100 /* rc */)) = SQLITE_NOMEM } @@ -58676,26 +60226,26 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid *(*uintptr)(unsafe.Pointer(bp + 104 /* zInsert */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 108 /* zValues */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 104 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27276 /* "INSERT INTO %Q (" */, libc.VaList(bp+48, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 104 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+28052 /* "INSERT INTO %Q (" */, libc.VaList(bp+48, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 104 /* zInsert */)) != 0) { *(*int32)(unsafe.Pointer(bp + 100 /* rc */)) = SQLITE_NOMEM } if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData + 1*4))) == SQLITE_INTEGER { bindArgOne = 1 *(*uintptr)(unsafe.Pointer(bp + 108 /* zValues */)) = sqlite3.Xsqlite3_mprintf(tls, ts+3266 /* "?" */, 0) - string_concat(tls, bp+104 /* &zInsert */, ts+27074 /* "rowid" */, 0, bp+100 /* &rc */) + string_concat(tls, bp+104 /* &zInsert */, ts+27850 /* "rowid" */, 0, bp+100 /* &rc */) } for ii = 2; ii < nData; ii++ { string_concat(tls, bp+104, /* &zInsert */ - sqlite3.Xsqlite3_mprintf(tls, ts+27293 /* "%s%Q" */, libc.VaList(bp+56, func() uintptr { + sqlite3.Xsqlite3_mprintf(tls, ts+28069 /* "%s%Q" */, libc.VaList(bp+56, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 108 /* zValues */)) != 0 { return ts + 90 /* ", " */ } return ts + 489 /* "" */ }(), *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((ii-2))*4)))), 1, bp+100 /* &rc */) string_concat(tls, bp+108, /* &zValues */ - sqlite3.Xsqlite3_mprintf(tls, ts+27298 /* "%s?%d" */, libc.VaList(bp+72, func() uintptr { + sqlite3.Xsqlite3_mprintf(tls, ts+28074 /* "%s?%d" */, libc.VaList(bp+72, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 108 /* zValues */)) != 0 { return ts + 90 /* ", " */ } @@ -58704,7 +60254,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid } string_concat(tls, bp+96 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 104 /* zInsert */)), 1, bp+100 /* &rc */) - string_concat(tls, bp+96 /* &z */, ts+27304 /* ") VALUES(" */, 0, bp+100 /* &rc */) + string_concat(tls, bp+96 /* &z */, ts+28080 /* ") VALUES(" */, 0, bp+100 /* &rc */) string_concat(tls, bp+96 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 108 /* zValues */)), 1, bp+100 /* &rc */) string_concat(tls, bp+96 /* &z */, ts+490 /* ")" */, 0, bp+100 /* &rc */) } else { @@ -58741,7 +60291,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid *(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_last_insert_rowid(tls, db) } if *(*int32)(unsafe.Pointer(bp + 100 /* rc */)) != SQLITE_OK { - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26687 /* "echo-vtab-error:..." */, libc.VaList(bp+88, sqlite3.Xsqlite3_errmsg(tls, db))) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27463 /* "echo-vtab-error:..." */, libc.VaList(bp+88, sqlite3.Xsqlite3_errmsg(tls, db))) } return *(*int32)(unsafe.Pointer(bp + 100 /* rc */)) @@ -58756,7 +60306,7 @@ func echoTransactionCall(tls *libc.TLS, tab uintptr, zCall uintptr) int32 { /* t var z uintptr var pVtab uintptr = tab - z = sqlite3.Xsqlite3_mprintf(tls, ts+27314 /* "echo(%s)" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + z = sqlite3.Xsqlite3_mprintf(tls, ts+28090 /* "echo(%s)" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if z == uintptr(0) { return SQLITE_NOMEM } @@ -58775,17 +60325,17 @@ func echoBegin(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1112:12: */ // Ticket #3083 - do not start a transaction if we are already in // a transaction - if simulateVtabError(tls, pVtab, ts+27323 /* "xBegin" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28099 /* "xBegin" */) != 0 { return SQLITE_ERROR } - rc = echoTransactionCall(tls, tab, ts+27323 /* "xBegin" */) + rc = echoTransactionCall(tls, tab, ts+28099 /* "xBegin" */) if rc == SQLITE_OK { // Check if the $::echo_module_begin_fail variable is defined. If it is, // and it is set to the name of the real table underlying this virtual // echo module table, then cause this xSync operation to fail. - zVal = tcl.XTcl_GetVar2(tls, interp, ts+27330 /* "echo_module_begi..." */, uintptr(0), TCL_GLOBAL_ONLY) + zVal = tcl.XTcl_GetVar2(tls, interp, ts+28106 /* "echo_module_begi..." */, uintptr(0), TCL_GLOBAL_ONLY) if (zVal != 0) && (0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) { rc = SQLITE_ERROR } @@ -58805,17 +60355,17 @@ func echoSync(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1143:12: */ // Ticket #3083 - Only call xSync if we have previously started a // transaction - if simulateVtabError(tls, pVtab, ts+27353 /* "xSync" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28129 /* "xSync" */) != 0 { return SQLITE_ERROR } - rc = echoTransactionCall(tls, tab, ts+27353 /* "xSync" */) + rc = echoTransactionCall(tls, tab, ts+28129 /* "xSync" */) if rc == SQLITE_OK { // Check if the $::echo_module_sync_fail variable is defined. If it is, // and it is set to the name of the real table underlying this virtual // echo module table, then cause this xSync operation to fail. - zVal = tcl.XTcl_GetVar2(tls, interp, ts+27359 /* "echo_module_sync..." */, uintptr(0), TCL_GLOBAL_ONLY) + zVal = tcl.XTcl_GetVar2(tls, interp, ts+28135 /* "echo_module_sync..." */, uintptr(0), TCL_GLOBAL_ONLY) if (zVal != 0) && (0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) { rc = -1 } @@ -58830,12 +60380,12 @@ func echoCommit(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1171:12: */ // Ticket #3083 - Only call xCommit if we have previously started // a transaction - if simulateVtabError(tls, pVtab, ts+27381 /* "xCommit" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28157 /* "xCommit" */) != 0 { return SQLITE_ERROR } sqlite3.Xsqlite3BeginBenignMalloc(tls) - rc = echoTransactionCall(tls, tab, ts+27381 /* "xCommit" */) + rc = echoTransactionCall(tls, tab, ts+28157 /* "xCommit" */) sqlite3.Xsqlite3EndBenignMalloc(tls) (*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0 return rc @@ -58848,7 +60398,7 @@ func echoRollback(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1189:12: */ // Ticket #3083 - Only call xRollback if we have previously started // a transaction - rc = echoTransactionCall(tls, tab, ts+27389 /* "xRollback" */) + rc = echoTransactionCall(tls, tab, ts+28165 /* "xRollback" */) (*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0 return rc } @@ -58866,7 +60416,7 @@ func overloadedGlobFunction(tls *libc.TLS, pContext uintptr, nArg int32, apArg u var i int32 var rc int32 tcl.XTcl_DStringInit(tls, bp /* &str */) - tcl.XTcl_DStringAppendElement(tls, bp /* &str */, ts+27399 /* "::echo_glob_over..." */) + tcl.XTcl_DStringAppendElement(tls, bp /* &str */, ts+28175 /* "::echo_glob_over..." */) for i = 0; i < nArg; i++ { tcl.XTcl_DStringAppendElement(tls, bp /* &str */, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + uintptr(i)*4)))) } @@ -58895,10 +60445,10 @@ func echoFindFunction(tls *libc.TLS, vtab uintptr, nArg int32, zFuncName uintptr var interp uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp // var info Tcl_CmdInfo at bp, 32 - if libc.Xstrcmp(tls, zFuncName, ts+27102 /* "glob" */) != 0 { + if libc.Xstrcmp(tls, zFuncName, ts+27878 /* "glob" */) != 0 { return 0 } - if tcl.XTcl_GetCommandInfo(tls, interp, ts+27399 /* "::echo_glob_over..." */, bp /* &info */) == 0 { + if tcl.XTcl_GetCommandInfo(tls, interp, ts+28175 /* "::echo_glob_over..." */, bp /* &info */) == 0 { return 0 } *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { @@ -58915,13 +60465,13 @@ func echoRename(tls *libc.TLS, vtab uintptr, zNewName uintptr) int32 { /* test8. var rc int32 = SQLITE_OK var p uintptr = vtab - if simulateVtabError(tls, p, ts+27420 /* "xRename" */) != 0 { + if simulateVtabError(tls, p, ts+28196 /* "xRename" */) != 0 { return SQLITE_ERROR } if (*echo_vtab)(unsafe.Pointer(p)).FisPattern != 0 { var nThis int32 = int32(libc.Xstrlen(tls, (*echo_vtab)(unsafe.Pointer(p)).FzThis)) - var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27428, /* "ALTER TABLE %s R..." */ + var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+28204, /* "ALTER TABLE %s R..." */ libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzTableName, zNewName, ((*echo_vtab)(unsafe.Pointer(p)).FzTableName+uintptr(nThis)))) rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) @@ -58998,7 +60548,7 @@ var echoModuleV2 = sqlite3_module{ func moduleDestroy(tls *libc.TLS, p uintptr) { /* test8.c:1355:13: */ var pMod uintptr = p - sqlite3.Xsqlite3_create_function(tls, (*EchoModule)(unsafe.Pointer(pMod)).Fdb, ts+27458, /* "function_that_do..." */ + sqlite3.Xsqlite3_create_function(tls, (*EchoModule)(unsafe.Pointer(pMod)).Fdb, ts+28234, /* "function_that_do..." */ SQLITE_ANY, 1, uintptr(0), uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, p) } @@ -59025,14 +60575,14 @@ func register_echo_module(tls *libc.TLS, clientData ClientData, interp uintptr, (*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp (*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp /* db */)) rc = sqlite3.Xsqlite3_create_module_v2(tls, - *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27496 /* "echo" */, uintptr(unsafe.Pointer(&echoModule)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) + *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28272 /* "echo" */, uintptr(unsafe.Pointer(&echoModule)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) // Virtual table module "echo_v2" if rc == SQLITE_OK { pMod = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(EchoModule{}))) (*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp (*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp /* db */)) - rc = sqlite3.Xsqlite3_create_module_v2(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27501, /* "echo_v2" */ + rc = sqlite3.Xsqlite3_create_module_v2(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28277, /* "echo_v2" */ uintptr(unsafe.Pointer(&echoModuleV2)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) } @@ -59051,7 +60601,7 @@ func declare_vtab(tls *libc.TLS, clientData ClientData, interp uintptr, objc int var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27509 /* "DB SQL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10524 /* "DB SQL" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { @@ -59084,8 +60634,8 @@ var aObjCmd2 = [2]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 27516 /* "register_echo_mo..." */, FxProc: 0}, - {FzName: ts + 27537 /* "sqlite3_declare_..." */, FxProc: 0}, + {FzName: ts + 28285 /* "register_echo_mo..." */, FxProc: 0}, + {FzName: ts + 28306 /* "sqlite3_declare_..." */, FxProc: 0}, } /* test8.c:1439:5 */ // end block for C++ @@ -59142,7 +60692,7 @@ func c_collation_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var db uintptr at bp+24, 4 var rc int32 - zErrFunction = ts + 27558 /* "N/A" */ + zErrFunction = ts + 28327 /* "N/A" */ if !(objc != 1) { goto __1 } @@ -59156,17 +60706,17 @@ __1: if !(rc != SQLITE_OK) { goto __2 } - zErrFunction = ts + 20989 /* "sqlite3_open" */ + zErrFunction = ts + 21765 /* "sqlite3_open" */ goto error_out __2: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+13094 /* "collate" */, 456, uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+13875 /* "collate" */, 456, uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { goto __3 } sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))) - zErrFunction = ts + 27562 /* "sqlite3_create_c..." */ + zErrFunction = ts + 28331 /* "sqlite3_create_c..." */ goto error_out __3: ; @@ -59176,7 +60726,7 @@ __3: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27587 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28356 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -59187,7 +60737,7 @@ func c_realloc_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var p uintptr var zErrFunction uintptr - zErrFunction = ts + 27558 /* "N/A" */ + zErrFunction = ts + 28327 /* "N/A" */ if !(objc != 1) { goto __1 @@ -59201,7 +60751,7 @@ __1: if !(!(p != 0)) { goto __2 } - zErrFunction = ts + 27612 /* "sqlite3_malloc" */ + zErrFunction = ts + 28381 /* "sqlite3_malloc" */ goto error_out __2: ; @@ -59212,7 +60762,7 @@ __2: if !(p != 0) { goto __3 } - zErrFunction = ts + 27627 /* "sqlite3_realloc" */ + zErrFunction = ts + 28396 /* "sqlite3_realloc" */ goto error_out __3: ; @@ -59221,7 +60771,7 @@ __3: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27587 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28356 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -59236,7 +60786,7 @@ func c_misuse_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc in // var pStmt uintptr at bp+28, 4 var rc int32 - zErrFunction = ts + 27558 /* "N/A" */ + zErrFunction = ts + 28327 /* "N/A" */ *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)) = uintptr(0) if !(objc != 1) { @@ -59253,7 +60803,7 @@ __1: if !(rc != SQLITE_OK) { goto __2 } - zErrFunction = ts + 20989 /* "sqlite3_open" */ + zErrFunction = ts + 21765 /* "sqlite3_open" */ goto error_out __2: ; @@ -59263,7 +60813,7 @@ __2: if !(rc != SQLITE_MISUSE) { goto __3 } - zErrFunction = ts + 20916 /* "sqlite3_errcode" */ + zErrFunction = ts + 21692 /* "sqlite3_errcode" */ goto error_out __3: ; @@ -59273,7 +60823,7 @@ __3: if !(rc != SQLITE_MISUSE) { goto __4 } - zErrFunction = ts + 21070 /* "sqlite3_prepare" */ + zErrFunction = ts + 21846 /* "sqlite3_prepare" */ goto error_out __4: ; @@ -59284,7 +60834,7 @@ __4: if !(rc != SQLITE_MISUSE) { goto __5 } - zErrFunction = ts + 21104 /* "sqlite3_prepare_..." */ + zErrFunction = ts + 21880 /* "sqlite3_prepare_..." */ goto error_out __5: ; @@ -59294,7 +60844,7 @@ __5: if !(rc != SQLITE_MISUSE) { goto __6 } - zErrFunction = ts + 21086 /* "sqlite3_prepare1..." */ + zErrFunction = ts + 21862 /* "sqlite3_prepare1..." */ goto error_out __6: ; @@ -59304,7 +60854,7 @@ __6: if !(rc != SQLITE_MISUSE) { goto __7 } - zErrFunction = ts + 21166 /* "sqlite3_prepare1..." */ + zErrFunction = ts + 21942 /* "sqlite3_prepare1..." */ goto error_out __7: ; @@ -59313,7 +60863,7 @@ __7: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27587 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28356 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -59336,9 +60886,9 @@ var aObjCmd3 = [3]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 27643 /* "c_misuse_test" */, FxProc: 0}, - {FzName: ts + 27657 /* "c_realloc_test" */, FxProc: 0}, - {FzName: ts + 27672 /* "c_collation_test" */, FxProc: 0}, + {FzName: ts + 28412 /* "c_misuse_test" */, FxProc: 0}, + {FzName: ts + 28426 /* "c_realloc_test" */, FxProc: 0}, + {FzName: ts + 28441 /* "c_collation_test" */, FxProc: 0}, } /* test9.c:193:5 */ // end block for C++ @@ -59379,7 +60929,7 @@ func resetAutoExtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc // This procedure registers the TCL procs defined in this file. func Sqlitetest_autoext_Init(tls *libc.TLS, interp uintptr) int32 { /* test_autoext.c:210:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+27689, /* "sqlite3_reset_au..." */ + tcl.XTcl_CreateObjCommand(tls, interp, ts+28458, /* "sqlite3_reset_au..." */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{resetAutoExtObjCmd})), uintptr(0), uintptr(0)) @@ -59391,10 +60941,10 @@ func backupTestCmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc in defer tls.Free(120) *(*[5]BackupSubCommand)(unsafe.Pointer(bp /* aSub */)) = [5]BackupSubCommand{ - {FzCmd: ts + 10120 /* "step" */, FnArg: 1, FzArg: ts + 27718 /* "npage" */}, - {FzCmd: ts + 27724 /* "finish" */, FeCmd: uint32(1) /* BACKUP_FINISH */, FzArg: ts + 489 /* "" */}, - {FzCmd: ts + 27731 /* "remaining" */, FeCmd: uint32(2) /* BACKUP_REMAINING */, FzArg: ts + 489 /* "" */}, - {FzCmd: ts + 27741 /* "pagecount" */, FeCmd: uint32(3) /* BACKUP_PAGECOUNT */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 10120 /* "step" */, FnArg: 1, FzArg: ts + 28487 /* "npage" */}, + {FzCmd: ts + 28493 /* "finish" */, FeCmd: uint32(1) /* BACKUP_FINISH */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 28500 /* "remaining" */, FeCmd: uint32(2) /* BACKUP_REMAINING */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 28510 /* "pagecount" */, FeCmd: uint32(3) /* BACKUP_PAGECOUNT */, FzArg: ts + 489 /* "" */}, {}, } @@ -59404,7 +60954,7 @@ func backupTestCmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc in var rc int32 rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &aSub[0] */, int32(unsafe.Sizeof(BackupSubCommand{})), ts+11373 /* "option" */, 0, bp+80 /* &iCmd */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &aSub[0] */, int32(unsafe.Sizeof(BackupSubCommand{})), ts+12161 /* "option" */, 0, bp+80 /* &iCmd */) if rc != TCL_OK { return rc } @@ -59486,7 +61036,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i if objc != 6 { tcl.XTcl_WrongNumArgs(tls, - interp, 1, objv, ts+27751 /* "CMDNAME DESTHAND..." */) + interp, 1, objv, ts+28520 /* "CMDNAME DESTHAND..." */) return TCL_ERROR } @@ -59498,7 +61048,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i pBackup = sqlite3.Xsqlite3_backup_init(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pDestDb */)), zDestName, *(*uintptr)(unsafe.Pointer(bp + 20 /* pSrcDb */)), zSrcName) if !(pBackup != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27797 /* "sqlite3_backup_i..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28566 /* "sqlite3_backup_i..." */, 0)) return TCL_ERROR } @@ -59510,7 +61060,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i } func Sqlitetestbackup_Init(tls *libc.TLS, interp uintptr) int32 { /* test_backup.c:154:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+27826 /* "sqlite3_backup" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+28595 /* "sqlite3_backup" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{backupTestInit})), uintptr(0), uintptr(0)) return TCL_OK @@ -59601,7 +61151,7 @@ func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt var rc int32 = SQLITE_OK if argc != 4 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -59619,7 +61169,7 @@ func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26881 /* "xConnect" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27657 /* "xConnect" */, -1)) rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, TCL_EVAL_GLOBAL) if rc != TCL_OK { @@ -59712,7 +61262,7 @@ func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26945 /* "xFilter" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27721 /* "xFilter" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewIntObj(tls, idxNum)) if idxStr != 0 { tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, idxStr, -1)) @@ -59769,11 +61319,11 @@ func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, rc = sqlite3.Xsqlite3_prepare_v2(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 4 /* &.pStmt */), uintptr(0)) if rc != SQLITE_OK { var zErr uintptr = sqlite3.Xsqlite3_errmsg(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb) - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27867 /* "unexpected: %s" */, libc.VaList(bp+16, zErr)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28636 /* "unexpected: %s" */, libc.VaList(bp+16, zErr)) } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27867 /* "unexpected: %s" */, libc.VaList(bp+24, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28636 /* "unexpected: %s" */, libc.VaList(bp+24, zCmd)) } } } @@ -59815,7 +61365,7 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26999 /* "xBestIndex" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27775 /* "xBestIndex" */, -1)) pArg = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pArg)).FrefCount++ @@ -59828,54 +61378,54 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) { case SQLITE_INDEX_CONSTRAINT_EQ: - zOp = ts + 27882 /* "eq" */ + zOp = ts + 28651 /* "eq" */ break case SQLITE_INDEX_CONSTRAINT_GT: - zOp = ts + 27885 /* "gt" */ + zOp = ts + 28654 /* "gt" */ break case SQLITE_INDEX_CONSTRAINT_LE: - zOp = ts + 27888 /* "le" */ + zOp = ts + 28657 /* "le" */ break case SQLITE_INDEX_CONSTRAINT_LT: - zOp = ts + 27891 /* "lt" */ + zOp = ts + 28660 /* "lt" */ break case SQLITE_INDEX_CONSTRAINT_GE: - zOp = ts + 27894 /* "ge" */ + zOp = ts + 28663 /* "ge" */ break case SQLITE_INDEX_CONSTRAINT_MATCH: - zOp = ts + 27897 /* "match" */ + zOp = ts + 28666 /* "match" */ break case SQLITE_INDEX_CONSTRAINT_LIKE: - zOp = ts + 27097 /* "like" */ + zOp = ts + 27873 /* "like" */ break case SQLITE_INDEX_CONSTRAINT_GLOB: - zOp = ts + 27102 /* "glob" */ + zOp = ts + 27878 /* "glob" */ break case SQLITE_INDEX_CONSTRAINT_REGEXP: zOp = ts + 6335 /* "regexp" */ break case SQLITE_INDEX_CONSTRAINT_NE: - zOp = ts + 27903 /* "ne" */ + zOp = ts + 28672 /* "ne" */ break case SQLITE_INDEX_CONSTRAINT_ISNOT: - zOp = ts + 27906 /* "isnot" */ + zOp = ts + 28675 /* "isnot" */ break case SQLITE_INDEX_CONSTRAINT_ISNOTNULL: - zOp = ts + 27912 /* "isnotnull" */ + zOp = ts + 28681 /* "isnotnull" */ break case SQLITE_INDEX_CONSTRAINT_ISNULL: - zOp = ts + 27922 /* "isnull" */ + zOp = ts + 28691 /* "isnull" */ break case SQLITE_INDEX_CONSTRAINT_IS: zOp = ts + 5712 /* "is" */ break } - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27929 /* "op" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28698 /* "op" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, zOp, -1)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27932 /* "column" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28701 /* "column" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27939 /* "usable" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28708 /* "usable" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fusable))) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, pElem) @@ -59902,9 +61452,9 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ var pElem uintptr = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pElem)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27932 /* "column" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28701 /* "column" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).FiColumn)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27946 /* "desc" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28715 /* "desc" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).Fdesc))) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, pElem) @@ -59963,29 +61513,29 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ for ii = 0; (rc == SQLITE_OK) && (ii < *(*int32)(unsafe.Pointer(bp + 48 /* nElem */))); ii = ii + (2) { var zCmd uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 52 /* apElem */)) + uintptr(ii)*4))) var p uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 52 /* apElem */)) + uintptr((ii+1))*4)) - if sqlite3.Xsqlite3_stricmp(tls, ts+27951 /* "cost" */, zCmd) == 0 { + if sqlite3.Xsqlite3_stricmp(tls, ts+28720 /* "cost" */, zCmd) == 0 { rc = tcl.XTcl_GetDoubleFromObj(tls, interp, p, (pIdxInfo + 40 /* &.estimatedCost */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27956 /* "orderby" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28725 /* "orderby" */, zCmd) == 0 { rc = tcl.XTcl_GetIntFromObj(tls, interp, p, (pIdxInfo + 32 /* &.orderByConsumed */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27964 /* "idxnum" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28733 /* "idxnum" */, zCmd) == 0 { rc = tcl.XTcl_GetIntFromObj(tls, interp, p, (pIdxInfo + 20 /* &.idxNum */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27971 /* "idxstr" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28740 /* "idxstr" */, zCmd) == 0 { sqlite3.Xsqlite3_free(tls, (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, tcl.XTcl_GetString(tls, p))) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27978 /* "rows" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28747 /* "rows" */, zCmd) == 0 { *(*Tcl_WideInt)(unsafe.Pointer(bp + 56 /* x */)) = int64(0) rc = tcl.XTcl_GetWideIntFromObj(tls, interp, p, bp+56 /* &x */) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = sqlite3_int64(tRowcnt(*(*Tcl_WideInt)(unsafe.Pointer(bp + 56 /* x */)))) - } else if (sqlite3.Xsqlite3_stricmp(tls, ts+27983 /* "use" */, zCmd) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, ts+27987 /* "omit" */, zCmd) == 0) { + } else if (sqlite3.Xsqlite3_stricmp(tls, ts+28752 /* "use" */, zCmd) == 0) || + (sqlite3.Xsqlite3_stricmp(tls, ts+28756 /* "omit" */, zCmd) == 0) { // var iCons int32 at bp+64, 4 rc = tcl.XTcl_GetIntFromObj(tls, interp, p, bp+64 /* &iCons */) if rc == SQLITE_OK { if (*(*int32)(unsafe.Pointer(bp + 64 /* iCons */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 64 /* iCons */)) >= (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27992 /* "unexpected: %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 64 /* iCons */)))) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28761 /* "unexpected: %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 64 /* iCons */)))) } else { var bOmit int32 = (libc.Bool32((int32(*(*int8)(unsafe.Pointer(zCmd))) == 'o') || (int32(*(*int8)(unsafe.Pointer(zCmd))) == 'O'))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(*(*int32)(unsafe.Pointer(bp + 64 /* iCons */)))*8)).FargvIndex = libc.PostIncInt32(&iArgv, 1) @@ -59994,7 +61544,7 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27867 /* "unexpected: %s" */, libc.VaList(bp+32, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28636 /* "unexpected: %s" */, libc.VaList(bp+32, zCmd)) } if (rc != SQLITE_OK) && ((*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg == uintptr(0)) { var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp) @@ -60038,7 +61588,7 @@ func register_tcl_module(tls *libc.TLS, clientData ClientData, interp uintptr, o if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28007 /* "tcl" */, uintptr(unsafe.Pointer(&tclModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28776 /* "tcl" */, uintptr(unsafe.Pointer(&tclModule)), interp) return TCL_OK } @@ -60061,7 +61611,7 @@ var aObjCmd4 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 28011 /* "register_tcl_mod..." */, FxProc: 0}, + {FzName: ts + 28780 /* "register_tcl_mod..." */, FxProc: 0}, } /* test_bestindex.c:610:5 */ // Return a pointer to a buffer containing a text representation of the @@ -60071,7 +61621,7 @@ func ptrToText(tls *libc.TLS, p uintptr) uintptr { /* test_blob.c:37:13: */ bp := tls.Alloc(8) defer tls.Free(8) - sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof(buf)) - uint32(1))), uintptr(unsafe.Pointer(&buf)), ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof(buf)) - uint32(1))), uintptr(unsafe.Pointer(&buf)), ts+13802 /* "%p" */, libc.VaList(bp, p)) return uintptr(unsafe.Pointer(&buf)) } @@ -60097,7 +61647,7 @@ func blobHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, ppBlob uint z = tcl.XTcl_GetStringFromObj(tls, pObj, bp /* &n */) if *(*int32)(unsafe.Pointer(bp /* n */)) == 0 { *(*uintptr)(unsafe.Pointer(ppBlob)) = uintptr(0) - } else if (*(*int32)(unsafe.Pointer(bp /* n */)) > 9) && (0 == libc.Xmemcmp(tls, ts+28031 /* "incrblob_" */, z, uint32(9))) { + } else if (*(*int32)(unsafe.Pointer(bp /* n */)) > 9) && (0 == libc.Xmemcmp(tls, ts+28800 /* "incrblob_" */, z, uint32(9))) { // var notUsed int32 at bp+4, 4 var channel Tcl_Channel @@ -60161,7 +61711,7 @@ func test_blob_open(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var rc int32 if objc != 8 { - var zUsage uintptr = ts + 28041 /* "DB DATABASE TABL..." */ + var zUsage uintptr = ts + 28810 /* "DB DATABASE TABL..." */ tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zUsage) return TCL_ERROR } @@ -60205,7 +61755,7 @@ func test_blob_close(tls *libc.TLS, clientData ClientData, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } @@ -60232,7 +61782,7 @@ func test_blob_bytes(tls *libc.TLS, clientData ClientData, interp uintptr, objc var nByte int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } @@ -60272,7 +61822,7 @@ func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28093 /* "CHANNEL OFFSET N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28862 /* "CHANNEL OFFSET N" */) return TCL_ERROR } @@ -60287,7 +61837,7 @@ func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc i if *(*int32)(unsafe.Pointer(bp + 24 /* nByte */)) > 0 { zBuf = tcl.XTcl_AttemptAlloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 24 /* nByte */)))) if zBuf == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28110 /* "out of memory in..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28879 /* "out of memory in..." */, 0)) return TCL_ERROR } } @@ -60332,7 +61882,7 @@ func test_blob_write(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var nBuf int32 at bp+8, 4 if (objc != 4) && (objc != 5) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28171 /* "HANDLE OFFSET DA..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28940 /* "HANDLE OFFSET DA..." */) return TCL_ERROR } @@ -60376,11 +61926,11 @@ var aObjCmd5 = [5]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 28198 /* "sqlite3_blob_ope..." */, FxProc: 0}, - {FzName: ts + 28216 /* "sqlite3_blob_clo..." */, FxProc: 0}, - {FzName: ts + 28235 /* "sqlite3_blob_byt..." */, FxProc: 0}, - {FzName: ts + 28254 /* "sqlite3_blob_rea..." */, FxProc: 0}, - {FzName: ts + 28272 /* "sqlite3_blob_wri..." */, FxProc: 0}, + {FzName: ts + 28967 /* "sqlite3_blob_ope..." */, FxProc: 0}, + {FzName: ts + 28985 /* "sqlite3_blob_clo..." */, FxProc: 0}, + {FzName: ts + 29004 /* "sqlite3_blob_byt..." */, FxProc: 0}, + {FzName: ts + 29023 /* "sqlite3_blob_rea..." */, FxProc: 0}, + {FzName: ts + 29041 /* "sqlite3_blob_wri..." */, FxProc: 0}, } /* test_blob.c:317:5 */ // end block for C++ @@ -60463,369 +62013,369 @@ func sqlite3BtreeCursorList(tls *libc.TLS, p uintptr) { /* test_btree.c:52:6: */ // according to the compile-time configuration of the database. Test // procedures use this to determine when tests should be omitted. func set_options(tls *libc.TLS, interp uintptr) { /* test_config.c:47:13: */ - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28306 /* "malloc_usable_si..." */, ts+28325, /* "1" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29075 /* "malloc_usable_si..." */, ts+29094, /* "1" */ TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28327 /* "rowid32" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29096 /* "rowid32" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28335 /* "casesensitivelik..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29104 /* "casesensitivelik..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28353 /* "configslower" */, ts+28366 /* "1.0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29122 /* "configslower" */, ts+29135 /* "1.0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28370 /* "curdir" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29139 /* "curdir" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28377 /* "win32malloc" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29146 /* "win32malloc" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28389 /* "debug" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29158 /* "debug" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28395 /* "default_ckptfull..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29164 /* "default_ckptfull..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28417 /* "direct_read" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29186 /* "direct_read" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28429 /* "dirsync" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29198 /* "dirsync" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28437 /* "lfs" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29206 /* "lfs" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28441 /* "pagecache_overfl..." */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29210 /* "pagecache_overfl..." */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28466 /* "mmap" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29235 /* "mmap" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28471, /* "worker_threads" */ - ts+28486 /* "8" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29240, /* "worker_threads" */ + ts+29255 /* "8" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28488 /* "memdebug" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29257 /* "memdebug" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28497 /* "8_3_names" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29266 /* "8_3_names" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28507 /* "cursorhints" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29276 /* "cursorhints" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28519 /* "hiddencolumns" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29288 /* "hiddencolumns" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13152 /* "deserialize" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+13933 /* "deserialize" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28533 /* "mathlib" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29302 /* "mathlib" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28541 /* "mem3" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29310 /* "mem3" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28546 /* "mem5" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29315 /* "mem5" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28551 /* "offset_sql_func" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29320 /* "offset_sql_func" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13260 /* "preupdate" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+14041 /* "preupdate" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28567 /* "snapshot" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29336 /* "snapshot" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28576 /* "mutex" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29345 /* "mutex" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28582 /* "mutex_noop" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29351 /* "mutex_noop" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28593 /* "altertable" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29362 /* "altertable" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+1818 /* "analyze" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+1818 /* "analyze" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28604 /* "api_armor" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29373 /* "api_armor" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28614 /* "atomicwrite" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29383 /* "atomicwrite" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28626 /* "geopoly" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29395 /* "geopoly" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28634 /* "json1" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29403 /* "json1" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28640 /* "has_codec" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29409 /* "has_codec" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28650 /* "like_match_blobs" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29419 /* "like_match_blobs" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28667 /* "attach" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+10584 /* "attach" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28674 /* "auth" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29436 /* "auth" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28679 /* "autoinc" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29441 /* "autoinc" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+12733 /* "autoindex" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+13514 /* "autoindex" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28687 /* "autoreset" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29449 /* "autoreset" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28697 /* "autovacuum" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28708, /* "default_autovacu..." */ - ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29459 /* "autovacuum" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29470, /* "default_autovacu..." */ + ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28727 /* "between_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29489 /* "between_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28739 /* "builtin_test" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29501 /* "builtin_test" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28752 /* "bloblit" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29514 /* "bloblit" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28760 /* "cast" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29522 /* "cast" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28765 /* "check" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29527 /* "check" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28771 /* "cte" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29533 /* "cte" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28775 /* "columnmetadata" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29537 /* "columnmetadata" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28790 /* "oversize_cell_ch..." */, ts+13873, /* "0" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29552 /* "oversize_cell_ch..." */, ts+14654, /* "0" */ TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28810 /* "compileoption_di..." */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29572 /* "compileoption_di..." */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13131 /* "complete" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+13912 /* "complete" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28830 /* "compound" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29592 /* "compound" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28839 /* "conflict" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28848 /* "crashtest" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29601 /* "conflict" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29610 /* "crashtest" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28858 /* "datetime" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29620 /* "datetime" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28867 /* "decltype" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29629 /* "decltype" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28876 /* "deprecated" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29638 /* "deprecated" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28887 /* "diskio" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29649 /* "diskio" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+4835 /* "explain" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+4835 /* "explain" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28894 /* "floatingpoint" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29656 /* "floatingpoint" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28908 /* "foreignkey" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29670 /* "foreignkey" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28919 /* "fts1" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29681 /* "fts1" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28924 /* "fts2" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29686 /* "fts2" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28929 /* "fts3" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29691 /* "fts3" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28934 /* "fts5" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29696 /* "fts5" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28939 /* "fts3_unicode" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29701 /* "fts3_unicode" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28952 /* "fts4_deferred" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29714 /* "fts4_deferred" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28966 /* "gettable" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29728 /* "gettable" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28975 /* "icu" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29737 /* "icu" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28979 /* "icu_collations" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29741 /* "icu_collations" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+10524 /* "incrblob" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+11333 /* "incrblob" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28994 /* "integrityck" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29756 /* "integrityck" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29006 /* "legacyformat" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29768 /* "legacyformat" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29019 /* "like_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29781 /* "like_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29028 /* "load_ext" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29790 /* "load_ext" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29037 /* "localtime" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29799 /* "localtime" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29047 /* "lookaside" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29809 /* "lookaside" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29057, /* "long_double" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29819, /* "long_double" */ func() uintptr { if uint32(unsafe.Sizeof(float64(0))) > uint32(unsafe.Sizeof(float64(0))) { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29069 /* "memorydb" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29831 /* "memorydb" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29078 /* "memorymanage" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29840 /* "memorymanage" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29091 /* "mergesort" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29853 /* "mergesort" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29101 /* "null_trim" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29863 /* "null_trim" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29111 /* "or_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29873 /* "or_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29118 /* "rbu" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29880 /* "rbu" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29122 /* "pager_pragmas" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29884 /* "pager_pragmas" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29136 /* "pragma" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29898 /* "pragma" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+10199 /* "progress" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+10199 /* "progress" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29143 /* "reindex" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29905 /* "reindex" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29151 /* "rtree" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29913 /* "rtree" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29157 /* "rtree_int_only" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29919 /* "rtree_int_only" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29172 /* "schema_pragmas" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29934 /* "schema_pragmas" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29187 /* "schema_version" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29949 /* "schema_version" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29202 /* "session" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29964 /* "session" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+18468 /* "stat4" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29210 /* "stmtvtab" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+19249 /* "stat4" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29972 /* "stmtvtab" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29219 /* "scanstatus" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29981 /* "scanstatus" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29230 /* "lock_proxy_pragm..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29249 /* "prefer_proxy_loc..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29992 /* "lock_proxy_pragm..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30011 /* "prefer_proxy_loc..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29270 /* "shared_cache" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30032 /* "shared_cache" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29283 /* "subquery" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30045 /* "subquery" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29292 /* "tclvar" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30054 /* "tclvar" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29299, /* "threadsafe" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30061, /* "threadsafe" */ func() uintptr { if 1 != 0 { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29310, /* "threadsafe1" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30072, /* "threadsafe1" */ func() uintptr { if SQLITE_THREADSAFE == 1 { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29322, /* "threadsafe2" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30084, /* "threadsafe2" */ func() uintptr { if SQLITE_THREADSAFE == 2 { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29334 /* "tempdb" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30096 /* "tempdb" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13345 /* "trace" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+14126 /* "trace" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29341 /* "trigger" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30103 /* "trigger" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29349 /* "truncate_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30111 /* "truncate_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+15418 /* "utf16" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+16199 /* "utf16" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29362 /* "vacuum" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30124 /* "vacuum" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29369 /* "view" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30131 /* "view" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29374 /* "vtab" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30136 /* "vtab" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29379 /* "wal" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30141 /* "wal" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29383 /* "wsd" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30145 /* "wsd" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29387 /* "update_delete_li..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30149 /* "update_delete_li..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13372 /* "unlock_notify" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+14153 /* "unlock_notify" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29407 /* "fast_secure_dele..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30169 /* "fast_secure_dele..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29426 /* "secure_delete" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30188 /* "secure_delete" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29440 /* "userauth" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30202 /* "userauth" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29449 /* "multiplex_ext_ov..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30211 /* "multiplex_ext_ov..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29473 /* "yytrackmaxstackd..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30235 /* "yytrackmaxstackd..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29494 /* "sqllog" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30256 /* "sqllog" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29501 /* "uri_00_error" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30263 /* "uri_00_error" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29514 /* "normalize" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30276 /* "normalize" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29524 /* "windowfunc" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30286 /* "windowfunc" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) { - tcl.XTcl_LinkVar(tls, interp, ts+29535 /* "SQLITE_MAX_LENGT..." */, uintptr(unsafe.Pointer(&cv_MAX_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30297 /* "SQLITE_MAX_LENGT..." */, uintptr(unsafe.Pointer(&cv_MAX_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29553 /* "SQLITE_MAX_COLUM..." */, uintptr(unsafe.Pointer(&cv_MAX_COLUMN)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30315 /* "SQLITE_MAX_COLUM..." */, uintptr(unsafe.Pointer(&cv_MAX_COLUMN)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29571 /* "SQLITE_MAX_SQL_L..." */, uintptr(unsafe.Pointer(&cv_MAX_SQL_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30333 /* "SQLITE_MAX_SQL_L..." */, uintptr(unsafe.Pointer(&cv_MAX_SQL_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29593 /* "SQLITE_MAX_EXPR_..." */, uintptr(unsafe.Pointer(&cv_MAX_EXPR_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30355 /* "SQLITE_MAX_EXPR_..." */, uintptr(unsafe.Pointer(&cv_MAX_EXPR_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29615 /* "SQLITE_MAX_COMPO..." */, uintptr(unsafe.Pointer(&cv_MAX_COMPOUND_SELECT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30377 /* "SQLITE_MAX_COMPO..." */, uintptr(unsafe.Pointer(&cv_MAX_COMPOUND_SELECT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29642 /* "SQLITE_MAX_VDBE_..." */, uintptr(unsafe.Pointer(&cv_MAX_VDBE_OP)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30404 /* "SQLITE_MAX_VDBE_..." */, uintptr(unsafe.Pointer(&cv_MAX_VDBE_OP)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29661 /* "SQLITE_MAX_FUNCT..." */, uintptr(unsafe.Pointer(&cv_MAX_FUNCTION_ARG)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30423 /* "SQLITE_MAX_FUNCT..." */, uintptr(unsafe.Pointer(&cv_MAX_FUNCTION_ARG)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29685 /* "SQLITE_MAX_VARIA..." */, uintptr(unsafe.Pointer(&cv_MAX_VARIABLE_NUMBER)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30447 /* "SQLITE_MAX_VARIA..." */, uintptr(unsafe.Pointer(&cv_MAX_VARIABLE_NUMBER)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29712 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30474 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29733 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_COUNT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30495 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_COUNT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29755 /* "SQLITE_MAX_LIKE_..." */, uintptr(unsafe.Pointer(&cv_MAX_LIKE_PATTERN_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30517 /* "SQLITE_MAX_LIKE_..." */, uintptr(unsafe.Pointer(&cv_MAX_LIKE_PATTERN_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29786 /* "SQLITE_MAX_TRIGG..." */, uintptr(unsafe.Pointer(&cv_MAX_TRIGGER_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30548 /* "SQLITE_MAX_TRIGG..." */, uintptr(unsafe.Pointer(&cv_MAX_TRIGGER_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29811 /* "SQLITE_DEFAULT_C..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_CACHE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30573 /* "SQLITE_DEFAULT_C..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_CACHE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29837 /* "SQLITE_DEFAULT_P..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30599 /* "SQLITE_DEFAULT_P..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29862 /* "SQLITE_DEFAULT_F..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_FILE_FORMAT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30624 /* "SQLITE_DEFAULT_F..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_FILE_FORMAT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29889 /* "SQLITE_DEFAULT_S..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30651 /* "SQLITE_DEFAULT_S..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29916 /* "SQLITE_DEFAULT_W..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_WAL_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30678 /* "SQLITE_DEFAULT_W..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_WAL_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29947 /* "SQLITE_MAX_ATTAC..." */, uintptr(unsafe.Pointer(&cv_MAX_ATTACHED)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30709 /* "SQLITE_MAX_ATTAC..." */, uintptr(unsafe.Pointer(&cv_MAX_ATTACHED)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29967 /* "SQLITE_MAX_DEFAU..." */, uintptr(unsafe.Pointer(&cv_MAX_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30729 /* "SQLITE_MAX_DEFAU..." */, uintptr(unsafe.Pointer(&cv_MAX_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29996 /* "SQLITE_MAX_WORKE..." */, uintptr(unsafe.Pointer(&cv_MAX_WORKER_THREADS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30758 /* "SQLITE_MAX_WORKE..." */, uintptr(unsafe.Pointer(&cv_MAX_WORKER_THREADS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30022 /* "TEMP_STORE" */, uintptr(unsafe.Pointer(&cv_TEMP_STORE)), + tcl.XTcl_LinkVar(tls, interp, ts+30784 /* "TEMP_STORE" */, uintptr(unsafe.Pointer(&cv_TEMP_STORE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30033 /* "__GNUC__" */, uintptr(unsafe.Pointer(&cv___GNUC__)), + tcl.XTcl_LinkVar(tls, interp, ts+30795 /* "__GNUC__" */, uintptr(unsafe.Pointer(&cv___GNUC__)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } @@ -60918,15 +62468,15 @@ func sqlite3_delete_database(tls *libc.TLS, zFile uintptr) int32 { /* test_delet var rc int32 = 0 // System error code var i int32 // Iterate through azFmt[] and aMFile[] - *(*[4]uintptr)(unsafe.Pointer(bp + 24 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 30042 /* "%s-journal" */, ts + 30053 /* "%s-wal" */, ts + 30060 /* "%s-shm" */} + *(*[4]uintptr)(unsafe.Pointer(bp + 24 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 30804 /* "%s-journal" */, ts + 30815 /* "%s-wal" */, ts + 30822 /* "%s-shm" */} *(*[6]MFile)(unsafe.Pointer(bp + 40 /* aMFile */)) = [6]MFile{ - {FzFmt: ts + 30067 /* "%s%03d" */}, - {FzFmt: ts + 30074 /* "%s-journal%03d" */}, - {FzFmt: ts + 30089 /* "%s-wal%03d" */}, - {FzFmt: ts + 30067 /* "%s%03d" */, Fb83: 1}, - {FzFmt: ts + 30074 /* "%s-journal%03d" */, FiOffset: SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET, Fb83: 1}, - {FzFmt: ts + 30089 /* "%s-wal%03d" */, FiOffset: SQLITE_MULTIPLEX_WAL_8_3_OFFSET, Fb83: 1}, + {FzFmt: ts + 30829 /* "%s%03d" */}, + {FzFmt: ts + 30836 /* "%s-journal%03d" */}, + {FzFmt: ts + 30851 /* "%s-wal%03d" */}, + {FzFmt: ts + 30829 /* "%s%03d" */, Fb83: 1}, + {FzFmt: ts + 30836 /* "%s-journal%03d" */, FiOffset: SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET, Fb83: 1}, + {FzFmt: ts + 30851 /* "%s-wal%03d" */, FiOffset: SQLITE_MULTIPLEX_WAL_8_3_OFFSET, Fb83: 1}, } var pVfs uintptr = uintptr(0) @@ -61240,7 +62790,7 @@ var devsym_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(devsym_file{})), // szOsFile FmxPathname: DEVSYM_MAX_PATHNAME, // pNext - FzName: ts + 30100, /* "devsym" */ // pAppData + FzName: ts + 30862, /* "devsym" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -61254,7 +62804,7 @@ var writecrash_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(devsym_file{})), // szOsFile FmxPathname: DEVSYM_MAX_PATHNAME, // pNext - FzName: ts + 30107, /* "writecrash" */ // pAppData + FzName: ts + 30869, /* "writecrash" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -61713,7 +63263,7 @@ func fsdirConnect1(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin var pTab uintptr if argc != 3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -61724,7 +63274,7 @@ func fsdirConnect1(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin libc.Xmemset(tls, pTab, 0, uint32(unsafe.Sizeof(FsdirVtab{}))) *(*uintptr)(unsafe.Pointer(ppVtab)) = (pTab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30118 /* "CREATE TABLE xyz..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30880 /* "CREATE TABLE xyz..." */) return SQLITE_OK } @@ -61905,7 +63455,7 @@ func fstreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin var pTab uintptr if argc != 3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -61917,7 +63467,7 @@ func fstreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin (*FstreeVtab)(unsafe.Pointer(pTab)).Fdb = db *(*uintptr)(unsafe.Pointer(ppVtab)) = (pTab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30147 /* "CREATE TABLE xyz..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30909 /* "CREATE TABLE xyz..." */) return SQLITE_OK } @@ -62009,7 +63559,7 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var pCsr uintptr = pVtabCursor var pTab uintptr = (*FstreeCsr)(unsafe.Pointer(pCsr)).Fbase.FpVtab var rc int32 - var zSql uintptr = ts + 30183 /* "WITH r(d) AS ( ..." */ + var zSql uintptr = ts + 30945 /* "WITH r(d) AS ( ..." */ var zRoot uintptr var nRoot int32 var zPrefix uintptr @@ -62018,7 +63568,7 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var nDir int32 *(*[2]int8)(unsafe.Pointer(bp /* aWild */)) = [2]int8{int8(0), int8(0)} - zRoot = ts + 30415 /* "/" */ + zRoot = ts + 31177 /* "/" */ nRoot = 1 zPrefix = ts + 489 /* "" */ nPrefix = 0 @@ -62139,7 +63689,7 @@ func fsConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr var zDb uintptr = *(*uintptr)(unsafe.Pointer(argv + 1*4)) if argc != 4 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } zTbl = *(*uintptr)(unsafe.Pointer(argv + 3*4)) @@ -62156,7 +63706,7 @@ func fsConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr libc.Xmemcpy(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzTbl, zTbl, libc.Xstrlen(tls, zTbl)) libc.Xmemcpy(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzDb, zDb, libc.Xstrlen(tls, zDb)) *(*uintptr)(unsafe.Pointer(ppVtab)) = (pVtab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30417 /* "CREATE TABLE x(p..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+31179 /* "CREATE TABLE x(p..." */) return SQLITE_OK } @@ -62210,7 +63760,7 @@ func fsFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, if idxNum == 1 { var zStmt uintptr = sqlite3.Xsqlite3_mprintf(tls, - ts+30454 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) + ts+31216 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) if !(zStmt != 0) { return SQLITE_NOMEM } @@ -62375,9 +63925,9 @@ func register_fs_module(tls *libc.TLS, clientData ClientData, interp uintptr, ob if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30488 /* "fs" */, uintptr(unsafe.Pointer(&fsModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31250 /* "fs" */, uintptr(unsafe.Pointer(&fsModule)), interp) sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+5186 /* "fsdir" */, uintptr(unsafe.Pointer(&fsdirModule)), uintptr(0)) - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30491 /* "fstree" */, uintptr(unsafe.Pointer(&fstreeModule)), uintptr(0)) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31253 /* "fstree" */, uintptr(unsafe.Pointer(&fstreeModule)), uintptr(0)) return TCL_OK } @@ -62400,7 +63950,7 @@ var aObjCmd6 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 30498 /* "register_fs_modu..." */, FxProc: 0}, + {FzName: ts + 31260 /* "register_fs_modu..." */, FxProc: 0}, } /* test_fs.c:907:5 */ // Some versions of define this macros. @@ -62466,7 +64016,7 @@ func randStr(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* test sqlite3.Xsqlite3_result_text(tls, context, bp+4 /* zBuf */, n, libc.UintptrFromInt32(-1)) } -var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 30517 /* "abcdefghijklmnop..." */)) /* test_func.c:46:30 */ +var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 31279 /* "abcdefghijklmnop..." */)) /* test_func.c:46:30 */ // The following two SQL functions are used to test returning a text // result with a destructor. Function 'test_destructor' takes one argument @@ -62659,7 +64209,7 @@ func test_eval(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* test_ if rc != 0 { var zErr uintptr - zErr = sqlite3.Xsqlite3_mprintf(tls, ts+30596 /* "sqlite3_prepare_..." */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) + zErr = sqlite3.Xsqlite3_mprintf(tls, ts+31358 /* "sqlite3_prepare_..." */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) sqlite3.Xsqlite3_result_text(tls, pCtx, zErr, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) sqlite3.Xsqlite3_result_error_code(tls, pCtx, rc) } @@ -62765,11 +64315,11 @@ func real2hex(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* tes *(*float64)(unsafe.Pointer(bp /* &v */)) = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; i < 8; i++ { if bigEndian != 0 { - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((i * 2)))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((i * 2) + 1)))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((i * 2)))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((i * 2) + 1)))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) } else { - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((14 - (i * 2))))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((14 - (i * 2)) + 1)))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((14 - (i * 2))))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((14 - (i * 2)) + 1)))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) } } *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + 16)) = int8(0) @@ -62875,7 +64425,7 @@ func test_decode(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* var n int32 = sqlite3.Xsqlite3_value_bytes(tls, bp+40 /* &mem */) var z uintptr = sqlite3.Xsqlite3_value_blob(tls, bp+40 /* &mem */) var i int32 - pVal = tcl.XTcl_NewStringObj(tls, ts+30644 /* "x'" */, -1) + pVal = tcl.XTcl_NewStringObj(tls, ts+31406 /* "x'" */, -1) for i = 0; i < n; i++ { // var hex [3]int8 at bp+88, 3 @@ -62976,7 +64526,7 @@ func registerTestFunctions(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk u int32(aFuncs[i].FeTextRep), uintptr(0), aFuncs[i].FxFunc, uintptr(0), uintptr(0)) } - sqlite3.Xsqlite3_create_function(tls, db, ts+30647 /* "test_agg_errmsg1..." */, 0, SQLITE_ANY, uintptr(0), uintptr(0), + sqlite3.Xsqlite3_create_function(tls, db, ts+31409 /* "test_agg_errmsg1..." */, 0, SQLITE_ANY, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{test_agg_errmsg16_step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_agg_errmsg16_final}))) @@ -62991,26 +64541,26 @@ var aFuncs = [20]struct { FeTextRep uint32 FxFunc uintptr }{ - {FzName: ts + 30665 /* "randstr" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30673 /* "test_destructor" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30689 /* "test_destructor1..." */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30707 /* "hex_to_utf16be" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30722 /* "hex_to_utf16le" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30737 /* "hex_to_utf8" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30749 /* "test_destructor_..." */, FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30771 /* "test_auxdata" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30784 /* "test_error" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30784 /* "test_error" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30795 /* "test_eval" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30805 /* "test_isolation" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30820 /* "test_counter" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30833 /* "real2hex" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30842 /* "test_decode" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30854 /* "test_extract" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30867 /* "test_zeroblob" */, FnArg: int8(1), FeTextRep: (uint32(SQLITE_UTF8 | SQLITE_DETERMINISTIC)), FxFunc: 0}, - {FzName: ts + 30881 /* "test_getsubtype" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30897 /* "test_setsubtype" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30913 /* "test_frombind" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31427 /* "randstr" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31435 /* "test_destructor" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31451 /* "test_destructor1..." */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31469 /* "hex_to_utf16be" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31484 /* "hex_to_utf16le" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31499 /* "hex_to_utf8" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31511 /* "test_destructor_..." */, FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31533 /* "test_auxdata" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31546 /* "test_error" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31546 /* "test_error" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31557 /* "test_eval" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31567 /* "test_isolation" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31582 /* "test_counter" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31595 /* "real2hex" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31604 /* "test_decode" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31616 /* "test_extract" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31629 /* "test_zeroblob" */, FnArg: int8(1), FeTextRep: (uint32(SQLITE_UTF8 | SQLITE_DETERMINISTIC)), FxFunc: 0}, + {FzName: ts + 31643 /* "test_getsubtype" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31659 /* "test_setsubtype" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31675 /* "test_frombind" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, } /* test_func.c:674:5 */ // TCLCMD: autoinstall_test_functions @@ -63058,7 +64608,7 @@ func abuse_create_function(tls *libc.TLS, clientData uintptr, interp uintptr, ob __1: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -63070,7 +64620,7 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -63082,7 +64632,7 @@ __2: __3: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { @@ -63092,7 +64642,7 @@ __3: __4: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { goto __5 } @@ -63100,7 +64650,7 @@ __4: __5: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -63110,7 +64660,7 @@ __5: __6: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -63120,7 +64670,7 @@ __6: __7: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -63132,7 +64682,7 @@ __8: rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), - ts+30930, /* "funcxx_123456789..." */ + ts+31692, /* "funcxx_123456789..." */ 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) @@ -63150,7 +64700,7 @@ __9: mxArg = sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), SQLITE_LIMIT_FUNCTION_ARG, -1) rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), - ts+31187, /* "nullx_123456789_..." */ + ts+31949, /* "nullx_123456789_..." */ mxArg, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) @@ -63164,7 +64714,7 @@ __10: return TCL_OK abuse_err: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31443, /* "sqlite3_create_f..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32205, /* "sqlite3_create_f..." */ uintptr(0))) return TCL_ERROR } @@ -63251,7 +64801,7 @@ __2: goto __3 } sqlite3.Xsqlite3_result_error(tls, pCtx, - ts+31486 /* "invalid matchinf..." */, -1) + ts+32248 /* "invalid matchinf..." */, -1) return __3: ; @@ -63312,7 +64862,7 @@ __7: // Jump here if the wrong number of arguments are passed to this function wrong_number_args: - sqlite3.Xsqlite3_result_error(tls, pCtx, ts+31535 /* "wrong number of ..." */, -1) + sqlite3.Xsqlite3_result_error(tls, pCtx, ts+32297 /* "wrong number of ..." */, -1) } func install_fts3_rank_function(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_func.c:910:26: */ @@ -63329,7 +64879,7 @@ func install_fts3_rank_function(tls *libc.TLS, clientData uintptr, interp uintpt if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31580 /* "rank" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+32342 /* "rank" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rankfunc})), uintptr(0), uintptr(0)) return TCL_OK @@ -63359,9 +64909,9 @@ var aObjCmd7 = [3]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 31585 /* "autoinstall_test..." */, FxProc: 0}, - {FzName: ts + 31612 /* "abuse_create_fun..." */, FxProc: 0}, - {FzName: ts + 31634 /* "install_fts3_ran..." */, FxProc: 0}, + {FzName: ts + 32347 /* "autoinstall_test..." */, FxProc: 0}, + {FzName: ts + 32374 /* "abuse_create_fun..." */, FxProc: 0}, + {FzName: ts + 32396 /* "install_fts3_ran..." */, FxProc: 0}, } /* test_func.c:937:5 */ // Some versions of define this macros. @@ -63469,7 +65019,7 @@ func sqlite3TestBinToHex(tls *libc.TLS, zBuf uintptr, N int32) { /* test_hexio.c bp := tls.Alloc(17) defer tls.Free(17) - *(*[17]uint8)(unsafe.Pointer(bp /* zHex */)) = *(*[17]uint8)(unsafe.Pointer(ts + 31661 /* "0123456789ABCDEF" */)) + *(*[17]uint8)(unsafe.Pointer(bp /* zHex */)) = *(*[17]uint8)(unsafe.Pointer(ts + 32423 /* "0123456789ABCDEF" */)) var i int32 var j int32 var c uint8 @@ -63549,7 +65099,7 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o var in uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31678 /* "FILENAME OFFSET ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32440 /* "FILENAME OFFSET ..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+40 /* &offset */) != 0 { @@ -63565,10 +65115,10 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o } in = libc.Xfopen(tls, zFile, ts+4263 /* "rb" */) if in == uintptr(0) { - in = libc.Xfopen(tls, zFile, ts+31698 /* "r" */) + in = libc.Xfopen(tls, zFile, ts+32460 /* "r" */) } if in == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31700 /* "cannot open inpu..." */, zFile, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32462 /* "cannot open inpu..." */, zFile, 0)) return TCL_ERROR } libc.Xfseek(tls, in, int32(*(*int32)(unsafe.Pointer(bp + 40 /* offset */))), SEEK_SET) @@ -63603,7 +65153,7 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var out uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31724 /* "FILENAME OFFSET ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32486 /* "FILENAME OFFSET ..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+24 /* &offset */) != 0 { @@ -63616,12 +65166,12 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } nOut = sqlite3TestHexToBin(tls, zIn, *(*int32)(unsafe.Pointer(bp + 28 /* nIn */)), aOut) - out = libc.Xfopen(tls, zFile, ts+31748 /* "r+b" */) + out = libc.Xfopen(tls, zFile, ts+32510 /* "r+b" */) if out == uintptr(0) { - out = libc.Xfopen(tls, zFile, ts+31752 /* "r+" */) + out = libc.Xfopen(tls, zFile, ts+32514 /* "r+" */) } if out == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31755 /* "cannot open outp..." */, zFile, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32517 /* "cannot open outp..." */, zFile, 0)) return TCL_ERROR } libc.Xfseek(tls, out, int32(*(*int32)(unsafe.Pointer(bp + 24 /* offset */))), SEEK_SET) @@ -63650,7 +65200,7 @@ func hexio_get_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 // var aNum [4]uint8 at bp+4, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31780 /* "HEXDATA" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32542 /* "HEXDATA" */) return TCL_ERROR } zIn = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &nIn */) @@ -63733,7 +65283,7 @@ func utf8_to_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(16) tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+31788 /* "[utf8_to_utf8] u..." */, 0)) + libc.VaList(bp, ts+32550 /* "[utf8_to_utf8] u..." */, 0)) return TCL_ERROR } @@ -63778,7 +65328,7 @@ func read_fts3varint(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var nVal int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31842 /* "BLOB VARNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32604 /* "BLOB VARNAME" */) return TCL_ERROR } zBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &nBlob */) @@ -63802,7 +65352,7 @@ func make_fts3record(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var i int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31855 /* "LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32617 /* "LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &nArg */, bp+4 /* &aArg */) != 0 { @@ -63873,14 +65423,14 @@ var aObjCmd8 = [8]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 31860 /* "hexio_read" */, FxProc: 0}, - {FzName: ts + 31871 /* "hexio_write" */, FxProc: 0}, - {FzName: ts + 31883 /* "hexio_get_int" */, FxProc: 0}, - {FzName: ts + 31897 /* "hexio_render_int..." */, FxProc: 0}, - {FzName: ts + 31916 /* "hexio_render_int..." */, FxProc: 0}, - {FzName: ts + 31935 /* "utf8_to_utf8" */, FxProc: 0}, - {FzName: ts + 31948 /* "read_fts3varint" */, FxProc: 0}, - {FzName: ts + 31964 /* "make_fts3record" */, FxProc: 0}, + {FzName: ts + 32622 /* "hexio_read" */, FxProc: 0}, + {FzName: ts + 32633 /* "hexio_write" */, FxProc: 0}, + {FzName: ts + 32645 /* "hexio_get_int" */, FxProc: 0}, + {FzName: ts + 32659 /* "hexio_render_int..." */, FxProc: 0}, + {FzName: ts + 32678 /* "hexio_render_int..." */, FxProc: 0}, + {FzName: ts + 32697 /* "utf8_to_utf8" */, FxProc: 0}, + {FzName: ts + 32710 /* "read_fts3varint" */, FxProc: 0}, + {FzName: ts + 32726 /* "make_fts3record" */, FxProc: 0}, } /* test_hexio.c:450:5 */ // end block for C++ @@ -64121,14 +65671,14 @@ func init_wrapper_install(tls *libc.TLS, clientData ClientData, interp uintptr, installInitWrappers(tls) for i = 1; i < objc; i++ { var z uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4))) - if libc.Xstrcmp(tls, z, ts+31980 /* "mem" */) == 0 { + if libc.Xstrcmp(tls, z, ts+32742 /* "mem" */) == 0 { wrapped.Fmem_fail = 1 - } else if libc.Xstrcmp(tls, z, ts+28576 /* "mutex" */) == 0 { + } else if libc.Xstrcmp(tls, z, ts+29345 /* "mutex" */) == 0 { wrapped.Fmutex_fail = 1 - } else if libc.Xstrcmp(tls, z, ts+31984 /* "pcache" */) == 0 { + } else if libc.Xstrcmp(tls, z, ts+32746 /* "pcache" */) == 0 { wrapped.Fpcache_fail = 1 } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31991 /* "Unknown argument..." */, z, ts+11634 /* "\"" */)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32753 /* "Unknown argument..." */, z, ts+12415 /* "\"" */)) return TCL_ERROR } } @@ -64173,13 +65723,13 @@ func init_wrapper_query(tls *libc.TLS, clientData ClientData, interp uintptr, ob pRet = tcl.XTcl_NewObj(tls) if wrapped.Fmutex_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+28576 /* "mutex" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+29345 /* "mutex" */, -1)) } if wrapped.Fmem_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+31980 /* "mem" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32742 /* "mem" */, -1)) } if wrapped.Fpcache_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+31984 /* "pcache" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32746 /* "pcache" */, -1)) } tcl.XTcl_SetObjResult(tls, interp, pRet) @@ -64203,10 +65753,10 @@ var aObjCmd9 = [4]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 32011 /* "init_wrapper_ins..." */, FxProc: 0}, - {FzName: ts + 32032 /* "init_wrapper_que..." */, FxProc: 0}, - {FzName: ts + 32051 /* "init_wrapper_uni..." */, FxProc: 0}, - {FzName: ts + 32074 /* "init_wrapper_cle..." */, FxProc: 0}, + {FzName: ts + 32773 /* "init_wrapper_ins..." */, FxProc: 0}, + {FzName: ts + 32794 /* "init_wrapper_que..." */, FxProc: 0}, + {FzName: ts + 32813 /* "init_wrapper_uni..." */, FxProc: 0}, + {FzName: ts + 32836 /* "init_wrapper_cle..." */, FxProc: 0}, } /* test_init.c:282:5 */ // @@ -64277,7 +65827,7 @@ func intarrayCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui if pVtab != 0 { libc.Xmemset(tls, pVtab, 0, uint32(unsafe.Sizeof(intarray_vtab{}))) (*intarray_vtab)(unsafe.Pointer(pVtab)).FpContent = pAux - rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+32093 /* "CREATE TABLE x(v..." */) + rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+32855 /* "CREATE TABLE x(v..." */) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab return rc @@ -64387,7 +65937,7 @@ func sqlite3_intarray_create(tls *libc.TLS, db uintptr, zName uintptr, ppReturn *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{intarrayFree}))) if rc == SQLITE_OK { var zSql uintptr - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+32135, /* "CREATE VIRTUAL T..." */ + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+32897, /* "CREATE VIRTUAL T..." */ libc.VaList(bp, zName, zName)) rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) @@ -64458,14 +66008,14 @@ func test_intarray_bind(tls *libc.TLS, clientData ClientData, interp uintptr, ob var a uintptr if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32173 /* "INTARRAY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32935 /* "INTARRAY" */) return TCL_ERROR } pArray = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) n = (objc - 2) a = sqlite3.Xsqlite3_malloc64(tls, (uint64(uint32(unsafe.Sizeof(sqlite3_int64(0))) * uint32(n)))) if a == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32182 /* "SQLITE_NOMEM" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32944 /* "SQLITE_NOMEM" */, uintptr(0))) return TCL_ERROR } for i = 0; i < n; i++ { @@ -64500,8 +66050,8 @@ var aObjCmd10 = [2]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 32195 /* "sqlite3_intarray..." */, FxProc: 0}, - {FzName: ts + 32219 /* "sqlite3_intarray..." */, FxProc: 0}, + {FzName: ts + 32957 /* "sqlite3_intarray..." */, FxProc: 0}, + {FzName: ts + 32981 /* "sqlite3_intarray..." */, FxProc: 0}, } /* test_intarray.c:380:5 */ // Maximum pathname length supported by the jt backend. @@ -64534,7 +66084,7 @@ var jt_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(jt_file{})), // szOsFile FmxPathname: JT_MAX_PATHNAME, // pNext - FzName: ts + 32241, /* "jt" */ // pAppData + FzName: ts + 33003, /* "jt" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -64648,7 +66198,7 @@ func locateDatabaseHandle(tls *libc.TLS, zJournal uintptr, noLock int32) uintptr var pMain uintptr = uintptr(0) enterJtMutex(tls) for pMain = g2.FpList; pMain != 0; pMain = (*jt_file)(unsafe.Pointer(pMain)).FpNext { - var nName int32 = (int32(libc.Xstrlen(tls, zJournal) - libc.Xstrlen(tls, ts+32244 /* "-journal" */))) + var nName int32 = (int32(libc.Xstrlen(tls, zJournal) - libc.Xstrlen(tls, ts+33006 /* "-journal" */))) if (((((*jt_file)(unsafe.Pointer(pMain)).Fflags & SQLITE_OPEN_MAIN_DB) != 0) && (int32(libc.Xstrlen(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName)) == nName)) && (0 == libc.Xmemcmp(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName, zJournal, uint32(nName)))) && @@ -65113,7 +66663,7 @@ func jtOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int // returning. func jtDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* test_journal.c:733:12: */ var nPath int32 = int32(libc.Xstrlen(tls, zPath)) - if (nPath > 8) && (0 == libc.Xstrcmp(tls, ts+32244 /* "-journal" */, (zPath+uintptr((nPath-8))))) { + if (nPath > 8) && (0 == libc.Xstrcmp(tls, ts+33006 /* "-journal" */, (zPath+uintptr((nPath-8))))) { // Deleting a journal file. The end of a transaction. var pMain uintptr = locateDatabaseHandle(tls, zPath, 0) if pMain != 0 { @@ -65603,7 +67153,7 @@ func pointerToText(tls *libc.TLS, p uintptr, z uintptr) { /* test_malloc.c:239:1 // var n sqlite3_uint64 at bp, 8 if *(*uintptr)(unsafe.Pointer(bp + 8 /* p */)) == uintptr(0) { - libc.Xstrcpy(tls, z, ts+13873 /* "0" */) + libc.Xstrcpy(tls, z, ts+14654 /* "0" */) return } if uint32(unsafe.Sizeof(sqlite3_uint64(0))) == uint32(unsafe.Sizeof(uintptr(0))) { @@ -65636,7 +67186,7 @@ __3: *(*int8)(unsafe.Pointer(z + 8)) = int8(0) } -var zHex = *(*[17]int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */)) /* test_malloc.c:240:21 */ +var zHex = *(*[17]int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */)) /* test_malloc.c:240:21 */ func hexToInt(tls *libc.TLS, h int32) int32 { /* test_malloc.c:262:12: */ if (h >= '0') && (h <= '9') { @@ -65692,7 +67242,7 @@ func test_malloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zOut [100]int8 at bp+20, 100 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32253 /* "NBYTES" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33015 /* "NBYTES" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+16 /* &nByte */) != 0 { @@ -65719,14 +67269,14 @@ func test_realloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zOut [100]int8 at bp+48, 100 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32260 /* "PRIOR NBYTES" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33022 /* "PRIOR NBYTES" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+40 /* &nByte */) != 0 { return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+44 /* &pPrior */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } p = sqlite3.Xsqlite3_realloc(tls, *(*uintptr)(unsafe.Pointer(bp + 44 /* pPrior */)), int32(uint32(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))))) @@ -65745,11 +67295,11 @@ func test_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob // var pPrior uintptr at bp+24, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32287 /* "PRIOR" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33049 /* "PRIOR" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+24 /* &pPrior */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPrior */))) @@ -65776,18 +67326,18 @@ func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zBin [100]int8 at bp+68, 100 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32293 /* "ADDRESS SIZE HEX" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33055 /* "ADDRESS SIZE HEX" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+56 /* &p */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+60 /* &size */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 60 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32310 /* "size must be pos..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+33072 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } zHex = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+64 /* &n */) @@ -65796,7 +67346,7 @@ func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } *(*int32)(unsafe.Pointer(bp + 64 /* n */)) = sqlite3TestHexToBin(tls, zHex, *(*int32)(unsafe.Pointer(bp + 64 /* n */)), bp+68 /* &zBin[0] */) if *(*int32)(unsafe.Pointer(bp + 64 /* n */)) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+32332 /* "no data" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+33094 /* "no data" */, uintptr(0))) return TCL_ERROR } zOut = *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) @@ -65822,18 +67372,18 @@ func test_memget(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zHex [100]int8 at bp+64, 100 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32340 /* "ADDRESS SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33102 /* "ADDRESS SIZE" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+56 /* &p */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+60 /* &size */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 60 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32310 /* "size must be pos..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+33072 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } zBin = *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) @@ -65869,7 +67419,7 @@ func test_memory_highwater(tls *libc.TLS, clientData uintptr, interp uintptr, ob *(*int32)(unsafe.Pointer(bp /* resetFlag */)) = 0 if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32353 /* "?RESET?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33115 /* "?RESET?" */) return TCL_ERROR } if objc == 2 { @@ -65893,7 +67443,7 @@ func test_memdebug_backtrace(tls *libc.TLS, clientData uintptr, interp uintptr, // var depth int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32361 /* "DEPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33123 /* "DEPT" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &depth */) != 0 { @@ -65907,7 +67457,7 @@ func test_memdebug_backtrace(tls *libc.TLS, clientData uintptr, interp uintptr, // Write a summary of unfreed memory to FILENAME. func test_memdebug_dump(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:542:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } return TCL_OK @@ -65955,7 +67505,7 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc var nFail int32 = 0 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32375 /* "COUNTER ?OPTIONS..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33137 /* "COUNTER ?OPTIONS..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+24 /* &iFail */) != 0 { @@ -65968,22 +67518,22 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc var zOption uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(ii)*4)), bp+28 /* &nOption */) var zErr uintptr = uintptr(0) - if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32393 /* "-repeat" */, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { + if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+33155 /* "-repeat" */, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { if ii == (objc - 1) { - zErr = ts + 12327 /* "option requires ..." */ + zErr = ts + 13108 /* "option requires ..." */ } else { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*4)), bp+32 /* &nRepeat */) != 0 { return TCL_ERROR } } - } else if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32401 /* "-benigncnt" */, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { + } else if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+33163 /* "-benigncnt" */, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { if ii == (objc - 1) { - zErr = ts + 12327 /* "option requires ..." */ + zErr = ts + 13108 /* "option requires ..." */ } else { pBenignCnt = *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*4)) } } else { - zErr = ts + 12133 /* "unknown option: " */ + zErr = ts + 12914 /* "unknown option: " */ } if zErr != 0 { @@ -66035,7 +67585,7 @@ var sqlite3_memdebug_title_count int32 = 0 /* test_malloc.c:694:12 */ func test_memdebug_settitle(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:706:26: */ sqlite3_memdebug_title_count++ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32412 /* "TITLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33174 /* "TITLE" */) return TCL_ERROR } return TCL_OK @@ -66088,7 +67638,7 @@ func test_memdebug_log(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32418 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33180 /* "SUB-COMMAND ..." */) } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&MB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) != 0 { return TCL_ERROR @@ -66152,7 +67702,7 @@ func test_memdebug_log(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } var isInit int32 = 0 /* test_malloc.c:793:14 */ -var MB_strs = [5]uintptr{ts + 32434 /* "start" */, ts + 32440 /* "stop" */, ts + 32445 /* "dump" */, ts + 32450 /* "clear" */, ts + 32456 /* "sync" */} /* test_malloc.c:796:21 */ +var MB_strs = [5]uintptr{ts + 33196 /* "start" */, ts + 33202 /* "stop" */, ts + 33207 /* "dump" */, ts + 33212 /* "clear" */, ts + 33218 /* "sync" */} /* test_malloc.c:796:21 */ // Usage: sqlite3_config_pagecache SIZE N // @@ -66172,7 +67722,7 @@ func test_config_pagecache(tls *libc.TLS, clientData uintptr, interp uintptr, ob var pRes uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32461 /* "SIZE N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33223 /* "SIZE N" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+48 /* &sz */) != 0 { @@ -66220,7 +67770,7 @@ func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int *(*int32)(unsafe.Pointer(bp + 28 /* highStress */)) = 0 if (objc < 2) || (objc > 5) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+32468 /* "INSTALLFLAG DISC..." */) + ts+33230 /* "INSTALLFLAG DISC..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+16 /* &installFlag */) != 0 { @@ -66236,7 +67786,7 @@ func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int return TCL_ERROR } if (*(*int32)(unsafe.Pointer(bp + 20 /* discardChance */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 20 /* discardChance */)) > 100) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32515, /* "discard-chance s..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33277, /* "discard-chance s..." */ uintptr(0))) return TCL_ERROR } @@ -66256,7 +67806,7 @@ func test_config_memstatus(tls *libc.TLS, clientData uintptr, interp uintptr, ob var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+8 /* &enable */) != 0 { @@ -66279,7 +67829,7 @@ func test_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, ob var pRet uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32558 /* "SIZE COUNT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33320 /* "SIZE COUNT" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+16 /* &sz */) != 0 { @@ -66317,7 +67867,7 @@ func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, // var bufid int32 at bp+68, 4 if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32569 /* "BUFID SIZE COUNT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33331 /* "BUFID SIZE COUNT" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+64 /* &db */) != 0 { @@ -66337,7 +67887,7 @@ func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, } else if ((*(*int32)(unsafe.Pointer(bp + 68 /* bufid */)) >= 1) && (*(*int32)(unsafe.Pointer(bp + 68 /* bufid */)) <= 2)) && ((uint32(*(*int32)(unsafe.Pointer(bp + 72 /* sz */)) * *(*int32)(unsafe.Pointer(bp + 76 /* cnt */)))) <= uint32(unsafe.Sizeof([10000]int8{}))) { rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+24, (uintptr(unsafe.Pointer(&azBuf))+uintptr(*(*int32)(unsafe.Pointer(bp + 68 /* bufid */)))*10000), *(*int32)(unsafe.Pointer(bp + 72 /* sz */)), *(*int32)(unsafe.Pointer(bp + 76 /* cnt */)))) } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+32586 /* "illegal argument..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+33348 /* "illegal argument..." */, uintptr(0))) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) @@ -66361,7 +67911,7 @@ func test_config_heap(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var nArg int32 = (objc - 1) if nArg != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32624 /* "NBYTE NMINALLOC" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33386 /* "NBYTE NMINALLOC" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+48 /* &nByte */) != 0 { @@ -66399,7 +67949,7 @@ func test_config_heap_size(tls *libc.TLS, clientData uintptr, interp uintptr, ob var nArg int32 = (objc - 1) if nArg != 1 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15910 /* "NBYTE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+8 /* &nByte */) != 0 { @@ -66423,7 +67973,7 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+32, 4 if (objc != 2) && (objc != 1) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32640 /* "[DB]" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33402 /* "[DB]" */) return TCL_ERROR } if objc == 2 { @@ -66432,14 +67982,14 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } if sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+32645, /* "sqlite3_db_confi..." */ + libc.VaList(bp, ts+33407, /* "sqlite3_db_confi..." */ uintptr(0))) return TCL_ERROR } } else { if sqlite3.Xsqlite3_config(tls, 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+16, ts+32703, /* "sqlite3_config(9..." */ + libc.VaList(bp+16, ts+33465, /* "sqlite3_config(9..." */ uintptr(0))) return TCL_ERROR } @@ -66459,7 +68009,7 @@ func test_config_uri(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var bOpenUri int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+8 /* &bOpenUri */) != 0 { @@ -66484,7 +68034,7 @@ func test_config_cis(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var bUseCis int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+8 /* &bUseCis */) != 0 { @@ -66508,7 +68058,7 @@ func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var iPmaSz int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+8 /* &iPmaSz */) != 0 { @@ -66527,7 +68077,7 @@ func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // Write a summary of unfreed memsys3 allocations to FILENAME. func test_dump_memsys3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:1251:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } @@ -66565,7 +68115,7 @@ func test_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zOpName uintptr var pResult uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32754 /* "PARAMETER RESETF..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33516 /* "PARAMETER RESETF..." */) return TCL_ERROR } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -66604,16 +68154,16 @@ var aOp1 = [10]struct { FzName uintptr Fop int32 }{ - {FzName: ts + 32774 /* "SQLITE_STATUS_ME..." */}, - {FzName: ts + 32800 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, - {FzName: ts + 32826 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_USED}, - {FzName: ts + 32855 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_OVERFLOW}, - {FzName: ts + 32888 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_SIZE}, - {FzName: ts + 32917 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_USED}, - {FzName: ts + 32944 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_OVERFLOW}, - {FzName: ts + 32975 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_SIZE}, - {FzName: ts + 33002 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PARSER_STACK}, - {FzName: ts + 33029 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_COUNT}, + {FzName: ts + 33536 /* "SQLITE_STATUS_ME..." */}, + {FzName: ts + 33562 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, + {FzName: ts + 33588 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_USED}, + {FzName: ts + 33617 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_OVERFLOW}, + {FzName: ts + 33650 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_SIZE}, + {FzName: ts + 33679 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_USED}, + {FzName: ts + 33706 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_OVERFLOW}, + {FzName: ts + 33737 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_SIZE}, + {FzName: ts + 33764 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PARSER_STACK}, + {FzName: ts + 33791 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_COUNT}, } /* test_malloc.c:1299:5 */ // Usage: sqlite3_db_status DATABASE OPCODE RESETFLAG @@ -66638,17 +68188,17 @@ func test_db_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var pResult uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33056 /* "DB PARAMETER RES..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33818 /* "DB PARAMETER RES..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) - if libc.Xmemcmp(tls, zOpName, ts+33079 /* "SQLITE_" */, uint32(7)) == 0 { + if libc.Xmemcmp(tls, zOpName, ts+33841 /* "SQLITE_" */, uint32(7)) == 0 { zOpName += uintptr(7) } - if libc.Xmemcmp(tls, zOpName, ts+33087 /* "DBSTATUS_" */, uint32(9)) == 0 { + if libc.Xmemcmp(tls, zOpName, ts+33849 /* "DBSTATUS_" */, uint32(9)) == 0 { zOpName += uintptr(9) } for i = 0; i < (int32(uint32(unsafe.Sizeof(aOp2)) / uint32(unsafe.Sizeof(struct { @@ -66686,19 +68236,19 @@ var aOp2 = [13]struct { FzName uintptr Fop int32 }{ - {FzName: ts + 33097 /* "LOOKASIDE_USED" */}, - {FzName: ts + 33112 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, - {FzName: ts + 33123 /* "SCHEMA_USED" */, Fop: SQLITE_DBSTATUS_SCHEMA_USED}, - {FzName: ts + 33135 /* "STMT_USED" */, Fop: SQLITE_DBSTATUS_STMT_USED}, - {FzName: ts + 33145 /* "LOOKASIDE_HIT" */, Fop: SQLITE_DBSTATUS_LOOKASIDE_HIT}, - {FzName: ts + 33159 /* "LOOKASIDE_MISS_S..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE}, - {FzName: ts + 33179 /* "LOOKASIDE_MISS_F..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL}, - {FzName: ts + 33199 /* "CACHE_HIT" */, Fop: SQLITE_DBSTATUS_CACHE_HIT}, - {FzName: ts + 33209 /* "CACHE_MISS" */, Fop: SQLITE_DBSTATUS_CACHE_MISS}, - {FzName: ts + 33220 /* "CACHE_WRITE" */, Fop: SQLITE_DBSTATUS_CACHE_WRITE}, - {FzName: ts + 33232 /* "DEFERRED_FKS" */, Fop: SQLITE_DBSTATUS_DEFERRED_FKS}, - {FzName: ts + 33245 /* "CACHE_USED_SHARE..." */, Fop: SQLITE_DBSTATUS_CACHE_USED_SHARED}, - {FzName: ts + 33263 /* "CACHE_SPILL" */, Fop: SQLITE_DBSTATUS_CACHE_SPILL}, + {FzName: ts + 33859 /* "LOOKASIDE_USED" */}, + {FzName: ts + 33874 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, + {FzName: ts + 33885 /* "SCHEMA_USED" */, Fop: SQLITE_DBSTATUS_SCHEMA_USED}, + {FzName: ts + 33897 /* "STMT_USED" */, Fop: SQLITE_DBSTATUS_STMT_USED}, + {FzName: ts + 33907 /* "LOOKASIDE_HIT" */, Fop: SQLITE_DBSTATUS_LOOKASIDE_HIT}, + {FzName: ts + 33921 /* "LOOKASIDE_MISS_S..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE}, + {FzName: ts + 33941 /* "LOOKASIDE_MISS_F..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL}, + {FzName: ts + 33961 /* "CACHE_HIT" */, Fop: SQLITE_DBSTATUS_CACHE_HIT}, + {FzName: ts + 33971 /* "CACHE_MISS" */, Fop: SQLITE_DBSTATUS_CACHE_MISS}, + {FzName: ts + 33982 /* "CACHE_WRITE" */, Fop: SQLITE_DBSTATUS_CACHE_WRITE}, + {FzName: ts + 33994 /* "DEFERRED_FKS" */, Fop: SQLITE_DBSTATUS_DEFERRED_FKS}, + {FzName: ts + 34007 /* "CACHE_USED_SHARE..." */, Fop: SQLITE_DBSTATUS_CACHE_USED_SHARED}, + {FzName: ts + 34025 /* "CACHE_SPILL" */, Fop: SQLITE_DBSTATUS_CACHE_SPILL}, } /* test_malloc.c:1358:5 */ // install_malloc_faultsim BOOLEAN @@ -66710,7 +68260,7 @@ func test_install_malloc_faultsim(tls *libc.TLS, clientData uintptr, interp uint // var isInstall int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &isInstall */) { @@ -66733,7 +68283,7 @@ func test_vfs_oom_test(tls *libc.TLS, clientData uintptr, interp uintptr, objc i defer tls.Free(4) if objc > 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33275 /* "?INTEGER?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34037 /* "?INTEGER?" */) return TCL_ERROR } else if objc == 2 { // var iNew int32 at bp, 4 @@ -66766,38 +68316,38 @@ var aObjCmd11 = [32]struct { FxProc uintptr FclientData int32 }{ - {FzName: ts + 27612 /* "sqlite3_malloc" */, FxProc: 0}, - {FzName: ts + 27627 /* "sqlite3_realloc" */, FxProc: 0}, - {FzName: ts + 33285 /* "sqlite3_free" */, FxProc: 0}, - {FzName: ts + 33298 /* "memset" */, FxProc: 0}, - {FzName: ts + 33305 /* "memget" */, FxProc: 0}, - {FzName: ts + 33312 /* "sqlite3_memory_u..." */, FxProc: 0}, - {FzName: ts + 33332 /* "sqlite3_memory_h..." */, FxProc: 0}, - {FzName: ts + 33357 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33384 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33406 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33428 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33453 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33479 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33509 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33530 /* "sqlite3_config_p..." */, FxProc: 0}, - {FzName: ts + 33555 /* "sqlite3_config_a..." */, FxProc: 0}, - {FzName: ts + 33581 /* "sqlite3_status" */, FxProc: 0}, - {FzName: ts + 33596 /* "sqlite3_db_statu..." */, FxProc: 0}, - {FzName: ts + 33614 /* "install_malloc_f..." */, FxProc: 0}, - {FzName: ts + 33638 /* "sqlite3_config_h..." */, FxProc: 0}, - {FzName: ts + 33658 /* "sqlite3_config_h..." */, FxProc: 0}, - {FzName: ts + 33683 /* "sqlite3_config_m..." */, FxProc: 0}, - {FzName: ts + 33708 /* "sqlite3_config_l..." */, FxProc: 0}, - {FzName: ts + 33733 /* "sqlite3_config_e..." */, FxProc: 0}, - {FzName: ts + 33754 /* "sqlite3_config_u..." */, FxProc: 0}, - {FzName: ts + 33773 /* "sqlite3_config_c..." */, FxProc: 0}, - {FzName: ts + 33792 /* "sqlite3_config_p..." */, FxProc: 0}, - {FzName: ts + 33813 /* "sqlite3_db_confi..." */, FxProc: 0}, - {FzName: ts + 33841 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 3}, - {FzName: ts + 33862 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 5}, - {FzName: ts + 33883 /* "sqlite3_install_..." */, FxProc: 0}, - {FzName: ts + 33907 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 28381 /* "sqlite3_malloc" */, FxProc: 0}, + {FzName: ts + 28396 /* "sqlite3_realloc" */, FxProc: 0}, + {FzName: ts + 34047 /* "sqlite3_free" */, FxProc: 0}, + {FzName: ts + 34060 /* "memset" */, FxProc: 0}, + {FzName: ts + 34067 /* "memget" */, FxProc: 0}, + {FzName: ts + 34074 /* "sqlite3_memory_u..." */, FxProc: 0}, + {FzName: ts + 34094 /* "sqlite3_memory_h..." */, FxProc: 0}, + {FzName: ts + 34119 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34146 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34168 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34190 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34215 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34241 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34271 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34292 /* "sqlite3_config_p..." */, FxProc: 0}, + {FzName: ts + 34317 /* "sqlite3_config_a..." */, FxProc: 0}, + {FzName: ts + 34343 /* "sqlite3_status" */, FxProc: 0}, + {FzName: ts + 34358 /* "sqlite3_db_statu..." */, FxProc: 0}, + {FzName: ts + 34376 /* "install_malloc_f..." */, FxProc: 0}, + {FzName: ts + 34400 /* "sqlite3_config_h..." */, FxProc: 0}, + {FzName: ts + 34420 /* "sqlite3_config_h..." */, FxProc: 0}, + {FzName: ts + 34445 /* "sqlite3_config_m..." */, FxProc: 0}, + {FzName: ts + 34470 /* "sqlite3_config_l..." */, FxProc: 0}, + {FzName: ts + 34495 /* "sqlite3_config_e..." */, FxProc: 0}, + {FzName: ts + 34516 /* "sqlite3_config_u..." */, FxProc: 0}, + {FzName: ts + 34535 /* "sqlite3_config_c..." */, FxProc: 0}, + {FzName: ts + 34554 /* "sqlite3_config_p..." */, FxProc: 0}, + {FzName: ts + 34575 /* "sqlite3_db_confi..." */, FxProc: 0}, + {FzName: ts + 34603 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 3}, + {FzName: ts + 34624 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 5}, + {FzName: ts + 34645 /* "sqlite3_install_..." */, FxProc: 0}, + {FzName: ts + 34669 /* "sqlite3_memdebug..." */, FxProc: 0}, } /* test_malloc.c:1472:5 */ // Some versions of define this macros. @@ -67189,7 +68739,7 @@ func MD5DigestToBase16(tls *libc.TLS, digest uintptr, zBuf uintptr) { /* test_md *(*int8)(unsafe.Pointer(zBuf + uintptr(j))) = int8(0) } -var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */)) /* test_md5.c:285:21 */ +var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */)) /* test_md5.c:285:21 */ // Convert a 128-bit MD5 digest into sequency of eight 5-digit integers // each representing 16 bits of the digest and separated from each @@ -67206,7 +68756,7 @@ func MD5DigestToBase10x8(tls *libc.TLS, digest uintptr, zDigest uintptr) { /* te if i > 0 { *(*int8)(unsafe.Pointer(zDigest + uintptr(libc.PostIncInt32(&j, 1)))) = int8('-') } - sqlite3.Xsqlite3_snprintf(tls, (50 - j), (zDigest + uintptr(j)), ts+33937 /* "%05u" */, libc.VaList(bp, x)) + sqlite3.Xsqlite3_snprintf(tls, (50 - j), (zDigest + uintptr(j)), ts+34699 /* "%05u" */, libc.VaList(bp, x)) j = j + (5) } *(*int8)(unsafe.Pointer(zDigest + uintptr(j))) = int8(0) @@ -67227,8 +68777,8 @@ func md5_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uintptr var converter uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14992 /* " TEXT\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15773 /* " TEXT\"" */, uintptr(0))) return TCL_ERROR } MD5Init(tls, bp+48 /* &ctx */) @@ -67257,8 +68807,8 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin // var zBuf [10240]int8 at bp+172, 10240 if (argc != 2) && (argc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+33942 /* " FILENAME [OFFSE..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+34704 /* " FILENAME [OFFSE..." */, uintptr(0))) return TCL_ERROR } if argc == 4 { @@ -67270,8 +68820,8 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin } in = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4)), ts+4263 /* "rb" */) if in == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+33966 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), - ts+33988 /* "\" for reading" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+34728 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), + ts+34750 /* "\" for reading" */, uintptr(0))) return TCL_ERROR } libc.Xfseek(tls, in, int32(ofst), SEEK_SET) @@ -67301,25 +68851,25 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin // Register the four new TCL commands for generating MD5 checksums // with the TCL interpreter. func Md5_Init(tls *libc.TLS, interp uintptr) int32 { /* test_md5.c:400:5: */ - tcl.XTcl_CreateCommand(tls, interp, ts+34002 /* "md5" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34764 /* "md5" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase16})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34006 /* "md5-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34768 /* "md5-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase10x8})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34015 /* "md5file" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34777 /* "md5file" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5file_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase16})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34023 /* "md5file-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34785 /* "md5file-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5file_cmd})), *(*uintptr)(unsafe.Pointer(&struct { @@ -67367,11 +68917,11 @@ func md5finalize(tls *libc.TLS, context uintptr) { /* test_md5.c:432:13: */ } func Md5_Register(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk uintptr) int32 { /* test_md5.c:441:5: */ - var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+34036 /* "md5sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), + var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+34798 /* "md5sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{md5step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{md5finalize}))) - sqlite3.Xsqlite3_overload_function(tls, db, ts+34036 /* "md5sum" */, -1) // To exercise this API + sqlite3.Xsqlite3_overload_function(tls, db, ts+34798 /* "md5sum" */, -1) // To exercise this API return rc } @@ -67539,7 +69089,7 @@ func multiplexFilename(tls *libc.TLS, zBase uintptr, nBase int32, flags int32, i var n int32 = nBase libc.Xmemcpy(tls, zOut, zBase, (uint32(n + 1))) if (iChunk != 0) && (iChunk <= MX_CHUNK_NUMBER) { - sqlite3.Xsqlite3_snprintf(tls, 4, (zOut + uintptr(n)), ts+34043 /* "%03d" */, libc.VaList(bp, iChunk)) + sqlite3.Xsqlite3_snprintf(tls, 4, (zOut + uintptr(n)), ts+34805 /* "%03d" */, libc.VaList(bp, iChunk)) n = n + (3) } @@ -67605,7 +69155,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p SQLITE_ACCESS_EXISTS, bp+16 /* &bExists */) if (*(*int32)(unsafe.Pointer(rc)) != 0) || !(*(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) != 0) { if *(*int32)(unsafe.Pointer(rc)) != 0 { - sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34048, /* "multiplexor.xAcc..." */ + sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34810, /* "multiplexor.xAcc..." */ libc.VaList(bp, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*8)).Fz)) } return uintptr(0) @@ -67621,7 +69171,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p *(*int32)(unsafe.Pointer(rc)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 24 /* &.xOpen */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*8)).Fz, pSubOpen, flags, pOutFlags) if (*(*int32)(unsafe.Pointer(rc))) != SQLITE_OK { - sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34082, /* "multiplexor.xOpe..." */ + sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34844, /* "multiplexor.xOpe..." */ libc.VaList(bp+8, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*8)).Fz)) sqlite3.Xsqlite3_free(tls, pSubOpen) (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*8)).Fp = uintptr(0) @@ -67697,7 +69247,7 @@ func multiplexControlFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp // multiplex_control() function. func multiplexFuncInit(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 { /* test_multiplex.c:417:12: */ var rc int32 - rc = sqlite3.Xsqlite3_create_function(tls, db, ts+34114 /* "multiplex_contro..." */, 2, SQLITE_ANY, + rc = sqlite3.Xsqlite3_create_function(tls, db, ts+34876 /* "multiplex_contro..." */, 2, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{multiplexControlFunc})), uintptr(0), uintptr(0)) @@ -67782,9 +69332,9 @@ func multiplexOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, fl libc.Xmemset(tls, pGroup, 0, uint32(sz)) (*multiplexConn)(unsafe.Pointer(pMultiplexOpen)).FpGroup = pGroup (*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled = libc.Uint8(libc.Uint8FromInt32(-1)) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(sqlite3.Xsqlite3_uri_boolean(tls, zUri, ts+17962, /* "truncate" */ + (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(sqlite3.Xsqlite3_uri_boolean(tls, zUri, ts+18743, /* "truncate" */ (libc.Bool32((flags & SQLITE_OPEN_MAIN_DB) == 0)))) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(sqlite3.Xsqlite3_uri_int64(tls, zUri, ts+34132, /* "chunksize" */ + (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(sqlite3.Xsqlite3_uri_int64(tls, zUri, ts+34894, /* "chunksize" */ int64(SQLITE_MULTIPLEX_CHUNK_SIZE)))) (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = (((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk + uint32(0xffff)) & libc.Uint32FromInt32(libc.CplInt32(0xffff))) if zName != 0 { @@ -68255,13 +69805,13 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) // second element of the array is the name of the pragma and the third // element is the argument to the pragma or NULL if the pragma has no // argument. - if (*(*uintptr)(unsafe.Pointer(aFcntl + 1*4)) != 0) && (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*4)), ts+34142 /* "multiplex_trunca..." */) == 0) { + if (*(*uintptr)(unsafe.Pointer(aFcntl + 1*4)) != 0) && (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*4)), ts+34904 /* "multiplex_trunca..." */) == 0) { if (*(*uintptr)(unsafe.Pointer(aFcntl + 2*4)) != 0) && (*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(aFcntl + 2*4)))) != 0) { if (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*4)), ts+4039 /* "on" */) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*4)), ts+28325 /* "1" */) == 0) { + (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*4)), ts+29094 /* "1" */) == 0) { (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(1) } else if (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*4)), ts+4403 /* "off" */) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*4)), ts+13873 /* "0" */) == 0) { + (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*4)), ts+14654 /* "0" */) == 0) { (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(0) } } @@ -68289,7 +69839,7 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) if pSubOpen != 0 { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 40 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34161 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34923 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } } break @@ -68411,7 +69961,7 @@ func sqlite3_multiplex_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefau gMultiplex.FpOrigVfs = pOrigVfs gMultiplex.FsThisVfs = *(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)) *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gMultiplex)) + 4 /* &.sThisVfs */ + 4 /* &.szOsFile */)) += int32((uint32(unsafe.Sizeof(multiplexConn{})))) - gMultiplex.FsThisVfs.FzName = ts + 34174 /* "multiplex" */ + gMultiplex.FsThisVfs.FzName = ts + 34936 /* "multiplex" */ gMultiplex.FsThisVfs.FxOpen = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 }{multiplexOpen})) @@ -68542,7 +70092,7 @@ func test_multiplex_initialize(tls *libc.TLS, clientData uintptr, interp uintptr // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34184 /* "NAME MAKEDEFAULT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34946 /* "NAME MAKEDEFAULT" */) return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -68566,11 +70116,11 @@ func test_multiplex_shutdown(tls *libc.TLS, clientData uintptr, interp uintptr, _ = clientData - if (objc == 2) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), ts+34201 /* "-force" */) != 0) { + if (objc == 2) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), ts+34963 /* "-force" */) != 0) { objc = 3 } if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34208 /* "?-force?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34970 /* "?-force?" */) return TCL_ERROR } @@ -68604,20 +70154,20 @@ func test_multiplex_control(tls *libc.TLS, cd ClientData, interp uintptr, objc i Fop int32 Fargtype int32 }{ - {FzName: ts + 34217 /* "enable" */, Fop: MULTIPLEX_CTRL_ENABLE, Fargtype: 1}, - {FzName: ts + 34224 /* "chunk_size" */, Fop: MULTIPLEX_CTRL_SET_CHUNK_SIZE, Fargtype: 1}, - {FzName: ts + 34235 /* "max_chunks" */, Fop: MULTIPLEX_CTRL_SET_MAX_CHUNKS, Fargtype: 1}, + {FzName: ts + 10608 /* "enable" */, Fop: MULTIPLEX_CTRL_ENABLE, Fargtype: 1}, + {FzName: ts + 34979 /* "chunk_size" */, Fop: MULTIPLEX_CTRL_SET_CHUNK_SIZE, Fargtype: 1}, + {FzName: ts + 34990 /* "max_chunks" */, Fop: MULTIPLEX_CTRL_SET_MAX_CHUNKS, Fargtype: 1}, {}, } if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34246 /* "HANDLE DBNAME SU..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35001 /* "HANDLE DBNAME SU..." */) return TCL_ERROR } if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+40 /* &cmdInfo */) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34282 /* "expected databas..." */, 0)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35037 /* "expected databas..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), ts+12415 /* "\"" */, 0)) return TCL_ERROR } else { db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 40 /* &cmdInfo */)).FobjClientData)) @@ -68681,9 +70231,9 @@ var aCmd7 = [3]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 34314 /* "sqlite3_multiple..." */, FxProc: 0}, - {FzName: ts + 34343 /* "sqlite3_multiple..." */, FxProc: 0}, - {FzName: ts + 34370 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35069 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35098 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35125 /* "sqlite3_multiple..." */, FxProc: 0}, } /* test_multiplex.c:1310:5 */ // CAPI3REF: Standard File Control Opcodes @@ -69037,10 +70587,10 @@ var aCmd7 = [3]struct { type sqlite3_mutex = sqlite3_mutex1 /* sqlite3.h:1206:30 */ var aName = [15]uintptr{ - ts + 34396 /* "fast" */, ts + 34401 /* "recursive" */, ts + 34411 /* "static_main" */, ts + 34423, /* "static_mem" */ - ts + 34434 /* "static_open" */, ts + 34446 /* "static_prng" */, ts + 34458 /* "static_lru" */, ts + 34469, /* "static_pmem" */ - ts + 34481 /* "static_app1" */, ts + 34493 /* "static_app2" */, ts + 34505 /* "static_app3" */, ts + 34517, /* "static_vfs1" */ - ts + 34529 /* "static_vfs2" */, ts + 34541 /* "static_vfs3" */, uintptr(0), + ts + 35151 /* "fast" */, ts + 35156 /* "recursive" */, ts + 35166 /* "static_main" */, ts + 35178, /* "static_mem" */ + ts + 35189 /* "static_open" */, ts + 35201 /* "static_prng" */, ts + 35213 /* "static_lru" */, ts + 35224, /* "static_pmem" */ + ts + 35236 /* "static_app1" */, ts + 35248 /* "static_app2" */, ts + 35260 /* "static_app3" */, ts + 35272, /* "static_vfs1" */ + ts + 35284 /* "static_vfs2" */, ts + 35296 /* "static_vfs3" */, uintptr(0), } /* test_mutex.c:32:19 */ // State variables @@ -69199,7 +70749,7 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp } if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+56 /* &isInstall */) { @@ -69207,12 +70757,12 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp } if *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) == g3.FisInstalled { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34553 /* "mutex counters a..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35308 /* "mutex counters a..." */, 0)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, func() uintptr { if *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) != 0 { - return ts + 34573 /* "already installe..." */ + return ts + 35328 /* "already installe..." */ } - return ts + 34591 /* "not installed" */ + return ts + 35346 /* "not installed" */ }(), 0)) return TCL_ERROR } @@ -69291,7 +70841,7 @@ func test_alloc_mutex(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // var zBuf [100]int8 at bp+24, 100 sqlite3.Xsqlite3_mutex_free(tls, p) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24 /* &zBuf[0] */, uintptr(0))) return TCL_OK } @@ -69310,9 +70860,9 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(36) *(*[4]ConfigOption)(unsafe.Pointer(bp /* aOpt */)) = [4]ConfigOption{ - {FzName: ts + 34605 /* "singlethread" */, FiValue: SQLITE_CONFIG_SINGLETHREAD}, - {FzName: ts + 34618 /* "multithread" */, FiValue: SQLITE_CONFIG_MULTITHREAD}, - {FzName: ts + 34630 /* "serialized" */, FiValue: SQLITE_CONFIG_SERIALIZED}, + {FzName: ts + 35360 /* "singlethread" */, FiValue: SQLITE_CONFIG_SINGLETHREAD}, + {FzName: ts + 35373 /* "multithread" */, FiValue: SQLITE_CONFIG_MULTITHREAD}, + {FzName: ts + 35385 /* "serialized" */, FiValue: SQLITE_CONFIG_SERIALIZED}, {}, } var s int32 = int32(unsafe.Sizeof(ConfigOption{})) @@ -69325,7 +70875,7 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &aOpt[0] */, s, ts+17204 /* "flag" */, 0, bp+32 /* &i */) != 0 { + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp /* &aOpt[0] */, s, ts+17985 /* "flag" */, 0, bp+32 /* &i */) != 0 { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+32 /* &i */) != 0 { return TCL_ERROR } @@ -69366,7 +70916,7 @@ func getStaticMutexPointer(tls *libc.TLS, pInterp uintptr, pObj uintptr) uintptr // var iMutex int32 at bp, 4 - if tcl.XTcl_GetIndexFromObjStruct(tls, pInterp, pObj, uintptr(unsafe.Pointer(&aName)), int32(unsafe.Sizeof(uintptr(0))), ts+34641 /* "mutex name" */, 0, bp /* &iMutex */) != 0 { + if tcl.XTcl_GetIndexFromObjStruct(tls, pInterp, pObj, uintptr(unsafe.Pointer(&aName)), int32(unsafe.Sizeof(uintptr(0))), ts+35396 /* "mutex name" */, 0, bp /* &iMutex */) != 0 { return uintptr(0) } @@ -69438,9 +70988,9 @@ func Sqlitetest_mutex_Init(tls *libc.TLS, interp uintptr) int32 { /* test_mutex. tcl.XTcl_CreateObjCommand(tls, interp, aCmd8[i].FzName, aCmd8[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+34652, /* "disable_mutex_in..." */ + tcl.XTcl_LinkVar(tls, interp, ts+35407, /* "disable_mutex_in..." */ (uintptr(unsafe.Pointer(&g3)) + 4 /* &.disableInit */), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+34671, /* "disable_mutex_tr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+35426, /* "disable_mutex_tr..." */ (uintptr(unsafe.Pointer(&g3)) + 8 /* &.disableTry */), TCL_LINK_INT) return SQLITE_OK } @@ -69449,20 +70999,20 @@ var aCmd8 = [11]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 34689 /* "sqlite3_shutdown" */, FxProc: 0}, - {FzName: ts + 34706 /* "sqlite3_initiali..." */, FxProc: 0}, - {FzName: ts + 34725 /* "sqlite3_config" */, FxProc: 0}, + {FzName: ts + 35444 /* "sqlite3_shutdown" */, FxProc: 0}, + {FzName: ts + 35461 /* "sqlite3_initiali..." */, FxProc: 0}, + {FzName: ts + 35480 /* "sqlite3_config" */, FxProc: 0}, - {FzName: ts + 34740 /* "enter_static_mut..." */, FxProc: 0}, - {FzName: ts + 34759 /* "leave_static_mut..." */, FxProc: 0}, + {FzName: ts + 35495 /* "enter_static_mut..." */, FxProc: 0}, + {FzName: ts + 35514 /* "leave_static_mut..." */, FxProc: 0}, - {FzName: ts + 34778 /* "enter_db_mutex" */, FxProc: 0}, - {FzName: ts + 34793 /* "leave_db_mutex" */, FxProc: 0}, + {FzName: ts + 35533 /* "enter_db_mutex" */, FxProc: 0}, + {FzName: ts + 35548 /* "leave_db_mutex" */, FxProc: 0}, - {FzName: ts + 34808 /* "alloc_dealloc_mu..." */, FxProc: 0}, - {FzName: ts + 34828 /* "install_mutex_co..." */, FxProc: 0}, - {FzName: ts + 34851 /* "read_mutex_count..." */, FxProc: 0}, - {FzName: ts + 34871 /* "clear_mutex_coun..." */, FxProc: 0}, + {FzName: ts + 35563 /* "alloc_dealloc_mu..." */, FxProc: 0}, + {FzName: ts + 35583 /* "install_mutex_co..." */, FxProc: 0}, + {FzName: ts + 35606 /* "read_mutex_count..." */, FxProc: 0}, + {FzName: ts + 35626 /* "clear_mutex_coun..." */, FxProc: 0}, } /* test_mutex.c:484:5 */ // Maximum pathname length supported by the fs backend. @@ -69514,7 +71064,7 @@ type fs_vfs_t = fs_vfs_t1 /* test_onefile.c:176:25 */ var fs_vfs = fs_vfs_t{ Fbase: sqlite3_vfs{ FiVersion: 1, // pNext - FzName: ts + 30488, /* "fs" */ // pAppData + FzName: ts + 31250, /* "fs" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -69965,7 +71515,7 @@ __8: if !(*(*sqlite3_int64)(unsafe.Pointer(bp /* size */)) == int64(0)) { goto __9 } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 12 /* &.xWrite */))))(tls, pRealFile, ts+34892 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 12 /* &.xWrite */))))(tls, pRealFile, ts+35647 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) (*fs_real_file)(unsafe.Pointer(pReal)).FnBlob = BLOBSIZE goto __10 __9: @@ -70044,7 +71594,7 @@ func fsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { } if pReal != 0 { pF = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 12 /* &.xWrite */))))(tls, pF, ts+34894 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 12 /* &.xWrite */))))(tls, pF, ts+35649 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) if rc == SQLITE_OK { (*fs_real_file)(unsafe.Pointer(pReal)).FnJournal = 0 } @@ -70065,7 +71615,7 @@ func fsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut u return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 32 /* &.xAccess */))))(tls, pParent, zPath, flags, pResOut) } - if (nName > 8) && (libc.Xstrcmp(tls, ts+32244 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { + if (nName > 8) && (libc.Xstrcmp(tls, ts+33006 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { nName = nName - (8) isJournal = 1 } @@ -70445,7 +71995,7 @@ func vfslogFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int var p uintptr = pFile var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 40 /* &.xFileControl */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34899 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35654 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } return rc } @@ -70740,7 +72290,7 @@ func sqlite3_vfslog_new(tls *libc.TLS, zVfs uintptr, zParentVfs uintptr, zLog ui (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pParent + 28 /* &.xDelete */))))(tls, pParent, zFile, 0) rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 24 /* &.xOpen */))))(tls, pParent, zFile, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, *(*int32)(unsafe.Pointer(bp /* flags */)), bp /* &flags */) if rc == SQLITE_OK { - libc.Xmemcpy(tls, p+116 /* &.aBuf */, ts+34909 /* "sqlite_ostrace1...." */, uint32(20)) + libc.Xmemcpy(tls, p+116 /* &.aBuf */, ts+35664 /* "sqlite_ostrace1...." */, uint32(20)) (*VfslogVfs)(unsafe.Pointer(p)).FiOffset = int64(0) (*VfslogVfs)(unsafe.Pointer(p)).FnBuf = 20 rc = sqlite3.Xsqlite3_vfs_register(tls, p, 1) @@ -70769,78 +72319,78 @@ func vfslog_eventname(tls *libc.TLS, eEvent int32) uintptr { /* test_osinst.c:76 switch eEvent { case OS_CLOSE: - zEvent = ts + 34930 /* "xClose" */ + zEvent = ts + 35685 /* "xClose" */ break case OS_READ: - zEvent = ts + 34937 /* "xRead" */ + zEvent = ts + 35692 /* "xRead" */ break case OS_WRITE: - zEvent = ts + 34943 /* "xWrite" */ + zEvent = ts + 35698 /* "xWrite" */ break case OS_TRUNCATE: - zEvent = ts + 34950 /* "xTruncate" */ + zEvent = ts + 35705 /* "xTruncate" */ break case OS_SYNC: - zEvent = ts + 27353 /* "xSync" */ + zEvent = ts + 28129 /* "xSync" */ break case OS_FILESIZE: - zEvent = ts + 34960 /* "xFilesize" */ + zEvent = ts + 35715 /* "xFilesize" */ break case OS_LOCK: - zEvent = ts + 34970 /* "xLock" */ + zEvent = ts + 35725 /* "xLock" */ break case OS_UNLOCK: - zEvent = ts + 34976 /* "xUnlock" */ + zEvent = ts + 35731 /* "xUnlock" */ break case OS_CHECKRESERVEDLOCK: - zEvent = ts + 34984 /* "xCheckResLock" */ + zEvent = ts + 35739 /* "xCheckResLock" */ break case OS_FILECONTROL: - zEvent = ts + 34998 /* "xFileControl" */ + zEvent = ts + 35753 /* "xFileControl" */ break case OS_SECTORSIZE: - zEvent = ts + 35011 /* "xSectorSize" */ + zEvent = ts + 35766 /* "xSectorSize" */ break case OS_DEVCHAR: - zEvent = ts + 35023 /* "xDeviceChar" */ + zEvent = ts + 35778 /* "xDeviceChar" */ break case OS_OPEN: - zEvent = ts + 26925 /* "xOpen" */ + zEvent = ts + 27701 /* "xOpen" */ break case OS_DELETE: - zEvent = ts + 35035 /* "xDelete" */ + zEvent = ts + 35790 /* "xDelete" */ break case OS_ACCESS: - zEvent = ts + 35043 /* "xAccess" */ + zEvent = ts + 35798 /* "xAccess" */ break case OS_FULLPATHNAME: - zEvent = ts + 35051 /* "xFullPathname" */ + zEvent = ts + 35806 /* "xFullPathname" */ break case OS_RANDOMNESS: - zEvent = ts + 35065 /* "xRandomness" */ + zEvent = ts + 35820 /* "xRandomness" */ break case OS_SLEEP: - zEvent = ts + 35077 /* "xSleep" */ + zEvent = ts + 35832 /* "xSleep" */ break case OS_CURRENTTIME: - zEvent = ts + 35084 /* "xCurrentTime" */ + zEvent = ts + 35839 /* "xCurrentTime" */ break case OS_SHMUNMAP: - zEvent = ts + 35097 /* "xShmUnmap" */ + zEvent = ts + 35852 /* "xShmUnmap" */ break case OS_SHMLOCK: - zEvent = ts + 35107 /* "xShmLock" */ + zEvent = ts + 35862 /* "xShmLock" */ break case OS_SHMBARRIER: - zEvent = ts + 35116 /* "xShmBarrier" */ + zEvent = ts + 35871 /* "xShmBarrier" */ break case OS_SHMMAP: - zEvent = ts + 35128 /* "xShmMap" */ + zEvent = ts + 35883 /* "xShmMap" */ break case OS_ANNOTATE: - zEvent = ts + 35136 /* "annotation" */ + zEvent = ts + 35891 /* "annotation" */ break } @@ -70941,7 +72491,7 @@ func vlogConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp if rc == SQLITE_OK { (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 24 /* &.xFileSize */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, (p + 16 /* &.nByte */)) sqlite3.Xsqlite3_declare_vtab(tls, db, - ts+35147 /* "CREATE TABLE xxx..." */) + ts+35902 /* "CREATE TABLE xxx..." */) *(*uintptr)(unsafe.Pointer(ppVtab)) = (p /* &.base */) } else { sqlite3.Xsqlite3_free(tls, p) @@ -71101,7 +72651,7 @@ func vlogRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* test_o func sqlite3_vfslog_register(tls *libc.TLS, db uintptr) int32 { /* test_osinst.c:1071:5: */ - sqlite3.Xsqlite3_create_module(tls, db, ts+35202 /* "vfslog" */, uintptr(unsafe.Pointer(&vfslog_module)), uintptr(0)) + sqlite3.Xsqlite3_create_module(tls, db, ts+35957 /* "vfslog" */, uintptr(unsafe.Pointer(&vfslog_module)), uintptr(0)) return SQLITE_OK } @@ -71139,7 +72689,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var iSub int32 at bp+72, 4 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32418 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33180 /* "SUB-COMMAND ..." */) return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), uintptr(unsafe.Pointer(&strs)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+72 /* &iSub */) != 0 { @@ -71152,14 +72702,14 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zVfs uintptr var zMsg uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+35209 /* "VFS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+35964 /* "VFS" */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) zMsg = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))) rc = sqlite3_vfslog_annotate(tls, zVfs, zMsg) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35213 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35968 /* "failed" */, 0)) return TCL_ERROR } break @@ -71169,13 +72719,13 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, { var zVfs uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35209 /* "VFS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35964 /* "VFS" */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) rc = sqlite3_vfslog_finalize(tls, zVfs) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+35213 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+35968 /* "failed" */, 0)) return TCL_ERROR } break @@ -71188,7 +72738,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zParent uintptr var zLog uintptr if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35220 /* "VFS PARENT LOGFI..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35975 /* "VFS PARENT LOGFI..." */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) @@ -71199,7 +72749,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } rc = sqlite3_vfslog_new(tls, zVfs, zParent, zLog) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+35213 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+35968 /* "failed" */, 0)) return TCL_ERROR } break @@ -71219,7 +72769,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, rc = sqlite3_vfslog_register(tls, db) } if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+35239 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+35994 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) return TCL_ERROR } break @@ -71230,10 +72780,10 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_OK } -var strs = [5]uintptr{ts + 35260 /* "annotate" */, ts + 35269 /* "finalize" */, ts + 13689 /* "new" */, ts + 35278 /* "register" */, uintptr(0)} /* test_osinst.c:1127:21 */ +var strs = [5]uintptr{ts + 36015 /* "annotate" */, ts + 36024 /* "finalize" */, ts + 14470 /* "new" */, ts + 36033 /* "register" */, uintptr(0)} /* test_osinst.c:1127:21 */ func SqlitetestOsinst_Init(tls *libc.TLS, interp uintptr) int32 { /* test_osinst.c:1219:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+35202 /* "vfslog" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+35957 /* "vfslog" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfslog})), uintptr(0), uintptr(0)) return TCL_OK @@ -72278,7 +73828,7 @@ func quotaFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int3 var pSubOpen uintptr = quotaSubOpen(tls, pConn) var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 40 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35287 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+36042 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } return rc } @@ -72353,7 +73903,7 @@ func sqlite3_quota_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefault i f func(*libc.TLS, uintptr, uintptr, int32) int32 }{quotaDelete})) *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gQuota)) + 4 /* &.sThisVfs */ + 4 /* &.szOsFile */)) += int32((uint32(unsafe.Sizeof(quotaConn{})))) - gQuota.FsThisVfs.FzName = ts + 35296 /* "quota" */ + gQuota.FsThisVfs.FzName = ts + 36051 /* "quota" */ gQuota.FsIoMethodsV1.FiVersion = 1 gQuota.FsIoMethodsV1.FxClose = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 @@ -72927,7 +74477,7 @@ func tclQuotaCallback(tls *libc.TLS, zFilename uintptr, piLimit uintptr, iSize s return } - pVarname = tcl.XTcl_NewStringObj(tls, ts+35302 /* "::piLimit_" */, -1) + pVarname = tcl.XTcl_NewStringObj(tls, ts+36057 /* "::piLimit_" */, -1) (*Tcl_Obj)(unsafe.Pointer(pVarname)).FrefCount++ sqlite3.Xsqlite3_randomness(tls, int32(unsafe.Sizeof(uint32(0))), bp /* &rnd */) tcl.XTcl_AppendObjToObj(tls, pVarname, tcl.XTcl_NewIntObj(tls, (int32(*(*uint32)(unsafe.Pointer(bp /* rnd */))&uint32(0x7FFFFFFF))))) @@ -72992,7 +74542,7 @@ func test_quota_initialize(tls *libc.TLS, clientData uintptr, interp uintptr, ob // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34184 /* "NAME MAKEDEFAULT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34946 /* "NAME MAKEDEFAULT" */) return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -73044,7 +74594,7 @@ func test_quota_set(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Process arguments if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35313 /* "PATTERN LIMIT SC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36068 /* "PATTERN LIMIT SC..." */) return TCL_ERROR } zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -73058,7 +74608,7 @@ func test_quota_set(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Allocate a TclQuotaCallback object p = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TclQuotaCallback{}))) if !(p != 0) { - tcl.XTcl_SetResult(tls, interp, ts+32182 /* "SQLITE_NOMEM" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+32944 /* "SQLITE_NOMEM" */, uintptr(0)) return TCL_OK } libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(TclQuotaCallback{}))) @@ -73089,7 +74639,7 @@ func test_quota_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // Process arguments if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -73163,13 +74713,13 @@ func test_quota_fopen(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35334 /* "FILENAME MODE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36089 /* "FILENAME MODE" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) zMode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) p = sqlite3_quota_fopen(tls, zFilename, zMode) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+8 /* &zReturn[0] */, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+8 /* &zReturn[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) tcl.XTcl_SetResult(tls, interp, bp+8 /* &zReturn[0] */, uintptr(1)) return TCL_OK } @@ -73188,7 +74738,7 @@ func test_quota_fread(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var got size_t if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35348 /* "HANDLE SIZE NELE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36103 /* "HANDLE SIZE NELE..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73224,7 +74774,7 @@ func test_quota_fwrite(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var got size_t if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35366 /* "HANDLE SIZE NELE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36121 /* "HANDLE SIZE NELE..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73246,7 +74796,7 @@ func test_quota_fclose(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73265,7 +74815,7 @@ func test_quota_fflush(tls *libc.TLS, clientData uintptr, interp uintptr, objc i *(*int32)(unsafe.Pointer(bp /* doSync */)) = 0 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35392 /* "HANDLE ?HARDSYNC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36147 /* "HANDLE ?HARDSYNC..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73292,7 +74842,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35410 /* "HANDLE OFFSET WH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36165 /* "HANDLE OFFSET WH..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73300,15 +74850,15 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in return TCL_ERROR } zWhence = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*4))) - if libc.Xstrcmp(tls, zWhence, ts+35431 /* "SEEK_SET" */) == 0 { + if libc.Xstrcmp(tls, zWhence, ts+36186 /* "SEEK_SET" */) == 0 { whence = SEEK_SET - } else if libc.Xstrcmp(tls, zWhence, ts+35440 /* "SEEK_CUR" */) == 0 { + } else if libc.Xstrcmp(tls, zWhence, ts+36195 /* "SEEK_CUR" */) == 0 { whence = SEEK_CUR - } else if libc.Xstrcmp(tls, zWhence, ts+35449 /* "SEEK_END" */) == 0 { + } else if libc.Xstrcmp(tls, zWhence, ts+36204 /* "SEEK_END" */) == 0 { whence = SEEK_END } else { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+35458 /* "WHENCE should be..." */, uintptr(0))) + libc.VaList(bp, ts+36213 /* "WHENCE should be..." */, uintptr(0))) return TCL_ERROR } rc = sqlite3_quota_fseek(tls, p, int32(*(*int32)(unsafe.Pointer(bp + 16 /* ofst */))), whence) @@ -73320,7 +74870,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in func test_quota_rewind(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_quota.c:1718:26: */ var p uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73333,7 +74883,7 @@ func test_quota_ftell(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73353,7 +74903,7 @@ func test_quota_ftruncate(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35507 /* "HANDLE SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36262 /* "HANDLE SIZE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73371,7 +74921,7 @@ func test_quota_file_size(tls *libc.TLS, clientData uintptr, interp uintptr, obj var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73385,7 +74935,7 @@ func test_quota_file_truesize(tls *libc.TLS, clientData uintptr, interp uintptr, var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73403,7 +74953,7 @@ func test_quota_file_mtime(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var t time_t at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73418,7 +74968,7 @@ func test_quota_remove(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var zFilename uintptr // File pattern to configure var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -73436,7 +74986,7 @@ func test_quota_glob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var zText uintptr // Text to compare agains the pattern var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35519 /* "PATTERN TEXT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36274 /* "PATTERN TEXT" */) return TCL_ERROR } zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))) @@ -73454,7 +75004,7 @@ func test_quota_file_available(tls *libc.TLS, clientData uintptr, interp uintptr var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73470,7 +75020,7 @@ func test_quota_ferror(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var p uintptr var x int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4)))) @@ -73499,27 +75049,27 @@ var aCmd9 = [21]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 35532 /* "sqlite3_quota_in..." */, FxProc: 0}, - {FzName: ts + 35557 /* "sqlite3_quota_sh..." */, FxProc: 0}, - {FzName: ts + 35580 /* "sqlite3_quota_se..." */, FxProc: 0}, - {FzName: ts + 35598 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35617 /* "sqlite3_quota_du..." */, FxProc: 0}, - {FzName: ts + 35636 /* "sqlite3_quota_fo..." */, FxProc: 0}, - {FzName: ts + 35656 /* "sqlite3_quota_fr..." */, FxProc: 0}, - {FzName: ts + 35676 /* "sqlite3_quota_fw..." */, FxProc: 0}, - {FzName: ts + 35697 /* "sqlite3_quota_fc..." */, FxProc: 0}, - {FzName: ts + 35718 /* "sqlite3_quota_ff..." */, FxProc: 0}, - {FzName: ts + 35739 /* "sqlite3_quota_fs..." */, FxProc: 0}, - {FzName: ts + 35759 /* "sqlite3_quota_re..." */, FxProc: 0}, - {FzName: ts + 35780 /* "sqlite3_quota_ft..." */, FxProc: 0}, - {FzName: ts + 35800 /* "sqlite3_quota_ft..." */, FxProc: 0}, - {FzName: ts + 35824 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35848 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35876 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35901 /* "sqlite3_quota_re..." */, FxProc: 0}, - {FzName: ts + 35922 /* "sqlite3_quota_gl..." */, FxProc: 0}, - {FzName: ts + 35941 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35970 /* "sqlite3_quota_fe..." */, FxProc: 0}, + {FzName: ts + 36287 /* "sqlite3_quota_in..." */, FxProc: 0}, + {FzName: ts + 36312 /* "sqlite3_quota_sh..." */, FxProc: 0}, + {FzName: ts + 36335 /* "sqlite3_quota_se..." */, FxProc: 0}, + {FzName: ts + 36353 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36372 /* "sqlite3_quota_du..." */, FxProc: 0}, + {FzName: ts + 36391 /* "sqlite3_quota_fo..." */, FxProc: 0}, + {FzName: ts + 36411 /* "sqlite3_quota_fr..." */, FxProc: 0}, + {FzName: ts + 36431 /* "sqlite3_quota_fw..." */, FxProc: 0}, + {FzName: ts + 36452 /* "sqlite3_quota_fc..." */, FxProc: 0}, + {FzName: ts + 36473 /* "sqlite3_quota_ff..." */, FxProc: 0}, + {FzName: ts + 36494 /* "sqlite3_quota_fs..." */, FxProc: 0}, + {FzName: ts + 36514 /* "sqlite3_quota_re..." */, FxProc: 0}, + {FzName: ts + 36535 /* "sqlite3_quota_ft..." */, FxProc: 0}, + {FzName: ts + 36555 /* "sqlite3_quota_ft..." */, FxProc: 0}, + {FzName: ts + 36579 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36603 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36631 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36656 /* "sqlite3_quota_re..." */, FxProc: 0}, + {FzName: ts + 36677 /* "sqlite3_quota_gl..." */, FxProc: 0}, + {FzName: ts + 36696 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36725 /* "sqlite3_quota_fe..." */, FxProc: 0}, } /* test_quota.c:1948:5 */ // Type used to cache parameter information for the "circle" r-tree geometry @@ -74117,7 +75667,7 @@ func register_cube_geom(tls *libc.TLS, clientData uintptr, interp uintptr, objc if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+35991 /* "cube" */, *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36746 /* "cube" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 }{cube_geom})), uintptr(unsafe.Pointer(&gHere))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) @@ -74139,17 +75689,17 @@ func register_circle_geom(tls *libc.TLS, clientData uintptr, interp uintptr, obj if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+35996 /* "circle" */, *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36751 /* "circle" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 }{circle_geom})), uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36003, /* "Qcircle" */ + rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36758, /* "Qcircle" */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 }{circle_query_func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36011, /* "breadthfirstsear..." */ + rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36766, /* "breadthfirstsear..." */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 }{bfs_query_func})), uintptr(0), uintptr(0)) @@ -74159,10 +75709,10 @@ func register_circle_geom(tls *libc.TLS, clientData uintptr, interp uintptr, obj } func Sqlitetestrtree_Init(tls *libc.TLS, interp uintptr) int32 { /* test_rtree.c:507:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+36030 /* "register_cube_ge..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36785 /* "register_cube_ge..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{register_cube_geom})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+36049 /* "register_circle_..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36804 /* "register_circle_..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{register_circle_geom})), uintptr(0), uintptr(0)) return TCL_OK @@ -74391,7 +75941,7 @@ func schemaCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint if pVtab != 0 { libc.Xmemset(tls, pVtab, 0, uint32(unsafe.Sizeof(schema_vtab{}))) (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb = db - rc = sqlite3.Xsqlite3_declare_vtab(tls, db /* Name of database (i.e. main, temp etc.) */ /* Name of table */ /* Column number (from left-to-right, 0 upward) */ /* Column name */ /* Specified type (i.e. VARCHAR(32)) */ /* Boolean. True if NOT NULL was specified */ /* Default value for this column */ /* True if this column is part of the primary key */, ts+36070 /* "CREATE TABLE x(d..." */) + rc = sqlite3.Xsqlite3_declare_vtab(tls, db /* Name of database (i.e. main, temp etc.) */ /* Name of table */ /* Column number (from left-to-right, 0 upward) */ /* Column name */ /* Specified type (i.e. VARCHAR(32)) */ /* Boolean. True if NOT NULL was specified */ /* Default value for this column */ /* True if this column is part of the primary key */, ts+36825 /* "CREATE TABLE x(d..." */) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab return rc @@ -74515,12 +76065,12 @@ __8: goto __9 } zSql = sqlite3.Xsqlite3_mprintf(tls, - ts+36142 /* "SELECT name FROM..." */, 0) + ts+36897 /* "SELECT name FROM..." */, 0) goto __10 __9: pDbList = (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList zSql = sqlite3.Xsqlite3_mprintf(tls, - ts+36197, /* "SELECT name FROM..." */ + ts+36952, /* "SELECT name FROM..." */ libc.VaList(bp, sqlite3.Xsqlite3_column_text(tls, pDbList, 1))) __10: ; @@ -74547,7 +76097,7 @@ __5: // Set zSql to the SQL to the table_info pragma for the table currently // identified by the rows pointed to by statements pCur->pDbList and // pCur->pTableList. - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+36250, /* "PRAGMA %Q.table_..." */ + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+37005, /* "PRAGMA %Q.table_..." */ libc.VaList(bp+8, sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList, 1), sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpTableList, 0))) @@ -74585,7 +76135,7 @@ func schemaFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp finalize(tls, (pCur + 8 /* &.pTableList */)) finalize(tls, (pCur + 12 /* &.pColumnList */)) finalize(tls, (pCur + 4 /* &.pDbList */)) - rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, ts+36275 /* "PRAGMA database_..." */, -1, (pCur + 4 /* &.pDbList */), uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, ts+37030 /* "PRAGMA database_..." */, -1, (pCur + 4 /* &.pDbList */), uintptr(0)) return func() int32 { if rc == SQLITE_OK { return schemaNext(tls, pVtabCursor) @@ -74653,7 +76203,7 @@ var aObjCmd12 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 36296 /* "register_schema_..." */, FxProc: 0}, + {FzName: ts + 37051 /* "register_schema_..." */, FxProc: 0}, } /* test_schema.c:335:5 */ // 2001-09-15 @@ -75204,7 +76754,7 @@ func superlockIsWal(tls *libc.TLS, pLock uintptr) int32 { /* test_superlock.c:67 // var pStmt uintptr at bp, 4 // Compiled PRAGMA journal_mode statement - rc = sqlite3.Xsqlite3_prepare(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+36319 /* "PRAGMA main.jour..." */, -1, bp /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+37074 /* "PRAGMA main.jour..." */, -1, bp /* &pStmt */, uintptr(0)) if rc != SQLITE_OK { return rc } @@ -75212,7 +76762,7 @@ func superlockIsWal(tls *libc.TLS, pLock uintptr) int32 { /* test_superlock.c:67 (*Superlock)(unsafe.Pointer(pLock)).FbWal = 0 if SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { var zMode uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) - if ((zMode != 0) && (libc.Xstrlen(tls, zMode) == size_t(3))) && (sqlite3.Xsqlite3_strnicmp(tls, ts+29379 /* "wal" */, zMode, 3) == 0) { + if ((zMode != 0) && (libc.Xstrlen(tls, zMode) == size_t(3))) && (sqlite3.Xsqlite3_strnicmp(tls, ts+30141 /* "wal" */, zMode, 3) == 0) { (*Superlock)(unsafe.Pointer(pLock)).FbWal = 1 } } @@ -75346,7 +76896,7 @@ func sqlite3demo_superlock(tls *libc.TLS, zPath uintptr, zVfs uintptr, xBusy uin sqlite3.Xsqlite3_busy_handler(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 }{superlockBusyHandler})), bp /* &busy */) - rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+12906 /* "BEGIN EXCLUSIVE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+13687 /* "BEGIN EXCLUSIVE" */, uintptr(0), uintptr(0), uintptr(0)) } // If the BEGIN EXCLUSIVE was executed successfully and this is a WAL @@ -75359,7 +76909,7 @@ func sqlite3demo_superlock(tls *libc.TLS, zPath uintptr, zVfs uintptr, xBusy uin // new WAL locks may conflict with the old. if rc == SQLITE_OK { if (SQLITE_OK == (libc.AssignInt32(&rc, superlockIsWal(tls, pLock)))) && ((*Superlock)(unsafe.Pointer(pLock)).FbWal != 0) { - rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+11310 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+12098 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = superlockWalLock(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, bp /* &busy */) } @@ -75442,7 +76992,7 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj if (objc < 3) || (objc > 5) { tcl.XTcl_WrongNumArgs(tls, - interp, 1, objv, ts+36344 /* "CMDNAME PATH ?VF..." */) + interp, 1, objv, ts+37099 /* "CMDNAME PATH ?VF..." */) return TCL_ERROR } @@ -75479,7 +77029,7 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj } func SqliteSuperlock_Init(tls *libc.TLS, interp uintptr) int32 { /* test_superlock.c:359:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+36385 /* "sqlite3demo_supe..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+37140 /* "sqlite3demo_supe..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{superlock_cmd})), uintptr(0), uintptr(0)) return TCL_OK @@ -75524,24 +77074,24 @@ type TestSyscallArray = struct { } /* test_syscall.c:127:1 */ var aSyscall = [19]TestSyscallArray{ - /* 0 */ {FzName: ts + 36407 /* "open" */, FxTest: 0, Fdefault_errno: EACCES}, + /* 0 */ {FzName: ts + 37162 /* "open" */, FxTest: 0, Fdefault_errno: EACCES}, /* 1 */ {FzName: ts + 10125 /* "close" */, FxTest: 0}, - /* 2 */ {FzName: ts + 36412 /* "access" */, FxTest: 0}, - /* 3 */ {FzName: ts + 36419 /* "getcwd" */, FxTest: 0}, - /* 4 */ {FzName: ts + 36426 /* "stat" */, FxTest: 0}, - /* 5 */ {FzName: ts + 36431 /* "fstat" */, FxTest: 0}, - /* 6 */ {FzName: ts + 36437 /* "ftruncate" */, FxTest: 0, Fdefault_errno: EIO}, - /* 7 */ {FzName: ts + 36447 /* "fcntl" */, FxTest: 0, Fdefault_errno: EACCES}, - /* 8 */ {FzName: ts + 24630 /* "read" */, FxTest: 0}, - /* 9 */ {FzName: ts + 36453 /* "pread" */, FxTest: 0}, - /* 10 */ {FzName: ts + 36459 /* "pread64" */, FxTest: 0}, - /* 11 */ {FzName: ts + 24635 /* "write" */, FxTest: 0}, - /* 12 */ {FzName: ts + 36467 /* "pwrite" */, FxTest: 0}, - /* 13 */ {FzName: ts + 36474 /* "pwrite64" */, FxTest: 0}, - /* 14 */ {FzName: ts + 36483 /* "fchmod" */, FxTest: 0}, - /* 15 */ {FzName: ts + 36490 /* "fallocate" */, FxTest: 0}, - /* 16 */ {FzName: ts + 28466 /* "mmap" */, FxTest: 0}, - /* 17 */ {FzName: ts + 36500 /* "mremap" */, FxTest: 0}, + /* 2 */ {FzName: ts + 37167 /* "access" */, FxTest: 0}, + /* 3 */ {FzName: ts + 37174 /* "getcwd" */, FxTest: 0}, + /* 4 */ {FzName: ts + 37181 /* "stat" */, FxTest: 0}, + /* 5 */ {FzName: ts + 37186 /* "fstat" */, FxTest: 0}, + /* 6 */ {FzName: ts + 37192 /* "ftruncate" */, FxTest: 0, Fdefault_errno: EIO}, + /* 7 */ {FzName: ts + 37202 /* "fcntl" */, FxTest: 0, Fdefault_errno: EACCES}, + /* 8 */ {FzName: ts + 25406 /* "read" */, FxTest: 0}, + /* 9 */ {FzName: ts + 37208 /* "pread" */, FxTest: 0}, + /* 10 */ {FzName: ts + 37214 /* "pread64" */, FxTest: 0}, + /* 11 */ {FzName: ts + 25411 /* "write" */, FxTest: 0}, + /* 12 */ {FzName: ts + 37222 /* "pwrite" */, FxTest: 0}, + /* 13 */ {FzName: ts + 37229 /* "pwrite64" */, FxTest: 0}, + /* 14 */ {FzName: ts + 37238 /* "fchmod" */, FxTest: 0}, + /* 15 */ {FzName: ts + 37245 /* "fallocate" */, FxTest: 0}, + /* 16 */ {FzName: ts + 29235 /* "mmap" */, FxTest: 0}, + /* 17 */ {FzName: ts + 37255 /* "mremap" */, FxTest: 0}, {}, } /* test_syscall.c:133:3 */ @@ -75593,7 +77143,7 @@ func tsIsFailErrno(tls *libc.TLS, zFunc uintptr) int32 { /* test_syscall.c:215:1 // A wrapper around open(). func ts_open(tls *libc.TLS, zFile uintptr, flags int32, mode int32) int32 { /* test_syscall.c:226:12: */ - if tsIsFailErrno(tls, ts+36407 /* "open" */) != 0 { + if tsIsFailErrno(tls, ts+37162 /* "open" */) != 0 { return -1 } return (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.xOrig */))))(tls, zFile, flags, mode) @@ -75639,7 +77189,7 @@ func ts_stat(tls *libc.TLS, zPath uintptr, p uintptr) int32 { /* test_syscall.c: // A wrapper around fstat(). func ts_fstat(tls *libc.TLS, fd int32, p uintptr) int32 { /* test_syscall.c:282:12: */ - if tsIsFailErrno(tls, ts+36431 /* "fstat" */) != 0 { + if tsIsFailErrno(tls, ts+37186 /* "fstat" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*20 + 8 /* &.xOrig */))))(tls, fd, p) @@ -75647,7 +77197,7 @@ func ts_fstat(tls *libc.TLS, fd int32, p uintptr) int32 { /* test_syscall.c:282: // A wrapper around ftruncate(). func ts_ftruncate(tls *libc.TLS, fd int32, n off_t) int32 { /* test_syscall.c:292:12: */ - if tsIsFailErrno(tls, ts+36437 /* "ftruncate" */) != 0 { + if tsIsFailErrno(tls, ts+37192 /* "ftruncate" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, off_t) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 6*20 + 8 /* &.xOrig */))))(tls, fd, n) @@ -75661,7 +77211,7 @@ func ts_fcntl(tls *libc.TLS, fd int32, cmd int32, va uintptr) int32 { /* test_sy var ap va_list _ = ap var pArg uintptr - if tsIsFailErrno(tls, ts+36447 /* "fcntl" */) != 0 { + if tsIsFailErrno(tls, ts+37202 /* "fcntl" */) != 0 { return -1 } ap = va @@ -75671,7 +77221,7 @@ func ts_fcntl(tls *libc.TLS, fd int32, cmd int32, va uintptr) int32 { /* test_sy // A wrapper around read(). func ts_read(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test_syscall.c:316:12: */ - if tsIsFailErrno(tls, ts+24630 /* "read" */) != 0 { + if tsIsFailErrno(tls, ts+25406 /* "read" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr, size_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8*20 + 8 /* &.xOrig */))))(tls, fd, aBuf, nBuf) @@ -75679,7 +77229,7 @@ func ts_read(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test // A wrapper around pread(). func ts_pread(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int32 { /* test_syscall.c:326:12: */ - if tsIsFailErrno(tls, ts+36453 /* "pread" */) != 0 { + if tsIsFailErrno(tls, ts+37208 /* "pread" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr, size_t, off_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 9*20 + 8 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off) @@ -75687,7 +77237,7 @@ func ts_pread(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int // A wrapper around pread64(). func ts_pread64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_uint64) int32 { /* test_syscall.c:336:12: */ - if tsIsFailErrno(tls, ts+36459 /* "pread64" */) != 0 { + if tsIsFailErrno(tls, ts+37214 /* "pread64" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr, size_t, sqlite3_uint64) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 10*20 + 8 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off) @@ -75695,8 +77245,8 @@ func ts_pread64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_ // A wrapper around write(). func ts_write(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test_syscall.c:346:12: */ - if tsIsFailErrno(tls, ts+24635 /* "write" */) != 0 { - if tsErrno(tls, ts+24635 /* "write" */) == EINTR { + if tsIsFailErrno(tls, ts+25411 /* "write" */) != 0 { + if tsErrno(tls, ts+25411 /* "write" */) == EINTR { (*(*func(*libc.TLS, int32, uintptr, size_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 11*20 + 8 /* &.xOrig */))))(tls, fd, aBuf, (nBuf / size_t(2))) } return -1 @@ -75706,7 +77256,7 @@ func ts_write(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* tes // A wrapper around pwrite(). func ts_pwrite(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int32 { /* test_syscall.c:357:12: */ - if tsIsFailErrno(tls, ts+36467 /* "pwrite" */) != 0 { + if tsIsFailErrno(tls, ts+37222 /* "pwrite" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr, size_t, off_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 12*20 + 8 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off) @@ -75714,7 +77264,7 @@ func ts_pwrite(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) in // A wrapper around pwrite64(). func ts_pwrite64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_uint64) int32 { /* test_syscall.c:367:12: */ - if tsIsFailErrno(tls, ts+36474 /* "pwrite64" */) != 0 { + if tsIsFailErrno(tls, ts+37229 /* "pwrite64" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr, size_t, sqlite3_uint64) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 13*20 + 8 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off) @@ -75737,13 +77287,13 @@ func ts_fchmod(tls *libc.TLS, fd int32, mode mode_t) int32 { /* test_syscall.c:3 // failure. Note that errno is not set. func ts_fallocate(tls *libc.TLS, fd int32, off off_t, len off_t) int32 { /* test_syscall.c:393:12: */ if tsIsFail(tls) != 0 { - return tsErrno(tls, ts+36490 /* "fallocate" */) + return tsErrno(tls, ts+37245 /* "fallocate" */) } return (*(*func(*libc.TLS, int32, off_t, off_t) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 15*20 + 8 /* &.xOrig */))))(tls, fd, off, len) } func ts_mmap(tls *libc.TLS, pAddr uintptr, nByte size_t, prot int32, flags int32, fd int32, iOff off_t) uintptr { /* test_syscall.c:400:13: */ - if tsIsFailErrno(tls, ts+28466 /* "mmap" */) != 0 { + if tsIsFailErrno(tls, ts+29235 /* "mmap" */) != 0 { return libc.UintptrFromInt32(-1) } return (*(*func(*libc.TLS, uintptr, size_t, int32, int32, int32, off_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 16*20 + 8 /* &.xOrig */))))(tls, pAddr, nByte, prot, flags, fd, iOff) @@ -75756,7 +77306,7 @@ func ts_mremap(tls *libc.TLS, a uintptr, b size_t, c size_t, d int32, va uintptr var ap va_list _ = ap var pArg uintptr - if tsIsFailErrno(tls, ts+36500 /* "mremap" */) != 0 { + if tsIsFailErrno(tls, ts+37255 /* "mremap" */) != 0 { return libc.UintptrFromInt32(-1) } ap = va @@ -75775,7 +77325,7 @@ func test_syscall_install(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var apElem uintptr at bp+4, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36507 /* "SYSCALL-LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37262 /* "SYSCALL-LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp /* &nElem */, bp+4 /* &apElem */) != 0 { @@ -75787,7 +77337,7 @@ func test_syscall_install(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var iCall int32 at bp+8, 4 var rc int32 = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* apElem */)) + uintptr(i)*4)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+36520 /* "system-call" */, 0, bp+8 /* &iCall */) + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4 /* apElem */)) + uintptr(i)*4)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+37275 /* "system-call" */, 0, bp+8 /* &iCall */) if rc != 0 { return rc } @@ -75887,7 +77437,7 @@ func test_syscall_fault(tls *libc.TLS, clientData uintptr, interp uintptr, objc *(*int32)(unsafe.Pointer(bp + 4 /* bPersist */)) = 0 if (objc != 2) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36532 /* "?COUNT PERSIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37287 /* "?COUNT PERSIST?" */) return TCL_ERROR } @@ -75916,32 +77466,32 @@ func test_syscall_errno(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 *(*[12]Errno)(unsafe.Pointer(bp + 4 /* aErrno */)) = [12]Errno{ - {Fz: ts + 36548 /* "EACCES" */, Fi: EACCES}, - {Fz: ts + 36555 /* "EINTR" */, Fi: EINTR}, - {Fz: ts + 36561 /* "EIO" */, Fi: EIO}, - {Fz: ts + 36565 /* "EOVERFLOW" */, Fi: EOVERFLOW}, - {Fz: ts + 36575 /* "ENOMEM" */, Fi: ENOMEM}, - {Fz: ts + 36582 /* "EAGAIN" */, Fi: EAGAIN}, - {Fz: ts + 36589 /* "ETIMEDOUT" */, Fi: ETIMEDOUT}, - {Fz: ts + 36599 /* "EBUSY" */, Fi: EBUSY}, - {Fz: ts + 36605 /* "EPERM" */, Fi: EPERM}, - {Fz: ts + 36611 /* "EDEADLK" */, Fi: EDEADLK}, - {Fz: ts + 36619 /* "ENOLCK" */, Fi: ENOLCK}, + {Fz: ts + 37303 /* "EACCES" */, Fi: EACCES}, + {Fz: ts + 37310 /* "EINTR" */, Fi: EINTR}, + {Fz: ts + 37316 /* "EIO" */, Fi: EIO}, + {Fz: ts + 37320 /* "EOVERFLOW" */, Fi: EOVERFLOW}, + {Fz: ts + 37330 /* "ENOMEM" */, Fi: ENOMEM}, + {Fz: ts + 37337 /* "EAGAIN" */, Fi: EAGAIN}, + {Fz: ts + 37344 /* "ETIMEDOUT" */, Fi: ETIMEDOUT}, + {Fz: ts + 37354 /* "EBUSY" */, Fi: EBUSY}, + {Fz: ts + 37360 /* "EPERM" */, Fi: EPERM}, + {Fz: ts + 37366 /* "EDEADLK" */, Fi: EDEADLK}, + {Fz: ts + 37374 /* "ENOLCK" */, Fi: ENOLCK}, {}, } if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36626 /* "SYSCALL ERRNO" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37381 /* "SYSCALL ERRNO" */) return TCL_ERROR } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+36520 /* "system-call" */, 0, bp /* &iCall */) + *(*uintptr)(unsafe.Pointer(objv + 2*4)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+37275 /* "system-call" */, 0, bp /* &iCall */) if rc != TCL_OK { return rc } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+4 /* &aErrno[0] */, int32(unsafe.Sizeof(Errno{})), ts+36640 /* "errno" */, 0, bp+100 /* &iErrno */) + *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+4 /* &aErrno[0] */, int32(unsafe.Sizeof(Errno{})), ts+37395 /* "errno" */, 0, bp+100 /* &iErrno */) if rc != TCL_OK { return rc } @@ -76007,7 +77557,7 @@ func test_syscall_pagesize(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var pgsz int32 at bp+16, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36646 /* "PGSZ" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37401 /* "PGSZ" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+16 /* &pgsz */) != 0 { @@ -76016,17 +77566,17 @@ func test_syscall_pagesize(tls *libc.TLS, clientData uintptr, interp uintptr, ob if *(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) < 0 { if gSyscall.Forig_getpagesize != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 76 /* &.xSetSystemCall */))))(tls, pVfs, ts+36651 /* "getpagesize" */, gSyscall.Forig_getpagesize) + (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 76 /* &.xSetSystemCall */))))(tls, pVfs, ts+37406 /* "getpagesize" */, gSyscall.Forig_getpagesize) } } else { if (*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) < 512) || ((*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) - 1)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+36663 /* "pgsz out of rang..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37418 /* "pgsz out of rang..." */, 0)) return TCL_ERROR } - gSyscall.Forig_getpagesize = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 80 /* &.xGetSystemCall */))))(tls, pVfs, ts+36651 /* "getpagesize" */) + gSyscall.Forig_getpagesize = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 80 /* &.xGetSystemCall */))))(tls, pVfs, ts+37406 /* "getpagesize" */) gSyscall.Fpgsz = *(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 76 /* &.xSetSystemCall */))))(tls, - pVfs, ts+36651 /* "getpagesize" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{ts_getpagesize}))) + pVfs, ts+37406 /* "getpagesize" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{ts_getpagesize}))) } return TCL_OK @@ -76037,31 +77587,31 @@ func test_syscall(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(100) *(*[10]SyscallCmd)(unsafe.Pointer(bp + 16 /* aCmd */)) = [10]SyscallCmd{ - {FzName: ts + 36681 /* "fault" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37436 /* "fault" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_fault}))}, - {FzName: ts + 36687 /* "install" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37442 /* "install" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_install}))}, - {FzName: ts + 36695 /* "uninstall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37450 /* "uninstall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_uninstall}))}, {FzName: ts + 7379 /* "reset" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_reset}))}, - {FzName: ts + 36640 /* "errno" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37395 /* "errno" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_errno}))}, - {FzName: ts + 13196 /* "exists" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 13977 /* "exists" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_exists}))}, - {FzName: ts + 36705 /* "list" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37460 /* "list" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_list}))}, - {FzName: ts + 36710 /* "defaultvfs" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37465 /* "defaultvfs" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_defaultvfs}))}, - {FzName: ts + 36721 /* "pagesize" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37476 /* "pagesize" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_pagesize}))}, {}, @@ -76072,11 +77622,11 @@ func test_syscall(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var pVfs uintptr = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32418 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33180 /* "SUB-COMMAND ..." */) return TCL_ERROR } if ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion < 3) || ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall == uintptr(0)) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+36730 /* "VFS does not sup..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37485 /* "VFS does not sup..." */, 0)) rc = TCL_ERROR } else { rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, @@ -76098,7 +77648,7 @@ func SqlitetestSyscall_Init(tls *libc.TLS, interp uintptr) int32 { /* test_sysca defer tls.Free(8) *(*[1]SyscallCmd)(unsafe.Pointer(bp /* aCmd */)) = [1]SyscallCmd{ - {FzName: ts + 36766 /* "test_syscall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37521 /* "test_syscall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall}))}, } @@ -76138,7 +77688,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 } - if tcl.XTcl_GetCommandInfo(tls, interp, ts+13947 /* "sqlite3" */, bp+16 /* &cmdInfo */) == 0 { + if tcl.XTcl_GetCommandInfo(tls, interp, ts+14728 /* "sqlite3" */, bp+16 /* &cmdInfo */) == 0 { Sqlite3_Init(tls, interp) } Md5_Init(tls, interp) @@ -76175,6 +77725,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 Sqlitemultiplex_Init(tls, interp) SqliteSuperlock_Init(tls, interp) SqlitetestSyscall_Init(tls, interp) + TestSession_Init(tls, interp) Fts5tcl_Init(tls, interp) SqliteRbu_Init(tls, interp) Sqlitetesttcl_Init(tls, interp) @@ -76184,7 +77735,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 Sqlitetestvdbecov_Init(tls, interp) tcl.XTcl_CreateObjCommand(tls, - interp, ts+36779 /* "load_testfixture..." */, *(*uintptr)(unsafe.Pointer(&struct { + interp, ts+37534 /* "load_testfixture..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{load_testfixture_extensions})), uintptr(0), uintptr(0)) return uintptr(0) @@ -76194,7 +77745,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 func load_testfixture_extensions(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_tclsh.c:185:26: */ var slave uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36807 /* "SLAVE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+37562 /* "SLAVE" */) return TCL_ERROR } @@ -76336,7 +77887,7 @@ var zSchema = // Array index // Value // base(index) name -*(*[100]int8)(unsafe.Pointer(ts + 36813 /* "CREATE TABLE x( ..." */)) /* test_tclvar.c:88:21 */ +*(*[100]int8)(unsafe.Pointer(ts + 37568 /* "CREATE TABLE x( ..." */)) /* test_tclvar.c:88:21 */ // Note that for this virtual table, the xCreate and xConnect // methods are identical. @@ -76388,7 +77939,7 @@ func next2(tls *libc.TLS, interp uintptr, pCur uintptr, pObj uintptr) int32 { /* if pObj != 0 { if !(int32((*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2) != 0) { - p = tcl.XTcl_NewStringObj(tls, ts+36913 /* "array names" */, -1) + p = tcl.XTcl_NewStringObj(tls, ts+37668 /* "array names" */, -1) (*Tcl_Obj)(unsafe.Pointer(p)).FrefCount++ tcl.XTcl_ListObjAppendElement(tls, uintptr(0), p, pObj) tcl.XTcl_EvalObjEx(tls, interp, p, TCL_EVAL_GLOBAL) @@ -76449,7 +78000,7 @@ func tclvarNext(tls *libc.TLS, cur uintptr) int32 { /* test_tclvar.c:168:12: */ func tclvarFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* test_tclvar.c:188:12: */ var pCur uintptr = pVtabCursor var interp uintptr = (*tclvar_vtab)(unsafe.Pointer((*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab)).Finterp - var p uintptr = tcl.XTcl_NewStringObj(tls, ts+36925 /* "tclvar_filter_cm..." */, -1) + var p uintptr = tcl.XTcl_NewStringObj(tls, ts+37680 /* "tclvar_filter_cm..." */, -1) var zEq uintptr = ts + 489 /* "" */ var zMatch uintptr = ts + 489 /* "" */ @@ -76567,7 +78118,7 @@ func tclvarColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* t { var z3 uintptr if *(*uintptr)(unsafe.Pointer(bp + 20 /* p2 */)) != 0 { - z3 = sqlite3.Xsqlite3_mprintf(tls, ts+36943 /* "%s(%s)" */, libc.VaList(bp, z1, z2)) + z3 = sqlite3.Xsqlite3_mprintf(tls, ts+37698 /* "%s(%s)" */, libc.VaList(bp, z1, z2)) sqlite3.Xsqlite3_result_text(tls, ctx, z3, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) } else { sqlite3.Xsqlite3_result_text(tls, ctx, z1, -1, libc.UintptrFromInt32(-1)) @@ -76622,7 +78173,7 @@ func tclvarSetOmit(tls *libc.TLS, interp uintptr) int32 { /* test_tclvar.c:324:1 *(*int32)(unsafe.Pointer(bp /* res */)) = 0 var pRes uintptr rc = tcl.XTcl_Eval(tls, interp, - ts+36950 /* "expr {[info exis..." */) + ts+37705 /* "expr {[info exis..." */) if rc == TCL_OK { pRes = tcl.XTcl_GetObjResult(tls, interp) rc = tcl.XTcl_GetBooleanFromObj(tls, uintptr(0), pRes, bp /* &res */) @@ -76719,7 +78270,7 @@ func tclvarUpdate(tls *libc.TLS, tab uintptr, argc int32, argv uintptr, pRowid u var zValue uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 4*4))) var zName uintptr if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 5*4))) != SQLITE_TEXT { - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37011 /* "the 'fullname' c..." */, 0) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37766 /* "the 'fullname' c..." */, 0) return SQLITE_ERROR } zName = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 5*4))) @@ -76745,7 +78296,7 @@ func tclvarUpdate(tls *libc.TLS, tab uintptr, argc int32, argv uintptr, pRowid u } return SQLITE_OK } - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37046 /* "prohibited TCL v..." */, 0) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37801 /* "prohibited TCL v..." */, 0) return SQLITE_ERROR } @@ -76782,10 +78333,10 @@ func register_tclvar_module(tls *libc.TLS, clientData ClientData, interp uintptr if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+29292 /* "tclvar" */, uintptr(unsafe.Pointer(&tclvarModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30054 /* "tclvar" */, uintptr(unsafe.Pointer(&tclvarModule)), interp) rc = tcl.XTcl_Eval(tls, interp, - ts+37077 /* "proc like {patte..." */) + ts+37832 /* "proc like {patte..." */) return rc } @@ -76808,7 +78359,7 @@ var aObjCmd13 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 37613 /* "register_tclvar_..." */, FxProc: 0}, + {FzName: ts + 38368 /* "register_tclvar_..." */, FxProc: 0}, } /* test_tclvar.c:552:5 */ // Define some macros helping to catch buffer overflows. @@ -76889,21 +78440,21 @@ func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) { /* test_thread.c:11 var p uintptr = pSqlThread interp = tcl.XTcl_CreateInterp(tls) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37636 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38391 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{clock_seconds_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37650 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38405 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_proc})), pSqlThread, uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37660 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38415 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_step_proc})), uintptr(0), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37682 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38437 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(1), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37710 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38465 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(0), uintptr(0)) Sqlitetest1_Init(tls, interp) @@ -76929,7 +78480,7 @@ func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) { /* test_thread.c:11 pList = tcl.XTcl_NewObj(tls) } - tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+37741 /* "set" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+38496 /* "set" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, (*SqlThread)(unsafe.Pointer(p)).FzVarname, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pList, pRes) postToParent(tls, p, pList) @@ -76997,7 +78548,7 @@ func sqlthread_spawn(tls *libc.TLS, clientData ClientData, interp uintptr, objc rc = tcl.XTcl_CreateThread(tls, bp+24 /* &x */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, ClientData) }{tclScriptThread})), pNew, nStack, flags) if rc != TCL_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37745 /* "Error in Tcl_Cre..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38500 /* "Error in Tcl_Cre..." */, 0)) tcl.XTcl_Free(tls, pNew) return TCL_ERROR } @@ -77027,7 +78578,7 @@ func sqlthread_parent(tls *libc.TLS, clientData ClientData, interp uintptr, objc _ = objc if p == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37773 /* "no parent thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38528 /* "no parent thread" */, 0)) return TCL_ERROR } @@ -77113,16 +78664,16 @@ func sqlthread_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc i FnArg int32 FzUsage uintptr }{ - {FzName: ts + 37790 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 38545 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_parent})), FnArg: 1, FzUsage: ts + 11583 /* "SCRIPT" */}, - {FzName: ts + 37797 /* "spawn" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_parent})), FnArg: 1, FzUsage: ts + 10650 /* "SCRIPT" */}, + {FzName: ts + 38552 /* "spawn" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_spawn})), FnArg: 2, FzUsage: ts + 37803 /* "VARNAME SCRIPT" */}, - {FzName: ts + 36407 /* "open" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_spawn})), FnArg: 2, FzUsage: ts + 38558 /* "VARNAME SCRIPT" */}, + {FzName: ts + 37162 /* "open" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_open})), FnArg: 1, FzUsage: ts + 37818 /* "DBNAME" */}, - {FzName: ts + 37825 /* "id" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_open})), FnArg: 1, FzUsage: ts + 38573 /* "DBNAME" */}, + {FzName: ts + 38580 /* "id" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_id})), FzUsage: ts + 489 /* "" */}, {}, @@ -77314,7 +78865,7 @@ func blocking_step_proc(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -77344,8 +78895,8 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, var isBlocking int32 = libc.BoolInt32(!(clientData == uintptr(0))) if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp+80 /* &db */) != 0 { @@ -77370,7 +78921,7 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+37828 /* "%s " */, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+38583 /* "%s " */, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+96 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -77390,21 +78941,21 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, // Register commands with the TCL interpreter. func SqlitetestThread_Init(tls *libc.TLS, interp uintptr) int32 { /* test_thread.c:619:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+37650 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38405 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37636 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38391 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{clock_seconds_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37660 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38415 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_step_proc})), uintptr(0), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37682 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38437 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(1), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37710 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38465 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(0), uintptr(0)) return TCL_OK @@ -77521,13 +79072,13 @@ func tvfsResultCode(tls *libc.TLS, p uintptr, pRc uintptr) int32 { /* test_vfs.c *(*[9]errcode)(unsafe.Pointer(bp /* aCode */)) = [9]errcode{ {FzCode: ts + 1988 /* "SQLITE_OK" */}, {FeCode: SQLITE_ERROR, FzCode: ts + 1975 /* "SQLITE_ERROR" */}, - {FeCode: SQLITE_IOERR, FzCode: ts + 37832 /* "SQLITE_IOERR" */}, - {FeCode: SQLITE_LOCKED, FzCode: ts + 37845 /* "SQLITE_LOCKED" */}, - {FeCode: SQLITE_BUSY, FzCode: ts + 37859 /* "SQLITE_BUSY" */}, - {FeCode: SQLITE_READONLY, FzCode: ts + 37871 /* "SQLITE_READONLY" */}, - {FeCode: (SQLITE_READONLY | (int32(5) << 8)), FzCode: ts + 37887 /* "SQLITE_READONLY_..." */}, - {FeCode: SQLITE_NOTFOUND, FzCode: ts + 37912 /* "SQLITE_NOTFOUND" */}, - {FeCode: -1, FzCode: ts + 37928 /* "SQLITE_OMIT" */}, + {FeCode: SQLITE_IOERR, FzCode: ts + 38587 /* "SQLITE_IOERR" */}, + {FeCode: SQLITE_LOCKED, FzCode: ts + 38600 /* "SQLITE_LOCKED" */}, + {FeCode: SQLITE_BUSY, FzCode: ts + 38614 /* "SQLITE_BUSY" */}, + {FeCode: SQLITE_READONLY, FzCode: ts + 38626 /* "SQLITE_READONLY" */}, + {FeCode: (SQLITE_READONLY | (int32(5) << 8)), FzCode: ts + 38642 /* "SQLITE_READONLY_..." */}, + {FeCode: SQLITE_NOTFOUND, FzCode: ts + 38667 /* "SQLITE_NOTFOUND" */}, + {FeCode: -1, FzCode: ts + 38683 /* "SQLITE_OMIT" */}, } var z uintptr var i int32 @@ -77606,7 +79157,7 @@ func tvfsClose(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:317:12: */ var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_CLOSE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34930, /* "xClose" */ + tvfsExecTcl(tls, p, ts+35685, /* "xClose" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) } @@ -77637,7 +79188,7 @@ func tvfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqli var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_READ_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34937, /* "xRead" */ + tvfsExecTcl(tls, p, ts+35692, /* "xRead" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -77660,7 +79211,7 @@ func tvfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sql var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_WRITE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34943, /* "xWrite" */ + tvfsExecTcl(tls, p, ts+35698, /* "xWrite" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewWideIntObj(tls, iOfst), tcl.XTcl_NewIntObj(tls, iAmt)) tvfsResultCode(tls, p, bp /* &rc */) @@ -77692,7 +79243,7 @@ func tvfsTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 { /* te var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_TRUNCATE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34950, /* "xTruncate" */ + tvfsExecTcl(tls, p, ts+35705, /* "xTruncate" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -77717,26 +79268,26 @@ func tvfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* test_vfs.c:4 switch flags { case SQLITE_SYNC_NORMAL: - zFlags = ts + 16088 /* "normal" */ + zFlags = ts + 16869 /* "normal" */ break fallthrough case SQLITE_SYNC_FULL: - zFlags = ts + 17949 /* "full" */ + zFlags = ts + 18730 /* "full" */ break fallthrough case (SQLITE_SYNC_NORMAL | SQLITE_SYNC_DATAONLY): - zFlags = ts + 37940 /* "normal|dataonly" */ + zFlags = ts + 38695 /* "normal|dataonly" */ break fallthrough case (SQLITE_SYNC_FULL | SQLITE_SYNC_DATAONLY): - zFlags = ts + 37956 /* "full|dataonly" */ + zFlags = ts + 38711 /* "full|dataonly" */ break fallthrough default: } - tvfsExecTcl(tls, p, ts+27353, /* "xSync" */ + tvfsExecTcl(tls, p, ts+28129, /* "xSync" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewStringObj(tls, zFlags, -1), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) @@ -77770,7 +79321,7 @@ func tvfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c:4 // var zLock [30]int8 at bp+8, 30 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) - tvfsExecTcl(tls, p, ts+34970 /* "xLock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+35725 /* "xLock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, bp+8 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } return sqlite3.Xsqlite3OsLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, eLock) @@ -77787,7 +79338,7 @@ func tvfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c // var zLock [30]int8 at bp+8, 30 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) - tvfsExecTcl(tls, p, ts+34976 /* "xUnlock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+35731 /* "xUnlock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, bp+8 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } if (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_WRITE_MASK) != 0) && (tvfsInjectIoerr(tls, p) != 0) { @@ -77801,7 +79352,7 @@ func tvfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_CKLOCK_MASK) != 0) { - tvfsExecTcl(tls, p, ts+37970 /* "xCheckReservedLo..." */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+38725 /* "xCheckReservedLo..." */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) } return sqlite3.Xsqlite3OsCheckReservedLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, pResOut) @@ -77843,9 +79394,9 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_FCNTL_MASK) != 0) { *(*[3]Fcntl)(unsafe.Pointer(bp + 16 /* aF */)) = [3]Fcntl{ - {FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 37989 /* "BEGIN_ATOMIC_WRI..." */}, - {FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 38008 /* "COMMIT_ATOMIC_WR..." */}, - {FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 38028 /* "ZIPVFS" */}, + {FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 38744 /* "BEGIN_ATOMIC_WRI..." */}, + {FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 38763 /* "COMMIT_ATOMIC_WR..." */}, + {FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 38783 /* "ZIPVFS" */}, } var i int32 for i = 0; uint32(i) < (uint32(unsafe.Sizeof([3]Fcntl{})) / uint32(unsafe.Sizeof(Fcntl{}))); i++ { @@ -77855,7 +79406,7 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } if uint32(i) < (uint32(unsafe.Sizeof([3]Fcntl{})) / uint32(unsafe.Sizeof(Fcntl{}))) { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = 0 - tvfsExecTcl(tls, p, ts+34998, /* "xFileControl" */ + tvfsExecTcl(tls, p, ts+35753, /* "xFileControl" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, (*Fcntl)(unsafe.Pointer(bp+16 /* &aF */ +uintptr(i)*8)).FzFnctl, -1), uintptr(0), uintptr(0)) @@ -77941,7 +79492,7 @@ func tvfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i z += (uintptr(libc.Xstrlen(tls, z) + size_t(1))) } } - tvfsExecTcl(tls, p, ts+26925 /* "xOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), pArg, uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+27701 /* "xOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), pArg, uintptr(0), uintptr(0)) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pArg if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -77968,7 +79519,7 @@ func tvfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i } if !(pId != 0) { - pId = tcl.XTcl_NewStringObj(tls, ts+38035 /* "anon" */, -1) + pId = tcl.XTcl_NewStringObj(tls, ts+38790 /* "anon" */, -1) } (*Tcl_Obj)(unsafe.Pointer(pId)).FrefCount++ (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId = pId @@ -78014,7 +79565,7 @@ func tvfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 var p uintptr = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_DELETE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35035, /* "xDelete" */ + tvfsExecTcl(tls, p, ts+35790, /* "xDelete" */ tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewIntObj(tls, dirSync), uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -78036,15 +79587,15 @@ func tvfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut var zArg uintptr = uintptr(0) if flags == SQLITE_ACCESS_EXISTS { - zArg = ts + 38040 /* "SQLITE_ACCESS_EX..." */ + zArg = ts + 38795 /* "SQLITE_ACCESS_EX..." */ } if flags == SQLITE_ACCESS_READWRITE { - zArg = ts + 38061 /* "SQLITE_ACCESS_RE..." */ + zArg = ts + 38816 /* "SQLITE_ACCESS_RE..." */ } if flags == SQLITE_ACCESS_READ { - zArg = ts + 38085 /* "SQLITE_ACCESS_RE..." */ + zArg = ts + 38840 /* "SQLITE_ACCESS_RE..." */ } - tvfsExecTcl(tls, p, ts+35043, /* "xAccess" */ + tvfsExecTcl(tls, p, ts+35798, /* "xAccess" */ tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewStringObj(tls, zArg, -1), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { @@ -78071,7 +79622,7 @@ func tvfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_FULLPATHNAME_MASK) != 0) { // var rc int32 at bp, 4 - tvfsExecTcl(tls, p, ts+35051 /* "xFullPathname" */, tcl.XTcl_NewStringObj(tls, zPath, -1), uintptr(0), uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+35806 /* "xFullPathname" */, tcl.XTcl_NewStringObj(tls, zPath, -1), uintptr(0), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -78115,7 +79666,7 @@ func tvfsShmOpen(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:827:12: */ // SCRIPT xShmOpen FILENAME tcl.XTcl_ResetResult(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp) if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMOPEN_MASK) != 0) { - tvfsExecTcl(tls, p, ts+38104 /* "xShmOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+38859 /* "xShmOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -78186,7 +79737,7 @@ func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite i tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, iPage)) tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, pgsz)) tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, isWrite)) - tvfsExecTcl(tls, p, ts+35128, /* "xShmMap" */ + tvfsExecTcl(tls, p, ts+35883, /* "xShmMap" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, pArg, uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) for ok := true; ok; ok = 0 != 0 { @@ -78226,20 +79777,20 @@ func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMLOCK_MASK) != 0) { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+16 /* &zLock[0] */, ts+17484 /* "%d %d" */, libc.VaList(bp, ofst, n)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+16 /* &zLock[0] */, ts+18265 /* "%d %d" */, libc.VaList(bp, ofst, n)) nLock = int32(libc.Xstrlen(tls, bp+16 /* &zLock[0] */)) if (flags & SQLITE_SHM_LOCK) != 0 { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38113 /* " lock" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38868 /* " lock" */) } else { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38119 /* " unlock" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38874 /* " unlock" */) } nLock = nLock + (int32(libc.Xstrlen(tls, (bp + 16 /* &zLock */ + uintptr(nLock))))) if (flags & SQLITE_SHM_SHARED) != 0 { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38127 /* " shared" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38882 /* " shared" */) } else { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38135 /* " exclusive" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38890 /* " exclusive" */) } - tvfsExecTcl(tls, p, ts+35107, /* "xShmLock" */ + tvfsExecTcl(tls, p, ts+35862, /* "xShmLock" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewStringObj(tls, bp+16 /* &zLock[0] */, -1), uintptr(0)) tvfsResultCode(tls, p, bp+96 /* &rc */) @@ -78296,7 +79847,7 @@ func tvfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_vfs.c:1004:13: */ } else { z = ts + 489 /* "" */ } - tvfsExecTcl(tls, p, ts+35116 /* "xShmBarrier" */, tcl.XTcl_NewStringObj(tls, z, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+35871 /* "xShmBarrier" */, tcl.XTcl_NewStringObj(tls, z, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) } if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { @@ -78326,7 +79877,7 @@ func tvfsShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* tes } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMCLOSE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35097, /* "xShmUnmap" */ + tvfsExecTcl(tls, p, ts+35852, /* "xShmUnmap" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -78369,15 +79920,15 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o var p uintptr = cd *(*[10]TestvfsSubcmd)(unsafe.Pointer(bp + 96 /* aSubcmd */)) = [10]TestvfsSubcmd{ - {FzName: ts + 38146 /* "shm" */}, - {FzName: ts + 38150 /* "delete" */, FeCmd: uint32(1) /* CMD_DELETE */}, - {FzName: ts + 38157 /* "filter" */, FeCmd: uint32(2) /* CMD_FILTER */}, - {FzName: ts + 38164 /* "ioerr" */, FeCmd: uint32(3) /* CMD_IOERR */}, - {FzName: ts + 38170 /* "fullerr" */, FeCmd: uint32(7) /* CMD_FULLERR */}, - {FzName: ts + 38178 /* "cantopenerr" */, FeCmd: uint32(8) /* CMD_CANTOPENERR */}, - {FzName: ts + 38190 /* "script" */, FeCmd: uint32(4) /* CMD_SCRIPT */}, - {FzName: ts + 38197 /* "devchar" */, FeCmd: uint32(5) /* CMD_DEVCHAR */}, - {FzName: ts + 38205 /* "sectorsize" */, FeCmd: uint32(6) /* CMD_SECTORSIZE */}, + {FzName: ts + 38901 /* "shm" */}, + {FzName: ts + 10601 /* "delete" */, FeCmd: uint32(1) /* CMD_DELETE */}, + {FzName: ts + 38905 /* "filter" */, FeCmd: uint32(2) /* CMD_FILTER */}, + {FzName: ts + 38912 /* "ioerr" */, FeCmd: uint32(3) /* CMD_IOERR */}, + {FzName: ts + 38918 /* "fullerr" */, FeCmd: uint32(7) /* CMD_FULLERR */}, + {FzName: ts + 38926 /* "cantopenerr" */, FeCmd: uint32(8) /* CMD_CANTOPENERR */}, + {FzName: ts + 38938 /* "script" */, FeCmd: uint32(4) /* CMD_SCRIPT */}, + {FzName: ts + 38945 /* "devchar" */, FeCmd: uint32(5) /* CMD_DEVCHAR */}, + {FzName: ts + 38953 /* "sectorsize" */, FeCmd: uint32(6) /* CMD_SECTORSIZE */}, {}, } // var i int32 at bp+176, 4 @@ -78387,7 +79938,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+96 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+38216 /* "subcommand" */, 0, bp+176 /* &i */) != 0 { + interp, *(*uintptr)(unsafe.Pointer(objv + 1*4)), bp+96 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+38964 /* "subcommand" */, 0, bp+176 /* &i */) != 0 { return TCL_ERROR } tcl.XTcl_ResetResult(tls, interp) @@ -78400,7 +79951,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o var pBuffer uintptr var zName uintptr if (objc != 3) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38227 /* "FILE ?VALUE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38975 /* "FILE ?VALUE?" */) return TCL_ERROR } zName = tcl.XTcl_Alloc(tls, uint32((*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname)) @@ -78408,7 +79959,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o (*Testvfs)(unsafe.Pointer(p)).FpParent, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), (*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname, zName) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38240, /* "failed to get fu..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38988, /* "failed to get fu..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) tcl.XTcl_Free(tls, zName) return TCL_ERROR @@ -78420,7 +79971,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } tcl.XTcl_Free(tls, zName) if !(pBuffer != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+38266 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+39014 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) return TCL_ERROR } if objc == 4 { @@ -78463,7 +80014,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o *(*int32)(unsafe.Pointer(bp + 184 /* nElem */)) = 0 var mask int32 = 0 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+31855 /* "LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+32617 /* "LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*4)), bp+184 /* &nElem */, bp+188 /* &apElem */) != 0 { @@ -78480,7 +80031,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } } if iMethod == (int32(uint32(unsafe.Sizeof(vfsmethod)) / uint32(unsafe.Sizeof(VfsMethod{})))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+38281 /* "unknown method: " */, zElem, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+39029 /* "unknown method: " */, zElem, 0)) return TCL_ERROR } } @@ -78513,7 +80064,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o (*Tcl_Obj)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpScript)).FrefCount++ } } else if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) return TCL_ERROR } @@ -78572,7 +80123,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o }() (*TestFaultInject)(unsafe.Pointer(pTest)).FiCnt = *(*int32)(unsafe.Pointer(bp + 196 /* iCnt */)) } else if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38298 /* "?CNT PERSIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39046 /* "?CNT PERSIST?" */) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iRet)) @@ -78590,28 +80141,28 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(5) /* CMD_DEVCHAR */ : { *(*[16]DeviceFlag)(unsafe.Pointer(bp + 212 /* aFlag */)) = [16]DeviceFlag{ - {FzName: ts + 38312 /* "default" */, FiValue: -1}, - {FzName: ts + 25907 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, - {FzName: ts + 25914 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, - {FzName: ts + 25924 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, - {FzName: ts + 25933 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, - {FzName: ts + 25942 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, - {FzName: ts + 25951 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, - {FzName: ts + 25960 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, - {FzName: ts + 25970 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, - {FzName: ts + 25980 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, - {FzName: ts + 25990 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, - {FzName: ts + 26001 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, - {FzName: ts + 38320 /* "undeletable_when..." */, FiValue: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN}, - {FzName: ts + 26013 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, - {FzName: ts + 38342 /* "immutable" */, FiValue: SQLITE_IOCAP_IMMUTABLE}, + {FzName: ts + 39060 /* "default" */, FiValue: -1}, + {FzName: ts + 26683 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, + {FzName: ts + 26690 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, + {FzName: ts + 26700 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, + {FzName: ts + 26709 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, + {FzName: ts + 26718 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, + {FzName: ts + 26727 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, + {FzName: ts + 26736 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, + {FzName: ts + 26746 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, + {FzName: ts + 26756 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, + {FzName: ts + 26766 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, + {FzName: ts + 26777 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, + {FzName: ts + 39068 /* "undeletable_when..." */, FiValue: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN}, + {FzName: ts + 26789 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, + {FzName: ts + 39090 /* "immutable" */, FiValue: SQLITE_IOCAP_IMMUTABLE}, {}, } var pRet uintptr var iFlag int32 if objc > 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38352 /* "?ATTR-LIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39100 /* "?ATTR-LIST?" */) return TCL_ERROR } if objc == 3 { @@ -78627,11 +80178,11 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o for j = 0; j < *(*int32)(unsafe.Pointer(bp + 204 /* nFlags */)); j++ { *(*int32)(unsafe.Pointer(bp + 340 /* idx */)) = 0 if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 208 /* flags */)) + uintptr(j)*4)), bp+212, /* &aFlag[0] */ - int32(unsafe.Sizeof(DeviceFlag{})), ts+17204 /* "flag" */, 0, bp+340 /* &idx */) != 0 { + int32(unsafe.Sizeof(DeviceFlag{})), ts+17985 /* "flag" */, 0, bp+340 /* &idx */) != 0 { return TCL_ERROR } if ((*DeviceFlag)(unsafe.Pointer(bp+212 /* &aFlag */ +uintptr(*(*int32)(unsafe.Pointer(bp + 340 /* idx */)))*8)).FiValue < 0) && (*(*int32)(unsafe.Pointer(bp + 204 /* nFlags */)) > 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+38364 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+39112 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))), 0)) return TCL_ERROR } iNew = iNew | ((*DeviceFlag)(unsafe.Pointer(bp + 212 /* &aFlag */ + uintptr(*(*int32)(unsafe.Pointer(bp + 340 /* idx */)))*8)).FiValue) @@ -78656,7 +80207,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(6) /* CMD_SECTORSIZE */ : { if objc > 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38376 /* "?VALUE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39124 /* "?VALUE?" */) return TCL_ERROR } if objc == 3 { @@ -78686,24 +80237,24 @@ type VfsMethod = struct { } /* test_vfs.c:1179:14 */ var vfsmethod = [18]VfsMethod{ - {FzName: ts + 38104 /* "xShmOpen" */, Fmask: TESTVFS_SHMOPEN_MASK}, - {FzName: ts + 35107 /* "xShmLock" */, Fmask: TESTVFS_SHMLOCK_MASK}, - {FzName: ts + 35116 /* "xShmBarrier" */, Fmask: TESTVFS_SHMBARRIER_MASK}, - {FzName: ts + 35097 /* "xShmUnmap" */, Fmask: TESTVFS_SHMCLOSE_MASK}, - {FzName: ts + 35128 /* "xShmMap" */, Fmask: TESTVFS_SHMMAP_MASK}, - {FzName: ts + 27353 /* "xSync" */, Fmask: TESTVFS_SYNC_MASK}, - {FzName: ts + 35035 /* "xDelete" */, Fmask: TESTVFS_DELETE_MASK}, - {FzName: ts + 34943 /* "xWrite" */, Fmask: TESTVFS_WRITE_MASK}, - {FzName: ts + 34937 /* "xRead" */, Fmask: TESTVFS_READ_MASK}, - {FzName: ts + 34950 /* "xTruncate" */, Fmask: TESTVFS_TRUNCATE_MASK}, - {FzName: ts + 26925 /* "xOpen" */, Fmask: TESTVFS_OPEN_MASK}, - {FzName: ts + 34930 /* "xClose" */, Fmask: TESTVFS_CLOSE_MASK}, - {FzName: ts + 35043 /* "xAccess" */, Fmask: TESTVFS_ACCESS_MASK}, - {FzName: ts + 35051 /* "xFullPathname" */, Fmask: TESTVFS_FULLPATHNAME_MASK}, - {FzName: ts + 34976 /* "xUnlock" */, Fmask: TESTVFS_UNLOCK_MASK}, - {FzName: ts + 34970 /* "xLock" */, Fmask: TESTVFS_LOCK_MASK}, - {FzName: ts + 37970 /* "xCheckReservedLo..." */, Fmask: TESTVFS_CKLOCK_MASK}, - {FzName: ts + 34998 /* "xFileControl" */, Fmask: TESTVFS_FCNTL_MASK}, + {FzName: ts + 38859 /* "xShmOpen" */, Fmask: TESTVFS_SHMOPEN_MASK}, + {FzName: ts + 35862 /* "xShmLock" */, Fmask: TESTVFS_SHMLOCK_MASK}, + {FzName: ts + 35871 /* "xShmBarrier" */, Fmask: TESTVFS_SHMBARRIER_MASK}, + {FzName: ts + 35852 /* "xShmUnmap" */, Fmask: TESTVFS_SHMCLOSE_MASK}, + {FzName: ts + 35883 /* "xShmMap" */, Fmask: TESTVFS_SHMMAP_MASK}, + {FzName: ts + 28129 /* "xSync" */, Fmask: TESTVFS_SYNC_MASK}, + {FzName: ts + 35790 /* "xDelete" */, Fmask: TESTVFS_DELETE_MASK}, + {FzName: ts + 35698 /* "xWrite" */, Fmask: TESTVFS_WRITE_MASK}, + {FzName: ts + 35692 /* "xRead" */, Fmask: TESTVFS_READ_MASK}, + {FzName: ts + 35705 /* "xTruncate" */, Fmask: TESTVFS_TRUNCATE_MASK}, + {FzName: ts + 27701 /* "xOpen" */, Fmask: TESTVFS_OPEN_MASK}, + {FzName: ts + 35685 /* "xClose" */, Fmask: TESTVFS_CLOSE_MASK}, + {FzName: ts + 35798 /* "xAccess" */, Fmask: TESTVFS_ACCESS_MASK}, + {FzName: ts + 35806 /* "xFullPathname" */, Fmask: TESTVFS_FULLPATHNAME_MASK}, + {FzName: ts + 35731 /* "xUnlock" */, Fmask: TESTVFS_UNLOCK_MASK}, + {FzName: ts + 35725 /* "xLock" */, Fmask: TESTVFS_LOCK_MASK}, + {FzName: ts + 38725 /* "xCheckReservedLo..." */, Fmask: TESTVFS_CKLOCK_MASK}, + {FzName: ts + 35753 /* "xFileControl" */, Fmask: TESTVFS_FCNTL_MASK}, } /* test_vfs.c:1182:9 */ func testvfs_obj_del(tls *libc.TLS, cd ClientData) { /* test_vfs.c:1393:27: */ @@ -78801,7 +80352,7 @@ __2: } zSwitch = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*4)), bp /* &nSwitch */) - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38384 /* "-noshm" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39132 /* "-noshm" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __5 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*4)), bp+4 /* &isNoshm */) != 0) { @@ -78818,7 +80369,7 @@ __8: ; goto __6 __5: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+26283 /* "-default" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+27059 /* "-default" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __9 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*4)), bp+8 /* &isDefault */) != 0) { @@ -78829,7 +80380,7 @@ __11: ; goto __10 __9: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38391 /* "-szosfile" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39139 /* "-szosfile" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __12 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*4)), bp+12 /* &szOsFile */) != 0) { @@ -78840,7 +80391,7 @@ __14: ; goto __13 __12: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38401 /* "-mxpathname" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39149 /* "-mxpathname" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __15 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*4)), bp+16 /* &mxPathname */) != 0) { @@ -78851,7 +80402,7 @@ __17: ; goto __16 __15: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38413 /* "-iversion" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39161 /* "-iversion" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __18 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*4)), bp+20 /* &iVersion */) != 0) { @@ -78862,7 +80413,7 @@ __20: ; goto __19 __18: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38423 /* "-fullshm" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39171 /* "-fullshm" */, zSwitch, uint32(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __21 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*4)), bp+24 /* &isFullshm */) != 0) { @@ -78951,7 +80502,7 @@ __26: return TCL_OK bad_args: - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38432 /* "VFSNAME ?-noshm ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39180 /* "VFSNAME ?-noshm ..." */) return TCL_ERROR } @@ -78971,8 +80522,8 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in bp := tls.Alloc(48) defer tls.Free(48) - *(*[3]uintptr)(unsafe.Pointer(bp + 4 /* azArg1 */)) = [3]uintptr{ts + 38536 /* "shared" */, ts + 13658 /* "exclusive" */, uintptr(0)} - *(*[3]uintptr)(unsafe.Pointer(bp + 20 /* azArg2 */)) = [3]uintptr{ts + 38543 /* "lock" */, ts + 38548 /* "unlock" */, uintptr(0)} + *(*[3]uintptr)(unsafe.Pointer(bp + 4 /* azArg1 */)) = [3]uintptr{ts + 39284 /* "shared" */, ts + 14439 /* "exclusive" */, uintptr(0)} + *(*[3]uintptr)(unsafe.Pointer(bp + 20 /* azArg2 */)) = [3]uintptr{ts + 39291 /* "lock" */, ts + 39296 /* "unlock" */, uintptr(0)} *(*uintptr)(unsafe.Pointer(bp /* db */)) = uintptr(0) var rc int32 = SQLITE_OK var zDbname uintptr = uintptr(0) @@ -78984,14 +80535,14 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in if objc != 7 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+38555 /* "DB DBNAME (share..." */) + ts+39303 /* "DB DBNAME (share..." */) return TCL_ERROR } zDbname = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*4))) if ((((getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*4))), bp /* &db */) != 0) || - (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+4 /* &azArg1[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+38607 /* "ARG" */, 0, bp+16 /* &iArg1 */) != 0)) || - (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*4)), bp+20 /* &azArg2[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+38607 /* "ARG" */, 0, bp+32 /* &iArg2 */) != 0)) || + (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*4)), bp+4 /* &azArg1[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+39355 /* "ARG" */, 0, bp+16 /* &iArg1 */) != 0)) || + (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*4)), bp+20 /* &azArg2[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+39355 /* "ARG" */, 0, bp+32 /* &iArg2 */) != 0)) || (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*4)), bp+36 /* &iOffset */) != 0)) || (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 6*4)), bp+40 /* &n */) != 0) { return TCL_ERROR @@ -79034,7 +80585,7 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob var iOff int32 if (objc != 4) && (objc != 5) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38611 /* "DB DBNAME SLOT ?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39359 /* "DB DBNAME SLOT ?..." */) return TCL_ERROR } @@ -79055,7 +80606,7 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob return TCL_ERROR } if libc.AtomicLoadPUintptr(bp+32 /* pShm */) == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38634 /* "*-shm is not yet..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+39382 /* "*-shm is not yet..." */, 0)) return TCL_ERROR } aShm = libc.AtomicLoadPUintptr(bp + 32 /* pShm */) @@ -79070,13 +80621,13 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob } func Sqlitetestvfs_Init(tls *libc.TLS, interp uintptr) int32 { /* test_vfs.c:1685:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+38658 /* "testvfs" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39406 /* "testvfs" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{testvfs_cmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+38666 /* "vfs_shmlock" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39414 /* "vfs_shmlock" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfs_shmlock})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+38678 /* "vfs_set_readmark" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39426 /* "vfs_set_readmark" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfs_set_readmark})), uintptr(0), uintptr(0)) return TCL_OK @@ -79239,7 +80790,7 @@ func test_create_window(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 7 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38695 /* "DB NAME XSTEP XF..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39443 /* "DB NAME XSTEP XF..." */) return TCL_ERROR } @@ -79297,7 +80848,7 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowInverse})), @@ -79308,7 +80859,7 @@ __2: goto error __3: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct { @@ -79321,7 +80872,7 @@ __3: goto error __4: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { @@ -79334,7 +80885,7 @@ __4: goto error __5: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), uintptr(0), @@ -79349,7 +80900,7 @@ __6: return TCL_OK error: - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+38736 /* "misuse test erro..." */, -1)) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+39484 /* "misuse test erro..." */, -1)) return TCL_ERROR } @@ -79358,7 +80909,7 @@ func sumintStep(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* test var pInt uintptr if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_INTEGER { - sqlite3.Xsqlite3_result_error(tls, ctx, ts+38754 /* "invalid argument" */, -1) + sqlite3.Xsqlite3_result_error(tls, ctx, ts+39502 /* "invalid argument" */, -1) return } pInt = sqlite3.Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(sqlite3_int64(0)))) @@ -79412,7 +80963,7 @@ func test_create_sumint(tls *libc.TLS, clientData uintptr, interp uintptr, objc return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38771 /* "sumint" */, 1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39519 /* "sumint" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintValue})), *(*uintptr)(unsafe.Pointer(&struct { @@ -79443,7 +80994,7 @@ func test_override_sum(tls *libc.TLS, clientData uintptr, interp uintptr, objc i return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38778 /* "sum" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39526 /* "sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal}))) @@ -79473,10 +81024,10 @@ var aObjCmd14 = [4]struct { FxProc uintptr FclientData int32 }{ - {FzName: ts + 38782 /* "sqlite3_create_w..." */, FxProc: 0}, - {FzName: ts + 38813 /* "test_create_wind..." */, FxProc: 0}, - {FzName: ts + 38848 /* "test_create_sumi..." */, FxProc: 0}, - {FzName: ts + 38867 /* "test_override_su..." */, FxProc: 0}, + {FzName: ts + 39530 /* "sqlite3_create_w..." */, FxProc: 0}, + {FzName: ts + 39561 /* "test_create_wind..." */, FxProc: 0}, + {FzName: ts + 39596 /* "test_create_sumi..." */, FxProc: 0}, + {FzName: ts + 39615 /* "test_override_su..." */, FxProc: 0}, } /* test_window.c:336:5 */ // 2008 September 1 @@ -80867,5 +82418,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&zipfileModule)) + 72 /* .xFindFunction */)) = zipfileFindFunction // zipfile.c:2167:5: } -var ts1 = "%s\x00internal error!\x00SELECT * FROM main.%Q WHERE sample()\x00expert\x00PRAGMA table_xinfo=%Q\x00main\x00, \x00%Q\x00 COLLATE %Q\x00 COLLATE %s\x00 DESC\x00PRAGMA index_list=%Q\x00PRAGMA index_xInfo=%Q\x00%s_idx_%08x\x00CREATE INDEX '%q' ON %Q(%s)\x00CREATE INDEX %s ON %s(%s)\x00EXPLAIN QUERY PLAN %s\x00 USING INDEX \x00 USING COVERING INDEX \x00%s\n\x00%s;\n\x00SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_schema WHERE tbl_name = %Q AND type IN ('table', 'trigger') ORDER BY type;\x00ALTER TABLE temp.%Q RENAME TO %Q\x00INSERT INTO %Q VALUES(\x00%s?\x00\x00)\x00UPDATE %Q SET \x00%s%Q=?\x00DELETE FROM %Q\x00t592690916721053953805701627921227776\x00DROP TABLE t592690916721053953805701627921227776\x00SELECT type, name, sql, 1 FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%' UNION ALL SELECT type, name, sql, 2 FROM sqlite_schema WHERE type = 'trigger' AND tbl_name IN(SELECT name FROM sqlite_schema WHERE type = 'view') ORDER BY 4, 1\x00CREATE TABLE x(\x00%s%Q COLLATE %s\x00CREATE VIRTUAL TABLE %Q USING expert(%Q)\x00SELECT max(i.seqno) FROM sqlite_schema AS s, pragma_index_list(s.name) AS l, pragma_index_info(l.name) AS i WHERE s.type = 'table'\x00%sx.%Q IS rem(%d, x.%Q) COLLATE %s\x00%s%d\x00SELECT %s FROM %Q x ORDER BY %s\x00SELECT %s FROM temp.t592690916721053953805701627921227776 x ORDER BY %s\x00%d\x00 %d\x00DROP TABLE IF EXISTS temp.t592690916721053953805701627921227776\x00CREATE TABLE temp.t592690916721053953805701627921227776 AS SELECT * FROM %Q\x00SELECT s.rowid, s.name, l.name FROM sqlite_schema AS s, pragma_index_list(s.name) AS l WHERE s.type = 'table'\x00SELECT name, coll FROM pragma_index_xinfo(?) WHERE key\x00INSERT INTO sqlite_stat1 VALUES(?, ?, ?)\x00ANALYZE; PRAGMA writable_schema=1\x00rem\x00sample\x00ANALYZE sqlite_schema\x00:memory:\x00SELECT sql FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%%' AND sql NOT LIKE 'CREATE VIRTUAL %%'\x00%s;%s%s\n\x00 -- stat1: \x00no such handle: \x00sql\x00TABLE\x00analyze\x00count\x00report\x00STMT EREPORT\x00destroy\x00SUBCOMMAND ...\x00sub-command\x00indexes\x00plan\x00candidates\x00DB\x00sqlite3expert%d\x00out of memory\x00sqlite3_expert_new\x00SQLITE_DONE\x00SQLITE_ERROR\x00SQLITE_OK\x00SELECT fts5(?1)\x00error: \x00fts5_api_ptr\x00f5t_2_%lld\x00xColumnCount\x00xRowCount\x00xColumnTotalSize\x00COL\x00xTokenize\x00TEXT SCRIPT\x00xPhraseCount\x00xPhraseSize\x00PHRASE\x00xInstCount\x00xInst\x00IDX\x00xRowid\x00xColumnText\x00xColumnSize\x00xQueryPhrase\x00PHRASE SCRIPT\x00xSetAuxdata\x00VALUE\x00xGetAuxdata\x00CLEAR\x00xSetAuxdataInt\x00INTEGER\x00xGetAuxdataInt\x00xPhraseForeach\x00IPHRASE COLVAR OFFVAR SCRIPT\x00xPhraseColumnForeach\x00IPHRASE COLVAR SCRIPT\x00SUB-COMMAND\x00f5t_%lld\x00bytearray\x00boolean\x00double\x00wideInt\x00int\x00DB NAME SCRIPT\x00?-subst? DB NAME TEXT\x00-subst\x00unrecognized option: \x00no such tokenizer: \x00error in tokenizer.xCreate()\x00error in tokenizer.xTokenize()\x00document\x00aux\x00query\x00prefixquery\x00invalid\x00-colocated\x00sqlite3_fts5_token may only be used by tokenizer callback\x00?-colocated? TEXT START END\x00error in fts5_api.xCreateTokenizer()\x00NSLOT TOKEN\x00sqlite3_fts5_create_tokenizer\x00sqlite3_fts5_token\x00sqlite3_fts5_tokenize\x00sqlite3_fts5_create_function\x00sqlite3_fts5_may_be_corrupt\x00sqlite3_fts5_token_hash\x00sqlite3_fts5_register_matchinfo\x00sqlite3_fts5_register_fts5tokenize\x00unrecognized matchinfo flag: %c\x00pcx\x00matchinfo\x00CREATE TABLE x(input HIDDEN, token, start, end, position)\x00fts5tokenize\x00apndvfs\x00Start-Of-SQLite3-\x00apnd(%lld)/%z\x00SQLite format 3\x00%s: cost must be between 1 and %d\x00%s: maximum string length is %d\x00%s: iLang must be between 0 and %d\x00?\x00SELECT * FROM %Q.%Q\x00%s: %s\x00%s: %s has %d columns, expected 4\x00vocabulary_table\x00vocabulary_word\x00vocabulary_language\x00edit_distances\x00unrecognized argument: [%s]\n\x00no edit_distances table specified\x00CREATE TABLE x(word,distance,language,command HIDDEN,nword HIDDEN)\x000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^abcdefghijklmnopqrstuvwxyz~\x00SELECT \"%w\" FROM \"%w\"\x00 WHERE \"%w\">=?1 AND \"%w\"=?2 ORDER BY 1\x00SELECT \"%w\" FROM \"%w\" WHERE \"%w\">=?1 ORDER BY 1\x00*\x00DELETE from %s is not allowed\x00UPDATE of %s is not allowed\x00INSERT INTO %s allowed for column [command] only\x00approximate_match\x00int32\x00int64\x00char*\x00CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)\x00carray-bind\x00carray\x00unknown datatype: %Q\x00inttoptr\x00cksmvfs\x00ZV-\x00checksum fault offset %lld of \"%s\"\x00checksum_verification\x00enable%\x00yes\x00on\x00page_size\x00cksm/%z\x00verify_checksum\x00tablename\x00idcolumn\x00parentcolumn\x00CREATE TABLE x(id,depth,root HIDDEN,tablename HIDDEN,idcolumn HIDDEN,parentcolumn HIDDEN)\x00SELECT \"%w\".\"%w\" FROM \"%w\" WHERE \"%w\".\"%w\"=?1\x00transitive_closure\x00rb\x00cannot open '%s' for reading\x00line %d: unescaped %c character\x00line %d: unterminated %c-quoted field\n\x00more than one '%s' parameter\x00true\x00no\x00off\x00false\x00header\x00more than one 'header' parameter\x00testflags\x00columns\x00more than one 'columns' parameter\x00column= value must be positive\x00bad parameter: '%s'\x00must specify either filename= or data= but not both\x00%sc%d TEXT\x00,\x00%s\"%w\" TEXT\x00bad schema: '%s' - %s\x00filename\x00data\x00schema\x00csv\x00csv_wr\x00decimal_sum\x00decimal\x00decimal_cmp\x00decimal_add\x00decimal_sub\x00decimal_mul\x00 \x00eval\x00CREATE TABLE x(addr,opcode,p1,p2,p3,p4,p5,comment,sql HIDDEN)\x00EXPLAIN %s\x00explain\x00wb\x00wrong number of arguments to function writefile()\x00failed to create symlink: %s\x00failed to create directory: %s\x00failed to write file: %s\x00CREATE TABLE x(name,mode,mtime,data,path HIDDEN,dir HIDDEN)\x00cannot read directory: %s\x00%s/%s\x00cannot stat file: %s\x00table function fsdir requires an argument\x00table function fsdir requires a non-NULL argument\x00fsdir\x00readfile\x00writefile\x00lsmode\x00%s: ruleset must be between 0 and %d\x00%s: wrong number of CREATE VIRTUAL TABLE arguments\x00CREATE TABLE x(word,distance,ruleset)\x00fuzzer\x00ieee754(%lld,%d)\x00ieee754\x00ieee754_mantissa\x00ieee754_exponent\x00ieee754_to_blob\x00ieee754_from_blob\x00BEGIN; SELECT * FROM %s%q%ssqlite_schema\x00'\x00'.\x00PRAGMA %s%q%spage_size\x00sqlite3_mmap_warm_cache: Warmed up %d pages of %s\x00END\x00AND (%s)\x00collate \"%w\"\x00SELECT %s FROM %s WHERE %s>=(?1 || ?2) %s AND %s<=(?1 || char(1114111)) %s %s ORDER BY 1 %s ASC LIMIT 1\x00next_char\x00NULL\x00is\x00not\x00in(\x00in(select\x00in(with\x00?,?,?\x002nd argument to percentile() is not a number between 0.0 and 100.0\x002nd argument to percentile() is not the same for all input rows\x001st argument to percentile() is not numeric\x00Inf input to percentile()\x00percentile\x00CREATE TABLE prefixes(prefix TEXT, original_string TEXT HIDDEN)\x00prefixes\x00prefix_length\x00unknown \\ escape\x00afnrtv\\()*.+?[$^{|}]\x00\a\f\n\r\t\v\x00unmatched '('\x00'*' without operand\x00'+' without operand\x00'?' without operand\x00'{m,n}' without operand\x00unmatched '{'\x00n less than m in '{m,n}'\x00both m and n are zero in '{m,n}'\x00POSIX character classes not supported\x00unclosed '['\x00unrecognized character\x00regexp\x00regexpi\x00remember\x00CREATE TABLE x(value,start hidden,stop hidden,step hidden)\x00generate_series() requires SQLite 3.8.12 or later\x00generate_series\x00.ABCDHLRMY9 ?\x00non-ASCII input to editdist()\x00NULL input to editdist()\x00SELECT iLang, cFrom, cTo, iCost FROM \"%w\" WHERE iLang>=0 ORDER BY iLang\x00editdist3\x00DROP TABLE IF EXISTS \"%w\".\"%w_vocab\"\x00CREATE TABLE x(word,rank,distance,langid, score, matchlen, phonehash HIDDEN, top HIDDEN, scope HIDDEN, srchcnt HIDDEN, soundslike HIDDEN, command HIDDEN)\x00CREATE TABLE IF NOT EXISTS \"%w\".\"%w_vocab\"(\n id INTEGER PRIMARY KEY,\n rank INT,\n langid INT,\n word TEXT,\n k1 TEXT,\n k2 TEXT\n);\n\x00CREATE INDEX IF NOT EXISTS \"%w\".\"%w_vocab_index_langid_k2\" ON \"%w_vocab\"(langid,k2);\x00edit_cost_table=\x00bad argument to spellfix1(): \"%s\"\x00SELECT id, word, rank, coalesce(k1,word) FROM \"%w\".\"%w_vocab\" WHERE langid=%d AND k2>=?1 AND k2=%lld\x00AND\x00%z %s rowid<=%lld\x00CREATE TABLE x(value)\x00wholenumber\x00CREATE TABLE y(name PRIMARY KEY,mode,mtime,sz,rawdata,data,method,z HIDDEN) WITHOUT ROWID;\x00zipfile\x00zipfile constructor requires one argument\x00error in fread()\x00error in fwrite()\x00failed to read CDS at offset %lld\x00%.*s\x00failed to read LFH at offset %d\x001.2.11\x00inflateInit2() failed (%d)\x00inflate() failed (%d)\x00zipfile: deflate() error\x00cannot find end of central directory record\x00zipfile() function requires an argument\x00cannot open file: %s\x00-rwxrwxrwx\x00zipfile: mode does not match data\x00zipfile: parse error in mode: %s\x00zipfile: missing filename\x00ab+\x00zipfile: failed to open file %s for writing\x00sz must be NULL\x00rawdata must be NULL\x00unknown compression method: %d\x00%s/\x00duplicate name: \"%s\"\x00{\"version-made-by\" : %u, \"version-to-extract\" : %u, \"flags\" : %u, \"compression\" : %u, \"time\" : %u, \"date\" : %u, \"crc32\" : %u, \"compressed-size\" : %u, \"uncompressed-size\" : %u, \"file-name-length\" : %u, \"extra-field-length\" : %u, \"file-comment-length\" : %u, \"disk-number-start\" : %u, \"internal-attr\" : %u, \"external-attr\" : %u, \"offset\" : %u }\x00zipfile_cds\x00wrong number of arguments to function zipfile()\x00first argument to zipfile() must be non-NULL\x00illegal method value: %d\x00non-directory name must not end with /\x00rbu_delta\x00step\x00close\x00create_rbu_delta\x00savestate\x00dbMain_eval\x00SQL\x00bp_progress\x00db\x00RBU\x00state\x00progress\x00close_no_error\x00temp_size_limit\x00LIMIT\x00temp_size\x00dbRbu_eval\x00METHOD\x00method\x00 - \x00oal\x00move\x00checkpoint\x00done\x00error\x00NAME TARGET-DB RBU-DB ?STATE-DB?\x00NAME TARGET-DB ?STATE-DB?\x00?-default? NAME PARENT\x00NAME\x00sqlite3rbu_db(0, 0)!=0\x00sqlite3rbu\x00sqlite3rbu_vacuum\x00sqlite3rbu_create_vfs\x00sqlite3rbu_destroy_vfs\x00sqlite3rbu_internal_test\x00incrblob\x00incrblob_%d\x00%lld\x00sqlite_unlock_notify_arg\x00sqlite_unlock_notify_argcount\x00DELETE\x00INSERT\x00UPDATE\x00SQLITE_COPY\x00SQLITE_CREATE_INDEX\x00SQLITE_CREATE_TABLE\x00SQLITE_CREATE_TEMP_INDEX\x00SQLITE_CREATE_TEMP_TABLE\x00SQLITE_CREATE_TEMP_TRIGGER\x00SQLITE_CREATE_TEMP_VIEW\x00SQLITE_CREATE_TRIGGER\x00SQLITE_CREATE_VIEW\x00SQLITE_DELETE\x00SQLITE_DROP_INDEX\x00SQLITE_DROP_TABLE\x00SQLITE_DROP_TEMP_INDEX\x00SQLITE_DROP_TEMP_TABLE\x00SQLITE_DROP_TEMP_TRIGGER\x00SQLITE_DROP_TEMP_VIEW\x00SQLITE_DROP_TRIGGER\x00SQLITE_DROP_VIEW\x00SQLITE_INSERT\x00SQLITE_PRAGMA\x00SQLITE_READ\x00SQLITE_SELECT\x00SQLITE_TRANSACTION\x00SQLITE_UPDATE\x00SQLITE_ATTACH\x00SQLITE_DETACH\x00SQLITE_ALTER_TABLE\x00SQLITE_REINDEX\x00SQLITE_ANALYZE\x00SQLITE_CREATE_VTABLE\x00SQLITE_DROP_VTABLE\x00SQLITE_FUNCTION\x00SQLITE_SAVEPOINT\x00SQLITE_RECURSIVE\x00????\x00SQLITE_DENY\x00SQLITE_IGNORE\x00RELEASE _tcl_transaction\x00COMMIT\x00ROLLBACK TO _tcl_transaction ; RELEASE _tcl_transaction\x00option\x00?CALLBACK?\x00?DATABASE? FILENAME\x00cannot open target database: \x00backup failed: \x00CALLBACK\x00cache option ?arg?\x00flush\x00size\x00size n\x00cannot convert \"\x00\" to integer\x00bad option \"\x00\": must be flush or size\x00NAME SCRIPT\x00SCRIPT\x00?OPTION? ?BOOLEAN?\x00unknown config option: \"\x00\"\x00CONFLICT-ALGORITHM TABLE FILENAME ?SEPARATOR? ?NULLINDICATOR?\x00\t\x00Error: non-null separator required for copy\x00rollback\x00abort\x00fail\x00ignore\x00replace\x00Error: \"\x00\", conflict-algorithm must be one of: rollback, abort, fail, ignore, or replace\x00SELECT * FROM '%q'\x00Error: no such table: \x00Error: \x00Error: can't malloc()\x00INSERT OR %q INTO '%q' VALUES(?\x00Error: cannot open file: \x00BEGIN\x00Error: %s line %d: expected %d columns of data but found %d\x00, failed while processing line: \x00?DATABASE? VALUE\x00-maxsize\x00-readonly\x00unknown option: \x00unable to set MEMDB content\x00extension loading is turned off at compile-time\x00-withoutnulls\x00unknown option: \"\x00?OPTIONS? SQL ?ARRAY-NAME? ?SCRIPT?\x00NAME ?SWITCHES? SCRIPT\x00-argcount\x00option requires an argument: \x00number of arguments must be non-negative\x00-deterministic\x00-directonly\x00-innocuous\x00-returntype\x00real\x00text\x00blob\x00any\x00type\x00\": must be -argcount, -deterministic, -directonly, -innocuous, or -returntype\x00?-readonly? ?DB? TABLE COLUMN ROWID\x00NULLVALUE\x00N CALLBACK\x00KEY\x00cannot open source database: \x00restore failed: \x00restore failed: source database busy\x00?DATABASE?\x00(step|sort|autoindex)\x00sort\x00autoindex\x00vmstep\x00bad argument: should be autoindex, step, sort or vmstep\x00MILLISECONDS\x00?CALLBACK? ?MASK?\x00trace type\x00SAVEPOINT _tcl_transaction\x00[TYPE] SCRIPT\x00transaction type\x00BEGIN EXCLUSIVE\x00BEGIN IMMEDIATE\x00?SCRIPT?\x00SUB-COMMAND ?ARGS?\x00hook ?SCRIPT?\x00INDEX\x00-use-legacy-prepare\x00-last-stmt-ptr\x00%p\x00unknown argument: \x00authorizer\x00backup\x00bind_fallback\x00busy\x00cache\x00changes\x00collate\x00collation_needed\x00commit_hook\x00complete\x00config\x00copy\x00deserialize\x00enable_load_extension\x00errorcode\x00exists\x00function\x00interrupt\x00last_insert_rowid\x00nullvalue\x00onecolumn\x00preupdate\x00profile\x00rekey\x00restore\x00rollback_hook\x00serialize\x00status\x00timeout\x00total_changes\x00trace\x00trace_v2\x00transaction\x00unlock_notify\x00update_hook\x00version\x00wal_hook\x00defensive\x00dqs_ddl\x00dqs_dml\x00enable_fkey\x00enable_qpsg\x00enable_trigger\x00enable_view\x00fts3_tokenizer\x00legacy_alter_table\x00legacy_file_format\x00load_extension\x00no_ckpt_on_close\x00reset_database\x00trigger_eqp\x00trusted_schema\x00writable_schema\x00statement\x00row\x00deferred\x00exclusive\x00immediate\x00depth\x00hook\x00new\x00old\x00HANDLE ?FILENAME? ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nofollow BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?\x00-version\x00-sourceid\x00-has-codec\x000\x00-key\x00-vfs\x00-create\x00-nofollow\x00-nomutex\x00-fullmutex\x00-uri\x00-translatefilename\x00sqlite3\x00sqlite\x003.36.0\x00if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewline \"% \"\n}\nflush stdout\nappend line [gets stdin]\nif {[info complete $line]} {\nif {[catch {uplevel #0 $line} result]} {\nputs stderr \"Error: $result\"\n} elseif {$result!=\"\"} {\nputs $result\n}\nset line {}\n} else {\nappend line \\n\n}\n}\n}\n\x00SQLITE_DEBUG_BREAK\x00attach debugger to process %d and press any key to continue.\n\x00utf-8\x00argc\x00argv0\x00argv\x00errorInfo\x00%s: %s\n\x00SQLITE-CONNECTION\x00command not found: \x00error code %s (%d) does not match sqlite3_errcode %s (%d)\x00OMIT_MISUSE\x00wrong # args: should be \"\x00 DB FORMAT STRING\x00 DB HEX\x00 DB\x00 DB SQL\x00%z%s%s\x00%s%n\x00abcdefghijklmnopqrstuvwxyz\x00 DB FORMAT STRING ?COUNT?\x00 DB\"\x00 FILENAME\"\x00%02x\x00%04x\x00tkt2213 is not fixed\x00text16\x00bytes\x00bytes16\x00noop\x00x_coalesce\x00hex8\x00hex16\x00tkt2213func\x00pointer_change\x00counter1\x00counter2\x00intreal\x00x_sqlite_exec\x00value of 40 handed to x_count\x00x_count totals to 42\x00x_count\x00legacy_count\x00 TEXT\"\x00 FORMAT INT INT INT\"\x00argument is not a valid 64-bit integer\x00 FORMAT INT INT ?STRING?\"\x00 INT FORMAT INT INT ?STRING?\"\x00N must be non-negative\x00 FORMAT INT INT DOUBLE\"\x00 FORMAT DOUBLE DOUBLE\"\x00 FORMAT STRING\"\x00%08x%08x\x002nd argument should be 16-characters of hex\x00?BOOLEAN?\x00DB BOOLEAN\x00DB dbname tblname colname\x00CHANNEL ROWID\x00DB-HANDLE NAME CMP-PROC DEL-PROC\x00sqlite3_create_collate_v2() failed to detect an invalid encoding\x00utf8\x00utf16\x00utf16le\x00utf16be\x00DB NAME NARG ENC SWITCHES...\x00encoding\x00-func\x00-step\x00-final\x00-destroy\x00switch\x00DB-HANDLE FILE ?PROC?\x00this build omits sqlite3_load_extension()\x00DB-HANDLE ONOFF\x00string\x00value\x00first argument should be one of: int int64 string double null value\x00 DB FUNCTION-NAME\x00 \x00STMT PARAMETER RESETFLAG\x00SQLITE_STMTSTATUS_FULLSCAN_STEP\x00SQLITE_STMTSTATUS_SORT\x00SQLITE_STMTSTATUS_AUTOINDEX\x00SQLITE_STMTSTATUS_VM_STEP\x00SQLITE_STMTSTATUS_REPREPARE\x00SQLITE_STMTSTATUS_RUN\x00SQLITE_STMTSTATUS_MEMUSED\x00NBYTE\x00DB DBNAME\x00DB DBNAME SNAPSHOT\x00SNAPSHOT\x00SNAPSHOT1 SNAPSHOT2\x00bad SNAPSHOT\x00FILE\x00PATH\x00 DB STMT\x00 STMT\x00 FROM-STMT TO-STMT\x00 VM IDX VALUE (null|static|normal)\"\x00static\x00static-nbytes\x00normal\x00blob10\x00abc\x00xyz\x00pq\x004th argument should be \"null\" or \"static\" or \"normal\"\x00(%d) \x00test_collate\x00UTF-8\x00UTF-16LE\x00UTF-16BE\x00 \x00utf16bin\x00utf16_unaligned\x00utf16_aligned\x00test_function\x00\x00STMT IDX N\x00 STMT N VALUE\x00NaN\x00SNaN\x00-NaN\x00-SNaN\x00+Inf\x00-Inf\x00Epsilon\x00-Epsilon\x00NaN0\x00-NaN0\x00 STMT N\x00 STMT N VALUE BYTES\x00 STMT N DATA BYTES\x00cannot use %d blob bytes, have %d\x00-transient\x00-static\x00-int32\x00-int64\x00-double\x00-text\x00--\x00text data must be either -static or -transient\x00cannot be both -static and -transient\x00[OPTIONS] STMT IDX VALUE ...\x00STMT\x00STMT N\x00STMT NAME\x00 DB sql bytes ?tailvar?\x00 DB sql bytes tailvar\x00 DB sql bytes flags tailvar\x00\x00SELECT 1\x00 filename options-list\x00FILENAME FLAGS VFS\x00SQLITE_OPEN_READONLY\x00SQLITE_OPEN_READWRITE\x00SQLITE_OPEN_CREATE\x00SQLITE_OPEN_DELETEONCLOSE\x00SQLITE_OPEN_EXCLUSIVE\x00SQLITE_OPEN_AUTOPROXY\x00SQLITE_OPEN_MAIN_DB\x00SQLITE_OPEN_TEMP_DB\x00SQLITE_OPEN_TRANSIENT_DB\x00SQLITE_OPEN_MAIN_JOURNAL\x00SQLITE_OPEN_TEMP_JOURNAL\x00SQLITE_OPEN_SUBJOURNAL\x00SQLITE_OPEN_SUPER_JOURNAL\x00SQLITE_OPEN_NOMUTEX\x00SQLITE_OPEN_FULLMUTEX\x00SQLITE_OPEN_SHAREDCACHE\x00SQLITE_OPEN_PRIVATECACHE\x00SQLITE_OPEN_WAL\x00SQLITE_OPEN_URI\x00flag\x00\x00 STMT column\x00FLOAT\x00TEXT\x00BLOB\x00 DB MAGIC\x00SQLITE_MAGIC_OPEN\x00SQLITE_MAGIC_CLOSED\x00SQLITE_MAGIC_BUSY\x00SQLITE_MAGIC_ERROR\x00 DB function-name\x00VARIABLE\x00?N?\x001234567890000000\x00__one\x00__two\x00notadatabase\x00Unexpected non-zero errno: \x00DB [DBNAME]\x00%u\x00DB DBNAME SIZE\x00 DB PWD\x00 DB FLAG\x00%d %d\x00 DB ?AUXDB?\x00DB N\x00 DB ID VALUE\x00unknown limit type: \x00SQLITE_LIMIT_LENGTH\x00SQLITE_LIMIT_SQL_LENGTH\x00SQLITE_LIMIT_COLUMN\x00SQLITE_LIMIT_EXPR_DEPTH\x00SQLITE_LIMIT_COMPOUND_SELECT\x00SQLITE_LIMIT_VDBE_OP\x00SQLITE_LIMIT_FUNCTION_ARG\x00SQLITE_LIMIT_ATTACHED\x00SQLITE_LIMIT_LIKE_PATTERN_LENGTH\x00SQLITE_LIMIT_VARIABLE_NUMBER\x00SQLITE_LIMIT_TRIGGER_DEPTH\x00SQLITE_LIMIT_WORKER_THREADS\x00SQLITE_LIMIT_TOOSMALL\x00SQLITE_LIMIT_TOOBIG\x00SEED ?DB?\x00BOOLEAN\x00current\x00max\x00min\x00recyclable\x00DB ?NAME?\x00passive\x00full\x00restart\x00truncate\x00DB MODE ?NAME?\x00mode\x00DB VALUE\x00COMMAND ...\x00command has no objProc: \x00%d %d %d %s\n\x00SQLITE_TESTCTRL_LOCALTIME_FAULT\x00SQLITE_TESTCTRL_SORTER_MMAP\x00SQLITE_TESTCTRL_IMPOSTER\x00SQLITE_TESTCTRL_INTERNAL_FUNCTIONS\x00VERB ARGS...\x00VERB\x00ONOFF\x00DB LIMIT\x00DB dbName onOff tnum\x00ru_utime=%d.%06d ru_stime=%d.%06d ru_minflt=%d ru_majflt=%d\x00DB OPT BOOLEAN\x00unknown optimization - should be one of:\x00all\x00none\x00query-flattener\x00groupby-order\x00factor-constants\x00distinct-opt\x00cover-idx-scan\x00order-by-idx-join\x00transitive\x00omit-noop-join\x00stat4\x00skip-scan\x00push-down\x00DB NAME ...\x00no such extension: \x00initialization of \x00 failed: \x00amatch\x00appendvfs\x00closure\x00fileio\x00nextchar\x00series\x00spellfix\x00totype\x00BOOL\x00DB SQL1 NSTEP SQL2\x00data error: (a!=b)\x00checksum mismatch\x00sql error: \x00TYPE\x00Deliberate panic\x00DB SETTING [VALUE]\x00SQLITE_*\x00DBCONFIG_*\x00ENABLE_*\x00unknown sqlite3_db_config setting\x00FKEY\x00TRIGGER\x00FTS3_TOKENIZER\x00LOAD_EXTENSION\x00NO_CKPT_ON_CLOSE\x00QPSG\x00TRIGGER_EQP\x00RESET_DB\x00DEFENSIVE\x00WRITABLE_SCHEMA\x00LEGACY_ALTER_TABLE\x00DQS_DML\x00DQS_DDL\x00LEGACY_FILE_FORMAT\x00DB ?SCHEMA?\x00icecube\x00DB ?DBNAME?\x00DB OFFSET DATA\x00HEXDB\x00| size %d pagesize %d\x00bad 'pagesize' field\x00bad 'size' field\x00| page %d offset %d\x00| %d: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\x00sqlite_search_count\x00sqlite_found_count\x00sqlite_sort_count\x00sqlite3_max_blobsize\x00sqlite_like_count\x00sqlite_interrupt_count\x00sqlite_open_file_count\x00sqlite_current_time\x00sqlite3_xferopt_count\x00sqlite3_pager_readdb_count\x00sqlite3_pager_writedb_count\x00sqlite3_pager_writej_count\x00unaligned_string_counter\x00sqlite_last_needed_collation\x00sqlite_query_plan\x00sqlite_opentemp_count\x00sqlite_static_bind_value\x00sqlite_static_bind_nbyte\x00sqlite_temp_directory\x00sqlite_data_directory\x00bitmask_size\x00longdouble_size\x00sqlite_sync_count\x00sqlite_fullsync_count\x00db_enter\x00db_leave\x00sqlite3_mprintf_int\x00sqlite3_mprintf_int64\x00sqlite3_mprintf_long\x00sqlite3_mprintf_str\x00sqlite3_snprintf_str\x00sqlite3_mprintf_stronly\x00sqlite3_mprintf_double\x00sqlite3_mprintf_scaled\x00sqlite3_mprintf_hexdouble\x00sqlite3_mprintf_z_test\x00sqlite3_mprintf_n_test\x00sqlite3_snprintf_int\x00sqlite3_last_insert_rowid\x00sqlite3_exec_printf\x00sqlite3_exec_hex\x00sqlite3_exec\x00sqlite3_exec_nr\x00sqlite3_get_table_printf\x00sqlite3_close\x00sqlite3_close_v2\x00sqlite3_create_function\x00sqlite3_create_aggregate\x00sqlite3_drop_modules\x00sqlite_register_test_function\x00sqlite_abort\x00sqlite_bind\x00breakpoint\x00sqlite3_key\x00sqlite3_rekey\x00sqlite_set_magic\x00sqlite3_interrupt\x00sqlite_delete_function\x00sqlite_delete_collation\x00sqlite3_get_autocommit\x00sqlite3_busy_timeout\x00printf\x00sqlite3IoTrace\x00clang_sanitize_address\x00sqlite3_db_config\x00sqlite3_txn_state\x00bad_behavior\x00register_dbstat_vtab\x00sqlite3_connection_pointer\x00intarray_addr\x00int64array_addr\x00doublearray_addr\x00textarray_addr\x00sqlite3_bind_int\x00sqlite3_bind_zeroblob\x00sqlite3_bind_zeroblob64\x00sqlite3_bind_int64\x00sqlite3_bind_double\x00sqlite3_bind_null\x00sqlite3_bind_text\x00sqlite3_bind_text16\x00sqlite3_bind_blob\x00sqlite3_carray_bind\x00sqlite3_bind_parameter_count\x00sqlite3_bind_parameter_name\x00sqlite3_bind_parameter_index\x00sqlite3_clear_bindings\x00sqlite3_sleep\x00sqlite3_errcode\x00sqlite3_extended_errcode\x00sqlite3_errmsg\x00sqlite3_errmsg16\x00sqlite3_open\x00sqlite3_open16\x00sqlite3_open_v2\x00sqlite3_complete16\x00sqlite3_normalize\x00sqlite3_prepare\x00sqlite3_prepare16\x00sqlite3_prepare_v2\x00sqlite3_prepare_v3\x00sqlite3_prepare_tkt3134\x00sqlite3_prepare16_v2\x00sqlite3_finalize\x00sqlite3_stmt_status\x00sqlite3_reset\x00sqlite3_expired\x00sqlite3_transfer_bindings\x00sqlite3_changes\x00sqlite3_step\x00sqlite3_sql\x00sqlite3_expanded_sql\x00sqlite3_next_stmt\x00sqlite3_stmt_readonly\x00sqlite3_stmt_isexplain\x00sqlite3_stmt_busy\x00uses_stmt_journal\x00sqlite3_release_memory\x00sqlite3_db_release_memory\x00sqlite3_db_cacheflush\x00sqlite3_system_errno\x00sqlite3_db_filename\x00sqlite3_db_readonly\x00sqlite3_soft_heap_limit\x00sqlite3_soft_heap_limit64\x00sqlite3_hard_heap_limit64\x00sqlite3_thread_cleanup\x00sqlite3_pager_refcounts\x00sqlite3_load_extension\x00sqlite3_enable_load_extension\x00sqlite3_extended_result_codes\x00sqlite3_limit\x00dbconfig_maindbname_icecube\x00save_prng_state\x00restore_prng_state\x00reset_prng_state\x00prng_seed\x00extra_schema_checks\x00database_never_corrupt\x00database_may_be_corrupt\x00optimization_control\x00tcl_objproc\x00sqlite3_column_count\x00sqlite3_data_count\x00sqlite3_column_type\x00sqlite3_column_blob\x00sqlite3_column_double\x00sqlite3_column_int64\x00sqlite3_column_text\x00sqlite3_column_name\x00sqlite3_column_int\x00sqlite3_column_bytes\x00sqlite3_column_decltype\x00sqlite3_column_database_name\x00sqlite3_column_table_name\x00sqlite3_column_origin_name\x00sqlite3_column_bytes16\x00sqlite3_column_text16\x00sqlite3_column_name16\x00add_alignment_test_collations\x00sqlite3_column_decltype16\x00sqlite3_column_database_name16\x00sqlite3_column_table_name16\x00sqlite3_column_origin_name16\x00sqlite3_create_collation_v2\x00sqlite3_global_recover\x00working_64bit_int\x00vfs_unlink_test\x00vfs_initfail_test\x00vfs_unregister_all\x00vfs_reregister_all\x00file_control_test\x00file_control_lasterrno_test\x00file_control_lockproxy_test\x00file_control_chunksize_test\x00file_control_sizehint_test\x00file_control_data_version\x00file_control_persist_wal\x00file_control_powersafe_overwrite\x00file_control_vfsname\x00file_control_reservebytes\x00file_control_tempfilename\x00file_control_external_reader\x00sqlite3_vfs_list\x00sqlite3_create_function_v2\x00add_test_collate\x00add_test_collate_needed\x00add_test_function\x00add_test_utf16bin_collate\x00sqlite3_test_errstr\x00tcl_variable_type\x00sqlite3_enable_shared_cache\x00sqlite3_shared_cache_report\x00sqlite3_libversion_number\x00sqlite3_table_column_metadata\x00sqlite3_blob_reopen\x00pcache_stats\x00sqlite3_unlock_notify\x00sqlite3_wal_checkpoint\x00sqlite3_wal_checkpoint_v2\x00sqlite3_wal_autocheckpoint\x00test_sqlite3_log\x00print_explain_query_plan\x00sqlite3_test_control\x00getrusage\x00load_static_extension\x00sorter_test_fakeheap\x00sorter_test_sort4_helper\x00vfs_current_time_int64\x00sqlite3_snapshot_get\x00sqlite3_snapshot_open\x00sqlite3_snapshot_free\x00sqlite3_snapshot_cmp\x00sqlite3_snapshot_recover\x00sqlite3_snapshot_get_blob\x00sqlite3_snapshot_open_blob\x00sqlite3_snapshot_cmp_blob\x00sqlite3_delete_database\x00atomic_batch_write\x00sqlite3_mmap_warm\x00sqlite3_config_sorterref\x00decode_hexdb\x00test_write_db\x00sqlite3_register_cksumvfs\x00sqlite3_unregister_cksumvfs\x00*** OBSOLETE VARIABLE ***\x00 FILENAME N-PAGE\"\x00 ID\"\x00ref\x00page\x00err\x00hit\x00miss\x00ovfl\x00 ID PGNO\"\x00 PAGE\"\x00 PAGE DATA\"\x00 N-MEGABYTES FILE\"\x00open failed: \x00Hello, World!\x00write failed: \x00 PENDING-BYTE\"\x00fault simulator script failed: [%s]\x00 SCRIPT\"\x00 SIZE PROGRAM\"\x00sqlite_io_error_pending\x00sqlite_io_error_persist\x00sqlite_io_error_hit\x00sqlite_io_error_hardhit\x00sqlite_diskfull_pending\x00sqlite_diskfull\x00sqlite_pending_byte\x00pager_open\x00pager_close\x00pager_commit\x00pager_rollback\x00pager_stmt_begin\x00pager_stmt_commit\x00pager_stmt_rollback\x00pager_stats\x00pager_pagecount\x00page_get\x00page_lookup\x00page_unref\x00page_read\x00page_write\x00page_number\x00pager_truncate\x00fake_big_file\x00sqlite3BitvecBuiltinTest\x00sqlite3_test_control_pending_byte\x00sqlite3_test_control_fault_install\x00 FILENAME NCACHE FLAGS\"\x00read\x00write\x00 ID TABLENUM WRITEABLE\"\x00 START MULTIPLIER COUNT INCREMENT\"\x00putVarint returned %d - should be between 1 and 9\x00putVarint returned %d and getVarint returned %d\x00Wrote 0x%016llx and got back 0x%016llx\x00putVarint returned %d and GetVarint32 returned %d\x00Wrote 0x%016llx and got back 0x%016llx from GetVarint32\x00 DB-HANDLE ?N?\"\x00No such db-handle: \"\x00 BT NCACHE\"\x00?-intkey? CSR KEY VALUE\x00btree_insert\x00btree_open\x00btree_close\x00btree_begin_transaction\x00btree_pager_stats\x00btree_cursor\x00btree_close_cursor\x00btree_next\x00btree_eof\x00btree_payload_size\x00btree_first\x00btree_varint_test\x00btree_from_db\x00btree_ismemdb\x00btree_set_cache_size\x00thread ID must be an upper case letter\x00 ID FILENAME\x00thread \x00 is already running\x00failed to create the thread\x00 ID\x00no such thread\x00 ID N\x00column number out of range\x00no database is open\x00 ID SQL\x00no virtual machine available\x00 IDL\x00 ID1 ID2\x00 ID DB\x00thread_create\x00thread_wait\x00thread_halt\x00thread_argc\x00thread_argv\x00thread_colname\x00thread_result\x00thread_error\x00thread_compile\x00thread_step\x00thread_finalize\x00thread_swap\x00thread_db_get\x00thread_db_put\x00thread_stmt_get\x00 \x00hello world\x00UTF8\x00UTF16LE\x00UTF16BE\x00UTF16\x00No such encoding: \x00 \x00binarize\x00test_value_overhead\x00test_translate\x00translate_selftest\x00out of memory in the crash simulator\n\x00atomic\x00atomic512\x00atomic1k\x00atomic2k\x00atomic4k\x00atomic8k\x00atomic16k\x00atomic32k\x00atomic64k\x00sequential\x00safe_append\x00powersafe_overwrite\x00batch-atomic\x00-sectorsize\x00-characteristics\x00Bad option: \"\x00\" - must be \"-characteristics\" or \"-sectorsize\"\x00Option requires an argument: \"\x00no such flag\x00ENABLE ?DEFAULT?\x00crash\x00?OPTIONS? DELAY CRASHFILE\x00Filename is too long: \"\x00NWRITE\x00?-default? PARENT-VFS\x00-default\x00\": must be -default\x00Error in jt_register\x00sqlite3_crash_enable\x00sqlite3_crashparams\x00sqlite3_crash_now\x00sqlite3_simulate_device\x00sqlite3_crash_on_write\x00unregister_devsim\x00register_jt_vfs\x00unregister_jt_vfs\x00client_create\x00client_wait\x00client_halt\x00client_argc\x00client_argv\x00client_colname\x00client_result\x00client_error\x00client_compile\x00client_step\x00client_reset\x00client_finalize\x00client_swap\x00echo_module_fail(%s,%s)\x00echo-vtab-error: %s\x00SELECT * FROM %Q\x00PRAGMA index_list(%s)\x00PRAGMA index_info(%s)\x00echo_module\x00SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = ?\x00%s%s\x00xCreate\x00CREATE TABLE %Q(logmsg)\x00xConnect\x00xDisconnect\x00xDestroy\x00DROP TABLE %Q\x00xOpen\x00xNext\x00xColumn\x00xFilter\x00, *\x00%z, %s\x00%z, NULL\x00echo_module_ignore_usable\x00xBestIndex\x00echo_module_cost\x00SELECT count(*) FROM %Q\x00SELECT rowid%z FROM %Q\x00rowid\x00=\x00<\x00>\x00<=\x00>=\x00LIKE\x00like\x00glob\x00 %s %s LIKE (SELECT '%%'||?||'%%')\x00 %s %s %s ?\x00DESC\x00ASC\x00 ORDER BY %s %s\x00xUpdate\x00 SET\x00UPDATE %Q\x00 SET rowid=?1 \x00%s %Q=?%d\x00 WHERE rowid=?%d\x00DELETE FROM %Q WHERE rowid = ?1\x00INSERT INTO %Q (\x00%s%Q\x00%s?%d\x00) VALUES(\x00echo(%s)\x00xBegin\x00echo_module_begin_fail\x00xSync\x00echo_module_sync_fail\x00xCommit\x00xRollback\x00::echo_glob_overload\x00xRename\x00ALTER TABLE %s RENAME TO %s%s\x00function_that_does_not_exist_0982ma98\x00echo\x00echo_v2\x00DB SQL\x00register_echo_module\x00sqlite3_declare_vtab\x00N/A\x00sqlite3_create_collation\x00Error testing function: \x00sqlite3_malloc\x00sqlite3_realloc\x00c_misuse_test\x00c_realloc_test\x00c_collation_test\x00sqlite3_reset_auto_extension\x00npage\x00finish\x00remaining\x00pagecount\x00CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME\x00sqlite3_backup_init() failed\x00sqlite3_backup\x00wrong number of arguments\x00unexpected: %s\x00eq\x00gt\x00le\x00lt\x00ge\x00match\x00ne\x00isnot\x00isnotnull\x00isnull\x00op\x00column\x00usable\x00desc\x00cost\x00orderby\x00idxnum\x00idxstr\x00rows\x00use\x00omit\x00unexpected: %d\x00tcl\x00register_tcl_module\x00incrblob_\x00DB DATABASE TABLE COLUMN ROWID FLAGS VARNAME\x00HANDLE\x00CHANNEL OFFSET N\x00out of memory in testdata/sqlite-src-3360000/src/test_blob.c\x00HANDLE OFFSET DATA ?NDATA?\x00sqlite3_blob_open\x00sqlite3_blob_close\x00sqlite3_blob_bytes\x00sqlite3_blob_read\x00sqlite3_blob_write\x00sqlite_options\x00malloc_usable_size\x001\x00rowid32\x00casesensitivelike\x00configslower\x001.0\x00curdir\x00win32malloc\x00debug\x00default_ckptfullfsync\x00direct_read\x00dirsync\x00lfs\x00pagecache_overflow_stats\x00mmap\x00worker_threads\x008\x00memdebug\x008_3_names\x00cursorhints\x00hiddencolumns\x00mathlib\x00mem3\x00mem5\x00offset_sql_func\x00snapshot\x00mutex\x00mutex_noop\x00altertable\x00api_armor\x00atomicwrite\x00geopoly\x00json1\x00has_codec\x00like_match_blobs\x00attach\x00auth\x00autoinc\x00autoreset\x00autovacuum\x00default_autovacuum\x00between_opt\x00builtin_test\x00bloblit\x00cast\x00check\x00cte\x00columnmetadata\x00oversize_cell_check\x00compileoption_diags\x00compound\x00conflict\x00crashtest\x00datetime\x00decltype\x00deprecated\x00diskio\x00floatingpoint\x00foreignkey\x00fts1\x00fts2\x00fts3\x00fts5\x00fts3_unicode\x00fts4_deferred\x00gettable\x00icu\x00icu_collations\x00integrityck\x00legacyformat\x00like_opt\x00load_ext\x00localtime\x00lookaside\x00long_double\x00memorydb\x00memorymanage\x00mergesort\x00null_trim\x00or_opt\x00rbu\x00pager_pragmas\x00pragma\x00reindex\x00rtree\x00rtree_int_only\x00schema_pragmas\x00schema_version\x00session\x00stmtvtab\x00scanstatus\x00lock_proxy_pragmas\x00prefer_proxy_locking\x00shared_cache\x00subquery\x00tclvar\x00threadsafe\x00threadsafe1\x00threadsafe2\x00tempdb\x00trigger\x00truncate_opt\x00vacuum\x00view\x00vtab\x00wal\x00wsd\x00update_delete_limit\x00fast_secure_delete\x00secure_delete\x00userauth\x00multiplex_ext_overwrite\x00yytrackmaxstackdepth\x00sqllog\x00uri_00_error\x00normalize\x00windowfunc\x00SQLITE_MAX_LENGTH\x00SQLITE_MAX_COLUMN\x00SQLITE_MAX_SQL_LENGTH\x00SQLITE_MAX_EXPR_DEPTH\x00SQLITE_MAX_COMPOUND_SELECT\x00SQLITE_MAX_VDBE_OP\x00SQLITE_MAX_FUNCTION_ARG\x00SQLITE_MAX_VARIABLE_NUMBER\x00SQLITE_MAX_PAGE_SIZE\x00SQLITE_MAX_PAGE_COUNT\x00SQLITE_MAX_LIKE_PATTERN_LENGTH\x00SQLITE_MAX_TRIGGER_DEPTH\x00SQLITE_DEFAULT_CACHE_SIZE\x00SQLITE_DEFAULT_PAGE_SIZE\x00SQLITE_DEFAULT_FILE_FORMAT\x00SQLITE_DEFAULT_SYNCHRONOUS\x00SQLITE_DEFAULT_WAL_SYNCHRONOUS\x00SQLITE_MAX_ATTACHED\x00SQLITE_MAX_DEFAULT_PAGE_SIZE\x00SQLITE_MAX_WORKER_THREADS\x00TEMP_STORE\x00__GNUC__\x00%s-journal\x00%s-wal\x00%s-shm\x00%s%03d\x00%s-journal%03d\x00%s-wal%03d\x00devsym\x00writecrash\x00CREATE TABLE xyz(dir, name);\x00CREATE TABLE xyz(path, size, data);\x00WITH r(d) AS ( SELECT CASE WHEN dir=?2 THEN ?3 ELSE dir END || '/' || name FROM fsdir WHERE dir=?1 AND name NOT LIKE '.%' UNION ALL SELECT dir || '/' || name FROM r, fsdir WHERE dir=d AND name NOT LIKE '.%') SELECT d FROM r;\x00/\x00CREATE TABLE x(path TEXT, data TEXT)\x00SELECT * FROM %Q.%Q WHERE rowid=?\x00fs\x00fstree\x00register_fs_module\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-!,:*^+=_|?/<> \x00sqlite3_prepare_v2() error: %s\x000123456789abcdef\x00x'\x00test_agg_errmsg16\x00randstr\x00test_destructor\x00test_destructor16\x00hex_to_utf16be\x00hex_to_utf16le\x00hex_to_utf8\x00test_destructor_count\x00test_auxdata\x00test_error\x00test_eval\x00test_isolation\x00test_counter\x00real2hex\x00test_decode\x00test_extract\x00test_zeroblob\x00test_getsubtype\x00test_setsubtype\x00test_frombind\x00tx\x00funcxx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00nullx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00sqlite3_create_function abused test failed\x00invalid matchinfo blob passed to function rank()\x00wrong number of arguments to function rank()\x00rank\x00autoinstall_test_functions\x00abuse_create_function\x00install_fts3_rank_function\x000123456789ABCDEF\x00FILENAME OFFSET AMT\x00r\x00cannot open input file \x00FILENAME OFFSET HEXDATA\x00r+b\x00r+\x00cannot open output file \x00HEXDATA\x00[utf8_to_utf8] unavailable - SQLITE_DEBUG not defined\x00BLOB VARNAME\x00LIST\x00hexio_read\x00hexio_write\x00hexio_get_int\x00hexio_render_int16\x00hexio_render_int32\x00utf8_to_utf8\x00read_fts3varint\x00make_fts3record\x00mem\x00pcache\x00Unknown argument: \"\x00init_wrapper_install\x00init_wrapper_query\x00init_wrapper_uninstall\x00init_wrapper_clear\x00CREATE TABLE x(value INTEGER PRIMARY KEY)\x00CREATE VIRTUAL TABLE temp.%Q USING %Q\x00INTARRAY\x00SQLITE_NOMEM\x00sqlite3_intarray_create\x00sqlite3_intarray_bind\x00jt\x00-journal\x00NBYTES\x00PRIOR NBYTES\x00bad pointer: \x00PRIOR\x00ADDRESS SIZE HEX\x00size must be positive\x00no data\x00ADDRESS SIZE\x00?RESET?\x00DEPT\x00FILENAME\x00COUNTER ?OPTIONS?\x00-repeat\x00-benigncnt\x00TITLE\x00SUB-COMMAND ...\x00start\x00stop\x00dump\x00clear\x00sync\x00SIZE N\x00INSTALLFLAG DISCARDCHANCE PRNGSEEED HIGHSTRESS\x00discard-chance should be between 0 and 100\x00SIZE COUNT\x00BUFID SIZE COUNT\x00illegal arguments - see documentation\x00NBYTE NMINALLOC\x00[DB]\x00sqlite3_db_config(db, 99999) does not return SQLITE_ERROR\x00sqlite3_config(99999) does not return SQLITE_ERROR\x00PARAMETER RESETFLAG\x00SQLITE_STATUS_MEMORY_USED\x00SQLITE_STATUS_MALLOC_SIZE\x00SQLITE_STATUS_PAGECACHE_USED\x00SQLITE_STATUS_PAGECACHE_OVERFLOW\x00SQLITE_STATUS_PAGECACHE_SIZE\x00SQLITE_STATUS_SCRATCH_USED\x00SQLITE_STATUS_SCRATCH_OVERFLOW\x00SQLITE_STATUS_SCRATCH_SIZE\x00SQLITE_STATUS_PARSER_STACK\x00SQLITE_STATUS_MALLOC_COUNT\x00DB PARAMETER RESETFLAG\x00SQLITE_\x00DBSTATUS_\x00LOOKASIDE_USED\x00CACHE_USED\x00SCHEMA_USED\x00STMT_USED\x00LOOKASIDE_HIT\x00LOOKASIDE_MISS_SIZE\x00LOOKASIDE_MISS_FULL\x00CACHE_HIT\x00CACHE_MISS\x00CACHE_WRITE\x00DEFERRED_FKS\x00CACHE_USED_SHARED\x00CACHE_SPILL\x00?INTEGER?\x00sqlite3_free\x00memset\x00memget\x00sqlite3_memory_used\x00sqlite3_memory_highwater\x00sqlite3_memdebug_backtrace\x00sqlite3_memdebug_dump\x00sqlite3_memdebug_fail\x00sqlite3_memdebug_pending\x00sqlite3_memdebug_settitle\x00sqlite3_memdebug_malloc_count\x00sqlite3_memdebug_log\x00sqlite3_config_pagecache\x00sqlite3_config_alt_pcache\x00sqlite3_status\x00sqlite3_db_status\x00install_malloc_faultsim\x00sqlite3_config_heap\x00sqlite3_config_heap_size\x00sqlite3_config_memstatus\x00sqlite3_config_lookaside\x00sqlite3_config_error\x00sqlite3_config_uri\x00sqlite3_config_cis\x00sqlite3_config_pmasz\x00sqlite3_db_config_lookaside\x00sqlite3_dump_memsys3\x00sqlite3_dump_memsys5\x00sqlite3_install_memsys3\x00sqlite3_memdebug_vfs_oom_test\x00%05u\x00 FILENAME [OFFSET AMT]\"\x00unable to open file \"\x00\" for reading\x00md5\x00md5-10x8\x00md5file\x00md5file-10x8\x00md5sum\x00%03d\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_control\x00chunksize\x00multiplex_truncate\x00multiplex/%z\x00multiplex\x00NAME MAKEDEFAULT\x00-force\x00?-force?\x00enable\x00chunk_size\x00max_chunks\x00HANDLE DBNAME SUB-COMMAND INT-VALUE\x00expected database handle, got \"\x00sqlite3_multiplex_initialize\x00sqlite3_multiplex_shutdown\x00sqlite3_multiplex_control\x00fast\x00recursive\x00static_main\x00static_mem\x00static_open\x00static_prng\x00static_lru\x00static_pmem\x00static_app1\x00static_app2\x00static_app3\x00static_vfs1\x00static_vfs2\x00static_vfs3\x00mutex counters are \x00already installed\x00not installed\x00singlethread\x00multithread\x00serialized\x00mutex name\x00disable_mutex_init\x00disable_mutex_try\x00sqlite3_shutdown\x00sqlite3_initialize\x00sqlite3_config\x00enter_static_mutex\x00leave_static_mutex\x00enter_db_mutex\x00leave_db_mutex\x00alloc_dealloc_mutex\x00install_mutex_counters\x00read_mutex_counters\x00clear_mutex_counters\x00\x00\x00\x00\x00\x00\x00\x00vfslog/%z\x00sqlite_ostrace1.....\x00xClose\x00xRead\x00xWrite\x00xTruncate\x00xFilesize\x00xLock\x00xUnlock\x00xCheckResLock\x00xFileControl\x00xSectorSize\x00xDeviceChar\x00xDelete\x00xAccess\x00xFullPathname\x00xRandomness\x00xSleep\x00xCurrentTime\x00xShmUnmap\x00xShmLock\x00xShmBarrier\x00xShmMap\x00annotation\x00CREATE TABLE xxx(event, file, click, rc, size, offset)\x00vfslog\x00VFS\x00failed\x00VFS PARENT LOGFILE\x00bad sqlite3 handle: \x00annotate\x00finalize\x00register\x00quota/%z\x00quota\x00::piLimit_\x00PATTERN LIMIT SCRIPT\x00FILENAME MODE\x00HANDLE SIZE NELEM\x00HANDLE SIZE NELEM CONTENT\x00HANDLE ?HARDSYNC?\x00HANDLE OFFSET WHENCE\x00SEEK_SET\x00SEEK_CUR\x00SEEK_END\x00WHENCE should be SEEK_SET, SEEK_CUR, or SEEK_END\x00HANDLE SIZE\x00PATTERN TEXT\x00sqlite3_quota_initialize\x00sqlite3_quota_shutdown\x00sqlite3_quota_set\x00sqlite3_quota_file\x00sqlite3_quota_dump\x00sqlite3_quota_fopen\x00sqlite3_quota_fread\x00sqlite3_quota_fwrite\x00sqlite3_quota_fclose\x00sqlite3_quota_fflush\x00sqlite3_quota_fseek\x00sqlite3_quota_rewind\x00sqlite3_quota_ftell\x00sqlite3_quota_ftruncate\x00sqlite3_quota_file_size\x00sqlite3_quota_file_truesize\x00sqlite3_quota_file_mtime\x00sqlite3_quota_remove\x00sqlite3_quota_glob\x00sqlite3_quota_file_available\x00sqlite3_quota_ferror\x00cube\x00circle\x00Qcircle\x00breadthfirstsearch\x00register_cube_geom\x00register_circle_geom\x00CREATE TABLE x(database,tablename,cid,name,type,not_null,dflt_value,pk)\x00SELECT name FROM sqlite_temp_schema WHERE type='table'\x00SELECT name FROM %Q.sqlite_schema WHERE type='table'\x00PRAGMA %Q.table_info(%Q)\x00PRAGMA database_list\x00register_schema_module\x00PRAGMA main.journal_mode\x00CMDNAME PATH ?VFS? ?BUSY-HANDLER-SCRIPT?\x00sqlite3demo_superlock\x00open\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00pread\x00pread64\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00mremap\x00SYSCALL-LIST\x00system-call\x00?COUNT PERSIST?\x00EACCES\x00EINTR\x00EIO\x00EOVERFLOW\x00ENOMEM\x00EAGAIN\x00ETIMEDOUT\x00EBUSY\x00EPERM\x00EDEADLK\x00ENOLCK\x00SYSCALL ERRNO\x00errno\x00PGSZ\x00getpagesize\x00pgsz out of range\x00fault\x00install\x00uninstall\x00list\x00defaultvfs\x00pagesize\x00VFS does not support xSetSystemCall\x00test_syscall\x00load_testfixture_extensions\x00SLAVE\x00CREATE TABLE x( name TEXT, arrayname TEXT, value TEXT, fullname TEXT PRIMARY KEY) WITHOUT ROWID\x00array names\x00tclvar_filter_cmd\x00%s(%s)\x00expr {[info exists ::tclvar_set_omit] && $::tclvar_set_omit}\x00the 'fullname' column must be TEXT\x00prohibited TCL variable change\x00proc like {pattern str} {\n set p [string map {% * _ ?} $pattern]\n string match $p $str\n}\nproc tclvar_filter_cmd {eq match glob regexp like} {\n set res {}\n set pattern $eq\n if {$pattern=={}} { set pattern $match }\n if {$pattern=={}} { set pattern * }\n foreach v [uplevel #0 info vars $pattern] {\n if {($glob=={} || [string match $glob [uplevel #0 set $v]])\n && ($like=={} || [like $like [uplevel #0 set $v]])\n && ($regexp=={} || [regexp $regexp [uplevel #0 set $v]])\n } {\n lappend res $v\n }\n }\n set res\n}\n\x00register_tclvar_module\x00clock_seconds\x00sqlthread\x00sqlite3_blocking_step\x00sqlite3_blocking_prepare_v2\x00sqlite3_nonblocking_prepare_v2\x00set\x00Error in Tcl_CreateThread()\x00no parent thread\x00parent\x00spawn\x00VARNAME SCRIPT\x00DBNAME\x00id\x00%s \x00SQLITE_IOERR\x00SQLITE_LOCKED\x00SQLITE_BUSY\x00SQLITE_READONLY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_NOTFOUND\x00SQLITE_OMIT\x00normal|dataonly\x00full|dataonly\x00xCheckReservedLock\x00BEGIN_ATOMIC_WRITE\x00COMMIT_ATOMIC_WRITE\x00ZIPVFS\x00anon\x00SQLITE_ACCESS_EXISTS\x00SQLITE_ACCESS_READWRITE\x00SQLITE_ACCESS_READ\x00xShmOpen\x00 lock\x00 unlock\x00 shared\x00 exclusive\x00shm\x00delete\x00filter\x00ioerr\x00fullerr\x00cantopenerr\x00script\x00devchar\x00sectorsize\x00subcommand\x00FILE ?VALUE?\x00failed to get full path: \x00no such file: \x00unknown method: \x00?CNT PERSIST?\x00default\x00undeletable_when_open\x00immutable\x00?ATTR-LIST?\x00bad flags: \x00?VALUE?\x00-noshm\x00-szosfile\x00-mxpathname\x00-iversion\x00-fullshm\x00VFSNAME ?-noshm BOOL? ?-fullshm BOOL? ?-default BOOL? ?-mxpathname INT? ?-szosfile INT? ?-iversion INT?\x00shared\x00lock\x00unlock\x00DB DBNAME (shared|exclusive) (lock|unlock) OFFSET N\x00ARG\x00DB DBNAME SLOT ?VALUE?\x00*-shm is not yet mapped\x00testvfs\x00vfs_shmlock\x00vfs_set_readmark\x00DB NAME XSTEP XFINAL XVALUE XINVERSE\x00fff\x00misuse test error\x00invalid argument\x00sumint\x00sum\x00sqlite3_create_window_function\x00test_create_window_function_misuse\x00test_create_sumint\x00test_override_sum\x00" +var ts1 = "%s\x00internal error!\x00SELECT * FROM main.%Q WHERE sample()\x00expert\x00PRAGMA table_xinfo=%Q\x00main\x00, \x00%Q\x00 COLLATE %Q\x00 COLLATE %s\x00 DESC\x00PRAGMA index_list=%Q\x00PRAGMA index_xInfo=%Q\x00%s_idx_%08x\x00CREATE INDEX '%q' ON %Q(%s)\x00CREATE INDEX %s ON %s(%s)\x00EXPLAIN QUERY PLAN %s\x00 USING INDEX \x00 USING COVERING INDEX \x00%s\n\x00%s;\n\x00SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_schema WHERE tbl_name = %Q AND type IN ('table', 'trigger') ORDER BY type;\x00ALTER TABLE temp.%Q RENAME TO %Q\x00INSERT INTO %Q VALUES(\x00%s?\x00\x00)\x00UPDATE %Q SET \x00%s%Q=?\x00DELETE FROM %Q\x00t592690916721053953805701627921227776\x00DROP TABLE t592690916721053953805701627921227776\x00SELECT type, name, sql, 1 FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%' UNION ALL SELECT type, name, sql, 2 FROM sqlite_schema WHERE type = 'trigger' AND tbl_name IN(SELECT name FROM sqlite_schema WHERE type = 'view') ORDER BY 4, 1\x00CREATE TABLE x(\x00%s%Q COLLATE %s\x00CREATE VIRTUAL TABLE %Q USING expert(%Q)\x00SELECT max(i.seqno) FROM sqlite_schema AS s, pragma_index_list(s.name) AS l, pragma_index_info(l.name) AS i WHERE s.type = 'table'\x00%sx.%Q IS rem(%d, x.%Q) COLLATE %s\x00%s%d\x00SELECT %s FROM %Q x ORDER BY %s\x00SELECT %s FROM temp.t592690916721053953805701627921227776 x ORDER BY %s\x00%d\x00 %d\x00DROP TABLE IF EXISTS temp.t592690916721053953805701627921227776\x00CREATE TABLE temp.t592690916721053953805701627921227776 AS SELECT * FROM %Q\x00SELECT s.rowid, s.name, l.name FROM sqlite_schema AS s, pragma_index_list(s.name) AS l WHERE s.type = 'table'\x00SELECT name, coll FROM pragma_index_xinfo(?) WHERE key\x00INSERT INTO sqlite_stat1 VALUES(?, ?, ?)\x00ANALYZE; PRAGMA writable_schema=1\x00rem\x00sample\x00ANALYZE sqlite_schema\x00:memory:\x00SELECT sql FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%%' AND sql NOT LIKE 'CREATE VIRTUAL %%'\x00%s;%s%s\n\x00 -- stat1: \x00no such handle: \x00sql\x00TABLE\x00analyze\x00count\x00report\x00STMT EREPORT\x00destroy\x00SUBCOMMAND ...\x00sub-command\x00indexes\x00plan\x00candidates\x00DB\x00sqlite3expert%d\x00out of memory\x00sqlite3_expert_new\x00SQLITE_DONE\x00SQLITE_ERROR\x00SQLITE_OK\x00SELECT fts5(?1)\x00error: \x00fts5_api_ptr\x00f5t_2_%lld\x00xColumnCount\x00xRowCount\x00xColumnTotalSize\x00COL\x00xTokenize\x00TEXT SCRIPT\x00xPhraseCount\x00xPhraseSize\x00PHRASE\x00xInstCount\x00xInst\x00IDX\x00xRowid\x00xColumnText\x00xColumnSize\x00xQueryPhrase\x00PHRASE SCRIPT\x00xSetAuxdata\x00VALUE\x00xGetAuxdata\x00CLEAR\x00xSetAuxdataInt\x00INTEGER\x00xGetAuxdataInt\x00xPhraseForeach\x00IPHRASE COLVAR OFFVAR SCRIPT\x00xPhraseColumnForeach\x00IPHRASE COLVAR SCRIPT\x00SUB-COMMAND\x00f5t_%lld\x00bytearray\x00boolean\x00double\x00wideInt\x00int\x00DB NAME SCRIPT\x00?-subst? DB NAME TEXT\x00-subst\x00unrecognized option: \x00no such tokenizer: \x00error in tokenizer.xCreate()\x00error in tokenizer.xTokenize()\x00document\x00aux\x00query\x00prefixquery\x00invalid\x00-colocated\x00sqlite3_fts5_token may only be used by tokenizer callback\x00?-colocated? TEXT START END\x00error in fts5_api.xCreateTokenizer()\x00NSLOT TOKEN\x00sqlite3_fts5_create_tokenizer\x00sqlite3_fts5_token\x00sqlite3_fts5_tokenize\x00sqlite3_fts5_create_function\x00sqlite3_fts5_may_be_corrupt\x00sqlite3_fts5_token_hash\x00sqlite3_fts5_register_matchinfo\x00sqlite3_fts5_register_fts5tokenize\x00unrecognized matchinfo flag: %c\x00pcx\x00matchinfo\x00CREATE TABLE x(input HIDDEN, token, start, end, position)\x00fts5tokenize\x00apndvfs\x00Start-Of-SQLite3-\x00apnd(%lld)/%z\x00SQLite format 3\x00%s: cost must be between 1 and %d\x00%s: maximum string length is %d\x00%s: iLang must be between 0 and %d\x00?\x00SELECT * FROM %Q.%Q\x00%s: %s\x00%s: %s has %d columns, expected 4\x00vocabulary_table\x00vocabulary_word\x00vocabulary_language\x00edit_distances\x00unrecognized argument: [%s]\n\x00no edit_distances table specified\x00CREATE TABLE x(word,distance,language,command HIDDEN,nword HIDDEN)\x000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^abcdefghijklmnopqrstuvwxyz~\x00SELECT \"%w\" FROM \"%w\"\x00 WHERE \"%w\">=?1 AND \"%w\"=?2 ORDER BY 1\x00SELECT \"%w\" FROM \"%w\" WHERE \"%w\">=?1 ORDER BY 1\x00*\x00DELETE from %s is not allowed\x00UPDATE of %s is not allowed\x00INSERT INTO %s allowed for column [command] only\x00approximate_match\x00int32\x00int64\x00char*\x00CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)\x00carray-bind\x00carray\x00unknown datatype: %Q\x00inttoptr\x00cksmvfs\x00ZV-\x00checksum fault offset %lld of \"%s\"\x00checksum_verification\x00enable%\x00yes\x00on\x00page_size\x00cksm/%z\x00verify_checksum\x00tablename\x00idcolumn\x00parentcolumn\x00CREATE TABLE x(id,depth,root HIDDEN,tablename HIDDEN,idcolumn HIDDEN,parentcolumn HIDDEN)\x00SELECT \"%w\".\"%w\" FROM \"%w\" WHERE \"%w\".\"%w\"=?1\x00transitive_closure\x00rb\x00cannot open '%s' for reading\x00line %d: unescaped %c character\x00line %d: unterminated %c-quoted field\n\x00more than one '%s' parameter\x00true\x00no\x00off\x00false\x00header\x00more than one 'header' parameter\x00testflags\x00columns\x00more than one 'columns' parameter\x00column= value must be positive\x00bad parameter: '%s'\x00must specify either filename= or data= but not both\x00%sc%d TEXT\x00,\x00%s\"%w\" TEXT\x00bad schema: '%s' - %s\x00filename\x00data\x00schema\x00csv\x00csv_wr\x00decimal_sum\x00decimal\x00decimal_cmp\x00decimal_add\x00decimal_sub\x00decimal_mul\x00 \x00eval\x00CREATE TABLE x(addr,opcode,p1,p2,p3,p4,p5,comment,sql HIDDEN)\x00EXPLAIN %s\x00explain\x00wb\x00wrong number of arguments to function writefile()\x00failed to create symlink: %s\x00failed to create directory: %s\x00failed to write file: %s\x00CREATE TABLE x(name,mode,mtime,data,path HIDDEN,dir HIDDEN)\x00cannot read directory: %s\x00%s/%s\x00cannot stat file: %s\x00table function fsdir requires an argument\x00table function fsdir requires a non-NULL argument\x00fsdir\x00readfile\x00writefile\x00lsmode\x00%s: ruleset must be between 0 and %d\x00%s: wrong number of CREATE VIRTUAL TABLE arguments\x00CREATE TABLE x(word,distance,ruleset)\x00fuzzer\x00ieee754(%lld,%d)\x00ieee754\x00ieee754_mantissa\x00ieee754_exponent\x00ieee754_to_blob\x00ieee754_from_blob\x00BEGIN; SELECT * FROM %s%q%ssqlite_schema\x00'\x00'.\x00PRAGMA %s%q%spage_size\x00sqlite3_mmap_warm_cache: Warmed up %d pages of %s\x00END\x00AND (%s)\x00collate \"%w\"\x00SELECT %s FROM %s WHERE %s>=(?1 || ?2) %s AND %s<=(?1 || char(1114111)) %s %s ORDER BY 1 %s ASC LIMIT 1\x00next_char\x00NULL\x00is\x00not\x00in(\x00in(select\x00in(with\x00?,?,?\x002nd argument to percentile() is not a number between 0.0 and 100.0\x002nd argument to percentile() is not the same for all input rows\x001st argument to percentile() is not numeric\x00Inf input to percentile()\x00percentile\x00CREATE TABLE prefixes(prefix TEXT, original_string TEXT HIDDEN)\x00prefixes\x00prefix_length\x00unknown \\ escape\x00afnrtv\\()*.+?[$^{|}]\x00\a\f\n\r\t\v\x00unmatched '('\x00'*' without operand\x00'+' without operand\x00'?' without operand\x00'{m,n}' without operand\x00unmatched '{'\x00n less than m in '{m,n}'\x00both m and n are zero in '{m,n}'\x00POSIX character classes not supported\x00unclosed '['\x00unrecognized character\x00regexp\x00regexpi\x00remember\x00CREATE TABLE x(value,start hidden,stop hidden,step hidden)\x00generate_series() requires SQLite 3.8.12 or later\x00generate_series\x00.ABCDHLRMY9 ?\x00non-ASCII input to editdist()\x00NULL input to editdist()\x00SELECT iLang, cFrom, cTo, iCost FROM \"%w\" WHERE iLang>=0 ORDER BY iLang\x00editdist3\x00DROP TABLE IF EXISTS \"%w\".\"%w_vocab\"\x00CREATE TABLE x(word,rank,distance,langid, score, matchlen, phonehash HIDDEN, top HIDDEN, scope HIDDEN, srchcnt HIDDEN, soundslike HIDDEN, command HIDDEN)\x00CREATE TABLE IF NOT EXISTS \"%w\".\"%w_vocab\"(\n id INTEGER PRIMARY KEY,\n rank INT,\n langid INT,\n word TEXT,\n k1 TEXT,\n k2 TEXT\n);\n\x00CREATE INDEX IF NOT EXISTS \"%w\".\"%w_vocab_index_langid_k2\" ON \"%w_vocab\"(langid,k2);\x00edit_cost_table=\x00bad argument to spellfix1(): \"%s\"\x00SELECT id, word, rank, coalesce(k1,word) FROM \"%w\".\"%w_vocab\" WHERE langid=%d AND k2>=?1 AND k2=%lld\x00AND\x00%z %s rowid<=%lld\x00CREATE TABLE x(value)\x00wholenumber\x00CREATE TABLE y(name PRIMARY KEY,mode,mtime,sz,rawdata,data,method,z HIDDEN) WITHOUT ROWID;\x00zipfile\x00zipfile constructor requires one argument\x00error in fread()\x00error in fwrite()\x00failed to read CDS at offset %lld\x00%.*s\x00failed to read LFH at offset %d\x001.2.11\x00inflateInit2() failed (%d)\x00inflate() failed (%d)\x00zipfile: deflate() error\x00cannot find end of central directory record\x00zipfile() function requires an argument\x00cannot open file: %s\x00-rwxrwxrwx\x00zipfile: mode does not match data\x00zipfile: parse error in mode: %s\x00zipfile: missing filename\x00ab+\x00zipfile: failed to open file %s for writing\x00sz must be NULL\x00rawdata must be NULL\x00unknown compression method: %d\x00%s/\x00duplicate name: \"%s\"\x00{\"version-made-by\" : %u, \"version-to-extract\" : %u, \"flags\" : %u, \"compression\" : %u, \"time\" : %u, \"date\" : %u, \"crc32\" : %u, \"compressed-size\" : %u, \"uncompressed-size\" : %u, \"file-name-length\" : %u, \"extra-field-length\" : %u, \"file-comment-length\" : %u, \"disk-number-start\" : %u, \"internal-attr\" : %u, \"external-attr\" : %u, \"offset\" : %u }\x00zipfile_cds\x00wrong number of arguments to function zipfile()\x00first argument to zipfile() must be non-NULL\x00illegal method value: %d\x00non-directory name must not end with /\x00rbu_delta\x00step\x00close\x00create_rbu_delta\x00savestate\x00dbMain_eval\x00SQL\x00bp_progress\x00db\x00RBU\x00state\x00progress\x00close_no_error\x00temp_size_limit\x00LIMIT\x00temp_size\x00dbRbu_eval\x00METHOD\x00method\x00 - \x00oal\x00move\x00checkpoint\x00done\x00error\x00NAME TARGET-DB RBU-DB ?STATE-DB?\x00NAME TARGET-DB ?STATE-DB?\x00?-default? NAME PARENT\x00NAME\x00sqlite3rbu_db(0, 0)!=0\x00sqlite3rbu\x00sqlite3rbu_vacuum\x00sqlite3rbu_create_vfs\x00sqlite3rbu_destroy_vfs\x00sqlite3rbu_internal_test\x00DB SQL\x00error in sql_exec_changeset()\x00sqlite3session_streams\x00attach\x00changeset\x00delete\x00enable\x00BOOL\x00indirect\x00isempty\x00table_filter\x00SCRIPT\x00patchset\x00diff\x00FROMDB TBL\x00memory_used\x00changeset_size\x00object_config_size\x00CMD DB-HANDLE DB-NAME\x00n\x00i\x00f\x00t\x00b\x00FOREIGN_KEY\x00INSERT\x00UPDATE\x00DELETE\x00DATA\x00NOTFOUND\x00CONFLICT\x00CONSTRAINT\x00OMIT\x00-nosavepoint\x00-invert\x00?-nosavepoint? ?-inverse? DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET\x00CHANGESET\x00LEFT RIGHT\x00-next\x00?-next? ?-invert? VARNAME CHANGESET SCRIPT\x00configure\x00REBASE-BLOB\x00rebase\x00OP VALUE\x00strm_size\x00sqlite3session\x00sqlite3session_foreach\x00sqlite3changeset_invert\x00sqlite3changeset_concat\x00sqlite3changeset_apply\x00sqlite3changeset_apply_v2\x00sqlite3changeset_apply_replace_all\x00sql_exec_changeset\x00sqlite3rebaser_create\x00sqlite3session_config\x00incrblob\x00incrblob_%d\x00%lld\x00sqlite_unlock_notify_arg\x00sqlite_unlock_notify_argcount\x00SQLITE_COPY\x00SQLITE_CREATE_INDEX\x00SQLITE_CREATE_TABLE\x00SQLITE_CREATE_TEMP_INDEX\x00SQLITE_CREATE_TEMP_TABLE\x00SQLITE_CREATE_TEMP_TRIGGER\x00SQLITE_CREATE_TEMP_VIEW\x00SQLITE_CREATE_TRIGGER\x00SQLITE_CREATE_VIEW\x00SQLITE_DELETE\x00SQLITE_DROP_INDEX\x00SQLITE_DROP_TABLE\x00SQLITE_DROP_TEMP_INDEX\x00SQLITE_DROP_TEMP_TABLE\x00SQLITE_DROP_TEMP_TRIGGER\x00SQLITE_DROP_TEMP_VIEW\x00SQLITE_DROP_TRIGGER\x00SQLITE_DROP_VIEW\x00SQLITE_INSERT\x00SQLITE_PRAGMA\x00SQLITE_READ\x00SQLITE_SELECT\x00SQLITE_TRANSACTION\x00SQLITE_UPDATE\x00SQLITE_ATTACH\x00SQLITE_DETACH\x00SQLITE_ALTER_TABLE\x00SQLITE_REINDEX\x00SQLITE_ANALYZE\x00SQLITE_CREATE_VTABLE\x00SQLITE_DROP_VTABLE\x00SQLITE_FUNCTION\x00SQLITE_SAVEPOINT\x00SQLITE_RECURSIVE\x00????\x00SQLITE_DENY\x00SQLITE_IGNORE\x00RELEASE _tcl_transaction\x00COMMIT\x00ROLLBACK TO _tcl_transaction ; RELEASE _tcl_transaction\x00option\x00?CALLBACK?\x00?DATABASE? FILENAME\x00cannot open target database: \x00backup failed: \x00CALLBACK\x00cache option ?arg?\x00flush\x00size\x00size n\x00cannot convert \"\x00\" to integer\x00bad option \"\x00\": must be flush or size\x00NAME SCRIPT\x00?OPTION? ?BOOLEAN?\x00unknown config option: \"\x00\"\x00CONFLICT-ALGORITHM TABLE FILENAME ?SEPARATOR? ?NULLINDICATOR?\x00\t\x00Error: non-null separator required for copy\x00rollback\x00abort\x00fail\x00ignore\x00replace\x00Error: \"\x00\", conflict-algorithm must be one of: rollback, abort, fail, ignore, or replace\x00SELECT * FROM '%q'\x00Error: no such table: \x00Error: \x00Error: can't malloc()\x00INSERT OR %q INTO '%q' VALUES(?\x00Error: cannot open file: \x00BEGIN\x00Error: %s line %d: expected %d columns of data but found %d\x00, failed while processing line: \x00?DATABASE? VALUE\x00-maxsize\x00-readonly\x00unknown option: \x00unable to set MEMDB content\x00extension loading is turned off at compile-time\x00-withoutnulls\x00unknown option: \"\x00?OPTIONS? SQL ?ARRAY-NAME? ?SCRIPT?\x00NAME ?SWITCHES? SCRIPT\x00-argcount\x00option requires an argument: \x00number of arguments must be non-negative\x00-deterministic\x00-directonly\x00-innocuous\x00-returntype\x00real\x00text\x00blob\x00any\x00type\x00\": must be -argcount, -deterministic, -directonly, -innocuous, or -returntype\x00?-readonly? ?DB? TABLE COLUMN ROWID\x00NULLVALUE\x00N CALLBACK\x00KEY\x00cannot open source database: \x00restore failed: \x00restore failed: source database busy\x00?DATABASE?\x00(step|sort|autoindex)\x00sort\x00autoindex\x00vmstep\x00bad argument: should be autoindex, step, sort or vmstep\x00MILLISECONDS\x00?CALLBACK? ?MASK?\x00trace type\x00SAVEPOINT _tcl_transaction\x00[TYPE] SCRIPT\x00transaction type\x00BEGIN EXCLUSIVE\x00BEGIN IMMEDIATE\x00?SCRIPT?\x00SUB-COMMAND ?ARGS?\x00hook ?SCRIPT?\x00INDEX\x00-use-legacy-prepare\x00-last-stmt-ptr\x00%p\x00unknown argument: \x00authorizer\x00backup\x00bind_fallback\x00busy\x00cache\x00changes\x00collate\x00collation_needed\x00commit_hook\x00complete\x00config\x00copy\x00deserialize\x00enable_load_extension\x00errorcode\x00exists\x00function\x00interrupt\x00last_insert_rowid\x00nullvalue\x00onecolumn\x00preupdate\x00profile\x00rekey\x00restore\x00rollback_hook\x00serialize\x00status\x00timeout\x00total_changes\x00trace\x00trace_v2\x00transaction\x00unlock_notify\x00update_hook\x00version\x00wal_hook\x00defensive\x00dqs_ddl\x00dqs_dml\x00enable_fkey\x00enable_qpsg\x00enable_trigger\x00enable_view\x00fts3_tokenizer\x00legacy_alter_table\x00legacy_file_format\x00load_extension\x00no_ckpt_on_close\x00reset_database\x00trigger_eqp\x00trusted_schema\x00writable_schema\x00statement\x00row\x00deferred\x00exclusive\x00immediate\x00depth\x00hook\x00new\x00old\x00HANDLE ?FILENAME? ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nofollow BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?\x00-version\x00-sourceid\x00-has-codec\x000\x00-key\x00-vfs\x00-create\x00-nofollow\x00-nomutex\x00-fullmutex\x00-uri\x00-translatefilename\x00sqlite3\x00sqlite\x003.36.0\x00if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewline \"% \"\n}\nflush stdout\nappend line [gets stdin]\nif {[info complete $line]} {\nif {[catch {uplevel #0 $line} result]} {\nputs stderr \"Error: $result\"\n} elseif {$result!=\"\"} {\nputs $result\n}\nset line {}\n} else {\nappend line \\n\n}\n}\n}\n\x00SQLITE_DEBUG_BREAK\x00attach debugger to process %d and press any key to continue.\n\x00utf-8\x00argc\x00argv0\x00argv\x00errorInfo\x00%s: %s\n\x00SQLITE-CONNECTION\x00command not found: \x00error code %s (%d) does not match sqlite3_errcode %s (%d)\x00OMIT_MISUSE\x00wrong # args: should be \"\x00 DB FORMAT STRING\x00 DB HEX\x00 DB\x00 DB SQL\x00%z%s%s\x00%s%n\x00abcdefghijklmnopqrstuvwxyz\x00 DB FORMAT STRING ?COUNT?\x00 DB\"\x00 FILENAME\"\x00%02x\x00%04x\x00tkt2213 is not fixed\x00text16\x00bytes\x00bytes16\x00noop\x00x_coalesce\x00hex8\x00hex16\x00tkt2213func\x00pointer_change\x00counter1\x00counter2\x00intreal\x00x_sqlite_exec\x00value of 40 handed to x_count\x00x_count totals to 42\x00x_count\x00legacy_count\x00 TEXT\"\x00 FORMAT INT INT INT\"\x00argument is not a valid 64-bit integer\x00 FORMAT INT INT ?STRING?\"\x00 INT FORMAT INT INT ?STRING?\"\x00N must be non-negative\x00 FORMAT INT INT DOUBLE\"\x00 FORMAT DOUBLE DOUBLE\"\x00 FORMAT STRING\"\x00%08x%08x\x002nd argument should be 16-characters of hex\x00?BOOLEAN?\x00DB BOOLEAN\x00DB dbname tblname colname\x00CHANNEL ROWID\x00DB-HANDLE NAME CMP-PROC DEL-PROC\x00sqlite3_create_collate_v2() failed to detect an invalid encoding\x00utf8\x00utf16\x00utf16le\x00utf16be\x00DB NAME NARG ENC SWITCHES...\x00encoding\x00-func\x00-step\x00-final\x00-destroy\x00switch\x00DB-HANDLE FILE ?PROC?\x00this build omits sqlite3_load_extension()\x00DB-HANDLE ONOFF\x00string\x00value\x00first argument should be one of: int int64 string double null value\x00 DB FUNCTION-NAME\x00 \x00STMT PARAMETER RESETFLAG\x00SQLITE_STMTSTATUS_FULLSCAN_STEP\x00SQLITE_STMTSTATUS_SORT\x00SQLITE_STMTSTATUS_AUTOINDEX\x00SQLITE_STMTSTATUS_VM_STEP\x00SQLITE_STMTSTATUS_REPREPARE\x00SQLITE_STMTSTATUS_RUN\x00SQLITE_STMTSTATUS_MEMUSED\x00NBYTE\x00DB DBNAME\x00DB DBNAME SNAPSHOT\x00SNAPSHOT\x00SNAPSHOT1 SNAPSHOT2\x00bad SNAPSHOT\x00FILE\x00PATH\x00 DB STMT\x00 STMT\x00 FROM-STMT TO-STMT\x00 VM IDX VALUE (null|static|normal)\"\x00static\x00static-nbytes\x00normal\x00blob10\x00abc\x00xyz\x00pq\x004th argument should be \"null\" or \"static\" or \"normal\"\x00(%d) \x00test_collate\x00UTF-8\x00UTF-16LE\x00UTF-16BE\x00 \x00utf16bin\x00utf16_unaligned\x00utf16_aligned\x00test_function\x00\x00STMT IDX N\x00 STMT N VALUE\x00NaN\x00SNaN\x00-NaN\x00-SNaN\x00+Inf\x00-Inf\x00Epsilon\x00-Epsilon\x00NaN0\x00-NaN0\x00 STMT N\x00 STMT N VALUE BYTES\x00 STMT N DATA BYTES\x00cannot use %d blob bytes, have %d\x00-transient\x00-static\x00-int32\x00-int64\x00-double\x00-text\x00--\x00text data must be either -static or -transient\x00cannot be both -static and -transient\x00[OPTIONS] STMT IDX VALUE ...\x00STMT\x00STMT N\x00STMT NAME\x00 DB sql bytes ?tailvar?\x00 DB sql bytes tailvar\x00 DB sql bytes flags tailvar\x00\x00SELECT 1\x00 filename options-list\x00FILENAME FLAGS VFS\x00SQLITE_OPEN_READONLY\x00SQLITE_OPEN_READWRITE\x00SQLITE_OPEN_CREATE\x00SQLITE_OPEN_DELETEONCLOSE\x00SQLITE_OPEN_EXCLUSIVE\x00SQLITE_OPEN_AUTOPROXY\x00SQLITE_OPEN_MAIN_DB\x00SQLITE_OPEN_TEMP_DB\x00SQLITE_OPEN_TRANSIENT_DB\x00SQLITE_OPEN_MAIN_JOURNAL\x00SQLITE_OPEN_TEMP_JOURNAL\x00SQLITE_OPEN_SUBJOURNAL\x00SQLITE_OPEN_SUPER_JOURNAL\x00SQLITE_OPEN_NOMUTEX\x00SQLITE_OPEN_FULLMUTEX\x00SQLITE_OPEN_SHAREDCACHE\x00SQLITE_OPEN_PRIVATECACHE\x00SQLITE_OPEN_WAL\x00SQLITE_OPEN_URI\x00flag\x00\x00 STMT column\x00FLOAT\x00TEXT\x00BLOB\x00 DB MAGIC\x00SQLITE_MAGIC_OPEN\x00SQLITE_MAGIC_CLOSED\x00SQLITE_MAGIC_BUSY\x00SQLITE_MAGIC_ERROR\x00 DB function-name\x00VARIABLE\x00?N?\x001234567890000000\x00__one\x00__two\x00notadatabase\x00Unexpected non-zero errno: \x00DB [DBNAME]\x00%u\x00DB DBNAME SIZE\x00 DB PWD\x00 DB FLAG\x00%d %d\x00 DB ?AUXDB?\x00DB N\x00 DB ID VALUE\x00unknown limit type: \x00SQLITE_LIMIT_LENGTH\x00SQLITE_LIMIT_SQL_LENGTH\x00SQLITE_LIMIT_COLUMN\x00SQLITE_LIMIT_EXPR_DEPTH\x00SQLITE_LIMIT_COMPOUND_SELECT\x00SQLITE_LIMIT_VDBE_OP\x00SQLITE_LIMIT_FUNCTION_ARG\x00SQLITE_LIMIT_ATTACHED\x00SQLITE_LIMIT_LIKE_PATTERN_LENGTH\x00SQLITE_LIMIT_VARIABLE_NUMBER\x00SQLITE_LIMIT_TRIGGER_DEPTH\x00SQLITE_LIMIT_WORKER_THREADS\x00SQLITE_LIMIT_TOOSMALL\x00SQLITE_LIMIT_TOOBIG\x00SEED ?DB?\x00BOOLEAN\x00current\x00max\x00min\x00recyclable\x00DB ?NAME?\x00passive\x00full\x00restart\x00truncate\x00DB MODE ?NAME?\x00mode\x00DB VALUE\x00COMMAND ...\x00command has no objProc: \x00%d %d %d %s\n\x00SQLITE_TESTCTRL_LOCALTIME_FAULT\x00SQLITE_TESTCTRL_SORTER_MMAP\x00SQLITE_TESTCTRL_IMPOSTER\x00SQLITE_TESTCTRL_INTERNAL_FUNCTIONS\x00VERB ARGS...\x00VERB\x00ONOFF\x00DB LIMIT\x00DB dbName onOff tnum\x00ru_utime=%d.%06d ru_stime=%d.%06d ru_minflt=%d ru_majflt=%d\x00DB OPT BOOLEAN\x00unknown optimization - should be one of:\x00all\x00none\x00query-flattener\x00groupby-order\x00factor-constants\x00distinct-opt\x00cover-idx-scan\x00order-by-idx-join\x00transitive\x00omit-noop-join\x00stat4\x00skip-scan\x00push-down\x00DB NAME ...\x00no such extension: \x00initialization of \x00 failed: \x00amatch\x00appendvfs\x00closure\x00fileio\x00nextchar\x00series\x00spellfix\x00totype\x00DB SQL1 NSTEP SQL2\x00data error: (a!=b)\x00checksum mismatch\x00sql error: \x00TYPE\x00Deliberate panic\x00DB SETTING [VALUE]\x00SQLITE_*\x00DBCONFIG_*\x00ENABLE_*\x00unknown sqlite3_db_config setting\x00FKEY\x00TRIGGER\x00FTS3_TOKENIZER\x00LOAD_EXTENSION\x00NO_CKPT_ON_CLOSE\x00QPSG\x00TRIGGER_EQP\x00RESET_DB\x00DEFENSIVE\x00WRITABLE_SCHEMA\x00LEGACY_ALTER_TABLE\x00DQS_DML\x00DQS_DDL\x00LEGACY_FILE_FORMAT\x00DB ?SCHEMA?\x00icecube\x00DB ?DBNAME?\x00DB OFFSET DATA\x00HEXDB\x00| size %d pagesize %d\x00bad 'pagesize' field\x00bad 'size' field\x00| page %d offset %d\x00| %d: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\x00sqlite_search_count\x00sqlite_found_count\x00sqlite_sort_count\x00sqlite3_max_blobsize\x00sqlite_like_count\x00sqlite_interrupt_count\x00sqlite_open_file_count\x00sqlite_current_time\x00sqlite3_xferopt_count\x00sqlite3_pager_readdb_count\x00sqlite3_pager_writedb_count\x00sqlite3_pager_writej_count\x00unaligned_string_counter\x00sqlite_last_needed_collation\x00sqlite_query_plan\x00sqlite_opentemp_count\x00sqlite_static_bind_value\x00sqlite_static_bind_nbyte\x00sqlite_temp_directory\x00sqlite_data_directory\x00bitmask_size\x00longdouble_size\x00sqlite_sync_count\x00sqlite_fullsync_count\x00db_enter\x00db_leave\x00sqlite3_mprintf_int\x00sqlite3_mprintf_int64\x00sqlite3_mprintf_long\x00sqlite3_mprintf_str\x00sqlite3_snprintf_str\x00sqlite3_mprintf_stronly\x00sqlite3_mprintf_double\x00sqlite3_mprintf_scaled\x00sqlite3_mprintf_hexdouble\x00sqlite3_mprintf_z_test\x00sqlite3_mprintf_n_test\x00sqlite3_snprintf_int\x00sqlite3_last_insert_rowid\x00sqlite3_exec_printf\x00sqlite3_exec_hex\x00sqlite3_exec\x00sqlite3_exec_nr\x00sqlite3_get_table_printf\x00sqlite3_close\x00sqlite3_close_v2\x00sqlite3_create_function\x00sqlite3_create_aggregate\x00sqlite3_drop_modules\x00sqlite_register_test_function\x00sqlite_abort\x00sqlite_bind\x00breakpoint\x00sqlite3_key\x00sqlite3_rekey\x00sqlite_set_magic\x00sqlite3_interrupt\x00sqlite_delete_function\x00sqlite_delete_collation\x00sqlite3_get_autocommit\x00sqlite3_busy_timeout\x00printf\x00sqlite3IoTrace\x00clang_sanitize_address\x00sqlite3_db_config\x00sqlite3_txn_state\x00bad_behavior\x00register_dbstat_vtab\x00sqlite3_connection_pointer\x00intarray_addr\x00int64array_addr\x00doublearray_addr\x00textarray_addr\x00sqlite3_bind_int\x00sqlite3_bind_zeroblob\x00sqlite3_bind_zeroblob64\x00sqlite3_bind_int64\x00sqlite3_bind_double\x00sqlite3_bind_null\x00sqlite3_bind_text\x00sqlite3_bind_text16\x00sqlite3_bind_blob\x00sqlite3_carray_bind\x00sqlite3_bind_parameter_count\x00sqlite3_bind_parameter_name\x00sqlite3_bind_parameter_index\x00sqlite3_clear_bindings\x00sqlite3_sleep\x00sqlite3_errcode\x00sqlite3_extended_errcode\x00sqlite3_errmsg\x00sqlite3_errmsg16\x00sqlite3_open\x00sqlite3_open16\x00sqlite3_open_v2\x00sqlite3_complete16\x00sqlite3_normalize\x00sqlite3_prepare\x00sqlite3_prepare16\x00sqlite3_prepare_v2\x00sqlite3_prepare_v3\x00sqlite3_prepare_tkt3134\x00sqlite3_prepare16_v2\x00sqlite3_finalize\x00sqlite3_stmt_status\x00sqlite3_reset\x00sqlite3_expired\x00sqlite3_transfer_bindings\x00sqlite3_changes\x00sqlite3_step\x00sqlite3_sql\x00sqlite3_expanded_sql\x00sqlite3_next_stmt\x00sqlite3_stmt_readonly\x00sqlite3_stmt_isexplain\x00sqlite3_stmt_busy\x00uses_stmt_journal\x00sqlite3_release_memory\x00sqlite3_db_release_memory\x00sqlite3_db_cacheflush\x00sqlite3_system_errno\x00sqlite3_db_filename\x00sqlite3_db_readonly\x00sqlite3_soft_heap_limit\x00sqlite3_soft_heap_limit64\x00sqlite3_hard_heap_limit64\x00sqlite3_thread_cleanup\x00sqlite3_pager_refcounts\x00sqlite3_load_extension\x00sqlite3_enable_load_extension\x00sqlite3_extended_result_codes\x00sqlite3_limit\x00dbconfig_maindbname_icecube\x00save_prng_state\x00restore_prng_state\x00reset_prng_state\x00prng_seed\x00extra_schema_checks\x00database_never_corrupt\x00database_may_be_corrupt\x00optimization_control\x00tcl_objproc\x00sqlite3_column_count\x00sqlite3_data_count\x00sqlite3_column_type\x00sqlite3_column_blob\x00sqlite3_column_double\x00sqlite3_column_int64\x00sqlite3_column_text\x00sqlite3_column_name\x00sqlite3_column_int\x00sqlite3_column_bytes\x00sqlite3_column_decltype\x00sqlite3_column_database_name\x00sqlite3_column_table_name\x00sqlite3_column_origin_name\x00sqlite3_column_bytes16\x00sqlite3_column_text16\x00sqlite3_column_name16\x00add_alignment_test_collations\x00sqlite3_column_decltype16\x00sqlite3_column_database_name16\x00sqlite3_column_table_name16\x00sqlite3_column_origin_name16\x00sqlite3_create_collation_v2\x00sqlite3_global_recover\x00working_64bit_int\x00vfs_unlink_test\x00vfs_initfail_test\x00vfs_unregister_all\x00vfs_reregister_all\x00file_control_test\x00file_control_lasterrno_test\x00file_control_lockproxy_test\x00file_control_chunksize_test\x00file_control_sizehint_test\x00file_control_data_version\x00file_control_persist_wal\x00file_control_powersafe_overwrite\x00file_control_vfsname\x00file_control_reservebytes\x00file_control_tempfilename\x00file_control_external_reader\x00sqlite3_vfs_list\x00sqlite3_create_function_v2\x00add_test_collate\x00add_test_collate_needed\x00add_test_function\x00add_test_utf16bin_collate\x00sqlite3_test_errstr\x00tcl_variable_type\x00sqlite3_enable_shared_cache\x00sqlite3_shared_cache_report\x00sqlite3_libversion_number\x00sqlite3_table_column_metadata\x00sqlite3_blob_reopen\x00pcache_stats\x00sqlite3_unlock_notify\x00sqlite3_wal_checkpoint\x00sqlite3_wal_checkpoint_v2\x00sqlite3_wal_autocheckpoint\x00test_sqlite3_log\x00print_explain_query_plan\x00sqlite3_test_control\x00getrusage\x00load_static_extension\x00sorter_test_fakeheap\x00sorter_test_sort4_helper\x00vfs_current_time_int64\x00sqlite3_snapshot_get\x00sqlite3_snapshot_open\x00sqlite3_snapshot_free\x00sqlite3_snapshot_cmp\x00sqlite3_snapshot_recover\x00sqlite3_snapshot_get_blob\x00sqlite3_snapshot_open_blob\x00sqlite3_snapshot_cmp_blob\x00sqlite3_delete_database\x00atomic_batch_write\x00sqlite3_mmap_warm\x00sqlite3_config_sorterref\x00decode_hexdb\x00test_write_db\x00sqlite3_register_cksumvfs\x00sqlite3_unregister_cksumvfs\x00*** OBSOLETE VARIABLE ***\x00 FILENAME N-PAGE\"\x00 ID\"\x00ref\x00page\x00err\x00hit\x00miss\x00ovfl\x00 ID PGNO\"\x00 PAGE\"\x00 PAGE DATA\"\x00 N-MEGABYTES FILE\"\x00open failed: \x00Hello, World!\x00write failed: \x00 PENDING-BYTE\"\x00fault simulator script failed: [%s]\x00 SCRIPT\"\x00 SIZE PROGRAM\"\x00sqlite_io_error_pending\x00sqlite_io_error_persist\x00sqlite_io_error_hit\x00sqlite_io_error_hardhit\x00sqlite_diskfull_pending\x00sqlite_diskfull\x00sqlite_pending_byte\x00pager_open\x00pager_close\x00pager_commit\x00pager_rollback\x00pager_stmt_begin\x00pager_stmt_commit\x00pager_stmt_rollback\x00pager_stats\x00pager_pagecount\x00page_get\x00page_lookup\x00page_unref\x00page_read\x00page_write\x00page_number\x00pager_truncate\x00fake_big_file\x00sqlite3BitvecBuiltinTest\x00sqlite3_test_control_pending_byte\x00sqlite3_test_control_fault_install\x00 FILENAME NCACHE FLAGS\"\x00read\x00write\x00 ID TABLENUM WRITEABLE\"\x00 START MULTIPLIER COUNT INCREMENT\"\x00putVarint returned %d - should be between 1 and 9\x00putVarint returned %d and getVarint returned %d\x00Wrote 0x%016llx and got back 0x%016llx\x00putVarint returned %d and GetVarint32 returned %d\x00Wrote 0x%016llx and got back 0x%016llx from GetVarint32\x00 DB-HANDLE ?N?\"\x00No such db-handle: \"\x00 BT NCACHE\"\x00?-intkey? CSR KEY VALUE\x00btree_insert\x00btree_open\x00btree_close\x00btree_begin_transaction\x00btree_pager_stats\x00btree_cursor\x00btree_close_cursor\x00btree_next\x00btree_eof\x00btree_payload_size\x00btree_first\x00btree_varint_test\x00btree_from_db\x00btree_ismemdb\x00btree_set_cache_size\x00thread ID must be an upper case letter\x00 ID FILENAME\x00thread \x00 is already running\x00failed to create the thread\x00 ID\x00no such thread\x00 ID N\x00column number out of range\x00no database is open\x00 ID SQL\x00no virtual machine available\x00 IDL\x00 ID1 ID2\x00 ID DB\x00thread_create\x00thread_wait\x00thread_halt\x00thread_argc\x00thread_argv\x00thread_colname\x00thread_result\x00thread_error\x00thread_compile\x00thread_step\x00thread_finalize\x00thread_swap\x00thread_db_get\x00thread_db_put\x00thread_stmt_get\x00 \x00hello world\x00UTF8\x00UTF16LE\x00UTF16BE\x00UTF16\x00No such encoding: \x00 \x00binarize\x00test_value_overhead\x00test_translate\x00translate_selftest\x00out of memory in the crash simulator\n\x00atomic\x00atomic512\x00atomic1k\x00atomic2k\x00atomic4k\x00atomic8k\x00atomic16k\x00atomic32k\x00atomic64k\x00sequential\x00safe_append\x00powersafe_overwrite\x00batch-atomic\x00-sectorsize\x00-characteristics\x00Bad option: \"\x00\" - must be \"-characteristics\" or \"-sectorsize\"\x00Option requires an argument: \"\x00no such flag\x00ENABLE ?DEFAULT?\x00crash\x00?OPTIONS? DELAY CRASHFILE\x00Filename is too long: \"\x00NWRITE\x00?-default? PARENT-VFS\x00-default\x00\": must be -default\x00Error in jt_register\x00sqlite3_crash_enable\x00sqlite3_crashparams\x00sqlite3_crash_now\x00sqlite3_simulate_device\x00sqlite3_crash_on_write\x00unregister_devsim\x00register_jt_vfs\x00unregister_jt_vfs\x00client_create\x00client_wait\x00client_halt\x00client_argc\x00client_argv\x00client_colname\x00client_result\x00client_error\x00client_compile\x00client_step\x00client_reset\x00client_finalize\x00client_swap\x00echo_module_fail(%s,%s)\x00echo-vtab-error: %s\x00SELECT * FROM %Q\x00PRAGMA index_list(%s)\x00PRAGMA index_info(%s)\x00echo_module\x00SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = ?\x00%s%s\x00xCreate\x00CREATE TABLE %Q(logmsg)\x00xConnect\x00xDisconnect\x00xDestroy\x00DROP TABLE %Q\x00xOpen\x00xNext\x00xColumn\x00xFilter\x00, *\x00%z, %s\x00%z, NULL\x00echo_module_ignore_usable\x00xBestIndex\x00echo_module_cost\x00SELECT count(*) FROM %Q\x00SELECT rowid%z FROM %Q\x00rowid\x00=\x00<\x00>\x00<=\x00>=\x00LIKE\x00like\x00glob\x00 %s %s LIKE (SELECT '%%'||?||'%%')\x00 %s %s %s ?\x00DESC\x00ASC\x00 ORDER BY %s %s\x00xUpdate\x00 SET\x00UPDATE %Q\x00 SET rowid=?1 \x00%s %Q=?%d\x00 WHERE rowid=?%d\x00DELETE FROM %Q WHERE rowid = ?1\x00INSERT INTO %Q (\x00%s%Q\x00%s?%d\x00) VALUES(\x00echo(%s)\x00xBegin\x00echo_module_begin_fail\x00xSync\x00echo_module_sync_fail\x00xCommit\x00xRollback\x00::echo_glob_overload\x00xRename\x00ALTER TABLE %s RENAME TO %s%s\x00function_that_does_not_exist_0982ma98\x00echo\x00echo_v2\x00register_echo_module\x00sqlite3_declare_vtab\x00N/A\x00sqlite3_create_collation\x00Error testing function: \x00sqlite3_malloc\x00sqlite3_realloc\x00c_misuse_test\x00c_realloc_test\x00c_collation_test\x00sqlite3_reset_auto_extension\x00npage\x00finish\x00remaining\x00pagecount\x00CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME\x00sqlite3_backup_init() failed\x00sqlite3_backup\x00wrong number of arguments\x00unexpected: %s\x00eq\x00gt\x00le\x00lt\x00ge\x00match\x00ne\x00isnot\x00isnotnull\x00isnull\x00op\x00column\x00usable\x00desc\x00cost\x00orderby\x00idxnum\x00idxstr\x00rows\x00use\x00omit\x00unexpected: %d\x00tcl\x00register_tcl_module\x00incrblob_\x00DB DATABASE TABLE COLUMN ROWID FLAGS VARNAME\x00HANDLE\x00CHANNEL OFFSET N\x00out of memory in testdata/sqlite-src-3360000/src/test_blob.c\x00HANDLE OFFSET DATA ?NDATA?\x00sqlite3_blob_open\x00sqlite3_blob_close\x00sqlite3_blob_bytes\x00sqlite3_blob_read\x00sqlite3_blob_write\x00sqlite_options\x00malloc_usable_size\x001\x00rowid32\x00casesensitivelike\x00configslower\x001.0\x00curdir\x00win32malloc\x00debug\x00default_ckptfullfsync\x00direct_read\x00dirsync\x00lfs\x00pagecache_overflow_stats\x00mmap\x00worker_threads\x008\x00memdebug\x008_3_names\x00cursorhints\x00hiddencolumns\x00mathlib\x00mem3\x00mem5\x00offset_sql_func\x00snapshot\x00mutex\x00mutex_noop\x00altertable\x00api_armor\x00atomicwrite\x00geopoly\x00json1\x00has_codec\x00like_match_blobs\x00auth\x00autoinc\x00autoreset\x00autovacuum\x00default_autovacuum\x00between_opt\x00builtin_test\x00bloblit\x00cast\x00check\x00cte\x00columnmetadata\x00oversize_cell_check\x00compileoption_diags\x00compound\x00conflict\x00crashtest\x00datetime\x00decltype\x00deprecated\x00diskio\x00floatingpoint\x00foreignkey\x00fts1\x00fts2\x00fts3\x00fts5\x00fts3_unicode\x00fts4_deferred\x00gettable\x00icu\x00icu_collations\x00integrityck\x00legacyformat\x00like_opt\x00load_ext\x00localtime\x00lookaside\x00long_double\x00memorydb\x00memorymanage\x00mergesort\x00null_trim\x00or_opt\x00rbu\x00pager_pragmas\x00pragma\x00reindex\x00rtree\x00rtree_int_only\x00schema_pragmas\x00schema_version\x00session\x00stmtvtab\x00scanstatus\x00lock_proxy_pragmas\x00prefer_proxy_locking\x00shared_cache\x00subquery\x00tclvar\x00threadsafe\x00threadsafe1\x00threadsafe2\x00tempdb\x00trigger\x00truncate_opt\x00vacuum\x00view\x00vtab\x00wal\x00wsd\x00update_delete_limit\x00fast_secure_delete\x00secure_delete\x00userauth\x00multiplex_ext_overwrite\x00yytrackmaxstackdepth\x00sqllog\x00uri_00_error\x00normalize\x00windowfunc\x00SQLITE_MAX_LENGTH\x00SQLITE_MAX_COLUMN\x00SQLITE_MAX_SQL_LENGTH\x00SQLITE_MAX_EXPR_DEPTH\x00SQLITE_MAX_COMPOUND_SELECT\x00SQLITE_MAX_VDBE_OP\x00SQLITE_MAX_FUNCTION_ARG\x00SQLITE_MAX_VARIABLE_NUMBER\x00SQLITE_MAX_PAGE_SIZE\x00SQLITE_MAX_PAGE_COUNT\x00SQLITE_MAX_LIKE_PATTERN_LENGTH\x00SQLITE_MAX_TRIGGER_DEPTH\x00SQLITE_DEFAULT_CACHE_SIZE\x00SQLITE_DEFAULT_PAGE_SIZE\x00SQLITE_DEFAULT_FILE_FORMAT\x00SQLITE_DEFAULT_SYNCHRONOUS\x00SQLITE_DEFAULT_WAL_SYNCHRONOUS\x00SQLITE_MAX_ATTACHED\x00SQLITE_MAX_DEFAULT_PAGE_SIZE\x00SQLITE_MAX_WORKER_THREADS\x00TEMP_STORE\x00__GNUC__\x00%s-journal\x00%s-wal\x00%s-shm\x00%s%03d\x00%s-journal%03d\x00%s-wal%03d\x00devsym\x00writecrash\x00CREATE TABLE xyz(dir, name);\x00CREATE TABLE xyz(path, size, data);\x00WITH r(d) AS ( SELECT CASE WHEN dir=?2 THEN ?3 ELSE dir END || '/' || name FROM fsdir WHERE dir=?1 AND name NOT LIKE '.%' UNION ALL SELECT dir || '/' || name FROM r, fsdir WHERE dir=d AND name NOT LIKE '.%') SELECT d FROM r;\x00/\x00CREATE TABLE x(path TEXT, data TEXT)\x00SELECT * FROM %Q.%Q WHERE rowid=?\x00fs\x00fstree\x00register_fs_module\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-!,:*^+=_|?/<> \x00sqlite3_prepare_v2() error: %s\x000123456789abcdef\x00x'\x00test_agg_errmsg16\x00randstr\x00test_destructor\x00test_destructor16\x00hex_to_utf16be\x00hex_to_utf16le\x00hex_to_utf8\x00test_destructor_count\x00test_auxdata\x00test_error\x00test_eval\x00test_isolation\x00test_counter\x00real2hex\x00test_decode\x00test_extract\x00test_zeroblob\x00test_getsubtype\x00test_setsubtype\x00test_frombind\x00tx\x00funcxx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00nullx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00sqlite3_create_function abused test failed\x00invalid matchinfo blob passed to function rank()\x00wrong number of arguments to function rank()\x00rank\x00autoinstall_test_functions\x00abuse_create_function\x00install_fts3_rank_function\x000123456789ABCDEF\x00FILENAME OFFSET AMT\x00r\x00cannot open input file \x00FILENAME OFFSET HEXDATA\x00r+b\x00r+\x00cannot open output file \x00HEXDATA\x00[utf8_to_utf8] unavailable - SQLITE_DEBUG not defined\x00BLOB VARNAME\x00LIST\x00hexio_read\x00hexio_write\x00hexio_get_int\x00hexio_render_int16\x00hexio_render_int32\x00utf8_to_utf8\x00read_fts3varint\x00make_fts3record\x00mem\x00pcache\x00Unknown argument: \"\x00init_wrapper_install\x00init_wrapper_query\x00init_wrapper_uninstall\x00init_wrapper_clear\x00CREATE TABLE x(value INTEGER PRIMARY KEY)\x00CREATE VIRTUAL TABLE temp.%Q USING %Q\x00INTARRAY\x00SQLITE_NOMEM\x00sqlite3_intarray_create\x00sqlite3_intarray_bind\x00jt\x00-journal\x00NBYTES\x00PRIOR NBYTES\x00bad pointer: \x00PRIOR\x00ADDRESS SIZE HEX\x00size must be positive\x00no data\x00ADDRESS SIZE\x00?RESET?\x00DEPT\x00FILENAME\x00COUNTER ?OPTIONS?\x00-repeat\x00-benigncnt\x00TITLE\x00SUB-COMMAND ...\x00start\x00stop\x00dump\x00clear\x00sync\x00SIZE N\x00INSTALLFLAG DISCARDCHANCE PRNGSEEED HIGHSTRESS\x00discard-chance should be between 0 and 100\x00SIZE COUNT\x00BUFID SIZE COUNT\x00illegal arguments - see documentation\x00NBYTE NMINALLOC\x00[DB]\x00sqlite3_db_config(db, 99999) does not return SQLITE_ERROR\x00sqlite3_config(99999) does not return SQLITE_ERROR\x00PARAMETER RESETFLAG\x00SQLITE_STATUS_MEMORY_USED\x00SQLITE_STATUS_MALLOC_SIZE\x00SQLITE_STATUS_PAGECACHE_USED\x00SQLITE_STATUS_PAGECACHE_OVERFLOW\x00SQLITE_STATUS_PAGECACHE_SIZE\x00SQLITE_STATUS_SCRATCH_USED\x00SQLITE_STATUS_SCRATCH_OVERFLOW\x00SQLITE_STATUS_SCRATCH_SIZE\x00SQLITE_STATUS_PARSER_STACK\x00SQLITE_STATUS_MALLOC_COUNT\x00DB PARAMETER RESETFLAG\x00SQLITE_\x00DBSTATUS_\x00LOOKASIDE_USED\x00CACHE_USED\x00SCHEMA_USED\x00STMT_USED\x00LOOKASIDE_HIT\x00LOOKASIDE_MISS_SIZE\x00LOOKASIDE_MISS_FULL\x00CACHE_HIT\x00CACHE_MISS\x00CACHE_WRITE\x00DEFERRED_FKS\x00CACHE_USED_SHARED\x00CACHE_SPILL\x00?INTEGER?\x00sqlite3_free\x00memset\x00memget\x00sqlite3_memory_used\x00sqlite3_memory_highwater\x00sqlite3_memdebug_backtrace\x00sqlite3_memdebug_dump\x00sqlite3_memdebug_fail\x00sqlite3_memdebug_pending\x00sqlite3_memdebug_settitle\x00sqlite3_memdebug_malloc_count\x00sqlite3_memdebug_log\x00sqlite3_config_pagecache\x00sqlite3_config_alt_pcache\x00sqlite3_status\x00sqlite3_db_status\x00install_malloc_faultsim\x00sqlite3_config_heap\x00sqlite3_config_heap_size\x00sqlite3_config_memstatus\x00sqlite3_config_lookaside\x00sqlite3_config_error\x00sqlite3_config_uri\x00sqlite3_config_cis\x00sqlite3_config_pmasz\x00sqlite3_db_config_lookaside\x00sqlite3_dump_memsys3\x00sqlite3_dump_memsys5\x00sqlite3_install_memsys3\x00sqlite3_memdebug_vfs_oom_test\x00%05u\x00 FILENAME [OFFSET AMT]\"\x00unable to open file \"\x00\" for reading\x00md5\x00md5-10x8\x00md5file\x00md5file-10x8\x00md5sum\x00%03d\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_control\x00chunksize\x00multiplex_truncate\x00multiplex/%z\x00multiplex\x00NAME MAKEDEFAULT\x00-force\x00?-force?\x00chunk_size\x00max_chunks\x00HANDLE DBNAME SUB-COMMAND INT-VALUE\x00expected database handle, got \"\x00sqlite3_multiplex_initialize\x00sqlite3_multiplex_shutdown\x00sqlite3_multiplex_control\x00fast\x00recursive\x00static_main\x00static_mem\x00static_open\x00static_prng\x00static_lru\x00static_pmem\x00static_app1\x00static_app2\x00static_app3\x00static_vfs1\x00static_vfs2\x00static_vfs3\x00mutex counters are \x00already installed\x00not installed\x00singlethread\x00multithread\x00serialized\x00mutex name\x00disable_mutex_init\x00disable_mutex_try\x00sqlite3_shutdown\x00sqlite3_initialize\x00sqlite3_config\x00enter_static_mutex\x00leave_static_mutex\x00enter_db_mutex\x00leave_db_mutex\x00alloc_dealloc_mutex\x00install_mutex_counters\x00read_mutex_counters\x00clear_mutex_counters\x00\x00\x00\x00\x00\x00\x00\x00vfslog/%z\x00sqlite_ostrace1.....\x00xClose\x00xRead\x00xWrite\x00xTruncate\x00xFilesize\x00xLock\x00xUnlock\x00xCheckResLock\x00xFileControl\x00xSectorSize\x00xDeviceChar\x00xDelete\x00xAccess\x00xFullPathname\x00xRandomness\x00xSleep\x00xCurrentTime\x00xShmUnmap\x00xShmLock\x00xShmBarrier\x00xShmMap\x00annotation\x00CREATE TABLE xxx(event, file, click, rc, size, offset)\x00vfslog\x00VFS\x00failed\x00VFS PARENT LOGFILE\x00bad sqlite3 handle: \x00annotate\x00finalize\x00register\x00quota/%z\x00quota\x00::piLimit_\x00PATTERN LIMIT SCRIPT\x00FILENAME MODE\x00HANDLE SIZE NELEM\x00HANDLE SIZE NELEM CONTENT\x00HANDLE ?HARDSYNC?\x00HANDLE OFFSET WHENCE\x00SEEK_SET\x00SEEK_CUR\x00SEEK_END\x00WHENCE should be SEEK_SET, SEEK_CUR, or SEEK_END\x00HANDLE SIZE\x00PATTERN TEXT\x00sqlite3_quota_initialize\x00sqlite3_quota_shutdown\x00sqlite3_quota_set\x00sqlite3_quota_file\x00sqlite3_quota_dump\x00sqlite3_quota_fopen\x00sqlite3_quota_fread\x00sqlite3_quota_fwrite\x00sqlite3_quota_fclose\x00sqlite3_quota_fflush\x00sqlite3_quota_fseek\x00sqlite3_quota_rewind\x00sqlite3_quota_ftell\x00sqlite3_quota_ftruncate\x00sqlite3_quota_file_size\x00sqlite3_quota_file_truesize\x00sqlite3_quota_file_mtime\x00sqlite3_quota_remove\x00sqlite3_quota_glob\x00sqlite3_quota_file_available\x00sqlite3_quota_ferror\x00cube\x00circle\x00Qcircle\x00breadthfirstsearch\x00register_cube_geom\x00register_circle_geom\x00CREATE TABLE x(database,tablename,cid,name,type,not_null,dflt_value,pk)\x00SELECT name FROM sqlite_temp_schema WHERE type='table'\x00SELECT name FROM %Q.sqlite_schema WHERE type='table'\x00PRAGMA %Q.table_info(%Q)\x00PRAGMA database_list\x00register_schema_module\x00PRAGMA main.journal_mode\x00CMDNAME PATH ?VFS? ?BUSY-HANDLER-SCRIPT?\x00sqlite3demo_superlock\x00open\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00pread\x00pread64\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00mremap\x00SYSCALL-LIST\x00system-call\x00?COUNT PERSIST?\x00EACCES\x00EINTR\x00EIO\x00EOVERFLOW\x00ENOMEM\x00EAGAIN\x00ETIMEDOUT\x00EBUSY\x00EPERM\x00EDEADLK\x00ENOLCK\x00SYSCALL ERRNO\x00errno\x00PGSZ\x00getpagesize\x00pgsz out of range\x00fault\x00install\x00uninstall\x00list\x00defaultvfs\x00pagesize\x00VFS does not support xSetSystemCall\x00test_syscall\x00load_testfixture_extensions\x00SLAVE\x00CREATE TABLE x( name TEXT, arrayname TEXT, value TEXT, fullname TEXT PRIMARY KEY) WITHOUT ROWID\x00array names\x00tclvar_filter_cmd\x00%s(%s)\x00expr {[info exists ::tclvar_set_omit] && $::tclvar_set_omit}\x00the 'fullname' column must be TEXT\x00prohibited TCL variable change\x00proc like {pattern str} {\n set p [string map {% * _ ?} $pattern]\n string match $p $str\n}\nproc tclvar_filter_cmd {eq match glob regexp like} {\n set res {}\n set pattern $eq\n if {$pattern=={}} { set pattern $match }\n if {$pattern=={}} { set pattern * }\n foreach v [uplevel #0 info vars $pattern] {\n if {($glob=={} || [string match $glob [uplevel #0 set $v]])\n && ($like=={} || [like $like [uplevel #0 set $v]])\n && ($regexp=={} || [regexp $regexp [uplevel #0 set $v]])\n } {\n lappend res $v\n }\n }\n set res\n}\n\x00register_tclvar_module\x00clock_seconds\x00sqlthread\x00sqlite3_blocking_step\x00sqlite3_blocking_prepare_v2\x00sqlite3_nonblocking_prepare_v2\x00set\x00Error in Tcl_CreateThread()\x00no parent thread\x00parent\x00spawn\x00VARNAME SCRIPT\x00DBNAME\x00id\x00%s \x00SQLITE_IOERR\x00SQLITE_LOCKED\x00SQLITE_BUSY\x00SQLITE_READONLY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_NOTFOUND\x00SQLITE_OMIT\x00normal|dataonly\x00full|dataonly\x00xCheckReservedLock\x00BEGIN_ATOMIC_WRITE\x00COMMIT_ATOMIC_WRITE\x00ZIPVFS\x00anon\x00SQLITE_ACCESS_EXISTS\x00SQLITE_ACCESS_READWRITE\x00SQLITE_ACCESS_READ\x00xShmOpen\x00 lock\x00 unlock\x00 shared\x00 exclusive\x00shm\x00filter\x00ioerr\x00fullerr\x00cantopenerr\x00script\x00devchar\x00sectorsize\x00subcommand\x00FILE ?VALUE?\x00failed to get full path: \x00no such file: \x00unknown method: \x00?CNT PERSIST?\x00default\x00undeletable_when_open\x00immutable\x00?ATTR-LIST?\x00bad flags: \x00?VALUE?\x00-noshm\x00-szosfile\x00-mxpathname\x00-iversion\x00-fullshm\x00VFSNAME ?-noshm BOOL? ?-fullshm BOOL? ?-default BOOL? ?-mxpathname INT? ?-szosfile INT? ?-iversion INT?\x00shared\x00lock\x00unlock\x00DB DBNAME (shared|exclusive) (lock|unlock) OFFSET N\x00ARG\x00DB DBNAME SLOT ?VALUE?\x00*-shm is not yet mapped\x00testvfs\x00vfs_shmlock\x00vfs_set_readmark\x00DB NAME XSTEP XFINAL XVALUE XINVERSE\x00fff\x00misuse test error\x00invalid argument\x00sumint\x00sum\x00sqlite3_create_window_function\x00test_create_window_function_misuse\x00test_create_sumint\x00test_override_sum\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/internal/testfixture/testfixture_linux_arm64.go b/internal/testfixture/testfixture_linux_arm64.go index ad96da8..3657a5c 100644 --- a/internal/testfixture/testfixture_linux_arm64.go +++ b/internal/testfixture/testfixture_linux_arm64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -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 -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_linux_arm64.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -lmodernc.org/sqlite/internal/libc2', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -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 -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_linux_arm64.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/session/test_session.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -lmodernc.org/sqlite/internal/libc2', DO NOT EDIT. package main @@ -80,6 +80,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -209,6 +220,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_STMTVTAB = 1 @@ -445,6 +457,8 @@ const ( SQLITE_SERIALIZE_NOCOPY = 0x001 SQLITE_SERIES_CONSTRAINT_VERIFY = 1 SQLITE_SERVER = 1 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -1558,6 +1572,7 @@ const ( SQLITE_RBU_STATE_MOVE = 2 SQLITE_RBU_STATE_OAL = 1 X_SQLITE3RBU_H = 0 + SESSION_STREAM_TCL_VAR = "sqlite3session_streams" ELF_PRARGSZ = 80 ESR_MAGIC = 0x45535201 EXTRA_MAGIC = 0x45585401 @@ -3928,87 +3943,6 @@ const ( /* waitflags.h:52:1: */ P_PGID = 2 ) -// Copyright (C) 1991-2018 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - -// ISO C99 Standard 7.4: Character handling - -// Copyright (C) 1991-2018 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - -// bits/types.h -- definitions of __*_t types underlying *_t types. -// Copyright (C) 2002-2018 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - -// Never include this file directly; use instead. - -// These are all the characteristics of characters. -// If there get to be more than 16 distinct characteristics, -// many things must be changed that use `unsigned short int's. -// -// The characteristics are stored always in network byte order (big -// endian). We define the bit value interpretations here dependent on the -// machine's byte order. - -// Copyright (C) 1992-2018 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - const ( /* ctype.h:46:1: */ _ISupper = 256 // UPPERCASE. _ISlower = 512 // lowercase. @@ -7013,10 +6947,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -7068,10 +7001,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -35965,6 +35897,1558 @@ var aObjCmd = [5]struct { {FzName: ts + 10499 /* "sqlite3rbu_inter..." */, FxProc: 0}, } /* test_rbu.c:369:5 */ +type TestSession1 = struct { + FpSession uintptr + Finterp uintptr + FpFilterScript uintptr +} /* test_session.c:21:9 */ + +type TestSession = TestSession1 /* test_session.c:21:28 */ + +type TestStreamInput1 = struct { + FnStream int32 + _ [4]byte + FaData uintptr + FnData int32 + FiData int32 +} /* test_session.c:28:9 */ + +type TestStreamInput = TestStreamInput1 /* test_session.c:28:32 */ + +// Extract an sqlite3* db handle from the object passed as the second +// argument. If successful, set *pDb to point to the db handle and return +// TCL_OK. Otherwise, return TCL_ERROR. +func dbHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, pDb uintptr) int32 { /* test_session.c:41:12: */ + bp := tls.Alloc(88) + defer tls.Free(88) + + // var info Tcl_CmdInfo at bp+24, 64 + + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, pObj), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, pObj), 0)) + return TCL_ERROR + } + + *(*uintptr)(unsafe.Pointer(pDb)) = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + return TCL_OK +} + +/************************************************************************* +** The following code is copied byte-for-byte from the sessions module +** documentation. It is used by some of the sessions modules tests to +** ensure that the example in the documentation does actually work. + */ +// Argument zSql points to a buffer containing an SQL script to execute +// against the database handle passed as the first argument. As well as +// executing the SQL script, this function collects a changeset recording +// all changes made to the "main" database file. Assuming no error occurs, +// output variables (*ppChangeset) and (*pnChangeset) are set to point +// to a buffer containing the changeset and the size of the changeset in +// bytes before returning SQLITE_OK. In this case it is the responsibility +// of the caller to eventually free the changeset blob by passing it to +// the sqlite3_free function. +// +// Or, if an error does occur, return an SQLite error code. The final +// value of (*pChangeset) and (*pnChangeset) are undefined in this case. +func sql_exec_changeset(tls *libc.TLS, db uintptr, zSql uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* test_session.c:71:5: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pSession */)) = uintptr(0) + var rc int32 + + // Create a new session object + rc = sqlite3.Xsqlite3session_create(tls, db, ts+85 /* "main" */, bp /* &pSession */) + + // Configure the session object to record changes to all tables + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3session_attach(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */)), uintptr(0)) + } + + // Execute the SQL script + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) + } + + // Collect the changeset + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3session_changeset(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */)), pnChangeset, ppChangeset) + } + + // Delete the session object + sqlite3.Xsqlite3session_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */))) + + return rc +} + +//********************************************************************** + +// Tclcmd: sql_exec_changeset DB SQL +func test_sql_exec_changeset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:104:26: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var zSql uintptr + // var db uintptr at bp+16, 8 + + // var pChangeset uintptr at bp+32, 8 + + // var nChangeset int32 at bp+24, 4 + + var rc int32 + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10524 /* "DB SQL" */) + return TCL_ERROR + } + if dbHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &db */) != 0 { + return TCL_ERROR + } + zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) + + rc = sql_exec_changeset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zSql, bp+24 /* &nChangeset */, bp+32 /* &pChangeset */) + if rc != SQLITE_OK { + tcl.XTcl_ResetResult(tls, interp) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10531 /* "error in sql_exe..." */, 0)) + return TCL_ERROR + } + + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pChangeset */)), *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pChangeset */))) + return TCL_OK +} + +// Attempt to find the global variable zVar within interpreter interp +// and extract an integer value from it. Return this value. +// +// If the named variable cannot be found, or if it cannot be interpreted +// as a integer, return 0. +func test_tcl_integer(tls *libc.TLS, interp uintptr, zVar uintptr) int32 { /* test_session.c:146:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var pObj uintptr + *(*int32)(unsafe.Pointer(bp /* iVal */)) = 0 + var pName uintptr = tcl.XTcl_NewStringObj(tls, zVar, -1) + (*Tcl_Obj)(unsafe.Pointer(pName)).FrefCount++ + pObj = tcl.XTcl_ObjGetVar2(tls, interp, pName, uintptr(0), TCL_GLOBAL_ONLY) + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pName + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + if pObj != 0 { + tcl.XTcl_GetIntFromObj(tls, uintptr(0), pObj, bp /* &iVal */) + } + return *(*int32)(unsafe.Pointer(bp /* iVal */)) +} + +func test_session_error(tls *libc.TLS, interp uintptr, rc int32, zErr uintptr) int32 { /* test_session.c:157:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) + if zErr != 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10280 /* " - " */, zErr, 0)) + sqlite3.Xsqlite3_free(tls, zErr) + } + return TCL_ERROR +} + +func test_table_filter(tls *libc.TLS, pCtx uintptr, zTbl uintptr) int32 { /* test_session.c:167:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + var pEval uintptr + var rc int32 + *(*int32)(unsafe.Pointer(bp /* bRes */)) = 0 + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestSession)(unsafe.Pointer(p)).FpFilterScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + rc = tcl.XTcl_ListObjAppendElement(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, zTbl, -1)) + if rc == TCL_OK { + rc = tcl.XTcl_EvalObjEx(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, TCL_EVAL_GLOBAL) + } + if rc == TCL_OK { + rc = tcl.XTcl_GetBooleanFromObj(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, tcl.XTcl_GetObjResult(tls, (*TestSession)(unsafe.Pointer(p)).Finterp), bp /* &bRes */) + } + if rc != TCL_OK { + // printf("error: %s\n", Tcl_GetStringResult(p->interp)); + tcl.XTcl_BackgroundError(tls, (*TestSession)(unsafe.Pointer(p)).Finterp) + } + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + + return *(*int32)(unsafe.Pointer(bp /* bRes */)) +} + +type TestSessionsBlob1 = struct { + Fp uintptr + Fn int32 + _ [4]byte +} /* test_session.c:191:1 */ + +type TestSessionsBlob = TestSessionsBlob1 /* test_session.c:195:33 */ + +func testStreamOutput(tls *libc.TLS, pCtx uintptr, pData uintptr, nData int32) int32 { /* test_session.c:197:12: */ + var pBlob uintptr = pCtx + var pNew uintptr + + pNew = sqlite3.Xsqlite3_realloc(tls, (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp, ((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn + nData)) + if pNew == uintptr(0) { + return SQLITE_NOMEM + } + (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp = pNew + libc.Xmemcpy(tls, (pNew + uintptr((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn)), pData, uint64(nData)) + *(*int32)(unsafe.Pointer(pBlob + 8 /* &.n */)) += (nData) + return SQLITE_OK +} + +// Tclcmd: $session attach TABLE +// $session changeset +// $session delete +// $session enable BOOL +// $session indirect INTEGER +// $session patchset +// $session table_filter SCRIPT +func test_session_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:225:26: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + var p uintptr = clientData + var pSession uintptr = (*TestSession)(unsafe.Pointer(p)).FpSession + // var iSub int32 at bp, 4 + + var rc int32 + + if objc < 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1860 /* "SUBCOMMAND ..." */) + return TCL_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub)), int32(unsafe.Sizeof(SessionSubcmd{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if objc != (2 + aSub[*(*int32)(unsafe.Pointer(bp /* iSub */))].FnArg) { + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub[*(*int32)(unsafe.Pointer(bp /* iSub */))].FzMsg) + return TCL_ERROR + } + + switch *(*int32)(unsafe.Pointer(bp /* iSub */)) { + case 0: + { // attach + var zArg uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) + if (int32(*(*int8)(unsafe.Pointer(zArg))) == '*') && (int32(*(*int8)(unsafe.Pointer(zArg + 1))) == 0) { + zArg = uintptr(0) + } + rc = sqlite3.Xsqlite3session_attach(tls, pSession, zArg) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + break + + } + + case 7: + fallthrough // patchset + case 1: + { // changeset + *(*TestSessionsBlob)(unsafe.Pointer(bp + 8 /* o */)) = TestSessionsBlob{} + if test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) != 0 { + var pCtx uintptr = bp + 8 /* &o */ + if *(*int32)(unsafe.Pointer(bp /* iSub */)) == 7 { + rc = sqlite3.Xsqlite3session_patchset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), pCtx) + } else { + rc = sqlite3.Xsqlite3session_changeset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), pCtx) + } + } else { + if *(*int32)(unsafe.Pointer(bp /* iSub */)) == 7 { + rc = sqlite3.Xsqlite3session_patchset(tls, pSession, (bp + 8 /* &o */ + 8 /* &.n */), (bp + 8 /* &o */ /* &.p */)) + } else { + rc = sqlite3.Xsqlite3session_changeset(tls, pSession, (bp + 8 /* &o */ + 8 /* &.n */), (bp + 8 /* &o */ /* &.p */)) + } + } + if rc == SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+8 /* &o */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+8 /* &o */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+8 /* &o */)).Fp) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + break + + } + + case 2: // delete + tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))) + break + + case 3: + { // enable + // var val int32 at bp+24, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24 /* &val */) != 0 { + return TCL_ERROR + } + *(*int32)(unsafe.Pointer(bp + 24 /* val */)) = sqlite3.Xsqlite3session_enable(tls, pSession, *(*int32)(unsafe.Pointer(bp + 24 /* val */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 24 /* val */))) != 0)))) + break + + } + + case 4: + { // indirect + // var val int32 at bp+28, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+28 /* &val */) != 0 { + return TCL_ERROR + } + *(*int32)(unsafe.Pointer(bp + 28 /* val */)) = sqlite3.Xsqlite3session_indirect(tls, pSession, *(*int32)(unsafe.Pointer(bp + 28 /* val */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 28 /* val */))) != 0)))) + break + + } + + case 5: + { // isempty + var val int32 + val = sqlite3.Xsqlite3session_isempty(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((val) != 0)))) + break + + } + + case 6: + { // table_filter + if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 { + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = (*TestSession)(unsafe.Pointer(p)).FpFilterScript + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + } + (*TestSession)(unsafe.Pointer(p)).Finterp = interp + (*TestSession)(unsafe.Pointer(p)).FpFilterScript = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) + (*Tcl_Obj)(unsafe.Pointer((*TestSession)(unsafe.Pointer(p)).FpFilterScript)).FrefCount++ + sqlite3.Xsqlite3session_table_filter(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_table_filter})), clientData) + break + + } + + case 8: + { // diff + *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)) = uintptr(0) + rc = sqlite3.Xsqlite3session_diff(tls, pSession, + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))), + bp+32 /* &zErr */) + + if rc != 0 { + return test_session_error(tls, interp, rc, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */))) + } + break + + } + + case 9: + { // memory_used + var nMalloc sqlite3_int64 = sqlite3.Xsqlite3session_memory_used(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, nMalloc)) + break + + } + + case 10: + { + var nSize sqlite3_int64 = sqlite3.Xsqlite3session_changeset_size(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, nSize)) + break + + } + case 11: + { + var rc int32 + // var iArg int32 at bp+40, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &iArg */) != 0 { + return TCL_ERROR + } + rc = sqlite3.Xsqlite3session_object_config(tls, + pSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+40 /* &iArg */) + if rc != SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 40 /* iArg */)))) + } + break + + } + } + + return TCL_OK +} + +type SessionSubcmd = struct { + FzSub uintptr + FnArg int32 + _ [4]byte + FzMsg uintptr + FiSub int32 + _ [4]byte +} /* test_session.c:233:10 */ + +var aSub = [13]SessionSubcmd{ + {FzSub: ts + 10584 /* "attach" */, FnArg: 1, FzMsg: ts + 1812 /* "TABLE" */}, // 0 + {FzSub: ts + 10591 /* "changeset" */, FzMsg: ts + 489 /* "" */}, // 1 + {FzSub: ts + 10601 /* "delete" */, FzMsg: ts + 489 /* "" */}, // 2 + {FzSub: ts + 10608 /* "enable" */, FnArg: 1, FzMsg: ts + 10615 /* "BOOL" */}, // 3 + {FzSub: ts + 10620 /* "indirect" */, FnArg: 1, FzMsg: ts + 10615 /* "BOOL" */}, // 4 + {FzSub: ts + 10629 /* "isempty" */, FzMsg: ts + 489 /* "" */}, // 5 + {FzSub: ts + 10637 /* "table_filter" */, FnArg: 1, FzMsg: ts + 10650 /* "SCRIPT" */}, // 6 + {FzSub: ts + 10657 /* "patchset" */, FzMsg: ts + 489 /* "" */}, // 7 + {FzSub: ts + 10666 /* "diff" */, FnArg: 2, FzMsg: ts + 10671 /* "FROMDB TBL" */}, // 8 + {FzSub: ts + 10682 /* "memory_used" */, FzMsg: ts + 489 /* "" */}, // 9 + {FzSub: ts + 10694 /* "changeset_size" */, FzMsg: ts + 489 /* "" */}, // 10 + {FzSub: ts + 10709 /* "object_config_si..." */, FnArg: 1, FzMsg: ts + 2274 /* "INTEGER" */}, // 11 + {}, +} /* test_session.c:238:5 */ + +func test_session_del(tls *libc.TLS, clientData uintptr) { /* test_session.c:390:27: */ + var p uintptr = clientData + if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 { + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = (*TestSession)(unsafe.Pointer(p)).FpFilterScript + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + } + sqlite3.Xsqlite3session_delete(tls, (*TestSession)(unsafe.Pointer(p)).FpSession) + tcl.XTcl_Free(tls, p) +} + +// Tclcmd: sqlite3session CMD DB-HANDLE DB-NAME +func test_sqlite3session(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:400:26: */ + bp := tls.Alloc(92) + defer tls.Free(92) + + var db uintptr + // var info Tcl_CmdInfo at bp+24, 64 + + var rc int32 // sqlite3session_create() return code + var p uintptr // New wrapper object + *(*int32)(unsafe.Pointer(bp + 88 /* iArg */)) = -1 + + if objc != 4 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10728 /* "CMD DB-HANDLE DB..." */) + return TCL_ERROR + } + + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + + p = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(TestSession{}))) + libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(TestSession{}))) + rc = sqlite3.Xsqlite3session_create(tls, db, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))), (p /* &.pSession */)) + if rc != SQLITE_OK { + tcl.XTcl_Free(tls, p) + return test_session_error(tls, interp, rc, uintptr(0)) + } + + // Query the SQLITE_SESSION_OBJCONFIG_SIZE option to ensure that it + // is clear by default. Then set it. + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+88 /* &iArg */) + + *(*int32)(unsafe.Pointer(bp + 88 /* iArg */)) = 1 + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+88 /* &iArg */) + + tcl.XTcl_CreateObjCommand(tls, + interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_session_cmd})), p, + *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_session_del}))) + tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + return TCL_OK +} + +func test_append_value(tls *libc.TLS, pList uintptr, pVal uintptr) { /* test_session.c:446:13: */ + if pVal == uintptr(0) { + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls)) + } else { + var pObj uintptr + switch sqlite3.Xsqlite3_value_type(tls, pVal) { + case SQLITE_NULL: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10750 /* "n" */, 1)) + pObj = tcl.XTcl_NewObj(tls) + break + fallthrough + case SQLITE_INTEGER: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10752 /* "i" */, 1)) + pObj = tcl.XTcl_NewWideIntObj(tls, sqlite3.Xsqlite3_value_int64(tls, pVal)) + break + fallthrough + case SQLITE_FLOAT: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10754 /* "f" */, 1)) + pObj = tcl.XTcl_NewDoubleObj(tls, sqlite3.Xsqlite3_value_double(tls, pVal)) + break + fallthrough + case SQLITE_TEXT: + { + var z uintptr = sqlite3.Xsqlite3_value_blob(tls, pVal) + var n int32 = sqlite3.Xsqlite3_value_bytes(tls, pVal) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10756 /* "t" */, 1)) + pObj = tcl.XTcl_NewStringObj(tls, z, n) + break + + } + fallthrough + default: + + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10758 /* "b" */, 1)) + pObj = tcl.XTcl_NewByteArrayObj(tls, + sqlite3.Xsqlite3_value_blob(tls, pVal), + sqlite3.Xsqlite3_value_bytes(tls, pVal)) + break + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, pObj) + } +} + +type TestConflictHandler1 = struct { + Finterp uintptr + FpConflictScript uintptr + FpFilterScript uintptr +} /* test_session.c:485:9 */ + +type TestConflictHandler = TestConflictHandler1 /* test_session.c:485:36 */ + +func test_obj_eq_string(tls *libc.TLS, p uintptr, z uintptr) int32 { /* test_session.c:492:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var n int32 + // var nObj int32 at bp, 4 + + var zObj uintptr + + n = int32(libc.Xstrlen(tls, z)) + zObj = tcl.XTcl_GetStringFromObj(tls, p, bp /* &nObj */) + + return (libc.Bool32((*(*int32)(unsafe.Pointer(bp /* nObj */)) == n) && ((n == 0) || (0 == libc.Xmemcmp(tls, zObj, z, uint64(n)))))) +} + +func test_filter_handler(tls *libc.TLS, pCtx uintptr, zTab uintptr) int32 { /* test_session.c:503:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*int32)(unsafe.Pointer(bp /* res */)) = 1 + var pEval uintptr + var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpFilterScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + + if ((TCL_OK != tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, zTab, -1))) || + (TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL))) || + (TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, tcl.XTcl_GetObjResult(tls, interp), bp /* &res */)) { + tcl.XTcl_BackgroundError(tls, interp) + } + + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + return *(*int32)(unsafe.Pointer(bp /* res */)) +} + +func test_conflict_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 { /* test_session.c:526:12: */ + bp := tls.Alloc(104) + defer tls.Free(104) + + var p uintptr = pCtx + var pEval uintptr + var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = 0 // Return value + + // var op int32 at bp+12, 4 + // SQLITE_UPDATE, DELETE or INSERT + // var zTab uintptr at bp, 8 + // Name of table conflict is on + // var nCol int32 at bp+8, 4 + // Number of columns in table zTab + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpConflictScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + + sqlite3.Xsqlite3changeset_op(tls, pIter, bp /* &zTab */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if eConf == SQLITE_CHANGESET_FOREIGN_KEY { + // var nFk int32 at bp+16, 4 + + sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+16 /* &nFk */) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, ts+10760 /* "FOREIGN_KEY" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 16 /* nFk */)))) + } else { + + // Append the operation type. + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + return ts + 10772 /* "INSERT" */ + } + return func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_UPDATE { + return ts + 10779 /* "UPDATE" */ + } + return ts + 10786 /* "DELETE" */ + }() + }(), -1)) + + // Append the table name. + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp /* zTab */)), -1)) + + // Append the conflict type. + switch eConf { + case SQLITE_CHANGESET_DATA: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10793 /* "DATA" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_NOTFOUND: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10798 /* "NOTFOUND" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_CONFLICT: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10807 /* "CONFLICT" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_CONSTRAINT: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10816 /* "CONSTRAINT" */, -1)) + break + } + + // If this is not an INSERT, append the old row + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_INSERT { + var i int32 + var pOld uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+24, 8 + + sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+24 /* &pVal */) + test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pOld) + } + + // If this is not a DELETE, append the new row + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_DELETE { + var i int32 + var pNew uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+32, 8 + + sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+32 /* &pVal */) + test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pNew) + } + + // If this is a CHANGESET_DATA or CHANGESET_CONFLICT conflict, append + // the conflicting row. + if (eConf == SQLITE_CHANGESET_DATA) || (eConf == SQLITE_CHANGESET_CONFLICT) { + var i int32 + var pConflict uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + var rc int32 + _ = rc + // var pVal uintptr at bp+40, 8 + + rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, i, bp+40 /* &pVal */) + + test_append_value(tls, pConflict, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pConflict) + } + + // ********************************************************************** + // + // This block is purely for testing some error conditions. + if (eConf == SQLITE_CHANGESET_CONSTRAINT) || + (eConf == SQLITE_CHANGESET_NOTFOUND) { + // var pVal uintptr at bp+48, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, 0, bp+48 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+56, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, -1, bp+56 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), bp+56 /* &pVal */) + + } + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_DELETE { + // var pVal uintptr at bp+64, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, 0, bp+64 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+72, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, -1, bp+72 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_new(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), bp+72 /* &pVal */) + + } + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + // var pVal uintptr at bp+80, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, 0, bp+80 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+88, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, -1, bp+88 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_old(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), bp+88 /* &pVal */) + + } + if eConf != SQLITE_CHANGESET_FOREIGN_KEY { + // eConf!=FOREIGN_KEY is always true at this point. The condition is + // just there to make it clearer what is being tested. + // var nDummy int32 at bp+96, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+96 /* &nDummy */) + _ = rc + + } + // End of testing block + // + } + + if TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL) { + tcl.XTcl_BackgroundError(tls, interp) + } else { + var pRes uintptr = tcl.XTcl_GetObjResult(tls, interp) + if (test_obj_eq_string(tls, pRes, ts+10827 /* "OMIT" */) != 0) || (test_obj_eq_string(tls, pRes, ts+489 /* "" */) != 0) { + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = SQLITE_CHANGESET_OMIT + } else if test_obj_eq_string(tls, pRes, ts+7292 /* "REPLACE" */) != 0 { + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = SQLITE_CHANGESET_REPLACE + } else if test_obj_eq_string(tls, pRes, ts+7286 /* "ABORT" */) != 0 { + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = SQLITE_CHANGESET_ABORT + } else { + tcl.XTcl_GetIntFromObj(tls, uintptr(0), pRes, bp+100 /* &ret */) + } + } + + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + return *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) +} + +// The conflict handler used by sqlite3changeset_apply_replace_all(). +// This conflict handler calls sqlite3_value_text16() on all available +// sqlite3_value objects and then returns CHANGESET_REPLACE, or +// CHANGESET_OMIT if REPLACE is not applicable. This is used to test the +// effect of a malloc failure within an sqlite3_value_xxx() function +// invoked by a conflict-handler callback. +func replace_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 { /* test_session.c:693:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var op int32 at bp+12, 4 + // SQLITE_UPDATE, DELETE or INSERT + // var zTab uintptr at bp, 8 + // Name of table conflict is on + // var nCol int32 at bp+8, 4 + // Number of columns in table zTab + var i int32 + var x int32 = 0 + + sqlite3.Xsqlite3changeset_op(tls, pIter, bp /* &zTab */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_INSERT { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+16, 8 + + sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+16 /* &pVal */) + sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) + x++ + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_DELETE { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+24, 8 + + sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+24 /* &pVal */) + sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + x++ + } + } + + if eConf == SQLITE_CHANGESET_DATA { + return SQLITE_CHANGESET_REPLACE + } + return SQLITE_CHANGESET_OMIT +} + +func testStreamInput(tls *libc.TLS, pCtx uintptr, pData uintptr, pnData uintptr) int32 { /* test_session.c:730:12: */ + var p uintptr = pCtx + var nReq int32 = *(*int32)(unsafe.Pointer(pnData)) // Bytes of data requested + var nRem int32 = ((*TestStreamInput)(unsafe.Pointer(p)).FnData - (*TestStreamInput)(unsafe.Pointer(p)).FiData) // Bytes of data available + var nRet int32 = (*TestStreamInput)(unsafe.Pointer(p)).FnStream // Bytes actually returned + + // Allocate and free some space. There is no point to this, other than + // that it allows the regular OOM fault-injection tests to cause an error + // in this function. + var pAlloc uintptr = sqlite3.Xsqlite3_malloc(tls, 10) + if pAlloc == uintptr(0) { + return SQLITE_NOMEM + } + sqlite3.Xsqlite3_free(tls, pAlloc) + + if nRet > nReq { + nRet = nReq + } + if nRet > nRem { + nRet = nRem + } + + if nRet > 0 { + libc.Xmemcpy(tls, pData, ((*TestStreamInput)(unsafe.Pointer(p)).FaData + uintptr((*TestStreamInput)(unsafe.Pointer(p)).FiData)), uint64(nRet)) + *(*int32)(unsafe.Pointer(p + 20 /* &.iData */)) += (nRet) + } + + *(*int32)(unsafe.Pointer(pnData)) = nRet + return SQLITE_OK +} + +func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:761:26: */ + bp := tls.Alloc(156) + defer tls.Free(156) + + var db uintptr // Database handle + // var info Tcl_CmdInfo at bp+48, 64 + // Database Tcl command (objv[1]) info + var rc int32 // Return code from changeset_invert() + var pChangeset uintptr // Buffer containing changeset + // var nChangeset int32 at bp+112, 4 + // Size of buffer aChangeset in bytes + // var ctx TestConflictHandler at bp+120, 24 + + // var sStr TestStreamInput at bp+24, 24 + + *(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 152 /* nRebase */)) = 0 + var flags int32 = 0 // Flags for apply_v2() + + libc.Xmemset(tls, bp+24 /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + + // Check for the -nosavepoint flag + if bV2 != 0 { + if objc > 1 { + var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + var n int32 = int32(libc.Xstrlen(tls, z1)) + if ((n > 1) && (n <= 12)) && (0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10832 /* "-nosavepoint" */, z1, n)) { + flags = flags | (SQLITE_CHANGESETAPPLY_NOSAVEPOINT) + objc-- + objv += 8 + } + } + if objc > 1 { + var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + var n int32 = int32(libc.Xstrlen(tls, z1)) + if ((n > 1) && (n <= 7)) && (0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10845 /* "-invert" */, z1, n)) { + flags = flags | (SQLITE_CHANGESETAPPLY_INVERT) + objc-- + objv += 8 + } + } + } + + if (objc != 4) && (objc != 5) { + var zMsg uintptr + if bV2 != 0 { + zMsg = ts + 10853 /* "?-nosavepoint? ?..." */ + } else { + zMsg = ts + 10924 /* "DB CHANGESET CON..." */ + } + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zMsg) + return TCL_ERROR + } + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+112 /* &nChangeset */) + (*TestConflictHandler)(unsafe.Pointer(bp + 120 /* &ctx */)).FpConflictScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) + (*TestConflictHandler)(unsafe.Pointer(bp + 120 /* &ctx */)).FpFilterScript = func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(objv + 4*8)) + } + return uintptr(0) + }() + (*TestConflictHandler)(unsafe.Pointer(bp + 120 /* &ctx */)).Finterp = interp + + if (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sStr */)).FnStream == 0 { + if bV2 == 0 { + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 112 /* nChangeset */)), pChangeset, + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+120 /* &ctx */) + } else { + rc = sqlite3.Xsqlite3changeset_apply_v2(tls, db, *(*int32)(unsafe.Pointer(bp + 112 /* nChangeset */)), pChangeset, + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+120, /* &ctx */ + bp+144 /* &pRebase */, bp+152 /* &nRebase */, flags) + } + } else { + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 112 /* nChangeset */)) + if bV2 == 0 { + rc = sqlite3.Xsqlite3changeset_apply_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sStr */ + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+120 /* &ctx */) + } else { + rc = sqlite3.Xsqlite3changeset_apply_v2_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sStr */ + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+120, /* &ctx */ + bp+144 /* &pRebase */, bp+152 /* &nRebase */, flags) + } + } + + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_ResetResult(tls, interp) + if (bV2 != 0) && (*(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */)) != 0) { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */)), *(*int32)(unsafe.Pointer(bp + 152 /* nRebase */)))) + } + } + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */))) + return TCL_OK +} + +// sqlite3changeset_apply DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT? +func test_sqlite3changeset_apply(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:868:26: */ + return testSqlite3changesetApply(tls, 0, clientData, interp, objc, objv) +} + +// sqlite3changeset_apply_v2 DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT? +func test_sqlite3changeset_apply_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:879:26: */ + return testSqlite3changesetApply(tls, 1, clientData, interp, objc, objv) +} + +// sqlite3changeset_apply_replace_all DB CHANGESET +func test_sqlite3changeset_apply_replace_all(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:891:26: */ + bp := tls.Alloc(92) + defer tls.Free(92) + + var db uintptr // Database handle + // var info Tcl_CmdInfo at bp+24, 64 + // Database Tcl command (objv[1]) info + var rc int32 // Return code from changeset_invert() + var pChangeset uintptr // Buffer containing changeset + // var nChangeset int32 at bp+88, 4 + // Size of buffer aChangeset in bytes + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10969 /* "DB CHANGESET" */) + return TCL_ERROR + } + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+88 /* &nChangeset */) + + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 88 /* nChangeset */)), pChangeset, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{replace_handler})), uintptr(0)) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + tcl.XTcl_ResetResult(tls, interp) + return TCL_OK +} + +// sqlite3changeset_invert CHANGESET +func test_sqlite3changeset_invert(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:926:26: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var rc int32 // Return code from changeset_invert() + // var sIn TestStreamInput at bp, 24 + // Input stream + // var sOut TestSessionsBlob at bp+24, 16 + // Output blob + + if objc != 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10982 /* "CHANGESET" */) + return TCL_ERROR + } + + libc.Xmemset(tls, bp /* &sIn */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+24 /* &sOut */, 0, uint64(unsafe.Sizeof(TestSessionsBlob{}))) + (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), (bp /* &sIn */ + 16 /* &.nData */)) + + if (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnStream != 0 { + rc = sqlite3.Xsqlite3changeset_invert_strm(tls, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp /* &sIn */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+24 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3changeset_invert(tls, (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FaData, (bp + 24 /* &sOut */ + 8 /* &.n */), (bp + 24 /* &sOut */ /* &.p */)) + } + if rc != SQLITE_OK { + rc = test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fp) + return rc +} + +// sqlite3changeset_concat LEFT RIGHT +func test_sqlite3changeset_concat(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:965:26: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var rc int32 // Return code from changeset_invert() + + // var sLeft TestStreamInput at bp, 24 + // Input stream + // var sRight TestStreamInput at bp+24, 24 + // Input stream + *(*TestSessionsBlob)(unsafe.Pointer(bp + 48 /* sOut */)) = TestSessionsBlob{} // Output blob + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10992 /* "LEFT RIGHT" */) + return TCL_ERROR + } + + libc.Xmemset(tls, bp /* &sLeft */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+24 /* &sRight */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), (bp /* &sLeft */ + 16 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sRight */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), (bp + 24 /* &sRight */ + 16 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sRight */)).FnStream = (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream + + if (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream > 0 { + rc = sqlite3.Xsqlite3changeset_concat_strm(tls, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp, /* &sLeft */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sRight */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+48 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3changeset_concat(tls, + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FaData, (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sRight */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sRight */)).FaData, (bp + 48 /* &sOut */ + 8 /* &.n */), (bp + 48 /* &sOut */ /* &.p */)) + } + + if rc != SQLITE_OK { + rc = test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+48 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+48 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+48 /* &sOut */)).Fp) + return rc +} + +// sqlite3session_foreach VARNAME CHANGESET SCRIPT +func test_sqlite3session_foreach(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1013:26: */ + bp := tls.Alloc(104) + defer tls.Free(104) + + var pChangeset uintptr + // var nChangeset int32 at bp+24, 4 + + // var pIter uintptr at bp+32, 8 + + var rc int32 + var pVarname uintptr + var pCS uintptr + var pScript uintptr + var isCheckNext int32 = 0 + var isInvert int32 = 0 + // var sStr TestStreamInput at bp, 24 + + libc.Xmemset(tls, bp /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + + for objc > 1 { + var zOpt uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + var nOpt int32 = int32(libc.Xstrlen(tls, zOpt)) + if int32(*(*int8)(unsafe.Pointer(zOpt))) != '-' { + break + } + if (nOpt <= 7) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+10845 /* "-invert" */, nOpt)) { + isInvert = 1 + } else if (nOpt <= 5) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+11003 /* "-next" */, nOpt)) { + isCheckNext = 1 + } else { + break + } + objv += 8 + objc-- + } + if objc != 4 { + tcl.XTcl_WrongNumArgs(tls, + interp, 1, objv, ts+11009 /* "?-next? ?-invert..." */) + return TCL_ERROR + } + + pVarname = *(*uintptr)(unsafe.Pointer(objv + 1*8)) + pCS = *(*uintptr)(unsafe.Pointer(objv + 2*8)) + pScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) + + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, pCS, bp+24 /* &nChangeset */) + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + if isInvert != 0 { + var f int32 = SQLITE_CHANGESETSTART_INVERT + if (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream == 0 { + rc = sqlite3.Xsqlite3changeset_start_v2(tls, bp+32 /* &pIter */, *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)), pChangeset, f) + } else { + var pCtx uintptr = bp /* &sStr */ + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)) + rc = sqlite3.Xsqlite3changeset_start_v2_strm(tls, bp+32 /* &pIter */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), pCtx, f) + } + } else { + if (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream == 0 { + rc = sqlite3.Xsqlite3changeset_start(tls, bp+32 /* &pIter */, *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)), pChangeset) + } else { + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)) + rc = sqlite3.Xsqlite3changeset_start_strm(tls, bp+32 /* &pIter */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp /* &sStr */) + } + } + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + for SQLITE_ROW == sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) { + // var nCol int32 at bp+56, 4 + // Number of columns in table + // var nCol2 int32 at bp+80, 4 + // Number of columns in table + // var op int32 at bp+60, 4 + // SQLITE_INSERT, UPDATE or DELETE + // var zTab uintptr at bp+48, 8 + // Name of table change applies to + var pVar uintptr // Tcl value to set $VARNAME to + var pOld uintptr // Vector of old.* values + var pNew uintptr // Vector of new.* values + // var bIndirect int32 at bp+64, 4 + + var zPK uintptr + // var abPK uintptr at bp+72, 8 + + var i int32 + + // Test that _fk_conflicts() returns SQLITE_MISUSE if called on this + // iterator. + // var nDummy int32 at bp+40, 4 + + if SQLITE_MISUSE != sqlite3.Xsqlite3changeset_fk_conflicts(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), bp+40 /* &nDummy */) { + sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + return TCL_ERROR + } + + sqlite3.Xsqlite3changeset_op(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), bp+48 /* &zTab */, bp+56 /* &nCol */, bp+60 /* &op */, bp+64 /* &bIndirect */) + pVar = tcl.XTcl_NewObj(tls) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) == SQLITE_INSERT { + return ts + 10772 /* "INSERT" */ + } + return func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) == SQLITE_UPDATE { + return ts + 10779 /* "UPDATE" */ + } + return ts + 10786 /* "DELETE" */ + }() + }(), -1)) + + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zTab */)), -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 64 /* bIndirect */))) != 0)))) + + zPK = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 56 /* nCol */)) + 1))) + libc.Xmemset(tls, zPK, 0, (uint64(*(*int32)(unsafe.Pointer(bp + 56 /* nCol */)) + 1))) + sqlite3.Xsqlite3changeset_pk(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), bp+72 /* &abPK */, bp+80 /* &nCol2 */) + + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56 /* nCol */)); i++ { + *(*int8)(unsafe.Pointer(zPK + uintptr(i))) = func() int8 { + if *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72 /* abPK */)) + uintptr(i))) != 0 { + return int8('X') + } + return int8('.') + }() + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, zPK, -1)) + tcl.XTcl_Free(tls, zPK) + + pOld = tcl.XTcl_NewObj(tls) + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) != SQLITE_INSERT { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56 /* nCol */)); i++ { + // var pVal uintptr at bp+88, 8 + + sqlite3.Xsqlite3changeset_old(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), i, bp+88 /* &pVal */) + test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 88 /* pVal */))) + } + } + pNew = tcl.XTcl_NewObj(tls) + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) != SQLITE_DELETE { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56 /* nCol */)); i++ { + // var pVal uintptr at bp+96, 8 + + sqlite3.Xsqlite3changeset_new(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), i, bp+96 /* &pVal */) + test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 96 /* pVal */))) + } + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pOld) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pNew) + + tcl.XTcl_ObjSetVar2(tls, interp, pVarname, uintptr(0), pVar, 0) + rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0) + if (rc != TCL_OK) && (rc != TCL_CONTINUE) { + sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + if rc == TCL_BREAK { + return TCL_OK + } + return rc + } + } + + if isCheckNext != 0 { + var rc2 int32 = sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + _ = rc2 + rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + + } else { + rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + } + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + return TCL_OK +} + +// tclcmd: CMD configure REBASE-BLOB +// tclcmd: CMD rebase CHANGESET +// tclcmd: CMD delete +func test_rebaser_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1171:26: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var p uintptr = clientData + // var iSub int32 at bp, 4 + + var rc int32 + + if objc < 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1860 /* "SUBCOMMAND ..." */) + return TCL_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub1)), int32(unsafe.Sizeof(RebaseSubcmd{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if objc != (2 + aSub1[*(*int32)(unsafe.Pointer(bp /* iSub */))].FnArg) { + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub1[*(*int32)(unsafe.Pointer(bp /* iSub */))].FzMsg) + return TCL_ERROR + } + + switch *(*int32)(unsafe.Pointer(bp /* iSub */)) { + case 0: + { // configure + *(*int32)(unsafe.Pointer(bp + 4 /* nRebase */)) = 0 + var pRebase uintptr = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+4 /* &nRebase */) + rc = sqlite3.Xsqlite3rebaser_configure(tls, p, *(*int32)(unsafe.Pointer(bp + 4 /* nRebase */)), pRebase) + break + + } + + case 1: // delete + tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))) + break + + default: + { // rebase + // var sStr TestStreamInput at bp+8, 24 + // Input stream + // var sOut TestSessionsBlob at bp+32, 16 + // Output blob + + libc.Xmemset(tls, bp+8 /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+32 /* &sOut */, 0, uint64(unsafe.Sizeof(TestSessionsBlob{}))) + (*TestStreamInput)(unsafe.Pointer(bp + 8 /* &sStr */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), (bp + 8 /* &sStr */ + 16 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp + 8 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + + if (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FnStream != 0 { + rc = sqlite3.Xsqlite3rebaser_rebase_strm(tls, p, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+8, /* &sStr */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+32 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3rebaser_rebase(tls, p, (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FaData, (bp + 32 /* &sOut */ + 8 /* &.n */), (bp + 32 /* &sOut */ /* &.p */)) + } + + if rc == SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fp) + break + + } + } + + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + return TCL_OK +} + +type RebaseSubcmd = struct { + FzSub uintptr + FnArg int32 + _ [4]byte + FzMsg uintptr + FiSub int32 + _ [4]byte +} /* test_session.c:1177:10 */ + +var aSub1 = [4]RebaseSubcmd{ + {FzSub: ts + 11052 /* "configure" */, FnArg: 1, FzMsg: ts + 11062 /* "REBASE-BLOB" */}, // 0 + {FzSub: ts + 10601 /* "delete" */, FzMsg: ts + 489 /* "" */}, // 1 + {FzSub: ts + 11074 /* "rebase" */, FnArg: 1, FzMsg: ts + 10982 /* "CHANGESET" */}, // 2 + {}, +} /* test_session.c:1182:5 */ + +func test_rebaser_del(tls *libc.TLS, clientData uintptr) { /* test_session.c:1252:27: */ + var p uintptr = clientData + sqlite3.Xsqlite3rebaser_delete(tls, p) +} + +// tclcmd: sqlite3rebaser_create NAME +func test_sqlite3rebaser_create(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1260:26: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 + *(*uintptr)(unsafe.Pointer(bp /* pNew */)) = uintptr(0) + if objc != 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10397 /* "NAME" */) + return SQLITE_ERROR + } + + rc = sqlite3.Xsqlite3rebaser_create(tls, bp /* &pNew */) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + tcl.XTcl_CreateObjCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_rebaser_cmd})), + *(*uintptr)(unsafe.Pointer(bp /* pNew */)), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_rebaser_del}))) + tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + return TCL_OK +} + +// tclcmd: sqlite3rebaser_configure OP VALUE +func test_sqlite3session_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1288:26: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 + // var iSub int32 at bp, 4 + + // var iVal int32 at bp+4, 4 + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11081 /* "OP VALUE" */) + return SQLITE_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub2)), int32(unsafe.Sizeof(ConfigOpt{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+4 /* &iVal */) != 0 { + return TCL_ERROR + } + + rc = sqlite3.Xsqlite3session_config(tls, aSub2[*(*int32)(unsafe.Pointer(bp /* iSub */))].Fop, bp+4 /* &iVal */) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4 /* iVal */)))) + return TCL_OK +} + +type ConfigOpt = struct { + FzSub uintptr + Fop int32 + _ [4]byte +} /* test_session.c:1294:10 */ + +var aSub2 = [3]ConfigOpt{ + {FzSub: ts + 11090 /* "strm_size" */, Fop: SQLITE_SESSION_CONFIG_STRMSIZE}, + {FzSub: ts + 2619 /* "invalid" */}, + {}, +} /* test_session.c:1297:5 */ + +func TestSession_Init(tls *libc.TLS, interp uintptr) int32 { /* test_session.c:1324:5: */ + bp := tls.Alloc(160) + defer tls.Free(160) + + *(*[10]struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(bp /* aCmd */)) = [10]struct { + FzCmd uintptr + FxProc uintptr + }{ + {FzCmd: ts + 11100 /* "sqlite3session" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session}))}, + {FzCmd: ts + 11115 /* "sqlite3session_f..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session_foreach}))}, + {FzCmd: ts + 11138 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_invert}))}, + {FzCmd: ts + 11162 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_concat}))}, + {FzCmd: ts + 11186 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply}))}, + {FzCmd: ts + 11209 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply_v2}))}, + {FzCmd: ts + 11235, /* "sqlite3changeset..." */ + FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply_replace_all}))}, + {FzCmd: ts + 11270 /* "sql_exec_changes..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sql_exec_changeset}))}, + {FzCmd: ts + 11289 /* "sqlite3rebaser_c..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3rebaser_create}))}, + {FzCmd: ts + 11311 /* "sqlite3session_c..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session_config}))}, + } + var i int32 + + for i = 0; uint64(i) < (uint64(unsafe.Sizeof([10]struct { + FzCmd uintptr + FxProc uintptr + }{})) / uint64(unsafe.Sizeof(struct { + FzCmd uintptr + FxProc uintptr + }{}))); i++ { + var p uintptr = (bp /* &aCmd */ + uintptr(i)*16) + tcl.XTcl_CreateObjCommand(tls, interp, (*struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(p)).FzCmd, (*struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(p)).FxProc, uintptr(0), uintptr(0)) + } + + return TCL_OK +} + // 2014-09-08 // // The author disclaims copyright to this source code. In place of @@ -37107,7 +38591,7 @@ func incrblobHandle(tls *libc.TLS, instanceData ClientData, dir int32, hPtr uint } var IncrblobChannelType = Tcl_ChannelType{ - FtypeName: ts + 10524, /* "incrblob" */ // typeName + FtypeName: ts + 11333, /* "incrblob" */ // typeName Fversion: uintptr(0x2), // version FcloseProc: 0, // closeProc FinputProc: 0, // inputProc @@ -37145,7 +38629,7 @@ func createIncrblobChannel(tls *libc.TLS, interp uintptr, pDb uintptr, zDb uintp (*IncrblobChannel)(unsafe.Pointer(p)).FiSeek = 0 (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob = *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zChannel[0] */, ts+10533 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zChannel[0] */, ts+11342 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel = tcl.XTcl_CreateChannel(tls, uintptr(unsafe.Pointer(&IncrblobChannelType)), bp+16 /* &zChannel[0] */, p, flags) tcl.XTcl_RegisterChannel(tls, interp, (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel) @@ -37482,7 +38966,7 @@ func DbProfileHandler(tls *libc.TLS, cd uintptr, zSql uintptr, tm1 sqlite_uint64 // var zTm [100]int8 at bp+8, 100 - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([100]int8{})) - uint64(1))), bp+8 /* &zTm[0] */, ts+10545 /* "%lld" */, libc.VaList(bp, tm1)) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([100]int8{})) - uint64(1))), bp+8 /* &zTm[0] */, ts+11354 /* "%lld" */, libc.VaList(bp, tm1)) tcl.XTcl_DStringInit(tls, bp+112 /* &str */) tcl.XTcl_DStringAppend(tls, bp+112 /* &str */, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, -1) tcl.XTcl_DStringAppendElement(tls, bp+112 /* &str */, zSql) @@ -37550,9 +39034,9 @@ func setTestUnlockNotifyVars(tls *libc.TLS, interp uintptr, iArg int32, nArg int // var zBuf [64]int8 at bp+16, 64 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp, iArg)) - tcl.XTcl_SetVar2(tls, interp, ts+10550 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+11359 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+8, nArg)) - tcl.XTcl_SetVar2(tls, interp, ts+10575 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+11384 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) } func DbUnlockNotify(tls *libc.TLS, apArg uintptr, nArg int32) { /* tclsqlite.c:799:13: */ @@ -37594,7 +39078,7 @@ func DbPreUpdateHandler(tls *libc.TLS, p uintptr, db uintptr, op int32, zDb uint } } -var azStr = [3]uintptr{ts + 10605 /* "DELETE" */, ts + 10612 /* "INSERT" */, ts + 10619 /* "UPDATE" */} /* tclsqlite.c:828:21 */ +var azStr = [3]uintptr{ts + 10786 /* "DELETE" */, ts + 10772 /* "INSERT" */, ts + 10779 /* "UPDATE" */} /* tclsqlite.c:828:21 */ func DbUpdateHandler(tls *libc.TLS, p uintptr, op int32, zDb uintptr, zTbl uintptr, rowid sqlite_int64) { /* tclsqlite.c:849:13: */ var pDb uintptr = p @@ -37615,7 +39099,7 @@ func DbUpdateHandler(tls *libc.TLS, p uintptr, op int32, zDb uintptr, zTbl uintp } } -var azStr1 = [3]uintptr{ts + 10605 /* "DELETE" */, ts + 10612 /* "INSERT" */, ts + 10619 /* "UPDATE" */} /* tclsqlite.c:858:21 */ +var azStr1 = [3]uintptr{ts + 10786 /* "DELETE" */, ts + 10772 /* "INSERT" */, ts + 10779 /* "UPDATE" */} /* tclsqlite.c:858:21 */ func tclCollateNeeded(tls *libc.TLS, pCtx uintptr, db uintptr, enc int32, zName uintptr) { /* tclsqlite.c:877:13: */ var pDb uintptr = pCtx @@ -37874,109 +39358,109 @@ func auth_callback(tls *libc.TLS, pArg uintptr, code int32, zArg1 uintptr, zArg2 // authorized. switch code { case SQLITE_COPY: - zCode = ts + 10626 /* "SQLITE_COPY" */ + zCode = ts + 11414 /* "SQLITE_COPY" */ break case SQLITE_CREATE_INDEX: - zCode = ts + 10638 /* "SQLITE_CREATE_IN..." */ + zCode = ts + 11426 /* "SQLITE_CREATE_IN..." */ break case SQLITE_CREATE_TABLE: - zCode = ts + 10658 /* "SQLITE_CREATE_TA..." */ + zCode = ts + 11446 /* "SQLITE_CREATE_TA..." */ break case SQLITE_CREATE_TEMP_INDEX: - zCode = ts + 10678 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11466 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_TABLE: - zCode = ts + 10703 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11491 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_TRIGGER: - zCode = ts + 10728 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11516 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_VIEW: - zCode = ts + 10755 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11543 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TRIGGER: - zCode = ts + 10779 /* "SQLITE_CREATE_TR..." */ + zCode = ts + 11567 /* "SQLITE_CREATE_TR..." */ break case SQLITE_CREATE_VIEW: - zCode = ts + 10801 /* "SQLITE_CREATE_VI..." */ + zCode = ts + 11589 /* "SQLITE_CREATE_VI..." */ break case SQLITE_DELETE: - zCode = ts + 10820 /* "SQLITE_DELETE" */ + zCode = ts + 11608 /* "SQLITE_DELETE" */ break case SQLITE_DROP_INDEX: - zCode = ts + 10834 /* "SQLITE_DROP_INDE..." */ + zCode = ts + 11622 /* "SQLITE_DROP_INDE..." */ break case SQLITE_DROP_TABLE: - zCode = ts + 10852 /* "SQLITE_DROP_TABL..." */ + zCode = ts + 11640 /* "SQLITE_DROP_TABL..." */ break case SQLITE_DROP_TEMP_INDEX: - zCode = ts + 10870 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11658 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_TABLE: - zCode = ts + 10893 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11681 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_TRIGGER: - zCode = ts + 10916 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11704 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_VIEW: - zCode = ts + 10941 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11729 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TRIGGER: - zCode = ts + 10963 /* "SQLITE_DROP_TRIG..." */ + zCode = ts + 11751 /* "SQLITE_DROP_TRIG..." */ break case SQLITE_DROP_VIEW: - zCode = ts + 10983 /* "SQLITE_DROP_VIEW" */ + zCode = ts + 11771 /* "SQLITE_DROP_VIEW" */ break case SQLITE_INSERT: - zCode = ts + 11000 /* "SQLITE_INSERT" */ + zCode = ts + 11788 /* "SQLITE_INSERT" */ break case SQLITE_PRAGMA: - zCode = ts + 11014 /* "SQLITE_PRAGMA" */ + zCode = ts + 11802 /* "SQLITE_PRAGMA" */ break case SQLITE_READ: - zCode = ts + 11028 /* "SQLITE_READ" */ + zCode = ts + 11816 /* "SQLITE_READ" */ break case SQLITE_SELECT: - zCode = ts + 11040 /* "SQLITE_SELECT" */ + zCode = ts + 11828 /* "SQLITE_SELECT" */ break case SQLITE_TRANSACTION: - zCode = ts + 11054 /* "SQLITE_TRANSACTI..." */ + zCode = ts + 11842 /* "SQLITE_TRANSACTI..." */ break case SQLITE_UPDATE: - zCode = ts + 11073 /* "SQLITE_UPDATE" */ + zCode = ts + 11861 /* "SQLITE_UPDATE" */ break case SQLITE_ATTACH: - zCode = ts + 11087 /* "SQLITE_ATTACH" */ + zCode = ts + 11875 /* "SQLITE_ATTACH" */ break case SQLITE_DETACH: - zCode = ts + 11101 /* "SQLITE_DETACH" */ + zCode = ts + 11889 /* "SQLITE_DETACH" */ break case SQLITE_ALTER_TABLE: - zCode = ts + 11115 /* "SQLITE_ALTER_TAB..." */ + zCode = ts + 11903 /* "SQLITE_ALTER_TAB..." */ break case SQLITE_REINDEX: - zCode = ts + 11134 /* "SQLITE_REINDEX" */ + zCode = ts + 11922 /* "SQLITE_REINDEX" */ break case SQLITE_ANALYZE: - zCode = ts + 11149 /* "SQLITE_ANALYZE" */ + zCode = ts + 11937 /* "SQLITE_ANALYZE" */ break case SQLITE_CREATE_VTABLE: - zCode = ts + 11164 /* "SQLITE_CREATE_VT..." */ + zCode = ts + 11952 /* "SQLITE_CREATE_VT..." */ break case SQLITE_DROP_VTABLE: - zCode = ts + 11185 /* "SQLITE_DROP_VTAB..." */ + zCode = ts + 11973 /* "SQLITE_DROP_VTAB..." */ break case SQLITE_FUNCTION: - zCode = ts + 11204 /* "SQLITE_FUNCTION" */ + zCode = ts + 11992 /* "SQLITE_FUNCTION" */ break case SQLITE_SAVEPOINT: - zCode = ts + 11220 /* "SQLITE_SAVEPOINT" */ + zCode = ts + 12008 /* "SQLITE_SAVEPOINT" */ break case SQLITE_RECURSIVE: - zCode = ts + 11237 /* "SQLITE_RECURSIVE" */ + zCode = ts + 12025 /* "SQLITE_RECURSIVE" */ break default: - zCode = ts + 11254 /* "????" */ + zCode = ts + 12042 /* "????" */ break } tcl.XTcl_DStringInit(tls, bp /* &str */) @@ -38011,13 +39495,13 @@ func auth_callback(tls *libc.TLS, pArg uintptr, code int32, zArg1 uintptr, zArg2 if rc == TCL_OK { zReply = tcl.XTcl_GetStringResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp) } else { - zReply = ts + 11259 /* "SQLITE_DENY" */ + zReply = ts + 12047 /* "SQLITE_DENY" */ } if libc.Xstrcmp(tls, zReply, ts+1988 /* "SQLITE_OK" */) == 0 { rc = SQLITE_OK - } else if libc.Xstrcmp(tls, zReply, ts+11259 /* "SQLITE_DENY" */) == 0 { + } else if libc.Xstrcmp(tls, zReply, ts+12047 /* "SQLITE_DENY" */) == 0 { rc = SQLITE_DENY - } else if libc.Xstrcmp(tls, zReply, ts+11271 /* "SQLITE_IGNORE" */) == 0 { + } else if libc.Xstrcmp(tls, zReply, ts+12059 /* "SQLITE_IGNORE" */) == 0 { rc = SQLITE_IGNORE } else { rc = 999 @@ -38114,9 +39598,9 @@ func DbTransPostCmd(tls *libc.TLS, data uintptr, interp uintptr, result int32) i } var azEnd = [4]uintptr{ - ts + 11285, /* "RELEASE _tcl_tra..." */ // rc==TCL_ERROR, nTransaction!=0 - ts + 11310, /* "COMMIT" */ // rc!=TCL_ERROR, nTransaction==0 - ts + 11317, /* "ROLLBACK TO _tcl..." */ + ts + 12073, /* "RELEASE _tcl_tra..." */ // rc==TCL_ERROR, nTransaction!=0 + ts + 12098, /* "COMMIT" */ // rc!=TCL_ERROR, nTransaction==0 + ts + 12105, /* "ROLLBACK TO _tcl..." */ ts + 7270, /* "ROLLBACK" */ // rc==TCL_ERROR, nTransaction==0 } /* tclsqlite.c:1216:21 */ @@ -39005,7 +40489,7 @@ func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintpt return TCL_ERROR __1: ; - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&DB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+11373 /* "option" */, 0, bp+1016 /* &choice */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&DB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+12161 /* "option" */, 0, bp+1016 /* &choice */) != 0) { goto __2 } return TCL_ERROR @@ -39363,7 +40847,7 @@ __4: if !(objc > 3) { goto __45 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __46 __45: @@ -39434,7 +40918,7 @@ __55: zDestFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) goto __58 __57: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11391 /* "?DATABASE? FILEN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12179 /* "?DATABASE? FILEN..." */) return TCL_ERROR __58: ; @@ -39445,7 +40929,7 @@ __56: if !(rc != SQLITE_OK) { goto __59 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+11411, /* "cannot open targ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+12199, /* "cannot open targ..." */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))) return TCL_ERROR @@ -39455,7 +40939,7 @@ __59: if !(pBackup == uintptr(0)) { goto __60 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+11441, /* "backup failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+12229, /* "backup failed: " */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))) return TCL_ERROR @@ -39475,7 +40959,7 @@ __62: rc = TCL_OK goto __64 __63: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+11441, /* "backup failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+12229, /* "backup failed: " */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) rc = TCL_ERROR __64: @@ -39504,7 +40988,7 @@ __6: if !(objc > 3) { goto __65 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __66 __65: @@ -39550,7 +41034,7 @@ __7: if !(objc > 3) { goto __73 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11457 /* "CALLBACK" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12245 /* "CALLBACK" */) return TCL_ERROR goto __74 __73: @@ -39610,18 +41094,18 @@ __8: if !(objc <= 2) { goto __83 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11466 /* "cache option ?ar..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+12254 /* "cache option ?ar..." */) return TCL_ERROR __83: ; subCmd = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)) - if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 'f') && (libc.Xstrcmp(tls, subCmd, ts+11485 /* "flush" */) == 0)) { + if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 'f') && (libc.Xstrcmp(tls, subCmd, ts+12273 /* "flush" */) == 0)) { goto __84 } if !(objc != 3) { goto __86 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11485 /* "flush" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12273 /* "flush" */) return TCL_ERROR goto __87 __86: @@ -39630,21 +41114,21 @@ __87: ; goto __85 __84: - if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 's') && (libc.Xstrcmp(tls, subCmd, ts+11491 /* "size" */) == 0)) { + if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 's') && (libc.Xstrcmp(tls, subCmd, ts+12279 /* "size" */) == 0)) { goto __88 } if !(objc != 4) { goto __90 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11496 /* "size n" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12284 /* "size n" */) return TCL_ERROR goto __91 __90: if !(TCL_ERROR == tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1040 /* &n */)) { goto __92 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+120, ts+11503, /* "cannot convert \"" */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), uintptr(0)), ts+11520 /* "\" to integer" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+120, ts+12291, /* "cannot convert \"" */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), uintptr(0)), ts+12308 /* "\" to integer" */, uintptr(0))) return TCL_ERROR goto __93 __92: @@ -39670,8 +41154,8 @@ __91: ; goto __89 __88: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, ts+11533, /* "bad option \"" */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)), ts+11546, /* "\": must be flush..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, ts+12321, /* "bad option \"" */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)), ts+12334, /* "\": must be flush..." */ uintptr(0))) return TCL_ERROR __89: @@ -39712,7 +41196,7 @@ __11: if !(objc != 4) { goto __98 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11571 /* "NAME SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12359 /* "NAME SCRIPT" */) return TCL_ERROR __98: ; @@ -39750,7 +41234,7 @@ __12: if !(objc != 3) { goto __101 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11583 /* "SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+10650 /* "SCRIPT" */) return TCL_ERROR __101: ; @@ -39792,7 +41276,7 @@ __13: if !(objc > 3) { goto __107 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __108 __107: @@ -39868,7 +41352,7 @@ __15: if !(objc > 4) { goto __118 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11590 /* "?OPTION? ?BOOLEA..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12371 /* "?OPTION? ?BOOLEA..." */) return TCL_ERROR __118: ; @@ -39928,8 +41412,8 @@ __127: if !(uint64(ii) >= (uint64(unsafe.Sizeof(aDbConfig)) / uint64(unsafe.Sizeof(DbConfigChoices{})))) { goto __129 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+216, ts+11609 /* "unknown config o..." */, zOpt, - ts+11634 /* "\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+216, ts+12390 /* "unknown config o..." */, zOpt, + ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __129: ; @@ -39973,7 +41457,7 @@ __16: // The input file goto __132 } tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, - ts+11636 /* "CONFLICT-ALGORIT..." */) + ts+12417 /* "CONFLICT-ALGORIT..." */) return TCL_ERROR __132: ; @@ -39983,7 +41467,7 @@ __132: zSep = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 5*8)), uintptr(0)) goto __134 __133: - zSep = ts + 11698 /* "\t" */ + zSep = ts + 12479 /* "\t" */ __134: ; if !(objc >= 7) { @@ -40003,25 +41487,25 @@ __136: if !(nSep == 0) { goto __137 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+264, ts+11700, /* "Error: non-null ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+264, ts+12481, /* "Error: non-null ..." */ uintptr(0))) return TCL_ERROR __137: ; - if !(((((libc.Xstrcmp(tls, zConflict, ts+11744 /* "rollback" */) != 0) && (libc.Xstrcmp(tls, zConflict, ts+11753 /* "abort" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11759 /* "fail" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11764 /* "ignore" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11771 /* "replace" */) != 0)) { + if !(((((libc.Xstrcmp(tls, zConflict, ts+12525 /* "rollback" */) != 0) && (libc.Xstrcmp(tls, zConflict, ts+12534 /* "abort" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12540 /* "fail" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12545 /* "ignore" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12552 /* "replace" */) != 0)) { goto __138 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+280, ts+11779 /* "Error: \"" */, zConflict, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+280, ts+12560 /* "Error: \"" */, zConflict, - ts+11788 /* "\", conflict-algo..." */, uintptr(0))) + ts+12569 /* "\", conflict-algo..." */, uintptr(0))) return TCL_ERROR __138: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+11868 /* "SELECT * FROM '%..." */, libc.VaList(bp+312, zTable)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+12649 /* "SELECT * FROM '%..." */, libc.VaList(bp+312, zTable)) if !(zSql == uintptr(0)) { goto __139 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+320, ts+11887 /* "Error: no such t..." */, zTable, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+320, ts+12668 /* "Error: no such t..." */, zTable, uintptr(0))) return TCL_ERROR __139: ; @@ -40031,7 +41515,7 @@ __139: if !(rc != 0) { goto __140 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+344, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+344, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) nCol = 0 goto __141 __140: @@ -40049,11 +41533,11 @@ __142: if !(zSql == uintptr(0)) { goto __143 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+368, ts+11918 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+368, ts+12699 /* "Error: can't mal..." */, uintptr(0))) return TCL_ERROR __143: ; - sqlite3.Xsqlite3_snprintf(tls, (nByte + 50), zSql, ts+11940, /* "INSERT OR %q INT..." */ + sqlite3.Xsqlite3_snprintf(tls, (nByte + 50), zSql, ts+12721, /* "INSERT OR %q INT..." */ libc.VaList(bp+384, zConflict, zTable)) j = strlen30(tls, zSql) i = 1 @@ -40077,7 +41561,7 @@ __146: if !(rc != 0) { goto __147 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+400, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+400, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */))) return TCL_ERROR __147: @@ -40086,7 +41570,7 @@ __147: if !(in == uintptr(0)) { goto __148 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+424, ts+11972 /* "Error: cannot op..." */, zFile, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+424, ts+12753 /* "Error: cannot op..." */, zFile, uintptr(0))) sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */))) return TCL_ERROR __148: @@ -40095,13 +41579,13 @@ __148: if !(azCol == uintptr(0)) { goto __149 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+448, ts+11918 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+448, ts+12699 /* "Error: can't mal..." */, uintptr(0))) libc.Xfclose(tls, in) return TCL_ERROR __149: ; - sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+11998 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) - zCommit1 = ts + 11310 /* "COMMIT" */ + sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+12779 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + zCommit1 = ts + 12098 /* "COMMIT" */ __150: if !((libc.AssignUintptr(&zLine, local_getline(tls, uintptr(0), in))) != uintptr(0)) { goto __151 @@ -40144,7 +41628,7 @@ __154: goto __158 } sqlite3.Xsqlite3_snprintf(tls, nErr, zErr, - ts+12004, /* "Error: %s line %..." */ + ts+12785, /* "Error: %s line %..." */ libc.VaList(bp+464, zFile, lineno, nCol, (i+1))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+496, zErr, uintptr(0))) libc.Xfree(tls, zErr) @@ -40183,7 +41667,7 @@ __161: if !(rc != SQLITE_OK) { goto __164 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+512, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+512, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) zCommit1 = ts + 7270 /* "ROLLBACK" */ goto __151 __164: @@ -40207,7 +41691,7 @@ __151: __165: // failure, append lineno where failed sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+1072 /* &zLineNum[0] */, ts+1238 /* "%d" */, libc.VaList(bp+536, lineno)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+544, ts+12064 /* ", failed while p..." */, bp+1072, /* &zLineNum[0] */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+544, ts+12845 /* ", failed while p..." */, bp+1072, /* &zLineNum[0] */ uintptr(0))) rc = TCL_ERROR __166: @@ -40226,7 +41710,7 @@ __17: if !(objc < 3) { goto __167 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12097 /* "?DATABASE? VALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12878 /* "?DATABASE? VALUE" */) rc = TCL_ERROR goto __3 __167: @@ -40237,7 +41721,7 @@ __168: goto __170 } z1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i1)*8))) - if !((libc.Xstrcmp(tls, z1, ts+12114 /* "-maxsize" */) == 0) && (i1 < (objc - 2))) { + if !((libc.Xstrcmp(tls, z1, ts+12895 /* "-maxsize" */) == 0) && (i1 < (objc - 2))) { goto __171 } rc = tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1152 /* &mxSize */) @@ -40250,7 +41734,7 @@ __172: goto __169 __171: ; - if !((libc.Xstrcmp(tls, z1, ts+12123 /* "-readonly" */) == 0) && (i1 < (objc - 2))) { + if !((libc.Xstrcmp(tls, z1, ts+12904 /* "-readonly" */) == 0) && (i1 < (objc - 2))) { goto __173 } rc = tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1160 /* &isReadonly */) @@ -40270,7 +41754,7 @@ __173: goto __169 __175: ; - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+568, ts+12133 /* "unknown option: " */, z1, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+568, ts+12914 /* "unknown option: " */, z1, uintptr(0))) rc = TCL_ERROR goto deserialize_error goto __169 @@ -40309,7 +41793,7 @@ __180: if !(xrc != 0) { goto __181 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+608, ts+12150 /* "unable to set ME..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+608, ts+12931 /* "unable to set ME..." */, uintptr(0))) rc = TCL_ERROR __181: ; @@ -40329,7 +41813,7 @@ deserialize_error: // Turn the extension loading feature on or off. It if off by // default. __18: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+624, ts+12178, /* "extension loadin..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+624, ts+12959, /* "extension loadin..." */ uintptr(0))) return TCL_ERROR @@ -40415,13 +41899,13 @@ __192: if !(((objc > 3) && ((libc.AssignUintptr(&zOpt1, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))))) != uintptr(0))) && (int32(*(*int8)(unsafe.Pointer(zOpt1))) == '-')) { goto __193 } - if !(libc.Xstrcmp(tls, zOpt1, ts+12226 /* "-withoutnulls" */) == 0) { + if !(libc.Xstrcmp(tls, zOpt1, ts+13007 /* "-withoutnulls" */) == 0) { goto __194 } evalFlags = evalFlags | (SQLITE_EVAL_WITHOUTNULLS) goto __195 __194: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+640, ts+12240 /* "unknown option: ..." */, zOpt1, ts+11634 /* "\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+640, ts+13021 /* "unknown option: ..." */, zOpt1, ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __195: ; @@ -40434,7 +41918,7 @@ __193: goto __196 } tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, - ts+12258 /* "?OPTIONS? SQL ?A..." */) + ts+13039 /* "?OPTIONS? SQL ?A..." */) return TCL_ERROR __196: ; @@ -40531,7 +42015,7 @@ __23: if !(objc < 4) { goto __210 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12294 /* "NAME ?SWITCHES? ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13075 /* "NAME ?SWITCHES? ..." */) return TCL_ERROR __210: ; @@ -40542,13 +42026,13 @@ __211: } z2 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8))) n1 = strlen30(tls, z2) - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12317 /* "-argcount" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13098 /* "-argcount" */, uint64(n1)) == 0)) { goto __214 } if !(i3 == (objc - 2)) { goto __216 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+672, ts+12327 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+672, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __216: ; @@ -40561,7 +42045,7 @@ __217: if !(*(*int32)(unsafe.Pointer(bp + 1304 /* nArg */)) < 0) { goto __218 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+696, ts+12357, /* "number of argume..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+696, ts+13138, /* "number of argume..." */ uintptr(0))) return TCL_ERROR __218: @@ -40569,38 +42053,38 @@ __218: i3++ goto __215 __214: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12398 /* "-deterministic" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13179 /* "-deterministic" */, uint64(n1)) == 0)) { goto __219 } flags1 = flags1 | (SQLITE_DETERMINISTIC) goto __220 __219: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12413 /* "-directonly" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13194 /* "-directonly" */, uint64(n1)) == 0)) { goto __221 } flags1 = flags1 | (SQLITE_DIRECTONLY) goto __222 __221: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12425 /* "-innocuous" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13206 /* "-innocuous" */, uint64(n1)) == 0)) { goto __223 } flags1 = flags1 | (SQLITE_INNOCUOUS) goto __224 __223: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12436 /* "-returntype" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13217 /* "-returntype" */, uint64(n1)) == 0)) { goto __225 } - *(*[6]uintptr)(unsafe.Pointer(bp + 1312 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 12448 /* "real" */, ts + 12453 /* "text" */, ts + 12458 /* "blob" */, ts + 12463 /* "any" */, uintptr(0)} + *(*[6]uintptr)(unsafe.Pointer(bp + 1312 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 13229 /* "real" */, ts + 13234 /* "text" */, ts + 13239 /* "blob" */, ts + 13244 /* "any" */, uintptr(0)} if !(i3 == (objc - 2)) { goto __227 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+712, ts+12327 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+712, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __227: ; i3++ - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8)), bp+1312 /* &azType[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+12467 /* "type" */, 0, bp+1360 /* &eType */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8)), bp+1312 /* &azType[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+13248 /* "type" */, 0, bp+1360 /* &eType */) != 0) { goto __228 } return TCL_ERROR @@ -40609,9 +42093,9 @@ __228: *(*int32)(unsafe.Pointer(bp + 1360 /* eType */))++ goto __226 __225: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+736, ts+11533 /* "bad option \"" */, z2, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+736, ts+12321 /* "bad option \"" */, z2, - ts+12472 /* "\": must be -argc..." */, uintptr(0))) + ts+13253 /* "\": must be -argc..." */, uintptr(0))) return TCL_ERROR __226: ; @@ -40684,7 +42168,7 @@ __24: zDb = ts + 85 /* "main" */ // Check for the -readonly option - if !((objc > 3) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), ts+12123 /* "-readonly" */) == 0)) { + if !((objc > 3) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), ts+12904 /* "-readonly" */) == 0)) { goto __236 } isReadonly1 = 1 @@ -40694,7 +42178,7 @@ __236: if !((objc != (5 + isReadonly1)) && (objc != (6 + isReadonly1))) { goto __237 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12550 /* "?-readonly? ?DB?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13331 /* "?-readonly? ?DB?..." */) return TCL_ERROR __237: ; @@ -40736,7 +42220,7 @@ __26: if !((objc != 2) && (objc != 3)) { goto __240 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12586 /* "NULLVALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13367 /* "NULLVALUE" */) return TCL_ERROR __240: ; @@ -40841,7 +42325,7 @@ __256: ; goto __250 __249: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12596 /* "N CALLBACK" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13377 /* "N CALLBACK" */) return TCL_ERROR __250: ; @@ -40858,7 +42342,7 @@ __29: if !(objc > 3) { goto __257 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __258 __257: @@ -40915,7 +42399,7 @@ __30: if !(objc != 3) { goto __267 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12607 /* "KEY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13388 /* "KEY" */) return TCL_ERROR __267: ; @@ -40942,7 +42426,7 @@ __268: zSrcFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) goto __271 __270: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11391 /* "?DATABASE? FILEN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12179 /* "?DATABASE? FILEN..." */) return TCL_ERROR __271: ; @@ -40953,7 +42437,7 @@ __269: if !(rc != SQLITE_OK) { goto __272 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+800, ts+12611, /* "cannot open sour..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+800, ts+13392, /* "cannot open sour..." */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */))) return TCL_ERROR @@ -40963,7 +42447,7 @@ __272: if !(pBackup1 == uintptr(0)) { goto __273 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+824, ts+12641, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+824, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */))) return TCL_ERROR @@ -40999,12 +42483,12 @@ __278: if !((rc == SQLITE_BUSY) || (rc == SQLITE_LOCKED)) { goto __280 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+848, ts+12658, /* "restore failed: ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+848, ts+13439, /* "restore failed: ..." */ uintptr(0))) rc = TCL_ERROR goto __281 __280: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+12641, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) rc = TCL_ERROR __281: @@ -41027,7 +42511,7 @@ __32: if !((objc != 2) && (objc != 3)) { goto __282 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12695 /* "?DATABASE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13476 /* "?DATABASE?" */) rc = TCL_ERROR goto __283 __282: @@ -41061,7 +42545,7 @@ __33: if !(objc != 3) { goto __287 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12706 /* "(step|sort|autoi..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13487 /* "(step|sort|autoi..." */) return TCL_ERROR __287: ; @@ -41072,26 +42556,26 @@ __287: v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnStep goto __289 __288: - if !(libc.Xstrcmp(tls, zOp, ts+12728 /* "sort" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13509 /* "sort" */) == 0) { goto __290 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnSort goto __291 __290: - if !(libc.Xstrcmp(tls, zOp, ts+12733 /* "autoindex" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13514 /* "autoindex" */) == 0) { goto __292 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnIndex goto __293 __292: - if !(libc.Xstrcmp(tls, zOp, ts+12743 /* "vmstep" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13524 /* "vmstep" */) == 0) { goto __294 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnVMStep goto __295 __294: tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+888, ts+12750, /* "bad argument: sh..." */ + libc.VaList(bp+888, ts+13531, /* "bad argument: sh..." */ uintptr(0))) return TCL_ERROR __295: @@ -41112,7 +42596,7 @@ __34: if !(objc != 3) { goto __296 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12806 /* "MILLISECONDS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13587 /* "MILLISECONDS" */) return TCL_ERROR __296: ; @@ -41150,7 +42634,7 @@ __36: if !(objc > 3) { goto __299 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __300 __299: @@ -41209,7 +42693,7 @@ __37: if !(objc > 4) { goto __309 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12819 /* "?CALLBACK? ?MASK..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13600 /* "?CALLBACK? ?MASK..." */) return TCL_ERROR goto __310 __309: @@ -41245,7 +42729,7 @@ __317: return TCL_ERROR __320: ; - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+12837 /* "trace type" */, 0, bp+1432 /* &ttype */) != TCL_OK) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+13618 /* "trace type" */, 0, bp+1432 /* &ttype */) != TCL_OK) { goto __321 } pError = tcl.XTcl_DuplicateObj(tls, tcl.XTcl_GetObjResult(tls, interp)) @@ -41379,11 +42863,11 @@ __310: // This command was inspired by Dave Thomas's talk on Ruby at the // 2005 O'Reilly Open Source Convention (OSCON). __38: - zBegin = ts + 12848 /* "SAVEPOINT _tcl_t..." */ + zBegin = ts + 13629 /* "SAVEPOINT _tcl_t..." */ if !((objc != 3) && (objc != 4)) { goto __343 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12875 /* "[TYPE] SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13656 /* "[TYPE] SCRIPT" */) return TCL_ERROR __343: ; @@ -41391,7 +42875,7 @@ __343: if !(((*SqliteDb)(unsafe.Pointer(pDb)).FnTransaction == 0) && (objc == 4)) { goto __344 } - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&TTYPE_strs1)), int32(unsafe.Sizeof(uintptr(0))), ts+12889 /* "transaction type" */, 0, bp+1448 /* &ttype1 */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&TTYPE_strs1)), int32(unsafe.Sizeof(uintptr(0))), ts+13670 /* "transaction type" */, 0, bp+1448 /* &ttype1 */) != 0) { goto __345 } return TCL_ERROR @@ -41410,10 +42894,10 @@ __347: /* no-op */ ; goto __346 __348: - zBegin = ts + 12906 /* "BEGIN EXCLUSIVE" */ + zBegin = ts + 13687 /* "BEGIN EXCLUSIVE" */ goto __346 __349: - zBegin = ts + 12922 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 13703 /* "BEGIN IMMEDIATE" */ goto __346 __346: ; @@ -41458,7 +42942,7 @@ __39: if !((objc != 2) && (objc != 3)) { goto __353 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) rc = TCL_ERROR goto __354 __353: @@ -41520,7 +43004,7 @@ __40: if !(objc < 3) { goto __362 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12947 /* "SUB-COMMAND ?ARG..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13728 /* "SUB-COMMAND ?ARG..." */) __362: ; if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&azSub)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+1464 /* &iSub */) != 0) { @@ -41555,7 +43039,7 @@ __366: if !(objc > 4) { goto __370 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12966 /* "hook ?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13747 /* "hook ?SCRIPT?" */) return TCL_ERROR __370: ; @@ -41584,7 +43068,7 @@ __369: if !(objc != 4) { goto __372 } - tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+12980 /* "INDEX" */) + tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+13761 /* "INDEX" */) return TCL_ERROR __372: ; @@ -41652,7 +43136,7 @@ __380: if !(objc > 3) { goto __381 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) return TCL_ERROR __381: ; @@ -41679,7 +43163,7 @@ __382: // $db version -use-legacy-prepare BOOLEAN // // Turn the use of legacy sqlite3_prepare() on or off. - if !((libc.Xstrcmp(tls, zArg, ts+12986 /* "-use-legacy-prep..." */) == 0) && ((i5 + 1) < objc)) { + if !((libc.Xstrcmp(tls, zArg, ts+13767 /* "-use-legacy-prep..." */) == 0) && ((i5 + 1) < objc)) { goto __385 } i5++ @@ -41696,10 +43180,10 @@ __385: // // Return a string which is a hex encoding of the pointer to the // most recent sqlite3_stmt in the statement cache. - if !(libc.Xstrcmp(tls, zArg, ts+13006 /* "-last-stmt-ptr" */) == 0) { + if !(libc.Xstrcmp(tls, zArg, ts+13787 /* "-last-stmt-ptr" */) == 0) { goto __388 } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1480 /* &zBuf[0] */, ts+13021, /* "%p" */ + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1480 /* &zBuf[0] */, ts+13802, /* "%p" */ libc.VaList(bp+984, func() uintptr { if (*SqliteDb)(unsafe.Pointer(pDb)).FstmtList != 0 { return (*SqlPreparedStmt)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FstmtList)).FpStmt @@ -41710,7 +43194,7 @@ __385: goto __389 __388: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+992, ts+13024 /* "unknown argument..." */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+992, ts+13805 /* "unknown argument..." */, zArg, uintptr(0))) return TCL_ERROR __389: ; @@ -41743,46 +43227,46 @@ type DbConfigChoices = struct { } /* tclsqlite.c:2340:18 */ var DB_strs = [42]uintptr{ - ts + 13043 /* "authorizer" */, ts + 13054 /* "backup" */, ts + 13061, /* "bind_fallback" */ - ts + 13075 /* "busy" */, ts + 13080 /* "cache" */, ts + 13086, /* "changes" */ - ts + 10125 /* "close" */, ts + 13094 /* "collate" */, ts + 13102, /* "collation_needed" */ - ts + 13119 /* "commit_hook" */, ts + 13131 /* "complete" */, ts + 13140, /* "config" */ - ts + 13147 /* "copy" */, ts + 13152 /* "deserialize" */, ts + 13164, /* "enable_load_exte..." */ - ts + 13186 /* "errorcode" */, ts + 4757 /* "eval" */, ts + 13196, /* "exists" */ - ts + 13203 /* "function" */, ts + 10524 /* "incrblob" */, ts + 13212, /* "interrupt" */ - ts + 13222 /* "last_insert_rowi..." */, ts + 13240 /* "nullvalue" */, ts + 13250, /* "onecolumn" */ - ts + 13260 /* "preupdate" */, ts + 13270 /* "profile" */, ts + 10199, /* "progress" */ - ts + 13278 /* "rekey" */, ts + 13284 /* "restore" */, ts + 13292, /* "rollback_hook" */ - ts + 13306 /* "serialize" */, ts + 13316 /* "status" */, ts + 13323, /* "timeout" */ - ts + 13331 /* "total_changes" */, ts + 13345 /* "trace" */, ts + 13351, /* "trace_v2" */ - ts + 13360 /* "transaction" */, ts + 13372 /* "unlock_notify" */, ts + 13386, /* "update_hook" */ - ts + 13398 /* "version" */, ts + 13406 /* "wal_hook" */, uintptr(0), + ts + 13824 /* "authorizer" */, ts + 13835 /* "backup" */, ts + 13842, /* "bind_fallback" */ + ts + 13856 /* "busy" */, ts + 13861 /* "cache" */, ts + 13867, /* "changes" */ + ts + 10125 /* "close" */, ts + 13875 /* "collate" */, ts + 13883, /* "collation_needed" */ + ts + 13900 /* "commit_hook" */, ts + 13912 /* "complete" */, ts + 13921, /* "config" */ + ts + 13928 /* "copy" */, ts + 13933 /* "deserialize" */, ts + 13945, /* "enable_load_exte..." */ + ts + 13967 /* "errorcode" */, ts + 4757 /* "eval" */, ts + 13977, /* "exists" */ + ts + 13984 /* "function" */, ts + 11333 /* "incrblob" */, ts + 13993, /* "interrupt" */ + ts + 14003 /* "last_insert_rowi..." */, ts + 14021 /* "nullvalue" */, ts + 14031, /* "onecolumn" */ + ts + 14041 /* "preupdate" */, ts + 14051 /* "profile" */, ts + 10199, /* "progress" */ + ts + 14059 /* "rekey" */, ts + 14065 /* "restore" */, ts + 14073, /* "rollback_hook" */ + ts + 14087 /* "serialize" */, ts + 14097 /* "status" */, ts + 14104, /* "timeout" */ + ts + 14112 /* "total_changes" */, ts + 14126 /* "trace" */, ts + 14132, /* "trace_v2" */ + ts + 14141 /* "transaction" */, ts + 14153 /* "unlock_notify" */, ts + 14167, /* "update_hook" */ + ts + 14179 /* "version" */, ts + 14187 /* "wal_hook" */, uintptr(0), } /* tclsqlite.c:1916:21 */ var aDbConfig = [16]DbConfigChoices{ - {FzName: ts + 13415 /* "defensive" */, Fop: SQLITE_DBCONFIG_DEFENSIVE}, - {FzName: ts + 13425 /* "dqs_ddl" */, Fop: SQLITE_DBCONFIG_DQS_DDL}, - {FzName: ts + 13433 /* "dqs_dml" */, Fop: SQLITE_DBCONFIG_DQS_DML}, - {FzName: ts + 13441 /* "enable_fkey" */, Fop: SQLITE_DBCONFIG_ENABLE_FKEY}, - {FzName: ts + 13453 /* "enable_qpsg" */, Fop: SQLITE_DBCONFIG_ENABLE_QPSG}, - {FzName: ts + 13465 /* "enable_trigger" */, Fop: SQLITE_DBCONFIG_ENABLE_TRIGGER}, - {FzName: ts + 13480 /* "enable_view" */, Fop: SQLITE_DBCONFIG_ENABLE_VIEW}, - {FzName: ts + 13492 /* "fts3_tokenizer" */, Fop: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, - {FzName: ts + 13507 /* "legacy_alter_tab..." */, Fop: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, - {FzName: ts + 13526 /* "legacy_file_form..." */, Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, - {FzName: ts + 13545 /* "load_extension" */, Fop: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, - {FzName: ts + 13560 /* "no_ckpt_on_close" */, Fop: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, - {FzName: ts + 13577 /* "reset_database" */, Fop: SQLITE_DBCONFIG_RESET_DATABASE}, - {FzName: ts + 13592 /* "trigger_eqp" */, Fop: SQLITE_DBCONFIG_TRIGGER_EQP}, - {FzName: ts + 13604 /* "trusted_schema" */, Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA}, - {FzName: ts + 13619 /* "writable_schema" */, Fop: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, + {FzName: ts + 14196 /* "defensive" */, Fop: SQLITE_DBCONFIG_DEFENSIVE}, + {FzName: ts + 14206 /* "dqs_ddl" */, Fop: SQLITE_DBCONFIG_DQS_DDL}, + {FzName: ts + 14214 /* "dqs_dml" */, Fop: SQLITE_DBCONFIG_DQS_DML}, + {FzName: ts + 14222 /* "enable_fkey" */, Fop: SQLITE_DBCONFIG_ENABLE_FKEY}, + {FzName: ts + 14234 /* "enable_qpsg" */, Fop: SQLITE_DBCONFIG_ENABLE_QPSG}, + {FzName: ts + 14246 /* "enable_trigger" */, Fop: SQLITE_DBCONFIG_ENABLE_TRIGGER}, + {FzName: ts + 14261 /* "enable_view" */, Fop: SQLITE_DBCONFIG_ENABLE_VIEW}, + {FzName: ts + 14273 /* "fts3_tokenizer" */, Fop: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, + {FzName: ts + 14288 /* "legacy_alter_tab..." */, Fop: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, + {FzName: ts + 14307 /* "legacy_file_form..." */, Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, + {FzName: ts + 14326 /* "load_extension" */, Fop: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, + {FzName: ts + 14341 /* "no_ckpt_on_close" */, Fop: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, + {FzName: ts + 14358 /* "reset_database" */, Fop: SQLITE_DBCONFIG_RESET_DATABASE}, + {FzName: ts + 14373 /* "trigger_eqp" */, Fop: SQLITE_DBCONFIG_TRIGGER_EQP}, + {FzName: ts + 14385 /* "trusted_schema" */, Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA}, + {FzName: ts + 14400 /* "writable_schema" */, Fop: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, } /* tclsqlite.c:2343:7 */ var TTYPE_strs = [5]uintptr{ - ts + 13635 /* "statement" */, ts + 13270 /* "profile" */, ts + 13645 /* "row" */, ts + 10125 /* "close" */, uintptr(0), + ts + 14416 /* "statement" */, ts + 14051 /* "profile" */, ts + 14426 /* "row" */, ts + 10125 /* "close" */, uintptr(0), } /* tclsqlite.c:3321:27 */ var TTYPE_strs1 = [4]uintptr{ - ts + 13649 /* "deferred" */, ts + 13658 /* "exclusive" */, ts + 13668 /* "immediate" */, uintptr(0), + ts + 14430 /* "deferred" */, ts + 14439 /* "exclusive" */, ts + 14449 /* "immediate" */, uintptr(0), } /* tclsqlite.c:3404:25 */ -var azSub = [6]uintptr{ts + 1826 /* "count" */, ts + 13678 /* "depth" */, ts + 13684 /* "hook" */, ts + 13689 /* "new" */, ts + 13693 /* "old" */, uintptr(0)} /* tclsqlite.c:3496:23 */ +var azSub = [6]uintptr{ts + 1826 /* "count" */, ts + 14459 /* "depth" */, ts + 14465 /* "hook" */, ts + 14470 /* "new" */, ts + 14474 /* "old" */, uintptr(0)} /* tclsqlite.c:3496:23 */ // Adaptor that provides an objCmd interface to the NRE-enabled // interface implementation. @@ -41797,7 +43281,7 @@ func DbObjCmdAdaptor(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv func sqliteCmdUsage(tls *libc.TLS, interp uintptr, objv uintptr) int32 { /* tclsqlite.c:3661:12: */ tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+13697 /* "HANDLE ?FILENAME..." */) + ts+14478 /* "HANDLE ?FILENAME..." */) return TCL_ERROR } @@ -41843,16 +43327,16 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } if objc == 2 { zArg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(0)) - if libc.Xstrcmp(tls, zArg, ts+13843 /* "-version" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14624 /* "-version" */) == 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), uintptr(0))) return TCL_OK } - if libc.Xstrcmp(tls, zArg, ts+13852 /* "-sourceid" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14633 /* "-sourceid" */) == 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, sqlite3.Xsqlite3_sourceid(tls), uintptr(0))) return TCL_OK } - if libc.Xstrcmp(tls, zArg, ts+13862 /* "-has-codec" */) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+13873 /* "0" */, uintptr(0))) + if libc.Xstrcmp(tls, zArg, ts+14643 /* "-has-codec" */) == 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+14654 /* "0" */, uintptr(0))) return TCL_OK } if int32(*(*int8)(unsafe.Pointer(zArg))) == '-' { @@ -41872,11 +43356,11 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) return sqliteCmdUsage(tls, interp, objv) } i++ - if libc.Xstrcmp(tls, zArg, ts+13875 /* "-key" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14656 /* "-key" */) == 0 { // no-op - } else if libc.Xstrcmp(tls, zArg, ts+13880 /* "-vfs" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14661 /* "-vfs" */) == 0 { zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))) - } else if libc.Xstrcmp(tls, zArg, ts+12123 /* "-readonly" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+12904 /* "-readonly" */) == 0 { // var b int32 at bp+88, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+88 /* &b */) != 0 { @@ -41889,7 +43373,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) flags = flags & (libc.CplInt32(SQLITE_OPEN_READONLY)) flags = flags | (SQLITE_OPEN_READWRITE) } - } else if libc.Xstrcmp(tls, zArg, ts+13885 /* "-create" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14666 /* "-create" */) == 0 { // var b int32 at bp+92, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+92 /* &b */) != 0 { @@ -41900,7 +43384,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_CREATE)) } - } else if libc.Xstrcmp(tls, zArg, ts+13893 /* "-nofollow" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14674 /* "-nofollow" */) == 0 { // var b int32 at bp+96, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+96 /* &b */) != 0 { @@ -41911,7 +43395,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOFOLLOW)) } - } else if libc.Xstrcmp(tls, zArg, ts+13903 /* "-nomutex" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14684 /* "-nomutex" */) == 0 { // var b int32 at bp+100, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+100 /* &b */) != 0 { @@ -41923,7 +43407,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOMUTEX)) } - } else if libc.Xstrcmp(tls, zArg, ts+13912 /* "-fullmutex" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14693 /* "-fullmutex" */) == 0 { // var b int32 at bp+104, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+104 /* &b */) != 0 { @@ -41935,7 +43419,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_FULLMUTEX)) } - } else if libc.Xstrcmp(tls, zArg, ts+13923 /* "-uri" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14704 /* "-uri" */) == 0 { // var b int32 at bp+108, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+108 /* &b */) != 0 { @@ -41946,12 +43430,12 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_URI)) } - } else if libc.Xstrcmp(tls, zArg, ts+13928 /* "-translatefilena..." */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14709 /* "-translatefilena..." */) == 0 { if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+112 /* &bTranslateFileName */) != 0 { return TCL_ERROR } } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+12133 /* "unknown option: " */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+12914 /* "unknown option: " */, zArg, uintptr(0))) return TCL_ERROR } } @@ -42026,16 +43510,16 @@ func Sqlite3_Init(tls *libc.TLS, interp uintptr) int32 { /* tclsqlite.c:3877:12: rc = TCL_ERROR } if rc == TCL_OK { - tcl.XTcl_CreateObjCommand(tls, interp, ts+13947 /* "sqlite3" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+14728 /* "sqlite3" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{DbMain})), uintptr(0), uintptr(0)) // The "sqlite" alias is undocumented. It is here only to support // legacy scripts. All new scripts should use only the "sqlite3" // command. - tcl.XTcl_CreateObjCommand(tls, interp, ts+13955 /* "sqlite" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+14736 /* "sqlite" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{DbMain})), uintptr(0), uintptr(0)) - rc = tcl.XTcl_PkgProvideEx(tls, interp, ts+13947 /* "sqlite3" */, ts+13962 /* "3.36.0" */, uintptr(0)) + rc = tcl.XTcl_PkgProvideEx(tls, interp, ts+14728 /* "sqlite3" */, ts+14743 /* "3.36.0" */, uintptr(0)) } return rc } @@ -42088,7 +43572,7 @@ func tclsh_main_loop(tls *libc.TLS) uintptr { /* tclsqlite.c:3920:19: */ return uintptr(unsafe.Pointer(&zMainloop)) } -var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 13969 /* "if {[llength $ar..." */)) /* tclsqlite.c:3921:21 */ +var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 14750 /* "if {[llength $ar..." */)) /* tclsqlite.c:3921:21 */ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953:18: */ bp := tls.Alloc(64) @@ -42099,10 +43583,10 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: var zScript uintptr = uintptr(0) // var zArgc [32]int8 at bp+32, 32 - if libc.Xgetenv(tls, ts+14400 /* "SQLITE_DEBUG_BRE..." */) != 0 { + if libc.Xgetenv(tls, ts+15181 /* "SQLITE_DEBUG_BRE..." */) != 0 { if (libc.Xisatty(tls, 0) != 0) && (libc.Xisatty(tls, 2) != 0) { libc.Xfprintf(tls, libc.Xstderr, - ts+14419, /* "attach debugger ..." */ + ts+15200, /* "attach debugger ..." */ libc.VaList(bp, libc.Xgetpid(tls))) libc.Xfgetc(tls, libc.Xstdin) } else { @@ -42116,27 +43600,27 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: sqlite3.Xsqlite3_shutdown(tls) tcl.XTcl_FindExecutable(tls, *(*uintptr)(unsafe.Pointer(argv))) - tcl.XTcl_SetSystemEncoding(tls, uintptr(0), ts+14481 /* "utf-8" */) + tcl.XTcl_SetSystemEncoding(tls, uintptr(0), ts+15262 /* "utf-8" */) interp = tcl.XTcl_CreateInterp(tls) Sqlite3_Init(tls, interp) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), bp+32 /* &zArgc[0] */, ts+1238 /* "%d" */, libc.VaList(bp+8, (argc-1))) - tcl.XTcl_SetVar2(tls, interp, ts+14487 /* "argc" */, uintptr(0), bp+32 /* &zArgc[0] */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+14492 /* "argv0" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+14498 /* "argv" */, uintptr(0), ts+489 /* "" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15268 /* "argc" */, uintptr(0), bp+32 /* &zArgc[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15273 /* "argv0" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15279 /* "argv" */, uintptr(0), ts+489 /* "" */, TCL_GLOBAL_ONLY) for i = 1; i < argc; i++ { - tcl.XTcl_SetVar2(tls, interp, ts+14498 /* "argv" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ((TCL_GLOBAL_ONLY | TCL_LIST_ELEMENT) | TCL_APPEND_VALUE)) + tcl.XTcl_SetVar2(tls, interp, ts+15279 /* "argv" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ((TCL_GLOBAL_ONLY | TCL_LIST_ELEMENT) | TCL_APPEND_VALUE)) } zScript = sqlite3TestInit(tls, interp) if zScript == uintptr(0) { zScript = tclsh_main_loop(tls) } if tcl.XTcl_GlobalEval(tls, interp, zScript) != TCL_OK { - var zInfo uintptr = tcl.XTcl_GetVar2(tls, interp, ts+14503 /* "errorInfo" */, uintptr(0), TCL_GLOBAL_ONLY) + var zInfo uintptr = tcl.XTcl_GetVar2(tls, interp, ts+15284 /* "errorInfo" */, uintptr(0), TCL_GLOBAL_ONLY) if zInfo == uintptr(0) { zInfo = tcl.XTcl_GetStringResult(tls, interp) } - libc.Xfprintf(tls, libc.Xstderr, ts+14513 /* "%s: %s\n" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) + libc.Xfprintf(tls, libc.Xstderr, ts+15294 /* "%s: %s\n" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) return 1 } return 0 @@ -44309,16 +45793,16 @@ func get_sqlite_pointer(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var zBuf [100]int8 at bp+112, 100 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+14521 /* "SQLITE-CONNECTIO..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15302 /* "SQLITE-CONNECTIO..." */) return TCL_ERROR } if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539, /* "command not foun..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } p = (*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &cmdInfo */)).FobjClientData - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+112 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+24, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+112 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+24, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+112 /* &zBuf[0] */, 0)) return TCL_OK } @@ -44355,7 +45839,7 @@ func sqlite3TestErrCode(tls *libc.TLS, interp uintptr, db uintptr, rc int32) int var r2 int32 = sqlite3.Xsqlite3_errcode(tls, db) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+48, /* &zBuf[0] */ - ts+14559, /* "error code %s (%..." */ + ts+15340, /* "error code %s (%..." */ libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, rc), rc, sqlite3.Xsqlite3ErrName(tls, r2), r2)) tcl.XTcl_ResetResult(tls, interp) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+48 /* &zBuf[0] */, 0)) @@ -44385,7 +45869,7 @@ func sqlite3TestMakePointerStr(tls *libc.TLS, interp uintptr, zPtr uintptr, p ui bp := tls.Alloc(8) defer tls.Free(8) - sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+13802 /* "%p" */, libc.VaList(bp, p)) return TCL_OK } @@ -44434,7 +45918,7 @@ func test_io_trace(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // Also return true if the OMIT_MISUSE environment variable exists. func clang_sanitize_address(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:269:26: */ var res int32 = 0 - if (res == 0) && (libc.Xgetenv(tls, ts+14617 /* "OMIT_MISUSE" */) != uintptr(0)) { + if (res == 0) && (libc.Xgetenv(tls, ts+15398 /* "OMIT_MISUSE" */) != uintptr(0)) { res = 1 } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, res)) @@ -44460,8 +45944,8 @@ func test_exec_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // var zBuf [30]int8 at bp+280, 30 if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14655 /* " DB FORMAT STRIN..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15436 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { @@ -44514,8 +45998,8 @@ func test_exec_hex(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // var zBuf [30]int8 at bp+776, 30 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14673 /* " DB HEX" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15454 /* " DB HEX" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { @@ -44578,8 +46062,8 @@ func db_enter(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -44596,8 +46080,8 @@ func db_leave(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -44626,8 +46110,8 @@ func test_exec(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [30]int8 at bp+280, 30 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14685 /* " DB SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { @@ -44679,8 +46163,8 @@ func test_exec_nr(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar var rc int32 *(*uintptr)(unsafe.Pointer(bp + 40 /* zErr */)) = uintptr(0) if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14685 /* " DB SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -44706,7 +46190,7 @@ func test_mprintf_z(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 for i = 2; (i < argc) && ((i == 2) || (zResult != 0)); i++ { - zResult = sqlite3.Xsqlite3_mprintf(tls, ts+14693 /* "%z%s%s" */, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + zResult = sqlite3.Xsqlite3_mprintf(tls, ts+15474 /* "%z%s%s" */, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, zResult, 0)) sqlite3.Xsqlite3_free(tls, zResult) @@ -44723,7 +46207,7 @@ func test_mprintf_n(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var zStr uintptr *(*int32)(unsafe.Pointer(bp + 16 /* n */)) = 0 - zStr = sqlite3.Xsqlite3_mprintf(tls, ts+14700 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+16 /* &n */)) + zStr = sqlite3.Xsqlite3_mprintf(tls, ts+15481 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+16 /* &n */)) sqlite3.Xsqlite3_free(tls, zStr) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 16 /* n */)))) return TCL_OK @@ -44749,7 +46233,7 @@ func test_snprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 if uint64(n) > uint64(unsafe.Sizeof([100]int8{})) { n = int32(unsafe.Sizeof([100]int8{})) } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zStr[0] */, ts+14705 /* "abcdefghijklmnop..." */, 0) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zStr[0] */, ts+15486 /* "abcdefghijklmnop..." */, 0) sqlite3.Xsqlite3_snprintf(tls, n, bp+24 /* &zStr[0] */, zFormat, libc.VaList(bp, a1)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24 /* &zStr[0] */, 0)) return TCL_OK @@ -44785,8 +46269,8 @@ func test_get_table_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc } } if (argc != 4) && (argc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14732 /* " DB FORMAT STRIN..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15513 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72 /* &db */) != 0 { @@ -44843,13 +46327,13 @@ func test_last_rowid(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [30]int8 at bp+64, 30 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56 /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+64 /* &zBuf[0] */, ts+10545 /* "%lld" */, libc.VaList(bp+32, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+64 /* &zBuf[0] */, ts+11354 /* "%lld" */, libc.VaList(bp+32, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+64 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -44879,8 +46363,8 @@ func sqlite_test_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -44902,8 +46386,8 @@ func sqlite_test_close_v2(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -44941,7 +46425,7 @@ func hex8Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c:7 z = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint64(i) < ((uint64(unsafe.Sizeof([200]int8{})) / uint64(2)) - uint64(2))) && (*(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([200]int8{})) - (uint64(i * 2)))), (bp + 8 /* &zBuf */ + uintptr((i * 2))), ts+14774 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([200]int8{})) - (uint64(i * 2)))), (bp + 8 /* &zBuf */ + uintptr((i * 2))), ts+15555 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) } *(*int8)(unsafe.Pointer(bp + 8 /* &zBuf[0] */ + uintptr((i * 2)))) = int8(0) sqlite3.Xsqlite3_result_text(tls, p, bp+8 /* zBuf */, -1, libc.UintptrFromInt32(-1)) @@ -44957,7 +46441,7 @@ func hex16Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c: z = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint64(i) < ((uint64(unsafe.Sizeof([400]int8{})) / uint64(4)) - uint64(4))) && (*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([400]int8{})) - (uint64(i * 4)))), (bp + 8 /* &zBuf */ + uintptr((i * 4))), ts+14779 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([400]int8{})) - (uint64(i * 4)))), (bp + 8 /* &zBuf */ + uintptr((i * 4))), ts+15560 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) } *(*int8)(unsafe.Pointer(bp + 8 /* &zBuf[0] */ + uintptr((i * 4)))) = int8(0) sqlite3.Xsqlite3_result_text(tls, p, bp+8 /* zBuf */, -1, libc.UintptrFromInt32(-1)) @@ -45056,7 +46540,7 @@ func tkt2213Function(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zText3 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if (zText1 != zText2) || (zText2 != zText3) { - sqlite3.Xsqlite3_result_error(tls, context, ts+14784 /* "tkt2213 is not f..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15565 /* "tkt2213 is not f..." */, -1) } else { var zCopy uintptr = sqlite3.Xsqlite3_malloc(tls, nText) libc.Xmemcpy(tls, zCopy, zText1, uint64(nText)) @@ -45097,11 +46581,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+12453 /* "text" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+13234 /* "text" */) == 0 { p1 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14805 /* "text16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15586 /* "text16" */) == 0 { p1 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+12458 /* "blob" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+13239 /* "blob" */) == 0 { p1 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) } else { return @@ -45110,11 +46594,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+14812 /* "bytes" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+15593 /* "bytes" */) == 0 { sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14818 /* "bytes16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15599 /* "bytes16" */) == 0 { sqlite3.Xsqlite3_value_bytes16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14826 /* "noop" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15607 /* "noop" */) == 0 { // do nothing } else { return @@ -45123,11 +46607,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+12453 /* "text" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+13234 /* "text" */) == 0 { p2 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14805 /* "text16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15586 /* "text16" */) == 0 { p2 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+12458 /* "blob" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+13239 /* "blob" */) == 0 { p2 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) } else { return @@ -45175,37 +46659,37 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14831 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15612 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1_ifnullFunc})), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14842 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15623 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex8Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14847 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15628 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex16Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14853 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15634 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tkt2213Function})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14865 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15646 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{ptrChngFunction})), uintptr(0), uintptr(0)) @@ -45215,13 +46699,13 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // both return an ascending integer with each call. But counter1() is marked // as non-deterministic and counter2() is marked as deterministic. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14880 /* "counter1" */, -1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15661 /* "counter1" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14889 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15670 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) @@ -45230,7 +46714,7 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // The intreal() function converts its argument to an integer and returns // it as a MEM_IntReal. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14898 /* "intreal" */, 1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15679 /* "intreal" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{intrealFunction})), uintptr(0), uintptr(0)) @@ -45243,7 +46727,7 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var pVal uintptr sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmutex) pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) - sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+14906 /* "x_sqlite_exec" */, uint8(SQLITE_UTF8), uintptr(0)) + sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+15687 /* "x_sqlite_exec" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) if (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).FmallocFailed != 0 { rc = SQLITE_NOMEM @@ -45276,8 +46760,8 @@ func test_drop_modules(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -45326,7 +46810,7 @@ func t1CountStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* if argc > 0 { var v int32 = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))) if v == 40 { - sqlite3.Xsqlite3_result_error(tls, context, ts+14920 /* "value of 40 hand..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15701 /* "value of 40 hand..." */, -1) } else if v == 41 { *(*[9]int8)(unsafe.Pointer(bp /* zUtf16ErrMsg */)) = [9]int8{int8(0), int8(0x61), int8(0), int8(0x62), int8(0), int8(0x63), int8(0), int8(0), int8(0)} sqlite3.Xsqlite3_result_error16(tls, context, (bp /* &zUtf16ErrMsg */ + 1), -1) @@ -45339,7 +46823,7 @@ func t1CountFinalize(tls *libc.TLS, context uintptr) { /* test1.c:1149:13: */ p = sqlite3.Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(t1CountCtx{}))) if p != 0 { if (*t1CountCtx)(unsafe.Pointer(p)).Fn == 42 { - sqlite3.Xsqlite3_result_error(tls, context, ts+14950 /* "x_count totals t..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15731 /* "x_count totals t..." */, -1) } else { sqlite3.Xsqlite3_result_int(tls, context, func() int32 { if p != 0 { @@ -45384,25 +46868,25 @@ func test_create_aggregate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14971 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15752 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14971 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15752 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+14979 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15760 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{legacyCountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{legacyCountFinalize}))) @@ -45425,8 +46909,8 @@ func test_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg defer tls.Free(40) if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14992 /* " TEXT\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15773 /* " TEXT\"" */, 0)) return TCL_ERROR } libc.Xprintf(tls, ts+294 /* "%s\n" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) @@ -45445,8 +46929,8 @@ func sqlite3_mprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { @@ -45472,13 +46956,13 @@ func sqlite3_mprintf_int64(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { if sqlite3.Xsqlite3Atoi64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+88 /* &a */ +uintptr((i-2))*8), sqlite3.Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))), uint8(SQLITE_UTF8)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15020 /* "argument is not ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15801 /* "argument is not ..." */, 0)) return TCL_ERROR } } @@ -45504,8 +46988,8 @@ func sqlite3_mprintf_long(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { @@ -45533,8 +47017,8 @@ func sqlite3_mprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 var z uintptr if (argc < 4) || (argc > 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15059 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15840 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -45567,15 +47051,15 @@ func sqlite3_snprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var z uintptr if (argc < 5) || (argc > 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15085 /* " INT FORMAT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15866 /* " INT FORMAT INT ..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+88 /* &n */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 88 /* n */)) < 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15115 /* "N must be non-ne..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15896 /* "N must be non-ne..." */, 0)) return TCL_ERROR } for i = 3; i < 5; i++ { @@ -45609,8 +47093,8 @@ func sqlite3_mprintf_double(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15138 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15919 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -45641,8 +47125,8 @@ func sqlite3_mprintf_scaled(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15162 /* " FORMAT DOUBLE D..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15943 /* " FORMAT DOUBLE D..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -45667,8 +47151,8 @@ func sqlite3_mprintf_stronly(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg var z uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15185 /* " FORMAT STRING\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) @@ -45695,12 +47179,12 @@ func sqlite3_mprintf_hexdouble(tls *libc.TLS, NotUsed uintptr, interp uintptr, a // var d sqlite_uint64 at bp+104, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15185 /* " FORMAT STRING\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } - if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+15201 /* "%08x%08x" */, libc.VaList(bp+32, bp+88 /* &x2 */, bp+92 /* &x1 */)) != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+15210 /* "2nd argument sho..." */, 0)) + if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+15982 /* "%08x%08x" */, libc.VaList(bp+32, bp+88 /* &x2 */, bp+92 /* &x1 */)) != 2 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+15991 /* "2nd argument sho..." */, 0)) return TCL_ERROR } *(*sqlite_uint64)(unsafe.Pointer(bp + 104 /* d */)) = sqlite_uint64(*(*uint32)(unsafe.Pointer(bp + 88 /* x2 */))) @@ -45724,7 +47208,7 @@ func test_enable_shared(tls *libc.TLS, clientData ClientData, interp uintptr, ob var ret int32 = 0 if (objc != 2) && (objc != 1) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15254 /* "?BOOLEAN?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16035 /* "?BOOLEAN?" */) return TCL_ERROR } ret = sqlite3.Xsqlite3Config.FsharedCacheEnabled @@ -45754,7 +47238,7 @@ func test_extended_result_codes(tls *libc.TLS, clientData ClientData, interp uin // var db uintptr at bp, 8 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15264 /* "DB BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16045 /* "DB BOOLEAN" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -45798,7 +47282,7 @@ func test_table_column_metadata(tls *libc.TLS, clientData ClientData, interp uin // var autoincrement int32 at bp+48, 4 if (objc != 5) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15275 /* "DB dbname tblnam..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16056 /* "DB dbname tblnam..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { @@ -45877,7 +47361,7 @@ func test_blob_reopen(tls *libc.TLS, clientData ClientData, interp uintptr, objc var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15301 /* "CHANNEL ROWID" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16082 /* "CHANNEL ROWID" */) return TCL_ERROR } @@ -45972,7 +47456,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp var rc int32 if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15315 /* "DB-HANDLE NAME C..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16096 /* "DB-HANDLE NAME C..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { @@ -45992,7 +47476,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp }{testCreateCollationCmp})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testCreateCollationDel}))) if rc != SQLITE_MISUSE { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+15348 /* "sqlite3_create_c..." */, uintptr(0))) + libc.VaList(bp, ts+16129 /* "sqlite3_create_c..." */, uintptr(0))) return TCL_ERROR } rc = sqlite3.Xsqlite3_create_collation_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), SQLITE_UTF8, @@ -46098,16 +47582,16 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt var rc int32 *(*[6]EncTable)(unsafe.Pointer(bp + 32 /* aEnc */)) = [6]EncTable{ - {FzEnc: ts + 15413 /* "utf8" */, Fenc: SQLITE_UTF8}, - {FzEnc: ts + 15418 /* "utf16" */, Fenc: SQLITE_UTF16}, - {FzEnc: ts + 15424 /* "utf16le" */, Fenc: SQLITE_UTF16LE}, - {FzEnc: ts + 15432 /* "utf16be" */, Fenc: SQLITE_UTF16BE}, - {FzEnc: ts + 12463 /* "any" */, Fenc: SQLITE_ANY}, - {FzEnc: ts + 13873 /* "0" */}, + {FzEnc: ts + 16194 /* "utf8" */, Fenc: SQLITE_UTF8}, + {FzEnc: ts + 16199 /* "utf16" */, Fenc: SQLITE_UTF16}, + {FzEnc: ts + 16205 /* "utf16le" */, Fenc: SQLITE_UTF16LE}, + {FzEnc: ts + 16213 /* "utf16be" */, Fenc: SQLITE_UTF16BE}, + {FzEnc: ts + 13244 /* "any" */, Fenc: SQLITE_ANY}, + {FzEnc: ts + 14654 /* "0" */}, } if (objc < 5) || ((objc % 2) == 0) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15440 /* "DB NAME NARG ENC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16221 /* "DB NAME NARG ENC..." */) return TCL_ERROR } @@ -46119,7 +47603,7 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+32 /* &aEnc[0] */, int32(unsafe.Sizeof(EncTable{})), - ts+15469 /* "encoding" */, 0, bp+128 /* &enc */) != 0 { + ts+16250 /* "encoding" */, 0, bp+128 /* &enc */) != 0 { return TCL_ERROR } *(*int32)(unsafe.Pointer(bp + 128 /* enc */)) = (*EncTable)(unsafe.Pointer(bp + 32 /* &aEnc */ + uintptr(*(*int32)(unsafe.Pointer(bp + 128 /* enc */)))*16)).Fenc @@ -46132,8 +47616,8 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt for i = 5; i < objc; i = i + (2) { // var iSwitch int32 at bp+176, 4 - *(*[5]uintptr)(unsafe.Pointer(bp + 136 /* azSwitch */)) = [5]uintptr{ts + 15478 /* "-func" */, ts + 15484 /* "-step" */, ts + 15490 /* "-final" */, ts + 15497 /* "-destroy" */, uintptr(0)} - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+136 /* &azSwitch[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+15506 /* "switch" */, 0, bp+176 /* &iSwitch */) != 0 { + *(*[5]uintptr)(unsafe.Pointer(bp + 136 /* azSwitch */)) = [5]uintptr{ts + 16259 /* "-func" */, ts + 16265 /* "-step" */, ts + 16271 /* "-final" */, ts + 16278 /* "-destroy" */, uintptr(0)} + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+136 /* &azSwitch[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+16287 /* "switch" */, 0, bp+176 /* &iSwitch */) != 0 { sqlite3.Xsqlite3_free(tls, p) return TCL_ERROR } @@ -46235,7 +47719,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o var zErr uintptr = uintptr(0) if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15513 /* "DB-HANDLE FILE ?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16294 /* "DB-HANDLE FILE ?..." */) return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -46246,7 +47730,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o // Extract the C database handle from the Tcl command name if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+24 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539 /* "command not foun..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &cmdInfo */)).FobjClientData)).Fdb @@ -46255,7 +47739,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o // TCL_ERROR and load any error string into the interpreter. If no // error occurs, set rc to TCL_OK. rc = SQLITE_ERROR - zErr = sqlite3.Xsqlite3_mprintf(tls, ts+15535 /* "this build omits..." */, 0) + zErr = sqlite3.Xsqlite3_mprintf(tls, ts+16316 /* "this build omits..." */, 0) _ = zProc _ = zFile if rc != SQLITE_OK { @@ -46287,14 +47771,14 @@ func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var onoff int32 at bp+96, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15577 /* "DB-HANDLE ONOFF" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16358 /* "DB-HANDLE ONOFF" */) return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) // Extract the C database handle from the Tcl command name if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+32 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539 /* "command not foun..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &cmdInfo */)).FobjClientData)).Fdb @@ -46304,7 +47788,7 @@ func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+15535 /* "this build omits..." */)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+16316 /* "this build omits..." */)) return TCL_ERROR } @@ -46343,7 +47827,7 @@ __5: sqlite3.Xsqlite3_result_int64(tls, context, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) goto __8 __7: - if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+15593 /* "string" */) == 0) { + if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+16374 /* "string" */) == 0) { goto __9 } sqlite3.Xsqlite3_result_text(tls, context, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))), -1, @@ -46362,7 +47846,7 @@ __11: sqlite3.Xsqlite3_result_null(tls, context) goto __14 __13: - if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+15600 /* "value" */) == 0) { + if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+16381 /* "value" */) == 0) { goto __15 } sqlite3.Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + uintptr(sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))*8))) @@ -46395,7 +47879,7 @@ __2: error_out: sqlite3.Xsqlite3_result_error(tls, context, - ts+15606 /* "first argument s..." */, -1) + ts+16387 /* "first argument s..." */, -1) } // Usage: sqlite_register_test_function DB NAME @@ -46409,8 +47893,8 @@ func test_register_func(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15674 /* " DB FUNCTION-NAM..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+16455 /* " DB FUNCTION-NAM..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { @@ -46443,8 +47927,8 @@ func test_finalize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var db uintptr = uintptr(0) if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } @@ -46479,7 +47963,7 @@ func test_stmt_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // var pStmt uintptr at bp, 8 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15700 /* "STMT PARAMETER R..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16481 /* "STMT PARAMETER R..." */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -46518,13 +48002,13 @@ var aOp = [7]struct { Fop int32 _ [4]byte }{ - {FzName: ts + 15725 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, - {FzName: ts + 15757 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, - {FzName: ts + 15780 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_AUTOINDEX}, - {FzName: ts + 15808 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_VM_STEP}, - {FzName: ts + 15834 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_REPREPARE}, - {FzName: ts + 15862 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_RUN}, - {FzName: ts + 15884 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_MEMUSED}, + {FzName: ts + 16506 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, + {FzName: ts + 16538 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, + {FzName: ts + 16561 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_AUTOINDEX}, + {FzName: ts + 16589 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_VM_STEP}, + {FzName: ts + 16615 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_REPREPARE}, + {FzName: ts + 16643 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_RUN}, + {FzName: ts + 16665 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_MEMUSED}, } /* test1.c:2158:5 */ // Usage: sqlite3_config_sorterref @@ -46537,7 +48021,7 @@ func test_config_sorterref(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var iVal int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15910 /* "NBYTE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &iVal */) != 0 { @@ -46578,7 +48062,7 @@ func test_snapshot_get(tls *libc.TLS, clientData uintptr, interp uintptr, objc i *(*uintptr)(unsafe.Pointer(bp + 8 /* pSnapshot */)) = uintptr(0) if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -46612,7 +48096,7 @@ func test_snapshot_recover(tls *libc.TLS, clientData uintptr, interp uintptr, ob var zName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -46642,7 +48126,7 @@ func test_snapshot_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc var pSnapshot uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15926 /* "DB DBNAME SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16707 /* "DB DBNAME SNAPSH..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -46665,7 +48149,7 @@ func test_snapshot_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc func test_snapshot_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2428:26: */ var pSnapshot uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15945 /* "SNAPSHOT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16726 /* "SNAPSHOT" */) return TCL_ERROR } pSnapshot = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -46679,7 +48163,7 @@ func test_snapshot_cmp(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var p1 uintptr var p2 uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15954 /* "SNAPSHOT1 SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16735 /* "SNAPSHOT1 SNAPSH..." */) return TCL_ERROR } p1 = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -46701,7 +48185,7 @@ func test_snapshot_get_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o *(*uintptr)(unsafe.Pointer(bp + 8 /* pSnapshot */)) = uintptr(0) if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -46734,7 +48218,7 @@ func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, // var nBlob int32 at bp+24, 4 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15926 /* "DB DBNAME SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16707 /* "DB DBNAME SNAPSH..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { @@ -46743,7 +48227,7 @@ func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) pBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+24 /* &nBlob */) if (uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nBlob */))) != uint64(unsafe.Sizeof(sqlite3_snapshot{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15974 /* "bad SNAPSHOT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } rc = sqlite3.Xsqlite3_snapshot_open(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zName, pBlob) @@ -46767,7 +48251,7 @@ func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o // var n2 int32 at bp+20, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15954 /* "SNAPSHOT1 SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16735 /* "SNAPSHOT1 SNAPSH..." */) return TCL_ERROR } @@ -46775,7 +48259,7 @@ func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o p2 = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+20 /* &n2 */) if (uint64(*(*int32)(unsafe.Pointer(bp + 16 /* n1 */))) != uint64(unsafe.Sizeof(sqlite3_snapshot{}))) || (*(*int32)(unsafe.Pointer(bp + 16 /* n1 */)) != *(*int32)(unsafe.Pointer(bp + 20 /* n2 */))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15974 /* "bad SNAPSHOT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } @@ -46789,7 +48273,7 @@ func test_delete_database(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 var zFile uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15987 /* "FILE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16768 /* "FILE" */) return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -46812,7 +48296,7 @@ func test_atomic_batch_write(tls *libc.TLS, clientData uintptr, interp uintptr, var rc int32 // sqlite3_open() return code if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15992 /* "PATH" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16773 /* "PATH" */) return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -46848,8 +48332,8 @@ func test_next_stmt(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var zBuf [50]int8 at bp+64, 50 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15997 /* " DB STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16778 /* " DB STMT" */, 0)) return TCL_ERROR } @@ -46882,8 +48366,8 @@ func test_stmt_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46908,8 +48392,8 @@ func test_stmt_isexplain(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46934,8 +48418,8 @@ func test_stmt_busy(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46957,8 +48441,8 @@ func uses_stmt_journal(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var pStmt uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -46982,8 +48466,8 @@ func test_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } @@ -47013,8 +48497,8 @@ func test_expired(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var pStmt uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { @@ -47036,8 +48520,8 @@ func test_transfer_bind(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var pStmt2 uintptr at bp+40, 8 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16012 /* " FROM-STMT TO-ST..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16793 /* " FROM-STMT TO-ST..." */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt1 */) != 0 { @@ -47062,8 +48546,8 @@ func test_changes(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var db uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -47097,8 +48581,8 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var idx int32 at bp+88, 4 if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+16031 /* " VM IDX VALUE (n..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+16812 /* " VM IDX VALUE (n..." */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80 /* &pStmt */) != 0 { @@ -47109,18 +48593,18 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv } if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+7385 /* "null" */) == 0 { rc = sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */))) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16067 /* "static" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16848 /* "static" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), sqlite_static_bind_value, -1, uintptr(0)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16074 /* "static-nbytes" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16855 /* "static-nbytes" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), sqlite_static_bind_value, sqlite_static_bind_nbyte, uintptr(0)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16088 /* "normal" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16869 /* "normal" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), *(*uintptr)(unsafe.Pointer(argv + 3*8)), -1, libc.UintptrFromInt32(-1)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16095 /* "blob10" */) == 0 { - rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), ts+16102 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16876 /* "blob10" */) == 0 { + rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), ts+16883 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) } else { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+32, ts+16113 /* "4th argument sho..." */, 0)) + libc.VaList(bp+32, ts+16894 /* "4th argument sho..." */, 0)) return TCL_ERROR } if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))), rc) != 0 { @@ -47129,7 +48613,7 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv if rc != 0 { // var zBuf [50]int8 at bp+92, 50 - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+92 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+48, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+92 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+48, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+92 /* &zBuf[0] */, sqlite3.Xsqlite3ErrStr(tls, rc), 0)) return TCL_ERROR } @@ -47176,18 +48660,18 @@ func test_collate_func(tls *libc.TLS, pCtx uintptr, nA int32, zA uintptr, nB int var pVal uintptr var pX uintptr - pX = tcl.XTcl_NewStringObj(tls, ts+16173 /* "test_collate" */, -1) + pX = tcl.XTcl_NewStringObj(tls, ts+16954 /* "test_collate" */, -1) (*Tcl_Obj)(unsafe.Pointer(pX)).FrefCount++ switch encin { case SQLITE_UTF8: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16186 /* "UTF-8" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16967 /* "UTF-8" */, -1)) break case SQLITE_UTF16LE: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16192 /* "UTF-16LE" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16973 /* "UTF-16LE" */, -1)) break case SQLITE_UTF16BE: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16201 /* "UTF-16BE" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16982 /* "UTF-16BE" */, -1)) break default: @@ -47251,7 +48735,7 @@ __2: return TCL_ERROR __3: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16173 /* "test_collate" */, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF8, uintptr(SQLITE_UTF8), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 56 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -47269,7 +48753,7 @@ __3: return TCL_ERROR __5: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16173 /* "test_collate" */, SQLITE_UTF16LE, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF16LE, uintptr(SQLITE_UTF16LE), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 56 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -47287,7 +48771,7 @@ __6: sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* db */)))).Fmutex) pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */))) - sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16173 /* "test_collate" */, uint8(SQLITE_UTF8), uintptr(0)) + sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16954 /* "test_collate" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) if !((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* db */)))).FmallocFailed != 0) { goto __7 @@ -47327,8 +48811,8 @@ __10: return TCL_OK bad_args: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16210 /* " " */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17077 /* "" */) } zCode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -47743,7 +49227,7 @@ func test_bind_zeroblob(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16309 /* "STMT IDX N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17090 /* "STMT IDX N" */) return TCL_ERROR } @@ -47786,7 +49270,7 @@ func test_bind_zeroblob64(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16309 /* "STMT IDX N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17090 /* "STMT IDX N" */) return TCL_ERROR } @@ -47830,8 +49314,8 @@ func test_bind_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var rc int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -48008,8 +49492,8 @@ func test_bind_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -48053,8 +49537,8 @@ func test_bind_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var i int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -48109,16 +49593,16 @@ var aSpecialFp = [10]struct { FiUpper uint32 FiLower uint32 }{ - {FzName: ts + 16334 /* "NaN" */, FiUpper: uint32(0x7fffffff), FiLower: 0xffffffff}, - {FzName: ts + 16338 /* "SNaN" */, FiUpper: uint32(0x7ff7ffff), FiLower: 0xffffffff}, - {FzName: ts + 16343 /* "-NaN" */, FiUpper: 0xffffffff, FiLower: 0xffffffff}, - {FzName: ts + 16348 /* "-SNaN" */, FiUpper: 0xfff7ffff, FiLower: 0xffffffff}, - {FzName: ts + 16354 /* "+Inf" */, FiUpper: uint32(0x7ff00000)}, - {FzName: ts + 16359 /* "-Inf" */, FiUpper: 0xfff00000}, - {FzName: ts + 16364 /* "Epsilon" */, FiLower: uint32(0x00000001)}, - {FzName: ts + 16372 /* "-Epsilon" */, FiUpper: 0x80000000, FiLower: uint32(0x00000001)}, - {FzName: ts + 16381 /* "NaN0" */, FiUpper: uint32(0x7ff80000)}, - {FzName: ts + 16386 /* "-NaN0" */, FiUpper: 0xfff80000}, + {FzName: ts + 17115 /* "NaN" */, FiUpper: uint32(0x7fffffff), FiLower: 0xffffffff}, + {FzName: ts + 17119 /* "SNaN" */, FiUpper: uint32(0x7ff7ffff), FiLower: 0xffffffff}, + {FzName: ts + 17124 /* "-NaN" */, FiUpper: 0xffffffff, FiLower: 0xffffffff}, + {FzName: ts + 17129 /* "-SNaN" */, FiUpper: 0xfff7ffff, FiLower: 0xffffffff}, + {FzName: ts + 17135 /* "+Inf" */, FiUpper: uint32(0x7ff00000)}, + {FzName: ts + 17140 /* "-Inf" */, FiUpper: 0xfff00000}, + {FzName: ts + 17145 /* "Epsilon" */, FiLower: uint32(0x00000001)}, + {FzName: ts + 17153 /* "-Epsilon" */, FiUpper: 0x80000000, FiLower: uint32(0x00000001)}, + {FzName: ts + 17162 /* "NaN0" */, FiUpper: uint32(0x7ff80000)}, + {FzName: ts + 17167 /* "-NaN0" */, FiUpper: 0xfff80000}, } /* test1.c:3724:5 */ // Usage: sqlite3_bind_null STMT N @@ -48137,8 +49621,8 @@ func test_bind_null(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var rc int32 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16392 /* " STMT N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17173 /* " STMT N" */, 0)) return TCL_ERROR } @@ -48182,8 +49666,8 @@ func test_bind_text(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var toFree uintptr = uintptr(0) if objc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16400 /* " STMT N VALUE BY..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17181 /* " STMT N VALUE BY..." */, 0)) return TCL_ERROR } @@ -48253,8 +49737,8 @@ func test_bind_text16(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var oBytes uintptr = *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)) if (objc != 5) && (objc != 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16400 /* " STMT N VALUE BY..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17181 /* " STMT N VALUE BY..." */, 0)) return TCL_ERROR } @@ -48313,8 +49797,8 @@ func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var xDestructor sqlite3_destructor_type = libc.UintptrFromInt32(-1) if (objc != 5) && (objc != 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16420 /* " STMT N DATA BYT..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17201 /* " STMT N DATA BYT..." */, 0)) return TCL_ERROR } @@ -48339,7 +49823,7 @@ func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var zBuf [200]int8 at bp+84, 200 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+84, /* &zBuf[0] */ - ts+16439 /* "cannot use %d bl..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 80 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 76 /* len */)))) + ts+17220 /* "cannot use %d bl..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 80 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 76 /* len */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+84 /* &zBuf[0] */, uintptr(0))) return TCL_ERROR } @@ -48444,52 +49928,52 @@ __7: goto __9 } z = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))) - if !(libc.Xstrcmp(tls, z, ts+16473 /* "-transient" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17254 /* "-transient" */) == 0) { goto __10 } isTransient = 1 xDel = libc.UintptrFromInt32(-1) goto __11 __10: - if !(libc.Xstrcmp(tls, z, ts+16484 /* "-static" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17265 /* "-static" */) == 0) { goto __12 } isStatic = 1 xDel = uintptr(0) goto __13 __12: - if !(libc.Xstrcmp(tls, z, ts+16492 /* "-int32" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17273 /* "-int32" */) == 0) { goto __14 } eType = 0 // CARRAY_INT32 goto __15 __14: - if !(libc.Xstrcmp(tls, z, ts+16499 /* "-int64" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17280 /* "-int64" */) == 0) { goto __16 } eType = 1 // CARRAY_INT64 goto __17 __16: - if !(libc.Xstrcmp(tls, z, ts+16506 /* "-double" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17287 /* "-double" */) == 0) { goto __18 } eType = 2 // CARRAY_DOUBLE goto __19 __18: - if !(libc.Xstrcmp(tls, z, ts+16514 /* "-text" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17295 /* "-text" */) == 0) { goto __20 } eType = 3 // CARRAY_TEXT goto __21 __20: - if !(libc.Xstrcmp(tls, z, ts+16520 /* "--" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17301 /* "--" */) == 0) { goto __22 } goto __9 goto __23 __22: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+12133 /* "unknown option: " */, z, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+12914 /* "unknown option: " */, z, uintptr(0))) return TCL_ERROR __23: ; @@ -48515,7 +49999,7 @@ __9: if !(((eType == 3) && !(isStatic != 0)) && !(isTransient != 0)) { goto __24 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+16523, /* "text data must b..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+17304, /* "text data must b..." */ uintptr(0))) return TCL_ERROR __24: @@ -48523,7 +50007,7 @@ __24: if !((isStatic != 0) && (isTransient != 0)) { goto __25 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+16570, /* "cannot be both -..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+17351, /* "cannot be both -..." */ uintptr(0))) return TCL_ERROR __25: @@ -48531,7 +50015,7 @@ __25: if !((objc - i) < 2) { goto __26 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16608 /* "[OPTIONS] STMT I..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17389 /* "[OPTIONS] STMT I..." */) return TCL_ERROR __26: ; @@ -48752,7 +50236,7 @@ func test_bind_parameter_count(tls *libc.TLS, clientData uintptr, interp uintptr // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -48776,7 +50260,7 @@ func test_bind_parameter_name(tls *libc.TLS, clientData uintptr, interp uintptr, // var i int32 at bp+8, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16642 /* "STMT N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17423 /* "STMT N" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -48801,7 +50285,7 @@ func test_bind_parameter_index(tls *libc.TLS, clientData uintptr, interp uintptr // var pStmt uintptr at bp, 8 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16649 /* "STMT NAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17430 /* "STMT NAME" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -48822,7 +50306,7 @@ func test_clear_bindings(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -48840,7 +50324,7 @@ func test_sleep(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o // var ms int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+12806 /* "MILLISECONDS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+13587 /* "MILLISECONDS" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &ms */) != 0 { @@ -48863,8 +50347,8 @@ func test_ex_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -48888,8 +50372,8 @@ func test_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -48913,8 +50397,8 @@ func test_errmsg(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zErr uintptr if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -48943,8 +50427,8 @@ func test_errmsg16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var bytes int32 = 0 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -48983,8 +50467,8 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var rc int32 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -49016,7 +50500,7 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -49054,8 +50538,8 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -49100,7 +50584,7 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -49140,8 +50624,8 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if (objc != 6) && (objc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16705 /* " DB sql bytes fl..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17486 /* " DB sql bytes fl..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -49187,7 +50671,7 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -49217,8 +50701,8 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -49231,7 +50715,7 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+32, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+96 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -49245,7 +50729,7 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj return TCL_OK } -var zSql = *(*[10]int8)(unsafe.Pointer(ts + 16733 /* "\x00SELECT 1" */)) /* test1.c:4623:21 */ +var zSql = *(*[10]int8)(unsafe.Pointer(ts + 17514 /* "\x00SELECT 1" */)) /* test1.c:4623:21 */ // Usage: sqlite3_prepare16 DB sql bytes tailvar // @@ -49272,8 +50756,8 @@ func test_prepare16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -49348,8 +50832,8 @@ func test_prepare16_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -49410,8 +50894,8 @@ func test_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob // var zBuf [100]int8 at bp+56, 100 if ((objc != 3) && (objc != 2)) && (objc != 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16743 /* " filename option..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17524 /* " filename option..." */, 0)) return TCL_ERROR } @@ -49449,7 +50933,7 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var i int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16766 /* "FILENAME FLAGS V..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17547 /* "FILENAME FLAGS V..." */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -49466,29 +50950,29 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var iFlag int32 at bp+352, 4 *(*[20]OpenFlag)(unsafe.Pointer(bp + 32 /* aFlag */)) = [20]OpenFlag{ - {FzFlag: ts + 16785 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READONLY}, - {FzFlag: ts + 16806 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READWRITE}, - {FzFlag: ts + 16828 /* "SQLITE_OPEN_CREA..." */, Fflag: SQLITE_OPEN_CREATE}, - {FzFlag: ts + 16847 /* "SQLITE_OPEN_DELE..." */, Fflag: SQLITE_OPEN_DELETEONCLOSE}, - {FzFlag: ts + 16873 /* "SQLITE_OPEN_EXCL..." */, Fflag: SQLITE_OPEN_EXCLUSIVE}, - {FzFlag: ts + 16895 /* "SQLITE_OPEN_AUTO..." */, Fflag: SQLITE_OPEN_AUTOPROXY}, - {FzFlag: ts + 16917 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_DB}, - {FzFlag: ts + 16937 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_DB}, - {FzFlag: ts + 16957 /* "SQLITE_OPEN_TRAN..." */, Fflag: SQLITE_OPEN_TRANSIENT_DB}, - {FzFlag: ts + 16982 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_JOURNAL}, - {FzFlag: ts + 17007 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_JOURNAL}, - {FzFlag: ts + 17032 /* "SQLITE_OPEN_SUBJ..." */, Fflag: SQLITE_OPEN_SUBJOURNAL}, - {FzFlag: ts + 17055 /* "SQLITE_OPEN_SUPE..." */, Fflag: SQLITE_OPEN_SUPER_JOURNAL}, - {FzFlag: ts + 17081 /* "SQLITE_OPEN_NOMU..." */, Fflag: SQLITE_OPEN_NOMUTEX}, - {FzFlag: ts + 17101 /* "SQLITE_OPEN_FULL..." */, Fflag: SQLITE_OPEN_FULLMUTEX}, - {FzFlag: ts + 17123 /* "SQLITE_OPEN_SHAR..." */, Fflag: SQLITE_OPEN_SHAREDCACHE}, - {FzFlag: ts + 17147 /* "SQLITE_OPEN_PRIV..." */, Fflag: SQLITE_OPEN_PRIVATECACHE}, - {FzFlag: ts + 17172 /* "SQLITE_OPEN_WAL" */, Fflag: SQLITE_OPEN_WAL}, - {FzFlag: ts + 17188 /* "SQLITE_OPEN_URI" */, Fflag: SQLITE_OPEN_URI}, + {FzFlag: ts + 17566 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READONLY}, + {FzFlag: ts + 17587 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READWRITE}, + {FzFlag: ts + 17609 /* "SQLITE_OPEN_CREA..." */, Fflag: SQLITE_OPEN_CREATE}, + {FzFlag: ts + 17628 /* "SQLITE_OPEN_DELE..." */, Fflag: SQLITE_OPEN_DELETEONCLOSE}, + {FzFlag: ts + 17654 /* "SQLITE_OPEN_EXCL..." */, Fflag: SQLITE_OPEN_EXCLUSIVE}, + {FzFlag: ts + 17676 /* "SQLITE_OPEN_AUTO..." */, Fflag: SQLITE_OPEN_AUTOPROXY}, + {FzFlag: ts + 17698 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_DB}, + {FzFlag: ts + 17718 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_DB}, + {FzFlag: ts + 17738 /* "SQLITE_OPEN_TRAN..." */, Fflag: SQLITE_OPEN_TRANSIENT_DB}, + {FzFlag: ts + 17763 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_JOURNAL}, + {FzFlag: ts + 17788 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_JOURNAL}, + {FzFlag: ts + 17813 /* "SQLITE_OPEN_SUBJ..." */, Fflag: SQLITE_OPEN_SUBJOURNAL}, + {FzFlag: ts + 17836 /* "SQLITE_OPEN_SUPE..." */, Fflag: SQLITE_OPEN_SUPER_JOURNAL}, + {FzFlag: ts + 17862 /* "SQLITE_OPEN_NOMU..." */, Fflag: SQLITE_OPEN_NOMUTEX}, + {FzFlag: ts + 17882 /* "SQLITE_OPEN_FULL..." */, Fflag: SQLITE_OPEN_FULLMUTEX}, + {FzFlag: ts + 17904 /* "SQLITE_OPEN_SHAR..." */, Fflag: SQLITE_OPEN_SHAREDCACHE}, + {FzFlag: ts + 17928 /* "SQLITE_OPEN_PRIV..." */, Fflag: SQLITE_OPEN_PRIVATECACHE}, + {FzFlag: ts + 17953 /* "SQLITE_OPEN_WAL" */, Fflag: SQLITE_OPEN_WAL}, + {FzFlag: ts + 17969 /* "SQLITE_OPEN_URI" */, Fflag: SQLITE_OPEN_URI}, {}, } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* apFlag */)) + uintptr(i)*8)), bp+32 /* &aFlag[0] */, int32(unsafe.Sizeof(OpenFlag{})), - ts+17204 /* "flag" */, 0, bp+352 /* &iFlag */) + ts+17985 /* "flag" */, 0, bp+352 /* &iFlag */) if rc != TCL_OK { return rc } @@ -49520,8 +51004,8 @@ func test_open16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zBuf [100]int8 at bp+56, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16743 /* " filename option..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17524 /* " filename option..." */, 0)) return TCL_ERROR } @@ -49543,7 +51027,7 @@ func test_complete16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var zBuf uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17209 /* "" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17990 /* "" */) return TCL_ERROR } @@ -49585,8 +51069,8 @@ func test_step(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -49607,7 +51091,7 @@ func test_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -49627,7 +51111,7 @@ func test_ex_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var z uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -49650,8 +51134,8 @@ func test_column_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var pStmt uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49677,8 +51161,8 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var tp int32 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49698,13 +51182,13 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in tcl.XTcl_SetResult(tls, interp, ts+5707 /* "NULL" */, uintptr(0)) break case SQLITE_FLOAT: - tcl.XTcl_SetResult(tls, interp, ts+17235 /* "FLOAT" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18016 /* "FLOAT" */, uintptr(0)) break case SQLITE_TEXT: - tcl.XTcl_SetResult(tls, interp, ts+17241 /* "TEXT" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18022 /* "TEXT" */, uintptr(0)) break case SQLITE_BLOB: - tcl.XTcl_SetResult(tls, interp, ts+17246 /* "BLOB" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18027 /* "BLOB" */, uintptr(0)) break default: @@ -49728,8 +51212,8 @@ func test_column_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var iVal i64 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49758,8 +51242,8 @@ func test_column_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var pBlob uintptr if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49790,8 +51274,8 @@ func test_column_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rVal float64 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49817,8 +51301,8 @@ func test_data_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var pStmt uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49848,8 +51332,8 @@ func test_stmt_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49896,8 +51380,8 @@ func test_stmt_utf16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49939,8 +51423,8 @@ func test_stmt_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -49965,20 +51449,20 @@ func sqlite_set_magic(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // var db uintptr at bp+32, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17251 /* " DB MAGIC" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18032 /* " DB MAGIC" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17261 /* "SQLITE_MAGIC_OPE..." */) == 0 { + if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18042 /* "SQLITE_MAGIC_OPE..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_OPEN - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17279 /* "SQLITE_MAGIC_CLO..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18060 /* "SQLITE_MAGIC_CLO..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_CLOSED - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17299 /* "SQLITE_MAGIC_BUS..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18080 /* "SQLITE_MAGIC_BUS..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_BUSY - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17317 /* "SQLITE_MAGIC_ERR..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18098 /* "SQLITE_MAGIC_ERR..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_ERROR } else if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), (*(*uintptr)(unsafe.Pointer(bp + 32 /* db */))+116 /* &.magic */)) != 0 { return TCL_ERROR @@ -49996,7 +51480,7 @@ func test_interrupt(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // var db uintptr at bp+32, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -50019,8 +51503,8 @@ func delete_function(tls *libc.TLS, clientData uintptr, interp uintptr, argc int // var db uintptr at bp+32, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17336 /* " DB function-nam..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -50044,8 +51528,8 @@ func delete_collation(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // var db uintptr at bp+32, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17336 /* " DB function-nam..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { @@ -50069,8 +51553,8 @@ func get_autocommit(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // var db uintptr at bp+56, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56 /* &db */) != 0 { @@ -50096,8 +51580,8 @@ func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc i // var db uintptr at bp+48, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { @@ -50118,7 +51602,7 @@ func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc i func tcl_variable_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5514:26: */ var pVar uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17354 /* "VARIABLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18135 /* "VARIABLE" */) return TCL_ERROR } pVar = tcl.XTcl_GetVar2Ex(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0), TCL_LEAVE_ERR_MSG) @@ -50144,7 +51628,7 @@ func test_release_memory(tls *libc.TLS, clientData uintptr, interp uintptr, objc var amt int32 if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -50242,7 +51726,7 @@ func test_db_filename(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var zDbName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { @@ -50265,7 +51749,7 @@ func test_db_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var zDbName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -50288,7 +51772,7 @@ func test_soft_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, obj var amt sqlite3_int64 *(*Tcl_WideInt)(unsafe.Pointer(bp /* N */)) = int64(-1) if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -50313,7 +51797,7 @@ func test_hard_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, obj var amt sqlite3_int64 *(*Tcl_WideInt)(unsafe.Pointer(bp /* N */)) = int64(-1) if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -50350,8 +51834,8 @@ func test_pager_refcounts(tls *libc.TLS, clientData uintptr, interp uintptr, obj var pResult uintptr if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -50388,7 +51872,7 @@ func working_64bit_int(tls *libc.TLS, clientData ClientData, interp uintptr, obj var working int32 = 0 pTestObj = tcl.XTcl_NewWideIntObj(tls, (int64(1000000) * int64(1234567890))) - working = (libc.Bool32(libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, pTestObj), ts+17367 /* "1234567890000000" */) == 0)) + working = (libc.Bool32(libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, pTestObj), ts+18148 /* "1234567890000000" */) == 0)) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pTestObj if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -50418,8 +51902,8 @@ func vfs_unlink_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var two sqlite3_vfs at bp+168, 168 sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(0)) // Unregister of NULL is harmless - (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 17384 /* "__one" */ - (*sqlite3_vfs)(unsafe.Pointer(bp + 168 /* &two */)).FzName = ts + 17390 /* "__two" */ + (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 18165 /* "__one" */ + (*sqlite3_vfs)(unsafe.Pointer(bp + 168 /* &two */)).FzName = ts + 18171 /* "__two" */ // Calling sqlite3_vfs_register with 2nd argument of 0 does not // change the default VFS @@ -50492,7 +51976,7 @@ func vfs_initfail_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj // var one sqlite3_vfs at bp, 168 - (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 17384 /* "__one" */ + (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 18165 /* "__one" */ if sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) != 0 { return TCL_ERROR @@ -50556,8 +52040,8 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj _ = rc if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -50565,7 +52049,7 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), uintptr(0), 0, bp+40 /* &iArg */) - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+17396 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+40 /* &iArg */) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+18177 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+40 /* &iArg */) rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+85 /* "main" */, -1, bp+40 /* &iArg */) @@ -50588,8 +52072,8 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -50601,7 +52085,7 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 72 /* iArg */)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17409, /* "Unexpected non-z..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18190, /* "Unexpected non-z..." */ tcl.XTcl_GetStringFromObj(tls, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 72 /* iArg */))), uintptr(0)), ts+4755 /* " " */, 0)) return TCL_ERROR } @@ -50625,7 +52109,7 @@ func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uint // var zBuf [100]int8 at bp+20, 100 if (objc != 3) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17437 /* "DB [DBNAME]" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18218 /* "DB [DBNAME]" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+8 /* &db */) != 0 { @@ -50642,7 +52126,7 @@ func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uint tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) return TCL_ERROR } else { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+20 /* &zBuf[0] */, ts+17449 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 16 /* iVers */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+20 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 16 /* iVers */)))) tcl.XTcl_SetResult(tls, interp, bp+20 /* zBuf */, uintptr(1)) return TCL_OK } @@ -50666,7 +52150,7 @@ func file_control_chunksize_test(tls *libc.TLS, clientData ClientData, interp ui var rc int32 // file_control() return code if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17452 /* "DB DBNAME SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18233 /* "DB DBNAME SIZE" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || @@ -50702,7 +52186,7 @@ func file_control_sizehint_test(tls *libc.TLS, clientData ClientData, interp uin var rc int32 // file_control() return code if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17452 /* "DB DBNAME SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18233 /* "DB DBNAME SIZE" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || @@ -50734,8 +52218,8 @@ func file_control_lockproxy_test(tls *libc.TLS, clientData ClientData, interp ui // var db uintptr at bp+32, 8 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17467 /* " DB PWD" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18248 /* " DB PWD" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -50761,8 +52245,8 @@ func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintp // var z [100]int8 at bp+76, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17475 /* " DB FLAG" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18256 /* " DB FLAG" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -50772,7 +52256,7 @@ func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintp return TCL_ERROR } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_PERSIST_WAL, bp+72 /* &bPersist */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+17484 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* bPersist */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+18265 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* bPersist */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+76 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -50793,8 +52277,8 @@ func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, inte // var z [100]int8 at bp+76, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17475 /* " DB FLAG" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18256 /* " DB FLAG" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -50804,7 +52288,7 @@ func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, inte return TCL_ERROR } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_POWERSAFE_OVERWRITE, bp+72 /* &b */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+17484 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* b */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+18265 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* b */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+76 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -50822,8 +52306,8 @@ func file_control_vfsname(tls *libc.TLS, clientData ClientData, interp uintptr, *(*uintptr)(unsafe.Pointer(bp + 56 /* zVfsName */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17490 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18271 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -50850,7 +52334,7 @@ func file_control_reservebytes(tls *libc.TLS, clientData ClientData, interp uint var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17502 /* "DB N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18283 /* "DB N" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || @@ -50876,8 +52360,8 @@ func file_control_tempfilename(tls *libc.TLS, clientData ClientData, interp uint *(*uintptr)(unsafe.Pointer(bp + 56 /* zTName */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17490 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18271 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { @@ -50906,8 +52390,8 @@ func file_control_external_reader(tls *libc.TLS, clientData ClientData, interp u var rc int32 = SQLITE_OK if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17490 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18271 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { @@ -50960,8 +52444,8 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 var zId uintptr if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17507 /* " DB ID VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18288 /* " DB ID VALUE" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &db */) != 0 { @@ -50983,7 +52467,7 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 Fid int32 _ [4]byte }{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17520 /* "unknown limit ty..." */, zId, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18301 /* "unknown limit ty..." */, zId, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+64 /* &val */) != 0 { @@ -50999,22 +52483,22 @@ var aId = [14]struct { Fid int32 _ [4]byte }{ - {FzName: ts + 17541 /* "SQLITE_LIMIT_LEN..." */}, - {FzName: ts + 17561 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, - {FzName: ts + 17585 /* "SQLITE_LIMIT_COL..." */, Fid: SQLITE_LIMIT_COLUMN}, - {FzName: ts + 17605 /* "SQLITE_LIMIT_EXP..." */, Fid: SQLITE_LIMIT_EXPR_DEPTH}, - {FzName: ts + 17629 /* "SQLITE_LIMIT_COM..." */, Fid: SQLITE_LIMIT_COMPOUND_SELECT}, - {FzName: ts + 17658 /* "SQLITE_LIMIT_VDB..." */, Fid: SQLITE_LIMIT_VDBE_OP}, - {FzName: ts + 17679 /* "SQLITE_LIMIT_FUN..." */, Fid: SQLITE_LIMIT_FUNCTION_ARG}, - {FzName: ts + 17705 /* "SQLITE_LIMIT_ATT..." */, Fid: SQLITE_LIMIT_ATTACHED}, - {FzName: ts + 17727 /* "SQLITE_LIMIT_LIK..." */, Fid: SQLITE_LIMIT_LIKE_PATTERN_LENGTH}, - {FzName: ts + 17760 /* "SQLITE_LIMIT_VAR..." */, Fid: SQLITE_LIMIT_VARIABLE_NUMBER}, - {FzName: ts + 17789 /* "SQLITE_LIMIT_TRI..." */, Fid: SQLITE_LIMIT_TRIGGER_DEPTH}, - {FzName: ts + 17816 /* "SQLITE_LIMIT_WOR..." */, Fid: SQLITE_LIMIT_WORKER_THREADS}, + {FzName: ts + 18322 /* "SQLITE_LIMIT_LEN..." */}, + {FzName: ts + 18342 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, + {FzName: ts + 18366 /* "SQLITE_LIMIT_COL..." */, Fid: SQLITE_LIMIT_COLUMN}, + {FzName: ts + 18386 /* "SQLITE_LIMIT_EXP..." */, Fid: SQLITE_LIMIT_EXPR_DEPTH}, + {FzName: ts + 18410 /* "SQLITE_LIMIT_COM..." */, Fid: SQLITE_LIMIT_COMPOUND_SELECT}, + {FzName: ts + 18439 /* "SQLITE_LIMIT_VDB..." */, Fid: SQLITE_LIMIT_VDBE_OP}, + {FzName: ts + 18460 /* "SQLITE_LIMIT_FUN..." */, Fid: SQLITE_LIMIT_FUNCTION_ARG}, + {FzName: ts + 18486 /* "SQLITE_LIMIT_ATT..." */, Fid: SQLITE_LIMIT_ATTACHED}, + {FzName: ts + 18508 /* "SQLITE_LIMIT_LIK..." */, Fid: SQLITE_LIMIT_LIKE_PATTERN_LENGTH}, + {FzName: ts + 18541 /* "SQLITE_LIMIT_VAR..." */, Fid: SQLITE_LIMIT_VARIABLE_NUMBER}, + {FzName: ts + 18570 /* "SQLITE_LIMIT_TRI..." */, Fid: SQLITE_LIMIT_TRIGGER_DEPTH}, + {FzName: ts + 18597 /* "SQLITE_LIMIT_WOR..." */, Fid: SQLITE_LIMIT_WORKER_THREADS}, // Out of range test cases - {FzName: ts + 17844 /* "SQLITE_LIMIT_TOO..." */, Fid: -1}, - {FzName: ts + 17866 /* "SQLITE_LIMIT_TOO..." */, Fid: (SQLITE_LIMIT_WORKER_THREADS + 1)}, + {FzName: ts + 18625 /* "SQLITE_LIMIT_TOO..." */, Fid: -1}, + {FzName: ts + 18647 /* "SQLITE_LIMIT_TOO..." */, Fid: (SQLITE_LIMIT_WORKER_THREADS + 1)}, } /* test1.c:6595:5 */ // tclcmd: save_prng_state @@ -51064,7 +52548,7 @@ func prng_seed(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, *(*int32)(unsafe.Pointer(bp + 16 /* i */)) = 0 *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17886 /* "SEED ?DB?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18667 /* "SEED ?DB?" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &i */) != 0 { @@ -51089,7 +52573,7 @@ func extra_schema_checks(tls *libc.TLS, clientData ClientData, interp uintptr, o *(*int32)(unsafe.Pointer(bp + 8 /* i */)) = 0 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &i */) != 0 { @@ -51142,13 +52626,13 @@ func test_pcache_stats(tls *libc.TLS, clientData ClientData, interp uintptr, obj sqlite3.Xsqlite3PcacheStats(tls, bp /* &nCurrent */, bp+4 /* &nMax */, bp+8 /* &nMin */, bp+12 /* &nRecyclable */) pRet = tcl.XTcl_NewObj(tls) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17904 /* "current" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18685 /* "current" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp /* nCurrent */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17912 /* "max" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18693 /* "max" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4 /* nMax */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17916 /* "min" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18697 /* "min" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 8 /* nMin */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17920 /* "recyclable" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18701 /* "recyclable" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 12 /* nRecyclable */)))) tcl.XTcl_SetObjResult(tls, interp, pRet) @@ -51159,7 +52643,7 @@ func test_pcache_stats(tls *libc.TLS, clientData ClientData, interp uintptr, obj func test_unlock_notify_cb(tls *libc.TLS, aArg uintptr, nArg int32) { /* test1.c:6808:13: */ var ii int32 for ii = 0; ii < nArg; ii++ { - tcl.XTcl_EvalEx(tls, *(*uintptr)(unsafe.Pointer(aArg + uintptr(ii)*8)), ts+13372 /* "unlock_notify" */, -1, TCL_EVAL_GLOBAL) + tcl.XTcl_EvalEx(tls, *(*uintptr)(unsafe.Pointer(aArg + uintptr(ii)*8)), ts+14153 /* "unlock_notify" */, -1, TCL_EVAL_GLOBAL) } } @@ -51198,7 +52682,7 @@ func test_wal_checkpoint(tls *libc.TLS, clientData ClientData, interp uintptr, o var rc int32 if (objc != 3) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17931 /* "DB ?NAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18712 /* "DB ?NAME?" */) return TCL_ERROR } @@ -51243,10 +52727,10 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr *(*int32)(unsafe.Pointer(bp + 92 /* nCkpt */)) = -555 var pRet uintptr - *(*[5]uintptr)(unsafe.Pointer(bp + 48 /* aMode */)) = [5]uintptr{ts + 17941 /* "passive" */, ts + 17949 /* "full" */, ts + 17954 /* "restart" */, ts + 17962 /* "truncate" */, uintptr(0)} + *(*[5]uintptr)(unsafe.Pointer(bp + 48 /* aMode */)) = [5]uintptr{ts + 18722 /* "passive" */, ts + 18730 /* "full" */, ts + 18735 /* "restart" */, ts + 18743 /* "truncate" */, uintptr(0)} if (objc != 3) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17971 /* "DB MODE ?NAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18752 /* "DB MODE ?NAME?" */) return TCL_ERROR } @@ -51254,7 +52738,7 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0) || ((TCL_OK != tcl.XTcl_GetIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &eMode */)) && - (TCL_OK != tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &aMode[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+17986 /* "mode" */, 0, bp+40 /* &eMode */))) { + (TCL_OK != tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &aMode[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+18767 /* "mode" */, 0, bp+40 /* &eMode */))) { return TCL_ERROR } @@ -51291,7 +52775,7 @@ func test_wal_autocheckpoint(tls *libc.TLS, clientData ClientData, interp uintpt // var iVal int32 at bp+8, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17991 /* "DB VALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18772 /* "DB VALUE" */) return TCL_ERROR } @@ -51340,7 +52824,7 @@ func test_sqlite3_log(tls *libc.TLS, clientData ClientData, interp uintptr, objc defer tls.Free(32) if objc > 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11583 /* "SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10650 /* "SCRIPT" */) return TCL_ERROR } if logcallback.FpObj != 0 { @@ -51376,16 +52860,16 @@ func runAsObjProc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var cmdInfo Tcl_CmdInfo at bp+48, 64 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18000 /* "COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18781 /* "COMMAND ..." */) return TCL_ERROR } if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539, /* "command not foun..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } if (*Tcl_CmdInfo)(unsafe.Pointer(bp+48 /* &cmdInfo */)).FobjProc == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18012, /* "command has no o..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18793, /* "command has no o..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } @@ -51430,7 +52914,7 @@ func printExplainQueryPlan(tls *libc.TLS, pStmt uintptr) int32 { /* test1.c:7063 var iFrom int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 2) var zDetail uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 3) - libc.Xprintf(tls, ts+18037 /* "%d %d %d %s\n" */, libc.VaList(bp+8, iSelectid, iOrder, iFrom, zDetail)) + libc.Xprintf(tls, ts+18818 /* "%d %d %d %s\n" */, libc.VaList(bp+8, iSelectid, iOrder, iFrom, zDetail)) } return sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */))) @@ -51444,7 +52928,7 @@ func test_print_eqp(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -51465,10 +52949,10 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i defer tls.Free(184) *(*[4]Verb)(unsafe.Pointer(bp + 64 /* aVerb */)) = [4]Verb{ - {FzName: ts + 18050 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT}, - {FzName: ts + 18082 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_SORTER_MMAP}, - {FzName: ts + 18110 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_IMPOSTER}, - {FzName: ts + 18135 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS}, + {FzName: ts + 18831 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT}, + {FzName: ts + 18863 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_SORTER_MMAP}, + {FzName: ts + 18891 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_IMPOSTER}, + {FzName: ts + 18916 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS}, } // var iVerb int32 at bp+128, 4 @@ -51476,12 +52960,12 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var rc int32 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18170 /* "VERB ARGS..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18951 /* "VERB ARGS..." */) return TCL_ERROR } rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+18183 /* "VERB" */, 0, bp+128 /* &iVerb */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+18964 /* "VERB" */, 0, bp+128 /* &iVerb */) if rc != TCL_OK { return rc } @@ -51507,7 +52991,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var val int32 at bp+144, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18188 /* "ONOFF" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18969 /* "ONOFF" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+144 /* &val */) != 0 { @@ -51525,7 +53009,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+152, 8 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18194 /* "DB LIMIT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18975 /* "DB LIMIT" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+152 /* &db */) != 0 { @@ -51549,7 +53033,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+168, 8 if objc != 6 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18203 /* "DB dbName onOff ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18984 /* "DB dbName onOff ..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+168 /* &db */) != 0 { @@ -51677,7 +53161,7 @@ func test_getrusage(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 libc.Xgetrusage(tls, RUSAGE_SELF, bp+48 /* &r */) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1024]int8{})), bp+192, /* &buf[0] */ - ts+18224, /* "ru_utime=%d.%06d..." */ + ts+19005, /* "ru_utime=%d.%06d..." */ libc.VaList(bp, int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_utime.Ftv_sec), int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_utime.Ftv_usec), int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_stime.Ftv_sec), int32((*rusage)(unsafe.Pointer(bp+48 /* &r */)).Fru_stime.Ftv_usec), int32(*(*int64)(unsafe.Pointer(bp + 48 /* &r */ + 64 /* &.ru_minflt */))), int32(*(*int64)(unsafe.Pointer(bp + 48 /* &r */ + 72 /* &.ru_majflt */))))) @@ -51703,7 +53187,7 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj var mask int32 = 0 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18284 /* "DB OPT BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19065 /* "DB OPT BOOLEAN" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &db */) != 0 { @@ -51731,7 +53215,7 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj Fmask int32 _ [4]byte }{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18299, /* "unknown optimiza..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19080, /* "unknown optimiza..." */ uintptr(0))) for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aOpt)) / uint64(unsafe.Sizeof(struct { FzOptName uintptr @@ -51751,19 +53235,19 @@ var aOpt = [13]struct { Fmask int32 _ [4]byte }{ - {FzOptName: ts + 18340 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, - {FzOptName: ts + 18344 /* "none" */}, - {FzOptName: ts + 18349 /* "query-flattener" */, Fmask: SQLITE_QueryFlattener}, - {FzOptName: ts + 18365 /* "groupby-order" */, Fmask: SQLITE_GroupByOrder}, - {FzOptName: ts + 18379 /* "factor-constants" */, Fmask: SQLITE_FactorOutConst}, - {FzOptName: ts + 18396 /* "distinct-opt" */, Fmask: SQLITE_DistinctOpt}, - {FzOptName: ts + 18409 /* "cover-idx-scan" */, Fmask: SQLITE_CoverIdxScan}, - {FzOptName: ts + 18424 /* "order-by-idx-joi..." */, Fmask: SQLITE_OrderByIdxJoin}, - {FzOptName: ts + 18442 /* "transitive" */, Fmask: SQLITE_Transitive}, - {FzOptName: ts + 18453 /* "omit-noop-join" */, Fmask: SQLITE_OmitNoopJoin}, - {FzOptName: ts + 18468 /* "stat4" */, Fmask: SQLITE_Stat4}, - {FzOptName: ts + 18474 /* "skip-scan" */, Fmask: SQLITE_SkipScan}, - {FzOptName: ts + 18484 /* "push-down" */, Fmask: SQLITE_PushDown}, + {FzOptName: ts + 19121 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, + {FzOptName: ts + 19125 /* "none" */}, + {FzOptName: ts + 19130 /* "query-flattener" */, Fmask: SQLITE_QueryFlattener}, + {FzOptName: ts + 19146 /* "groupby-order" */, Fmask: SQLITE_GroupByOrder}, + {FzOptName: ts + 19160 /* "factor-constants" */, Fmask: SQLITE_FactorOutConst}, + {FzOptName: ts + 19177 /* "distinct-opt" */, Fmask: SQLITE_DistinctOpt}, + {FzOptName: ts + 19190 /* "cover-idx-scan" */, Fmask: SQLITE_CoverIdxScan}, + {FzOptName: ts + 19205 /* "order-by-idx-joi..." */, Fmask: SQLITE_OrderByIdxJoin}, + {FzOptName: ts + 19223 /* "transitive" */, Fmask: SQLITE_Transitive}, + {FzOptName: ts + 19234 /* "omit-noop-join" */, Fmask: SQLITE_OmitNoopJoin}, + {FzOptName: ts + 19249 /* "stat4" */, Fmask: SQLITE_Stat4}, + {FzOptName: ts + 19255 /* "skip-scan" */, Fmask: SQLITE_SkipScan}, + {FzOptName: ts + 19265 /* "push-down" */, Fmask: SQLITE_PushDown}, } /* test1.c:7503:5 */ // load_static_extension DB NAME ... @@ -51781,7 +53265,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr var rc int32 *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)) = uintptr(0) if objc < 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18494 /* "DB NAME ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19275 /* "DB NAME ..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -51801,7 +53285,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr FzExtName uintptr FpInit uintptr }{})))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18506 /* "no such extensio..." */, zName, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19287 /* "no such extensio..." */, zName, uintptr(0))) return TCL_ERROR } if aExtension[i].FpInit != 0 { @@ -51810,7 +53294,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr rc = SQLITE_OK } if ((rc != SQLITE_OK) && (rc != (SQLITE_OK | (int32(1) << 8)))) || (*(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18526 /* "initialization o..." */, zName, ts+18545 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)), + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+19307 /* "initialization o..." */, zName, ts+19326 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)), uintptr(0))) sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */))) return TCL_ERROR @@ -51823,25 +53307,25 @@ var aExtension = [22]struct { FzExtName uintptr FpInit uintptr }{ - {FzExtName: ts + 18555 /* "amatch" */, FpInit: 0}, - {FzExtName: ts + 18562 /* "appendvfs" */, FpInit: 0}, + {FzExtName: ts + 19336 /* "amatch" */, FpInit: 0}, + {FzExtName: ts + 19343 /* "appendvfs" */, FpInit: 0}, {FzExtName: ts + 3921 /* "carray" */, FpInit: 0}, - {FzExtName: ts + 18572 /* "closure" */, FpInit: 0}, + {FzExtName: ts + 19353 /* "closure" */, FpInit: 0}, {FzExtName: ts + 4676 /* "csv" */, FpInit: 0}, {FzExtName: ts + 4699 /* "decimal" */, FpInit: 0}, {FzExtName: ts + 4757 /* "eval" */, FpInit: 0}, {FzExtName: ts + 4835 /* "explain" */, FpInit: 0}, - {FzExtName: ts + 18580 /* "fileio" */, FpInit: 0}, + {FzExtName: ts + 19361 /* "fileio" */, FpInit: 0}, {FzExtName: ts + 5344 /* "fuzzer" */, FpInit: 0}, {FzExtName: ts + 5368 /* "ieee754" */, FpInit: 0}, - {FzExtName: ts + 18587 /* "nextchar" */, FpInit: 0}, + {FzExtName: ts + 19368 /* "nextchar" */, FpInit: 0}, {FzExtName: ts + 5948 /* "percentile" */, FpInit: 0}, {FzExtName: ts + 6023 /* "prefixes" */, FpInit: 0}, {FzExtName: ts + 6335 /* "regexp" */, FpInit: 0}, {FzExtName: ts + 6350 /* "remember" */, FpInit: 0}, - {FzExtName: ts + 18596 /* "series" */, FpInit: 0}, - {FzExtName: ts + 18603 /* "spellfix" */, FpInit: 0}, - {FzExtName: ts + 18612 /* "totype" */, FpInit: 0}, + {FzExtName: ts + 19377 /* "series" */, FpInit: 0}, + {FzExtName: ts + 19384 /* "spellfix" */, FpInit: 0}, + {FzExtName: ts + 19393 /* "totype" */, FpInit: 0}, {FzExtName: ts + 8367 /* "unionvtab" */, FpInit: 0}, {FzExtName: ts + 8909 /* "wholenumber" */, FpInit: 0}, {FzExtName: ts + 9012 /* "zipfile" */, FpInit: 0}, @@ -51856,7 +53340,7 @@ func sorter_test_fakeheap(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var bArg int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } @@ -51911,7 +53395,7 @@ func sorter_test_sort4_helper(tls *libc.TLS, clientData uintptr, interp uintptr, if !(objc != 5) { goto __1 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18624 /* "DB SQL1 NSTEP SQ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19400 /* "DB SQL1 NSTEP SQ..." */) return TCL_ERROR __1: ; @@ -51949,7 +53433,7 @@ __5: if !(a != sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)), iB)) { goto __8 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18643 /* "data error: (a!=..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19419 /* "data error: (a!=..." */, 0)) return TCL_ERROR __8: ; @@ -52002,14 +53486,14 @@ __14: if !(iCksum1 != iCksum2) { goto __15 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+18662 /* "checksum mismatc..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19438 /* "checksum mismatc..." */, 0)) return TCL_ERROR __15: ; return TCL_OK sql_error: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18680 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19456 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))), 0)) return TCL_ERROR } @@ -52037,7 +53521,7 @@ func test_bad_behavior(tls *libc.TLS, clientData ClientData, interp uintptr, obj var a uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18692 /* "TYPE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19468 /* "TYPE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &iType */) != 0 { @@ -52075,7 +53559,7 @@ func test_bad_behavior(tls *libc.TLS, clientData ClientData, interp uintptr, obj } case 4: { - tcl.XTcl_Panic(tls, ts+18697 /* "Deliberate panic" */, 0) + tcl.XTcl_Panic(tls, ts+19473 /* "Deliberate panic" */, 0) break } @@ -52119,20 +53603,20 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o // var db uintptr at bp+16, 8 if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18714 /* "DB SETTING [VALU..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19490 /* "DB SETTING [VALU..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { return TCL_ERROR } zSetting = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if sqlite3.Xsqlite3_strglob(tls, ts+18733 /* "SQLITE_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19509 /* "SQLITE_*" */, zSetting) == 0 { zSetting += uintptr(7) } - if sqlite3.Xsqlite3_strglob(tls, ts+18742 /* "DBCONFIG_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19518 /* "DBCONFIG_*" */, zSetting) == 0 { zSetting += uintptr(9) } - if sqlite3.Xsqlite3_strglob(tls, ts+18753 /* "ENABLE_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19529 /* "ENABLE_*" */, zSetting) == 0 { zSetting += uintptr(7) } for i = 0; i < (int32(uint64(unsafe.Sizeof(aSetting)) / uint64(unsafe.Sizeof(struct { @@ -52150,7 +53634,7 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o _ [4]byte }{})))) { tcl.XTcl_SetObjResult(tls, interp, - tcl.XTcl_NewStringObj(tls, ts+18762 /* "unknown sqlite3_..." */, -1)) + tcl.XTcl_NewStringObj(tls, ts+19538 /* "unknown sqlite3_..." */, -1)) return TCL_ERROR } if objc == 4 { @@ -52170,20 +53654,20 @@ var aSetting = [14]struct { FeVal int32 _ [4]byte }{ - {FzName: ts + 18796 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, - {FzName: ts + 18801 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, - {FzName: ts + 18809 /* "FTS3_TOKENIZER" */, FeVal: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, - {FzName: ts + 18824 /* "LOAD_EXTENSION" */, FeVal: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, - {FzName: ts + 18839 /* "NO_CKPT_ON_CLOSE" */, FeVal: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, - {FzName: ts + 18856 /* "QPSG" */, FeVal: SQLITE_DBCONFIG_ENABLE_QPSG}, - {FzName: ts + 18861 /* "TRIGGER_EQP" */, FeVal: SQLITE_DBCONFIG_TRIGGER_EQP}, - {FzName: ts + 18873 /* "RESET_DB" */, FeVal: SQLITE_DBCONFIG_RESET_DATABASE}, - {FzName: ts + 18882 /* "DEFENSIVE" */, FeVal: SQLITE_DBCONFIG_DEFENSIVE}, - {FzName: ts + 18892 /* "WRITABLE_SCHEMA" */, FeVal: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, - {FzName: ts + 18908 /* "LEGACY_ALTER_TAB..." */, FeVal: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, - {FzName: ts + 18927 /* "DQS_DML" */, FeVal: SQLITE_DBCONFIG_DQS_DML}, - {FzName: ts + 18935 /* "DQS_DDL" */, FeVal: SQLITE_DBCONFIG_DQS_DDL}, - {FzName: ts + 18943 /* "LEGACY_FILE_FORM..." */, FeVal: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, + {FzName: ts + 19572 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, + {FzName: ts + 19577 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, + {FzName: ts + 19585 /* "FTS3_TOKENIZER" */, FeVal: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, + {FzName: ts + 19600 /* "LOAD_EXTENSION" */, FeVal: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, + {FzName: ts + 19615 /* "NO_CKPT_ON_CLOSE" */, FeVal: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, + {FzName: ts + 19632 /* "QPSG" */, FeVal: SQLITE_DBCONFIG_ENABLE_QPSG}, + {FzName: ts + 19637 /* "TRIGGER_EQP" */, FeVal: SQLITE_DBCONFIG_TRIGGER_EQP}, + {FzName: ts + 19649 /* "RESET_DB" */, FeVal: SQLITE_DBCONFIG_RESET_DATABASE}, + {FzName: ts + 19658 /* "DEFENSIVE" */, FeVal: SQLITE_DBCONFIG_DEFENSIVE}, + {FzName: ts + 19668 /* "WRITABLE_SCHEMA" */, FeVal: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, + {FzName: ts + 19684 /* "LEGACY_ALTER_TAB..." */, FeVal: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, + {FzName: ts + 19703 /* "DQS_DML" */, FeVal: SQLITE_DBCONFIG_DQS_DML}, + {FzName: ts + 19711 /* "DQS_DDL" */, FeVal: SQLITE_DBCONFIG_DQS_DDL}, + {FzName: ts + 19719 /* "LEGACY_FILE_FORM..." */, FeVal: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, } /* test1.c:7986:5 */ // tclcmd: sqlite3_txn_state DB ?SCHEMA? @@ -52201,7 +53685,7 @@ func test_sqlite3_txn_state(tls *libc.TLS, clientData uintptr, interp uintptr, o var iTxn int32 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18962 /* "DB ?SCHEMA?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19738 /* "DB ?SCHEMA?" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -52232,7 +53716,7 @@ func test_dbconfig_maindbname_icecube(tls *libc.TLS, clientData uintptr, interp if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+8 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+18974 /* "icecube" */)) + rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+19750 /* "icecube" */)) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_OK } @@ -52245,7 +53729,7 @@ func test_mmap_warm(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 defer tls.Free(8) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18982 /* "DB ?DBNAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19758 /* "DB ?DBNAME?" */) return TCL_ERROR } else { var rc int32 @@ -52282,7 +53766,7 @@ func test_write_db(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18994 /* "DB OFFSET DATA" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19770 /* "DB OFFSET DATA" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -52352,7 +53836,7 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var x [16]uint32 at bp+232, 64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19009 /* "HEXDB" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19785 /* "HEXDB" */) return TCL_ERROR } zIn = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -52369,17 +53853,17 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i if a == uintptr(0) { // var pgsz int32 at bp+220, 4 - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19015 /* "| size %d pagesi..." */, libc.VaList(bp, bp+216 /* &n */, bp+220 /* &pgsz */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19791 /* "| size %d pagesi..." */, libc.VaList(bp, bp+216 /* &n */, bp+220 /* &pgsz */)) if rc != 2 { continue } if ((*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) < 512) || (*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) > 65536)) || ((*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) - 1)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19037 /* "bad 'pagesize' f..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19813 /* "bad 'pagesize' f..." */, uintptr(0))) return TCL_ERROR } *(*int32)(unsafe.Pointer(bp + 216 /* n */)) = (((*(*int32)(unsafe.Pointer(bp + 216 /* n */)) + *(*int32)(unsafe.Pointer(bp + 220 /* pgsz */))) - 1) & ^(*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) - 1)) // Round n up to the next multiple of pgsz if *(*int32)(unsafe.Pointer(bp + 216 /* n */)) < 512 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19058 /* "bad 'size' field" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19834 /* "bad 'size' field" */, uintptr(0))) return TCL_ERROR } a = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 216 /* n */)))) @@ -52390,12 +53874,12 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i libc.Xmemset(tls, a, 0, uint64(*(*int32)(unsafe.Pointer(bp + 216 /* n */)))) continue } - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19075 /* "| page %d offset..." */, libc.VaList(bp+64, bp+224 /* &j */, bp+228 /* &k */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19851 /* "| page %d offset..." */, libc.VaList(bp+64, bp+224 /* &j */, bp+228 /* &k */)) if rc == 2 { iOffset = *(*int32)(unsafe.Pointer(bp + 228 /* k */)) continue } - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19095, /* "| %d: %x %x %x %..." */ + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19871, /* "| %d: %x %x %x %..." */ libc.VaList(bp+80, bp+224 /* &j */, (bp+232 /* &x */), (bp+232 /* &x */ +1*4), (bp+232 /* &x */ +2*4), (bp+232 /* &x */ +3*4), (bp+232 /* &x */ +4*4), (bp+232 /* &x */ +5*4), (bp+232 /* &x */ +6*4), (bp+232 /* &x */ +7*4), (bp+232 /* &x */ +8*4), (bp+232 /* &x */ +9*4), (bp+232 /* &x */ +10*4), (bp+232 /* &x */ +11*4), (bp+232 /* &x */ +12*4), (bp+232 /* &x */ +13*4), (bp+232 /* &x */ +14*4), (bp+232 /* &x */ +15*4))) if rc == 17 { @@ -52432,56 +53916,56 @@ func Sqlitetest1_Init(tls *libc.TLS, interp uintptr) int32 { /* test1.c:8271:5: tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd1[i].FzName, aObjCmd1[i].FxProc, aObjCmd1[i].FclientData, uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+19149, /* "sqlite_search_co..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19925, /* "sqlite_search_co..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_search_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19169, /* "sqlite_found_cou..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19945, /* "sqlite_found_cou..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_found_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19188, /* "sqlite_sort_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19964, /* "sqlite_sort_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sort_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19206, /* "sqlite3_max_blob..." */ + tcl.XTcl_LinkVar(tls, interp, ts+19982, /* "sqlite3_max_blob..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_max_blobsize)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19227, /* "sqlite_like_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20003, /* "sqlite_like_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_like_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19245, /* "sqlite_interrupt..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20021, /* "sqlite_interrupt..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_interrupt_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19268, /* "sqlite_open_file..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20044, /* "sqlite_open_file..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_open_file_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19291, /* "sqlite_current_t..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20067, /* "sqlite_current_t..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_current_time)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19311, /* "sqlite3_xferopt_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20087, /* "sqlite3_xferopt_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_xferopt_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19333, /* "sqlite3_pager_re..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20109, /* "sqlite3_pager_re..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_readdb_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19360, /* "sqlite3_pager_wr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20136, /* "sqlite3_pager_wr..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writedb_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19388, /* "sqlite3_pager_wr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20164, /* "sqlite3_pager_wr..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writej_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19415, /* "unaligned_string..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20191, /* "unaligned_string..." */ uintptr(unsafe.Pointer(&unaligned_string_counter)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19440, /* "sqlite_last_need..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20216, /* "sqlite_last_need..." */ uintptr(unsafe.Pointer(&pzNeededCollation)), (TCL_LINK_STRING | TCL_LINK_READ_ONLY)) { - tcl.XTcl_LinkVar(tls, interp, ts+19469, /* "sqlite_query_pla..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20245, /* "sqlite_query_pla..." */ uintptr(unsafe.Pointer(&query_plan)), (TCL_LINK_STRING | TCL_LINK_READ_ONLY)) } - tcl.XTcl_LinkVar(tls, interp, ts+19487, /* "sqlite_opentemp_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20263, /* "sqlite_opentemp_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_opentemp_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19509, /* "sqlite_static_bi..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20285, /* "sqlite_static_bi..." */ uintptr(unsafe.Pointer(&sqlite_static_bind_value)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19534, /* "sqlite_static_bi..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20310, /* "sqlite_static_bi..." */ uintptr(unsafe.Pointer(&sqlite_static_bind_nbyte)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19559, /* "sqlite_temp_dire..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20335, /* "sqlite_temp_dire..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_temp_directory)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19581, /* "sqlite_data_dire..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20357, /* "sqlite_data_dire..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_data_directory)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19603, /* "bitmask_size" */ + tcl.XTcl_LinkVar(tls, interp, ts+20379, /* "bitmask_size" */ uintptr(unsafe.Pointer(&bitmask_size)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) - tcl.XTcl_LinkVar(tls, interp, ts+19616, /* "longdouble_size" */ + tcl.XTcl_LinkVar(tls, interp, ts+20392, /* "longdouble_size" */ uintptr(unsafe.Pointer(&longdouble_size)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) - tcl.XTcl_LinkVar(tls, interp, ts+19632, /* "sqlite_sync_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20408, /* "sqlite_sync_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sync_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19650, /* "sqlite_fullsync_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20426, /* "sqlite_fullsync_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_fullsync_count)), TCL_LINK_INT) return TCL_OK } @@ -52491,227 +53975,227 @@ var aCmd1 = [40]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 19672 /* "db_enter" */, FxProc: 0}, - {FzName: ts + 19681 /* "db_leave" */, FxProc: 0}, - {FzName: ts + 19690 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19710 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19732 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19753 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19773 /* "sqlite3_snprintf..." */, FxProc: 0}, - {FzName: ts + 19794 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19818 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19841 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19864 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19890 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19913 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19936 /* "sqlite3_snprintf..." */, FxProc: 0}, - {FzName: ts + 19957 /* "sqlite3_last_ins..." */, FxProc: 0}, - {FzName: ts + 19983 /* "sqlite3_exec_pri..." */, FxProc: 0}, - {FzName: ts + 20003 /* "sqlite3_exec_hex" */, FxProc: 0}, - {FzName: ts + 20020 /* "sqlite3_exec" */, FxProc: 0}, - {FzName: ts + 20033 /* "sqlite3_exec_nr" */, FxProc: 0}, - {FzName: ts + 20049 /* "sqlite3_get_tabl..." */, FxProc: 0}, - {FzName: ts + 20074 /* "sqlite3_close" */, FxProc: 0}, - {FzName: ts + 20088 /* "sqlite3_close_v2" */, FxProc: 0}, - {FzName: ts + 20105 /* "sqlite3_create_f..." */, FxProc: 0}, - {FzName: ts + 20129 /* "sqlite3_create_a..." */, FxProc: 0}, - {FzName: ts + 20154 /* "sqlite3_drop_mod..." */, FxProc: 0}, - {FzName: ts + 20175 /* "sqlite_register_..." */, FxProc: 0}, - {FzName: ts + 20205 /* "sqlite_abort" */, FxProc: 0}, - {FzName: ts + 20218 /* "sqlite_bind" */, FxProc: 0}, - {FzName: ts + 20230 /* "breakpoint" */, FxProc: 0}, - {FzName: ts + 20241 /* "sqlite3_key" */, FxProc: 0}, - {FzName: ts + 20253 /* "sqlite3_rekey" */, FxProc: 0}, - {FzName: ts + 20267 /* "sqlite_set_magic" */, FxProc: 0}, - {FzName: ts + 20284 /* "sqlite3_interrup..." */, FxProc: 0}, - {FzName: ts + 20302 /* "sqlite_delete_fu..." */, FxProc: 0}, - {FzName: ts + 20325 /* "sqlite_delete_co..." */, FxProc: 0}, - {FzName: ts + 20349 /* "sqlite3_get_auto..." */, FxProc: 0}, - {FzName: ts + 20372 /* "sqlite3_busy_tim..." */, FxProc: 0}, - {FzName: ts + 20393 /* "printf" */, FxProc: 0}, - {FzName: ts + 20400 /* "sqlite3IoTrace" */, FxProc: 0}, - {FzName: ts + 20415 /* "clang_sanitize_a..." */, FxProc: 0}, + {FzName: ts + 20448 /* "db_enter" */, FxProc: 0}, + {FzName: ts + 20457 /* "db_leave" */, FxProc: 0}, + {FzName: ts + 20466 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20486 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20508 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20529 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20549 /* "sqlite3_snprintf..." */, FxProc: 0}, + {FzName: ts + 20570 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20594 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20617 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20640 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20666 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20689 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20712 /* "sqlite3_snprintf..." */, FxProc: 0}, + {FzName: ts + 20733 /* "sqlite3_last_ins..." */, FxProc: 0}, + {FzName: ts + 20759 /* "sqlite3_exec_pri..." */, FxProc: 0}, + {FzName: ts + 20779 /* "sqlite3_exec_hex" */, FxProc: 0}, + {FzName: ts + 20796 /* "sqlite3_exec" */, FxProc: 0}, + {FzName: ts + 20809 /* "sqlite3_exec_nr" */, FxProc: 0}, + {FzName: ts + 20825 /* "sqlite3_get_tabl..." */, FxProc: 0}, + {FzName: ts + 20850 /* "sqlite3_close" */, FxProc: 0}, + {FzName: ts + 20864 /* "sqlite3_close_v2" */, FxProc: 0}, + {FzName: ts + 20881 /* "sqlite3_create_f..." */, FxProc: 0}, + {FzName: ts + 20905 /* "sqlite3_create_a..." */, FxProc: 0}, + {FzName: ts + 20930 /* "sqlite3_drop_mod..." */, FxProc: 0}, + {FzName: ts + 20951 /* "sqlite_register_..." */, FxProc: 0}, + {FzName: ts + 20981 /* "sqlite_abort" */, FxProc: 0}, + {FzName: ts + 20994 /* "sqlite_bind" */, FxProc: 0}, + {FzName: ts + 21006 /* "breakpoint" */, FxProc: 0}, + {FzName: ts + 21017 /* "sqlite3_key" */, FxProc: 0}, + {FzName: ts + 21029 /* "sqlite3_rekey" */, FxProc: 0}, + {FzName: ts + 21043 /* "sqlite_set_magic" */, FxProc: 0}, + {FzName: ts + 21060 /* "sqlite3_interrup..." */, FxProc: 0}, + {FzName: ts + 21078 /* "sqlite_delete_fu..." */, FxProc: 0}, + {FzName: ts + 21101 /* "sqlite_delete_co..." */, FxProc: 0}, + {FzName: ts + 21125 /* "sqlite3_get_auto..." */, FxProc: 0}, + {FzName: ts + 21148 /* "sqlite3_busy_tim..." */, FxProc: 0}, + {FzName: ts + 21169 /* "printf" */, FxProc: 0}, + {FzName: ts + 21176 /* "sqlite3IoTrace" */, FxProc: 0}, + {FzName: ts + 21191 /* "clang_sanitize_a..." */, FxProc: 0}, } /* test1.c:8288:5 */ var aObjCmd1 = [161]struct { FzName uintptr FxProc uintptr FclientData uintptr }{ - {FzName: ts + 20438 /* "sqlite3_db_confi..." */, FxProc: 0}, - {FzName: ts + 20456 /* "sqlite3_txn_stat..." */, FxProc: 0}, - {FzName: ts + 20474 /* "bad_behavior" */, FxProc: 0, FclientData: 0}, - {FzName: ts + 20487 /* "register_dbstat_..." */, FxProc: 0}, - {FzName: ts + 20508 /* "sqlite3_connecti..." */, FxProc: 0}, - {FzName: ts + 20535 /* "intarray_addr" */, FxProc: 0}, - {FzName: ts + 20549 /* "int64array_addr" */, FxProc: 0}, - {FzName: ts + 20565 /* "doublearray_addr" */, FxProc: 0}, - {FzName: ts + 20582 /* "textarray_addr" */, FxProc: 0}, - {FzName: ts + 20597 /* "sqlite3_bind_int" */, FxProc: 0}, - {FzName: ts + 20614 /* "sqlite3_bind_zer..." */, FxProc: 0}, - {FzName: ts + 20636 /* "sqlite3_bind_zer..." */, FxProc: 0}, - {FzName: ts + 20660 /* "sqlite3_bind_int..." */, FxProc: 0}, - {FzName: ts + 20679 /* "sqlite3_bind_dou..." */, FxProc: 0}, - {FzName: ts + 20699 /* "sqlite3_bind_nul..." */, FxProc: 0}, - {FzName: ts + 20717 /* "sqlite3_bind_tex..." */, FxProc: 0}, - {FzName: ts + 20735 /* "sqlite3_bind_tex..." */, FxProc: 0}, - {FzName: ts + 20755 /* "sqlite3_bind_blo..." */, FxProc: 0}, - {FzName: ts + 20773 /* "sqlite3_carray_b..." */, FxProc: 0}, - {FzName: ts + 20793 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20822 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20850 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20879 /* "sqlite3_clear_bi..." */, FxProc: 0}, - {FzName: ts + 20902 /* "sqlite3_sleep" */, FxProc: 0}, - {FzName: ts + 20916 /* "sqlite3_errcode" */, FxProc: 0}, - {FzName: ts + 20932 /* "sqlite3_extended..." */, FxProc: 0}, - {FzName: ts + 20957 /* "sqlite3_errmsg" */, FxProc: 0}, - {FzName: ts + 20972 /* "sqlite3_errmsg16" */, FxProc: 0}, - {FzName: ts + 20989 /* "sqlite3_open" */, FxProc: 0}, - {FzName: ts + 21002 /* "sqlite3_open16" */, FxProc: 0}, - {FzName: ts + 21017 /* "sqlite3_open_v2" */, FxProc: 0}, - {FzName: ts + 21033 /* "sqlite3_complete..." */, FxProc: 0}, - {FzName: ts + 21052 /* "sqlite3_normaliz..." */, FxProc: 0}, + {FzName: ts + 21214 /* "sqlite3_db_confi..." */, FxProc: 0}, + {FzName: ts + 21232 /* "sqlite3_txn_stat..." */, FxProc: 0}, + {FzName: ts + 21250 /* "bad_behavior" */, FxProc: 0, FclientData: 0}, + {FzName: ts + 21263 /* "register_dbstat_..." */, FxProc: 0}, + {FzName: ts + 21284 /* "sqlite3_connecti..." */, FxProc: 0}, + {FzName: ts + 21311 /* "intarray_addr" */, FxProc: 0}, + {FzName: ts + 21325 /* "int64array_addr" */, FxProc: 0}, + {FzName: ts + 21341 /* "doublearray_addr" */, FxProc: 0}, + {FzName: ts + 21358 /* "textarray_addr" */, FxProc: 0}, + {FzName: ts + 21373 /* "sqlite3_bind_int" */, FxProc: 0}, + {FzName: ts + 21390 /* "sqlite3_bind_zer..." */, FxProc: 0}, + {FzName: ts + 21412 /* "sqlite3_bind_zer..." */, FxProc: 0}, + {FzName: ts + 21436 /* "sqlite3_bind_int..." */, FxProc: 0}, + {FzName: ts + 21455 /* "sqlite3_bind_dou..." */, FxProc: 0}, + {FzName: ts + 21475 /* "sqlite3_bind_nul..." */, FxProc: 0}, + {FzName: ts + 21493 /* "sqlite3_bind_tex..." */, FxProc: 0}, + {FzName: ts + 21511 /* "sqlite3_bind_tex..." */, FxProc: 0}, + {FzName: ts + 21531 /* "sqlite3_bind_blo..." */, FxProc: 0}, + {FzName: ts + 21549 /* "sqlite3_carray_b..." */, FxProc: 0}, + {FzName: ts + 21569 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21598 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21626 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21655 /* "sqlite3_clear_bi..." */, FxProc: 0}, + {FzName: ts + 21678 /* "sqlite3_sleep" */, FxProc: 0}, + {FzName: ts + 21692 /* "sqlite3_errcode" */, FxProc: 0}, + {FzName: ts + 21708 /* "sqlite3_extended..." */, FxProc: 0}, + {FzName: ts + 21733 /* "sqlite3_errmsg" */, FxProc: 0}, + {FzName: ts + 21748 /* "sqlite3_errmsg16" */, FxProc: 0}, + {FzName: ts + 21765 /* "sqlite3_open" */, FxProc: 0}, + {FzName: ts + 21778 /* "sqlite3_open16" */, FxProc: 0}, + {FzName: ts + 21793 /* "sqlite3_open_v2" */, FxProc: 0}, + {FzName: ts + 21809 /* "sqlite3_complete..." */, FxProc: 0}, + {FzName: ts + 21828 /* "sqlite3_normaliz..." */, FxProc: 0}, - {FzName: ts + 21070 /* "sqlite3_prepare" */, FxProc: 0}, - {FzName: ts + 21086 /* "sqlite3_prepare1..." */, FxProc: 0}, - {FzName: ts + 21104 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21123 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21142 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21166 /* "sqlite3_prepare1..." */, FxProc: 0}, - {FzName: ts + 21187 /* "sqlite3_finalize" */, FxProc: 0}, - {FzName: ts + 21204 /* "sqlite3_stmt_sta..." */, FxProc: 0}, - {FzName: ts + 21224 /* "sqlite3_reset" */, FxProc: 0}, - {FzName: ts + 21238 /* "sqlite3_expired" */, FxProc: 0}, - {FzName: ts + 21254 /* "sqlite3_transfer..." */, FxProc: 0}, - {FzName: ts + 21280 /* "sqlite3_changes" */, FxProc: 0}, - {FzName: ts + 21296 /* "sqlite3_step" */, FxProc: 0}, - {FzName: ts + 21309 /* "sqlite3_sql" */, FxProc: 0}, - {FzName: ts + 21321 /* "sqlite3_expanded..." */, FxProc: 0}, - {FzName: ts + 21342 /* "sqlite3_next_stm..." */, FxProc: 0}, - {FzName: ts + 21360 /* "sqlite3_stmt_rea..." */, FxProc: 0}, - {FzName: ts + 21382 /* "sqlite3_stmt_ise..." */, FxProc: 0}, - {FzName: ts + 21405 /* "sqlite3_stmt_bus..." */, FxProc: 0}, - {FzName: ts + 21423 /* "uses_stmt_journa..." */, FxProc: 0}, + {FzName: ts + 21846 /* "sqlite3_prepare" */, FxProc: 0}, + {FzName: ts + 21862 /* "sqlite3_prepare1..." */, FxProc: 0}, + {FzName: ts + 21880 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 21899 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 21918 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 21942 /* "sqlite3_prepare1..." */, FxProc: 0}, + {FzName: ts + 21963 /* "sqlite3_finalize" */, FxProc: 0}, + {FzName: ts + 21980 /* "sqlite3_stmt_sta..." */, FxProc: 0}, + {FzName: ts + 22000 /* "sqlite3_reset" */, FxProc: 0}, + {FzName: ts + 22014 /* "sqlite3_expired" */, FxProc: 0}, + {FzName: ts + 22030 /* "sqlite3_transfer..." */, FxProc: 0}, + {FzName: ts + 22056 /* "sqlite3_changes" */, FxProc: 0}, + {FzName: ts + 22072 /* "sqlite3_step" */, FxProc: 0}, + {FzName: ts + 22085 /* "sqlite3_sql" */, FxProc: 0}, + {FzName: ts + 22097 /* "sqlite3_expanded..." */, FxProc: 0}, + {FzName: ts + 22118 /* "sqlite3_next_stm..." */, FxProc: 0}, + {FzName: ts + 22136 /* "sqlite3_stmt_rea..." */, FxProc: 0}, + {FzName: ts + 22158 /* "sqlite3_stmt_ise..." */, FxProc: 0}, + {FzName: ts + 22181 /* "sqlite3_stmt_bus..." */, FxProc: 0}, + {FzName: ts + 22199 /* "uses_stmt_journa..." */, FxProc: 0}, - {FzName: ts + 21441 /* "sqlite3_release_..." */, FxProc: 0}, - {FzName: ts + 21464 /* "sqlite3_db_relea..." */, FxProc: 0}, - {FzName: ts + 21490 /* "sqlite3_db_cache..." */, FxProc: 0}, - {FzName: ts + 21512 /* "sqlite3_system_e..." */, FxProc: 0}, - {FzName: ts + 21533 /* "sqlite3_db_filen..." */, FxProc: 0}, - {FzName: ts + 21553 /* "sqlite3_db_reado..." */, FxProc: 0}, - {FzName: ts + 21573 /* "sqlite3_soft_hea..." */, FxProc: 0}, - {FzName: ts + 21597 /* "sqlite3_soft_hea..." */, FxProc: 0}, - {FzName: ts + 21623 /* "sqlite3_hard_hea..." */, FxProc: 0}, - {FzName: ts + 21649 /* "sqlite3_thread_c..." */, FxProc: 0}, - {FzName: ts + 21672 /* "sqlite3_pager_re..." */, FxProc: 0}, + {FzName: ts + 22217 /* "sqlite3_release_..." */, FxProc: 0}, + {FzName: ts + 22240 /* "sqlite3_db_relea..." */, FxProc: 0}, + {FzName: ts + 22266 /* "sqlite3_db_cache..." */, FxProc: 0}, + {FzName: ts + 22288 /* "sqlite3_system_e..." */, FxProc: 0}, + {FzName: ts + 22309 /* "sqlite3_db_filen..." */, FxProc: 0}, + {FzName: ts + 22329 /* "sqlite3_db_reado..." */, FxProc: 0}, + {FzName: ts + 22349 /* "sqlite3_soft_hea..." */, FxProc: 0}, + {FzName: ts + 22373 /* "sqlite3_soft_hea..." */, FxProc: 0}, + {FzName: ts + 22399 /* "sqlite3_hard_hea..." */, FxProc: 0}, + {FzName: ts + 22425 /* "sqlite3_thread_c..." */, FxProc: 0}, + {FzName: ts + 22448 /* "sqlite3_pager_re..." */, FxProc: 0}, - {FzName: ts + 21696 /* "sqlite3_load_ext..." */, FxProc: 0}, - {FzName: ts + 21719 /* "sqlite3_enable_l..." */, FxProc: 0}, - {FzName: ts + 21749 /* "sqlite3_extended..." */, FxProc: 0}, - {FzName: ts + 21779 /* "sqlite3_limit" */, FxProc: 0}, - {FzName: ts + 21793 /* "dbconfig_maindbn..." */, FxProc: 0}, + {FzName: ts + 22472 /* "sqlite3_load_ext..." */, FxProc: 0}, + {FzName: ts + 22495 /* "sqlite3_enable_l..." */, FxProc: 0}, + {FzName: ts + 22525 /* "sqlite3_extended..." */, FxProc: 0}, + {FzName: ts + 22555 /* "sqlite3_limit" */, FxProc: 0}, + {FzName: ts + 22569 /* "dbconfig_maindbn..." */, FxProc: 0}, - {FzName: ts + 21821 /* "save_prng_state" */, FxProc: 0}, - {FzName: ts + 21837 /* "restore_prng_sta..." */, FxProc: 0}, - {FzName: ts + 21856 /* "reset_prng_state" */, FxProc: 0}, - {FzName: ts + 21873 /* "prng_seed" */, FxProc: 0}, - {FzName: ts + 21883 /* "extra_schema_che..." */, FxProc: 0}, - {FzName: ts + 21903 /* "database_never_c..." */, FxProc: 0}, - {FzName: ts + 21926 /* "database_may_be_..." */, FxProc: 0}, - {FzName: ts + 21950 /* "optimization_con..." */, FxProc: 0}, - {FzName: ts + 21971 /* "tcl_objproc" */, FxProc: 0}, + {FzName: ts + 22597 /* "save_prng_state" */, FxProc: 0}, + {FzName: ts + 22613 /* "restore_prng_sta..." */, FxProc: 0}, + {FzName: ts + 22632 /* "reset_prng_state" */, FxProc: 0}, + {FzName: ts + 22649 /* "prng_seed" */, FxProc: 0}, + {FzName: ts + 22659 /* "extra_schema_che..." */, FxProc: 0}, + {FzName: ts + 22679 /* "database_never_c..." */, FxProc: 0}, + {FzName: ts + 22702 /* "database_may_be_..." */, FxProc: 0}, + {FzName: ts + 22726 /* "optimization_con..." */, FxProc: 0}, + {FzName: ts + 22747 /* "tcl_objproc" */, FxProc: 0}, // sqlite3_column_*() API - {FzName: ts + 21983 /* "sqlite3_column_c..." */, FxProc: 0}, - {FzName: ts + 22004 /* "sqlite3_data_cou..." */, FxProc: 0}, - {FzName: ts + 22023 /* "sqlite3_column_t..." */, FxProc: 0}, - {FzName: ts + 22043 /* "sqlite3_column_b..." */, FxProc: 0}, - {FzName: ts + 22063 /* "sqlite3_column_d..." */, FxProc: 0}, - {FzName: ts + 22085 /* "sqlite3_column_i..." */, FxProc: 0}, - {FzName: ts + 22106 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22126 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22146 /* "sqlite3_column_i..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22165 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22186 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22210 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22239 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22265 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22759 /* "sqlite3_column_c..." */, FxProc: 0}, + {FzName: ts + 22780 /* "sqlite3_data_cou..." */, FxProc: 0}, + {FzName: ts + 22799 /* "sqlite3_column_t..." */, FxProc: 0}, + {FzName: ts + 22819 /* "sqlite3_column_b..." */, FxProc: 0}, + {FzName: ts + 22839 /* "sqlite3_column_d..." */, FxProc: 0}, + {FzName: ts + 22861 /* "sqlite3_column_i..." */, FxProc: 0}, + {FzName: ts + 22882 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22902 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22922 /* "sqlite3_column_i..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22941 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22962 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22986 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23015 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23041 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22292 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22315 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22337 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22359 /* "add_alignment_te..." */, FxProc: 0}, - {FzName: ts + 22389 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22415, /* "sqlite3_column_d..." */ + {FzName: ts + 23068 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23091 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23113 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23135 /* "add_alignment_te..." */, FxProc: 0}, + {FzName: ts + 23165 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23191, /* "sqlite3_column_d..." */ FxProc: 0, FclientData: 0}, - {FzName: ts + 22446 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22474 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22503 /* "sqlite3_create_c..." */, FxProc: 0}, - {FzName: ts + 22531 /* "sqlite3_global_r..." */, FxProc: 0}, - {FzName: ts + 22554 /* "working_64bit_in..." */, FxProc: 0}, - {FzName: ts + 22572 /* "vfs_unlink_test" */, FxProc: 0}, - {FzName: ts + 22588 /* "vfs_initfail_tes..." */, FxProc: 0}, - {FzName: ts + 22606 /* "vfs_unregister_a..." */, FxProc: 0}, - {FzName: ts + 22625 /* "vfs_reregister_a..." */, FxProc: 0}, - {FzName: ts + 22644 /* "file_control_tes..." */, FxProc: 0}, - {FzName: ts + 22662 /* "file_control_las..." */, FxProc: 0}, - {FzName: ts + 22690 /* "file_control_loc..." */, FxProc: 0}, - {FzName: ts + 22718 /* "file_control_chu..." */, FxProc: 0}, - {FzName: ts + 22746 /* "file_control_siz..." */, FxProc: 0}, - {FzName: ts + 22773 /* "file_control_dat..." */, FxProc: 0}, - {FzName: ts + 22799 /* "file_control_per..." */, FxProc: 0}, - {FzName: ts + 22824 /* "file_control_pow..." */, FxProc: 0}, - {FzName: ts + 22857 /* "file_control_vfs..." */, FxProc: 0}, - {FzName: ts + 22878 /* "file_control_res..." */, FxProc: 0}, - {FzName: ts + 22904 /* "file_control_tem..." */, FxProc: 0}, - {FzName: ts + 22930 /* "file_control_ext..." */, FxProc: 0}, - {FzName: ts + 22959 /* "sqlite3_vfs_list" */, FxProc: 0}, - {FzName: ts + 22976 /* "sqlite3_create_f..." */, FxProc: 0}, + {FzName: ts + 23222 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23250 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23279 /* "sqlite3_create_c..." */, FxProc: 0}, + {FzName: ts + 23307 /* "sqlite3_global_r..." */, FxProc: 0}, + {FzName: ts + 23330 /* "working_64bit_in..." */, FxProc: 0}, + {FzName: ts + 23348 /* "vfs_unlink_test" */, FxProc: 0}, + {FzName: ts + 23364 /* "vfs_initfail_tes..." */, FxProc: 0}, + {FzName: ts + 23382 /* "vfs_unregister_a..." */, FxProc: 0}, + {FzName: ts + 23401 /* "vfs_reregister_a..." */, FxProc: 0}, + {FzName: ts + 23420 /* "file_control_tes..." */, FxProc: 0}, + {FzName: ts + 23438 /* "file_control_las..." */, FxProc: 0}, + {FzName: ts + 23466 /* "file_control_loc..." */, FxProc: 0}, + {FzName: ts + 23494 /* "file_control_chu..." */, FxProc: 0}, + {FzName: ts + 23522 /* "file_control_siz..." */, FxProc: 0}, + {FzName: ts + 23549 /* "file_control_dat..." */, FxProc: 0}, + {FzName: ts + 23575 /* "file_control_per..." */, FxProc: 0}, + {FzName: ts + 23600 /* "file_control_pow..." */, FxProc: 0}, + {FzName: ts + 23633 /* "file_control_vfs..." */, FxProc: 0}, + {FzName: ts + 23654 /* "file_control_res..." */, FxProc: 0}, + {FzName: ts + 23680 /* "file_control_tem..." */, FxProc: 0}, + {FzName: ts + 23706 /* "file_control_ext..." */, FxProc: 0}, + {FzName: ts + 23735 /* "sqlite3_vfs_list" */, FxProc: 0}, + {FzName: ts + 23752 /* "sqlite3_create_f..." */, FxProc: 0}, // Functions from os.h - {FzName: ts + 23003 /* "add_test_collate" */, FxProc: 0}, - {FzName: ts + 23020 /* "add_test_collate..." */, FxProc: 0}, - {FzName: ts + 23044 /* "add_test_functio..." */, FxProc: 0}, - {FzName: ts + 23062 /* "add_test_utf16bi..." */, FxProc: 0}, - {FzName: ts + 23088 /* "sqlite3_test_err..." */, FxProc: 0}, - {FzName: ts + 23108 /* "tcl_variable_typ..." */, FxProc: 0}, - {FzName: ts + 23126 /* "sqlite3_enable_s..." */, FxProc: 0}, - {FzName: ts + 23154 /* "sqlite3_shared_c..." */, FxProc: 0}, - {FzName: ts + 23182 /* "sqlite3_libversi..." */, FxProc: 0}, - {FzName: ts + 23208 /* "sqlite3_table_co..." */, FxProc: 0}, - {FzName: ts + 23238 /* "sqlite3_blob_reo..." */, FxProc: 0}, - {FzName: ts + 23258 /* "pcache_stats" */, FxProc: 0}, - {FzName: ts + 23271 /* "sqlite3_unlock_n..." */, FxProc: 0}, - {FzName: ts + 23293 /* "sqlite3_wal_chec..." */, FxProc: 0}, - {FzName: ts + 23316 /* "sqlite3_wal_chec..." */, FxProc: 0}, - {FzName: ts + 23342 /* "sqlite3_wal_auto..." */, FxProc: 0}, - {FzName: ts + 23369 /* "test_sqlite3_log" */, FxProc: 0}, - {FzName: ts + 23386 /* "print_explain_qu..." */, FxProc: 0}, - {FzName: ts + 23411 /* "sqlite3_test_con..." */, FxProc: 0}, - {FzName: ts + 23432 /* "getrusage" */, FxProc: 0}, - {FzName: ts + 23442 /* "load_static_exte..." */, FxProc: 0}, - {FzName: ts + 23464 /* "sorter_test_fake..." */, FxProc: 0}, - {FzName: ts + 23485 /* "sorter_test_sort..." */, FxProc: 0}, - {FzName: ts + 23510 /* "vfs_current_time..." */, FxProc: 0}, - {FzName: ts + 23533 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23554 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23576 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23598 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23619 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23644 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23670 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23697 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23723 /* "sqlite3_delete_d..." */, FxProc: 0}, - {FzName: ts + 23747 /* "atomic_batch_wri..." */, FxProc: 0}, - {FzName: ts + 23766 /* "sqlite3_mmap_war..." */, FxProc: 0}, - {FzName: ts + 23784 /* "sqlite3_config_s..." */, FxProc: 0}, - {FzName: ts + 23809 /* "decode_hexdb" */, FxProc: 0}, - {FzName: ts + 23822 /* "test_write_db" */, FxProc: 0}, - {FzName: ts + 23836 /* "sqlite3_register..." */, FxProc: 0}, - {FzName: ts + 23862 /* "sqlite3_unregist..." */, FxProc: 0}, + {FzName: ts + 23779 /* "add_test_collate" */, FxProc: 0}, + {FzName: ts + 23796 /* "add_test_collate..." */, FxProc: 0}, + {FzName: ts + 23820 /* "add_test_functio..." */, FxProc: 0}, + {FzName: ts + 23838 /* "add_test_utf16bi..." */, FxProc: 0}, + {FzName: ts + 23864 /* "sqlite3_test_err..." */, FxProc: 0}, + {FzName: ts + 23884 /* "tcl_variable_typ..." */, FxProc: 0}, + {FzName: ts + 23902 /* "sqlite3_enable_s..." */, FxProc: 0}, + {FzName: ts + 23930 /* "sqlite3_shared_c..." */, FxProc: 0}, + {FzName: ts + 23958 /* "sqlite3_libversi..." */, FxProc: 0}, + {FzName: ts + 23984 /* "sqlite3_table_co..." */, FxProc: 0}, + {FzName: ts + 24014 /* "sqlite3_blob_reo..." */, FxProc: 0}, + {FzName: ts + 24034 /* "pcache_stats" */, FxProc: 0}, + {FzName: ts + 24047 /* "sqlite3_unlock_n..." */, FxProc: 0}, + {FzName: ts + 24069 /* "sqlite3_wal_chec..." */, FxProc: 0}, + {FzName: ts + 24092 /* "sqlite3_wal_chec..." */, FxProc: 0}, + {FzName: ts + 24118 /* "sqlite3_wal_auto..." */, FxProc: 0}, + {FzName: ts + 24145 /* "test_sqlite3_log" */, FxProc: 0}, + {FzName: ts + 24162 /* "print_explain_qu..." */, FxProc: 0}, + {FzName: ts + 24187 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 24208 /* "getrusage" */, FxProc: 0}, + {FzName: ts + 24218 /* "load_static_exte..." */, FxProc: 0}, + {FzName: ts + 24240 /* "sorter_test_fake..." */, FxProc: 0}, + {FzName: ts + 24261 /* "sorter_test_sort..." */, FxProc: 0}, + {FzName: ts + 24286 /* "vfs_current_time..." */, FxProc: 0}, + {FzName: ts + 24309 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24330 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24352 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24374 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24395 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24420 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24446 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24473 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24499 /* "sqlite3_delete_d..." */, FxProc: 0}, + {FzName: ts + 24523 /* "atomic_batch_wri..." */, FxProc: 0}, + {FzName: ts + 24542 /* "sqlite3_mmap_war..." */, FxProc: 0}, + {FzName: ts + 24560 /* "sqlite3_config_s..." */, FxProc: 0}, + {FzName: ts + 24585 /* "decode_hexdb" */, FxProc: 0}, + {FzName: ts + 24598 /* "test_write_db" */, FxProc: 0}, + {FzName: ts + 24612 /* "sqlite3_register..." */, FxProc: 0}, + {FzName: ts + 24638 /* "sqlite3_unregist..." */, FxProc: 0}, } /* test1.c:8336:5 */ var bitmask_size int32 = (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8))) /* test1.c:8564:14 */ var longdouble_size int32 = int32(unsafe.Sizeof(float64(0))) /* test1.c:8565:14 */ -var query_plan uintptr = ts + 23890 /* "*** OBSOLETE VAR..." */ /* test1.c:8637:23 */ +var query_plan uintptr = ts + 24666 /* "*** OBSOLETE VAR..." */ /* test1.c:8637:23 */ // Page size and reserved size used for testing. var test_pagesize int32 = 1024 /* test2.c:31:12 */ @@ -52738,8 +54222,8 @@ func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [100]int8 at bp+92, 100 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23916 /* " FILENAME N-PAGE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24692 /* " FILENAME N-PAGE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72 /* &nPage */) != 0 { @@ -52755,7 +54239,7 @@ func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv sqlite3.Xsqlite3PagerSetCachesize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)), *(*int32)(unsafe.Pointer(bp + 72 /* nPage */))) *(*u32)(unsafe.Pointer(bp + 88 /* pageSize */)) = u32(test_pagesize) sqlite3.Xsqlite3PagerSetPagesize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)), bp+88 /* &pageSize */, -1) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+92 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+92 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+92 /* &zBuf[0] */, 0)) return TCL_OK } @@ -52770,8 +54254,8 @@ func pager_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52793,8 +54277,8 @@ func pager_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52816,8 +54300,8 @@ func pager_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52844,8 +54328,8 @@ func pager_stmt_begin(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52867,8 +54351,8 @@ func pager_stmt_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52891,8 +54375,8 @@ func pager_stmt_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52915,8 +54399,8 @@ func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var i int32 var a uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52932,8 +54416,8 @@ func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg } var zName = [9]uintptr{ - ts + 23939 /* "ref" */, ts + 23943 /* "page" */, ts + 17912 /* "max" */, ts + 11491 /* "size" */, ts + 10193 /* "state" */, ts + 23948, /* "err" */ - ts + 23952 /* "hit" */, ts + 23956 /* "miss" */, ts + 23961, /* "ovfl" */ + ts + 24715 /* "ref" */, ts + 24719 /* "page" */, ts + 18693 /* "max" */, ts + 12279 /* "size" */, ts + 10193 /* "state" */, ts + 24724, /* "err" */ + ts + 24728 /* "hit" */, ts + 24732 /* "miss" */, ts + 24737, /* "ovfl" */ } /* test2.c:266:17 */ // Usage: pager_pagecount ID @@ -52949,8 +54433,8 @@ func pager_pagecount(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var nPage int32 at bp+56, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52975,8 +54459,8 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23966 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24742 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -52991,7 +54475,7 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPage */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPage */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &zBuf[0] */, 0)) return TCL_OK } @@ -53011,8 +54495,8 @@ func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // var pgno int32 at bp+56, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23966 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24742 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -53021,7 +54505,7 @@ func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg } pPage = sqlite3.Xsqlite3PagerLookup(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 56 /* pgno */)))) if pPage != 0 { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+32, pPage)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+32, pPage)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+60 /* &zBuf[0] */, 0)) } return TCL_OK @@ -53036,8 +54520,8 @@ func pager_truncate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var pgno int32 at bp+32, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23966 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24742 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -53057,8 +54541,8 @@ func page_unref(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23976 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24752 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -53077,8 +54561,8 @@ func page_read(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23976 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24752 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -53098,8 +54582,8 @@ func page_number(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23976 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24752 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -53119,8 +54603,8 @@ func page_write(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pData uintptr var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23983 /* " PAGE DATA\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24759 /* " PAGE DATA\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -53155,8 +54639,8 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var zFile uintptr var nFile int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23995 /* " N-MEGABYTES FIL..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24771 /* " N-MEGABYTES FIL..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80 /* &n */) != 0 { @@ -53174,17 +54658,17 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a rc = sqlite3.Xsqlite3OsOpenMalloc(tls, pVfs, zFile, bp+88, /* &fd */ ((SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_MAIN_DB), uintptr(0)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24014 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24790 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) sqlite3.Xsqlite3_free(tls, zFile) return TCL_ERROR } offset = i64(*(*int32)(unsafe.Pointer(bp + 80 /* n */))) offset = offset * (int64(1024 * 1024)) - rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* fd */)), ts+24028 /* "Hello, World!" */, 14, offset) + rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* fd */)), ts+24804 /* "Hello, World!" */, 14, offset) sqlite3.Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* fd */))) sqlite3.Xsqlite3_free(tls, zFile) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+24042 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+24818 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -53201,8 +54685,8 @@ func testPendingByte(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24057 /* " PENDING-BYTE\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24833 /* " PENDING-BYTE\"" */, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &pbyte */) != 0 { @@ -53228,7 +54712,7 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ var isNeg int32 var rc int32 if x == 0 { - libc.Xmemcpy(tls, (faultSimScript + uintptr(faultSimScriptSize)), ts+13873 /* "0" */, uint64(2)) + libc.Xmemcpy(tls, (faultSimScript + uintptr(faultSimScriptSize)), ts+14654 /* "0" */, uint64(2)) } else { // Convert x to text without using any sqlite3 routines if x < 0 { @@ -53262,7 +54746,7 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ } rc = tcl.XTcl_Eval(tls, faultSimInterp, faultSimScript) if rc != 0 { - libc.Xfprintf(tls, libc.Xstderr, ts+24072 /* "fault simulator ..." */, libc.VaList(bp, faultSimScript)) + libc.Xfprintf(tls, libc.Xstderr, ts+24848 /* "fault simulator ..." */, libc.VaList(bp, faultSimScript)) rc = SQLITE_ERROR } else { rc = libc.Xatoi(tls, tcl.XTcl_GetStringResult(tls, faultSimInterp)) @@ -53284,8 +54768,8 @@ func faultInstallCmd(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var nScript int32 var rc int32 if (argc != 1) && (argc != 2) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24108 /* " SCRIPT\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24884 /* " SCRIPT\"" */, uintptr(0))) } if argc == 2 { zScript = *(*uintptr)(unsafe.Pointer(argv + 1*8)) @@ -53331,8 +54815,8 @@ func testBitvecBuiltinTest(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24117 /* " SIZE PROGRAM\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24893 /* " SIZE PROGRAM\"" */, uintptr(0))) } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &sz */) != 0 { return TCL_ERROR @@ -53365,19 +54849,19 @@ func Sqlitetest2_Init(tls *libc.TLS, interp uintptr) int32 { /* test2.c:697:5: * }{}))); i++ { tcl.XTcl_CreateCommand(tls, interp, aCmd2[i].FzName, aCmd2[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+24132, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24908, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_pending)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24156, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24932, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_persist)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24180, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24956, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hit)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24200, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+24976, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hardhit)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24224, /* "sqlite_diskfull_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25000, /* "sqlite_diskfull_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull_pending)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24248, /* "sqlite_diskfull" */ + tcl.XTcl_LinkVar(tls, interp, ts+25024, /* "sqlite_diskfull" */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24264, /* "sqlite_pending_b..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25040, /* "sqlite_pending_b..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3PendingByte)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) return TCL_OK } @@ -53386,26 +54870,26 @@ var aCmd2 = [20]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 24284 /* "pager_open" */, FxProc: 0}, - {FzName: ts + 24295 /* "pager_close" */, FxProc: 0}, - {FzName: ts + 24307 /* "pager_commit" */, FxProc: 0}, - {FzName: ts + 24320 /* "pager_rollback" */, FxProc: 0}, - {FzName: ts + 24335 /* "pager_stmt_begin" */, FxProc: 0}, - {FzName: ts + 24352 /* "pager_stmt_commi..." */, FxProc: 0}, - {FzName: ts + 24370 /* "pager_stmt_rollb..." */, FxProc: 0}, - {FzName: ts + 24390 /* "pager_stats" */, FxProc: 0}, - {FzName: ts + 24402 /* "pager_pagecount" */, FxProc: 0}, - {FzName: ts + 24418 /* "page_get" */, FxProc: 0}, - {FzName: ts + 24427 /* "page_lookup" */, FxProc: 0}, - {FzName: ts + 24439 /* "page_unref" */, FxProc: 0}, - {FzName: ts + 24450 /* "page_read" */, FxProc: 0}, - {FzName: ts + 24460 /* "page_write" */, FxProc: 0}, - {FzName: ts + 24471 /* "page_number" */, FxProc: 0}, - {FzName: ts + 24483 /* "pager_truncate" */, FxProc: 0}, - {FzName: ts + 24498 /* "fake_big_file" */, FxProc: 0}, - {FzName: ts + 24512 /* "sqlite3BitvecBui..." */, FxProc: 0}, - {FzName: ts + 24537 /* "sqlite3_test_con..." */, FxProc: 0}, - {FzName: ts + 24571 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 25060 /* "pager_open" */, FxProc: 0}, + {FzName: ts + 25071 /* "pager_close" */, FxProc: 0}, + {FzName: ts + 25083 /* "pager_commit" */, FxProc: 0}, + {FzName: ts + 25096 /* "pager_rollback" */, FxProc: 0}, + {FzName: ts + 25111 /* "pager_stmt_begin" */, FxProc: 0}, + {FzName: ts + 25128 /* "pager_stmt_commi..." */, FxProc: 0}, + {FzName: ts + 25146 /* "pager_stmt_rollb..." */, FxProc: 0}, + {FzName: ts + 25166 /* "pager_stats" */, FxProc: 0}, + {FzName: ts + 25178 /* "pager_pagecount" */, FxProc: 0}, + {FzName: ts + 25194 /* "page_get" */, FxProc: 0}, + {FzName: ts + 25203 /* "page_lookup" */, FxProc: 0}, + {FzName: ts + 25215 /* "page_unref" */, FxProc: 0}, + {FzName: ts + 25226 /* "page_read" */, FxProc: 0}, + {FzName: ts + 25236 /* "page_write" */, FxProc: 0}, + {FzName: ts + 25247 /* "page_number" */, FxProc: 0}, + {FzName: ts + 25259 /* "pager_truncate" */, FxProc: 0}, + {FzName: ts + 25274 /* "fake_big_file" */, FxProc: 0}, + {FzName: ts + 25288 /* "sqlite3BitvecBui..." */, FxProc: 0}, + {FzName: ts + 25313 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 25347 /* "sqlite3_test_con..." */, FxProc: 0}, } /* test2.c:707:5 */ // 2001 September 15 @@ -54182,8 +55666,8 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var n int32 var zFilename uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24606 /* " FILENAME NCACHE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25382 /* " FILENAME NCACHE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72 /* &nCache */) != 0 { @@ -54210,7 +55694,7 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv return TCL_ERROR } sqlite3.Xsqlite3BtreeSetCacheSize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pBt */)), *(*int32)(unsafe.Pointer(bp + 72 /* nCache */))) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pBt */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pBt */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &zBuf[0] */, 0)) return TCL_OK } @@ -54225,8 +55709,8 @@ func btree_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pBt uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54255,8 +55739,8 @@ func btree_begin_transaction(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg var pBt uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54282,8 +55766,8 @@ func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var a uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54313,8 +55797,8 @@ func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 } var zName1 = [11]uintptr{ - ts + 23939 /* "ref" */, ts + 23943 /* "page" */, ts + 17912 /* "max" */, ts + 11491 /* "size" */, ts + 10193 /* "state" */, ts + 23948, /* "err" */ - ts + 23952 /* "hit" */, ts + 23956 /* "miss" */, ts + 23961 /* "ovfl" */, ts + 24630 /* "read" */, ts + 24635, /* "write" */ + ts + 24715 /* "ref" */, ts + 24719 /* "page" */, ts + 18693 /* "max" */, ts + 12279 /* "size" */, ts + 10193 /* "state" */, ts + 24724, /* "err" */ + ts + 24728 /* "hit" */, ts + 24732 /* "miss" */, ts + 24737 /* "ovfl" */, ts + 25406 /* "read" */, ts + 25411, /* "write" */ } /* test3.c:179:17 */ // Usage: btree_cursor ID TABLENUM WRITEABLE @@ -54334,8 +55818,8 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar // var zBuf [30]int8 at bp+80, 30 if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24641 /* " ID TABLENUM WRI..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25417 /* " ID TABLENUM WRI..." */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54363,7 +55847,7 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+80 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+48, pCur)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+80 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, pCur)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -54379,8 +55863,8 @@ func btree_close_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54416,8 +55900,8 @@ func btree_next(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54451,8 +55935,8 @@ func btree_first(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // var zBuf [100]int8 at bp+76, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54481,8 +55965,8 @@ func btree_eof(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [50]int8 at bp+56, 50 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54506,15 +55990,15 @@ func btree_payload_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var zBuf [50]int8 at bp+56, 50 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) n = sqlite3.Xsqlite3BtreePayloadSize(tls, pCur) sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56 /* &zBuf[0] */, ts+17449 /* "%u" */, libc.VaList(bp+32, n)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp+32, n)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+56 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -54553,8 +56037,8 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var zBuf [100]uint8 at bp+200, 100 if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24665 /* " START MULTIPLIE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25441 /* " START MULTIPLIE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+184 /* &start */) != 0 { @@ -54577,20 +56061,20 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 n1 = sqlite3.Xsqlite3PutVarint(tls, bp+200 /* &zBuf[0] */, in) if (n1 > 9) || (n1 < 1) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24700 /* "putVarint return..." */, libc.VaList(bp+32, n1)) + ts+25476 /* "putVarint return..." */, libc.VaList(bp+32, n1)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } n2 = int32(sqlite3.Xsqlite3GetVarint(tls, bp+200 /* &zBuf[0] */, bp+504 /* &out */)) if n1 != n2 { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24750 /* "putVarint return..." */, libc.VaList(bp+56, n1, n2)) + ts+25526 /* "putVarint return..." */, libc.VaList(bp+56, n1, n2)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } if in != *(*u64)(unsafe.Pointer(bp + 504 /* out */)) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24798 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+88, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) + ts+25574 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+88, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+104, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } @@ -54609,14 +56093,14 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 *(*u64)(unsafe.Pointer(bp + 504 /* out */)) = u64(*(*u32)(unsafe.Pointer(bp + 512 /* out32 */))) if n1 != n2 { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24837, /* "putVarint return..." */ + ts+25613, /* "putVarint return..." */ libc.VaList(bp+120, n1, n2)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+136, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } if in != *(*u64)(unsafe.Pointer(bp + 504 /* out */)) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ - ts+24887, /* "Wrote 0x%016llx ..." */ + ts+25663, /* "Wrote 0x%016llx ..." */ libc.VaList(bp+152, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+168, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR @@ -54654,13 +56138,13 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var iDb int32 = 0 if (argc != 2) && (argc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24943 /* " DB-HANDLE ?N?\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25719 /* " DB-HANDLE ?N?\"" */, 0)) return TCL_ERROR } if 1 != tcl.XTcl_GetCommandInfo(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72 /* &info */) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24959 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25735 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+12415 /* "\"" */, 0)) return TCL_ERROR } if argc == 3 { @@ -54670,7 +56154,7 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 72 /* &info */)).FobjClientData)) pBt = (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpBt - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+136 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+64, pBt)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+136 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, pBt)) tcl.XTcl_SetResult(tls, interp, bp+136 /* &zBuf[0] */, uintptr(1)) return TCL_OK } @@ -54687,8 +56171,8 @@ func btree_ismemdb(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var pFile uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+23934 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+24710 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54715,7 +56199,7 @@ func btree_set_cache_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i if argc != 3 { tcl.XTcl_AppendResult(tls, - interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+24980 /* " BT NCACHE\"" */, 0)) + interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+25756 /* " BT NCACHE\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -54744,7 +56228,7 @@ func btree_insert(tls *libc.TLS, clientData ClientData, interp uintptr, objc int // var x BtreePayload at bp+16, 48 if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+24992 /* "?-intkey? CSR KE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+25768 /* "?-intkey? CSR KE..." */) return TCL_ERROR } @@ -54786,7 +56270,7 @@ func Sqlitetest3_Init(tls *libc.TLS, interp uintptr) int32 { /* test3.c:661:5: * tcl.XTcl_CreateCommand(tls, interp, aCmd3[i].FzName, aCmd3[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_CreateObjCommand(tls, interp, ts+25016 /* "btree_insert" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+25792 /* "btree_insert" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{btree_insert})), uintptr(0), uintptr(0)) @@ -54797,20 +56281,20 @@ var aCmd3 = [14]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25029 /* "btree_open" */, FxProc: 0}, - {FzName: ts + 25040 /* "btree_close" */, FxProc: 0}, - {FzName: ts + 25052 /* "btree_begin_tran..." */, FxProc: 0}, - {FzName: ts + 25076 /* "btree_pager_stat..." */, FxProc: 0}, - {FzName: ts + 25094 /* "btree_cursor" */, FxProc: 0}, - {FzName: ts + 25107 /* "btree_close_curs..." */, FxProc: 0}, - {FzName: ts + 25126 /* "btree_next" */, FxProc: 0}, - {FzName: ts + 25137 /* "btree_eof" */, FxProc: 0}, - {FzName: ts + 25147 /* "btree_payload_si..." */, FxProc: 0}, - {FzName: ts + 25166 /* "btree_first" */, FxProc: 0}, - {FzName: ts + 25178 /* "btree_varint_tes..." */, FxProc: 0}, - {FzName: ts + 25196 /* "btree_from_db" */, FxProc: 0}, - {FzName: ts + 25210 /* "btree_ismemdb" */, FxProc: 0}, - {FzName: ts + 25224 /* "btree_set_cache_..." */, FxProc: 0}, + {FzName: ts + 25805 /* "btree_open" */, FxProc: 0}, + {FzName: ts + 25816 /* "btree_close" */, FxProc: 0}, + {FzName: ts + 25828 /* "btree_begin_tran..." */, FxProc: 0}, + {FzName: ts + 25852 /* "btree_pager_stat..." */, FxProc: 0}, + {FzName: ts + 25870 /* "btree_cursor" */, FxProc: 0}, + {FzName: ts + 25883 /* "btree_close_curs..." */, FxProc: 0}, + {FzName: ts + 25902 /* "btree_next" */, FxProc: 0}, + {FzName: ts + 25913 /* "btree_eof" */, FxProc: 0}, + {FzName: ts + 25923 /* "btree_payload_si..." */, FxProc: 0}, + {FzName: ts + 25942 /* "btree_first" */, FxProc: 0}, + {FzName: ts + 25954 /* "btree_varint_tes..." */, FxProc: 0}, + {FzName: ts + 25972 /* "btree_from_db" */, FxProc: 0}, + {FzName: ts + 25986 /* "btree_ismemdb" */, FxProc: 0}, + {FzName: ts + 26000 /* "btree_set_cache_..." */, FxProc: 0}, } /* test3.c:665:5 */ // end block for C++ @@ -55465,7 +56949,7 @@ func parse_thread_id(tls *libc.TLS, interp uintptr, zArg uintptr) int32 { /* tes defer tls.Free(16) if (((zArg == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zArg))) == 0)) || (int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0)) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zArg)))))*2))) & int32(_ISupper)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25245 /* "thread ID must b..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26021 /* "thread ID must b..." */, 0)) return -1 } return (int32(*(*int8)(unsafe.Pointer(zArg))) - 'A') @@ -55485,8 +56969,8 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25284 /* " ID FILENAME" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26060 /* " ID FILENAME" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55494,7 +56978,7 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if threadset[i].Fbusy != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25297 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+25305 /* " is already runn..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26073 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+26081 /* " is already runn..." */, 0)) return TCL_ERROR } threadset[i].Fbusy = 1 @@ -55506,7 +56990,7 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 f func(*libc.TLS, uintptr) uintptr }{test_thread_main})), (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+25325 /* "failed to create..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+26101 /* "failed to create..." */, 0)) sqlite3.Xsqlite3_free(tls, threadset[i].FzFilename) threadset[i].Fbusy = 0 return TCL_ERROR @@ -55532,8 +57016,8 @@ func tcl_thread_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55541,7 +57025,7 @@ func tcl_thread_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55572,8 +57056,8 @@ func tcl_thread_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } if (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*8))))) == '*') && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*8)) + 1))) == 0) { @@ -55588,7 +57072,7 @@ func tcl_thread_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_stop_thread(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55608,8 +57092,8 @@ func tcl_thread_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55617,7 +57101,7 @@ func tcl_thread_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55638,8 +57122,8 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55647,7 +57131,7 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &n */) != 0 { @@ -55655,7 +57139,7 @@ func tcl_thread_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680 + 80 /* &.argv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*8)), 0)) @@ -55674,8 +57158,8 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55683,7 +57167,7 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &n */) != 0 { @@ -55691,7 +57175,7 @@ func tcl_thread_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680 + 880 /* &.colv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*8)), 0)) @@ -55710,8 +57194,8 @@ func tcl_thread_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var zName uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55719,7 +57203,7 @@ func tcl_thread_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55739,8 +57223,8 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55748,7 +57232,7 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55759,7 +57243,7 @@ func tcl_thread_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // This procedure runs in the thread to compile an SQL statement. func do_compile(tls *libc.TLS, p uintptr) { /* test4.c:419:13: */ if (*Thread)(unsafe.Pointer(p)).Fdb == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25405 /* "no database is o..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26181 /* "no database is o..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -55779,8 +57263,8 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25425 /* " ID SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26201 /* " ID SQL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55788,7 +57272,7 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55803,7 +57287,7 @@ func tcl_thread_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int func do_step(tls *libc.TLS, p uintptr) { /* test4.c:466:13: */ var i int32 if (*Thread)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -55828,8 +57312,8 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55837,7 +57321,7 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55849,7 +57333,7 @@ func tcl_thread_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // This procedure runs in the thread to finalize a virtual machine. func do_finalize(tls *libc.TLS, p uintptr) { /* test4.c:517:13: */ if (*Thread)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -55866,8 +57350,8 @@ func tcl_thread_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55875,7 +57359,7 @@ func tcl_thread_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55897,8 +57381,8 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var j int32 var temp uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25467 /* " ID1 ID2" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26243 /* " ID1 ID2" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55906,7 +57390,7 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55915,7 +57399,7 @@ func tcl_thread_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset[j].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(j)*1680)) @@ -55938,8 +57422,8 @@ func tcl_thread_db_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var zBuf [100]int8 at bp+64, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55947,7 +57431,7 @@ func tcl_thread_db_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55965,8 +57449,8 @@ func tcl_thread_db_put(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25476 /* " ID DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26252 /* " ID DB" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -55974,7 +57458,7 @@ func tcl_thread_db_put(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -55995,8 +57479,8 @@ func tcl_thread_stmt_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in // var zBuf [100]int8 at bp+64, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_thread_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -56004,7 +57488,7 @@ func tcl_thread_stmt_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } test_thread_wait(tls, (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) @@ -56031,21 +57515,21 @@ var aCmd4 = [15]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25483 /* "thread_create" */, FxProc: 0}, - {FzName: ts + 25497 /* "thread_wait" */, FxProc: 0}, - {FzName: ts + 25509 /* "thread_halt" */, FxProc: 0}, - {FzName: ts + 25521 /* "thread_argc" */, FxProc: 0}, - {FzName: ts + 25533 /* "thread_argv" */, FxProc: 0}, - {FzName: ts + 25545 /* "thread_colname" */, FxProc: 0}, - {FzName: ts + 25560 /* "thread_result" */, FxProc: 0}, - {FzName: ts + 25574 /* "thread_error" */, FxProc: 0}, - {FzName: ts + 25587 /* "thread_compile" */, FxProc: 0}, - {FzName: ts + 25602 /* "thread_step" */, FxProc: 0}, - {FzName: ts + 25614 /* "thread_finalize" */, FxProc: 0}, - {FzName: ts + 25630 /* "thread_swap" */, FxProc: 0}, - {FzName: ts + 25642 /* "thread_db_get" */, FxProc: 0}, - {FzName: ts + 25656 /* "thread_db_put" */, FxProc: 0}, - {FzName: ts + 25670 /* "thread_stmt_get" */, FxProc: 0}, + {FzName: ts + 26259 /* "thread_create" */, FxProc: 0}, + {FzName: ts + 26273 /* "thread_wait" */, FxProc: 0}, + {FzName: ts + 26285 /* "thread_halt" */, FxProc: 0}, + {FzName: ts + 26297 /* "thread_argc" */, FxProc: 0}, + {FzName: ts + 26309 /* "thread_argv" */, FxProc: 0}, + {FzName: ts + 26321 /* "thread_colname" */, FxProc: 0}, + {FzName: ts + 26336 /* "thread_result" */, FxProc: 0}, + {FzName: ts + 26350 /* "thread_error" */, FxProc: 0}, + {FzName: ts + 26363 /* "thread_compile" */, FxProc: 0}, + {FzName: ts + 26378 /* "thread_step" */, FxProc: 0}, + {FzName: ts + 26390 /* "thread_finalize" */, FxProc: 0}, + {FzName: ts + 26406 /* "thread_swap" */, FxProc: 0}, + {FzName: ts + 26418 /* "thread_db_get" */, FxProc: 0}, + {FzName: ts + 26432 /* "thread_db_put" */, FxProc: 0}, + {FzName: ts + 26446 /* "thread_stmt_get" */, FxProc: 0}, } /* test4.c:700:5 */ // end block for C++ @@ -56132,8 +57616,8 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var val Mem at bp+40, 56 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+25686 /* " ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+26462 /* " ..." */, 0)) return TCL_ERROR } @@ -56145,7 +57629,7 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc } (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fflags = (u16((MEM_Str | MEM_Term) | MEM_Static)) - (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fz = ts + 25713 /* "hello world" */ + (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fz = ts + 26489 /* "hello world" */ (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fenc = u8(SQLITE_UTF8) for i = 0; i < *(*int32)(unsafe.Pointer(bp + 32 /* repeat_count */)); i++ { @@ -56162,10 +57646,10 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 defer tls.Free(104) *(*[5]EncName)(unsafe.Pointer(bp + 24 /* encnames */)) = [5]EncName{ - {FzName: ts + 25725 /* "UTF8" */, Fenc: u8(SQLITE_UTF8)}, - {FzName: ts + 25730 /* "UTF16LE" */, Fenc: u8(SQLITE_UTF16LE)}, - {FzName: ts + 25738 /* "UTF16BE" */, Fenc: u8(SQLITE_UTF16BE)}, - {FzName: ts + 25746 /* "UTF16" */, Fenc: u8(SQLITE_UTF16)}, + {FzName: ts + 26501 /* "UTF8" */, Fenc: u8(SQLITE_UTF8)}, + {FzName: ts + 26506 /* "UTF16LE" */, Fenc: u8(SQLITE_UTF16LE)}, + {FzName: ts + 26514 /* "UTF16BE" */, Fenc: u8(SQLITE_UTF16BE)}, + {FzName: ts + 26522 /* "UTF16" */, Fenc: u8(SQLITE_UTF16)}, {}, } var pEnc uintptr @@ -56176,7 +57660,7 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 } } if !(int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25752 /* "No such encoding..." */, z, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26528 /* "No such encoding..." */, z, 0)) } if int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) == SQLITE_UTF16 { return u8(SQLITE_UTF16LE) @@ -56205,9 +57689,9 @@ func test_translate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var xDel uintptr = uintptr(0) if (objc != 4) && (objc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), - ts+25771 /* " <..." */, 0)) + ts+26547 /* " <..." */, 0)) return TCL_ERROR } if objc == 5 { @@ -56276,10 +57760,10 @@ var aCmd5 = [4]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25806 /* "binarize" */, FxProc: 0}, - {FzName: ts + 25815 /* "test_value_overh..." */, FxProc: 0}, - {FzName: ts + 25835 /* "test_translate" */, FxProc: 0}, - {FzName: ts + 25850 /* "translate_selfte..." */, FxProc: 0}, + {FzName: ts + 26582 /* "binarize" */, FxProc: 0}, + {FzName: ts + 26591 /* "test_value_overh..." */, FxProc: 0}, + {FzName: ts + 26611 /* "test_translate" */, FxProc: 0}, + {FzName: ts + 26626 /* "translate_selfte..." */, FxProc: 0}, } /* test5.c:209:5 */ // end block for C++ @@ -56533,7 +58017,7 @@ func writeListAppend(tls *libc.TLS, pFile uintptr, iOffset sqlite3_int64, zBuf u pNew = crash_malloc(tls, (int32(uint64(unsafe.Sizeof(WriteBuffer{})) + uint64(nBuf)))) if pNew == uintptr(0) { - libc.Xfprintf(tls, libc.Xstderr, ts+25869 /* "out of memory in..." */, 0) + libc.Xfprintf(tls, libc.Xstderr, ts+26645 /* "out of memory in..." */, 0) } libc.Xmemset(tls, pNew, 0, (uint64(unsafe.Sizeof(WriteBuffer{})) + uint64(nBuf))) (*WriteBuffer)(unsafe.Pointer(pNew)).FiOffset = iOffset @@ -56851,19 +58335,19 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, defer tls.Free(316) *(*[14]DeviceFlag)(unsafe.Pointer(bp + 88 /* aFlag */)) = [14]DeviceFlag{ - {FzName: ts + 25907 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, - {FzName: ts + 25914 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, - {FzName: ts + 25924 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, - {FzName: ts + 25933 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, - {FzName: ts + 25942 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, - {FzName: ts + 25951 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, - {FzName: ts + 25960 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, - {FzName: ts + 25970 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, - {FzName: ts + 25980 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, - {FzName: ts + 25990 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, - {FzName: ts + 26001 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, - {FzName: ts + 26013 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, - {FzName: ts + 26033 /* "batch-atomic" */, FiValue: SQLITE_IOCAP_BATCH_ATOMIC}, + {FzName: ts + 26683 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, + {FzName: ts + 26690 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, + {FzName: ts + 26700 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, + {FzName: ts + 26709 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, + {FzName: ts + 26718 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, + {FzName: ts + 26727 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, + {FzName: ts + 26736 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, + {FzName: ts + 26746 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, + {FzName: ts + 26756 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, + {FzName: ts + 26766 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, + {FzName: ts + 26777 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, + {FzName: ts + 26789 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, + {FzName: ts + 26809 /* "batch-atomic" */, FiValue: SQLITE_IOCAP_BATCH_ATOMIC}, {}, } var i int32 @@ -56877,15 +58361,15 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, var zOpt uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+64 /* &nOpt */) - if (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26046 /* "-sectorsize" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) && - (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26058 /* "-characteristics" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) { + if (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26822 /* "-sectorsize" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) && + (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26834 /* "-characteristics" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+26075 /* "Bad option: \"" */, zOpt, - ts+26089 /* "\" - must be \"-ch..." */, 0)) + libc.VaList(bp, ts+26851 /* "Bad option: \"" */, zOpt, + ts+26865 /* "\" - must be \"-ch..." */, 0)) return TCL_ERROR } if i == (objc - 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26137 /* "Option requires ..." */, zOpt, ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26913 /* "Option requires ..." */, zOpt, ts+12415 /* "\"" */, 0)) return TCL_ERROR } @@ -56912,7 +58396,7 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, tcl.XTcl_UtfToLower(tls, tcl.XTcl_GetString(tls, pFlag)) rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, pFlag, bp+88 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+26168 /* "no such flag" */, 0, bp+312 /* &iChoice */) + interp, pFlag, bp+88 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+26944 /* "no such flag" */, 0, bp+312 /* &iChoice */) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pFlag if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -56972,7 +58456,7 @@ func crashEnableCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 *(*int32)(unsafe.Pointer(bp + 4 /* isDefault */)) = 0 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26181 /* "ENABLE ?DEFAULT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26957 /* "ENABLE ?DEFAULT?" */) return TCL_ERROR } @@ -57003,7 +58487,7 @@ func crashEnableCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var crashVfs = sqlite3_vfs{ FiVersion: 2, // pNext - FzName: ts + 26198, /* "crash" */ // pAppData + FzName: ts + 26974, /* "crash" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -57054,7 +58538,7 @@ func crashParamsObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc i if !(objc < 3) { goto __1 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26204 /* "?OPTIONS? DELAY ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26980 /* "?OPTIONS? DELAY ..." */) goto error __1: ; @@ -57063,7 +58547,7 @@ __1: if !(uint64(*(*int32)(unsafe.Pointer(bp + 32 /* nCrashFile */))) >= uint64(unsafe.Sizeof([500]int8{}))) { goto __2 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26230 /* "Filename is too ..." */, zCrashFile, ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27006 /* "Filename is too ..." */, zCrashFile, ts+12415 /* "\"" */, 0)) goto error __2: ; @@ -57126,7 +58610,7 @@ func writeCrashObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc in *(*int32)(unsafe.Pointer(bp /* nWrite */)) = 0 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26254 /* "NWRITE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27030 /* "NWRITE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nWrite */) != 0 { @@ -57157,14 +58641,14 @@ func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj var zParent uintptr = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26261 /* "?-default? PAREN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27037 /* "?-default? PAREN..." */) return TCL_ERROR } zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) if objc == 3 { - if libc.Xstrcmp(tls, zParent, ts+26283 /* "-default" */) != 0 { + if libc.Xstrcmp(tls, zParent, ts+27059 /* "-default" */) != 0 { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+11533 /* "bad option \"" */, zParent, ts+26292 /* "\": must be -defa..." */, 0)) + libc.VaList(bp, ts+12321 /* "bad option \"" */, zParent, ts+27068 /* "\": must be -defa..." */, 0)) return TCL_ERROR } zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) @@ -57174,7 +58658,7 @@ func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj zParent = uintptr(0) } if jt_register(tls, zParent, (libc.Bool32(objc == 3))) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26312 /* "Error in jt_regi..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+27088 /* "Error in jt_regi..." */, 0)) return TCL_ERROR } @@ -57195,28 +58679,28 @@ func jtUnregisterObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc // This procedure registers the TCL procedures defined in this file. func Sqlitetest6_Init(tls *libc.TLS, interp uintptr) int32 { /* test6.c:1093:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+26333 /* "sqlite3_crash_en..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27109 /* "sqlite3_crash_en..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashEnableCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26354 /* "sqlite3_crashpar..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27130 /* "sqlite3_crashpar..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashParamsObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26374 /* "sqlite3_crash_no..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27150 /* "sqlite3_crash_no..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashNowCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26392 /* "sqlite3_simulate..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27168 /* "sqlite3_simulate..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{devSymObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26416 /* "sqlite3_crash_on..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27192 /* "sqlite3_crash_on..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{writeCrashObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26439 /* "unregister_devsi..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27215 /* "unregister_devsi..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{dsUnregisterObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26457 /* "register_jt_vfs" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27233 /* "register_jt_vfs" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{jtObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26473 /* "unregister_jt_vf..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27249 /* "unregister_jt_vf..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{jtUnregisterObjCmd})), uintptr(0), uintptr(0)) return TCL_OK @@ -57301,7 +58785,7 @@ func parse_client_id(tls *libc.TLS, interp uintptr, zArg uintptr) int32 { /* tes defer tls.Free(16) if (((zArg == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zArg))) == 0)) || (int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0)) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls)))) + uintptr(int32(uint8(*(*int8)(unsafe.Pointer(zArg)))))*2))) & int32(_ISupper)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25245 /* "thread ID must b..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26021 /* "thread ID must b..." */, 0)) return -1 } return (int32(*(*int8)(unsafe.Pointer(zArg))) - 'A') @@ -57321,8 +58805,8 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25284 /* " ID FILENAME" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26060 /* " ID FILENAME" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57330,7 +58814,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if threadset1[i].Fbusy != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25297 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+25305 /* " is already runn..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26073 /* "thread " */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+26081 /* " is already runn..." */, 0)) return TCL_ERROR } threadset1[i].Fbusy = 1 @@ -57342,7 +58826,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 f func(*libc.TLS, uintptr) uintptr }{client_main})), (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+25325 /* "failed to create..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+26101 /* "failed to create..." */, 0)) sqlite3.Xsqlite3_free(tls, threadset1[i].FzFilename) threadset1[i].Fbusy = 0 return TCL_ERROR @@ -57372,8 +58856,8 @@ func tcl_client_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57381,7 +58865,7 @@ func tcl_client_wait(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57412,8 +58896,8 @@ func tcl_client_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } if (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*8))))) == '*') && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + 1*8)) + 1))) == 0) { @@ -57428,7 +58912,7 @@ func tcl_client_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } stop_thread(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57463,8 +58947,8 @@ func tcl_client_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [100]int8 at bp+72, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57472,7 +58956,7 @@ func tcl_client_argc(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57493,8 +58977,8 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57502,7 +58986,7 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &n */) != 0 { @@ -57510,7 +58994,7 @@ func tcl_client_argv(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset1[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688 + 80 /* &.argv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*8)), 0)) @@ -57529,8 +59013,8 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var n int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25372 /* " ID N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26148 /* " ID N" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57538,7 +59022,7 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &n */) != 0 { @@ -57546,7 +59030,7 @@ func tcl_client_colname(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) if (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 80 /* n */)) >= threadset1[i].Fargc) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25378 /* "column number ou..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26154 /* "column number ou..." */, 0)) return TCL_ERROR } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688 + 880 /* &.colv */) + uintptr(*(*int32)(unsafe.Pointer(bp + 80 /* n */)))*8)), 0)) @@ -57565,8 +59049,8 @@ func tcl_client_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var zName uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57574,7 +59058,7 @@ func tcl_client_result(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57594,8 +59078,8 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25353 /* " ID" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26129 /* " ID" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57603,7 +59087,7 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57614,7 +59098,7 @@ func tcl_client_error(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // This procedure runs in the thread to compile an SQL statement. func do_compile1(tls *libc.TLS, p uintptr) { /* test7.c:466:13: */ if (*Thread1)(unsafe.Pointer(p)).Fdb == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25405 /* "no database is o..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26181 /* "no database is o..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57634,8 +59118,8 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var i int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25425 /* " ID SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26201 /* " ID SQL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57643,7 +59127,7 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57658,7 +59142,7 @@ func tcl_client_compile(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int func do_step1(tls *libc.TLS, p uintptr) { /* test7.c:513:13: */ var i int32 if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57683,8 +59167,8 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57692,7 +59176,7 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57704,7 +59188,7 @@ func tcl_client_step(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // This procedure runs in the thread to finalize a virtual machine. func do_finalize1(tls *libc.TLS, p uintptr) { /* test7.c:564:13: */ if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57721,8 +59205,8 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57730,7 +59214,7 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57744,7 +59228,7 @@ func tcl_client_finalize(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in // This procedure runs in the thread to reset a virtual machine. func do_reset(tls *libc.TLS, p uintptr) { /* test7.c:608:13: */ if (*Thread1)(unsafe.Pointer(p)).FpStmt == uintptr(0) { - (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+25433 /* "no virtual machi..." */) + (*Thread1)(unsafe.Pointer(p)).FzErr = libc.AssignPtrUintptr(p+64 /* &.zStaticErr */, ts+26209 /* "no virtual machi..." */) (*Thread1)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return } @@ -57761,8 +59245,8 @@ func tcl_client_reset(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var i int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25462 /* " IDL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26238 /* " IDL" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57770,7 +59254,7 @@ func tcl_client_reset(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57792,8 +59276,8 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var j int32 var temp uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25467 /* " ID1 ID2" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26243 /* " ID1 ID2" */, 0)) return TCL_ERROR } i = parse_client_id(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -57801,7 +59285,7 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[i].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) @@ -57810,7 +59294,7 @@ func tcl_client_swap(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } if !(threadset1[j].Fbusy != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+25357 /* "no such thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+26133 /* "no such thread" */, 0)) return TCL_ERROR } client_wait(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(j)*1688)) @@ -57837,19 +59321,19 @@ var aCmd6 = [13]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 26491 /* "client_create" */, FxProc: 0}, - {FzName: ts + 26505 /* "client_wait" */, FxProc: 0}, - {FzName: ts + 26517 /* "client_halt" */, FxProc: 0}, - {FzName: ts + 26529 /* "client_argc" */, FxProc: 0}, - {FzName: ts + 26541 /* "client_argv" */, FxProc: 0}, - {FzName: ts + 26553 /* "client_colname" */, FxProc: 0}, - {FzName: ts + 26568 /* "client_result" */, FxProc: 0}, - {FzName: ts + 26582 /* "client_error" */, FxProc: 0}, - {FzName: ts + 26595 /* "client_compile" */, FxProc: 0}, - {FzName: ts + 26610 /* "client_step" */, FxProc: 0}, - {FzName: ts + 26622 /* "client_reset" */, FxProc: 0}, - {FzName: ts + 26635 /* "client_finalize" */, FxProc: 0}, - {FzName: ts + 26651 /* "client_swap" */, FxProc: 0}, + {FzName: ts + 27267 /* "client_create" */, FxProc: 0}, + {FzName: ts + 27281 /* "client_wait" */, FxProc: 0}, + {FzName: ts + 27293 /* "client_halt" */, FxProc: 0}, + {FzName: ts + 27305 /* "client_argc" */, FxProc: 0}, + {FzName: ts + 27317 /* "client_argv" */, FxProc: 0}, + {FzName: ts + 27329 /* "client_colname" */, FxProc: 0}, + {FzName: ts + 27344 /* "client_result" */, FxProc: 0}, + {FzName: ts + 27358 /* "client_error" */, FxProc: 0}, + {FzName: ts + 27371 /* "client_compile" */, FxProc: 0}, + {FzName: ts + 27386 /* "client_step" */, FxProc: 0}, + {FzName: ts + 27398 /* "client_reset" */, FxProc: 0}, + {FzName: ts + 27411 /* "client_finalize" */, FxProc: 0}, + {FzName: ts + 27427 /* "client_swap" */, FxProc: 0}, } /* test7.c:694:5 */ // end block for C++ @@ -57973,10 +59457,10 @@ func simulateVtabError(tls *libc.TLS, p uintptr, zMethod uintptr) int32 { /* tes // var zVarname [128]int8 at bp+24, 128 *(*int8)(unsafe.Pointer(bp + 24 /* &zVarname[0] */ + 127)) = int8(0) - sqlite3.Xsqlite3_snprintf(tls, 127, bp+24 /* &zVarname[0] */, ts+26663 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) + sqlite3.Xsqlite3_snprintf(tls, 127, bp+24 /* &zVarname[0] */, ts+27439 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) zErr = tcl.XTcl_GetVar2(tls, (*echo_vtab)(unsafe.Pointer(p)).Finterp, bp+24 /* &zVarname[0] */, uintptr(0), TCL_GLOBAL_ONLY) if zErr != 0 { - (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26687 /* "echo-vtab-error:..." */, libc.VaList(bp+16, zErr)) + (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27463 /* "echo-vtab-error:..." */, libc.VaList(bp+16, zErr)) } return (libc.Bool32(zErr != uintptr(0))) } @@ -58060,7 +59544,7 @@ func getColumnNames(tls *libc.TLS, db uintptr, zTab uintptr, paCol uintptr, pnCo // Prepare the statement "SELECT * FROM ". The column names // of the result set of the compiled SELECT will be the same as // the column names of table . - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26707 /* "SELECT * FROM %Q" */, libc.VaList(bp, zTab)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27483 /* "SELECT * FROM %Q" */, libc.VaList(bp, zTab)) if !(!(zSql != 0)) { goto __1 } @@ -58177,7 +59661,7 @@ __1: ; // Compile an sqlite pragma to loop through all indices on table zTab - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26724 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTab)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27500 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTab)) if !(!(zSql != 0)) { goto __2 } @@ -58202,7 +59686,7 @@ __3: goto __3 __5: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26746 /* "PRAGMA index_inf..." */, libc.VaList(bp+8, zIdx)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27522 /* "PRAGMA index_inf..." */, libc.VaList(bp+8, zIdx)) if !(!(zSql != 0)) { goto __6 } @@ -58264,7 +59748,7 @@ __12: // the string element zArg to that list in interpreter interp. func appendToEchoModule(tls *libc.TLS, interp uintptr, zArg uintptr) { /* test8.c:313:13: */ var flags int32 = ((TCL_APPEND_VALUE | TCL_LIST_ELEMENT) | TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+26768 /* "echo_module" */, uintptr(0), func() uintptr { + tcl.XTcl_SetVar2(tls, interp, ts+27544 /* "echo_module" */, uintptr(0), func() uintptr { if zArg != 0 { return zArg } @@ -58296,7 +59780,7 @@ func echoDeclareVtab(tls *libc.TLS, pVtab uintptr, db uintptr) int32 { /* test8. if (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0 { *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) = uintptr(0) rc = sqlite3.Xsqlite3_prepare(tls, db, - ts+26780, /* "SELECT sql FROM ..." */ + ts+27556, /* "SELECT sql FROM ..." */ -1, bp /* &pStmt */, uintptr(0)) if rc == SQLITE_OK { sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 1, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName, -1, uintptr(0)) @@ -58377,7 +59861,7 @@ func echoConstructor(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) dequoteString(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) if ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0) && (int32(*(*int8)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))) == '*') { - var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+26844 /* "%s%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) + var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27620 /* "%s%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) sqlite3.Xsqlite3_free(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = z (*echo_vtab)(unsafe.Pointer(pVtab)).FisPattern = 1 @@ -58413,7 +59897,7 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt defer tls.Free(24) var rc int32 = SQLITE_OK - appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+26849 /* "xCreate" */) + appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27625 /* "xCreate" */) rc = echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr) // If there were two arguments passed to the module at the SQL level @@ -58429,7 +59913,7 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt var zSql uintptr var pVtab uintptr = *(*uintptr)(unsafe.Pointer(ppVtab)) (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 4*8)))) - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26857 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+8, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27633 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+8, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { @@ -58451,13 +59935,13 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt // Echo virtual table module xConnect method. func echoConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* test8.c:513:12: */ - appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+26881 /* "xConnect" */) + appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27657 /* "xConnect" */) return echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr) } // Echo virtual table module xDisconnect method. func echoDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:527:12: */ - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26890 /* "xDisconnect" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27666 /* "xDisconnect" */) return echoDestructor(tls, pVtab) } @@ -58468,12 +59952,12 @@ func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:535:12: */ var rc int32 = SQLITE_OK var p uintptr = pVtab - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26902 /* "xDestroy" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27678 /* "xDestroy" */) // Drop the "log" table, if one exists (see echoCreate() for details) if (p != 0) && ((*echo_vtab)(unsafe.Pointer(p)).FzLogName != 0) { var zSql uintptr - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26911 /* "DROP TABLE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzLogName)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27687 /* "DROP TABLE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzLogName)) rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) } @@ -58487,7 +59971,7 @@ func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:535:12: */ // Echo virtual table module xOpen method. func echoOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* test8.c:557:12: */ var pCur uintptr - if simulateVtabError(tls, pVTab, ts+26925 /* "xOpen" */) != 0 { + if simulateVtabError(tls, pVTab, ts+27701 /* "xOpen" */) != 0 { return SQLITE_ERROR } pCur = sqlite3.Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(echo_cursor{}))) @@ -58527,7 +60011,7 @@ func echoNext(tls *libc.TLS, cur uintptr) int32 { /* test8.c:591:12: */ var rc int32 = SQLITE_OK var pCur uintptr = cur - if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+26931 /* "xNext" */) != 0 { + if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27707 /* "xNext" */) != 0 { return SQLITE_ERROR } @@ -58549,7 +60033,7 @@ func echoColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* tes var iCol int32 = (i + 1) var pStmt uintptr = (*echo_cursor)(unsafe.Pointer(cur)).FpStmt - if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+26937 /* "xColumn" */) != 0 { + if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27713 /* "xColumn" */) != 0 { return SQLITE_ERROR } @@ -58599,14 +60083,14 @@ func echoFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr var pVtab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab var db uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Fdb - if simulateVtabError(tls, pVtab, ts+26945 /* "xFilter" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27721 /* "xFilter" */) != 0 { return SQLITE_ERROR } // Check that idxNum matches idxStr // Log arguments to the ::echo_module Tcl variable - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26945 /* "xFilter" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27721 /* "xFilter" */) appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, idxStr) for i = 0; i < argc; i++ { appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) @@ -58656,7 +60140,7 @@ func string_concat(tls *libc.TLS, pzStr uintptr, zAppend uintptr, doFree int32, } else { if zIn != 0 { var zTemp uintptr = zIn - zIn = sqlite3.Xsqlite3_mprintf(tls, ts+26844 /* "%s%s" */, libc.VaList(bp, zIn, zAppend)) + zIn = sqlite3.Xsqlite3_mprintf(tls, ts+27620 /* "%s%s" */, libc.VaList(bp, zIn, zAppend)) sqlite3.Xsqlite3_free(tls, zTemp) } else { zIn = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zAppend)) @@ -58685,7 +60169,7 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* var zRet uintptr = uintptr(0) if sqlite3.Xsqlite3_libversion_number(tls) < 3010000 { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26953 /* ", *" */, 0) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27729 /* ", *" */, 0) } else { var i int32 for i = 0; i < (*echo_vtab)(unsafe.Pointer(pTab)).FnCol; i++ { @@ -58695,9 +60179,9 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* } return i }()))) != 0 { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26957 /* "%z, %s" */, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*8)))) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27733 /* "%z, %s" */, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*8)))) } else { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26964 /* "%z, NULL" */, libc.VaList(bp+16, zRet)) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27740 /* "%z, NULL" */, libc.VaList(bp+16, zRet)) } if !(zRet != 0) { break @@ -58747,11 +60231,11 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test var useCost int32 = 0 var cost float64 = float64(0) var isIgnoreUsable int32 = 0 - if tcl.XTcl_GetVar2(tls, interp, ts+26973 /* "echo_module_igno..." */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { + if tcl.XTcl_GetVar2(tls, interp, ts+27749 /* "echo_module_igno..." */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { isIgnoreUsable = 1 } - if simulateVtabError(tls, pVtab, ts+26999 /* "xBestIndex" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27775 /* "xBestIndex" */) != 0 { return SQLITE_ERROR } @@ -58759,11 +60243,11 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test // variable nRow. The 'estimated-cost' of the scan will be the number of // rows in the table for a linear scan, or the log (base 2) of the // number of rows if the proposed scan uses an index. - if tcl.XTcl_GetVar2(tls, interp, ts+27010 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { - cost = libc.Xatof(tls, tcl.XTcl_GetVar2(tls, interp, ts+27010 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY)) + if tcl.XTcl_GetVar2(tls, interp, ts+27786 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { + cost = libc.Xatof(tls, tcl.XTcl_GetVar2(tls, interp, ts+27786 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY)) useCost = 1 } else { - *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27027 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27803 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) != 0) { return SQLITE_NOMEM } @@ -58784,7 +60268,7 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if !(zCol != 0) { return SQLITE_NOMEM } - *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27051 /* "SELECT rowid%z F..." */, libc.VaList(bp+8, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27827 /* "SELECT rowid%z F..." */, libc.VaList(bp+8, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) != 0) { return SQLITE_NOMEM } @@ -58807,29 +60291,29 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if iCol >= 0 { zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*8)) } else { - zNewCol = ts + 27074 /* "rowid" */ + zNewCol = ts + 27850 /* "rowid" */ } var zOp uintptr = uintptr(0) useIdx = 1 switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) { case SQLITE_INDEX_CONSTRAINT_EQ: - zOp = ts + 27080 /* "=" */ + zOp = ts + 27856 /* "=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LT: - zOp = ts + 27082 /* "<" */ + zOp = ts + 27858 /* "<" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GT: - zOp = ts + 27084 /* ">" */ + zOp = ts + 27860 /* ">" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LE: - zOp = ts + 27086 /* "<=" */ + zOp = ts + 27862 /* "<=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GE: - zOp = ts + 27089 /* ">=" */ + zOp = ts + 27865 /* ">=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_MATCH: @@ -58839,15 +60323,15 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test // of code requires the first letter of this operator to be // in upper-case to trigger the special MATCH handling (i.e. // wrapping the bound parameter with literal '%'s). - zOp = ts + 27092 /* "LIKE" */ + zOp = ts + 27868 /* "LIKE" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LIKE: - zOp = ts + 27097 /* "like" */ + zOp = ts + 27873 /* "like" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GLOB: - zOp = ts + 27102 /* "glob" */ + zOp = ts + 27878 /* "glob" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_REGEXP: @@ -58856,10 +60340,10 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test } if zOp != 0 { if int32(*(*int8)(unsafe.Pointer(zOp))) == 'L' { - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27107, /* " %s %s LIKE (SEL..." */ + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27883, /* " %s %s LIKE (SEL..." */ libc.VaList(bp+24, zSep, zNewCol)) } else { - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27142 /* " %s %s %s ?" */, libc.VaList(bp+40, zSep, zNewCol, zOp)) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27918 /* " %s %s %s ?" */, libc.VaList(bp+40, zSep, zNewCol, zOp)) } string_concat(tls, bp+88 /* &zQuery */, zNew, 1, bp+96 /* &rc */) zSep = ts + 8865 /* "AND" */ @@ -58878,20 +60362,20 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if iCol >= 0 { zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*8)) } else { - zNewCol = ts + 27074 /* "rowid" */ + zNewCol = ts + 27850 /* "rowid" */ } var zDir uintptr if (*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).Fdesc != 0 { - zDir = ts + 27154 /* "DESC" */ + zDir = ts + 27930 /* "DESC" */ } else { - zDir = ts + 27159 /* "ASC" */ + zDir = ts + 27935 /* "ASC" */ } - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27163 /* " ORDER BY %s %s" */, libc.VaList(bp+64, zNewCol, zDir)) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27939 /* " ORDER BY %s %s" */, libc.VaList(bp+64, zNewCol, zDir)) string_concat(tls, bp+88 /* &zQuery */, zNew, 1, bp+96 /* &rc */) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1 } - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26999 /* "xBestIndex" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27775 /* "xBestIndex" */) appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */))) @@ -58945,14 +60429,14 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid // Ticket #3083 - make sure we always start a transaction prior to // making any changes to a virtual table - if simulateVtabError(tls, pVtab, ts+27179 /* "xUpdate" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27955 /* "xUpdate" */) != 0 { return SQLITE_ERROR } // If apData[0] is an integer and nData>1 then do an UPDATE if (nData > 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { - var zSep uintptr = ts + 27187 /* " SET" */ - *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27192 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + var zSep uintptr = ts + 27963 /* " SET" */ + *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27968 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) != 0) { *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM } @@ -58961,7 +60445,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid bindArgZero = 1 if bindArgOne != 0 { - string_concat(tls, bp+96 /* &z */, ts+27202 /* " SET rowid=?1 " */, 0, bp+104 /* &rc */) + string_concat(tls, bp+96 /* &z */, ts+27978 /* " SET rowid=?1 " */, 0, bp+104 /* &rc */) zSep = ts + 4619 /* "," */ } for i = 2; i < nData; i++ { @@ -58969,12 +60453,12 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid continue } string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, - ts+27217 /* "%s %Q=?%d" */, libc.VaList(bp+8, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*8)), i)), 1, bp+104 /* &rc */) + ts+27993 /* "%s %Q=?%d" */, libc.VaList(bp+8, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*8)), i)), 1, bp+104 /* &rc */) zSep = ts + 4619 /* "," */ } - string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+27227 /* " WHERE rowid=?%d" */, libc.VaList(bp+32, nData)), 1, bp+104 /* &rc */) + string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+28003 /* " WHERE rowid=?%d" */, libc.VaList(bp+32, nData)), 1, bp+104 /* &rc */) } else if (nData == 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { - *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27244 /* "DELETE FROM %Q W..." */, libc.VaList(bp+40, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+28020 /* "DELETE FROM %Q W..." */, libc.VaList(bp+40, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) != 0) { *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM } @@ -58984,26 +60468,26 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27276 /* "INSERT INTO %Q (" */, libc.VaList(bp+48, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+28052 /* "INSERT INTO %Q (" */, libc.VaList(bp+48, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) != 0) { *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM } if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData + 1*8))) == SQLITE_INTEGER { bindArgOne = 1 *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) = sqlite3.Xsqlite3_mprintf(tls, ts+3266 /* "?" */, 0) - string_concat(tls, bp+112 /* &zInsert */, ts+27074 /* "rowid" */, 0, bp+104 /* &rc */) + string_concat(tls, bp+112 /* &zInsert */, ts+27850 /* "rowid" */, 0, bp+104 /* &rc */) } for ii = 2; ii < nData; ii++ { string_concat(tls, bp+112, /* &zInsert */ - sqlite3.Xsqlite3_mprintf(tls, ts+27293 /* "%s%Q" */, libc.VaList(bp+56, func() uintptr { + sqlite3.Xsqlite3_mprintf(tls, ts+28069 /* "%s%Q" */, libc.VaList(bp+56, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) != 0 { return ts + 90 /* ", " */ } return ts + 489 /* "" */ }(), *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((ii-2))*8)))), 1, bp+104 /* &rc */) string_concat(tls, bp+120, /* &zValues */ - sqlite3.Xsqlite3_mprintf(tls, ts+27298 /* "%s?%d" */, libc.VaList(bp+72, func() uintptr { + sqlite3.Xsqlite3_mprintf(tls, ts+28074 /* "%s?%d" */, libc.VaList(bp+72, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) != 0 { return ts + 90 /* ", " */ } @@ -59012,7 +60496,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid } string_concat(tls, bp+96 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)), 1, bp+104 /* &rc */) - string_concat(tls, bp+96 /* &z */, ts+27304 /* ") VALUES(" */, 0, bp+104 /* &rc */) + string_concat(tls, bp+96 /* &z */, ts+28080 /* ") VALUES(" */, 0, bp+104 /* &rc */) string_concat(tls, bp+96 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)), 1, bp+104 /* &rc */) string_concat(tls, bp+96 /* &z */, ts+490 /* ")" */, 0, bp+104 /* &rc */) } else { @@ -59049,7 +60533,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid *(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_last_insert_rowid(tls, db) } if *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) != SQLITE_OK { - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26687 /* "echo-vtab-error:..." */, libc.VaList(bp+88, sqlite3.Xsqlite3_errmsg(tls, db))) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27463 /* "echo-vtab-error:..." */, libc.VaList(bp+88, sqlite3.Xsqlite3_errmsg(tls, db))) } return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) @@ -59064,7 +60548,7 @@ func echoTransactionCall(tls *libc.TLS, tab uintptr, zCall uintptr) int32 { /* t var z uintptr var pVtab uintptr = tab - z = sqlite3.Xsqlite3_mprintf(tls, ts+27314 /* "echo(%s)" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + z = sqlite3.Xsqlite3_mprintf(tls, ts+28090 /* "echo(%s)" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if z == uintptr(0) { return SQLITE_NOMEM } @@ -59083,17 +60567,17 @@ func echoBegin(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1112:12: */ // Ticket #3083 - do not start a transaction if we are already in // a transaction - if simulateVtabError(tls, pVtab, ts+27323 /* "xBegin" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28099 /* "xBegin" */) != 0 { return SQLITE_ERROR } - rc = echoTransactionCall(tls, tab, ts+27323 /* "xBegin" */) + rc = echoTransactionCall(tls, tab, ts+28099 /* "xBegin" */) if rc == SQLITE_OK { // Check if the $::echo_module_begin_fail variable is defined. If it is, // and it is set to the name of the real table underlying this virtual // echo module table, then cause this xSync operation to fail. - zVal = tcl.XTcl_GetVar2(tls, interp, ts+27330 /* "echo_module_begi..." */, uintptr(0), TCL_GLOBAL_ONLY) + zVal = tcl.XTcl_GetVar2(tls, interp, ts+28106 /* "echo_module_begi..." */, uintptr(0), TCL_GLOBAL_ONLY) if (zVal != 0) && (0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) { rc = SQLITE_ERROR } @@ -59113,17 +60597,17 @@ func echoSync(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1143:12: */ // Ticket #3083 - Only call xSync if we have previously started a // transaction - if simulateVtabError(tls, pVtab, ts+27353 /* "xSync" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28129 /* "xSync" */) != 0 { return SQLITE_ERROR } - rc = echoTransactionCall(tls, tab, ts+27353 /* "xSync" */) + rc = echoTransactionCall(tls, tab, ts+28129 /* "xSync" */) if rc == SQLITE_OK { // Check if the $::echo_module_sync_fail variable is defined. If it is, // and it is set to the name of the real table underlying this virtual // echo module table, then cause this xSync operation to fail. - zVal = tcl.XTcl_GetVar2(tls, interp, ts+27359 /* "echo_module_sync..." */, uintptr(0), TCL_GLOBAL_ONLY) + zVal = tcl.XTcl_GetVar2(tls, interp, ts+28135 /* "echo_module_sync..." */, uintptr(0), TCL_GLOBAL_ONLY) if (zVal != 0) && (0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) { rc = -1 } @@ -59138,12 +60622,12 @@ func echoCommit(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1171:12: */ // Ticket #3083 - Only call xCommit if we have previously started // a transaction - if simulateVtabError(tls, pVtab, ts+27381 /* "xCommit" */) != 0 { + if simulateVtabError(tls, pVtab, ts+28157 /* "xCommit" */) != 0 { return SQLITE_ERROR } sqlite3.Xsqlite3BeginBenignMalloc(tls) - rc = echoTransactionCall(tls, tab, ts+27381 /* "xCommit" */) + rc = echoTransactionCall(tls, tab, ts+28157 /* "xCommit" */) sqlite3.Xsqlite3EndBenignMalloc(tls) (*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0 return rc @@ -59156,7 +60640,7 @@ func echoRollback(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1189:12: */ // Ticket #3083 - Only call xRollback if we have previously started // a transaction - rc = echoTransactionCall(tls, tab, ts+27389 /* "xRollback" */) + rc = echoTransactionCall(tls, tab, ts+28165 /* "xRollback" */) (*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0 return rc } @@ -59174,7 +60658,7 @@ func overloadedGlobFunction(tls *libc.TLS, pContext uintptr, nArg int32, apArg u var i int32 var rc int32 tcl.XTcl_DStringInit(tls, bp /* &str */) - tcl.XTcl_DStringAppendElement(tls, bp /* &str */, ts+27399 /* "::echo_glob_over..." */) + tcl.XTcl_DStringAppendElement(tls, bp /* &str */, ts+28175 /* "::echo_glob_over..." */) for i = 0; i < nArg; i++ { tcl.XTcl_DStringAppendElement(tls, bp /* &str */, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + uintptr(i)*8)))) } @@ -59203,10 +60687,10 @@ func echoFindFunction(tls *libc.TLS, vtab uintptr, nArg int32, zFuncName uintptr var interp uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp // var info Tcl_CmdInfo at bp, 64 - if libc.Xstrcmp(tls, zFuncName, ts+27102 /* "glob" */) != 0 { + if libc.Xstrcmp(tls, zFuncName, ts+27878 /* "glob" */) != 0 { return 0 } - if tcl.XTcl_GetCommandInfo(tls, interp, ts+27399 /* "::echo_glob_over..." */, bp /* &info */) == 0 { + if tcl.XTcl_GetCommandInfo(tls, interp, ts+28175 /* "::echo_glob_over..." */, bp /* &info */) == 0 { return 0 } *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { @@ -59223,13 +60707,13 @@ func echoRename(tls *libc.TLS, vtab uintptr, zNewName uintptr) int32 { /* test8. var rc int32 = SQLITE_OK var p uintptr = vtab - if simulateVtabError(tls, p, ts+27420 /* "xRename" */) != 0 { + if simulateVtabError(tls, p, ts+28196 /* "xRename" */) != 0 { return SQLITE_ERROR } if (*echo_vtab)(unsafe.Pointer(p)).FisPattern != 0 { var nThis int32 = int32(libc.Xstrlen(tls, (*echo_vtab)(unsafe.Pointer(p)).FzThis)) - var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27428, /* "ALTER TABLE %s R..." */ + var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+28204, /* "ALTER TABLE %s R..." */ libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzTableName, zNewName, ((*echo_vtab)(unsafe.Pointer(p)).FzTableName+uintptr(nThis)))) rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) @@ -59306,7 +60790,7 @@ var echoModuleV2 = sqlite3_module{ func moduleDestroy(tls *libc.TLS, p uintptr) { /* test8.c:1355:13: */ var pMod uintptr = p - sqlite3.Xsqlite3_create_function(tls, (*EchoModule)(unsafe.Pointer(pMod)).Fdb, ts+27458, /* "function_that_do..." */ + sqlite3.Xsqlite3_create_function(tls, (*EchoModule)(unsafe.Pointer(pMod)).Fdb, ts+28234, /* "function_that_do..." */ SQLITE_ANY, 1, uintptr(0), uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, p) } @@ -59333,14 +60817,14 @@ func register_echo_module(tls *libc.TLS, clientData ClientData, interp uintptr, (*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp (*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp /* db */)) rc = sqlite3.Xsqlite3_create_module_v2(tls, - *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27496 /* "echo" */, uintptr(unsafe.Pointer(&echoModule)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) + *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28272 /* "echo" */, uintptr(unsafe.Pointer(&echoModule)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) // Virtual table module "echo_v2" if rc == SQLITE_OK { pMod = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(EchoModule{}))) (*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp (*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp /* db */)) - rc = sqlite3.Xsqlite3_create_module_v2(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27501, /* "echo_v2" */ + rc = sqlite3.Xsqlite3_create_module_v2(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28277, /* "echo_v2" */ uintptr(unsafe.Pointer(&echoModuleV2)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) } @@ -59359,7 +60843,7 @@ func declare_vtab(tls *libc.TLS, clientData ClientData, interp uintptr, objc int var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27509 /* "DB SQL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10524 /* "DB SQL" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -59392,8 +60876,8 @@ var aObjCmd2 = [2]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 27516 /* "register_echo_mo..." */, FxProc: 0}, - {FzName: ts + 27537 /* "sqlite3_declare_..." */, FxProc: 0}, + {FzName: ts + 28285 /* "register_echo_mo..." */, FxProc: 0}, + {FzName: ts + 28306 /* "sqlite3_declare_..." */, FxProc: 0}, } /* test8.c:1439:5 */ // end block for C++ @@ -59450,7 +60934,7 @@ func c_collation_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var db uintptr at bp+24, 8 var rc int32 - zErrFunction = ts + 27558 /* "N/A" */ + zErrFunction = ts + 28327 /* "N/A" */ if !(objc != 1) { goto __1 } @@ -59464,17 +60948,17 @@ __1: if !(rc != SQLITE_OK) { goto __2 } - zErrFunction = ts + 20989 /* "sqlite3_open" */ + zErrFunction = ts + 21765 /* "sqlite3_open" */ goto error_out __2: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+13094 /* "collate" */, 456, uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+13875 /* "collate" */, 456, uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { goto __3 } sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))) - zErrFunction = ts + 27562 /* "sqlite3_create_c..." */ + zErrFunction = ts + 28331 /* "sqlite3_create_c..." */ goto error_out __3: ; @@ -59484,7 +60968,7 @@ __3: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27587 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28356 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -59495,7 +60979,7 @@ func c_realloc_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var p uintptr var zErrFunction uintptr - zErrFunction = ts + 27558 /* "N/A" */ + zErrFunction = ts + 28327 /* "N/A" */ if !(objc != 1) { goto __1 @@ -59509,7 +60993,7 @@ __1: if !(!(p != 0)) { goto __2 } - zErrFunction = ts + 27612 /* "sqlite3_malloc" */ + zErrFunction = ts + 28381 /* "sqlite3_malloc" */ goto error_out __2: ; @@ -59520,7 +61004,7 @@ __2: if !(p != 0) { goto __3 } - zErrFunction = ts + 27627 /* "sqlite3_realloc" */ + zErrFunction = ts + 28396 /* "sqlite3_realloc" */ goto error_out __3: ; @@ -59529,7 +61013,7 @@ __3: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27587 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28356 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -59544,7 +61028,7 @@ func c_misuse_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc in // var pStmt uintptr at bp+32, 8 var rc int32 - zErrFunction = ts + 27558 /* "N/A" */ + zErrFunction = ts + 28327 /* "N/A" */ *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)) = uintptr(0) if !(objc != 1) { @@ -59561,7 +61045,7 @@ __1: if !(rc != SQLITE_OK) { goto __2 } - zErrFunction = ts + 20989 /* "sqlite3_open" */ + zErrFunction = ts + 21765 /* "sqlite3_open" */ goto error_out __2: ; @@ -59571,7 +61055,7 @@ __2: if !(rc != SQLITE_MISUSE) { goto __3 } - zErrFunction = ts + 20916 /* "sqlite3_errcode" */ + zErrFunction = ts + 21692 /* "sqlite3_errcode" */ goto error_out __3: ; @@ -59581,7 +61065,7 @@ __3: if !(rc != SQLITE_MISUSE) { goto __4 } - zErrFunction = ts + 21070 /* "sqlite3_prepare" */ + zErrFunction = ts + 21846 /* "sqlite3_prepare" */ goto error_out __4: ; @@ -59592,7 +61076,7 @@ __4: if !(rc != SQLITE_MISUSE) { goto __5 } - zErrFunction = ts + 21104 /* "sqlite3_prepare_..." */ + zErrFunction = ts + 21880 /* "sqlite3_prepare_..." */ goto error_out __5: ; @@ -59602,7 +61086,7 @@ __5: if !(rc != SQLITE_MISUSE) { goto __6 } - zErrFunction = ts + 21086 /* "sqlite3_prepare1..." */ + zErrFunction = ts + 21862 /* "sqlite3_prepare1..." */ goto error_out __6: ; @@ -59612,7 +61096,7 @@ __6: if !(rc != SQLITE_MISUSE) { goto __7 } - zErrFunction = ts + 21166 /* "sqlite3_prepare1..." */ + zErrFunction = ts + 21942 /* "sqlite3_prepare1..." */ goto error_out __7: ; @@ -59621,7 +61105,7 @@ __7: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27587 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28356 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -59644,9 +61128,9 @@ var aObjCmd3 = [3]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 27643 /* "c_misuse_test" */, FxProc: 0}, - {FzName: ts + 27657 /* "c_realloc_test" */, FxProc: 0}, - {FzName: ts + 27672 /* "c_collation_test" */, FxProc: 0}, + {FzName: ts + 28412 /* "c_misuse_test" */, FxProc: 0}, + {FzName: ts + 28426 /* "c_realloc_test" */, FxProc: 0}, + {FzName: ts + 28441 /* "c_collation_test" */, FxProc: 0}, } /* test9.c:193:5 */ // end block for C++ @@ -59687,7 +61171,7 @@ func resetAutoExtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc // This procedure registers the TCL procs defined in this file. func Sqlitetest_autoext_Init(tls *libc.TLS, interp uintptr) int32 { /* test_autoext.c:210:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+27689, /* "sqlite3_reset_au..." */ + tcl.XTcl_CreateObjCommand(tls, interp, ts+28458, /* "sqlite3_reset_au..." */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{resetAutoExtObjCmd})), uintptr(0), uintptr(0)) @@ -59699,10 +61183,10 @@ func backupTestCmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc in defer tls.Free(196) *(*[5]BackupSubCommand)(unsafe.Pointer(bp /* aSub */)) = [5]BackupSubCommand{ - {FzCmd: ts + 10120 /* "step" */, FnArg: 1, FzArg: ts + 27718 /* "npage" */}, - {FzCmd: ts + 27724 /* "finish" */, FeCmd: uint32(1) /* BACKUP_FINISH */, FzArg: ts + 489 /* "" */}, - {FzCmd: ts + 27731 /* "remaining" */, FeCmd: uint32(2) /* BACKUP_REMAINING */, FzArg: ts + 489 /* "" */}, - {FzCmd: ts + 27741 /* "pagecount" */, FeCmd: uint32(3) /* BACKUP_PAGECOUNT */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 10120 /* "step" */, FnArg: 1, FzArg: ts + 28487 /* "npage" */}, + {FzCmd: ts + 28493 /* "finish" */, FeCmd: uint32(1) /* BACKUP_FINISH */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 28500 /* "remaining" */, FeCmd: uint32(2) /* BACKUP_REMAINING */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 28510 /* "pagecount" */, FeCmd: uint32(3) /* BACKUP_PAGECOUNT */, FzArg: ts + 489 /* "" */}, {}, } @@ -59712,7 +61196,7 @@ func backupTestCmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc in var rc int32 rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aSub[0] */, int32(unsafe.Sizeof(BackupSubCommand{})), ts+11373 /* "option" */, 0, bp+120 /* &iCmd */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aSub[0] */, int32(unsafe.Sizeof(BackupSubCommand{})), ts+12161 /* "option" */, 0, bp+120 /* &iCmd */) if rc != TCL_OK { return rc } @@ -59794,7 +61278,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i if objc != 6 { tcl.XTcl_WrongNumArgs(tls, - interp, 1, objv, ts+27751 /* "CMDNAME DESTHAND..." */) + interp, 1, objv, ts+28520 /* "CMDNAME DESTHAND..." */) return TCL_ERROR } @@ -59806,7 +61290,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i pBackup = sqlite3.Xsqlite3_backup_init(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pDestDb */)), zDestName, *(*uintptr)(unsafe.Pointer(bp + 24 /* pSrcDb */)), zSrcName) if !(pBackup != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27797 /* "sqlite3_backup_i..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28566 /* "sqlite3_backup_i..." */, 0)) return TCL_ERROR } @@ -59818,7 +61302,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i } func Sqlitetestbackup_Init(tls *libc.TLS, interp uintptr) int32 { /* test_backup.c:154:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+27826 /* "sqlite3_backup" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+28595 /* "sqlite3_backup" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{backupTestInit})), uintptr(0), uintptr(0)) return TCL_OK @@ -59909,7 +61393,7 @@ func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt var rc int32 = SQLITE_OK if argc != 4 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -59927,7 +61411,7 @@ func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26881 /* "xConnect" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27657 /* "xConnect" */, -1)) rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, TCL_EVAL_GLOBAL) if rc != TCL_OK { @@ -60020,7 +61504,7 @@ func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26945 /* "xFilter" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27721 /* "xFilter" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewIntObj(tls, idxNum)) if idxStr != 0 { tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, idxStr, -1)) @@ -60077,11 +61561,11 @@ func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, rc = sqlite3.Xsqlite3_prepare_v2(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pStmt */), uintptr(0)) if rc != SQLITE_OK { var zErr uintptr = sqlite3.Xsqlite3_errmsg(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb) - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27867 /* "unexpected: %s" */, libc.VaList(bp+16, zErr)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28636 /* "unexpected: %s" */, libc.VaList(bp+16, zErr)) } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27867 /* "unexpected: %s" */, libc.VaList(bp+24, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28636 /* "unexpected: %s" */, libc.VaList(bp+24, zCmd)) } } } @@ -60123,7 +61607,7 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26999 /* "xBestIndex" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27775 /* "xBestIndex" */, -1)) pArg = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pArg)).FrefCount++ @@ -60136,54 +61620,54 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) { case SQLITE_INDEX_CONSTRAINT_EQ: - zOp = ts + 27882 /* "eq" */ + zOp = ts + 28651 /* "eq" */ break case SQLITE_INDEX_CONSTRAINT_GT: - zOp = ts + 27885 /* "gt" */ + zOp = ts + 28654 /* "gt" */ break case SQLITE_INDEX_CONSTRAINT_LE: - zOp = ts + 27888 /* "le" */ + zOp = ts + 28657 /* "le" */ break case SQLITE_INDEX_CONSTRAINT_LT: - zOp = ts + 27891 /* "lt" */ + zOp = ts + 28660 /* "lt" */ break case SQLITE_INDEX_CONSTRAINT_GE: - zOp = ts + 27894 /* "ge" */ + zOp = ts + 28663 /* "ge" */ break case SQLITE_INDEX_CONSTRAINT_MATCH: - zOp = ts + 27897 /* "match" */ + zOp = ts + 28666 /* "match" */ break case SQLITE_INDEX_CONSTRAINT_LIKE: - zOp = ts + 27097 /* "like" */ + zOp = ts + 27873 /* "like" */ break case SQLITE_INDEX_CONSTRAINT_GLOB: - zOp = ts + 27102 /* "glob" */ + zOp = ts + 27878 /* "glob" */ break case SQLITE_INDEX_CONSTRAINT_REGEXP: zOp = ts + 6335 /* "regexp" */ break case SQLITE_INDEX_CONSTRAINT_NE: - zOp = ts + 27903 /* "ne" */ + zOp = ts + 28672 /* "ne" */ break case SQLITE_INDEX_CONSTRAINT_ISNOT: - zOp = ts + 27906 /* "isnot" */ + zOp = ts + 28675 /* "isnot" */ break case SQLITE_INDEX_CONSTRAINT_ISNOTNULL: - zOp = ts + 27912 /* "isnotnull" */ + zOp = ts + 28681 /* "isnotnull" */ break case SQLITE_INDEX_CONSTRAINT_ISNULL: - zOp = ts + 27922 /* "isnull" */ + zOp = ts + 28691 /* "isnull" */ break case SQLITE_INDEX_CONSTRAINT_IS: zOp = ts + 5712 /* "is" */ break } - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27929 /* "op" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28698 /* "op" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, zOp, -1)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27932 /* "column" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28701 /* "column" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27939 /* "usable" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28708 /* "usable" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fusable))) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, pElem) @@ -60210,9 +61694,9 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ var pElem uintptr = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pElem)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27932 /* "column" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28701 /* "column" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).FiColumn)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27946 /* "desc" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28715 /* "desc" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).Fdesc))) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, pElem) @@ -60271,29 +61755,29 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ for ii = 0; (rc == SQLITE_OK) && (ii < *(*int32)(unsafe.Pointer(bp + 48 /* nElem */))); ii = ii + (2) { var zCmd uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56 /* apElem */)) + uintptr(ii)*8))) var p uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56 /* apElem */)) + uintptr((ii+1))*8)) - if sqlite3.Xsqlite3_stricmp(tls, ts+27951 /* "cost" */, zCmd) == 0 { + if sqlite3.Xsqlite3_stricmp(tls, ts+28720 /* "cost" */, zCmd) == 0 { rc = tcl.XTcl_GetDoubleFromObj(tls, interp, p, (pIdxInfo + 64 /* &.estimatedCost */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27956 /* "orderby" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28725 /* "orderby" */, zCmd) == 0 { rc = tcl.XTcl_GetIntFromObj(tls, interp, p, (pIdxInfo + 60 /* &.orderByConsumed */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27964 /* "idxnum" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28733 /* "idxnum" */, zCmd) == 0 { rc = tcl.XTcl_GetIntFromObj(tls, interp, p, (pIdxInfo + 40 /* &.idxNum */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27971 /* "idxstr" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28740 /* "idxstr" */, zCmd) == 0 { sqlite3.Xsqlite3_free(tls, (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, tcl.XTcl_GetString(tls, p))) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27978 /* "rows" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28747 /* "rows" */, zCmd) == 0 { *(*Tcl_WideInt)(unsafe.Pointer(bp + 64 /* x */)) = int64(0) rc = tcl.XTcl_GetWideIntFromObj(tls, interp, p, bp+64 /* &x */) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = sqlite3_int64(tRowcnt(*(*Tcl_WideInt)(unsafe.Pointer(bp + 64 /* x */)))) - } else if (sqlite3.Xsqlite3_stricmp(tls, ts+27983 /* "use" */, zCmd) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, ts+27987 /* "omit" */, zCmd) == 0) { + } else if (sqlite3.Xsqlite3_stricmp(tls, ts+28752 /* "use" */, zCmd) == 0) || + (sqlite3.Xsqlite3_stricmp(tls, ts+28756 /* "omit" */, zCmd) == 0) { // var iCons int32 at bp+72, 4 rc = tcl.XTcl_GetIntFromObj(tls, interp, p, bp+72 /* &iCons */) if rc == SQLITE_OK { if (*(*int32)(unsafe.Pointer(bp + 72 /* iCons */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 72 /* iCons */)) >= (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27992 /* "unexpected: %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 72 /* iCons */)))) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28761 /* "unexpected: %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 72 /* iCons */)))) } else { var bOmit int32 = (libc.Bool32((int32(*(*int8)(unsafe.Pointer(zCmd))) == 'o') || (int32(*(*int8)(unsafe.Pointer(zCmd))) == 'O'))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(*(*int32)(unsafe.Pointer(bp + 72 /* iCons */)))*8)).FargvIndex = libc.PostIncInt32(&iArgv, 1) @@ -60302,7 +61786,7 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27867 /* "unexpected: %s" */, libc.VaList(bp+32, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28636 /* "unexpected: %s" */, libc.VaList(bp+32, zCmd)) } if (rc != SQLITE_OK) && ((*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg == uintptr(0)) { var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp) @@ -60346,7 +61830,7 @@ func register_tcl_module(tls *libc.TLS, clientData ClientData, interp uintptr, o if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28007 /* "tcl" */, uintptr(unsafe.Pointer(&tclModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28776 /* "tcl" */, uintptr(unsafe.Pointer(&tclModule)), interp) return TCL_OK } @@ -60369,7 +61853,7 @@ var aObjCmd4 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 28011 /* "register_tcl_mod..." */, FxProc: 0}, + {FzName: ts + 28780 /* "register_tcl_mod..." */, FxProc: 0}, } /* test_bestindex.c:610:5 */ // Return a pointer to a buffer containing a text representation of the @@ -60379,7 +61863,7 @@ func ptrToText(tls *libc.TLS, p uintptr) uintptr { /* test_blob.c:37:13: */ bp := tls.Alloc(8) defer tls.Free(8) - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof(buf)) - uint64(1))), uintptr(unsafe.Pointer(&buf)), ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof(buf)) - uint64(1))), uintptr(unsafe.Pointer(&buf)), ts+13802 /* "%p" */, libc.VaList(bp, p)) return uintptr(unsafe.Pointer(&buf)) } @@ -60405,7 +61889,7 @@ func blobHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, ppBlob uint z = tcl.XTcl_GetStringFromObj(tls, pObj, bp /* &n */) if *(*int32)(unsafe.Pointer(bp /* n */)) == 0 { *(*uintptr)(unsafe.Pointer(ppBlob)) = uintptr(0) - } else if (*(*int32)(unsafe.Pointer(bp /* n */)) > 9) && (0 == libc.Xmemcmp(tls, ts+28031 /* "incrblob_" */, z, uint64(9))) { + } else if (*(*int32)(unsafe.Pointer(bp /* n */)) > 9) && (0 == libc.Xmemcmp(tls, ts+28800 /* "incrblob_" */, z, uint64(9))) { // var notUsed int32 at bp+4, 4 var channel Tcl_Channel @@ -60469,7 +61953,7 @@ func test_blob_open(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var rc int32 if objc != 8 { - var zUsage uintptr = ts + 28041 /* "DB DATABASE TABL..." */ + var zUsage uintptr = ts + 28810 /* "DB DATABASE TABL..." */ tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zUsage) return TCL_ERROR } @@ -60513,7 +61997,7 @@ func test_blob_close(tls *libc.TLS, clientData ClientData, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } @@ -60540,7 +62024,7 @@ func test_blob_bytes(tls *libc.TLS, clientData ClientData, interp uintptr, objc var nByte int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } @@ -60580,7 +62064,7 @@ func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28093 /* "CHANNEL OFFSET N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28862 /* "CHANNEL OFFSET N" */) return TCL_ERROR } @@ -60595,7 +62079,7 @@ func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc i if *(*int32)(unsafe.Pointer(bp + 28 /* nByte */)) > 0 { zBuf = tcl.XTcl_AttemptAlloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nByte */)))) if zBuf == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28110 /* "out of memory in..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28879 /* "out of memory in..." */, 0)) return TCL_ERROR } } @@ -60640,7 +62124,7 @@ func test_blob_write(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var nBuf int32 at bp+12, 4 if (objc != 4) && (objc != 5) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28171 /* "HANDLE OFFSET DA..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28940 /* "HANDLE OFFSET DA..." */) return TCL_ERROR } @@ -60684,11 +62168,11 @@ var aObjCmd5 = [5]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 28198 /* "sqlite3_blob_ope..." */, FxProc: 0}, - {FzName: ts + 28216 /* "sqlite3_blob_clo..." */, FxProc: 0}, - {FzName: ts + 28235 /* "sqlite3_blob_byt..." */, FxProc: 0}, - {FzName: ts + 28254 /* "sqlite3_blob_rea..." */, FxProc: 0}, - {FzName: ts + 28272 /* "sqlite3_blob_wri..." */, FxProc: 0}, + {FzName: ts + 28967 /* "sqlite3_blob_ope..." */, FxProc: 0}, + {FzName: ts + 28985 /* "sqlite3_blob_clo..." */, FxProc: 0}, + {FzName: ts + 29004 /* "sqlite3_blob_byt..." */, FxProc: 0}, + {FzName: ts + 29023 /* "sqlite3_blob_rea..." */, FxProc: 0}, + {FzName: ts + 29041 /* "sqlite3_blob_wri..." */, FxProc: 0}, } /* test_blob.c:317:5 */ // end block for C++ @@ -60771,369 +62255,369 @@ func sqlite3BtreeCursorList(tls *libc.TLS, p uintptr) { /* test_btree.c:52:6: */ // according to the compile-time configuration of the database. Test // procedures use this to determine when tests should be omitted. func set_options(tls *libc.TLS, interp uintptr) { /* test_config.c:47:13: */ - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28306 /* "malloc_usable_si..." */, ts+28325, /* "1" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29075 /* "malloc_usable_si..." */, ts+29094, /* "1" */ TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28327 /* "rowid32" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29096 /* "rowid32" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28335 /* "casesensitivelik..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29104 /* "casesensitivelik..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28353 /* "configslower" */, ts+28366 /* "1.0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29122 /* "configslower" */, ts+29135 /* "1.0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28370 /* "curdir" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29139 /* "curdir" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28377 /* "win32malloc" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29146 /* "win32malloc" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28389 /* "debug" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29158 /* "debug" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28395 /* "default_ckptfull..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29164 /* "default_ckptfull..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28417 /* "direct_read" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29186 /* "direct_read" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28429 /* "dirsync" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29198 /* "dirsync" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28437 /* "lfs" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29206 /* "lfs" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28441 /* "pagecache_overfl..." */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29210 /* "pagecache_overfl..." */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28466 /* "mmap" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29235 /* "mmap" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28471, /* "worker_threads" */ - ts+28486 /* "8" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29240, /* "worker_threads" */ + ts+29255 /* "8" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28488 /* "memdebug" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29257 /* "memdebug" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28497 /* "8_3_names" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29266 /* "8_3_names" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28507 /* "cursorhints" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29276 /* "cursorhints" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28519 /* "hiddencolumns" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29288 /* "hiddencolumns" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13152 /* "deserialize" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+13933 /* "deserialize" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28533 /* "mathlib" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29302 /* "mathlib" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28541 /* "mem3" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29310 /* "mem3" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28546 /* "mem5" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29315 /* "mem5" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28551 /* "offset_sql_func" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29320 /* "offset_sql_func" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13260 /* "preupdate" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+14041 /* "preupdate" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28567 /* "snapshot" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29336 /* "snapshot" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28576 /* "mutex" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29345 /* "mutex" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28582 /* "mutex_noop" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29351 /* "mutex_noop" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28593 /* "altertable" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29362 /* "altertable" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+1818 /* "analyze" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+1818 /* "analyze" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28604 /* "api_armor" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29373 /* "api_armor" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28614 /* "atomicwrite" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29383 /* "atomicwrite" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28626 /* "geopoly" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29395 /* "geopoly" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28634 /* "json1" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29403 /* "json1" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28640 /* "has_codec" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29409 /* "has_codec" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28650 /* "like_match_blobs" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29419 /* "like_match_blobs" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28667 /* "attach" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+10584 /* "attach" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28674 /* "auth" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29436 /* "auth" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28679 /* "autoinc" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29441 /* "autoinc" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+12733 /* "autoindex" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+13514 /* "autoindex" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28687 /* "autoreset" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29449 /* "autoreset" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28697 /* "autovacuum" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28708, /* "default_autovacu..." */ - ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29459 /* "autovacuum" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29470, /* "default_autovacu..." */ + ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28727 /* "between_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29489 /* "between_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28739 /* "builtin_test" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29501 /* "builtin_test" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28752 /* "bloblit" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29514 /* "bloblit" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28760 /* "cast" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29522 /* "cast" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28765 /* "check" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29527 /* "check" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28771 /* "cte" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29533 /* "cte" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28775 /* "columnmetadata" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29537 /* "columnmetadata" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28790 /* "oversize_cell_ch..." */, ts+13873, /* "0" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29552 /* "oversize_cell_ch..." */, ts+14654, /* "0" */ TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28810 /* "compileoption_di..." */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29572 /* "compileoption_di..." */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13131 /* "complete" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+13912 /* "complete" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28830 /* "compound" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29592 /* "compound" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28839 /* "conflict" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28848 /* "crashtest" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29601 /* "conflict" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29610 /* "crashtest" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28858 /* "datetime" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29620 /* "datetime" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28867 /* "decltype" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29629 /* "decltype" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28876 /* "deprecated" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29638 /* "deprecated" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28887 /* "diskio" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29649 /* "diskio" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+4835 /* "explain" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+4835 /* "explain" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28894 /* "floatingpoint" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29656 /* "floatingpoint" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28908 /* "foreignkey" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29670 /* "foreignkey" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28919 /* "fts1" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29681 /* "fts1" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28924 /* "fts2" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29686 /* "fts2" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28929 /* "fts3" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29691 /* "fts3" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28934 /* "fts5" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29696 /* "fts5" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28939 /* "fts3_unicode" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29701 /* "fts3_unicode" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28952 /* "fts4_deferred" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29714 /* "fts4_deferred" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28966 /* "gettable" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29728 /* "gettable" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28975 /* "icu" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29737 /* "icu" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28979 /* "icu_collations" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29741 /* "icu_collations" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+10524 /* "incrblob" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+11333 /* "incrblob" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+28994 /* "integrityck" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29756 /* "integrityck" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29006 /* "legacyformat" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29768 /* "legacyformat" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29019 /* "like_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29781 /* "like_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29028 /* "load_ext" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29790 /* "load_ext" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29037 /* "localtime" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29799 /* "localtime" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29047 /* "lookaside" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29809 /* "lookaside" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29057, /* "long_double" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29819, /* "long_double" */ func() uintptr { if uint64(unsafe.Sizeof(float64(0))) > uint64(unsafe.Sizeof(float64(0))) { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29069 /* "memorydb" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29831 /* "memorydb" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29078 /* "memorymanage" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29840 /* "memorymanage" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29091 /* "mergesort" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29853 /* "mergesort" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29101 /* "null_trim" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29863 /* "null_trim" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29111 /* "or_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29873 /* "or_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29118 /* "rbu" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29880 /* "rbu" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29122 /* "pager_pragmas" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29884 /* "pager_pragmas" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29136 /* "pragma" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29898 /* "pragma" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+10199 /* "progress" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+10199 /* "progress" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29143 /* "reindex" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29905 /* "reindex" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29151 /* "rtree" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29913 /* "rtree" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29157 /* "rtree_int_only" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29919 /* "rtree_int_only" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29172 /* "schema_pragmas" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29934 /* "schema_pragmas" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29187 /* "schema_version" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29949 /* "schema_version" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29202 /* "session" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29964 /* "session" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+18468 /* "stat4" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29210 /* "stmtvtab" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+19249 /* "stat4" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29972 /* "stmtvtab" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29219 /* "scanstatus" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29981 /* "scanstatus" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29230 /* "lock_proxy_pragm..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29249 /* "prefer_proxy_loc..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+29992 /* "lock_proxy_pragm..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30011 /* "prefer_proxy_loc..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29270 /* "shared_cache" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30032 /* "shared_cache" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29283 /* "subquery" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30045 /* "subquery" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29292 /* "tclvar" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30054 /* "tclvar" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29299, /* "threadsafe" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30061, /* "threadsafe" */ func() uintptr { if 1 != 0 { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29310, /* "threadsafe1" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30072, /* "threadsafe1" */ func() uintptr { if SQLITE_THREADSAFE == 1 { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29322, /* "threadsafe2" */ + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30084, /* "threadsafe2" */ func() uintptr { if SQLITE_THREADSAFE == 2 { - return ts + 28325 /* "1" */ + return ts + 29094 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29334 /* "tempdb" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30096 /* "tempdb" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13345 /* "trace" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+14126 /* "trace" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29341 /* "trigger" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30103 /* "trigger" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29349 /* "truncate_opt" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30111 /* "truncate_opt" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+15418 /* "utf16" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+16199 /* "utf16" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29362 /* "vacuum" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30124 /* "vacuum" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29369 /* "view" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30131 /* "view" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29374 /* "vtab" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30136 /* "vtab" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29379 /* "wal" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30141 /* "wal" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29383 /* "wsd" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30145 /* "wsd" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29387 /* "update_delete_li..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30149 /* "update_delete_li..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+13372 /* "unlock_notify" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+14153 /* "unlock_notify" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29407 /* "fast_secure_dele..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30169 /* "fast_secure_dele..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29426 /* "secure_delete" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30188 /* "secure_delete" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29440 /* "userauth" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30202 /* "userauth" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29449 /* "multiplex_ext_ov..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30211 /* "multiplex_ext_ov..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29473 /* "yytrackmaxstackd..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30235 /* "yytrackmaxstackd..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29494 /* "sqllog" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30256 /* "sqllog" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29501 /* "uri_00_error" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30263 /* "uri_00_error" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29514 /* "normalize" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30276 /* "normalize" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+28291 /* "sqlite_options" */, ts+29524 /* "windowfunc" */, ts+28325 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+29060 /* "sqlite_options" */, ts+30286 /* "windowfunc" */, ts+29094 /* "1" */, TCL_GLOBAL_ONLY) { - tcl.XTcl_LinkVar(tls, interp, ts+29535 /* "SQLITE_MAX_LENGT..." */, uintptr(unsafe.Pointer(&cv_MAX_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30297 /* "SQLITE_MAX_LENGT..." */, uintptr(unsafe.Pointer(&cv_MAX_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29553 /* "SQLITE_MAX_COLUM..." */, uintptr(unsafe.Pointer(&cv_MAX_COLUMN)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30315 /* "SQLITE_MAX_COLUM..." */, uintptr(unsafe.Pointer(&cv_MAX_COLUMN)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29571 /* "SQLITE_MAX_SQL_L..." */, uintptr(unsafe.Pointer(&cv_MAX_SQL_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30333 /* "SQLITE_MAX_SQL_L..." */, uintptr(unsafe.Pointer(&cv_MAX_SQL_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29593 /* "SQLITE_MAX_EXPR_..." */, uintptr(unsafe.Pointer(&cv_MAX_EXPR_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30355 /* "SQLITE_MAX_EXPR_..." */, uintptr(unsafe.Pointer(&cv_MAX_EXPR_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29615 /* "SQLITE_MAX_COMPO..." */, uintptr(unsafe.Pointer(&cv_MAX_COMPOUND_SELECT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30377 /* "SQLITE_MAX_COMPO..." */, uintptr(unsafe.Pointer(&cv_MAX_COMPOUND_SELECT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29642 /* "SQLITE_MAX_VDBE_..." */, uintptr(unsafe.Pointer(&cv_MAX_VDBE_OP)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30404 /* "SQLITE_MAX_VDBE_..." */, uintptr(unsafe.Pointer(&cv_MAX_VDBE_OP)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29661 /* "SQLITE_MAX_FUNCT..." */, uintptr(unsafe.Pointer(&cv_MAX_FUNCTION_ARG)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30423 /* "SQLITE_MAX_FUNCT..." */, uintptr(unsafe.Pointer(&cv_MAX_FUNCTION_ARG)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29685 /* "SQLITE_MAX_VARIA..." */, uintptr(unsafe.Pointer(&cv_MAX_VARIABLE_NUMBER)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30447 /* "SQLITE_MAX_VARIA..." */, uintptr(unsafe.Pointer(&cv_MAX_VARIABLE_NUMBER)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29712 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30474 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29733 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_COUNT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30495 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_COUNT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29755 /* "SQLITE_MAX_LIKE_..." */, uintptr(unsafe.Pointer(&cv_MAX_LIKE_PATTERN_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30517 /* "SQLITE_MAX_LIKE_..." */, uintptr(unsafe.Pointer(&cv_MAX_LIKE_PATTERN_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29786 /* "SQLITE_MAX_TRIGG..." */, uintptr(unsafe.Pointer(&cv_MAX_TRIGGER_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30548 /* "SQLITE_MAX_TRIGG..." */, uintptr(unsafe.Pointer(&cv_MAX_TRIGGER_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29811 /* "SQLITE_DEFAULT_C..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_CACHE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30573 /* "SQLITE_DEFAULT_C..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_CACHE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29837 /* "SQLITE_DEFAULT_P..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30599 /* "SQLITE_DEFAULT_P..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29862 /* "SQLITE_DEFAULT_F..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_FILE_FORMAT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30624 /* "SQLITE_DEFAULT_F..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_FILE_FORMAT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29889 /* "SQLITE_DEFAULT_S..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30651 /* "SQLITE_DEFAULT_S..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29916 /* "SQLITE_DEFAULT_W..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_WAL_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30678 /* "SQLITE_DEFAULT_W..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_WAL_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29947 /* "SQLITE_MAX_ATTAC..." */, uintptr(unsafe.Pointer(&cv_MAX_ATTACHED)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30709 /* "SQLITE_MAX_ATTAC..." */, uintptr(unsafe.Pointer(&cv_MAX_ATTACHED)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29967 /* "SQLITE_MAX_DEFAU..." */, uintptr(unsafe.Pointer(&cv_MAX_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30729 /* "SQLITE_MAX_DEFAU..." */, uintptr(unsafe.Pointer(&cv_MAX_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29996 /* "SQLITE_MAX_WORKE..." */, uintptr(unsafe.Pointer(&cv_MAX_WORKER_THREADS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30758 /* "SQLITE_MAX_WORKE..." */, uintptr(unsafe.Pointer(&cv_MAX_WORKER_THREADS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30022 /* "TEMP_STORE" */, uintptr(unsafe.Pointer(&cv_TEMP_STORE)), + tcl.XTcl_LinkVar(tls, interp, ts+30784 /* "TEMP_STORE" */, uintptr(unsafe.Pointer(&cv_TEMP_STORE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+30033 /* "__GNUC__" */, uintptr(unsafe.Pointer(&cv___GNUC__)), + tcl.XTcl_LinkVar(tls, interp, ts+30795 /* "__GNUC__" */, uintptr(unsafe.Pointer(&cv___GNUC__)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } @@ -61226,15 +62710,15 @@ func sqlite3_delete_database(tls *libc.TLS, zFile uintptr) int32 { /* test_delet var rc int32 = 0 // System error code var i int32 // Iterate through azFmt[] and aMFile[] - *(*[4]uintptr)(unsafe.Pointer(bp + 24 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 30042 /* "%s-journal" */, ts + 30053 /* "%s-wal" */, ts + 30060 /* "%s-shm" */} + *(*[4]uintptr)(unsafe.Pointer(bp + 24 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 30804 /* "%s-journal" */, ts + 30815 /* "%s-wal" */, ts + 30822 /* "%s-shm" */} *(*[6]MFile)(unsafe.Pointer(bp + 56 /* aMFile */)) = [6]MFile{ - {FzFmt: ts + 30067 /* "%s%03d" */}, - {FzFmt: ts + 30074 /* "%s-journal%03d" */}, - {FzFmt: ts + 30089 /* "%s-wal%03d" */}, - {FzFmt: ts + 30067 /* "%s%03d" */, Fb83: 1}, - {FzFmt: ts + 30074 /* "%s-journal%03d" */, FiOffset: SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET, Fb83: 1}, - {FzFmt: ts + 30089 /* "%s-wal%03d" */, FiOffset: SQLITE_MULTIPLEX_WAL_8_3_OFFSET, Fb83: 1}, + {FzFmt: ts + 30829 /* "%s%03d" */}, + {FzFmt: ts + 30836 /* "%s-journal%03d" */}, + {FzFmt: ts + 30851 /* "%s-wal%03d" */}, + {FzFmt: ts + 30829 /* "%s%03d" */, Fb83: 1}, + {FzFmt: ts + 30836 /* "%s-journal%03d" */, FiOffset: SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET, Fb83: 1}, + {FzFmt: ts + 30851 /* "%s-wal%03d" */, FiOffset: SQLITE_MULTIPLEX_WAL_8_3_OFFSET, Fb83: 1}, } var pVfs uintptr = uintptr(0) @@ -61549,7 +63033,7 @@ var devsym_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(devsym_file{})), // szOsFile FmxPathname: DEVSYM_MAX_PATHNAME, // pNext - FzName: ts + 30100, /* "devsym" */ // pAppData + FzName: ts + 30862, /* "devsym" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -61563,7 +63047,7 @@ var writecrash_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(devsym_file{})), // szOsFile FmxPathname: DEVSYM_MAX_PATHNAME, // pNext - FzName: ts + 30107, /* "writecrash" */ // pAppData + FzName: ts + 30869, /* "writecrash" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -62018,7 +63502,7 @@ func fsdirConnect1(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin var pTab uintptr if argc != 3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -62029,7 +63513,7 @@ func fsdirConnect1(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(FsdirVtab{}))) *(*uintptr)(unsafe.Pointer(ppVtab)) = (pTab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30118 /* "CREATE TABLE xyz..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30880 /* "CREATE TABLE xyz..." */) return SQLITE_OK } @@ -62211,7 +63695,7 @@ func fstreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin var pTab uintptr if argc != 3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -62223,7 +63707,7 @@ func fstreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin (*FstreeVtab)(unsafe.Pointer(pTab)).Fdb = db *(*uintptr)(unsafe.Pointer(ppVtab)) = (pTab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30147 /* "CREATE TABLE xyz..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30909 /* "CREATE TABLE xyz..." */) return SQLITE_OK } @@ -62315,7 +63799,7 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var pCsr uintptr = pVtabCursor var pTab uintptr = (*FstreeCsr)(unsafe.Pointer(pCsr)).Fbase.FpVtab var rc int32 - var zSql uintptr = ts + 30183 /* "WITH r(d) AS ( ..." */ + var zSql uintptr = ts + 30945 /* "WITH r(d) AS ( ..." */ var zRoot uintptr var nRoot int32 var zPrefix uintptr @@ -62324,7 +63808,7 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var nDir int32 *(*[2]int8)(unsafe.Pointer(bp /* aWild */)) = [2]int8{int8(0), int8(0)} - zRoot = ts + 30415 /* "/" */ + zRoot = ts + 31177 /* "/" */ nRoot = 1 zPrefix = ts + 489 /* "" */ nPrefix = 0 @@ -62445,7 +63929,7 @@ func fsConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr var zDb uintptr = *(*uintptr)(unsafe.Pointer(argv + 1*8)) if argc != 4 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27841 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28610 /* "wrong number of ..." */, 0) return SQLITE_ERROR } zTbl = *(*uintptr)(unsafe.Pointer(argv + 3*8)) @@ -62462,7 +63946,7 @@ func fsConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr libc.Xmemcpy(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzTbl, zTbl, libc.Xstrlen(tls, zTbl)) libc.Xmemcpy(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzDb, zDb, libc.Xstrlen(tls, zDb)) *(*uintptr)(unsafe.Pointer(ppVtab)) = (pVtab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30417 /* "CREATE TABLE x(p..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+31179 /* "CREATE TABLE x(p..." */) return SQLITE_OK } @@ -62516,7 +64000,7 @@ func fsFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, if idxNum == 1 { var zStmt uintptr = sqlite3.Xsqlite3_mprintf(tls, - ts+30454 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) + ts+31216 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) if !(zStmt != 0) { return SQLITE_NOMEM } @@ -62681,9 +64165,9 @@ func register_fs_module(tls *libc.TLS, clientData ClientData, interp uintptr, ob if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30488 /* "fs" */, uintptr(unsafe.Pointer(&fsModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31250 /* "fs" */, uintptr(unsafe.Pointer(&fsModule)), interp) sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+5186 /* "fsdir" */, uintptr(unsafe.Pointer(&fsdirModule)), uintptr(0)) - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30491 /* "fstree" */, uintptr(unsafe.Pointer(&fstreeModule)), uintptr(0)) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31253 /* "fstree" */, uintptr(unsafe.Pointer(&fstreeModule)), uintptr(0)) return TCL_OK } @@ -62706,7 +64190,7 @@ var aObjCmd6 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 30498 /* "register_fs_modu..." */, FxProc: 0}, + {FzName: ts + 31260 /* "register_fs_modu..." */, FxProc: 0}, } /* test_fs.c:907:5 */ // Some versions of define this macros. @@ -62772,7 +64256,7 @@ func randStr(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* test sqlite3.Xsqlite3_result_text(tls, context, bp+4 /* zBuf */, n, libc.UintptrFromInt32(-1)) } -var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 30517 /* "abcdefghijklmnop..." */)) /* test_func.c:46:30 */ +var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 31279 /* "abcdefghijklmnop..." */)) /* test_func.c:46:30 */ // The following two SQL functions are used to test returning a text // result with a destructor. Function 'test_destructor' takes one argument @@ -62965,7 +64449,7 @@ func test_eval(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* test_ if rc != 0 { var zErr uintptr - zErr = sqlite3.Xsqlite3_mprintf(tls, ts+30596 /* "sqlite3_prepare_..." */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) + zErr = sqlite3.Xsqlite3_mprintf(tls, ts+31358 /* "sqlite3_prepare_..." */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) sqlite3.Xsqlite3_result_text(tls, pCtx, zErr, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) sqlite3.Xsqlite3_result_error_code(tls, pCtx, rc) } @@ -63071,11 +64555,11 @@ func real2hex(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* tes *(*float64)(unsafe.Pointer(bp /* &v */)) = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; i < 8; i++ { if bigEndian != 0 { - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((i * 2)))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((i * 2) + 1)))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((i * 2)))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((i * 2) + 1)))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) } else { - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((14 - (i * 2))))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((14 - (i * 2)) + 1)))) = *(*int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((14 - (i * 2))))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((14 - (i * 2)) + 1)))) = *(*int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) } } *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + 16)) = int8(0) @@ -63181,7 +64665,7 @@ func test_decode(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* var n int32 = sqlite3.Xsqlite3_value_bytes(tls, bp+40 /* &mem */) var z uintptr = sqlite3.Xsqlite3_value_blob(tls, bp+40 /* &mem */) var i int32 - pVal = tcl.XTcl_NewStringObj(tls, ts+30644 /* "x'" */, -1) + pVal = tcl.XTcl_NewStringObj(tls, ts+31406 /* "x'" */, -1) for i = 0; i < n; i++ { // var hex [3]int8 at bp+104, 3 @@ -63282,7 +64766,7 @@ func registerTestFunctions(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk u int32(aFuncs[i].FeTextRep), uintptr(0), aFuncs[i].FxFunc, uintptr(0), uintptr(0)) } - sqlite3.Xsqlite3_create_function(tls, db, ts+30647 /* "test_agg_errmsg1..." */, 0, SQLITE_ANY, uintptr(0), uintptr(0), + sqlite3.Xsqlite3_create_function(tls, db, ts+31409 /* "test_agg_errmsg1..." */, 0, SQLITE_ANY, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{test_agg_errmsg16_step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_agg_errmsg16_final}))) @@ -63297,26 +64781,26 @@ var aFuncs = [20]struct { FeTextRep uint32 FxFunc uintptr }{ - {FzName: ts + 30665 /* "randstr" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30673 /* "test_destructor" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30689 /* "test_destructor1..." */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30707 /* "hex_to_utf16be" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30722 /* "hex_to_utf16le" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30737 /* "hex_to_utf8" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30749 /* "test_destructor_..." */, FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30771 /* "test_auxdata" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30784 /* "test_error" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30784 /* "test_error" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30795 /* "test_eval" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30805 /* "test_isolation" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30820 /* "test_counter" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30833 /* "real2hex" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30842 /* "test_decode" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30854 /* "test_extract" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30867 /* "test_zeroblob" */, FnArg: int8(1), FeTextRep: (uint32(SQLITE_UTF8 | SQLITE_DETERMINISTIC)), FxFunc: 0}, - {FzName: ts + 30881 /* "test_getsubtype" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30897 /* "test_setsubtype" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30913 /* "test_frombind" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31427 /* "randstr" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31435 /* "test_destructor" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31451 /* "test_destructor1..." */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31469 /* "hex_to_utf16be" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31484 /* "hex_to_utf16le" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31499 /* "hex_to_utf8" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31511 /* "test_destructor_..." */, FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31533 /* "test_auxdata" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31546 /* "test_error" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31546 /* "test_error" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31557 /* "test_eval" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31567 /* "test_isolation" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31582 /* "test_counter" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31595 /* "real2hex" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31604 /* "test_decode" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31616 /* "test_extract" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31629 /* "test_zeroblob" */, FnArg: int8(1), FeTextRep: (uint32(SQLITE_UTF8 | SQLITE_DETERMINISTIC)), FxFunc: 0}, + {FzName: ts + 31643 /* "test_getsubtype" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31659 /* "test_setsubtype" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31675 /* "test_frombind" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, } /* test_func.c:674:5 */ // TCLCMD: autoinstall_test_functions @@ -63364,7 +64848,7 @@ func abuse_create_function(tls *libc.TLS, clientData uintptr, interp uintptr, ob __1: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -63376,7 +64860,7 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -63388,7 +64872,7 @@ __2: __3: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { @@ -63398,7 +64882,7 @@ __3: __4: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { goto __5 } @@ -63406,7 +64890,7 @@ __4: __5: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -63416,7 +64900,7 @@ __5: __6: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -63426,7 +64910,7 @@ __6: __7: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+30927 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31689 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -63438,7 +64922,7 @@ __8: rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), - ts+30930, /* "funcxx_123456789..." */ + ts+31692, /* "funcxx_123456789..." */ 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) @@ -63456,7 +64940,7 @@ __9: mxArg = sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), SQLITE_LIMIT_FUNCTION_ARG, -1) rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), - ts+31187, /* "nullx_123456789_..." */ + ts+31949, /* "nullx_123456789_..." */ mxArg, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) @@ -63470,7 +64954,7 @@ __10: return TCL_OK abuse_err: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31443, /* "sqlite3_create_f..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32205, /* "sqlite3_create_f..." */ uintptr(0))) return TCL_ERROR } @@ -63557,7 +65041,7 @@ __2: goto __3 } sqlite3.Xsqlite3_result_error(tls, pCtx, - ts+31486 /* "invalid matchinf..." */, -1) + ts+32248 /* "invalid matchinf..." */, -1) return __3: ; @@ -63618,7 +65102,7 @@ __7: // Jump here if the wrong number of arguments are passed to this function wrong_number_args: - sqlite3.Xsqlite3_result_error(tls, pCtx, ts+31535 /* "wrong number of ..." */, -1) + sqlite3.Xsqlite3_result_error(tls, pCtx, ts+32297 /* "wrong number of ..." */, -1) } func install_fts3_rank_function(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_func.c:910:26: */ @@ -63635,7 +65119,7 @@ func install_fts3_rank_function(tls *libc.TLS, clientData uintptr, interp uintpt if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31580 /* "rank" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+32342 /* "rank" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rankfunc})), uintptr(0), uintptr(0)) return TCL_OK @@ -63665,9 +65149,9 @@ var aObjCmd7 = [3]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 31585 /* "autoinstall_test..." */, FxProc: 0}, - {FzName: ts + 31612 /* "abuse_create_fun..." */, FxProc: 0}, - {FzName: ts + 31634 /* "install_fts3_ran..." */, FxProc: 0}, + {FzName: ts + 32347 /* "autoinstall_test..." */, FxProc: 0}, + {FzName: ts + 32374 /* "abuse_create_fun..." */, FxProc: 0}, + {FzName: ts + 32396 /* "install_fts3_ran..." */, FxProc: 0}, } /* test_func.c:937:5 */ // Some versions of define this macros. @@ -63775,7 +65259,7 @@ func sqlite3TestBinToHex(tls *libc.TLS, zBuf uintptr, N int32) { /* test_hexio.c bp := tls.Alloc(17) defer tls.Free(17) - *(*[17]uint8)(unsafe.Pointer(bp /* zHex */)) = *(*[17]uint8)(unsafe.Pointer(ts + 31661 /* "0123456789ABCDEF" */)) + *(*[17]uint8)(unsafe.Pointer(bp /* zHex */)) = *(*[17]uint8)(unsafe.Pointer(ts + 32423 /* "0123456789ABCDEF" */)) var i int32 var j int32 var c uint8 @@ -63855,7 +65339,7 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o var in uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31678 /* "FILENAME OFFSET ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32440 /* "FILENAME OFFSET ..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &offset */) != 0 { @@ -63871,10 +65355,10 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o } in = libc.Xfopen(tls, zFile, ts+4263 /* "rb" */) if in == uintptr(0) { - in = libc.Xfopen(tls, zFile, ts+31698 /* "r" */) + in = libc.Xfopen(tls, zFile, ts+32460 /* "r" */) } if in == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31700 /* "cannot open inpu..." */, zFile, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32462 /* "cannot open inpu..." */, zFile, 0)) return TCL_ERROR } libc.Xfseek(tls, in, int64(*(*int32)(unsafe.Pointer(bp + 40 /* offset */))), SEEK_SET) @@ -63909,7 +65393,7 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var out uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31724 /* "FILENAME OFFSET ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32486 /* "FILENAME OFFSET ..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24 /* &offset */) != 0 { @@ -63922,12 +65406,12 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } nOut = sqlite3TestHexToBin(tls, zIn, *(*int32)(unsafe.Pointer(bp + 28 /* nIn */)), aOut) - out = libc.Xfopen(tls, zFile, ts+31748 /* "r+b" */) + out = libc.Xfopen(tls, zFile, ts+32510 /* "r+b" */) if out == uintptr(0) { - out = libc.Xfopen(tls, zFile, ts+31752 /* "r+" */) + out = libc.Xfopen(tls, zFile, ts+32514 /* "r+" */) } if out == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31755 /* "cannot open outp..." */, zFile, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32517 /* "cannot open outp..." */, zFile, 0)) return TCL_ERROR } libc.Xfseek(tls, out, int64(*(*int32)(unsafe.Pointer(bp + 24 /* offset */))), SEEK_SET) @@ -63956,7 +65440,7 @@ func hexio_get_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 // var aNum [4]uint8 at bp+4, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31780 /* "HEXDATA" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32542 /* "HEXDATA" */) return TCL_ERROR } zIn = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nIn */) @@ -64039,7 +65523,7 @@ func utf8_to_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(16) tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+31788 /* "[utf8_to_utf8] u..." */, 0)) + libc.VaList(bp, ts+32550 /* "[utf8_to_utf8] u..." */, 0)) return TCL_ERROR } @@ -64084,7 +65568,7 @@ func read_fts3varint(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var nVal int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31842 /* "BLOB VARNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32604 /* "BLOB VARNAME" */) return TCL_ERROR } zBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nBlob */) @@ -64108,7 +65592,7 @@ func make_fts3record(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var i int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31855 /* "LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32617 /* "LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nArg */, bp+8 /* &aArg */) != 0 { @@ -64179,14 +65663,14 @@ var aObjCmd8 = [8]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 31860 /* "hexio_read" */, FxProc: 0}, - {FzName: ts + 31871 /* "hexio_write" */, FxProc: 0}, - {FzName: ts + 31883 /* "hexio_get_int" */, FxProc: 0}, - {FzName: ts + 31897 /* "hexio_render_int..." */, FxProc: 0}, - {FzName: ts + 31916 /* "hexio_render_int..." */, FxProc: 0}, - {FzName: ts + 31935 /* "utf8_to_utf8" */, FxProc: 0}, - {FzName: ts + 31948 /* "read_fts3varint" */, FxProc: 0}, - {FzName: ts + 31964 /* "make_fts3record" */, FxProc: 0}, + {FzName: ts + 32622 /* "hexio_read" */, FxProc: 0}, + {FzName: ts + 32633 /* "hexio_write" */, FxProc: 0}, + {FzName: ts + 32645 /* "hexio_get_int" */, FxProc: 0}, + {FzName: ts + 32659 /* "hexio_render_int..." */, FxProc: 0}, + {FzName: ts + 32678 /* "hexio_render_int..." */, FxProc: 0}, + {FzName: ts + 32697 /* "utf8_to_utf8" */, FxProc: 0}, + {FzName: ts + 32710 /* "read_fts3varint" */, FxProc: 0}, + {FzName: ts + 32726 /* "make_fts3record" */, FxProc: 0}, } /* test_hexio.c:450:5 */ // end block for C++ @@ -64427,14 +65911,14 @@ func init_wrapper_install(tls *libc.TLS, clientData ClientData, interp uintptr, installInitWrappers(tls) for i = 1; i < objc; i++ { var z uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))) - if libc.Xstrcmp(tls, z, ts+31980 /* "mem" */) == 0 { + if libc.Xstrcmp(tls, z, ts+32742 /* "mem" */) == 0 { wrapped.Fmem_fail = 1 - } else if libc.Xstrcmp(tls, z, ts+28576 /* "mutex" */) == 0 { + } else if libc.Xstrcmp(tls, z, ts+29345 /* "mutex" */) == 0 { wrapped.Fmutex_fail = 1 - } else if libc.Xstrcmp(tls, z, ts+31984 /* "pcache" */) == 0 { + } else if libc.Xstrcmp(tls, z, ts+32746 /* "pcache" */) == 0 { wrapped.Fpcache_fail = 1 } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31991 /* "Unknown argument..." */, z, ts+11634 /* "\"" */)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32753 /* "Unknown argument..." */, z, ts+12415 /* "\"" */)) return TCL_ERROR } } @@ -64479,13 +65963,13 @@ func init_wrapper_query(tls *libc.TLS, clientData ClientData, interp uintptr, ob pRet = tcl.XTcl_NewObj(tls) if wrapped.Fmutex_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+28576 /* "mutex" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+29345 /* "mutex" */, -1)) } if wrapped.Fmem_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+31980 /* "mem" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32742 /* "mem" */, -1)) } if wrapped.Fpcache_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+31984 /* "pcache" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32746 /* "pcache" */, -1)) } tcl.XTcl_SetObjResult(tls, interp, pRet) @@ -64509,10 +65993,10 @@ var aObjCmd9 = [4]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 32011 /* "init_wrapper_ins..." */, FxProc: 0}, - {FzName: ts + 32032 /* "init_wrapper_que..." */, FxProc: 0}, - {FzName: ts + 32051 /* "init_wrapper_uni..." */, FxProc: 0}, - {FzName: ts + 32074 /* "init_wrapper_cle..." */, FxProc: 0}, + {FzName: ts + 32773 /* "init_wrapper_ins..." */, FxProc: 0}, + {FzName: ts + 32794 /* "init_wrapper_que..." */, FxProc: 0}, + {FzName: ts + 32813 /* "init_wrapper_uni..." */, FxProc: 0}, + {FzName: ts + 32836 /* "init_wrapper_cle..." */, FxProc: 0}, } /* test_init.c:282:5 */ // @@ -64585,7 +66069,7 @@ func intarrayCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui if pVtab != 0 { libc.Xmemset(tls, pVtab, 0, uint64(unsafe.Sizeof(intarray_vtab{}))) (*intarray_vtab)(unsafe.Pointer(pVtab)).FpContent = pAux - rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+32093 /* "CREATE TABLE x(v..." */) + rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+32855 /* "CREATE TABLE x(v..." */) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab return rc @@ -64695,7 +66179,7 @@ func sqlite3_intarray_create(tls *libc.TLS, db uintptr, zName uintptr, ppReturn *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{intarrayFree}))) if rc == SQLITE_OK { var zSql uintptr - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+32135, /* "CREATE VIRTUAL T..." */ + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+32897, /* "CREATE VIRTUAL T..." */ libc.VaList(bp, zName, zName)) rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) @@ -64766,14 +66250,14 @@ func test_intarray_bind(tls *libc.TLS, clientData ClientData, interp uintptr, ob var a uintptr if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32173 /* "INTARRAY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32935 /* "INTARRAY" */) return TCL_ERROR } pArray = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) n = (objc - 2) a = sqlite3.Xsqlite3_malloc64(tls, (uint64(uint64(unsafe.Sizeof(sqlite3_int64(0))) * uint64(n)))) if a == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32182 /* "SQLITE_NOMEM" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32944 /* "SQLITE_NOMEM" */, uintptr(0))) return TCL_ERROR } for i = 0; i < n; i++ { @@ -64808,8 +66292,8 @@ var aObjCmd10 = [2]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 32195 /* "sqlite3_intarray..." */, FxProc: 0}, - {FzName: ts + 32219 /* "sqlite3_intarray..." */, FxProc: 0}, + {FzName: ts + 32957 /* "sqlite3_intarray..." */, FxProc: 0}, + {FzName: ts + 32981 /* "sqlite3_intarray..." */, FxProc: 0}, } /* test_intarray.c:380:5 */ // Maximum pathname length supported by the jt backend. @@ -64842,7 +66326,7 @@ var jt_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(jt_file{})), // szOsFile FmxPathname: JT_MAX_PATHNAME, // pNext - FzName: ts + 32241, /* "jt" */ // pAppData + FzName: ts + 33003, /* "jt" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -64956,7 +66440,7 @@ func locateDatabaseHandle(tls *libc.TLS, zJournal uintptr, noLock int32) uintptr var pMain uintptr = uintptr(0) enterJtMutex(tls) for pMain = g2.FpList; pMain != 0; pMain = (*jt_file)(unsafe.Pointer(pMain)).FpNext { - var nName int32 = (int32(libc.Xstrlen(tls, zJournal) - libc.Xstrlen(tls, ts+32244 /* "-journal" */))) + var nName int32 = (int32(libc.Xstrlen(tls, zJournal) - libc.Xstrlen(tls, ts+33006 /* "-journal" */))) if (((((*jt_file)(unsafe.Pointer(pMain)).Fflags & SQLITE_OPEN_MAIN_DB) != 0) && (int32(libc.Xstrlen(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName)) == nName)) && (0 == libc.Xmemcmp(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName, zJournal, uint64(nName)))) && @@ -65421,7 +66905,7 @@ func jtOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int // returning. func jtDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* test_journal.c:733:12: */ var nPath int32 = int32(libc.Xstrlen(tls, zPath)) - if (nPath > 8) && (0 == libc.Xstrcmp(tls, ts+32244 /* "-journal" */, (zPath+uintptr((nPath-8))))) { + if (nPath > 8) && (0 == libc.Xstrcmp(tls, ts+33006 /* "-journal" */, (zPath+uintptr((nPath-8))))) { // Deleting a journal file. The end of a transaction. var pMain uintptr = locateDatabaseHandle(tls, zPath, 0) if pMain != 0 { @@ -65912,7 +67396,7 @@ func pointerToText(tls *libc.TLS, p uintptr, z uintptr) { /* test_malloc.c:239:1 // var n sqlite3_uint64 at bp, 8 if *(*uintptr)(unsafe.Pointer(bp + 8 /* p */)) == uintptr(0) { - libc.Xstrcpy(tls, z, ts+13873 /* "0" */) + libc.Xstrcpy(tls, z, ts+14654 /* "0" */) return } if uint64(unsafe.Sizeof(sqlite3_uint64(0))) == uint64(unsafe.Sizeof(uintptr(0))) { @@ -65945,7 +67429,7 @@ __3: *(*int8)(unsafe.Pointer(z + 16)) = int8(0) } -var zHex = *(*[17]int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */)) /* test_malloc.c:240:21 */ +var zHex = *(*[17]int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */)) /* test_malloc.c:240:21 */ func hexToInt(tls *libc.TLS, h int32) int32 { /* test_malloc.c:262:12: */ if (h >= '0') && (h <= '9') { @@ -66001,7 +67485,7 @@ func test_malloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zOut [100]int8 at bp+20, 100 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32253 /* "NBYTES" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33015 /* "NBYTES" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &nByte */) != 0 { @@ -66028,14 +67512,14 @@ func test_realloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zOut [100]int8 at bp+56, 100 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32260 /* "PRIOR NBYTES" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33022 /* "PRIOR NBYTES" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &nByte */) != 0 { return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &pPrior */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } p = sqlite3.Xsqlite3_realloc(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pPrior */)), int32(uint32(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))))) @@ -66054,11 +67538,11 @@ func test_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob // var pPrior uintptr at bp+24, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32287 /* "PRIOR" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33049 /* "PRIOR" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &pPrior */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPrior */))) @@ -66085,18 +67569,18 @@ func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zBin [100]int8 at bp+72, 100 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32293 /* "ADDRESS SIZE HEX" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33055 /* "ADDRESS SIZE HEX" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &p */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64 /* &size */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 64 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32310 /* "size must be pos..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+33072 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } zHex = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+68 /* &n */) @@ -66105,7 +67589,7 @@ func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } *(*int32)(unsafe.Pointer(bp + 68 /* n */)) = sqlite3TestHexToBin(tls, zHex, *(*int32)(unsafe.Pointer(bp + 68 /* n */)), bp+72 /* &zBin[0] */) if *(*int32)(unsafe.Pointer(bp + 68 /* n */)) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+32332 /* "no data" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+33094 /* "no data" */, uintptr(0))) return TCL_ERROR } zOut = *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) @@ -66131,18 +67615,18 @@ func test_memget(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zHex [100]int8 at bp+68, 100 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32340 /* "ADDRESS SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33102 /* "ADDRESS SIZE" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &p */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32273 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33035 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64 /* &size */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 64 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32310 /* "size must be pos..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+33072 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } zBin = *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) @@ -66178,7 +67662,7 @@ func test_memory_highwater(tls *libc.TLS, clientData uintptr, interp uintptr, ob *(*int32)(unsafe.Pointer(bp /* resetFlag */)) = 0 if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32353 /* "?RESET?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33115 /* "?RESET?" */) return TCL_ERROR } if objc == 2 { @@ -66202,7 +67686,7 @@ func test_memdebug_backtrace(tls *libc.TLS, clientData uintptr, interp uintptr, // var depth int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32361 /* "DEPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33123 /* "DEPT" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &depth */) != 0 { @@ -66216,7 +67700,7 @@ func test_memdebug_backtrace(tls *libc.TLS, clientData uintptr, interp uintptr, // Write a summary of unfreed memory to FILENAME. func test_memdebug_dump(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:542:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } return TCL_OK @@ -66264,7 +67748,7 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc var nFail int32 = 0 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32375 /* "COUNTER ?OPTIONS..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33137 /* "COUNTER ?OPTIONS..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &iFail */) != 0 { @@ -66277,22 +67761,22 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc var zOption uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(ii)*8)), bp+28 /* &nOption */) var zErr uintptr = uintptr(0) - if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32393 /* "-repeat" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { + if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+33155 /* "-repeat" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { if ii == (objc - 1) { - zErr = ts + 12327 /* "option requires ..." */ + zErr = ts + 13108 /* "option requires ..." */ } else { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*8)), bp+32 /* &nRepeat */) != 0 { return TCL_ERROR } } - } else if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32401 /* "-benigncnt" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { + } else if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+33163 /* "-benigncnt" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { if ii == (objc - 1) { - zErr = ts + 12327 /* "option requires ..." */ + zErr = ts + 13108 /* "option requires ..." */ } else { pBenignCnt = *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*8)) } } else { - zErr = ts + 12133 /* "unknown option: " */ + zErr = ts + 12914 /* "unknown option: " */ } if zErr != 0 { @@ -66344,7 +67828,7 @@ var sqlite3_memdebug_title_count int32 = 0 /* test_malloc.c:694:12 */ func test_memdebug_settitle(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:706:26: */ sqlite3_memdebug_title_count++ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32412 /* "TITLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33174 /* "TITLE" */) return TCL_ERROR } return TCL_OK @@ -66397,7 +67881,7 @@ func test_memdebug_log(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32418 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33180 /* "SUB-COMMAND ..." */) } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&MB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) != 0 { return TCL_ERROR @@ -66461,7 +67945,7 @@ func test_memdebug_log(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } var isInit int32 = 0 /* test_malloc.c:793:14 */ -var MB_strs = [5]uintptr{ts + 32434 /* "start" */, ts + 32440 /* "stop" */, ts + 32445 /* "dump" */, ts + 32450 /* "clear" */, ts + 32456 /* "sync" */} /* test_malloc.c:796:21 */ +var MB_strs = [5]uintptr{ts + 33196 /* "start" */, ts + 33202 /* "stop" */, ts + 33207 /* "dump" */, ts + 33212 /* "clear" */, ts + 33218 /* "sync" */} /* test_malloc.c:796:21 */ // Usage: sqlite3_config_pagecache SIZE N // @@ -66481,7 +67965,7 @@ func test_config_pagecache(tls *libc.TLS, clientData uintptr, interp uintptr, ob var pRes uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32461 /* "SIZE N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33223 /* "SIZE N" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+48 /* &sz */) != 0 { @@ -66529,7 +68013,7 @@ func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int *(*int32)(unsafe.Pointer(bp + 28 /* highStress */)) = 0 if (objc < 2) || (objc > 5) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+32468 /* "INSTALLFLAG DISC..." */) + ts+33230 /* "INSTALLFLAG DISC..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &installFlag */) != 0 { @@ -66545,7 +68029,7 @@ func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int return TCL_ERROR } if (*(*int32)(unsafe.Pointer(bp + 20 /* discardChance */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 20 /* discardChance */)) > 100) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32515, /* "discard-chance s..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33277, /* "discard-chance s..." */ uintptr(0))) return TCL_ERROR } @@ -66565,7 +68049,7 @@ func test_config_memstatus(tls *libc.TLS, clientData uintptr, interp uintptr, ob var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &enable */) != 0 { @@ -66588,7 +68072,7 @@ func test_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, ob var pRet uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32558 /* "SIZE COUNT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33320 /* "SIZE COUNT" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &sz */) != 0 { @@ -66626,7 +68110,7 @@ func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, // var bufid int32 at bp+72, 4 if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32569 /* "BUFID SIZE COUNT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33331 /* "BUFID SIZE COUNT" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -66646,7 +68130,7 @@ func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, } else if ((*(*int32)(unsafe.Pointer(bp + 72 /* bufid */)) >= 1) && (*(*int32)(unsafe.Pointer(bp + 72 /* bufid */)) <= 2)) && ((uint64(*(*int32)(unsafe.Pointer(bp + 76 /* sz */)) * *(*int32)(unsafe.Pointer(bp + 80 /* cnt */)))) <= uint64(unsafe.Sizeof([10000]int8{}))) { rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+24, (uintptr(unsafe.Pointer(&azBuf))+uintptr(*(*int32)(unsafe.Pointer(bp + 72 /* bufid */)))*10000), *(*int32)(unsafe.Pointer(bp + 76 /* sz */)), *(*int32)(unsafe.Pointer(bp + 80 /* cnt */)))) } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+32586 /* "illegal argument..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+33348 /* "illegal argument..." */, uintptr(0))) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) @@ -66670,7 +68154,7 @@ func test_config_heap(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var nArg int32 = (objc - 1) if nArg != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32624 /* "NBYTE NMINALLOC" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33386 /* "NBYTE NMINALLOC" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+48 /* &nByte */) != 0 { @@ -66708,7 +68192,7 @@ func test_config_heap_size(tls *libc.TLS, clientData uintptr, interp uintptr, ob var nArg int32 = (objc - 1) if nArg != 1 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15910 /* "NBYTE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+8 /* &nByte */) != 0 { @@ -66732,7 +68216,7 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+32, 8 if (objc != 2) && (objc != 1) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32640 /* "[DB]" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33402 /* "[DB]" */) return TCL_ERROR } if objc == 2 { @@ -66741,14 +68225,14 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } if sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+32645, /* "sqlite3_db_confi..." */ + libc.VaList(bp, ts+33407, /* "sqlite3_db_confi..." */ uintptr(0))) return TCL_ERROR } } else { if sqlite3.Xsqlite3_config(tls, 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+16, ts+32703, /* "sqlite3_config(9..." */ + libc.VaList(bp+16, ts+33465, /* "sqlite3_config(9..." */ uintptr(0))) return TCL_ERROR } @@ -66768,7 +68252,7 @@ func test_config_uri(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var bOpenUri int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &bOpenUri */) != 0 { @@ -66793,7 +68277,7 @@ func test_config_cis(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var bUseCis int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &bUseCis */) != 0 { @@ -66817,7 +68301,7 @@ func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var iPmaSz int32 at bp+8, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18619 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &iPmaSz */) != 0 { @@ -66836,7 +68320,7 @@ func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // Write a summary of unfreed memsys3 allocations to FILENAME. func test_dump_memsys3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:1251:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } @@ -66874,7 +68358,7 @@ func test_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zOpName uintptr var pResult uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32754 /* "PARAMETER RESETF..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33516 /* "PARAMETER RESETF..." */) return TCL_ERROR } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -66916,16 +68400,16 @@ var aOp1 = [10]struct { Fop int32 _ [4]byte }{ - {FzName: ts + 32774 /* "SQLITE_STATUS_ME..." */}, - {FzName: ts + 32800 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, - {FzName: ts + 32826 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_USED}, - {FzName: ts + 32855 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_OVERFLOW}, - {FzName: ts + 32888 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_SIZE}, - {FzName: ts + 32917 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_USED}, - {FzName: ts + 32944 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_OVERFLOW}, - {FzName: ts + 32975 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_SIZE}, - {FzName: ts + 33002 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PARSER_STACK}, - {FzName: ts + 33029 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_COUNT}, + {FzName: ts + 33536 /* "SQLITE_STATUS_ME..." */}, + {FzName: ts + 33562 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, + {FzName: ts + 33588 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_USED}, + {FzName: ts + 33617 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_OVERFLOW}, + {FzName: ts + 33650 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_SIZE}, + {FzName: ts + 33679 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_USED}, + {FzName: ts + 33706 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_OVERFLOW}, + {FzName: ts + 33737 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_SIZE}, + {FzName: ts + 33764 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PARSER_STACK}, + {FzName: ts + 33791 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_COUNT}, } /* test_malloc.c:1299:5 */ // Usage: sqlite3_db_status DATABASE OPCODE RESETFLAG @@ -66950,17 +68434,17 @@ func test_db_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var pResult uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33056 /* "DB PARAMETER RES..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33818 /* "DB PARAMETER RES..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if libc.Xmemcmp(tls, zOpName, ts+33079 /* "SQLITE_" */, uint64(7)) == 0 { + if libc.Xmemcmp(tls, zOpName, ts+33841 /* "SQLITE_" */, uint64(7)) == 0 { zOpName += uintptr(7) } - if libc.Xmemcmp(tls, zOpName, ts+33087 /* "DBSTATUS_" */, uint64(9)) == 0 { + if libc.Xmemcmp(tls, zOpName, ts+33849 /* "DBSTATUS_" */, uint64(9)) == 0 { zOpName += uintptr(9) } for i = 0; i < (int32(uint64(unsafe.Sizeof(aOp2)) / uint64(unsafe.Sizeof(struct { @@ -67001,19 +68485,19 @@ var aOp2 = [13]struct { Fop int32 _ [4]byte }{ - {FzName: ts + 33097 /* "LOOKASIDE_USED" */}, - {FzName: ts + 33112 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, - {FzName: ts + 33123 /* "SCHEMA_USED" */, Fop: SQLITE_DBSTATUS_SCHEMA_USED}, - {FzName: ts + 33135 /* "STMT_USED" */, Fop: SQLITE_DBSTATUS_STMT_USED}, - {FzName: ts + 33145 /* "LOOKASIDE_HIT" */, Fop: SQLITE_DBSTATUS_LOOKASIDE_HIT}, - {FzName: ts + 33159 /* "LOOKASIDE_MISS_S..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE}, - {FzName: ts + 33179 /* "LOOKASIDE_MISS_F..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL}, - {FzName: ts + 33199 /* "CACHE_HIT" */, Fop: SQLITE_DBSTATUS_CACHE_HIT}, - {FzName: ts + 33209 /* "CACHE_MISS" */, Fop: SQLITE_DBSTATUS_CACHE_MISS}, - {FzName: ts + 33220 /* "CACHE_WRITE" */, Fop: SQLITE_DBSTATUS_CACHE_WRITE}, - {FzName: ts + 33232 /* "DEFERRED_FKS" */, Fop: SQLITE_DBSTATUS_DEFERRED_FKS}, - {FzName: ts + 33245 /* "CACHE_USED_SHARE..." */, Fop: SQLITE_DBSTATUS_CACHE_USED_SHARED}, - {FzName: ts + 33263 /* "CACHE_SPILL" */, Fop: SQLITE_DBSTATUS_CACHE_SPILL}, + {FzName: ts + 33859 /* "LOOKASIDE_USED" */}, + {FzName: ts + 33874 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, + {FzName: ts + 33885 /* "SCHEMA_USED" */, Fop: SQLITE_DBSTATUS_SCHEMA_USED}, + {FzName: ts + 33897 /* "STMT_USED" */, Fop: SQLITE_DBSTATUS_STMT_USED}, + {FzName: ts + 33907 /* "LOOKASIDE_HIT" */, Fop: SQLITE_DBSTATUS_LOOKASIDE_HIT}, + {FzName: ts + 33921 /* "LOOKASIDE_MISS_S..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE}, + {FzName: ts + 33941 /* "LOOKASIDE_MISS_F..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL}, + {FzName: ts + 33961 /* "CACHE_HIT" */, Fop: SQLITE_DBSTATUS_CACHE_HIT}, + {FzName: ts + 33971 /* "CACHE_MISS" */, Fop: SQLITE_DBSTATUS_CACHE_MISS}, + {FzName: ts + 33982 /* "CACHE_WRITE" */, Fop: SQLITE_DBSTATUS_CACHE_WRITE}, + {FzName: ts + 33994 /* "DEFERRED_FKS" */, Fop: SQLITE_DBSTATUS_DEFERRED_FKS}, + {FzName: ts + 34007 /* "CACHE_USED_SHARE..." */, Fop: SQLITE_DBSTATUS_CACHE_USED_SHARED}, + {FzName: ts + 34025 /* "CACHE_SPILL" */, Fop: SQLITE_DBSTATUS_CACHE_SPILL}, } /* test_malloc.c:1358:5 */ // install_malloc_faultsim BOOLEAN @@ -67025,7 +68509,7 @@ func test_install_malloc_faultsim(tls *libc.TLS, clientData uintptr, interp uint // var isInstall int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &isInstall */) { @@ -67048,7 +68532,7 @@ func test_vfs_oom_test(tls *libc.TLS, clientData uintptr, interp uintptr, objc i defer tls.Free(4) if objc > 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33275 /* "?INTEGER?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34037 /* "?INTEGER?" */) return TCL_ERROR } else if objc == 2 { // var iNew int32 at bp, 4 @@ -67083,38 +68567,38 @@ var aObjCmd11 = [32]struct { FclientData int32 _ [4]byte }{ - {FzName: ts + 27612 /* "sqlite3_malloc" */, FxProc: 0}, - {FzName: ts + 27627 /* "sqlite3_realloc" */, FxProc: 0}, - {FzName: ts + 33285 /* "sqlite3_free" */, FxProc: 0}, - {FzName: ts + 33298 /* "memset" */, FxProc: 0}, - {FzName: ts + 33305 /* "memget" */, FxProc: 0}, - {FzName: ts + 33312 /* "sqlite3_memory_u..." */, FxProc: 0}, - {FzName: ts + 33332 /* "sqlite3_memory_h..." */, FxProc: 0}, - {FzName: ts + 33357 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33384 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33406 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33428 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33453 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33479 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33509 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33530 /* "sqlite3_config_p..." */, FxProc: 0}, - {FzName: ts + 33555 /* "sqlite3_config_a..." */, FxProc: 0}, - {FzName: ts + 33581 /* "sqlite3_status" */, FxProc: 0}, - {FzName: ts + 33596 /* "sqlite3_db_statu..." */, FxProc: 0}, - {FzName: ts + 33614 /* "install_malloc_f..." */, FxProc: 0}, - {FzName: ts + 33638 /* "sqlite3_config_h..." */, FxProc: 0}, - {FzName: ts + 33658 /* "sqlite3_config_h..." */, FxProc: 0}, - {FzName: ts + 33683 /* "sqlite3_config_m..." */, FxProc: 0}, - {FzName: ts + 33708 /* "sqlite3_config_l..." */, FxProc: 0}, - {FzName: ts + 33733 /* "sqlite3_config_e..." */, FxProc: 0}, - {FzName: ts + 33754 /* "sqlite3_config_u..." */, FxProc: 0}, - {FzName: ts + 33773 /* "sqlite3_config_c..." */, FxProc: 0}, - {FzName: ts + 33792 /* "sqlite3_config_p..." */, FxProc: 0}, - {FzName: ts + 33813 /* "sqlite3_db_confi..." */, FxProc: 0}, - {FzName: ts + 33841 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 3}, - {FzName: ts + 33862 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 5}, - {FzName: ts + 33883 /* "sqlite3_install_..." */, FxProc: 0}, - {FzName: ts + 33907 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 28381 /* "sqlite3_malloc" */, FxProc: 0}, + {FzName: ts + 28396 /* "sqlite3_realloc" */, FxProc: 0}, + {FzName: ts + 34047 /* "sqlite3_free" */, FxProc: 0}, + {FzName: ts + 34060 /* "memset" */, FxProc: 0}, + {FzName: ts + 34067 /* "memget" */, FxProc: 0}, + {FzName: ts + 34074 /* "sqlite3_memory_u..." */, FxProc: 0}, + {FzName: ts + 34094 /* "sqlite3_memory_h..." */, FxProc: 0}, + {FzName: ts + 34119 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34146 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34168 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34190 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34215 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34241 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34271 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34292 /* "sqlite3_config_p..." */, FxProc: 0}, + {FzName: ts + 34317 /* "sqlite3_config_a..." */, FxProc: 0}, + {FzName: ts + 34343 /* "sqlite3_status" */, FxProc: 0}, + {FzName: ts + 34358 /* "sqlite3_db_statu..." */, FxProc: 0}, + {FzName: ts + 34376 /* "install_malloc_f..." */, FxProc: 0}, + {FzName: ts + 34400 /* "sqlite3_config_h..." */, FxProc: 0}, + {FzName: ts + 34420 /* "sqlite3_config_h..." */, FxProc: 0}, + {FzName: ts + 34445 /* "sqlite3_config_m..." */, FxProc: 0}, + {FzName: ts + 34470 /* "sqlite3_config_l..." */, FxProc: 0}, + {FzName: ts + 34495 /* "sqlite3_config_e..." */, FxProc: 0}, + {FzName: ts + 34516 /* "sqlite3_config_u..." */, FxProc: 0}, + {FzName: ts + 34535 /* "sqlite3_config_c..." */, FxProc: 0}, + {FzName: ts + 34554 /* "sqlite3_config_p..." */, FxProc: 0}, + {FzName: ts + 34575 /* "sqlite3_db_confi..." */, FxProc: 0}, + {FzName: ts + 34603 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 3}, + {FzName: ts + 34624 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 5}, + {FzName: ts + 34645 /* "sqlite3_install_..." */, FxProc: 0}, + {FzName: ts + 34669 /* "sqlite3_memdebug..." */, FxProc: 0}, } /* test_malloc.c:1472:5 */ // Some versions of define this macros. @@ -67506,7 +68990,7 @@ func MD5DigestToBase16(tls *libc.TLS, digest uintptr, zBuf uintptr) { /* test_md *(*int8)(unsafe.Pointer(zBuf + uintptr(j))) = int8(0) } -var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 30627 /* "0123456789abcdef" */)) /* test_md5.c:285:21 */ +var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 31389 /* "0123456789abcdef" */)) /* test_md5.c:285:21 */ // Convert a 128-bit MD5 digest into sequency of eight 5-digit integers // each representing 16 bits of the digest and separated from each @@ -67523,7 +69007,7 @@ func MD5DigestToBase10x8(tls *libc.TLS, digest uintptr, zDigest uintptr) { /* te if i > 0 { *(*int8)(unsafe.Pointer(zDigest + uintptr(libc.PostIncInt32(&j, 1)))) = int8('-') } - sqlite3.Xsqlite3_snprintf(tls, (50 - j), (zDigest + uintptr(j)), ts+33937 /* "%05u" */, libc.VaList(bp, x)) + sqlite3.Xsqlite3_snprintf(tls, (50 - j), (zDigest + uintptr(j)), ts+34699 /* "%05u" */, libc.VaList(bp, x)) j = j + (5) } *(*int8)(unsafe.Pointer(zDigest + uintptr(j))) = int8(0) @@ -67544,8 +69028,8 @@ func md5_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uintptr var converter uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14992 /* " TEXT\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15773 /* " TEXT\"" */, uintptr(0))) return TCL_ERROR } MD5Init(tls, bp+48 /* &ctx */) @@ -67574,8 +69058,8 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin // var zBuf [10240]int8 at bp+172, 10240 if (argc != 2) && (argc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+33942 /* " FILENAME [OFFSE..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+34704 /* " FILENAME [OFFSE..." */, uintptr(0))) return TCL_ERROR } if argc == 4 { @@ -67587,8 +69071,8 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin } in = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+4263 /* "rb" */) if in == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+33966 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), - ts+33988 /* "\" for reading" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+34728 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), + ts+34750 /* "\" for reading" */, uintptr(0))) return TCL_ERROR } libc.Xfseek(tls, in, int64(ofst), SEEK_SET) @@ -67618,25 +69102,25 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin // Register the four new TCL commands for generating MD5 checksums // with the TCL interpreter. func Md5_Init(tls *libc.TLS, interp uintptr) int32 { /* test_md5.c:400:5: */ - tcl.XTcl_CreateCommand(tls, interp, ts+34002 /* "md5" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34764 /* "md5" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase16})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34006 /* "md5-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34768 /* "md5-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase10x8})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34015 /* "md5file" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34777 /* "md5file" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5file_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase16})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+34023 /* "md5file-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34785 /* "md5file-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5file_cmd})), *(*uintptr)(unsafe.Pointer(&struct { @@ -67684,11 +69168,11 @@ func md5finalize(tls *libc.TLS, context uintptr) { /* test_md5.c:432:13: */ } func Md5_Register(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk uintptr) int32 { /* test_md5.c:441:5: */ - var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+34036 /* "md5sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), + var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+34798 /* "md5sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{md5step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{md5finalize}))) - sqlite3.Xsqlite3_overload_function(tls, db, ts+34036 /* "md5sum" */, -1) // To exercise this API + sqlite3.Xsqlite3_overload_function(tls, db, ts+34798 /* "md5sum" */, -1) // To exercise this API return rc } @@ -67858,7 +69342,7 @@ func multiplexFilename(tls *libc.TLS, zBase uintptr, nBase int32, flags int32, i var n int32 = nBase libc.Xmemcpy(tls, zOut, zBase, (uint64(n + 1))) if (iChunk != 0) && (iChunk <= MX_CHUNK_NUMBER) { - sqlite3.Xsqlite3_snprintf(tls, 4, (zOut + uintptr(n)), ts+34043 /* "%03d" */, libc.VaList(bp, iChunk)) + sqlite3.Xsqlite3_snprintf(tls, 4, (zOut + uintptr(n)), ts+34805 /* "%03d" */, libc.VaList(bp, iChunk)) n = n + (3) } @@ -67924,7 +69408,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p SQLITE_ACCESS_EXISTS, bp+16 /* &bExists */) if (*(*int32)(unsafe.Pointer(rc)) != 0) || !(*(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) != 0) { if *(*int32)(unsafe.Pointer(rc)) != 0 { - sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34048, /* "multiplexor.xAcc..." */ + sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34810, /* "multiplexor.xAcc..." */ libc.VaList(bp, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz)) } return uintptr(0) @@ -67940,7 +69424,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p *(*int32)(unsafe.Pointer(rc)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 40 /* &.xOpen */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, pSubOpen, flags, pOutFlags) if (*(*int32)(unsafe.Pointer(rc))) != SQLITE_OK { - sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34082, /* "multiplexor.xOpe..." */ + sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34844, /* "multiplexor.xOpe..." */ libc.VaList(bp+8, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz)) sqlite3.Xsqlite3_free(tls, pSubOpen) (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*16)).Fp = uintptr(0) @@ -68016,7 +69500,7 @@ func multiplexControlFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp // multiplex_control() function. func multiplexFuncInit(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 { /* test_multiplex.c:417:12: */ var rc int32 - rc = sqlite3.Xsqlite3_create_function(tls, db, ts+34114 /* "multiplex_contro..." */, 2, SQLITE_ANY, + rc = sqlite3.Xsqlite3_create_function(tls, db, ts+34876 /* "multiplex_contro..." */, 2, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{multiplexControlFunc})), uintptr(0), uintptr(0)) @@ -68101,9 +69585,9 @@ func multiplexOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, fl libc.Xmemset(tls, pGroup, 0, uint64(sz)) (*multiplexConn)(unsafe.Pointer(pMultiplexOpen)).FpGroup = pGroup (*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled = libc.Uint8(libc.Uint8FromInt32(-1)) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(sqlite3.Xsqlite3_uri_boolean(tls, zUri, ts+17962, /* "truncate" */ + (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(sqlite3.Xsqlite3_uri_boolean(tls, zUri, ts+18743, /* "truncate" */ (libc.Bool32((flags & SQLITE_OPEN_MAIN_DB) == 0)))) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(sqlite3.Xsqlite3_uri_int64(tls, zUri, ts+34132, /* "chunksize" */ + (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(sqlite3.Xsqlite3_uri_int64(tls, zUri, ts+34894, /* "chunksize" */ int64(SQLITE_MULTIPLEX_CHUNK_SIZE)))) (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = (((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk + uint32(0xffff)) & libc.Uint32FromInt32(libc.CplInt32(0xffff))) if zName != 0 { @@ -68574,13 +70058,13 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) // second element of the array is the name of the pragma and the third // element is the argument to the pragma or NULL if the pragma has no // argument. - if (*(*uintptr)(unsafe.Pointer(aFcntl + 1*8)) != 0) && (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)), ts+34142 /* "multiplex_trunca..." */) == 0) { + if (*(*uintptr)(unsafe.Pointer(aFcntl + 1*8)) != 0) && (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)), ts+34904 /* "multiplex_trunca..." */) == 0) { if (*(*uintptr)(unsafe.Pointer(aFcntl + 2*8)) != 0) && (*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(aFcntl + 2*8)))) != 0) { if (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+4039 /* "on" */) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+28325 /* "1" */) == 0) { + (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+29094 /* "1" */) == 0) { (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(1) } else if (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+4403 /* "off" */) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+13873 /* "0" */) == 0) { + (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+14654 /* "0" */) == 0) { (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(0) } } @@ -68608,7 +70092,7 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) if pSubOpen != 0 { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 80 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34161 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34923 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } } break @@ -68730,7 +70214,7 @@ func sqlite3_multiplex_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefau gMultiplex.FpOrigVfs = pOrigVfs gMultiplex.FsThisVfs = *(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)) *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gMultiplex)) + 8 /* &.sThisVfs */ + 4 /* &.szOsFile */)) += int32((uint64(unsafe.Sizeof(multiplexConn{})))) - gMultiplex.FsThisVfs.FzName = ts + 34174 /* "multiplex" */ + gMultiplex.FsThisVfs.FzName = ts + 34936 /* "multiplex" */ gMultiplex.FsThisVfs.FxOpen = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 }{multiplexOpen})) @@ -68861,7 +70345,7 @@ func test_multiplex_initialize(tls *libc.TLS, clientData uintptr, interp uintptr // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34184 /* "NAME MAKEDEFAULT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34946 /* "NAME MAKEDEFAULT" */) return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -68885,11 +70369,11 @@ func test_multiplex_shutdown(tls *libc.TLS, clientData uintptr, interp uintptr, _ = clientData - if (objc == 2) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+34201 /* "-force" */) != 0) { + if (objc == 2) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+34963 /* "-force" */) != 0) { objc = 3 } if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34208 /* "?-force?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34970 /* "?-force?" */) return TCL_ERROR } @@ -68923,20 +70407,20 @@ func test_multiplex_control(tls *libc.TLS, cd ClientData, interp uintptr, objc i Fop int32 Fargtype int32 }{ - {FzName: ts + 34217 /* "enable" */, Fop: MULTIPLEX_CTRL_ENABLE, Fargtype: 1}, - {FzName: ts + 34224 /* "chunk_size" */, Fop: MULTIPLEX_CTRL_SET_CHUNK_SIZE, Fargtype: 1}, - {FzName: ts + 34235 /* "max_chunks" */, Fop: MULTIPLEX_CTRL_SET_MAX_CHUNKS, Fargtype: 1}, + {FzName: ts + 10608 /* "enable" */, Fop: MULTIPLEX_CTRL_ENABLE, Fargtype: 1}, + {FzName: ts + 34979 /* "chunk_size" */, Fop: MULTIPLEX_CTRL_SET_CHUNK_SIZE, Fargtype: 1}, + {FzName: ts + 34990 /* "max_chunks" */, Fop: MULTIPLEX_CTRL_SET_MAX_CHUNKS, Fargtype: 1}, {}, } if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34246 /* "HANDLE DBNAME SU..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35001 /* "HANDLE DBNAME SU..." */) return TCL_ERROR } if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &cmdInfo */) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34282 /* "expected databas..." */, 0)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35037 /* "expected databas..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+12415 /* "\"" */, 0)) return TCL_ERROR } else { db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 40 /* &cmdInfo */)).FobjClientData)) @@ -69000,9 +70484,9 @@ var aCmd7 = [3]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 34314 /* "sqlite3_multiple..." */, FxProc: 0}, - {FzName: ts + 34343 /* "sqlite3_multiple..." */, FxProc: 0}, - {FzName: ts + 34370 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35069 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35098 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 35125 /* "sqlite3_multiple..." */, FxProc: 0}, } /* test_multiplex.c:1310:5 */ // CAPI3REF: Standard File Control Opcodes @@ -69356,10 +70840,10 @@ var aCmd7 = [3]struct { type sqlite3_mutex = sqlite3_mutex1 /* sqlite3.h:1206:30 */ var aName = [15]uintptr{ - ts + 34396 /* "fast" */, ts + 34401 /* "recursive" */, ts + 34411 /* "static_main" */, ts + 34423, /* "static_mem" */ - ts + 34434 /* "static_open" */, ts + 34446 /* "static_prng" */, ts + 34458 /* "static_lru" */, ts + 34469, /* "static_pmem" */ - ts + 34481 /* "static_app1" */, ts + 34493 /* "static_app2" */, ts + 34505 /* "static_app3" */, ts + 34517, /* "static_vfs1" */ - ts + 34529 /* "static_vfs2" */, ts + 34541 /* "static_vfs3" */, uintptr(0), + ts + 35151 /* "fast" */, ts + 35156 /* "recursive" */, ts + 35166 /* "static_main" */, ts + 35178, /* "static_mem" */ + ts + 35189 /* "static_open" */, ts + 35201 /* "static_prng" */, ts + 35213 /* "static_lru" */, ts + 35224, /* "static_pmem" */ + ts + 35236 /* "static_app1" */, ts + 35248 /* "static_app2" */, ts + 35260 /* "static_app3" */, ts + 35272, /* "static_vfs1" */ + ts + 35284 /* "static_vfs2" */, ts + 35296 /* "static_vfs3" */, uintptr(0), } /* test_mutex.c:32:19 */ // State variables @@ -69518,7 +71002,7 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp } if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17896 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18677 /* "BOOLEAN" */) return TCL_ERROR } if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+56 /* &isInstall */) { @@ -69526,12 +71010,12 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp } if *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) == g3.FisInstalled { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34553 /* "mutex counters a..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35308 /* "mutex counters a..." */, 0)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, func() uintptr { if *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) != 0 { - return ts + 34573 /* "already installe..." */ + return ts + 35328 /* "already installe..." */ } - return ts + 34591 /* "not installed" */ + return ts + 35346 /* "not installed" */ }(), 0)) return TCL_ERROR } @@ -69610,7 +71094,7 @@ func test_alloc_mutex(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // var zBuf [100]int8 at bp+24, 100 sqlite3.Xsqlite3_mutex_free(tls, p) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24 /* &zBuf[0] */, uintptr(0))) return TCL_OK } @@ -69629,9 +71113,9 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(68) *(*[4]ConfigOption)(unsafe.Pointer(bp /* aOpt */)) = [4]ConfigOption{ - {FzName: ts + 34605 /* "singlethread" */, FiValue: SQLITE_CONFIG_SINGLETHREAD}, - {FzName: ts + 34618 /* "multithread" */, FiValue: SQLITE_CONFIG_MULTITHREAD}, - {FzName: ts + 34630 /* "serialized" */, FiValue: SQLITE_CONFIG_SERIALIZED}, + {FzName: ts + 35360 /* "singlethread" */, FiValue: SQLITE_CONFIG_SINGLETHREAD}, + {FzName: ts + 35373 /* "multithread" */, FiValue: SQLITE_CONFIG_MULTITHREAD}, + {FzName: ts + 35385 /* "serialized" */, FiValue: SQLITE_CONFIG_SERIALIZED}, {}, } var s int32 = int32(unsafe.Sizeof(ConfigOption{})) @@ -69644,7 +71128,7 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aOpt[0] */, s, ts+17204 /* "flag" */, 0, bp+64 /* &i */) != 0 { + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aOpt[0] */, s, ts+17985 /* "flag" */, 0, bp+64 /* &i */) != 0 { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &i */) != 0 { return TCL_ERROR } @@ -69686,7 +71170,7 @@ func getStaticMutexPointer(tls *libc.TLS, pInterp uintptr, pObj uintptr) uintptr // var iMutex int32 at bp, 4 - if tcl.XTcl_GetIndexFromObjStruct(tls, pInterp, pObj, uintptr(unsafe.Pointer(&aName)), int32(unsafe.Sizeof(uintptr(0))), ts+34641 /* "mutex name" */, 0, bp /* &iMutex */) != 0 { + if tcl.XTcl_GetIndexFromObjStruct(tls, pInterp, pObj, uintptr(unsafe.Pointer(&aName)), int32(unsafe.Sizeof(uintptr(0))), ts+35396 /* "mutex name" */, 0, bp /* &iMutex */) != 0 { return uintptr(0) } @@ -69758,9 +71242,9 @@ func Sqlitetest_mutex_Init(tls *libc.TLS, interp uintptr) int32 { /* test_mutex. tcl.XTcl_CreateObjCommand(tls, interp, aCmd8[i].FzName, aCmd8[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+34652, /* "disable_mutex_in..." */ + tcl.XTcl_LinkVar(tls, interp, ts+35407, /* "disable_mutex_in..." */ (uintptr(unsafe.Pointer(&g3)) + 4 /* &.disableInit */), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+34671, /* "disable_mutex_tr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+35426, /* "disable_mutex_tr..." */ (uintptr(unsafe.Pointer(&g3)) + 8 /* &.disableTry */), TCL_LINK_INT) return SQLITE_OK } @@ -69769,20 +71253,20 @@ var aCmd8 = [11]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 34689 /* "sqlite3_shutdown" */, FxProc: 0}, - {FzName: ts + 34706 /* "sqlite3_initiali..." */, FxProc: 0}, - {FzName: ts + 34725 /* "sqlite3_config" */, FxProc: 0}, + {FzName: ts + 35444 /* "sqlite3_shutdown" */, FxProc: 0}, + {FzName: ts + 35461 /* "sqlite3_initiali..." */, FxProc: 0}, + {FzName: ts + 35480 /* "sqlite3_config" */, FxProc: 0}, - {FzName: ts + 34740 /* "enter_static_mut..." */, FxProc: 0}, - {FzName: ts + 34759 /* "leave_static_mut..." */, FxProc: 0}, + {FzName: ts + 35495 /* "enter_static_mut..." */, FxProc: 0}, + {FzName: ts + 35514 /* "leave_static_mut..." */, FxProc: 0}, - {FzName: ts + 34778 /* "enter_db_mutex" */, FxProc: 0}, - {FzName: ts + 34793 /* "leave_db_mutex" */, FxProc: 0}, + {FzName: ts + 35533 /* "enter_db_mutex" */, FxProc: 0}, + {FzName: ts + 35548 /* "leave_db_mutex" */, FxProc: 0}, - {FzName: ts + 34808 /* "alloc_dealloc_mu..." */, FxProc: 0}, - {FzName: ts + 34828 /* "install_mutex_co..." */, FxProc: 0}, - {FzName: ts + 34851 /* "read_mutex_count..." */, FxProc: 0}, - {FzName: ts + 34871 /* "clear_mutex_coun..." */, FxProc: 0}, + {FzName: ts + 35563 /* "alloc_dealloc_mu..." */, FxProc: 0}, + {FzName: ts + 35583 /* "install_mutex_co..." */, FxProc: 0}, + {FzName: ts + 35606 /* "read_mutex_count..." */, FxProc: 0}, + {FzName: ts + 35626 /* "clear_mutex_coun..." */, FxProc: 0}, } /* test_mutex.c:484:5 */ // Maximum pathname length supported by the fs backend. @@ -69835,7 +71319,7 @@ type fs_vfs_t = fs_vfs_t1 /* test_onefile.c:176:25 */ var fs_vfs = fs_vfs_t{ Fbase: sqlite3_vfs{ FiVersion: 1, // pNext - FzName: ts + 30488, /* "fs" */ // pAppData + FzName: ts + 31250, /* "fs" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -70286,7 +71770,7 @@ __8: if !(*(*sqlite3_int64)(unsafe.Pointer(bp /* size */)) == int64(0)) { goto __9 } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 24 /* &.xWrite */))))(tls, pRealFile, ts+34892 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 24 /* &.xWrite */))))(tls, pRealFile, ts+35647 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) (*fs_real_file)(unsafe.Pointer(pReal)).FnBlob = BLOBSIZE goto __10 __9: @@ -70365,7 +71849,7 @@ func fsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { } if pReal != 0 { pF = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 24 /* &.xWrite */))))(tls, pF, ts+34894 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 24 /* &.xWrite */))))(tls, pF, ts+35649 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) if rc == SQLITE_OK { (*fs_real_file)(unsafe.Pointer(pReal)).FnJournal = 0 } @@ -70386,7 +71870,7 @@ func fsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut u return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 56 /* &.xAccess */))))(tls, pParent, zPath, flags, pResOut) } - if (nName > 8) && (libc.Xstrcmp(tls, ts+32244 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { + if (nName > 8) && (libc.Xstrcmp(tls, ts+33006 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { nName = nName - (8) isJournal = 1 } @@ -70767,7 +72251,7 @@ func vfslogFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int var p uintptr = pFile var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 80 /* &.xFileControl */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34899 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35654 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } return rc } @@ -71062,7 +72546,7 @@ func sqlite3_vfslog_new(tls *libc.TLS, zVfs uintptr, zParentVfs uintptr, zLog ui (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pParent + 48 /* &.xDelete */))))(tls, pParent, zFile, 0) rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 40 /* &.xOpen */))))(tls, pParent, zFile, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, *(*int32)(unsafe.Pointer(bp /* flags */)), bp /* &flags */) if rc == SQLITE_OK { - libc.Xmemcpy(tls, p+204 /* &.aBuf */, ts+34909 /* "sqlite_ostrace1...." */, uint64(20)) + libc.Xmemcpy(tls, p+204 /* &.aBuf */, ts+35664 /* "sqlite_ostrace1...." */, uint64(20)) (*VfslogVfs)(unsafe.Pointer(p)).FiOffset = int64(0) (*VfslogVfs)(unsafe.Pointer(p)).FnBuf = 20 rc = sqlite3.Xsqlite3_vfs_register(tls, p, 1) @@ -71091,78 +72575,78 @@ func vfslog_eventname(tls *libc.TLS, eEvent int32) uintptr { /* test_osinst.c:76 switch eEvent { case OS_CLOSE: - zEvent = ts + 34930 /* "xClose" */ + zEvent = ts + 35685 /* "xClose" */ break case OS_READ: - zEvent = ts + 34937 /* "xRead" */ + zEvent = ts + 35692 /* "xRead" */ break case OS_WRITE: - zEvent = ts + 34943 /* "xWrite" */ + zEvent = ts + 35698 /* "xWrite" */ break case OS_TRUNCATE: - zEvent = ts + 34950 /* "xTruncate" */ + zEvent = ts + 35705 /* "xTruncate" */ break case OS_SYNC: - zEvent = ts + 27353 /* "xSync" */ + zEvent = ts + 28129 /* "xSync" */ break case OS_FILESIZE: - zEvent = ts + 34960 /* "xFilesize" */ + zEvent = ts + 35715 /* "xFilesize" */ break case OS_LOCK: - zEvent = ts + 34970 /* "xLock" */ + zEvent = ts + 35725 /* "xLock" */ break case OS_UNLOCK: - zEvent = ts + 34976 /* "xUnlock" */ + zEvent = ts + 35731 /* "xUnlock" */ break case OS_CHECKRESERVEDLOCK: - zEvent = ts + 34984 /* "xCheckResLock" */ + zEvent = ts + 35739 /* "xCheckResLock" */ break case OS_FILECONTROL: - zEvent = ts + 34998 /* "xFileControl" */ + zEvent = ts + 35753 /* "xFileControl" */ break case OS_SECTORSIZE: - zEvent = ts + 35011 /* "xSectorSize" */ + zEvent = ts + 35766 /* "xSectorSize" */ break case OS_DEVCHAR: - zEvent = ts + 35023 /* "xDeviceChar" */ + zEvent = ts + 35778 /* "xDeviceChar" */ break case OS_OPEN: - zEvent = ts + 26925 /* "xOpen" */ + zEvent = ts + 27701 /* "xOpen" */ break case OS_DELETE: - zEvent = ts + 35035 /* "xDelete" */ + zEvent = ts + 35790 /* "xDelete" */ break case OS_ACCESS: - zEvent = ts + 35043 /* "xAccess" */ + zEvent = ts + 35798 /* "xAccess" */ break case OS_FULLPATHNAME: - zEvent = ts + 35051 /* "xFullPathname" */ + zEvent = ts + 35806 /* "xFullPathname" */ break case OS_RANDOMNESS: - zEvent = ts + 35065 /* "xRandomness" */ + zEvent = ts + 35820 /* "xRandomness" */ break case OS_SLEEP: - zEvent = ts + 35077 /* "xSleep" */ + zEvent = ts + 35832 /* "xSleep" */ break case OS_CURRENTTIME: - zEvent = ts + 35084 /* "xCurrentTime" */ + zEvent = ts + 35839 /* "xCurrentTime" */ break case OS_SHMUNMAP: - zEvent = ts + 35097 /* "xShmUnmap" */ + zEvent = ts + 35852 /* "xShmUnmap" */ break case OS_SHMLOCK: - zEvent = ts + 35107 /* "xShmLock" */ + zEvent = ts + 35862 /* "xShmLock" */ break case OS_SHMBARRIER: - zEvent = ts + 35116 /* "xShmBarrier" */ + zEvent = ts + 35871 /* "xShmBarrier" */ break case OS_SHMMAP: - zEvent = ts + 35128 /* "xShmMap" */ + zEvent = ts + 35883 /* "xShmMap" */ break case OS_ANNOTATE: - zEvent = ts + 35136 /* "annotation" */ + zEvent = ts + 35891 /* "annotation" */ break } @@ -71261,7 +72745,7 @@ func vlogConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp if rc == SQLITE_OK { (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 48 /* &.xFileSize */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, (p + 32 /* &.nByte */)) sqlite3.Xsqlite3_declare_vtab(tls, db, - ts+35147 /* "CREATE TABLE xxx..." */) + ts+35902 /* "CREATE TABLE xxx..." */) *(*uintptr)(unsafe.Pointer(ppVtab)) = (p /* &.base */) } else { sqlite3.Xsqlite3_free(tls, p) @@ -71421,7 +72905,7 @@ func vlogRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* test_o func sqlite3_vfslog_register(tls *libc.TLS, db uintptr) int32 { /* test_osinst.c:1071:5: */ - sqlite3.Xsqlite3_create_module(tls, db, ts+35202 /* "vfslog" */, uintptr(unsafe.Pointer(&vfslog_module)), uintptr(0)) + sqlite3.Xsqlite3_create_module(tls, db, ts+35957 /* "vfslog" */, uintptr(unsafe.Pointer(&vfslog_module)), uintptr(0)) return SQLITE_OK } @@ -71459,7 +72943,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var iSub int32 at bp+72, 4 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32418 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33180 /* "SUB-COMMAND ..." */) return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&strs)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+72 /* &iSub */) != 0 { @@ -71472,14 +72956,14 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zVfs uintptr var zMsg uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+35209 /* "VFS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+35964 /* "VFS" */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) zMsg = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) rc = sqlite3_vfslog_annotate(tls, zVfs, zMsg) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35213 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35968 /* "failed" */, 0)) return TCL_ERROR } break @@ -71489,13 +72973,13 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, { var zVfs uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35209 /* "VFS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35964 /* "VFS" */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) rc = sqlite3_vfslog_finalize(tls, zVfs) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+35213 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+35968 /* "failed" */, 0)) return TCL_ERROR } break @@ -71508,7 +72992,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zParent uintptr var zLog uintptr if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35220 /* "VFS PARENT LOGFI..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35975 /* "VFS PARENT LOGFI..." */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) @@ -71519,7 +73003,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } rc = sqlite3_vfslog_new(tls, zVfs, zParent, zLog) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+35213 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+35968 /* "failed" */, 0)) return TCL_ERROR } break @@ -71539,7 +73023,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, rc = sqlite3_vfslog_register(tls, db) } if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+35239 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+35994 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) return TCL_ERROR } break @@ -71550,10 +73034,10 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_OK } -var strs = [5]uintptr{ts + 35260 /* "annotate" */, ts + 35269 /* "finalize" */, ts + 13689 /* "new" */, ts + 35278 /* "register" */, uintptr(0)} /* test_osinst.c:1127:21 */ +var strs = [5]uintptr{ts + 36015 /* "annotate" */, ts + 36024 /* "finalize" */, ts + 14470 /* "new" */, ts + 36033 /* "register" */, uintptr(0)} /* test_osinst.c:1127:21 */ func SqlitetestOsinst_Init(tls *libc.TLS, interp uintptr) int32 { /* test_osinst.c:1219:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+35202 /* "vfslog" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+35957 /* "vfslog" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfslog})), uintptr(0), uintptr(0)) return TCL_OK @@ -72597,7 +74081,7 @@ func quotaFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int3 var pSubOpen uintptr = quotaSubOpen(tls, pConn) var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 80 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35287 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+36042 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } return rc } @@ -72672,7 +74156,7 @@ func sqlite3_quota_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefault i f func(*libc.TLS, uintptr, uintptr, int32) int32 }{quotaDelete})) *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gQuota)) + 8 /* &.sThisVfs */ + 4 /* &.szOsFile */)) += int32((uint64(unsafe.Sizeof(quotaConn{})))) - gQuota.FsThisVfs.FzName = ts + 35296 /* "quota" */ + gQuota.FsThisVfs.FzName = ts + 36051 /* "quota" */ gQuota.FsIoMethodsV1.FiVersion = 1 gQuota.FsIoMethodsV1.FxClose = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 @@ -73246,7 +74730,7 @@ func tclQuotaCallback(tls *libc.TLS, zFilename uintptr, piLimit uintptr, iSize s return } - pVarname = tcl.XTcl_NewStringObj(tls, ts+35302 /* "::piLimit_" */, -1) + pVarname = tcl.XTcl_NewStringObj(tls, ts+36057 /* "::piLimit_" */, -1) (*Tcl_Obj)(unsafe.Pointer(pVarname)).FrefCount++ sqlite3.Xsqlite3_randomness(tls, int32(unsafe.Sizeof(uint32(0))), bp /* &rnd */) tcl.XTcl_AppendObjToObj(tls, pVarname, tcl.XTcl_NewIntObj(tls, (int32(*(*uint32)(unsafe.Pointer(bp /* rnd */))&uint32(0x7FFFFFFF))))) @@ -73311,7 +74795,7 @@ func test_quota_initialize(tls *libc.TLS, clientData uintptr, interp uintptr, ob // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34184 /* "NAME MAKEDEFAULT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34946 /* "NAME MAKEDEFAULT" */) return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -73363,7 +74847,7 @@ func test_quota_set(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Process arguments if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35313 /* "PATTERN LIMIT SC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36068 /* "PATTERN LIMIT SC..." */) return TCL_ERROR } zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -73377,7 +74861,7 @@ func test_quota_set(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Allocate a TclQuotaCallback object p = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TclQuotaCallback{}))) if !(p != 0) { - tcl.XTcl_SetResult(tls, interp, ts+32182 /* "SQLITE_NOMEM" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+32944 /* "SQLITE_NOMEM" */, uintptr(0)) return TCL_OK } libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(TclQuotaCallback{}))) @@ -73408,7 +74892,7 @@ func test_quota_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // Process arguments if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -73482,13 +74966,13 @@ func test_quota_fopen(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35334 /* "FILENAME MODE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36089 /* "FILENAME MODE" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) zMode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) p = sqlite3_quota_fopen(tls, zFilename, zMode) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+8 /* &zReturn[0] */, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+8 /* &zReturn[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) tcl.XTcl_SetResult(tls, interp, bp+8 /* &zReturn[0] */, uintptr(1)) return TCL_OK } @@ -73507,7 +74991,7 @@ func test_quota_fread(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var got size_t if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35348 /* "HANDLE SIZE NELE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36103 /* "HANDLE SIZE NELE..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73543,7 +75027,7 @@ func test_quota_fwrite(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var got size_t if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35366 /* "HANDLE SIZE NELE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36121 /* "HANDLE SIZE NELE..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73565,7 +75049,7 @@ func test_quota_fclose(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73584,7 +75068,7 @@ func test_quota_fflush(tls *libc.TLS, clientData uintptr, interp uintptr, objc i *(*int32)(unsafe.Pointer(bp /* doSync */)) = 0 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35392 /* "HANDLE ?HARDSYNC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36147 /* "HANDLE ?HARDSYNC..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73611,7 +75095,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35410 /* "HANDLE OFFSET WH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36165 /* "HANDLE OFFSET WH..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73619,15 +75103,15 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in return TCL_ERROR } zWhence = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) - if libc.Xstrcmp(tls, zWhence, ts+35431 /* "SEEK_SET" */) == 0 { + if libc.Xstrcmp(tls, zWhence, ts+36186 /* "SEEK_SET" */) == 0 { whence = SEEK_SET - } else if libc.Xstrcmp(tls, zWhence, ts+35440 /* "SEEK_CUR" */) == 0 { + } else if libc.Xstrcmp(tls, zWhence, ts+36195 /* "SEEK_CUR" */) == 0 { whence = SEEK_CUR - } else if libc.Xstrcmp(tls, zWhence, ts+35449 /* "SEEK_END" */) == 0 { + } else if libc.Xstrcmp(tls, zWhence, ts+36204 /* "SEEK_END" */) == 0 { whence = SEEK_END } else { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+35458 /* "WHENCE should be..." */, uintptr(0))) + libc.VaList(bp, ts+36213 /* "WHENCE should be..." */, uintptr(0))) return TCL_ERROR } rc = sqlite3_quota_fseek(tls, p, int64(*(*int32)(unsafe.Pointer(bp + 16 /* ofst */))), whence) @@ -73639,7 +75123,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in func test_quota_rewind(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_quota.c:1718:26: */ var p uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73652,7 +75136,7 @@ func test_quota_ftell(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73672,7 +75156,7 @@ func test_quota_ftruncate(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35507 /* "HANDLE SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36262 /* "HANDLE SIZE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73690,7 +75174,7 @@ func test_quota_file_size(tls *libc.TLS, clientData uintptr, interp uintptr, obj var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73704,7 +75188,7 @@ func test_quota_file_truesize(tls *libc.TLS, clientData uintptr, interp uintptr, var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73722,7 +75206,7 @@ func test_quota_file_mtime(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var t time_t at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73737,7 +75221,7 @@ func test_quota_remove(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var zFilename uintptr // File pattern to configure var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32366 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33128 /* "FILENAME" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -73755,7 +75239,7 @@ func test_quota_glob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var zText uintptr // Text to compare agains the pattern var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35519 /* "PATTERN TEXT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36274 /* "PATTERN TEXT" */) return TCL_ERROR } zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -73773,7 +75257,7 @@ func test_quota_file_available(tls *libc.TLS, clientData uintptr, interp uintptr var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73789,7 +75273,7 @@ func test_quota_ferror(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var p uintptr var x int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28086 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28855 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -73818,27 +75302,27 @@ var aCmd9 = [21]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 35532 /* "sqlite3_quota_in..." */, FxProc: 0}, - {FzName: ts + 35557 /* "sqlite3_quota_sh..." */, FxProc: 0}, - {FzName: ts + 35580 /* "sqlite3_quota_se..." */, FxProc: 0}, - {FzName: ts + 35598 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35617 /* "sqlite3_quota_du..." */, FxProc: 0}, - {FzName: ts + 35636 /* "sqlite3_quota_fo..." */, FxProc: 0}, - {FzName: ts + 35656 /* "sqlite3_quota_fr..." */, FxProc: 0}, - {FzName: ts + 35676 /* "sqlite3_quota_fw..." */, FxProc: 0}, - {FzName: ts + 35697 /* "sqlite3_quota_fc..." */, FxProc: 0}, - {FzName: ts + 35718 /* "sqlite3_quota_ff..." */, FxProc: 0}, - {FzName: ts + 35739 /* "sqlite3_quota_fs..." */, FxProc: 0}, - {FzName: ts + 35759 /* "sqlite3_quota_re..." */, FxProc: 0}, - {FzName: ts + 35780 /* "sqlite3_quota_ft..." */, FxProc: 0}, - {FzName: ts + 35800 /* "sqlite3_quota_ft..." */, FxProc: 0}, - {FzName: ts + 35824 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35848 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35876 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35901 /* "sqlite3_quota_re..." */, FxProc: 0}, - {FzName: ts + 35922 /* "sqlite3_quota_gl..." */, FxProc: 0}, - {FzName: ts + 35941 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35970 /* "sqlite3_quota_fe..." */, FxProc: 0}, + {FzName: ts + 36287 /* "sqlite3_quota_in..." */, FxProc: 0}, + {FzName: ts + 36312 /* "sqlite3_quota_sh..." */, FxProc: 0}, + {FzName: ts + 36335 /* "sqlite3_quota_se..." */, FxProc: 0}, + {FzName: ts + 36353 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36372 /* "sqlite3_quota_du..." */, FxProc: 0}, + {FzName: ts + 36391 /* "sqlite3_quota_fo..." */, FxProc: 0}, + {FzName: ts + 36411 /* "sqlite3_quota_fr..." */, FxProc: 0}, + {FzName: ts + 36431 /* "sqlite3_quota_fw..." */, FxProc: 0}, + {FzName: ts + 36452 /* "sqlite3_quota_fc..." */, FxProc: 0}, + {FzName: ts + 36473 /* "sqlite3_quota_ff..." */, FxProc: 0}, + {FzName: ts + 36494 /* "sqlite3_quota_fs..." */, FxProc: 0}, + {FzName: ts + 36514 /* "sqlite3_quota_re..." */, FxProc: 0}, + {FzName: ts + 36535 /* "sqlite3_quota_ft..." */, FxProc: 0}, + {FzName: ts + 36555 /* "sqlite3_quota_ft..." */, FxProc: 0}, + {FzName: ts + 36579 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36603 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36631 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36656 /* "sqlite3_quota_re..." */, FxProc: 0}, + {FzName: ts + 36677 /* "sqlite3_quota_gl..." */, FxProc: 0}, + {FzName: ts + 36696 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36725 /* "sqlite3_quota_fe..." */, FxProc: 0}, } /* test_quota.c:1948:5 */ // Type used to cache parameter information for the "circle" r-tree geometry @@ -74436,7 +75920,7 @@ func register_cube_geom(tls *libc.TLS, clientData uintptr, interp uintptr, objc if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+35991 /* "cube" */, *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36746 /* "cube" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 }{cube_geom})), uintptr(unsafe.Pointer(&gHere))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) @@ -74458,17 +75942,17 @@ func register_circle_geom(tls *libc.TLS, clientData uintptr, interp uintptr, obj if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+35996 /* "circle" */, *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36751 /* "circle" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 }{circle_geom})), uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36003, /* "Qcircle" */ + rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36758, /* "Qcircle" */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 }{circle_query_func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36011, /* "breadthfirstsear..." */ + rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36766, /* "breadthfirstsear..." */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 }{bfs_query_func})), uintptr(0), uintptr(0)) @@ -74478,10 +75962,10 @@ func register_circle_geom(tls *libc.TLS, clientData uintptr, interp uintptr, obj } func Sqlitetestrtree_Init(tls *libc.TLS, interp uintptr) int32 { /* test_rtree.c:507:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+36030 /* "register_cube_ge..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36785 /* "register_cube_ge..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{register_cube_geom})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+36049 /* "register_circle_..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36804 /* "register_circle_..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{register_circle_geom})), uintptr(0), uintptr(0)) return TCL_OK @@ -74711,7 +76195,7 @@ func schemaCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint if pVtab != 0 { libc.Xmemset(tls, pVtab, 0, uint64(unsafe.Sizeof(schema_vtab{}))) (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb = db - rc = sqlite3.Xsqlite3_declare_vtab(tls, db /* Name of database (i.e. main, temp etc.) */ /* Name of table */ /* Column number (from left-to-right, 0 upward) */ /* Column name */ /* Specified type (i.e. VARCHAR(32)) */ /* Boolean. True if NOT NULL was specified */ /* Default value for this column */ /* True if this column is part of the primary key */, ts+36070 /* "CREATE TABLE x(d..." */) + rc = sqlite3.Xsqlite3_declare_vtab(tls, db /* Name of database (i.e. main, temp etc.) */ /* Name of table */ /* Column number (from left-to-right, 0 upward) */ /* Column name */ /* Specified type (i.e. VARCHAR(32)) */ /* Boolean. True if NOT NULL was specified */ /* Default value for this column */ /* True if this column is part of the primary key */, ts+36825 /* "CREATE TABLE x(d..." */) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab return rc @@ -74835,12 +76319,12 @@ __8: goto __9 } zSql = sqlite3.Xsqlite3_mprintf(tls, - ts+36142 /* "SELECT name FROM..." */, 0) + ts+36897 /* "SELECT name FROM..." */, 0) goto __10 __9: pDbList = (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList zSql = sqlite3.Xsqlite3_mprintf(tls, - ts+36197, /* "SELECT name FROM..." */ + ts+36952, /* "SELECT name FROM..." */ libc.VaList(bp, sqlite3.Xsqlite3_column_text(tls, pDbList, 1))) __10: ; @@ -74867,7 +76351,7 @@ __5: // Set zSql to the SQL to the table_info pragma for the table currently // identified by the rows pointed to by statements pCur->pDbList and // pCur->pTableList. - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+36250, /* "PRAGMA %Q.table_..." */ + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+37005, /* "PRAGMA %Q.table_..." */ libc.VaList(bp+8, sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList, 1), sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpTableList, 0))) @@ -74905,7 +76389,7 @@ func schemaFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp finalize(tls, (pCur + 16 /* &.pTableList */)) finalize(tls, (pCur + 24 /* &.pColumnList */)) finalize(tls, (pCur + 8 /* &.pDbList */)) - rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, ts+36275 /* "PRAGMA database_..." */, -1, (pCur + 8 /* &.pDbList */), uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, ts+37030 /* "PRAGMA database_..." */, -1, (pCur + 8 /* &.pDbList */), uintptr(0)) return func() int32 { if rc == SQLITE_OK { return schemaNext(tls, pVtabCursor) @@ -74973,7 +76457,7 @@ var aObjCmd12 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 36296 /* "register_schema_..." */, FxProc: 0}, + {FzName: ts + 37051 /* "register_schema_..." */, FxProc: 0}, } /* test_schema.c:335:5 */ // 2001-09-15 @@ -75528,7 +77012,7 @@ func superlockIsWal(tls *libc.TLS, pLock uintptr) int32 { /* test_superlock.c:67 // var pStmt uintptr at bp, 8 // Compiled PRAGMA journal_mode statement - rc = sqlite3.Xsqlite3_prepare(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+36319 /* "PRAGMA main.jour..." */, -1, bp /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+37074 /* "PRAGMA main.jour..." */, -1, bp /* &pStmt */, uintptr(0)) if rc != SQLITE_OK { return rc } @@ -75536,7 +77020,7 @@ func superlockIsWal(tls *libc.TLS, pLock uintptr) int32 { /* test_superlock.c:67 (*Superlock)(unsafe.Pointer(pLock)).FbWal = 0 if SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { var zMode uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) - if ((zMode != 0) && (libc.Xstrlen(tls, zMode) == uint64(3))) && (sqlite3.Xsqlite3_strnicmp(tls, ts+29379 /* "wal" */, zMode, 3) == 0) { + if ((zMode != 0) && (libc.Xstrlen(tls, zMode) == uint64(3))) && (sqlite3.Xsqlite3_strnicmp(tls, ts+30141 /* "wal" */, zMode, 3) == 0) { (*Superlock)(unsafe.Pointer(pLock)).FbWal = 1 } } @@ -75670,7 +77154,7 @@ func sqlite3demo_superlock(tls *libc.TLS, zPath uintptr, zVfs uintptr, xBusy uin sqlite3.Xsqlite3_busy_handler(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 }{superlockBusyHandler})), bp /* &busy */) - rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+12906 /* "BEGIN EXCLUSIVE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+13687 /* "BEGIN EXCLUSIVE" */, uintptr(0), uintptr(0), uintptr(0)) } // If the BEGIN EXCLUSIVE was executed successfully and this is a WAL @@ -75683,7 +77167,7 @@ func sqlite3demo_superlock(tls *libc.TLS, zPath uintptr, zVfs uintptr, xBusy uin // new WAL locks may conflict with the old. if rc == SQLITE_OK { if (SQLITE_OK == (libc.AssignInt32(&rc, superlockIsWal(tls, pLock)))) && ((*Superlock)(unsafe.Pointer(pLock)).FbWal != 0) { - rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+11310 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+12098 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = superlockWalLock(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, bp /* &busy */) } @@ -75766,7 +77250,7 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj if (objc < 3) || (objc > 5) { tcl.XTcl_WrongNumArgs(tls, - interp, 1, objv, ts+36344 /* "CMDNAME PATH ?VF..." */) + interp, 1, objv, ts+37099 /* "CMDNAME PATH ?VF..." */) return TCL_ERROR } @@ -75803,7 +77287,7 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj } func SqliteSuperlock_Init(tls *libc.TLS, interp uintptr) int32 { /* test_superlock.c:359:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+36385 /* "sqlite3demo_supe..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+37140 /* "sqlite3demo_supe..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{superlock_cmd})), uintptr(0), uintptr(0)) return TCL_OK @@ -75848,24 +77332,24 @@ type TestSyscallArray = struct { } /* test_syscall.c:127:1 */ var aSyscall = [19]TestSyscallArray{ - /* 0 */ {FzName: ts + 36407 /* "open" */, FxTest: 0, Fdefault_errno: EACCES}, + /* 0 */ {FzName: ts + 37162 /* "open" */, FxTest: 0, Fdefault_errno: EACCES}, /* 1 */ {FzName: ts + 10125 /* "close" */, FxTest: 0}, - /* 2 */ {FzName: ts + 36412 /* "access" */, FxTest: 0}, - /* 3 */ {FzName: ts + 36419 /* "getcwd" */, FxTest: 0}, - /* 4 */ {FzName: ts + 36426 /* "stat" */, FxTest: 0}, - /* 5 */ {FzName: ts + 36431 /* "fstat" */, FxTest: 0}, - /* 6 */ {FzName: ts + 36437 /* "ftruncate" */, FxTest: 0, Fdefault_errno: EIO}, - /* 7 */ {FzName: ts + 36447 /* "fcntl" */, FxTest: 0, Fdefault_errno: EACCES}, - /* 8 */ {FzName: ts + 24630 /* "read" */, FxTest: 0}, - /* 9 */ {FzName: ts + 36453 /* "pread" */, FxTest: 0}, - /* 10 */ {FzName: ts + 36459 /* "pread64" */, FxTest: 0}, - /* 11 */ {FzName: ts + 24635 /* "write" */, FxTest: 0}, - /* 12 */ {FzName: ts + 36467 /* "pwrite" */, FxTest: 0}, - /* 13 */ {FzName: ts + 36474 /* "pwrite64" */, FxTest: 0}, - /* 14 */ {FzName: ts + 36483 /* "fchmod" */, FxTest: 0}, - /* 15 */ {FzName: ts + 36490 /* "fallocate" */, FxTest: 0}, - /* 16 */ {FzName: ts + 28466 /* "mmap" */, FxTest: 0}, - /* 17 */ {FzName: ts + 36500 /* "mremap" */, FxTest: 0}, + /* 2 */ {FzName: ts + 37167 /* "access" */, FxTest: 0}, + /* 3 */ {FzName: ts + 37174 /* "getcwd" */, FxTest: 0}, + /* 4 */ {FzName: ts + 37181 /* "stat" */, FxTest: 0}, + /* 5 */ {FzName: ts + 37186 /* "fstat" */, FxTest: 0}, + /* 6 */ {FzName: ts + 37192 /* "ftruncate" */, FxTest: 0, Fdefault_errno: EIO}, + /* 7 */ {FzName: ts + 37202 /* "fcntl" */, FxTest: 0, Fdefault_errno: EACCES}, + /* 8 */ {FzName: ts + 25406 /* "read" */, FxTest: 0}, + /* 9 */ {FzName: ts + 37208 /* "pread" */, FxTest: 0}, + /* 10 */ {FzName: ts + 37214 /* "pread64" */, FxTest: 0}, + /* 11 */ {FzName: ts + 25411 /* "write" */, FxTest: 0}, + /* 12 */ {FzName: ts + 37222 /* "pwrite" */, FxTest: 0}, + /* 13 */ {FzName: ts + 37229 /* "pwrite64" */, FxTest: 0}, + /* 14 */ {FzName: ts + 37238 /* "fchmod" */, FxTest: 0}, + /* 15 */ {FzName: ts + 37245 /* "fallocate" */, FxTest: 0}, + /* 16 */ {FzName: ts + 29235 /* "mmap" */, FxTest: 0}, + /* 17 */ {FzName: ts + 37255 /* "mremap" */, FxTest: 0}, {}, } /* test_syscall.c:133:3 */ @@ -75917,7 +77401,7 @@ func tsIsFailErrno(tls *libc.TLS, zFunc uintptr) int32 { /* test_syscall.c:215:1 // A wrapper around open(). func ts_open(tls *libc.TLS, zFile uintptr, flags int32, mode int32) int32 { /* test_syscall.c:226:12: */ - if tsIsFailErrno(tls, ts+36407 /* "open" */) != 0 { + if tsIsFailErrno(tls, ts+37162 /* "open" */) != 0 { return -1 } return (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 16 /* &.xOrig */))))(tls, zFile, flags, mode) @@ -75963,7 +77447,7 @@ func ts_stat(tls *libc.TLS, zPath uintptr, p uintptr) int32 { /* test_syscall.c: // A wrapper around fstat(). func ts_fstat(tls *libc.TLS, fd int32, p uintptr) int32 { /* test_syscall.c:282:12: */ - if tsIsFailErrno(tls, ts+36431 /* "fstat" */) != 0 { + if tsIsFailErrno(tls, ts+37186 /* "fstat" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*32 + 16 /* &.xOrig */))))(tls, fd, p) @@ -75971,7 +77455,7 @@ func ts_fstat(tls *libc.TLS, fd int32, p uintptr) int32 { /* test_syscall.c:282: // A wrapper around ftruncate(). func ts_ftruncate(tls *libc.TLS, fd int32, n off_t) int32 { /* test_syscall.c:292:12: */ - if tsIsFailErrno(tls, ts+36437 /* "ftruncate" */) != 0 { + if tsIsFailErrno(tls, ts+37192 /* "ftruncate" */) != 0 { return -1 } return (*(*func(*libc.TLS, int32, off_t) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 6*32 + 16 /* &.xOrig */))))(tls, fd, n) @@ -75985,7 +77469,7 @@ func ts_fcntl(tls *libc.TLS, fd int32, cmd int32, va uintptr) int32 { /* test_sy var ap va_list _ = ap var pArg uintptr - if tsIsFailErrno(tls, ts+36447 /* "fcntl" */) != 0 { + if tsIsFailErrno(tls, ts+37202 /* "fcntl" */) != 0 { return -1 } ap = va @@ -75995,7 +77479,7 @@ func ts_fcntl(tls *libc.TLS, fd int32, cmd int32, va uintptr) int32 { /* test_sy // A wrapper around read(). func ts_read(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test_syscall.c:316:12: */ - if tsIsFailErrno(tls, ts+24630 /* "read" */) != 0 { + if tsIsFailErrno(tls, ts+25406 /* "read" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf)) @@ -76003,7 +77487,7 @@ func ts_read(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test // A wrapper around pread(). func ts_pread(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int32 { /* test_syscall.c:326:12: */ - if tsIsFailErrno(tls, ts+36453 /* "pread" */) != 0 { + if tsIsFailErrno(tls, ts+37208 /* "pread" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t, off_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 9*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off)) @@ -76011,7 +77495,7 @@ func ts_pread(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int // A wrapper around pread64(). func ts_pread64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_uint64) int32 { /* test_syscall.c:336:12: */ - if tsIsFailErrno(tls, ts+36459 /* "pread64" */) != 0 { + if tsIsFailErrno(tls, ts+37214 /* "pread64" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t, sqlite3_uint64) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 10*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off)) @@ -76019,8 +77503,8 @@ func ts_pread64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_ // A wrapper around write(). func ts_write(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* test_syscall.c:346:12: */ - if tsIsFailErrno(tls, ts+24635 /* "write" */) != 0 { - if tsErrno(tls, ts+24635 /* "write" */) == EINTR { + if tsIsFailErrno(tls, ts+25411 /* "write" */) != 0 { + if tsErrno(tls, ts+25411 /* "write" */) == EINTR { (*(*func(*libc.TLS, int32, uintptr, size_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 11*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, (nBuf / uint64(2))) } return -1 @@ -76030,7 +77514,7 @@ func ts_write(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t) int32 { /* tes // A wrapper around pwrite(). func ts_pwrite(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) int32 { /* test_syscall.c:357:12: */ - if tsIsFailErrno(tls, ts+36467 /* "pwrite" */) != 0 { + if tsIsFailErrno(tls, ts+37222 /* "pwrite" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t, off_t) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 12*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off)) @@ -76038,7 +77522,7 @@ func ts_pwrite(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off off_t) in // A wrapper around pwrite64(). func ts_pwrite64(tls *libc.TLS, fd int32, aBuf uintptr, nBuf size_t, off sqlite3_uint64) int32 { /* test_syscall.c:367:12: */ - if tsIsFailErrno(tls, ts+36474 /* "pwrite64" */) != 0 { + if tsIsFailErrno(tls, ts+37229 /* "pwrite64" */) != 0 { return -1 } return int32((*(*func(*libc.TLS, int32, uintptr, size_t, sqlite3_uint64) ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 13*32 + 16 /* &.xOrig */))))(tls, fd, aBuf, nBuf, off)) @@ -76061,13 +77545,13 @@ func ts_fchmod(tls *libc.TLS, fd int32, mode mode_t) int32 { /* test_syscall.c:3 // failure. Note that errno is not set. func ts_fallocate(tls *libc.TLS, fd int32, off off_t, len off_t) int32 { /* test_syscall.c:393:12: */ if tsIsFail(tls) != 0 { - return tsErrno(tls, ts+36490 /* "fallocate" */) + return tsErrno(tls, ts+37245 /* "fallocate" */) } return (*(*func(*libc.TLS, int32, off_t, off_t) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 15*32 + 16 /* &.xOrig */))))(tls, fd, off, len) } func ts_mmap(tls *libc.TLS, pAddr uintptr, nByte size_t, prot int32, flags int32, fd int32, iOff off_t) uintptr { /* test_syscall.c:400:13: */ - if tsIsFailErrno(tls, ts+28466 /* "mmap" */) != 0 { + if tsIsFailErrno(tls, ts+29235 /* "mmap" */) != 0 { return libc.UintptrFromInt32(-1) } return (*(*func(*libc.TLS, uintptr, size_t, int32, int32, int32, off_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 16*32 + 16 /* &.xOrig */))))(tls, pAddr, nByte, prot, flags, fd, iOff) @@ -76080,7 +77564,7 @@ func ts_mremap(tls *libc.TLS, a uintptr, b size_t, c size_t, d int32, va uintptr var ap va_list _ = ap var pArg uintptr - if tsIsFailErrno(tls, ts+36500 /* "mremap" */) != 0 { + if tsIsFailErrno(tls, ts+37255 /* "mremap" */) != 0 { return libc.UintptrFromInt32(-1) } ap = va @@ -76099,7 +77583,7 @@ func test_syscall_install(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var apElem uintptr at bp+8, 8 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36507 /* "SYSCALL-LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37262 /* "SYSCALL-LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp /* &nElem */, bp+8 /* &apElem */) != 0 { @@ -76111,7 +77595,7 @@ func test_syscall_install(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var iCall int32 at bp+16, 4 var rc int32 = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* apElem */)) + uintptr(i)*8)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+36520 /* "system-call" */, 0, bp+16 /* &iCall */) + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* apElem */)) + uintptr(i)*8)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+37275 /* "system-call" */, 0, bp+16 /* &iCall */) if rc != 0 { return rc } @@ -76211,7 +77695,7 @@ func test_syscall_fault(tls *libc.TLS, clientData uintptr, interp uintptr, objc *(*int32)(unsafe.Pointer(bp + 4 /* bPersist */)) = 0 if (objc != 2) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36532 /* "?COUNT PERSIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37287 /* "?COUNT PERSIST?" */) return TCL_ERROR } @@ -76240,32 +77724,32 @@ func test_syscall_errno(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 *(*[12]Errno)(unsafe.Pointer(bp + 8 /* aErrno */)) = [12]Errno{ - {Fz: ts + 36548 /* "EACCES" */, Fi: EACCES}, - {Fz: ts + 36555 /* "EINTR" */, Fi: EINTR}, - {Fz: ts + 36561 /* "EIO" */, Fi: EIO}, - {Fz: ts + 36565 /* "EOVERFLOW" */, Fi: EOVERFLOW}, - {Fz: ts + 36575 /* "ENOMEM" */, Fi: ENOMEM}, - {Fz: ts + 36582 /* "EAGAIN" */, Fi: EAGAIN}, - {Fz: ts + 36589 /* "ETIMEDOUT" */, Fi: ETIMEDOUT}, - {Fz: ts + 36599 /* "EBUSY" */, Fi: EBUSY}, - {Fz: ts + 36605 /* "EPERM" */, Fi: EPERM}, - {Fz: ts + 36611 /* "EDEADLK" */, Fi: EDEADLK}, - {Fz: ts + 36619 /* "ENOLCK" */, Fi: ENOLCK}, + {Fz: ts + 37303 /* "EACCES" */, Fi: EACCES}, + {Fz: ts + 37310 /* "EINTR" */, Fi: EINTR}, + {Fz: ts + 37316 /* "EIO" */, Fi: EIO}, + {Fz: ts + 37320 /* "EOVERFLOW" */, Fi: EOVERFLOW}, + {Fz: ts + 37330 /* "ENOMEM" */, Fi: ENOMEM}, + {Fz: ts + 37337 /* "EAGAIN" */, Fi: EAGAIN}, + {Fz: ts + 37344 /* "ETIMEDOUT" */, Fi: ETIMEDOUT}, + {Fz: ts + 37354 /* "EBUSY" */, Fi: EBUSY}, + {Fz: ts + 37360 /* "EPERM" */, Fi: EPERM}, + {Fz: ts + 37366 /* "EDEADLK" */, Fi: EDEADLK}, + {Fz: ts + 37374 /* "ENOLCK" */, Fi: ENOLCK}, {}, } if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36626 /* "SYSCALL ERRNO" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37381 /* "SYSCALL ERRNO" */) return TCL_ERROR } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+36520 /* "system-call" */, 0, bp /* &iCall */) + *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&aSyscall)), int32(unsafe.Sizeof(TestSyscallArray{})), ts+37275 /* "system-call" */, 0, bp /* &iCall */) if rc != TCL_OK { return rc } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, - *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &aErrno[0] */, int32(unsafe.Sizeof(Errno{})), ts+36640 /* "errno" */, 0, bp+200 /* &iErrno */) + *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &aErrno[0] */, int32(unsafe.Sizeof(Errno{})), ts+37395 /* "errno" */, 0, bp+200 /* &iErrno */) if rc != TCL_OK { return rc } @@ -76332,7 +77816,7 @@ func test_syscall_pagesize(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var pgsz int32 at bp+16, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+36646 /* "PGSZ" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37401 /* "PGSZ" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+16 /* &pgsz */) != 0 { @@ -76341,17 +77825,17 @@ func test_syscall_pagesize(tls *libc.TLS, clientData uintptr, interp uintptr, ob if *(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) < 0 { if gSyscall.Forig_getpagesize != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, ts+36651 /* "getpagesize" */, gSyscall.Forig_getpagesize) + (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, ts+37406 /* "getpagesize" */, gSyscall.Forig_getpagesize) } } else { if (*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) < 512) || ((*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) - 1)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+36663 /* "pgsz out of rang..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37418 /* "pgsz out of rang..." */, 0)) return TCL_ERROR } - gSyscall.Forig_getpagesize = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 152 /* &.xGetSystemCall */))))(tls, pVfs, ts+36651 /* "getpagesize" */) + gSyscall.Forig_getpagesize = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 152 /* &.xGetSystemCall */))))(tls, pVfs, ts+37406 /* "getpagesize" */) gSyscall.Fpgsz = *(*int32)(unsafe.Pointer(bp + 16 /* pgsz */)) (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, - pVfs, ts+36651 /* "getpagesize" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{ts_getpagesize}))) + pVfs, ts+37406 /* "getpagesize" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{ts_getpagesize}))) } return TCL_OK @@ -76362,31 +77846,31 @@ func test_syscall(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(180) *(*[10]SyscallCmd)(unsafe.Pointer(bp + 16 /* aCmd */)) = [10]SyscallCmd{ - {FzName: ts + 36681 /* "fault" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37436 /* "fault" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_fault}))}, - {FzName: ts + 36687 /* "install" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37442 /* "install" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_install}))}, - {FzName: ts + 36695 /* "uninstall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37450 /* "uninstall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_uninstall}))}, {FzName: ts + 7379 /* "reset" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_reset}))}, - {FzName: ts + 36640 /* "errno" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37395 /* "errno" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_errno}))}, - {FzName: ts + 13196 /* "exists" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 13977 /* "exists" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_exists}))}, - {FzName: ts + 36705 /* "list" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37460 /* "list" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_list}))}, - {FzName: ts + 36710 /* "defaultvfs" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37465 /* "defaultvfs" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_defaultvfs}))}, - {FzName: ts + 36721 /* "pagesize" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37476 /* "pagesize" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall_pagesize}))}, {}, @@ -76397,11 +77881,11 @@ func test_syscall(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var pVfs uintptr = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32418 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33180 /* "SUB-COMMAND ..." */) return TCL_ERROR } if ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion < 3) || ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall == uintptr(0)) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+36730 /* "VFS does not sup..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37485 /* "VFS does not sup..." */, 0)) rc = TCL_ERROR } else { rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, @@ -76423,7 +77907,7 @@ func SqlitetestSyscall_Init(tls *libc.TLS, interp uintptr) int32 { /* test_sysca defer tls.Free(16) *(*[1]SyscallCmd)(unsafe.Pointer(bp /* aCmd */)) = [1]SyscallCmd{ - {FzName: ts + 36766 /* "test_syscall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37521 /* "test_syscall" */, FxCmd: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_syscall}))}, } @@ -76463,7 +77947,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 } - if tcl.XTcl_GetCommandInfo(tls, interp, ts+13947 /* "sqlite3" */, bp+16 /* &cmdInfo */) == 0 { + if tcl.XTcl_GetCommandInfo(tls, interp, ts+14728 /* "sqlite3" */, bp+16 /* &cmdInfo */) == 0 { Sqlite3_Init(tls, interp) } Md5_Init(tls, interp) @@ -76500,6 +77984,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 Sqlitemultiplex_Init(tls, interp) SqliteSuperlock_Init(tls, interp) SqlitetestSyscall_Init(tls, interp) + TestSession_Init(tls, interp) Fts5tcl_Init(tls, interp) SqliteRbu_Init(tls, interp) Sqlitetesttcl_Init(tls, interp) @@ -76509,7 +77994,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 Sqlitetestvdbecov_Init(tls, interp) tcl.XTcl_CreateObjCommand(tls, - interp, ts+36779 /* "load_testfixture..." */, *(*uintptr)(unsafe.Pointer(&struct { + interp, ts+37534 /* "load_testfixture..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{load_testfixture_extensions})), uintptr(0), uintptr(0)) return uintptr(0) @@ -76519,7 +78004,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 func load_testfixture_extensions(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_tclsh.c:185:26: */ var slave uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36807 /* "SLAVE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+37562 /* "SLAVE" */) return TCL_ERROR } @@ -76661,7 +78146,7 @@ var zSchema = // Array index // Value // base(index) name -*(*[100]int8)(unsafe.Pointer(ts + 36813 /* "CREATE TABLE x( ..." */)) /* test_tclvar.c:88:21 */ +*(*[100]int8)(unsafe.Pointer(ts + 37568 /* "CREATE TABLE x( ..." */)) /* test_tclvar.c:88:21 */ // Note that for this virtual table, the xCreate and xConnect // methods are identical. @@ -76713,7 +78198,7 @@ func next2(tls *libc.TLS, interp uintptr, pCur uintptr, pObj uintptr) int32 { /* if pObj != 0 { if !(int32((*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2) != 0) { - p = tcl.XTcl_NewStringObj(tls, ts+36913 /* "array names" */, -1) + p = tcl.XTcl_NewStringObj(tls, ts+37668 /* "array names" */, -1) (*Tcl_Obj)(unsafe.Pointer(p)).FrefCount++ tcl.XTcl_ListObjAppendElement(tls, uintptr(0), p, pObj) tcl.XTcl_EvalObjEx(tls, interp, p, TCL_EVAL_GLOBAL) @@ -76774,7 +78259,7 @@ func tclvarNext(tls *libc.TLS, cur uintptr) int32 { /* test_tclvar.c:168:12: */ func tclvarFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* test_tclvar.c:188:12: */ var pCur uintptr = pVtabCursor var interp uintptr = (*tclvar_vtab)(unsafe.Pointer((*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab)).Finterp - var p uintptr = tcl.XTcl_NewStringObj(tls, ts+36925 /* "tclvar_filter_cm..." */, -1) + var p uintptr = tcl.XTcl_NewStringObj(tls, ts+37680 /* "tclvar_filter_cm..." */, -1) var zEq uintptr = ts + 489 /* "" */ var zMatch uintptr = ts + 489 /* "" */ @@ -76892,7 +78377,7 @@ func tclvarColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* t { var z3 uintptr if *(*uintptr)(unsafe.Pointer(bp + 24 /* p2 */)) != 0 { - z3 = sqlite3.Xsqlite3_mprintf(tls, ts+36943 /* "%s(%s)" */, libc.VaList(bp, z1, z2)) + z3 = sqlite3.Xsqlite3_mprintf(tls, ts+37698 /* "%s(%s)" */, libc.VaList(bp, z1, z2)) sqlite3.Xsqlite3_result_text(tls, ctx, z3, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) } else { sqlite3.Xsqlite3_result_text(tls, ctx, z1, -1, libc.UintptrFromInt32(-1)) @@ -76947,7 +78432,7 @@ func tclvarSetOmit(tls *libc.TLS, interp uintptr) int32 { /* test_tclvar.c:324:1 *(*int32)(unsafe.Pointer(bp /* res */)) = 0 var pRes uintptr rc = tcl.XTcl_Eval(tls, interp, - ts+36950 /* "expr {[info exis..." */) + ts+37705 /* "expr {[info exis..." */) if rc == TCL_OK { pRes = tcl.XTcl_GetObjResult(tls, interp) rc = tcl.XTcl_GetBooleanFromObj(tls, uintptr(0), pRes, bp /* &res */) @@ -77044,7 +78529,7 @@ func tclvarUpdate(tls *libc.TLS, tab uintptr, argc int32, argv uintptr, pRowid u var zValue uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8))) var zName uintptr if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 5*8))) != SQLITE_TEXT { - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37011 /* "the 'fullname' c..." */, 0) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37766 /* "the 'fullname' c..." */, 0) return SQLITE_ERROR } zName = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 5*8))) @@ -77070,7 +78555,7 @@ func tclvarUpdate(tls *libc.TLS, tab uintptr, argc int32, argv uintptr, pRowid u } return SQLITE_OK } - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37046 /* "prohibited TCL v..." */, 0) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37801 /* "prohibited TCL v..." */, 0) return SQLITE_ERROR } @@ -77107,10 +78592,10 @@ func register_tclvar_module(tls *libc.TLS, clientData ClientData, interp uintptr if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+29292 /* "tclvar" */, uintptr(unsafe.Pointer(&tclvarModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30054 /* "tclvar" */, uintptr(unsafe.Pointer(&tclvarModule)), interp) rc = tcl.XTcl_Eval(tls, interp, - ts+37077 /* "proc like {patte..." */) + ts+37832 /* "proc like {patte..." */) return rc } @@ -77133,7 +78618,7 @@ var aObjCmd13 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 37613 /* "register_tclvar_..." */, FxProc: 0}, + {FzName: ts + 38368 /* "register_tclvar_..." */, FxProc: 0}, } /* test_tclvar.c:552:5 */ // Define some macros helping to catch buffer overflows. @@ -77214,21 +78699,21 @@ func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) { /* test_thread.c:11 var p uintptr = pSqlThread interp = tcl.XTcl_CreateInterp(tls) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37636 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38391 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{clock_seconds_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37650 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38405 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_proc})), pSqlThread, uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37660 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38415 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_step_proc})), uintptr(0), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37682 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38437 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(1), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37710 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38465 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(0), uintptr(0)) Sqlitetest1_Init(tls, interp) @@ -77254,7 +78739,7 @@ func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) { /* test_thread.c:11 pList = tcl.XTcl_NewObj(tls) } - tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+37741 /* "set" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+38496 /* "set" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, (*SqlThread)(unsafe.Pointer(p)).FzVarname, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pList, pRes) postToParent(tls, p, pList) @@ -77322,7 +78807,7 @@ func sqlthread_spawn(tls *libc.TLS, clientData ClientData, interp uintptr, objc rc = tcl.XTcl_CreateThread(tls, bp+24 /* &x */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, ClientData) }{tclScriptThread})), pNew, nStack, flags) if rc != TCL_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37745 /* "Error in Tcl_Cre..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38500 /* "Error in Tcl_Cre..." */, 0)) tcl.XTcl_Free(tls, pNew) return TCL_ERROR } @@ -77352,7 +78837,7 @@ func sqlthread_parent(tls *libc.TLS, clientData ClientData, interp uintptr, objc _ = objc if p == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37773 /* "no parent thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38528 /* "no parent thread" */, 0)) return TCL_ERROR } @@ -77440,16 +78925,16 @@ func sqlthread_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc i _ [4]byte FzUsage uintptr }{ - {FzName: ts + 37790 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 38545 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_parent})), FnArg: 1, FzUsage: ts + 11583 /* "SCRIPT" */}, - {FzName: ts + 37797 /* "spawn" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_parent})), FnArg: 1, FzUsage: ts + 10650 /* "SCRIPT" */}, + {FzName: ts + 38552 /* "spawn" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_spawn})), FnArg: 2, FzUsage: ts + 37803 /* "VARNAME SCRIPT" */}, - {FzName: ts + 36407 /* "open" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_spawn})), FnArg: 2, FzUsage: ts + 38558 /* "VARNAME SCRIPT" */}, + {FzName: ts + 37162 /* "open" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_open})), FnArg: 1, FzUsage: ts + 37818 /* "DBNAME" */}, - {FzName: ts + 37825 /* "id" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_open})), FnArg: 1, FzUsage: ts + 38573 /* "DBNAME" */}, + {FzName: ts + 38580 /* "id" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_id})), FzUsage: ts + 489 /* "" */}, {}, @@ -77644,7 +79129,7 @@ func blocking_step_proc(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -77674,8 +79159,8 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, var isBlocking int32 = libc.BoolInt32(!(clientData == uintptr(0))) if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -77700,7 +79185,7 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+37828 /* "%s " */, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+38583 /* "%s " */, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -77720,21 +79205,21 @@ func blocking_prepare_v2_proc(tls *libc.TLS, clientData uintptr, interp uintptr, // Register commands with the TCL interpreter. func SqlitetestThread_Init(tls *libc.TLS, interp uintptr) int32 { /* test_thread.c:619:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+37650 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38405 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37636 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38391 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{clock_seconds_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37660 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38415 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_step_proc})), uintptr(0), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37682 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38437 /* "sqlite3_blocking..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(1), uintptr(0)) tcl.XTcl_CreateObjCommand(tls, interp, - ts+37710 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { + ts+38465 /* "sqlite3_nonblock..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{blocking_prepare_v2_proc})), uintptr(0), uintptr(0)) return TCL_OK @@ -77852,13 +79337,13 @@ func tvfsResultCode(tls *libc.TLS, p uintptr, pRc uintptr) int32 { /* test_vfs.c *(*[9]errcode)(unsafe.Pointer(bp /* aCode */)) = [9]errcode{ {FzCode: ts + 1988 /* "SQLITE_OK" */}, {FeCode: SQLITE_ERROR, FzCode: ts + 1975 /* "SQLITE_ERROR" */}, - {FeCode: SQLITE_IOERR, FzCode: ts + 37832 /* "SQLITE_IOERR" */}, - {FeCode: SQLITE_LOCKED, FzCode: ts + 37845 /* "SQLITE_LOCKED" */}, - {FeCode: SQLITE_BUSY, FzCode: ts + 37859 /* "SQLITE_BUSY" */}, - {FeCode: SQLITE_READONLY, FzCode: ts + 37871 /* "SQLITE_READONLY" */}, - {FeCode: (SQLITE_READONLY | (int32(5) << 8)), FzCode: ts + 37887 /* "SQLITE_READONLY_..." */}, - {FeCode: SQLITE_NOTFOUND, FzCode: ts + 37912 /* "SQLITE_NOTFOUND" */}, - {FeCode: -1, FzCode: ts + 37928 /* "SQLITE_OMIT" */}, + {FeCode: SQLITE_IOERR, FzCode: ts + 38587 /* "SQLITE_IOERR" */}, + {FeCode: SQLITE_LOCKED, FzCode: ts + 38600 /* "SQLITE_LOCKED" */}, + {FeCode: SQLITE_BUSY, FzCode: ts + 38614 /* "SQLITE_BUSY" */}, + {FeCode: SQLITE_READONLY, FzCode: ts + 38626 /* "SQLITE_READONLY" */}, + {FeCode: (SQLITE_READONLY | (int32(5) << 8)), FzCode: ts + 38642 /* "SQLITE_READONLY_..." */}, + {FeCode: SQLITE_NOTFOUND, FzCode: ts + 38667 /* "SQLITE_NOTFOUND" */}, + {FeCode: -1, FzCode: ts + 38683 /* "SQLITE_OMIT" */}, } var z uintptr var i int32 @@ -77938,7 +79423,7 @@ func tvfsClose(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:317:12: */ var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_CLOSE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34930, /* "xClose" */ + tvfsExecTcl(tls, p, ts+35685, /* "xClose" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) } @@ -77969,7 +79454,7 @@ func tvfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqli var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_READ_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34937, /* "xRead" */ + tvfsExecTcl(tls, p, ts+35692, /* "xRead" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -77992,7 +79477,7 @@ func tvfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sql var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_WRITE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34943, /* "xWrite" */ + tvfsExecTcl(tls, p, ts+35698, /* "xWrite" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewWideIntObj(tls, iOfst), tcl.XTcl_NewIntObj(tls, iAmt)) tvfsResultCode(tls, p, bp /* &rc */) @@ -78024,7 +79509,7 @@ func tvfsTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 { /* te var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_TRUNCATE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34950, /* "xTruncate" */ + tvfsExecTcl(tls, p, ts+35705, /* "xTruncate" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -78049,26 +79534,26 @@ func tvfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* test_vfs.c:4 switch flags { case SQLITE_SYNC_NORMAL: - zFlags = ts + 16088 /* "normal" */ + zFlags = ts + 16869 /* "normal" */ break fallthrough case SQLITE_SYNC_FULL: - zFlags = ts + 17949 /* "full" */ + zFlags = ts + 18730 /* "full" */ break fallthrough case (SQLITE_SYNC_NORMAL | SQLITE_SYNC_DATAONLY): - zFlags = ts + 37940 /* "normal|dataonly" */ + zFlags = ts + 38695 /* "normal|dataonly" */ break fallthrough case (SQLITE_SYNC_FULL | SQLITE_SYNC_DATAONLY): - zFlags = ts + 37956 /* "full|dataonly" */ + zFlags = ts + 38711 /* "full|dataonly" */ break fallthrough default: } - tvfsExecTcl(tls, p, ts+27353, /* "xSync" */ + tvfsExecTcl(tls, p, ts+28129, /* "xSync" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewStringObj(tls, zFlags, -1), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) @@ -78102,7 +79587,7 @@ func tvfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c:4 // var zLock [30]int8 at bp+8, 30 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) - tvfsExecTcl(tls, p, ts+34970 /* "xLock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+35725 /* "xLock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, bp+8 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } return sqlite3.Xsqlite3OsLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, eLock) @@ -78119,7 +79604,7 @@ func tvfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c // var zLock [30]int8 at bp+8, 30 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) - tvfsExecTcl(tls, p, ts+34976 /* "xUnlock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+35731 /* "xUnlock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, bp+8 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } if (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_WRITE_MASK) != 0) && (tvfsInjectIoerr(tls, p) != 0) { @@ -78133,7 +79618,7 @@ func tvfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_CKLOCK_MASK) != 0) { - tvfsExecTcl(tls, p, ts+37970 /* "xCheckReservedLo..." */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+38725 /* "xCheckReservedLo..." */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) } return sqlite3.Xsqlite3OsCheckReservedLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, pResOut) @@ -78175,9 +79660,9 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_FCNTL_MASK) != 0) { *(*[3]Fcntl)(unsafe.Pointer(bp + 16 /* aF */)) = [3]Fcntl{ - {FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 37989 /* "BEGIN_ATOMIC_WRI..." */}, - {FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 38008 /* "COMMIT_ATOMIC_WR..." */}, - {FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 38028 /* "ZIPVFS" */}, + {FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 38744 /* "BEGIN_ATOMIC_WRI..." */}, + {FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 38763 /* "COMMIT_ATOMIC_WR..." */}, + {FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 38783 /* "ZIPVFS" */}, } var i int32 for i = 0; uint64(i) < (uint64(unsafe.Sizeof([3]Fcntl{})) / uint64(unsafe.Sizeof(Fcntl{}))); i++ { @@ -78187,7 +79672,7 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } if uint64(i) < (uint64(unsafe.Sizeof([3]Fcntl{})) / uint64(unsafe.Sizeof(Fcntl{}))) { *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = 0 - tvfsExecTcl(tls, p, ts+34998, /* "xFileControl" */ + tvfsExecTcl(tls, p, ts+35753, /* "xFileControl" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, (*Fcntl)(unsafe.Pointer(bp+16 /* &aF */ +uintptr(i)*16)).FzFnctl, -1), uintptr(0), uintptr(0)) @@ -78274,7 +79759,7 @@ func tvfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i z += (uintptr(libc.Xstrlen(tls, z) + uint64(1))) } } - tvfsExecTcl(tls, p, ts+26925 /* "xOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), pArg, uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+27701 /* "xOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), pArg, uintptr(0), uintptr(0)) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pArg if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -78301,7 +79786,7 @@ func tvfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i } if !(pId != 0) { - pId = tcl.XTcl_NewStringObj(tls, ts+38035 /* "anon" */, -1) + pId = tcl.XTcl_NewStringObj(tls, ts+38790 /* "anon" */, -1) } (*Tcl_Obj)(unsafe.Pointer(pId)).FrefCount++ (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId = pId @@ -78347,7 +79832,7 @@ func tvfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 var p uintptr = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_DELETE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35035, /* "xDelete" */ + tvfsExecTcl(tls, p, ts+35790, /* "xDelete" */ tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewIntObj(tls, dirSync), uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -78369,15 +79854,15 @@ func tvfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut var zArg uintptr = uintptr(0) if flags == SQLITE_ACCESS_EXISTS { - zArg = ts + 38040 /* "SQLITE_ACCESS_EX..." */ + zArg = ts + 38795 /* "SQLITE_ACCESS_EX..." */ } if flags == SQLITE_ACCESS_READWRITE { - zArg = ts + 38061 /* "SQLITE_ACCESS_RE..." */ + zArg = ts + 38816 /* "SQLITE_ACCESS_RE..." */ } if flags == SQLITE_ACCESS_READ { - zArg = ts + 38085 /* "SQLITE_ACCESS_RE..." */ + zArg = ts + 38840 /* "SQLITE_ACCESS_RE..." */ } - tvfsExecTcl(tls, p, ts+35043, /* "xAccess" */ + tvfsExecTcl(tls, p, ts+35798, /* "xAccess" */ tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewStringObj(tls, zArg, -1), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { @@ -78404,7 +79889,7 @@ func tvfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_FULLPATHNAME_MASK) != 0) { // var rc int32 at bp, 4 - tvfsExecTcl(tls, p, ts+35051 /* "xFullPathname" */, tcl.XTcl_NewStringObj(tls, zPath, -1), uintptr(0), uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+35806 /* "xFullPathname" */, tcl.XTcl_NewStringObj(tls, zPath, -1), uintptr(0), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -78448,7 +79933,7 @@ func tvfsShmOpen(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:827:12: */ // SCRIPT xShmOpen FILENAME tcl.XTcl_ResetResult(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp) if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMOPEN_MASK) != 0) { - tvfsExecTcl(tls, p, ts+38104 /* "xShmOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+38859 /* "xShmOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -78519,7 +80004,7 @@ func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite i tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, iPage)) tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, pgsz)) tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, isWrite)) - tvfsExecTcl(tls, p, ts+35128, /* "xShmMap" */ + tvfsExecTcl(tls, p, ts+35883, /* "xShmMap" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, pArg, uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) for ok := true; ok; ok = 0 != 0 { @@ -78559,20 +80044,20 @@ func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMLOCK_MASK) != 0) { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+16 /* &zLock[0] */, ts+17484 /* "%d %d" */, libc.VaList(bp, ofst, n)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+16 /* &zLock[0] */, ts+18265 /* "%d %d" */, libc.VaList(bp, ofst, n)) nLock = int32(libc.Xstrlen(tls, bp+16 /* &zLock[0] */)) if (flags & SQLITE_SHM_LOCK) != 0 { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38113 /* " lock" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38868 /* " lock" */) } else { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38119 /* " unlock" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38874 /* " unlock" */) } nLock = nLock + (int32(libc.Xstrlen(tls, (bp + 16 /* &zLock */ + uintptr(nLock))))) if (flags & SQLITE_SHM_SHARED) != 0 { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38127 /* " shared" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38882 /* " shared" */) } else { - libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38135 /* " exclusive" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38890 /* " exclusive" */) } - tvfsExecTcl(tls, p, ts+35107, /* "xShmLock" */ + tvfsExecTcl(tls, p, ts+35862, /* "xShmLock" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewStringObj(tls, bp+16 /* &zLock[0] */, -1), uintptr(0)) tvfsResultCode(tls, p, bp+96 /* &rc */) @@ -78629,7 +80114,7 @@ func tvfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_vfs.c:1004:13: */ } else { z = ts + 489 /* "" */ } - tvfsExecTcl(tls, p, ts+35116 /* "xShmBarrier" */, tcl.XTcl_NewStringObj(tls, z, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+35871 /* "xShmBarrier" */, tcl.XTcl_NewStringObj(tls, z, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) } if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { @@ -78659,7 +80144,7 @@ func tvfsShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* tes } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMCLOSE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+35097, /* "xShmUnmap" */ + tvfsExecTcl(tls, p, ts+35852, /* "xShmUnmap" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -78702,15 +80187,15 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o var p uintptr = cd *(*[10]TestvfsSubcmd)(unsafe.Pointer(bp + 96 /* aSubcmd */)) = [10]TestvfsSubcmd{ - {FzName: ts + 38146 /* "shm" */}, - {FzName: ts + 38150 /* "delete" */, FeCmd: uint32(1) /* CMD_DELETE */}, - {FzName: ts + 38157 /* "filter" */, FeCmd: uint32(2) /* CMD_FILTER */}, - {FzName: ts + 38164 /* "ioerr" */, FeCmd: uint32(3) /* CMD_IOERR */}, - {FzName: ts + 38170 /* "fullerr" */, FeCmd: uint32(7) /* CMD_FULLERR */}, - {FzName: ts + 38178 /* "cantopenerr" */, FeCmd: uint32(8) /* CMD_CANTOPENERR */}, - {FzName: ts + 38190 /* "script" */, FeCmd: uint32(4) /* CMD_SCRIPT */}, - {FzName: ts + 38197 /* "devchar" */, FeCmd: uint32(5) /* CMD_DEVCHAR */}, - {FzName: ts + 38205 /* "sectorsize" */, FeCmd: uint32(6) /* CMD_SECTORSIZE */}, + {FzName: ts + 38901 /* "shm" */}, + {FzName: ts + 10601 /* "delete" */, FeCmd: uint32(1) /* CMD_DELETE */}, + {FzName: ts + 38905 /* "filter" */, FeCmd: uint32(2) /* CMD_FILTER */}, + {FzName: ts + 38912 /* "ioerr" */, FeCmd: uint32(3) /* CMD_IOERR */}, + {FzName: ts + 38918 /* "fullerr" */, FeCmd: uint32(7) /* CMD_FULLERR */}, + {FzName: ts + 38926 /* "cantopenerr" */, FeCmd: uint32(8) /* CMD_CANTOPENERR */}, + {FzName: ts + 38938 /* "script" */, FeCmd: uint32(4) /* CMD_SCRIPT */}, + {FzName: ts + 38945 /* "devchar" */, FeCmd: uint32(5) /* CMD_DEVCHAR */}, + {FzName: ts + 38953 /* "sectorsize" */, FeCmd: uint32(6) /* CMD_SECTORSIZE */}, {}, } // var i int32 at bp+256, 4 @@ -78720,7 +80205,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+96 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+38216 /* "subcommand" */, 0, bp+256 /* &i */) != 0 { + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+96 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+38964 /* "subcommand" */, 0, bp+256 /* &i */) != 0 { return TCL_ERROR } tcl.XTcl_ResetResult(tls, interp) @@ -78733,7 +80218,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o var pBuffer uintptr var zName uintptr if (objc != 3) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38227 /* "FILE ?VALUE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38975 /* "FILE ?VALUE?" */) return TCL_ERROR } zName = tcl.XTcl_Alloc(tls, uint32((*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname)) @@ -78741,7 +80226,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o (*Testvfs)(unsafe.Pointer(p)).FpParent, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), (*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname, zName) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38240, /* "failed to get fu..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38988, /* "failed to get fu..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) tcl.XTcl_Free(tls, zName) return TCL_ERROR @@ -78753,7 +80238,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } tcl.XTcl_Free(tls, zName) if !(pBuffer != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+38266 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+39014 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) return TCL_ERROR } if objc == 4 { @@ -78796,7 +80281,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o *(*int32)(unsafe.Pointer(bp + 264 /* nElem */)) = 0 var mask int32 = 0 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+31855 /* "LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+32617 /* "LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+264 /* &nElem */, bp+272 /* &apElem */) != 0 { @@ -78813,7 +80298,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } } if iMethod == (int32(uint64(unsafe.Sizeof(vfsmethod)) / uint64(unsafe.Sizeof(VfsMethod{})))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+38281 /* "unknown method: " */, zElem, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+39029 /* "unknown method: " */, zElem, 0)) return TCL_ERROR } } @@ -78846,7 +80331,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o (*Tcl_Obj)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpScript)).FrefCount++ } } else if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) return TCL_ERROR } @@ -78905,7 +80390,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o }() (*TestFaultInject)(unsafe.Pointer(pTest)).FiCnt = *(*int32)(unsafe.Pointer(bp + 284 /* iCnt */)) } else if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38298 /* "?CNT PERSIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39046 /* "?CNT PERSIST?" */) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iRet)) @@ -78923,28 +80408,28 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(5) /* CMD_DEVCHAR */ : { *(*[16]DeviceFlag)(unsafe.Pointer(bp + 304 /* aFlag */)) = [16]DeviceFlag{ - {FzName: ts + 38312 /* "default" */, FiValue: -1}, - {FzName: ts + 25907 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, - {FzName: ts + 25914 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, - {FzName: ts + 25924 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, - {FzName: ts + 25933 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, - {FzName: ts + 25942 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, - {FzName: ts + 25951 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, - {FzName: ts + 25960 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, - {FzName: ts + 25970 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, - {FzName: ts + 25980 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, - {FzName: ts + 25990 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, - {FzName: ts + 26001 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, - {FzName: ts + 38320 /* "undeletable_when..." */, FiValue: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN}, - {FzName: ts + 26013 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, - {FzName: ts + 38342 /* "immutable" */, FiValue: SQLITE_IOCAP_IMMUTABLE}, + {FzName: ts + 39060 /* "default" */, FiValue: -1}, + {FzName: ts + 26683 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, + {FzName: ts + 26690 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, + {FzName: ts + 26700 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, + {FzName: ts + 26709 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, + {FzName: ts + 26718 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, + {FzName: ts + 26727 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, + {FzName: ts + 26736 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, + {FzName: ts + 26746 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, + {FzName: ts + 26756 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, + {FzName: ts + 26766 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, + {FzName: ts + 26777 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, + {FzName: ts + 39068 /* "undeletable_when..." */, FiValue: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN}, + {FzName: ts + 26789 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, + {FzName: ts + 39090 /* "immutable" */, FiValue: SQLITE_IOCAP_IMMUTABLE}, {}, } var pRet uintptr var iFlag int32 if objc > 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38352 /* "?ATTR-LIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39100 /* "?ATTR-LIST?" */) return TCL_ERROR } if objc == 3 { @@ -78960,11 +80445,11 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o for j = 0; j < *(*int32)(unsafe.Pointer(bp + 292 /* nFlags */)); j++ { *(*int32)(unsafe.Pointer(bp + 560 /* idx */)) = 0 if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 296 /* flags */)) + uintptr(j)*8)), bp+304, /* &aFlag[0] */ - int32(unsafe.Sizeof(DeviceFlag{})), ts+17204 /* "flag" */, 0, bp+560 /* &idx */) != 0 { + int32(unsafe.Sizeof(DeviceFlag{})), ts+17985 /* "flag" */, 0, bp+560 /* &idx */) != 0 { return TCL_ERROR } if ((*DeviceFlag)(unsafe.Pointer(bp+304 /* &aFlag */ +uintptr(*(*int32)(unsafe.Pointer(bp + 560 /* idx */)))*16)).FiValue < 0) && (*(*int32)(unsafe.Pointer(bp + 292 /* nFlags */)) > 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+38364 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+39112 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) return TCL_ERROR } iNew = iNew | ((*DeviceFlag)(unsafe.Pointer(bp + 304 /* &aFlag */ + uintptr(*(*int32)(unsafe.Pointer(bp + 560 /* idx */)))*16)).FiValue) @@ -78989,7 +80474,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(6) /* CMD_SECTORSIZE */ : { if objc > 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38376 /* "?VALUE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+39124 /* "?VALUE?" */) return TCL_ERROR } if objc == 3 { @@ -79021,24 +80506,24 @@ type VfsMethod = struct { } /* test_vfs.c:1179:14 */ var vfsmethod = [18]VfsMethod{ - {FzName: ts + 38104 /* "xShmOpen" */, Fmask: TESTVFS_SHMOPEN_MASK}, - {FzName: ts + 35107 /* "xShmLock" */, Fmask: TESTVFS_SHMLOCK_MASK}, - {FzName: ts + 35116 /* "xShmBarrier" */, Fmask: TESTVFS_SHMBARRIER_MASK}, - {FzName: ts + 35097 /* "xShmUnmap" */, Fmask: TESTVFS_SHMCLOSE_MASK}, - {FzName: ts + 35128 /* "xShmMap" */, Fmask: TESTVFS_SHMMAP_MASK}, - {FzName: ts + 27353 /* "xSync" */, Fmask: TESTVFS_SYNC_MASK}, - {FzName: ts + 35035 /* "xDelete" */, Fmask: TESTVFS_DELETE_MASK}, - {FzName: ts + 34943 /* "xWrite" */, Fmask: TESTVFS_WRITE_MASK}, - {FzName: ts + 34937 /* "xRead" */, Fmask: TESTVFS_READ_MASK}, - {FzName: ts + 34950 /* "xTruncate" */, Fmask: TESTVFS_TRUNCATE_MASK}, - {FzName: ts + 26925 /* "xOpen" */, Fmask: TESTVFS_OPEN_MASK}, - {FzName: ts + 34930 /* "xClose" */, Fmask: TESTVFS_CLOSE_MASK}, - {FzName: ts + 35043 /* "xAccess" */, Fmask: TESTVFS_ACCESS_MASK}, - {FzName: ts + 35051 /* "xFullPathname" */, Fmask: TESTVFS_FULLPATHNAME_MASK}, - {FzName: ts + 34976 /* "xUnlock" */, Fmask: TESTVFS_UNLOCK_MASK}, - {FzName: ts + 34970 /* "xLock" */, Fmask: TESTVFS_LOCK_MASK}, - {FzName: ts + 37970 /* "xCheckReservedLo..." */, Fmask: TESTVFS_CKLOCK_MASK}, - {FzName: ts + 34998 /* "xFileControl" */, Fmask: TESTVFS_FCNTL_MASK}, + {FzName: ts + 38859 /* "xShmOpen" */, Fmask: TESTVFS_SHMOPEN_MASK}, + {FzName: ts + 35862 /* "xShmLock" */, Fmask: TESTVFS_SHMLOCK_MASK}, + {FzName: ts + 35871 /* "xShmBarrier" */, Fmask: TESTVFS_SHMBARRIER_MASK}, + {FzName: ts + 35852 /* "xShmUnmap" */, Fmask: TESTVFS_SHMCLOSE_MASK}, + {FzName: ts + 35883 /* "xShmMap" */, Fmask: TESTVFS_SHMMAP_MASK}, + {FzName: ts + 28129 /* "xSync" */, Fmask: TESTVFS_SYNC_MASK}, + {FzName: ts + 35790 /* "xDelete" */, Fmask: TESTVFS_DELETE_MASK}, + {FzName: ts + 35698 /* "xWrite" */, Fmask: TESTVFS_WRITE_MASK}, + {FzName: ts + 35692 /* "xRead" */, Fmask: TESTVFS_READ_MASK}, + {FzName: ts + 35705 /* "xTruncate" */, Fmask: TESTVFS_TRUNCATE_MASK}, + {FzName: ts + 27701 /* "xOpen" */, Fmask: TESTVFS_OPEN_MASK}, + {FzName: ts + 35685 /* "xClose" */, Fmask: TESTVFS_CLOSE_MASK}, + {FzName: ts + 35798 /* "xAccess" */, Fmask: TESTVFS_ACCESS_MASK}, + {FzName: ts + 35806 /* "xFullPathname" */, Fmask: TESTVFS_FULLPATHNAME_MASK}, + {FzName: ts + 35731 /* "xUnlock" */, Fmask: TESTVFS_UNLOCK_MASK}, + {FzName: ts + 35725 /* "xLock" */, Fmask: TESTVFS_LOCK_MASK}, + {FzName: ts + 38725 /* "xCheckReservedLo..." */, Fmask: TESTVFS_CKLOCK_MASK}, + {FzName: ts + 35753 /* "xFileControl" */, Fmask: TESTVFS_FCNTL_MASK}, } /* test_vfs.c:1182:9 */ func testvfs_obj_del(tls *libc.TLS, cd ClientData) { /* test_vfs.c:1393:27: */ @@ -79136,7 +80621,7 @@ __2: } zSwitch = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp /* &nSwitch */) - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38384 /* "-noshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39132 /* "-noshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __5 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+4 /* &isNoshm */) != 0) { @@ -79153,7 +80638,7 @@ __8: ; goto __6 __5: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+26283 /* "-default" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+27059 /* "-default" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __9 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+8 /* &isDefault */) != 0) { @@ -79164,7 +80649,7 @@ __11: ; goto __10 __9: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38391 /* "-szosfile" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39139 /* "-szosfile" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __12 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+12 /* &szOsFile */) != 0) { @@ -79175,7 +80660,7 @@ __14: ; goto __13 __12: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38401 /* "-mxpathname" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39149 /* "-mxpathname" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __15 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+16 /* &mxPathname */) != 0) { @@ -79186,7 +80671,7 @@ __17: ; goto __16 __15: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38413 /* "-iversion" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39161 /* "-iversion" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __18 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+20 /* &iVersion */) != 0) { @@ -79197,7 +80682,7 @@ __20: ; goto __19 __18: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38423 /* "-fullshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+39171 /* "-fullshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __21 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+24 /* &isFullshm */) != 0) { @@ -79286,7 +80771,7 @@ __26: return TCL_OK bad_args: - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38432 /* "VFSNAME ?-noshm ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39180 /* "VFSNAME ?-noshm ..." */) return TCL_ERROR } @@ -79306,8 +80791,8 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in bp := tls.Alloc(88) defer tls.Free(88) - *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azArg1 */)) = [3]uintptr{ts + 38536 /* "shared" */, ts + 13658 /* "exclusive" */, uintptr(0)} - *(*[3]uintptr)(unsafe.Pointer(bp + 40 /* azArg2 */)) = [3]uintptr{ts + 38543 /* "lock" */, ts + 38548 /* "unlock" */, uintptr(0)} + *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azArg1 */)) = [3]uintptr{ts + 39284 /* "shared" */, ts + 14439 /* "exclusive" */, uintptr(0)} + *(*[3]uintptr)(unsafe.Pointer(bp + 40 /* azArg2 */)) = [3]uintptr{ts + 39291 /* "lock" */, ts + 39296 /* "unlock" */, uintptr(0)} *(*uintptr)(unsafe.Pointer(bp /* db */)) = uintptr(0) var rc int32 = SQLITE_OK var zDbname uintptr = uintptr(0) @@ -79319,14 +80804,14 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in if objc != 7 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+38555 /* "DB DBNAME (share..." */) + ts+39303 /* "DB DBNAME (share..." */) return TCL_ERROR } zDbname = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) if ((((getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || - (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &azArg1[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+38607 /* "ARG" */, 0, bp+32 /* &iArg1 */) != 0)) || - (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+40 /* &azArg2[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+38607 /* "ARG" */, 0, bp+64 /* &iArg2 */) != 0)) || + (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &azArg1[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+39355 /* "ARG" */, 0, bp+32 /* &iArg1 */) != 0)) || + (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+40 /* &azArg2[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+39355 /* "ARG" */, 0, bp+64 /* &iArg2 */) != 0)) || (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*8)), bp+68 /* &iOffset */) != 0)) || (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 6*8)), bp+72 /* &n */) != 0) { return TCL_ERROR @@ -79369,7 +80854,7 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob var iOff int32 if (objc != 4) && (objc != 5) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38611 /* "DB DBNAME SLOT ?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39359 /* "DB DBNAME SLOT ?..." */) return TCL_ERROR } @@ -79390,7 +80875,7 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob return TCL_ERROR } if libc.AtomicLoadPUintptr(bp+40 /* pShm */) == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38634 /* "*-shm is not yet..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+39382 /* "*-shm is not yet..." */, 0)) return TCL_ERROR } aShm = libc.AtomicLoadPUintptr(bp + 40 /* pShm */) @@ -79405,13 +80890,13 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob } func Sqlitetestvfs_Init(tls *libc.TLS, interp uintptr) int32 { /* test_vfs.c:1685:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+38658 /* "testvfs" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39406 /* "testvfs" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{testvfs_cmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+38666 /* "vfs_shmlock" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39414 /* "vfs_shmlock" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfs_shmlock})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+38678 /* "vfs_set_readmark" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+39426 /* "vfs_set_readmark" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfs_set_readmark})), uintptr(0), uintptr(0)) return TCL_OK @@ -79574,7 +81059,7 @@ func test_create_window(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 7 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38695 /* "DB NAME XSTEP XF..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+39443 /* "DB NAME XSTEP XF..." */) return TCL_ERROR } @@ -79632,7 +81117,7 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowInverse})), @@ -79643,7 +81128,7 @@ __2: goto error __3: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct { @@ -79656,7 +81141,7 @@ __3: goto error __4: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { @@ -79669,7 +81154,7 @@ __4: goto error __5: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38732 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39480 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), uintptr(0), @@ -79684,7 +81169,7 @@ __6: return TCL_OK error: - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+38736 /* "misuse test erro..." */, -1)) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+39484 /* "misuse test erro..." */, -1)) return TCL_ERROR } @@ -79693,7 +81178,7 @@ func sumintStep(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* test var pInt uintptr if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_INTEGER { - sqlite3.Xsqlite3_result_error(tls, ctx, ts+38754 /* "invalid argument" */, -1) + sqlite3.Xsqlite3_result_error(tls, ctx, ts+39502 /* "invalid argument" */, -1) return } pInt = sqlite3.Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(sqlite3_int64(0)))) @@ -79747,7 +81232,7 @@ func test_create_sumint(tls *libc.TLS, clientData uintptr, interp uintptr, objc return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38771 /* "sumint" */, 1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39519 /* "sumint" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintValue})), *(*uintptr)(unsafe.Pointer(&struct { @@ -79778,7 +81263,7 @@ func test_override_sum(tls *libc.TLS, clientData uintptr, interp uintptr, objc i return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38778 /* "sum" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+39526 /* "sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal}))) @@ -79810,10 +81295,10 @@ var aObjCmd14 = [4]struct { FclientData int32 _ [4]byte }{ - {FzName: ts + 38782 /* "sqlite3_create_w..." */, FxProc: 0}, - {FzName: ts + 38813 /* "test_create_wind..." */, FxProc: 0}, - {FzName: ts + 38848 /* "test_create_sumi..." */, FxProc: 0}, - {FzName: ts + 38867 /* "test_override_su..." */, FxProc: 0}, + {FzName: ts + 39530 /* "sqlite3_create_w..." */, FxProc: 0}, + {FzName: ts + 39561 /* "test_create_wind..." */, FxProc: 0}, + {FzName: ts + 39596 /* "test_create_sumi..." */, FxProc: 0}, + {FzName: ts + 39615 /* "test_override_su..." */, FxProc: 0}, } /* test_window.c:336:5 */ // 2008 September 1 @@ -81204,5 +82689,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&zipfileModule)) + 144 /* .xFindFunction */)) = zipfileFindFunction // zipfile.c:2167:5: } -var ts1 = "%s\x00internal error!\x00SELECT * FROM main.%Q WHERE sample()\x00expert\x00PRAGMA table_xinfo=%Q\x00main\x00, \x00%Q\x00 COLLATE %Q\x00 COLLATE %s\x00 DESC\x00PRAGMA index_list=%Q\x00PRAGMA index_xInfo=%Q\x00%s_idx_%08x\x00CREATE INDEX '%q' ON %Q(%s)\x00CREATE INDEX %s ON %s(%s)\x00EXPLAIN QUERY PLAN %s\x00 USING INDEX \x00 USING COVERING INDEX \x00%s\n\x00%s;\n\x00SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_schema WHERE tbl_name = %Q AND type IN ('table', 'trigger') ORDER BY type;\x00ALTER TABLE temp.%Q RENAME TO %Q\x00INSERT INTO %Q VALUES(\x00%s?\x00\x00)\x00UPDATE %Q SET \x00%s%Q=?\x00DELETE FROM %Q\x00t592690916721053953805701627921227776\x00DROP TABLE t592690916721053953805701627921227776\x00SELECT type, name, sql, 1 FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%' UNION ALL SELECT type, name, sql, 2 FROM sqlite_schema WHERE type = 'trigger' AND tbl_name IN(SELECT name FROM sqlite_schema WHERE type = 'view') ORDER BY 4, 1\x00CREATE TABLE x(\x00%s%Q COLLATE %s\x00CREATE VIRTUAL TABLE %Q USING expert(%Q)\x00SELECT max(i.seqno) FROM sqlite_schema AS s, pragma_index_list(s.name) AS l, pragma_index_info(l.name) AS i WHERE s.type = 'table'\x00%sx.%Q IS rem(%d, x.%Q) COLLATE %s\x00%s%d\x00SELECT %s FROM %Q x ORDER BY %s\x00SELECT %s FROM temp.t592690916721053953805701627921227776 x ORDER BY %s\x00%d\x00 %d\x00DROP TABLE IF EXISTS temp.t592690916721053953805701627921227776\x00CREATE TABLE temp.t592690916721053953805701627921227776 AS SELECT * FROM %Q\x00SELECT s.rowid, s.name, l.name FROM sqlite_schema AS s, pragma_index_list(s.name) AS l WHERE s.type = 'table'\x00SELECT name, coll FROM pragma_index_xinfo(?) WHERE key\x00INSERT INTO sqlite_stat1 VALUES(?, ?, ?)\x00ANALYZE; PRAGMA writable_schema=1\x00rem\x00sample\x00ANALYZE sqlite_schema\x00:memory:\x00SELECT sql FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%%' AND sql NOT LIKE 'CREATE VIRTUAL %%'\x00%s;%s%s\n\x00 -- stat1: \x00no such handle: \x00sql\x00TABLE\x00analyze\x00count\x00report\x00STMT EREPORT\x00destroy\x00SUBCOMMAND ...\x00sub-command\x00indexes\x00plan\x00candidates\x00DB\x00sqlite3expert%d\x00out of memory\x00sqlite3_expert_new\x00SQLITE_DONE\x00SQLITE_ERROR\x00SQLITE_OK\x00SELECT fts5(?1)\x00error: \x00fts5_api_ptr\x00f5t_2_%lld\x00xColumnCount\x00xRowCount\x00xColumnTotalSize\x00COL\x00xTokenize\x00TEXT SCRIPT\x00xPhraseCount\x00xPhraseSize\x00PHRASE\x00xInstCount\x00xInst\x00IDX\x00xRowid\x00xColumnText\x00xColumnSize\x00xQueryPhrase\x00PHRASE SCRIPT\x00xSetAuxdata\x00VALUE\x00xGetAuxdata\x00CLEAR\x00xSetAuxdataInt\x00INTEGER\x00xGetAuxdataInt\x00xPhraseForeach\x00IPHRASE COLVAR OFFVAR SCRIPT\x00xPhraseColumnForeach\x00IPHRASE COLVAR SCRIPT\x00SUB-COMMAND\x00f5t_%lld\x00bytearray\x00boolean\x00double\x00wideInt\x00int\x00DB NAME SCRIPT\x00?-subst? DB NAME TEXT\x00-subst\x00unrecognized option: \x00no such tokenizer: \x00error in tokenizer.xCreate()\x00error in tokenizer.xTokenize()\x00document\x00aux\x00query\x00prefixquery\x00invalid\x00-colocated\x00sqlite3_fts5_token may only be used by tokenizer callback\x00?-colocated? TEXT START END\x00error in fts5_api.xCreateTokenizer()\x00NSLOT TOKEN\x00sqlite3_fts5_create_tokenizer\x00sqlite3_fts5_token\x00sqlite3_fts5_tokenize\x00sqlite3_fts5_create_function\x00sqlite3_fts5_may_be_corrupt\x00sqlite3_fts5_token_hash\x00sqlite3_fts5_register_matchinfo\x00sqlite3_fts5_register_fts5tokenize\x00unrecognized matchinfo flag: %c\x00pcx\x00matchinfo\x00CREATE TABLE x(input HIDDEN, token, start, end, position)\x00fts5tokenize\x00apndvfs\x00Start-Of-SQLite3-\x00apnd(%lld)/%z\x00SQLite format 3\x00%s: cost must be between 1 and %d\x00%s: maximum string length is %d\x00%s: iLang must be between 0 and %d\x00?\x00SELECT * FROM %Q.%Q\x00%s: %s\x00%s: %s has %d columns, expected 4\x00vocabulary_table\x00vocabulary_word\x00vocabulary_language\x00edit_distances\x00unrecognized argument: [%s]\n\x00no edit_distances table specified\x00CREATE TABLE x(word,distance,language,command HIDDEN,nword HIDDEN)\x000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^abcdefghijklmnopqrstuvwxyz~\x00SELECT \"%w\" FROM \"%w\"\x00 WHERE \"%w\">=?1 AND \"%w\"=?2 ORDER BY 1\x00SELECT \"%w\" FROM \"%w\" WHERE \"%w\">=?1 ORDER BY 1\x00*\x00DELETE from %s is not allowed\x00UPDATE of %s is not allowed\x00INSERT INTO %s allowed for column [command] only\x00approximate_match\x00int32\x00int64\x00char*\x00CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)\x00carray-bind\x00carray\x00unknown datatype: %Q\x00inttoptr\x00cksmvfs\x00ZV-\x00checksum fault offset %lld of \"%s\"\x00checksum_verification\x00enable%\x00yes\x00on\x00page_size\x00cksm/%z\x00verify_checksum\x00tablename\x00idcolumn\x00parentcolumn\x00CREATE TABLE x(id,depth,root HIDDEN,tablename HIDDEN,idcolumn HIDDEN,parentcolumn HIDDEN)\x00SELECT \"%w\".\"%w\" FROM \"%w\" WHERE \"%w\".\"%w\"=?1\x00transitive_closure\x00rb\x00cannot open '%s' for reading\x00line %d: unescaped %c character\x00line %d: unterminated %c-quoted field\n\x00more than one '%s' parameter\x00true\x00no\x00off\x00false\x00header\x00more than one 'header' parameter\x00testflags\x00columns\x00more than one 'columns' parameter\x00column= value must be positive\x00bad parameter: '%s'\x00must specify either filename= or data= but not both\x00%sc%d TEXT\x00,\x00%s\"%w\" TEXT\x00bad schema: '%s' - %s\x00filename\x00data\x00schema\x00csv\x00csv_wr\x00decimal_sum\x00decimal\x00decimal_cmp\x00decimal_add\x00decimal_sub\x00decimal_mul\x00 \x00eval\x00CREATE TABLE x(addr,opcode,p1,p2,p3,p4,p5,comment,sql HIDDEN)\x00EXPLAIN %s\x00explain\x00wb\x00wrong number of arguments to function writefile()\x00failed to create symlink: %s\x00failed to create directory: %s\x00failed to write file: %s\x00CREATE TABLE x(name,mode,mtime,data,path HIDDEN,dir HIDDEN)\x00cannot read directory: %s\x00%s/%s\x00cannot stat file: %s\x00table function fsdir requires an argument\x00table function fsdir requires a non-NULL argument\x00fsdir\x00readfile\x00writefile\x00lsmode\x00%s: ruleset must be between 0 and %d\x00%s: wrong number of CREATE VIRTUAL TABLE arguments\x00CREATE TABLE x(word,distance,ruleset)\x00fuzzer\x00ieee754(%lld,%d)\x00ieee754\x00ieee754_mantissa\x00ieee754_exponent\x00ieee754_to_blob\x00ieee754_from_blob\x00BEGIN; SELECT * FROM %s%q%ssqlite_schema\x00'\x00'.\x00PRAGMA %s%q%spage_size\x00sqlite3_mmap_warm_cache: Warmed up %d pages of %s\x00END\x00AND (%s)\x00collate \"%w\"\x00SELECT %s FROM %s WHERE %s>=(?1 || ?2) %s AND %s<=(?1 || char(1114111)) %s %s ORDER BY 1 %s ASC LIMIT 1\x00next_char\x00NULL\x00is\x00not\x00in(\x00in(select\x00in(with\x00?,?,?\x002nd argument to percentile() is not a number between 0.0 and 100.0\x002nd argument to percentile() is not the same for all input rows\x001st argument to percentile() is not numeric\x00Inf input to percentile()\x00percentile\x00CREATE TABLE prefixes(prefix TEXT, original_string TEXT HIDDEN)\x00prefixes\x00prefix_length\x00unknown \\ escape\x00afnrtv\\()*.+?[$^{|}]\x00\a\f\n\r\t\v\x00unmatched '('\x00'*' without operand\x00'+' without operand\x00'?' without operand\x00'{m,n}' without operand\x00unmatched '{'\x00n less than m in '{m,n}'\x00both m and n are zero in '{m,n}'\x00POSIX character classes not supported\x00unclosed '['\x00unrecognized character\x00regexp\x00regexpi\x00remember\x00CREATE TABLE x(value,start hidden,stop hidden,step hidden)\x00generate_series() requires SQLite 3.8.12 or later\x00generate_series\x00.ABCDHLRMY9 ?\x00non-ASCII input to editdist()\x00NULL input to editdist()\x00SELECT iLang, cFrom, cTo, iCost FROM \"%w\" WHERE iLang>=0 ORDER BY iLang\x00editdist3\x00DROP TABLE IF EXISTS \"%w\".\"%w_vocab\"\x00CREATE TABLE x(word,rank,distance,langid, score, matchlen, phonehash HIDDEN, top HIDDEN, scope HIDDEN, srchcnt HIDDEN, soundslike HIDDEN, command HIDDEN)\x00CREATE TABLE IF NOT EXISTS \"%w\".\"%w_vocab\"(\n id INTEGER PRIMARY KEY,\n rank INT,\n langid INT,\n word TEXT,\n k1 TEXT,\n k2 TEXT\n);\n\x00CREATE INDEX IF NOT EXISTS \"%w\".\"%w_vocab_index_langid_k2\" ON \"%w_vocab\"(langid,k2);\x00edit_cost_table=\x00bad argument to spellfix1(): \"%s\"\x00SELECT id, word, rank, coalesce(k1,word) FROM \"%w\".\"%w_vocab\" WHERE langid=%d AND k2>=?1 AND k2=%lld\x00AND\x00%z %s rowid<=%lld\x00CREATE TABLE x(value)\x00wholenumber\x00CREATE TABLE y(name PRIMARY KEY,mode,mtime,sz,rawdata,data,method,z HIDDEN) WITHOUT ROWID;\x00zipfile\x00zipfile constructor requires one argument\x00error in fread()\x00error in fwrite()\x00failed to read CDS at offset %lld\x00%.*s\x00failed to read LFH at offset %d\x001.2.11\x00inflateInit2() failed (%d)\x00inflate() failed (%d)\x00zipfile: deflate() error\x00cannot find end of central directory record\x00zipfile() function requires an argument\x00cannot open file: %s\x00-rwxrwxrwx\x00zipfile: mode does not match data\x00zipfile: parse error in mode: %s\x00zipfile: missing filename\x00ab+\x00zipfile: failed to open file %s for writing\x00sz must be NULL\x00rawdata must be NULL\x00unknown compression method: %d\x00%s/\x00duplicate name: \"%s\"\x00{\"version-made-by\" : %u, \"version-to-extract\" : %u, \"flags\" : %u, \"compression\" : %u, \"time\" : %u, \"date\" : %u, \"crc32\" : %u, \"compressed-size\" : %u, \"uncompressed-size\" : %u, \"file-name-length\" : %u, \"extra-field-length\" : %u, \"file-comment-length\" : %u, \"disk-number-start\" : %u, \"internal-attr\" : %u, \"external-attr\" : %u, \"offset\" : %u }\x00zipfile_cds\x00wrong number of arguments to function zipfile()\x00first argument to zipfile() must be non-NULL\x00illegal method value: %d\x00non-directory name must not end with /\x00rbu_delta\x00step\x00close\x00create_rbu_delta\x00savestate\x00dbMain_eval\x00SQL\x00bp_progress\x00db\x00RBU\x00state\x00progress\x00close_no_error\x00temp_size_limit\x00LIMIT\x00temp_size\x00dbRbu_eval\x00METHOD\x00method\x00 - \x00oal\x00move\x00checkpoint\x00done\x00error\x00NAME TARGET-DB RBU-DB ?STATE-DB?\x00NAME TARGET-DB ?STATE-DB?\x00?-default? NAME PARENT\x00NAME\x00sqlite3rbu_db(0, 0)!=0\x00sqlite3rbu\x00sqlite3rbu_vacuum\x00sqlite3rbu_create_vfs\x00sqlite3rbu_destroy_vfs\x00sqlite3rbu_internal_test\x00incrblob\x00incrblob_%d\x00%lld\x00sqlite_unlock_notify_arg\x00sqlite_unlock_notify_argcount\x00DELETE\x00INSERT\x00UPDATE\x00SQLITE_COPY\x00SQLITE_CREATE_INDEX\x00SQLITE_CREATE_TABLE\x00SQLITE_CREATE_TEMP_INDEX\x00SQLITE_CREATE_TEMP_TABLE\x00SQLITE_CREATE_TEMP_TRIGGER\x00SQLITE_CREATE_TEMP_VIEW\x00SQLITE_CREATE_TRIGGER\x00SQLITE_CREATE_VIEW\x00SQLITE_DELETE\x00SQLITE_DROP_INDEX\x00SQLITE_DROP_TABLE\x00SQLITE_DROP_TEMP_INDEX\x00SQLITE_DROP_TEMP_TABLE\x00SQLITE_DROP_TEMP_TRIGGER\x00SQLITE_DROP_TEMP_VIEW\x00SQLITE_DROP_TRIGGER\x00SQLITE_DROP_VIEW\x00SQLITE_INSERT\x00SQLITE_PRAGMA\x00SQLITE_READ\x00SQLITE_SELECT\x00SQLITE_TRANSACTION\x00SQLITE_UPDATE\x00SQLITE_ATTACH\x00SQLITE_DETACH\x00SQLITE_ALTER_TABLE\x00SQLITE_REINDEX\x00SQLITE_ANALYZE\x00SQLITE_CREATE_VTABLE\x00SQLITE_DROP_VTABLE\x00SQLITE_FUNCTION\x00SQLITE_SAVEPOINT\x00SQLITE_RECURSIVE\x00????\x00SQLITE_DENY\x00SQLITE_IGNORE\x00RELEASE _tcl_transaction\x00COMMIT\x00ROLLBACK TO _tcl_transaction ; RELEASE _tcl_transaction\x00option\x00?CALLBACK?\x00?DATABASE? FILENAME\x00cannot open target database: \x00backup failed: \x00CALLBACK\x00cache option ?arg?\x00flush\x00size\x00size n\x00cannot convert \"\x00\" to integer\x00bad option \"\x00\": must be flush or size\x00NAME SCRIPT\x00SCRIPT\x00?OPTION? ?BOOLEAN?\x00unknown config option: \"\x00\"\x00CONFLICT-ALGORITHM TABLE FILENAME ?SEPARATOR? ?NULLINDICATOR?\x00\t\x00Error: non-null separator required for copy\x00rollback\x00abort\x00fail\x00ignore\x00replace\x00Error: \"\x00\", conflict-algorithm must be one of: rollback, abort, fail, ignore, or replace\x00SELECT * FROM '%q'\x00Error: no such table: \x00Error: \x00Error: can't malloc()\x00INSERT OR %q INTO '%q' VALUES(?\x00Error: cannot open file: \x00BEGIN\x00Error: %s line %d: expected %d columns of data but found %d\x00, failed while processing line: \x00?DATABASE? VALUE\x00-maxsize\x00-readonly\x00unknown option: \x00unable to set MEMDB content\x00extension loading is turned off at compile-time\x00-withoutnulls\x00unknown option: \"\x00?OPTIONS? SQL ?ARRAY-NAME? ?SCRIPT?\x00NAME ?SWITCHES? SCRIPT\x00-argcount\x00option requires an argument: \x00number of arguments must be non-negative\x00-deterministic\x00-directonly\x00-innocuous\x00-returntype\x00real\x00text\x00blob\x00any\x00type\x00\": must be -argcount, -deterministic, -directonly, -innocuous, or -returntype\x00?-readonly? ?DB? TABLE COLUMN ROWID\x00NULLVALUE\x00N CALLBACK\x00KEY\x00cannot open source database: \x00restore failed: \x00restore failed: source database busy\x00?DATABASE?\x00(step|sort|autoindex)\x00sort\x00autoindex\x00vmstep\x00bad argument: should be autoindex, step, sort or vmstep\x00MILLISECONDS\x00?CALLBACK? ?MASK?\x00trace type\x00SAVEPOINT _tcl_transaction\x00[TYPE] SCRIPT\x00transaction type\x00BEGIN EXCLUSIVE\x00BEGIN IMMEDIATE\x00?SCRIPT?\x00SUB-COMMAND ?ARGS?\x00hook ?SCRIPT?\x00INDEX\x00-use-legacy-prepare\x00-last-stmt-ptr\x00%p\x00unknown argument: \x00authorizer\x00backup\x00bind_fallback\x00busy\x00cache\x00changes\x00collate\x00collation_needed\x00commit_hook\x00complete\x00config\x00copy\x00deserialize\x00enable_load_extension\x00errorcode\x00exists\x00function\x00interrupt\x00last_insert_rowid\x00nullvalue\x00onecolumn\x00preupdate\x00profile\x00rekey\x00restore\x00rollback_hook\x00serialize\x00status\x00timeout\x00total_changes\x00trace\x00trace_v2\x00transaction\x00unlock_notify\x00update_hook\x00version\x00wal_hook\x00defensive\x00dqs_ddl\x00dqs_dml\x00enable_fkey\x00enable_qpsg\x00enable_trigger\x00enable_view\x00fts3_tokenizer\x00legacy_alter_table\x00legacy_file_format\x00load_extension\x00no_ckpt_on_close\x00reset_database\x00trigger_eqp\x00trusted_schema\x00writable_schema\x00statement\x00row\x00deferred\x00exclusive\x00immediate\x00depth\x00hook\x00new\x00old\x00HANDLE ?FILENAME? ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nofollow BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?\x00-version\x00-sourceid\x00-has-codec\x000\x00-key\x00-vfs\x00-create\x00-nofollow\x00-nomutex\x00-fullmutex\x00-uri\x00-translatefilename\x00sqlite3\x00sqlite\x003.36.0\x00if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewline \"% \"\n}\nflush stdout\nappend line [gets stdin]\nif {[info complete $line]} {\nif {[catch {uplevel #0 $line} result]} {\nputs stderr \"Error: $result\"\n} elseif {$result!=\"\"} {\nputs $result\n}\nset line {}\n} else {\nappend line \\n\n}\n}\n}\n\x00SQLITE_DEBUG_BREAK\x00attach debugger to process %d and press any key to continue.\n\x00utf-8\x00argc\x00argv0\x00argv\x00errorInfo\x00%s: %s\n\x00SQLITE-CONNECTION\x00command not found: \x00error code %s (%d) does not match sqlite3_errcode %s (%d)\x00OMIT_MISUSE\x00wrong # args: should be \"\x00 DB FORMAT STRING\x00 DB HEX\x00 DB\x00 DB SQL\x00%z%s%s\x00%s%n\x00abcdefghijklmnopqrstuvwxyz\x00 DB FORMAT STRING ?COUNT?\x00 DB\"\x00 FILENAME\"\x00%02x\x00%04x\x00tkt2213 is not fixed\x00text16\x00bytes\x00bytes16\x00noop\x00x_coalesce\x00hex8\x00hex16\x00tkt2213func\x00pointer_change\x00counter1\x00counter2\x00intreal\x00x_sqlite_exec\x00value of 40 handed to x_count\x00x_count totals to 42\x00x_count\x00legacy_count\x00 TEXT\"\x00 FORMAT INT INT INT\"\x00argument is not a valid 64-bit integer\x00 FORMAT INT INT ?STRING?\"\x00 INT FORMAT INT INT ?STRING?\"\x00N must be non-negative\x00 FORMAT INT INT DOUBLE\"\x00 FORMAT DOUBLE DOUBLE\"\x00 FORMAT STRING\"\x00%08x%08x\x002nd argument should be 16-characters of hex\x00?BOOLEAN?\x00DB BOOLEAN\x00DB dbname tblname colname\x00CHANNEL ROWID\x00DB-HANDLE NAME CMP-PROC DEL-PROC\x00sqlite3_create_collate_v2() failed to detect an invalid encoding\x00utf8\x00utf16\x00utf16le\x00utf16be\x00DB NAME NARG ENC SWITCHES...\x00encoding\x00-func\x00-step\x00-final\x00-destroy\x00switch\x00DB-HANDLE FILE ?PROC?\x00this build omits sqlite3_load_extension()\x00DB-HANDLE ONOFF\x00string\x00value\x00first argument should be one of: int int64 string double null value\x00 DB FUNCTION-NAME\x00 \x00STMT PARAMETER RESETFLAG\x00SQLITE_STMTSTATUS_FULLSCAN_STEP\x00SQLITE_STMTSTATUS_SORT\x00SQLITE_STMTSTATUS_AUTOINDEX\x00SQLITE_STMTSTATUS_VM_STEP\x00SQLITE_STMTSTATUS_REPREPARE\x00SQLITE_STMTSTATUS_RUN\x00SQLITE_STMTSTATUS_MEMUSED\x00NBYTE\x00DB DBNAME\x00DB DBNAME SNAPSHOT\x00SNAPSHOT\x00SNAPSHOT1 SNAPSHOT2\x00bad SNAPSHOT\x00FILE\x00PATH\x00 DB STMT\x00 STMT\x00 FROM-STMT TO-STMT\x00 VM IDX VALUE (null|static|normal)\"\x00static\x00static-nbytes\x00normal\x00blob10\x00abc\x00xyz\x00pq\x004th argument should be \"null\" or \"static\" or \"normal\"\x00(%d) \x00test_collate\x00UTF-8\x00UTF-16LE\x00UTF-16BE\x00 \x00utf16bin\x00utf16_unaligned\x00utf16_aligned\x00test_function\x00\x00STMT IDX N\x00 STMT N VALUE\x00NaN\x00SNaN\x00-NaN\x00-SNaN\x00+Inf\x00-Inf\x00Epsilon\x00-Epsilon\x00NaN0\x00-NaN0\x00 STMT N\x00 STMT N VALUE BYTES\x00 STMT N DATA BYTES\x00cannot use %d blob bytes, have %d\x00-transient\x00-static\x00-int32\x00-int64\x00-double\x00-text\x00--\x00text data must be either -static or -transient\x00cannot be both -static and -transient\x00[OPTIONS] STMT IDX VALUE ...\x00STMT\x00STMT N\x00STMT NAME\x00 DB sql bytes ?tailvar?\x00 DB sql bytes tailvar\x00 DB sql bytes flags tailvar\x00\x00SELECT 1\x00 filename options-list\x00FILENAME FLAGS VFS\x00SQLITE_OPEN_READONLY\x00SQLITE_OPEN_READWRITE\x00SQLITE_OPEN_CREATE\x00SQLITE_OPEN_DELETEONCLOSE\x00SQLITE_OPEN_EXCLUSIVE\x00SQLITE_OPEN_AUTOPROXY\x00SQLITE_OPEN_MAIN_DB\x00SQLITE_OPEN_TEMP_DB\x00SQLITE_OPEN_TRANSIENT_DB\x00SQLITE_OPEN_MAIN_JOURNAL\x00SQLITE_OPEN_TEMP_JOURNAL\x00SQLITE_OPEN_SUBJOURNAL\x00SQLITE_OPEN_SUPER_JOURNAL\x00SQLITE_OPEN_NOMUTEX\x00SQLITE_OPEN_FULLMUTEX\x00SQLITE_OPEN_SHAREDCACHE\x00SQLITE_OPEN_PRIVATECACHE\x00SQLITE_OPEN_WAL\x00SQLITE_OPEN_URI\x00flag\x00\x00 STMT column\x00FLOAT\x00TEXT\x00BLOB\x00 DB MAGIC\x00SQLITE_MAGIC_OPEN\x00SQLITE_MAGIC_CLOSED\x00SQLITE_MAGIC_BUSY\x00SQLITE_MAGIC_ERROR\x00 DB function-name\x00VARIABLE\x00?N?\x001234567890000000\x00__one\x00__two\x00notadatabase\x00Unexpected non-zero errno: \x00DB [DBNAME]\x00%u\x00DB DBNAME SIZE\x00 DB PWD\x00 DB FLAG\x00%d %d\x00 DB ?AUXDB?\x00DB N\x00 DB ID VALUE\x00unknown limit type: \x00SQLITE_LIMIT_LENGTH\x00SQLITE_LIMIT_SQL_LENGTH\x00SQLITE_LIMIT_COLUMN\x00SQLITE_LIMIT_EXPR_DEPTH\x00SQLITE_LIMIT_COMPOUND_SELECT\x00SQLITE_LIMIT_VDBE_OP\x00SQLITE_LIMIT_FUNCTION_ARG\x00SQLITE_LIMIT_ATTACHED\x00SQLITE_LIMIT_LIKE_PATTERN_LENGTH\x00SQLITE_LIMIT_VARIABLE_NUMBER\x00SQLITE_LIMIT_TRIGGER_DEPTH\x00SQLITE_LIMIT_WORKER_THREADS\x00SQLITE_LIMIT_TOOSMALL\x00SQLITE_LIMIT_TOOBIG\x00SEED ?DB?\x00BOOLEAN\x00current\x00max\x00min\x00recyclable\x00DB ?NAME?\x00passive\x00full\x00restart\x00truncate\x00DB MODE ?NAME?\x00mode\x00DB VALUE\x00COMMAND ...\x00command has no objProc: \x00%d %d %d %s\n\x00SQLITE_TESTCTRL_LOCALTIME_FAULT\x00SQLITE_TESTCTRL_SORTER_MMAP\x00SQLITE_TESTCTRL_IMPOSTER\x00SQLITE_TESTCTRL_INTERNAL_FUNCTIONS\x00VERB ARGS...\x00VERB\x00ONOFF\x00DB LIMIT\x00DB dbName onOff tnum\x00ru_utime=%d.%06d ru_stime=%d.%06d ru_minflt=%d ru_majflt=%d\x00DB OPT BOOLEAN\x00unknown optimization - should be one of:\x00all\x00none\x00query-flattener\x00groupby-order\x00factor-constants\x00distinct-opt\x00cover-idx-scan\x00order-by-idx-join\x00transitive\x00omit-noop-join\x00stat4\x00skip-scan\x00push-down\x00DB NAME ...\x00no such extension: \x00initialization of \x00 failed: \x00amatch\x00appendvfs\x00closure\x00fileio\x00nextchar\x00series\x00spellfix\x00totype\x00BOOL\x00DB SQL1 NSTEP SQL2\x00data error: (a!=b)\x00checksum mismatch\x00sql error: \x00TYPE\x00Deliberate panic\x00DB SETTING [VALUE]\x00SQLITE_*\x00DBCONFIG_*\x00ENABLE_*\x00unknown sqlite3_db_config setting\x00FKEY\x00TRIGGER\x00FTS3_TOKENIZER\x00LOAD_EXTENSION\x00NO_CKPT_ON_CLOSE\x00QPSG\x00TRIGGER_EQP\x00RESET_DB\x00DEFENSIVE\x00WRITABLE_SCHEMA\x00LEGACY_ALTER_TABLE\x00DQS_DML\x00DQS_DDL\x00LEGACY_FILE_FORMAT\x00DB ?SCHEMA?\x00icecube\x00DB ?DBNAME?\x00DB OFFSET DATA\x00HEXDB\x00| size %d pagesize %d\x00bad 'pagesize' field\x00bad 'size' field\x00| page %d offset %d\x00| %d: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\x00sqlite_search_count\x00sqlite_found_count\x00sqlite_sort_count\x00sqlite3_max_blobsize\x00sqlite_like_count\x00sqlite_interrupt_count\x00sqlite_open_file_count\x00sqlite_current_time\x00sqlite3_xferopt_count\x00sqlite3_pager_readdb_count\x00sqlite3_pager_writedb_count\x00sqlite3_pager_writej_count\x00unaligned_string_counter\x00sqlite_last_needed_collation\x00sqlite_query_plan\x00sqlite_opentemp_count\x00sqlite_static_bind_value\x00sqlite_static_bind_nbyte\x00sqlite_temp_directory\x00sqlite_data_directory\x00bitmask_size\x00longdouble_size\x00sqlite_sync_count\x00sqlite_fullsync_count\x00db_enter\x00db_leave\x00sqlite3_mprintf_int\x00sqlite3_mprintf_int64\x00sqlite3_mprintf_long\x00sqlite3_mprintf_str\x00sqlite3_snprintf_str\x00sqlite3_mprintf_stronly\x00sqlite3_mprintf_double\x00sqlite3_mprintf_scaled\x00sqlite3_mprintf_hexdouble\x00sqlite3_mprintf_z_test\x00sqlite3_mprintf_n_test\x00sqlite3_snprintf_int\x00sqlite3_last_insert_rowid\x00sqlite3_exec_printf\x00sqlite3_exec_hex\x00sqlite3_exec\x00sqlite3_exec_nr\x00sqlite3_get_table_printf\x00sqlite3_close\x00sqlite3_close_v2\x00sqlite3_create_function\x00sqlite3_create_aggregate\x00sqlite3_drop_modules\x00sqlite_register_test_function\x00sqlite_abort\x00sqlite_bind\x00breakpoint\x00sqlite3_key\x00sqlite3_rekey\x00sqlite_set_magic\x00sqlite3_interrupt\x00sqlite_delete_function\x00sqlite_delete_collation\x00sqlite3_get_autocommit\x00sqlite3_busy_timeout\x00printf\x00sqlite3IoTrace\x00clang_sanitize_address\x00sqlite3_db_config\x00sqlite3_txn_state\x00bad_behavior\x00register_dbstat_vtab\x00sqlite3_connection_pointer\x00intarray_addr\x00int64array_addr\x00doublearray_addr\x00textarray_addr\x00sqlite3_bind_int\x00sqlite3_bind_zeroblob\x00sqlite3_bind_zeroblob64\x00sqlite3_bind_int64\x00sqlite3_bind_double\x00sqlite3_bind_null\x00sqlite3_bind_text\x00sqlite3_bind_text16\x00sqlite3_bind_blob\x00sqlite3_carray_bind\x00sqlite3_bind_parameter_count\x00sqlite3_bind_parameter_name\x00sqlite3_bind_parameter_index\x00sqlite3_clear_bindings\x00sqlite3_sleep\x00sqlite3_errcode\x00sqlite3_extended_errcode\x00sqlite3_errmsg\x00sqlite3_errmsg16\x00sqlite3_open\x00sqlite3_open16\x00sqlite3_open_v2\x00sqlite3_complete16\x00sqlite3_normalize\x00sqlite3_prepare\x00sqlite3_prepare16\x00sqlite3_prepare_v2\x00sqlite3_prepare_v3\x00sqlite3_prepare_tkt3134\x00sqlite3_prepare16_v2\x00sqlite3_finalize\x00sqlite3_stmt_status\x00sqlite3_reset\x00sqlite3_expired\x00sqlite3_transfer_bindings\x00sqlite3_changes\x00sqlite3_step\x00sqlite3_sql\x00sqlite3_expanded_sql\x00sqlite3_next_stmt\x00sqlite3_stmt_readonly\x00sqlite3_stmt_isexplain\x00sqlite3_stmt_busy\x00uses_stmt_journal\x00sqlite3_release_memory\x00sqlite3_db_release_memory\x00sqlite3_db_cacheflush\x00sqlite3_system_errno\x00sqlite3_db_filename\x00sqlite3_db_readonly\x00sqlite3_soft_heap_limit\x00sqlite3_soft_heap_limit64\x00sqlite3_hard_heap_limit64\x00sqlite3_thread_cleanup\x00sqlite3_pager_refcounts\x00sqlite3_load_extension\x00sqlite3_enable_load_extension\x00sqlite3_extended_result_codes\x00sqlite3_limit\x00dbconfig_maindbname_icecube\x00save_prng_state\x00restore_prng_state\x00reset_prng_state\x00prng_seed\x00extra_schema_checks\x00database_never_corrupt\x00database_may_be_corrupt\x00optimization_control\x00tcl_objproc\x00sqlite3_column_count\x00sqlite3_data_count\x00sqlite3_column_type\x00sqlite3_column_blob\x00sqlite3_column_double\x00sqlite3_column_int64\x00sqlite3_column_text\x00sqlite3_column_name\x00sqlite3_column_int\x00sqlite3_column_bytes\x00sqlite3_column_decltype\x00sqlite3_column_database_name\x00sqlite3_column_table_name\x00sqlite3_column_origin_name\x00sqlite3_column_bytes16\x00sqlite3_column_text16\x00sqlite3_column_name16\x00add_alignment_test_collations\x00sqlite3_column_decltype16\x00sqlite3_column_database_name16\x00sqlite3_column_table_name16\x00sqlite3_column_origin_name16\x00sqlite3_create_collation_v2\x00sqlite3_global_recover\x00working_64bit_int\x00vfs_unlink_test\x00vfs_initfail_test\x00vfs_unregister_all\x00vfs_reregister_all\x00file_control_test\x00file_control_lasterrno_test\x00file_control_lockproxy_test\x00file_control_chunksize_test\x00file_control_sizehint_test\x00file_control_data_version\x00file_control_persist_wal\x00file_control_powersafe_overwrite\x00file_control_vfsname\x00file_control_reservebytes\x00file_control_tempfilename\x00file_control_external_reader\x00sqlite3_vfs_list\x00sqlite3_create_function_v2\x00add_test_collate\x00add_test_collate_needed\x00add_test_function\x00add_test_utf16bin_collate\x00sqlite3_test_errstr\x00tcl_variable_type\x00sqlite3_enable_shared_cache\x00sqlite3_shared_cache_report\x00sqlite3_libversion_number\x00sqlite3_table_column_metadata\x00sqlite3_blob_reopen\x00pcache_stats\x00sqlite3_unlock_notify\x00sqlite3_wal_checkpoint\x00sqlite3_wal_checkpoint_v2\x00sqlite3_wal_autocheckpoint\x00test_sqlite3_log\x00print_explain_query_plan\x00sqlite3_test_control\x00getrusage\x00load_static_extension\x00sorter_test_fakeheap\x00sorter_test_sort4_helper\x00vfs_current_time_int64\x00sqlite3_snapshot_get\x00sqlite3_snapshot_open\x00sqlite3_snapshot_free\x00sqlite3_snapshot_cmp\x00sqlite3_snapshot_recover\x00sqlite3_snapshot_get_blob\x00sqlite3_snapshot_open_blob\x00sqlite3_snapshot_cmp_blob\x00sqlite3_delete_database\x00atomic_batch_write\x00sqlite3_mmap_warm\x00sqlite3_config_sorterref\x00decode_hexdb\x00test_write_db\x00sqlite3_register_cksumvfs\x00sqlite3_unregister_cksumvfs\x00*** OBSOLETE VARIABLE ***\x00 FILENAME N-PAGE\"\x00 ID\"\x00ref\x00page\x00err\x00hit\x00miss\x00ovfl\x00 ID PGNO\"\x00 PAGE\"\x00 PAGE DATA\"\x00 N-MEGABYTES FILE\"\x00open failed: \x00Hello, World!\x00write failed: \x00 PENDING-BYTE\"\x00fault simulator script failed: [%s]\x00 SCRIPT\"\x00 SIZE PROGRAM\"\x00sqlite_io_error_pending\x00sqlite_io_error_persist\x00sqlite_io_error_hit\x00sqlite_io_error_hardhit\x00sqlite_diskfull_pending\x00sqlite_diskfull\x00sqlite_pending_byte\x00pager_open\x00pager_close\x00pager_commit\x00pager_rollback\x00pager_stmt_begin\x00pager_stmt_commit\x00pager_stmt_rollback\x00pager_stats\x00pager_pagecount\x00page_get\x00page_lookup\x00page_unref\x00page_read\x00page_write\x00page_number\x00pager_truncate\x00fake_big_file\x00sqlite3BitvecBuiltinTest\x00sqlite3_test_control_pending_byte\x00sqlite3_test_control_fault_install\x00 FILENAME NCACHE FLAGS\"\x00read\x00write\x00 ID TABLENUM WRITEABLE\"\x00 START MULTIPLIER COUNT INCREMENT\"\x00putVarint returned %d - should be between 1 and 9\x00putVarint returned %d and getVarint returned %d\x00Wrote 0x%016llx and got back 0x%016llx\x00putVarint returned %d and GetVarint32 returned %d\x00Wrote 0x%016llx and got back 0x%016llx from GetVarint32\x00 DB-HANDLE ?N?\"\x00No such db-handle: \"\x00 BT NCACHE\"\x00?-intkey? CSR KEY VALUE\x00btree_insert\x00btree_open\x00btree_close\x00btree_begin_transaction\x00btree_pager_stats\x00btree_cursor\x00btree_close_cursor\x00btree_next\x00btree_eof\x00btree_payload_size\x00btree_first\x00btree_varint_test\x00btree_from_db\x00btree_ismemdb\x00btree_set_cache_size\x00thread ID must be an upper case letter\x00 ID FILENAME\x00thread \x00 is already running\x00failed to create the thread\x00 ID\x00no such thread\x00 ID N\x00column number out of range\x00no database is open\x00 ID SQL\x00no virtual machine available\x00 IDL\x00 ID1 ID2\x00 ID DB\x00thread_create\x00thread_wait\x00thread_halt\x00thread_argc\x00thread_argv\x00thread_colname\x00thread_result\x00thread_error\x00thread_compile\x00thread_step\x00thread_finalize\x00thread_swap\x00thread_db_get\x00thread_db_put\x00thread_stmt_get\x00 \x00hello world\x00UTF8\x00UTF16LE\x00UTF16BE\x00UTF16\x00No such encoding: \x00 \x00binarize\x00test_value_overhead\x00test_translate\x00translate_selftest\x00out of memory in the crash simulator\n\x00atomic\x00atomic512\x00atomic1k\x00atomic2k\x00atomic4k\x00atomic8k\x00atomic16k\x00atomic32k\x00atomic64k\x00sequential\x00safe_append\x00powersafe_overwrite\x00batch-atomic\x00-sectorsize\x00-characteristics\x00Bad option: \"\x00\" - must be \"-characteristics\" or \"-sectorsize\"\x00Option requires an argument: \"\x00no such flag\x00ENABLE ?DEFAULT?\x00crash\x00?OPTIONS? DELAY CRASHFILE\x00Filename is too long: \"\x00NWRITE\x00?-default? PARENT-VFS\x00-default\x00\": must be -default\x00Error in jt_register\x00sqlite3_crash_enable\x00sqlite3_crashparams\x00sqlite3_crash_now\x00sqlite3_simulate_device\x00sqlite3_crash_on_write\x00unregister_devsim\x00register_jt_vfs\x00unregister_jt_vfs\x00client_create\x00client_wait\x00client_halt\x00client_argc\x00client_argv\x00client_colname\x00client_result\x00client_error\x00client_compile\x00client_step\x00client_reset\x00client_finalize\x00client_swap\x00echo_module_fail(%s,%s)\x00echo-vtab-error: %s\x00SELECT * FROM %Q\x00PRAGMA index_list(%s)\x00PRAGMA index_info(%s)\x00echo_module\x00SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = ?\x00%s%s\x00xCreate\x00CREATE TABLE %Q(logmsg)\x00xConnect\x00xDisconnect\x00xDestroy\x00DROP TABLE %Q\x00xOpen\x00xNext\x00xColumn\x00xFilter\x00, *\x00%z, %s\x00%z, NULL\x00echo_module_ignore_usable\x00xBestIndex\x00echo_module_cost\x00SELECT count(*) FROM %Q\x00SELECT rowid%z FROM %Q\x00rowid\x00=\x00<\x00>\x00<=\x00>=\x00LIKE\x00like\x00glob\x00 %s %s LIKE (SELECT '%%'||?||'%%')\x00 %s %s %s ?\x00DESC\x00ASC\x00 ORDER BY %s %s\x00xUpdate\x00 SET\x00UPDATE %Q\x00 SET rowid=?1 \x00%s %Q=?%d\x00 WHERE rowid=?%d\x00DELETE FROM %Q WHERE rowid = ?1\x00INSERT INTO %Q (\x00%s%Q\x00%s?%d\x00) VALUES(\x00echo(%s)\x00xBegin\x00echo_module_begin_fail\x00xSync\x00echo_module_sync_fail\x00xCommit\x00xRollback\x00::echo_glob_overload\x00xRename\x00ALTER TABLE %s RENAME TO %s%s\x00function_that_does_not_exist_0982ma98\x00echo\x00echo_v2\x00DB SQL\x00register_echo_module\x00sqlite3_declare_vtab\x00N/A\x00sqlite3_create_collation\x00Error testing function: \x00sqlite3_malloc\x00sqlite3_realloc\x00c_misuse_test\x00c_realloc_test\x00c_collation_test\x00sqlite3_reset_auto_extension\x00npage\x00finish\x00remaining\x00pagecount\x00CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME\x00sqlite3_backup_init() failed\x00sqlite3_backup\x00wrong number of arguments\x00unexpected: %s\x00eq\x00gt\x00le\x00lt\x00ge\x00match\x00ne\x00isnot\x00isnotnull\x00isnull\x00op\x00column\x00usable\x00desc\x00cost\x00orderby\x00idxnum\x00idxstr\x00rows\x00use\x00omit\x00unexpected: %d\x00tcl\x00register_tcl_module\x00incrblob_\x00DB DATABASE TABLE COLUMN ROWID FLAGS VARNAME\x00HANDLE\x00CHANNEL OFFSET N\x00out of memory in testdata/sqlite-src-3360000/src/test_blob.c\x00HANDLE OFFSET DATA ?NDATA?\x00sqlite3_blob_open\x00sqlite3_blob_close\x00sqlite3_blob_bytes\x00sqlite3_blob_read\x00sqlite3_blob_write\x00sqlite_options\x00malloc_usable_size\x001\x00rowid32\x00casesensitivelike\x00configslower\x001.0\x00curdir\x00win32malloc\x00debug\x00default_ckptfullfsync\x00direct_read\x00dirsync\x00lfs\x00pagecache_overflow_stats\x00mmap\x00worker_threads\x008\x00memdebug\x008_3_names\x00cursorhints\x00hiddencolumns\x00mathlib\x00mem3\x00mem5\x00offset_sql_func\x00snapshot\x00mutex\x00mutex_noop\x00altertable\x00api_armor\x00atomicwrite\x00geopoly\x00json1\x00has_codec\x00like_match_blobs\x00attach\x00auth\x00autoinc\x00autoreset\x00autovacuum\x00default_autovacuum\x00between_opt\x00builtin_test\x00bloblit\x00cast\x00check\x00cte\x00columnmetadata\x00oversize_cell_check\x00compileoption_diags\x00compound\x00conflict\x00crashtest\x00datetime\x00decltype\x00deprecated\x00diskio\x00floatingpoint\x00foreignkey\x00fts1\x00fts2\x00fts3\x00fts5\x00fts3_unicode\x00fts4_deferred\x00gettable\x00icu\x00icu_collations\x00integrityck\x00legacyformat\x00like_opt\x00load_ext\x00localtime\x00lookaside\x00long_double\x00memorydb\x00memorymanage\x00mergesort\x00null_trim\x00or_opt\x00rbu\x00pager_pragmas\x00pragma\x00reindex\x00rtree\x00rtree_int_only\x00schema_pragmas\x00schema_version\x00session\x00stmtvtab\x00scanstatus\x00lock_proxy_pragmas\x00prefer_proxy_locking\x00shared_cache\x00subquery\x00tclvar\x00threadsafe\x00threadsafe1\x00threadsafe2\x00tempdb\x00trigger\x00truncate_opt\x00vacuum\x00view\x00vtab\x00wal\x00wsd\x00update_delete_limit\x00fast_secure_delete\x00secure_delete\x00userauth\x00multiplex_ext_overwrite\x00yytrackmaxstackdepth\x00sqllog\x00uri_00_error\x00normalize\x00windowfunc\x00SQLITE_MAX_LENGTH\x00SQLITE_MAX_COLUMN\x00SQLITE_MAX_SQL_LENGTH\x00SQLITE_MAX_EXPR_DEPTH\x00SQLITE_MAX_COMPOUND_SELECT\x00SQLITE_MAX_VDBE_OP\x00SQLITE_MAX_FUNCTION_ARG\x00SQLITE_MAX_VARIABLE_NUMBER\x00SQLITE_MAX_PAGE_SIZE\x00SQLITE_MAX_PAGE_COUNT\x00SQLITE_MAX_LIKE_PATTERN_LENGTH\x00SQLITE_MAX_TRIGGER_DEPTH\x00SQLITE_DEFAULT_CACHE_SIZE\x00SQLITE_DEFAULT_PAGE_SIZE\x00SQLITE_DEFAULT_FILE_FORMAT\x00SQLITE_DEFAULT_SYNCHRONOUS\x00SQLITE_DEFAULT_WAL_SYNCHRONOUS\x00SQLITE_MAX_ATTACHED\x00SQLITE_MAX_DEFAULT_PAGE_SIZE\x00SQLITE_MAX_WORKER_THREADS\x00TEMP_STORE\x00__GNUC__\x00%s-journal\x00%s-wal\x00%s-shm\x00%s%03d\x00%s-journal%03d\x00%s-wal%03d\x00devsym\x00writecrash\x00CREATE TABLE xyz(dir, name);\x00CREATE TABLE xyz(path, size, data);\x00WITH r(d) AS ( SELECT CASE WHEN dir=?2 THEN ?3 ELSE dir END || '/' || name FROM fsdir WHERE dir=?1 AND name NOT LIKE '.%' UNION ALL SELECT dir || '/' || name FROM r, fsdir WHERE dir=d AND name NOT LIKE '.%') SELECT d FROM r;\x00/\x00CREATE TABLE x(path TEXT, data TEXT)\x00SELECT * FROM %Q.%Q WHERE rowid=?\x00fs\x00fstree\x00register_fs_module\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-!,:*^+=_|?/<> \x00sqlite3_prepare_v2() error: %s\x000123456789abcdef\x00x'\x00test_agg_errmsg16\x00randstr\x00test_destructor\x00test_destructor16\x00hex_to_utf16be\x00hex_to_utf16le\x00hex_to_utf8\x00test_destructor_count\x00test_auxdata\x00test_error\x00test_eval\x00test_isolation\x00test_counter\x00real2hex\x00test_decode\x00test_extract\x00test_zeroblob\x00test_getsubtype\x00test_setsubtype\x00test_frombind\x00tx\x00funcxx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00nullx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00sqlite3_create_function abused test failed\x00invalid matchinfo blob passed to function rank()\x00wrong number of arguments to function rank()\x00rank\x00autoinstall_test_functions\x00abuse_create_function\x00install_fts3_rank_function\x000123456789ABCDEF\x00FILENAME OFFSET AMT\x00r\x00cannot open input file \x00FILENAME OFFSET HEXDATA\x00r+b\x00r+\x00cannot open output file \x00HEXDATA\x00[utf8_to_utf8] unavailable - SQLITE_DEBUG not defined\x00BLOB VARNAME\x00LIST\x00hexio_read\x00hexio_write\x00hexio_get_int\x00hexio_render_int16\x00hexio_render_int32\x00utf8_to_utf8\x00read_fts3varint\x00make_fts3record\x00mem\x00pcache\x00Unknown argument: \"\x00init_wrapper_install\x00init_wrapper_query\x00init_wrapper_uninstall\x00init_wrapper_clear\x00CREATE TABLE x(value INTEGER PRIMARY KEY)\x00CREATE VIRTUAL TABLE temp.%Q USING %Q\x00INTARRAY\x00SQLITE_NOMEM\x00sqlite3_intarray_create\x00sqlite3_intarray_bind\x00jt\x00-journal\x00NBYTES\x00PRIOR NBYTES\x00bad pointer: \x00PRIOR\x00ADDRESS SIZE HEX\x00size must be positive\x00no data\x00ADDRESS SIZE\x00?RESET?\x00DEPT\x00FILENAME\x00COUNTER ?OPTIONS?\x00-repeat\x00-benigncnt\x00TITLE\x00SUB-COMMAND ...\x00start\x00stop\x00dump\x00clear\x00sync\x00SIZE N\x00INSTALLFLAG DISCARDCHANCE PRNGSEEED HIGHSTRESS\x00discard-chance should be between 0 and 100\x00SIZE COUNT\x00BUFID SIZE COUNT\x00illegal arguments - see documentation\x00NBYTE NMINALLOC\x00[DB]\x00sqlite3_db_config(db, 99999) does not return SQLITE_ERROR\x00sqlite3_config(99999) does not return SQLITE_ERROR\x00PARAMETER RESETFLAG\x00SQLITE_STATUS_MEMORY_USED\x00SQLITE_STATUS_MALLOC_SIZE\x00SQLITE_STATUS_PAGECACHE_USED\x00SQLITE_STATUS_PAGECACHE_OVERFLOW\x00SQLITE_STATUS_PAGECACHE_SIZE\x00SQLITE_STATUS_SCRATCH_USED\x00SQLITE_STATUS_SCRATCH_OVERFLOW\x00SQLITE_STATUS_SCRATCH_SIZE\x00SQLITE_STATUS_PARSER_STACK\x00SQLITE_STATUS_MALLOC_COUNT\x00DB PARAMETER RESETFLAG\x00SQLITE_\x00DBSTATUS_\x00LOOKASIDE_USED\x00CACHE_USED\x00SCHEMA_USED\x00STMT_USED\x00LOOKASIDE_HIT\x00LOOKASIDE_MISS_SIZE\x00LOOKASIDE_MISS_FULL\x00CACHE_HIT\x00CACHE_MISS\x00CACHE_WRITE\x00DEFERRED_FKS\x00CACHE_USED_SHARED\x00CACHE_SPILL\x00?INTEGER?\x00sqlite3_free\x00memset\x00memget\x00sqlite3_memory_used\x00sqlite3_memory_highwater\x00sqlite3_memdebug_backtrace\x00sqlite3_memdebug_dump\x00sqlite3_memdebug_fail\x00sqlite3_memdebug_pending\x00sqlite3_memdebug_settitle\x00sqlite3_memdebug_malloc_count\x00sqlite3_memdebug_log\x00sqlite3_config_pagecache\x00sqlite3_config_alt_pcache\x00sqlite3_status\x00sqlite3_db_status\x00install_malloc_faultsim\x00sqlite3_config_heap\x00sqlite3_config_heap_size\x00sqlite3_config_memstatus\x00sqlite3_config_lookaside\x00sqlite3_config_error\x00sqlite3_config_uri\x00sqlite3_config_cis\x00sqlite3_config_pmasz\x00sqlite3_db_config_lookaside\x00sqlite3_dump_memsys3\x00sqlite3_dump_memsys5\x00sqlite3_install_memsys3\x00sqlite3_memdebug_vfs_oom_test\x00%05u\x00 FILENAME [OFFSET AMT]\"\x00unable to open file \"\x00\" for reading\x00md5\x00md5-10x8\x00md5file\x00md5file-10x8\x00md5sum\x00%03d\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_control\x00chunksize\x00multiplex_truncate\x00multiplex/%z\x00multiplex\x00NAME MAKEDEFAULT\x00-force\x00?-force?\x00enable\x00chunk_size\x00max_chunks\x00HANDLE DBNAME SUB-COMMAND INT-VALUE\x00expected database handle, got \"\x00sqlite3_multiplex_initialize\x00sqlite3_multiplex_shutdown\x00sqlite3_multiplex_control\x00fast\x00recursive\x00static_main\x00static_mem\x00static_open\x00static_prng\x00static_lru\x00static_pmem\x00static_app1\x00static_app2\x00static_app3\x00static_vfs1\x00static_vfs2\x00static_vfs3\x00mutex counters are \x00already installed\x00not installed\x00singlethread\x00multithread\x00serialized\x00mutex name\x00disable_mutex_init\x00disable_mutex_try\x00sqlite3_shutdown\x00sqlite3_initialize\x00sqlite3_config\x00enter_static_mutex\x00leave_static_mutex\x00enter_db_mutex\x00leave_db_mutex\x00alloc_dealloc_mutex\x00install_mutex_counters\x00read_mutex_counters\x00clear_mutex_counters\x00\x00\x00\x00\x00\x00\x00\x00vfslog/%z\x00sqlite_ostrace1.....\x00xClose\x00xRead\x00xWrite\x00xTruncate\x00xFilesize\x00xLock\x00xUnlock\x00xCheckResLock\x00xFileControl\x00xSectorSize\x00xDeviceChar\x00xDelete\x00xAccess\x00xFullPathname\x00xRandomness\x00xSleep\x00xCurrentTime\x00xShmUnmap\x00xShmLock\x00xShmBarrier\x00xShmMap\x00annotation\x00CREATE TABLE xxx(event, file, click, rc, size, offset)\x00vfslog\x00VFS\x00failed\x00VFS PARENT LOGFILE\x00bad sqlite3 handle: \x00annotate\x00finalize\x00register\x00quota/%z\x00quota\x00::piLimit_\x00PATTERN LIMIT SCRIPT\x00FILENAME MODE\x00HANDLE SIZE NELEM\x00HANDLE SIZE NELEM CONTENT\x00HANDLE ?HARDSYNC?\x00HANDLE OFFSET WHENCE\x00SEEK_SET\x00SEEK_CUR\x00SEEK_END\x00WHENCE should be SEEK_SET, SEEK_CUR, or SEEK_END\x00HANDLE SIZE\x00PATTERN TEXT\x00sqlite3_quota_initialize\x00sqlite3_quota_shutdown\x00sqlite3_quota_set\x00sqlite3_quota_file\x00sqlite3_quota_dump\x00sqlite3_quota_fopen\x00sqlite3_quota_fread\x00sqlite3_quota_fwrite\x00sqlite3_quota_fclose\x00sqlite3_quota_fflush\x00sqlite3_quota_fseek\x00sqlite3_quota_rewind\x00sqlite3_quota_ftell\x00sqlite3_quota_ftruncate\x00sqlite3_quota_file_size\x00sqlite3_quota_file_truesize\x00sqlite3_quota_file_mtime\x00sqlite3_quota_remove\x00sqlite3_quota_glob\x00sqlite3_quota_file_available\x00sqlite3_quota_ferror\x00cube\x00circle\x00Qcircle\x00breadthfirstsearch\x00register_cube_geom\x00register_circle_geom\x00CREATE TABLE x(database,tablename,cid,name,type,not_null,dflt_value,pk)\x00SELECT name FROM sqlite_temp_schema WHERE type='table'\x00SELECT name FROM %Q.sqlite_schema WHERE type='table'\x00PRAGMA %Q.table_info(%Q)\x00PRAGMA database_list\x00register_schema_module\x00PRAGMA main.journal_mode\x00CMDNAME PATH ?VFS? ?BUSY-HANDLER-SCRIPT?\x00sqlite3demo_superlock\x00open\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00pread\x00pread64\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00mremap\x00SYSCALL-LIST\x00system-call\x00?COUNT PERSIST?\x00EACCES\x00EINTR\x00EIO\x00EOVERFLOW\x00ENOMEM\x00EAGAIN\x00ETIMEDOUT\x00EBUSY\x00EPERM\x00EDEADLK\x00ENOLCK\x00SYSCALL ERRNO\x00errno\x00PGSZ\x00getpagesize\x00pgsz out of range\x00fault\x00install\x00uninstall\x00list\x00defaultvfs\x00pagesize\x00VFS does not support xSetSystemCall\x00test_syscall\x00load_testfixture_extensions\x00SLAVE\x00CREATE TABLE x( name TEXT, arrayname TEXT, value TEXT, fullname TEXT PRIMARY KEY) WITHOUT ROWID\x00array names\x00tclvar_filter_cmd\x00%s(%s)\x00expr {[info exists ::tclvar_set_omit] && $::tclvar_set_omit}\x00the 'fullname' column must be TEXT\x00prohibited TCL variable change\x00proc like {pattern str} {\n set p [string map {% * _ ?} $pattern]\n string match $p $str\n}\nproc tclvar_filter_cmd {eq match glob regexp like} {\n set res {}\n set pattern $eq\n if {$pattern=={}} { set pattern $match }\n if {$pattern=={}} { set pattern * }\n foreach v [uplevel #0 info vars $pattern] {\n if {($glob=={} || [string match $glob [uplevel #0 set $v]])\n && ($like=={} || [like $like [uplevel #0 set $v]])\n && ($regexp=={} || [regexp $regexp [uplevel #0 set $v]])\n } {\n lappend res $v\n }\n }\n set res\n}\n\x00register_tclvar_module\x00clock_seconds\x00sqlthread\x00sqlite3_blocking_step\x00sqlite3_blocking_prepare_v2\x00sqlite3_nonblocking_prepare_v2\x00set\x00Error in Tcl_CreateThread()\x00no parent thread\x00parent\x00spawn\x00VARNAME SCRIPT\x00DBNAME\x00id\x00%s \x00SQLITE_IOERR\x00SQLITE_LOCKED\x00SQLITE_BUSY\x00SQLITE_READONLY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_NOTFOUND\x00SQLITE_OMIT\x00normal|dataonly\x00full|dataonly\x00xCheckReservedLock\x00BEGIN_ATOMIC_WRITE\x00COMMIT_ATOMIC_WRITE\x00ZIPVFS\x00anon\x00SQLITE_ACCESS_EXISTS\x00SQLITE_ACCESS_READWRITE\x00SQLITE_ACCESS_READ\x00xShmOpen\x00 lock\x00 unlock\x00 shared\x00 exclusive\x00shm\x00delete\x00filter\x00ioerr\x00fullerr\x00cantopenerr\x00script\x00devchar\x00sectorsize\x00subcommand\x00FILE ?VALUE?\x00failed to get full path: \x00no such file: \x00unknown method: \x00?CNT PERSIST?\x00default\x00undeletable_when_open\x00immutable\x00?ATTR-LIST?\x00bad flags: \x00?VALUE?\x00-noshm\x00-szosfile\x00-mxpathname\x00-iversion\x00-fullshm\x00VFSNAME ?-noshm BOOL? ?-fullshm BOOL? ?-default BOOL? ?-mxpathname INT? ?-szosfile INT? ?-iversion INT?\x00shared\x00lock\x00unlock\x00DB DBNAME (shared|exclusive) (lock|unlock) OFFSET N\x00ARG\x00DB DBNAME SLOT ?VALUE?\x00*-shm is not yet mapped\x00testvfs\x00vfs_shmlock\x00vfs_set_readmark\x00DB NAME XSTEP XFINAL XVALUE XINVERSE\x00fff\x00misuse test error\x00invalid argument\x00sumint\x00sum\x00sqlite3_create_window_function\x00test_create_window_function_misuse\x00test_create_sumint\x00test_override_sum\x00" +var ts1 = "%s\x00internal error!\x00SELECT * FROM main.%Q WHERE sample()\x00expert\x00PRAGMA table_xinfo=%Q\x00main\x00, \x00%Q\x00 COLLATE %Q\x00 COLLATE %s\x00 DESC\x00PRAGMA index_list=%Q\x00PRAGMA index_xInfo=%Q\x00%s_idx_%08x\x00CREATE INDEX '%q' ON %Q(%s)\x00CREATE INDEX %s ON %s(%s)\x00EXPLAIN QUERY PLAN %s\x00 USING INDEX \x00 USING COVERING INDEX \x00%s\n\x00%s;\n\x00SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_schema WHERE tbl_name = %Q AND type IN ('table', 'trigger') ORDER BY type;\x00ALTER TABLE temp.%Q RENAME TO %Q\x00INSERT INTO %Q VALUES(\x00%s?\x00\x00)\x00UPDATE %Q SET \x00%s%Q=?\x00DELETE FROM %Q\x00t592690916721053953805701627921227776\x00DROP TABLE t592690916721053953805701627921227776\x00SELECT type, name, sql, 1 FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%' UNION ALL SELECT type, name, sql, 2 FROM sqlite_schema WHERE type = 'trigger' AND tbl_name IN(SELECT name FROM sqlite_schema WHERE type = 'view') ORDER BY 4, 1\x00CREATE TABLE x(\x00%s%Q COLLATE %s\x00CREATE VIRTUAL TABLE %Q USING expert(%Q)\x00SELECT max(i.seqno) FROM sqlite_schema AS s, pragma_index_list(s.name) AS l, pragma_index_info(l.name) AS i WHERE s.type = 'table'\x00%sx.%Q IS rem(%d, x.%Q) COLLATE %s\x00%s%d\x00SELECT %s FROM %Q x ORDER BY %s\x00SELECT %s FROM temp.t592690916721053953805701627921227776 x ORDER BY %s\x00%d\x00 %d\x00DROP TABLE IF EXISTS temp.t592690916721053953805701627921227776\x00CREATE TABLE temp.t592690916721053953805701627921227776 AS SELECT * FROM %Q\x00SELECT s.rowid, s.name, l.name FROM sqlite_schema AS s, pragma_index_list(s.name) AS l WHERE s.type = 'table'\x00SELECT name, coll FROM pragma_index_xinfo(?) WHERE key\x00INSERT INTO sqlite_stat1 VALUES(?, ?, ?)\x00ANALYZE; PRAGMA writable_schema=1\x00rem\x00sample\x00ANALYZE sqlite_schema\x00:memory:\x00SELECT sql FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%%' AND sql NOT LIKE 'CREATE VIRTUAL %%'\x00%s;%s%s\n\x00 -- stat1: \x00no such handle: \x00sql\x00TABLE\x00analyze\x00count\x00report\x00STMT EREPORT\x00destroy\x00SUBCOMMAND ...\x00sub-command\x00indexes\x00plan\x00candidates\x00DB\x00sqlite3expert%d\x00out of memory\x00sqlite3_expert_new\x00SQLITE_DONE\x00SQLITE_ERROR\x00SQLITE_OK\x00SELECT fts5(?1)\x00error: \x00fts5_api_ptr\x00f5t_2_%lld\x00xColumnCount\x00xRowCount\x00xColumnTotalSize\x00COL\x00xTokenize\x00TEXT SCRIPT\x00xPhraseCount\x00xPhraseSize\x00PHRASE\x00xInstCount\x00xInst\x00IDX\x00xRowid\x00xColumnText\x00xColumnSize\x00xQueryPhrase\x00PHRASE SCRIPT\x00xSetAuxdata\x00VALUE\x00xGetAuxdata\x00CLEAR\x00xSetAuxdataInt\x00INTEGER\x00xGetAuxdataInt\x00xPhraseForeach\x00IPHRASE COLVAR OFFVAR SCRIPT\x00xPhraseColumnForeach\x00IPHRASE COLVAR SCRIPT\x00SUB-COMMAND\x00f5t_%lld\x00bytearray\x00boolean\x00double\x00wideInt\x00int\x00DB NAME SCRIPT\x00?-subst? DB NAME TEXT\x00-subst\x00unrecognized option: \x00no such tokenizer: \x00error in tokenizer.xCreate()\x00error in tokenizer.xTokenize()\x00document\x00aux\x00query\x00prefixquery\x00invalid\x00-colocated\x00sqlite3_fts5_token may only be used by tokenizer callback\x00?-colocated? TEXT START END\x00error in fts5_api.xCreateTokenizer()\x00NSLOT TOKEN\x00sqlite3_fts5_create_tokenizer\x00sqlite3_fts5_token\x00sqlite3_fts5_tokenize\x00sqlite3_fts5_create_function\x00sqlite3_fts5_may_be_corrupt\x00sqlite3_fts5_token_hash\x00sqlite3_fts5_register_matchinfo\x00sqlite3_fts5_register_fts5tokenize\x00unrecognized matchinfo flag: %c\x00pcx\x00matchinfo\x00CREATE TABLE x(input HIDDEN, token, start, end, position)\x00fts5tokenize\x00apndvfs\x00Start-Of-SQLite3-\x00apnd(%lld)/%z\x00SQLite format 3\x00%s: cost must be between 1 and %d\x00%s: maximum string length is %d\x00%s: iLang must be between 0 and %d\x00?\x00SELECT * FROM %Q.%Q\x00%s: %s\x00%s: %s has %d columns, expected 4\x00vocabulary_table\x00vocabulary_word\x00vocabulary_language\x00edit_distances\x00unrecognized argument: [%s]\n\x00no edit_distances table specified\x00CREATE TABLE x(word,distance,language,command HIDDEN,nword HIDDEN)\x000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^abcdefghijklmnopqrstuvwxyz~\x00SELECT \"%w\" FROM \"%w\"\x00 WHERE \"%w\">=?1 AND \"%w\"=?2 ORDER BY 1\x00SELECT \"%w\" FROM \"%w\" WHERE \"%w\">=?1 ORDER BY 1\x00*\x00DELETE from %s is not allowed\x00UPDATE of %s is not allowed\x00INSERT INTO %s allowed for column [command] only\x00approximate_match\x00int32\x00int64\x00char*\x00CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)\x00carray-bind\x00carray\x00unknown datatype: %Q\x00inttoptr\x00cksmvfs\x00ZV-\x00checksum fault offset %lld of \"%s\"\x00checksum_verification\x00enable%\x00yes\x00on\x00page_size\x00cksm/%z\x00verify_checksum\x00tablename\x00idcolumn\x00parentcolumn\x00CREATE TABLE x(id,depth,root HIDDEN,tablename HIDDEN,idcolumn HIDDEN,parentcolumn HIDDEN)\x00SELECT \"%w\".\"%w\" FROM \"%w\" WHERE \"%w\".\"%w\"=?1\x00transitive_closure\x00rb\x00cannot open '%s' for reading\x00line %d: unescaped %c character\x00line %d: unterminated %c-quoted field\n\x00more than one '%s' parameter\x00true\x00no\x00off\x00false\x00header\x00more than one 'header' parameter\x00testflags\x00columns\x00more than one 'columns' parameter\x00column= value must be positive\x00bad parameter: '%s'\x00must specify either filename= or data= but not both\x00%sc%d TEXT\x00,\x00%s\"%w\" TEXT\x00bad schema: '%s' - %s\x00filename\x00data\x00schema\x00csv\x00csv_wr\x00decimal_sum\x00decimal\x00decimal_cmp\x00decimal_add\x00decimal_sub\x00decimal_mul\x00 \x00eval\x00CREATE TABLE x(addr,opcode,p1,p2,p3,p4,p5,comment,sql HIDDEN)\x00EXPLAIN %s\x00explain\x00wb\x00wrong number of arguments to function writefile()\x00failed to create symlink: %s\x00failed to create directory: %s\x00failed to write file: %s\x00CREATE TABLE x(name,mode,mtime,data,path HIDDEN,dir HIDDEN)\x00cannot read directory: %s\x00%s/%s\x00cannot stat file: %s\x00table function fsdir requires an argument\x00table function fsdir requires a non-NULL argument\x00fsdir\x00readfile\x00writefile\x00lsmode\x00%s: ruleset must be between 0 and %d\x00%s: wrong number of CREATE VIRTUAL TABLE arguments\x00CREATE TABLE x(word,distance,ruleset)\x00fuzzer\x00ieee754(%lld,%d)\x00ieee754\x00ieee754_mantissa\x00ieee754_exponent\x00ieee754_to_blob\x00ieee754_from_blob\x00BEGIN; SELECT * FROM %s%q%ssqlite_schema\x00'\x00'.\x00PRAGMA %s%q%spage_size\x00sqlite3_mmap_warm_cache: Warmed up %d pages of %s\x00END\x00AND (%s)\x00collate \"%w\"\x00SELECT %s FROM %s WHERE %s>=(?1 || ?2) %s AND %s<=(?1 || char(1114111)) %s %s ORDER BY 1 %s ASC LIMIT 1\x00next_char\x00NULL\x00is\x00not\x00in(\x00in(select\x00in(with\x00?,?,?\x002nd argument to percentile() is not a number between 0.0 and 100.0\x002nd argument to percentile() is not the same for all input rows\x001st argument to percentile() is not numeric\x00Inf input to percentile()\x00percentile\x00CREATE TABLE prefixes(prefix TEXT, original_string TEXT HIDDEN)\x00prefixes\x00prefix_length\x00unknown \\ escape\x00afnrtv\\()*.+?[$^{|}]\x00\a\f\n\r\t\v\x00unmatched '('\x00'*' without operand\x00'+' without operand\x00'?' without operand\x00'{m,n}' without operand\x00unmatched '{'\x00n less than m in '{m,n}'\x00both m and n are zero in '{m,n}'\x00POSIX character classes not supported\x00unclosed '['\x00unrecognized character\x00regexp\x00regexpi\x00remember\x00CREATE TABLE x(value,start hidden,stop hidden,step hidden)\x00generate_series() requires SQLite 3.8.12 or later\x00generate_series\x00.ABCDHLRMY9 ?\x00non-ASCII input to editdist()\x00NULL input to editdist()\x00SELECT iLang, cFrom, cTo, iCost FROM \"%w\" WHERE iLang>=0 ORDER BY iLang\x00editdist3\x00DROP TABLE IF EXISTS \"%w\".\"%w_vocab\"\x00CREATE TABLE x(word,rank,distance,langid, score, matchlen, phonehash HIDDEN, top HIDDEN, scope HIDDEN, srchcnt HIDDEN, soundslike HIDDEN, command HIDDEN)\x00CREATE TABLE IF NOT EXISTS \"%w\".\"%w_vocab\"(\n id INTEGER PRIMARY KEY,\n rank INT,\n langid INT,\n word TEXT,\n k1 TEXT,\n k2 TEXT\n);\n\x00CREATE INDEX IF NOT EXISTS \"%w\".\"%w_vocab_index_langid_k2\" ON \"%w_vocab\"(langid,k2);\x00edit_cost_table=\x00bad argument to spellfix1(): \"%s\"\x00SELECT id, word, rank, coalesce(k1,word) FROM \"%w\".\"%w_vocab\" WHERE langid=%d AND k2>=?1 AND k2=%lld\x00AND\x00%z %s rowid<=%lld\x00CREATE TABLE x(value)\x00wholenumber\x00CREATE TABLE y(name PRIMARY KEY,mode,mtime,sz,rawdata,data,method,z HIDDEN) WITHOUT ROWID;\x00zipfile\x00zipfile constructor requires one argument\x00error in fread()\x00error in fwrite()\x00failed to read CDS at offset %lld\x00%.*s\x00failed to read LFH at offset %d\x001.2.11\x00inflateInit2() failed (%d)\x00inflate() failed (%d)\x00zipfile: deflate() error\x00cannot find end of central directory record\x00zipfile() function requires an argument\x00cannot open file: %s\x00-rwxrwxrwx\x00zipfile: mode does not match data\x00zipfile: parse error in mode: %s\x00zipfile: missing filename\x00ab+\x00zipfile: failed to open file %s for writing\x00sz must be NULL\x00rawdata must be NULL\x00unknown compression method: %d\x00%s/\x00duplicate name: \"%s\"\x00{\"version-made-by\" : %u, \"version-to-extract\" : %u, \"flags\" : %u, \"compression\" : %u, \"time\" : %u, \"date\" : %u, \"crc32\" : %u, \"compressed-size\" : %u, \"uncompressed-size\" : %u, \"file-name-length\" : %u, \"extra-field-length\" : %u, \"file-comment-length\" : %u, \"disk-number-start\" : %u, \"internal-attr\" : %u, \"external-attr\" : %u, \"offset\" : %u }\x00zipfile_cds\x00wrong number of arguments to function zipfile()\x00first argument to zipfile() must be non-NULL\x00illegal method value: %d\x00non-directory name must not end with /\x00rbu_delta\x00step\x00close\x00create_rbu_delta\x00savestate\x00dbMain_eval\x00SQL\x00bp_progress\x00db\x00RBU\x00state\x00progress\x00close_no_error\x00temp_size_limit\x00LIMIT\x00temp_size\x00dbRbu_eval\x00METHOD\x00method\x00 - \x00oal\x00move\x00checkpoint\x00done\x00error\x00NAME TARGET-DB RBU-DB ?STATE-DB?\x00NAME TARGET-DB ?STATE-DB?\x00?-default? NAME PARENT\x00NAME\x00sqlite3rbu_db(0, 0)!=0\x00sqlite3rbu\x00sqlite3rbu_vacuum\x00sqlite3rbu_create_vfs\x00sqlite3rbu_destroy_vfs\x00sqlite3rbu_internal_test\x00DB SQL\x00error in sql_exec_changeset()\x00sqlite3session_streams\x00attach\x00changeset\x00delete\x00enable\x00BOOL\x00indirect\x00isempty\x00table_filter\x00SCRIPT\x00patchset\x00diff\x00FROMDB TBL\x00memory_used\x00changeset_size\x00object_config_size\x00CMD DB-HANDLE DB-NAME\x00n\x00i\x00f\x00t\x00b\x00FOREIGN_KEY\x00INSERT\x00UPDATE\x00DELETE\x00DATA\x00NOTFOUND\x00CONFLICT\x00CONSTRAINT\x00OMIT\x00-nosavepoint\x00-invert\x00?-nosavepoint? ?-inverse? DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET\x00CHANGESET\x00LEFT RIGHT\x00-next\x00?-next? ?-invert? VARNAME CHANGESET SCRIPT\x00configure\x00REBASE-BLOB\x00rebase\x00OP VALUE\x00strm_size\x00sqlite3session\x00sqlite3session_foreach\x00sqlite3changeset_invert\x00sqlite3changeset_concat\x00sqlite3changeset_apply\x00sqlite3changeset_apply_v2\x00sqlite3changeset_apply_replace_all\x00sql_exec_changeset\x00sqlite3rebaser_create\x00sqlite3session_config\x00incrblob\x00incrblob_%d\x00%lld\x00sqlite_unlock_notify_arg\x00sqlite_unlock_notify_argcount\x00SQLITE_COPY\x00SQLITE_CREATE_INDEX\x00SQLITE_CREATE_TABLE\x00SQLITE_CREATE_TEMP_INDEX\x00SQLITE_CREATE_TEMP_TABLE\x00SQLITE_CREATE_TEMP_TRIGGER\x00SQLITE_CREATE_TEMP_VIEW\x00SQLITE_CREATE_TRIGGER\x00SQLITE_CREATE_VIEW\x00SQLITE_DELETE\x00SQLITE_DROP_INDEX\x00SQLITE_DROP_TABLE\x00SQLITE_DROP_TEMP_INDEX\x00SQLITE_DROP_TEMP_TABLE\x00SQLITE_DROP_TEMP_TRIGGER\x00SQLITE_DROP_TEMP_VIEW\x00SQLITE_DROP_TRIGGER\x00SQLITE_DROP_VIEW\x00SQLITE_INSERT\x00SQLITE_PRAGMA\x00SQLITE_READ\x00SQLITE_SELECT\x00SQLITE_TRANSACTION\x00SQLITE_UPDATE\x00SQLITE_ATTACH\x00SQLITE_DETACH\x00SQLITE_ALTER_TABLE\x00SQLITE_REINDEX\x00SQLITE_ANALYZE\x00SQLITE_CREATE_VTABLE\x00SQLITE_DROP_VTABLE\x00SQLITE_FUNCTION\x00SQLITE_SAVEPOINT\x00SQLITE_RECURSIVE\x00????\x00SQLITE_DENY\x00SQLITE_IGNORE\x00RELEASE _tcl_transaction\x00COMMIT\x00ROLLBACK TO _tcl_transaction ; RELEASE _tcl_transaction\x00option\x00?CALLBACK?\x00?DATABASE? FILENAME\x00cannot open target database: \x00backup failed: \x00CALLBACK\x00cache option ?arg?\x00flush\x00size\x00size n\x00cannot convert \"\x00\" to integer\x00bad option \"\x00\": must be flush or size\x00NAME SCRIPT\x00?OPTION? ?BOOLEAN?\x00unknown config option: \"\x00\"\x00CONFLICT-ALGORITHM TABLE FILENAME ?SEPARATOR? ?NULLINDICATOR?\x00\t\x00Error: non-null separator required for copy\x00rollback\x00abort\x00fail\x00ignore\x00replace\x00Error: \"\x00\", conflict-algorithm must be one of: rollback, abort, fail, ignore, or replace\x00SELECT * FROM '%q'\x00Error: no such table: \x00Error: \x00Error: can't malloc()\x00INSERT OR %q INTO '%q' VALUES(?\x00Error: cannot open file: \x00BEGIN\x00Error: %s line %d: expected %d columns of data but found %d\x00, failed while processing line: \x00?DATABASE? VALUE\x00-maxsize\x00-readonly\x00unknown option: \x00unable to set MEMDB content\x00extension loading is turned off at compile-time\x00-withoutnulls\x00unknown option: \"\x00?OPTIONS? SQL ?ARRAY-NAME? ?SCRIPT?\x00NAME ?SWITCHES? SCRIPT\x00-argcount\x00option requires an argument: \x00number of arguments must be non-negative\x00-deterministic\x00-directonly\x00-innocuous\x00-returntype\x00real\x00text\x00blob\x00any\x00type\x00\": must be -argcount, -deterministic, -directonly, -innocuous, or -returntype\x00?-readonly? ?DB? TABLE COLUMN ROWID\x00NULLVALUE\x00N CALLBACK\x00KEY\x00cannot open source database: \x00restore failed: \x00restore failed: source database busy\x00?DATABASE?\x00(step|sort|autoindex)\x00sort\x00autoindex\x00vmstep\x00bad argument: should be autoindex, step, sort or vmstep\x00MILLISECONDS\x00?CALLBACK? ?MASK?\x00trace type\x00SAVEPOINT _tcl_transaction\x00[TYPE] SCRIPT\x00transaction type\x00BEGIN EXCLUSIVE\x00BEGIN IMMEDIATE\x00?SCRIPT?\x00SUB-COMMAND ?ARGS?\x00hook ?SCRIPT?\x00INDEX\x00-use-legacy-prepare\x00-last-stmt-ptr\x00%p\x00unknown argument: \x00authorizer\x00backup\x00bind_fallback\x00busy\x00cache\x00changes\x00collate\x00collation_needed\x00commit_hook\x00complete\x00config\x00copy\x00deserialize\x00enable_load_extension\x00errorcode\x00exists\x00function\x00interrupt\x00last_insert_rowid\x00nullvalue\x00onecolumn\x00preupdate\x00profile\x00rekey\x00restore\x00rollback_hook\x00serialize\x00status\x00timeout\x00total_changes\x00trace\x00trace_v2\x00transaction\x00unlock_notify\x00update_hook\x00version\x00wal_hook\x00defensive\x00dqs_ddl\x00dqs_dml\x00enable_fkey\x00enable_qpsg\x00enable_trigger\x00enable_view\x00fts3_tokenizer\x00legacy_alter_table\x00legacy_file_format\x00load_extension\x00no_ckpt_on_close\x00reset_database\x00trigger_eqp\x00trusted_schema\x00writable_schema\x00statement\x00row\x00deferred\x00exclusive\x00immediate\x00depth\x00hook\x00new\x00old\x00HANDLE ?FILENAME? ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nofollow BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?\x00-version\x00-sourceid\x00-has-codec\x000\x00-key\x00-vfs\x00-create\x00-nofollow\x00-nomutex\x00-fullmutex\x00-uri\x00-translatefilename\x00sqlite3\x00sqlite\x003.36.0\x00if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewline \"% \"\n}\nflush stdout\nappend line [gets stdin]\nif {[info complete $line]} {\nif {[catch {uplevel #0 $line} result]} {\nputs stderr \"Error: $result\"\n} elseif {$result!=\"\"} {\nputs $result\n}\nset line {}\n} else {\nappend line \\n\n}\n}\n}\n\x00SQLITE_DEBUG_BREAK\x00attach debugger to process %d and press any key to continue.\n\x00utf-8\x00argc\x00argv0\x00argv\x00errorInfo\x00%s: %s\n\x00SQLITE-CONNECTION\x00command not found: \x00error code %s (%d) does not match sqlite3_errcode %s (%d)\x00OMIT_MISUSE\x00wrong # args: should be \"\x00 DB FORMAT STRING\x00 DB HEX\x00 DB\x00 DB SQL\x00%z%s%s\x00%s%n\x00abcdefghijklmnopqrstuvwxyz\x00 DB FORMAT STRING ?COUNT?\x00 DB\"\x00 FILENAME\"\x00%02x\x00%04x\x00tkt2213 is not fixed\x00text16\x00bytes\x00bytes16\x00noop\x00x_coalesce\x00hex8\x00hex16\x00tkt2213func\x00pointer_change\x00counter1\x00counter2\x00intreal\x00x_sqlite_exec\x00value of 40 handed to x_count\x00x_count totals to 42\x00x_count\x00legacy_count\x00 TEXT\"\x00 FORMAT INT INT INT\"\x00argument is not a valid 64-bit integer\x00 FORMAT INT INT ?STRING?\"\x00 INT FORMAT INT INT ?STRING?\"\x00N must be non-negative\x00 FORMAT INT INT DOUBLE\"\x00 FORMAT DOUBLE DOUBLE\"\x00 FORMAT STRING\"\x00%08x%08x\x002nd argument should be 16-characters of hex\x00?BOOLEAN?\x00DB BOOLEAN\x00DB dbname tblname colname\x00CHANNEL ROWID\x00DB-HANDLE NAME CMP-PROC DEL-PROC\x00sqlite3_create_collate_v2() failed to detect an invalid encoding\x00utf8\x00utf16\x00utf16le\x00utf16be\x00DB NAME NARG ENC SWITCHES...\x00encoding\x00-func\x00-step\x00-final\x00-destroy\x00switch\x00DB-HANDLE FILE ?PROC?\x00this build omits sqlite3_load_extension()\x00DB-HANDLE ONOFF\x00string\x00value\x00first argument should be one of: int int64 string double null value\x00 DB FUNCTION-NAME\x00 \x00STMT PARAMETER RESETFLAG\x00SQLITE_STMTSTATUS_FULLSCAN_STEP\x00SQLITE_STMTSTATUS_SORT\x00SQLITE_STMTSTATUS_AUTOINDEX\x00SQLITE_STMTSTATUS_VM_STEP\x00SQLITE_STMTSTATUS_REPREPARE\x00SQLITE_STMTSTATUS_RUN\x00SQLITE_STMTSTATUS_MEMUSED\x00NBYTE\x00DB DBNAME\x00DB DBNAME SNAPSHOT\x00SNAPSHOT\x00SNAPSHOT1 SNAPSHOT2\x00bad SNAPSHOT\x00FILE\x00PATH\x00 DB STMT\x00 STMT\x00 FROM-STMT TO-STMT\x00 VM IDX VALUE (null|static|normal)\"\x00static\x00static-nbytes\x00normal\x00blob10\x00abc\x00xyz\x00pq\x004th argument should be \"null\" or \"static\" or \"normal\"\x00(%d) \x00test_collate\x00UTF-8\x00UTF-16LE\x00UTF-16BE\x00 \x00utf16bin\x00utf16_unaligned\x00utf16_aligned\x00test_function\x00\x00STMT IDX N\x00 STMT N VALUE\x00NaN\x00SNaN\x00-NaN\x00-SNaN\x00+Inf\x00-Inf\x00Epsilon\x00-Epsilon\x00NaN0\x00-NaN0\x00 STMT N\x00 STMT N VALUE BYTES\x00 STMT N DATA BYTES\x00cannot use %d blob bytes, have %d\x00-transient\x00-static\x00-int32\x00-int64\x00-double\x00-text\x00--\x00text data must be either -static or -transient\x00cannot be both -static and -transient\x00[OPTIONS] STMT IDX VALUE ...\x00STMT\x00STMT N\x00STMT NAME\x00 DB sql bytes ?tailvar?\x00 DB sql bytes tailvar\x00 DB sql bytes flags tailvar\x00\x00SELECT 1\x00 filename options-list\x00FILENAME FLAGS VFS\x00SQLITE_OPEN_READONLY\x00SQLITE_OPEN_READWRITE\x00SQLITE_OPEN_CREATE\x00SQLITE_OPEN_DELETEONCLOSE\x00SQLITE_OPEN_EXCLUSIVE\x00SQLITE_OPEN_AUTOPROXY\x00SQLITE_OPEN_MAIN_DB\x00SQLITE_OPEN_TEMP_DB\x00SQLITE_OPEN_TRANSIENT_DB\x00SQLITE_OPEN_MAIN_JOURNAL\x00SQLITE_OPEN_TEMP_JOURNAL\x00SQLITE_OPEN_SUBJOURNAL\x00SQLITE_OPEN_SUPER_JOURNAL\x00SQLITE_OPEN_NOMUTEX\x00SQLITE_OPEN_FULLMUTEX\x00SQLITE_OPEN_SHAREDCACHE\x00SQLITE_OPEN_PRIVATECACHE\x00SQLITE_OPEN_WAL\x00SQLITE_OPEN_URI\x00flag\x00\x00 STMT column\x00FLOAT\x00TEXT\x00BLOB\x00 DB MAGIC\x00SQLITE_MAGIC_OPEN\x00SQLITE_MAGIC_CLOSED\x00SQLITE_MAGIC_BUSY\x00SQLITE_MAGIC_ERROR\x00 DB function-name\x00VARIABLE\x00?N?\x001234567890000000\x00__one\x00__two\x00notadatabase\x00Unexpected non-zero errno: \x00DB [DBNAME]\x00%u\x00DB DBNAME SIZE\x00 DB PWD\x00 DB FLAG\x00%d %d\x00 DB ?AUXDB?\x00DB N\x00 DB ID VALUE\x00unknown limit type: \x00SQLITE_LIMIT_LENGTH\x00SQLITE_LIMIT_SQL_LENGTH\x00SQLITE_LIMIT_COLUMN\x00SQLITE_LIMIT_EXPR_DEPTH\x00SQLITE_LIMIT_COMPOUND_SELECT\x00SQLITE_LIMIT_VDBE_OP\x00SQLITE_LIMIT_FUNCTION_ARG\x00SQLITE_LIMIT_ATTACHED\x00SQLITE_LIMIT_LIKE_PATTERN_LENGTH\x00SQLITE_LIMIT_VARIABLE_NUMBER\x00SQLITE_LIMIT_TRIGGER_DEPTH\x00SQLITE_LIMIT_WORKER_THREADS\x00SQLITE_LIMIT_TOOSMALL\x00SQLITE_LIMIT_TOOBIG\x00SEED ?DB?\x00BOOLEAN\x00current\x00max\x00min\x00recyclable\x00DB ?NAME?\x00passive\x00full\x00restart\x00truncate\x00DB MODE ?NAME?\x00mode\x00DB VALUE\x00COMMAND ...\x00command has no objProc: \x00%d %d %d %s\n\x00SQLITE_TESTCTRL_LOCALTIME_FAULT\x00SQLITE_TESTCTRL_SORTER_MMAP\x00SQLITE_TESTCTRL_IMPOSTER\x00SQLITE_TESTCTRL_INTERNAL_FUNCTIONS\x00VERB ARGS...\x00VERB\x00ONOFF\x00DB LIMIT\x00DB dbName onOff tnum\x00ru_utime=%d.%06d ru_stime=%d.%06d ru_minflt=%d ru_majflt=%d\x00DB OPT BOOLEAN\x00unknown optimization - should be one of:\x00all\x00none\x00query-flattener\x00groupby-order\x00factor-constants\x00distinct-opt\x00cover-idx-scan\x00order-by-idx-join\x00transitive\x00omit-noop-join\x00stat4\x00skip-scan\x00push-down\x00DB NAME ...\x00no such extension: \x00initialization of \x00 failed: \x00amatch\x00appendvfs\x00closure\x00fileio\x00nextchar\x00series\x00spellfix\x00totype\x00DB SQL1 NSTEP SQL2\x00data error: (a!=b)\x00checksum mismatch\x00sql error: \x00TYPE\x00Deliberate panic\x00DB SETTING [VALUE]\x00SQLITE_*\x00DBCONFIG_*\x00ENABLE_*\x00unknown sqlite3_db_config setting\x00FKEY\x00TRIGGER\x00FTS3_TOKENIZER\x00LOAD_EXTENSION\x00NO_CKPT_ON_CLOSE\x00QPSG\x00TRIGGER_EQP\x00RESET_DB\x00DEFENSIVE\x00WRITABLE_SCHEMA\x00LEGACY_ALTER_TABLE\x00DQS_DML\x00DQS_DDL\x00LEGACY_FILE_FORMAT\x00DB ?SCHEMA?\x00icecube\x00DB ?DBNAME?\x00DB OFFSET DATA\x00HEXDB\x00| size %d pagesize %d\x00bad 'pagesize' field\x00bad 'size' field\x00| page %d offset %d\x00| %d: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\x00sqlite_search_count\x00sqlite_found_count\x00sqlite_sort_count\x00sqlite3_max_blobsize\x00sqlite_like_count\x00sqlite_interrupt_count\x00sqlite_open_file_count\x00sqlite_current_time\x00sqlite3_xferopt_count\x00sqlite3_pager_readdb_count\x00sqlite3_pager_writedb_count\x00sqlite3_pager_writej_count\x00unaligned_string_counter\x00sqlite_last_needed_collation\x00sqlite_query_plan\x00sqlite_opentemp_count\x00sqlite_static_bind_value\x00sqlite_static_bind_nbyte\x00sqlite_temp_directory\x00sqlite_data_directory\x00bitmask_size\x00longdouble_size\x00sqlite_sync_count\x00sqlite_fullsync_count\x00db_enter\x00db_leave\x00sqlite3_mprintf_int\x00sqlite3_mprintf_int64\x00sqlite3_mprintf_long\x00sqlite3_mprintf_str\x00sqlite3_snprintf_str\x00sqlite3_mprintf_stronly\x00sqlite3_mprintf_double\x00sqlite3_mprintf_scaled\x00sqlite3_mprintf_hexdouble\x00sqlite3_mprintf_z_test\x00sqlite3_mprintf_n_test\x00sqlite3_snprintf_int\x00sqlite3_last_insert_rowid\x00sqlite3_exec_printf\x00sqlite3_exec_hex\x00sqlite3_exec\x00sqlite3_exec_nr\x00sqlite3_get_table_printf\x00sqlite3_close\x00sqlite3_close_v2\x00sqlite3_create_function\x00sqlite3_create_aggregate\x00sqlite3_drop_modules\x00sqlite_register_test_function\x00sqlite_abort\x00sqlite_bind\x00breakpoint\x00sqlite3_key\x00sqlite3_rekey\x00sqlite_set_magic\x00sqlite3_interrupt\x00sqlite_delete_function\x00sqlite_delete_collation\x00sqlite3_get_autocommit\x00sqlite3_busy_timeout\x00printf\x00sqlite3IoTrace\x00clang_sanitize_address\x00sqlite3_db_config\x00sqlite3_txn_state\x00bad_behavior\x00register_dbstat_vtab\x00sqlite3_connection_pointer\x00intarray_addr\x00int64array_addr\x00doublearray_addr\x00textarray_addr\x00sqlite3_bind_int\x00sqlite3_bind_zeroblob\x00sqlite3_bind_zeroblob64\x00sqlite3_bind_int64\x00sqlite3_bind_double\x00sqlite3_bind_null\x00sqlite3_bind_text\x00sqlite3_bind_text16\x00sqlite3_bind_blob\x00sqlite3_carray_bind\x00sqlite3_bind_parameter_count\x00sqlite3_bind_parameter_name\x00sqlite3_bind_parameter_index\x00sqlite3_clear_bindings\x00sqlite3_sleep\x00sqlite3_errcode\x00sqlite3_extended_errcode\x00sqlite3_errmsg\x00sqlite3_errmsg16\x00sqlite3_open\x00sqlite3_open16\x00sqlite3_open_v2\x00sqlite3_complete16\x00sqlite3_normalize\x00sqlite3_prepare\x00sqlite3_prepare16\x00sqlite3_prepare_v2\x00sqlite3_prepare_v3\x00sqlite3_prepare_tkt3134\x00sqlite3_prepare16_v2\x00sqlite3_finalize\x00sqlite3_stmt_status\x00sqlite3_reset\x00sqlite3_expired\x00sqlite3_transfer_bindings\x00sqlite3_changes\x00sqlite3_step\x00sqlite3_sql\x00sqlite3_expanded_sql\x00sqlite3_next_stmt\x00sqlite3_stmt_readonly\x00sqlite3_stmt_isexplain\x00sqlite3_stmt_busy\x00uses_stmt_journal\x00sqlite3_release_memory\x00sqlite3_db_release_memory\x00sqlite3_db_cacheflush\x00sqlite3_system_errno\x00sqlite3_db_filename\x00sqlite3_db_readonly\x00sqlite3_soft_heap_limit\x00sqlite3_soft_heap_limit64\x00sqlite3_hard_heap_limit64\x00sqlite3_thread_cleanup\x00sqlite3_pager_refcounts\x00sqlite3_load_extension\x00sqlite3_enable_load_extension\x00sqlite3_extended_result_codes\x00sqlite3_limit\x00dbconfig_maindbname_icecube\x00save_prng_state\x00restore_prng_state\x00reset_prng_state\x00prng_seed\x00extra_schema_checks\x00database_never_corrupt\x00database_may_be_corrupt\x00optimization_control\x00tcl_objproc\x00sqlite3_column_count\x00sqlite3_data_count\x00sqlite3_column_type\x00sqlite3_column_blob\x00sqlite3_column_double\x00sqlite3_column_int64\x00sqlite3_column_text\x00sqlite3_column_name\x00sqlite3_column_int\x00sqlite3_column_bytes\x00sqlite3_column_decltype\x00sqlite3_column_database_name\x00sqlite3_column_table_name\x00sqlite3_column_origin_name\x00sqlite3_column_bytes16\x00sqlite3_column_text16\x00sqlite3_column_name16\x00add_alignment_test_collations\x00sqlite3_column_decltype16\x00sqlite3_column_database_name16\x00sqlite3_column_table_name16\x00sqlite3_column_origin_name16\x00sqlite3_create_collation_v2\x00sqlite3_global_recover\x00working_64bit_int\x00vfs_unlink_test\x00vfs_initfail_test\x00vfs_unregister_all\x00vfs_reregister_all\x00file_control_test\x00file_control_lasterrno_test\x00file_control_lockproxy_test\x00file_control_chunksize_test\x00file_control_sizehint_test\x00file_control_data_version\x00file_control_persist_wal\x00file_control_powersafe_overwrite\x00file_control_vfsname\x00file_control_reservebytes\x00file_control_tempfilename\x00file_control_external_reader\x00sqlite3_vfs_list\x00sqlite3_create_function_v2\x00add_test_collate\x00add_test_collate_needed\x00add_test_function\x00add_test_utf16bin_collate\x00sqlite3_test_errstr\x00tcl_variable_type\x00sqlite3_enable_shared_cache\x00sqlite3_shared_cache_report\x00sqlite3_libversion_number\x00sqlite3_table_column_metadata\x00sqlite3_blob_reopen\x00pcache_stats\x00sqlite3_unlock_notify\x00sqlite3_wal_checkpoint\x00sqlite3_wal_checkpoint_v2\x00sqlite3_wal_autocheckpoint\x00test_sqlite3_log\x00print_explain_query_plan\x00sqlite3_test_control\x00getrusage\x00load_static_extension\x00sorter_test_fakeheap\x00sorter_test_sort4_helper\x00vfs_current_time_int64\x00sqlite3_snapshot_get\x00sqlite3_snapshot_open\x00sqlite3_snapshot_free\x00sqlite3_snapshot_cmp\x00sqlite3_snapshot_recover\x00sqlite3_snapshot_get_blob\x00sqlite3_snapshot_open_blob\x00sqlite3_snapshot_cmp_blob\x00sqlite3_delete_database\x00atomic_batch_write\x00sqlite3_mmap_warm\x00sqlite3_config_sorterref\x00decode_hexdb\x00test_write_db\x00sqlite3_register_cksumvfs\x00sqlite3_unregister_cksumvfs\x00*** OBSOLETE VARIABLE ***\x00 FILENAME N-PAGE\"\x00 ID\"\x00ref\x00page\x00err\x00hit\x00miss\x00ovfl\x00 ID PGNO\"\x00 PAGE\"\x00 PAGE DATA\"\x00 N-MEGABYTES FILE\"\x00open failed: \x00Hello, World!\x00write failed: \x00 PENDING-BYTE\"\x00fault simulator script failed: [%s]\x00 SCRIPT\"\x00 SIZE PROGRAM\"\x00sqlite_io_error_pending\x00sqlite_io_error_persist\x00sqlite_io_error_hit\x00sqlite_io_error_hardhit\x00sqlite_diskfull_pending\x00sqlite_diskfull\x00sqlite_pending_byte\x00pager_open\x00pager_close\x00pager_commit\x00pager_rollback\x00pager_stmt_begin\x00pager_stmt_commit\x00pager_stmt_rollback\x00pager_stats\x00pager_pagecount\x00page_get\x00page_lookup\x00page_unref\x00page_read\x00page_write\x00page_number\x00pager_truncate\x00fake_big_file\x00sqlite3BitvecBuiltinTest\x00sqlite3_test_control_pending_byte\x00sqlite3_test_control_fault_install\x00 FILENAME NCACHE FLAGS\"\x00read\x00write\x00 ID TABLENUM WRITEABLE\"\x00 START MULTIPLIER COUNT INCREMENT\"\x00putVarint returned %d - should be between 1 and 9\x00putVarint returned %d and getVarint returned %d\x00Wrote 0x%016llx and got back 0x%016llx\x00putVarint returned %d and GetVarint32 returned %d\x00Wrote 0x%016llx and got back 0x%016llx from GetVarint32\x00 DB-HANDLE ?N?\"\x00No such db-handle: \"\x00 BT NCACHE\"\x00?-intkey? CSR KEY VALUE\x00btree_insert\x00btree_open\x00btree_close\x00btree_begin_transaction\x00btree_pager_stats\x00btree_cursor\x00btree_close_cursor\x00btree_next\x00btree_eof\x00btree_payload_size\x00btree_first\x00btree_varint_test\x00btree_from_db\x00btree_ismemdb\x00btree_set_cache_size\x00thread ID must be an upper case letter\x00 ID FILENAME\x00thread \x00 is already running\x00failed to create the thread\x00 ID\x00no such thread\x00 ID N\x00column number out of range\x00no database is open\x00 ID SQL\x00no virtual machine available\x00 IDL\x00 ID1 ID2\x00 ID DB\x00thread_create\x00thread_wait\x00thread_halt\x00thread_argc\x00thread_argv\x00thread_colname\x00thread_result\x00thread_error\x00thread_compile\x00thread_step\x00thread_finalize\x00thread_swap\x00thread_db_get\x00thread_db_put\x00thread_stmt_get\x00 \x00hello world\x00UTF8\x00UTF16LE\x00UTF16BE\x00UTF16\x00No such encoding: \x00 \x00binarize\x00test_value_overhead\x00test_translate\x00translate_selftest\x00out of memory in the crash simulator\n\x00atomic\x00atomic512\x00atomic1k\x00atomic2k\x00atomic4k\x00atomic8k\x00atomic16k\x00atomic32k\x00atomic64k\x00sequential\x00safe_append\x00powersafe_overwrite\x00batch-atomic\x00-sectorsize\x00-characteristics\x00Bad option: \"\x00\" - must be \"-characteristics\" or \"-sectorsize\"\x00Option requires an argument: \"\x00no such flag\x00ENABLE ?DEFAULT?\x00crash\x00?OPTIONS? DELAY CRASHFILE\x00Filename is too long: \"\x00NWRITE\x00?-default? PARENT-VFS\x00-default\x00\": must be -default\x00Error in jt_register\x00sqlite3_crash_enable\x00sqlite3_crashparams\x00sqlite3_crash_now\x00sqlite3_simulate_device\x00sqlite3_crash_on_write\x00unregister_devsim\x00register_jt_vfs\x00unregister_jt_vfs\x00client_create\x00client_wait\x00client_halt\x00client_argc\x00client_argv\x00client_colname\x00client_result\x00client_error\x00client_compile\x00client_step\x00client_reset\x00client_finalize\x00client_swap\x00echo_module_fail(%s,%s)\x00echo-vtab-error: %s\x00SELECT * FROM %Q\x00PRAGMA index_list(%s)\x00PRAGMA index_info(%s)\x00echo_module\x00SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = ?\x00%s%s\x00xCreate\x00CREATE TABLE %Q(logmsg)\x00xConnect\x00xDisconnect\x00xDestroy\x00DROP TABLE %Q\x00xOpen\x00xNext\x00xColumn\x00xFilter\x00, *\x00%z, %s\x00%z, NULL\x00echo_module_ignore_usable\x00xBestIndex\x00echo_module_cost\x00SELECT count(*) FROM %Q\x00SELECT rowid%z FROM %Q\x00rowid\x00=\x00<\x00>\x00<=\x00>=\x00LIKE\x00like\x00glob\x00 %s %s LIKE (SELECT '%%'||?||'%%')\x00 %s %s %s ?\x00DESC\x00ASC\x00 ORDER BY %s %s\x00xUpdate\x00 SET\x00UPDATE %Q\x00 SET rowid=?1 \x00%s %Q=?%d\x00 WHERE rowid=?%d\x00DELETE FROM %Q WHERE rowid = ?1\x00INSERT INTO %Q (\x00%s%Q\x00%s?%d\x00) VALUES(\x00echo(%s)\x00xBegin\x00echo_module_begin_fail\x00xSync\x00echo_module_sync_fail\x00xCommit\x00xRollback\x00::echo_glob_overload\x00xRename\x00ALTER TABLE %s RENAME TO %s%s\x00function_that_does_not_exist_0982ma98\x00echo\x00echo_v2\x00register_echo_module\x00sqlite3_declare_vtab\x00N/A\x00sqlite3_create_collation\x00Error testing function: \x00sqlite3_malloc\x00sqlite3_realloc\x00c_misuse_test\x00c_realloc_test\x00c_collation_test\x00sqlite3_reset_auto_extension\x00npage\x00finish\x00remaining\x00pagecount\x00CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME\x00sqlite3_backup_init() failed\x00sqlite3_backup\x00wrong number of arguments\x00unexpected: %s\x00eq\x00gt\x00le\x00lt\x00ge\x00match\x00ne\x00isnot\x00isnotnull\x00isnull\x00op\x00column\x00usable\x00desc\x00cost\x00orderby\x00idxnum\x00idxstr\x00rows\x00use\x00omit\x00unexpected: %d\x00tcl\x00register_tcl_module\x00incrblob_\x00DB DATABASE TABLE COLUMN ROWID FLAGS VARNAME\x00HANDLE\x00CHANNEL OFFSET N\x00out of memory in testdata/sqlite-src-3360000/src/test_blob.c\x00HANDLE OFFSET DATA ?NDATA?\x00sqlite3_blob_open\x00sqlite3_blob_close\x00sqlite3_blob_bytes\x00sqlite3_blob_read\x00sqlite3_blob_write\x00sqlite_options\x00malloc_usable_size\x001\x00rowid32\x00casesensitivelike\x00configslower\x001.0\x00curdir\x00win32malloc\x00debug\x00default_ckptfullfsync\x00direct_read\x00dirsync\x00lfs\x00pagecache_overflow_stats\x00mmap\x00worker_threads\x008\x00memdebug\x008_3_names\x00cursorhints\x00hiddencolumns\x00mathlib\x00mem3\x00mem5\x00offset_sql_func\x00snapshot\x00mutex\x00mutex_noop\x00altertable\x00api_armor\x00atomicwrite\x00geopoly\x00json1\x00has_codec\x00like_match_blobs\x00auth\x00autoinc\x00autoreset\x00autovacuum\x00default_autovacuum\x00between_opt\x00builtin_test\x00bloblit\x00cast\x00check\x00cte\x00columnmetadata\x00oversize_cell_check\x00compileoption_diags\x00compound\x00conflict\x00crashtest\x00datetime\x00decltype\x00deprecated\x00diskio\x00floatingpoint\x00foreignkey\x00fts1\x00fts2\x00fts3\x00fts5\x00fts3_unicode\x00fts4_deferred\x00gettable\x00icu\x00icu_collations\x00integrityck\x00legacyformat\x00like_opt\x00load_ext\x00localtime\x00lookaside\x00long_double\x00memorydb\x00memorymanage\x00mergesort\x00null_trim\x00or_opt\x00rbu\x00pager_pragmas\x00pragma\x00reindex\x00rtree\x00rtree_int_only\x00schema_pragmas\x00schema_version\x00session\x00stmtvtab\x00scanstatus\x00lock_proxy_pragmas\x00prefer_proxy_locking\x00shared_cache\x00subquery\x00tclvar\x00threadsafe\x00threadsafe1\x00threadsafe2\x00tempdb\x00trigger\x00truncate_opt\x00vacuum\x00view\x00vtab\x00wal\x00wsd\x00update_delete_limit\x00fast_secure_delete\x00secure_delete\x00userauth\x00multiplex_ext_overwrite\x00yytrackmaxstackdepth\x00sqllog\x00uri_00_error\x00normalize\x00windowfunc\x00SQLITE_MAX_LENGTH\x00SQLITE_MAX_COLUMN\x00SQLITE_MAX_SQL_LENGTH\x00SQLITE_MAX_EXPR_DEPTH\x00SQLITE_MAX_COMPOUND_SELECT\x00SQLITE_MAX_VDBE_OP\x00SQLITE_MAX_FUNCTION_ARG\x00SQLITE_MAX_VARIABLE_NUMBER\x00SQLITE_MAX_PAGE_SIZE\x00SQLITE_MAX_PAGE_COUNT\x00SQLITE_MAX_LIKE_PATTERN_LENGTH\x00SQLITE_MAX_TRIGGER_DEPTH\x00SQLITE_DEFAULT_CACHE_SIZE\x00SQLITE_DEFAULT_PAGE_SIZE\x00SQLITE_DEFAULT_FILE_FORMAT\x00SQLITE_DEFAULT_SYNCHRONOUS\x00SQLITE_DEFAULT_WAL_SYNCHRONOUS\x00SQLITE_MAX_ATTACHED\x00SQLITE_MAX_DEFAULT_PAGE_SIZE\x00SQLITE_MAX_WORKER_THREADS\x00TEMP_STORE\x00__GNUC__\x00%s-journal\x00%s-wal\x00%s-shm\x00%s%03d\x00%s-journal%03d\x00%s-wal%03d\x00devsym\x00writecrash\x00CREATE TABLE xyz(dir, name);\x00CREATE TABLE xyz(path, size, data);\x00WITH r(d) AS ( SELECT CASE WHEN dir=?2 THEN ?3 ELSE dir END || '/' || name FROM fsdir WHERE dir=?1 AND name NOT LIKE '.%' UNION ALL SELECT dir || '/' || name FROM r, fsdir WHERE dir=d AND name NOT LIKE '.%') SELECT d FROM r;\x00/\x00CREATE TABLE x(path TEXT, data TEXT)\x00SELECT * FROM %Q.%Q WHERE rowid=?\x00fs\x00fstree\x00register_fs_module\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-!,:*^+=_|?/<> \x00sqlite3_prepare_v2() error: %s\x000123456789abcdef\x00x'\x00test_agg_errmsg16\x00randstr\x00test_destructor\x00test_destructor16\x00hex_to_utf16be\x00hex_to_utf16le\x00hex_to_utf8\x00test_destructor_count\x00test_auxdata\x00test_error\x00test_eval\x00test_isolation\x00test_counter\x00real2hex\x00test_decode\x00test_extract\x00test_zeroblob\x00test_getsubtype\x00test_setsubtype\x00test_frombind\x00tx\x00funcxx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00nullx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00sqlite3_create_function abused test failed\x00invalid matchinfo blob passed to function rank()\x00wrong number of arguments to function rank()\x00rank\x00autoinstall_test_functions\x00abuse_create_function\x00install_fts3_rank_function\x000123456789ABCDEF\x00FILENAME OFFSET AMT\x00r\x00cannot open input file \x00FILENAME OFFSET HEXDATA\x00r+b\x00r+\x00cannot open output file \x00HEXDATA\x00[utf8_to_utf8] unavailable - SQLITE_DEBUG not defined\x00BLOB VARNAME\x00LIST\x00hexio_read\x00hexio_write\x00hexio_get_int\x00hexio_render_int16\x00hexio_render_int32\x00utf8_to_utf8\x00read_fts3varint\x00make_fts3record\x00mem\x00pcache\x00Unknown argument: \"\x00init_wrapper_install\x00init_wrapper_query\x00init_wrapper_uninstall\x00init_wrapper_clear\x00CREATE TABLE x(value INTEGER PRIMARY KEY)\x00CREATE VIRTUAL TABLE temp.%Q USING %Q\x00INTARRAY\x00SQLITE_NOMEM\x00sqlite3_intarray_create\x00sqlite3_intarray_bind\x00jt\x00-journal\x00NBYTES\x00PRIOR NBYTES\x00bad pointer: \x00PRIOR\x00ADDRESS SIZE HEX\x00size must be positive\x00no data\x00ADDRESS SIZE\x00?RESET?\x00DEPT\x00FILENAME\x00COUNTER ?OPTIONS?\x00-repeat\x00-benigncnt\x00TITLE\x00SUB-COMMAND ...\x00start\x00stop\x00dump\x00clear\x00sync\x00SIZE N\x00INSTALLFLAG DISCARDCHANCE PRNGSEEED HIGHSTRESS\x00discard-chance should be between 0 and 100\x00SIZE COUNT\x00BUFID SIZE COUNT\x00illegal arguments - see documentation\x00NBYTE NMINALLOC\x00[DB]\x00sqlite3_db_config(db, 99999) does not return SQLITE_ERROR\x00sqlite3_config(99999) does not return SQLITE_ERROR\x00PARAMETER RESETFLAG\x00SQLITE_STATUS_MEMORY_USED\x00SQLITE_STATUS_MALLOC_SIZE\x00SQLITE_STATUS_PAGECACHE_USED\x00SQLITE_STATUS_PAGECACHE_OVERFLOW\x00SQLITE_STATUS_PAGECACHE_SIZE\x00SQLITE_STATUS_SCRATCH_USED\x00SQLITE_STATUS_SCRATCH_OVERFLOW\x00SQLITE_STATUS_SCRATCH_SIZE\x00SQLITE_STATUS_PARSER_STACK\x00SQLITE_STATUS_MALLOC_COUNT\x00DB PARAMETER RESETFLAG\x00SQLITE_\x00DBSTATUS_\x00LOOKASIDE_USED\x00CACHE_USED\x00SCHEMA_USED\x00STMT_USED\x00LOOKASIDE_HIT\x00LOOKASIDE_MISS_SIZE\x00LOOKASIDE_MISS_FULL\x00CACHE_HIT\x00CACHE_MISS\x00CACHE_WRITE\x00DEFERRED_FKS\x00CACHE_USED_SHARED\x00CACHE_SPILL\x00?INTEGER?\x00sqlite3_free\x00memset\x00memget\x00sqlite3_memory_used\x00sqlite3_memory_highwater\x00sqlite3_memdebug_backtrace\x00sqlite3_memdebug_dump\x00sqlite3_memdebug_fail\x00sqlite3_memdebug_pending\x00sqlite3_memdebug_settitle\x00sqlite3_memdebug_malloc_count\x00sqlite3_memdebug_log\x00sqlite3_config_pagecache\x00sqlite3_config_alt_pcache\x00sqlite3_status\x00sqlite3_db_status\x00install_malloc_faultsim\x00sqlite3_config_heap\x00sqlite3_config_heap_size\x00sqlite3_config_memstatus\x00sqlite3_config_lookaside\x00sqlite3_config_error\x00sqlite3_config_uri\x00sqlite3_config_cis\x00sqlite3_config_pmasz\x00sqlite3_db_config_lookaside\x00sqlite3_dump_memsys3\x00sqlite3_dump_memsys5\x00sqlite3_install_memsys3\x00sqlite3_memdebug_vfs_oom_test\x00%05u\x00 FILENAME [OFFSET AMT]\"\x00unable to open file \"\x00\" for reading\x00md5\x00md5-10x8\x00md5file\x00md5file-10x8\x00md5sum\x00%03d\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_control\x00chunksize\x00multiplex_truncate\x00multiplex/%z\x00multiplex\x00NAME MAKEDEFAULT\x00-force\x00?-force?\x00chunk_size\x00max_chunks\x00HANDLE DBNAME SUB-COMMAND INT-VALUE\x00expected database handle, got \"\x00sqlite3_multiplex_initialize\x00sqlite3_multiplex_shutdown\x00sqlite3_multiplex_control\x00fast\x00recursive\x00static_main\x00static_mem\x00static_open\x00static_prng\x00static_lru\x00static_pmem\x00static_app1\x00static_app2\x00static_app3\x00static_vfs1\x00static_vfs2\x00static_vfs3\x00mutex counters are \x00already installed\x00not installed\x00singlethread\x00multithread\x00serialized\x00mutex name\x00disable_mutex_init\x00disable_mutex_try\x00sqlite3_shutdown\x00sqlite3_initialize\x00sqlite3_config\x00enter_static_mutex\x00leave_static_mutex\x00enter_db_mutex\x00leave_db_mutex\x00alloc_dealloc_mutex\x00install_mutex_counters\x00read_mutex_counters\x00clear_mutex_counters\x00\x00\x00\x00\x00\x00\x00\x00vfslog/%z\x00sqlite_ostrace1.....\x00xClose\x00xRead\x00xWrite\x00xTruncate\x00xFilesize\x00xLock\x00xUnlock\x00xCheckResLock\x00xFileControl\x00xSectorSize\x00xDeviceChar\x00xDelete\x00xAccess\x00xFullPathname\x00xRandomness\x00xSleep\x00xCurrentTime\x00xShmUnmap\x00xShmLock\x00xShmBarrier\x00xShmMap\x00annotation\x00CREATE TABLE xxx(event, file, click, rc, size, offset)\x00vfslog\x00VFS\x00failed\x00VFS PARENT LOGFILE\x00bad sqlite3 handle: \x00annotate\x00finalize\x00register\x00quota/%z\x00quota\x00::piLimit_\x00PATTERN LIMIT SCRIPT\x00FILENAME MODE\x00HANDLE SIZE NELEM\x00HANDLE SIZE NELEM CONTENT\x00HANDLE ?HARDSYNC?\x00HANDLE OFFSET WHENCE\x00SEEK_SET\x00SEEK_CUR\x00SEEK_END\x00WHENCE should be SEEK_SET, SEEK_CUR, or SEEK_END\x00HANDLE SIZE\x00PATTERN TEXT\x00sqlite3_quota_initialize\x00sqlite3_quota_shutdown\x00sqlite3_quota_set\x00sqlite3_quota_file\x00sqlite3_quota_dump\x00sqlite3_quota_fopen\x00sqlite3_quota_fread\x00sqlite3_quota_fwrite\x00sqlite3_quota_fclose\x00sqlite3_quota_fflush\x00sqlite3_quota_fseek\x00sqlite3_quota_rewind\x00sqlite3_quota_ftell\x00sqlite3_quota_ftruncate\x00sqlite3_quota_file_size\x00sqlite3_quota_file_truesize\x00sqlite3_quota_file_mtime\x00sqlite3_quota_remove\x00sqlite3_quota_glob\x00sqlite3_quota_file_available\x00sqlite3_quota_ferror\x00cube\x00circle\x00Qcircle\x00breadthfirstsearch\x00register_cube_geom\x00register_circle_geom\x00CREATE TABLE x(database,tablename,cid,name,type,not_null,dflt_value,pk)\x00SELECT name FROM sqlite_temp_schema WHERE type='table'\x00SELECT name FROM %Q.sqlite_schema WHERE type='table'\x00PRAGMA %Q.table_info(%Q)\x00PRAGMA database_list\x00register_schema_module\x00PRAGMA main.journal_mode\x00CMDNAME PATH ?VFS? ?BUSY-HANDLER-SCRIPT?\x00sqlite3demo_superlock\x00open\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00pread\x00pread64\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00mremap\x00SYSCALL-LIST\x00system-call\x00?COUNT PERSIST?\x00EACCES\x00EINTR\x00EIO\x00EOVERFLOW\x00ENOMEM\x00EAGAIN\x00ETIMEDOUT\x00EBUSY\x00EPERM\x00EDEADLK\x00ENOLCK\x00SYSCALL ERRNO\x00errno\x00PGSZ\x00getpagesize\x00pgsz out of range\x00fault\x00install\x00uninstall\x00list\x00defaultvfs\x00pagesize\x00VFS does not support xSetSystemCall\x00test_syscall\x00load_testfixture_extensions\x00SLAVE\x00CREATE TABLE x( name TEXT, arrayname TEXT, value TEXT, fullname TEXT PRIMARY KEY) WITHOUT ROWID\x00array names\x00tclvar_filter_cmd\x00%s(%s)\x00expr {[info exists ::tclvar_set_omit] && $::tclvar_set_omit}\x00the 'fullname' column must be TEXT\x00prohibited TCL variable change\x00proc like {pattern str} {\n set p [string map {% * _ ?} $pattern]\n string match $p $str\n}\nproc tclvar_filter_cmd {eq match glob regexp like} {\n set res {}\n set pattern $eq\n if {$pattern=={}} { set pattern $match }\n if {$pattern=={}} { set pattern * }\n foreach v [uplevel #0 info vars $pattern] {\n if {($glob=={} || [string match $glob [uplevel #0 set $v]])\n && ($like=={} || [like $like [uplevel #0 set $v]])\n && ($regexp=={} || [regexp $regexp [uplevel #0 set $v]])\n } {\n lappend res $v\n }\n }\n set res\n}\n\x00register_tclvar_module\x00clock_seconds\x00sqlthread\x00sqlite3_blocking_step\x00sqlite3_blocking_prepare_v2\x00sqlite3_nonblocking_prepare_v2\x00set\x00Error in Tcl_CreateThread()\x00no parent thread\x00parent\x00spawn\x00VARNAME SCRIPT\x00DBNAME\x00id\x00%s \x00SQLITE_IOERR\x00SQLITE_LOCKED\x00SQLITE_BUSY\x00SQLITE_READONLY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_NOTFOUND\x00SQLITE_OMIT\x00normal|dataonly\x00full|dataonly\x00xCheckReservedLock\x00BEGIN_ATOMIC_WRITE\x00COMMIT_ATOMIC_WRITE\x00ZIPVFS\x00anon\x00SQLITE_ACCESS_EXISTS\x00SQLITE_ACCESS_READWRITE\x00SQLITE_ACCESS_READ\x00xShmOpen\x00 lock\x00 unlock\x00 shared\x00 exclusive\x00shm\x00filter\x00ioerr\x00fullerr\x00cantopenerr\x00script\x00devchar\x00sectorsize\x00subcommand\x00FILE ?VALUE?\x00failed to get full path: \x00no such file: \x00unknown method: \x00?CNT PERSIST?\x00default\x00undeletable_when_open\x00immutable\x00?ATTR-LIST?\x00bad flags: \x00?VALUE?\x00-noshm\x00-szosfile\x00-mxpathname\x00-iversion\x00-fullshm\x00VFSNAME ?-noshm BOOL? ?-fullshm BOOL? ?-default BOOL? ?-mxpathname INT? ?-szosfile INT? ?-iversion INT?\x00shared\x00lock\x00unlock\x00DB DBNAME (shared|exclusive) (lock|unlock) OFFSET N\x00ARG\x00DB DBNAME SLOT ?VALUE?\x00*-shm is not yet mapped\x00testvfs\x00vfs_shmlock\x00vfs_set_readmark\x00DB NAME XSTEP XFINAL XVALUE XINVERSE\x00fff\x00misuse test error\x00invalid argument\x00sumint\x00sum\x00sqlite3_create_window_function\x00test_create_window_function_misuse\x00test_create_sumint\x00test_override_sum\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/internal/testfixture/testfixture_windows_amd64.go b/internal/testfixture/testfixture_windows_amd64.go index 867beba..42a6683 100644 --- a/internal/testfixture/testfixture_windows_amd64.go +++ b/internal/testfixture/testfixture_windows_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -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 -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_windows_amd64.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_WIN=1 -D_MSC_VER=1900 -lmodernc.org/sqlite/internal/libc2', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -trace-translation-units -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 -lmodernc.org/sqlite/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_windows_amd64.go -Itestdata/sqlite-src-3360000/ext/async -Itestdata/sqlite-src-3360000/ext/fts3 -Itestdata/sqlite-src-3360000/ext/icu -Itestdata/sqlite-src-3360000/ext/rtree -Itestdata/sqlite-src-3360000/ext/session -Itestdata/sqlite-src-3360000/ext/userauth -Itestdata/sqlite-src-3360000/src -Itestdata/sqlite-amalgamation-3360000 -Itestdata/sqlite-src-3360000 testdata/sqlite-src-3360000/ext/expert/sqlite3expert.c testdata/sqlite-src-3360000/ext/expert/test_expert.c testdata/sqlite-src-3360000/ext/fts3/fts3_term.c testdata/sqlite-src-3360000/ext/fts3/fts3_test.c testdata/sqlite-src-3360000/ext/fts5/fts5_tcl.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3360000/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3360000/ext/misc/appendvfs.c testdata/sqlite-src-3360000/ext/misc/amatch.c testdata/sqlite-src-3360000/ext/misc/carray.c testdata/sqlite-src-3360000/ext/misc/cksumvfs.c testdata/sqlite-src-3360000/ext/misc/closure.c testdata/sqlite-src-3360000/ext/misc/csv.c testdata/sqlite-src-3360000/ext/misc/decimal.c testdata/sqlite-src-3360000/ext/misc/eval.c testdata/sqlite-src-3360000/ext/misc/explain.c testdata/sqlite-src-3360000/ext/misc/fileio.c testdata/sqlite-src-3360000/ext/misc/fuzzer.c testdata/sqlite-src-3360000/ext/misc/ieee754.c testdata/sqlite-src-3360000/ext/misc/mmapwarm.c testdata/sqlite-src-3360000/ext/misc/nextchar.c testdata/sqlite-src-3360000/ext/misc/normalize.c testdata/sqlite-src-3360000/ext/misc/percentile.c testdata/sqlite-src-3360000/ext/misc/prefixes.c testdata/sqlite-src-3360000/ext/misc/regexp.c testdata/sqlite-src-3360000/ext/misc/remember.c testdata/sqlite-src-3360000/ext/misc/series.c testdata/sqlite-src-3360000/ext/misc/spellfix.c testdata/sqlite-src-3360000/ext/misc/totype.c testdata/sqlite-src-3360000/ext/misc/unionvtab.c testdata/sqlite-src-3360000/ext/misc/wholenumber.c testdata/sqlite-src-3360000/ext/misc/zipfile.c testdata/sqlite-src-3360000/ext/rbu/test_rbu.c testdata/sqlite-src-3360000/ext/session/test_session.c testdata/sqlite-src-3360000/ext/userauth/userauth.c testdata/sqlite-src-3360000/src/tclsqlite.c testdata/sqlite-src-3360000/src/test1.c testdata/sqlite-src-3360000/src/test2.c testdata/sqlite-src-3360000/src/test3.c testdata/sqlite-src-3360000/src/test4.c testdata/sqlite-src-3360000/src/test5.c testdata/sqlite-src-3360000/src/test6.c testdata/sqlite-src-3360000/src/test7.c testdata/sqlite-src-3360000/src/test8.c testdata/sqlite-src-3360000/src/test9.c testdata/sqlite-src-3360000/src/test_async.c testdata/sqlite-src-3360000/src/test_autoext.c testdata/sqlite-src-3360000/src/test_backup.c testdata/sqlite-src-3360000/src/test_bestindex.c testdata/sqlite-src-3360000/src/test_blob.c testdata/sqlite-src-3360000/src/test_btree.c testdata/sqlite-src-3360000/src/test_config.c testdata/sqlite-src-3360000/src/test_delete.c testdata/sqlite-src-3360000/src/test_demovfs.c testdata/sqlite-src-3360000/src/test_devsym.c testdata/sqlite-src-3360000/src/test_fs.c testdata/sqlite-src-3360000/src/test_func.c testdata/sqlite-src-3360000/src/test_hexio.c testdata/sqlite-src-3360000/src/test_init.c testdata/sqlite-src-3360000/src/test_intarray.c testdata/sqlite-src-3360000/src/test_journal.c testdata/sqlite-src-3360000/src/test_malloc.c testdata/sqlite-src-3360000/src/test_md5.c testdata/sqlite-src-3360000/src/test_multiplex.c testdata/sqlite-src-3360000/src/test_mutex.c testdata/sqlite-src-3360000/src/test_onefile.c testdata/sqlite-src-3360000/src/test_osinst.c testdata/sqlite-src-3360000/src/test_pcache.c testdata/sqlite-src-3360000/src/test_quota.c testdata/sqlite-src-3360000/src/test_rtree.c testdata/sqlite-src-3360000/src/test_schema.c testdata/sqlite-src-3360000/src/test_server.c testdata/sqlite-src-3360000/src/test_superlock.c testdata/sqlite-src-3360000/src/test_syscall.c testdata/sqlite-src-3360000/src/test_tclsh.c testdata/sqlite-src-3360000/src/test_tclvar.c testdata/sqlite-src-3360000/src/test_thread.c testdata/sqlite-src-3360000/src/test_vdbecov.c testdata/sqlite-src-3360000/src/test_vfs.c testdata/sqlite-src-3360000/src/test_windirent.c testdata/sqlite-src-3360000/src/test_window.c testdata/sqlite-src-3360000/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_WIN=1 -D_MSC_VER=1900 -lmodernc.org/sqlite/internal/libc2', DO NOT EDIT. package main @@ -84,6 +84,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -213,6 +224,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_STMTVTAB = 1 @@ -450,6 +462,8 @@ const ( SQLITE_SERIALIZE_NOCOPY = 0x001 SQLITE_SERIES_CONSTRAINT_VERIFY = 1 SQLITE_SERVER = 1 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -17906,6 +17920,7 @@ const ( SQLITE_RBU_STATE_MOVE = 2 SQLITE_RBU_STATE_OAL = 1 X_SQLITE3RBU_H = 0 + SESSION_STREAM_TCL_VAR = "sqlite3session_streams" MAX_PREPARED_STMTS = 100 NUM_PREPARED_STMTS = 10 SQLITE_EVAL_WITHOUTNULLS = 0x00001 @@ -24717,10 +24732,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -24772,10 +24786,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -81678,6 +81691,1558 @@ var aObjCmd = [5]struct { {FzName: ts + 10499 /* "sqlite3rbu_inter..." */, FxProc: 0}, } /* test_rbu.c:369:5 */ +type TestSession1 = struct { + FpSession uintptr + Finterp uintptr + FpFilterScript uintptr +} /* test_session.c:21:9 */ + +type TestSession = TestSession1 /* test_session.c:21:28 */ + +type TestStreamInput1 = struct { + FnStream int32 + _ [4]byte + FaData uintptr + FnData int32 + FiData int32 +} /* test_session.c:28:9 */ + +type TestStreamInput = TestStreamInput1 /* test_session.c:28:32 */ + +// Extract an sqlite3* db handle from the object passed as the second +// argument. If successful, set *pDb to point to the db handle and return +// TCL_OK. Otherwise, return TCL_ERROR. +func dbHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, pDb uintptr) int32 { /* test_session.c:41:12: */ + bp := tls.Alloc(96) + defer tls.Free(96) + + // var info Tcl_CmdInfo at bp+32, 64 + + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, pObj), bp+32 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, pObj), 0)) + return TCL_ERROR + } + + *(*uintptr)(unsafe.Pointer(pDb)) = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &info */)).FobjClientData)) + return TCL_OK +} + +/************************************************************************* +** The following code is copied byte-for-byte from the sessions module +** documentation. It is used by some of the sessions modules tests to +** ensure that the example in the documentation does actually work. + */ +// Argument zSql points to a buffer containing an SQL script to execute +// against the database handle passed as the first argument. As well as +// executing the SQL script, this function collects a changeset recording +// all changes made to the "main" database file. Assuming no error occurs, +// output variables (*ppChangeset) and (*pnChangeset) are set to point +// to a buffer containing the changeset and the size of the changeset in +// bytes before returning SQLITE_OK. In this case it is the responsibility +// of the caller to eventually free the changeset blob by passing it to +// the sqlite3_free function. +// +// Or, if an error does occur, return an SQLite error code. The final +// value of (*pChangeset) and (*pnChangeset) are undefined in this case. +func sql_exec_changeset(tls *libc.TLS, db uintptr, zSql uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* test_session.c:71:5: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pSession */)) = uintptr(0) + var rc int32 + + // Create a new session object + rc = sqlite3.Xsqlite3session_create(tls, db, ts+85 /* "main" */, bp /* &pSession */) + + // Configure the session object to record changes to all tables + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3session_attach(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */)), uintptr(0)) + } + + // Execute the SQL script + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) + } + + // Collect the changeset + if rc == SQLITE_OK { + rc = sqlite3.Xsqlite3session_changeset(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */)), pnChangeset, ppChangeset) + } + + // Delete the session object + sqlite3.Xsqlite3session_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pSession */))) + + return rc +} + +//********************************************************************** + +// Tclcmd: sql_exec_changeset DB SQL +func test_sql_exec_changeset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:104:26: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var zSql uintptr + // var db uintptr at bp+24, 8 + + // var pChangeset uintptr at bp+40, 8 + + // var nChangeset int32 at bp+32, 4 + + var rc int32 + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10524 /* "DB SQL" */) + return TCL_ERROR + } + if dbHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &db */) != 0 { + return TCL_ERROR + } + zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) + + rc = sql_exec_changeset(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), zSql, bp+32 /* &nChangeset */, bp+40 /* &pChangeset */) + if rc != SQLITE_OK { + tcl.XTcl_ResetResult(tls, interp) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10531 /* "error in sql_exe..." */, 0)) + return TCL_ERROR + } + + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pChangeset */)), *(*int32)(unsafe.Pointer(bp + 32 /* nChangeset */)))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pChangeset */))) + return TCL_OK +} + +// Attempt to find the global variable zVar within interpreter interp +// and extract an integer value from it. Return this value. +// +// If the named variable cannot be found, or if it cannot be interpreted +// as a integer, return 0. +func test_tcl_integer(tls *libc.TLS, interp uintptr, zVar uintptr) int32 { /* test_session.c:146:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var pObj uintptr + *(*int32)(unsafe.Pointer(bp /* iVal */)) = 0 + var pName uintptr = tcl.XTcl_NewStringObj(tls, zVar, -1) + (*Tcl_Obj)(unsafe.Pointer(pName)).FrefCount++ + pObj = tcl.XTcl_ObjGetVar2(tls, interp, pName, uintptr(0), TCL_GLOBAL_ONLY) + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pName + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + if pObj != 0 { + tcl.XTcl_GetIntFromObj(tls, uintptr(0), pObj, bp /* &iVal */) + } + return *(*int32)(unsafe.Pointer(bp /* iVal */)) +} + +func test_session_error(tls *libc.TLS, interp uintptr, rc int32, zErr uintptr) int32 { /* test_session.c:157:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) + if zErr != 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10280 /* " - " */, zErr, 0)) + sqlite3.Xsqlite3_free(tls, zErr) + } + return TCL_ERROR +} + +func test_table_filter(tls *libc.TLS, pCtx uintptr, zTbl uintptr) int32 { /* test_session.c:167:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + var pEval uintptr + var rc int32 + *(*int32)(unsafe.Pointer(bp /* bRes */)) = 0 + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestSession)(unsafe.Pointer(p)).FpFilterScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + rc = tcl.XTcl_ListObjAppendElement(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, zTbl, -1)) + if rc == TCL_OK { + rc = tcl.XTcl_EvalObjEx(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, TCL_EVAL_GLOBAL) + } + if rc == TCL_OK { + rc = tcl.XTcl_GetBooleanFromObj(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, tcl.XTcl_GetObjResult(tls, (*TestSession)(unsafe.Pointer(p)).Finterp), bp /* &bRes */) + } + if rc != TCL_OK { + // printf("error: %s\n", Tcl_GetStringResult(p->interp)); + tcl.XTcl_BackgroundError(tls, (*TestSession)(unsafe.Pointer(p)).Finterp) + } + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + + return *(*int32)(unsafe.Pointer(bp /* bRes */)) +} + +type TestSessionsBlob1 = struct { + Fp uintptr + Fn int32 + _ [4]byte +} /* test_session.c:191:1 */ + +type TestSessionsBlob = TestSessionsBlob1 /* test_session.c:195:33 */ + +func testStreamOutput(tls *libc.TLS, pCtx uintptr, pData uintptr, nData int32) int32 { /* test_session.c:197:12: */ + var pBlob uintptr = pCtx + var pNew uintptr + + pNew = sqlite3.Xsqlite3_realloc(tls, (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp, ((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn + nData)) + if pNew == uintptr(0) { + return SQLITE_NOMEM + } + (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp = pNew + libc.Xmemcpy(tls, (pNew + uintptr((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn)), pData, uint64(nData)) + *(*int32)(unsafe.Pointer(pBlob + 8 /* &.n */)) += (nData) + return SQLITE_OK +} + +// Tclcmd: $session attach TABLE +// $session changeset +// $session delete +// $session enable BOOL +// $session indirect INTEGER +// $session patchset +// $session table_filter SCRIPT +func test_session_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:225:26: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + var p uintptr = clientData + var pSession uintptr = (*TestSession)(unsafe.Pointer(p)).FpSession + // var iSub int32 at bp, 4 + + var rc int32 + + if objc < 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1860 /* "SUBCOMMAND ..." */) + return TCL_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub)), int32(unsafe.Sizeof(SessionSubcmd{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if objc != (2 + aSub[*(*int32)(unsafe.Pointer(bp /* iSub */))].FnArg) { + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub[*(*int32)(unsafe.Pointer(bp /* iSub */))].FzMsg) + return TCL_ERROR + } + + switch *(*int32)(unsafe.Pointer(bp /* iSub */)) { + case 0: + { // attach + var zArg uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) + if (int32(*(*int8)(unsafe.Pointer(zArg))) == '*') && (int32(*(*int8)(unsafe.Pointer(zArg + 1))) == 0) { + zArg = uintptr(0) + } + rc = sqlite3.Xsqlite3session_attach(tls, pSession, zArg) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + break + + } + + case 7: + fallthrough // patchset + case 1: + { // changeset + *(*TestSessionsBlob)(unsafe.Pointer(bp + 8 /* o */)) = TestSessionsBlob{} + if test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) != 0 { + var pCtx uintptr = bp + 8 /* &o */ + if *(*int32)(unsafe.Pointer(bp /* iSub */)) == 7 { + rc = sqlite3.Xsqlite3session_patchset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), pCtx) + } else { + rc = sqlite3.Xsqlite3session_changeset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), pCtx) + } + } else { + if *(*int32)(unsafe.Pointer(bp /* iSub */)) == 7 { + rc = sqlite3.Xsqlite3session_patchset(tls, pSession, (bp + 8 /* &o */ + 8 /* &.n */), (bp + 8 /* &o */ /* &.p */)) + } else { + rc = sqlite3.Xsqlite3session_changeset(tls, pSession, (bp + 8 /* &o */ + 8 /* &.n */), (bp + 8 /* &o */ /* &.p */)) + } + } + if rc == SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+8 /* &o */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+8 /* &o */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+8 /* &o */)).Fp) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + break + + } + + case 2: // delete + tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))) + break + + case 3: + { // enable + // var val int32 at bp+24, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24 /* &val */) != 0 { + return TCL_ERROR + } + *(*int32)(unsafe.Pointer(bp + 24 /* val */)) = sqlite3.Xsqlite3session_enable(tls, pSession, *(*int32)(unsafe.Pointer(bp + 24 /* val */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 24 /* val */))) != 0)))) + break + + } + + case 4: + { // indirect + // var val int32 at bp+28, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+28 /* &val */) != 0 { + return TCL_ERROR + } + *(*int32)(unsafe.Pointer(bp + 28 /* val */)) = sqlite3.Xsqlite3session_indirect(tls, pSession, *(*int32)(unsafe.Pointer(bp + 28 /* val */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 28 /* val */))) != 0)))) + break + + } + + case 5: + { // isempty + var val int32 + val = sqlite3.Xsqlite3session_isempty(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((val) != 0)))) + break + + } + + case 6: + { // table_filter + if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 { + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = (*TestSession)(unsafe.Pointer(p)).FpFilterScript + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + } + (*TestSession)(unsafe.Pointer(p)).Finterp = interp + (*TestSession)(unsafe.Pointer(p)).FpFilterScript = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) + (*Tcl_Obj)(unsafe.Pointer((*TestSession)(unsafe.Pointer(p)).FpFilterScript)).FrefCount++ + sqlite3.Xsqlite3session_table_filter(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_table_filter})), clientData) + break + + } + + case 8: + { // diff + *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)) = uintptr(0) + rc = sqlite3.Xsqlite3session_diff(tls, pSession, + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))), + bp+32 /* &zErr */) + + if rc != 0 { + return test_session_error(tls, interp, rc, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */))) + } + break + + } + + case 9: + { // memory_used + var nMalloc sqlite3_int64 = sqlite3.Xsqlite3session_memory_used(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, nMalloc)) + break + + } + + case 10: + { + var nSize sqlite3_int64 = sqlite3.Xsqlite3session_changeset_size(tls, pSession) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, nSize)) + break + + } + case 11: + { + var rc int32 + // var iArg int32 at bp+40, 4 + + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &iArg */) != 0 { + return TCL_ERROR + } + rc = sqlite3.Xsqlite3session_object_config(tls, + pSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+40 /* &iArg */) + if rc != SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 40 /* iArg */)))) + } + break + + } + } + + return TCL_OK +} + +type SessionSubcmd = struct { + FzSub uintptr + FnArg int32 + _ [4]byte + FzMsg uintptr + FiSub int32 + _ [4]byte +} /* test_session.c:233:10 */ + +var aSub = [13]SessionSubcmd{ + {FzSub: ts + 10584 /* "attach" */, FnArg: 1, FzMsg: ts + 1812 /* "TABLE" */}, // 0 + {FzSub: ts + 10591 /* "changeset" */, FzMsg: ts + 489 /* "" */}, // 1 + {FzSub: ts + 10601 /* "delete" */, FzMsg: ts + 489 /* "" */}, // 2 + {FzSub: ts + 10608 /* "enable" */, FnArg: 1, FzMsg: ts + 10615 /* "BOOL" */}, // 3 + {FzSub: ts + 10620 /* "indirect" */, FnArg: 1, FzMsg: ts + 10615 /* "BOOL" */}, // 4 + {FzSub: ts + 10629 /* "isempty" */, FzMsg: ts + 489 /* "" */}, // 5 + {FzSub: ts + 10637 /* "table_filter" */, FnArg: 1, FzMsg: ts + 10650 /* "SCRIPT" */}, // 6 + {FzSub: ts + 10657 /* "patchset" */, FzMsg: ts + 489 /* "" */}, // 7 + {FzSub: ts + 10666 /* "diff" */, FnArg: 2, FzMsg: ts + 10671 /* "FROMDB TBL" */}, // 8 + {FzSub: ts + 10682 /* "memory_used" */, FzMsg: ts + 489 /* "" */}, // 9 + {FzSub: ts + 10694 /* "changeset_size" */, FzMsg: ts + 489 /* "" */}, // 10 + {FzSub: ts + 10709 /* "object_config_si..." */, FnArg: 1, FzMsg: ts + 2274 /* "INTEGER" */}, // 11 + {}, +} /* test_session.c:238:5 */ + +func test_session_del(tls *libc.TLS, clientData uintptr) { /* test_session.c:390:27: */ + var p uintptr = clientData + if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 { + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = (*TestSession)(unsafe.Pointer(p)).FpFilterScript + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + } + sqlite3.Xsqlite3session_delete(tls, (*TestSession)(unsafe.Pointer(p)).FpSession) + tcl.XTcl_Free(tls, p) +} + +// Tclcmd: sqlite3session CMD DB-HANDLE DB-NAME +func test_sqlite3session(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:400:26: */ + bp := tls.Alloc(100) + defer tls.Free(100) + + var db uintptr + // var info Tcl_CmdInfo at bp+32, 64 + + var rc int32 // sqlite3session_create() return code + var p uintptr // New wrapper object + *(*int32)(unsafe.Pointer(bp + 96 /* iArg */)) = -1 + + if objc != 4 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10728 /* "CMD DB-HANDLE DB..." */) + return TCL_ERROR + } + + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+32 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &info */)).FobjClientData)) + + p = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(TestSession{}))) + libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(TestSession{}))) + rc = sqlite3.Xsqlite3session_create(tls, db, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))), (p /* &.pSession */)) + if rc != SQLITE_OK { + tcl.XTcl_Free(tls, p) + return test_session_error(tls, interp, rc, uintptr(0)) + } + + // Query the SQLITE_SESSION_OBJCONFIG_SIZE option to ensure that it + // is clear by default. Then set it. + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+96 /* &iArg */) + + *(*int32)(unsafe.Pointer(bp + 96 /* iArg */)) = 1 + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+96 /* &iArg */) + + tcl.XTcl_CreateObjCommand(tls, + interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_session_cmd})), p, + *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_session_del}))) + tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + return TCL_OK +} + +func test_append_value(tls *libc.TLS, pList uintptr, pVal uintptr) { /* test_session.c:446:13: */ + if pVal == uintptr(0) { + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls)) + } else { + var pObj uintptr + switch sqlite3.Xsqlite3_value_type(tls, pVal) { + case SQLITE_NULL: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10750 /* "n" */, 1)) + pObj = tcl.XTcl_NewObj(tls) + break + fallthrough + case SQLITE_INTEGER: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10752 /* "i" */, 1)) + pObj = tcl.XTcl_NewWideIntObj(tls, sqlite3.Xsqlite3_value_int64(tls, pVal)) + break + fallthrough + case SQLITE_FLOAT: + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10754 /* "f" */, 1)) + pObj = tcl.XTcl_NewDoubleObj(tls, sqlite3.Xsqlite3_value_double(tls, pVal)) + break + fallthrough + case SQLITE_TEXT: + { + var z uintptr = sqlite3.Xsqlite3_value_blob(tls, pVal) + var n int32 = sqlite3.Xsqlite3_value_bytes(tls, pVal) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10756 /* "t" */, 1)) + pObj = tcl.XTcl_NewStringObj(tls, z, n) + break + + } + fallthrough + default: + + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10758 /* "b" */, 1)) + pObj = tcl.XTcl_NewByteArrayObj(tls, + sqlite3.Xsqlite3_value_blob(tls, pVal), + sqlite3.Xsqlite3_value_bytes(tls, pVal)) + break + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, pObj) + } +} + +type TestConflictHandler1 = struct { + Finterp uintptr + FpConflictScript uintptr + FpFilterScript uintptr +} /* test_session.c:485:9 */ + +type TestConflictHandler = TestConflictHandler1 /* test_session.c:485:36 */ + +func test_obj_eq_string(tls *libc.TLS, p uintptr, z uintptr) int32 { /* test_session.c:492:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var n int32 + // var nObj int32 at bp, 4 + + var zObj uintptr + + n = int32(libc.Xstrlen(tls, z)) + zObj = tcl.XTcl_GetStringFromObj(tls, p, bp /* &nObj */) + + return (libc.Bool32((*(*int32)(unsafe.Pointer(bp /* nObj */)) == n) && ((n == 0) || (0 == libc.Xmemcmp(tls, zObj, z, uint64(n)))))) +} + +func test_filter_handler(tls *libc.TLS, pCtx uintptr, zTab uintptr) int32 { /* test_session.c:503:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*int32)(unsafe.Pointer(bp /* res */)) = 1 + var pEval uintptr + var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpFilterScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + + if ((TCL_OK != tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, zTab, -1))) || + (TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL))) || + (TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, tcl.XTcl_GetObjResult(tls, interp), bp /* &res */)) { + tcl.XTcl_BackgroundError(tls, interp) + } + + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + return *(*int32)(unsafe.Pointer(bp /* res */)) +} + +func test_conflict_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 { /* test_session.c:526:12: */ + bp := tls.Alloc(104) + defer tls.Free(104) + + var p uintptr = pCtx + var pEval uintptr + var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = 0 // Return value + + // var op int32 at bp+12, 4 + // SQLITE_UPDATE, DELETE or INSERT + // var zTab uintptr at bp, 8 + // Name of table conflict is on + // var nCol int32 at bp+8, 4 + // Number of columns in table zTab + + pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpConflictScript) + (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ + + sqlite3.Xsqlite3changeset_op(tls, pIter, bp /* &zTab */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if eConf == SQLITE_CHANGESET_FOREIGN_KEY { + // var nFk int32 at bp+16, 4 + + sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+16 /* &nFk */) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, ts+10760 /* "FOREIGN_KEY" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 16 /* nFk */)))) + } else { + + // Append the operation type. + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + return ts + 10772 /* "INSERT" */ + } + return func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_UPDATE { + return ts + 10779 /* "UPDATE" */ + } + return ts + 10786 /* "DELETE" */ + }() + }(), -1)) + + // Append the table name. + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp /* zTab */)), -1)) + + // Append the conflict type. + switch eConf { + case SQLITE_CHANGESET_DATA: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10793 /* "DATA" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_NOTFOUND: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10798 /* "NOTFOUND" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_CONFLICT: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10807 /* "CONFLICT" */, -1)) + break + fallthrough + case SQLITE_CHANGESET_CONSTRAINT: + tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10816 /* "CONSTRAINT" */, -1)) + break + } + + // If this is not an INSERT, append the old row + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_INSERT { + var i int32 + var pOld uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+24, 8 + + sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+24 /* &pVal */) + test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pOld) + } + + // If this is not a DELETE, append the new row + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_DELETE { + var i int32 + var pNew uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+32, 8 + + sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+32 /* &pVal */) + test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pNew) + } + + // If this is a CHANGESET_DATA or CHANGESET_CONFLICT conflict, append + // the conflicting row. + if (eConf == SQLITE_CHANGESET_DATA) || (eConf == SQLITE_CHANGESET_CONFLICT) { + var i int32 + var pConflict uintptr = tcl.XTcl_NewObj(tls) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + var rc int32 + _ = rc + // var pVal uintptr at bp+40, 8 + + rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, i, bp+40 /* &pVal */) + + test_append_value(tls, pConflict, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pConflict) + } + + // ********************************************************************** + // + // This block is purely for testing some error conditions. + if (eConf == SQLITE_CHANGESET_CONSTRAINT) || + (eConf == SQLITE_CHANGESET_NOTFOUND) { + // var pVal uintptr at bp+48, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, 0, bp+48 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+56, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, -1, bp+56 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), bp+56 /* &pVal */) + + } + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_DELETE { + // var pVal uintptr at bp+64, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, 0, bp+64 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+72, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, -1, bp+72 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_new(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), bp+72 /* &pVal */) + + } + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + // var pVal uintptr at bp+80, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, 0, bp+80 /* &pVal */) + _ = rc + + } else { + // var pVal uintptr at bp+88, 8 + + var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, -1, bp+88 /* &pVal */) + _ = rc + + rc = sqlite3.Xsqlite3changeset_old(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), bp+88 /* &pVal */) + + } + if eConf != SQLITE_CHANGESET_FOREIGN_KEY { + // eConf!=FOREIGN_KEY is always true at this point. The condition is + // just there to make it clearer what is being tested. + // var nDummy int32 at bp+96, 4 + + var rc int32 = sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+96 /* &nDummy */) + _ = rc + + } + // End of testing block + // + } + + if TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL) { + tcl.XTcl_BackgroundError(tls, interp) + } else { + var pRes uintptr = tcl.XTcl_GetObjResult(tls, interp) + if (test_obj_eq_string(tls, pRes, ts+10827 /* "OMIT" */) != 0) || (test_obj_eq_string(tls, pRes, ts+489 /* "" */) != 0) { + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = SQLITE_CHANGESET_OMIT + } else if test_obj_eq_string(tls, pRes, ts+7292 /* "REPLACE" */) != 0 { + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = SQLITE_CHANGESET_REPLACE + } else if test_obj_eq_string(tls, pRes, ts+7286 /* "ABORT" */) != 0 { + *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) = SQLITE_CHANGESET_ABORT + } else { + tcl.XTcl_GetIntFromObj(tls, uintptr(0), pRes, bp+100 /* &ret */) + } + } + + for ok := true; ok; ok = 0 != 0 { + var _objPtr uintptr = pEval + if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { + tcl.XTclFreeObj(tls, _objPtr) + } + } + return *(*int32)(unsafe.Pointer(bp + 100 /* ret */)) +} + +// The conflict handler used by sqlite3changeset_apply_replace_all(). +// This conflict handler calls sqlite3_value_text16() on all available +// sqlite3_value objects and then returns CHANGESET_REPLACE, or +// CHANGESET_OMIT if REPLACE is not applicable. This is used to test the +// effect of a malloc failure within an sqlite3_value_xxx() function +// invoked by a conflict-handler callback. +func replace_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 { /* test_session.c:693:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var op int32 at bp+12, 4 + // SQLITE_UPDATE, DELETE or INSERT + // var zTab uintptr at bp, 8 + // Name of table conflict is on + // var nCol int32 at bp+8, 4 + // Number of columns in table zTab + var i int32 + var x int32 = 0 + + sqlite3.Xsqlite3changeset_op(tls, pIter, bp /* &zTab */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_INSERT { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+16, 8 + + sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+16 /* &pVal */) + sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) + x++ + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) != SQLITE_DELETE { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)); i++ { + // var pVal uintptr at bp+24, 8 + + sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+24 /* &pVal */) + sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + x++ + } + } + + if eConf == SQLITE_CHANGESET_DATA { + return SQLITE_CHANGESET_REPLACE + } + return SQLITE_CHANGESET_OMIT +} + +func testStreamInput(tls *libc.TLS, pCtx uintptr, pData uintptr, pnData uintptr) int32 { /* test_session.c:730:12: */ + var p uintptr = pCtx + var nReq int32 = *(*int32)(unsafe.Pointer(pnData)) // Bytes of data requested + var nRem int32 = ((*TestStreamInput)(unsafe.Pointer(p)).FnData - (*TestStreamInput)(unsafe.Pointer(p)).FiData) // Bytes of data available + var nRet int32 = (*TestStreamInput)(unsafe.Pointer(p)).FnStream // Bytes actually returned + + // Allocate and free some space. There is no point to this, other than + // that it allows the regular OOM fault-injection tests to cause an error + // in this function. + var pAlloc uintptr = sqlite3.Xsqlite3_malloc(tls, 10) + if pAlloc == uintptr(0) { + return SQLITE_NOMEM + } + sqlite3.Xsqlite3_free(tls, pAlloc) + + if nRet > nReq { + nRet = nReq + } + if nRet > nRem { + nRet = nRem + } + + if nRet > 0 { + libc.Xmemcpy(tls, pData, ((*TestStreamInput)(unsafe.Pointer(p)).FaData + uintptr((*TestStreamInput)(unsafe.Pointer(p)).FiData)), uint64(nRet)) + *(*int32)(unsafe.Pointer(p + 20 /* &.iData */)) += (nRet) + } + + *(*int32)(unsafe.Pointer(pnData)) = nRet + return SQLITE_OK +} + +func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:761:26: */ + bp := tls.Alloc(164) + defer tls.Free(164) + + var db uintptr // Database handle + // var info Tcl_CmdInfo at bp+56, 64 + // Database Tcl command (objv[1]) info + var rc int32 // Return code from changeset_invert() + var pChangeset uintptr // Buffer containing changeset + // var nChangeset int32 at bp+120, 4 + // Size of buffer aChangeset in bytes + // var ctx TestConflictHandler at bp+128, 24 + + // var sStr TestStreamInput at bp+32, 24 + + *(*uintptr)(unsafe.Pointer(bp + 152 /* pRebase */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 160 /* nRebase */)) = 0 + var flags int32 = 0 // Flags for apply_v2() + + libc.Xmemset(tls, bp+32 /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + (*TestStreamInput)(unsafe.Pointer(bp + 32 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + + // Check for the -nosavepoint flag + if bV2 != 0 { + if objc > 1 { + var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + var n int32 = int32(libc.Xstrlen(tls, z1)) + if ((n > 1) && (n <= 12)) && (0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10832 /* "-nosavepoint" */, z1, n)) { + flags = flags | (SQLITE_CHANGESETAPPLY_NOSAVEPOINT) + objc-- + objv += 8 + } + } + if objc > 1 { + var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + var n int32 = int32(libc.Xstrlen(tls, z1)) + if ((n > 1) && (n <= 7)) && (0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10845 /* "-invert" */, z1, n)) { + flags = flags | (SQLITE_CHANGESETAPPLY_INVERT) + objc-- + objv += 8 + } + } + } + + if (objc != 4) && (objc != 5) { + var zMsg uintptr + if bV2 != 0 { + zMsg = ts + 10853 /* "?-nosavepoint? ?..." */ + } else { + zMsg = ts + 10924 /* "DB CHANGESET CON..." */ + } + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zMsg) + return TCL_ERROR + } + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 56 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+120 /* &nChangeset */) + (*TestConflictHandler)(unsafe.Pointer(bp + 128 /* &ctx */)).FpConflictScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) + (*TestConflictHandler)(unsafe.Pointer(bp + 128 /* &ctx */)).FpFilterScript = func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(objv + 4*8)) + } + return uintptr(0) + }() + (*TestConflictHandler)(unsafe.Pointer(bp + 128 /* &ctx */)).Finterp = interp + + if (*TestStreamInput)(unsafe.Pointer(bp+32 /* &sStr */)).FnStream == 0 { + if bV2 == 0 { + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 120 /* nChangeset */)), pChangeset, + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+128 /* &ctx */) + } else { + rc = sqlite3.Xsqlite3changeset_apply_v2(tls, db, *(*int32)(unsafe.Pointer(bp + 120 /* nChangeset */)), pChangeset, + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+128, /* &ctx */ + bp+152 /* &pRebase */, bp+160 /* &nRebase */, flags) + } + } else { + (*TestStreamInput)(unsafe.Pointer(bp + 32 /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp + 32 /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 120 /* nChangeset */)) + if bV2 == 0 { + rc = sqlite3.Xsqlite3changeset_apply_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+32, /* &sStr */ + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+128 /* &ctx */) + } else { + rc = sqlite3.Xsqlite3changeset_apply_v2_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+32, /* &sStr */ + func() uintptr { + if objc == 5 { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr) int32 + }{test_filter_handler})) + } + return uintptr(0) + }(), + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{test_conflict_handler})), bp+128, /* &ctx */ + bp+152 /* &pRebase */, bp+160 /* &nRebase */, flags) + } + } + + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_ResetResult(tls, interp) + if (bV2 != 0) && (*(*uintptr)(unsafe.Pointer(bp + 152 /* pRebase */)) != 0) { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pRebase */)), *(*int32)(unsafe.Pointer(bp + 160 /* nRebase */)))) + } + } + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pRebase */))) + return TCL_OK +} + +// sqlite3changeset_apply DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT? +func test_sqlite3changeset_apply(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:868:26: */ + return testSqlite3changesetApply(tls, 0, clientData, interp, objc, objv) +} + +// sqlite3changeset_apply_v2 DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT? +func test_sqlite3changeset_apply_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:879:26: */ + return testSqlite3changesetApply(tls, 1, clientData, interp, objc, objv) +} + +// sqlite3changeset_apply_replace_all DB CHANGESET +func test_sqlite3changeset_apply_replace_all(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:891:26: */ + bp := tls.Alloc(100) + defer tls.Free(100) + + var db uintptr // Database handle + // var info Tcl_CmdInfo at bp+32, 64 + // Database Tcl command (objv[1]) info + var rc int32 // Return code from changeset_invert() + var pChangeset uintptr // Buffer containing changeset + // var nChangeset int32 at bp+96, 4 + // Size of buffer aChangeset in bytes + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10969 /* "DB CHANGESET" */) + return TCL_ERROR + } + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + return TCL_ERROR + } + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+96 /* &nChangeset */) + + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 96 /* nChangeset */)), pChangeset, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{replace_handler})), uintptr(0)) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + tcl.XTcl_ResetResult(tls, interp) + return TCL_OK +} + +// sqlite3changeset_invert CHANGESET +func test_sqlite3changeset_invert(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:926:26: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var rc int32 // Return code from changeset_invert() + // var sIn TestStreamInput at bp, 24 + // Input stream + // var sOut TestSessionsBlob at bp+24, 16 + // Output blob + + if objc != 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10982 /* "CHANGESET" */) + return TCL_ERROR + } + + libc.Xmemset(tls, bp /* &sIn */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+24 /* &sOut */, 0, uint64(unsafe.Sizeof(TestSessionsBlob{}))) + (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), (bp /* &sIn */ + 16 /* &.nData */)) + + if (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnStream != 0 { + rc = sqlite3.Xsqlite3changeset_invert_strm(tls, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp /* &sIn */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+24 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3changeset_invert(tls, (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp /* &sIn */)).FaData, (bp + 24 /* &sOut */ + 8 /* &.n */), (bp + 24 /* &sOut */ /* &.p */)) + } + if rc != SQLITE_OK { + rc = test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24 /* &sOut */)).Fp) + return rc +} + +// sqlite3changeset_concat LEFT RIGHT +func test_sqlite3changeset_concat(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:965:26: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var rc int32 // Return code from changeset_invert() + + // var sLeft TestStreamInput at bp, 24 + // Input stream + // var sRight TestStreamInput at bp+24, 24 + // Input stream + *(*TestSessionsBlob)(unsafe.Pointer(bp + 48 /* sOut */)) = TestSessionsBlob{} // Output blob + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10992 /* "LEFT RIGHT" */) + return TCL_ERROR + } + + libc.Xmemset(tls, bp /* &sLeft */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+24 /* &sRight */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), (bp /* &sLeft */ + 16 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sRight */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), (bp + 24 /* &sRight */ + 16 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sRight */)).FnStream = (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream + + if (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnStream > 0 { + rc = sqlite3.Xsqlite3changeset_concat_strm(tls, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp, /* &sLeft */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+24, /* &sRight */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+48 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3changeset_concat(tls, + (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp /* &sLeft */)).FaData, (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sRight */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sRight */)).FaData, (bp + 48 /* &sOut */ + 8 /* &.n */), (bp + 48 /* &sOut */ /* &.p */)) + } + + if rc != SQLITE_OK { + rc = test_session_error(tls, interp, rc, uintptr(0)) + } else { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+48 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+48 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+48 /* &sOut */)).Fp) + return rc +} + +// sqlite3session_foreach VARNAME CHANGESET SCRIPT +func test_sqlite3session_foreach(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1013:26: */ + bp := tls.Alloc(104) + defer tls.Free(104) + + var pChangeset uintptr + // var nChangeset int32 at bp+24, 4 + + // var pIter uintptr at bp+32, 8 + + var rc int32 + var pVarname uintptr + var pCS uintptr + var pScript uintptr + var isCheckNext int32 = 0 + var isInvert int32 = 0 + // var sStr TestStreamInput at bp, 24 + + libc.Xmemset(tls, bp /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + + for objc > 1 { + var zOpt uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + var nOpt int32 = int32(libc.Xstrlen(tls, zOpt)) + if int32(*(*int8)(unsafe.Pointer(zOpt))) != '-' { + break + } + if (nOpt <= 7) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+10845 /* "-invert" */, nOpt)) { + isInvert = 1 + } else if (nOpt <= 5) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+11003 /* "-next" */, nOpt)) { + isCheckNext = 1 + } else { + break + } + objv += 8 + objc-- + } + if objc != 4 { + tcl.XTcl_WrongNumArgs(tls, + interp, 1, objv, ts+11009 /* "?-next? ?-invert..." */) + return TCL_ERROR + } + + pVarname = *(*uintptr)(unsafe.Pointer(objv + 1*8)) + pCS = *(*uintptr)(unsafe.Pointer(objv + 2*8)) + pScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) + + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, pCS, bp+24 /* &nChangeset */) + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + if isInvert != 0 { + var f int32 = SQLITE_CHANGESETSTART_INVERT + if (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream == 0 { + rc = sqlite3.Xsqlite3changeset_start_v2(tls, bp+32 /* &pIter */, *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)), pChangeset, f) + } else { + var pCtx uintptr = bp /* &sStr */ + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)) + rc = sqlite3.Xsqlite3changeset_start_v2_strm(tls, bp+32 /* &pIter */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), pCtx, f) + } + } else { + if (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnStream == 0 { + rc = sqlite3.Xsqlite3changeset_start(tls, bp+32 /* &pIter */, *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)), pChangeset) + } else { + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)) + rc = sqlite3.Xsqlite3changeset_start_strm(tls, bp+32 /* &pIter */, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp /* &sStr */) + } + } + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + for SQLITE_ROW == sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) { + // var nCol int32 at bp+56, 4 + // Number of columns in table + // var nCol2 int32 at bp+80, 4 + // Number of columns in table + // var op int32 at bp+60, 4 + // SQLITE_INSERT, UPDATE or DELETE + // var zTab uintptr at bp+48, 8 + // Name of table change applies to + var pVar uintptr // Tcl value to set $VARNAME to + var pOld uintptr // Vector of old.* values + var pNew uintptr // Vector of new.* values + // var bIndirect int32 at bp+64, 4 + + var zPK uintptr + // var abPK uintptr at bp+72, 8 + + var i int32 + + // Test that _fk_conflicts() returns SQLITE_MISUSE if called on this + // iterator. + // var nDummy int32 at bp+40, 4 + + if SQLITE_MISUSE != sqlite3.Xsqlite3changeset_fk_conflicts(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), bp+40 /* &nDummy */) { + sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + return TCL_ERROR + } + + sqlite3.Xsqlite3changeset_op(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), bp+48 /* &zTab */, bp+56 /* &nCol */, bp+60 /* &op */, bp+64 /* &bIndirect */) + pVar = tcl.XTcl_NewObj(tls) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) == SQLITE_INSERT { + return ts + 10772 /* "INSERT" */ + } + return func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) == SQLITE_UPDATE { + return ts + 10779 /* "UPDATE" */ + } + return ts + 10786 /* "DELETE" */ + }() + }(), -1)) + + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zTab */)), -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewIntObj(tls, (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 64 /* bIndirect */))) != 0)))) + + zPK = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 56 /* nCol */)) + 1))) + libc.Xmemset(tls, zPK, 0, (uint64(*(*int32)(unsafe.Pointer(bp + 56 /* nCol */)) + 1))) + sqlite3.Xsqlite3changeset_pk(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), bp+72 /* &abPK */, bp+80 /* &nCol2 */) + + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56 /* nCol */)); i++ { + *(*int8)(unsafe.Pointer(zPK + uintptr(i))) = func() int8 { + if *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72 /* abPK */)) + uintptr(i))) != 0 { + return int8('X') + } + return int8('.') + }() + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, zPK, -1)) + tcl.XTcl_Free(tls, zPK) + + pOld = tcl.XTcl_NewObj(tls) + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) != SQLITE_INSERT { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56 /* nCol */)); i++ { + // var pVal uintptr at bp+88, 8 + + sqlite3.Xsqlite3changeset_old(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), i, bp+88 /* &pVal */) + test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 88 /* pVal */))) + } + } + pNew = tcl.XTcl_NewObj(tls) + if *(*int32)(unsafe.Pointer(bp + 60 /* op */)) != SQLITE_DELETE { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56 /* nCol */)); i++ { + // var pVal uintptr at bp+96, 8 + + sqlite3.Xsqlite3changeset_new(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */)), i, bp+96 /* &pVal */) + test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 96 /* pVal */))) + } + } + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pOld) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pNew) + + tcl.XTcl_ObjSetVar2(tls, interp, pVarname, uintptr(0), pVar, 0) + rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0) + if (rc != TCL_OK) && (rc != TCL_CONTINUE) { + sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + if rc == TCL_BREAK { + return TCL_OK + } + return rc + } + } + + if isCheckNext != 0 { + var rc2 int32 = sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + _ = rc2 + rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + + } else { + rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIter */))) + } + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + return TCL_OK +} + +// tclcmd: CMD configure REBASE-BLOB +// tclcmd: CMD rebase CHANGESET +// tclcmd: CMD delete +func test_rebaser_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1171:26: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var p uintptr = clientData + // var iSub int32 at bp, 4 + + var rc int32 + + if objc < 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1860 /* "SUBCOMMAND ..." */) + return TCL_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub1)), int32(unsafe.Sizeof(RebaseSubcmd{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if objc != (2 + aSub1[*(*int32)(unsafe.Pointer(bp /* iSub */))].FnArg) { + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub1[*(*int32)(unsafe.Pointer(bp /* iSub */))].FzMsg) + return TCL_ERROR + } + + switch *(*int32)(unsafe.Pointer(bp /* iSub */)) { + case 0: + { // configure + *(*int32)(unsafe.Pointer(bp + 4 /* nRebase */)) = 0 + var pRebase uintptr = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+4 /* &nRebase */) + rc = sqlite3.Xsqlite3rebaser_configure(tls, p, *(*int32)(unsafe.Pointer(bp + 4 /* nRebase */)), pRebase) + break + + } + + case 1: // delete + tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))) + break + + default: + { // rebase + // var sStr TestStreamInput at bp+8, 24 + // Input stream + // var sOut TestSessionsBlob at bp+32, 16 + // Output blob + + libc.Xmemset(tls, bp+8 /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + libc.Xmemset(tls, bp+32 /* &sOut */, 0, uint64(unsafe.Sizeof(TestSessionsBlob{}))) + (*TestStreamInput)(unsafe.Pointer(bp + 8 /* &sStr */)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), (bp + 8 /* &sStr */ + 16 /* &.nData */)) + (*TestStreamInput)(unsafe.Pointer(bp + 8 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + + if (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FnStream != 0 { + rc = sqlite3.Xsqlite3rebaser_rebase_strm(tls, p, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + }{testStreamInput})), bp+8, /* &sStr */ + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + }{testStreamOutput})), bp+32 /* &sOut */) + } else { + rc = sqlite3.Xsqlite3rebaser_rebase(tls, p, (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+8 /* &sStr */)).FaData, (bp + 32 /* &sOut */ + 8 /* &.n */), (bp + 32 /* &sOut */ /* &.p */)) + } + + if rc == SQLITE_OK { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fn)) + } + sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32 /* &sOut */)).Fp) + break + + } + } + + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + return TCL_OK +} + +type RebaseSubcmd = struct { + FzSub uintptr + FnArg int32 + _ [4]byte + FzMsg uintptr + FiSub int32 + _ [4]byte +} /* test_session.c:1177:10 */ + +var aSub1 = [4]RebaseSubcmd{ + {FzSub: ts + 11052 /* "configure" */, FnArg: 1, FzMsg: ts + 11062 /* "REBASE-BLOB" */}, // 0 + {FzSub: ts + 10601 /* "delete" */, FzMsg: ts + 489 /* "" */}, // 1 + {FzSub: ts + 11074 /* "rebase" */, FnArg: 1, FzMsg: ts + 10982 /* "CHANGESET" */}, // 2 + {}, +} /* test_session.c:1182:5 */ + +func test_rebaser_del(tls *libc.TLS, clientData uintptr) { /* test_session.c:1252:27: */ + var p uintptr = clientData + sqlite3.Xsqlite3rebaser_delete(tls, p) +} + +// tclcmd: sqlite3rebaser_create NAME +func test_sqlite3rebaser_create(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1260:26: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 + *(*uintptr)(unsafe.Pointer(bp /* pNew */)) = uintptr(0) + if objc != 2 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10397 /* "NAME" */) + return SQLITE_ERROR + } + + rc = sqlite3.Xsqlite3rebaser_create(tls, bp /* &pNew */) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + + tcl.XTcl_CreateObjCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_rebaser_cmd})), + *(*uintptr)(unsafe.Pointer(bp /* pNew */)), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_rebaser_del}))) + tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8))) + return TCL_OK +} + +// tclcmd: sqlite3rebaser_configure OP VALUE +func test_sqlite3session_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:1288:26: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 + // var iSub int32 at bp, 4 + + // var iVal int32 at bp+4, 4 + + if objc != 3 { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11081 /* "OP VALUE" */) + return SQLITE_ERROR + } + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, + *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub2)), int32(unsafe.Sizeof(ConfigOpt{})), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) + if rc != TCL_OK { + return rc + } + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+4 /* &iVal */) != 0 { + return TCL_ERROR + } + + rc = sqlite3.Xsqlite3session_config(tls, aSub2[*(*int32)(unsafe.Pointer(bp /* iSub */))].Fop, bp+4 /* &iVal */) + if rc != SQLITE_OK { + return test_session_error(tls, interp, rc, uintptr(0)) + } + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4 /* iVal */)))) + return TCL_OK +} + +type ConfigOpt = struct { + FzSub uintptr + Fop int32 + _ [4]byte +} /* test_session.c:1294:10 */ + +var aSub2 = [3]ConfigOpt{ + {FzSub: ts + 11090 /* "strm_size" */, Fop: SQLITE_SESSION_CONFIG_STRMSIZE}, + {FzSub: ts + 2619 /* "invalid" */}, + {}, +} /* test_session.c:1297:5 */ + +func TestSession_Init(tls *libc.TLS, interp uintptr) int32 { /* test_session.c:1324:5: */ + bp := tls.Alloc(160) + defer tls.Free(160) + + *(*[10]struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(bp /* aCmd */)) = [10]struct { + FzCmd uintptr + FxProc uintptr + }{ + {FzCmd: ts + 11100 /* "sqlite3session" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session}))}, + {FzCmd: ts + 11115 /* "sqlite3session_f..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session_foreach}))}, + {FzCmd: ts + 11138 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_invert}))}, + {FzCmd: ts + 11162 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_concat}))}, + {FzCmd: ts + 11186 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply}))}, + {FzCmd: ts + 11209 /* "sqlite3changeset..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply_v2}))}, + {FzCmd: ts + 11235, /* "sqlite3changeset..." */ + FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3changeset_apply_replace_all}))}, + {FzCmd: ts + 11270 /* "sql_exec_changes..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sql_exec_changeset}))}, + {FzCmd: ts + 11289 /* "sqlite3rebaser_c..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3rebaser_create}))}, + {FzCmd: ts + 11311 /* "sqlite3session_c..." */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + }{test_sqlite3session_config}))}, + } + var i int32 + + for i = 0; uint64(i) < (uint64(unsafe.Sizeof([10]struct { + FzCmd uintptr + FxProc uintptr + }{})) / uint64(unsafe.Sizeof(struct { + FzCmd uintptr + FxProc uintptr + }{}))); i++ { + var p uintptr = (bp /* &aCmd */ + uintptr(i)*16) + tcl.XTcl_CreateObjCommand(tls, interp, (*struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(p)).FzCmd, (*struct { + FzCmd uintptr + FxProc uintptr + })(unsafe.Pointer(p)).FxProc, uintptr(0), uintptr(0)) + } + + return TCL_OK +} + // 2014-09-08 // // The author disclaims copyright to this source code. In place of @@ -81951,7 +83516,7 @@ func incrblobHandle(tls *libc.TLS, instanceData ClientData, dir int32, hPtr uint } var IncrblobChannelType = Tcl_ChannelType{ - FtypeName: ts + 10524, /* "incrblob" */ // typeName + FtypeName: ts + 11333, /* "incrblob" */ // typeName Fversion: uintptr(0x2), // version FcloseProc: 0, // closeProc FinputProc: 0, // inputProc @@ -81989,7 +83554,7 @@ func createIncrblobChannel(tls *libc.TLS, interp uintptr, pDb uintptr, zDb uintp (*IncrblobChannel)(unsafe.Pointer(p)).FiSeek = 0 (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob = *(*uintptr)(unsafe.Pointer(bp + 16 /* pBlob */)) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+24 /* &zChannel[0] */, ts+10533 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+24 /* &zChannel[0] */, ts+11342 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel = tcl.XTcl_CreateChannel(tls, uintptr(unsafe.Pointer(&IncrblobChannelType)), bp+24 /* &zChannel[0] */, p, flags) tcl.XTcl_RegisterChannel(tls, interp, (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel) @@ -82326,7 +83891,7 @@ func DbProfileHandler(tls *libc.TLS, cd uintptr, zSql uintptr, tm1 sqlite_uint64 // var zTm [100]int8 at bp+16, 100 - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([100]int8{})) - uint64(1))), bp+16 /* &zTm[0] */, ts+10545 /* "%lld" */, libc.VaList(bp, tm1)) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([100]int8{})) - uint64(1))), bp+16 /* &zTm[0] */, ts+11354 /* "%lld" */, libc.VaList(bp, tm1)) tcl.XTcl_DStringInit(tls, bp+120 /* &str */) tcl.XTcl_DStringAppend(tls, bp+120 /* &str */, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, -1) tcl.XTcl_DStringAppendElement(tls, bp+120 /* &str */, zSql) @@ -82394,9 +83959,9 @@ func setTestUnlockNotifyVars(tls *libc.TLS, interp uintptr, iArg int32, nArg int // var zBuf [64]int8 at bp+32, 64 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+32 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp, iArg)) - tcl.XTcl_SetVar2(tls, interp, ts+10550 /* "sqlite_unlock_no..." */, uintptr(0), bp+32 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+11359 /* "sqlite_unlock_no..." */, uintptr(0), bp+32 /* &zBuf[0] */, TCL_GLOBAL_ONLY) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+32 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+16, nArg)) - tcl.XTcl_SetVar2(tls, interp, ts+10575 /* "sqlite_unlock_no..." */, uintptr(0), bp+32 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+11384 /* "sqlite_unlock_no..." */, uintptr(0), bp+32 /* &zBuf[0] */, TCL_GLOBAL_ONLY) } func DbUnlockNotify(tls *libc.TLS, apArg uintptr, nArg int32) { /* tclsqlite.c:799:13: */ @@ -82438,7 +84003,7 @@ func DbPreUpdateHandler(tls *libc.TLS, p uintptr, db uintptr, op int32, zDb uint } } -var azStr = [3]uintptr{ts + 10605 /* "DELETE" */, ts + 10612 /* "INSERT" */, ts + 10619 /* "UPDATE" */} /* tclsqlite.c:828:21 */ +var azStr = [3]uintptr{ts + 10786 /* "DELETE" */, ts + 10772 /* "INSERT" */, ts + 10779 /* "UPDATE" */} /* tclsqlite.c:828:21 */ func DbUpdateHandler(tls *libc.TLS, p uintptr, op int32, zDb uintptr, zTbl uintptr, rowid sqlite_int64) { /* tclsqlite.c:849:13: */ var pDb uintptr = p @@ -82459,7 +84024,7 @@ func DbUpdateHandler(tls *libc.TLS, p uintptr, op int32, zDb uintptr, zTbl uintp } } -var azStr1 = [3]uintptr{ts + 10605 /* "DELETE" */, ts + 10612 /* "INSERT" */, ts + 10619 /* "UPDATE" */} /* tclsqlite.c:858:21 */ +var azStr1 = [3]uintptr{ts + 10786 /* "DELETE" */, ts + 10772 /* "INSERT" */, ts + 10779 /* "UPDATE" */} /* tclsqlite.c:858:21 */ func tclCollateNeeded(tls *libc.TLS, pCtx uintptr, db uintptr, enc int32, zName uintptr) { /* tclsqlite.c:877:13: */ var pDb uintptr = pCtx @@ -82718,109 +84283,109 @@ func auth_callback(tls *libc.TLS, pArg uintptr, code int32, zArg1 uintptr, zArg2 // authorized. switch code { case SQLITE_COPY: - zCode = ts + 10626 /* "SQLITE_COPY" */ + zCode = ts + 11414 /* "SQLITE_COPY" */ break case SQLITE_CREATE_INDEX: - zCode = ts + 10638 /* "SQLITE_CREATE_IN..." */ + zCode = ts + 11426 /* "SQLITE_CREATE_IN..." */ break case SQLITE_CREATE_TABLE: - zCode = ts + 10658 /* "SQLITE_CREATE_TA..." */ + zCode = ts + 11446 /* "SQLITE_CREATE_TA..." */ break case SQLITE_CREATE_TEMP_INDEX: - zCode = ts + 10678 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11466 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_TABLE: - zCode = ts + 10703 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11491 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_TRIGGER: - zCode = ts + 10728 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11516 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TEMP_VIEW: - zCode = ts + 10755 /* "SQLITE_CREATE_TE..." */ + zCode = ts + 11543 /* "SQLITE_CREATE_TE..." */ break case SQLITE_CREATE_TRIGGER: - zCode = ts + 10779 /* "SQLITE_CREATE_TR..." */ + zCode = ts + 11567 /* "SQLITE_CREATE_TR..." */ break case SQLITE_CREATE_VIEW: - zCode = ts + 10801 /* "SQLITE_CREATE_VI..." */ + zCode = ts + 11589 /* "SQLITE_CREATE_VI..." */ break case SQLITE_DELETE: - zCode = ts + 10820 /* "SQLITE_DELETE" */ + zCode = ts + 11608 /* "SQLITE_DELETE" */ break case SQLITE_DROP_INDEX: - zCode = ts + 10834 /* "SQLITE_DROP_INDE..." */ + zCode = ts + 11622 /* "SQLITE_DROP_INDE..." */ break case SQLITE_DROP_TABLE: - zCode = ts + 10852 /* "SQLITE_DROP_TABL..." */ + zCode = ts + 11640 /* "SQLITE_DROP_TABL..." */ break case SQLITE_DROP_TEMP_INDEX: - zCode = ts + 10870 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11658 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_TABLE: - zCode = ts + 10893 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11681 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_TRIGGER: - zCode = ts + 10916 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11704 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TEMP_VIEW: - zCode = ts + 10941 /* "SQLITE_DROP_TEMP..." */ + zCode = ts + 11729 /* "SQLITE_DROP_TEMP..." */ break case SQLITE_DROP_TRIGGER: - zCode = ts + 10963 /* "SQLITE_DROP_TRIG..." */ + zCode = ts + 11751 /* "SQLITE_DROP_TRIG..." */ break case SQLITE_DROP_VIEW: - zCode = ts + 10983 /* "SQLITE_DROP_VIEW" */ + zCode = ts + 11771 /* "SQLITE_DROP_VIEW" */ break case SQLITE_INSERT: - zCode = ts + 11000 /* "SQLITE_INSERT" */ + zCode = ts + 11788 /* "SQLITE_INSERT" */ break case SQLITE_PRAGMA: - zCode = ts + 11014 /* "SQLITE_PRAGMA" */ + zCode = ts + 11802 /* "SQLITE_PRAGMA" */ break case SQLITE_READ: - zCode = ts + 11028 /* "SQLITE_READ" */ + zCode = ts + 11816 /* "SQLITE_READ" */ break case SQLITE_SELECT: - zCode = ts + 11040 /* "SQLITE_SELECT" */ + zCode = ts + 11828 /* "SQLITE_SELECT" */ break case SQLITE_TRANSACTION: - zCode = ts + 11054 /* "SQLITE_TRANSACTI..." */ + zCode = ts + 11842 /* "SQLITE_TRANSACTI..." */ break case SQLITE_UPDATE: - zCode = ts + 11073 /* "SQLITE_UPDATE" */ + zCode = ts + 11861 /* "SQLITE_UPDATE" */ break case SQLITE_ATTACH: - zCode = ts + 11087 /* "SQLITE_ATTACH" */ + zCode = ts + 11875 /* "SQLITE_ATTACH" */ break case SQLITE_DETACH: - zCode = ts + 11101 /* "SQLITE_DETACH" */ + zCode = ts + 11889 /* "SQLITE_DETACH" */ break case SQLITE_ALTER_TABLE: - zCode = ts + 11115 /* "SQLITE_ALTER_TAB..." */ + zCode = ts + 11903 /* "SQLITE_ALTER_TAB..." */ break case SQLITE_REINDEX: - zCode = ts + 11134 /* "SQLITE_REINDEX" */ + zCode = ts + 11922 /* "SQLITE_REINDEX" */ break case SQLITE_ANALYZE: - zCode = ts + 11149 /* "SQLITE_ANALYZE" */ + zCode = ts + 11937 /* "SQLITE_ANALYZE" */ break case SQLITE_CREATE_VTABLE: - zCode = ts + 11164 /* "SQLITE_CREATE_VT..." */ + zCode = ts + 11952 /* "SQLITE_CREATE_VT..." */ break case SQLITE_DROP_VTABLE: - zCode = ts + 11185 /* "SQLITE_DROP_VTAB..." */ + zCode = ts + 11973 /* "SQLITE_DROP_VTAB..." */ break case SQLITE_FUNCTION: - zCode = ts + 11204 /* "SQLITE_FUNCTION" */ + zCode = ts + 11992 /* "SQLITE_FUNCTION" */ break case SQLITE_SAVEPOINT: - zCode = ts + 11220 /* "SQLITE_SAVEPOINT" */ + zCode = ts + 12008 /* "SQLITE_SAVEPOINT" */ break case SQLITE_RECURSIVE: - zCode = ts + 11237 /* "SQLITE_RECURSIVE" */ + zCode = ts + 12025 /* "SQLITE_RECURSIVE" */ break default: - zCode = ts + 11254 /* "????" */ + zCode = ts + 12042 /* "????" */ break } tcl.XTcl_DStringInit(tls, bp /* &str */) @@ -82855,13 +84420,13 @@ func auth_callback(tls *libc.TLS, pArg uintptr, code int32, zArg1 uintptr, zArg2 if rc == TCL_OK { zReply = tcl.XTcl_GetStringResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp) } else { - zReply = ts + 11259 /* "SQLITE_DENY" */ + zReply = ts + 12047 /* "SQLITE_DENY" */ } if libc.Xstrcmp(tls, zReply, ts+1988 /* "SQLITE_OK" */) == 0 { rc = SQLITE_OK - } else if libc.Xstrcmp(tls, zReply, ts+11259 /* "SQLITE_DENY" */) == 0 { + } else if libc.Xstrcmp(tls, zReply, ts+12047 /* "SQLITE_DENY" */) == 0 { rc = SQLITE_DENY - } else if libc.Xstrcmp(tls, zReply, ts+11271 /* "SQLITE_IGNORE" */) == 0 { + } else if libc.Xstrcmp(tls, zReply, ts+12059 /* "SQLITE_IGNORE" */) == 0 { rc = SQLITE_IGNORE } else { rc = 999 @@ -82958,9 +84523,9 @@ func DbTransPostCmd(tls *libc.TLS, data uintptr, interp uintptr, result int32) i } var azEnd = [4]uintptr{ - ts + 11285, /* "RELEASE _tcl_tra..." */ // rc==TCL_ERROR, nTransaction!=0 - ts + 11310, /* "COMMIT" */ // rc!=TCL_ERROR, nTransaction==0 - ts + 11317, /* "ROLLBACK TO _tcl..." */ + ts + 12073, /* "RELEASE _tcl_tra..." */ // rc==TCL_ERROR, nTransaction!=0 + ts + 12098, /* "COMMIT" */ // rc!=TCL_ERROR, nTransaction==0 + ts + 12105, /* "ROLLBACK TO _tcl..." */ ts + 7270, /* "ROLLBACK" */ // rc==TCL_ERROR, nTransaction==0 } /* tclsqlite.c:1216:21 */ @@ -83849,7 +85414,7 @@ func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintpt return TCL_ERROR __1: ; - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&DB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+11373 /* "option" */, 0, bp+1416 /* &choice */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&DB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+12161 /* "option" */, 0, bp+1416 /* &choice */) != 0) { goto __2 } return TCL_ERROR @@ -84207,7 +85772,7 @@ __4: if !(objc > 3) { goto __45 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __46 __45: @@ -84278,7 +85843,7 @@ __55: zDestFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) goto __58 __57: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11391 /* "?DATABASE? FILEN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12179 /* "?DATABASE? FILEN..." */) return TCL_ERROR __58: ; @@ -84289,7 +85854,7 @@ __56: if !(rc != SQLITE_OK) { goto __59 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+11411, /* "cannot open targ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+12199, /* "cannot open targ..." */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pDest */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pDest */))) return TCL_ERROR @@ -84299,7 +85864,7 @@ __59: if !(pBackup == uintptr(0)) { goto __60 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+11441, /* "backup failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+12229, /* "backup failed: " */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pDest */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pDest */))) return TCL_ERROR @@ -84319,7 +85884,7 @@ __62: rc = TCL_OK goto __64 __63: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+88, ts+11441, /* "backup failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+88, ts+12229, /* "backup failed: " */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pDest */))), uintptr(0))) rc = TCL_ERROR __64: @@ -84348,7 +85913,7 @@ __6: if !(objc > 3) { goto __65 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __66 __65: @@ -84394,7 +85959,7 @@ __7: if !(objc > 3) { goto __73 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11457 /* "CALLBACK" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12245 /* "CALLBACK" */) return TCL_ERROR goto __74 __73: @@ -84454,18 +86019,18 @@ __8: if !(objc <= 2) { goto __83 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11466 /* "cache option ?ar..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+12254 /* "cache option ?ar..." */) return TCL_ERROR __83: ; subCmd = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)) - if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 'f') && (libc.Xstrcmp(tls, subCmd, ts+11485 /* "flush" */) == 0)) { + if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 'f') && (libc.Xstrcmp(tls, subCmd, ts+12273 /* "flush" */) == 0)) { goto __84 } if !(objc != 3) { goto __86 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11485 /* "flush" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12273 /* "flush" */) return TCL_ERROR goto __87 __86: @@ -84474,21 +86039,21 @@ __87: ; goto __85 __84: - if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 's') && (libc.Xstrcmp(tls, subCmd, ts+11491 /* "size" */) == 0)) { + if !((int32(*(*int8)(unsafe.Pointer(subCmd))) == 's') && (libc.Xstrcmp(tls, subCmd, ts+12279 /* "size" */) == 0)) { goto __88 } if !(objc != 4) { goto __90 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11496 /* "size n" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12284 /* "size n" */) return TCL_ERROR goto __91 __90: if !(TCL_ERROR == tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1440 /* &n */)) { goto __92 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+168, ts+11503, /* "cannot convert \"" */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), uintptr(0)), ts+11520 /* "\" to integer" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+168, ts+12291, /* "cannot convert \"" */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), uintptr(0)), ts+12308 /* "\" to integer" */, uintptr(0))) return TCL_ERROR goto __93 __92: @@ -84514,8 +86079,8 @@ __91: ; goto __89 __88: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+208, ts+11533, /* "bad option \"" */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)), ts+11546, /* "\": must be flush..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+208, ts+12321, /* "bad option \"" */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)), ts+12334, /* "\": must be flush..." */ uintptr(0))) return TCL_ERROR __89: @@ -84556,7 +86121,7 @@ __11: if !(objc != 4) { goto __98 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11571 /* "NAME SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12359 /* "NAME SCRIPT" */) return TCL_ERROR __98: ; @@ -84594,7 +86159,7 @@ __12: if !(objc != 3) { goto __101 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11583 /* "SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+10650 /* "SCRIPT" */) return TCL_ERROR __101: ; @@ -84636,7 +86201,7 @@ __13: if !(objc > 3) { goto __107 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __108 __107: @@ -84712,7 +86277,7 @@ __15: if !(objc > 4) { goto __118 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11590 /* "?OPTION? ?BOOLEA..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12371 /* "?OPTION? ?BOOLEA..." */) return TCL_ERROR __118: ; @@ -84772,8 +86337,8 @@ __127: if !(uint64(ii) >= (uint64(unsafe.Sizeof(aDbConfig)) / uint64(unsafe.Sizeof(DbConfigChoices{})))) { goto __129 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+296, ts+11609 /* "unknown config o..." */, zOpt, - ts+11634 /* "\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+296, ts+12390 /* "unknown config o..." */, zOpt, + ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __129: ; @@ -84817,7 +86382,7 @@ __16: // The input file goto __132 } tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, - ts+11636 /* "CONFLICT-ALGORIT..." */) + ts+12417 /* "CONFLICT-ALGORIT..." */) return TCL_ERROR __132: ; @@ -84827,7 +86392,7 @@ __132: zSep = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 5*8)), uintptr(0)) goto __134 __133: - zSep = ts + 11698 /* "\t" */ + zSep = ts + 12479 /* "\t" */ __134: ; if !(objc >= 7) { @@ -84847,25 +86412,25 @@ __136: if !(nSep == 0) { goto __137 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+360, ts+11700, /* "Error: non-null ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+360, ts+12481, /* "Error: non-null ..." */ uintptr(0))) return TCL_ERROR __137: ; - if !(((((libc.Xstrcmp(tls, zConflict, ts+11744 /* "rollback" */) != 0) && (libc.Xstrcmp(tls, zConflict, ts+11753 /* "abort" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11759 /* "fail" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11764 /* "ignore" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+11771 /* "replace" */) != 0)) { + if !(((((libc.Xstrcmp(tls, zConflict, ts+12525 /* "rollback" */) != 0) && (libc.Xstrcmp(tls, zConflict, ts+12534 /* "abort" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12540 /* "fail" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12545 /* "ignore" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12552 /* "replace" */) != 0)) { goto __138 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+384, ts+11779 /* "Error: \"" */, zConflict, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+384, ts+12560 /* "Error: \"" */, zConflict, - ts+11788 /* "\", conflict-algo..." */, uintptr(0))) + ts+12569 /* "\", conflict-algo..." */, uintptr(0))) return TCL_ERROR __138: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+11868 /* "SELECT * FROM '%..." */, libc.VaList(bp+424, zTable)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+12649 /* "SELECT * FROM '%..." */, libc.VaList(bp+424, zTable)) if !(zSql == uintptr(0)) { goto __139 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+440, ts+11887 /* "Error: no such t..." */, zTable, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+440, ts+12668 /* "Error: no such t..." */, zTable, uintptr(0))) return TCL_ERROR __139: ; @@ -84875,7 +86440,7 @@ __139: if !(rc != 0) { goto __140 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+472, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+472, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) nCol = 0 goto __141 __140: @@ -84893,11 +86458,11 @@ __142: if !(zSql == uintptr(0)) { goto __143 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+504, ts+11918 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+504, ts+12699 /* "Error: can't mal..." */, uintptr(0))) return TCL_ERROR __143: ; - sqlite3.Xsqlite3_snprintf(tls, (nByte + 50), zSql, ts+11940, /* "INSERT OR %q INT..." */ + sqlite3.Xsqlite3_snprintf(tls, (nByte + 50), zSql, ts+12721, /* "INSERT OR %q INT..." */ libc.VaList(bp+528, zConflict, zTable)) j = strlen30(tls, zSql) i = 1 @@ -84921,7 +86486,7 @@ __146: if !(rc != 0) { goto __147 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+552, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+552, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1464 /* pStmt */))) return TCL_ERROR __147: @@ -84930,7 +86495,7 @@ __147: if !(in == uintptr(0)) { goto __148 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+584, ts+11972 /* "Error: cannot op..." */, zFile, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+584, ts+12753 /* "Error: cannot op..." */, zFile, uintptr(0))) sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1464 /* pStmt */))) return TCL_ERROR __148: @@ -84939,13 +86504,13 @@ __148: if !(azCol == uintptr(0)) { goto __149 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+616, ts+11918 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+616, ts+12699 /* "Error: can't mal..." */, uintptr(0))) libc.Xfclose(tls, in) return TCL_ERROR __149: ; - sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+11998 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) - zCommit1 = ts + 11310 /* "COMMIT" */ + sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+12779 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + zCommit1 = ts + 12098 /* "COMMIT" */ __150: if !((libc.AssignUintptr(&zLine, local_getline(tls, uintptr(0), in))) != uintptr(0)) { goto __151 @@ -84988,7 +86553,7 @@ __154: goto __158 } sqlite3.Xsqlite3_snprintf(tls, nErr, zErr, - ts+12004, /* "Error: %s line %..." */ + ts+12785, /* "Error: %s line %..." */ libc.VaList(bp+640, zFile, lineno, nCol, (i+1))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+680, zErr, uintptr(0))) libc.Xfree(tls, zErr) @@ -85027,7 +86592,7 @@ __161: if !(rc != SQLITE_OK) { goto __164 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+704, ts+11910 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+704, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) zCommit1 = ts + 7270 /* "ROLLBACK" */ goto __151 __164: @@ -85051,7 +86616,7 @@ __151: __165: // failure, append lineno where failed sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+1472 /* &zLineNum[0] */, ts+1238 /* "%d" */, libc.VaList(bp+736, lineno)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+752, ts+12064 /* ", failed while p..." */, bp+1472, /* &zLineNum[0] */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+752, ts+12845 /* ", failed while p..." */, bp+1472, /* &zLineNum[0] */ uintptr(0))) rc = TCL_ERROR __166: @@ -85070,7 +86635,7 @@ __17: if !(objc < 3) { goto __167 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12097 /* "?DATABASE? VALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12878 /* "?DATABASE? VALUE" */) rc = TCL_ERROR goto __3 __167: @@ -85081,7 +86646,7 @@ __168: goto __170 } z1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i1)*8))) - if !((libc.Xstrcmp(tls, z1, ts+12114 /* "-maxsize" */) == 0) && (i1 < (objc - 2))) { + if !((libc.Xstrcmp(tls, z1, ts+12895 /* "-maxsize" */) == 0) && (i1 < (objc - 2))) { goto __171 } rc = tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1552 /* &mxSize */) @@ -85094,7 +86659,7 @@ __172: goto __169 __171: ; - if !((libc.Xstrcmp(tls, z1, ts+12123 /* "-readonly" */) == 0) && (i1 < (objc - 2))) { + if !((libc.Xstrcmp(tls, z1, ts+12904 /* "-readonly" */) == 0) && (i1 < (objc - 2))) { goto __173 } rc = tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1560 /* &isReadonly */) @@ -85114,7 +86679,7 @@ __173: goto __169 __175: ; - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+784, ts+12133 /* "unknown option: " */, z1, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+784, ts+12914 /* "unknown option: " */, z1, uintptr(0))) rc = TCL_ERROR goto deserialize_error goto __169 @@ -85153,7 +86718,7 @@ __180: if !(xrc != 0) { goto __181 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+840, ts+12150 /* "unable to set ME..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+840, ts+12931 /* "unable to set ME..." */, uintptr(0))) rc = TCL_ERROR __181: ; @@ -85173,7 +86738,7 @@ deserialize_error: // Turn the extension loading feature on or off. It if off by // default. __18: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+12178, /* "extension loadin..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+12959, /* "extension loadin..." */ uintptr(0))) return TCL_ERROR @@ -85259,13 +86824,13 @@ __192: if !(((objc > 3) && ((libc.AssignUintptr(&zOpt1, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))))) != uintptr(0))) && (int32(*(*int8)(unsafe.Pointer(zOpt1))) == '-')) { goto __193 } - if !(libc.Xstrcmp(tls, zOpt1, ts+12226 /* "-withoutnulls" */) == 0) { + if !(libc.Xstrcmp(tls, zOpt1, ts+13007 /* "-withoutnulls" */) == 0) { goto __194 } evalFlags = evalFlags | (SQLITE_EVAL_WITHOUTNULLS) goto __195 __194: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+888, ts+12240 /* "unknown option: ..." */, zOpt1, ts+11634 /* "\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+888, ts+13021 /* "unknown option: ..." */, zOpt1, ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __195: ; @@ -85278,7 +86843,7 @@ __193: goto __196 } tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, - ts+12258 /* "?OPTIONS? SQL ?A..." */) + ts+13039 /* "?OPTIONS? SQL ?A..." */) return TCL_ERROR __196: ; @@ -85375,7 +86940,7 @@ __23: if !(objc < 4) { goto __210 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12294 /* "NAME ?SWITCHES? ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13075 /* "NAME ?SWITCHES? ..." */) return TCL_ERROR __210: ; @@ -85386,13 +86951,13 @@ __211: } z2 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8))) n1 = strlen30(tls, z2) - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12317 /* "-argcount" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13098 /* "-argcount" */, uint64(n1)) == 0)) { goto __214 } if !(i3 == (objc - 2)) { goto __216 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+928, ts+12327 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+928, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __216: ; @@ -85405,7 +86970,7 @@ __217: if !(*(*int32)(unsafe.Pointer(bp + 1704 /* nArg */)) < 0) { goto __218 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+960, ts+12357, /* "number of argume..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+960, ts+13138, /* "number of argume..." */ uintptr(0))) return TCL_ERROR __218: @@ -85413,38 +86978,38 @@ __218: i3++ goto __215 __214: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12398 /* "-deterministic" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13179 /* "-deterministic" */, uint64(n1)) == 0)) { goto __219 } flags1 = flags1 | (SQLITE_DETERMINISTIC) goto __220 __219: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12413 /* "-directonly" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13194 /* "-directonly" */, uint64(n1)) == 0)) { goto __221 } flags1 = flags1 | (SQLITE_DIRECTONLY) goto __222 __221: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12425 /* "-innocuous" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13206 /* "-innocuous" */, uint64(n1)) == 0)) { goto __223 } flags1 = flags1 | (SQLITE_INNOCUOUS) goto __224 __223: - if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+12436 /* "-returntype" */, uint64(n1)) == 0)) { + if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13217 /* "-returntype" */, uint64(n1)) == 0)) { goto __225 } - *(*[6]uintptr)(unsafe.Pointer(bp + 1712 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 12448 /* "real" */, ts + 12453 /* "text" */, ts + 12458 /* "blob" */, ts + 12463 /* "any" */, uintptr(0)} + *(*[6]uintptr)(unsafe.Pointer(bp + 1712 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 13229 /* "real" */, ts + 13234 /* "text" */, ts + 13239 /* "blob" */, ts + 13244 /* "any" */, uintptr(0)} if !(i3 == (objc - 2)) { goto __227 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+984, ts+12327 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+984, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __227: ; i3++ - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8)), bp+1712 /* &azType[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+12467 /* "type" */, 0, bp+1760 /* &eType */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8)), bp+1712 /* &azType[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+13248 /* "type" */, 0, bp+1760 /* &eType */) != 0) { goto __228 } return TCL_ERROR @@ -85453,9 +87018,9 @@ __228: *(*int32)(unsafe.Pointer(bp + 1760 /* eType */))++ goto __226 __225: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1016, ts+11533 /* "bad option \"" */, z2, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1016, ts+12321 /* "bad option \"" */, z2, - ts+12472 /* "\": must be -argc..." */, uintptr(0))) + ts+13253 /* "\": must be -argc..." */, uintptr(0))) return TCL_ERROR __226: ; @@ -85528,7 +87093,7 @@ __24: zDb = ts + 85 /* "main" */ // Check for the -readonly option - if !((objc > 3) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), ts+12123 /* "-readonly" */) == 0)) { + if !((objc > 3) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), ts+12904 /* "-readonly" */) == 0)) { goto __236 } isReadonly1 = 1 @@ -85538,7 +87103,7 @@ __236: if !((objc != (5 + isReadonly1)) && (objc != (6 + isReadonly1))) { goto __237 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12550 /* "?-readonly? ?DB?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13331 /* "?-readonly? ?DB?..." */) return TCL_ERROR __237: ; @@ -85580,7 +87145,7 @@ __26: if !((objc != 2) && (objc != 3)) { goto __240 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12586 /* "NULLVALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13367 /* "NULLVALUE" */) return TCL_ERROR __240: ; @@ -85685,7 +87250,7 @@ __256: ; goto __250 __249: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12596 /* "N CALLBACK" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13377 /* "N CALLBACK" */) return TCL_ERROR __250: ; @@ -85702,7 +87267,7 @@ __29: if !(objc > 3) { goto __257 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __258 __257: @@ -85759,7 +87324,7 @@ __30: if !(objc != 3) { goto __267 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12607 /* "KEY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13388 /* "KEY" */) return TCL_ERROR __267: ; @@ -85786,7 +87351,7 @@ __268: zSrcFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) goto __271 __270: - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11391 /* "?DATABASE? FILEN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12179 /* "?DATABASE? FILEN..." */) return TCL_ERROR __271: ; @@ -85797,7 +87362,7 @@ __269: if !(rc != SQLITE_OK) { goto __272 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1104, ts+12611, /* "cannot open sour..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1104, ts+13392, /* "cannot open sour..." */ sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1792 /* pSrc */))), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1792 /* pSrc */))) return TCL_ERROR @@ -85807,7 +87372,7 @@ __272: if !(pBackup1 == uintptr(0)) { goto __273 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1136, ts+12641, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1136, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1792 /* pSrc */))) return TCL_ERROR @@ -85843,12 +87408,12 @@ __278: if !((rc == SQLITE_BUSY) || (rc == SQLITE_LOCKED)) { goto __280 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1168, ts+12658, /* "restore failed: ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1168, ts+13439, /* "restore failed: ..." */ uintptr(0))) rc = TCL_ERROR goto __281 __280: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1192, ts+12641, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1192, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) rc = TCL_ERROR __281: @@ -85871,7 +87436,7 @@ __32: if !((objc != 2) && (objc != 3)) { goto __282 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12695 /* "?DATABASE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13476 /* "?DATABASE?" */) rc = TCL_ERROR goto __283 __282: @@ -85905,7 +87470,7 @@ __33: if !(objc != 3) { goto __287 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12706 /* "(step|sort|autoi..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13487 /* "(step|sort|autoi..." */) return TCL_ERROR __287: ; @@ -85916,26 +87481,26 @@ __287: v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnStep goto __289 __288: - if !(libc.Xstrcmp(tls, zOp, ts+12728 /* "sort" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13509 /* "sort" */) == 0) { goto __290 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnSort goto __291 __290: - if !(libc.Xstrcmp(tls, zOp, ts+12733 /* "autoindex" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13514 /* "autoindex" */) == 0) { goto __292 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnIndex goto __293 __292: - if !(libc.Xstrcmp(tls, zOp, ts+12743 /* "vmstep" */) == 0) { + if !(libc.Xstrcmp(tls, zOp, ts+13524 /* "vmstep" */) == 0) { goto __294 } v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnVMStep goto __295 __294: tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+1224, ts+12750, /* "bad argument: sh..." */ + libc.VaList(bp+1224, ts+13531, /* "bad argument: sh..." */ uintptr(0))) return TCL_ERROR __295: @@ -85956,7 +87521,7 @@ __34: if !(objc != 3) { goto __296 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12806 /* "MILLISECONDS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13587 /* "MILLISECONDS" */) return TCL_ERROR __296: ; @@ -85994,7 +87559,7 @@ __36: if !(objc > 3) { goto __299 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11380 /* "?CALLBACK?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12168 /* "?CALLBACK?" */) return TCL_ERROR goto __300 __299: @@ -86053,7 +87618,7 @@ __37: if !(objc > 4) { goto __309 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12819 /* "?CALLBACK? ?MASK..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13600 /* "?CALLBACK? ?MASK..." */) return TCL_ERROR goto __310 __309: @@ -86089,7 +87654,7 @@ __317: return TCL_ERROR __320: ; - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1824 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+12837 /* "trace type" */, 0, bp+1832 /* &ttype */) != TCL_OK) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1824 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+13618 /* "trace type" */, 0, bp+1832 /* &ttype */) != TCL_OK) { goto __321 } pError = tcl.XTcl_DuplicateObj(tls, tcl.XTcl_GetObjResult(tls, interp)) @@ -86223,11 +87788,11 @@ __310: // This command was inspired by Dave Thomas's talk on Ruby at the // 2005 O'Reilly Open Source Convention (OSCON). __38: - zBegin = ts + 12848 /* "SAVEPOINT _tcl_t..." */ + zBegin = ts + 13629 /* "SAVEPOINT _tcl_t..." */ if !((objc != 3) && (objc != 4)) { goto __343 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12875 /* "[TYPE] SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13656 /* "[TYPE] SCRIPT" */) return TCL_ERROR __343: ; @@ -86235,7 +87800,7 @@ __343: if !(((*SqliteDb)(unsafe.Pointer(pDb)).FnTransaction == 0) && (objc == 4)) { goto __344 } - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&TTYPE_strs1)), int32(unsafe.Sizeof(uintptr(0))), ts+12889 /* "transaction type" */, 0, bp+1848 /* &ttype1 */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&TTYPE_strs1)), int32(unsafe.Sizeof(uintptr(0))), ts+13670 /* "transaction type" */, 0, bp+1848 /* &ttype1 */) != 0) { goto __345 } return TCL_ERROR @@ -86254,10 +87819,10 @@ __347: /* no-op */ ; goto __346 __348: - zBegin = ts + 12906 /* "BEGIN EXCLUSIVE" */ + zBegin = ts + 13687 /* "BEGIN EXCLUSIVE" */ goto __346 __349: - zBegin = ts + 12922 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 13703 /* "BEGIN IMMEDIATE" */ goto __346 __346: ; @@ -86302,7 +87867,7 @@ __39: if !((objc != 2) && (objc != 3)) { goto __353 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) rc = TCL_ERROR goto __354 __353: @@ -86364,7 +87929,7 @@ __40: if !(objc < 3) { goto __362 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12947 /* "SUB-COMMAND ?ARG..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13728 /* "SUB-COMMAND ?ARG..." */) __362: ; if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&azSub)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+1864 /* &iSub */) != 0) { @@ -86399,7 +87964,7 @@ __366: if !(objc > 4) { goto __370 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12966 /* "hook ?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13747 /* "hook ?SCRIPT?" */) return TCL_ERROR __370: ; @@ -86428,7 +87993,7 @@ __369: if !(objc != 4) { goto __372 } - tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+12980 /* "INDEX" */) + tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+13761 /* "INDEX" */) return TCL_ERROR __372: ; @@ -86496,7 +88061,7 @@ __380: if !(objc > 3) { goto __381 } - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) return TCL_ERROR __381: ; @@ -86523,7 +88088,7 @@ __382: // $db version -use-legacy-prepare BOOLEAN // // Turn the use of legacy sqlite3_prepare() on or off. - if !((libc.Xstrcmp(tls, zArg, ts+12986 /* "-use-legacy-prep..." */) == 0) && ((i5 + 1) < objc)) { + if !((libc.Xstrcmp(tls, zArg, ts+13767 /* "-use-legacy-prep..." */) == 0) && ((i5 + 1) < objc)) { goto __385 } i5++ @@ -86540,10 +88105,10 @@ __385: // // Return a string which is a hex encoding of the pointer to the // most recent sqlite3_stmt in the statement cache. - if !(libc.Xstrcmp(tls, zArg, ts+13006 /* "-last-stmt-ptr" */) == 0) { + if !(libc.Xstrcmp(tls, zArg, ts+13787 /* "-last-stmt-ptr" */) == 0) { goto __388 } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1880 /* &zBuf[0] */, ts+13021, /* "%p" */ + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1880 /* &zBuf[0] */, ts+13802, /* "%p" */ libc.VaList(bp+1368, func() uintptr { if (*SqliteDb)(unsafe.Pointer(pDb)).FstmtList != 0 { return (*SqlPreparedStmt)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FstmtList)).FpStmt @@ -86554,7 +88119,7 @@ __385: goto __389 __388: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1384, ts+13024 /* "unknown argument..." */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1384, ts+13805 /* "unknown argument..." */, zArg, uintptr(0))) return TCL_ERROR __389: ; @@ -86587,46 +88152,46 @@ type DbConfigChoices = struct { } /* tclsqlite.c:2340:18 */ var DB_strs = [42]uintptr{ - ts + 13043 /* "authorizer" */, ts + 13054 /* "backup" */, ts + 13061, /* "bind_fallback" */ - ts + 13075 /* "busy" */, ts + 13080 /* "cache" */, ts + 13086, /* "changes" */ - ts + 10125 /* "close" */, ts + 13094 /* "collate" */, ts + 13102, /* "collation_needed" */ - ts + 13119 /* "commit_hook" */, ts + 13131 /* "complete" */, ts + 13140, /* "config" */ - ts + 13147 /* "copy" */, ts + 13152 /* "deserialize" */, ts + 13164, /* "enable_load_exte..." */ - ts + 13186 /* "errorcode" */, ts + 4757 /* "eval" */, ts + 13196, /* "exists" */ - ts + 13203 /* "function" */, ts + 10524 /* "incrblob" */, ts + 13212, /* "interrupt" */ - ts + 13222 /* "last_insert_rowi..." */, ts + 13240 /* "nullvalue" */, ts + 13250, /* "onecolumn" */ - ts + 13260 /* "preupdate" */, ts + 13270 /* "profile" */, ts + 10199, /* "progress" */ - ts + 13278 /* "rekey" */, ts + 13284 /* "restore" */, ts + 13292, /* "rollback_hook" */ - ts + 13306 /* "serialize" */, ts + 13316 /* "status" */, ts + 13323, /* "timeout" */ - ts + 13331 /* "total_changes" */, ts + 13345 /* "trace" */, ts + 13351, /* "trace_v2" */ - ts + 13360 /* "transaction" */, ts + 13372 /* "unlock_notify" */, ts + 13386, /* "update_hook" */ - ts + 13398 /* "version" */, ts + 13406 /* "wal_hook" */, uintptr(0), + ts + 13824 /* "authorizer" */, ts + 13835 /* "backup" */, ts + 13842, /* "bind_fallback" */ + ts + 13856 /* "busy" */, ts + 13861 /* "cache" */, ts + 13867, /* "changes" */ + ts + 10125 /* "close" */, ts + 13875 /* "collate" */, ts + 13883, /* "collation_needed" */ + ts + 13900 /* "commit_hook" */, ts + 13912 /* "complete" */, ts + 13921, /* "config" */ + ts + 13928 /* "copy" */, ts + 13933 /* "deserialize" */, ts + 13945, /* "enable_load_exte..." */ + ts + 13967 /* "errorcode" */, ts + 4757 /* "eval" */, ts + 13977, /* "exists" */ + ts + 13984 /* "function" */, ts + 11333 /* "incrblob" */, ts + 13993, /* "interrupt" */ + ts + 14003 /* "last_insert_rowi..." */, ts + 14021 /* "nullvalue" */, ts + 14031, /* "onecolumn" */ + ts + 14041 /* "preupdate" */, ts + 14051 /* "profile" */, ts + 10199, /* "progress" */ + ts + 14059 /* "rekey" */, ts + 14065 /* "restore" */, ts + 14073, /* "rollback_hook" */ + ts + 14087 /* "serialize" */, ts + 14097 /* "status" */, ts + 14104, /* "timeout" */ + ts + 14112 /* "total_changes" */, ts + 14126 /* "trace" */, ts + 14132, /* "trace_v2" */ + ts + 14141 /* "transaction" */, ts + 14153 /* "unlock_notify" */, ts + 14167, /* "update_hook" */ + ts + 14179 /* "version" */, ts + 14187 /* "wal_hook" */, uintptr(0), } /* tclsqlite.c:1916:21 */ var aDbConfig = [16]DbConfigChoices{ - {FzName: ts + 13415 /* "defensive" */, Fop: SQLITE_DBCONFIG_DEFENSIVE}, - {FzName: ts + 13425 /* "dqs_ddl" */, Fop: SQLITE_DBCONFIG_DQS_DDL}, - {FzName: ts + 13433 /* "dqs_dml" */, Fop: SQLITE_DBCONFIG_DQS_DML}, - {FzName: ts + 13441 /* "enable_fkey" */, Fop: SQLITE_DBCONFIG_ENABLE_FKEY}, - {FzName: ts + 13453 /* "enable_qpsg" */, Fop: SQLITE_DBCONFIG_ENABLE_QPSG}, - {FzName: ts + 13465 /* "enable_trigger" */, Fop: SQLITE_DBCONFIG_ENABLE_TRIGGER}, - {FzName: ts + 13480 /* "enable_view" */, Fop: SQLITE_DBCONFIG_ENABLE_VIEW}, - {FzName: ts + 13492 /* "fts3_tokenizer" */, Fop: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, - {FzName: ts + 13507 /* "legacy_alter_tab..." */, Fop: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, - {FzName: ts + 13526 /* "legacy_file_form..." */, Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, - {FzName: ts + 13545 /* "load_extension" */, Fop: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, - {FzName: ts + 13560 /* "no_ckpt_on_close" */, Fop: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, - {FzName: ts + 13577 /* "reset_database" */, Fop: SQLITE_DBCONFIG_RESET_DATABASE}, - {FzName: ts + 13592 /* "trigger_eqp" */, Fop: SQLITE_DBCONFIG_TRIGGER_EQP}, - {FzName: ts + 13604 /* "trusted_schema" */, Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA}, - {FzName: ts + 13619 /* "writable_schema" */, Fop: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, + {FzName: ts + 14196 /* "defensive" */, Fop: SQLITE_DBCONFIG_DEFENSIVE}, + {FzName: ts + 14206 /* "dqs_ddl" */, Fop: SQLITE_DBCONFIG_DQS_DDL}, + {FzName: ts + 14214 /* "dqs_dml" */, Fop: SQLITE_DBCONFIG_DQS_DML}, + {FzName: ts + 14222 /* "enable_fkey" */, Fop: SQLITE_DBCONFIG_ENABLE_FKEY}, + {FzName: ts + 14234 /* "enable_qpsg" */, Fop: SQLITE_DBCONFIG_ENABLE_QPSG}, + {FzName: ts + 14246 /* "enable_trigger" */, Fop: SQLITE_DBCONFIG_ENABLE_TRIGGER}, + {FzName: ts + 14261 /* "enable_view" */, Fop: SQLITE_DBCONFIG_ENABLE_VIEW}, + {FzName: ts + 14273 /* "fts3_tokenizer" */, Fop: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, + {FzName: ts + 14288 /* "legacy_alter_tab..." */, Fop: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, + {FzName: ts + 14307 /* "legacy_file_form..." */, Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, + {FzName: ts + 14326 /* "load_extension" */, Fop: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, + {FzName: ts + 14341 /* "no_ckpt_on_close" */, Fop: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, + {FzName: ts + 14358 /* "reset_database" */, Fop: SQLITE_DBCONFIG_RESET_DATABASE}, + {FzName: ts + 14373 /* "trigger_eqp" */, Fop: SQLITE_DBCONFIG_TRIGGER_EQP}, + {FzName: ts + 14385 /* "trusted_schema" */, Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA}, + {FzName: ts + 14400 /* "writable_schema" */, Fop: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, } /* tclsqlite.c:2343:7 */ var TTYPE_strs = [5]uintptr{ - ts + 13635 /* "statement" */, ts + 13270 /* "profile" */, ts + 13645 /* "row" */, ts + 10125 /* "close" */, uintptr(0), + ts + 14416 /* "statement" */, ts + 14051 /* "profile" */, ts + 14426 /* "row" */, ts + 10125 /* "close" */, uintptr(0), } /* tclsqlite.c:3321:27 */ var TTYPE_strs1 = [4]uintptr{ - ts + 13649 /* "deferred" */, ts + 13658 /* "exclusive" */, ts + 13668 /* "immediate" */, uintptr(0), + ts + 14430 /* "deferred" */, ts + 14439 /* "exclusive" */, ts + 14449 /* "immediate" */, uintptr(0), } /* tclsqlite.c:3404:25 */ -var azSub = [6]uintptr{ts + 1826 /* "count" */, ts + 13678 /* "depth" */, ts + 13684 /* "hook" */, ts + 13689 /* "new" */, ts + 13693 /* "old" */, uintptr(0)} /* tclsqlite.c:3496:23 */ +var azSub = [6]uintptr{ts + 1826 /* "count" */, ts + 14459 /* "depth" */, ts + 14465 /* "hook" */, ts + 14470 /* "new" */, ts + 14474 /* "old" */, uintptr(0)} /* tclsqlite.c:3496:23 */ // Adaptor that provides an objCmd interface to the NRE-enabled // interface implementation. @@ -86641,7 +88206,7 @@ func DbObjCmdAdaptor(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv func sqliteCmdUsage(tls *libc.TLS, interp uintptr, objv uintptr) int32 { /* tclsqlite.c:3661:12: */ tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+13697 /* "HANDLE ?FILENAME..." */) + ts+14478 /* "HANDLE ?FILENAME..." */) return TCL_ERROR } @@ -86687,16 +88252,16 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } if objc == 2 { zArg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(0)) - if libc.Xstrcmp(tls, zArg, ts+13843 /* "-version" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14624 /* "-version" */) == 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), uintptr(0))) return TCL_OK } - if libc.Xstrcmp(tls, zArg, ts+13852 /* "-sourceid" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14633 /* "-sourceid" */) == 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, sqlite3.Xsqlite3_sourceid(tls), uintptr(0))) return TCL_OK } - if libc.Xstrcmp(tls, zArg, ts+13862 /* "-has-codec" */) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+13873 /* "0" */, uintptr(0))) + if libc.Xstrcmp(tls, zArg, ts+14643 /* "-has-codec" */) == 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+14654 /* "0" */, uintptr(0))) return TCL_OK } if int32(*(*int8)(unsafe.Pointer(zArg))) == '-' { @@ -86716,11 +88281,11 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) return sqliteCmdUsage(tls, interp, objv) } i++ - if libc.Xstrcmp(tls, zArg, ts+13875 /* "-key" */) == 0 { + if libc.Xstrcmp(tls, zArg, ts+14656 /* "-key" */) == 0 { // no-op - } else if libc.Xstrcmp(tls, zArg, ts+13880 /* "-vfs" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14661 /* "-vfs" */) == 0 { zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))) - } else if libc.Xstrcmp(tls, zArg, ts+12123 /* "-readonly" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+12904 /* "-readonly" */) == 0 { // var b int32 at bp+136, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+136 /* &b */) != 0 { @@ -86733,7 +88298,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) flags = flags & (libc.CplInt32(SQLITE_OPEN_READONLY)) flags = flags | (SQLITE_OPEN_READWRITE) } - } else if libc.Xstrcmp(tls, zArg, ts+13885 /* "-create" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14666 /* "-create" */) == 0 { // var b int32 at bp+140, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+140 /* &b */) != 0 { @@ -86744,7 +88309,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_CREATE)) } - } else if libc.Xstrcmp(tls, zArg, ts+13893 /* "-nofollow" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14674 /* "-nofollow" */) == 0 { // var b int32 at bp+144, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+144 /* &b */) != 0 { @@ -86755,7 +88320,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOFOLLOW)) } - } else if libc.Xstrcmp(tls, zArg, ts+13903 /* "-nomutex" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14684 /* "-nomutex" */) == 0 { // var b int32 at bp+148, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+148 /* &b */) != 0 { @@ -86767,7 +88332,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOMUTEX)) } - } else if libc.Xstrcmp(tls, zArg, ts+13912 /* "-fullmutex" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14693 /* "-fullmutex" */) == 0 { // var b int32 at bp+152, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+152 /* &b */) != 0 { @@ -86779,7 +88344,7 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_FULLMUTEX)) } - } else if libc.Xstrcmp(tls, zArg, ts+13923 /* "-uri" */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14704 /* "-uri" */) == 0 { // var b int32 at bp+156, 4 if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+156 /* &b */) != 0 { @@ -86790,12 +88355,12 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_URI)) } - } else if libc.Xstrcmp(tls, zArg, ts+13928 /* "-translatefilena..." */) == 0 { + } else if libc.Xstrcmp(tls, zArg, ts+14709 /* "-translatefilena..." */) == 0 { if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+160 /* &bTranslateFileName */) != 0 { return TCL_ERROR } } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+12133 /* "unknown option: " */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+12914 /* "unknown option: " */, zArg, uintptr(0))) return TCL_ERROR } } @@ -86870,16 +88435,16 @@ func Sqlite3_Init(tls *libc.TLS, interp uintptr) int32 { /* tclsqlite.c:3877:12: rc = TCL_ERROR } if rc == TCL_OK { - tcl.XTcl_CreateObjCommand(tls, interp, ts+13947 /* "sqlite3" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+14728 /* "sqlite3" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{DbMain})), uintptr(0), uintptr(0)) // The "sqlite" alias is undocumented. It is here only to support // legacy scripts. All new scripts should use only the "sqlite3" // command. - tcl.XTcl_CreateObjCommand(tls, interp, ts+13955 /* "sqlite" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+14736 /* "sqlite" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{DbMain})), uintptr(0), uintptr(0)) - rc = tcl.XTcl_PkgProvideEx(tls, interp, ts+13947 /* "sqlite3" */, ts+13962 /* "3.36.0" */, uintptr(0)) + rc = tcl.XTcl_PkgProvideEx(tls, interp, ts+14728 /* "sqlite3" */, ts+14743 /* "3.36.0" */, uintptr(0)) } return rc } @@ -86932,7 +88497,7 @@ func tclsh_main_loop(tls *libc.TLS) uintptr { /* tclsqlite.c:3920:19: */ return uintptr(unsafe.Pointer(&zMainloop)) } -var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 13969 /* "if {[llength $ar..." */)) /* tclsqlite.c:3921:21 */ +var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 14750 /* "if {[llength $ar..." */)) /* tclsqlite.c:3921:21 */ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953:18: */ bp := tls.Alloc(88) @@ -86943,10 +88508,10 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: var zScript uintptr = uintptr(0) // var zArgc [32]int8 at bp+56, 32 - if libc.Xgetenv(tls, ts+14400 /* "SQLITE_DEBUG_BRE..." */) != 0 { + if libc.Xgetenv(tls, ts+15181 /* "SQLITE_DEBUG_BRE..." */) != 0 { if (libc.X_isatty(tls, 0) != 0) && (libc.X_isatty(tls, 2) != 0) { libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), - ts+14419, /* "attach debugger ..." */ + ts+15200, /* "attach debugger ..." */ libc.VaList(bp, int32(libc.XGetCurrentProcessId(tls)))) libc.Xfgetc(tls, libc.X__acrt_iob_func(tls, uint32(0))) } else { @@ -86960,27 +88525,27 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: sqlite3.Xsqlite3_shutdown(tls) tcl.XTcl_FindExecutable(tls, *(*uintptr)(unsafe.Pointer(argv))) - tcl.XTcl_SetSystemEncoding(tls, uintptr(0), ts+14481 /* "utf-8" */) + tcl.XTcl_SetSystemEncoding(tls, uintptr(0), ts+15262 /* "utf-8" */) interp = tcl.XTcl_CreateInterp(tls) Sqlite3_Init(tls, interp) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), bp+56 /* &zArgc[0] */, ts+1238 /* "%d" */, libc.VaList(bp+16, (argc-1))) - tcl.XTcl_SetVar2(tls, interp, ts+14487 /* "argc" */, uintptr(0), bp+56 /* &zArgc[0] */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+14492 /* "argv0" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+14498 /* "argv" */, uintptr(0), ts+489 /* "" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15268 /* "argc" */, uintptr(0), bp+56 /* &zArgc[0] */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15273 /* "argv0" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+15279 /* "argv" */, uintptr(0), ts+489 /* "" */, TCL_GLOBAL_ONLY) for i = 1; i < argc; i++ { - tcl.XTcl_SetVar2(tls, interp, ts+14498 /* "argv" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ((TCL_GLOBAL_ONLY | TCL_LIST_ELEMENT) | TCL_APPEND_VALUE)) + tcl.XTcl_SetVar2(tls, interp, ts+15279 /* "argv" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ((TCL_GLOBAL_ONLY | TCL_LIST_ELEMENT) | TCL_APPEND_VALUE)) } zScript = sqlite3TestInit(tls, interp) if zScript == uintptr(0) { zScript = tclsh_main_loop(tls) } if tcl.XTcl_GlobalEval(tls, interp, zScript) != TCL_OK { - var zInfo uintptr = tcl.XTcl_GetVar2(tls, interp, ts+14503 /* "errorInfo" */, uintptr(0), TCL_GLOBAL_ONLY) + var zInfo uintptr = tcl.XTcl_GetVar2(tls, interp, ts+15284 /* "errorInfo" */, uintptr(0), TCL_GLOBAL_ONLY) if zInfo == uintptr(0) { zInfo = tcl.XTcl_GetStringResult(tls, interp) } - libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+14513 /* "%s: %s\n" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) + libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+15294 /* "%s: %s\n" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) return 1 } return 0 @@ -89366,16 +90931,16 @@ func get_sqlite_pointer(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var zBuf [100]int8 at bp+136, 100 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+14521 /* "SQLITE-CONNECTIO..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15302 /* "SQLITE-CONNECTIO..." */) return TCL_ERROR } if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+72 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539, /* "command not foun..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } p = (*Tcl_CmdInfo)(unsafe.Pointer(bp + 72 /* &cmdInfo */)).FobjClientData - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+136 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+32, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+136 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+32, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+136 /* &zBuf[0] */, 0)) return TCL_OK } @@ -89418,7 +90983,7 @@ func sqlite3TestErrCode(tls *libc.TLS, interp uintptr, db uintptr, rc int32) int var r2 int32 = sqlite3.Xsqlite3_errcode(tls, db) sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+64, /* &zBuf[0] */ - ts+14559, /* "error code %s (%..." */ + ts+15340, /* "error code %s (%..." */ libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, rc), rc, sqlite3.Xsqlite3ErrName(tls, r2), r2)) tcl.XTcl_ResetResult(tls, interp) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+64 /* &zBuf[0] */, 0)) @@ -89448,7 +91013,7 @@ func sqlite3TestMakePointerStr(tls *libc.TLS, interp uintptr, zPtr uintptr, p ui bp := tls.Alloc(16) defer tls.Free(16) - sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+13802 /* "%p" */, libc.VaList(bp, p)) return TCL_OK } @@ -89497,7 +91062,7 @@ func test_io_trace(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // Also return true if the OMIT_MISUSE environment variable exists. func clang_sanitize_address(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:269:26: */ var res int32 = 0 - if (res == 0) && (libc.Xgetenv(tls, ts+14617 /* "OMIT_MISUSE" */) != uintptr(0)) { + if (res == 0) && (libc.Xgetenv(tls, ts+15398 /* "OMIT_MISUSE" */) != uintptr(0)) { res = 1 } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, res)) @@ -89523,8 +91088,8 @@ func test_exec_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // var zBuf [30]int8 at bp+304, 30 if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14655 /* " DB FORMAT STRIN..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15436 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72 /* &db */) != 0 { @@ -89577,8 +91142,8 @@ func test_exec_hex(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // var zBuf [30]int8 at bp+792, 30 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14673 /* " DB HEX" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15454 /* " DB HEX" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56 /* &db */) != 0 { @@ -89641,8 +91206,8 @@ func db_enter(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // var db uintptr at bp+40, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { @@ -89659,8 +91224,8 @@ func db_leave(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // var db uintptr at bp+40, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { @@ -89689,8 +91254,8 @@ func test_exec(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [30]int8 at bp+304, 30 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14685 /* " DB SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72 /* &db */) != 0 { @@ -89742,8 +91307,8 @@ func test_exec_nr(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar var rc int32 *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)) = uintptr(0) if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14685 /* " DB SQL" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { @@ -89769,7 +91334,7 @@ func test_mprintf_z(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var i int32 for i = 2; (i < argc) && ((i == 2) || (zResult != 0)); i++ { - zResult = sqlite3.Xsqlite3_mprintf(tls, ts+14693 /* "%z%s%s" */, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + zResult = sqlite3.Xsqlite3_mprintf(tls, ts+15474 /* "%z%s%s" */, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, zResult, 0)) sqlite3.Xsqlite3_free(tls, zResult) @@ -89786,7 +91351,7 @@ func test_mprintf_n(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var zStr uintptr *(*int32)(unsafe.Pointer(bp + 24 /* n */)) = 0 - zStr = sqlite3.Xsqlite3_mprintf(tls, ts+14700 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+24 /* &n */)) + zStr = sqlite3.Xsqlite3_mprintf(tls, ts+15481 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+24 /* &n */)) sqlite3.Xsqlite3_free(tls, zStr) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 24 /* n */)))) return TCL_OK @@ -89812,7 +91377,7 @@ func test_snprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 if uint64(n) > uint64(unsafe.Sizeof([100]int8{})) { n = int32(unsafe.Sizeof([100]int8{})) } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+40 /* &zStr[0] */, ts+14705 /* "abcdefghijklmnop..." */, 0) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+40 /* &zStr[0] */, ts+15486 /* "abcdefghijklmnop..." */, 0) sqlite3.Xsqlite3_snprintf(tls, n, bp+40 /* &zStr[0] */, zFormat, libc.VaList(bp, a1)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, bp+40 /* &zStr[0] */, 0)) return TCL_OK @@ -89848,8 +91413,8 @@ func test_get_table_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc } } if (argc != 4) && (argc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14732 /* " DB FORMAT STRIN..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15513 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+112 /* &db */) != 0 { @@ -89906,13 +91471,13 @@ func test_last_rowid(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var zBuf [30]int8 at bp+88, 30 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80 /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+88 /* &zBuf[0] */, ts+10545 /* "%lld" */, libc.VaList(bp+40, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+88 /* &zBuf[0] */, ts+11354 /* "%lld" */, libc.VaList(bp+40, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -89942,8 +91507,8 @@ func sqlite_test_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { @@ -89965,8 +91530,8 @@ func sqlite_test_close_v2(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { @@ -90004,7 +91569,7 @@ func hex8Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c:7 z = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint64(i) < ((uint64(unsafe.Sizeof([200]int8{})) / uint64(2)) - uint64(2))) && (*(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([200]int8{})) - (uint64(i * 2)))), (bp + 16 /* &zBuf */ + uintptr((i * 2))), ts+14774 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([200]int8{})) - (uint64(i * 2)))), (bp + 16 /* &zBuf */ + uintptr((i * 2))), ts+15555 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) } *(*int8)(unsafe.Pointer(bp + 16 /* &zBuf[0] */ + uintptr((i * 2)))) = int8(0) sqlite3.Xsqlite3_result_text(tls, p, bp+16 /* zBuf */, -1, libc.UintptrFromInt32(-1)) @@ -90020,7 +91585,7 @@ func hex16Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c: z = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint64(i) < ((uint64(unsafe.Sizeof([400]int8{})) / uint64(4)) - uint64(4))) && (*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([400]int8{})) - (uint64(i * 4)))), (bp + 16 /* &zBuf */ + uintptr((i * 4))), ts+14779 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([400]int8{})) - (uint64(i * 4)))), (bp + 16 /* &zBuf */ + uintptr((i * 4))), ts+15560 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) } *(*int8)(unsafe.Pointer(bp + 16 /* &zBuf[0] */ + uintptr((i * 4)))) = int8(0) sqlite3.Xsqlite3_result_text(tls, p, bp+16 /* zBuf */, -1, libc.UintptrFromInt32(-1)) @@ -90119,7 +91684,7 @@ func tkt2213Function(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zText3 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if (zText1 != zText2) || (zText2 != zText3) { - sqlite3.Xsqlite3_result_error(tls, context, ts+14784 /* "tkt2213 is not f..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15565 /* "tkt2213 is not f..." */, -1) } else { var zCopy uintptr = sqlite3.Xsqlite3_malloc(tls, nText) libc.Xmemcpy(tls, zCopy, zText1, uint64(nText)) @@ -90160,11 +91725,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+12453 /* "text" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+13234 /* "text" */) == 0 { p1 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14805 /* "text16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15586 /* "text16" */) == 0 { p1 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+12458 /* "blob" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+13239 /* "blob" */) == 0 { p1 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) } else { return @@ -90173,11 +91738,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+14812 /* "bytes" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+15593 /* "bytes" */) == 0 { sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14818 /* "bytes16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15599 /* "bytes16" */) == 0 { sqlite3.Xsqlite3_value_bytes16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14826 /* "noop" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15607 /* "noop" */) == 0 { // do nothing } else { return @@ -90186,11 +91751,11 @@ func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if zCmd == uintptr(0) { return } - if libc.Xstrcmp(tls, zCmd, ts+12453 /* "text" */) == 0 { + if libc.Xstrcmp(tls, zCmd, ts+13234 /* "text" */) == 0 { p2 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+14805 /* "text16" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+15586 /* "text16" */) == 0 { p2 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) - } else if libc.Xstrcmp(tls, zCmd, ts+12458 /* "blob" */) == 0 { + } else if libc.Xstrcmp(tls, zCmd, ts+13239 /* "blob" */) == 0 { p2 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) } else { return @@ -90238,37 +91803,37 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // var db uintptr at bp+40, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+14831 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15612 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1_ifnullFunc})), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+14842 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15623 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex8Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+14847 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15628 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex16Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+14853 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15634 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tkt2213Function})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+14865 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15646 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{ptrChngFunction})), uintptr(0), uintptr(0)) @@ -90278,13 +91843,13 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // both return an ascending integer with each call. But counter1() is marked // as non-deterministic and counter2() is marked as deterministic. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+14880 /* "counter1" */, -1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15661 /* "counter1" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+14889 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15670 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) @@ -90293,7 +91858,7 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // The intreal() function converts its argument to an integer and returns // it as a MEM_IntReal. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+14898 /* "intreal" */, 1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15679 /* "intreal" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{intrealFunction})), uintptr(0), uintptr(0)) @@ -90306,7 +91871,7 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var pVal uintptr sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmutex) pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */))) - sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+14906 /* "x_sqlite_exec" */, uint8(SQLITE_UTF8), uintptr(0)) + sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+15687 /* "x_sqlite_exec" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) if (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).FmallocFailed != 0 { rc = SQLITE_NOMEM @@ -90339,8 +91904,8 @@ func test_drop_modules(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var db uintptr at bp+40, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14758 /* " DB\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { @@ -90389,7 +91954,7 @@ func t1CountStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* if argc > 0 { var v int32 = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))) if v == 40 { - sqlite3.Xsqlite3_result_error(tls, context, ts+14920 /* "value of 40 hand..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15701 /* "value of 40 hand..." */, -1) } else if v == 41 { *(*[9]int8)(unsafe.Pointer(bp /* zUtf16ErrMsg */)) = [9]int8{int8(0), int8(0x61), int8(0), int8(0x62), int8(0), int8(0x63), int8(0), int8(0), int8(0)} sqlite3.Xsqlite3_result_error16(tls, context, (bp /* &zUtf16ErrMsg */ + 1), -1) @@ -90402,7 +91967,7 @@ func t1CountFinalize(tls *libc.TLS, context uintptr) { /* test1.c:1149:13: */ p = sqlite3.Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(t1CountCtx{}))) if p != 0 { if (*t1CountCtx)(unsafe.Pointer(p)).Fn == 42 { - sqlite3.Xsqlite3_result_error(tls, context, ts+14950 /* "x_count totals t..." */, -1) + sqlite3.Xsqlite3_result_error(tls, context, ts+15731 /* "x_count totals t..." */, -1) } else { sqlite3.Xsqlite3_result_int(tls, context, func() int32 { if p != 0 { @@ -90447,25 +92012,25 @@ func test_create_aggregate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14763 /* " FILENAME\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+14971 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15752 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+14971 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15752 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+14979 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15760 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{legacyCountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{legacyCountFinalize}))) @@ -90488,8 +92053,8 @@ func test_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg defer tls.Free(56) if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14992 /* " TEXT\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15773 /* " TEXT\"" */, 0)) return TCL_ERROR } libc.Xprintf(tls, ts+294 /* "%s\n" */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) @@ -90508,8 +92073,8 @@ func sqlite3_mprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { @@ -90535,13 +92100,13 @@ func sqlite3_mprintf_int64(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { if sqlite3.Xsqlite3Atoi64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+120 /* &a */ +uintptr((i-2))*8), sqlite3.Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))), uint8(SQLITE_UTF8)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+15020 /* "argument is not ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+15801 /* "argument is not ..." */, 0)) return TCL_ERROR } } @@ -90567,8 +92132,8 @@ func sqlite3_mprintf_long(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14999 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15780 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 5; i++ { @@ -90596,8 +92161,8 @@ func sqlite3_mprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var i int32 var z uintptr if (argc < 4) || (argc > 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15059 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15840 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -90630,15 +92195,15 @@ func sqlite3_snprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i var z uintptr if (argc < 5) || (argc > 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15085 /* " INT FORMAT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15866 /* " INT FORMAT INT ..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+120 /* &n */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 120 /* n */)) < 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+15115 /* "N must be non-ne..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+15896 /* "N must be non-ne..." */, 0)) return TCL_ERROR } for i = 3; i < 5; i++ { @@ -90672,8 +92237,8 @@ func sqlite3_mprintf_double(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15138 /* " FORMAT INT INT ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15919 /* " FORMAT INT INT ..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -90704,8 +92269,8 @@ func sqlite3_mprintf_scaled(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15162 /* " FORMAT DOUBLE D..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15943 /* " FORMAT DOUBLE D..." */, 0)) return TCL_ERROR } for i = 2; i < 4; i++ { @@ -90730,8 +92295,8 @@ func sqlite3_mprintf_stronly(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg var z uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15185 /* " FORMAT STRING\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) @@ -90758,12 +92323,12 @@ func sqlite3_mprintf_hexdouble(tls *libc.TLS, NotUsed uintptr, interp uintptr, a // var d sqlite_uint64 at bp+144, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15185 /* " FORMAT STRING\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } - if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+15201 /* "%08x%08x" */, libc.VaList(bp+40, bp+128 /* &x2 */, bp+132 /* &x1 */)) != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+15210 /* "2nd argument sho..." */, 0)) + if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+15982 /* "%08x%08x" */, libc.VaList(bp+40, bp+128 /* &x2 */, bp+132 /* &x1 */)) != 2 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+15991 /* "2nd argument sho..." */, 0)) return TCL_ERROR } *(*sqlite_uint64)(unsafe.Pointer(bp + 144 /* d */)) = sqlite_uint64(*(*uint32)(unsafe.Pointer(bp + 128 /* x2 */))) @@ -90787,7 +92352,7 @@ func test_enable_shared(tls *libc.TLS, clientData ClientData, interp uintptr, ob var ret int32 = 0 if (objc != 2) && (objc != 1) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15254 /* "?BOOLEAN?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16035 /* "?BOOLEAN?" */) return TCL_ERROR } ret = sqlite3.Xsqlite3Config.FsharedCacheEnabled @@ -90817,7 +92382,7 @@ func test_extended_result_codes(tls *libc.TLS, clientData ClientData, interp uin // var db uintptr at bp, 8 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15264 /* "DB BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16045 /* "DB BOOLEAN" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -90861,7 +92426,7 @@ func test_table_column_metadata(tls *libc.TLS, clientData ClientData, interp uin // var autoincrement int32 at bp+56, 4 if (objc != 5) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15275 /* "DB dbname tblnam..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16056 /* "DB dbname tblnam..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &db */) != 0 { @@ -90940,7 +92505,7 @@ func test_blob_reopen(tls *libc.TLS, clientData ClientData, interp uintptr, objc var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15301 /* "CHANNEL ROWID" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16082 /* "CHANNEL ROWID" */) return TCL_ERROR } @@ -91035,7 +92600,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp var rc int32 if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15315 /* "DB-HANDLE NAME C..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16096 /* "DB-HANDLE NAME C..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &db */) != 0 { @@ -91055,7 +92620,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp }{testCreateCollationCmp})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testCreateCollationDel}))) if rc != SQLITE_MISUSE { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+15348 /* "sqlite3_create_c..." */, uintptr(0))) + libc.VaList(bp, ts+16129 /* "sqlite3_create_c..." */, uintptr(0))) return TCL_ERROR } rc = sqlite3.Xsqlite3_create_collation_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), SQLITE_UTF8, @@ -91161,16 +92726,16 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt var rc int32 *(*[6]EncTable)(unsafe.Pointer(bp + 40 /* aEnc */)) = [6]EncTable{ - {FzEnc: ts + 15413 /* "utf8" */, Fenc: SQLITE_UTF8}, - {FzEnc: ts + 15418 /* "utf16" */, Fenc: SQLITE_UTF16}, - {FzEnc: ts + 15424 /* "utf16le" */, Fenc: SQLITE_UTF16LE}, - {FzEnc: ts + 15432 /* "utf16be" */, Fenc: SQLITE_UTF16BE}, - {FzEnc: ts + 12463 /* "any" */, Fenc: SQLITE_ANY}, - {FzEnc: ts + 13873 /* "0" */}, + {FzEnc: ts + 16194 /* "utf8" */, Fenc: SQLITE_UTF8}, + {FzEnc: ts + 16199 /* "utf16" */, Fenc: SQLITE_UTF16}, + {FzEnc: ts + 16205 /* "utf16le" */, Fenc: SQLITE_UTF16LE}, + {FzEnc: ts + 16213 /* "utf16be" */, Fenc: SQLITE_UTF16BE}, + {FzEnc: ts + 13244 /* "any" */, Fenc: SQLITE_ANY}, + {FzEnc: ts + 14654 /* "0" */}, } if (objc < 5) || ((objc % 2) == 0) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15440 /* "DB NAME NARG ENC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16221 /* "DB NAME NARG ENC..." */) return TCL_ERROR } @@ -91182,7 +92747,7 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+40 /* &aEnc[0] */, int32(unsafe.Sizeof(EncTable{})), - ts+15469 /* "encoding" */, 0, bp+136 /* &enc */) != 0 { + ts+16250 /* "encoding" */, 0, bp+136 /* &enc */) != 0 { return TCL_ERROR } *(*int32)(unsafe.Pointer(bp + 136 /* enc */)) = (*EncTable)(unsafe.Pointer(bp + 40 /* &aEnc */ + uintptr(*(*int32)(unsafe.Pointer(bp + 136 /* enc */)))*16)).Fenc @@ -91195,8 +92760,8 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt for i = 5; i < objc; i = i + (2) { // var iSwitch int32 at bp+184, 4 - *(*[5]uintptr)(unsafe.Pointer(bp + 144 /* azSwitch */)) = [5]uintptr{ts + 15478 /* "-func" */, ts + 15484 /* "-step" */, ts + 15490 /* "-final" */, ts + 15497 /* "-destroy" */, uintptr(0)} - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+144 /* &azSwitch[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+15506 /* "switch" */, 0, bp+184 /* &iSwitch */) != 0 { + *(*[5]uintptr)(unsafe.Pointer(bp + 144 /* azSwitch */)) = [5]uintptr{ts + 16259 /* "-func" */, ts + 16265 /* "-step" */, ts + 16271 /* "-final" */, ts + 16278 /* "-destroy" */, uintptr(0)} + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+144 /* &azSwitch[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+16287 /* "switch" */, 0, bp+184 /* &iSwitch */) != 0 { sqlite3.Xsqlite3_free(tls, p) return TCL_ERROR } @@ -91298,7 +92863,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o var zErr uintptr = uintptr(0) if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15513 /* "DB-HANDLE FILE ?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16294 /* "DB-HANDLE FILE ?..." */) return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -91309,7 +92874,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o // Extract the C database handle from the Tcl command name if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+32 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539 /* "command not foun..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &cmdInfo */)).FobjClientData)).Fdb @@ -91318,7 +92883,7 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o // TCL_ERROR and load any error string into the interpreter. If no // error occurs, set rc to TCL_OK. rc = SQLITE_ERROR - zErr = sqlite3.Xsqlite3_mprintf(tls, ts+15535 /* "this build omits..." */, 0) + zErr = sqlite3.Xsqlite3_mprintf(tls, ts+16316 /* "this build omits..." */, 0) _ = zProc _ = zFile if rc != SQLITE_OK { @@ -91350,14 +92915,14 @@ func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var onoff int32 at bp+112, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15577 /* "DB-HANDLE ONOFF" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16358 /* "DB-HANDLE ONOFF" */) return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) // Extract the C database handle from the Tcl command name if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+48 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539 /* "command not foun..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &cmdInfo */)).FobjClientData)).Fdb @@ -91367,7 +92932,7 @@ func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15535 /* "this build omits..." */)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+16316 /* "this build omits..." */)) return TCL_ERROR } @@ -91409,7 +92974,7 @@ __5: sqlite3.Xsqlite3_result_int64(tls, context, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) goto __8 __7: - if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+15593 /* "string" */) == 0) { + if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+16374 /* "string" */) == 0) { goto __9 } sqlite3.Xsqlite3_result_text(tls, context, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))), -1, @@ -91428,7 +92993,7 @@ __11: sqlite3.Xsqlite3_result_null(tls, context) goto __14 __13: - if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+15600 /* "value" */) == 0) { + if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+16381 /* "value" */) == 0) { goto __15 } sqlite3.Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + uintptr(sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))*8))) @@ -91461,7 +93026,7 @@ __2: error_out: sqlite3.Xsqlite3_result_error(tls, context, - ts+15606 /* "first argument s..." */, -1) + ts+16387 /* "first argument s..." */, -1) } // Usage: sqlite_register_test_function DB NAME @@ -91475,8 +93040,8 @@ func test_register_func(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+15674 /* " DB FUNCTION-NAM..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+16455 /* " DB FUNCTION-NAM..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+64 /* &db */) != 0 { @@ -91509,8 +93074,8 @@ func test_finalize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var db uintptr = uintptr(0) if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } @@ -91545,7 +93110,7 @@ func test_stmt_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // var pStmt uintptr at bp, 8 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15700 /* "STMT PARAMETER R..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16481 /* "STMT PARAMETER R..." */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -91584,13 +93149,13 @@ var aOp = [7]struct { Fop int32 _ [4]byte }{ - {FzName: ts + 15725 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, - {FzName: ts + 15757 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, - {FzName: ts + 15780 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_AUTOINDEX}, - {FzName: ts + 15808 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_VM_STEP}, - {FzName: ts + 15834 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_REPREPARE}, - {FzName: ts + 15862 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_RUN}, - {FzName: ts + 15884 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_MEMUSED}, + {FzName: ts + 16506 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, + {FzName: ts + 16538 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, + {FzName: ts + 16561 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_AUTOINDEX}, + {FzName: ts + 16589 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_VM_STEP}, + {FzName: ts + 16615 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_REPREPARE}, + {FzName: ts + 16643 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_RUN}, + {FzName: ts + 16665 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_MEMUSED}, } /* test1.c:2158:5 */ // Usage: sqlite3_config_sorterref @@ -91603,7 +93168,7 @@ func test_config_sorterref(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var iVal int32 at bp+16, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15910 /* "NBYTE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &iVal */) != 0 { @@ -91644,7 +93209,7 @@ func test_snapshot_get(tls *libc.TLS, clientData uintptr, interp uintptr, objc i *(*uintptr)(unsafe.Pointer(bp + 8 /* pSnapshot */)) = uintptr(0) if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -91678,7 +93243,7 @@ func test_snapshot_recover(tls *libc.TLS, clientData uintptr, interp uintptr, ob var zName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -91708,7 +93273,7 @@ func test_snapshot_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc var pSnapshot uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15926 /* "DB DBNAME SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16707 /* "DB DBNAME SNAPSH..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -91731,7 +93296,7 @@ func test_snapshot_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc func test_snapshot_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2428:26: */ var pSnapshot uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15945 /* "SNAPSHOT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16726 /* "SNAPSHOT" */) return TCL_ERROR } pSnapshot = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -91745,7 +93310,7 @@ func test_snapshot_cmp(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var p1 uintptr var p2 uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15954 /* "SNAPSHOT1 SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16735 /* "SNAPSHOT1 SNAPSH..." */) return TCL_ERROR } p1 = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -91767,7 +93332,7 @@ func test_snapshot_get_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o *(*uintptr)(unsafe.Pointer(bp + 8 /* pSnapshot */)) = uintptr(0) if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -91800,7 +93365,7 @@ func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, // var nBlob int32 at bp+32, 4 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15926 /* "DB DBNAME SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16707 /* "DB DBNAME SNAPSH..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &db */) != 0 { @@ -91809,7 +93374,7 @@ func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) pBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+32 /* &nBlob */) if (uint64(*(*int32)(unsafe.Pointer(bp + 32 /* nBlob */))) != uint64(unsafe.Sizeof(sqlite3_snapshot{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15974 /* "bad SNAPSHOT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } rc = sqlite3.Xsqlite3_snapshot_open(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), zName, pBlob) @@ -91833,7 +93398,7 @@ func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o // var n2 int32 at bp+28, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15954 /* "SNAPSHOT1 SNAPSH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16735 /* "SNAPSHOT1 SNAPSH..." */) return TCL_ERROR } @@ -91841,7 +93406,7 @@ func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o p2 = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+28 /* &n2 */) if (uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n1 */))) != uint64(unsafe.Sizeof(sqlite3_snapshot{}))) || (*(*int32)(unsafe.Pointer(bp + 24 /* n1 */)) != *(*int32)(unsafe.Pointer(bp + 28 /* n2 */))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15974 /* "bad SNAPSHOT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } @@ -91855,7 +93420,7 @@ func test_delete_database(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 var zFile uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15987 /* "FILE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16768 /* "FILE" */) return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -91878,7 +93443,7 @@ func test_atomic_batch_write(tls *libc.TLS, clientData uintptr, interp uintptr, var rc int32 // sqlite3_open() return code if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15992 /* "PATH" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16773 /* "PATH" */) return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -91914,8 +93479,8 @@ func test_next_stmt(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var zBuf [50]int8 at bp+80, 50 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15997 /* " DB STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16778 /* " DB STMT" */, 0)) return TCL_ERROR } @@ -91948,8 +93513,8 @@ func test_stmt_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -91974,8 +93539,8 @@ func test_stmt_isexplain(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -92000,8 +93565,8 @@ func test_stmt_busy(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -92023,8 +93588,8 @@ func uses_stmt_journal(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var pStmt uintptr at bp+40, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -92048,8 +93613,8 @@ func test_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } @@ -92079,8 +93644,8 @@ func test_expired(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var pStmt uintptr at bp+40, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15692 /* " " */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { @@ -92102,8 +93667,8 @@ func test_transfer_bind(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var pStmt2 uintptr at bp+48, 8 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16012 /* " FROM-STMT TO-ST..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16793 /* " FROM-STMT TO-ST..." */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt1 */) != 0 { @@ -92128,8 +93693,8 @@ func test_changes(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var db uintptr at bp+40, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { @@ -92163,8 +93728,8 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var idx int32 at bp+120, 4 if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+16031 /* " VM IDX VALUE (n..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+16812 /* " VM IDX VALUE (n..." */, 0)) return TCL_ERROR } if getStmtPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+112 /* &pStmt */) != 0 { @@ -92175,18 +93740,18 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv } if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+7385 /* "null" */) == 0 { rc = sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 120 /* idx */))) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16067 /* "static" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16848 /* "static" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 120 /* idx */)), sqlite_static_bind_value, -1, uintptr(0)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16074 /* "static-nbytes" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16855 /* "static-nbytes" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 120 /* idx */)), sqlite_static_bind_value, sqlite_static_bind_nbyte, uintptr(0)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16088 /* "normal" */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16869 /* "normal" */) == 0 { rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 120 /* idx */)), *(*uintptr)(unsafe.Pointer(argv + 3*8)), -1, libc.UintptrFromInt32(-1)) - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16095 /* "blob10" */) == 0 { - rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 120 /* idx */)), ts+16102 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16876 /* "blob10" */) == 0 { + rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 120 /* idx */)), ts+16883 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) } else { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+40, ts+16113 /* "4th argument sho..." */, 0)) + libc.VaList(bp+40, ts+16894 /* "4th argument sho..." */, 0)) return TCL_ERROR } if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pStmt */))), rc) != 0 { @@ -92195,7 +93760,7 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv if rc != 0 { // var zBuf [50]int8 at bp+124, 50 - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+124 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+64, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+124 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+64, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, bp+124 /* &zBuf[0] */, sqlite3.Xsqlite3ErrStr(tls, rc), 0)) return TCL_ERROR } @@ -92242,18 +93807,18 @@ func test_collate_func(tls *libc.TLS, pCtx uintptr, nA int32, zA uintptr, nB int var pVal uintptr var pX uintptr - pX = tcl.XTcl_NewStringObj(tls, ts+16173 /* "test_collate" */, -1) + pX = tcl.XTcl_NewStringObj(tls, ts+16954 /* "test_collate" */, -1) (*Tcl_Obj)(unsafe.Pointer(pX)).FrefCount++ switch encin { case SQLITE_UTF8: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16186 /* "UTF-8" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16967 /* "UTF-8" */, -1)) break case SQLITE_UTF16LE: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16192 /* "UTF-16LE" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16973 /* "UTF-16LE" */, -1)) break case SQLITE_UTF16BE: - tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16201 /* "UTF-16BE" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16982 /* "UTF-16BE" */, -1)) break default: @@ -92317,7 +93882,7 @@ __2: return TCL_ERROR __3: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), ts+16173 /* "test_collate" */, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF8, uintptr(SQLITE_UTF8), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 72 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -92335,7 +93900,7 @@ __3: return TCL_ERROR __5: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), ts+16173 /* "test_collate" */, SQLITE_UTF16LE, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF16LE, uintptr(SQLITE_UTF16LE), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 72 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -92353,7 +93918,7 @@ __6: sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64 /* db */)))).Fmutex) pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */))) - sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16173 /* "test_collate" */, uint8(SQLITE_UTF8), uintptr(0)) + sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16954 /* "test_collate" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) if !((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64 /* db */)))).FmallocFailed != 0) { goto __7 @@ -92393,8 +93958,8 @@ __10: return TCL_OK bad_args: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16210 /* " " */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17077 /* "" */) } zCode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -92809,7 +94374,7 @@ func test_bind_zeroblob(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16309 /* "STMT IDX N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17090 /* "STMT IDX N" */) return TCL_ERROR } @@ -92852,7 +94417,7 @@ func test_bind_zeroblob64(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16309 /* "STMT IDX N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17090 /* "STMT IDX N" */) return TCL_ERROR } @@ -92896,8 +94461,8 @@ func test_bind_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var rc int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -93074,8 +94639,8 @@ func test_bind_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -93119,8 +94684,8 @@ func test_bind_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var i int32 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16320 /* " STMT N VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17101 /* " STMT N VALUE" */, 0)) return TCL_ERROR } @@ -93175,16 +94740,16 @@ var aSpecialFp = [10]struct { FiUpper uint32 FiLower uint32 }{ - {FzName: ts + 16334 /* "NaN" */, FiUpper: uint32(0x7fffffff), FiLower: 0xffffffff}, - {FzName: ts + 16338 /* "SNaN" */, FiUpper: uint32(0x7ff7ffff), FiLower: 0xffffffff}, - {FzName: ts + 16343 /* "-NaN" */, FiUpper: 0xffffffff, FiLower: 0xffffffff}, - {FzName: ts + 16348 /* "-SNaN" */, FiUpper: 0xfff7ffff, FiLower: 0xffffffff}, - {FzName: ts + 16354 /* "+Inf" */, FiUpper: uint32(0x7ff00000)}, - {FzName: ts + 16359 /* "-Inf" */, FiUpper: 0xfff00000}, - {FzName: ts + 16364 /* "Epsilon" */, FiLower: uint32(0x00000001)}, - {FzName: ts + 16372 /* "-Epsilon" */, FiUpper: 0x80000000, FiLower: uint32(0x00000001)}, - {FzName: ts + 16381 /* "NaN0" */, FiUpper: uint32(0x7ff80000)}, - {FzName: ts + 16386 /* "-NaN0" */, FiUpper: 0xfff80000}, + {FzName: ts + 17115 /* "NaN" */, FiUpper: uint32(0x7fffffff), FiLower: 0xffffffff}, + {FzName: ts + 17119 /* "SNaN" */, FiUpper: uint32(0x7ff7ffff), FiLower: 0xffffffff}, + {FzName: ts + 17124 /* "-NaN" */, FiUpper: 0xffffffff, FiLower: 0xffffffff}, + {FzName: ts + 17129 /* "-SNaN" */, FiUpper: 0xfff7ffff, FiLower: 0xffffffff}, + {FzName: ts + 17135 /* "+Inf" */, FiUpper: uint32(0x7ff00000)}, + {FzName: ts + 17140 /* "-Inf" */, FiUpper: 0xfff00000}, + {FzName: ts + 17145 /* "Epsilon" */, FiLower: uint32(0x00000001)}, + {FzName: ts + 17153 /* "-Epsilon" */, FiUpper: 0x80000000, FiLower: uint32(0x00000001)}, + {FzName: ts + 17162 /* "NaN0" */, FiUpper: uint32(0x7ff80000)}, + {FzName: ts + 17167 /* "-NaN0" */, FiUpper: 0xfff80000}, } /* test1.c:3724:5 */ // Usage: sqlite3_bind_null STMT N @@ -93203,8 +94768,8 @@ func test_bind_null(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var rc int32 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16392 /* " STMT N" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17173 /* " STMT N" */, 0)) return TCL_ERROR } @@ -93248,8 +94813,8 @@ func test_bind_text(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var toFree uintptr = uintptr(0) if objc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16400 /* " STMT N VALUE BY..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17181 /* " STMT N VALUE BY..." */, 0)) return TCL_ERROR } @@ -93319,8 +94884,8 @@ func test_bind_text16(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var oBytes uintptr = *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)) if (objc != 5) && (objc != 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16400 /* " STMT N VALUE BY..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17181 /* " STMT N VALUE BY..." */, 0)) return TCL_ERROR } @@ -93379,8 +94944,8 @@ func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var xDestructor sqlite3_destructor_type = libc.UintptrFromInt32(-1) if (objc != 5) && (objc != 6) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16420 /* " STMT N DATA BYT..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17201 /* " STMT N DATA BYT..." */, 0)) return TCL_ERROR } @@ -93405,7 +94970,7 @@ func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var zBuf [200]int8 at bp+108, 200 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+108, /* &zBuf[0] */ - ts+16439 /* "cannot use %d bl..." */, libc.VaList(bp+40, *(*int32)(unsafe.Pointer(bp + 104 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 100 /* len */)))) + ts+17220 /* "cannot use %d bl..." */, libc.VaList(bp+40, *(*int32)(unsafe.Pointer(bp + 104 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 100 /* len */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+108 /* &zBuf[0] */, uintptr(0))) return TCL_ERROR } @@ -93510,52 +95075,52 @@ __7: goto __9 } z = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))) - if !(libc.Xstrcmp(tls, z, ts+16473 /* "-transient" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17254 /* "-transient" */) == 0) { goto __10 } isTransient = 1 xDel = libc.UintptrFromInt32(-1) goto __11 __10: - if !(libc.Xstrcmp(tls, z, ts+16484 /* "-static" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17265 /* "-static" */) == 0) { goto __12 } isStatic = 1 xDel = uintptr(0) goto __13 __12: - if !(libc.Xstrcmp(tls, z, ts+16492 /* "-int32" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17273 /* "-int32" */) == 0) { goto __14 } eType = 0 // CARRAY_INT32 goto __15 __14: - if !(libc.Xstrcmp(tls, z, ts+16499 /* "-int64" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17280 /* "-int64" */) == 0) { goto __16 } eType = 1 // CARRAY_INT64 goto __17 __16: - if !(libc.Xstrcmp(tls, z, ts+16506 /* "-double" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17287 /* "-double" */) == 0) { goto __18 } eType = 2 // CARRAY_DOUBLE goto __19 __18: - if !(libc.Xstrcmp(tls, z, ts+16514 /* "-text" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17295 /* "-text" */) == 0) { goto __20 } eType = 3 // CARRAY_TEXT goto __21 __20: - if !(libc.Xstrcmp(tls, z, ts+16520 /* "--" */) == 0) { + if !(libc.Xstrcmp(tls, z, ts+17301 /* "--" */) == 0) { goto __22 } goto __9 goto __23 __22: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+12133 /* "unknown option: " */, z, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+12914 /* "unknown option: " */, z, uintptr(0))) return TCL_ERROR __23: ; @@ -93581,7 +95146,7 @@ __9: if !(((eType == 3) && !(isStatic != 0)) && !(isTransient != 0)) { goto __24 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+16523, /* "text data must b..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17304, /* "text data must b..." */ uintptr(0))) return TCL_ERROR __24: @@ -93589,7 +95154,7 @@ __24: if !((isStatic != 0) && (isTransient != 0)) { goto __25 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+16570, /* "cannot be both -..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+17351, /* "cannot be both -..." */ uintptr(0))) return TCL_ERROR __25: @@ -93597,7 +95162,7 @@ __25: if !((objc - i) < 2) { goto __26 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16608 /* "[OPTIONS] STMT I..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17389 /* "[OPTIONS] STMT I..." */) return TCL_ERROR __26: ; @@ -93818,7 +95383,7 @@ func test_bind_parameter_count(tls *libc.TLS, clientData uintptr, interp uintptr // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -93842,7 +95407,7 @@ func test_bind_parameter_name(tls *libc.TLS, clientData uintptr, interp uintptr, // var i int32 at bp+8, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16642 /* "STMT N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17423 /* "STMT N" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -93867,7 +95432,7 @@ func test_bind_parameter_index(tls *libc.TLS, clientData uintptr, interp uintptr // var pStmt uintptr at bp, 8 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16649 /* "STMT NAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17430 /* "STMT NAME" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -93888,7 +95453,7 @@ func test_clear_bindings(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -93906,7 +95471,7 @@ func test_sleep(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o // var ms int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+12806 /* "MILLISECONDS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+13587 /* "MILLISECONDS" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &ms */) != 0 { @@ -93929,8 +95494,8 @@ func test_ex_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -93954,8 +95519,8 @@ func test_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -93979,8 +95544,8 @@ func test_errmsg(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zErr uintptr if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { @@ -94009,8 +95574,8 @@ func test_errmsg16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var bytes int32 = 0 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { @@ -94049,8 +95614,8 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var rc int32 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+112 /* &db */) != 0 { @@ -94082,7 +95647,7 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+144 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+40, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+144 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+40, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+144 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */))), 0)) return TCL_ERROR } @@ -94120,8 +95685,8 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+112 /* &db */) != 0 { @@ -94166,7 +95731,7 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+144 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+40, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+144 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+40, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+144 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */))), 0)) return TCL_ERROR } @@ -94206,8 +95771,8 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var rc int32 if (objc != 6) && (objc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16705 /* " DB sql bytes fl..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17486 /* " DB sql bytes fl..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+112 /* &db */) != 0 { @@ -94253,7 +95818,7 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+144 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+40, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+144 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+40, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+144 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */))), 0)) return TCL_ERROR } @@ -94283,8 +95848,8 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16683 /* " DB sql bytes ta..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+112 /* &db */) != 0 { @@ -94297,7 +95862,7 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+128 /* &zBuf[0] */, ts+16167 /* "(%d) " */, libc.VaList(bp+40, rc)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+128 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+40, rc)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+128 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */))), 0)) return TCL_ERROR } @@ -94311,7 +95876,7 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj return TCL_OK } -var zSql = *(*[10]int8)(unsafe.Pointer(ts + 16733 /* "\x00SELECT 1" */)) /* test1.c:4623:21 */ +var zSql = *(*[10]int8)(unsafe.Pointer(ts + 17514 /* "\x00SELECT 1" */)) /* test1.c:4623:21 */ // Usage: sqlite3_prepare16 DB sql bytes tailvar // @@ -94338,8 +95903,8 @@ func test_prepare16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -94414,8 +95979,8 @@ func test_prepare16_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16659 /* " DB sql bytes ?t..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -94476,8 +96041,8 @@ func test_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob // var zBuf [100]int8 at bp+72, 100 if ((objc != 3) && (objc != 2)) && (objc != 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16743 /* " filename option..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17524 /* " filename option..." */, 0)) return TCL_ERROR } @@ -94515,7 +96080,7 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var i int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16766 /* "FILENAME FLAGS V..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17547 /* "FILENAME FLAGS V..." */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -94532,29 +96097,29 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var iFlag int32 at bp+360, 4 *(*[20]OpenFlag)(unsafe.Pointer(bp + 40 /* aFlag */)) = [20]OpenFlag{ - {FzFlag: ts + 16785 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READONLY}, - {FzFlag: ts + 16806 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READWRITE}, - {FzFlag: ts + 16828 /* "SQLITE_OPEN_CREA..." */, Fflag: SQLITE_OPEN_CREATE}, - {FzFlag: ts + 16847 /* "SQLITE_OPEN_DELE..." */, Fflag: SQLITE_OPEN_DELETEONCLOSE}, - {FzFlag: ts + 16873 /* "SQLITE_OPEN_EXCL..." */, Fflag: SQLITE_OPEN_EXCLUSIVE}, - {FzFlag: ts + 16895 /* "SQLITE_OPEN_AUTO..." */, Fflag: SQLITE_OPEN_AUTOPROXY}, - {FzFlag: ts + 16917 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_DB}, - {FzFlag: ts + 16937 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_DB}, - {FzFlag: ts + 16957 /* "SQLITE_OPEN_TRAN..." */, Fflag: SQLITE_OPEN_TRANSIENT_DB}, - {FzFlag: ts + 16982 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_JOURNAL}, - {FzFlag: ts + 17007 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_JOURNAL}, - {FzFlag: ts + 17032 /* "SQLITE_OPEN_SUBJ..." */, Fflag: SQLITE_OPEN_SUBJOURNAL}, - {FzFlag: ts + 17055 /* "SQLITE_OPEN_SUPE..." */, Fflag: SQLITE_OPEN_SUPER_JOURNAL}, - {FzFlag: ts + 17081 /* "SQLITE_OPEN_NOMU..." */, Fflag: SQLITE_OPEN_NOMUTEX}, - {FzFlag: ts + 17101 /* "SQLITE_OPEN_FULL..." */, Fflag: SQLITE_OPEN_FULLMUTEX}, - {FzFlag: ts + 17123 /* "SQLITE_OPEN_SHAR..." */, Fflag: SQLITE_OPEN_SHAREDCACHE}, - {FzFlag: ts + 17147 /* "SQLITE_OPEN_PRIV..." */, Fflag: SQLITE_OPEN_PRIVATECACHE}, - {FzFlag: ts + 17172 /* "SQLITE_OPEN_WAL" */, Fflag: SQLITE_OPEN_WAL}, - {FzFlag: ts + 17188 /* "SQLITE_OPEN_URI" */, Fflag: SQLITE_OPEN_URI}, + {FzFlag: ts + 17566 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READONLY}, + {FzFlag: ts + 17587 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READWRITE}, + {FzFlag: ts + 17609 /* "SQLITE_OPEN_CREA..." */, Fflag: SQLITE_OPEN_CREATE}, + {FzFlag: ts + 17628 /* "SQLITE_OPEN_DELE..." */, Fflag: SQLITE_OPEN_DELETEONCLOSE}, + {FzFlag: ts + 17654 /* "SQLITE_OPEN_EXCL..." */, Fflag: SQLITE_OPEN_EXCLUSIVE}, + {FzFlag: ts + 17676 /* "SQLITE_OPEN_AUTO..." */, Fflag: SQLITE_OPEN_AUTOPROXY}, + {FzFlag: ts + 17698 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_DB}, + {FzFlag: ts + 17718 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_DB}, + {FzFlag: ts + 17738 /* "SQLITE_OPEN_TRAN..." */, Fflag: SQLITE_OPEN_TRANSIENT_DB}, + {FzFlag: ts + 17763 /* "SQLITE_OPEN_MAIN..." */, Fflag: SQLITE_OPEN_MAIN_JOURNAL}, + {FzFlag: ts + 17788 /* "SQLITE_OPEN_TEMP..." */, Fflag: SQLITE_OPEN_TEMP_JOURNAL}, + {FzFlag: ts + 17813 /* "SQLITE_OPEN_SUBJ..." */, Fflag: SQLITE_OPEN_SUBJOURNAL}, + {FzFlag: ts + 17836 /* "SQLITE_OPEN_SUPE..." */, Fflag: SQLITE_OPEN_SUPER_JOURNAL}, + {FzFlag: ts + 17862 /* "SQLITE_OPEN_NOMU..." */, Fflag: SQLITE_OPEN_NOMUTEX}, + {FzFlag: ts + 17882 /* "SQLITE_OPEN_FULL..." */, Fflag: SQLITE_OPEN_FULLMUTEX}, + {FzFlag: ts + 17904 /* "SQLITE_OPEN_SHAR..." */, Fflag: SQLITE_OPEN_SHAREDCACHE}, + {FzFlag: ts + 17928 /* "SQLITE_OPEN_PRIV..." */, Fflag: SQLITE_OPEN_PRIVATECACHE}, + {FzFlag: ts + 17953 /* "SQLITE_OPEN_WAL" */, Fflag: SQLITE_OPEN_WAL}, + {FzFlag: ts + 17969 /* "SQLITE_OPEN_URI" */, Fflag: SQLITE_OPEN_URI}, {}, } rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* apFlag */)) + uintptr(i)*8)), bp+40 /* &aFlag[0] */, int32(unsafe.Sizeof(OpenFlag{})), - ts+17204 /* "flag" */, 0, bp+360 /* &iFlag */) + ts+17985 /* "flag" */, 0, bp+360 /* &iFlag */) if rc != TCL_OK { return rc } @@ -94586,8 +96151,8 @@ func test_open16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zBuf [100]int8 at bp+72, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16743 /* " filename option..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17524 /* " filename option..." */, 0)) return TCL_ERROR } @@ -94609,7 +96174,7 @@ func test_complete16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var zBuf uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17209 /* "" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17990 /* "" */) return TCL_ERROR } @@ -94651,8 +96216,8 @@ func test_step(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16006 /* " STMT" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16787 /* " STMT" */, 0)) return TCL_ERROR } @@ -94673,7 +96238,7 @@ func test_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -94693,7 +96258,7 @@ func test_ex_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var z uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } @@ -94716,8 +96281,8 @@ func test_column_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var pStmt uintptr at bp+40, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -94743,8 +96308,8 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var tp int32 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -94764,13 +96329,13 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in tcl.XTcl_SetResult(tls, interp, ts+5707 /* "NULL" */, uintptr(0)) break case SQLITE_FLOAT: - tcl.XTcl_SetResult(tls, interp, ts+17235 /* "FLOAT" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18016 /* "FLOAT" */, uintptr(0)) break case SQLITE_TEXT: - tcl.XTcl_SetResult(tls, interp, ts+17241 /* "TEXT" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18022 /* "TEXT" */, uintptr(0)) break case SQLITE_BLOB: - tcl.XTcl_SetResult(tls, interp, ts+17246 /* "BLOB" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+18027 /* "BLOB" */, uintptr(0)) break default: @@ -94794,8 +96359,8 @@ func test_column_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var iVal i64 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -94824,8 +96389,8 @@ func test_column_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var pBlob uintptr if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -94856,8 +96421,8 @@ func test_column_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rVal float64 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -94883,8 +96448,8 @@ func test_data_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var pStmt uintptr at bp+40, 8 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -94914,8 +96479,8 @@ func test_stmt_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -94962,8 +96527,8 @@ func test_stmt_utf16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -95005,8 +96570,8 @@ func test_stmt_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 xFunc = clientData if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17222 /* " STMT column" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+18003 /* " STMT column" */, 0)) return TCL_ERROR } @@ -95031,20 +96596,20 @@ func sqlite_set_magic(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // var db uintptr at bp+40, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17251 /* " DB MAGIC" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18032 /* " DB MAGIC" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { return TCL_ERROR } - if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17261 /* "SQLITE_MAGIC_OPE..." */) == 0 { + if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18042 /* "SQLITE_MAGIC_OPE..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmagic = SQLITE_MAGIC_OPEN - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17279 /* "SQLITE_MAGIC_CLO..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18060 /* "SQLITE_MAGIC_CLO..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmagic = SQLITE_MAGIC_CLOSED - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17299 /* "SQLITE_MAGIC_BUS..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18080 /* "SQLITE_MAGIC_BUS..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmagic = SQLITE_MAGIC_BUSY - } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+17317 /* "SQLITE_MAGIC_ERR..." */) == 0 { + } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18098 /* "SQLITE_MAGIC_ERR..." */) == 0 { (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmagic = SQLITE_MAGIC_ERROR } else if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), (*(*uintptr)(unsafe.Pointer(bp + 40 /* db */))+116 /* &.magic */)) != 0 { return TCL_ERROR @@ -95062,7 +96627,7 @@ func test_interrupt(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // var db uintptr at bp+40, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { @@ -95085,8 +96650,8 @@ func delete_function(tls *libc.TLS, clientData uintptr, interp uintptr, argc int // var db uintptr at bp+40, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17336 /* " DB function-nam..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { @@ -95110,8 +96675,8 @@ func delete_collation(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // var db uintptr at bp+40, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+17336 /* " DB function-nam..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { @@ -95135,8 +96700,8 @@ func get_autocommit(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // var db uintptr at bp+80, 8 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80 /* &db */) != 0 { @@ -95162,8 +96727,8 @@ func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc i // var db uintptr at bp+64, 8 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+64 /* &db */) != 0 { @@ -95184,7 +96749,7 @@ func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc i func tcl_variable_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5514:26: */ var pVar uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17354 /* "VARIABLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18135 /* "VARIABLE" */) return TCL_ERROR } pVar = tcl.XTcl_GetVar2Ex(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0), TCL_LEAVE_ERR_MSG) @@ -95210,7 +96775,7 @@ func test_release_memory(tls *libc.TLS, clientData uintptr, interp uintptr, objc var amt int32 if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -95308,7 +96873,7 @@ func test_db_filename(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var zDbName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &db */) != 0 { @@ -95331,7 +96896,7 @@ func test_db_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var zDbName uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15916 /* "DB DBNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -95354,7 +96919,7 @@ func test_soft_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, obj var amt sqlite3_int64 *(*Tcl_WideInt)(unsafe.Pointer(bp /* N */)) = int64(-1) if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -95379,7 +96944,7 @@ func test_hard_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, obj var amt sqlite3_int64 *(*Tcl_WideInt)(unsafe.Pointer(bp /* N */)) = int64(-1) if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17363 /* "?N?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18144 /* "?N?" */) return TCL_ERROR } if objc == 2 { @@ -95416,8 +96981,8 @@ func test_pager_refcounts(tls *libc.TLS, clientData uintptr, interp uintptr, obj var pResult uintptr if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { @@ -95454,7 +97019,7 @@ func working_64bit_int(tls *libc.TLS, clientData ClientData, interp uintptr, obj var working int32 = 0 pTestObj = tcl.XTcl_NewWideIntObj(tls, (int64(1000000) * int64(1234567890))) - working = (libc.Bool32(libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, pTestObj), ts+17367 /* "1234567890000000" */) == 0)) + working = (libc.Bool32(libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, pTestObj), ts+18148 /* "1234567890000000" */) == 0)) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pTestObj if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -95484,8 +97049,8 @@ func vfs_unlink_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var two sqlite3_vfs at bp+168, 168 sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(0)) // Unregister of NULL is harmless - (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 17384 /* "__one" */ - (*sqlite3_vfs)(unsafe.Pointer(bp + 168 /* &two */)).FzName = ts + 17390 /* "__two" */ + (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 18165 /* "__one" */ + (*sqlite3_vfs)(unsafe.Pointer(bp + 168 /* &two */)).FzName = ts + 18171 /* "__two" */ // Calling sqlite3_vfs_register with 2nd argument of 0 does not // change the default VFS @@ -95558,7 +97123,7 @@ func vfs_initfail_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj // var one sqlite3_vfs at bp, 168 - (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 17384 /* "__one" */ + (*sqlite3_vfs)(unsafe.Pointer(bp /* &one */)).FzName = ts + 18165 /* "__one" */ if sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) != 0 { return TCL_ERROR @@ -95622,8 +97187,8 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj _ = rc if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { @@ -95631,7 +97196,7 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), uintptr(0), 0, bp+48 /* &iArg */) - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+17396 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+48 /* &iArg */) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+18177 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+48 /* &iArg */) rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+85 /* "main" */, -1, bp+48 /* &iArg */) @@ -95654,8 +97219,8 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui var rc int32 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -95667,7 +97232,7 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 88 /* iArg */)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+17409, /* "Unexpected non-z..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+18190, /* "Unexpected non-z..." */ tcl.XTcl_GetStringFromObj(tls, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 88 /* iArg */))), uintptr(0)), ts+4755 /* " " */, 0)) return TCL_ERROR } @@ -95691,7 +97256,7 @@ func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uint // var zBuf [100]int8 at bp+28, 100 if (objc != 3) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17437 /* "DB [DBNAME]" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18218 /* "DB [DBNAME]" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { @@ -95708,7 +97273,7 @@ func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uint tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) return TCL_ERROR } else { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+28 /* &zBuf[0] */, ts+17449 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 24 /* iVers */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+28 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 24 /* iVers */)))) tcl.XTcl_SetResult(tls, interp, bp+28 /* zBuf */, uintptr(1)) return TCL_OK } @@ -95732,7 +97297,7 @@ func file_control_chunksize_test(tls *libc.TLS, clientData ClientData, interp ui var rc int32 // file_control() return code if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17452 /* "DB DBNAME SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18233 /* "DB DBNAME SIZE" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || @@ -95768,7 +97333,7 @@ func file_control_sizehint_test(tls *libc.TLS, clientData ClientData, interp uin var rc int32 // file_control() return code if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17452 /* "DB DBNAME SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18233 /* "DB DBNAME SIZE" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || @@ -95800,8 +97365,8 @@ func file_control_lockproxy_test(tls *libc.TLS, clientData ClientData, interp ui // var db uintptr at bp+40, 8 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17467 /* " DB PWD" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18248 /* " DB PWD" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { @@ -95827,8 +97392,8 @@ func file_control_win32_av_retry(tls *libc.TLS, clientData ClientData, interp ui // var z [100]int8 at bp+112, 100 if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17475 /* " DB NRETRY DELAY" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18256 /* " DB NRETRY DELAY" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+96 /* &db */) != 0 { @@ -95841,7 +97406,7 @@ func file_control_win32_av_retry(tls *libc.TLS, clientData ClientData, interp ui return TCL_ERROR } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* db */)), uintptr(0), SQLITE_FCNTL_WIN32_AV_RETRY, bp+104 /* a */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+112 /* &z[0] */, ts+17492 /* "%d %d %d" */, libc.VaList(bp+40, rc, *(*int32)(unsafe.Pointer(bp + 104 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 104 /* &a[0] */ + 1*4)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+112 /* &z[0] */, ts+18273 /* "%d %d %d" */, libc.VaList(bp+40, rc, *(*int32)(unsafe.Pointer(bp + 104 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 104 /* &a[0] */ + 1*4)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, bp+112 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -95861,8 +97426,8 @@ func file_control_win32_get_handle(tls *libc.TLS, clientData ClientData, interp // var z [100]int8 at bp+104, 100 if objc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+14681 /* " DB" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+88 /* &db */) != 0 { @@ -95870,7 +97435,7 @@ func file_control_win32_get_handle(tls *libc.TLS, clientData ClientData, interp } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* db */)), uintptr(0), SQLITE_FCNTL_WIN32_GET_HANDLE, bp+96 /* &hFile */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &z[0] */, ts+17501 /* "%d %p" */, libc.VaList(bp+40, rc, *(*HANDLE)(unsafe.Pointer(bp + 96 /* hFile */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &z[0] */, ts+18282 /* "%d %p" */, libc.VaList(bp+40, rc, *(*HANDLE)(unsafe.Pointer(bp + 96 /* hFile */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+104 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -95890,8 +97455,8 @@ func file_control_win32_set_handle(tls *libc.TLS, clientData ClientData, interp // var z [100]int8 at bp+104, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17507 /* " DB HANDLE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18288 /* " DB HANDLE" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+88 /* &db */) != 0 { @@ -95902,7 +97467,7 @@ func file_control_win32_set_handle(tls *libc.TLS, clientData ClientData, interp } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* db */)), uintptr(0), SQLITE_FCNTL_WIN32_SET_HANDLE, bp+96 /* &hFile */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &z[0] */, ts+17501 /* "%d %p" */, libc.VaList(bp+40, rc, *(*HANDLE)(unsafe.Pointer(bp + 96 /* hFile */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &z[0] */, ts+18282 /* "%d %p" */, libc.VaList(bp+40, rc, *(*HANDLE)(unsafe.Pointer(bp + 96 /* hFile */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+104 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -95923,8 +97488,8 @@ func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintp // var z [100]int8 at bp+100, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17518 /* " DB FLAG" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18299 /* " DB FLAG" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+88 /* &db */) != 0 { @@ -95934,7 +97499,7 @@ func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintp return TCL_ERROR } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* db */)), uintptr(0), SQLITE_FCNTL_PERSIST_WAL, bp+96 /* &bPersist */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+100 /* &z[0] */, ts+17527 /* "%d %d" */, libc.VaList(bp+40, rc, *(*int32)(unsafe.Pointer(bp + 96 /* bPersist */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+100 /* &z[0] */, ts+18308 /* "%d %d" */, libc.VaList(bp+40, rc, *(*int32)(unsafe.Pointer(bp + 96 /* bPersist */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+100 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -95955,8 +97520,8 @@ func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, inte // var z [100]int8 at bp+100, 100 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17518 /* " DB FLAG" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18299 /* " DB FLAG" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+88 /* &db */) != 0 { @@ -95966,7 +97531,7 @@ func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, inte return TCL_ERROR } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* db */)), uintptr(0), SQLITE_FCNTL_POWERSAFE_OVERWRITE, bp+96 /* &b */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+100 /* &z[0] */, ts+17527 /* "%d %d" */, libc.VaList(bp+40, rc, *(*int32)(unsafe.Pointer(bp + 96 /* b */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+100 /* &z[0] */, ts+18308 /* "%d %d" */, libc.VaList(bp+40, rc, *(*int32)(unsafe.Pointer(bp + 96 /* b */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+100 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -95984,8 +97549,8 @@ func file_control_vfsname(tls *libc.TLS, clientData ClientData, interp uintptr, *(*uintptr)(unsafe.Pointer(bp + 72 /* zVfsName */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17533 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18314 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -96012,7 +97577,7 @@ func file_control_reservebytes(tls *libc.TLS, clientData ClientData, interp uint var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17545 /* "DB N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18326 /* "DB N" */) return TCL_ERROR } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || @@ -96038,8 +97603,8 @@ func file_control_tempfilename(tls *libc.TLS, clientData ClientData, interp uint *(*uintptr)(unsafe.Pointer(bp + 72 /* zTName */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17533 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18314 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { @@ -96068,8 +97633,8 @@ func file_control_external_reader(tls *libc.TLS, clientData ClientData, interp u var rc int32 = SQLITE_OK if (objc != 2) && (objc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17533 /* " DB ?AUXDB?" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18314 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { @@ -96122,8 +97687,8 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 var zId uintptr if objc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17550 /* " DB ID VALUE" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18331 /* " DB ID VALUE" */, 0)) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+72 /* &db */) != 0 { @@ -96145,7 +97710,7 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 Fid int32 _ [4]byte }{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+17563 /* "unknown limit ty..." */, zId, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+18344 /* "unknown limit ty..." */, zId, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+80 /* &val */) != 0 { @@ -96161,22 +97726,22 @@ var aId = [14]struct { Fid int32 _ [4]byte }{ - {FzName: ts + 17584 /* "SQLITE_LIMIT_LEN..." */}, - {FzName: ts + 17604 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, - {FzName: ts + 17628 /* "SQLITE_LIMIT_COL..." */, Fid: SQLITE_LIMIT_COLUMN}, - {FzName: ts + 17648 /* "SQLITE_LIMIT_EXP..." */, Fid: SQLITE_LIMIT_EXPR_DEPTH}, - {FzName: ts + 17672 /* "SQLITE_LIMIT_COM..." */, Fid: SQLITE_LIMIT_COMPOUND_SELECT}, - {FzName: ts + 17701 /* "SQLITE_LIMIT_VDB..." */, Fid: SQLITE_LIMIT_VDBE_OP}, - {FzName: ts + 17722 /* "SQLITE_LIMIT_FUN..." */, Fid: SQLITE_LIMIT_FUNCTION_ARG}, - {FzName: ts + 17748 /* "SQLITE_LIMIT_ATT..." */, Fid: SQLITE_LIMIT_ATTACHED}, - {FzName: ts + 17770 /* "SQLITE_LIMIT_LIK..." */, Fid: SQLITE_LIMIT_LIKE_PATTERN_LENGTH}, - {FzName: ts + 17803 /* "SQLITE_LIMIT_VAR..." */, Fid: SQLITE_LIMIT_VARIABLE_NUMBER}, - {FzName: ts + 17832 /* "SQLITE_LIMIT_TRI..." */, Fid: SQLITE_LIMIT_TRIGGER_DEPTH}, - {FzName: ts + 17859 /* "SQLITE_LIMIT_WOR..." */, Fid: SQLITE_LIMIT_WORKER_THREADS}, + {FzName: ts + 18365 /* "SQLITE_LIMIT_LEN..." */}, + {FzName: ts + 18385 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, + {FzName: ts + 18409 /* "SQLITE_LIMIT_COL..." */, Fid: SQLITE_LIMIT_COLUMN}, + {FzName: ts + 18429 /* "SQLITE_LIMIT_EXP..." */, Fid: SQLITE_LIMIT_EXPR_DEPTH}, + {FzName: ts + 18453 /* "SQLITE_LIMIT_COM..." */, Fid: SQLITE_LIMIT_COMPOUND_SELECT}, + {FzName: ts + 18482 /* "SQLITE_LIMIT_VDB..." */, Fid: SQLITE_LIMIT_VDBE_OP}, + {FzName: ts + 18503 /* "SQLITE_LIMIT_FUN..." */, Fid: SQLITE_LIMIT_FUNCTION_ARG}, + {FzName: ts + 18529 /* "SQLITE_LIMIT_ATT..." */, Fid: SQLITE_LIMIT_ATTACHED}, + {FzName: ts + 18551 /* "SQLITE_LIMIT_LIK..." */, Fid: SQLITE_LIMIT_LIKE_PATTERN_LENGTH}, + {FzName: ts + 18584 /* "SQLITE_LIMIT_VAR..." */, Fid: SQLITE_LIMIT_VARIABLE_NUMBER}, + {FzName: ts + 18613 /* "SQLITE_LIMIT_TRI..." */, Fid: SQLITE_LIMIT_TRIGGER_DEPTH}, + {FzName: ts + 18640 /* "SQLITE_LIMIT_WOR..." */, Fid: SQLITE_LIMIT_WORKER_THREADS}, // Out of range test cases - {FzName: ts + 17887 /* "SQLITE_LIMIT_TOO..." */, Fid: -1}, - {FzName: ts + 17909 /* "SQLITE_LIMIT_TOO..." */, Fid: (SQLITE_LIMIT_WORKER_THREADS + 1)}, + {FzName: ts + 18668 /* "SQLITE_LIMIT_TOO..." */, Fid: -1}, + {FzName: ts + 18690 /* "SQLITE_LIMIT_TOO..." */, Fid: (SQLITE_LIMIT_WORKER_THREADS + 1)}, } /* test1.c:6595:5 */ // tclcmd: save_prng_state @@ -96226,7 +97791,7 @@ func prng_seed(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, *(*int32)(unsafe.Pointer(bp + 24 /* i */)) = 0 *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)) = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17929 /* "SEED ?DB?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18710 /* "SEED ?DB?" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &i */) != 0 { @@ -96251,7 +97816,7 @@ func extra_schema_checks(tls *libc.TLS, clientData ClientData, interp uintptr, o *(*int32)(unsafe.Pointer(bp + 16 /* i */)) = 0 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17939 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18720 /* "BOOLEAN" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &i */) != 0 { @@ -96304,13 +97869,13 @@ func test_pcache_stats(tls *libc.TLS, clientData ClientData, interp uintptr, obj sqlite3.Xsqlite3PcacheStats(tls, bp /* &nCurrent */, bp+4 /* &nMax */, bp+8 /* &nMin */, bp+12 /* &nRecyclable */) pRet = tcl.XTcl_NewObj(tls) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17947 /* "current" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18728 /* "current" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp /* nCurrent */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17955 /* "max" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18736 /* "max" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4 /* nMax */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17959 /* "min" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18740 /* "min" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 8 /* nMin */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+17963 /* "recyclable" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18744 /* "recyclable" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 12 /* nRecyclable */)))) tcl.XTcl_SetObjResult(tls, interp, pRet) @@ -96321,7 +97886,7 @@ func test_pcache_stats(tls *libc.TLS, clientData ClientData, interp uintptr, obj func test_unlock_notify_cb(tls *libc.TLS, aArg uintptr, nArg int32) { /* test1.c:6808:13: */ var ii int32 for ii = 0; ii < nArg; ii++ { - tcl.XTcl_EvalEx(tls, *(*uintptr)(unsafe.Pointer(aArg + uintptr(ii)*8)), ts+13372 /* "unlock_notify" */, -1, TCL_EVAL_GLOBAL) + tcl.XTcl_EvalEx(tls, *(*uintptr)(unsafe.Pointer(aArg + uintptr(ii)*8)), ts+14153 /* "unlock_notify" */, -1, TCL_EVAL_GLOBAL) } } @@ -96360,7 +97925,7 @@ func test_wal_checkpoint(tls *libc.TLS, clientData ClientData, interp uintptr, o var rc int32 if (objc != 3) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17974 /* "DB ?NAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18755 /* "DB ?NAME?" */) return TCL_ERROR } @@ -96405,10 +97970,10 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr *(*int32)(unsafe.Pointer(bp + 100 /* nCkpt */)) = -555 var pRet uintptr - *(*[5]uintptr)(unsafe.Pointer(bp + 56 /* aMode */)) = [5]uintptr{ts + 17984 /* "passive" */, ts + 17992 /* "full" */, ts + 17997 /* "restart" */, ts + 18005 /* "truncate" */, uintptr(0)} + *(*[5]uintptr)(unsafe.Pointer(bp + 56 /* aMode */)) = [5]uintptr{ts + 18765 /* "passive" */, ts + 18773 /* "full" */, ts + 18778 /* "restart" */, ts + 18786 /* "truncate" */, uintptr(0)} if (objc != 3) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18014 /* "DB MODE ?NAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18795 /* "DB MODE ?NAME?" */) return TCL_ERROR } @@ -96416,7 +97981,7 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) } if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0) || ((TCL_OK != tcl.XTcl_GetIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &eMode */)) && - (TCL_OK != tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56 /* &aMode[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+18029 /* "mode" */, 0, bp+48 /* &eMode */))) { + (TCL_OK != tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56 /* &aMode[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+18810 /* "mode" */, 0, bp+48 /* &eMode */))) { return TCL_ERROR } @@ -96453,7 +98018,7 @@ func test_wal_autocheckpoint(tls *libc.TLS, clientData ClientData, interp uintpt // var iVal int32 at bp+8, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18034 /* "DB VALUE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18815 /* "DB VALUE" */) return TCL_ERROR } @@ -96502,7 +98067,7 @@ func test_sqlite3_log(tls *libc.TLS, clientData ClientData, interp uintptr, objc defer tls.Free(48) if objc > 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11583 /* "SCRIPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10650 /* "SCRIPT" */) return TCL_ERROR } if logcallback.FpObj != 0 { @@ -96538,16 +98103,16 @@ func runAsObjProc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var cmdInfo Tcl_CmdInfo at bp+64, 64 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18043 /* "COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18824 /* "COMMAND ..." */) return TCL_ERROR } if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &cmdInfo */) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14539, /* "command not foun..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } if (*Tcl_CmdInfo)(unsafe.Pointer(bp+64 /* &cmdInfo */)).FobjProc == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18055, /* "command has no o..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18836, /* "command has no o..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } @@ -96592,7 +98157,7 @@ func printExplainQueryPlan(tls *libc.TLS, pStmt uintptr) int32 { /* test1.c:7063 var iFrom int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pExplain */)), 2) var zDetail uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pExplain */)), 3) - libc.Xprintf(tls, ts+18080 /* "%d %d %d %s\n" */, libc.VaList(bp+16, iSelectid, iOrder, iFrom, zDetail)) + libc.Xprintf(tls, ts+18861 /* "%d %d %d %s\n" */, libc.VaList(bp+16, iSelectid, iOrder, iFrom, zDetail)) } return sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pExplain */))) @@ -96606,7 +98171,7 @@ func test_print_eqp(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // var pStmt uintptr at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16637 /* "STMT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17418 /* "STMT" */) return TCL_ERROR } if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &pStmt */) != 0 { @@ -96627,10 +98192,10 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i defer tls.Free(216) *(*[4]Verb)(unsafe.Pointer(bp + 96 /* aVerb */)) = [4]Verb{ - {FzName: ts + 18093 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT}, - {FzName: ts + 18125 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_SORTER_MMAP}, - {FzName: ts + 18153 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_IMPOSTER}, - {FzName: ts + 18178 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS}, + {FzName: ts + 18874 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT}, + {FzName: ts + 18906 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_SORTER_MMAP}, + {FzName: ts + 18934 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_IMPOSTER}, + {FzName: ts + 18959 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS}, } // var iVerb int32 at bp+160, 4 @@ -96638,12 +98203,12 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var rc int32 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18213 /* "VERB ARGS..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18994 /* "VERB ARGS..." */) return TCL_ERROR } rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+96 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+18226 /* "VERB" */, 0, bp+160 /* &iVerb */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+96 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+19007 /* "VERB" */, 0, bp+160 /* &iVerb */) if rc != TCL_OK { return rc } @@ -96669,7 +98234,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var val int32 at bp+176, 4 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18231 /* "ONOFF" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+19012 /* "ONOFF" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+176 /* &val */) != 0 { @@ -96687,7 +98252,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+184, 8 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18237 /* "DB LIMIT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+19018 /* "DB LIMIT" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+184 /* &db */) != 0 { @@ -96711,7 +98276,7 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+200, 8 if objc != 6 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18246 /* "DB dbName onOff ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+19027 /* "DB dbName onOff ..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+200 /* &db */) != 0 { @@ -96807,11 +98372,11 @@ func win32_file_lock(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var wResult DWORD if (objc != 4) && (objc != 1) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18267 /* "FILENAME DELAY1 ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19048 /* "FILENAME DELAY1 ..." */) return TCL_ERROR } if objc == 1 { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+208 /* &zBuf[0] */, ts+18290, /* "%d %d %d %d %d" */ + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+208 /* &zBuf[0] */, ts+19071, /* "%d %d %d %d %d" */ libc.VaList(bp, x.Fok, x.Ferr, x.Fdelay1, x.Fdelay2, x.Fh)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+208 /* &zBuf[0] */, uintptr(0))) return TCL_OK @@ -96821,7 +98386,7 @@ func win32_file_lock(tls *libc.TLS, clientData uintptr, interp uintptr, objc int libc.XSleep(tls, uint32(100)) } if x.Fh != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+13075 /* "busy" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+13856 /* "busy" */, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), (uintptr(unsafe.Pointer(&x))+16 /* &.delay1 */)) != 0 { @@ -96835,19 +98400,19 @@ func win32_file_lock(tls *libc.TLS, clientData uintptr, interp uintptr, objc int (uint32(FILE_SHARE_READ | FILE_SHARE_WRITE)), uintptr(0), uint32(OPEN_ALWAYS), uint32(FILE_ATTRIBUTE_NORMAL), uintptr(0)) if !(int32(x.Fh) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+96, ts+18305 /* "cannot open file..." */, zFilename, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+96, ts+19086 /* "cannot open file..." */, zFilename, uintptr(0))) return TCL_ERROR } ev = libc.XCreateEventA(tls, uintptr(0), TRUE, FALSE, x.FevName) if !(ev != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+128, ts+18324 /* "cannot create ev..." */, x.FevName, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+128, ts+19105 /* "cannot create ev..." */, x.FevName, uintptr(0))) return TCL_ERROR } libc.X_beginthread(tls, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{win32_file_locker})), uint32(0), uintptr(unsafe.Pointer(&x))) libc.XSleep(tls, uint32(0)) if (libc.AssignUint32(&wResult, libc.XWaitForSingleObject(tls, ev, uint32(10000)))) != ((DWORD(0x00000000)) + DWORD(0)) { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+208 /* &zBuf[0] */, ts+18346 /* "0x%x" */, libc.VaList(bp+160, wResult)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+176, ts+18351 /* "wait failed: " */, bp+208 /* &zBuf[0] */, uintptr(0))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+208 /* &zBuf[0] */, ts+19127 /* "0x%x" */, libc.VaList(bp+160, wResult)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+176, ts+19132 /* "wait failed: " */, bp+208 /* &zBuf[0] */, uintptr(0))) libc.XCloseHandle(tls, ev) return TCL_ERROR } @@ -96855,7 +98420,7 @@ func win32_file_lock(tls *libc.TLS, clientData uintptr, interp uintptr, objc int return TCL_OK } -var x = win32FileLocker{FevName: ts + 18365 /* "win32_file_lock" */} /* test1.c:7289:33 */ +var x = win32FileLocker{FevName: ts + 19146 /* "win32_file_lock" */} /* test1.c:7289:33 */ // exists_win32_path PATH // @@ -96863,7 +98428,7 @@ var x = win32FileLocker{FevName: ts + 18365 /* "win32_file_lock" */} /* test1.c: // may exceed 260 characters if it is prefixed with "\\?\". func win32_exists_path(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:7347:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15992 /* "PATH" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16773 /* "PATH" */) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((libc.Bool32(libc.XGetFileAttributesW(tls, tcl.XTcl_GetUnicode(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) != (libc.Uint32(libc.Uint32FromInt32(-1))))) != 0)))) @@ -96885,7 +98450,7 @@ func win32_find_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var listObj uintptr var lastErrno DWORD if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18381 /* "PATTERN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19162 /* "PATTERN" */) return TCL_ERROR } hFindFile = libc.XFindFirstFileW(tls, tcl.XTcl_GetUnicode(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &findData */) @@ -96924,7 +98489,7 @@ func win32_find_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // characters if it is prefixed with "\\?\". func win32_delete_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:7414:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18389 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19170 /* "FILENAME" */) return TCL_ERROR } if !(libc.XDeleteFileW(tls, tcl.XTcl_GetUnicode(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) != 0) { @@ -96941,7 +98506,7 @@ func win32_delete_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // characters if it is prefixed with "\\?\". func win32_mkdir(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:7438:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18398 /* "DIRECTORY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19179 /* "DIRECTORY" */) return TCL_ERROR } if !(libc.XCreateDirectoryW(tls, tcl.XTcl_GetUnicode(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0)) != 0) { @@ -96958,7 +98523,7 @@ func win32_mkdir(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // characters if it is prefixed with "\\?\". func win32_rmdir(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:7462:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18398 /* "DIRECTORY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19179 /* "DIRECTORY" */) return TCL_ERROR } if !(libc.XRemoveDirectoryW(tls, tcl.XTcl_GetUnicode(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) != 0) { @@ -96987,7 +98552,7 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj var mask int32 = 0 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18408 /* "DB OPT BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19189 /* "DB OPT BOOLEAN" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -97015,7 +98580,7 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj Fmask int32 _ [4]byte }{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18423, /* "unknown optimiza..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19204, /* "unknown optimiza..." */ uintptr(0))) for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aOpt)) / uint64(unsafe.Sizeof(struct { FzOptName uintptr @@ -97035,19 +98600,19 @@ var aOpt = [13]struct { Fmask int32 _ [4]byte }{ - {FzOptName: ts + 18464 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, - {FzOptName: ts + 18468 /* "none" */}, - {FzOptName: ts + 18473 /* "query-flattener" */, Fmask: SQLITE_QueryFlattener}, - {FzOptName: ts + 18489 /* "groupby-order" */, Fmask: SQLITE_GroupByOrder}, - {FzOptName: ts + 18503 /* "factor-constants" */, Fmask: SQLITE_FactorOutConst}, - {FzOptName: ts + 18520 /* "distinct-opt" */, Fmask: SQLITE_DistinctOpt}, - {FzOptName: ts + 18533 /* "cover-idx-scan" */, Fmask: SQLITE_CoverIdxScan}, - {FzOptName: ts + 18548 /* "order-by-idx-joi..." */, Fmask: SQLITE_OrderByIdxJoin}, - {FzOptName: ts + 18566 /* "transitive" */, Fmask: SQLITE_Transitive}, - {FzOptName: ts + 18577 /* "omit-noop-join" */, Fmask: SQLITE_OmitNoopJoin}, - {FzOptName: ts + 18592 /* "stat4" */, Fmask: SQLITE_Stat4}, - {FzOptName: ts + 18598 /* "skip-scan" */, Fmask: SQLITE_SkipScan}, - {FzOptName: ts + 18608 /* "push-down" */, Fmask: SQLITE_PushDown}, + {FzOptName: ts + 19245 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, + {FzOptName: ts + 19249 /* "none" */}, + {FzOptName: ts + 19254 /* "query-flattener" */, Fmask: SQLITE_QueryFlattener}, + {FzOptName: ts + 19270 /* "groupby-order" */, Fmask: SQLITE_GroupByOrder}, + {FzOptName: ts + 19284 /* "factor-constants" */, Fmask: SQLITE_FactorOutConst}, + {FzOptName: ts + 19301 /* "distinct-opt" */, Fmask: SQLITE_DistinctOpt}, + {FzOptName: ts + 19314 /* "cover-idx-scan" */, Fmask: SQLITE_CoverIdxScan}, + {FzOptName: ts + 19329 /* "order-by-idx-joi..." */, Fmask: SQLITE_OrderByIdxJoin}, + {FzOptName: ts + 19347 /* "transitive" */, Fmask: SQLITE_Transitive}, + {FzOptName: ts + 19358 /* "omit-noop-join" */, Fmask: SQLITE_OmitNoopJoin}, + {FzOptName: ts + 19373 /* "stat4" */, Fmask: SQLITE_Stat4}, + {FzOptName: ts + 19379 /* "skip-scan" */, Fmask: SQLITE_SkipScan}, + {FzOptName: ts + 19389 /* "push-down" */, Fmask: SQLITE_PushDown}, } /* test1.c:7503:5 */ // load_static_extension DB NAME ... @@ -97065,7 +98630,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr var rc int32 *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrMsg */)) = uintptr(0) if objc < 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18618 /* "DB NAME ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19399 /* "DB NAME ..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { @@ -97085,7 +98650,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr FzExtName uintptr FpInit uintptr }{})))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18630 /* "no such extensio..." */, zName, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19411 /* "no such extensio..." */, zName, uintptr(0))) return TCL_ERROR } if aExtension[i].FpInit != 0 { @@ -97094,7 +98659,7 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr rc = SQLITE_OK } if ((rc != SQLITE_OK) && (rc != (SQLITE_OK | (int32(1) << 8)))) || (*(*uintptr)(unsafe.Pointer(bp + 88 /* zErrMsg */)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18650 /* "initialization o..." */, zName, ts+18669 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrMsg */)), + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19431 /* "initialization o..." */, zName, ts+19450 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrMsg */)), uintptr(0))) sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrMsg */))) return TCL_ERROR @@ -97107,25 +98672,25 @@ var aExtension = [22]struct { FzExtName uintptr FpInit uintptr }{ - {FzExtName: ts + 18679 /* "amatch" */, FpInit: 0}, - {FzExtName: ts + 18686 /* "appendvfs" */, FpInit: 0}, + {FzExtName: ts + 19460 /* "amatch" */, FpInit: 0}, + {FzExtName: ts + 19467 /* "appendvfs" */, FpInit: 0}, {FzExtName: ts + 3921 /* "carray" */, FpInit: 0}, - {FzExtName: ts + 18696 /* "closure" */, FpInit: 0}, + {FzExtName: ts + 19477 /* "closure" */, FpInit: 0}, {FzExtName: ts + 4676 /* "csv" */, FpInit: 0}, {FzExtName: ts + 4699 /* "decimal" */, FpInit: 0}, {FzExtName: ts + 4757 /* "eval" */, FpInit: 0}, {FzExtName: ts + 4835 /* "explain" */, FpInit: 0}, - {FzExtName: ts + 18704 /* "fileio" */, FpInit: 0}, + {FzExtName: ts + 19485 /* "fileio" */, FpInit: 0}, {FzExtName: ts + 5344 /* "fuzzer" */, FpInit: 0}, {FzExtName: ts + 5368 /* "ieee754" */, FpInit: 0}, - {FzExtName: ts + 18711 /* "nextchar" */, FpInit: 0}, + {FzExtName: ts + 19492 /* "nextchar" */, FpInit: 0}, {FzExtName: ts + 5948 /* "percentile" */, FpInit: 0}, {FzExtName: ts + 6023 /* "prefixes" */, FpInit: 0}, {FzExtName: ts + 6335 /* "regexp" */, FpInit: 0}, {FzExtName: ts + 6350 /* "remember" */, FpInit: 0}, - {FzExtName: ts + 18720 /* "series" */, FpInit: 0}, - {FzExtName: ts + 18727 /* "spellfix" */, FpInit: 0}, - {FzExtName: ts + 18736 /* "totype" */, FpInit: 0}, + {FzExtName: ts + 19501 /* "series" */, FpInit: 0}, + {FzExtName: ts + 19508 /* "spellfix" */, FpInit: 0}, + {FzExtName: ts + 19517 /* "totype" */, FpInit: 0}, {FzExtName: ts + 8367 /* "unionvtab" */, FpInit: 0}, {FzExtName: ts + 8909 /* "wholenumber" */, FpInit: 0}, {FzExtName: ts + 9012 /* "zipfile" */, FpInit: 0}, @@ -97140,7 +98705,7 @@ func sorter_test_fakeheap(tls *libc.TLS, clientData uintptr, interp uintptr, obj // var bArg int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18743 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } @@ -97195,7 +98760,7 @@ func sorter_test_sort4_helper(tls *libc.TLS, clientData uintptr, interp uintptr, if !(objc != 5) { goto __1 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18748 /* "DB SQL1 NSTEP SQ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19524 /* "DB SQL1 NSTEP SQ..." */) return TCL_ERROR __1: ; @@ -97233,7 +98798,7 @@ __5: if !(a != sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)), iB)) { goto __8 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18767 /* "data error: (a!=..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19543 /* "data error: (a!=..." */, 0)) return TCL_ERROR __8: ; @@ -97286,14 +98851,14 @@ __14: if !(iCksum1 != iCksum2) { goto __15 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18786 /* "checksum mismatc..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+19562 /* "checksum mismatc..." */, 0)) return TCL_ERROR __15: ; return TCL_OK sql_error: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+18804 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+19580 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } @@ -97321,7 +98886,7 @@ func test_bad_behavior(tls *libc.TLS, clientData ClientData, interp uintptr, obj var a uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18816 /* "TYPE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19592 /* "TYPE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &iType */) != 0 { @@ -97359,7 +98924,7 @@ func test_bad_behavior(tls *libc.TLS, clientData ClientData, interp uintptr, obj } case 4: { - tcl.XTcl_Panic(tls, ts+18821 /* "Deliberate panic" */, 0) + tcl.XTcl_Panic(tls, ts+19597 /* "Deliberate panic" */, 0) break } @@ -97403,20 +98968,20 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o // var db uintptr at bp+24, 8 if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18838 /* "DB SETTING [VALU..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19614 /* "DB SETTING [VALU..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &db */) != 0 { return TCL_ERROR } zSetting = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if sqlite3.Xsqlite3_strglob(tls, ts+18857 /* "SQLITE_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19633 /* "SQLITE_*" */, zSetting) == 0 { zSetting += uintptr(7) } - if sqlite3.Xsqlite3_strglob(tls, ts+18866 /* "DBCONFIG_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19642 /* "DBCONFIG_*" */, zSetting) == 0 { zSetting += uintptr(9) } - if sqlite3.Xsqlite3_strglob(tls, ts+18877 /* "ENABLE_*" */, zSetting) == 0 { + if sqlite3.Xsqlite3_strglob(tls, ts+19653 /* "ENABLE_*" */, zSetting) == 0 { zSetting += uintptr(7) } for i = 0; i < (int32(uint64(unsafe.Sizeof(aSetting)) / uint64(unsafe.Sizeof(struct { @@ -97434,7 +98999,7 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o _ [4]byte }{})))) { tcl.XTcl_SetObjResult(tls, interp, - tcl.XTcl_NewStringObj(tls, ts+18886 /* "unknown sqlite3_..." */, -1)) + tcl.XTcl_NewStringObj(tls, ts+19662 /* "unknown sqlite3_..." */, -1)) return TCL_ERROR } if objc == 4 { @@ -97454,20 +99019,20 @@ var aSetting = [14]struct { FeVal int32 _ [4]byte }{ - {FzName: ts + 18920 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, - {FzName: ts + 18925 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, - {FzName: ts + 18933 /* "FTS3_TOKENIZER" */, FeVal: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, - {FzName: ts + 18948 /* "LOAD_EXTENSION" */, FeVal: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, - {FzName: ts + 18963 /* "NO_CKPT_ON_CLOSE" */, FeVal: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, - {FzName: ts + 18980 /* "QPSG" */, FeVal: SQLITE_DBCONFIG_ENABLE_QPSG}, - {FzName: ts + 18985 /* "TRIGGER_EQP" */, FeVal: SQLITE_DBCONFIG_TRIGGER_EQP}, - {FzName: ts + 18997 /* "RESET_DB" */, FeVal: SQLITE_DBCONFIG_RESET_DATABASE}, - {FzName: ts + 19006 /* "DEFENSIVE" */, FeVal: SQLITE_DBCONFIG_DEFENSIVE}, - {FzName: ts + 19016 /* "WRITABLE_SCHEMA" */, FeVal: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, - {FzName: ts + 19032 /* "LEGACY_ALTER_TAB..." */, FeVal: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, - {FzName: ts + 19051 /* "DQS_DML" */, FeVal: SQLITE_DBCONFIG_DQS_DML}, - {FzName: ts + 19059 /* "DQS_DDL" */, FeVal: SQLITE_DBCONFIG_DQS_DDL}, - {FzName: ts + 19067 /* "LEGACY_FILE_FORM..." */, FeVal: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, + {FzName: ts + 19696 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, + {FzName: ts + 19701 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, + {FzName: ts + 19709 /* "FTS3_TOKENIZER" */, FeVal: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER}, + {FzName: ts + 19724 /* "LOAD_EXTENSION" */, FeVal: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION}, + {FzName: ts + 19739 /* "NO_CKPT_ON_CLOSE" */, FeVal: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE}, + {FzName: ts + 19756 /* "QPSG" */, FeVal: SQLITE_DBCONFIG_ENABLE_QPSG}, + {FzName: ts + 19761 /* "TRIGGER_EQP" */, FeVal: SQLITE_DBCONFIG_TRIGGER_EQP}, + {FzName: ts + 19773 /* "RESET_DB" */, FeVal: SQLITE_DBCONFIG_RESET_DATABASE}, + {FzName: ts + 19782 /* "DEFENSIVE" */, FeVal: SQLITE_DBCONFIG_DEFENSIVE}, + {FzName: ts + 19792 /* "WRITABLE_SCHEMA" */, FeVal: SQLITE_DBCONFIG_WRITABLE_SCHEMA}, + {FzName: ts + 19808 /* "LEGACY_ALTER_TAB..." */, FeVal: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE}, + {FzName: ts + 19827 /* "DQS_DML" */, FeVal: SQLITE_DBCONFIG_DQS_DML}, + {FzName: ts + 19835 /* "DQS_DDL" */, FeVal: SQLITE_DBCONFIG_DQS_DDL}, + {FzName: ts + 19843 /* "LEGACY_FILE_FORM..." */, FeVal: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT}, } /* test1.c:7986:5 */ // tclcmd: sqlite3_txn_state DB ?SCHEMA? @@ -97485,7 +99050,7 @@ func test_sqlite3_txn_state(tls *libc.TLS, clientData uintptr, interp uintptr, o var iTxn int32 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19086 /* "DB ?SCHEMA?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19862 /* "DB ?SCHEMA?" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -97516,7 +99081,7 @@ func test_dbconfig_maindbname_icecube(tls *libc.TLS, clientData uintptr, interp if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+19098 /* "icecube" */)) + rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+19874 /* "icecube" */)) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_OK } @@ -97529,7 +99094,7 @@ func test_mmap_warm(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 defer tls.Free(8) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19106 /* "DB ?DBNAME?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19882 /* "DB ?DBNAME?" */) return TCL_ERROR } else { var rc int32 @@ -97566,7 +99131,7 @@ func test_write_db(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19118 /* "DB OFFSET DATA" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19894 /* "DB OFFSET DATA" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -97636,7 +99201,7 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var x [16]uint32 at bp+280, 64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19133 /* "HEXDB" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19909 /* "HEXDB" */) return TCL_ERROR } zIn = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -97653,17 +99218,17 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i if a == uintptr(0) { // var pgsz int32 at bp+268, 4 - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19139 /* "| size %d pagesi..." */, libc.VaList(bp, bp+264 /* &n */, bp+268 /* &pgsz */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19915 /* "| size %d pagesi..." */, libc.VaList(bp, bp+264 /* &n */, bp+268 /* &pgsz */)) if rc != 2 { continue } if ((*(*int32)(unsafe.Pointer(bp + 268 /* pgsz */)) < 512) || (*(*int32)(unsafe.Pointer(bp + 268 /* pgsz */)) > 65536)) || ((*(*int32)(unsafe.Pointer(bp + 268 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 268 /* pgsz */)) - 1)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+19161 /* "bad 'pagesize' f..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+19937 /* "bad 'pagesize' f..." */, uintptr(0))) return TCL_ERROR } *(*int32)(unsafe.Pointer(bp + 264 /* n */)) = (((*(*int32)(unsafe.Pointer(bp + 264 /* n */)) + *(*int32)(unsafe.Pointer(bp + 268 /* pgsz */))) - 1) & ^(*(*int32)(unsafe.Pointer(bp + 268 /* pgsz */)) - 1)) // Round n up to the next multiple of pgsz if *(*int32)(unsafe.Pointer(bp + 264 /* n */)) < 512 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+19182 /* "bad 'size' field" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+19958 /* "bad 'size' field" */, uintptr(0))) return TCL_ERROR } a = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 264 /* n */)))) @@ -97674,12 +99239,12 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i libc.Xmemset(tls, a, 0, uint64(*(*int32)(unsafe.Pointer(bp + 264 /* n */)))) continue } - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19199 /* "| page %d offset..." */, libc.VaList(bp+96, bp+272 /* &j */, bp+276 /* &k */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19975 /* "| page %d offset..." */, libc.VaList(bp+96, bp+272 /* &j */, bp+276 /* &k */)) if rc == 2 { iOffset = *(*int32)(unsafe.Pointer(bp + 276 /* k */)) continue } - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19219, /* "| %d: %x %x %x %..." */ + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19995, /* "| %d: %x %x %x %..." */ libc.VaList(bp+120, bp+272 /* &j */, (bp+280 /* &x */), (bp+280 /* &x */ +1*4), (bp+280 /* &x */ +2*4), (bp+280 /* &x */ +3*4), (bp+280 /* &x */ +4*4), (bp+280 /* &x */ +5*4), (bp+280 /* &x */ +6*4), (bp+280 /* &x */ +7*4), (bp+280 /* &x */ +8*4), (bp+280 /* &x */ +9*4), (bp+280 /* &x */ +10*4), (bp+280 /* &x */ +11*4), (bp+280 /* &x */ +12*4), (bp+280 /* &x */ +13*4), (bp+280 /* &x */ +14*4), (bp+280 /* &x */ +15*4))) if rc == 17 { @@ -97716,58 +99281,58 @@ func Sqlitetest1_Init(tls *libc.TLS, interp uintptr) int32 { /* test1.c:8271:5: tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd1[i].FzName, aObjCmd1[i].FxProc, aObjCmd1[i].FclientData, uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+19273, /* "sqlite_search_co..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20049, /* "sqlite_search_co..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_search_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19293, /* "sqlite_found_cou..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20069, /* "sqlite_found_cou..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_found_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19312, /* "sqlite_sort_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20088, /* "sqlite_sort_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sort_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19330, /* "sqlite3_max_blob..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20106, /* "sqlite3_max_blob..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_max_blobsize)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19351, /* "sqlite_like_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20127, /* "sqlite_like_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_like_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19369, /* "sqlite_interrupt..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20145, /* "sqlite_interrupt..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_interrupt_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19392, /* "sqlite_open_file..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20168, /* "sqlite_open_file..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_open_file_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19415, /* "sqlite_current_t..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20191, /* "sqlite_current_t..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_current_time)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19435, /* "sqlite3_xferopt_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20211, /* "sqlite3_xferopt_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_xferopt_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19457, /* "sqlite3_pager_re..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20233, /* "sqlite3_pager_re..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_readdb_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19484, /* "sqlite3_pager_wr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20260, /* "sqlite3_pager_wr..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writedb_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19512, /* "sqlite3_pager_wr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20288, /* "sqlite3_pager_wr..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writej_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19539, /* "unaligned_string..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20315, /* "unaligned_string..." */ uintptr(unsafe.Pointer(&unaligned_string_counter)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19564, /* "sqlite_last_need..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20340, /* "sqlite_last_need..." */ uintptr(unsafe.Pointer(&pzNeededCollation)), (TCL_LINK_STRING | TCL_LINK_READ_ONLY)) - tcl.XTcl_LinkVar(tls, interp, ts+19593, /* "sqlite_os_type" */ + tcl.XTcl_LinkVar(tls, interp, ts+20369, /* "sqlite_os_type" */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_os_type)), TCL_LINK_LONG) { - tcl.XTcl_LinkVar(tls, interp, ts+19608, /* "sqlite_query_pla..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20384, /* "sqlite_query_pla..." */ uintptr(unsafe.Pointer(&query_plan)), (TCL_LINK_STRING | TCL_LINK_READ_ONLY)) } - tcl.XTcl_LinkVar(tls, interp, ts+19626, /* "sqlite_opentemp_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20402, /* "sqlite_opentemp_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_opentemp_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19648, /* "sqlite_static_bi..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20424, /* "sqlite_static_bi..." */ uintptr(unsafe.Pointer(&sqlite_static_bind_value)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19673, /* "sqlite_static_bi..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20449, /* "sqlite_static_bi..." */ uintptr(unsafe.Pointer(&sqlite_static_bind_nbyte)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19698, /* "sqlite_temp_dire..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20474, /* "sqlite_temp_dire..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_temp_directory)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19720, /* "sqlite_data_dire..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20496, /* "sqlite_data_dire..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_data_directory)), TCL_LINK_STRING) - tcl.XTcl_LinkVar(tls, interp, ts+19742, /* "bitmask_size" */ + tcl.XTcl_LinkVar(tls, interp, ts+20518, /* "bitmask_size" */ uintptr(unsafe.Pointer(&bitmask_size)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) - tcl.XTcl_LinkVar(tls, interp, ts+19755, /* "longdouble_size" */ + tcl.XTcl_LinkVar(tls, interp, ts+20531, /* "longdouble_size" */ uintptr(unsafe.Pointer(&longdouble_size)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) - tcl.XTcl_LinkVar(tls, interp, ts+19771, /* "sqlite_sync_coun..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20547, /* "sqlite_sync_coun..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sync_count)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+19789, /* "sqlite_fullsync_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+20565, /* "sqlite_fullsync_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_fullsync_count)), TCL_LINK_INT) return TCL_OK } @@ -97777,235 +99342,235 @@ var aCmd1 = [40]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 19811 /* "db_enter" */, FxProc: 0}, - {FzName: ts + 19820 /* "db_leave" */, FxProc: 0}, - {FzName: ts + 19829 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19849 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19871 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19892 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19912 /* "sqlite3_snprintf..." */, FxProc: 0}, - {FzName: ts + 19933 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19957 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 19980 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 20003 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 20029 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 20052 /* "sqlite3_mprintf_..." */, FxProc: 0}, - {FzName: ts + 20075 /* "sqlite3_snprintf..." */, FxProc: 0}, - {FzName: ts + 20096 /* "sqlite3_last_ins..." */, FxProc: 0}, - {FzName: ts + 20122 /* "sqlite3_exec_pri..." */, FxProc: 0}, - {FzName: ts + 20142 /* "sqlite3_exec_hex" */, FxProc: 0}, - {FzName: ts + 20159 /* "sqlite3_exec" */, FxProc: 0}, - {FzName: ts + 20172 /* "sqlite3_exec_nr" */, FxProc: 0}, - {FzName: ts + 20188 /* "sqlite3_get_tabl..." */, FxProc: 0}, - {FzName: ts + 20213 /* "sqlite3_close" */, FxProc: 0}, - {FzName: ts + 20227 /* "sqlite3_close_v2" */, FxProc: 0}, - {FzName: ts + 20244 /* "sqlite3_create_f..." */, FxProc: 0}, - {FzName: ts + 20268 /* "sqlite3_create_a..." */, FxProc: 0}, - {FzName: ts + 20293 /* "sqlite3_drop_mod..." */, FxProc: 0}, - {FzName: ts + 20314 /* "sqlite_register_..." */, FxProc: 0}, - {FzName: ts + 20344 /* "sqlite_abort" */, FxProc: 0}, - {FzName: ts + 20357 /* "sqlite_bind" */, FxProc: 0}, - {FzName: ts + 20369 /* "breakpoint" */, FxProc: 0}, - {FzName: ts + 20380 /* "sqlite3_key" */, FxProc: 0}, - {FzName: ts + 20392 /* "sqlite3_rekey" */, FxProc: 0}, - {FzName: ts + 20406 /* "sqlite_set_magic" */, FxProc: 0}, - {FzName: ts + 20423 /* "sqlite3_interrup..." */, FxProc: 0}, - {FzName: ts + 20441 /* "sqlite_delete_fu..." */, FxProc: 0}, - {FzName: ts + 20464 /* "sqlite_delete_co..." */, FxProc: 0}, - {FzName: ts + 20488 /* "sqlite3_get_auto..." */, FxProc: 0}, - {FzName: ts + 20511 /* "sqlite3_busy_tim..." */, FxProc: 0}, - {FzName: ts + 20532 /* "printf" */, FxProc: 0}, - {FzName: ts + 20539 /* "sqlite3IoTrace" */, FxProc: 0}, - {FzName: ts + 20554 /* "clang_sanitize_a..." */, FxProc: 0}, + {FzName: ts + 20587 /* "db_enter" */, FxProc: 0}, + {FzName: ts + 20596 /* "db_leave" */, FxProc: 0}, + {FzName: ts + 20605 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20625 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20647 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20668 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20688 /* "sqlite3_snprintf..." */, FxProc: 0}, + {FzName: ts + 20709 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20733 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20756 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20779 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20805 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20828 /* "sqlite3_mprintf_..." */, FxProc: 0}, + {FzName: ts + 20851 /* "sqlite3_snprintf..." */, FxProc: 0}, + {FzName: ts + 20872 /* "sqlite3_last_ins..." */, FxProc: 0}, + {FzName: ts + 20898 /* "sqlite3_exec_pri..." */, FxProc: 0}, + {FzName: ts + 20918 /* "sqlite3_exec_hex" */, FxProc: 0}, + {FzName: ts + 20935 /* "sqlite3_exec" */, FxProc: 0}, + {FzName: ts + 20948 /* "sqlite3_exec_nr" */, FxProc: 0}, + {FzName: ts + 20964 /* "sqlite3_get_tabl..." */, FxProc: 0}, + {FzName: ts + 20989 /* "sqlite3_close" */, FxProc: 0}, + {FzName: ts + 21003 /* "sqlite3_close_v2" */, FxProc: 0}, + {FzName: ts + 21020 /* "sqlite3_create_f..." */, FxProc: 0}, + {FzName: ts + 21044 /* "sqlite3_create_a..." */, FxProc: 0}, + {FzName: ts + 21069 /* "sqlite3_drop_mod..." */, FxProc: 0}, + {FzName: ts + 21090 /* "sqlite_register_..." */, FxProc: 0}, + {FzName: ts + 21120 /* "sqlite_abort" */, FxProc: 0}, + {FzName: ts + 21133 /* "sqlite_bind" */, FxProc: 0}, + {FzName: ts + 21145 /* "breakpoint" */, FxProc: 0}, + {FzName: ts + 21156 /* "sqlite3_key" */, FxProc: 0}, + {FzName: ts + 21168 /* "sqlite3_rekey" */, FxProc: 0}, + {FzName: ts + 21182 /* "sqlite_set_magic" */, FxProc: 0}, + {FzName: ts + 21199 /* "sqlite3_interrup..." */, FxProc: 0}, + {FzName: ts + 21217 /* "sqlite_delete_fu..." */, FxProc: 0}, + {FzName: ts + 21240 /* "sqlite_delete_co..." */, FxProc: 0}, + {FzName: ts + 21264 /* "sqlite3_get_auto..." */, FxProc: 0}, + {FzName: ts + 21287 /* "sqlite3_busy_tim..." */, FxProc: 0}, + {FzName: ts + 21308 /* "printf" */, FxProc: 0}, + {FzName: ts + 21315 /* "sqlite3IoTrace" */, FxProc: 0}, + {FzName: ts + 21330 /* "clang_sanitize_a..." */, FxProc: 0}, } /* test1.c:8288:5 */ var aObjCmd1 = [169]struct { FzName uintptr FxProc uintptr FclientData uintptr }{ - {FzName: ts + 20577 /* "sqlite3_db_confi..." */, FxProc: 0}, - {FzName: ts + 20595 /* "sqlite3_txn_stat..." */, FxProc: 0}, - {FzName: ts + 20613 /* "bad_behavior" */, FxProc: 0, FclientData: 0}, - {FzName: ts + 20626 /* "register_dbstat_..." */, FxProc: 0}, - {FzName: ts + 20647 /* "sqlite3_connecti..." */, FxProc: 0}, - {FzName: ts + 20674 /* "intarray_addr" */, FxProc: 0}, - {FzName: ts + 20688 /* "int64array_addr" */, FxProc: 0}, - {FzName: ts + 20704 /* "doublearray_addr" */, FxProc: 0}, - {FzName: ts + 20721 /* "textarray_addr" */, FxProc: 0}, - {FzName: ts + 20736 /* "sqlite3_bind_int" */, FxProc: 0}, - {FzName: ts + 20753 /* "sqlite3_bind_zer..." */, FxProc: 0}, - {FzName: ts + 20775 /* "sqlite3_bind_zer..." */, FxProc: 0}, - {FzName: ts + 20799 /* "sqlite3_bind_int..." */, FxProc: 0}, - {FzName: ts + 20818 /* "sqlite3_bind_dou..." */, FxProc: 0}, - {FzName: ts + 20838 /* "sqlite3_bind_nul..." */, FxProc: 0}, - {FzName: ts + 20856 /* "sqlite3_bind_tex..." */, FxProc: 0}, - {FzName: ts + 20874 /* "sqlite3_bind_tex..." */, FxProc: 0}, - {FzName: ts + 20894 /* "sqlite3_bind_blo..." */, FxProc: 0}, - {FzName: ts + 20912 /* "sqlite3_carray_b..." */, FxProc: 0}, - {FzName: ts + 20932 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20961 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 20989 /* "sqlite3_bind_par..." */, FxProc: 0}, - {FzName: ts + 21018 /* "sqlite3_clear_bi..." */, FxProc: 0}, - {FzName: ts + 21041 /* "sqlite3_sleep" */, FxProc: 0}, - {FzName: ts + 21055 /* "sqlite3_errcode" */, FxProc: 0}, - {FzName: ts + 21071 /* "sqlite3_extended..." */, FxProc: 0}, - {FzName: ts + 21096 /* "sqlite3_errmsg" */, FxProc: 0}, - {FzName: ts + 21111 /* "sqlite3_errmsg16" */, FxProc: 0}, - {FzName: ts + 21128 /* "sqlite3_open" */, FxProc: 0}, - {FzName: ts + 21141 /* "sqlite3_open16" */, FxProc: 0}, - {FzName: ts + 21156 /* "sqlite3_open_v2" */, FxProc: 0}, - {FzName: ts + 21172 /* "sqlite3_complete..." */, FxProc: 0}, - {FzName: ts + 21191 /* "sqlite3_normaliz..." */, FxProc: 0}, + {FzName: ts + 21353 /* "sqlite3_db_confi..." */, FxProc: 0}, + {FzName: ts + 21371 /* "sqlite3_txn_stat..." */, FxProc: 0}, + {FzName: ts + 21389 /* "bad_behavior" */, FxProc: 0, FclientData: 0}, + {FzName: ts + 21402 /* "register_dbstat_..." */, FxProc: 0}, + {FzName: ts + 21423 /* "sqlite3_connecti..." */, FxProc: 0}, + {FzName: ts + 21450 /* "intarray_addr" */, FxProc: 0}, + {FzName: ts + 21464 /* "int64array_addr" */, FxProc: 0}, + {FzName: ts + 21480 /* "doublearray_addr" */, FxProc: 0}, + {FzName: ts + 21497 /* "textarray_addr" */, FxProc: 0}, + {FzName: ts + 21512 /* "sqlite3_bind_int" */, FxProc: 0}, + {FzName: ts + 21529 /* "sqlite3_bind_zer..." */, FxProc: 0}, + {FzName: ts + 21551 /* "sqlite3_bind_zer..." */, FxProc: 0}, + {FzName: ts + 21575 /* "sqlite3_bind_int..." */, FxProc: 0}, + {FzName: ts + 21594 /* "sqlite3_bind_dou..." */, FxProc: 0}, + {FzName: ts + 21614 /* "sqlite3_bind_nul..." */, FxProc: 0}, + {FzName: ts + 21632 /* "sqlite3_bind_tex..." */, FxProc: 0}, + {FzName: ts + 21650 /* "sqlite3_bind_tex..." */, FxProc: 0}, + {FzName: ts + 21670 /* "sqlite3_bind_blo..." */, FxProc: 0}, + {FzName: ts + 21688 /* "sqlite3_carray_b..." */, FxProc: 0}, + {FzName: ts + 21708 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21737 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21765 /* "sqlite3_bind_par..." */, FxProc: 0}, + {FzName: ts + 21794 /* "sqlite3_clear_bi..." */, FxProc: 0}, + {FzName: ts + 21817 /* "sqlite3_sleep" */, FxProc: 0}, + {FzName: ts + 21831 /* "sqlite3_errcode" */, FxProc: 0}, + {FzName: ts + 21847 /* "sqlite3_extended..." */, FxProc: 0}, + {FzName: ts + 21872 /* "sqlite3_errmsg" */, FxProc: 0}, + {FzName: ts + 21887 /* "sqlite3_errmsg16" */, FxProc: 0}, + {FzName: ts + 21904 /* "sqlite3_open" */, FxProc: 0}, + {FzName: ts + 21917 /* "sqlite3_open16" */, FxProc: 0}, + {FzName: ts + 21932 /* "sqlite3_open_v2" */, FxProc: 0}, + {FzName: ts + 21948 /* "sqlite3_complete..." */, FxProc: 0}, + {FzName: ts + 21967 /* "sqlite3_normaliz..." */, FxProc: 0}, - {FzName: ts + 21209 /* "sqlite3_prepare" */, FxProc: 0}, - {FzName: ts + 21225 /* "sqlite3_prepare1..." */, FxProc: 0}, - {FzName: ts + 21243 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21262 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21281 /* "sqlite3_prepare_..." */, FxProc: 0}, - {FzName: ts + 21305 /* "sqlite3_prepare1..." */, FxProc: 0}, - {FzName: ts + 21326 /* "sqlite3_finalize" */, FxProc: 0}, - {FzName: ts + 21343 /* "sqlite3_stmt_sta..." */, FxProc: 0}, - {FzName: ts + 21363 /* "sqlite3_reset" */, FxProc: 0}, - {FzName: ts + 21377 /* "sqlite3_expired" */, FxProc: 0}, - {FzName: ts + 21393 /* "sqlite3_transfer..." */, FxProc: 0}, - {FzName: ts + 21419 /* "sqlite3_changes" */, FxProc: 0}, - {FzName: ts + 21435 /* "sqlite3_step" */, FxProc: 0}, - {FzName: ts + 21448 /* "sqlite3_sql" */, FxProc: 0}, - {FzName: ts + 21460 /* "sqlite3_expanded..." */, FxProc: 0}, - {FzName: ts + 21481 /* "sqlite3_next_stm..." */, FxProc: 0}, - {FzName: ts + 21499 /* "sqlite3_stmt_rea..." */, FxProc: 0}, - {FzName: ts + 21521 /* "sqlite3_stmt_ise..." */, FxProc: 0}, - {FzName: ts + 21544 /* "sqlite3_stmt_bus..." */, FxProc: 0}, - {FzName: ts + 21562 /* "uses_stmt_journa..." */, FxProc: 0}, + {FzName: ts + 21985 /* "sqlite3_prepare" */, FxProc: 0}, + {FzName: ts + 22001 /* "sqlite3_prepare1..." */, FxProc: 0}, + {FzName: ts + 22019 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 22038 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 22057 /* "sqlite3_prepare_..." */, FxProc: 0}, + {FzName: ts + 22081 /* "sqlite3_prepare1..." */, FxProc: 0}, + {FzName: ts + 22102 /* "sqlite3_finalize" */, FxProc: 0}, + {FzName: ts + 22119 /* "sqlite3_stmt_sta..." */, FxProc: 0}, + {FzName: ts + 22139 /* "sqlite3_reset" */, FxProc: 0}, + {FzName: ts + 22153 /* "sqlite3_expired" */, FxProc: 0}, + {FzName: ts + 22169 /* "sqlite3_transfer..." */, FxProc: 0}, + {FzName: ts + 22195 /* "sqlite3_changes" */, FxProc: 0}, + {FzName: ts + 22211 /* "sqlite3_step" */, FxProc: 0}, + {FzName: ts + 22224 /* "sqlite3_sql" */, FxProc: 0}, + {FzName: ts + 22236 /* "sqlite3_expanded..." */, FxProc: 0}, + {FzName: ts + 22257 /* "sqlite3_next_stm..." */, FxProc: 0}, + {FzName: ts + 22275 /* "sqlite3_stmt_rea..." */, FxProc: 0}, + {FzName: ts + 22297 /* "sqlite3_stmt_ise..." */, FxProc: 0}, + {FzName: ts + 22320 /* "sqlite3_stmt_bus..." */, FxProc: 0}, + {FzName: ts + 22338 /* "uses_stmt_journa..." */, FxProc: 0}, - {FzName: ts + 21580 /* "sqlite3_release_..." */, FxProc: 0}, - {FzName: ts + 21603 /* "sqlite3_db_relea..." */, FxProc: 0}, - {FzName: ts + 21629 /* "sqlite3_db_cache..." */, FxProc: 0}, - {FzName: ts + 21651 /* "sqlite3_system_e..." */, FxProc: 0}, - {FzName: ts + 21672 /* "sqlite3_db_filen..." */, FxProc: 0}, - {FzName: ts + 21692 /* "sqlite3_db_reado..." */, FxProc: 0}, - {FzName: ts + 21712 /* "sqlite3_soft_hea..." */, FxProc: 0}, - {FzName: ts + 21736 /* "sqlite3_soft_hea..." */, FxProc: 0}, - {FzName: ts + 21762 /* "sqlite3_hard_hea..." */, FxProc: 0}, - {FzName: ts + 21788 /* "sqlite3_thread_c..." */, FxProc: 0}, - {FzName: ts + 21811 /* "sqlite3_pager_re..." */, FxProc: 0}, + {FzName: ts + 22356 /* "sqlite3_release_..." */, FxProc: 0}, + {FzName: ts + 22379 /* "sqlite3_db_relea..." */, FxProc: 0}, + {FzName: ts + 22405 /* "sqlite3_db_cache..." */, FxProc: 0}, + {FzName: ts + 22427 /* "sqlite3_system_e..." */, FxProc: 0}, + {FzName: ts + 22448 /* "sqlite3_db_filen..." */, FxProc: 0}, + {FzName: ts + 22468 /* "sqlite3_db_reado..." */, FxProc: 0}, + {FzName: ts + 22488 /* "sqlite3_soft_hea..." */, FxProc: 0}, + {FzName: ts + 22512 /* "sqlite3_soft_hea..." */, FxProc: 0}, + {FzName: ts + 22538 /* "sqlite3_hard_hea..." */, FxProc: 0}, + {FzName: ts + 22564 /* "sqlite3_thread_c..." */, FxProc: 0}, + {FzName: ts + 22587 /* "sqlite3_pager_re..." */, FxProc: 0}, - {FzName: ts + 21835 /* "sqlite3_load_ext..." */, FxProc: 0}, - {FzName: ts + 21858 /* "sqlite3_enable_l..." */, FxProc: 0}, - {FzName: ts + 21888 /* "sqlite3_extended..." */, FxProc: 0}, - {FzName: ts + 21918 /* "sqlite3_limit" */, FxProc: 0}, - {FzName: ts + 21932 /* "dbconfig_maindbn..." */, FxProc: 0}, + {FzName: ts + 22611 /* "sqlite3_load_ext..." */, FxProc: 0}, + {FzName: ts + 22634 /* "sqlite3_enable_l..." */, FxProc: 0}, + {FzName: ts + 22664 /* "sqlite3_extended..." */, FxProc: 0}, + {FzName: ts + 22694 /* "sqlite3_limit" */, FxProc: 0}, + {FzName: ts + 22708 /* "dbconfig_maindbn..." */, FxProc: 0}, - {FzName: ts + 21960 /* "save_prng_state" */, FxProc: 0}, - {FzName: ts + 21976 /* "restore_prng_sta..." */, FxProc: 0}, - {FzName: ts + 21995 /* "reset_prng_state" */, FxProc: 0}, - {FzName: ts + 22012 /* "prng_seed" */, FxProc: 0}, - {FzName: ts + 22022 /* "extra_schema_che..." */, FxProc: 0}, - {FzName: ts + 22042 /* "database_never_c..." */, FxProc: 0}, - {FzName: ts + 22065 /* "database_may_be_..." */, FxProc: 0}, - {FzName: ts + 22089 /* "optimization_con..." */, FxProc: 0}, - {FzName: ts + 22110 /* "lock_win32_file" */, FxProc: 0}, - {FzName: ts + 22126 /* "exists_win32_pat..." */, FxProc: 0}, - {FzName: ts + 22144 /* "find_win32_file" */, FxProc: 0}, - {FzName: ts + 22160 /* "delete_win32_fil..." */, FxProc: 0}, - {FzName: ts + 22178 /* "make_win32_dir" */, FxProc: 0}, - {FzName: ts + 22193 /* "remove_win32_dir" */, FxProc: 0}, - {FzName: ts + 22210 /* "tcl_objproc" */, FxProc: 0}, + {FzName: ts + 22736 /* "save_prng_state" */, FxProc: 0}, + {FzName: ts + 22752 /* "restore_prng_sta..." */, FxProc: 0}, + {FzName: ts + 22771 /* "reset_prng_state" */, FxProc: 0}, + {FzName: ts + 22788 /* "prng_seed" */, FxProc: 0}, + {FzName: ts + 22798 /* "extra_schema_che..." */, FxProc: 0}, + {FzName: ts + 22818 /* "database_never_c..." */, FxProc: 0}, + {FzName: ts + 22841 /* "database_may_be_..." */, FxProc: 0}, + {FzName: ts + 22865 /* "optimization_con..." */, FxProc: 0}, + {FzName: ts + 22886 /* "lock_win32_file" */, FxProc: 0}, + {FzName: ts + 22902 /* "exists_win32_pat..." */, FxProc: 0}, + {FzName: ts + 22920 /* "find_win32_file" */, FxProc: 0}, + {FzName: ts + 22936 /* "delete_win32_fil..." */, FxProc: 0}, + {FzName: ts + 22954 /* "make_win32_dir" */, FxProc: 0}, + {FzName: ts + 22969 /* "remove_win32_dir" */, FxProc: 0}, + {FzName: ts + 22986 /* "tcl_objproc" */, FxProc: 0}, // sqlite3_column_*() API - {FzName: ts + 22222 /* "sqlite3_column_c..." */, FxProc: 0}, - {FzName: ts + 22243 /* "sqlite3_data_cou..." */, FxProc: 0}, - {FzName: ts + 22262 /* "sqlite3_column_t..." */, FxProc: 0}, - {FzName: ts + 22282 /* "sqlite3_column_b..." */, FxProc: 0}, - {FzName: ts + 22302 /* "sqlite3_column_d..." */, FxProc: 0}, - {FzName: ts + 22324 /* "sqlite3_column_i..." */, FxProc: 0}, - {FzName: ts + 22345 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22365 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22385 /* "sqlite3_column_i..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22404 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22425 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22449 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22478 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22504 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 22998 /* "sqlite3_column_c..." */, FxProc: 0}, + {FzName: ts + 23019 /* "sqlite3_data_cou..." */, FxProc: 0}, + {FzName: ts + 23038 /* "sqlite3_column_t..." */, FxProc: 0}, + {FzName: ts + 23058 /* "sqlite3_column_b..." */, FxProc: 0}, + {FzName: ts + 23078 /* "sqlite3_column_d..." */, FxProc: 0}, + {FzName: ts + 23100 /* "sqlite3_column_i..." */, FxProc: 0}, + {FzName: ts + 23121 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23141 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23161 /* "sqlite3_column_i..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23180 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23201 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23225 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23254 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23280 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22531 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22554 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22576 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22598 /* "add_alignment_te..." */, FxProc: 0}, - {FzName: ts + 22628 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22654, /* "sqlite3_column_d..." */ + {FzName: ts + 23307 /* "sqlite3_column_b..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23330 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23352 /* "sqlite3_column_n..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23374 /* "add_alignment_te..." */, FxProc: 0}, + {FzName: ts + 23404 /* "sqlite3_column_d..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23430, /* "sqlite3_column_d..." */ FxProc: 0, FclientData: 0}, - {FzName: ts + 22685 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22713 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, - {FzName: ts + 22742 /* "sqlite3_create_c..." */, FxProc: 0}, - {FzName: ts + 22770 /* "sqlite3_global_r..." */, FxProc: 0}, - {FzName: ts + 22793 /* "working_64bit_in..." */, FxProc: 0}, - {FzName: ts + 22811 /* "vfs_unlink_test" */, FxProc: 0}, - {FzName: ts + 22827 /* "vfs_initfail_tes..." */, FxProc: 0}, - {FzName: ts + 22845 /* "vfs_unregister_a..." */, FxProc: 0}, - {FzName: ts + 22864 /* "vfs_reregister_a..." */, FxProc: 0}, - {FzName: ts + 22883 /* "file_control_tes..." */, FxProc: 0}, - {FzName: ts + 22901 /* "file_control_las..." */, FxProc: 0}, - {FzName: ts + 22929 /* "file_control_loc..." */, FxProc: 0}, - {FzName: ts + 22957 /* "file_control_chu..." */, FxProc: 0}, - {FzName: ts + 22985 /* "file_control_siz..." */, FxProc: 0}, - {FzName: ts + 23012 /* "file_control_dat..." */, FxProc: 0}, - {FzName: ts + 23038 /* "file_control_win..." */, FxProc: 0}, - {FzName: ts + 23066 /* "file_control_win..." */, FxProc: 0}, - {FzName: ts + 23096 /* "file_control_win..." */, FxProc: 0}, - {FzName: ts + 23126 /* "file_control_per..." */, FxProc: 0}, - {FzName: ts + 23151 /* "file_control_pow..." */, FxProc: 0}, - {FzName: ts + 23184 /* "file_control_vfs..." */, FxProc: 0}, - {FzName: ts + 23205 /* "file_control_res..." */, FxProc: 0}, - {FzName: ts + 23231 /* "file_control_tem..." */, FxProc: 0}, - {FzName: ts + 23257 /* "file_control_ext..." */, FxProc: 0}, - {FzName: ts + 23286 /* "sqlite3_vfs_list" */, FxProc: 0}, - {FzName: ts + 23303 /* "sqlite3_create_f..." */, FxProc: 0}, + {FzName: ts + 23461 /* "sqlite3_column_t..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23489 /* "sqlite3_column_o..." */, FxProc: 0, FclientData: 0}, + {FzName: ts + 23518 /* "sqlite3_create_c..." */, FxProc: 0}, + {FzName: ts + 23546 /* "sqlite3_global_r..." */, FxProc: 0}, + {FzName: ts + 23569 /* "working_64bit_in..." */, FxProc: 0}, + {FzName: ts + 23587 /* "vfs_unlink_test" */, FxProc: 0}, + {FzName: ts + 23603 /* "vfs_initfail_tes..." */, FxProc: 0}, + {FzName: ts + 23621 /* "vfs_unregister_a..." */, FxProc: 0}, + {FzName: ts + 23640 /* "vfs_reregister_a..." */, FxProc: 0}, + {FzName: ts + 23659 /* "file_control_tes..." */, FxProc: 0}, + {FzName: ts + 23677 /* "file_control_las..." */, FxProc: 0}, + {FzName: ts + 23705 /* "file_control_loc..." */, FxProc: 0}, + {FzName: ts + 23733 /* "file_control_chu..." */, FxProc: 0}, + {FzName: ts + 23761 /* "file_control_siz..." */, FxProc: 0}, + {FzName: ts + 23788 /* "file_control_dat..." */, FxProc: 0}, + {FzName: ts + 23814 /* "file_control_win..." */, FxProc: 0}, + {FzName: ts + 23842 /* "file_control_win..." */, FxProc: 0}, + {FzName: ts + 23872 /* "file_control_win..." */, FxProc: 0}, + {FzName: ts + 23902 /* "file_control_per..." */, FxProc: 0}, + {FzName: ts + 23927 /* "file_control_pow..." */, FxProc: 0}, + {FzName: ts + 23960 /* "file_control_vfs..." */, FxProc: 0}, + {FzName: ts + 23981 /* "file_control_res..." */, FxProc: 0}, + {FzName: ts + 24007 /* "file_control_tem..." */, FxProc: 0}, + {FzName: ts + 24033 /* "file_control_ext..." */, FxProc: 0}, + {FzName: ts + 24062 /* "sqlite3_vfs_list" */, FxProc: 0}, + {FzName: ts + 24079 /* "sqlite3_create_f..." */, FxProc: 0}, // Functions from os.h - {FzName: ts + 23330 /* "add_test_collate" */, FxProc: 0}, - {FzName: ts + 23347 /* "add_test_collate..." */, FxProc: 0}, - {FzName: ts + 23371 /* "add_test_functio..." */, FxProc: 0}, - {FzName: ts + 23389 /* "add_test_utf16bi..." */, FxProc: 0}, - {FzName: ts + 23415 /* "sqlite3_test_err..." */, FxProc: 0}, - {FzName: ts + 23435 /* "tcl_variable_typ..." */, FxProc: 0}, - {FzName: ts + 23453 /* "sqlite3_enable_s..." */, FxProc: 0}, - {FzName: ts + 23481 /* "sqlite3_shared_c..." */, FxProc: 0}, - {FzName: ts + 23509 /* "sqlite3_libversi..." */, FxProc: 0}, - {FzName: ts + 23535 /* "sqlite3_table_co..." */, FxProc: 0}, - {FzName: ts + 23565 /* "sqlite3_blob_reo..." */, FxProc: 0}, - {FzName: ts + 23585 /* "pcache_stats" */, FxProc: 0}, - {FzName: ts + 23598 /* "sqlite3_unlock_n..." */, FxProc: 0}, - {FzName: ts + 23620 /* "sqlite3_wal_chec..." */, FxProc: 0}, - {FzName: ts + 23643 /* "sqlite3_wal_chec..." */, FxProc: 0}, - {FzName: ts + 23669 /* "sqlite3_wal_auto..." */, FxProc: 0}, - {FzName: ts + 23696 /* "test_sqlite3_log" */, FxProc: 0}, - {FzName: ts + 23713 /* "print_explain_qu..." */, FxProc: 0}, - {FzName: ts + 23738 /* "sqlite3_test_con..." */, FxProc: 0}, - {FzName: ts + 23759 /* "load_static_exte..." */, FxProc: 0}, - {FzName: ts + 23781 /* "sorter_test_fake..." */, FxProc: 0}, - {FzName: ts + 23802 /* "sorter_test_sort..." */, FxProc: 0}, - {FzName: ts + 23827 /* "vfs_current_time..." */, FxProc: 0}, - {FzName: ts + 23850 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23871 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23893 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23915 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23936 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23961 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 23987 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 24014 /* "sqlite3_snapshot..." */, FxProc: 0}, - {FzName: ts + 24040 /* "sqlite3_delete_d..." */, FxProc: 0}, - {FzName: ts + 24064 /* "atomic_batch_wri..." */, FxProc: 0}, - {FzName: ts + 24083 /* "sqlite3_mmap_war..." */, FxProc: 0}, - {FzName: ts + 24101 /* "sqlite3_config_s..." */, FxProc: 0}, - {FzName: ts + 24126 /* "decode_hexdb" */, FxProc: 0}, - {FzName: ts + 24139 /* "test_write_db" */, FxProc: 0}, - {FzName: ts + 24153 /* "sqlite3_register..." */, FxProc: 0}, - {FzName: ts + 24179 /* "sqlite3_unregist..." */, FxProc: 0}, + {FzName: ts + 24106 /* "add_test_collate" */, FxProc: 0}, + {FzName: ts + 24123 /* "add_test_collate..." */, FxProc: 0}, + {FzName: ts + 24147 /* "add_test_functio..." */, FxProc: 0}, + {FzName: ts + 24165 /* "add_test_utf16bi..." */, FxProc: 0}, + {FzName: ts + 24191 /* "sqlite3_test_err..." */, FxProc: 0}, + {FzName: ts + 24211 /* "tcl_variable_typ..." */, FxProc: 0}, + {FzName: ts + 24229 /* "sqlite3_enable_s..." */, FxProc: 0}, + {FzName: ts + 24257 /* "sqlite3_shared_c..." */, FxProc: 0}, + {FzName: ts + 24285 /* "sqlite3_libversi..." */, FxProc: 0}, + {FzName: ts + 24311 /* "sqlite3_table_co..." */, FxProc: 0}, + {FzName: ts + 24341 /* "sqlite3_blob_reo..." */, FxProc: 0}, + {FzName: ts + 24361 /* "pcache_stats" */, FxProc: 0}, + {FzName: ts + 24374 /* "sqlite3_unlock_n..." */, FxProc: 0}, + {FzName: ts + 24396 /* "sqlite3_wal_chec..." */, FxProc: 0}, + {FzName: ts + 24419 /* "sqlite3_wal_chec..." */, FxProc: 0}, + {FzName: ts + 24445 /* "sqlite3_wal_auto..." */, FxProc: 0}, + {FzName: ts + 24472 /* "test_sqlite3_log" */, FxProc: 0}, + {FzName: ts + 24489 /* "print_explain_qu..." */, FxProc: 0}, + {FzName: ts + 24514 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 24535 /* "load_static_exte..." */, FxProc: 0}, + {FzName: ts + 24557 /* "sorter_test_fake..." */, FxProc: 0}, + {FzName: ts + 24578 /* "sorter_test_sort..." */, FxProc: 0}, + {FzName: ts + 24603 /* "vfs_current_time..." */, FxProc: 0}, + {FzName: ts + 24626 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24647 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24669 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24691 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24712 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24737 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24763 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24790 /* "sqlite3_snapshot..." */, FxProc: 0}, + {FzName: ts + 24816 /* "sqlite3_delete_d..." */, FxProc: 0}, + {FzName: ts + 24840 /* "atomic_batch_wri..." */, FxProc: 0}, + {FzName: ts + 24859 /* "sqlite3_mmap_war..." */, FxProc: 0}, + {FzName: ts + 24877 /* "sqlite3_config_s..." */, FxProc: 0}, + {FzName: ts + 24902 /* "decode_hexdb" */, FxProc: 0}, + {FzName: ts + 24915 /* "test_write_db" */, FxProc: 0}, + {FzName: ts + 24929 /* "sqlite3_register..." */, FxProc: 0}, + {FzName: ts + 24955 /* "sqlite3_unregist..." */, FxProc: 0}, } /* test1.c:8336:5 */ var bitmask_size int32 = (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8))) /* test1.c:8564:14 */ var longdouble_size int32 = int32(unsafe.Sizeof(float64(0))) /* test1.c:8565:14 */ -var query_plan uintptr = ts + 24207 /* "*** OBSOLETE VAR..." */ /* test1.c:8637:23 */ +var query_plan uintptr = ts + 24983 /* "*** OBSOLETE VAR..." */ /* test1.c:8637:23 */ // Page size and reserved size used for testing. var test_pagesize int32 = 1024 /* test2.c:31:12 */ @@ -98032,8 +99597,8 @@ func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [100]int8 at bp+124, 100 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24233 /* " FILENAME N-PAGE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25009 /* " FILENAME N-PAGE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+104 /* &nPage */) != 0 { @@ -98049,7 +99614,7 @@ func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv sqlite3.Xsqlite3PagerSetCachesize(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pPager */)), *(*int32)(unsafe.Pointer(bp + 104 /* nPage */))) *(*u32)(unsafe.Pointer(bp + 120 /* pageSize */)) = u32(test_pagesize) sqlite3.Xsqlite3PagerSetPagesize(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pPager */)), bp+120 /* &pageSize */, -1) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+124 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 112 /* pPager */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+124 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 112 /* pPager */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, bp+124 /* &zBuf[0] */, 0)) return TCL_OK } @@ -98064,8 +99629,8 @@ func pager_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98087,8 +99652,8 @@ func pager_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98110,8 +99675,8 @@ func pager_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98138,8 +99703,8 @@ func pager_stmt_begin(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98161,8 +99726,8 @@ func pager_stmt_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98185,8 +99750,8 @@ func pager_stmt_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var pPager uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98209,8 +99774,8 @@ func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var i int32 var a uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98226,8 +99791,8 @@ func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg } var zName = [9]uintptr{ - ts + 24256 /* "ref" */, ts + 24260 /* "page" */, ts + 17955 /* "max" */, ts + 11491 /* "size" */, ts + 10193 /* "state" */, ts + 24265, /* "err" */ - ts + 24269 /* "hit" */, ts + 24273 /* "miss" */, ts + 24278, /* "ovfl" */ + ts + 25032 /* "ref" */, ts + 25036 /* "page" */, ts + 18736 /* "max" */, ts + 12279 /* "size" */, ts + 10193 /* "state" */, ts + 25041, /* "err" */ + ts + 25045 /* "hit" */, ts + 25049 /* "miss" */, ts + 25054, /* "ovfl" */ } /* test2.c:266:17 */ // Usage: pager_pagecount ID @@ -98243,8 +99808,8 @@ func pager_pagecount(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var nPage int32 at bp+80, 4 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98269,8 +99834,8 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24283 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25059 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98285,7 +99850,7 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+120 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 112 /* pPage */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+120 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 112 /* pPage */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, bp+120 /* &zBuf[0] */, 0)) return TCL_OK } @@ -98305,8 +99870,8 @@ func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // var pgno int32 at bp+80, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24283 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25059 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98315,7 +99880,7 @@ func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg } pPage = sqlite3.Xsqlite3PagerLookup(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 80 /* pgno */)))) if pPage != 0 { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+84 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+40, pPage)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+84 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+40, pPage)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+84 /* &zBuf[0] */, 0)) } return TCL_OK @@ -98330,8 +99895,8 @@ func pager_truncate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // var pgno int32 at bp+40, 4 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24283 /* " ID PGNO\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25059 /* " ID PGNO\"" */, 0)) return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98351,8 +99916,8 @@ func page_unref(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24293 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25069 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98371,8 +99936,8 @@ func page_read(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24293 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25069 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98392,8 +99957,8 @@ func page_number(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pPage uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24293 /* " PAGE\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25069 /* " PAGE\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98413,8 +99978,8 @@ func page_write(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var pData uintptr var rc int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24300 /* " PAGE DATA\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25076 /* " PAGE DATA\"" */, 0)) return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -98449,8 +100014,8 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var zFile uintptr var nFile int32 if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24312 /* " N-MEGABYTES FIL..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25088 /* " N-MEGABYTES FIL..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+104 /* &n */) != 0 { @@ -98468,17 +100033,17 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a rc = sqlite3.Xsqlite3OsOpenMalloc(tls, pVfs, zFile, bp+112, /* &fd */ ((SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_MAIN_DB), uintptr(0)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+24331 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+25107 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) sqlite3.Xsqlite3_free(tls, zFile) return TCL_ERROR } offset = i64(*(*int32)(unsafe.Pointer(bp + 104 /* n */))) offset = offset * (int64(1024 * 1024)) - rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* fd */)), ts+24345 /* "Hello, World!" */, 14, offset) + rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* fd */)), ts+25121 /* "Hello, World!" */, 14, offset) sqlite3.Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* fd */))) sqlite3.Xsqlite3_free(tls, zFile) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+24359 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+25135 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -98495,8 +100060,8 @@ func testPendingByte(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24374 /* " PENDING-BYTE\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25150 /* " PENDING-BYTE\"" */, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56 /* &pbyte */) != 0 { @@ -98522,7 +100087,7 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ var isNeg int32 var rc int32 if x == 0 { - libc.Xmemcpy(tls, (faultSimScript + uintptr(faultSimScriptSize)), ts+13873 /* "0" */, uint64(2)) + libc.Xmemcpy(tls, (faultSimScript + uintptr(faultSimScriptSize)), ts+14654 /* "0" */, uint64(2)) } else { // Convert x to text without using any sqlite3 routines if x < 0 { @@ -98556,7 +100121,7 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ } rc = tcl.XTcl_Eval(tls, faultSimInterp, faultSimScript) if rc != 0 { - libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+24389 /* "fault simulator ..." */, libc.VaList(bp, faultSimScript)) + libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+25165 /* "fault simulator ..." */, libc.VaList(bp, faultSimScript)) rc = SQLITE_ERROR } else { rc = libc.Xatoi(tls, tcl.XTcl_GetStringResult(tls, faultSimInterp)) @@ -98578,8 +100143,8 @@ func faultInstallCmd(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var nScript int32 var rc int32 if (argc != 1) && (argc != 2) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24425 /* " SCRIPT\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25201 /* " SCRIPT\"" */, uintptr(0))) } if argc == 2 { zScript = *(*uintptr)(unsafe.Pointer(argv + 1*8)) @@ -98625,8 +100190,8 @@ func testBitvecBuiltinTest(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc var z uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24434 /* " SIZE PROGRAM\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25210 /* " SIZE PROGRAM\"" */, uintptr(0))) } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+64 /* &sz */) != 0 { return TCL_ERROR @@ -98659,19 +100224,19 @@ func Sqlitetest2_Init(tls *libc.TLS, interp uintptr) int32 { /* test2.c:697:5: * }{}))); i++ { tcl.XTcl_CreateCommand(tls, interp, aCmd2[i].FzName, aCmd2[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+24449, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25225, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_pending)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24473, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25249, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_persist)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24497, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25273, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hit)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24517, /* "sqlite_io_error_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25293, /* "sqlite_io_error_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hardhit)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24541, /* "sqlite_diskfull_..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25317, /* "sqlite_diskfull_..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull_pending)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24565, /* "sqlite_diskfull" */ + tcl.XTcl_LinkVar(tls, interp, ts+25341, /* "sqlite_diskfull" */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull)), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+24581, /* "sqlite_pending_b..." */ + tcl.XTcl_LinkVar(tls, interp, ts+25357, /* "sqlite_pending_b..." */ uintptr(unsafe.Pointer(&sqlite3.Xsqlite3PendingByte)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) return TCL_OK } @@ -98680,26 +100245,26 @@ var aCmd2 = [20]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 24601 /* "pager_open" */, FxProc: 0}, - {FzName: ts + 24612 /* "pager_close" */, FxProc: 0}, - {FzName: ts + 24624 /* "pager_commit" */, FxProc: 0}, - {FzName: ts + 24637 /* "pager_rollback" */, FxProc: 0}, - {FzName: ts + 24652 /* "pager_stmt_begin" */, FxProc: 0}, - {FzName: ts + 24669 /* "pager_stmt_commi..." */, FxProc: 0}, - {FzName: ts + 24687 /* "pager_stmt_rollb..." */, FxProc: 0}, - {FzName: ts + 24707 /* "pager_stats" */, FxProc: 0}, - {FzName: ts + 24719 /* "pager_pagecount" */, FxProc: 0}, - {FzName: ts + 24735 /* "page_get" */, FxProc: 0}, - {FzName: ts + 24744 /* "page_lookup" */, FxProc: 0}, - {FzName: ts + 24756 /* "page_unref" */, FxProc: 0}, - {FzName: ts + 24767 /* "page_read" */, FxProc: 0}, - {FzName: ts + 24777 /* "page_write" */, FxProc: 0}, - {FzName: ts + 24788 /* "page_number" */, FxProc: 0}, - {FzName: ts + 24800 /* "pager_truncate" */, FxProc: 0}, - {FzName: ts + 24815 /* "fake_big_file" */, FxProc: 0}, - {FzName: ts + 24829 /* "sqlite3BitvecBui..." */, FxProc: 0}, - {FzName: ts + 24854 /* "sqlite3_test_con..." */, FxProc: 0}, - {FzName: ts + 24888 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 25377 /* "pager_open" */, FxProc: 0}, + {FzName: ts + 25388 /* "pager_close" */, FxProc: 0}, + {FzName: ts + 25400 /* "pager_commit" */, FxProc: 0}, + {FzName: ts + 25413 /* "pager_rollback" */, FxProc: 0}, + {FzName: ts + 25428 /* "pager_stmt_begin" */, FxProc: 0}, + {FzName: ts + 25445 /* "pager_stmt_commi..." */, FxProc: 0}, + {FzName: ts + 25463 /* "pager_stmt_rollb..." */, FxProc: 0}, + {FzName: ts + 25483 /* "pager_stats" */, FxProc: 0}, + {FzName: ts + 25495 /* "pager_pagecount" */, FxProc: 0}, + {FzName: ts + 25511 /* "page_get" */, FxProc: 0}, + {FzName: ts + 25520 /* "page_lookup" */, FxProc: 0}, + {FzName: ts + 25532 /* "page_unref" */, FxProc: 0}, + {FzName: ts + 25543 /* "page_read" */, FxProc: 0}, + {FzName: ts + 25553 /* "page_write" */, FxProc: 0}, + {FzName: ts + 25564 /* "page_number" */, FxProc: 0}, + {FzName: ts + 25576 /* "pager_truncate" */, FxProc: 0}, + {FzName: ts + 25591 /* "fake_big_file" */, FxProc: 0}, + {FzName: ts + 25605 /* "sqlite3BitvecBui..." */, FxProc: 0}, + {FzName: ts + 25630 /* "sqlite3_test_con..." */, FxProc: 0}, + {FzName: ts + 25664 /* "sqlite3_test_con..." */, FxProc: 0}, } /* test2.c:707:5 */ // 2001 September 15 @@ -99476,8 +101041,8 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv var n int32 var zFilename uintptr if argc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24923 /* " FILENAME NCACHE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25699 /* " FILENAME NCACHE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+104 /* &nCache */) != 0 { @@ -99504,7 +101069,7 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv return TCL_ERROR } sqlite3.Xsqlite3BtreeSetCacheSize(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pBt */)), *(*int32)(unsafe.Pointer(bp + 104 /* nCache */))) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+120 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 112 /* pBt */)))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+120 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 112 /* pBt */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, bp+120 /* &zBuf[0] */, 0)) return TCL_OK } @@ -99519,8 +101084,8 @@ func btree_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg var pBt uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -99549,8 +101114,8 @@ func btree_begin_transaction(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg var pBt uintptr var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -99576,8 +101141,8 @@ func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 var a uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -99607,8 +101172,8 @@ func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 } var zName1 = [11]uintptr{ - ts + 24256 /* "ref" */, ts + 24260 /* "page" */, ts + 17955 /* "max" */, ts + 11491 /* "size" */, ts + 10193 /* "state" */, ts + 24265, /* "err" */ - ts + 24269 /* "hit" */, ts + 24273 /* "miss" */, ts + 24278 /* "ovfl" */, ts + 24947 /* "read" */, ts + 24952, /* "write" */ + ts + 25032 /* "ref" */, ts + 25036 /* "page" */, ts + 18736 /* "max" */, ts + 12279 /* "size" */, ts + 10193 /* "state" */, ts + 25041, /* "err" */ + ts + 25045 /* "hit" */, ts + 25049 /* "miss" */, ts + 25054 /* "ovfl" */, ts + 25723 /* "read" */, ts + 25728, /* "write" */ } /* test3.c:179:17 */ // Usage: btree_cursor ID TABLENUM WRITEABLE @@ -99628,8 +101193,8 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar // var zBuf [30]int8 at bp+112, 30 if argc != 4 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24958 /* " ID TABLENUM WRI..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25734 /* " ID TABLENUM WRI..." */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -99657,7 +101222,7 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+112 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+64, pCur)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+112 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, pCur)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, bp+112 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -99673,8 +101238,8 @@ func btree_close_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int var rc int32 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -99710,8 +101275,8 @@ func btree_next(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [100]int8 at bp+104, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -99745,8 +101310,8 @@ func btree_first(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // var zBuf [100]int8 at bp+108, 100 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -99775,8 +101340,8 @@ func btree_eof(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // var zBuf [50]int8 at bp+80, 50 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -99800,15 +101365,15 @@ func btree_payload_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // var zBuf [50]int8 at bp+80, 50 if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) n = sqlite3.Xsqlite3BtreePayloadSize(tls, pCur) sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+80 /* &zBuf[0] */, ts+17449 /* "%u" */, libc.VaList(bp+40, n)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+80 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp+40, n)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -99847,8 +101412,8 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // var zBuf [100]uint8 at bp+288, 100 if argc != 5 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24982 /* " START MULTIPLIE..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25758 /* " START MULTIPLIE..." */, 0)) return TCL_ERROR } if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+272 /* &start */) != 0 { @@ -99871,20 +101436,20 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 n1 = sqlite3.Xsqlite3PutVarint(tls, bp+288 /* &zBuf[0] */, in) if (n1 > 9) || (n1 < 1) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+388, /* &zErr[0] */ - ts+25017 /* "putVarint return..." */, libc.VaList(bp+40, n1)) + ts+25793 /* "putVarint return..." */, libc.VaList(bp+40, n1)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+388 /* &zErr[0] */, 0)) return TCL_ERROR } n2 = int32(sqlite3.Xsqlite3GetVarint(tls, bp+288 /* &zBuf[0] */, bp+592 /* &out */)) if n1 != n2 { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+388, /* &zErr[0] */ - ts+25067 /* "putVarint return..." */, libc.VaList(bp+80, n1, n2)) + ts+25843 /* "putVarint return..." */, libc.VaList(bp+80, n1, n2)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+104, bp+388 /* &zErr[0] */, 0)) return TCL_ERROR } if in != *(*u64)(unsafe.Pointer(bp + 592 /* out */)) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+388, /* &zErr[0] */ - ts+25115 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+128, in, *(*u64)(unsafe.Pointer(bp + 592 /* out */)))) + ts+25891 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+128, in, *(*u64)(unsafe.Pointer(bp + 592 /* out */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, bp+388 /* &zErr[0] */, 0)) return TCL_ERROR } @@ -99903,14 +101468,14 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 *(*u64)(unsafe.Pointer(bp + 592 /* out */)) = u64(*(*u32)(unsafe.Pointer(bp + 600 /* out32 */))) if n1 != n2 { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+388, /* &zErr[0] */ - ts+25154, /* "putVarint return..." */ + ts+25930, /* "putVarint return..." */ libc.VaList(bp+176, n1, n2)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+200, bp+388 /* &zErr[0] */, 0)) return TCL_ERROR } if in != *(*u64)(unsafe.Pointer(bp + 592 /* out */)) { sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+388, /* &zErr[0] */ - ts+25204, /* "Wrote 0x%016llx ..." */ + ts+25980, /* "Wrote 0x%016llx ..." */ libc.VaList(bp+224, in, *(*u64)(unsafe.Pointer(bp + 592 /* out */)))) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+248, bp+388 /* &zErr[0] */, 0)) return TCL_ERROR @@ -99948,13 +101513,13 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var iDb int32 = 0 if (argc != 2) && (argc != 3) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+25260 /* " DB-HANDLE ?N?\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+26036 /* " DB-HANDLE ?N?\"" */, 0)) return TCL_ERROR } if 1 != tcl.XTcl_GetCommandInfo(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+96 /* &info */) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+25276 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+26052 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+12415 /* "\"" */, 0)) return TCL_ERROR } if argc == 3 { @@ -99964,7 +101529,7 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 96 /* &info */)).FobjClientData)) pBt = (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpBt - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+160 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp+80, pBt)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+160 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+80, pBt)) tcl.XTcl_SetResult(tls, interp, bp+160 /* &zBuf[0] */, uintptr(1)) return TCL_OK } @@ -99981,8 +101546,8 @@ func btree_ismemdb(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a var pFile uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+24251 /* " ID\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+25027 /* " ID\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -100009,7 +101574,7 @@ func btree_set_cache_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i if argc != 3 { tcl.XTcl_AppendResult(tls, - interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+25297 /* " BT NCACHE\"" */, 0)) + interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+26073 /* " BT NCACHE\"" */, 0)) return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) @@ -100038,7 +101603,7 @@ func btree_insert(tls *libc.TLS, clientData ClientData, interp uintptr, objc int // var x BtreePayload at bp+24, 48 if (objc != 4) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+25309 /* "?-intkey? CSR KE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26085 /* "?-intkey? CSR KE..." */) return TCL_ERROR } @@ -100080,7 +101645,7 @@ func Sqlitetest3_Init(tls *libc.TLS, interp uintptr) int32 { /* test3.c:661:5: * tcl.XTcl_CreateCommand(tls, interp, aCmd3[i].FzName, aCmd3[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_CreateObjCommand(tls, interp, ts+25333 /* "btree_insert" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+26109 /* "btree_insert" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{btree_insert})), uintptr(0), uintptr(0)) @@ -100091,20 +101656,20 @@ var aCmd3 = [14]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25346 /* "btree_open" */, FxProc: 0}, - {FzName: ts + 25357 /* "btree_close" */, FxProc: 0}, - {FzName: ts + 25369 /* "btree_begin_tran..." */, FxProc: 0}, - {FzName: ts + 25393 /* "btree_pager_stat..." */, FxProc: 0}, - {FzName: ts + 25411 /* "btree_cursor" */, FxProc: 0}, - {FzName: ts + 25424 /* "btree_close_curs..." */, FxProc: 0}, - {FzName: ts + 25443 /* "btree_next" */, FxProc: 0}, - {FzName: ts + 25454 /* "btree_eof" */, FxProc: 0}, - {FzName: ts + 25464 /* "btree_payload_si..." */, FxProc: 0}, - {FzName: ts + 25483 /* "btree_first" */, FxProc: 0}, - {FzName: ts + 25495 /* "btree_varint_tes..." */, FxProc: 0}, - {FzName: ts + 25513 /* "btree_from_db" */, FxProc: 0}, - {FzName: ts + 25527 /* "btree_ismemdb" */, FxProc: 0}, - {FzName: ts + 25541 /* "btree_set_cache_..." */, FxProc: 0}, + {FzName: ts + 26122 /* "btree_open" */, FxProc: 0}, + {FzName: ts + 26133 /* "btree_close" */, FxProc: 0}, + {FzName: ts + 26145 /* "btree_begin_tran..." */, FxProc: 0}, + {FzName: ts + 26169 /* "btree_pager_stat..." */, FxProc: 0}, + {FzName: ts + 26187 /* "btree_cursor" */, FxProc: 0}, + {FzName: ts + 26200 /* "btree_close_curs..." */, FxProc: 0}, + {FzName: ts + 26219 /* "btree_next" */, FxProc: 0}, + {FzName: ts + 26230 /* "btree_eof" */, FxProc: 0}, + {FzName: ts + 26240 /* "btree_payload_si..." */, FxProc: 0}, + {FzName: ts + 26259 /* "btree_first" */, FxProc: 0}, + {FzName: ts + 26271 /* "btree_varint_tes..." */, FxProc: 0}, + {FzName: ts + 26289 /* "btree_from_db" */, FxProc: 0}, + {FzName: ts + 26303 /* "btree_ismemdb" */, FxProc: 0}, + {FzName: ts + 26317 /* "btree_set_cache_..." */, FxProc: 0}, } /* test3.c:665:5 */ // end block for C++ @@ -100173,8 +101738,8 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var val Mem at bp+48, 56 if objc != 3 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+25562 /* " ..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+26338 /* " ..." */, 0)) return TCL_ERROR } @@ -100186,7 +101751,7 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc } (*Mem)(unsafe.Pointer(bp + 48 /* &val */)).Fflags = (u16((MEM_Str | MEM_Term) | MEM_Static)) - (*Mem)(unsafe.Pointer(bp + 48 /* &val */)).Fz = ts + 25589 /* "hello world" */ + (*Mem)(unsafe.Pointer(bp + 48 /* &val */)).Fz = ts + 26365 /* "hello world" */ (*Mem)(unsafe.Pointer(bp + 48 /* &val */)).Fenc = u8(SQLITE_UTF8) for i = 0; i < *(*int32)(unsafe.Pointer(bp + 40 /* repeat_count */)); i++ { @@ -100203,10 +101768,10 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 defer tls.Free(112) *(*[5]EncName)(unsafe.Pointer(bp + 32 /* encnames */)) = [5]EncName{ - {FzName: ts + 25601 /* "UTF8" */, Fenc: u8(SQLITE_UTF8)}, - {FzName: ts + 25606 /* "UTF16LE" */, Fenc: u8(SQLITE_UTF16LE)}, - {FzName: ts + 25614 /* "UTF16BE" */, Fenc: u8(SQLITE_UTF16BE)}, - {FzName: ts + 25622 /* "UTF16" */, Fenc: u8(SQLITE_UTF16)}, + {FzName: ts + 26377 /* "UTF8" */, Fenc: u8(SQLITE_UTF8)}, + {FzName: ts + 26382 /* "UTF16LE" */, Fenc: u8(SQLITE_UTF16LE)}, + {FzName: ts + 26390 /* "UTF16BE" */, Fenc: u8(SQLITE_UTF16BE)}, + {FzName: ts + 26398 /* "UTF16" */, Fenc: u8(SQLITE_UTF16)}, {}, } var pEnc uintptr @@ -100217,7 +101782,7 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 } } if !(int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+25628 /* "No such encoding..." */, z, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26404 /* "No such encoding..." */, z, 0)) } if int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) == SQLITE_UTF16 { return u8(SQLITE_UTF16LE) @@ -100246,9 +101811,9 @@ func test_translate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var xDel uintptr = uintptr(0) if (objc != 4) && (objc != 5) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629, /* "wrong # args: sh..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), - ts+25647 /* " <..." */, 0)) + ts+26423 /* " <..." */, 0)) return TCL_ERROR } if objc == 5 { @@ -100317,10 +101882,10 @@ var aCmd4 = [4]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 25682 /* "binarize" */, FxProc: 0}, - {FzName: ts + 25691 /* "test_value_overh..." */, FxProc: 0}, - {FzName: ts + 25711 /* "test_translate" */, FxProc: 0}, - {FzName: ts + 25726 /* "translate_selfte..." */, FxProc: 0}, + {FzName: ts + 26458 /* "binarize" */, FxProc: 0}, + {FzName: ts + 26467 /* "test_value_overh..." */, FxProc: 0}, + {FzName: ts + 26487 /* "test_translate" */, FxProc: 0}, + {FzName: ts + 26502 /* "translate_selfte..." */, FxProc: 0}, } /* test5.c:209:5 */ // end block for C++ @@ -100574,7 +102139,7 @@ func writeListAppend(tls *libc.TLS, pFile uintptr, iOffset sqlite3_int64, zBuf u pNew = crash_malloc(tls, (int32(uint64(unsafe.Sizeof(WriteBuffer{})) + uint64(nBuf)))) if pNew == uintptr(0) { - libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+25745 /* "out of memory in..." */, 0) + libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+26521 /* "out of memory in..." */, 0) } libc.Xmemset(tls, pNew, 0, (uint64(unsafe.Sizeof(WriteBuffer{})) + uint64(nBuf))) (*WriteBuffer)(unsafe.Pointer(pNew)).FiOffset = iOffset @@ -100892,19 +102457,19 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, defer tls.Free(332) *(*[14]DeviceFlag)(unsafe.Pointer(bp + 104 /* aFlag */)) = [14]DeviceFlag{ - {FzName: ts + 25783 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, - {FzName: ts + 25790 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, - {FzName: ts + 25800 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, - {FzName: ts + 25809 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, - {FzName: ts + 25818 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, - {FzName: ts + 25827 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, - {FzName: ts + 25836 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, - {FzName: ts + 25846 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, - {FzName: ts + 25856 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, - {FzName: ts + 25866 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, - {FzName: ts + 25877 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, - {FzName: ts + 25889 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, - {FzName: ts + 25909 /* "batch-atomic" */, FiValue: SQLITE_IOCAP_BATCH_ATOMIC}, + {FzName: ts + 26559 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, + {FzName: ts + 26566 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, + {FzName: ts + 26576 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, + {FzName: ts + 26585 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, + {FzName: ts + 26594 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, + {FzName: ts + 26603 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, + {FzName: ts + 26612 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, + {FzName: ts + 26622 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, + {FzName: ts + 26632 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, + {FzName: ts + 26642 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, + {FzName: ts + 26653 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, + {FzName: ts + 26665 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, + {FzName: ts + 26685 /* "batch-atomic" */, FiValue: SQLITE_IOCAP_BATCH_ATOMIC}, {}, } var i int32 @@ -100918,15 +102483,15 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, var zOpt uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+80 /* &nOpt */) - if (((*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+25922 /* "-sectorsize" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)))) != 0)) && - (((*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+25934 /* "-characteristics" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)))) != 0)) { + if (((*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26698 /* "-sectorsize" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)))) != 0)) && + (((*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26710 /* "-characteristics" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)))) != 0)) { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+25951 /* "Bad option: \"" */, zOpt, - ts+25965 /* "\" - must be \"-ch..." */, 0)) + libc.VaList(bp, ts+26727 /* "Bad option: \"" */, zOpt, + ts+26741 /* "\" - must be \"-ch..." */, 0)) return TCL_ERROR } if i == (objc - 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+26013 /* "Option requires ..." */, zOpt, ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+26789 /* "Option requires ..." */, zOpt, ts+12415 /* "\"" */, 0)) return TCL_ERROR } @@ -100953,7 +102518,7 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, tcl.XTcl_UtfToLower(tls, tcl.XTcl_GetString(tls, pFlag)) rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, pFlag, bp+104 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+26044 /* "no such flag" */, 0, bp+328 /* &iChoice */) + interp, pFlag, bp+104 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+26820 /* "no such flag" */, 0, bp+328 /* &iChoice */) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pFlag if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -101013,7 +102578,7 @@ func crashEnableCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 *(*int32)(unsafe.Pointer(bp + 4 /* isDefault */)) = 0 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26057 /* "ENABLE ?DEFAULT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26833 /* "ENABLE ?DEFAULT?" */) return TCL_ERROR } @@ -101044,7 +102609,7 @@ func crashEnableCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var crashVfs = sqlite3_vfs{ FiVersion: 2, // pNext - FzName: ts + 26074, /* "crash" */ // pAppData + FzName: ts + 26850, /* "crash" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -101095,7 +102660,7 @@ func crashParamsObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc i if !(objc < 3) { goto __1 } - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26080 /* "?OPTIONS? DELAY ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26856 /* "?OPTIONS? DELAY ..." */) goto error __1: ; @@ -101104,7 +102669,7 @@ __1: if !(uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nCrashFile */))) >= uint64(unsafe.Sizeof([500]int8{}))) { goto __2 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26106 /* "Filename is too ..." */, zCrashFile, ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26882 /* "Filename is too ..." */, zCrashFile, ts+12415 /* "\"" */, 0)) goto error __2: ; @@ -101167,7 +102732,7 @@ func writeCrashObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc in *(*int32)(unsafe.Pointer(bp /* nWrite */)) = 0 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26130 /* "NWRITE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26906 /* "NWRITE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nWrite */) != 0 { @@ -101198,14 +102763,14 @@ func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj var zParent uintptr = uintptr(0) if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26137 /* "?-default? PAREN..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26913 /* "?-default? PAREN..." */) return TCL_ERROR } zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) if objc == 3 { - if libc.Xstrcmp(tls, zParent, ts+26159 /* "-default" */) != 0 { + if libc.Xstrcmp(tls, zParent, ts+26935 /* "-default" */) != 0 { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+11533 /* "bad option \"" */, zParent, ts+26168 /* "\": must be -defa..." */, 0)) + libc.VaList(bp, ts+12321 /* "bad option \"" */, zParent, ts+26944 /* "\": must be -defa..." */, 0)) return TCL_ERROR } zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) @@ -101215,7 +102780,7 @@ func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj zParent = uintptr(0) } if jt_register(tls, zParent, (libc.Bool32(objc == 3))) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+26188 /* "Error in jt_regi..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+26964 /* "Error in jt_regi..." */, 0)) return TCL_ERROR } @@ -101236,28 +102801,28 @@ func jtUnregisterObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc // This procedure registers the TCL procedures defined in this file. func Sqlitetest6_Init(tls *libc.TLS, interp uintptr) int32 { /* test6.c:1093:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+26209 /* "sqlite3_crash_en..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+26985 /* "sqlite3_crash_en..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashEnableCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26230 /* "sqlite3_crashpar..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27006 /* "sqlite3_crashpar..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashParamsObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26250 /* "sqlite3_crash_no..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27026 /* "sqlite3_crash_no..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{crashNowCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26268 /* "sqlite3_simulate..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27044 /* "sqlite3_simulate..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{devSymObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26292 /* "sqlite3_crash_on..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27068 /* "sqlite3_crash_on..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{writeCrashObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26315 /* "unregister_devsi..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27091 /* "unregister_devsi..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{dsUnregisterObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26333 /* "register_jt_vfs" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27109 /* "register_jt_vfs" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{jtObjCmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+26349 /* "unregister_jt_vf..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+27125 /* "unregister_jt_vf..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{jtUnregisterObjCmd})), uintptr(0), uintptr(0)) return TCL_OK @@ -101340,10 +102905,10 @@ func simulateVtabError(tls *libc.TLS, p uintptr, zMethod uintptr) int32 { /* tes // var zVarname [128]int8 at bp+40, 128 *(*int8)(unsafe.Pointer(bp + 40 /* &zVarname[0] */ + 127)) = int8(0) - sqlite3.Xsqlite3_snprintf(tls, 127, bp+40 /* &zVarname[0] */, ts+26367 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) + sqlite3.Xsqlite3_snprintf(tls, 127, bp+40 /* &zVarname[0] */, ts+27143 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) zErr = tcl.XTcl_GetVar2(tls, (*echo_vtab)(unsafe.Pointer(p)).Finterp, bp+40 /* &zVarname[0] */, uintptr(0), TCL_GLOBAL_ONLY) if zErr != 0 { - (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26391 /* "echo-vtab-error:..." */, libc.VaList(bp+24, zErr)) + (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27167 /* "echo-vtab-error:..." */, libc.VaList(bp+24, zErr)) } return (libc.Bool32(zErr != uintptr(0))) } @@ -101427,7 +102992,7 @@ func getColumnNames(tls *libc.TLS, db uintptr, zTab uintptr, paCol uintptr, pnCo // Prepare the statement "SELECT * FROM ". The column names // of the result set of the compiled SELECT will be the same as // the column names of table . - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26411 /* "SELECT * FROM %Q" */, libc.VaList(bp, zTab)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27187 /* "SELECT * FROM %Q" */, libc.VaList(bp, zTab)) if !(!(zSql != 0)) { goto __1 } @@ -101544,7 +103109,7 @@ __1: ; // Compile an sqlite pragma to loop through all indices on table zTab - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26428 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTab)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27204 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTab)) if !(!(zSql != 0)) { goto __2 } @@ -101569,7 +103134,7 @@ __3: goto __3 __5: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26450 /* "PRAGMA index_inf..." */, libc.VaList(bp+16, zIdx)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27226 /* "PRAGMA index_inf..." */, libc.VaList(bp+16, zIdx)) if !(!(zSql != 0)) { goto __6 } @@ -101631,7 +103196,7 @@ __12: // the string element zArg to that list in interpreter interp. func appendToEchoModule(tls *libc.TLS, interp uintptr, zArg uintptr) { /* test8.c:313:13: */ var flags int32 = ((TCL_APPEND_VALUE | TCL_LIST_ELEMENT) | TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+26472 /* "echo_module" */, uintptr(0), func() uintptr { + tcl.XTcl_SetVar2(tls, interp, ts+27248 /* "echo_module" */, uintptr(0), func() uintptr { if zArg != 0 { return zArg } @@ -101663,7 +103228,7 @@ func echoDeclareVtab(tls *libc.TLS, pVtab uintptr, db uintptr) int32 { /* test8. if (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0 { *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) = uintptr(0) rc = sqlite3.Xsqlite3_prepare(tls, db, - ts+26484, /* "SELECT sql FROM ..." */ + ts+27260, /* "SELECT sql FROM ..." */ -1, bp /* &pStmt */, uintptr(0)) if rc == SQLITE_OK { sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 1, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName, -1, uintptr(0)) @@ -101744,7 +103309,7 @@ func echoConstructor(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) dequoteString(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) if ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0) && (int32(*(*int8)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))) == '*') { - var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+26548 /* "%s%s" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) + var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27324 /* "%s%s" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) sqlite3.Xsqlite3_free(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = z (*echo_vtab)(unsafe.Pointer(pVtab)).FisPattern = 1 @@ -101780,7 +103345,7 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt defer tls.Free(48) var rc int32 = SQLITE_OK - appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+26553 /* "xCreate" */) + appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27329 /* "xCreate" */) rc = echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr) // If there were two arguments passed to the module at the SQL level @@ -101796,7 +103361,7 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt var zSql uintptr var pVtab uintptr = *(*uintptr)(unsafe.Pointer(ppVtab)) (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 4*8)))) - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26561 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+16, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27337 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+16, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { @@ -101818,13 +103383,13 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt // Echo virtual table module xConnect method. func echoConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* test8.c:513:12: */ - appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+26585 /* "xConnect" */) + appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27361 /* "xConnect" */) return echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr) } // Echo virtual table module xDisconnect method. func echoDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:527:12: */ - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26594 /* "xDisconnect" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27370 /* "xDisconnect" */) return echoDestructor(tls, pVtab) } @@ -101835,12 +103400,12 @@ func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:535:12: */ var rc int32 = SQLITE_OK var p uintptr = pVtab - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26606 /* "xDestroy" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27382 /* "xDestroy" */) // Drop the "log" table, if one exists (see echoCreate() for details) if (p != 0) && ((*echo_vtab)(unsafe.Pointer(p)).FzLogName != 0) { var zSql uintptr - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26615 /* "DROP TABLE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzLogName)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27391 /* "DROP TABLE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzLogName)) rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) } @@ -101854,7 +103419,7 @@ func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:535:12: */ // Echo virtual table module xOpen method. func echoOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 { /* test8.c:557:12: */ var pCur uintptr - if simulateVtabError(tls, pVTab, ts+26629 /* "xOpen" */) != 0 { + if simulateVtabError(tls, pVTab, ts+27405 /* "xOpen" */) != 0 { return SQLITE_ERROR } pCur = sqlite3.Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(echo_cursor{}))) @@ -101894,7 +103459,7 @@ func echoNext(tls *libc.TLS, cur uintptr) int32 { /* test8.c:591:12: */ var rc int32 = SQLITE_OK var pCur uintptr = cur - if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+26635 /* "xNext" */) != 0 { + if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27411 /* "xNext" */) != 0 { return SQLITE_ERROR } @@ -101916,7 +103481,7 @@ func echoColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* tes var iCol int32 = (i + 1) var pStmt uintptr = (*echo_cursor)(unsafe.Pointer(cur)).FpStmt - if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+26641 /* "xColumn" */) != 0 { + if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27417 /* "xColumn" */) != 0 { return SQLITE_ERROR } @@ -101966,14 +103531,14 @@ func echoFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr var pVtab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab var db uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Fdb - if simulateVtabError(tls, pVtab, ts+26649 /* "xFilter" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27425 /* "xFilter" */) != 0 { return SQLITE_ERROR } // Check that idxNum matches idxStr // Log arguments to the ::echo_module Tcl variable - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26649 /* "xFilter" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27425 /* "xFilter" */) appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, idxStr) for i = 0; i < argc; i++ { appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) @@ -102023,7 +103588,7 @@ func string_concat(tls *libc.TLS, pzStr uintptr, zAppend uintptr, doFree int32, } else { if zIn != 0 { var zTemp uintptr = zIn - zIn = sqlite3.Xsqlite3_mprintf(tls, ts+26548 /* "%s%s" */, libc.VaList(bp, zIn, zAppend)) + zIn = sqlite3.Xsqlite3_mprintf(tls, ts+27324 /* "%s%s" */, libc.VaList(bp, zIn, zAppend)) sqlite3.Xsqlite3_free(tls, zTemp) } else { zIn = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+24, zAppend)) @@ -102052,7 +103617,7 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* var zRet uintptr = uintptr(0) if sqlite3.Xsqlite3_libversion_number(tls) < 3010000 { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26657 /* ", *" */, 0) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27433 /* ", *" */, 0) } else { var i int32 for i = 0; i < (*echo_vtab)(unsafe.Pointer(pTab)).FnCol; i++ { @@ -102062,9 +103627,9 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* } return i }()))) != 0 { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26661 /* "%z, %s" */, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*8)))) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27437 /* "%z, %s" */, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*8)))) } else { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+26668 /* "%z, NULL" */, libc.VaList(bp+24, zRet)) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27444 /* "%z, NULL" */, libc.VaList(bp+24, zRet)) } if !(zRet != 0) { break @@ -102114,11 +103679,11 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test var useCost int32 = 0 var cost float64 = float64(0) var isIgnoreUsable int32 = 0 - if tcl.XTcl_GetVar2(tls, interp, ts+26677 /* "echo_module_igno..." */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { + if tcl.XTcl_GetVar2(tls, interp, ts+27453 /* "echo_module_igno..." */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { isIgnoreUsable = 1 } - if simulateVtabError(tls, pVtab, ts+26703 /* "xBestIndex" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27479 /* "xBestIndex" */) != 0 { return SQLITE_ERROR } @@ -102126,11 +103691,11 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test // variable nRow. The 'estimated-cost' of the scan will be the number of // rows in the table for a linear scan, or the log (base 2) of the // number of rows if the proposed scan uses an index. - if tcl.XTcl_GetVar2(tls, interp, ts+26714 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { - cost = libc.Xatof(tls, tcl.XTcl_GetVar2(tls, interp, ts+26714 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY)) + if tcl.XTcl_GetVar2(tls, interp, ts+27490 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY) != 0 { + cost = libc.Xatof(tls, tcl.XTcl_GetVar2(tls, interp, ts+27490 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY)) useCost = 1 } else { - *(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+26731 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27507 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)) != 0) { return SQLITE_NOMEM } @@ -102151,7 +103716,7 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if !(zCol != 0) { return SQLITE_NOMEM } - *(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+26755 /* "SELECT rowid%z F..." */, libc.VaList(bp+16, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27531 /* "SELECT rowid%z F..." */, libc.VaList(bp+16, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)) != 0) { return SQLITE_NOMEM } @@ -102174,29 +103739,29 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if iCol >= 0 { zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*8)) } else { - zNewCol = ts + 26778 /* "rowid" */ + zNewCol = ts + 27554 /* "rowid" */ } var zOp uintptr = uintptr(0) useIdx = 1 switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) { case SQLITE_INDEX_CONSTRAINT_EQ: - zOp = ts + 26784 /* "=" */ + zOp = ts + 27560 /* "=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LT: - zOp = ts + 26786 /* "<" */ + zOp = ts + 27562 /* "<" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GT: - zOp = ts + 26788 /* ">" */ + zOp = ts + 27564 /* ">" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LE: - zOp = ts + 26790 /* "<=" */ + zOp = ts + 27566 /* "<=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GE: - zOp = ts + 26793 /* ">=" */ + zOp = ts + 27569 /* ">=" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_MATCH: @@ -102206,15 +103771,15 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test // of code requires the first letter of this operator to be // in upper-case to trigger the special MATCH handling (i.e. // wrapping the bound parameter with literal '%'s). - zOp = ts + 26796 /* "LIKE" */ + zOp = ts + 27572 /* "LIKE" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_LIKE: - zOp = ts + 26801 /* "like" */ + zOp = ts + 27577 /* "like" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_GLOB: - zOp = ts + 26806 /* "glob" */ + zOp = ts + 27582 /* "glob" */ break fallthrough case SQLITE_INDEX_CONSTRAINT_REGEXP: @@ -102223,10 +103788,10 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test } if zOp != 0 { if int32(*(*int8)(unsafe.Pointer(zOp))) == 'L' { - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+26811, /* " %s %s LIKE (SEL..." */ + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27587, /* " %s %s LIKE (SEL..." */ libc.VaList(bp+40, zSep, zNewCol)) } else { - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+26846 /* " %s %s %s ?" */, libc.VaList(bp+64, zSep, zNewCol, zOp)) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27622 /* " %s %s %s ?" */, libc.VaList(bp+64, zSep, zNewCol, zOp)) } string_concat(tls, bp+128 /* &zQuery */, zNew, 1, bp+136 /* &rc */) zSep = ts + 8865 /* "AND" */ @@ -102245,20 +103810,20 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if iCol >= 0 { zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*8)) } else { - zNewCol = ts + 26778 /* "rowid" */ + zNewCol = ts + 27554 /* "rowid" */ } var zDir uintptr if (*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).Fdesc != 0 { - zDir = ts + 26858 /* "DESC" */ + zDir = ts + 27634 /* "DESC" */ } else { - zDir = ts + 26863 /* "ASC" */ + zDir = ts + 27639 /* "ASC" */ } - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+26867 /* " ORDER BY %s %s" */, libc.VaList(bp+96, zNewCol, zDir)) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27643 /* " ORDER BY %s %s" */, libc.VaList(bp+96, zNewCol, zDir)) string_concat(tls, bp+128 /* &zQuery */, zNew, 1, bp+136 /* &rc */) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1 } - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+26703 /* "xBestIndex" */) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27479 /* "xBestIndex" */) appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, *(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */))) @@ -102312,14 +103877,14 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid // Ticket #3083 - make sure we always start a transaction prior to // making any changes to a virtual table - if simulateVtabError(tls, pVtab, ts+26883 /* "xUpdate" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27659 /* "xUpdate" */) != 0 { return SQLITE_ERROR } // If apData[0] is an integer and nData>1 then do an UPDATE if (nData > 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { - var zSep uintptr = ts + 26891 /* " SET" */ - *(*uintptr)(unsafe.Pointer(bp + 160 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+26896 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + var zSep uintptr = ts + 27667 /* " SET" */ + *(*uintptr)(unsafe.Pointer(bp + 160 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27672 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 160 /* z */)) != 0) { *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = SQLITE_NOMEM } @@ -102328,7 +103893,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid bindArgZero = 1 if bindArgOne != 0 { - string_concat(tls, bp+160 /* &z */, ts+26906 /* " SET rowid=?1 " */, 0, bp+168 /* &rc */) + string_concat(tls, bp+160 /* &z */, ts+27682 /* " SET rowid=?1 " */, 0, bp+168 /* &rc */) zSep = ts + 4619 /* "," */ } for i = 2; i < nData; i++ { @@ -102336,12 +103901,12 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid continue } string_concat(tls, bp+160 /* &z */, sqlite3.Xsqlite3_mprintf(tls, - ts+26921 /* "%s %Q=?%d" */, libc.VaList(bp+16, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*8)), i)), 1, bp+168 /* &rc */) + ts+27697 /* "%s %Q=?%d" */, libc.VaList(bp+16, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*8)), i)), 1, bp+168 /* &rc */) zSep = ts + 4619 /* "," */ } - string_concat(tls, bp+160 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+26931 /* " WHERE rowid=?%d" */, libc.VaList(bp+48, nData)), 1, bp+168 /* &rc */) + string_concat(tls, bp+160 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+27707 /* " WHERE rowid=?%d" */, libc.VaList(bp+48, nData)), 1, bp+168 /* &rc */) } else if (nData == 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { - *(*uintptr)(unsafe.Pointer(bp + 160 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+26948 /* "DELETE FROM %Q W..." */, libc.VaList(bp+64, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 160 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27724 /* "DELETE FROM %Q W..." */, libc.VaList(bp+64, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 160 /* z */)) != 0) { *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = SQLITE_NOMEM } @@ -102351,26 +103916,26 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid *(*uintptr)(unsafe.Pointer(bp + 176 /* zInsert */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 184 /* zValues */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 176 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+26980 /* "INSERT INTO %Q (" */, libc.VaList(bp+80, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + *(*uintptr)(unsafe.Pointer(bp + 176 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27756 /* "INSERT INTO %Q (" */, libc.VaList(bp+80, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if !(*(*uintptr)(unsafe.Pointer(bp + 176 /* zInsert */)) != 0) { *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = SQLITE_NOMEM } if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData + 1*8))) == SQLITE_INTEGER { bindArgOne = 1 *(*uintptr)(unsafe.Pointer(bp + 184 /* zValues */)) = sqlite3.Xsqlite3_mprintf(tls, ts+3266 /* "?" */, 0) - string_concat(tls, bp+176 /* &zInsert */, ts+26778 /* "rowid" */, 0, bp+168 /* &rc */) + string_concat(tls, bp+176 /* &zInsert */, ts+27554 /* "rowid" */, 0, bp+168 /* &rc */) } for ii = 2; ii < nData; ii++ { string_concat(tls, bp+176, /* &zInsert */ - sqlite3.Xsqlite3_mprintf(tls, ts+26997 /* "%s%Q" */, libc.VaList(bp+96, func() uintptr { + sqlite3.Xsqlite3_mprintf(tls, ts+27773 /* "%s%Q" */, libc.VaList(bp+96, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 184 /* zValues */)) != 0 { return ts + 90 /* ", " */ } return ts + 489 /* "" */ }(), *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((ii-2))*8)))), 1, bp+168 /* &rc */) string_concat(tls, bp+184, /* &zValues */ - sqlite3.Xsqlite3_mprintf(tls, ts+27002 /* "%s?%d" */, libc.VaList(bp+120, func() uintptr { + sqlite3.Xsqlite3_mprintf(tls, ts+27778 /* "%s?%d" */, libc.VaList(bp+120, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 184 /* zValues */)) != 0 { return ts + 90 /* ", " */ } @@ -102379,7 +103944,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid } string_concat(tls, bp+160 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 176 /* zInsert */)), 1, bp+168 /* &rc */) - string_concat(tls, bp+160 /* &z */, ts+27008 /* ") VALUES(" */, 0, bp+168 /* &rc */) + string_concat(tls, bp+160 /* &z */, ts+27784 /* ") VALUES(" */, 0, bp+168 /* &rc */) string_concat(tls, bp+160 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 184 /* zValues */)), 1, bp+168 /* &rc */) string_concat(tls, bp+160 /* &z */, ts+490 /* ")" */, 0, bp+168 /* &rc */) } else { @@ -102416,7 +103981,7 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid *(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_last_insert_rowid(tls, db) } if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26391 /* "echo-vtab-error:..." */, libc.VaList(bp+144, sqlite3.Xsqlite3_errmsg(tls, db))) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27167 /* "echo-vtab-error:..." */, libc.VaList(bp+144, sqlite3.Xsqlite3_errmsg(tls, db))) } return *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) @@ -102431,7 +103996,7 @@ func echoTransactionCall(tls *libc.TLS, tab uintptr, zCall uintptr) int32 { /* t var z uintptr var pVtab uintptr = tab - z = sqlite3.Xsqlite3_mprintf(tls, ts+27018 /* "echo(%s)" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + z = sqlite3.Xsqlite3_mprintf(tls, ts+27794 /* "echo(%s)" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) if z == uintptr(0) { return SQLITE_NOMEM } @@ -102450,17 +104015,17 @@ func echoBegin(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1112:12: */ // Ticket #3083 - do not start a transaction if we are already in // a transaction - if simulateVtabError(tls, pVtab, ts+27027 /* "xBegin" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27803 /* "xBegin" */) != 0 { return SQLITE_ERROR } - rc = echoTransactionCall(tls, tab, ts+27027 /* "xBegin" */) + rc = echoTransactionCall(tls, tab, ts+27803 /* "xBegin" */) if rc == SQLITE_OK { // Check if the $::echo_module_begin_fail variable is defined. If it is, // and it is set to the name of the real table underlying this virtual // echo module table, then cause this xSync operation to fail. - zVal = tcl.XTcl_GetVar2(tls, interp, ts+27034 /* "echo_module_begi..." */, uintptr(0), TCL_GLOBAL_ONLY) + zVal = tcl.XTcl_GetVar2(tls, interp, ts+27810 /* "echo_module_begi..." */, uintptr(0), TCL_GLOBAL_ONLY) if (zVal != 0) && (0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) { rc = SQLITE_ERROR } @@ -102480,17 +104045,17 @@ func echoSync(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1143:12: */ // Ticket #3083 - Only call xSync if we have previously started a // transaction - if simulateVtabError(tls, pVtab, ts+27057 /* "xSync" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27833 /* "xSync" */) != 0 { return SQLITE_ERROR } - rc = echoTransactionCall(tls, tab, ts+27057 /* "xSync" */) + rc = echoTransactionCall(tls, tab, ts+27833 /* "xSync" */) if rc == SQLITE_OK { // Check if the $::echo_module_sync_fail variable is defined. If it is, // and it is set to the name of the real table underlying this virtual // echo module table, then cause this xSync operation to fail. - zVal = tcl.XTcl_GetVar2(tls, interp, ts+27063 /* "echo_module_sync..." */, uintptr(0), TCL_GLOBAL_ONLY) + zVal = tcl.XTcl_GetVar2(tls, interp, ts+27839 /* "echo_module_sync..." */, uintptr(0), TCL_GLOBAL_ONLY) if (zVal != 0) && (0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) { rc = -1 } @@ -102505,12 +104070,12 @@ func echoCommit(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1171:12: */ // Ticket #3083 - Only call xCommit if we have previously started // a transaction - if simulateVtabError(tls, pVtab, ts+27085 /* "xCommit" */) != 0 { + if simulateVtabError(tls, pVtab, ts+27861 /* "xCommit" */) != 0 { return SQLITE_ERROR } sqlite3.Xsqlite3BeginBenignMalloc(tls) - rc = echoTransactionCall(tls, tab, ts+27085 /* "xCommit" */) + rc = echoTransactionCall(tls, tab, ts+27861 /* "xCommit" */) sqlite3.Xsqlite3EndBenignMalloc(tls) (*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0 return rc @@ -102523,7 +104088,7 @@ func echoRollback(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1189:12: */ // Ticket #3083 - Only call xRollback if we have previously started // a transaction - rc = echoTransactionCall(tls, tab, ts+27093 /* "xRollback" */) + rc = echoTransactionCall(tls, tab, ts+27869 /* "xRollback" */) (*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0 return rc } @@ -102541,7 +104106,7 @@ func overloadedGlobFunction(tls *libc.TLS, pContext uintptr, nArg int32, apArg u var i int32 var rc int32 tcl.XTcl_DStringInit(tls, bp /* &str */) - tcl.XTcl_DStringAppendElement(tls, bp /* &str */, ts+27103 /* "::echo_glob_over..." */) + tcl.XTcl_DStringAppendElement(tls, bp /* &str */, ts+27879 /* "::echo_glob_over..." */) for i = 0; i < nArg; i++ { tcl.XTcl_DStringAppendElement(tls, bp /* &str */, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + uintptr(i)*8)))) } @@ -102570,10 +104135,10 @@ func echoFindFunction(tls *libc.TLS, vtab uintptr, nArg int32, zFuncName uintptr var interp uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp // var info Tcl_CmdInfo at bp, 64 - if libc.Xstrcmp(tls, zFuncName, ts+26806 /* "glob" */) != 0 { + if libc.Xstrcmp(tls, zFuncName, ts+27582 /* "glob" */) != 0 { return 0 } - if tcl.XTcl_GetCommandInfo(tls, interp, ts+27103 /* "::echo_glob_over..." */, bp /* &info */) == 0 { + if tcl.XTcl_GetCommandInfo(tls, interp, ts+27879 /* "::echo_glob_over..." */, bp /* &info */) == 0 { return 0 } *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { @@ -102590,13 +104155,13 @@ func echoRename(tls *libc.TLS, vtab uintptr, zNewName uintptr) int32 { /* test8. var rc int32 = SQLITE_OK var p uintptr = vtab - if simulateVtabError(tls, p, ts+27124 /* "xRename" */) != 0 { + if simulateVtabError(tls, p, ts+27900 /* "xRename" */) != 0 { return SQLITE_ERROR } if (*echo_vtab)(unsafe.Pointer(p)).FisPattern != 0 { var nThis int32 = int32(libc.Xstrlen(tls, (*echo_vtab)(unsafe.Pointer(p)).FzThis)) - var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27132, /* "ALTER TABLE %s R..." */ + var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27908, /* "ALTER TABLE %s R..." */ libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzTableName, zNewName, ((*echo_vtab)(unsafe.Pointer(p)).FzTableName+uintptr(nThis)))) rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) @@ -102673,7 +104238,7 @@ var echoModuleV2 = sqlite3_module{ func moduleDestroy(tls *libc.TLS, p uintptr) { /* test8.c:1355:13: */ var pMod uintptr = p - sqlite3.Xsqlite3_create_function(tls, (*EchoModule)(unsafe.Pointer(pMod)).Fdb, ts+27162, /* "function_that_do..." */ + sqlite3.Xsqlite3_create_function(tls, (*EchoModule)(unsafe.Pointer(pMod)).Fdb, ts+27938, /* "function_that_do..." */ SQLITE_ANY, 1, uintptr(0), uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, p) } @@ -102700,14 +104265,14 @@ func register_echo_module(tls *libc.TLS, clientData ClientData, interp uintptr, (*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp (*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp /* db */)) rc = sqlite3.Xsqlite3_create_module_v2(tls, - *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27200 /* "echo" */, uintptr(unsafe.Pointer(&echoModule)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) + *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27976 /* "echo" */, uintptr(unsafe.Pointer(&echoModule)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) // Virtual table module "echo_v2" if rc == SQLITE_OK { pMod = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(EchoModule{}))) (*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp (*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp /* db */)) - rc = sqlite3.Xsqlite3_create_module_v2(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27205, /* "echo_v2" */ + rc = sqlite3.Xsqlite3_create_module_v2(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27981, /* "echo_v2" */ uintptr(unsafe.Pointer(&echoModuleV2)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy}))) } @@ -102726,7 +104291,7 @@ func declare_vtab(tls *libc.TLS, clientData ClientData, interp uintptr, objc int var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27213 /* "DB SQL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10524 /* "DB SQL" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { @@ -102759,8 +104324,8 @@ var aObjCmd2 = [2]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 27220 /* "register_echo_mo..." */, FxProc: 0}, - {FzName: ts + 27241 /* "sqlite3_declare_..." */, FxProc: 0}, + {FzName: ts + 27989 /* "register_echo_mo..." */, FxProc: 0}, + {FzName: ts + 28010 /* "sqlite3_declare_..." */, FxProc: 0}, } /* test8.c:1439:5 */ // end block for C++ @@ -102788,7 +104353,7 @@ func c_collation_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var db uintptr at bp+32, 8 var rc int32 - zErrFunction = ts + 27262 /* "N/A" */ + zErrFunction = ts + 28031 /* "N/A" */ if !(objc != 1) { goto __1 } @@ -102802,17 +104367,17 @@ __1: if !(rc != SQLITE_OK) { goto __2 } - zErrFunction = ts + 21128 /* "sqlite3_open" */ + zErrFunction = ts + 21904 /* "sqlite3_open" */ goto error_out __2: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+13094 /* "collate" */, 456, uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+13875 /* "collate" */, 456, uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { goto __3 } sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) - zErrFunction = ts + 27266 /* "sqlite3_create_c..." */ + zErrFunction = ts + 28035 /* "sqlite3_create_c..." */ goto error_out __3: ; @@ -102822,7 +104387,7 @@ __3: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27291 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28060 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -102833,7 +104398,7 @@ func c_realloc_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var p uintptr var zErrFunction uintptr - zErrFunction = ts + 27262 /* "N/A" */ + zErrFunction = ts + 28031 /* "N/A" */ if !(objc != 1) { goto __1 @@ -102847,7 +104412,7 @@ __1: if !(!(p != 0)) { goto __2 } - zErrFunction = ts + 27316 /* "sqlite3_malloc" */ + zErrFunction = ts + 28085 /* "sqlite3_malloc" */ goto error_out __2: ; @@ -102858,7 +104423,7 @@ __2: if !(p != 0) { goto __3 } - zErrFunction = ts + 27331 /* "sqlite3_realloc" */ + zErrFunction = ts + 28100 /* "sqlite3_realloc" */ goto error_out __3: ; @@ -102867,7 +104432,7 @@ __3: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27291 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28060 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -102882,7 +104447,7 @@ func c_misuse_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc in // var pStmt uintptr at bp+40, 8 var rc int32 - zErrFunction = ts + 27262 /* "N/A" */ + zErrFunction = ts + 28031 /* "N/A" */ *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)) = uintptr(0) if !(objc != 1) { @@ -102899,7 +104464,7 @@ __1: if !(rc != SQLITE_OK) { goto __2 } - zErrFunction = ts + 21128 /* "sqlite3_open" */ + zErrFunction = ts + 21904 /* "sqlite3_open" */ goto error_out __2: ; @@ -102909,7 +104474,7 @@ __2: if !(rc != SQLITE_MISUSE) { goto __3 } - zErrFunction = ts + 21055 /* "sqlite3_errcode" */ + zErrFunction = ts + 21831 /* "sqlite3_errcode" */ goto error_out __3: ; @@ -102919,7 +104484,7 @@ __3: if !(rc != SQLITE_MISUSE) { goto __4 } - zErrFunction = ts + 21209 /* "sqlite3_prepare" */ + zErrFunction = ts + 21985 /* "sqlite3_prepare" */ goto error_out __4: ; @@ -102930,7 +104495,7 @@ __4: if !(rc != SQLITE_MISUSE) { goto __5 } - zErrFunction = ts + 21243 /* "sqlite3_prepare_..." */ + zErrFunction = ts + 22019 /* "sqlite3_prepare_..." */ goto error_out __5: ; @@ -102940,7 +104505,7 @@ __5: if !(rc != SQLITE_MISUSE) { goto __6 } - zErrFunction = ts + 21225 /* "sqlite3_prepare1..." */ + zErrFunction = ts + 22001 /* "sqlite3_prepare1..." */ goto error_out __6: ; @@ -102950,7 +104515,7 @@ __6: if !(rc != SQLITE_MISUSE) { goto __7 } - zErrFunction = ts + 21305 /* "sqlite3_prepare1..." */ + zErrFunction = ts + 22081 /* "sqlite3_prepare1..." */ goto error_out __7: ; @@ -102959,7 +104524,7 @@ __7: error_out: tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27291 /* "Error testing fu..." */, zErrFunction, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28060 /* "Error testing fu..." */, zErrFunction, 0)) return TCL_ERROR } @@ -102982,9 +104547,9 @@ var aObjCmd3 = [3]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 27347 /* "c_misuse_test" */, FxProc: 0}, - {FzName: ts + 27361 /* "c_realloc_test" */, FxProc: 0}, - {FzName: ts + 27376 /* "c_collation_test" */, FxProc: 0}, + {FzName: ts + 28116 /* "c_misuse_test" */, FxProc: 0}, + {FzName: ts + 28130 /* "c_realloc_test" */, FxProc: 0}, + {FzName: ts + 28145 /* "c_collation_test" */, FxProc: 0}, } /* test9.c:193:5 */ // end block for C++ @@ -103025,7 +104590,7 @@ func resetAutoExtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc // This procedure registers the TCL procs defined in this file. func Sqlitetest_autoext_Init(tls *libc.TLS, interp uintptr) int32 { /* test_autoext.c:210:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+27393, /* "sqlite3_reset_au..." */ + tcl.XTcl_CreateObjCommand(tls, interp, ts+28162, /* "sqlite3_reset_au..." */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{resetAutoExtObjCmd})), uintptr(0), uintptr(0)) @@ -103037,10 +104602,10 @@ func backupTestCmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc in defer tls.Free(196) *(*[5]BackupSubCommand)(unsafe.Pointer(bp /* aSub */)) = [5]BackupSubCommand{ - {FzCmd: ts + 10120 /* "step" */, FnArg: 1, FzArg: ts + 27422 /* "npage" */}, - {FzCmd: ts + 27428 /* "finish" */, FeCmd: uint32(1) /* BACKUP_FINISH */, FzArg: ts + 489 /* "" */}, - {FzCmd: ts + 27435 /* "remaining" */, FeCmd: uint32(2) /* BACKUP_REMAINING */, FzArg: ts + 489 /* "" */}, - {FzCmd: ts + 27445 /* "pagecount" */, FeCmd: uint32(3) /* BACKUP_PAGECOUNT */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 10120 /* "step" */, FnArg: 1, FzArg: ts + 28191 /* "npage" */}, + {FzCmd: ts + 28197 /* "finish" */, FeCmd: uint32(1) /* BACKUP_FINISH */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 28204 /* "remaining" */, FeCmd: uint32(2) /* BACKUP_REMAINING */, FzArg: ts + 489 /* "" */}, + {FzCmd: ts + 28214 /* "pagecount" */, FeCmd: uint32(3) /* BACKUP_PAGECOUNT */, FzArg: ts + 489 /* "" */}, {}, } @@ -103050,7 +104615,7 @@ func backupTestCmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc in var rc int32 rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aSub[0] */, int32(unsafe.Sizeof(BackupSubCommand{})), ts+11373 /* "option" */, 0, bp+120 /* &iCmd */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aSub[0] */, int32(unsafe.Sizeof(BackupSubCommand{})), ts+12161 /* "option" */, 0, bp+120 /* &iCmd */) if rc != TCL_OK { return rc } @@ -103132,7 +104697,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i if objc != 6 { tcl.XTcl_WrongNumArgs(tls, - interp, 1, objv, ts+27455 /* "CMDNAME DESTHAND..." */) + interp, 1, objv, ts+28224 /* "CMDNAME DESTHAND..." */) return TCL_ERROR } @@ -103144,7 +104709,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i pBackup = sqlite3.Xsqlite3_backup_init(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pDestDb */)), zDestName, *(*uintptr)(unsafe.Pointer(bp + 32 /* pSrcDb */)), zSrcName) if !(pBackup != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27501 /* "sqlite3_backup_i..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28270 /* "sqlite3_backup_i..." */, 0)) return TCL_ERROR } @@ -103156,7 +104721,7 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i } func Sqlitetestbackup_Init(tls *libc.TLS, interp uintptr) int32 { /* test_backup.c:154:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+27530 /* "sqlite3_backup" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+28299 /* "sqlite3_backup" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{backupTestInit})), uintptr(0), uintptr(0)) return TCL_OK @@ -103247,7 +104812,7 @@ func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt var rc int32 = SQLITE_OK if argc != 4 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27545 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28314 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -103265,7 +104830,7 @@ func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26585 /* "xConnect" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27361 /* "xConnect" */, -1)) rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, TCL_EVAL_GLOBAL) if rc != TCL_OK { @@ -103358,7 +104923,7 @@ func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26649 /* "xFilter" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27425 /* "xFilter" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewIntObj(tls, idxNum)) if idxStr != 0 { tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, idxStr, -1)) @@ -103415,11 +104980,11 @@ func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, rc = sqlite3.Xsqlite3_prepare_v2(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pStmt */), uintptr(0)) if rc != SQLITE_OK { var zErr uintptr = sqlite3.Xsqlite3_errmsg(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb) - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27571 /* "unexpected: %s" */, libc.VaList(bp+32, zErr)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28340 /* "unexpected: %s" */, libc.VaList(bp+32, zErr)) } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27571 /* "unexpected: %s" */, libc.VaList(bp+48, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28340 /* "unexpected: %s" */, libc.VaList(bp+48, zCmd)) } } } @@ -103461,7 +105026,7 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd) (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+26703 /* "xBestIndex" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27479 /* "xBestIndex" */, -1)) pArg = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pArg)).FrefCount++ @@ -103474,54 +105039,54 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) { case SQLITE_INDEX_CONSTRAINT_EQ: - zOp = ts + 27586 /* "eq" */ + zOp = ts + 28355 /* "eq" */ break case SQLITE_INDEX_CONSTRAINT_GT: - zOp = ts + 27589 /* "gt" */ + zOp = ts + 28358 /* "gt" */ break case SQLITE_INDEX_CONSTRAINT_LE: - zOp = ts + 27592 /* "le" */ + zOp = ts + 28361 /* "le" */ break case SQLITE_INDEX_CONSTRAINT_LT: - zOp = ts + 27595 /* "lt" */ + zOp = ts + 28364 /* "lt" */ break case SQLITE_INDEX_CONSTRAINT_GE: - zOp = ts + 27598 /* "ge" */ + zOp = ts + 28367 /* "ge" */ break case SQLITE_INDEX_CONSTRAINT_MATCH: - zOp = ts + 27601 /* "match" */ + zOp = ts + 28370 /* "match" */ break case SQLITE_INDEX_CONSTRAINT_LIKE: - zOp = ts + 26801 /* "like" */ + zOp = ts + 27577 /* "like" */ break case SQLITE_INDEX_CONSTRAINT_GLOB: - zOp = ts + 26806 /* "glob" */ + zOp = ts + 27582 /* "glob" */ break case SQLITE_INDEX_CONSTRAINT_REGEXP: zOp = ts + 6335 /* "regexp" */ break case SQLITE_INDEX_CONSTRAINT_NE: - zOp = ts + 27607 /* "ne" */ + zOp = ts + 28376 /* "ne" */ break case SQLITE_INDEX_CONSTRAINT_ISNOT: - zOp = ts + 27610 /* "isnot" */ + zOp = ts + 28379 /* "isnot" */ break case SQLITE_INDEX_CONSTRAINT_ISNOTNULL: - zOp = ts + 27616 /* "isnotnull" */ + zOp = ts + 28385 /* "isnotnull" */ break case SQLITE_INDEX_CONSTRAINT_ISNULL: - zOp = ts + 27626 /* "isnull" */ + zOp = ts + 28395 /* "isnull" */ break case SQLITE_INDEX_CONSTRAINT_IS: zOp = ts + 5712 /* "is" */ break } - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27633 /* "op" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28402 /* "op" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, zOp, -1)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27636 /* "column" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28405 /* "column" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27643 /* "usable" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28412 /* "usable" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fusable))) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, pElem) @@ -103548,9 +105113,9 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ var pElem uintptr = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pElem)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27636 /* "column" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28405 /* "column" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).FiColumn)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+27650 /* "desc" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28419 /* "desc" */, -1)) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).Fdesc))) tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, pElem) @@ -103609,29 +105174,29 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ for ii = 0; (rc == SQLITE_OK) && (ii < *(*int32)(unsafe.Pointer(bp + 96 /* nElem */))); ii = ii + (2) { var zCmd uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 104 /* apElem */)) + uintptr(ii)*8))) var p uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 104 /* apElem */)) + uintptr((ii+1))*8)) - if sqlite3.Xsqlite3_stricmp(tls, ts+27655 /* "cost" */, zCmd) == 0 { + if sqlite3.Xsqlite3_stricmp(tls, ts+28424 /* "cost" */, zCmd) == 0 { rc = tcl.XTcl_GetDoubleFromObj(tls, interp, p, (pIdxInfo + 64 /* &.estimatedCost */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27660 /* "orderby" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28429 /* "orderby" */, zCmd) == 0 { rc = tcl.XTcl_GetIntFromObj(tls, interp, p, (pIdxInfo + 60 /* &.orderByConsumed */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27668 /* "idxnum" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28437 /* "idxnum" */, zCmd) == 0 { rc = tcl.XTcl_GetIntFromObj(tls, interp, p, (pIdxInfo + 40 /* &.idxNum */)) - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27675 /* "idxstr" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28444 /* "idxstr" */, zCmd) == 0 { sqlite3.Xsqlite3_free(tls, (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+32, tcl.XTcl_GetString(tls, p))) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - } else if sqlite3.Xsqlite3_stricmp(tls, ts+27682 /* "rows" */, zCmd) == 0 { + } else if sqlite3.Xsqlite3_stricmp(tls, ts+28451 /* "rows" */, zCmd) == 0 { *(*Tcl_WideInt)(unsafe.Pointer(bp + 112 /* x */)) = int64(0) rc = tcl.XTcl_GetWideIntFromObj(tls, interp, p, bp+112 /* &x */) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = sqlite3_int64(tRowcnt(*(*Tcl_WideInt)(unsafe.Pointer(bp + 112 /* x */)))) - } else if (sqlite3.Xsqlite3_stricmp(tls, ts+27687 /* "use" */, zCmd) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, ts+27691 /* "omit" */, zCmd) == 0) { + } else if (sqlite3.Xsqlite3_stricmp(tls, ts+28456 /* "use" */, zCmd) == 0) || + (sqlite3.Xsqlite3_stricmp(tls, ts+28460 /* "omit" */, zCmd) == 0) { // var iCons int32 at bp+120, 4 rc = tcl.XTcl_GetIntFromObj(tls, interp, p, bp+120 /* &iCons */) if rc == SQLITE_OK { if (*(*int32)(unsafe.Pointer(bp + 120 /* iCons */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 120 /* iCons */)) >= (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27696 /* "unexpected: %d" */, libc.VaList(bp+48, *(*int32)(unsafe.Pointer(bp + 120 /* iCons */)))) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28465 /* "unexpected: %d" */, libc.VaList(bp+48, *(*int32)(unsafe.Pointer(bp + 120 /* iCons */)))) } else { var bOmit int32 = (libc.Bool32((int32(*(*int8)(unsafe.Pointer(zCmd))) == 'o') || (int32(*(*int8)(unsafe.Pointer(zCmd))) == 'O'))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(*(*int32)(unsafe.Pointer(bp + 120 /* iCons */)))*8)).FargvIndex = libc.PostIncInt32(&iArgv, 1) @@ -103640,7 +105205,7 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27571 /* "unexpected: %s" */, libc.VaList(bp+64, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28340 /* "unexpected: %s" */, libc.VaList(bp+64, zCmd)) } if (rc != SQLITE_OK) && ((*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg == uintptr(0)) { var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp) @@ -103684,7 +105249,7 @@ func register_tcl_module(tls *libc.TLS, clientData ClientData, interp uintptr, o if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+27711 /* "tcl" */, uintptr(unsafe.Pointer(&tclModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28480 /* "tcl" */, uintptr(unsafe.Pointer(&tclModule)), interp) return TCL_OK } @@ -103707,7 +105272,7 @@ var aObjCmd4 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 27715 /* "register_tcl_mod..." */, FxProc: 0}, + {FzName: ts + 28484 /* "register_tcl_mod..." */, FxProc: 0}, } /* test_bestindex.c:610:5 */ // Return a pointer to a buffer containing a text representation of the @@ -103717,7 +105282,7 @@ func ptrToText(tls *libc.TLS, p uintptr) uintptr { /* test_blob.c:37:13: */ bp := tls.Alloc(16) defer tls.Free(16) - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof(buf)) - uint64(1))), uintptr(unsafe.Pointer(&buf)), ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof(buf)) - uint64(1))), uintptr(unsafe.Pointer(&buf)), ts+13802 /* "%p" */, libc.VaList(bp, p)) return uintptr(unsafe.Pointer(&buf)) } @@ -103743,7 +105308,7 @@ func blobHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, ppBlob uint z = tcl.XTcl_GetStringFromObj(tls, pObj, bp /* &n */) if *(*int32)(unsafe.Pointer(bp /* n */)) == 0 { *(*uintptr)(unsafe.Pointer(ppBlob)) = uintptr(0) - } else if (*(*int32)(unsafe.Pointer(bp /* n */)) > 9) && (0 == libc.Xmemcmp(tls, ts+27735 /* "incrblob_" */, z, uint64(9))) { + } else if (*(*int32)(unsafe.Pointer(bp /* n */)) > 9) && (0 == libc.Xmemcmp(tls, ts+28504 /* "incrblob_" */, z, uint64(9))) { // var notUsed int32 at bp+4, 4 var channel Tcl_Channel @@ -103807,7 +105372,7 @@ func test_blob_open(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var rc int32 if objc != 8 { - var zUsage uintptr = ts + 27745 /* "DB DATABASE TABL..." */ + var zUsage uintptr = ts + 28514 /* "DB DATABASE TABL..." */ tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zUsage) return TCL_ERROR } @@ -103851,7 +105416,7 @@ func test_blob_close(tls *libc.TLS, clientData ClientData, interp uintptr, objc var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27790 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28559 /* "HANDLE" */) return TCL_ERROR } @@ -103878,7 +105443,7 @@ func test_blob_bytes(tls *libc.TLS, clientData ClientData, interp uintptr, objc var nByte int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27790 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28559 /* "HANDLE" */) return TCL_ERROR } @@ -103918,7 +105483,7 @@ func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc i var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27797 /* "CHANNEL OFFSET N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28566 /* "CHANNEL OFFSET N" */) return TCL_ERROR } @@ -103933,7 +105498,7 @@ func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc i if *(*int32)(unsafe.Pointer(bp + 36 /* nByte */)) > 0 { zBuf = tcl.XTcl_AttemptAlloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 36 /* nByte */)))) if zBuf == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27814 /* "out of memory in..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28583 /* "out of memory in..." */, 0)) return TCL_ERROR } } @@ -103978,7 +105543,7 @@ func test_blob_write(tls *libc.TLS, clientData ClientData, interp uintptr, objc // var nBuf int32 at bp+12, 4 if (objc != 4) && (objc != 5) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27875 /* "HANDLE OFFSET DA..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28644 /* "HANDLE OFFSET DA..." */) return TCL_ERROR } @@ -104022,11 +105587,11 @@ var aObjCmd5 = [5]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 27902 /* "sqlite3_blob_ope..." */, FxProc: 0}, - {FzName: ts + 27920 /* "sqlite3_blob_clo..." */, FxProc: 0}, - {FzName: ts + 27939 /* "sqlite3_blob_byt..." */, FxProc: 0}, - {FzName: ts + 27958 /* "sqlite3_blob_rea..." */, FxProc: 0}, - {FzName: ts + 27976 /* "sqlite3_blob_wri..." */, FxProc: 0}, + {FzName: ts + 28671 /* "sqlite3_blob_ope..." */, FxProc: 0}, + {FzName: ts + 28689 /* "sqlite3_blob_clo..." */, FxProc: 0}, + {FzName: ts + 28708 /* "sqlite3_blob_byt..." */, FxProc: 0}, + {FzName: ts + 28727 /* "sqlite3_blob_rea..." */, FxProc: 0}, + {FzName: ts + 28745 /* "sqlite3_blob_wri..." */, FxProc: 0}, } /* test_blob.c:317:5 */ // end block for C++ @@ -104080,374 +105645,374 @@ func sqlite3BtreeCursorList(tls *libc.TLS, p uintptr) { /* test_btree.c:52:6: */ // according to the compile-time configuration of the database. Test // procedures use this to determine when tests should be omitted. func set_options(tls *libc.TLS, interp uintptr) { /* test_config.c:47:13: */ - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28010 /* "malloc_usable_si..." */, ts+13873, /* "0" */ + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28779 /* "malloc_usable_si..." */, ts+14654, /* "0" */ TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28029 /* "rowid32" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28798 /* "rowid32" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28037 /* "casesensitivelik..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28806 /* "casesensitivelik..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28055 /* "configslower" */, ts+28068 /* "1.0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28824 /* "configslower" */, ts+28837 /* "1.0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28072 /* "curdir" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28841 /* "curdir" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28081 /* "win32malloc" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28850 /* "win32malloc" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28093 /* "debug" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28862 /* "debug" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28099 /* "default_ckptfull..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28868 /* "default_ckptfull..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28121 /* "direct_read" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28890 /* "direct_read" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28133 /* "dirsync" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28902 /* "dirsync" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28141 /* "lfs" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28910 /* "lfs" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28145 /* "pagecache_overfl..." */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28914 /* "pagecache_overfl..." */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28170 /* "mmap" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28939 /* "mmap" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28175, /* "worker_threads" */ - ts+28190 /* "8" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28944, /* "worker_threads" */ + ts+28959 /* "8" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28192 /* "memdebug" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28961 /* "memdebug" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28201 /* "8_3_names" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28970 /* "8_3_names" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28211 /* "cursorhints" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28980 /* "cursorhints" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28223 /* "hiddencolumns" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+28992 /* "hiddencolumns" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+13152 /* "deserialize" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+13933 /* "deserialize" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28237 /* "mathlib" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29006 /* "mathlib" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28245 /* "mem3" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29014 /* "mem3" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28250 /* "mem5" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29019 /* "mem5" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28255 /* "offset_sql_func" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29024 /* "offset_sql_func" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+13260 /* "preupdate" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+14041 /* "preupdate" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28271 /* "snapshot" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29040 /* "snapshot" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28280 /* "mutex" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29049 /* "mutex" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28286 /* "mutex_noop" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29055 /* "mutex_noop" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28297 /* "altertable" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29066 /* "altertable" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+1818 /* "analyze" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+1818 /* "analyze" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28308 /* "api_armor" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29077 /* "api_armor" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28318 /* "atomicwrite" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29087 /* "atomicwrite" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28330 /* "geopoly" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29099 /* "geopoly" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28338 /* "json1" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29107 /* "json1" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28344 /* "has_codec" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29113 /* "has_codec" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28354 /* "like_match_blobs" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29123 /* "like_match_blobs" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28371 /* "attach" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+10584 /* "attach" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28378 /* "auth" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29140 /* "auth" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28383 /* "autoinc" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29145 /* "autoinc" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+12733 /* "autoindex" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+13514 /* "autoindex" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28391 /* "autoreset" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29153 /* "autoreset" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28401 /* "autovacuum" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28412, /* "default_autovacu..." */ - ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29163 /* "autovacuum" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29174, /* "default_autovacu..." */ + ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28431 /* "between_opt" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29193 /* "between_opt" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28443 /* "builtin_test" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29205 /* "builtin_test" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28456 /* "bloblit" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29218 /* "bloblit" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28464 /* "cast" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29226 /* "cast" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28469 /* "check" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29231 /* "check" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28475 /* "cte" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29237 /* "cte" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28479 /* "columnmetadata" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29241 /* "columnmetadata" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28494 /* "oversize_cell_ch..." */, ts+13873, /* "0" */ + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29256 /* "oversize_cell_ch..." */, ts+14654, /* "0" */ TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28514 /* "compileoption_di..." */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29276 /* "compileoption_di..." */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+13131 /* "complete" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+13912 /* "complete" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28534 /* "compound" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29296 /* "compound" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28543 /* "conflict" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28552 /* "crashtest" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29305 /* "conflict" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29314 /* "crashtest" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28562 /* "datetime" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29324 /* "datetime" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28571 /* "decltype" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29333 /* "decltype" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28580 /* "deprecated" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29342 /* "deprecated" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28591 /* "diskio" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29353 /* "diskio" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+4835 /* "explain" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+4835 /* "explain" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28598 /* "floatingpoint" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29360 /* "floatingpoint" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28612 /* "foreignkey" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29374 /* "foreignkey" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28623 /* "fts1" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29385 /* "fts1" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28628 /* "fts2" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29390 /* "fts2" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28633 /* "fts3" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29395 /* "fts3" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28638 /* "fts5" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29400 /* "fts5" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28643 /* "fts3_unicode" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29405 /* "fts3_unicode" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28656 /* "fts4_deferred" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29418 /* "fts4_deferred" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28670 /* "gettable" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29432 /* "gettable" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28679 /* "icu" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29441 /* "icu" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28683 /* "icu_collations" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29445 /* "icu_collations" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+10524 /* "incrblob" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+11333 /* "incrblob" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28698 /* "integrityck" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29460 /* "integrityck" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28710 /* "legacyformat" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29472 /* "legacyformat" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28723 /* "like_opt" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29485 /* "like_opt" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28732 /* "load_ext" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29494 /* "load_ext" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28741 /* "localtime" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29503 /* "localtime" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28751 /* "lookaside" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29513 /* "lookaside" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28761, /* "long_double" */ + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29523, /* "long_double" */ func() uintptr { if uint64(unsafe.Sizeof(float64(0))) > uint64(unsafe.Sizeof(float64(0))) { - return ts + 28079 /* "1" */ + return ts + 28848 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28773 /* "memorydb" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29535 /* "memorydb" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28782 /* "memorymanage" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29544 /* "memorymanage" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28795 /* "mergesort" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29557 /* "mergesort" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28805 /* "null_trim" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29567 /* "null_trim" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28815 /* "or_opt" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29577 /* "or_opt" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28822 /* "rbu" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29584 /* "rbu" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28826 /* "pager_pragmas" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29588 /* "pager_pragmas" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28840 /* "pragma" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29602 /* "pragma" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+10199 /* "progress" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+10199 /* "progress" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28847 /* "reindex" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29609 /* "reindex" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28855 /* "rtree" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29617 /* "rtree" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28861 /* "rtree_int_only" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29623 /* "rtree_int_only" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28876 /* "schema_pragmas" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29638 /* "schema_pragmas" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28891 /* "schema_version" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29653 /* "schema_version" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28906 /* "session" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29668 /* "session" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+18592 /* "stat4" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28914 /* "stmtvtab" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+19373 /* "stat4" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29676 /* "stmtvtab" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28923 /* "scanstatus" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29685 /* "scanstatus" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28934 /* "lock_proxy_pragm..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28953 /* "prefer_proxy_loc..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29696 /* "lock_proxy_pragm..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29715 /* "prefer_proxy_loc..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28974 /* "shared_cache" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29736 /* "shared_cache" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28987 /* "subquery" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29749 /* "subquery" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+28996 /* "tclvar" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29758 /* "tclvar" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29003, /* "threadsafe" */ + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29765, /* "threadsafe" */ func() uintptr { if 1 != 0 { - return ts + 28079 /* "1" */ + return ts + 28848 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29014, /* "threadsafe1" */ + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29776, /* "threadsafe1" */ func() uintptr { if SQLITE_THREADSAFE == 1 { - return ts + 28079 /* "1" */ + return ts + 28848 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29026, /* "threadsafe2" */ + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29788, /* "threadsafe2" */ func() uintptr { if SQLITE_THREADSAFE == 2 { - return ts + 28079 /* "1" */ + return ts + 28848 /* "1" */ } - return ts + 13873 /* "0" */ + return ts + 14654 /* "0" */ }(), TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29038 /* "tempdb" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29800 /* "tempdb" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+13345 /* "trace" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+14126 /* "trace" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29045 /* "trigger" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29807 /* "trigger" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29053 /* "truncate_opt" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29815 /* "truncate_opt" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+15418 /* "utf16" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+16199 /* "utf16" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29066 /* "vacuum" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29828 /* "vacuum" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29073 /* "view" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29835 /* "view" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29078 /* "vtab" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29840 /* "vtab" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29083 /* "wal" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29845 /* "wal" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29087 /* "wsd" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29849 /* "wsd" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29091 /* "update_delete_li..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29853 /* "update_delete_li..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+13372 /* "unlock_notify" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+14153 /* "unlock_notify" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29111 /* "fast_secure_dele..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29873 /* "fast_secure_dele..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29130 /* "secure_delete" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29892 /* "secure_delete" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29144 /* "userauth" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29906 /* "userauth" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29153 /* "multiplex_ext_ov..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29915 /* "multiplex_ext_ov..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29177 /* "yytrackmaxstackd..." */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29939 /* "yytrackmaxstackd..." */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29198 /* "sqllog" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29960 /* "sqllog" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29205 /* "uri_00_error" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29967 /* "uri_00_error" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29218 /* "normalize" */, ts+13873 /* "0" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29980 /* "normalize" */, ts+14654 /* "0" */, TCL_GLOBAL_ONLY) - tcl.XTcl_SetVar2(tls, interp, ts+27995 /* "sqlite_options" */, ts+29228 /* "windowfunc" */, ts+28079 /* "1" */, TCL_GLOBAL_ONLY) + tcl.XTcl_SetVar2(tls, interp, ts+28764 /* "sqlite_options" */, ts+29990 /* "windowfunc" */, ts+28848 /* "1" */, TCL_GLOBAL_ONLY) { - tcl.XTcl_LinkVar(tls, interp, ts+29239 /* "SQLITE_MAX_LENGT..." */, uintptr(unsafe.Pointer(&cv_MAX_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30001 /* "SQLITE_MAX_LENGT..." */, uintptr(unsafe.Pointer(&cv_MAX_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29257 /* "SQLITE_MAX_COLUM..." */, uintptr(unsafe.Pointer(&cv_MAX_COLUMN)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30019 /* "SQLITE_MAX_COLUM..." */, uintptr(unsafe.Pointer(&cv_MAX_COLUMN)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29275 /* "SQLITE_MAX_SQL_L..." */, uintptr(unsafe.Pointer(&cv_MAX_SQL_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30037 /* "SQLITE_MAX_SQL_L..." */, uintptr(unsafe.Pointer(&cv_MAX_SQL_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29297 /* "SQLITE_MAX_EXPR_..." */, uintptr(unsafe.Pointer(&cv_MAX_EXPR_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30059 /* "SQLITE_MAX_EXPR_..." */, uintptr(unsafe.Pointer(&cv_MAX_EXPR_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29319 /* "SQLITE_MAX_COMPO..." */, uintptr(unsafe.Pointer(&cv_MAX_COMPOUND_SELECT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30081 /* "SQLITE_MAX_COMPO..." */, uintptr(unsafe.Pointer(&cv_MAX_COMPOUND_SELECT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29346 /* "SQLITE_MAX_VDBE_..." */, uintptr(unsafe.Pointer(&cv_MAX_VDBE_OP)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30108 /* "SQLITE_MAX_VDBE_..." */, uintptr(unsafe.Pointer(&cv_MAX_VDBE_OP)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29365 /* "SQLITE_MAX_FUNCT..." */, uintptr(unsafe.Pointer(&cv_MAX_FUNCTION_ARG)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30127 /* "SQLITE_MAX_FUNCT..." */, uintptr(unsafe.Pointer(&cv_MAX_FUNCTION_ARG)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29389 /* "SQLITE_MAX_VARIA..." */, uintptr(unsafe.Pointer(&cv_MAX_VARIABLE_NUMBER)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30151 /* "SQLITE_MAX_VARIA..." */, uintptr(unsafe.Pointer(&cv_MAX_VARIABLE_NUMBER)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29416 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30178 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29437 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_COUNT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30199 /* "SQLITE_MAX_PAGE_..." */, uintptr(unsafe.Pointer(&cv_MAX_PAGE_COUNT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29459 /* "SQLITE_MAX_LIKE_..." */, uintptr(unsafe.Pointer(&cv_MAX_LIKE_PATTERN_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30221 /* "SQLITE_MAX_LIKE_..." */, uintptr(unsafe.Pointer(&cv_MAX_LIKE_PATTERN_LENGTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29490 /* "SQLITE_MAX_TRIGG..." */, uintptr(unsafe.Pointer(&cv_MAX_TRIGGER_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30252 /* "SQLITE_MAX_TRIGG..." */, uintptr(unsafe.Pointer(&cv_MAX_TRIGGER_DEPTH)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29515 /* "SQLITE_DEFAULT_C..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_CACHE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30277 /* "SQLITE_DEFAULT_C..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_CACHE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29541 /* "SQLITE_DEFAULT_P..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30303 /* "SQLITE_DEFAULT_P..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29566 /* "SQLITE_DEFAULT_F..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_FILE_FORMAT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30328 /* "SQLITE_DEFAULT_F..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_FILE_FORMAT)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29593 /* "SQLITE_DEFAULT_S..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30355 /* "SQLITE_DEFAULT_S..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29620 /* "SQLITE_DEFAULT_W..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_WAL_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30382 /* "SQLITE_DEFAULT_W..." */, uintptr(unsafe.Pointer(&cv_DEFAULT_WAL_SYNCHRONOUS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29651 /* "SQLITE_MAX_ATTAC..." */, uintptr(unsafe.Pointer(&cv_MAX_ATTACHED)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30413 /* "SQLITE_MAX_ATTAC..." */, uintptr(unsafe.Pointer(&cv_MAX_ATTACHED)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29671 /* "SQLITE_MAX_DEFAU..." */, uintptr(unsafe.Pointer(&cv_MAX_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30433 /* "SQLITE_MAX_DEFAU..." */, uintptr(unsafe.Pointer(&cv_MAX_DEFAULT_PAGE_SIZE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29700 /* "SQLITE_MAX_WORKE..." */, uintptr(unsafe.Pointer(&cv_MAX_WORKER_THREADS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) + tcl.XTcl_LinkVar(tls, interp, ts+30462 /* "SQLITE_MAX_WORKE..." */, uintptr(unsafe.Pointer(&cv_MAX_WORKER_THREADS)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29726 /* "TEMP_STORE" */, uintptr(unsafe.Pointer(&cv_TEMP_STORE)), + tcl.XTcl_LinkVar(tls, interp, ts+30488 /* "TEMP_STORE" */, uintptr(unsafe.Pointer(&cv_TEMP_STORE)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29737 /* "_MSC_VER" */, uintptr(unsafe.Pointer(&cv__MSC_VER)), + tcl.XTcl_LinkVar(tls, interp, ts+30499 /* "_MSC_VER" */, uintptr(unsafe.Pointer(&cv__MSC_VER)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } { - tcl.XTcl_LinkVar(tls, interp, ts+29746 /* "__GNUC__" */, uintptr(unsafe.Pointer(&cv___GNUC__)), + tcl.XTcl_LinkVar(tls, interp, ts+30508 /* "__GNUC__" */, uintptr(unsafe.Pointer(&cv___GNUC__)), (TCL_LINK_INT | TCL_LINK_READ_ONLY)) } @@ -104538,18 +106103,18 @@ func sqlite3_delete_database(tls *libc.TLS, zFile uintptr) int32 { /* test_delet var rc int32 = 0 // System error code var i int32 // Iterate through azFmt[] and aMFile[] - *(*[4]uintptr)(unsafe.Pointer(bp + 40 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 29755 /* "%s-journal" */, ts + 29766 /* "%s-wal" */, ts + 29773 /* "%s-shm" */} + *(*[4]uintptr)(unsafe.Pointer(bp + 40 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 30517 /* "%s-journal" */, ts + 30528 /* "%s-wal" */, ts + 30535 /* "%s-shm" */} *(*[6]MFile)(unsafe.Pointer(bp + 72 /* aMFile */)) = [6]MFile{ - {FzFmt: ts + 29780 /* "%s%03d" */}, - {FzFmt: ts + 29787 /* "%s-journal%03d" */}, - {FzFmt: ts + 29802 /* "%s-wal%03d" */}, - {FzFmt: ts + 29780 /* "%s%03d" */, Fb83: 1}, - {FzFmt: ts + 29787 /* "%s-journal%03d" */, FiOffset: SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET, Fb83: 1}, - {FzFmt: ts + 29802 /* "%s-wal%03d" */, FiOffset: SQLITE_MULTIPLEX_WAL_8_3_OFFSET, Fb83: 1}, + {FzFmt: ts + 30542 /* "%s%03d" */}, + {FzFmt: ts + 30549 /* "%s-journal%03d" */}, + {FzFmt: ts + 30564 /* "%s-wal%03d" */}, + {FzFmt: ts + 30542 /* "%s%03d" */, Fb83: 1}, + {FzFmt: ts + 30549 /* "%s-journal%03d" */, FiOffset: SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET, Fb83: 1}, + {FzFmt: ts + 30564 /* "%s-wal%03d" */, FiOffset: SQLITE_MULTIPLEX_WAL_8_3_OFFSET, Fb83: 1}, } - var pVfs uintptr = sqlite3.Xsqlite3_vfs_find(tls, ts+29813 /* "win32" */) + var pVfs uintptr = sqlite3.Xsqlite3_vfs_find(tls, ts+30575 /* "win32" */) // Allocate a buffer large enough for any of the files that need to be // deleted. @@ -104861,7 +106426,7 @@ var devsym_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(devsym_file{})), // szOsFile FmxPathname: DEVSYM_MAX_PATHNAME, // pNext - FzName: ts + 29819, /* "devsym" */ // pAppData + FzName: ts + 30581, /* "devsym" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -104875,7 +106440,7 @@ var writecrash_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(devsym_file{})), // szOsFile FmxPathname: DEVSYM_MAX_PATHNAME, // pNext - FzName: ts + 29826, /* "writecrash" */ // pAppData + FzName: ts + 30588, /* "writecrash" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -104978,7 +106543,7 @@ func fsdirConnect1(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin var pTab uintptr if argc != 3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27545 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28314 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -104989,7 +106554,7 @@ func fsdirConnect1(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(FsdirVtab{}))) *(*uintptr)(unsafe.Pointer(ppVtab)) = (pTab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+29837 /* "CREATE TABLE xyz..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30599 /* "CREATE TABLE xyz..." */) return SQLITE_OK } @@ -105171,7 +106736,7 @@ func fstreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin var pTab uintptr if argc != 3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27545 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28314 /* "wrong number of ..." */, 0) return SQLITE_ERROR } @@ -105183,7 +106748,7 @@ func fstreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin (*FstreeVtab)(unsafe.Pointer(pTab)).Fdb = db *(*uintptr)(unsafe.Pointer(ppVtab)) = (pTab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+29866 /* "CREATE TABLE xyz..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30628 /* "CREATE TABLE xyz..." */) return SQLITE_OK } @@ -105275,7 +106840,7 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var pCsr uintptr = pVtabCursor var pTab uintptr = (*FstreeCsr)(unsafe.Pointer(pCsr)).Fbase.FpVtab var rc int32 - var zSql uintptr = ts + 29902 /* "WITH r(d) AS ( ..." */ + var zSql uintptr = ts + 30664 /* "WITH r(d) AS ( ..." */ var zRoot uintptr var nRoot int32 var zPrefix uintptr @@ -105284,11 +106849,11 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var nDir int32 *(*[2]int8)(unsafe.Pointer(bp + 40 /* aWild */)) = [2]int8{int8(0), int8(0)} - var zDrive uintptr = windirent_getenv(tls, ts+30134 /* "fstreeDrive" */) + var zDrive uintptr = windirent_getenv(tls, ts+30896 /* "fstreeDrive" */) if zDrive == uintptr(0) { - zDrive = windirent_getenv(tls, ts+30146 /* "SystemDrive" */) + zDrive = windirent_getenv(tls, ts+30908 /* "SystemDrive" */) } - zRoot = sqlite3.Xsqlite3_mprintf(tls, ts+30158 /* "%s%c" */, libc.VaList(bp, zDrive, '/')) + zRoot = sqlite3.Xsqlite3_mprintf(tls, ts+30920 /* "%s%c" */, libc.VaList(bp, zDrive, '/')) nRoot = sqlite3.Xsqlite3Strlen30(tls, zRoot) zPrefix = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+24, zDrive)) nPrefix = sqlite3.Xsqlite3Strlen30(tls, zPrefix) @@ -105412,7 +106977,7 @@ func fsConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr var zDb uintptr = *(*uintptr)(unsafe.Pointer(argv + 1*8)) if argc != 4 { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+27545 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28314 /* "wrong number of ..." */, 0) return SQLITE_ERROR } zTbl = *(*uintptr)(unsafe.Pointer(argv + 3*8)) @@ -105429,7 +106994,7 @@ func fsConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr libc.Xmemcpy(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzTbl, zTbl, libc.Xstrlen(tls, zTbl)) libc.Xmemcpy(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzDb, zDb, libc.Xstrlen(tls, zDb)) *(*uintptr)(unsafe.Pointer(ppVtab)) = (pVtab /* &.base */) - sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30163 /* "CREATE TABLE x(p..." */) + sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30925 /* "CREATE TABLE x(p..." */) return SQLITE_OK } @@ -105483,7 +107048,7 @@ func fsFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, if idxNum == 1 { var zStmt uintptr = sqlite3.Xsqlite3_mprintf(tls, - ts+30200 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) + ts+30962 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) if !(zStmt != 0) { return SQLITE_NOMEM } @@ -105648,9 +107213,9 @@ func register_fs_module(tls *libc.TLS, clientData ClientData, interp uintptr, ob if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30234 /* "fs" */, uintptr(unsafe.Pointer(&fsModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30996 /* "fs" */, uintptr(unsafe.Pointer(&fsModule)), interp) sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+5186 /* "fsdir" */, uintptr(unsafe.Pointer(&fsdirModule)), uintptr(0)) - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30237 /* "fstree" */, uintptr(unsafe.Pointer(&fstreeModule)), uintptr(0)) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+30999 /* "fstree" */, uintptr(unsafe.Pointer(&fstreeModule)), uintptr(0)) return TCL_OK } @@ -105673,7 +107238,7 @@ var aObjCmd6 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 30244 /* "register_fs_modu..." */, FxProc: 0}, + {FzName: ts + 31006 /* "register_fs_modu..." */, FxProc: 0}, } /* test_fs.c:907:5 */ // Allocate nByte bytes of space using sqlite3_malloc(). If the @@ -105733,7 +107298,7 @@ func randStr(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* test sqlite3.Xsqlite3_result_text(tls, context, bp+4 /* zBuf */, n, libc.UintptrFromInt32(-1)) } -var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 30263 /* "abcdefghijklmnop..." */)) /* test_func.c:46:30 */ +var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 31025 /* "abcdefghijklmnop..." */)) /* test_func.c:46:30 */ // The following two SQL functions are used to test returning a text // result with a destructor. Function 'test_destructor' takes one argument @@ -105926,7 +107491,7 @@ func test_eval(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* test_ if rc != 0 { var zErr uintptr - zErr = sqlite3.Xsqlite3_mprintf(tls, ts+30342 /* "sqlite3_prepare_..." */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) + zErr = sqlite3.Xsqlite3_mprintf(tls, ts+31104 /* "sqlite3_prepare_..." */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) sqlite3.Xsqlite3_result_text(tls, pCtx, zErr, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) sqlite3.Xsqlite3_result_error_code(tls, pCtx, rc) } @@ -106032,11 +107597,11 @@ func real2hex(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* tes *(*float64)(unsafe.Pointer(bp /* &v */)) = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; i < 8; i++ { if bigEndian != 0 { - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((i * 2)))) = *(*int8)(unsafe.Pointer(ts + 30373 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((i * 2) + 1)))) = *(*int8)(unsafe.Pointer(ts + 30373 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((i * 2)))) = *(*int8)(unsafe.Pointer(ts + 31135 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((i * 2) + 1)))) = *(*int8)(unsafe.Pointer(ts + 31135 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) } else { - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((14 - (i * 2))))) = *(*int8)(unsafe.Pointer(ts + 30373 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) - *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((14 - (i * 2)) + 1)))) = *(*int8)(unsafe.Pointer(ts + 30373 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr((14 - (i * 2))))) = *(*int8)(unsafe.Pointer(ts + 31135 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) >> 4)))) + *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + uintptr(((14 - (i * 2)) + 1)))) = *(*int8)(unsafe.Pointer(ts + 31135 /* "0123456789abcdef" */ + uintptr((int32(*(*uint8)(unsafe.Pointer((bp /* &v */ /* &.x */) + uintptr(i)))) & 0xf)))) } } *(*int8)(unsafe.Pointer(bp + 8 /* &zOut[0] */ + 16)) = int8(0) @@ -106142,7 +107707,7 @@ func test_decode(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* var n int32 = sqlite3.Xsqlite3_value_bytes(tls, bp+56 /* &mem */) var z uintptr = sqlite3.Xsqlite3_value_blob(tls, bp+56 /* &mem */) var i int32 - pVal = tcl.XTcl_NewStringObj(tls, ts+30390 /* "x'" */, -1) + pVal = tcl.XTcl_NewStringObj(tls, ts+31152 /* "x'" */, -1) for i = 0; i < n; i++ { // var hex [3]int8 at bp+120, 3 @@ -106243,7 +107808,7 @@ func registerTestFunctions(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk u int32(aFuncs[i].FeTextRep), uintptr(0), aFuncs[i].FxFunc, uintptr(0), uintptr(0)) } - sqlite3.Xsqlite3_create_function(tls, db, ts+30393 /* "test_agg_errmsg1..." */, 0, SQLITE_ANY, uintptr(0), uintptr(0), + sqlite3.Xsqlite3_create_function(tls, db, ts+31155 /* "test_agg_errmsg1..." */, 0, SQLITE_ANY, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{test_agg_errmsg16_step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_agg_errmsg16_final}))) @@ -106258,26 +107823,26 @@ var aFuncs = [20]struct { FeTextRep uint32 FxFunc uintptr }{ - {FzName: ts + 30411 /* "randstr" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30419 /* "test_destructor" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30435 /* "test_destructor1..." */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30453 /* "hex_to_utf16be" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30468 /* "hex_to_utf16le" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30483 /* "hex_to_utf8" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30495 /* "test_destructor_..." */, FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30517 /* "test_auxdata" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30530 /* "test_error" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30530 /* "test_error" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30541 /* "test_eval" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30551 /* "test_isolation" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30566 /* "test_counter" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30579 /* "real2hex" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30588 /* "test_decode" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30600 /* "test_extract" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30613 /* "test_zeroblob" */, FnArg: int8(1), FeTextRep: (uint32(SQLITE_UTF8 | SQLITE_DETERMINISTIC)), FxFunc: 0}, - {FzName: ts + 30627 /* "test_getsubtype" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30643 /* "test_setsubtype" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, - {FzName: ts + 30659 /* "test_frombind" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31173 /* "randstr" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31181 /* "test_destructor" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31197 /* "test_destructor1..." */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31215 /* "hex_to_utf16be" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31230 /* "hex_to_utf16le" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31245 /* "hex_to_utf8" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31257 /* "test_destructor_..." */, FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31279 /* "test_auxdata" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31292 /* "test_error" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31292 /* "test_error" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31303 /* "test_eval" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31313 /* "test_isolation" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31328 /* "test_counter" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31341 /* "real2hex" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31350 /* "test_decode" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31362 /* "test_extract" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31375 /* "test_zeroblob" */, FnArg: int8(1), FeTextRep: (uint32(SQLITE_UTF8 | SQLITE_DETERMINISTIC)), FxFunc: 0}, + {FzName: ts + 31389 /* "test_getsubtype" */, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31405 /* "test_setsubtype" */, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, + {FzName: ts + 31421 /* "test_frombind" */, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0}, } /* test_func.c:674:5 */ // TCLCMD: autoinstall_test_functions @@ -106325,7 +107890,7 @@ func abuse_create_function(tls *libc.TLS, clientData uintptr, interp uintptr, ob __1: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+30673 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -106337,7 +107902,7 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+30673 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -106349,7 +107914,7 @@ __2: __3: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+30673 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { @@ -106359,7 +107924,7 @@ __3: __4: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+30673 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { goto __5 } @@ -106367,7 +107932,7 @@ __4: __5: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+30673 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -106377,7 +107942,7 @@ __5: __6: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+30673 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -106387,7 +107952,7 @@ __6: __7: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+30673 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -106399,7 +107964,7 @@ __8: rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), - ts+30676, /* "funcxx_123456789..." */ + ts+31438, /* "funcxx_123456789..." */ 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) @@ -106417,7 +107982,7 @@ __9: mxArg = sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), SQLITE_LIMIT_FUNCTION_ARG, -1) rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), - ts+30933, /* "nullx_123456789_..." */ + ts+31695, /* "nullx_123456789_..." */ mxArg, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) @@ -106431,7 +107996,7 @@ __10: return TCL_OK abuse_err: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31189, /* "sqlite3_create_f..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31951, /* "sqlite3_create_f..." */ uintptr(0))) return TCL_ERROR } @@ -106518,7 +108083,7 @@ __2: goto __3 } sqlite3.Xsqlite3_result_error(tls, pCtx, - ts+31232 /* "invalid matchinf..." */, -1) + ts+31994 /* "invalid matchinf..." */, -1) return __3: ; @@ -106579,7 +108144,7 @@ __7: // Jump here if the wrong number of arguments are passed to this function wrong_number_args: - sqlite3.Xsqlite3_result_error(tls, pCtx, ts+31281 /* "wrong number of ..." */, -1) + sqlite3.Xsqlite3_result_error(tls, pCtx, ts+32043 /* "wrong number of ..." */, -1) } func install_fts3_rank_function(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_func.c:910:26: */ @@ -106596,7 +108161,7 @@ func install_fts3_rank_function(tls *libc.TLS, clientData uintptr, interp uintpt if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+31326 /* "rank" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+32088 /* "rank" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rankfunc})), uintptr(0), uintptr(0)) return TCL_OK @@ -106626,9 +108191,9 @@ var aObjCmd7 = [3]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 31331 /* "autoinstall_test..." */, FxProc: 0}, - {FzName: ts + 31358 /* "abuse_create_fun..." */, FxProc: 0}, - {FzName: ts + 31380 /* "install_fts3_ran..." */, FxProc: 0}, + {FzName: ts + 32093 /* "autoinstall_test..." */, FxProc: 0}, + {FzName: ts + 32120 /* "abuse_create_fun..." */, FxProc: 0}, + {FzName: ts + 32142 /* "install_fts3_ran..." */, FxProc: 0}, } /* test_func.c:937:5 */ // end block for C++ @@ -106664,7 +108229,7 @@ func sqlite3TestBinToHex(tls *libc.TLS, zBuf uintptr, N int32) { /* test_hexio.c bp := tls.Alloc(17) defer tls.Free(17) - *(*[17]uint8)(unsafe.Pointer(bp /* zHex */)) = *(*[17]uint8)(unsafe.Pointer(ts + 31407 /* "0123456789ABCDEF" */)) + *(*[17]uint8)(unsafe.Pointer(bp /* zHex */)) = *(*[17]uint8)(unsafe.Pointer(ts + 32169 /* "0123456789ABCDEF" */)) var i int32 var j int32 var c uint8 @@ -106744,7 +108309,7 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o var in uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31424 /* "FILENAME OFFSET ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32186 /* "FILENAME OFFSET ..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56 /* &offset */) != 0 { @@ -106760,10 +108325,10 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o } in = libc.Xfopen(tls, zFile, ts+4263 /* "rb" */) if in == uintptr(0) { - in = libc.Xfopen(tls, zFile, ts+31444 /* "r" */) + in = libc.Xfopen(tls, zFile, ts+32206 /* "r" */) } if in == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31446 /* "cannot open inpu..." */, zFile, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32208 /* "cannot open inpu..." */, zFile, 0)) return TCL_ERROR } libc.Xfseek(tls, in, int32(*(*int32)(unsafe.Pointer(bp + 56 /* offset */))), SEEK_SET) @@ -106798,7 +108363,7 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var out uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31470 /* "FILENAME OFFSET ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32232 /* "FILENAME OFFSET ..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+32 /* &offset */) != 0 { @@ -106811,12 +108376,12 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } nOut = sqlite3TestHexToBin(tls, zIn, *(*int32)(unsafe.Pointer(bp + 36 /* nIn */)), aOut) - out = libc.Xfopen(tls, zFile, ts+31494 /* "r+b" */) + out = libc.Xfopen(tls, zFile, ts+32256 /* "r+b" */) if out == uintptr(0) { - out = libc.Xfopen(tls, zFile, ts+31498 /* "r+" */) + out = libc.Xfopen(tls, zFile, ts+32260 /* "r+" */) } if out == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31501 /* "cannot open outp..." */, zFile, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32263 /* "cannot open outp..." */, zFile, 0)) return TCL_ERROR } libc.Xfseek(tls, out, int32(*(*int32)(unsafe.Pointer(bp + 32 /* offset */))), SEEK_SET) @@ -106845,7 +108410,7 @@ func hexio_get_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 // var aNum [4]uint8 at bp+4, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31526 /* "HEXDATA" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32288 /* "HEXDATA" */) return TCL_ERROR } zIn = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nIn */) @@ -106928,7 +108493,7 @@ func utf8_to_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(24) tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+31534 /* "[utf8_to_utf8] u..." */, 0)) + libc.VaList(bp, ts+32296 /* "[utf8_to_utf8] u..." */, 0)) return TCL_ERROR } @@ -106973,7 +108538,7 @@ func read_fts3varint(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var nVal int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31588 /* "BLOB VARNAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32350 /* "BLOB VARNAME" */) return TCL_ERROR } zBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nBlob */) @@ -106997,7 +108562,7 @@ func make_fts3record(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var i int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31601 /* "LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32363 /* "LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &nArg */, bp+8 /* &aArg */) != 0 { @@ -107068,14 +108633,14 @@ var aObjCmd8 = [8]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 31606 /* "hexio_read" */, FxProc: 0}, - {FzName: ts + 31617 /* "hexio_write" */, FxProc: 0}, - {FzName: ts + 31629 /* "hexio_get_int" */, FxProc: 0}, - {FzName: ts + 31643 /* "hexio_render_int..." */, FxProc: 0}, - {FzName: ts + 31662 /* "hexio_render_int..." */, FxProc: 0}, - {FzName: ts + 31681 /* "utf8_to_utf8" */, FxProc: 0}, - {FzName: ts + 31694 /* "read_fts3varint" */, FxProc: 0}, - {FzName: ts + 31710 /* "make_fts3record" */, FxProc: 0}, + {FzName: ts + 32368 /* "hexio_read" */, FxProc: 0}, + {FzName: ts + 32379 /* "hexio_write" */, FxProc: 0}, + {FzName: ts + 32391 /* "hexio_get_int" */, FxProc: 0}, + {FzName: ts + 32405 /* "hexio_render_int..." */, FxProc: 0}, + {FzName: ts + 32424 /* "hexio_render_int..." */, FxProc: 0}, + {FzName: ts + 32443 /* "utf8_to_utf8" */, FxProc: 0}, + {FzName: ts + 32456 /* "read_fts3varint" */, FxProc: 0}, + {FzName: ts + 32472 /* "make_fts3record" */, FxProc: 0}, } /* test_hexio.c:450:5 */ // end block for C++ @@ -107316,14 +108881,14 @@ func init_wrapper_install(tls *libc.TLS, clientData ClientData, interp uintptr, installInitWrappers(tls) for i = 1; i < objc; i++ { var z uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))) - if libc.Xstrcmp(tls, z, ts+31726 /* "mem" */) == 0 { + if libc.Xstrcmp(tls, z, ts+32488 /* "mem" */) == 0 { wrapped.Fmem_fail = 1 - } else if libc.Xstrcmp(tls, z, ts+28280 /* "mutex" */) == 0 { + } else if libc.Xstrcmp(tls, z, ts+29049 /* "mutex" */) == 0 { wrapped.Fmutex_fail = 1 - } else if libc.Xstrcmp(tls, z, ts+31730 /* "pcache" */) == 0 { + } else if libc.Xstrcmp(tls, z, ts+32492 /* "pcache" */) == 0 { wrapped.Fpcache_fail = 1 } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31737 /* "Unknown argument..." */, z, ts+11634 /* "\"" */)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32499 /* "Unknown argument..." */, z, ts+12415 /* "\"" */)) return TCL_ERROR } } @@ -107368,13 +108933,13 @@ func init_wrapper_query(tls *libc.TLS, clientData ClientData, interp uintptr, ob pRet = tcl.XTcl_NewObj(tls) if wrapped.Fmutex_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+28280 /* "mutex" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+29049 /* "mutex" */, -1)) } if wrapped.Fmem_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+31726 /* "mem" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32488 /* "mem" */, -1)) } if wrapped.Fpcache_init != 0 { - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+31730 /* "pcache" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32492 /* "pcache" */, -1)) } tcl.XTcl_SetObjResult(tls, interp, pRet) @@ -107398,10 +108963,10 @@ var aObjCmd9 = [4]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 31757 /* "init_wrapper_ins..." */, FxProc: 0}, - {FzName: ts + 31778 /* "init_wrapper_que..." */, FxProc: 0}, - {FzName: ts + 31797 /* "init_wrapper_uni..." */, FxProc: 0}, - {FzName: ts + 31820 /* "init_wrapper_cle..." */, FxProc: 0}, + {FzName: ts + 32519 /* "init_wrapper_ins..." */, FxProc: 0}, + {FzName: ts + 32540 /* "init_wrapper_que..." */, FxProc: 0}, + {FzName: ts + 32559 /* "init_wrapper_uni..." */, FxProc: 0}, + {FzName: ts + 32582 /* "init_wrapper_cle..." */, FxProc: 0}, } /* test_init.c:282:5 */ // @@ -107474,7 +109039,7 @@ func intarrayCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv ui if pVtab != 0 { libc.Xmemset(tls, pVtab, 0, uint64(unsafe.Sizeof(intarray_vtab{}))) (*intarray_vtab)(unsafe.Pointer(pVtab)).FpContent = pAux - rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+31839 /* "CREATE TABLE x(v..." */) + rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+32601 /* "CREATE TABLE x(v..." */) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab return rc @@ -107584,7 +109149,7 @@ func sqlite3_intarray_create(tls *libc.TLS, db uintptr, zName uintptr, ppReturn *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{intarrayFree}))) if rc == SQLITE_OK { var zSql uintptr - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+31881, /* "CREATE VIRTUAL T..." */ + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+32643, /* "CREATE VIRTUAL T..." */ libc.VaList(bp, zName, zName)) rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) @@ -107655,14 +109220,14 @@ func test_intarray_bind(tls *libc.TLS, clientData ClientData, interp uintptr, ob var a uintptr if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31919 /* "INTARRAY" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32681 /* "INTARRAY" */) return TCL_ERROR } pArray = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) n = (objc - 2) a = sqlite3.Xsqlite3_malloc64(tls, (uint64(unsafe.Sizeof(sqlite3_int64(0))) * uint64(n))) if a == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31928 /* "SQLITE_NOMEM" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32690 /* "SQLITE_NOMEM" */, uintptr(0))) return TCL_ERROR } for i = 0; i < n; i++ { @@ -107697,8 +109262,8 @@ var aObjCmd10 = [2]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 31941 /* "sqlite3_intarray..." */, FxProc: 0}, - {FzName: ts + 31965 /* "sqlite3_intarray..." */, FxProc: 0}, + {FzName: ts + 32703 /* "sqlite3_intarray..." */, FxProc: 0}, + {FzName: ts + 32727 /* "sqlite3_intarray..." */, FxProc: 0}, } /* test_intarray.c:380:5 */ // Maximum pathname length supported by the jt backend. @@ -107731,7 +109296,7 @@ var jt_vfs = sqlite3_vfs{ FiVersion: 2, // iVersion FszOsFile: int32(unsafe.Sizeof(jt_file{})), // szOsFile FmxPathname: JT_MAX_PATHNAME, // pNext - FzName: ts + 31987, /* "jt" */ // pAppData + FzName: ts + 32749, /* "jt" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -107845,7 +109410,7 @@ func locateDatabaseHandle(tls *libc.TLS, zJournal uintptr, noLock int32) uintptr var pMain uintptr = uintptr(0) enterJtMutex(tls) for pMain = g2.FpList; pMain != 0; pMain = (*jt_file)(unsafe.Pointer(pMain)).FpNext { - var nName int32 = (int32(libc.Xstrlen(tls, zJournal) - libc.Xstrlen(tls, ts+31990 /* "-journal" */))) + var nName int32 = (int32(libc.Xstrlen(tls, zJournal) - libc.Xstrlen(tls, ts+32752 /* "-journal" */))) if (((((*jt_file)(unsafe.Pointer(pMain)).Fflags & SQLITE_OPEN_MAIN_DB) != 0) && (int32(libc.Xstrlen(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName)) == nName)) && (0 == libc.Xmemcmp(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName, zJournal, uint64(nName)))) && @@ -108310,7 +109875,7 @@ func jtOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int // returning. func jtDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* test_journal.c:733:12: */ var nPath int32 = int32(libc.Xstrlen(tls, zPath)) - if (nPath > 8) && (0 == libc.Xstrcmp(tls, ts+31990 /* "-journal" */, (zPath+uintptr((nPath-8))))) { + if (nPath > 8) && (0 == libc.Xstrcmp(tls, ts+32752 /* "-journal" */, (zPath+uintptr((nPath-8))))) { // Deleting a journal file. The end of a transaction. var pMain uintptr = locateDatabaseHandle(tls, zPath, 0) if pMain != 0 { @@ -108669,7 +110234,7 @@ func pointerToText(tls *libc.TLS, p uintptr, z uintptr) { /* test_malloc.c:239:1 // var n sqlite3_uint64 at bp, 8 if *(*uintptr)(unsafe.Pointer(bp + 8 /* p */)) == uintptr(0) { - libc.Xstrcpy(tls, z, ts+13873 /* "0" */) + libc.Xstrcpy(tls, z, ts+14654 /* "0" */) return } if uint64(unsafe.Sizeof(sqlite3_uint64(0))) == uint64(unsafe.Sizeof(uintptr(0))) { @@ -108702,7 +110267,7 @@ __3: *(*int8)(unsafe.Pointer(z + 16)) = int8(0) } -var zHex = *(*[17]int8)(unsafe.Pointer(ts + 30373 /* "0123456789abcdef" */)) /* test_malloc.c:240:21 */ +var zHex = *(*[17]int8)(unsafe.Pointer(ts + 31135 /* "0123456789abcdef" */)) /* test_malloc.c:240:21 */ func hexToInt(tls *libc.TLS, h int32) int32 { /* test_malloc.c:262:12: */ if (h >= '0') && (h <= '9') { @@ -108758,7 +110323,7 @@ func test_malloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zOut [100]int8 at bp+28, 100 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31999 /* "NBYTES" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32761 /* "NBYTES" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &nByte */) != 0 { @@ -108785,14 +110350,14 @@ func test_realloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zOut [100]int8 at bp+72, 100 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32006 /* "PRIOR NBYTES" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32768 /* "PRIOR NBYTES" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56 /* &nByte */) != 0 { return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &pPrior */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32019 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32781 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } p = sqlite3.Xsqlite3_realloc(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pPrior */)), int32(uint32(*(*int32)(unsafe.Pointer(bp + 56 /* nByte */))))) @@ -108811,11 +110376,11 @@ func test_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob // var pPrior uintptr at bp+32, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32033 /* "PRIOR" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32795 /* "PRIOR" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pPrior */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32019 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32781 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pPrior */))) @@ -108842,18 +110407,18 @@ func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zBin [100]int8 at bp+96, 100 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32039 /* "ADDRESS SIZE HEX" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32801 /* "ADDRESS SIZE HEX" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &p */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32019 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32781 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+88 /* &size */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 88 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+32056 /* "size must be pos..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+32818 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } zHex = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+92 /* &n */) @@ -108862,7 +110427,7 @@ func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } *(*int32)(unsafe.Pointer(bp + 92 /* n */)) = sqlite3TestHexToBin(tls, zHex, *(*int32)(unsafe.Pointer(bp + 92 /* n */)), bp+96 /* &zBin[0] */) if *(*int32)(unsafe.Pointer(bp + 92 /* n */)) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+32078 /* "no data" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+32840 /* "no data" */, uintptr(0))) return TCL_ERROR } zOut = *(*uintptr)(unsafe.Pointer(bp + 80 /* p */)) @@ -108888,18 +110453,18 @@ func test_memget(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var zHex [100]int8 at bp+92, 100 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32086 /* "ADDRESS SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32848 /* "ADDRESS SIZE" */) return TCL_ERROR } if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &p */) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32019 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32781 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+88 /* &size */) != 0 { return TCL_ERROR } if *(*int32)(unsafe.Pointer(bp + 88 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+32056 /* "size must be pos..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+32818 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } zBin = *(*uintptr)(unsafe.Pointer(bp + 80 /* p */)) @@ -108935,7 +110500,7 @@ func test_memory_highwater(tls *libc.TLS, clientData uintptr, interp uintptr, ob *(*int32)(unsafe.Pointer(bp /* resetFlag */)) = 0 if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32099 /* "?RESET?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32861 /* "?RESET?" */) return TCL_ERROR } if objc == 2 { @@ -108959,7 +110524,7 @@ func test_memdebug_backtrace(tls *libc.TLS, clientData uintptr, interp uintptr, // var depth int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32107 /* "DEPT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32869 /* "DEPT" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &depth */) != 0 { @@ -108973,7 +110538,7 @@ func test_memdebug_backtrace(tls *libc.TLS, clientData uintptr, interp uintptr, // Write a summary of unfreed memory to FILENAME. func test_memdebug_dump(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:542:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18389 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19170 /* "FILENAME" */) return TCL_ERROR } return TCL_OK @@ -109021,7 +110586,7 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc var nFail int32 = 0 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32112 /* "COUNTER ?OPTIONS..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32874 /* "COUNTER ?OPTIONS..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+32 /* &iFail */) != 0 { @@ -109034,22 +110599,22 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc var zOption uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(ii)*8)), bp+36 /* &nOption */) var zErr uintptr = uintptr(0) - if (*(*int32)(unsafe.Pointer(bp + 36 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32130 /* "-repeat" */, uint64(*(*int32)(unsafe.Pointer(bp + 36 /* nOption */)))) == 0) { + if (*(*int32)(unsafe.Pointer(bp + 36 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32892 /* "-repeat" */, uint64(*(*int32)(unsafe.Pointer(bp + 36 /* nOption */)))) == 0) { if ii == (objc - 1) { - zErr = ts + 12327 /* "option requires ..." */ + zErr = ts + 13108 /* "option requires ..." */ } else { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*8)), bp+40 /* &nRepeat */) != 0 { return TCL_ERROR } } - } else if (*(*int32)(unsafe.Pointer(bp + 36 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32138 /* "-benigncnt" */, uint64(*(*int32)(unsafe.Pointer(bp + 36 /* nOption */)))) == 0) { + } else if (*(*int32)(unsafe.Pointer(bp + 36 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32900 /* "-benigncnt" */, uint64(*(*int32)(unsafe.Pointer(bp + 36 /* nOption */)))) == 0) { if ii == (objc - 1) { - zErr = ts + 12327 /* "option requires ..." */ + zErr = ts + 13108 /* "option requires ..." */ } else { pBenignCnt = *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*8)) } } else { - zErr = ts + 12133 /* "unknown option: " */ + zErr = ts + 12914 /* "unknown option: " */ } if zErr != 0 { @@ -109101,7 +110666,7 @@ var sqlite3_memdebug_title_count int32 = 0 /* test_malloc.c:694:12 */ func test_memdebug_settitle(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:706:26: */ sqlite3_memdebug_title_count++ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32149 /* "TITLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32911 /* "TITLE" */) return TCL_ERROR } return TCL_OK @@ -109154,7 +110719,7 @@ func test_memdebug_log(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32155 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32917 /* "SUB-COMMAND ..." */) } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&MB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp /* &iSub */) != 0 { return TCL_ERROR @@ -109218,7 +110783,7 @@ func test_memdebug_log(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } var isInit int32 = 0 /* test_malloc.c:793:14 */ -var MB_strs = [5]uintptr{ts + 32171 /* "start" */, ts + 32177 /* "stop" */, ts + 32182 /* "dump" */, ts + 32187 /* "clear" */, ts + 32193 /* "sync" */} /* test_malloc.c:796:21 */ +var MB_strs = [5]uintptr{ts + 32933 /* "start" */, ts + 32939 /* "stop" */, ts + 32944 /* "dump" */, ts + 32949 /* "clear" */, ts + 32955 /* "sync" */} /* test_malloc.c:796:21 */ // Usage: sqlite3_config_pagecache SIZE N // @@ -109238,7 +110803,7 @@ func test_config_pagecache(tls *libc.TLS, clientData uintptr, interp uintptr, ob var pRes uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32198 /* "SIZE N" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32960 /* "SIZE N" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &sz */) != 0 { @@ -109286,7 +110851,7 @@ func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int *(*int32)(unsafe.Pointer(bp + 36 /* highStress */)) = 0 if (objc < 2) || (objc > 5) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+32205 /* "INSTALLFLAG DISC..." */) + ts+32967 /* "INSTALLFLAG DISC..." */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &installFlag */) != 0 { @@ -109302,7 +110867,7 @@ func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int return TCL_ERROR } if (*(*int32)(unsafe.Pointer(bp + 28 /* discardChance */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 28 /* discardChance */)) > 100) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32252, /* "discard-chance s..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33014, /* "discard-chance s..." */ uintptr(0))) return TCL_ERROR } @@ -109322,7 +110887,7 @@ func test_config_memstatus(tls *libc.TLS, clientData uintptr, interp uintptr, ob var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17939 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18720 /* "BOOLEAN" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &enable */) != 0 { @@ -109345,7 +110910,7 @@ func test_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, ob var pRet uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32295 /* "SIZE COUNT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33057 /* "SIZE COUNT" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &sz */) != 0 { @@ -109383,7 +110948,7 @@ func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, // var bufid int32 at bp+96, 4 if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32306 /* "BUFID SIZE COUNT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33068 /* "BUFID SIZE COUNT" */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+88 /* &db */) != 0 { @@ -109403,7 +110968,7 @@ func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, } else if ((*(*int32)(unsafe.Pointer(bp + 96 /* bufid */)) >= 1) && (*(*int32)(unsafe.Pointer(bp + 96 /* bufid */)) <= 2)) && ((uint64(*(*int32)(unsafe.Pointer(bp + 100 /* sz */)) * *(*int32)(unsafe.Pointer(bp + 104 /* cnt */)))) <= uint64(unsafe.Sizeof([10000]int8{}))) { rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* db */)), SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+32, (uintptr(unsafe.Pointer(&azBuf))+uintptr(*(*int32)(unsafe.Pointer(bp + 96 /* bufid */)))*10000), *(*int32)(unsafe.Pointer(bp + 100 /* sz */)), *(*int32)(unsafe.Pointer(bp + 104 /* cnt */)))) } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+32323 /* "illegal argument..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+33085 /* "illegal argument..." */, uintptr(0))) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) @@ -109427,7 +110992,7 @@ func test_config_heap(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var nArg int32 = (objc - 1) if nArg != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32361 /* "NBYTE NMINALLOC" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33123 /* "NBYTE NMINALLOC" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+64 /* &nByte */) != 0 { @@ -109465,7 +111030,7 @@ func test_config_heap_size(tls *libc.TLS, clientData uintptr, interp uintptr, ob var nArg int32 = (objc - 1) if nArg != 1 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15910 /* "NBYTE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+16 /* &nByte */) != 0 { @@ -109489,7 +111054,7 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var db uintptr at bp+48, 8 if (objc != 2) && (objc != 1) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32377 /* "[DB]" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33139 /* "[DB]" */) return TCL_ERROR } if objc == 2 { @@ -109498,14 +111063,14 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } if sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+32382, /* "sqlite3_db_confi..." */ + libc.VaList(bp, ts+33144, /* "sqlite3_db_confi..." */ uintptr(0))) return TCL_ERROR } } else { if sqlite3.Xsqlite3_config(tls, 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+24, ts+32440, /* "sqlite3_config(9..." */ + libc.VaList(bp+24, ts+33202, /* "sqlite3_config(9..." */ uintptr(0))) return TCL_ERROR } @@ -109525,7 +111090,7 @@ func test_config_uri(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var bOpenUri int32 at bp+16, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18743 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &bOpenUri */) != 0 { @@ -109550,7 +111115,7 @@ func test_config_cis(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // var bUseCis int32 at bp+16, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18743 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &bUseCis */) != 0 { @@ -109574,7 +111139,7 @@ func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // var iPmaSz int32 at bp+16, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18743 /* "BOOL" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &iPmaSz */) != 0 { @@ -109593,7 +111158,7 @@ func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // Write a summary of unfreed memsys3 allocations to FILENAME. func test_dump_memsys3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:1251:26: */ if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18389 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19170 /* "FILENAME" */) return TCL_ERROR } @@ -109631,7 +111196,7 @@ func test_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zOpName uintptr var pResult uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32491 /* "PARAMETER RESETF..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33253 /* "PARAMETER RESETF..." */) return TCL_ERROR } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -109673,16 +111238,16 @@ var aOp1 = [10]struct { Fop int32 _ [4]byte }{ - {FzName: ts + 32511 /* "SQLITE_STATUS_ME..." */}, - {FzName: ts + 32537 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, - {FzName: ts + 32563 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_USED}, - {FzName: ts + 32592 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_OVERFLOW}, - {FzName: ts + 32625 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_SIZE}, - {FzName: ts + 32654 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_USED}, - {FzName: ts + 32681 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_OVERFLOW}, - {FzName: ts + 32712 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_SIZE}, - {FzName: ts + 32739 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PARSER_STACK}, - {FzName: ts + 32766 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_COUNT}, + {FzName: ts + 33273 /* "SQLITE_STATUS_ME..." */}, + {FzName: ts + 33299 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, + {FzName: ts + 33325 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_USED}, + {FzName: ts + 33354 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_OVERFLOW}, + {FzName: ts + 33387 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PAGECACHE_SIZE}, + {FzName: ts + 33416 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_USED}, + {FzName: ts + 33443 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_OVERFLOW}, + {FzName: ts + 33474 /* "SQLITE_STATUS_SC..." */, Fop: SQLITE_STATUS_SCRATCH_SIZE}, + {FzName: ts + 33501 /* "SQLITE_STATUS_PA..." */, Fop: SQLITE_STATUS_PARSER_STACK}, + {FzName: ts + 33528 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_COUNT}, } /* test_malloc.c:1299:5 */ // Usage: sqlite3_db_status DATABASE OPCODE RESETFLAG @@ -109707,17 +111272,17 @@ func test_db_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 var pResult uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32793 /* "DB PARAMETER RES..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33555 /* "DB PARAMETER RES..." */) return TCL_ERROR } if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if libc.Xmemcmp(tls, zOpName, ts+32816 /* "SQLITE_" */, uint64(7)) == 0 { + if libc.Xmemcmp(tls, zOpName, ts+33578 /* "SQLITE_" */, uint64(7)) == 0 { zOpName += uintptr(7) } - if libc.Xmemcmp(tls, zOpName, ts+32824 /* "DBSTATUS_" */, uint64(9)) == 0 { + if libc.Xmemcmp(tls, zOpName, ts+33586 /* "DBSTATUS_" */, uint64(9)) == 0 { zOpName += uintptr(9) } for i = 0; i < (int32(uint64(unsafe.Sizeof(aOp2)) / uint64(unsafe.Sizeof(struct { @@ -109758,19 +111323,19 @@ var aOp2 = [13]struct { Fop int32 _ [4]byte }{ - {FzName: ts + 32834 /* "LOOKASIDE_USED" */}, - {FzName: ts + 32849 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, - {FzName: ts + 32860 /* "SCHEMA_USED" */, Fop: SQLITE_DBSTATUS_SCHEMA_USED}, - {FzName: ts + 32872 /* "STMT_USED" */, Fop: SQLITE_DBSTATUS_STMT_USED}, - {FzName: ts + 32882 /* "LOOKASIDE_HIT" */, Fop: SQLITE_DBSTATUS_LOOKASIDE_HIT}, - {FzName: ts + 32896 /* "LOOKASIDE_MISS_S..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE}, - {FzName: ts + 32916 /* "LOOKASIDE_MISS_F..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL}, - {FzName: ts + 32936 /* "CACHE_HIT" */, Fop: SQLITE_DBSTATUS_CACHE_HIT}, - {FzName: ts + 32946 /* "CACHE_MISS" */, Fop: SQLITE_DBSTATUS_CACHE_MISS}, - {FzName: ts + 32957 /* "CACHE_WRITE" */, Fop: SQLITE_DBSTATUS_CACHE_WRITE}, - {FzName: ts + 32969 /* "DEFERRED_FKS" */, Fop: SQLITE_DBSTATUS_DEFERRED_FKS}, - {FzName: ts + 32982 /* "CACHE_USED_SHARE..." */, Fop: SQLITE_DBSTATUS_CACHE_USED_SHARED}, - {FzName: ts + 33000 /* "CACHE_SPILL" */, Fop: SQLITE_DBSTATUS_CACHE_SPILL}, + {FzName: ts + 33596 /* "LOOKASIDE_USED" */}, + {FzName: ts + 33611 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, + {FzName: ts + 33622 /* "SCHEMA_USED" */, Fop: SQLITE_DBSTATUS_SCHEMA_USED}, + {FzName: ts + 33634 /* "STMT_USED" */, Fop: SQLITE_DBSTATUS_STMT_USED}, + {FzName: ts + 33644 /* "LOOKASIDE_HIT" */, Fop: SQLITE_DBSTATUS_LOOKASIDE_HIT}, + {FzName: ts + 33658 /* "LOOKASIDE_MISS_S..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE}, + {FzName: ts + 33678 /* "LOOKASIDE_MISS_F..." */, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL}, + {FzName: ts + 33698 /* "CACHE_HIT" */, Fop: SQLITE_DBSTATUS_CACHE_HIT}, + {FzName: ts + 33708 /* "CACHE_MISS" */, Fop: SQLITE_DBSTATUS_CACHE_MISS}, + {FzName: ts + 33719 /* "CACHE_WRITE" */, Fop: SQLITE_DBSTATUS_CACHE_WRITE}, + {FzName: ts + 33731 /* "DEFERRED_FKS" */, Fop: SQLITE_DBSTATUS_DEFERRED_FKS}, + {FzName: ts + 33744 /* "CACHE_USED_SHARE..." */, Fop: SQLITE_DBSTATUS_CACHE_USED_SHARED}, + {FzName: ts + 33762 /* "CACHE_SPILL" */, Fop: SQLITE_DBSTATUS_CACHE_SPILL}, } /* test_malloc.c:1358:5 */ // install_malloc_faultsim BOOLEAN @@ -109782,7 +111347,7 @@ func test_install_malloc_faultsim(tls *libc.TLS, clientData uintptr, interp uint // var isInstall int32 at bp, 4 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17939 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18720 /* "BOOLEAN" */) return TCL_ERROR } if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &isInstall */) { @@ -109805,7 +111370,7 @@ func test_vfs_oom_test(tls *libc.TLS, clientData uintptr, interp uintptr, objc i defer tls.Free(4) if objc > 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33012 /* "?INTEGER?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33774 /* "?INTEGER?" */) return TCL_ERROR } else if objc == 2 { // var iNew int32 at bp, 4 @@ -109840,38 +111405,38 @@ var aObjCmd11 = [32]struct { FclientData int32 _ [4]byte }{ - {FzName: ts + 27316 /* "sqlite3_malloc" */, FxProc: 0}, - {FzName: ts + 27331 /* "sqlite3_realloc" */, FxProc: 0}, - {FzName: ts + 33022 /* "sqlite3_free" */, FxProc: 0}, - {FzName: ts + 33035 /* "memset" */, FxProc: 0}, - {FzName: ts + 33042 /* "memget" */, FxProc: 0}, - {FzName: ts + 33049 /* "sqlite3_memory_u..." */, FxProc: 0}, - {FzName: ts + 33069 /* "sqlite3_memory_h..." */, FxProc: 0}, - {FzName: ts + 33094 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33121 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33143 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33165 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33190 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33216 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33246 /* "sqlite3_memdebug..." */, FxProc: 0}, - {FzName: ts + 33267 /* "sqlite3_config_p..." */, FxProc: 0}, - {FzName: ts + 33292 /* "sqlite3_config_a..." */, FxProc: 0}, - {FzName: ts + 33318 /* "sqlite3_status" */, FxProc: 0}, - {FzName: ts + 33333 /* "sqlite3_db_statu..." */, FxProc: 0}, - {FzName: ts + 33351 /* "install_malloc_f..." */, FxProc: 0}, - {FzName: ts + 33375 /* "sqlite3_config_h..." */, FxProc: 0}, - {FzName: ts + 33395 /* "sqlite3_config_h..." */, FxProc: 0}, - {FzName: ts + 33420 /* "sqlite3_config_m..." */, FxProc: 0}, - {FzName: ts + 33445 /* "sqlite3_config_l..." */, FxProc: 0}, - {FzName: ts + 33470 /* "sqlite3_config_e..." */, FxProc: 0}, - {FzName: ts + 33491 /* "sqlite3_config_u..." */, FxProc: 0}, - {FzName: ts + 33510 /* "sqlite3_config_c..." */, FxProc: 0}, - {FzName: ts + 33529 /* "sqlite3_config_p..." */, FxProc: 0}, - {FzName: ts + 33550 /* "sqlite3_db_confi..." */, FxProc: 0}, - {FzName: ts + 33578 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 3}, - {FzName: ts + 33599 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 5}, - {FzName: ts + 33620 /* "sqlite3_install_..." */, FxProc: 0}, - {FzName: ts + 33644 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 28085 /* "sqlite3_malloc" */, FxProc: 0}, + {FzName: ts + 28100 /* "sqlite3_realloc" */, FxProc: 0}, + {FzName: ts + 33784 /* "sqlite3_free" */, FxProc: 0}, + {FzName: ts + 33797 /* "memset" */, FxProc: 0}, + {FzName: ts + 33804 /* "memget" */, FxProc: 0}, + {FzName: ts + 33811 /* "sqlite3_memory_u..." */, FxProc: 0}, + {FzName: ts + 33831 /* "sqlite3_memory_h..." */, FxProc: 0}, + {FzName: ts + 33856 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 33883 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 33905 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 33927 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 33952 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 33978 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34008 /* "sqlite3_memdebug..." */, FxProc: 0}, + {FzName: ts + 34029 /* "sqlite3_config_p..." */, FxProc: 0}, + {FzName: ts + 34054 /* "sqlite3_config_a..." */, FxProc: 0}, + {FzName: ts + 34080 /* "sqlite3_status" */, FxProc: 0}, + {FzName: ts + 34095 /* "sqlite3_db_statu..." */, FxProc: 0}, + {FzName: ts + 34113 /* "install_malloc_f..." */, FxProc: 0}, + {FzName: ts + 34137 /* "sqlite3_config_h..." */, FxProc: 0}, + {FzName: ts + 34157 /* "sqlite3_config_h..." */, FxProc: 0}, + {FzName: ts + 34182 /* "sqlite3_config_m..." */, FxProc: 0}, + {FzName: ts + 34207 /* "sqlite3_config_l..." */, FxProc: 0}, + {FzName: ts + 34232 /* "sqlite3_config_e..." */, FxProc: 0}, + {FzName: ts + 34253 /* "sqlite3_config_u..." */, FxProc: 0}, + {FzName: ts + 34272 /* "sqlite3_config_c..." */, FxProc: 0}, + {FzName: ts + 34291 /* "sqlite3_config_p..." */, FxProc: 0}, + {FzName: ts + 34312 /* "sqlite3_db_confi..." */, FxProc: 0}, + {FzName: ts + 34340 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 3}, + {FzName: ts + 34361 /* "sqlite3_dump_mem..." */, FxProc: 0, FclientData: 5}, + {FzName: ts + 34382 /* "sqlite3_install_..." */, FxProc: 0}, + {FzName: ts + 34406 /* "sqlite3_memdebug..." */, FxProc: 0}, } /* test_malloc.c:1472:5 */ // end block for C++ @@ -110257,7 +111822,7 @@ func MD5DigestToBase16(tls *libc.TLS, digest uintptr, zBuf uintptr) { /* test_md *(*int8)(unsafe.Pointer(zBuf + uintptr(j))) = int8(0) } -var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 30373 /* "0123456789abcdef" */)) /* test_md5.c:285:21 */ +var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 31135 /* "0123456789abcdef" */)) /* test_md5.c:285:21 */ // Convert a 128-bit MD5 digest into sequency of eight 5-digit integers // each representing 16 bits of the digest and separated from each @@ -110274,7 +111839,7 @@ func MD5DigestToBase10x8(tls *libc.TLS, digest uintptr, zDigest uintptr) { /* te if i > 0 { *(*int8)(unsafe.Pointer(zDigest + uintptr(libc.PostIncInt32(&j, 1)))) = int8('-') } - sqlite3.Xsqlite3_snprintf(tls, (50 - j), (zDigest + uintptr(j)), ts+33674 /* "%05u" */, libc.VaList(bp, x)) + sqlite3.Xsqlite3_snprintf(tls, (50 - j), (zDigest + uintptr(j)), ts+34436 /* "%05u" */, libc.VaList(bp, x)) j = j + (5) } *(*int8)(unsafe.Pointer(zDigest + uintptr(j))) = int8(0) @@ -110295,8 +111860,8 @@ func md5_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uintptr var converter uintptr if argc != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+14992 /* " TEXT\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+15773 /* " TEXT\"" */, uintptr(0))) return TCL_ERROR } MD5Init(tls, bp+64 /* &ctx */) @@ -110325,8 +111890,8 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin // var zBuf [10240]int8 at bp+196, 10240 if (argc != 2) && (argc != 4) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14629 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), - ts+33679 /* " FILENAME [OFFSE..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), + ts+34441 /* " FILENAME [OFFSE..." */, uintptr(0))) return TCL_ERROR } if argc == 4 { @@ -110338,8 +111903,8 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin } in = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+4263 /* "rb" */) if in == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+33703 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), - ts+33725 /* "\" for reading" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+34465 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), + ts+34487 /* "\" for reading" */, uintptr(0))) return TCL_ERROR } libc.Xfseek(tls, in, int32(ofst), SEEK_SET) @@ -110369,25 +111934,25 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin // Register the four new TCL commands for generating MD5 checksums // with the TCL interpreter. func Md5_Init(tls *libc.TLS, interp uintptr) int32 { /* test_md5.c:400:5: */ - tcl.XTcl_CreateCommand(tls, interp, ts+33739 /* "md5" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34501 /* "md5" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase16})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+33743 /* "md5-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34505 /* "md5-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase10x8})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+33752 /* "md5file" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34514 /* "md5file" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5file_cmd})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) }{MD5DigestToBase16})), uintptr(0)) - tcl.XTcl_CreateCommand(tls, interp, ts+33760 /* "md5file-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateCommand(tls, interp, ts+34522 /* "md5file-10x8" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{md5file_cmd})), *(*uintptr)(unsafe.Pointer(&struct { @@ -110435,11 +112000,11 @@ func md5finalize(tls *libc.TLS, context uintptr) { /* test_md5.c:432:13: */ } func Md5_Register(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk uintptr) int32 { /* test_md5.c:441:5: */ - var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+33773 /* "md5sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), + var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+34535 /* "md5sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{md5step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{md5finalize}))) - sqlite3.Xsqlite3_overload_function(tls, db, ts+33773 /* "md5sum" */, -1) // To exercise this API + sqlite3.Xsqlite3_overload_function(tls, db, ts+34535 /* "md5sum" */, -1) // To exercise this API return rc } @@ -110609,7 +112174,7 @@ func multiplexFilename(tls *libc.TLS, zBase uintptr, nBase int32, flags int32, i var n int32 = nBase libc.Xmemcpy(tls, zOut, zBase, (uint64(n + 1))) if (iChunk != 0) && (iChunk <= MX_CHUNK_NUMBER) { - sqlite3.Xsqlite3_snprintf(tls, 4, (zOut + uintptr(n)), ts+33780 /* "%03d" */, libc.VaList(bp, iChunk)) + sqlite3.Xsqlite3_snprintf(tls, 4, (zOut + uintptr(n)), ts+34542 /* "%03d" */, libc.VaList(bp, iChunk)) n = n + (3) } @@ -110675,7 +112240,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p SQLITE_ACCESS_EXISTS, bp+32 /* &bExists */) if (*(*int32)(unsafe.Pointer(rc)) != 0) || !(*(*int32)(unsafe.Pointer(bp + 32 /* bExists */)) != 0) { if *(*int32)(unsafe.Pointer(rc)) != 0 { - sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+33785, /* "multiplexor.xAcc..." */ + sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34547, /* "multiplexor.xAcc..." */ libc.VaList(bp, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz)) } return uintptr(0) @@ -110691,7 +112256,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p *(*int32)(unsafe.Pointer(rc)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 40 /* &.xOpen */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, pSubOpen, flags, pOutFlags) if (*(*int32)(unsafe.Pointer(rc))) != SQLITE_OK { - sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+33819, /* "multiplexor.xOpe..." */ + sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34581, /* "multiplexor.xOpe..." */ libc.VaList(bp+16, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz)) sqlite3.Xsqlite3_free(tls, pSubOpen) (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*16)).Fp = uintptr(0) @@ -110767,7 +112332,7 @@ func multiplexControlFunc(tls *libc.TLS, context uintptr, argc int32, argv uintp // multiplex_control() function. func multiplexFuncInit(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 { /* test_multiplex.c:417:12: */ var rc int32 - rc = sqlite3.Xsqlite3_create_function(tls, db, ts+33851 /* "multiplex_contro..." */, 2, SQLITE_ANY, + rc = sqlite3.Xsqlite3_create_function(tls, db, ts+34613 /* "multiplex_contro..." */, 2, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{multiplexControlFunc})), uintptr(0), uintptr(0)) @@ -110852,9 +112417,9 @@ func multiplexOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, fl libc.Xmemset(tls, pGroup, 0, uint64(sz)) (*multiplexConn)(unsafe.Pointer(pMultiplexOpen)).FpGroup = pGroup (*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled = libc.Uint8(libc.Uint8FromInt32(-1)) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(sqlite3.Xsqlite3_uri_boolean(tls, zUri, ts+18005, /* "truncate" */ + (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(sqlite3.Xsqlite3_uri_boolean(tls, zUri, ts+18786, /* "truncate" */ (libc.Bool32((flags & SQLITE_OPEN_MAIN_DB) == 0)))) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(sqlite3.Xsqlite3_uri_int64(tls, zUri, ts+33869, /* "chunksize" */ + (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(sqlite3.Xsqlite3_uri_int64(tls, zUri, ts+34631, /* "chunksize" */ int64(SQLITE_MULTIPLEX_CHUNK_SIZE)))) (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = (((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk + uint32(0xffff)) & libc.Uint32FromInt32(libc.CplInt32(0xffff))) if zName != 0 { @@ -111325,13 +112890,13 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) // second element of the array is the name of the pragma and the third // element is the argument to the pragma or NULL if the pragma has no // argument. - if (*(*uintptr)(unsafe.Pointer(aFcntl + 1*8)) != 0) && (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)), ts+33879 /* "multiplex_trunca..." */) == 0) { + if (*(*uintptr)(unsafe.Pointer(aFcntl + 1*8)) != 0) && (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)), ts+34641 /* "multiplex_trunca..." */) == 0) { if (*(*uintptr)(unsafe.Pointer(aFcntl + 2*8)) != 0) && (*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(aFcntl + 2*8)))) != 0) { if (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+4039 /* "on" */) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+28079 /* "1" */) == 0) { + (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+28848 /* "1" */) == 0) { (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(1) } else if (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+4403 /* "off" */) == 0) || - (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+13873 /* "0" */) == 0) { + (sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+14654 /* "0" */) == 0) { (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(0) } } @@ -111359,7 +112924,7 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) if pSubOpen != 0 { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 80 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+33898 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34660 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } } break @@ -111481,7 +113046,7 @@ func sqlite3_multiplex_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefau gMultiplex.FpOrigVfs = pOrigVfs gMultiplex.FsThisVfs = *(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)) *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gMultiplex)) + 8 /* &.sThisVfs */ + 4 /* &.szOsFile */)) += int32((uint64(unsafe.Sizeof(multiplexConn{})))) - gMultiplex.FsThisVfs.FzName = ts + 33911 /* "multiplex" */ + gMultiplex.FsThisVfs.FzName = ts + 34673 /* "multiplex" */ gMultiplex.FsThisVfs.FxOpen = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 }{multiplexOpen})) @@ -111612,7 +113177,7 @@ func test_multiplex_initialize(tls *libc.TLS, clientData uintptr, interp uintptr // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33921 /* "NAME MAKEDEFAULT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34683 /* "NAME MAKEDEFAULT" */) return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -111636,11 +113201,11 @@ func test_multiplex_shutdown(tls *libc.TLS, clientData uintptr, interp uintptr, _ = clientData - if (objc == 2) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+33938 /* "-force" */) != 0) { + if (objc == 2) && (libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+34700 /* "-force" */) != 0) { objc = 3 } if (objc != 1) && (objc != 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33945 /* "?-force?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34707 /* "?-force?" */) return TCL_ERROR } @@ -111674,20 +113239,20 @@ func test_multiplex_control(tls *libc.TLS, cd ClientData, interp uintptr, objc i Fop int32 Fargtype int32 }{ - {FzName: ts + 33954 /* "enable" */, Fop: MULTIPLEX_CTRL_ENABLE, Fargtype: 1}, - {FzName: ts + 33961 /* "chunk_size" */, Fop: MULTIPLEX_CTRL_SET_CHUNK_SIZE, Fargtype: 1}, - {FzName: ts + 33972 /* "max_chunks" */, Fop: MULTIPLEX_CTRL_SET_MAX_CHUNKS, Fargtype: 1}, + {FzName: ts + 10608 /* "enable" */, Fop: MULTIPLEX_CTRL_ENABLE, Fargtype: 1}, + {FzName: ts + 34716 /* "chunk_size" */, Fop: MULTIPLEX_CTRL_SET_CHUNK_SIZE, Fargtype: 1}, + {FzName: ts + 34727 /* "max_chunks" */, Fop: MULTIPLEX_CTRL_SET_MAX_CHUNKS, Fargtype: 1}, {}, } if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33983 /* "HANDLE DBNAME SU..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34738 /* "HANDLE DBNAME SU..." */) return TCL_ERROR } if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &cmdInfo */) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34019 /* "expected databas..." */, 0)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+11634 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34774 /* "expected databas..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+12415 /* "\"" */, 0)) return TCL_ERROR } else { db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 56 /* &cmdInfo */)).FobjClientData)) @@ -111751,9 +113316,9 @@ var aCmd5 = [3]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 34051 /* "sqlite3_multiple..." */, FxProc: 0}, - {FzName: ts + 34080 /* "sqlite3_multiple..." */, FxProc: 0}, - {FzName: ts + 34107 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 34806 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 34835 /* "sqlite3_multiple..." */, FxProc: 0}, + {FzName: ts + 34862 /* "sqlite3_multiple..." */, FxProc: 0}, } /* test_multiplex.c:1310:5 */ // CAPI3REF: Standard File Control Opcodes @@ -112107,10 +113672,10 @@ var aCmd5 = [3]struct { type sqlite3_mutex = sqlite3_mutex1 /* sqlite3.h:1206:30 */ var aName = [15]uintptr{ - ts + 34133 /* "fast" */, ts + 34138 /* "recursive" */, ts + 34148 /* "static_main" */, ts + 34160, /* "static_mem" */ - ts + 34171 /* "static_open" */, ts + 34183 /* "static_prng" */, ts + 34195 /* "static_lru" */, ts + 34206, /* "static_pmem" */ - ts + 34218 /* "static_app1" */, ts + 34230 /* "static_app2" */, ts + 34242 /* "static_app3" */, ts + 34254, /* "static_vfs1" */ - ts + 34266 /* "static_vfs2" */, ts + 34278 /* "static_vfs3" */, uintptr(0), + ts + 34888 /* "fast" */, ts + 34893 /* "recursive" */, ts + 34903 /* "static_main" */, ts + 34915, /* "static_mem" */ + ts + 34926 /* "static_open" */, ts + 34938 /* "static_prng" */, ts + 34950 /* "static_lru" */, ts + 34961, /* "static_pmem" */ + ts + 34973 /* "static_app1" */, ts + 34985 /* "static_app2" */, ts + 34997 /* "static_app3" */, ts + 35009, /* "static_vfs1" */ + ts + 35021 /* "static_vfs2" */, ts + 35033 /* "static_vfs3" */, uintptr(0), } /* test_mutex.c:32:19 */ // State variables @@ -112269,7 +113834,7 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp } if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17939 /* "BOOLEAN" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18720 /* "BOOLEAN" */) return TCL_ERROR } if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+96 /* &isInstall */) { @@ -112277,12 +113842,12 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp } if *(*int32)(unsafe.Pointer(bp + 96 /* isInstall */)) == g3.FisInstalled { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34290 /* "mutex counters a..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35045 /* "mutex counters a..." */, 0)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, func() uintptr { if *(*int32)(unsafe.Pointer(bp + 96 /* isInstall */)) != 0 { - return ts + 34310 /* "already installe..." */ + return ts + 35065 /* "already installe..." */ } - return ts + 34328 /* "not installed" */ + return ts + 35083 /* "not installed" */ }(), 0)) return TCL_ERROR } @@ -112361,7 +113926,7 @@ func test_alloc_mutex(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // var zBuf [100]int8 at bp+40, 100 sqlite3.Xsqlite3_mutex_free(tls, p) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+40 /* &zBuf[0] */, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+40 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, bp+40 /* &zBuf[0] */, uintptr(0))) return TCL_OK } @@ -112380,9 +113945,9 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, defer tls.Free(68) *(*[4]ConfigOption)(unsafe.Pointer(bp /* aOpt */)) = [4]ConfigOption{ - {FzName: ts + 34342 /* "singlethread" */, FiValue: SQLITE_CONFIG_SINGLETHREAD}, - {FzName: ts + 34355 /* "multithread" */, FiValue: SQLITE_CONFIG_MULTITHREAD}, - {FzName: ts + 34367 /* "serialized" */, FiValue: SQLITE_CONFIG_SERIALIZED}, + {FzName: ts + 35097 /* "singlethread" */, FiValue: SQLITE_CONFIG_SINGLETHREAD}, + {FzName: ts + 35110 /* "multithread" */, FiValue: SQLITE_CONFIG_MULTITHREAD}, + {FzName: ts + 35122 /* "serialized" */, FiValue: SQLITE_CONFIG_SERIALIZED}, {}, } var s int32 = int32(unsafe.Sizeof(ConfigOption{})) @@ -112395,7 +113960,7 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aOpt[0] */, s, ts+17204 /* "flag" */, 0, bp+64 /* &i */) != 0 { + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aOpt[0] */, s, ts+17985 /* "flag" */, 0, bp+64 /* &i */) != 0 { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &i */) != 0 { return TCL_ERROR } @@ -112437,7 +114002,7 @@ func getStaticMutexPointer(tls *libc.TLS, pInterp uintptr, pObj uintptr) uintptr // var iMutex int32 at bp, 4 - if tcl.XTcl_GetIndexFromObjStruct(tls, pInterp, pObj, uintptr(unsafe.Pointer(&aName)), int32(unsafe.Sizeof(uintptr(0))), ts+34378 /* "mutex name" */, 0, bp /* &iMutex */) != 0 { + if tcl.XTcl_GetIndexFromObjStruct(tls, pInterp, pObj, uintptr(unsafe.Pointer(&aName)), int32(unsafe.Sizeof(uintptr(0))), ts+35133 /* "mutex name" */, 0, bp /* &iMutex */) != 0 { return uintptr(0) } @@ -112509,9 +114074,9 @@ func Sqlitetest_mutex_Init(tls *libc.TLS, interp uintptr) int32 { /* test_mutex. tcl.XTcl_CreateObjCommand(tls, interp, aCmd6[i].FzName, aCmd6[i].FxProc, uintptr(0), uintptr(0)) } - tcl.XTcl_LinkVar(tls, interp, ts+34389, /* "disable_mutex_in..." */ + tcl.XTcl_LinkVar(tls, interp, ts+35144, /* "disable_mutex_in..." */ (uintptr(unsafe.Pointer(&g3)) + 4 /* &.disableInit */), TCL_LINK_INT) - tcl.XTcl_LinkVar(tls, interp, ts+34408, /* "disable_mutex_tr..." */ + tcl.XTcl_LinkVar(tls, interp, ts+35163, /* "disable_mutex_tr..." */ (uintptr(unsafe.Pointer(&g3)) + 8 /* &.disableTry */), TCL_LINK_INT) return SQLITE_OK } @@ -112520,20 +114085,20 @@ var aCmd6 = [11]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 34426 /* "sqlite3_shutdown" */, FxProc: 0}, - {FzName: ts + 34443 /* "sqlite3_initiali..." */, FxProc: 0}, - {FzName: ts + 34462 /* "sqlite3_config" */, FxProc: 0}, + {FzName: ts + 35181 /* "sqlite3_shutdown" */, FxProc: 0}, + {FzName: ts + 35198 /* "sqlite3_initiali..." */, FxProc: 0}, + {FzName: ts + 35217 /* "sqlite3_config" */, FxProc: 0}, - {FzName: ts + 34477 /* "enter_static_mut..." */, FxProc: 0}, - {FzName: ts + 34496 /* "leave_static_mut..." */, FxProc: 0}, + {FzName: ts + 35232 /* "enter_static_mut..." */, FxProc: 0}, + {FzName: ts + 35251 /* "leave_static_mut..." */, FxProc: 0}, - {FzName: ts + 34515 /* "enter_db_mutex" */, FxProc: 0}, - {FzName: ts + 34530 /* "leave_db_mutex" */, FxProc: 0}, + {FzName: ts + 35270 /* "enter_db_mutex" */, FxProc: 0}, + {FzName: ts + 35285 /* "leave_db_mutex" */, FxProc: 0}, - {FzName: ts + 34545 /* "alloc_dealloc_mu..." */, FxProc: 0}, - {FzName: ts + 34565 /* "install_mutex_co..." */, FxProc: 0}, - {FzName: ts + 34588 /* "read_mutex_count..." */, FxProc: 0}, - {FzName: ts + 34608 /* "clear_mutex_coun..." */, FxProc: 0}, + {FzName: ts + 35300 /* "alloc_dealloc_mu..." */, FxProc: 0}, + {FzName: ts + 35320 /* "install_mutex_co..." */, FxProc: 0}, + {FzName: ts + 35343 /* "read_mutex_count..." */, FxProc: 0}, + {FzName: ts + 35363 /* "clear_mutex_coun..." */, FxProc: 0}, } /* test_mutex.c:484:5 */ // Maximum pathname length supported by the fs backend. @@ -112586,7 +114151,7 @@ type fs_vfs_t = fs_vfs_t1 /* test_onefile.c:176:25 */ var fs_vfs = fs_vfs_t{ Fbase: sqlite3_vfs{ FiVersion: 1, // pNext - FzName: ts + 30234, /* "fs" */ // pAppData + FzName: ts + 30996, /* "fs" */ // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete FxAccess: 0, // xAccess @@ -113037,7 +114602,7 @@ __8: if !(*(*sqlite3_int64)(unsafe.Pointer(bp /* size */)) == int64(0)) { goto __9 } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 24 /* &.xWrite */))))(tls, pRealFile, ts+34629 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 24 /* &.xWrite */))))(tls, pRealFile, ts+35384 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) (*fs_real_file)(unsafe.Pointer(pReal)).FnBlob = BLOBSIZE goto __10 __9: @@ -113116,7 +114681,7 @@ func fsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { } if pReal != 0 { pF = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 24 /* &.xWrite */))))(tls, pF, ts+34631 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 24 /* &.xWrite */))))(tls, pF, ts+35386 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) if rc == SQLITE_OK { (*fs_real_file)(unsafe.Pointer(pReal)).FnJournal = 0 } @@ -113137,7 +114702,7 @@ func fsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut u return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 56 /* &.xAccess */))))(tls, pParent, zPath, flags, pResOut) } - if (nName > 8) && (libc.Xstrcmp(tls, ts+31990 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { + if (nName > 8) && (libc.Xstrcmp(tls, ts+32752 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { nName = nName - (8) isJournal = 1 } @@ -113433,7 +114998,7 @@ func vfslogFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int var p uintptr = pFile var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 80 /* &.xFileControl */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34636 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35391 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } return rc } @@ -113728,7 +115293,7 @@ func sqlite3_vfslog_new(tls *libc.TLS, zVfs uintptr, zParentVfs uintptr, zLog ui (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pParent + 48 /* &.xDelete */))))(tls, pParent, zFile, 0) rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 40 /* &.xOpen */))))(tls, pParent, zFile, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, *(*int32)(unsafe.Pointer(bp /* flags */)), bp /* &flags */) if rc == SQLITE_OK { - libc.Xmemcpy(tls, p+204 /* &.aBuf */, ts+34646 /* "sqlite_ostrace1...." */, uint64(20)) + libc.Xmemcpy(tls, p+204 /* &.aBuf */, ts+35401 /* "sqlite_ostrace1...." */, uint64(20)) (*VfslogVfs)(unsafe.Pointer(p)).FiOffset = int64(0) (*VfslogVfs)(unsafe.Pointer(p)).FnBuf = 20 rc = sqlite3.Xsqlite3_vfs_register(tls, p, 1) @@ -113757,78 +115322,78 @@ func vfslog_eventname(tls *libc.TLS, eEvent int32) uintptr { /* test_osinst.c:76 switch eEvent { case OS_CLOSE: - zEvent = ts + 34667 /* "xClose" */ + zEvent = ts + 35422 /* "xClose" */ break case OS_READ: - zEvent = ts + 34674 /* "xRead" */ + zEvent = ts + 35429 /* "xRead" */ break case OS_WRITE: - zEvent = ts + 34680 /* "xWrite" */ + zEvent = ts + 35435 /* "xWrite" */ break case OS_TRUNCATE: - zEvent = ts + 34687 /* "xTruncate" */ + zEvent = ts + 35442 /* "xTruncate" */ break case OS_SYNC: - zEvent = ts + 27057 /* "xSync" */ + zEvent = ts + 27833 /* "xSync" */ break case OS_FILESIZE: - zEvent = ts + 34697 /* "xFilesize" */ + zEvent = ts + 35452 /* "xFilesize" */ break case OS_LOCK: - zEvent = ts + 34707 /* "xLock" */ + zEvent = ts + 35462 /* "xLock" */ break case OS_UNLOCK: - zEvent = ts + 34713 /* "xUnlock" */ + zEvent = ts + 35468 /* "xUnlock" */ break case OS_CHECKRESERVEDLOCK: - zEvent = ts + 34721 /* "xCheckResLock" */ + zEvent = ts + 35476 /* "xCheckResLock" */ break case OS_FILECONTROL: - zEvent = ts + 34735 /* "xFileControl" */ + zEvent = ts + 35490 /* "xFileControl" */ break case OS_SECTORSIZE: - zEvent = ts + 34748 /* "xSectorSize" */ + zEvent = ts + 35503 /* "xSectorSize" */ break case OS_DEVCHAR: - zEvent = ts + 34760 /* "xDeviceChar" */ + zEvent = ts + 35515 /* "xDeviceChar" */ break case OS_OPEN: - zEvent = ts + 26629 /* "xOpen" */ + zEvent = ts + 27405 /* "xOpen" */ break case OS_DELETE: - zEvent = ts + 34772 /* "xDelete" */ + zEvent = ts + 35527 /* "xDelete" */ break case OS_ACCESS: - zEvent = ts + 34780 /* "xAccess" */ + zEvent = ts + 35535 /* "xAccess" */ break case OS_FULLPATHNAME: - zEvent = ts + 34788 /* "xFullPathname" */ + zEvent = ts + 35543 /* "xFullPathname" */ break case OS_RANDOMNESS: - zEvent = ts + 34802 /* "xRandomness" */ + zEvent = ts + 35557 /* "xRandomness" */ break case OS_SLEEP: - zEvent = ts + 34814 /* "xSleep" */ + zEvent = ts + 35569 /* "xSleep" */ break case OS_CURRENTTIME: - zEvent = ts + 34821 /* "xCurrentTime" */ + zEvent = ts + 35576 /* "xCurrentTime" */ break case OS_SHMUNMAP: - zEvent = ts + 34834 /* "xShmUnmap" */ + zEvent = ts + 35589 /* "xShmUnmap" */ break case OS_SHMLOCK: - zEvent = ts + 34844 /* "xShmLock" */ + zEvent = ts + 35599 /* "xShmLock" */ break case OS_SHMBARRIER: - zEvent = ts + 34853 /* "xShmBarrier" */ + zEvent = ts + 35608 /* "xShmBarrier" */ break case OS_SHMMAP: - zEvent = ts + 34865 /* "xShmMap" */ + zEvent = ts + 35620 /* "xShmMap" */ break case OS_ANNOTATE: - zEvent = ts + 34873 /* "annotation" */ + zEvent = ts + 35628 /* "annotation" */ break } @@ -113927,7 +115492,7 @@ func vlogConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp if rc == SQLITE_OK { (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 48 /* &.xFileSize */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, (p + 32 /* &.nByte */)) sqlite3.Xsqlite3_declare_vtab(tls, db, - ts+34884 /* "CREATE TABLE xxx..." */) + ts+35639 /* "CREATE TABLE xxx..." */) *(*uintptr)(unsafe.Pointer(ppVtab)) = (p /* &.base */) } else { sqlite3.Xsqlite3_free(tls, p) @@ -114087,7 +115652,7 @@ func vlogRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* test_o func sqlite3_vfslog_register(tls *libc.TLS, db uintptr) int32 { /* test_osinst.c:1071:5: */ - sqlite3.Xsqlite3_create_module(tls, db, ts+34939 /* "vfslog" */, uintptr(unsafe.Pointer(&vfslog_module)), uintptr(0)) + sqlite3.Xsqlite3_create_module(tls, db, ts+35694 /* "vfslog" */, uintptr(unsafe.Pointer(&vfslog_module)), uintptr(0)) return SQLITE_OK } @@ -114125,7 +115690,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // var iSub int32 at bp+104, 4 if objc < 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32155 /* "SUB-COMMAND ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32917 /* "SUB-COMMAND ..." */) return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&strs)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+104 /* &iSub */) != 0 { @@ -114138,14 +115703,14 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zVfs uintptr var zMsg uintptr if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+34946 /* "VFS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+35701 /* "VFS" */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) zMsg = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) rc = sqlite3_vfslog_annotate(tls, zVfs, zMsg) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34950 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35705 /* "failed" */, 0)) return TCL_ERROR } break @@ -114155,13 +115720,13 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, { var zVfs uintptr if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+34946 /* "VFS" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35701 /* "VFS" */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) rc = sqlite3_vfslog_finalize(tls, zVfs) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+34950 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+35705 /* "failed" */, 0)) return TCL_ERROR } break @@ -114174,7 +115739,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, var zParent uintptr var zLog uintptr if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+34957 /* "VFS PARENT LOGFI..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35712 /* "VFS PARENT LOGFI..." */) return TCL_ERROR } zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) @@ -114185,7 +115750,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } rc = sqlite3_vfslog_new(tls, zVfs, zParent, zLog) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+34950 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+35705 /* "failed" */, 0)) return TCL_ERROR } break @@ -114205,7 +115770,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, rc = sqlite3_vfslog_register(tls, db) } if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+34976 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+35731 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) return TCL_ERROR } break @@ -114216,10 +115781,10 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_OK } -var strs = [5]uintptr{ts + 34997 /* "annotate" */, ts + 35006 /* "finalize" */, ts + 13689 /* "new" */, ts + 35015 /* "register" */, uintptr(0)} /* test_osinst.c:1127:21 */ +var strs = [5]uintptr{ts + 35752 /* "annotate" */, ts + 35761 /* "finalize" */, ts + 14470 /* "new" */, ts + 35770 /* "register" */, uintptr(0)} /* test_osinst.c:1127:21 */ func SqlitetestOsinst_Init(tls *libc.TLS, interp uintptr) int32 { /* test_osinst.c:1219:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+34939 /* "vfslog" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+35694 /* "vfslog" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfslog})), uintptr(0), uintptr(0)) return TCL_OK @@ -115273,7 +116838,7 @@ func quotaFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int3 var pSubOpen uintptr = quotaSubOpen(tls, pConn) var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 80 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35024 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35779 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } return rc } @@ -115348,7 +116913,7 @@ func sqlite3_quota_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefault i f func(*libc.TLS, uintptr, uintptr, int32) int32 }{quotaDelete})) *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gQuota)) + 8 /* &.sThisVfs */ + 4 /* &.szOsFile */)) += int32((uint64(unsafe.Sizeof(quotaConn{})))) - gQuota.FsThisVfs.FzName = ts + 35033 /* "quota" */ + gQuota.FsThisVfs.FzName = ts + 35788 /* "quota" */ gQuota.FsIoMethodsV1.FiVersion = 1 gQuota.FsIoMethodsV1.FxClose = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 @@ -116569,7 +118134,7 @@ func tclQuotaCallback(tls *libc.TLS, zFilename uintptr, piLimit uintptr, iSize s return } - pVarname = tcl.XTcl_NewStringObj(tls, ts+35039 /* "::piLimit_" */, -1) + pVarname = tcl.XTcl_NewStringObj(tls, ts+35794 /* "::piLimit_" */, -1) (*Tcl_Obj)(unsafe.Pointer(pVarname)).FrefCount++ sqlite3.Xsqlite3_randomness(tls, int32(unsafe.Sizeof(uint32(0))), bp /* &rnd */) tcl.XTcl_AppendObjToObj(tls, pVarname, tcl.XTcl_NewIntObj(tls, (int32(*(*uint32)(unsafe.Pointer(bp /* rnd */))&uint32(0x7FFFFFFF))))) @@ -116634,7 +118199,7 @@ func test_quota_initialize(tls *libc.TLS, clientData uintptr, interp uintptr, ob // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33921 /* "NAME MAKEDEFAULT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34683 /* "NAME MAKEDEFAULT" */) return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -116686,7 +118251,7 @@ func test_quota_set(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Process arguments if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35050 /* "PATTERN LIMIT SC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35805 /* "PATTERN LIMIT SC..." */) return TCL_ERROR } zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -116700,7 +118265,7 @@ func test_quota_set(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Allocate a TclQuotaCallback object p = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TclQuotaCallback{}))) if !(p != 0) { - tcl.XTcl_SetResult(tls, interp, ts+31928 /* "SQLITE_NOMEM" */, uintptr(0)) + tcl.XTcl_SetResult(tls, interp, ts+32690 /* "SQLITE_NOMEM" */, uintptr(0)) return TCL_OK } libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(TclQuotaCallback{}))) @@ -116731,7 +118296,7 @@ func test_quota_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // Process arguments if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18389 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19170 /* "FILENAME" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -116805,13 +118370,13 @@ func test_quota_fopen(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // Process arguments if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35071 /* "FILENAME MODE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35826 /* "FILENAME MODE" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) zMode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) p = sqlite3_quota_fopen(tls, zFilename, zMode) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zReturn[0] */, ts+13021 /* "%p" */, libc.VaList(bp, p)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zReturn[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) tcl.XTcl_SetResult(tls, interp, bp+16 /* &zReturn[0] */, uintptr(1)) return TCL_OK } @@ -116830,7 +118395,7 @@ func test_quota_fread(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var got size_t if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35085 /* "HANDLE SIZE NELE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35840 /* "HANDLE SIZE NELE..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -116866,7 +118431,7 @@ func test_quota_fwrite(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var got size_t if objc != 5 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35103 /* "HANDLE SIZE NELE..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35858 /* "HANDLE SIZE NELE..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -116888,7 +118453,7 @@ func test_quota_fclose(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27790 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28559 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -116907,7 +118472,7 @@ func test_quota_fflush(tls *libc.TLS, clientData uintptr, interp uintptr, objc i *(*int32)(unsafe.Pointer(bp /* doSync */)) = 0 if (objc != 2) && (objc != 3) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35129 /* "HANDLE ?HARDSYNC..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35884 /* "HANDLE ?HARDSYNC..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -116934,7 +118499,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var rc int32 if objc != 4 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35147 /* "HANDLE OFFSET WH..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35902 /* "HANDLE OFFSET WH..." */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -116942,15 +118507,15 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in return TCL_ERROR } zWhence = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) - if libc.Xstrcmp(tls, zWhence, ts+35168 /* "SEEK_SET" */) == 0 { + if libc.Xstrcmp(tls, zWhence, ts+35923 /* "SEEK_SET" */) == 0 { whence = SEEK_SET - } else if libc.Xstrcmp(tls, zWhence, ts+35177 /* "SEEK_CUR" */) == 0 { + } else if libc.Xstrcmp(tls, zWhence, ts+35932 /* "SEEK_CUR" */) == 0 { whence = SEEK_CUR - } else if libc.Xstrcmp(tls, zWhence, ts+35186 /* "SEEK_END" */) == 0 { + } else if libc.Xstrcmp(tls, zWhence, ts+35941 /* "SEEK_END" */) == 0 { whence = SEEK_END } else { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp, ts+35195 /* "WHENCE should be..." */, uintptr(0))) + libc.VaList(bp, ts+35950 /* "WHENCE should be..." */, uintptr(0))) return TCL_ERROR } rc = sqlite3_quota_fseek(tls, p, int32(*(*int32)(unsafe.Pointer(bp + 24 /* ofst */))), whence) @@ -116962,7 +118527,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in func test_quota_rewind(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_quota.c:1718:26: */ var p uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27790 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28559 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -116975,7 +118540,7 @@ func test_quota_ftell(tls *libc.TLS, clientData uintptr, interp uintptr, objc in var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27790 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28559 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -116995,7 +118560,7 @@ func test_quota_ftruncate(tls *libc.TLS, clientData uintptr, interp uintptr, obj var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35244 /* "HANDLE SIZE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35999 /* "HANDLE SIZE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -117013,7 +118578,7 @@ func test_quota_file_size(tls *libc.TLS, clientData uintptr, interp uintptr, obj var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27790 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28559 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -117027,7 +118592,7 @@ func test_quota_file_truesize(tls *libc.TLS, clientData uintptr, interp uintptr, var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27790 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28559 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -117045,7 +118610,7 @@ func test_quota_file_mtime(tls *libc.TLS, clientData uintptr, interp uintptr, ob // var t time_t at bp, 8 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27790 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28559 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -117060,7 +118625,7 @@ func test_quota_remove(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var zFilename uintptr // File pattern to configure var rc int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18389 /* "FILENAME" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19170 /* "FILENAME" */) return TCL_ERROR } zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -117078,7 +118643,7 @@ func test_quota_glob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int var zText uintptr // Text to compare agains the pattern var rc int32 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35256 /* "PATTERN TEXT" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36011 /* "PATTERN TEXT" */) return TCL_ERROR } zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) @@ -117096,7 +118661,7 @@ func test_quota_file_available(tls *libc.TLS, clientData uintptr, interp uintptr var p uintptr var x sqlite3_int64 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27790 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28559 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -117112,7 +118677,7 @@ func test_quota_ferror(tls *libc.TLS, clientData uintptr, interp uintptr, objc i var p uintptr var x int32 if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+27790 /* "HANDLE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28559 /* "HANDLE" */) return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) @@ -117141,27 +118706,27 @@ var aCmd7 = [21]struct { FzName uintptr FxProc uintptr }{ - {FzName: ts + 35269 /* "sqlite3_quota_in..." */, FxProc: 0}, - {FzName: ts + 35294 /* "sqlite3_quota_sh..." */, FxProc: 0}, - {FzName: ts + 35317 /* "sqlite3_quota_se..." */, FxProc: 0}, - {FzName: ts + 35335 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35354 /* "sqlite3_quota_du..." */, FxProc: 0}, - {FzName: ts + 35373 /* "sqlite3_quota_fo..." */, FxProc: 0}, - {FzName: ts + 35393 /* "sqlite3_quota_fr..." */, FxProc: 0}, - {FzName: ts + 35413 /* "sqlite3_quota_fw..." */, FxProc: 0}, - {FzName: ts + 35434 /* "sqlite3_quota_fc..." */, FxProc: 0}, - {FzName: ts + 35455 /* "sqlite3_quota_ff..." */, FxProc: 0}, - {FzName: ts + 35476 /* "sqlite3_quota_fs..." */, FxProc: 0}, - {FzName: ts + 35496 /* "sqlite3_quota_re..." */, FxProc: 0}, - {FzName: ts + 35517 /* "sqlite3_quota_ft..." */, FxProc: 0}, - {FzName: ts + 35537 /* "sqlite3_quota_ft..." */, FxProc: 0}, - {FzName: ts + 35561 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35585 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35613 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35638 /* "sqlite3_quota_re..." */, FxProc: 0}, - {FzName: ts + 35659 /* "sqlite3_quota_gl..." */, FxProc: 0}, - {FzName: ts + 35678 /* "sqlite3_quota_fi..." */, FxProc: 0}, - {FzName: ts + 35707 /* "sqlite3_quota_fe..." */, FxProc: 0}, + {FzName: ts + 36024 /* "sqlite3_quota_in..." */, FxProc: 0}, + {FzName: ts + 36049 /* "sqlite3_quota_sh..." */, FxProc: 0}, + {FzName: ts + 36072 /* "sqlite3_quota_se..." */, FxProc: 0}, + {FzName: ts + 36090 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36109 /* "sqlite3_quota_du..." */, FxProc: 0}, + {FzName: ts + 36128 /* "sqlite3_quota_fo..." */, FxProc: 0}, + {FzName: ts + 36148 /* "sqlite3_quota_fr..." */, FxProc: 0}, + {FzName: ts + 36168 /* "sqlite3_quota_fw..." */, FxProc: 0}, + {FzName: ts + 36189 /* "sqlite3_quota_fc..." */, FxProc: 0}, + {FzName: ts + 36210 /* "sqlite3_quota_ff..." */, FxProc: 0}, + {FzName: ts + 36231 /* "sqlite3_quota_fs..." */, FxProc: 0}, + {FzName: ts + 36251 /* "sqlite3_quota_re..." */, FxProc: 0}, + {FzName: ts + 36272 /* "sqlite3_quota_ft..." */, FxProc: 0}, + {FzName: ts + 36292 /* "sqlite3_quota_ft..." */, FxProc: 0}, + {FzName: ts + 36316 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36340 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36368 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36393 /* "sqlite3_quota_re..." */, FxProc: 0}, + {FzName: ts + 36414 /* "sqlite3_quota_gl..." */, FxProc: 0}, + {FzName: ts + 36433 /* "sqlite3_quota_fi..." */, FxProc: 0}, + {FzName: ts + 36462 /* "sqlite3_quota_fe..." */, FxProc: 0}, } /* test_quota.c:1948:5 */ type Tcl_OldStat_2 = uintptr /* tcl.h:645:21 */ @@ -118326,7 +119891,7 @@ func register_cube_geom(tls *libc.TLS, clientData uintptr, interp uintptr, objc if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+35728 /* "cube" */, *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36483 /* "cube" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 }{cube_geom})), uintptr(unsafe.Pointer(&gHere))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) @@ -118348,17 +119913,17 @@ func register_circle_geom(tls *libc.TLS, clientData uintptr, interp uintptr, obj if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+35733 /* "circle" */, *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36488 /* "circle" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 }{circle_geom})), uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+35740, /* "Qcircle" */ + rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36495, /* "Qcircle" */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 }{circle_query_func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+35748, /* "breadthfirstsear..." */ + rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+36503, /* "breadthfirstsear..." */ *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 }{bfs_query_func})), uintptr(0), uintptr(0)) @@ -118368,10 +119933,10 @@ func register_circle_geom(tls *libc.TLS, clientData uintptr, interp uintptr, obj } func Sqlitetestrtree_Init(tls *libc.TLS, interp uintptr) int32 { /* test_rtree.c:507:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+35767 /* "register_cube_ge..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36522 /* "register_cube_ge..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{register_cube_geom})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+35786 /* "register_circle_..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36541 /* "register_circle_..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{register_circle_geom})), uintptr(0), uintptr(0)) return TCL_OK @@ -118463,7 +120028,7 @@ func schemaCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint if pVtab != 0 { libc.Xmemset(tls, pVtab, 0, uint64(unsafe.Sizeof(schema_vtab{}))) (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb = db - rc = sqlite3.Xsqlite3_declare_vtab(tls, db /* Name of database (i.e. main, temp etc.) */ /* Name of table */ /* Column number (from left-to-right, 0 upward) */ /* Column name */ /* Specified type (i.e. VARCHAR(32)) */ /* Boolean. True if NOT NULL was specified */ /* Default value for this column */ /* True if this column is part of the primary key */, ts+35807 /* "CREATE TABLE x(d..." */) + rc = sqlite3.Xsqlite3_declare_vtab(tls, db /* Name of database (i.e. main, temp etc.) */ /* Name of table */ /* Column number (from left-to-right, 0 upward) */ /* Column name */ /* Specified type (i.e. VARCHAR(32)) */ /* Boolean. True if NOT NULL was specified */ /* Default value for this column */ /* True if this column is part of the primary key */, ts+36562 /* "CREATE TABLE x(d..." */) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab return rc @@ -118587,12 +120152,12 @@ __8: goto __9 } zSql = sqlite3.Xsqlite3_mprintf(tls, - ts+35879 /* "SELECT name FROM..." */, 0) + ts+36634 /* "SELECT name FROM..." */, 0) goto __10 __9: pDbList = (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList zSql = sqlite3.Xsqlite3_mprintf(tls, - ts+35934, /* "SELECT name FROM..." */ + ts+36689, /* "SELECT name FROM..." */ libc.VaList(bp, sqlite3.Xsqlite3_column_text(tls, pDbList, 1))) __10: ; @@ -118619,7 +120184,7 @@ __5: // Set zSql to the SQL to the table_info pragma for the table currently // identified by the rows pointed to by statements pCur->pDbList and // pCur->pTableList. - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+35987, /* "PRAGMA %Q.table_..." */ + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+36742, /* "PRAGMA %Q.table_..." */ libc.VaList(bp+16, sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList, 1), sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpTableList, 0))) @@ -118657,7 +120222,7 @@ func schemaFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp finalize(tls, (pCur + 16 /* &.pTableList */)) finalize(tls, (pCur + 24 /* &.pColumnList */)) finalize(tls, (pCur + 8 /* &.pDbList */)) - rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, ts+36012 /* "PRAGMA database_..." */, -1, (pCur + 8 /* &.pDbList */), uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, ts+36767 /* "PRAGMA database_..." */, -1, (pCur + 8 /* &.pDbList */), uintptr(0)) return func() int32 { if rc == SQLITE_OK { return schemaNext(tls, pVtabCursor) @@ -118725,7 +120290,7 @@ var aObjCmd12 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 36033 /* "register_schema_..." */, FxProc: 0}, + {FzName: ts + 36788 /* "register_schema_..." */, FxProc: 0}, } /* test_schema.c:335:5 */ // Only compile the code in this file on UNIX with a SQLITE_THREADSAFE build @@ -118781,7 +120346,7 @@ func superlockIsWal(tls *libc.TLS, pLock uintptr) int32 { /* test_superlock.c:67 // var pStmt uintptr at bp, 8 // Compiled PRAGMA journal_mode statement - rc = sqlite3.Xsqlite3_prepare(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+36056 /* "PRAGMA main.jour..." */, -1, bp /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+36811 /* "PRAGMA main.jour..." */, -1, bp /* &pStmt */, uintptr(0)) if rc != SQLITE_OK { return rc } @@ -118789,7 +120354,7 @@ func superlockIsWal(tls *libc.TLS, pLock uintptr) int32 { /* test_superlock.c:67 (*Superlock)(unsafe.Pointer(pLock)).FbWal = 0 if SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { var zMode uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) - if ((zMode != 0) && (libc.Xstrlen(tls, zMode) == uint64(3))) && (sqlite3.Xsqlite3_strnicmp(tls, ts+29083 /* "wal" */, zMode, 3) == 0) { + if ((zMode != 0) && (libc.Xstrlen(tls, zMode) == uint64(3))) && (sqlite3.Xsqlite3_strnicmp(tls, ts+29845 /* "wal" */, zMode, 3) == 0) { (*Superlock)(unsafe.Pointer(pLock)).FbWal = 1 } } @@ -118923,7 +120488,7 @@ func sqlite3demo_superlock(tls *libc.TLS, zPath uintptr, zVfs uintptr, xBusy uin sqlite3.Xsqlite3_busy_handler(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 }{superlockBusyHandler})), bp /* &busy */) - rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+12906 /* "BEGIN EXCLUSIVE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+13687 /* "BEGIN EXCLUSIVE" */, uintptr(0), uintptr(0), uintptr(0)) } // If the BEGIN EXCLUSIVE was executed successfully and this is a WAL @@ -118936,7 +120501,7 @@ func sqlite3demo_superlock(tls *libc.TLS, zPath uintptr, zVfs uintptr, xBusy uin // new WAL locks may conflict with the old. if rc == SQLITE_OK { if (SQLITE_OK == (libc.AssignInt32(&rc, superlockIsWal(tls, pLock)))) && ((*Superlock)(unsafe.Pointer(pLock)).FbWal != 0) { - rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+11310 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+12098 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = superlockWalLock(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, bp /* &busy */) } @@ -119019,7 +120584,7 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj if (objc < 3) || (objc > 5) { tcl.XTcl_WrongNumArgs(tls, - interp, 1, objv, ts+36081 /* "CMDNAME PATH ?VF..." */) + interp, 1, objv, ts+36836 /* "CMDNAME PATH ?VF..." */) return TCL_ERROR } @@ -119056,7 +120621,7 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj } func SqliteSuperlock_Init(tls *libc.TLS, interp uintptr) int32 { /* test_superlock.c:359:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+36122 /* "sqlite3demo_supe..." */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+36877 /* "sqlite3demo_supe..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{superlock_cmd})), uintptr(0), uintptr(0)) return TCL_OK @@ -119112,7 +120677,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 // Since the primary use case for this binary is testing of SQLite, // be sure to generate core files if we crash - if tcl.XTcl_GetCommandInfo(tls, interp, ts+13947 /* "sqlite3" */, bp /* &cmdInfo */) == 0 { + if tcl.XTcl_GetCommandInfo(tls, interp, ts+14728 /* "sqlite3" */, bp /* &cmdInfo */) == 0 { Sqlite3_Init(tls, interp) } Md5_Init(tls, interp) @@ -119149,6 +120714,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 Sqlitemultiplex_Init(tls, interp) SqliteSuperlock_Init(tls, interp) SqlitetestSyscall_Init(tls, interp) + TestSession_Init(tls, interp) Fts5tcl_Init(tls, interp) SqliteRbu_Init(tls, interp) Sqlitetesttcl_Init(tls, interp) @@ -119158,7 +120724,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 Sqlitetestvdbecov_Init(tls, interp) tcl.XTcl_CreateObjCommand(tls, - interp, ts+36144 /* "load_testfixture..." */, *(*uintptr)(unsafe.Pointer(&struct { + interp, ts+36899 /* "load_testfixture..." */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{load_testfixture_extensions})), uintptr(0), uintptr(0)) return uintptr(0) @@ -119168,7 +120734,7 @@ func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr { /* test_tclsh.c:58 func load_testfixture_extensions(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_tclsh.c:185:26: */ var slave uintptr if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36172 /* "SLAVE" */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36927 /* "SLAVE" */) return TCL_ERROR } @@ -119252,7 +120818,7 @@ var zSchema = // Array index // Value // base(index) name -*(*[100]int8)(unsafe.Pointer(ts + 36178 /* "CREATE TABLE x( ..." */)) /* test_tclvar.c:88:21 */ +*(*[100]int8)(unsafe.Pointer(ts + 36933 /* "CREATE TABLE x( ..." */)) /* test_tclvar.c:88:21 */ // Note that for this virtual table, the xCreate and xConnect // methods are identical. @@ -119304,7 +120870,7 @@ func next2(tls *libc.TLS, interp uintptr, pCur uintptr, pObj uintptr) int32 { /* if pObj != 0 { if !(int32((*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2) != 0) { - p = tcl.XTcl_NewStringObj(tls, ts+36278 /* "array names" */, -1) + p = tcl.XTcl_NewStringObj(tls, ts+37033 /* "array names" */, -1) (*Tcl_Obj)(unsafe.Pointer(p)).FrefCount++ tcl.XTcl_ListObjAppendElement(tls, uintptr(0), p, pObj) tcl.XTcl_EvalObjEx(tls, interp, p, TCL_EVAL_GLOBAL) @@ -119365,7 +120931,7 @@ func tclvarNext(tls *libc.TLS, cur uintptr) int32 { /* test_tclvar.c:168:12: */ func tclvarFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* test_tclvar.c:188:12: */ var pCur uintptr = pVtabCursor var interp uintptr = (*tclvar_vtab)(unsafe.Pointer((*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab)).Finterp - var p uintptr = tcl.XTcl_NewStringObj(tls, ts+36290 /* "tclvar_filter_cm..." */, -1) + var p uintptr = tcl.XTcl_NewStringObj(tls, ts+37045 /* "tclvar_filter_cm..." */, -1) var zEq uintptr = ts + 489 /* "" */ var zMatch uintptr = ts + 489 /* "" */ @@ -119483,7 +121049,7 @@ func tclvarColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* t { var z3 uintptr if *(*uintptr)(unsafe.Pointer(bp + 32 /* p2 */)) != 0 { - z3 = sqlite3.Xsqlite3_mprintf(tls, ts+36308 /* "%s(%s)" */, libc.VaList(bp, z1, z2)) + z3 = sqlite3.Xsqlite3_mprintf(tls, ts+37063 /* "%s(%s)" */, libc.VaList(bp, z1, z2)) sqlite3.Xsqlite3_result_text(tls, ctx, z3, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) } else { sqlite3.Xsqlite3_result_text(tls, ctx, z1, -1, libc.UintptrFromInt32(-1)) @@ -119538,7 +121104,7 @@ func tclvarSetOmit(tls *libc.TLS, interp uintptr) int32 { /* test_tclvar.c:324:1 *(*int32)(unsafe.Pointer(bp /* res */)) = 0 var pRes uintptr rc = tcl.XTcl_Eval(tls, interp, - ts+36315 /* "expr {[info exis..." */) + ts+37070 /* "expr {[info exis..." */) if rc == TCL_OK { pRes = tcl.XTcl_GetObjResult(tls, interp) rc = tcl.XTcl_GetBooleanFromObj(tls, uintptr(0), pRes, bp /* &res */) @@ -119635,7 +121201,7 @@ func tclvarUpdate(tls *libc.TLS, tab uintptr, argc int32, argv uintptr, pRowid u var zValue uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8))) var zName uintptr if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 5*8))) != SQLITE_TEXT { - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+36376 /* "the 'fullname' c..." */, 0) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37131 /* "the 'fullname' c..." */, 0) return SQLITE_ERROR } zName = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 5*8))) @@ -119661,7 +121227,7 @@ func tclvarUpdate(tls *libc.TLS, tab uintptr, argc int32, argv uintptr, pRowid u } return SQLITE_OK } - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+36411 /* "prohibited TCL v..." */, 0) + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37166 /* "prohibited TCL v..." */, 0) return SQLITE_ERROR } @@ -119698,10 +121264,10 @@ func register_tclvar_module(tls *libc.TLS, clientData ClientData, interp uintptr if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+28996 /* "tclvar" */, uintptr(unsafe.Pointer(&tclvarModule)), interp) + sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+29758 /* "tclvar" */, uintptr(unsafe.Pointer(&tclvarModule)), interp) rc = tcl.XTcl_Eval(tls, interp, - ts+36442 /* "proc like {patte..." */) + ts+37197 /* "proc like {patte..." */) return rc } @@ -119724,7 +121290,7 @@ var aObjCmd13 = [1]struct { FxProc uintptr FclientData uintptr }{ - {FzName: ts + 36978 /* "register_tclvar_..." */, FxProc: 0}, + {FzName: ts + 37733 /* "register_tclvar_..." */, FxProc: 0}, } /* test_tclvar.c:552:5 */ // end block for C++ @@ -119827,10 +121393,10 @@ func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) uint32 { /* test_thre var p uintptr = pSqlThread interp = tcl.XTcl_CreateInterp(tls) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37001 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+37756 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{clock_seconds_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37015 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+37770 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_proc})), pSqlThread, uintptr(0)) Sqlitetest1_Init(tls, interp) @@ -119856,7 +121422,7 @@ func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) uint32 { /* test_thre pList = tcl.XTcl_NewObj(tls) } - tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+37025 /* "set" */, -1)) + tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+37780 /* "set" */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, (*SqlThread)(unsafe.Pointer(p)).FzVarname, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pList, pRes) postToParent(tls, p, pList) @@ -119926,7 +121492,7 @@ func sqlthread_spawn(tls *libc.TLS, clientData ClientData, interp uintptr, objc f func(*libc.TLS, ClientData) uint32 }{tclScriptThread})), pNew, nStack, flags) if rc != TCL_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37029 /* "Error in Tcl_Cre..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37784 /* "Error in Tcl_Cre..." */, 0)) tcl.XTcl_Free(tls, pNew) return TCL_ERROR } @@ -119956,7 +121522,7 @@ func sqlthread_parent(tls *libc.TLS, clientData ClientData, interp uintptr, objc _ = objc if p == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37057 /* "no parent thread" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37812 /* "no parent thread" */, 0)) return TCL_ERROR } @@ -120044,16 +121610,16 @@ func sqlthread_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc i _ [4]byte FzUsage uintptr }{ - {FzName: ts + 37074 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 37829 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_parent})), FnArg: 1, FzUsage: ts + 11583 /* "SCRIPT" */}, - {FzName: ts + 37081 /* "spawn" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_parent})), FnArg: 1, FzUsage: ts + 10650 /* "SCRIPT" */}, + {FzName: ts + 37836 /* "spawn" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_spawn})), FnArg: 2, FzUsage: ts + 37087 /* "VARNAME SCRIPT" */}, - {FzName: ts + 37102 /* "open" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_spawn})), FnArg: 2, FzUsage: ts + 37842 /* "VARNAME SCRIPT" */}, + {FzName: ts + 37857 /* "open" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{sqlthread_open})), FnArg: 1, FzUsage: ts + 37107 /* "DBNAME" */}, - {FzName: ts + 37114 /* "id" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { + }{sqlthread_open})), FnArg: 1, FzUsage: ts + 37862 /* "DBNAME" */}, + {FzName: ts + 37869 /* "id" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_id})), FzUsage: ts + 489 /* "" */}, {}, @@ -120140,10 +121706,10 @@ func clock_seconds_proc(tls *libc.TLS, clientData ClientData, interp uintptr, ob // Register commands with the TCL interpreter. func SqlitetestThread_Init(tls *libc.TLS, interp uintptr) int32 { /* test_thread.c:619:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+37015 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+37770 /* "sqlthread" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{sqlthread_proc})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37001 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+37756 /* "clock_seconds" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{clock_seconds_proc})), uintptr(0), uintptr(0)) return TCL_OK @@ -120261,13 +121827,13 @@ func tvfsResultCode(tls *libc.TLS, p uintptr, pRc uintptr) int32 { /* test_vfs.c *(*[9]errcode)(unsafe.Pointer(bp /* aCode */)) = [9]errcode{ {FzCode: ts + 1988 /* "SQLITE_OK" */}, {FeCode: SQLITE_ERROR, FzCode: ts + 1975 /* "SQLITE_ERROR" */}, - {FeCode: SQLITE_IOERR, FzCode: ts + 37117 /* "SQLITE_IOERR" */}, - {FeCode: SQLITE_LOCKED, FzCode: ts + 37130 /* "SQLITE_LOCKED" */}, - {FeCode: SQLITE_BUSY, FzCode: ts + 37144 /* "SQLITE_BUSY" */}, - {FeCode: SQLITE_READONLY, FzCode: ts + 37156 /* "SQLITE_READONLY" */}, - {FeCode: (SQLITE_READONLY | (int32(5) << 8)), FzCode: ts + 37172 /* "SQLITE_READONLY_..." */}, - {FeCode: SQLITE_NOTFOUND, FzCode: ts + 37197 /* "SQLITE_NOTFOUND" */}, - {FeCode: -1, FzCode: ts + 37213 /* "SQLITE_OMIT" */}, + {FeCode: SQLITE_IOERR, FzCode: ts + 37872 /* "SQLITE_IOERR" */}, + {FeCode: SQLITE_LOCKED, FzCode: ts + 37885 /* "SQLITE_LOCKED" */}, + {FeCode: SQLITE_BUSY, FzCode: ts + 37899 /* "SQLITE_BUSY" */}, + {FeCode: SQLITE_READONLY, FzCode: ts + 37911 /* "SQLITE_READONLY" */}, + {FeCode: (SQLITE_READONLY | (int32(5) << 8)), FzCode: ts + 37927 /* "SQLITE_READONLY_..." */}, + {FeCode: SQLITE_NOTFOUND, FzCode: ts + 37952 /* "SQLITE_NOTFOUND" */}, + {FeCode: -1, FzCode: ts + 37968 /* "SQLITE_OMIT" */}, } var z uintptr var i int32 @@ -120347,7 +121913,7 @@ func tvfsClose(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:317:12: */ var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_CLOSE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34667, /* "xClose" */ + tvfsExecTcl(tls, p, ts+35422, /* "xClose" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) } @@ -120378,7 +121944,7 @@ func tvfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqli var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_READ_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34674, /* "xRead" */ + tvfsExecTcl(tls, p, ts+35429, /* "xRead" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -120401,7 +121967,7 @@ func tvfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sql var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_WRITE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34680, /* "xWrite" */ + tvfsExecTcl(tls, p, ts+35435, /* "xWrite" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewWideIntObj(tls, iOfst), tcl.XTcl_NewIntObj(tls, iAmt)) tvfsResultCode(tls, p, bp /* &rc */) @@ -120433,7 +121999,7 @@ func tvfsTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 { /* te var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_TRUNCATE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34687, /* "xTruncate" */ + tvfsExecTcl(tls, p, ts+35442, /* "xTruncate" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -120458,26 +122024,26 @@ func tvfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* test_vfs.c:4 switch flags { case SQLITE_SYNC_NORMAL: - zFlags = ts + 16088 /* "normal" */ + zFlags = ts + 16869 /* "normal" */ break fallthrough case SQLITE_SYNC_FULL: - zFlags = ts + 17992 /* "full" */ + zFlags = ts + 18773 /* "full" */ break fallthrough case (SQLITE_SYNC_NORMAL | SQLITE_SYNC_DATAONLY): - zFlags = ts + 37225 /* "normal|dataonly" */ + zFlags = ts + 37980 /* "normal|dataonly" */ break fallthrough case (SQLITE_SYNC_FULL | SQLITE_SYNC_DATAONLY): - zFlags = ts + 37241 /* "full|dataonly" */ + zFlags = ts + 37996 /* "full|dataonly" */ break fallthrough default: } - tvfsExecTcl(tls, p, ts+27057, /* "xSync" */ + tvfsExecTcl(tls, p, ts+27833, /* "xSync" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewStringObj(tls, zFlags, -1), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) @@ -120511,7 +122077,7 @@ func tvfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c:4 // var zLock [30]int8 at bp+16, 30 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) - tvfsExecTcl(tls, p, ts+34707 /* "xLock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+35462 /* "xLock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, bp+16 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } return sqlite3.Xsqlite3OsLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, eLock) @@ -120528,7 +122094,7 @@ func tvfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c // var zLock [30]int8 at bp+16, 30 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) - tvfsExecTcl(tls, p, ts+34713 /* "xUnlock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+35468 /* "xUnlock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, bp+16 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } if (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_WRITE_MASK) != 0) && (tvfsInjectIoerr(tls, p) != 0) { @@ -120542,7 +122108,7 @@ func tvfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_CKLOCK_MASK) != 0) { - tvfsExecTcl(tls, p, ts+37255 /* "xCheckReservedLo..." */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), + tvfsExecTcl(tls, p, ts+38010 /* "xCheckReservedLo..." */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) } return sqlite3.Xsqlite3OsCheckReservedLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, pResOut) @@ -120584,9 +122150,9 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_FCNTL_MASK) != 0) { *(*[3]Fcntl)(unsafe.Pointer(bp + 32 /* aF */)) = [3]Fcntl{ - {FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 37274 /* "BEGIN_ATOMIC_WRI..." */}, - {FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 37293 /* "COMMIT_ATOMIC_WR..." */}, - {FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 37313 /* "ZIPVFS" */}, + {FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 38029 /* "BEGIN_ATOMIC_WRI..." */}, + {FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 38048 /* "COMMIT_ATOMIC_WR..." */}, + {FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 38068 /* "ZIPVFS" */}, } var i int32 for i = 0; uint64(i) < (uint64(unsafe.Sizeof([3]Fcntl{})) / uint64(unsafe.Sizeof(Fcntl{}))); i++ { @@ -120596,7 +122162,7 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } if uint64(i) < (uint64(unsafe.Sizeof([3]Fcntl{})) / uint64(unsafe.Sizeof(Fcntl{}))) { *(*int32)(unsafe.Pointer(bp + 80 /* rc */)) = 0 - tvfsExecTcl(tls, p, ts+34735, /* "xFileControl" */ + tvfsExecTcl(tls, p, ts+35490, /* "xFileControl" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), tcl.XTcl_NewStringObj(tls, (*Fcntl)(unsafe.Pointer(bp+32 /* &aF */ +uintptr(i)*16)).FzFnctl, -1), uintptr(0), uintptr(0)) @@ -120683,7 +122249,7 @@ func tvfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i z += (uintptr(libc.Xstrlen(tls, z) + uint64(1))) } } - tvfsExecTcl(tls, p, ts+26629 /* "xOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), pArg, uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+27405 /* "xOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), pArg, uintptr(0), uintptr(0)) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pArg if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -120710,7 +122276,7 @@ func tvfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i } if !(pId != 0) { - pId = tcl.XTcl_NewStringObj(tls, ts+37320 /* "anon" */, -1) + pId = tcl.XTcl_NewStringObj(tls, ts+38075 /* "anon" */, -1) } (*Tcl_Obj)(unsafe.Pointer(pId)).FrefCount++ (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId = pId @@ -120756,7 +122322,7 @@ func tvfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 var p uintptr = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_DELETE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34772, /* "xDelete" */ + tvfsExecTcl(tls, p, ts+35527, /* "xDelete" */ tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewIntObj(tls, dirSync), uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -120778,15 +122344,15 @@ func tvfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut var zArg uintptr = uintptr(0) if flags == SQLITE_ACCESS_EXISTS { - zArg = ts + 37325 /* "SQLITE_ACCESS_EX..." */ + zArg = ts + 38080 /* "SQLITE_ACCESS_EX..." */ } if flags == SQLITE_ACCESS_READWRITE { - zArg = ts + 37346 /* "SQLITE_ACCESS_RE..." */ + zArg = ts + 38101 /* "SQLITE_ACCESS_RE..." */ } if flags == SQLITE_ACCESS_READ { - zArg = ts + 37370 /* "SQLITE_ACCESS_RE..." */ + zArg = ts + 38125 /* "SQLITE_ACCESS_RE..." */ } - tvfsExecTcl(tls, p, ts+34780, /* "xAccess" */ + tvfsExecTcl(tls, p, ts+35535, /* "xAccess" */ tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewStringObj(tls, zArg, -1), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { @@ -120813,7 +122379,7 @@ func tvfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_FULLPATHNAME_MASK) != 0) { // var rc int32 at bp, 4 - tvfsExecTcl(tls, p, ts+34788 /* "xFullPathname" */, tcl.XTcl_NewStringObj(tls, zPath, -1), uintptr(0), uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+35543 /* "xFullPathname" */, tcl.XTcl_NewStringObj(tls, zPath, -1), uintptr(0), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -120857,7 +122423,7 @@ func tvfsShmOpen(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:827:12: */ // SCRIPT xShmOpen FILENAME tcl.XTcl_ResetResult(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp) if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMOPEN_MASK) != 0) { - tvfsExecTcl(tls, p, ts+37389 /* "xShmOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+38144 /* "xShmOpen" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0)) if tvfsResultCode(tls, p, bp /* &rc */) != 0 { if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -120928,7 +122494,7 @@ func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite i tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, iPage)) tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, pgsz)) tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, isWrite)) - tvfsExecTcl(tls, p, ts+34865, /* "xShmMap" */ + tvfsExecTcl(tls, p, ts+35620, /* "xShmMap" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, pArg, uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) for ok := true; ok; ok = 0 != 0 { @@ -120968,20 +122534,20 @@ func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMLOCK_MASK) != 0) { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+24 /* &zLock[0] */, ts+17527 /* "%d %d" */, libc.VaList(bp, ofst, n)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+24 /* &zLock[0] */, ts+18308 /* "%d %d" */, libc.VaList(bp, ofst, n)) nLock = int32(libc.Xstrlen(tls, bp+24 /* &zLock[0] */)) if (flags & SQLITE_SHM_LOCK) != 0 { - libc.Xstrcpy(tls, (bp + 24 /* &zLock */ + uintptr(nLock)), ts+37398 /* " lock" */) + libc.Xstrcpy(tls, (bp + 24 /* &zLock */ + uintptr(nLock)), ts+38153 /* " lock" */) } else { - libc.Xstrcpy(tls, (bp + 24 /* &zLock */ + uintptr(nLock)), ts+37404 /* " unlock" */) + libc.Xstrcpy(tls, (bp + 24 /* &zLock */ + uintptr(nLock)), ts+38159 /* " unlock" */) } nLock = nLock + (int32(libc.Xstrlen(tls, (bp + 24 /* &zLock */ + uintptr(nLock))))) if (flags & SQLITE_SHM_SHARED) != 0 { - libc.Xstrcpy(tls, (bp + 24 /* &zLock */ + uintptr(nLock)), ts+37412 /* " shared" */) + libc.Xstrcpy(tls, (bp + 24 /* &zLock */ + uintptr(nLock)), ts+38167 /* " shared" */) } else { - libc.Xstrcpy(tls, (bp + 24 /* &zLock */ + uintptr(nLock)), ts+37420 /* " exclusive" */) + libc.Xstrcpy(tls, (bp + 24 /* &zLock */ + uintptr(nLock)), ts+38175 /* " exclusive" */) } - tvfsExecTcl(tls, p, ts+34844, /* "xShmLock" */ + tvfsExecTcl(tls, p, ts+35599, /* "xShmLock" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, tcl.XTcl_NewStringObj(tls, bp+24 /* &zLock[0] */, -1), uintptr(0)) tvfsResultCode(tls, p, bp+104 /* &rc */) @@ -121038,7 +122604,7 @@ func tvfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_vfs.c:1004:13: */ } else { z = ts + 489 /* "" */ } - tvfsExecTcl(tls, p, ts+34853 /* "xShmBarrier" */, tcl.XTcl_NewStringObj(tls, z, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) + tvfsExecTcl(tls, p, ts+35608 /* "xShmBarrier" */, tcl.XTcl_NewStringObj(tls, z, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) } if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { @@ -121068,7 +122634,7 @@ func tvfsShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* tes } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMCLOSE_MASK) != 0) { - tvfsExecTcl(tls, p, ts+34834, /* "xShmUnmap" */ + tvfsExecTcl(tls, p, ts+35589, /* "xShmUnmap" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0)) tvfsResultCode(tls, p, bp /* &rc */) } @@ -121111,15 +122677,15 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o var p uintptr = cd *(*[10]TestvfsSubcmd)(unsafe.Pointer(bp + 128 /* aSubcmd */)) = [10]TestvfsSubcmd{ - {FzName: ts + 37431 /* "shm" */}, - {FzName: ts + 37435 /* "delete" */, FeCmd: uint32(1) /* CMD_DELETE */}, - {FzName: ts + 37442 /* "filter" */, FeCmd: uint32(2) /* CMD_FILTER */}, - {FzName: ts + 37449 /* "ioerr" */, FeCmd: uint32(3) /* CMD_IOERR */}, - {FzName: ts + 37455 /* "fullerr" */, FeCmd: uint32(7) /* CMD_FULLERR */}, - {FzName: ts + 37463 /* "cantopenerr" */, FeCmd: uint32(8) /* CMD_CANTOPENERR */}, - {FzName: ts + 37475 /* "script" */, FeCmd: uint32(4) /* CMD_SCRIPT */}, - {FzName: ts + 37482 /* "devchar" */, FeCmd: uint32(5) /* CMD_DEVCHAR */}, - {FzName: ts + 37490 /* "sectorsize" */, FeCmd: uint32(6) /* CMD_SECTORSIZE */}, + {FzName: ts + 38186 /* "shm" */}, + {FzName: ts + 10601 /* "delete" */, FeCmd: uint32(1) /* CMD_DELETE */}, + {FzName: ts + 38190 /* "filter" */, FeCmd: uint32(2) /* CMD_FILTER */}, + {FzName: ts + 38197 /* "ioerr" */, FeCmd: uint32(3) /* CMD_IOERR */}, + {FzName: ts + 38203 /* "fullerr" */, FeCmd: uint32(7) /* CMD_FULLERR */}, + {FzName: ts + 38211 /* "cantopenerr" */, FeCmd: uint32(8) /* CMD_CANTOPENERR */}, + {FzName: ts + 38223 /* "script" */, FeCmd: uint32(4) /* CMD_SCRIPT */}, + {FzName: ts + 38230 /* "devchar" */, FeCmd: uint32(5) /* CMD_DEVCHAR */}, + {FzName: ts + 38238 /* "sectorsize" */, FeCmd: uint32(6) /* CMD_SECTORSIZE */}, {}, } // var i int32 at bp+288, 4 @@ -121129,7 +122695,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+128 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+37501 /* "subcommand" */, 0, bp+288 /* &i */) != 0 { + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+128 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+38249 /* "subcommand" */, 0, bp+288 /* &i */) != 0 { return TCL_ERROR } tcl.XTcl_ResetResult(tls, interp) @@ -121142,7 +122708,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o var pBuffer uintptr var zName uintptr if (objc != 3) && (objc != 4) { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37512 /* "FILE ?VALUE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38260 /* "FILE ?VALUE?" */) return TCL_ERROR } zName = tcl.XTcl_Alloc(tls, uint32((*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname)) @@ -121150,7 +122716,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o (*Testvfs)(unsafe.Pointer(p)).FpParent, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), (*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname, zName) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37525, /* "failed to get fu..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38273, /* "failed to get fu..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) tcl.XTcl_Free(tls, zName) return TCL_ERROR @@ -121162,7 +122728,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } tcl.XTcl_Free(tls, zName) if !(pBuffer != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+37551 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+38299 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) return TCL_ERROR } if objc == 4 { @@ -121205,7 +122771,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o *(*int32)(unsafe.Pointer(bp + 296 /* nElem */)) = 0 var mask int32 = 0 if objc != 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+31601 /* "LIST" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+32363 /* "LIST" */) return TCL_ERROR } if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+296 /* &nElem */, bp+304 /* &apElem */) != 0 { @@ -121222,7 +122788,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } } if iMethod == (int32(uint64(unsafe.Sizeof(vfsmethod)) / uint64(unsafe.Sizeof(VfsMethod{})))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+37566 /* "unknown method: " */, zElem, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+38314 /* "unknown method: " */, zElem, 0)) return TCL_ERROR } } @@ -121255,7 +122821,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o (*Tcl_Obj)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpScript)).FrefCount++ } } else if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12938 /* "?SCRIPT?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13719 /* "?SCRIPT?" */) return TCL_ERROR } @@ -121314,7 +122880,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o }() (*TestFaultInject)(unsafe.Pointer(pTest)).FiCnt = *(*int32)(unsafe.Pointer(bp + 316 /* iCnt */)) } else if objc != 2 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37583 /* "?CNT PERSIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38331 /* "?CNT PERSIST?" */) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iRet)) @@ -121332,28 +122898,28 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(5) /* CMD_DEVCHAR */ : { *(*[16]DeviceFlag)(unsafe.Pointer(bp + 336 /* aFlag */)) = [16]DeviceFlag{ - {FzName: ts + 37597 /* "default" */, FiValue: -1}, - {FzName: ts + 25783 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, - {FzName: ts + 25790 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, - {FzName: ts + 25800 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, - {FzName: ts + 25809 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, - {FzName: ts + 25818 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, - {FzName: ts + 25827 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, - {FzName: ts + 25836 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, - {FzName: ts + 25846 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, - {FzName: ts + 25856 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, - {FzName: ts + 25866 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, - {FzName: ts + 25877 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, - {FzName: ts + 37605 /* "undeletable_when..." */, FiValue: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN}, - {FzName: ts + 25889 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, - {FzName: ts + 37627 /* "immutable" */, FiValue: SQLITE_IOCAP_IMMUTABLE}, + {FzName: ts + 38345 /* "default" */, FiValue: -1}, + {FzName: ts + 26559 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, + {FzName: ts + 26566 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, + {FzName: ts + 26576 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, + {FzName: ts + 26585 /* "atomic2k" */, FiValue: SQLITE_IOCAP_ATOMIC2K}, + {FzName: ts + 26594 /* "atomic4k" */, FiValue: SQLITE_IOCAP_ATOMIC4K}, + {FzName: ts + 26603 /* "atomic8k" */, FiValue: SQLITE_IOCAP_ATOMIC8K}, + {FzName: ts + 26612 /* "atomic16k" */, FiValue: SQLITE_IOCAP_ATOMIC16K}, + {FzName: ts + 26622 /* "atomic32k" */, FiValue: SQLITE_IOCAP_ATOMIC32K}, + {FzName: ts + 26632 /* "atomic64k" */, FiValue: SQLITE_IOCAP_ATOMIC64K}, + {FzName: ts + 26642 /* "sequential" */, FiValue: SQLITE_IOCAP_SEQUENTIAL}, + {FzName: ts + 26653 /* "safe_append" */, FiValue: SQLITE_IOCAP_SAFE_APPEND}, + {FzName: ts + 38353 /* "undeletable_when..." */, FiValue: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN}, + {FzName: ts + 26665 /* "powersafe_overwr..." */, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE}, + {FzName: ts + 38375 /* "immutable" */, FiValue: SQLITE_IOCAP_IMMUTABLE}, {}, } var pRet uintptr var iFlag int32 if objc > 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37637 /* "?ATTR-LIST?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38385 /* "?ATTR-LIST?" */) return TCL_ERROR } if objc == 3 { @@ -121369,11 +122935,11 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o for j = 0; j < *(*int32)(unsafe.Pointer(bp + 324 /* nFlags */)); j++ { *(*int32)(unsafe.Pointer(bp + 592 /* idx */)) = 0 if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 328 /* flags */)) + uintptr(j)*8)), bp+336, /* &aFlag[0] */ - int32(unsafe.Sizeof(DeviceFlag{})), ts+17204 /* "flag" */, 0, bp+592 /* &idx */) != 0 { + int32(unsafe.Sizeof(DeviceFlag{})), ts+17985 /* "flag" */, 0, bp+592 /* &idx */) != 0 { return TCL_ERROR } if ((*DeviceFlag)(unsafe.Pointer(bp+336 /* &aFlag */ +uintptr(*(*int32)(unsafe.Pointer(bp + 592 /* idx */)))*16)).FiValue < 0) && (*(*int32)(unsafe.Pointer(bp + 324 /* nFlags */)) > 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+96, ts+37649 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+96, ts+38397 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) return TCL_ERROR } iNew = iNew | ((*DeviceFlag)(unsafe.Pointer(bp + 336 /* &aFlag */ + uintptr(*(*int32)(unsafe.Pointer(bp + 592 /* idx */)))*16)).FiValue) @@ -121398,7 +122964,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(6) /* CMD_SECTORSIZE */ : { if objc > 3 { - tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+37661 /* "?VALUE?" */) + tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38409 /* "?VALUE?" */) return TCL_ERROR } if objc == 3 { @@ -121430,24 +122996,24 @@ type VfsMethod = struct { } /* test_vfs.c:1179:14 */ var vfsmethod = [18]VfsMethod{ - {FzName: ts + 37389 /* "xShmOpen" */, Fmask: TESTVFS_SHMOPEN_MASK}, - {FzName: ts + 34844 /* "xShmLock" */, Fmask: TESTVFS_SHMLOCK_MASK}, - {FzName: ts + 34853 /* "xShmBarrier" */, Fmask: TESTVFS_SHMBARRIER_MASK}, - {FzName: ts + 34834 /* "xShmUnmap" */, Fmask: TESTVFS_SHMCLOSE_MASK}, - {FzName: ts + 34865 /* "xShmMap" */, Fmask: TESTVFS_SHMMAP_MASK}, - {FzName: ts + 27057 /* "xSync" */, Fmask: TESTVFS_SYNC_MASK}, - {FzName: ts + 34772 /* "xDelete" */, Fmask: TESTVFS_DELETE_MASK}, - {FzName: ts + 34680 /* "xWrite" */, Fmask: TESTVFS_WRITE_MASK}, - {FzName: ts + 34674 /* "xRead" */, Fmask: TESTVFS_READ_MASK}, - {FzName: ts + 34687 /* "xTruncate" */, Fmask: TESTVFS_TRUNCATE_MASK}, - {FzName: ts + 26629 /* "xOpen" */, Fmask: TESTVFS_OPEN_MASK}, - {FzName: ts + 34667 /* "xClose" */, Fmask: TESTVFS_CLOSE_MASK}, - {FzName: ts + 34780 /* "xAccess" */, Fmask: TESTVFS_ACCESS_MASK}, - {FzName: ts + 34788 /* "xFullPathname" */, Fmask: TESTVFS_FULLPATHNAME_MASK}, - {FzName: ts + 34713 /* "xUnlock" */, Fmask: TESTVFS_UNLOCK_MASK}, - {FzName: ts + 34707 /* "xLock" */, Fmask: TESTVFS_LOCK_MASK}, - {FzName: ts + 37255 /* "xCheckReservedLo..." */, Fmask: TESTVFS_CKLOCK_MASK}, - {FzName: ts + 34735 /* "xFileControl" */, Fmask: TESTVFS_FCNTL_MASK}, + {FzName: ts + 38144 /* "xShmOpen" */, Fmask: TESTVFS_SHMOPEN_MASK}, + {FzName: ts + 35599 /* "xShmLock" */, Fmask: TESTVFS_SHMLOCK_MASK}, + {FzName: ts + 35608 /* "xShmBarrier" */, Fmask: TESTVFS_SHMBARRIER_MASK}, + {FzName: ts + 35589 /* "xShmUnmap" */, Fmask: TESTVFS_SHMCLOSE_MASK}, + {FzName: ts + 35620 /* "xShmMap" */, Fmask: TESTVFS_SHMMAP_MASK}, + {FzName: ts + 27833 /* "xSync" */, Fmask: TESTVFS_SYNC_MASK}, + {FzName: ts + 35527 /* "xDelete" */, Fmask: TESTVFS_DELETE_MASK}, + {FzName: ts + 35435 /* "xWrite" */, Fmask: TESTVFS_WRITE_MASK}, + {FzName: ts + 35429 /* "xRead" */, Fmask: TESTVFS_READ_MASK}, + {FzName: ts + 35442 /* "xTruncate" */, Fmask: TESTVFS_TRUNCATE_MASK}, + {FzName: ts + 27405 /* "xOpen" */, Fmask: TESTVFS_OPEN_MASK}, + {FzName: ts + 35422 /* "xClose" */, Fmask: TESTVFS_CLOSE_MASK}, + {FzName: ts + 35535 /* "xAccess" */, Fmask: TESTVFS_ACCESS_MASK}, + {FzName: ts + 35543 /* "xFullPathname" */, Fmask: TESTVFS_FULLPATHNAME_MASK}, + {FzName: ts + 35468 /* "xUnlock" */, Fmask: TESTVFS_UNLOCK_MASK}, + {FzName: ts + 35462 /* "xLock" */, Fmask: TESTVFS_LOCK_MASK}, + {FzName: ts + 38010 /* "xCheckReservedLo..." */, Fmask: TESTVFS_CKLOCK_MASK}, + {FzName: ts + 35490 /* "xFileControl" */, Fmask: TESTVFS_FCNTL_MASK}, } /* test_vfs.c:1182:9 */ func testvfs_obj_del(tls *libc.TLS, cd ClientData) { /* test_vfs.c:1393:27: */ @@ -121545,7 +123111,7 @@ __2: } zSwitch = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp /* &nSwitch */) - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+37669 /* "-noshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38417 /* "-noshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __5 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+4 /* &isNoshm */) != 0) { @@ -121562,7 +123128,7 @@ __8: ; goto __6 __5: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+26159 /* "-default" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+26935 /* "-default" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __9 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+8 /* &isDefault */) != 0) { @@ -121573,7 +123139,7 @@ __11: ; goto __10 __9: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+37676 /* "-szosfile" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38424 /* "-szosfile" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __12 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+12 /* &szOsFile */) != 0) { @@ -121584,7 +123150,7 @@ __14: ; goto __13 __12: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+37686 /* "-mxpathname" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38434 /* "-mxpathname" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __15 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+16 /* &mxPathname */) != 0) { @@ -121595,7 +123161,7 @@ __17: ; goto __16 __15: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+37698 /* "-iversion" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38446 /* "-iversion" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __18 } if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+20 /* &iVersion */) != 0) { @@ -121606,7 +123172,7 @@ __20: ; goto __19 __18: - if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+37708 /* "-fullshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { + if !((*(*int32)(unsafe.Pointer(bp /* nSwitch */)) > 2) && (0 == libc.Xstrncmp(tls, ts+38456 /* "-fullshm" */, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp /* nSwitch */)))))) { goto __21 } if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+24 /* &isFullshm */) != 0) { @@ -121695,7 +123261,7 @@ __26: return TCL_OK bad_args: - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+37717 /* "VFSNAME ?-noshm ..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38465 /* "VFSNAME ?-noshm ..." */) return TCL_ERROR } @@ -121715,8 +123281,8 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in bp := tls.Alloc(88) defer tls.Free(88) - *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azArg1 */)) = [3]uintptr{ts + 37821 /* "shared" */, ts + 13658 /* "exclusive" */, uintptr(0)} - *(*[3]uintptr)(unsafe.Pointer(bp + 40 /* azArg2 */)) = [3]uintptr{ts + 37828 /* "lock" */, ts + 37833 /* "unlock" */, uintptr(0)} + *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azArg1 */)) = [3]uintptr{ts + 38569 /* "shared" */, ts + 14439 /* "exclusive" */, uintptr(0)} + *(*[3]uintptr)(unsafe.Pointer(bp + 40 /* azArg2 */)) = [3]uintptr{ts + 38576 /* "lock" */, ts + 38581 /* "unlock" */, uintptr(0)} *(*uintptr)(unsafe.Pointer(bp /* db */)) = uintptr(0) var rc int32 = SQLITE_OK var zDbname uintptr = uintptr(0) @@ -121728,14 +123294,14 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in if objc != 7 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, - ts+37840 /* "DB DBNAME (share..." */) + ts+38588 /* "DB DBNAME (share..." */) return TCL_ERROR } zDbname = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) if ((((getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp /* &db */) != 0) || - (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &azArg1[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+37892 /* "ARG" */, 0, bp+32 /* &iArg1 */) != 0)) || - (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+40 /* &azArg2[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+37892 /* "ARG" */, 0, bp+64 /* &iArg2 */) != 0)) || + (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8 /* &azArg1[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+38640 /* "ARG" */, 0, bp+32 /* &iArg1 */) != 0)) || + (tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+40 /* &azArg2[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+38640 /* "ARG" */, 0, bp+64 /* &iArg2 */) != 0)) || (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*8)), bp+68 /* &iOffset */) != 0)) || (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 6*8)), bp+72 /* &n */) != 0) { return TCL_ERROR @@ -121778,7 +123344,7 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob var iOff int32 if (objc != 4) && (objc != 5) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+37896 /* "DB DBNAME SLOT ?..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38644 /* "DB DBNAME SLOT ?..." */) return TCL_ERROR } @@ -121799,7 +123365,7 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob return TCL_ERROR } if libc.AtomicLoadPUintptr(bp+48 /* pShm */) == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37919 /* "*-shm is not yet..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38667 /* "*-shm is not yet..." */, 0)) return TCL_ERROR } aShm = libc.AtomicLoadPUintptr(bp + 48 /* pShm */) @@ -121814,13 +123380,13 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob } func Sqlitetestvfs_Init(tls *libc.TLS, interp uintptr) int32 { /* test_vfs.c:1685:5: */ - tcl.XTcl_CreateObjCommand(tls, interp, ts+37943 /* "testvfs" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38691 /* "testvfs" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 }{testvfs_cmd})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37951 /* "vfs_shmlock" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38699 /* "vfs_shmlock" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfs_shmlock})), uintptr(0), uintptr(0)) - tcl.XTcl_CreateObjCommand(tls, interp, ts+37963 /* "vfs_set_readmark" */, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_CreateObjCommand(tls, interp, ts+38711 /* "vfs_set_readmark" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{test_vfs_set_readmark})), uintptr(0), uintptr(0)) return TCL_OK @@ -121869,15 +123435,15 @@ __1: libc.Xmemset(tls, dirp, 0, uint64(unsafe.Sizeof(DIR{}))) // TODO: Remove this if Unix-style root paths are not used. - if !(sqlite3.Xsqlite3_stricmp(tls, dirname, ts+37980 /* "/" */) == 0) { + if !(sqlite3.Xsqlite3_stricmp(tls, dirname, ts+38728 /* "/" */) == 0) { goto __2 } - dirname = windirent_getenv(tls, ts+30146 /* "SystemDrive" */) + dirname = windirent_getenv(tls, ts+30908 /* "SystemDrive" */) __2: ; libc.Xmemset(tls, bp+16 /* &data */, 0, uint64(unsafe.Sizeof(_finddata64i32_t{}))) - libc.X_snprintf(tls, bp+16 /* &data */ +36 /* &.name */, namesize, ts+37982 /* "%s\\*" */, libc.VaList(bp, dirname)) + libc.X_snprintf(tls, bp+16 /* &data */ +36 /* &.name */, namesize, ts+38730 /* "%s\\*" */, libc.VaList(bp, dirname)) (*DIR)(unsafe.Pointer(dirp)).Fd_handle = libc.X_findfirst64i32(tls, bp+16 /* &data */ +36 /* &.name */, bp+16 /* &data */) if !((*DIR)(unsafe.Pointer(dirp)).Fd_handle == (int64(-1))) { @@ -122188,7 +123754,7 @@ func test_create_window(tls *libc.TLS, clientData uintptr, interp uintptr, objc var rc int32 if objc != 7 { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+37987 /* "DB NAME XSTEP XF..." */) + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38735 /* "DB NAME XSTEP XF..." */) return TCL_ERROR } @@ -122246,7 +123812,7 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38024 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38772 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowInverse})), @@ -122257,7 +123823,7 @@ __2: goto error __3: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38024 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38772 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct { @@ -122270,7 +123836,7 @@ __3: goto error __4: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38024 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38772 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { @@ -122283,7 +123849,7 @@ __4: goto error __5: ; - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38024 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38772 /* "fff" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), uintptr(0), @@ -122298,7 +123864,7 @@ __6: return TCL_OK error: - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+38028 /* "misuse test erro..." */, -1)) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+38776 /* "misuse test erro..." */, -1)) return TCL_ERROR } @@ -122307,7 +123873,7 @@ func sumintStep(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* test var pInt uintptr if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_INTEGER { - sqlite3.Xsqlite3_result_error(tls, ctx, ts+38046 /* "invalid argument" */, -1) + sqlite3.Xsqlite3_result_error(tls, ctx, ts+38794 /* "invalid argument" */, -1) return } pInt = sqlite3.Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(sqlite3_int64(0)))) @@ -122361,7 +123927,7 @@ func test_create_sumint(tls *libc.TLS, clientData uintptr, interp uintptr, objc return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38063 /* "sumint" */, 1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38811 /* "sumint" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintValue})), *(*uintptr)(unsafe.Pointer(&struct { @@ -122392,7 +123958,7 @@ func test_override_sum(tls *libc.TLS, clientData uintptr, interp uintptr, objc i return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38070 /* "sum" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+38818 /* "sum" */, -1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal}))) @@ -122424,10 +123990,10 @@ var aObjCmd14 = [4]struct { FclientData int32 _ [4]byte }{ - {FzName: ts + 38074 /* "sqlite3_create_w..." */, FxProc: 0}, - {FzName: ts + 38105 /* "test_create_wind..." */, FxProc: 0}, - {FzName: ts + 38140 /* "test_create_sumi..." */, FxProc: 0}, - {FzName: ts + 38159 /* "test_override_su..." */, FxProc: 0}, + {FzName: ts + 38822 /* "sqlite3_create_w..." */, FxProc: 0}, + {FzName: ts + 38853 /* "test_create_wind..." */, FxProc: 0}, + {FzName: ts + 38888 /* "test_create_sumi..." */, FxProc: 0}, + {FzName: ts + 38907 /* "test_override_su..." */, FxProc: 0}, } /* test_window.c:336:5 */ // 2008 September 1 @@ -123690,5 +125256,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&zipfileModule)) + 144 /* .xFindFunction */)) = zipfileFindFunction // zipfile.c:2167:5: } -var ts1 = "%s\x00internal error!\x00SELECT * FROM main.%Q WHERE sample()\x00expert\x00PRAGMA table_xinfo=%Q\x00main\x00, \x00%Q\x00 COLLATE %Q\x00 COLLATE %s\x00 DESC\x00PRAGMA index_list=%Q\x00PRAGMA index_xInfo=%Q\x00%s_idx_%08x\x00CREATE INDEX '%q' ON %Q(%s)\x00CREATE INDEX %s ON %s(%s)\x00EXPLAIN QUERY PLAN %s\x00 USING INDEX \x00 USING COVERING INDEX \x00%s\n\x00%s;\n\x00SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_schema WHERE tbl_name = %Q AND type IN ('table', 'trigger') ORDER BY type;\x00ALTER TABLE temp.%Q RENAME TO %Q\x00INSERT INTO %Q VALUES(\x00%s?\x00\x00)\x00UPDATE %Q SET \x00%s%Q=?\x00DELETE FROM %Q\x00t592690916721053953805701627921227776\x00DROP TABLE t592690916721053953805701627921227776\x00SELECT type, name, sql, 1 FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%' UNION ALL SELECT type, name, sql, 2 FROM sqlite_schema WHERE type = 'trigger' AND tbl_name IN(SELECT name FROM sqlite_schema WHERE type = 'view') ORDER BY 4, 1\x00CREATE TABLE x(\x00%s%Q COLLATE %s\x00CREATE VIRTUAL TABLE %Q USING expert(%Q)\x00SELECT max(i.seqno) FROM sqlite_schema AS s, pragma_index_list(s.name) AS l, pragma_index_info(l.name) AS i WHERE s.type = 'table'\x00%sx.%Q IS rem(%d, x.%Q) COLLATE %s\x00%s%d\x00SELECT %s FROM %Q x ORDER BY %s\x00SELECT %s FROM temp.t592690916721053953805701627921227776 x ORDER BY %s\x00%d\x00 %d\x00DROP TABLE IF EXISTS temp.t592690916721053953805701627921227776\x00CREATE TABLE temp.t592690916721053953805701627921227776 AS SELECT * FROM %Q\x00SELECT s.rowid, s.name, l.name FROM sqlite_schema AS s, pragma_index_list(s.name) AS l WHERE s.type = 'table'\x00SELECT name, coll FROM pragma_index_xinfo(?) WHERE key\x00INSERT INTO sqlite_stat1 VALUES(?, ?, ?)\x00ANALYZE; PRAGMA writable_schema=1\x00rem\x00sample\x00ANALYZE sqlite_schema\x00:memory:\x00SELECT sql FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%%' AND sql NOT LIKE 'CREATE VIRTUAL %%'\x00%s;%s%s\n\x00 -- stat1: \x00no such handle: \x00sql\x00TABLE\x00analyze\x00count\x00report\x00STMT EREPORT\x00destroy\x00SUBCOMMAND ...\x00sub-command\x00indexes\x00plan\x00candidates\x00DB\x00sqlite3expert%d\x00out of memory\x00sqlite3_expert_new\x00SQLITE_DONE\x00SQLITE_ERROR\x00SQLITE_OK\x00SELECT fts5(?1)\x00error: \x00fts5_api_ptr\x00f5t_2_%lld\x00xColumnCount\x00xRowCount\x00xColumnTotalSize\x00COL\x00xTokenize\x00TEXT SCRIPT\x00xPhraseCount\x00xPhraseSize\x00PHRASE\x00xInstCount\x00xInst\x00IDX\x00xRowid\x00xColumnText\x00xColumnSize\x00xQueryPhrase\x00PHRASE SCRIPT\x00xSetAuxdata\x00VALUE\x00xGetAuxdata\x00CLEAR\x00xSetAuxdataInt\x00INTEGER\x00xGetAuxdataInt\x00xPhraseForeach\x00IPHRASE COLVAR OFFVAR SCRIPT\x00xPhraseColumnForeach\x00IPHRASE COLVAR SCRIPT\x00SUB-COMMAND\x00f5t_%lld\x00bytearray\x00boolean\x00double\x00wideInt\x00int\x00DB NAME SCRIPT\x00?-subst? DB NAME TEXT\x00-subst\x00unrecognized option: \x00no such tokenizer: \x00error in tokenizer.xCreate()\x00error in tokenizer.xTokenize()\x00document\x00aux\x00query\x00prefixquery\x00invalid\x00-colocated\x00sqlite3_fts5_token may only be used by tokenizer callback\x00?-colocated? TEXT START END\x00error in fts5_api.xCreateTokenizer()\x00NSLOT TOKEN\x00sqlite3_fts5_create_tokenizer\x00sqlite3_fts5_token\x00sqlite3_fts5_tokenize\x00sqlite3_fts5_create_function\x00sqlite3_fts5_may_be_corrupt\x00sqlite3_fts5_token_hash\x00sqlite3_fts5_register_matchinfo\x00sqlite3_fts5_register_fts5tokenize\x00unrecognized matchinfo flag: %c\x00pcx\x00matchinfo\x00CREATE TABLE x(input HIDDEN, token, start, end, position)\x00fts5tokenize\x00apndvfs\x00Start-Of-SQLite3-\x00apnd(%lld)/%z\x00SQLite format 3\x00%s: cost must be between 1 and %d\x00%s: maximum string length is %d\x00%s: iLang must be between 0 and %d\x00?\x00SELECT * FROM %Q.%Q\x00%s: %s\x00%s: %s has %d columns, expected 4\x00vocabulary_table\x00vocabulary_word\x00vocabulary_language\x00edit_distances\x00unrecognized argument: [%s]\n\x00no edit_distances table specified\x00CREATE TABLE x(word,distance,language,command HIDDEN,nword HIDDEN)\x000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^abcdefghijklmnopqrstuvwxyz~\x00SELECT \"%w\" FROM \"%w\"\x00 WHERE \"%w\">=?1 AND \"%w\"=?2 ORDER BY 1\x00SELECT \"%w\" FROM \"%w\" WHERE \"%w\">=?1 ORDER BY 1\x00*\x00DELETE from %s is not allowed\x00UPDATE of %s is not allowed\x00INSERT INTO %s allowed for column [command] only\x00approximate_match\x00int32\x00int64\x00char*\x00CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)\x00carray-bind\x00carray\x00unknown datatype: %Q\x00inttoptr\x00cksmvfs\x00ZV-\x00checksum fault offset %lld of \"%s\"\x00checksum_verification\x00enable%\x00yes\x00on\x00page_size\x00cksm/%z\x00verify_checksum\x00tablename\x00idcolumn\x00parentcolumn\x00CREATE TABLE x(id,depth,root HIDDEN,tablename HIDDEN,idcolumn HIDDEN,parentcolumn HIDDEN)\x00SELECT \"%w\".\"%w\" FROM \"%w\" WHERE \"%w\".\"%w\"=?1\x00transitive_closure\x00rb\x00cannot open '%s' for reading\x00line %d: unescaped %c character\x00line %d: unterminated %c-quoted field\n\x00more than one '%s' parameter\x00true\x00no\x00off\x00false\x00header\x00more than one 'header' parameter\x00testflags\x00columns\x00more than one 'columns' parameter\x00column= value must be positive\x00bad parameter: '%s'\x00must specify either filename= or data= but not both\x00%sc%d TEXT\x00,\x00%s\"%w\" TEXT\x00bad schema: '%s' - %s\x00filename\x00data\x00schema\x00csv\x00csv_wr\x00decimal_sum\x00decimal\x00decimal_cmp\x00decimal_add\x00decimal_sub\x00decimal_mul\x00 \x00eval\x00CREATE TABLE x(addr,opcode,p1,p2,p3,p4,p5,comment,sql HIDDEN)\x00EXPLAIN %s\x00explain\x00wb\x00wrong number of arguments to function writefile()\x00failed to create symlink: %s\x00failed to create directory: %s\x00failed to write file: %s\x00CREATE TABLE x(name,mode,mtime,data,path HIDDEN,dir HIDDEN)\x00cannot read directory: %s\x00%s/%s\x00cannot stat file: %s\x00table function fsdir requires an argument\x00table function fsdir requires a non-NULL argument\x00fsdir\x00readfile\x00writefile\x00lsmode\x00%s: ruleset must be between 0 and %d\x00%s: wrong number of CREATE VIRTUAL TABLE arguments\x00CREATE TABLE x(word,distance,ruleset)\x00fuzzer\x00ieee754(%lld,%d)\x00ieee754\x00ieee754_mantissa\x00ieee754_exponent\x00ieee754_to_blob\x00ieee754_from_blob\x00BEGIN; SELECT * FROM %s%q%ssqlite_schema\x00'\x00'.\x00PRAGMA %s%q%spage_size\x00sqlite3_mmap_warm_cache: Warmed up %d pages of %s\x00END\x00AND (%s)\x00collate \"%w\"\x00SELECT %s FROM %s WHERE %s>=(?1 || ?2) %s AND %s<=(?1 || char(1114111)) %s %s ORDER BY 1 %s ASC LIMIT 1\x00next_char\x00NULL\x00is\x00not\x00in(\x00in(select\x00in(with\x00?,?,?\x002nd argument to percentile() is not a number between 0.0 and 100.0\x002nd argument to percentile() is not the same for all input rows\x001st argument to percentile() is not numeric\x00Inf input to percentile()\x00percentile\x00CREATE TABLE prefixes(prefix TEXT, original_string TEXT HIDDEN)\x00prefixes\x00prefix_length\x00unknown \\ escape\x00afnrtv\\()*.+?[$^{|}]\x00\a\f\n\r\t\v\x00unmatched '('\x00'*' without operand\x00'+' without operand\x00'?' without operand\x00'{m,n}' without operand\x00unmatched '{'\x00n less than m in '{m,n}'\x00both m and n are zero in '{m,n}'\x00POSIX character classes not supported\x00unclosed '['\x00unrecognized character\x00regexp\x00regexpi\x00remember\x00CREATE TABLE x(value,start hidden,stop hidden,step hidden)\x00generate_series() requires SQLite 3.8.12 or later\x00generate_series\x00.ABCDHLRMY9 ?\x00non-ASCII input to editdist()\x00NULL input to editdist()\x00SELECT iLang, cFrom, cTo, iCost FROM \"%w\" WHERE iLang>=0 ORDER BY iLang\x00editdist3\x00DROP TABLE IF EXISTS \"%w\".\"%w_vocab\"\x00CREATE TABLE x(word,rank,distance,langid, score, matchlen, phonehash HIDDEN, top HIDDEN, scope HIDDEN, srchcnt HIDDEN, soundslike HIDDEN, command HIDDEN)\x00CREATE TABLE IF NOT EXISTS \"%w\".\"%w_vocab\"(\n id INTEGER PRIMARY KEY,\n rank INT,\n langid INT,\n word TEXT,\n k1 TEXT,\n k2 TEXT\n);\n\x00CREATE INDEX IF NOT EXISTS \"%w\".\"%w_vocab_index_langid_k2\" ON \"%w_vocab\"(langid,k2);\x00edit_cost_table=\x00bad argument to spellfix1(): \"%s\"\x00SELECT id, word, rank, coalesce(k1,word) FROM \"%w\".\"%w_vocab\" WHERE langid=%d AND k2>=?1 AND k2=%lld\x00AND\x00%z %s rowid<=%lld\x00CREATE TABLE x(value)\x00wholenumber\x00CREATE TABLE y(name PRIMARY KEY,mode,mtime,sz,rawdata,data,method,z HIDDEN) WITHOUT ROWID;\x00zipfile\x00zipfile constructor requires one argument\x00error in fread()\x00error in fwrite()\x00failed to read CDS at offset %lld\x00%.*s\x00failed to read LFH at offset %d\x001.2.11\x00inflateInit2() failed (%d)\x00inflate() failed (%d)\x00zipfile: deflate() error\x00cannot find end of central directory record\x00zipfile() function requires an argument\x00cannot open file: %s\x00-rwxrwxrwx\x00zipfile: mode does not match data\x00zipfile: parse error in mode: %s\x00zipfile: missing filename\x00ab+\x00zipfile: failed to open file %s for writing\x00sz must be NULL\x00rawdata must be NULL\x00unknown compression method: %d\x00%s/\x00duplicate name: \"%s\"\x00{\"version-made-by\" : %u, \"version-to-extract\" : %u, \"flags\" : %u, \"compression\" : %u, \"time\" : %u, \"date\" : %u, \"crc32\" : %u, \"compressed-size\" : %u, \"uncompressed-size\" : %u, \"file-name-length\" : %u, \"extra-field-length\" : %u, \"file-comment-length\" : %u, \"disk-number-start\" : %u, \"internal-attr\" : %u, \"external-attr\" : %u, \"offset\" : %u }\x00zipfile_cds\x00wrong number of arguments to function zipfile()\x00first argument to zipfile() must be non-NULL\x00illegal method value: %d\x00non-directory name must not end with /\x00rbu_delta\x00step\x00close\x00create_rbu_delta\x00savestate\x00dbMain_eval\x00SQL\x00bp_progress\x00db\x00RBU\x00state\x00progress\x00close_no_error\x00temp_size_limit\x00LIMIT\x00temp_size\x00dbRbu_eval\x00METHOD\x00method\x00 - \x00oal\x00move\x00checkpoint\x00done\x00error\x00NAME TARGET-DB RBU-DB ?STATE-DB?\x00NAME TARGET-DB ?STATE-DB?\x00?-default? NAME PARENT\x00NAME\x00sqlite3rbu_db(0, 0)!=0\x00sqlite3rbu\x00sqlite3rbu_vacuum\x00sqlite3rbu_create_vfs\x00sqlite3rbu_destroy_vfs\x00sqlite3rbu_internal_test\x00incrblob\x00incrblob_%d\x00%lld\x00sqlite_unlock_notify_arg\x00sqlite_unlock_notify_argcount\x00DELETE\x00INSERT\x00UPDATE\x00SQLITE_COPY\x00SQLITE_CREATE_INDEX\x00SQLITE_CREATE_TABLE\x00SQLITE_CREATE_TEMP_INDEX\x00SQLITE_CREATE_TEMP_TABLE\x00SQLITE_CREATE_TEMP_TRIGGER\x00SQLITE_CREATE_TEMP_VIEW\x00SQLITE_CREATE_TRIGGER\x00SQLITE_CREATE_VIEW\x00SQLITE_DELETE\x00SQLITE_DROP_INDEX\x00SQLITE_DROP_TABLE\x00SQLITE_DROP_TEMP_INDEX\x00SQLITE_DROP_TEMP_TABLE\x00SQLITE_DROP_TEMP_TRIGGER\x00SQLITE_DROP_TEMP_VIEW\x00SQLITE_DROP_TRIGGER\x00SQLITE_DROP_VIEW\x00SQLITE_INSERT\x00SQLITE_PRAGMA\x00SQLITE_READ\x00SQLITE_SELECT\x00SQLITE_TRANSACTION\x00SQLITE_UPDATE\x00SQLITE_ATTACH\x00SQLITE_DETACH\x00SQLITE_ALTER_TABLE\x00SQLITE_REINDEX\x00SQLITE_ANALYZE\x00SQLITE_CREATE_VTABLE\x00SQLITE_DROP_VTABLE\x00SQLITE_FUNCTION\x00SQLITE_SAVEPOINT\x00SQLITE_RECURSIVE\x00????\x00SQLITE_DENY\x00SQLITE_IGNORE\x00RELEASE _tcl_transaction\x00COMMIT\x00ROLLBACK TO _tcl_transaction ; RELEASE _tcl_transaction\x00option\x00?CALLBACK?\x00?DATABASE? FILENAME\x00cannot open target database: \x00backup failed: \x00CALLBACK\x00cache option ?arg?\x00flush\x00size\x00size n\x00cannot convert \"\x00\" to integer\x00bad option \"\x00\": must be flush or size\x00NAME SCRIPT\x00SCRIPT\x00?OPTION? ?BOOLEAN?\x00unknown config option: \"\x00\"\x00CONFLICT-ALGORITHM TABLE FILENAME ?SEPARATOR? ?NULLINDICATOR?\x00\t\x00Error: non-null separator required for copy\x00rollback\x00abort\x00fail\x00ignore\x00replace\x00Error: \"\x00\", conflict-algorithm must be one of: rollback, abort, fail, ignore, or replace\x00SELECT * FROM '%q'\x00Error: no such table: \x00Error: \x00Error: can't malloc()\x00INSERT OR %q INTO '%q' VALUES(?\x00Error: cannot open file: \x00BEGIN\x00Error: %s line %d: expected %d columns of data but found %d\x00, failed while processing line: \x00?DATABASE? VALUE\x00-maxsize\x00-readonly\x00unknown option: \x00unable to set MEMDB content\x00extension loading is turned off at compile-time\x00-withoutnulls\x00unknown option: \"\x00?OPTIONS? SQL ?ARRAY-NAME? ?SCRIPT?\x00NAME ?SWITCHES? SCRIPT\x00-argcount\x00option requires an argument: \x00number of arguments must be non-negative\x00-deterministic\x00-directonly\x00-innocuous\x00-returntype\x00real\x00text\x00blob\x00any\x00type\x00\": must be -argcount, -deterministic, -directonly, -innocuous, or -returntype\x00?-readonly? ?DB? TABLE COLUMN ROWID\x00NULLVALUE\x00N CALLBACK\x00KEY\x00cannot open source database: \x00restore failed: \x00restore failed: source database busy\x00?DATABASE?\x00(step|sort|autoindex)\x00sort\x00autoindex\x00vmstep\x00bad argument: should be autoindex, step, sort or vmstep\x00MILLISECONDS\x00?CALLBACK? ?MASK?\x00trace type\x00SAVEPOINT _tcl_transaction\x00[TYPE] SCRIPT\x00transaction type\x00BEGIN EXCLUSIVE\x00BEGIN IMMEDIATE\x00?SCRIPT?\x00SUB-COMMAND ?ARGS?\x00hook ?SCRIPT?\x00INDEX\x00-use-legacy-prepare\x00-last-stmt-ptr\x00%p\x00unknown argument: \x00authorizer\x00backup\x00bind_fallback\x00busy\x00cache\x00changes\x00collate\x00collation_needed\x00commit_hook\x00complete\x00config\x00copy\x00deserialize\x00enable_load_extension\x00errorcode\x00exists\x00function\x00interrupt\x00last_insert_rowid\x00nullvalue\x00onecolumn\x00preupdate\x00profile\x00rekey\x00restore\x00rollback_hook\x00serialize\x00status\x00timeout\x00total_changes\x00trace\x00trace_v2\x00transaction\x00unlock_notify\x00update_hook\x00version\x00wal_hook\x00defensive\x00dqs_ddl\x00dqs_dml\x00enable_fkey\x00enable_qpsg\x00enable_trigger\x00enable_view\x00fts3_tokenizer\x00legacy_alter_table\x00legacy_file_format\x00load_extension\x00no_ckpt_on_close\x00reset_database\x00trigger_eqp\x00trusted_schema\x00writable_schema\x00statement\x00row\x00deferred\x00exclusive\x00immediate\x00depth\x00hook\x00new\x00old\x00HANDLE ?FILENAME? ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nofollow BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?\x00-version\x00-sourceid\x00-has-codec\x000\x00-key\x00-vfs\x00-create\x00-nofollow\x00-nomutex\x00-fullmutex\x00-uri\x00-translatefilename\x00sqlite3\x00sqlite\x003.36.0\x00if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewline \"% \"\n}\nflush stdout\nappend line [gets stdin]\nif {[info complete $line]} {\nif {[catch {uplevel #0 $line} result]} {\nputs stderr \"Error: $result\"\n} elseif {$result!=\"\"} {\nputs $result\n}\nset line {}\n} else {\nappend line \\n\n}\n}\n}\n\x00SQLITE_DEBUG_BREAK\x00attach debugger to process %d and press any key to continue.\n\x00utf-8\x00argc\x00argv0\x00argv\x00errorInfo\x00%s: %s\n\x00SQLITE-CONNECTION\x00command not found: \x00error code %s (%d) does not match sqlite3_errcode %s (%d)\x00OMIT_MISUSE\x00wrong # args: should be \"\x00 DB FORMAT STRING\x00 DB HEX\x00 DB\x00 DB SQL\x00%z%s%s\x00%s%n\x00abcdefghijklmnopqrstuvwxyz\x00 DB FORMAT STRING ?COUNT?\x00 DB\"\x00 FILENAME\"\x00%02x\x00%04x\x00tkt2213 is not fixed\x00text16\x00bytes\x00bytes16\x00noop\x00x_coalesce\x00hex8\x00hex16\x00tkt2213func\x00pointer_change\x00counter1\x00counter2\x00intreal\x00x_sqlite_exec\x00value of 40 handed to x_count\x00x_count totals to 42\x00x_count\x00legacy_count\x00 TEXT\"\x00 FORMAT INT INT INT\"\x00argument is not a valid 64-bit integer\x00 FORMAT INT INT ?STRING?\"\x00 INT FORMAT INT INT ?STRING?\"\x00N must be non-negative\x00 FORMAT INT INT DOUBLE\"\x00 FORMAT DOUBLE DOUBLE\"\x00 FORMAT STRING\"\x00%08x%08x\x002nd argument should be 16-characters of hex\x00?BOOLEAN?\x00DB BOOLEAN\x00DB dbname tblname colname\x00CHANNEL ROWID\x00DB-HANDLE NAME CMP-PROC DEL-PROC\x00sqlite3_create_collate_v2() failed to detect an invalid encoding\x00utf8\x00utf16\x00utf16le\x00utf16be\x00DB NAME NARG ENC SWITCHES...\x00encoding\x00-func\x00-step\x00-final\x00-destroy\x00switch\x00DB-HANDLE FILE ?PROC?\x00this build omits sqlite3_load_extension()\x00DB-HANDLE ONOFF\x00string\x00value\x00first argument should be one of: int int64 string double null value\x00 DB FUNCTION-NAME\x00 \x00STMT PARAMETER RESETFLAG\x00SQLITE_STMTSTATUS_FULLSCAN_STEP\x00SQLITE_STMTSTATUS_SORT\x00SQLITE_STMTSTATUS_AUTOINDEX\x00SQLITE_STMTSTATUS_VM_STEP\x00SQLITE_STMTSTATUS_REPREPARE\x00SQLITE_STMTSTATUS_RUN\x00SQLITE_STMTSTATUS_MEMUSED\x00NBYTE\x00DB DBNAME\x00DB DBNAME SNAPSHOT\x00SNAPSHOT\x00SNAPSHOT1 SNAPSHOT2\x00bad SNAPSHOT\x00FILE\x00PATH\x00 DB STMT\x00 STMT\x00 FROM-STMT TO-STMT\x00 VM IDX VALUE (null|static|normal)\"\x00static\x00static-nbytes\x00normal\x00blob10\x00abc\x00xyz\x00pq\x004th argument should be \"null\" or \"static\" or \"normal\"\x00(%d) \x00test_collate\x00UTF-8\x00UTF-16LE\x00UTF-16BE\x00 \x00utf16bin\x00utf16_unaligned\x00utf16_aligned\x00test_function\x00\x00STMT IDX N\x00 STMT N VALUE\x00NaN\x00SNaN\x00-NaN\x00-SNaN\x00+Inf\x00-Inf\x00Epsilon\x00-Epsilon\x00NaN0\x00-NaN0\x00 STMT N\x00 STMT N VALUE BYTES\x00 STMT N DATA BYTES\x00cannot use %d blob bytes, have %d\x00-transient\x00-static\x00-int32\x00-int64\x00-double\x00-text\x00--\x00text data must be either -static or -transient\x00cannot be both -static and -transient\x00[OPTIONS] STMT IDX VALUE ...\x00STMT\x00STMT N\x00STMT NAME\x00 DB sql bytes ?tailvar?\x00 DB sql bytes tailvar\x00 DB sql bytes flags tailvar\x00\x00SELECT 1\x00 filename options-list\x00FILENAME FLAGS VFS\x00SQLITE_OPEN_READONLY\x00SQLITE_OPEN_READWRITE\x00SQLITE_OPEN_CREATE\x00SQLITE_OPEN_DELETEONCLOSE\x00SQLITE_OPEN_EXCLUSIVE\x00SQLITE_OPEN_AUTOPROXY\x00SQLITE_OPEN_MAIN_DB\x00SQLITE_OPEN_TEMP_DB\x00SQLITE_OPEN_TRANSIENT_DB\x00SQLITE_OPEN_MAIN_JOURNAL\x00SQLITE_OPEN_TEMP_JOURNAL\x00SQLITE_OPEN_SUBJOURNAL\x00SQLITE_OPEN_SUPER_JOURNAL\x00SQLITE_OPEN_NOMUTEX\x00SQLITE_OPEN_FULLMUTEX\x00SQLITE_OPEN_SHAREDCACHE\x00SQLITE_OPEN_PRIVATECACHE\x00SQLITE_OPEN_WAL\x00SQLITE_OPEN_URI\x00flag\x00\x00 STMT column\x00FLOAT\x00TEXT\x00BLOB\x00 DB MAGIC\x00SQLITE_MAGIC_OPEN\x00SQLITE_MAGIC_CLOSED\x00SQLITE_MAGIC_BUSY\x00SQLITE_MAGIC_ERROR\x00 DB function-name\x00VARIABLE\x00?N?\x001234567890000000\x00__one\x00__two\x00notadatabase\x00Unexpected non-zero errno: \x00DB [DBNAME]\x00%u\x00DB DBNAME SIZE\x00 DB PWD\x00 DB NRETRY DELAY\x00%d %d %d\x00%d %p\x00 DB HANDLE\x00 DB FLAG\x00%d %d\x00 DB ?AUXDB?\x00DB N\x00 DB ID VALUE\x00unknown limit type: \x00SQLITE_LIMIT_LENGTH\x00SQLITE_LIMIT_SQL_LENGTH\x00SQLITE_LIMIT_COLUMN\x00SQLITE_LIMIT_EXPR_DEPTH\x00SQLITE_LIMIT_COMPOUND_SELECT\x00SQLITE_LIMIT_VDBE_OP\x00SQLITE_LIMIT_FUNCTION_ARG\x00SQLITE_LIMIT_ATTACHED\x00SQLITE_LIMIT_LIKE_PATTERN_LENGTH\x00SQLITE_LIMIT_VARIABLE_NUMBER\x00SQLITE_LIMIT_TRIGGER_DEPTH\x00SQLITE_LIMIT_WORKER_THREADS\x00SQLITE_LIMIT_TOOSMALL\x00SQLITE_LIMIT_TOOBIG\x00SEED ?DB?\x00BOOLEAN\x00current\x00max\x00min\x00recyclable\x00DB ?NAME?\x00passive\x00full\x00restart\x00truncate\x00DB MODE ?NAME?\x00mode\x00DB VALUE\x00COMMAND ...\x00command has no objProc: \x00%d %d %d %s\n\x00SQLITE_TESTCTRL_LOCALTIME_FAULT\x00SQLITE_TESTCTRL_SORTER_MMAP\x00SQLITE_TESTCTRL_IMPOSTER\x00SQLITE_TESTCTRL_INTERNAL_FUNCTIONS\x00VERB ARGS...\x00VERB\x00ONOFF\x00DB LIMIT\x00DB dbName onOff tnum\x00FILENAME DELAY1 DELAY2\x00%d %d %d %d %d\x00cannot open file: \x00cannot create event: \x000x%x\x00wait failed: \x00win32_file_lock\x00PATTERN\x00FILENAME\x00DIRECTORY\x00DB OPT BOOLEAN\x00unknown optimization - should be one of:\x00all\x00none\x00query-flattener\x00groupby-order\x00factor-constants\x00distinct-opt\x00cover-idx-scan\x00order-by-idx-join\x00transitive\x00omit-noop-join\x00stat4\x00skip-scan\x00push-down\x00DB NAME ...\x00no such extension: \x00initialization of \x00 failed: \x00amatch\x00appendvfs\x00closure\x00fileio\x00nextchar\x00series\x00spellfix\x00totype\x00BOOL\x00DB SQL1 NSTEP SQL2\x00data error: (a!=b)\x00checksum mismatch\x00sql error: \x00TYPE\x00Deliberate panic\x00DB SETTING [VALUE]\x00SQLITE_*\x00DBCONFIG_*\x00ENABLE_*\x00unknown sqlite3_db_config setting\x00FKEY\x00TRIGGER\x00FTS3_TOKENIZER\x00LOAD_EXTENSION\x00NO_CKPT_ON_CLOSE\x00QPSG\x00TRIGGER_EQP\x00RESET_DB\x00DEFENSIVE\x00WRITABLE_SCHEMA\x00LEGACY_ALTER_TABLE\x00DQS_DML\x00DQS_DDL\x00LEGACY_FILE_FORMAT\x00DB ?SCHEMA?\x00icecube\x00DB ?DBNAME?\x00DB OFFSET DATA\x00HEXDB\x00| size %d pagesize %d\x00bad 'pagesize' field\x00bad 'size' field\x00| page %d offset %d\x00| %d: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\x00sqlite_search_count\x00sqlite_found_count\x00sqlite_sort_count\x00sqlite3_max_blobsize\x00sqlite_like_count\x00sqlite_interrupt_count\x00sqlite_open_file_count\x00sqlite_current_time\x00sqlite3_xferopt_count\x00sqlite3_pager_readdb_count\x00sqlite3_pager_writedb_count\x00sqlite3_pager_writej_count\x00unaligned_string_counter\x00sqlite_last_needed_collation\x00sqlite_os_type\x00sqlite_query_plan\x00sqlite_opentemp_count\x00sqlite_static_bind_value\x00sqlite_static_bind_nbyte\x00sqlite_temp_directory\x00sqlite_data_directory\x00bitmask_size\x00longdouble_size\x00sqlite_sync_count\x00sqlite_fullsync_count\x00db_enter\x00db_leave\x00sqlite3_mprintf_int\x00sqlite3_mprintf_int64\x00sqlite3_mprintf_long\x00sqlite3_mprintf_str\x00sqlite3_snprintf_str\x00sqlite3_mprintf_stronly\x00sqlite3_mprintf_double\x00sqlite3_mprintf_scaled\x00sqlite3_mprintf_hexdouble\x00sqlite3_mprintf_z_test\x00sqlite3_mprintf_n_test\x00sqlite3_snprintf_int\x00sqlite3_last_insert_rowid\x00sqlite3_exec_printf\x00sqlite3_exec_hex\x00sqlite3_exec\x00sqlite3_exec_nr\x00sqlite3_get_table_printf\x00sqlite3_close\x00sqlite3_close_v2\x00sqlite3_create_function\x00sqlite3_create_aggregate\x00sqlite3_drop_modules\x00sqlite_register_test_function\x00sqlite_abort\x00sqlite_bind\x00breakpoint\x00sqlite3_key\x00sqlite3_rekey\x00sqlite_set_magic\x00sqlite3_interrupt\x00sqlite_delete_function\x00sqlite_delete_collation\x00sqlite3_get_autocommit\x00sqlite3_busy_timeout\x00printf\x00sqlite3IoTrace\x00clang_sanitize_address\x00sqlite3_db_config\x00sqlite3_txn_state\x00bad_behavior\x00register_dbstat_vtab\x00sqlite3_connection_pointer\x00intarray_addr\x00int64array_addr\x00doublearray_addr\x00textarray_addr\x00sqlite3_bind_int\x00sqlite3_bind_zeroblob\x00sqlite3_bind_zeroblob64\x00sqlite3_bind_int64\x00sqlite3_bind_double\x00sqlite3_bind_null\x00sqlite3_bind_text\x00sqlite3_bind_text16\x00sqlite3_bind_blob\x00sqlite3_carray_bind\x00sqlite3_bind_parameter_count\x00sqlite3_bind_parameter_name\x00sqlite3_bind_parameter_index\x00sqlite3_clear_bindings\x00sqlite3_sleep\x00sqlite3_errcode\x00sqlite3_extended_errcode\x00sqlite3_errmsg\x00sqlite3_errmsg16\x00sqlite3_open\x00sqlite3_open16\x00sqlite3_open_v2\x00sqlite3_complete16\x00sqlite3_normalize\x00sqlite3_prepare\x00sqlite3_prepare16\x00sqlite3_prepare_v2\x00sqlite3_prepare_v3\x00sqlite3_prepare_tkt3134\x00sqlite3_prepare16_v2\x00sqlite3_finalize\x00sqlite3_stmt_status\x00sqlite3_reset\x00sqlite3_expired\x00sqlite3_transfer_bindings\x00sqlite3_changes\x00sqlite3_step\x00sqlite3_sql\x00sqlite3_expanded_sql\x00sqlite3_next_stmt\x00sqlite3_stmt_readonly\x00sqlite3_stmt_isexplain\x00sqlite3_stmt_busy\x00uses_stmt_journal\x00sqlite3_release_memory\x00sqlite3_db_release_memory\x00sqlite3_db_cacheflush\x00sqlite3_system_errno\x00sqlite3_db_filename\x00sqlite3_db_readonly\x00sqlite3_soft_heap_limit\x00sqlite3_soft_heap_limit64\x00sqlite3_hard_heap_limit64\x00sqlite3_thread_cleanup\x00sqlite3_pager_refcounts\x00sqlite3_load_extension\x00sqlite3_enable_load_extension\x00sqlite3_extended_result_codes\x00sqlite3_limit\x00dbconfig_maindbname_icecube\x00save_prng_state\x00restore_prng_state\x00reset_prng_state\x00prng_seed\x00extra_schema_checks\x00database_never_corrupt\x00database_may_be_corrupt\x00optimization_control\x00lock_win32_file\x00exists_win32_path\x00find_win32_file\x00delete_win32_file\x00make_win32_dir\x00remove_win32_dir\x00tcl_objproc\x00sqlite3_column_count\x00sqlite3_data_count\x00sqlite3_column_type\x00sqlite3_column_blob\x00sqlite3_column_double\x00sqlite3_column_int64\x00sqlite3_column_text\x00sqlite3_column_name\x00sqlite3_column_int\x00sqlite3_column_bytes\x00sqlite3_column_decltype\x00sqlite3_column_database_name\x00sqlite3_column_table_name\x00sqlite3_column_origin_name\x00sqlite3_column_bytes16\x00sqlite3_column_text16\x00sqlite3_column_name16\x00add_alignment_test_collations\x00sqlite3_column_decltype16\x00sqlite3_column_database_name16\x00sqlite3_column_table_name16\x00sqlite3_column_origin_name16\x00sqlite3_create_collation_v2\x00sqlite3_global_recover\x00working_64bit_int\x00vfs_unlink_test\x00vfs_initfail_test\x00vfs_unregister_all\x00vfs_reregister_all\x00file_control_test\x00file_control_lasterrno_test\x00file_control_lockproxy_test\x00file_control_chunksize_test\x00file_control_sizehint_test\x00file_control_data_version\x00file_control_win32_av_retry\x00file_control_win32_get_handle\x00file_control_win32_set_handle\x00file_control_persist_wal\x00file_control_powersafe_overwrite\x00file_control_vfsname\x00file_control_reservebytes\x00file_control_tempfilename\x00file_control_external_reader\x00sqlite3_vfs_list\x00sqlite3_create_function_v2\x00add_test_collate\x00add_test_collate_needed\x00add_test_function\x00add_test_utf16bin_collate\x00sqlite3_test_errstr\x00tcl_variable_type\x00sqlite3_enable_shared_cache\x00sqlite3_shared_cache_report\x00sqlite3_libversion_number\x00sqlite3_table_column_metadata\x00sqlite3_blob_reopen\x00pcache_stats\x00sqlite3_unlock_notify\x00sqlite3_wal_checkpoint\x00sqlite3_wal_checkpoint_v2\x00sqlite3_wal_autocheckpoint\x00test_sqlite3_log\x00print_explain_query_plan\x00sqlite3_test_control\x00load_static_extension\x00sorter_test_fakeheap\x00sorter_test_sort4_helper\x00vfs_current_time_int64\x00sqlite3_snapshot_get\x00sqlite3_snapshot_open\x00sqlite3_snapshot_free\x00sqlite3_snapshot_cmp\x00sqlite3_snapshot_recover\x00sqlite3_snapshot_get_blob\x00sqlite3_snapshot_open_blob\x00sqlite3_snapshot_cmp_blob\x00sqlite3_delete_database\x00atomic_batch_write\x00sqlite3_mmap_warm\x00sqlite3_config_sorterref\x00decode_hexdb\x00test_write_db\x00sqlite3_register_cksumvfs\x00sqlite3_unregister_cksumvfs\x00*** OBSOLETE VARIABLE ***\x00 FILENAME N-PAGE\"\x00 ID\"\x00ref\x00page\x00err\x00hit\x00miss\x00ovfl\x00 ID PGNO\"\x00 PAGE\"\x00 PAGE DATA\"\x00 N-MEGABYTES FILE\"\x00open failed: \x00Hello, World!\x00write failed: \x00 PENDING-BYTE\"\x00fault simulator script failed: [%s]\x00 SCRIPT\"\x00 SIZE PROGRAM\"\x00sqlite_io_error_pending\x00sqlite_io_error_persist\x00sqlite_io_error_hit\x00sqlite_io_error_hardhit\x00sqlite_diskfull_pending\x00sqlite_diskfull\x00sqlite_pending_byte\x00pager_open\x00pager_close\x00pager_commit\x00pager_rollback\x00pager_stmt_begin\x00pager_stmt_commit\x00pager_stmt_rollback\x00pager_stats\x00pager_pagecount\x00page_get\x00page_lookup\x00page_unref\x00page_read\x00page_write\x00page_number\x00pager_truncate\x00fake_big_file\x00sqlite3BitvecBuiltinTest\x00sqlite3_test_control_pending_byte\x00sqlite3_test_control_fault_install\x00 FILENAME NCACHE FLAGS\"\x00read\x00write\x00 ID TABLENUM WRITEABLE\"\x00 START MULTIPLIER COUNT INCREMENT\"\x00putVarint returned %d - should be between 1 and 9\x00putVarint returned %d and getVarint returned %d\x00Wrote 0x%016llx and got back 0x%016llx\x00putVarint returned %d and GetVarint32 returned %d\x00Wrote 0x%016llx and got back 0x%016llx from GetVarint32\x00 DB-HANDLE ?N?\"\x00No such db-handle: \"\x00 BT NCACHE\"\x00?-intkey? CSR KEY VALUE\x00btree_insert\x00btree_open\x00btree_close\x00btree_begin_transaction\x00btree_pager_stats\x00btree_cursor\x00btree_close_cursor\x00btree_next\x00btree_eof\x00btree_payload_size\x00btree_first\x00btree_varint_test\x00btree_from_db\x00btree_ismemdb\x00btree_set_cache_size\x00 \x00hello world\x00UTF8\x00UTF16LE\x00UTF16BE\x00UTF16\x00No such encoding: \x00 \x00binarize\x00test_value_overhead\x00test_translate\x00translate_selftest\x00out of memory in the crash simulator\n\x00atomic\x00atomic512\x00atomic1k\x00atomic2k\x00atomic4k\x00atomic8k\x00atomic16k\x00atomic32k\x00atomic64k\x00sequential\x00safe_append\x00powersafe_overwrite\x00batch-atomic\x00-sectorsize\x00-characteristics\x00Bad option: \"\x00\" - must be \"-characteristics\" or \"-sectorsize\"\x00Option requires an argument: \"\x00no such flag\x00ENABLE ?DEFAULT?\x00crash\x00?OPTIONS? DELAY CRASHFILE\x00Filename is too long: \"\x00NWRITE\x00?-default? PARENT-VFS\x00-default\x00\": must be -default\x00Error in jt_register\x00sqlite3_crash_enable\x00sqlite3_crashparams\x00sqlite3_crash_now\x00sqlite3_simulate_device\x00sqlite3_crash_on_write\x00unregister_devsim\x00register_jt_vfs\x00unregister_jt_vfs\x00echo_module_fail(%s,%s)\x00echo-vtab-error: %s\x00SELECT * FROM %Q\x00PRAGMA index_list(%s)\x00PRAGMA index_info(%s)\x00echo_module\x00SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = ?\x00%s%s\x00xCreate\x00CREATE TABLE %Q(logmsg)\x00xConnect\x00xDisconnect\x00xDestroy\x00DROP TABLE %Q\x00xOpen\x00xNext\x00xColumn\x00xFilter\x00, *\x00%z, %s\x00%z, NULL\x00echo_module_ignore_usable\x00xBestIndex\x00echo_module_cost\x00SELECT count(*) FROM %Q\x00SELECT rowid%z FROM %Q\x00rowid\x00=\x00<\x00>\x00<=\x00>=\x00LIKE\x00like\x00glob\x00 %s %s LIKE (SELECT '%%'||?||'%%')\x00 %s %s %s ?\x00DESC\x00ASC\x00 ORDER BY %s %s\x00xUpdate\x00 SET\x00UPDATE %Q\x00 SET rowid=?1 \x00%s %Q=?%d\x00 WHERE rowid=?%d\x00DELETE FROM %Q WHERE rowid = ?1\x00INSERT INTO %Q (\x00%s%Q\x00%s?%d\x00) VALUES(\x00echo(%s)\x00xBegin\x00echo_module_begin_fail\x00xSync\x00echo_module_sync_fail\x00xCommit\x00xRollback\x00::echo_glob_overload\x00xRename\x00ALTER TABLE %s RENAME TO %s%s\x00function_that_does_not_exist_0982ma98\x00echo\x00echo_v2\x00DB SQL\x00register_echo_module\x00sqlite3_declare_vtab\x00N/A\x00sqlite3_create_collation\x00Error testing function: \x00sqlite3_malloc\x00sqlite3_realloc\x00c_misuse_test\x00c_realloc_test\x00c_collation_test\x00sqlite3_reset_auto_extension\x00npage\x00finish\x00remaining\x00pagecount\x00CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME\x00sqlite3_backup_init() failed\x00sqlite3_backup\x00wrong number of arguments\x00unexpected: %s\x00eq\x00gt\x00le\x00lt\x00ge\x00match\x00ne\x00isnot\x00isnotnull\x00isnull\x00op\x00column\x00usable\x00desc\x00cost\x00orderby\x00idxnum\x00idxstr\x00rows\x00use\x00omit\x00unexpected: %d\x00tcl\x00register_tcl_module\x00incrblob_\x00DB DATABASE TABLE COLUMN ROWID FLAGS VARNAME\x00HANDLE\x00CHANNEL OFFSET N\x00out of memory in testdata/sqlite-src-3360000/src/test_blob.c\x00HANDLE OFFSET DATA ?NDATA?\x00sqlite3_blob_open\x00sqlite3_blob_close\x00sqlite3_blob_bytes\x00sqlite3_blob_read\x00sqlite3_blob_write\x00sqlite_options\x00malloc_usable_size\x00rowid32\x00casesensitivelike\x00configslower\x001.0\x00curdir\x001\x00win32malloc\x00debug\x00default_ckptfullfsync\x00direct_read\x00dirsync\x00lfs\x00pagecache_overflow_stats\x00mmap\x00worker_threads\x008\x00memdebug\x008_3_names\x00cursorhints\x00hiddencolumns\x00mathlib\x00mem3\x00mem5\x00offset_sql_func\x00snapshot\x00mutex\x00mutex_noop\x00altertable\x00api_armor\x00atomicwrite\x00geopoly\x00json1\x00has_codec\x00like_match_blobs\x00attach\x00auth\x00autoinc\x00autoreset\x00autovacuum\x00default_autovacuum\x00between_opt\x00builtin_test\x00bloblit\x00cast\x00check\x00cte\x00columnmetadata\x00oversize_cell_check\x00compileoption_diags\x00compound\x00conflict\x00crashtest\x00datetime\x00decltype\x00deprecated\x00diskio\x00floatingpoint\x00foreignkey\x00fts1\x00fts2\x00fts3\x00fts5\x00fts3_unicode\x00fts4_deferred\x00gettable\x00icu\x00icu_collations\x00integrityck\x00legacyformat\x00like_opt\x00load_ext\x00localtime\x00lookaside\x00long_double\x00memorydb\x00memorymanage\x00mergesort\x00null_trim\x00or_opt\x00rbu\x00pager_pragmas\x00pragma\x00reindex\x00rtree\x00rtree_int_only\x00schema_pragmas\x00schema_version\x00session\x00stmtvtab\x00scanstatus\x00lock_proxy_pragmas\x00prefer_proxy_locking\x00shared_cache\x00subquery\x00tclvar\x00threadsafe\x00threadsafe1\x00threadsafe2\x00tempdb\x00trigger\x00truncate_opt\x00vacuum\x00view\x00vtab\x00wal\x00wsd\x00update_delete_limit\x00fast_secure_delete\x00secure_delete\x00userauth\x00multiplex_ext_overwrite\x00yytrackmaxstackdepth\x00sqllog\x00uri_00_error\x00normalize\x00windowfunc\x00SQLITE_MAX_LENGTH\x00SQLITE_MAX_COLUMN\x00SQLITE_MAX_SQL_LENGTH\x00SQLITE_MAX_EXPR_DEPTH\x00SQLITE_MAX_COMPOUND_SELECT\x00SQLITE_MAX_VDBE_OP\x00SQLITE_MAX_FUNCTION_ARG\x00SQLITE_MAX_VARIABLE_NUMBER\x00SQLITE_MAX_PAGE_SIZE\x00SQLITE_MAX_PAGE_COUNT\x00SQLITE_MAX_LIKE_PATTERN_LENGTH\x00SQLITE_MAX_TRIGGER_DEPTH\x00SQLITE_DEFAULT_CACHE_SIZE\x00SQLITE_DEFAULT_PAGE_SIZE\x00SQLITE_DEFAULT_FILE_FORMAT\x00SQLITE_DEFAULT_SYNCHRONOUS\x00SQLITE_DEFAULT_WAL_SYNCHRONOUS\x00SQLITE_MAX_ATTACHED\x00SQLITE_MAX_DEFAULT_PAGE_SIZE\x00SQLITE_MAX_WORKER_THREADS\x00TEMP_STORE\x00_MSC_VER\x00__GNUC__\x00%s-journal\x00%s-wal\x00%s-shm\x00%s%03d\x00%s-journal%03d\x00%s-wal%03d\x00win32\x00devsym\x00writecrash\x00CREATE TABLE xyz(dir, name);\x00CREATE TABLE xyz(path, size, data);\x00WITH r(d) AS ( SELECT CASE WHEN dir=?2 THEN ?3 ELSE dir END || '/' || name FROM fsdir WHERE dir=?1 AND name NOT LIKE '.%' UNION ALL SELECT dir || '/' || name FROM r, fsdir WHERE dir=d AND name NOT LIKE '.%') SELECT d FROM r;\x00fstreeDrive\x00SystemDrive\x00%s%c\x00CREATE TABLE x(path TEXT, data TEXT)\x00SELECT * FROM %Q.%Q WHERE rowid=?\x00fs\x00fstree\x00register_fs_module\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-!,:*^+=_|?/<> \x00sqlite3_prepare_v2() error: %s\x000123456789abcdef\x00x'\x00test_agg_errmsg16\x00randstr\x00test_destructor\x00test_destructor16\x00hex_to_utf16be\x00hex_to_utf16le\x00hex_to_utf8\x00test_destructor_count\x00test_auxdata\x00test_error\x00test_eval\x00test_isolation\x00test_counter\x00real2hex\x00test_decode\x00test_extract\x00test_zeroblob\x00test_getsubtype\x00test_setsubtype\x00test_frombind\x00tx\x00funcxx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00nullx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00sqlite3_create_function abused test failed\x00invalid matchinfo blob passed to function rank()\x00wrong number of arguments to function rank()\x00rank\x00autoinstall_test_functions\x00abuse_create_function\x00install_fts3_rank_function\x000123456789ABCDEF\x00FILENAME OFFSET AMT\x00r\x00cannot open input file \x00FILENAME OFFSET HEXDATA\x00r+b\x00r+\x00cannot open output file \x00HEXDATA\x00[utf8_to_utf8] unavailable - SQLITE_DEBUG not defined\x00BLOB VARNAME\x00LIST\x00hexio_read\x00hexio_write\x00hexio_get_int\x00hexio_render_int16\x00hexio_render_int32\x00utf8_to_utf8\x00read_fts3varint\x00make_fts3record\x00mem\x00pcache\x00Unknown argument: \"\x00init_wrapper_install\x00init_wrapper_query\x00init_wrapper_uninstall\x00init_wrapper_clear\x00CREATE TABLE x(value INTEGER PRIMARY KEY)\x00CREATE VIRTUAL TABLE temp.%Q USING %Q\x00INTARRAY\x00SQLITE_NOMEM\x00sqlite3_intarray_create\x00sqlite3_intarray_bind\x00jt\x00-journal\x00NBYTES\x00PRIOR NBYTES\x00bad pointer: \x00PRIOR\x00ADDRESS SIZE HEX\x00size must be positive\x00no data\x00ADDRESS SIZE\x00?RESET?\x00DEPT\x00COUNTER ?OPTIONS?\x00-repeat\x00-benigncnt\x00TITLE\x00SUB-COMMAND ...\x00start\x00stop\x00dump\x00clear\x00sync\x00SIZE N\x00INSTALLFLAG DISCARDCHANCE PRNGSEEED HIGHSTRESS\x00discard-chance should be between 0 and 100\x00SIZE COUNT\x00BUFID SIZE COUNT\x00illegal arguments - see documentation\x00NBYTE NMINALLOC\x00[DB]\x00sqlite3_db_config(db, 99999) does not return SQLITE_ERROR\x00sqlite3_config(99999) does not return SQLITE_ERROR\x00PARAMETER RESETFLAG\x00SQLITE_STATUS_MEMORY_USED\x00SQLITE_STATUS_MALLOC_SIZE\x00SQLITE_STATUS_PAGECACHE_USED\x00SQLITE_STATUS_PAGECACHE_OVERFLOW\x00SQLITE_STATUS_PAGECACHE_SIZE\x00SQLITE_STATUS_SCRATCH_USED\x00SQLITE_STATUS_SCRATCH_OVERFLOW\x00SQLITE_STATUS_SCRATCH_SIZE\x00SQLITE_STATUS_PARSER_STACK\x00SQLITE_STATUS_MALLOC_COUNT\x00DB PARAMETER RESETFLAG\x00SQLITE_\x00DBSTATUS_\x00LOOKASIDE_USED\x00CACHE_USED\x00SCHEMA_USED\x00STMT_USED\x00LOOKASIDE_HIT\x00LOOKASIDE_MISS_SIZE\x00LOOKASIDE_MISS_FULL\x00CACHE_HIT\x00CACHE_MISS\x00CACHE_WRITE\x00DEFERRED_FKS\x00CACHE_USED_SHARED\x00CACHE_SPILL\x00?INTEGER?\x00sqlite3_free\x00memset\x00memget\x00sqlite3_memory_used\x00sqlite3_memory_highwater\x00sqlite3_memdebug_backtrace\x00sqlite3_memdebug_dump\x00sqlite3_memdebug_fail\x00sqlite3_memdebug_pending\x00sqlite3_memdebug_settitle\x00sqlite3_memdebug_malloc_count\x00sqlite3_memdebug_log\x00sqlite3_config_pagecache\x00sqlite3_config_alt_pcache\x00sqlite3_status\x00sqlite3_db_status\x00install_malloc_faultsim\x00sqlite3_config_heap\x00sqlite3_config_heap_size\x00sqlite3_config_memstatus\x00sqlite3_config_lookaside\x00sqlite3_config_error\x00sqlite3_config_uri\x00sqlite3_config_cis\x00sqlite3_config_pmasz\x00sqlite3_db_config_lookaside\x00sqlite3_dump_memsys3\x00sqlite3_dump_memsys5\x00sqlite3_install_memsys3\x00sqlite3_memdebug_vfs_oom_test\x00%05u\x00 FILENAME [OFFSET AMT]\"\x00unable to open file \"\x00\" for reading\x00md5\x00md5-10x8\x00md5file\x00md5file-10x8\x00md5sum\x00%03d\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_control\x00chunksize\x00multiplex_truncate\x00multiplex/%z\x00multiplex\x00NAME MAKEDEFAULT\x00-force\x00?-force?\x00enable\x00chunk_size\x00max_chunks\x00HANDLE DBNAME SUB-COMMAND INT-VALUE\x00expected database handle, got \"\x00sqlite3_multiplex_initialize\x00sqlite3_multiplex_shutdown\x00sqlite3_multiplex_control\x00fast\x00recursive\x00static_main\x00static_mem\x00static_open\x00static_prng\x00static_lru\x00static_pmem\x00static_app1\x00static_app2\x00static_app3\x00static_vfs1\x00static_vfs2\x00static_vfs3\x00mutex counters are \x00already installed\x00not installed\x00singlethread\x00multithread\x00serialized\x00mutex name\x00disable_mutex_init\x00disable_mutex_try\x00sqlite3_shutdown\x00sqlite3_initialize\x00sqlite3_config\x00enter_static_mutex\x00leave_static_mutex\x00enter_db_mutex\x00leave_db_mutex\x00alloc_dealloc_mutex\x00install_mutex_counters\x00read_mutex_counters\x00clear_mutex_counters\x00\x00\x00\x00\x00\x00\x00\x00vfslog/%z\x00sqlite_ostrace1.....\x00xClose\x00xRead\x00xWrite\x00xTruncate\x00xFilesize\x00xLock\x00xUnlock\x00xCheckResLock\x00xFileControl\x00xSectorSize\x00xDeviceChar\x00xDelete\x00xAccess\x00xFullPathname\x00xRandomness\x00xSleep\x00xCurrentTime\x00xShmUnmap\x00xShmLock\x00xShmBarrier\x00xShmMap\x00annotation\x00CREATE TABLE xxx(event, file, click, rc, size, offset)\x00vfslog\x00VFS\x00failed\x00VFS PARENT LOGFILE\x00bad sqlite3 handle: \x00annotate\x00finalize\x00register\x00quota/%z\x00quota\x00::piLimit_\x00PATTERN LIMIT SCRIPT\x00FILENAME MODE\x00HANDLE SIZE NELEM\x00HANDLE SIZE NELEM CONTENT\x00HANDLE ?HARDSYNC?\x00HANDLE OFFSET WHENCE\x00SEEK_SET\x00SEEK_CUR\x00SEEK_END\x00WHENCE should be SEEK_SET, SEEK_CUR, or SEEK_END\x00HANDLE SIZE\x00PATTERN TEXT\x00sqlite3_quota_initialize\x00sqlite3_quota_shutdown\x00sqlite3_quota_set\x00sqlite3_quota_file\x00sqlite3_quota_dump\x00sqlite3_quota_fopen\x00sqlite3_quota_fread\x00sqlite3_quota_fwrite\x00sqlite3_quota_fclose\x00sqlite3_quota_fflush\x00sqlite3_quota_fseek\x00sqlite3_quota_rewind\x00sqlite3_quota_ftell\x00sqlite3_quota_ftruncate\x00sqlite3_quota_file_size\x00sqlite3_quota_file_truesize\x00sqlite3_quota_file_mtime\x00sqlite3_quota_remove\x00sqlite3_quota_glob\x00sqlite3_quota_file_available\x00sqlite3_quota_ferror\x00cube\x00circle\x00Qcircle\x00breadthfirstsearch\x00register_cube_geom\x00register_circle_geom\x00CREATE TABLE x(database,tablename,cid,name,type,not_null,dflt_value,pk)\x00SELECT name FROM sqlite_temp_schema WHERE type='table'\x00SELECT name FROM %Q.sqlite_schema WHERE type='table'\x00PRAGMA %Q.table_info(%Q)\x00PRAGMA database_list\x00register_schema_module\x00PRAGMA main.journal_mode\x00CMDNAME PATH ?VFS? ?BUSY-HANDLER-SCRIPT?\x00sqlite3demo_superlock\x00load_testfixture_extensions\x00SLAVE\x00CREATE TABLE x( name TEXT, arrayname TEXT, value TEXT, fullname TEXT PRIMARY KEY) WITHOUT ROWID\x00array names\x00tclvar_filter_cmd\x00%s(%s)\x00expr {[info exists ::tclvar_set_omit] && $::tclvar_set_omit}\x00the 'fullname' column must be TEXT\x00prohibited TCL variable change\x00proc like {pattern str} {\n set p [string map {% * _ ?} $pattern]\n string match $p $str\n}\nproc tclvar_filter_cmd {eq match glob regexp like} {\n set res {}\n set pattern $eq\n if {$pattern=={}} { set pattern $match }\n if {$pattern=={}} { set pattern * }\n foreach v [uplevel #0 info vars $pattern] {\n if {($glob=={} || [string match $glob [uplevel #0 set $v]])\n && ($like=={} || [like $like [uplevel #0 set $v]])\n && ($regexp=={} || [regexp $regexp [uplevel #0 set $v]])\n } {\n lappend res $v\n }\n }\n set res\n}\n\x00register_tclvar_module\x00clock_seconds\x00sqlthread\x00set\x00Error in Tcl_CreateThread()\x00no parent thread\x00parent\x00spawn\x00VARNAME SCRIPT\x00open\x00DBNAME\x00id\x00SQLITE_IOERR\x00SQLITE_LOCKED\x00SQLITE_BUSY\x00SQLITE_READONLY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_NOTFOUND\x00SQLITE_OMIT\x00normal|dataonly\x00full|dataonly\x00xCheckReservedLock\x00BEGIN_ATOMIC_WRITE\x00COMMIT_ATOMIC_WRITE\x00ZIPVFS\x00anon\x00SQLITE_ACCESS_EXISTS\x00SQLITE_ACCESS_READWRITE\x00SQLITE_ACCESS_READ\x00xShmOpen\x00 lock\x00 unlock\x00 shared\x00 exclusive\x00shm\x00delete\x00filter\x00ioerr\x00fullerr\x00cantopenerr\x00script\x00devchar\x00sectorsize\x00subcommand\x00FILE ?VALUE?\x00failed to get full path: \x00no such file: \x00unknown method: \x00?CNT PERSIST?\x00default\x00undeletable_when_open\x00immutable\x00?ATTR-LIST?\x00bad flags: \x00?VALUE?\x00-noshm\x00-szosfile\x00-mxpathname\x00-iversion\x00-fullshm\x00VFSNAME ?-noshm BOOL? ?-fullshm BOOL? ?-default BOOL? ?-mxpathname INT? ?-szosfile INT? ?-iversion INT?\x00shared\x00lock\x00unlock\x00DB DBNAME (shared|exclusive) (lock|unlock) OFFSET N\x00ARG\x00DB DBNAME SLOT ?VALUE?\x00*-shm is not yet mapped\x00testvfs\x00vfs_shmlock\x00vfs_set_readmark\x00/\x00%s\\*\x00DB NAME XSTEP XFINAL XVALUE XINVERSE\x00fff\x00misuse test error\x00invalid argument\x00sumint\x00sum\x00sqlite3_create_window_function\x00test_create_window_function_misuse\x00test_create_sumint\x00test_override_sum\x00" +var ts1 = "%s\x00internal error!\x00SELECT * FROM main.%Q WHERE sample()\x00expert\x00PRAGMA table_xinfo=%Q\x00main\x00, \x00%Q\x00 COLLATE %Q\x00 COLLATE %s\x00 DESC\x00PRAGMA index_list=%Q\x00PRAGMA index_xInfo=%Q\x00%s_idx_%08x\x00CREATE INDEX '%q' ON %Q(%s)\x00CREATE INDEX %s ON %s(%s)\x00EXPLAIN QUERY PLAN %s\x00 USING INDEX \x00 USING COVERING INDEX \x00%s\n\x00%s;\n\x00SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_schema WHERE tbl_name = %Q AND type IN ('table', 'trigger') ORDER BY type;\x00ALTER TABLE temp.%Q RENAME TO %Q\x00INSERT INTO %Q VALUES(\x00%s?\x00\x00)\x00UPDATE %Q SET \x00%s%Q=?\x00DELETE FROM %Q\x00t592690916721053953805701627921227776\x00DROP TABLE t592690916721053953805701627921227776\x00SELECT type, name, sql, 1 FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%' UNION ALL SELECT type, name, sql, 2 FROM sqlite_schema WHERE type = 'trigger' AND tbl_name IN(SELECT name FROM sqlite_schema WHERE type = 'view') ORDER BY 4, 1\x00CREATE TABLE x(\x00%s%Q COLLATE %s\x00CREATE VIRTUAL TABLE %Q USING expert(%Q)\x00SELECT max(i.seqno) FROM sqlite_schema AS s, pragma_index_list(s.name) AS l, pragma_index_info(l.name) AS i WHERE s.type = 'table'\x00%sx.%Q IS rem(%d, x.%Q) COLLATE %s\x00%s%d\x00SELECT %s FROM %Q x ORDER BY %s\x00SELECT %s FROM temp.t592690916721053953805701627921227776 x ORDER BY %s\x00%d\x00 %d\x00DROP TABLE IF EXISTS temp.t592690916721053953805701627921227776\x00CREATE TABLE temp.t592690916721053953805701627921227776 AS SELECT * FROM %Q\x00SELECT s.rowid, s.name, l.name FROM sqlite_schema AS s, pragma_index_list(s.name) AS l WHERE s.type = 'table'\x00SELECT name, coll FROM pragma_index_xinfo(?) WHERE key\x00INSERT INTO sqlite_stat1 VALUES(?, ?, ?)\x00ANALYZE; PRAGMA writable_schema=1\x00rem\x00sample\x00ANALYZE sqlite_schema\x00:memory:\x00SELECT sql FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%%' AND sql NOT LIKE 'CREATE VIRTUAL %%'\x00%s;%s%s\n\x00 -- stat1: \x00no such handle: \x00sql\x00TABLE\x00analyze\x00count\x00report\x00STMT EREPORT\x00destroy\x00SUBCOMMAND ...\x00sub-command\x00indexes\x00plan\x00candidates\x00DB\x00sqlite3expert%d\x00out of memory\x00sqlite3_expert_new\x00SQLITE_DONE\x00SQLITE_ERROR\x00SQLITE_OK\x00SELECT fts5(?1)\x00error: \x00fts5_api_ptr\x00f5t_2_%lld\x00xColumnCount\x00xRowCount\x00xColumnTotalSize\x00COL\x00xTokenize\x00TEXT SCRIPT\x00xPhraseCount\x00xPhraseSize\x00PHRASE\x00xInstCount\x00xInst\x00IDX\x00xRowid\x00xColumnText\x00xColumnSize\x00xQueryPhrase\x00PHRASE SCRIPT\x00xSetAuxdata\x00VALUE\x00xGetAuxdata\x00CLEAR\x00xSetAuxdataInt\x00INTEGER\x00xGetAuxdataInt\x00xPhraseForeach\x00IPHRASE COLVAR OFFVAR SCRIPT\x00xPhraseColumnForeach\x00IPHRASE COLVAR SCRIPT\x00SUB-COMMAND\x00f5t_%lld\x00bytearray\x00boolean\x00double\x00wideInt\x00int\x00DB NAME SCRIPT\x00?-subst? DB NAME TEXT\x00-subst\x00unrecognized option: \x00no such tokenizer: \x00error in tokenizer.xCreate()\x00error in tokenizer.xTokenize()\x00document\x00aux\x00query\x00prefixquery\x00invalid\x00-colocated\x00sqlite3_fts5_token may only be used by tokenizer callback\x00?-colocated? TEXT START END\x00error in fts5_api.xCreateTokenizer()\x00NSLOT TOKEN\x00sqlite3_fts5_create_tokenizer\x00sqlite3_fts5_token\x00sqlite3_fts5_tokenize\x00sqlite3_fts5_create_function\x00sqlite3_fts5_may_be_corrupt\x00sqlite3_fts5_token_hash\x00sqlite3_fts5_register_matchinfo\x00sqlite3_fts5_register_fts5tokenize\x00unrecognized matchinfo flag: %c\x00pcx\x00matchinfo\x00CREATE TABLE x(input HIDDEN, token, start, end, position)\x00fts5tokenize\x00apndvfs\x00Start-Of-SQLite3-\x00apnd(%lld)/%z\x00SQLite format 3\x00%s: cost must be between 1 and %d\x00%s: maximum string length is %d\x00%s: iLang must be between 0 and %d\x00?\x00SELECT * FROM %Q.%Q\x00%s: %s\x00%s: %s has %d columns, expected 4\x00vocabulary_table\x00vocabulary_word\x00vocabulary_language\x00edit_distances\x00unrecognized argument: [%s]\n\x00no edit_distances table specified\x00CREATE TABLE x(word,distance,language,command HIDDEN,nword HIDDEN)\x000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^abcdefghijklmnopqrstuvwxyz~\x00SELECT \"%w\" FROM \"%w\"\x00 WHERE \"%w\">=?1 AND \"%w\"=?2 ORDER BY 1\x00SELECT \"%w\" FROM \"%w\" WHERE \"%w\">=?1 ORDER BY 1\x00*\x00DELETE from %s is not allowed\x00UPDATE of %s is not allowed\x00INSERT INTO %s allowed for column [command] only\x00approximate_match\x00int32\x00int64\x00char*\x00CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)\x00carray-bind\x00carray\x00unknown datatype: %Q\x00inttoptr\x00cksmvfs\x00ZV-\x00checksum fault offset %lld of \"%s\"\x00checksum_verification\x00enable%\x00yes\x00on\x00page_size\x00cksm/%z\x00verify_checksum\x00tablename\x00idcolumn\x00parentcolumn\x00CREATE TABLE x(id,depth,root HIDDEN,tablename HIDDEN,idcolumn HIDDEN,parentcolumn HIDDEN)\x00SELECT \"%w\".\"%w\" FROM \"%w\" WHERE \"%w\".\"%w\"=?1\x00transitive_closure\x00rb\x00cannot open '%s' for reading\x00line %d: unescaped %c character\x00line %d: unterminated %c-quoted field\n\x00more than one '%s' parameter\x00true\x00no\x00off\x00false\x00header\x00more than one 'header' parameter\x00testflags\x00columns\x00more than one 'columns' parameter\x00column= value must be positive\x00bad parameter: '%s'\x00must specify either filename= or data= but not both\x00%sc%d TEXT\x00,\x00%s\"%w\" TEXT\x00bad schema: '%s' - %s\x00filename\x00data\x00schema\x00csv\x00csv_wr\x00decimal_sum\x00decimal\x00decimal_cmp\x00decimal_add\x00decimal_sub\x00decimal_mul\x00 \x00eval\x00CREATE TABLE x(addr,opcode,p1,p2,p3,p4,p5,comment,sql HIDDEN)\x00EXPLAIN %s\x00explain\x00wb\x00wrong number of arguments to function writefile()\x00failed to create symlink: %s\x00failed to create directory: %s\x00failed to write file: %s\x00CREATE TABLE x(name,mode,mtime,data,path HIDDEN,dir HIDDEN)\x00cannot read directory: %s\x00%s/%s\x00cannot stat file: %s\x00table function fsdir requires an argument\x00table function fsdir requires a non-NULL argument\x00fsdir\x00readfile\x00writefile\x00lsmode\x00%s: ruleset must be between 0 and %d\x00%s: wrong number of CREATE VIRTUAL TABLE arguments\x00CREATE TABLE x(word,distance,ruleset)\x00fuzzer\x00ieee754(%lld,%d)\x00ieee754\x00ieee754_mantissa\x00ieee754_exponent\x00ieee754_to_blob\x00ieee754_from_blob\x00BEGIN; SELECT * FROM %s%q%ssqlite_schema\x00'\x00'.\x00PRAGMA %s%q%spage_size\x00sqlite3_mmap_warm_cache: Warmed up %d pages of %s\x00END\x00AND (%s)\x00collate \"%w\"\x00SELECT %s FROM %s WHERE %s>=(?1 || ?2) %s AND %s<=(?1 || char(1114111)) %s %s ORDER BY 1 %s ASC LIMIT 1\x00next_char\x00NULL\x00is\x00not\x00in(\x00in(select\x00in(with\x00?,?,?\x002nd argument to percentile() is not a number between 0.0 and 100.0\x002nd argument to percentile() is not the same for all input rows\x001st argument to percentile() is not numeric\x00Inf input to percentile()\x00percentile\x00CREATE TABLE prefixes(prefix TEXT, original_string TEXT HIDDEN)\x00prefixes\x00prefix_length\x00unknown \\ escape\x00afnrtv\\()*.+?[$^{|}]\x00\a\f\n\r\t\v\x00unmatched '('\x00'*' without operand\x00'+' without operand\x00'?' without operand\x00'{m,n}' without operand\x00unmatched '{'\x00n less than m in '{m,n}'\x00both m and n are zero in '{m,n}'\x00POSIX character classes not supported\x00unclosed '['\x00unrecognized character\x00regexp\x00regexpi\x00remember\x00CREATE TABLE x(value,start hidden,stop hidden,step hidden)\x00generate_series() requires SQLite 3.8.12 or later\x00generate_series\x00.ABCDHLRMY9 ?\x00non-ASCII input to editdist()\x00NULL input to editdist()\x00SELECT iLang, cFrom, cTo, iCost FROM \"%w\" WHERE iLang>=0 ORDER BY iLang\x00editdist3\x00DROP TABLE IF EXISTS \"%w\".\"%w_vocab\"\x00CREATE TABLE x(word,rank,distance,langid, score, matchlen, phonehash HIDDEN, top HIDDEN, scope HIDDEN, srchcnt HIDDEN, soundslike HIDDEN, command HIDDEN)\x00CREATE TABLE IF NOT EXISTS \"%w\".\"%w_vocab\"(\n id INTEGER PRIMARY KEY,\n rank INT,\n langid INT,\n word TEXT,\n k1 TEXT,\n k2 TEXT\n);\n\x00CREATE INDEX IF NOT EXISTS \"%w\".\"%w_vocab_index_langid_k2\" ON \"%w_vocab\"(langid,k2);\x00edit_cost_table=\x00bad argument to spellfix1(): \"%s\"\x00SELECT id, word, rank, coalesce(k1,word) FROM \"%w\".\"%w_vocab\" WHERE langid=%d AND k2>=?1 AND k2=%lld\x00AND\x00%z %s rowid<=%lld\x00CREATE TABLE x(value)\x00wholenumber\x00CREATE TABLE y(name PRIMARY KEY,mode,mtime,sz,rawdata,data,method,z HIDDEN) WITHOUT ROWID;\x00zipfile\x00zipfile constructor requires one argument\x00error in fread()\x00error in fwrite()\x00failed to read CDS at offset %lld\x00%.*s\x00failed to read LFH at offset %d\x001.2.11\x00inflateInit2() failed (%d)\x00inflate() failed (%d)\x00zipfile: deflate() error\x00cannot find end of central directory record\x00zipfile() function requires an argument\x00cannot open file: %s\x00-rwxrwxrwx\x00zipfile: mode does not match data\x00zipfile: parse error in mode: %s\x00zipfile: missing filename\x00ab+\x00zipfile: failed to open file %s for writing\x00sz must be NULL\x00rawdata must be NULL\x00unknown compression method: %d\x00%s/\x00duplicate name: \"%s\"\x00{\"version-made-by\" : %u, \"version-to-extract\" : %u, \"flags\" : %u, \"compression\" : %u, \"time\" : %u, \"date\" : %u, \"crc32\" : %u, \"compressed-size\" : %u, \"uncompressed-size\" : %u, \"file-name-length\" : %u, \"extra-field-length\" : %u, \"file-comment-length\" : %u, \"disk-number-start\" : %u, \"internal-attr\" : %u, \"external-attr\" : %u, \"offset\" : %u }\x00zipfile_cds\x00wrong number of arguments to function zipfile()\x00first argument to zipfile() must be non-NULL\x00illegal method value: %d\x00non-directory name must not end with /\x00rbu_delta\x00step\x00close\x00create_rbu_delta\x00savestate\x00dbMain_eval\x00SQL\x00bp_progress\x00db\x00RBU\x00state\x00progress\x00close_no_error\x00temp_size_limit\x00LIMIT\x00temp_size\x00dbRbu_eval\x00METHOD\x00method\x00 - \x00oal\x00move\x00checkpoint\x00done\x00error\x00NAME TARGET-DB RBU-DB ?STATE-DB?\x00NAME TARGET-DB ?STATE-DB?\x00?-default? NAME PARENT\x00NAME\x00sqlite3rbu_db(0, 0)!=0\x00sqlite3rbu\x00sqlite3rbu_vacuum\x00sqlite3rbu_create_vfs\x00sqlite3rbu_destroy_vfs\x00sqlite3rbu_internal_test\x00DB SQL\x00error in sql_exec_changeset()\x00sqlite3session_streams\x00attach\x00changeset\x00delete\x00enable\x00BOOL\x00indirect\x00isempty\x00table_filter\x00SCRIPT\x00patchset\x00diff\x00FROMDB TBL\x00memory_used\x00changeset_size\x00object_config_size\x00CMD DB-HANDLE DB-NAME\x00n\x00i\x00f\x00t\x00b\x00FOREIGN_KEY\x00INSERT\x00UPDATE\x00DELETE\x00DATA\x00NOTFOUND\x00CONFLICT\x00CONSTRAINT\x00OMIT\x00-nosavepoint\x00-invert\x00?-nosavepoint? ?-inverse? DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET\x00CHANGESET\x00LEFT RIGHT\x00-next\x00?-next? ?-invert? VARNAME CHANGESET SCRIPT\x00configure\x00REBASE-BLOB\x00rebase\x00OP VALUE\x00strm_size\x00sqlite3session\x00sqlite3session_foreach\x00sqlite3changeset_invert\x00sqlite3changeset_concat\x00sqlite3changeset_apply\x00sqlite3changeset_apply_v2\x00sqlite3changeset_apply_replace_all\x00sql_exec_changeset\x00sqlite3rebaser_create\x00sqlite3session_config\x00incrblob\x00incrblob_%d\x00%lld\x00sqlite_unlock_notify_arg\x00sqlite_unlock_notify_argcount\x00SQLITE_COPY\x00SQLITE_CREATE_INDEX\x00SQLITE_CREATE_TABLE\x00SQLITE_CREATE_TEMP_INDEX\x00SQLITE_CREATE_TEMP_TABLE\x00SQLITE_CREATE_TEMP_TRIGGER\x00SQLITE_CREATE_TEMP_VIEW\x00SQLITE_CREATE_TRIGGER\x00SQLITE_CREATE_VIEW\x00SQLITE_DELETE\x00SQLITE_DROP_INDEX\x00SQLITE_DROP_TABLE\x00SQLITE_DROP_TEMP_INDEX\x00SQLITE_DROP_TEMP_TABLE\x00SQLITE_DROP_TEMP_TRIGGER\x00SQLITE_DROP_TEMP_VIEW\x00SQLITE_DROP_TRIGGER\x00SQLITE_DROP_VIEW\x00SQLITE_INSERT\x00SQLITE_PRAGMA\x00SQLITE_READ\x00SQLITE_SELECT\x00SQLITE_TRANSACTION\x00SQLITE_UPDATE\x00SQLITE_ATTACH\x00SQLITE_DETACH\x00SQLITE_ALTER_TABLE\x00SQLITE_REINDEX\x00SQLITE_ANALYZE\x00SQLITE_CREATE_VTABLE\x00SQLITE_DROP_VTABLE\x00SQLITE_FUNCTION\x00SQLITE_SAVEPOINT\x00SQLITE_RECURSIVE\x00????\x00SQLITE_DENY\x00SQLITE_IGNORE\x00RELEASE _tcl_transaction\x00COMMIT\x00ROLLBACK TO _tcl_transaction ; RELEASE _tcl_transaction\x00option\x00?CALLBACK?\x00?DATABASE? FILENAME\x00cannot open target database: \x00backup failed: \x00CALLBACK\x00cache option ?arg?\x00flush\x00size\x00size n\x00cannot convert \"\x00\" to integer\x00bad option \"\x00\": must be flush or size\x00NAME SCRIPT\x00?OPTION? ?BOOLEAN?\x00unknown config option: \"\x00\"\x00CONFLICT-ALGORITHM TABLE FILENAME ?SEPARATOR? ?NULLINDICATOR?\x00\t\x00Error: non-null separator required for copy\x00rollback\x00abort\x00fail\x00ignore\x00replace\x00Error: \"\x00\", conflict-algorithm must be one of: rollback, abort, fail, ignore, or replace\x00SELECT * FROM '%q'\x00Error: no such table: \x00Error: \x00Error: can't malloc()\x00INSERT OR %q INTO '%q' VALUES(?\x00Error: cannot open file: \x00BEGIN\x00Error: %s line %d: expected %d columns of data but found %d\x00, failed while processing line: \x00?DATABASE? VALUE\x00-maxsize\x00-readonly\x00unknown option: \x00unable to set MEMDB content\x00extension loading is turned off at compile-time\x00-withoutnulls\x00unknown option: \"\x00?OPTIONS? SQL ?ARRAY-NAME? ?SCRIPT?\x00NAME ?SWITCHES? SCRIPT\x00-argcount\x00option requires an argument: \x00number of arguments must be non-negative\x00-deterministic\x00-directonly\x00-innocuous\x00-returntype\x00real\x00text\x00blob\x00any\x00type\x00\": must be -argcount, -deterministic, -directonly, -innocuous, or -returntype\x00?-readonly? ?DB? TABLE COLUMN ROWID\x00NULLVALUE\x00N CALLBACK\x00KEY\x00cannot open source database: \x00restore failed: \x00restore failed: source database busy\x00?DATABASE?\x00(step|sort|autoindex)\x00sort\x00autoindex\x00vmstep\x00bad argument: should be autoindex, step, sort or vmstep\x00MILLISECONDS\x00?CALLBACK? ?MASK?\x00trace type\x00SAVEPOINT _tcl_transaction\x00[TYPE] SCRIPT\x00transaction type\x00BEGIN EXCLUSIVE\x00BEGIN IMMEDIATE\x00?SCRIPT?\x00SUB-COMMAND ?ARGS?\x00hook ?SCRIPT?\x00INDEX\x00-use-legacy-prepare\x00-last-stmt-ptr\x00%p\x00unknown argument: \x00authorizer\x00backup\x00bind_fallback\x00busy\x00cache\x00changes\x00collate\x00collation_needed\x00commit_hook\x00complete\x00config\x00copy\x00deserialize\x00enable_load_extension\x00errorcode\x00exists\x00function\x00interrupt\x00last_insert_rowid\x00nullvalue\x00onecolumn\x00preupdate\x00profile\x00rekey\x00restore\x00rollback_hook\x00serialize\x00status\x00timeout\x00total_changes\x00trace\x00trace_v2\x00transaction\x00unlock_notify\x00update_hook\x00version\x00wal_hook\x00defensive\x00dqs_ddl\x00dqs_dml\x00enable_fkey\x00enable_qpsg\x00enable_trigger\x00enable_view\x00fts3_tokenizer\x00legacy_alter_table\x00legacy_file_format\x00load_extension\x00no_ckpt_on_close\x00reset_database\x00trigger_eqp\x00trusted_schema\x00writable_schema\x00statement\x00row\x00deferred\x00exclusive\x00immediate\x00depth\x00hook\x00new\x00old\x00HANDLE ?FILENAME? ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nofollow BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?\x00-version\x00-sourceid\x00-has-codec\x000\x00-key\x00-vfs\x00-create\x00-nofollow\x00-nomutex\x00-fullmutex\x00-uri\x00-translatefilename\x00sqlite3\x00sqlite\x003.36.0\x00if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewline \"% \"\n}\nflush stdout\nappend line [gets stdin]\nif {[info complete $line]} {\nif {[catch {uplevel #0 $line} result]} {\nputs stderr \"Error: $result\"\n} elseif {$result!=\"\"} {\nputs $result\n}\nset line {}\n} else {\nappend line \\n\n}\n}\n}\n\x00SQLITE_DEBUG_BREAK\x00attach debugger to process %d and press any key to continue.\n\x00utf-8\x00argc\x00argv0\x00argv\x00errorInfo\x00%s: %s\n\x00SQLITE-CONNECTION\x00command not found: \x00error code %s (%d) does not match sqlite3_errcode %s (%d)\x00OMIT_MISUSE\x00wrong # args: should be \"\x00 DB FORMAT STRING\x00 DB HEX\x00 DB\x00 DB SQL\x00%z%s%s\x00%s%n\x00abcdefghijklmnopqrstuvwxyz\x00 DB FORMAT STRING ?COUNT?\x00 DB\"\x00 FILENAME\"\x00%02x\x00%04x\x00tkt2213 is not fixed\x00text16\x00bytes\x00bytes16\x00noop\x00x_coalesce\x00hex8\x00hex16\x00tkt2213func\x00pointer_change\x00counter1\x00counter2\x00intreal\x00x_sqlite_exec\x00value of 40 handed to x_count\x00x_count totals to 42\x00x_count\x00legacy_count\x00 TEXT\"\x00 FORMAT INT INT INT\"\x00argument is not a valid 64-bit integer\x00 FORMAT INT INT ?STRING?\"\x00 INT FORMAT INT INT ?STRING?\"\x00N must be non-negative\x00 FORMAT INT INT DOUBLE\"\x00 FORMAT DOUBLE DOUBLE\"\x00 FORMAT STRING\"\x00%08x%08x\x002nd argument should be 16-characters of hex\x00?BOOLEAN?\x00DB BOOLEAN\x00DB dbname tblname colname\x00CHANNEL ROWID\x00DB-HANDLE NAME CMP-PROC DEL-PROC\x00sqlite3_create_collate_v2() failed to detect an invalid encoding\x00utf8\x00utf16\x00utf16le\x00utf16be\x00DB NAME NARG ENC SWITCHES...\x00encoding\x00-func\x00-step\x00-final\x00-destroy\x00switch\x00DB-HANDLE FILE ?PROC?\x00this build omits sqlite3_load_extension()\x00DB-HANDLE ONOFF\x00string\x00value\x00first argument should be one of: int int64 string double null value\x00 DB FUNCTION-NAME\x00 \x00STMT PARAMETER RESETFLAG\x00SQLITE_STMTSTATUS_FULLSCAN_STEP\x00SQLITE_STMTSTATUS_SORT\x00SQLITE_STMTSTATUS_AUTOINDEX\x00SQLITE_STMTSTATUS_VM_STEP\x00SQLITE_STMTSTATUS_REPREPARE\x00SQLITE_STMTSTATUS_RUN\x00SQLITE_STMTSTATUS_MEMUSED\x00NBYTE\x00DB DBNAME\x00DB DBNAME SNAPSHOT\x00SNAPSHOT\x00SNAPSHOT1 SNAPSHOT2\x00bad SNAPSHOT\x00FILE\x00PATH\x00 DB STMT\x00 STMT\x00 FROM-STMT TO-STMT\x00 VM IDX VALUE (null|static|normal)\"\x00static\x00static-nbytes\x00normal\x00blob10\x00abc\x00xyz\x00pq\x004th argument should be \"null\" or \"static\" or \"normal\"\x00(%d) \x00test_collate\x00UTF-8\x00UTF-16LE\x00UTF-16BE\x00 \x00utf16bin\x00utf16_unaligned\x00utf16_aligned\x00test_function\x00\x00STMT IDX N\x00 STMT N VALUE\x00NaN\x00SNaN\x00-NaN\x00-SNaN\x00+Inf\x00-Inf\x00Epsilon\x00-Epsilon\x00NaN0\x00-NaN0\x00 STMT N\x00 STMT N VALUE BYTES\x00 STMT N DATA BYTES\x00cannot use %d blob bytes, have %d\x00-transient\x00-static\x00-int32\x00-int64\x00-double\x00-text\x00--\x00text data must be either -static or -transient\x00cannot be both -static and -transient\x00[OPTIONS] STMT IDX VALUE ...\x00STMT\x00STMT N\x00STMT NAME\x00 DB sql bytes ?tailvar?\x00 DB sql bytes tailvar\x00 DB sql bytes flags tailvar\x00\x00SELECT 1\x00 filename options-list\x00FILENAME FLAGS VFS\x00SQLITE_OPEN_READONLY\x00SQLITE_OPEN_READWRITE\x00SQLITE_OPEN_CREATE\x00SQLITE_OPEN_DELETEONCLOSE\x00SQLITE_OPEN_EXCLUSIVE\x00SQLITE_OPEN_AUTOPROXY\x00SQLITE_OPEN_MAIN_DB\x00SQLITE_OPEN_TEMP_DB\x00SQLITE_OPEN_TRANSIENT_DB\x00SQLITE_OPEN_MAIN_JOURNAL\x00SQLITE_OPEN_TEMP_JOURNAL\x00SQLITE_OPEN_SUBJOURNAL\x00SQLITE_OPEN_SUPER_JOURNAL\x00SQLITE_OPEN_NOMUTEX\x00SQLITE_OPEN_FULLMUTEX\x00SQLITE_OPEN_SHAREDCACHE\x00SQLITE_OPEN_PRIVATECACHE\x00SQLITE_OPEN_WAL\x00SQLITE_OPEN_URI\x00flag\x00\x00 STMT column\x00FLOAT\x00TEXT\x00BLOB\x00 DB MAGIC\x00SQLITE_MAGIC_OPEN\x00SQLITE_MAGIC_CLOSED\x00SQLITE_MAGIC_BUSY\x00SQLITE_MAGIC_ERROR\x00 DB function-name\x00VARIABLE\x00?N?\x001234567890000000\x00__one\x00__two\x00notadatabase\x00Unexpected non-zero errno: \x00DB [DBNAME]\x00%u\x00DB DBNAME SIZE\x00 DB PWD\x00 DB NRETRY DELAY\x00%d %d %d\x00%d %p\x00 DB HANDLE\x00 DB FLAG\x00%d %d\x00 DB ?AUXDB?\x00DB N\x00 DB ID VALUE\x00unknown limit type: \x00SQLITE_LIMIT_LENGTH\x00SQLITE_LIMIT_SQL_LENGTH\x00SQLITE_LIMIT_COLUMN\x00SQLITE_LIMIT_EXPR_DEPTH\x00SQLITE_LIMIT_COMPOUND_SELECT\x00SQLITE_LIMIT_VDBE_OP\x00SQLITE_LIMIT_FUNCTION_ARG\x00SQLITE_LIMIT_ATTACHED\x00SQLITE_LIMIT_LIKE_PATTERN_LENGTH\x00SQLITE_LIMIT_VARIABLE_NUMBER\x00SQLITE_LIMIT_TRIGGER_DEPTH\x00SQLITE_LIMIT_WORKER_THREADS\x00SQLITE_LIMIT_TOOSMALL\x00SQLITE_LIMIT_TOOBIG\x00SEED ?DB?\x00BOOLEAN\x00current\x00max\x00min\x00recyclable\x00DB ?NAME?\x00passive\x00full\x00restart\x00truncate\x00DB MODE ?NAME?\x00mode\x00DB VALUE\x00COMMAND ...\x00command has no objProc: \x00%d %d %d %s\n\x00SQLITE_TESTCTRL_LOCALTIME_FAULT\x00SQLITE_TESTCTRL_SORTER_MMAP\x00SQLITE_TESTCTRL_IMPOSTER\x00SQLITE_TESTCTRL_INTERNAL_FUNCTIONS\x00VERB ARGS...\x00VERB\x00ONOFF\x00DB LIMIT\x00DB dbName onOff tnum\x00FILENAME DELAY1 DELAY2\x00%d %d %d %d %d\x00cannot open file: \x00cannot create event: \x000x%x\x00wait failed: \x00win32_file_lock\x00PATTERN\x00FILENAME\x00DIRECTORY\x00DB OPT BOOLEAN\x00unknown optimization - should be one of:\x00all\x00none\x00query-flattener\x00groupby-order\x00factor-constants\x00distinct-opt\x00cover-idx-scan\x00order-by-idx-join\x00transitive\x00omit-noop-join\x00stat4\x00skip-scan\x00push-down\x00DB NAME ...\x00no such extension: \x00initialization of \x00 failed: \x00amatch\x00appendvfs\x00closure\x00fileio\x00nextchar\x00series\x00spellfix\x00totype\x00DB SQL1 NSTEP SQL2\x00data error: (a!=b)\x00checksum mismatch\x00sql error: \x00TYPE\x00Deliberate panic\x00DB SETTING [VALUE]\x00SQLITE_*\x00DBCONFIG_*\x00ENABLE_*\x00unknown sqlite3_db_config setting\x00FKEY\x00TRIGGER\x00FTS3_TOKENIZER\x00LOAD_EXTENSION\x00NO_CKPT_ON_CLOSE\x00QPSG\x00TRIGGER_EQP\x00RESET_DB\x00DEFENSIVE\x00WRITABLE_SCHEMA\x00LEGACY_ALTER_TABLE\x00DQS_DML\x00DQS_DDL\x00LEGACY_FILE_FORMAT\x00DB ?SCHEMA?\x00icecube\x00DB ?DBNAME?\x00DB OFFSET DATA\x00HEXDB\x00| size %d pagesize %d\x00bad 'pagesize' field\x00bad 'size' field\x00| page %d offset %d\x00| %d: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\x00sqlite_search_count\x00sqlite_found_count\x00sqlite_sort_count\x00sqlite3_max_blobsize\x00sqlite_like_count\x00sqlite_interrupt_count\x00sqlite_open_file_count\x00sqlite_current_time\x00sqlite3_xferopt_count\x00sqlite3_pager_readdb_count\x00sqlite3_pager_writedb_count\x00sqlite3_pager_writej_count\x00unaligned_string_counter\x00sqlite_last_needed_collation\x00sqlite_os_type\x00sqlite_query_plan\x00sqlite_opentemp_count\x00sqlite_static_bind_value\x00sqlite_static_bind_nbyte\x00sqlite_temp_directory\x00sqlite_data_directory\x00bitmask_size\x00longdouble_size\x00sqlite_sync_count\x00sqlite_fullsync_count\x00db_enter\x00db_leave\x00sqlite3_mprintf_int\x00sqlite3_mprintf_int64\x00sqlite3_mprintf_long\x00sqlite3_mprintf_str\x00sqlite3_snprintf_str\x00sqlite3_mprintf_stronly\x00sqlite3_mprintf_double\x00sqlite3_mprintf_scaled\x00sqlite3_mprintf_hexdouble\x00sqlite3_mprintf_z_test\x00sqlite3_mprintf_n_test\x00sqlite3_snprintf_int\x00sqlite3_last_insert_rowid\x00sqlite3_exec_printf\x00sqlite3_exec_hex\x00sqlite3_exec\x00sqlite3_exec_nr\x00sqlite3_get_table_printf\x00sqlite3_close\x00sqlite3_close_v2\x00sqlite3_create_function\x00sqlite3_create_aggregate\x00sqlite3_drop_modules\x00sqlite_register_test_function\x00sqlite_abort\x00sqlite_bind\x00breakpoint\x00sqlite3_key\x00sqlite3_rekey\x00sqlite_set_magic\x00sqlite3_interrupt\x00sqlite_delete_function\x00sqlite_delete_collation\x00sqlite3_get_autocommit\x00sqlite3_busy_timeout\x00printf\x00sqlite3IoTrace\x00clang_sanitize_address\x00sqlite3_db_config\x00sqlite3_txn_state\x00bad_behavior\x00register_dbstat_vtab\x00sqlite3_connection_pointer\x00intarray_addr\x00int64array_addr\x00doublearray_addr\x00textarray_addr\x00sqlite3_bind_int\x00sqlite3_bind_zeroblob\x00sqlite3_bind_zeroblob64\x00sqlite3_bind_int64\x00sqlite3_bind_double\x00sqlite3_bind_null\x00sqlite3_bind_text\x00sqlite3_bind_text16\x00sqlite3_bind_blob\x00sqlite3_carray_bind\x00sqlite3_bind_parameter_count\x00sqlite3_bind_parameter_name\x00sqlite3_bind_parameter_index\x00sqlite3_clear_bindings\x00sqlite3_sleep\x00sqlite3_errcode\x00sqlite3_extended_errcode\x00sqlite3_errmsg\x00sqlite3_errmsg16\x00sqlite3_open\x00sqlite3_open16\x00sqlite3_open_v2\x00sqlite3_complete16\x00sqlite3_normalize\x00sqlite3_prepare\x00sqlite3_prepare16\x00sqlite3_prepare_v2\x00sqlite3_prepare_v3\x00sqlite3_prepare_tkt3134\x00sqlite3_prepare16_v2\x00sqlite3_finalize\x00sqlite3_stmt_status\x00sqlite3_reset\x00sqlite3_expired\x00sqlite3_transfer_bindings\x00sqlite3_changes\x00sqlite3_step\x00sqlite3_sql\x00sqlite3_expanded_sql\x00sqlite3_next_stmt\x00sqlite3_stmt_readonly\x00sqlite3_stmt_isexplain\x00sqlite3_stmt_busy\x00uses_stmt_journal\x00sqlite3_release_memory\x00sqlite3_db_release_memory\x00sqlite3_db_cacheflush\x00sqlite3_system_errno\x00sqlite3_db_filename\x00sqlite3_db_readonly\x00sqlite3_soft_heap_limit\x00sqlite3_soft_heap_limit64\x00sqlite3_hard_heap_limit64\x00sqlite3_thread_cleanup\x00sqlite3_pager_refcounts\x00sqlite3_load_extension\x00sqlite3_enable_load_extension\x00sqlite3_extended_result_codes\x00sqlite3_limit\x00dbconfig_maindbname_icecube\x00save_prng_state\x00restore_prng_state\x00reset_prng_state\x00prng_seed\x00extra_schema_checks\x00database_never_corrupt\x00database_may_be_corrupt\x00optimization_control\x00lock_win32_file\x00exists_win32_path\x00find_win32_file\x00delete_win32_file\x00make_win32_dir\x00remove_win32_dir\x00tcl_objproc\x00sqlite3_column_count\x00sqlite3_data_count\x00sqlite3_column_type\x00sqlite3_column_blob\x00sqlite3_column_double\x00sqlite3_column_int64\x00sqlite3_column_text\x00sqlite3_column_name\x00sqlite3_column_int\x00sqlite3_column_bytes\x00sqlite3_column_decltype\x00sqlite3_column_database_name\x00sqlite3_column_table_name\x00sqlite3_column_origin_name\x00sqlite3_column_bytes16\x00sqlite3_column_text16\x00sqlite3_column_name16\x00add_alignment_test_collations\x00sqlite3_column_decltype16\x00sqlite3_column_database_name16\x00sqlite3_column_table_name16\x00sqlite3_column_origin_name16\x00sqlite3_create_collation_v2\x00sqlite3_global_recover\x00working_64bit_int\x00vfs_unlink_test\x00vfs_initfail_test\x00vfs_unregister_all\x00vfs_reregister_all\x00file_control_test\x00file_control_lasterrno_test\x00file_control_lockproxy_test\x00file_control_chunksize_test\x00file_control_sizehint_test\x00file_control_data_version\x00file_control_win32_av_retry\x00file_control_win32_get_handle\x00file_control_win32_set_handle\x00file_control_persist_wal\x00file_control_powersafe_overwrite\x00file_control_vfsname\x00file_control_reservebytes\x00file_control_tempfilename\x00file_control_external_reader\x00sqlite3_vfs_list\x00sqlite3_create_function_v2\x00add_test_collate\x00add_test_collate_needed\x00add_test_function\x00add_test_utf16bin_collate\x00sqlite3_test_errstr\x00tcl_variable_type\x00sqlite3_enable_shared_cache\x00sqlite3_shared_cache_report\x00sqlite3_libversion_number\x00sqlite3_table_column_metadata\x00sqlite3_blob_reopen\x00pcache_stats\x00sqlite3_unlock_notify\x00sqlite3_wal_checkpoint\x00sqlite3_wal_checkpoint_v2\x00sqlite3_wal_autocheckpoint\x00test_sqlite3_log\x00print_explain_query_plan\x00sqlite3_test_control\x00load_static_extension\x00sorter_test_fakeheap\x00sorter_test_sort4_helper\x00vfs_current_time_int64\x00sqlite3_snapshot_get\x00sqlite3_snapshot_open\x00sqlite3_snapshot_free\x00sqlite3_snapshot_cmp\x00sqlite3_snapshot_recover\x00sqlite3_snapshot_get_blob\x00sqlite3_snapshot_open_blob\x00sqlite3_snapshot_cmp_blob\x00sqlite3_delete_database\x00atomic_batch_write\x00sqlite3_mmap_warm\x00sqlite3_config_sorterref\x00decode_hexdb\x00test_write_db\x00sqlite3_register_cksumvfs\x00sqlite3_unregister_cksumvfs\x00*** OBSOLETE VARIABLE ***\x00 FILENAME N-PAGE\"\x00 ID\"\x00ref\x00page\x00err\x00hit\x00miss\x00ovfl\x00 ID PGNO\"\x00 PAGE\"\x00 PAGE DATA\"\x00 N-MEGABYTES FILE\"\x00open failed: \x00Hello, World!\x00write failed: \x00 PENDING-BYTE\"\x00fault simulator script failed: [%s]\x00 SCRIPT\"\x00 SIZE PROGRAM\"\x00sqlite_io_error_pending\x00sqlite_io_error_persist\x00sqlite_io_error_hit\x00sqlite_io_error_hardhit\x00sqlite_diskfull_pending\x00sqlite_diskfull\x00sqlite_pending_byte\x00pager_open\x00pager_close\x00pager_commit\x00pager_rollback\x00pager_stmt_begin\x00pager_stmt_commit\x00pager_stmt_rollback\x00pager_stats\x00pager_pagecount\x00page_get\x00page_lookup\x00page_unref\x00page_read\x00page_write\x00page_number\x00pager_truncate\x00fake_big_file\x00sqlite3BitvecBuiltinTest\x00sqlite3_test_control_pending_byte\x00sqlite3_test_control_fault_install\x00 FILENAME NCACHE FLAGS\"\x00read\x00write\x00 ID TABLENUM WRITEABLE\"\x00 START MULTIPLIER COUNT INCREMENT\"\x00putVarint returned %d - should be between 1 and 9\x00putVarint returned %d and getVarint returned %d\x00Wrote 0x%016llx and got back 0x%016llx\x00putVarint returned %d and GetVarint32 returned %d\x00Wrote 0x%016llx and got back 0x%016llx from GetVarint32\x00 DB-HANDLE ?N?\"\x00No such db-handle: \"\x00 BT NCACHE\"\x00?-intkey? CSR KEY VALUE\x00btree_insert\x00btree_open\x00btree_close\x00btree_begin_transaction\x00btree_pager_stats\x00btree_cursor\x00btree_close_cursor\x00btree_next\x00btree_eof\x00btree_payload_size\x00btree_first\x00btree_varint_test\x00btree_from_db\x00btree_ismemdb\x00btree_set_cache_size\x00 \x00hello world\x00UTF8\x00UTF16LE\x00UTF16BE\x00UTF16\x00No such encoding: \x00 \x00binarize\x00test_value_overhead\x00test_translate\x00translate_selftest\x00out of memory in the crash simulator\n\x00atomic\x00atomic512\x00atomic1k\x00atomic2k\x00atomic4k\x00atomic8k\x00atomic16k\x00atomic32k\x00atomic64k\x00sequential\x00safe_append\x00powersafe_overwrite\x00batch-atomic\x00-sectorsize\x00-characteristics\x00Bad option: \"\x00\" - must be \"-characteristics\" or \"-sectorsize\"\x00Option requires an argument: \"\x00no such flag\x00ENABLE ?DEFAULT?\x00crash\x00?OPTIONS? DELAY CRASHFILE\x00Filename is too long: \"\x00NWRITE\x00?-default? PARENT-VFS\x00-default\x00\": must be -default\x00Error in jt_register\x00sqlite3_crash_enable\x00sqlite3_crashparams\x00sqlite3_crash_now\x00sqlite3_simulate_device\x00sqlite3_crash_on_write\x00unregister_devsim\x00register_jt_vfs\x00unregister_jt_vfs\x00echo_module_fail(%s,%s)\x00echo-vtab-error: %s\x00SELECT * FROM %Q\x00PRAGMA index_list(%s)\x00PRAGMA index_info(%s)\x00echo_module\x00SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = ?\x00%s%s\x00xCreate\x00CREATE TABLE %Q(logmsg)\x00xConnect\x00xDisconnect\x00xDestroy\x00DROP TABLE %Q\x00xOpen\x00xNext\x00xColumn\x00xFilter\x00, *\x00%z, %s\x00%z, NULL\x00echo_module_ignore_usable\x00xBestIndex\x00echo_module_cost\x00SELECT count(*) FROM %Q\x00SELECT rowid%z FROM %Q\x00rowid\x00=\x00<\x00>\x00<=\x00>=\x00LIKE\x00like\x00glob\x00 %s %s LIKE (SELECT '%%'||?||'%%')\x00 %s %s %s ?\x00DESC\x00ASC\x00 ORDER BY %s %s\x00xUpdate\x00 SET\x00UPDATE %Q\x00 SET rowid=?1 \x00%s %Q=?%d\x00 WHERE rowid=?%d\x00DELETE FROM %Q WHERE rowid = ?1\x00INSERT INTO %Q (\x00%s%Q\x00%s?%d\x00) VALUES(\x00echo(%s)\x00xBegin\x00echo_module_begin_fail\x00xSync\x00echo_module_sync_fail\x00xCommit\x00xRollback\x00::echo_glob_overload\x00xRename\x00ALTER TABLE %s RENAME TO %s%s\x00function_that_does_not_exist_0982ma98\x00echo\x00echo_v2\x00register_echo_module\x00sqlite3_declare_vtab\x00N/A\x00sqlite3_create_collation\x00Error testing function: \x00sqlite3_malloc\x00sqlite3_realloc\x00c_misuse_test\x00c_realloc_test\x00c_collation_test\x00sqlite3_reset_auto_extension\x00npage\x00finish\x00remaining\x00pagecount\x00CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME\x00sqlite3_backup_init() failed\x00sqlite3_backup\x00wrong number of arguments\x00unexpected: %s\x00eq\x00gt\x00le\x00lt\x00ge\x00match\x00ne\x00isnot\x00isnotnull\x00isnull\x00op\x00column\x00usable\x00desc\x00cost\x00orderby\x00idxnum\x00idxstr\x00rows\x00use\x00omit\x00unexpected: %d\x00tcl\x00register_tcl_module\x00incrblob_\x00DB DATABASE TABLE COLUMN ROWID FLAGS VARNAME\x00HANDLE\x00CHANNEL OFFSET N\x00out of memory in testdata/sqlite-src-3360000/src/test_blob.c\x00HANDLE OFFSET DATA ?NDATA?\x00sqlite3_blob_open\x00sqlite3_blob_close\x00sqlite3_blob_bytes\x00sqlite3_blob_read\x00sqlite3_blob_write\x00sqlite_options\x00malloc_usable_size\x00rowid32\x00casesensitivelike\x00configslower\x001.0\x00curdir\x001\x00win32malloc\x00debug\x00default_ckptfullfsync\x00direct_read\x00dirsync\x00lfs\x00pagecache_overflow_stats\x00mmap\x00worker_threads\x008\x00memdebug\x008_3_names\x00cursorhints\x00hiddencolumns\x00mathlib\x00mem3\x00mem5\x00offset_sql_func\x00snapshot\x00mutex\x00mutex_noop\x00altertable\x00api_armor\x00atomicwrite\x00geopoly\x00json1\x00has_codec\x00like_match_blobs\x00auth\x00autoinc\x00autoreset\x00autovacuum\x00default_autovacuum\x00between_opt\x00builtin_test\x00bloblit\x00cast\x00check\x00cte\x00columnmetadata\x00oversize_cell_check\x00compileoption_diags\x00compound\x00conflict\x00crashtest\x00datetime\x00decltype\x00deprecated\x00diskio\x00floatingpoint\x00foreignkey\x00fts1\x00fts2\x00fts3\x00fts5\x00fts3_unicode\x00fts4_deferred\x00gettable\x00icu\x00icu_collations\x00integrityck\x00legacyformat\x00like_opt\x00load_ext\x00localtime\x00lookaside\x00long_double\x00memorydb\x00memorymanage\x00mergesort\x00null_trim\x00or_opt\x00rbu\x00pager_pragmas\x00pragma\x00reindex\x00rtree\x00rtree_int_only\x00schema_pragmas\x00schema_version\x00session\x00stmtvtab\x00scanstatus\x00lock_proxy_pragmas\x00prefer_proxy_locking\x00shared_cache\x00subquery\x00tclvar\x00threadsafe\x00threadsafe1\x00threadsafe2\x00tempdb\x00trigger\x00truncate_opt\x00vacuum\x00view\x00vtab\x00wal\x00wsd\x00update_delete_limit\x00fast_secure_delete\x00secure_delete\x00userauth\x00multiplex_ext_overwrite\x00yytrackmaxstackdepth\x00sqllog\x00uri_00_error\x00normalize\x00windowfunc\x00SQLITE_MAX_LENGTH\x00SQLITE_MAX_COLUMN\x00SQLITE_MAX_SQL_LENGTH\x00SQLITE_MAX_EXPR_DEPTH\x00SQLITE_MAX_COMPOUND_SELECT\x00SQLITE_MAX_VDBE_OP\x00SQLITE_MAX_FUNCTION_ARG\x00SQLITE_MAX_VARIABLE_NUMBER\x00SQLITE_MAX_PAGE_SIZE\x00SQLITE_MAX_PAGE_COUNT\x00SQLITE_MAX_LIKE_PATTERN_LENGTH\x00SQLITE_MAX_TRIGGER_DEPTH\x00SQLITE_DEFAULT_CACHE_SIZE\x00SQLITE_DEFAULT_PAGE_SIZE\x00SQLITE_DEFAULT_FILE_FORMAT\x00SQLITE_DEFAULT_SYNCHRONOUS\x00SQLITE_DEFAULT_WAL_SYNCHRONOUS\x00SQLITE_MAX_ATTACHED\x00SQLITE_MAX_DEFAULT_PAGE_SIZE\x00SQLITE_MAX_WORKER_THREADS\x00TEMP_STORE\x00_MSC_VER\x00__GNUC__\x00%s-journal\x00%s-wal\x00%s-shm\x00%s%03d\x00%s-journal%03d\x00%s-wal%03d\x00win32\x00devsym\x00writecrash\x00CREATE TABLE xyz(dir, name);\x00CREATE TABLE xyz(path, size, data);\x00WITH r(d) AS ( SELECT CASE WHEN dir=?2 THEN ?3 ELSE dir END || '/' || name FROM fsdir WHERE dir=?1 AND name NOT LIKE '.%' UNION ALL SELECT dir || '/' || name FROM r, fsdir WHERE dir=d AND name NOT LIKE '.%') SELECT d FROM r;\x00fstreeDrive\x00SystemDrive\x00%s%c\x00CREATE TABLE x(path TEXT, data TEXT)\x00SELECT * FROM %Q.%Q WHERE rowid=?\x00fs\x00fstree\x00register_fs_module\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-!,:*^+=_|?/<> \x00sqlite3_prepare_v2() error: %s\x000123456789abcdef\x00x'\x00test_agg_errmsg16\x00randstr\x00test_destructor\x00test_destructor16\x00hex_to_utf16be\x00hex_to_utf16le\x00hex_to_utf8\x00test_destructor_count\x00test_auxdata\x00test_error\x00test_eval\x00test_isolation\x00test_counter\x00real2hex\x00test_decode\x00test_extract\x00test_zeroblob\x00test_getsubtype\x00test_setsubtype\x00test_frombind\x00tx\x00funcxx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00nullx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00sqlite3_create_function abused test failed\x00invalid matchinfo blob passed to function rank()\x00wrong number of arguments to function rank()\x00rank\x00autoinstall_test_functions\x00abuse_create_function\x00install_fts3_rank_function\x000123456789ABCDEF\x00FILENAME OFFSET AMT\x00r\x00cannot open input file \x00FILENAME OFFSET HEXDATA\x00r+b\x00r+\x00cannot open output file \x00HEXDATA\x00[utf8_to_utf8] unavailable - SQLITE_DEBUG not defined\x00BLOB VARNAME\x00LIST\x00hexio_read\x00hexio_write\x00hexio_get_int\x00hexio_render_int16\x00hexio_render_int32\x00utf8_to_utf8\x00read_fts3varint\x00make_fts3record\x00mem\x00pcache\x00Unknown argument: \"\x00init_wrapper_install\x00init_wrapper_query\x00init_wrapper_uninstall\x00init_wrapper_clear\x00CREATE TABLE x(value INTEGER PRIMARY KEY)\x00CREATE VIRTUAL TABLE temp.%Q USING %Q\x00INTARRAY\x00SQLITE_NOMEM\x00sqlite3_intarray_create\x00sqlite3_intarray_bind\x00jt\x00-journal\x00NBYTES\x00PRIOR NBYTES\x00bad pointer: \x00PRIOR\x00ADDRESS SIZE HEX\x00size must be positive\x00no data\x00ADDRESS SIZE\x00?RESET?\x00DEPT\x00COUNTER ?OPTIONS?\x00-repeat\x00-benigncnt\x00TITLE\x00SUB-COMMAND ...\x00start\x00stop\x00dump\x00clear\x00sync\x00SIZE N\x00INSTALLFLAG DISCARDCHANCE PRNGSEEED HIGHSTRESS\x00discard-chance should be between 0 and 100\x00SIZE COUNT\x00BUFID SIZE COUNT\x00illegal arguments - see documentation\x00NBYTE NMINALLOC\x00[DB]\x00sqlite3_db_config(db, 99999) does not return SQLITE_ERROR\x00sqlite3_config(99999) does not return SQLITE_ERROR\x00PARAMETER RESETFLAG\x00SQLITE_STATUS_MEMORY_USED\x00SQLITE_STATUS_MALLOC_SIZE\x00SQLITE_STATUS_PAGECACHE_USED\x00SQLITE_STATUS_PAGECACHE_OVERFLOW\x00SQLITE_STATUS_PAGECACHE_SIZE\x00SQLITE_STATUS_SCRATCH_USED\x00SQLITE_STATUS_SCRATCH_OVERFLOW\x00SQLITE_STATUS_SCRATCH_SIZE\x00SQLITE_STATUS_PARSER_STACK\x00SQLITE_STATUS_MALLOC_COUNT\x00DB PARAMETER RESETFLAG\x00SQLITE_\x00DBSTATUS_\x00LOOKASIDE_USED\x00CACHE_USED\x00SCHEMA_USED\x00STMT_USED\x00LOOKASIDE_HIT\x00LOOKASIDE_MISS_SIZE\x00LOOKASIDE_MISS_FULL\x00CACHE_HIT\x00CACHE_MISS\x00CACHE_WRITE\x00DEFERRED_FKS\x00CACHE_USED_SHARED\x00CACHE_SPILL\x00?INTEGER?\x00sqlite3_free\x00memset\x00memget\x00sqlite3_memory_used\x00sqlite3_memory_highwater\x00sqlite3_memdebug_backtrace\x00sqlite3_memdebug_dump\x00sqlite3_memdebug_fail\x00sqlite3_memdebug_pending\x00sqlite3_memdebug_settitle\x00sqlite3_memdebug_malloc_count\x00sqlite3_memdebug_log\x00sqlite3_config_pagecache\x00sqlite3_config_alt_pcache\x00sqlite3_status\x00sqlite3_db_status\x00install_malloc_faultsim\x00sqlite3_config_heap\x00sqlite3_config_heap_size\x00sqlite3_config_memstatus\x00sqlite3_config_lookaside\x00sqlite3_config_error\x00sqlite3_config_uri\x00sqlite3_config_cis\x00sqlite3_config_pmasz\x00sqlite3_db_config_lookaside\x00sqlite3_dump_memsys3\x00sqlite3_dump_memsys5\x00sqlite3_install_memsys3\x00sqlite3_memdebug_vfs_oom_test\x00%05u\x00 FILENAME [OFFSET AMT]\"\x00unable to open file \"\x00\" for reading\x00md5\x00md5-10x8\x00md5file\x00md5file-10x8\x00md5sum\x00%03d\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_control\x00chunksize\x00multiplex_truncate\x00multiplex/%z\x00multiplex\x00NAME MAKEDEFAULT\x00-force\x00?-force?\x00chunk_size\x00max_chunks\x00HANDLE DBNAME SUB-COMMAND INT-VALUE\x00expected database handle, got \"\x00sqlite3_multiplex_initialize\x00sqlite3_multiplex_shutdown\x00sqlite3_multiplex_control\x00fast\x00recursive\x00static_main\x00static_mem\x00static_open\x00static_prng\x00static_lru\x00static_pmem\x00static_app1\x00static_app2\x00static_app3\x00static_vfs1\x00static_vfs2\x00static_vfs3\x00mutex counters are \x00already installed\x00not installed\x00singlethread\x00multithread\x00serialized\x00mutex name\x00disable_mutex_init\x00disable_mutex_try\x00sqlite3_shutdown\x00sqlite3_initialize\x00sqlite3_config\x00enter_static_mutex\x00leave_static_mutex\x00enter_db_mutex\x00leave_db_mutex\x00alloc_dealloc_mutex\x00install_mutex_counters\x00read_mutex_counters\x00clear_mutex_counters\x00\x00\x00\x00\x00\x00\x00\x00vfslog/%z\x00sqlite_ostrace1.....\x00xClose\x00xRead\x00xWrite\x00xTruncate\x00xFilesize\x00xLock\x00xUnlock\x00xCheckResLock\x00xFileControl\x00xSectorSize\x00xDeviceChar\x00xDelete\x00xAccess\x00xFullPathname\x00xRandomness\x00xSleep\x00xCurrentTime\x00xShmUnmap\x00xShmLock\x00xShmBarrier\x00xShmMap\x00annotation\x00CREATE TABLE xxx(event, file, click, rc, size, offset)\x00vfslog\x00VFS\x00failed\x00VFS PARENT LOGFILE\x00bad sqlite3 handle: \x00annotate\x00finalize\x00register\x00quota/%z\x00quota\x00::piLimit_\x00PATTERN LIMIT SCRIPT\x00FILENAME MODE\x00HANDLE SIZE NELEM\x00HANDLE SIZE NELEM CONTENT\x00HANDLE ?HARDSYNC?\x00HANDLE OFFSET WHENCE\x00SEEK_SET\x00SEEK_CUR\x00SEEK_END\x00WHENCE should be SEEK_SET, SEEK_CUR, or SEEK_END\x00HANDLE SIZE\x00PATTERN TEXT\x00sqlite3_quota_initialize\x00sqlite3_quota_shutdown\x00sqlite3_quota_set\x00sqlite3_quota_file\x00sqlite3_quota_dump\x00sqlite3_quota_fopen\x00sqlite3_quota_fread\x00sqlite3_quota_fwrite\x00sqlite3_quota_fclose\x00sqlite3_quota_fflush\x00sqlite3_quota_fseek\x00sqlite3_quota_rewind\x00sqlite3_quota_ftell\x00sqlite3_quota_ftruncate\x00sqlite3_quota_file_size\x00sqlite3_quota_file_truesize\x00sqlite3_quota_file_mtime\x00sqlite3_quota_remove\x00sqlite3_quota_glob\x00sqlite3_quota_file_available\x00sqlite3_quota_ferror\x00cube\x00circle\x00Qcircle\x00breadthfirstsearch\x00register_cube_geom\x00register_circle_geom\x00CREATE TABLE x(database,tablename,cid,name,type,not_null,dflt_value,pk)\x00SELECT name FROM sqlite_temp_schema WHERE type='table'\x00SELECT name FROM %Q.sqlite_schema WHERE type='table'\x00PRAGMA %Q.table_info(%Q)\x00PRAGMA database_list\x00register_schema_module\x00PRAGMA main.journal_mode\x00CMDNAME PATH ?VFS? ?BUSY-HANDLER-SCRIPT?\x00sqlite3demo_superlock\x00load_testfixture_extensions\x00SLAVE\x00CREATE TABLE x( name TEXT, arrayname TEXT, value TEXT, fullname TEXT PRIMARY KEY) WITHOUT ROWID\x00array names\x00tclvar_filter_cmd\x00%s(%s)\x00expr {[info exists ::tclvar_set_omit] && $::tclvar_set_omit}\x00the 'fullname' column must be TEXT\x00prohibited TCL variable change\x00proc like {pattern str} {\n set p [string map {% * _ ?} $pattern]\n string match $p $str\n}\nproc tclvar_filter_cmd {eq match glob regexp like} {\n set res {}\n set pattern $eq\n if {$pattern=={}} { set pattern $match }\n if {$pattern=={}} { set pattern * }\n foreach v [uplevel #0 info vars $pattern] {\n if {($glob=={} || [string match $glob [uplevel #0 set $v]])\n && ($like=={} || [like $like [uplevel #0 set $v]])\n && ($regexp=={} || [regexp $regexp [uplevel #0 set $v]])\n } {\n lappend res $v\n }\n }\n set res\n}\n\x00register_tclvar_module\x00clock_seconds\x00sqlthread\x00set\x00Error in Tcl_CreateThread()\x00no parent thread\x00parent\x00spawn\x00VARNAME SCRIPT\x00open\x00DBNAME\x00id\x00SQLITE_IOERR\x00SQLITE_LOCKED\x00SQLITE_BUSY\x00SQLITE_READONLY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_NOTFOUND\x00SQLITE_OMIT\x00normal|dataonly\x00full|dataonly\x00xCheckReservedLock\x00BEGIN_ATOMIC_WRITE\x00COMMIT_ATOMIC_WRITE\x00ZIPVFS\x00anon\x00SQLITE_ACCESS_EXISTS\x00SQLITE_ACCESS_READWRITE\x00SQLITE_ACCESS_READ\x00xShmOpen\x00 lock\x00 unlock\x00 shared\x00 exclusive\x00shm\x00filter\x00ioerr\x00fullerr\x00cantopenerr\x00script\x00devchar\x00sectorsize\x00subcommand\x00FILE ?VALUE?\x00failed to get full path: \x00no such file: \x00unknown method: \x00?CNT PERSIST?\x00default\x00undeletable_when_open\x00immutable\x00?ATTR-LIST?\x00bad flags: \x00?VALUE?\x00-noshm\x00-szosfile\x00-mxpathname\x00-iversion\x00-fullshm\x00VFSNAME ?-noshm BOOL? ?-fullshm BOOL? ?-default BOOL? ?-mxpathname INT? ?-szosfile INT? ?-iversion INT?\x00shared\x00lock\x00unlock\x00DB DBNAME (shared|exclusive) (lock|unlock) OFFSET N\x00ARG\x00DB DBNAME SLOT ?VALUE?\x00*-shm is not yet mapped\x00testvfs\x00vfs_shmlock\x00vfs_set_readmark\x00/\x00%s\\*\x00DB NAME XSTEP XFINAL XVALUE XINVERSE\x00fff\x00misuse test error\x00invalid argument\x00sumint\x00sum\x00sqlite3_create_window_function\x00test_create_window_function_misuse\x00test_create_sumint\x00test_override_sum\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/lib/capi_darwin_amd64.go b/lib/capi_darwin_amd64.go index 5db362d..c553cf7 100644 --- a/lib/capi_darwin_amd64.go +++ b/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 -pkgname sqlite3 -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 -pkgname sqlite3 -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. package sqlite3 @@ -1242,6 +1242,32 @@ var CAPI = map[string]struct{}{ "sqlite3aEQb": {}, "sqlite3aGTb": {}, "sqlite3aLTb": {}, + "sqlite3changegroup_add": {}, + "sqlite3changegroup_add_strm": {}, + "sqlite3changegroup_delete": {}, + "sqlite3changegroup_new": {}, + "sqlite3changegroup_output": {}, + "sqlite3changegroup_output_strm": {}, + "sqlite3changeset_apply": {}, + "sqlite3changeset_apply_strm": {}, + "sqlite3changeset_apply_v2": {}, + "sqlite3changeset_apply_v2_strm": {}, + "sqlite3changeset_concat": {}, + "sqlite3changeset_concat_strm": {}, + "sqlite3changeset_conflict": {}, + "sqlite3changeset_finalize": {}, + "sqlite3changeset_fk_conflicts": {}, + "sqlite3changeset_invert": {}, + "sqlite3changeset_invert_strm": {}, + "sqlite3changeset_new": {}, + "sqlite3changeset_next": {}, + "sqlite3changeset_old": {}, + "sqlite3changeset_op": {}, + "sqlite3changeset_pk": {}, + "sqlite3changeset_start": {}, + "sqlite3changeset_start_strm": {}, + "sqlite3changeset_start_v2": {}, + "sqlite3changeset_start_v2_strm": {}, "sqlite3rbu_bp_progress": {}, "sqlite3rbu_close": {}, "sqlite3rbu_create_vfs": {}, @@ -1255,4 +1281,25 @@ var CAPI = map[string]struct{}{ "sqlite3rbu_temp_size": {}, "sqlite3rbu_temp_size_limit": {}, "sqlite3rbu_vacuum": {}, + "sqlite3rebaser_configure": {}, + "sqlite3rebaser_create": {}, + "sqlite3rebaser_delete": {}, + "sqlite3rebaser_rebase": {}, + "sqlite3rebaser_rebase_strm": {}, + "sqlite3session_attach": {}, + "sqlite3session_changeset": {}, + "sqlite3session_changeset_size": {}, + "sqlite3session_changeset_strm": {}, + "sqlite3session_config": {}, + "sqlite3session_create": {}, + "sqlite3session_delete": {}, + "sqlite3session_diff": {}, + "sqlite3session_enable": {}, + "sqlite3session_indirect": {}, + "sqlite3session_isempty": {}, + "sqlite3session_memory_used": {}, + "sqlite3session_object_config": {}, + "sqlite3session_patchset": {}, + "sqlite3session_patchset_strm": {}, + "sqlite3session_table_filter": {}, } diff --git a/lib/capi_linux_386.go b/lib/capi_linux_386.go index 1a9201d..81ca364 100644 --- a/lib/capi_linux_386.go +++ b/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 -pkgname sqlite3 -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 -pkgname sqlite3 -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -1242,6 +1242,32 @@ var CAPI = map[string]struct{}{ "sqlite3aEQb": {}, "sqlite3aGTb": {}, "sqlite3aLTb": {}, + "sqlite3changegroup_add": {}, + "sqlite3changegroup_add_strm": {}, + "sqlite3changegroup_delete": {}, + "sqlite3changegroup_new": {}, + "sqlite3changegroup_output": {}, + "sqlite3changegroup_output_strm": {}, + "sqlite3changeset_apply": {}, + "sqlite3changeset_apply_strm": {}, + "sqlite3changeset_apply_v2": {}, + "sqlite3changeset_apply_v2_strm": {}, + "sqlite3changeset_concat": {}, + "sqlite3changeset_concat_strm": {}, + "sqlite3changeset_conflict": {}, + "sqlite3changeset_finalize": {}, + "sqlite3changeset_fk_conflicts": {}, + "sqlite3changeset_invert": {}, + "sqlite3changeset_invert_strm": {}, + "sqlite3changeset_new": {}, + "sqlite3changeset_next": {}, + "sqlite3changeset_old": {}, + "sqlite3changeset_op": {}, + "sqlite3changeset_pk": {}, + "sqlite3changeset_start": {}, + "sqlite3changeset_start_strm": {}, + "sqlite3changeset_start_v2": {}, + "sqlite3changeset_start_v2_strm": {}, "sqlite3rbu_bp_progress": {}, "sqlite3rbu_close": {}, "sqlite3rbu_create_vfs": {}, @@ -1255,4 +1281,25 @@ var CAPI = map[string]struct{}{ "sqlite3rbu_temp_size": {}, "sqlite3rbu_temp_size_limit": {}, "sqlite3rbu_vacuum": {}, + "sqlite3rebaser_configure": {}, + "sqlite3rebaser_create": {}, + "sqlite3rebaser_delete": {}, + "sqlite3rebaser_rebase": {}, + "sqlite3rebaser_rebase_strm": {}, + "sqlite3session_attach": {}, + "sqlite3session_changeset": {}, + "sqlite3session_changeset_size": {}, + "sqlite3session_changeset_strm": {}, + "sqlite3session_config": {}, + "sqlite3session_create": {}, + "sqlite3session_delete": {}, + "sqlite3session_diff": {}, + "sqlite3session_enable": {}, + "sqlite3session_indirect": {}, + "sqlite3session_isempty": {}, + "sqlite3session_memory_used": {}, + "sqlite3session_object_config": {}, + "sqlite3session_patchset": {}, + "sqlite3session_patchset_strm": {}, + "sqlite3session_table_filter": {}, } diff --git a/lib/capi_linux_amd64.go b/lib/capi_linux_amd64.go index ce14b2e..75f3c8e 100644 --- a/lib/capi_linux_amd64.go +++ b/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 -pkgname sqlite3 -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -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 -pkgname sqlite3 -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -1243,6 +1243,32 @@ var CAPI = map[string]struct{}{ "sqlite3aEQb": {}, "sqlite3aGTb": {}, "sqlite3aLTb": {}, + "sqlite3changegroup_add": {}, + "sqlite3changegroup_add_strm": {}, + "sqlite3changegroup_delete": {}, + "sqlite3changegroup_new": {}, + "sqlite3changegroup_output": {}, + "sqlite3changegroup_output_strm": {}, + "sqlite3changeset_apply": {}, + "sqlite3changeset_apply_strm": {}, + "sqlite3changeset_apply_v2": {}, + "sqlite3changeset_apply_v2_strm": {}, + "sqlite3changeset_concat": {}, + "sqlite3changeset_concat_strm": {}, + "sqlite3changeset_conflict": {}, + "sqlite3changeset_finalize": {}, + "sqlite3changeset_fk_conflicts": {}, + "sqlite3changeset_invert": {}, + "sqlite3changeset_invert_strm": {}, + "sqlite3changeset_new": {}, + "sqlite3changeset_next": {}, + "sqlite3changeset_old": {}, + "sqlite3changeset_op": {}, + "sqlite3changeset_pk": {}, + "sqlite3changeset_start": {}, + "sqlite3changeset_start_strm": {}, + "sqlite3changeset_start_v2": {}, + "sqlite3changeset_start_v2_strm": {}, "sqlite3rbu_bp_progress": {}, "sqlite3rbu_close": {}, "sqlite3rbu_create_vfs": {}, @@ -1256,4 +1282,25 @@ var CAPI = map[string]struct{}{ "sqlite3rbu_temp_size": {}, "sqlite3rbu_temp_size_limit": {}, "sqlite3rbu_vacuum": {}, + "sqlite3rebaser_configure": {}, + "sqlite3rebaser_create": {}, + "sqlite3rebaser_delete": {}, + "sqlite3rebaser_rebase": {}, + "sqlite3rebaser_rebase_strm": {}, + "sqlite3session_attach": {}, + "sqlite3session_changeset": {}, + "sqlite3session_changeset_size": {}, + "sqlite3session_changeset_strm": {}, + "sqlite3session_config": {}, + "sqlite3session_create": {}, + "sqlite3session_delete": {}, + "sqlite3session_diff": {}, + "sqlite3session_enable": {}, + "sqlite3session_indirect": {}, + "sqlite3session_isempty": {}, + "sqlite3session_memory_used": {}, + "sqlite3session_object_config": {}, + "sqlite3session_patchset": {}, + "sqlite3session_patchset_strm": {}, + "sqlite3session_table_filter": {}, } diff --git a/lib/capi_linux_arm.go b/lib/capi_linux_arm.go index d6fdc47..8d4ff89 100644 --- a/lib/capi_linux_arm.go +++ b/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 -pkgname sqlite3 -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 -pkgname sqlite3 -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -1242,6 +1242,32 @@ var CAPI = map[string]struct{}{ "sqlite3aEQb": {}, "sqlite3aGTb": {}, "sqlite3aLTb": {}, + "sqlite3changegroup_add": {}, + "sqlite3changegroup_add_strm": {}, + "sqlite3changegroup_delete": {}, + "sqlite3changegroup_new": {}, + "sqlite3changegroup_output": {}, + "sqlite3changegroup_output_strm": {}, + "sqlite3changeset_apply": {}, + "sqlite3changeset_apply_strm": {}, + "sqlite3changeset_apply_v2": {}, + "sqlite3changeset_apply_v2_strm": {}, + "sqlite3changeset_concat": {}, + "sqlite3changeset_concat_strm": {}, + "sqlite3changeset_conflict": {}, + "sqlite3changeset_finalize": {}, + "sqlite3changeset_fk_conflicts": {}, + "sqlite3changeset_invert": {}, + "sqlite3changeset_invert_strm": {}, + "sqlite3changeset_new": {}, + "sqlite3changeset_next": {}, + "sqlite3changeset_old": {}, + "sqlite3changeset_op": {}, + "sqlite3changeset_pk": {}, + "sqlite3changeset_start": {}, + "sqlite3changeset_start_strm": {}, + "sqlite3changeset_start_v2": {}, + "sqlite3changeset_start_v2_strm": {}, "sqlite3rbu_bp_progress": {}, "sqlite3rbu_close": {}, "sqlite3rbu_create_vfs": {}, @@ -1255,4 +1281,25 @@ var CAPI = map[string]struct{}{ "sqlite3rbu_temp_size": {}, "sqlite3rbu_temp_size_limit": {}, "sqlite3rbu_vacuum": {}, + "sqlite3rebaser_configure": {}, + "sqlite3rebaser_create": {}, + "sqlite3rebaser_delete": {}, + "sqlite3rebaser_rebase": {}, + "sqlite3rebaser_rebase_strm": {}, + "sqlite3session_attach": {}, + "sqlite3session_changeset": {}, + "sqlite3session_changeset_size": {}, + "sqlite3session_changeset_strm": {}, + "sqlite3session_config": {}, + "sqlite3session_create": {}, + "sqlite3session_delete": {}, + "sqlite3session_diff": {}, + "sqlite3session_enable": {}, + "sqlite3session_indirect": {}, + "sqlite3session_isempty": {}, + "sqlite3session_memory_used": {}, + "sqlite3session_object_config": {}, + "sqlite3session_patchset": {}, + "sqlite3session_patchset_strm": {}, + "sqlite3session_table_filter": {}, } diff --git a/lib/capi_linux_arm64.go b/lib/capi_linux_arm64.go index b1222ea..c9050bf 100644 --- a/lib/capi_linux_arm64.go +++ b/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 -pkgname sqlite3 -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 -pkgname sqlite3 -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -1242,6 +1242,32 @@ var CAPI = map[string]struct{}{ "sqlite3aEQb": {}, "sqlite3aGTb": {}, "sqlite3aLTb": {}, + "sqlite3changegroup_add": {}, + "sqlite3changegroup_add_strm": {}, + "sqlite3changegroup_delete": {}, + "sqlite3changegroup_new": {}, + "sqlite3changegroup_output": {}, + "sqlite3changegroup_output_strm": {}, + "sqlite3changeset_apply": {}, + "sqlite3changeset_apply_strm": {}, + "sqlite3changeset_apply_v2": {}, + "sqlite3changeset_apply_v2_strm": {}, + "sqlite3changeset_concat": {}, + "sqlite3changeset_concat_strm": {}, + "sqlite3changeset_conflict": {}, + "sqlite3changeset_finalize": {}, + "sqlite3changeset_fk_conflicts": {}, + "sqlite3changeset_invert": {}, + "sqlite3changeset_invert_strm": {}, + "sqlite3changeset_new": {}, + "sqlite3changeset_next": {}, + "sqlite3changeset_old": {}, + "sqlite3changeset_op": {}, + "sqlite3changeset_pk": {}, + "sqlite3changeset_start": {}, + "sqlite3changeset_start_strm": {}, + "sqlite3changeset_start_v2": {}, + "sqlite3changeset_start_v2_strm": {}, "sqlite3rbu_bp_progress": {}, "sqlite3rbu_close": {}, "sqlite3rbu_create_vfs": {}, @@ -1255,4 +1281,25 @@ var CAPI = map[string]struct{}{ "sqlite3rbu_temp_size": {}, "sqlite3rbu_temp_size_limit": {}, "sqlite3rbu_vacuum": {}, + "sqlite3rebaser_configure": {}, + "sqlite3rebaser_create": {}, + "sqlite3rebaser_delete": {}, + "sqlite3rebaser_rebase": {}, + "sqlite3rebaser_rebase_strm": {}, + "sqlite3session_attach": {}, + "sqlite3session_changeset": {}, + "sqlite3session_changeset_size": {}, + "sqlite3session_changeset_strm": {}, + "sqlite3session_config": {}, + "sqlite3session_create": {}, + "sqlite3session_delete": {}, + "sqlite3session_diff": {}, + "sqlite3session_enable": {}, + "sqlite3session_indirect": {}, + "sqlite3session_isempty": {}, + "sqlite3session_memory_used": {}, + "sqlite3session_object_config": {}, + "sqlite3session_patchset": {}, + "sqlite3session_patchset_strm": {}, + "sqlite3session_table_filter": {}, } diff --git a/lib/capi_windows_amd64.go b/lib/capi_windows_amd64.go index f2c73b3..0ff5587 100644 --- a/lib/capi_windows_amd64.go +++ b/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 -pkgname sqlite3 -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 -pkgname sqlite3 -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT. package sqlite3 @@ -1259,6 +1259,32 @@ var CAPI = map[string]struct{}{ "sqlite3aEQb": {}, "sqlite3aGTb": {}, "sqlite3aLTb": {}, + "sqlite3changegroup_add": {}, + "sqlite3changegroup_add_strm": {}, + "sqlite3changegroup_delete": {}, + "sqlite3changegroup_new": {}, + "sqlite3changegroup_output": {}, + "sqlite3changegroup_output_strm": {}, + "sqlite3changeset_apply": {}, + "sqlite3changeset_apply_strm": {}, + "sqlite3changeset_apply_v2": {}, + "sqlite3changeset_apply_v2_strm": {}, + "sqlite3changeset_concat": {}, + "sqlite3changeset_concat_strm": {}, + "sqlite3changeset_conflict": {}, + "sqlite3changeset_finalize": {}, + "sqlite3changeset_fk_conflicts": {}, + "sqlite3changeset_invert": {}, + "sqlite3changeset_invert_strm": {}, + "sqlite3changeset_new": {}, + "sqlite3changeset_next": {}, + "sqlite3changeset_old": {}, + "sqlite3changeset_op": {}, + "sqlite3changeset_pk": {}, + "sqlite3changeset_start": {}, + "sqlite3changeset_start_strm": {}, + "sqlite3changeset_start_v2": {}, + "sqlite3changeset_start_v2_strm": {}, "sqlite3rbu_bp_progress": {}, "sqlite3rbu_close": {}, "sqlite3rbu_create_vfs": {}, @@ -1272,6 +1298,27 @@ var CAPI = map[string]struct{}{ "sqlite3rbu_temp_size": {}, "sqlite3rbu_temp_size_limit": {}, "sqlite3rbu_vacuum": {}, + "sqlite3rebaser_configure": {}, + "sqlite3rebaser_create": {}, + "sqlite3rebaser_delete": {}, + "sqlite3rebaser_rebase": {}, + "sqlite3rebaser_rebase_strm": {}, + "sqlite3session_attach": {}, + "sqlite3session_changeset": {}, + "sqlite3session_changeset_size": {}, + "sqlite3session_changeset_strm": {}, + "sqlite3session_config": {}, + "sqlite3session_create": {}, + "sqlite3session_delete": {}, + "sqlite3session_diff": {}, + "sqlite3session_enable": {}, + "sqlite3session_indirect": {}, + "sqlite3session_isempty": {}, + "sqlite3session_memory_used": {}, + "sqlite3session_object_config": {}, + "sqlite3session_patchset": {}, + "sqlite3session_patchset_strm": {}, + "sqlite3session_table_filter": {}, "timezone": {}, "tzname": {}, } diff --git a/lib/sqlite_darwin_amd64.go b/lib/sqlite_darwin_amd64.go index 3504360..e54a296 100644 --- a/lib/sqlite_darwin_amd64.go +++ b/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 "" -pkgname sqlite3 -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 "" -pkgname sqlite3 -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. package sqlite3 @@ -1806,6 +1806,9 @@ const ( SEGV_MAPERR = 1 SEGV_NOOP = 0 SELECTTRACE_ENABLED = 0 + SESSIONS_STRM_CHUNK_SIZE = 1024 + SESSION_MAX_BUFFER_SZ = 2147483391 + SESSION_UPDATE_CACHE_SZ = 12 SF_APPEND = 0x00040000 SF_ARCHIVED = 0x00010000 SF_Aggregate = 0x0000008 @@ -1956,6 +1959,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -2112,6 +2126,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -2479,6 +2494,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -4297,7 +4314,7 @@ type X__float128 = float64 /* :47:21 */ // This array looks large, but in a typical installation actually uses // only a handful of compile-time options, so most times this array is usually // rather short and uses little memory space. -var sqlite3azCompileOpt = [18]uintptr{ +var sqlite3azCompileOpt = [19]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl ts, /* "COMPILER=gcc-11...." */ @@ -4310,14 +4327,15 @@ var sqlite3azCompileOpt = [18]uintptr{ ts + 131, /* "ENABLE_PREUPDATE..." */ ts + 153, /* "ENABLE_RBU" */ ts + 164, /* "ENABLE_RTREE" */ - ts + 177, /* "ENABLE_SNAPSHOT" */ - ts + 193, /* "ENABLE_STAT4" */ - ts + 206, /* "ENABLE_UNLOCK_NO..." */ - ts + 227, /* "LIKE_DOESNT_MATC..." */ - ts + 251, /* "MUTEX_NOOP" */ - ts + 262, /* "SOUNDEX" */ - ts + 270, /* "SYSTEM_MALLOC" */ - ts + 284, /* "THREADSAFE=1" */ + ts + 177, /* "ENABLE_SESSION" */ + ts + 192, /* "ENABLE_SNAPSHOT" */ + ts + 208, /* "ENABLE_STAT4" */ + ts + 221, /* "ENABLE_UNLOCK_NO..." */ + ts + 242, /* "LIKE_DOESNT_MATC..." */ + ts + 266, /* "MUTEX_NOOP" */ + ts + 277, /* "SOUNDEX" */ + ts + 285, /* "SYSTEM_MALLOC" */ + ts + 299, /* "THREADSAFE=1" */ // END CODE GENERATED BY tool/mkctime.tcl } /* sqlite3.c:72:19 */ @@ -4633,7 +4651,7 @@ type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ // of the hash might be different from [SQLITE_SOURCE_ID].)^ // // See also: [sqlite_version()] and [sqlite_source_id()]. -var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 297 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ +var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 312 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -7184,6 +7202,495 @@ type Sqlite3_rtree_dbl = float64 /* sqlite3.c:11048:18 */ //******* End of sqlite3rtree.h ******** //******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type sqlite3_session = struct { + Fdb uintptr + FzDb uintptr + FbEnableSize int32 + FbEnable int32 + FbIndirect int32 + FbAutoAttach int32 + Frc int32 + _ [4]byte + FpFilterCtx uintptr + FxTableFilter uintptr + FnMalloc I64 + FnMaxChangesetSize I64 + FpZeroBlob uintptr + FpNext uintptr + FpTable uintptr + Fhook SessionHook +} /* sqlite3.c:11155:9 */ + +// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. + +//******* End of sqlite3rtree.h ******** +//******* Begin file sqlite3session.h ******** + +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type sqlite3_changeset_iter = struct { + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + _ [4]byte + FabPK uintptr + FapValue uintptr +} /* sqlite3.c:11163:9 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type Sqlite3_changeset_iter = sqlite3_changeset_iter /* sqlite3.c:11163:39 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type sqlite3_changegroup = struct { + Frc int32 + FbPatch int32 + FpList uintptr +} /* sqlite3.c:12015:9 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type Sqlite3_changegroup = sqlite3_changegroup /* sqlite3.c:12015:36 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type sqlite3_rebaser = struct{ Fgrp Sqlite3_changegroup } /* sqlite3.c:12579:9 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ + +// CAPI3REF: Values for sqlite3session_config(). + +// Make sure we can call this stuff from C++. + //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** // 2014 May 31 @@ -7234,10 +7741,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.c:12895:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -16894,7 +17400,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 304 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 319 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -18097,7 +18603,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+311 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+326 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { goto __9 } return 1 @@ -18134,13 +18640,13 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 // var s int32 at bp+32, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+319 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+334 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+327 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+342 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -18259,7 +18765,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+331 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+346 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -18340,7 +18846,7 @@ func parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) i return 0 } else if parseHhMmSs(tls, zDate, p) == 0 { return 0 - } else if (Xsqlite3StrICmp(tls, zDate, ts+343 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { + } else if (Xsqlite3StrICmp(tls, zDate, ts+358 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { return setDateTimeToCurrent(tls, context, p) } else if Xsqlite3AtoF(tls, zDate, bp /* &r */, Xsqlite3Strlen30(tls, zDate), uint8(SQLITE_UTF8)) > 0 { setRawDateNumber(tls, p, *(*float64)(unsafe.Pointer(bp /* r */))) @@ -18522,7 +19028,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite computeJD(tls, bp+56 /* &x */) *(*Time_t)(unsafe.Pointer(bp + 104 /* t */)) = (Time_t(((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000)))) if osLocaltime(tls, bp+104 /* &t */, bp /* &sLocal */) != 0 { - Xsqlite3_result_error(tls, pCtx, ts+347 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+362 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -18557,12 +19063,12 @@ var aXformType = [6]struct { FrLimit float64 FrXform float64 }{ - {FnName: U8(6), FzName: ts + 370 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, - {FnName: U8(6), FzName: ts + 377 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, - {FnName: U8(4), FzName: ts + 384 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, - {FnName: U8(3), FzName: ts + 389 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, - {FeType: U8(1), FnName: U8(5), FzName: ts + 393 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, - {FeType: U8(2), FnName: U8(4), FzName: ts + 399 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, + {FnName: U8(6), FzName: ts + 385 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, + {FnName: U8(6), FzName: ts + 392 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, + {FnName: U8(4), FzName: ts + 399 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, + {FnName: U8(3), FzName: ts + 404 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, + {FeType: U8(1), FnName: U8(5), FzName: ts + 408 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, + {FeType: U8(2), FnName: U8(4), FzName: ts + 414 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, } /* sqlite3.c:22795:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -18601,7 +19107,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Assuming the current time value is UTC (a.k.a. GMT), shift it to // show local time. - if (Xsqlite3_stricmp(tls, z, ts+404 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + if (Xsqlite3_stricmp(tls, z, ts+419 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { computeJD(tls, p) *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (localtimeOffset(tls, p, pCtx, bp /* &rc */)) clearYMD_HMS_TZ(tls, p) @@ -18615,7 +19121,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Treat the current value of p->s as the number of // seconds since 1970. Convert to a real julian day number. - if (Xsqlite3_stricmp(tls, z, ts+414 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { + if (Xsqlite3_stricmp(tls, z, ts+429 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) @@ -18624,7 +19130,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+424 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + } else if (Xsqlite3_stricmp(tls, z, ts+439 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { if int32((*DateTime)(unsafe.Pointer(p)).FtzSet) == 0 { var c1 Sqlite3_int64 computeJD(tls, p) @@ -18649,7 +19155,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // Move the date to the same time on the next occurrence of // weekday N where 0==Sunday, 1==Monday, and so forth. If the // date is already on the appropriate weekday, this is a no-op. - if ((((Xsqlite3_strnicmp(tls, z, ts+428 /* "weekday " */, 8) == 0) && + if ((((Xsqlite3_strnicmp(tls, z, ts+443 /* "weekday " */, 8) == 0) && (Xsqlite3AtoF(tls, (z+8), bp+8 /* &r */, Xsqlite3Strlen30(tls, (z+8)), uint8(SQLITE_UTF8)) > 0)) && ((float64(libc.AssignInt32(&n, int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */)))))) == *(*float64)(unsafe.Pointer(bp + 8 /* r */)))) && (n >= 0)) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < float64(7)) { var Z Sqlite3_int64 @@ -18674,7 +19180,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Move the date backwards to the beginning of the current day, // or month or year. - if Xsqlite3_strnicmp(tls, z, ts+437 /* "start of " */, 9) != 0 { + if Xsqlite3_strnicmp(tls, z, ts+452 /* "start of " */, 9) != 0 { break } if (!(int32((*DateTime)(unsafe.Pointer(p)).FvalidJD) != 0) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidYMD) != 0)) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidHMS) != 0) { @@ -18688,14 +19194,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - if Xsqlite3_stricmp(tls, z, ts+393 /* "month" */) == 0 { + if Xsqlite3_stricmp(tls, z, ts+408 /* "month" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+399 /* "year" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+414 /* "year" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FM = 1 (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+389 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+404 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -18916,7 +19422,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // var zBuf [100]int8 at bp+96, 100 computeYMD_HMS(tls, bp+48 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+447, /* "%04d-%02d-%02d %..." */ + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+462, /* "%04d-%02d-%02d %..." */ libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } @@ -18935,7 +19441,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeHMS(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+477 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+492 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -18953,7 +19459,7 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeYMD(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+492 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+507 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -19080,7 +19586,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+507 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+522 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (uint64(2)) break fallthrough @@ -19090,14 +19596,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+512 /* "%06.3f" */, libc.VaList(bp+8, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+527 /* "%06.3f" */, libc.VaList(bp+8, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+507 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+522 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) j = j + (uint64(2)) break fallthrough @@ -19115,10 +19621,10 @@ __3: if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday wd = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+507 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+522 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) j = j + (uint64(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+519 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+534 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) j = j + (uint64(3)) } break @@ -19127,19 +19633,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+524 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+539 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+507 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+522 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) j = j + (uint64(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+507 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+522 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) j = j + (uint64(2)) break fallthrough @@ -19153,7 +19659,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+507 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+522 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough @@ -19166,7 +19672,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+530 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+545 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -19223,14 +19729,14 @@ func Xsqlite3RegisterDateTimeFunctions(tls *libc.TLS) { /* sqlite3.c:23404:21: * } var aDateTimeFuncs = [8]FuncDef{ - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 535 /* "julianday" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 545 /* "date" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 550 /* "time" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 555 /* "datetime" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 564 /* "strftime" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 573 /* "current_time" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 586 /* "current_timestam..." */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 604 /* "current_date" */}} /* sqlite3.c:23405:18 */ + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 550 /* "julianday" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 560 /* "date" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 565 /* "time" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 570 /* "datetime" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 579 /* "strftime" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 588 /* "current_time" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 601 /* "current_timestam..." */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 619 /* "current_date" */}} /* sqlite3.c:23405:18 */ //************* End of date.c *********************************************** //************* Begin file os.c ********************************************* @@ -19807,7 +20313,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p += 8 } else { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+617 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+632 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -19858,7 +20364,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* } else { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+655, /* "failed memory re..." */ + ts+670, /* "failed memory re..." */ libc.VaList(bp, sqlite3MemSize(tls, pPrior), nByte)) } return p @@ -21043,8 +21549,8 @@ type Et_info = et_info /* sqlite3.c:28672:3 */ // The following table is searched linearly, so it is good to put the // most frequently used conversion types first. -var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 691 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 724 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ +var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 706 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 739 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ var fmtinfo = [23]Et_info{ {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, {Ffmttype: int8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, @@ -21298,7 +21804,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+731 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+746 /* "%" */, 1) goto __5 __11: ; @@ -21881,7 +22387,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 733 /* "NaN" */ + bufpt = ts + 748 /* "NaN" */ length = 3 goto __58 __127: @@ -21941,7 +22447,7 @@ __138: } bufpt = bp + 8 /* &buf[0] */ *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix - libc.X__builtin___memcpy_chk(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+737 /* "Inf" */, uint64(4), libc.X__builtin_object_size(tls, (bp+8 /* &buf[0] */ +uintptr((libc.Bool32(int32(prefix) != 0)))), 0)) + libc.X__builtin___memcpy_chk(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+752 /* "Inf" */, uint64(4), libc.X__builtin_object_size(tls, (bp+8 /* &buf[0] */ +uintptr((libc.Bool32(int32(prefix) != 0)))), 0)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: @@ -22298,7 +22804,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 741 /* "" */ + bufpt = ts + 756 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -22427,9 +22933,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 742 /* "NULL" */ + return ts + 757 /* "NULL" */ } - return ts + 747 /* "(NULL)" */ + return ts + 762 /* "(NULL)" */ }() __220: ; @@ -22564,7 +23070,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+754 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+769 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -22579,7 +23085,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+756 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, ts+771 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) __247: ; __246: @@ -22642,7 +23148,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 768 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 783 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -24754,7 +25260,7 @@ func compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) int32 { /* sqlite3.c var c int32 = 0 var i int32 // 012345678901234567 - var pow63 uintptr = ts + 777 /* "9223372036854775..." */ + var pow63 uintptr = ts + 792 /* "9223372036854775..." */ for i = 0; (c == 0) && (i < 18); i++ { c = ((int32(*(*int8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) } @@ -25404,7 +25910,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+796, /* "API call with %s..." */ + ts+811, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -25423,14 +25929,14 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ func Xsqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:33054:20: */ var magic U32 if db == uintptr(0) { - logBadConnection(tls, ts+742 /* "NULL" */) + logBadConnection(tls, ts+757 /* "NULL" */) return 0 } magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if magic != SQLITE_MAGIC_OPEN { if Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 { - logBadConnection(tls, ts+841 /* "unopened" */) + logBadConnection(tls, ts+856 /* "unopened" */) } return 0 } else { @@ -25444,7 +25950,7 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if ((magic != U32(SQLITE_MAGIC_SICK)) && (magic != SQLITE_MAGIC_OPEN)) && (magic != SQLITE_MAGIC_BUSY) { - logBadConnection(tls, ts+850 /* "invalid" */) + logBadConnection(tls, ts+865 /* "invalid" */) return 0 } else { return 1 @@ -25972,186 +26478,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 0 */ ts + 858, /* "Savepoint" */ - /* 1 */ ts + 868, /* "AutoCommit" */ - /* 2 */ ts + 879, /* "Transaction" */ - /* 3 */ ts + 891, /* "SorterNext" */ - /* 4 */ ts + 902, /* "Prev" */ - /* 5 */ ts + 907, /* "Next" */ - /* 6 */ ts + 912, /* "Checkpoint" */ - /* 7 */ ts + 923, /* "JournalMode" */ - /* 8 */ ts + 935, /* "Vacuum" */ - /* 9 */ ts + 942, /* "VFilter" */ - /* 10 */ ts + 950, /* "VUpdate" */ - /* 11 */ ts + 958, /* "Goto" */ - /* 12 */ ts + 963, /* "Gosub" */ - /* 13 */ ts + 969, /* "InitCoroutine" */ - /* 14 */ ts + 983, /* "Yield" */ - /* 15 */ ts + 989, /* "MustBeInt" */ - /* 16 */ ts + 999, /* "Jump" */ - /* 17 */ ts + 1004, /* "Once" */ - /* 18 */ ts + 1009, /* "If" */ - /* 19 */ ts + 1012, /* "Not" */ - /* 20 */ ts + 1016, /* "IfNot" */ - /* 21 */ ts + 1022, /* "IfNullRow" */ - /* 22 */ ts + 1032, /* "SeekLT" */ - /* 23 */ ts + 1039, /* "SeekLE" */ - /* 24 */ ts + 1046, /* "SeekGE" */ - /* 25 */ ts + 1053, /* "SeekGT" */ - /* 26 */ ts + 1060, /* "IfNotOpen" */ - /* 27 */ ts + 1070, /* "IfNoHope" */ - /* 28 */ ts + 1079, /* "NoConflict" */ - /* 29 */ ts + 1090, /* "NotFound" */ - /* 30 */ ts + 1099, /* "Found" */ - /* 31 */ ts + 1105, /* "SeekRowid" */ - /* 32 */ ts + 1115, /* "NotExists" */ - /* 33 */ ts + 1125, /* "Last" */ - /* 34 */ ts + 1130, /* "IfSmaller" */ - /* 35 */ ts + 1140, /* "SorterSort" */ - /* 36 */ ts + 1151, /* "Sort" */ - /* 37 */ ts + 1156, /* "Rewind" */ - /* 38 */ ts + 1163, /* "IdxLE" */ - /* 39 */ ts + 1169, /* "IdxGT" */ - /* 40 */ ts + 1175, /* "IdxLT" */ - /* 41 */ ts + 1181, /* "IdxGE" */ - /* 42 */ ts + 1187, /* "RowSetRead" */ - /* 43 */ ts + 1198, /* "Or" */ - /* 44 */ ts + 1201, /* "And" */ - /* 45 */ ts + 1205, /* "RowSetTest" */ - /* 46 */ ts + 1216, /* "Program" */ - /* 47 */ ts + 1224, /* "FkIfZero" */ - /* 48 */ ts + 1233, /* "IfPos" */ - /* 49 */ ts + 1239, /* "IfNotZero" */ - /* 50 */ ts + 1249, /* "IsNull" */ - /* 51 */ ts + 1256, /* "NotNull" */ - /* 52 */ ts + 1264, /* "Ne" */ - /* 53 */ ts + 1267, /* "Eq" */ - /* 54 */ ts + 1270, /* "Gt" */ - /* 55 */ ts + 1273, /* "Le" */ - /* 56 */ ts + 1276, /* "Lt" */ - /* 57 */ ts + 1279, /* "Ge" */ - /* 58 */ ts + 1282, /* "ElseEq" */ - /* 59 */ ts + 1289, /* "DecrJumpZero" */ - /* 60 */ ts + 1302, /* "IncrVacuum" */ - /* 61 */ ts + 1313, /* "VNext" */ - /* 62 */ ts + 1319, /* "Init" */ - /* 63 */ ts + 1324, /* "PureFunc" */ - /* 64 */ ts + 1333, /* "Function" */ - /* 65 */ ts + 1342, /* "Return" */ - /* 66 */ ts + 1349, /* "EndCoroutine" */ - /* 67 */ ts + 1362, /* "HaltIfNull" */ - /* 68 */ ts + 1373, /* "Halt" */ - /* 69 */ ts + 1378, /* "Integer" */ - /* 70 */ ts + 1386, /* "Int64" */ - /* 71 */ ts + 1392, /* "String" */ - /* 72 */ ts + 1399, /* "Null" */ - /* 73 */ ts + 1404, /* "SoftNull" */ - /* 74 */ ts + 1413, /* "Blob" */ - /* 75 */ ts + 1418, /* "Variable" */ - /* 76 */ ts + 1427, /* "Move" */ - /* 77 */ ts + 1432, /* "Copy" */ - /* 78 */ ts + 1437, /* "SCopy" */ - /* 79 */ ts + 1443, /* "IntCopy" */ - /* 80 */ ts + 1451, /* "ChngCntRow" */ - /* 81 */ ts + 1462, /* "ResultRow" */ - /* 82 */ ts + 1472, /* "CollSeq" */ - /* 83 */ ts + 1480, /* "AddImm" */ - /* 84 */ ts + 1487, /* "RealAffinity" */ - /* 85 */ ts + 1500, /* "Cast" */ - /* 86 */ ts + 1505, /* "Permutation" */ - /* 87 */ ts + 1517, /* "Compare" */ - /* 88 */ ts + 1525, /* "IsTrue" */ - /* 89 */ ts + 1532, /* "ZeroOrNull" */ - /* 90 */ ts + 1543, /* "Offset" */ - /* 91 */ ts + 1550, /* "Column" */ - /* 92 */ ts + 1557, /* "Affinity" */ - /* 93 */ ts + 1566, /* "MakeRecord" */ - /* 94 */ ts + 1577, /* "Count" */ - /* 95 */ ts + 1583, /* "ReadCookie" */ - /* 96 */ ts + 1594, /* "SetCookie" */ - /* 97 */ ts + 1604, /* "ReopenIdx" */ - /* 98 */ ts + 1614, /* "OpenRead" */ - /* 99 */ ts + 1623, /* "OpenWrite" */ - /* 100 */ ts + 1633, /* "OpenDup" */ - /* 101 */ ts + 1641, /* "OpenAutoindex" */ - /* 102 */ ts + 1655, /* "BitAnd" */ - /* 103 */ ts + 1662, /* "BitOr" */ - /* 104 */ ts + 1668, /* "ShiftLeft" */ - /* 105 */ ts + 1678, /* "ShiftRight" */ - /* 106 */ ts + 1689, /* "Add" */ - /* 107 */ ts + 1693, /* "Subtract" */ - /* 108 */ ts + 1702, /* "Multiply" */ - /* 109 */ ts + 1711, /* "Divide" */ - /* 110 */ ts + 1718, /* "Remainder" */ - /* 111 */ ts + 1728, /* "Concat" */ - /* 112 */ ts + 1735, /* "OpenEphemeral" */ - /* 113 */ ts + 1749, /* "BitNot" */ - /* 114 */ ts + 1756, /* "SorterOpen" */ - /* 115 */ ts + 1767, /* "SequenceTest" */ - /* 116 */ ts + 1780, /* "String8" */ - /* 117 */ ts + 1788, /* "OpenPseudo" */ - /* 118 */ ts + 1799, /* "Close" */ - /* 119 */ ts + 1805, /* "ColumnsUsed" */ - /* 120 */ ts + 1817, /* "SeekScan" */ - /* 121 */ ts + 1826, /* "SeekHit" */ - /* 122 */ ts + 1834, /* "Sequence" */ - /* 123 */ ts + 1843, /* "NewRowid" */ - /* 124 */ ts + 1852, /* "Insert" */ - /* 125 */ ts + 1859, /* "RowCell" */ - /* 126 */ ts + 1867, /* "Delete" */ - /* 127 */ ts + 1874, /* "ResetCount" */ - /* 128 */ ts + 1885, /* "SorterCompare" */ - /* 129 */ ts + 1899, /* "SorterData" */ - /* 130 */ ts + 1910, /* "RowData" */ - /* 131 */ ts + 1918, /* "Rowid" */ - /* 132 */ ts + 1924, /* "NullRow" */ - /* 133 */ ts + 1932, /* "SeekEnd" */ - /* 134 */ ts + 1940, /* "IdxInsert" */ - /* 135 */ ts + 1950, /* "SorterInsert" */ - /* 136 */ ts + 1963, /* "IdxDelete" */ - /* 137 */ ts + 1973, /* "DeferredSeek" */ - /* 138 */ ts + 1986, /* "IdxRowid" */ - /* 139 */ ts + 1995, /* "FinishSeek" */ - /* 140 */ ts + 2006, /* "Destroy" */ - /* 141 */ ts + 2014, /* "Clear" */ - /* 142 */ ts + 2020, /* "ResetSorter" */ - /* 143 */ ts + 2032, /* "CreateBtree" */ - /* 144 */ ts + 2044, /* "SqlExec" */ - /* 145 */ ts + 2052, /* "ParseSchema" */ - /* 146 */ ts + 2064, /* "LoadAnalysis" */ - /* 147 */ ts + 2077, /* "DropTable" */ - /* 148 */ ts + 2087, /* "DropIndex" */ - /* 149 */ ts + 2097, /* "DropTrigger" */ - /* 150 */ ts + 2109, /* "IntegrityCk" */ - /* 151 */ ts + 2121, /* "RowSetAdd" */ - /* 152 */ ts + 2131, /* "Real" */ - /* 153 */ ts + 2136, /* "Param" */ - /* 154 */ ts + 2142, /* "FkCounter" */ - /* 155 */ ts + 2152, /* "MemMax" */ - /* 156 */ ts + 2159, /* "OffsetLimit" */ - /* 157 */ ts + 2171, /* "AggInverse" */ - /* 158 */ ts + 2182, /* "AggStep" */ - /* 159 */ ts + 2190, /* "AggStep1" */ - /* 160 */ ts + 2199, /* "AggValue" */ - /* 161 */ ts + 2208, /* "AggFinal" */ - /* 162 */ ts + 2217, /* "Expire" */ - /* 163 */ ts + 2224, /* "CursorLock" */ - /* 164 */ ts + 2235, /* "CursorUnlock" */ - /* 165 */ ts + 2248, /* "TableLock" */ - /* 166 */ ts + 2258, /* "VBegin" */ - /* 167 */ ts + 2265, /* "VCreate" */ - /* 168 */ ts + 2273, /* "VDestroy" */ - /* 169 */ ts + 2282, /* "VOpen" */ - /* 170 */ ts + 2288, /* "VColumn" */ - /* 171 */ ts + 2296, /* "VRename" */ - /* 172 */ ts + 2304, /* "Pagecount" */ - /* 173 */ ts + 2314, /* "MaxPgcnt" */ - /* 174 */ ts + 2323, /* "Trace" */ - /* 175 */ ts + 2329, /* "CursorHint" */ - /* 176 */ ts + 2340, /* "ReleaseReg" */ - /* 177 */ ts + 2351, /* "Noop" */ - /* 178 */ ts + 2356, /* "Explain" */ - /* 179 */ ts + 2364, /* "Abortable" */ + /* 0 */ ts + 873, /* "Savepoint" */ + /* 1 */ ts + 883, /* "AutoCommit" */ + /* 2 */ ts + 894, /* "Transaction" */ + /* 3 */ ts + 906, /* "SorterNext" */ + /* 4 */ ts + 917, /* "Prev" */ + /* 5 */ ts + 922, /* "Next" */ + /* 6 */ ts + 927, /* "Checkpoint" */ + /* 7 */ ts + 938, /* "JournalMode" */ + /* 8 */ ts + 950, /* "Vacuum" */ + /* 9 */ ts + 957, /* "VFilter" */ + /* 10 */ ts + 965, /* "VUpdate" */ + /* 11 */ ts + 973, /* "Goto" */ + /* 12 */ ts + 978, /* "Gosub" */ + /* 13 */ ts + 984, /* "InitCoroutine" */ + /* 14 */ ts + 998, /* "Yield" */ + /* 15 */ ts + 1004, /* "MustBeInt" */ + /* 16 */ ts + 1014, /* "Jump" */ + /* 17 */ ts + 1019, /* "Once" */ + /* 18 */ ts + 1024, /* "If" */ + /* 19 */ ts + 1027, /* "Not" */ + /* 20 */ ts + 1031, /* "IfNot" */ + /* 21 */ ts + 1037, /* "IfNullRow" */ + /* 22 */ ts + 1047, /* "SeekLT" */ + /* 23 */ ts + 1054, /* "SeekLE" */ + /* 24 */ ts + 1061, /* "SeekGE" */ + /* 25 */ ts + 1068, /* "SeekGT" */ + /* 26 */ ts + 1075, /* "IfNotOpen" */ + /* 27 */ ts + 1085, /* "IfNoHope" */ + /* 28 */ ts + 1094, /* "NoConflict" */ + /* 29 */ ts + 1105, /* "NotFound" */ + /* 30 */ ts + 1114, /* "Found" */ + /* 31 */ ts + 1120, /* "SeekRowid" */ + /* 32 */ ts + 1130, /* "NotExists" */ + /* 33 */ ts + 1140, /* "Last" */ + /* 34 */ ts + 1145, /* "IfSmaller" */ + /* 35 */ ts + 1155, /* "SorterSort" */ + /* 36 */ ts + 1166, /* "Sort" */ + /* 37 */ ts + 1171, /* "Rewind" */ + /* 38 */ ts + 1178, /* "IdxLE" */ + /* 39 */ ts + 1184, /* "IdxGT" */ + /* 40 */ ts + 1190, /* "IdxLT" */ + /* 41 */ ts + 1196, /* "IdxGE" */ + /* 42 */ ts + 1202, /* "RowSetRead" */ + /* 43 */ ts + 1213, /* "Or" */ + /* 44 */ ts + 1216, /* "And" */ + /* 45 */ ts + 1220, /* "RowSetTest" */ + /* 46 */ ts + 1231, /* "Program" */ + /* 47 */ ts + 1239, /* "FkIfZero" */ + /* 48 */ ts + 1248, /* "IfPos" */ + /* 49 */ ts + 1254, /* "IfNotZero" */ + /* 50 */ ts + 1264, /* "IsNull" */ + /* 51 */ ts + 1271, /* "NotNull" */ + /* 52 */ ts + 1279, /* "Ne" */ + /* 53 */ ts + 1282, /* "Eq" */ + /* 54 */ ts + 1285, /* "Gt" */ + /* 55 */ ts + 1288, /* "Le" */ + /* 56 */ ts + 1291, /* "Lt" */ + /* 57 */ ts + 1294, /* "Ge" */ + /* 58 */ ts + 1297, /* "ElseEq" */ + /* 59 */ ts + 1304, /* "DecrJumpZero" */ + /* 60 */ ts + 1317, /* "IncrVacuum" */ + /* 61 */ ts + 1328, /* "VNext" */ + /* 62 */ ts + 1334, /* "Init" */ + /* 63 */ ts + 1339, /* "PureFunc" */ + /* 64 */ ts + 1348, /* "Function" */ + /* 65 */ ts + 1357, /* "Return" */ + /* 66 */ ts + 1364, /* "EndCoroutine" */ + /* 67 */ ts + 1377, /* "HaltIfNull" */ + /* 68 */ ts + 1388, /* "Halt" */ + /* 69 */ ts + 1393, /* "Integer" */ + /* 70 */ ts + 1401, /* "Int64" */ + /* 71 */ ts + 1407, /* "String" */ + /* 72 */ ts + 1414, /* "Null" */ + /* 73 */ ts + 1419, /* "SoftNull" */ + /* 74 */ ts + 1428, /* "Blob" */ + /* 75 */ ts + 1433, /* "Variable" */ + /* 76 */ ts + 1442, /* "Move" */ + /* 77 */ ts + 1447, /* "Copy" */ + /* 78 */ ts + 1452, /* "SCopy" */ + /* 79 */ ts + 1458, /* "IntCopy" */ + /* 80 */ ts + 1466, /* "ChngCntRow" */ + /* 81 */ ts + 1477, /* "ResultRow" */ + /* 82 */ ts + 1487, /* "CollSeq" */ + /* 83 */ ts + 1495, /* "AddImm" */ + /* 84 */ ts + 1502, /* "RealAffinity" */ + /* 85 */ ts + 1515, /* "Cast" */ + /* 86 */ ts + 1520, /* "Permutation" */ + /* 87 */ ts + 1532, /* "Compare" */ + /* 88 */ ts + 1540, /* "IsTrue" */ + /* 89 */ ts + 1547, /* "ZeroOrNull" */ + /* 90 */ ts + 1558, /* "Offset" */ + /* 91 */ ts + 1565, /* "Column" */ + /* 92 */ ts + 1572, /* "Affinity" */ + /* 93 */ ts + 1581, /* "MakeRecord" */ + /* 94 */ ts + 1592, /* "Count" */ + /* 95 */ ts + 1598, /* "ReadCookie" */ + /* 96 */ ts + 1609, /* "SetCookie" */ + /* 97 */ ts + 1619, /* "ReopenIdx" */ + /* 98 */ ts + 1629, /* "OpenRead" */ + /* 99 */ ts + 1638, /* "OpenWrite" */ + /* 100 */ ts + 1648, /* "OpenDup" */ + /* 101 */ ts + 1656, /* "OpenAutoindex" */ + /* 102 */ ts + 1670, /* "BitAnd" */ + /* 103 */ ts + 1677, /* "BitOr" */ + /* 104 */ ts + 1683, /* "ShiftLeft" */ + /* 105 */ ts + 1693, /* "ShiftRight" */ + /* 106 */ ts + 1704, /* "Add" */ + /* 107 */ ts + 1708, /* "Subtract" */ + /* 108 */ ts + 1717, /* "Multiply" */ + /* 109 */ ts + 1726, /* "Divide" */ + /* 110 */ ts + 1733, /* "Remainder" */ + /* 111 */ ts + 1743, /* "Concat" */ + /* 112 */ ts + 1750, /* "OpenEphemeral" */ + /* 113 */ ts + 1764, /* "BitNot" */ + /* 114 */ ts + 1771, /* "SorterOpen" */ + /* 115 */ ts + 1782, /* "SequenceTest" */ + /* 116 */ ts + 1795, /* "String8" */ + /* 117 */ ts + 1803, /* "OpenPseudo" */ + /* 118 */ ts + 1814, /* "Close" */ + /* 119 */ ts + 1820, /* "ColumnsUsed" */ + /* 120 */ ts + 1832, /* "SeekScan" */ + /* 121 */ ts + 1841, /* "SeekHit" */ + /* 122 */ ts + 1849, /* "Sequence" */ + /* 123 */ ts + 1858, /* "NewRowid" */ + /* 124 */ ts + 1867, /* "Insert" */ + /* 125 */ ts + 1874, /* "RowCell" */ + /* 126 */ ts + 1882, /* "Delete" */ + /* 127 */ ts + 1889, /* "ResetCount" */ + /* 128 */ ts + 1900, /* "SorterCompare" */ + /* 129 */ ts + 1914, /* "SorterData" */ + /* 130 */ ts + 1925, /* "RowData" */ + /* 131 */ ts + 1933, /* "Rowid" */ + /* 132 */ ts + 1939, /* "NullRow" */ + /* 133 */ ts + 1947, /* "SeekEnd" */ + /* 134 */ ts + 1955, /* "IdxInsert" */ + /* 135 */ ts + 1965, /* "SorterInsert" */ + /* 136 */ ts + 1978, /* "IdxDelete" */ + /* 137 */ ts + 1988, /* "DeferredSeek" */ + /* 138 */ ts + 2001, /* "IdxRowid" */ + /* 139 */ ts + 2010, /* "FinishSeek" */ + /* 140 */ ts + 2021, /* "Destroy" */ + /* 141 */ ts + 2029, /* "Clear" */ + /* 142 */ ts + 2035, /* "ResetSorter" */ + /* 143 */ ts + 2047, /* "CreateBtree" */ + /* 144 */ ts + 2059, /* "SqlExec" */ + /* 145 */ ts + 2067, /* "ParseSchema" */ + /* 146 */ ts + 2079, /* "LoadAnalysis" */ + /* 147 */ ts + 2092, /* "DropTable" */ + /* 148 */ ts + 2102, /* "DropIndex" */ + /* 149 */ ts + 2112, /* "DropTrigger" */ + /* 150 */ ts + 2124, /* "IntegrityCk" */ + /* 151 */ ts + 2136, /* "RowSetAdd" */ + /* 152 */ ts + 2146, /* "Real" */ + /* 153 */ ts + 2151, /* "Param" */ + /* 154 */ ts + 2157, /* "FkCounter" */ + /* 155 */ ts + 2167, /* "MemMax" */ + /* 156 */ ts + 2174, /* "OffsetLimit" */ + /* 157 */ ts + 2186, /* "AggInverse" */ + /* 158 */ ts + 2197, /* "AggStep" */ + /* 159 */ ts + 2205, /* "AggStep1" */ + /* 160 */ ts + 2214, /* "AggValue" */ + /* 161 */ ts + 2223, /* "AggFinal" */ + /* 162 */ ts + 2232, /* "Expire" */ + /* 163 */ ts + 2239, /* "CursorLock" */ + /* 164 */ ts + 2250, /* "CursorUnlock" */ + /* 165 */ ts + 2263, /* "TableLock" */ + /* 166 */ ts + 2273, /* "VBegin" */ + /* 167 */ ts + 2280, /* "VCreate" */ + /* 168 */ ts + 2288, /* "VDestroy" */ + /* 169 */ ts + 2297, /* "VOpen" */ + /* 170 */ ts + 2303, /* "VColumn" */ + /* 171 */ ts + 2311, /* "VRename" */ + /* 172 */ ts + 2319, /* "Pagecount" */ + /* 173 */ ts + 2329, /* "MaxPgcnt" */ + /* 174 */ ts + 2338, /* "Trace" */ + /* 175 */ ts + 2344, /* "CursorHint" */ + /* 176 */ ts + 2355, /* "ReleaseReg" */ + /* 177 */ ts + 2366, /* "Noop" */ + /* 178 */ ts + 2371, /* "Explain" */ + /* 179 */ ts + 2379, /* "Abortable" */ } /* sqlite3.c:33673:20 */ //************* End of opcodes.c ******************************************** @@ -35235,67 +35741,67 @@ type unix_syscall = struct { // testing and sandboxing. The following array holds the names and pointers // to all overrideable system calls. var aSyscall = [29]unix_syscall{ - {FzName: ts + 2374 /* "open" */, FpCurrent: 0}, + {FzName: ts + 2389 /* "open" */, FpCurrent: 0}, - {FzName: ts + 2379 /* "close" */, FpCurrent: 0}, + {FzName: ts + 2394 /* "close" */, FpCurrent: 0}, - {FzName: ts + 2385 /* "access" */, FpCurrent: 0}, + {FzName: ts + 2400 /* "access" */, FpCurrent: 0}, - {FzName: ts + 2392 /* "getcwd" */, FpCurrent: 0}, + {FzName: ts + 2407 /* "getcwd" */, FpCurrent: 0}, - {FzName: ts + 2399 /* "stat" */, FpCurrent: 0}, + {FzName: ts + 2414 /* "stat" */, FpCurrent: 0}, // The DJGPP compiler environment looks mostly like Unix, but it // lacks the fcntl() system call. So redefine fcntl() to be something // that always succeeds. This means that locking does not occur under // DJGPP. But it is DOS - what did you expect? - {FzName: ts + 2404 /* "fstat" */, FpCurrent: 0}, + {FzName: ts + 2419 /* "fstat" */, FpCurrent: 0}, - {FzName: ts + 2410 /* "ftruncate" */, FpCurrent: 0}, + {FzName: ts + 2425 /* "ftruncate" */, FpCurrent: 0}, - {FzName: ts + 2420 /* "fcntl" */, FpCurrent: 0}, + {FzName: ts + 2435 /* "fcntl" */, FpCurrent: 0}, - {FzName: ts + 2426 /* "read" */, FpCurrent: 0}, + {FzName: ts + 2441 /* "read" */, FpCurrent: 0}, - {FzName: ts + 2431 /* "pread" */, FpCurrent: 0}, + {FzName: ts + 2446 /* "pread" */, FpCurrent: 0}, - {FzName: ts + 2437 /* "pread64" */}, + {FzName: ts + 2452 /* "pread64" */}, - {FzName: ts + 2445 /* "write" */, FpCurrent: 0}, + {FzName: ts + 2460 /* "write" */, FpCurrent: 0}, - {FzName: ts + 2451 /* "pwrite" */, FpCurrent: 0}, + {FzName: ts + 2466 /* "pwrite" */, FpCurrent: 0}, - {FzName: ts + 2458 /* "pwrite64" */}, + {FzName: ts + 2473 /* "pwrite64" */}, - {FzName: ts + 2467 /* "fchmod" */, FpCurrent: 0}, + {FzName: ts + 2482 /* "fchmod" */, FpCurrent: 0}, - {FzName: ts + 2474 /* "fallocate" */}, + {FzName: ts + 2489 /* "fallocate" */}, - {FzName: ts + 2484 /* "unlink" */, FpCurrent: 0}, + {FzName: ts + 2499 /* "unlink" */, FpCurrent: 0}, - {FzName: ts + 2491 /* "openDirectory" */, FpCurrent: 0}, + {FzName: ts + 2506 /* "openDirectory" */, FpCurrent: 0}, - {FzName: ts + 2505 /* "mkdir" */, FpCurrent: 0}, + {FzName: ts + 2520 /* "mkdir" */, FpCurrent: 0}, - {FzName: ts + 2511 /* "rmdir" */, FpCurrent: 0}, + {FzName: ts + 2526 /* "rmdir" */, FpCurrent: 0}, - {FzName: ts + 2517 /* "fchown" */, FpCurrent: 0}, + {FzName: ts + 2532 /* "fchown" */, FpCurrent: 0}, - {FzName: ts + 2524 /* "geteuid" */, FpCurrent: 0}, + {FzName: ts + 2539 /* "geteuid" */, FpCurrent: 0}, - {FzName: ts + 2532 /* "mmap" */, FpCurrent: 0}, + {FzName: ts + 2547 /* "mmap" */, FpCurrent: 0}, - {FzName: ts + 2537 /* "munmap" */, FpCurrent: 0}, + {FzName: ts + 2552 /* "munmap" */, FpCurrent: 0}, - {FzName: ts + 2544 /* "mremap" */}, + {FzName: ts + 2559 /* "mremap" */}, - {FzName: ts + 2551 /* "getpagesize" */, FpCurrent: 0}, + {FzName: ts + 2566 /* "getpagesize" */, FpCurrent: 0}, - {FzName: ts + 2563 /* "readlink" */, FpCurrent: 0}, + {FzName: ts + 2578 /* "readlink" */, FpCurrent: 0}, - {FzName: ts + 2572 /* "lstat" */, FpCurrent: 0}, + {FzName: ts + 2587 /* "lstat" */, FpCurrent: 0}, - {FzName: ts + 2578 /* "ioctl" */}, + {FzName: ts + 2593 /* "ioctl" */}, } /* sqlite3.c:34446:3 */ // End of the overrideable system calls @@ -35429,9 +35935,9 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3 } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, fd) Xsqlite3_log(tls, SQLITE_WARNING, - ts+2584 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) + ts+2599 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) fd = -1 - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, ts+2627 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, ts+2642 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { break } } @@ -35690,13 +36196,13 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // the strerror() function to obtain the human-readable error message // equivalent to errno. Otherwise, use strerror_r(). // This is a threadsafe build, but strerror_r() is not available. - zErr = ts + 741 /* "" */ + zErr = ts + 756 /* "" */ if zPath == uintptr(0) { - zPath = ts + 741 /* "" */ + zPath = ts + 756 /* "" */ } Xsqlite3_log(tls, errcode, - ts+2637, /* "os_unix.c:%d: (%..." */ + ts+2652, /* "os_unix.c:%d: (%..." */ libc.VaList(bp, iLine, iErrno, zFunc, zPath, zErr)) return errcode @@ -35715,7 +36221,7 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // and move on. func robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { /* sqlite3.c:35345:13: */ if (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, h) != 0 { - unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+2379, /* "close" */ + unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+2394, /* "close" */ func() uintptr { if pFile != 0 { return (*UnixFile)(unsafe.Pointer(pFile)).FzPath @@ -35815,7 +36321,7 @@ func findInodeInfo(tls *libc.TLS, pFile uintptr, ppInode uintptr) int32 { /* sql // the first page of the database, no damage is done. if ((*stat)(unsafe.Pointer(bp /* &statbuf */)).Fst_size == int64(0)) && (((*UnixFile)(unsafe.Pointer(pFile)).FfsFlags & uint32(SQLITE_FSFLAGS_IS_MSDOS)) != uint32(0)) { for ok := true; ok; ok = ((rc < 0) && ((*(*int32)(unsafe.Pointer(libc.X__error(tls)))) == EINTR)) { - rc = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 11*24 + 8 /* &.pCurrent */))))(tls, fd, ts+2668 /* "S" */, uint64(1))) + rc = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 11*24 + 8 /* &.pCurrent */))))(tls, fd, ts+2683 /* "S" */, uint64(1))) } if rc != 1 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) @@ -35898,19 +36404,19 @@ func verifyDbFile(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:35532:13: */ rc = (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, bp+32 /* &buf */) if rc != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2670 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2685 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if int32((*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink) == 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2694 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2709 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if int32((*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink) > 1 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2723 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2738 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2750 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2765 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -37737,7 +38243,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql var fd int32 = -1 // var zDirname [513]int8 at bp+8, 513 - Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+8 /* &zDirname[0] */, ts+2778 /* "%s" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+8 /* &zDirname[0] */, ts+2793 /* "%s" */, libc.VaList(bp, zFilename)) for ii = int32(libc.Xstrlen(tls, bp+8 /* &zDirname[0] */)); (ii > 0) && (int32(*(*int8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */ + uintptr(ii)))) != '/'); ii-- { } if ii > 0 { @@ -37756,7 +38262,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql if fd >= 0 { return SQLITE_OK } - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+2491 /* "openDirectory" */, bp+8 /* &zDirname[0] */, 37775) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+2506 /* "openDirectory" */, bp+8 /* &zDirname[0] */, 37775) } // Make sure all writes to a particular file are committed to disk. @@ -37791,7 +38297,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 if rc != 0 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+2781 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+2796 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) } // Also fsync the directory containing the file if the DIRSYNC flag @@ -37829,7 +38335,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 { /* sqlite3.c:378 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+2410 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2425 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) } else { // If the file was just truncated to a size smaller than the currently @@ -37908,7 +38414,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c if iWrite >= nSize { iWrite = (nSize - int64(1)) } - nWrite = seekAndWrite(tls, pFile, iWrite, ts+741 /* "" */, 1) + nWrite = seekAndWrite(tls, pFile, iWrite, ts+756 /* "" */, 1) if nWrite != 1 { return (SQLITE_IOERR | (int32(3) << 8)) } @@ -37921,7 +38427,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c 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+2410 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2425 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) } } @@ -37995,7 +38501,7 @@ func unixFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { } case SQLITE_FCNTL_VFSNAME: { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) return SQLITE_OK } @@ -38288,7 +38794,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32 // help detect if a -shm file truncation is legitimate or is the work // or a rogue process. if (rc == SQLITE_OK) && (robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0) { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+2410 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+2425 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) } } } else if int32((*flock)(unsafe.Pointer(bp+8 /* &lock */)).Fl_type) == F_WRLCK { @@ -38394,7 +38900,7 @@ __4: ; libc.X__builtin___memset_chk(tls, pShmNode, 0, (uint64(unsafe.Sizeof(unixShmNode{})) + uint64(nShmFilename)), libc.X__builtin_object_size(tls, pShmNode, 0)) zShm = libc.AssignPtrUintptr(pShmNode+16 /* &.zFilename */, (pShmNode + 1*96)) - Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+2792 /* "%s-shm" */, libc.VaList(bp, zBasePath)) + Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+2807 /* "%s-shm" */, libc.VaList(bp, zBasePath)) (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = -1 (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pDbFd)).FpInode)).FpShmNode = pShmNode @@ -38416,7 +38922,7 @@ __5: if !(int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FbProcessLock) == 0) { goto __7 } - if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+2799 /* "readonly_shm" */, 0)) { + if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+2814 /* "readonly_shm" */, 0)) { goto __8 } (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = robust_open(tls, zShm, ((O_RDWR | O_CREAT) | O_NOFOLLOW), @@ -38431,7 +38937,7 @@ __8: if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) { goto __10 } - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+2374 /* "open" */, zShm, 38716) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+2389 /* "open" */, zShm, 38716) goto shm_open_err __10: ; @@ -38598,11 +39104,11 @@ __11: goto __13 } *(*int32)(unsafe.Pointer(bp + 144 /* x */)) = 0 - if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+741 /* "" */, 1, bp+144 /* &x */) != 1) { + if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+756 /* "" */, 1, bp+144 /* &x */) != 1) { goto __14 } zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+2445 /* "write" */, zFile, 38860) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+2460 /* "write" */, zFile, 38860) goto shmpage_out __14: ; @@ -38650,7 +39156,7 @@ __16: if !(pMem == (libc.UintptrFromInt32(-1))) { goto __20 } - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+2532 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+2547 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) goto shmpage_out __20: ; @@ -38909,7 +39415,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39165:13: */ // continue accessing the database using the xRead() and xWrite() // methods. func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13: */ - var zErr uintptr = ts + 2532 /* "mmap" */ + var zErr uintptr = ts + 2547 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping var nOrig I64 = (*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual // Size of pOrig region in bytes @@ -39206,7 +39712,7 @@ func autolockIoFinderImpl(tls *libc.TLS, filePath uintptr, pNew uintptr) uintptr (*flock)(unsafe.Pointer(bp + 2176 /* &lockInfo */)).Fl_whence = int16(SEEK_SET) (*flock)(unsafe.Pointer(bp + 2176 /* &lockInfo */)).Fl_type = int16(F_RDLCK) if (*(*func(*libc.TLS, int32, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 7*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pNew)).Fh, F_GETLK, libc.VaList(bp, bp+2176 /* &lockInfo */)) != -1 { - if libc.Xstrcmp(tls, bp+8 /* &fsInfo */ +72 /* &.f_fstypename */, ts+2812 /* "nfs" */) == 0 { + if libc.Xstrcmp(tls, bp+8 /* &fsInfo */ +72 /* &.f_fstypename */, ts+2827 /* "nfs" */) == 0 { return uintptr(unsafe.Pointer(&nfsIoMethods)) } else { return uintptr(unsafe.Pointer(&posixIoMethods)) @@ -39223,11 +39729,11 @@ type Mapping = struct { } /* sqlite3.c:39574:16 */ var aMap = [6]Mapping{ - {FzFilesystem: ts + 2816 /* "hfs" */, FpMethods: 0}, - {FzFilesystem: ts + 2820 /* "ufs" */, FpMethods: 0}, - {FzFilesystem: ts + 2824 /* "afpfs" */, FpMethods: 0}, - {FzFilesystem: ts + 2830 /* "smbfs" */, FpMethods: 0}, - {FzFilesystem: ts + 2836 /* "webdav" */, FpMethods: 0}, + {FzFilesystem: ts + 2831 /* "hfs" */, FpMethods: 0}, + {FzFilesystem: ts + 2835 /* "ufs" */, FpMethods: 0}, + {FzFilesystem: ts + 2839 /* "afpfs" */, FpMethods: 0}, + {FzFilesystem: ts + 2845 /* "smbfs" */, FpMethods: 0}, + {FzFilesystem: ts + 2851 /* "webdav" */, FpMethods: 0}, {}, } /* sqlite3.c:39577:5 */ var autolockIoFinder uintptr = 0 /* sqlite3.c:39624:3 */ @@ -39264,10 +39770,10 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename } return uintptr(0) }(), - ts+2843 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { + ts+2858 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { *(*uint16)(unsafe.Pointer(pNew + 30 /* &.ctrlFlags */)) |= uint16((UNIXFILE_PSOW)) } - if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+2848 /* "unix-excl" */) == 0 { + if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+2863 /* "unix-excl" */) == 0 { *(*uint16)(unsafe.Pointer(pNew + 30 /* &.ctrlFlags */)) |= uint16((UNIXFILE_EXCL)) } @@ -39341,7 +39847,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename if zLockFile == uintptr(0) { rc = SQLITE_NOMEM } else { - Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+2858 /* "%s.lock" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+2873 /* "%s.lock" */, libc.VaList(bp, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext = zLockFile } @@ -39371,10 +39877,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var zDir uintptr = Xsqlite3_temp_directory if !(int32(azDirs[0]) != 0) { - azDirs[0] = libc.Xgetenv(tls, ts+2866 /* "SQLITE_TMPDIR" */) + azDirs[0] = libc.Xgetenv(tls, ts+2881 /* "SQLITE_TMPDIR" */) } if !(int32(azDirs[1]) != 0) { - azDirs[1] = libc.Xgetenv(tls, ts+2880 /* "TMPDIR" */) + azDirs[1] = libc.Xgetenv(tls, ts+2895 /* "TMPDIR" */) } for 1 != 0 { if (((zDir != uintptr(0)) && @@ -39394,10 +39900,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var azDirs = [6]uintptr{ uintptr(0), uintptr(0), - ts + 2887, /* "/var/tmp" */ - ts + 2896, /* "/usr/tmp" */ - ts + 2905, /* "/tmp" */ - ts + 754, /* "." */ + ts + 2902, /* "/var/tmp" */ + ts + 2911, /* "/usr/tmp" */ + ts + 2920, /* "/tmp" */ + ts + 769, /* "." */ } /* sqlite3.c:39857:21 */ // Create a temporary file name in zBuf. zBuf must be allocated @@ -39425,7 +39931,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U64(0))), bp+24 /* &r */) *(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2)))) = int8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+2910, /* "%s/etilqs_%llx%c" */ + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+2925, /* "%s/etilqs_%llx%c" */ libc.VaList(bp, zDir, *(*U64)(unsafe.Pointer(bp + 24 /* r */)), 0)) if (int32(*(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2))))) != 0) || ((libc.PostIncInt32(&iLimit, 1)) > 10) { return SQLITE_ERROR @@ -39581,7 +40087,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // filename, check for the "modeof" parameter. If present, interpret // its value as a filename and try to copy the mode, uid and gid from // that file. - var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+2927 /* "modeof" */) + var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+2942 /* "modeof" */) if z != 0 { rc = getFileMode(tls, z, pMode, pUid, pGid) } @@ -39813,7 +40319,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+2374 /* "open" */, zName, 40257) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+2389 /* "open" */, zName, 40257) if !(rc == SQLITE_OK) { goto __20 } @@ -39877,13 +40383,13 @@ __25: return (SQLITE_IOERR | (int32(13) << 8)) __26: ; - if !(0 == libc.Xstrncmp(tls, ts+2934 /* "msdos" */, bp+528 /* &fsInfo */ +72 /* &.f_fstypename */, uint64(5))) { + if !(0 == libc.Xstrncmp(tls, ts+2949 /* "msdos" */, bp+528 /* &fsInfo */ +72 /* &.f_fstypename */, uint64(5))) { goto __27 } *(*uint32)(unsafe.Pointer(pFile + 124 /* &.fsFlags */)) |= (uint32(SQLITE_FSFLAGS_IS_MSDOS)) __27: ; - if !(0 == libc.Xstrncmp(tls, ts+2940 /* "exfat" */, bp+528 /* &fsInfo */ +72 /* &.f_fstypename */, uint64(5))) { + if !(0 == libc.Xstrncmp(tls, ts+2955 /* "exfat" */, bp+528 /* &fsInfo */ +72 /* &.f_fstypename */, uint64(5))) { goto __28 } *(*uint32)(unsafe.Pointer(pFile + 124 /* &.fsFlags */)) |= (uint32(SQLITE_FSFLAGS_IS_MSDOS)) @@ -39926,7 +40432,7 @@ __33: if !((((isAutoProxy != 0) && (zPath != (uintptr(0)))) && (!(noLock != 0))) && ((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen != 0)) { goto __34 } - envforce = libc.Xgetenv(tls, ts+2946 /* "SQLITE_FORCE_PRO..." */) + envforce = libc.Xgetenv(tls, ts+2961 /* "SQLITE_FORCE_PRO..." */) useProxy = 0 // SQLITE_FORCE_PROXY_LOCKING==1 means force always use proxy, 0 means @@ -39947,7 +40453,7 @@ __36: if !(rc == SQLITE_OK) { goto __38 } - rc = proxyTransformUnixFile(tls, pFile, ts+2973 /* ":auto:" */) + rc = proxyTransformUnixFile(tls, pFile, ts+2988 /* ":auto:" */) if !(rc != SQLITE_OK) { goto __39 } @@ -39991,7 +40497,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+2484 /* "unlink" */, zPath, 40396) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+2499 /* "unlink" */, zPath, 40396) } return rc } @@ -40001,7 +40507,7 @@ 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 /* &.pCurrent */))))(tls, zPath, bp /* &fd */) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp /* fd */)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+2980 /* "fsync" */, zPath, 40406) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+2995 /* "fsync" */, zPath, 40406) } robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 40408) } else { @@ -40076,7 +40582,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(tls, zOut, (uint64(nOut-2))) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+2392 /* "getcwd" */, zPath, 40485) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+2407 /* "getcwd" */, zPath, 40485) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -40087,7 +40593,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) return Xsqlite3CantopenError(tls, 40494) } - Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+2778 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+2793 /* "%s" */, libc.VaList(bp, zPath)) // Remove duplicate '/' characters. Except, two // at the beginning // of a pathname is allowed since this is important on windows. @@ -40162,7 +40668,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8 /* &.pCurrent */))))(tls, zIn, bp /* &buf */) != 0 { if (*(*int32)(unsafe.Pointer(libc.X__error(tls)))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+2572 /* "lstat" */, zIn, 40577) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+2587 /* "lstat" */, zIn, 40577) } } else { bLink = (libc.Bool32(((int32((*stat)(unsafe.Pointer(bp /* &buf */)).Fst_mode)) & S_IFMT) == S_IFLNK)) @@ -40182,7 +40688,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls, zIn, zDel, (uint64(nOut - 1)))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+2563 /* "readlink" */, zIn, 40595) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+2578 /* "readlink" */, zIn, 40595) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 @@ -40527,7 +41033,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixEnterMutex(tls) zErr = libc.Xdlerror(tls) if zErr != 0 { - Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+2778 /* "%s" */, libc.VaList(bp, zErr)) + Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+2793 /* "%s" */, libc.VaList(bp, zErr)) } unixLeaveMutex(tls) } @@ -40584,7 +41090,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in { var fd int32 var got int32 - fd = robust_open(tls, ts+2986 /* "/dev/urandom" */, O_RDONLY, uint16(0)) + fd = robust_open(tls, ts+3001 /* "/dev/urandom" */, O_RDONLY, uint16(0)) if fd < 0 { // var t Time_t at bp, 8 @@ -41018,12 +41524,12 @@ func proxyGetLockPath(tls *libc.TLS, dbPath uintptr, lPath uintptr, maxLen Size_ return (SQLITE_IOERR | (int32(15) << 8)) } - len = int32(libc.Xstrlcat(tls, lPath, ts+2999 /* "sqliteplocks" */, maxLen)) + len = int32(libc.Xstrlcat(tls, lPath, ts+3014 /* "sqliteplocks" */, maxLen)) } if int32(*(*int8)(unsafe.Pointer(lPath + uintptr((len - 1))))) != '/' { - len = int32(libc.Xstrlcat(tls, lPath, ts+3012 /* "/" */, maxLen)) + len = int32(libc.Xstrlcat(tls, lPath, ts+3027 /* "/" */, maxLen)) } // transform the db path to a unique cache name @@ -41038,7 +41544,7 @@ func proxyGetLockPath(tls *libc.TLS, dbPath uintptr, lPath uintptr, maxLen Size_ }() } *(*int8)(unsafe.Pointer(lPath + uintptr((i + len)))) = int8(0) - libc.Xstrlcat(tls, lPath, ts+2973 /* ":auto:" */, maxLen) + libc.Xstrlcat(tls, lPath, ts+2988 /* ":auto:" */, maxLen) return SQLITE_OK } @@ -41190,7 +41696,7 @@ __14: (*UnixFile)(unsafe.Pointer(pNew)).FopenFlags = openFlags libc.X__builtin___memset_chk(tls, bp /* &dummyVfs */, 0, uint64(unsafe.Sizeof(Sqlite3_vfs{})), libc.X__builtin_object_size(tls, bp /* &dummyVfs */, 0)) (*Sqlite3_vfs)(unsafe.Pointer(bp /* &dummyVfs */)).FpAppData = uintptr(unsafe.Pointer(&autolockIoFinder)) - (*Sqlite3_vfs)(unsafe.Pointer(bp /* &dummyVfs */)).FzName = ts + 3014 /* "dummy" */ + (*Sqlite3_vfs)(unsafe.Pointer(bp /* &dummyVfs */)).FzName = ts + 3029 /* "dummy" */ (*UnixUnusedFd)(unsafe.Pointer(pUnused)).Ffd = fd (*UnixUnusedFd)(unsafe.Pointer(pUnused)).Fflags = openFlags (*UnixFile)(unsafe.Pointer(pNew)).FpPreallocatedUnused = pUnused @@ -41260,17 +41766,17 @@ func proxyBreakConchLock(tls *libc.TLS, pFile uintptr, myHostID uintptr) int32 { cPath = (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FconchFilePath readLen = uint64(0) pathLen = uint64(0) - *(*[64]int8)(unsafe.Pointer(bp + 1088 /* errmsg */)) = *(*[64]int8)(unsafe.Pointer(ts + 3020 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." */)) + *(*[64]int8)(unsafe.Pointer(bp + 1088 /* errmsg */)) = *(*[64]int8)(unsafe.Pointer(ts + 3035 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." */)) fd = -1 rc = -1 _ = myHostID // create a new path by replace the trailing '-conch' with '-break' pathLen = libc.Xstrlcpy(tls, bp+64 /* &tPath[0] */, cPath, uint64(PATH_MAX)) - if !(((pathLen > uint64(PATH_MAX)) || (pathLen < uint64(6))) || (libc.Xstrlcpy(tls, (bp+64 /* &tPath */ +uintptr((pathLen-uint64(5)))), ts+3084 /* "break" */, uint64(6)) != uint64(5))) { + if !(((pathLen > uint64(PATH_MAX)) || (pathLen < uint64(6))) || (libc.Xstrlcpy(tls, (bp+64 /* &tPath */ +uintptr((pathLen-uint64(5)))), ts+3099 /* "break" */, uint64(6)) != uint64(5))) { goto __1 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+3090 /* "path error (len ..." */, libc.VaList(bp, int32(pathLen))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+3105 /* "path error (len ..." */, libc.VaList(bp, int32(pathLen))) goto end_breaklock __1: ; @@ -41279,7 +41785,7 @@ __1: if !(readLen < (uint64(PROXY_HEADERLEN + PROXY_HOSTIDLEN))) { goto __2 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+3110 /* "read error (len ..." */, libc.VaList(bp+8, int32(readLen))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+3125 /* "read error (len ..." */, libc.VaList(bp+8, int32(readLen))) goto end_breaklock __2: ; @@ -41288,26 +41794,26 @@ __2: if !(fd < 0) { goto __3 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+3130 /* "create failed (%..." */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+3145 /* "create failed (%..." */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) goto end_breaklock __3: ; if !((*(*func(*libc.TLS, int32, uintptr, Size_t, Off_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 12*24 + 8 /* &.pCurrent */))))(tls, fd, bp+1152 /* &buf[0] */, readLen, int64(0)) != Ssize_t(readLen)) { goto __4 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+3149 /* "write failed (%d..." */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+3164 /* "write failed (%d..." */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) goto end_breaklock __4: ; if !(libc.Xrename(tls, bp+64 /* &tPath[0] */, cPath) != 0) { goto __5 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+3167 /* "rename failed (%..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+3182 /* "rename failed (%..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) goto end_breaklock __5: ; rc = 0 - libc.Xfprintf(tls, libc.X__stderrp, ts+3186 /* "broke stale lock..." */, libc.VaList(bp+40, cPath)) + libc.Xfprintf(tls, libc.X__stderrp, ts+3201 /* "broke stale lock..." */, libc.VaList(bp+40, cPath)) robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, 41282) (*UnixFile)(unsafe.Pointer(conchFile)).Fh = fd (*UnixFile)(unsafe.Pointer(conchFile)).FopenFlags = (O_RDWR | O_CREAT) @@ -41323,7 +41829,7 @@ end_breaklock: robust_close(tls, pFile, fd, 41290) __7: ; - libc.Xfprintf(tls, libc.X__stderrp, ts+3210 /* "failed to break ..." */, libc.VaList(bp+48, cPath, bp+1088 /* &errmsg[0] */)) + libc.Xfprintf(tls, libc.X__stderrp, ts+3225 /* "failed to break ..." */, libc.VaList(bp+48, cPath, bp+1088 /* &errmsg[0] */)) __6: ; return rc @@ -41781,7 +42287,7 @@ func proxyCreateConchPathname(tls *libc.TLS, dbPath uintptr, pConchPath uintptr) } // append the "-conch" suffix to the file - libc.X__builtin___memcpy_chk(tls, (conchPath + uintptr((i + 1))), ts+3248 /* "-conch" */, uint64(7), libc.X__builtin_object_size(tls, (conchPath+uintptr((i+1))), 0)) + libc.X__builtin___memcpy_chk(tls, (conchPath + uintptr((i + 1))), ts+3263 /* "-conch" */, uint64(7), libc.X__builtin_object_size(tls, (conchPath+uintptr((i+1))), 0)) return SQLITE_OK } @@ -41798,7 +42304,7 @@ func switchLockProxyPath(tls *libc.TLS, pFile uintptr, path uintptr) int32 { /* } // nothing to do if the path is NULL, :auto: or matches the existing path - if ((!(path != 0) || (int32(*(*int8)(unsafe.Pointer(path))) == 0)) || !(libc.Xstrcmp(tls, path, ts+2973 /* ":auto:" */) != 0)) || ((oldPath != 0) && !(libc.Xstrncmp(tls, oldPath, path, uint64(PATH_MAX)) != 0)) { + if ((!(path != 0) || (int32(*(*int8)(unsafe.Pointer(path))) == 0)) || !(libc.Xstrcmp(tls, path, ts+2988 /* ":auto:" */) != 0)) || ((oldPath != 0) && !(libc.Xstrncmp(tls, oldPath, path, uint64(PATH_MAX)) != 0)) { return SQLITE_OK } else { var lockProxy uintptr = (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxy @@ -41833,7 +42339,7 @@ func proxyGetDbPathForUnixFile(tls *libc.TLS, pFile uintptr, dbPath uintptr) int } else if (*UnixFile)(unsafe.Pointer(pFile)).FpMethod == uintptr(unsafe.Pointer(&dotlockIoMethods)) { // dot lock style uses the locking context to store the dot lock // file path - var len int32 = (int32(libc.Xstrlen(tls, (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext) - libc.Xstrlen(tls, ts+3255 /* ".lock" */))) + var len int32 = (int32(libc.Xstrlen(tls, (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext) - libc.Xstrlen(tls, ts+3270 /* ".lock" */))) libc.X__builtin___memcpy_chk(tls, dbPath, (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext, (uint64(len + 1)), libc.X__builtin_object_size(tls, dbPath, 0)) } else { // all other styles use the locking context to store the db file path @@ -41863,7 +42369,7 @@ func proxyTransformUnixFile(tls *libc.TLS, pFile uintptr, path uintptr) int32 { return SQLITE_BUSY } proxyGetDbPathForUnixFile(tls, pFile, bp /* &dbPath[0] */) - if (!(path != 0) || (int32(*(*int8)(unsafe.Pointer(path))) == 0)) || !(libc.Xstrcmp(tls, path, ts+2973 /* ":auto:" */) != 0) { + if (!(path != 0) || (int32(*(*int8)(unsafe.Pointer(path))) == 0)) || !(libc.Xstrcmp(tls, path, ts+2988 /* ":auto:" */) != 0) { lockPath = uintptr(0) } else { lockPath = path @@ -41944,7 +42450,7 @@ func proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { if (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath != 0 { *(*uintptr)(unsafe.Pointer(pArg)) = (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath } else { - *(*uintptr)(unsafe.Pointer(pArg)) = ts + 3261 /* ":auto: (not held..." */ + *(*uintptr)(unsafe.Pointer(pArg)) = ts + 3276 /* ":auto: (not held..." */ } } else { *(*uintptr)(unsafe.Pointer(pArg)) = uintptr(0) @@ -41971,7 +42477,7 @@ func proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { var proxyPath uintptr = pArg if isProxyStyle != 0 { var pCtx uintptr = (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext - if !(libc.Xstrcmp(tls, pArg, ts+2973 /* ":auto:" */) != 0) || + if !(libc.Xstrcmp(tls, pArg, ts+2988 /* ":auto:" */) != 0) || (((*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath != 0) && !(libc.Xstrncmp(tls, (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath, proxyPath, uint64(PATH_MAX)) != 0)) { rc = SQLITE_OK } else { @@ -42174,15 +42680,15 @@ func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42038:16: */ } var aVfs = [9]Sqlite3_vfs{ - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3279 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3284 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3294 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2848 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3307 /* "unix-posix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3318 /* "unix-flock" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3329 /* "unix-afp" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3338 /* "unix-nfs" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3347 /* "unix-proxy" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3294 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3299 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3309 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2863 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3322 /* "unix-posix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3333 /* "unix-flock" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3344 /* "unix-afp" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3353 /* "unix-nfs" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 3362 /* "unix-proxy" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, } /* sqlite3.c:42091:22 */ // Shutdown the operating system interface. @@ -42277,7 +42783,7 @@ var memdb_g MemFS /* sqlite3.c:48620:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) FmxPathname: 1024, // pNext - FzName: ts + 3358, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 3373, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -42509,7 +43015,7 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 var rc int32 = SQLITE_NOTFOUND memdbEnter(tls, p) if op == SQLITE_FCNTL_VFSNAME { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+3364 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+3379 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == SQLITE_FCNTL_SIZE_LIMIT { @@ -42652,7 +43158,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(8) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+2778 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+2793 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } @@ -42769,7 +43275,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = Xsqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, ts+3379 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+3394 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) } else { @@ -42842,7 +43348,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+3402 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+3417 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) if !(zSql == uintptr(0)) { goto __3 } @@ -48319,7 +48825,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+3417, /* "recovered %d pag..." */ + Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+3432, /* "recovered %d pag..." */ libc.VaList(bp, nPlayback, (*Pager)(unsafe.Pointer(pPager)).FzJournal)) __27: ; @@ -50071,7 +50577,7 @@ __15: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzJournal = pPtr libc.X__builtin___memcpy_chk(tls, pPtr, zPathname, uint64(nPathname), libc.X__builtin_object_size(tls, pPtr, 0)) pPtr += uintptr(nPathname) - libc.X__builtin___memcpy_chk(tls, pPtr, ts+3444 /* "-journal" */, uint64(8), libc.X__builtin_object_size(tls, pPtr, 0)) + libc.X__builtin___memcpy_chk(tls, pPtr, ts+3459 /* "-journal" */, uint64(8), libc.X__builtin_object_size(tls, pPtr, 0)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -50086,7 +50592,7 @@ __19: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzWal = pPtr libc.X__builtin___memcpy_chk(tls, pPtr, zPathname, uint64(nPathname), libc.X__builtin_object_size(tls, pPtr, 0)) pPtr += uintptr(nPathname) - libc.X__builtin___memcpy_chk(tls, pPtr, ts+3453 /* "-wal" */, uint64(4), libc.X__builtin_object_size(tls, pPtr, 0)) + libc.X__builtin___memcpy_chk(tls, pPtr, ts+3468 /* "-wal" */, uint64(4), libc.X__builtin_object_size(tls, pPtr, 0)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -50145,9 +50651,9 @@ __27: ; __26: ; - (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3458 /* "nolock" */, 0)) + (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3473 /* "nolock" */, 0)) if !(((iDc & SQLITE_IOCAP_IMMUTABLE) != 0) || - (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3465 /* "immutable" */, 0) != 0)) { + (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3480 /* "immutable" */, 0) != 0)) { goto __30 } vfsFlags = vfsFlags | (SQLITE_OPEN_READONLY) @@ -54043,7 +54549,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+3475, /* "recovered %d fra..." */ + ts+3490, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -54788,7 +55294,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+3512 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) + Xsqlite3_log(tls, rx, ts+3527 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) } } @@ -57568,7 +58074,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:65443: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3538 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3553 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -59608,7 +60114,7 @@ func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt mutexOpen = uintptr(0) rc = SQLITE_OK isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zFilename))) == 0))) - isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+3554 /* ":memory:" */) == 0)) || + isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+3569 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -60482,7 +60988,7 @@ __10: // // The original design allowed these amounts to vary, but as of // version 3.6.0, we require them to be fixed. - if !(libc.Xmemcmp(tls, (page1+21), ts+3563 /* "@ " */, uint64(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+3578 /* "@ " */, uint64(3)) != 0) { goto __14 } goto page1_init_failed @@ -67996,7 +68502,7 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+3567 /* "\n" */, 1) + Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+3582 /* "\n" */, 1) } if (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, (pCheck + 56 /* &.errMsg */), (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -68032,11 +68538,11 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 defer tls.Free(16) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { - checkAppendMsg(tls, pCheck, ts+3569 /* "invalid page num..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+3584 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+3592 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) + checkAppendMsg(tls, pCheck, ts+3607 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -68063,13 +68569,13 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 } - checkAppendMsg(tls, pCheck, ts+3617 /* "Failed to read p..." */, libc.VaList(bp, iChild)) + checkAppendMsg(tls, pCheck, ts+3632 /* "Failed to read p..." */, libc.VaList(bp, iChild)) return } if (int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, - ts+3646, /* "Bad ptr map entr..." */ + ts+3661, /* "Bad ptr map entr..." */ libc.VaList(bp+8, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)))) } } @@ -68092,7 +68598,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } N-- if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+40 /* &pOvflPage */, 0) != 0 { - checkAppendMsg(tls, pCheck, ts+3700 /* "failed to get pa..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+3715 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) @@ -68103,7 +68609,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+3722 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) + ts+3737 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -68129,12 +68635,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, - ts+3761, /* "%s is %d but sho..." */ + ts+3776, /* "%s is %d but sho..." */ libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { - return ts + 3787 /* "size" */ + return ts + 3802 /* "size" */ } - return ts + 3792 /* "overflow list le..." */ + return ts + 3807 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -68278,13 +68784,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3813 /* "Page %u: " */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3828 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+96 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, - ts+3823 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+3838 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -68298,7 +68804,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+3861 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) + ts+3876 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; @@ -68306,7 +68812,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+3899 /* "free space corru..." */, libc.VaList(bp+16, rc)) + checkAppendMsg(tls, pCheck, ts+3914 /* "free space corru..." */, libc.VaList(bp+16, rc)) goto end_of_check __5: ; @@ -68314,7 +68820,7 @@ __5: hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FhdrOffset) // Set up for cell analysis - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3921 /* "On tree page %u ..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3936 /* "On tree page %u ..." */ contentOffset = (U32(((((int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5)))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5))) + 1)))) - 1) & 0xffff) + 1)) // Enforced by btreeInitPage() @@ -68336,7 +68842,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3947 /* "On page %u at ri..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3962 /* "On page %u at ri..." */ checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; @@ -68367,7 +68873,7 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+3975, /* "Offset %d out of..." */ + checkAppendMsg(tls, pCheck, ts+3990, /* "Offset %d out of..." */ libc.VaList(bp+24, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 @@ -68378,7 +68884,7 @@ __12: if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+4005 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+4020 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -68396,7 +68902,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+4029 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+4044 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) __15: ; *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 112 /* &info */)).FnKey @@ -68437,7 +68943,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+4053 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+4068 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -68535,7 +69041,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+4078 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) + ts+4093 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) goto __30 goto __32 __31: @@ -68555,7 +69061,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+4115, /* "Fragmentation of..." */ + ts+4130, /* "Fragmentation of..." */ libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -68684,7 +69190,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 4167 /* "Main freelist: " */ + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 4182 /* "Main freelist: " */ checkList(tls, bp+32 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) @@ -68722,7 +69228,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+4183, /* "max rootpage (%d..." */ + ts+4198, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -68732,7 +69238,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+4228 /* "incremental_vacu..." */, 0) + ts+4243 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -68782,13 +69288,13 @@ __23: if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+4283 /* "Page %d is never..." */, libc.VaList(bp+16, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+4298 /* "Page %d is never..." */, libc.VaList(bp+16, i)) __26: ; if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+4305 /* "Pointer map page..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+4320 /* "Pointer map page..." */, libc.VaList(bp+24, i)) __27: ; goto __24 @@ -69107,7 +69613,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt libc.X__builtin___memset_chk(tls, bp+16 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{})), libc.X__builtin_object_size(tls, bp+16 /* &sParse */, 0)) (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = pDb if Xsqlite3OpenTempDatabase(tls, bp+16 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+2778 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+2793 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg) @@ -69118,7 +69624,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+4339 /* "unknown database..." */, libc.VaList(bp+8, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+4354 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -69139,7 +69645,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76336:12: */ // message in database handle db. func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:76348:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { - Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+4359 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+4374 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -69166,7 +69672,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+4390 /* "source and desti..." */, 0) + pDestDb, SQLITE_ERROR, ts+4405 /* "source and desti..." */, 0) p = uintptr(0) } else { // Allocate space for a new sqlite3_backup object... @@ -69780,7 +70286,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 8 /* x */)), zBuf) } else { Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+4430, /* "%!.15g" */ + Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+4445, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -70421,7 +70927,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -70627,6 +71133,8 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 (*Mem)(unsafe.Pointer(pMem)).Fflags = flags if enc != 0 { (*Mem)(unsafe.Pointer(pMem)).Fenc = enc + } else if (*Mem)(unsafe.Pointer(pMem)).Fdb == uintptr(0) { + (*Mem)(unsafe.Pointer(pMem)).Fenc = U8(SQLITE_UTF8) } else { (*Mem)(unsafe.Pointer(pMem)).Fenc = (*Sqlite3)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fdb)).Fenc @@ -70932,7 +71440,7 @@ __9: goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+2778 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) + Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: Xsqlite3ValueApplyAffinity(tls, pVal, aff, uint8(SQLITE_UTF8)) @@ -71004,7 +71512,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 zVal = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = uintptr(0) negInt = 1 - zNeg = ts + 741 /* "" */ + zNeg = ts + 756 /* "" */ rc = SQLITE_OK __1: @@ -71053,7 +71561,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 4437 /* "-" */ + zNeg = ts + 4452 /* "-" */ __6: ; @@ -71073,7 +71581,7 @@ __9: Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: - zVal = Xsqlite3MPrintf(tls, db, ts+4439 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + zVal = Xsqlite3MPrintf(tls, db, ts+4454 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) if !(zVal == uintptr(0)) { goto __12 } @@ -72518,34 +73026,34 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4444 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4459 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 32 /* &.aColl */) + uintptr(j)*8)) var zColl uintptr if pColl != 0 { zColl = (*CollSeq)(unsafe.Pointer(pColl)).FzName } else { - zColl = ts + 741 /* "" */ + zColl = ts + 756 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+304 /* "BINARY" */) == 0 { - zColl = ts + 4449 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+319 /* "BINARY" */) == 0 { + zColl = ts + 4464 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4451, /* ",%s%s%s" */ + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4466, /* ",%s%s%s" */ libc.VaList(bp+8, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { - return ts + 4437 /* "-" */ + return ts + 4452 /* "-" */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 4459 /* "N." */ + return ts + 4474 /* "N." */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4462 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4477 /* ")" */, 1) break } @@ -72553,7 +73061,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4464 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4479 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -72561,32 +73069,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4473 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4488 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4473 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4488 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4480 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4495 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4485 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4500 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+524 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+539 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -72596,14 +73104,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4480 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4495 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+524 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+539 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { - zP4 = ts + 742 /* "NULL" */ + zP4 = ts + 757 /* "NULL" */ } else { - zP4 = ts + 4488 /* "(blob)" */ + zP4 = ts + 4503 /* "(blob)" */ } break @@ -72611,7 +73119,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4495 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4510 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -72622,20 +73130,20 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4503 /* "%c%u" */, libc.VaList(bp+128, func() int32 { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4518 /* "%c%u" */, libc.VaList(bp+128, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4508 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4523 /* "]" */, 1) break } case -4: { - zP4 = ts + 4510 /* "program" */ + zP4 = ts + 4525 /* "program" */ break } @@ -72667,7 +73175,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } -var encnames = [4]uintptr{ts + 4518 /* "?" */, ts + 4520 /* "8" */, ts + 4522 /* "16LE" */, ts + 4527 /* "16BE" */} /* sqlite3.c:80570:25 */ +var encnames = [4]uintptr{ts + 4533 /* "?" */, ts + 4535 /* "8" */, ts + 4537 /* "16LE" */, ts + 4542 /* "16BE" */} /* sqlite3.c:80570:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -73198,8 +73706,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 4532 /* "addr" */, ts + 4537 /* "opcode" */, ts + 4544 /* "p1" */, ts + 4547 /* "p2" */, ts + 4550 /* "p3" */, ts + 4553 /* "p4" */, ts + 4556 /* "p5" */, ts + 4559, /* "comment" */ - ts + 4567 /* "id" */, ts + 4570 /* "parent" */, ts + 4577 /* "notused" */, ts + 4585, /* "detail" */ + ts + 4547 /* "addr" */, ts + 4552 /* "opcode" */, ts + 4559 /* "p1" */, ts + 4562 /* "p2" */, ts + 4565 /* "p3" */, ts + 4568 /* "p4" */, ts + 4571 /* "p5" */, ts + 4574, /* "comment" */ + ts + 4582 /* "id" */, ts + 4585 /* "parent" */, ts + 4592 /* "notused" */, ts + 4600, /* "detail" */ } /* sqlite3.c:81298:23 */ // Close a VDBE cursor and release all the resources that cursor @@ -73447,7 +73955,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Select a super-journal file name nMainFile = Xsqlite3Strlen30(tls, zMainFile) - zSuper = Xsqlite3MPrintf(tls, db, ts+4592 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) + zSuper = Xsqlite3MPrintf(tls, db, ts+4607 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) if zSuper == uintptr(0) { return SQLITE_NOMEM } @@ -73457,16 +73965,16 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+4604 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+4619 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+4618 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+4633 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) } } retryCount++ Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &iRandom */) - Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+4633, /* "-mj%06X9%02X" */ + Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+4648, /* "-mj%06X9%02X" */ libc.VaList(bp+40, ((*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. @@ -73660,7 +74168,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq (!(deferred != 0) && ((*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0))) { (*Vdbe)(unsafe.Pointer(p)).Frc = (SQLITE_CONSTRAINT | (int32(3) << 8)) (*Vdbe)(unsafe.Pointer(p)).FerrorAction = U8(OE_Abort) - Xsqlite3VdbeError(tls, p, ts+4646 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4661 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -73942,7 +74450,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: // called), set the database error in this case as well. Xsqlite3ErrorWithMsg(tls, db, (*Vdbe)(unsafe.Pointer(p)).Frc, func() uintptr { if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { - return ts + 2778 /* "%s" */ + return ts + 2793 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -75493,13 +76001,13 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023 var zContext uintptr var zMsg uintptr if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_IsCheck) != 0 { - zContext = ts + 4676 /* "a CHECK constrai..." */ + zContext = ts + 4691 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 4695 /* "a generated colu..." */ + zContext = ts + 4710 /* "a generated colu..." */ } else { - zContext = ts + 4714 /* "an index" */ + zContext = ts + 4729 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+4723, /* "non-deterministi..." */ + zMsg = Xsqlite3_mprintf(tls, ts+4738, /* "non-deterministi..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -75630,7 +76138,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84185:1 // invalid). Return false if it is ok. func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+4759 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+4774 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -75640,7 +76148,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84204:12: */ if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+4804 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+4819 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -76110,7 +76618,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:84708:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG - Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+4844 /* "string or blob t..." */, int64(-1), + Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+4859 /* "string or blob t..." */, int64(-1), uint8(SQLITE_UTF8), uintptr(0)) } @@ -76861,7 +77369,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12 Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+4867 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) + ts+4882 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) return Xsqlite3MisuseError(tls, 85498) } if (i < 1) || (i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar)) { @@ -77638,7 +78146,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4907 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4922 /* "-- " */, 3) Xsqlite3_str_append(tls, bp+48 /* &out */, zStart, (int32((int64(zRawSql) - int64(zStart)) / 1))) } @@ -77676,11 +78184,11 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 184 /* idx */))-1))*56) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+742 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+757 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4480 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4495 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4430 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4445 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc @@ -77695,21 +78203,21 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = bp + 192 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4911 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4926 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { Xsqlite3VdbeMemRelease(tls, bp+192 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4918 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4933 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4931 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4946 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4934 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4949 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4939 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4954 /* "'" */, 1) } } } @@ -81408,19 +81916,19 @@ __190: goto __193 } - Xsqlite3VdbeError(tls, p, ts+4941 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) + Xsqlite3VdbeError(tls, p, ts+4956 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __195 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+4962 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+4977 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __195: ; goto __194 __193: - Xsqlite3VdbeError(tls, p, ts+2778 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+2793 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __194: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+4969 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+4984 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __192: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -83970,7 +84478,7 @@ __74: } // A new savepoint cannot be created if there are active write // statements (i.e. open read/write incremental blob handles). - Xsqlite3VdbeError(tls, p, ts+4993 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+5008 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __448 __447: @@ -84043,7 +84551,7 @@ __455: if !(!(pSavepoint != 0)) { goto __456 } - Xsqlite3VdbeError(tls, p, ts+5044 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) + Xsqlite3VdbeError(tls, p, ts+5059 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) rc = SQLITE_ERROR goto __457 __456: @@ -84053,7 +84561,7 @@ __456: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+5066 /* "cannot release s..." */, 0) + ts+5081 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __459 __458: @@ -84258,7 +84766,7 @@ __488: // If this instruction implements a COMMIT and other VMs are writing // return an error indicating that the other VMs must complete first. Xsqlite3VdbeError(tls, p, - ts+5120 /* "cannot commit tr..." */, 0) + ts+5135 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __491 @@ -84301,13 +84809,13 @@ __486: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 5175 /* "cannot start a t..." */ + return ts + 5190 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 5223 /* "cannot rollback ..." */ + return ts + 5238 /* "cannot rollback ..." */ } - return ts + 5266 /* "cannot commit - ..." */ + return ts + 5281 /* "cannot commit - ..." */ }() }(), 0) @@ -84425,7 +84933,7 @@ __498: // version is checked to ensure that the schema has not changed since the // SQL statement was prepared. Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+5307 /* "database schema ..." */) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+5322 /* "database schema ..." */) // If the schema-cookie from the database file matches the cookie // stored with the in-memory representation of the schema, do // not reload the schema from the database file. @@ -84807,7 +85315,7 @@ __84: // Only used when number of columns is zero (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fn = 0 - (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 741 /* "" */ + (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 756 /* "" */ __524: ; pCx1 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -86937,7 +87445,7 @@ __688: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __691 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+5335 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+5350 /* "index corruption" */) goto abort_due_to_error __691: ; @@ -87370,14 +87878,14 @@ __137: goto __720 __719: - zSchema = ts + 5352 /* "sqlite_master" */ + zSchema = ts + 5367 /* "sqlite_master" */ (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FiDb = iDb3 (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FpzErrMsg = (p + 168 /* &.zErrMsg */) (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmInitFlags = U32(0) (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+5366, /* "SELECT*FROM\"%w\"...." */ + ts+5381, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp+64, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __721 @@ -87710,7 +88218,7 @@ __741: goto __746 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+5409 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+5424 /* "too many levels ..." */, 0) goto abort_due_to_error __746: ; @@ -88155,7 +88663,7 @@ __781: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __783 } - Xsqlite3VdbeError(tls, p, ts+2778 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+2793 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __783: ; @@ -88233,7 +88741,7 @@ __788: if !(rc != 0) { goto __789 } - Xsqlite3VdbeError(tls, p, ts+2778 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+2793 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __789: ; @@ -88348,12 +88856,12 @@ __798: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+5446, /* "cannot change %s..." */ + ts+5461, /* "cannot change %s..." */ libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 5498 /* "into" */ + return ts + 5513 /* "into" */ } - return ts + 5503 /* "out of" */ + return ts + 5518 /* "out of" */ }())) goto abort_due_to_error goto __801 @@ -88556,7 +89064,7 @@ __167: goto __816 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+5510 /* "database table i..." */, libc.VaList(bp+112, z1)) + Xsqlite3VdbeError(tls, p, ts+5525 /* "database table i..." */, libc.VaList(bp+112, z1)) __816: ; goto abort_due_to_error @@ -88800,7 +89308,7 @@ __833: if !((*Sqlite3_context)(unsafe.Pointer(bp+872 /* &sContext */)).FisError > 0) { goto __834 } - Xsqlite3VdbeError(tls, p, ts+2778 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) + Xsqlite3VdbeError(tls, p, ts+2793 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) rc = (*Sqlite3_context)(unsafe.Pointer(bp + 872 /* &sContext */)).FisError __834: ; @@ -89131,7 +89639,7 @@ __857: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __862 } - Xsqlite3VdbeError(tls, p, ts+2778 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+2793 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __862: ; @@ -89221,7 +89729,7 @@ __867: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __869 } - z3 = Xsqlite3MPrintf(tls, db, ts+5539 /* "-- %s" */, libc.VaList(bp+136, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+5554 /* "-- %s" */, libc.VaList(bp+136, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __870 @@ -89324,13 +89832,13 @@ __878: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __880 } - Xsqlite3VdbeError(tls, p, ts+2778 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+2793 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) __880: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) - Xsqlite3_log(tls, rc, ts+5545, /* "statement aborts..." */ + Xsqlite3_log(tls, rc, ts+5560, /* "statement aborts..." */ libc.VaList(bp+152, (int32((int64(pOp)-int64(aOp))/24)), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { @@ -89375,14 +89883,14 @@ __884: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+4844 /* "string or blob t..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4859 /* "string or blob t..." */, 0) rc = SQLITE_TOOBIG goto abort_due_to_error // Jump to here if a malloc() fails. no_mem: Xsqlite3OomFault(tls, db) - Xsqlite3VdbeError(tls, p, ts+5577 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+5592 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -89395,8 +89903,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 5591 /* "NOT NULL" */, ts + 5600 /* "UNIQUE" */, ts + 5607, /* "CHECK" */ - ts + 5613 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ +var azType = [4]uintptr{ts + 5606 /* "NOT NULL" */, ts + 5615 /* "UNIQUE" */, ts + 5622, /* "CHECK" */ + ts + 5628 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:88844:32 */ var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:88847:32 */ var aFlag1 = [2]U16{U16(MEM_Blob), (U16(MEM_Str | MEM_Term))} /* sqlite3.c:89315:24 */ @@ -89503,16 +90011,16 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } if type1 < U32(12) { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5625, /* "cannot open valu..." */ + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5640, /* "cannot open valu..." */ libc.VaList(bp, func() uintptr { if type1 == U32(0) { - return ts + 5654 /* "null" */ + return ts + 5669 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 5659 /* "real" */ + return ts + 5674 /* "real" */ } - return ts + 5664 /* "integer" */ + return ts + 5679 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -89532,10 +90040,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5672 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5687 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+2778 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+2793 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -89598,21 +90106,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5692 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5707 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5722 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5737 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5758 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5773 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) __7: ; if !(!(pTab != 0)) { @@ -89657,7 +90165,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5779 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5794 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -89686,7 +90194,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+64 /* &.aCol */)+uintptr(j)*16)).FiFrom == iCol) { goto __23 } - zFault = ts + 5800 /* "foreign key" */ + zFault = ts + 5815 /* "foreign key" */ __23: ; goto __21 @@ -89719,7 +90227,7 @@ __27: if !((int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == iCol) || (int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == (-2))) { goto __30 } - zFault = ts + 5812 /* "indexed" */ + zFault = ts + 5827 /* "indexed" */ __30: ; goto __28 @@ -89740,7 +90248,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5820 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5835 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -89849,7 +90357,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) != 0 { - return ts + 2778 /* "%s" */ + return ts + 2793 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)))) @@ -90014,7 +90522,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) != 0 { - return ts + 2778 /* "%s" */ + return ts + 2793 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) @@ -93572,7 +94080,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+5854 /* "main" */, zDb) == 0)) { + if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+5869 /* "main" */, zDb) == 0)) { goto __8 } // This branch is taken when the main database has been renamed @@ -93775,14 +94283,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5859 /* "new" */, zTab) == 0)) { + if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5874 /* "new" */, zTab) == 0)) { goto __41 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 1 pTab = (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab goto __42 __41: - if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5863 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5878 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -93799,7 +94307,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+5867 /* "excluded" */, zTab) == 0)) { + if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+5882 /* "excluded" */, zTab) == 0)) { goto __45 } pTab = (*SrcItem)(unsafe.Pointer(((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8 /* &.a */))).FpTab @@ -93976,7 +94484,7 @@ __66: if !((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0) && (((*Expr)(unsafe.Pointer((pOrig))).Fflags & (U32(EP_Agg))) != U32(0))) { goto __70 } - Xsqlite3ErrorMsg(tls, pParse, ts+5876 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+5891 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -93984,14 +94492,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+5907 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+5922 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) return WRC_Abort __71: ; if !(Xsqlite3ExprVectorSize(tls, pOrig) != 1) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+5944 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5959 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -94067,7 +94575,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+5962 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) + ts+5977 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)) = uintptr(0) return WRC_Prune @@ -94088,23 +94596,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 5997 /* "no such column" */ + zErr = ts + 6012 /* "no such column" */ } else { - zErr = ts + 6012 /* "ambiguous column..." */ + zErr = ts + 6027 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+6034 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+6049 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+6047 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+6062 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+6057 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+6072 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -94238,15 +94746,15 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp bp := tls.Alloc(16) defer tls.Free(16) - var zIn uintptr = ts + 6064 /* "partial index WH..." */ + var zIn uintptr = ts + 6079 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 6092 /* "index expression..." */ + zIn = ts + 6107 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 6110 /* "CHECK constraint..." */ + zIn = ts + 6125 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 6128 /* "generated column..." */ + zIn = ts + 6143 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+6146 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) + Xsqlite3ErrorMsg(tls, pParse, ts+6161 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) if pExpr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } @@ -94354,10 +94862,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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 /* &.u */)) = ts + 6166 /* "true" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 6181 /* "true" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsTrue)) } else { - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 6171 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 6186 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) } (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) @@ -94410,7 +94918,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (NC_IdxExpr | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+6177 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+6192 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -94477,7 +94985,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+6194 /* "second argument ..." */, 0) + ts+6209 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -94502,7 +95010,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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+6265, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6280, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -94526,7 +95034,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all // all this. if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & ((NC_IdxExpr | NC_PartIdx) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+6300 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+6315 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -94555,30 +95063,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+6328 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) + ts+6343 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) (*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 + 6372 /* "window" */ + zType = ts + 6387 /* "window" */ } else { - zType = ts + 6379 /* "aggregate" */ + zType = ts + 6394 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+6389 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+6404 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) (*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+6418 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+6433 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6441, /* "wrong number of ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6456, /* "wrong number of ..." */ libc.VaList(bp+64, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, - ts+6486, /* "FILTER may not b..." */ + ts+6501, /* "FILTER may not b..." */ libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -94653,7 +95161,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+6535 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+6550 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) @@ -94670,7 +95178,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s { if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+6546 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+6561 /* "parameters" */, pExpr) } break @@ -94730,7 +95238,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+5944 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5959 /* "row value misuse..." */, 0) } break @@ -94835,7 +95343,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+6557 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) + ts+6572 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) } // Analyze the ORDER BY clause in a compound SELECT statement. Modify @@ -94867,7 +95375,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 + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6613 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6628 /* "too many terms i..." */, 0) return 1 } for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { @@ -94902,7 +95410,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 } if Xsqlite3ExprIsInteger(tls, pE, bp+8 /* &iCol */) != 0 { if (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { - resolveOutOfRangeError(tls, pParse, ts+6647 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+6662 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -94973,7 +95481,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { if (int32(*(*uint8)(unsafe.Pointer(((pOrderBy + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.done */)) & 0x4 >> 2)) == 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+6653 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+6668 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -95001,7 +95509,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6714 /* "too many terms i..." */, libc.VaList(bp, zType)) + Xsqlite3ErrorMsg(tls, pParse, ts+6729 /* "too many terms i..." */, libc.VaList(bp, zType)) return 1 } pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList @@ -95290,7 +95798,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp /* &sNC */ + 40 /* &.ncFlags */)) |= (NC_UEList) if (*Select)(unsafe.Pointer(p)).FpHaving != 0 { if !(pGroupBy != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+6745 /* "a GROUP BY claus..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6760 /* "a GROUP BY claus..." */, 0) return WRC_Abort } if Xsqlite3ResolveExprNames(tls, bp /* &sNC */, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -95347,7 +95855,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // resolve those symbols on the incorrect ORDER BY for consistency. if (((*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0)) && (isCompound <= nCompound)) && // Defer right-most ORDER BY of a compound - (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6647 /* "ORDER" */) != 0) { + (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6662 /* "ORDER" */) != 0) { return WRC_Abort } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -95360,7 +95868,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql if pGroupBy != 0 { var pItem uintptr - if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+6789 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { + if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+6804 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { return WRC_Abort } i = 0 @@ -95372,7 +95880,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql { if ((*Expr)(unsafe.Pointer(((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr))).Fflags & (U32(EP_Agg))) != U32(0) { Xsqlite3ErrorMsg(tls, pParse, - ts+6795 /* "aggregate functi..." */, 0) + ts+6810 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -96142,7 +96650,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+5944 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5959 /* "row value misuse..." */, 0) return } @@ -96218,7 +96726,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 3*4)) if nHeight > mxHeight { Xsqlite3ErrorMsg(tls, pParse, - ts+6854 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+6869 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -96459,7 +96967,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+6902 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+6917 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -96481,7 +96989,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u return uintptr(0) } if (pList != 0) && ((*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 6*4))) { - Xsqlite3ErrorMsg(tls, pParse, ts+6904 /* "too many argumen..." */, libc.VaList(bp, pToken)) + Xsqlite3ErrorMsg(tls, pParse, ts+6919 /* "too many argumen..." */, libc.VaList(bp, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32 /* &.x */)) = pList *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_HasFunc)) @@ -96515,7 +97023,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // is tagged with SQLITE_FUNC_UNSAFE) and // SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning // that the schema is possibly tainted). - Xsqlite3ErrorMsg(tls, pParse, ts+6938 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6953 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) } } } @@ -96568,7 +97076,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+6957, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6972, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) return } @@ -96595,7 +97103,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*Expr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+7000 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+7015 /* "too many SQL var..." */, 0) } } @@ -97264,7 +97772,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+7023, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+7038, /* "%d columns assig..." */ libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error __3: @@ -97399,7 +97907,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 2*4)) if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx) { - Xsqlite3ErrorMsg(tls, pParse, ts+7053 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+7068 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -97454,10 +97962,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 { /* sqlite3.c:103208:20: */ - if Xsqlite3StrICmp(tls, zIn, ts+6166 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+6181 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+6171 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+6186 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -97902,13 +98410,13 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 // Return TRUE if the given string is a row-id column name. func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:103650:20: */ - if Xsqlite3StrICmp(tls, z, ts+7076 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+7091 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+7084 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+7099 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+7090 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+7105 /* "OID" */) == 0 { return 1 } return 0 @@ -98136,7 +98644,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, Xsqlite3OpenTable(tls, pParse, iTab, iDb, pTab, OP_OpenRead) eType = IN_INDEX_ROWID - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+7094 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+7109 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeJumpHere(tls, v, iAddr) } else { var pIdx uintptr // Iterator variable @@ -98227,7 +98735,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+7141 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+7156 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) @@ -98333,7 +98841,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec defer tls.Free(16) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { - var zFmt uintptr = ts + 7172 /* "sub-select retur..." */ + var zFmt uintptr = ts + 7187 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -98351,7 +98859,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_xIsSelect)) != 0 { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FpEList)).FnExpr, 1) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+5944 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5959 /* "row value misuse..." */, 0) } } @@ -98404,7 +98912,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+7216 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+7231 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) @@ -98440,11 +98948,11 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+7239 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+7254 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 741 /* "" */ + return ts + 756 /* "" */ } - return ts + 7258 /* "CORRELATED " */ + return ts + 7273 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSelect)).FselId)) // If the LHS and RHS of the IN operator do not match, that // error will have been caught long before we reach this point. @@ -98590,7 +99098,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // If this routine has already been coded, then invoke it as a // subroutine. if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+7270 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+7285 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) return (*Expr)(unsafe.Pointer(pExpr)).FiTable @@ -98623,11 +99131,11 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+7288 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+7303 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 741 /* "" */ + return ts + 756 /* "" */ } - return ts + 7258 /* "CORRELATED " */ + return ts + 7273 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSel)).FselId)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { nReg = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpEList)).FnExpr @@ -98651,7 +99159,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // The subquery already has a limit. If the pre-existing limit is X // then make the new limit X<>0 so that the new limit is either 1 or 0 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6902 /* "0" */) + pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6917 /* "0" */) if pLimit != 0 { (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, @@ -98661,7 +99169,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { // If there is no pre-existing limit add a limit of 1 - pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+7309 /* "1" */) + pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+7324 /* "1" */) (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -99153,12 +99661,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM c = Xsqlite3DecOrHexToI64(tls, z, bp+16 /* &value */) if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 16 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { - if Xsqlite3_strnicmp(tls, z, ts+7311 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+7314 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { + if Xsqlite3_strnicmp(tls, z, ts+7326 /* "0x" */, 2) == 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+7329 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { - return ts + 4437 /* "-" */ + return ts + 4452 /* "-" */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -99233,7 +99741,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT } else if (int32((*Column)(unsafe.Pointer((libc.AssignUintptr(&pCol, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32))))).FcolFlags) & COLFLAG_VIRTUAL) != 0 { var pParse uintptr = Xsqlite3VdbeParser(tls, v) if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_BUSY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+7340 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7355 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else { var savedSelfTab int32 = (*Parse)(unsafe.Pointer(pParse)).FiSelfTab *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) @@ -99792,7 +100300,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+7340, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+7355, /* "generated column..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -100044,7 +100552,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+7370 /* "misuse of aggreg..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+7385 /* "misuse of aggreg..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*32)).FiMem @@ -100086,7 +100594,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+7396 /* "unknown function..." */, libc.VaList(bp+16, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+7411 /* "unknown function..." */, libc.VaList(bp+16, zId)) goto __3 __91: ; @@ -100280,7 +100788,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+7023, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+7038, /* "%d columns assig..." */ libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -100362,7 +100870,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+5944 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5959 /* "row value misuse..." */, 0) goto __3 // TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions @@ -100486,7 +100994,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+7419 /* "RAISE() may only..." */, 0) + ts+7434 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -100525,7 +101033,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7469 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7484 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -102362,11 +102870,11 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq bp := tls.Alloc(8) defer tls.Free(8) - if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7477 /* "sqlite_" */, 7)) || + if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7492 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || ((((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Shadow)) != U32(0)) && (Xsqlite3ReadOnlyShadowTables(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+7485 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7500 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -102384,14 +102892,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+7513, /* "SELECT 1 FROM \"%..." */ + ts+7528, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+7688, /* "SELECT 1 FROM te..." */ + ts+7703, /* "SELECT 1 FROM te..." */ libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -102407,11 +102915,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+7862 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) + ts+7877 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+8009 /* "UPDATE temp.sqli..." */, 0) + ts+8024 /* "UPDATE temp.sqli..." */, 0) } } @@ -102485,7 +102993,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+8160 /* "there is already..." */, libc.VaList(bp, zName)) + ts+8175 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -102498,7 +103006,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8219 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8234 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -102508,7 +103016,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+8225 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+8240 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -102561,24 +103069,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+8252 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+8267 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, - ts+8436, /* "UPDATE %Q.sqlite..." */ + ts+8451, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+64, zDb, zName, zName, zName, nTabName, zTabName)) // If the sqlite_sequence table exists in this database, then update // it with the new table name. - if !(Xsqlite3FindTable(tls, db, ts+8741 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+8756 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+8757, /* "UPDATE \"%w\".sqli..." */ + ts+8772, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -102591,7 +103099,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+8815 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+8830 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -102609,7 +103117,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+9080 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+9095 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -102624,7 +103132,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, - ts+9093, /* "SELECT raise(ABO..." */ + ts+9108, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -102672,12 +103180,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // If there is a NOT NULL constraint, then the default value for the // column must not be NULL. if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+9131 /* "Cannot add a PRI..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9146 /* "Cannot add a PRI..." */, 0) return } if (*Table)(unsafe.Pointer(pNew)).FpIndex != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+9163 /* "Cannot add a UNI..." */, 0) + ts+9178 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -102690,11 +103198,11 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if ((((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ForeignKeys)) != 0) && ((*Table)(unsafe.Pointer(pNew)).FpFKey != 0)) && (pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+9190 /* "Cannot add a REF..." */) + ts+9205 /* "Cannot add a REF..." */) } if ((*Column)(unsafe.Pointer(pCol)).FnotNull != 0) && !(pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+9249 /* "Cannot add a NOT..." */) + ts+9264 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -102710,12 +103218,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+9302 /* "Cannot add a col..." */) + ts+9317 /* "Cannot add a col..." */) } Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { - sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+9348 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+9363 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -102731,7 +103239,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+9375, /* "UPDATE \"%w\".sqli..." */ + ts+9390, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp, zDb, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zCol, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zTab)) Xsqlite3DbFree(tls, db, zCol) @@ -102802,7 +103310,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+9521 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9536 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -102811,7 +103319,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+9555 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9570 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -102846,7 +103354,7 @@ __6: nAlloc = ((((int32((*Table)(unsafe.Pointer(pNew)).FnCol) - 1) / 8) * 8) + 8) (*Table)(unsafe.Pointer(pNew)).FaCol = Xsqlite3DbMallocZero(tls, db, (uint64(uint64(unsafe.Sizeof(Column{})) * uint64(nAlloc)))) - (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+9585 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+9600 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(!(int32((*Table)(unsafe.Pointer(pNew)).FaCol) != 0) || !(int32((*Table)(unsafe.Pointer(pNew)).FzName) != 0)) { goto __7 } @@ -102893,18 +103401,18 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { - zType = ts + 9604 /* "view" */ + zType = ts + 9619 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 9609 /* "virtual table" */ + zType = ts + 9624 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+9623, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9638, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 9641 /* "drop column from" */ + return ts + 9656 /* "drop column from" */ } - return ts + 9658 /* "rename columns o..." */ + return ts + 9673 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -102997,13 +103505,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+5779 /* "no such column: ..." */, libc.VaList(bp, zOld)) + Xsqlite3ErrorMsg(tls, pParse, ts+5794 /* "no such column: ..." */, libc.VaList(bp, zOld)) goto exit_rename_column __10: ; // Ensure the schema contains no double-quoted strings - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+741 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+756 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iSchema == 1))) // Do the rename operation using a recursive UPDATE statement that @@ -103021,19 +103529,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+9676, /* "UPDATE \"%w\".sqli..." */ + ts+9691, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+8, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, - ts+9894, /* "UPDATE temp.sqli..." */ + ts+9909, /* "UPDATE temp.sqli..." */ libc.VaList(bp+72, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+9080 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+9095 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -103328,12 +103836,12 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui var zN uintptr = Xsqlite3_value_text(tls, pObject) var zErr uintptr - zErr = Xsqlite3_mprintf(tls, ts+10025, /* "error in %s %s%s..." */ + zErr = Xsqlite3_mprintf(tls, ts+10040, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - return ts + 10048 /* " " */ + return ts + 10063 /* " " */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -103442,7 +103950,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // ALTER TABLE statement was quoted (bQuote==1), then set zNew to // point to zQuot so that all substitutions are made using the // quoted version of the new column name. - zQuot = Xsqlite3MPrintf(tls, db, ts+10050 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+10065 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -103492,12 +104000,12 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.X__builtin___memcpy_chk(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, uint64((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn), libc.X__builtin_object_size(tls, zBuf1, 0)) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+10056 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+10071 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { - return ts + 10048 /* " " */ + return ts + 10063 /* " " */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -104001,7 +104509,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+741 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) + renameColumnParseError(tls, context, ts+756 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) goto __45 __44: Xsqlite3_result_error_code(tls, context, rc) @@ -104181,7 +104689,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr } if rc != SQLITE_OK { if (*Parse)(unsafe.Pointer(bp+80 /* &sParse */)).FzErrMsg != 0 { - renameColumnParseError(tls, context, ts+741 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) + renameColumnParseError(tls, context, ts+756 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -104463,7 +104971,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+10061 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) + zNew = Xsqlite3MPrintf(tls, db, ts+10076 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -1, libc.UintptrFromInt32(-1)) Xsqlite3_free(tls, zNew) @@ -104551,7 +105059,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+5779 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5794 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -104561,12 +105069,12 @@ __6: if !((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & (COLFLAG_PRIMKEY | COLFLAG_UNIQUE)) != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+10068, /* "cannot drop %s c..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10083, /* "cannot drop %s c..." */ libc.VaList(bp+8, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - return ts + 10096 /* "PRIMARY KEY" */ + return ts + 10111 /* "PRIMARY KEY" */ } - return ts + 5600 /* "UNIQUE" */ + return ts + 5615 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -104577,7 +105085,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+10108 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+10123 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) goto exit_drop_column __8: ; @@ -104586,15 +105094,15 @@ __8: iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+741 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+756 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+10156 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+10171 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+10277 /* "after drop colum..." */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+10292 /* "after drop colum..." */, 1) // Edit rows of table on disk if !(((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) && ((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_VIRTUAL) == 0)) { @@ -104705,11 +105213,11 @@ func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:109584:21: */ } var aAlterTableFuncs = [5]FuncDef{ - {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 10295 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 10316 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 10336 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 10355 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 10374 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ + {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 10310 /* "sqlite_rename_co..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 10331 /* "sqlite_rename_ta..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 10351 /* "sqlite_rename_te..." */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 10370 /* "sqlite_drop_colu..." */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 10389 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -104906,7 +105414,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // of the new table in register pParse->regRoot. This is important // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, - ts+10397 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) + ts+10412 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } @@ -104918,10 +105426,10 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, - ts+10420, /* "DELETE FROM %Q.%..." */ + ts+10435, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+10450 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+10465 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb) @@ -104942,9 +105450,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 10468 /* "sqlite_stat1" */, FzCols: ts + 10481 /* "tbl,idx,stat" */}, - {FzName: ts + 10494 /* "sqlite_stat4" */, FzCols: ts + 10507 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 10535 /* "sqlite_stat3" */}, + {FzName: ts + 10483 /* "sqlite_stat1" */, FzCols: ts + 10496 /* "tbl,idx,stat" */}, + {FzName: ts + 10509 /* "sqlite_stat4" */, FzCols: ts + 10522 /* "tbl,idx,neq,nlt,..." */}, + {FzName: ts + 10550 /* "sqlite_stat3" */}, } /* sqlite3.c:109773:5 */ // Recommended number of samples for sqlite_stat4 @@ -105175,7 +105683,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10548 /* "stat_init" */} /* sqlite3.c:110084:22 */ + FzName: ts + 10563 /* "stat_init" */} /* sqlite3.c:110084:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -105493,7 +106001,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10558 /* "stat_push" */} /* sqlite3.c:110374:22 */ + FzName: ts + 10573 /* "stat_push" */} /* sqlite3.c:110374:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -105550,7 +106058,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+10568, /* "%llu" */ + Xsqlite3_snprintf(tls, 24, zRet, ts+10583, /* "%llu" */ libc.VaList(bp, func() uint64 { if (*StatAccum)(unsafe.Pointer(p)).FnSkipAhead != 0 { return U64((*StatAccum)(unsafe.Pointer(p)).FnEst) @@ -105561,7 +106069,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+10573 /* " %llu" */, libc.VaList(bp+8, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+10588 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -105610,7 +106118,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+10579 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+10594 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -105627,7 +106135,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10585 /* "stat_get" */} /* sqlite3.c:110526:22 */ + FzName: ts + 10600 /* "stat_get" */} /* sqlite3.c:110526:22 */ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:110538:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, (regStat + 1)) @@ -105674,7 +106182,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Do not gather statistics on views or virtual tables return } - if Xsqlite3_strlike(tls, ts+10594 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, ts+10609 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { // Do not gather statistics on system tables return } @@ -105692,7 +106200,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp return } (*Table)(unsafe.Pointer(pStat1)).FzName = (pStat1 + 1*120) - libc.X__builtin___memcpy_chk(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+10468 /* "sqlite_stat1" */, uint64(13), libc.X__builtin_object_size(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, 0)) + libc.X__builtin___memcpy_chk(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+10483 /* "sqlite_stat1" */, uint64(13), libc.X__builtin_object_size(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, 0)) (*Table)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*Table)(unsafe.Pointer(pStat1)).FiPKey = int16(-1) Xsqlite3VdbeAddOp4(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Noop, 0, 0, 0, pStat1, -17) @@ -105925,7 +106433,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Add the entry to the stat1 table. callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10604 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10619 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP4(tls, v, -1, pStat1, -6) @@ -105987,7 +106495,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp jZeroRows = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, regStat1) Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regIdxname) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10604 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10619 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -106040,9 +106548,9 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) iStatCur = (*Parse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52 /* &.nTab */)) += (3) if pOnlyIdx != 0 { - openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+10608 /* "idx" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+10623 /* "idx" */) } else { - openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10612 /* "tbl" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10627 /* "tbl" */) } analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1), (*Parse)(unsafe.Pointer(pParse)).FnTab) loadAnalysis(tls, pParse, iDb) @@ -106137,7 +106645,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 741 /* "" */ + z = ts + 756 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -106159,15 +106667,15 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, ts+10616 /* "unordered*" */, z) == 0 { + if Xsqlite3_strglob(tls, ts+10631 /* "unordered*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(1), 2, 0x4) - } else if Xsqlite3_strglob(tls, ts+10627 /* "sz=[0-9]*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+10642 /* "sz=[0-9]*" */, z) == 0 { var sz int32 = Xsqlite3Atoi(tls, (z + uintptr(3))) if sz < 2 { sz = 2 } (*Index)(unsafe.Pointer(pIndex)).FszIdxRow = Xsqlite3LogEst(tls, uint64(sz)) - } else if Xsqlite3_strglob(tls, ts+10637 /* "noskipscan*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+10652 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(1), 6, 0x40) } for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { @@ -106486,10 +106994,10 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:111438:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines - if Xsqlite3FindTable(tls, db, ts+10494 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+10509 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+10649, /* "SELECT idx,count..." */ - ts+10703, /* "SELECT idx,neq,n..." */ + ts+10664, /* "SELECT idx,count..." */ + ts+10718, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -106540,9 +107048,9 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // Load new statistics out of the sqlite_stat1 table (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).Fdb = db (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+10468 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { + if Xsqlite3FindTable(tls, db, ts+10483 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+10755 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) + ts+10770 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { @@ -106634,7 +107142,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // database iDb attached to handle db. func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:111595:20: */ return (libc.Bool32((Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0) || - ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+5854 /* "main" */, zName) == 0)))) + ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+5869 /* "main" */, zName) == 0)))) } // An SQL user-function registered to do the work of an ATTACH statement. The @@ -106685,13 +107193,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 741 /* "" */ + zFile = ts + 756 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 741 /* "" */ + zName = ts + 756 /* "" */ __2: ; @@ -106701,7 +107209,7 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+3358 /* "memdb" */) + *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+3373 /* "memdb" */) if !(*(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) == uintptr(0)) { goto __5 } @@ -106717,7 +107225,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+10796 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+10811 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -106730,7 +107238,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10799, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10814, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -106744,7 +107252,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10836 /* "database %s is a..." */, libc.VaList(bp+8, zName)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10851 /* "database %s is a..." */, libc.VaList(bp+8, zName)) goto attach_error __11: ; @@ -106815,7 +107323,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10866 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10881 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -106832,7 +107340,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+10895 /* "attached databas..." */, 0) + ts+10910 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -106902,13 +107410,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+5577 /* "out of memory" */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+5592 /* "out of memory" */, 0) goto __31 __30: if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10963 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10978 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) __32: ; __31: @@ -106964,7 +107472,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 741 /* "" */ + zName = ts + 756 /* "" */ __1: ; i = 0 @@ -106996,14 +107504,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10991 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+11006 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+11012 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+11027 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -107011,7 +107519,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+11038 /* "database %s is l..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+11053 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -107134,7 +107642,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11060 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 11075 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -107147,7 +107655,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11074 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ + FzName: ts + 11089 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ @@ -107162,7 +107670,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer((*DbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit.Fbusy != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } else { - Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+11088 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) + Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+11103 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) return WRC_Abort } } @@ -107195,7 +107703,7 @@ __1: if (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != Xsqlite3FindDbName(tls, db, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) { Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, - ts+11112, /* "%s %T cannot ref..." */ + ts+11127, /* "%s %T cannot ref..." */ libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType, (*DbFixer)(unsafe.Pointer(pFix)).FpName, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return WRC_Abort } @@ -107394,7 +107902,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112233:13: */ - Xsqlite3ErrorMsg(tls, pParse, ts+11158 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11173 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -107418,11 +107926,11 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - var z uintptr = Xsqlite3_mprintf(tls, ts+11181 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) + var z uintptr = Xsqlite3_mprintf(tls, ts+11196 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+11187 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+11202 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+11193 /* "access to %z is ..." */, libc.VaList(bp+32, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+11208 /* "access to %z is ..." */, libc.VaList(bp+32, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -107474,7 +107982,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName } else { - zCol = ts + 7084 /* "ROWID" */ + zCol = ts + 7099 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -107506,7 +108014,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+11220 /* "not authorized" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11235 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_OK) && (rc != SQLITE_IGNORE) { rc = SQLITE_DENY @@ -107816,25 +108324,25 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb { // No match against the official names. But always match "main" // to schema 0 as a legacy fallback. - if Xsqlite3StrICmp(tls, zDatabase, ts+5854 /* "main" */) == 0 { + if Xsqlite3StrICmp(tls, zDatabase, ts+5869 /* "main" */) == 0 { i = 0 } else { return uintptr(0) } } p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), zName) - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7477 /* "sqlite_" */, 7) == 0) { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7492 /* "sqlite_" */, 7) == 0) { if i == 1 { - if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+11235 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+11254 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+5352 /* "sqlite_master" */ +7)) == 0) { + if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+11250 /* "sqlite_temp_sche..." */ +7)) == 0) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+11269 /* "sqlite_schema" */ +7)) == 0)) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+5367 /* "sqlite_master" */ +7)) == 0) { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+11268 /* "sqlite_temp_mast..." */) + ts+11283 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+11254 /* "sqlite_schema" */ +7)) == 0 { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+11269 /* "sqlite_schema" */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), - ts+5352 /* "sqlite_master" */) + ts+5367 /* "sqlite_master" */) } } } @@ -107857,12 +108365,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7477 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+11254 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+5352 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+11235 /* "sqlite_temp_sche..." */ +7)) == 0 { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7492 /* "sqlite_" */, 7) == 0) { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+11269 /* "sqlite_schema" */ +7)) == 0 { + p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+5367 /* "sqlite_master" */) + } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+11250 /* "sqlite_temp_sche..." */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+11268 /* "sqlite_temp_mast..." */) + ts+11283 /* "sqlite_temp_mast..." */) } } } @@ -107898,7 +108406,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // can be an eponymous virtual table. if (int32((*Parse)(unsafe.Pointer(pParse)).FdisableVtab) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { var pMod uintptr = Xsqlite3HashFind(tls, (db + 536 /* &.aModule */), zName) - if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+11287 /* "pragma_" */, 7) == 0) { + if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+11302 /* "pragma_" */, 7) == 0) { pMod = Xsqlite3PragmaVtabRegister(tls, db, zName) } if (pMod != 0) && (Xsqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0) { @@ -107916,14 +108424,14 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if p == uintptr(0) { var zMsg uintptr if (flags & U32(LOCATE_VIEW)) != 0 { - zMsg = ts + 11295 /* "no such view" */ + zMsg = ts + 11310 /* "no such view" */ } else { - zMsg = ts + 11308 /* "no such table" */ + zMsg = ts + 11323 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6047 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6062 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+6057 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6072 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -108236,7 +108744,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // writing. The table is opened using cursor 0. func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:113223:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) - Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+5352 /* "sqlite_master" */) + Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+5367 /* "sqlite_master" */) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) if (*Parse)(unsafe.Pointer(p)).FnTab == 0 { (*Parse)(unsafe.Pointer(p)).FnTab = 1 @@ -108263,7 +108771,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql } // "main" is always an acceptable alias for the primary database // even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. - if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+5854 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+5869 /* "main" */, zName)) { goto __3 } @@ -108316,13 +108824,13 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if (*Token)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11322 /* "corrupt database" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11337 /* "corrupt database" */, 0) return -1 } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = Xsqlite3FindDb(tls, db, pName1) if iDb < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11339 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+11354 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -108363,13 +108871,13 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType if ((Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit))) != 0) || (Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 1*8))) != 0)) || (Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 2*8))) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+741 /* "" */, 0) // corruptSchema() will supply the error + Xsqlite3ErrorMsg(tls, pParse, ts+756 /* "" */, 0) // corruptSchema() will supply the error return SQLITE_ERROR } } else { - if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+7477 /* "sqlite_" */, 7))) || + if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+7492 /* "sqlite_" */, 7))) || ((Xsqlite3ReadOnlyShadowTables(tls, db) != 0) && (Xsqlite3ShadowTableName(tls, db, zName) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+11359, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11374, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -108538,9 +109046,9 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui iDb = int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) zName = Xsqlite3DbStrDup(tls, db, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 11268 /* "sqlite_temp_mast..." */ + return ts + 11283 /* "sqlite_temp_mast..." */ } - return ts + 5352 /* "sqlite_master" */ + return ts + 5367 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 @@ -108558,7 +109066,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+11401 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11416 /* "temporary table ..." */, 0) return __4: ; @@ -108586,9 +109094,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 9604 /* "view" */ + return ts + 9619 /* "view" */ } - return ts + 8219 /* "table" */ + return ts + 8234 /* "table" */ }(), zName) != 0) { goto __8 } @@ -108605,9 +109113,9 @@ __9: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (isTemp == 1) { - return ts + 11268 /* "sqlite_temp_mast..." */ + return ts + 11283 /* "sqlite_temp_mast..." */ } - return ts + 5352 /* "sqlite_master" */ + return ts + 5367 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -108645,7 +109153,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+11442 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+11457 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) goto __16 __15: ; @@ -108659,7 +109167,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+11466 /* "there is already..." */, libc.VaList(bp+8, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11481 /* "there is already..." */, libc.VaList(bp+8, zName)) goto begin_table_error __17: ; @@ -108775,7 +109283,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:113716:13: */ var pHash uintptr pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - Xsqlite3HashInsert(tls, pHash, ts+11501 /* "sqlite_returning" */, uintptr(0)) + Xsqlite3HashInsert(tls, pHash, ts+11516 /* "sqlite_returning" */, uintptr(0)) Xsqlite3ExprListDelete(tls, db, (*Returning)(unsafe.Pointer(pRet)).FpReturnEL) Xsqlite3DbFree(tls, db, pRet) } @@ -108799,7 +109307,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Parse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11518 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11533 /* "cannot use RETUR..." */, 0) } else { } @@ -108820,7 +109328,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 11501 /* "sqlite_returning" */ + (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 11516 /* "sqlite_returning" */ (*Returning)(unsafe.Pointer(pRet)).FretTrig.Fop = U8(TK_RETURNING) (*Returning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = U8(TRIGGER_AFTER) (*Returning)(unsafe.Pointer(pRet)).FretTrig.FbReturning = U8(1) @@ -108832,7 +109340,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql (*Returning)(unsafe.Pointer(pRet)).FretTStep.FpExprList = pList pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - if Xsqlite3HashInsert(tls, pHash, ts+11501 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+11516 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == (pRet + 16 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -108860,7 +109368,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp return } if (int32((*Table)(unsafe.Pointer(p)).FnCol) + 1) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+11552 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11567 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } z = Xsqlite3DbMallocRaw(tls, db, (uint64(((*Token)(unsafe.Pointer(pName)).Fn + (*Token)(unsafe.Pointer(pType)).Fn) + uint32(2)))) @@ -108876,7 +109384,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11575 /* "duplicate column..." */, libc.VaList(bp+8, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+11590 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -109050,11 +109558,11 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar var isInit int32 = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) != 1))) pCol = ((*Table)(unsafe.Pointer(p)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(p)).FnCol)-1))*32) if !(Xsqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11601, /* "default value of..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11616, /* "default value of..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11646 /* "cannot use DEFAU..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11661 /* "cannot use DEFAU..." */, 0) } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. @@ -109104,7 +109612,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+11687 /* "generated column..." */, 0) + ts+11702 /* "generated column..." */, 0) } } @@ -109149,7 +109657,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+11739 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+11754 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit __2: ; @@ -109209,7 +109717,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+741 /* "" */), ts+11780 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+756 /* "" */), ts+11795 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -109237,7 +109745,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+11788 /* "AUTOINCREMENT is..." */, 0) + ts+11803 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -109341,7 +109849,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+11844 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11859 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -109354,13 +109862,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+11887 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+11902 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { goto __5 } // no-op goto __6 __5: - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+11895 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+11910 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { goto __7 } eType = U8(COLFLAG_STORED) @@ -109393,7 +109901,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+11902, /* "error in generat..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11917, /* "error in generat..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) generated_done: Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -109535,13 +110043,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 741 /* "" */ - zSep2 = ts + 11933 /* "," */ - zEnd = ts + 4462 /* ")" */ + zSep = ts + 756 /* "" */ + zSep2 = ts + 11948 /* "," */ + zEnd = ts + 4477 /* ")" */ } else { - zSep = ts + 11935 /* "\n " */ - zSep2 = ts + 11939 /* ",\n " */ - zEnd = ts + 11944 /* "\n)" */ + zSep = ts + 11950 /* "\n " */ + zSep2 = ts + 11954 /* ",\n " */ + zEnd = ts + 11959 /* "\n)" */ } n = n + (35 + (6 * int32((*Table)(unsafe.Pointer(p)).FnCol))) zStmt = Xsqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -109549,7 +110057,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+11947 /* "CREATE TABLE " */, 0) + Xsqlite3_snprintf(tls, n, zStmt, ts+11962 /* "CREATE TABLE " */, 0) *(*int32)(unsafe.Pointer(bp + 8 /* k */)) = Xsqlite3Strlen30(tls, zStmt) identPut(tls, zStmt, bp+8 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = int8('(') @@ -109583,16 +110091,16 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+2778 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+2793 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } var azType1 = [5]uintptr{ - /* SQLITE_AFF_BLOB */ ts + 741, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 11961, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 11967, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 11972, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 11977, /* " REAL" */ + /* SQLITE_AFF_BLOB */ ts + 756, /* "" */ + /* SQLITE_AFF_TEXT */ ts + 11976, /* " TEXT" */ + /* SQLITE_AFF_NUMERIC */ ts + 11982, /* " NUM" */ + /* SQLITE_AFF_INTEGER */ ts + 11987, /* " INT" */ + /* SQLITE_AFF_REAL */ ts + 11992, /* " REAL" */ } /* sqlite3.c:114391:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK @@ -110029,7 +110537,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // table itself. So mark it read-only. if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { if pSelect != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+741 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+756 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -110042,11 +110550,11 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (int32(tabOpts) & TF_WithoutRowid) != 0 { if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+11983 /* "AUTOINCREMENT no..." */, 0) + ts+11998 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+12033 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12048 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } *(*U32)(unsafe.Pointer(p + 64 /* &.tabFlags */)) |= (U32(TF_WithoutRowid | TF_NoVisibleRowid)) @@ -110090,7 +110598,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+12065 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12080 /* "must have at lea..." */, 0) return } } @@ -110123,12 +110631,12 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // Initialize zType for the new view or table. if (*Table)(unsafe.Pointer(p)).FpSelect == uintptr(0) { // A regular table - zType = ts + 8219 /* "table" */ - zType2 = ts + 12109 /* "TABLE" */ + zType = ts + 8234 /* "table" */ + zType2 = ts + 12124 /* "TABLE" */ } else { // A view - zType = ts + 9604 /* "view" */ - zType2 = ts + 12115 /* "VIEW" */ + zType = ts + 9619 /* "view" */ + zType2 = ts + 12130 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -110209,7 +110717,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+12120 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+12135 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -110217,7 +110725,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+12135, /* "UPDATE %Q.sqlite..." */ + ts+12150, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, @@ -110235,14 +110743,14 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+12233, /* "CREATE TABLE %Q...." */ + ts+12248, /* "CREATE TABLE %Q...." */ libc.VaList(bp+88, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+12275 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+12290 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -110263,7 +110771,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // then record a pointer to this table in the main database structure // so that INSERT can find the table easily. - if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+8741 /* "sqlite_sequence" */) == 0 { + if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+8756 /* "sqlite_sequence" */) == 0 { (*Schema)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -110300,7 +110808,7 @@ func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui if !(int32((*Parse)(unsafe.Pointer(pParse)).FnVar) > 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+12309 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12324 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -110322,7 +110830,7 @@ __2: Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp /* &pName */) iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(p)).FpSchema) - Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+9604 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) + Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+9619 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) if !(Xsqlite3FixSelect(tls, bp+8 /* &sFix */, pSelect) != 0) { goto __3 } @@ -110439,7 +110947,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i // CREATE TEMP VIEW ex1 AS SELECT a FROM ex1; // SELECT * FROM temp.ex1; if int32((*Table)(unsafe.Pointer(pTable)).FnCol) < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+12345 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12360 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) return 1 } @@ -110581,7 +111089,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) if iTable < 2 { - Xsqlite3ErrorMsg(tls, pParse, ts+12375 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12390 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -110595,7 +111103,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+12390, /* "UPDATE %Q.sqlite..." */ + ts+12405, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb+uintptr(iDb)*32)).FzDbSName, iTable, r1, r1)) Xsqlite3ReleaseTempReg(tls, pParse, r1) } @@ -110659,10 +111167,10 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint for i = 1; i <= 4; i++ { // var zTab [24]int8 at bp+40, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+12457 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+12472 /* "sqlite_stat%d" */, libc.VaList(bp, i)) if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+40 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+10420, /* "DELETE FROM %Q.%..." */ + ts+10435, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } @@ -110702,7 +111210,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // move as a result of the drop (can happen in auto-vacuum mode). if ((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+12471, /* "DELETE FROM %Q.s..." */ + ts+12486, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -110714,7 +111222,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+12516, /* "DELETE FROM %Q.s..." */ + ts+12531, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) @@ -110744,11 +111252,11 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Return true if it is not allowed to drop the given table func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:115607:12: */ - if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7477 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+2399 /* "stat" */, 4) == 0 { + if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7492 /* "sqlite_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+2414 /* "stat" */, 4) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+6546 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+6561 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -110829,9 +111337,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 11268 /* "sqlite_temp_mast..." */ + return ts + 11283 /* "sqlite_temp_mast..." */ } - return ts + 5352 /* "sqlite_master" */ + return ts + 5367 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zArg2 = uintptr(0) @@ -110891,7 +111399,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+12583 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12598 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __19: ; @@ -110901,14 +111409,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+12611 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12626 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+12645 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12660 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -110923,7 +111431,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+10612 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+10627 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -110988,7 +111496,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+12677, /* "foreign key on %..." */ + ts+12692, /* "foreign key on %..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(iCol)*32)).FzName, pTo)) goto fk_end __5: @@ -111001,7 +111509,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+12740 /* "number of column..." */, 0) + ts+12755 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -111085,7 +111593,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+12834, /* "unknown column \"..." */ + ts+12849, /* "unknown column \"..." */ libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*32)).FzEName)) goto fk_end __23: @@ -111335,12 +111843,12 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pList)).FnExpr; i++ { if (uint32(int32(*(*uint8)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32 + 20 /* &.bNulls */)) & 0x20 >> 5))) != 0 { var sf U8 = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32)).FsortFlags - Xsqlite3ErrorMsg(tls, pParse, ts+12880, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12895, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 12908 /* "FIRST" */ + return ts + 12923 /* "FIRST" */ } - return ts + 12914 /* "LAST" */ + return ts + 12929 /* "LAST" */ }())) return 1 } @@ -111498,7 +112006,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+12919 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) + Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+12934 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+136 /* &sFix */, pTblName) != 0) { goto __10 } @@ -111519,7 +112027,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+12925, /* "cannot create a ..." */ + ts+12940, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -111546,26 +112054,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7477 /* "sqlite_" */, 7) == 0) && + if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7492 /* "sqlite_" */, 7) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0)) && (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+12975 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12990 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+13003 /* "views may not be..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13018 /* "views may not be..." */, 0) goto exit_create_index __16: ; if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+13028 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13043 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -111592,7 +112100,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+12919 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+12934 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { goto __21 } goto exit_create_index @@ -111607,7 +112115,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+13062 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13077 /* "there is already..." */, libc.VaList(bp+16, zName)) goto exit_create_index __24: ; @@ -111619,7 +112127,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+13096 /* "index %s already..." */, libc.VaList(bp+24, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13111 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -111648,7 +112156,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+13120 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+13135 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -111677,9 +112185,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 11268 /* "sqlite_temp_mast..." */ + return ts + 11283 /* "sqlite_temp_mast..." */ } - return ts + 5352 /* "sqlite_master" */ + return ts + 5367 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -111723,7 +112231,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12919 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12934 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -111840,7 +112348,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+13143 /* "expressions proh..." */, 0) + ts+13158 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -112069,7 +112577,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+13204 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) + ts+13219 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -112125,7 +112633,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+13246 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13261 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -112183,12 +112691,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+13263, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+13278, /* "CREATE%s INDEX %..." */ libc.VaList(bp+56, func() uintptr { if onError == OE_None { - return ts + 741 /* "" */ + return ts + 756 /* "" */ } - return ts + 13283 /* " UNIQUE" */ + return ts + 13298 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: @@ -112200,7 +112708,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+13291, /* "INSERT INTO %Q.s..." */ + ts+13306, /* "INSERT INTO %Q.s..." */ libc.VaList(bp+80, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -112216,7 +112724,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+13350 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+13365 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -112400,7 +112908,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+13377 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+13392 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __5 __4: Xsqlite3CodeVerifyNamedSchema(tls, pParse, (*SrcItem)(unsafe.Pointer((pName + 8 /* &.a */))).FzDatabase) @@ -112415,7 +112923,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+13395 /* "index associated..." */, libc.VaList(bp+8, 0)) + ts+13410 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -112426,9 +112934,9 @@ __6: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 11268 /* "sqlite_temp_mast..." */ + return ts + 11283 /* "sqlite_temp_mast..." */ } - return ts + 5352 /* "sqlite_master" */ + return ts + 5367 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -112456,9 +112964,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+13468, /* "DELETE FROM %Q.s..." */ + ts+13483, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) - sqlite3ClearStatTables(tls, pParse, iDb, ts+10608 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+10623 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) Xsqlite3VdbeAddOp4(tls, v, OP_DropIndex, iDb, 0, 0, (*Index)(unsafe.Pointer(pIndex)).FzName, 0) @@ -112609,7 +113117,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*SrcList)(unsafe.Pointer(pSrc)).FnSrc + nExtra) >= SQLITE_MAX_SRCLIST { - Xsqlite3ErrorMsg(tls, pParse, ts+13528, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13543, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -112821,12 +113329,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+13564, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13579, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 13600 /* "ON" */ + return ts + 13615 /* "ON" */ } - return ts + 13603 /* "USING" */ + return ts + 13618 /* "USING" */ }())) goto append_from_error __1: @@ -112954,7 +113462,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+13609 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { + if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+13624 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { return } v = Xsqlite3GetVdbe(tls, pParse) @@ -112990,9 +113498,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 13615 /* "ROLLBACK" */ + return ts + 13630 /* "ROLLBACK" */ } - return ts + 13624 /* "COMMIT" */ + return ts + 13639 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -113017,7 +113525,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 13609 /* "BEGIN" */, ts + 13631 /* "RELEASE" */, ts + 13615 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ +var az = [3]uintptr{ts + 13624 /* "BEGIN" */, ts + 13646 /* "RELEASE" */, ts + 13630 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. @@ -113033,7 +113541,7 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp /* &pBt */, 0, flags) if rc != SQLITE_OK { Xsqlite3ErrorMsg(tls, pParse, - ts+13639 /* "unable to open a..." */, 0) + ts+13654 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -113176,17 +113684,17 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx Xsqlite3StrAccumInit(tls, bp+8 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+13709 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+13724 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*32)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+13720 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+13735 /* ", " */, 2) } Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+754 /* "." */, 1) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+769 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } @@ -113209,11 +113717,11 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr var rc int32 if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+11181 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+11196 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+13723 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+13738 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -113356,7 +113864,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+13732 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13747 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -113466,7 +113974,7 @@ func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) var i int32 for i = 0; i < (*With)(unsafe.Pointer(pWith)).FnCte; i++ { if Xsqlite3StrICmp(tls, zName, (*Cte)(unsafe.Pointer((pWith+16 /* &.a */)+uintptr(i)*48)).FzName) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13778 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13793 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -113700,7 +114208,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+13808 /* "no such collatio..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13823 /* "no such collatio..." */, libc.VaList(bp, zName)) (*Parse)(unsafe.Pointer(pParse)).Frc = (SQLITE_ERROR | (int32(1) << 8)) } return p @@ -114066,11 +114574,11 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 defer tls.Free(16) if tabIsReadOnly(tls, pParse, pTab) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13839 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13854 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+13868 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13883 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -114663,7 +115171,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+13906 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+13921 /* "rows deleted" */, uintptr(0)) __61: ; @@ -114808,7 +115316,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri } return 0 }()) - if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10468 /* "sqlite_stat1" */)) { + if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10483 /* "sqlite_stat1" */)) { Xsqlite3VdbeAppendP4(tls, v, pTab, -6) } if int32(eMode) != ONEPASS_OFF { @@ -115086,7 +115594,7 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 5664 /* "integer" */, ts + 5659 /* "real" */, ts + 13919 /* "text" */, ts + 13924 /* "blob" */, ts + 5654 /* "null" */} /* sqlite3.c:119398:21 */ +var azType2 = [5]uintptr{ts + 5679 /* "integer" */, ts + 5674 /* "real" */, ts + 13934 /* "text" */, ts + 13939 /* "blob" */, ts + 5669 /* "null" */} /* sqlite3.c:119398:21 */ // Implementation of the length() function func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119418:13: */ @@ -115150,7 +115658,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // IMP: R-31676-45509 If X is the integer -9223372036854775808 // then abs(X) throws an integer overflow error since there is no // equivalent positive 64-bit two complement value. - Xsqlite3_result_error(tls, context, ts+13929 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+13944 /* "integer overflow" */, -1) return } iVal = -iVal @@ -115488,7 +115996,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+13946 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+13961 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -115938,7 +116446,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 8*4)) { - Xsqlite3_result_error(tls, context, ts+13951 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+13966 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -115950,7 +116458,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } if Xsqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp /* zEsc */)), -1) != 1 { Xsqlite3_result_error(tls, context, - ts+13984 /* "ESCAPE expressio..." */, -1) + ts+13999 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -116016,7 +116524,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+2778 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // Implementation of the sqlite_compileoption_used() function. @@ -116073,10 +116581,10 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // var zBuf [50]int8 at bp+16, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+4430 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+4445 /* "%!.15g" */, libc.VaList(bp, r1)) Xsqlite3AtoF(tls, bp+16 /* &zBuf[0] */, bp+72 /* &r2 */, 20, uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp + 72 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+14029 /* "%!.20e" */, libc.VaList(bp+8, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+14044 /* "%!.20e" */, libc.VaList(bp+8, r1)) } Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -116150,7 +116658,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+742 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+757 /* "NULL" */, 4, uintptr(0)) break } @@ -116461,7 +116969,7 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:120648:27 */ -var azOne = [1]uintptr{uintptr(ts + 10048 /* " " */)} /* sqlite3.c:120649:26 */ +var azOne = [1]uintptr{uintptr(ts + 10063 /* " " */)} /* sqlite3.c:120649:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -116482,7 +116990,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = ts + 741 /* "" */ + zIn = ts + 756 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -116508,7 +117016,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else { // IMP: R-64894-50321 The string "?000" is returned if the argument // is NULL or contains no ASCII alphabetic characters. - Xsqlite3_result_text(tls, context, ts+14036 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+14051 /* "?000" */, 4, uintptr(0)) } } @@ -116536,7 +117044,7 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // Disallow the load_extension() SQL function unless the SQLITE_LoadExtFunc // flag is set. See the sqlite3_enable_load_extension() API. if ((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_LoadExtFunc)) == uint64(0) { - Xsqlite3_result_error(tls, context, ts+11220 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+11235 /* "not authorized" */, -1) return } @@ -116624,7 +117132,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:120889:13: */ p = Xsqlite3_aggregate_context(tls, context, 0) if (p != 0) && ((*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0)) { if (*SumCtx)(unsafe.Pointer(p)).Foverflow != 0 { - Xsqlite3_result_error(tls, context, ts+13929 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+13944 /* "integer overflow" */, -1) } else if (*SumCtx)(unsafe.Pointer(p)).Fapprox != 0 { Xsqlite3_result_double(tls, context, (*SumCtx)(unsafe.Pointer(p)).FrSum) } else { @@ -116778,7 +117286,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zSep = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) nSep = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) } else { - zSep = ts + 11933 /* "," */ + zSep = ts + 11948 /* "," */ nSep = 1 } if zSep != 0 { @@ -116856,7 +117364,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:121112:13: // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:121135:21: */ - var rc int32 = Xsqlite3_overload_function(tls, db, ts+14041 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+14056 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -116876,14 +117384,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+14047 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+14062 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3CreateFunc(tls, db, ts+14047 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+14062 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+14047 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+14047 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+14062 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+14062 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) } // pExpr points to an expression which implements a function. If @@ -116988,76 +117496,76 @@ func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:121427:21: * var aBuiltinFunc = [68]FuncDef{ //**** Functions only available with SQLITE_TESTCTRL_INTERNAL_FUNCTIONS **** - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 14052 /* "implies_nonnull_..." */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 14072 /* "expr_compare" */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 14085 /* "expr_implies_exp..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 14067 /* "implies_nonnull_..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 14087 /* "expr_compare" */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 14100 /* "expr_implies_exp..." */}, //**** Regular functions **** - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14103 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 14111 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 14111 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 14126 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 14152 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 14177 /* "unlikely" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 14186 /* "likelihood" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 14197 /* "likely" */}, - {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 14204 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 14218 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 14218 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 14224 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 14224 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 14230 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 14230 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14235 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14235 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 14235 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 14239 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 14239 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 14239 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 14243 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 14250 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14257 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14263 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14270 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14278 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14283 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14287 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14287 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14293 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14299 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14305 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14309 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14316 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14323 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14334 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 14341 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 14356 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14373 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14384 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14390 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14408 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14416 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14430 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14438 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14447 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14447 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14454 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14454 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14464 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14468 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14474 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14478 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14478 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14484 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14484 /* "group_concat" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14118 /* "soundex" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 14126 /* "load_extension" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 14126 /* "load_extension" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 14141 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 14167 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 14192 /* "unlikely" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 14201 /* "likelihood" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 14212 /* "likely" */}, + {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 14219 /* "sqlite_offset" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 14233 /* "ltrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 14233 /* "ltrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 14239 /* "rtrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 14239 /* "rtrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 14245 /* "trim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 14245 /* "trim" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14250 /* "min" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14250 /* "min" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 14250 /* "min" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 14254 /* "max" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 14254 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 14254 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 14258 /* "typeof" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 14265 /* "length" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14272 /* "instr" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14278 /* "printf" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14285 /* "unicode" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14293 /* "char" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14298 /* "abs" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14302 /* "round" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14302 /* "round" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14308 /* "upper" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14314 /* "lower" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14320 /* "hex" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14324 /* "ifnull" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14331 /* "random" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14338 /* "randomblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14349 /* "nullif" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 14356 /* "sqlite_version" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 14371 /* "sqlite_source_id" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14388 /* "sqlite_log" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14399 /* "quote" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14405 /* "last_insert_rowi..." */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14423 /* "changes" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14431 /* "total_changes" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14445 /* "replace" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14453 /* "zeroblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14462 /* "substr" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14462 /* "substr" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14469 /* "substring" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14469 /* "substring" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14479 /* "sum" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14483 /* "total" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14489 /* "avg" */}, + {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14493 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14493 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14499 /* "group_concat" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14499 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14497 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14047 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14047 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14502 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14502 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14511 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14502 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 14516 /* "iif" */}} /* sqlite3.c:121438:18 */ + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14512 /* "glob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14062 /* "like" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14062 /* "like" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14517 /* "coalesce" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14517 /* "coalesce" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14526 /* "sign" */}, + {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14517 /* "coalesce" */}, + {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 14531 /* "iif" */}} /* sqlite3.c:121438:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -117343,7 +117851,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey if !(pIdx != 0) { if !(int32((*Parse)(unsafe.Pointer(pParse)).FdisableTriggers) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+14520, /* "foreign key mism..." */ + ts+14535, /* "foreign key mism..." */ libc.VaList(bp, (*Table)(unsafe.Pointer((*FKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*FKey)(unsafe.Pointer(pFKey)).FzTo)) } Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiCol) @@ -118239,8 +118747,8 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, } for i = 0; i < (*FKey)(unsafe.Pointer(pFKey)).FnCol; i++ { - *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 5863 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 5859 /* "new" */, Fn: uint32(3)} // Literal "new" token + *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 5878 /* "old" */, Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 5874 /* "new" */, Fn: uint32(3)} // Literal "new" token // var tFromCol Token at bp+32, 16 // Name of column in child table // var tToCol Token at bp+16, 16 @@ -118328,7 +118836,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fz = zFrom (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fn = uint32(nFrom) - pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+4646 /* "FOREIGN KEY cons..." */) + pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+4661 /* "FOREIGN KEY cons..." */) if pRaise != 0 { (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -118758,7 +119266,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+7340 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7355 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) } (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -119322,7 +119830,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+14565, /* "cannot INSERT in..." */ + ts+14580, /* "cannot INSERT in..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto insert_cleanup __24: @@ -119347,7 +119855,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+14606, /* "table %S has no ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14621, /* "table %S has no ..." */ libc.VaList(bp+8, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*16)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup @@ -119517,7 +120025,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+14638, /* "table %S has %d ..." */ + ts+14653, /* "table %S has %d ..." */ libc.VaList(bp+24, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: @@ -119527,7 +120035,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+14690 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+14705 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -119583,7 +120091,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+14715, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14730, /* "UPSERT not imple..." */ libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -119591,7 +120099,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+14761 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14776 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -120071,7 +120579,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14782 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14797 /* "rows inserted" */, uintptr(0)) __123: ; @@ -120415,7 +120923,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+11181 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+11196 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_HaltIfNull, (SQLITE_CONSTRAINT | (int32(5) << 8)), onError, iReg) @@ -121818,7 +122326,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 741 /* "" */ + zSql = ts + 756 /* "" */ __2: ; @@ -122379,7 +122887,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+11220 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+11235 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -122389,7 +122897,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 14796 /* "sqlite3_extensio..." */ + zEntry = ts + 14811 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -122409,7 +122917,7 @@ __5: if !((ii < (int32(uint64(unsafe.Sizeof(azEndings)) / uint64(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+11181 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) + zAltFile = Xsqlite3_mprintf(tls, ts+11196 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) if !(zAltFile == uintptr(0)) { goto __8 } @@ -122455,7 +122963,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.X__builtin___memcpy_chk(tls, zAltEntry, ts+14819 /* "sqlite3_" */, uint64(8), libc.X__builtin_object_size(tls, zAltEntry, 0)) + libc.X__builtin___memcpy_chk(tls, zAltEntry, ts+14834 /* "sqlite3_" */, uint64(8), libc.X__builtin_object_size(tls, zAltEntry, 0)) iFile = (ncFile - 1) __12: if !((iFile >= 0) && !((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/')) { @@ -122469,7 +122977,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14828 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14843 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -122493,7 +123001,7 @@ __17: goto __18 __18: ; - libc.X__builtin___memcpy_chk(tls, (zAltEntry + uintptr(iEntry)), ts+14832 /* "_init" */, uint64(6), libc.X__builtin_object_size(tls, (zAltEntry+uintptr(iEntry)), 0)) + libc.X__builtin___memcpy_chk(tls, (zAltEntry + uintptr(iEntry)), ts+14847 /* "_init" */, uint64(6), libc.X__builtin_object_size(tls, (zAltEntry+uintptr(iEntry)), 0)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -122511,7 +123019,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+14838 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) + ts+14853 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __22: ; @@ -122536,7 +123044,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14881 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14896 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) __25: ; Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) @@ -122576,7 +123084,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+14913 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) + ts+14928 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __29: ; @@ -122586,7 +123094,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 14950, /* "dylib" */ + ts + 14965, /* "dylib" */ } /* sqlite3.c:127457:21 */ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127590:16: */ @@ -122753,7 +123261,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+14956 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) + ts+14971 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */))) @@ -122798,61 +123306,61 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 // or that return single-column results where the name of the // result column is different from the name of the pragma var pragCName = [51]uintptr{ - /* 0 */ ts + 4567, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 14995, /* "seq" */ - /* 2 */ ts + 8219, /* "table" */ - /* 3 */ ts + 14999, /* "from" */ - /* 4 */ ts + 15004, /* "to" */ - /* 5 */ ts + 15007, /* "on_update" */ - /* 6 */ ts + 15017, /* "on_delete" */ - /* 7 */ ts + 15027, /* "match" */ - /* 8 */ ts + 15033, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 15037, /* "name" */ - /* 10 */ ts + 15042, /* "type" */ - /* 11 */ ts + 15047, /* "notnull" */ - /* 12 */ ts + 15055, /* "dflt_value" */ - /* 13 */ ts + 15066, /* "pk" */ - /* 14 */ ts + 15069, /* "hidden" */ + /* 0 */ ts + 4582, /* "id" */ // Used by: foreign_key_list + /* 1 */ ts + 15010, /* "seq" */ + /* 2 */ ts + 8234, /* "table" */ + /* 3 */ ts + 15014, /* "from" */ + /* 4 */ ts + 15019, /* "to" */ + /* 5 */ ts + 15022, /* "on_update" */ + /* 6 */ ts + 15032, /* "on_delete" */ + /* 7 */ ts + 15042, /* "match" */ + /* 8 */ ts + 15048, /* "cid" */ // Used by: table_xinfo + /* 9 */ ts + 15052, /* "name" */ + /* 10 */ ts + 15057, /* "type" */ + /* 11 */ ts + 15062, /* "notnull" */ + /* 12 */ ts + 15070, /* "dflt_value" */ + /* 13 */ ts + 15081, /* "pk" */ + /* 14 */ ts + 15084, /* "hidden" */ // table_info reuses 8 - /* 15 */ ts + 15076, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 15033, /* "cid" */ - /* 17 */ ts + 15037, /* "name" */ - /* 18 */ ts + 15082, /* "desc" */ - /* 19 */ ts + 15087, /* "coll" */ - /* 20 */ ts + 15092, /* "key" */ - /* 21 */ ts + 15037, /* "name" */ // Used by: function_list - /* 22 */ ts + 15096, /* "builtin" */ - /* 23 */ ts + 15042, /* "type" */ - /* 24 */ ts + 15104, /* "enc" */ - /* 25 */ ts + 15108, /* "narg" */ - /* 26 */ ts + 15113, /* "flags" */ - /* 27 */ ts + 10612, /* "tbl" */ // Used by: stats - /* 28 */ ts + 10608, /* "idx" */ - /* 29 */ ts + 15119, /* "wdth" */ - /* 30 */ ts + 15124, /* "hght" */ - /* 31 */ ts + 15129, /* "flgs" */ - /* 32 */ ts + 14995, /* "seq" */ // Used by: index_list - /* 33 */ ts + 15037, /* "name" */ - /* 34 */ ts + 15134, /* "unique" */ - /* 35 */ ts + 15141, /* "origin" */ - /* 36 */ ts + 15148, /* "partial" */ - /* 37 */ ts + 8219, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 15156, /* "rowid" */ - /* 39 */ ts + 4570, /* "parent" */ - /* 40 */ ts + 15162, /* "fkid" */ + /* 15 */ ts + 15091, /* "seqno" */ // Used by: index_xinfo + /* 16 */ ts + 15048, /* "cid" */ + /* 17 */ ts + 15052, /* "name" */ + /* 18 */ ts + 15097, /* "desc" */ + /* 19 */ ts + 15102, /* "coll" */ + /* 20 */ ts + 15107, /* "key" */ + /* 21 */ ts + 15052, /* "name" */ // Used by: function_list + /* 22 */ ts + 15111, /* "builtin" */ + /* 23 */ ts + 15057, /* "type" */ + /* 24 */ ts + 15119, /* "enc" */ + /* 25 */ ts + 15123, /* "narg" */ + /* 26 */ ts + 15128, /* "flags" */ + /* 27 */ ts + 10627, /* "tbl" */ // Used by: stats + /* 28 */ ts + 10623, /* "idx" */ + /* 29 */ ts + 15134, /* "wdth" */ + /* 30 */ ts + 15139, /* "hght" */ + /* 31 */ ts + 15144, /* "flgs" */ + /* 32 */ ts + 15010, /* "seq" */ // Used by: index_list + /* 33 */ ts + 15052, /* "name" */ + /* 34 */ ts + 15149, /* "unique" */ + /* 35 */ ts + 15156, /* "origin" */ + /* 36 */ ts + 15163, /* "partial" */ + /* 37 */ ts + 8234, /* "table" */ // Used by: foreign_key_check + /* 38 */ ts + 15171, /* "rowid" */ + /* 39 */ ts + 4585, /* "parent" */ + /* 40 */ ts + 15177, /* "fkid" */ // index_info reuses 15 - /* 41 */ ts + 14995, /* "seq" */ // Used by: database_list - /* 42 */ ts + 15037, /* "name" */ - /* 43 */ ts + 15167, /* "file" */ - /* 44 */ ts + 15172, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 15177, /* "log" */ - /* 46 */ ts + 15181, /* "checkpointed" */ + /* 41 */ ts + 15010, /* "seq" */ // Used by: database_list + /* 42 */ ts + 15052, /* "name" */ + /* 43 */ ts + 15182, /* "file" */ + /* 44 */ ts + 15187, /* "busy" */ // Used by: wal_checkpoint + /* 45 */ ts + 15192, /* "log" */ + /* 46 */ ts + 15196, /* "checkpointed" */ // collation_list reuses 32 - /* 47 */ ts + 15194, /* "database" */ // Used by: lock_status - /* 48 */ ts + 15203, /* "status" */ - /* 49 */ ts + 15210, /* "cache_size" */ // Used by: default_cache_size + /* 47 */ ts + 15209, /* "database" */ // Used by: lock_status + /* 48 */ ts + 15218, /* "status" */ + /* 49 */ ts + 15225, /* "cache_size" */ // Used by: default_cache_size // module_list pragma_list reuses 9 - /* 50 */ ts + 15221, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 15236, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas @@ -122869,237 +123377,237 @@ type PragmaName1 = struct { // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [66]PragmaName{ - { /* zName: */ FzName: ts + 15229, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 15244, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15244, /* "application_id" */ + { /* zName: */ FzName: ts + 15259, /* "application_id" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_APPLICATION_ID)}, - { /* zName: */ FzName: ts + 15259, /* "auto_vacuum" */ + { /* zName: */ FzName: ts + 15274, /* "auto_vacuum" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_AUTO_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15271, /* "automatic_index" */ + { /* zName: */ FzName: ts + 15286, /* "automatic_index" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_AutoIndex)}, - { /* zName: */ FzName: ts + 15287, /* "busy_timeout" */ + { /* zName: */ FzName: ts + 15302, /* "busy_timeout" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_BUSY_TIMEOUT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(50), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15210, /* "cache_size" */ + { /* zName: */ FzName: ts + 15225, /* "cache_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15300, /* "cache_spill" */ + { /* zName: */ FzName: ts + 15315, /* "cache_spill" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SPILL), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15312, /* "case_sensitive_l..." */ + { /* zName: */ FzName: ts + 15327, /* "case_sensitive_l..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CASE_SENSITIVE_LIKE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 15332, /* "cell_size_check" */ + { /* zName: */ FzName: ts + 15347, /* "cell_size_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CellSizeCk)}, - { /* zName: */ FzName: ts + 15348, /* "checkpoint_fullf..." */ + { /* zName: */ FzName: ts + 15363, /* "checkpoint_fullf..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CkptFullFSync)}, - { /* zName: */ FzName: ts + 15369, /* "collation_list" */ + { /* zName: */ FzName: ts + 15384, /* "collation_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COLLATION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 15384, /* "compile_options" */ + { /* zName: */ FzName: ts + 15399, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15400, /* "count_changes" */ + { /* zName: */ FzName: ts + 15415, /* "count_changes" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (U64((uint64(0x00001))) << 32)}, - { /* zName: */ FzName: ts + 15414, /* "data_version" */ + { /* zName: */ FzName: ts + 15429, /* "data_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_DATA_VERSION)}, - { /* zName: */ FzName: ts + 15427, /* "database_list" */ + { /* zName: */ FzName: ts + 15442, /* "database_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATABASE_LIST), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_Result0)), /* ColNames: */ FiPragCName: U8(41), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15441, /* "default_cache_si..." */ + { /* zName: */ FzName: ts + 15456, /* "default_cache_si..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DEFAULT_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1)), /* ColNames: */ FiPragCName: U8(49), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15460, /* "defer_foreign_ke..." */ + { /* zName: */ FzName: ts + 15475, /* "defer_foreign_ke..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_DeferFKs)}, - { /* zName: */ FzName: ts + 15479, /* "empty_result_cal..." */ + { /* zName: */ FzName: ts + 15494, /* "empty_result_cal..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_NullCallback)}, - { /* zName: */ FzName: ts + 15502, /* "encoding" */ + { /* zName: */ FzName: ts + 15517, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15511, /* "foreign_key_chec..." */ + { /* zName: */ FzName: ts + 15526, /* "foreign_key_chec..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_CHECK), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(37), FnPragCName: U8(4)}, - { /* zName: */ FzName: ts + 15529, /* "foreign_key_list" */ + { /* zName: */ FzName: ts + 15544, /* "foreign_key_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), FnPragCName: U8(8)}, - { /* zName: */ FzName: ts + 15546, /* "foreign_keys" */ + { /* zName: */ FzName: ts + 15561, /* "foreign_keys" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ForeignKeys)}, - { /* zName: */ FzName: ts + 15559, /* "freelist_count" */ + { /* zName: */ FzName: ts + 15574, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 15574, /* "full_column_name..." */ + { /* zName: */ FzName: ts + 15589, /* "full_column_name..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullColNames)}, - { /* zName: */ FzName: ts + 15592, /* "fullfsync" */ + { /* zName: */ FzName: ts + 15607, /* "fullfsync" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullFSync)}, - { /* zName: */ FzName: ts + 15602, /* "function_list" */ + { /* zName: */ FzName: ts + 15617, /* "function_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FUNCTION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(21), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 15616, /* "hard_heap_limit" */ + { /* zName: */ FzName: ts + 15631, /* "hard_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HARD_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15632, /* "ignore_check_con..." */ + { /* zName: */ FzName: ts + 15647, /* "ignore_check_con..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_IgnoreChecks)}, - { /* zName: */ FzName: ts + 15657, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 15672, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 15676, /* "index_info" */ + { /* zName: */ FzName: ts + 15691, /* "index_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15687, /* "index_list" */ + { /* zName: */ FzName: ts + 15702, /* "index_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(5)}, - { /* zName: */ FzName: ts + 15698, /* "index_xinfo" */ + { /* zName: */ FzName: ts + 15713, /* "index_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(6), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 15710, /* "integrity_check" */ + { /* zName: */ FzName: ts + 15725, /* "integrity_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 15726, /* "journal_mode" */ + { /* zName: */ FzName: ts + 15741, /* "journal_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_MODE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15739, /* "journal_size_lim..." */ + { /* zName: */ FzName: ts + 15754, /* "journal_size_lim..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_SIZE_LIMIT), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15758, /* "legacy_alter_tab..." */ + { /* zName: */ FzName: ts + 15773, /* "legacy_alter_tab..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_LegacyAlter)}, - { /* zName: */ FzName: ts + 15777, /* "lock_proxy_file" */ + { /* zName: */ FzName: ts + 15792, /* "lock_proxy_file" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCK_PROXY_FILE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 15793, /* "locking_mode" */ + { /* zName: */ FzName: ts + 15808, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15806, /* "max_page_count" */ + { /* zName: */ FzName: ts + 15821, /* "max_page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15821, /* "mmap_size" */ + { /* zName: */ FzName: ts + 15836, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 15831, /* "module_list" */ + { /* zName: */ FzName: ts + 15846, /* "module_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MODULE_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15843, /* "optimize" */ + { /* zName: */ FzName: ts + 15858, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 15852, /* "page_count" */ + { /* zName: */ FzName: ts + 15867, /* "page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15863, /* "page_size" */ + { /* zName: */ FzName: ts + 15878, /* "page_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_SIZE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15873, /* "pragma_list" */ + { /* zName: */ FzName: ts + 15888, /* "pragma_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PRAGMA_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15885, /* "query_only" */ + { /* zName: */ FzName: ts + 15900, /* "query_only" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_QueryOnly)}, - { /* zName: */ FzName: ts + 15896, /* "quick_check" */ + { /* zName: */ FzName: ts + 15911, /* "quick_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 15908, /* "read_uncommitted" */ + { /* zName: */ FzName: ts + 15923, /* "read_uncommitted" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReadUncommit)}, - { /* zName: */ FzName: ts + 15925, /* "recursive_trigge..." */ + { /* zName: */ FzName: ts + 15940, /* "recursive_trigge..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_RecTriggers)}, - { /* zName: */ FzName: ts + 15944, /* "reverse_unordere..." */ + { /* zName: */ FzName: ts + 15959, /* "reverse_unordere..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReverseOrder)}, - { /* zName: */ FzName: ts + 15970, /* "schema_version" */ + { /* zName: */ FzName: ts + 15985, /* "schema_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_SCHEMA_VERSION)}, - { /* zName: */ FzName: ts + 15985, /* "secure_delete" */ + { /* zName: */ FzName: ts + 16000, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15999, /* "short_column_nam..." */ + { /* zName: */ FzName: ts + 16014, /* "short_column_nam..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ShortColNames)}, - { /* zName: */ FzName: ts + 16018, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 16033, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 16032, /* "soft_heap_limit" */ + { /* zName: */ FzName: ts + 16047, /* "soft_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SOFT_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 16048, /* "synchronous" */ + { /* zName: */ FzName: ts + 16063, /* "synchronous" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SYNCHRONOUS), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 16060, /* "table_info" */ + { /* zName: */ FzName: ts + 16075, /* "table_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 16071, /* "table_xinfo" */ + { /* zName: */ FzName: ts + 16086, /* "table_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(7), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 16083, /* "temp_store" */ + { /* zName: */ FzName: ts + 16098, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 16094, /* "temp_store_direc..." */ + { /* zName: */ FzName: ts + 16109, /* "temp_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 16115, /* "threads" */ + { /* zName: */ FzName: ts + 16130, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 16123, /* "trusted_schema" */ + { /* zName: */ FzName: ts + 16138, /* "trusted_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_TrustedSchema)}, - { /* zName: */ FzName: ts + 16138, /* "user_version" */ + { /* zName: */ FzName: ts + 16153, /* "user_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_USER_VERSION)}, - { /* zName: */ FzName: ts + 16151, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 16166, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 16170, /* "wal_checkpoint" */ + { /* zName: */ FzName: ts + 16185, /* "wal_checkpoint" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_CHECKPOINT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NeedSchema), /* ColNames: */ FiPragCName: U8(44), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 16185, /* "writable_schema" */ + { /* zName: */ FzName: ts + 16200, /* "writable_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError))}, @@ -123136,7 +123644,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 16201 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 16216 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ @@ -123153,10 +123661,10 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:128 // Interpret the given string as a locking mode value. func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ if z != 0 { - if 0 == Xsqlite3StrICmp(tls, z, ts+16226 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+16241 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+16236 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+16251 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -123169,13 +123677,13 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ var i int32 - if 0 == Xsqlite3StrICmp(tls, z, ts+16243 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+16258 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+16248 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+16263 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+16253 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+16268 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -123193,9 +123701,9 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128566:12: */ if (int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '2') { return (int32(*(*int8)(unsafe.Pointer(z))) - '0') - } else if Xsqlite3StrICmp(tls, z, ts+15167 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+15182 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+16265 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+16280 /* "memory" */) == 0 { return 2 } else { return 0 @@ -123211,7 +123719,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || (Xsqlite3BtreeTxnState(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) != SQLITE_TXN_NONE) { Xsqlite3ErrorMsg(tls, pParse, - ts+16272 /* "temporary storag..." */, 0) + ts+16287 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) @@ -123311,19 +123819,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 16334 /* "SET NULL" */ + zName = ts + 16349 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 16343 /* "SET DEFAULT" */ + zName = ts + 16358 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 16355 /* "CASCADE" */ + zName = ts + 16370 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 16363 /* "RESTRICT" */ + zName = ts + 16378 /* "RESTRICT" */ break default: - zName = ts + 16372 /* "NO ACTION" */ + zName = ts + 16387 /* "NO ACTION" */ break } return zName @@ -123341,7 +123849,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 16382 /* "delete" */, ts + 16389 /* "persist" */, ts + 16397 /* "off" */, ts + 16401 /* "truncate" */, ts + 16265 /* "memory" */, ts + 16410, /* "wal" */ + ts + 16397 /* "delete" */, ts + 16404 /* "persist" */, ts + 16412 /* "off" */, ts + 16416 /* "truncate" */, ts + 16280 /* "memory" */, ts + 16425, /* "wal" */ } /* sqlite3.c:128715:15 */ // Locate a pragma in the aPragmaName[] array. @@ -123387,13 +123895,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 16414 /* "w" */ + zType = ts + 16429 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 16416 /* "a" */ + zType = ts + 16431 /* "a" */ } else { - zType = ts + 16418 /* "s" */ + zType = ts + 16433 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16420, /* "sissii" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16435, /* "sissii" */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, azEnc[((*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK))], int32((*FuncDef)(unsafe.Pointer(p)).FnArg), @@ -123402,7 +123910,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } var mask U32 = (U32((((SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY) | SQLITE_SUBTYPE) | SQLITE_INNOCUOUS) | SQLITE_FUNC_INTERNAL)) /* sqlite3.c:128765:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 16427 /* "utf8" */, ts + 16432 /* "utf16le" */, ts + 16440 /* "utf16be" */} /* sqlite3.c:128772:23 */ +var azEnc = [4]uintptr{uintptr(0), ts + 16442 /* "utf8" */, ts + 16447 /* "utf16le" */, ts + 16455 /* "utf16be" */} /* sqlite3.c:128772:23 */ // Helper subroutine for PRAGMA integrity_check: // @@ -123671,7 +124179,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+16448 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+16463 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -123726,7 +124234,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+2778 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2793 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */))) __10: ; @@ -124307,7 +124815,7 @@ __18: if !(zRight != 0) { goto __63 } - if !(Xsqlite3_stricmp(tls, zRight, ts+16452 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+16467 /* "fast" */) == 0) { goto __64 } b = 2 @@ -124396,7 +124904,7 @@ __71: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 16236 /* "normal" */ + zRet = ts + 16251 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -124437,7 +124945,7 @@ __78: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __83 } - zRet = ts + 16226 /* "exclusive" */ + zRet = ts + 16241 /* "exclusive" */ __83: ; returnSingleText(tls, v, zRet) @@ -124802,7 +125310,7 @@ __123: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 432 /* res */)) == 0)) { goto __126 } - Xsqlite3ErrorMsg(tls, pParse, ts+16457 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16472 /* "not a writable d..." */, 0) goto pragma_out __126: ; @@ -124820,7 +125328,7 @@ __127: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __128 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp+16, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+16, zRight)) goto __129 __128: Xsqlite3_temp_directory = uintptr(0) @@ -124864,7 +125372,7 @@ __133: if !(res1 != SQLITE_OK) { goto __134 } - Xsqlite3ErrorMsg(tls, pParse, ts+16482 /* "failed to set lo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16497 /* "failed to set lo..." */, 0) goto pragma_out __134: ; @@ -124890,7 +125398,7 @@ __135: goto __137 } Xsqlite3ErrorMsg(tls, pParse, - ts+16512 /* "Safety level may..." */, 0) + ts+16527 /* "Safety level may..." */, 0) goto __138 __137: if !(iDb != 1) { @@ -125049,13 +125557,13 @@ __159: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 16565 /* "issisii" */ + return ts + 16580 /* "issisii" */ } - return ts + 16573 /* "issisi" */ + return ts + 16588 /* "issisi" */ }(), libc.VaList(bp+24, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+741 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+756 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -125130,7 +125638,7 @@ __171: goto __173 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16580 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16595 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -125140,7 +125648,7 @@ __171: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __174 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+16585, /* "isiX" */ + Xsqlite3VdbeMultiLoad(tls, v, 4, ts+16600, /* "isiX" */ libc.VaList(bp+104, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) @@ -125177,8 +125685,8 @@ __177: if !(pIdx1 != 0) { goto __179 } - *(*[3]uintptr)(unsafe.Pointer(bp + 448 /* azOrigin */)) = [3]uintptr{ts + 16590 /* "c" */, ts + 16592 /* "u" */, ts + 15066 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16594, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 448 /* azOrigin */)) = [3]uintptr{ts + 16605 /* "c" */, ts + 16607 /* "u" */, ts + 15081 /* "pk" */} + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16609, /* "isisi" */ libc.VaList(bp+128, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), @@ -125212,7 +125720,7 @@ __180: __183: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16600, /* "iss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16615, /* "iss" */ libc.VaList(bp+168, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FpBt))) @@ -125235,7 +125743,7 @@ __184: goto __186 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16604 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16619 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __185 __185: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -125299,7 +125807,7 @@ __196: goto __198 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16418 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16433 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __197 __197: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -125316,7 +125824,7 @@ __199: if !(i6 < (int32(uint64(unsafe.Sizeof(aPragmaName)) / uint64(unsafe.Sizeof(PragmaName{}))))) { goto __201 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16418 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16433 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) goto __200 __200: i6++ @@ -125352,7 +125860,7 @@ __207: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __209 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16607, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16622, /* "iissssss" */ libc.VaList(bp+224, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -125360,7 +125868,7 @@ __207: (*sColMap)(unsafe.Pointer((pFK+64 /* &.aCol */)+uintptr(j2)*16)).FzCol, actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */) + 1))), // ON UPDATE actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */)))), // ON DELETE - ts+16616 /* "NONE" */)) + ts+16631 /* "NONE" */)) goto __208 __208: j2++ @@ -125553,7 +126061,7 @@ __236: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __237: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+16621 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+16636 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 480 /* aiCols */))) @@ -125819,7 +126327,7 @@ __264: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+16625 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+16640 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -125909,7 +126417,7 @@ __283: __284: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+16649 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+16664 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*32)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -125949,7 +126457,7 @@ __289: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+16669, /* "CHECK constraint..." */ + zErr1 = Xsqlite3MPrintf(tls, db, ts+16684, /* "CHECK constraint..." */ libc.VaList(bp+328, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) @@ -125983,9 +126491,9 @@ __294: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 496 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16699 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16714 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+16704 /* " missing from in..." */) + Xsqlite3VdbeLoadString(tls, v, 4, ts+16719 /* " missing from in..." */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) jmp5 = Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) @@ -126025,7 +126533,7 @@ __298: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 496 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16725 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16740 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __295: @@ -126047,7 +126555,7 @@ __290: if !(!(isQuick != 0)) { goto __300 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+16752 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+16767 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __301: @@ -126098,7 +126606,7 @@ __246: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 488 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 16781 /* "ok" */ + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 16796 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16 /* &.p4 */)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT) __305: @@ -126176,7 +126684,7 @@ __312: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __314 } - Xsqlite3ErrorMsg(tls, pParse, ts+16784 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+16799 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) __314: ; __309: @@ -126288,19 +126796,19 @@ __48: if !(zRight != 0) { goto __321 } - if !(Xsqlite3StrICmp(tls, zRight, ts+16248 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+16263 /* "full" */) == 0) { goto __322 } eMode2 = SQLITE_CHECKPOINT_FULL goto __323 __322: - if !(Xsqlite3StrICmp(tls, zRight, ts+16809 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+16824 /* "restart" */) == 0) { goto __324 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __325 __324: - if !(Xsqlite3StrICmp(tls, zRight, ts+16401 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+16416 /* "truncate" */) == 0) { goto __326 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -126487,7 +126995,7 @@ __341: __343: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+16817, /* "ANALYZE \"%w\".\"%w..." */ + zSubSql = Xsqlite3MPrintf(tls, db, ts+16832, /* "ANALYZE \"%w\".\"%w..." */ libc.VaList(bp+344, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __344 @@ -126671,14 +127179,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 16835 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 16840 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 16846 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 16855 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 16864 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 16872 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 16880 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 16887 /* "UTF16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 16850 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, + {FzName: ts + 16855 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] + {FzName: ts + 16861 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] + {FzName: ts + 16870 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] + {FzName: ts + 16879 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, + {FzName: ts + 16887 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, + {FzName: ts + 16895 /* "UTF-16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 16902 /* "UTF16" */}, // SQLITE_UTF16NATIVE {}, } /* sqlite3.c:130285:7 */ var setCookie = [2]VdbeOpList{ @@ -126735,7 +127243,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argc _ = argv Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+64 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16893 /* "CREATE TABLE x" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16908 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -126743,7 +127251,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16908 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16923 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -126756,19 +127264,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16915 /* "(\"%s\"" */, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16930 /* "(\"%s\"" */, 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 /* &acc */, ts+16921 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16936 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16933 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16948 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+4462 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+4477 /* ")" */, 1) Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) rc = Xsqlite3_declare_vtab(tls, db, bp+64 /* &zBuf[0] */) @@ -126784,7 +127292,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -126947,7 +127455,7 @@ __1: var zText uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp, zText)) + *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp, zText)) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) == uintptr(0) { return SQLITE_NOMEM } @@ -126963,13 +127471,13 @@ __2: __3: ; Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 128 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16948 /* "PRAGMA " */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16963 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16956 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16971 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) } Xsqlite3_str_appendall(tls, bp+32 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16960 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16975 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) } zSql = Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) if zSql == uintptr(0) { @@ -126978,7 +127486,7 @@ __3: rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -127071,12 +127579,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) // A error message has already been generated. Do not overwrite it } else if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & (U32(INITFLAG_AlterRename | INITFLAG_AlterDrop))) != 0 { *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db, - ts+16964 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), + ts+16979 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), func() uintptr { if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & U32(INITFLAG_AlterRename)) != 0 { - return ts + 16992 /* "rename" */ + return ts + 17007 /* "rename" */ } - return ts + 16999 /* "drop column" */ + return ts + 17014 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -127088,11 +127596,11 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { zObj = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - zObj = ts + 4518 /* "?" */ + zObj = ts + 4533 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+17011 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+17026 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+17042 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+17057 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -127169,7 +127677,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr if (Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (db+184 /* &.init */ /* &.newTnum */)) == 0) || (((*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum > (*InitData)(unsafe.Pointer(pData)).FmxPage) && ((*InitData)(unsafe.Pointer(pData)).FmxPage > Pgno(0))) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+13246 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+13261 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -127206,13 +127714,13 @@ 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+17050 /* "orphan index" */) + corruptSchema(tls, pData, argv, ts+17065 /* "orphan index" */) } else if (((Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (pIndex+88 /* &.tnum */)) == 0) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2))) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage)) || (Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+13246 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+13261 /* "invalid rootpage" */) } } } @@ -127255,16 +127763,16 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 8219 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 8234 /* "table" */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 11268 /* "sqlite_temp_mast..." */ + return ts + 11283 /* "sqlite_temp_mast..." */ } - return ts + 5352 /* "sqlite_master" */ + return ts + 5367 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 7309 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 17063 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 7324 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 17078 /* "CREATE TABLE x(t..." */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 5*8)) = uintptr(0) (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FiDb = iDb @@ -127377,7 +127885,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+10895 /* "attached databas..." */) + ts+10910 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -127417,7 +127925,7 @@ __16: if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) { goto __17 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+17135 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+17150 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -127439,7 +127947,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+17159, /* "SELECT*FROM\"%w\"...." */ + ts+17174, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName)) xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth @@ -127799,7 +128307,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+17193 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+17208 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -127827,7 +128335,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+17223 /* "statement too lo..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+17238 /* "statement too lo..." */, 0) rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG) goto end_prepare __10: @@ -127890,7 +128398,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+2778 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+2793 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */))) goto __21 __20: @@ -128365,24 +128873,24 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC } } if ((jointype & (JT_INNER | JT_OUTER)) == (JT_INNER | JT_OUTER)) || ((jointype & JT_ERROR) != 0) { - var zSp uintptr = ts + 10048 /* " " */ + var zSp uintptr = ts + 10063 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+17242 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) + ts+17257 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) jointype = JT_INNER } else if ((jointype & JT_OUTER) != 0) && ((jointype & (JT_LEFT | JT_RIGHT)) != JT_LEFT) { Xsqlite3ErrorMsg(tls, pParse, - ts+17286 /* "RIGHT and FULL O..." */, 0) + ts+17301 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 17341 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 17356 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -128588,7 +129096,7 @@ __1: if (int32((*SrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype) & JT_NATURAL) != 0 { if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) || ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+17375 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) + ts+17390 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) return 1 } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { @@ -128612,7 +129120,7 @@ __1: // Disallow both ON and USING clauses in the same join if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) && ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+17425 /* "cannot have both..." */, 0) + ts+17440 /* "cannot have both..." */, 0) return 1 } @@ -128647,7 +129155,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+17480 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) + ts+17495 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) return 1 } addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 24 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 28 /* iLeftCol */)), (i + 1), iRightCol, @@ -129438,16 +129946,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 17544 /* "UNION ALL" */ + z = ts + 17559 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 17554 /* "INTERSECT" */ + z = ts + 17569 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 17564 /* "EXCEPT" */ + z = ts + 17579 /* "EXCEPT" */ break default: - z = ts + 17571 /* "UNION" */ + z = ts + 17586 /* "UNION" */ break } return z @@ -129465,7 +129973,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite bp := tls.Alloc(8) defer tls.Free(8) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17577 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17592 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } // Assign expression b to lvalue a. A second, no-op, version of this macro @@ -129731,8 +130239,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 11780 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 15156 /* "rowid" */ + zType = ts + 11795 /* "INTEGER" */ + *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 15171 /* "rowid" */ } else { *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName zType = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), uintptr(0)) @@ -129885,13 +130393,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 15156 /* "rowid" */ + zCol = ts + 15171 /* "rowid" */ } else { zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } if fullName != 0 { var zName uintptr = uintptr(0) - zName = Xsqlite3MPrintf(tls, db, ts+11181 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) + zName = Xsqlite3MPrintf(tls, db, ts+11196 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } else { Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, libc.UintptrFromInt32(-1)) @@ -129899,7 +130407,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*32)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+17600 /* "column%d" */, libc.VaList(bp+16, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+17615 /* "column%d" */, libc.VaList(bp+16, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -129988,7 +130496,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } else { - zName = ts + 15156 /* "rowid" */ + zName = ts + 15171 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -130001,7 +130509,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+17600 /* "column%d" */, libc.VaList(bp, (i+1))) + zName = Xsqlite3MPrintf(tls, db, ts+17615 /* "column%d" */, libc.VaList(bp, (i+1))) } // Make sure the column name is unique. If the name is not unique, @@ -130016,7 +130524,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+17609 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) + zName = Xsqlite3MPrintf(tls, db, ts+17624 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) if *(*U32)(unsafe.Pointer(bp + 56 /* cnt */)) > U32(3) { Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &cnt */) } @@ -130373,7 +130881,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+17617 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17632 /* "cannot use windo..." */, 0) return __1: ; @@ -130484,7 +130992,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+17666 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17681 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -130506,7 +131014,7 @@ __14: // Store the results of the setup-query in Queue. pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior (*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17708 /* "SETUP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17723 /* "SETUP" */, 0) rc = Xsqlite3Select(tls, pParse, pSetup, bp /* &destQueue */) (*Select)(unsafe.Pointer(pSetup)).FpNext = p if !(rc != 0) { @@ -130549,7 +131057,7 @@ __20: // Execute the recursive SELECT taking the single row in Current as // the value for the recursive-table. Store the results in the Queue. (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17714 /* "RECURSIVE STEP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17729 /* "RECURSIVE STEP" */, 0) Xsqlite3Select(tls, pParse, p, bp /* &destQueue */) (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -130599,11 +131107,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+17729 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17744 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { if nRow == 1 { - return ts + 741 /* "" */ + return ts + 756 /* "" */ } - return ts + 2668 /* "S" */ + return ts + 2683 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -130755,8 +131263,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17752 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17767 /* "LEFT-MOST SUBQUE..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17767 /* "COMPOUND QUERY" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17782 /* "LEFT-MOST SUBQUE..." */, 0) __8: ; @@ -130805,7 +131313,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17544 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17559 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) @@ -130881,7 +131389,7 @@ __23: pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 64 /* &uniondest */)).FeDest = op - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17786 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17801 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+64 /* &uniondest */) @@ -130953,7 +131461,7 @@ __26: pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 104 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17786 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17801 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+104 /* &intersectdest */) @@ -131114,10 +131622,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+17807 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17822 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+17853, /* "SELECTs to the l..." */ + ts+17868, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -131497,9 +132005,9 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Separate the left and the right query from one another (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) (*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) - Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6647 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6662 /* "ORDER" */) if (*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+6647 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+6662 /* "ORDER" */) } // Compute the limit registers @@ -131528,7 +132036,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) Xsqlite3SelectDestInit(tls, bp+8 /* &destA */, SRT_Coroutine, regAddrA) Xsqlite3SelectDestInit(tls, bp+48 /* &destB */, SRT_Coroutine, regAddrB) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17935 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17950 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) // Generate a coroutine to evaluate the SELECT statement to the // left of the compound operator - the "A" select. @@ -131536,7 +132044,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17946 /* "LEFT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17961 /* "LEFT" */, 0) Xsqlite3Select(tls, pParse, pPrior, bp+8 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -131550,7 +132058,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+17951 /* "RIGHT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17966 /* "RIGHT" */, 0) Xsqlite3Select(tls, pParse, p, bp+48 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -131747,7 +132255,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 304 /* "BINARY" */ + return ts + 319 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -132960,12 +133468,12 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 return U8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8 /* &.u */)) - if Xsqlite3StrICmp(tls, zFunc, ts+14235 /* "min" */) == 0 { + if Xsqlite3StrICmp(tls, zFunc, ts+14250 /* "min" */) == 0 { eRet = WHERE_ORDERBY_MIN if Xsqlite3ExprCanBeNull(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */))).FpExpr) != 0 { sortFlags = U8(KEYINFO_ORDER_BIGNULL) } - } else if Xsqlite3StrICmp(tls, zFunc, ts+14239 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+14254 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -133034,7 +133542,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+17957 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) + Xsqlite3ErrorMsg(tls, pParse, ts+17972 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) return SQLITE_ERROR } @@ -133145,7 +133653,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s defer tls.Free(8) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+17975 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17990 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) return 1 } return 0 @@ -133333,7 +133841,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+60 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+17998 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+18013 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -133349,7 +133857,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 18041 /* "circular referen..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 18056 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { @@ -133375,7 +133883,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+18064, /* "table %s has %d ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18079, /* "table %s has %d ..." */ libc.VaList(bp+16, (*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 @@ -133386,9 +133894,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom Xsqlite3ColumnsFromExprList(tls, pParse, pEList, (pTab + 70 /* &.nCol */), (pTab + 8 /* &.aCol */)) if bMayRecursive != 0 { if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 18102 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 18117 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 18136 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 18151 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -133436,7 +133944,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+18174 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + (*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+18189 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) } for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior @@ -133563,7 +134071,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+18186, /* "too many referen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18201, /* "too many referen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) (*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return WRC_Abort @@ -133582,7 +134090,7 @@ __1: if (((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (((*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+18225, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18240, /* "access to view \"..." */ libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -133590,7 +134098,7 @@ __1: ((uint32(int32(*(*uint16)(unsafe.Pointer((pFrom + 60 /* &.fg */) + 4 /* &.fromDDL */)) & 0x40 >> 6))) != 0)) && ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+18256, /* "unsafe use of vi..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18271, /* "unsafe use of vi..." */ libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) @@ -133705,7 +134213,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName } else { - zSchemaName = ts + 18289 /* "*" */ + zSchemaName = ts + 18304 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -133754,7 +134262,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+11181 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+11196 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) zToFree = zColname } } else { @@ -133770,7 +134278,7 @@ __3: (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSub)).FpEList+8 /* &.a */)+uintptr(j)*32)).FzEName) } else { - (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+18291, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+18306, /* "%s.%s.%s" */ libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } @@ -133790,9 +134298,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+18300 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+18315 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+18318 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18333 /* "no tables specif..." */, 0) } } } @@ -133802,7 +134310,7 @@ __3: } if (*Select)(unsafe.Pointer(p)).FpEList != 0 { if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+18338 /* "too many columns..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18353 /* "too many columns..." */, 0) return WRC_Abort } if (elistFlags & (U32(EP_HasFunc | EP_Subquery))) != U32(0) { @@ -133990,13 +134498,13 @@ __1: if (*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)) == uintptr(0)) || ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)))).FnExpr != 1) { Xsqlite3ErrorMsg(tls, pParse, - ts+18369 /* "DISTINCT aggrega..." */, 0) + ts+18384 /* "DISTINCT aggrega..." */, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1 } else { var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)), 0, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -9) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18420 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18435 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } @@ -134196,19 +134704,19 @@ 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 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18453, /* "SCAN %s%s%s" */ + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18468, /* "SCAN %s%s%s" */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if bCover != 0 { - return ts + 18465 /* " USING COVERING ..." */ + return ts + 18480 /* " USING COVERING ..." */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }())) } } @@ -134228,7 +134736,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { if (Xsqlite3ExprIsConstantOrGroupBy(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*Select)(unsafe.Pointer(pS)).FpGroupBy) != 0) && ((libc.Bool32(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromJoin | EP_IsFalse))) == U32(EP_IsFalse))) == 0) { var db uintptr = (*Parse)(unsafe.Pointer((*Walker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7309 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7324 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -134530,7 +135038,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+18488, /* "target object/al..." */ + ts+18503, /* "target object/al..." */ libc.VaList(bp, func() uintptr { if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 { return (*SrcItem)(unsafe.Pointer(p0)).FzAlias @@ -134610,7 +135118,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+18542, /* "expected %d colu..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18557, /* "expected %d colu..." */ 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 __18: @@ -134751,7 +135259,7 @@ __29: if !(((*SrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0)) && ((*SrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0))) { goto __32 } - Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+741 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+756 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -134816,7 +135324,7 @@ __35: (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop Xsqlite3SelectDestInit(tls, bp+96 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18582 /* "CO-ROUTINE %!S" */, libc.VaList(bp+32, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18597 /* "CO-ROUTINE %!S" */, libc.VaList(bp+32, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+96 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) @@ -134878,7 +135386,7 @@ __44: __45: ; Xsqlite3SelectDestInit(tls, bp+96 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18597 /* "MATERIALIZE %!S" */, libc.VaList(bp+40, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18612 /* "MATERIALIZE %!S" */, libc.VaList(bp+40, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+96 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { @@ -135398,9 +135906,9 @@ __97: explainTempTable(tls, pParse, func() uintptr { if ((*DistinctCtx)(unsafe.Pointer(bp+136 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { - return ts + 18613 /* "DISTINCT" */ + return ts + 18628 /* "DISTINCT" */ } - return ts + 18622 /* "GROUP BY" */ + return ts + 18637 /* "GROUP BY" */ }()) groupBySort = 1 @@ -135812,7 +136320,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+18613 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+18628 /* "DISTINCT" */) __140: ; @@ -135824,9 +136332,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FnOBSat > 0 { - return ts + 18631 /* "RIGHT PART OF OR..." */ + return ts + 18646 /* "RIGHT PART OF OR..." */ } - return ts + 18654 /* "ORDER BY" */ + return ts + 18669 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+48 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -135960,7 +136468,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if !(z == uintptr(0)) { goto __10 } @@ -135982,7 +136490,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+18663 /* "sqlite3_get_tabl..." */, 0) + ts+18678 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -136081,7 +136589,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) } @@ -136242,7 +136750,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+18728 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18743 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -136303,7 +136811,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+18774 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+18789 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+40 /* &sFix */, pTableName) != 0) { goto __9 } @@ -136321,7 +136829,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+18782 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18797 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -136336,7 +136844,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+18774 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { + if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+18789 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { goto __13 } goto trigger_cleanup @@ -136352,7 +136860,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+18823 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+18838 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __17 __16: ; @@ -136366,10 +136874,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7477 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7492 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+18849 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18864 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -136379,12 +136887,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+18887, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18902, /* "cannot create %s..." */ libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 18924 /* "BEFORE" */ + return ts + 18939 /* "BEFORE" */ } - return ts + 18931 /* "AFTER" */ + return ts + 18946 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -136393,7 +136901,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+18937 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) + ts+18952 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -136423,9 +136931,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 11268 /* "sqlite_temp_mast..." */ + return ts + 11283 /* "sqlite_temp_mast..." */ } - return ts + 5352 /* "sqlite_master" */ + return ts + 5367 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -136559,7 +137067,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+18774 /* "trigger" */, bp+40 /* &nameToken */) + Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+18789 /* "trigger" */, bp+40 /* &nameToken */) if !((Xsqlite3FixTriggerStep(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || (Xsqlite3FixExpr(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 @@ -136596,13 +137104,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+18983, /* "INSERT INTO %Q.s..." */ + ts+18998, /* "INSERT INTO %Q.s..." */ libc.VaList(bp, (*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+19058 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+19073 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) __7: ; __6: @@ -136868,7 +137376,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+19087 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+19102 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __10 __9: Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb) @@ -136909,9 +137417,9 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName var zTab uintptr = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 11268 /* "sqlite_temp_mast..." */ + return ts + 11283 /* "sqlite_temp_mast..." */ } - return ts + 5352 /* "sqlite_master" */ + return ts + 5367 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -136924,7 +137432,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / // Generate code to destroy the database record of the trigger. if (libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse))) != uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+19107, /* "DELETE FROM %Q.s..." */ + ts+19122, /* "DELETE FROM %Q.s..." */ 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) @@ -137043,12 +137551,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+19169, /* "%s RETURNING is ..." */ + ts+19184, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 19217 /* "DELETE" */ + return ts + 19232 /* "DELETE" */ } - return ts + 19224 /* "UPDATE" */ + return ts + 19239 /* "UPDATE" */ }())) __15: ; @@ -137144,7 +137652,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK { return 0 } - Xsqlite3ErrorMsg(tls, pParse, ts+19231 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19246 /* "RETURNING may no..." */, 0) return 1 } @@ -137285,7 +137793,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf if (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { Xsqlite3VdbeAddOp4(tls, v, OP_Trace, 0x7fffffff, 1, 0, - Xsqlite3MPrintf(tls, db, ts+5539 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+5554 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -137415,7 +137923,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+19273 /* "-- TRIGGER %s" */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) + Xsqlite3MPrintf(tls, db, ts+19288 /* "-- TRIGGER %s" */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -138118,7 +138626,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+19287, /* "cannot UPDATE ge..." */ + ts+19302, /* "cannot UPDATE ge..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto update_cleanup __27: @@ -138150,7 +138658,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+19323 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+19338 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -138161,7 +138669,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 7084 /* "ROWID" */ + return ts + 7099 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*32)).FzName }(), @@ -139192,7 +139700,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+19342 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+19357 /* "rows updated" */, uintptr(0)) __169: ; @@ -139579,10 +140087,10 @@ __1: if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { *(*int8)(unsafe.Pointer(bp + 216 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+19355 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+19370 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+19359 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) + ts+19374 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -139673,7 +140181,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, iDataCur, 0, iPk, nPk) Xsqlite3VdbeAddOp4(tls, v, OP_Halt, SQLITE_CORRUPT, OE_Abort, 0, - ts+11322 /* "corrupt database" */, -1) + ts+11337 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -139741,7 +140249,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { // then run VACUUM to get those statements to execute at inappropriate // times. if (zSubSql != 0) && - ((libc.Xstrncmp(tls, zSubSql, ts+19432 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+19436 /* "INS" */, uint64(3)) == 0)) { + ((libc.Xstrncmp(tls, zSubSql, ts+19447 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+19451 /* "INS" */, uint64(3)) == 0)) { rc = execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -139891,14 +140399,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+19440 /* "cannot VACUUM fr..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19455 /* "cannot VACUUM fr..." */) return SQLITE_ERROR // IMP: R-12218-18073 __1: ; if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) { goto __2 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+19480 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19495 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -139909,7 +140417,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+19523 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19538 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -139918,7 +140426,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 76 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 741 /* "" */ + zOut = ts + 756 /* "" */ __4: ; @@ -139954,7 +140462,7 @@ __4: // time to parse and run the PRAGMA to turn journalling off than it does // to write the journal header file. nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb - rc = execSqlF(tls, db, pzErrMsg, ts+19541 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) + rc = execSqlF(tls, db, pzErrMsg, ts+19556 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if !(rc != SQLITE_OK) { goto __6 @@ -139975,7 +140483,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+19564 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19579 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -139991,7 +140499,7 @@ __7: // Begin a transaction and take an exclusive lock on the main database // file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, // to ensure that we do not try to change the page-size on a WAL database. - rc = execSql(tls, db, pzErrMsg, ts+13609 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+13624 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -140042,7 +140550,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+19591, /* "SELECT sql FROM ..." */ + ts+19606, /* "SELECT sql FROM ..." */ libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -140052,7 +140560,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+19699, /* "SELECT sql FROM ..." */ + ts+19714, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -140067,7 +140575,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+19753, /* "SELECT'INSERT IN..." */ + ts+19768, /* "SELECT'INSERT IN..." */ libc.VaList(bp+24, zDbMain)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) @@ -140084,7 +140592,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+19904, /* "INSERT INTO vacu..." */ + ts+19919, /* "INSERT INTO vacu..." */ libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 @@ -140464,7 +140972,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp var azModuleArg uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*Table)(unsafe.Pointer(pTable)).FnModuleArg + 3) >= *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+11552 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11567 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = Xsqlite3DbRealloc(tls, db, (*Table)(unsafe.Pointer(pTable)).FazModuleArg, uint64(nBytes)) if azModuleArg == uintptr(0) { @@ -140558,7 +141066,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s 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+20034 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) + zStmt = Xsqlite3MPrintf(tls, db, ts+20049 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) // A slot for the record has already been allocated in the // schema table. We just need to update that slot with all @@ -140570,7 +141078,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+20058, /* "UPDATE %Q.sqlite..." */ + ts+20073, /* "UPDATE %Q.sqlite..." */ 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, @@ -140580,7 +141088,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+20157 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+20172 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -140645,7 +141153,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+20176 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+20191 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return SQLITE_LOCKED } } @@ -140683,9 +141191,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+20218 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+20233 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+2778 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+2793 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) @@ -140697,7 +141205,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 /* &sCtx */)).FbDeclared == 0 { - var zFormat uintptr = ts + 20248 /* "vtable construct..." */ + var zFormat uintptr = ts + 20263 /* "vtable construct..." */ *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR @@ -140713,12 +141221,12 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Table)(unsafe.Pointer(pTab)).FpVTable = pVTable for iCol = 0; iCol < int32((*Table)(unsafe.Pointer(pTab)).FnCol); iCol++ { - var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+741 /* "" */) + var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+756 /* "" */) var nType int32 var i int32 = 0 nType = Xsqlite3Strlen30(tls, zType) for i = 0; i < nType; i++ { - if ((0 == Xsqlite3_strnicmp(tls, ts+15069 /* "hidden" */, (zType+uintptr(i)), 6)) && + if ((0 == Xsqlite3_strnicmp(tls, ts+15084 /* "hidden" */, (zType+uintptr(i)), 6)) && ((i == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && ((int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { break @@ -140777,13 +141285,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 if !(pMod != 0) { var zModule uintptr = *(*uintptr)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FazModuleArg)) - Xsqlite3ErrorMsg(tls, pParse, ts+20294 /* "no such module: ..." */, libc.VaList(bp, zModule)) + Xsqlite3ErrorMsg(tls, pParse, ts+20309 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+16 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+2778 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2793 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -140845,7 +141353,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // invoke it now. If the module has not been registered, return an // error. Otherwise, do nothing. 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+20294 /* "no such module: ..." */, libc.VaList(bp, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+20309 /* "no such module: ..." */, 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) @@ -140922,7 +141430,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)) != 0 { - return ts + 2778 /* "%s" */ + return ts + 2793 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)))) @@ -141294,7 +141802,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+8 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+2778 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2793 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 @@ -141725,10 +142233,10 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:144931:29 */ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:145112:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == (-2) { - return ts + 20313 /* "" */ + return ts + 20328 /* "" */ } if i == (-1) { - return ts + 15156 /* "rowid" */ + return ts + 15171 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*32)).FzName } @@ -141743,35 +142251,35 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i var i int32 if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, ts+20320 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+20335 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+20326 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+20341 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11933 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+11948 /* "," */, 1) } Xsqlite3_str_appendall(tls, pStr, explainIndexColumnName(tls, pIdx, (iTerm+i))) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+4462 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4477 /* ")" */, 1) } Xsqlite3_str_append(tls, pStr, zOp, 1) if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+20326 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+20341 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11933 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+11948 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+4518 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4533 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+4462 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4477 /* ")" */, 1) } } @@ -141800,29 +142308,29 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. 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+20328 /* " (" */, 2) + Xsqlite3_str_append(tls, pStr, ts+20343 /* " (" */, 2) for i = 0; i < int32(nEq); i++ { var z uintptr = explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+20320 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+20335 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 20331 /* "%s=?" */ + return ts + 20346 /* "%s=?" */ } - return ts + 20336 /* "ANY(%s)" */ + return ts + 20351 /* "ANY(%s)" */ }(), 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 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+20344 /* ">" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+20359 /* ">" */) i = 1 } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_TOP_LIMIT)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+20346 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+20361 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+4462 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4477 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -141867,11 +142375,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+80 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) (*StrAccum)(unsafe.Pointer(bp + 48 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+20348 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+20363 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { - return ts + 20354 /* "SEARCH" */ + return ts + 20369 /* "SEARCH" */ } - return ts + 20361 /* "SCAN" */ + return ts + 20376 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -141881,38 +142389,38 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr if !(((*Table)(unsafe.Pointer(((*SrcItem)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = ts + 10096 /* "PRIMARY KEY" */ + zFmt = ts + 10111 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 20366 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 20381 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 20399 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 20414 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 20424 /* "COVERING INDEX %..." */ + zFmt = ts + 20439 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 20442 /* "INDEX %s" */ + zFmt = ts + 20457 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+48 /* &str */, ts+20451 /* " USING " */, 7) + Xsqlite3_str_append(tls, bp+48 /* &str */, ts+20466 /* " USING " */, 7) Xsqlite3_str_appendf(tls, bp+48 /* &str */, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) explainIndexRange(tls, bp+48 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr if (flags & (U32(WHERE_COLUMN_EQ | WHERE_COLUMN_IN))) != 0 { - zRangeOp = ts + 20459 /* "=" */ + zRangeOp = ts + 20474 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 20461 /* ">? AND rowid<" */ + zRangeOp = ts + 20476 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 20344 /* ">" */ + zRangeOp = ts + 20359 /* ">" */ } else { - zRangeOp = ts + 20346 /* "<" */ + zRangeOp = ts + 20361 /* "<" */ } Xsqlite3_str_appendf(tls, bp+48, /* &str */ - ts+20475 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) + ts+20490 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+20513, /* " VIRTUAL TABLE I..." */ + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+20528, /* " VIRTUAL TABLE I..." */ libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } zMsg = Xsqlite3StrAccumFinish(tls, bp+48 /* &str */) @@ -143468,7 +143976,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // Run a separate WHERE clause for each term of the OR clause. After // eliminating duplicates from other WHERE clauses, the action for each // sub-WHERE clause is to to invoke the main loop body as a subroutine. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20540 /* "MULTI-INDEX OR" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20555 /* "MULTI-INDEX OR" */, 0) for ii = 0; ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm; ii++ { var pOrTerm uintptr = ((*WhereClause)(unsafe.Pointer(pOrWc)).Fa + uintptr(ii)*56) if ((*WhereTerm)(unsafe.Pointer(pOrTerm)).FleftCursor == iCur) || ((int32((*WhereTerm)(unsafe.Pointer(pOrTerm)).FeOperator) & WO_AND) != 0) { @@ -143487,7 +143995,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } // Loop through table entries that match term pOrTerm. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20555 /* "INDEX %d" */, libc.VaList(bp, (ii+1))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20570 /* "INDEX %d" */, libc.VaList(bp, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -144235,10 +144743,10 @@ type Op2 = struct { } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 15027 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 14497 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 14047 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 20564 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, + {FzOp: ts + 15042 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, + {FzOp: ts + 14512 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, + {FzOp: ts + 14062 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, + {FzOp: ts + 20579 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, } /* sqlite3.c:147958:7 */ // If the pBase expression originated in the ON or USING clause of @@ -144939,7 +145447,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s extraRight = (x - uint64(1)) // ON clause terms may not be used with an index // on left table of a LEFT JOIN. Ticket #3015 if (prereqAll >> 1) >= x { - Xsqlite3ErrorMsg(tls, pParse, ts+20571 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20586 /* "ON clause refere..." */, 0) return } } @@ -145015,7 +145523,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s (*WhereTerm)(unsafe.Pointer(pNew)).FeOperator = (U16((int32(operatorMask(tls, int32((*Expr)(unsafe.Pointer(pDup)).Fop))) + int32(eExtraOp)) & int32(opMask))) } else if (op == TK_ISNULL) && (0 == Xsqlite3ExprCanBeNull(tls, pLeft)) { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 6171 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 6186 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) (*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0) @@ -145116,7 +145624,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s } zCollSeqName = func() uintptr { if *(*int32)(unsafe.Pointer(bp + 20 /* noCase */)) != 0 { - return ts + 20612 /* "NOCASE" */ + return ts + 20627 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -145418,7 +145926,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+20619, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+20634, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -146241,7 +146749,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+20655 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, + ts+20670 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*32)).FzName)) sentWarning = U8(1) __6: @@ -146322,7 +146830,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 20681 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 20696 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -146555,7 +147063,7 @@ __3: ((uint64(unsafe.Sizeof(sqlite3_index_constraint{})) + uint64(unsafe.Sizeof(sqlite3_index_constraint_usage{}))) * uint64(nTerm))) + (uint64(unsafe.Sizeof(sqlite3_index_orderby{})) * uint64(nOrderBy))) + uint64(unsafe.Sizeof(HiddenIndexInfo1{}))))) if pIdxInfo == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+5577 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5592 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*96) @@ -146682,9 +147190,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+2778 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+2793 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+2778 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+2793 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -148734,7 +149242,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+20692 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20707 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -148782,7 +149290,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+20692 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20707 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -149171,7 +149679,7 @@ __1: if (rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { if rc == SQLITE_DONE { // We hit the query planner search limit set by iPlanLimit - Xsqlite3_log(tls, SQLITE_WARNING, ts+20718 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+20733 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -149940,7 +150448,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+20753 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20768 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -150321,7 +150829,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+20771 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) + Xsqlite3ErrorMsg(tls, pParse, ts+20786 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) return uintptr(0) __3: ; @@ -150395,7 +150903,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20799 /* "SCAN CONSTANT RO..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20814 /* "SCAN CONSTANT RO..." */, 0) goto __6 __5: // Assign a bit from the bitmask to every term in the FROM clause. @@ -151530,7 +152038,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+20817 /* "second argument ..." */, -1) + pCtx, ts+20832 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -151679,7 +152187,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+20873 /* "argument of ntil..." */, -1) + pCtx, ts+20888 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -151776,17 +152284,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155441:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 20918 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 20929 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 20940 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 20945 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 20958 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 20968 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 20974 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 20985 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 20995 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 21007 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 21012 /* "lag" */)) /* sqlite3.c:155469:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 20933 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 20944 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 20955 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 20960 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 20973 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 20983 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 20989 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 21000 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 21010 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 21022 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 21027 /* "lag" */)) /* sqlite3.c:155469:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -151850,7 +152358,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+21016 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21031 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -151894,12 +152402,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+21035 /* "RANGE with offse..." */, 0) + ts+21050 /* "RANGE with offse..." */, 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+21106 /* "FILTER clause ma..." */, 0) + ts+21121 /* "FILTER clause ma..." */, 0) } else { *(*[8]WindowUpdate)(unsafe.Pointer(bp /* aUp */)) = [8]WindowUpdate{ {FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT}, @@ -151922,7 +152430,7 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*Window)(unsafe.Pointer(pWin)).FeEnd = U8((*WindowUpdate)(unsafe.Pointer(bp /* &aUp */ + uintptr(i)*24)).FeEnd) (*Window)(unsafe.Pointer(pWin)).FeExclude = U8(0) if int32((*Window)(unsafe.Pointer(pWin)).FeStart) == TK_FOLLOWING { - (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7309 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7324 /* "1" */) } break } @@ -152164,7 +152672,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+7370 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + ts+7385 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) } return WRC_Continue } @@ -152294,7 +152802,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // keep everything legal in this case. if *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3Expr(tls, db, TK_INTEGER, ts+6902 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+6917 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -152434,7 +152942,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+21169 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21184 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -152500,15 +153008,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint var zErr uintptr = uintptr(0) // Check for errors if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = ts + 21201 /* "PARTITION clause" */ + zErr = ts + 21216 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 21218 /* "ORDER BY clause" */ + zErr = ts + 21233 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 21234 /* "frame specificat..." */ + zErr = ts + 21249 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+21254 /* "cannot override ..." */, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase)) + ts+21269 /* "cannot override ..." */, 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 { @@ -152531,7 +153039,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+21287 /* "DISTINCT is not ..." */, 0) + ts+21302 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -152682,7 +153190,7 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regZero) if eCond >= WINDOW_STARTING_NUM { var regString int32 = Xsqlite3GetTempReg(tls, pParse) - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+741 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+756 /* "" */, -1) Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), reg) Xsqlite3VdbeChangeP5(tls, v, (uint16(SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL))) @@ -152704,11 +153212,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 21334, /* "frame starting o..." */ - ts + 21387, /* "frame ending off..." */ - ts + 20817, /* "second argument ..." */ - ts + 21438, /* "frame starting o..." */ - ts + 21490, /* "frame ending off..." */ + ts + 21349, /* "frame starting o..." */ + ts + 21402, /* "frame ending off..." */ + ts + 20832, /* "second argument ..." */ + ts + 21453, /* "frame starting o..." */ + ts + 21505, /* "frame ending off..." */ } /* sqlite3.c:156372:21 */ var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:156379:14 */ @@ -153310,7 +153818,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // the add/subtract is skipped for these, as required. If reg1 is a NULL, // then the arithmetic is performed, but since adding or subtracting from // NULL is always NULL anyway, this case is handled as required too. - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+741 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+756 /* "" */, -1) addrGe = Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, 0, reg1) if ((op == OP_Ge) && (arith == OP_Add)) || ((op == OP_Le) && (arith == OP_Subtract)) { @@ -154325,19 +154833,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit } cnt++ if ((*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0) || ((*Select)(unsafe.Pointer(pLoop)).FpLimit != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+21540, /* "%s clause should..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21555, /* "%s clause should..." */ libc.VaList(bp, func() uintptr { if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - return ts + 18654 /* "ORDER BY" */ + return ts + 18669 /* "ORDER BY" */ } - return ts + 21582 /* "LIMIT" */ + return ts + 21597 /* "LIMIT" */ }(), 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 + 128 /* &.aLimit */) + 4*4)))) > 0)) && (cnt > mxSelect) { - Xsqlite3ErrorMsg(tls, pParse, ts+21588 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21603 /* "too many terms i..." */, 0) } } @@ -154417,7 +154925,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+21622, /* "syntax error aft..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21637, /* "syntax error aft..." */ libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz)) } Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1) @@ -155644,7 +156152,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+21660 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21675 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -156623,11 +157131,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(22): /* table_options ::= WITHOUT nm */ { - if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+15156 /* "rowid" */, 5) == 0) { + if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+15171 /* "rowid" */, 5) == 0) { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = (TF_WithoutRowid | TF_NoVisibleRowid) } else { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = 0 - Xsqlite3ErrorMsg(tls, pParse, ts+21682 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) + Xsqlite3ErrorMsg(tls, pParse, ts+21697 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) } } break @@ -157362,7 +157870,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in case uint32(155): /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ { Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */)) - Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+21709 /* "set list" */) + Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+21724 /* "set list" */) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = Xsqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))) Xsqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */)), uintptr(0), uintptr(0), uintptr(0)) } @@ -157515,7 +158023,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(bp + 96 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21718 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+21733 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) @@ -157719,9 +158227,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 /* &.minor */))) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, func() uintptr { if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)) != 0 { - return ts + 7309 /* "1" */ + return ts + 7324 /* "1" */ } - return ts + 6902 /* "0" */ + return ts + 6917 /* "0" */ }()) } else if ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)))).FnExpr == 1) && (Xsqlite3ExprIsConstant(tls, (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))+8 /* &.a */))).FpExpr) != 0) { var pRHS uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) + 8 /* &.a */))).FpExpr @@ -157996,21 +158504,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) Xsqlite3ErrorMsg(tls, pParse, - ts+21742 /* "qualified table ..." */, 0) + ts+21757 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21837 /* "the INDEXED BY c..." */, 0) + ts+21852 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21921 /* "the NOT INDEXED ..." */, 0) + ts+21936 /* "the NOT INDEXED ..." */, 0) } break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ @@ -158459,9 +158967,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To _ = yymajor // Silence some compiler warnings if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21718 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) + Xsqlite3ErrorMsg(tls, pParse, ts+21733 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+22006 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22021 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -159668,7 +160176,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+22023 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+22038 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -159688,12 +160196,12 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+2778 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+2793 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg - Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+22050, /* "%s in \"%s\"" */ + Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+22065, /* "%s in \"%s\"" */ libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ @@ -159905,7 +160413,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+22061 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+22076 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -159918,11 +160426,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+18774 /* "trigger" */, 7) == 0) { + if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+18789 /* "trigger" */, 7) == 0) { token = U8(TkTRIGGER) - } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+22068 /* "temp" */, 4) == 0) { + } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+22083 /* "temp" */, 4) == 0) { token = U8(TkTEMP) - } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+22073 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+22088 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -159935,9 +160443,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+22083 /* "end" */, 3) == 0) { + if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+22098 /* "end" */, 3) == 0) { token = U8(TkEND) - } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+22087 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+22102 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -160965,7 +161473,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // SQLITE_BUSY if the connection can not be closed immediately. if !(forceZombie != 0) && (connectionIsBusy(tls, db) != 0) { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+22095 /* "unable to close ..." */, 0) + ts+22110 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -161187,23 +161695,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: */ - var zErr uintptr = ts + 22163 /* "unknown error" */ + var zErr uintptr = ts + 22178 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 22177 /* "abort due to ROL..." */ + zErr = ts + 22192 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 22199 /* "another row avai..." */ + zErr = ts + 22214 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 22221 /* "no more rows ava..." */ + zErr = ts + 22236 /* "no more rows ava..." */ break } @@ -161221,35 +161729,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 22244, /* "not an error" */ - /* SQLITE_ERROR */ ts + 22257, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 22259, /* "not an error" */ + /* SQLITE_ERROR */ ts + 22272, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 22273, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 22298, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 22312, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 22331, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 5577, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 22356, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 22393, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 22405, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 22420, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 22453, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 22471, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 22496, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 22525, /* "locking protocol" */ + /* SQLITE_PERM */ ts + 22288, /* "access permissio..." */ + /* SQLITE_ABORT */ ts + 22313, /* "query aborted" */ + /* SQLITE_BUSY */ ts + 22327, /* "database is lock..." */ + /* SQLITE_LOCKED */ ts + 22346, /* "database table i..." */ + /* SQLITE_NOMEM */ ts + 5592, /* "out of memory" */ + /* SQLITE_READONLY */ ts + 22371, /* "attempt to write..." */ + /* SQLITE_INTERRUPT */ ts + 22408, /* "interrupted" */ + /* SQLITE_IOERR */ ts + 22420, /* "disk I/O error" */ + /* SQLITE_CORRUPT */ ts + 22435, /* "database disk im..." */ + /* SQLITE_NOTFOUND */ ts + 22468, /* "unknown operatio..." */ + /* SQLITE_FULL */ ts + 22486, /* "database or disk..." */ + /* SQLITE_CANTOPEN */ ts + 22511, /* "unable to open d..." */ + /* SQLITE_PROTOCOL */ ts + 22540, /* "locking protocol" */ /* SQLITE_EMPTY */ uintptr(0), - /* SQLITE_SCHEMA */ ts + 5307, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 4844, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 22542, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 22560, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 22578, /* "bad parameter or..." */ + /* SQLITE_SCHEMA */ ts + 5322, /* "database schema ..." */ + /* SQLITE_TOOBIG */ ts + 4859, /* "string or blob t..." */ + /* SQLITE_CONSTRAINT */ ts + 22557, /* "constraint faile..." */ + /* SQLITE_MISMATCH */ ts + 22575, /* "datatype mismatc..." */ + /* SQLITE_MISUSE */ ts + 22593, /* "bad parameter or..." */ /* SQLITE_NOLFS */ uintptr(0), - /* SQLITE_AUTH */ ts + 22612, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 22627, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 22633, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 22659, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 22682, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 22703, /* "warning message" */ + /* SQLITE_RANGE */ ts + 22648, /* "column index out..." */ + /* SQLITE_NOTADB */ ts + 22674, /* "file is not a da..." */ + /* SQLITE_NOTICE */ ts + 22697, /* "notification mes..." */ + /* SQLITE_WARNING */ ts + 22718, /* "warning message" */ } /* sqlite3.c:166656:20 */ // This routine implements a busy callback that sleeps and tries @@ -161414,7 +161922,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+22719 /* "unable to delete..." */, 0) + ts+22734 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -161547,7 +162055,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+22782 /* "unable to use fu..." */, libc.VaList(bp, zName)) + ts+22797 /* "unable to use fu..." */, libc.VaList(bp, zName)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } @@ -161769,7 +162277,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+22833 /* "unknown database..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+22848 /* "unknown database..." */, libc.VaList(bp, zDb)) } else { (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -161988,7 +162496,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint if (pColl != 0) && ((*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0) { if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+22854 /* "unable to delete..." */, 0) + ts+22869 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -162131,7 +162639,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u if !(((((flags & uint32(SQLITE_OPEN_URI)) != 0) || // IMP: R-48725-32206 (Xsqlite3Config.FbOpenUri != 0)) && // IMP: R-51689-46548 - (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+22922 /* "file:" */, uint64(5)) == 0)) { + (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+22937 /* "file:" */, uint64(5)) == 0)) { goto __1 } // Input character index iOut = 0 // Output character index @@ -162179,10 +162687,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+22928 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { + if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+22943 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22938, /* "invalid uri auth..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22953, /* "invalid uri auth..." */ libc.VaList(bp, (iIn-7), (zUri+7))) rc = SQLITE_ERROR goto parse_uri_out @@ -162304,7 +162812,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+22966 /* "vfs" */, zOpt, uint64(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+22981 /* "vfs" */, zOpt, uint64(3)) == 0)) { goto __29 } zVfs = zVal @@ -162315,17 +162823,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+22970 /* "cache" */, zOpt, uint64(5)) == 0)) { + if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+22985 /* "cache" */, zOpt, uint64(5)) == 0)) { goto __31 } mask = (SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&aCacheMode)) limit = mask - zModeType = ts + 22970 /* "cache" */ + zModeType = ts + 22985 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22976 /* "mode" */, zOpt, uint64(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22991 /* "mode" */, zOpt, uint64(4)) == 0)) { goto __32 } @@ -162333,7 +162841,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 2385 /* "access" */ + zModeType = ts + 2400 /* "access" */ __32: ; @@ -162364,7 +162872,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22981 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22996 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -162372,7 +162880,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23001, /* "%s mode not allo..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23016, /* "%s mode not allo..." */ libc.VaList(bp+32, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out @@ -162415,7 +162923,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23025 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23040 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) rc = SQLITE_ERROR __42: ; @@ -162439,15 +162947,15 @@ type OpenMode = struct { } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 23041 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 23048 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, + {Fz: ts + 23056 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, + {Fz: ts + 23063 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, } /* sqlite3.c:168073:34 */ var aOpenMode = [5]OpenMode{ - {Fz: ts + 23056 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 23059 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 23062 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 16265 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, + {Fz: ts + 23071 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, + {Fz: ts + 23074 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, + {Fz: ts + 23077 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, + {Fz: ts + 16280 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, {}, } /* sqlite3.c:168085:34 */ @@ -162629,10 +163137,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+20612 /* "NOCASE" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+20627 /* "NOCASE" */, 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+23066 /* "RTRIM" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+23081 /* "RTRIM" */, 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) { @@ -162678,7 +163186,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 2778 /* "%s" */ + return ts + 2793 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -162716,9 +163224,9 @@ __22: // The default safety_level for the main database is FULL; for the temp // database it is OFF. This matches the pager layer defaults. - (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 5854 /* "main" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 5869 /* "main" */ (*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 + 22068 /* "temp" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 22083 /* "temp" */ (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF) (*Sqlite3)(unsafe.Pointer(db)).Fmagic = SQLITE_MAGIC_OPEN @@ -162836,7 +163344,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 23072 /* "\x00\x00" */ + zFilename = ts + 23087 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -162939,24 +163447,24 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) bp := tls.Alloc(24) defer tls.Free(24) - Xsqlite3_log(tls, iErr, ts+23075, /* "%s at line %d of..." */ + Xsqlite3_log(tls, iErr, ts+23090, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) return iErr } func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168711:20: */ - return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+23100 /* "database corrupt..." */) + return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+23115 /* "database corrupt..." */) } func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168715:20: */ - return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+23120 /* "misuse" */) + return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+23135 /* "misuse" */) } func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168719:20: */ - return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+23127 /* "cannot open file" */) + return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+23142 /* "cannot open file" */) } // This is a convenience routine that makes sure that all thread-specific @@ -163083,7 +163591,7 @@ __4: autoinc = (libc.Bool32((int32((*Table)(unsafe.Pointer(pTab)).FiPKey) == iCol) && (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != U32(0)))) goto __13 __12: - zDataType = ts + 11780 /* "INTEGER" */ + zDataType = ts + 11795 /* "INTEGER" */ primarykey = 1 __13: ; @@ -163135,14 +163643,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+23144 /* "no such table co..." */, libc.VaList(bp, zTableName, + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+23159 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 2778 /* "%s" */ + return ts + 2793 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -163941,7 +164449,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+23172 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+23187 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -164102,7 +164610,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 + 23180 /* "database is dead..." */ + return ts + 23195 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -164902,7 +165410,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 5654 /* "null" */, ts + 6166 /* "true" */, ts + 6171 /* "false" */, ts + 5664 /* "integer" */, ts + 5659 /* "real" */, ts + 13919 /* "text" */, ts + 23203 /* "array" */, ts + 23209, /* "object" */ + ts + 5669 /* "null" */, ts + 6181 /* "true" */, ts + 6186 /* "false" */, ts + 5679 /* "integer" */, ts + 5674 /* "real" */, ts + 13934 /* "text" */, ts + 23218 /* "array" */, ts + 23224, /* "object" */ } /* sqlite3.c:189771:19 */ // Maximum nesting depth of JSON for this implementation. @@ -165082,7 +165590,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 + 23216 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 23231 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -165110,7 +165618,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { - jsonAppendRaw(tls, p, ts+5654 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+5669 /* "null" */, uint32(4)) break } @@ -165139,7 +165647,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 default: { if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { - Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+23233 /* "JSON cannot hold..." */, -1) + Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+23248 /* "JSON cannot hold..." */, -1) (*JsonString)(unsafe.Pointer(p)).FbErr = U8(2) jsonReset(tls, p) } @@ -165216,19 +165724,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+5654 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+5669 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+6166 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+6181 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+6171 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+6186 /* "false" */, uint32(5)) break } @@ -165794,17 +166302,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } return (int32(j + U32(1))) } else if ((int32(c) == 'n') && - (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5654 /* "null" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5669 /* "null" */, uint64(4)) == 0)) && !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { 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+6166 /* "true" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+6181 /* "true" */, 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+6171 /* "false" */, uint64(5)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+6186 /* "false" */, 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))) @@ -165912,7 +166420,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+23262 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+23277 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -166232,7 +166740,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+23277 /* "[0]" */, uint64(3)) == 0 { + } else if libc.Xstrncmp(tls, zPath, ts+23292 /* "[0]" */, uint64(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) } else { return uintptr(0) @@ -166249,7 +166757,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190 bp := tls.Alloc(8) defer tls.Free(8) - return Xsqlite3_mprintf(tls, ts+23281 /* "JSON path error ..." */, libc.VaList(bp, zErr)) + return Xsqlite3_mprintf(tls, ts+23296 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } // Do a node lookup using zPath. Return a pointer to the node on success. @@ -166316,7 +166824,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit bp := tls.Alloc(8) defer tls.Free(8) - var zMsg uintptr = Xsqlite3_mprintf(tls, ts+23307, /* "json_%s() needs ..." */ + var zMsg uintptr = Xsqlite3_mprintf(tls, ts+23322, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -166460,7 +166968,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* if pNode != 0 { jsonRenderNode(tls, pNode, bp /* &jx */, uintptr(0)) } else { - jsonAppendRaw(tls, bp /* &jx */, ts+5654 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+5669 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -166588,14 +167096,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+23350 /* "json_object() re..." */, -1) + ts+23365 /* "json_object() re..." */, -1) return } jsonInit(tls, bp /* &jx */, ctx) jsonAppendChar(tls, bp /* &jx */, 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+23401 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+23416 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -166703,7 +167211,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+14430 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+14445 /* "replace" */) return __2: ; @@ -166789,9 +167297,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 23435 /* "set" */ + return ts + 23450 /* "set" */ } - return ts + 23439 /* "insert" */ + return ts + 23454 /* "insert" */ }()) return __2: @@ -166939,7 +167447,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+23446 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+23461 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -167044,7 +167552,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+23449 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+23464 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -167097,7 +167605,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+23452 /* "CREATE TABLE x(k..." */) + ts+23467 /* "CREATE TABLE x(k..." */) if rc == SQLITE_OK { pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{})))) if pNew == uintptr(0) { @@ -167235,14 +167743,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql 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+23535 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) + jsonPrintf(tls, 30, pStr, ts+23550 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) } else { if (int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags) & JNODE_LABEL) == 0 { pNode -= 16 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+23540 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+23555 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } @@ -167335,9 +167843,9 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* jsonAppendChar(tls, bp+24 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+24 /* &x */, ts+23535 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+24 /* &x */, ts+23550 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+23540 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+23555 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } jsonResult(tls, bp+24 /* &x */) @@ -167361,7 +167869,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 + 23546 /* "$" */ + zRoot = ts + 23561 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -167493,7 +168001,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+23262 /* "malformed JSON" */, 0) + (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+23277 /* "malformed JSON" */, 0) if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { rc = SQLITE_ERROR } @@ -167634,21 +168142,21 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 23548 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23553 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23564 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23564 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23582 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23595 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23607 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23619 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23630 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23641 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23653 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23666 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 23675 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23675 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23685 /* "json_valid" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23563 /* "json" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23568 /* "json_array" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23579 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23579 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23597 /* "json_extract" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23610 /* "json_insert" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23622 /* "json_object" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23634 /* "json_patch" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23645 /* "json_quote" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23656 /* "json_remove" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23668 /* "json_replace" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23681 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, + {FzName: ts + 23690 /* "json_type" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23690 /* "json_type" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23700 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { FzName uintptr @@ -167658,17 +168166,17 @@ var aAgg = [2]struct { FxFinal uintptr FxValue uintptr }{ - {FzName: ts + 23696 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 23711 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 23713 /* "json_group_objec..." */, FnArg: 2, + {FzName: ts + 23728 /* "json_group_objec..." */, FnArg: 2, FxStep: 0, FxFinal: 0, FxValue: 0}, } /* sqlite3.c:192211:5 */ var aMod = [2]struct { FzName uintptr FpModule uintptr }{ - {FzName: ts + 23731 /* "json_each" */, FpModule: 0}, - {FzName: ts + 23741 /* "json_tree" */, FpModule: 0}, + {FzName: ts + 23746 /* "json_each" */, FpModule: 0}, + {FzName: ts + 23756 /* "json_tree" */, FpModule: 0}, } /* sqlite3.c:192221:5 */ var enc int32 = ((SQLITE_UTF8 | SQLITE_DETERMINISTIC) | SQLITE_INNOCUOUS) /* sqlite3.c:192226:20 */ // In the SQLite core @@ -168018,11 +168526,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+23751 /* "%s_node" */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + var zTab uintptr = Xsqlite3_mprintf(tls, ts+23766 /* "%s_node" */, 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+23759 /* "data" */, iNode, 0, + rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+23774 /* "data" */, iNode, 0, (pRtree + 112 /* &.pNodeBlob */)) Xsqlite3_free(tls, zTab) } @@ -168267,7 +168775,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+23764, /* "DROP TABLE '%q'...." */ + ts+23779, /* "DROP TABLE '%q'...." */ 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)) @@ -169027,7 +169535,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information - pSrc = Xsqlite3_value_pointer(tls, pValue, ts+23846 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+23861 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -169291,7 +169799,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -170551,7 +171059,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+23860 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, ts+23875 /* "SELECT * FROM %Q..." */, 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 /* &pStmt */, uintptr(0)) } else { @@ -170563,12 +171071,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 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+23880 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+23895 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), iCol) var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+23912 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+23927 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } @@ -170836,7 +171344,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+23949 /* "ALTER TABLE %Q.'..." */, 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+23964 /* "ALTER TABLE %Q.'..." */, 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)) @@ -170874,7 +171382,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(24) defer tls.Free(24) - var zFmt uintptr = ts + 24094 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 24109 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+16, 8 @@ -170882,7 +171390,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit var nRow I64 = int64(0) rc = Xsqlite3_table_column_metadata(tls, - db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+10468 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+10483 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == SQLITE_ERROR { @@ -170935,7 +171443,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 24150 /* "node" */, ts + 4570 /* "parent" */, ts + 15156, /* "rowid" */ + ts + 24165 /* "node" */, ts + 4585 /* "parent" */, ts + 15171, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -170979,19 +171487,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+24155, /* "CREATE TABLE \"%w..." */ + ts+24170, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+24217 /* ",a%d" */, libc.VaList(bp+16, ii)) + Xsqlite3_str_appendf(tls, p, ts+24232 /* ",a%d" */, libc.VaList(bp+16, ii)) } Xsqlite3_str_appendf(tls, p, - ts+24222, /* ");CREATE TABLE \"..." */ + ts+24237, /* ");CREATE TABLE \"..." */ libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+24286, /* "CREATE TABLE \"%w..." */ + ts+24301, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+24356, /* "INSERT INTO \"%w\"..." */ + ts+24371, /* "INSERT INTO \"%w\"..." */ libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { @@ -171022,7 +171530,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } else { // An UPSERT is very slightly slower than REPLACE, but it is needed // if there are auxiliary columns - zFormat = ts + 24405 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 24420 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { @@ -171034,7 +171542,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+24513, /* "SELECT * FROM \"%..." */ + ts+24528, /* "SELECT * FROM \"%..." */ libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -171042,18 +171550,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+24558 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+112, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+24573 /* "UPDATE \"%w\".\"%w_..." */, 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+11933 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+11948 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+24585 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+24600 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+24607 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+24622 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) } } - Xsqlite3_str_appendf(tls, p, ts+24615 /* " WHERE rowid=?1" */, 0) + Xsqlite3_str_appendf(tls, p, ts+24630 /* " WHERE rowid=?1" */, 0) zSql = Xsqlite3_str_finish(tls, p) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -171069,18 +171577,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 24631, /* "INSERT OR REPLAC..." */ - ts + 24684, /* "DELETE FROM '%q'..." */ + ts + 24646, /* "INSERT OR REPLAC..." */ + ts + 24699, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 24729, /* "SELECT nodeno FR..." */ - ts + 24781, /* "INSERT OR REPLAC..." */ - ts + 24835, /* "DELETE FROM '%q'..." */ + ts + 24744, /* "SELECT nodeno FR..." */ + ts + 24796, /* "INSERT OR REPLAC..." */ + ts + 24850, /* "DELETE FROM '%q'..." */ // Read and write the xxx_parent table - ts + 24880, /* "SELECT parentnod..." */ - ts + 24938, /* "INSERT OR REPLAC..." */ - ts + 24993, /* "DELETE FROM '%q'..." */ + ts + 24895, /* "SELECT parentnod..." */ + ts + 24953, /* "INSERT OR REPLAC..." */ + ts + 25008, /* "DELETE FROM '%q'..." */ } /* sqlite3.c:195763:21 */ // The second argument to this function contains the text of an SQL statement @@ -171127,7 +171635,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr var zSql uintptr if isCreate != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) = 0 - zSql = Xsqlite3_mprintf(tls, ts+25040 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, ts+25055 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) rc = getIntFromStmt(tls, db, zSql, bp+48 /* &iPageSize */) if rc == SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) - 64) @@ -171135,19 +171643,19 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, - ts+25060, /* "SELECT length(da..." */ + ts+25075, /* "SELECT length(da..." */ libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 32 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+25117, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+25132, /* "undersize RTree ..." */ libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -171198,17 +171706,17 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr ii = 4 *(*[5]uintptr)(unsafe.Pointer(bp + 96 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 - ts + 25152, /* "Wrong number of ..." */ // 1 - ts + 25195, /* "Too few columns ..." */ // 2 - ts + 25230, /* "Too many columns..." */ // 3 - ts + 25266, /* "Auxiliary rtree ..." */ // 4 + ts + 25167, /* "Wrong number of ..." */ // 1 + ts + 25210, /* "Too few columns ..." */ // 2 + ts + 25245, /* "Too many columns..." */ // 3 + ts + 25281, /* "Auxiliary rtree ..." */ // 4 } // Aux columns counted by a u8 if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) return SQLITE_ERROR __1: ; @@ -171238,7 +171746,7 @@ __2: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+25303, /* "CREATE TABLE x(%..." */ + Xsqlite3_str_appendf(tls, pSql, ts+25318, /* "CREATE TABLE x(%..." */ libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = 4 __3: @@ -171250,7 +171758,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+25327 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+25342 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -171273,7 +171781,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+25333 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+25348 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -171284,14 +171792,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -171334,7 +171842,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) goto rtreeInit_fail __22: ; @@ -171352,7 +171860,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -171372,7 +171880,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 25336 /* ",%.*s REAL" */, ts + 25347 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ +var azFormat = [2]uintptr{ts + 25351 /* ",%.*s REAL" */, ts + 25362 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -171427,13 +171935,13 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit nodeGetCell(tls, bp+56 /* &tree */, bp+16 /* &node */, ii, bp+1024 /* &cell */) if ii > 0 { - Xsqlite3_str_append(tls, pOut, ts+10048 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+10063 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+25357 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, ts+25372 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+25363 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+25378 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } - Xsqlite3_str_append(tls, pOut, ts+25367 /* "}" */, 1) + Xsqlite3_str_append(tls, pOut, ts+25382 /* "}" */, 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}))) @@ -171452,7 +171960,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli _ = 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+25369 /* "Invalid argument..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+25384 /* "Invalid argument..." */, -1) } else { var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -171541,12 +172049,12 @@ 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+25402, /* "%z%s%z" */ + (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+25417, /* "%z%s%z" */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - return ts + 3567 /* "\n" */ + return ts + 3582 /* "\n" */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -171577,7 +172085,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+25409, /* "SELECT data FROM..." */ + ts+25424, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -171596,7 +172104,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+25454 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+25469 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -171620,8 +172128,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 /* azSql */)) = [2]uintptr{ - ts + 25486, /* "SELECT parentnod..." */ - ts + 25540, /* "SELECT nodeno FR..." */ + ts + 25501, /* "SELECT parentnod..." */ + ts + 25555, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) == uintptr(0) { @@ -171636,23 +172144,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+25588, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+25603, /* "Mapping (%lld ->..." */ libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 25633 /* "%_rowid" */ + return ts + 25648 /* "%_rowid" */ } - return ts + 25641 /* "%_parent" */ + return ts + 25656 /* "%_parent" */ }())) } else if rc == SQLITE_ROW { var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, - ts+25650, /* "Found (%lld -> %..." */ + ts+25665, /* "Found (%lld -> %..." */ libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 25633 /* "%_rowid" */ + return ts + 25648 /* "%_rowid" */ } - return ts + 25641 /* "%_parent" */ + return ts + 25656 /* "%_parent" */ }(), iKey, iVal)) } } @@ -171695,7 +172203,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, - ts+25708 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+25723 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -171715,7 +172223,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 60 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+25756 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) + ts+25771 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -171738,14 +172246,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr if aNode != 0 { if *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+25823 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) + ts+25838 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+25857 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+25872 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } @@ -171753,7 +172261,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 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, - ts+25887, /* "Node %lld is too..." */ + ts+25902, /* "Node %lld is too..." */ libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { for i = 0; i < nCell; i++ { @@ -171787,14 +172295,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+25942, /* "SELECT count(*) ..." */ + pCount = rtreeCheckPrepare(tls, pCheck, ts+25957, /* "SELECT count(*) ..." */ 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+25973 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) + ts+25988 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -171824,13 +172332,13 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+13609 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+13624 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+26040 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+26055 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) @@ -171839,12 +172347,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+23860 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+23875 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) if pStmt != 0 { var rc int32 (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+26068 /* "Schema corrupt o..." */, 0) + rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+26083 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } @@ -171859,8 +172367,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { rtreeCheckNode(tls, bp+32 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+32 /* &check */, ts+26099 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+32 /* &check */, ts+26106 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+26114 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+26121 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check @@ -171870,7 +172378,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // If one was opened, close the transaction if bEnd != 0 { - var rc int32 = Xsqlite3_exec(tls, db, ts+26114 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) + var rc int32 = Xsqlite3_exec(tls, db, ts+26129 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } @@ -171916,7 +172424,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+26118 /* "wrong number of ..." */, -1) + ts+26133 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -171924,7 +172432,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 5854 /* "main" */ + zDb = ts + 5869 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -171934,7 +172442,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if *(*uintptr)(unsafe.Pointer(bp /* zReport */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp /* zReport */)) } - return ts + 16781 /* "ok" */ + return ts + 16796 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -172371,11 +172879,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+26169 /* "[" */, 1) + Xsqlite3_str_append(tls, x, ts+26184 /* "[" */, 1) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { - Xsqlite3_str_appendf(tls, x, ts+26171 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) + Xsqlite3_str_appendf(tls, x, ts+26186 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+26182 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+26197 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 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) } @@ -172399,19 +172907,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+26193 /* "" */, 0) + Xsqlite3_str_appendf(tls, x, ts+26246 /* ">" */, 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) } @@ -173427,7 +173935,7 @@ __1: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+26244 /* "CREATE TABLE x(_..." */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+26259 /* "CREATE TABLE x(_..." */, 0) (*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1) // Add one for _shape (*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1) // The _shape column is always not-null ii = 3 @@ -173436,7 +173944,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+26266 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, ts+26281 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto __3 __3: ii++ @@ -173444,7 +173952,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+25333 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+25348 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -173455,7 +173963,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -173481,7 +173989,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -173714,7 +174222,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s if iRowidTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 15156 /* "rowid" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 15171 /* "rowid" */ (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).FargvIndex = 1 (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).Fomit = uint8(1) (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 30.0 @@ -173724,7 +174232,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } if iFuncTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 26270 /* "rtree" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 26285 /* "rtree" */ (*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 @@ -173732,7 +174240,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s return SQLITE_OK } (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 26276 /* "fullscan" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 26291 /* "fullscan" */ (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -173870,7 +174378,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+26285 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+26300 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -174015,14 +174523,14 @@ geopoly_update_end: // Report that geopoly_overlap() is an overloaded function suitable // for use in xBestIndex. func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:198361:12: */ - if Xsqlite3_stricmp(tls, zName, ts+26325 /* "geopoly_overlap" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+26340 /* "geopoly_overlap" */) == 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+26341 /* "geopoly_within" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+26356 /* "geopoly_within" */) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{geopolyWithinFunc})) @@ -174087,7 +174595,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 uintptr(0), aAgg1[i].FxStep, aAgg1[i].FxFinal) } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, ts+26356 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+26371 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -174099,25 +174607,25 @@ var aFunc1 = [12]struct { _ [6]byte FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26364 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26377 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26390 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 26403 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 26341 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 26415 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 26325 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 26438 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26452 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 26465 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 26479 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26495 /* "geopoly_ccw" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26379 /* "geopoly_area" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26392 /* "geopoly_blob" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26405 /* "geopoly_json" */}, + {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 26418 /* "geopoly_svg" */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 26356 /* "geopoly_within" */}, + {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 26430 /* "geopoly_contains..." */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 26340 /* "geopoly_overlap" */}, + {FxFunc: 0, FnArg: int8(1), FzName: ts + 26453 /* "geopoly_debug" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26467 /* "geopoly_bbox" */}, + {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 26480 /* "geopoly_xform" */}, + {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 26494 /* "geopoly_regular" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26510 /* "geopoly_ccw" */}, } /* sqlite3.c:198416:5 */ var aAgg1 = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ - {FxStep: 0, FxFinal: 0, FzName: ts + 26507 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 26522 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -174130,26 +174638,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 var utf8 int32 = SQLITE_UTF8 var rc int32 - rc = Xsqlite3_create_function(tls, db, ts+26526 /* "rtreenode" */, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26541 /* "rtreenode" */, 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+26536 /* "rtreedepth" */, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26551 /* "rtreedepth" */, 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+26547 /* "rtreecheck" */, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26562 /* "rtreecheck" */, -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+26270 /* "rtree" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+26285 /* "rtree" */, 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+26558 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+26573 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { rc = sqlite3_geopoly_init(tls, db) @@ -174221,7 +174729,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql Xsqlite3_result_error_nomem(tls, ctx) rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, ts+23846 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) + Xsqlite3_result_pointer(tls, ctx, pBlob, ts+23861 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) } } } @@ -175512,7 +176020,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // Figure out the size of the output nOut = rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, ts+26568 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+26583 /* "corrupt fossil d..." */, -1) return } @@ -175523,7 +176031,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+26568 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+26583 /* "corrupt fossil d..." */, -1) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -175544,7 +176052,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -175562,7 +176070,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -175666,7 +176174,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+26589 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + ts+26604 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if rc == SQLITE_OK { @@ -175750,7 +176258,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+23759 /* "data" */, zIn, uint64(4)) == 0) { + if (libc.Xstrlen(tls, zIn) > uint64(4)) && (libc.Xmemcmp(tls, ts+23774 /* "data" */, 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++ { } @@ -175778,17 +176286,17 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter /* &.pTblIter */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26760 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { + ts+26775 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 26910 /* "AND rootpage!=0 ..." */ + return ts + 26925 /* "AND rootpage!=0 ..." */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 8 /* &.pIdxIter */), (p + 64 /* &.zErrmsg */), - ts+26951 /* "SELECT name, roo..." */) + ts+26966 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -175926,7 +176434,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: var rc int32 = Xsqlite3_finalize(tls, pStmt) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (rc != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) } } @@ -175989,7 +176497,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 /* &aStmt */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27076 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) + ts+27091 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } @@ -176007,7 +176515,7 @@ __2: *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 1*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27157 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) + Xsqlite3_mprintf(tls, ts+27172 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -176025,7 +176533,7 @@ __4: } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 2*8), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27178 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) + ts+27193 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } @@ -176049,7 +176557,7 @@ __5: ; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 3*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27229 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) + Xsqlite3_mprintf(tls, ts+27244 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } @@ -176098,7 +176606,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27250 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+27265 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 @@ -176113,7 +176621,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27278 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+27293 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)))) { var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)), 1) if iCid >= 0 { @@ -176163,7 +176671,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 72 /* &.eType */), bp+56 /* &iTnum */, (pIter + 108 /* &.iPkTnum */)) 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+18300 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+18315 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc @@ -176176,18 +176684,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // of the input table. Ignore any input table columns that begin with // "rbu_". (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27307 /* "SELECT * FROM '%..." */, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + Xsqlite3_mprintf(tls, ts+27322 /* "SELECT * FROM '%..." */, 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 /* pStmt */))) 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 /* pStmt */)), i) - if Xsqlite3_strnicmp(tls, ts+27326 /* "rbu_" */, zName, 4) != 0 { + if Xsqlite3_strnicmp(tls, ts+27341 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 56 /* &.rc */)) *(*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+27331 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+27346 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -176199,12 +176707,12 @@ 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+27341 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+27356 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { - return ts + 27370 /* "may not have" */ + return ts + 27385 /* "may not have" */ } - return ts + 27383 /* "requires" */ + return ts + 27398 /* "requires" */ }())) } @@ -176213,7 +176721,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27392 /* "PRAGMA table_inf..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+27407 /* "PRAGMA table_inf..." */, 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 /* pStmt */)))) { var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 1) @@ -176227,7 +176735,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+27414, /* "column missing f..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+27429, /* "column missing f..." */ libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 5) @@ -176273,12 +176781,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(24) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 741 /* "" */ + var zSep uintptr = ts + 756 /* "" */ 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+27441 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 13720 /* ", " */ + zList = rbuMPrintf(tls, p, ts+27456 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 13735 /* ", " */ } return zList } @@ -176293,13 +176801,13 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, var iPk int32 = 1 var zRet uintptr = uintptr(0) - var zSep uintptr = ts + 741 /* "" */ + var zSep uintptr = ts + 756 /* "" */ for 1 != 0 { var i int32 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+27450 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) + zRet = rbuMPrintf(tls, p, ts+27465 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -176338,25 +176846,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 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27463 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + ts+27478 /* "SELECT max(_rowi..." */, 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 /* pMax */)))) { var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+27495 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) + zRet = rbuMPrintf(tls, p, ts+27510 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } else { - var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+741 /* "" */, ts+13720 /* ", " */, ts+27518 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+27524 /* "quote(" */, ts+27531 /* "||','||" */, ts+4462 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+741 /* "" */, ts+13720 /* ", " */, ts+741 /* "" */) + var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+756 /* "" */, ts+13735 /* ", " */, ts+27533 /* " DESC" */) + var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+27539 /* "quote(" */, ts+27546 /* "||','||" */, ts+4477 /* ")" */) + var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+756 /* "" */, ts+13735 /* ", " */, ts+756 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27539, /* "SELECT %s FROM \"..." */ + ts+27554, /* "SELECT %s FROM \"..." */ 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 /* pMax */)))) { var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+27581 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) + zRet = rbuMPrintf(tls, p, ts+27596 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } @@ -176414,12 +176922,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 741 /* "" */ + zSep = ts + 756 /* "" */ iCol = 0 *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27278 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+27293 /* "PRAGMA main.inde..." */, 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 /* pXInfo */))))) { goto __2 @@ -176456,7 +176964,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) goto __7 __6: - zCol = ts + 27601 /* "_rowid_" */ + zCol = ts + 27616 /* "_rowid_" */ __7: ; goto __5 @@ -176465,13 +176973,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+27609, /* "%z%s \"%w\" COLLAT..." */ + zLhs = rbuMPrintf(tls, p, ts+27624, /* "%z%s \"%w\" COLLAT..." */ libc.VaList(bp+8, zLhs, zSep, zCol, zCollate)) - zOrder = rbuMPrintf(tls, p, ts+27630, /* "%z%s \"rbu_imp_%d..." */ + zOrder = rbuMPrintf(tls, p, ts+27645, /* "%z%s \"rbu_imp_%d..." */ libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = rbuMPrintf(tls, p, ts+27666, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+27681, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) - zSep = ts + 13720 /* ", " */ + zSep = ts + 13735 /* ", " */ iCol++ goto __1 __2: @@ -176490,12 +176998,12 @@ __11: *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184 /* &pSel */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27693, /* "SELECT %s FROM \"..." */ + Xsqlite3_mprintf(tls, ts+27708, /* "SELECT %s FROM \"..." */ 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 /* pSel */))))) { goto __13 } - zSep = ts + 741 /* "" */ + zSep = ts + 756 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -176517,8 +177025,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+27741 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) - zSep = ts + 13720 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+27756 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) + zSep = ts + 13735 /* ", " */ goto __15 __15: iCol++ @@ -176530,7 +177038,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+27748 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+27763 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: @@ -176580,14 +177088,14 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var zImpPK uintptr = uintptr(0) // String to return via *pzImposterPK var zWhere uintptr = uintptr(0) // String to return via *pzWhere var nBind int32 = 0 // Value to return via *pnBind - var zCom uintptr = ts + 741 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 741 /* "" */ // Set to " AND " later on + var zCom uintptr = ts + 756 /* "" */ // Set to ", " later on + var zAnd uintptr = ts + 756 /* "" */ // Set to " AND " later on *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27278 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+27293 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)))) { @@ -176599,9 +177107,9 @@ 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 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+27760 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+8, zRet, zCom, + zRet = Xsqlite3_mprintf(tls, ts+27775 /* "%z%s(%.*s) COLLA..." */, 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 + 741 /* "" */ + zType = ts + 756 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -176613,37 +177121,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 + 27601 /* "_rowid_" */ + zCol = ts + 27616 /* "_rowid_" */ } else { - zCol = ts + 27331 /* "rbu_rowid" */ + zCol = ts + 27346 /* "rbu_rowid" */ } - zType = ts + 11780 /* "INTEGER" */ + zType = ts + 11795 /* "INTEGER" */ } 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+27782 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+27797 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) } if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { - return ts + 27518 /* " DESC" */ + return ts + 27533 /* " DESC" */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+27802, /* "%z%s\"rbu_imp_%d%..." */ + zImpPK = Xsqlite3_mprintf(tls, ts+27817, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, ts+27823, /* "%z%s\"rbu_imp_%d%..." */ + zImpCols = Xsqlite3_mprintf(tls, ts+27838, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+27856 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol)) + ts+27871 /* "%z%s\"rbu_imp_%d%..." */, 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 + 13720 /* ", " */ - zAnd = ts + 20320 /* " AND " */ + zCom = ts + 13735 /* ", " */ + zAnd = ts + 20335 /* " AND " */ nBind++ } @@ -176686,16 +177194,16 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zS uintptr = ts + 741 /* "" */ + var zS uintptr = ts + 756 /* "" */ var i int32 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+27880 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, ts+27895 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+27892 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+27907 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } - zS = ts + 13720 /* ", " */ + zS = ts + 13735 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -176704,7 +177212,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+27901 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+27916 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) } } return zList @@ -176724,27 +177232,27 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq 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+27916 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) + zList = rbuMPrintf(tls, p, ts+27931 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) } else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - var zSep uintptr = ts + 741 /* "" */ + var zSep uintptr = ts + 756 /* "" */ 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+27930 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) - zSep = ts + 20320 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+27945 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) + zSep = ts + 20335 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+27942 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) + ts+27957 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { - var zSep uintptr = ts + 741 /* "" */ + var zSep uintptr = ts + 756 /* "" */ 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 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = rbuMPrintf(tls, p, ts+27992 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) - zSep = ts + 20320 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+28007 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) + zSep = ts + 20335 /* " AND " */ } } } @@ -176758,7 +177266,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // of the RBU handle to something reflecting this. func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28005 /* "invalid rbu_cont..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28020 /* "invalid rbu_cont..." */, 0) } // Return a nul-terminated string containing the comma separated list of @@ -176787,21 +177295,21 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr if int32(libc.Xstrlen(tls, zMask)) != (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { rbuBadControlError(tls, p) } else { - var zSep uintptr = ts + 741 /* "" */ + var zSep uintptr = ts + 756 /* "" */ 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+27992, /* "%z%s\"%w\"=?%d" */ + zList = rbuMPrintf(tls, p, ts+28007, /* "%z%s\"%w\"=?%d" */ libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) - zSep = ts + 13720 /* ", " */ + zSep = ts + 13735 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+28031, /* "%z%s\"%w\"=rbu_del..." */ + zList = rbuMPrintf(tls, p, ts+28046, /* "%z%s\"%w\"=rbu_del..." */ 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 + 13720 /* ", " */ + zSep = ts + 13735 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+28061, /* "%z%s\"%w\"=rbu_fos..." */ + zList = rbuMPrintf(tls, p, ts+28076, /* "%z%s\"%w\"=rbu_fos..." */ 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 + 13720 /* ", " */ + zSep = ts + 13735 /* ", " */ } } } @@ -176859,19 +177367,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zSep uintptr = ts + 28098 /* "PRIMARY KEY(" */ + var zSep uintptr = ts + 28113 /* "PRIMARY KEY(" */ *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56 /* &pXList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27250 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+27265 /* "PRAGMA main.inde..." */, 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 /* pXList */)))) { var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 3) - if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+15066 /* "pk" */) == 0) { + if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+15081 /* "pk" */) == 0) { var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 1) if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27278 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+27293 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } @@ -176884,15 +177392,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 2) var zDesc uintptr if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 3) != 0 { - zDesc = ts + 27518 /* " DESC" */ + zDesc = ts + 27533 /* " DESC" */ } else { - zDesc = ts + 741 /* "" */ + zDesc = ts + 756 /* "" */ } - z = rbuMPrintf(tls, p, ts+28111 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = ts + 13720 /* ", " */ + z = rbuMPrintf(tls, p, ts+28126 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) + zSep = ts + 13735 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+28122 /* "%z)" */, libc.VaList(bp+48, z)) + z = rbuMPrintf(tls, p, ts+28137 /* "%z)" */, libc.VaList(bp+48, z)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */))) } return z @@ -176924,7 +177432,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx - var zComma uintptr = ts + 741 /* "" */ + var zComma uintptr = ts + 756 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -176932,7 +177440,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168 /* &pQuery */, (p + 64 /* &.zErrmsg */), - ts+28126 /* "SELECT name FROM..." */) + ts+28141 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 1, tnum) if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) { @@ -176941,7 +177449,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit } if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27278 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) + Xsqlite3_mprintf(tls, ts+27293 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) @@ -176951,25 +177459,25 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 1) var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 3) var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+28176 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, + zCols = rbuMPrintf(tls, p, ts+28191 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+28198 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+28213 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { - return ts + 27518 /* " DESC" */ + return ts + 27533 /* " DESC" */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }())) - zComma = ts + 13720 /* ", " */ + zComma = ts + 13735 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+28208 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) + zCols = rbuMPrintf(tls, p, ts+28223 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5854 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5869 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+28223, /* "CREATE TABLE rbu..." */ + ts+28238, /* "CREATE TABLE rbu..." */ libc.VaList(bp+120, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5854 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5869 /* "main" */, 0, 0)) } } @@ -176997,52 +177505,52 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum - var zComma uintptr = ts + 741 /* "" */ + var zComma uintptr = ts + 756 /* "" */ var zSql uintptr = uintptr(0) var iCol int32 - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5854 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5869 /* "main" */, 0, 1)) for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { - var zPk uintptr = ts + 741 /* "" */ + var zPk uintptr = ts + 756 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5854 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5869 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, 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) { // If the target table column is an "INTEGER PRIMARY KEY", add // "PRIMARY KEY" to the imposter table column declaration. - zPk = ts + 28285 /* "PRIMARY KEY " */ + zPk = ts + 28300 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+28298, /* "%z%s\"%w\" %s %sCO..." */ + zSql = rbuMPrintf(tls, p, ts+28313, /* "%z%s\"%w\" %s %sCO..." */ libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - return ts + 28325 /* " NOT NULL" */ + return ts + 28340 /* " NOT NULL" */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }())) - zComma = ts + 13720 /* ", " */ + zComma = ts + 13735 /* ", " */ } 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+28335 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+28350 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5854 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+28342, /* "CREATE TABLE \"rb..." */ + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5869 /* "main" */, 1, tnum)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+28357, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { - return ts + 28374 /* " WITHOUT ROWID" */ + return ts + 28389 /* " WITHOUT ROWID" */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5854 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5869 /* "main" */, 0, 0)) } } @@ -177065,7 +177573,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 152 /* &.pTmpInsert */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+28389, /* "INSERT INTO %s.'..." */ + ts+28404, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -177102,7 +177610,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+28446 /* "SELECT trim(sql)..." */) + ts+28461 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -177212,7 +177720,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+28512 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) + zLimit = Xsqlite3_mprintf(tls, ts+28527 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) if !(zLimit != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM } @@ -177233,26 +177741,26 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 624 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5854 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5854 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5869 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5869 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+28532, /* "CREATE TABLE \"rb..." */ + ts+28547, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 608 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5854 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5869 /* "main" */, 0, 0)) // Create the statement to insert index entries (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 624 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28597 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+28612 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) } // And to delete index entries 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 /* &.pDelete */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28633 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+28648 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -177269,7 +177777,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+28667, /* "SELECT %s, 0 AS ..." */ + ts+28682, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -177277,32 +177785,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 28728 /* "AND" */ + return ts + 28743 /* "AND" */ } - return ts + 28732 /* "WHERE" */ + return ts + 28747 /* "WHERE" */ }() } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), zStart, zCollist, zLimit)) 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+28738, /* "SELECT %s, rbu_c..." */ + ts+28753, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+216, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, - ts+28799, /* "SELECT %s, rbu_c..." */ + ts+28814, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+264, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { if zPart != 0 { - return ts + 28728 /* "AND" */ + return ts + 28743 /* "AND" */ } - return ts + 28732 /* "WHERE" */ + return ts + 28747 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -177327,8 +177835,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 var zBindings uintptr = rbuObjIterGetBindlist(tls, p, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + bRbuRowid)) var zWhere uintptr = rbuObjIterGetWhere(tls, p, pIter) - var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5863 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5859 /* "new" */) + var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5878 /* "old" */) + var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5874 /* "new" */) zCollist = rbuObjIterGetCollist(tls, p, pIter) (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -177338,21 +177846,21 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuCreateImposterTable2(tls, p, pIter) zWrite = func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB { - return ts + 741 /* "" */ + return ts + 756 /* "" */ } - return ts + 28958 /* "rbu_imp_" */ + return ts + 28973 /* "rbu_imp_" */ }() // Create the INSERT statement to write to the target PK b-tree if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, - ts+28967, /* "INSERT INTO \"%s%..." */ + ts+28982, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 29003 /* ", _rowid_" */ + return ts + 29018 /* ", _rowid_" */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), zBindings))) } @@ -177362,28 +177870,28 @@ 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 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+29013 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+384, zWrite, zTbl, zWhere))) + ts+29028 /* "DELETE FROM \"%s%..." */, 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 + 741 /* "" */ + var zRbuRowid uintptr = ts + 756 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 29041 /* ", rbu_rowid" */ + zRbuRowid = ts + 29056 /* ", rbu_rowid" */ } // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+29053 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+29068 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - return ts + 29129 /* ", 0 AS rbu_rowid" */ + return ts + 29144 /* ", 0 AS rbu_rowid" */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+29146, /* "CREATE TEMP TRIG..." */ + ts+29161, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -177391,7 +177899,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 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+29445, /* "CREATE TEMP TRIG..." */ + ts+29460, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } @@ -177400,14 +177908,14 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the SELECT statement to read keys from data_xxx if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zRbuRowid uintptr = ts + 741 /* "" */ + var zRbuRowid uintptr = ts + 756 /* "" */ var zStart uintptr = uintptr(0) var zOrder uintptr = uintptr(0) if bRbuRowid != 0 { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zRbuRowid = ts + 29544 /* ",_rowid_ " */ + zRbuRowid = ts + 29559 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 29554 /* ",rbu_rowid" */ + zRbuRowid = ts + 29569 /* ",rbu_rowid" */ } } @@ -177420,35 +177928,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+27601 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+27616 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+741 /* "" */, ts+13720 /* ", " */, ts+741 /* "" */) + zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+756 /* "" */, ts+13735 /* ", " */, ts+756 /* "" */) } } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 128 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, - ts+29565, /* "SELECT %s,%s rbu..." */ + ts+29580, /* "SELECT %s,%s rbu..." */ libc.VaList(bp+536, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 29613 /* "0 AS " */ + return ts + 29628 /* "0 AS " */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 18654 /* "ORDER BY" */ + return ts + 18669 /* "ORDER BY" */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), zOrder, zLimit))) } @@ -177523,12 +178031,12 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp (*RbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - var zPrefix uintptr = ts + 741 /* "" */ + var zPrefix uintptr = ts + 756 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 28958 /* "rbu_imp_" */ + zPrefix = ts + 28973 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+29619, /* "UPDATE \"%s%w\" SE..." */ + zUpdate = Xsqlite3_mprintf(tls, ts+29634, /* "UPDATE \"%s%w\" SE..." */ 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 /* &.pUpdate */), (p + 64 /* &.zErrmsg */), zUpdate) @@ -177555,7 +178063,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))) *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) } @@ -177596,7 +178104,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ } *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+29649 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) + Xsqlite3_mprintf(tls, ts+29664 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) for (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) { case RBU_STATE_STAGE: @@ -177668,31 +178176,31 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5854 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5869 /* "main" */, 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+5854 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+29679 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) + var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5869 /* "main" */) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+29694 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) } } // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29706 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.X__builtin___memcpy_chk(tls, p+48 /* &.zStateDb */, ts+2399 /* "stat" */, uint64(4), libc.X__builtin_object_size(tls, p+48 /* &.zStateDb */, 0)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29721 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.X__builtin___memcpy_chk(tls, p+48 /* &.zStateDb */, ts+2414 /* "stat" */, uint64(4), libc.X__builtin_object_size(tls, p+48 /* &.zStateDb */, 0)) } else { - libc.X__builtin___memcpy_chk(tls, p+48 /* &.zStateDb */, ts+5854 /* "main" */, uint64(4), libc.X__builtin_object_size(tls, p+48 /* &.zStateDb */, 0)) + libc.X__builtin___memcpy_chk(tls, p+48 /* &.zStateDb */, ts+5869 /* "main" */, uint64(4), libc.X__builtin_object_size(tls, p+48 /* &.zStateDb */, 0)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29724 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29739 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 var rc int32 (*Sqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5854 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5869 /* "main" */, SQLITE_FCNTL_RBUCNT, p) if rc != SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -177725,11 +178233,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 return } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29790 /* "cannot vacuum wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29805 /* "cannot vacuum wa..." */, 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+22922 /* "file:" */, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5))) { + if (libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5)) && (0 == libc.Xmemcmp(tls, ts+22937 /* "file:" */, (*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)))) == '?' { @@ -177741,16 +178249,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+29822, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5854 /* "main" */), + zTarget = Xsqlite3_mprintf(tls, ts+29837, /* "file:%s-vactmp?r..." */ + libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5869 /* "main" */), func() uintptr { if zExtra == uintptr(0) { - return ts + 741 /* "" */ + return ts + 756 /* "" */ } - return ts + 29854 /* "&" */ + return ts + 29869 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 741 /* "" */ + return ts + 756 /* "" */ } return zExtra }())) @@ -177766,40 +178274,40 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+29856 /* "rbu_tmp_insert" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+29871 /* "rbu_tmp_insert" */, -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+29871 /* "rbu_fossil_delta" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + ts+29886 /* "rbu_fossil_delta" */, 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+29888 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+29903 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuTargetNameFunc})), uintptr(0), uintptr(0)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5854 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5869 /* "main" */, SQLITE_FCNTL_RBU, p) } - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29904 /* "SELECT * FROM sq..." */, 0) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29919 /* "SELECT * FROM sq..." */, 0) // Mark the database file just opened as an RBU target database. If // this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. // This is an error. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5854 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5869 /* "main" */, SQLITE_FCNTL_RBU, p) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29932 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29947 /* "rbu vfs not foun..." */, 0) } } @@ -177868,7 +178376,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+29904 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29919 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -177902,7 +178410,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+29950 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29965 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) if rc2 != SQLITE_INTERNAL { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -178029,16 +178537,16 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ bp := tls.Alloc(16) defer tls.Free(16) - var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5854 /* "main" */) + var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5869 /* "main" */) var zMove uintptr = zBase var zOal uintptr var zWal uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5854 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5869 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+29985 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+29992 /* "%s-wal" */, libc.VaList(bp+8, zMove)) + zOal = Xsqlite3_mprintf(tls, ts+30000 /* "%s-oal" */, libc.VaList(bp, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+30007 /* "%s-wal" */, libc.VaList(bp+8, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -178178,7 +178686,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) { /* sqlite3.c:203389:1 ((*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+22560 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+22575 /* "datatype mismatc..." */, 0) return } @@ -178296,7 +178804,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // var pStmt uintptr at bp+8, 8 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+29999 /* "PRAGMA schema_ve..." */) + ts+30014 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There // is already a transaction open, so the prepared statement cannot @@ -178309,7 +178817,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30021 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30036 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) } } } @@ -178334,7 +178842,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168 /* &pInsert */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+30048, /* "INSERT OR REPLAC..." */ + ts+30063, /* "INSERT OR REPLAC..." */ libc.VaList(bp, p+48, /* &.zStateDb */ RBU_STATE_STAGE, eStage, RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl, @@ -178379,9 +178887,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24 /* &pPragma */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+30206 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) + Xsqlite3_mprintf(tls, ts+30221 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)))) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30221, /* "PRAGMA main.%s =..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30236, /* "PRAGMA main.%s =..." */ libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)), 0))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */))) @@ -178398,11 +178906,11 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * *(*uintptr)(unsafe.Pointer(bp /* pSql */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30241 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30256 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+30266 /* "SELECT sql FROM ..." */) + ts+30281 /* "SELECT sql FROM ..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -178416,12 +178924,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+30374 /* "SELECT * FROM sq..." */) + ts+30389 /* "SELECT * FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8 /* &pInsert */, (p + 64 /* &.zErrmsg */), - ts+30439 /* "INSERT INTO sqli..." */) + ts+30454 /* "INSERT INTO sqli..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -178433,7 +178941,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30483 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30498 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) @@ -178455,8 +178963,8 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // when this handle was opened, create the target database schema. if (((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FnProgress == 0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { rbuCreateTargetSchema(tls, p) - rbuCopyPragma(tls, p, ts+16138 /* "user_version" */) - rbuCopyPragma(tls, p, ts+15244 /* "application_id" */) + rbuCopyPragma(tls, p, ts+16153 /* "user_version" */) + rbuCopyPragma(tls, p, ts+15259 /* "application_id" */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl != 0) { @@ -178467,7 +178975,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // But the contents can be deleted. 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+30508 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + ts+30523 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) } } else { rbuObjIterPrepareAll(tls, p, pIter, 0) @@ -178493,10 +179001,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: rbuSaveState(tls, p, RBU_STAGE_MOVE) rbuIncrSchemaCookie(tls, p) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13624 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13639 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13624 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13639 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_MOVE } @@ -178613,7 +179121,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 if (rc == SQLITE_OK) && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30536 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30551 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -178632,7 +179140,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ bp := tls.Alloc(8) defer tls.Free(8) - var zOal uintptr = rbuMPrintf(tls, p, ts+29985 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) + var zOal uintptr = rbuMPrintf(tls, p, ts+30000 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -178654,7 +179162,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ // var zRnd [64]int8 at bp+12, 64 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+30561 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+30576 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12 /* &zRnd[0] */) @@ -178693,7 +179201,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / rc = prepareFreeAndCollectError(tls, db, bp+8 /* &pStmt */, bp+16, /* &zErrmsg */ Xsqlite3_mprintf(tls, - ts+30572 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) + ts+30587 /* "SELECT count(*) ..." */, 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 /* zErrmsg */)), -1) } else { @@ -178736,7 +179244,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+30644 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+30659 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuIndexCntFunc})), uintptr(0), uintptr(0)) @@ -178744,7 +179252,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ // occurs, nPhaseOneStep will be left set to -1. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+30658 /* "SELECT 1 FROM sq..." */) + ts+30673 /* "SELECT 1 FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { @@ -178756,7 +179264,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (bExists != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+30715 /* "SELECT sum(cnt *..." */) + ts+30730 /* "SELECT sum(cnt *..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) @@ -178802,7 +179310,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) libc.X__builtin___memcpy_chk(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, zRbu, (nRbu + uint64(1)), libc.X__builtin_object_size(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 0)) pCsr += (uintptr(nRbu + uint64(1))) if zState != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+2778 /* "%s" */, libc.VaList(bp, zState)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+2793 /* "%s" */, libc.VaList(bp, zState)) } // If the first attempt to open the database file fails and the bRetry @@ -178839,7 +179347,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+30789 /* "cannot update wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30804 /* "cannot update wa..." */, 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 @@ -178861,12 +179369,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // transaction is committed in rollback mode) currently stored on // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30821, /* "database modifie..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30836, /* "database modifie..." */ libc.VaList(bp+8, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 30853 /* "vacuum" */ + return ts + 30868 /* "vacuum" */ } - return ts + 30860 /* "update" */ + return ts + 30875 /* "update" */ }())) } } @@ -178874,7 +179382,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { var db uintptr = (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13609 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13624 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) // Point the object iterator at the first object if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -178888,24 +179396,24 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_DONE } else { if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuState)(unsafe.Pointer(pState)).FeStage == 0)) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - rbuCopyPragma(tls, p, ts+15863 /* "page_size" */) - rbuCopyPragma(tls, p, ts+15259 /* "auto_vacuum" */) + rbuCopyPragma(tls, p, ts+15878 /* "page_size" */) + rbuCopyPragma(tls, p, ts+15274 /* "auto_vacuum" */) } // Open transactions both databases. The *-oal file is opened or // created at this point. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+30867 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+30882 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Check if the main database is a zipvfs db. If it is, set the upper // level pager to use "journal_mode=off". This prevents it from // generating a large journal using a temp file. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var frc int32 = Xsqlite3_file_control(tls, db, ts+5854 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) + var frc int32 = Xsqlite3_file_control(tls, db, ts+5869 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) if frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, - db, ts+30883 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + db, ts+30898 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } } @@ -178958,7 +179466,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+30907 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { + if (n >= 7) && (0 == libc.Xmemcmp(tls, ts+30922 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { return rbuMisuseError(tls) } } @@ -178988,7 +179496,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:204232:13: */ 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+28958 /* "rbu_imp_" */, uint64(8)) == 0 { + if libc.Xmemcmp(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i)), ts+28973 /* "rbu_imp_" */, 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++ @@ -179007,7 +179515,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Commit the transaction to the *-oal file. if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13624 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13639 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Sync the db file if currently doing an incremental checkpoint @@ -179019,7 +179527,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13624 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13639 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Close any open statement handles. @@ -179031,7 +179539,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // specifying the current target and state databases to start a new // vacuum from scratch. 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+30915 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) + var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+30930 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) && (rc2 != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -179130,7 +179638,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13624 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13639 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -179147,19 +179655,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13624 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13639 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { var zBegin uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zBegin = ts + 13609 /* "BEGIN" */ + zBegin = ts + 13624 /* "BEGIN" */ } else { - zBegin = ts + 30867 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 30882 /* "BEGIN IMMEDIATE" */ } 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+30867 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30882 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -179563,7 +180071,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30942 /* "rbu/zipvfs setup..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30957 /* "rbu/zipvfs setup..." */, 0) } else if rc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p (*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu @@ -179586,7 +180094,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+30965 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + var zOut uintptr = Xsqlite3_mprintf(tls, ts+30980 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = SQLITE_NOMEM @@ -179749,7 +180257,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags // This call is to open a *-wal file. Intead, open the *-oal. var nOpen Size_t if (*Sqlite3rbu)(unsafe.Pointer(((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu))).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+5854 /* "main" */) + zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+5869 /* "main" */) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -179764,7 +180272,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+30976 /* "rbu_memory" */, 0) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+30991 /* "rbu_memory" */, 0) != 0) { oflags = ((((SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -180071,6 +180579,5673 @@ func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlit //************* End of dbpage.c ********************************************* //************* Begin file sqlite3session.c ********************************* +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable1 = struct { + FpNext uintptr + FzName uintptr + FnCol int32 + FbStat1 int32 + FazCol uintptr + FabPK uintptr + FnEntry int32 + FnChange int32 + FapChange uintptr +} /* sqlite3.c:11155:9 */ + +//************************************************************************ + +//************* End of sqlite3rbu.c ***************************************** +//************* Begin file dbstat.c ***************************************** +// 2010 July 12 +// +// The author disclaims copyright to this source code. In place of +// a legal notice, here is a blessing: +// +// May you do good and not evil. +// May you find forgiveness for yourself and forgive others. +// May you share freely, never taking more than you give. +// +// +// +// This file contains an implementation of the "dbstat" virtual table. +// +// The dbstat virtual table is used to extract low-level storage +// information from an SQLite database in order to implement the +// "sqlite3_analyzer" utility. See the ../tool/spaceanal.tcl script +// for an example implementation. +// +// Additional information is available on the "dbstat.html" page of the +// official SQLite documentation. + +// #include "sqliteInt.h" ** Requires access to internal data structures ** + +//************* End of dbstat.c ********************************************* +//************* Begin file dbpage.c ***************************************** +// 2017-10-11 +// +// The author disclaims copyright to this source code. In place of +// a legal notice, here is a blessing: +// +// May you do good and not evil. +// May you find forgiveness for yourself and forgive others. +// May you share freely, never taking more than you give. +// +// +// +// This file contains an implementation of the "sqlite_dbpage" virtual table. +// +// The sqlite_dbpage virtual table is used to read or write whole raw +// pages of the database file. The pager interface is used so that +// uncommitted changes and changes recorded in the WAL file are correctly +// retrieved. +// +// Usage example: +// +// SELECT data FROM sqlite_dbpage('aux1') WHERE pgno=123; +// +// This is an eponymous virtual table so it does not need to be created before +// use. The optional argument to the sqlite_dbpage() table name is the +// schema for the database file that is to be read. The default schema is +// "main". +// +// The data field of sqlite_dbpage table can be updated. The new +// value must be a BLOB which is the correct page size, otherwise the +// update fails. Rows may not be deleted or inserted. + +// #include "sqliteInt.h" ** Requires access to internal data structures ** + +//************* End of dbpage.c ********************************************* +//************* Begin file sqlite3session.c ********************************* + +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ +type SessionChange1 = struct { + Fop U8 + FbIndirect U8 + _ [2]byte + FnMaxSize int32 + FnRecord int32 + _ [4]byte + FaRecord uintptr + FpNext uintptr +} /* sqlite3.c:11155:9 */ + +type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ +type SessionBuffer1 = struct { + FaBuf uintptr + FnBuf int32 + FnAlloc int32 +} /* sqlite3.c:11163:9 */ + +type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ +type SessionInput1 = struct { + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + _ [4]byte + FaData uintptr + FnData int32 + _ [4]byte + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 + _ [4]byte +} /* sqlite3.c:11163:9 */ + +type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ + +// Minimum chunk size used by streaming versions of functions. + +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:206671:12 */ + +type SessionHook1 = struct { + FpCtx uintptr + FxOld uintptr + FxNew uintptr + FxCount uintptr + FxDepth uintptr +} /* sqlite3.c:11155:9 */ + +type SessionHook = SessionHook1 /* sqlite3.c:206673:28 */ + +// Write a varint with value iVal into the buffer at aBuf. Return the +// number of bytes written. +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:206951:12: */ + return int32(func() uint8 { + if (U32(iVal)) < U32(0x80) { + return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) + } + return uint8(Xsqlite3PutVarint(tls, aBuf, uint64(iVal))) + }()) +} + +// Return the number of bytes required to store value iVal as a varint. +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:206958:12: */ + return Xsqlite3VarintLen(tls, uint64(iVal)) +} + +// Read a varint value from aBuf[] into *piVal. Return the number of +// bytes read. +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:206966:12: */ + return int32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { + return uint8(func() int32 { (*(*int32)(unsafe.Pointer(piVal))) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) + } + return Xsqlite3GetVarint32(tls, aBuf, piVal) + }()) +} + +// Load an unaligned and unsigned 32-bit integer + +// Read a 64-bit big-endian integer value from buffer aRec[]. Return +// the value read. +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:206977:22: */ + var x U64 = (U64((((U32(*(*U8)(unsafe.Pointer((aRec)))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec) + 3))))) + var y U32 = ((((U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4))))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 3)))) + x = ((x << 32) + U64(y)) + return Sqlite3_int64(x) +} + +// Write a 64-bit big-endian integer value to the buffer aBuf[]. +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:206987:13: */ + *(*U8)(unsafe.Pointer(aBuf)) = (U8((i >> 56) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 1)) = (U8((i >> 48) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 2)) = (U8((i >> 40) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 3)) = (U8((i >> 32) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 4)) = (U8((i >> 24) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 5)) = (U8((i >> 16) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 6)) = (U8((i >> 8) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 7)) = (U8((i >> 0) & int64(0xFF))) +} + +// This function is used to serialize the contents of value pValue (see +// comment titled "RECORD FORMAT" above). +// +// If it is non-NULL, the serialized form of the value is written to +// buffer aBuf. *pnWrite is set to the number of bytes written before +// returning. Or, if aBuf is NULL, the only thing this function does is +// set *pnWrite. +// +// If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs +// within a call to sqlite3_value_text() (may fail if the db is utf-16)) +// SQLITE_NOMEM is returned. +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:207011:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var nByte int32 // Size of serialized value in bytes + + if pValue != 0 { + var eType int32 // Value type (SQLITE_NULL, TEXT etc.) + + eType = Xsqlite3_value_type(tls, pValue) + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(eType) + } + + switch eType { + case SQLITE_NULL: + nByte = 1 + break + fallthrough + + case SQLITE_INTEGER: + fallthrough + case SQLITE_FLOAT: + if aBuf != 0 { + // TODO: SQLite does something special to deal with mixed-endian + // floating point values (e.g. ARM7). This code probably should + // too. + // var i U64 at bp, 8 + + if eType == SQLITE_INTEGER { + *(*U64)(unsafe.Pointer(bp /* i */)) = U64(Xsqlite3_value_int64(tls, pValue)) + } else { + // var r float64 at bp+8, 8 + + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_value_double(tls, pValue) + libc.X__builtin___memcpy_chk(tls, bp /* &i */, bp+8 /* &r */, uint64(8), libc.X__builtin_object_size(tls, bp /* &i */, 0)) + } + sessionPutI64(tls, (aBuf + 1), int64(*(*U64)(unsafe.Pointer(bp /* i */)))) + } + nByte = 9 + break + fallthrough + + default: + { + var z uintptr + var n int32 + var nVarint int32 + + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, pValue) + } else { + z = Xsqlite3_value_blob(tls, pValue) + } + n = Xsqlite3_value_bytes(tls, pValue) + if (z == uintptr(0)) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + nVarint = sessionVarintLen(tls, n) + + if aBuf != 0 { + sessionVarintPut(tls, (aBuf + 1), n) + if n != 0 { + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nVarint + 1))), z, uint64(n), libc.X__builtin_object_size(tls, (aBuf+uintptr((nVarint+1))), 0)) + } + } + + nByte = ((1 + nVarint) + n) + break + + } + } + } else { + nByte = 1 + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(0) + } + } + + if pnWrite != 0 { + *(*Sqlite3_int64)(unsafe.Pointer(pnWrite)) += (Sqlite3_int64(nByte)) + } + return SQLITE_OK +} + +// Allocate and return a pointer to a buffer nByte bytes in size. If +// pSession is not NULL, increase the sqlite3_session.nMalloc variable +// by the number of bytes allocated. +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:207087:13: */ + var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) += I64((Xsqlite3_msize(tls, pRet))) + } + return pRet +} + +// Free buffer pFree, which must have been allocated by an earlier +// call to sessionMalloc64(). If pSession is not NULL, decrease the +// sqlite3_session.nMalloc counter by the number of bytes freed. +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:207098:13: */ + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) -= I64((Xsqlite3_msize(tls, pFree))) + } + Xsqlite3_free(tls, pFree) +} + +// This macro is used to calculate hash key values for data structures. In +// order to use this macro, the entire data structure must be represented +// as a series of unsigned integers. In order to calculate a hash-key value +// for a data structure represented as three such integers, the macro may +// then be used as follows: +// +// int hash_key_value; +// hash_key_value = HASH_APPEND(0, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// +// In practice, the data structures this macro is used for are the primary +// key values of modified rows. + +// Append the hash of the 64-bit integer passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:207124:21: */ + h = ((((h) << 3) ^ (h)) ^ (uint32(i & int64(0xFFFFFFFF)))) + return ((((h) << 3) ^ (h)) ^ (uint32((i >> 32) & int64(0xFFFFFFFF)))) +} + +// Append the hash of the blob passed via the second and third arguments to +// the hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:207133:21: */ + var i int32 + for i = 0; i < n; i++ { + h = ((((h) << 3) ^ (h)) ^ (uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))))) + } + return h +} + +// Append the hash of the data type passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:207143:21: */ + return ((((h) << 3) ^ (h)) ^ (uint32(eType))) +} + +// This function may only be called from within a pre-update callback. +// It calculates a hash based on the primary key values of the old.* or +// new.* row currently available and, assuming no error occurs, writes it to +// *piHash before returning. If the primary key contains one or more NULL +// values, *pbNullPK is set to true before returning. +// +// If an error occurs, an SQLite error code is returned and the final values +// of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned +// and the output variables are set as described above. +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:207158:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var h uint32 = uint32(0) // Hash value to return + var i int32 // Used to iterate through columns + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0 { + var rc int32 + var eType int32 + // var pVal uintptr at bp, 8 + + if bNew != 0 { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } else { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } + if rc != SQLITE_OK { + return rc + } + + eType = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var iVal I64 at bp+8, 8 + + if eType == SQLITE_INTEGER { + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + *(*float64)(unsafe.Pointer(bp + 16 /* rVal */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + + libc.X__builtin___memcpy_chk(tls, bp+8 /* &iVal */, bp+16 /* &rVal */, uint64(8), libc.X__builtin_object_size(tls, bp+8 /* &iVal */, 0)) + } + h = sessionHashAppendI64(tls, h, *(*I64)(unsafe.Pointer(bp + 8 /* iVal */))) + } else if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + var z uintptr + var n int32 + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + n = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + if !(z != 0) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + h = sessionHashAppendBlob(tls, h, n, z) + } else { + + *(*int32)(unsafe.Pointer(pbNullPK)) = 1 + } + } + } + + *(*int32)(unsafe.Pointer(piHash)) = (int32(h % uint32((*SessionTable)(unsafe.Pointer(pTab)).FnChange))) + return SQLITE_OK +} + +// The buffer that the argument points to contains a serialized SQL value. +// Return the number of bytes of space occupied by the value (including +// the type byte). +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:207223:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var e int32 = int32(*(*U8)(unsafe.Pointer(a))) + // var n int32 at bp, 4 + + if (e == 0) || (e == 0xFF) { + return 1 + } + if e == SQLITE_NULL { + return 1 + } + if (e == SQLITE_INTEGER) || (e == SQLITE_FLOAT) { + return 9 + } + return ((sessionVarintGet(tls, (a+1), bp /* &n */) + 1) + *(*int32)(unsafe.Pointer(bp /* n */))) +} + +// Based on the primary key values stored in change aRecord, calculate a +// hash key. Assume the has table has nBucket buckets. The hash keys +// calculated by this function are compatible with those calculated by +// sessionPreupdateHash(). +// +// The bPkOnly argument is non-zero if the record at aRecord[] is from +// a patchset DELETE. In this case the non-PK fields are omitted entirely. +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:207241:21: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var h uint32 = uint32(0) // Value to return + var i int32 // Used to iterate through columns + var a uintptr = aRecord // Used to iterate through change record + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(a))) + var isPK int32 = int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) + if (bPkOnly != 0) && (isPK == 0) { + continue + } + + // It is not possible for eType to be SQLITE_NULL here. The session + // module does not record changes for rows with NULL values stored in + // primary key columns. + + if isPK != 0 { + a++ + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + h = sessionHashAppendI64(tls, h, sessionGetI64(tls, a)) + a += uintptr(8) + } else { + // var n int32 at bp, 4 + + a += uintptr(sessionVarintGet(tls, a, bp /* &n */)) + h = sessionHashAppendBlob(tls, h, *(*int32)(unsafe.Pointer(bp /* n */)), a) + a += uintptr(*(*int32)(unsafe.Pointer(bp /* n */))) + } + } else { + a += uintptr(sessionSerialLen(tls, a)) + } + } + return (h % uint32(nBucket)) +} + +// Arguments aLeft and aRight are pointers to change records for table pTab. +// This function returns true if the two records apply to the same row (i.e. +// have the same values stored in the primary key columns), or false +// otherwise. +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:207290:12: */ + var a1 uintptr = aLeft // Cursor to iterate through aLeft + var a2 uintptr = aRight // Cursor to iterate through aRight + var iCol int32 // Used to iterate through table columns + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol))) != 0 { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + + if (n1 != n2) || (libc.Xmemcmp(tls, a1, a2, uint64(n1)) != 0) { + return 0 + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } else { + if bLeftPkOnly == 0 { + a1 += uintptr(sessionSerialLen(tls, a1)) + } + if bRightPkOnly == 0 { + a2 += uintptr(sessionSerialLen(tls, a2)) + } + } + } + + return 1 +} + +// Arguments aLeft and aRight both point to buffers containing change +// records with nCol columns. This function "merges" the two records into +// a single records which is written to the buffer at *paOut. *paOut is +// then set to point to one byte after the last byte written before +// returning. +// +// The merging of records is done as follows: For each column, if the +// aRight record contains a value for the column, copy the value from +// their. Otherwise, if aLeft contains a value, copy it. If neither +// record contains a value for a given column, then neither does the +// output record. +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:207333:13: */ + var a1 uintptr = aLeft // Cursor used to iterate through aLeft + var a2 uintptr = aRight // Cursor used to iterate through aRight + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor + var iCol int32 // Used to iterate from 0 to nCol + + for iCol = 0; iCol < nCol; iCol++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + libc.X__builtin___memcpy_chk(tls, aOut, a2, uint64(n2), libc.X__builtin_object_size(tls, aOut, 0)) + aOut += uintptr(n2) + } else { + libc.X__builtin___memcpy_chk(tls, aOut, a1, uint64(n1), libc.X__builtin_object_size(tls, aOut, 0)) + aOut += uintptr(n1) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut +} + +// This is a helper function used by sessionMergeUpdate(). +// +// When this function is called, both *paOne and *paTwo point to a value +// within a change record. Before it returns, both have been advanced so +// as to point to the next value in the record. +// +// If, when this function is called, *paTwo points to a valid value (i.e. +// *paTwo[0] is not 0x00 - the "no value" placeholder), a copy of the *paTwo +// pointer is returned and *pnVal is set to the number of bytes in the +// serialized value. Otherwise, a copy of *paOne is returned and *pnVal +// set to the number of bytes in the value at *paOne. If *paOne points +// to the "no value" placeholder, *pnVal is set to 1. In other words: +// +// if( *paTwo is valid ) return *paTwo; +// return *paOne; +// +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:207379:11: */ + var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) + var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) + var pRet uintptr = uintptr(0) + var n1 int32 + + if a2 != 0 { + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + *(*int32)(unsafe.Pointer(pnVal)) = n2 + pRet = a2 + } + *(*uintptr)(unsafe.Pointer(paTwo)) = (a2 + uintptr(n2)) + } + + n1 = sessionSerialLen(tls, a1) + if pRet == uintptr(0) { + *(*int32)(unsafe.Pointer(pnVal)) = n1 + pRet = a1 + } + *(*uintptr)(unsafe.Pointer(paOne)) = (a1 + uintptr(n1)) + + return pRet +} + +// This function is used by changeset_concat() to merge two UPDATE changes +// on the same row. +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:207413:12: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) + var i int32 + + if bPatchset == 0 { + var bRequired int32 = 0 + + // Write the old.* vector first. + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+16, 4 + + var aOld uintptr + // var nNew int32 at bp+40, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+16 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+40 /* &nNew */) + if ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)) != *(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) || (libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) != 0) { + if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + bRequired = 1 + } + libc.X__builtin___memcpy_chk(tls, aOut, aOld, uint64(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */))), libc.X__builtin_object_size(tls, aOut, 0)) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */))) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } + } + + if !(bRequired != 0) { + return 0 + } + } + + // Write the new.* vector + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+44, 4 + + var aOld uintptr + // var nNew int32 at bp+48, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+44 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+48 /* &nNew */) + if (bPatchset == 0) && + ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || ((*(*int32)(unsafe.Pointer(bp + 44 /* nOld */)) == *(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) && (0 == libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))))))) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } else { + libc.X__builtin___memcpy_chk(tls, aOut, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))), libc.X__builtin_object_size(tls, aOut, 0)) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) + } + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut + return 1 +} + +// This function is only called from within a pre-update-hook callback. +// It determines if the current pre-update-hook change affects the same row +// as the change stored in argument pChange. If so, it returns true. Otherwise +// if the pre-update-hook does not affect the same row as pChange, it returns +// false. +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:207490:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var iCol int32 // Used to iterate through columns + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord // Cursor used to scan change record + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol)))) != 0) { + a += uintptr(sessionSerialLen(tls, a)) + } else { + // var pVal uintptr at bp, 8 + // Value returned by preupdate_new/old + var rc int32 + _ = rc // Error code from preupdate_new/old + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) // Type of value from change record + + // The following calls to preupdate_new() and preupdate_old() can not + // fail. This is because they cache their return values, and by the + // time control flows to here they have already been called once from + // within sessionPreupdateHash(). The first two asserts below verify + // this (that the method has already been called). + if op == SQLITE_INSERT { + // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } else { + // assert( db->pPreUpdate->pUnpacked ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } + + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { + return 0 + } + + // A SessionChange object never has a NULL value in a PK column + + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, a) + a += uintptr(8) + if eType == SQLITE_INTEGER { + if Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) { + return 0 + } + } else { + // var rVal float64 at bp+8, 8 + + libc.X__builtin___memcpy_chk(tls, bp+8 /* &rVal */, bp+16 /* &iVal */, uint64(8), libc.X__builtin_object_size(tls, bp+8 /* &rVal */, 0)) + if Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*float64)(unsafe.Pointer(bp + 8 /* rVal */)) { + return 0 + } + } + } else { + // var n int32 at bp+24, 4 + + var z uintptr + a += uintptr(sessionVarintGet(tls, a, bp+24 /* &n */)) + if Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*int32)(unsafe.Pointer(bp + 24 /* n */)) { + return 0 + } + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + if (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) > 0) && (libc.Xmemcmp(tls, a, z, uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))) != 0) { + return 0 + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* n */))) + } + } + } + + return 1 +} + +// If required, grow the hash table used to store changes on table pTab +// (part of the session pSession). If a fatal OOM error occurs, set the +// session object to failed and return SQLITE_ERROR. Otherwise, return +// SQLITE_OK. +// +// It is possible that a non-fatal OOM error occurs in this function. In +// that case the hash-table does not grow, but SQLITE_OK is returned anyway. +// Growing the hash table in this case is a performance optimization only, +// it is not required for correct operation. +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:207569:12: */ + if ((*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= ((*SessionTable)(unsafe.Pointer(pTab)).FnChange / 2)) { + var i int32 + var apNew uintptr + var nNew Sqlite3_int64 = (int64(2) * (func() int64 { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange != 0 { + return int64((*SessionTable)(unsafe.Pointer(pTab)).FnChange) + } + return int64(128) + }())) + + apNew = sessionMalloc64(tls, + pSession, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew)))) + if apNew == uintptr(0) { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 { + return SQLITE_ERROR + } + return SQLITE_OK + } + libc.X__builtin___memset_chk(tls, apNew, 0, (uint64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew))), libc.X__builtin_object_size(tls, apNew, 0)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNext uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNext { + var bPkOnly int32 = (libc.Bool32((int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_DELETE) && (bPatchset != 0))) + var iHash int32 = int32(sessionChangeHash(tls, pTab, bPkOnly, (*SessionChange)(unsafe.Pointer(p)).FaRecord, int32(nNew))) + pNext = (*SessionChange)(unsafe.Pointer(p)).FpNext + (*SessionChange)(unsafe.Pointer(p)).FpNext = *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) = p + } + } + + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + (*SessionTable)(unsafe.Pointer(pTab)).FnChange = int32(nNew) + (*SessionTable)(unsafe.Pointer(pTab)).FapChange = apNew + } + + return SQLITE_OK +} + +// This function queries the database for the names of the columns of table +// zThis, in schema zDb. +// +// Otherwise, if they are not NULL, variable *pnCol is set to the number +// of columns in the database table and variable *pzTab is set to point to a +// nul-terminated copy of the table name. *pazCol (if not NULL) is set to +// point to an array of pointers to column names. And *pabPK (again, if not +// NULL) is set to point to an array of booleans - true if the corresponding +// column is part of the primary key. +// +// For example, if the table is declared as: +// +// CREATE TABLE tbl1(w, x, y, z, PRIMARY KEY(w, z)); +// +// Then the four output variables are populated as follows: +// +// *pnCol = 4 +// *pzTab = "tbl1" +// *pazCol = {"w", "x", "y", "z"} +// *pabPK = {1, 0, 0, 1} +// +// All returned buffers are part of the same single allocation, which must +// be freed using sqlite3_free() by the caller +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var zPragma uintptr + // var pStmt uintptr at bp+16, 8 + + var rc int32 + var nByte Sqlite3_int64 + var nDbCol int32 = 0 + var nThis int32 + var i int32 + var pAlloc uintptr = uintptr(0) + var azCol uintptr = uintptr(0) + var abPK uintptr = uintptr(0) + + nThis = Xsqlite3Strlen30(tls, zThis) + if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+10483 /* "sqlite_stat1" */, zThis)) { + 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 { + // For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. + zPragma = Xsqlite3_mprintf(tls, + + ts+31002 /* "SELECT 0, 'tbl',..." */, 0) + } else if rc == SQLITE_ERROR { + zPragma = Xsqlite3_mprintf(tls, ts+756 /* "" */, 0) + } else { + return rc + } + } else { + zPragma = Xsqlite3_mprintf(tls, ts+31123 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + } + if !(zPragma != 0) { + return SQLITE_NOMEM + } + + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+16 /* &pStmt */, uintptr(0)) + Xsqlite3_free(tls, zPragma) + if rc != SQLITE_OK { + return rc + } + + nByte = (Sqlite3_int64(nThis + 1)) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) + nDbCol++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + if rc == SQLITE_OK { + nByte = Sqlite3_int64(uint64(nByte) + (uint64(uint64(nDbCol) * ((uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(U8(0)))) + uint64(1))))) + pAlloc = sessionMalloc64(tls, pSession, nByte) + if pAlloc == uintptr(0) { + rc = SQLITE_NOMEM + } + } + if rc == SQLITE_OK { + azCol = pAlloc + pAlloc = (azCol + uintptr(nDbCol)*8) + abPK = pAlloc + pAlloc = (abPK + uintptr(nDbCol)) + if pzTab != 0 { + libc.X__builtin___memcpy_chk(tls, pAlloc, zThis, (uint64(nThis + 1)), libc.X__builtin_object_size(tls, pAlloc, 0)) + *(*uintptr)(unsafe.Pointer(pzTab)) = pAlloc + pAlloc += (uintptr(nThis + 1)) + } + + i = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + if zName == uintptr(0) { + break + } + libc.X__builtin___memcpy_chk(tls, pAlloc, zName, (uint64(nName + 1)), libc.X__builtin_object_size(tls, pAlloc, 0)) + *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc + pAlloc += (uintptr(nName + 1)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 5)) + i++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + } + + // If successful, populate the output variables. Otherwise, zero them and + // free any allocation made. An error code will be returned in this case. + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pazCol)) = azCol + *(*uintptr)(unsafe.Pointer(pabPK)) = abPK + *(*int32)(unsafe.Pointer(pnCol)) = nDbCol + } else { + *(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pabPK)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnCol)) = 0 + if pzTab != 0 { + *(*uintptr)(unsafe.Pointer(pzTab)) = uintptr(0) + } + sessionFree(tls, pSession, azCol) + } + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + return rc +} + +// This function is only called from within a pre-update handler for a +// write to table pTab, part of session pSession. If this is the first +// write to this table, initalize the SessionTable.nCol, azCol[] and +// abPK[] arrays accordingly. +// +// If an error occurs, an error code is stored in sqlite3_session.rc and +// non-zero returned. Or, if no error occurs but the table has no primary +// key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to +// indicate that updates on this table should be ignored. SessionTable.abPK +// is set to NULL in this case. +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:207752:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + if (*SessionTable)(unsafe.Pointer(pTab)).FnCol == 0 { + // var abPK uintptr at bp, 8 + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionTableInfo(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, + (*SessionTable)(unsafe.Pointer(pTab)).FzName, (pTab + 16 /* &.nCol */), uintptr(0), (pTab + 24 /* &.azCol */), bp /* &abPK */) + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc == SQLITE_OK { + var i int32 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* abPK */)) + uintptr(i))) != 0 { + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = *(*uintptr)(unsafe.Pointer(bp /* abPK */)) + break + } + } + if 0 == Xsqlite3_stricmp(tls, ts+10483 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += I64((uint64(((Size_t((1 + sessionVarintLen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + uint64(1)))) + } + } + } + return (libc.Bool32(((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FabPK == uintptr(0)))) +} + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx1 = struct { + Fhook SessionHook + FpSession uintptr +} /* sqlite3.c:207787:9 */ + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:207787:32 */ + +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207792:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207802:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 24 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 32 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = int64(2) + if int32((*SessionChange)(unsafe.Pointer(pC)).Fop) == SQLITE_INSERT { + if op != SQLITE_DELETE { + var ii int32 + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) + } + } + } else if op == SQLITE_DELETE { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + if Xsqlite3_preupdate_blobwrite(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb) >= 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + } + } else { + var ii int32 + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(pC)).FaRecord + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + var bChanged int32 = 1 + var nOld int32 = 0 + var eType int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) + if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { + return SQLITE_NOMEM + } + + eType = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pCsr, 1)))) + switch eType { + case SQLITE_NULL: + bChanged = (libc.Bool32(Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) != SQLITE_NULL)) + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + if eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) = sessionGetI64(tls, pCsr) + if eType == SQLITE_INTEGER { + bChanged = (libc.Bool32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) != Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } else { + // var dVal float64 at bp+24, 8 + + libc.X__builtin___memcpy_chk(tls, bp+24 /* &dVal */, bp+32 /* &iVal */, uint64(8), libc.X__builtin_object_size(tls, bp+24 /* &dVal */, 0)) + bChanged = (libc.Bool32(*(*float64)(unsafe.Pointer(bp + 24 /* dVal */)) != Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } + } + nOld = 8 + pCsr += uintptr(8) + break + + } + fallthrough + + default: + { + // var nByte int32 at bp+40, 4 + + nOld = sessionVarintGet(tls, pCsr, bp+40 /* &nByte */) + pCsr += uintptr(nOld) + nOld = nOld + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + + if ((eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)))) && + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) && + ((*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == 0) || (0 == libc.Xmemcmp(tls, pCsr, Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))), uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)))))) { + bChanged = 0 + } + pCsr += uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + break + + } + } + + if (bChanged != 0) && (*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0) { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = (I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord + 2)) + break + } + + if bChanged != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(1 + nOld)) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)), bp+8 /* &nNew */) + } else if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(2 + nOld)) + } else { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += int64(2) + } + } + } + + if *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) > I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize) { + var nIncr int32 = (int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) - I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize))) + (*SessionChange)(unsafe.Pointer(pC)).FnMaxSize = int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */))) + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += (I64(nIncr)) + } + return SQLITE_OK +} + +// This function is only called from with a pre-update-hook reporting a +// change on table pTab (attached to session pSession). The type of change +// (UPDATE, INSERT, DELETE) is specified by the first argument. +// +// Unless one is already present or an error occurs, an entry is added +// to the changed-rows hash table associated with table pTab. +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:207927:13: */ + bp := tls.Alloc(80) + defer tls.Free(80) + + // var iHash int32 at bp+48, 4 + + // var bNull int32 at bp+52, 4 + + var rc int32 + // var stat1 SessionStat1Ctx at bp, 48 + + var p uintptr + // var p1 uintptr at bp+56, 8 + + // var p2 uintptr at bp+72, 8 + + // Create a new change object containing all the old values (if + // this is an SQLITE_UPDATE or SQLITE_DELETE), or just the PK + // values (if this is an INSERT). + // var nByte Sqlite3_int64 at bp+64, 8 + // Number of bytes to allocate + var i int32 + // Search the hash table for an existing record for this row. + var pC uintptr + *(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) = 0 + rc = SQLITE_OK + *(*SessionStat1Ctx)(unsafe.Pointer(bp /* stat1 */)) = SessionStat1Ctx{} + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) { + goto __1 + } + return +__1: + ; + + // Load table details if required + if !(sessionInitTable(tls, pSession, pTab) != 0) { + goto __2 + } + return +__2: + ; + + // Check the number of columns in this xPreUpdate call matches the + // number of columns in the table. + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 24 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + goto __3 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA + return +__3: + ; + + // Grow the hash table if required + if !(sessionGrowHash(tls, pSession, 0, pTab) != 0) { + goto __4 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_NOMEM + return +__4: + ; + + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __5 + } + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).FpSession = pSession + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = bp /* &stat1 */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1New})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1Old})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Count})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Depth})) + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob == uintptr(0)) { + goto __6 + } + p = Xsqlite3ValueNew(tls, uintptr(0)) + if !(p == uintptr(0)) { + goto __7 + } + rc = SQLITE_NOMEM + goto error_out +__7: + ; + Xsqlite3ValueSetStr(tls, p, 0, ts+756 /* "" */, uint8(0), uintptr(0)) + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p +__6: + ; +__5: + ; + + // Calculate the hash-key for this change. If the primary key of the row + // includes a NULL value, exit early. Such changes are ignored by the + // session module. + rc = sessionPreupdateHash(tls, pSession, pTab, (libc.Bool32(op == SQLITE_INSERT)), bp+48 /* &iHash */, bp+52 /* &bNull */) + if !(rc != SQLITE_OK) { + goto __8 + } + goto error_out +__8: + ; + + if !(*(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) == 0) { + goto __9 + } + pC = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) +__10: + if !(pC != 0) { + goto __12 + } + if !(sessionPreupdateEqual(tls, pSession, pTab, pC, op) != 0) { + goto __13 + } + goto __12 +__13: + ; + goto __11 +__11: + pC = (*SessionChange)(unsafe.Pointer(pC)).FpNext + goto __10 + goto __12 +__12: + ; + + if !(pC == uintptr(0)) { + goto __14 + } // Used to iterate through columns + + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + + // Figure out how large an allocation is required + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = Sqlite3_int64(unsafe.Sizeof(SessionChange{})) + i = 0 +__16: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __18 + } + *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __19 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + + goto __20 +__19: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __21 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + +__21: + ; +__20: + ; + + // This may fail if SQLite value p contains a utf-16 string that must + // be converted to utf-8 and an OOM error occurs while doing so. + rc = sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)), bp+64 /* &nByte */) + if !(rc != SQLITE_OK) { + goto __22 + } + goto error_out +__22: + ; + goto __17 +__17: + i++ + goto __16 + goto __18 +__18: + ; + + // Allocate the change object + pC = sessionMalloc64(tls, pSession, *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + if !(!(pC != 0)) { + goto __23 + } + rc = SQLITE_NOMEM + goto error_out + goto __24 +__23: + libc.X__builtin___memset_chk(tls, pC, 0, uint64(unsafe.Sizeof(SessionChange{})), libc.X__builtin_object_size(tls, pC, 0)) + (*SessionChange)(unsafe.Pointer(pC)).FaRecord = (pC + 1*32) +__24: + ; + + // Populate the change object. None of the preupdate_old(), + // preupdate_new() or SerializeValue() calls below may fail as all + // required values and encodings have already been cached in memory. + // It is not possible for an OOM to occur in this block. + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = int64(0) + i = 0 +__25: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __27 + } + *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __28 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) + goto __29 +__28: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __30 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) +__30: + ; +__29: + ; + sessionSerializeValue(tls, ((*SessionChange)(unsafe.Pointer(pC)).FaRecord + uintptr(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)))), *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)), bp+64 /* &nByte */) + goto __26 +__26: + i++ + goto __25 + goto __27 +__27: + ; + + // Add the change to the hash-table + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + goto __31 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) +__31: + ; + (*SessionChange)(unsafe.Pointer(pC)).FnRecord = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + (*SessionChange)(unsafe.Pointer(pC)).Fop = U8(op) + (*SessionChange)(unsafe.Pointer(pC)).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) = pC + + goto __15 +__14: + if !((*SessionChange)(unsafe.Pointer(pC)).FbIndirect != 0) { + goto __32 + } + // If the existing change is considered "indirect", but this current + // change is "direct", mark the change object as direct. + if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { + goto __33 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(0) +__33: + ; +__32: + ; +__15: + ; + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0) { + goto __34 + } + rc = sessionUpdateMaxSize(tls, op, pSession, pTab, pC) +__34: + ; +__9: + ; + + // If an error has occurred, mark the session object as failed. +error_out: + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __35 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook = (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook +__35: + ; + if !(rc != SQLITE_OK) { + goto __36 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = rc +__36: +} + +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:208076:12: */ + var rc int32 = SQLITE_OK + var nName int32 = Xsqlite3Strlen30(tls, zName) + var pRet uintptr + + // Search for an existing table + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pRet != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pRet)).FzName, zName, (nName+1)) { + break + } + } + + if (pRet == uintptr(0)) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach != 0) { + // If there is a table-filter configured, invoke it. If it returns 0, + // do not automatically add the new table. + if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || + ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 48 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + rc = Xsqlite3session_attach(tls, pSession, zName) + if rc == SQLITE_OK { + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + } + + } + } + } + + *(*uintptr)(unsafe.Pointer(ppTab)) = pRet + return rc +} + +// The 'pre-update' hook registered by this module with SQLite databases. +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:208112:13: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var pSession uintptr + var nDb int32 = Xsqlite3Strlen30(tls, zDb) + + for pSession = pCtx; pSession != 0; pSession = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpNext { + // var pTab uintptr at bp, 8 + + // If this session is attached to a different database ("main", "temp" + // etc.), or if it is not currently enabled, there is nothing to do. Skip + // to the next session object attached to this database. + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable == 0 { + continue + } + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + continue + } + if Xsqlite3_strnicmp(tls, zDb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (nDb+1)) != 0 { + continue + } + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionFindTable(tls, pSession, zName, bp /* &pTab */) + if *(*uintptr)(unsafe.Pointer(bp /* pTab */)) != 0 { + + sessionPreupdateOneChange(tls, op, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + if op == SQLITE_UPDATE { + sessionPreupdateOneChange(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + } + } + } +} + +// The pre-update hook implementations. +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208150:12: */ + return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208153:12: */ + return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208156:12: */ + return Xsqlite3_preupdate_count(tls, pCtx) +} + +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208159:12: */ + return Xsqlite3_preupdate_depth(tls, pCtx) +} + +// Install the pre-update hooks on the session object passed as the only +// argument. +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208167:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateDepth})) +} + +type SessionDiffCtx1 = struct { + FpStmt uintptr + FnOldOff int32 + _ [4]byte +} /* sqlite3.c:208177:9 */ + +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ + +// The diff hook implementations. +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208186:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, (iVal + (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff)) + return SQLITE_OK +} + +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208191:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) + return SQLITE_OK +} + +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208196:12: */ + var p uintptr = pCtx + if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { + return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff + } + return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) +} + +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208200:12: */ + return 0 +} + +// Install the diff hooks on the session object passed as the only +// argument. +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:208208:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffDepth})) +} + +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 756 /* "" */ + var zRet uintptr = uintptr(0) + + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + zRet = Xsqlite3_mprintf(tls, ts+31152, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 20335 /* " AND " */ + if zRet == uintptr(0) { + break + } + } + } + + return zRet +} + +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 756 /* "" */ + var zRet uintptr = uintptr(0) + var bHave int32 = 0 + + for i = 0; i < nCol; i++ { + if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { + bHave = 1 + zRet = Xsqlite3_mprintf(tls, + ts+31186, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 31227 /* " OR " */ + if zRet == uintptr(0) { + break + } + } + } + + if bHave == 0 { + + zRet = Xsqlite3_mprintf(tls, ts+6917 /* "0" */, 0) + } + + return zRet +} + +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var zRet uintptr = Xsqlite3_mprintf(tls, + + ts+31232, /* "SELECT * FROM \"%..." */ + libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) + return zRet +} + +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:208289:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 = SQLITE_OK + var zStmt uintptr = sessionSelectFindNew(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, zDb1, zDb2, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr) + + if zStmt == uintptr(0) { + rc = SQLITE_NOMEM + } else { + // var pStmt uintptr at bp, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp /* &pStmt */, uintptr(0)) + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { + sessionPreupdateOneChange(tls, op, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + + return rc +} + +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var rc int32 = SQLITE_OK + + var zExpr2 uintptr = sessionExprCompareOther(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, + (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (*SessionTable)(unsafe.Pointer(pTab)).FazCol, (*SessionTable)(unsafe.Pointer(pTab)).FabPK) + if zExpr2 == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var zStmt uintptr = Xsqlite3_mprintf(tls, + ts+31310, /* "SELECT * FROM \"%..." */ + 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 + } else { + // var pStmt uintptr at bp+48, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+48 /* &pStmt */, uintptr(0)) + + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) { + sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + } + + return rc +} + +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:208360:16: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var zDb uintptr + var rc int32 + // var d SessionDiffCtx at bp, 16 + + var i int32 + var bHasPk int32 + var bMismatch int32 + // var nCol int32 at bp+24, 4 + // Columns in zFrom.zTbl + // var abPK uintptr at bp+40, 8 + + // var azCol uintptr at bp+32, 8 + + var zExpr uintptr + var db uintptr + // var pTo uintptr at bp+16, 8 + zDb = (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + + libc.X__builtin___memset_chk(tls, bp /* &d */, 0, uint64(unsafe.Sizeof(SessionDiffCtx{})), libc.X__builtin_object_size(tls, bp /* &d */, 0)) + sessionDiffHooks(tls, pSession, bp /* &d */) + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if !(pzErrMsg != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) +__1: + ; + if !(rc == SQLITE_OK) { + goto __2 + } + zExpr = uintptr(0) + db = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Table zTbl + + // Locate and if necessary initialize the target table object + rc = sessionFindTable(tls, pSession, zTbl, bp+16 /* &pTo */) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)) == uintptr(0)) { + goto __3 + } + goto diff_out +__3: + ; + if !(sessionInitTable(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */))) != 0) { + goto __4 + } + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + goto diff_out +__4: + ; + + // Check the table schemas match + if !(rc == SQLITE_OK) { + goto __5 + } + bHasPk = 0 + bMismatch = 0 + *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) = uintptr(0) + rc = sessionTableInfo(tls, uintptr(0), db, zFrom, zTbl, bp+24 /* &nCol */, uintptr(0), bp+32 /* &azCol */, bp+40 /* &abPK */) + if !(rc == SQLITE_OK) { + goto __6 + } + if !((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __7 + } + bMismatch = 1 + goto __8 +__7: + i = 0 +__9: + if !(i < *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __11 + } + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))))) { + goto __12 + } + bMismatch = 1 +__12: + ; + if !(Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol + uintptr(i)*8))) != 0) { + goto __13 + } + bMismatch = 1 +__13: + ; + if !(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))) != 0) { + goto __14 + } + bHasPk = 1 +__14: + ; + goto __10 +__10: + i++ + goto __9 + goto __11 +__11: + ; +__8: + ; +__6: + ; + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */))) + if !(bMismatch != 0) { + goto __15 + } + if !(pzErrMsg != 0) { + goto __16 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+31363 /* "table schemas do..." */, 0) +__16: + ; + rc = SQLITE_SCHEMA +__15: + ; + if !(bHasPk == 0) { + goto __17 + } + // Ignore tables with no primary keys + goto diff_out +__17: + ; +__5: + ; + + if !(rc == SQLITE_OK) { + goto __18 + } + zExpr = sessionExprComparePK(tls, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol, + zDb, zFrom, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FzName, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK) +__18: + ; + + // Find new rows + if !(rc == SQLITE_OK) { + goto __19 + } + rc = sessionDiffFindNew(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zDb, zFrom, zExpr) +__19: + ; + + // Find old rows + if !(rc == SQLITE_OK) { + goto __20 + } + rc = sessionDiffFindNew(tls, SQLITE_DELETE, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zDb, zExpr) +__20: + ; + + // Find modified rows + if !(rc == SQLITE_OK) { + goto __21 + } + rc = sessionDiffFindModified(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zExpr) +__21: + ; + + Xsqlite3_free(tls, zExpr) +__2: + ; + +diff_out: + sessionPreupdateHooks(tls, pSession) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Create a session object. This session object will record changes to +// database zDb attached to connection db. +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:208455:16: */ + var pNew uintptr // Newly allocated session object + var pOld uintptr // Session object already attached to db + var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes + + // Zero the output value in case an error occurs. + *(*uintptr)(unsafe.Pointer(ppSession)) = uintptr(0) + + // Allocate and populate the new session object. + pNew = Xsqlite3_malloc64(tls, (uint64((uint64(unsafe.Sizeof(Sqlite3_session{})) + uint64(nDb)) + uint64(1)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.X__builtin___memset_chk(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_session{})), libc.X__builtin_object_size(tls, pNew, 0)) + (*Sqlite3_session)(unsafe.Pointer(pNew)).Fdb = db + (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb = (pNew + 1*136) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FbEnable = 1 + libc.X__builtin___memcpy_chk(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, zDb, (uint64(nDb + 1)), libc.X__builtin_object_size(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, 0)) + sessionPreupdateHooks(tls, pNew) + + // Add the new session object to the linked list of session objects + // attached to database handle $db. Do this under the cover of the db + // handle mutex. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + pOld = Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), pNew) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FpNext = pOld + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + + *(*uintptr)(unsafe.Pointer(ppSession)) = pNew + return SQLITE_OK +} + +// Free the list of table objects passed as the first argument. The contents +// of the changed-rows hash tables are also deleted. +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:208493:13: */ + var pNext uintptr + var pTab uintptr + + for pTab = pList; pTab != 0; pTab = pNext { + var i int32 + pNext = (*SessionTable)(unsafe.Pointer(pTab)).FpNext + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNextChange uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNextChange { + pNextChange = (*SessionChange)(unsafe.Pointer(p)).FpNext + sessionFree(tls, pSession, p) + } + } + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FazCol) // cast works around VC++ bug + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + sessionFree(tls, pSession, pTab) + } +} + +// Delete a session object previously allocated using sqlite3session_create(). +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208517:17: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + // var pHead uintptr at bp, 8 + + var pp uintptr + + // Unlink the session from the linked list of sessions attached to the + // database handle. Hold the db mutex while doing so. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + *(*uintptr)(unsafe.Pointer(bp /* pHead */)) = Xsqlite3_preupdate_hook(tls, db, uintptr(0), uintptr(0)) + for pp = bp; /* &pHead */ (*(*uintptr)(unsafe.Pointer(pp))) != uintptr(0); pp = (*(*uintptr)(unsafe.Pointer(pp)) + 80 /* &.pNext */) { + if (*(*uintptr)(unsafe.Pointer(pp))) == pSession { + *(*uintptr)(unsafe.Pointer(pp)) = (*Sqlite3_session)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + if *(*uintptr)(unsafe.Pointer(bp /* pHead */)) != 0 { + Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), *(*uintptr)(unsafe.Pointer(bp /* pHead */))) + } + break + } + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + Xsqlite3ValueFree(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob) + + // Delete all attached table objects. And the contents of their + // associated hash-tables. + sessionDeleteTable(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable) + + // Assert that all allocations have been freed and then free the + // session object itself. + + Xsqlite3_free(tls, pSession) +} + +// Set a table filter on a Session Object. +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:208549:17: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter +} + +// Attach a table to a session. All subsequent changes made to the table +// while the session object is enabled will be recorded. +// +// Only tables that have a PRIMARY KEY defined may be attached. It does +// not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) +// or not. +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:208567:16: */ + var rc int32 = SQLITE_OK + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + if !(zName != 0) { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + } else { + var pTab uintptr // New table object (if required) + var nName int32 // Number of bytes in string zName + + // First search for an existing entry. If one is found, this call is + // a no-op. Return early. + nName = Xsqlite3Strlen30(tls, zName) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (nName+1)) { + break + } + } + + if !(pTab != 0) { + // Allocate new SessionTable object. + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionTable{})) + uint64(nName)) + uint64(1))) + pTab = sessionMalloc64(tls, pSession, int64(nByte)) + if !(pTab != 0) { + rc = SQLITE_NOMEM + } else { + // Populate the new SessionTable object and link it into the list. + // The new object must be linked onto the end of the list, not + // simply added to the start of it in order to ensure that tables + // appear in the correct order when a changeset or patchset is + // eventually generated. + var ppTab uintptr + libc.X__builtin___memset_chk(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{})), libc.X__builtin_object_size(tls, pTab, 0)) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = (pTab + 1*56) + libc.X__builtin___memcpy_chk(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (uint64(nName + 1)), libc.X__builtin_object_size(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, 0)) + for ppTab = (pSession + 88 /* &.pTable */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } + } + } + + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Ensure that there is room in the buffer to append nByte bytes of data. +// If not, use sqlite3_realloc() to grow the buffer so that there is. +// +// If successful, return zero. Otherwise, if an OOM condition is encountered, +// set *pRc to SQLITE_NOMEM and return non-zero. +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:208620:12: */ + var nReq I64 = (I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte) + if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc)) { + var aNew uintptr + var nNew I64 + if (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc != 0 { + nNew = int64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) + } else { + nNew = int64(128) + } + + for ok := true; ok; ok = (nNew < nReq) { + nNew = (nNew * int64(2)) + } + + // The value of SESSION_MAX_BUFFER_SZ is copied from the implementation + // of sqlite3_realloc64(). Allocations greater than this size in bytes + // always fail. It is used here to ensure that this routine can always + // allocate up to this limit - instead of up to the largest power of + // two smaller than the limit. + if nNew > (int64(0x7FFFFF00 - 1)) { + nNew = (int64(0x7FFFFF00 - 1)) + if nNew < nReq { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + return 1 + } + } + + aNew = Xsqlite3_realloc64(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf, uint64(nNew)) + if uintptr(0) == aNew { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } else { + (*SessionBuffer)(unsafe.Pointer(p)).FaBuf = aNew + (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc = int32(nNew) + } + } + return (libc.Bool32(*(*int32)(unsafe.Pointer(pRc)) != SQLITE_OK)) +} + +// Append the value passed as the second argument to the buffer passed +// as the first. +// +// This function is a no-op if *pRc is non-zero when it is called. +// Otherwise, if an error occurs, *pRc is set to an SQLite error code +// before returning. +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:208663:13: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, uintptr(0), pVal, bp /* &nByte */) + sessionBufferGrow(tls, p, *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)), bp+8 /* &rc */) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), pVal, uintptr(0)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += int32((*(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)))) + } else { + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) + } + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single byte to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:208685:13: */ + if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { + *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single varint to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:208698:13: */ + if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (sessionVarintPut(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), v)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a blob of data to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:208711:13: */ + if (nBlob > 0) && (0 == sessionBufferGrow(tls, p, int64(nBlob), pRc)) { + libc.X__builtin___memcpy_chk(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), aBlob, uint64(nBlob), libc.X__builtin_object_size(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), 0)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nBlob) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a string to the buffer. All bytes in the string +// up to (but not including) the nul-terminator are written to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208731:13: */ + var nStr int32 = Xsqlite3Strlen30(tls, zStr) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + libc.X__builtin___memcpy_chk(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), zStr, uint64(nStr), libc.X__builtin_object_size(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), 0)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nStr) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string representation of integer iVal +// to the buffer. No nul-terminator is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aBuf [24]int8 at bp+8, 24 + + Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+8 /* &aBuf[0] */, ts+4500 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string zStr enclosed in quotes (") and +// with any embedded quote characters escaped to the buffer. No +// nul-terminator byte is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208770:13: */ + var nStr int32 = (((Xsqlite3Strlen30(tls, zStr) * 2) + 2) + 1) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + var zOut uintptr = ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)) + var zIn uintptr = zStr + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + for *(*int8)(unsafe.Pointer(zIn)) != 0 { + if int32(*(*int8)(unsafe.Pointer(zIn))) == '"' { + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + (*SessionBuffer)(unsafe.Pointer(p)).FnBuf = (int32((int64(zOut) - int64((*SessionBuffer)(unsafe.Pointer(p)).FaBuf)) / 1)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwse, it appends the serialized version of the value stored +// in column iCol of the row that SQL statement pStmt currently points +// to to the buffer. +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:208795:13: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var eType int32 = Xsqlite3_column_type(tls, pStmt, iCol) + sessionAppendByte(tls, p, U8(eType), pRc) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var i Sqlite3_int64 at bp, 8 + + // var aBuf [8]U8 at bp+16, 8 + + if eType == SQLITE_INTEGER { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */)) = Xsqlite3_column_int64(tls, pStmt, iCol) + } else { + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_column_double(tls, pStmt, iCol) + libc.X__builtin___memcpy_chk(tls, bp /* &i */, bp+8 /* &r */, uint64(8), libc.X__builtin_object_size(tls, bp /* &i */, 0)) + } + sessionPutI64(tls, bp+16 /* &aBuf[0] */, *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */))) + sessionAppendBlob(tls, p, bp+16 /* &aBuf[0] */, 8, pRc) + } + if (eType == SQLITE_BLOB) || (eType == SQLITE_TEXT) { + var z uintptr + var nByte int32 + if eType == SQLITE_BLOB { + z = Xsqlite3_column_blob(tls, pStmt, iCol) + } else { + z = Xsqlite3_column_text(tls, pStmt, iCol) + } + nByte = Xsqlite3_column_bytes(tls, pStmt, iCol) + if (z != 0) || ((eType == SQLITE_BLOB) && (nByte == 0)) { + sessionAppendVarint(tls, p, nByte, pRc) + sessionAppendBlob(tls, p, z, nByte, pRc) + } else { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } + } + } +} + +// +// This function appends an update change to the buffer (see the comments +// under "CHANGESET FORMAT" at the top of the file). An update change +// consists of: +// +// 1 byte: SQLITE_UPDATE (0x17) +// n bytes: old.* record (see RECORD FORMAT) +// m bytes: new.* record (see RECORD FORMAT) +// +// The SessionChange object passed as the third argument contains the +// values that were stored in the row when the session began (the old.* +// values). The statement handle passed as the second argument points +// at the current version of the row (the new.* values). +// +// If all of the old.* values are equal to their corresponding new.* value +// (i.e. nothing has changed), then no data at all is appended to the buffer. +// +// Otherwise, the old.* record contains all primary key values and the +// original values of any fields that have been modified. The new.* record +// contains the new values of only those fields that have been modified. +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:208857:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp + 32 /* buf2 */)) = SessionBuffer{} // Buffer to accumulate new.* record in + var bNoop int32 = 1 // Set to zero if any values are modified + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf // Set to zero if any values are modified + var i int32 // Used to iterate through columns + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord // Used to iterate through old.* values + + sessionAppendByte(tls, pBuf, uint8(SQLITE_UPDATE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + for i = 0; i < Xsqlite3_column_count(tls, pStmt); i++ { + var bChanged int32 = 0 + var nAdvance int32 + var eType int32 = int32(*(*U8)(unsafe.Pointer(pCsr))) + switch eType { + case SQLITE_NULL: + nAdvance = 1 + if Xsqlite3_column_type(tls, pStmt, i) != SQLITE_NULL { + bChanged = 1 + } + break + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + nAdvance = 9 + if eType == Xsqlite3_column_type(tls, pStmt, i) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, (pCsr + 1)) + if eType == SQLITE_INTEGER { + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) == Xsqlite3_column_int64(tls, pStmt, i) { + break + } + } else { + // var dVal float64 at bp+8, 8 + + libc.X__builtin___memcpy_chk(tls, bp+8 /* &dVal */, bp+16 /* &iVal */, uint64(8), libc.X__builtin_object_size(tls, bp+8 /* &dVal */, 0)) + if *(*float64)(unsafe.Pointer(bp + 8 /* dVal */)) == Xsqlite3_column_double(tls, pStmt, i) { + break + } + } + } + bChanged = 1 + break + + } + + default: + { + // var n int32 at bp+24, 4 + + var nHdr int32 = (1 + sessionVarintGet(tls, (pCsr+1), bp+24 /* &n */)) + + nAdvance = (nHdr + *(*int32)(unsafe.Pointer(bp + 24 /* n */))) + if ((eType == Xsqlite3_column_type(tls, pStmt, i)) && + (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == Xsqlite3_column_bytes(tls, pStmt, i))) && + ((*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == 0) || (0 == libc.Xmemcmp(tls, (pCsr+uintptr(nHdr)), Xsqlite3_column_blob(tls, pStmt, i), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))))) { + break + } + bChanged = 1 + + } + } + + // If at least one field has been modified, this is not a no-op. + if bChanged != 0 { + bNoop = 0 + } + + // Add a field to the old.* record. This is omitted if this modules is + // currently generating a patchset. + if bPatchset == 0 { + if (bChanged != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + sessionAppendBlob(tls, pBuf, pCsr, nAdvance, bp /* &rc */) + } else { + sessionAppendByte(tls, pBuf, uint8(0), bp /* &rc */) + } + } + + // Add a field to the new.* record. Or the only record if currently + // generating a patchset. + if (bChanged != 0) || ((bPatchset != 0) && (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0)) { + sessionAppendCol(tls, bp+32 /* &buf2 */, pStmt, i, bp /* &rc */) + } else { + sessionAppendByte(tls, bp+32 /* &buf2 */, uint8(0), bp /* &rc */) + } + + pCsr += uintptr(nAdvance) + } + + if bNoop != 0 { + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = nRewind + } else { + sessionAppendBlob(tls, pBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FnBuf, bp /* &rc */) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Append a DELETE change to the buffer passed as the first argument. Use +// the changeset format if argument bPatchset is zero, or the patchset +// format otherwise. +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:208956:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + + sessionAppendByte(tls, pBuf, uint8(SQLITE_DELETE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + + if bPatchset == 0 { + sessionAppendBlob(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp /* &rc */) + } else { + var i int32 + var a uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord + for i = 0; i < nCol; i++ { + var pStart uintptr = a + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + a += uintptr(8) + break + fallthrough + + default: + { + // var n int32 at bp+4, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+4 /* &n */)) + a += uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* n */))) + break + + } + } + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendBlob(tls, pBuf, pStart, (int32((int64(a) - int64(pStart)) / 1)), bp /* &rc */) + } + } + + } + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Formulate and prepare a SELECT statement to retrieve a row from table +// zTab in database zDb based on its primary key. i.e. +// +// SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + var zSql uintptr = uintptr(0) + var nSql int32 = -1 + + if 0 == Xsqlite3_stricmp(tls, ts+10483 /* "sqlite_stat1" */, zTab) { + zSql = Xsqlite3_mprintf(tls, + + ts+31390 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + if zSql == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_NOMEM + } + } else { + var i int32 + var zSep uintptr = ts + 756 /* "" */ + *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp+8 /* &buf */, ts+31500 /* "SELECT * FROM " */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zDb, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+769 /* "." */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zTab, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+31515 /* " WHERE " */, bp+24 /* &rc */) + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendStr(tls, bp+8 /* &buf */, zSep, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+31523 /* " IS ?" */, bp+24 /* &rc */) + sessionAppendInteger(tls, bp+8 /* &buf */, (i + 1), bp+24 /* &rc */) + zSep = ts + 20335 /* " AND " */ + } + } + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FnBuf + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + } + Xsqlite3_free(tls, zSql) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Bind the PRIMARY KEY values from the change passed in argument pChange +// to the SELECT statement passed as the first argument. The SELECT statement +// is as prepared by function sessionSelectStmt(). +// +// Return SQLITE_OK if all PK values are successfully bound, or an SQLite +// error code (e.g. SQLITE_NOMEM) otherwise. +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:209068:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 + var rc int32 = SQLITE_OK + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord + + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + + case SQLITE_INTEGER: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + var iVal I64 = sessionGetI64(tls, a) + rc = Xsqlite3_bind_int64(tls, pSelect, (i + 1), iVal) + } + a += uintptr(8) + break + + } + + case SQLITE_FLOAT: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + // var rVal float64 at bp, 8 + + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = sessionGetI64(tls, a) + libc.X__builtin___memcpy_chk(tls, bp /* &rVal */, bp+8 /* &iVal */, uint64(8), libc.X__builtin_object_size(tls, bp /* &rVal */, 0)) + rc = Xsqlite3_bind_double(tls, pSelect, (i + 1), *(*float64)(unsafe.Pointer(bp /* rVal */))) + } + a += uintptr(8) + break + + } + + case SQLITE_TEXT: + { + // var n int32 at bp+16, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+16 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_text(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 16 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* n */))) + break + + } + + default: + { + // var n int32 at bp+20, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_blob(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 20 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + break + + } + } + } + + return rc +} + +// This function is a no-op if *pRc is set to other than SQLITE_OK when it +// is called. Otherwise, append a serialized table header (part of the binary +// changeset format) to buffer *pBuf. If an error occurs, set *pRc to an +// SQLite error code before returning. +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:209139:13: */ + // Write a table header + sessionAppendByte(tls, pBuf, func() uint8 { + if bPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), pRc) + sessionAppendVarint(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (int32(libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + 1), pRc) +} + +// Generate either a changeset (if argument bPatchset is zero) or a patchset +// (if it is non-zero) based on the current contents of the session object +// passed as the first argument. +// +// If no error occurs, SQLITE_OK is returned and the new changeset/patchset +// stored in output variables *pnChangeset and *ppChangeset. Or, if an error +// occurs, an SQLite error code is returned and both output variables set +// to 0. +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209162:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Source database handle + var pTab uintptr // Used to iterate through attached tables + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* buf */)) = SessionBuffer{} // Buffer in which to accumlate changeset + // var rc int32 at bp+40, 4 + // Return code + + // Zero the output variables in case an error occurs. If this session + // object is already in the error state (sqlite3_session.rc != SQLITE_OK), + // this call will be a no-op. + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = 0 + *(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0) + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+31529 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) + } + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry != 0 { + var zName uintptr = (*SessionTable)(unsafe.Pointer(pTab)).FzName + // var nCol int32 at bp, 4 + // Number of columns in table + // var abPK uintptr at bp+16, 8 + // Primary key array + *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)) = uintptr(0) // Table columns + var i int32 // Used to iterate through hash buckets + *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)) = uintptr(0) // SELECT statement to query table pTab + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf // Initial size of write buffer + var nNoop int32 // Size of buffer after writing tbl header + + // Check the table schema is still Ok. + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionTableInfo(tls, uintptr(0), db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, bp /* &nCol */, uintptr(0), bp+8 /* &azCol */, bp+16 /* &abPK */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) && (((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp /* nCol */))) || (libc.Xmemcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), (*SessionTable)(unsafe.Pointer(pTab)).FabPK, uint64(*(*int32)(unsafe.Pointer(bp /* nCol */)))) != 0)) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_SCHEMA + } + + // Write a table header + sessionAppendTableHdr(tls, bp+24 /* &buf */, bPatchset, pTab, bp+40 /* &rc */) + + // Build and compile a statement to execute: + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectStmt(tls, + db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), bp+48 /* &pSel */) + } + + nNoop = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + for i = 0; (i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange) && (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK); i++ { + var p uintptr // Used to iterate through changes + + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (p != 0); p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectBind(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), p) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + continue + } + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) == SQLITE_ROW { + if int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_INSERT { + var iCol int32 + sessionAppendByte(tls, bp+24 /* &buf */, uint8(SQLITE_INSERT), bp+40 /* &rc */) + sessionAppendByte(tls, bp+24 /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+40 /* &rc */) + for iCol = 0; iCol < *(*int32)(unsafe.Pointer(bp /* nCol */)); iCol++ { + sessionAppendCol(tls, bp+24 /* &buf */, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), iCol, bp+40 /* &rc */) + } + } else { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendUpdate(tls, bp+24 /* &buf */, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), p, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + } else if int32((*SessionChange)(unsafe.Pointer(p)).Fop) != SQLITE_INSERT { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendDelete(tls, bp+24 /* &buf */, bPatchset, p, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + } + + // If the buffer is now larger than sessions_strm_chunk_size, pass + // its contents to the xOutput() callback. + if (((xOutput != 0) && + (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > nNoop)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + nNoop = -1 + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = 0 + } + + } + } + + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf == nNoop { + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = nRewind + } + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */))) // cast works around VC++ bug + } + } + + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf = uintptr(0) + } else if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + } + } + + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf) + Xsqlite3_exec(tls, db, ts+31549 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Obtain a changeset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209288:16: */ + var rc int32 = sessionGenerateChangeset(tls, pSession, 0, uintptr(0), uintptr(0), pnChangeset, ppChangeset) + + return rc +} + +// Streaming version of sqlite3session_changeset(). +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209303:16: */ + return sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Streaming version of sqlite3session_patchset(). +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209314:16: */ + return sessionGenerateChangeset(tls, pSession, 1, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Obtain a patchset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:209329:16: */ + return sessionGenerateChangeset(tls, pSession, 1, uintptr(0), uintptr(0), pnPatchset, ppPatchset) +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:209340:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bEnable >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable = bEnable + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:209354:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bIndirect >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect = bIndirect + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Return true if there have been no changes to monitored tables recorded +// by the session object passed as the only argument. +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:209369:16: */ + var ret int32 = 0 + var pTab uintptr + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (pTab != 0) && (ret == 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + ret = (libc.Bool32((*SessionTable)(unsafe.Pointer(pTab)).FnEntry > 0)) + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + return (libc.Bool32(ret == 0)) +} + +// Return the amount of heap memory in use. +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209385:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc +} + +// Configure the session object passed as the first argument. +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:209392:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_OBJCONFIG_SIZE: + { + var iArg int32 = *(*int32)(unsafe.Pointer(pArg)) + if iArg >= 0 { + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable != 0 { + rc = SQLITE_MISUSE + } else { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize = (libc.Bool32(iArg != 0)) + } + } + *(*int32)(unsafe.Pointer(pArg)) = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize + break + + } + + default: + rc = SQLITE_MISUSE + } + + return rc +} + +// Return the maximum size of sqlite3session_changeset() output. +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209418:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize +} + +// Do the work for either sqlite3changeset_start() or start_strm(). +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:209425:12: */ + var pRet uintptr // Iterator to return + var nByte int32 // Number of bytes to allocate for iterator + + // Zero the output variable in case an error occurs. + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + + // Allocate and initialize the iterator structure. + nByte = int32(unsafe.Sizeof(Sqlite3_changeset_iter{})) + pRet = Xsqlite3_malloc(tls, nByte) + if !(pRet != 0) { + return SQLITE_NOMEM + } + libc.X__builtin___memset_chk(tls, pRet, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{})), libc.X__builtin_object_size(tls, pRet, 0)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FbEof = func() int32 { + if xInput != 0 { + return 0 + } + return 1 + }() + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbInvert = bInvert + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbSkipEmpty = bSkipEmpty + + // Populate the output variable and return success. + *(*uintptr)(unsafe.Pointer(pp)) = pRet + return SQLITE_OK +} + +// Create an iterator used to iterate through the contents of a changeset. +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:209463:16: */ + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) +} + +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:209470:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) +} + +// Streaming version of sqlite3changeset_start(). +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:209483:16: */ + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) +} + +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:209490:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) +} + +// If the SessionInput object passed as the only argument is a streaming +// object and the buffer is full, discard some data to free up space. +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:209504:13: */ + if ((*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0) && ((*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size) { + var nMove int32 = ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext) + + if nMove > 0 { + libc.X__builtin___memmove_chk(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), uint64(nMove), libc.X__builtin_object_size(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, 0)) + } + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) -= ((*SessionInput)(unsafe.Pointer(pIn)).FiNext) + (*SessionInput)(unsafe.Pointer(pIn)).FiNext = 0 + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } +} + +// Ensure that there are at least nByte bytes available in the buffer. Or, +// if there are not nByte bytes remaining in the input, that all available +// data is in the buffer. +// +// Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:209524:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 { + for (!((*SessionInput)(unsafe.Pointer(pIn)).FbEof != 0) && (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte) >= (*SessionInput)(unsafe.Pointer(pIn)).FnData)) && (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) { + *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) = sessions_strm_chunk_size + + if (*SessionInput)(unsafe.Pointer(pIn)).FbNoDiscard == 0 { + sessionDiscardData(tls, pIn) + } + if SQLITE_OK == sessionBufferGrow(tls, (pIn+32 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 48 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { + (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 + } else { + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) += (*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))) + } + } + + (*SessionInput)(unsafe.Pointer(pIn)).FaData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// When this function is called, *ppRec points to the start of a record +// that contains nCol values. This function advances the pointer *ppRec +// until it points to the byte immediately following that record. +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:209552:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var aRec uintptr = *(*uintptr)(unsafe.Pointer(ppRec)) + var i int32 + for i = 0; i < nCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aRec, 1)))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + aRec += uintptr(sessionVarintGet(tls, aRec, bp /* &nByte */)) + aRec += uintptr(*(*int32)(unsafe.Pointer(bp /* nByte */))) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + aRec += uintptr(8) + } + } + + *(*uintptr)(unsafe.Pointer(ppRec)) = aRec +} + +// This function sets the value of the sqlite3_value object passed as the +// first argument to a copy of the string or blob held in the aData[] +// buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM +// error occurs. +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:209578:12: */ + // In theory this code could just pass SQLITE_TRANSIENT as the final + // argument to sqlite3ValueSetStr() and have the copy created + // automatically. But doing so makes it difficult to detect any OOM + // error. Hence the code to create the copy externally. + var aCopy uintptr = Xsqlite3_malloc64(tls, (uint64(Sqlite3_int64(nData) + int64(1)))) + if aCopy == uintptr(0) { + return SQLITE_NOMEM + } + libc.X__builtin___memcpy_chk(tls, aCopy, aData, uint64(nData), libc.X__builtin_object_size(tls, aCopy, 0)) + Xsqlite3ValueSetStr(tls, pVal, nData, aCopy, enc, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + return SQLITE_OK +} + +// Deserialize a single record from a buffer in memory. See "RECORD FORMAT" +// for details. +// +// When this function is called, *paChange points to the start of the record +// to deserialize. Assuming no error occurs, *paChange is set to point to +// one byte after the end of the same record before this function returns. +// If the argument abPK is NULL, then the record contains nCol values. Or, +// if abPK is other than NULL, then the record contains only the PK fields +// (in other words, it is a patchset DELETE record). +// +// If successful, each element of the apOut[] array (allocated by the caller) +// is set to point to an sqlite3_value object containing the value read +// from the corresponding position in the record. If that value is not +// included in the record (i.e. because the record is part of an UPDATE change +// and the field was not modified), the corresponding element of apOut[] is +// set to NULL. +// +// It is the responsibility of the caller to free all sqlite_value structures +// using sqlite3_free(). +// +// If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +// The apOut[] array may have been partially populated in this case. +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209619:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 // Used to iterate through columns + var rc int32 = SQLITE_OK + + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 1 + } + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = 0 // Type of value (SQLITE_NULL, TEXT etc.) + if (abPK != 0) && (int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0) { + continue + } + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { + rc = Xsqlite3CorruptError(tls, 209637) + } else { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) + + if eType != 0 { + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 0 + } + *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)) = Xsqlite3ValueNew(tls, uintptr(0)) + if !(int32(*(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8))) != 0) { + rc = SQLITE_NOMEM + } + } + } + } + + if rc == SQLITE_OK { + var aVal uintptr = ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (sessionVarintGet(tls, aVal, bp /* &nByte */)) + rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) + if rc == SQLITE_OK { + if (*(*int32)(unsafe.Pointer(bp /* nByte */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nByte */)) > ((*SessionInput)(unsafe.Pointer(pIn)).FnData - (*SessionInput)(unsafe.Pointer(pIn)).FiNext)) { + rc = Xsqlite3CorruptError(tls, 209657) + } else { + var enc U8 = func() uint8 { + if eType == SQLITE_TEXT { + return uint8(SQLITE_UTF8) + } + return uint8(0) + }() + rc = sessionValueSetStr(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), *(*int32)(unsafe.Pointer(bp /* nByte */)), enc) + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nByte */))) + } + } + } + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */)) = sessionGetI64(tls, aVal) + if eType == SQLITE_INTEGER { + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */))) + } else { + // var d float64 at bp+8, 8 + + libc.X__builtin___memcpy_chk(tls, bp+8 /* &d */, bp+16 /* &v */, uint64(8), libc.X__builtin_object_size(tls, bp+8 /* &d */, 0)) + Xsqlite3VdbeMemSetDouble(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*float64)(unsafe.Pointer(bp + 8 /* d */))) + } + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (8) + } + } + } + + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function ensures that all of the above is present in the input +// buffer (i.e. that it can be accessed without any calls to xInput()). +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. +// The input pointer is not moved. +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:209695:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + *(*int32)(unsafe.Pointer(bp /* nCol */)) = 0 + var nRead int32 = 0 + + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + nRead = nRead + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead))), bp /* &nCol */)) + // The hard upper limit for the number of columns in an SQLite + // database table is, according to sqliteLimit.h, 32676. So + // consider any table-header that purports to have more than 65536 + // columns to be corrupt. This is convenient because otherwise, + // if the (nCol>65536) condition below were omitted, a sufficiently + // large value for nCol may cause nRead to wrap around and become + // negative. Leading to a crash. + if (*(*int32)(unsafe.Pointer(bp /* nCol */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nCol */)) > 65536) { + rc = Xsqlite3CorruptError(tls, 209711) + } else { + rc = sessionInputBuffer(tls, pIn, ((nRead + *(*int32)(unsafe.Pointer(bp /* nCol */))) + 100)) + nRead = nRead + (*(*int32)(unsafe.Pointer(bp /* nCol */))) + } + } + + for rc == SQLITE_OK { + for (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData) && (*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead)))) != 0) { + nRead++ + } + if ((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData { + break + } + rc = sessionInputBuffer(tls, pIn, (nRead + 100)) + } + *(*int32)(unsafe.Pointer(pnByte)) = (nRead + 1) + return rc +} + +// The input pointer currently points to the first byte of the first field +// of a record consisting of nCol columns. This function ensures the entire +// record is buffered. It does not move the input pointer. +// +// If successful, SQLITE_OK is returned and *pnByte is set to the size of +// the record in bytes. Otherwise, an SQLite error code is returned. The +// final value of *pnByte is undefined in this case. +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:209738:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var nByte int32 = 0 + var i int32 + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + var eType int32 + rc = sessionInputBuffer(tls, pIn, (nByte + 10)) + if rc == SQLITE_OK { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + libc.PostIncInt32(&nByte, 1)))))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var n int32 at bp, 4 + + nByte = nByte + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte))), bp /* &n */)) + nByte = nByte + (*(*int32)(unsafe.Pointer(bp /* n */))) + rc = sessionInputBuffer(tls, pIn, nByte) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + nByte = nByte + (8) + } + } + } + *(*int32)(unsafe.Pointer(pnByte)) = nByte + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function decodes the table-header and populates the p->nCol, +// p->zTab and p->abPK[] variables accordingly. The p->apValue[] array is +// also allocated or resized according to the new value of p->nCol. The +// input pointer is left pointing to the byte following the table header. +// +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code +// is returned and the final values of the various fields enumerated above +// are undefined. +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209782:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var rc int32 at bp+4, 4 + + // var nCopy int32 at bp, 4 + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetBufferTblhdr(tls, (p /* &.in */), bp /* &nCopy */) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte int32 + var nVarint int32 + nVarint = sessionVarintGet(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), (p + 120 /* &.nCol */)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol > 0 { + *(*int32)(unsafe.Pointer(bp /* nCopy */)) -= nVarint + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (nVarint) + nByte = (int32(((uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol) * uint64(unsafe.Sizeof(uintptr(0)))) * uint64(2)) + uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */))))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 + sessionBufferGrow(tls, (p + 72 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + } else { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 209799) + } + } + + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var iPK Size_t = ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2)) + libc.X__builtin___memset_chk(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0, iPK, libc.X__builtin_object_size(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0)) + libc.X__builtin___memcpy_chk(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + uintptr(iPK)), ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */))), libc.X__builtin_object_size(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf+uintptr(iPK)), 0)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nCopy */))) + } + + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue == uintptr(0) { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = uintptr(0) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = uintptr(0) + } else { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol*2))*8) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) + } + return uintptr(0) + }() + } + return libc.AssignPtrInt32(p+100 /* &.rc */, *(*int32)(unsafe.Pointer(bp + 4 /* rc */))) +} + +// Advance the changeset iterator to the next change. The differences between +// this function and sessionChangesetNext() are that +// +// * If pbEmpty is not NULL and the change is a no-op UPDATE (an UPDATE +// that modifies no columns), this function sets (*pbEmpty) to 1. +// +// * If the iterator is configured to skip no-op UPDATEs, +// sessionChangesetNext() does that. This function does not. +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209831:12: */ + var i int32 + var op U8 + + // If the iterator is in the error-state, return immediately. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // Free the current contents of p->apValue[], if any. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + libc.X__builtin___memset_chk(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2)), libc.X__builtin_object_size(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0)) + } + + // Make sure the buffer contains at least 10 bytes of input data, or all + // remaining data if there are less than 10 bytes available. This is + // sufficient either for the 'T' or 'P' byte and the varint that follows + // it, or for the two single byte values otherwise. + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionInputBuffer(tls, (p /* &.in */), 2) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // If the iterator is already at the end of the changeset, return DONE. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + + sessionDiscardData(tls, (p /* &.in */)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + + op = *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))) + for (int32(op) == 'T') || (int32(op) == 'P') { + if pbNew != 0 { + *(*int32)(unsafe.Pointer(pbNew)) = 1 + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset = (libc.Bool32(int32(op) == 'P')) + if sessionChangesetReadTblhdr(tls, p) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + if libc.AssignPtrInt32(p+100 /* &.rc */, sessionInputBuffer(tls, (p /* &.in */), 2)) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + op = *(*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)).FzTab == uintptr(0)) || (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) { + // The first record in the changeset is not a table header. Must be a + // corrupt changeset. + + return libc.AssignPtrInt32(p+100 /* &.rc */, Xsqlite3CorruptError(tls, 209885)) + } + + (*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 /* &.rc */, Xsqlite3CorruptError(tls, 209891)) + } + + if paRec != 0 { + var nVal int32 // Number of values to buffer + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) && (int32(op) == SQLITE_UPDATE) { + nVal = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2) + } else if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && (int32(op) == SQLITE_DELETE) { + nVal = 0 + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { + nVal++ + } + } + } else { + nVal = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionChangesetBufferRecord(tls, (p /* &.in */), nVal, pnRec) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + *(*uintptr)(unsafe.Pointer(paRec)) = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(pnRec))) + } else { + var apOld uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + } + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + }() + var apNew uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + } + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + }() + + // If this is an UPDATE or DELETE, read the old.* record. + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT) && (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE)) { + var abPK uintptr + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 { + abPK = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + } else { + abPK = uintptr(0) + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, abPK, apOld, uintptr(0)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + // If this is an INSERT or UPDATE, read the new.* record. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, uintptr(0), apNew, pbEmpty) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + if (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_UPDATE) { + // If this is an UPDATE that is part of a patchset, then all PK and + // modified fields are present in the new.* record. The old.* record + // is currently completely empty. This block shifts the PK fields from + // new.* to old.*, to accommodate the code that reads these arrays. + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + + 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 /* &.rc */, Xsqlite3CorruptError(tls, 209935)) + } + *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol))*8)) = uintptr(0) + } + } + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_INSERT { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_DELETE + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_INSERT + } + } + } + + return SQLITE_ROW +} + +// Advance the changeset iterator to the next change. +// +// If both paRec and pnRec are NULL, then this function works like the public +// API sqlite3changeset_next(). If SQLITE_ROW is returned, then the +// sqlite3changeset_new() and old() APIs may be used to query for values. +// +// Otherwise, if paRec and pnRec are not NULL, then a pointer to the change +// record is written to *paRec before returning and the number of bytes in +// the record to *pnRec. +// +// Either way, this function returns SQLITE_ROW if the iterator is +// successfully advanced to the next change in the changeset, an SQLite +// error code if an error occurs, or SQLITE_DONE if there are no further +// changes in the changeset. +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:209964:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var bEmpty int32 at bp, 4 + + var rc int32 + for ok := true; ok; ok = (((rc == SQLITE_ROW) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbSkipEmpty != 0)) && (*(*int32)(unsafe.Pointer(bp /* bEmpty */)) != 0)) { + *(*int32)(unsafe.Pointer(bp /* bEmpty */)) = 0 + rc = sessionChangesetNextOne(tls, p, paRec, pnRec, pbNew, bp /* &bEmpty */) + } + return rc +} + +// Advance an iterator created by sqlite3changeset_start() to the next +// change in the changeset. This function may return SQLITE_ROW, SQLITE_DONE +// or SQLITE_CORRUPT. +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209987:16: */ + return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) +} + +// The following function extracts information on the current change +// from a changeset iterator. It may only be called after changeset_next() +// has returned SQLITE_ROW. +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:209996:16: */ + *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + if pbIndirect != 0 { + *(*int32)(unsafe.Pointer(pbIndirect)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect + } + return SQLITE_OK +} + +// Return information regarding the PRIMARY KEY and number of columns in +// the database table affected by the change that pIter currently points +// to. This function may only be called after changeset_next() returns +// SQLITE_ROW. +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:210016:16: */ + *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + if pnCol != 0 { + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + } + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_DELETE change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the old.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified and is not a PK column), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210039:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(iVal)*8)) + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_INSERT change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the new.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210067:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+iVal))*8)) + return SQLITE_OK +} + +// The following two macros are used internally. They are similar to the +// sqlite3changeset_new() and sqlite3changeset_old() functions, except that +// they omit all error checking and return a pointer to the requested value. + +// This function may only be called with a changeset iterator that has been +// passed to an SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT +// conflict-handler function. Otherwise, SQLITE_MISUSE is returned. +// +// If successful, *ppValue is set to point to an sqlite3_value structure +// containing the iVal'th value of the conflicting record. +// +// If value iVal is out-of-range or some other error occurs, an SQLite error +// code is returned. Otherwise, SQLITE_OK. +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210101:16: */ + if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = Xsqlite3_column_value(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict, iVal) + return SQLITE_OK +} + +// This function may only be called with an iterator passed to an +// SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +// it sets the output variable to the total number of known foreign key +// violations in the destination database and returns SQLITE_OK. +// +// In all other cases this function returns SQLITE_MISUSE. +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:210124:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0) { + return SQLITE_MISUSE + } + *(*int32)(unsafe.Pointer(pnOut)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + return SQLITE_OK +} + +// Finalize an iterator allocated with sqlite3changeset_start(). +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:210142:16: */ + var rc int32 = SQLITE_OK + if p != 0 { + var i int32 // Used to iterate through p->apValue[] + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + } + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf) + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.Fbuf.FaBuf) + Xsqlite3_free(tls, p) + } + return rc +} + +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210157:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + // var rc int32 at bp+40, 4 + // Return value + // var sOut SessionBuffer at bp, 16 + // Output buffer + // var nCol int32 at bp+20, 4 + // Number of cols in current table + var abPK uintptr // PK array for current table + var apVal uintptr // Space for values for UPDATE inversion + // var sPK SessionBuffer at bp+24, 16 + + // A 'table' record consists of: + // + // * A constant 'T' character, + // * Number of columns in said table (a varint), + // * An array of nCol bytes (sPK), + // * A nul-terminated table name. + // var nByte int32 at bp+16, 4 + + var nVar int32 + // var nByte1 int32 at bp+44, 4 + + var bIndirect int32 + var eType2 int32 + var pVal uintptr + var pVal1 uintptr + var iCol int32 + var eType U8 + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) = 0 + abPK = uintptr(0) + apVal = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* sPK */)) = SessionBuffer{} // PK array for current table + + // Initialize the output buffer + libc.X__builtin___memset_chk(tls, bp /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{})), libc.X__builtin_object_size(tls, bp /* &sOut */, 0)) + + // Zero the output variables in case an error occurs. + if !(ppInverted != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(ppInverted)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnInverted)) = 0 +__1: + ; + +__2: + if !(1 != 0) { + goto __3 + } + + // Test for EOF. + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionInputBuffer(tls, pInput, 2)) != 0) { + goto __4 + } + goto finished_invert +__4: + ; + if !((*SessionInput)(unsafe.Pointer(pInput)).FiNext >= (*SessionInput)(unsafe.Pointer(pInput)).FnData) { + goto __5 + } + goto __3 +__5: + ; + eType = *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext))) + + switch int32(eType) { + case 'T': + goto __7 + + case SQLITE_INSERT: + goto __8 + case SQLITE_DELETE: + goto __9 + + case SQLITE_UPDATE: + goto __10 + + default: + goto __11 + } + goto __6 +__7: + (*SessionInput)(unsafe.Pointer(pInput)).FiNext++ + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionChangesetBufferTblhdr(tls, pInput, bp+16 /* &nByte */)) != 0) { + goto __12 + } + goto finished_invert +__12: + ; + nVar = sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), bp+20 /* &nCol */) + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FnBuf = 0 + sessionAppendBlob(tls, bp+24 /* &sPK */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + nVar))), *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 16 /* nByte */)), bp+40 /* &rc */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __13 + } + goto finished_invert +__13: + ; + + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 16 /* nByte */))) + Xsqlite3_free(tls, apVal) + apVal = uintptr(0) + abPK = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FaBuf + goto __6 + +__8: +__9: + bIndirect = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1))))) + eType2 = func() int32 { + if int32(eType) == SQLITE_DELETE { + return SQLITE_INSERT + } + return SQLITE_DELETE + }() + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionChangesetBufferRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+44 /* &nByte1 */) + sessionAppendByte(tls, bp /* &sOut */, uint8(eType2), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, uint8(bIndirect), bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */)), bp+40 /* &rc */) + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __14 + } + goto finished_invert +__14: + ; + goto __6 + +__10: + + if !(uintptr(0) == apVal) { + goto __15 + } + apVal = Xsqlite3_malloc64(tls, (uint64((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2)))) + if !(uintptr(0) == apVal) { + goto __16 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_NOMEM + goto finished_invert +__16: + ; + libc.X__builtin___memset_chk(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2)), libc.X__builtin_object_size(tls, apVal, 0)) +__15: + ; + + // Write the header for the new UPDATE change. Same as the original. + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1)))), bp+40 /* &rc */) + + // Read the old.* and new.* records for the update change. + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal), uintptr(0)) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) { + goto __17 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal + uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))*8), uintptr(0)) +__17: + ; + + // Write the new old.* record. Consists of the PK columns from the + // original old.* record, and the other values from the original + // new.* record. + iCol = 0 +__18: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __20 + } + pVal = *(*uintptr)(unsafe.Pointer(apVal + uintptr((iCol+(func() int32 { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return 0 + } + return *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) + }())))*8)) + sessionAppendValue(tls, bp /* &sOut */, pVal, bp+40 /* &rc */) + goto __19 +__19: + iCol++ + goto __18 + goto __20 +__20: + ; + + // Write the new new.* record. Consists of a copy of all values + // from the original old.* record, except for the PK columns, which + // are set to "undefined". + iCol = 0 +__21: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __23 + } + pVal1 = func() uintptr { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return uintptr(0) + } + return *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8)) + }() + sessionAppendValue(tls, bp /* &sOut */, pVal1, bp+40 /* &rc */) + goto __22 +__22: + iCol++ + goto __21 + goto __23 +__23: + ; + + iCol = 0 +__24: + if !(iCol < (*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) * 2)) { + goto __26 + } + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8))) + goto __25 +__25: + iCol++ + goto __24 + goto __26 +__26: + ; + libc.X__builtin___memset_chk(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2)), libc.X__builtin_object_size(tls, apVal, 0)) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __27 + } + goto finished_invert +__27: + ; + + goto __6 + +__11: + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 210284) + goto finished_invert +__6: + ; + + if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { + goto __28 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __29 + } + goto finished_invert +__29: + ; +__28: + ; + goto __2 +__3: + ; + + if !(pnInverted != 0) { + goto __30 + } + *(*int32)(unsafe.Pointer(pnInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf = uintptr(0) + goto __31 +__30: + if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { + goto __32 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) +__32: + ; +__31: + ; + +finished_invert: + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf) + Xsqlite3_free(tls, apVal) + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &sPK */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Invert a changeset object. +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210316:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + // Set up the input stream + libc.X__builtin___memset_chk(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{})), libc.X__builtin_object_size(tls, bp /* &sInput */, 0)) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FnData = nChangeset + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FaData = pChangeset + + return sessionChangesetInvert(tls, bp /* &sInput */, uintptr(0), uintptr(0), pnInverted, ppInverted) +} + +// Streaming version of sqlite3changeset_invert(). +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:210335:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + var rc int32 + + // Set up the input stream + libc.X__builtin___memset_chk(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{})), libc.X__builtin_object_size(tls, bp /* &sInput */, 0)) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FxInput = xInput + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FpIn = pIn + + rc = sessionChangesetInvert(tls, bp /* &sInput */, xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3_free(tls, (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).Fbuf.FaBuf) + return rc +} + +type SessionUpdate1 = struct { + FpStmt uintptr + FaMask uintptr + FpNext uintptr +} /* sqlite3.c:210355:9 */ + +type SessionUpdate = SessionUpdate1 /* sqlite3.c:210355:30 */ + +type SessionApplyCtx1 = struct { + Fdb uintptr + FpDelete uintptr + FpInsert uintptr + FpSelect uintptr + FnCol int32 + _ [4]byte + FazCol uintptr + FabPK uintptr + FaUpdateMask uintptr + FpUp uintptr + FbStat1 int32 + FbDeferConstraints int32 + FbInvertConstraints int32 + _ [4]byte + Fconstraints SessionBuffer + Frebase SessionBuffer + FbRebaseStarted U8 + FbRebase U8 + _ [6]byte +} /* sqlite3.c:210362:9 */ + +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ + +// Number of prepared UPDATE statements to cache. + +// Find a prepared UPDATE statement suitable for the UPDATE step currently +// being visited by the iterator. The UPDATE is of the form: +// +// UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:210391:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var pUp uintptr = uintptr(0) + var nCol int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + var nU32 int32 = (((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + 33) / 32) + var ii int32 + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = Xsqlite3_malloc(tls, (int32(uint64(nU32) * uint64(unsafe.Sizeof(U32(0)))))) + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + libc.X__builtin___memset_chk(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0, (uint64(nU32) * uint64(unsafe.Sizeof(U32(0)))), libc.X__builtin_object_size(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0)) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_CORRUPT + for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ { + if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(ii)))*8)) != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((ii/32))*4)) |= (U32(int32(1) << (ii % 32))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if bPatchset != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((nCol/32))*4)) |= (U32(int32(1) << (nCol % 32))) + } + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp != 0 { + var nUp int32 = 0 + var pp uintptr = (p + 64 /* &.pUp */) + for 1 != 0 { + nUp++ + if 0 == libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaMask, (uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))) { + pUp = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + break + } + + if (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext != 0 { + pp = (*(*uintptr)(unsafe.Pointer(pp)) + 16 /* &.pNext */) + } else { + if nUp >= SESSION_UPDATE_CACHE_SZ { + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpStmt) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pp))) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + } + break + } + } + } + + if pUp == uintptr(0) { + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionUpdate{})) * uint64(nU32)) * uint64(unsafe.Sizeof(U32(0))))) + var bStat1 int32 = (libc.Bool32(Xsqlite3_stricmp(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, ts+10483 /* "sqlite_stat1" */) == 0)) + pUp = Xsqlite3_malloc(tls, nByte) + if pUp == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } else { + var zSep uintptr = ts + 756 /* "" */ + // var buf SessionBuffer at bp, 16 + + libc.X__builtin___memset_chk(tls, bp /* &buf */, 0, uint64(unsafe.Sizeof(SessionBuffer{})), libc.X__builtin_object_size(tls, bp /* &buf */, 0)) + (*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 /* &buf */, ts+31567 /* "UPDATE main." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31580 /* " SET " */, bp+16 /* &rc */) + + // Create the assignments part of the UPDATE + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31586 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+16 /* &rc */) + zSep = ts + 13735 /* ", " */ + } + } + + // Create the WHERE clause part of the UPDATE + zSep = ts + 756 /* "" */ + sessionAppendStr(tls, bp /* &buf */, ts+31515 /* " WHERE " */, bp+16 /* &rc */) + 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 /* &buf */, zSep, bp+16 /* &rc */) + if (bStat1 != 0) && (ii == 1) { + + sessionAppendStr(tls, bp, /* &buf */ + + ts+31591 /* "idx IS CASE WHEN..." */, bp+16 /* &rc */) + } else { + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31523 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 2), bp+16 /* &rc */) + } + zSep = ts + 20335 /* " AND " */ + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + var zSql uintptr = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, zSql, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (pUp /* &.pStmt */), uintptr(0)) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, pUp) + pUp = uintptr(0) + } else { + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + } + } + } + + if pUp != 0 { + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt + } else { + *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) + } + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Free all cached UPDATE statements. +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:210530:13: */ + var pUp uintptr + var pNext uintptr + for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { + pNext = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt) + Xsqlite3_free(tls, pUp) + } + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = uintptr(0) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask) + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = uintptr(0) +} + +// Formulate a statement to DELETE a row from database db. Assuming a table +// structure like this: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The DELETE statement looks like this: +// +// DELETE FROM x WHERE a = :1 AND c = :3 AND (:5 OR b IS :2 AND d IS :4) +// +// Variable :5 (nCol+1) is a boolean. It should be set to 0 if we require +// matching b and d values, or 1 otherwise. The second case comes up if the +// conflict handler is invoked with NOTFOUND and returns CHANGESET_REPLACE. +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left +// pointing to the prepared version of the SQL statement. +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210560:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var i int32 + var zSep uintptr = ts + 756 /* "" */ + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var nPk int32 = 0 + + sessionAppendStr(tls, bp /* &buf */, ts+31666 /* "DELETE FROM main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31515 /* " WHERE " */, bp+16 /* &rc */) + + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31586 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 20335 /* " AND " */ + } + } + + if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { + sessionAppendStr(tls, bp /* &buf */, ts+31684 /* " AND (?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((*SessionApplyCtx)(unsafe.Pointer(p)).FnCol + 1), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31227 /* " OR " */, bp+16 /* &rc */) + + zSep = ts + 756 /* "" */ + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31523 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 31692 /* "AND " */ + } + } + sessionAppendStr(tls, bp /* &buf */, ts+4477 /* ")" */, bp+16 /* &rc */) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 8 /* &.pDelete */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Formulate and prepare an SQL statement to query table zTab by primary +// key. Assuming the following table structure: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The SELECT statement looks like this: +// +// SELECT * FROM x WHERE a = ?1 AND c = ?3 +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left +// pointing to the prepared version of the SQL statement. +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210625:12: */ + return sessionSelectStmt(tls, + db, ts+5869 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 24 /* &.pSelect */)) +} + +// Formulate and prepare an INSERT statement to add a record to table zTab. +// For example: +// +// INSERT INTO main."zTab" VALUES(?1, ?2, ?3 ...); +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left +// pointing to the prepared version of the SQL statement. +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210643:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var i int32 + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp /* &buf */, ts+31697 /* "INSERT INTO main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+20341 /* "(" */, bp+16 /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + if i != 0 { + sessionAppendStr(tls, bp /* &buf */, ts+13735 /* ", " */, bp+16 /* &rc */) + } + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + } + + sessionAppendStr(tls, bp /* &buf */, ts+31715 /* ") VALUES(?" */, bp+16 /* &rc */) + for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + sessionAppendStr(tls, bp /* &buf */, ts+31726 /* ", ?" */, bp+16 /* &rc */) + } + sessionAppendStr(tls, bp /* &buf */, ts+4477 /* ")" */, bp+16 /* &rc */) + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 16 /* &.pInsert */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:210673:12: */ + return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) +} + +// Prepare statements for applying changes to the sqlite_stat1 table. +// These are similar to those created by sessionSelectRow(), +// sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for +// other tables. +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:210683:12: */ + var rc int32 = sessionSelectRow(tls, db, ts+10483 /* "sqlite_stat1" */, p) + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 16 /* &.pInsert */), + + ts+31730 /* "INSERT INTO main..." */) + } + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 8 /* &.pDelete */), + + ts+31843 /* "DELETE FROM main..." */) + } + return rc +} + +// A wrapper around sqlite3_bind_value() that detects an extra problem. +// See comments in the body of this function for details. +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:210706:12: */ + var eType int32 = Xsqlite3_value_type(tls, pVal) + // COVERAGE: The (pVal->z==0) branch is never true using current versions + // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either + // the (pVal->z) variable remains as it was or the type of the value is + // set to SQLITE_NULL. + if ((eType == SQLITE_TEXT) || (eType == SQLITE_BLOB)) && ((*Sqlite3_value)(unsafe.Pointer(pVal)).Fz == uintptr(0)) { + // This condition occurs when an earlier OOM in a call to + // sqlite3_value_text() or sqlite3_value_blob() (perhaps from within + // a conflict-handler) has zeroed the pVal->z pointer. Return NOMEM. + return SQLITE_NOMEM + } + return Xsqlite3_bind_value(tls, pStmt, i, pVal) +} + +// Iterator pIter must point to an SQLITE_INSERT entry. This function +// transfers new.* values from the current iterator entry to statement +// pStmt. The table being inserted into has nCol columns. +// +// New.* value $i from the iterator is bound to variable ($i+1) of +// statement pStmt. If parameter abPK is NULL, all values from 0 to (nCol-1) +// are transfered to the statement. Otherwise, if abPK is not NULL, it points +// to an array nCol elements in size. In this case only those values for +// which abPK[$i] is true are read from the iterator and bound to the +// statement. +// +// An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK. +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:210739:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var i int32 + var rc int32 = SQLITE_OK + + // Neither sqlite3changeset_old or sqlite3changeset_new can fail if the + // argument iterator points to a suitable entry. Make sure that xValue + // is one of these to guarantee that it is safe to ignore the return + // in the code below. + + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + // var pVal uintptr at bp, 8 + + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { + // The value in the changeset was "undefined". This indicates a + // corrupt changeset blob. + rc = Xsqlite3CorruptError(tls, 210762) + } else { + rc = sessionBindValue(tls, pStmt, (i + 1), *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + } + } + return rc +} + +// SQL statement pSelect is as generated by the sessionSelectRow() function. +// This function binds the primary key values from the change that changeset +// iterator pIter points to to the SELECT and attempts to seek to the table +// entry. If a row is found, the SELECT statement left pointing at the row +// and SQLITE_ROW is returned. Otherwise, if no row is found and no error +// has occured, the statement is reset and SQLITE_OK is returned. If an +// error occurs, the statement is reset and an SQLite error code is returned. +// +// If this function returns SQLITE_ROW, the caller must eventually reset() +// statement pSelect. If any other value is returned, the statement does +// not require a reset(). +// +// If the iterator currently points to an INSERT record, bind values from the +// new.* record to the SELECT statement. Or, if it points to a DELETE or +// UPDATE, bind values from the old.* record. +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:210788:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var rc int32 // Return code + // var nCol int32 at bp+8, 4 + // Number of columns in table + // var op int32 at bp+12, 4 + // Changset operation (SQLITE_UPDATE etc.) + // var zDummy uintptr at bp, 8 + // Unused + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + rc = sessionBindRow(tls, pIter, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})) + } + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})) + }(), + *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, pSelect) + + if rc == SQLITE_OK { + rc = Xsqlite3_step(tls, pSelect) + if rc != SQLITE_ROW { + rc = Xsqlite3_reset(tls, pSelect) + } + } + + return rc +} + +// This function is called from within sqlite3changeset_apply_v2() when +// a conflict is encountered and resolved using conflict resolution +// mode eType (either SQLITE_CHANGESET_OMIT or SQLITE_CHANGESET_REPLACE).. +// It adds a conflict resolution record to the buffer in +// SessionApplyCtx.rebase, which will eventually be returned to the caller +// of apply_v2() as the "rebase" buffer. +// +// Return SQLITE_OK if successful, or an SQLite error code otherwise. +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:210823:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebase != 0 { + var i int32 + var eOp int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + if int32((*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted) == 0 { + // Append a table-header to the rebase buffer + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + sessionAppendByte(tls, (p + 104 /* &.rebase */), uint8('T'), bp /* &rc */) + sessionAppendVarint(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), zTab, (int32(libc.Xstrlen(tls, zTab)) + 1), bp /* &rc */) + (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted = U8(1) + } + + sessionAppendByte(tls, (p + 104 /* &.rebase */), + func() uint8 { + if eOp == SQLITE_DELETE { + return uint8(SQLITE_DELETE) + } + return uint8(SQLITE_INSERT) + }(), bp /* &rc */) + sessionAppendByte(tls, (p + 104 /* &.rebase */), (uint8(libc.Bool32(eType == SQLITE_CHANGESET_REPLACE))), bp /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)) = uintptr(0) + if (eOp == SQLITE_DELETE) || ((eOp == SQLITE_UPDATE) && (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0)) { + Xsqlite3changeset_old(tls, pIter, i, bp+8 /* &pVal */) + } else { + Xsqlite3changeset_new(tls, pIter, i, bp+8 /* &pVal */) + } + sessionAppendValue(tls, (p + 104 /* &.rebase */), *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)), bp /* &rc */) + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Invoke the conflict handler for the change that the changeset iterator +// currently points to. +// +// Argument eType must be either CHANGESET_DATA or CHANGESET_CONFLICT. +// If argument pbReplace is NULL, then the type of conflict handler invoked +// depends solely on eType, as follows: +// +// eType value Value passed to xConflict +// ------------------------------------------------- +// CHANGESET_DATA CHANGESET_NOTFOUND +// CHANGESET_CONFLICT CHANGESET_CONSTRAINT +// +// Or, if pbReplace is not NULL, then an attempt is made to find an existing +// record with the same primary key as the record about to be deleted, updated +// or inserted. If such a record can be found, it is available to the conflict +// handler as the "conflicting" record. In this case the type of conflict +// handler invoked is as follows: +// +// eType value PK Record found? Value passed to xConflict +// ---------------------------------------------------------------- +// CHANGESET_DATA Yes CHANGESET_DATA +// CHANGESET_DATA No CHANGESET_NOTFOUND +// CHANGESET_CONFLICT Yes CHANGESET_CONFLICT +// CHANGESET_CONFLICT No CHANGESET_CONSTRAINT +// +// If pbReplace is not NULL, and a record with a matching PK is found, and +// the conflict handler function returns SQLITE_CHANGESET_REPLACE, *pbReplace +// is set to non-zero before returning SQLITE_OK. +// +// If the conflict handler returns SQLITE_CHANGESET_ABORT, SQLITE_ABORT is +// returned. Or, if the conflict handler returns an invalid value, +// SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT, +// this function returns SQLITE_OK. +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:210897:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var res int32 = 0 // Value returned by conflict handler + // var rc int32 at bp+16, 4 + + // var nCol int32 at bp+8, 4 + + // var op int32 at bp+12, 4 + + // var zDummy uintptr at bp, 8 + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + // Bind the new.* PRIMARY KEY values to the SELECT statement. + if pbReplace != 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_ROW { + // There exists another row with the new.* primary key. + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if ((*SessionApplyCtx)(unsafe.Pointer(p)).FbDeferConstraints != 0) && (eType == SQLITE_CHANGESET_CONFLICT) { + // Instead of invoking the conflict handler, append the change blob + // to the SessionApplyCtx.constraints buffer. + var aBlob uintptr = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent)) + var nBlob int32 = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent) + sessionAppendBlob(tls, (p + 88 /* &.constraints */), aBlob, nBlob, bp+16 /* &rc */) + return SQLITE_OK + } else { + // No other row with the new.* primary key. + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + if res == SQLITE_CHANGESET_REPLACE { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + switch res { + case SQLITE_CHANGESET_REPLACE: + + *(*int32)(unsafe.Pointer(pbReplace)) = 1 + break + fallthrough + + case SQLITE_CHANGESET_OMIT: + break + fallthrough + + case SQLITE_CHANGESET_ABORT: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ABORT + break + fallthrough + + default: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + break + } + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionRebaseAdd(tls, p, res, pIter) + } + } + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// If argument pbRetry is NULL, then ignore any CHANGESET_DATA conflict. If +// one is encountered, update or delete the row with the matching primary key +// instead. Or, if pbRetry is not NULL and a CHANGESET_DATA conflict occurs, +// invoke the conflict handler. If it returns CHANGESET_REPLACE, set *pbRetry +// to true before returning. In this case the caller will invoke this function +// again, this time with pbRetry set to NULL. +// +// If argument pbReplace is NULL and a CHANGESET_CONFLICT conflict is +// encountered invoke the conflict handler with CHANGESET_CONSTRAINT instead. +// Or, if pbReplace is not NULL, invoke it with CHANGESET_CONFLICT. If such +// an invocation returns SQLITE_CHANGESET_REPLACE, set *pbReplace to true +// before retrying. In this case the caller attempts to remove the conflicting +// row before invoking this function again, this time with pbReplace set +// to NULL. +// +// If any conflict handler returns SQLITE_CHANGESET_ABORT, this function +// returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is +// returned. +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:210995:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + // var zDummy uintptr at bp, 8 + + // var op int32 at bp+12, 4 + + // var nCol int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_DELETE { + + // Bind values to the DELETE statement. If conflict handling is required, + // bind values for all columns and set bound variable (nCol+1) to true. + // Or, if conflict handling is not required, bind just the PK column + // values and, if it exists, set (nCol+1) to false. Conflict handling + // is not required if: + // + // * this is a patchset, or + // * (pbRetry==0), or + // * all columns of the table are PK columns (in this case there is + // no (nCol+1) variable to bind to). + var abPK uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + } + return uintptr(0) + }() + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_bind_parameter_count(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) > *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))) { + rc = Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete, (*(*int32)(unsafe.Pointer(bp + 8 /* nCol */)) + 1), (libc.Bool32((pbRetry == uintptr(0)) || (abPK != 0)))) + } + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_UPDATE { + var i int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)) = uintptr(0) + var bPatchset int32 = (libc.Bool32((pbRetry == uintptr(0)) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0))) + + rc = sessionUpdateFind(tls, pIter, p, bPatchset, bp+16 /* &pUp */) + + // Bind values to the UPDATE statement. + for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))); i++ { + var pOld uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(i)*8)) + var pNew uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(i)))*8)) + if (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) || ((bPatchset == 0) && (pOld != 0)) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 2), pOld) + } + if (rc == SQLITE_OK) && (pNew != 0) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 1), pNew) + } + } + if rc != SQLITE_OK { + return rc + } + + // Attempt the UPDATE. In the case of a NOTFOUND or DATA conflict, + // the result will be SQLITE_OK with 0 rows modified. + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + // A NOTFOUND or DATA error. Search the table to see if it contains + // a row with a matching primary key. If so, this is a DATA conflict. + // Otherwise, if there is no primary key match, it is a NOTFOUND. + + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + // This is always a CONSTRAINT conflict. + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else { + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbStat1 != 0 { + // Check if there is a conflicting row. For sqlite_stat1, this needs + // to be done using a SELECT, as there is no PRIMARY KEY in the + // database schema to throw an exception if a duplicate is inserted. + rc = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + if rc == SQLITE_ROW { + rc = SQLITE_CONSTRAINT + Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } + } + + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), uintptr(0), (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + } + + if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace) + } + } + + return rc +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// The difference between this function and sessionApplyOne() is that this +// function handles the case where the conflict-handler is invoked and +// returns SQLITE_CHANGESET_REPLACE - indicating that the change should be +// retried in some manner. +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211128:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) = 0 + var rc int32 + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp /* &bReplace */, bp+4 /* &bRetry */) + if rc == SQLITE_OK { + // If the bRetry flag is set, the change has not been applied due to an + // SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and + // a row with the correct PK is present in the db, but one or more other + // fields do not contain the expected values) and the conflict handler + // returned SQLITE_CHANGESET_REPLACE. In this case retry the operation, + // but pass NULL as the final argument so that sessionApplyOneOp() ignores + // the SQLITE_CHANGESET_DATA problem. + if *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) != 0 { + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } else if *(*int32)(unsafe.Pointer(bp /* bReplace */)) != 0 { + + rc = Xsqlite3_exec(tls, db, ts+31987 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(0)) + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, ((*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + 1), 1) + } + if rc == SQLITE_OK { + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + } + if rc == SQLITE_OK { + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+32008 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + } + + return rc +} + +// Retry the changes accumulated in the pApply->constraints buffer. +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211185:12: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK + + for (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf != 0 { + *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) = uintptr(0) + var cons = (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints + libc.X__builtin___memset_chk(tls, (pApply + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{})), libc.X__builtin_object_size(tls, (pApply+88 /* &.constraints */), 0)) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionChangesetStart(tls, + bp /* &pIter2 */, uintptr(0), uintptr(0), cons.FnBuf, cons.FaBuf, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbInvertConstraints, 1) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + var nByte Size_t = ((uint64(2 * (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol)) * uint64(unsafe.Sizeof(uintptr(0)))) + var rc2 int32 + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FbPatchset = bPatchset + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FzTab = zTab + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FnCol = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FabPK = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK + sessionBufferGrow(tls, (*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) + 72 /* &.tblhdr */), int64(nByte), bp+8 /* &rc */) + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).Ftblhdr.FaBuf + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + libc.X__builtin___memset_chk(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0, nByte, libc.X__builtin_object_size(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0)) + } + + for (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))) { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)), pApply, xConflict, pCtx) + } + + rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */))) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = rc2 + } + } + + Xsqlite3_free(tls, cons.FaBuf) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) != SQLITE_OK { + break + } + if (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf >= cons.FnBuf { + // No progress was made on the last round. + (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbDeferConstraints = 0 + } + } + + return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) +} + +// Argument pIter is a changeset iterator that has been initialized, but +// not yet passed to sqlite3changeset_next(). This function applies the +// changeset to the main database attached to handle "db". The supplied +// conflict handler callback is invoked to resolve any conflicts encountered +// while applying the change. +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ + bp := tls.Alloc(368) + defer tls.Free(368) + + var schemaMismatch int32 = 0 + var rc int32 = SQLITE_OK // Return code + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = uintptr(0) // Name of current table + var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) + // var sApply SessionApplyCtx at bp+48, 128 + // changeset_apply() context object + var bPatchset int32 + + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 + libc.X__builtin___memset_chk(tls, bp+48 /* &sApply */, 0, uint64(unsafe.Sizeof(SessionApplyCtx{})), libc.X__builtin_object_size(tls, bp+48 /* &sApply */, 0)) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).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+32027 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+32053 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + } + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { + // var nCol int32 at bp+184, 4 + + // var op int32 at bp+188, 4 + + // var zNew uintptr at bp+176, 8 + + Xsqlite3changeset_op(tls, pIter, bp+176 /* &zNew */, bp+184 /* &nCol */, bp+188 /* &op */, uintptr(0)) + + if (*(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+192, 8 + + rc = sessionRetryConstraints(tls, + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + if rc != SQLITE_OK { + break + } + + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebaseStarted = U8(0) + libc.X__builtin___memset_chk(tls, (bp + 48 /* &sApply */ + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{})), libc.X__builtin_object_size(tls, (bp+48 /* &sApply */ +88 /* &.constraints */), 0)) + + // If an xFilter() callback was specified, invoke it now. If the + // xFilter callback returns zero, skip this table. If it returns + // non-zero, proceed. + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))))) + if schemaMismatch != 0 { + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0) { + rc = SQLITE_NOMEM + break + } + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) + } else { + var nMinCol int32 = 0 + var i int32 + + Xsqlite3changeset_pk(tls, pIter, bp+192 /* &abPK */, uintptr(0)) + rc = sessionTableInfo(tls, uintptr(0), + db, ts+5869 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), (bp + 48 /* &sApply */ + 32 /* &.nCol */), bp+200 /* &zTab */, (bp + 48 /* &sApply */ + 40 /* &.azCol */), (bp + 48 /* &sApply */ + 48 /* &.abPK */)) + if rc != SQLITE_OK { + break + } + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK + uintptr(i))) != 0 { + nMinCol = (i + 1) + } + } + + if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+32083 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + + ts+32127, /* "sqlite3changeset..." */ + libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) != 0) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+32198 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else { + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), ts+10483 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+48 /* &sApply */)) != 0 { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 1 + } else { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + } + } + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */))) + } + } + + // If there is a schema mismatch on the current table, proceed to the + // next change. A log message has already been issued. + if schemaMismatch != 0 { + continue + } + + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+48 /* &sApply */, xConflict, pCtx) + } + + bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + if rc == SQLITE_OK { + rc = Xsqlite3changeset_finalize(tls, pIter) + } else { + Xsqlite3changeset_finalize(tls, pIter) + } + + if rc == SQLITE_OK { + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + } + + if rc == SQLITE_OK { + // var nFk int32 at bp+208, 4 + + // var notUsed int32 at bp+212, 4 + + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+208 /* &nFk */, bp+212 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) != 0 { + var res int32 = SQLITE_CHANGESET_ABORT + // var sIter Sqlite3_changeset_iter at bp+216, 152 + + libc.X__builtin___memset_chk(tls, bp+216 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{})), libc.X__builtin_object_size(tls, bp+216 /* &sIter */, 0)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 216 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) + if res != SQLITE_CHANGESET_OMIT { + rc = SQLITE_CONSTRAINT + } + } + } + Xsqlite3_exec(tls, db, ts+32258 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + + if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+32288 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } else { + Xsqlite3_exec(tls, db, ts+32312 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, ts+32288 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf = uintptr(0) + } + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Frebase.FaBuf) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main +// database attached to handle "db". +func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211439:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInv int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211472:16: */ + return Xsqlite3changeset_apply_v2(tls, + db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// Apply the changeset passed via xInput/pIn to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211497:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInverse int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, xInput, pIn, 0, uintptr(0), bInverse, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211524:16: */ + return Xsqlite3changeset_apply_v2_strm(tls, + db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// This function is called to merge two changes to the same row together as +// part of an sqlite3changeset_concat() operation. A new change object is +// allocated and a pointer to it stored in *ppNew. +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:211558:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var pNew uintptr = uintptr(0) + var rc int32 = SQLITE_OK + + if !(pExist != 0) { + pNew = Xsqlite3_malloc64(tls, (uint64(uint64(unsafe.Sizeof(SessionChange{})) + uint64(nRec)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.X__builtin___memset_chk(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{})), libc.X__builtin_object_size(tls, pNew, 0)) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = U8(bIndirect) + (*SessionChange)(unsafe.Pointer(pNew)).FaRecord = (pNew + 1*32) + if (bIndirect == 0) || (bRebase == 0) { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = nRec + libc.X__builtin___memcpy_chk(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, aRec, uint64(nRec), libc.X__builtin_object_size(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, 0)) + } else { + var i int32 + var pIn uintptr = aRec + var pOut uintptr = (*SessionChange)(unsafe.Pointer(pNew)).FaRecord + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var nIn int32 = sessionSerialLen(tls, pIn) + if int32(*(*U8)(unsafe.Pointer(pIn))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } else if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else { + libc.X__builtin___memcpy_chk(tls, pOut, pIn, uint64(nIn), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(nIn) + } + pIn += uintptr(nIn) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + } else if bRebase != 0 { + if (int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) == SQLITE_DELETE) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0) { + *(*uintptr)(unsafe.Pointer(ppNew)) = pExist + } else { + var nByte Sqlite3_int64 = (Sqlite3_int64((uint64(nRec + (*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(unsafe.Sizeof(SessionChange{})))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var i int32 + var a1 uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var a2 uintptr = aRec + var pOut uintptr + + libc.X__builtin___memset_chk(tls, pNew, 0, uint64(nByte), libc.X__builtin_object_size(tls, pNew, 0)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) || ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + pOut = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) || ((int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0) && (bIndirect != 0)) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else if int32(*(*U8)(unsafe.Pointer(a2))) == 0 { + libc.X__builtin___memcpy_chk(tls, pOut, a1, uint64(n1), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(n1) + } else { + libc.X__builtin___memcpy_chk(tls, pOut, a2, uint64(n2), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(n2) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } else { + var op1 int32 = int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) + + // op1=INSERT, op2=INSERT -> Unsupported. Discard op2. + // op1=INSERT, op2=UPDATE -> INSERT. + // op1=INSERT, op2=DELETE -> (none) + // + // op1=UPDATE, op2=INSERT -> Unsupported. Discard op2. + // op1=UPDATE, op2=UPDATE -> UPDATE. + // op1=UPDATE, op2=DELETE -> DELETE. + // + // op1=DELETE, op2=INSERT -> UPDATE. + // op1=DELETE, op2=UPDATE -> Unsupported. Discard op2. + // op1=DELETE, op2=DELETE -> Unsupported. Discard op2. + if ((((op1 == SQLITE_INSERT) && (op2 == SQLITE_INSERT)) || + ((op1 == SQLITE_UPDATE) && (op2 == SQLITE_INSERT))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_UPDATE))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_DELETE)) { + pNew = pExist + } else if (op1 == SQLITE_INSERT) && (op2 == SQLITE_DELETE) { + Xsqlite3_free(tls, pExist) + + } else { + var aExist uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var nByte Sqlite3_int64 + // var aCsr uintptr at bp+8, 8 + + // Allocate a new SessionChange object. Ensure that the aRecord[] + // buffer of the new object is large enough to hold any record that + // may be generated by combining the input records. + nByte = (Sqlite3_int64((uint64(unsafe.Sizeof(SessionChange{})) + uint64((*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(nRec))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if !(pNew != 0) { + Xsqlite3_free(tls, pExist) + return SQLITE_NOMEM + } + libc.X__builtin___memset_chk(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{})), libc.X__builtin_object_size(tls, pNew, 0)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + if op1 == SQLITE_INSERT { // INSERT + UPDATE + *(*uintptr)(unsafe.Pointer(bp /* a1 */)) = aRec + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_INSERT) + if bPatchset == 0 { + sessionSkipRecord(tls, bp /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aExist, *(*uintptr)(unsafe.Pointer(bp /* a1 */))) + } else if op1 == SQLITE_DELETE { // DELETE + INSERT + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if bPatchset != 0 { + libc.X__builtin___memcpy_chk(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec), libc.X__builtin_object_size(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), 0)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aExist, uintptr(0), aRec, uintptr(0)) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } + } else if op2 == SQLITE_UPDATE { // UPDATE + UPDATE + *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)) = aExist + *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */)) = aRec + + if bPatchset == 0 { + sessionSkipRecord(tls, bp+16 /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + sessionSkipRecord(tls, bp+24 /* &a2 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aRec, aExist, *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)), *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */))) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } else { // UPDATE + DELETE + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_DELETE) + if bPatchset != 0 { + libc.X__builtin___memcpy_chk(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec), libc.X__builtin_object_size(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), 0)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aRec, aExist) + } + } + + if pNew != 0 { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */))) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } + + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Add all changes in the changeset traversed by the iterator passed as +// the first argument to the changegroup hash tables. +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:211740:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + // var aRec uintptr at bp, 8 + + // var nRec int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + var pTab uintptr = uintptr(0) + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, uintptr(0)) { + // var zNew uintptr at bp+16, 8 + + // var nCol int32 at bp+24, 4 + + // var op int32 at bp+28, 4 + + var iHash int32 + // var bIndirect int32 at bp+32, 4 + + // var pChange uintptr at bp+48, 8 + + var pExist uintptr = uintptr(0) + var pp uintptr + + if (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = SQLITE_ERROR + break + } + + Xsqlite3changeset_op(tls, pIter, bp+16 /* &zNew */, bp+24 /* &nCol */, bp+28 /* &op */, bp+32 /* &bIndirect */) + if !(pTab != 0) || (Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (*SessionTable)(unsafe.Pointer(pTab)).FzName) != 0) { + // Search the list for a matching table + var nNew int32 = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)))) + // var abPK uintptr at bp+40, 8 + + Xsqlite3changeset_pk(tls, pIter, bp+40 /* &abPK */, uintptr(0)) + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (nNew+1)) { + break + } + } + if !(pTab != 0) { + var ppTab uintptr + + pTab = Xsqlite3_malloc64(tls, (uint64(((uint64(unsafe.Sizeof(SessionTable{})) + uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + uint64(nNew)) + uint64(1)))) + if !(pTab != 0) { + rc = SQLITE_NOMEM + break + } + libc.X__builtin___memset_chk(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{})), libc.X__builtin_object_size(tls, pTab, 0)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 24 /* nCol */)) + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = (pTab + 1*56) + libc.X__builtin___memcpy_chk(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */))), libc.X__builtin_object_size(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, 0)) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = ((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + libc.X__builtin___memcpy_chk(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (uint64(nNew + 1)), libc.X__builtin_object_size(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, 0)) + + // The new object must be linked on to the end of the list, not + // simply added to the start of it. This is to ensure that the + // tables within the output of sqlite3changegroup_output() are in + // the right order. + for ppTab = (pGrp + 8 /* &.pList */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } else if ((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) || (libc.Xmemcmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) != 0) { + rc = SQLITE_SCHEMA + break + } + } + + if sessionGrowHash(tls, uintptr(0), (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { + rc = SQLITE_NOMEM + break + } + iHash = int32(sessionChangeHash(tls, + pTab, (libc.Bool32(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0) && (*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE))), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + // Search for existing entry. If found, remove it from the hash table. + // Code below may link it back in. + for pp = ((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = (*(*uintptr)(unsafe.Pointer(pp)) + 24 /* &.pNext */) { + var bPkOnly1 int32 = 0 + var bPkOnly2 int32 = 0 + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + bPkOnly1 = (libc.Bool32(int32((*SessionChange)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pp))))).Fop) == SQLITE_DELETE)) + bPkOnly2 = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE)) + } + if sessionChangeEqual(tls, pTab, bPkOnly1, (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp /* aRec */))) != 0 { + pExist = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry-- + break + } + } + + rc = sessionChangeMerge(tls, pTab, bRebase, + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 28 /* op */)), *(*int32)(unsafe.Pointer(bp + 32 /* bIndirect */)), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+48 /* &pChange */) + if rc != 0 { + break + } + if *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) != 0 { + (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)))).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + } + } + + if rc == SQLITE_OK { + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// Serialize a changeset (or patchset) based on all changesets (or patchsets) +// added to the changegroup object passed as the first argument. +// +// If xOutput is not NULL, then the changeset/patchset is returned to the +// user via one or more calls to xOutput, as with the other streaming +// interfaces. +// +// Or, if xOutput is NULL, then (*ppOut) is populated with a pointer to a +// buffer containing the output changeset before this function returns. In +// this case (*pnOut) is set to the size of the output buffer in bytes. It +// is the responsibility of the caller to free the output buffer using +// sqlite3_free() when it is no longer required. +// +// If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite +// error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut) +// are both set to 0 before returning. +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211863:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var pTab uintptr + + // Create the serialized output changeset based on the contents of the + // hash tables attached to the SessionTable objects in list p->pList. + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + var i int32 + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry == 0 { + continue + } + + sessionAppendTableHdr(tls, bp /* &buf */, (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch, pTab, bp+16 /* &rc */) + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).Fop, bp+16 /* &rc */) + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+16 /* &rc */) + sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+16 /* &rc */) + if ((*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 + } + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Allocate a new, empty, sqlite3_changegroup. +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:211914:16: */ + var rc int32 = SQLITE_OK // Return code + var p uintptr // New object + p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) + if p == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(Sqlite3_changegroup{})), libc.X__builtin_object_size(tls, p, 0)) + } + *(*uintptr)(unsafe.Pointer(pp)) = p + return rc +} + +// Add the changeset currently stored in buffer pData, size nData bytes, +// to changeset-group p. +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:211931:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nData, pData) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Obtain a buffer containing a changeset representing the concatenation +// of all changesets added to the group so far. +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:211947:16: */ + return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) +} + +// Streaming versions of changegroup_add(). +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:211958:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Streaming versions of changegroup_output(). +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:211977:16: */ + return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Delete a changegroup object. +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:211988:17: */ + if pGrp != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, pGrp) + } +} + +// Combine two changesets together. +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211998:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nLeft, pLeft) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nRight, pRight) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), pnOut, ppOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Streaming version of sqlite3changeset_concat(). +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212027:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputA, pInA) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputB, pInB) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xOutput, pOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Buffers a1 and a2 must both contain a sessions module record nCol +// fields in size. This function appends an nCol sessions module +// record to buffer pBuf that is a copy of a1, except that for +// each field that is undefined in a1[], swap in the field from a2[]. +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:212066:13: */ + sessionBufferGrow(tls, pBuf, (int64(n1 + n2)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var i int32 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + for i = 0; i < nCol; i++ { + var nn1 int32 = sessionSerialLen(tls, a1) + var nn2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0) || (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) { + libc.X__builtin___memcpy_chk(tls, pOut, a2, uint64(nn2), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(nn2) + } else { + libc.X__builtin___memcpy_chk(tls, pOut, a1, uint64(nn1), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(nn1) + } + a1 += uintptr(nn1) + a2 += uintptr(nn2) + } + + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + + } +} + +// This function is called when rebasing a local UPDATE change against one +// or more remote UPDATE changes. The aRec/nRec buffer contains the current +// old.* and new.* records for the change. The rebase buffer (a single +// record) is in aChange/nChange. The rebased change is appended to buffer +// pBuf. +// +// Rebasing the UPDATE involves: +// +// * Removing any changes to fields for which the corresponding field +// in the rebase buffer is set to "replaced" (type 0xFF). If this +// means the UPDATE change updates no fields, nothing is appended +// to the output buffer. +// +// * For each field modified by the local change for which the +// corresponding field in the rebase buffer is not "undefined" (0x00) +// or "replaced" (0xFF), the old.* value is replaced by the value +// in the rebase buffer. +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:212115:13: */ + sessionBufferGrow(tls, pBuf, (int64((2 + nRec) + nChange)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var bData int32 = 0 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + var i int32 + var a1 uintptr = aRec + var a2 uintptr = aChange + + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(SQLITE_UPDATE) + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect) + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) == 0) { + if !(int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i)))) != 0) && (*(*U8)(unsafe.Pointer(a1)) != 0) { + bData = 1 + } + libc.X__builtin___memcpy_chk(tls, pOut, a1, uint64(n1), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(n1) + } else if int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF { + bData = 1 + libc.X__builtin___memcpy_chk(tls, pOut, a2, uint64(n2), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(n2) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + if bData != 0 { + a2 = aChange + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF) { + libc.X__builtin___memcpy_chk(tls, pOut, a1, uint64(n1), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(n1) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + } + } +} + +// pIter is configured to iterate through a changeset. This function rebases +// that changeset according to the current configuration of the rebaser +// object passed as the first argument. If no error occurs and argument xOutput +// is not NULL, then the changeset is returned to the caller by invoking +// xOutput zero or more times and SQLITE_OK returned. Or, if xOutput is NULL, +// then (*ppOut) is set to point to a buffer containing the rebased changeset +// before this function returns. In this case (*pnOut) is set to the size of +// the buffer in bytes. It is the responsibility of the caller to eventually +// free the (*ppOut) buffer using sqlite3_free(). +// +// If an error occurs, an SQLite error code is returned. If ppOut and +// pnOut are not NULL, then the two output parameters are set to 0 before +// returning. +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212183:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp /* aRec */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)) = 0 + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + var pTab uintptr = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 16 /* sOut */)) = SessionBuffer{} + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, bp+12 /* &bNew */) { + var pChange uintptr = uintptr(0) + var bDone int32 = 0 + + if *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) != 0 { + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + for pTab = (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_stricmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zTab) { + break + } + } + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + + // A patchset may not be rebased + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR + } + + // Append a table header to the output for this new table + sessionAppendByte(tls, bp+16 /* &sOut */, func() uint8 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), bp+32 /* &rc */) + sessionAppendVarint(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, (int32(libc.Xstrlen(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab)) + 1), bp+32 /* &rc */) + } + + if (pTab != 0) && (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) { + var iHash int32 = int32(sessionChangeHash(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + for pChange = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)); pChange != 0; pChange = (*SessionChange)(unsafe.Pointer(pChange)).FpNext { + if sessionChangeEqual(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), 0, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord) != 0 { + break + } + } + } + + if pChange != 0 { + + switch (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop { + case SQLITE_INSERT: + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_UPDATE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + } + break + fallthrough + + case SQLITE_UPDATE: + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_DELETE { + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)) = *(*uintptr)(unsafe.Pointer(bp /* aRec */)) + sessionSkipRecord(tls, bp+40 /* &pCsr */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_INSERT), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)), (int32(int64(*(*int32)(unsafe.Pointer(bp + 8 /* nRec */))) - ((int64(*(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */))) - int64(*(*uintptr)(unsafe.Pointer(bp /* aRec */)))) / 1))), + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + } else { + sessionAppendPartialUpdate(tls, bp+16 /* &sOut */, pIter, + *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + break + fallthrough + + default: + + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_DELETE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + break + } + } + + if bDone == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + if ((*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf = 0 + } + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0 { + break + } + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + libc.X__builtin___memset_chk(tls, bp+16 /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{})), libc.X__builtin_object_size(tls, bp+16 /* &sOut */, 0)) + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Create a new rebaser object. +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:212315:16: */ + var rc int32 = SQLITE_OK + var pNew uintptr + + pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_rebaser{}))) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.X__builtin___memset_chk(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_rebaser{})), libc.X__builtin_object_size(tls, pNew, 0)) + } + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Call this one or more times to configure a rebaser. +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:212332:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator opened on pData/nData + var rc int32 // Return code + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nRebase, pRebase) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), (p /* &.grp */), 1) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212349:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start(tls, bp /* &pIter */, nIn, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), uintptr(0), uintptr(0), pnOut, ppOut) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212368:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Destroy a rebaser object +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:212389:17: */ + if p != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, p) + } +} + +// Global configuration +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:212399:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_CONFIG_STRMSIZE: + { + var pInt uintptr = pArg + if *(*int32)(unsafe.Pointer(pInt)) > 0 { + sessions_strm_chunk_size = *(*int32)(unsafe.Pointer(pInt)) + } + *(*int32)(unsafe.Pointer(pInt)) = sessions_strm_chunk_size + break + + } + default: + rc = SQLITE_MISUSE + break + } + return rc +} + //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -180141,71 +186316,6 @@ type Fts5Global1 = struct { FpCsr uintptr } /* sqlite3.c:213118:9 */ -//************************************************************************ - -//************* End of sqlite3rbu.c ***************************************** -//************* Begin file dbstat.c ***************************************** -// 2010 July 12 -// -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: -// -// May you do good and not evil. -// May you find forgiveness for yourself and forgive others. -// May you share freely, never taking more than you give. -// -// -// -// This file contains an implementation of the "dbstat" virtual table. -// -// The dbstat virtual table is used to extract low-level storage -// information from an SQLite database in order to implement the -// "sqlite3_analyzer" utility. See the ../tool/spaceanal.tcl script -// for an example implementation. -// -// Additional information is available on the "dbstat.html" page of the -// official SQLite documentation. - -// #include "sqliteInt.h" ** Requires access to internal data structures ** - -//************* End of dbstat.c ********************************************* -//************* Begin file dbpage.c ***************************************** -// 2017-10-11 -// -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: -// -// May you do good and not evil. -// May you find forgiveness for yourself and forgive others. -// May you share freely, never taking more than you give. -// -// -// -// This file contains an implementation of the "sqlite_dbpage" virtual table. -// -// The sqlite_dbpage virtual table is used to read or write whole raw -// pages of the database file. The pager interface is used so that -// uncommitted changes and changes recorded in the WAL file are correctly -// retrieved. -// -// Usage example: -// -// SELECT data FROM sqlite_dbpage('aux1') WHERE pgno=123; -// -// This is an eponymous virtual table so it does not need to be created before -// use. The optional argument to the sqlite_dbpage() table name is the -// schema for the database file that is to be read. The default schema is -// "main". -// -// The data field of sqlite_dbpage table can be updated. The new -// value must be a BLOB which is the correct page size, otherwise the -// update fails. Rows may not be deleted or inserted. - -// #include "sqliteInt.h" ** Requires access to internal data structures ** - -//************* End of dbpage.c ********************************************* -//************* Begin file sqlite3session.c ********************************* - //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -181035,7 +187145,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+30987 /* "fts5: parser sta..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+32340 /* "fts5: parser sta..." */, 0) //******* End %stack_overflow code ******************************************* (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument var @@ -181358,7 +187468,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+31015 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) + pParse, ts+32368 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) //*********** End %syntax_error code ***************************************** (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument variable @@ -181637,7 +187747,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+31046 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+32399 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } @@ -181711,7 +187821,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 31053 /* "wrong number of ..." */ + var zErr uintptr = ts + 32406 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -181878,7 +187988,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 741 /* "" */ + return ts + 756 /* "" */ } // Implementation of snippet() function. @@ -181905,7 +188015,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 31103 /* "wrong number of ..." */ + var zErr uintptr = ts + 32456 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -182247,13 +188357,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 defer tls.Free(96) *(*[3]Builtin)(unsafe.Pointer(bp /* aBuiltin */)) = [3]Builtin{ - {FzFunc: ts + 31151 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32504 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5SnippetFunction}))}, - {FzFunc: ts + 31159 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32512 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5HighlightFunction}))}, - {FzFunc: ts + 31169 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32522 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5Bm25Function}))}, } @@ -182747,7 +188857,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+5654 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+5669 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -182926,7 +189036,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, ts+31174 /* "prefix" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32527 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 @@ -182953,14 +189063,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+31181 /* "malformed prefix..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32534 /* "malformed prefix..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+31212 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) + ts+32565 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -182971,7 +189081,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31245 /* "prefix length ou..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32598 /* "prefix length ou..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -182984,7 +189094,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+31282 /* "tokenize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32635 /* "tokenize" */, 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 /* &rc */, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nArg)))) @@ -182993,7 +189103,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+31291 /* "multiple tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32644 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { @@ -183012,7 +189122,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31324 /* "parse error in t..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32677 /* "parse error in t..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, @@ -183027,14 +189137,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+31358 /* "content" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32711 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31366 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32719 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = 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 /* &rc */, ts+31398 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40 /* &rc */, ts+32751 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } @@ -183042,9 +189152,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+31404 /* "content_rowid" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32757 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31418 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32771 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, zArg, -1) @@ -183052,9 +189162,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+31456 /* "columnsize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32809 /* "columnsize" */, 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+31467 /* "malformed column..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32820 /* "malformed column..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) @@ -183062,21 +189172,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+4585 /* "detail" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+4600 /* "detail" */, zCmd, nCmd) == 0 { *(*[4]Fts5Enum)(unsafe.Pointer(bp + 48 /* aDetail */)) = [4]Fts5Enum{ - {FzName: ts + 16243 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 16248 /* "full" */}, - {FzName: ts + 31502 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, + {FzName: ts + 16258 /* "none" */, FeVal: FTS5_DETAIL_NONE}, + {FzName: ts + 16263 /* "full" */}, + {FzName: ts + 32855 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } if libc.AssignPtrInt32(bp+40 /* rc */, fts5ConfigSetEnum(tls, bp+48 /* &aDetail[0] */, zArg, (pConfig+92 /* &.eDetail */))) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31510 /* "malformed detail..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32863 /* "malformed detail..." */, 0) } return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31541 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32894 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) return SQLITE_ERROR } @@ -183140,15 +189250,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+20940 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+15156 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31569 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) + if (0 == Xsqlite3_stricmp(tls, zCol, ts+20955 /* "rank" */)) || + (0 == Xsqlite3_stricmp(tls, zCol, ts+15171 /* "rowid" */)) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32922 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) rc = SQLITE_ERROR } else if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, ts+31599 /* "unindexed" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+32952 /* "unindexed" */) { *(*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+31609 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32962 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) rc = SQLITE_ERROR } } @@ -183166,13 +189276,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK *(*Fts5Buffer)(unsafe.Pointer(bp + 32 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+31640 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+32993 /* "T.%Q" */, 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 /* &rc */, bp+32 /* &buf */, ts+31645 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+32998 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+31652 /* ", T.c%d" */, libc.VaList(bp+16, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+33005 /* ", T.c%d" */, libc.VaList(bp+16, i)) } } } @@ -183220,8 +189330,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*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 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+20940 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31660 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+20955 /* "rank" */) == 0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33013 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } @@ -183254,7 +189364,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31689 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33042 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { @@ -183262,7 +189372,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), pzErr) } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)), pzErr) @@ -183287,19 +189397,19 @@ 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 + 31358 /* "content" */ + zTail = ts + 32711 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 31709 /* "docsize" */ + zTail = ts + 33062 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+40 /* &rc */, ts+31717 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+40 /* &rc */, ts+33070 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+15156 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+15171 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -183348,18 +189458,18 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31728 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+33081 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { - return ts + 741 /* "" */ + return ts + 756 /* "" */ } - return ts + 13720 /* ", " */ + return ts + 13735 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31744 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+33097 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31751, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+20940 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+33104, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+20955 /* "rank" */)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -183499,7 +189609,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+31777 /* "pgsz" */) { + if 0 == Xsqlite3_stricmp(tls, zKey, ts+33130 /* "pgsz" */) { var pgsz int32 = 0 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -183509,7 +189619,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+31782 /* "hashsize" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+33135 /* "hashsize" */) { var nHashSize int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -183519,7 +189629,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+31791 /* "automerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+33144 /* "automerge" */) { var nAutomerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -183532,7 +189642,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+31801 /* "usermerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+33154 /* "usermerge" */) { var nUsermerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -183542,7 +189652,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+31811 /* "crisismerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+33164 /* "crisismerge" */) { var nCrisisMerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -183558,7 +189668,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+20940 /* "rank" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+20955 /* "rank" */) { var zIn uintptr = Xsqlite3_value_text(tls, pVal) // var zRank uintptr at bp, 8 @@ -183585,7 +189695,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(52) defer tls.Free(52) - var zSelect uintptr = ts + 31823 /* "SELECT k, v FROM..." */ + var zSelect uintptr = ts + 33176 /* "SELECT k, v FROM..." */ var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK @@ -183608,7 +189718,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */))) { var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 0) var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 1) - if 0 == Xsqlite3_stricmp(tls, zK, ts+31855 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+33208 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 48 /* bDummy */)) = 0 @@ -183623,7 +189733,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+31863, /* "invalid fts5 fil..." */ + ts+33216, /* "invalid fts5 fil..." */ libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } @@ -183757,7 +189867,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+31928 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+33281 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -183770,20 +189880,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+31948 /* "fts5: syntax err..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+33301 /* "fts5: syntax err..." */, 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+31979 /* "OR" */, uint64(2)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+33332 /* "OR" */, uint64(2)) == 0) { tok = FTS5_OR } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+31982 /* "NOT" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+33335 /* "NOT" */, uint64(3)) == 0) { tok = FTS5_NOT } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+28728 /* "AND" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+28743 /* "AND" */, uint64(3)) == 0) { tok = FTS5_AND } break @@ -185756,9 +191866,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli bp := tls.Alloc(16) defer tls.Free(16) - if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+31986 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { + if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+33339 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { sqlite3Fts5ParseError(tls, - pParse, ts+31015 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) + pParse, ts+32368 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -185774,7 +191884,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+31991 /* "expected integer..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp)) + pParse, ts+33344 /* "expected integer..." */, 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')) @@ -185871,7 +191981,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+19323 /* "no such column: ..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+19338 /* "no such column: ..." */, libc.VaList(bp, z)) } else { pRet = fts5ParseColset(tls, pParse, pColset, iCol) } @@ -185967,7 +192077,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE { (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+32020 /* "fts5: column que..." */, 0) + ts+33373 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -186151,12 +192261,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+32073, /* "fts5: %s queries..." */ + ts+33426, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 32123 /* "phrase" */ + return ts + 33476 /* "phrase" */ } - return ts + 31986 /* "NEAR" */ + return ts + 33339 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -187629,7 +193739,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 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+32130 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+33483 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) } // If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls @@ -187717,7 +193827,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 /* &.pWriter */), Xsqlite3_mprintf(tls, - ts+32136, /* "REPLACE INTO '%q..." */ + ts+33489, /* "REPLACE INTO '%q..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return @@ -187745,7 +193855,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig var zSql uintptr = Xsqlite3_mprintf(tls, - ts+32187, /* "DELETE FROM '%q'..." */ + ts+33540, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if fts5IndexPrepareStmt(tls, p, (p+72 /* &.pDeleter */), zSql) != 0 { return @@ -187769,7 +193879,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 88 /* &.pIdxDeleter */), Xsqlite3_mprintf(tls, - ts+32236, /* "DELETE FROM '%q'..." */ + ts+33589, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187977,7 +194087,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12 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 /* &.pDataVersion */), - Xsqlite3_mprintf(tls, ts+32276 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + Xsqlite3_mprintf(tls, ts+33629 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return int64(0) } @@ -189412,7 +195522,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:2 var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 96 /* &.pIdxSelect */), Xsqlite3_mprintf(tls, - ts+32299, /* "SELECT pgno FROM..." */ + ts+33652, /* "SELECT pgno FROM..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect @@ -190669,7 +196779,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { return (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -191010,7 +197120,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 /* &.pIdxWriter */), Xsqlite3_mprintf(tls, - ts+32383, /* "INSERT INTO '%q'..." */ + ts+33736, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -192227,7 +198337,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 fts5StructureInvalidate(tls, p) fts5IndexDiscardData(tls, p) libc.X__builtin___memset_chk(tls, bp /* &s */, 0, uint64(unsafe.Sizeof(Fts5Structure{})), libc.X__builtin_object_size(tls, bp /* &s */, 0)) - fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+741 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+756 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -192248,13 +198358,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == 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 /* &rc */, ts+32440 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8 /* &rc */, ts+33793 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, - pConfig, ts+23759 /* "data" */, ts+32448 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+23774 /* "data" */, ts+33801 /* "id INTEGER PRIMA..." */, 0, pzErr) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+10608, /* "idx" */ - ts+32483, /* "segid, term, pgn..." */ + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+10623, /* "idx" */ + ts+33836, /* "segid, term, pgn..." */ 1, pzErr) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { @@ -192560,7 +198670,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3Fts5Put32(tls, bp /* &aCookie[0] */, iNew) rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, - ts+32130 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) + ts+33483 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)), bp /* &aCookie[0] */, 4, 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */))) @@ -192697,7 +198807,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+32527, /* "SELECT segid, te..." */ + ts+33880, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. @@ -192907,7 +199017,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks } else { (*Fts5Buffer)(unsafe.Pointer(bp + 16 /* &poslist */)).Fn = 0 fts5SegiterPoslist(tls, p, ((*(*uintptr)(unsafe.Pointer(bp /* pIter */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter */)))).FaFirst+1*4)).FiFirst)*120), uintptr(0), bp+16 /* &poslist */) - sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+32613 /* "\x00\x00\x00\x00" */) + sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+33966 /* "\x00\x00\x00\x00" */) for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fn, bp+32 /* &iOff */, bp+40 /* &iPos */) { var iCol int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) >> 32)) var iTokOff int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) & int64(0x7FFFFFFF))) @@ -193318,7 +199428,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+32618 /* "recursively defi..." */, 0) + ts+33971 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -193352,7 +199462,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } else if iCol >= 0 { bSeenMatch = 1 *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('M') - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4485 /* "%d" */, libc.VaList(bp, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4500 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) } @@ -193368,7 +199478,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4485 /* "%d" */, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4500 /* "%d" */, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -193711,7 +199821,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: rc = Xsqlite3_reset(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+2778 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + ts+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -193743,7 +199853,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, uint32(SQLITE_PREPARE_PERSISTENT), bp+8 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -193782,25 +199892,25 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 // // If SQLite a built-in statement cache, this wouldn't be a problem. rc = fts5PrepareStatement(tls, (pSorter /* &.pStmt */), pConfig, - ts+32657, /* "SELECT rowid, ra..." */ + ts+34010, /* "SELECT rowid, ra..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, func() uintptr { if zRankArgs != 0 { - return ts + 13720 /* ", " */ + return ts + 13735 /* ", " */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 32712 /* "DESC" */ + return ts + 34065 /* "DESC" */ } - return ts + 32717 /* "ASC" */ + return ts + 34070 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -193851,13 +199961,13 @@ 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+32721 /* "reads" */, z, n)) { + if (n == 5) && (0 == Xsqlite3_strnicmp(tls, ts+34074 /* "reads" */, 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+4567 /* "id" */, z, n)) { + } else if (n == 2) && (0 == Xsqlite3_strnicmp(tls, ts+4582 /* "id" */, z, n)) { (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { // An unrecognized directive. Return an error message. - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+32727 /* "unknown special ..." */, libc.VaList(bp, n, z)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+34080 /* "unknown special ..." */, libc.VaList(bp, n, z)) rc = SQLITE_ERROR } @@ -193892,7 +200002,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+32755 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+34108 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, @@ -193924,7 +200034,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+32765 /* "no such function..." */, libc.VaList(bp+8, zRank)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+34118 /* "no such function..." */, libc.VaList(bp+8, zRank)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } } @@ -193956,14 +200066,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin *(*int32)(unsafe.Pointer(pCsr + 80 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+32786 /* "parse error in r..." */, libc.VaList(bp, z)) + ts+34139 /* "parse error in r..." */, 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 + 31169 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 32522 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -194029,7 +200139,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+32618 /* "recursively defi..." */, 0) + ts+33971 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -194075,7 +200185,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 741 /* "" */ + zText = ts + 756 /* "" */ __14: ; iCol = 0 @@ -194264,7 +200374,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+32819 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + ts+34172 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = SQLITE_ERROR goto __41 __40: @@ -194401,7 +200511,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql rc = (SQLITE_CORRUPT | (int32(1) << 8)) } else if (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+2778 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) + ts+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) } } } @@ -194438,29 +200548,29 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) var rc int32 = SQLITE_OK *(*int32)(unsafe.Pointer(bp /* bError */)) = 0 - if 0 == Xsqlite3_stricmp(tls, ts+32855 /* "delete-all" */, zCmd) { + if 0 == Xsqlite3_stricmp(tls, ts+34208 /* "delete-all" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { fts5SetVtabError(tls, pTab, - ts+32866 /* "'delete-all' may..." */, 0) + ts+34219 /* "'delete-all' may..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+32946 /* "rebuild" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+34299 /* "rebuild" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE { fts5SetVtabError(tls, pTab, - ts+32954 /* "'rebuild' may no..." */, 0) + ts+34307 /* "'rebuild' may no..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+15843 /* "optimize" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+15858 /* "optimize" */, zCmd) { rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) - } else if 0 == Xsqlite3_stricmp(tls, ts+33010 /* "merge" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+34363 /* "merge" */, 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+33016 /* "integrity-check" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+34369 /* "integrity-check" */, zCmd) { var iArg int32 = Xsqlite3_value_int(tls, pVal) rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg) } else { @@ -194534,7 +200644,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // A "special" INSERT op. These are handled separately. var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*8))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && - (0 == Xsqlite3_stricmp(tls, ts+16382 /* "delete" */, z)) { + (0 == Xsqlite3_stricmp(tls, ts+16397 /* "delete" */, z)) { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*8))) @@ -194559,12 +200669,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // This is not suported. if (eType0 == SQLITE_INTEGER) && (fts5IsContentless(tls, pTab) != 0) { (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+33032, /* "cannot %s conten..." */ + ts+34385, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 19224 /* "UPDATE" */ + return ts + 19239 /* "UPDATE" */ } - return ts + 33069 /* "DELETE from" */ + return ts + 34422 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -195234,7 +201344,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+33081 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) + var zErr uintptr = Xsqlite3_mprintf(tls, ts+34434 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } else { @@ -195539,7 +201649,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+33102 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34455 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 16 /* &.x */ /* &.xCreate */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { @@ -195556,7 +201666,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg (*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = (pMod + 16 /* &.x */) if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33124 /* "error in tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34477 /* "error in tokeniz..." */, 0) } } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls, @@ -195603,7 +201713,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s var ppApi uintptr _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+33155 /* "fts5_api_ptr" */) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+34508 /* "fts5_api_ptr" */) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = (pGlobal /* &.api */) } @@ -195614,7 +201724,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+33168 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, pCtx, ts+34521 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) } // Return true if zName is the extension on one of the shadow tables used @@ -195630,7 +201740,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 33259 /* "config" */, ts + 31358 /* "content" */, ts + 23759 /* "data" */, ts + 31709 /* "docsize" */, ts + 10608, /* "idx" */ + ts + 34612 /* "config" */, ts + 32711 /* "content" */, ts + 23774 /* "data" */, ts + 33062 /* "docsize" */, ts + 10623, /* "idx" */ } /* sqlite3.c:230593:21 */ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ @@ -195654,7 +201764,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ (*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+33266 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) + rc = Xsqlite3_create_module_v2(tls, db, ts+34619 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) if rc == SQLITE_OK { rc = sqlite3Fts5IndexInit(tls, db) } @@ -195672,13 +201782,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+33266 /* "fts5" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+34619 /* "fts5" */, 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+33271 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+34624 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5SourceIdFunc})), uintptr(0), uintptr(0)) } @@ -195744,20 +201854,20 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p if *(*uintptr)(unsafe.Pointer((p + 40 /* &.aStmt */) + uintptr(eStmt)*8)) == uintptr(0) { *(*[11]uintptr)(unsafe.Pointer(bp + 128 /* azStmt */)) = [11]uintptr{ - ts + 33286, /* "SELECT %s FROM %..." */ - ts + 33354, /* "SELECT %s FROM %..." */ - ts + 33423, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 34639, /* "SELECT %s FROM %..." */ + ts + 34707, /* "SELECT %s FROM %..." */ + ts + 34776, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 33456, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 33495, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 33535, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 33574, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 33615, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE + ts + 34809, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT + ts + 34848, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT + ts + 34888, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT + ts + 34927, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE + ts + 34968, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE - ts + 33654, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 35007, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 33696, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 33736, /* "SELECT %s FROM %..." */ // SCAN + ts + 35049, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG + ts + 35089, /* "SELECT %s FROM %..." */ // SCAN } var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr = uintptr(0) @@ -195824,7 +201934,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2778 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -195862,18 +201972,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+33759, /* "DROP TABLE IF EX..." */ + ts+35112, /* "DROP TABLE IF EX..." */ 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+33863, /* "DROP TABLE IF EX..." */ + ts+35216, /* "DROP TABLE IF EX..." */ 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+33901, /* "DROP TABLE IF EX..." */ + ts+35254, /* "DROP TABLE IF EX..." */ libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc @@ -195885,7 +201995,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+33939, /* "ALTER TABLE %Q.'..." */ + ts+35292, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -195897,14 +202007,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp /* rc */)) = sqlite3Fts5StorageSync(tls, pStorage) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+23759 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+10608 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+33259 /* "config" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+23774 /* "data" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+10623 /* "idx" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+34612 /* "config" */, zName) if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+31709 /* "docsize" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+33062 /* "docsize" */, zName) } if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+31358 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32711 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -195918,17 +202028,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn var rc int32 *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+33981, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+35334, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { - return ts + 28374 /* " WITHOUT ROWID" */ + return ts + 28389 /* " WITHOUT ROWID" */ } - return ts + 741 /* "" */ + return ts + 756 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+34011, /* "fts5: error crea..." */ + ts+35364, /* "fts5: error crea..." */ libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } @@ -195970,27 +202080,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+34055 /* "id INTEGER PRIMA..." */, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, ts+35408 /* "id INTEGER PRIMA..." */, 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+34078 /* ", c%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, (nDefn - iOff), (zDefn + uintptr(iOff)), ts+35431 /* ", c%d" */, libc.VaList(bp, i)) iOff = iOff + (int32(libc.Xstrlen(tls, (zDefn + uintptr(iOff))))) } - rc = sqlite3Fts5CreateTable(tls, pConfig, ts+31358 /* "content" */, zDefn, 0, pzErr) + rc = sqlite3Fts5CreateTable(tls, pConfig, ts+32711 /* "content" */, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+31709 /* "docsize" */, ts+34084 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+33062 /* "docsize" */, ts+35437 /* "id INTEGER PRIMA..." */, 0, pzErr) } if rc == SQLITE_OK { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+33259 /* "config" */, ts+34116 /* "k PRIMARY KEY, v" */, 1, pzErr) + pConfig, ts+34612 /* "config" */, ts+35469 /* "k PRIMARY KEY, v" */, 1, pzErr) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+31855 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+33208 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -196227,12 +202337,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: // Delete the contents of the %_data and %_docsize tables. rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+34133, /* "DELETE FROM %Q.'..." */ + ts+35486, /* "DELETE FROM %Q.'..." */ 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+34183, /* "DELETE FROM %Q.'..." */ + ts+35536, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -196242,7 +202352,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+31855 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+33208 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -196437,7 +202547,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+34212, /* "SELECT count(*) ..." */ + zSql = Xsqlite3_mprintf(tls, ts+35565, /* "SELECT count(*) ..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -196634,14 +202744,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // number of rows. if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { *(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+31358 /* "content" */, bp+48 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+32711 /* "content" */, bp+48 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) != (*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 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+31709 /* "docsize" */, bp+56 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+33062 /* "docsize" */, bp+56 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 56 /* nRow */)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) } @@ -196877,9 +202987,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, libc.X__builtin___memcpy_chk(tls, p /* &.aTokenChar */, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)), libc.X__builtin_object_size(tls, p /* &.aTokenChar */, 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+34244 /* "tokenchars" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35597 /* "tokenchars" */) { fts5AsciiAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+34255 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35608 /* "separators" */) { fts5AsciiAddExceptions(tls, p, zArg, 0) } else { rc = SQLITE_ERROR @@ -197119,7 +203229,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 + 34266 /* "L* N* Co" */ + var zCat uintptr = ts + 35619 /* "L* N* Co" */ var i int32 libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})), libc.X__builtin_object_size(tls, p, 0)) @@ -197132,7 +203242,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Search for a "categories" argument for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+34275 /* "categories" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35628 /* "categories" */) { zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*8)) } } @@ -197143,18 +203253,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+34286 /* "remove_diacritic..." */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35639 /* "remove_diacritic..." */) { 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+34244 /* "tokenchars" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35597 /* "tokenchars" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+34255 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35608 /* "separators" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 0) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+34275 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35628 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -197466,7 +203576,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 /* pUserdata */)) = uintptr(0) - var zBase uintptr = ts + 34304 /* "unicode61" */ + var zBase uintptr = ts + 35657 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -197619,7 +203729,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+34314 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35667 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -197627,11 +203737,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34317 /* "ance" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35670 /* "ance" */, (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+34322 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35675 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -197639,7 +203749,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+34327 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35680 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -197647,7 +203757,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+34330 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35683 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -197655,11 +203765,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34333 /* "able" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35686 /* "able" */, (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+34338 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35691 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -197667,19 +203777,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34343 /* "ant" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35696 /* "ant" */, (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+34347 /* "ement" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35700 /* "ement" */, (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+34353 /* "ment" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35706 /* "ment" */, (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+34358 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35711 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -197687,11 +203797,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34362 /* "ion" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35715 /* "ion" */, (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+34366 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35719 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -197699,7 +203809,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34369 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35722 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -197707,11 +203817,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34373 /* "ate" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35726 /* "ate" */, (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+34377 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35730 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -197719,7 +203829,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34381 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35734 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -197727,7 +203837,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34385 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35738 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -197735,7 +203845,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34389 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35742 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -197752,24 +203862,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+34393 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 2))), ts+34373 /* "ate" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-2))), 0)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35746 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 2))), ts+35726 /* "ate" */, 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+34396 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 2))), ts+34399 /* "ble" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-2))), 0)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35749 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 2))), ts+35752 /* "ble" */, 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+34403 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 2))), ts+34389 /* "ize" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-2))), 0)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35756 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 2))), ts+35742 /* "ize" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-2))), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } @@ -197785,137 +203895,137 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34406 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35759 /* "ational" */, (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+34373 /* "ate" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-7))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 7))), ts+35726 /* "ate" */, 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+34414 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+35767 /* "tional" */, (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+34421 /* "tion" */, uint64(4), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-6))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 6))), ts+35774 /* "tion" */, 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+34426 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35779 /* "enci" */, (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+34322 /* "ence" */, uint64(4), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+35675 /* "ence" */, 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+34431 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35784 /* "anci" */, (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+34317 /* "ance" */, uint64(4), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+35670 /* "ance" */, 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+34436 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35789 /* "izer" */, (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+34389 /* "ize" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+35742 /* "ize" */, 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+34441 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35794 /* "logi" */, (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+15177 /* "log" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+15192 /* "log" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'l': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34446 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35799 /* "bli" */, (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+34399 /* "ble" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-3))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 3))), ts+35752 /* "ble" */, 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+34450 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35803 /* "alli" */, (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+34314 /* "al" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+35667 /* "al" */, 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+34455 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35808 /* "entli" */, (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+34358 /* "ent" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+35711 /* "ent" */, 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+34461 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35814 /* "eli" */, (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+34465 /* "e" */, uint64(1), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-3))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 3))), ts+35818 /* "e" */, 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+34467 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35820 /* "ousli" */, (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+34381 /* "ous" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+35734 /* "ous" */, 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+34473 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35826 /* "ization" */, (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+34389 /* "ize" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-7))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 7))), ts+35742 /* "ize" */, 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+34481 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35834 /* "ation" */, (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+34373 /* "ate" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+35726 /* "ate" */, 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+34487 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35840 /* "ator" */, (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+34373 /* "ate" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+35726 /* "ate" */, 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+34492 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35845 /* "alism" */, (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+34314 /* "al" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+35667 /* "al" */, 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+34498 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35851 /* "iveness" */, (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+34385 /* "ive" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-7))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 7))), ts+35738 /* "ive" */, 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+34506 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35859 /* "fulness" */, (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+34514 /* "ful" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-7))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 7))), ts+35867 /* "ful" */, 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+34518 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35871 /* "ousness" */, (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+34381 /* "ous" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-7))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 7))), ts+35734 /* "ous" */, 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+34526 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35879 /* "aliti" */, (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+34314 /* "al" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+35667 /* "al" */, 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+34532 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35885 /* "iviti" */, (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+34385 /* "ive" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+35738 /* "ive" */, 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+34538 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+35891 /* "biliti" */, (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+34399 /* "ble" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-6))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 6))), ts+35752 /* "ble" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-6))), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -197931,16 +204041,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34545 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35898 /* "ical" */, (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+34330 /* "ic" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+35683 /* "ic" */, 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+34550 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35903 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -197948,21 +204058,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34555 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35908 /* "icate" */, (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+34330 /* "ic" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+35683 /* "ic" */, 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+34561 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35914 /* "iciti" */, (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+34330 /* "ic" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+35683 /* "ic" */, 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+34514 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35867 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -197970,7 +204080,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34567 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35920 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 5) } @@ -197978,9 +204088,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34573 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35926 /* "alize" */, (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+34314 /* "al" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+35667 /* "al" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -197996,12 +204106,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'e': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34579 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35932 /* "eed" */, (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+34583 /* "ee" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-3))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 3))), ts+35936 /* "ee" */, 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+34586 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35939 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) ret = 1 @@ -198010,7 +204120,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34589 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35942 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) ret = 1 @@ -198180,7 +204290,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+34593 /* "case_sensitive" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35946 /* "case_sensitive" */) { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { @@ -198370,22 +204480,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: defer tls.Free(128) *(*[4]BuiltinTokenizer)(unsafe.Pointer(bp /* aBuiltin */)) = [4]BuiltinTokenizer{ - {FzName: ts + 34304 /* "unicode61" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35657 /* "unicode61" */, 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 + 34608 /* "ascii" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35961 /* "ascii" */, 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 + 34614 /* "porter" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35967 /* "porter" */, 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 + 34621 /* "trigram" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35974 /* "trigram" */, 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 @@ -199732,14 +205842,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8 /* &rc */, zType, -1) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, ts+34629 /* "col" */) == 0 { + if Xsqlite3_stricmp(tls, zCopy, ts+35982 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL - } else if Xsqlite3_stricmp(tls, zCopy, ts+34633 /* "row" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+35986 /* "row" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW - } else if Xsqlite3_stricmp(tls, zCopy, ts+34637 /* "instance" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+35990 /* "instance" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34646 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35999 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) @@ -199786,19 +205896,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv defer tls.Free(36) *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azSchema */)) = [3]uintptr{ - ts + 34680, /* "CREATE TABlE voc..." */ - ts + 34720, /* "CREATE TABlE voc..." */ - ts + 34755, /* "CREATE TABlE voc..." */ + ts + 36033, /* "CREATE TABlE voc..." */ + ts + 36073, /* "CREATE TABlE voc..." */ + ts + 36108, /* "CREATE TABlE voc..." */ } var pRet uintptr = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK // Return code var bDb int32 - bDb = (libc.Bool32(((argc == 6) && (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4))) && (libc.Xmemcmp(tls, ts+22068 /* "temp" */, *(*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+22083 /* "temp" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0))) if (argc != 5) && (bDb == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34798 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+36151 /* "wrong number of ..." */, 0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR } else { var nByte int32 // Bytes of space to allocate @@ -199950,11 +206060,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+34831 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+36184 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } zSql = sqlite3Fts5Mprintf(tls, bp+64, /* &rc */ - ts+34862, /* "SELECT t.%Q FROM..." */ + ts+36215, /* "SELECT t.%Q FROM..." */ 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 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72 /* &pStmt */, uintptr(0)) @@ -199978,7 +206088,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+34913 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+36266 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } else { @@ -200266,7 +206376,7 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused if pLe != 0 { var zCopy uintptr = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = ts + 741 /* "" */ + zCopy = ts + 756 /* "" */ } (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm + 1)) @@ -200383,7 +206493,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:235171:12: */ var p uintptr = pGlobal - return Xsqlite3_create_module_v2(tls, db, ts+34939 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, ts+36292 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } var fts5Vocab = Sqlite3_module{ @@ -200428,7 +206538,7 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:235516:23: */ - return ts + 34949 /* "2021-06-18 18:36..." */ + return ts + 36302 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -201482,5 +207592,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128 /* .xGetLastError */)) = rbuVfsGetLastError // sqlite3.c:205300:5: } -var ts1 = "COMPILER=gcc-11.1.0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\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\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\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\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%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\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\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing 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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\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\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\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: \"%.*s\"\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=gcc-11.1.0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\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\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\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\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\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\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%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\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\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing 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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\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\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\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: \"%.*s\"\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/lib/sqlite_darwin_arm64.go b/lib/sqlite_darwin_arm64.go index 5bd7aca..4693a61 100644 --- a/lib/sqlite_darwin_arm64.go +++ b/lib/sqlite_darwin_arm64.go @@ -119249,7 +119249,6 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __4 goto __6 __6: - } } @@ -174708,7 +174707,6 @@ __15: goto __14 goto __16 __16: - } // This is a helper function for rbuObjIterCacheTableInfo(). It populates diff --git a/lib/sqlite_linux_386.go b/lib/sqlite_linux_386.go index a361d69..bcb5e2d 100644 --- a/lib/sqlite_linux_386.go +++ b/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 "" -pkgname sqlite3 -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 "" -pkgname sqlite3 -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -1414,6 +1414,9 @@ const ( SEEK_HOLE = 4 SEEK_SET = 0 SELECTTRACE_ENABLED = 0 + SESSIONS_STRM_CHUNK_SIZE = 1024 + SESSION_MAX_BUFFER_SZ = 2147483391 + SESSION_UPDATE_CACHE_SZ = 12 SF_Aggregate = 0x0000008 SF_All = 0x0000002 SF_ComplexResult = 0x0040000 @@ -1560,6 +1563,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -1716,6 +1730,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -2083,6 +2098,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3697,7 +3714,7 @@ type X__float128 = float64 /* :47:21 */ // This array looks large, but in a typical installation actually uses // only a handful of compile-time options, so most times this array is usually // rather short and uses little memory space. -var sqlite3azCompileOpt = [18]uintptr{ +var sqlite3azCompileOpt = [19]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl ts, /* "COMPILER=gcc-8.3..." */ @@ -3710,14 +3727,15 @@ var sqlite3azCompileOpt = [18]uintptr{ ts + 130, /* "ENABLE_PREUPDATE..." */ ts + 152, /* "ENABLE_RBU" */ ts + 163, /* "ENABLE_RTREE" */ - ts + 176, /* "ENABLE_SNAPSHOT" */ - ts + 192, /* "ENABLE_STAT4" */ - ts + 205, /* "ENABLE_UNLOCK_NO..." */ - ts + 226, /* "LIKE_DOESNT_MATC..." */ - ts + 250, /* "MUTEX_NOOP" */ - ts + 261, /* "SOUNDEX" */ - ts + 269, /* "SYSTEM_MALLOC" */ - ts + 283, /* "THREADSAFE=1" */ + ts + 176, /* "ENABLE_SESSION" */ + ts + 191, /* "ENABLE_SNAPSHOT" */ + ts + 207, /* "ENABLE_STAT4" */ + ts + 220, /* "ENABLE_UNLOCK_NO..." */ + ts + 241, /* "LIKE_DOESNT_MATC..." */ + ts + 265, /* "MUTEX_NOOP" */ + ts + 276, /* "SOUNDEX" */ + ts + 284, /* "SYSTEM_MALLOC" */ + ts + 298, /* "THREADSAFE=1" */ // END CODE GENERATED BY tool/mkctime.tcl } /* sqlite3.c:72:19 */ @@ -4033,7 +4051,7 @@ type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ // of the hash might be different from [SQLITE_SOURCE_ID].)^ // // See also: [sqlite_version()] and [sqlite_source_id()]. -var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 296 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ +var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 311 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -6569,6 +6587,493 @@ type Sqlite3_rtree_dbl = float64 /* sqlite3.c:11048:18 */ //******* End of sqlite3rtree.h ******** //******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type sqlite3_session = struct { + Fdb uintptr + FzDb uintptr + FbEnableSize int32 + FbEnable int32 + FbIndirect int32 + FbAutoAttach int32 + Frc int32 + FpFilterCtx uintptr + FxTableFilter uintptr + FnMalloc I64 + FnMaxChangesetSize I64 + FpZeroBlob uintptr + FpNext uintptr + FpTable uintptr + Fhook SessionHook +} /* sqlite3.c:11155:9 */ + +// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. + +//******* End of sqlite3rtree.h ******** +//******* Begin file sqlite3session.h ******** + +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type sqlite3_changeset_iter = struct { + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + FabPK uintptr + FapValue uintptr +} /* sqlite3.c:11163:9 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type Sqlite3_changeset_iter = sqlite3_changeset_iter /* sqlite3.c:11163:39 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type sqlite3_changegroup = struct { + Frc int32 + FbPatch int32 + FpList uintptr +} /* sqlite3.c:12015:9 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type Sqlite3_changegroup = sqlite3_changegroup /* sqlite3.c:12015:36 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type sqlite3_rebaser = struct{ Fgrp Sqlite3_changegroup } /* sqlite3.c:12579:9 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ + +// CAPI3REF: Values for sqlite3session_config(). + +// Make sure we can call this stuff from C++. + //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** // 2014 May 31 @@ -6618,10 +7123,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.c:12895:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -11032,7 +11536,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 303 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 318 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -12176,7 +12680,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+310 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+325 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { goto __9 } return 1 @@ -12213,13 +12717,13 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 // var s int32 at bp+32, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+318 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+333 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+326 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+341 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -12338,7 +12842,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+330 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+345 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -12419,7 +12923,7 @@ func parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) i return 0 } else if parseHhMmSs(tls, zDate, p) == 0 { return 0 - } else if (Xsqlite3StrICmp(tls, zDate, ts+342 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { + } else if (Xsqlite3StrICmp(tls, zDate, ts+357 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { return setDateTimeToCurrent(tls, context, p) } else if Xsqlite3AtoF(tls, zDate, bp /* &r */, Xsqlite3Strlen30(tls, zDate), uint8(SQLITE_UTF8)) > 0 { setRawDateNumber(tls, p, *(*float64)(unsafe.Pointer(bp /* r */))) @@ -12601,7 +13105,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite computeJD(tls, bp+44 /* &x */) *(*Time_t)(unsafe.Pointer(bp + 92 /* t */)) = (Time_t(((*DateTime)(unsafe.Pointer(bp+44 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000)))) if osLocaltime(tls, bp+92 /* &t */, bp /* &sLocal */) != 0 { - Xsqlite3_result_error(tls, pCtx, ts+346 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+361 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -12636,12 +13140,12 @@ var aXformType = [6]struct { FrLimit float64 FrXform float64 }{ - {FnName: U8(6), FzName: ts + 369 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, - {FnName: U8(6), FzName: ts + 376 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, - {FnName: U8(4), FzName: ts + 383 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, - {FnName: U8(3), FzName: ts + 388 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, - {FeType: U8(1), FnName: U8(5), FzName: ts + 392 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, - {FeType: U8(2), FnName: U8(4), FzName: ts + 398 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, + {FnName: U8(6), FzName: ts + 384 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, + {FnName: U8(6), FzName: ts + 391 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, + {FnName: U8(4), FzName: ts + 398 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, + {FnName: U8(3), FzName: ts + 403 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, + {FeType: U8(1), FnName: U8(5), FzName: ts + 407 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, + {FeType: U8(2), FnName: U8(4), FzName: ts + 413 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, } /* sqlite3.c:22795:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -12680,7 +13184,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Assuming the current time value is UTC (a.k.a. GMT), shift it to // show local time. - if (Xsqlite3_stricmp(tls, z, ts+403 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + if (Xsqlite3_stricmp(tls, z, ts+418 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { computeJD(tls, p) *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (localtimeOffset(tls, p, pCtx, bp /* &rc */)) clearYMD_HMS_TZ(tls, p) @@ -12694,7 +13198,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Treat the current value of p->s as the number of // seconds since 1970. Convert to a real julian day number. - if (Xsqlite3_stricmp(tls, z, ts+413 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { + if (Xsqlite3_stricmp(tls, z, ts+428 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { *(*float64)(unsafe.Pointer(bp + 4 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 4 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 4 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) @@ -12703,7 +13207,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+423 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + } else if (Xsqlite3_stricmp(tls, z, ts+438 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { if int32((*DateTime)(unsafe.Pointer(p)).FtzSet) == 0 { var c1 Sqlite3_int64 computeJD(tls, p) @@ -12728,7 +13232,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // Move the date to the same time on the next occurrence of // weekday N where 0==Sunday, 1==Monday, and so forth. If the // date is already on the appropriate weekday, this is a no-op. - if ((((Xsqlite3_strnicmp(tls, z, ts+427 /* "weekday " */, 8) == 0) && + if ((((Xsqlite3_strnicmp(tls, z, ts+442 /* "weekday " */, 8) == 0) && (Xsqlite3AtoF(tls, (z+8), bp+4 /* &r */, Xsqlite3Strlen30(tls, (z+8)), uint8(SQLITE_UTF8)) > 0)) && ((float64(libc.AssignInt32(&n, int32(*(*float64)(unsafe.Pointer(bp + 4 /* r */)))))) == *(*float64)(unsafe.Pointer(bp + 4 /* r */)))) && (n >= 0)) && (*(*float64)(unsafe.Pointer(bp + 4 /* r */)) < float64(7)) { var Z Sqlite3_int64 @@ -12753,7 +13257,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Move the date backwards to the beginning of the current day, // or month or year. - if Xsqlite3_strnicmp(tls, z, ts+436 /* "start of " */, 9) != 0 { + if Xsqlite3_strnicmp(tls, z, ts+451 /* "start of " */, 9) != 0 { break } if (!(int32((*DateTime)(unsafe.Pointer(p)).FvalidJD) != 0) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidYMD) != 0)) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidHMS) != 0) { @@ -12767,14 +13271,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - if Xsqlite3_stricmp(tls, z, ts+392 /* "month" */) == 0 { + if Xsqlite3_stricmp(tls, z, ts+407 /* "month" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+398 /* "year" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+413 /* "year" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FM = 1 (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+388 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+403 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -12995,7 +13499,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // var zBuf [100]int8 at bp+96, 100 computeYMD_HMS(tls, bp+48 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+446, /* "%04d-%02d-%02d %..." */ + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+461, /* "%04d-%02d-%02d %..." */ libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } @@ -13014,7 +13518,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeHMS(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+476 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+491 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13032,7 +13536,7 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeYMD(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+491 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+506 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13159,7 +13663,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (Size_t(2)) break fallthrough @@ -13169,14 +13673,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+511 /* "%06.3f" */, libc.VaList(bp+8, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+526 /* "%06.3f" */, libc.VaList(bp+8, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) j = j + (Size_t(2)) break fallthrough @@ -13194,10 +13698,10 @@ __3: if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday wd = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) j = j + (Size_t(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+518 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+533 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) j = j + (Size_t(3)) } break @@ -13206,19 +13710,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+523 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+538 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) j = j + (Size_t(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) j = j + (Size_t(2)) break fallthrough @@ -13232,7 +13736,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (Size_t(2)) break fallthrough @@ -13245,7 +13749,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+529 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+544 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -13302,14 +13806,14 @@ func Xsqlite3RegisterDateTimeFunctions(tls *libc.TLS) { /* sqlite3.c:23404:21: * } var aDateTimeFuncs = [8]FuncDef{ - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 534 /* "julianday" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 544 /* "date" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 549 /* "time" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 554 /* "datetime" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 563 /* "strftime" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 572 /* "current_time" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 585 /* "current_timestam..." */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 603 /* "current_date" */}} /* sqlite3.c:23405:18 */ + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 549 /* "julianday" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 559 /* "date" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 564 /* "time" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 569 /* "datetime" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 578 /* "strftime" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 587 /* "current_time" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 600 /* "current_timestam..." */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 618 /* "current_date" */}} /* sqlite3.c:23405:18 */ //************* End of date.c *********************************************** //************* Begin file os.c ********************************************* @@ -13886,7 +14390,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p += 8 } else { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+616 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+631 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -13937,7 +14441,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* } else { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+654, /* "failed memory re..." */ + ts+669, /* "failed memory re..." */ libc.VaList(bp, sqlite3MemSize(tls, pPrior), nByte)) } return p @@ -15121,8 +15625,8 @@ type Et_info = et_info /* sqlite3.c:28672:3 */ // The following table is searched linearly, so it is good to put the // most frequently used conversion types first. -var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 690 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 723 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ +var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 705 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 738 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ var fmtinfo = [23]Et_info{ {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, {Ffmttype: int8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, @@ -15376,7 +15880,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+730 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+745 /* "%" */, 1) goto __5 __11: ; @@ -15959,7 +16463,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 732 /* "NaN" */ + bufpt = ts + 747 /* "NaN" */ length = 3 goto __58 __127: @@ -16019,7 +16523,7 @@ __138: } bufpt = bp + 8 /* &buf[0] */ *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix - libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+736 /* "Inf" */, uint32(4)) + libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+751 /* "Inf" */, uint32(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: @@ -16376,7 +16880,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 740 /* "" */ + bufpt = ts + 755 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -16505,9 +17009,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 741 /* "NULL" */ + return ts + 756 /* "NULL" */ } - return ts + 746 /* "(NULL)" */ + return ts + 761 /* "(NULL)" */ }() __220: ; @@ -16642,7 +17146,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+753 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+768 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -16657,7 +17161,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+755 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, ts+770 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) __247: ; __246: @@ -16720,7 +17224,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 767 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 782 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -18931,7 +19435,7 @@ func compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) int32 { /* sqlite3.c var c int32 = 0 var i int32 // 012345678901234567 - var pow63 uintptr = ts + 776 /* "9223372036854775..." */ + var pow63 uintptr = ts + 791 /* "9223372036854775..." */ for i = 0; (c == 0) && (i < 18); i++ { c = ((int32(*(*int8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) } @@ -19581,7 +20085,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+795, /* "API call with %s..." */ + ts+810, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -19600,14 +20104,14 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ func Xsqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:33054:20: */ var magic U32 if db == uintptr(0) { - logBadConnection(tls, ts+741 /* "NULL" */) + logBadConnection(tls, ts+756 /* "NULL" */) return 0 } magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if magic != SQLITE_MAGIC_OPEN { if Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 { - logBadConnection(tls, ts+840 /* "unopened" */) + logBadConnection(tls, ts+855 /* "unopened" */) } return 0 } else { @@ -19621,7 +20125,7 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if ((magic != U32(SQLITE_MAGIC_SICK)) && (magic != SQLITE_MAGIC_OPEN)) && (magic != SQLITE_MAGIC_BUSY) { - logBadConnection(tls, ts+849 /* "invalid" */) + logBadConnection(tls, ts+864 /* "invalid" */) return 0 } else { return 1 @@ -20149,186 +20653,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 0 */ ts + 857, /* "Savepoint" */ - /* 1 */ ts + 867, /* "AutoCommit" */ - /* 2 */ ts + 878, /* "Transaction" */ - /* 3 */ ts + 890, /* "SorterNext" */ - /* 4 */ ts + 901, /* "Prev" */ - /* 5 */ ts + 906, /* "Next" */ - /* 6 */ ts + 911, /* "Checkpoint" */ - /* 7 */ ts + 922, /* "JournalMode" */ - /* 8 */ ts + 934, /* "Vacuum" */ - /* 9 */ ts + 941, /* "VFilter" */ - /* 10 */ ts + 949, /* "VUpdate" */ - /* 11 */ ts + 957, /* "Goto" */ - /* 12 */ ts + 962, /* "Gosub" */ - /* 13 */ ts + 968, /* "InitCoroutine" */ - /* 14 */ ts + 982, /* "Yield" */ - /* 15 */ ts + 988, /* "MustBeInt" */ - /* 16 */ ts + 998, /* "Jump" */ - /* 17 */ ts + 1003, /* "Once" */ - /* 18 */ ts + 1008, /* "If" */ - /* 19 */ ts + 1011, /* "Not" */ - /* 20 */ ts + 1015, /* "IfNot" */ - /* 21 */ ts + 1021, /* "IfNullRow" */ - /* 22 */ ts + 1031, /* "SeekLT" */ - /* 23 */ ts + 1038, /* "SeekLE" */ - /* 24 */ ts + 1045, /* "SeekGE" */ - /* 25 */ ts + 1052, /* "SeekGT" */ - /* 26 */ ts + 1059, /* "IfNotOpen" */ - /* 27 */ ts + 1069, /* "IfNoHope" */ - /* 28 */ ts + 1078, /* "NoConflict" */ - /* 29 */ ts + 1089, /* "NotFound" */ - /* 30 */ ts + 1098, /* "Found" */ - /* 31 */ ts + 1104, /* "SeekRowid" */ - /* 32 */ ts + 1114, /* "NotExists" */ - /* 33 */ ts + 1124, /* "Last" */ - /* 34 */ ts + 1129, /* "IfSmaller" */ - /* 35 */ ts + 1139, /* "SorterSort" */ - /* 36 */ ts + 1150, /* "Sort" */ - /* 37 */ ts + 1155, /* "Rewind" */ - /* 38 */ ts + 1162, /* "IdxLE" */ - /* 39 */ ts + 1168, /* "IdxGT" */ - /* 40 */ ts + 1174, /* "IdxLT" */ - /* 41 */ ts + 1180, /* "IdxGE" */ - /* 42 */ ts + 1186, /* "RowSetRead" */ - /* 43 */ ts + 1197, /* "Or" */ - /* 44 */ ts + 1200, /* "And" */ - /* 45 */ ts + 1204, /* "RowSetTest" */ - /* 46 */ ts + 1215, /* "Program" */ - /* 47 */ ts + 1223, /* "FkIfZero" */ - /* 48 */ ts + 1232, /* "IfPos" */ - /* 49 */ ts + 1238, /* "IfNotZero" */ - /* 50 */ ts + 1248, /* "IsNull" */ - /* 51 */ ts + 1255, /* "NotNull" */ - /* 52 */ ts + 1263, /* "Ne" */ - /* 53 */ ts + 1266, /* "Eq" */ - /* 54 */ ts + 1269, /* "Gt" */ - /* 55 */ ts + 1272, /* "Le" */ - /* 56 */ ts + 1275, /* "Lt" */ - /* 57 */ ts + 1278, /* "Ge" */ - /* 58 */ ts + 1281, /* "ElseEq" */ - /* 59 */ ts + 1288, /* "DecrJumpZero" */ - /* 60 */ ts + 1301, /* "IncrVacuum" */ - /* 61 */ ts + 1312, /* "VNext" */ - /* 62 */ ts + 1318, /* "Init" */ - /* 63 */ ts + 1323, /* "PureFunc" */ - /* 64 */ ts + 1332, /* "Function" */ - /* 65 */ ts + 1341, /* "Return" */ - /* 66 */ ts + 1348, /* "EndCoroutine" */ - /* 67 */ ts + 1361, /* "HaltIfNull" */ - /* 68 */ ts + 1372, /* "Halt" */ - /* 69 */ ts + 1377, /* "Integer" */ - /* 70 */ ts + 1385, /* "Int64" */ - /* 71 */ ts + 1391, /* "String" */ - /* 72 */ ts + 1398, /* "Null" */ - /* 73 */ ts + 1403, /* "SoftNull" */ - /* 74 */ ts + 1412, /* "Blob" */ - /* 75 */ ts + 1417, /* "Variable" */ - /* 76 */ ts + 1426, /* "Move" */ - /* 77 */ ts + 1431, /* "Copy" */ - /* 78 */ ts + 1436, /* "SCopy" */ - /* 79 */ ts + 1442, /* "IntCopy" */ - /* 80 */ ts + 1450, /* "ChngCntRow" */ - /* 81 */ ts + 1461, /* "ResultRow" */ - /* 82 */ ts + 1471, /* "CollSeq" */ - /* 83 */ ts + 1479, /* "AddImm" */ - /* 84 */ ts + 1486, /* "RealAffinity" */ - /* 85 */ ts + 1499, /* "Cast" */ - /* 86 */ ts + 1504, /* "Permutation" */ - /* 87 */ ts + 1516, /* "Compare" */ - /* 88 */ ts + 1524, /* "IsTrue" */ - /* 89 */ ts + 1531, /* "ZeroOrNull" */ - /* 90 */ ts + 1542, /* "Offset" */ - /* 91 */ ts + 1549, /* "Column" */ - /* 92 */ ts + 1556, /* "Affinity" */ - /* 93 */ ts + 1565, /* "MakeRecord" */ - /* 94 */ ts + 1576, /* "Count" */ - /* 95 */ ts + 1582, /* "ReadCookie" */ - /* 96 */ ts + 1593, /* "SetCookie" */ - /* 97 */ ts + 1603, /* "ReopenIdx" */ - /* 98 */ ts + 1613, /* "OpenRead" */ - /* 99 */ ts + 1622, /* "OpenWrite" */ - /* 100 */ ts + 1632, /* "OpenDup" */ - /* 101 */ ts + 1640, /* "OpenAutoindex" */ - /* 102 */ ts + 1654, /* "BitAnd" */ - /* 103 */ ts + 1661, /* "BitOr" */ - /* 104 */ ts + 1667, /* "ShiftLeft" */ - /* 105 */ ts + 1677, /* "ShiftRight" */ - /* 106 */ ts + 1688, /* "Add" */ - /* 107 */ ts + 1692, /* "Subtract" */ - /* 108 */ ts + 1701, /* "Multiply" */ - /* 109 */ ts + 1710, /* "Divide" */ - /* 110 */ ts + 1717, /* "Remainder" */ - /* 111 */ ts + 1727, /* "Concat" */ - /* 112 */ ts + 1734, /* "OpenEphemeral" */ - /* 113 */ ts + 1748, /* "BitNot" */ - /* 114 */ ts + 1755, /* "SorterOpen" */ - /* 115 */ ts + 1766, /* "SequenceTest" */ - /* 116 */ ts + 1779, /* "String8" */ - /* 117 */ ts + 1787, /* "OpenPseudo" */ - /* 118 */ ts + 1798, /* "Close" */ - /* 119 */ ts + 1804, /* "ColumnsUsed" */ - /* 120 */ ts + 1816, /* "SeekScan" */ - /* 121 */ ts + 1825, /* "SeekHit" */ - /* 122 */ ts + 1833, /* "Sequence" */ - /* 123 */ ts + 1842, /* "NewRowid" */ - /* 124 */ ts + 1851, /* "Insert" */ - /* 125 */ ts + 1858, /* "RowCell" */ - /* 126 */ ts + 1866, /* "Delete" */ - /* 127 */ ts + 1873, /* "ResetCount" */ - /* 128 */ ts + 1884, /* "SorterCompare" */ - /* 129 */ ts + 1898, /* "SorterData" */ - /* 130 */ ts + 1909, /* "RowData" */ - /* 131 */ ts + 1917, /* "Rowid" */ - /* 132 */ ts + 1923, /* "NullRow" */ - /* 133 */ ts + 1931, /* "SeekEnd" */ - /* 134 */ ts + 1939, /* "IdxInsert" */ - /* 135 */ ts + 1949, /* "SorterInsert" */ - /* 136 */ ts + 1962, /* "IdxDelete" */ - /* 137 */ ts + 1972, /* "DeferredSeek" */ - /* 138 */ ts + 1985, /* "IdxRowid" */ - /* 139 */ ts + 1994, /* "FinishSeek" */ - /* 140 */ ts + 2005, /* "Destroy" */ - /* 141 */ ts + 2013, /* "Clear" */ - /* 142 */ ts + 2019, /* "ResetSorter" */ - /* 143 */ ts + 2031, /* "CreateBtree" */ - /* 144 */ ts + 2043, /* "SqlExec" */ - /* 145 */ ts + 2051, /* "ParseSchema" */ - /* 146 */ ts + 2063, /* "LoadAnalysis" */ - /* 147 */ ts + 2076, /* "DropTable" */ - /* 148 */ ts + 2086, /* "DropIndex" */ - /* 149 */ ts + 2096, /* "DropTrigger" */ - /* 150 */ ts + 2108, /* "IntegrityCk" */ - /* 151 */ ts + 2120, /* "RowSetAdd" */ - /* 152 */ ts + 2130, /* "Real" */ - /* 153 */ ts + 2135, /* "Param" */ - /* 154 */ ts + 2141, /* "FkCounter" */ - /* 155 */ ts + 2151, /* "MemMax" */ - /* 156 */ ts + 2158, /* "OffsetLimit" */ - /* 157 */ ts + 2170, /* "AggInverse" */ - /* 158 */ ts + 2181, /* "AggStep" */ - /* 159 */ ts + 2189, /* "AggStep1" */ - /* 160 */ ts + 2198, /* "AggValue" */ - /* 161 */ ts + 2207, /* "AggFinal" */ - /* 162 */ ts + 2216, /* "Expire" */ - /* 163 */ ts + 2223, /* "CursorLock" */ - /* 164 */ ts + 2234, /* "CursorUnlock" */ - /* 165 */ ts + 2247, /* "TableLock" */ - /* 166 */ ts + 2257, /* "VBegin" */ - /* 167 */ ts + 2264, /* "VCreate" */ - /* 168 */ ts + 2272, /* "VDestroy" */ - /* 169 */ ts + 2281, /* "VOpen" */ - /* 170 */ ts + 2287, /* "VColumn" */ - /* 171 */ ts + 2295, /* "VRename" */ - /* 172 */ ts + 2303, /* "Pagecount" */ - /* 173 */ ts + 2313, /* "MaxPgcnt" */ - /* 174 */ ts + 2322, /* "Trace" */ - /* 175 */ ts + 2328, /* "CursorHint" */ - /* 176 */ ts + 2339, /* "ReleaseReg" */ - /* 177 */ ts + 2350, /* "Noop" */ - /* 178 */ ts + 2355, /* "Explain" */ - /* 179 */ ts + 2363, /* "Abortable" */ + /* 0 */ ts + 872, /* "Savepoint" */ + /* 1 */ ts + 882, /* "AutoCommit" */ + /* 2 */ ts + 893, /* "Transaction" */ + /* 3 */ ts + 905, /* "SorterNext" */ + /* 4 */ ts + 916, /* "Prev" */ + /* 5 */ ts + 921, /* "Next" */ + /* 6 */ ts + 926, /* "Checkpoint" */ + /* 7 */ ts + 937, /* "JournalMode" */ + /* 8 */ ts + 949, /* "Vacuum" */ + /* 9 */ ts + 956, /* "VFilter" */ + /* 10 */ ts + 964, /* "VUpdate" */ + /* 11 */ ts + 972, /* "Goto" */ + /* 12 */ ts + 977, /* "Gosub" */ + /* 13 */ ts + 983, /* "InitCoroutine" */ + /* 14 */ ts + 997, /* "Yield" */ + /* 15 */ ts + 1003, /* "MustBeInt" */ + /* 16 */ ts + 1013, /* "Jump" */ + /* 17 */ ts + 1018, /* "Once" */ + /* 18 */ ts + 1023, /* "If" */ + /* 19 */ ts + 1026, /* "Not" */ + /* 20 */ ts + 1030, /* "IfNot" */ + /* 21 */ ts + 1036, /* "IfNullRow" */ + /* 22 */ ts + 1046, /* "SeekLT" */ + /* 23 */ ts + 1053, /* "SeekLE" */ + /* 24 */ ts + 1060, /* "SeekGE" */ + /* 25 */ ts + 1067, /* "SeekGT" */ + /* 26 */ ts + 1074, /* "IfNotOpen" */ + /* 27 */ ts + 1084, /* "IfNoHope" */ + /* 28 */ ts + 1093, /* "NoConflict" */ + /* 29 */ ts + 1104, /* "NotFound" */ + /* 30 */ ts + 1113, /* "Found" */ + /* 31 */ ts + 1119, /* "SeekRowid" */ + /* 32 */ ts + 1129, /* "NotExists" */ + /* 33 */ ts + 1139, /* "Last" */ + /* 34 */ ts + 1144, /* "IfSmaller" */ + /* 35 */ ts + 1154, /* "SorterSort" */ + /* 36 */ ts + 1165, /* "Sort" */ + /* 37 */ ts + 1170, /* "Rewind" */ + /* 38 */ ts + 1177, /* "IdxLE" */ + /* 39 */ ts + 1183, /* "IdxGT" */ + /* 40 */ ts + 1189, /* "IdxLT" */ + /* 41 */ ts + 1195, /* "IdxGE" */ + /* 42 */ ts + 1201, /* "RowSetRead" */ + /* 43 */ ts + 1212, /* "Or" */ + /* 44 */ ts + 1215, /* "And" */ + /* 45 */ ts + 1219, /* "RowSetTest" */ + /* 46 */ ts + 1230, /* "Program" */ + /* 47 */ ts + 1238, /* "FkIfZero" */ + /* 48 */ ts + 1247, /* "IfPos" */ + /* 49 */ ts + 1253, /* "IfNotZero" */ + /* 50 */ ts + 1263, /* "IsNull" */ + /* 51 */ ts + 1270, /* "NotNull" */ + /* 52 */ ts + 1278, /* "Ne" */ + /* 53 */ ts + 1281, /* "Eq" */ + /* 54 */ ts + 1284, /* "Gt" */ + /* 55 */ ts + 1287, /* "Le" */ + /* 56 */ ts + 1290, /* "Lt" */ + /* 57 */ ts + 1293, /* "Ge" */ + /* 58 */ ts + 1296, /* "ElseEq" */ + /* 59 */ ts + 1303, /* "DecrJumpZero" */ + /* 60 */ ts + 1316, /* "IncrVacuum" */ + /* 61 */ ts + 1327, /* "VNext" */ + /* 62 */ ts + 1333, /* "Init" */ + /* 63 */ ts + 1338, /* "PureFunc" */ + /* 64 */ ts + 1347, /* "Function" */ + /* 65 */ ts + 1356, /* "Return" */ + /* 66 */ ts + 1363, /* "EndCoroutine" */ + /* 67 */ ts + 1376, /* "HaltIfNull" */ + /* 68 */ ts + 1387, /* "Halt" */ + /* 69 */ ts + 1392, /* "Integer" */ + /* 70 */ ts + 1400, /* "Int64" */ + /* 71 */ ts + 1406, /* "String" */ + /* 72 */ ts + 1413, /* "Null" */ + /* 73 */ ts + 1418, /* "SoftNull" */ + /* 74 */ ts + 1427, /* "Blob" */ + /* 75 */ ts + 1432, /* "Variable" */ + /* 76 */ ts + 1441, /* "Move" */ + /* 77 */ ts + 1446, /* "Copy" */ + /* 78 */ ts + 1451, /* "SCopy" */ + /* 79 */ ts + 1457, /* "IntCopy" */ + /* 80 */ ts + 1465, /* "ChngCntRow" */ + /* 81 */ ts + 1476, /* "ResultRow" */ + /* 82 */ ts + 1486, /* "CollSeq" */ + /* 83 */ ts + 1494, /* "AddImm" */ + /* 84 */ ts + 1501, /* "RealAffinity" */ + /* 85 */ ts + 1514, /* "Cast" */ + /* 86 */ ts + 1519, /* "Permutation" */ + /* 87 */ ts + 1531, /* "Compare" */ + /* 88 */ ts + 1539, /* "IsTrue" */ + /* 89 */ ts + 1546, /* "ZeroOrNull" */ + /* 90 */ ts + 1557, /* "Offset" */ + /* 91 */ ts + 1564, /* "Column" */ + /* 92 */ ts + 1571, /* "Affinity" */ + /* 93 */ ts + 1580, /* "MakeRecord" */ + /* 94 */ ts + 1591, /* "Count" */ + /* 95 */ ts + 1597, /* "ReadCookie" */ + /* 96 */ ts + 1608, /* "SetCookie" */ + /* 97 */ ts + 1618, /* "ReopenIdx" */ + /* 98 */ ts + 1628, /* "OpenRead" */ + /* 99 */ ts + 1637, /* "OpenWrite" */ + /* 100 */ ts + 1647, /* "OpenDup" */ + /* 101 */ ts + 1655, /* "OpenAutoindex" */ + /* 102 */ ts + 1669, /* "BitAnd" */ + /* 103 */ ts + 1676, /* "BitOr" */ + /* 104 */ ts + 1682, /* "ShiftLeft" */ + /* 105 */ ts + 1692, /* "ShiftRight" */ + /* 106 */ ts + 1703, /* "Add" */ + /* 107 */ ts + 1707, /* "Subtract" */ + /* 108 */ ts + 1716, /* "Multiply" */ + /* 109 */ ts + 1725, /* "Divide" */ + /* 110 */ ts + 1732, /* "Remainder" */ + /* 111 */ ts + 1742, /* "Concat" */ + /* 112 */ ts + 1749, /* "OpenEphemeral" */ + /* 113 */ ts + 1763, /* "BitNot" */ + /* 114 */ ts + 1770, /* "SorterOpen" */ + /* 115 */ ts + 1781, /* "SequenceTest" */ + /* 116 */ ts + 1794, /* "String8" */ + /* 117 */ ts + 1802, /* "OpenPseudo" */ + /* 118 */ ts + 1813, /* "Close" */ + /* 119 */ ts + 1819, /* "ColumnsUsed" */ + /* 120 */ ts + 1831, /* "SeekScan" */ + /* 121 */ ts + 1840, /* "SeekHit" */ + /* 122 */ ts + 1848, /* "Sequence" */ + /* 123 */ ts + 1857, /* "NewRowid" */ + /* 124 */ ts + 1866, /* "Insert" */ + /* 125 */ ts + 1873, /* "RowCell" */ + /* 126 */ ts + 1881, /* "Delete" */ + /* 127 */ ts + 1888, /* "ResetCount" */ + /* 128 */ ts + 1899, /* "SorterCompare" */ + /* 129 */ ts + 1913, /* "SorterData" */ + /* 130 */ ts + 1924, /* "RowData" */ + /* 131 */ ts + 1932, /* "Rowid" */ + /* 132 */ ts + 1938, /* "NullRow" */ + /* 133 */ ts + 1946, /* "SeekEnd" */ + /* 134 */ ts + 1954, /* "IdxInsert" */ + /* 135 */ ts + 1964, /* "SorterInsert" */ + /* 136 */ ts + 1977, /* "IdxDelete" */ + /* 137 */ ts + 1987, /* "DeferredSeek" */ + /* 138 */ ts + 2000, /* "IdxRowid" */ + /* 139 */ ts + 2009, /* "FinishSeek" */ + /* 140 */ ts + 2020, /* "Destroy" */ + /* 141 */ ts + 2028, /* "Clear" */ + /* 142 */ ts + 2034, /* "ResetSorter" */ + /* 143 */ ts + 2046, /* "CreateBtree" */ + /* 144 */ ts + 2058, /* "SqlExec" */ + /* 145 */ ts + 2066, /* "ParseSchema" */ + /* 146 */ ts + 2078, /* "LoadAnalysis" */ + /* 147 */ ts + 2091, /* "DropTable" */ + /* 148 */ ts + 2101, /* "DropIndex" */ + /* 149 */ ts + 2111, /* "DropTrigger" */ + /* 150 */ ts + 2123, /* "IntegrityCk" */ + /* 151 */ ts + 2135, /* "RowSetAdd" */ + /* 152 */ ts + 2145, /* "Real" */ + /* 153 */ ts + 2150, /* "Param" */ + /* 154 */ ts + 2156, /* "FkCounter" */ + /* 155 */ ts + 2166, /* "MemMax" */ + /* 156 */ ts + 2173, /* "OffsetLimit" */ + /* 157 */ ts + 2185, /* "AggInverse" */ + /* 158 */ ts + 2196, /* "AggStep" */ + /* 159 */ ts + 2204, /* "AggStep1" */ + /* 160 */ ts + 2213, /* "AggValue" */ + /* 161 */ ts + 2222, /* "AggFinal" */ + /* 162 */ ts + 2231, /* "Expire" */ + /* 163 */ ts + 2238, /* "CursorLock" */ + /* 164 */ ts + 2249, /* "CursorUnlock" */ + /* 165 */ ts + 2262, /* "TableLock" */ + /* 166 */ ts + 2272, /* "VBegin" */ + /* 167 */ ts + 2279, /* "VCreate" */ + /* 168 */ ts + 2287, /* "VDestroy" */ + /* 169 */ ts + 2296, /* "VOpen" */ + /* 170 */ ts + 2302, /* "VColumn" */ + /* 171 */ ts + 2310, /* "VRename" */ + /* 172 */ ts + 2318, /* "Pagecount" */ + /* 173 */ ts + 2328, /* "MaxPgcnt" */ + /* 174 */ ts + 2337, /* "Trace" */ + /* 175 */ ts + 2343, /* "CursorHint" */ + /* 176 */ ts + 2354, /* "ReleaseReg" */ + /* 177 */ ts + 2365, /* "Noop" */ + /* 178 */ ts + 2370, /* "Explain" */ + /* 179 */ ts + 2378, /* "Abortable" */ } /* sqlite3.c:33673:20 */ //************* End of opcodes.c ******************************************** @@ -21936,67 +22440,67 @@ type unix_syscall = struct { // testing and sandboxing. The following array holds the names and pointers // to all overrideable system calls. var aSyscall = [29]unix_syscall{ - {FzName: ts + 2373 /* "open" */, FpCurrent: 0}, + {FzName: ts + 2388 /* "open" */, FpCurrent: 0}, - {FzName: ts + 2378 /* "close" */, FpCurrent: 0}, + {FzName: ts + 2393 /* "close" */, FpCurrent: 0}, - {FzName: ts + 2384 /* "access" */, FpCurrent: 0}, + {FzName: ts + 2399 /* "access" */, FpCurrent: 0}, - {FzName: ts + 2391 /* "getcwd" */, FpCurrent: 0}, + {FzName: ts + 2406 /* "getcwd" */, FpCurrent: 0}, - {FzName: ts + 2398 /* "stat" */, FpCurrent: 0}, + {FzName: ts + 2413 /* "stat" */, FpCurrent: 0}, // The DJGPP compiler environment looks mostly like Unix, but it // lacks the fcntl() system call. So redefine fcntl() to be something // that always succeeds. This means that locking does not occur under // DJGPP. But it is DOS - what did you expect? - {FzName: ts + 2403 /* "fstat" */, FpCurrent: 0}, + {FzName: ts + 2418 /* "fstat" */, FpCurrent: 0}, - {FzName: ts + 2409 /* "ftruncate" */, FpCurrent: 0}, + {FzName: ts + 2424 /* "ftruncate" */, FpCurrent: 0}, - {FzName: ts + 2419 /* "fcntl" */, FpCurrent: 0}, + {FzName: ts + 2434 /* "fcntl" */, FpCurrent: 0}, - {FzName: ts + 2425 /* "read" */, FpCurrent: 0}, + {FzName: ts + 2440 /* "read" */, FpCurrent: 0}, - {FzName: ts + 2430 /* "pread" */}, + {FzName: ts + 2445 /* "pread" */}, - {FzName: ts + 2436 /* "pread64" */}, + {FzName: ts + 2451 /* "pread64" */}, - {FzName: ts + 2444 /* "write" */, FpCurrent: 0}, + {FzName: ts + 2459 /* "write" */, FpCurrent: 0}, - {FzName: ts + 2450 /* "pwrite" */}, + {FzName: ts + 2465 /* "pwrite" */}, - {FzName: ts + 2457 /* "pwrite64" */}, + {FzName: ts + 2472 /* "pwrite64" */}, - {FzName: ts + 2466 /* "fchmod" */, FpCurrent: 0}, + {FzName: ts + 2481 /* "fchmod" */, FpCurrent: 0}, - {FzName: ts + 2473 /* "fallocate" */}, + {FzName: ts + 2488 /* "fallocate" */}, - {FzName: ts + 2483 /* "unlink" */, FpCurrent: 0}, + {FzName: ts + 2498 /* "unlink" */, FpCurrent: 0}, - {FzName: ts + 2490 /* "openDirectory" */, FpCurrent: 0}, + {FzName: ts + 2505 /* "openDirectory" */, FpCurrent: 0}, - {FzName: ts + 2504 /* "mkdir" */, FpCurrent: 0}, + {FzName: ts + 2519 /* "mkdir" */, FpCurrent: 0}, - {FzName: ts + 2510 /* "rmdir" */, FpCurrent: 0}, + {FzName: ts + 2525 /* "rmdir" */, FpCurrent: 0}, - {FzName: ts + 2516 /* "fchown" */, FpCurrent: 0}, + {FzName: ts + 2531 /* "fchown" */, FpCurrent: 0}, - {FzName: ts + 2523 /* "geteuid" */, FpCurrent: 0}, + {FzName: ts + 2538 /* "geteuid" */, FpCurrent: 0}, - {FzName: ts + 2531 /* "mmap" */, FpCurrent: 0}, + {FzName: ts + 2546 /* "mmap" */, FpCurrent: 0}, - {FzName: ts + 2536 /* "munmap" */, FpCurrent: 0}, + {FzName: ts + 2551 /* "munmap" */, FpCurrent: 0}, - {FzName: ts + 2543 /* "mremap" */, FpCurrent: 0}, + {FzName: ts + 2558 /* "mremap" */, FpCurrent: 0}, - {FzName: ts + 2550 /* "getpagesize" */, FpCurrent: 0}, + {FzName: ts + 2565 /* "getpagesize" */, FpCurrent: 0}, - {FzName: ts + 2562 /* "readlink" */, FpCurrent: 0}, + {FzName: ts + 2577 /* "readlink" */, FpCurrent: 0}, - {FzName: ts + 2571 /* "lstat" */, FpCurrent: 0}, + {FzName: ts + 2586 /* "lstat" */, FpCurrent: 0}, - {FzName: ts + 2577 /* "ioctl" */}, + {FzName: ts + 2592 /* "ioctl" */}, } /* sqlite3.c:34446:3 */ // End of the overrideable system calls @@ -22130,9 +22634,9 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3 } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*12 + 4 /* &.pCurrent */))))(tls, fd) Xsqlite3_log(tls, SQLITE_WARNING, - ts+2583 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) + ts+2598 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) fd = -1 - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 4 /* &.pCurrent */))))(tls, ts+2626 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 4 /* &.pCurrent */))))(tls, ts+2641 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { break } } @@ -22390,13 +22894,13 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // the strerror() function to obtain the human-readable error message // equivalent to errno. Otherwise, use strerror_r(). // This is a threadsafe build, but strerror_r() is not available. - zErr = ts + 740 /* "" */ + zErr = ts + 755 /* "" */ if zPath == uintptr(0) { - zPath = ts + 740 /* "" */ + zPath = ts + 755 /* "" */ } Xsqlite3_log(tls, errcode, - ts+2636, /* "os_unix.c:%d: (%..." */ + ts+2651, /* "os_unix.c:%d: (%..." */ libc.VaList(bp, iLine, iErrno, zFunc, zPath, zErr)) return errcode @@ -22415,7 +22919,7 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // and move on. func robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { /* sqlite3.c:35345:13: */ if (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*12 + 4 /* &.pCurrent */))))(tls, h) != 0 { - unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+2378, /* "close" */ + unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+2393, /* "close" */ func() uintptr { if pFile != 0 { return (*UnixFile)(unsafe.Pointer(pFile)).FzPath @@ -22574,19 +23078,19 @@ func verifyDbFile(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:35532:13: */ rc = (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*12 + 4 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, bp+32 /* &buf */) if rc != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2667 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2682 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink == X__nlink_t(0) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2691 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2706 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink > X__nlink_t(1) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2720 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2735 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2747 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2762 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -23700,7 +24204,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql var fd int32 = -1 // var zDirname [513]int8 at bp+8, 513 - Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+8 /* &zDirname[0] */, ts+2775 /* "%s" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+8 /* &zDirname[0] */, ts+2790 /* "%s" */, libc.VaList(bp, zFilename)) for ii = int32(libc.Xstrlen(tls, bp+8 /* &zDirname[0] */)); (ii > 0) && (int32(*(*int8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */ + uintptr(ii)))) != '/'); ii-- { } if ii > 0 { @@ -23719,7 +24223,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql if fd >= 0 { return SQLITE_OK } - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+2490 /* "openDirectory" */, bp+8 /* &zDirname[0] */, 37775) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+2505 /* "openDirectory" */, bp+8 /* &zDirname[0] */, 37775) } // Make sure all writes to a particular file are committed to disk. @@ -23754,7 +24258,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 if rc != 0 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+2778 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+2793 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) } // Also fsync the directory containing the file if the DIRSYNC flag @@ -23792,7 +24296,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 { /* sqlite3.c:378 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+2409 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2424 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) } else { // If the file was just truncated to a size smaller than the currently @@ -23871,7 +24375,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c if iWrite >= nSize { iWrite = (nSize - int64(1)) } - nWrite = seekAndWrite(tls, pFile, iWrite, ts+740 /* "" */, 1) + nWrite = seekAndWrite(tls, pFile, iWrite, ts+755 /* "" */, 1) if nWrite != 1 { return (SQLITE_IOERR | (int32(3) << 8)) } @@ -23884,7 +24388,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c 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+2409 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2424 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) } } @@ -23958,7 +24462,7 @@ func unixFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { } case SQLITE_FCNTL_VFSNAME: { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) return SQLITE_OK } @@ -24244,7 +24748,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32 // help detect if a -shm file truncation is legitimate or is the work // or a rogue process. if (rc == SQLITE_OK) && (robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0) { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+2409 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+2424 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) } } } else if int32((*flock)(unsafe.Pointer(bp+8 /* &lock */)).Fl_type) == F_WRLCK { @@ -24350,7 +24854,7 @@ __4: ; libc.Xmemset(tls, pShmNode, 0, (uint32(unsafe.Sizeof(unixShmNode{})) + uint32(nShmFilename))) zShm = libc.AssignPtrUintptr(pShmNode+8 /* &.zFilename */, (pShmNode + 1*68)) - Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+2789 /* "%s-shm" */, libc.VaList(bp, zBasePath)) + Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+2804 /* "%s-shm" */, libc.VaList(bp, zBasePath)) (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = -1 (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pDbFd)).FpInode)).FpShmNode = pShmNode @@ -24372,7 +24876,7 @@ __5: if !(int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FbProcessLock) == 0) { goto __7 } - if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+2796 /* "readonly_shm" */, 0)) { + if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+2811 /* "readonly_shm" */, 0)) { goto __8 } (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = robust_open(tls, zShm, ((O_RDWR | O_CREAT) | 0400000), @@ -24387,7 +24891,7 @@ __8: if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) { goto __10 } - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+2373 /* "open" */, zShm, 38716) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+2388 /* "open" */, zShm, 38716) goto shm_open_err __10: ; @@ -24554,11 +25058,11 @@ __11: goto __13 } *(*int32)(unsafe.Pointer(bp + 96 /* x */)) = 0 - if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+740 /* "" */, 1, bp+96 /* &x */) != 1) { + if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+755 /* "" */, 1, bp+96 /* &x */) != 1) { goto __14 } zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+2444 /* "write" */, zFile, 38860) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+2459 /* "write" */, zFile, 38860) goto shmpage_out __14: ; @@ -24606,7 +25110,7 @@ __16: if !(pMem == (libc.UintptrFromInt32(-1))) { goto __20 } - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+2531 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+2546 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) goto shmpage_out __20: ; @@ -24865,7 +25369,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39165:13: */ // continue accessing the database using the xRead() and xWrite() // methods. func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13: */ - var zErr uintptr = ts + 2531 /* "mmap" */ + var zErr uintptr = ts + 2546 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping var nOrig I64 = (*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual // Size of pOrig region in bytes @@ -24882,7 +25386,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13 } pNew = (*(*func(*libc.TLS, uintptr, Size_t, Size_t, int32, uintptr) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 24*12 + 4 /* &.pCurrent */))))(tls, pOrig, uint32(nReuse), uint32(nNew), MREMAP_MAYMOVE, 0) - zErr = ts + 2543 /* "mremap" */ + zErr = ts + 2558 /* "mremap" */ // The attempt to extend the existing mapping failed. Free it. if (pNew == (libc.UintptrFromInt32(-1))) || (pNew == uintptr(0)) { @@ -25118,10 +25622,10 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename } return uintptr(0) }(), - ts+2809 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { + ts+2824 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { *(*uint16)(unsafe.Pointer(pNew + 18 /* &.ctrlFlags */)) |= uint16((UNIXFILE_PSOW)) } - if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+2814 /* "unix-excl" */) == 0 { + if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+2829 /* "unix-excl" */) == 0 { *(*uint16)(unsafe.Pointer(pNew + 18 /* &.ctrlFlags */)) |= uint16((UNIXFILE_EXCL)) } @@ -25167,7 +25671,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename if zLockFile == uintptr(0) { rc = SQLITE_NOMEM } else { - Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+2824 /* "%s.lock" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+2839 /* "%s.lock" */, libc.VaList(bp, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext = zLockFile } @@ -25197,10 +25701,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var zDir uintptr = Xsqlite3_temp_directory if !(int32(azDirs[0]) != 0) { - azDirs[0] = libc.Xgetenv(tls, ts+2832 /* "SQLITE_TMPDIR" */) + azDirs[0] = libc.Xgetenv(tls, ts+2847 /* "SQLITE_TMPDIR" */) } if !(int32(azDirs[1]) != 0) { - azDirs[1] = libc.Xgetenv(tls, ts+2846 /* "TMPDIR" */) + azDirs[1] = libc.Xgetenv(tls, ts+2861 /* "TMPDIR" */) } for 1 != 0 { if (((zDir != uintptr(0)) && @@ -25220,10 +25724,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var azDirs = [6]uintptr{ uintptr(0), uintptr(0), - ts + 2853, /* "/var/tmp" */ - ts + 2862, /* "/usr/tmp" */ - ts + 2871, /* "/tmp" */ - ts + 753, /* "." */ + ts + 2868, /* "/var/tmp" */ + ts + 2877, /* "/usr/tmp" */ + ts + 2886, /* "/tmp" */ + ts + 768, /* "." */ } /* sqlite3.c:39857:21 */ // Create a temporary file name in zBuf. zBuf must be allocated @@ -25251,7 +25755,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U64(0))), bp+24 /* &r */) *(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2)))) = int8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+2876, /* "%s/etilqs_%llx%c" */ + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+2891, /* "%s/etilqs_%llx%c" */ libc.VaList(bp, zDir, *(*U64)(unsafe.Pointer(bp + 24 /* r */)), 0)) if (int32(*(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2))))) != 0) || ((libc.PostIncInt32(&iLimit, 1)) > 10) { return SQLITE_ERROR @@ -25407,7 +25911,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // filename, check for the "modeof" parameter. If present, interpret // its value as a filename and try to copy the mode, uid and gid from // that file. - var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+2893 /* "modeof" */) + var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+2908 /* "modeof" */) if z != 0 { rc = getFileMode(tls, z, pMode, pUid, pGid) } @@ -25633,7 +26137,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+2373 /* "open" */, zName, 40257) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+2388 /* "open" */, zName, 40257) if !(rc == SQLITE_OK) { goto __20 } @@ -25744,7 +26248,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+2483 /* "unlink" */, zPath, 40396) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+2498 /* "unlink" */, zPath, 40396) } return rc } @@ -25754,7 +26258,7 @@ 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 /* &.pCurrent */))))(tls, zPath, bp /* &fd */) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp /* fd */)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+2900 /* "fsync" */, zPath, 40406) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+2915 /* "fsync" */, zPath, 40406) } robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 40408) } else { @@ -25829,7 +26333,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*12 + 4 /* &.pCurrent */))))(tls, zOut, (uint32(nOut-2))) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+2391 /* "getcwd" */, zPath, 40485) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+2406 /* "getcwd" */, zPath, 40485) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -25840,7 +26344,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) return Xsqlite3CantopenError(tls, 40494) } - Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+2775 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+2790 /* "%s" */, libc.VaList(bp, zPath)) // Remove duplicate '/' characters. Except, two // at the beginning // of a pathname is allowed since this is important on windows. @@ -25915,7 +26419,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 27*12 + 4 /* &.pCurrent */))))(tls, zIn, bp /* &buf */) != 0 { if (*(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+2571 /* "lstat" */, zIn, 40577) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+2586 /* "lstat" */, zIn, 40577) } } else { bLink = (libc.Bool32((((*stat)(unsafe.Pointer(bp /* &buf */)).Fst_mode) & X__mode_t(0170000)) == (X__mode_t(0120000)))) @@ -25935,7 +26439,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if rc == SQLITE_OK { nByte = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*12 + 4 /* &.pCurrent */))))(tls, zIn, zDel, (uint32(nOut - 1))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+2562 /* "readlink" */, zIn, 40595) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+2577 /* "readlink" */, zIn, 40595) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 @@ -26027,7 +26531,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixEnterMutex(tls) zErr = libc.Xdlerror(tls) if zErr != 0 { - Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+2775 /* "%s" */, libc.VaList(bp, zErr)) + Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+2790 /* "%s" */, libc.VaList(bp, zErr)) } unixLeaveMutex(tls) } @@ -26084,7 +26588,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in { var fd int32 var got int32 - fd = robust_open(tls, ts+2906 /* "/dev/urandom" */, O_RDONLY, uint32(0)) + fd = robust_open(tls, ts+2921 /* "/dev/urandom" */, O_RDONLY, uint32(0)) if fd < 0 { // var t Time_t at bp, 4 @@ -26381,10 +26885,10 @@ func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42038:16: */ } var aVfs = [4]Sqlite3_vfs{ - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2919 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2924 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2934 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2814 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2934 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2939 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2949 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2829 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, } /* sqlite3.c:42091:22 */ // Shutdown the operating system interface. @@ -26476,7 +26980,7 @@ var memdb_g MemFS /* sqlite3.c:48620:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) FmxPathname: 1024, // pNext - FzName: ts + 2947, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 2962, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -26708,7 +27212,7 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 var rc int32 = SQLITE_NOTFOUND memdbEnter(tls, p) if op == SQLITE_FCNTL_VFSNAME { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2953 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2968 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == SQLITE_FCNTL_SIZE_LIMIT { @@ -26851,7 +27355,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(8) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+2775 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+2790 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } @@ -26968,7 +27472,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = Xsqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, ts+2968 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+2983 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) } else { @@ -27041,7 +27545,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+2991 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+3006 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) if !(zSql == uintptr(0)) { goto __3 } @@ -32516,7 +33020,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+3006, /* "recovered %d pag..." */ + Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+3021, /* "recovered %d pag..." */ libc.VaList(bp, nPlayback, (*Pager)(unsafe.Pointer(pPager)).FzJournal)) __27: ; @@ -34268,7 +34772,7 @@ __15: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzJournal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint32(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+3033 /* "-journal" */, uint32(8)) + libc.Xmemcpy(tls, pPtr, ts+3048 /* "-journal" */, uint32(8)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -34283,7 +34787,7 @@ __19: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzWal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint32(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+3042 /* "-wal" */, uint32(4)) + libc.Xmemcpy(tls, pPtr, ts+3057 /* "-wal" */, uint32(4)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -34342,9 +34846,9 @@ __27: ; __26: ; - (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3047 /* "nolock" */, 0)) + (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3062 /* "nolock" */, 0)) if !(((iDc & SQLITE_IOCAP_IMMUTABLE) != 0) || - (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3054 /* "immutable" */, 0) != 0)) { + (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3069 /* "immutable" */, 0) != 0)) { goto __30 } vfsFlags = vfsFlags | (SQLITE_OPEN_READONLY) @@ -38238,7 +38742,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+3064, /* "recovered %d fra..." */ + ts+3079, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -38982,7 +39486,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+3101 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) + Xsqlite3_log(tls, rx, ts+3116 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) } } @@ -41761,7 +42265,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:65443: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3127 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3142 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -43801,7 +44305,7 @@ func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt mutexOpen = uintptr(0) rc = SQLITE_OK isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zFilename))) == 0))) - isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+3143 /* ":memory:" */) == 0)) || + isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+3158 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -44675,7 +45179,7 @@ __10: // // The original design allowed these amounts to vary, but as of // version 3.6.0, we require them to be fixed. - if !(libc.Xmemcmp(tls, (page1+21), ts+3152 /* "@ " */, uint32(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+3167 /* "@ " */, uint32(3)) != 0) { goto __14 } goto page1_init_failed @@ -52190,7 +52694,7 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 40 /* &.errMsg */), ts+3156 /* "\n" */, 1) + Xsqlite3_str_append(tls, (pCheck + 40 /* &.errMsg */), ts+3171 /* "\n" */, 1) } if (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, (pCheck + 40 /* &.errMsg */), (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -52226,11 +52730,11 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 defer tls.Free(16) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { - checkAppendMsg(tls, pCheck, ts+3158 /* "invalid page num..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+3173 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+3181 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) + checkAppendMsg(tls, pCheck, ts+3196 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+284 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -52257,13 +52761,13 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 } - checkAppendMsg(tls, pCheck, ts+3206 /* "Failed to read p..." */, libc.VaList(bp, iChild)) + checkAppendMsg(tls, pCheck, ts+3221 /* "Failed to read p..." */, libc.VaList(bp, iChild)) return } if (int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, - ts+3235, /* "Bad ptr map entr..." */ + ts+3250, /* "Bad ptr map entr..." */ libc.VaList(bp+8, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)))) } } @@ -52286,7 +52790,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } N-- if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+40 /* &pOvflPage */, 0) != 0 { - checkAppendMsg(tls, pCheck, ts+3289 /* "failed to get pa..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+3304 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) @@ -52297,7 +52801,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+3311 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) + ts+3326 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -52323,12 +52827,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, - ts+3350, /* "%s is %d but sho..." */ + ts+3365, /* "%s is %d but sho..." */ libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { - return ts + 3376 /* "size" */ + return ts + 3391 /* "size" */ } - return ts + 3381 /* "overflow list le..." */ + return ts + 3396 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -52472,13 +52976,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3402 /* "Page %u: " */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3417 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+96 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, - ts+3412 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+3427 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -52492,7 +52996,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+3450 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) + ts+3465 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; @@ -52500,7 +53004,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+3488 /* "free space corru..." */, libc.VaList(bp+16, rc)) + checkAppendMsg(tls, pCheck, ts+3503 /* "free space corru..." */, libc.VaList(bp+16, rc)) goto end_of_check __5: ; @@ -52508,7 +53012,7 @@ __5: hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FhdrOffset) // Set up for cell analysis - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3510 /* "On tree page %u ..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3525 /* "On tree page %u ..." */ contentOffset = (U32(((((int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5)))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5))) + 1)))) - 1) & 0xffff) + 1)) // Enforced by btreeInitPage() @@ -52530,7 +53034,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3536 /* "On page %u at ri..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3551 /* "On page %u at ri..." */ checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; @@ -52561,7 +53065,7 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+3564, /* "Offset %d out of..." */ + checkAppendMsg(tls, pCheck, ts+3579, /* "Offset %d out of..." */ libc.VaList(bp+24, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 @@ -52572,7 +53076,7 @@ __12: if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+108 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+3594 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+3609 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -52590,7 +53094,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+3618 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+108 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+3633 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+108 /* &info */)).FnKey)) __15: ; *(*I64)(unsafe.Pointer(bp + 100 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 108 /* &info */)).FnKey @@ -52631,7 +53135,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+3642 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+3657 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -52729,7 +53233,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+3667 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 128 /* x */))>>16), iPage)) + ts+3682 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 128 /* x */))>>16), iPage)) goto __30 goto __32 __31: @@ -52749,7 +53253,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+3704, /* "Fragmentation of..." */ + ts+3719, /* "Fragmentation of..." */ libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -52878,7 +53382,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 3756 /* "Main freelist: " */ + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 3771 /* "Main freelist: " */ checkList(tls, bp+32 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) @@ -52916,7 +53420,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+3772, /* "max rootpage (%d..." */ + ts+3787, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -52926,7 +53430,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+3817 /* "incremental_vacu..." */, 0) + ts+3832 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -52976,13 +53480,13 @@ __23: if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3872 /* "Page %d is never..." */, libc.VaList(bp+16, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3887 /* "Page %d is never..." */, libc.VaList(bp+16, i)) __26: ; if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3894 /* "Pointer map page..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3909 /* "Pointer map page..." */, libc.VaList(bp+24, i)) __27: ; goto __24 @@ -53301,7 +53805,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint32(unsafe.Sizeof(Parse{}))) (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = pDb if Xsqlite3OpenTempDatabase(tls, bp+16 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+2775 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+2790 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg) @@ -53312,7 +53816,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+3928 /* "unknown database..." */, libc.VaList(bp+8, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+3943 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -53333,7 +53837,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76336:12: */ // message in database handle db. func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:76348:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { - Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+3948 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+3963 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -53360,7 +53864,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+3979 /* "source and desti..." */, 0) + pDestDb, SQLITE_ERROR, ts+3994 /* "source and desti..." */, 0) p = uintptr(0) } else { // Allocate space for a new sqlite3_backup object... @@ -53974,7 +54478,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 8 /* x */)), zBuf) } else { Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+4019, /* "%!.15g" */ + Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+4034, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -54615,7 +55119,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -54821,6 +55325,8 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 (*Mem)(unsafe.Pointer(pMem)).Fflags = flags if enc != 0 { (*Mem)(unsafe.Pointer(pMem)).Fenc = enc + } else if (*Mem)(unsafe.Pointer(pMem)).Fdb == uintptr(0) { + (*Mem)(unsafe.Pointer(pMem)).Fenc = U8(SQLITE_UTF8) } else { (*Mem)(unsafe.Pointer(pMem)).Fenc = (*Sqlite3)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fdb)).Fenc @@ -55125,7 +55631,7 @@ __9: goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) + Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: Xsqlite3ValueApplyAffinity(tls, pVal, aff, uint8(SQLITE_UTF8)) @@ -55197,7 +55703,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 zVal = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = uintptr(0) negInt = 1 - zNeg = ts + 740 /* "" */ + zNeg = ts + 755 /* "" */ rc = SQLITE_OK __1: @@ -55246,7 +55752,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 4026 /* "-" */ + zNeg = ts + 4041 /* "-" */ __6: ; @@ -55266,7 +55772,7 @@ __9: Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: - zVal = Xsqlite3MPrintf(tls, db, ts+4028 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + zVal = Xsqlite3MPrintf(tls, db, ts+4043 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) if !(zVal == uintptr(0)) { goto __12 } @@ -56711,34 +57217,34 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4033 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4048 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 20 /* &.aColl */) + uintptr(j)*4)) var zColl uintptr if pColl != 0 { zColl = (*CollSeq)(unsafe.Pointer(pColl)).FzName } else { - zColl = ts + 740 /* "" */ + zColl = ts + 755 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+303 /* "BINARY" */) == 0 { - zColl = ts + 4038 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+318 /* "BINARY" */) == 0 { + zColl = ts + 4053 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4040, /* ",%s%s%s" */ + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4055, /* ",%s%s%s" */ libc.VaList(bp+8, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { - return ts + 4026 /* "-" */ + return ts + 4041 /* "-" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 4048 /* "N." */ + return ts + 4063 /* "N." */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4066 /* ")" */, 1) break } @@ -56746,7 +57252,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4053 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4068 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -56754,32 +57260,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4062 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4077 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4062 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4077 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4069 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4084 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4074 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4089 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+523 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+538 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -56789,14 +57295,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4069 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4084 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+523 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+538 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { - zP4 = ts + 741 /* "NULL" */ + zP4 = ts + 756 /* "NULL" */ } else { - zP4 = ts + 4077 /* "(blob)" */ + zP4 = ts + 4092 /* "(blob)" */ } break @@ -56804,7 +57310,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4084 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4099 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -56815,20 +57321,20 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4092 /* "%c%u" */, libc.VaList(bp+128, func() int32 { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4107 /* "%c%u" */, libc.VaList(bp+128, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4097 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4112 /* "]" */, 1) break } case -4: { - zP4 = ts + 4099 /* "program" */ + zP4 = ts + 4114 /* "program" */ break } @@ -56860,7 +57366,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } -var encnames = [4]uintptr{ts + 4107 /* "?" */, ts + 4109 /* "8" */, ts + 4111 /* "16LE" */, ts + 4116 /* "16BE" */} /* sqlite3.c:80570:25 */ +var encnames = [4]uintptr{ts + 4122 /* "?" */, ts + 4124 /* "8" */, ts + 4126 /* "16LE" */, ts + 4131 /* "16BE" */} /* sqlite3.c:80570:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -57391,8 +57897,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 4121 /* "addr" */, ts + 4126 /* "opcode" */, ts + 4133 /* "p1" */, ts + 4136 /* "p2" */, ts + 4139 /* "p3" */, ts + 4142 /* "p4" */, ts + 4145 /* "p5" */, ts + 4148, /* "comment" */ - ts + 4156 /* "id" */, ts + 4159 /* "parent" */, ts + 4166 /* "notused" */, ts + 4174, /* "detail" */ + ts + 4136 /* "addr" */, ts + 4141 /* "opcode" */, ts + 4148 /* "p1" */, ts + 4151 /* "p2" */, ts + 4154 /* "p3" */, ts + 4157 /* "p4" */, ts + 4160 /* "p5" */, ts + 4163, /* "comment" */ + ts + 4171 /* "id" */, ts + 4174 /* "parent" */, ts + 4181 /* "notused" */, ts + 4189, /* "detail" */ } /* sqlite3.c:81298:23 */ // Close a VDBE cursor and release all the resources that cursor @@ -57640,7 +58146,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Select a super-journal file name nMainFile = Xsqlite3Strlen30(tls, zMainFile) - zSuper = Xsqlite3MPrintf(tls, db, ts+4181 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) + zSuper = Xsqlite3MPrintf(tls, db, ts+4196 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) if zSuper == uintptr(0) { return SQLITE_NOMEM } @@ -57650,16 +58156,16 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+4193 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+4208 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+4207 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+4222 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) } } retryCount++ Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &iRandom */) - Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+4222, /* "-mj%06X9%02X" */ + Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+4237, /* "-mj%06X9%02X" */ libc.VaList(bp+40, ((*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. @@ -57853,7 +58359,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq (!(deferred != 0) && ((*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0))) { (*Vdbe)(unsafe.Pointer(p)).Frc = (SQLITE_CONSTRAINT | (int32(3) << 8)) (*Vdbe)(unsafe.Pointer(p)).FerrorAction = U8(OE_Abort) - Xsqlite3VdbeError(tls, p, ts+4235 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4250 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -58135,7 +58641,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: // called), set the database error in this case as well. Xsqlite3ErrorWithMsg(tls, db, (*Vdbe)(unsafe.Pointer(p)).Frc, func() uintptr { if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -59686,13 +60192,13 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023 var zContext uintptr var zMsg uintptr if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_IsCheck) != 0 { - zContext = ts + 4265 /* "a CHECK constrai..." */ + zContext = ts + 4280 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 4284 /* "a generated colu..." */ + zContext = ts + 4299 /* "a generated colu..." */ } else { - zContext = ts + 4303 /* "an index" */ + zContext = ts + 4318 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+4312, /* "non-deterministi..." */ + zMsg = Xsqlite3_mprintf(tls, ts+4327, /* "non-deterministi..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -59823,7 +60329,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84185:1 // invalid). Return false if it is ok. func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+4348 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+4363 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -59833,7 +60339,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84204:12: */ if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+4393 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+4408 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -60303,7 +60809,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:84708:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG - Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+4433 /* "string or blob t..." */, int64(-1), + Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+4448 /* "string or blob t..." */, int64(-1), uint8(SQLITE_UTF8), uintptr(0)) } @@ -61054,7 +61560,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12 Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+4456 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) + ts+4471 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) return Xsqlite3MisuseError(tls, 85498) } if (i < 1) || (i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar)) { @@ -61831,7 +62337,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4496 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4511 /* "-- " */, 3) Xsqlite3_str_append(tls, bp+48 /* &out */, zStart, ((int32(zRawSql) - int32(zStart)) / 1)) } @@ -61869,11 +62375,11 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 176 /* idx */))-1))*40) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+741 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+756 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4069 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4084 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4019 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4034 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc @@ -61888,21 +62394,21 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = bp + 180 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4500 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4515 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { Xsqlite3VdbeMemRelease(tls, bp+180 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4507 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4522 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4520 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4535 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4523 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4538 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4528 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4543 /* "'" */, 1) } } } @@ -65601,19 +66107,19 @@ __190: goto __193 } - Xsqlite3VdbeError(tls, p, ts+4530 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) + Xsqlite3VdbeError(tls, p, ts+4545 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __195 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+4551 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+4566 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __195: ; goto __194 __193: - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __194: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+4558 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+4573 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __192: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -68163,7 +68669,7 @@ __74: } // A new savepoint cannot be created if there are active write // statements (i.e. open read/write incremental blob handles). - Xsqlite3VdbeError(tls, p, ts+4582 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4597 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __448 __447: @@ -68236,7 +68742,7 @@ __455: if !(!(pSavepoint != 0)) { goto __456 } - Xsqlite3VdbeError(tls, p, ts+4633 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) + Xsqlite3VdbeError(tls, p, ts+4648 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) rc = SQLITE_ERROR goto __457 __456: @@ -68246,7 +68752,7 @@ __456: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+4655 /* "cannot release s..." */, 0) + ts+4670 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __459 __458: @@ -68451,7 +68957,7 @@ __488: // If this instruction implements a COMMIT and other VMs are writing // return an error indicating that the other VMs must complete first. Xsqlite3VdbeError(tls, p, - ts+4709 /* "cannot commit tr..." */, 0) + ts+4724 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __491 @@ -68494,13 +69000,13 @@ __486: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 4764 /* "cannot start a t..." */ + return ts + 4779 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 4812 /* "cannot rollback ..." */ + return ts + 4827 /* "cannot rollback ..." */ } - return ts + 4855 /* "cannot commit - ..." */ + return ts + 4870 /* "cannot commit - ..." */ }() }(), 0) @@ -68618,7 +69124,7 @@ __498: // version is checked to ensure that the schema has not changed since the // SQL statement was prepared. Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+4896 /* "database schema ..." */) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+4911 /* "database schema ..." */) // If the schema-cookie from the database file matches the cookie // stored with the in-memory representation of the schema, do // not reload the schema from the database file. @@ -69000,7 +69506,7 @@ __84: // Only used when number of columns is zero (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*40)).Fn = 0 - (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*40)).Fz = ts + 740 /* "" */ + (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*40)).Fz = ts + 755 /* "" */ __524: ; pCx1 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*4)) @@ -71130,7 +71636,7 @@ __688: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __691 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+4924 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+4939 /* "index corruption" */) goto abort_due_to_error __691: ; @@ -71563,14 +72069,14 @@ __137: goto __720 __719: - zSchema = ts + 4941 /* "sqlite_master" */ + zSchema = ts + 4956 /* "sqlite_master" */ (*InitData)(unsafe.Pointer(bp + 568 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 568 /* &initData */)).FiDb = iDb3 (*InitData)(unsafe.Pointer(bp + 568 /* &initData */)).FpzErrMsg = (p + 120 /* &.zErrMsg */) (*InitData)(unsafe.Pointer(bp + 568 /* &initData */)).FmInitFlags = U32(0) (*InitData)(unsafe.Pointer(bp + 568 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*16)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+4955, /* "SELECT*FROM\"%w\"...." */ + ts+4970, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp+64, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*16)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __721 @@ -71903,7 +72409,7 @@ __741: goto __746 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+4998 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+5013 /* "too many levels ..." */, 0) goto abort_due_to_error __746: ; @@ -72348,7 +72854,7 @@ __781: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __783 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __783: ; @@ -72426,7 +72932,7 @@ __788: if !(rc != 0) { goto __789 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __789: ; @@ -72541,12 +73047,12 @@ __798: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+5035, /* "cannot change %s..." */ + ts+5050, /* "cannot change %s..." */ libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 5087 /* "into" */ + return ts + 5102 /* "into" */ } - return ts + 5092 /* "out of" */ + return ts + 5107 /* "out of" */ }())) goto abort_due_to_error goto __801 @@ -72749,7 +73255,7 @@ __167: goto __816 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+5099 /* "database table i..." */, libc.VaList(bp+112, z1)) + Xsqlite3VdbeError(tls, p, ts+5114 /* "database table i..." */, libc.VaList(bp+112, z1)) __816: ; goto abort_due_to_error @@ -72993,7 +73499,7 @@ __833: if !((*Sqlite3_context)(unsafe.Pointer(bp+672 /* &sContext */)).FisError > 0) { goto __834 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) rc = (*Sqlite3_context)(unsafe.Pointer(bp + 672 /* &sContext */)).FisError __834: ; @@ -73324,7 +73830,7 @@ __857: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __862 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __862: ; @@ -73414,7 +73920,7 @@ __867: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __869 } - z3 = Xsqlite3MPrintf(tls, db, ts+5128 /* "-- %s" */, libc.VaList(bp+136, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+5143 /* "-- %s" */, libc.VaList(bp+136, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 204 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __870 @@ -73517,13 +74023,13 @@ __878: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __880 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) __880: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) - Xsqlite3_log(tls, rc, ts+5134, /* "statement aborts..." */ + Xsqlite3_log(tls, rc, ts+5149, /* "statement aborts..." */ libc.VaList(bp+152, ((int32(pOp)-int32(aOp))/20), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { @@ -73568,14 +74074,14 @@ __884: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+4433 /* "string or blob t..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4448 /* "string or blob t..." */, 0) rc = SQLITE_TOOBIG goto abort_due_to_error // Jump to here if a malloc() fails. no_mem: Xsqlite3OomFault(tls, db) - Xsqlite3VdbeError(tls, p, ts+5166 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+5181 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -73588,8 +74094,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 5180 /* "NOT NULL" */, ts + 5189 /* "UNIQUE" */, ts + 5196, /* "CHECK" */ - ts + 5202 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ +var azType = [4]uintptr{ts + 5195 /* "NOT NULL" */, ts + 5204 /* "UNIQUE" */, ts + 5211, /* "CHECK" */ + ts + 5217 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:88844:32 */ var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:88847:32 */ var aFlag1 = [2]U16{U16(MEM_Blob), (U16(MEM_Str | MEM_Term))} /* sqlite3.c:89315:24 */ @@ -73696,16 +74202,16 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } if type1 < U32(12) { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5214, /* "cannot open valu..." */ + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5229, /* "cannot open valu..." */ libc.VaList(bp, func() uintptr { if type1 == U32(0) { - return ts + 5243 /* "null" */ + return ts + 5258 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 5248 /* "real" */ + return ts + 5263 /* "real" */ } - return ts + 5253 /* "integer" */ + return ts + 5268 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -73725,10 +74231,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5261 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5276 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+2775 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+2790 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -73791,21 +74297,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5281 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5296 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5311 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5326 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5347 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5362 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) __7: ; if !(!(pTab != 0)) { @@ -73850,7 +74356,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5368 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) + *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5383 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -73879,7 +74385,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+36 /* &.aCol */)+uintptr(j)*8)).FiFrom == iCol) { goto __23 } - zFault = ts + 5389 /* "foreign key" */ + zFault = ts + 5404 /* "foreign key" */ __23: ; goto __21 @@ -73912,7 +74418,7 @@ __27: if !((int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == iCol) || (int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == (-2))) { goto __30 } - zFault = ts + 5401 /* "indexed" */ + zFault = ts + 5416 /* "indexed" */ __30: ; goto __28 @@ -73933,7 +74439,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5409 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) + *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5424 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -74042,7 +74548,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)))) @@ -74207,7 +74713,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) @@ -77755,7 +78261,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+5443 /* "main" */, zDb) == 0)) { + if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+5458 /* "main" */, zDb) == 0)) { goto __8 } // This branch is taken when the main database has been renamed @@ -77958,14 +78464,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5448 /* "new" */, zTab) == 0)) { + if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5463 /* "new" */, zTab) == 0)) { goto __41 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 1 pTab = (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab goto __42 __41: - if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5452 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5467 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -77982,7 +78488,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 8 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+5456 /* "excluded" */, zTab) == 0)) { + if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+5471 /* "excluded" */, zTab) == 0)) { goto __45 } pTab = (*SrcItem)(unsafe.Pointer(((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8 /* &.a */))).FpTab @@ -78159,7 +78665,7 @@ __66: if !((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0) && (((*Expr)(unsafe.Pointer((pOrig))).Fflags & (U32(EP_Agg))) != U32(0))) { goto __70 } - Xsqlite3ErrorMsg(tls, pParse, ts+5465 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+5480 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -78167,14 +78673,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+5496 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+5511 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) return WRC_Abort __71: ; if !(Xsqlite3ExprVectorSize(tls, pOrig) != 1) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -78250,7 +78756,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+5551 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) + ts+5566 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 44 /* &.y */)) = uintptr(0) return WRC_Prune @@ -78271,23 +78777,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 5586 /* "no such column" */ + zErr = ts + 5601 /* "no such column" */ } else { - zErr = ts + 5601 /* "ambiguous column..." */ + zErr = ts + 5616 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+5623 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5638 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+5636 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5651 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+5646 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5661 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -78421,15 +78927,15 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp bp := tls.Alloc(16) defer tls.Free(16) - var zIn uintptr = ts + 5653 /* "partial index WH..." */ + var zIn uintptr = ts + 5668 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 5681 /* "index expression..." */ + zIn = ts + 5696 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 5699 /* "CHECK constraint..." */ + zIn = ts + 5714 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 5717 /* "generated column..." */ + zIn = ts + 5732 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+5735 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) + Xsqlite3ErrorMsg(tls, pParse, ts+5750 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) if pExpr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } @@ -78537,10 +79043,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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 /* &.u */)) = ts + 5755 /* "true" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5770 /* "true" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsTrue)) } else { - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5760 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5775 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) } (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) @@ -78593,7 +79099,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (NC_IdxExpr | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+5766 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+5781 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -78660,7 +79166,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+5783 /* "second argument ..." */, 0) + ts+5798 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -78685,7 +79191,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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+5854, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+5869, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -78709,7 +79215,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all // all this. if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & ((NC_IdxExpr | NC_PartIdx) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+5889 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+5904 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -78738,30 +79244,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+5917 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) + ts+5932 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) (*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 + 5961 /* "window" */ + zType = ts + 5976 /* "window" */ } else { - zType = ts + 5968 /* "aggregate" */ + zType = ts + 5983 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+5978 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+5993 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) (*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+6007 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+6022 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6030, /* "wrong number of ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6045, /* "wrong number of ..." */ libc.VaList(bp+64, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, - ts+6075, /* "FILTER may not b..." */ + ts+6090, /* "FILTER may not b..." */ libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -78836,7 +79342,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+6124 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+6139 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */))) @@ -78853,7 +79359,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s { if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+6135 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+6150 /* "parameters" */, pExpr) } break @@ -78913,7 +79419,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) } break @@ -79018,7 +79524,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+6146 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) + ts+6161 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) } // Analyze the ORDER BY clause in a compound SELECT statement. Modify @@ -79050,7 +79556,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 + 108 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6202 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6217 /* "too many terms i..." */, 0) return 1 } for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { @@ -79085,7 +79591,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 } if Xsqlite3ExprIsInteger(tls, pE, bp+8 /* &iCol */) != 0 { if (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { - resolveOutOfRangeError(tls, pParse, ts+6236 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+6251 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -79156,7 +79662,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { if (int32(*(*uint8)(unsafe.Pointer(((pOrderBy + 8 /* &.a */) + uintptr(i)*20) + 12 /* &.done */)) & 0x4 >> 2)) == 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+6242 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+6257 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -79184,7 +79690,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6303 /* "too many terms i..." */, libc.VaList(bp, zType)) + Xsqlite3ErrorMsg(tls, pParse, ts+6318 /* "too many terms i..." */, libc.VaList(bp, zType)) return 1 } pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList @@ -79473,7 +79979,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp /* &sNC */ + 24 /* &.ncFlags */)) |= (NC_UEList) if (*Select)(unsafe.Pointer(p)).FpHaving != 0 { if !(pGroupBy != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+6334 /* "a GROUP BY claus..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6349 /* "a GROUP BY claus..." */, 0) return WRC_Abort } if Xsqlite3ResolveExprNames(tls, bp /* &sNC */, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -79530,7 +80036,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // resolve those symbols on the incorrect ORDER BY for consistency. if (((*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0)) && (isCompound <= nCompound)) && // Defer right-most ORDER BY of a compound - (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6236 /* "ORDER" */) != 0) { + (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6251 /* "ORDER" */) != 0) { return WRC_Abort } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -79543,7 +80049,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql if pGroupBy != 0 { var pItem uintptr - if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+6378 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { + if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+6393 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { return WRC_Abort } i = 0 @@ -79555,7 +80061,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql { if ((*Expr)(unsafe.Pointer(((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr))).Fflags & (U32(EP_Agg))) != U32(0) { Xsqlite3ErrorMsg(tls, pParse, - ts+6384 /* "aggregate functi..." */, 0) + ts+6399 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -80325,7 +80831,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) return } @@ -80401,7 +80907,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 108 /* &.aLimit */) + 3*4)) if nHeight > mxHeight { Xsqlite3ErrorMsg(tls, pParse, - ts+6443 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+6458 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -80642,7 +81148,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+6491 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+6506 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -80664,7 +81170,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u return uintptr(0) } if (pList != 0) && ((*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 108 /* &.aLimit */) + 6*4))) { - Xsqlite3ErrorMsg(tls, pParse, ts+6493 /* "too many argumen..." */, libc.VaList(bp, pToken)) + Xsqlite3ErrorMsg(tls, pParse, ts+6508 /* "too many argumen..." */, libc.VaList(bp, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 20 /* &.x */)) = pList *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_HasFunc)) @@ -80698,7 +81204,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // is tagged with SQLITE_FUNC_UNSAFE) and // SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning // that the schema is possibly tainted). - Xsqlite3ErrorMsg(tls, pParse, ts+6527 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6542 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) } } } @@ -80751,7 +81257,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 9*4)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+6546, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6561, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 9*4)))) return } @@ -80778,7 +81284,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*Expr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 9*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6589 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6604 /* "too many SQL var..." */, 0) } } @@ -81447,7 +81953,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+6612, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6627, /* "%d columns assig..." */ libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error __3: @@ -81582,7 +82088,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 108 /* &.aLimit */) + 2*4)) if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx) { - Xsqlite3ErrorMsg(tls, pParse, ts+6642 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+6657 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -81637,10 +82143,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 { /* sqlite3.c:103208:20: */ - if Xsqlite3StrICmp(tls, zIn, ts+5755 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+5770 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+5760 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+5775 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -82085,13 +82591,13 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 // Return TRUE if the given string is a row-id column name. func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:103650:20: */ - if Xsqlite3StrICmp(tls, z, ts+6665 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6680 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+6673 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6688 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+6679 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6694 /* "OID" */) == 0 { return 1 } return 0 @@ -82319,7 +82825,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, Xsqlite3OpenTable(tls, pParse, iTab, iDb, pTab, OP_OpenRead) eType = IN_INDEX_ROWID - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6683 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6698 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeJumpHere(tls, v, iAddr) } else { var pIdx uintptr // Iterator variable @@ -82410,7 +82916,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6730 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6745 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) @@ -82516,7 +83022,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec defer tls.Free(16) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { - var zFmt uintptr = ts + 6761 /* "sub-select retur..." */ + var zFmt uintptr = ts + 6776 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -82534,7 +83040,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_xIsSelect)) != 0 { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FpEList)).FnExpr, 1) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) } } @@ -82587,7 +83093,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6805 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6820 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FselId)) } Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ /* &.iAddr */))) @@ -82623,11 +83129,11 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6828 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6843 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 6847 /* "CORRELATED " */ + return ts + 6862 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSelect)).FselId)) // If the LHS and RHS of the IN operator do not match, that // error will have been caught long before we reach this point. @@ -82773,7 +83279,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // If this routine has already been coded, then invoke it as a // subroutine. if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6859 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6874 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ /* &.iAddr */))) return (*Expr)(unsafe.Pointer(pExpr)).FiTable @@ -82806,11 +83312,11 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6877 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6892 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 6847 /* "CORRELATED " */ + return ts + 6862 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSel)).FselId)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { nReg = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpEList)).FnExpr @@ -82834,7 +83340,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // The subquery already has a limit. If the pre-existing limit is X // then make the new limit X<>0 so that the new limit is either 1 or 0 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6491 /* "0" */) + pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6506 /* "0" */) if pLimit != 0 { (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, @@ -82844,7 +83350,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { // If there is no pre-existing limit add a limit of 1 - pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+6898 /* "1" */) + pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+6913 /* "1" */) (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -83336,12 +83842,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM c = Xsqlite3DecOrHexToI64(tls, z, bp+16 /* &value */) if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 16 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { - if Xsqlite3_strnicmp(tls, z, ts+6900 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6903 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { + if Xsqlite3_strnicmp(tls, z, ts+6915 /* "0x" */, 2) == 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+6918 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { - return ts + 4026 /* "-" */ + return ts + 4041 /* "-" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -83416,7 +83922,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT } else if (int32((*Column)(unsafe.Pointer((libc.AssignUintptr(&pCol, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20))))).FcolFlags) & COLFLAG_VIRTUAL) != 0 { var pParse uintptr = Xsqlite3VdbeParser(tls, v) if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_BUSY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6929 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6944 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else { var savedSelfTab int32 = (*Parse)(unsafe.Pointer(pParse)).FiSelfTab *(*U16)(unsafe.Pointer(pCol + 16 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) @@ -83975,7 +84481,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+6929, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6944, /* "generated column..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -84227,7 +84733,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+6959 /* "misuse of aggreg..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+6974 /* "misuse of aggreg..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*20)).FiMem @@ -84269,7 +84775,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+6985 /* "unknown function..." */, libc.VaList(bp+16, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+7000 /* "unknown function..." */, libc.VaList(bp+16, zId)) goto __3 __91: ; @@ -84463,7 +84969,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+6612, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6627, /* "%d columns assig..." */ libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -84545,7 +85051,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) goto __3 // TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions @@ -84669,7 +85175,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+7008 /* "RAISE() may only..." */, 0) + ts+7023 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -84708,7 +85214,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7058 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7073 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -86545,11 +87051,11 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq bp := tls.Alloc(8) defer tls.Free(8) - if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7066 /* "sqlite_" */, 7)) || + if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7081 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || ((((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Shadow)) != U32(0)) && (Xsqlite3ReadOnlyShadowTables(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+7074 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7089 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -86567,14 +87073,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+7102, /* "SELECT 1 FROM \"%..." */ + ts+7117, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+7277, /* "SELECT 1 FROM te..." */ + ts+7292, /* "SELECT 1 FROM te..." */ libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -86590,11 +87096,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+7451 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) + ts+7466 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+7598 /* "UPDATE temp.sqli..." */, 0) + ts+7613 /* "UPDATE temp.sqli..." */, 0) } } @@ -86668,7 +87174,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+7749 /* "there is already..." */, libc.VaList(bp, zName)) + ts+7764 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -86681,7 +87187,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+7808 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+7823 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -86691,7 +87197,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+7814 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7829 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -86744,24 +87250,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+7841 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+7856 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, - ts+8025, /* "UPDATE %Q.sqlite..." */ + ts+8040, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+64, zDb, zName, zName, zName, nTabName, zTabName)) // If the sqlite_sequence table exists in this database, then update // it with the new table name. - if !(Xsqlite3FindTable(tls, db, ts+8330 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+8345 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+8346, /* "UPDATE \"%w\".sqli..." */ + ts+8361, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -86774,7 +87280,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+8404 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+8419 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -86792,7 +87298,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+8669 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+8684 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -86807,7 +87313,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, - ts+8682, /* "SELECT raise(ABO..." */ + ts+8697, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -86855,12 +87361,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // If there is a NOT NULL constraint, then the default value for the // column must not be NULL. if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+8720 /* "Cannot add a PRI..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8735 /* "Cannot add a PRI..." */, 0) return } if (*Table)(unsafe.Pointer(pNew)).FpIndex != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+8752 /* "Cannot add a UNI..." */, 0) + ts+8767 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -86873,11 +87379,11 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if ((((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ForeignKeys)) != 0) && ((*Table)(unsafe.Pointer(pNew)).FpFKey != 0)) && (pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+8779 /* "Cannot add a REF..." */) + ts+8794 /* "Cannot add a REF..." */) } if ((*Column)(unsafe.Pointer(pCol)).FnotNull != 0) && !(pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+8838 /* "Cannot add a NOT..." */) + ts+8853 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -86893,12 +87399,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+8891 /* "Cannot add a col..." */) + ts+8906 /* "Cannot add a col..." */) } Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { - sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+8937 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+8952 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -86914,7 +87420,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+8964, /* "UPDATE \"%w\".sqli..." */ + ts+8979, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp, zDb, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zCol, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zTab)) Xsqlite3DbFree(tls, db, zCol) @@ -86985,7 +87491,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+9110 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9125 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -86994,7 +87500,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+9144 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9159 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -87029,7 +87535,7 @@ __6: nAlloc = ((((int32((*Table)(unsafe.Pointer(pNew)).FnCol) - 1) / 8) * 8) + 8) (*Table)(unsafe.Pointer(pNew)).FaCol = Xsqlite3DbMallocZero(tls, db, (uint64(uint32(unsafe.Sizeof(Column{})) * uint32(nAlloc)))) - (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+9174 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+9189 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(!(int32((*Table)(unsafe.Pointer(pNew)).FaCol) != 0) || !(int32((*Table)(unsafe.Pointer(pNew)).FzName) != 0)) { goto __7 } @@ -87076,18 +87582,18 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { - zType = ts + 9193 /* "view" */ + zType = ts + 9208 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 9198 /* "virtual table" */ + zType = ts + 9213 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+9212, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9227, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 9230 /* "drop column from" */ + return ts + 9245 /* "drop column from" */ } - return ts + 9247 /* "rename columns o..." */ + return ts + 9262 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -87180,13 +87686,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+5368 /* "no such column: ..." */, libc.VaList(bp, zOld)) + Xsqlite3ErrorMsg(tls, pParse, ts+5383 /* "no such column: ..." */, libc.VaList(bp, zOld)) goto exit_rename_column __10: ; // Ensure the schema contains no double-quoted strings - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+740 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+755 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iSchema == 1))) // Do the rename operation using a recursive UPDATE statement that @@ -87204,19 +87710,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+9265, /* "UPDATE \"%w\".sqli..." */ + ts+9280, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+8, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, - ts+9483, /* "UPDATE temp.sqli..." */ + ts+9498, /* "UPDATE temp.sqli..." */ libc.VaList(bp+72, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+8669 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+8684 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -87511,12 +88017,12 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui var zN uintptr = Xsqlite3_value_text(tls, pObject) var zErr uintptr - zErr = Xsqlite3_mprintf(tls, ts+9614, /* "error in %s %s%s..." */ + zErr = Xsqlite3_mprintf(tls, ts+9629, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - return ts + 9637 /* " " */ + return ts + 9652 /* " " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -87625,7 +88131,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // ALTER TABLE statement was quoted (bQuote==1), then set zNew to // point to zQuot so that all substitutions are made using the // quoted version of the new column name. - zQuot = Xsqlite3MPrintf(tls, db, ts+9639 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+9654 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -87675,12 +88181,12 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.Xmemcpy(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+9645 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+9660 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { - return ts + 9637 /* " " */ + return ts + 9652 /* " " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -88185,7 +88691,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+20 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+740 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+20 /* &sParse */) + renameColumnParseError(tls, context, ts+755 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+20 /* &sParse */) goto __45 __44: Xsqlite3_result_error_code(tls, context, rc) @@ -88365,7 +88871,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr } if rc != SQLITE_OK { if (*Parse)(unsafe.Pointer(bp+48 /* &sParse */)).FzErrMsg != 0 { - renameColumnParseError(tls, context, ts+740 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+48 /* &sParse */) + renameColumnParseError(tls, context, ts+755 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+48 /* &sParse */) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -88647,7 +89153,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+9650 /* "%.*s%s" */, libc.VaList(bp, ((int32((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int32(zSql))/1), zSql, zEnd)) + zNew = Xsqlite3MPrintf(tls, db, ts+9665 /* "%.*s%s" */, libc.VaList(bp, ((int32((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int32(zSql))/1), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -1, libc.UintptrFromInt32(-1)) Xsqlite3_free(tls, zNew) @@ -88735,7 +89241,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+5368 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5383 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -88745,12 +89251,12 @@ __6: if !((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*20)).FcolFlags) & (COLFLAG_PRIMKEY | COLFLAG_UNIQUE)) != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+9657, /* "cannot drop %s c..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9672, /* "cannot drop %s c..." */ libc.VaList(bp+8, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*20)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - return ts + 9685 /* "PRIMARY KEY" */ + return ts + 9700 /* "PRIMARY KEY" */ } - return ts + 5189 /* "UNIQUE" */ + return ts + 5204 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -88761,7 +89267,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+9697 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+9712 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) goto exit_drop_column __8: ; @@ -88770,15 +89276,15 @@ __8: iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+740 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+755 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+9745 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+9760 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+9866 /* "after drop colum..." */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+9881 /* "after drop colum..." */, 1) // Edit rows of table on disk if !(((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) && ((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*20)).FcolFlags) & COLFLAG_VIRTUAL) == 0)) { @@ -88889,11 +89395,11 @@ func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:109584:21: */ } var aAlterTableFuncs = [5]FuncDef{ - {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9884 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9905 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9925 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9944 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9963 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ + {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9899 /* "sqlite_rename_co..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9920 /* "sqlite_rename_ta..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9940 /* "sqlite_rename_te..." */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9959 /* "sqlite_drop_colu..." */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9978 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -89090,7 +89596,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // of the new table in register pParse->regRoot. This is important // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, - ts+9986 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) + ts+10001 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } @@ -89102,10 +89608,10 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, - ts+10009, /* "DELETE FROM %Q.%..." */ + ts+10024, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+10039 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+10054 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb) @@ -89126,9 +89632,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 10057 /* "sqlite_stat1" */, FzCols: ts + 10070 /* "tbl,idx,stat" */}, - {FzName: ts + 10083 /* "sqlite_stat4" */, FzCols: ts + 10096 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 10124 /* "sqlite_stat3" */}, + {FzName: ts + 10072 /* "sqlite_stat1" */, FzCols: ts + 10085 /* "tbl,idx,stat" */}, + {FzName: ts + 10098 /* "sqlite_stat4" */, FzCols: ts + 10111 /* "tbl,idx,neq,nlt,..." */}, + {FzName: ts + 10139 /* "sqlite_stat3" */}, } /* sqlite3.c:109773:5 */ // Recommended number of samples for sqlite_stat4 @@ -89358,7 +89864,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10137 /* "stat_init" */} /* sqlite3.c:110084:22 */ + FzName: ts + 10152 /* "stat_init" */} /* sqlite3.c:110084:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -89676,7 +90182,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10147 /* "stat_push" */} /* sqlite3.c:110374:22 */ + FzName: ts + 10162 /* "stat_push" */} /* sqlite3.c:110374:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -89733,7 +90239,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+10157, /* "%llu" */ + Xsqlite3_snprintf(tls, 24, zRet, ts+10172, /* "%llu" */ libc.VaList(bp, func() uint64 { if (*StatAccum)(unsafe.Pointer(p)).FnSkipAhead != 0 { return U64((*StatAccum)(unsafe.Pointer(p)).FnEst) @@ -89744,7 +90250,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+10162 /* " %llu" */, libc.VaList(bp+8, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+10177 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -89793,7 +90299,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+10168 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+10183 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -89810,7 +90316,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10174 /* "stat_get" */} /* sqlite3.c:110526:22 */ + FzName: ts + 10189 /* "stat_get" */} /* sqlite3.c:110526:22 */ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:110538:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, (regStat + 1)) @@ -89857,7 +90363,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Do not gather statistics on views or virtual tables return } - if Xsqlite3_strlike(tls, ts+10183 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, ts+10198 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { // Do not gather statistics on system tables return } @@ -89875,7 +90381,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp return } (*Table)(unsafe.Pointer(pStat1)).FzName = (pStat1 + 1*76) - libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+10057 /* "sqlite_stat1" */, uint32(13)) + libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+10072 /* "sqlite_stat1" */, uint32(13)) (*Table)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*Table)(unsafe.Pointer(pStat1)).FiPKey = int16(-1) Xsqlite3VdbeAddOp4(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Noop, 0, 0, 0, pStat1, -17) @@ -90108,7 +90614,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Add the entry to the stat1 table. callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10193 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10208 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP4(tls, v, -1, pStat1, -6) @@ -90170,7 +90676,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp jZeroRows = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, regStat1) Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regIdxname) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10193 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10208 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -90223,9 +90729,9 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) iStatCur = (*Parse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 40 /* &.nTab */)) += (3) if pOnlyIdx != 0 { - openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+10197 /* "idx" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+10212 /* "idx" */) } else { - openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10201 /* "tbl" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10216 /* "tbl" */) } analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1), (*Parse)(unsafe.Pointer(pParse)).FnTab) loadAnalysis(tls, pParse, iDb) @@ -90320,7 +90826,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 740 /* "" */ + z = ts + 755 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -90342,15 +90848,15 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.bUnordered */, uint32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.noSkipScan */, uint32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, ts+10205 /* "unordered*" */, z) == 0 { + if Xsqlite3_strglob(tls, ts+10220 /* "unordered*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.bUnordered */, uint32(1), 2, 0x4) - } else if Xsqlite3_strglob(tls, ts+10216 /* "sz=[0-9]*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+10231 /* "sz=[0-9]*" */, z) == 0 { var sz int32 = Xsqlite3Atoi(tls, (z + uintptr(3))) if sz < 2 { sz = 2 } (*Index)(unsafe.Pointer(pIndex)).FszIdxRow = Xsqlite3LogEst(tls, uint64(sz)) - } else if Xsqlite3_strglob(tls, ts+10226 /* "noskipscan*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+10241 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.noSkipScan */, uint32(1), 6, 0x40) } for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { @@ -90669,10 +91175,10 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:111438:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines - if Xsqlite3FindTable(tls, db, ts+10083 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+10098 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+10238, /* "SELECT idx,count..." */ - ts+10292, /* "SELECT idx,neq,n..." */ + ts+10253, /* "SELECT idx,count..." */ + ts+10307, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -90723,9 +91229,9 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // Load new statistics out of the sqlite_stat1 table (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).Fdb = db (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+10057 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { + if Xsqlite3FindTable(tls, db, ts+10072 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+10344 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) + ts+10359 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { @@ -90817,7 +91323,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // database iDb attached to handle db. func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:111595:20: */ return (libc.Bool32((Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zName) == 0) || - ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+5443 /* "main" */, zName) == 0)))) + ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+5458 /* "main" */, zName) == 0)))) } // An SQL user-function registered to do the work of an ATTACH statement. The @@ -90868,13 +91374,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 740 /* "" */ + zFile = ts + 755 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 740 /* "" */ + zName = ts + 755 /* "" */ __2: ; @@ -90884,7 +91390,7 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+2947 /* "memdb" */) + *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+2962 /* "memdb" */) if !(*(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)) == uintptr(0)) { goto __5 } @@ -90900,7 +91406,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)), ts+10385 /* "x\x00" */, db, (pNew + 4 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)), ts+10400 /* "x\x00" */, db, (pNew + 4 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -90913,7 +91419,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10388, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10403, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -90927,7 +91433,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10425 /* "database %s is a..." */, libc.VaList(bp+8, zName)) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10440 /* "database %s is a..." */, libc.VaList(bp+8, zName)) goto attach_error __11: ; @@ -90998,7 +91504,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10455 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10470 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -91015,7 +91521,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+10484 /* "attached databas..." */, 0) + ts+10499 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -91085,13 +91591,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+5166 /* "out of memory" */, 0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+5181 /* "out of memory" */, 0) goto __31 __30: if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10552 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10567 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) __32: ; __31: @@ -91147,7 +91653,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 740 /* "" */ + zName = ts + 755 /* "" */ __1: ; i = 0 @@ -91179,14 +91685,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10580 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10595 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10601 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10616 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -91194,7 +91700,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10627 /* "database %s is l..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10642 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -91317,7 +91823,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10649 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 10664 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -91330,7 +91836,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10663 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ + FzName: ts + 10678 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ @@ -91345,7 +91851,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer((*DbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit.Fbusy != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } else { - Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+10677 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) + Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+10692 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) return WRC_Abort } } @@ -91378,7 +91884,7 @@ __1: if (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != Xsqlite3FindDbName(tls, db, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) { Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, - ts+10701, /* "%s %T cannot ref..." */ + ts+10716, /* "%s %T cannot ref..." */ libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType, (*DbFixer)(unsafe.Pointer(pFix)).FpName, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return WRC_Abort } @@ -91577,7 +92083,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112233:13: */ - Xsqlite3ErrorMsg(tls, pParse, ts+10747 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10762 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -91601,11 +92107,11 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 348 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - var z uintptr = Xsqlite3_mprintf(tls, ts+10770 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) + var z uintptr = Xsqlite3_mprintf(tls, ts+10785 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+10776 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+10791 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+10782 /* "access to %z is ..." */, libc.VaList(bp+32, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+10797 /* "access to %z is ..." */, libc.VaList(bp+32, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -91657,7 +92163,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*20)).FzName } else { - zCol = ts + 6673 /* "ROWID" */ + zCol = ts + 6688 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -91689,7 +92195,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 348 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+10809 /* "not authorized" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10824 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_OK) && (rc != SQLITE_IGNORE) { rc = SQLITE_DENY @@ -91999,25 +92505,25 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb { // No match against the official names. But always match "main" // to schema 0 as a legacy fallback. - if Xsqlite3StrICmp(tls, zDatabase, ts+5443 /* "main" */) == 0 { + if Xsqlite3StrICmp(tls, zDatabase, ts+5458 /* "main" */) == 0 { i = 0 } else { return uintptr(0) } } p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*16)).FpSchema + 8 /* &.tblHash */), zName) - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7066 /* "sqlite_" */, 7) == 0) { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7081 /* "sqlite_" */, 7) == 0) { if i == 1 { - if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10824 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10843 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+4941 /* "sqlite_master" */ +7)) == 0) { + if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10839 /* "sqlite_temp_sche..." */ +7)) == 0) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10858 /* "sqlite_schema" */ +7)) == 0)) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+4956 /* "sqlite_master" */ +7)) == 0) { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 8 /* &.tblHash */), - ts+10857 /* "sqlite_temp_mast..." */) + ts+10872 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10843 /* "sqlite_schema" */ +7)) == 0 { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10858 /* "sqlite_schema" */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*16)).FpSchema + 8 /* &.tblHash */), - ts+4941 /* "sqlite_master" */) + ts+4956 /* "sqlite_master" */) } } } @@ -92040,12 +92546,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7066 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10843 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+4941 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10824 /* "sqlite_temp_sche..." */ +7)) == 0 { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7081 /* "sqlite_" */, 7) == 0) { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10858 /* "sqlite_schema" */ +7)) == 0 { + p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+4956 /* "sqlite_master" */) + } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10839 /* "sqlite_temp_sche..." */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 8 /* &.tblHash */), - ts+10857 /* "sqlite_temp_mast..." */) + ts+10872 /* "sqlite_temp_mast..." */) } } } @@ -92081,7 +92587,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // can be an eponymous virtual table. if (int32((*Parse)(unsafe.Pointer(pParse)).FdisableVtab) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { var pMod uintptr = Xsqlite3HashFind(tls, (db + 372 /* &.aModule */), zName) - if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10876 /* "pragma_" */, 7) == 0) { + if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10891 /* "pragma_" */, 7) == 0) { pMod = Xsqlite3PragmaVtabRegister(tls, db, zName) } if (pMod != 0) && (Xsqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0) { @@ -92099,14 +92605,14 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if p == uintptr(0) { var zMsg uintptr if (flags & U32(LOCATE_VIEW)) != 0 { - zMsg = ts + 10884 /* "no such view" */ + zMsg = ts + 10899 /* "no such view" */ } else { - zMsg = ts + 10897 /* "no such table" */ + zMsg = ts + 10912 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+5636 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+5651 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+5646 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+5661 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -92419,7 +92925,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // writing. The table is opened using cursor 0. func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:113223:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) - Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+4941 /* "sqlite_master" */) + Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+4956 /* "sqlite_master" */) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) if (*Parse)(unsafe.Pointer(p)).FnTab == 0 { (*Parse)(unsafe.Pointer(p)).FnTab = 1 @@ -92446,7 +92952,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql } // "main" is always an acceptable alias for the primary database // even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. - if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+5443 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+5458 /* "main" */, zName)) { goto __3 } @@ -92499,13 +93005,13 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if (*Token)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10911 /* "corrupt database" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10926 /* "corrupt database" */, 0) return -1 } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = Xsqlite3FindDb(tls, db, pName1) if iDb < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10928 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+10943 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -92546,13 +93052,13 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType if ((Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit))) != 0) || (Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 1*4))) != 0)) || (Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 2*4))) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+740 /* "" */, 0) // corruptSchema() will supply the error + Xsqlite3ErrorMsg(tls, pParse, ts+755 /* "" */, 0) // corruptSchema() will supply the error return SQLITE_ERROR } } else { - if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+7066 /* "sqlite_" */, 7))) || + if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+7081 /* "sqlite_" */, 7))) || ((Xsqlite3ReadOnlyShadowTables(tls, db) != 0) && (Xsqlite3ShadowTableName(tls, db, zName) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+10948, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10963, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -92721,9 +93227,9 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui iDb = int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) zName = Xsqlite3DbStrDup(tls, db, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 @@ -92741,7 +93247,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+10990 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11005 /* "temporary table ..." */, 0) return __4: ; @@ -92769,9 +93275,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 9193 /* "view" */ + return ts + 9208 /* "view" */ } - return ts + 7808 /* "table" */ + return ts + 7823 /* "table" */ }(), zName) != 0) { goto __8 } @@ -92788,9 +93294,9 @@ __9: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (isTemp == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -92828,7 +93334,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+11031 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+11046 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) goto __16 __15: ; @@ -92842,7 +93348,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+11055 /* "there is already..." */, libc.VaList(bp+8, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11070 /* "there is already..." */, libc.VaList(bp+8, zName)) goto begin_table_error __17: ; @@ -92958,7 +93464,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:113716:13: */ var pHash uintptr pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 40 /* &.trigHash */) - Xsqlite3HashInsert(tls, pHash, ts+11090 /* "sqlite_returning" */, uintptr(0)) + Xsqlite3HashInsert(tls, pHash, ts+11105 /* "sqlite_returning" */, uintptr(0)) Xsqlite3ExprListDelete(tls, db, (*Returning)(unsafe.Pointer(pRet)).FpReturnEL) Xsqlite3DbFree(tls, db, pRet) } @@ -92982,7 +93488,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Parse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11107 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11122 /* "cannot use RETUR..." */, 0) } else { } @@ -93003,7 +93509,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 11090 /* "sqlite_returning" */ + (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 11105 /* "sqlite_returning" */ (*Returning)(unsafe.Pointer(pRet)).FretTrig.Fop = U8(TK_RETURNING) (*Returning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = U8(TRIGGER_AFTER) (*Returning)(unsafe.Pointer(pRet)).FretTrig.FbReturning = U8(1) @@ -93015,7 +93521,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql (*Returning)(unsafe.Pointer(pRet)).FretTStep.FpExprList = pList pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 40 /* &.trigHash */) - if Xsqlite3HashInsert(tls, pHash, ts+11090 /* "sqlite_returning" */, (pRet+8 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+11105 /* "sqlite_returning" */, (pRet+8 /* &.retTrig */)) == (pRet + 8 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -93043,7 +93549,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp return } if (int32((*Table)(unsafe.Pointer(p)).FnCol) + 1) > *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+11141 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11156 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } z = Xsqlite3DbMallocRaw(tls, db, (uint64(((*Token)(unsafe.Pointer(pName)).Fn + (*Token)(unsafe.Pointer(pType)).Fn) + uint32(2)))) @@ -93059,7 +93565,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*20)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*20)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11164 /* "duplicate column..." */, libc.VaList(bp+8, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+11179 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -93233,11 +93739,11 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar var isInit int32 = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) != 1))) pCol = ((*Table)(unsafe.Pointer(p)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(p)).FnCol)-1))*20) if !(Xsqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11190, /* "default value of..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11205, /* "default value of..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11235 /* "cannot use DEFAU..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11250 /* "cannot use DEFAU..." */, 0) } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. @@ -93287,7 +93793,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+11276 /* "generated column..." */, 0) + ts+11291 /* "generated column..." */, 0) } } @@ -93332,7 +93838,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+11328 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+11343 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit __2: ; @@ -93392,7 +93898,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+740 /* "" */), ts+11369 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+755 /* "" */), ts+11384 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -93420,7 +93926,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+11377 /* "AUTOINCREMENT is..." */, 0) + ts+11392 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -93524,7 +94030,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+11433 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11448 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -93537,13 +94043,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+11476 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+11491 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { goto __5 } // no-op goto __6 __5: - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+11484 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+11499 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { goto __7 } eType = U8(COLFLAG_STORED) @@ -93576,7 +94082,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+11491, /* "error in generat..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11506, /* "error in generat..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) generated_done: Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -93718,13 +94224,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 740 /* "" */ - zSep2 = ts + 11522 /* "," */ - zEnd = ts + 4051 /* ")" */ + zSep = ts + 755 /* "" */ + zSep2 = ts + 11537 /* "," */ + zEnd = ts + 4066 /* ")" */ } else { - zSep = ts + 11524 /* "\n " */ - zSep2 = ts + 11528 /* ",\n " */ - zEnd = ts + 11533 /* "\n)" */ + zSep = ts + 11539 /* "\n " */ + zSep2 = ts + 11543 /* ",\n " */ + zEnd = ts + 11548 /* "\n)" */ } n = n + (35 + (6 * int32((*Table)(unsafe.Pointer(p)).FnCol))) zStmt = Xsqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -93732,7 +94238,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+11536 /* "CREATE TABLE " */, 0) + Xsqlite3_snprintf(tls, n, zStmt, ts+11551 /* "CREATE TABLE " */, 0) *(*int32)(unsafe.Pointer(bp + 8 /* k */)) = Xsqlite3Strlen30(tls, zStmt) identPut(tls, zStmt, bp+8 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = int8('(') @@ -93766,16 +94272,16 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+2775 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+2790 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } var azType1 = [5]uintptr{ - /* SQLITE_AFF_BLOB */ ts + 740, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 11550, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 11556, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 11561, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 11566, /* " REAL" */ + /* SQLITE_AFF_BLOB */ ts + 755, /* "" */ + /* SQLITE_AFF_TEXT */ ts + 11565, /* " TEXT" */ + /* SQLITE_AFF_NUMERIC */ ts + 11571, /* " NUM" */ + /* SQLITE_AFF_INTEGER */ ts + 11576, /* " INT" */ + /* SQLITE_AFF_REAL */ ts + 11581, /* " REAL" */ } /* sqlite3.c:114391:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK @@ -94212,7 +94718,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // table itself. So mark it read-only. if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { if pSelect != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+740 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+755 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -94225,11 +94731,11 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (int32(tabOpts) & TF_WithoutRowid) != 0 { if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+11572 /* "AUTOINCREMENT no..." */, 0) + ts+11587 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11622 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11637 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } *(*U32)(unsafe.Pointer(p + 36 /* &.tabFlags */)) |= (U32(TF_WithoutRowid | TF_NoVisibleRowid)) @@ -94273,7 +94779,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11654 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11669 /* "must have at lea..." */, 0) return } } @@ -94306,12 +94812,12 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // Initialize zType for the new view or table. if (*Table)(unsafe.Pointer(p)).FpSelect == uintptr(0) { // A regular table - zType = ts + 7808 /* "table" */ - zType2 = ts + 11698 /* "TABLE" */ + zType = ts + 7823 /* "table" */ + zType2 = ts + 11713 /* "TABLE" */ } else { // A view - zType = ts + 9193 /* "view" */ - zType2 = ts + 11704 /* "VIEW" */ + zType = ts + 9208 /* "view" */ + zType2 = ts + 11719 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -94392,7 +94898,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+11709 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+11724 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -94400,7 +94906,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+11724, /* "UPDATE %Q.sqlite..." */ + ts+11739, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, @@ -94418,14 +94924,14 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+11822, /* "CREATE TABLE %Q...." */ + ts+11837, /* "CREATE TABLE %Q...." */ libc.VaList(bp+88, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+11864 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+11879 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -94446,7 +94952,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // then record a pointer to this table in the main database structure // so that INSERT can find the table easily. - if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+8330 /* "sqlite_sequence" */) == 0 { + if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+8345 /* "sqlite_sequence" */) == 0 { (*Schema)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -94483,7 +94989,7 @@ func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui if !(int32((*Parse)(unsafe.Pointer(pParse)).FnVar) > 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+11898 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11913 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -94505,7 +95011,7 @@ __2: Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp /* &pName */) iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(p)).FpSchema) - Xsqlite3FixInit(tls, bp+4 /* &sFix */, pParse, iDb, ts+9193 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) + Xsqlite3FixInit(tls, bp+4 /* &sFix */, pParse, iDb, ts+9208 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) if !(Xsqlite3FixSelect(tls, bp+4 /* &sFix */, pSelect) != 0) { goto __3 } @@ -94622,7 +95128,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i // CREATE TEMP VIEW ex1 AS SELECT a FROM ex1; // SELECT * FROM temp.ex1; if int32((*Table)(unsafe.Pointer(pTable)).FnCol) < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11934 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11949 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) return 1 } @@ -94764,7 +95270,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) if iTable < 2 { - Xsqlite3ErrorMsg(tls, pParse, ts+11964 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11979 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -94778,7 +95284,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+11979, /* "UPDATE %Q.sqlite..." */ + ts+11994, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb+uintptr(iDb)*16)).FzDbSName, iTable, r1, r1)) Xsqlite3ReleaseTempReg(tls, pParse, r1) } @@ -94842,10 +95348,10 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint for i = 1; i <= 4; i++ { // var zTab [24]int8 at bp+40, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+12046 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+12061 /* "sqlite_stat%d" */, libc.VaList(bp, i)) if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+40 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+10009, /* "DELETE FROM %Q.%..." */ + ts+10024, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } @@ -94885,7 +95391,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // move as a result of the drop (can happen in auto-vacuum mode). if ((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+12060, /* "DELETE FROM %Q.s..." */ + ts+12075, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -94897,7 +95403,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+12105, /* "DELETE FROM %Q.s..." */ + ts+12120, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) @@ -94927,11 +95433,11 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Return true if it is not allowed to drop the given table func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:115607:12: */ - if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7066 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+2398 /* "stat" */, 4) == 0 { + if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7081 /* "sqlite_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+2413 /* "stat" */, 4) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+6135 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+6150 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -95012,9 +95518,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName zArg2 = uintptr(0) @@ -95074,7 +95580,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+12172 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12187 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __19: ; @@ -95084,14 +95590,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+12200 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12215 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+12234 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12249 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -95106,7 +95612,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+10201 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+10216 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -95171,7 +95677,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+12266, /* "foreign key on %..." */ + ts+12281, /* "foreign key on %..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(iCol)*20)).FzName, pTo)) goto fk_end __5: @@ -95184,7 +95690,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+12329 /* "number of column..." */, 0) + ts+12344 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -95268,7 +95774,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+12423, /* "unknown column \"..." */ + ts+12438, /* "unknown column \"..." */ libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*20)).FzEName)) goto fk_end __23: @@ -95518,12 +96024,12 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pList)).FnExpr; i++ { if (uint32(int32(*(*uint8)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*20 + 12 /* &.bNulls */)) & 0x20 >> 5))) != 0 { var sf U8 = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*20)).FsortFlags - Xsqlite3ErrorMsg(tls, pParse, ts+12469, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12484, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 12497 /* "FIRST" */ + return ts + 12512 /* "FIRST" */ } - return ts + 12503 /* "LAST" */ + return ts + 12518 /* "LAST" */ }())) return 1 } @@ -95681,7 +96187,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+132 /* &sFix */, pParse, iDb, ts+12508 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) + Xsqlite3FixInit(tls, bp+132 /* &sFix */, pParse, iDb, ts+12523 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+132 /* &sFix */, pTblName) != 0) { goto __10 } @@ -95702,7 +96208,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+12514, /* "cannot create a ..." */ + ts+12529, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -95729,26 +96235,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7066 /* "sqlite_" */, 7) == 0) && + if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7081 /* "sqlite_" */, 7) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0)) && (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+12564 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12579 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+12592 /* "views may not be..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12607 /* "views may not be..." */, 0) goto exit_create_index __16: ; if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+12617 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12632 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -95775,7 +96281,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+12508 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+12523 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { goto __21 } goto exit_create_index @@ -95790,7 +96296,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+12651 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12666 /* "there is already..." */, libc.VaList(bp+16, zName)) goto exit_create_index __24: ; @@ -95802,7 +96308,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+12685 /* "index %s already..." */, libc.VaList(bp+24, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12700 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -95831,7 +96337,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+12709 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+12724 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -95860,9 +96366,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -95906,7 +96412,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12508 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12523 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -96023,7 +96529,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+12732 /* "expressions proh..." */, 0) + ts+12747 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -96252,7 +96758,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+12793 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) + ts+12808 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -96308,7 +96814,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+12835 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12850 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -96366,12 +96872,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+12852, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+12867, /* "CREATE%s INDEX %..." */ libc.VaList(bp+56, func() uintptr { if onError == OE_None { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 12872 /* " UNIQUE" */ + return ts + 12887 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: @@ -96383,7 +96889,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+12880, /* "INSERT INTO %Q.s..." */ + ts+12895, /* "INSERT INTO %Q.s..." */ libc.VaList(bp+80, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -96399,7 +96905,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+12939 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+12954 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -96583,7 +97089,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+12966 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+12981 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __5 __4: Xsqlite3CodeVerifyNamedSchema(tls, pParse, (*SrcItem)(unsafe.Pointer((pName + 8 /* &.a */))).FzDatabase) @@ -96598,7 +97104,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+12984 /* "index associated..." */, libc.VaList(bp+8, 0)) + ts+12999 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -96609,9 +97115,9 @@ __6: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -96639,9 +97145,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+13057, /* "DELETE FROM %Q.s..." */ + ts+13072, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) - sqlite3ClearStatTables(tls, pParse, iDb, ts+10197 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+10212 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) Xsqlite3VdbeAddOp4(tls, v, OP_DropIndex, iDb, 0, 0, (*Index)(unsafe.Pointer(pIndex)).FzName, 0) @@ -96792,7 +97298,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*SrcList)(unsafe.Pointer(pSrc)).FnSrc + nExtra) >= SQLITE_MAX_SRCLIST { - Xsqlite3ErrorMsg(tls, pParse, ts+13117, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13132, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -97004,12 +97510,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+13153, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13168, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 13189 /* "ON" */ + return ts + 13204 /* "ON" */ } - return ts + 13192 /* "USING" */ + return ts + 13207 /* "USING" */ }())) goto append_from_error __1: @@ -97137,7 +97643,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+13198 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { + if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+13213 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { return } v = Xsqlite3GetVdbe(tls, pParse) @@ -97173,9 +97679,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 13204 /* "ROLLBACK" */ + return ts + 13219 /* "ROLLBACK" */ } - return ts + 13213 /* "COMMIT" */ + return ts + 13228 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -97200,7 +97706,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 13198 /* "BEGIN" */, ts + 13220 /* "RELEASE" */, ts + 13204 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ +var az = [3]uintptr{ts + 13213 /* "BEGIN" */, ts + 13235 /* "RELEASE" */, ts + 13219 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. @@ -97216,7 +97722,7 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp /* &pBt */, 0, flags) if rc != SQLITE_OK { Xsqlite3ErrorMsg(tls, pParse, - ts+13228 /* "unable to open a..." */, 0) + ts+13243 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -97359,17 +97865,17 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx Xsqlite3StrAccumInit(tls, bp+8 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 108 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+13298 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+13313 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*20)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+13309 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+13324 /* ", " */, 2) } Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+753 /* "." */, 1) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+768 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } @@ -97392,11 +97898,11 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr var rc int32 if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10770 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10785 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*20)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+13312 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+13327 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -97539,7 +98045,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+13321 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13336 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -97649,7 +98155,7 @@ func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) var i int32 for i = 0; i < (*With)(unsafe.Pointer(pWith)).FnCte; i++ { if Xsqlite3StrICmp(tls, zName, (*Cte)(unsafe.Pointer((pWith+12 /* &.a */)+uintptr(i)*24)).FzName) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13367 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13382 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -97883,7 +98389,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+13397 /* "no such collatio..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13412 /* "no such collatio..." */, libc.VaList(bp, zName)) (*Parse)(unsafe.Pointer(pParse)).Frc = (SQLITE_ERROR | (int32(1) << 8)) } return p @@ -98249,11 +98755,11 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 defer tls.Free(16) if tabIsReadOnly(tls, pParse, pTab) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13428 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13443 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+13457 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13472 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -98846,7 +99352,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+13495 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+13510 /* "rows deleted" */, uintptr(0)) __61: ; @@ -98991,7 +99497,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri } return 0 }()) - if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10057 /* "sqlite_stat1" */)) { + if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10072 /* "sqlite_stat1" */)) { Xsqlite3VdbeAppendP4(tls, v, pTab, -6) } if int32(eMode) != ONEPASS_OFF { @@ -99269,7 +99775,7 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 5253 /* "integer" */, ts + 5248 /* "real" */, ts + 13508 /* "text" */, ts + 13513 /* "blob" */, ts + 5243 /* "null" */} /* sqlite3.c:119398:21 */ +var azType2 = [5]uintptr{ts + 5268 /* "integer" */, ts + 5263 /* "real" */, ts + 13523 /* "text" */, ts + 13528 /* "blob" */, ts + 5258 /* "null" */} /* sqlite3.c:119398:21 */ // Implementation of the length() function func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119418:13: */ @@ -99333,7 +99839,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // IMP: R-31676-45509 If X is the integer -9223372036854775808 // then abs(X) throws an integer overflow error since there is no // equivalent positive 64-bit two complement value. - Xsqlite3_result_error(tls, context, ts+13518 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+13533 /* "integer overflow" */, -1) return } iVal = -iVal @@ -99671,7 +100177,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+13535 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+13550 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -100121,7 +100627,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 8*4)) { - Xsqlite3_result_error(tls, context, ts+13540 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+13555 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -100133,7 +100639,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } if Xsqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp /* zEsc */)), -1) != 1 { Xsqlite3_result_error(tls, context, - ts+13573 /* "ESCAPE expressio..." */, -1) + ts+13588 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -100199,7 +100705,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))) } // Implementation of the sqlite_compileoption_used() function. @@ -100256,10 +100762,10 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // var zBuf [50]int8 at bp+16, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+4019 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+4034 /* "%!.15g" */, libc.VaList(bp, r1)) Xsqlite3AtoF(tls, bp+16 /* &zBuf[0] */, bp+68 /* &r2 */, 20, uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp + 68 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+13618 /* "%!.20e" */, libc.VaList(bp+8, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+13633 /* "%!.20e" */, libc.VaList(bp+8, r1)) } Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -100333,7 +100839,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+741 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+756 /* "NULL" */, 4, uintptr(0)) break } @@ -100644,7 +101150,7 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:120648:27 */ -var azOne = [1]uintptr{uintptr(ts + 9637 /* " " */)} /* sqlite3.c:120649:26 */ +var azOne = [1]uintptr{uintptr(ts + 9652 /* " " */)} /* sqlite3.c:120649:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -100665,7 +101171,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = ts + 740 /* "" */ + zIn = ts + 755 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -100691,7 +101197,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else { // IMP: R-64894-50321 The string "?000" is returned if the argument // is NULL or contains no ASCII alphabetic characters. - Xsqlite3_result_text(tls, context, ts+13625 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+13640 /* "?000" */, 4, uintptr(0)) } } @@ -100719,7 +101225,7 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // Disallow the load_extension() SQL function unless the SQLITE_LoadExtFunc // flag is set. See the sqlite3_enable_load_extension() API. if ((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_LoadExtFunc)) == uint64(0) { - Xsqlite3_result_error(tls, context, ts+10809 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+10824 /* "not authorized" */, -1) return } @@ -100807,7 +101313,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:120889:13: */ p = Xsqlite3_aggregate_context(tls, context, 0) if (p != 0) && ((*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0)) { if (*SumCtx)(unsafe.Pointer(p)).Foverflow != 0 { - Xsqlite3_result_error(tls, context, ts+13518 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+13533 /* "integer overflow" */, -1) } else if (*SumCtx)(unsafe.Pointer(p)).Fapprox != 0 { Xsqlite3_result_double(tls, context, (*SumCtx)(unsafe.Pointer(p)).FrSum) } else { @@ -100961,7 +101467,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zSep = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) nSep = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) } else { - zSep = ts + 11522 /* "," */ + zSep = ts + 11537 /* "," */ nSep = 1 } if zSep != 0 { @@ -101039,7 +101545,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:121112:13: // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:121135:21: */ - var rc int32 = Xsqlite3_overload_function(tls, db, ts+13630 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+13645 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -101059,14 +101565,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+13636 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+13651 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3CreateFunc(tls, db, ts+13636 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+13651 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13636 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13636 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13651 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13651 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) } // pExpr points to an expression which implements a function. If @@ -101171,76 +101677,76 @@ func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:121427:21: * var aBuiltinFunc = [68]FuncDef{ //**** Functions only available with SQLITE_TESTCTRL_INTERNAL_FUNCTIONS **** - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_implies_nonnull_row), FxSFunc: 0, FzName: ts + 13641 /* "implies_nonnull_..." */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_compare), FxSFunc: 0, FzName: ts + 13661 /* "expr_compare" */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_implies_expr), FxSFunc: 0, FzName: ts + 13674 /* "expr_implies_exp..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_implies_nonnull_row), FxSFunc: 0, FzName: ts + 13656 /* "implies_nonnull_..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_compare), FxSFunc: 0, FzName: ts + 13676 /* "expr_compare" */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_implies_expr), FxSFunc: 0, FzName: ts + 13689 /* "expr_implies_exp..." */}, //**** Regular functions **** - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13692 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13700 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13700 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13715 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13741 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 13766 /* "unlikely" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 13775 /* "likelihood" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 13786 /* "likely" */}, - {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13793 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 13807 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 13807 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 13813 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 13813 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 13819 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 13819 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13824 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 13824 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13824 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 13828 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FzName: ts + 13828 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(1), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13828 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13832 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 13839 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13846 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13852 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13859 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13867 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13872 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13876 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13876 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13882 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13888 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13894 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 13898 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13905 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13912 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13923 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13930 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13945 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13962 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13973 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13979 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13997 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14005 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14019 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14027 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14036 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14036 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14043 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14043 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14053 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14057 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14063 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14067 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14067 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14073 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14073 /* "group_concat" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13707 /* "soundex" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13715 /* "load_extension" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13715 /* "load_extension" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13730 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13756 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 13781 /* "unlikely" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 13790 /* "likelihood" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 13801 /* "likely" */}, + {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13808 /* "sqlite_offset" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 13822 /* "ltrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 13822 /* "ltrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 13828 /* "rtrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 13828 /* "rtrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 13834 /* "trim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 13834 /* "trim" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13839 /* "min" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 13839 /* "min" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13839 /* "min" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 13843 /* "max" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FzName: ts + 13843 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(1), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13843 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13847 /* "typeof" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 13854 /* "length" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13861 /* "instr" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13867 /* "printf" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13874 /* "unicode" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13882 /* "char" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13887 /* "abs" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13891 /* "round" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13891 /* "round" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13897 /* "upper" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13903 /* "lower" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13909 /* "hex" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 13913 /* "ifnull" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13920 /* "random" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13927 /* "randomblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13938 /* "nullif" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13945 /* "sqlite_version" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13960 /* "sqlite_source_id" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13977 /* "sqlite_log" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13988 /* "quote" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13994 /* "last_insert_rowi..." */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14012 /* "changes" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14020 /* "total_changes" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14034 /* "replace" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14042 /* "zeroblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14051 /* "substr" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14051 /* "substr" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14058 /* "substring" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14058 /* "substring" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14068 /* "sum" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14072 /* "total" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14078 /* "avg" */}, + {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14082 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14082 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14088 /* "group_concat" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14088 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14086 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13636 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13636 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14091 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14091 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14100 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14091 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 14105 /* "iif" */}} /* sqlite3.c:121438:18 */ + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14101 /* "glob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13651 /* "like" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13651 /* "like" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14106 /* "coalesce" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14106 /* "coalesce" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14115 /* "sign" */}, + {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14106 /* "coalesce" */}, + {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 14120 /* "iif" */}} /* sqlite3.c:121438:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -101526,7 +102032,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey if !(pIdx != 0) { if !(int32((*Parse)(unsafe.Pointer(pParse)).FdisableTriggers) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+14109, /* "foreign key mism..." */ + ts+14124, /* "foreign key mism..." */ libc.VaList(bp, (*Table)(unsafe.Pointer((*FKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*FKey)(unsafe.Pointer(pFKey)).FzTo)) } Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiCol) @@ -102422,8 +102928,8 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, } for i = 0; i < (*FKey)(unsafe.Pointer(pFKey)).FnCol; i++ { - *(*Token)(unsafe.Pointer(bp + 24 /* tOld */)) = Token{Fz: ts + 5452 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 32 /* tNew */)) = Token{Fz: ts + 5448 /* "new" */, Fn: uint32(3)} // Literal "new" token + *(*Token)(unsafe.Pointer(bp + 24 /* tOld */)) = Token{Fz: ts + 5467 /* "old" */, Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 32 /* tNew */)) = Token{Fz: ts + 5463 /* "new" */, Fn: uint32(3)} // Literal "new" token // var tFromCol Token at bp+16, 8 // Name of column in child table // var tToCol Token at bp+8, 8 @@ -102511,7 +103017,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, (*Token)(unsafe.Pointer(bp + 40 /* &tFrom */)).Fz = zFrom (*Token)(unsafe.Pointer(bp + 40 /* &tFrom */)).Fn = uint32(nFrom) - pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+4235 /* "FOREIGN KEY cons..." */) + pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+4250 /* "FOREIGN KEY cons..." */) if pRaise != 0 { (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -102941,7 +103447,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6929 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6944 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) } (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -103505,7 +104011,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+14154, /* "cannot INSERT in..." */ + ts+14169, /* "cannot INSERT in..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*20)).FzName)) goto insert_cleanup __24: @@ -103530,7 +104036,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+14195, /* "table %S has no ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14210, /* "table %S has no ..." */ libc.VaList(bp+8, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*8)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup @@ -103700,7 +104206,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+14227, /* "table %S has %d ..." */ + ts+14242, /* "table %S has %d ..." */ libc.VaList(bp+24, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: @@ -103710,7 +104216,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+14279 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+14294 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -103766,7 +104272,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+14304, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14319, /* "UPSERT not imple..." */ libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -103774,7 +104280,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+14350 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14365 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -104254,7 +104760,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14371 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14386 /* "rows inserted" */, uintptr(0)) __123: ; @@ -104597,7 +105103,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10770 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10785 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_HaltIfNull, (SQLITE_CONSTRAINT | (int32(5) << 8)), onError, iReg) @@ -106000,7 +106506,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 740 /* "" */ + zSql = ts + 755 /* "" */ __2: ; @@ -106561,7 +107067,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+10809 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+10824 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -106571,7 +107077,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 14385 /* "sqlite3_extensio..." */ + zEntry = ts + 14400 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -106591,7 +107097,7 @@ __5: if !((ii < (int32(uint32(unsafe.Sizeof(azEndings)) / uint32(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+10770 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) + zAltFile = Xsqlite3_mprintf(tls, ts+10785 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) if !(zAltFile == uintptr(0)) { goto __8 } @@ -106637,7 +107143,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.Xmemcpy(tls, zAltEntry, ts+14408 /* "sqlite3_" */, uint32(8)) + libc.Xmemcpy(tls, zAltEntry, ts+14423 /* "sqlite3_" */, uint32(8)) iFile = (ncFile - 1) __12: if !((iFile >= 0) && !((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/')) { @@ -106651,7 +107157,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14417 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14432 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -106675,7 +107181,7 @@ __17: goto __18 __18: ; - libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+14421 /* "_init" */, uint32(6)) + libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+14436 /* "_init" */, uint32(6)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -106693,7 +107199,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+14427 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) + ts+14442 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __22: ; @@ -106718,7 +107224,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14470 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14485 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) __25: ; Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) @@ -106758,7 +107264,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+14502 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) + ts+14517 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __29: ; @@ -106768,7 +107274,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 14539, /* "so" */ + ts + 14554, /* "so" */ } /* sqlite3.c:127457:21 */ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127590:16: */ @@ -106934,7 +107440,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+14542 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) + ts+14557 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */))) @@ -106979,61 +107485,61 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 // or that return single-column results where the name of the // result column is different from the name of the pragma var pragCName = [51]uintptr{ - /* 0 */ ts + 4156, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 14581, /* "seq" */ - /* 2 */ ts + 7808, /* "table" */ - /* 3 */ ts + 14585, /* "from" */ - /* 4 */ ts + 14590, /* "to" */ - /* 5 */ ts + 14593, /* "on_update" */ - /* 6 */ ts + 14603, /* "on_delete" */ - /* 7 */ ts + 14613, /* "match" */ - /* 8 */ ts + 14619, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 14623, /* "name" */ - /* 10 */ ts + 14628, /* "type" */ - /* 11 */ ts + 14633, /* "notnull" */ - /* 12 */ ts + 14641, /* "dflt_value" */ - /* 13 */ ts + 14652, /* "pk" */ - /* 14 */ ts + 14655, /* "hidden" */ + /* 0 */ ts + 4171, /* "id" */ // Used by: foreign_key_list + /* 1 */ ts + 14596, /* "seq" */ + /* 2 */ ts + 7823, /* "table" */ + /* 3 */ ts + 14600, /* "from" */ + /* 4 */ ts + 14605, /* "to" */ + /* 5 */ ts + 14608, /* "on_update" */ + /* 6 */ ts + 14618, /* "on_delete" */ + /* 7 */ ts + 14628, /* "match" */ + /* 8 */ ts + 14634, /* "cid" */ // Used by: table_xinfo + /* 9 */ ts + 14638, /* "name" */ + /* 10 */ ts + 14643, /* "type" */ + /* 11 */ ts + 14648, /* "notnull" */ + /* 12 */ ts + 14656, /* "dflt_value" */ + /* 13 */ ts + 14667, /* "pk" */ + /* 14 */ ts + 14670, /* "hidden" */ // table_info reuses 8 - /* 15 */ ts + 14662, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 14619, /* "cid" */ - /* 17 */ ts + 14623, /* "name" */ - /* 18 */ ts + 14668, /* "desc" */ - /* 19 */ ts + 14673, /* "coll" */ - /* 20 */ ts + 14678, /* "key" */ - /* 21 */ ts + 14623, /* "name" */ // Used by: function_list - /* 22 */ ts + 14682, /* "builtin" */ - /* 23 */ ts + 14628, /* "type" */ - /* 24 */ ts + 14690, /* "enc" */ - /* 25 */ ts + 14694, /* "narg" */ - /* 26 */ ts + 14699, /* "flags" */ - /* 27 */ ts + 10201, /* "tbl" */ // Used by: stats - /* 28 */ ts + 10197, /* "idx" */ - /* 29 */ ts + 14705, /* "wdth" */ - /* 30 */ ts + 14710, /* "hght" */ - /* 31 */ ts + 14715, /* "flgs" */ - /* 32 */ ts + 14581, /* "seq" */ // Used by: index_list - /* 33 */ ts + 14623, /* "name" */ - /* 34 */ ts + 14720, /* "unique" */ - /* 35 */ ts + 14727, /* "origin" */ - /* 36 */ ts + 14734, /* "partial" */ - /* 37 */ ts + 7808, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 14742, /* "rowid" */ - /* 39 */ ts + 4159, /* "parent" */ - /* 40 */ ts + 14748, /* "fkid" */ + /* 15 */ ts + 14677, /* "seqno" */ // Used by: index_xinfo + /* 16 */ ts + 14634, /* "cid" */ + /* 17 */ ts + 14638, /* "name" */ + /* 18 */ ts + 14683, /* "desc" */ + /* 19 */ ts + 14688, /* "coll" */ + /* 20 */ ts + 14693, /* "key" */ + /* 21 */ ts + 14638, /* "name" */ // Used by: function_list + /* 22 */ ts + 14697, /* "builtin" */ + /* 23 */ ts + 14643, /* "type" */ + /* 24 */ ts + 14705, /* "enc" */ + /* 25 */ ts + 14709, /* "narg" */ + /* 26 */ ts + 14714, /* "flags" */ + /* 27 */ ts + 10216, /* "tbl" */ // Used by: stats + /* 28 */ ts + 10212, /* "idx" */ + /* 29 */ ts + 14720, /* "wdth" */ + /* 30 */ ts + 14725, /* "hght" */ + /* 31 */ ts + 14730, /* "flgs" */ + /* 32 */ ts + 14596, /* "seq" */ // Used by: index_list + /* 33 */ ts + 14638, /* "name" */ + /* 34 */ ts + 14735, /* "unique" */ + /* 35 */ ts + 14742, /* "origin" */ + /* 36 */ ts + 14749, /* "partial" */ + /* 37 */ ts + 7823, /* "table" */ // Used by: foreign_key_check + /* 38 */ ts + 14757, /* "rowid" */ + /* 39 */ ts + 4174, /* "parent" */ + /* 40 */ ts + 14763, /* "fkid" */ // index_info reuses 15 - /* 41 */ ts + 14581, /* "seq" */ // Used by: database_list - /* 42 */ ts + 14623, /* "name" */ - /* 43 */ ts + 14753, /* "file" */ - /* 44 */ ts + 14758, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 14763, /* "log" */ - /* 46 */ ts + 14767, /* "checkpointed" */ + /* 41 */ ts + 14596, /* "seq" */ // Used by: database_list + /* 42 */ ts + 14638, /* "name" */ + /* 43 */ ts + 14768, /* "file" */ + /* 44 */ ts + 14773, /* "busy" */ // Used by: wal_checkpoint + /* 45 */ ts + 14778, /* "log" */ + /* 46 */ ts + 14782, /* "checkpointed" */ // collation_list reuses 32 - /* 47 */ ts + 14780, /* "database" */ // Used by: lock_status - /* 48 */ ts + 14789, /* "status" */ - /* 49 */ ts + 14796, /* "cache_size" */ // Used by: default_cache_size + /* 47 */ ts + 14795, /* "database" */ // Used by: lock_status + /* 48 */ ts + 14804, /* "status" */ + /* 49 */ ts + 14811, /* "cache_size" */ // Used by: default_cache_size // module_list pragma_list reuses 9 - /* 50 */ ts + 14807, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 14822, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas @@ -107049,234 +107555,234 @@ type PragmaName1 = struct { // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [65]PragmaName{ - { /* zName: */ FzName: ts + 14815, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 14830, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 14830, /* "application_id" */ + { /* zName: */ FzName: ts + 14845, /* "application_id" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_APPLICATION_ID)}, - { /* zName: */ FzName: ts + 14845, /* "auto_vacuum" */ + { /* zName: */ FzName: ts + 14860, /* "auto_vacuum" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_AUTO_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 14857, /* "automatic_index" */ + { /* zName: */ FzName: ts + 14872, /* "automatic_index" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_AutoIndex)}, - { /* zName: */ FzName: ts + 14873, /* "busy_timeout" */ + { /* zName: */ FzName: ts + 14888, /* "busy_timeout" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_BUSY_TIMEOUT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(50), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 14796, /* "cache_size" */ + { /* zName: */ FzName: ts + 14811, /* "cache_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 14886, /* "cache_spill" */ + { /* zName: */ FzName: ts + 14901, /* "cache_spill" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SPILL), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 14898, /* "case_sensitive_l..." */ + { /* zName: */ FzName: ts + 14913, /* "case_sensitive_l..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CASE_SENSITIVE_LIKE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 14918, /* "cell_size_check" */ + { /* zName: */ FzName: ts + 14933, /* "cell_size_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CellSizeCk)}, - { /* zName: */ FzName: ts + 14934, /* "checkpoint_fullf..." */ + { /* zName: */ FzName: ts + 14949, /* "checkpoint_fullf..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CkptFullFSync)}, - { /* zName: */ FzName: ts + 14955, /* "collation_list" */ + { /* zName: */ FzName: ts + 14970, /* "collation_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COLLATION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 14970, /* "compile_options" */ + { /* zName: */ FzName: ts + 14985, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 14986, /* "count_changes" */ + { /* zName: */ FzName: ts + 15001, /* "count_changes" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (U64((uint64(0x00001))) << 32)}, - { /* zName: */ FzName: ts + 15000, /* "data_version" */ + { /* zName: */ FzName: ts + 15015, /* "data_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_DATA_VERSION)}, - { /* zName: */ FzName: ts + 15013, /* "database_list" */ + { /* zName: */ FzName: ts + 15028, /* "database_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATABASE_LIST), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_Result0)), /* ColNames: */ FiPragCName: U8(41), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15027, /* "default_cache_si..." */ + { /* zName: */ FzName: ts + 15042, /* "default_cache_si..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DEFAULT_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1)), /* ColNames: */ FiPragCName: U8(49), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15046, /* "defer_foreign_ke..." */ + { /* zName: */ FzName: ts + 15061, /* "defer_foreign_ke..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_DeferFKs)}, - { /* zName: */ FzName: ts + 15065, /* "empty_result_cal..." */ + { /* zName: */ FzName: ts + 15080, /* "empty_result_cal..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_NullCallback)}, - { /* zName: */ FzName: ts + 15088, /* "encoding" */ + { /* zName: */ FzName: ts + 15103, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15097, /* "foreign_key_chec..." */ + { /* zName: */ FzName: ts + 15112, /* "foreign_key_chec..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_CHECK), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(37), FnPragCName: U8(4)}, - { /* zName: */ FzName: ts + 15115, /* "foreign_key_list" */ + { /* zName: */ FzName: ts + 15130, /* "foreign_key_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), FnPragCName: U8(8)}, - { /* zName: */ FzName: ts + 15132, /* "foreign_keys" */ + { /* zName: */ FzName: ts + 15147, /* "foreign_keys" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ForeignKeys)}, - { /* zName: */ FzName: ts + 15145, /* "freelist_count" */ + { /* zName: */ FzName: ts + 15160, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 15160, /* "full_column_name..." */ + { /* zName: */ FzName: ts + 15175, /* "full_column_name..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullColNames)}, - { /* zName: */ FzName: ts + 15178, /* "fullfsync" */ + { /* zName: */ FzName: ts + 15193, /* "fullfsync" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullFSync)}, - { /* zName: */ FzName: ts + 15188, /* "function_list" */ + { /* zName: */ FzName: ts + 15203, /* "function_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FUNCTION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(21), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 15202, /* "hard_heap_limit" */ + { /* zName: */ FzName: ts + 15217, /* "hard_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HARD_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15218, /* "ignore_check_con..." */ + { /* zName: */ FzName: ts + 15233, /* "ignore_check_con..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_IgnoreChecks)}, - { /* zName: */ FzName: ts + 15243, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 15258, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 15262, /* "index_info" */ + { /* zName: */ FzName: ts + 15277, /* "index_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15273, /* "index_list" */ + { /* zName: */ FzName: ts + 15288, /* "index_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(5)}, - { /* zName: */ FzName: ts + 15284, /* "index_xinfo" */ + { /* zName: */ FzName: ts + 15299, /* "index_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(6), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 15296, /* "integrity_check" */ + { /* zName: */ FzName: ts + 15311, /* "integrity_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 15312, /* "journal_mode" */ + { /* zName: */ FzName: ts + 15327, /* "journal_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_MODE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15325, /* "journal_size_lim..." */ + { /* zName: */ FzName: ts + 15340, /* "journal_size_lim..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_SIZE_LIMIT), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15344, /* "legacy_alter_tab..." */ + { /* zName: */ FzName: ts + 15359, /* "legacy_alter_tab..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_LegacyAlter)}, - { /* zName: */ FzName: ts + 15363, /* "locking_mode" */ + { /* zName: */ FzName: ts + 15378, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15376, /* "max_page_count" */ + { /* zName: */ FzName: ts + 15391, /* "max_page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15391, /* "mmap_size" */ + { /* zName: */ FzName: ts + 15406, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 15401, /* "module_list" */ + { /* zName: */ FzName: ts + 15416, /* "module_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MODULE_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15413, /* "optimize" */ + { /* zName: */ FzName: ts + 15428, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 15422, /* "page_count" */ + { /* zName: */ FzName: ts + 15437, /* "page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15433, /* "page_size" */ + { /* zName: */ FzName: ts + 15448, /* "page_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_SIZE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15443, /* "pragma_list" */ + { /* zName: */ FzName: ts + 15458, /* "pragma_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PRAGMA_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15455, /* "query_only" */ + { /* zName: */ FzName: ts + 15470, /* "query_only" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_QueryOnly)}, - { /* zName: */ FzName: ts + 15466, /* "quick_check" */ + { /* zName: */ FzName: ts + 15481, /* "quick_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 15478, /* "read_uncommitted" */ + { /* zName: */ FzName: ts + 15493, /* "read_uncommitted" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReadUncommit)}, - { /* zName: */ FzName: ts + 15495, /* "recursive_trigge..." */ + { /* zName: */ FzName: ts + 15510, /* "recursive_trigge..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_RecTriggers)}, - { /* zName: */ FzName: ts + 15514, /* "reverse_unordere..." */ + { /* zName: */ FzName: ts + 15529, /* "reverse_unordere..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReverseOrder)}, - { /* zName: */ FzName: ts + 15540, /* "schema_version" */ + { /* zName: */ FzName: ts + 15555, /* "schema_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_SCHEMA_VERSION)}, - { /* zName: */ FzName: ts + 15555, /* "secure_delete" */ + { /* zName: */ FzName: ts + 15570, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15569, /* "short_column_nam..." */ + { /* zName: */ FzName: ts + 15584, /* "short_column_nam..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ShortColNames)}, - { /* zName: */ FzName: ts + 15588, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 15603, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 15602, /* "soft_heap_limit" */ + { /* zName: */ FzName: ts + 15617, /* "soft_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SOFT_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15618, /* "synchronous" */ + { /* zName: */ FzName: ts + 15633, /* "synchronous" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SYNCHRONOUS), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15630, /* "table_info" */ + { /* zName: */ FzName: ts + 15645, /* "table_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 15641, /* "table_xinfo" */ + { /* zName: */ FzName: ts + 15656, /* "table_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(7), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 15653, /* "temp_store" */ + { /* zName: */ FzName: ts + 15668, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15664, /* "temp_store_direc..." */ + { /* zName: */ FzName: ts + 15679, /* "temp_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 15685, /* "threads" */ + { /* zName: */ FzName: ts + 15700, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15693, /* "trusted_schema" */ + { /* zName: */ FzName: ts + 15708, /* "trusted_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_TrustedSchema)}, - { /* zName: */ FzName: ts + 15708, /* "user_version" */ + { /* zName: */ FzName: ts + 15723, /* "user_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_USER_VERSION)}, - { /* zName: */ FzName: ts + 15721, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 15736, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 15740, /* "wal_checkpoint" */ + { /* zName: */ FzName: ts + 15755, /* "wal_checkpoint" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_CHECKPOINT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NeedSchema), /* ColNames: */ FiPragCName: U8(44), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15755, /* "writable_schema" */ + { /* zName: */ FzName: ts + 15770, /* "writable_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError))}, @@ -107313,7 +107819,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 15771 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 15786 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ @@ -107330,10 +107836,10 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:128 // Interpret the given string as a locking mode value. func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ if z != 0 { - if 0 == Xsqlite3StrICmp(tls, z, ts+15796 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15811 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+15806 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15821 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -107346,13 +107852,13 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ var i int32 - if 0 == Xsqlite3StrICmp(tls, z, ts+15813 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15828 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+15818 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15833 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+15823 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15838 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -107370,9 +107876,9 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128566:12: */ if (int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '2') { return (int32(*(*int8)(unsafe.Pointer(z))) - '0') - } else if Xsqlite3StrICmp(tls, z, ts+14753 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+14768 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+15835 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+15850 /* "memory" */) == 0 { return 2 } else { return 0 @@ -107388,7 +107894,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || (Xsqlite3BtreeTxnState(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpBt) != SQLITE_TXN_NONE) { Xsqlite3ErrorMsg(tls, pParse, - ts+15842 /* "temporary storag..." */, 0) + ts+15857 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpBt) @@ -107488,19 +107994,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 15904 /* "SET NULL" */ + zName = ts + 15919 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 15913 /* "SET DEFAULT" */ + zName = ts + 15928 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 15925 /* "CASCADE" */ + zName = ts + 15940 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 15933 /* "RESTRICT" */ + zName = ts + 15948 /* "RESTRICT" */ break default: - zName = ts + 15942 /* "NO ACTION" */ + zName = ts + 15957 /* "NO ACTION" */ break } return zName @@ -107518,7 +108024,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 15952 /* "delete" */, ts + 15959 /* "persist" */, ts + 15967 /* "off" */, ts + 15971 /* "truncate" */, ts + 15835 /* "memory" */, ts + 15980, /* "wal" */ + ts + 15967 /* "delete" */, ts + 15974 /* "persist" */, ts + 15982 /* "off" */, ts + 15986 /* "truncate" */, ts + 15850 /* "memory" */, ts + 15995, /* "wal" */ } /* sqlite3.c:128715:15 */ // Locate a pragma in the aPragmaName[] array. @@ -107564,13 +108070,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 15984 /* "w" */ + zType = ts + 15999 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 15986 /* "a" */ + zType = ts + 16001 /* "a" */ } else { - zType = ts + 15988 /* "s" */ + zType = ts + 16003 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15990, /* "sissii" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16005, /* "sissii" */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, azEnc[((*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK))], int32((*FuncDef)(unsafe.Pointer(p)).FnArg), @@ -107579,7 +108085,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } var mask U32 = (U32((((SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY) | SQLITE_SUBTYPE) | SQLITE_INNOCUOUS) | SQLITE_FUNC_INTERNAL)) /* sqlite3.c:128765:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 15997 /* "utf8" */, ts + 16002 /* "utf16le" */, ts + 16010 /* "utf16be" */} /* sqlite3.c:128772:23 */ +var azEnc = [4]uintptr{uintptr(0), ts + 16012 /* "utf8" */, ts + 16017 /* "utf16le" */, ts + 16025 /* "utf16be" */} /* sqlite3.c:128772:23 */ // Helper subroutine for PRAGMA integrity_check: // @@ -107841,7 +108347,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+16018 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+16033 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -107896,7 +108402,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 364 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 364 /* &aFcntl[0] */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 364 /* &aFcntl[0] */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 364 /* &aFcntl[0] */))) __10: ; @@ -108468,7 +108974,7 @@ __18: if !(zRight != 0) { goto __62 } - if !(Xsqlite3_stricmp(tls, zRight, ts+16022 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+16037 /* "fast" */) == 0) { goto __63 } b = 2 @@ -108557,7 +109063,7 @@ __70: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 15806 /* "normal" */ + zRet = ts + 15821 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -108598,7 +109104,7 @@ __77: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __82 } - zRet = ts + 15796 /* "exclusive" */ + zRet = ts + 15811 /* "exclusive" */ __82: ; returnSingleText(tls, v, zRet) @@ -108963,7 +109469,7 @@ __122: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 412 /* res */)) == 0)) { goto __125 } - Xsqlite3ErrorMsg(tls, pParse, ts+16027 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16042 /* "not a writable d..." */, 0) goto pragma_out __125: ; @@ -108981,7 +109487,7 @@ __126: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __127 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+16, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+16, zRight)) goto __128 __127: Xsqlite3_temp_directory = uintptr(0) @@ -109009,7 +109515,7 @@ __129: goto __131 } Xsqlite3ErrorMsg(tls, pParse, - ts+16052 /* "Safety level may..." */, 0) + ts+16067 /* "Safety level may..." */, 0) goto __132 __131: if !(iDb != 1) { @@ -109168,13 +109674,13 @@ __153: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 16105 /* "issisii" */ + return ts + 16120 /* "issisii" */ } - return ts + 16113 /* "issisi" */ + return ts + 16128 /* "issisi" */ }(), libc.VaList(bp+24, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+740 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+755 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -109249,7 +109755,7 @@ __165: goto __167 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16120 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16135 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -109259,7 +109765,7 @@ __165: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __168 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+16125, /* "isiX" */ + Xsqlite3VdbeMultiLoad(tls, v, 4, ts+16140, /* "isiX" */ libc.VaList(bp+104, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*4)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) @@ -109296,8 +109802,8 @@ __171: if !(pIdx1 != 0) { goto __173 } - *(*[3]uintptr)(unsafe.Pointer(bp + 416 /* azOrigin */)) = [3]uintptr{ts + 16130 /* "c" */, ts + 16132 /* "u" */, ts + 14652 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16134, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 416 /* azOrigin */)) = [3]uintptr{ts + 16145 /* "c" */, ts + 16147 /* "u" */, ts + 14667 /* "pk" */} + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16149, /* "isisi" */ libc.VaList(bp+128, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), @@ -109331,7 +109837,7 @@ __174: __177: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16140, /* "iss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16155, /* "iss" */ libc.VaList(bp+168, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*16)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*16)).FpBt))) @@ -109354,7 +109860,7 @@ __178: goto __180 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16144 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16159 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __179 __179: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -109418,7 +109924,7 @@ __190: goto __192 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15988 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16003 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __191 __191: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -109435,7 +109941,7 @@ __193: if !(i6 < (int32(uint32(unsafe.Sizeof(aPragmaName)) / uint32(unsafe.Sizeof(PragmaName{}))))) { goto __195 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15988 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16003 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) goto __194 __194: i6++ @@ -109471,7 +109977,7 @@ __201: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __203 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16147, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16162, /* "iissssss" */ libc.VaList(bp+224, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -109479,7 +109985,7 @@ __201: (*sColMap)(unsafe.Pointer((pFK+36 /* &.aCol */)+uintptr(j2)*8)).FzCol, actionName(tls, *(*U8)(unsafe.Pointer((pFK + 25 /* &.aAction */) + 1))), // ON UPDATE actionName(tls, *(*U8)(unsafe.Pointer((pFK + 25 /* &.aAction */)))), // ON DELETE - ts+16156 /* "NONE" */)) + ts+16171 /* "NONE" */)) goto __202 __202: j2++ @@ -109672,7 +110178,7 @@ __230: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __231: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+16161 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+16176 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 432 /* aiCols */))) @@ -109938,7 +110444,7 @@ __258: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+16165 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*16)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+16180 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*16)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -110028,7 +110534,7 @@ __277: __278: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+16189 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+16204 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*20)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -110068,7 +110574,7 @@ __283: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+16209, /* "CHECK constraint..." */ + zErr1 = Xsqlite3MPrintf(tls, db, ts+16224, /* "CHECK constraint..." */ libc.VaList(bp+328, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) @@ -110102,9 +110608,9 @@ __288: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 444 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16239 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16254 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+16244 /* " missing from in..." */) + Xsqlite3VdbeLoadString(tls, v, 4, ts+16259 /* " missing from in..." */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) jmp5 = Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) @@ -110144,7 +110650,7 @@ __292: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 444 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16265 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16280 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __289: @@ -110166,7 +110672,7 @@ __284: if !(!(isQuick != 0)) { goto __294 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+16292 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+16307 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __295: @@ -110217,7 +110723,7 @@ __240: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 436 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*20)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16 /* &.p4 */)) = ts + 16321 /* "ok" */ + *(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16 /* &.p4 */)) = ts + 16336 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*20)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 5*20 + 16 /* &.p4 */)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT) __299: @@ -110295,7 +110801,7 @@ __306: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __308 } - Xsqlite3ErrorMsg(tls, pParse, ts+16324 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+16339 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) __308: ; __303: @@ -110407,19 +110913,19 @@ __47: if !(zRight != 0) { goto __315 } - if !(Xsqlite3StrICmp(tls, zRight, ts+15818 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+15833 /* "full" */) == 0) { goto __316 } eMode2 = SQLITE_CHECKPOINT_FULL goto __317 __316: - if !(Xsqlite3StrICmp(tls, zRight, ts+16349 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+16364 /* "restart" */) == 0) { goto __318 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __319 __318: - if !(Xsqlite3StrICmp(tls, zRight, ts+15971 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+15986 /* "truncate" */) == 0) { goto __320 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -110606,7 +111112,7 @@ __335: __337: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+16357, /* "ANALYZE \"%w\".\"%w..." */ + zSubSql = Xsqlite3MPrintf(tls, db, ts+16372, /* "ANALYZE \"%w\".\"%w..." */ libc.VaList(bp+344, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __338 @@ -110790,14 +111296,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 16375 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 16380 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 16386 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 16395 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 16404 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 16412 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 16420 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 16427 /* "UTF16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 16390 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, + {FzName: ts + 16395 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] + {FzName: ts + 16401 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] + {FzName: ts + 16410 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] + {FzName: ts + 16419 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, + {FzName: ts + 16427 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, + {FzName: ts + 16435 /* "UTF-16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 16442 /* "UTF16" */}, // SQLITE_UTF16NATIVE {}, } /* sqlite3.c:130285:7 */ var setCookie = [2]VdbeOpList{ @@ -110854,7 +111360,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argc _ = argv Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+56 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16433 /* "CREATE TABLE x" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16448 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -110862,7 +111368,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16448 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16463 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -110875,19 +111381,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16455 /* "(\"%s\"" */, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16470 /* "(\"%s\"" */, 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 /* &acc */, ts+16461 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16476 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16473 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16488 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+4066 /* ")" */, 1) Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) rc = Xsqlite3_declare_vtab(tls, db, bp+56 /* &zBuf[0] */) @@ -110903,7 +111409,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -111066,7 +111572,7 @@ __1: var zText uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) if zText != 0 { - *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + uintptr(j)*4)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, zText)) + *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + uintptr(j)*4)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, zText)) if *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + uintptr(j)*4)) == uintptr(0) { return SQLITE_NOMEM } @@ -111082,13 +111588,13 @@ __2: __3: ; Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 108 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16488 /* "PRAGMA " */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16503 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + 1*4)) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16496 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + 1*4)))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16511 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + 1*4)))) } Xsqlite3_str_appendall(tls, bp+32 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16500 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16515 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */))))) } zSql = Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) if zSql == uintptr(0) { @@ -111097,7 +111603,7 @@ __3: rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 4 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -111190,12 +111696,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) // A error message has already been generated. Do not overwrite it } else if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & (U32(INITFLAG_AlterRename | INITFLAG_AlterDrop))) != 0 { *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db, - ts+16504 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)), + ts+16519 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)), func() uintptr { if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & U32(INITFLAG_AlterRename)) != 0 { - return ts + 16532 /* "rename" */ + return ts + 16547 /* "rename" */ } - return ts + 16539 /* "drop column" */ + return ts + 16554 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -111207,11 +111713,11 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) if *(*uintptr)(unsafe.Pointer(azObj + 1*4)) != 0 { zObj = *(*uintptr)(unsafe.Pointer(azObj + 1*4)) } else { - zObj = ts + 4107 /* "?" */ + zObj = ts + 4122 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+16551 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+16566 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+16582 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+16597 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -111288,7 +111794,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr if (Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), (db+160 /* &.init */ /* &.newTnum */)) == 0) || (((*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum > (*InitData)(unsafe.Pointer(pData)).FmxPage) && ((*InitData)(unsafe.Pointer(pData)).FmxPage > Pgno(0))) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+12835 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+12850 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+160 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -111325,13 +111831,13 @@ 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+16590 /* "orphan index" */) + corruptSchema(tls, pData, argv, ts+16605 /* "orphan index" */) } else if (((Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), (pIndex+44 /* &.tnum */)) == 0) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2))) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage)) || (Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+12835 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+12850 /* "invalid rootpage" */) } } } @@ -111374,16 +111880,16 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 7808 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 7823 /* "table" */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*4)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 2*4)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*4)) - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*4)) = ts + 6898 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*4)) = ts + 16603 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*4)) = ts + 6913 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*4)) = ts + 16618 /* "CREATE TABLE x(t..." */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 5*4)) = uintptr(0) (*InitData)(unsafe.Pointer(bp + 40 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 40 /* &initData */)).FiDb = iDb @@ -111496,7 +112002,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+10484 /* "attached databas..." */) + ts+10499 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -111536,7 +112042,7 @@ __16: if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) { goto __17 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+16675 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+16690 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -111558,7 +112064,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 40 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+16699, /* "SELECT*FROM\"%w\"...." */ + ts+16714, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zSchemaTabName)) xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth @@ -111918,7 +112424,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+16733 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+16748 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -111946,7 +112452,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+16763 /* "statement too lo..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+16778 /* "statement too lo..." */, 0) rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG) goto end_prepare __10: @@ -112009,7 +112515,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+2775 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */)))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+2790 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */))) goto __21 __20: @@ -112484,24 +112990,24 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC } } if ((jointype & (JT_INNER | JT_OUTER)) == (JT_INNER | JT_OUTER)) || ((jointype & JT_ERROR) != 0) { - var zSp uintptr = ts + 9637 /* " " */ + var zSp uintptr = ts + 9652 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+16782 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) + ts+16797 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) jointype = JT_INNER } else if ((jointype & JT_OUTER) != 0) && ((jointype & (JT_LEFT | JT_RIGHT)) != JT_LEFT) { Xsqlite3ErrorMsg(tls, pParse, - ts+16826 /* "RIGHT and FULL O..." */, 0) + ts+16841 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 16881 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 16896 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -112707,7 +113213,7 @@ __1: if (int32((*SrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype) & JT_NATURAL) != 0 { if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) || ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+16915 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) + ts+16930 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) return 1 } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { @@ -112731,7 +113237,7 @@ __1: // Disallow both ON and USING clauses in the same join if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) && ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+16965 /* "cannot have both..." */, 0) + ts+16980 /* "cannot have both..." */, 0) return 1 } @@ -112766,7 +113272,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+17020 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) + ts+17035 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) return 1 } addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 24 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 28 /* iLeftCol */)), (i + 1), iRightCol, @@ -113557,16 +114063,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 17084 /* "UNION ALL" */ + z = ts + 17099 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 17094 /* "INTERSECT" */ + z = ts + 17109 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 17104 /* "EXCEPT" */ + z = ts + 17119 /* "EXCEPT" */ break default: - z = ts + 17111 /* "UNION" */ + z = ts + 17126 /* "UNION" */ break } return z @@ -113584,7 +114090,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite bp := tls.Alloc(8) defer tls.Free(8) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17117 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17132 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } // Assign expression b to lvalue a. A second, no-op, version of this macro @@ -113850,8 +114356,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 11369 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 40 /* zOrigCol */)) = ts + 14742 /* "rowid" */ + zType = ts + 11384 /* "INTEGER" */ + *(*uintptr)(unsafe.Pointer(bp + 40 /* zOrigCol */)) = ts + 14757 /* "rowid" */ } else { *(*uintptr)(unsafe.Pointer(bp + 40 /* zOrigCol */)) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20)).FzName zType = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20), uintptr(0)) @@ -114004,13 +114510,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 14742 /* "rowid" */ + zCol = ts + 14757 /* "rowid" */ } else { zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20)).FzName } if fullName != 0 { var zName uintptr = uintptr(0) - zName = Xsqlite3MPrintf(tls, db, ts+10770 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) + zName = Xsqlite3MPrintf(tls, db, ts+10785 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } else { Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, libc.UintptrFromInt32(-1)) @@ -114018,7 +114524,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*20)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+17140 /* "column%d" */, libc.VaList(bp+16, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+17155 /* "column%d" */, libc.VaList(bp+16, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -114107,7 +114613,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20)).FzName } else { - zName = ts + 14742 /* "rowid" */ + zName = ts + 14757 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -114120,7 +114626,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+17140 /* "column%d" */, libc.VaList(bp, (i+1))) + zName = Xsqlite3MPrintf(tls, db, ts+17155 /* "column%d" */, libc.VaList(bp, (i+1))) } // Make sure the column name is unique. If the name is not unique, @@ -114135,7 +114641,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+17149 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48 /* cnt */)), 1))) + zName = Xsqlite3MPrintf(tls, db, ts+17164 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48 /* cnt */)), 1))) if *(*U32)(unsafe.Pointer(bp + 48 /* cnt */)) > U32(3) { Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+48 /* &cnt */) } @@ -114492,7 +114998,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+17157 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17172 /* "cannot use windo..." */, 0) return __1: ; @@ -114603,7 +115109,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+17206 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17221 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -114625,7 +115131,7 @@ __14: // Store the results of the setup-query in Queue. pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior (*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17248 /* "SETUP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17263 /* "SETUP" */, 0) rc = Xsqlite3Select(tls, pParse, pSetup, bp /* &destQueue */) (*Select)(unsafe.Pointer(pSetup)).FpNext = p if !(rc != 0) { @@ -114668,7 +115174,7 @@ __20: // Execute the recursive SELECT taking the single row in Current as // the value for the recursive-table. Store the results in the Queue. (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17254 /* "RECURSIVE STEP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17269 /* "RECURSIVE STEP" */, 0) Xsqlite3Select(tls, pParse, p, bp /* &destQueue */) (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -114718,11 +115224,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+17269 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17284 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { if nRow == 1 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 17292 /* "S" */ + return ts + 17307 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -114874,8 +115380,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17294 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17309 /* "LEFT-MOST SUBQUE..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17309 /* "COMPOUND QUERY" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17324 /* "LEFT-MOST SUBQUE..." */, 0) __8: ; @@ -114924,7 +115430,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17084 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17099 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) @@ -115000,7 +115506,7 @@ __23: pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 48 /* &uniondest */)).FeDest = op - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17328 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17343 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+48 /* &uniondest */) @@ -115072,7 +115578,7 @@ __26: pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 76 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17328 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17343 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+76 /* &intersectdest */) @@ -115233,10 +115739,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+17349 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17364 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+17395, /* "SELECTs to the l..." */ + ts+17410, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -115616,9 +116122,9 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Separate the left and the right query from one another (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) (*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) - Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6236 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6251 /* "ORDER" */) if (*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+6236 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+6251 /* "ORDER" */) } // Compute the limit registers @@ -115647,7 +116153,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) Xsqlite3SelectDestInit(tls, bp+8 /* &destA */, SRT_Coroutine, regAddrA) Xsqlite3SelectDestInit(tls, bp+36 /* &destB */, SRT_Coroutine, regAddrB) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17477 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17492 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) // Generate a coroutine to evaluate the SELECT statement to the // left of the compound operator - the "A" select. @@ -115655,7 +116161,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17488 /* "LEFT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17503 /* "LEFT" */, 0) Xsqlite3Select(tls, pParse, pPrior, bp+8 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -115669,7 +116175,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+17493 /* "RIGHT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17508 /* "RIGHT" */, 0) Xsqlite3Select(tls, pParse, p, bp+36 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -115865,7 +116371,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 303 /* "BINARY" */ + return ts + 318 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -117078,12 +117584,12 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 return U8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8 /* &.u */)) - if Xsqlite3StrICmp(tls, zFunc, ts+13824 /* "min" */) == 0 { + if Xsqlite3StrICmp(tls, zFunc, ts+13839 /* "min" */) == 0 { eRet = WHERE_ORDERBY_MIN if Xsqlite3ExprCanBeNull(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */))).FpExpr) != 0 { sortFlags = U8(KEYINFO_ORDER_BIGNULL) } - } else if Xsqlite3StrICmp(tls, zFunc, ts+13828 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+13843 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -117152,7 +117658,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+17499 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) + Xsqlite3ErrorMsg(tls, pParse, ts+17514 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) return SQLITE_ERROR } @@ -117263,7 +117769,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s defer tls.Free(8) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 36 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+17517 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17532 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) return 1 } return 0 @@ -117451,7 +117957,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+36 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+17540 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+17555 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -117467,7 +117973,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17583 /* "circular referen..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17598 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { @@ -117493,7 +117999,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+17606, /* "table %s has %d ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17621, /* "table %s has %d ..." */ libc.VaList(bp+16, (*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 @@ -117504,9 +118010,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom Xsqlite3ColumnsFromExprList(tls, pParse, pEList, (pTab + 42 /* &.nCol */), (pTab + 4 /* &.aCol */)) if bMayRecursive != 0 { if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17644 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17659 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17678 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17693 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -117554,7 +118060,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+17716 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + (*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+17731 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) } for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior @@ -117681,7 +118187,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+17728, /* "too many referen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17743, /* "too many referen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) (*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return WRC_Abort @@ -117700,7 +118206,7 @@ __1: if (((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (((*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+17767, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17782, /* "access to view \"..." */ libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -117708,7 +118214,7 @@ __1: ((uint32(int32(*(*uint16)(unsafe.Pointer((pFrom + 36 /* &.fg */) + 4 /* &.fromDDL */)) & 0x40 >> 6))) != 0)) && ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+17798, /* "unsafe use of vi..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17813, /* "unsafe use of vi..." */ libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) @@ -117823,7 +118329,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName } else { - zSchemaName = ts + 17831 /* "*" */ + zSchemaName = ts + 17846 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -117872,7 +118378,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+10770 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+10785 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) zToFree = zColname } } else { @@ -117888,7 +118394,7 @@ __3: (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSub)).FpEList+8 /* &.a */)+uintptr(j)*20)).FzEName) } else { - (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+17833, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+17848, /* "%s.%s.%s" */ libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } @@ -117908,9 +118414,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+17842 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17857 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+17860 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17875 /* "no tables specif..." */, 0) } } } @@ -117920,7 +118426,7 @@ __3: } if (*Select)(unsafe.Pointer(p)).FpEList != 0 { if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+17880 /* "too many columns..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17895 /* "too many columns..." */, 0) return WRC_Abort } if (elistFlags & (U32(EP_HasFunc | EP_Subquery))) != U32(0) { @@ -118108,13 +118614,13 @@ __1: if (*(*uintptr)(unsafe.Pointer(pE + 20 /* &.x */)) == uintptr(0)) || ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 20 /* &.x */)))).FnExpr != 1) { Xsqlite3ErrorMsg(tls, pParse, - ts+17911 /* "DISTINCT aggrega..." */, 0) + ts+17926 /* "DISTINCT aggrega..." */, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1 } else { var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 20 /* &.x */)), 0, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -9) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17962 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17977 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } @@ -118314,19 +118820,19 @@ 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 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17995, /* "SCAN %s%s%s" */ + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18010, /* "SCAN %s%s%s" */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if bCover != 0 { - return ts + 18007 /* " USING COVERING ..." */ + return ts + 18022 /* " USING COVERING ..." */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) } } @@ -118346,7 +118852,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { if (Xsqlite3ExprIsConstantOrGroupBy(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*Select)(unsafe.Pointer(pS)).FpGroupBy) != 0) && ((libc.Bool32(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromJoin | EP_IsFalse))) == U32(EP_IsFalse))) == 0) { var db uintptr = (*Parse)(unsafe.Pointer((*Walker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6898 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6913 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -118648,7 +119154,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+18030, /* "target object/al..." */ + ts+18045, /* "target object/al..." */ libc.VaList(bp, func() uintptr { if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 { return (*SrcItem)(unsafe.Pointer(p0)).FzAlias @@ -118728,7 +119234,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+18084, /* "expected %d colu..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18099, /* "expected %d colu..." */ 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 __18: @@ -118869,7 +119375,7 @@ __29: if !(((*SrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0)) && ((*SrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0))) { goto __32 } - Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+740 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+755 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -118934,7 +119440,7 @@ __35: (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop Xsqlite3SelectDestInit(tls, bp+88 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18124 /* "CO-ROUTINE %!S" */, libc.VaList(bp+32, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18139 /* "CO-ROUTINE %!S" */, libc.VaList(bp+32, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+88 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+36 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) @@ -118996,7 +119502,7 @@ __44: __45: ; Xsqlite3SelectDestInit(tls, bp+88 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18139 /* "MATERIALIZE %!S" */, libc.VaList(bp+40, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18154 /* "MATERIALIZE %!S" */, libc.VaList(bp+40, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+88 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { @@ -119516,9 +120022,9 @@ __97: explainTempTable(tls, pParse, func() uintptr { if ((*DistinctCtx)(unsafe.Pointer(bp+116 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { - return ts + 18155 /* "DISTINCT" */ + return ts + 18170 /* "DISTINCT" */ } - return ts + 18164 /* "GROUP BY" */ + return ts + 18179 /* "GROUP BY" */ }()) groupBySort = 1 @@ -119930,7 +120436,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+116 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+18155 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+18170 /* "DISTINCT" */) __140: ; @@ -119942,9 +120448,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FnOBSat > 0 { - return ts + 18173 /* "RIGHT PART OF OR..." */ + return ts + 18188 /* "RIGHT PART OF OR..." */ } - return ts + 18196 /* "ORDER BY" */ + return ts + 18211 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+48 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -120077,7 +120583,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*4)))) + z = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*4)))) if !(z == uintptr(0)) { goto __10 } @@ -120099,7 +120605,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+18205 /* "sqlite3_get_tabl..." */, 0) + ts+18220 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -120198,7 +120704,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) } @@ -120359,7 +120865,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+18270 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18285 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -120420,7 +120926,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+36 /* &sFix */, pParse, iDb, ts+18316 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + Xsqlite3FixInit(tls, bp+36 /* &sFix */, pParse, iDb, ts+18331 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+36 /* &sFix */, pTableName) != 0) { goto __9 } @@ -120438,7 +120944,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+18324 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18339 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -120453,7 +120959,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+18316 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { + if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+18331 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { goto __13 } goto trigger_cleanup @@ -120469,7 +120975,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+18365 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+18380 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __17 __16: ; @@ -120483,10 +120989,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7066 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7081 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+18391 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18406 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -120496,12 +121002,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+18429, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18444, /* "cannot create %s..." */ libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 18466 /* "BEFORE" */ + return ts + 18481 /* "BEFORE" */ } - return ts + 18473 /* "AFTER" */ + return ts + 18488 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -120510,7 +121016,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+18479 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) + ts+18494 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -120540,9 +121046,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -120676,7 +121182,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+48 /* &sFix */, pParse, iDb, ts+18316 /* "trigger" */, bp+40 /* &nameToken */) + Xsqlite3FixInit(tls, bp+48 /* &sFix */, pParse, iDb, ts+18331 /* "trigger" */, bp+40 /* &nameToken */) if !((Xsqlite3FixTriggerStep(tls, bp+48 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || (Xsqlite3FixExpr(tls, bp+48 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 @@ -120713,13 +121219,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+18525, /* "INSERT INTO %Q.s..." */ + ts+18540, /* "INSERT INTO %Q.s..." */ libc.VaList(bp, (*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+18600 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+18615 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) __7: ; __6: @@ -120985,7 +121491,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+18629 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+18644 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __10 __9: Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb) @@ -121026,9 +121532,9 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName var zTab uintptr = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -121041,7 +121547,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / // Generate code to destroy the database record of the trigger. if (libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse))) != uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+18649, /* "DELETE FROM %Q.s..." */ + ts+18664, /* "DELETE FROM %Q.s..." */ 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) @@ -121160,12 +121666,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+18711, /* "%s RETURNING is ..." */ + ts+18726, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 18759 /* "DELETE" */ + return ts + 18774 /* "DELETE" */ } - return ts + 18766 /* "UPDATE" */ + return ts + 18781 /* "UPDATE" */ }())) __15: ; @@ -121261,7 +121767,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK { return 0 } - Xsqlite3ErrorMsg(tls, pParse, ts+18773 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18788 /* "RETURNING may no..." */, 0) return 1 } @@ -121402,7 +121908,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf if (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { Xsqlite3VdbeAddOp4(tls, v, OP_Trace, 0x7fffffff, 1, 0, - Xsqlite3MPrintf(tls, db, ts+5128 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+5143 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -121532,7 +122038,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+18815 /* "-- TRIGGER %s" */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) + Xsqlite3MPrintf(tls, db, ts+18830 /* "-- TRIGGER %s" */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -122235,7 +122741,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+18829, /* "cannot UPDATE ge..." */ + ts+18844, /* "cannot UPDATE ge..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*20)).FzName)) goto update_cleanup __27: @@ -122267,7 +122773,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+18865 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*20)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+18880 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*20)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -122278,7 +122784,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 6673 /* "ROWID" */ + return ts + 6688 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*20)).FzName }(), @@ -123309,7 +123815,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+18884 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+18899 /* "rows updated" */, uintptr(0)) __169: ; @@ -123696,10 +124202,10 @@ __1: if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { *(*int8)(unsafe.Pointer(bp + 152 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+152 /* &zWhich[0] */, ts+18897 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+152 /* &zWhich[0] */, ts+18912 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+18901 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+152 /* &zWhich[0] */)) + ts+18916 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+152 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -123790,7 +124296,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, iDataCur, 0, iPk, nPk) Xsqlite3VdbeAddOp4(tls, v, OP_Halt, SQLITE_CORRUPT, OE_Abort, 0, - ts+10911 /* "corrupt database" */, -1) + ts+10926 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -123858,7 +124364,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { // then run VACUUM to get those statements to execute at inappropriate // times. if (zSubSql != 0) && - ((libc.Xstrncmp(tls, zSubSql, ts+18974 /* "CRE" */, uint32(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+18978 /* "INS" */, uint32(3)) == 0)) { + ((libc.Xstrncmp(tls, zSubSql, ts+18989 /* "CRE" */, uint32(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+18993 /* "INS" */, uint32(3)) == 0)) { rc = execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -124008,14 +124514,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+18982 /* "cannot VACUUM fr..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+18997 /* "cannot VACUUM fr..." */) return SQLITE_ERROR // IMP: R-12218-18073 __1: ; if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) { goto __2 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+19022 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19037 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -124026,7 +124532,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+19065 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19080 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -124035,7 +124541,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 56 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 740 /* "" */ + zOut = ts + 755 /* "" */ __4: ; @@ -124071,7 +124577,7 @@ __4: // time to parse and run the PRAGMA to turn journalling off than it does // to write the journal header file. nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb - rc = execSqlF(tls, db, pzErrMsg, ts+19083 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) + rc = execSqlF(tls, db, pzErrMsg, ts+19098 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if !(rc != SQLITE_OK) { goto __6 @@ -124092,7 +124598,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+19106 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19121 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -124108,7 +124614,7 @@ __7: // Begin a transaction and take an exclusive lock on the main database // file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, // to ensure that we do not try to change the page-size on a WAL database. - rc = execSql(tls, db, pzErrMsg, ts+13198 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+13213 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -124159,7 +124665,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+19133, /* "SELECT sql FROM ..." */ + ts+19148, /* "SELECT sql FROM ..." */ libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -124169,7 +124675,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+19241, /* "SELECT sql FROM ..." */ + ts+19256, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -124184,7 +124690,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+19295, /* "SELECT'INSERT IN..." */ + ts+19310, /* "SELECT'INSERT IN..." */ libc.VaList(bp+24, zDbMain)) *(*U32)(unsafe.Pointer(db + 24 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) @@ -124201,7 +124707,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+19446, /* "INSERT INTO vacu..." */ + ts+19461, /* "INSERT INTO vacu..." */ libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 @@ -124581,7 +125087,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp var azModuleArg uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*Table)(unsafe.Pointer(pTable)).FnModuleArg + 3) >= *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+11141 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11156 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = Xsqlite3DbRealloc(tls, db, (*Table)(unsafe.Pointer(pTable)).FazModuleArg, uint64(nBytes)) if azModuleArg == uintptr(0) { @@ -124675,7 +125181,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s 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+19576 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+180 /* &.sNameToken */))) + zStmt = Xsqlite3MPrintf(tls, db, ts+19591 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+180 /* &.sNameToken */))) // A slot for the record has already been allocated in the // schema table. We just need to update that slot with all @@ -124687,7 +125193,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+19600, /* "UPDATE %Q.sqlite..." */ + ts+19615, /* "UPDATE %Q.sqlite..." */ 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, @@ -124697,7 +125203,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+19699 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+19714 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -124762,7 +125268,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+19718 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+19733 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return SQLITE_LOCKED } } @@ -124800,9 +125306,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+19760 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+19775 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+2775 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+2790 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) @@ -124814,7 +125320,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 /* &sCtx */)).FbDeclared == 0 { - var zFormat uintptr = ts + 19790 /* "vtable construct..." */ + var zFormat uintptr = ts + 19805 /* "vtable construct..." */ *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR @@ -124830,12 +125336,12 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Table)(unsafe.Pointer(pTab)).FpVTable = pVTable for iCol = 0; iCol < int32((*Table)(unsafe.Pointer(pTab)).FnCol); iCol++ { - var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20), ts+740 /* "" */) + var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20), ts+755 /* "" */) var nType int32 var i int32 = 0 nType = Xsqlite3Strlen30(tls, zType) for i = 0; i < nType; i++ { - if ((0 == Xsqlite3_strnicmp(tls, ts+14655 /* "hidden" */, (zType+uintptr(i)), 6)) && + if ((0 == Xsqlite3_strnicmp(tls, ts+14670 /* "hidden" */, (zType+uintptr(i)), 6)) && ((i == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && ((int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { break @@ -124894,13 +125400,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 if !(pMod != 0) { var zModule uintptr = *(*uintptr)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FazModuleArg)) - Xsqlite3ErrorMsg(tls, pParse, ts+19836 /* "no such module: ..." */, libc.VaList(bp, zModule)) + Xsqlite3ErrorMsg(tls, pParse, ts+19851 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+16 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -124962,7 +125468,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // invoke it now. If the module has not been registered, return an // error. Otherwise, do nothing. 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+19836 /* "no such module: ..." */, libc.VaList(bp, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+19851 /* "no such module: ..." */, 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) @@ -125039,7 +125545,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 280 /* zErr */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 280 /* zErr */)))) @@ -125411,7 +125917,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+8 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 @@ -125837,10 +126343,10 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:144931:29 */ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:145112:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == (-2) { - return ts + 19855 /* "" */ + return ts + 19870 /* "" */ } if i == (-1) { - return ts + 14742 /* "rowid" */ + return ts + 14757 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*20)).FzName } @@ -125855,35 +126361,35 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i var i int32 if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, ts+19862 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+19877 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+19868 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+19883 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11522 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+11537 /* "," */, 1) } Xsqlite3_str_appendall(tls, pStr, explainIndexColumnName(tls, pIdx, (iTerm+i))) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4066 /* ")" */, 1) } Xsqlite3_str_append(tls, pStr, zOp, 1) if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+19868 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+19883 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11522 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+11537 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+4107 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4122 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4066 /* ")" */, 1) } } @@ -125912,29 +126418,29 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. 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+19870 /* " (" */, 2) + Xsqlite3_str_append(tls, pStr, ts+19885 /* " (" */, 2) for i = 0; i < int32(nEq); i++ { var z uintptr = explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+19862 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+19877 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 19873 /* "%s=?" */ + return ts + 19888 /* "%s=?" */ } - return ts + 19878 /* "ANY(%s)" */ + return ts + 19893 /* "ANY(%s)" */ }(), 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 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+19886 /* ">" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+19901 /* ">" */) i = 1 } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_TOP_LIMIT)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+19888 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+19903 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4066 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -125979,11 +126485,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+72 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) (*StrAccum)(unsafe.Pointer(bp + 48 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+19890 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+19905 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { - return ts + 19896 /* "SEARCH" */ + return ts + 19911 /* "SEARCH" */ } - return ts + 19903 /* "SCAN" */ + return ts + 19918 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -125993,38 +126499,38 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr if !(((*Table)(unsafe.Pointer(((*SrcItem)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 56 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = ts + 9685 /* "PRIMARY KEY" */ + zFmt = ts + 9700 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 19908 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 19923 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 19941 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 19956 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 19966 /* "COVERING INDEX %..." */ + zFmt = ts + 19981 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 19984 /* "INDEX %s" */ + zFmt = ts + 19999 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+48 /* &str */, ts+19993 /* " USING " */, 7) + Xsqlite3_str_append(tls, bp+48 /* &str */, ts+20008 /* " USING " */, 7) Xsqlite3_str_appendf(tls, bp+48 /* &str */, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) explainIndexRange(tls, bp+48 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr if (flags & (U32(WHERE_COLUMN_EQ | WHERE_COLUMN_IN))) != 0 { - zRangeOp = ts + 20001 /* "=" */ + zRangeOp = ts + 20016 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 20003 /* ">? AND rowid<" */ + zRangeOp = ts + 20018 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 19886 /* ">" */ + zRangeOp = ts + 19901 /* ">" */ } else { - zRangeOp = ts + 19888 /* "<" */ + zRangeOp = ts + 19903 /* "<" */ } Xsqlite3_str_appendf(tls, bp+48, /* &str */ - ts+20017 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) + ts+20032 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+20055, /* " VIRTUAL TABLE I..." */ + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+20070, /* " VIRTUAL TABLE I..." */ libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } zMsg = Xsqlite3StrAccumFinish(tls, bp+48 /* &str */) @@ -127580,7 +128086,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // Run a separate WHERE clause for each term of the OR clause. After // eliminating duplicates from other WHERE clauses, the action for each // sub-WHERE clause is to to invoke the main loop body as a subroutine. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20082 /* "MULTI-INDEX OR" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20097 /* "MULTI-INDEX OR" */, 0) for ii = 0; ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm; ii++ { var pOrTerm uintptr = ((*WhereClause)(unsafe.Pointer(pOrWc)).Fa + uintptr(ii)*48) if ((*WhereTerm)(unsafe.Pointer(pOrTerm)).FleftCursor == iCur) || ((int32((*WhereTerm)(unsafe.Pointer(pOrTerm)).FeOperator) & WO_AND) != 0) { @@ -127599,7 +128105,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } // Loop through table entries that match term pOrTerm. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20097 /* "INDEX %d" */, libc.VaList(bp, (ii+1))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20112 /* "INDEX %d" */, libc.VaList(bp, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -128348,10 +128854,10 @@ type Op2 = struct { } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 14613 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 14086 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 13636 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 20106 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, + {FzOp: ts + 14628 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, + {FzOp: ts + 14101 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, + {FzOp: ts + 13651 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, + {FzOp: ts + 20121 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, } /* sqlite3.c:147958:7 */ // If the pBase expression originated in the ON or USING clause of @@ -129052,7 +129558,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s extraRight = (x - uint64(1)) // ON clause terms may not be used with an index // on left table of a LEFT JOIN. Ticket #3015 if (prereqAll >> 1) >= x { - Xsqlite3ErrorMsg(tls, pParse, ts+20113 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20128 /* "ON clause refere..." */, 0) return } } @@ -129128,7 +129634,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s (*WhereTerm)(unsafe.Pointer(pNew)).FeOperator = (U16((int32(operatorMask(tls, int32((*Expr)(unsafe.Pointer(pDup)).Fop))) + int32(eExtraOp)) & int32(opMask))) } else if (op == TK_ISNULL) && (0 == Xsqlite3ExprCanBeNull(tls, pLeft)) { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5760 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5775 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) (*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0) @@ -129229,7 +129735,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s } zCollSeqName = func() uintptr { if *(*int32)(unsafe.Pointer(bp + 16 /* noCase */)) != 0 { - return ts + 20154 /* "NOCASE" */ + return ts + 20169 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -129531,7 +130037,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+20161, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+20176, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -130354,7 +130860,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+20197 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, + ts+20212 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*20)).FzName)) sentWarning = U8(1) __6: @@ -130435,7 +130941,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 20223 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 20238 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -130668,7 +131174,7 @@ __3: ((uint32(unsafe.Sizeof(sqlite3_index_constraint{})) + uint32(unsafe.Sizeof(sqlite3_index_constraint_usage{}))) * uint32(nTerm))) + (uint32(unsafe.Sizeof(sqlite3_index_orderby{})) * uint32(nOrderBy))) + uint32(unsafe.Sizeof(HiddenIndexInfo1{}))))) if pIdxInfo == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+5166 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5181 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*64) @@ -130795,9 +131301,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -132847,7 +133353,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+20234 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20249 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -132895,7 +133401,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*4)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+20234 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20249 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -133284,7 +133790,7 @@ __1: if (rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { if rc == SQLITE_DONE { // We hit the query planner search limit set by iPlanLimit - Xsqlite3_log(tls, SQLITE_WARNING, ts+20260 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+20275 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -134053,7 +134559,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+20295 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20310 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -134434,7 +134940,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint32(unsafe.Sizeof(Bitmask(0))) * uint32(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+20313 /* "at most %d table..." */, libc.VaList(bp, (int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))) + Xsqlite3ErrorMsg(tls, pParse, ts+20328 /* "at most %d table..." */, libc.VaList(bp, (int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))) return uintptr(0) __3: ; @@ -134509,7 +135015,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20341 /* "SCAN CONSTANT RO..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20356 /* "SCAN CONSTANT RO..." */, 0) goto __6 __5: // Assign a bit from the bitmask to every term in the FROM clause. @@ -135644,7 +136150,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+20359 /* "second argument ..." */, -1) + pCtx, ts+20374 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -135793,7 +136299,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+20415 /* "argument of ntil..." */, -1) + pCtx, ts+20430 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -135889,17 +136395,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155441:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 20460 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 20471 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 20482 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 20487 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 20500 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 20510 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 20516 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 20527 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 20537 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 20549 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 20554 /* "lag" */)) /* sqlite3.c:155469:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 20475 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 20486 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 20497 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 20502 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 20515 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 20525 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 20531 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 20542 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 20552 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 20564 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 20569 /* "lag" */)) /* sqlite3.c:155469:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -135963,7 +136469,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+20558 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20573 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -136007,12 +136513,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+20577 /* "RANGE with offse..." */, 0) + ts+20592 /* "RANGE with offse..." */, 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+20648 /* "FILTER clause ma..." */, 0) + ts+20663 /* "FILTER clause ma..." */, 0) } else { *(*[8]WindowUpdate)(unsafe.Pointer(bp /* aUp */)) = [8]WindowUpdate{ {FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT}, @@ -136035,7 +136541,7 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*Window)(unsafe.Pointer(pWin)).FeEnd = U8((*WindowUpdate)(unsafe.Pointer(bp /* &aUp */ + uintptr(i)*16)).FeEnd) (*Window)(unsafe.Pointer(pWin)).FeExclude = U8(0) if int32((*Window)(unsafe.Pointer(pWin)).FeStart) == TK_FOLLOWING { - (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6898 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6913 /* "1" */) } break } @@ -136276,7 +136782,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+6959 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + ts+6974 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) } return WRC_Continue } @@ -136406,7 +136912,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // keep everything legal in this case. if *(*uintptr)(unsafe.Pointer(bp + 28 /* pSublist */)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(bp + 28 /* pSublist */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3Expr(tls, db, TK_INTEGER, ts+6491 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+6506 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -136546,7 +137052,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+20711 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20726 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -136612,15 +137118,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint var zErr uintptr = uintptr(0) // Check for errors if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = ts + 20743 /* "PARTITION clause" */ + zErr = ts + 20758 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 20760 /* "ORDER BY clause" */ + zErr = ts + 20775 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 20776 /* "frame specificat..." */ + zErr = ts + 20791 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+20796 /* "cannot override ..." */, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase)) + ts+20811 /* "cannot override ..." */, 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 { @@ -136643,7 +137149,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+20829 /* "DISTINCT is not ..." */, 0) + ts+20844 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -136794,7 +137300,7 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regZero) if eCond >= WINDOW_STARTING_NUM { var regString int32 = Xsqlite3GetTempReg(tls, pParse) - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+740 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+755 /* "" */, -1) Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), reg) Xsqlite3VdbeChangeP5(tls, v, (uint16(SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL))) @@ -136816,11 +137322,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 20876, /* "frame starting o..." */ - ts + 20929, /* "frame ending off..." */ - ts + 20359, /* "second argument ..." */ - ts + 20980, /* "frame starting o..." */ - ts + 21032, /* "frame ending off..." */ + ts + 20891, /* "frame starting o..." */ + ts + 20944, /* "frame ending off..." */ + ts + 20374, /* "second argument ..." */ + ts + 20995, /* "frame starting o..." */ + ts + 21047, /* "frame ending off..." */ } /* sqlite3.c:156372:21 */ var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:156379:14 */ @@ -137421,7 +137927,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // the add/subtract is skipped for these, as required. If reg1 is a NULL, // then the arithmetic is performed, but since adding or subtracting from // NULL is always NULL anyway, this case is handled as required too. - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+740 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+755 /* "" */, -1) addrGe = Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, 0, reg1) if ((op == OP_Ge) && (arith == OP_Add)) || ((op == OP_Le) && (arith == OP_Subtract)) { @@ -138434,19 +138940,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit } cnt++ if ((*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0) || ((*Select)(unsafe.Pointer(pLoop)).FpLimit != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+21082, /* "%s clause should..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21097, /* "%s clause should..." */ libc.VaList(bp, func() uintptr { if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - return ts + 18196 /* "ORDER BY" */ + return ts + 18211 /* "ORDER BY" */ } - return ts + 21124 /* "LIMIT" */ + return ts + 21139 /* "LIMIT" */ }(), 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 + 108 /* &.aLimit */) + 4*4)))) > 0)) && (cnt > mxSelect) { - Xsqlite3ErrorMsg(tls, pParse, ts+21130 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21145 /* "too many terms i..." */, 0) } } @@ -138526,7 +139032,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+21164, /* "syntax error aft..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21179, /* "syntax error aft..." */ libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz)) } Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1) @@ -139751,7 +140257,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+21202 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21217 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -140730,11 +141236,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(22): /* table_options ::= WITHOUT nm */ { - if ((*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz, ts+14742 /* "rowid" */, 5) == 0) { + if ((*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz, ts+14757 /* "rowid" */, 5) == 0) { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)) = (TF_WithoutRowid | TF_NoVisibleRowid) } else { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)) = 0 - Xsqlite3ErrorMsg(tls, pParse, ts+21224 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz)) + Xsqlite3ErrorMsg(tls, pParse, ts+21239 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz)) } } break @@ -141469,7 +141975,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in case uint32(155): /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ { Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*12 + 4 /* &.minor */ /* &.yy0 */)) - Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)), ts+21251 /* "set list" */) + Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)), ts+21266 /* "set list" */) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)) = Xsqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */))) Xsqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*12 + 4 /* &.minor */)), uintptr(0), uintptr(0), uintptr(0)) } @@ -141622,7 +142128,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(bp + 68 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 4 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21260 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+68 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+21275 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+68 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) @@ -141826,9 +142332,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 /* &.minor */))) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4 /* &.minor */)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, func() uintptr { if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4 /* &.minor */)) != 0 { - return ts + 6898 /* "1" */ + return ts + 6913 /* "1" */ } - return ts + 6491 /* "0" */ + return ts + 6506 /* "0" */ }()) } else if ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)))).FnExpr == 1) && (Xsqlite3ExprIsConstant(tls, (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */))+8 /* &.a */))).FpExpr) != 0) { var pRHS uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)) + 8 /* &.a */))).FpExpr @@ -142103,21 +142609,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)) = *(*Token)(unsafe.Pointer(yymsp + 4 /* &.minor */)) Xsqlite3ErrorMsg(tls, pParse, - ts+21284 /* "qualified table ..." */, 0) + ts+21299 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21379 /* "the INDEXED BY c..." */, 0) + ts+21394 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21463 /* "the NOT INDEXED ..." */, 0) + ts+21478 /* "the NOT INDEXED ..." */, 0) } break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ @@ -142566,9 +143072,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To _ = yymajor // Silence some compiler warnings if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21260 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) + Xsqlite3ErrorMsg(tls, pParse, ts+21275 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+21548 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21563 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -143775,7 +144281,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin *(*int32)(unsafe.Pointer(bp + 1252 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+21565 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+21580 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -143795,12 +144301,12 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+2775 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+2790 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg - Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+21592, /* "%s in \"%s\"" */ + Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+21607, /* "%s in \"%s\"" */ libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ @@ -144012,7 +144518,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+21603 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+21618 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -144025,11 +144531,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+18316 /* "trigger" */, 7) == 0) { + if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+18331 /* "trigger" */, 7) == 0) { token = U8(TkTRIGGER) - } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+21610 /* "temp" */, 4) == 0) { + } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+21625 /* "temp" */, 4) == 0) { token = U8(TkTEMP) - } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+21615 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+21630 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -144042,9 +144548,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+21625 /* "end" */, 3) == 0) { + if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+21640 /* "end" */, 3) == 0) { token = U8(TkEND) - } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+21629 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+21644 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -145072,7 +145578,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // SQLITE_BUSY if the connection can not be closed immediately. if !(forceZombie != 0) && (connectionIsBusy(tls, db) != 0) { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+21637 /* "unable to close ..." */, 0) + ts+21652 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -145294,23 +145800,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: */ - var zErr uintptr = ts + 21705 /* "unknown error" */ + var zErr uintptr = ts + 21720 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 21719 /* "abort due to ROL..." */ + zErr = ts + 21734 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 21741 /* "another row avai..." */ + zErr = ts + 21756 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 21763 /* "no more rows ava..." */ + zErr = ts + 21778 /* "no more rows ava..." */ break } @@ -145328,35 +145834,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 21786, /* "not an error" */ - /* SQLITE_ERROR */ ts + 21799, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 21801, /* "not an error" */ + /* SQLITE_ERROR */ ts + 21814, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 21815, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 21840, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 21854, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 21873, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 5166, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 21898, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 21935, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 21947, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 21962, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 21995, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 22013, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 22038, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 22067, /* "locking protocol" */ + /* SQLITE_PERM */ ts + 21830, /* "access permissio..." */ + /* SQLITE_ABORT */ ts + 21855, /* "query aborted" */ + /* SQLITE_BUSY */ ts + 21869, /* "database is lock..." */ + /* SQLITE_LOCKED */ ts + 21888, /* "database table i..." */ + /* SQLITE_NOMEM */ ts + 5181, /* "out of memory" */ + /* SQLITE_READONLY */ ts + 21913, /* "attempt to write..." */ + /* SQLITE_INTERRUPT */ ts + 21950, /* "interrupted" */ + /* SQLITE_IOERR */ ts + 21962, /* "disk I/O error" */ + /* SQLITE_CORRUPT */ ts + 21977, /* "database disk im..." */ + /* SQLITE_NOTFOUND */ ts + 22010, /* "unknown operatio..." */ + /* SQLITE_FULL */ ts + 22028, /* "database or disk..." */ + /* SQLITE_CANTOPEN */ ts + 22053, /* "unable to open d..." */ + /* SQLITE_PROTOCOL */ ts + 22082, /* "locking protocol" */ /* SQLITE_EMPTY */ uintptr(0), - /* SQLITE_SCHEMA */ ts + 4896, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 4433, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 22084, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 22102, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 22120, /* "bad parameter or..." */ + /* SQLITE_SCHEMA */ ts + 4911, /* "database schema ..." */ + /* SQLITE_TOOBIG */ ts + 4448, /* "string or blob t..." */ + /* SQLITE_CONSTRAINT */ ts + 22099, /* "constraint faile..." */ + /* SQLITE_MISMATCH */ ts + 22117, /* "datatype mismatc..." */ + /* SQLITE_MISUSE */ ts + 22135, /* "bad parameter or..." */ /* SQLITE_NOLFS */ uintptr(0), - /* SQLITE_AUTH */ ts + 22154, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 22169, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 22175, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 22201, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 22224, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 22245, /* "warning message" */ + /* SQLITE_RANGE */ ts + 22190, /* "column index out..." */ + /* SQLITE_NOTADB */ ts + 22216, /* "file is not a da..." */ + /* SQLITE_NOTICE */ ts + 22239, /* "notification mes..." */ + /* SQLITE_WARNING */ ts + 22260, /* "warning message" */ } /* sqlite3.c:166656:20 */ // This routine implements a busy callback that sleeps and tries @@ -145521,7 +146027,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+22261 /* "unable to delete..." */, 0) + ts+22276 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -145654,7 +146160,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+22324 /* "unable to use fu..." */, libc.VaList(bp, zName)) + ts+22339 /* "unable to use fu..." */, libc.VaList(bp, zName)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } @@ -145876,7 +146382,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+22375 /* "unknown database..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+22390 /* "unknown database..." */, libc.VaList(bp, zDb)) } else { (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -146095,7 +146601,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint if (pColl != 0) && ((*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0) { if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+22396 /* "unable to delete..." */, 0) + ts+22411 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -146238,7 +146744,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u if !(((((flags & uint32(SQLITE_OPEN_URI)) != 0) || // IMP: R-48725-32206 (Xsqlite3Config.FbOpenUri != 0)) && // IMP: R-51689-46548 - (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+22464 /* "file:" */, uint32(5)) == 0)) { + (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+22479 /* "file:" */, uint32(5)) == 0)) { goto __1 } // Input character index iOut = 0 // Output character index @@ -146286,10 +146792,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+22470 /* "localhost" */, (zUri+7), uint32(9)) != 0))) { + if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+22485 /* "localhost" */, (zUri+7), uint32(9)) != 0))) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22480, /* "invalid uri auth..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22495, /* "invalid uri auth..." */ libc.VaList(bp, (iIn-7), (zUri+7))) rc = SQLITE_ERROR goto parse_uri_out @@ -146411,7 +146917,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+22508 /* "vfs" */, zOpt, uint32(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+22523 /* "vfs" */, zOpt, uint32(3)) == 0)) { goto __29 } zVfs = zVal @@ -146422,17 +146928,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+22512 /* "cache" */, zOpt, uint32(5)) == 0)) { + if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+22527 /* "cache" */, zOpt, uint32(5)) == 0)) { goto __31 } mask = (SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&aCacheMode)) limit = mask - zModeType = ts + 22512 /* "cache" */ + zModeType = ts + 22527 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22518 /* "mode" */, zOpt, uint32(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22533 /* "mode" */, zOpt, uint32(4)) == 0)) { goto __32 } @@ -146440,7 +146946,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 2384 /* "access" */ + zModeType = ts + 2399 /* "access" */ __32: ; @@ -146471,7 +146977,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22523 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22538 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -146479,7 +146985,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22543, /* "%s mode not allo..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22558, /* "%s mode not allo..." */ libc.VaList(bp+32, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out @@ -146522,7 +147028,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22567 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22582 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) rc = SQLITE_ERROR __42: ; @@ -146545,15 +147051,15 @@ type OpenMode = struct { } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 22583 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 22590 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, + {Fz: ts + 22598 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, + {Fz: ts + 22605 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, } /* sqlite3.c:168073:34 */ var aOpenMode = [5]OpenMode{ - {Fz: ts + 22598 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 22601 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 22604 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 15835 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, + {Fz: ts + 22613 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, + {Fz: ts + 22616 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, + {Fz: ts + 22619 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, + {Fz: ts + 15850 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, {}, } /* sqlite3.c:168085:34 */ @@ -146735,10 +147241,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+20154 /* "NOCASE" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+20169 /* "NOCASE" */, 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+22608 /* "RTRIM" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+22623 /* "RTRIM" */, 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) { @@ -146784,7 +147290,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)))) @@ -146822,9 +147328,9 @@ __22: // The default safety_level for the main database is FULL; for the temp // database it is OFF. This matches the pager layer defaults. - (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 5443 /* "main" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 5458 /* "main" */ (*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 + 21610 /* "temp" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).FzDbSName = ts + 21625 /* "temp" */ (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF) (*Sqlite3)(unsafe.Pointer(db)).Fmagic = SQLITE_MAGIC_OPEN @@ -146942,7 +147448,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 22614 /* "\x00\x00" */ + zFilename = ts + 22629 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -147045,24 +147551,24 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) bp := tls.Alloc(24) defer tls.Free(24) - Xsqlite3_log(tls, iErr, ts+22617, /* "%s at line %d of..." */ + Xsqlite3_log(tls, iErr, ts+22632, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) return iErr } func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168711:20: */ - return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+22642 /* "database corrupt..." */) + return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+22657 /* "database corrupt..." */) } func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168715:20: */ - return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+22662 /* "misuse" */) + return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+22677 /* "misuse" */) } func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168719:20: */ - return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+22669 /* "cannot open file" */) + return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+22684 /* "cannot open file" */) } // This is a convenience routine that makes sure that all thread-specific @@ -147189,7 +147695,7 @@ __4: autoinc = (libc.Bool32((int32((*Table)(unsafe.Pointer(pTab)).FiPKey) == iCol) && (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != U32(0)))) goto __13 __12: - zDataType = ts + 11369 /* "INTEGER" */ + zDataType = ts + 11384 /* "INTEGER" */ primarykey = 1 __13: ; @@ -147241,14 +147747,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+22686 /* "no such table co..." */, libc.VaList(bp, zTableName, + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+22701 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -148047,7 +148553,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+22714 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+22729 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -148208,7 +148714,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 + 22722 /* "database is dead..." */ + return ts + 22737 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -149007,7 +149513,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 5243 /* "null" */, ts + 5755 /* "true" */, ts + 5760 /* "false" */, ts + 5253 /* "integer" */, ts + 5248 /* "real" */, ts + 13508 /* "text" */, ts + 22745 /* "array" */, ts + 22751, /* "object" */ + ts + 5258 /* "null" */, ts + 5770 /* "true" */, ts + 5775 /* "false" */, ts + 5268 /* "integer" */, ts + 5263 /* "real" */, ts + 13523 /* "text" */, ts + 22760 /* "array" */, ts + 22766, /* "object" */ } /* sqlite3.c:189771:19 */ // Maximum nesting depth of JSON for this implementation. @@ -149187,7 +149693,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 + 22758 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 22773 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -149215,7 +149721,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { - jsonAppendRaw(tls, p, ts+5243 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+5258 /* "null" */, uint32(4)) break } @@ -149244,7 +149750,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 default: { if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { - Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+22775 /* "JSON cannot hold..." */, -1) + Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+22790 /* "JSON cannot hold..." */, -1) (*JsonString)(unsafe.Pointer(p)).FbErr = U8(2) jsonReset(tls, p) } @@ -149321,19 +149827,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+5243 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+5258 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+5755 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+5770 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+5760 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+5775 /* "false" */, uint32(5)) break } @@ -149899,17 +150405,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } return (int32(j + U32(1))) } else if ((int32(c) == 'n') && - (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5243 /* "null" */, uint32(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5258 /* "null" */, uint32(4)) == 0)) && !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { 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+5755 /* "true" */, uint32(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5770 /* "true" */, 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+5760 /* "false" */, uint32(5)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5775 /* "false" */, 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))) @@ -150017,7 +150523,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+22804 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+22819 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -150337,7 +150843,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+22819 /* "[0]" */, uint32(3)) == 0 { + } else if libc.Xstrncmp(tls, zPath, ts+22834 /* "[0]" */, uint32(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) } else { return uintptr(0) @@ -150354,7 +150860,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190 bp := tls.Alloc(8) defer tls.Free(8) - return Xsqlite3_mprintf(tls, ts+22823 /* "JSON path error ..." */, libc.VaList(bp, zErr)) + return Xsqlite3_mprintf(tls, ts+22838 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } // Do a node lookup using zPath. Return a pointer to the node on success. @@ -150421,7 +150927,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit bp := tls.Alloc(8) defer tls.Free(8) - var zMsg uintptr = Xsqlite3_mprintf(tls, ts+22849, /* "json_%s() needs ..." */ + var zMsg uintptr = Xsqlite3_mprintf(tls, ts+22864, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -150565,7 +151071,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* if pNode != 0 { jsonRenderNode(tls, pNode, bp /* &jx */, uintptr(0)) } else { - jsonAppendRaw(tls, bp /* &jx */, ts+5243 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+5258 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -150693,14 +151199,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+22892 /* "json_object() re..." */, -1) + ts+22907 /* "json_object() re..." */, -1) return } jsonInit(tls, bp /* &jx */, ctx) jsonAppendChar(tls, bp /* &jx */, 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+22943 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+22958 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -150808,7 +151314,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+14019 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+14034 /* "replace" */) return __2: ; @@ -150894,9 +151400,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 22977 /* "set" */ + return ts + 22992 /* "set" */ } - return ts + 22981 /* "insert" */ + return ts + 22996 /* "insert" */ }()) return __2: @@ -151044,7 +151550,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+22988 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+23003 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -151149,7 +151655,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+22991 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+23006 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -151202,7 +151708,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+22994 /* "CREATE TABLE x(k..." */) + ts+23009 /* "CREATE TABLE x(k..." */) if rc == SQLITE_OK { pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{})))) if pNew == uintptr(0) { @@ -151340,14 +151846,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql 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+23077 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) + jsonPrintf(tls, 30, pStr, ts+23092 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) } else { if (int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags) & JNODE_LABEL) == 0 { pNode -= 12 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+23082 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+23097 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } @@ -151440,9 +151946,9 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* jsonAppendChar(tls, bp+24 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+24 /* &x */, ts+23077 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+24 /* &x */, ts+23092 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+23082 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+23097 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } jsonResult(tls, bp+24 /* &x */) @@ -151466,7 +151972,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 + 23088 /* "$" */ + zRoot = ts + 23103 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -151598,7 +152104,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+22804 /* "malformed JSON" */, 0) + (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+22819 /* "malformed JSON" */, 0) if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { rc = SQLITE_ERROR } @@ -151738,21 +152244,21 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 23090 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23095 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23106 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23106 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23124 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23137 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23149 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23161 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23172 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23183 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23195 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23208 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 23217 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23217 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23227 /* "json_valid" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23105 /* "json" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23110 /* "json_array" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23121 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23121 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23139 /* "json_extract" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23152 /* "json_insert" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23164 /* "json_object" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23176 /* "json_patch" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23187 /* "json_quote" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23198 /* "json_remove" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23210 /* "json_replace" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23223 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, + {FzName: ts + 23232 /* "json_type" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23232 /* "json_type" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23242 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { FzName uintptr @@ -151761,17 +152267,17 @@ var aAgg = [2]struct { FxFinal uintptr FxValue uintptr }{ - {FzName: ts + 23238 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 23253 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 23255 /* "json_group_objec..." */, FnArg: 2, + {FzName: ts + 23270 /* "json_group_objec..." */, FnArg: 2, FxStep: 0, FxFinal: 0, FxValue: 0}, } /* sqlite3.c:192211:5 */ var aMod = [2]struct { FzName uintptr FpModule uintptr }{ - {FzName: ts + 23273 /* "json_each" */, FpModule: 0}, - {FzName: ts + 23283 /* "json_tree" */, FpModule: 0}, + {FzName: ts + 23288 /* "json_each" */, FpModule: 0}, + {FzName: ts + 23298 /* "json_tree" */, FpModule: 0}, } /* sqlite3.c:192221:5 */ var enc int32 = ((SQLITE_UTF8 | SQLITE_DETERMINISTIC) | SQLITE_INNOCUOUS) /* sqlite3.c:192226:20 */ // In the SQLite core @@ -152114,11 +152620,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+23293 /* "%s_node" */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + var zTab uintptr = Xsqlite3_mprintf(tls, ts+23308 /* "%s_node" */, 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+23301 /* "data" */, iNode, 0, + rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+23316 /* "data" */, iNode, 0, (pRtree + 72 /* &.pNodeBlob */)) Xsqlite3_free(tls, zTab) } @@ -152363,7 +152869,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+23306, /* "DROP TABLE '%q'...." */ + ts+23321, /* "DROP TABLE '%q'...." */ 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)) @@ -153123,7 +153629,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information - pSrc = Xsqlite3_value_pointer(tls, pValue, ts+23388 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+23403 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -153387,7 +153893,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+24 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+24 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -154647,7 +155153,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+23402 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, ts+23417 /* "SELECT * FROM %Q..." */, 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 /* &pStmt */, uintptr(0)) } else { @@ -154659,12 +155165,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 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+23422 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+23437 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), iCol) var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+23454 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+23469 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } @@ -154932,7 +155438,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+23491 /* "ALTER TABLE %Q.'..." */, 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+23506 /* "ALTER TABLE %Q.'..." */, 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)) @@ -154970,7 +155476,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(20) defer tls.Free(20) - var zFmt uintptr = ts + 23636 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 23651 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+16, 4 @@ -154978,7 +155484,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit var nRow I64 = int64(0) rc = Xsqlite3_table_column_metadata(tls, - db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+10057 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+10072 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == SQLITE_ERROR { @@ -155031,7 +155537,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 23692 /* "node" */, ts + 4159 /* "parent" */, ts + 14742, /* "rowid" */ + ts + 23707 /* "node" */, ts + 4174 /* "parent" */, ts + 14757, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -155075,19 +155581,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+23697, /* "CREATE TABLE \"%w..." */ + ts+23712, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+23759 /* ",a%d" */, libc.VaList(bp+16, ii)) + Xsqlite3_str_appendf(tls, p, ts+23774 /* ",a%d" */, libc.VaList(bp+16, ii)) } Xsqlite3_str_appendf(tls, p, - ts+23764, /* ");CREATE TABLE \"..." */ + ts+23779, /* ");CREATE TABLE \"..." */ libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+23828, /* "CREATE TABLE \"%w..." */ + ts+23843, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+23898, /* "INSERT INTO \"%w\"..." */ + ts+23913, /* "INSERT INTO \"%w\"..." */ libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { @@ -155118,7 +155624,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } else { // An UPSERT is very slightly slower than REPLACE, but it is needed // if there are auxiliary columns - zFormat = ts + 23947 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 23962 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { @@ -155130,7 +155636,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+24055, /* "SELECT * FROM \"%..." */ + ts+24070, /* "SELECT * FROM \"%..." */ libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -155138,18 +155644,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+24100 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+112, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+24115 /* "UPDATE \"%w\".\"%w_..." */, 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+11522 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+11537 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+24127 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+24142 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+24149 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+24164 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) } } - Xsqlite3_str_appendf(tls, p, ts+24157 /* " WHERE rowid=?1" */, 0) + Xsqlite3_str_appendf(tls, p, ts+24172 /* " WHERE rowid=?1" */, 0) zSql = Xsqlite3_str_finish(tls, p) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -155165,18 +155671,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 24173, /* "INSERT OR REPLAC..." */ - ts + 24226, /* "DELETE FROM '%q'..." */ + ts + 24188, /* "INSERT OR REPLAC..." */ + ts + 24241, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 24271, /* "SELECT nodeno FR..." */ - ts + 24323, /* "INSERT OR REPLAC..." */ - ts + 24377, /* "DELETE FROM '%q'..." */ + ts + 24286, /* "SELECT nodeno FR..." */ + ts + 24338, /* "INSERT OR REPLAC..." */ + ts + 24392, /* "DELETE FROM '%q'..." */ // Read and write the xxx_parent table - ts + 24422, /* "SELECT parentnod..." */ - ts + 24480, /* "INSERT OR REPLAC..." */ - ts + 24535, /* "DELETE FROM '%q'..." */ + ts + 24437, /* "SELECT parentnod..." */ + ts + 24495, /* "INSERT OR REPLAC..." */ + ts + 24550, /* "DELETE FROM '%q'..." */ } /* sqlite3.c:195763:21 */ // The second argument to this function contains the text of an SQL statement @@ -155223,7 +155729,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr var zSql uintptr if isCreate != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) = 0 - zSql = Xsqlite3_mprintf(tls, ts+24582 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, ts+24597 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) rc = getIntFromStmt(tls, db, zSql, bp+48 /* &iPageSize */) if rc == SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) - 64) @@ -155231,19 +155737,19 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, - ts+24602, /* "SELECT length(da..." */ + ts+24617, /* "SELECT length(da..." */ libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 16 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+24659, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+24674, /* "undersize RTree ..." */ libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -155294,17 +155800,17 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr ii = 4 *(*[5]uintptr)(unsafe.Pointer(bp + 96 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 - ts + 24694, /* "Wrong number of ..." */ // 1 - ts + 24737, /* "Too few columns ..." */ // 2 - ts + 24772, /* "Too many columns..." */ // 3 - ts + 24808, /* "Auxiliary rtree ..." */ // 4 + ts + 24709, /* "Wrong number of ..." */ // 1 + ts + 24752, /* "Too few columns ..." */ // 2 + ts + 24787, /* "Too many columns..." */ // 3 + ts + 24823, /* "Auxiliary rtree ..." */ // 4 } // Aux columns counted by a u8 if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*4)))) return SQLITE_ERROR __1: ; @@ -155334,7 +155840,7 @@ __2: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+24845, /* "CREATE TABLE x(%..." */ + Xsqlite3_str_appendf(tls, pSql, ts+24860, /* "CREATE TABLE x(%..." */ libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))), *(*uintptr)(unsafe.Pointer(argv + 3*4)))) ii = 4 __3: @@ -155346,7 +155852,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+24869 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+24884 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -155369,7 +155875,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+24875 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+24890 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -155380,14 +155886,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*4)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -155430,7 +155936,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*4)))) goto rtreeInit_fail __22: ; @@ -155448,7 +155954,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -155468,7 +155974,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 24878 /* ",%.*s REAL" */, ts + 24889 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ +var azFormat = [2]uintptr{ts + 24893 /* ",%.*s REAL" */, ts + 24904 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -155523,13 +156029,13 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit nodeGetCell(tls, bp+44 /* &tree */, bp+16 /* &node */, ii, bp+544 /* &cell */) if ii > 0 { - Xsqlite3_str_append(tls, pOut, ts+9637 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+9652 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+24899 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+544 /* &cell */)).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, ts+24914 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+544 /* &cell */)).FiRowid)) for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+44 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+24905 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 544 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+24920 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 544 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } - Xsqlite3_str_append(tls, pOut, ts+24909 /* "}" */, 1) + Xsqlite3_str_append(tls, pOut, ts+24924 /* "}" */, 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}))) @@ -155548,7 +156054,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli _ = 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+24911 /* "Invalid argument..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+24926 /* "Invalid argument..." */, -1) } else { var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -155635,12 +156141,12 @@ 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+24944, /* "%z%s%z" */ + (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+24959, /* "%z%s%z" */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - return ts + 3156 /* "\n" */ + return ts + 3171 /* "\n" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -155671,7 +156177,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+24951, /* "SELECT data FROM..." */ + ts+24966, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -155690,7 +156196,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+24996 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+25011 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -155714,8 +156220,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 /* azSql */)) = [2]uintptr{ - ts + 25028, /* "SELECT parentnod..." */ - ts + 25082, /* "SELECT nodeno FR..." */ + ts + 25043, /* "SELECT parentnod..." */ + ts + 25097, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 24 /* &.aCheckMapping */) + uintptr(bLeaf)*4)) == uintptr(0) { @@ -155730,23 +156236,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+25130, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+25145, /* "Mapping (%lld ->..." */ libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 25175 /* "%_rowid" */ + return ts + 25190 /* "%_rowid" */ } - return ts + 25183 /* "%_parent" */ + return ts + 25198 /* "%_parent" */ }())) } else if rc == SQLITE_ROW { var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, - ts+25192, /* "Found (%lld -> %..." */ + ts+25207, /* "Found (%lld -> %..." */ libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 25175 /* "%_rowid" */ + return ts + 25190 /* "%_rowid" */ } - return ts + 25183 /* "%_parent" */ + return ts + 25198 /* "%_parent" */ }(), iKey, iVal)) } } @@ -155789,7 +156295,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, - ts+25250 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+25265 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -155809,7 +156315,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 60 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+25298 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) + ts+25313 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -155832,14 +156338,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr if aNode != 0 { if *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+25365 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) + ts+25380 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+25399 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+25414 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } @@ -155847,7 +156353,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 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, - ts+25429, /* "Node %lld is too..." */ + ts+25444, /* "Node %lld is too..." */ libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { for i = 0; i < nCell; i++ { @@ -155881,14 +156387,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+25484, /* "SELECT count(*) ..." */ + pCount = rtreeCheckPrepare(tls, pCheck, ts+25499, /* "SELECT count(*) ..." */ 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+25515 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) + ts+25530 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -155918,13 +156424,13 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+13198 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+13213 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+25582 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+25597 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) @@ -155933,12 +156439,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+23402 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+23417 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) if pStmt != 0 { var rc int32 (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+25610 /* "Schema corrupt o..." */, 0) + rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+25625 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } @@ -155953,8 +156459,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { rtreeCheckNode(tls, bp+32 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+32 /* &check */, ts+25641 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+32 /* &check */, ts+25648 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+25656 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+25663 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check @@ -155964,7 +156470,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // If one was opened, close the transaction if bEnd != 0 { - var rc int32 = Xsqlite3_exec(tls, db, ts+25656 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) + var rc int32 = Xsqlite3_exec(tls, db, ts+25671 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } @@ -156010,7 +156516,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+25660 /* "wrong number of ..." */, -1) + ts+25675 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -156018,7 +156524,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 5443 /* "main" */ + zDb = ts + 5458 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*4))) } @@ -156028,7 +156534,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if *(*uintptr)(unsafe.Pointer(bp /* zReport */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp /* zReport */)) } - return ts + 16321 /* "ok" */ + return ts + 16336 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -156464,11 +156970,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+25711 /* "[" */, 1) + Xsqlite3_str_append(tls, x, ts+25726 /* "[" */, 1) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { - Xsqlite3_str_appendf(tls, x, ts+25713 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) + Xsqlite3_str_appendf(tls, x, ts+25728 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+25724 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+25739 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 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) } @@ -156492,19 +156998,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+25735 /* "" */, 0) + Xsqlite3_str_appendf(tls, x, ts+25788 /* ">" */, 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) } @@ -157518,7 +158024,7 @@ __1: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+25786 /* "CREATE TABLE x(_..." */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+25801 /* "CREATE TABLE x(_..." */, 0) (*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1) // Add one for _shape (*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1) // The _shape column is always not-null ii = 3 @@ -157527,7 +158033,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+25808 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)))) + Xsqlite3_str_appendf(tls, pSql, ts+25823 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)))) goto __3 __3: ii++ @@ -157535,7 +158041,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+24875 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+24890 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -157546,7 +158052,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -157572,7 +158078,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -157805,7 +158311,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s if iRowidTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 14742 /* "rowid" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 14757 /* "rowid" */ (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).FargvIndex = 1 (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).Fomit = uint8(1) (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 30.0 @@ -157815,7 +158321,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } if iFuncTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25812 /* "rtree" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25827 /* "rtree" */ (*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 @@ -157823,7 +158329,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s return SQLITE_OK } (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25818 /* "fullscan" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25833 /* "fullscan" */ (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -157961,7 +158467,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25827 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25842 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -158106,14 +158612,14 @@ geopoly_update_end: // Report that geopoly_overlap() is an overloaded function suitable // for use in xBestIndex. func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:198361:12: */ - if Xsqlite3_stricmp(tls, zName, ts+25867 /* "geopoly_overlap" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+25882 /* "geopoly_overlap" */) == 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+25883 /* "geopoly_within" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+25898 /* "geopoly_within" */) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{geopolyWithinFunc})) @@ -158178,7 +158684,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 uintptr(0), aAgg1[i].FxStep, aAgg1[i].FxFinal) } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, ts+25898 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+25913 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -158190,25 +158696,25 @@ var aFunc1 = [12]struct { _ [2]byte FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25906 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25919 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25932 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 25945 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25883 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 25957 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25867 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 25980 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25994 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 26007 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 26021 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26037 /* "geopoly_ccw" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25921 /* "geopoly_area" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25934 /* "geopoly_blob" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25947 /* "geopoly_json" */}, + {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 25960 /* "geopoly_svg" */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25898 /* "geopoly_within" */}, + {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 25972 /* "geopoly_contains..." */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25882 /* "geopoly_overlap" */}, + {FxFunc: 0, FnArg: int8(1), FzName: ts + 25995 /* "geopoly_debug" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26009 /* "geopoly_bbox" */}, + {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 26022 /* "geopoly_xform" */}, + {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 26036 /* "geopoly_regular" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26052 /* "geopoly_ccw" */}, } /* sqlite3.c:198416:5 */ var aAgg1 = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ - {FxStep: 0, FxFinal: 0, FzName: ts + 26049 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 26064 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -158221,26 +158727,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 var utf8 int32 = SQLITE_UTF8 var rc int32 - rc = Xsqlite3_create_function(tls, db, ts+26068 /* "rtreenode" */, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26083 /* "rtreenode" */, 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+26078 /* "rtreedepth" */, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26093 /* "rtreedepth" */, 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+26089 /* "rtreecheck" */, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26104 /* "rtreecheck" */, -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+25812 /* "rtree" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+25827 /* "rtree" */, 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+26100 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+26115 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { rc = sqlite3_geopoly_init(tls, db) @@ -158312,7 +158818,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql Xsqlite3_result_error_nomem(tls, ctx) rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, ts+23388 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) + Xsqlite3_result_pointer(tls, ctx, pBlob, ts+23403 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) } } } @@ -159591,7 +160097,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // Figure out the size of the output nOut = rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, ts+26110 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+26125 /* "corrupt fossil d..." */, -1) return } @@ -159602,7 +160108,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+26110 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+26125 /* "corrupt fossil d..." */, -1) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -159623,7 +160129,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -159641,7 +160147,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -159745,7 +160251,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+26131 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + ts+26146 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } if rc == SQLITE_OK { @@ -159829,7 +160335,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+23301 /* "data" */, zIn, uint32(4)) == 0) { + if (libc.Xstrlen(tls, zIn) > Size_t(4)) && (libc.Xmemcmp(tls, ts+23316 /* "data" */, 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++ { } @@ -159857,17 +160363,17 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter /* &.pTblIter */), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26302 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { + ts+26317 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 26452 /* "AND rootpage!=0 ..." */ + return ts + 26467 /* "AND rootpage!=0 ..." */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 4 /* &.pIdxIter */), (p + 36 /* &.zErrmsg */), - ts+26493 /* "SELECT name, roo..." */) + ts+26508 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -160005,7 +160511,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: var rc int32 = Xsqlite3_finalize(tls, pStmt) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (rc != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) } } @@ -160068,7 +160574,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 /* &aStmt */), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26618 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) + ts+26633 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } @@ -160086,7 +160592,7 @@ __2: *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 1*4), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26699 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) + Xsqlite3_mprintf(tls, ts+26714 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -160104,7 +160610,7 @@ __4: } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 2*4), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26720 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) + ts+26735 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } @@ -160128,7 +160634,7 @@ __5: ; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 3*4), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26771 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) + Xsqlite3_mprintf(tls, ts+26786 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } @@ -160177,7 +160683,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pList */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26792 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+26807 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 @@ -160192,7 +160698,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pXInfo */)))) { var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pXInfo */)), 1) if iCid >= 0 { @@ -160242,7 +160748,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 36 /* &.eType */), bp+56 /* &iTnum */, (pIter + 60 /* &.iPkTnum */)) 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+17842 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+17857 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc @@ -160255,18 +160761,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // of the input table. Ignore any input table columns that begin with // "rbu_". (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+60 /* &pStmt */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26849 /* "SELECT * FROM '%..." */, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + Xsqlite3_mprintf(tls, ts+26864 /* "SELECT * FROM '%..." */, 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 /* pStmt */))) 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 /* pStmt */)), i) - if Xsqlite3_strnicmp(tls, ts+26868 /* "rbu_" */, zName, 4) != 0 { + if Xsqlite3_strnicmp(tls, ts+26883 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 32 /* &.rc */)) *(*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+26873 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+26888 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -160278,12 +160784,12 @@ 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+26883 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+26898 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { - return ts + 26912 /* "may not have" */ + return ts + 26927 /* "may not have" */ } - return ts + 26925 /* "requires" */ + return ts + 26940 /* "requires" */ }())) } @@ -160292,7 +160798,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60 /* &pStmt */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26934 /* "PRAGMA table_inf..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+26949 /* "PRAGMA table_inf..." */, 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 /* pStmt */)))) { var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pStmt */)), 1) @@ -160306,7 +160812,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+26956, /* "column missing f..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+26971, /* "column missing f..." */ libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pStmt */)), 5) @@ -160352,12 +160858,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(24) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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+26983 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 13309 /* ", " */ + zList = rbuMPrintf(tls, p, ts+26998 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 13324 /* ", " */ } return zList } @@ -160372,13 +160878,13 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, var iPk int32 = 1 var zRet uintptr = uintptr(0) - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ for 1 != 0 { var i int32 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+26992 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) + zRet = rbuMPrintf(tls, p, ts+27007 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -160417,25 +160923,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 /* &pMax */, (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27005 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + ts+27020 /* "SELECT max(_rowi..." */, 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 /* pMax */)))) { var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+27037 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) + zRet = rbuMPrintf(tls, p, ts+27052 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } else { - var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+740 /* "" */, ts+13309 /* ", " */, ts+27060 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+27066 /* "quote(" */, ts+27073 /* "||','||" */, ts+4051 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+740 /* "" */, ts+13309 /* ", " */, ts+740 /* "" */) + var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+13324 /* ", " */, ts+27075 /* " DESC" */) + var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+27081 /* "quote(" */, ts+27088 /* "||','||" */, ts+4066 /* ")" */) + var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+13324 /* ", " */, ts+755 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27081, /* "SELECT %s FROM \"..." */ + ts+27096, /* "SELECT %s FROM \"..." */ 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 /* pMax */)))) { var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+27123 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) + zRet = rbuMPrintf(tls, p, ts+27138 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } @@ -160493,12 +160999,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 740 /* "" */ + zSep = ts + 755 /* "" */ iCol = 0 *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, 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 /* pXInfo */))))) { goto __2 @@ -160535,7 +161041,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) goto __7 __6: - zCol = ts + 27143 /* "_rowid_" */ + zCol = ts + 27158 /* "_rowid_" */ __7: ; goto __5 @@ -160544,13 +161050,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+27151, /* "%z%s \"%w\" COLLAT..." */ + zLhs = rbuMPrintf(tls, p, ts+27166, /* "%z%s \"%w\" COLLAT..." */ libc.VaList(bp+8, zLhs, zSep, zCol, zCollate)) - zOrder = rbuMPrintf(tls, p, ts+27172, /* "%z%s \"rbu_imp_%d..." */ + zOrder = rbuMPrintf(tls, p, ts+27187, /* "%z%s \"rbu_imp_%d..." */ libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = rbuMPrintf(tls, p, ts+27208, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+27223, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) - zSep = ts + 13309 /* ", " */ + zSep = ts + 13324 /* ", " */ iCol++ goto __1 __2: @@ -160569,12 +161075,12 @@ __11: *(*uintptr)(unsafe.Pointer(bp + 180 /* pSel */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+180 /* &pSel */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27235, /* "SELECT %s FROM \"..." */ + Xsqlite3_mprintf(tls, ts+27250, /* "SELECT %s FROM \"..." */ 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 /* pSel */))))) { goto __13 } - zSep = ts + 740 /* "" */ + zSep = ts + 755 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -160596,8 +161102,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+27283 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) - zSep = ts + 13309 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+27298 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) + zSep = ts + 13324 /* ", " */ goto __15 __15: iCol++ @@ -160609,7 +161115,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+27290 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+27305 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: @@ -160659,14 +161165,14 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var zImpPK uintptr = uintptr(0) // String to return via *pzImposterPK var zWhere uintptr = uintptr(0) // String to return via *pzWhere var nBind int32 = 0 // Value to return via *pnBind - var zCom uintptr = ts + 740 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 740 /* "" */ // Set to " AND " later on + var zCom uintptr = ts + 755 /* "" */ // Set to ", " later on + var zAnd uintptr = ts + 755 /* "" */ // Set to " AND " later on *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)))) { @@ -160678,9 +161184,9 @@ 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 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+27302 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+8, zRet, zCom, + zRet = Xsqlite3_mprintf(tls, ts+27317 /* "%z%s(%.*s) COLLA..." */, 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 + 740 /* "" */ + zType = ts + 755 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -160692,37 +161198,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 + 27143 /* "_rowid_" */ + zCol = ts + 27158 /* "_rowid_" */ } else { - zCol = ts + 26873 /* "rbu_rowid" */ + zCol = ts + 26888 /* "rbu_rowid" */ } - zType = ts + 11369 /* "INTEGER" */ + zType = ts + 11384 /* "INTEGER" */ } 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+27324 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+27339 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) } if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { - return ts + 27060 /* " DESC" */ + return ts + 27075 /* " DESC" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+27344, /* "%z%s\"rbu_imp_%d%..." */ + zImpPK = Xsqlite3_mprintf(tls, ts+27359, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, ts+27365, /* "%z%s\"rbu_imp_%d%..." */ + zImpCols = Xsqlite3_mprintf(tls, ts+27380, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+27398 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol)) + ts+27413 /* "%z%s\"rbu_imp_%d%..." */, 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 + 13309 /* ", " */ - zAnd = ts + 19862 /* " AND " */ + zCom = ts + 13324 /* ", " */ + zAnd = ts + 19877 /* " AND " */ nBind++ } @@ -160765,16 +161271,16 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zS uintptr = ts + 740 /* "" */ + var zS uintptr = ts + 755 /* "" */ var i int32 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+27422 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, ts+27437 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+27434 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+27449 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } - zS = ts + 13309 /* ", " */ + zS = ts + 13324 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -160783,7 +161289,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+27443 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+27458 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) } } return zList @@ -160803,27 +161309,27 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq 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+27458 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) + zList = rbuMPrintf(tls, p, ts+27473 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) } else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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+27472 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) - zSep = ts + 19862 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+27487 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) + zSep = ts + 19877 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+27484 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) + ts+27499 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) - zList = rbuMPrintf(tls, p, ts+27534 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) - zSep = ts + 19862 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+27549 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) + zSep = ts + 19877 /* " AND " */ } } } @@ -160837,7 +161343,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // of the RBU handle to something reflecting this. func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+27547 /* "invalid rbu_cont..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+27562 /* "invalid rbu_cont..." */, 0) } // Return a nul-terminated string containing the comma separated list of @@ -160866,21 +161372,21 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr if int32(libc.Xstrlen(tls, zMask)) != (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { rbuBadControlError(tls, p) } else { - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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+27534, /* "%z%s\"%w\"=?%d" */ + zList = rbuMPrintf(tls, p, ts+27549, /* "%z%s\"%w\"=?%d" */ libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), (i+1))) - zSep = ts + 13309 /* ", " */ + zSep = ts + 13324 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+27573, /* "%z%s\"%w\"=rbu_del..." */ + zList = rbuMPrintf(tls, p, ts+27588, /* "%z%s\"%w\"=rbu_del..." */ 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 + 13309 /* ", " */ + zSep = ts + 13324 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+27603, /* "%z%s\"%w\"=rbu_fos..." */ + zList = rbuMPrintf(tls, p, ts+27618, /* "%z%s\"%w\"=rbu_fos..." */ 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 + 13309 /* ", " */ + zSep = ts + 13324 /* ", " */ } } } @@ -160938,19 +161444,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zSep uintptr = ts + 27640 /* "PRIMARY KEY(" */ + var zSep uintptr = ts + 27655 /* "PRIMARY KEY(" */ *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56 /* &pXList */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26792 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+26807 /* "PRAGMA main.inde..." */, 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 /* pXList */)))) { var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 3) - if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+14652 /* "pk" */) == 0) { + if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+14667 /* "pk" */) == 0) { var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 1) if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } @@ -160963,15 +161469,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */)), 2) var zDesc uintptr if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */)), 3) != 0 { - zDesc = ts + 27060 /* " DESC" */ + zDesc = ts + 27075 /* " DESC" */ } else { - zDesc = ts + 740 /* "" */ + zDesc = ts + 755 /* "" */ } - z = rbuMPrintf(tls, p, ts+27653 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = ts + 13309 /* ", " */ + z = rbuMPrintf(tls, p, ts+27668 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) + zSep = ts + 13324 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+27664 /* "%z)" */, libc.VaList(bp+48, z)) + z = rbuMPrintf(tls, p, ts+27679 /* "%z)" */, libc.VaList(bp+48, z)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */))) } return z @@ -161003,7 +161509,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx - var zComma uintptr = ts + 740 /* "" */ + var zComma uintptr = ts + 755 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -161011,7 +161517,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168 /* &pQuery */, (p + 36 /* &.zErrmsg */), - ts+27668 /* "SELECT name FROM..." */) + ts+27683 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 1, tnum) if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) { @@ -161020,7 +161526,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit } if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+172 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) @@ -161030,25 +161536,25 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)), 1) var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)), 3) var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+27718 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, + zCols = rbuMPrintf(tls, p, ts+27733 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+27740 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+27755 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { - return ts + 27060 /* " DESC" */ + return ts + 27075 /* " DESC" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) - zComma = ts + 13309 /* ", " */ + zComma = ts + 13324 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+27750 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) + zCols = rbuMPrintf(tls, p, ts+27765 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+27765, /* "CREATE TABLE rbu..." */ + ts+27780, /* "CREATE TABLE rbu..." */ libc.VaList(bp+120, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 0)) } } @@ -161076,52 +161582,52 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum - var zComma uintptr = ts + 740 /* "" */ + var zComma uintptr = ts + 755 /* "" */ var zSql uintptr = uintptr(0) var iCol int32 - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 1)) for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { - var zPk uintptr = ts + 740 /* "" */ + var zPk uintptr = ts + 755 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*4)) *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, 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) { // If the target table column is an "INTEGER PRIMARY KEY", add // "PRIMARY KEY" to the imposter table column declaration. - zPk = ts + 27827 /* "PRIMARY KEY " */ + zPk = ts + 27842 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+27840, /* "%z%s\"%w\" %s %sCO..." */ + zSql = rbuMPrintf(tls, p, ts+27855, /* "%z%s\"%w\" %s %sCO..." */ libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*4)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - return ts + 27867 /* " NOT NULL" */ + return ts + 27882 /* " NOT NULL" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) - zComma = ts + 13309 /* ", " */ + zComma = ts + 13324 /* ", " */ } 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+27877 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+27892 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+27884, /* "CREATE TABLE \"rb..." */ + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 1, tnum)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+27899, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { - return ts + 27916 /* " WITHOUT ROWID" */ + return ts + 27931 /* " WITHOUT ROWID" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 0)) } } @@ -161144,7 +161650,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 88 /* &.pTmpInsert */), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27931, /* "INSERT INTO %s.'..." */ + ts+27946, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -161181,7 +161687,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+27988 /* "SELECT trim(sql)..." */) + ts+28003 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -161291,7 +161797,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+28054 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) + zLimit = Xsqlite3_mprintf(tls, ts+28069 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) if !(zLimit != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM } @@ -161312,26 +161818,26 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 612 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+28074, /* "CREATE TABLE \"rb..." */ + ts+28089, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 604 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 0)) // Create the statement to insert index entries (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 612 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 80 /* &.pInsert */), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28139 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+28154 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) } // And to delete index entries 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 /* &.pDelete */), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28175 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+28190 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -161348,7 +161854,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+28209, /* "SELECT %s, 0 AS ..." */ + ts+28224, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -161356,32 +161862,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 28270 /* "AND" */ + return ts + 28285 /* "AND" */ } - return ts + 28274 /* "WHERE" */ + return ts + 28289 /* "WHERE" */ }() } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zStart, zCollist, zLimit)) 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+28280, /* "SELECT %s, rbu_c..." */ + ts+28295, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+216, zCollist, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, - ts+28341, /* "SELECT %s, rbu_c..." */ + ts+28356, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+264, zCollist, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { if zPart != 0 { - return ts + 28270 /* "AND" */ + return ts + 28285 /* "AND" */ } - return ts + 28274 /* "WHERE" */ + return ts + 28289 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -161406,8 +161912,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 var zBindings uintptr = rbuObjIterGetBindlist(tls, p, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + bRbuRowid)) var zWhere uintptr = rbuObjIterGetWhere(tls, p, pIter) - var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5452 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5448 /* "new" */) + var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5467 /* "old" */) + var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5463 /* "new" */) zCollist = rbuObjIterGetCollist(tls, p, pIter) (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -161417,21 +161923,21 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuCreateImposterTable2(tls, p, pIter) zWrite = func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 28500 /* "rbu_imp_" */ + return ts + 28515 /* "rbu_imp_" */ }() // Create the INSERT statement to write to the target PK b-tree if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 80 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, - ts+28509, /* "INSERT INTO \"%s%..." */ + ts+28524, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 28545 /* ", _rowid_" */ + return ts + 28560 /* ", _rowid_" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zBindings))) } @@ -161441,28 +161947,28 @@ 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 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+28555 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+384, zWrite, zTbl, zWhere))) + ts+28570 /* "DELETE FROM \"%s%..." */, 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 + 740 /* "" */ + var zRbuRowid uintptr = ts + 755 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 28583 /* ", rbu_rowid" */ + zRbuRowid = ts + 28598 /* ", rbu_rowid" */ } // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+28595 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+28610 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - return ts + 28671 /* ", 0 AS rbu_rowid" */ + return ts + 28686 /* ", 0 AS rbu_rowid" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+28688, /* "CREATE TEMP TRIG..." */ + ts+28703, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -161470,7 +161976,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 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+28987, /* "CREATE TEMP TRIG..." */ + ts+29002, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } @@ -161479,14 +161985,14 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the SELECT statement to read keys from data_xxx if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zRbuRowid uintptr = ts + 740 /* "" */ + var zRbuRowid uintptr = ts + 755 /* "" */ var zStart uintptr = uintptr(0) var zOrder uintptr = uintptr(0) if bRbuRowid != 0 { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zRbuRowid = ts + 29086 /* ",_rowid_ " */ + zRbuRowid = ts + 29101 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 29096 /* ",rbu_rowid" */ + zRbuRowid = ts + 29111 /* ",rbu_rowid" */ } } @@ -161499,35 +162005,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+27143 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+27158 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+740 /* "" */, ts+13309 /* ", " */, ts+740 /* "" */) + zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+13324 /* ", " */, ts+755 /* "" */) } } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 76 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, - ts+29107, /* "SELECT %s,%s rbu..." */ + ts+29122, /* "SELECT %s,%s rbu..." */ libc.VaList(bp+536, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 29155 /* "0 AS " */ + return ts + 29170 /* "0 AS " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 18196 /* "ORDER BY" */ + return ts + 18211 /* "ORDER BY" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zOrder, zLimit))) } @@ -161602,12 +162108,12 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp (*RbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - var zPrefix uintptr = ts + 740 /* "" */ + var zPrefix uintptr = ts + 755 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 28500 /* "rbu_imp_" */ + zPrefix = ts + 28515 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+29161, /* "UPDATE \"%s%w\" SE..." */ + zUpdate = Xsqlite3_mprintf(tls, ts+29176, /* "UPDATE \"%s%w\" SE..." */ 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 /* &.pUpdate */), (p + 36 /* &.zErrmsg */), zUpdate) @@ -161634,7 +162140,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))) *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) } @@ -161675,7 +162181,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ } *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8 /* &pStmt */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+29191 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+24 /* &.zStateDb */))) + Xsqlite3_mprintf(tls, ts+29206 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+24 /* &.zStateDb */))) for (*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) { case RBU_STATE_STAGE: @@ -161747,31 +162253,31 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5443 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */, 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+5443 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+29221 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) + var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+29236 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) } } // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29248 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+2398 /* "stat" */, uint32(4)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29263 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+2413 /* "stat" */, uint32(4)) } else { - libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+5443 /* "main" */, uint32(4)) + libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+5458 /* "main" */, uint32(4)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29266 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+24 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29281 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+24 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 var rc int32 (*Sqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5443 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */, SQLITE_FCNTL_RBUCNT, p) if rc != SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -161804,11 +162310,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 return } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29332 /* "cannot vacuum wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29347 /* "cannot vacuum wa..." */, 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+22464 /* "file:" */, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5))) { + if (libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= Size_t(5)) && (0 == libc.Xmemcmp(tls, ts+22479 /* "file:" */, (*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)))) == '?' { @@ -161820,16 +162326,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+29364, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5443 /* "main" */), + zTarget = Xsqlite3_mprintf(tls, ts+29379, /* "file:%s-vactmp?r..." */ + libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */), func() uintptr { if zExtra == uintptr(0) { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 29396 /* "&" */ + return ts + 29411 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } return zExtra }())) @@ -161845,40 +162351,40 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+29398 /* "rbu_tmp_insert" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+29413 /* "rbu_tmp_insert" */, -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+29413 /* "rbu_fossil_delta" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + ts+29428 /* "rbu_fossil_delta" */, 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+29430 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+29445 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuTargetNameFunc})), uintptr(0), uintptr(0)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, SQLITE_FCNTL_RBU, p) } - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29446 /* "SELECT * FROM sq..." */, 0) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29461 /* "SELECT * FROM sq..." */, 0) // Mark the database file just opened as an RBU target database. If // this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. // This is an error. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, SQLITE_FCNTL_RBU, p) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29474 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29489 /* "rbu vfs not foun..." */, 0) } } @@ -161947,7 +162453,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+29446 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29461 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -161981,7 +162487,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+29492 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29507 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) if rc2 != SQLITE_INTERNAL { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -162108,16 +162614,16 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ bp := tls.Alloc(16) defer tls.Free(16) - var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */) + var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */) var zMove uintptr = zBase var zOal uintptr var zWal uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5443 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+29527 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+29534 /* "%s-wal" */, libc.VaList(bp+8, zMove)) + zOal = Xsqlite3_mprintf(tls, ts+29542 /* "%s-oal" */, libc.VaList(bp, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+29549 /* "%s-wal" */, libc.VaList(bp+8, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -162257,7 +162763,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) { /* sqlite3.c:203389:1 ((*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+22102 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+22117 /* "datatype mismatc..." */, 0) return } @@ -162375,7 +162881,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // var pStmt uintptr at bp+8, 4 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8 /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+29541 /* "PRAGMA schema_ve..." */) + ts+29556 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There // is already a transaction open, so the prepared statement cannot @@ -162388,7 +162894,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29563 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29578 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) } } } @@ -162413,7 +162919,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168 /* &pInsert */, (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+29590, /* "INSERT OR REPLAC..." */ + ts+29605, /* "INSERT OR REPLAC..." */ libc.VaList(bp, p+24, /* &.zStateDb */ RBU_STATE_STAGE, eStage, RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl, @@ -162458,9 +162964,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24 /* &pPragma */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+29748 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) + Xsqlite3_mprintf(tls, ts+29763 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)))) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29763, /* "PRAGMA main.%s =..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29778, /* "PRAGMA main.%s =..." */ libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)), 0))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */))) @@ -162477,11 +162983,11 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * *(*uintptr)(unsafe.Pointer(bp /* pSql */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 4 /* pInsert */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29783 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29798 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 36 /* &.zErrmsg */), - ts+29808 /* "SELECT sql FROM ..." */) + ts+29823 /* "SELECT sql FROM ..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -162495,12 +163001,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 36 /* &.zErrmsg */), - ts+29916 /* "SELECT * FROM sq..." */) + ts+29931 /* "SELECT * FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4 /* &pInsert */, (p + 36 /* &.zErrmsg */), - ts+29981 /* "INSERT INTO sqli..." */) + ts+29996 /* "INSERT INTO sqli..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -162512,7 +163018,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* pInsert */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30025 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30040 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) @@ -162534,8 +163040,8 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // when this handle was opened, create the target database schema. if (((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FnProgress == 0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { rbuCreateTargetSchema(tls, p) - rbuCopyPragma(tls, p, ts+15708 /* "user_version" */) - rbuCopyPragma(tls, p, ts+14830 /* "application_id" */) + rbuCopyPragma(tls, p, ts+15723 /* "user_version" */) + rbuCopyPragma(tls, p, ts+14845 /* "application_id" */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl != 0) { @@ -162546,7 +163052,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // But the contents can be deleted. 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+30050 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + ts+30065 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) } } else { rbuObjIterPrepareAll(tls, p, pIter, 0) @@ -162572,10 +163078,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: rbuSaveState(tls, p, RBU_STAGE_MOVE) rbuIncrSchemaCookie(tls, p) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_MOVE } @@ -162692,7 +163198,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 if (rc == SQLITE_OK) && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30078 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30093 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -162711,7 +163217,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ bp := tls.Alloc(8) defer tls.Free(8) - var zOal uintptr = rbuMPrintf(tls, p, ts+29527 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) + var zOal uintptr = rbuMPrintf(tls, p, ts+29542 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -162733,7 +163239,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ // var zRnd [64]int8 at bp+12, 64 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+30103 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+30118 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12 /* &zRnd[0] */) @@ -162772,7 +163278,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / rc = prepareFreeAndCollectError(tls, db, bp+8 /* &pStmt */, bp+12, /* &zErrmsg */ Xsqlite3_mprintf(tls, - ts+30114 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) + ts+30129 /* "SELECT count(*) ..." */, 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 /* zErrmsg */)), -1) } else { @@ -162815,7 +163321,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+30186 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+30201 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuIndexCntFunc})), uintptr(0), uintptr(0)) @@ -162823,7 +163329,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ // occurs, nPhaseOneStep will be left set to -1. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+30200 /* "SELECT 1 FROM sq..." */) + ts+30215 /* "SELECT 1 FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { @@ -162835,7 +163341,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (bExists != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+30257 /* "SELECT sum(cnt *..." */) + ts+30272 /* "SELECT sum(cnt *..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) @@ -162881,7 +163387,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) libc.Xmemcpy(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, zRbu, (nRbu + Size_t(1))) pCsr += (uintptr(nRbu + Size_t(1))) if zState != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+2775 /* "%s" */, libc.VaList(bp, zState)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+2790 /* "%s" */, libc.VaList(bp, zState)) } // If the first attempt to open the database file fails and the bRetry @@ -162918,7 +163424,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+30331 /* "cannot update wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30346 /* "cannot update wa..." */, 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 @@ -162940,12 +163446,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // transaction is committed in rollback mode) currently stored on // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30363, /* "database modifie..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30378, /* "database modifie..." */ libc.VaList(bp+8, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 30395 /* "vacuum" */ + return ts + 30410 /* "vacuum" */ } - return ts + 30402 /* "update" */ + return ts + 30417 /* "update" */ }())) } } @@ -162953,7 +163459,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { var db uintptr = (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13198 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13213 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) // Point the object iterator at the first object if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -162967,24 +163473,24 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_DONE } else { if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuState)(unsafe.Pointer(pState)).FeStage == 0)) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - rbuCopyPragma(tls, p, ts+15433 /* "page_size" */) - rbuCopyPragma(tls, p, ts+14845 /* "auto_vacuum" */) + rbuCopyPragma(tls, p, ts+15448 /* "page_size" */) + rbuCopyPragma(tls, p, ts+14860 /* "auto_vacuum" */) } // Open transactions both databases. The *-oal file is opened or // created at this point. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+30409 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+30424 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } // Check if the main database is a zipvfs db. If it is, set the upper // level pager to use "journal_mode=off". This prevents it from // generating a large journal using a temp file. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var frc int32 = Xsqlite3_file_control(tls, db, ts+5443 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) + var frc int32 = Xsqlite3_file_control(tls, db, ts+5458 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) if frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, - db, ts+30425 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + db, ts+30440 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } } @@ -163037,7 +163543,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+30449 /* "-vactmp" */, (zState+uintptr((n-7))), uint32(7))) { + if (n >= 7) && (0 == libc.Xmemcmp(tls, ts+30464 /* "-vactmp" */, (zState+uintptr((n-7))), uint32(7))) { return rbuMisuseError(tls) } } @@ -163067,7 +163573,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:204232:13: */ 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+28500 /* "rbu_imp_" */, uint32(8)) == 0 { + if libc.Xmemcmp(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i)), ts+28515 /* "rbu_imp_" */, 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++ @@ -163086,7 +163592,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Commit the transaction to the *-oal file. if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } // Sync the db file if currently doing an incremental checkpoint @@ -163098,7 +163604,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } // Close any open statement handles. @@ -163110,7 +163616,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // specifying the current target and state databases to start a new // vacuum from scratch. 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+30457 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) + var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+30472 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) && (rc2 != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -163209,7 +163715,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -163226,19 +163732,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { var zBegin uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zBegin = ts + 13198 /* "BEGIN" */ + zBegin = ts + 13213 /* "BEGIN" */ } else { - zBegin = ts + 30409 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 30424 /* "BEGIN IMMEDIATE" */ } 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+30409 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30424 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -163642,7 +164148,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30484 /* "rbu/zipvfs setup..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30499 /* "rbu/zipvfs setup..." */, 0) } else if rc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p (*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu @@ -163665,7 +164171,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+30507 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + var zOut uintptr = Xsqlite3_mprintf(tls, ts+30522 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = SQLITE_NOMEM @@ -163828,7 +164334,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags // This call is to open a *-wal file. Intead, open the *-oal. var nOpen Size_t if (*Sqlite3rbu)(unsafe.Pointer(((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu))).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+5443 /* "main" */) + zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+5458 /* "main" */) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -163843,7 +164349,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+30518 /* "rbu_memory" */, 0) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+30533 /* "rbu_memory" */, 0) != 0) { oflags = ((((SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -164150,6 +164656,5666 @@ func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlit //************* End of dbpage.c ********************************************* //************* Begin file sqlite3session.c ********************************* +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable1 = struct { + FpNext uintptr + FzName uintptr + FnCol int32 + FbStat1 int32 + FazCol uintptr + FabPK uintptr + FnEntry int32 + FnChange int32 + FapChange uintptr +} /* sqlite3.c:11155:9 */ + +//************************************************************************ + +//************* End of sqlite3rbu.c ***************************************** +//************* Begin file dbstat.c ***************************************** +// 2010 July 12 +// +// The author disclaims copyright to this source code. In place of +// a legal notice, here is a blessing: +// +// May you do good and not evil. +// May you find forgiveness for yourself and forgive others. +// May you share freely, never taking more than you give. +// +// +// +// This file contains an implementation of the "dbstat" virtual table. +// +// The dbstat virtual table is used to extract low-level storage +// information from an SQLite database in order to implement the +// "sqlite3_analyzer" utility. See the ../tool/spaceanal.tcl script +// for an example implementation. +// +// Additional information is available on the "dbstat.html" page of the +// official SQLite documentation. + +// #include "sqliteInt.h" ** Requires access to internal data structures ** + +//************* End of dbstat.c ********************************************* +//************* Begin file dbpage.c ***************************************** +// 2017-10-11 +// +// The author disclaims copyright to this source code. In place of +// a legal notice, here is a blessing: +// +// May you do good and not evil. +// May you find forgiveness for yourself and forgive others. +// May you share freely, never taking more than you give. +// +// +// +// This file contains an implementation of the "sqlite_dbpage" virtual table. +// +// The sqlite_dbpage virtual table is used to read or write whole raw +// pages of the database file. The pager interface is used so that +// uncommitted changes and changes recorded in the WAL file are correctly +// retrieved. +// +// Usage example: +// +// SELECT data FROM sqlite_dbpage('aux1') WHERE pgno=123; +// +// This is an eponymous virtual table so it does not need to be created before +// use. The optional argument to the sqlite_dbpage() table name is the +// schema for the database file that is to be read. The default schema is +// "main". +// +// The data field of sqlite_dbpage table can be updated. The new +// value must be a BLOB which is the correct page size, otherwise the +// update fails. Rows may not be deleted or inserted. + +// #include "sqliteInt.h" ** Requires access to internal data structures ** + +//************* End of dbpage.c ********************************************* +//************* Begin file sqlite3session.c ********************************* + +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ +type SessionChange1 = struct { + Fop U8 + FbIndirect U8 + _ [2]byte + FnMaxSize int32 + FnRecord int32 + FaRecord uintptr + FpNext uintptr +} /* sqlite3.c:11155:9 */ + +type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ +type SessionBuffer1 = struct { + FaBuf uintptr + FnBuf int32 + FnAlloc int32 +} /* sqlite3.c:11163:9 */ + +type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ +type SessionInput1 = struct { + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + FaData uintptr + FnData int32 + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 +} /* sqlite3.c:11163:9 */ + +type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ + +// Minimum chunk size used by streaming versions of functions. + +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:206671:12 */ + +type SessionHook1 = struct { + FpCtx uintptr + FxOld uintptr + FxNew uintptr + FxCount uintptr + FxDepth uintptr +} /* sqlite3.c:11155:9 */ + +type SessionHook = SessionHook1 /* sqlite3.c:206673:28 */ + +// Write a varint with value iVal into the buffer at aBuf. Return the +// number of bytes written. +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:206951:12: */ + return int32(func() uint8 { + if (U32(iVal)) < U32(0x80) { + return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) + } + return uint8(Xsqlite3PutVarint(tls, aBuf, uint64(iVal))) + }()) +} + +// Return the number of bytes required to store value iVal as a varint. +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:206958:12: */ + return Xsqlite3VarintLen(tls, uint64(iVal)) +} + +// Read a varint value from aBuf[] into *piVal. Return the number of +// bytes read. +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:206966:12: */ + return int32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { + return uint8(func() int32 { (*(*int32)(unsafe.Pointer(piVal))) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) + } + return Xsqlite3GetVarint32(tls, aBuf, piVal) + }()) +} + +// Load an unaligned and unsigned 32-bit integer + +// Read a 64-bit big-endian integer value from buffer aRec[]. Return +// the value read. +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:206977:22: */ + var x U64 = (U64((((U32(*(*U8)(unsafe.Pointer((aRec)))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec) + 3))))) + var y U32 = ((((U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4))))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 3)))) + x = ((x << 32) + U64(y)) + return Sqlite3_int64(x) +} + +// Write a 64-bit big-endian integer value to the buffer aBuf[]. +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:206987:13: */ + *(*U8)(unsafe.Pointer(aBuf)) = (U8((i >> 56) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 1)) = (U8((i >> 48) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 2)) = (U8((i >> 40) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 3)) = (U8((i >> 32) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 4)) = (U8((i >> 24) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 5)) = (U8((i >> 16) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 6)) = (U8((i >> 8) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 7)) = (U8((i >> 0) & int64(0xFF))) +} + +// This function is used to serialize the contents of value pValue (see +// comment titled "RECORD FORMAT" above). +// +// If it is non-NULL, the serialized form of the value is written to +// buffer aBuf. *pnWrite is set to the number of bytes written before +// returning. Or, if aBuf is NULL, the only thing this function does is +// set *pnWrite. +// +// If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs +// within a call to sqlite3_value_text() (may fail if the db is utf-16)) +// SQLITE_NOMEM is returned. +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:207011:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var nByte int32 // Size of serialized value in bytes + + if pValue != 0 { + var eType int32 // Value type (SQLITE_NULL, TEXT etc.) + + eType = Xsqlite3_value_type(tls, pValue) + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(eType) + } + + switch eType { + case SQLITE_NULL: + nByte = 1 + break + fallthrough + + case SQLITE_INTEGER: + fallthrough + case SQLITE_FLOAT: + if aBuf != 0 { + // TODO: SQLite does something special to deal with mixed-endian + // floating point values (e.g. ARM7). This code probably should + // too. + // var i U64 at bp, 8 + + if eType == SQLITE_INTEGER { + *(*U64)(unsafe.Pointer(bp /* i */)) = U64(Xsqlite3_value_int64(tls, pValue)) + } else { + // var r float64 at bp+8, 8 + + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_value_double(tls, pValue) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint32(8)) + } + sessionPutI64(tls, (aBuf + 1), int64(*(*U64)(unsafe.Pointer(bp /* i */)))) + } + nByte = 9 + break + fallthrough + + default: + { + var z uintptr + var n int32 + var nVarint int32 + + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, pValue) + } else { + z = Xsqlite3_value_blob(tls, pValue) + } + n = Xsqlite3_value_bytes(tls, pValue) + if (z == uintptr(0)) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + nVarint = sessionVarintLen(tls, n) + + if aBuf != 0 { + sessionVarintPut(tls, (aBuf + 1), n) + if n != 0 { + libc.Xmemcpy(tls, (aBuf + uintptr((nVarint + 1))), z, uint32(n)) + } + } + + nByte = ((1 + nVarint) + n) + break + + } + } + } else { + nByte = 1 + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(0) + } + } + + if pnWrite != 0 { + *(*Sqlite3_int64)(unsafe.Pointer(pnWrite)) += (Sqlite3_int64(nByte)) + } + return SQLITE_OK +} + +// Allocate and return a pointer to a buffer nByte bytes in size. If +// pSession is not NULL, increase the sqlite3_session.nMalloc variable +// by the number of bytes allocated. +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:207087:13: */ + var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 36 /* &.nMalloc */)) += I64((Xsqlite3_msize(tls, pRet))) + } + return pRet +} + +// Free buffer pFree, which must have been allocated by an earlier +// call to sessionMalloc64(). If pSession is not NULL, decrease the +// sqlite3_session.nMalloc counter by the number of bytes freed. +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:207098:13: */ + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 36 /* &.nMalloc */)) -= I64((Xsqlite3_msize(tls, pFree))) + } + Xsqlite3_free(tls, pFree) +} + +// This macro is used to calculate hash key values for data structures. In +// order to use this macro, the entire data structure must be represented +// as a series of unsigned integers. In order to calculate a hash-key value +// for a data structure represented as three such integers, the macro may +// then be used as follows: +// +// int hash_key_value; +// hash_key_value = HASH_APPEND(0, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// +// In practice, the data structures this macro is used for are the primary +// key values of modified rows. + +// Append the hash of the 64-bit integer passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:207124:21: */ + h = ((((h) << 3) ^ (h)) ^ (uint32(i & int64(0xFFFFFFFF)))) + return ((((h) << 3) ^ (h)) ^ (uint32((i >> 32) & int64(0xFFFFFFFF)))) +} + +// Append the hash of the blob passed via the second and third arguments to +// the hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:207133:21: */ + var i int32 + for i = 0; i < n; i++ { + h = ((((h) << 3) ^ (h)) ^ (uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))))) + } + return h +} + +// Append the hash of the data type passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:207143:21: */ + return ((((h) << 3) ^ (h)) ^ (uint32(eType))) +} + +// This function may only be called from within a pre-update callback. +// It calculates a hash based on the primary key values of the old.* or +// new.* row currently available and, assuming no error occurs, writes it to +// *piHash before returning. If the primary key contains one or more NULL +// values, *pbNullPK is set to true before returning. +// +// If an error occurs, an SQLite error code is returned and the final values +// of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned +// and the output variables are set as described above. +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:207158:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var h uint32 = uint32(0) // Hash value to return + var i int32 // Used to iterate through columns + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0 { + var rc int32 + var eType int32 + // var pVal uintptr at bp, 4 + + if bNew != 0 { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } else { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } + if rc != SQLITE_OK { + return rc + } + + eType = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var iVal I64 at bp+4, 8 + + if eType == SQLITE_INTEGER { + *(*I64)(unsafe.Pointer(bp + 4 /* iVal */)) = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + *(*float64)(unsafe.Pointer(bp + 12 /* rVal */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + + libc.Xmemcpy(tls, bp+4 /* &iVal */, bp+12 /* &rVal */, uint32(8)) + } + h = sessionHashAppendI64(tls, h, *(*I64)(unsafe.Pointer(bp + 4 /* iVal */))) + } else if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + var z uintptr + var n int32 + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + n = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + if !(z != 0) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + h = sessionHashAppendBlob(tls, h, n, z) + } else { + + *(*int32)(unsafe.Pointer(pbNullPK)) = 1 + } + } + } + + *(*int32)(unsafe.Pointer(piHash)) = (int32(h % uint32((*SessionTable)(unsafe.Pointer(pTab)).FnChange))) + return SQLITE_OK +} + +// The buffer that the argument points to contains a serialized SQL value. +// Return the number of bytes of space occupied by the value (including +// the type byte). +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:207223:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var e int32 = int32(*(*U8)(unsafe.Pointer(a))) + // var n int32 at bp, 4 + + if (e == 0) || (e == 0xFF) { + return 1 + } + if e == SQLITE_NULL { + return 1 + } + if (e == SQLITE_INTEGER) || (e == SQLITE_FLOAT) { + return 9 + } + return ((sessionVarintGet(tls, (a+1), bp /* &n */) + 1) + *(*int32)(unsafe.Pointer(bp /* n */))) +} + +// Based on the primary key values stored in change aRecord, calculate a +// hash key. Assume the has table has nBucket buckets. The hash keys +// calculated by this function are compatible with those calculated by +// sessionPreupdateHash(). +// +// The bPkOnly argument is non-zero if the record at aRecord[] is from +// a patchset DELETE. In this case the non-PK fields are omitted entirely. +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:207241:21: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var h uint32 = uint32(0) // Value to return + var i int32 // Used to iterate through columns + var a uintptr = aRecord // Used to iterate through change record + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(a))) + var isPK int32 = int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) + if (bPkOnly != 0) && (isPK == 0) { + continue + } + + // It is not possible for eType to be SQLITE_NULL here. The session + // module does not record changes for rows with NULL values stored in + // primary key columns. + + if isPK != 0 { + a++ + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + h = sessionHashAppendI64(tls, h, sessionGetI64(tls, a)) + a += uintptr(8) + } else { + // var n int32 at bp, 4 + + a += uintptr(sessionVarintGet(tls, a, bp /* &n */)) + h = sessionHashAppendBlob(tls, h, *(*int32)(unsafe.Pointer(bp /* n */)), a) + a += uintptr(*(*int32)(unsafe.Pointer(bp /* n */))) + } + } else { + a += uintptr(sessionSerialLen(tls, a)) + } + } + return (h % uint32(nBucket)) +} + +// Arguments aLeft and aRight are pointers to change records for table pTab. +// This function returns true if the two records apply to the same row (i.e. +// have the same values stored in the primary key columns), or false +// otherwise. +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:207290:12: */ + var a1 uintptr = aLeft // Cursor to iterate through aLeft + var a2 uintptr = aRight // Cursor to iterate through aRight + var iCol int32 // Used to iterate through table columns + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol))) != 0 { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + + if (n1 != n2) || (libc.Xmemcmp(tls, a1, a2, uint32(n1)) != 0) { + return 0 + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } else { + if bLeftPkOnly == 0 { + a1 += uintptr(sessionSerialLen(tls, a1)) + } + if bRightPkOnly == 0 { + a2 += uintptr(sessionSerialLen(tls, a2)) + } + } + } + + return 1 +} + +// Arguments aLeft and aRight both point to buffers containing change +// records with nCol columns. This function "merges" the two records into +// a single records which is written to the buffer at *paOut. *paOut is +// then set to point to one byte after the last byte written before +// returning. +// +// The merging of records is done as follows: For each column, if the +// aRight record contains a value for the column, copy the value from +// their. Otherwise, if aLeft contains a value, copy it. If neither +// record contains a value for a given column, then neither does the +// output record. +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:207333:13: */ + var a1 uintptr = aLeft // Cursor used to iterate through aLeft + var a2 uintptr = aRight // Cursor used to iterate through aRight + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor + var iCol int32 // Used to iterate from 0 to nCol + + for iCol = 0; iCol < nCol; iCol++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + libc.Xmemcpy(tls, aOut, a2, uint32(n2)) + aOut += uintptr(n2) + } else { + libc.Xmemcpy(tls, aOut, a1, uint32(n1)) + aOut += uintptr(n1) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut +} + +// This is a helper function used by sessionMergeUpdate(). +// +// When this function is called, both *paOne and *paTwo point to a value +// within a change record. Before it returns, both have been advanced so +// as to point to the next value in the record. +// +// If, when this function is called, *paTwo points to a valid value (i.e. +// *paTwo[0] is not 0x00 - the "no value" placeholder), a copy of the *paTwo +// pointer is returned and *pnVal is set to the number of bytes in the +// serialized value. Otherwise, a copy of *paOne is returned and *pnVal +// set to the number of bytes in the value at *paOne. If *paOne points +// to the "no value" placeholder, *pnVal is set to 1. In other words: +// +// if( *paTwo is valid ) return *paTwo; +// return *paOne; +// +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:207379:11: */ + var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) + var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) + var pRet uintptr = uintptr(0) + var n1 int32 + + if a2 != 0 { + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + *(*int32)(unsafe.Pointer(pnVal)) = n2 + pRet = a2 + } + *(*uintptr)(unsafe.Pointer(paTwo)) = (a2 + uintptr(n2)) + } + + n1 = sessionSerialLen(tls, a1) + if pRet == uintptr(0) { + *(*int32)(unsafe.Pointer(pnVal)) = n1 + pRet = a1 + } + *(*uintptr)(unsafe.Pointer(paOne)) = (a1 + uintptr(n1)) + + return pRet +} + +// This function is used by changeset_concat() to merge two UPDATE changes +// on the same row. +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:207413:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 4 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 12 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 16 /* aNew2 */)) = aNewRecord2 + + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) + var i int32 + + if bPatchset == 0 { + var bRequired int32 = 0 + + // Write the old.* vector first. + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+8, 4 + + var aOld uintptr + // var nNew int32 at bp+20, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+4 /* &aOld2 */, bp+8 /* &nOld */) + aNew = sessionMergeValue(tls, bp+12 /* &aNew1 */, bp+16 /* &aNew2 */, bp+20 /* &nNew */) + if ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* nOld */)) != *(*int32)(unsafe.Pointer(bp + 20 /* nNew */)))) || (libc.Xmemcmp(tls, aOld, aNew, uint32(*(*int32)(unsafe.Pointer(bp + 20 /* nNew */)))) != 0) { + if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + bRequired = 1 + } + libc.Xmemcpy(tls, aOut, aOld, uint32(*(*int32)(unsafe.Pointer(bp + 8 /* nOld */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* nOld */))) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } + } + + if !(bRequired != 0) { + return 0 + } + } + + // Write the new.* vector + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 4 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 12 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 16 /* aNew2 */)) = aNewRecord2 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+24, 4 + + var aOld uintptr + // var nNew int32 at bp+28, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+4 /* &aOld2 */, bp+24 /* &nOld */) + aNew = sessionMergeValue(tls, bp+12 /* &aNew1 */, bp+16 /* &aNew2 */, bp+28 /* &nNew */) + if (bPatchset == 0) && + ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || ((*(*int32)(unsafe.Pointer(bp + 24 /* nOld */)) == *(*int32)(unsafe.Pointer(bp + 28 /* nNew */))) && (0 == libc.Xmemcmp(tls, aOld, aNew, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nNew */))))))) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } else { + libc.Xmemcpy(tls, aOut, aNew, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nNew */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 28 /* nNew */))) + } + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut + return 1 +} + +// This function is only called from within a pre-update-hook callback. +// It determines if the current pre-update-hook change affects the same row +// as the change stored in argument pChange. If so, it returns true. Otherwise +// if the pre-update-hook does not affect the same row as pChange, it returns +// false. +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:207490:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var iCol int32 // Used to iterate through columns + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord // Cursor used to scan change record + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol)))) != 0) { + a += uintptr(sessionSerialLen(tls, a)) + } else { + // var pVal uintptr at bp, 4 + // Value returned by preupdate_new/old + var rc int32 + _ = rc // Error code from preupdate_new/old + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) // Type of value from change record + + // The following calls to preupdate_new() and preupdate_old() can not + // fail. This is because they cache their return values, and by the + // time control flows to here they have already been called once from + // within sessionPreupdateHash(). The first two asserts below verify + // this (that the method has already been called). + if op == SQLITE_INSERT { + // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } else { + // assert( db->pPreUpdate->pUnpacked ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } + + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { + return 0 + } + + // A SessionChange object never has a NULL value in a PK column + + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*I64)(unsafe.Pointer(bp + 12 /* iVal */)) = sessionGetI64(tls, a) + a += uintptr(8) + if eType == SQLITE_INTEGER { + if Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*I64)(unsafe.Pointer(bp + 12 /* iVal */)) { + return 0 + } + } else { + // var rVal float64 at bp+4, 8 + + libc.Xmemcpy(tls, bp+4 /* &rVal */, bp+12 /* &iVal */, uint32(8)) + if Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*float64)(unsafe.Pointer(bp + 4 /* rVal */)) { + return 0 + } + } + } else { + // var n int32 at bp+20, 4 + + var z uintptr + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*int32)(unsafe.Pointer(bp + 20 /* n */)) { + return 0 + } + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + if (*(*int32)(unsafe.Pointer(bp + 20 /* n */)) > 0) && (libc.Xmemcmp(tls, a, z, uint32(*(*int32)(unsafe.Pointer(bp + 20 /* n */)))) != 0) { + return 0 + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + } + } + } + + return 1 +} + +// If required, grow the hash table used to store changes on table pTab +// (part of the session pSession). If a fatal OOM error occurs, set the +// session object to failed and return SQLITE_ERROR. Otherwise, return +// SQLITE_OK. +// +// It is possible that a non-fatal OOM error occurs in this function. In +// that case the hash-table does not grow, but SQLITE_OK is returned anyway. +// Growing the hash table in this case is a performance optimization only, +// it is not required for correct operation. +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:207569:12: */ + if ((*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= ((*SessionTable)(unsafe.Pointer(pTab)).FnChange / 2)) { + var i int32 + var apNew uintptr + var nNew Sqlite3_int64 = (int64(2) * (func() int64 { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange != 0 { + return int64((*SessionTable)(unsafe.Pointer(pTab)).FnChange) + } + return int64(128) + }())) + + apNew = sessionMalloc64(tls, + pSession, (Sqlite3_int64(unsafe.Sizeof(uintptr(0))) * nNew)) + if apNew == uintptr(0) { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 { + return SQLITE_ERROR + } + return SQLITE_OK + } + libc.Xmemset(tls, apNew, 0, (uint32(Sqlite3_int64(unsafe.Sizeof(uintptr(0))) * nNew))) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNext uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); p != 0; p = pNext { + var bPkOnly int32 = (libc.Bool32((int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_DELETE) && (bPatchset != 0))) + var iHash int32 = int32(sessionChangeHash(tls, pTab, bPkOnly, (*SessionChange)(unsafe.Pointer(p)).FaRecord, int32(nNew))) + pNext = (*SessionChange)(unsafe.Pointer(p)).FpNext + (*SessionChange)(unsafe.Pointer(p)).FpNext = *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*4)) + *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*4)) = p + } + } + + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + (*SessionTable)(unsafe.Pointer(pTab)).FnChange = int32(nNew) + (*SessionTable)(unsafe.Pointer(pTab)).FapChange = apNew + } + + return SQLITE_OK +} + +// This function queries the database for the names of the columns of table +// zThis, in schema zDb. +// +// Otherwise, if they are not NULL, variable *pnCol is set to the number +// of columns in the database table and variable *pzTab is set to point to a +// nul-terminated copy of the table name. *pazCol (if not NULL) is set to +// point to an array of pointers to column names. And *pabPK (again, if not +// NULL) is set to point to an array of booleans - true if the corresponding +// column is part of the primary key. +// +// For example, if the table is declared as: +// +// CREATE TABLE tbl1(w, x, y, z, PRIMARY KEY(w, z)); +// +// Then the four output variables are populated as follows: +// +// *pnCol = 4 +// *pzTab = "tbl1" +// *pazCol = {"w", "x", "y", "z"} +// *pabPK = {1, 0, 0, 1} +// +// All returned buffers are part of the same single allocation, which must +// be freed using sqlite3_free() by the caller +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var zPragma uintptr + // var pStmt uintptr at bp+16, 4 + + var rc int32 + var nByte Sqlite3_int64 + var nDbCol int32 = 0 + var nThis int32 + var i int32 + var pAlloc uintptr = uintptr(0) + var azCol uintptr = uintptr(0) + var abPK uintptr = uintptr(0) + + nThis = Xsqlite3Strlen30(tls, zThis) + if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+10072 /* "sqlite_stat1" */, zThis)) { + 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 { + // For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. + zPragma = Xsqlite3_mprintf(tls, + + ts+30544 /* "SELECT 0, 'tbl',..." */, 0) + } else if rc == SQLITE_ERROR { + zPragma = Xsqlite3_mprintf(tls, ts+755 /* "" */, 0) + } else { + return rc + } + } else { + zPragma = Xsqlite3_mprintf(tls, ts+30665 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + } + if !(zPragma != 0) { + return SQLITE_NOMEM + } + + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+16 /* &pStmt */, uintptr(0)) + Xsqlite3_free(tls, zPragma) + if rc != SQLITE_OK { + return rc + } + + nByte = (Sqlite3_int64(nThis + 1)) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) + nDbCol++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + if rc == SQLITE_OK { + nByte = nByte + (Sqlite3_int64(uint32(nDbCol) * ((uint32(unsafe.Sizeof(uintptr(0))) + uint32(unsafe.Sizeof(U8(0)))) + uint32(1)))) + pAlloc = sessionMalloc64(tls, pSession, nByte) + if pAlloc == uintptr(0) { + rc = SQLITE_NOMEM + } + } + if rc == SQLITE_OK { + azCol = pAlloc + pAlloc = (azCol + uintptr(nDbCol)*4) + abPK = pAlloc + pAlloc = (abPK + uintptr(nDbCol)) + if pzTab != 0 { + libc.Xmemcpy(tls, pAlloc, zThis, (uint32(nThis + 1))) + *(*uintptr)(unsafe.Pointer(pzTab)) = pAlloc + pAlloc += (uintptr(nThis + 1)) + } + + i = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + if zName == uintptr(0) { + break + } + libc.Xmemcpy(tls, pAlloc, zName, (uint32(nName + 1))) + *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)) = pAlloc + pAlloc += (uintptr(nName + 1)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 5)) + i++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + } + + // If successful, populate the output variables. Otherwise, zero them and + // free any allocation made. An error code will be returned in this case. + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pazCol)) = azCol + *(*uintptr)(unsafe.Pointer(pabPK)) = abPK + *(*int32)(unsafe.Pointer(pnCol)) = nDbCol + } else { + *(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pabPK)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnCol)) = 0 + if pzTab != 0 { + *(*uintptr)(unsafe.Pointer(pzTab)) = uintptr(0) + } + sessionFree(tls, pSession, azCol) + } + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + return rc +} + +// This function is only called from within a pre-update handler for a +// write to table pTab, part of session pSession. If this is the first +// write to this table, initalize the SessionTable.nCol, azCol[] and +// abPK[] arrays accordingly. +// +// If an error occurs, an error code is stored in sqlite3_session.rc and +// non-zero returned. Or, if no error occurs but the table has no primary +// key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to +// indicate that updates on this table should be ignored. SessionTable.abPK +// is set to NULL in this case. +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:207752:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + if (*SessionTable)(unsafe.Pointer(pTab)).FnCol == 0 { + // var abPK uintptr at bp, 4 + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionTableInfo(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, + (*SessionTable)(unsafe.Pointer(pTab)).FzName, (pTab + 8 /* &.nCol */), uintptr(0), (pTab + 16 /* &.azCol */), bp /* &abPK */) + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc == SQLITE_OK { + var i int32 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* abPK */)) + uintptr(i))) != 0 { + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = *(*uintptr)(unsafe.Pointer(bp /* abPK */)) + break + } + } + if 0 == Xsqlite3_stricmp(tls, ts+10072 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { + *(*I64)(unsafe.Pointer(pSession + 44 /* &.nMaxChangesetSize */)) += (I64(((Size_t((1 + sessionVarintLen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + Size_t(1))) + } + } + } + return (libc.Bool32(((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FabPK == uintptr(0)))) +} + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx1 = struct { + Fhook SessionHook + FpSession uintptr +} /* sqlite3.c:207787:9 */ + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:207787:32 */ + +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207792:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 4 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207802:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 12 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ + bp := tls.Alloc(36) + defer tls.Free(36) + + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) = int64(2) + if int32((*SessionChange)(unsafe.Pointer(pC)).Fop) == SQLITE_INSERT { + if op != SQLITE_DELETE { + var ii int32 + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+4 /* &nNew */) + } + } + } else if op == SQLITE_DELETE { + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + if Xsqlite3_preupdate_blobwrite(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb) >= 0 { + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + } + } else { + var ii int32 + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(pC)).FaRecord + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + var bChanged int32 = 1 + var nOld int32 = 0 + var eType int32 + *(*uintptr)(unsafe.Pointer(bp + 12 /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+12 /* &p */) + if *(*uintptr)(unsafe.Pointer(bp + 12 /* p */)) == uintptr(0) { + return SQLITE_NOMEM + } + + eType = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pCsr, 1)))) + switch eType { + case SQLITE_NULL: + bChanged = (libc.Bool32(Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */))) != SQLITE_NULL)) + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + if eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */))) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 24 /* iVal */)) = sessionGetI64(tls, pCsr) + if eType == SQLITE_INTEGER { + bChanged = (libc.Bool32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 24 /* iVal */)) != Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */))))) + } else { + // var dVal float64 at bp+16, 8 + + libc.Xmemcpy(tls, bp+16 /* &dVal */, bp+24 /* &iVal */, uint32(8)) + bChanged = (libc.Bool32(*(*float64)(unsafe.Pointer(bp + 16 /* dVal */)) != Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */))))) + } + } + nOld = 8 + pCsr += uintptr(8) + break + + } + fallthrough + + default: + { + // var nByte int32 at bp+32, 4 + + nOld = sessionVarintGet(tls, pCsr, bp+32 /* &nByte */) + pCsr += uintptr(nOld) + nOld = nOld + (*(*int32)(unsafe.Pointer(bp + 32 /* nByte */))) + + if ((eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */)))) && + (*(*int32)(unsafe.Pointer(bp + 32 /* nByte */)) == Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */))))) && + ((*(*int32)(unsafe.Pointer(bp + 32 /* nByte */)) == 0) || (0 == libc.Xmemcmp(tls, pCsr, Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */))), uint32(*(*int32)(unsafe.Pointer(bp + 32 /* nByte */)))))) { + bChanged = 0 + } + pCsr += uintptr(*(*int32)(unsafe.Pointer(bp + 32 /* nByte */))) + break + + } + } + + if (bChanged != 0) && (*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0) { + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) = (I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord + 2)) + break + } + + if bChanged != 0 { + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) += (I64(1 + nOld)) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 12 /* p */)), bp+4 /* &nNew */) + } else if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0 { + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) += (I64(2 + nOld)) + } else { + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) += int64(2) + } + } + } + + if *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) > I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize) { + var nIncr int32 = (int32(*(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) - I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize))) + (*SessionChange)(unsafe.Pointer(pC)).FnMaxSize = int32(*(*I64)(unsafe.Pointer(bp + 4 /* nNew */))) + *(*I64)(unsafe.Pointer(pSession + 44 /* &.nMaxChangesetSize */)) += (I64(nIncr)) + } + return SQLITE_OK +} + +// This function is only called from with a pre-update-hook reporting a +// change on table pTab (attached to session pSession). The type of change +// (UPDATE, INSERT, DELETE) is specified by the first argument. +// +// Unless one is already present or an error occurs, an entry is added +// to the changed-rows hash table associated with table pTab. +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:207927:13: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + // var iHash int32 at bp+24, 4 + + // var bNull int32 at bp+28, 4 + + var rc int32 + // var stat1 SessionStat1Ctx at bp, 24 + + var p uintptr + // var p1 uintptr at bp+32, 4 + + // var p2 uintptr at bp+44, 4 + + // Create a new change object containing all the old values (if + // this is an SQLITE_UPDATE or SQLITE_DELETE), or just the PK + // values (if this is an INSERT). + // var nByte Sqlite3_int64 at bp+36, 8 + // Number of bytes to allocate + var i int32 + // Search the hash table for an existing record for this row. + var pC uintptr + *(*int32)(unsafe.Pointer(bp + 28 /* bNull */)) = 0 + rc = SQLITE_OK + *(*SessionStat1Ctx)(unsafe.Pointer(bp /* stat1 */)) = SessionStat1Ctx{} + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) { + goto __1 + } + return +__1: + ; + + // Load table details if required + if !(sessionInitTable(tls, pSession, pTab) != 0) { + goto __2 + } + return +__2: + ; + + // Check the number of columns in this xPreUpdate call matches the + // number of columns in the table. + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 12 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + goto __3 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA + return +__3: + ; + + // Grow the hash table if required + if !(sessionGrowHash(tls, pSession, 0, pTab) != 0) { + goto __4 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_NOMEM + return +__4: + ; + + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __5 + } + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).FpSession = pSession + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = bp /* &stat1 */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1New})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1Old})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Count})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Depth})) + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob == uintptr(0)) { + goto __6 + } + p = Xsqlite3ValueNew(tls, uintptr(0)) + if !(p == uintptr(0)) { + goto __7 + } + rc = SQLITE_NOMEM + goto error_out +__7: + ; + Xsqlite3ValueSetStr(tls, p, 0, ts+755 /* "" */, uint8(0), uintptr(0)) + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p +__6: + ; +__5: + ; + + // Calculate the hash-key for this change. If the primary key of the row + // includes a NULL value, exit early. Such changes are ignored by the + // session module. + rc = sessionPreupdateHash(tls, pSession, pTab, (libc.Bool32(op == SQLITE_INSERT)), bp+24 /* &iHash */, bp+28 /* &bNull */) + if !(rc != SQLITE_OK) { + goto __8 + } + goto error_out +__8: + ; + + if !(*(*int32)(unsafe.Pointer(bp + 28 /* bNull */)) == 0) { + goto __9 + } + pC = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* iHash */)))*4)) +__10: + if !(pC != 0) { + goto __12 + } + if !(sessionPreupdateEqual(tls, pSession, pTab, pC, op) != 0) { + goto __13 + } + goto __12 +__13: + ; + goto __11 +__11: + pC = (*SessionChange)(unsafe.Pointer(pC)).FpNext + goto __10 + goto __12 +__12: + ; + + if !(pC == uintptr(0)) { + goto __14 + } // Used to iterate through columns + + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + + // Figure out how large an allocation is required + *(*Sqlite3_int64)(unsafe.Pointer(bp + 36 /* nByte */)) = Sqlite3_int64(unsafe.Sizeof(SessionChange{})) + i = 0 +__16: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __18 + } + *(*uintptr)(unsafe.Pointer(bp + 32 /* p1 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __19 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &p1 */) + + goto __20 +__19: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __21 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &p1 */) + +__21: + ; +__20: + ; + + // This may fail if SQLite value p contains a utf-16 string that must + // be converted to utf-8 and an OOM error occurs while doing so. + rc = sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 32 /* p1 */)), bp+36 /* &nByte */) + if !(rc != SQLITE_OK) { + goto __22 + } + goto error_out +__22: + ; + goto __17 +__17: + i++ + goto __16 + goto __18 +__18: + ; + + // Allocate the change object + pC = sessionMalloc64(tls, pSession, *(*Sqlite3_int64)(unsafe.Pointer(bp + 36 /* nByte */))) + if !(!(pC != 0)) { + goto __23 + } + rc = SQLITE_NOMEM + goto error_out + goto __24 +__23: + libc.Xmemset(tls, pC, 0, uint32(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pC)).FaRecord = (pC + 1*20) +__24: + ; + + // Populate the change object. None of the preupdate_old(), + // preupdate_new() or SerializeValue() calls below may fail as all + // required values and encodings have already been cached in memory. + // It is not possible for an OOM to occur in this block. + *(*Sqlite3_int64)(unsafe.Pointer(bp + 36 /* nByte */)) = int64(0) + i = 0 +__25: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __27 + } + *(*uintptr)(unsafe.Pointer(bp + 44 /* p2 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __28 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+44 /* &p2 */) + goto __29 +__28: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __30 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+44 /* &p2 */) +__30: + ; +__29: + ; + sessionSerializeValue(tls, ((*SessionChange)(unsafe.Pointer(pC)).FaRecord + uintptr(*(*Sqlite3_int64)(unsafe.Pointer(bp + 36 /* nByte */)))), *(*uintptr)(unsafe.Pointer(bp + 44 /* p2 */)), bp+36 /* &nByte */) + goto __26 +__26: + i++ + goto __25 + goto __27 +__27: + ; + + // Add the change to the hash-table + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 16 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + goto __31 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) +__31: + ; + (*SessionChange)(unsafe.Pointer(pC)).FnRecord = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 36 /* nByte */))) + (*SessionChange)(unsafe.Pointer(pC)).Fop = U8(op) + (*SessionChange)(unsafe.Pointer(pC)).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* iHash */)))*4)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* iHash */)))*4)) = pC + + goto __15 +__14: + if !((*SessionChange)(unsafe.Pointer(pC)).FbIndirect != 0) { + goto __32 + } + // If the existing change is considered "indirect", but this current + // change is "direct", mark the change object as direct. + if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 16 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { + goto __33 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(0) +__33: + ; +__32: + ; +__15: + ; + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0) { + goto __34 + } + rc = sessionUpdateMaxSize(tls, op, pSession, pTab, pC) +__34: + ; +__9: + ; + + // If an error has occurred, mark the session object as failed. +error_out: + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __35 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook = (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook +__35: + ; + if !(rc != SQLITE_OK) { + goto __36 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = rc +__36: +} + +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:208076:12: */ + var rc int32 = SQLITE_OK + var nName int32 = Xsqlite3Strlen30(tls, zName) + var pRet uintptr + + // Search for an existing table + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pRet != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pRet)).FzName, zName, (nName+1)) { + break + } + } + + if (pRet == uintptr(0)) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach != 0) { + // If there is a table-filter configured, invoke it. If it returns 0, + // do not automatically add the new table. + if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || + ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 32 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + rc = Xsqlite3session_attach(tls, pSession, zName) + if rc == SQLITE_OK { + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + } + + } + } + } + + *(*uintptr)(unsafe.Pointer(ppTab)) = pRet + return rc +} + +// The 'pre-update' hook registered by this module with SQLite databases. +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:208112:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var pSession uintptr + var nDb int32 = Xsqlite3Strlen30(tls, zDb) + + for pSession = pCtx; pSession != 0; pSession = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpNext { + // var pTab uintptr at bp, 4 + + // If this session is attached to a different database ("main", "temp" + // etc.), or if it is not currently enabled, there is nothing to do. Skip + // to the next session object attached to this database. + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable == 0 { + continue + } + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + continue + } + if Xsqlite3_strnicmp(tls, zDb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (nDb+1)) != 0 { + continue + } + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionFindTable(tls, pSession, zName, bp /* &pTab */) + if *(*uintptr)(unsafe.Pointer(bp /* pTab */)) != 0 { + + sessionPreupdateOneChange(tls, op, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + if op == SQLITE_UPDATE { + sessionPreupdateOneChange(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + } + } + } +} + +// The pre-update hook implementations. +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208150:12: */ + return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208153:12: */ + return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208156:12: */ + return Xsqlite3_preupdate_count(tls, pCtx) +} + +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208159:12: */ + return Xsqlite3_preupdate_depth(tls, pCtx) +} + +// Install the pre-update hooks on the session object passed as the only +// argument. +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208167:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateDepth})) +} + +type SessionDiffCtx1 = struct { + FpStmt uintptr + FnOldOff int32 +} /* sqlite3.c:208177:9 */ + +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ + +// The diff hook implementations. +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208186:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, (iVal + (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff)) + return SQLITE_OK +} + +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208191:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) + return SQLITE_OK +} + +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208196:12: */ + var p uintptr = pCtx + if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { + return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff + } + return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) +} + +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208200:12: */ + return 0 +} + +// Install the diff hooks on the session object passed as the only +// argument. +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:208208:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffDepth})) +} + +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 755 /* "" */ + var zRet uintptr = uintptr(0) + + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + zRet = Xsqlite3_mprintf(tls, ts+30694, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 19877 /* " AND " */ + if zRet == uintptr(0) { + break + } + } + } + + return zRet +} + +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 755 /* "" */ + var zRet uintptr = uintptr(0) + var bHave int32 = 0 + + for i = 0; i < nCol; i++ { + if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { + bHave = 1 + zRet = Xsqlite3_mprintf(tls, + ts+30728, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 30769 /* " OR " */ + if zRet == uintptr(0) { + break + } + } + } + + if bHave == 0 { + + zRet = Xsqlite3_mprintf(tls, ts+6506 /* "0" */, 0) + } + + return zRet +} + +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var zRet uintptr = Xsqlite3_mprintf(tls, + + ts+30774, /* "SELECT * FROM \"%..." */ + libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) + return zRet +} + +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:208289:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var zStmt uintptr = sessionSelectFindNew(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, zDb1, zDb2, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr) + + if zStmt == uintptr(0) { + rc = SQLITE_NOMEM + } else { + // var pStmt uintptr at bp, 4 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp /* &pStmt */, uintptr(0)) + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { + sessionPreupdateOneChange(tls, op, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + + return rc +} + +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + var rc int32 = SQLITE_OK + + var zExpr2 uintptr = sessionExprCompareOther(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, + (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (*SessionTable)(unsafe.Pointer(pTab)).FazCol, (*SessionTable)(unsafe.Pointer(pTab)).FabPK) + if zExpr2 == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var zStmt uintptr = Xsqlite3_mprintf(tls, + ts+30852, /* "SELECT * FROM \"%..." */ + 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 + } else { + // var pStmt uintptr at bp+48, 4 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+48 /* &pStmt */, uintptr(0)) + + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) { + sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + } + + return rc +} + +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:208360:16: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var zDb uintptr + var rc int32 + // var d SessionDiffCtx at bp, 8 + + var i int32 + var bHasPk int32 + var bMismatch int32 + // var nCol int32 at bp+12, 4 + // Columns in zFrom.zTbl + // var abPK uintptr at bp+20, 4 + + // var azCol uintptr at bp+16, 4 + + var zExpr uintptr + var db uintptr + // var pTo uintptr at bp+8, 4 + zDb = (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + + libc.Xmemset(tls, bp /* &d */, 0, uint32(unsafe.Sizeof(SessionDiffCtx{}))) + sessionDiffHooks(tls, pSession, bp /* &d */) + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if !(pzErrMsg != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) +__1: + ; + if !(rc == SQLITE_OK) { + goto __2 + } + zExpr = uintptr(0) + db = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Table zTbl + + // Locate and if necessary initialize the target table object + rc = sessionFindTable(tls, pSession, zTbl, bp+8 /* &pTo */) + if !(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)) == uintptr(0)) { + goto __3 + } + goto diff_out +__3: + ; + if !(sessionInitTable(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */))) != 0) { + goto __4 + } + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + goto diff_out +__4: + ; + + // Check the table schemas match + if !(rc == SQLITE_OK) { + goto __5 + } + bHasPk = 0 + bMismatch = 0 + *(*uintptr)(unsafe.Pointer(bp + 16 /* azCol */)) = uintptr(0) + rc = sessionTableInfo(tls, uintptr(0), db, zFrom, zTbl, bp+12 /* &nCol */, uintptr(0), bp+16 /* &azCol */, bp+20 /* &abPK */) + if !(rc == SQLITE_OK) { + goto __6 + } + if !((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FnCol != *(*int32)(unsafe.Pointer(bp + 12 /* nCol */))) { + goto __7 + } + bMismatch = 1 + goto __8 +__7: + i = 0 +__9: + if !(i < *(*int32)(unsafe.Pointer(bp + 12 /* nCol */))) { + goto __11 + } + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FabPK + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20 /* abPK */)) + uintptr(i))))) { + goto __12 + } + bMismatch = 1 +__12: + ; + if !(Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* azCol */)) + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FazCol + uintptr(i)*4))) != 0) { + goto __13 + } + bMismatch = 1 +__13: + ; + if !(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20 /* abPK */)) + uintptr(i))) != 0) { + goto __14 + } + bHasPk = 1 +__14: + ; + goto __10 +__10: + i++ + goto __9 + goto __11 +__11: + ; +__8: + ; +__6: + ; + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* azCol */))) + if !(bMismatch != 0) { + goto __15 + } + if !(pzErrMsg != 0) { + goto __16 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+30905 /* "table schemas do..." */, 0) +__16: + ; + rc = SQLITE_SCHEMA +__15: + ; + if !(bHasPk == 0) { + goto __17 + } + // Ignore tables with no primary keys + goto diff_out +__17: + ; +__5: + ; + + if !(rc == SQLITE_OK) { + goto __18 + } + zExpr = sessionExprComparePK(tls, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FnCol, + zDb, zFrom, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FzName, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FazCol, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FabPK) +__18: + ; + + // Find new rows + if !(rc == SQLITE_OK) { + goto __19 + } + rc = sessionDiffFindNew(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)), zDb, zFrom, zExpr) +__19: + ; + + // Find old rows + if !(rc == SQLITE_OK) { + goto __20 + } + rc = sessionDiffFindNew(tls, SQLITE_DELETE, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)), zFrom, zDb, zExpr) +__20: + ; + + // Find modified rows + if !(rc == SQLITE_OK) { + goto __21 + } + rc = sessionDiffFindModified(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)), zFrom, zExpr) +__21: + ; + + Xsqlite3_free(tls, zExpr) +__2: + ; + +diff_out: + sessionPreupdateHooks(tls, pSession) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Create a session object. This session object will record changes to +// database zDb attached to connection db. +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:208455:16: */ + var pNew uintptr // Newly allocated session object + var pOld uintptr // Session object already attached to db + var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes + + // Zero the output value in case an error occurs. + *(*uintptr)(unsafe.Pointer(ppSession)) = uintptr(0) + + // Allocate and populate the new session object. + pNew = Xsqlite3_malloc64(tls, (uint64((uint32(unsafe.Sizeof(Sqlite3_session{})) + uint32(nDb)) + uint32(1)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(Sqlite3_session{}))) + (*Sqlite3_session)(unsafe.Pointer(pNew)).Fdb = db + (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb = (pNew + 1*84) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FbEnable = 1 + libc.Xmemcpy(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, zDb, (uint32(nDb + 1))) + sessionPreupdateHooks(tls, pNew) + + // Add the new session object to the linked list of session objects + // attached to database handle $db. Do this under the cover of the db + // handle mutex. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + pOld = Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), pNew) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FpNext = pOld + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + + *(*uintptr)(unsafe.Pointer(ppSession)) = pNew + return SQLITE_OK +} + +// Free the list of table objects passed as the first argument. The contents +// of the changed-rows hash tables are also deleted. +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:208493:13: */ + var pNext uintptr + var pTab uintptr + + for pTab = pList; pTab != 0; pTab = pNext { + var i int32 + pNext = (*SessionTable)(unsafe.Pointer(pTab)).FpNext + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNextChange uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); p != 0; p = pNextChange { + pNextChange = (*SessionChange)(unsafe.Pointer(p)).FpNext + sessionFree(tls, pSession, p) + } + } + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FazCol) // cast works around VC++ bug + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + sessionFree(tls, pSession, pTab) + } +} + +// Delete a session object previously allocated using sqlite3session_create(). +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208517:17: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + // var pHead uintptr at bp, 4 + + var pp uintptr + + // Unlink the session from the linked list of sessions attached to the + // database handle. Hold the db mutex while doing so. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + *(*uintptr)(unsafe.Pointer(bp /* pHead */)) = Xsqlite3_preupdate_hook(tls, db, uintptr(0), uintptr(0)) + for pp = bp; /* &pHead */ (*(*uintptr)(unsafe.Pointer(pp))) != uintptr(0); pp = (*(*uintptr)(unsafe.Pointer(pp)) + 56 /* &.pNext */) { + if (*(*uintptr)(unsafe.Pointer(pp))) == pSession { + *(*uintptr)(unsafe.Pointer(pp)) = (*Sqlite3_session)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + if *(*uintptr)(unsafe.Pointer(bp /* pHead */)) != 0 { + Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), *(*uintptr)(unsafe.Pointer(bp /* pHead */))) + } + break + } + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + Xsqlite3ValueFree(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob) + + // Delete all attached table objects. And the contents of their + // associated hash-tables. + sessionDeleteTable(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable) + + // Assert that all allocations have been freed and then free the + // session object itself. + + Xsqlite3_free(tls, pSession) +} + +// Set a table filter on a Session Object. +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:208549:17: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter +} + +// Attach a table to a session. All subsequent changes made to the table +// while the session object is enabled will be recorded. +// +// Only tables that have a PRIMARY KEY defined may be attached. It does +// not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) +// or not. +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:208567:16: */ + var rc int32 = SQLITE_OK + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + if !(zName != 0) { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + } else { + var pTab uintptr // New table object (if required) + var nName int32 // Number of bytes in string zName + + // First search for an existing entry. If one is found, this call is + // a no-op. Return early. + nName = Xsqlite3Strlen30(tls, zName) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (nName+1)) { + break + } + } + + if !(pTab != 0) { + // Allocate new SessionTable object. + var nByte int32 = (int32((uint32(unsafe.Sizeof(SessionTable{})) + uint32(nName)) + uint32(1))) + pTab = sessionMalloc64(tls, pSession, int64(nByte)) + if !(pTab != 0) { + rc = SQLITE_NOMEM + } else { + // Populate the new SessionTable object and link it into the list. + // The new object must be linked onto the end of the list, not + // simply added to the start of it in order to ensure that tables + // appear in the correct order when a changeset or patchset is + // eventually generated. + var ppTab uintptr + libc.Xmemset(tls, pTab, 0, uint32(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = (pTab + 1*36) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (uint32(nName + 1))) + for ppTab = (pSession + 60 /* &.pTable */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } + } + } + + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Ensure that there is room in the buffer to append nByte bytes of data. +// If not, use sqlite3_realloc() to grow the buffer so that there is. +// +// If successful, return zero. Otherwise, if an OOM condition is encountered, +// set *pRc to SQLITE_NOMEM and return non-zero. +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:208620:12: */ + var nReq I64 = (I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte) + if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc)) { + var aNew uintptr + var nNew I64 + if (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc != 0 { + nNew = int64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) + } else { + nNew = int64(128) + } + + for ok := true; ok; ok = (nNew < nReq) { + nNew = (nNew * int64(2)) + } + + // The value of SESSION_MAX_BUFFER_SZ is copied from the implementation + // of sqlite3_realloc64(). Allocations greater than this size in bytes + // always fail. It is used here to ensure that this routine can always + // allocate up to this limit - instead of up to the largest power of + // two smaller than the limit. + if nNew > (int64(0x7FFFFF00 - 1)) { + nNew = (int64(0x7FFFFF00 - 1)) + if nNew < nReq { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + return 1 + } + } + + aNew = Xsqlite3_realloc64(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf, uint64(nNew)) + if uintptr(0) == aNew { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } else { + (*SessionBuffer)(unsafe.Pointer(p)).FaBuf = aNew + (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc = int32(nNew) + } + } + return (libc.Bool32(*(*int32)(unsafe.Pointer(pRc)) != SQLITE_OK)) +} + +// Append the value passed as the second argument to the buffer passed +// as the first. +// +// This function is a no-op if *pRc is non-zero when it is called. +// Otherwise, if an error occurs, *pRc is set to an SQLite error code +// before returning. +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:208663:13: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, uintptr(0), pVal, bp /* &nByte */) + sessionBufferGrow(tls, p, *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)), bp+8 /* &rc */) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), pVal, uintptr(0)) + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += int32((*(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)))) + } else { + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) + } + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single byte to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:208685:13: */ + if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { + *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single varint to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:208698:13: */ + if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += (sessionVarintPut(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), v)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a blob of data to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:208711:13: */ + if (nBlob > 0) && (0 == sessionBufferGrow(tls, p, int64(nBlob), pRc)) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), aBlob, uint32(nBlob)) + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += (nBlob) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a string to the buffer. All bytes in the string +// up to (but not including) the nul-terminator are written to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208731:13: */ + var nStr int32 = Xsqlite3Strlen30(tls, zStr) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), zStr, uint32(nStr)) + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += (nStr) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string representation of integer iVal +// to the buffer. No nul-terminator is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aBuf [24]int8 at bp+8, 24 + + Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([24]int8{})) - uint32(1))), bp+8 /* &aBuf[0] */, ts+4089 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string zStr enclosed in quotes (") and +// with any embedded quote characters escaped to the buffer. No +// nul-terminator byte is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208770:13: */ + var nStr int32 = (((Xsqlite3Strlen30(tls, zStr) * 2) + 2) + 1) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + var zOut uintptr = ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)) + var zIn uintptr = zStr + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + for *(*int8)(unsafe.Pointer(zIn)) != 0 { + if int32(*(*int8)(unsafe.Pointer(zIn))) == '"' { + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + (*SessionBuffer)(unsafe.Pointer(p)).FnBuf = ((int32(zOut) - int32((*SessionBuffer)(unsafe.Pointer(p)).FaBuf)) / 1) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwse, it appends the serialized version of the value stored +// in column iCol of the row that SQL statement pStmt currently points +// to to the buffer. +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:208795:13: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var eType int32 = Xsqlite3_column_type(tls, pStmt, iCol) + sessionAppendByte(tls, p, U8(eType), pRc) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var i Sqlite3_int64 at bp, 8 + + // var aBuf [8]U8 at bp+16, 8 + + if eType == SQLITE_INTEGER { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */)) = Xsqlite3_column_int64(tls, pStmt, iCol) + } else { + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_column_double(tls, pStmt, iCol) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint32(8)) + } + sessionPutI64(tls, bp+16 /* &aBuf[0] */, *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */))) + sessionAppendBlob(tls, p, bp+16 /* &aBuf[0] */, 8, pRc) + } + if (eType == SQLITE_BLOB) || (eType == SQLITE_TEXT) { + var z uintptr + var nByte int32 + if eType == SQLITE_BLOB { + z = Xsqlite3_column_blob(tls, pStmt, iCol) + } else { + z = Xsqlite3_column_text(tls, pStmt, iCol) + } + nByte = Xsqlite3_column_bytes(tls, pStmt, iCol) + if (z != 0) || ((eType == SQLITE_BLOB) && (nByte == 0)) { + sessionAppendVarint(tls, p, nByte, pRc) + sessionAppendBlob(tls, p, z, nByte, pRc) + } else { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } + } + } +} + +// +// This function appends an update change to the buffer (see the comments +// under "CHANGESET FORMAT" at the top of the file). An update change +// consists of: +// +// 1 byte: SQLITE_UPDATE (0x17) +// n bytes: old.* record (see RECORD FORMAT) +// m bytes: new.* record (see RECORD FORMAT) +// +// The SessionChange object passed as the third argument contains the +// values that were stored in the row when the session began (the old.* +// values). The statement handle passed as the second argument points +// at the current version of the row (the new.* values). +// +// If all of the old.* values are equal to their corresponding new.* value +// (i.e. nothing has changed), then no data at all is appended to the buffer. +// +// Otherwise, the old.* record contains all primary key values and the +// original values of any fields that have been modified. The new.* record +// contains the new values of only those fields that have been modified. +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:208857:12: */ + bp := tls.Alloc(36) + defer tls.Free(36) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* buf2 */)) = SessionBuffer{} // Buffer to accumulate new.* record in + var bNoop int32 = 1 // Set to zero if any values are modified + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf // Set to zero if any values are modified + var i int32 // Used to iterate through columns + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord // Used to iterate through old.* values + + sessionAppendByte(tls, pBuf, uint8(SQLITE_UPDATE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + for i = 0; i < Xsqlite3_column_count(tls, pStmt); i++ { + var bChanged int32 = 0 + var nAdvance int32 + var eType int32 = int32(*(*U8)(unsafe.Pointer(pCsr))) + switch eType { + case SQLITE_NULL: + nAdvance = 1 + if Xsqlite3_column_type(tls, pStmt, i) != SQLITE_NULL { + bChanged = 1 + } + break + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + nAdvance = 9 + if eType == Xsqlite3_column_type(tls, pStmt, i) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 12 /* iVal */)) = sessionGetI64(tls, (pCsr + 1)) + if eType == SQLITE_INTEGER { + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 12 /* iVal */)) == Xsqlite3_column_int64(tls, pStmt, i) { + break + } + } else { + // var dVal float64 at bp+4, 8 + + libc.Xmemcpy(tls, bp+4 /* &dVal */, bp+12 /* &iVal */, uint32(8)) + if *(*float64)(unsafe.Pointer(bp + 4 /* dVal */)) == Xsqlite3_column_double(tls, pStmt, i) { + break + } + } + } + bChanged = 1 + break + + } + + default: + { + // var n int32 at bp+20, 4 + + var nHdr int32 = (1 + sessionVarintGet(tls, (pCsr+1), bp+20 /* &n */)) + + nAdvance = (nHdr + *(*int32)(unsafe.Pointer(bp + 20 /* n */))) + if ((eType == Xsqlite3_column_type(tls, pStmt, i)) && + (*(*int32)(unsafe.Pointer(bp + 20 /* n */)) == Xsqlite3_column_bytes(tls, pStmt, i))) && + ((*(*int32)(unsafe.Pointer(bp + 20 /* n */)) == 0) || (0 == libc.Xmemcmp(tls, (pCsr+uintptr(nHdr)), Xsqlite3_column_blob(tls, pStmt, i), uint32(*(*int32)(unsafe.Pointer(bp + 20 /* n */)))))) { + break + } + bChanged = 1 + + } + } + + // If at least one field has been modified, this is not a no-op. + if bChanged != 0 { + bNoop = 0 + } + + // Add a field to the old.* record. This is omitted if this modules is + // currently generating a patchset. + if bPatchset == 0 { + if (bChanged != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + sessionAppendBlob(tls, pBuf, pCsr, nAdvance, bp /* &rc */) + } else { + sessionAppendByte(tls, pBuf, uint8(0), bp /* &rc */) + } + } + + // Add a field to the new.* record. Or the only record if currently + // generating a patchset. + if (bChanged != 0) || ((bPatchset != 0) && (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0)) { + sessionAppendCol(tls, bp+24 /* &buf2 */, pStmt, i, bp /* &rc */) + } else { + sessionAppendByte(tls, bp+24 /* &buf2 */, uint8(0), bp /* &rc */) + } + + pCsr += uintptr(nAdvance) + } + + if bNoop != 0 { + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = nRewind + } else { + sessionAppendBlob(tls, pBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf2 */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf2 */)).FnBuf, bp /* &rc */) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf2 */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Append a DELETE change to the buffer passed as the first argument. Use +// the changeset format if argument bPatchset is zero, or the patchset +// format otherwise. +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:208956:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + + sessionAppendByte(tls, pBuf, uint8(SQLITE_DELETE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + + if bPatchset == 0 { + sessionAppendBlob(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp /* &rc */) + } else { + var i int32 + var a uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord + for i = 0; i < nCol; i++ { + var pStart uintptr = a + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + a += uintptr(8) + break + fallthrough + + default: + { + // var n int32 at bp+4, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+4 /* &n */)) + a += uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* n */))) + break + + } + } + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendBlob(tls, pBuf, pStart, ((int32(a) - int32(pStart)) / 1), bp /* &rc */) + } + } + + } + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Formulate and prepare a SELECT statement to retrieve a row from table +// zTab in database zDb based on its primary key. i.e. +// +// SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = SQLITE_OK + var zSql uintptr = uintptr(0) + var nSql int32 = -1 + + if 0 == Xsqlite3_stricmp(tls, ts+10072 /* "sqlite_stat1" */, zTab) { + zSql = Xsqlite3_mprintf(tls, + + ts+30932 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + if zSql == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = SQLITE_NOMEM + } + } else { + var i int32 + var zSep uintptr = ts + 755 /* "" */ + *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp+8 /* &buf */, ts+31042 /* "SELECT * FROM " */, bp+20 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zDb, bp+20 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+768 /* "." */, bp+20 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zTab, bp+20 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+31057 /* " WHERE " */, bp+20 /* &rc */) + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendStr(tls, bp+8 /* &buf */, zSep, bp+20 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), bp+20 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+31065 /* " IS ?" */, bp+20 /* &rc */) + sessionAppendInteger(tls, bp+8 /* &buf */, (i + 1), bp+20 /* &rc */) + zSep = ts + 19877 /* " AND " */ + } + } + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FnBuf + } + + if *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + } + Xsqlite3_free(tls, zSql) + return *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) +} + +// Bind the PRIMARY KEY values from the change passed in argument pChange +// to the SELECT statement passed as the first argument. The SELECT statement +// is as prepared by function sessionSelectStmt(). +// +// Return SQLITE_OK if all PK values are successfully bound, or an SQLite +// error code (e.g. SQLITE_NOMEM) otherwise. +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:209068:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 + var rc int32 = SQLITE_OK + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord + + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + + case SQLITE_INTEGER: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + var iVal I64 = sessionGetI64(tls, a) + rc = Xsqlite3_bind_int64(tls, pSelect, (i + 1), iVal) + } + a += uintptr(8) + break + + } + + case SQLITE_FLOAT: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + // var rVal float64 at bp, 8 + + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = sessionGetI64(tls, a) + libc.Xmemcpy(tls, bp /* &rVal */, bp+8 /* &iVal */, uint32(8)) + rc = Xsqlite3_bind_double(tls, pSelect, (i + 1), *(*float64)(unsafe.Pointer(bp /* rVal */))) + } + a += uintptr(8) + break + + } + + case SQLITE_TEXT: + { + // var n int32 at bp+16, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+16 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_text(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 16 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* n */))) + break + + } + + default: + { + // var n int32 at bp+20, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_blob(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 20 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + break + + } + } + } + + return rc +} + +// This function is a no-op if *pRc is set to other than SQLITE_OK when it +// is called. Otherwise, append a serialized table header (part of the binary +// changeset format) to buffer *pBuf. If an error occurs, set *pRc to an +// SQLite error code before returning. +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:209139:13: */ + // Write a table header + sessionAppendByte(tls, pBuf, func() uint8 { + if bPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), pRc) + sessionAppendVarint(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (int32(libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + 1), pRc) +} + +// Generate either a changeset (if argument bPatchset is zero) or a patchset +// (if it is non-zero) based on the current contents of the session object +// passed as the first argument. +// +// If no error occurs, SQLITE_OK is returned and the new changeset/patchset +// stored in output variables *pnChangeset and *ppChangeset. Or, if an error +// occurs, an SQLite error code is returned and both output variables set +// to 0. +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209162:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Source database handle + var pTab uintptr // Used to iterate through attached tables + *(*SessionBuffer)(unsafe.Pointer(bp + 12 /* buf */)) = SessionBuffer{} // Buffer in which to accumlate changeset + // var rc int32 at bp+24, 4 + // Return code + + // Zero the output variables in case an error occurs. If this session + // object is already in the error state (sqlite3_session.rc != SQLITE_OK), + // this call will be a no-op. + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = 0 + *(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0) + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + } + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+31071 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry != 0 { + var zName uintptr = (*SessionTable)(unsafe.Pointer(pTab)).FzName + // var nCol int32 at bp, 4 + // Number of columns in table + // var abPK uintptr at bp+8, 4 + // Primary key array + *(*uintptr)(unsafe.Pointer(bp + 4 /* azCol */)) = uintptr(0) // Table columns + var i int32 // Used to iterate through hash buckets + *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)) = uintptr(0) // SELECT statement to query table pTab + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf // Initial size of write buffer + var nNoop int32 // Size of buffer after writing tbl header + + // Check the table schema is still Ok. + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionTableInfo(tls, uintptr(0), db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, bp /* &nCol */, uintptr(0), bp+4 /* &azCol */, bp+8 /* &abPK */) + if !(*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0) && (((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp /* nCol */))) || (libc.Xmemcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */)), (*SessionTable)(unsafe.Pointer(pTab)).FabPK, uint32(*(*int32)(unsafe.Pointer(bp /* nCol */)))) != 0)) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_SCHEMA + } + + // Write a table header + sessionAppendTableHdr(tls, bp+12 /* &buf */, bPatchset, pTab, bp+24 /* &rc */) + + // Build and compile a statement to execute: + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionSelectStmt(tls, + db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 4 /* azCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */)), bp+28 /* &pSel */) + } + + nNoop = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf + for i = 0; (i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange) && (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK); i++ { + var p uintptr // Used to iterate through changes + + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (p != 0); p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionSelectBind(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)), *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */)), p) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { + continue + } + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */))) == SQLITE_ROW { + if int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_INSERT { + var iCol int32 + sessionAppendByte(tls, bp+12 /* &buf */, uint8(SQLITE_INSERT), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+24 /* &rc */) + for iCol = 0; iCol < *(*int32)(unsafe.Pointer(bp /* nCol */)); iCol++ { + sessionAppendCol(tls, bp+12 /* &buf */, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)), iCol, bp+24 /* &rc */) + } + } else { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionAppendUpdate(tls, bp+12 /* &buf */, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)), p, *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */))) + } + } else if int32((*SessionChange)(unsafe.Pointer(p)).Fop) != SQLITE_INSERT { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionAppendDelete(tls, bp+12 /* &buf */, bPatchset, p, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */))) + } + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */))) + } + + // If the buffer is now larger than sessions_strm_chunk_size, pass + // its contents to the xOutput() callback. + if (((xOutput != 0) && + (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK)) && + ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > nNoop)) && + ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf) + nNoop = -1 + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf = 0 + } + + } + } + + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */))) + if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf == nNoop { + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf = nRewind + } + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* azCol */))) // cast works around VC++ bug + } + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FaBuf = uintptr(0) + } else if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf) + } + } + + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf) + Xsqlite3_exec(tls, db, ts+31091 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Obtain a changeset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209288:16: */ + var rc int32 = sessionGenerateChangeset(tls, pSession, 0, uintptr(0), uintptr(0), pnChangeset, ppChangeset) + + return rc +} + +// Streaming version of sqlite3session_changeset(). +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209303:16: */ + return sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Streaming version of sqlite3session_patchset(). +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209314:16: */ + return sessionGenerateChangeset(tls, pSession, 1, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Obtain a patchset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:209329:16: */ + return sessionGenerateChangeset(tls, pSession, 1, uintptr(0), uintptr(0), pnPatchset, ppPatchset) +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:209340:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bEnable >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable = bEnable + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:209354:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bIndirect >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect = bIndirect + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Return true if there have been no changes to monitored tables recorded +// by the session object passed as the only argument. +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:209369:16: */ + var ret int32 = 0 + var pTab uintptr + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (pTab != 0) && (ret == 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + ret = (libc.Bool32((*SessionTable)(unsafe.Pointer(pTab)).FnEntry > 0)) + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + return (libc.Bool32(ret == 0)) +} + +// Return the amount of heap memory in use. +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209385:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc +} + +// Configure the session object passed as the first argument. +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:209392:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_OBJCONFIG_SIZE: + { + var iArg int32 = *(*int32)(unsafe.Pointer(pArg)) + if iArg >= 0 { + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable != 0 { + rc = SQLITE_MISUSE + } else { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize = (libc.Bool32(iArg != 0)) + } + } + *(*int32)(unsafe.Pointer(pArg)) = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize + break + + } + + default: + rc = SQLITE_MISUSE + } + + return rc +} + +// Return the maximum size of sqlite3session_changeset() output. +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209418:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize +} + +// Do the work for either sqlite3changeset_start() or start_strm(). +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:209425:12: */ + var pRet uintptr // Iterator to return + var nByte int32 // Number of bytes to allocate for iterator + + // Zero the output variable in case an error occurs. + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + + // Allocate and initialize the iterator structure. + nByte = int32(unsafe.Sizeof(Sqlite3_changeset_iter{})) + pRet = Xsqlite3_malloc(tls, nByte) + if !(pRet != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pRet, 0, uint32(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FbEof = func() int32 { + if xInput != 0 { + return 0 + } + return 1 + }() + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbInvert = bInvert + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbSkipEmpty = bSkipEmpty + + // Populate the output variable and return success. + *(*uintptr)(unsafe.Pointer(pp)) = pRet + return SQLITE_OK +} + +// Create an iterator used to iterate through the contents of a changeset. +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:209463:16: */ + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) +} + +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:209470:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) +} + +// Streaming version of sqlite3changeset_start(). +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:209483:16: */ + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) +} + +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:209490:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) +} + +// If the SessionInput object passed as the only argument is a streaming +// object and the buffer is full, discard some data to free up space. +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:209504:13: */ + if ((*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0) && ((*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size) { + var nMove int32 = ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext) + + if nMove > 0 { + libc.Xmemmove(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), uint32(nMove)) + } + *(*int32)(unsafe.Pointer(pIn + 20 /* &.buf */ + 4 /* &.nBuf */)) -= ((*SessionInput)(unsafe.Pointer(pIn)).FiNext) + (*SessionInput)(unsafe.Pointer(pIn)).FiNext = 0 + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } +} + +// Ensure that there are at least nByte bytes available in the buffer. Or, +// if there are not nByte bytes remaining in the input, that all available +// data is in the buffer. +// +// Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:209524:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 { + for (!((*SessionInput)(unsafe.Pointer(pIn)).FbEof != 0) && (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte) >= (*SessionInput)(unsafe.Pointer(pIn)).FnData)) && (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) { + *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) = sessions_strm_chunk_size + + if (*SessionInput)(unsafe.Pointer(pIn)).FbNoDiscard == 0 { + sessionDiscardData(tls, pIn) + } + if SQLITE_OK == sessionBufferGrow(tls, (pIn+20 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 32 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { + (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 + } else { + *(*int32)(unsafe.Pointer(pIn + 20 /* &.buf */ + 4 /* &.nBuf */)) += (*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))) + } + } + + (*SessionInput)(unsafe.Pointer(pIn)).FaData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// When this function is called, *ppRec points to the start of a record +// that contains nCol values. This function advances the pointer *ppRec +// until it points to the byte immediately following that record. +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:209552:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var aRec uintptr = *(*uintptr)(unsafe.Pointer(ppRec)) + var i int32 + for i = 0; i < nCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aRec, 1)))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + aRec += uintptr(sessionVarintGet(tls, aRec, bp /* &nByte */)) + aRec += uintptr(*(*int32)(unsafe.Pointer(bp /* nByte */))) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + aRec += uintptr(8) + } + } + + *(*uintptr)(unsafe.Pointer(ppRec)) = aRec +} + +// This function sets the value of the sqlite3_value object passed as the +// first argument to a copy of the string or blob held in the aData[] +// buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM +// error occurs. +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:209578:12: */ + // In theory this code could just pass SQLITE_TRANSIENT as the final + // argument to sqlite3ValueSetStr() and have the copy created + // automatically. But doing so makes it difficult to detect any OOM + // error. Hence the code to create the copy externally. + var aCopy uintptr = Xsqlite3_malloc64(tls, (uint64(Sqlite3_int64(nData) + int64(1)))) + if aCopy == uintptr(0) { + return SQLITE_NOMEM + } + libc.Xmemcpy(tls, aCopy, aData, uint32(nData)) + Xsqlite3ValueSetStr(tls, pVal, nData, aCopy, enc, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + return SQLITE_OK +} + +// Deserialize a single record from a buffer in memory. See "RECORD FORMAT" +// for details. +// +// When this function is called, *paChange points to the start of the record +// to deserialize. Assuming no error occurs, *paChange is set to point to +// one byte after the end of the same record before this function returns. +// If the argument abPK is NULL, then the record contains nCol values. Or, +// if abPK is other than NULL, then the record contains only the PK fields +// (in other words, it is a patchset DELETE record). +// +// If successful, each element of the apOut[] array (allocated by the caller) +// is set to point to an sqlite3_value object containing the value read +// from the corresponding position in the record. If that value is not +// included in the record (i.e. because the record is part of an UPDATE change +// and the field was not modified), the corresponding element of apOut[] is +// set to NULL. +// +// It is the responsibility of the caller to free all sqlite_value structures +// using sqlite3_free(). +// +// If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +// The apOut[] array may have been partially populated in this case. +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209619:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var i int32 // Used to iterate through columns + var rc int32 = SQLITE_OK + + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 1 + } + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = 0 // Type of value (SQLITE_NULL, TEXT etc.) + if (abPK != 0) && (int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0) { + continue + } + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { + rc = Xsqlite3CorruptError(tls, 209637) + } else { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) + + if eType != 0 { + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 0 + } + *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)) = Xsqlite3ValueNew(tls, uintptr(0)) + if !(int32(*(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4))) != 0) { + rc = SQLITE_NOMEM + } + } + } + } + + if rc == SQLITE_OK { + var aVal uintptr = ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (sessionVarintGet(tls, aVal, bp /* &nByte */)) + rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) + if rc == SQLITE_OK { + if (*(*int32)(unsafe.Pointer(bp /* nByte */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nByte */)) > ((*SessionInput)(unsafe.Pointer(pIn)).FnData - (*SessionInput)(unsafe.Pointer(pIn)).FiNext)) { + rc = Xsqlite3CorruptError(tls, 209657) + } else { + var enc U8 = func() uint8 { + if eType == SQLITE_TEXT { + return uint8(SQLITE_UTF8) + } + return uint8(0) + }() + rc = sessionValueSetStr(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)), ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), *(*int32)(unsafe.Pointer(bp /* nByte */)), enc) + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nByte */))) + } + } + } + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 12 /* v */)) = sessionGetI64(tls, aVal) + if eType == SQLITE_INTEGER { + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)), *(*Sqlite3_int64)(unsafe.Pointer(bp + 12 /* v */))) + } else { + // var d float64 at bp+4, 8 + + libc.Xmemcpy(tls, bp+4 /* &d */, bp+12 /* &v */, uint32(8)) + Xsqlite3VdbeMemSetDouble(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)), *(*float64)(unsafe.Pointer(bp + 4 /* d */))) + } + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (8) + } + } + } + + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function ensures that all of the above is present in the input +// buffer (i.e. that it can be accessed without any calls to xInput()). +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. +// The input pointer is not moved. +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:209695:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + *(*int32)(unsafe.Pointer(bp /* nCol */)) = 0 + var nRead int32 = 0 + + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + nRead = nRead + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead))), bp /* &nCol */)) + // The hard upper limit for the number of columns in an SQLite + // database table is, according to sqliteLimit.h, 32676. So + // consider any table-header that purports to have more than 65536 + // columns to be corrupt. This is convenient because otherwise, + // if the (nCol>65536) condition below were omitted, a sufficiently + // large value for nCol may cause nRead to wrap around and become + // negative. Leading to a crash. + if (*(*int32)(unsafe.Pointer(bp /* nCol */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nCol */)) > 65536) { + rc = Xsqlite3CorruptError(tls, 209711) + } else { + rc = sessionInputBuffer(tls, pIn, ((nRead + *(*int32)(unsafe.Pointer(bp /* nCol */))) + 100)) + nRead = nRead + (*(*int32)(unsafe.Pointer(bp /* nCol */))) + } + } + + for rc == SQLITE_OK { + for (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData) && (*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead)))) != 0) { + nRead++ + } + if ((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData { + break + } + rc = sessionInputBuffer(tls, pIn, (nRead + 100)) + } + *(*int32)(unsafe.Pointer(pnByte)) = (nRead + 1) + return rc +} + +// The input pointer currently points to the first byte of the first field +// of a record consisting of nCol columns. This function ensures the entire +// record is buffered. It does not move the input pointer. +// +// If successful, SQLITE_OK is returned and *pnByte is set to the size of +// the record in bytes. Otherwise, an SQLite error code is returned. The +// final value of *pnByte is undefined in this case. +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:209738:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var nByte int32 = 0 + var i int32 + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + var eType int32 + rc = sessionInputBuffer(tls, pIn, (nByte + 10)) + if rc == SQLITE_OK { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + libc.PostIncInt32(&nByte, 1)))))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var n int32 at bp, 4 + + nByte = nByte + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte))), bp /* &n */)) + nByte = nByte + (*(*int32)(unsafe.Pointer(bp /* n */))) + rc = sessionInputBuffer(tls, pIn, nByte) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + nByte = nByte + (8) + } + } + } + *(*int32)(unsafe.Pointer(pnByte)) = nByte + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function decodes the table-header and populates the p->nCol, +// p->zTab and p->abPK[] variables accordingly. The p->apValue[] array is +// also allocated or resized according to the new value of p->nCol. The +// input pointer is left pointing to the byte following the table header. +// +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code +// is returned and the final values of the various fields enumerated above +// are undefined. +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209782:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var rc int32 at bp+4, 4 + + // var nCopy int32 at bp, 4 + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetBufferTblhdr(tls, (p /* &.in */), bp /* &nCopy */) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte int32 + var nVarint int32 + nVarint = sessionVarintGet(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), (p + 80 /* &.nCol */)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol > 0 { + *(*int32)(unsafe.Pointer(bp /* nCopy */)) -= nVarint + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (nVarint) + nByte = (int32(((uint32((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol) * uint32(unsafe.Sizeof(uintptr(0)))) * uint32(2)) + uint32(*(*int32)(unsafe.Pointer(bp /* nCopy */))))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 + sessionBufferGrow(tls, (p + 44 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + } else { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 209799) + } + } + + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var iPK Size_t = ((uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint32(2)) + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0, iPK) + libc.Xmemcpy(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + uintptr(iPK)), ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), uint32(*(*int32)(unsafe.Pointer(bp /* nCopy */)))) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nCopy */))) + } + + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue == uintptr(0) { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = uintptr(0) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = uintptr(0) + } else { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol*2))*4) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) + } + return uintptr(0) + }() + } + return libc.AssignPtrInt32(p+68 /* &.rc */, *(*int32)(unsafe.Pointer(bp + 4 /* rc */))) +} + +// Advance the changeset iterator to the next change. The differences between +// this function and sessionChangesetNext() are that +// +// * If pbEmpty is not NULL and the change is a no-op UPDATE (an UPDATE +// that modifies no columns), this function sets (*pbEmpty) to 1. +// +// * If the iterator is configured to skip no-op UPDATEs, +// sessionChangesetNext() does that. This function does not. +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209831:12: */ + var i int32 + var op U8 + + // If the iterator is in the error-state, return immediately. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // Free the current contents of p->apValue[], if any. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4))) + } + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0, ((uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint32(2))) + } + + // Make sure the buffer contains at least 10 bytes of input data, or all + // remaining data if there are less than 10 bytes available. This is + // sufficient either for the 'T' or 'P' byte and the varint that follows + // it, or for the two single byte values otherwise. + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionInputBuffer(tls, (p /* &.in */), 2) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // If the iterator is already at the end of the changeset, return DONE. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + + sessionDiscardData(tls, (p /* &.in */)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + + op = *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))) + for (int32(op) == 'T') || (int32(op) == 'P') { + if pbNew != 0 { + *(*int32)(unsafe.Pointer(pbNew)) = 1 + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset = (libc.Bool32(int32(op) == 'P')) + if sessionChangesetReadTblhdr(tls, p) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + if libc.AssignPtrInt32(p+68 /* &.rc */, sessionInputBuffer(tls, (p /* &.in */), 2)) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + op = *(*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)).FzTab == uintptr(0)) || (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) { + // The first record in the changeset is not a table header. Must be a + // corrupt changeset. + + return libc.AssignPtrInt32(p+68 /* &.rc */, Xsqlite3CorruptError(tls, 209885)) + } + + (*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 /* &.rc */, Xsqlite3CorruptError(tls, 209891)) + } + + if paRec != 0 { + var nVal int32 // Number of values to buffer + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) && (int32(op) == SQLITE_UPDATE) { + nVal = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2) + } else if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && (int32(op) == SQLITE_DELETE) { + nVal = 0 + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { + nVal++ + } + } + } else { + nVal = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionChangesetBufferRecord(tls, (p /* &.in */), nVal, pnRec) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + *(*uintptr)(unsafe.Pointer(paRec)) = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(pnRec))) + } else { + var apOld uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4) + } + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + }() + var apNew uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + } + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4) + }() + + // If this is an UPDATE or DELETE, read the old.* record. + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT) && (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE)) { + var abPK uintptr + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 { + abPK = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + } else { + abPK = uintptr(0) + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, abPK, apOld, uintptr(0)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + // If this is an INSERT or UPDATE, read the new.* record. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, uintptr(0), apNew, pbEmpty) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + if (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_UPDATE) { + // If this is an UPDATE that is part of a patchset, then all PK and + // modified fields are present in the new.* record. The old.* record + // is currently completely empty. This block shifts the PK fields from + // new.* to old.*, to accommodate the code that reads these arrays. + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + + 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 /* &.rc */, Xsqlite3CorruptError(tls, 209935)) + } + *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol))*4)) = uintptr(0) + } + } + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_INSERT { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_DELETE + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_INSERT + } + } + } + + return SQLITE_ROW +} + +// Advance the changeset iterator to the next change. +// +// If both paRec and pnRec are NULL, then this function works like the public +// API sqlite3changeset_next(). If SQLITE_ROW is returned, then the +// sqlite3changeset_new() and old() APIs may be used to query for values. +// +// Otherwise, if paRec and pnRec are not NULL, then a pointer to the change +// record is written to *paRec before returning and the number of bytes in +// the record to *pnRec. +// +// Either way, this function returns SQLITE_ROW if the iterator is +// successfully advanced to the next change in the changeset, an SQLite +// error code if an error occurs, or SQLITE_DONE if there are no further +// changes in the changeset. +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:209964:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var bEmpty int32 at bp, 4 + + var rc int32 + for ok := true; ok; ok = (((rc == SQLITE_ROW) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbSkipEmpty != 0)) && (*(*int32)(unsafe.Pointer(bp /* bEmpty */)) != 0)) { + *(*int32)(unsafe.Pointer(bp /* bEmpty */)) = 0 + rc = sessionChangesetNextOne(tls, p, paRec, pnRec, pbNew, bp /* &bEmpty */) + } + return rc +} + +// Advance an iterator created by sqlite3changeset_start() to the next +// change in the changeset. This function may return SQLITE_ROW, SQLITE_DONE +// or SQLITE_CORRUPT. +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209987:16: */ + return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) +} + +// The following function extracts information on the current change +// from a changeset iterator. It may only be called after changeset_next() +// has returned SQLITE_ROW. +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:209996:16: */ + *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + if pbIndirect != 0 { + *(*int32)(unsafe.Pointer(pbIndirect)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect + } + return SQLITE_OK +} + +// Return information regarding the PRIMARY KEY and number of columns in +// the database table affected by the change that pIter currently points +// to. This function may only be called after changeset_next() returns +// SQLITE_ROW. +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:210016:16: */ + *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + if pnCol != 0 { + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + } + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_DELETE change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the old.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified and is not a PK column), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210039:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(iVal)*4)) + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_INSERT change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the new.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210067:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+iVal))*4)) + return SQLITE_OK +} + +// The following two macros are used internally. They are similar to the +// sqlite3changeset_new() and sqlite3changeset_old() functions, except that +// they omit all error checking and return a pointer to the requested value. + +// This function may only be called with a changeset iterator that has been +// passed to an SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT +// conflict-handler function. Otherwise, SQLITE_MISUSE is returned. +// +// If successful, *ppValue is set to point to an sqlite3_value structure +// containing the iVal'th value of the conflicting record. +// +// If value iVal is out-of-range or some other error occurs, an SQLite error +// code is returned. Otherwise, SQLITE_OK. +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210101:16: */ + if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = Xsqlite3_column_value(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict, iVal) + return SQLITE_OK +} + +// This function may only be called with an iterator passed to an +// SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +// it sets the output variable to the total number of known foreign key +// violations in the destination database and returns SQLITE_OK. +// +// In all other cases this function returns SQLITE_MISUSE. +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:210124:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0) { + return SQLITE_MISUSE + } + *(*int32)(unsafe.Pointer(pnOut)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + return SQLITE_OK +} + +// Finalize an iterator allocated with sqlite3changeset_start(). +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:210142:16: */ + var rc int32 = SQLITE_OK + if p != 0 { + var i int32 // Used to iterate through p->apValue[] + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4))) + } + } + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf) + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.Fbuf.FaBuf) + Xsqlite3_free(tls, p) + } + return rc +} + +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210157:12: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + // var rc int32 at bp+32, 4 + // Return value + // var sOut SessionBuffer at bp, 12 + // Output buffer + // var nCol int32 at bp+16, 4 + // Number of cols in current table + var abPK uintptr // PK array for current table + var apVal uintptr // Space for values for UPDATE inversion + // var sPK SessionBuffer at bp+20, 12 + + // A 'table' record consists of: + // + // * A constant 'T' character, + // * Number of columns in said table (a varint), + // * An array of nCol bytes (sPK), + // * A nul-terminated table name. + // var nByte int32 at bp+12, 4 + + var nVar int32 + // var nByte1 int32 at bp+36, 4 + + var bIndirect int32 + var eType2 int32 + var pVal uintptr + var pVal1 uintptr + var iCol int32 + var eType U8 + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)) = 0 + abPK = uintptr(0) + apVal = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 20 /* sPK */)) = SessionBuffer{} // PK array for current table + + // Initialize the output buffer + libc.Xmemset(tls, bp /* &sOut */, 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + + // Zero the output variables in case an error occurs. + if !(ppInverted != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(ppInverted)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnInverted)) = 0 +__1: + ; + +__2: + if !(1 != 0) { + goto __3 + } + + // Test for EOF. + if !(libc.AssignPtrInt32(bp+32 /* rc */, sessionInputBuffer(tls, pInput, 2)) != 0) { + goto __4 + } + goto finished_invert +__4: + ; + if !((*SessionInput)(unsafe.Pointer(pInput)).FiNext >= (*SessionInput)(unsafe.Pointer(pInput)).FnData) { + goto __5 + } + goto __3 +__5: + ; + eType = *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext))) + + switch int32(eType) { + case 'T': + goto __7 + + case SQLITE_INSERT: + goto __8 + case SQLITE_DELETE: + goto __9 + + case SQLITE_UPDATE: + goto __10 + + default: + goto __11 + } + goto __6 +__7: + (*SessionInput)(unsafe.Pointer(pInput)).FiNext++ + if !(libc.AssignPtrInt32(bp+32 /* rc */, sessionChangesetBufferTblhdr(tls, pInput, bp+12 /* &nByte */)) != 0) { + goto __12 + } + goto finished_invert +__12: + ; + nVar = sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), bp+16 /* &nCol */) + (*SessionBuffer)(unsafe.Pointer(bp + 20 /* &sPK */)).FnBuf = 0 + sessionAppendBlob(tls, bp+20 /* &sPK */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + nVar))), *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), bp+32 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, eType, bp+32 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 12 /* nByte */)), bp+32 /* &rc */) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0) { + goto __13 + } + goto finished_invert +__13: + ; + + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 12 /* nByte */))) + Xsqlite3_free(tls, apVal) + apVal = uintptr(0) + abPK = (*SessionBuffer)(unsafe.Pointer(bp + 20 /* &sPK */)).FaBuf + goto __6 + +__8: +__9: + bIndirect = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1))))) + eType2 = func() int32 { + if int32(eType) == SQLITE_DELETE { + return SQLITE_INSERT + } + return SQLITE_DELETE + }() + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sessionChangesetBufferRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), bp+36 /* &nByte1 */) + sessionAppendByte(tls, bp /* &sOut */, uint8(eType2), bp+32 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, uint8(bIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 36 /* nByte1 */)), bp+32 /* &rc */) + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 36 /* nByte1 */))) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0) { + goto __14 + } + goto finished_invert +__14: + ; + goto __6 + +__10: + + if !(uintptr(0) == apVal) { + goto __15 + } + apVal = Xsqlite3_malloc64(tls, (uint64((uint32(unsafe.Sizeof(uintptr(0))) * uint32(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))) * uint32(2)))) + if !(uintptr(0) == apVal) { + goto __16 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_NOMEM + goto finished_invert +__16: + ; + libc.Xmemset(tls, apVal, 0, ((uint32(unsafe.Sizeof(uintptr(0))) * uint32(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))) * uint32(2))) +__15: + ; + + // Write the header for the new UPDATE change. Same as the original. + sessionAppendByte(tls, bp /* &sOut */, eType, bp+32 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1)))), bp+32 /* &rc */) + + // Read the old.* and new.* records for the update change. + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), uintptr(0), (apVal), uintptr(0)) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) { + goto __17 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), uintptr(0), (apVal + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))*4), uintptr(0)) +__17: + ; + + // Write the new old.* record. Consists of the PK columns from the + // original old.* record, and the other values from the original + // new.* record. + iCol = 0 +__18: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 16 /* nCol */))) { + goto __20 + } + pVal = *(*uintptr)(unsafe.Pointer(apVal + uintptr((iCol+(func() int32 { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return 0 + } + return *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)) + }())))*4)) + sessionAppendValue(tls, bp /* &sOut */, pVal, bp+32 /* &rc */) + goto __19 +__19: + iCol++ + goto __18 + goto __20 +__20: + ; + + // Write the new new.* record. Consists of a copy of all values + // from the original old.* record, except for the PK columns, which + // are set to "undefined". + iCol = 0 +__21: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 16 /* nCol */))) { + goto __23 + } + pVal1 = func() uintptr { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return uintptr(0) + } + return *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*4)) + }() + sessionAppendValue(tls, bp /* &sOut */, pVal1, bp+32 /* &rc */) + goto __22 +__22: + iCol++ + goto __21 + goto __23 +__23: + ; + + iCol = 0 +__24: + if !(iCol < (*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)) * 2)) { + goto __26 + } + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*4))) + goto __25 +__25: + iCol++ + goto __24 + goto __26 +__26: + ; + libc.Xmemset(tls, apVal, 0, ((uint32(unsafe.Sizeof(uintptr(0))) * uint32(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))) * uint32(2))) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK) { + goto __27 + } + goto finished_invert +__27: + ; + + goto __6 + +__11: + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 210284) + goto finished_invert +__6: + ; + + if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { + goto __28 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK) { + goto __29 + } + goto finished_invert +__29: + ; +__28: + ; + goto __2 +__3: + ; + + if !(pnInverted != 0) { + goto __30 + } + *(*int32)(unsafe.Pointer(pnInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf = uintptr(0) + goto __31 +__30: + if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { + goto __32 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) +__32: + ; +__31: + ; + +finished_invert: + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf) + Xsqlite3_free(tls, apVal) + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+20 /* &sPK */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Invert a changeset object. +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210316:16: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + // var sInput SessionInput at bp, 44 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint32(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FnData = nChangeset + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FaData = pChangeset + + return sessionChangesetInvert(tls, bp /* &sInput */, uintptr(0), uintptr(0), pnInverted, ppInverted) +} + +// Streaming version of sqlite3changeset_invert(). +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:210335:16: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + // var sInput SessionInput at bp, 44 + + var rc int32 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint32(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FxInput = xInput + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FpIn = pIn + + rc = sessionChangesetInvert(tls, bp /* &sInput */, xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3_free(tls, (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).Fbuf.FaBuf) + return rc +} + +type SessionUpdate1 = struct { + FpStmt uintptr + FaMask uintptr + FpNext uintptr +} /* sqlite3.c:210355:9 */ + +type SessionUpdate = SessionUpdate1 /* sqlite3.c:210355:30 */ + +type SessionApplyCtx1 = struct { + Fdb uintptr + FpDelete uintptr + FpInsert uintptr + FpSelect uintptr + FnCol int32 + FazCol uintptr + FabPK uintptr + FaUpdateMask uintptr + FpUp uintptr + FbStat1 int32 + FbDeferConstraints int32 + FbInvertConstraints int32 + Fconstraints SessionBuffer + Frebase SessionBuffer + FbRebaseStarted U8 + FbRebase U8 + _ [2]byte +} /* sqlite3.c:210362:9 */ + +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ + +// Number of prepared UPDATE statements to cache. + +// Find a prepared UPDATE statement suitable for the UPDATE step currently +// being visited by the iterator. The UPDATE is of the form: +// +// UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:210391:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + var pUp uintptr = uintptr(0) + var nCol int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + var nU32 int32 = (((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + 33) / 32) + var ii int32 + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = Xsqlite3_malloc(tls, (int32(uint32(nU32) * uint32(unsafe.Sizeof(U32(0)))))) + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_NOMEM + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0, (uint32(nU32) * uint32(unsafe.Sizeof(U32(0))))) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_CORRUPT + for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ { + if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(ii)))*4)) != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((ii/32))*4)) |= (U32(int32(1) << (ii % 32))) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + if bPatchset != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((nCol/32))*4)) |= (U32(int32(1) << (nCol % 32))) + } + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp != 0 { + var nUp int32 = 0 + var pp uintptr = (p + 32 /* &.pUp */) + for 1 != 0 { + nUp++ + if 0 == libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaMask, (uint32(nU32)*uint32(unsafe.Sizeof(U32(0))))) { + pUp = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + break + } + + if (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext != 0 { + pp = (*(*uintptr)(unsafe.Pointer(pp)) + 8 /* &.pNext */) + } else { + if nUp >= SESSION_UPDATE_CACHE_SZ { + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpStmt) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pp))) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + } + break + } + } + } + + if pUp == uintptr(0) { + var nByte int32 = (int32((uint32(unsafe.Sizeof(SessionUpdate{})) * uint32(nU32)) * uint32(unsafe.Sizeof(U32(0))))) + var bStat1 int32 = (libc.Bool32(Xsqlite3_stricmp(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, ts+10072 /* "sqlite_stat1" */) == 0)) + pUp = Xsqlite3_malloc(tls, nByte) + if pUp == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_NOMEM + } else { + var zSep uintptr = ts + 755 /* "" */ + // var buf SessionBuffer at bp, 12 + + libc.Xmemset(tls, bp /* &buf */, 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + (*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 /* &buf */, ts+31109 /* "UPDATE main." */, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31122 /* " SET " */, bp+12 /* &rc */) + + // Create the assignments part of the UPDATE + 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 /* &buf */, zSep, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31128 /* " = ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+12 /* &rc */) + zSep = ts + 13324 /* ", " */ + } + } + + // Create the WHERE clause part of the UPDATE + zSep = ts + 755 /* "" */ + sessionAppendStr(tls, bp /* &buf */, ts+31057 /* " WHERE " */, bp+12 /* &rc */) + 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 /* &buf */, zSep, bp+12 /* &rc */) + if (bStat1 != 0) && (ii == 1) { + + sessionAppendStr(tls, bp, /* &buf */ + + ts+31133 /* "idx IS CASE WHEN..." */, bp+12 /* &rc */) + } else { + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31065 /* " IS ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 2), bp+12 /* &rc */) + } + zSep = ts + 19877 /* " AND " */ + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + var zSql uintptr = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_prepare_v2(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, zSql, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (pUp /* &.pStmt */), uintptr(0)) + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, pUp) + pUp = uintptr(0) + } else { + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + } + } + } + + if pUp != 0 { + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt + } else { + *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) + } + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Free all cached UPDATE statements. +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:210530:13: */ + var pUp uintptr + var pNext uintptr + for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { + pNext = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt) + Xsqlite3_free(tls, pUp) + } + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = uintptr(0) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask) + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = uintptr(0) +} + +// Formulate a statement to DELETE a row from database db. Assuming a table +// structure like this: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The DELETE statement looks like this: +// +// DELETE FROM x WHERE a = :1 AND c = :3 AND (:5 OR b IS :2 AND d IS :4) +// +// Variable :5 (nCol+1) is a boolean. It should be set to 0 if we require +// matching b and d values, or 1 otherwise. The second case comes up if the +// conflict handler is invoked with NOTFOUND and returns CHANGESET_REPLACE. +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left +// pointing to the prepared version of the SQL statement. +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210560:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var i int32 + var zSep uintptr = ts + 755 /* "" */ + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var nPk int32 = 0 + + sessionAppendStr(tls, bp /* &buf */, ts+31208 /* "DELETE FROM main..." */, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31057 /* " WHERE " */, bp+12 /* &rc */) + + 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 /* &buf */, zSep, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31128 /* " = ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+12 /* &rc */) + zSep = ts + 19877 /* " AND " */ + } + } + + if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { + sessionAppendStr(tls, bp /* &buf */, ts+31226 /* " AND (?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((*SessionApplyCtx)(unsafe.Pointer(p)).FnCol + 1), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+30769 /* " OR " */, bp+12 /* &rc */) + + zSep = ts + 755 /* "" */ + 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 /* &buf */, zSep, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31065 /* " IS ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+12 /* &rc */) + zSep = ts + 31234 /* "AND " */ + } + } + sessionAppendStr(tls, bp /* &buf */, ts+4066 /* ")" */, bp+12 /* &rc */) + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 4 /* &.pDelete */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Formulate and prepare an SQL statement to query table zTab by primary +// key. Assuming the following table structure: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The SELECT statement looks like this: +// +// SELECT * FROM x WHERE a = ?1 AND c = ?3 +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left +// pointing to the prepared version of the SQL statement. +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210625:12: */ + return sessionSelectStmt(tls, + db, ts+5458 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 12 /* &.pSelect */)) +} + +// Formulate and prepare an INSERT statement to add a record to table zTab. +// For example: +// +// INSERT INTO main."zTab" VALUES(?1, ?2, ?3 ...); +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left +// pointing to the prepared version of the SQL statement. +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210643:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + var i int32 + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp /* &buf */, ts+31239 /* "INSERT INTO main..." */, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+19883 /* "(" */, bp+12 /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + if i != 0 { + sessionAppendStr(tls, bp /* &buf */, ts+13324 /* ", " */, bp+12 /* &rc */) + } + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12 /* &rc */) + } + + sessionAppendStr(tls, bp /* &buf */, ts+31257 /* ") VALUES(?" */, bp+12 /* &rc */) + for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + sessionAppendStr(tls, bp /* &buf */, ts+31268 /* ", ?" */, bp+12 /* &rc */) + } + sessionAppendStr(tls, bp /* &buf */, ts+4066 /* ")" */, bp+12 /* &rc */) + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 8 /* &.pInsert */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:210673:12: */ + return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) +} + +// Prepare statements for applying changes to the sqlite_stat1 table. +// These are similar to those created by sessionSelectRow(), +// sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for +// other tables. +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:210683:12: */ + var rc int32 = sessionSelectRow(tls, db, ts+10072 /* "sqlite_stat1" */, p) + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 8 /* &.pInsert */), + + ts+31272 /* "INSERT INTO main..." */) + } + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 4 /* &.pDelete */), + + ts+31385 /* "DELETE FROM main..." */) + } + return rc +} + +// A wrapper around sqlite3_bind_value() that detects an extra problem. +// See comments in the body of this function for details. +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:210706:12: */ + var eType int32 = Xsqlite3_value_type(tls, pVal) + // COVERAGE: The (pVal->z==0) branch is never true using current versions + // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either + // the (pVal->z) variable remains as it was or the type of the value is + // set to SQLITE_NULL. + if ((eType == SQLITE_TEXT) || (eType == SQLITE_BLOB)) && ((*Sqlite3_value)(unsafe.Pointer(pVal)).Fz == uintptr(0)) { + // This condition occurs when an earlier OOM in a call to + // sqlite3_value_text() or sqlite3_value_blob() (perhaps from within + // a conflict-handler) has zeroed the pVal->z pointer. Return NOMEM. + return SQLITE_NOMEM + } + return Xsqlite3_bind_value(tls, pStmt, i, pVal) +} + +// Iterator pIter must point to an SQLITE_INSERT entry. This function +// transfers new.* values from the current iterator entry to statement +// pStmt. The table being inserted into has nCol columns. +// +// New.* value $i from the iterator is bound to variable ($i+1) of +// statement pStmt. If parameter abPK is NULL, all values from 0 to (nCol-1) +// are transfered to the statement. Otherwise, if abPK is not NULL, it points +// to an array nCol elements in size. In this case only those values for +// which abPK[$i] is true are read from the iterator and bound to the +// statement. +// +// An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK. +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:210739:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var i int32 + var rc int32 = SQLITE_OK + + // Neither sqlite3changeset_old or sqlite3changeset_new can fail if the + // argument iterator points to a suitable entry. Make sure that xValue + // is one of these to guarantee that it is safe to ignore the return + // in the code below. + + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + // var pVal uintptr at bp, 4 + + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { + // The value in the changeset was "undefined". This indicates a + // corrupt changeset blob. + rc = Xsqlite3CorruptError(tls, 210762) + } else { + rc = sessionBindValue(tls, pStmt, (i + 1), *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + } + } + return rc +} + +// SQL statement pSelect is as generated by the sessionSelectRow() function. +// This function binds the primary key values from the change that changeset +// iterator pIter points to to the SELECT and attempts to seek to the table +// entry. If a row is found, the SELECT statement left pointing at the row +// and SQLITE_ROW is returned. Otherwise, if no row is found and no error +// has occured, the statement is reset and SQLITE_OK is returned. If an +// error occurs, the statement is reset and an SQLite error code is returned. +// +// If this function returns SQLITE_ROW, the caller must eventually reset() +// statement pSelect. If any other value is returned, the statement does +// not require a reset(). +// +// If the iterator currently points to an INSERT record, bind values from the +// new.* record to the SELECT statement. Or, if it points to a DELETE or +// UPDATE, bind values from the old.* record. +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:210788:12: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + var rc int32 // Return code + // var nCol int32 at bp+4, 4 + // Number of columns in table + // var op int32 at bp+8, 4 + // Changset operation (SQLITE_UPDATE etc.) + // var zDummy uintptr at bp, 4 + // Unused + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + rc = sessionBindRow(tls, pIter, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_INSERT { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})) + } + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})) + }(), + *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), abPK, pSelect) + + if rc == SQLITE_OK { + rc = Xsqlite3_step(tls, pSelect) + if rc != SQLITE_ROW { + rc = Xsqlite3_reset(tls, pSelect) + } + } + + return rc +} + +// This function is called from within sqlite3changeset_apply_v2() when +// a conflict is encountered and resolved using conflict resolution +// mode eType (either SQLITE_CHANGESET_OMIT or SQLITE_CHANGESET_REPLACE).. +// It adds a conflict resolution record to the buffer in +// SessionApplyCtx.rebase, which will eventually be returned to the caller +// of apply_v2() as the "rebase" buffer. +// +// Return SQLITE_OK if successful, or an SQLite error code otherwise. +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:210823:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebase != 0 { + var i int32 + var eOp int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + if int32((*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted) == 0 { + // Append a table-header to the rebase buffer + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + sessionAppendByte(tls, (p + 60 /* &.rebase */), uint8('T'), bp /* &rc */) + sessionAppendVarint(tls, (p + 60 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 60 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 60 /* &.rebase */), zTab, (int32(libc.Xstrlen(tls, zTab)) + 1), bp /* &rc */) + (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted = U8(1) + } + + sessionAppendByte(tls, (p + 60 /* &.rebase */), + func() uint8 { + if eOp == SQLITE_DELETE { + return uint8(SQLITE_DELETE) + } + return uint8(SQLITE_INSERT) + }(), bp /* &rc */) + sessionAppendByte(tls, (p + 60 /* &.rebase */), (uint8(libc.Bool32(eType == SQLITE_CHANGESET_REPLACE))), bp /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + *(*uintptr)(unsafe.Pointer(bp + 4 /* pVal */)) = uintptr(0) + if (eOp == SQLITE_DELETE) || ((eOp == SQLITE_UPDATE) && (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0)) { + Xsqlite3changeset_old(tls, pIter, i, bp+4 /* &pVal */) + } else { + Xsqlite3changeset_new(tls, pIter, i, bp+4 /* &pVal */) + } + sessionAppendValue(tls, (p + 60 /* &.rebase */), *(*uintptr)(unsafe.Pointer(bp + 4 /* pVal */)), bp /* &rc */) + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Invoke the conflict handler for the change that the changeset iterator +// currently points to. +// +// Argument eType must be either CHANGESET_DATA or CHANGESET_CONFLICT. +// If argument pbReplace is NULL, then the type of conflict handler invoked +// depends solely on eType, as follows: +// +// eType value Value passed to xConflict +// ------------------------------------------------- +// CHANGESET_DATA CHANGESET_NOTFOUND +// CHANGESET_CONFLICT CHANGESET_CONSTRAINT +// +// Or, if pbReplace is not NULL, then an attempt is made to find an existing +// record with the same primary key as the record about to be deleted, updated +// or inserted. If such a record can be found, it is available to the conflict +// handler as the "conflicting" record. In this case the type of conflict +// handler invoked is as follows: +// +// eType value PK Record found? Value passed to xConflict +// ---------------------------------------------------------------- +// CHANGESET_DATA Yes CHANGESET_DATA +// CHANGESET_DATA No CHANGESET_NOTFOUND +// CHANGESET_CONFLICT Yes CHANGESET_CONFLICT +// CHANGESET_CONFLICT No CHANGESET_CONSTRAINT +// +// If pbReplace is not NULL, and a record with a matching PK is found, and +// the conflict handler function returns SQLITE_CHANGESET_REPLACE, *pbReplace +// is set to non-zero before returning SQLITE_OK. +// +// If the conflict handler returns SQLITE_CHANGESET_ABORT, SQLITE_ABORT is +// returned. Or, if the conflict handler returns an invalid value, +// SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT, +// this function returns SQLITE_OK. +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:210897:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var res int32 = 0 // Value returned by conflict handler + // var rc int32 at bp+12, 4 + + // var nCol int32 at bp+4, 4 + + // var op int32 at bp+8, 4 + + // var zDummy uintptr at bp, 4 + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + + // Bind the new.* PRIMARY KEY values to the SELECT statement. + if pbReplace != 0 { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_ROW { + // There exists another row with the new.* primary key. + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + if ((*SessionApplyCtx)(unsafe.Pointer(p)).FbDeferConstraints != 0) && (eType == SQLITE_CHANGESET_CONFLICT) { + // Instead of invoking the conflict handler, append the change blob + // to the SessionApplyCtx.constraints buffer. + var aBlob uintptr = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent)) + var nBlob int32 = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent) + sessionAppendBlob(tls, (p + 48 /* &.constraints */), aBlob, nBlob, bp+12 /* &rc */) + return SQLITE_OK + } else { + // No other row with the new.* primary key. + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + if res == SQLITE_CHANGESET_REPLACE { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_MISUSE + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + switch res { + case SQLITE_CHANGESET_REPLACE: + + *(*int32)(unsafe.Pointer(pbReplace)) = 1 + break + fallthrough + + case SQLITE_CHANGESET_OMIT: + break + fallthrough + + case SQLITE_CHANGESET_ABORT: + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_ABORT + break + fallthrough + + default: + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_MISUSE + break + } + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = sessionRebaseAdd(tls, p, res, pIter) + } + } + + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// If argument pbRetry is NULL, then ignore any CHANGESET_DATA conflict. If +// one is encountered, update or delete the row with the matching primary key +// instead. Or, if pbRetry is not NULL and a CHANGESET_DATA conflict occurs, +// invoke the conflict handler. If it returns CHANGESET_REPLACE, set *pbRetry +// to true before returning. In this case the caller will invoke this function +// again, this time with pbRetry set to NULL. +// +// If argument pbReplace is NULL and a CHANGESET_CONFLICT conflict is +// encountered invoke the conflict handler with CHANGESET_CONSTRAINT instead. +// Or, if pbReplace is not NULL, invoke it with CHANGESET_CONFLICT. If such +// an invocation returns SQLITE_CHANGESET_REPLACE, set *pbReplace to true +// before retrying. In this case the caller attempts to remove the conflicting +// row before invoking this function again, this time with pbReplace set +// to NULL. +// +// If any conflict handler returns SQLITE_CHANGESET_ABORT, this function +// returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is +// returned. +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:210995:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + // var zDummy uintptr at bp, 4 + + // var op int32 at bp+8, 4 + + // var nCol int32 at bp+4, 4 + + var rc int32 = SQLITE_OK + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_DELETE { + + // Bind values to the DELETE statement. If conflict handling is required, + // bind values for all columns and set bound variable (nCol+1) to true. + // Or, if conflict handling is not required, bind just the PK column + // values and, if it exists, set (nCol+1) to false. Conflict handling + // is not required if: + // + // * this is a patchset, or + // * (pbRetry==0), or + // * all columns of the table are PK columns (in this case there is + // no (nCol+1) variable to bind to). + var abPK uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + } + return uintptr(0) + }() + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})), *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), abPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_bind_parameter_count(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) > *(*int32)(unsafe.Pointer(bp + 4 /* nCol */))) { + rc = Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete, (*(*int32)(unsafe.Pointer(bp + 4 /* nCol */)) + 1), (libc.Bool32((pbRetry == uintptr(0)) || (abPK != 0)))) + } + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_UPDATE { + var i int32 + *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */)) = uintptr(0) + var bPatchset int32 = (libc.Bool32((pbRetry == uintptr(0)) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0))) + + rc = sessionUpdateFind(tls, pIter, p, bPatchset, bp+12 /* &pUp */) + + // Bind values to the UPDATE statement. + for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */))); i++ { + var pOld uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(i)*4)) + var pNew uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(i)))*4)) + if (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) || ((bPatchset == 0) && (pOld != 0)) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */)), ((i * 2) + 2), pOld) + } + if (rc == SQLITE_OK) && (pNew != 0) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */)), ((i * 2) + 1), pNew) + } + } + if rc != SQLITE_OK { + return rc + } + + // Attempt the UPDATE. In the case of a NOTFOUND or DATA conflict, + // the result will be SQLITE_OK with 0 rows modified. + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */))) + + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + // A NOTFOUND or DATA error. Search the table to see if it contains + // a row with a matching primary key. If so, this is a DATA conflict. + // Otherwise, if there is no primary key match, it is a NOTFOUND. + + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + // This is always a CONSTRAINT conflict. + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else { + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbStat1 != 0 { + // Check if there is a conflicting row. For sqlite_stat1, this needs + // to be done using a SELECT, as there is no PRIMARY KEY in the + // database schema to throw an exception if a duplicate is inserted. + rc = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + if rc == SQLITE_ROW { + rc = SQLITE_CONSTRAINT + Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } + } + + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), uintptr(0), (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + } + + if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace) + } + } + + return rc +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// The difference between this function and sessionApplyOne() is that this +// function handles the case where the conflict-handler is invoked and +// returns SQLITE_CHANGESET_REPLACE - indicating that the change should be +// retried in some manner. +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211128:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) = 0 + var rc int32 + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp /* &bReplace */, bp+4 /* &bRetry */) + if rc == SQLITE_OK { + // If the bRetry flag is set, the change has not been applied due to an + // SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and + // a row with the correct PK is present in the db, but one or more other + // fields do not contain the expected values) and the conflict handler + // returned SQLITE_CHANGESET_REPLACE. In this case retry the operation, + // but pass NULL as the final argument so that sessionApplyOneOp() ignores + // the SQLITE_CHANGESET_DATA problem. + if *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) != 0 { + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } else if *(*int32)(unsafe.Pointer(bp /* bReplace */)) != 0 { + + rc = Xsqlite3_exec(tls, db, ts+31529 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(0)) + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, ((*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + 1), 1) + } + if rc == SQLITE_OK { + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + } + if rc == SQLITE_OK { + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+31550 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + } + + return rc +} + +// Retry the changes accumulated in the pApply->constraints buffer. +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211185:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = SQLITE_OK + + for (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf != 0 { + *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) = uintptr(0) + var cons = (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints + libc.Xmemset(tls, (pApply + 48 /* &.constraints */), 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetStart(tls, + bp /* &pIter2 */, uintptr(0), uintptr(0), cons.FnBuf, cons.FaBuf, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbInvertConstraints, 1) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte Size_t = ((uint32(2 * (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol)) * uint32(unsafe.Sizeof(uintptr(0)))) + var rc2 int32 + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FbPatchset = bPatchset + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FzTab = zTab + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FnCol = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FabPK = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK + sessionBufferGrow(tls, (*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) + 44 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).Ftblhdr.FaBuf + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0, nByte) + } + + for (*(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))) { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)), pApply, xConflict, pCtx) + } + + rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */))) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = rc2 + } + } + + Xsqlite3_free(tls, cons.FaBuf) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) != SQLITE_OK { + break + } + if (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf >= cons.FnBuf { + // No progress was made on the last round. + (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbDeferConstraints = 0 + } + } + + return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) +} + +// Argument pIter is a changeset iterator that has been initialized, but +// not yet passed to sqlite3changeset_next(). This function applies the +// changeset to the main database attached to handle "db". The supplied +// conflict handler callback is invoked to resolve any conflicts encountered +// while applying the change. +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ + bp := tls.Alloc(252) + defer tls.Free(252) + + var schemaMismatch int32 = 0 + var rc int32 = SQLITE_OK // Return code + *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) = uintptr(0) // Name of current table + var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) + // var sApply SessionApplyCtx at bp+48, 76 + // changeset_apply() context object + var bPatchset int32 + + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 + libc.Xmemset(tls, bp+48 /* &sApply */, 0, uint32(unsafe.Sizeof(SessionApplyCtx{}))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).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+31569 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+31595 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + } + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { + // var nCol int32 at bp+128, 4 + + // var op int32 at bp+132, 4 + + // var zNew uintptr at bp+124, 4 + + Xsqlite3changeset_op(tls, pIter, bp+124 /* &zNew */, bp+128 /* &nCol */, bp+132 /* &op */, uintptr(0)) + + if (*(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+136, 4 + + rc = sessionRetryConstraints(tls, + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + if rc != SQLITE_OK { + break + } + + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebaseStarted = U8(0) + libc.Xmemset(tls, (bp + 48 /* &sApply */ + 48 /* &.constraints */), 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + + // If an xFilter() callback was specified, invoke it now. If the + // xFilter callback returns zero, skip this table. If it returns + // non-zero, proceed. + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)))))) + if schemaMismatch != 0 { + *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) == uintptr(0) { + rc = SQLITE_NOMEM + break + } + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) + } else { + var nMinCol int32 = 0 + var i int32 + + Xsqlite3changeset_pk(tls, pIter, bp+136 /* &abPK */, uintptr(0)) + rc = sessionTableInfo(tls, uintptr(0), + db, ts+5458 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)), (bp + 48 /* &sApply */ + 16 /* &.nCol */), bp+140 /* &zTab */, (bp + 48 /* &sApply */ + 20 /* &.azCol */), (bp + 48 /* &sApply */ + 24 /* &.abPK */)) + if rc != SQLITE_OK { + break + } + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK + uintptr(i))) != 0 { + nMinCol = (i + 1) + } + } + + if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+31625 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 128 /* nCol */)) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + + ts+31669, /* "sqlite3changeset..." */ + libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 128 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 128 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 136 /* abPK */)), uint32(*(*int32)(unsafe.Pointer(bp + 128 /* nCol */)))) != 0) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+31740 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)))) + } else { + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 128 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), ts+10072 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+48 /* &sApply */)) != 0 { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 1 + } else { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */)) != 0) { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + } + } + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */))) + } + } + + // If there is a schema mismatch on the current table, proceed to the + // next change. A log message has already been issued. + if schemaMismatch != 0 { + continue + } + + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+48 /* &sApply */, xConflict, pCtx) + } + + bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + if rc == SQLITE_OK { + rc = Xsqlite3changeset_finalize(tls, pIter) + } else { + Xsqlite3changeset_finalize(tls, pIter) + } + + if rc == SQLITE_OK { + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + } + + if rc == SQLITE_OK { + // var nFk int32 at bp+144, 4 + + // var notUsed int32 at bp+148, 4 + + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+144 /* &nFk */, bp+148 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 144 /* nFk */)) != 0 { + var res int32 = SQLITE_CHANGESET_ABORT + // var sIter Sqlite3_changeset_iter at bp+152, 100 + + libc.Xmemset(tls, bp+152 /* &sIter */, 0, uint32(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 152 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 144 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+152 /* &sIter */) + if res != SQLITE_CHANGESET_OMIT { + rc = SQLITE_CONSTRAINT + } + } + } + Xsqlite3_exec(tls, db, ts+31800 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + + if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+31830 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } else { + Xsqlite3_exec(tls, db, ts+31854 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, ts+31830 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf = uintptr(0) + } + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Frebase.FaBuf) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main +// database attached to handle "db". +func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211439:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator to skip through changeset + var bInv int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211472:16: */ + return Xsqlite3changeset_apply_v2(tls, + db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// Apply the changeset passed via xInput/pIn to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211497:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator to skip through changeset + var bInverse int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, xInput, pIn, 0, uintptr(0), bInverse, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211524:16: */ + return Xsqlite3changeset_apply_v2_strm(tls, + db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// This function is called to merge two changes to the same row together as +// part of an sqlite3changeset_concat() operation. A new change object is +// allocated and a pointer to it stored in *ppNew. +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:211558:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var pNew uintptr = uintptr(0) + var rc int32 = SQLITE_OK + + if !(pExist != 0) { + pNew = Xsqlite3_malloc64(tls, (uint64(uint32(unsafe.Sizeof(SessionChange{})) + uint32(nRec)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = U8(bIndirect) + (*SessionChange)(unsafe.Pointer(pNew)).FaRecord = (pNew + 1*20) + if (bIndirect == 0) || (bRebase == 0) { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = nRec + libc.Xmemcpy(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, aRec, uint32(nRec)) + } else { + var i int32 + var pIn uintptr = aRec + var pOut uintptr = (*SessionChange)(unsafe.Pointer(pNew)).FaRecord + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var nIn int32 = sessionSerialLen(tls, pIn) + if int32(*(*U8)(unsafe.Pointer(pIn))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } else if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else { + libc.Xmemcpy(tls, pOut, pIn, uint32(nIn)) + pOut += uintptr(nIn) + } + pIn += uintptr(nIn) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = ((int32(pOut) - int32((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1) + } + } else if bRebase != 0 { + if (int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) == SQLITE_DELETE) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0) { + *(*uintptr)(unsafe.Pointer(ppNew)) = pExist + } else { + var nByte Sqlite3_int64 = (Sqlite3_int64((uint32(nRec + (*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint32(unsafe.Sizeof(SessionChange{})))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var i int32 + var a1 uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var a2 uintptr = aRec + var pOut uintptr + + libc.Xmemset(tls, pNew, 0, uint32(nByte)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) || ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + pOut = libc.AssignPtrUintptr(pNew+12 /* &.aRecord */, (pNew + 1*20)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) || ((int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0) && (bIndirect != 0)) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else if int32(*(*U8)(unsafe.Pointer(a2))) == 0 { + libc.Xmemcpy(tls, pOut, a1, uint32(n1)) + pOut += uintptr(n1) + } else { + libc.Xmemcpy(tls, pOut, a2, uint32(n2)) + pOut += uintptr(n2) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = ((int32(pOut) - int32((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1) + } + Xsqlite3_free(tls, pExist) + } + } else { + var op1 int32 = int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) + + // op1=INSERT, op2=INSERT -> Unsupported. Discard op2. + // op1=INSERT, op2=UPDATE -> INSERT. + // op1=INSERT, op2=DELETE -> (none) + // + // op1=UPDATE, op2=INSERT -> Unsupported. Discard op2. + // op1=UPDATE, op2=UPDATE -> UPDATE. + // op1=UPDATE, op2=DELETE -> DELETE. + // + // op1=DELETE, op2=INSERT -> UPDATE. + // op1=DELETE, op2=UPDATE -> Unsupported. Discard op2. + // op1=DELETE, op2=DELETE -> Unsupported. Discard op2. + if ((((op1 == SQLITE_INSERT) && (op2 == SQLITE_INSERT)) || + ((op1 == SQLITE_UPDATE) && (op2 == SQLITE_INSERT))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_UPDATE))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_DELETE)) { + pNew = pExist + } else if (op1 == SQLITE_INSERT) && (op2 == SQLITE_DELETE) { + Xsqlite3_free(tls, pExist) + + } else { + var aExist uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var nByte Sqlite3_int64 + // var aCsr uintptr at bp+4, 4 + + // Allocate a new SessionChange object. Ensure that the aRecord[] + // buffer of the new object is large enough to hold any record that + // may be generated by combining the input records. + nByte = (Sqlite3_int64((uint32(unsafe.Sizeof(SessionChange{})) + uint32((*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint32(nRec))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if !(pNew != 0) { + Xsqlite3_free(tls, pExist) + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)) = libc.AssignPtrUintptr(pNew+12 /* &.aRecord */, (pNew + 1*20)) + + if op1 == SQLITE_INSERT { // INSERT + UPDATE + *(*uintptr)(unsafe.Pointer(bp /* a1 */)) = aRec + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_INSERT) + if bPatchset == 0 { + sessionSkipRecord(tls, bp /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + sessionMergeRecord(tls, bp+4 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aExist, *(*uintptr)(unsafe.Pointer(bp /* a1 */))) + } else if op1 == SQLITE_DELETE { // DELETE + INSERT + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)), aRec, uint32(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)) += uintptr(nRec) + } else { + if 0 == sessionMergeUpdate(tls, bp+4 /* &aCsr */, pTab, bPatchset, aExist, uintptr(0), aRec, uintptr(0)) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } + } else if op2 == SQLITE_UPDATE { // UPDATE + UPDATE + *(*uintptr)(unsafe.Pointer(bp + 8 /* a1 */)) = aExist + *(*uintptr)(unsafe.Pointer(bp + 12 /* a2 */)) = aRec + + if bPatchset == 0 { + sessionSkipRecord(tls, bp+8 /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + sessionSkipRecord(tls, bp+12 /* &a2 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if 0 == sessionMergeUpdate(tls, bp+4 /* &aCsr */, pTab, bPatchset, aRec, aExist, *(*uintptr)(unsafe.Pointer(bp + 8 /* a1 */)), *(*uintptr)(unsafe.Pointer(bp + 12 /* a2 */))) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } else { // UPDATE + DELETE + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_DELETE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)), aRec, uint32(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)) += uintptr(nRec) + } else { + sessionMergeRecord(tls, bp+4 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aRec, aExist) + } + } + + if pNew != 0 { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = ((int32(*(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */))) - int32((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1) + } + Xsqlite3_free(tls, pExist) + } + } + + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Add all changes in the changeset traversed by the iterator passed as +// the first argument to the changegroup hash tables. +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:211740:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aRec uintptr at bp, 4 + + // var nRec int32 at bp+4, 4 + + var rc int32 = SQLITE_OK + var pTab uintptr = uintptr(0) + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+4 /* &nRec */, uintptr(0)) { + // var zNew uintptr at bp+8, 4 + + // var nCol int32 at bp+12, 4 + + // var op int32 at bp+16, 4 + + var iHash int32 + // var bIndirect int32 at bp+20, 4 + + // var pChange uintptr at bp+28, 4 + + var pExist uintptr = uintptr(0) + var pp uintptr + + if (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = SQLITE_ERROR + break + } + + Xsqlite3changeset_op(tls, pIter, bp+8 /* &zNew */, bp+12 /* &nCol */, bp+16 /* &op */, bp+20 /* &bIndirect */) + if !(pTab != 0) || (Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)), (*SessionTable)(unsafe.Pointer(pTab)).FzName) != 0) { + // Search the list for a matching table + var nNew int32 = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)))) + // var abPK uintptr at bp+24, 4 + + Xsqlite3changeset_pk(tls, pIter, bp+24 /* &abPK */, uintptr(0)) + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)), (nNew+1)) { + break + } + } + if !(pTab != 0) { + var ppTab uintptr + + pTab = Xsqlite3_malloc64(tls, (uint64(((uint32(unsafe.Sizeof(SessionTable{})) + uint32(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) + uint32(nNew)) + uint32(1)))) + if !(pTab != 0) { + rc = SQLITE_NOMEM + break + } + libc.Xmemset(tls, pTab, 0, uint32(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 12 /* nCol */)) + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = (pTab + 1*36) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 24 /* abPK */)), uint32(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = ((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)), (uint32(nNew + 1))) + + // The new object must be linked on to the end of the list, not + // simply added to the start of it. This is to ensure that the + // tables within the output of sqlite3changegroup_output() are in + // the right order. + for ppTab = (pGrp + 8 /* &.pList */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } else if ((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp + 12 /* nCol */))) || (libc.Xmemcmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 24 /* abPK */)), uint32(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) != 0) { + rc = SQLITE_SCHEMA + break + } + } + + if sessionGrowHash(tls, uintptr(0), (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { + rc = SQLITE_NOMEM + break + } + iHash = int32(sessionChangeHash(tls, + pTab, (libc.Bool32(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0) && (*(*int32)(unsafe.Pointer(bp + 16 /* op */)) == SQLITE_DELETE))), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + // Search for existing entry. If found, remove it from the hash table. + // Code below may link it back in. + for pp = ((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = (*(*uintptr)(unsafe.Pointer(pp)) + 16 /* &.pNext */) { + var bPkOnly1 int32 = 0 + var bPkOnly2 int32 = 0 + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + bPkOnly1 = (libc.Bool32(int32((*SessionChange)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pp))))).Fop) == SQLITE_DELETE)) + bPkOnly2 = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 16 /* op */)) == SQLITE_DELETE)) + } + if sessionChangeEqual(tls, pTab, bPkOnly1, (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp /* aRec */))) != 0 { + pExist = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry-- + break + } + } + + rc = sessionChangeMerge(tls, pTab, bRebase, + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 16 /* op */)), *(*int32)(unsafe.Pointer(bp + 20 /* bIndirect */)), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+28 /* &pChange */) + if rc != 0 { + break + } + if *(*uintptr)(unsafe.Pointer(bp + 28 /* pChange */)) != 0 { + (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 28 /* pChange */)))).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)) = *(*uintptr)(unsafe.Pointer(bp + 28 /* pChange */)) + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + } + } + + if rc == SQLITE_OK { + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// Serialize a changeset (or patchset) based on all changesets (or patchsets) +// added to the changegroup object passed as the first argument. +// +// If xOutput is not NULL, then the changeset/patchset is returned to the +// user via one or more calls to xOutput, as with the other streaming +// interfaces. +// +// Or, if xOutput is NULL, then (*ppOut) is populated with a pointer to a +// buffer containing the output changeset before this function returns. In +// this case (*pnOut) is set to the size of the output buffer in bytes. It +// is the responsibility of the caller to free the output buffer using +// sqlite3_free() when it is no longer required. +// +// If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite +// error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut) +// are both set to 0 before returning. +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211863:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var pTab uintptr + + // Create the serialized output changeset based on the contents of the + // hash tables attached to the SessionTable objects in list p->pList. + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; (*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + var i int32 + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry == 0 { + continue + } + + sessionAppendTableHdr(tls, bp /* &buf */, (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch, pTab, bp+12 /* &rc */) + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); p != 0; p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).Fop, bp+12 /* &rc */) + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+12 /* &rc */) + sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+12 /* &rc */) + if ((*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 + } + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Allocate a new, empty, sqlite3_changegroup. +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:211914:16: */ + var rc int32 = SQLITE_OK // Return code + var p uintptr // New object + p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) + if p == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Sqlite3_changegroup{}))) + } + *(*uintptr)(unsafe.Pointer(pp)) = p + return rc +} + +// Add the changeset currently stored in buffer pData, size nData bytes, +// to changeset-group p. +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:211931:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nData, pData) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Obtain a buffer containing a changeset representing the concatenation +// of all changesets added to the group so far. +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:211947:16: */ + return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) +} + +// Streaming versions of changegroup_add(). +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:211958:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Streaming versions of changegroup_output(). +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:211977:16: */ + return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Delete a changegroup object. +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:211988:17: */ + if pGrp != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, pGrp) + } +} + +// Combine two changesets together. +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211998:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pGrp uintptr at bp, 4 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nLeft, pLeft) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nRight, pRight) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), pnOut, ppOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Streaming version of sqlite3changeset_concat(). +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212027:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pGrp uintptr at bp, 4 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputA, pInA) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputB, pInB) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xOutput, pOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Buffers a1 and a2 must both contain a sessions module record nCol +// fields in size. This function appends an nCol sessions module +// record to buffer pBuf that is a copy of a1, except that for +// each field that is undefined in a1[], swap in the field from a2[]. +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:212066:13: */ + sessionBufferGrow(tls, pBuf, (int64(n1 + n2)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var i int32 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + for i = 0; i < nCol; i++ { + var nn1 int32 = sessionSerialLen(tls, a1) + var nn2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0) || (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) { + libc.Xmemcpy(tls, pOut, a2, uint32(nn2)) + pOut += uintptr(nn2) + } else { + libc.Xmemcpy(tls, pOut, a1, uint32(nn1)) + pOut += uintptr(nn1) + } + a1 += uintptr(nn1) + a2 += uintptr(nn2) + } + + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = ((int32(pOut) - int32((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1) + + } +} + +// This function is called when rebasing a local UPDATE change against one +// or more remote UPDATE changes. The aRec/nRec buffer contains the current +// old.* and new.* records for the change. The rebase buffer (a single +// record) is in aChange/nChange. The rebased change is appended to buffer +// pBuf. +// +// Rebasing the UPDATE involves: +// +// * Removing any changes to fields for which the corresponding field +// in the rebase buffer is set to "replaced" (type 0xFF). If this +// means the UPDATE change updates no fields, nothing is appended +// to the output buffer. +// +// * For each field modified by the local change for which the +// corresponding field in the rebase buffer is not "undefined" (0x00) +// or "replaced" (0xFF), the old.* value is replaced by the value +// in the rebase buffer. +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:212115:13: */ + sessionBufferGrow(tls, pBuf, (int64((2 + nRec) + nChange)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var bData int32 = 0 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + var i int32 + var a1 uintptr = aRec + var a2 uintptr = aChange + + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(SQLITE_UPDATE) + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect) + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) == 0) { + if !(int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i)))) != 0) && (*(*U8)(unsafe.Pointer(a1)) != 0) { + bData = 1 + } + libc.Xmemcpy(tls, pOut, a1, uint32(n1)) + pOut += uintptr(n1) + } else if int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF { + bData = 1 + libc.Xmemcpy(tls, pOut, a2, uint32(n2)) + pOut += uintptr(n2) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + if bData != 0 { + a2 = aChange + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF) { + libc.Xmemcpy(tls, pOut, a1, uint32(n1)) + pOut += uintptr(n1) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = ((int32(pOut) - int32((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1) + } + } +} + +// pIter is configured to iterate through a changeset. This function rebases +// that changeset according to the current configuration of the rebaser +// object passed as the first argument. If no error occurs and argument xOutput +// is not NULL, then the changeset is returned to the caller by invoking +// xOutput zero or more times and SQLITE_OK returned. Or, if xOutput is NULL, +// then (*ppOut) is set to point to a buffer containing the rebased changeset +// before this function returns. In this case (*pnOut) is set to the size of +// the buffer in bytes. It is the responsibility of the caller to eventually +// free the (*ppOut) buffer using sqlite3_free(). +// +// If an error occurs, an SQLite error code is returned. If ppOut and +// pnOut are not NULL, then the two output parameters are set to 0 before +// returning. +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212183:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp /* aRec */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)) = 0 + *(*int32)(unsafe.Pointer(bp + 8 /* bNew */)) = 0 + var pTab uintptr = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 12 /* sOut */)) = SessionBuffer{} + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+4 /* &nRec */, bp+8 /* &bNew */) { + var pChange uintptr = uintptr(0) + var bDone int32 = 0 + + if *(*int32)(unsafe.Pointer(bp + 8 /* bNew */)) != 0 { + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + for pTab = (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_stricmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zTab) { + break + } + } + *(*int32)(unsafe.Pointer(bp + 8 /* bNew */)) = 0 + + // A patchset may not be rebased + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_ERROR + } + + // Append a table header to the output for this new table + sessionAppendByte(tls, bp+12 /* &sOut */, func() uint8 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), bp+24 /* &rc */) + sessionAppendVarint(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, (int32(libc.Xstrlen(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab)) + 1), bp+24 /* &rc */) + } + + if (pTab != 0) && (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) { + var iHash int32 = int32(sessionChangeHash(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + for pChange = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)); pChange != 0; pChange = (*SessionChange)(unsafe.Pointer(pChange)).FpNext { + if sessionChangeEqual(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), 0, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord) != 0 { + break + } + } + } + + if pChange != 0 { + + switch (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop { + case SQLITE_INSERT: + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + sessionAppendByte(tls, bp+12 /* &sOut */, uint8(SQLITE_UPDATE), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */) + } + } + break + fallthrough + + case SQLITE_UPDATE: + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_DELETE { + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + *(*uintptr)(unsafe.Pointer(bp + 28 /* pCsr */)) = *(*uintptr)(unsafe.Pointer(bp /* aRec */)) + sessionSkipRecord(tls, bp+28 /* &pCsr */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8(SQLITE_INSERT), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendRecordMerge(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + *(*uintptr)(unsafe.Pointer(bp + 28 /* pCsr */)), (*(*int32)(unsafe.Pointer(bp + 4 /* nRec */)) - ((int32(*(*uintptr)(unsafe.Pointer(bp + 28 /* pCsr */))) - int32(*(*uintptr)(unsafe.Pointer(bp /* aRec */)))) / 1)), + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+24 /* &rc */) + } + } else { + sessionAppendPartialUpdate(tls, bp+12 /* &sOut */, pIter, + *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+24 /* &rc */) + } + break + fallthrough + + default: + + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + sessionAppendByte(tls, bp+12 /* &sOut */, uint8(SQLITE_DELETE), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendRecordMerge(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */) + } + break + } + } + + if bDone == 0 { + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */) + } + if ((*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FnBuf = 0 + } + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0 { + break + } + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf) + libc.Xmemset(tls, bp+12 /* &sOut */, 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Create a new rebaser object. +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:212315:16: */ + var rc int32 = SQLITE_OK + var pNew uintptr + + pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_rebaser{}))) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(Sqlite3_rebaser{}))) + } + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Call this one or more times to configure a rebaser. +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:212332:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator opened on pData/nData + var rc int32 // Return code + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nRebase, pRebase) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), (p /* &.grp */), 1) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212349:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start(tls, bp /* &pIter */, nIn, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), uintptr(0), uintptr(0), pnOut, ppOut) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212368:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Destroy a rebaser object +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:212389:17: */ + if p != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, p) + } +} + +// Global configuration +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:212399:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_CONFIG_STRMSIZE: + { + var pInt uintptr = pArg + if *(*int32)(unsafe.Pointer(pInt)) > 0 { + sessions_strm_chunk_size = *(*int32)(unsafe.Pointer(pInt)) + } + *(*int32)(unsafe.Pointer(pInt)) = sessions_strm_chunk_size + break + + } + default: + rc = SQLITE_MISUSE + break + } + return rc +} + //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -164220,71 +170386,6 @@ type Fts5Global1 = struct { FpCsr uintptr } /* sqlite3.c:213118:9 */ -//************************************************************************ - -//************* End of sqlite3rbu.c ***************************************** -//************* Begin file dbstat.c ***************************************** -// 2010 July 12 -// -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: -// -// May you do good and not evil. -// May you find forgiveness for yourself and forgive others. -// May you share freely, never taking more than you give. -// -// -// -// This file contains an implementation of the "dbstat" virtual table. -// -// The dbstat virtual table is used to extract low-level storage -// information from an SQLite database in order to implement the -// "sqlite3_analyzer" utility. See the ../tool/spaceanal.tcl script -// for an example implementation. -// -// Additional information is available on the "dbstat.html" page of the -// official SQLite documentation. - -// #include "sqliteInt.h" ** Requires access to internal data structures ** - -//************* End of dbstat.c ********************************************* -//************* Begin file dbpage.c ***************************************** -// 2017-10-11 -// -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: -// -// May you do good and not evil. -// May you find forgiveness for yourself and forgive others. -// May you share freely, never taking more than you give. -// -// -// -// This file contains an implementation of the "sqlite_dbpage" virtual table. -// -// The sqlite_dbpage virtual table is used to read or write whole raw -// pages of the database file. The pager interface is used so that -// uncommitted changes and changes recorded in the WAL file are correctly -// retrieved. -// -// Usage example: -// -// SELECT data FROM sqlite_dbpage('aux1') WHERE pgno=123; -// -// This is an eponymous virtual table so it does not need to be created before -// use. The optional argument to the sqlite_dbpage() table name is the -// schema for the database file that is to be read. The default schema is -// "main". -// -// The data field of sqlite_dbpage table can be updated. The new -// value must be a BLOB which is the correct page size, otherwise the -// update fails. Rows may not be deleted or inserted. - -// #include "sqliteInt.h" ** Requires access to internal data structures ** - -//************* End of dbpage.c ********************************************* -//************* Begin file sqlite3session.c ********************************* - //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -165098,7 +171199,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+30529 /* "fts5: parser sta..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+31882 /* "fts5: parser sta..." */, 0) //******* End %stack_overflow code ******************************************* (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument var @@ -165421,7 +171522,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+30557 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) + pParse, ts+31910 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) //*********** End %syntax_error code ***************************************** (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument variable @@ -165720,7 +171821,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+30588 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+31941 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } @@ -165794,7 +171895,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 30595 /* "wrong number of ..." */ + var zErr uintptr = ts + 31948 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -165960,7 +172061,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 740 /* "" */ + return ts + 755 /* "" */ } // Implementation of snippet() function. @@ -165987,7 +172088,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 30645 /* "wrong number of ..." */ + var zErr uintptr = ts + 31998 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -166328,13 +172429,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 defer tls.Free(48) *(*[3]Builtin)(unsafe.Pointer(bp /* aBuiltin */)) = [3]Builtin{ - {FzFunc: ts + 30693 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32046 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5SnippetFunction}))}, - {FzFunc: ts + 30701 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32054 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5HighlightFunction}))}, - {FzFunc: ts + 30711 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32064 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5Bm25Function}))}, } @@ -166828,7 +172929,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+5243 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+5258 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -167006,7 +173107,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, ts+30716 /* "prefix" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32069 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint32(unsafe.Sizeof(int32(0))) * uint32(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 @@ -167033,14 +173134,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+30723 /* "malformed prefix..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32076 /* "malformed prefix..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+30754 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) + ts+32107 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -167051,7 +173152,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30787 /* "prefix length ou..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32140 /* "prefix length ou..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -167064,7 +173165,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30824 /* "tokenize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32177 /* "tokenize" */, 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 /* &rc */, (Sqlite3_int64(unsafe.Sizeof(uintptr(0))) * nArg)) @@ -167073,7 +173174,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+30833 /* "multiple tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32186 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { @@ -167092,7 +173193,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30866 /* "parse error in t..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32219 /* "parse error in t..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, @@ -167107,14 +173208,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30900 /* "content" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32253 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30908 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32261 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = 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 /* &rc */, ts+30940 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40 /* &rc */, ts+32293 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } @@ -167122,9 +173223,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30946 /* "content_rowid" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32299 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30960 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32313 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, zArg, -1) @@ -167132,9 +173233,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30998 /* "columnsize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32351 /* "columnsize" */, 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+31009 /* "malformed column..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32362 /* "malformed column..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) @@ -167142,21 +173243,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+4174 /* "detail" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+4189 /* "detail" */, zCmd, nCmd) == 0 { *(*[4]Fts5Enum)(unsafe.Pointer(bp + 44 /* aDetail */)) = [4]Fts5Enum{ - {FzName: ts + 15813 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 15818 /* "full" */}, - {FzName: ts + 31044 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, + {FzName: ts + 15828 /* "none" */, FeVal: FTS5_DETAIL_NONE}, + {FzName: ts + 15833 /* "full" */}, + {FzName: ts + 32397 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } if libc.AssignPtrInt32(bp+40 /* rc */, fts5ConfigSetEnum(tls, bp+44 /* &aDetail[0] */, zArg, (pConfig+48 /* &.eDetail */))) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31052 /* "malformed detail..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32405 /* "malformed detail..." */, 0) } return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31083 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32436 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) return SQLITE_ERROR } @@ -167220,15 +173321,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+20482 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+14742 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31111 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) + if (0 == Xsqlite3_stricmp(tls, zCol, ts+20497 /* "rank" */)) || + (0 == Xsqlite3_stricmp(tls, zCol, ts+14757 /* "rowid" */)) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32464 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) rc = SQLITE_ERROR } else if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, ts+31141 /* "unindexed" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+32494 /* "unindexed" */) { *(*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+31151 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32504 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) rc = SQLITE_ERROR } } @@ -167246,13 +173347,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK *(*Fts5Buffer)(unsafe.Pointer(bp + 28 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+31182 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+32535 /* "T.%Q" */, 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 /* &rc */, bp+28 /* &buf */, ts+31187 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+32540 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+31194 /* ", T.c%d" */, libc.VaList(bp+16, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+32547 /* ", T.c%d" */, libc.VaList(bp+16, i)) } } } @@ -167300,8 +173401,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*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 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+20482 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31202 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+20497 /* "rank" */) == 0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32555 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } @@ -167334,7 +173435,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31231 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32584 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { @@ -167342,7 +173443,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*uintptr)(unsafe.Pointer(bp + 52 /* zTwo */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp + 52 /* zTwo */)) } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), pzErr) } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 44 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 52 /* zTwo */)), pzErr) @@ -167367,19 +173468,19 @@ 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 + 30900 /* "content" */ + zTail = ts + 32253 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 31251 /* "docsize" */ + zTail = ts + 32604 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+40 /* &rc */, ts+31259 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+40 /* &rc */, ts+32612 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+14742 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+14757 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -167428,18 +173529,18 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31270 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+32623 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 13309 /* ", " */ + return ts + 13324 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31286 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4)))) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+32639 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31293, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+20482 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+32646, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+20497 /* "rank" */)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -167579,7 +173680,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+31319 /* "pgsz" */) { + if 0 == Xsqlite3_stricmp(tls, zKey, ts+32672 /* "pgsz" */) { var pgsz int32 = 0 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -167589,7 +173690,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+31324 /* "hashsize" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32677 /* "hashsize" */) { var nHashSize int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -167599,7 +173700,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+31333 /* "automerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32686 /* "automerge" */) { var nAutomerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -167612,7 +173713,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+31343 /* "usermerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32696 /* "usermerge" */) { var nUsermerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -167622,7 +173723,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+31353 /* "crisismerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32706 /* "crisismerge" */) { var nCrisisMerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -167638,7 +173739,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+20482 /* "rank" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+20497 /* "rank" */) { var zIn uintptr = Xsqlite3_value_text(tls, pVal) // var zRank uintptr at bp, 4 @@ -167665,7 +173766,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(44) defer tls.Free(44) - var zSelect uintptr = ts + 31365 /* "SELECT k, v FROM..." */ + var zSelect uintptr = ts + 32718 /* "SELECT k, v FROM..." */ var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 36 /* p */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK @@ -167688,7 +173789,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 36 /* p */))) { var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 36 /* p */)), 0) var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 36 /* p */)), 1) - if 0 == Xsqlite3_stricmp(tls, zK, ts+31397 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+32750 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 40 /* bDummy */)) = 0 @@ -167703,7 +173804,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+31405, /* "invalid fts5 fil..." */ + ts+32758, /* "invalid fts5 fil..." */ libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } @@ -167837,7 +173938,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+31470 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+32823 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -167850,20 +173951,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+31490 /* "fts5: syntax err..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+32843 /* "fts5: syntax err..." */, 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+31521 /* "OR" */, uint32(2)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+32874 /* "OR" */, uint32(2)) == 0) { tok = FTS5_OR } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+31524 /* "NOT" */, uint32(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+32877 /* "NOT" */, uint32(3)) == 0) { tok = FTS5_NOT } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+28270 /* "AND" */, uint32(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+28285 /* "AND" */, uint32(3)) == 0) { tok = FTS5_AND } break @@ -169835,9 +175936,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli bp := tls.Alloc(16) defer tls.Free(16) - if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+31528 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0) { + if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+32881 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0) { sqlite3Fts5ParseError(tls, - pParse, ts+30557 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) + pParse, ts+31910 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -169853,7 +175954,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+31533 /* "expected integer..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp)) + pParse, ts+32886 /* "expected integer..." */, 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')) @@ -169950,7 +176051,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+18865 /* "no such column: ..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+18880 /* "no such column: ..." */, libc.VaList(bp, z)) } else { pRet = fts5ParseColset(tls, pParse, pColset, iCol) } @@ -170046,7 +176147,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE { (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+31562 /* "fts5: column que..." */, 0) + ts+32915 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -170230,12 +176331,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+31615, /* "fts5: %s queries..." */ + ts+32968, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 31665 /* "phrase" */ + return ts + 33018 /* "phrase" */ } - return ts + 31528 /* "NEAR" */ + return ts + 32881 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -171705,7 +177806,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 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+31672 /* "block" */, iRowid, 0, (p + 36 /* &.pReader */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+33025 /* "block" */, iRowid, 0, (p + 36 /* &.pReader */)) } // If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls @@ -171793,7 +177894,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 /* &.pWriter */), Xsqlite3_mprintf(tls, - ts+31678, /* "REPLACE INTO '%q..." */ + ts+33031, /* "REPLACE INTO '%q..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return @@ -171821,7 +177922,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig var zSql uintptr = Xsqlite3_mprintf(tls, - ts+31729, /* "DELETE FROM '%q'..." */ + ts+33082, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if fts5IndexPrepareStmt(tls, p, (p+44 /* &.pDeleter */), zSql) != 0 { return @@ -171845,7 +177946,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 52 /* &.pIdxDeleter */), Xsqlite3_mprintf(tls, - ts+31778, /* "DELETE FROM '%q'..." */ + ts+33131, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -172053,7 +178154,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12 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 /* &.pDataVersion */), - Xsqlite3_mprintf(tls, ts+31818 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + Xsqlite3_mprintf(tls, ts+33171 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return int64(0) } @@ -173488,7 +179589,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:2 var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 56 /* &.pIdxSelect */), Xsqlite3_mprintf(tls, - ts+31841, /* "SELECT pgno FROM..." */ + ts+33194, /* "SELECT pgno FROM..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect @@ -174744,7 +180845,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { return (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -175085,7 +181186,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 /* &.pIdxWriter */), Xsqlite3_mprintf(tls, - ts+31925, /* "INSERT INTO '%q'..." */ + ts+33278, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -176301,7 +182402,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 fts5StructureInvalidate(tls, p) fts5IndexDiscardData(tls, p) libc.Xmemset(tls, bp /* &s */, 0, uint32(unsafe.Sizeof(Fts5Structure{}))) - fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+740 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+755 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -176322,13 +182423,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == 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 /* &rc */, ts+31982 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8 /* &rc */, ts+33335 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, - pConfig, ts+23301 /* "data" */, ts+31990 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+23316 /* "data" */, ts+33343 /* "id INTEGER PRIMA..." */, 0, pzErr) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+10197, /* "idx" */ - ts+32025, /* "segid, term, pgn..." */ + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+10212, /* "idx" */ + ts+33378, /* "segid, term, pgn..." */ 1, pzErr) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { @@ -176634,7 +182735,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3Fts5Put32(tls, bp /* &aCookie[0] */, iNew) rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, - ts+31672 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+4 /* &pBlob */) + ts+33025 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+4 /* &pBlob */) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* pBlob */)), bp /* &aCookie[0] */, 4, 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* pBlob */))) @@ -176771,7 +182872,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+32069, /* "SELECT segid, te..." */ + ts+33422, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. @@ -176981,7 +183082,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks } else { (*Fts5Buffer)(unsafe.Pointer(bp + 8 /* &poslist */)).Fn = 0 fts5SegiterPoslist(tls, p, ((*(*uintptr)(unsafe.Pointer(bp /* pIter */)) + 68 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter */)))).FaFirst+1*4)).FiFirst)*92), uintptr(0), bp+8 /* &poslist */) - sqlite3Fts5BufferAppendBlob(tls, (p + 32 /* &.rc */), bp+8 /* &poslist */, uint32(4), ts+32155 /* "\x00\x00\x00\x00" */) + sqlite3Fts5BufferAppendBlob(tls, (p + 32 /* &.rc */), bp+8 /* &poslist */, uint32(4), ts+33508 /* "\x00\x00\x00\x00" */) for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+8 /* &poslist */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+8 /* &poslist */)).Fn, bp+20 /* &iOff */, bp+24 /* &iPos */) { var iCol int32 = (int32(*(*I64)(unsafe.Pointer(bp + 24 /* iPos */)) >> 32)) var iTokOff int32 = (int32(*(*I64)(unsafe.Pointer(bp + 24 /* iPos */)) & int64(0x7FFFFFFF))) @@ -177389,7 +183490,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+32160 /* "recursively defi..." */, 0) + ts+33513 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -177423,7 +183524,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } else if iCol >= 0 { bSeenMatch = 1 *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('M') - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4074 /* "%d" */, libc.VaList(bp, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4089 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) } @@ -177439,7 +183540,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4074 /* "%d" */, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4089 /* "%d" */, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -177782,7 +183883,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: rc = Xsqlite3_reset(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -177814,7 +183915,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, uint32(SQLITE_PREPARE_PERSISTENT), bp+8 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -177853,25 +183954,25 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 // // If SQLite a built-in statement cache, this wouldn't be a problem. rc = fts5PrepareStatement(tls, (pSorter /* &.pStmt */), pConfig, - ts+32199, /* "SELECT rowid, ra..." */ + ts+33552, /* "SELECT rowid, ra..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, func() uintptr { if zRankArgs != 0 { - return ts + 13309 /* ", " */ + return ts + 13324 /* ", " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 32254 /* "DESC" */ + return ts + 33607 /* "DESC" */ } - return ts + 32259 /* "ASC" */ + return ts + 33612 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -177922,13 +184023,13 @@ 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+32263 /* "reads" */, z, n)) { + if (n == 5) && (0 == Xsqlite3_strnicmp(tls, ts+33616 /* "reads" */, 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+4156 /* "id" */, z, n)) { + } else if (n == 2) && (0 == Xsqlite3_strnicmp(tls, ts+4171 /* "id" */, z, n)) { (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { // An unrecognized directive. Return an error message. - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+32269 /* "unknown special ..." */, libc.VaList(bp, n, z)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+33622 /* "unknown special ..." */, libc.VaList(bp, n, z)) rc = SQLITE_ERROR } @@ -177963,7 +184064,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+32297 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+33650 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 20 /* pStmt */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, @@ -177995,7 +184096,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+32307 /* "no such function..." */, libc.VaList(bp+8, zRank)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+33660 /* "no such function..." */, libc.VaList(bp+8, zRank)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } } @@ -178027,14 +184128,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin *(*int32)(unsafe.Pointer(pCsr + 56 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+32328 /* "parse error in r..." */, libc.VaList(bp, z)) + ts+33681 /* "parse error in r..." */, 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 + 30711 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 32064 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -178100,7 +184201,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+32160 /* "recursively defi..." */, 0) + ts+33513 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -178146,7 +184247,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 740 /* "" */ + zText = ts + 755 /* "" */ __14: ; iCol = 0 @@ -178335,7 +184436,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+32361 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + ts+33714 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = SQLITE_ERROR goto __41 __40: @@ -178472,7 +184573,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql rc = (SQLITE_CORRUPT | (int32(1) << 8)) } else if (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) + ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) } } } @@ -178509,29 +184610,29 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) var rc int32 = SQLITE_OK *(*int32)(unsafe.Pointer(bp /* bError */)) = 0 - if 0 == Xsqlite3_stricmp(tls, ts+32397 /* "delete-all" */, zCmd) { + if 0 == Xsqlite3_stricmp(tls, ts+33750 /* "delete-all" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { fts5SetVtabError(tls, pTab, - ts+32408 /* "'delete-all' may..." */, 0) + ts+33761 /* "'delete-all' may..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+32488 /* "rebuild" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+33841 /* "rebuild" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE { fts5SetVtabError(tls, pTab, - ts+32496 /* "'rebuild' may no..." */, 0) + ts+33849 /* "'rebuild' may no..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+15413 /* "optimize" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+15428 /* "optimize" */, zCmd) { rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) - } else if 0 == Xsqlite3_stricmp(tls, ts+32552 /* "merge" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+33905 /* "merge" */, 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+32558 /* "integrity-check" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+33911 /* "integrity-check" */, zCmd) { var iArg int32 = Xsqlite3_value_int(tls, pVal) rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg) } else { @@ -178605,7 +184706,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // A "special" INSERT op. These are handled separately. var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*4))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && - (0 == Xsqlite3_stricmp(tls, ts+15952 /* "delete" */, z)) { + (0 == Xsqlite3_stricmp(tls, ts+15967 /* "delete" */, z)) { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*4))) @@ -178630,12 +184731,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // This is not suported. if (eType0 == SQLITE_INTEGER) && (fts5IsContentless(tls, pTab) != 0) { (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+32574, /* "cannot %s conten..." */ + ts+33927, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 18766 /* "UPDATE" */ + return ts + 18781 /* "UPDATE" */ } - return ts + 32611 /* "DELETE from" */ + return ts + 33964 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -179305,7 +185406,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+32623 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) + var zErr uintptr = Xsqlite3_mprintf(tls, ts+33976 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } else { @@ -179610,7 +185711,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+32644 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33997 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 8 /* &.x */ /* &.xCreate */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { @@ -179627,7 +185728,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg (*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = (pMod + 8 /* &.x */) if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32666 /* "error in tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34019 /* "error in tokeniz..." */, 0) } } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls, @@ -179674,7 +185775,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s var ppApi uintptr _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+32697 /* "fts5_api_ptr" */) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+34050 /* "fts5_api_ptr" */) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = (pGlobal /* &.api */) } @@ -179685,7 +185786,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+32710 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, pCtx, ts+34063 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) } // Return true if zName is the extension on one of the shadow tables used @@ -179701,7 +185802,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 32801 /* "config" */, ts + 30900 /* "content" */, ts + 23301 /* "data" */, ts + 31251 /* "docsize" */, ts + 10197, /* "idx" */ + ts + 34154 /* "config" */, ts + 32253 /* "content" */, ts + 23316 /* "data" */, ts + 32604 /* "docsize" */, ts + 10212, /* "idx" */ } /* sqlite3.c:230593:21 */ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ @@ -179725,7 +185826,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ (*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+32808 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) + rc = Xsqlite3_create_module_v2(tls, db, ts+34161 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) if rc == SQLITE_OK { rc = sqlite3Fts5IndexInit(tls, db) } @@ -179743,13 +185844,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+32808 /* "fts5" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+34161 /* "fts5" */, 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+32813 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+34166 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5SourceIdFunc})), uintptr(0), uintptr(0)) } @@ -179815,20 +185916,20 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p if *(*uintptr)(unsafe.Pointer((p + 24 /* &.aStmt */) + uintptr(eStmt)*4)) == uintptr(0) { *(*[11]uintptr)(unsafe.Pointer(bp + 128 /* azStmt */)) = [11]uintptr{ - ts + 32828, /* "SELECT %s FROM %..." */ - ts + 32896, /* "SELECT %s FROM %..." */ - ts + 32965, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 34181, /* "SELECT %s FROM %..." */ + ts + 34249, /* "SELECT %s FROM %..." */ + ts + 34318, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 32998, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 33037, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 33077, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 33116, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 33157, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE + ts + 34351, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT + ts + 34390, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT + ts + 34430, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT + ts + 34469, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE + ts + 34510, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE - ts + 33196, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 34549, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 33238, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 33278, /* "SELECT %s FROM %..." */ // SCAN + ts + 34591, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG + ts + 34631, /* "SELECT %s FROM %..." */ // SCAN } var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr = uintptr(0) @@ -179895,7 +185996,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -179933,18 +186034,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+33301, /* "DROP TABLE IF EX..." */ + ts+34654, /* "DROP TABLE IF EX..." */ 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+33405, /* "DROP TABLE IF EX..." */ + ts+34758, /* "DROP TABLE IF EX..." */ 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+33443, /* "DROP TABLE IF EX..." */ + ts+34796, /* "DROP TABLE IF EX..." */ libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc @@ -179956,7 +186057,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+33481, /* "ALTER TABLE %Q.'..." */ + ts+34834, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -179968,14 +186069,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp /* rc */)) = sqlite3Fts5StorageSync(tls, pStorage) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+23301 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+10197 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32801 /* "config" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+23316 /* "data" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+10212 /* "idx" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+34154 /* "config" */, zName) if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+31251 /* "docsize" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32604 /* "docsize" */, zName) } if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+30900 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32253 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -179989,17 +186090,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn var rc int32 *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+33523, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+34876, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { - return ts + 27916 /* " WITHOUT ROWID" */ + return ts + 27931 /* " WITHOUT ROWID" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+33553, /* "fts5: error crea..." */ + ts+34906, /* "fts5: error crea..." */ libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } @@ -180041,27 +186142,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+33597 /* "id INTEGER PRIMA..." */, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, ts+34950 /* "id INTEGER PRIMA..." */, 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+33620 /* ", c%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, (nDefn - iOff), (zDefn + uintptr(iOff)), ts+34973 /* ", c%d" */, libc.VaList(bp, i)) iOff = iOff + (int32(libc.Xstrlen(tls, (zDefn + uintptr(iOff))))) } - rc = sqlite3Fts5CreateTable(tls, pConfig, ts+30900 /* "content" */, zDefn, 0, pzErr) + rc = sqlite3Fts5CreateTable(tls, pConfig, ts+32253 /* "content" */, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+31251 /* "docsize" */, ts+33626 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+32604 /* "docsize" */, ts+34979 /* "id INTEGER PRIMA..." */, 0, pzErr) } if rc == SQLITE_OK { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+32801 /* "config" */, ts+33658 /* "k PRIMARY KEY, v" */, 1, pzErr) + pConfig, ts+34154 /* "config" */, ts+35011 /* "k PRIMARY KEY, v" */, 1, pzErr) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+31397 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+32750 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -180298,12 +186399,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: // Delete the contents of the %_data and %_docsize tables. rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+33675, /* "DELETE FROM %Q.'..." */ + ts+35028, /* "DELETE FROM %Q.'..." */ 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+33725, /* "DELETE FROM %Q.'..." */ + ts+35078, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -180313,7 +186414,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+31397 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+32750 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -180508,7 +186609,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+33754, /* "SELECT count(*) ..." */ + zSql = Xsqlite3_mprintf(tls, ts+35107, /* "SELECT count(*) ..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -180705,14 +186806,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // number of rows. if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { *(*I64)(unsafe.Pointer(bp + 36 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+30900 /* "content" */, bp+36 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+32253 /* "content" */, bp+36 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 36 /* nRow */)) != (*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 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+31251 /* "docsize" */, bp+44 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+32604 /* "docsize" */, bp+44 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 44 /* nRow */)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) } @@ -180948,9 +187049,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, libc.Xmemcpy(tls, p /* &.aTokenChar */, 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+33786 /* "tokenchars" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35139 /* "tokenchars" */) { fts5AsciiAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+33797 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35150 /* "separators" */) { fts5AsciiAddExceptions(tls, p, zArg, 0) } else { rc = SQLITE_ERROR @@ -181189,7 +187290,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 + 33808 /* "L* N* Co" */ + var zCat uintptr = ts + 35161 /* "L* N* Co" */ var i int32 libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Unicode61Tokenizer{}))) @@ -181202,7 +187303,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Search for a "categories" argument for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+33817 /* "categories" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35170 /* "categories" */) { zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*4)) } } @@ -181213,18 +187314,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+33828 /* "remove_diacritic..." */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35181 /* "remove_diacritic..." */) { 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+33786 /* "tokenchars" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35139 /* "tokenchars" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+33797 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35150 /* "separators" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 0) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+33817 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35170 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -181536,7 +187637,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 /* pUserdata */)) = uintptr(0) - var zBase uintptr = ts + 33846 /* "unicode61" */ + var zBase uintptr = ts + 35199 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -181687,7 +187788,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33856 /* "al" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35209 /* "al" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -181695,11 +187796,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33859 /* "ance" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35212 /* "ance" */, (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+33864 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35217 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -181707,7 +187808,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33869 /* "er" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35222 /* "er" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -181715,7 +187816,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33872 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35225 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -181723,11 +187824,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33875 /* "able" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35228 /* "able" */, (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+33880 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35233 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -181735,19 +187836,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33885 /* "ant" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35238 /* "ant" */, (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+33889 /* "ement" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35242 /* "ement" */, (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+33895 /* "ment" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35248 /* "ment" */, (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+33900 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35253 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -181755,11 +187856,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33904 /* "ion" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35257 /* "ion" */, (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+33908 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35261 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -181767,7 +187868,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33911 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35264 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -181775,11 +187876,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33915 /* "ate" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35268 /* "ate" */, (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+33919 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35272 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -181787,7 +187888,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33923 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35276 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -181795,7 +187896,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33927 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35280 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -181803,7 +187904,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33931 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35284 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -181820,24 +187921,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33935 /* "at" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+33915 /* "ate" */, uint32(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35288 /* "at" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35268 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'b': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33938 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+33941 /* "ble" */, uint32(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35291 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35294 /* "ble" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33945 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+33931 /* "ize" */, uint32(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35298 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35284 /* "ize" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } @@ -181853,137 +187954,137 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+33948 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35301 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33915 /* "ate" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35268 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+33956 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+35309 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+33963 /* "tion" */, uint32(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+35316 /* "tion" */, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 4) } } break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33968 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35321 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33864 /* "ence" */, uint32(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35217 /* "ence" */, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33973 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35326 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33859 /* "ance" */, uint32(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35212 /* "ance" */, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } } break case 'e': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33978 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35331 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33931 /* "ize" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35284 /* "ize" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'g': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33983 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35336 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+14763 /* "log" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+14778 /* "log" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'l': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33988 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35341 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+33941 /* "ble" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35294 /* "ble" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33992 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35345 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33856 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35209 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+33997 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35350 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33900 /* "ent" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35253 /* "ent" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34003 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35356 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+34007 /* "e" */, uint32(1)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35360 /* "e" */, uint32(1)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 1) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34009 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35362 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33923 /* "ous" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35276 /* "ous" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } } break case 'o': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34015 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35368 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33931 /* "ize" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35284 /* "ize" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34023 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35376 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33915 /* "ate" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35268 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34029 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35382 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33915 /* "ate" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35268 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 's': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34034 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35387 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33856 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35209 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34040 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35393 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33927 /* "ive" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35280 /* "ive" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34048 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35401 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+34056 /* "ful" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35409 /* "ful" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34060 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35413 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33923 /* "ous" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35276 /* "ous" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } } break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34068 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35421 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33856 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35209 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34074 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35427 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33927 /* "ive" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35280 /* "ive" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+34080 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+35433 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+33941 /* "ble" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+35294 /* "ble" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -181999,16 +188100,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34087 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35440 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33872 /* "ic" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35225 /* "ic" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } } break case 's': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34092 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35445 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -182016,21 +188117,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34097 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35450 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33872 /* "ic" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35225 /* "ic" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34103 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35456 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33872 /* "ic" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35225 /* "ic" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34056 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35409 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -182038,7 +188139,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34109 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35462 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 5) } @@ -182046,9 +188147,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34115 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35468 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33856 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35209 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -182064,12 +188165,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'e': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34121 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35474 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+34125 /* "ee" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35478 /* "ee" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 2) } - } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+34128 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35481 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) ret = 1 @@ -182078,7 +188179,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34131 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35484 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) ret = 1 @@ -182248,7 +188349,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+34135 /* "case_sensitive" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35488 /* "case_sensitive" */) { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { @@ -182438,22 +188539,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: defer tls.Free(64) *(*[4]BuiltinTokenizer)(unsafe.Pointer(bp /* aBuiltin */)) = [4]BuiltinTokenizer{ - {FzName: ts + 33846 /* "unicode61" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35199 /* "unicode61" */, 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 + 34150 /* "ascii" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35503 /* "ascii" */, 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 + 34156 /* "porter" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35509 /* "porter" */, 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 + 34163 /* "trigram" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35516 /* "trigram" */, 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 @@ -183796,14 +189897,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8 /* &rc */, zType, -1) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, ts+34171 /* "col" */) == 0 { + if Xsqlite3_stricmp(tls, zCopy, ts+35524 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL - } else if Xsqlite3_stricmp(tls, zCopy, ts+34175 /* "row" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+35528 /* "row" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW - } else if Xsqlite3_stricmp(tls, zCopy, ts+34179 /* "instance" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+35532 /* "instance" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34188 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35541 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) @@ -183850,19 +189951,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv defer tls.Free(20) *(*[3]uintptr)(unsafe.Pointer(bp + 4 /* azSchema */)) = [3]uintptr{ - ts + 34222, /* "CREATE TABlE voc..." */ - ts + 34262, /* "CREATE TABlE voc..." */ - ts + 34297, /* "CREATE TABlE voc..." */ + ts + 35575, /* "CREATE TABlE voc..." */ + ts + 35615, /* "CREATE TABlE voc..." */ + ts + 35650, /* "CREATE TABlE voc..." */ } var pRet uintptr = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK // Return code var bDb int32 - bDb = (libc.Bool32(((argc == 6) && (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == Size_t(4))) && (libc.Xmemcmp(tls, ts+21610 /* "temp" */, *(*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+21625 /* "temp" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0))) if (argc != 5) && (bDb == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34340 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35693 /* "wrong number of ..." */, 0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else { var nByte int32 // Bytes of space to allocate @@ -184014,11 +190115,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+34373 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+35726 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } zSql = sqlite3Fts5Mprintf(tls, bp+64, /* &rc */ - ts+34404, /* "SELECT t.%Q FROM..." */ + ts+35757, /* "SELECT t.%Q FROM..." */ 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 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+68 /* &pStmt */, uintptr(0)) @@ -184042,7 +190143,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* *(*uintptr)(unsafe.Pointer(bp + 68 /* pStmt */)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+34455 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+35808 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } else { @@ -184330,7 +190431,7 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused if pLe != 0 { var zCopy uintptr = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = ts + 740 /* "" */ + zCopy = ts + 755 /* "" */ } (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm + 1)) @@ -184447,7 +190548,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:235171:12: */ var p uintptr = pGlobal - return Xsqlite3_create_module_v2(tls, db, ts+34481 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, ts+35834 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } var fts5Vocab = Sqlite3_module{ @@ -184492,7 +190593,7 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:235516:23: */ - return ts + 34491 /* "2021-06-18 18:36..." */ + return ts + 35844 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -185380,5 +191481,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68 /* .xGetLastError */)) = rbuVfsGetLastError // sqlite3.c:205300:5: } -var ts1 = "COMPILER=gcc-8.3.0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\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\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\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\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%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing 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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\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\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\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: \"%.*s\"\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=gcc-8.3.0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\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\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\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\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\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\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%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing 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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\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\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\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: \"%.*s\"\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/lib/sqlite_linux_amd64.go b/lib/sqlite_linux_amd64.go index 07723ec..c4ce144 100644 --- a/lib/sqlite_linux_amd64.go +++ b/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 "" -pkgname sqlite3 -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -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 "" -pkgname sqlite3 -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -1449,6 +1449,9 @@ const ( SEEK_HOLE = 4 SEEK_SET = 0 SELECTTRACE_ENABLED = 0 + SESSIONS_STRM_CHUNK_SIZE = 1024 + SESSION_MAX_BUFFER_SZ = 2147483391 + SESSION_UPDATE_CACHE_SZ = 12 SF_Aggregate = 0x0000008 SF_All = 0x0000002 SF_ComplexResult = 0x0040000 @@ -1595,6 +1598,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -1751,6 +1765,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -2119,6 +2134,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3827,7 +3844,7 @@ type X__float128 = float64 /* :47:21 */ // This array looks large, but in a typical installation actually uses // only a handful of compile-time options, so most times this array is usually // rather short and uses little memory space. -var sqlite3azCompileOpt = [17]uintptr{ +var sqlite3azCompileOpt = [18]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl ts, /* "COMPILER=gcc-8.3..." */ @@ -3840,13 +3857,14 @@ var sqlite3azCompileOpt = [17]uintptr{ ts + 130, /* "ENABLE_PREUPDATE..." */ ts + 152, /* "ENABLE_RBU" */ ts + 163, /* "ENABLE_RTREE" */ - ts + 176, /* "ENABLE_SNAPSHOT" */ - ts + 192, /* "ENABLE_STAT4" */ - ts + 205, /* "ENABLE_UNLOCK_NO..." */ - ts + 226, /* "LIKE_DOESNT_MATC..." */ - ts + 250, /* "SOUNDEX" */ - ts + 258, /* "SYSTEM_MALLOC" */ - ts + 272, /* "THREADSAFE=1" */ + ts + 176, /* "ENABLE_SESSION" */ + ts + 191, /* "ENABLE_SNAPSHOT" */ + ts + 207, /* "ENABLE_STAT4" */ + ts + 220, /* "ENABLE_UNLOCK_NO..." */ + ts + 241, /* "LIKE_DOESNT_MATC..." */ + ts + 265, /* "SOUNDEX" */ + ts + 273, /* "SYSTEM_MALLOC" */ + ts + 287, /* "THREADSAFE=1" */ // END CODE GENERATED BY tool/mkctime.tcl } /* sqlite3.c:72:19 */ @@ -4162,7 +4180,7 @@ type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ // of the hash might be different from [SQLITE_SOURCE_ID].)^ // // See also: [sqlite_version()] and [sqlite_source_id()]. -var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 285 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ +var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 300 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -7413,6 +7431,495 @@ type Sqlite3_rtree_dbl = float64 /* sqlite3.c:11048:18 */ //******* End of sqlite3rtree.h ******** //******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type sqlite3_session = struct { + Fdb uintptr + FzDb uintptr + FbEnableSize int32 + FbEnable int32 + FbIndirect int32 + FbAutoAttach int32 + Frc int32 + _ [4]byte + FpFilterCtx uintptr + FxTableFilter uintptr + FnMalloc I64 + FnMaxChangesetSize I64 + FpZeroBlob uintptr + FpNext uintptr + FpTable uintptr + Fhook SessionHook +} /* sqlite3.c:11155:9 */ + +// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. + +//******* End of sqlite3rtree.h ******** +//******* Begin file sqlite3session.h ******** + +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type sqlite3_changeset_iter = struct { + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + _ [4]byte + FabPK uintptr + FapValue uintptr +} /* sqlite3.c:11163:9 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type Sqlite3_changeset_iter = sqlite3_changeset_iter /* sqlite3.c:11163:39 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type sqlite3_changegroup = struct { + Frc int32 + FbPatch int32 + FpList uintptr +} /* sqlite3.c:12015:9 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type Sqlite3_changegroup = sqlite3_changegroup /* sqlite3.c:12015:36 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type sqlite3_rebaser = struct{ Fgrp Sqlite3_changegroup } /* sqlite3.c:12579:9 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ + +// CAPI3REF: Values for sqlite3session_config(). + +// Make sure we can call this stuff from C++. + //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** // 2014 May 31 @@ -7463,10 +7970,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.c:12895:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -11946,7 +12452,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 292 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 307 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -13097,7 +13603,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+299 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+314 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { goto __9 } return 1 @@ -13134,13 +13640,13 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 // var s int32 at bp+32, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+307 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+322 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+315 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+330 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -13259,7 +13765,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+319 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+334 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -13340,7 +13846,7 @@ func parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) i return 0 } else if parseHhMmSs(tls, zDate, p) == 0 { return 0 - } else if (Xsqlite3StrICmp(tls, zDate, ts+331 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { + } else if (Xsqlite3StrICmp(tls, zDate, ts+346 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { return setDateTimeToCurrent(tls, context, p) } else if Xsqlite3AtoF(tls, zDate, bp /* &r */, Xsqlite3Strlen30(tls, zDate), uint8(SQLITE_UTF8)) > 0 { setRawDateNumber(tls, p, *(*float64)(unsafe.Pointer(bp /* r */))) @@ -13522,7 +14028,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite computeJD(tls, bp+56 /* &x */) *(*Time_t)(unsafe.Pointer(bp + 104 /* t */)) = (Time_t(((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000)))) if osLocaltime(tls, bp+104 /* &t */, bp /* &sLocal */) != 0 { - Xsqlite3_result_error(tls, pCtx, ts+335 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+350 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -13557,12 +14063,12 @@ var aXformType = [6]struct { FrLimit float64 FrXform float64 }{ - {FnName: U8(6), FzName: ts + 358 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, - {FnName: U8(6), FzName: ts + 365 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, - {FnName: U8(4), FzName: ts + 372 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, - {FnName: U8(3), FzName: ts + 377 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, - {FeType: U8(1), FnName: U8(5), FzName: ts + 381 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, - {FeType: U8(2), FnName: U8(4), FzName: ts + 387 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, + {FnName: U8(6), FzName: ts + 373 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, + {FnName: U8(6), FzName: ts + 380 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, + {FnName: U8(4), FzName: ts + 387 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, + {FnName: U8(3), FzName: ts + 392 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, + {FeType: U8(1), FnName: U8(5), FzName: ts + 396 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, + {FeType: U8(2), FnName: U8(4), FzName: ts + 402 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, } /* sqlite3.c:22795:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -13601,7 +14107,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Assuming the current time value is UTC (a.k.a. GMT), shift it to // show local time. - if (Xsqlite3_stricmp(tls, z, ts+392 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + if (Xsqlite3_stricmp(tls, z, ts+407 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { computeJD(tls, p) *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (localtimeOffset(tls, p, pCtx, bp /* &rc */)) clearYMD_HMS_TZ(tls, p) @@ -13615,7 +14121,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Treat the current value of p->s as the number of // seconds since 1970. Convert to a real julian day number. - if (Xsqlite3_stricmp(tls, z, ts+402 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { + if (Xsqlite3_stricmp(tls, z, ts+417 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) @@ -13624,7 +14130,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+412 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + } else if (Xsqlite3_stricmp(tls, z, ts+427 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { if int32((*DateTime)(unsafe.Pointer(p)).FtzSet) == 0 { var c1 Sqlite3_int64 computeJD(tls, p) @@ -13649,7 +14155,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // Move the date to the same time on the next occurrence of // weekday N where 0==Sunday, 1==Monday, and so forth. If the // date is already on the appropriate weekday, this is a no-op. - if ((((Xsqlite3_strnicmp(tls, z, ts+416 /* "weekday " */, 8) == 0) && + if ((((Xsqlite3_strnicmp(tls, z, ts+431 /* "weekday " */, 8) == 0) && (Xsqlite3AtoF(tls, (z+8), bp+8 /* &r */, Xsqlite3Strlen30(tls, (z+8)), uint8(SQLITE_UTF8)) > 0)) && ((float64(libc.AssignInt32(&n, int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */)))))) == *(*float64)(unsafe.Pointer(bp + 8 /* r */)))) && (n >= 0)) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < float64(7)) { var Z Sqlite3_int64 @@ -13674,7 +14180,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Move the date backwards to the beginning of the current day, // or month or year. - if Xsqlite3_strnicmp(tls, z, ts+425 /* "start of " */, 9) != 0 { + if Xsqlite3_strnicmp(tls, z, ts+440 /* "start of " */, 9) != 0 { break } if (!(int32((*DateTime)(unsafe.Pointer(p)).FvalidJD) != 0) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidYMD) != 0)) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidHMS) != 0) { @@ -13688,14 +14194,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - if Xsqlite3_stricmp(tls, z, ts+381 /* "month" */) == 0 { + if Xsqlite3_stricmp(tls, z, ts+396 /* "month" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+387 /* "year" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+402 /* "year" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FM = 1 (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+377 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+392 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -13916,7 +14422,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // var zBuf [100]int8 at bp+96, 100 computeYMD_HMS(tls, bp+48 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+435, /* "%04d-%02d-%02d %..." */ + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+450, /* "%04d-%02d-%02d %..." */ libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } @@ -13935,7 +14441,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeHMS(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+465 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+480 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13953,7 +14459,7 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeYMD(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+480 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+495 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -14080,7 +14586,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+495 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+510 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (uint64(2)) break fallthrough @@ -14090,14 +14596,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+500 /* "%06.3f" */, libc.VaList(bp+8, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+515 /* "%06.3f" */, libc.VaList(bp+8, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+495 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+510 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) j = j + (uint64(2)) break fallthrough @@ -14115,10 +14621,10 @@ __3: if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday wd = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+495 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+510 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) j = j + (uint64(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+507 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+522 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) j = j + (uint64(3)) } break @@ -14127,19 +14633,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+512 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+527 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+495 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+510 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) j = j + (uint64(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+495 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+510 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) j = j + (uint64(2)) break fallthrough @@ -14153,7 +14659,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+495 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+510 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough @@ -14166,7 +14672,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+518 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+533 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -14223,14 +14729,14 @@ func Xsqlite3RegisterDateTimeFunctions(tls *libc.TLS) { /* sqlite3.c:23404:21: * } var aDateTimeFuncs = [8]FuncDef{ - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 523 /* "julianday" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 533 /* "date" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 538 /* "time" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 543 /* "datetime" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 552 /* "strftime" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 561 /* "current_time" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 574 /* "current_timestam..." */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 592 /* "current_date" */}} /* sqlite3.c:23405:18 */ + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 538 /* "julianday" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 548 /* "date" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 553 /* "time" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 558 /* "datetime" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 567 /* "strftime" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 576 /* "current_time" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 589 /* "current_timestam..." */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 607 /* "current_date" */}} /* sqlite3.c:23405:18 */ //************* End of date.c *********************************************** //************* Begin file os.c ********************************************* @@ -14807,7 +15313,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p += 8 } else { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+605 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+620 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -14858,7 +15364,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* } else { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+643, /* "failed memory re..." */ + ts+658, /* "failed memory re..." */ libc.VaList(bp, sqlite3MemSize(tls, pPrior), nByte)) } return p @@ -16600,8 +17106,8 @@ type Et_info = et_info /* sqlite3.c:28672:3 */ // The following table is searched linearly, so it is good to put the // most frequently used conversion types first. -var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 679 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 712 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ +var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 694 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 727 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ var fmtinfo = [23]Et_info{ {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, {Ffmttype: int8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, @@ -16855,7 +17361,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+719 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+734 /* "%" */, 1) goto __5 __11: ; @@ -17438,7 +17944,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 721 /* "NaN" */ + bufpt = ts + 736 /* "NaN" */ length = 3 goto __58 __127: @@ -17498,7 +18004,7 @@ __138: } bufpt = bp + 8 /* &buf[0] */ *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix - libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+725 /* "Inf" */, uint64(4)) + libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+740 /* "Inf" */, uint64(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: @@ -17855,7 +18361,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 729 /* "" */ + bufpt = ts + 744 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -17984,9 +18490,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 730 /* "NULL" */ + return ts + 745 /* "NULL" */ } - return ts + 735 /* "(NULL)" */ + return ts + 750 /* "(NULL)" */ }() __220: ; @@ -18121,7 +18627,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+742 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+757 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -18136,7 +18642,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+744 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, ts+759 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) __247: ; __246: @@ -18199,7 +18705,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 756 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 771 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -20433,7 +20939,7 @@ func compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) int32 { /* sqlite3.c var c int32 = 0 var i int32 // 012345678901234567 - var pow63 uintptr = ts + 765 /* "9223372036854775..." */ + var pow63 uintptr = ts + 780 /* "9223372036854775..." */ for i = 0; (c == 0) && (i < 18); i++ { c = ((int32(*(*int8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) } @@ -21083,7 +21589,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+784, /* "API call with %s..." */ + ts+799, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -21102,14 +21608,14 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ func Xsqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:33054:20: */ var magic U32 if db == uintptr(0) { - logBadConnection(tls, ts+730 /* "NULL" */) + logBadConnection(tls, ts+745 /* "NULL" */) return 0 } magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if magic != SQLITE_MAGIC_OPEN { if Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 { - logBadConnection(tls, ts+829 /* "unopened" */) + logBadConnection(tls, ts+844 /* "unopened" */) } return 0 } else { @@ -21123,7 +21629,7 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if ((magic != U32(SQLITE_MAGIC_SICK)) && (magic != SQLITE_MAGIC_OPEN)) && (magic != SQLITE_MAGIC_BUSY) { - logBadConnection(tls, ts+838 /* "invalid" */) + logBadConnection(tls, ts+853 /* "invalid" */) return 0 } else { return 1 @@ -21651,186 +22157,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 0 */ ts + 846, /* "Savepoint" */ - /* 1 */ ts + 856, /* "AutoCommit" */ - /* 2 */ ts + 867, /* "Transaction" */ - /* 3 */ ts + 879, /* "SorterNext" */ - /* 4 */ ts + 890, /* "Prev" */ - /* 5 */ ts + 895, /* "Next" */ - /* 6 */ ts + 900, /* "Checkpoint" */ - /* 7 */ ts + 911, /* "JournalMode" */ - /* 8 */ ts + 923, /* "Vacuum" */ - /* 9 */ ts + 930, /* "VFilter" */ - /* 10 */ ts + 938, /* "VUpdate" */ - /* 11 */ ts + 946, /* "Goto" */ - /* 12 */ ts + 951, /* "Gosub" */ - /* 13 */ ts + 957, /* "InitCoroutine" */ - /* 14 */ ts + 971, /* "Yield" */ - /* 15 */ ts + 977, /* "MustBeInt" */ - /* 16 */ ts + 987, /* "Jump" */ - /* 17 */ ts + 992, /* "Once" */ - /* 18 */ ts + 997, /* "If" */ - /* 19 */ ts + 1000, /* "Not" */ - /* 20 */ ts + 1004, /* "IfNot" */ - /* 21 */ ts + 1010, /* "IfNullRow" */ - /* 22 */ ts + 1020, /* "SeekLT" */ - /* 23 */ ts + 1027, /* "SeekLE" */ - /* 24 */ ts + 1034, /* "SeekGE" */ - /* 25 */ ts + 1041, /* "SeekGT" */ - /* 26 */ ts + 1048, /* "IfNotOpen" */ - /* 27 */ ts + 1058, /* "IfNoHope" */ - /* 28 */ ts + 1067, /* "NoConflict" */ - /* 29 */ ts + 1078, /* "NotFound" */ - /* 30 */ ts + 1087, /* "Found" */ - /* 31 */ ts + 1093, /* "SeekRowid" */ - /* 32 */ ts + 1103, /* "NotExists" */ - /* 33 */ ts + 1113, /* "Last" */ - /* 34 */ ts + 1118, /* "IfSmaller" */ - /* 35 */ ts + 1128, /* "SorterSort" */ - /* 36 */ ts + 1139, /* "Sort" */ - /* 37 */ ts + 1144, /* "Rewind" */ - /* 38 */ ts + 1151, /* "IdxLE" */ - /* 39 */ ts + 1157, /* "IdxGT" */ - /* 40 */ ts + 1163, /* "IdxLT" */ - /* 41 */ ts + 1169, /* "IdxGE" */ - /* 42 */ ts + 1175, /* "RowSetRead" */ - /* 43 */ ts + 1186, /* "Or" */ - /* 44 */ ts + 1189, /* "And" */ - /* 45 */ ts + 1193, /* "RowSetTest" */ - /* 46 */ ts + 1204, /* "Program" */ - /* 47 */ ts + 1212, /* "FkIfZero" */ - /* 48 */ ts + 1221, /* "IfPos" */ - /* 49 */ ts + 1227, /* "IfNotZero" */ - /* 50 */ ts + 1237, /* "IsNull" */ - /* 51 */ ts + 1244, /* "NotNull" */ - /* 52 */ ts + 1252, /* "Ne" */ - /* 53 */ ts + 1255, /* "Eq" */ - /* 54 */ ts + 1258, /* "Gt" */ - /* 55 */ ts + 1261, /* "Le" */ - /* 56 */ ts + 1264, /* "Lt" */ - /* 57 */ ts + 1267, /* "Ge" */ - /* 58 */ ts + 1270, /* "ElseEq" */ - /* 59 */ ts + 1277, /* "DecrJumpZero" */ - /* 60 */ ts + 1290, /* "IncrVacuum" */ - /* 61 */ ts + 1301, /* "VNext" */ - /* 62 */ ts + 1307, /* "Init" */ - /* 63 */ ts + 1312, /* "PureFunc" */ - /* 64 */ ts + 1321, /* "Function" */ - /* 65 */ ts + 1330, /* "Return" */ - /* 66 */ ts + 1337, /* "EndCoroutine" */ - /* 67 */ ts + 1350, /* "HaltIfNull" */ - /* 68 */ ts + 1361, /* "Halt" */ - /* 69 */ ts + 1366, /* "Integer" */ - /* 70 */ ts + 1374, /* "Int64" */ - /* 71 */ ts + 1380, /* "String" */ - /* 72 */ ts + 1387, /* "Null" */ - /* 73 */ ts + 1392, /* "SoftNull" */ - /* 74 */ ts + 1401, /* "Blob" */ - /* 75 */ ts + 1406, /* "Variable" */ - /* 76 */ ts + 1415, /* "Move" */ - /* 77 */ ts + 1420, /* "Copy" */ - /* 78 */ ts + 1425, /* "SCopy" */ - /* 79 */ ts + 1431, /* "IntCopy" */ - /* 80 */ ts + 1439, /* "ChngCntRow" */ - /* 81 */ ts + 1450, /* "ResultRow" */ - /* 82 */ ts + 1460, /* "CollSeq" */ - /* 83 */ ts + 1468, /* "AddImm" */ - /* 84 */ ts + 1475, /* "RealAffinity" */ - /* 85 */ ts + 1488, /* "Cast" */ - /* 86 */ ts + 1493, /* "Permutation" */ - /* 87 */ ts + 1505, /* "Compare" */ - /* 88 */ ts + 1513, /* "IsTrue" */ - /* 89 */ ts + 1520, /* "ZeroOrNull" */ - /* 90 */ ts + 1531, /* "Offset" */ - /* 91 */ ts + 1538, /* "Column" */ - /* 92 */ ts + 1545, /* "Affinity" */ - /* 93 */ ts + 1554, /* "MakeRecord" */ - /* 94 */ ts + 1565, /* "Count" */ - /* 95 */ ts + 1571, /* "ReadCookie" */ - /* 96 */ ts + 1582, /* "SetCookie" */ - /* 97 */ ts + 1592, /* "ReopenIdx" */ - /* 98 */ ts + 1602, /* "OpenRead" */ - /* 99 */ ts + 1611, /* "OpenWrite" */ - /* 100 */ ts + 1621, /* "OpenDup" */ - /* 101 */ ts + 1629, /* "OpenAutoindex" */ - /* 102 */ ts + 1643, /* "BitAnd" */ - /* 103 */ ts + 1650, /* "BitOr" */ - /* 104 */ ts + 1656, /* "ShiftLeft" */ - /* 105 */ ts + 1666, /* "ShiftRight" */ - /* 106 */ ts + 1677, /* "Add" */ - /* 107 */ ts + 1681, /* "Subtract" */ - /* 108 */ ts + 1690, /* "Multiply" */ - /* 109 */ ts + 1699, /* "Divide" */ - /* 110 */ ts + 1706, /* "Remainder" */ - /* 111 */ ts + 1716, /* "Concat" */ - /* 112 */ ts + 1723, /* "OpenEphemeral" */ - /* 113 */ ts + 1737, /* "BitNot" */ - /* 114 */ ts + 1744, /* "SorterOpen" */ - /* 115 */ ts + 1755, /* "SequenceTest" */ - /* 116 */ ts + 1768, /* "String8" */ - /* 117 */ ts + 1776, /* "OpenPseudo" */ - /* 118 */ ts + 1787, /* "Close" */ - /* 119 */ ts + 1793, /* "ColumnsUsed" */ - /* 120 */ ts + 1805, /* "SeekScan" */ - /* 121 */ ts + 1814, /* "SeekHit" */ - /* 122 */ ts + 1822, /* "Sequence" */ - /* 123 */ ts + 1831, /* "NewRowid" */ - /* 124 */ ts + 1840, /* "Insert" */ - /* 125 */ ts + 1847, /* "RowCell" */ - /* 126 */ ts + 1855, /* "Delete" */ - /* 127 */ ts + 1862, /* "ResetCount" */ - /* 128 */ ts + 1873, /* "SorterCompare" */ - /* 129 */ ts + 1887, /* "SorterData" */ - /* 130 */ ts + 1898, /* "RowData" */ - /* 131 */ ts + 1906, /* "Rowid" */ - /* 132 */ ts + 1912, /* "NullRow" */ - /* 133 */ ts + 1920, /* "SeekEnd" */ - /* 134 */ ts + 1928, /* "IdxInsert" */ - /* 135 */ ts + 1938, /* "SorterInsert" */ - /* 136 */ ts + 1951, /* "IdxDelete" */ - /* 137 */ ts + 1961, /* "DeferredSeek" */ - /* 138 */ ts + 1974, /* "IdxRowid" */ - /* 139 */ ts + 1983, /* "FinishSeek" */ - /* 140 */ ts + 1994, /* "Destroy" */ - /* 141 */ ts + 2002, /* "Clear" */ - /* 142 */ ts + 2008, /* "ResetSorter" */ - /* 143 */ ts + 2020, /* "CreateBtree" */ - /* 144 */ ts + 2032, /* "SqlExec" */ - /* 145 */ ts + 2040, /* "ParseSchema" */ - /* 146 */ ts + 2052, /* "LoadAnalysis" */ - /* 147 */ ts + 2065, /* "DropTable" */ - /* 148 */ ts + 2075, /* "DropIndex" */ - /* 149 */ ts + 2085, /* "DropTrigger" */ - /* 150 */ ts + 2097, /* "IntegrityCk" */ - /* 151 */ ts + 2109, /* "RowSetAdd" */ - /* 152 */ ts + 2119, /* "Real" */ - /* 153 */ ts + 2124, /* "Param" */ - /* 154 */ ts + 2130, /* "FkCounter" */ - /* 155 */ ts + 2140, /* "MemMax" */ - /* 156 */ ts + 2147, /* "OffsetLimit" */ - /* 157 */ ts + 2159, /* "AggInverse" */ - /* 158 */ ts + 2170, /* "AggStep" */ - /* 159 */ ts + 2178, /* "AggStep1" */ - /* 160 */ ts + 2187, /* "AggValue" */ - /* 161 */ ts + 2196, /* "AggFinal" */ - /* 162 */ ts + 2205, /* "Expire" */ - /* 163 */ ts + 2212, /* "CursorLock" */ - /* 164 */ ts + 2223, /* "CursorUnlock" */ - /* 165 */ ts + 2236, /* "TableLock" */ - /* 166 */ ts + 2246, /* "VBegin" */ - /* 167 */ ts + 2253, /* "VCreate" */ - /* 168 */ ts + 2261, /* "VDestroy" */ - /* 169 */ ts + 2270, /* "VOpen" */ - /* 170 */ ts + 2276, /* "VColumn" */ - /* 171 */ ts + 2284, /* "VRename" */ - /* 172 */ ts + 2292, /* "Pagecount" */ - /* 173 */ ts + 2302, /* "MaxPgcnt" */ - /* 174 */ ts + 2311, /* "Trace" */ - /* 175 */ ts + 2317, /* "CursorHint" */ - /* 176 */ ts + 2328, /* "ReleaseReg" */ - /* 177 */ ts + 2339, /* "Noop" */ - /* 178 */ ts + 2344, /* "Explain" */ - /* 179 */ ts + 2352, /* "Abortable" */ + /* 0 */ ts + 861, /* "Savepoint" */ + /* 1 */ ts + 871, /* "AutoCommit" */ + /* 2 */ ts + 882, /* "Transaction" */ + /* 3 */ ts + 894, /* "SorterNext" */ + /* 4 */ ts + 905, /* "Prev" */ + /* 5 */ ts + 910, /* "Next" */ + /* 6 */ ts + 915, /* "Checkpoint" */ + /* 7 */ ts + 926, /* "JournalMode" */ + /* 8 */ ts + 938, /* "Vacuum" */ + /* 9 */ ts + 945, /* "VFilter" */ + /* 10 */ ts + 953, /* "VUpdate" */ + /* 11 */ ts + 961, /* "Goto" */ + /* 12 */ ts + 966, /* "Gosub" */ + /* 13 */ ts + 972, /* "InitCoroutine" */ + /* 14 */ ts + 986, /* "Yield" */ + /* 15 */ ts + 992, /* "MustBeInt" */ + /* 16 */ ts + 1002, /* "Jump" */ + /* 17 */ ts + 1007, /* "Once" */ + /* 18 */ ts + 1012, /* "If" */ + /* 19 */ ts + 1015, /* "Not" */ + /* 20 */ ts + 1019, /* "IfNot" */ + /* 21 */ ts + 1025, /* "IfNullRow" */ + /* 22 */ ts + 1035, /* "SeekLT" */ + /* 23 */ ts + 1042, /* "SeekLE" */ + /* 24 */ ts + 1049, /* "SeekGE" */ + /* 25 */ ts + 1056, /* "SeekGT" */ + /* 26 */ ts + 1063, /* "IfNotOpen" */ + /* 27 */ ts + 1073, /* "IfNoHope" */ + /* 28 */ ts + 1082, /* "NoConflict" */ + /* 29 */ ts + 1093, /* "NotFound" */ + /* 30 */ ts + 1102, /* "Found" */ + /* 31 */ ts + 1108, /* "SeekRowid" */ + /* 32 */ ts + 1118, /* "NotExists" */ + /* 33 */ ts + 1128, /* "Last" */ + /* 34 */ ts + 1133, /* "IfSmaller" */ + /* 35 */ ts + 1143, /* "SorterSort" */ + /* 36 */ ts + 1154, /* "Sort" */ + /* 37 */ ts + 1159, /* "Rewind" */ + /* 38 */ ts + 1166, /* "IdxLE" */ + /* 39 */ ts + 1172, /* "IdxGT" */ + /* 40 */ ts + 1178, /* "IdxLT" */ + /* 41 */ ts + 1184, /* "IdxGE" */ + /* 42 */ ts + 1190, /* "RowSetRead" */ + /* 43 */ ts + 1201, /* "Or" */ + /* 44 */ ts + 1204, /* "And" */ + /* 45 */ ts + 1208, /* "RowSetTest" */ + /* 46 */ ts + 1219, /* "Program" */ + /* 47 */ ts + 1227, /* "FkIfZero" */ + /* 48 */ ts + 1236, /* "IfPos" */ + /* 49 */ ts + 1242, /* "IfNotZero" */ + /* 50 */ ts + 1252, /* "IsNull" */ + /* 51 */ ts + 1259, /* "NotNull" */ + /* 52 */ ts + 1267, /* "Ne" */ + /* 53 */ ts + 1270, /* "Eq" */ + /* 54 */ ts + 1273, /* "Gt" */ + /* 55 */ ts + 1276, /* "Le" */ + /* 56 */ ts + 1279, /* "Lt" */ + /* 57 */ ts + 1282, /* "Ge" */ + /* 58 */ ts + 1285, /* "ElseEq" */ + /* 59 */ ts + 1292, /* "DecrJumpZero" */ + /* 60 */ ts + 1305, /* "IncrVacuum" */ + /* 61 */ ts + 1316, /* "VNext" */ + /* 62 */ ts + 1322, /* "Init" */ + /* 63 */ ts + 1327, /* "PureFunc" */ + /* 64 */ ts + 1336, /* "Function" */ + /* 65 */ ts + 1345, /* "Return" */ + /* 66 */ ts + 1352, /* "EndCoroutine" */ + /* 67 */ ts + 1365, /* "HaltIfNull" */ + /* 68 */ ts + 1376, /* "Halt" */ + /* 69 */ ts + 1381, /* "Integer" */ + /* 70 */ ts + 1389, /* "Int64" */ + /* 71 */ ts + 1395, /* "String" */ + /* 72 */ ts + 1402, /* "Null" */ + /* 73 */ ts + 1407, /* "SoftNull" */ + /* 74 */ ts + 1416, /* "Blob" */ + /* 75 */ ts + 1421, /* "Variable" */ + /* 76 */ ts + 1430, /* "Move" */ + /* 77 */ ts + 1435, /* "Copy" */ + /* 78 */ ts + 1440, /* "SCopy" */ + /* 79 */ ts + 1446, /* "IntCopy" */ + /* 80 */ ts + 1454, /* "ChngCntRow" */ + /* 81 */ ts + 1465, /* "ResultRow" */ + /* 82 */ ts + 1475, /* "CollSeq" */ + /* 83 */ ts + 1483, /* "AddImm" */ + /* 84 */ ts + 1490, /* "RealAffinity" */ + /* 85 */ ts + 1503, /* "Cast" */ + /* 86 */ ts + 1508, /* "Permutation" */ + /* 87 */ ts + 1520, /* "Compare" */ + /* 88 */ ts + 1528, /* "IsTrue" */ + /* 89 */ ts + 1535, /* "ZeroOrNull" */ + /* 90 */ ts + 1546, /* "Offset" */ + /* 91 */ ts + 1553, /* "Column" */ + /* 92 */ ts + 1560, /* "Affinity" */ + /* 93 */ ts + 1569, /* "MakeRecord" */ + /* 94 */ ts + 1580, /* "Count" */ + /* 95 */ ts + 1586, /* "ReadCookie" */ + /* 96 */ ts + 1597, /* "SetCookie" */ + /* 97 */ ts + 1607, /* "ReopenIdx" */ + /* 98 */ ts + 1617, /* "OpenRead" */ + /* 99 */ ts + 1626, /* "OpenWrite" */ + /* 100 */ ts + 1636, /* "OpenDup" */ + /* 101 */ ts + 1644, /* "OpenAutoindex" */ + /* 102 */ ts + 1658, /* "BitAnd" */ + /* 103 */ ts + 1665, /* "BitOr" */ + /* 104 */ ts + 1671, /* "ShiftLeft" */ + /* 105 */ ts + 1681, /* "ShiftRight" */ + /* 106 */ ts + 1692, /* "Add" */ + /* 107 */ ts + 1696, /* "Subtract" */ + /* 108 */ ts + 1705, /* "Multiply" */ + /* 109 */ ts + 1714, /* "Divide" */ + /* 110 */ ts + 1721, /* "Remainder" */ + /* 111 */ ts + 1731, /* "Concat" */ + /* 112 */ ts + 1738, /* "OpenEphemeral" */ + /* 113 */ ts + 1752, /* "BitNot" */ + /* 114 */ ts + 1759, /* "SorterOpen" */ + /* 115 */ ts + 1770, /* "SequenceTest" */ + /* 116 */ ts + 1783, /* "String8" */ + /* 117 */ ts + 1791, /* "OpenPseudo" */ + /* 118 */ ts + 1802, /* "Close" */ + /* 119 */ ts + 1808, /* "ColumnsUsed" */ + /* 120 */ ts + 1820, /* "SeekScan" */ + /* 121 */ ts + 1829, /* "SeekHit" */ + /* 122 */ ts + 1837, /* "Sequence" */ + /* 123 */ ts + 1846, /* "NewRowid" */ + /* 124 */ ts + 1855, /* "Insert" */ + /* 125 */ ts + 1862, /* "RowCell" */ + /* 126 */ ts + 1870, /* "Delete" */ + /* 127 */ ts + 1877, /* "ResetCount" */ + /* 128 */ ts + 1888, /* "SorterCompare" */ + /* 129 */ ts + 1902, /* "SorterData" */ + /* 130 */ ts + 1913, /* "RowData" */ + /* 131 */ ts + 1921, /* "Rowid" */ + /* 132 */ ts + 1927, /* "NullRow" */ + /* 133 */ ts + 1935, /* "SeekEnd" */ + /* 134 */ ts + 1943, /* "IdxInsert" */ + /* 135 */ ts + 1953, /* "SorterInsert" */ + /* 136 */ ts + 1966, /* "IdxDelete" */ + /* 137 */ ts + 1976, /* "DeferredSeek" */ + /* 138 */ ts + 1989, /* "IdxRowid" */ + /* 139 */ ts + 1998, /* "FinishSeek" */ + /* 140 */ ts + 2009, /* "Destroy" */ + /* 141 */ ts + 2017, /* "Clear" */ + /* 142 */ ts + 2023, /* "ResetSorter" */ + /* 143 */ ts + 2035, /* "CreateBtree" */ + /* 144 */ ts + 2047, /* "SqlExec" */ + /* 145 */ ts + 2055, /* "ParseSchema" */ + /* 146 */ ts + 2067, /* "LoadAnalysis" */ + /* 147 */ ts + 2080, /* "DropTable" */ + /* 148 */ ts + 2090, /* "DropIndex" */ + /* 149 */ ts + 2100, /* "DropTrigger" */ + /* 150 */ ts + 2112, /* "IntegrityCk" */ + /* 151 */ ts + 2124, /* "RowSetAdd" */ + /* 152 */ ts + 2134, /* "Real" */ + /* 153 */ ts + 2139, /* "Param" */ + /* 154 */ ts + 2145, /* "FkCounter" */ + /* 155 */ ts + 2155, /* "MemMax" */ + /* 156 */ ts + 2162, /* "OffsetLimit" */ + /* 157 */ ts + 2174, /* "AggInverse" */ + /* 158 */ ts + 2185, /* "AggStep" */ + /* 159 */ ts + 2193, /* "AggStep1" */ + /* 160 */ ts + 2202, /* "AggValue" */ + /* 161 */ ts + 2211, /* "AggFinal" */ + /* 162 */ ts + 2220, /* "Expire" */ + /* 163 */ ts + 2227, /* "CursorLock" */ + /* 164 */ ts + 2238, /* "CursorUnlock" */ + /* 165 */ ts + 2251, /* "TableLock" */ + /* 166 */ ts + 2261, /* "VBegin" */ + /* 167 */ ts + 2268, /* "VCreate" */ + /* 168 */ ts + 2276, /* "VDestroy" */ + /* 169 */ ts + 2285, /* "VOpen" */ + /* 170 */ ts + 2291, /* "VColumn" */ + /* 171 */ ts + 2299, /* "VRename" */ + /* 172 */ ts + 2307, /* "Pagecount" */ + /* 173 */ ts + 2317, /* "MaxPgcnt" */ + /* 174 */ ts + 2326, /* "Trace" */ + /* 175 */ ts + 2332, /* "CursorHint" */ + /* 176 */ ts + 2343, /* "ReleaseReg" */ + /* 177 */ ts + 2354, /* "Noop" */ + /* 178 */ ts + 2359, /* "Explain" */ + /* 179 */ ts + 2367, /* "Abortable" */ } /* sqlite3.c:33673:20 */ //************* End of opcodes.c ******************************************** @@ -23443,67 +23949,67 @@ type unix_syscall = struct { // testing and sandboxing. The following array holds the names and pointers // to all overrideable system calls. var aSyscall = [29]unix_syscall{ - {FzName: ts + 2362 /* "open" */, FpCurrent: 0}, + {FzName: ts + 2377 /* "open" */, FpCurrent: 0}, - {FzName: ts + 2367 /* "close" */, FpCurrent: 0}, + {FzName: ts + 2382 /* "close" */, FpCurrent: 0}, - {FzName: ts + 2373 /* "access" */, FpCurrent: 0}, + {FzName: ts + 2388 /* "access" */, FpCurrent: 0}, - {FzName: ts + 2380 /* "getcwd" */, FpCurrent: 0}, + {FzName: ts + 2395 /* "getcwd" */, FpCurrent: 0}, - {FzName: ts + 2387 /* "stat" */, FpCurrent: 0}, + {FzName: ts + 2402 /* "stat" */, FpCurrent: 0}, // The DJGPP compiler environment looks mostly like Unix, but it // lacks the fcntl() system call. So redefine fcntl() to be something // that always succeeds. This means that locking does not occur under // DJGPP. But it is DOS - what did you expect? - {FzName: ts + 2392 /* "fstat" */, FpCurrent: 0}, + {FzName: ts + 2407 /* "fstat" */, FpCurrent: 0}, - {FzName: ts + 2398 /* "ftruncate" */, FpCurrent: 0}, + {FzName: ts + 2413 /* "ftruncate" */, FpCurrent: 0}, - {FzName: ts + 2408 /* "fcntl" */, FpCurrent: 0}, + {FzName: ts + 2423 /* "fcntl" */, FpCurrent: 0}, - {FzName: ts + 2414 /* "read" */, FpCurrent: 0}, + {FzName: ts + 2429 /* "read" */, FpCurrent: 0}, - {FzName: ts + 2419 /* "pread" */}, + {FzName: ts + 2434 /* "pread" */}, - {FzName: ts + 2425 /* "pread64" */}, + {FzName: ts + 2440 /* "pread64" */}, - {FzName: ts + 2433 /* "write" */, FpCurrent: 0}, + {FzName: ts + 2448 /* "write" */, FpCurrent: 0}, - {FzName: ts + 2439 /* "pwrite" */}, + {FzName: ts + 2454 /* "pwrite" */}, - {FzName: ts + 2446 /* "pwrite64" */}, + {FzName: ts + 2461 /* "pwrite64" */}, - {FzName: ts + 2455 /* "fchmod" */, FpCurrent: 0}, + {FzName: ts + 2470 /* "fchmod" */, FpCurrent: 0}, - {FzName: ts + 2462 /* "fallocate" */}, + {FzName: ts + 2477 /* "fallocate" */}, - {FzName: ts + 2472 /* "unlink" */, FpCurrent: 0}, + {FzName: ts + 2487 /* "unlink" */, FpCurrent: 0}, - {FzName: ts + 2479 /* "openDirectory" */, FpCurrent: 0}, + {FzName: ts + 2494 /* "openDirectory" */, FpCurrent: 0}, - {FzName: ts + 2493 /* "mkdir" */, FpCurrent: 0}, + {FzName: ts + 2508 /* "mkdir" */, FpCurrent: 0}, - {FzName: ts + 2499 /* "rmdir" */, FpCurrent: 0}, + {FzName: ts + 2514 /* "rmdir" */, FpCurrent: 0}, - {FzName: ts + 2505 /* "fchown" */, FpCurrent: 0}, + {FzName: ts + 2520 /* "fchown" */, FpCurrent: 0}, - {FzName: ts + 2512 /* "geteuid" */, FpCurrent: 0}, + {FzName: ts + 2527 /* "geteuid" */, FpCurrent: 0}, - {FzName: ts + 2520 /* "mmap" */, FpCurrent: 0}, + {FzName: ts + 2535 /* "mmap" */, FpCurrent: 0}, - {FzName: ts + 2525 /* "munmap" */, FpCurrent: 0}, + {FzName: ts + 2540 /* "munmap" */, FpCurrent: 0}, - {FzName: ts + 2532 /* "mremap" */, FpCurrent: 0}, + {FzName: ts + 2547 /* "mremap" */, FpCurrent: 0}, - {FzName: ts + 2539 /* "getpagesize" */, FpCurrent: 0}, + {FzName: ts + 2554 /* "getpagesize" */, FpCurrent: 0}, - {FzName: ts + 2551 /* "readlink" */, FpCurrent: 0}, + {FzName: ts + 2566 /* "readlink" */, FpCurrent: 0}, - {FzName: ts + 2560 /* "lstat" */, FpCurrent: 0}, + {FzName: ts + 2575 /* "lstat" */, FpCurrent: 0}, - {FzName: ts + 2566 /* "ioctl" */}, + {FzName: ts + 2581 /* "ioctl" */}, } /* sqlite3.c:34446:3 */ // End of the overrideable system calls @@ -23637,9 +24143,9 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3 } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, fd) Xsqlite3_log(tls, SQLITE_WARNING, - ts+2572 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) + ts+2587 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) fd = -1 - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, ts+2615 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, ts+2630 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { break } } @@ -23897,13 +24403,13 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // the strerror() function to obtain the human-readable error message // equivalent to errno. Otherwise, use strerror_r(). // This is a threadsafe build, but strerror_r() is not available. - zErr = ts + 729 /* "" */ + zErr = ts + 744 /* "" */ if zPath == uintptr(0) { - zPath = ts + 729 /* "" */ + zPath = ts + 744 /* "" */ } Xsqlite3_log(tls, errcode, - ts+2625, /* "os_unix.c:%d: (%..." */ + ts+2640, /* "os_unix.c:%d: (%..." */ libc.VaList(bp, iLine, iErrno, zFunc, zPath, zErr)) return errcode @@ -23922,7 +24428,7 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // and move on. func robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { /* sqlite3.c:35345:13: */ if (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, h) != 0 { - unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+2367, /* "close" */ + unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+2382, /* "close" */ func() uintptr { if pFile != 0 { return (*UnixFile)(unsafe.Pointer(pFile)).FzPath @@ -24081,19 +24587,19 @@ func verifyDbFile(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:35532:13: */ rc = (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, bp+32 /* &buf */) if rc != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2656 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2671 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink == uint64(0) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2680 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2695 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink > uint64(1) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2709 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2724 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2736 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2751 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -25207,7 +25713,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql var fd int32 = -1 // var zDirname [513]int8 at bp+8, 513 - Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+8 /* &zDirname[0] */, ts+2764 /* "%s" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+8 /* &zDirname[0] */, ts+2779 /* "%s" */, libc.VaList(bp, zFilename)) for ii = int32(libc.Xstrlen(tls, bp+8 /* &zDirname[0] */)); (ii > 0) && (int32(*(*int8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */ + uintptr(ii)))) != '/'); ii-- { } if ii > 0 { @@ -25226,7 +25732,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql if fd >= 0 { return SQLITE_OK } - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+2479 /* "openDirectory" */, bp+8 /* &zDirname[0] */, 37775) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+2494 /* "openDirectory" */, bp+8 /* &zDirname[0] */, 37775) } // Make sure all writes to a particular file are committed to disk. @@ -25261,7 +25767,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 if rc != 0 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+2767 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+2782 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) } // Also fsync the directory containing the file if the DIRSYNC flag @@ -25299,7 +25805,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 { /* sqlite3.c:378 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+2398 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2413 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) } else { // If the file was just truncated to a size smaller than the currently @@ -25378,7 +25884,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c if iWrite >= nSize { iWrite = (nSize - int64(1)) } - nWrite = seekAndWrite(tls, pFile, iWrite, ts+729 /* "" */, 1) + nWrite = seekAndWrite(tls, pFile, iWrite, ts+744 /* "" */, 1) if nWrite != 1 { return (SQLITE_IOERR | (int32(3) << 8)) } @@ -25391,7 +25897,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c 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+2398 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2413 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) } } @@ -25465,7 +25971,7 @@ func unixFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { } case SQLITE_FCNTL_VFSNAME: { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) return SQLITE_OK } @@ -25751,7 +26257,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32 // help detect if a -shm file truncation is legitimate or is the work // or a rogue process. if (rc == SQLITE_OK) && (robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0) { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+2398 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+2413 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) } } } else if int32((*flock)(unsafe.Pointer(bp+8 /* &lock */)).Fl_type) == F_WRLCK { @@ -25857,7 +26363,7 @@ __4: ; libc.Xmemset(tls, pShmNode, 0, (uint64(unsafe.Sizeof(unixShmNode{})) + uint64(nShmFilename))) zShm = libc.AssignPtrUintptr(pShmNode+16 /* &.zFilename */, (pShmNode + 1*96)) - Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+2778 /* "%s-shm" */, libc.VaList(bp, zBasePath)) + Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+2793 /* "%s-shm" */, libc.VaList(bp, zBasePath)) (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = -1 (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pDbFd)).FpInode)).FpShmNode = pShmNode @@ -25879,7 +26385,7 @@ __5: if !(int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FbProcessLock) == 0) { goto __7 } - if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+2785 /* "readonly_shm" */, 0)) { + if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+2800 /* "readonly_shm" */, 0)) { goto __8 } (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = robust_open(tls, zShm, ((O_RDWR | O_CREAT) | 0400000), @@ -25894,7 +26400,7 @@ __8: if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) { goto __10 } - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+2362 /* "open" */, zShm, 38716) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+2377 /* "open" */, zShm, 38716) goto shm_open_err __10: ; @@ -26061,11 +26567,11 @@ __11: goto __13 } *(*int32)(unsafe.Pointer(bp + 144 /* x */)) = 0 - if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+729 /* "" */, 1, bp+144 /* &x */) != 1) { + if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+744 /* "" */, 1, bp+144 /* &x */) != 1) { goto __14 } zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+2433 /* "write" */, zFile, 38860) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+2448 /* "write" */, zFile, 38860) goto shmpage_out __14: ; @@ -26113,7 +26619,7 @@ __16: if !(pMem == (libc.UintptrFromInt32(-1))) { goto __20 } - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+2520 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+2535 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) goto shmpage_out __20: ; @@ -26372,7 +26878,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39165:13: */ // continue accessing the database using the xRead() and xWrite() // methods. func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13: */ - var zErr uintptr = ts + 2520 /* "mmap" */ + var zErr uintptr = ts + 2535 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping var nOrig I64 = (*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual // Size of pOrig region in bytes @@ -26389,7 +26895,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13 } pNew = (*(*func(*libc.TLS, uintptr, Size_t, Size_t, int32, uintptr) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 24*24 + 8 /* &.pCurrent */))))(tls, pOrig, uint64(nReuse), uint64(nNew), MREMAP_MAYMOVE, 0) - zErr = ts + 2532 /* "mremap" */ + zErr = ts + 2547 /* "mremap" */ // The attempt to extend the existing mapping failed. Free it. if (pNew == (libc.UintptrFromInt32(-1))) || (pNew == uintptr(0)) { @@ -26625,10 +27131,10 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename } return uintptr(0) }(), - ts+2798 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { + ts+2813 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { *(*uint16)(unsafe.Pointer(pNew + 30 /* &.ctrlFlags */)) |= uint16((UNIXFILE_PSOW)) } - if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+2803 /* "unix-excl" */) == 0 { + if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+2818 /* "unix-excl" */) == 0 { *(*uint16)(unsafe.Pointer(pNew + 30 /* &.ctrlFlags */)) |= uint16((UNIXFILE_EXCL)) } @@ -26674,7 +27180,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename if zLockFile == uintptr(0) { rc = SQLITE_NOMEM } else { - Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+2813 /* "%s.lock" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+2828 /* "%s.lock" */, libc.VaList(bp, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext = zLockFile } @@ -26704,10 +27210,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var zDir uintptr = Xsqlite3_temp_directory if !(int32(azDirs[0]) != 0) { - azDirs[0] = libc.Xgetenv(tls, ts+2821 /* "SQLITE_TMPDIR" */) + azDirs[0] = libc.Xgetenv(tls, ts+2836 /* "SQLITE_TMPDIR" */) } if !(int32(azDirs[1]) != 0) { - azDirs[1] = libc.Xgetenv(tls, ts+2835 /* "TMPDIR" */) + azDirs[1] = libc.Xgetenv(tls, ts+2850 /* "TMPDIR" */) } for 1 != 0 { if (((zDir != uintptr(0)) && @@ -26727,10 +27233,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var azDirs = [6]uintptr{ uintptr(0), uintptr(0), - ts + 2842, /* "/var/tmp" */ - ts + 2851, /* "/usr/tmp" */ - ts + 2860, /* "/tmp" */ - ts + 742, /* "." */ + ts + 2857, /* "/var/tmp" */ + ts + 2866, /* "/usr/tmp" */ + ts + 2875, /* "/tmp" */ + ts + 757, /* "." */ } /* sqlite3.c:39857:21 */ // Create a temporary file name in zBuf. zBuf must be allocated @@ -26758,7 +27264,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U64(0))), bp+24 /* &r */) *(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2)))) = int8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+2865, /* "%s/etilqs_%llx%c" */ + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+2880, /* "%s/etilqs_%llx%c" */ libc.VaList(bp, zDir, *(*U64)(unsafe.Pointer(bp + 24 /* r */)), 0)) if (int32(*(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2))))) != 0) || ((libc.PostIncInt32(&iLimit, 1)) > 10) { return SQLITE_ERROR @@ -26914,7 +27420,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // filename, check for the "modeof" parameter. If present, interpret // its value as a filename and try to copy the mode, uid and gid from // that file. - var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+2882 /* "modeof" */) + var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+2897 /* "modeof" */) if z != 0 { rc = getFileMode(tls, z, pMode, pUid, pGid) } @@ -27140,7 +27646,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+2362 /* "open" */, zName, 40257) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+2377 /* "open" */, zName, 40257) if !(rc == SQLITE_OK) { goto __20 } @@ -27251,7 +27757,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+2472 /* "unlink" */, zPath, 40396) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+2487 /* "unlink" */, zPath, 40396) } return rc } @@ -27261,7 +27767,7 @@ 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 /* &.pCurrent */))))(tls, zPath, bp /* &fd */) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp /* fd */)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+2889 /* "fsync" */, zPath, 40406) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+2904 /* "fsync" */, zPath, 40406) } robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 40408) } else { @@ -27336,7 +27842,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(tls, zOut, (uint64(nOut-2))) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+2380 /* "getcwd" */, zPath, 40485) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+2395 /* "getcwd" */, zPath, 40485) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -27347,7 +27853,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) return Xsqlite3CantopenError(tls, 40494) } - Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+2764 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+2779 /* "%s" */, libc.VaList(bp, zPath)) // Remove duplicate '/' characters. Except, two // at the beginning // of a pathname is allowed since this is important on windows. @@ -27422,7 +27928,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8 /* &.pCurrent */))))(tls, zIn, bp /* &buf */) != 0 { if (*(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+2560 /* "lstat" */, zIn, 40577) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+2575 /* "lstat" */, zIn, 40577) } } else { bLink = (libc.Bool32((((*stat)(unsafe.Pointer(bp /* &buf */)).Fst_mode) & X__mode_t(0170000)) == (X__mode_t(0120000)))) @@ -27442,7 +27948,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls, zIn, zDel, (uint64(nOut - 1)))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+2551 /* "readlink" */, zIn, 40595) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+2566 /* "readlink" */, zIn, 40595) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 @@ -27536,7 +28042,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixEnterMutex(tls) zErr = libc.Xdlerror(tls) if zErr != 0 { - Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+2764 /* "%s" */, libc.VaList(bp, zErr)) + Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+2779 /* "%s" */, libc.VaList(bp, zErr)) } unixLeaveMutex(tls) } @@ -27593,7 +28099,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in { var fd int32 var got int32 - fd = robust_open(tls, ts+2895 /* "/dev/urandom" */, O_RDONLY, uint32(0)) + fd = robust_open(tls, ts+2910 /* "/dev/urandom" */, O_RDONLY, uint32(0)) if fd < 0 { // var t Time_t at bp, 8 @@ -27890,10 +28396,10 @@ func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42038:16: */ } var aVfs = [4]Sqlite3_vfs{ - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2908 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2913 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2923 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2803 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2923 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2928 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2938 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2818 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, } /* sqlite3.c:42091:22 */ // Shutdown the operating system interface. @@ -27988,7 +28494,7 @@ var memdb_g MemFS /* sqlite3.c:48620:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) FmxPathname: 1024, // pNext - FzName: ts + 2936, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 2951, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -28220,7 +28726,7 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 var rc int32 = SQLITE_NOTFOUND memdbEnter(tls, p) if op == SQLITE_FCNTL_VFSNAME { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2942 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2957 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == SQLITE_FCNTL_SIZE_LIMIT { @@ -28363,7 +28869,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(8) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+2764 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+2779 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } @@ -28480,7 +28986,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = Xsqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, ts+2957 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+2972 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) } else { @@ -28553,7 +29059,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+2980 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+2995 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) if !(zSql == uintptr(0)) { goto __3 } @@ -34031,7 +34537,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+2995, /* "recovered %d pag..." */ + Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+3010, /* "recovered %d pag..." */ libc.VaList(bp, nPlayback, (*Pager)(unsafe.Pointer(pPager)).FzJournal)) __27: ; @@ -35783,7 +36289,7 @@ __15: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzJournal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint64(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+3022 /* "-journal" */, uint64(8)) + libc.Xmemcpy(tls, pPtr, ts+3037 /* "-journal" */, uint64(8)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -35798,7 +36304,7 @@ __19: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzWal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint64(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+3031 /* "-wal" */, uint64(4)) + libc.Xmemcpy(tls, pPtr, ts+3046 /* "-wal" */, uint64(4)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -35857,9 +36363,9 @@ __27: ; __26: ; - (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3036 /* "nolock" */, 0)) + (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3051 /* "nolock" */, 0)) if !(((iDc & SQLITE_IOCAP_IMMUTABLE) != 0) || - (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3043 /* "immutable" */, 0) != 0)) { + (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3058 /* "immutable" */, 0) != 0)) { goto __30 } vfsFlags = vfsFlags | (SQLITE_OPEN_READONLY) @@ -39756,7 +40262,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+3053, /* "recovered %d fra..." */ + ts+3068, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -40501,7 +41007,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+3090 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) + Xsqlite3_log(tls, rx, ts+3105 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) } } @@ -43281,7 +43787,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:65443: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3116 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3131 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -45321,7 +45827,7 @@ func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt mutexOpen = uintptr(0) rc = SQLITE_OK isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zFilename))) == 0))) - isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+3132 /* ":memory:" */) == 0)) || + isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+3147 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -46195,7 +46701,7 @@ __10: // // The original design allowed these amounts to vary, but as of // version 3.6.0, we require them to be fixed. - if !(libc.Xmemcmp(tls, (page1+21), ts+3141 /* "@ " */, uint64(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+3156 /* "@ " */, uint64(3)) != 0) { goto __14 } goto page1_init_failed @@ -53711,7 +54217,7 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+3145 /* "\n" */, 1) + Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+3160 /* "\n" */, 1) } if (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, (pCheck + 56 /* &.errMsg */), (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -53747,11 +54253,11 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 defer tls.Free(16) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { - checkAppendMsg(tls, pCheck, ts+3147 /* "invalid page num..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+3162 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+3170 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) + checkAppendMsg(tls, pCheck, ts+3185 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -53778,13 +54284,13 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 } - checkAppendMsg(tls, pCheck, ts+3195 /* "Failed to read p..." */, libc.VaList(bp, iChild)) + checkAppendMsg(tls, pCheck, ts+3210 /* "Failed to read p..." */, libc.VaList(bp, iChild)) return } if (int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, - ts+3224, /* "Bad ptr map entr..." */ + ts+3239, /* "Bad ptr map entr..." */ libc.VaList(bp+8, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)))) } } @@ -53807,7 +54313,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } N-- if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+40 /* &pOvflPage */, 0) != 0 { - checkAppendMsg(tls, pCheck, ts+3278 /* "failed to get pa..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+3293 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) @@ -53818,7 +54324,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+3300 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) + ts+3315 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -53844,12 +54350,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, - ts+3339, /* "%s is %d but sho..." */ + ts+3354, /* "%s is %d but sho..." */ libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { - return ts + 3365 /* "size" */ + return ts + 3380 /* "size" */ } - return ts + 3370 /* "overflow list le..." */ + return ts + 3385 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -53993,13 +54499,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3391 /* "Page %u: " */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3406 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+96 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, - ts+3401 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+3416 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -54013,7 +54519,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+3439 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) + ts+3454 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; @@ -54021,7 +54527,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+3477 /* "free space corru..." */, libc.VaList(bp+16, rc)) + checkAppendMsg(tls, pCheck, ts+3492 /* "free space corru..." */, libc.VaList(bp+16, rc)) goto end_of_check __5: ; @@ -54029,7 +54535,7 @@ __5: hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FhdrOffset) // Set up for cell analysis - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3499 /* "On tree page %u ..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3514 /* "On tree page %u ..." */ contentOffset = (U32(((((int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5)))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5))) + 1)))) - 1) & 0xffff) + 1)) // Enforced by btreeInitPage() @@ -54051,7 +54557,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3525 /* "On page %u at ri..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3540 /* "On page %u at ri..." */ checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; @@ -54082,7 +54588,7 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+3553, /* "Offset %d out of..." */ + checkAppendMsg(tls, pCheck, ts+3568, /* "Offset %d out of..." */ libc.VaList(bp+24, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 @@ -54093,7 +54599,7 @@ __12: if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+3583 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+3598 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -54111,7 +54617,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+3607 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+3622 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) __15: ; *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 112 /* &info */)).FnKey @@ -54152,7 +54658,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+3631 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+3646 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -54250,7 +54756,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+3656 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) + ts+3671 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) goto __30 goto __32 __31: @@ -54270,7 +54776,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+3693, /* "Fragmentation of..." */ + ts+3708, /* "Fragmentation of..." */ libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -54399,7 +54905,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 3745 /* "Main freelist: " */ + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 3760 /* "Main freelist: " */ checkList(tls, bp+32 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) @@ -54437,7 +54943,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+3761, /* "max rootpage (%d..." */ + ts+3776, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -54447,7 +54953,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+3806 /* "incremental_vacu..." */, 0) + ts+3821 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -54497,13 +55003,13 @@ __23: if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3861 /* "Page %d is never..." */, libc.VaList(bp+16, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3876 /* "Page %d is never..." */, libc.VaList(bp+16, i)) __26: ; if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3883 /* "Pointer map page..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3898 /* "Pointer map page..." */, libc.VaList(bp+24, i)) __27: ; goto __24 @@ -54822,7 +55328,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = pDb if Xsqlite3OpenTempDatabase(tls, bp+16 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+2764 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+2779 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg) @@ -54833,7 +55339,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+3917 /* "unknown database..." */, libc.VaList(bp+8, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+3932 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -54854,7 +55360,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76336:12: */ // message in database handle db. func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:76348:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { - Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+3937 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+3952 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -54881,7 +55387,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+3968 /* "source and desti..." */, 0) + pDestDb, SQLITE_ERROR, ts+3983 /* "source and desti..." */, 0) p = uintptr(0) } else { // Allocate space for a new sqlite3_backup object... @@ -55495,7 +56001,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 8 /* x */)), zBuf) } else { Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+4008, /* "%!.15g" */ + Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+4023, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -56136,7 +56642,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -56342,6 +56848,8 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 (*Mem)(unsafe.Pointer(pMem)).Fflags = flags if enc != 0 { (*Mem)(unsafe.Pointer(pMem)).Fenc = enc + } else if (*Mem)(unsafe.Pointer(pMem)).Fdb == uintptr(0) { + (*Mem)(unsafe.Pointer(pMem)).Fenc = U8(SQLITE_UTF8) } else { (*Mem)(unsafe.Pointer(pMem)).Fenc = (*Sqlite3)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fdb)).Fenc @@ -56647,7 +57155,7 @@ __9: goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+2764 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) + Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+2779 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: Xsqlite3ValueApplyAffinity(tls, pVal, aff, uint8(SQLITE_UTF8)) @@ -56719,7 +57227,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 zVal = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = uintptr(0) negInt = 1 - zNeg = ts + 729 /* "" */ + zNeg = ts + 744 /* "" */ rc = SQLITE_OK __1: @@ -56768,7 +57276,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 4015 /* "-" */ + zNeg = ts + 4030 /* "-" */ __6: ; @@ -56788,7 +57296,7 @@ __9: Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: - zVal = Xsqlite3MPrintf(tls, db, ts+4017 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + zVal = Xsqlite3MPrintf(tls, db, ts+4032 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) if !(zVal == uintptr(0)) { goto __12 } @@ -58233,34 +58741,34 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4022 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4037 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 32 /* &.aColl */) + uintptr(j)*8)) var zColl uintptr if pColl != 0 { zColl = (*CollSeq)(unsafe.Pointer(pColl)).FzName } else { - zColl = ts + 729 /* "" */ + zColl = ts + 744 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+292 /* "BINARY" */) == 0 { - zColl = ts + 4027 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+307 /* "BINARY" */) == 0 { + zColl = ts + 4042 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4029, /* ",%s%s%s" */ + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4044, /* ",%s%s%s" */ libc.VaList(bp+8, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { - return ts + 4015 /* "-" */ + return ts + 4030 /* "-" */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 4037 /* "N." */ + return ts + 4052 /* "N." */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4040 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4055 /* ")" */, 1) break } @@ -58268,7 +58776,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4042 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4057 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -58276,32 +58784,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4051 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4066 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4051 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4066 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4058 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4073 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4063 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4078 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+512 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+527 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -58311,14 +58819,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4058 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4073 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+512 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+527 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { - zP4 = ts + 730 /* "NULL" */ + zP4 = ts + 745 /* "NULL" */ } else { - zP4 = ts + 4066 /* "(blob)" */ + zP4 = ts + 4081 /* "(blob)" */ } break @@ -58326,7 +58834,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4073 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4088 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -58337,20 +58845,20 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4081 /* "%c%u" */, libc.VaList(bp+128, func() int32 { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4096 /* "%c%u" */, libc.VaList(bp+128, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4086 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4101 /* "]" */, 1) break } case -4: { - zP4 = ts + 4088 /* "program" */ + zP4 = ts + 4103 /* "program" */ break } @@ -58382,7 +58890,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } -var encnames = [4]uintptr{ts + 4096 /* "?" */, ts + 4098 /* "8" */, ts + 4100 /* "16LE" */, ts + 4105 /* "16BE" */} /* sqlite3.c:80570:25 */ +var encnames = [4]uintptr{ts + 4111 /* "?" */, ts + 4113 /* "8" */, ts + 4115 /* "16LE" */, ts + 4120 /* "16BE" */} /* sqlite3.c:80570:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -58913,8 +59421,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 4110 /* "addr" */, ts + 4115 /* "opcode" */, ts + 4122 /* "p1" */, ts + 4125 /* "p2" */, ts + 4128 /* "p3" */, ts + 4131 /* "p4" */, ts + 4134 /* "p5" */, ts + 4137, /* "comment" */ - ts + 4145 /* "id" */, ts + 4148 /* "parent" */, ts + 4155 /* "notused" */, ts + 4163, /* "detail" */ + ts + 4125 /* "addr" */, ts + 4130 /* "opcode" */, ts + 4137 /* "p1" */, ts + 4140 /* "p2" */, ts + 4143 /* "p3" */, ts + 4146 /* "p4" */, ts + 4149 /* "p5" */, ts + 4152, /* "comment" */ + ts + 4160 /* "id" */, ts + 4163 /* "parent" */, ts + 4170 /* "notused" */, ts + 4178, /* "detail" */ } /* sqlite3.c:81298:23 */ // Close a VDBE cursor and release all the resources that cursor @@ -59162,7 +59670,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Select a super-journal file name nMainFile = Xsqlite3Strlen30(tls, zMainFile) - zSuper = Xsqlite3MPrintf(tls, db, ts+4170 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) + zSuper = Xsqlite3MPrintf(tls, db, ts+4185 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) if zSuper == uintptr(0) { return SQLITE_NOMEM } @@ -59172,16 +59680,16 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+4182 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+4197 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+4196 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+4211 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) } } retryCount++ Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &iRandom */) - Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+4211, /* "-mj%06X9%02X" */ + Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+4226, /* "-mj%06X9%02X" */ libc.VaList(bp+40, ((*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. @@ -59375,7 +59883,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq (!(deferred != 0) && ((*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0))) { (*Vdbe)(unsafe.Pointer(p)).Frc = (SQLITE_CONSTRAINT | (int32(3) << 8)) (*Vdbe)(unsafe.Pointer(p)).FerrorAction = U8(OE_Abort) - Xsqlite3VdbeError(tls, p, ts+4224 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4239 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -59657,7 +60165,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: // called), set the database error in this case as well. Xsqlite3ErrorWithMsg(tls, db, (*Vdbe)(unsafe.Pointer(p)).Frc, func() uintptr { if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { - return ts + 2764 /* "%s" */ + return ts + 2779 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -61208,13 +61716,13 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023 var zContext uintptr var zMsg uintptr if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_IsCheck) != 0 { - zContext = ts + 4254 /* "a CHECK constrai..." */ + zContext = ts + 4269 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 4273 /* "a generated colu..." */ + zContext = ts + 4288 /* "a generated colu..." */ } else { - zContext = ts + 4292 /* "an index" */ + zContext = ts + 4307 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+4301, /* "non-deterministi..." */ + zMsg = Xsqlite3_mprintf(tls, ts+4316, /* "non-deterministi..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -61345,7 +61853,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84185:1 // invalid). Return false if it is ok. func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+4337 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+4352 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -61355,7 +61863,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84204:12: */ if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+4382 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+4397 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -61825,7 +62333,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:84708:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG - Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+4422 /* "string or blob t..." */, int64(-1), + Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+4437 /* "string or blob t..." */, int64(-1), uint8(SQLITE_UTF8), uintptr(0)) } @@ -62576,7 +63084,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12 Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+4445 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) + ts+4460 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) return Xsqlite3MisuseError(tls, 85498) } if (i < 1) || (i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar)) { @@ -63353,7 +63861,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4485 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4500 /* "-- " */, 3) Xsqlite3_str_append(tls, bp+48 /* &out */, zStart, (int32((int64(zRawSql) - int64(zStart)) / 1))) } @@ -63391,11 +63899,11 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 184 /* idx */))-1))*56) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+730 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+745 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4058 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4073 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4008 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4023 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc @@ -63410,21 +63918,21 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = bp + 192 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4489 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4504 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { Xsqlite3VdbeMemRelease(tls, bp+192 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4496 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4511 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4509 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4524 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4512 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4527 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4517 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4532 /* "'" */, 1) } } } @@ -67123,19 +67631,19 @@ __190: goto __193 } - Xsqlite3VdbeError(tls, p, ts+4519 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) + Xsqlite3VdbeError(tls, p, ts+4534 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __195 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+4540 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+4555 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __195: ; goto __194 __193: - Xsqlite3VdbeError(tls, p, ts+2764 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+2779 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __194: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+4547 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+4562 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __192: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -69685,7 +70193,7 @@ __74: } // A new savepoint cannot be created if there are active write // statements (i.e. open read/write incremental blob handles). - Xsqlite3VdbeError(tls, p, ts+4571 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4586 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __448 __447: @@ -69758,7 +70266,7 @@ __455: if !(!(pSavepoint != 0)) { goto __456 } - Xsqlite3VdbeError(tls, p, ts+4622 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) + Xsqlite3VdbeError(tls, p, ts+4637 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) rc = SQLITE_ERROR goto __457 __456: @@ -69768,7 +70276,7 @@ __456: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+4644 /* "cannot release s..." */, 0) + ts+4659 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __459 __458: @@ -69973,7 +70481,7 @@ __488: // If this instruction implements a COMMIT and other VMs are writing // return an error indicating that the other VMs must complete first. Xsqlite3VdbeError(tls, p, - ts+4698 /* "cannot commit tr..." */, 0) + ts+4713 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __491 @@ -70016,13 +70524,13 @@ __486: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 4753 /* "cannot start a t..." */ + return ts + 4768 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 4801 /* "cannot rollback ..." */ + return ts + 4816 /* "cannot rollback ..." */ } - return ts + 4844 /* "cannot commit - ..." */ + return ts + 4859 /* "cannot commit - ..." */ }() }(), 0) @@ -70140,7 +70648,7 @@ __498: // version is checked to ensure that the schema has not changed since the // SQL statement was prepared. Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+4885 /* "database schema ..." */) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+4900 /* "database schema ..." */) // If the schema-cookie from the database file matches the cookie // stored with the in-memory representation of the schema, do // not reload the schema from the database file. @@ -70522,7 +71030,7 @@ __84: // Only used when number of columns is zero (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fn = 0 - (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 729 /* "" */ + (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 744 /* "" */ __524: ; pCx1 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -72652,7 +73160,7 @@ __688: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __691 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+4913 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+4928 /* "index corruption" */) goto abort_due_to_error __691: ; @@ -73085,14 +73593,14 @@ __137: goto __720 __719: - zSchema = ts + 4930 /* "sqlite_master" */ + zSchema = ts + 4945 /* "sqlite_master" */ (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FiDb = iDb3 (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FpzErrMsg = (p + 168 /* &.zErrMsg */) (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmInitFlags = U32(0) (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+4944, /* "SELECT*FROM\"%w\"...." */ + ts+4959, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp+64, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __721 @@ -73425,7 +73933,7 @@ __741: goto __746 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+4987 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+5002 /* "too many levels ..." */, 0) goto abort_due_to_error __746: ; @@ -73870,7 +74378,7 @@ __781: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __783 } - Xsqlite3VdbeError(tls, p, ts+2764 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+2779 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __783: ; @@ -73948,7 +74456,7 @@ __788: if !(rc != 0) { goto __789 } - Xsqlite3VdbeError(tls, p, ts+2764 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+2779 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __789: ; @@ -74063,12 +74571,12 @@ __798: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+5024, /* "cannot change %s..." */ + ts+5039, /* "cannot change %s..." */ libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 5076 /* "into" */ + return ts + 5091 /* "into" */ } - return ts + 5081 /* "out of" */ + return ts + 5096 /* "out of" */ }())) goto abort_due_to_error goto __801 @@ -74271,7 +74779,7 @@ __167: goto __816 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+5088 /* "database table i..." */, libc.VaList(bp+112, z1)) + Xsqlite3VdbeError(tls, p, ts+5103 /* "database table i..." */, libc.VaList(bp+112, z1)) __816: ; goto abort_due_to_error @@ -74515,7 +75023,7 @@ __833: if !((*Sqlite3_context)(unsafe.Pointer(bp+872 /* &sContext */)).FisError > 0) { goto __834 } - Xsqlite3VdbeError(tls, p, ts+2764 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) + Xsqlite3VdbeError(tls, p, ts+2779 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) rc = (*Sqlite3_context)(unsafe.Pointer(bp + 872 /* &sContext */)).FisError __834: ; @@ -74846,7 +75354,7 @@ __857: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __862 } - Xsqlite3VdbeError(tls, p, ts+2764 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+2779 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __862: ; @@ -74936,7 +75444,7 @@ __867: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __869 } - z3 = Xsqlite3MPrintf(tls, db, ts+5117 /* "-- %s" */, libc.VaList(bp+136, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+5132 /* "-- %s" */, libc.VaList(bp+136, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __870 @@ -75039,13 +75547,13 @@ __878: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __880 } - Xsqlite3VdbeError(tls, p, ts+2764 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+2779 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) __880: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) - Xsqlite3_log(tls, rc, ts+5123, /* "statement aborts..." */ + Xsqlite3_log(tls, rc, ts+5138, /* "statement aborts..." */ libc.VaList(bp+152, (int32((int64(pOp)-int64(aOp))/24)), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { @@ -75090,14 +75598,14 @@ __884: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+4422 /* "string or blob t..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4437 /* "string or blob t..." */, 0) rc = SQLITE_TOOBIG goto abort_due_to_error // Jump to here if a malloc() fails. no_mem: Xsqlite3OomFault(tls, db) - Xsqlite3VdbeError(tls, p, ts+5155 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+5170 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -75110,8 +75618,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 5169 /* "NOT NULL" */, ts + 5178 /* "UNIQUE" */, ts + 5185, /* "CHECK" */ - ts + 5191 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ +var azType = [4]uintptr{ts + 5184 /* "NOT NULL" */, ts + 5193 /* "UNIQUE" */, ts + 5200, /* "CHECK" */ + ts + 5206 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:88844:32 */ var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:88847:32 */ var aFlag1 = [2]U16{U16(MEM_Blob), (U16(MEM_Str | MEM_Term))} /* sqlite3.c:89315:24 */ @@ -75218,16 +75726,16 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } if type1 < U32(12) { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5203, /* "cannot open valu..." */ + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5218, /* "cannot open valu..." */ libc.VaList(bp, func() uintptr { if type1 == U32(0) { - return ts + 5232 /* "null" */ + return ts + 5247 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 5237 /* "real" */ + return ts + 5252 /* "real" */ } - return ts + 5242 /* "integer" */ + return ts + 5257 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -75247,10 +75755,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5250 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5265 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+2764 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+2779 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -75313,21 +75821,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5270 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5285 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5300 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5315 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5336 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5351 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) __7: ; if !(!(pTab != 0)) { @@ -75372,7 +75880,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5357 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5372 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -75401,7 +75909,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+64 /* &.aCol */)+uintptr(j)*16)).FiFrom == iCol) { goto __23 } - zFault = ts + 5378 /* "foreign key" */ + zFault = ts + 5393 /* "foreign key" */ __23: ; goto __21 @@ -75434,7 +75942,7 @@ __27: if !((int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == iCol) || (int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == (-2))) { goto __30 } - zFault = ts + 5390 /* "indexed" */ + zFault = ts + 5405 /* "indexed" */ __30: ; goto __28 @@ -75455,7 +75963,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5398 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5413 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -75564,7 +76072,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) != 0 { - return ts + 2764 /* "%s" */ + return ts + 2779 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)))) @@ -75729,7 +76237,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) != 0 { - return ts + 2764 /* "%s" */ + return ts + 2779 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) @@ -79287,7 +79795,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+5432 /* "main" */, zDb) == 0)) { + if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+5447 /* "main" */, zDb) == 0)) { goto __8 } // This branch is taken when the main database has been renamed @@ -79490,14 +79998,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5437 /* "new" */, zTab) == 0)) { + if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5452 /* "new" */, zTab) == 0)) { goto __41 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 1 pTab = (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab goto __42 __41: - if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5441 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5456 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -79514,7 +80022,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+5445 /* "excluded" */, zTab) == 0)) { + if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+5460 /* "excluded" */, zTab) == 0)) { goto __45 } pTab = (*SrcItem)(unsafe.Pointer(((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8 /* &.a */))).FpTab @@ -79691,7 +80199,7 @@ __66: if !((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0) && (((*Expr)(unsafe.Pointer((pOrig))).Fflags & (U32(EP_Agg))) != U32(0))) { goto __70 } - Xsqlite3ErrorMsg(tls, pParse, ts+5454 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+5469 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -79699,14 +80207,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+5485 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+5500 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) return WRC_Abort __71: ; if !(Xsqlite3ExprVectorSize(tls, pOrig) != 1) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+5522 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5537 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -79782,7 +80290,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+5540 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) + ts+5555 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)) = uintptr(0) return WRC_Prune @@ -79803,23 +80311,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 5575 /* "no such column" */ + zErr = ts + 5590 /* "no such column" */ } else { - zErr = ts + 5590 /* "ambiguous column..." */ + zErr = ts + 5605 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+5612 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5627 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+5625 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5640 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+5635 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5650 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -79953,15 +80461,15 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp bp := tls.Alloc(16) defer tls.Free(16) - var zIn uintptr = ts + 5642 /* "partial index WH..." */ + var zIn uintptr = ts + 5657 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 5670 /* "index expression..." */ + zIn = ts + 5685 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 5688 /* "CHECK constraint..." */ + zIn = ts + 5703 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 5706 /* "generated column..." */ + zIn = ts + 5721 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+5724 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) + Xsqlite3ErrorMsg(tls, pParse, ts+5739 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) if pExpr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } @@ -80069,10 +80577,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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 /* &.u */)) = ts + 5744 /* "true" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5759 /* "true" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsTrue)) } else { - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5749 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5764 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) } (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) @@ -80125,7 +80633,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (NC_IdxExpr | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+5755 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+5770 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -80192,7 +80700,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+5772 /* "second argument ..." */, 0) + ts+5787 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -80217,7 +80725,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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+5843, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+5858, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -80241,7 +80749,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all // all this. if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & ((NC_IdxExpr | NC_PartIdx) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+5878 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+5893 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -80270,30 +80778,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+5906 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) + ts+5921 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) (*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 + 5950 /* "window" */ + zType = ts + 5965 /* "window" */ } else { - zType = ts + 5957 /* "aggregate" */ + zType = ts + 5972 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+5967 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+5982 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) (*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+5996 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+6011 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6019, /* "wrong number of ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6034, /* "wrong number of ..." */ libc.VaList(bp+64, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, - ts+6064, /* "FILTER may not b..." */ + ts+6079, /* "FILTER may not b..." */ libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -80368,7 +80876,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+6113 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+6128 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) @@ -80385,7 +80893,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s { if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+6124 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+6139 /* "parameters" */, pExpr) } break @@ -80445,7 +80953,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+5522 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5537 /* "row value misuse..." */, 0) } break @@ -80550,7 +81058,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+6135 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) + ts+6150 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) } // Analyze the ORDER BY clause in a compound SELECT statement. Modify @@ -80582,7 +81090,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 + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6191 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6206 /* "too many terms i..." */, 0) return 1 } for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { @@ -80617,7 +81125,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 } if Xsqlite3ExprIsInteger(tls, pE, bp+8 /* &iCol */) != 0 { if (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { - resolveOutOfRangeError(tls, pParse, ts+6225 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+6240 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -80688,7 +81196,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { if (int32(*(*uint8)(unsafe.Pointer(((pOrderBy + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.done */)) & 0x4 >> 2)) == 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+6231 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+6246 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -80716,7 +81224,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6292 /* "too many terms i..." */, libc.VaList(bp, zType)) + Xsqlite3ErrorMsg(tls, pParse, ts+6307 /* "too many terms i..." */, libc.VaList(bp, zType)) return 1 } pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList @@ -81005,7 +81513,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp /* &sNC */ + 40 /* &.ncFlags */)) |= (NC_UEList) if (*Select)(unsafe.Pointer(p)).FpHaving != 0 { if !(pGroupBy != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+6323 /* "a GROUP BY claus..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6338 /* "a GROUP BY claus..." */, 0) return WRC_Abort } if Xsqlite3ResolveExprNames(tls, bp /* &sNC */, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -81062,7 +81570,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // resolve those symbols on the incorrect ORDER BY for consistency. if (((*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0)) && (isCompound <= nCompound)) && // Defer right-most ORDER BY of a compound - (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6225 /* "ORDER" */) != 0) { + (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6240 /* "ORDER" */) != 0) { return WRC_Abort } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -81075,7 +81583,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql if pGroupBy != 0 { var pItem uintptr - if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+6367 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { + if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+6382 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { return WRC_Abort } i = 0 @@ -81087,7 +81595,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql { if ((*Expr)(unsafe.Pointer(((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr))).Fflags & (U32(EP_Agg))) != U32(0) { Xsqlite3ErrorMsg(tls, pParse, - ts+6373 /* "aggregate functi..." */, 0) + ts+6388 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -81857,7 +82365,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+5522 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5537 /* "row value misuse..." */, 0) return } @@ -81933,7 +82441,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 3*4)) if nHeight > mxHeight { Xsqlite3ErrorMsg(tls, pParse, - ts+6432 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+6447 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -82174,7 +82682,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+6480 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+6495 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -82196,7 +82704,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u return uintptr(0) } if (pList != 0) && ((*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 6*4))) { - Xsqlite3ErrorMsg(tls, pParse, ts+6482 /* "too many argumen..." */, libc.VaList(bp, pToken)) + Xsqlite3ErrorMsg(tls, pParse, ts+6497 /* "too many argumen..." */, libc.VaList(bp, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32 /* &.x */)) = pList *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_HasFunc)) @@ -82230,7 +82738,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // is tagged with SQLITE_FUNC_UNSAFE) and // SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning // that the schema is possibly tainted). - Xsqlite3ErrorMsg(tls, pParse, ts+6516 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6531 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) } } } @@ -82283,7 +82791,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+6535, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6550, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) return } @@ -82310,7 +82818,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*Expr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6578 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6593 /* "too many SQL var..." */, 0) } } @@ -82979,7 +83487,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+6601, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6616, /* "%d columns assig..." */ libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error __3: @@ -83114,7 +83622,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 2*4)) if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx) { - Xsqlite3ErrorMsg(tls, pParse, ts+6631 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+6646 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -83169,10 +83677,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 { /* sqlite3.c:103208:20: */ - if Xsqlite3StrICmp(tls, zIn, ts+5744 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+5759 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+5749 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+5764 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -83617,13 +84125,13 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 // Return TRUE if the given string is a row-id column name. func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:103650:20: */ - if Xsqlite3StrICmp(tls, z, ts+6654 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6669 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+6662 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6677 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+6668 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6683 /* "OID" */) == 0 { return 1 } return 0 @@ -83851,7 +84359,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, Xsqlite3OpenTable(tls, pParse, iTab, iDb, pTab, OP_OpenRead) eType = IN_INDEX_ROWID - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6672 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6687 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeJumpHere(tls, v, iAddr) } else { var pIdx uintptr // Iterator variable @@ -83942,7 +84450,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6719 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6734 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) @@ -84048,7 +84556,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec defer tls.Free(16) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { - var zFmt uintptr = ts + 6750 /* "sub-select retur..." */ + var zFmt uintptr = ts + 6765 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -84066,7 +84574,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_xIsSelect)) != 0 { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FpEList)).FnExpr, 1) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+5522 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5537 /* "row value misuse..." */, 0) } } @@ -84119,7 +84627,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6794 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6809 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) @@ -84155,11 +84663,11 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6817 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6832 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 729 /* "" */ + return ts + 744 /* "" */ } - return ts + 6836 /* "CORRELATED " */ + return ts + 6851 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSelect)).FselId)) // If the LHS and RHS of the IN operator do not match, that // error will have been caught long before we reach this point. @@ -84305,7 +84813,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // If this routine has already been coded, then invoke it as a // subroutine. if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6848 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6863 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) return (*Expr)(unsafe.Pointer(pExpr)).FiTable @@ -84338,11 +84846,11 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6866 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6881 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 729 /* "" */ + return ts + 744 /* "" */ } - return ts + 6836 /* "CORRELATED " */ + return ts + 6851 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSel)).FselId)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { nReg = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpEList)).FnExpr @@ -84366,7 +84874,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // The subquery already has a limit. If the pre-existing limit is X // then make the new limit X<>0 so that the new limit is either 1 or 0 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6480 /* "0" */) + pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6495 /* "0" */) if pLimit != 0 { (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, @@ -84376,7 +84884,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { // If there is no pre-existing limit add a limit of 1 - pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+6887 /* "1" */) + pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+6902 /* "1" */) (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -84868,12 +85376,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM c = Xsqlite3DecOrHexToI64(tls, z, bp+16 /* &value */) if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 16 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { - if Xsqlite3_strnicmp(tls, z, ts+6889 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6892 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { + if Xsqlite3_strnicmp(tls, z, ts+6904 /* "0x" */, 2) == 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+6907 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { - return ts + 4015 /* "-" */ + return ts + 4030 /* "-" */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -84948,7 +85456,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT } else if (int32((*Column)(unsafe.Pointer((libc.AssignUintptr(&pCol, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32))))).FcolFlags) & COLFLAG_VIRTUAL) != 0 { var pParse uintptr = Xsqlite3VdbeParser(tls, v) if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_BUSY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6918 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6933 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else { var savedSelfTab int32 = (*Parse)(unsafe.Pointer(pParse)).FiSelfTab *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) @@ -85507,7 +86015,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+6918, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6933, /* "generated column..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -85759,7 +86267,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+6948 /* "misuse of aggreg..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+6963 /* "misuse of aggreg..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*32)).FiMem @@ -85801,7 +86309,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+6974 /* "unknown function..." */, libc.VaList(bp+16, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+6989 /* "unknown function..." */, libc.VaList(bp+16, zId)) goto __3 __91: ; @@ -85995,7 +86503,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+6601, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6616, /* "%d columns assig..." */ libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -86077,7 +86585,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+5522 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5537 /* "row value misuse..." */, 0) goto __3 // TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions @@ -86201,7 +86709,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+6997 /* "RAISE() may only..." */, 0) + ts+7012 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -86240,7 +86748,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7047 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7062 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -88077,11 +88585,11 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq bp := tls.Alloc(8) defer tls.Free(8) - if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7055 /* "sqlite_" */, 7)) || + if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7070 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || ((((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Shadow)) != U32(0)) && (Xsqlite3ReadOnlyShadowTables(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+7063 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7078 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -88099,14 +88607,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+7091, /* "SELECT 1 FROM \"%..." */ + ts+7106, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+7266, /* "SELECT 1 FROM te..." */ + ts+7281, /* "SELECT 1 FROM te..." */ libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -88122,11 +88630,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+7440 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) + ts+7455 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+7587 /* "UPDATE temp.sqli..." */, 0) + ts+7602 /* "UPDATE temp.sqli..." */, 0) } } @@ -88200,7 +88708,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+7738 /* "there is already..." */, libc.VaList(bp, zName)) + ts+7753 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -88213,7 +88721,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+7797 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+7812 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -88223,7 +88731,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+7803 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7818 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -88276,24 +88784,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+7830 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+7845 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, - ts+8014, /* "UPDATE %Q.sqlite..." */ + ts+8029, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+64, zDb, zName, zName, zName, nTabName, zTabName)) // If the sqlite_sequence table exists in this database, then update // it with the new table name. - if !(Xsqlite3FindTable(tls, db, ts+8319 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+8334 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+8335, /* "UPDATE \"%w\".sqli..." */ + ts+8350, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -88306,7 +88814,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+8393 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+8408 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -88324,7 +88832,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+8658 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+8673 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -88339,7 +88847,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, - ts+8671, /* "SELECT raise(ABO..." */ + ts+8686, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -88387,12 +88895,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // If there is a NOT NULL constraint, then the default value for the // column must not be NULL. if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+8709 /* "Cannot add a PRI..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8724 /* "Cannot add a PRI..." */, 0) return } if (*Table)(unsafe.Pointer(pNew)).FpIndex != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+8741 /* "Cannot add a UNI..." */, 0) + ts+8756 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -88405,11 +88913,11 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if ((((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ForeignKeys)) != 0) && ((*Table)(unsafe.Pointer(pNew)).FpFKey != 0)) && (pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+8768 /* "Cannot add a REF..." */) + ts+8783 /* "Cannot add a REF..." */) } if ((*Column)(unsafe.Pointer(pCol)).FnotNull != 0) && !(pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+8827 /* "Cannot add a NOT..." */) + ts+8842 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -88425,12 +88933,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+8880 /* "Cannot add a col..." */) + ts+8895 /* "Cannot add a col..." */) } Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { - sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+8926 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+8941 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -88446,7 +88954,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+8953, /* "UPDATE \"%w\".sqli..." */ + ts+8968, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp, zDb, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zCol, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zTab)) Xsqlite3DbFree(tls, db, zCol) @@ -88517,7 +89025,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+9099 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9114 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -88526,7 +89034,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+9133 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9148 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -88561,7 +89069,7 @@ __6: nAlloc = ((((int32((*Table)(unsafe.Pointer(pNew)).FnCol) - 1) / 8) * 8) + 8) (*Table)(unsafe.Pointer(pNew)).FaCol = Xsqlite3DbMallocZero(tls, db, (uint64(uint64(unsafe.Sizeof(Column{})) * uint64(nAlloc)))) - (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+9163 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+9178 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(!(int32((*Table)(unsafe.Pointer(pNew)).FaCol) != 0) || !(int32((*Table)(unsafe.Pointer(pNew)).FzName) != 0)) { goto __7 } @@ -88608,18 +89116,18 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { - zType = ts + 9182 /* "view" */ + zType = ts + 9197 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 9187 /* "virtual table" */ + zType = ts + 9202 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+9201, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9216, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 9219 /* "drop column from" */ + return ts + 9234 /* "drop column from" */ } - return ts + 9236 /* "rename columns o..." */ + return ts + 9251 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -88712,13 +89220,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+5357 /* "no such column: ..." */, libc.VaList(bp, zOld)) + Xsqlite3ErrorMsg(tls, pParse, ts+5372 /* "no such column: ..." */, libc.VaList(bp, zOld)) goto exit_rename_column __10: ; // Ensure the schema contains no double-quoted strings - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+729 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+744 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iSchema == 1))) // Do the rename operation using a recursive UPDATE statement that @@ -88736,19 +89244,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+9254, /* "UPDATE \"%w\".sqli..." */ + ts+9269, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+8, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, - ts+9472, /* "UPDATE temp.sqli..." */ + ts+9487, /* "UPDATE temp.sqli..." */ libc.VaList(bp+72, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+8658 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+8673 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -89043,12 +89551,12 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui var zN uintptr = Xsqlite3_value_text(tls, pObject) var zErr uintptr - zErr = Xsqlite3_mprintf(tls, ts+9603, /* "error in %s %s%s..." */ + zErr = Xsqlite3_mprintf(tls, ts+9618, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - return ts + 9626 /* " " */ + return ts + 9641 /* " " */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -89157,7 +89665,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // ALTER TABLE statement was quoted (bQuote==1), then set zNew to // point to zQuot so that all substitutions are made using the // quoted version of the new column name. - zQuot = Xsqlite3MPrintf(tls, db, ts+9628 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+9643 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -89207,12 +89715,12 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.Xmemcpy(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, uint64((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+9634 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+9649 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { - return ts + 9626 /* " " */ + return ts + 9641 /* " " */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -89717,7 +90225,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+729 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) + renameColumnParseError(tls, context, ts+744 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) goto __45 __44: Xsqlite3_result_error_code(tls, context, rc) @@ -89897,7 +90405,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr } if rc != SQLITE_OK { if (*Parse)(unsafe.Pointer(bp+80 /* &sParse */)).FzErrMsg != 0 { - renameColumnParseError(tls, context, ts+729 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) + renameColumnParseError(tls, context, ts+744 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -90179,7 +90687,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+9639 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) + zNew = Xsqlite3MPrintf(tls, db, ts+9654 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -1, libc.UintptrFromInt32(-1)) Xsqlite3_free(tls, zNew) @@ -90267,7 +90775,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+5357 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5372 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -90277,12 +90785,12 @@ __6: if !((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & (COLFLAG_PRIMKEY | COLFLAG_UNIQUE)) != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+9646, /* "cannot drop %s c..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9661, /* "cannot drop %s c..." */ libc.VaList(bp+8, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - return ts + 9674 /* "PRIMARY KEY" */ + return ts + 9689 /* "PRIMARY KEY" */ } - return ts + 5178 /* "UNIQUE" */ + return ts + 5193 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -90293,7 +90801,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+9686 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+9701 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) goto exit_drop_column __8: ; @@ -90302,15 +90810,15 @@ __8: iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+729 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+744 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+9734 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+9749 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+9855 /* "after drop colum..." */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+9870 /* "after drop colum..." */, 1) // Edit rows of table on disk if !(((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) && ((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_VIRTUAL) == 0)) { @@ -90421,11 +90929,11 @@ func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:109584:21: */ } var aAlterTableFuncs = [5]FuncDef{ - {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9873 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9894 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9914 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9933 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9952 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ + {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9888 /* "sqlite_rename_co..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9909 /* "sqlite_rename_ta..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9929 /* "sqlite_rename_te..." */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9948 /* "sqlite_drop_colu..." */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9967 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -90622,7 +91130,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // of the new table in register pParse->regRoot. This is important // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, - ts+9975 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) + ts+9990 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } @@ -90634,10 +91142,10 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, - ts+9998, /* "DELETE FROM %Q.%..." */ + ts+10013, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+10028 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+10043 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb) @@ -90658,9 +91166,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 10046 /* "sqlite_stat1" */, FzCols: ts + 10059 /* "tbl,idx,stat" */}, - {FzName: ts + 10072 /* "sqlite_stat4" */, FzCols: ts + 10085 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 10113 /* "sqlite_stat3" */}, + {FzName: ts + 10061 /* "sqlite_stat1" */, FzCols: ts + 10074 /* "tbl,idx,stat" */}, + {FzName: ts + 10087 /* "sqlite_stat4" */, FzCols: ts + 10100 /* "tbl,idx,neq,nlt,..." */}, + {FzName: ts + 10128 /* "sqlite_stat3" */}, } /* sqlite3.c:109773:5 */ // Recommended number of samples for sqlite_stat4 @@ -90891,7 +91399,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10126 /* "stat_init" */} /* sqlite3.c:110084:22 */ + FzName: ts + 10141 /* "stat_init" */} /* sqlite3.c:110084:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -91209,7 +91717,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10136 /* "stat_push" */} /* sqlite3.c:110374:22 */ + FzName: ts + 10151 /* "stat_push" */} /* sqlite3.c:110374:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -91266,7 +91774,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+10146, /* "%llu" */ + Xsqlite3_snprintf(tls, 24, zRet, ts+10161, /* "%llu" */ libc.VaList(bp, func() uint64 { if (*StatAccum)(unsafe.Pointer(p)).FnSkipAhead != 0 { return U64((*StatAccum)(unsafe.Pointer(p)).FnEst) @@ -91277,7 +91785,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+10151 /* " %llu" */, libc.VaList(bp+8, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+10166 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -91326,7 +91834,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+10157 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+10172 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -91343,7 +91851,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10163 /* "stat_get" */} /* sqlite3.c:110526:22 */ + FzName: ts + 10178 /* "stat_get" */} /* sqlite3.c:110526:22 */ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:110538:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, (regStat + 1)) @@ -91390,7 +91898,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Do not gather statistics on views or virtual tables return } - if Xsqlite3_strlike(tls, ts+10172 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, ts+10187 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { // Do not gather statistics on system tables return } @@ -91408,7 +91916,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp return } (*Table)(unsafe.Pointer(pStat1)).FzName = (pStat1 + 1*120) - libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+10046 /* "sqlite_stat1" */, uint64(13)) + libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+10061 /* "sqlite_stat1" */, uint64(13)) (*Table)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*Table)(unsafe.Pointer(pStat1)).FiPKey = int16(-1) Xsqlite3VdbeAddOp4(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Noop, 0, 0, 0, pStat1, -17) @@ -91641,7 +92149,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Add the entry to the stat1 table. callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10182 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10197 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP4(tls, v, -1, pStat1, -6) @@ -91703,7 +92211,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp jZeroRows = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, regStat1) Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regIdxname) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10182 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10197 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -91756,9 +92264,9 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) iStatCur = (*Parse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52 /* &.nTab */)) += (3) if pOnlyIdx != 0 { - openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+10186 /* "idx" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+10201 /* "idx" */) } else { - openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10190 /* "tbl" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10205 /* "tbl" */) } analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1), (*Parse)(unsafe.Pointer(pParse)).FnTab) loadAnalysis(tls, pParse, iDb) @@ -91853,7 +92361,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 729 /* "" */ + z = ts + 744 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -91875,15 +92383,15 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, ts+10194 /* "unordered*" */, z) == 0 { + if Xsqlite3_strglob(tls, ts+10209 /* "unordered*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(1), 2, 0x4) - } else if Xsqlite3_strglob(tls, ts+10205 /* "sz=[0-9]*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+10220 /* "sz=[0-9]*" */, z) == 0 { var sz int32 = Xsqlite3Atoi(tls, (z + uintptr(3))) if sz < 2 { sz = 2 } (*Index)(unsafe.Pointer(pIndex)).FszIdxRow = Xsqlite3LogEst(tls, uint64(sz)) - } else if Xsqlite3_strglob(tls, ts+10215 /* "noskipscan*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+10230 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(1), 6, 0x40) } for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { @@ -92202,10 +92710,10 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:111438:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines - if Xsqlite3FindTable(tls, db, ts+10072 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+10087 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+10227, /* "SELECT idx,count..." */ - ts+10281, /* "SELECT idx,neq,n..." */ + ts+10242, /* "SELECT idx,count..." */ + ts+10296, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -92256,9 +92764,9 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // Load new statistics out of the sqlite_stat1 table (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).Fdb = db (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+10046 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { + if Xsqlite3FindTable(tls, db, ts+10061 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+10333 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) + ts+10348 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { @@ -92350,7 +92858,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // database iDb attached to handle db. func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:111595:20: */ return (libc.Bool32((Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0) || - ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+5432 /* "main" */, zName) == 0)))) + ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+5447 /* "main" */, zName) == 0)))) } // An SQL user-function registered to do the work of an ATTACH statement. The @@ -92401,13 +92909,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 729 /* "" */ + zFile = ts + 744 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 729 /* "" */ + zName = ts + 744 /* "" */ __2: ; @@ -92417,7 +92925,7 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+2936 /* "memdb" */) + *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+2951 /* "memdb" */) if !(*(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) == uintptr(0)) { goto __5 } @@ -92433,7 +92941,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+10374 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+10389 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -92446,7 +92954,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10377, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10392, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -92460,7 +92968,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10414 /* "database %s is a..." */, libc.VaList(bp+8, zName)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10429 /* "database %s is a..." */, libc.VaList(bp+8, zName)) goto attach_error __11: ; @@ -92531,7 +93039,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10444 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10459 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -92548,7 +93056,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+10473 /* "attached databas..." */, 0) + ts+10488 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -92618,13 +93126,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+5155 /* "out of memory" */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+5170 /* "out of memory" */, 0) goto __31 __30: if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10541 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10556 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) __32: ; __31: @@ -92680,7 +93188,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 729 /* "" */ + zName = ts + 744 /* "" */ __1: ; i = 0 @@ -92712,14 +93220,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10569 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10584 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10590 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10605 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -92727,7 +93235,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10616 /* "database %s is l..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10631 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -92850,7 +93358,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10638 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 10653 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -92863,7 +93371,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10652 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ + FzName: ts + 10667 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ @@ -92878,7 +93386,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer((*DbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit.Fbusy != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } else { - Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+10666 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) + Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+10681 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) return WRC_Abort } } @@ -92911,7 +93419,7 @@ __1: if (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != Xsqlite3FindDbName(tls, db, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) { Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, - ts+10690, /* "%s %T cannot ref..." */ + ts+10705, /* "%s %T cannot ref..." */ libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType, (*DbFixer)(unsafe.Pointer(pFix)).FpName, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return WRC_Abort } @@ -93110,7 +93618,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112233:13: */ - Xsqlite3ErrorMsg(tls, pParse, ts+10736 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10751 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -93134,11 +93642,11 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - var z uintptr = Xsqlite3_mprintf(tls, ts+10759 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) + var z uintptr = Xsqlite3_mprintf(tls, ts+10774 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+10765 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+10780 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+10771 /* "access to %z is ..." */, libc.VaList(bp+32, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+10786 /* "access to %z is ..." */, libc.VaList(bp+32, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -93190,7 +93698,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName } else { - zCol = ts + 6662 /* "ROWID" */ + zCol = ts + 6677 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -93222,7 +93730,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+10798 /* "not authorized" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10813 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_OK) && (rc != SQLITE_IGNORE) { rc = SQLITE_DENY @@ -93532,25 +94040,25 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb { // No match against the official names. But always match "main" // to schema 0 as a legacy fallback. - if Xsqlite3StrICmp(tls, zDatabase, ts+5432 /* "main" */) == 0 { + if Xsqlite3StrICmp(tls, zDatabase, ts+5447 /* "main" */) == 0 { i = 0 } else { return uintptr(0) } } p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), zName) - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7055 /* "sqlite_" */, 7) == 0) { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7070 /* "sqlite_" */, 7) == 0) { if i == 1 { - if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10813 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10832 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+4930 /* "sqlite_master" */ +7)) == 0) { + if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10828 /* "sqlite_temp_sche..." */ +7)) == 0) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10847 /* "sqlite_schema" */ +7)) == 0)) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+4945 /* "sqlite_master" */ +7)) == 0) { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+10846 /* "sqlite_temp_mast..." */) + ts+10861 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10832 /* "sqlite_schema" */ +7)) == 0 { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10847 /* "sqlite_schema" */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), - ts+4930 /* "sqlite_master" */) + ts+4945 /* "sqlite_master" */) } } } @@ -93573,12 +94081,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7055 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10832 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+4930 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10813 /* "sqlite_temp_sche..." */ +7)) == 0 { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7070 /* "sqlite_" */, 7) == 0) { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10847 /* "sqlite_schema" */ +7)) == 0 { + p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+4945 /* "sqlite_master" */) + } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10828 /* "sqlite_temp_sche..." */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+10846 /* "sqlite_temp_mast..." */) + ts+10861 /* "sqlite_temp_mast..." */) } } } @@ -93614,7 +94122,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // can be an eponymous virtual table. if (int32((*Parse)(unsafe.Pointer(pParse)).FdisableVtab) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { var pMod uintptr = Xsqlite3HashFind(tls, (db + 536 /* &.aModule */), zName) - if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10865 /* "pragma_" */, 7) == 0) { + if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10880 /* "pragma_" */, 7) == 0) { pMod = Xsqlite3PragmaVtabRegister(tls, db, zName) } if (pMod != 0) && (Xsqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0) { @@ -93632,14 +94140,14 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if p == uintptr(0) { var zMsg uintptr if (flags & U32(LOCATE_VIEW)) != 0 { - zMsg = ts + 10873 /* "no such view" */ + zMsg = ts + 10888 /* "no such view" */ } else { - zMsg = ts + 10886 /* "no such table" */ + zMsg = ts + 10901 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+5625 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+5640 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+5635 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+5650 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -93952,7 +94460,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // writing. The table is opened using cursor 0. func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:113223:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) - Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+4930 /* "sqlite_master" */) + Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+4945 /* "sqlite_master" */) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) if (*Parse)(unsafe.Pointer(p)).FnTab == 0 { (*Parse)(unsafe.Pointer(p)).FnTab = 1 @@ -93979,7 +94487,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql } // "main" is always an acceptable alias for the primary database // even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. - if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+5432 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+5447 /* "main" */, zName)) { goto __3 } @@ -94032,13 +94540,13 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if (*Token)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10900 /* "corrupt database" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10915 /* "corrupt database" */, 0) return -1 } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = Xsqlite3FindDb(tls, db, pName1) if iDb < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10917 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+10932 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -94079,13 +94587,13 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType if ((Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit))) != 0) || (Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 1*8))) != 0)) || (Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 2*8))) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+729 /* "" */, 0) // corruptSchema() will supply the error + Xsqlite3ErrorMsg(tls, pParse, ts+744 /* "" */, 0) // corruptSchema() will supply the error return SQLITE_ERROR } } else { - if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+7055 /* "sqlite_" */, 7))) || + if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+7070 /* "sqlite_" */, 7))) || ((Xsqlite3ReadOnlyShadowTables(tls, db) != 0) && (Xsqlite3ShadowTableName(tls, db, zName) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+10937, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10952, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -94254,9 +94762,9 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui iDb = int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) zName = Xsqlite3DbStrDup(tls, db, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10846 /* "sqlite_temp_mast..." */ + return ts + 10861 /* "sqlite_temp_mast..." */ } - return ts + 4930 /* "sqlite_master" */ + return ts + 4945 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 @@ -94274,7 +94782,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+10979 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10994 /* "temporary table ..." */, 0) return __4: ; @@ -94302,9 +94810,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 9182 /* "view" */ + return ts + 9197 /* "view" */ } - return ts + 7797 /* "table" */ + return ts + 7812 /* "table" */ }(), zName) != 0) { goto __8 } @@ -94321,9 +94829,9 @@ __9: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (isTemp == 1) { - return ts + 10846 /* "sqlite_temp_mast..." */ + return ts + 10861 /* "sqlite_temp_mast..." */ } - return ts + 4930 /* "sqlite_master" */ + return ts + 4945 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -94361,7 +94869,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+11020 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+11035 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) goto __16 __15: ; @@ -94375,7 +94883,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+11044 /* "there is already..." */, libc.VaList(bp+8, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11059 /* "there is already..." */, libc.VaList(bp+8, zName)) goto begin_table_error __17: ; @@ -94491,7 +94999,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:113716:13: */ var pHash uintptr pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - Xsqlite3HashInsert(tls, pHash, ts+11079 /* "sqlite_returning" */, uintptr(0)) + Xsqlite3HashInsert(tls, pHash, ts+11094 /* "sqlite_returning" */, uintptr(0)) Xsqlite3ExprListDelete(tls, db, (*Returning)(unsafe.Pointer(pRet)).FpReturnEL) Xsqlite3DbFree(tls, db, pRet) } @@ -94515,7 +95023,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Parse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11096 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11111 /* "cannot use RETUR..." */, 0) } else { } @@ -94536,7 +95044,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 11079 /* "sqlite_returning" */ + (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 11094 /* "sqlite_returning" */ (*Returning)(unsafe.Pointer(pRet)).FretTrig.Fop = U8(TK_RETURNING) (*Returning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = U8(TRIGGER_AFTER) (*Returning)(unsafe.Pointer(pRet)).FretTrig.FbReturning = U8(1) @@ -94548,7 +95056,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql (*Returning)(unsafe.Pointer(pRet)).FretTStep.FpExprList = pList pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - if Xsqlite3HashInsert(tls, pHash, ts+11079 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+11094 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == (pRet + 16 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -94576,7 +95084,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp return } if (int32((*Table)(unsafe.Pointer(p)).FnCol) + 1) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+11130 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11145 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } z = Xsqlite3DbMallocRaw(tls, db, (uint64(((*Token)(unsafe.Pointer(pName)).Fn + (*Token)(unsafe.Pointer(pType)).Fn) + uint32(2)))) @@ -94592,7 +95100,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11153 /* "duplicate column..." */, libc.VaList(bp+8, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+11168 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -94766,11 +95274,11 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar var isInit int32 = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) != 1))) pCol = ((*Table)(unsafe.Pointer(p)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(p)).FnCol)-1))*32) if !(Xsqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11179, /* "default value of..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11194, /* "default value of..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11224 /* "cannot use DEFAU..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11239 /* "cannot use DEFAU..." */, 0) } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. @@ -94820,7 +95328,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+11265 /* "generated column..." */, 0) + ts+11280 /* "generated column..." */, 0) } } @@ -94865,7 +95373,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+11317 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+11332 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit __2: ; @@ -94925,7 +95433,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+729 /* "" */), ts+11358 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+744 /* "" */), ts+11373 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -94953,7 +95461,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+11366 /* "AUTOINCREMENT is..." */, 0) + ts+11381 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -95057,7 +95565,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+11422 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11437 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -95070,13 +95578,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+11465 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+11480 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { goto __5 } // no-op goto __6 __5: - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+11473 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+11488 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { goto __7 } eType = U8(COLFLAG_STORED) @@ -95109,7 +95617,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+11480, /* "error in generat..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11495, /* "error in generat..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) generated_done: Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -95251,13 +95759,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 729 /* "" */ - zSep2 = ts + 11511 /* "," */ - zEnd = ts + 4040 /* ")" */ + zSep = ts + 744 /* "" */ + zSep2 = ts + 11526 /* "," */ + zEnd = ts + 4055 /* ")" */ } else { - zSep = ts + 11513 /* "\n " */ - zSep2 = ts + 11517 /* ",\n " */ - zEnd = ts + 11522 /* "\n)" */ + zSep = ts + 11528 /* "\n " */ + zSep2 = ts + 11532 /* ",\n " */ + zEnd = ts + 11537 /* "\n)" */ } n = n + (35 + (6 * int32((*Table)(unsafe.Pointer(p)).FnCol))) zStmt = Xsqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -95265,7 +95773,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+11525 /* "CREATE TABLE " */, 0) + Xsqlite3_snprintf(tls, n, zStmt, ts+11540 /* "CREATE TABLE " */, 0) *(*int32)(unsafe.Pointer(bp + 8 /* k */)) = Xsqlite3Strlen30(tls, zStmt) identPut(tls, zStmt, bp+8 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = int8('(') @@ -95299,16 +95807,16 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+2764 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+2779 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } var azType1 = [5]uintptr{ - /* SQLITE_AFF_BLOB */ ts + 729, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 11539, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 11545, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 11550, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 11555, /* " REAL" */ + /* SQLITE_AFF_BLOB */ ts + 744, /* "" */ + /* SQLITE_AFF_TEXT */ ts + 11554, /* " TEXT" */ + /* SQLITE_AFF_NUMERIC */ ts + 11560, /* " NUM" */ + /* SQLITE_AFF_INTEGER */ ts + 11565, /* " INT" */ + /* SQLITE_AFF_REAL */ ts + 11570, /* " REAL" */ } /* sqlite3.c:114391:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK @@ -95745,7 +96253,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // table itself. So mark it read-only. if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { if pSelect != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+729 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+744 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -95758,11 +96266,11 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (int32(tabOpts) & TF_WithoutRowid) != 0 { if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+11561 /* "AUTOINCREMENT no..." */, 0) + ts+11576 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11611 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11626 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } *(*U32)(unsafe.Pointer(p + 64 /* &.tabFlags */)) |= (U32(TF_WithoutRowid | TF_NoVisibleRowid)) @@ -95806,7 +96314,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11643 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11658 /* "must have at lea..." */, 0) return } } @@ -95839,12 +96347,12 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // Initialize zType for the new view or table. if (*Table)(unsafe.Pointer(p)).FpSelect == uintptr(0) { // A regular table - zType = ts + 7797 /* "table" */ - zType2 = ts + 11687 /* "TABLE" */ + zType = ts + 7812 /* "table" */ + zType2 = ts + 11702 /* "TABLE" */ } else { // A view - zType = ts + 9182 /* "view" */ - zType2 = ts + 11693 /* "VIEW" */ + zType = ts + 9197 /* "view" */ + zType2 = ts + 11708 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -95925,7 +96433,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+11698 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+11713 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -95933,7 +96441,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+11713, /* "UPDATE %Q.sqlite..." */ + ts+11728, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, @@ -95951,14 +96459,14 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+11811, /* "CREATE TABLE %Q...." */ + ts+11826, /* "CREATE TABLE %Q...." */ libc.VaList(bp+88, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+11853 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+11868 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -95979,7 +96487,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // then record a pointer to this table in the main database structure // so that INSERT can find the table easily. - if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+8319 /* "sqlite_sequence" */) == 0 { + if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+8334 /* "sqlite_sequence" */) == 0 { (*Schema)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -96016,7 +96524,7 @@ func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui if !(int32((*Parse)(unsafe.Pointer(pParse)).FnVar) > 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+11887 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11902 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -96038,7 +96546,7 @@ __2: Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp /* &pName */) iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(p)).FpSchema) - Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+9182 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) + Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+9197 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) if !(Xsqlite3FixSelect(tls, bp+8 /* &sFix */, pSelect) != 0) { goto __3 } @@ -96155,7 +96663,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i // CREATE TEMP VIEW ex1 AS SELECT a FROM ex1; // SELECT * FROM temp.ex1; if int32((*Table)(unsafe.Pointer(pTable)).FnCol) < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11923 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11938 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) return 1 } @@ -96297,7 +96805,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) if iTable < 2 { - Xsqlite3ErrorMsg(tls, pParse, ts+11953 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11968 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -96311,7 +96819,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+11968, /* "UPDATE %Q.sqlite..." */ + ts+11983, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb+uintptr(iDb)*32)).FzDbSName, iTable, r1, r1)) Xsqlite3ReleaseTempReg(tls, pParse, r1) } @@ -96375,10 +96883,10 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint for i = 1; i <= 4; i++ { // var zTab [24]int8 at bp+40, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+12035 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+12050 /* "sqlite_stat%d" */, libc.VaList(bp, i)) if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+40 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+9998, /* "DELETE FROM %Q.%..." */ + ts+10013, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } @@ -96418,7 +96926,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // move as a result of the drop (can happen in auto-vacuum mode). if ((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+12049, /* "DELETE FROM %Q.s..." */ + ts+12064, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -96430,7 +96938,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+12094, /* "DELETE FROM %Q.s..." */ + ts+12109, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) @@ -96460,11 +96968,11 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Return true if it is not allowed to drop the given table func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:115607:12: */ - if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7055 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+2387 /* "stat" */, 4) == 0 { + if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7070 /* "sqlite_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+2402 /* "stat" */, 4) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+6124 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+6139 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -96545,9 +97053,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10846 /* "sqlite_temp_mast..." */ + return ts + 10861 /* "sqlite_temp_mast..." */ } - return ts + 4930 /* "sqlite_master" */ + return ts + 4945 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zArg2 = uintptr(0) @@ -96607,7 +97115,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+12161 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12176 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __19: ; @@ -96617,14 +97125,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+12189 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12204 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+12223 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12238 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -96639,7 +97147,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+10190 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+10205 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -96704,7 +97212,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+12255, /* "foreign key on %..." */ + ts+12270, /* "foreign key on %..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(iCol)*32)).FzName, pTo)) goto fk_end __5: @@ -96717,7 +97225,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+12318 /* "number of column..." */, 0) + ts+12333 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -96801,7 +97309,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+12412, /* "unknown column \"..." */ + ts+12427, /* "unknown column \"..." */ libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*32)).FzEName)) goto fk_end __23: @@ -97051,12 +97559,12 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pList)).FnExpr; i++ { if (uint32(int32(*(*uint8)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32 + 20 /* &.bNulls */)) & 0x20 >> 5))) != 0 { var sf U8 = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32)).FsortFlags - Xsqlite3ErrorMsg(tls, pParse, ts+12458, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12473, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 12486 /* "FIRST" */ + return ts + 12501 /* "FIRST" */ } - return ts + 12492 /* "LAST" */ + return ts + 12507 /* "LAST" */ }())) return 1 } @@ -97214,7 +97722,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+12497 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) + Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+12512 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+136 /* &sFix */, pTblName) != 0) { goto __10 } @@ -97235,7 +97743,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+12503, /* "cannot create a ..." */ + ts+12518, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -97262,26 +97770,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7055 /* "sqlite_" */, 7) == 0) && + if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7070 /* "sqlite_" */, 7) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0)) && (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+12553 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12568 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+12581 /* "views may not be..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12596 /* "views may not be..." */, 0) goto exit_create_index __16: ; if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+12606 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12621 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -97308,7 +97816,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+12497 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+12512 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { goto __21 } goto exit_create_index @@ -97323,7 +97831,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+12640 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12655 /* "there is already..." */, libc.VaList(bp+16, zName)) goto exit_create_index __24: ; @@ -97335,7 +97843,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+12674 /* "index %s already..." */, libc.VaList(bp+24, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12689 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -97364,7 +97872,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+12698 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+12713 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -97393,9 +97901,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10846 /* "sqlite_temp_mast..." */ + return ts + 10861 /* "sqlite_temp_mast..." */ } - return ts + 4930 /* "sqlite_master" */ + return ts + 4945 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -97439,7 +97947,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12497 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12512 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -97556,7 +98064,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+12721 /* "expressions proh..." */, 0) + ts+12736 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -97785,7 +98293,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+12782 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) + ts+12797 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -97841,7 +98349,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+12824 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12839 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -97899,12 +98407,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+12841, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+12856, /* "CREATE%s INDEX %..." */ libc.VaList(bp+56, func() uintptr { if onError == OE_None { - return ts + 729 /* "" */ + return ts + 744 /* "" */ } - return ts + 12861 /* " UNIQUE" */ + return ts + 12876 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: @@ -97916,7 +98424,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+12869, /* "INSERT INTO %Q.s..." */ + ts+12884, /* "INSERT INTO %Q.s..." */ libc.VaList(bp+80, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -97932,7 +98440,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+12928 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+12943 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -98116,7 +98624,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+12955 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+12970 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __5 __4: Xsqlite3CodeVerifyNamedSchema(tls, pParse, (*SrcItem)(unsafe.Pointer((pName + 8 /* &.a */))).FzDatabase) @@ -98131,7 +98639,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+12973 /* "index associated..." */, libc.VaList(bp+8, 0)) + ts+12988 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -98142,9 +98650,9 @@ __6: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10846 /* "sqlite_temp_mast..." */ + return ts + 10861 /* "sqlite_temp_mast..." */ } - return ts + 4930 /* "sqlite_master" */ + return ts + 4945 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -98172,9 +98680,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+13046, /* "DELETE FROM %Q.s..." */ + ts+13061, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) - sqlite3ClearStatTables(tls, pParse, iDb, ts+10186 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+10201 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) Xsqlite3VdbeAddOp4(tls, v, OP_DropIndex, iDb, 0, 0, (*Index)(unsafe.Pointer(pIndex)).FzName, 0) @@ -98325,7 +98833,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*SrcList)(unsafe.Pointer(pSrc)).FnSrc + nExtra) >= SQLITE_MAX_SRCLIST { - Xsqlite3ErrorMsg(tls, pParse, ts+13106, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13121, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -98537,12 +99045,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+13142, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13157, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 13178 /* "ON" */ + return ts + 13193 /* "ON" */ } - return ts + 13181 /* "USING" */ + return ts + 13196 /* "USING" */ }())) goto append_from_error __1: @@ -98670,7 +99178,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+13187 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { + if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+13202 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { return } v = Xsqlite3GetVdbe(tls, pParse) @@ -98706,9 +99214,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 13193 /* "ROLLBACK" */ + return ts + 13208 /* "ROLLBACK" */ } - return ts + 13202 /* "COMMIT" */ + return ts + 13217 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -98733,7 +99241,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 13187 /* "BEGIN" */, ts + 13209 /* "RELEASE" */, ts + 13193 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ +var az = [3]uintptr{ts + 13202 /* "BEGIN" */, ts + 13224 /* "RELEASE" */, ts + 13208 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. @@ -98749,7 +99257,7 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp /* &pBt */, 0, flags) if rc != SQLITE_OK { Xsqlite3ErrorMsg(tls, pParse, - ts+13217 /* "unable to open a..." */, 0) + ts+13232 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -98892,17 +99400,17 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx Xsqlite3StrAccumInit(tls, bp+8 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+13287 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+13302 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*32)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+13298 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+13313 /* ", " */, 2) } Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+742 /* "." */, 1) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+757 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } @@ -98925,11 +99433,11 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr var rc int32 if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10759 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10774 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+13301 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+13316 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -99072,7 +99580,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+13310 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13325 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -99182,7 +99690,7 @@ func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) var i int32 for i = 0; i < (*With)(unsafe.Pointer(pWith)).FnCte; i++ { if Xsqlite3StrICmp(tls, zName, (*Cte)(unsafe.Pointer((pWith+16 /* &.a */)+uintptr(i)*48)).FzName) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13356 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13371 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -99416,7 +99924,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+13386 /* "no such collatio..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13401 /* "no such collatio..." */, libc.VaList(bp, zName)) (*Parse)(unsafe.Pointer(pParse)).Frc = (SQLITE_ERROR | (int32(1) << 8)) } return p @@ -99782,11 +100290,11 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 defer tls.Free(16) if tabIsReadOnly(tls, pParse, pTab) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13417 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13432 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+13446 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13461 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -100379,7 +100887,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+13484 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+13499 /* "rows deleted" */, uintptr(0)) __61: ; @@ -100524,7 +101032,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri } return 0 }()) - if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10046 /* "sqlite_stat1" */)) { + if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10061 /* "sqlite_stat1" */)) { Xsqlite3VdbeAppendP4(tls, v, pTab, -6) } if int32(eMode) != ONEPASS_OFF { @@ -100802,7 +101310,7 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 5242 /* "integer" */, ts + 5237 /* "real" */, ts + 13497 /* "text" */, ts + 13502 /* "blob" */, ts + 5232 /* "null" */} /* sqlite3.c:119398:21 */ +var azType2 = [5]uintptr{ts + 5257 /* "integer" */, ts + 5252 /* "real" */, ts + 13512 /* "text" */, ts + 13517 /* "blob" */, ts + 5247 /* "null" */} /* sqlite3.c:119398:21 */ // Implementation of the length() function func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119418:13: */ @@ -100866,7 +101374,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // IMP: R-31676-45509 If X is the integer -9223372036854775808 // then abs(X) throws an integer overflow error since there is no // equivalent positive 64-bit two complement value. - Xsqlite3_result_error(tls, context, ts+13507 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+13522 /* "integer overflow" */, -1) return } iVal = -iVal @@ -101204,7 +101712,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+13524 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+13539 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -101654,7 +102162,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 8*4)) { - Xsqlite3_result_error(tls, context, ts+13529 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+13544 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -101666,7 +102174,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } if Xsqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp /* zEsc */)), -1) != 1 { Xsqlite3_result_error(tls, context, - ts+13562 /* "ESCAPE expressio..." */, -1) + ts+13577 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -101732,7 +102240,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+2764 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+2779 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // Implementation of the sqlite_compileoption_used() function. @@ -101789,10 +102297,10 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // var zBuf [50]int8 at bp+16, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+4008 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+4023 /* "%!.15g" */, libc.VaList(bp, r1)) Xsqlite3AtoF(tls, bp+16 /* &zBuf[0] */, bp+72 /* &r2 */, 20, uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp + 72 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+13607 /* "%!.20e" */, libc.VaList(bp+8, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+13622 /* "%!.20e" */, libc.VaList(bp+8, r1)) } Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -101866,7 +102374,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+730 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+745 /* "NULL" */, 4, uintptr(0)) break } @@ -102177,7 +102685,7 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:120648:27 */ -var azOne = [1]uintptr{uintptr(ts + 9626 /* " " */)} /* sqlite3.c:120649:26 */ +var azOne = [1]uintptr{uintptr(ts + 9641 /* " " */)} /* sqlite3.c:120649:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -102198,7 +102706,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = ts + 729 /* "" */ + zIn = ts + 744 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -102224,7 +102732,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else { // IMP: R-64894-50321 The string "?000" is returned if the argument // is NULL or contains no ASCII alphabetic characters. - Xsqlite3_result_text(tls, context, ts+13614 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+13629 /* "?000" */, 4, uintptr(0)) } } @@ -102252,7 +102760,7 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // Disallow the load_extension() SQL function unless the SQLITE_LoadExtFunc // flag is set. See the sqlite3_enable_load_extension() API. if ((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_LoadExtFunc)) == uint64(0) { - Xsqlite3_result_error(tls, context, ts+10798 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+10813 /* "not authorized" */, -1) return } @@ -102340,7 +102848,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:120889:13: */ p = Xsqlite3_aggregate_context(tls, context, 0) if (p != 0) && ((*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0)) { if (*SumCtx)(unsafe.Pointer(p)).Foverflow != 0 { - Xsqlite3_result_error(tls, context, ts+13507 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+13522 /* "integer overflow" */, -1) } else if (*SumCtx)(unsafe.Pointer(p)).Fapprox != 0 { Xsqlite3_result_double(tls, context, (*SumCtx)(unsafe.Pointer(p)).FrSum) } else { @@ -102494,7 +103002,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zSep = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) nSep = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) } else { - zSep = ts + 11511 /* "," */ + zSep = ts + 11526 /* "," */ nSep = 1 } if zSep != 0 { @@ -102572,7 +103080,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:121112:13: // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:121135:21: */ - var rc int32 = Xsqlite3_overload_function(tls, db, ts+13619 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+13634 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -102592,14 +103100,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+13625 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+13640 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3CreateFunc(tls, db, ts+13625 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+13640 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13625 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13625 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13640 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13640 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) } // pExpr points to an expression which implements a function. If @@ -102704,76 +103212,76 @@ func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:121427:21: * var aBuiltinFunc = [68]FuncDef{ //**** Functions only available with SQLITE_TESTCTRL_INTERNAL_FUNCTIONS **** - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 13630 /* "implies_nonnull_..." */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 13650 /* "expr_compare" */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 13663 /* "expr_implies_exp..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 13645 /* "implies_nonnull_..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 13665 /* "expr_compare" */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 13678 /* "expr_implies_exp..." */}, //**** Regular functions **** - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13681 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13689 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13689 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13704 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13730 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 13755 /* "unlikely" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 13764 /* "likelihood" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 13775 /* "likely" */}, - {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13782 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13796 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13796 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 13802 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 13802 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 13808 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 13808 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13813 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 13813 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13813 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13817 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 13817 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13817 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13821 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 13828 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13835 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13841 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13848 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13856 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13861 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13865 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13865 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13871 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13877 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13883 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 13887 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13894 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13901 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13912 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13919 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13934 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13951 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13962 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13968 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13986 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13994 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14008 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14016 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14025 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14025 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14032 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14032 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14042 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14046 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14052 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14056 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14056 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14062 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14062 /* "group_concat" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13696 /* "soundex" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13704 /* "load_extension" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13704 /* "load_extension" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13719 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13745 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 13770 /* "unlikely" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 13779 /* "likelihood" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 13790 /* "likely" */}, + {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13797 /* "sqlite_offset" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13811 /* "ltrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13811 /* "ltrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 13817 /* "rtrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 13817 /* "rtrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 13823 /* "trim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 13823 /* "trim" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13828 /* "min" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 13828 /* "min" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13828 /* "min" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13832 /* "max" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 13832 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13832 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13836 /* "typeof" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 13843 /* "length" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13850 /* "instr" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13856 /* "printf" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13863 /* "unicode" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13871 /* "char" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13876 /* "abs" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13880 /* "round" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13880 /* "round" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13886 /* "upper" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13892 /* "lower" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13898 /* "hex" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 13902 /* "ifnull" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13909 /* "random" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13916 /* "randomblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13927 /* "nullif" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13934 /* "sqlite_version" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13949 /* "sqlite_source_id" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13966 /* "sqlite_log" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13977 /* "quote" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13983 /* "last_insert_rowi..." */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14001 /* "changes" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14009 /* "total_changes" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14023 /* "replace" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14031 /* "zeroblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14040 /* "substr" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14040 /* "substr" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14047 /* "substring" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14047 /* "substring" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14057 /* "sum" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14061 /* "total" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14067 /* "avg" */}, + {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14071 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14071 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14077 /* "group_concat" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14077 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14075 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13625 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13625 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14080 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14080 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14089 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14080 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 14094 /* "iif" */}} /* sqlite3.c:121438:18 */ + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14090 /* "glob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13640 /* "like" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13640 /* "like" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14095 /* "coalesce" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14095 /* "coalesce" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14104 /* "sign" */}, + {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14095 /* "coalesce" */}, + {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 14109 /* "iif" */}} /* sqlite3.c:121438:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -103059,7 +103567,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey if !(pIdx != 0) { if !(int32((*Parse)(unsafe.Pointer(pParse)).FdisableTriggers) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+14098, /* "foreign key mism..." */ + ts+14113, /* "foreign key mism..." */ libc.VaList(bp, (*Table)(unsafe.Pointer((*FKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*FKey)(unsafe.Pointer(pFKey)).FzTo)) } Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiCol) @@ -103955,8 +104463,8 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, } for i = 0; i < (*FKey)(unsafe.Pointer(pFKey)).FnCol; i++ { - *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 5441 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 5437 /* "new" */, Fn: uint32(3)} // Literal "new" token + *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 5456 /* "old" */, Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 5452 /* "new" */, Fn: uint32(3)} // Literal "new" token // var tFromCol Token at bp+32, 16 // Name of column in child table // var tToCol Token at bp+16, 16 @@ -104044,7 +104552,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fz = zFrom (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fn = uint32(nFrom) - pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+4224 /* "FOREIGN KEY cons..." */) + pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+4239 /* "FOREIGN KEY cons..." */) if pRaise != 0 { (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -104474,7 +104982,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6918 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6933 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) } (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -105038,7 +105546,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+14143, /* "cannot INSERT in..." */ + ts+14158, /* "cannot INSERT in..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto insert_cleanup __24: @@ -105063,7 +105571,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+14184, /* "table %S has no ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14199, /* "table %S has no ..." */ libc.VaList(bp+8, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*16)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup @@ -105233,7 +105741,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+14216, /* "table %S has %d ..." */ + ts+14231, /* "table %S has %d ..." */ libc.VaList(bp+24, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: @@ -105243,7 +105751,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+14268 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+14283 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -105299,7 +105807,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+14293, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14308, /* "UPSERT not imple..." */ libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -105307,7 +105815,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+14339 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14354 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -105787,7 +106295,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14360 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14375 /* "rows inserted" */, uintptr(0)) __123: ; @@ -106131,7 +106639,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10759 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10774 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_HaltIfNull, (SQLITE_CONSTRAINT | (int32(5) << 8)), onError, iReg) @@ -107534,7 +108042,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 729 /* "" */ + zSql = ts + 744 /* "" */ __2: ; @@ -108095,7 +108603,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+10798 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+10813 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -108105,7 +108613,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 14374 /* "sqlite3_extensio..." */ + zEntry = ts + 14389 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -108125,7 +108633,7 @@ __5: if !((ii < (int32(uint64(unsafe.Sizeof(azEndings)) / uint64(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+10759 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) + zAltFile = Xsqlite3_mprintf(tls, ts+10774 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) if !(zAltFile == uintptr(0)) { goto __8 } @@ -108171,7 +108679,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.Xmemcpy(tls, zAltEntry, ts+14397 /* "sqlite3_" */, uint64(8)) + libc.Xmemcpy(tls, zAltEntry, ts+14412 /* "sqlite3_" */, uint64(8)) iFile = (ncFile - 1) __12: if !((iFile >= 0) && !((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/')) { @@ -108185,7 +108693,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14406 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14421 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -108209,7 +108717,7 @@ __17: goto __18 __18: ; - libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+14410 /* "_init" */, uint64(6)) + libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+14425 /* "_init" */, uint64(6)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -108227,7 +108735,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+14416 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) + ts+14431 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __22: ; @@ -108252,7 +108760,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14459 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14474 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) __25: ; Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) @@ -108292,7 +108800,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+14491 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) + ts+14506 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __29: ; @@ -108302,7 +108810,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 14528, /* "so" */ + ts + 14543, /* "so" */ } /* sqlite3.c:127457:21 */ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127590:16: */ @@ -108469,7 +108977,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+14531 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) + ts+14546 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */))) @@ -108514,61 +109022,61 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 // or that return single-column results where the name of the // result column is different from the name of the pragma var pragCName = [51]uintptr{ - /* 0 */ ts + 4145, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 14570, /* "seq" */ - /* 2 */ ts + 7797, /* "table" */ - /* 3 */ ts + 14574, /* "from" */ - /* 4 */ ts + 14579, /* "to" */ - /* 5 */ ts + 14582, /* "on_update" */ - /* 6 */ ts + 14592, /* "on_delete" */ - /* 7 */ ts + 14602, /* "match" */ - /* 8 */ ts + 14608, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 14612, /* "name" */ - /* 10 */ ts + 14617, /* "type" */ - /* 11 */ ts + 14622, /* "notnull" */ - /* 12 */ ts + 14630, /* "dflt_value" */ - /* 13 */ ts + 14641, /* "pk" */ - /* 14 */ ts + 14644, /* "hidden" */ + /* 0 */ ts + 4160, /* "id" */ // Used by: foreign_key_list + /* 1 */ ts + 14585, /* "seq" */ + /* 2 */ ts + 7812, /* "table" */ + /* 3 */ ts + 14589, /* "from" */ + /* 4 */ ts + 14594, /* "to" */ + /* 5 */ ts + 14597, /* "on_update" */ + /* 6 */ ts + 14607, /* "on_delete" */ + /* 7 */ ts + 14617, /* "match" */ + /* 8 */ ts + 14623, /* "cid" */ // Used by: table_xinfo + /* 9 */ ts + 14627, /* "name" */ + /* 10 */ ts + 14632, /* "type" */ + /* 11 */ ts + 14637, /* "notnull" */ + /* 12 */ ts + 14645, /* "dflt_value" */ + /* 13 */ ts + 14656, /* "pk" */ + /* 14 */ ts + 14659, /* "hidden" */ // table_info reuses 8 - /* 15 */ ts + 14651, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 14608, /* "cid" */ - /* 17 */ ts + 14612, /* "name" */ - /* 18 */ ts + 14657, /* "desc" */ - /* 19 */ ts + 14662, /* "coll" */ - /* 20 */ ts + 14667, /* "key" */ - /* 21 */ ts + 14612, /* "name" */ // Used by: function_list - /* 22 */ ts + 14671, /* "builtin" */ - /* 23 */ ts + 14617, /* "type" */ - /* 24 */ ts + 14679, /* "enc" */ - /* 25 */ ts + 14683, /* "narg" */ - /* 26 */ ts + 14688, /* "flags" */ - /* 27 */ ts + 10190, /* "tbl" */ // Used by: stats - /* 28 */ ts + 10186, /* "idx" */ - /* 29 */ ts + 14694, /* "wdth" */ - /* 30 */ ts + 14699, /* "hght" */ - /* 31 */ ts + 14704, /* "flgs" */ - /* 32 */ ts + 14570, /* "seq" */ // Used by: index_list - /* 33 */ ts + 14612, /* "name" */ - /* 34 */ ts + 14709, /* "unique" */ - /* 35 */ ts + 14716, /* "origin" */ - /* 36 */ ts + 14723, /* "partial" */ - /* 37 */ ts + 7797, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 14731, /* "rowid" */ - /* 39 */ ts + 4148, /* "parent" */ - /* 40 */ ts + 14737, /* "fkid" */ + /* 15 */ ts + 14666, /* "seqno" */ // Used by: index_xinfo + /* 16 */ ts + 14623, /* "cid" */ + /* 17 */ ts + 14627, /* "name" */ + /* 18 */ ts + 14672, /* "desc" */ + /* 19 */ ts + 14677, /* "coll" */ + /* 20 */ ts + 14682, /* "key" */ + /* 21 */ ts + 14627, /* "name" */ // Used by: function_list + /* 22 */ ts + 14686, /* "builtin" */ + /* 23 */ ts + 14632, /* "type" */ + /* 24 */ ts + 14694, /* "enc" */ + /* 25 */ ts + 14698, /* "narg" */ + /* 26 */ ts + 14703, /* "flags" */ + /* 27 */ ts + 10205, /* "tbl" */ // Used by: stats + /* 28 */ ts + 10201, /* "idx" */ + /* 29 */ ts + 14709, /* "wdth" */ + /* 30 */ ts + 14714, /* "hght" */ + /* 31 */ ts + 14719, /* "flgs" */ + /* 32 */ ts + 14585, /* "seq" */ // Used by: index_list + /* 33 */ ts + 14627, /* "name" */ + /* 34 */ ts + 14724, /* "unique" */ + /* 35 */ ts + 14731, /* "origin" */ + /* 36 */ ts + 14738, /* "partial" */ + /* 37 */ ts + 7812, /* "table" */ // Used by: foreign_key_check + /* 38 */ ts + 14746, /* "rowid" */ + /* 39 */ ts + 4163, /* "parent" */ + /* 40 */ ts + 14752, /* "fkid" */ // index_info reuses 15 - /* 41 */ ts + 14570, /* "seq" */ // Used by: database_list - /* 42 */ ts + 14612, /* "name" */ - /* 43 */ ts + 14742, /* "file" */ - /* 44 */ ts + 14747, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 14752, /* "log" */ - /* 46 */ ts + 14756, /* "checkpointed" */ + /* 41 */ ts + 14585, /* "seq" */ // Used by: database_list + /* 42 */ ts + 14627, /* "name" */ + /* 43 */ ts + 14757, /* "file" */ + /* 44 */ ts + 14762, /* "busy" */ // Used by: wal_checkpoint + /* 45 */ ts + 14767, /* "log" */ + /* 46 */ ts + 14771, /* "checkpointed" */ // collation_list reuses 32 - /* 47 */ ts + 14769, /* "database" */ // Used by: lock_status - /* 48 */ ts + 14778, /* "status" */ - /* 49 */ ts + 14785, /* "cache_size" */ // Used by: default_cache_size + /* 47 */ ts + 14784, /* "database" */ // Used by: lock_status + /* 48 */ ts + 14793, /* "status" */ + /* 49 */ ts + 14800, /* "cache_size" */ // Used by: default_cache_size // module_list pragma_list reuses 9 - /* 50 */ ts + 14796, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 14811, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas @@ -108585,234 +109093,234 @@ type PragmaName1 = struct { // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [65]PragmaName{ - { /* zName: */ FzName: ts + 14804, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 14819, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 14819, /* "application_id" */ + { /* zName: */ FzName: ts + 14834, /* "application_id" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_APPLICATION_ID)}, - { /* zName: */ FzName: ts + 14834, /* "auto_vacuum" */ + { /* zName: */ FzName: ts + 14849, /* "auto_vacuum" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_AUTO_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 14846, /* "automatic_index" */ + { /* zName: */ FzName: ts + 14861, /* "automatic_index" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_AutoIndex)}, - { /* zName: */ FzName: ts + 14862, /* "busy_timeout" */ + { /* zName: */ FzName: ts + 14877, /* "busy_timeout" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_BUSY_TIMEOUT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(50), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 14785, /* "cache_size" */ + { /* zName: */ FzName: ts + 14800, /* "cache_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 14875, /* "cache_spill" */ + { /* zName: */ FzName: ts + 14890, /* "cache_spill" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SPILL), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 14887, /* "case_sensitive_l..." */ + { /* zName: */ FzName: ts + 14902, /* "case_sensitive_l..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CASE_SENSITIVE_LIKE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 14907, /* "cell_size_check" */ + { /* zName: */ FzName: ts + 14922, /* "cell_size_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CellSizeCk)}, - { /* zName: */ FzName: ts + 14923, /* "checkpoint_fullf..." */ + { /* zName: */ FzName: ts + 14938, /* "checkpoint_fullf..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CkptFullFSync)}, - { /* zName: */ FzName: ts + 14944, /* "collation_list" */ + { /* zName: */ FzName: ts + 14959, /* "collation_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COLLATION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 14959, /* "compile_options" */ + { /* zName: */ FzName: ts + 14974, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 14975, /* "count_changes" */ + { /* zName: */ FzName: ts + 14990, /* "count_changes" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (U64((uint64(0x00001))) << 32)}, - { /* zName: */ FzName: ts + 14989, /* "data_version" */ + { /* zName: */ FzName: ts + 15004, /* "data_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_DATA_VERSION)}, - { /* zName: */ FzName: ts + 15002, /* "database_list" */ + { /* zName: */ FzName: ts + 15017, /* "database_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATABASE_LIST), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_Result0)), /* ColNames: */ FiPragCName: U8(41), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15016, /* "default_cache_si..." */ + { /* zName: */ FzName: ts + 15031, /* "default_cache_si..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DEFAULT_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1)), /* ColNames: */ FiPragCName: U8(49), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15035, /* "defer_foreign_ke..." */ + { /* zName: */ FzName: ts + 15050, /* "defer_foreign_ke..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_DeferFKs)}, - { /* zName: */ FzName: ts + 15054, /* "empty_result_cal..." */ + { /* zName: */ FzName: ts + 15069, /* "empty_result_cal..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_NullCallback)}, - { /* zName: */ FzName: ts + 15077, /* "encoding" */ + { /* zName: */ FzName: ts + 15092, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15086, /* "foreign_key_chec..." */ + { /* zName: */ FzName: ts + 15101, /* "foreign_key_chec..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_CHECK), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(37), FnPragCName: U8(4)}, - { /* zName: */ FzName: ts + 15104, /* "foreign_key_list" */ + { /* zName: */ FzName: ts + 15119, /* "foreign_key_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), FnPragCName: U8(8)}, - { /* zName: */ FzName: ts + 15121, /* "foreign_keys" */ + { /* zName: */ FzName: ts + 15136, /* "foreign_keys" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ForeignKeys)}, - { /* zName: */ FzName: ts + 15134, /* "freelist_count" */ + { /* zName: */ FzName: ts + 15149, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 15149, /* "full_column_name..." */ + { /* zName: */ FzName: ts + 15164, /* "full_column_name..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullColNames)}, - { /* zName: */ FzName: ts + 15167, /* "fullfsync" */ + { /* zName: */ FzName: ts + 15182, /* "fullfsync" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullFSync)}, - { /* zName: */ FzName: ts + 15177, /* "function_list" */ + { /* zName: */ FzName: ts + 15192, /* "function_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FUNCTION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(21), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 15191, /* "hard_heap_limit" */ + { /* zName: */ FzName: ts + 15206, /* "hard_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HARD_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15207, /* "ignore_check_con..." */ + { /* zName: */ FzName: ts + 15222, /* "ignore_check_con..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_IgnoreChecks)}, - { /* zName: */ FzName: ts + 15232, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 15247, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 15251, /* "index_info" */ + { /* zName: */ FzName: ts + 15266, /* "index_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15262, /* "index_list" */ + { /* zName: */ FzName: ts + 15277, /* "index_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(5)}, - { /* zName: */ FzName: ts + 15273, /* "index_xinfo" */ + { /* zName: */ FzName: ts + 15288, /* "index_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(6), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 15285, /* "integrity_check" */ + { /* zName: */ FzName: ts + 15300, /* "integrity_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 15301, /* "journal_mode" */ + { /* zName: */ FzName: ts + 15316, /* "journal_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_MODE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15314, /* "journal_size_lim..." */ + { /* zName: */ FzName: ts + 15329, /* "journal_size_lim..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_SIZE_LIMIT), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15333, /* "legacy_alter_tab..." */ + { /* zName: */ FzName: ts + 15348, /* "legacy_alter_tab..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_LegacyAlter)}, - { /* zName: */ FzName: ts + 15352, /* "locking_mode" */ + { /* zName: */ FzName: ts + 15367, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15365, /* "max_page_count" */ + { /* zName: */ FzName: ts + 15380, /* "max_page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15380, /* "mmap_size" */ + { /* zName: */ FzName: ts + 15395, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 15390, /* "module_list" */ + { /* zName: */ FzName: ts + 15405, /* "module_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MODULE_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15402, /* "optimize" */ + { /* zName: */ FzName: ts + 15417, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 15411, /* "page_count" */ + { /* zName: */ FzName: ts + 15426, /* "page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15422, /* "page_size" */ + { /* zName: */ FzName: ts + 15437, /* "page_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_SIZE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15432, /* "pragma_list" */ + { /* zName: */ FzName: ts + 15447, /* "pragma_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PRAGMA_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15444, /* "query_only" */ + { /* zName: */ FzName: ts + 15459, /* "query_only" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_QueryOnly)}, - { /* zName: */ FzName: ts + 15455, /* "quick_check" */ + { /* zName: */ FzName: ts + 15470, /* "quick_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 15467, /* "read_uncommitted" */ + { /* zName: */ FzName: ts + 15482, /* "read_uncommitted" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReadUncommit)}, - { /* zName: */ FzName: ts + 15484, /* "recursive_trigge..." */ + { /* zName: */ FzName: ts + 15499, /* "recursive_trigge..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_RecTriggers)}, - { /* zName: */ FzName: ts + 15503, /* "reverse_unordere..." */ + { /* zName: */ FzName: ts + 15518, /* "reverse_unordere..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReverseOrder)}, - { /* zName: */ FzName: ts + 15529, /* "schema_version" */ + { /* zName: */ FzName: ts + 15544, /* "schema_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_SCHEMA_VERSION)}, - { /* zName: */ FzName: ts + 15544, /* "secure_delete" */ + { /* zName: */ FzName: ts + 15559, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15558, /* "short_column_nam..." */ + { /* zName: */ FzName: ts + 15573, /* "short_column_nam..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ShortColNames)}, - { /* zName: */ FzName: ts + 15577, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 15592, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 15591, /* "soft_heap_limit" */ + { /* zName: */ FzName: ts + 15606, /* "soft_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SOFT_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15607, /* "synchronous" */ + { /* zName: */ FzName: ts + 15622, /* "synchronous" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SYNCHRONOUS), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15619, /* "table_info" */ + { /* zName: */ FzName: ts + 15634, /* "table_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 15630, /* "table_xinfo" */ + { /* zName: */ FzName: ts + 15645, /* "table_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(7), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 15642, /* "temp_store" */ + { /* zName: */ FzName: ts + 15657, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15653, /* "temp_store_direc..." */ + { /* zName: */ FzName: ts + 15668, /* "temp_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 15674, /* "threads" */ + { /* zName: */ FzName: ts + 15689, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15682, /* "trusted_schema" */ + { /* zName: */ FzName: ts + 15697, /* "trusted_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_TrustedSchema)}, - { /* zName: */ FzName: ts + 15697, /* "user_version" */ + { /* zName: */ FzName: ts + 15712, /* "user_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_USER_VERSION)}, - { /* zName: */ FzName: ts + 15710, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 15725, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 15729, /* "wal_checkpoint" */ + { /* zName: */ FzName: ts + 15744, /* "wal_checkpoint" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_CHECKPOINT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NeedSchema), /* ColNames: */ FiPragCName: U8(44), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15744, /* "writable_schema" */ + { /* zName: */ FzName: ts + 15759, /* "writable_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError))}, @@ -108849,7 +109357,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 15760 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 15775 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ @@ -108866,10 +109374,10 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:128 // Interpret the given string as a locking mode value. func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ if z != 0 { - if 0 == Xsqlite3StrICmp(tls, z, ts+15785 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15800 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+15795 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15810 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -108882,13 +109390,13 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ var i int32 - if 0 == Xsqlite3StrICmp(tls, z, ts+15802 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15817 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+15807 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15822 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+15812 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15827 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -108906,9 +109414,9 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128566:12: */ if (int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '2') { return (int32(*(*int8)(unsafe.Pointer(z))) - '0') - } else if Xsqlite3StrICmp(tls, z, ts+14742 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+14757 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+15824 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+15839 /* "memory" */) == 0 { return 2 } else { return 0 @@ -108924,7 +109432,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || (Xsqlite3BtreeTxnState(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) != SQLITE_TXN_NONE) { Xsqlite3ErrorMsg(tls, pParse, - ts+15831 /* "temporary storag..." */, 0) + ts+15846 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) @@ -109024,19 +109532,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 15893 /* "SET NULL" */ + zName = ts + 15908 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 15902 /* "SET DEFAULT" */ + zName = ts + 15917 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 15914 /* "CASCADE" */ + zName = ts + 15929 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 15922 /* "RESTRICT" */ + zName = ts + 15937 /* "RESTRICT" */ break default: - zName = ts + 15931 /* "NO ACTION" */ + zName = ts + 15946 /* "NO ACTION" */ break } return zName @@ -109054,7 +109562,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 15941 /* "delete" */, ts + 15948 /* "persist" */, ts + 15956 /* "off" */, ts + 15960 /* "truncate" */, ts + 15824 /* "memory" */, ts + 15969, /* "wal" */ + ts + 15956 /* "delete" */, ts + 15963 /* "persist" */, ts + 15971 /* "off" */, ts + 15975 /* "truncate" */, ts + 15839 /* "memory" */, ts + 15984, /* "wal" */ } /* sqlite3.c:128715:15 */ // Locate a pragma in the aPragmaName[] array. @@ -109100,13 +109608,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 15973 /* "w" */ + zType = ts + 15988 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 15975 /* "a" */ + zType = ts + 15990 /* "a" */ } else { - zType = ts + 15977 /* "s" */ + zType = ts + 15992 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15979, /* "sissii" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15994, /* "sissii" */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, azEnc[((*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK))], int32((*FuncDef)(unsafe.Pointer(p)).FnArg), @@ -109115,7 +109623,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } var mask U32 = (U32((((SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY) | SQLITE_SUBTYPE) | SQLITE_INNOCUOUS) | SQLITE_FUNC_INTERNAL)) /* sqlite3.c:128765:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 15986 /* "utf8" */, ts + 15991 /* "utf16le" */, ts + 15999 /* "utf16be" */} /* sqlite3.c:128772:23 */ +var azEnc = [4]uintptr{uintptr(0), ts + 16001 /* "utf8" */, ts + 16006 /* "utf16le" */, ts + 16014 /* "utf16be" */} /* sqlite3.c:128772:23 */ // Helper subroutine for PRAGMA integrity_check: // @@ -109377,7 +109885,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+16007 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+16022 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -109432,7 +109940,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+2764 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2779 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */))) __10: ; @@ -110004,7 +110512,7 @@ __18: if !(zRight != 0) { goto __62 } - if !(Xsqlite3_stricmp(tls, zRight, ts+16011 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+16026 /* "fast" */) == 0) { goto __63 } b = 2 @@ -110093,7 +110601,7 @@ __70: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 15795 /* "normal" */ + zRet = ts + 15810 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -110134,7 +110642,7 @@ __77: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __82 } - zRet = ts + 15785 /* "exclusive" */ + zRet = ts + 15800 /* "exclusive" */ __82: ; returnSingleText(tls, v, zRet) @@ -110499,7 +111007,7 @@ __122: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 432 /* res */)) == 0)) { goto __125 } - Xsqlite3ErrorMsg(tls, pParse, ts+16016 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16031 /* "not a writable d..." */, 0) goto pragma_out __125: ; @@ -110517,7 +111025,7 @@ __126: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __127 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp+16, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp+16, zRight)) goto __128 __127: Xsqlite3_temp_directory = uintptr(0) @@ -110545,7 +111053,7 @@ __129: goto __131 } Xsqlite3ErrorMsg(tls, pParse, - ts+16041 /* "Safety level may..." */, 0) + ts+16056 /* "Safety level may..." */, 0) goto __132 __131: if !(iDb != 1) { @@ -110704,13 +111212,13 @@ __153: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 16094 /* "issisii" */ + return ts + 16109 /* "issisii" */ } - return ts + 16102 /* "issisi" */ + return ts + 16117 /* "issisi" */ }(), libc.VaList(bp+24, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+729 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+744 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -110785,7 +111293,7 @@ __165: goto __167 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16109 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16124 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -110795,7 +111303,7 @@ __165: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __168 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+16114, /* "isiX" */ + Xsqlite3VdbeMultiLoad(tls, v, 4, ts+16129, /* "isiX" */ libc.VaList(bp+104, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) @@ -110832,8 +111340,8 @@ __171: if !(pIdx1 != 0) { goto __173 } - *(*[3]uintptr)(unsafe.Pointer(bp + 440 /* azOrigin */)) = [3]uintptr{ts + 16119 /* "c" */, ts + 16121 /* "u" */, ts + 14641 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16123, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 440 /* azOrigin */)) = [3]uintptr{ts + 16134 /* "c" */, ts + 16136 /* "u" */, ts + 14656 /* "pk" */} + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16138, /* "isisi" */ libc.VaList(bp+128, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), @@ -110867,7 +111375,7 @@ __174: __177: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16129, /* "iss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16144, /* "iss" */ libc.VaList(bp+168, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FpBt))) @@ -110890,7 +111398,7 @@ __178: goto __180 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16133 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16148 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __179 __179: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -110954,7 +111462,7 @@ __190: goto __192 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15977 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15992 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __191 __191: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -110971,7 +111479,7 @@ __193: if !(i6 < (int32(uint64(unsafe.Sizeof(aPragmaName)) / uint64(unsafe.Sizeof(PragmaName{}))))) { goto __195 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15977 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15992 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) goto __194 __194: i6++ @@ -111007,7 +111515,7 @@ __201: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __203 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16136, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16151, /* "iissssss" */ libc.VaList(bp+224, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -111015,7 +111523,7 @@ __201: (*sColMap)(unsafe.Pointer((pFK+64 /* &.aCol */)+uintptr(j2)*16)).FzCol, actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */) + 1))), // ON UPDATE actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */)))), // ON DELETE - ts+16145 /* "NONE" */)) + ts+16160 /* "NONE" */)) goto __202 __202: j2++ @@ -111208,7 +111716,7 @@ __230: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __231: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+16150 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+16165 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 472 /* aiCols */))) @@ -111474,7 +111982,7 @@ __258: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+16154 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+16169 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -111564,7 +112072,7 @@ __277: __278: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+16178 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+16193 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*32)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -111604,7 +112112,7 @@ __283: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+16198, /* "CHECK constraint..." */ + zErr1 = Xsqlite3MPrintf(tls, db, ts+16213, /* "CHECK constraint..." */ libc.VaList(bp+328, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) @@ -111638,9 +112146,9 @@ __288: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 488 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16228 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16243 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+16233 /* " missing from in..." */) + Xsqlite3VdbeLoadString(tls, v, 4, ts+16248 /* " missing from in..." */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) jmp5 = Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) @@ -111680,7 +112188,7 @@ __292: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 488 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16254 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16269 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __289: @@ -111702,7 +112210,7 @@ __284: if !(!(isQuick != 0)) { goto __294 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+16281 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+16296 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __295: @@ -111753,7 +112261,7 @@ __240: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 480 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 16310 /* "ok" */ + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 16325 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16 /* &.p4 */)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT) __299: @@ -111831,7 +112339,7 @@ __306: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __308 } - Xsqlite3ErrorMsg(tls, pParse, ts+16313 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+16328 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) __308: ; __303: @@ -111943,19 +112451,19 @@ __47: if !(zRight != 0) { goto __315 } - if !(Xsqlite3StrICmp(tls, zRight, ts+15807 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+15822 /* "full" */) == 0) { goto __316 } eMode2 = SQLITE_CHECKPOINT_FULL goto __317 __316: - if !(Xsqlite3StrICmp(tls, zRight, ts+16338 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+16353 /* "restart" */) == 0) { goto __318 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __319 __318: - if !(Xsqlite3StrICmp(tls, zRight, ts+15960 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+15975 /* "truncate" */) == 0) { goto __320 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -112142,7 +112650,7 @@ __335: __337: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+16346, /* "ANALYZE \"%w\".\"%w..." */ + zSubSql = Xsqlite3MPrintf(tls, db, ts+16361, /* "ANALYZE \"%w\".\"%w..." */ libc.VaList(bp+344, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __338 @@ -112326,14 +112834,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 16364 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 16369 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 16375 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 16384 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 16393 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 16401 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 16409 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 16416 /* "UTF16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 16379 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, + {FzName: ts + 16384 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] + {FzName: ts + 16390 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] + {FzName: ts + 16399 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] + {FzName: ts + 16408 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, + {FzName: ts + 16416 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, + {FzName: ts + 16424 /* "UTF-16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 16431 /* "UTF16" */}, // SQLITE_UTF16NATIVE {}, } /* sqlite3.c:130285:7 */ var setCookie = [2]VdbeOpList{ @@ -112390,7 +112898,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argc _ = argv Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+64 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16422 /* "CREATE TABLE x" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16437 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -112398,7 +112906,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16437 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16452 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -112411,19 +112919,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16444 /* "(\"%s\"" */, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16459 /* "(\"%s\"" */, 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 /* &acc */, ts+16450 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16465 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16462 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16477 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+4040 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+4055 /* ")" */, 1) Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) rc = Xsqlite3_declare_vtab(tls, db, bp+64 /* &zBuf[0] */) @@ -112439,7 +112947,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -112602,7 +113110,7 @@ __1: var zText uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp, zText)) + *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp, zText)) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) == uintptr(0) { return SQLITE_NOMEM } @@ -112618,13 +113126,13 @@ __2: __3: ; Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 128 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16477 /* "PRAGMA " */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16492 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16485 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16500 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) } Xsqlite3_str_appendall(tls, bp+32 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16489 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16504 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) } zSql = Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) if zSql == uintptr(0) { @@ -112633,7 +113141,7 @@ __3: rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -112726,12 +113234,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) // A error message has already been generated. Do not overwrite it } else if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & (U32(INITFLAG_AlterRename | INITFLAG_AlterDrop))) != 0 { *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db, - ts+16493 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), + ts+16508 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), func() uintptr { if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & U32(INITFLAG_AlterRename)) != 0 { - return ts + 16521 /* "rename" */ + return ts + 16536 /* "rename" */ } - return ts + 16528 /* "drop column" */ + return ts + 16543 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -112743,11 +113251,11 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { zObj = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - zObj = ts + 4096 /* "?" */ + zObj = ts + 4111 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+16540 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+16555 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+16571 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+16586 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -112824,7 +113332,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr if (Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (db+184 /* &.init */ /* &.newTnum */)) == 0) || (((*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum > (*InitData)(unsafe.Pointer(pData)).FmxPage) && ((*InitData)(unsafe.Pointer(pData)).FmxPage > Pgno(0))) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+12824 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+12839 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -112861,13 +113369,13 @@ 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+16579 /* "orphan index" */) + corruptSchema(tls, pData, argv, ts+16594 /* "orphan index" */) } else if (((Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (pIndex+88 /* &.tnum */)) == 0) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2))) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage)) || (Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+12824 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+12839 /* "invalid rootpage" */) } } } @@ -112910,16 +113418,16 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 7797 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 7812 /* "table" */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10846 /* "sqlite_temp_mast..." */ + return ts + 10861 /* "sqlite_temp_mast..." */ } - return ts + 4930 /* "sqlite_master" */ + return ts + 4945 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 6887 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 16592 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 6902 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 16607 /* "CREATE TABLE x(t..." */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 5*8)) = uintptr(0) (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FiDb = iDb @@ -113032,7 +113540,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+10473 /* "attached databas..." */) + ts+10488 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -113072,7 +113580,7 @@ __16: if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) { goto __17 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+16664 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+16679 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -113094,7 +113602,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+16688, /* "SELECT*FROM\"%w\"...." */ + ts+16703, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName)) xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth @@ -113454,7 +113962,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+16722 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+16737 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -113482,7 +113990,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+16752 /* "statement too lo..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+16767 /* "statement too lo..." */, 0) rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG) goto end_prepare __10: @@ -113545,7 +114053,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+2764 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+2779 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */))) goto __21 __20: @@ -114020,24 +114528,24 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC } } if ((jointype & (JT_INNER | JT_OUTER)) == (JT_INNER | JT_OUTER)) || ((jointype & JT_ERROR) != 0) { - var zSp uintptr = ts + 9626 /* " " */ + var zSp uintptr = ts + 9641 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+16771 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) + ts+16786 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) jointype = JT_INNER } else if ((jointype & JT_OUTER) != 0) && ((jointype & (JT_LEFT | JT_RIGHT)) != JT_LEFT) { Xsqlite3ErrorMsg(tls, pParse, - ts+16815 /* "RIGHT and FULL O..." */, 0) + ts+16830 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 16870 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 16885 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -114243,7 +114751,7 @@ __1: if (int32((*SrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype) & JT_NATURAL) != 0 { if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) || ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+16904 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) + ts+16919 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) return 1 } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { @@ -114267,7 +114775,7 @@ __1: // Disallow both ON and USING clauses in the same join if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) && ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+16954 /* "cannot have both..." */, 0) + ts+16969 /* "cannot have both..." */, 0) return 1 } @@ -114302,7 +114810,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+17009 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) + ts+17024 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) return 1 } addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 24 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 28 /* iLeftCol */)), (i + 1), iRightCol, @@ -115093,16 +115601,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 17073 /* "UNION ALL" */ + z = ts + 17088 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 17083 /* "INTERSECT" */ + z = ts + 17098 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 17093 /* "EXCEPT" */ + z = ts + 17108 /* "EXCEPT" */ break default: - z = ts + 17100 /* "UNION" */ + z = ts + 17115 /* "UNION" */ break } return z @@ -115120,7 +115628,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite bp := tls.Alloc(8) defer tls.Free(8) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17106 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17121 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } // Assign expression b to lvalue a. A second, no-op, version of this macro @@ -115386,8 +115894,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 11358 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 14731 /* "rowid" */ + zType = ts + 11373 /* "INTEGER" */ + *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 14746 /* "rowid" */ } else { *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName zType = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), uintptr(0)) @@ -115540,13 +116048,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 14731 /* "rowid" */ + zCol = ts + 14746 /* "rowid" */ } else { zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } if fullName != 0 { var zName uintptr = uintptr(0) - zName = Xsqlite3MPrintf(tls, db, ts+10759 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) + zName = Xsqlite3MPrintf(tls, db, ts+10774 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } else { Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, libc.UintptrFromInt32(-1)) @@ -115554,7 +116062,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*32)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+17129 /* "column%d" */, libc.VaList(bp+16, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+17144 /* "column%d" */, libc.VaList(bp+16, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -115643,7 +116151,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } else { - zName = ts + 14731 /* "rowid" */ + zName = ts + 14746 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -115656,7 +116164,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+17129 /* "column%d" */, libc.VaList(bp, (i+1))) + zName = Xsqlite3MPrintf(tls, db, ts+17144 /* "column%d" */, libc.VaList(bp, (i+1))) } // Make sure the column name is unique. If the name is not unique, @@ -115671,7 +116179,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+17138 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) + zName = Xsqlite3MPrintf(tls, db, ts+17153 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) if *(*U32)(unsafe.Pointer(bp + 56 /* cnt */)) > U32(3) { Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &cnt */) } @@ -116028,7 +116536,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+17146 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17161 /* "cannot use windo..." */, 0) return __1: ; @@ -116139,7 +116647,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+17195 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17210 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -116161,7 +116669,7 @@ __14: // Store the results of the setup-query in Queue. pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior (*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17237 /* "SETUP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17252 /* "SETUP" */, 0) rc = Xsqlite3Select(tls, pParse, pSetup, bp /* &destQueue */) (*Select)(unsafe.Pointer(pSetup)).FpNext = p if !(rc != 0) { @@ -116204,7 +116712,7 @@ __20: // Execute the recursive SELECT taking the single row in Current as // the value for the recursive-table. Store the results in the Queue. (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17243 /* "RECURSIVE STEP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17258 /* "RECURSIVE STEP" */, 0) Xsqlite3Select(tls, pParse, p, bp /* &destQueue */) (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -116254,11 +116762,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+17258 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17273 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { if nRow == 1 { - return ts + 729 /* "" */ + return ts + 744 /* "" */ } - return ts + 17281 /* "S" */ + return ts + 17296 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -116410,8 +116918,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17283 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17298 /* "LEFT-MOST SUBQUE..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17298 /* "COMPOUND QUERY" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17313 /* "LEFT-MOST SUBQUE..." */, 0) __8: ; @@ -116460,7 +116968,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17073 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17088 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) @@ -116536,7 +117044,7 @@ __23: pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 64 /* &uniondest */)).FeDest = op - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17317 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17332 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+64 /* &uniondest */) @@ -116608,7 +117116,7 @@ __26: pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 104 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17317 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17332 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+104 /* &intersectdest */) @@ -116769,10 +117277,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+17338 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17353 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+17384, /* "SELECTs to the l..." */ + ts+17399, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -117152,9 +117660,9 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Separate the left and the right query from one another (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) (*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) - Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6225 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6240 /* "ORDER" */) if (*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+6225 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+6240 /* "ORDER" */) } // Compute the limit registers @@ -117183,7 +117691,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) Xsqlite3SelectDestInit(tls, bp+8 /* &destA */, SRT_Coroutine, regAddrA) Xsqlite3SelectDestInit(tls, bp+48 /* &destB */, SRT_Coroutine, regAddrB) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17466 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17481 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) // Generate a coroutine to evaluate the SELECT statement to the // left of the compound operator - the "A" select. @@ -117191,7 +117699,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17477 /* "LEFT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17492 /* "LEFT" */, 0) Xsqlite3Select(tls, pParse, pPrior, bp+8 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -117205,7 +117713,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+17482 /* "RIGHT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17497 /* "RIGHT" */, 0) Xsqlite3Select(tls, pParse, p, bp+48 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -117402,7 +117910,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 292 /* "BINARY" */ + return ts + 307 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -118615,12 +119123,12 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 return U8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8 /* &.u */)) - if Xsqlite3StrICmp(tls, zFunc, ts+13813 /* "min" */) == 0 { + if Xsqlite3StrICmp(tls, zFunc, ts+13828 /* "min" */) == 0 { eRet = WHERE_ORDERBY_MIN if Xsqlite3ExprCanBeNull(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */))).FpExpr) != 0 { sortFlags = U8(KEYINFO_ORDER_BIGNULL) } - } else if Xsqlite3StrICmp(tls, zFunc, ts+13817 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+13832 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -118689,7 +119197,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+17488 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) + Xsqlite3ErrorMsg(tls, pParse, ts+17503 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) return SQLITE_ERROR } @@ -118800,7 +119308,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s defer tls.Free(8) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+17506 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17521 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) return 1 } return 0 @@ -118988,7 +119496,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+60 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+17529 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+17544 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -119004,7 +119512,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17572 /* "circular referen..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17587 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { @@ -119030,7 +119538,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+17595, /* "table %s has %d ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17610, /* "table %s has %d ..." */ libc.VaList(bp+16, (*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 @@ -119041,9 +119549,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom Xsqlite3ColumnsFromExprList(tls, pParse, pEList, (pTab + 70 /* &.nCol */), (pTab + 8 /* &.aCol */)) if bMayRecursive != 0 { if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17633 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17648 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17667 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17682 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -119091,7 +119599,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+17705 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + (*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+17720 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) } for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior @@ -119218,7 +119726,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+17717, /* "too many referen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17732, /* "too many referen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) (*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return WRC_Abort @@ -119237,7 +119745,7 @@ __1: if (((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (((*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+17756, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17771, /* "access to view \"..." */ libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -119245,7 +119753,7 @@ __1: ((uint32(int32(*(*uint16)(unsafe.Pointer((pFrom + 60 /* &.fg */) + 4 /* &.fromDDL */)) & 0x40 >> 6))) != 0)) && ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+17787, /* "unsafe use of vi..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17802, /* "unsafe use of vi..." */ libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) @@ -119360,7 +119868,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName } else { - zSchemaName = ts + 17820 /* "*" */ + zSchemaName = ts + 17835 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -119409,7 +119917,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+10759 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+10774 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) zToFree = zColname } } else { @@ -119425,7 +119933,7 @@ __3: (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSub)).FpEList+8 /* &.a */)+uintptr(j)*32)).FzEName) } else { - (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+17822, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+17837, /* "%s.%s.%s" */ libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } @@ -119445,9 +119953,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+17831 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17846 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+17849 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17864 /* "no tables specif..." */, 0) } } } @@ -119457,7 +119965,7 @@ __3: } if (*Select)(unsafe.Pointer(p)).FpEList != 0 { if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+17869 /* "too many columns..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17884 /* "too many columns..." */, 0) return WRC_Abort } if (elistFlags & (U32(EP_HasFunc | EP_Subquery))) != U32(0) { @@ -119645,13 +120153,13 @@ __1: if (*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)) == uintptr(0)) || ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)))).FnExpr != 1) { Xsqlite3ErrorMsg(tls, pParse, - ts+17900 /* "DISTINCT aggrega..." */, 0) + ts+17915 /* "DISTINCT aggrega..." */, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1 } else { var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)), 0, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -9) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17951 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17966 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } @@ -119851,19 +120359,19 @@ 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 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17984, /* "SCAN %s%s%s" */ + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17999, /* "SCAN %s%s%s" */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if bCover != 0 { - return ts + 17996 /* " USING COVERING ..." */ + return ts + 18011 /* " USING COVERING ..." */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }())) } } @@ -119883,7 +120391,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { if (Xsqlite3ExprIsConstantOrGroupBy(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*Select)(unsafe.Pointer(pS)).FpGroupBy) != 0) && ((libc.Bool32(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromJoin | EP_IsFalse))) == U32(EP_IsFalse))) == 0) { var db uintptr = (*Parse)(unsafe.Pointer((*Walker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6887 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6902 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -120185,7 +120693,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+18019, /* "target object/al..." */ + ts+18034, /* "target object/al..." */ libc.VaList(bp, func() uintptr { if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 { return (*SrcItem)(unsafe.Pointer(p0)).FzAlias @@ -120265,7 +120773,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+18073, /* "expected %d colu..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18088, /* "expected %d colu..." */ 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 __18: @@ -120406,7 +120914,7 @@ __29: if !(((*SrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0)) && ((*SrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0))) { goto __32 } - Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+729 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+744 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -120471,7 +120979,7 @@ __35: (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop Xsqlite3SelectDestInit(tls, bp+96 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18113 /* "CO-ROUTINE %!S" */, libc.VaList(bp+32, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18128 /* "CO-ROUTINE %!S" */, libc.VaList(bp+32, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+96 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) @@ -120533,7 +121041,7 @@ __44: __45: ; Xsqlite3SelectDestInit(tls, bp+96 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18128 /* "MATERIALIZE %!S" */, libc.VaList(bp+40, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18143 /* "MATERIALIZE %!S" */, libc.VaList(bp+40, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+96 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { @@ -121053,9 +121561,9 @@ __97: explainTempTable(tls, pParse, func() uintptr { if ((*DistinctCtx)(unsafe.Pointer(bp+136 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { - return ts + 18144 /* "DISTINCT" */ + return ts + 18159 /* "DISTINCT" */ } - return ts + 18153 /* "GROUP BY" */ + return ts + 18168 /* "GROUP BY" */ }()) groupBySort = 1 @@ -121467,7 +121975,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+18144 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+18159 /* "DISTINCT" */) __140: ; @@ -121479,9 +121987,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FnOBSat > 0 { - return ts + 18162 /* "RIGHT PART OF OR..." */ + return ts + 18177 /* "RIGHT PART OF OR..." */ } - return ts + 18185 /* "ORDER BY" */ + return ts + 18200 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+48 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -121615,7 +122123,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if !(z == uintptr(0)) { goto __10 } @@ -121637,7 +122145,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+18194 /* "sqlite3_get_tabl..." */, 0) + ts+18209 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -121736,7 +122244,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) } @@ -121897,7 +122405,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+18259 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18274 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -121958,7 +122466,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+18305 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+18320 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+40 /* &sFix */, pTableName) != 0) { goto __9 } @@ -121976,7 +122484,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+18313 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18328 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -121991,7 +122499,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+18305 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { + if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+18320 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { goto __13 } goto trigger_cleanup @@ -122007,7 +122515,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+18354 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+18369 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __17 __16: ; @@ -122021,10 +122529,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7055 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7070 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+18380 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18395 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -122034,12 +122542,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+18418, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18433, /* "cannot create %s..." */ libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 18455 /* "BEFORE" */ + return ts + 18470 /* "BEFORE" */ } - return ts + 18462 /* "AFTER" */ + return ts + 18477 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -122048,7 +122556,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+18468 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) + ts+18483 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -122078,9 +122586,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 10846 /* "sqlite_temp_mast..." */ + return ts + 10861 /* "sqlite_temp_mast..." */ } - return ts + 4930 /* "sqlite_master" */ + return ts + 4945 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -122214,7 +122722,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+18305 /* "trigger" */, bp+40 /* &nameToken */) + Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+18320 /* "trigger" */, bp+40 /* &nameToken */) if !((Xsqlite3FixTriggerStep(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || (Xsqlite3FixExpr(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 @@ -122251,13 +122759,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+18514, /* "INSERT INTO %Q.s..." */ + ts+18529, /* "INSERT INTO %Q.s..." */ libc.VaList(bp, (*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+18589 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+18604 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) __7: ; __6: @@ -122523,7 +123031,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+18618 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+18633 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __10 __9: Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb) @@ -122564,9 +123072,9 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName var zTab uintptr = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10846 /* "sqlite_temp_mast..." */ + return ts + 10861 /* "sqlite_temp_mast..." */ } - return ts + 4930 /* "sqlite_master" */ + return ts + 4945 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -122579,7 +123087,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / // Generate code to destroy the database record of the trigger. if (libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse))) != uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+18638, /* "DELETE FROM %Q.s..." */ + ts+18653, /* "DELETE FROM %Q.s..." */ 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) @@ -122698,12 +123206,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+18700, /* "%s RETURNING is ..." */ + ts+18715, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 18748 /* "DELETE" */ + return ts + 18763 /* "DELETE" */ } - return ts + 18755 /* "UPDATE" */ + return ts + 18770 /* "UPDATE" */ }())) __15: ; @@ -122799,7 +123307,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK { return 0 } - Xsqlite3ErrorMsg(tls, pParse, ts+18762 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18777 /* "RETURNING may no..." */, 0) return 1 } @@ -122940,7 +123448,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf if (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { Xsqlite3VdbeAddOp4(tls, v, OP_Trace, 0x7fffffff, 1, 0, - Xsqlite3MPrintf(tls, db, ts+5117 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+5132 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -123070,7 +123578,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+18804 /* "-- TRIGGER %s" */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) + Xsqlite3MPrintf(tls, db, ts+18819 /* "-- TRIGGER %s" */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -123773,7 +124281,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+18818, /* "cannot UPDATE ge..." */ + ts+18833, /* "cannot UPDATE ge..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto update_cleanup __27: @@ -123805,7 +124313,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+18854 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+18869 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -123816,7 +124324,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 6662 /* "ROWID" */ + return ts + 6677 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*32)).FzName }(), @@ -124847,7 +125355,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+18873 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+18888 /* "rows updated" */, uintptr(0)) __169: ; @@ -125234,10 +125742,10 @@ __1: if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { *(*int8)(unsafe.Pointer(bp + 216 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+18886 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+18901 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+18890 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) + ts+18905 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -125328,7 +125836,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, iDataCur, 0, iPk, nPk) Xsqlite3VdbeAddOp4(tls, v, OP_Halt, SQLITE_CORRUPT, OE_Abort, 0, - ts+10900 /* "corrupt database" */, -1) + ts+10915 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -125396,7 +125904,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { // then run VACUUM to get those statements to execute at inappropriate // times. if (zSubSql != 0) && - ((libc.Xstrncmp(tls, zSubSql, ts+18963 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+18967 /* "INS" */, uint64(3)) == 0)) { + ((libc.Xstrncmp(tls, zSubSql, ts+18978 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+18982 /* "INS" */, uint64(3)) == 0)) { rc = execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -125546,14 +126054,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+18971 /* "cannot VACUUM fr..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+18986 /* "cannot VACUUM fr..." */) return SQLITE_ERROR // IMP: R-12218-18073 __1: ; if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) { goto __2 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+19011 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19026 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -125564,7 +126072,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+19054 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19069 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -125573,7 +126081,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 76 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 729 /* "" */ + zOut = ts + 744 /* "" */ __4: ; @@ -125609,7 +126117,7 @@ __4: // time to parse and run the PRAGMA to turn journalling off than it does // to write the journal header file. nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb - rc = execSqlF(tls, db, pzErrMsg, ts+19072 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) + rc = execSqlF(tls, db, pzErrMsg, ts+19087 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if !(rc != SQLITE_OK) { goto __6 @@ -125630,7 +126138,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+19095 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19110 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -125646,7 +126154,7 @@ __7: // Begin a transaction and take an exclusive lock on the main database // file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, // to ensure that we do not try to change the page-size on a WAL database. - rc = execSql(tls, db, pzErrMsg, ts+13187 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+13202 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -125697,7 +126205,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+19122, /* "SELECT sql FROM ..." */ + ts+19137, /* "SELECT sql FROM ..." */ libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -125707,7 +126215,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+19230, /* "SELECT sql FROM ..." */ + ts+19245, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -125722,7 +126230,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+19284, /* "SELECT'INSERT IN..." */ + ts+19299, /* "SELECT'INSERT IN..." */ libc.VaList(bp+24, zDbMain)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) @@ -125739,7 +126247,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+19435, /* "INSERT INTO vacu..." */ + ts+19450, /* "INSERT INTO vacu..." */ libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 @@ -126119,7 +126627,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp var azModuleArg uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*Table)(unsafe.Pointer(pTable)).FnModuleArg + 3) >= *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+11130 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11145 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = Xsqlite3DbRealloc(tls, db, (*Table)(unsafe.Pointer(pTable)).FazModuleArg, uint64(nBytes)) if azModuleArg == uintptr(0) { @@ -126213,7 +126721,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s 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+19565 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) + zStmt = Xsqlite3MPrintf(tls, db, ts+19580 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) // A slot for the record has already been allocated in the // schema table. We just need to update that slot with all @@ -126225,7 +126733,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+19589, /* "UPDATE %Q.sqlite..." */ + ts+19604, /* "UPDATE %Q.sqlite..." */ 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, @@ -126235,7 +126743,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+19688 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+19703 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -126300,7 +126808,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+19707 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+19722 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return SQLITE_LOCKED } } @@ -126338,9 +126846,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+19749 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+19764 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+2764 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+2779 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) @@ -126352,7 +126860,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 /* &sCtx */)).FbDeclared == 0 { - var zFormat uintptr = ts + 19779 /* "vtable construct..." */ + var zFormat uintptr = ts + 19794 /* "vtable construct..." */ *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR @@ -126368,12 +126876,12 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Table)(unsafe.Pointer(pTab)).FpVTable = pVTable for iCol = 0; iCol < int32((*Table)(unsafe.Pointer(pTab)).FnCol); iCol++ { - var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+729 /* "" */) + var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+744 /* "" */) var nType int32 var i int32 = 0 nType = Xsqlite3Strlen30(tls, zType) for i = 0; i < nType; i++ { - if ((0 == Xsqlite3_strnicmp(tls, ts+14644 /* "hidden" */, (zType+uintptr(i)), 6)) && + if ((0 == Xsqlite3_strnicmp(tls, ts+14659 /* "hidden" */, (zType+uintptr(i)), 6)) && ((i == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && ((int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { break @@ -126432,13 +126940,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 if !(pMod != 0) { var zModule uintptr = *(*uintptr)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FazModuleArg)) - Xsqlite3ErrorMsg(tls, pParse, ts+19825 /* "no such module: ..." */, libc.VaList(bp, zModule)) + Xsqlite3ErrorMsg(tls, pParse, ts+19840 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+16 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+2764 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2779 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -126500,7 +127008,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // invoke it now. If the module has not been registered, return an // error. Otherwise, do nothing. 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+19825 /* "no such module: ..." */, libc.VaList(bp, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+19840 /* "no such module: ..." */, 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) @@ -126577,7 +127085,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)) != 0 { - return ts + 2764 /* "%s" */ + return ts + 2779 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)))) @@ -126949,7 +127457,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+8 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+2764 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2779 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 @@ -127380,10 +127888,10 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:144931:29 */ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:145112:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == (-2) { - return ts + 19844 /* "" */ + return ts + 19859 /* "" */ } if i == (-1) { - return ts + 14731 /* "rowid" */ + return ts + 14746 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*32)).FzName } @@ -127398,35 +127906,35 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i var i int32 if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, ts+19851 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+19866 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+19857 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+19872 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11511 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+11526 /* "," */, 1) } Xsqlite3_str_appendall(tls, pStr, explainIndexColumnName(tls, pIdx, (iTerm+i))) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+4040 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4055 /* ")" */, 1) } Xsqlite3_str_append(tls, pStr, zOp, 1) if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+19857 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+19872 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11511 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+11526 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+4096 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4111 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+4040 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4055 /* ")" */, 1) } } @@ -127455,29 +127963,29 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. 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+19859 /* " (" */, 2) + Xsqlite3_str_append(tls, pStr, ts+19874 /* " (" */, 2) for i = 0; i < int32(nEq); i++ { var z uintptr = explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+19851 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+19866 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 19862 /* "%s=?" */ + return ts + 19877 /* "%s=?" */ } - return ts + 19867 /* "ANY(%s)" */ + return ts + 19882 /* "ANY(%s)" */ }(), 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 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+19875 /* ">" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+19890 /* ">" */) i = 1 } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_TOP_LIMIT)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+19877 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+19892 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+4040 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4055 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -127522,11 +128030,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+80 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) (*StrAccum)(unsafe.Pointer(bp + 48 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+19879 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+19894 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { - return ts + 19885 /* "SEARCH" */ + return ts + 19900 /* "SEARCH" */ } - return ts + 19892 /* "SCAN" */ + return ts + 19907 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -127536,38 +128044,38 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr if !(((*Table)(unsafe.Pointer(((*SrcItem)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = ts + 9674 /* "PRIMARY KEY" */ + zFmt = ts + 9689 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 19897 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 19912 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 19930 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 19945 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 19955 /* "COVERING INDEX %..." */ + zFmt = ts + 19970 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 19973 /* "INDEX %s" */ + zFmt = ts + 19988 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+48 /* &str */, ts+19982 /* " USING " */, 7) + Xsqlite3_str_append(tls, bp+48 /* &str */, ts+19997 /* " USING " */, 7) Xsqlite3_str_appendf(tls, bp+48 /* &str */, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) explainIndexRange(tls, bp+48 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr if (flags & (U32(WHERE_COLUMN_EQ | WHERE_COLUMN_IN))) != 0 { - zRangeOp = ts + 19990 /* "=" */ + zRangeOp = ts + 20005 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 19992 /* ">? AND rowid<" */ + zRangeOp = ts + 20007 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 19875 /* ">" */ + zRangeOp = ts + 19890 /* ">" */ } else { - zRangeOp = ts + 19877 /* "<" */ + zRangeOp = ts + 19892 /* "<" */ } Xsqlite3_str_appendf(tls, bp+48, /* &str */ - ts+20006 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) + ts+20021 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+20044, /* " VIRTUAL TABLE I..." */ + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+20059, /* " VIRTUAL TABLE I..." */ libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } zMsg = Xsqlite3StrAccumFinish(tls, bp+48 /* &str */) @@ -129123,7 +129631,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // Run a separate WHERE clause for each term of the OR clause. After // eliminating duplicates from other WHERE clauses, the action for each // sub-WHERE clause is to to invoke the main loop body as a subroutine. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20071 /* "MULTI-INDEX OR" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20086 /* "MULTI-INDEX OR" */, 0) for ii = 0; ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm; ii++ { var pOrTerm uintptr = ((*WhereClause)(unsafe.Pointer(pOrWc)).Fa + uintptr(ii)*56) if ((*WhereTerm)(unsafe.Pointer(pOrTerm)).FleftCursor == iCur) || ((int32((*WhereTerm)(unsafe.Pointer(pOrTerm)).FeOperator) & WO_AND) != 0) { @@ -129142,7 +129650,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } // Loop through table entries that match term pOrTerm. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20086 /* "INDEX %d" */, libc.VaList(bp, (ii+1))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20101 /* "INDEX %d" */, libc.VaList(bp, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -129891,10 +130399,10 @@ type Op2 = struct { } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 14602 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 14075 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 13625 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 20095 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, + {FzOp: ts + 14617 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, + {FzOp: ts + 14090 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, + {FzOp: ts + 13640 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, + {FzOp: ts + 20110 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, } /* sqlite3.c:147958:7 */ // If the pBase expression originated in the ON or USING clause of @@ -130595,7 +131103,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s extraRight = (x - uint64(1)) // ON clause terms may not be used with an index // on left table of a LEFT JOIN. Ticket #3015 if (prereqAll >> 1) >= x { - Xsqlite3ErrorMsg(tls, pParse, ts+20102 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20117 /* "ON clause refere..." */, 0) return } } @@ -130671,7 +131179,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s (*WhereTerm)(unsafe.Pointer(pNew)).FeOperator = (U16((int32(operatorMask(tls, int32((*Expr)(unsafe.Pointer(pDup)).Fop))) + int32(eExtraOp)) & int32(opMask))) } else if (op == TK_ISNULL) && (0 == Xsqlite3ExprCanBeNull(tls, pLeft)) { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5749 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5764 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) (*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0) @@ -130772,7 +131280,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s } zCollSeqName = func() uintptr { if *(*int32)(unsafe.Pointer(bp + 20 /* noCase */)) != 0 { - return ts + 20143 /* "NOCASE" */ + return ts + 20158 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -131074,7 +131582,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+20150, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+20165, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -131897,7 +132405,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+20186 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, + ts+20201 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*32)).FzName)) sentWarning = U8(1) __6: @@ -131978,7 +132486,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 20212 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 20227 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -132211,7 +132719,7 @@ __3: ((uint64(unsafe.Sizeof(sqlite3_index_constraint{})) + uint64(unsafe.Sizeof(sqlite3_index_constraint_usage{}))) * uint64(nTerm))) + (uint64(unsafe.Sizeof(sqlite3_index_orderby{})) * uint64(nOrderBy))) + uint64(unsafe.Sizeof(HiddenIndexInfo1{}))))) if pIdxInfo == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+5155 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5170 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*96) @@ -132338,9 +132846,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+2764 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+2779 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+2764 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+2779 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -134390,7 +134898,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+20223 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20238 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -134438,7 +134946,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+20223 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20238 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -134827,7 +135335,7 @@ __1: if (rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { if rc == SQLITE_DONE { // We hit the query planner search limit set by iPlanLimit - Xsqlite3_log(tls, SQLITE_WARNING, ts+20249 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+20264 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -135596,7 +136104,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+20284 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20299 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -135977,7 +136485,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+20302 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) + Xsqlite3ErrorMsg(tls, pParse, ts+20317 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) return uintptr(0) __3: ; @@ -136052,7 +136560,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20330 /* "SCAN CONSTANT RO..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20345 /* "SCAN CONSTANT RO..." */, 0) goto __6 __5: // Assign a bit from the bitmask to every term in the FROM clause. @@ -137187,7 +137695,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+20348 /* "second argument ..." */, -1) + pCtx, ts+20363 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -137336,7 +137844,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+20404 /* "argument of ntil..." */, -1) + pCtx, ts+20419 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -137433,17 +137941,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155441:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 20449 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 20460 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 20471 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 20476 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 20489 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 20499 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 20505 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 20516 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 20526 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 20538 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 20543 /* "lag" */)) /* sqlite3.c:155469:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 20464 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 20475 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 20486 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 20491 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 20504 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 20514 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 20520 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 20531 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 20541 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 20553 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 20558 /* "lag" */)) /* sqlite3.c:155469:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -137507,7 +138015,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+20547 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20562 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -137551,12 +138059,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+20566 /* "RANGE with offse..." */, 0) + ts+20581 /* "RANGE with offse..." */, 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+20637 /* "FILTER clause ma..." */, 0) + ts+20652 /* "FILTER clause ma..." */, 0) } else { *(*[8]WindowUpdate)(unsafe.Pointer(bp /* aUp */)) = [8]WindowUpdate{ {FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT}, @@ -137579,7 +138087,7 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*Window)(unsafe.Pointer(pWin)).FeEnd = U8((*WindowUpdate)(unsafe.Pointer(bp /* &aUp */ + uintptr(i)*24)).FeEnd) (*Window)(unsafe.Pointer(pWin)).FeExclude = U8(0) if int32((*Window)(unsafe.Pointer(pWin)).FeStart) == TK_FOLLOWING { - (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6887 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6902 /* "1" */) } break } @@ -137821,7 +138329,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+6948 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + ts+6963 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) } return WRC_Continue } @@ -137951,7 +138459,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // keep everything legal in this case. if *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3Expr(tls, db, TK_INTEGER, ts+6480 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+6495 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -138091,7 +138599,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+20700 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20715 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -138157,15 +138665,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint var zErr uintptr = uintptr(0) // Check for errors if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = ts + 20732 /* "PARTITION clause" */ + zErr = ts + 20747 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 20749 /* "ORDER BY clause" */ + zErr = ts + 20764 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 20765 /* "frame specificat..." */ + zErr = ts + 20780 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+20785 /* "cannot override ..." */, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase)) + ts+20800 /* "cannot override ..." */, 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 { @@ -138188,7 +138696,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+20818 /* "DISTINCT is not ..." */, 0) + ts+20833 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -138339,7 +138847,7 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regZero) if eCond >= WINDOW_STARTING_NUM { var regString int32 = Xsqlite3GetTempReg(tls, pParse) - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+729 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+744 /* "" */, -1) Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), reg) Xsqlite3VdbeChangeP5(tls, v, (uint16(SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL))) @@ -138361,11 +138869,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 20865, /* "frame starting o..." */ - ts + 20918, /* "frame ending off..." */ - ts + 20348, /* "second argument ..." */ - ts + 20969, /* "frame starting o..." */ - ts + 21021, /* "frame ending off..." */ + ts + 20880, /* "frame starting o..." */ + ts + 20933, /* "frame ending off..." */ + ts + 20363, /* "second argument ..." */ + ts + 20984, /* "frame starting o..." */ + ts + 21036, /* "frame ending off..." */ } /* sqlite3.c:156372:21 */ var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:156379:14 */ @@ -138967,7 +139475,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // the add/subtract is skipped for these, as required. If reg1 is a NULL, // then the arithmetic is performed, but since adding or subtracting from // NULL is always NULL anyway, this case is handled as required too. - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+729 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+744 /* "" */, -1) addrGe = Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, 0, reg1) if ((op == OP_Ge) && (arith == OP_Add)) || ((op == OP_Le) && (arith == OP_Subtract)) { @@ -139982,19 +140490,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit } cnt++ if ((*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0) || ((*Select)(unsafe.Pointer(pLoop)).FpLimit != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+21071, /* "%s clause should..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21086, /* "%s clause should..." */ libc.VaList(bp, func() uintptr { if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - return ts + 18185 /* "ORDER BY" */ + return ts + 18200 /* "ORDER BY" */ } - return ts + 21113 /* "LIMIT" */ + return ts + 21128 /* "LIMIT" */ }(), 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 + 128 /* &.aLimit */) + 4*4)))) > 0)) && (cnt > mxSelect) { - Xsqlite3ErrorMsg(tls, pParse, ts+21119 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21134 /* "too many terms i..." */, 0) } } @@ -140074,7 +140582,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+21153, /* "syntax error aft..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21168, /* "syntax error aft..." */ libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz)) } Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1) @@ -141301,7 +141809,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+21191 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21206 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -142280,11 +142788,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(22): /* table_options ::= WITHOUT nm */ { - if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+14731 /* "rowid" */, 5) == 0) { + if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+14746 /* "rowid" */, 5) == 0) { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = (TF_WithoutRowid | TF_NoVisibleRowid) } else { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = 0 - Xsqlite3ErrorMsg(tls, pParse, ts+21213 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) + Xsqlite3ErrorMsg(tls, pParse, ts+21228 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) } } break @@ -143019,7 +143527,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in case uint32(155): /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ { Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */)) - Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+21240 /* "set list" */) + Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+21255 /* "set list" */) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = Xsqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))) Xsqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */)), uintptr(0), uintptr(0), uintptr(0)) } @@ -143172,7 +143680,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(bp + 96 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21249 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+21264 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) @@ -143376,9 +143884,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 /* &.minor */))) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, func() uintptr { if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)) != 0 { - return ts + 6887 /* "1" */ + return ts + 6902 /* "1" */ } - return ts + 6480 /* "0" */ + return ts + 6495 /* "0" */ }()) } else if ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)))).FnExpr == 1) && (Xsqlite3ExprIsConstant(tls, (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))+8 /* &.a */))).FpExpr) != 0) { var pRHS uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) + 8 /* &.a */))).FpExpr @@ -143653,21 +144161,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) Xsqlite3ErrorMsg(tls, pParse, - ts+21273 /* "qualified table ..." */, 0) + ts+21288 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21368 /* "the INDEXED BY c..." */, 0) + ts+21383 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21452 /* "the NOT INDEXED ..." */, 0) + ts+21467 /* "the NOT INDEXED ..." */, 0) } break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ @@ -144116,9 +144624,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To _ = yymajor // Silence some compiler warnings if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21249 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) + Xsqlite3ErrorMsg(tls, pParse, ts+21264 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+21537 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21552 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -145325,7 +145833,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+21554 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+21569 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -145345,12 +145853,12 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+2764 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+2779 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg - Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+21581, /* "%s in \"%s\"" */ + Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+21596, /* "%s in \"%s\"" */ libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ @@ -145562,7 +146070,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+21592 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+21607 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -145575,11 +146083,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+18305 /* "trigger" */, 7) == 0) { + if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+18320 /* "trigger" */, 7) == 0) { token = U8(TkTRIGGER) - } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+21599 /* "temp" */, 4) == 0) { + } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+21614 /* "temp" */, 4) == 0) { token = U8(TkTEMP) - } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+21604 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+21619 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -145592,9 +146100,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+21614 /* "end" */, 3) == 0) { + if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+21629 /* "end" */, 3) == 0) { token = U8(TkEND) - } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+21618 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+21633 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -146622,7 +147130,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // SQLITE_BUSY if the connection can not be closed immediately. if !(forceZombie != 0) && (connectionIsBusy(tls, db) != 0) { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+21626 /* "unable to close ..." */, 0) + ts+21641 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -146844,23 +147352,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: */ - var zErr uintptr = ts + 21694 /* "unknown error" */ + var zErr uintptr = ts + 21709 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 21708 /* "abort due to ROL..." */ + zErr = ts + 21723 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 21730 /* "another row avai..." */ + zErr = ts + 21745 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 21752 /* "no more rows ava..." */ + zErr = ts + 21767 /* "no more rows ava..." */ break } @@ -146878,35 +147386,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 21775, /* "not an error" */ - /* SQLITE_ERROR */ ts + 21788, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 21790, /* "not an error" */ + /* SQLITE_ERROR */ ts + 21803, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 21804, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 21829, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 21843, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 21862, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 5155, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 21887, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 21924, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 21936, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 21951, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 21984, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 22002, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 22027, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 22056, /* "locking protocol" */ + /* SQLITE_PERM */ ts + 21819, /* "access permissio..." */ + /* SQLITE_ABORT */ ts + 21844, /* "query aborted" */ + /* SQLITE_BUSY */ ts + 21858, /* "database is lock..." */ + /* SQLITE_LOCKED */ ts + 21877, /* "database table i..." */ + /* SQLITE_NOMEM */ ts + 5170, /* "out of memory" */ + /* SQLITE_READONLY */ ts + 21902, /* "attempt to write..." */ + /* SQLITE_INTERRUPT */ ts + 21939, /* "interrupted" */ + /* SQLITE_IOERR */ ts + 21951, /* "disk I/O error" */ + /* SQLITE_CORRUPT */ ts + 21966, /* "database disk im..." */ + /* SQLITE_NOTFOUND */ ts + 21999, /* "unknown operatio..." */ + /* SQLITE_FULL */ ts + 22017, /* "database or disk..." */ + /* SQLITE_CANTOPEN */ ts + 22042, /* "unable to open d..." */ + /* SQLITE_PROTOCOL */ ts + 22071, /* "locking protocol" */ /* SQLITE_EMPTY */ uintptr(0), - /* SQLITE_SCHEMA */ ts + 4885, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 4422, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 22073, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 22091, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 22109, /* "bad parameter or..." */ + /* SQLITE_SCHEMA */ ts + 4900, /* "database schema ..." */ + /* SQLITE_TOOBIG */ ts + 4437, /* "string or blob t..." */ + /* SQLITE_CONSTRAINT */ ts + 22088, /* "constraint faile..." */ + /* SQLITE_MISMATCH */ ts + 22106, /* "datatype mismatc..." */ + /* SQLITE_MISUSE */ ts + 22124, /* "bad parameter or..." */ /* SQLITE_NOLFS */ uintptr(0), - /* SQLITE_AUTH */ ts + 22143, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 22158, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 22164, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 22190, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 22213, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 22234, /* "warning message" */ + /* SQLITE_RANGE */ ts + 22179, /* "column index out..." */ + /* SQLITE_NOTADB */ ts + 22205, /* "file is not a da..." */ + /* SQLITE_NOTICE */ ts + 22228, /* "notification mes..." */ + /* SQLITE_WARNING */ ts + 22249, /* "warning message" */ } /* sqlite3.c:166656:20 */ // This routine implements a busy callback that sleeps and tries @@ -147071,7 +147579,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+22250 /* "unable to delete..." */, 0) + ts+22265 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -147204,7 +147712,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+22313 /* "unable to use fu..." */, libc.VaList(bp, zName)) + ts+22328 /* "unable to use fu..." */, libc.VaList(bp, zName)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } @@ -147426,7 +147934,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+22364 /* "unknown database..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+22379 /* "unknown database..." */, libc.VaList(bp, zDb)) } else { (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -147645,7 +148153,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint if (pColl != 0) && ((*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0) { if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+22385 /* "unable to delete..." */, 0) + ts+22400 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -147788,7 +148296,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u if !(((((flags & uint32(SQLITE_OPEN_URI)) != 0) || // IMP: R-48725-32206 (Xsqlite3Config.FbOpenUri != 0)) && // IMP: R-51689-46548 - (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+22453 /* "file:" */, uint64(5)) == 0)) { + (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+22468 /* "file:" */, uint64(5)) == 0)) { goto __1 } // Input character index iOut = 0 // Output character index @@ -147836,10 +148344,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+22459 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { + if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+22474 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22469, /* "invalid uri auth..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22484, /* "invalid uri auth..." */ libc.VaList(bp, (iIn-7), (zUri+7))) rc = SQLITE_ERROR goto parse_uri_out @@ -147961,7 +148469,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+22497 /* "vfs" */, zOpt, uint64(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+22512 /* "vfs" */, zOpt, uint64(3)) == 0)) { goto __29 } zVfs = zVal @@ -147972,17 +148480,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+22501 /* "cache" */, zOpt, uint64(5)) == 0)) { + if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+22516 /* "cache" */, zOpt, uint64(5)) == 0)) { goto __31 } mask = (SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&aCacheMode)) limit = mask - zModeType = ts + 22501 /* "cache" */ + zModeType = ts + 22516 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22507 /* "mode" */, zOpt, uint64(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22522 /* "mode" */, zOpt, uint64(4)) == 0)) { goto __32 } @@ -147990,7 +148498,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 2373 /* "access" */ + zModeType = ts + 2388 /* "access" */ __32: ; @@ -148021,7 +148529,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22512 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22527 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -148029,7 +148537,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22532, /* "%s mode not allo..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22547, /* "%s mode not allo..." */ libc.VaList(bp+32, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out @@ -148072,7 +148580,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22556 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22571 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) rc = SQLITE_ERROR __42: ; @@ -148096,15 +148604,15 @@ type OpenMode = struct { } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 22572 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 22579 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, + {Fz: ts + 22587 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, + {Fz: ts + 22594 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, } /* sqlite3.c:168073:34 */ var aOpenMode = [5]OpenMode{ - {Fz: ts + 22587 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 22590 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 22593 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 15824 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, + {Fz: ts + 22602 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, + {Fz: ts + 22605 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, + {Fz: ts + 22608 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, + {Fz: ts + 15839 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, {}, } /* sqlite3.c:168085:34 */ @@ -148286,10 +148794,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+20143 /* "NOCASE" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+20158 /* "NOCASE" */, 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+22597 /* "RTRIM" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+22612 /* "RTRIM" */, 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) { @@ -148335,7 +148843,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 2764 /* "%s" */ + return ts + 2779 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -148373,9 +148881,9 @@ __22: // The default safety_level for the main database is FULL; for the temp // database it is OFF. This matches the pager layer defaults. - (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 5432 /* "main" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 5447 /* "main" */ (*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 + 21599 /* "temp" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 21614 /* "temp" */ (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF) (*Sqlite3)(unsafe.Pointer(db)).Fmagic = SQLITE_MAGIC_OPEN @@ -148493,7 +149001,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 22603 /* "\x00\x00" */ + zFilename = ts + 22618 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -148596,24 +149104,24 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) bp := tls.Alloc(24) defer tls.Free(24) - Xsqlite3_log(tls, iErr, ts+22606, /* "%s at line %d of..." */ + Xsqlite3_log(tls, iErr, ts+22621, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) return iErr } func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168711:20: */ - return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+22631 /* "database corrupt..." */) + return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+22646 /* "database corrupt..." */) } func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168715:20: */ - return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+22651 /* "misuse" */) + return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+22666 /* "misuse" */) } func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168719:20: */ - return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+22658 /* "cannot open file" */) + return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+22673 /* "cannot open file" */) } // This is a convenience routine that makes sure that all thread-specific @@ -148740,7 +149248,7 @@ __4: autoinc = (libc.Bool32((int32((*Table)(unsafe.Pointer(pTab)).FiPKey) == iCol) && (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != U32(0)))) goto __13 __12: - zDataType = ts + 11358 /* "INTEGER" */ + zDataType = ts + 11373 /* "INTEGER" */ primarykey = 1 __13: ; @@ -148792,14 +149300,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+22675 /* "no such table co..." */, libc.VaList(bp, zTableName, + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+22690 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 2764 /* "%s" */ + return ts + 2779 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -149598,7 +150106,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+22703 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+22718 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -149759,7 +150267,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 + 22711 /* "database is dead..." */ + return ts + 22726 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -150559,7 +151067,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 5232 /* "null" */, ts + 5744 /* "true" */, ts + 5749 /* "false" */, ts + 5242 /* "integer" */, ts + 5237 /* "real" */, ts + 13497 /* "text" */, ts + 22734 /* "array" */, ts + 22740, /* "object" */ + ts + 5247 /* "null" */, ts + 5759 /* "true" */, ts + 5764 /* "false" */, ts + 5257 /* "integer" */, ts + 5252 /* "real" */, ts + 13512 /* "text" */, ts + 22749 /* "array" */, ts + 22755, /* "object" */ } /* sqlite3.c:189771:19 */ // Maximum nesting depth of JSON for this implementation. @@ -150739,7 +151247,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 + 22747 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 22762 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -150767,7 +151275,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { - jsonAppendRaw(tls, p, ts+5232 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+5247 /* "null" */, uint32(4)) break } @@ -150796,7 +151304,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 default: { if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { - Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+22764 /* "JSON cannot hold..." */, -1) + Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+22779 /* "JSON cannot hold..." */, -1) (*JsonString)(unsafe.Pointer(p)).FbErr = U8(2) jsonReset(tls, p) } @@ -150873,19 +151381,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+5232 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+5247 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+5744 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+5759 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+5749 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+5764 /* "false" */, uint32(5)) break } @@ -151451,17 +151959,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } return (int32(j + U32(1))) } else if ((int32(c) == 'n') && - (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5232 /* "null" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5247 /* "null" */, uint64(4)) == 0)) && !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { 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+5744 /* "true" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5759 /* "true" */, 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+5749 /* "false" */, uint64(5)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5764 /* "false" */, 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))) @@ -151569,7 +152077,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+22793 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+22808 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -151889,7 +152397,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+22808 /* "[0]" */, uint64(3)) == 0 { + } else if libc.Xstrncmp(tls, zPath, ts+22823 /* "[0]" */, uint64(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) } else { return uintptr(0) @@ -151906,7 +152414,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190 bp := tls.Alloc(8) defer tls.Free(8) - return Xsqlite3_mprintf(tls, ts+22812 /* "JSON path error ..." */, libc.VaList(bp, zErr)) + return Xsqlite3_mprintf(tls, ts+22827 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } // Do a node lookup using zPath. Return a pointer to the node on success. @@ -151973,7 +152481,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit bp := tls.Alloc(8) defer tls.Free(8) - var zMsg uintptr = Xsqlite3_mprintf(tls, ts+22838, /* "json_%s() needs ..." */ + var zMsg uintptr = Xsqlite3_mprintf(tls, ts+22853, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -152117,7 +152625,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* if pNode != 0 { jsonRenderNode(tls, pNode, bp /* &jx */, uintptr(0)) } else { - jsonAppendRaw(tls, bp /* &jx */, ts+5232 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+5247 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -152245,14 +152753,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+22881 /* "json_object() re..." */, -1) + ts+22896 /* "json_object() re..." */, -1) return } jsonInit(tls, bp /* &jx */, ctx) jsonAppendChar(tls, bp /* &jx */, 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+22932 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+22947 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -152360,7 +152868,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+14008 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+14023 /* "replace" */) return __2: ; @@ -152446,9 +152954,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 22966 /* "set" */ + return ts + 22981 /* "set" */ } - return ts + 22970 /* "insert" */ + return ts + 22985 /* "insert" */ }()) return __2: @@ -152596,7 +153104,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+22977 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+22992 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -152701,7 +153209,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+22980 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+22995 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -152754,7 +153262,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+22983 /* "CREATE TABLE x(k..." */) + ts+22998 /* "CREATE TABLE x(k..." */) if rc == SQLITE_OK { pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{})))) if pNew == uintptr(0) { @@ -152892,14 +153400,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql 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+23066 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) + jsonPrintf(tls, 30, pStr, ts+23081 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) } else { if (int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags) & JNODE_LABEL) == 0 { pNode -= 16 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+23071 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+23086 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } @@ -152992,9 +153500,9 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* jsonAppendChar(tls, bp+24 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+24 /* &x */, ts+23066 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+24 /* &x */, ts+23081 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+23071 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+23086 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } jsonResult(tls, bp+24 /* &x */) @@ -153018,7 +153526,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 + 23077 /* "$" */ + zRoot = ts + 23092 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -153150,7 +153658,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+22793 /* "malformed JSON" */, 0) + (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+22808 /* "malformed JSON" */, 0) if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { rc = SQLITE_ERROR } @@ -153291,21 +153799,21 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 23079 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23084 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23095 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23095 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23113 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23126 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23138 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23150 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23161 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23172 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23184 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23197 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 23206 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23206 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23216 /* "json_valid" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23094 /* "json" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23099 /* "json_array" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23110 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23110 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23128 /* "json_extract" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23141 /* "json_insert" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23153 /* "json_object" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23165 /* "json_patch" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23176 /* "json_quote" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23187 /* "json_remove" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23199 /* "json_replace" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23212 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, + {FzName: ts + 23221 /* "json_type" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23221 /* "json_type" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23231 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { FzName uintptr @@ -153315,17 +153823,17 @@ var aAgg = [2]struct { FxFinal uintptr FxValue uintptr }{ - {FzName: ts + 23227 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 23242 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 23244 /* "json_group_objec..." */, FnArg: 2, + {FzName: ts + 23259 /* "json_group_objec..." */, FnArg: 2, FxStep: 0, FxFinal: 0, FxValue: 0}, } /* sqlite3.c:192211:5 */ var aMod = [2]struct { FzName uintptr FpModule uintptr }{ - {FzName: ts + 23262 /* "json_each" */, FpModule: 0}, - {FzName: ts + 23272 /* "json_tree" */, FpModule: 0}, + {FzName: ts + 23277 /* "json_each" */, FpModule: 0}, + {FzName: ts + 23287 /* "json_tree" */, FpModule: 0}, } /* sqlite3.c:192221:5 */ var enc int32 = ((SQLITE_UTF8 | SQLITE_DETERMINISTIC) | SQLITE_INNOCUOUS) /* sqlite3.c:192226:20 */ // In the SQLite core @@ -153675,11 +154183,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+23282 /* "%s_node" */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + var zTab uintptr = Xsqlite3_mprintf(tls, ts+23297 /* "%s_node" */, 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+23290 /* "data" */, iNode, 0, + rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+23305 /* "data" */, iNode, 0, (pRtree + 112 /* &.pNodeBlob */)) Xsqlite3_free(tls, zTab) } @@ -153924,7 +154432,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+23295, /* "DROP TABLE '%q'...." */ + ts+23310, /* "DROP TABLE '%q'...." */ 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)) @@ -154684,7 +155192,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information - pSrc = Xsqlite3_value_pointer(tls, pValue, ts+23377 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+23392 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -154948,7 +155456,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -156208,7 +156716,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+23391 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, ts+23406 /* "SELECT * FROM %Q..." */, 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 /* &pStmt */, uintptr(0)) } else { @@ -156220,12 +156728,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 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+23411 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+23426 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), iCol) var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+23443 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+23458 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } @@ -156493,7 +157001,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+23480 /* "ALTER TABLE %Q.'..." */, 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+23495 /* "ALTER TABLE %Q.'..." */, 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)) @@ -156531,7 +157039,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(24) defer tls.Free(24) - var zFmt uintptr = ts + 23625 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 23640 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+16, 8 @@ -156539,7 +157047,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit var nRow I64 = int64(0) rc = Xsqlite3_table_column_metadata(tls, - db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+10046 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+10061 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == SQLITE_ERROR { @@ -156592,7 +157100,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 23681 /* "node" */, ts + 4148 /* "parent" */, ts + 14731, /* "rowid" */ + ts + 23696 /* "node" */, ts + 4163 /* "parent" */, ts + 14746, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -156636,19 +157144,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+23686, /* "CREATE TABLE \"%w..." */ + ts+23701, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+23748 /* ",a%d" */, libc.VaList(bp+16, ii)) + Xsqlite3_str_appendf(tls, p, ts+23763 /* ",a%d" */, libc.VaList(bp+16, ii)) } Xsqlite3_str_appendf(tls, p, - ts+23753, /* ");CREATE TABLE \"..." */ + ts+23768, /* ");CREATE TABLE \"..." */ libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+23817, /* "CREATE TABLE \"%w..." */ + ts+23832, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+23887, /* "INSERT INTO \"%w\"..." */ + ts+23902, /* "INSERT INTO \"%w\"..." */ libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { @@ -156679,7 +157187,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } else { // An UPSERT is very slightly slower than REPLACE, but it is needed // if there are auxiliary columns - zFormat = ts + 23936 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 23951 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { @@ -156691,7 +157199,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+24044, /* "SELECT * FROM \"%..." */ + ts+24059, /* "SELECT * FROM \"%..." */ libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -156699,18 +157207,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+24089 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+112, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+24104 /* "UPDATE \"%w\".\"%w_..." */, 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+11511 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+11526 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+24116 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+24131 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+24138 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+24153 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) } } - Xsqlite3_str_appendf(tls, p, ts+24146 /* " WHERE rowid=?1" */, 0) + Xsqlite3_str_appendf(tls, p, ts+24161 /* " WHERE rowid=?1" */, 0) zSql = Xsqlite3_str_finish(tls, p) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -156726,18 +157234,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 24162, /* "INSERT OR REPLAC..." */ - ts + 24215, /* "DELETE FROM '%q'..." */ + ts + 24177, /* "INSERT OR REPLAC..." */ + ts + 24230, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 24260, /* "SELECT nodeno FR..." */ - ts + 24312, /* "INSERT OR REPLAC..." */ - ts + 24366, /* "DELETE FROM '%q'..." */ + ts + 24275, /* "SELECT nodeno FR..." */ + ts + 24327, /* "INSERT OR REPLAC..." */ + ts + 24381, /* "DELETE FROM '%q'..." */ // Read and write the xxx_parent table - ts + 24411, /* "SELECT parentnod..." */ - ts + 24469, /* "INSERT OR REPLAC..." */ - ts + 24524, /* "DELETE FROM '%q'..." */ + ts + 24426, /* "SELECT parentnod..." */ + ts + 24484, /* "INSERT OR REPLAC..." */ + ts + 24539, /* "DELETE FROM '%q'..." */ } /* sqlite3.c:195763:21 */ // The second argument to this function contains the text of an SQL statement @@ -156784,7 +157292,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr var zSql uintptr if isCreate != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) = 0 - zSql = Xsqlite3_mprintf(tls, ts+24571 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, ts+24586 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) rc = getIntFromStmt(tls, db, zSql, bp+48 /* &iPageSize */) if rc == SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) - 64) @@ -156792,19 +157300,19 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, - ts+24591, /* "SELECT length(da..." */ + ts+24606, /* "SELECT length(da..." */ libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 32 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+24648, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+24663, /* "undersize RTree ..." */ libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -156855,17 +157363,17 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr ii = 4 *(*[5]uintptr)(unsafe.Pointer(bp + 96 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 - ts + 24683, /* "Wrong number of ..." */ // 1 - ts + 24726, /* "Too few columns ..." */ // 2 - ts + 24761, /* "Too many columns..." */ // 3 - ts + 24797, /* "Auxiliary rtree ..." */ // 4 + ts + 24698, /* "Wrong number of ..." */ // 1 + ts + 24741, /* "Too few columns ..." */ // 2 + ts + 24776, /* "Too many columns..." */ // 3 + ts + 24812, /* "Auxiliary rtree ..." */ // 4 } // Aux columns counted by a u8 if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) return SQLITE_ERROR __1: ; @@ -156895,7 +157403,7 @@ __2: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+24834, /* "CREATE TABLE x(%..." */ + Xsqlite3_str_appendf(tls, pSql, ts+24849, /* "CREATE TABLE x(%..." */ libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = 4 __3: @@ -156907,7 +157415,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+24858 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+24873 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -156930,7 +157438,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+24864 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+24879 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -156941,14 +157449,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -156991,7 +157499,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) goto rtreeInit_fail __22: ; @@ -157009,7 +157517,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -157029,7 +157537,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 24867 /* ",%.*s REAL" */, ts + 24878 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ +var azFormat = [2]uintptr{ts + 24882 /* ",%.*s REAL" */, ts + 24893 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -157084,13 +157592,13 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit nodeGetCell(tls, bp+56 /* &tree */, bp+16 /* &node */, ii, bp+1024 /* &cell */) if ii > 0 { - Xsqlite3_str_append(tls, pOut, ts+9626 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+9641 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+24888 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, ts+24903 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+24894 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+24909 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } - Xsqlite3_str_append(tls, pOut, ts+24898 /* "}" */, 1) + Xsqlite3_str_append(tls, pOut, ts+24913 /* "}" */, 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}))) @@ -157109,7 +157617,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli _ = 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+24900 /* "Invalid argument..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+24915 /* "Invalid argument..." */, -1) } else { var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -157198,12 +157706,12 @@ 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+24933, /* "%z%s%z" */ + (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+24948, /* "%z%s%z" */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - return ts + 3145 /* "\n" */ + return ts + 3160 /* "\n" */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -157234,7 +157742,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+24940, /* "SELECT data FROM..." */ + ts+24955, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -157253,7 +157761,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+24985 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+25000 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -157277,8 +157785,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 /* azSql */)) = [2]uintptr{ - ts + 25017, /* "SELECT parentnod..." */ - ts + 25071, /* "SELECT nodeno FR..." */ + ts + 25032, /* "SELECT parentnod..." */ + ts + 25086, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) == uintptr(0) { @@ -157293,23 +157801,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+25119, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+25134, /* "Mapping (%lld ->..." */ libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 25164 /* "%_rowid" */ + return ts + 25179 /* "%_rowid" */ } - return ts + 25172 /* "%_parent" */ + return ts + 25187 /* "%_parent" */ }())) } else if rc == SQLITE_ROW { var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, - ts+25181, /* "Found (%lld -> %..." */ + ts+25196, /* "Found (%lld -> %..." */ libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 25164 /* "%_rowid" */ + return ts + 25179 /* "%_rowid" */ } - return ts + 25172 /* "%_parent" */ + return ts + 25187 /* "%_parent" */ }(), iKey, iVal)) } } @@ -157352,7 +157860,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, - ts+25239 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+25254 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -157372,7 +157880,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 60 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+25287 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) + ts+25302 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -157395,14 +157903,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr if aNode != 0 { if *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+25354 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) + ts+25369 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+25388 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+25403 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } @@ -157410,7 +157918,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 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, - ts+25418, /* "Node %lld is too..." */ + ts+25433, /* "Node %lld is too..." */ libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { for i = 0; i < nCell; i++ { @@ -157444,14 +157952,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+25473, /* "SELECT count(*) ..." */ + pCount = rtreeCheckPrepare(tls, pCheck, ts+25488, /* "SELECT count(*) ..." */ 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+25504 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) + ts+25519 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -157481,13 +157989,13 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+13187 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+13202 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+25571 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+25586 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) @@ -157496,12 +158004,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+23391 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+23406 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) if pStmt != 0 { var rc int32 (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+25599 /* "Schema corrupt o..." */, 0) + rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+25614 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } @@ -157516,8 +158024,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { rtreeCheckNode(tls, bp+32 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+32 /* &check */, ts+25630 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+32 /* &check */, ts+25637 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+25645 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+25652 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check @@ -157527,7 +158035,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // If one was opened, close the transaction if bEnd != 0 { - var rc int32 = Xsqlite3_exec(tls, db, ts+25645 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) + var rc int32 = Xsqlite3_exec(tls, db, ts+25660 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } @@ -157573,7 +158081,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+25649 /* "wrong number of ..." */, -1) + ts+25664 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -157581,7 +158089,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 5432 /* "main" */ + zDb = ts + 5447 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -157591,7 +158099,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if *(*uintptr)(unsafe.Pointer(bp /* zReport */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp /* zReport */)) } - return ts + 16310 /* "ok" */ + return ts + 16325 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -158028,11 +158536,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+25700 /* "[" */, 1) + Xsqlite3_str_append(tls, x, ts+25715 /* "[" */, 1) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { - Xsqlite3_str_appendf(tls, x, ts+25702 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) + Xsqlite3_str_appendf(tls, x, ts+25717 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+25713 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+25728 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 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) } @@ -158056,19 +158564,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+25724 /* "" */, 0) + Xsqlite3_str_appendf(tls, x, ts+25777 /* ">" */, 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) } @@ -159084,7 +159592,7 @@ __1: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+25775 /* "CREATE TABLE x(_..." */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+25790 /* "CREATE TABLE x(_..." */, 0) (*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1) // Add one for _shape (*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1) // The _shape column is always not-null ii = 3 @@ -159093,7 +159601,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+25797 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, ts+25812 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto __3 __3: ii++ @@ -159101,7 +159609,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+24864 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+24879 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -159112,7 +159620,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -159138,7 +159646,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -159371,7 +159879,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s if iRowidTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 14731 /* "rowid" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 14746 /* "rowid" */ (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).FargvIndex = 1 (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).Fomit = uint8(1) (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 30.0 @@ -159381,7 +159889,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } if iFuncTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25801 /* "rtree" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25816 /* "rtree" */ (*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 @@ -159389,7 +159897,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s return SQLITE_OK } (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25807 /* "fullscan" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25822 /* "fullscan" */ (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -159527,7 +160035,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25816 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25831 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -159672,14 +160180,14 @@ geopoly_update_end: // Report that geopoly_overlap() is an overloaded function suitable // for use in xBestIndex. func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:198361:12: */ - if Xsqlite3_stricmp(tls, zName, ts+25856 /* "geopoly_overlap" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+25871 /* "geopoly_overlap" */) == 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+25872 /* "geopoly_within" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+25887 /* "geopoly_within" */) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{geopolyWithinFunc})) @@ -159744,7 +160252,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 uintptr(0), aAgg1[i].FxStep, aAgg1[i].FxFinal) } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, ts+25887 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+25902 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -159756,25 +160264,25 @@ var aFunc1 = [12]struct { _ [6]byte FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25895 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25908 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25921 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 25934 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25872 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 25946 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25856 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 25969 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25983 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 25996 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 26010 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26026 /* "geopoly_ccw" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25910 /* "geopoly_area" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25923 /* "geopoly_blob" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25936 /* "geopoly_json" */}, + {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 25949 /* "geopoly_svg" */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25887 /* "geopoly_within" */}, + {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 25961 /* "geopoly_contains..." */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25871 /* "geopoly_overlap" */}, + {FxFunc: 0, FnArg: int8(1), FzName: ts + 25984 /* "geopoly_debug" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25998 /* "geopoly_bbox" */}, + {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 26011 /* "geopoly_xform" */}, + {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 26025 /* "geopoly_regular" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26041 /* "geopoly_ccw" */}, } /* sqlite3.c:198416:5 */ var aAgg1 = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ - {FxStep: 0, FxFinal: 0, FzName: ts + 26038 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 26053 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -159787,26 +160295,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 var utf8 int32 = SQLITE_UTF8 var rc int32 - rc = Xsqlite3_create_function(tls, db, ts+26057 /* "rtreenode" */, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26072 /* "rtreenode" */, 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+26067 /* "rtreedepth" */, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26082 /* "rtreedepth" */, 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+26078 /* "rtreecheck" */, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26093 /* "rtreecheck" */, -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+25801 /* "rtree" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+25816 /* "rtree" */, 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+26089 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+26104 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { rc = sqlite3_geopoly_init(tls, db) @@ -159878,7 +160386,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql Xsqlite3_result_error_nomem(tls, ctx) rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, ts+23377 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) + Xsqlite3_result_pointer(tls, ctx, pBlob, ts+23392 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) } } } @@ -161169,7 +161677,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // Figure out the size of the output nOut = rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, ts+26099 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+26114 /* "corrupt fossil d..." */, -1) return } @@ -161180,7 +161688,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+26099 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+26114 /* "corrupt fossil d..." */, -1) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -161201,7 +161709,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -161219,7 +161727,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -161323,7 +161831,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+26120 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + ts+26135 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if rc == SQLITE_OK { @@ -161407,7 +161915,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+23290 /* "data" */, zIn, uint64(4)) == 0) { + if (libc.Xstrlen(tls, zIn) > uint64(4)) && (libc.Xmemcmp(tls, ts+23305 /* "data" */, 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++ { } @@ -161435,17 +161943,17 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter /* &.pTblIter */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26291 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { + ts+26306 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 26441 /* "AND rootpage!=0 ..." */ + return ts + 26456 /* "AND rootpage!=0 ..." */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 8 /* &.pIdxIter */), (p + 64 /* &.zErrmsg */), - ts+26482 /* "SELECT name, roo..." */) + ts+26497 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -161583,7 +162091,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: var rc int32 = Xsqlite3_finalize(tls, pStmt) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (rc != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) } } @@ -161646,7 +162154,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 /* &aStmt */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26607 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) + ts+26622 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } @@ -161664,7 +162172,7 @@ __2: *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 1*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26688 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) + Xsqlite3_mprintf(tls, ts+26703 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -161682,7 +162190,7 @@ __4: } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 2*8), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26709 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) + ts+26724 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } @@ -161706,7 +162214,7 @@ __5: ; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 3*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26760 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) + Xsqlite3_mprintf(tls, ts+26775 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } @@ -161755,7 +162263,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26781 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+26796 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 @@ -161770,7 +162278,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26809 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+26824 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)))) { var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)), 1) if iCid >= 0 { @@ -161820,7 +162328,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 72 /* &.eType */), bp+56 /* &iTnum */, (pIter + 108 /* &.iPkTnum */)) 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+17831 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+17846 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc @@ -161833,18 +162341,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // of the input table. Ignore any input table columns that begin with // "rbu_". (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26838 /* "SELECT * FROM '%..." */, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + Xsqlite3_mprintf(tls, ts+26853 /* "SELECT * FROM '%..." */, 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 /* pStmt */))) 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 /* pStmt */)), i) - if Xsqlite3_strnicmp(tls, ts+26857 /* "rbu_" */, zName, 4) != 0 { + if Xsqlite3_strnicmp(tls, ts+26872 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 56 /* &.rc */)) *(*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+26862 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+26877 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -161856,12 +162364,12 @@ 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+26872 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+26887 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { - return ts + 26901 /* "may not have" */ + return ts + 26916 /* "may not have" */ } - return ts + 26914 /* "requires" */ + return ts + 26929 /* "requires" */ }())) } @@ -161870,7 +162378,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26923 /* "PRAGMA table_inf..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+26938 /* "PRAGMA table_inf..." */, 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 /* pStmt */)))) { var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 1) @@ -161884,7 +162392,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+26945, /* "column missing f..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+26960, /* "column missing f..." */ libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 5) @@ -161930,12 +162438,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(24) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 729 /* "" */ + var zSep uintptr = ts + 744 /* "" */ 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+26972 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 13298 /* ", " */ + zList = rbuMPrintf(tls, p, ts+26987 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 13313 /* ", " */ } return zList } @@ -161950,13 +162458,13 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, var iPk int32 = 1 var zRet uintptr = uintptr(0) - var zSep uintptr = ts + 729 /* "" */ + var zSep uintptr = ts + 744 /* "" */ for 1 != 0 { var i int32 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+26981 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) + zRet = rbuMPrintf(tls, p, ts+26996 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -161995,25 +162503,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 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26994 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + ts+27009 /* "SELECT max(_rowi..." */, 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 /* pMax */)))) { var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+27026 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) + zRet = rbuMPrintf(tls, p, ts+27041 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } else { - var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+729 /* "" */, ts+13298 /* ", " */, ts+27049 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+27055 /* "quote(" */, ts+27062 /* "||','||" */, ts+4040 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+729 /* "" */, ts+13298 /* ", " */, ts+729 /* "" */) + var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+744 /* "" */, ts+13313 /* ", " */, ts+27064 /* " DESC" */) + var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+27070 /* "quote(" */, ts+27077 /* "||','||" */, ts+4055 /* ")" */) + var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+744 /* "" */, ts+13313 /* ", " */, ts+744 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27070, /* "SELECT %s FROM \"..." */ + ts+27085, /* "SELECT %s FROM \"..." */ 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 /* pMax */)))) { var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+27112 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) + zRet = rbuMPrintf(tls, p, ts+27127 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } @@ -162071,12 +162579,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 729 /* "" */ + zSep = ts + 744 /* "" */ iCol = 0 *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26809 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+26824 /* "PRAGMA main.inde..." */, 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 /* pXInfo */))))) { goto __2 @@ -162113,7 +162621,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) goto __7 __6: - zCol = ts + 27132 /* "_rowid_" */ + zCol = ts + 27147 /* "_rowid_" */ __7: ; goto __5 @@ -162122,13 +162630,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+27140, /* "%z%s \"%w\" COLLAT..." */ + zLhs = rbuMPrintf(tls, p, ts+27155, /* "%z%s \"%w\" COLLAT..." */ libc.VaList(bp+8, zLhs, zSep, zCol, zCollate)) - zOrder = rbuMPrintf(tls, p, ts+27161, /* "%z%s \"rbu_imp_%d..." */ + zOrder = rbuMPrintf(tls, p, ts+27176, /* "%z%s \"rbu_imp_%d..." */ libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = rbuMPrintf(tls, p, ts+27197, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+27212, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) - zSep = ts + 13298 /* ", " */ + zSep = ts + 13313 /* ", " */ iCol++ goto __1 __2: @@ -162147,12 +162655,12 @@ __11: *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184 /* &pSel */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27224, /* "SELECT %s FROM \"..." */ + Xsqlite3_mprintf(tls, ts+27239, /* "SELECT %s FROM \"..." */ 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 /* pSel */))))) { goto __13 } - zSep = ts + 729 /* "" */ + zSep = ts + 744 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -162174,8 +162682,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+27272 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) - zSep = ts + 13298 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+27287 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) + zSep = ts + 13313 /* ", " */ goto __15 __15: iCol++ @@ -162187,7 +162695,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+27279 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+27294 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: @@ -162237,14 +162745,14 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var zImpPK uintptr = uintptr(0) // String to return via *pzImposterPK var zWhere uintptr = uintptr(0) // String to return via *pzWhere var nBind int32 = 0 // Value to return via *pnBind - var zCom uintptr = ts + 729 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 729 /* "" */ // Set to " AND " later on + var zCom uintptr = ts + 744 /* "" */ // Set to ", " later on + var zAnd uintptr = ts + 744 /* "" */ // Set to " AND " later on *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26809 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+26824 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)))) { @@ -162256,9 +162764,9 @@ 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 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+27291 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+8, zRet, zCom, + zRet = Xsqlite3_mprintf(tls, ts+27306 /* "%z%s(%.*s) COLLA..." */, 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 + 729 /* "" */ + zType = ts + 744 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -162270,37 +162778,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 + 27132 /* "_rowid_" */ + zCol = ts + 27147 /* "_rowid_" */ } else { - zCol = ts + 26862 /* "rbu_rowid" */ + zCol = ts + 26877 /* "rbu_rowid" */ } - zType = ts + 11358 /* "INTEGER" */ + zType = ts + 11373 /* "INTEGER" */ } 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+27313 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+27328 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) } if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { - return ts + 27049 /* " DESC" */ + return ts + 27064 /* " DESC" */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+27333, /* "%z%s\"rbu_imp_%d%..." */ + zImpPK = Xsqlite3_mprintf(tls, ts+27348, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, ts+27354, /* "%z%s\"rbu_imp_%d%..." */ + zImpCols = Xsqlite3_mprintf(tls, ts+27369, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+27387 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol)) + ts+27402 /* "%z%s\"rbu_imp_%d%..." */, 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 + 13298 /* ", " */ - zAnd = ts + 19851 /* " AND " */ + zCom = ts + 13313 /* ", " */ + zAnd = ts + 19866 /* " AND " */ nBind++ } @@ -162343,16 +162851,16 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zS uintptr = ts + 729 /* "" */ + var zS uintptr = ts + 744 /* "" */ var i int32 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+27411 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, ts+27426 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+27423 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+27438 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } - zS = ts + 13298 /* ", " */ + zS = ts + 13313 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -162361,7 +162869,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+27432 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+27447 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) } } return zList @@ -162381,27 +162889,27 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq 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+27447 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) + zList = rbuMPrintf(tls, p, ts+27462 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) } else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - var zSep uintptr = ts + 729 /* "" */ + var zSep uintptr = ts + 744 /* "" */ 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+27461 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) - zSep = ts + 19851 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+27476 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) + zSep = ts + 19866 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+27473 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) + ts+27488 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { - var zSep uintptr = ts + 729 /* "" */ + var zSep uintptr = ts + 744 /* "" */ 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 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = rbuMPrintf(tls, p, ts+27523 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) - zSep = ts + 19851 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+27538 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) + zSep = ts + 19866 /* " AND " */ } } } @@ -162415,7 +162923,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // of the RBU handle to something reflecting this. func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+27536 /* "invalid rbu_cont..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+27551 /* "invalid rbu_cont..." */, 0) } // Return a nul-terminated string containing the comma separated list of @@ -162444,21 +162952,21 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr if int32(libc.Xstrlen(tls, zMask)) != (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { rbuBadControlError(tls, p) } else { - var zSep uintptr = ts + 729 /* "" */ + var zSep uintptr = ts + 744 /* "" */ 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+27523, /* "%z%s\"%w\"=?%d" */ + zList = rbuMPrintf(tls, p, ts+27538, /* "%z%s\"%w\"=?%d" */ libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) - zSep = ts + 13298 /* ", " */ + zSep = ts + 13313 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+27562, /* "%z%s\"%w\"=rbu_del..." */ + zList = rbuMPrintf(tls, p, ts+27577, /* "%z%s\"%w\"=rbu_del..." */ 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 + 13298 /* ", " */ + zSep = ts + 13313 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+27592, /* "%z%s\"%w\"=rbu_fos..." */ + zList = rbuMPrintf(tls, p, ts+27607, /* "%z%s\"%w\"=rbu_fos..." */ 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 + 13298 /* ", " */ + zSep = ts + 13313 /* ", " */ } } } @@ -162516,19 +163024,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zSep uintptr = ts + 27629 /* "PRIMARY KEY(" */ + var zSep uintptr = ts + 27644 /* "PRIMARY KEY(" */ *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56 /* &pXList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26781 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+26796 /* "PRAGMA main.inde..." */, 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 /* pXList */)))) { var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 3) - if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+14641 /* "pk" */) == 0) { + if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+14656 /* "pk" */) == 0) { var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 1) if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26809 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+26824 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } @@ -162541,15 +163049,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 2) var zDesc uintptr if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 3) != 0 { - zDesc = ts + 27049 /* " DESC" */ + zDesc = ts + 27064 /* " DESC" */ } else { - zDesc = ts + 729 /* "" */ + zDesc = ts + 744 /* "" */ } - z = rbuMPrintf(tls, p, ts+27642 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = ts + 13298 /* ", " */ + z = rbuMPrintf(tls, p, ts+27657 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) + zSep = ts + 13313 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+27653 /* "%z)" */, libc.VaList(bp+48, z)) + z = rbuMPrintf(tls, p, ts+27668 /* "%z)" */, libc.VaList(bp+48, z)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */))) } return z @@ -162581,7 +163089,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx - var zComma uintptr = ts + 729 /* "" */ + var zComma uintptr = ts + 744 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -162589,7 +163097,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168 /* &pQuery */, (p + 64 /* &.zErrmsg */), - ts+27657 /* "SELECT name FROM..." */) + ts+27672 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 1, tnum) if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) { @@ -162598,7 +163106,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit } if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26809 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) + Xsqlite3_mprintf(tls, ts+26824 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) @@ -162608,25 +163116,25 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 1) var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 3) var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+27707 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, + zCols = rbuMPrintf(tls, p, ts+27722 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+27729 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+27744 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { - return ts + 27049 /* " DESC" */ + return ts + 27064 /* " DESC" */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }())) - zComma = ts + 13298 /* ", " */ + zComma = ts + 13313 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+27739 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) + zCols = rbuMPrintf(tls, p, ts+27754 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5432 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5447 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+27754, /* "CREATE TABLE rbu..." */ + ts+27769, /* "CREATE TABLE rbu..." */ libc.VaList(bp+120, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5432 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5447 /* "main" */, 0, 0)) } } @@ -162654,52 +163162,52 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum - var zComma uintptr = ts + 729 /* "" */ + var zComma uintptr = ts + 744 /* "" */ var zSql uintptr = uintptr(0) var iCol int32 - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5432 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5447 /* "main" */, 0, 1)) for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { - var zPk uintptr = ts + 729 /* "" */ + var zPk uintptr = ts + 744 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5432 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5447 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, 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) { // If the target table column is an "INTEGER PRIMARY KEY", add // "PRIMARY KEY" to the imposter table column declaration. - zPk = ts + 27816 /* "PRIMARY KEY " */ + zPk = ts + 27831 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+27829, /* "%z%s\"%w\" %s %sCO..." */ + zSql = rbuMPrintf(tls, p, ts+27844, /* "%z%s\"%w\" %s %sCO..." */ libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - return ts + 27856 /* " NOT NULL" */ + return ts + 27871 /* " NOT NULL" */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }())) - zComma = ts + 13298 /* ", " */ + zComma = ts + 13313 /* ", " */ } 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+27866 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+27881 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5432 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+27873, /* "CREATE TABLE \"rb..." */ + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5447 /* "main" */, 1, tnum)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+27888, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { - return ts + 27905 /* " WITHOUT ROWID" */ + return ts + 27920 /* " WITHOUT ROWID" */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5432 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5447 /* "main" */, 0, 0)) } } @@ -162722,7 +163230,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 152 /* &.pTmpInsert */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27920, /* "INSERT INTO %s.'..." */ + ts+27935, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -162759,7 +163267,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+27977 /* "SELECT trim(sql)..." */) + ts+27992 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -162869,7 +163377,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+28043 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) + zLimit = Xsqlite3_mprintf(tls, ts+28058 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) if !(zLimit != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM } @@ -162890,26 +163398,26 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 624 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5432 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5432 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5447 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5447 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+28063, /* "CREATE TABLE \"rb..." */ + ts+28078, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 608 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5432 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5447 /* "main" */, 0, 0)) // Create the statement to insert index entries (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 624 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28128 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+28143 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) } // And to delete index entries 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 /* &.pDelete */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28164 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+28179 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -162926,7 +163434,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+28198, /* "SELECT %s, 0 AS ..." */ + ts+28213, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -162934,32 +163442,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 28259 /* "AND" */ + return ts + 28274 /* "AND" */ } - return ts + 28263 /* "WHERE" */ + return ts + 28278 /* "WHERE" */ }() } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), zStart, zCollist, zLimit)) 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+28269, /* "SELECT %s, rbu_c..." */ + ts+28284, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+216, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, - ts+28330, /* "SELECT %s, rbu_c..." */ + ts+28345, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+264, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { if zPart != 0 { - return ts + 28259 /* "AND" */ + return ts + 28274 /* "AND" */ } - return ts + 28263 /* "WHERE" */ + return ts + 28278 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -162984,8 +163492,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 var zBindings uintptr = rbuObjIterGetBindlist(tls, p, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + bRbuRowid)) var zWhere uintptr = rbuObjIterGetWhere(tls, p, pIter) - var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5441 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5437 /* "new" */) + var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5456 /* "old" */) + var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5452 /* "new" */) zCollist = rbuObjIterGetCollist(tls, p, pIter) (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -162995,21 +163503,21 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuCreateImposterTable2(tls, p, pIter) zWrite = func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB { - return ts + 729 /* "" */ + return ts + 744 /* "" */ } - return ts + 28489 /* "rbu_imp_" */ + return ts + 28504 /* "rbu_imp_" */ }() // Create the INSERT statement to write to the target PK b-tree if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, - ts+28498, /* "INSERT INTO \"%s%..." */ + ts+28513, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 28534 /* ", _rowid_" */ + return ts + 28549 /* ", _rowid_" */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), zBindings))) } @@ -163019,28 +163527,28 @@ 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 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+28544 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+384, zWrite, zTbl, zWhere))) + ts+28559 /* "DELETE FROM \"%s%..." */, 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 + 729 /* "" */ + var zRbuRowid uintptr = ts + 744 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 28572 /* ", rbu_rowid" */ + zRbuRowid = ts + 28587 /* ", rbu_rowid" */ } // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+28584 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+28599 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - return ts + 28660 /* ", 0 AS rbu_rowid" */ + return ts + 28675 /* ", 0 AS rbu_rowid" */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+28677, /* "CREATE TEMP TRIG..." */ + ts+28692, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -163048,7 +163556,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 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+28976, /* "CREATE TEMP TRIG..." */ + ts+28991, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } @@ -163057,14 +163565,14 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the SELECT statement to read keys from data_xxx if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zRbuRowid uintptr = ts + 729 /* "" */ + var zRbuRowid uintptr = ts + 744 /* "" */ var zStart uintptr = uintptr(0) var zOrder uintptr = uintptr(0) if bRbuRowid != 0 { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zRbuRowid = ts + 29075 /* ",_rowid_ " */ + zRbuRowid = ts + 29090 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 29085 /* ",rbu_rowid" */ + zRbuRowid = ts + 29100 /* ",rbu_rowid" */ } } @@ -163077,35 +163585,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+27132 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+27147 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+729 /* "" */, ts+13298 /* ", " */, ts+729 /* "" */) + zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+744 /* "" */, ts+13313 /* ", " */, ts+744 /* "" */) } } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 128 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, - ts+29096, /* "SELECT %s,%s rbu..." */ + ts+29111, /* "SELECT %s,%s rbu..." */ libc.VaList(bp+536, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 29144 /* "0 AS " */ + return ts + 29159 /* "0 AS " */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 18185 /* "ORDER BY" */ + return ts + 18200 /* "ORDER BY" */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), zOrder, zLimit))) } @@ -163180,12 +163688,12 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp (*RbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - var zPrefix uintptr = ts + 729 /* "" */ + var zPrefix uintptr = ts + 744 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 28489 /* "rbu_imp_" */ + zPrefix = ts + 28504 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+29150, /* "UPDATE \"%s%w\" SE..." */ + zUpdate = Xsqlite3_mprintf(tls, ts+29165, /* "UPDATE \"%s%w\" SE..." */ 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 /* &.pUpdate */), (p + 64 /* &.zErrmsg */), zUpdate) @@ -163212,7 +163720,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))) *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) } @@ -163253,7 +163761,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ } *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+29180 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) + Xsqlite3_mprintf(tls, ts+29195 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) for (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) { case RBU_STATE_STAGE: @@ -163325,31 +163833,31 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5432 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5447 /* "main" */, 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+5432 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+29210 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) + var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5447 /* "main" */) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+29225 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) } } // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29237 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+2387 /* "stat" */, uint64(4)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29252 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+2402 /* "stat" */, uint64(4)) } else { - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+5432 /* "main" */, uint64(4)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+5447 /* "main" */, uint64(4)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29255 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29270 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 var rc int32 (*Sqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5432 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5447 /* "main" */, SQLITE_FCNTL_RBUCNT, p) if rc != SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -163382,11 +163890,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 return } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29321 /* "cannot vacuum wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29336 /* "cannot vacuum wa..." */, 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+22453 /* "file:" */, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5))) { + if (libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5)) && (0 == libc.Xmemcmp(tls, ts+22468 /* "file:" */, (*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)))) == '?' { @@ -163398,16 +163906,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+29353, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5432 /* "main" */), + zTarget = Xsqlite3_mprintf(tls, ts+29368, /* "file:%s-vactmp?r..." */ + libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5447 /* "main" */), func() uintptr { if zExtra == uintptr(0) { - return ts + 729 /* "" */ + return ts + 744 /* "" */ } - return ts + 29385 /* "&" */ + return ts + 29400 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 729 /* "" */ + return ts + 744 /* "" */ } return zExtra }())) @@ -163423,40 +163931,40 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+29387 /* "rbu_tmp_insert" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+29402 /* "rbu_tmp_insert" */, -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+29402 /* "rbu_fossil_delta" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + ts+29417 /* "rbu_fossil_delta" */, 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+29419 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+29434 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuTargetNameFunc})), uintptr(0), uintptr(0)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5432 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5447 /* "main" */, SQLITE_FCNTL_RBU, p) } - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29435 /* "SELECT * FROM sq..." */, 0) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29450 /* "SELECT * FROM sq..." */, 0) // Mark the database file just opened as an RBU target database. If // this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. // This is an error. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5432 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5447 /* "main" */, SQLITE_FCNTL_RBU, p) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29463 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29478 /* "rbu vfs not foun..." */, 0) } } @@ -163525,7 +164033,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+29435 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29450 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -163559,7 +164067,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+29481 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29496 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) if rc2 != SQLITE_INTERNAL { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -163686,16 +164194,16 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ bp := tls.Alloc(16) defer tls.Free(16) - var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5432 /* "main" */) + var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5447 /* "main" */) var zMove uintptr = zBase var zOal uintptr var zWal uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5432 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5447 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+29516 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+29523 /* "%s-wal" */, libc.VaList(bp+8, zMove)) + zOal = Xsqlite3_mprintf(tls, ts+29531 /* "%s-oal" */, libc.VaList(bp, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+29538 /* "%s-wal" */, libc.VaList(bp+8, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -163835,7 +164343,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) { /* sqlite3.c:203389:1 ((*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+22091 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+22106 /* "datatype mismatc..." */, 0) return } @@ -163953,7 +164461,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // var pStmt uintptr at bp+8, 8 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+29530 /* "PRAGMA schema_ve..." */) + ts+29545 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There // is already a transaction open, so the prepared statement cannot @@ -163966,7 +164474,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29552 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29567 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) } } } @@ -163991,7 +164499,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168 /* &pInsert */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+29579, /* "INSERT OR REPLAC..." */ + ts+29594, /* "INSERT OR REPLAC..." */ libc.VaList(bp, p+48, /* &.zStateDb */ RBU_STATE_STAGE, eStage, RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl, @@ -164036,9 +164544,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24 /* &pPragma */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+29737 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) + Xsqlite3_mprintf(tls, ts+29752 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)))) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29752, /* "PRAGMA main.%s =..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29767, /* "PRAGMA main.%s =..." */ libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)), 0))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */))) @@ -164055,11 +164563,11 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * *(*uintptr)(unsafe.Pointer(bp /* pSql */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29772 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29787 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+29797 /* "SELECT sql FROM ..." */) + ts+29812 /* "SELECT sql FROM ..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -164073,12 +164581,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+29905 /* "SELECT * FROM sq..." */) + ts+29920 /* "SELECT * FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8 /* &pInsert */, (p + 64 /* &.zErrmsg */), - ts+29970 /* "INSERT INTO sqli..." */) + ts+29985 /* "INSERT INTO sqli..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -164090,7 +164598,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30014 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30029 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) @@ -164112,8 +164620,8 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // when this handle was opened, create the target database schema. if (((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FnProgress == 0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { rbuCreateTargetSchema(tls, p) - rbuCopyPragma(tls, p, ts+15697 /* "user_version" */) - rbuCopyPragma(tls, p, ts+14819 /* "application_id" */) + rbuCopyPragma(tls, p, ts+15712 /* "user_version" */) + rbuCopyPragma(tls, p, ts+14834 /* "application_id" */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl != 0) { @@ -164124,7 +164632,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // But the contents can be deleted. 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+30039 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + ts+30054 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) } } else { rbuObjIterPrepareAll(tls, p, pIter, 0) @@ -164150,10 +164658,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: rbuSaveState(tls, p, RBU_STAGE_MOVE) rbuIncrSchemaCookie(tls, p) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13202 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13217 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13202 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13217 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_MOVE } @@ -164270,7 +164778,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 if (rc == SQLITE_OK) && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30067 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30082 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -164289,7 +164797,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ bp := tls.Alloc(8) defer tls.Free(8) - var zOal uintptr = rbuMPrintf(tls, p, ts+29516 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) + var zOal uintptr = rbuMPrintf(tls, p, ts+29531 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -164311,7 +164819,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ // var zRnd [64]int8 at bp+12, 64 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+30092 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+30107 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12 /* &zRnd[0] */) @@ -164350,7 +164858,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / rc = prepareFreeAndCollectError(tls, db, bp+8 /* &pStmt */, bp+16, /* &zErrmsg */ Xsqlite3_mprintf(tls, - ts+30103 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) + ts+30118 /* "SELECT count(*) ..." */, 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 /* zErrmsg */)), -1) } else { @@ -164393,7 +164901,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+30175 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+30190 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuIndexCntFunc})), uintptr(0), uintptr(0)) @@ -164401,7 +164909,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ // occurs, nPhaseOneStep will be left set to -1. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+30189 /* "SELECT 1 FROM sq..." */) + ts+30204 /* "SELECT 1 FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { @@ -164413,7 +164921,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (bExists != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+30246 /* "SELECT sum(cnt *..." */) + ts+30261 /* "SELECT sum(cnt *..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) @@ -164459,7 +164967,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) libc.Xmemcpy(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, zRbu, (nRbu + uint64(1))) pCsr += (uintptr(nRbu + uint64(1))) if zState != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+2764 /* "%s" */, libc.VaList(bp, zState)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+2779 /* "%s" */, libc.VaList(bp, zState)) } // If the first attempt to open the database file fails and the bRetry @@ -164496,7 +165004,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+30320 /* "cannot update wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30335 /* "cannot update wa..." */, 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 @@ -164518,12 +165026,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // transaction is committed in rollback mode) currently stored on // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30352, /* "database modifie..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30367, /* "database modifie..." */ libc.VaList(bp+8, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 30384 /* "vacuum" */ + return ts + 30399 /* "vacuum" */ } - return ts + 30391 /* "update" */ + return ts + 30406 /* "update" */ }())) } } @@ -164531,7 +165039,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { var db uintptr = (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13187 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13202 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) // Point the object iterator at the first object if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -164545,24 +165053,24 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_DONE } else { if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuState)(unsafe.Pointer(pState)).FeStage == 0)) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - rbuCopyPragma(tls, p, ts+15422 /* "page_size" */) - rbuCopyPragma(tls, p, ts+14834 /* "auto_vacuum" */) + rbuCopyPragma(tls, p, ts+15437 /* "page_size" */) + rbuCopyPragma(tls, p, ts+14849 /* "auto_vacuum" */) } // Open transactions both databases. The *-oal file is opened or // created at this point. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+30398 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+30413 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Check if the main database is a zipvfs db. If it is, set the upper // level pager to use "journal_mode=off". This prevents it from // generating a large journal using a temp file. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var frc int32 = Xsqlite3_file_control(tls, db, ts+5432 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) + var frc int32 = Xsqlite3_file_control(tls, db, ts+5447 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) if frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, - db, ts+30414 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + db, ts+30429 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } } @@ -164615,7 +165123,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+30438 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { + if (n >= 7) && (0 == libc.Xmemcmp(tls, ts+30453 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { return rbuMisuseError(tls) } } @@ -164645,7 +165153,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:204232:13: */ 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+28489 /* "rbu_imp_" */, uint64(8)) == 0 { + if libc.Xmemcmp(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i)), ts+28504 /* "rbu_imp_" */, 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++ @@ -164664,7 +165172,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Commit the transaction to the *-oal file. if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13202 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13217 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Sync the db file if currently doing an incremental checkpoint @@ -164676,7 +165184,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13202 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13217 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Close any open statement handles. @@ -164688,7 +165196,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // specifying the current target and state databases to start a new // vacuum from scratch. 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+30446 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) + var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+30461 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) && (rc2 != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -164787,7 +165295,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13202 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13217 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -164804,19 +165312,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13202 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13217 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { var zBegin uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zBegin = ts + 13187 /* "BEGIN" */ + zBegin = ts + 13202 /* "BEGIN" */ } else { - zBegin = ts + 30398 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 30413 /* "BEGIN IMMEDIATE" */ } 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+30398 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30413 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -165220,7 +165728,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30473 /* "rbu/zipvfs setup..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30488 /* "rbu/zipvfs setup..." */, 0) } else if rc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p (*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu @@ -165243,7 +165751,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+30496 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + var zOut uintptr = Xsqlite3_mprintf(tls, ts+30511 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = SQLITE_NOMEM @@ -165406,7 +165914,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags // This call is to open a *-wal file. Intead, open the *-oal. var nOpen Size_t if (*Sqlite3rbu)(unsafe.Pointer(((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu))).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+5432 /* "main" */) + zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+5447 /* "main" */) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -165421,7 +165929,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+30507 /* "rbu_memory" */, 0) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+30522 /* "rbu_memory" */, 0) != 0) { oflags = ((((SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -165728,6 +166236,5673 @@ func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlit //************* End of dbpage.c ********************************************* //************* Begin file sqlite3session.c ********************************* +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable1 = struct { + FpNext uintptr + FzName uintptr + FnCol int32 + FbStat1 int32 + FazCol uintptr + FabPK uintptr + FnEntry int32 + FnChange int32 + FapChange uintptr +} /* sqlite3.c:11155:9 */ + +//************************************************************************ + +//************* End of sqlite3rbu.c ***************************************** +//************* Begin file dbstat.c ***************************************** +// 2010 July 12 +// +// The author disclaims copyright to this source code. In place of +// a legal notice, here is a blessing: +// +// May you do good and not evil. +// May you find forgiveness for yourself and forgive others. +// May you share freely, never taking more than you give. +// +// +// +// This file contains an implementation of the "dbstat" virtual table. +// +// The dbstat virtual table is used to extract low-level storage +// information from an SQLite database in order to implement the +// "sqlite3_analyzer" utility. See the ../tool/spaceanal.tcl script +// for an example implementation. +// +// Additional information is available on the "dbstat.html" page of the +// official SQLite documentation. + +// #include "sqliteInt.h" ** Requires access to internal data structures ** + +//************* End of dbstat.c ********************************************* +//************* Begin file dbpage.c ***************************************** +// 2017-10-11 +// +// The author disclaims copyright to this source code. In place of +// a legal notice, here is a blessing: +// +// May you do good and not evil. +// May you find forgiveness for yourself and forgive others. +// May you share freely, never taking more than you give. +// +// +// +// This file contains an implementation of the "sqlite_dbpage" virtual table. +// +// The sqlite_dbpage virtual table is used to read or write whole raw +// pages of the database file. The pager interface is used so that +// uncommitted changes and changes recorded in the WAL file are correctly +// retrieved. +// +// Usage example: +// +// SELECT data FROM sqlite_dbpage('aux1') WHERE pgno=123; +// +// This is an eponymous virtual table so it does not need to be created before +// use. The optional argument to the sqlite_dbpage() table name is the +// schema for the database file that is to be read. The default schema is +// "main". +// +// The data field of sqlite_dbpage table can be updated. The new +// value must be a BLOB which is the correct page size, otherwise the +// update fails. Rows may not be deleted or inserted. + +// #include "sqliteInt.h" ** Requires access to internal data structures ** + +//************* End of dbpage.c ********************************************* +//************* Begin file sqlite3session.c ********************************* + +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ +type SessionChange1 = struct { + Fop U8 + FbIndirect U8 + _ [2]byte + FnMaxSize int32 + FnRecord int32 + _ [4]byte + FaRecord uintptr + FpNext uintptr +} /* sqlite3.c:11155:9 */ + +type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ +type SessionBuffer1 = struct { + FaBuf uintptr + FnBuf int32 + FnAlloc int32 +} /* sqlite3.c:11163:9 */ + +type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ +type SessionInput1 = struct { + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + _ [4]byte + FaData uintptr + FnData int32 + _ [4]byte + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 + _ [4]byte +} /* sqlite3.c:11163:9 */ + +type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ + +// Minimum chunk size used by streaming versions of functions. + +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:206671:12 */ + +type SessionHook1 = struct { + FpCtx uintptr + FxOld uintptr + FxNew uintptr + FxCount uintptr + FxDepth uintptr +} /* sqlite3.c:11155:9 */ + +type SessionHook = SessionHook1 /* sqlite3.c:206673:28 */ + +// Write a varint with value iVal into the buffer at aBuf. Return the +// number of bytes written. +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:206951:12: */ + return int32(func() uint8 { + if (U32(iVal)) < U32(0x80) { + return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) + } + return uint8(Xsqlite3PutVarint(tls, aBuf, uint64(iVal))) + }()) +} + +// Return the number of bytes required to store value iVal as a varint. +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:206958:12: */ + return Xsqlite3VarintLen(tls, uint64(iVal)) +} + +// Read a varint value from aBuf[] into *piVal. Return the number of +// bytes read. +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:206966:12: */ + return int32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { + return uint8(func() int32 { (*(*int32)(unsafe.Pointer(piVal))) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) + } + return Xsqlite3GetVarint32(tls, aBuf, piVal) + }()) +} + +// Load an unaligned and unsigned 32-bit integer + +// Read a 64-bit big-endian integer value from buffer aRec[]. Return +// the value read. +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:206977:22: */ + var x U64 = (U64((((U32(*(*U8)(unsafe.Pointer((aRec)))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec) + 3))))) + var y U32 = ((((U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4))))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 3)))) + x = ((x << 32) + U64(y)) + return Sqlite3_int64(x) +} + +// Write a 64-bit big-endian integer value to the buffer aBuf[]. +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:206987:13: */ + *(*U8)(unsafe.Pointer(aBuf)) = (U8((i >> 56) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 1)) = (U8((i >> 48) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 2)) = (U8((i >> 40) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 3)) = (U8((i >> 32) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 4)) = (U8((i >> 24) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 5)) = (U8((i >> 16) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 6)) = (U8((i >> 8) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 7)) = (U8((i >> 0) & int64(0xFF))) +} + +// This function is used to serialize the contents of value pValue (see +// comment titled "RECORD FORMAT" above). +// +// If it is non-NULL, the serialized form of the value is written to +// buffer aBuf. *pnWrite is set to the number of bytes written before +// returning. Or, if aBuf is NULL, the only thing this function does is +// set *pnWrite. +// +// If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs +// within a call to sqlite3_value_text() (may fail if the db is utf-16)) +// SQLITE_NOMEM is returned. +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:207011:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var nByte int32 // Size of serialized value in bytes + + if pValue != 0 { + var eType int32 // Value type (SQLITE_NULL, TEXT etc.) + + eType = Xsqlite3_value_type(tls, pValue) + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(eType) + } + + switch eType { + case SQLITE_NULL: + nByte = 1 + break + fallthrough + + case SQLITE_INTEGER: + fallthrough + case SQLITE_FLOAT: + if aBuf != 0 { + // TODO: SQLite does something special to deal with mixed-endian + // floating point values (e.g. ARM7). This code probably should + // too. + // var i U64 at bp, 8 + + if eType == SQLITE_INTEGER { + *(*U64)(unsafe.Pointer(bp /* i */)) = U64(Xsqlite3_value_int64(tls, pValue)) + } else { + // var r float64 at bp+8, 8 + + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_value_double(tls, pValue) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint64(8)) + } + sessionPutI64(tls, (aBuf + 1), int64(*(*U64)(unsafe.Pointer(bp /* i */)))) + } + nByte = 9 + break + fallthrough + + default: + { + var z uintptr + var n int32 + var nVarint int32 + + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, pValue) + } else { + z = Xsqlite3_value_blob(tls, pValue) + } + n = Xsqlite3_value_bytes(tls, pValue) + if (z == uintptr(0)) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + nVarint = sessionVarintLen(tls, n) + + if aBuf != 0 { + sessionVarintPut(tls, (aBuf + 1), n) + if n != 0 { + libc.Xmemcpy(tls, (aBuf + uintptr((nVarint + 1))), z, uint64(n)) + } + } + + nByte = ((1 + nVarint) + n) + break + + } + } + } else { + nByte = 1 + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(0) + } + } + + if pnWrite != 0 { + *(*Sqlite3_int64)(unsafe.Pointer(pnWrite)) += (Sqlite3_int64(nByte)) + } + return SQLITE_OK +} + +// Allocate and return a pointer to a buffer nByte bytes in size. If +// pSession is not NULL, increase the sqlite3_session.nMalloc variable +// by the number of bytes allocated. +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:207087:13: */ + var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) += I64((Xsqlite3_msize(tls, pRet))) + } + return pRet +} + +// Free buffer pFree, which must have been allocated by an earlier +// call to sessionMalloc64(). If pSession is not NULL, decrease the +// sqlite3_session.nMalloc counter by the number of bytes freed. +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:207098:13: */ + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) -= I64((Xsqlite3_msize(tls, pFree))) + } + Xsqlite3_free(tls, pFree) +} + +// This macro is used to calculate hash key values for data structures. In +// order to use this macro, the entire data structure must be represented +// as a series of unsigned integers. In order to calculate a hash-key value +// for a data structure represented as three such integers, the macro may +// then be used as follows: +// +// int hash_key_value; +// hash_key_value = HASH_APPEND(0, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// +// In practice, the data structures this macro is used for are the primary +// key values of modified rows. + +// Append the hash of the 64-bit integer passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:207124:21: */ + h = ((((h) << 3) ^ (h)) ^ (uint32(i & int64(0xFFFFFFFF)))) + return ((((h) << 3) ^ (h)) ^ (uint32((i >> 32) & int64(0xFFFFFFFF)))) +} + +// Append the hash of the blob passed via the second and third arguments to +// the hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:207133:21: */ + var i int32 + for i = 0; i < n; i++ { + h = ((((h) << 3) ^ (h)) ^ (uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))))) + } + return h +} + +// Append the hash of the data type passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:207143:21: */ + return ((((h) << 3) ^ (h)) ^ (uint32(eType))) +} + +// This function may only be called from within a pre-update callback. +// It calculates a hash based on the primary key values of the old.* or +// new.* row currently available and, assuming no error occurs, writes it to +// *piHash before returning. If the primary key contains one or more NULL +// values, *pbNullPK is set to true before returning. +// +// If an error occurs, an SQLite error code is returned and the final values +// of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned +// and the output variables are set as described above. +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:207158:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var h uint32 = uint32(0) // Hash value to return + var i int32 // Used to iterate through columns + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0 { + var rc int32 + var eType int32 + // var pVal uintptr at bp, 8 + + if bNew != 0 { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } else { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } + if rc != SQLITE_OK { + return rc + } + + eType = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var iVal I64 at bp+8, 8 + + if eType == SQLITE_INTEGER { + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + *(*float64)(unsafe.Pointer(bp + 16 /* rVal */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + + libc.Xmemcpy(tls, bp+8 /* &iVal */, bp+16 /* &rVal */, uint64(8)) + } + h = sessionHashAppendI64(tls, h, *(*I64)(unsafe.Pointer(bp + 8 /* iVal */))) + } else if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + var z uintptr + var n int32 + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + n = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + if !(z != 0) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + h = sessionHashAppendBlob(tls, h, n, z) + } else { + + *(*int32)(unsafe.Pointer(pbNullPK)) = 1 + } + } + } + + *(*int32)(unsafe.Pointer(piHash)) = (int32(h % uint32((*SessionTable)(unsafe.Pointer(pTab)).FnChange))) + return SQLITE_OK +} + +// The buffer that the argument points to contains a serialized SQL value. +// Return the number of bytes of space occupied by the value (including +// the type byte). +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:207223:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var e int32 = int32(*(*U8)(unsafe.Pointer(a))) + // var n int32 at bp, 4 + + if (e == 0) || (e == 0xFF) { + return 1 + } + if e == SQLITE_NULL { + return 1 + } + if (e == SQLITE_INTEGER) || (e == SQLITE_FLOAT) { + return 9 + } + return ((sessionVarintGet(tls, (a+1), bp /* &n */) + 1) + *(*int32)(unsafe.Pointer(bp /* n */))) +} + +// Based on the primary key values stored in change aRecord, calculate a +// hash key. Assume the has table has nBucket buckets. The hash keys +// calculated by this function are compatible with those calculated by +// sessionPreupdateHash(). +// +// The bPkOnly argument is non-zero if the record at aRecord[] is from +// a patchset DELETE. In this case the non-PK fields are omitted entirely. +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:207241:21: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var h uint32 = uint32(0) // Value to return + var i int32 // Used to iterate through columns + var a uintptr = aRecord // Used to iterate through change record + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(a))) + var isPK int32 = int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) + if (bPkOnly != 0) && (isPK == 0) { + continue + } + + // It is not possible for eType to be SQLITE_NULL here. The session + // module does not record changes for rows with NULL values stored in + // primary key columns. + + if isPK != 0 { + a++ + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + h = sessionHashAppendI64(tls, h, sessionGetI64(tls, a)) + a += uintptr(8) + } else { + // var n int32 at bp, 4 + + a += uintptr(sessionVarintGet(tls, a, bp /* &n */)) + h = sessionHashAppendBlob(tls, h, *(*int32)(unsafe.Pointer(bp /* n */)), a) + a += uintptr(*(*int32)(unsafe.Pointer(bp /* n */))) + } + } else { + a += uintptr(sessionSerialLen(tls, a)) + } + } + return (h % uint32(nBucket)) +} + +// Arguments aLeft and aRight are pointers to change records for table pTab. +// This function returns true if the two records apply to the same row (i.e. +// have the same values stored in the primary key columns), or false +// otherwise. +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:207290:12: */ + var a1 uintptr = aLeft // Cursor to iterate through aLeft + var a2 uintptr = aRight // Cursor to iterate through aRight + var iCol int32 // Used to iterate through table columns + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol))) != 0 { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + + if (n1 != n2) || (libc.Xmemcmp(tls, a1, a2, uint64(n1)) != 0) { + return 0 + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } else { + if bLeftPkOnly == 0 { + a1 += uintptr(sessionSerialLen(tls, a1)) + } + if bRightPkOnly == 0 { + a2 += uintptr(sessionSerialLen(tls, a2)) + } + } + } + + return 1 +} + +// Arguments aLeft and aRight both point to buffers containing change +// records with nCol columns. This function "merges" the two records into +// a single records which is written to the buffer at *paOut. *paOut is +// then set to point to one byte after the last byte written before +// returning. +// +// The merging of records is done as follows: For each column, if the +// aRight record contains a value for the column, copy the value from +// their. Otherwise, if aLeft contains a value, copy it. If neither +// record contains a value for a given column, then neither does the +// output record. +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:207333:13: */ + var a1 uintptr = aLeft // Cursor used to iterate through aLeft + var a2 uintptr = aRight // Cursor used to iterate through aRight + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor + var iCol int32 // Used to iterate from 0 to nCol + + for iCol = 0; iCol < nCol; iCol++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + libc.Xmemcpy(tls, aOut, a2, uint64(n2)) + aOut += uintptr(n2) + } else { + libc.Xmemcpy(tls, aOut, a1, uint64(n1)) + aOut += uintptr(n1) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut +} + +// This is a helper function used by sessionMergeUpdate(). +// +// When this function is called, both *paOne and *paTwo point to a value +// within a change record. Before it returns, both have been advanced so +// as to point to the next value in the record. +// +// If, when this function is called, *paTwo points to a valid value (i.e. +// *paTwo[0] is not 0x00 - the "no value" placeholder), a copy of the *paTwo +// pointer is returned and *pnVal is set to the number of bytes in the +// serialized value. Otherwise, a copy of *paOne is returned and *pnVal +// set to the number of bytes in the value at *paOne. If *paOne points +// to the "no value" placeholder, *pnVal is set to 1. In other words: +// +// if( *paTwo is valid ) return *paTwo; +// return *paOne; +// +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:207379:11: */ + var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) + var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) + var pRet uintptr = uintptr(0) + var n1 int32 + + if a2 != 0 { + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + *(*int32)(unsafe.Pointer(pnVal)) = n2 + pRet = a2 + } + *(*uintptr)(unsafe.Pointer(paTwo)) = (a2 + uintptr(n2)) + } + + n1 = sessionSerialLen(tls, a1) + if pRet == uintptr(0) { + *(*int32)(unsafe.Pointer(pnVal)) = n1 + pRet = a1 + } + *(*uintptr)(unsafe.Pointer(paOne)) = (a1 + uintptr(n1)) + + return pRet +} + +// This function is used by changeset_concat() to merge two UPDATE changes +// on the same row. +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:207413:12: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) + var i int32 + + if bPatchset == 0 { + var bRequired int32 = 0 + + // Write the old.* vector first. + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+16, 4 + + var aOld uintptr + // var nNew int32 at bp+40, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+16 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+40 /* &nNew */) + if ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)) != *(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) || (libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) != 0) { + if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + bRequired = 1 + } + libc.Xmemcpy(tls, aOut, aOld, uint64(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */))) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } + } + + if !(bRequired != 0) { + return 0 + } + } + + // Write the new.* vector + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+44, 4 + + var aOld uintptr + // var nNew int32 at bp+48, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+44 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+48 /* &nNew */) + if (bPatchset == 0) && + ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || ((*(*int32)(unsafe.Pointer(bp + 44 /* nOld */)) == *(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) && (0 == libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))))))) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } else { + libc.Xmemcpy(tls, aOut, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) + } + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut + return 1 +} + +// This function is only called from within a pre-update-hook callback. +// It determines if the current pre-update-hook change affects the same row +// as the change stored in argument pChange. If so, it returns true. Otherwise +// if the pre-update-hook does not affect the same row as pChange, it returns +// false. +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:207490:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var iCol int32 // Used to iterate through columns + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord // Cursor used to scan change record + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol)))) != 0) { + a += uintptr(sessionSerialLen(tls, a)) + } else { + // var pVal uintptr at bp, 8 + // Value returned by preupdate_new/old + var rc int32 + _ = rc // Error code from preupdate_new/old + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) // Type of value from change record + + // The following calls to preupdate_new() and preupdate_old() can not + // fail. This is because they cache their return values, and by the + // time control flows to here they have already been called once from + // within sessionPreupdateHash(). The first two asserts below verify + // this (that the method has already been called). + if op == SQLITE_INSERT { + // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } else { + // assert( db->pPreUpdate->pUnpacked ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } + + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { + return 0 + } + + // A SessionChange object never has a NULL value in a PK column + + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, a) + a += uintptr(8) + if eType == SQLITE_INTEGER { + if Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) { + return 0 + } + } else { + // var rVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &rVal */, bp+16 /* &iVal */, uint64(8)) + if Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*float64)(unsafe.Pointer(bp + 8 /* rVal */)) { + return 0 + } + } + } else { + // var n int32 at bp+24, 4 + + var z uintptr + a += uintptr(sessionVarintGet(tls, a, bp+24 /* &n */)) + if Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*int32)(unsafe.Pointer(bp + 24 /* n */)) { + return 0 + } + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + if (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) > 0) && (libc.Xmemcmp(tls, a, z, uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))) != 0) { + return 0 + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* n */))) + } + } + } + + return 1 +} + +// If required, grow the hash table used to store changes on table pTab +// (part of the session pSession). If a fatal OOM error occurs, set the +// session object to failed and return SQLITE_ERROR. Otherwise, return +// SQLITE_OK. +// +// It is possible that a non-fatal OOM error occurs in this function. In +// that case the hash-table does not grow, but SQLITE_OK is returned anyway. +// Growing the hash table in this case is a performance optimization only, +// it is not required for correct operation. +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:207569:12: */ + if ((*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= ((*SessionTable)(unsafe.Pointer(pTab)).FnChange / 2)) { + var i int32 + var apNew uintptr + var nNew Sqlite3_int64 = (int64(2) * (func() int64 { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange != 0 { + return int64((*SessionTable)(unsafe.Pointer(pTab)).FnChange) + } + return int64(128) + }())) + + apNew = sessionMalloc64(tls, + pSession, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew)))) + if apNew == uintptr(0) { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 { + return SQLITE_ERROR + } + return SQLITE_OK + } + libc.Xmemset(tls, apNew, 0, (uint64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew)))) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNext uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNext { + var bPkOnly int32 = (libc.Bool32((int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_DELETE) && (bPatchset != 0))) + var iHash int32 = int32(sessionChangeHash(tls, pTab, bPkOnly, (*SessionChange)(unsafe.Pointer(p)).FaRecord, int32(nNew))) + pNext = (*SessionChange)(unsafe.Pointer(p)).FpNext + (*SessionChange)(unsafe.Pointer(p)).FpNext = *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) = p + } + } + + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + (*SessionTable)(unsafe.Pointer(pTab)).FnChange = int32(nNew) + (*SessionTable)(unsafe.Pointer(pTab)).FapChange = apNew + } + + return SQLITE_OK +} + +// This function queries the database for the names of the columns of table +// zThis, in schema zDb. +// +// Otherwise, if they are not NULL, variable *pnCol is set to the number +// of columns in the database table and variable *pzTab is set to point to a +// nul-terminated copy of the table name. *pazCol (if not NULL) is set to +// point to an array of pointers to column names. And *pabPK (again, if not +// NULL) is set to point to an array of booleans - true if the corresponding +// column is part of the primary key. +// +// For example, if the table is declared as: +// +// CREATE TABLE tbl1(w, x, y, z, PRIMARY KEY(w, z)); +// +// Then the four output variables are populated as follows: +// +// *pnCol = 4 +// *pzTab = "tbl1" +// *pazCol = {"w", "x", "y", "z"} +// *pabPK = {1, 0, 0, 1} +// +// All returned buffers are part of the same single allocation, which must +// be freed using sqlite3_free() by the caller +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var zPragma uintptr + // var pStmt uintptr at bp+16, 8 + + var rc int32 + var nByte Sqlite3_int64 + var nDbCol int32 = 0 + var nThis int32 + var i int32 + var pAlloc uintptr = uintptr(0) + var azCol uintptr = uintptr(0) + var abPK uintptr = uintptr(0) + + nThis = Xsqlite3Strlen30(tls, zThis) + if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+10061 /* "sqlite_stat1" */, zThis)) { + 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 { + // For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. + zPragma = Xsqlite3_mprintf(tls, + + ts+30533 /* "SELECT 0, 'tbl',..." */, 0) + } else if rc == SQLITE_ERROR { + zPragma = Xsqlite3_mprintf(tls, ts+744 /* "" */, 0) + } else { + return rc + } + } else { + zPragma = Xsqlite3_mprintf(tls, ts+30654 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + } + if !(zPragma != 0) { + return SQLITE_NOMEM + } + + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+16 /* &pStmt */, uintptr(0)) + Xsqlite3_free(tls, zPragma) + if rc != SQLITE_OK { + return rc + } + + nByte = (Sqlite3_int64(nThis + 1)) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) + nDbCol++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + if rc == SQLITE_OK { + nByte = Sqlite3_int64(uint64(nByte) + (uint64(uint64(nDbCol) * ((uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(U8(0)))) + uint64(1))))) + pAlloc = sessionMalloc64(tls, pSession, nByte) + if pAlloc == uintptr(0) { + rc = SQLITE_NOMEM + } + } + if rc == SQLITE_OK { + azCol = pAlloc + pAlloc = (azCol + uintptr(nDbCol)*8) + abPK = pAlloc + pAlloc = (abPK + uintptr(nDbCol)) + if pzTab != 0 { + libc.Xmemcpy(tls, pAlloc, zThis, (uint64(nThis + 1))) + *(*uintptr)(unsafe.Pointer(pzTab)) = pAlloc + pAlloc += (uintptr(nThis + 1)) + } + + i = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + if zName == uintptr(0) { + break + } + libc.Xmemcpy(tls, pAlloc, zName, (uint64(nName + 1))) + *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc + pAlloc += (uintptr(nName + 1)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 5)) + i++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + } + + // If successful, populate the output variables. Otherwise, zero them and + // free any allocation made. An error code will be returned in this case. + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pazCol)) = azCol + *(*uintptr)(unsafe.Pointer(pabPK)) = abPK + *(*int32)(unsafe.Pointer(pnCol)) = nDbCol + } else { + *(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pabPK)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnCol)) = 0 + if pzTab != 0 { + *(*uintptr)(unsafe.Pointer(pzTab)) = uintptr(0) + } + sessionFree(tls, pSession, azCol) + } + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + return rc +} + +// This function is only called from within a pre-update handler for a +// write to table pTab, part of session pSession. If this is the first +// write to this table, initalize the SessionTable.nCol, azCol[] and +// abPK[] arrays accordingly. +// +// If an error occurs, an error code is stored in sqlite3_session.rc and +// non-zero returned. Or, if no error occurs but the table has no primary +// key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to +// indicate that updates on this table should be ignored. SessionTable.abPK +// is set to NULL in this case. +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:207752:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + if (*SessionTable)(unsafe.Pointer(pTab)).FnCol == 0 { + // var abPK uintptr at bp, 8 + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionTableInfo(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, + (*SessionTable)(unsafe.Pointer(pTab)).FzName, (pTab + 16 /* &.nCol */), uintptr(0), (pTab + 24 /* &.azCol */), bp /* &abPK */) + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc == SQLITE_OK { + var i int32 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* abPK */)) + uintptr(i))) != 0 { + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = *(*uintptr)(unsafe.Pointer(bp /* abPK */)) + break + } + } + if 0 == Xsqlite3_stricmp(tls, ts+10061 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += I64((uint64(((Size_t((1 + sessionVarintLen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + uint64(1)))) + } + } + } + return (libc.Bool32(((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FabPK == uintptr(0)))) +} + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx1 = struct { + Fhook SessionHook + FpSession uintptr +} /* sqlite3.c:207787:9 */ + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:207787:32 */ + +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207792:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207802:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 24 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 32 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = int64(2) + if int32((*SessionChange)(unsafe.Pointer(pC)).Fop) == SQLITE_INSERT { + if op != SQLITE_DELETE { + var ii int32 + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) + } + } + } else if op == SQLITE_DELETE { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + if Xsqlite3_preupdate_blobwrite(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb) >= 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + } + } else { + var ii int32 + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(pC)).FaRecord + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + var bChanged int32 = 1 + var nOld int32 = 0 + var eType int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) + if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { + return SQLITE_NOMEM + } + + eType = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pCsr, 1)))) + switch eType { + case SQLITE_NULL: + bChanged = (libc.Bool32(Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) != SQLITE_NULL)) + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + if eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) = sessionGetI64(tls, pCsr) + if eType == SQLITE_INTEGER { + bChanged = (libc.Bool32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) != Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } else { + // var dVal float64 at bp+24, 8 + + libc.Xmemcpy(tls, bp+24 /* &dVal */, bp+32 /* &iVal */, uint64(8)) + bChanged = (libc.Bool32(*(*float64)(unsafe.Pointer(bp + 24 /* dVal */)) != Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } + } + nOld = 8 + pCsr += uintptr(8) + break + + } + fallthrough + + default: + { + // var nByte int32 at bp+40, 4 + + nOld = sessionVarintGet(tls, pCsr, bp+40 /* &nByte */) + pCsr += uintptr(nOld) + nOld = nOld + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + + if ((eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)))) && + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) && + ((*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == 0) || (0 == libc.Xmemcmp(tls, pCsr, Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))), uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)))))) { + bChanged = 0 + } + pCsr += uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + break + + } + } + + if (bChanged != 0) && (*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0) { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = (I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord + 2)) + break + } + + if bChanged != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(1 + nOld)) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)), bp+8 /* &nNew */) + } else if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(2 + nOld)) + } else { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += int64(2) + } + } + } + + if *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) > I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize) { + var nIncr int32 = (int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) - I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize))) + (*SessionChange)(unsafe.Pointer(pC)).FnMaxSize = int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */))) + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += (I64(nIncr)) + } + return SQLITE_OK +} + +// This function is only called from with a pre-update-hook reporting a +// change on table pTab (attached to session pSession). The type of change +// (UPDATE, INSERT, DELETE) is specified by the first argument. +// +// Unless one is already present or an error occurs, an entry is added +// to the changed-rows hash table associated with table pTab. +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:207927:13: */ + bp := tls.Alloc(80) + defer tls.Free(80) + + // var iHash int32 at bp+48, 4 + + // var bNull int32 at bp+52, 4 + + var rc int32 + // var stat1 SessionStat1Ctx at bp, 48 + + var p uintptr + // var p1 uintptr at bp+56, 8 + + // var p2 uintptr at bp+72, 8 + + // Create a new change object containing all the old values (if + // this is an SQLITE_UPDATE or SQLITE_DELETE), or just the PK + // values (if this is an INSERT). + // var nByte Sqlite3_int64 at bp+64, 8 + // Number of bytes to allocate + var i int32 + // Search the hash table for an existing record for this row. + var pC uintptr + *(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) = 0 + rc = SQLITE_OK + *(*SessionStat1Ctx)(unsafe.Pointer(bp /* stat1 */)) = SessionStat1Ctx{} + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) { + goto __1 + } + return +__1: + ; + + // Load table details if required + if !(sessionInitTable(tls, pSession, pTab) != 0) { + goto __2 + } + return +__2: + ; + + // Check the number of columns in this xPreUpdate call matches the + // number of columns in the table. + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 24 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + goto __3 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA + return +__3: + ; + + // Grow the hash table if required + if !(sessionGrowHash(tls, pSession, 0, pTab) != 0) { + goto __4 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_NOMEM + return +__4: + ; + + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __5 + } + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).FpSession = pSession + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = bp /* &stat1 */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1New})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1Old})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Count})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Depth})) + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob == uintptr(0)) { + goto __6 + } + p = Xsqlite3ValueNew(tls, uintptr(0)) + if !(p == uintptr(0)) { + goto __7 + } + rc = SQLITE_NOMEM + goto error_out +__7: + ; + Xsqlite3ValueSetStr(tls, p, 0, ts+744 /* "" */, uint8(0), uintptr(0)) + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p +__6: + ; +__5: + ; + + // Calculate the hash-key for this change. If the primary key of the row + // includes a NULL value, exit early. Such changes are ignored by the + // session module. + rc = sessionPreupdateHash(tls, pSession, pTab, (libc.Bool32(op == SQLITE_INSERT)), bp+48 /* &iHash */, bp+52 /* &bNull */) + if !(rc != SQLITE_OK) { + goto __8 + } + goto error_out +__8: + ; + + if !(*(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) == 0) { + goto __9 + } + pC = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) +__10: + if !(pC != 0) { + goto __12 + } + if !(sessionPreupdateEqual(tls, pSession, pTab, pC, op) != 0) { + goto __13 + } + goto __12 +__13: + ; + goto __11 +__11: + pC = (*SessionChange)(unsafe.Pointer(pC)).FpNext + goto __10 + goto __12 +__12: + ; + + if !(pC == uintptr(0)) { + goto __14 + } // Used to iterate through columns + + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + + // Figure out how large an allocation is required + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = Sqlite3_int64(unsafe.Sizeof(SessionChange{})) + i = 0 +__16: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __18 + } + *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __19 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + + goto __20 +__19: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __21 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + +__21: + ; +__20: + ; + + // This may fail if SQLite value p contains a utf-16 string that must + // be converted to utf-8 and an OOM error occurs while doing so. + rc = sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)), bp+64 /* &nByte */) + if !(rc != SQLITE_OK) { + goto __22 + } + goto error_out +__22: + ; + goto __17 +__17: + i++ + goto __16 + goto __18 +__18: + ; + + // Allocate the change object + pC = sessionMalloc64(tls, pSession, *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + if !(!(pC != 0)) { + goto __23 + } + rc = SQLITE_NOMEM + goto error_out + goto __24 +__23: + libc.Xmemset(tls, pC, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pC)).FaRecord = (pC + 1*32) +__24: + ; + + // Populate the change object. None of the preupdate_old(), + // preupdate_new() or SerializeValue() calls below may fail as all + // required values and encodings have already been cached in memory. + // It is not possible for an OOM to occur in this block. + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = int64(0) + i = 0 +__25: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __27 + } + *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __28 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) + goto __29 +__28: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __30 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) +__30: + ; +__29: + ; + sessionSerializeValue(tls, ((*SessionChange)(unsafe.Pointer(pC)).FaRecord + uintptr(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)))), *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)), bp+64 /* &nByte */) + goto __26 +__26: + i++ + goto __25 + goto __27 +__27: + ; + + // Add the change to the hash-table + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + goto __31 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) +__31: + ; + (*SessionChange)(unsafe.Pointer(pC)).FnRecord = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + (*SessionChange)(unsafe.Pointer(pC)).Fop = U8(op) + (*SessionChange)(unsafe.Pointer(pC)).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) = pC + + goto __15 +__14: + if !((*SessionChange)(unsafe.Pointer(pC)).FbIndirect != 0) { + goto __32 + } + // If the existing change is considered "indirect", but this current + // change is "direct", mark the change object as direct. + if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { + goto __33 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(0) +__33: + ; +__32: + ; +__15: + ; + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0) { + goto __34 + } + rc = sessionUpdateMaxSize(tls, op, pSession, pTab, pC) +__34: + ; +__9: + ; + + // If an error has occurred, mark the session object as failed. +error_out: + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __35 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook = (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook +__35: + ; + if !(rc != SQLITE_OK) { + goto __36 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = rc +__36: +} + +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:208076:12: */ + var rc int32 = SQLITE_OK + var nName int32 = Xsqlite3Strlen30(tls, zName) + var pRet uintptr + + // Search for an existing table + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pRet != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pRet)).FzName, zName, (nName+1)) { + break + } + } + + if (pRet == uintptr(0)) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach != 0) { + // If there is a table-filter configured, invoke it. If it returns 0, + // do not automatically add the new table. + if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || + ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 48 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + rc = Xsqlite3session_attach(tls, pSession, zName) + if rc == SQLITE_OK { + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + } + + } + } + } + + *(*uintptr)(unsafe.Pointer(ppTab)) = pRet + return rc +} + +// The 'pre-update' hook registered by this module with SQLite databases. +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:208112:13: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var pSession uintptr + var nDb int32 = Xsqlite3Strlen30(tls, zDb) + + for pSession = pCtx; pSession != 0; pSession = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpNext { + // var pTab uintptr at bp, 8 + + // If this session is attached to a different database ("main", "temp" + // etc.), or if it is not currently enabled, there is nothing to do. Skip + // to the next session object attached to this database. + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable == 0 { + continue + } + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + continue + } + if Xsqlite3_strnicmp(tls, zDb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (nDb+1)) != 0 { + continue + } + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionFindTable(tls, pSession, zName, bp /* &pTab */) + if *(*uintptr)(unsafe.Pointer(bp /* pTab */)) != 0 { + + sessionPreupdateOneChange(tls, op, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + if op == SQLITE_UPDATE { + sessionPreupdateOneChange(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + } + } + } +} + +// The pre-update hook implementations. +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208150:12: */ + return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208153:12: */ + return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208156:12: */ + return Xsqlite3_preupdate_count(tls, pCtx) +} + +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208159:12: */ + return Xsqlite3_preupdate_depth(tls, pCtx) +} + +// Install the pre-update hooks on the session object passed as the only +// argument. +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208167:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateDepth})) +} + +type SessionDiffCtx1 = struct { + FpStmt uintptr + FnOldOff int32 + _ [4]byte +} /* sqlite3.c:208177:9 */ + +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ + +// The diff hook implementations. +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208186:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, (iVal + (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff)) + return SQLITE_OK +} + +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208191:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) + return SQLITE_OK +} + +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208196:12: */ + var p uintptr = pCtx + if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { + return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff + } + return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) +} + +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208200:12: */ + return 0 +} + +// Install the diff hooks on the session object passed as the only +// argument. +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:208208:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffDepth})) +} + +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 744 /* "" */ + var zRet uintptr = uintptr(0) + + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + zRet = Xsqlite3_mprintf(tls, ts+30683, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 19866 /* " AND " */ + if zRet == uintptr(0) { + break + } + } + } + + return zRet +} + +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 744 /* "" */ + var zRet uintptr = uintptr(0) + var bHave int32 = 0 + + for i = 0; i < nCol; i++ { + if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { + bHave = 1 + zRet = Xsqlite3_mprintf(tls, + ts+30717, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 30758 /* " OR " */ + if zRet == uintptr(0) { + break + } + } + } + + if bHave == 0 { + + zRet = Xsqlite3_mprintf(tls, ts+6495 /* "0" */, 0) + } + + return zRet +} + +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var zRet uintptr = Xsqlite3_mprintf(tls, + + ts+30763, /* "SELECT * FROM \"%..." */ + libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) + return zRet +} + +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:208289:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 = SQLITE_OK + var zStmt uintptr = sessionSelectFindNew(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, zDb1, zDb2, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr) + + if zStmt == uintptr(0) { + rc = SQLITE_NOMEM + } else { + // var pStmt uintptr at bp, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp /* &pStmt */, uintptr(0)) + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { + sessionPreupdateOneChange(tls, op, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + + return rc +} + +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var rc int32 = SQLITE_OK + + var zExpr2 uintptr = sessionExprCompareOther(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, + (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (*SessionTable)(unsafe.Pointer(pTab)).FazCol, (*SessionTable)(unsafe.Pointer(pTab)).FabPK) + if zExpr2 == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var zStmt uintptr = Xsqlite3_mprintf(tls, + ts+30841, /* "SELECT * FROM \"%..." */ + 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 + } else { + // var pStmt uintptr at bp+48, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+48 /* &pStmt */, uintptr(0)) + + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) { + sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + } + + return rc +} + +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:208360:16: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var zDb uintptr + var rc int32 + // var d SessionDiffCtx at bp, 16 + + var i int32 + var bHasPk int32 + var bMismatch int32 + // var nCol int32 at bp+24, 4 + // Columns in zFrom.zTbl + // var abPK uintptr at bp+40, 8 + + // var azCol uintptr at bp+32, 8 + + var zExpr uintptr + var db uintptr + // var pTo uintptr at bp+16, 8 + zDb = (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + + libc.Xmemset(tls, bp /* &d */, 0, uint64(unsafe.Sizeof(SessionDiffCtx{}))) + sessionDiffHooks(tls, pSession, bp /* &d */) + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if !(pzErrMsg != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) +__1: + ; + if !(rc == SQLITE_OK) { + goto __2 + } + zExpr = uintptr(0) + db = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Table zTbl + + // Locate and if necessary initialize the target table object + rc = sessionFindTable(tls, pSession, zTbl, bp+16 /* &pTo */) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)) == uintptr(0)) { + goto __3 + } + goto diff_out +__3: + ; + if !(sessionInitTable(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */))) != 0) { + goto __4 + } + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + goto diff_out +__4: + ; + + // Check the table schemas match + if !(rc == SQLITE_OK) { + goto __5 + } + bHasPk = 0 + bMismatch = 0 + *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) = uintptr(0) + rc = sessionTableInfo(tls, uintptr(0), db, zFrom, zTbl, bp+24 /* &nCol */, uintptr(0), bp+32 /* &azCol */, bp+40 /* &abPK */) + if !(rc == SQLITE_OK) { + goto __6 + } + if !((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __7 + } + bMismatch = 1 + goto __8 +__7: + i = 0 +__9: + if !(i < *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __11 + } + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))))) { + goto __12 + } + bMismatch = 1 +__12: + ; + if !(Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol + uintptr(i)*8))) != 0) { + goto __13 + } + bMismatch = 1 +__13: + ; + if !(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))) != 0) { + goto __14 + } + bHasPk = 1 +__14: + ; + goto __10 +__10: + i++ + goto __9 + goto __11 +__11: + ; +__8: + ; +__6: + ; + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */))) + if !(bMismatch != 0) { + goto __15 + } + if !(pzErrMsg != 0) { + goto __16 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+30894 /* "table schemas do..." */, 0) +__16: + ; + rc = SQLITE_SCHEMA +__15: + ; + if !(bHasPk == 0) { + goto __17 + } + // Ignore tables with no primary keys + goto diff_out +__17: + ; +__5: + ; + + if !(rc == SQLITE_OK) { + goto __18 + } + zExpr = sessionExprComparePK(tls, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol, + zDb, zFrom, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FzName, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK) +__18: + ; + + // Find new rows + if !(rc == SQLITE_OK) { + goto __19 + } + rc = sessionDiffFindNew(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zDb, zFrom, zExpr) +__19: + ; + + // Find old rows + if !(rc == SQLITE_OK) { + goto __20 + } + rc = sessionDiffFindNew(tls, SQLITE_DELETE, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zDb, zExpr) +__20: + ; + + // Find modified rows + if !(rc == SQLITE_OK) { + goto __21 + } + rc = sessionDiffFindModified(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zExpr) +__21: + ; + + Xsqlite3_free(tls, zExpr) +__2: + ; + +diff_out: + sessionPreupdateHooks(tls, pSession) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Create a session object. This session object will record changes to +// database zDb attached to connection db. +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:208455:16: */ + var pNew uintptr // Newly allocated session object + var pOld uintptr // Session object already attached to db + var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes + + // Zero the output value in case an error occurs. + *(*uintptr)(unsafe.Pointer(ppSession)) = uintptr(0) + + // Allocate and populate the new session object. + pNew = Xsqlite3_malloc64(tls, (uint64((uint64(unsafe.Sizeof(Sqlite3_session{})) + uint64(nDb)) + uint64(1)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_session{}))) + (*Sqlite3_session)(unsafe.Pointer(pNew)).Fdb = db + (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb = (pNew + 1*136) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FbEnable = 1 + libc.Xmemcpy(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, zDb, (uint64(nDb + 1))) + sessionPreupdateHooks(tls, pNew) + + // Add the new session object to the linked list of session objects + // attached to database handle $db. Do this under the cover of the db + // handle mutex. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + pOld = Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), pNew) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FpNext = pOld + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + + *(*uintptr)(unsafe.Pointer(ppSession)) = pNew + return SQLITE_OK +} + +// Free the list of table objects passed as the first argument. The contents +// of the changed-rows hash tables are also deleted. +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:208493:13: */ + var pNext uintptr + var pTab uintptr + + for pTab = pList; pTab != 0; pTab = pNext { + var i int32 + pNext = (*SessionTable)(unsafe.Pointer(pTab)).FpNext + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNextChange uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNextChange { + pNextChange = (*SessionChange)(unsafe.Pointer(p)).FpNext + sessionFree(tls, pSession, p) + } + } + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FazCol) // cast works around VC++ bug + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + sessionFree(tls, pSession, pTab) + } +} + +// Delete a session object previously allocated using sqlite3session_create(). +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208517:17: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + // var pHead uintptr at bp, 8 + + var pp uintptr + + // Unlink the session from the linked list of sessions attached to the + // database handle. Hold the db mutex while doing so. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + *(*uintptr)(unsafe.Pointer(bp /* pHead */)) = Xsqlite3_preupdate_hook(tls, db, uintptr(0), uintptr(0)) + for pp = bp; /* &pHead */ (*(*uintptr)(unsafe.Pointer(pp))) != uintptr(0); pp = (*(*uintptr)(unsafe.Pointer(pp)) + 80 /* &.pNext */) { + if (*(*uintptr)(unsafe.Pointer(pp))) == pSession { + *(*uintptr)(unsafe.Pointer(pp)) = (*Sqlite3_session)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + if *(*uintptr)(unsafe.Pointer(bp /* pHead */)) != 0 { + Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), *(*uintptr)(unsafe.Pointer(bp /* pHead */))) + } + break + } + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + Xsqlite3ValueFree(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob) + + // Delete all attached table objects. And the contents of their + // associated hash-tables. + sessionDeleteTable(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable) + + // Assert that all allocations have been freed and then free the + // session object itself. + + Xsqlite3_free(tls, pSession) +} + +// Set a table filter on a Session Object. +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:208549:17: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter +} + +// Attach a table to a session. All subsequent changes made to the table +// while the session object is enabled will be recorded. +// +// Only tables that have a PRIMARY KEY defined may be attached. It does +// not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) +// or not. +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:208567:16: */ + var rc int32 = SQLITE_OK + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + if !(zName != 0) { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + } else { + var pTab uintptr // New table object (if required) + var nName int32 // Number of bytes in string zName + + // First search for an existing entry. If one is found, this call is + // a no-op. Return early. + nName = Xsqlite3Strlen30(tls, zName) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (nName+1)) { + break + } + } + + if !(pTab != 0) { + // Allocate new SessionTable object. + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionTable{})) + uint64(nName)) + uint64(1))) + pTab = sessionMalloc64(tls, pSession, int64(nByte)) + if !(pTab != 0) { + rc = SQLITE_NOMEM + } else { + // Populate the new SessionTable object and link it into the list. + // The new object must be linked onto the end of the list, not + // simply added to the start of it in order to ensure that tables + // appear in the correct order when a changeset or patchset is + // eventually generated. + var ppTab uintptr + libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = (pTab + 1*56) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (uint64(nName + 1))) + for ppTab = (pSession + 88 /* &.pTable */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } + } + } + + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Ensure that there is room in the buffer to append nByte bytes of data. +// If not, use sqlite3_realloc() to grow the buffer so that there is. +// +// If successful, return zero. Otherwise, if an OOM condition is encountered, +// set *pRc to SQLITE_NOMEM and return non-zero. +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:208620:12: */ + var nReq I64 = (I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte) + if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc)) { + var aNew uintptr + var nNew I64 + if (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc != 0 { + nNew = int64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) + } else { + nNew = int64(128) + } + + for ok := true; ok; ok = (nNew < nReq) { + nNew = (nNew * int64(2)) + } + + // The value of SESSION_MAX_BUFFER_SZ is copied from the implementation + // of sqlite3_realloc64(). Allocations greater than this size in bytes + // always fail. It is used here to ensure that this routine can always + // allocate up to this limit - instead of up to the largest power of + // two smaller than the limit. + if nNew > (int64(0x7FFFFF00 - 1)) { + nNew = (int64(0x7FFFFF00 - 1)) + if nNew < nReq { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + return 1 + } + } + + aNew = Xsqlite3_realloc64(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf, uint64(nNew)) + if uintptr(0) == aNew { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } else { + (*SessionBuffer)(unsafe.Pointer(p)).FaBuf = aNew + (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc = int32(nNew) + } + } + return (libc.Bool32(*(*int32)(unsafe.Pointer(pRc)) != SQLITE_OK)) +} + +// Append the value passed as the second argument to the buffer passed +// as the first. +// +// This function is a no-op if *pRc is non-zero when it is called. +// Otherwise, if an error occurs, *pRc is set to an SQLite error code +// before returning. +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:208663:13: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, uintptr(0), pVal, bp /* &nByte */) + sessionBufferGrow(tls, p, *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)), bp+8 /* &rc */) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), pVal, uintptr(0)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += int32((*(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)))) + } else { + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) + } + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single byte to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:208685:13: */ + if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { + *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single varint to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:208698:13: */ + if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (sessionVarintPut(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), v)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a blob of data to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:208711:13: */ + if (nBlob > 0) && (0 == sessionBufferGrow(tls, p, int64(nBlob), pRc)) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), aBlob, uint64(nBlob)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nBlob) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a string to the buffer. All bytes in the string +// up to (but not including) the nul-terminator are written to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208731:13: */ + var nStr int32 = Xsqlite3Strlen30(tls, zStr) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), zStr, uint64(nStr)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nStr) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string representation of integer iVal +// to the buffer. No nul-terminator is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aBuf [24]int8 at bp+8, 24 + + Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+8 /* &aBuf[0] */, ts+4078 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string zStr enclosed in quotes (") and +// with any embedded quote characters escaped to the buffer. No +// nul-terminator byte is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208770:13: */ + var nStr int32 = (((Xsqlite3Strlen30(tls, zStr) * 2) + 2) + 1) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + var zOut uintptr = ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)) + var zIn uintptr = zStr + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + for *(*int8)(unsafe.Pointer(zIn)) != 0 { + if int32(*(*int8)(unsafe.Pointer(zIn))) == '"' { + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + (*SessionBuffer)(unsafe.Pointer(p)).FnBuf = (int32((int64(zOut) - int64((*SessionBuffer)(unsafe.Pointer(p)).FaBuf)) / 1)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwse, it appends the serialized version of the value stored +// in column iCol of the row that SQL statement pStmt currently points +// to to the buffer. +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:208795:13: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var eType int32 = Xsqlite3_column_type(tls, pStmt, iCol) + sessionAppendByte(tls, p, U8(eType), pRc) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var i Sqlite3_int64 at bp, 8 + + // var aBuf [8]U8 at bp+16, 8 + + if eType == SQLITE_INTEGER { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */)) = Xsqlite3_column_int64(tls, pStmt, iCol) + } else { + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_column_double(tls, pStmt, iCol) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint64(8)) + } + sessionPutI64(tls, bp+16 /* &aBuf[0] */, *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */))) + sessionAppendBlob(tls, p, bp+16 /* &aBuf[0] */, 8, pRc) + } + if (eType == SQLITE_BLOB) || (eType == SQLITE_TEXT) { + var z uintptr + var nByte int32 + if eType == SQLITE_BLOB { + z = Xsqlite3_column_blob(tls, pStmt, iCol) + } else { + z = Xsqlite3_column_text(tls, pStmt, iCol) + } + nByte = Xsqlite3_column_bytes(tls, pStmt, iCol) + if (z != 0) || ((eType == SQLITE_BLOB) && (nByte == 0)) { + sessionAppendVarint(tls, p, nByte, pRc) + sessionAppendBlob(tls, p, z, nByte, pRc) + } else { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } + } + } +} + +// +// This function appends an update change to the buffer (see the comments +// under "CHANGESET FORMAT" at the top of the file). An update change +// consists of: +// +// 1 byte: SQLITE_UPDATE (0x17) +// n bytes: old.* record (see RECORD FORMAT) +// m bytes: new.* record (see RECORD FORMAT) +// +// The SessionChange object passed as the third argument contains the +// values that were stored in the row when the session began (the old.* +// values). The statement handle passed as the second argument points +// at the current version of the row (the new.* values). +// +// If all of the old.* values are equal to their corresponding new.* value +// (i.e. nothing has changed), then no data at all is appended to the buffer. +// +// Otherwise, the old.* record contains all primary key values and the +// original values of any fields that have been modified. The new.* record +// contains the new values of only those fields that have been modified. +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:208857:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp + 32 /* buf2 */)) = SessionBuffer{} // Buffer to accumulate new.* record in + var bNoop int32 = 1 // Set to zero if any values are modified + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf // Set to zero if any values are modified + var i int32 // Used to iterate through columns + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord // Used to iterate through old.* values + + sessionAppendByte(tls, pBuf, uint8(SQLITE_UPDATE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + for i = 0; i < Xsqlite3_column_count(tls, pStmt); i++ { + var bChanged int32 = 0 + var nAdvance int32 + var eType int32 = int32(*(*U8)(unsafe.Pointer(pCsr))) + switch eType { + case SQLITE_NULL: + nAdvance = 1 + if Xsqlite3_column_type(tls, pStmt, i) != SQLITE_NULL { + bChanged = 1 + } + break + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + nAdvance = 9 + if eType == Xsqlite3_column_type(tls, pStmt, i) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, (pCsr + 1)) + if eType == SQLITE_INTEGER { + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) == Xsqlite3_column_int64(tls, pStmt, i) { + break + } + } else { + // var dVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &dVal */, bp+16 /* &iVal */, uint64(8)) + if *(*float64)(unsafe.Pointer(bp + 8 /* dVal */)) == Xsqlite3_column_double(tls, pStmt, i) { + break + } + } + } + bChanged = 1 + break + + } + + default: + { + // var n int32 at bp+24, 4 + + var nHdr int32 = (1 + sessionVarintGet(tls, (pCsr+1), bp+24 /* &n */)) + + nAdvance = (nHdr + *(*int32)(unsafe.Pointer(bp + 24 /* n */))) + if ((eType == Xsqlite3_column_type(tls, pStmt, i)) && + (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == Xsqlite3_column_bytes(tls, pStmt, i))) && + ((*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == 0) || (0 == libc.Xmemcmp(tls, (pCsr+uintptr(nHdr)), Xsqlite3_column_blob(tls, pStmt, i), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))))) { + break + } + bChanged = 1 + + } + } + + // If at least one field has been modified, this is not a no-op. + if bChanged != 0 { + bNoop = 0 + } + + // Add a field to the old.* record. This is omitted if this modules is + // currently generating a patchset. + if bPatchset == 0 { + if (bChanged != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + sessionAppendBlob(tls, pBuf, pCsr, nAdvance, bp /* &rc */) + } else { + sessionAppendByte(tls, pBuf, uint8(0), bp /* &rc */) + } + } + + // Add a field to the new.* record. Or the only record if currently + // generating a patchset. + if (bChanged != 0) || ((bPatchset != 0) && (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0)) { + sessionAppendCol(tls, bp+32 /* &buf2 */, pStmt, i, bp /* &rc */) + } else { + sessionAppendByte(tls, bp+32 /* &buf2 */, uint8(0), bp /* &rc */) + } + + pCsr += uintptr(nAdvance) + } + + if bNoop != 0 { + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = nRewind + } else { + sessionAppendBlob(tls, pBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FnBuf, bp /* &rc */) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Append a DELETE change to the buffer passed as the first argument. Use +// the changeset format if argument bPatchset is zero, or the patchset +// format otherwise. +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:208956:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + + sessionAppendByte(tls, pBuf, uint8(SQLITE_DELETE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + + if bPatchset == 0 { + sessionAppendBlob(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp /* &rc */) + } else { + var i int32 + var a uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord + for i = 0; i < nCol; i++ { + var pStart uintptr = a + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + a += uintptr(8) + break + fallthrough + + default: + { + // var n int32 at bp+4, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+4 /* &n */)) + a += uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* n */))) + break + + } + } + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendBlob(tls, pBuf, pStart, (int32((int64(a) - int64(pStart)) / 1)), bp /* &rc */) + } + } + + } + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Formulate and prepare a SELECT statement to retrieve a row from table +// zTab in database zDb based on its primary key. i.e. +// +// SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + var zSql uintptr = uintptr(0) + var nSql int32 = -1 + + if 0 == Xsqlite3_stricmp(tls, ts+10061 /* "sqlite_stat1" */, zTab) { + zSql = Xsqlite3_mprintf(tls, + + ts+30921 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + if zSql == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_NOMEM + } + } else { + var i int32 + var zSep uintptr = ts + 744 /* "" */ + *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp+8 /* &buf */, ts+31031 /* "SELECT * FROM " */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zDb, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+757 /* "." */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zTab, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+31046 /* " WHERE " */, bp+24 /* &rc */) + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendStr(tls, bp+8 /* &buf */, zSep, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+31054 /* " IS ?" */, bp+24 /* &rc */) + sessionAppendInteger(tls, bp+8 /* &buf */, (i + 1), bp+24 /* &rc */) + zSep = ts + 19866 /* " AND " */ + } + } + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FnBuf + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + } + Xsqlite3_free(tls, zSql) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Bind the PRIMARY KEY values from the change passed in argument pChange +// to the SELECT statement passed as the first argument. The SELECT statement +// is as prepared by function sessionSelectStmt(). +// +// Return SQLITE_OK if all PK values are successfully bound, or an SQLite +// error code (e.g. SQLITE_NOMEM) otherwise. +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:209068:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 + var rc int32 = SQLITE_OK + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord + + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + + case SQLITE_INTEGER: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + var iVal I64 = sessionGetI64(tls, a) + rc = Xsqlite3_bind_int64(tls, pSelect, (i + 1), iVal) + } + a += uintptr(8) + break + + } + + case SQLITE_FLOAT: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + // var rVal float64 at bp, 8 + + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = sessionGetI64(tls, a) + libc.Xmemcpy(tls, bp /* &rVal */, bp+8 /* &iVal */, uint64(8)) + rc = Xsqlite3_bind_double(tls, pSelect, (i + 1), *(*float64)(unsafe.Pointer(bp /* rVal */))) + } + a += uintptr(8) + break + + } + + case SQLITE_TEXT: + { + // var n int32 at bp+16, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+16 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_text(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 16 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* n */))) + break + + } + + default: + { + // var n int32 at bp+20, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_blob(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 20 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + break + + } + } + } + + return rc +} + +// This function is a no-op if *pRc is set to other than SQLITE_OK when it +// is called. Otherwise, append a serialized table header (part of the binary +// changeset format) to buffer *pBuf. If an error occurs, set *pRc to an +// SQLite error code before returning. +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:209139:13: */ + // Write a table header + sessionAppendByte(tls, pBuf, func() uint8 { + if bPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), pRc) + sessionAppendVarint(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (int32(libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + 1), pRc) +} + +// Generate either a changeset (if argument bPatchset is zero) or a patchset +// (if it is non-zero) based on the current contents of the session object +// passed as the first argument. +// +// If no error occurs, SQLITE_OK is returned and the new changeset/patchset +// stored in output variables *pnChangeset and *ppChangeset. Or, if an error +// occurs, an SQLite error code is returned and both output variables set +// to 0. +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209162:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Source database handle + var pTab uintptr // Used to iterate through attached tables + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* buf */)) = SessionBuffer{} // Buffer in which to accumlate changeset + // var rc int32 at bp+40, 4 + // Return code + + // Zero the output variables in case an error occurs. If this session + // object is already in the error state (sqlite3_session.rc != SQLITE_OK), + // this call will be a no-op. + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = 0 + *(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0) + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+31060 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) + } + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry != 0 { + var zName uintptr = (*SessionTable)(unsafe.Pointer(pTab)).FzName + // var nCol int32 at bp, 4 + // Number of columns in table + // var abPK uintptr at bp+16, 8 + // Primary key array + *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)) = uintptr(0) // Table columns + var i int32 // Used to iterate through hash buckets + *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)) = uintptr(0) // SELECT statement to query table pTab + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf // Initial size of write buffer + var nNoop int32 // Size of buffer after writing tbl header + + // Check the table schema is still Ok. + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionTableInfo(tls, uintptr(0), db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, bp /* &nCol */, uintptr(0), bp+8 /* &azCol */, bp+16 /* &abPK */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) && (((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp /* nCol */))) || (libc.Xmemcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), (*SessionTable)(unsafe.Pointer(pTab)).FabPK, uint64(*(*int32)(unsafe.Pointer(bp /* nCol */)))) != 0)) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_SCHEMA + } + + // Write a table header + sessionAppendTableHdr(tls, bp+24 /* &buf */, bPatchset, pTab, bp+40 /* &rc */) + + // Build and compile a statement to execute: + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectStmt(tls, + db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), bp+48 /* &pSel */) + } + + nNoop = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + for i = 0; (i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange) && (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK); i++ { + var p uintptr // Used to iterate through changes + + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (p != 0); p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectBind(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), p) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + continue + } + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) == SQLITE_ROW { + if int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_INSERT { + var iCol int32 + sessionAppendByte(tls, bp+24 /* &buf */, uint8(SQLITE_INSERT), bp+40 /* &rc */) + sessionAppendByte(tls, bp+24 /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+40 /* &rc */) + for iCol = 0; iCol < *(*int32)(unsafe.Pointer(bp /* nCol */)); iCol++ { + sessionAppendCol(tls, bp+24 /* &buf */, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), iCol, bp+40 /* &rc */) + } + } else { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendUpdate(tls, bp+24 /* &buf */, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), p, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + } else if int32((*SessionChange)(unsafe.Pointer(p)).Fop) != SQLITE_INSERT { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendDelete(tls, bp+24 /* &buf */, bPatchset, p, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + } + + // If the buffer is now larger than sessions_strm_chunk_size, pass + // its contents to the xOutput() callback. + if (((xOutput != 0) && + (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > nNoop)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + nNoop = -1 + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = 0 + } + + } + } + + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf == nNoop { + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = nRewind + } + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */))) // cast works around VC++ bug + } + } + + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf = uintptr(0) + } else if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + } + } + + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf) + Xsqlite3_exec(tls, db, ts+31080 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Obtain a changeset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209288:16: */ + var rc int32 = sessionGenerateChangeset(tls, pSession, 0, uintptr(0), uintptr(0), pnChangeset, ppChangeset) + + return rc +} + +// Streaming version of sqlite3session_changeset(). +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209303:16: */ + return sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Streaming version of sqlite3session_patchset(). +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209314:16: */ + return sessionGenerateChangeset(tls, pSession, 1, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Obtain a patchset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:209329:16: */ + return sessionGenerateChangeset(tls, pSession, 1, uintptr(0), uintptr(0), pnPatchset, ppPatchset) +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:209340:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bEnable >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable = bEnable + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:209354:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bIndirect >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect = bIndirect + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Return true if there have been no changes to monitored tables recorded +// by the session object passed as the only argument. +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:209369:16: */ + var ret int32 = 0 + var pTab uintptr + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (pTab != 0) && (ret == 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + ret = (libc.Bool32((*SessionTable)(unsafe.Pointer(pTab)).FnEntry > 0)) + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + return (libc.Bool32(ret == 0)) +} + +// Return the amount of heap memory in use. +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209385:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc +} + +// Configure the session object passed as the first argument. +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:209392:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_OBJCONFIG_SIZE: + { + var iArg int32 = *(*int32)(unsafe.Pointer(pArg)) + if iArg >= 0 { + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable != 0 { + rc = SQLITE_MISUSE + } else { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize = (libc.Bool32(iArg != 0)) + } + } + *(*int32)(unsafe.Pointer(pArg)) = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize + break + + } + + default: + rc = SQLITE_MISUSE + } + + return rc +} + +// Return the maximum size of sqlite3session_changeset() output. +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209418:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize +} + +// Do the work for either sqlite3changeset_start() or start_strm(). +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:209425:12: */ + var pRet uintptr // Iterator to return + var nByte int32 // Number of bytes to allocate for iterator + + // Zero the output variable in case an error occurs. + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + + // Allocate and initialize the iterator structure. + nByte = int32(unsafe.Sizeof(Sqlite3_changeset_iter{})) + pRet = Xsqlite3_malloc(tls, nByte) + if !(pRet != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pRet, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FbEof = func() int32 { + if xInput != 0 { + return 0 + } + return 1 + }() + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbInvert = bInvert + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbSkipEmpty = bSkipEmpty + + // Populate the output variable and return success. + *(*uintptr)(unsafe.Pointer(pp)) = pRet + return SQLITE_OK +} + +// Create an iterator used to iterate through the contents of a changeset. +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:209463:16: */ + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) +} + +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:209470:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) +} + +// Streaming version of sqlite3changeset_start(). +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:209483:16: */ + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) +} + +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:209490:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) +} + +// If the SessionInput object passed as the only argument is a streaming +// object and the buffer is full, discard some data to free up space. +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:209504:13: */ + if ((*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0) && ((*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size) { + var nMove int32 = ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext) + + if nMove > 0 { + libc.Xmemmove(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), uint64(nMove)) + } + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) -= ((*SessionInput)(unsafe.Pointer(pIn)).FiNext) + (*SessionInput)(unsafe.Pointer(pIn)).FiNext = 0 + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } +} + +// Ensure that there are at least nByte bytes available in the buffer. Or, +// if there are not nByte bytes remaining in the input, that all available +// data is in the buffer. +// +// Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:209524:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 { + for (!((*SessionInput)(unsafe.Pointer(pIn)).FbEof != 0) && (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte) >= (*SessionInput)(unsafe.Pointer(pIn)).FnData)) && (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) { + *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) = sessions_strm_chunk_size + + if (*SessionInput)(unsafe.Pointer(pIn)).FbNoDiscard == 0 { + sessionDiscardData(tls, pIn) + } + if SQLITE_OK == sessionBufferGrow(tls, (pIn+32 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 48 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { + (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 + } else { + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) += (*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))) + } + } + + (*SessionInput)(unsafe.Pointer(pIn)).FaData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// When this function is called, *ppRec points to the start of a record +// that contains nCol values. This function advances the pointer *ppRec +// until it points to the byte immediately following that record. +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:209552:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var aRec uintptr = *(*uintptr)(unsafe.Pointer(ppRec)) + var i int32 + for i = 0; i < nCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aRec, 1)))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + aRec += uintptr(sessionVarintGet(tls, aRec, bp /* &nByte */)) + aRec += uintptr(*(*int32)(unsafe.Pointer(bp /* nByte */))) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + aRec += uintptr(8) + } + } + + *(*uintptr)(unsafe.Pointer(ppRec)) = aRec +} + +// This function sets the value of the sqlite3_value object passed as the +// first argument to a copy of the string or blob held in the aData[] +// buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM +// error occurs. +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:209578:12: */ + // In theory this code could just pass SQLITE_TRANSIENT as the final + // argument to sqlite3ValueSetStr() and have the copy created + // automatically. But doing so makes it difficult to detect any OOM + // error. Hence the code to create the copy externally. + var aCopy uintptr = Xsqlite3_malloc64(tls, (uint64(Sqlite3_int64(nData) + int64(1)))) + if aCopy == uintptr(0) { + return SQLITE_NOMEM + } + libc.Xmemcpy(tls, aCopy, aData, uint64(nData)) + Xsqlite3ValueSetStr(tls, pVal, nData, aCopy, enc, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + return SQLITE_OK +} + +// Deserialize a single record from a buffer in memory. See "RECORD FORMAT" +// for details. +// +// When this function is called, *paChange points to the start of the record +// to deserialize. Assuming no error occurs, *paChange is set to point to +// one byte after the end of the same record before this function returns. +// If the argument abPK is NULL, then the record contains nCol values. Or, +// if abPK is other than NULL, then the record contains only the PK fields +// (in other words, it is a patchset DELETE record). +// +// If successful, each element of the apOut[] array (allocated by the caller) +// is set to point to an sqlite3_value object containing the value read +// from the corresponding position in the record. If that value is not +// included in the record (i.e. because the record is part of an UPDATE change +// and the field was not modified), the corresponding element of apOut[] is +// set to NULL. +// +// It is the responsibility of the caller to free all sqlite_value structures +// using sqlite3_free(). +// +// If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +// The apOut[] array may have been partially populated in this case. +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209619:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 // Used to iterate through columns + var rc int32 = SQLITE_OK + + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 1 + } + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = 0 // Type of value (SQLITE_NULL, TEXT etc.) + if (abPK != 0) && (int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0) { + continue + } + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { + rc = Xsqlite3CorruptError(tls, 209637) + } else { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) + + if eType != 0 { + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 0 + } + *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)) = Xsqlite3ValueNew(tls, uintptr(0)) + if !(int32(*(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8))) != 0) { + rc = SQLITE_NOMEM + } + } + } + } + + if rc == SQLITE_OK { + var aVal uintptr = ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (sessionVarintGet(tls, aVal, bp /* &nByte */)) + rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) + if rc == SQLITE_OK { + if (*(*int32)(unsafe.Pointer(bp /* nByte */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nByte */)) > ((*SessionInput)(unsafe.Pointer(pIn)).FnData - (*SessionInput)(unsafe.Pointer(pIn)).FiNext)) { + rc = Xsqlite3CorruptError(tls, 209657) + } else { + var enc U8 = func() uint8 { + if eType == SQLITE_TEXT { + return uint8(SQLITE_UTF8) + } + return uint8(0) + }() + rc = sessionValueSetStr(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), *(*int32)(unsafe.Pointer(bp /* nByte */)), enc) + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nByte */))) + } + } + } + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */)) = sessionGetI64(tls, aVal) + if eType == SQLITE_INTEGER { + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */))) + } else { + // var d float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &d */, bp+16 /* &v */, uint64(8)) + Xsqlite3VdbeMemSetDouble(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*float64)(unsafe.Pointer(bp + 8 /* d */))) + } + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (8) + } + } + } + + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function ensures that all of the above is present in the input +// buffer (i.e. that it can be accessed without any calls to xInput()). +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. +// The input pointer is not moved. +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:209695:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + *(*int32)(unsafe.Pointer(bp /* nCol */)) = 0 + var nRead int32 = 0 + + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + nRead = nRead + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead))), bp /* &nCol */)) + // The hard upper limit for the number of columns in an SQLite + // database table is, according to sqliteLimit.h, 32676. So + // consider any table-header that purports to have more than 65536 + // columns to be corrupt. This is convenient because otherwise, + // if the (nCol>65536) condition below were omitted, a sufficiently + // large value for nCol may cause nRead to wrap around and become + // negative. Leading to a crash. + if (*(*int32)(unsafe.Pointer(bp /* nCol */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nCol */)) > 65536) { + rc = Xsqlite3CorruptError(tls, 209711) + } else { + rc = sessionInputBuffer(tls, pIn, ((nRead + *(*int32)(unsafe.Pointer(bp /* nCol */))) + 100)) + nRead = nRead + (*(*int32)(unsafe.Pointer(bp /* nCol */))) + } + } + + for rc == SQLITE_OK { + for (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData) && (*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead)))) != 0) { + nRead++ + } + if ((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData { + break + } + rc = sessionInputBuffer(tls, pIn, (nRead + 100)) + } + *(*int32)(unsafe.Pointer(pnByte)) = (nRead + 1) + return rc +} + +// The input pointer currently points to the first byte of the first field +// of a record consisting of nCol columns. This function ensures the entire +// record is buffered. It does not move the input pointer. +// +// If successful, SQLITE_OK is returned and *pnByte is set to the size of +// the record in bytes. Otherwise, an SQLite error code is returned. The +// final value of *pnByte is undefined in this case. +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:209738:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var nByte int32 = 0 + var i int32 + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + var eType int32 + rc = sessionInputBuffer(tls, pIn, (nByte + 10)) + if rc == SQLITE_OK { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + libc.PostIncInt32(&nByte, 1)))))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var n int32 at bp, 4 + + nByte = nByte + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte))), bp /* &n */)) + nByte = nByte + (*(*int32)(unsafe.Pointer(bp /* n */))) + rc = sessionInputBuffer(tls, pIn, nByte) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + nByte = nByte + (8) + } + } + } + *(*int32)(unsafe.Pointer(pnByte)) = nByte + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function decodes the table-header and populates the p->nCol, +// p->zTab and p->abPK[] variables accordingly. The p->apValue[] array is +// also allocated or resized according to the new value of p->nCol. The +// input pointer is left pointing to the byte following the table header. +// +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code +// is returned and the final values of the various fields enumerated above +// are undefined. +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209782:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var rc int32 at bp+4, 4 + + // var nCopy int32 at bp, 4 + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetBufferTblhdr(tls, (p /* &.in */), bp /* &nCopy */) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte int32 + var nVarint int32 + nVarint = sessionVarintGet(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), (p + 120 /* &.nCol */)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol > 0 { + *(*int32)(unsafe.Pointer(bp /* nCopy */)) -= nVarint + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (nVarint) + nByte = (int32(((uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol) * uint64(unsafe.Sizeof(uintptr(0)))) * uint64(2)) + uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */))))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 + sessionBufferGrow(tls, (p + 72 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + } else { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 209799) + } + } + + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var iPK Size_t = ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2)) + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0, iPK) + libc.Xmemcpy(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + uintptr(iPK)), ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */)))) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nCopy */))) + } + + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue == uintptr(0) { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = uintptr(0) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = uintptr(0) + } else { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol*2))*8) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) + } + return uintptr(0) + }() + } + return libc.AssignPtrInt32(p+100 /* &.rc */, *(*int32)(unsafe.Pointer(bp + 4 /* rc */))) +} + +// Advance the changeset iterator to the next change. The differences between +// this function and sessionChangesetNext() are that +// +// * If pbEmpty is not NULL and the change is a no-op UPDATE (an UPDATE +// that modifies no columns), this function sets (*pbEmpty) to 1. +// +// * If the iterator is configured to skip no-op UPDATEs, +// sessionChangesetNext() does that. This function does not. +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209831:12: */ + var i int32 + var op U8 + + // If the iterator is in the error-state, return immediately. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // Free the current contents of p->apValue[], if any. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2))) + } + + // Make sure the buffer contains at least 10 bytes of input data, or all + // remaining data if there are less than 10 bytes available. This is + // sufficient either for the 'T' or 'P' byte and the varint that follows + // it, or for the two single byte values otherwise. + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionInputBuffer(tls, (p /* &.in */), 2) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // If the iterator is already at the end of the changeset, return DONE. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + + sessionDiscardData(tls, (p /* &.in */)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + + op = *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))) + for (int32(op) == 'T') || (int32(op) == 'P') { + if pbNew != 0 { + *(*int32)(unsafe.Pointer(pbNew)) = 1 + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset = (libc.Bool32(int32(op) == 'P')) + if sessionChangesetReadTblhdr(tls, p) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + if libc.AssignPtrInt32(p+100 /* &.rc */, sessionInputBuffer(tls, (p /* &.in */), 2)) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + op = *(*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)).FzTab == uintptr(0)) || (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) { + // The first record in the changeset is not a table header. Must be a + // corrupt changeset. + + return libc.AssignPtrInt32(p+100 /* &.rc */, Xsqlite3CorruptError(tls, 209885)) + } + + (*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 /* &.rc */, Xsqlite3CorruptError(tls, 209891)) + } + + if paRec != 0 { + var nVal int32 // Number of values to buffer + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) && (int32(op) == SQLITE_UPDATE) { + nVal = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2) + } else if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && (int32(op) == SQLITE_DELETE) { + nVal = 0 + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { + nVal++ + } + } + } else { + nVal = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionChangesetBufferRecord(tls, (p /* &.in */), nVal, pnRec) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + *(*uintptr)(unsafe.Pointer(paRec)) = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(pnRec))) + } else { + var apOld uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + } + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + }() + var apNew uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + } + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + }() + + // If this is an UPDATE or DELETE, read the old.* record. + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT) && (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE)) { + var abPK uintptr + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 { + abPK = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + } else { + abPK = uintptr(0) + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, abPK, apOld, uintptr(0)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + // If this is an INSERT or UPDATE, read the new.* record. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, uintptr(0), apNew, pbEmpty) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + if (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_UPDATE) { + // If this is an UPDATE that is part of a patchset, then all PK and + // modified fields are present in the new.* record. The old.* record + // is currently completely empty. This block shifts the PK fields from + // new.* to old.*, to accommodate the code that reads these arrays. + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + + 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 /* &.rc */, Xsqlite3CorruptError(tls, 209935)) + } + *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol))*8)) = uintptr(0) + } + } + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_INSERT { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_DELETE + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_INSERT + } + } + } + + return SQLITE_ROW +} + +// Advance the changeset iterator to the next change. +// +// If both paRec and pnRec are NULL, then this function works like the public +// API sqlite3changeset_next(). If SQLITE_ROW is returned, then the +// sqlite3changeset_new() and old() APIs may be used to query for values. +// +// Otherwise, if paRec and pnRec are not NULL, then a pointer to the change +// record is written to *paRec before returning and the number of bytes in +// the record to *pnRec. +// +// Either way, this function returns SQLITE_ROW if the iterator is +// successfully advanced to the next change in the changeset, an SQLite +// error code if an error occurs, or SQLITE_DONE if there are no further +// changes in the changeset. +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:209964:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var bEmpty int32 at bp, 4 + + var rc int32 + for ok := true; ok; ok = (((rc == SQLITE_ROW) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbSkipEmpty != 0)) && (*(*int32)(unsafe.Pointer(bp /* bEmpty */)) != 0)) { + *(*int32)(unsafe.Pointer(bp /* bEmpty */)) = 0 + rc = sessionChangesetNextOne(tls, p, paRec, pnRec, pbNew, bp /* &bEmpty */) + } + return rc +} + +// Advance an iterator created by sqlite3changeset_start() to the next +// change in the changeset. This function may return SQLITE_ROW, SQLITE_DONE +// or SQLITE_CORRUPT. +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209987:16: */ + return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) +} + +// The following function extracts information on the current change +// from a changeset iterator. It may only be called after changeset_next() +// has returned SQLITE_ROW. +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:209996:16: */ + *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + if pbIndirect != 0 { + *(*int32)(unsafe.Pointer(pbIndirect)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect + } + return SQLITE_OK +} + +// Return information regarding the PRIMARY KEY and number of columns in +// the database table affected by the change that pIter currently points +// to. This function may only be called after changeset_next() returns +// SQLITE_ROW. +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:210016:16: */ + *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + if pnCol != 0 { + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + } + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_DELETE change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the old.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified and is not a PK column), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210039:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(iVal)*8)) + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_INSERT change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the new.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210067:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+iVal))*8)) + return SQLITE_OK +} + +// The following two macros are used internally. They are similar to the +// sqlite3changeset_new() and sqlite3changeset_old() functions, except that +// they omit all error checking and return a pointer to the requested value. + +// This function may only be called with a changeset iterator that has been +// passed to an SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT +// conflict-handler function. Otherwise, SQLITE_MISUSE is returned. +// +// If successful, *ppValue is set to point to an sqlite3_value structure +// containing the iVal'th value of the conflicting record. +// +// If value iVal is out-of-range or some other error occurs, an SQLite error +// code is returned. Otherwise, SQLITE_OK. +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210101:16: */ + if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = Xsqlite3_column_value(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict, iVal) + return SQLITE_OK +} + +// This function may only be called with an iterator passed to an +// SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +// it sets the output variable to the total number of known foreign key +// violations in the destination database and returns SQLITE_OK. +// +// In all other cases this function returns SQLITE_MISUSE. +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:210124:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0) { + return SQLITE_MISUSE + } + *(*int32)(unsafe.Pointer(pnOut)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + return SQLITE_OK +} + +// Finalize an iterator allocated with sqlite3changeset_start(). +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:210142:16: */ + var rc int32 = SQLITE_OK + if p != 0 { + var i int32 // Used to iterate through p->apValue[] + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + } + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf) + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.Fbuf.FaBuf) + Xsqlite3_free(tls, p) + } + return rc +} + +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210157:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + // var rc int32 at bp+40, 4 + // Return value + // var sOut SessionBuffer at bp, 16 + // Output buffer + // var nCol int32 at bp+20, 4 + // Number of cols in current table + var abPK uintptr // PK array for current table + var apVal uintptr // Space for values for UPDATE inversion + // var sPK SessionBuffer at bp+24, 16 + + // A 'table' record consists of: + // + // * A constant 'T' character, + // * Number of columns in said table (a varint), + // * An array of nCol bytes (sPK), + // * A nul-terminated table name. + // var nByte int32 at bp+16, 4 + + var nVar int32 + // var nByte1 int32 at bp+44, 4 + + var bIndirect int32 + var eType2 int32 + var pVal uintptr + var pVal1 uintptr + var iCol int32 + var eType U8 + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) = 0 + abPK = uintptr(0) + apVal = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* sPK */)) = SessionBuffer{} // PK array for current table + + // Initialize the output buffer + libc.Xmemset(tls, bp /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + // Zero the output variables in case an error occurs. + if !(ppInverted != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(ppInverted)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnInverted)) = 0 +__1: + ; + +__2: + if !(1 != 0) { + goto __3 + } + + // Test for EOF. + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionInputBuffer(tls, pInput, 2)) != 0) { + goto __4 + } + goto finished_invert +__4: + ; + if !((*SessionInput)(unsafe.Pointer(pInput)).FiNext >= (*SessionInput)(unsafe.Pointer(pInput)).FnData) { + goto __5 + } + goto __3 +__5: + ; + eType = *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext))) + + switch int32(eType) { + case 'T': + goto __7 + + case SQLITE_INSERT: + goto __8 + case SQLITE_DELETE: + goto __9 + + case SQLITE_UPDATE: + goto __10 + + default: + goto __11 + } + goto __6 +__7: + (*SessionInput)(unsafe.Pointer(pInput)).FiNext++ + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionChangesetBufferTblhdr(tls, pInput, bp+16 /* &nByte */)) != 0) { + goto __12 + } + goto finished_invert +__12: + ; + nVar = sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), bp+20 /* &nCol */) + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FnBuf = 0 + sessionAppendBlob(tls, bp+24 /* &sPK */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + nVar))), *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 16 /* nByte */)), bp+40 /* &rc */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __13 + } + goto finished_invert +__13: + ; + + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 16 /* nByte */))) + Xsqlite3_free(tls, apVal) + apVal = uintptr(0) + abPK = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FaBuf + goto __6 + +__8: +__9: + bIndirect = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1))))) + eType2 = func() int32 { + if int32(eType) == SQLITE_DELETE { + return SQLITE_INSERT + } + return SQLITE_DELETE + }() + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionChangesetBufferRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+44 /* &nByte1 */) + sessionAppendByte(tls, bp /* &sOut */, uint8(eType2), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, uint8(bIndirect), bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */)), bp+40 /* &rc */) + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __14 + } + goto finished_invert +__14: + ; + goto __6 + +__10: + + if !(uintptr(0) == apVal) { + goto __15 + } + apVal = Xsqlite3_malloc64(tls, (uint64((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2)))) + if !(uintptr(0) == apVal) { + goto __16 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_NOMEM + goto finished_invert +__16: + ; + libc.Xmemset(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) +__15: + ; + + // Write the header for the new UPDATE change. Same as the original. + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1)))), bp+40 /* &rc */) + + // Read the old.* and new.* records for the update change. + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal), uintptr(0)) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) { + goto __17 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal + uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))*8), uintptr(0)) +__17: + ; + + // Write the new old.* record. Consists of the PK columns from the + // original old.* record, and the other values from the original + // new.* record. + iCol = 0 +__18: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __20 + } + pVal = *(*uintptr)(unsafe.Pointer(apVal + uintptr((iCol+(func() int32 { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return 0 + } + return *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) + }())))*8)) + sessionAppendValue(tls, bp /* &sOut */, pVal, bp+40 /* &rc */) + goto __19 +__19: + iCol++ + goto __18 + goto __20 +__20: + ; + + // Write the new new.* record. Consists of a copy of all values + // from the original old.* record, except for the PK columns, which + // are set to "undefined". + iCol = 0 +__21: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __23 + } + pVal1 = func() uintptr { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return uintptr(0) + } + return *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8)) + }() + sessionAppendValue(tls, bp /* &sOut */, pVal1, bp+40 /* &rc */) + goto __22 +__22: + iCol++ + goto __21 + goto __23 +__23: + ; + + iCol = 0 +__24: + if !(iCol < (*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) * 2)) { + goto __26 + } + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8))) + goto __25 +__25: + iCol++ + goto __24 + goto __26 +__26: + ; + libc.Xmemset(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __27 + } + goto finished_invert +__27: + ; + + goto __6 + +__11: + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 210284) + goto finished_invert +__6: + ; + + if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { + goto __28 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __29 + } + goto finished_invert +__29: + ; +__28: + ; + goto __2 +__3: + ; + + if !(pnInverted != 0) { + goto __30 + } + *(*int32)(unsafe.Pointer(pnInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf = uintptr(0) + goto __31 +__30: + if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { + goto __32 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) +__32: + ; +__31: + ; + +finished_invert: + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf) + Xsqlite3_free(tls, apVal) + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &sPK */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Invert a changeset object. +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210316:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FnData = nChangeset + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FaData = pChangeset + + return sessionChangesetInvert(tls, bp /* &sInput */, uintptr(0), uintptr(0), pnInverted, ppInverted) +} + +// Streaming version of sqlite3changeset_invert(). +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:210335:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + var rc int32 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FxInput = xInput + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FpIn = pIn + + rc = sessionChangesetInvert(tls, bp /* &sInput */, xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3_free(tls, (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).Fbuf.FaBuf) + return rc +} + +type SessionUpdate1 = struct { + FpStmt uintptr + FaMask uintptr + FpNext uintptr +} /* sqlite3.c:210355:9 */ + +type SessionUpdate = SessionUpdate1 /* sqlite3.c:210355:30 */ + +type SessionApplyCtx1 = struct { + Fdb uintptr + FpDelete uintptr + FpInsert uintptr + FpSelect uintptr + FnCol int32 + _ [4]byte + FazCol uintptr + FabPK uintptr + FaUpdateMask uintptr + FpUp uintptr + FbStat1 int32 + FbDeferConstraints int32 + FbInvertConstraints int32 + _ [4]byte + Fconstraints SessionBuffer + Frebase SessionBuffer + FbRebaseStarted U8 + FbRebase U8 + _ [6]byte +} /* sqlite3.c:210362:9 */ + +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ + +// Number of prepared UPDATE statements to cache. + +// Find a prepared UPDATE statement suitable for the UPDATE step currently +// being visited by the iterator. The UPDATE is of the form: +// +// UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:210391:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var pUp uintptr = uintptr(0) + var nCol int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + var nU32 int32 = (((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + 33) / 32) + var ii int32 + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = Xsqlite3_malloc(tls, (int32(uint64(nU32) * uint64(unsafe.Sizeof(U32(0)))))) + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0, (uint64(nU32) * uint64(unsafe.Sizeof(U32(0))))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_CORRUPT + for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ { + if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(ii)))*8)) != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((ii/32))*4)) |= (U32(int32(1) << (ii % 32))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if bPatchset != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((nCol/32))*4)) |= (U32(int32(1) << (nCol % 32))) + } + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp != 0 { + var nUp int32 = 0 + var pp uintptr = (p + 64 /* &.pUp */) + for 1 != 0 { + nUp++ + if 0 == libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaMask, (uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))) { + pUp = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + break + } + + if (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext != 0 { + pp = (*(*uintptr)(unsafe.Pointer(pp)) + 16 /* &.pNext */) + } else { + if nUp >= SESSION_UPDATE_CACHE_SZ { + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpStmt) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pp))) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + } + break + } + } + } + + if pUp == uintptr(0) { + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionUpdate{})) * uint64(nU32)) * uint64(unsafe.Sizeof(U32(0))))) + var bStat1 int32 = (libc.Bool32(Xsqlite3_stricmp(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, ts+10061 /* "sqlite_stat1" */) == 0)) + pUp = Xsqlite3_malloc(tls, nByte) + if pUp == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } else { + var zSep uintptr = ts + 744 /* "" */ + // var buf SessionBuffer at bp, 16 + + libc.Xmemset(tls, bp /* &buf */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + (*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 /* &buf */, ts+31098 /* "UPDATE main." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31111 /* " SET " */, bp+16 /* &rc */) + + // Create the assignments part of the UPDATE + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31117 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+16 /* &rc */) + zSep = ts + 13313 /* ", " */ + } + } + + // Create the WHERE clause part of the UPDATE + zSep = ts + 744 /* "" */ + sessionAppendStr(tls, bp /* &buf */, ts+31046 /* " WHERE " */, bp+16 /* &rc */) + 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 /* &buf */, zSep, bp+16 /* &rc */) + if (bStat1 != 0) && (ii == 1) { + + sessionAppendStr(tls, bp, /* &buf */ + + ts+31122 /* "idx IS CASE WHEN..." */, bp+16 /* &rc */) + } else { + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31054 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 2), bp+16 /* &rc */) + } + zSep = ts + 19866 /* " AND " */ + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + var zSql uintptr = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, zSql, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (pUp /* &.pStmt */), uintptr(0)) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, pUp) + pUp = uintptr(0) + } else { + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + } + } + } + + if pUp != 0 { + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt + } else { + *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) + } + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Free all cached UPDATE statements. +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:210530:13: */ + var pUp uintptr + var pNext uintptr + for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { + pNext = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt) + Xsqlite3_free(tls, pUp) + } + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = uintptr(0) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask) + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = uintptr(0) +} + +// Formulate a statement to DELETE a row from database db. Assuming a table +// structure like this: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The DELETE statement looks like this: +// +// DELETE FROM x WHERE a = :1 AND c = :3 AND (:5 OR b IS :2 AND d IS :4) +// +// Variable :5 (nCol+1) is a boolean. It should be set to 0 if we require +// matching b and d values, or 1 otherwise. The second case comes up if the +// conflict handler is invoked with NOTFOUND and returns CHANGESET_REPLACE. +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left +// pointing to the prepared version of the SQL statement. +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210560:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var i int32 + var zSep uintptr = ts + 744 /* "" */ + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var nPk int32 = 0 + + sessionAppendStr(tls, bp /* &buf */, ts+31197 /* "DELETE FROM main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31046 /* " WHERE " */, bp+16 /* &rc */) + + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31117 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 19866 /* " AND " */ + } + } + + if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { + sessionAppendStr(tls, bp /* &buf */, ts+31215 /* " AND (?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((*SessionApplyCtx)(unsafe.Pointer(p)).FnCol + 1), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+30758 /* " OR " */, bp+16 /* &rc */) + + zSep = ts + 744 /* "" */ + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31054 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 31223 /* "AND " */ + } + } + sessionAppendStr(tls, bp /* &buf */, ts+4055 /* ")" */, bp+16 /* &rc */) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 8 /* &.pDelete */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Formulate and prepare an SQL statement to query table zTab by primary +// key. Assuming the following table structure: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The SELECT statement looks like this: +// +// SELECT * FROM x WHERE a = ?1 AND c = ?3 +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left +// pointing to the prepared version of the SQL statement. +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210625:12: */ + return sessionSelectStmt(tls, + db, ts+5447 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 24 /* &.pSelect */)) +} + +// Formulate and prepare an INSERT statement to add a record to table zTab. +// For example: +// +// INSERT INTO main."zTab" VALUES(?1, ?2, ?3 ...); +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left +// pointing to the prepared version of the SQL statement. +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210643:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var i int32 + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp /* &buf */, ts+31228 /* "INSERT INTO main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+19872 /* "(" */, bp+16 /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + if i != 0 { + sessionAppendStr(tls, bp /* &buf */, ts+13313 /* ", " */, bp+16 /* &rc */) + } + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + } + + sessionAppendStr(tls, bp /* &buf */, ts+31246 /* ") VALUES(?" */, bp+16 /* &rc */) + for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + sessionAppendStr(tls, bp /* &buf */, ts+31257 /* ", ?" */, bp+16 /* &rc */) + } + sessionAppendStr(tls, bp /* &buf */, ts+4055 /* ")" */, bp+16 /* &rc */) + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 16 /* &.pInsert */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:210673:12: */ + return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) +} + +// Prepare statements for applying changes to the sqlite_stat1 table. +// These are similar to those created by sessionSelectRow(), +// sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for +// other tables. +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:210683:12: */ + var rc int32 = sessionSelectRow(tls, db, ts+10061 /* "sqlite_stat1" */, p) + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 16 /* &.pInsert */), + + ts+31261 /* "INSERT INTO main..." */) + } + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 8 /* &.pDelete */), + + ts+31374 /* "DELETE FROM main..." */) + } + return rc +} + +// A wrapper around sqlite3_bind_value() that detects an extra problem. +// See comments in the body of this function for details. +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:210706:12: */ + var eType int32 = Xsqlite3_value_type(tls, pVal) + // COVERAGE: The (pVal->z==0) branch is never true using current versions + // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either + // the (pVal->z) variable remains as it was or the type of the value is + // set to SQLITE_NULL. + if ((eType == SQLITE_TEXT) || (eType == SQLITE_BLOB)) && ((*Sqlite3_value)(unsafe.Pointer(pVal)).Fz == uintptr(0)) { + // This condition occurs when an earlier OOM in a call to + // sqlite3_value_text() or sqlite3_value_blob() (perhaps from within + // a conflict-handler) has zeroed the pVal->z pointer. Return NOMEM. + return SQLITE_NOMEM + } + return Xsqlite3_bind_value(tls, pStmt, i, pVal) +} + +// Iterator pIter must point to an SQLITE_INSERT entry. This function +// transfers new.* values from the current iterator entry to statement +// pStmt. The table being inserted into has nCol columns. +// +// New.* value $i from the iterator is bound to variable ($i+1) of +// statement pStmt. If parameter abPK is NULL, all values from 0 to (nCol-1) +// are transfered to the statement. Otherwise, if abPK is not NULL, it points +// to an array nCol elements in size. In this case only those values for +// which abPK[$i] is true are read from the iterator and bound to the +// statement. +// +// An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK. +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:210739:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var i int32 + var rc int32 = SQLITE_OK + + // Neither sqlite3changeset_old or sqlite3changeset_new can fail if the + // argument iterator points to a suitable entry. Make sure that xValue + // is one of these to guarantee that it is safe to ignore the return + // in the code below. + + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + // var pVal uintptr at bp, 8 + + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { + // The value in the changeset was "undefined". This indicates a + // corrupt changeset blob. + rc = Xsqlite3CorruptError(tls, 210762) + } else { + rc = sessionBindValue(tls, pStmt, (i + 1), *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + } + } + return rc +} + +// SQL statement pSelect is as generated by the sessionSelectRow() function. +// This function binds the primary key values from the change that changeset +// iterator pIter points to to the SELECT and attempts to seek to the table +// entry. If a row is found, the SELECT statement left pointing at the row +// and SQLITE_ROW is returned. Otherwise, if no row is found and no error +// has occured, the statement is reset and SQLITE_OK is returned. If an +// error occurs, the statement is reset and an SQLite error code is returned. +// +// If this function returns SQLITE_ROW, the caller must eventually reset() +// statement pSelect. If any other value is returned, the statement does +// not require a reset(). +// +// If the iterator currently points to an INSERT record, bind values from the +// new.* record to the SELECT statement. Or, if it points to a DELETE or +// UPDATE, bind values from the old.* record. +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:210788:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var rc int32 // Return code + // var nCol int32 at bp+8, 4 + // Number of columns in table + // var op int32 at bp+12, 4 + // Changset operation (SQLITE_UPDATE etc.) + // var zDummy uintptr at bp, 8 + // Unused + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + rc = sessionBindRow(tls, pIter, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})) + } + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})) + }(), + *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, pSelect) + + if rc == SQLITE_OK { + rc = Xsqlite3_step(tls, pSelect) + if rc != SQLITE_ROW { + rc = Xsqlite3_reset(tls, pSelect) + } + } + + return rc +} + +// This function is called from within sqlite3changeset_apply_v2() when +// a conflict is encountered and resolved using conflict resolution +// mode eType (either SQLITE_CHANGESET_OMIT or SQLITE_CHANGESET_REPLACE).. +// It adds a conflict resolution record to the buffer in +// SessionApplyCtx.rebase, which will eventually be returned to the caller +// of apply_v2() as the "rebase" buffer. +// +// Return SQLITE_OK if successful, or an SQLite error code otherwise. +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:210823:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebase != 0 { + var i int32 + var eOp int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + if int32((*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted) == 0 { + // Append a table-header to the rebase buffer + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + sessionAppendByte(tls, (p + 104 /* &.rebase */), uint8('T'), bp /* &rc */) + sessionAppendVarint(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), zTab, (int32(libc.Xstrlen(tls, zTab)) + 1), bp /* &rc */) + (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted = U8(1) + } + + sessionAppendByte(tls, (p + 104 /* &.rebase */), + func() uint8 { + if eOp == SQLITE_DELETE { + return uint8(SQLITE_DELETE) + } + return uint8(SQLITE_INSERT) + }(), bp /* &rc */) + sessionAppendByte(tls, (p + 104 /* &.rebase */), (uint8(libc.Bool32(eType == SQLITE_CHANGESET_REPLACE))), bp /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)) = uintptr(0) + if (eOp == SQLITE_DELETE) || ((eOp == SQLITE_UPDATE) && (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0)) { + Xsqlite3changeset_old(tls, pIter, i, bp+8 /* &pVal */) + } else { + Xsqlite3changeset_new(tls, pIter, i, bp+8 /* &pVal */) + } + sessionAppendValue(tls, (p + 104 /* &.rebase */), *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)), bp /* &rc */) + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Invoke the conflict handler for the change that the changeset iterator +// currently points to. +// +// Argument eType must be either CHANGESET_DATA or CHANGESET_CONFLICT. +// If argument pbReplace is NULL, then the type of conflict handler invoked +// depends solely on eType, as follows: +// +// eType value Value passed to xConflict +// ------------------------------------------------- +// CHANGESET_DATA CHANGESET_NOTFOUND +// CHANGESET_CONFLICT CHANGESET_CONSTRAINT +// +// Or, if pbReplace is not NULL, then an attempt is made to find an existing +// record with the same primary key as the record about to be deleted, updated +// or inserted. If such a record can be found, it is available to the conflict +// handler as the "conflicting" record. In this case the type of conflict +// handler invoked is as follows: +// +// eType value PK Record found? Value passed to xConflict +// ---------------------------------------------------------------- +// CHANGESET_DATA Yes CHANGESET_DATA +// CHANGESET_DATA No CHANGESET_NOTFOUND +// CHANGESET_CONFLICT Yes CHANGESET_CONFLICT +// CHANGESET_CONFLICT No CHANGESET_CONSTRAINT +// +// If pbReplace is not NULL, and a record with a matching PK is found, and +// the conflict handler function returns SQLITE_CHANGESET_REPLACE, *pbReplace +// is set to non-zero before returning SQLITE_OK. +// +// If the conflict handler returns SQLITE_CHANGESET_ABORT, SQLITE_ABORT is +// returned. Or, if the conflict handler returns an invalid value, +// SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT, +// this function returns SQLITE_OK. +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:210897:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var res int32 = 0 // Value returned by conflict handler + // var rc int32 at bp+16, 4 + + // var nCol int32 at bp+8, 4 + + // var op int32 at bp+12, 4 + + // var zDummy uintptr at bp, 8 + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + // Bind the new.* PRIMARY KEY values to the SELECT statement. + if pbReplace != 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_ROW { + // There exists another row with the new.* primary key. + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if ((*SessionApplyCtx)(unsafe.Pointer(p)).FbDeferConstraints != 0) && (eType == SQLITE_CHANGESET_CONFLICT) { + // Instead of invoking the conflict handler, append the change blob + // to the SessionApplyCtx.constraints buffer. + var aBlob uintptr = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent)) + var nBlob int32 = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent) + sessionAppendBlob(tls, (p + 88 /* &.constraints */), aBlob, nBlob, bp+16 /* &rc */) + return SQLITE_OK + } else { + // No other row with the new.* primary key. + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + if res == SQLITE_CHANGESET_REPLACE { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + switch res { + case SQLITE_CHANGESET_REPLACE: + + *(*int32)(unsafe.Pointer(pbReplace)) = 1 + break + fallthrough + + case SQLITE_CHANGESET_OMIT: + break + fallthrough + + case SQLITE_CHANGESET_ABORT: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ABORT + break + fallthrough + + default: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + break + } + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionRebaseAdd(tls, p, res, pIter) + } + } + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// If argument pbRetry is NULL, then ignore any CHANGESET_DATA conflict. If +// one is encountered, update or delete the row with the matching primary key +// instead. Or, if pbRetry is not NULL and a CHANGESET_DATA conflict occurs, +// invoke the conflict handler. If it returns CHANGESET_REPLACE, set *pbRetry +// to true before returning. In this case the caller will invoke this function +// again, this time with pbRetry set to NULL. +// +// If argument pbReplace is NULL and a CHANGESET_CONFLICT conflict is +// encountered invoke the conflict handler with CHANGESET_CONSTRAINT instead. +// Or, if pbReplace is not NULL, invoke it with CHANGESET_CONFLICT. If such +// an invocation returns SQLITE_CHANGESET_REPLACE, set *pbReplace to true +// before retrying. In this case the caller attempts to remove the conflicting +// row before invoking this function again, this time with pbReplace set +// to NULL. +// +// If any conflict handler returns SQLITE_CHANGESET_ABORT, this function +// returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is +// returned. +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:210995:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + // var zDummy uintptr at bp, 8 + + // var op int32 at bp+12, 4 + + // var nCol int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_DELETE { + + // Bind values to the DELETE statement. If conflict handling is required, + // bind values for all columns and set bound variable (nCol+1) to true. + // Or, if conflict handling is not required, bind just the PK column + // values and, if it exists, set (nCol+1) to false. Conflict handling + // is not required if: + // + // * this is a patchset, or + // * (pbRetry==0), or + // * all columns of the table are PK columns (in this case there is + // no (nCol+1) variable to bind to). + var abPK uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + } + return uintptr(0) + }() + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_bind_parameter_count(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) > *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))) { + rc = Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete, (*(*int32)(unsafe.Pointer(bp + 8 /* nCol */)) + 1), (libc.Bool32((pbRetry == uintptr(0)) || (abPK != 0)))) + } + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_UPDATE { + var i int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)) = uintptr(0) + var bPatchset int32 = (libc.Bool32((pbRetry == uintptr(0)) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0))) + + rc = sessionUpdateFind(tls, pIter, p, bPatchset, bp+16 /* &pUp */) + + // Bind values to the UPDATE statement. + for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))); i++ { + var pOld uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(i)*8)) + var pNew uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(i)))*8)) + if (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) || ((bPatchset == 0) && (pOld != 0)) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 2), pOld) + } + if (rc == SQLITE_OK) && (pNew != 0) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 1), pNew) + } + } + if rc != SQLITE_OK { + return rc + } + + // Attempt the UPDATE. In the case of a NOTFOUND or DATA conflict, + // the result will be SQLITE_OK with 0 rows modified. + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + // A NOTFOUND or DATA error. Search the table to see if it contains + // a row with a matching primary key. If so, this is a DATA conflict. + // Otherwise, if there is no primary key match, it is a NOTFOUND. + + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + // This is always a CONSTRAINT conflict. + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else { + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbStat1 != 0 { + // Check if there is a conflicting row. For sqlite_stat1, this needs + // to be done using a SELECT, as there is no PRIMARY KEY in the + // database schema to throw an exception if a duplicate is inserted. + rc = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + if rc == SQLITE_ROW { + rc = SQLITE_CONSTRAINT + Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } + } + + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), uintptr(0), (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + } + + if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace) + } + } + + return rc +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// The difference between this function and sessionApplyOne() is that this +// function handles the case where the conflict-handler is invoked and +// returns SQLITE_CHANGESET_REPLACE - indicating that the change should be +// retried in some manner. +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211128:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) = 0 + var rc int32 + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp /* &bReplace */, bp+4 /* &bRetry */) + if rc == SQLITE_OK { + // If the bRetry flag is set, the change has not been applied due to an + // SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and + // a row with the correct PK is present in the db, but one or more other + // fields do not contain the expected values) and the conflict handler + // returned SQLITE_CHANGESET_REPLACE. In this case retry the operation, + // but pass NULL as the final argument so that sessionApplyOneOp() ignores + // the SQLITE_CHANGESET_DATA problem. + if *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) != 0 { + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } else if *(*int32)(unsafe.Pointer(bp /* bReplace */)) != 0 { + + rc = Xsqlite3_exec(tls, db, ts+31518 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(0)) + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, ((*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + 1), 1) + } + if rc == SQLITE_OK { + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + } + if rc == SQLITE_OK { + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+31539 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + } + + return rc +} + +// Retry the changes accumulated in the pApply->constraints buffer. +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211185:12: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK + + for (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf != 0 { + *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) = uintptr(0) + var cons = (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints + libc.Xmemset(tls, (pApply + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionChangesetStart(tls, + bp /* &pIter2 */, uintptr(0), uintptr(0), cons.FnBuf, cons.FaBuf, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbInvertConstraints, 1) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + var nByte Size_t = ((uint64(2 * (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol)) * uint64(unsafe.Sizeof(uintptr(0)))) + var rc2 int32 + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FbPatchset = bPatchset + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FzTab = zTab + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FnCol = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FabPK = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK + sessionBufferGrow(tls, (*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) + 72 /* &.tblhdr */), int64(nByte), bp+8 /* &rc */) + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).Ftblhdr.FaBuf + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0, nByte) + } + + for (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))) { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)), pApply, xConflict, pCtx) + } + + rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */))) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = rc2 + } + } + + Xsqlite3_free(tls, cons.FaBuf) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) != SQLITE_OK { + break + } + if (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf >= cons.FnBuf { + // No progress was made on the last round. + (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbDeferConstraints = 0 + } + } + + return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) +} + +// Argument pIter is a changeset iterator that has been initialized, but +// not yet passed to sqlite3changeset_next(). This function applies the +// changeset to the main database attached to handle "db". The supplied +// conflict handler callback is invoked to resolve any conflicts encountered +// while applying the change. +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ + bp := tls.Alloc(368) + defer tls.Free(368) + + var schemaMismatch int32 = 0 + var rc int32 = SQLITE_OK // Return code + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = uintptr(0) // Name of current table + var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) + // var sApply SessionApplyCtx at bp+48, 128 + // changeset_apply() context object + var bPatchset int32 + + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 + libc.Xmemset(tls, bp+48 /* &sApply */, 0, uint64(unsafe.Sizeof(SessionApplyCtx{}))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).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+31558 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+31584 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + } + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { + // var nCol int32 at bp+184, 4 + + // var op int32 at bp+188, 4 + + // var zNew uintptr at bp+176, 8 + + Xsqlite3changeset_op(tls, pIter, bp+176 /* &zNew */, bp+184 /* &nCol */, bp+188 /* &op */, uintptr(0)) + + if (*(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+192, 8 + + rc = sessionRetryConstraints(tls, + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + if rc != SQLITE_OK { + break + } + + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebaseStarted = U8(0) + libc.Xmemset(tls, (bp + 48 /* &sApply */ + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + // If an xFilter() callback was specified, invoke it now. If the + // xFilter callback returns zero, skip this table. If it returns + // non-zero, proceed. + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))))) + if schemaMismatch != 0 { + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0) { + rc = SQLITE_NOMEM + break + } + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) + } else { + var nMinCol int32 = 0 + var i int32 + + Xsqlite3changeset_pk(tls, pIter, bp+192 /* &abPK */, uintptr(0)) + rc = sessionTableInfo(tls, uintptr(0), + db, ts+5447 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), (bp + 48 /* &sApply */ + 32 /* &.nCol */), bp+200 /* &zTab */, (bp + 48 /* &sApply */ + 40 /* &.azCol */), (bp + 48 /* &sApply */ + 48 /* &.abPK */)) + if rc != SQLITE_OK { + break + } + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK + uintptr(i))) != 0 { + nMinCol = (i + 1) + } + } + + if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+31614 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + + ts+31658, /* "sqlite3changeset..." */ + libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) != 0) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+31729 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else { + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), ts+10061 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+48 /* &sApply */)) != 0 { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 1 + } else { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + } + } + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */))) + } + } + + // If there is a schema mismatch on the current table, proceed to the + // next change. A log message has already been issued. + if schemaMismatch != 0 { + continue + } + + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+48 /* &sApply */, xConflict, pCtx) + } + + bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + if rc == SQLITE_OK { + rc = Xsqlite3changeset_finalize(tls, pIter) + } else { + Xsqlite3changeset_finalize(tls, pIter) + } + + if rc == SQLITE_OK { + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + } + + if rc == SQLITE_OK { + // var nFk int32 at bp+208, 4 + + // var notUsed int32 at bp+212, 4 + + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+208 /* &nFk */, bp+212 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) != 0 { + var res int32 = SQLITE_CHANGESET_ABORT + // var sIter Sqlite3_changeset_iter at bp+216, 152 + + libc.Xmemset(tls, bp+216 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 216 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) + if res != SQLITE_CHANGESET_OMIT { + rc = SQLITE_CONSTRAINT + } + } + } + Xsqlite3_exec(tls, db, ts+31789 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + + if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+31819 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } else { + Xsqlite3_exec(tls, db, ts+31843 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, ts+31819 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf = uintptr(0) + } + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Frebase.FaBuf) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main +// database attached to handle "db". +func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211439:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInv int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211472:16: */ + return Xsqlite3changeset_apply_v2(tls, + db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// Apply the changeset passed via xInput/pIn to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211497:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInverse int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, xInput, pIn, 0, uintptr(0), bInverse, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211524:16: */ + return Xsqlite3changeset_apply_v2_strm(tls, + db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// This function is called to merge two changes to the same row together as +// part of an sqlite3changeset_concat() operation. A new change object is +// allocated and a pointer to it stored in *ppNew. +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:211558:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var pNew uintptr = uintptr(0) + var rc int32 = SQLITE_OK + + if !(pExist != 0) { + pNew = Xsqlite3_malloc64(tls, (uint64(uint64(unsafe.Sizeof(SessionChange{})) + uint64(nRec)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = U8(bIndirect) + (*SessionChange)(unsafe.Pointer(pNew)).FaRecord = (pNew + 1*32) + if (bIndirect == 0) || (bRebase == 0) { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = nRec + libc.Xmemcpy(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, aRec, uint64(nRec)) + } else { + var i int32 + var pIn uintptr = aRec + var pOut uintptr = (*SessionChange)(unsafe.Pointer(pNew)).FaRecord + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var nIn int32 = sessionSerialLen(tls, pIn) + if int32(*(*U8)(unsafe.Pointer(pIn))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } else if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else { + libc.Xmemcpy(tls, pOut, pIn, uint64(nIn)) + pOut += uintptr(nIn) + } + pIn += uintptr(nIn) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + } else if bRebase != 0 { + if (int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) == SQLITE_DELETE) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0) { + *(*uintptr)(unsafe.Pointer(ppNew)) = pExist + } else { + var nByte Sqlite3_int64 = (Sqlite3_int64((uint64(nRec + (*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(unsafe.Sizeof(SessionChange{})))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var i int32 + var a1 uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var a2 uintptr = aRec + var pOut uintptr + + libc.Xmemset(tls, pNew, 0, uint64(nByte)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) || ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + pOut = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) || ((int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0) && (bIndirect != 0)) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else if int32(*(*U8)(unsafe.Pointer(a2))) == 0 { + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else { + libc.Xmemcpy(tls, pOut, a2, uint64(n2)) + pOut += uintptr(n2) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } else { + var op1 int32 = int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) + + // op1=INSERT, op2=INSERT -> Unsupported. Discard op2. + // op1=INSERT, op2=UPDATE -> INSERT. + // op1=INSERT, op2=DELETE -> (none) + // + // op1=UPDATE, op2=INSERT -> Unsupported. Discard op2. + // op1=UPDATE, op2=UPDATE -> UPDATE. + // op1=UPDATE, op2=DELETE -> DELETE. + // + // op1=DELETE, op2=INSERT -> UPDATE. + // op1=DELETE, op2=UPDATE -> Unsupported. Discard op2. + // op1=DELETE, op2=DELETE -> Unsupported. Discard op2. + if ((((op1 == SQLITE_INSERT) && (op2 == SQLITE_INSERT)) || + ((op1 == SQLITE_UPDATE) && (op2 == SQLITE_INSERT))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_UPDATE))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_DELETE)) { + pNew = pExist + } else if (op1 == SQLITE_INSERT) && (op2 == SQLITE_DELETE) { + Xsqlite3_free(tls, pExist) + + } else { + var aExist uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var nByte Sqlite3_int64 + // var aCsr uintptr at bp+8, 8 + + // Allocate a new SessionChange object. Ensure that the aRecord[] + // buffer of the new object is large enough to hold any record that + // may be generated by combining the input records. + nByte = (Sqlite3_int64((uint64(unsafe.Sizeof(SessionChange{})) + uint64((*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(nRec))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if !(pNew != 0) { + Xsqlite3_free(tls, pExist) + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + if op1 == SQLITE_INSERT { // INSERT + UPDATE + *(*uintptr)(unsafe.Pointer(bp /* a1 */)) = aRec + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_INSERT) + if bPatchset == 0 { + sessionSkipRecord(tls, bp /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aExist, *(*uintptr)(unsafe.Pointer(bp /* a1 */))) + } else if op1 == SQLITE_DELETE { // DELETE + INSERT + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aExist, uintptr(0), aRec, uintptr(0)) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } + } else if op2 == SQLITE_UPDATE { // UPDATE + UPDATE + *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)) = aExist + *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */)) = aRec + + if bPatchset == 0 { + sessionSkipRecord(tls, bp+16 /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + sessionSkipRecord(tls, bp+24 /* &a2 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aRec, aExist, *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)), *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */))) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } else { // UPDATE + DELETE + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_DELETE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aRec, aExist) + } + } + + if pNew != 0 { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */))) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } + + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Add all changes in the changeset traversed by the iterator passed as +// the first argument to the changegroup hash tables. +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:211740:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + // var aRec uintptr at bp, 8 + + // var nRec int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + var pTab uintptr = uintptr(0) + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, uintptr(0)) { + // var zNew uintptr at bp+16, 8 + + // var nCol int32 at bp+24, 4 + + // var op int32 at bp+28, 4 + + var iHash int32 + // var bIndirect int32 at bp+32, 4 + + // var pChange uintptr at bp+48, 8 + + var pExist uintptr = uintptr(0) + var pp uintptr + + if (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = SQLITE_ERROR + break + } + + Xsqlite3changeset_op(tls, pIter, bp+16 /* &zNew */, bp+24 /* &nCol */, bp+28 /* &op */, bp+32 /* &bIndirect */) + if !(pTab != 0) || (Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (*SessionTable)(unsafe.Pointer(pTab)).FzName) != 0) { + // Search the list for a matching table + var nNew int32 = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)))) + // var abPK uintptr at bp+40, 8 + + Xsqlite3changeset_pk(tls, pIter, bp+40 /* &abPK */, uintptr(0)) + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (nNew+1)) { + break + } + } + if !(pTab != 0) { + var ppTab uintptr + + pTab = Xsqlite3_malloc64(tls, (uint64(((uint64(unsafe.Sizeof(SessionTable{})) + uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + uint64(nNew)) + uint64(1)))) + if !(pTab != 0) { + rc = SQLITE_NOMEM + break + } + libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 24 /* nCol */)) + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = (pTab + 1*56) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = ((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (uint64(nNew + 1))) + + // The new object must be linked on to the end of the list, not + // simply added to the start of it. This is to ensure that the + // tables within the output of sqlite3changegroup_output() are in + // the right order. + for ppTab = (pGrp + 8 /* &.pList */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } else if ((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) || (libc.Xmemcmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) != 0) { + rc = SQLITE_SCHEMA + break + } + } + + if sessionGrowHash(tls, uintptr(0), (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { + rc = SQLITE_NOMEM + break + } + iHash = int32(sessionChangeHash(tls, + pTab, (libc.Bool32(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0) && (*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE))), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + // Search for existing entry. If found, remove it from the hash table. + // Code below may link it back in. + for pp = ((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = (*(*uintptr)(unsafe.Pointer(pp)) + 24 /* &.pNext */) { + var bPkOnly1 int32 = 0 + var bPkOnly2 int32 = 0 + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + bPkOnly1 = (libc.Bool32(int32((*SessionChange)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pp))))).Fop) == SQLITE_DELETE)) + bPkOnly2 = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE)) + } + if sessionChangeEqual(tls, pTab, bPkOnly1, (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp /* aRec */))) != 0 { + pExist = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry-- + break + } + } + + rc = sessionChangeMerge(tls, pTab, bRebase, + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 28 /* op */)), *(*int32)(unsafe.Pointer(bp + 32 /* bIndirect */)), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+48 /* &pChange */) + if rc != 0 { + break + } + if *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) != 0 { + (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)))).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + } + } + + if rc == SQLITE_OK { + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// Serialize a changeset (or patchset) based on all changesets (or patchsets) +// added to the changegroup object passed as the first argument. +// +// If xOutput is not NULL, then the changeset/patchset is returned to the +// user via one or more calls to xOutput, as with the other streaming +// interfaces. +// +// Or, if xOutput is NULL, then (*ppOut) is populated with a pointer to a +// buffer containing the output changeset before this function returns. In +// this case (*pnOut) is set to the size of the output buffer in bytes. It +// is the responsibility of the caller to free the output buffer using +// sqlite3_free() when it is no longer required. +// +// If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite +// error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut) +// are both set to 0 before returning. +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211863:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var pTab uintptr + + // Create the serialized output changeset based on the contents of the + // hash tables attached to the SessionTable objects in list p->pList. + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + var i int32 + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry == 0 { + continue + } + + sessionAppendTableHdr(tls, bp /* &buf */, (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch, pTab, bp+16 /* &rc */) + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).Fop, bp+16 /* &rc */) + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+16 /* &rc */) + sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+16 /* &rc */) + if ((*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 + } + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Allocate a new, empty, sqlite3_changegroup. +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:211914:16: */ + var rc int32 = SQLITE_OK // Return code + var p uintptr // New object + p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) + if p == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Sqlite3_changegroup{}))) + } + *(*uintptr)(unsafe.Pointer(pp)) = p + return rc +} + +// Add the changeset currently stored in buffer pData, size nData bytes, +// to changeset-group p. +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:211931:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nData, pData) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Obtain a buffer containing a changeset representing the concatenation +// of all changesets added to the group so far. +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:211947:16: */ + return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) +} + +// Streaming versions of changegroup_add(). +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:211958:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Streaming versions of changegroup_output(). +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:211977:16: */ + return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Delete a changegroup object. +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:211988:17: */ + if pGrp != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, pGrp) + } +} + +// Combine two changesets together. +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211998:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nLeft, pLeft) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nRight, pRight) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), pnOut, ppOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Streaming version of sqlite3changeset_concat(). +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212027:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputA, pInA) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputB, pInB) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xOutput, pOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Buffers a1 and a2 must both contain a sessions module record nCol +// fields in size. This function appends an nCol sessions module +// record to buffer pBuf that is a copy of a1, except that for +// each field that is undefined in a1[], swap in the field from a2[]. +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:212066:13: */ + sessionBufferGrow(tls, pBuf, (int64(n1 + n2)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var i int32 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + for i = 0; i < nCol; i++ { + var nn1 int32 = sessionSerialLen(tls, a1) + var nn2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0) || (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) { + libc.Xmemcpy(tls, pOut, a2, uint64(nn2)) + pOut += uintptr(nn2) + } else { + libc.Xmemcpy(tls, pOut, a1, uint64(nn1)) + pOut += uintptr(nn1) + } + a1 += uintptr(nn1) + a2 += uintptr(nn2) + } + + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + + } +} + +// This function is called when rebasing a local UPDATE change against one +// or more remote UPDATE changes. The aRec/nRec buffer contains the current +// old.* and new.* records for the change. The rebase buffer (a single +// record) is in aChange/nChange. The rebased change is appended to buffer +// pBuf. +// +// Rebasing the UPDATE involves: +// +// * Removing any changes to fields for which the corresponding field +// in the rebase buffer is set to "replaced" (type 0xFF). If this +// means the UPDATE change updates no fields, nothing is appended +// to the output buffer. +// +// * For each field modified by the local change for which the +// corresponding field in the rebase buffer is not "undefined" (0x00) +// or "replaced" (0xFF), the old.* value is replaced by the value +// in the rebase buffer. +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:212115:13: */ + sessionBufferGrow(tls, pBuf, (int64((2 + nRec) + nChange)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var bData int32 = 0 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + var i int32 + var a1 uintptr = aRec + var a2 uintptr = aChange + + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(SQLITE_UPDATE) + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect) + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) == 0) { + if !(int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i)))) != 0) && (*(*U8)(unsafe.Pointer(a1)) != 0) { + bData = 1 + } + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else if int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF { + bData = 1 + libc.Xmemcpy(tls, pOut, a2, uint64(n2)) + pOut += uintptr(n2) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + if bData != 0 { + a2 = aChange + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF) { + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + } + } +} + +// pIter is configured to iterate through a changeset. This function rebases +// that changeset according to the current configuration of the rebaser +// object passed as the first argument. If no error occurs and argument xOutput +// is not NULL, then the changeset is returned to the caller by invoking +// xOutput zero or more times and SQLITE_OK returned. Or, if xOutput is NULL, +// then (*ppOut) is set to point to a buffer containing the rebased changeset +// before this function returns. In this case (*pnOut) is set to the size of +// the buffer in bytes. It is the responsibility of the caller to eventually +// free the (*ppOut) buffer using sqlite3_free(). +// +// If an error occurs, an SQLite error code is returned. If ppOut and +// pnOut are not NULL, then the two output parameters are set to 0 before +// returning. +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212183:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp /* aRec */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)) = 0 + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + var pTab uintptr = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 16 /* sOut */)) = SessionBuffer{} + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, bp+12 /* &bNew */) { + var pChange uintptr = uintptr(0) + var bDone int32 = 0 + + if *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) != 0 { + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + for pTab = (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_stricmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zTab) { + break + } + } + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + + // A patchset may not be rebased + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR + } + + // Append a table header to the output for this new table + sessionAppendByte(tls, bp+16 /* &sOut */, func() uint8 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), bp+32 /* &rc */) + sessionAppendVarint(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, (int32(libc.Xstrlen(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab)) + 1), bp+32 /* &rc */) + } + + if (pTab != 0) && (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) { + var iHash int32 = int32(sessionChangeHash(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + for pChange = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)); pChange != 0; pChange = (*SessionChange)(unsafe.Pointer(pChange)).FpNext { + if sessionChangeEqual(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), 0, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord) != 0 { + break + } + } + } + + if pChange != 0 { + + switch (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop { + case SQLITE_INSERT: + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_UPDATE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + } + break + fallthrough + + case SQLITE_UPDATE: + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_DELETE { + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)) = *(*uintptr)(unsafe.Pointer(bp /* aRec */)) + sessionSkipRecord(tls, bp+40 /* &pCsr */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_INSERT), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)), (int32(int64(*(*int32)(unsafe.Pointer(bp + 8 /* nRec */))) - ((int64(*(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */))) - int64(*(*uintptr)(unsafe.Pointer(bp /* aRec */)))) / 1))), + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + } else { + sessionAppendPartialUpdate(tls, bp+16 /* &sOut */, pIter, + *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + break + fallthrough + + default: + + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_DELETE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + break + } + } + + if bDone == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + if ((*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf = 0 + } + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0 { + break + } + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + libc.Xmemset(tls, bp+16 /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Create a new rebaser object. +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:212315:16: */ + var rc int32 = SQLITE_OK + var pNew uintptr + + pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_rebaser{}))) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_rebaser{}))) + } + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Call this one or more times to configure a rebaser. +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:212332:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator opened on pData/nData + var rc int32 // Return code + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nRebase, pRebase) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), (p /* &.grp */), 1) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212349:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start(tls, bp /* &pIter */, nIn, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), uintptr(0), uintptr(0), pnOut, ppOut) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212368:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Destroy a rebaser object +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:212389:17: */ + if p != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, p) + } +} + +// Global configuration +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:212399:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_CONFIG_STRMSIZE: + { + var pInt uintptr = pArg + if *(*int32)(unsafe.Pointer(pInt)) > 0 { + sessions_strm_chunk_size = *(*int32)(unsafe.Pointer(pInt)) + } + *(*int32)(unsafe.Pointer(pInt)) = sessions_strm_chunk_size + break + + } + default: + rc = SQLITE_MISUSE + break + } + return rc +} + //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -165798,71 +171973,6 @@ type Fts5Global1 = struct { FpCsr uintptr } /* sqlite3.c:213118:9 */ -//************************************************************************ - -//************* End of sqlite3rbu.c ***************************************** -//************* Begin file dbstat.c ***************************************** -// 2010 July 12 -// -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: -// -// May you do good and not evil. -// May you find forgiveness for yourself and forgive others. -// May you share freely, never taking more than you give. -// -// -// -// This file contains an implementation of the "dbstat" virtual table. -// -// The dbstat virtual table is used to extract low-level storage -// information from an SQLite database in order to implement the -// "sqlite3_analyzer" utility. See the ../tool/spaceanal.tcl script -// for an example implementation. -// -// Additional information is available on the "dbstat.html" page of the -// official SQLite documentation. - -// #include "sqliteInt.h" ** Requires access to internal data structures ** - -//************* End of dbstat.c ********************************************* -//************* Begin file dbpage.c ***************************************** -// 2017-10-11 -// -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: -// -// May you do good and not evil. -// May you find forgiveness for yourself and forgive others. -// May you share freely, never taking more than you give. -// -// -// -// This file contains an implementation of the "sqlite_dbpage" virtual table. -// -// The sqlite_dbpage virtual table is used to read or write whole raw -// pages of the database file. The pager interface is used so that -// uncommitted changes and changes recorded in the WAL file are correctly -// retrieved. -// -// Usage example: -// -// SELECT data FROM sqlite_dbpage('aux1') WHERE pgno=123; -// -// This is an eponymous virtual table so it does not need to be created before -// use. The optional argument to the sqlite_dbpage() table name is the -// schema for the database file that is to be read. The default schema is -// "main". -// -// The data field of sqlite_dbpage table can be updated. The new -// value must be a BLOB which is the correct page size, otherwise the -// update fails. Rows may not be deleted or inserted. - -// #include "sqliteInt.h" ** Requires access to internal data structures ** - -//************* End of dbpage.c ********************************************* -//************* Begin file sqlite3session.c ********************************* - //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -166692,7 +172802,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+30518 /* "fts5: parser sta..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+31871 /* "fts5: parser sta..." */, 0) //******* End %stack_overflow code ******************************************* (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument var @@ -167015,7 +173125,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+30546 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) + pParse, ts+31899 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) //*********** End %syntax_error code ***************************************** (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument variable @@ -167316,7 +173426,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+30577 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+31930 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } @@ -167390,7 +173500,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 30584 /* "wrong number of ..." */ + var zErr uintptr = ts + 31937 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -167557,7 +173667,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 729 /* "" */ + return ts + 744 /* "" */ } // Implementation of snippet() function. @@ -167584,7 +173694,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 30634 /* "wrong number of ..." */ + var zErr uintptr = ts + 31987 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -167926,13 +174036,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 defer tls.Free(96) *(*[3]Builtin)(unsafe.Pointer(bp /* aBuiltin */)) = [3]Builtin{ - {FzFunc: ts + 30682 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32035 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5SnippetFunction}))}, - {FzFunc: ts + 30690 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32043 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5HighlightFunction}))}, - {FzFunc: ts + 30700 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32053 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5Bm25Function}))}, } @@ -168426,7 +174536,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+5232 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+5247 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -168605,7 +174715,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, ts+30705 /* "prefix" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32058 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 @@ -168632,14 +174742,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+30712 /* "malformed prefix..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32065 /* "malformed prefix..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+30743 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) + ts+32096 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -168650,7 +174760,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30776 /* "prefix length ou..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32129 /* "prefix length ou..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -168663,7 +174773,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30813 /* "tokenize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32166 /* "tokenize" */, 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 /* &rc */, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nArg)))) @@ -168672,7 +174782,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+30822 /* "multiple tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32175 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { @@ -168691,7 +174801,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30855 /* "parse error in t..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32208 /* "parse error in t..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, @@ -168706,14 +174816,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30889 /* "content" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32242 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30897 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32250 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = 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 /* &rc */, ts+30929 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40 /* &rc */, ts+32282 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } @@ -168721,9 +174831,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30935 /* "content_rowid" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32288 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30949 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32302 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, zArg, -1) @@ -168731,9 +174841,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30987 /* "columnsize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32340 /* "columnsize" */, 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+30998 /* "malformed column..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32351 /* "malformed column..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) @@ -168741,21 +174851,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+4163 /* "detail" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+4178 /* "detail" */, zCmd, nCmd) == 0 { *(*[4]Fts5Enum)(unsafe.Pointer(bp + 48 /* aDetail */)) = [4]Fts5Enum{ - {FzName: ts + 15802 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 15807 /* "full" */}, - {FzName: ts + 31033 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, + {FzName: ts + 15817 /* "none" */, FeVal: FTS5_DETAIL_NONE}, + {FzName: ts + 15822 /* "full" */}, + {FzName: ts + 32386 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } if libc.AssignPtrInt32(bp+40 /* rc */, fts5ConfigSetEnum(tls, bp+48 /* &aDetail[0] */, zArg, (pConfig+92 /* &.eDetail */))) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31041 /* "malformed detail..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32394 /* "malformed detail..." */, 0) } return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31072 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32425 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) return SQLITE_ERROR } @@ -168819,15 +174929,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+20471 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+14731 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31100 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) + if (0 == Xsqlite3_stricmp(tls, zCol, ts+20486 /* "rank" */)) || + (0 == Xsqlite3_stricmp(tls, zCol, ts+14746 /* "rowid" */)) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32453 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) rc = SQLITE_ERROR } else if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, ts+31130 /* "unindexed" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+32483 /* "unindexed" */) { *(*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+31140 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32493 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) rc = SQLITE_ERROR } } @@ -168845,13 +174955,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK *(*Fts5Buffer)(unsafe.Pointer(bp + 32 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+31171 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+32524 /* "T.%Q" */, 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 /* &rc */, bp+32 /* &buf */, ts+31176 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+32529 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+31183 /* ", T.c%d" */, libc.VaList(bp+16, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+32536 /* ", T.c%d" */, libc.VaList(bp+16, i)) } } } @@ -168899,8 +175009,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*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 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+20471 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31191 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+20486 /* "rank" */) == 0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32544 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } @@ -168933,7 +175043,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31220 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32573 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { @@ -168941,7 +175051,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), pzErr) } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)), pzErr) @@ -168966,19 +175076,19 @@ 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 + 30889 /* "content" */ + zTail = ts + 32242 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 31240 /* "docsize" */ + zTail = ts + 32593 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+40 /* &rc */, ts+31248 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+40 /* &rc */, ts+32601 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+14731 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+14746 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -169027,18 +175137,18 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31259 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+32612 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { - return ts + 729 /* "" */ + return ts + 744 /* "" */ } - return ts + 13298 /* ", " */ + return ts + 13313 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31275 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+32628 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31282, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+20471 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+32635, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+20486 /* "rank" */)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -169178,7 +175288,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+31308 /* "pgsz" */) { + if 0 == Xsqlite3_stricmp(tls, zKey, ts+32661 /* "pgsz" */) { var pgsz int32 = 0 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -169188,7 +175298,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+31313 /* "hashsize" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32666 /* "hashsize" */) { var nHashSize int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -169198,7 +175308,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+31322 /* "automerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32675 /* "automerge" */) { var nAutomerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -169211,7 +175321,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+31332 /* "usermerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32685 /* "usermerge" */) { var nUsermerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -169221,7 +175331,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+31342 /* "crisismerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32695 /* "crisismerge" */) { var nCrisisMerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -169237,7 +175347,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+20471 /* "rank" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+20486 /* "rank" */) { var zIn uintptr = Xsqlite3_value_text(tls, pVal) // var zRank uintptr at bp, 8 @@ -169264,7 +175374,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(52) defer tls.Free(52) - var zSelect uintptr = ts + 31354 /* "SELECT k, v FROM..." */ + var zSelect uintptr = ts + 32707 /* "SELECT k, v FROM..." */ var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK @@ -169287,7 +175397,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */))) { var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 0) var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 1) - if 0 == Xsqlite3_stricmp(tls, zK, ts+31386 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+32739 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 48 /* bDummy */)) = 0 @@ -169302,7 +175412,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+31394, /* "invalid fts5 fil..." */ + ts+32747, /* "invalid fts5 fil..." */ libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } @@ -169436,7 +175546,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+31459 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+32812 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -169449,20 +175559,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+31479 /* "fts5: syntax err..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+32832 /* "fts5: syntax err..." */, 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+31510 /* "OR" */, uint64(2)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+32863 /* "OR" */, uint64(2)) == 0) { tok = FTS5_OR } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+31513 /* "NOT" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+32866 /* "NOT" */, uint64(3)) == 0) { tok = FTS5_NOT } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+28259 /* "AND" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+28274 /* "AND" */, uint64(3)) == 0) { tok = FTS5_AND } break @@ -171435,9 +177545,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli bp := tls.Alloc(16) defer tls.Free(16) - if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+31517 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { + if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+32870 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { sqlite3Fts5ParseError(tls, - pParse, ts+30546 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) + pParse, ts+31899 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -171453,7 +177563,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+31522 /* "expected integer..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp)) + pParse, ts+32875 /* "expected integer..." */, 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')) @@ -171550,7 +177660,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+18854 /* "no such column: ..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+18869 /* "no such column: ..." */, libc.VaList(bp, z)) } else { pRet = fts5ParseColset(tls, pParse, pColset, iCol) } @@ -171646,7 +177756,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE { (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+31551 /* "fts5: column que..." */, 0) + ts+32904 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -171830,12 +177940,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+31604, /* "fts5: %s queries..." */ + ts+32957, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 31654 /* "phrase" */ + return ts + 33007 /* "phrase" */ } - return ts + 31517 /* "NEAR" */ + return ts + 32870 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -173308,7 +179418,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 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+31661 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+33014 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) } // If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls @@ -173396,7 +179506,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 /* &.pWriter */), Xsqlite3_mprintf(tls, - ts+31667, /* "REPLACE INTO '%q..." */ + ts+33020, /* "REPLACE INTO '%q..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return @@ -173424,7 +179534,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig var zSql uintptr = Xsqlite3_mprintf(tls, - ts+31718, /* "DELETE FROM '%q'..." */ + ts+33071, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if fts5IndexPrepareStmt(tls, p, (p+72 /* &.pDeleter */), zSql) != 0 { return @@ -173448,7 +179558,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 88 /* &.pIdxDeleter */), Xsqlite3_mprintf(tls, - ts+31767, /* "DELETE FROM '%q'..." */ + ts+33120, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -173656,7 +179766,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12 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 /* &.pDataVersion */), - Xsqlite3_mprintf(tls, ts+31807 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + Xsqlite3_mprintf(tls, ts+33160 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return int64(0) } @@ -175091,7 +181201,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:2 var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 96 /* &.pIdxSelect */), Xsqlite3_mprintf(tls, - ts+31830, /* "SELECT pgno FROM..." */ + ts+33183, /* "SELECT pgno FROM..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect @@ -176348,7 +182458,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { return (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -176689,7 +182799,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 /* &.pIdxWriter */), Xsqlite3_mprintf(tls, - ts+31914, /* "INSERT INTO '%q'..." */ + ts+33267, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -177906,7 +184016,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 fts5StructureInvalidate(tls, p) fts5IndexDiscardData(tls, p) libc.Xmemset(tls, bp /* &s */, 0, uint64(unsafe.Sizeof(Fts5Structure{}))) - fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+729 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+744 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -177927,13 +184037,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == 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 /* &rc */, ts+31971 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8 /* &rc */, ts+33324 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, - pConfig, ts+23290 /* "data" */, ts+31979 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+23305 /* "data" */, ts+33332 /* "id INTEGER PRIMA..." */, 0, pzErr) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+10186, /* "idx" */ - ts+32014, /* "segid, term, pgn..." */ + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+10201, /* "idx" */ + ts+33367, /* "segid, term, pgn..." */ 1, pzErr) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { @@ -178239,7 +184349,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3Fts5Put32(tls, bp /* &aCookie[0] */, iNew) rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, - ts+31661 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) + ts+33014 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)), bp /* &aCookie[0] */, 4, 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */))) @@ -178376,7 +184486,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+32058, /* "SELECT segid, te..." */ + ts+33411, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. @@ -178586,7 +184696,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks } else { (*Fts5Buffer)(unsafe.Pointer(bp + 16 /* &poslist */)).Fn = 0 fts5SegiterPoslist(tls, p, ((*(*uintptr)(unsafe.Pointer(bp /* pIter */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter */)))).FaFirst+1*4)).FiFirst)*120), uintptr(0), bp+16 /* &poslist */) - sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+32144 /* "\x00\x00\x00\x00" */) + sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+33497 /* "\x00\x00\x00\x00" */) for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fn, bp+32 /* &iOff */, bp+40 /* &iPos */) { var iCol int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) >> 32)) var iTokOff int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) & int64(0x7FFFFFFF))) @@ -178997,7 +185107,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+32149 /* "recursively defi..." */, 0) + ts+33502 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -179031,7 +185141,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } else if iCol >= 0 { bSeenMatch = 1 *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('M') - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4063 /* "%d" */, libc.VaList(bp, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4078 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) } @@ -179047,7 +185157,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4063 /* "%d" */, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4078 /* "%d" */, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -179390,7 +185500,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: rc = Xsqlite3_reset(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+2764 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + ts+2779 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -179422,7 +185532,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, uint32(SQLITE_PREPARE_PERSISTENT), bp+8 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -179461,25 +185571,25 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 // // If SQLite a built-in statement cache, this wouldn't be a problem. rc = fts5PrepareStatement(tls, (pSorter /* &.pStmt */), pConfig, - ts+32188, /* "SELECT rowid, ra..." */ + ts+33541, /* "SELECT rowid, ra..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, func() uintptr { if zRankArgs != 0 { - return ts + 13298 /* ", " */ + return ts + 13313 /* ", " */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 32243 /* "DESC" */ + return ts + 33596 /* "DESC" */ } - return ts + 32248 /* "ASC" */ + return ts + 33601 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -179530,13 +185640,13 @@ 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+32252 /* "reads" */, z, n)) { + if (n == 5) && (0 == Xsqlite3_strnicmp(tls, ts+33605 /* "reads" */, 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+4145 /* "id" */, z, n)) { + } else if (n == 2) && (0 == Xsqlite3_strnicmp(tls, ts+4160 /* "id" */, z, n)) { (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { // An unrecognized directive. Return an error message. - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+32258 /* "unknown special ..." */, libc.VaList(bp, n, z)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+33611 /* "unknown special ..." */, libc.VaList(bp, n, z)) rc = SQLITE_ERROR } @@ -179571,7 +185681,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+32286 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+33639 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, @@ -179603,7 +185713,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+32296 /* "no such function..." */, libc.VaList(bp+8, zRank)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+33649 /* "no such function..." */, libc.VaList(bp+8, zRank)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } } @@ -179635,14 +185745,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin *(*int32)(unsafe.Pointer(pCsr + 80 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+32317 /* "parse error in r..." */, libc.VaList(bp, z)) + ts+33670 /* "parse error in r..." */, 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 + 30700 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 32053 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -179708,7 +185818,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+32149 /* "recursively defi..." */, 0) + ts+33502 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -179754,7 +185864,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 729 /* "" */ + zText = ts + 744 /* "" */ __14: ; iCol = 0 @@ -179943,7 +186053,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+32350 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + ts+33703 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = SQLITE_ERROR goto __41 __40: @@ -180080,7 +186190,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql rc = (SQLITE_CORRUPT | (int32(1) << 8)) } else if (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+2764 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) + ts+2779 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) } } } @@ -180117,29 +186227,29 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) var rc int32 = SQLITE_OK *(*int32)(unsafe.Pointer(bp /* bError */)) = 0 - if 0 == Xsqlite3_stricmp(tls, ts+32386 /* "delete-all" */, zCmd) { + if 0 == Xsqlite3_stricmp(tls, ts+33739 /* "delete-all" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { fts5SetVtabError(tls, pTab, - ts+32397 /* "'delete-all' may..." */, 0) + ts+33750 /* "'delete-all' may..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+32477 /* "rebuild" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+33830 /* "rebuild" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE { fts5SetVtabError(tls, pTab, - ts+32485 /* "'rebuild' may no..." */, 0) + ts+33838 /* "'rebuild' may no..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+15402 /* "optimize" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+15417 /* "optimize" */, zCmd) { rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) - } else if 0 == Xsqlite3_stricmp(tls, ts+32541 /* "merge" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+33894 /* "merge" */, 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+32547 /* "integrity-check" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+33900 /* "integrity-check" */, zCmd) { var iArg int32 = Xsqlite3_value_int(tls, pVal) rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg) } else { @@ -180213,7 +186323,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // A "special" INSERT op. These are handled separately. var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*8))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && - (0 == Xsqlite3_stricmp(tls, ts+15941 /* "delete" */, z)) { + (0 == Xsqlite3_stricmp(tls, ts+15956 /* "delete" */, z)) { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*8))) @@ -180238,12 +186348,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // This is not suported. if (eType0 == SQLITE_INTEGER) && (fts5IsContentless(tls, pTab) != 0) { (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+32563, /* "cannot %s conten..." */ + ts+33916, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 18755 /* "UPDATE" */ + return ts + 18770 /* "UPDATE" */ } - return ts + 32600 /* "DELETE from" */ + return ts + 33953 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -180913,7 +187023,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+32612 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) + var zErr uintptr = Xsqlite3_mprintf(tls, ts+33965 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } else { @@ -181218,7 +187328,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+32633 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33986 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 16 /* &.x */ /* &.xCreate */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { @@ -181235,7 +187345,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg (*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = (pMod + 16 /* &.x */) if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32655 /* "error in tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34008 /* "error in tokeniz..." */, 0) } } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls, @@ -181282,7 +187392,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s var ppApi uintptr _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+32686 /* "fts5_api_ptr" */) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+34039 /* "fts5_api_ptr" */) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = (pGlobal /* &.api */) } @@ -181293,7 +187403,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+32699 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, pCtx, ts+34052 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) } // Return true if zName is the extension on one of the shadow tables used @@ -181309,7 +187419,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 32790 /* "config" */, ts + 30889 /* "content" */, ts + 23290 /* "data" */, ts + 31240 /* "docsize" */, ts + 10186, /* "idx" */ + ts + 34143 /* "config" */, ts + 32242 /* "content" */, ts + 23305 /* "data" */, ts + 32593 /* "docsize" */, ts + 10201, /* "idx" */ } /* sqlite3.c:230593:21 */ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ @@ -181333,7 +187443,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ (*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+32797 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) + rc = Xsqlite3_create_module_v2(tls, db, ts+34150 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) if rc == SQLITE_OK { rc = sqlite3Fts5IndexInit(tls, db) } @@ -181351,13 +187461,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+32797 /* "fts5" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+34150 /* "fts5" */, 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+32802 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+34155 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5SourceIdFunc})), uintptr(0), uintptr(0)) } @@ -181423,20 +187533,20 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p if *(*uintptr)(unsafe.Pointer((p + 40 /* &.aStmt */) + uintptr(eStmt)*8)) == uintptr(0) { *(*[11]uintptr)(unsafe.Pointer(bp + 128 /* azStmt */)) = [11]uintptr{ - ts + 32817, /* "SELECT %s FROM %..." */ - ts + 32885, /* "SELECT %s FROM %..." */ - ts + 32954, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 34170, /* "SELECT %s FROM %..." */ + ts + 34238, /* "SELECT %s FROM %..." */ + ts + 34307, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 32987, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 33026, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 33066, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 33105, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 33146, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE + ts + 34340, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT + ts + 34379, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT + ts + 34419, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT + ts + 34458, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE + ts + 34499, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE - ts + 33185, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 34538, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 33227, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 33267, /* "SELECT %s FROM %..." */ // SCAN + ts + 34580, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG + ts + 34620, /* "SELECT %s FROM %..." */ // SCAN } var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr = uintptr(0) @@ -181503,7 +187613,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2764 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2779 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -181541,18 +187651,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+33290, /* "DROP TABLE IF EX..." */ + ts+34643, /* "DROP TABLE IF EX..." */ 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+33394, /* "DROP TABLE IF EX..." */ + ts+34747, /* "DROP TABLE IF EX..." */ 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+33432, /* "DROP TABLE IF EX..." */ + ts+34785, /* "DROP TABLE IF EX..." */ libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc @@ -181564,7 +187674,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+33470, /* "ALTER TABLE %Q.'..." */ + ts+34823, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -181576,14 +187686,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp /* rc */)) = sqlite3Fts5StorageSync(tls, pStorage) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+23290 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+10186 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32790 /* "config" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+23305 /* "data" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+10201 /* "idx" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+34143 /* "config" */, zName) if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+31240 /* "docsize" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32593 /* "docsize" */, zName) } if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+30889 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32242 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -181597,17 +187707,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn var rc int32 *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+33512, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+34865, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { - return ts + 27905 /* " WITHOUT ROWID" */ + return ts + 27920 /* " WITHOUT ROWID" */ } - return ts + 729 /* "" */ + return ts + 744 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+33542, /* "fts5: error crea..." */ + ts+34895, /* "fts5: error crea..." */ libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } @@ -181649,27 +187759,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+33586 /* "id INTEGER PRIMA..." */, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, ts+34939 /* "id INTEGER PRIMA..." */, 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+33609 /* ", c%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, (nDefn - iOff), (zDefn + uintptr(iOff)), ts+34962 /* ", c%d" */, libc.VaList(bp, i)) iOff = iOff + (int32(libc.Xstrlen(tls, (zDefn + uintptr(iOff))))) } - rc = sqlite3Fts5CreateTable(tls, pConfig, ts+30889 /* "content" */, zDefn, 0, pzErr) + rc = sqlite3Fts5CreateTable(tls, pConfig, ts+32242 /* "content" */, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+31240 /* "docsize" */, ts+33615 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+32593 /* "docsize" */, ts+34968 /* "id INTEGER PRIMA..." */, 0, pzErr) } if rc == SQLITE_OK { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+32790 /* "config" */, ts+33647 /* "k PRIMARY KEY, v" */, 1, pzErr) + pConfig, ts+34143 /* "config" */, ts+35000 /* "k PRIMARY KEY, v" */, 1, pzErr) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+31386 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+32739 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -181906,12 +188016,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: // Delete the contents of the %_data and %_docsize tables. rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+33664, /* "DELETE FROM %Q.'..." */ + ts+35017, /* "DELETE FROM %Q.'..." */ 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+33714, /* "DELETE FROM %Q.'..." */ + ts+35067, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -181921,7 +188031,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+31386 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+32739 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -182116,7 +188226,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+33743, /* "SELECT count(*) ..." */ + zSql = Xsqlite3_mprintf(tls, ts+35096, /* "SELECT count(*) ..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -182313,14 +188423,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // number of rows. if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { *(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+30889 /* "content" */, bp+48 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+32242 /* "content" */, bp+48 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) != (*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 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+31240 /* "docsize" */, bp+56 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+32593 /* "docsize" */, bp+56 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 56 /* nRow */)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) } @@ -182556,9 +188666,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, libc.Xmemcpy(tls, p /* &.aTokenChar */, 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+33775 /* "tokenchars" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35128 /* "tokenchars" */) { fts5AsciiAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+33786 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35139 /* "separators" */) { fts5AsciiAddExceptions(tls, p, zArg, 0) } else { rc = SQLITE_ERROR @@ -182798,7 +188908,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 + 33797 /* "L* N* Co" */ + var zCat uintptr = ts + 35150 /* "L* N* Co" */ var i int32 libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{}))) @@ -182811,7 +188921,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Search for a "categories" argument for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+33806 /* "categories" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35159 /* "categories" */) { zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*8)) } } @@ -182822,18 +188932,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+33817 /* "remove_diacritic..." */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35170 /* "remove_diacritic..." */) { 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+33775 /* "tokenchars" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35128 /* "tokenchars" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+33786 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35139 /* "separators" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 0) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+33806 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35159 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -183145,7 +189255,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 /* pUserdata */)) = uintptr(0) - var zBase uintptr = ts + 33835 /* "unicode61" */ + var zBase uintptr = ts + 35188 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -183298,7 +189408,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33845 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35198 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -183306,11 +189416,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33848 /* "ance" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35201 /* "ance" */, (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+33853 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35206 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -183318,7 +189428,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33858 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35211 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -183326,7 +189436,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33861 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35214 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -183334,11 +189444,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33864 /* "able" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35217 /* "able" */, (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+33869 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35222 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -183346,19 +189456,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33874 /* "ant" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35227 /* "ant" */, (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+33878 /* "ement" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35231 /* "ement" */, (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+33884 /* "ment" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35237 /* "ment" */, (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+33889 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35242 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -183366,11 +189476,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33893 /* "ion" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35246 /* "ion" */, (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+33897 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35250 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -183378,7 +189488,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33900 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35253 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -183386,11 +189496,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33904 /* "ate" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35257 /* "ate" */, (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+33908 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35261 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -183398,7 +189508,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33912 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35265 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -183406,7 +189516,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33916 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35269 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -183414,7 +189524,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33920 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35273 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -183431,24 +189541,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33924 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+33904 /* "ate" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35277 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35257 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'b': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33927 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+33930 /* "ble" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35280 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35283 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33934 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+33920 /* "ize" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35287 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35273 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } @@ -183464,137 +189574,137 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+33937 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35290 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33904 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35257 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+33945 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+35298 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+33952 /* "tion" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+35305 /* "tion" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 4) } } break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33957 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35310 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33853 /* "ence" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35206 /* "ence" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33962 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35315 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33848 /* "ance" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35201 /* "ance" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } } break case 'e': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33967 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35320 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33920 /* "ize" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35273 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'g': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33972 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35325 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+14752 /* "log" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+14767 /* "log" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'l': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33977 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35330 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+33930 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35283 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33981 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35334 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33845 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35198 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+33986 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35339 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33889 /* "ent" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35242 /* "ent" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33992 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35345 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+33996 /* "e" */, uint64(1)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35349 /* "e" */, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 1) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+33998 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35351 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33912 /* "ous" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35265 /* "ous" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } } break case 'o': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34004 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35357 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33920 /* "ize" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35273 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34012 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35365 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33904 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35257 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34018 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35371 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33904 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35257 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 's': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34023 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35376 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33845 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35198 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34029 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35382 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33916 /* "ive" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35269 /* "ive" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34037 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35390 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+34045 /* "ful" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35398 /* "ful" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34049 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35402 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33912 /* "ous" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35265 /* "ous" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } } break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34057 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35410 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33845 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35198 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34063 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35416 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33916 /* "ive" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35269 /* "ive" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+34069 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+35422 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+33930 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+35283 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -183610,16 +189720,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34076 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35429 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33861 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35214 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } } break case 's': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34081 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35434 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -183627,21 +189737,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34086 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35439 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33861 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35214 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34092 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35445 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33861 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35214 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34045 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35398 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -183649,7 +189759,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34098 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35451 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 5) } @@ -183657,9 +189767,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34104 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35457 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33845 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35198 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -183675,12 +189785,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'e': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34110 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35463 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+34114 /* "ee" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35467 /* "ee" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 2) } - } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+34117 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35470 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) ret = 1 @@ -183689,7 +189799,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34120 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35473 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) ret = 1 @@ -183859,7 +189969,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+34124 /* "case_sensitive" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35477 /* "case_sensitive" */) { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { @@ -184049,22 +190159,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: defer tls.Free(128) *(*[4]BuiltinTokenizer)(unsafe.Pointer(bp /* aBuiltin */)) = [4]BuiltinTokenizer{ - {FzName: ts + 33835 /* "unicode61" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35188 /* "unicode61" */, 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 + 34139 /* "ascii" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35492 /* "ascii" */, 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 + 34145 /* "porter" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35498 /* "porter" */, 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 + 34152 /* "trigram" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35505 /* "trigram" */, 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 @@ -185411,14 +191521,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8 /* &rc */, zType, -1) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, ts+34160 /* "col" */) == 0 { + if Xsqlite3_stricmp(tls, zCopy, ts+35513 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL - } else if Xsqlite3_stricmp(tls, zCopy, ts+34164 /* "row" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+35517 /* "row" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW - } else if Xsqlite3_stricmp(tls, zCopy, ts+34168 /* "instance" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+35521 /* "instance" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34177 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35530 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) @@ -185465,19 +191575,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv defer tls.Free(36) *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azSchema */)) = [3]uintptr{ - ts + 34211, /* "CREATE TABlE voc..." */ - ts + 34251, /* "CREATE TABlE voc..." */ - ts + 34286, /* "CREATE TABlE voc..." */ + ts + 35564, /* "CREATE TABlE voc..." */ + ts + 35604, /* "CREATE TABlE voc..." */ + ts + 35639, /* "CREATE TABlE voc..." */ } var pRet uintptr = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK // Return code var bDb int32 - bDb = (libc.Bool32(((argc == 6) && (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4))) && (libc.Xmemcmp(tls, ts+21599 /* "temp" */, *(*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+21614 /* "temp" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0))) if (argc != 5) && (bDb == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34329 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35682 /* "wrong number of ..." */, 0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR } else { var nByte int32 // Bytes of space to allocate @@ -185629,11 +191739,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+34362 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+35715 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } zSql = sqlite3Fts5Mprintf(tls, bp+64, /* &rc */ - ts+34393, /* "SELECT t.%Q FROM..." */ + ts+35746, /* "SELECT t.%Q FROM..." */ 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 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72 /* &pStmt */, uintptr(0)) @@ -185657,7 +191767,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+34444 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+35797 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } else { @@ -185945,7 +192055,7 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused if pLe != 0 { var zCopy uintptr = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = ts + 729 /* "" */ + zCopy = ts + 744 /* "" */ } (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm + 1)) @@ -186062,7 +192172,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:235171:12: */ var p uintptr = pGlobal - return Xsqlite3_create_module_v2(tls, db, ts+34470 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, ts+35823 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } var fts5Vocab = Sqlite3_module{ @@ -186107,7 +192217,7 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:235516:23: */ - return ts + 34480 /* "2021-06-18 18:36..." */ + return ts + 35833 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -187002,5 +193112,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128 /* .xGetLastError */)) = rbuVfsGetLastError // sqlite3.c:205300:5: } -var ts1 = "COMPILER=gcc-8.3.0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\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\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\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\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%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing 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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\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\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\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: \"%.*s\"\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=gcc-8.3.0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\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\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\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\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\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\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%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing 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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\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\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\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: \"%.*s\"\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/lib/sqlite_linux_arm.go b/lib/sqlite_linux_arm.go index b4f2161..e390e85 100644 --- a/lib/sqlite_linux_arm.go +++ b/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 "" -pkgname sqlite3 -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 "" -pkgname sqlite3 -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -1387,6 +1387,9 @@ const ( SEEK_HOLE = 4 SEEK_SET = 0 SELECTTRACE_ENABLED = 0 + SESSIONS_STRM_CHUNK_SIZE = 1024 + SESSION_MAX_BUFFER_SZ = 2147483391 + SESSION_UPDATE_CACHE_SZ = 12 SF_Aggregate = 0x0000008 SF_All = 0x0000002 SF_ComplexResult = 0x0040000 @@ -1533,6 +1536,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -1689,6 +1703,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -2056,6 +2071,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3678,7 +3695,7 @@ type X__float128 = float64 /* :47:21 */ // This array looks large, but in a typical installation actually uses // only a handful of compile-time options, so most times this array is usually // rather short and uses little memory space. -var sqlite3azCompileOpt = [18]uintptr{ +var sqlite3azCompileOpt = [19]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl ts, /* "COMPILER=gcc-8.3..." */ @@ -3691,14 +3708,15 @@ var sqlite3azCompileOpt = [18]uintptr{ ts + 130, /* "ENABLE_PREUPDATE..." */ ts + 152, /* "ENABLE_RBU" */ ts + 163, /* "ENABLE_RTREE" */ - ts + 176, /* "ENABLE_SNAPSHOT" */ - ts + 192, /* "ENABLE_STAT4" */ - ts + 205, /* "ENABLE_UNLOCK_NO..." */ - ts + 226, /* "LIKE_DOESNT_MATC..." */ - ts + 250, /* "MUTEX_NOOP" */ - ts + 261, /* "SOUNDEX" */ - ts + 269, /* "SYSTEM_MALLOC" */ - ts + 283, /* "THREADSAFE=1" */ + ts + 176, /* "ENABLE_SESSION" */ + ts + 191, /* "ENABLE_SNAPSHOT" */ + ts + 207, /* "ENABLE_STAT4" */ + ts + 220, /* "ENABLE_UNLOCK_NO..." */ + ts + 241, /* "LIKE_DOESNT_MATC..." */ + ts + 265, /* "MUTEX_NOOP" */ + ts + 276, /* "SOUNDEX" */ + ts + 284, /* "SYSTEM_MALLOC" */ + ts + 298, /* "THREADSAFE=1" */ // END CODE GENERATED BY tool/mkctime.tcl } /* sqlite3.c:72:19 */ @@ -4014,7 +4032,7 @@ type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ // of the hash might be different from [SQLITE_SOURCE_ID].)^ // // See also: [sqlite_version()] and [sqlite_source_id()]. -var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 296 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ +var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 311 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -6556,6 +6574,494 @@ type Sqlite3_rtree_dbl = float64 /* sqlite3.c:11048:18 */ //******* End of sqlite3rtree.h ******** //******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type sqlite3_session = struct { + Fdb uintptr + FzDb uintptr + FbEnableSize int32 + FbEnable int32 + FbIndirect int32 + FbAutoAttach int32 + Frc int32 + FpFilterCtx uintptr + FxTableFilter uintptr + _ [4]byte + FnMalloc I64 + FnMaxChangesetSize I64 + FpZeroBlob uintptr + FpNext uintptr + FpTable uintptr + Fhook SessionHook +} /* sqlite3.c:11155:9 */ + +// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. + +//******* End of sqlite3rtree.h ******** +//******* Begin file sqlite3session.h ******** + +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type sqlite3_changeset_iter = struct { + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + FabPK uintptr + FapValue uintptr +} /* sqlite3.c:11163:9 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type Sqlite3_changeset_iter = sqlite3_changeset_iter /* sqlite3.c:11163:39 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type sqlite3_changegroup = struct { + Frc int32 + FbPatch int32 + FpList uintptr +} /* sqlite3.c:12015:9 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type Sqlite3_changegroup = sqlite3_changegroup /* sqlite3.c:12015:36 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type sqlite3_rebaser = struct{ Fgrp Sqlite3_changegroup } /* sqlite3.c:12579:9 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ + +// CAPI3REF: Values for sqlite3session_config(). + +// Make sure we can call this stuff from C++. + //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** // 2014 May 31 @@ -6605,10 +7111,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.c:12895:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -11035,7 +11540,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 303 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 318 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -12182,7 +12687,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+310 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+325 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { goto __9 } return 1 @@ -12219,13 +12724,13 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 // var s int32 at bp+32, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+318 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+333 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+326 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+341 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -12344,7 +12849,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+330 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+345 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -12425,7 +12930,7 @@ func parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) i return 0 } else if parseHhMmSs(tls, zDate, p) == 0 { return 0 - } else if (Xsqlite3StrICmp(tls, zDate, ts+342 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { + } else if (Xsqlite3StrICmp(tls, zDate, ts+357 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { return setDateTimeToCurrent(tls, context, p) } else if Xsqlite3AtoF(tls, zDate, bp /* &r */, Xsqlite3Strlen30(tls, zDate), uint8(SQLITE_UTF8)) > 0 { setRawDateNumber(tls, p, *(*float64)(unsafe.Pointer(bp /* r */))) @@ -12607,7 +13112,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite computeJD(tls, bp+48 /* &x */) *(*Time_t)(unsafe.Pointer(bp + 96 /* t */)) = (Time_t(((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000)))) if osLocaltime(tls, bp+96 /* &t */, bp /* &sLocal */) != 0 { - Xsqlite3_result_error(tls, pCtx, ts+346 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+361 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -12642,12 +13147,12 @@ var aXformType = [6]struct { FrLimit float64 FrXform float64 }{ - {FnName: U8(6), FzName: ts + 369 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, - {FnName: U8(6), FzName: ts + 376 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, - {FnName: U8(4), FzName: ts + 383 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, - {FnName: U8(3), FzName: ts + 388 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, - {FeType: U8(1), FnName: U8(5), FzName: ts + 392 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, - {FeType: U8(2), FnName: U8(4), FzName: ts + 398 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, + {FnName: U8(6), FzName: ts + 384 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, + {FnName: U8(6), FzName: ts + 391 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, + {FnName: U8(4), FzName: ts + 398 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, + {FnName: U8(3), FzName: ts + 403 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, + {FeType: U8(1), FnName: U8(5), FzName: ts + 407 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, + {FeType: U8(2), FnName: U8(4), FzName: ts + 413 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, } /* sqlite3.c:22795:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -12686,7 +13191,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Assuming the current time value is UTC (a.k.a. GMT), shift it to // show local time. - if (Xsqlite3_stricmp(tls, z, ts+403 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + if (Xsqlite3_stricmp(tls, z, ts+418 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { computeJD(tls, p) *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (localtimeOffset(tls, p, pCtx, bp /* &rc */)) clearYMD_HMS_TZ(tls, p) @@ -12700,7 +13205,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Treat the current value of p->s as the number of // seconds since 1970. Convert to a real julian day number. - if (Xsqlite3_stricmp(tls, z, ts+413 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { + if (Xsqlite3_stricmp(tls, z, ts+428 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) @@ -12709,7 +13214,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+423 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + } else if (Xsqlite3_stricmp(tls, z, ts+438 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { if int32((*DateTime)(unsafe.Pointer(p)).FtzSet) == 0 { var c1 Sqlite3_int64 computeJD(tls, p) @@ -12734,7 +13239,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // Move the date to the same time on the next occurrence of // weekday N where 0==Sunday, 1==Monday, and so forth. If the // date is already on the appropriate weekday, this is a no-op. - if ((((Xsqlite3_strnicmp(tls, z, ts+427 /* "weekday " */, 8) == 0) && + if ((((Xsqlite3_strnicmp(tls, z, ts+442 /* "weekday " */, 8) == 0) && (Xsqlite3AtoF(tls, (z+8), bp+8 /* &r */, Xsqlite3Strlen30(tls, (z+8)), uint8(SQLITE_UTF8)) > 0)) && ((float64(libc.AssignInt32(&n, int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */)))))) == *(*float64)(unsafe.Pointer(bp + 8 /* r */)))) && (n >= 0)) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < float64(7)) { var Z Sqlite3_int64 @@ -12759,7 +13264,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Move the date backwards to the beginning of the current day, // or month or year. - if Xsqlite3_strnicmp(tls, z, ts+436 /* "start of " */, 9) != 0 { + if Xsqlite3_strnicmp(tls, z, ts+451 /* "start of " */, 9) != 0 { break } if (!(int32((*DateTime)(unsafe.Pointer(p)).FvalidJD) != 0) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidYMD) != 0)) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidHMS) != 0) { @@ -12773,14 +13278,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - if Xsqlite3_stricmp(tls, z, ts+392 /* "month" */) == 0 { + if Xsqlite3_stricmp(tls, z, ts+407 /* "month" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+398 /* "year" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+413 /* "year" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FM = 1 (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+388 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+403 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -13001,7 +13506,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // var zBuf [100]int8 at bp+96, 100 computeYMD_HMS(tls, bp+48 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+446, /* "%04d-%02d-%02d %..." */ + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+461, /* "%04d-%02d-%02d %..." */ libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } @@ -13020,7 +13525,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeHMS(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+476 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+491 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13038,7 +13543,7 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeYMD(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+491 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+506 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13165,7 +13670,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (Size_t(2)) break fallthrough @@ -13175,14 +13680,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+511 /* "%06.3f" */, libc.VaList(bp+8, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+526 /* "%06.3f" */, libc.VaList(bp+8, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) j = j + (Size_t(2)) break fallthrough @@ -13200,10 +13705,10 @@ __3: if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday wd = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) j = j + (Size_t(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+518 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+533 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) j = j + (Size_t(3)) } break @@ -13212,19 +13717,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+523 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+538 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) j = j + (Size_t(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) j = j + (Size_t(2)) break fallthrough @@ -13238,7 +13743,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (Size_t(2)) break fallthrough @@ -13251,7 +13756,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+529 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+544 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -13308,14 +13813,14 @@ func Xsqlite3RegisterDateTimeFunctions(tls *libc.TLS) { /* sqlite3.c:23404:21: * } var aDateTimeFuncs = [8]FuncDef{ - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 534 /* "julianday" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 544 /* "date" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 549 /* "time" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 554 /* "datetime" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 563 /* "strftime" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 572 /* "current_time" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 585 /* "current_timestam..." */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 603 /* "current_date" */}} /* sqlite3.c:23405:18 */ + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 549 /* "julianday" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 559 /* "date" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 564 /* "time" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 569 /* "datetime" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 578 /* "strftime" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 587 /* "current_time" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 600 /* "current_timestam..." */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 618 /* "current_date" */}} /* sqlite3.c:23405:18 */ //************* End of date.c *********************************************** //************* Begin file os.c ********************************************* @@ -13892,7 +14397,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p += 8 } else { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+616 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+631 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -13943,7 +14448,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* } else { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+654, /* "failed memory re..." */ + ts+669, /* "failed memory re..." */ libc.VaList(bp, sqlite3MemSize(tls, pPrior), nByte)) } return p @@ -15129,8 +15634,8 @@ type Et_info = et_info /* sqlite3.c:28672:3 */ // The following table is searched linearly, so it is good to put the // most frequently used conversion types first. -var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 690 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 723 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ +var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 705 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 738 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ var fmtinfo = [23]Et_info{ {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, {Ffmttype: int8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, @@ -15384,7 +15889,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+730 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+745 /* "%" */, 1) goto __5 __11: ; @@ -15967,7 +16472,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 732 /* "NaN" */ + bufpt = ts + 747 /* "NaN" */ length = 3 goto __58 __127: @@ -16027,7 +16532,7 @@ __138: } bufpt = bp + 8 /* &buf[0] */ *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix - libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+736 /* "Inf" */, uint32(4)) + libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+751 /* "Inf" */, uint32(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: @@ -16384,7 +16889,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 740 /* "" */ + bufpt = ts + 755 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -16513,9 +17018,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 741 /* "NULL" */ + return ts + 756 /* "NULL" */ } - return ts + 746 /* "(NULL)" */ + return ts + 761 /* "(NULL)" */ }() __220: ; @@ -16650,7 +17155,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+753 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+768 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -16665,7 +17170,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+755 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, ts+770 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) __247: ; __246: @@ -16728,7 +17233,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 767 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 782 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -19042,7 +19547,7 @@ func compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) int32 { /* sqlite3.c var c int32 = 0 var i int32 // 012345678901234567 - var pow63 uintptr = ts + 776 /* "9223372036854775..." */ + var pow63 uintptr = ts + 791 /* "9223372036854775..." */ for i = 0; (c == 0) && (i < 18); i++ { c = ((int32(*(*int8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) } @@ -19692,7 +20197,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+795, /* "API call with %s..." */ + ts+810, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -19711,14 +20216,14 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ func Xsqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:33054:20: */ var magic U32 if db == uintptr(0) { - logBadConnection(tls, ts+741 /* "NULL" */) + logBadConnection(tls, ts+756 /* "NULL" */) return 0 } magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if magic != SQLITE_MAGIC_OPEN { if Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 { - logBadConnection(tls, ts+840 /* "unopened" */) + logBadConnection(tls, ts+855 /* "unopened" */) } return 0 } else { @@ -19732,7 +20237,7 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if ((magic != U32(SQLITE_MAGIC_SICK)) && (magic != SQLITE_MAGIC_OPEN)) && (magic != SQLITE_MAGIC_BUSY) { - logBadConnection(tls, ts+849 /* "invalid" */) + logBadConnection(tls, ts+864 /* "invalid" */) return 0 } else { return 1 @@ -20260,186 +20765,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 0 */ ts + 857, /* "Savepoint" */ - /* 1 */ ts + 867, /* "AutoCommit" */ - /* 2 */ ts + 878, /* "Transaction" */ - /* 3 */ ts + 890, /* "SorterNext" */ - /* 4 */ ts + 901, /* "Prev" */ - /* 5 */ ts + 906, /* "Next" */ - /* 6 */ ts + 911, /* "Checkpoint" */ - /* 7 */ ts + 922, /* "JournalMode" */ - /* 8 */ ts + 934, /* "Vacuum" */ - /* 9 */ ts + 941, /* "VFilter" */ - /* 10 */ ts + 949, /* "VUpdate" */ - /* 11 */ ts + 957, /* "Goto" */ - /* 12 */ ts + 962, /* "Gosub" */ - /* 13 */ ts + 968, /* "InitCoroutine" */ - /* 14 */ ts + 982, /* "Yield" */ - /* 15 */ ts + 988, /* "MustBeInt" */ - /* 16 */ ts + 998, /* "Jump" */ - /* 17 */ ts + 1003, /* "Once" */ - /* 18 */ ts + 1008, /* "If" */ - /* 19 */ ts + 1011, /* "Not" */ - /* 20 */ ts + 1015, /* "IfNot" */ - /* 21 */ ts + 1021, /* "IfNullRow" */ - /* 22 */ ts + 1031, /* "SeekLT" */ - /* 23 */ ts + 1038, /* "SeekLE" */ - /* 24 */ ts + 1045, /* "SeekGE" */ - /* 25 */ ts + 1052, /* "SeekGT" */ - /* 26 */ ts + 1059, /* "IfNotOpen" */ - /* 27 */ ts + 1069, /* "IfNoHope" */ - /* 28 */ ts + 1078, /* "NoConflict" */ - /* 29 */ ts + 1089, /* "NotFound" */ - /* 30 */ ts + 1098, /* "Found" */ - /* 31 */ ts + 1104, /* "SeekRowid" */ - /* 32 */ ts + 1114, /* "NotExists" */ - /* 33 */ ts + 1124, /* "Last" */ - /* 34 */ ts + 1129, /* "IfSmaller" */ - /* 35 */ ts + 1139, /* "SorterSort" */ - /* 36 */ ts + 1150, /* "Sort" */ - /* 37 */ ts + 1155, /* "Rewind" */ - /* 38 */ ts + 1162, /* "IdxLE" */ - /* 39 */ ts + 1168, /* "IdxGT" */ - /* 40 */ ts + 1174, /* "IdxLT" */ - /* 41 */ ts + 1180, /* "IdxGE" */ - /* 42 */ ts + 1186, /* "RowSetRead" */ - /* 43 */ ts + 1197, /* "Or" */ - /* 44 */ ts + 1200, /* "And" */ - /* 45 */ ts + 1204, /* "RowSetTest" */ - /* 46 */ ts + 1215, /* "Program" */ - /* 47 */ ts + 1223, /* "FkIfZero" */ - /* 48 */ ts + 1232, /* "IfPos" */ - /* 49 */ ts + 1238, /* "IfNotZero" */ - /* 50 */ ts + 1248, /* "IsNull" */ - /* 51 */ ts + 1255, /* "NotNull" */ - /* 52 */ ts + 1263, /* "Ne" */ - /* 53 */ ts + 1266, /* "Eq" */ - /* 54 */ ts + 1269, /* "Gt" */ - /* 55 */ ts + 1272, /* "Le" */ - /* 56 */ ts + 1275, /* "Lt" */ - /* 57 */ ts + 1278, /* "Ge" */ - /* 58 */ ts + 1281, /* "ElseEq" */ - /* 59 */ ts + 1288, /* "DecrJumpZero" */ - /* 60 */ ts + 1301, /* "IncrVacuum" */ - /* 61 */ ts + 1312, /* "VNext" */ - /* 62 */ ts + 1318, /* "Init" */ - /* 63 */ ts + 1323, /* "PureFunc" */ - /* 64 */ ts + 1332, /* "Function" */ - /* 65 */ ts + 1341, /* "Return" */ - /* 66 */ ts + 1348, /* "EndCoroutine" */ - /* 67 */ ts + 1361, /* "HaltIfNull" */ - /* 68 */ ts + 1372, /* "Halt" */ - /* 69 */ ts + 1377, /* "Integer" */ - /* 70 */ ts + 1385, /* "Int64" */ - /* 71 */ ts + 1391, /* "String" */ - /* 72 */ ts + 1398, /* "Null" */ - /* 73 */ ts + 1403, /* "SoftNull" */ - /* 74 */ ts + 1412, /* "Blob" */ - /* 75 */ ts + 1417, /* "Variable" */ - /* 76 */ ts + 1426, /* "Move" */ - /* 77 */ ts + 1431, /* "Copy" */ - /* 78 */ ts + 1436, /* "SCopy" */ - /* 79 */ ts + 1442, /* "IntCopy" */ - /* 80 */ ts + 1450, /* "ChngCntRow" */ - /* 81 */ ts + 1461, /* "ResultRow" */ - /* 82 */ ts + 1471, /* "CollSeq" */ - /* 83 */ ts + 1479, /* "AddImm" */ - /* 84 */ ts + 1486, /* "RealAffinity" */ - /* 85 */ ts + 1499, /* "Cast" */ - /* 86 */ ts + 1504, /* "Permutation" */ - /* 87 */ ts + 1516, /* "Compare" */ - /* 88 */ ts + 1524, /* "IsTrue" */ - /* 89 */ ts + 1531, /* "ZeroOrNull" */ - /* 90 */ ts + 1542, /* "Offset" */ - /* 91 */ ts + 1549, /* "Column" */ - /* 92 */ ts + 1556, /* "Affinity" */ - /* 93 */ ts + 1565, /* "MakeRecord" */ - /* 94 */ ts + 1576, /* "Count" */ - /* 95 */ ts + 1582, /* "ReadCookie" */ - /* 96 */ ts + 1593, /* "SetCookie" */ - /* 97 */ ts + 1603, /* "ReopenIdx" */ - /* 98 */ ts + 1613, /* "OpenRead" */ - /* 99 */ ts + 1622, /* "OpenWrite" */ - /* 100 */ ts + 1632, /* "OpenDup" */ - /* 101 */ ts + 1640, /* "OpenAutoindex" */ - /* 102 */ ts + 1654, /* "BitAnd" */ - /* 103 */ ts + 1661, /* "BitOr" */ - /* 104 */ ts + 1667, /* "ShiftLeft" */ - /* 105 */ ts + 1677, /* "ShiftRight" */ - /* 106 */ ts + 1688, /* "Add" */ - /* 107 */ ts + 1692, /* "Subtract" */ - /* 108 */ ts + 1701, /* "Multiply" */ - /* 109 */ ts + 1710, /* "Divide" */ - /* 110 */ ts + 1717, /* "Remainder" */ - /* 111 */ ts + 1727, /* "Concat" */ - /* 112 */ ts + 1734, /* "OpenEphemeral" */ - /* 113 */ ts + 1748, /* "BitNot" */ - /* 114 */ ts + 1755, /* "SorterOpen" */ - /* 115 */ ts + 1766, /* "SequenceTest" */ - /* 116 */ ts + 1779, /* "String8" */ - /* 117 */ ts + 1787, /* "OpenPseudo" */ - /* 118 */ ts + 1798, /* "Close" */ - /* 119 */ ts + 1804, /* "ColumnsUsed" */ - /* 120 */ ts + 1816, /* "SeekScan" */ - /* 121 */ ts + 1825, /* "SeekHit" */ - /* 122 */ ts + 1833, /* "Sequence" */ - /* 123 */ ts + 1842, /* "NewRowid" */ - /* 124 */ ts + 1851, /* "Insert" */ - /* 125 */ ts + 1858, /* "RowCell" */ - /* 126 */ ts + 1866, /* "Delete" */ - /* 127 */ ts + 1873, /* "ResetCount" */ - /* 128 */ ts + 1884, /* "SorterCompare" */ - /* 129 */ ts + 1898, /* "SorterData" */ - /* 130 */ ts + 1909, /* "RowData" */ - /* 131 */ ts + 1917, /* "Rowid" */ - /* 132 */ ts + 1923, /* "NullRow" */ - /* 133 */ ts + 1931, /* "SeekEnd" */ - /* 134 */ ts + 1939, /* "IdxInsert" */ - /* 135 */ ts + 1949, /* "SorterInsert" */ - /* 136 */ ts + 1962, /* "IdxDelete" */ - /* 137 */ ts + 1972, /* "DeferredSeek" */ - /* 138 */ ts + 1985, /* "IdxRowid" */ - /* 139 */ ts + 1994, /* "FinishSeek" */ - /* 140 */ ts + 2005, /* "Destroy" */ - /* 141 */ ts + 2013, /* "Clear" */ - /* 142 */ ts + 2019, /* "ResetSorter" */ - /* 143 */ ts + 2031, /* "CreateBtree" */ - /* 144 */ ts + 2043, /* "SqlExec" */ - /* 145 */ ts + 2051, /* "ParseSchema" */ - /* 146 */ ts + 2063, /* "LoadAnalysis" */ - /* 147 */ ts + 2076, /* "DropTable" */ - /* 148 */ ts + 2086, /* "DropIndex" */ - /* 149 */ ts + 2096, /* "DropTrigger" */ - /* 150 */ ts + 2108, /* "IntegrityCk" */ - /* 151 */ ts + 2120, /* "RowSetAdd" */ - /* 152 */ ts + 2130, /* "Real" */ - /* 153 */ ts + 2135, /* "Param" */ - /* 154 */ ts + 2141, /* "FkCounter" */ - /* 155 */ ts + 2151, /* "MemMax" */ - /* 156 */ ts + 2158, /* "OffsetLimit" */ - /* 157 */ ts + 2170, /* "AggInverse" */ - /* 158 */ ts + 2181, /* "AggStep" */ - /* 159 */ ts + 2189, /* "AggStep1" */ - /* 160 */ ts + 2198, /* "AggValue" */ - /* 161 */ ts + 2207, /* "AggFinal" */ - /* 162 */ ts + 2216, /* "Expire" */ - /* 163 */ ts + 2223, /* "CursorLock" */ - /* 164 */ ts + 2234, /* "CursorUnlock" */ - /* 165 */ ts + 2247, /* "TableLock" */ - /* 166 */ ts + 2257, /* "VBegin" */ - /* 167 */ ts + 2264, /* "VCreate" */ - /* 168 */ ts + 2272, /* "VDestroy" */ - /* 169 */ ts + 2281, /* "VOpen" */ - /* 170 */ ts + 2287, /* "VColumn" */ - /* 171 */ ts + 2295, /* "VRename" */ - /* 172 */ ts + 2303, /* "Pagecount" */ - /* 173 */ ts + 2313, /* "MaxPgcnt" */ - /* 174 */ ts + 2322, /* "Trace" */ - /* 175 */ ts + 2328, /* "CursorHint" */ - /* 176 */ ts + 2339, /* "ReleaseReg" */ - /* 177 */ ts + 2350, /* "Noop" */ - /* 178 */ ts + 2355, /* "Explain" */ - /* 179 */ ts + 2363, /* "Abortable" */ + /* 0 */ ts + 872, /* "Savepoint" */ + /* 1 */ ts + 882, /* "AutoCommit" */ + /* 2 */ ts + 893, /* "Transaction" */ + /* 3 */ ts + 905, /* "SorterNext" */ + /* 4 */ ts + 916, /* "Prev" */ + /* 5 */ ts + 921, /* "Next" */ + /* 6 */ ts + 926, /* "Checkpoint" */ + /* 7 */ ts + 937, /* "JournalMode" */ + /* 8 */ ts + 949, /* "Vacuum" */ + /* 9 */ ts + 956, /* "VFilter" */ + /* 10 */ ts + 964, /* "VUpdate" */ + /* 11 */ ts + 972, /* "Goto" */ + /* 12 */ ts + 977, /* "Gosub" */ + /* 13 */ ts + 983, /* "InitCoroutine" */ + /* 14 */ ts + 997, /* "Yield" */ + /* 15 */ ts + 1003, /* "MustBeInt" */ + /* 16 */ ts + 1013, /* "Jump" */ + /* 17 */ ts + 1018, /* "Once" */ + /* 18 */ ts + 1023, /* "If" */ + /* 19 */ ts + 1026, /* "Not" */ + /* 20 */ ts + 1030, /* "IfNot" */ + /* 21 */ ts + 1036, /* "IfNullRow" */ + /* 22 */ ts + 1046, /* "SeekLT" */ + /* 23 */ ts + 1053, /* "SeekLE" */ + /* 24 */ ts + 1060, /* "SeekGE" */ + /* 25 */ ts + 1067, /* "SeekGT" */ + /* 26 */ ts + 1074, /* "IfNotOpen" */ + /* 27 */ ts + 1084, /* "IfNoHope" */ + /* 28 */ ts + 1093, /* "NoConflict" */ + /* 29 */ ts + 1104, /* "NotFound" */ + /* 30 */ ts + 1113, /* "Found" */ + /* 31 */ ts + 1119, /* "SeekRowid" */ + /* 32 */ ts + 1129, /* "NotExists" */ + /* 33 */ ts + 1139, /* "Last" */ + /* 34 */ ts + 1144, /* "IfSmaller" */ + /* 35 */ ts + 1154, /* "SorterSort" */ + /* 36 */ ts + 1165, /* "Sort" */ + /* 37 */ ts + 1170, /* "Rewind" */ + /* 38 */ ts + 1177, /* "IdxLE" */ + /* 39 */ ts + 1183, /* "IdxGT" */ + /* 40 */ ts + 1189, /* "IdxLT" */ + /* 41 */ ts + 1195, /* "IdxGE" */ + /* 42 */ ts + 1201, /* "RowSetRead" */ + /* 43 */ ts + 1212, /* "Or" */ + /* 44 */ ts + 1215, /* "And" */ + /* 45 */ ts + 1219, /* "RowSetTest" */ + /* 46 */ ts + 1230, /* "Program" */ + /* 47 */ ts + 1238, /* "FkIfZero" */ + /* 48 */ ts + 1247, /* "IfPos" */ + /* 49 */ ts + 1253, /* "IfNotZero" */ + /* 50 */ ts + 1263, /* "IsNull" */ + /* 51 */ ts + 1270, /* "NotNull" */ + /* 52 */ ts + 1278, /* "Ne" */ + /* 53 */ ts + 1281, /* "Eq" */ + /* 54 */ ts + 1284, /* "Gt" */ + /* 55 */ ts + 1287, /* "Le" */ + /* 56 */ ts + 1290, /* "Lt" */ + /* 57 */ ts + 1293, /* "Ge" */ + /* 58 */ ts + 1296, /* "ElseEq" */ + /* 59 */ ts + 1303, /* "DecrJumpZero" */ + /* 60 */ ts + 1316, /* "IncrVacuum" */ + /* 61 */ ts + 1327, /* "VNext" */ + /* 62 */ ts + 1333, /* "Init" */ + /* 63 */ ts + 1338, /* "PureFunc" */ + /* 64 */ ts + 1347, /* "Function" */ + /* 65 */ ts + 1356, /* "Return" */ + /* 66 */ ts + 1363, /* "EndCoroutine" */ + /* 67 */ ts + 1376, /* "HaltIfNull" */ + /* 68 */ ts + 1387, /* "Halt" */ + /* 69 */ ts + 1392, /* "Integer" */ + /* 70 */ ts + 1400, /* "Int64" */ + /* 71 */ ts + 1406, /* "String" */ + /* 72 */ ts + 1413, /* "Null" */ + /* 73 */ ts + 1418, /* "SoftNull" */ + /* 74 */ ts + 1427, /* "Blob" */ + /* 75 */ ts + 1432, /* "Variable" */ + /* 76 */ ts + 1441, /* "Move" */ + /* 77 */ ts + 1446, /* "Copy" */ + /* 78 */ ts + 1451, /* "SCopy" */ + /* 79 */ ts + 1457, /* "IntCopy" */ + /* 80 */ ts + 1465, /* "ChngCntRow" */ + /* 81 */ ts + 1476, /* "ResultRow" */ + /* 82 */ ts + 1486, /* "CollSeq" */ + /* 83 */ ts + 1494, /* "AddImm" */ + /* 84 */ ts + 1501, /* "RealAffinity" */ + /* 85 */ ts + 1514, /* "Cast" */ + /* 86 */ ts + 1519, /* "Permutation" */ + /* 87 */ ts + 1531, /* "Compare" */ + /* 88 */ ts + 1539, /* "IsTrue" */ + /* 89 */ ts + 1546, /* "ZeroOrNull" */ + /* 90 */ ts + 1557, /* "Offset" */ + /* 91 */ ts + 1564, /* "Column" */ + /* 92 */ ts + 1571, /* "Affinity" */ + /* 93 */ ts + 1580, /* "MakeRecord" */ + /* 94 */ ts + 1591, /* "Count" */ + /* 95 */ ts + 1597, /* "ReadCookie" */ + /* 96 */ ts + 1608, /* "SetCookie" */ + /* 97 */ ts + 1618, /* "ReopenIdx" */ + /* 98 */ ts + 1628, /* "OpenRead" */ + /* 99 */ ts + 1637, /* "OpenWrite" */ + /* 100 */ ts + 1647, /* "OpenDup" */ + /* 101 */ ts + 1655, /* "OpenAutoindex" */ + /* 102 */ ts + 1669, /* "BitAnd" */ + /* 103 */ ts + 1676, /* "BitOr" */ + /* 104 */ ts + 1682, /* "ShiftLeft" */ + /* 105 */ ts + 1692, /* "ShiftRight" */ + /* 106 */ ts + 1703, /* "Add" */ + /* 107 */ ts + 1707, /* "Subtract" */ + /* 108 */ ts + 1716, /* "Multiply" */ + /* 109 */ ts + 1725, /* "Divide" */ + /* 110 */ ts + 1732, /* "Remainder" */ + /* 111 */ ts + 1742, /* "Concat" */ + /* 112 */ ts + 1749, /* "OpenEphemeral" */ + /* 113 */ ts + 1763, /* "BitNot" */ + /* 114 */ ts + 1770, /* "SorterOpen" */ + /* 115 */ ts + 1781, /* "SequenceTest" */ + /* 116 */ ts + 1794, /* "String8" */ + /* 117 */ ts + 1802, /* "OpenPseudo" */ + /* 118 */ ts + 1813, /* "Close" */ + /* 119 */ ts + 1819, /* "ColumnsUsed" */ + /* 120 */ ts + 1831, /* "SeekScan" */ + /* 121 */ ts + 1840, /* "SeekHit" */ + /* 122 */ ts + 1848, /* "Sequence" */ + /* 123 */ ts + 1857, /* "NewRowid" */ + /* 124 */ ts + 1866, /* "Insert" */ + /* 125 */ ts + 1873, /* "RowCell" */ + /* 126 */ ts + 1881, /* "Delete" */ + /* 127 */ ts + 1888, /* "ResetCount" */ + /* 128 */ ts + 1899, /* "SorterCompare" */ + /* 129 */ ts + 1913, /* "SorterData" */ + /* 130 */ ts + 1924, /* "RowData" */ + /* 131 */ ts + 1932, /* "Rowid" */ + /* 132 */ ts + 1938, /* "NullRow" */ + /* 133 */ ts + 1946, /* "SeekEnd" */ + /* 134 */ ts + 1954, /* "IdxInsert" */ + /* 135 */ ts + 1964, /* "SorterInsert" */ + /* 136 */ ts + 1977, /* "IdxDelete" */ + /* 137 */ ts + 1987, /* "DeferredSeek" */ + /* 138 */ ts + 2000, /* "IdxRowid" */ + /* 139 */ ts + 2009, /* "FinishSeek" */ + /* 140 */ ts + 2020, /* "Destroy" */ + /* 141 */ ts + 2028, /* "Clear" */ + /* 142 */ ts + 2034, /* "ResetSorter" */ + /* 143 */ ts + 2046, /* "CreateBtree" */ + /* 144 */ ts + 2058, /* "SqlExec" */ + /* 145 */ ts + 2066, /* "ParseSchema" */ + /* 146 */ ts + 2078, /* "LoadAnalysis" */ + /* 147 */ ts + 2091, /* "DropTable" */ + /* 148 */ ts + 2101, /* "DropIndex" */ + /* 149 */ ts + 2111, /* "DropTrigger" */ + /* 150 */ ts + 2123, /* "IntegrityCk" */ + /* 151 */ ts + 2135, /* "RowSetAdd" */ + /* 152 */ ts + 2145, /* "Real" */ + /* 153 */ ts + 2150, /* "Param" */ + /* 154 */ ts + 2156, /* "FkCounter" */ + /* 155 */ ts + 2166, /* "MemMax" */ + /* 156 */ ts + 2173, /* "OffsetLimit" */ + /* 157 */ ts + 2185, /* "AggInverse" */ + /* 158 */ ts + 2196, /* "AggStep" */ + /* 159 */ ts + 2204, /* "AggStep1" */ + /* 160 */ ts + 2213, /* "AggValue" */ + /* 161 */ ts + 2222, /* "AggFinal" */ + /* 162 */ ts + 2231, /* "Expire" */ + /* 163 */ ts + 2238, /* "CursorLock" */ + /* 164 */ ts + 2249, /* "CursorUnlock" */ + /* 165 */ ts + 2262, /* "TableLock" */ + /* 166 */ ts + 2272, /* "VBegin" */ + /* 167 */ ts + 2279, /* "VCreate" */ + /* 168 */ ts + 2287, /* "VDestroy" */ + /* 169 */ ts + 2296, /* "VOpen" */ + /* 170 */ ts + 2302, /* "VColumn" */ + /* 171 */ ts + 2310, /* "VRename" */ + /* 172 */ ts + 2318, /* "Pagecount" */ + /* 173 */ ts + 2328, /* "MaxPgcnt" */ + /* 174 */ ts + 2337, /* "Trace" */ + /* 175 */ ts + 2343, /* "CursorHint" */ + /* 176 */ ts + 2354, /* "ReleaseReg" */ + /* 177 */ ts + 2365, /* "Noop" */ + /* 178 */ ts + 2370, /* "Explain" */ + /* 179 */ ts + 2378, /* "Abortable" */ } /* sqlite3.c:33673:20 */ //************* End of opcodes.c ******************************************** @@ -22064,67 +22569,67 @@ type unix_syscall = struct { // testing and sandboxing. The following array holds the names and pointers // to all overrideable system calls. var aSyscall = [29]unix_syscall{ - {FzName: ts + 2373 /* "open" */, FpCurrent: 0}, + {FzName: ts + 2388 /* "open" */, FpCurrent: 0}, - {FzName: ts + 2378 /* "close" */, FpCurrent: 0}, + {FzName: ts + 2393 /* "close" */, FpCurrent: 0}, - {FzName: ts + 2384 /* "access" */, FpCurrent: 0}, + {FzName: ts + 2399 /* "access" */, FpCurrent: 0}, - {FzName: ts + 2391 /* "getcwd" */, FpCurrent: 0}, + {FzName: ts + 2406 /* "getcwd" */, FpCurrent: 0}, - {FzName: ts + 2398 /* "stat" */, FpCurrent: 0}, + {FzName: ts + 2413 /* "stat" */, FpCurrent: 0}, // The DJGPP compiler environment looks mostly like Unix, but it // lacks the fcntl() system call. So redefine fcntl() to be something // that always succeeds. This means that locking does not occur under // DJGPP. But it is DOS - what did you expect? - {FzName: ts + 2403 /* "fstat" */, FpCurrent: 0}, + {FzName: ts + 2418 /* "fstat" */, FpCurrent: 0}, - {FzName: ts + 2409 /* "ftruncate" */, FpCurrent: 0}, + {FzName: ts + 2424 /* "ftruncate" */, FpCurrent: 0}, - {FzName: ts + 2419 /* "fcntl" */, FpCurrent: 0}, + {FzName: ts + 2434 /* "fcntl" */, FpCurrent: 0}, - {FzName: ts + 2425 /* "read" */, FpCurrent: 0}, + {FzName: ts + 2440 /* "read" */, FpCurrent: 0}, - {FzName: ts + 2430 /* "pread" */}, + {FzName: ts + 2445 /* "pread" */}, - {FzName: ts + 2436 /* "pread64" */}, + {FzName: ts + 2451 /* "pread64" */}, - {FzName: ts + 2444 /* "write" */, FpCurrent: 0}, + {FzName: ts + 2459 /* "write" */, FpCurrent: 0}, - {FzName: ts + 2450 /* "pwrite" */}, + {FzName: ts + 2465 /* "pwrite" */}, - {FzName: ts + 2457 /* "pwrite64" */}, + {FzName: ts + 2472 /* "pwrite64" */}, - {FzName: ts + 2466 /* "fchmod" */, FpCurrent: 0}, + {FzName: ts + 2481 /* "fchmod" */, FpCurrent: 0}, - {FzName: ts + 2473 /* "fallocate" */}, + {FzName: ts + 2488 /* "fallocate" */}, - {FzName: ts + 2483 /* "unlink" */, FpCurrent: 0}, + {FzName: ts + 2498 /* "unlink" */, FpCurrent: 0}, - {FzName: ts + 2490 /* "openDirectory" */, FpCurrent: 0}, + {FzName: ts + 2505 /* "openDirectory" */, FpCurrent: 0}, - {FzName: ts + 2504 /* "mkdir" */, FpCurrent: 0}, + {FzName: ts + 2519 /* "mkdir" */, FpCurrent: 0}, - {FzName: ts + 2510 /* "rmdir" */, FpCurrent: 0}, + {FzName: ts + 2525 /* "rmdir" */, FpCurrent: 0}, - {FzName: ts + 2516 /* "fchown" */, FpCurrent: 0}, + {FzName: ts + 2531 /* "fchown" */, FpCurrent: 0}, - {FzName: ts + 2523 /* "geteuid" */, FpCurrent: 0}, + {FzName: ts + 2538 /* "geteuid" */, FpCurrent: 0}, - {FzName: ts + 2531 /* "mmap" */, FpCurrent: 0}, + {FzName: ts + 2546 /* "mmap" */, FpCurrent: 0}, - {FzName: ts + 2536 /* "munmap" */, FpCurrent: 0}, + {FzName: ts + 2551 /* "munmap" */, FpCurrent: 0}, - {FzName: ts + 2543 /* "mremap" */, FpCurrent: 0}, + {FzName: ts + 2558 /* "mremap" */, FpCurrent: 0}, - {FzName: ts + 2550 /* "getpagesize" */, FpCurrent: 0}, + {FzName: ts + 2565 /* "getpagesize" */, FpCurrent: 0}, - {FzName: ts + 2562 /* "readlink" */, FpCurrent: 0}, + {FzName: ts + 2577 /* "readlink" */, FpCurrent: 0}, - {FzName: ts + 2571 /* "lstat" */, FpCurrent: 0}, + {FzName: ts + 2586 /* "lstat" */, FpCurrent: 0}, - {FzName: ts + 2577 /* "ioctl" */}, + {FzName: ts + 2592 /* "ioctl" */}, } /* sqlite3.c:34446:3 */ // End of the overrideable system calls @@ -22258,9 +22763,9 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3 } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*12 + 4 /* &.pCurrent */))))(tls, fd) Xsqlite3_log(tls, SQLITE_WARNING, - ts+2583 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) + ts+2598 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) fd = -1 - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 4 /* &.pCurrent */))))(tls, ts+2626 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 4 /* &.pCurrent */))))(tls, ts+2641 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { break } } @@ -22518,13 +23023,13 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // the strerror() function to obtain the human-readable error message // equivalent to errno. Otherwise, use strerror_r(). // This is a threadsafe build, but strerror_r() is not available. - zErr = ts + 740 /* "" */ + zErr = ts + 755 /* "" */ if zPath == uintptr(0) { - zPath = ts + 740 /* "" */ + zPath = ts + 755 /* "" */ } Xsqlite3_log(tls, errcode, - ts+2636, /* "os_unix.c:%d: (%..." */ + ts+2651, /* "os_unix.c:%d: (%..." */ libc.VaList(bp, iLine, iErrno, zFunc, zPath, zErr)) return errcode @@ -22543,7 +23048,7 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // and move on. func robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { /* sqlite3.c:35345:13: */ if (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*12 + 4 /* &.pCurrent */))))(tls, h) != 0 { - unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+2378, /* "close" */ + unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+2393, /* "close" */ func() uintptr { if pFile != 0 { return (*UnixFile)(unsafe.Pointer(pFile)).FzPath @@ -22702,19 +23207,19 @@ func verifyDbFile(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:35532:13: */ rc = (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*12 + 4 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, bp+32 /* &buf */) if rc != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2667 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2682 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink == X__nlink_t(0) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2691 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2706 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink > X__nlink_t(1) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2720 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2735 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2747 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2762 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -23828,7 +24333,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql var fd int32 = -1 // var zDirname [513]int8 at bp+8, 513 - Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+8 /* &zDirname[0] */, ts+2775 /* "%s" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+8 /* &zDirname[0] */, ts+2790 /* "%s" */, libc.VaList(bp, zFilename)) for ii = int32(libc.Xstrlen(tls, bp+8 /* &zDirname[0] */)); (ii > 0) && (int32(*(*int8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */ + uintptr(ii)))) != '/'); ii-- { } if ii > 0 { @@ -23847,7 +24352,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql if fd >= 0 { return SQLITE_OK } - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+2490 /* "openDirectory" */, bp+8 /* &zDirname[0] */, 37775) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+2505 /* "openDirectory" */, bp+8 /* &zDirname[0] */, 37775) } // Make sure all writes to a particular file are committed to disk. @@ -23882,7 +24387,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 if rc != 0 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+2778 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+2793 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) } // Also fsync the directory containing the file if the DIRSYNC flag @@ -23920,7 +24425,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 { /* sqlite3.c:378 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+2409 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2424 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) } else { // If the file was just truncated to a size smaller than the currently @@ -23999,7 +24504,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c if iWrite >= nSize { iWrite = (nSize - int64(1)) } - nWrite = seekAndWrite(tls, pFile, iWrite, ts+740 /* "" */, 1) + nWrite = seekAndWrite(tls, pFile, iWrite, ts+755 /* "" */, 1) if nWrite != 1 { return (SQLITE_IOERR | (int32(3) << 8)) } @@ -24012,7 +24517,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c 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+2409 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2424 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) } } @@ -24086,7 +24591,7 @@ func unixFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { } case SQLITE_FCNTL_VFSNAME: { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) return SQLITE_OK } @@ -24372,7 +24877,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32 // help detect if a -shm file truncation is legitimate or is the work // or a rogue process. if (rc == SQLITE_OK) && (robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0) { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+2409 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+2424 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) } } } else if int32((*flock)(unsafe.Pointer(bp+8 /* &lock */)).Fl_type) == F_WRLCK { @@ -24478,7 +24983,7 @@ __4: ; libc.Xmemset(tls, pShmNode, 0, (uint32(unsafe.Sizeof(unixShmNode{})) + uint32(nShmFilename))) zShm = libc.AssignPtrUintptr(pShmNode+8 /* &.zFilename */, (pShmNode + 1*68)) - Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+2789 /* "%s-shm" */, libc.VaList(bp, zBasePath)) + Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+2804 /* "%s-shm" */, libc.VaList(bp, zBasePath)) (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = -1 (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pDbFd)).FpInode)).FpShmNode = pShmNode @@ -24500,7 +25005,7 @@ __5: if !(int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FbProcessLock) == 0) { goto __7 } - if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+2796 /* "readonly_shm" */, 0)) { + if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+2811 /* "readonly_shm" */, 0)) { goto __8 } (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = robust_open(tls, zShm, ((O_RDWR | O_CREAT) | 0100000), @@ -24515,7 +25020,7 @@ __8: if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) { goto __10 } - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+2373 /* "open" */, zShm, 38716) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+2388 /* "open" */, zShm, 38716) goto shm_open_err __10: ; @@ -24682,11 +25187,11 @@ __11: goto __13 } *(*int32)(unsafe.Pointer(bp + 104 /* x */)) = 0 - if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+740 /* "" */, 1, bp+104 /* &x */) != 1) { + if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+755 /* "" */, 1, bp+104 /* &x */) != 1) { goto __14 } zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+2444 /* "write" */, zFile, 38860) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+2459 /* "write" */, zFile, 38860) goto shmpage_out __14: ; @@ -24734,7 +25239,7 @@ __16: if !(pMem == (libc.UintptrFromInt32(-1))) { goto __20 } - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+2531 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+2546 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) goto shmpage_out __20: ; @@ -24993,7 +25498,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39165:13: */ // continue accessing the database using the xRead() and xWrite() // methods. func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13: */ - var zErr uintptr = ts + 2531 /* "mmap" */ + var zErr uintptr = ts + 2546 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping var nOrig I64 = (*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual // Size of pOrig region in bytes @@ -25010,7 +25515,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13 } pNew = (*(*func(*libc.TLS, uintptr, Size_t, Size_t, int32, uintptr) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 24*12 + 4 /* &.pCurrent */))))(tls, pOrig, uint32(nReuse), uint32(nNew), MREMAP_MAYMOVE, 0) - zErr = ts + 2543 /* "mremap" */ + zErr = ts + 2558 /* "mremap" */ // The attempt to extend the existing mapping failed. Free it. if (pNew == (libc.UintptrFromInt32(-1))) || (pNew == uintptr(0)) { @@ -25246,10 +25751,10 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename } return uintptr(0) }(), - ts+2809 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { + ts+2824 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { *(*uint16)(unsafe.Pointer(pNew + 18 /* &.ctrlFlags */)) |= uint16((UNIXFILE_PSOW)) } - if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+2814 /* "unix-excl" */) == 0 { + if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+2829 /* "unix-excl" */) == 0 { *(*uint16)(unsafe.Pointer(pNew + 18 /* &.ctrlFlags */)) |= uint16((UNIXFILE_EXCL)) } @@ -25295,7 +25800,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename if zLockFile == uintptr(0) { rc = SQLITE_NOMEM } else { - Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+2824 /* "%s.lock" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+2839 /* "%s.lock" */, libc.VaList(bp, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext = zLockFile } @@ -25325,10 +25830,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var zDir uintptr = Xsqlite3_temp_directory if !(int32(azDirs[0]) != 0) { - azDirs[0] = libc.Xgetenv(tls, ts+2832 /* "SQLITE_TMPDIR" */) + azDirs[0] = libc.Xgetenv(tls, ts+2847 /* "SQLITE_TMPDIR" */) } if !(int32(azDirs[1]) != 0) { - azDirs[1] = libc.Xgetenv(tls, ts+2846 /* "TMPDIR" */) + azDirs[1] = libc.Xgetenv(tls, ts+2861 /* "TMPDIR" */) } for 1 != 0 { if (((zDir != uintptr(0)) && @@ -25348,10 +25853,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var azDirs = [6]uintptr{ uintptr(0), uintptr(0), - ts + 2853, /* "/var/tmp" */ - ts + 2862, /* "/usr/tmp" */ - ts + 2871, /* "/tmp" */ - ts + 753, /* "." */ + ts + 2868, /* "/var/tmp" */ + ts + 2877, /* "/usr/tmp" */ + ts + 2886, /* "/tmp" */ + ts + 768, /* "." */ } /* sqlite3.c:39857:21 */ // Create a temporary file name in zBuf. zBuf must be allocated @@ -25379,7 +25884,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U64(0))), bp+24 /* &r */) *(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2)))) = int8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+2876, /* "%s/etilqs_%llx%c" */ + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+2891, /* "%s/etilqs_%llx%c" */ libc.VaList(bp, zDir, *(*U64)(unsafe.Pointer(bp + 24 /* r */)), 0)) if (int32(*(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2))))) != 0) || ((libc.PostIncInt32(&iLimit, 1)) > 10) { return SQLITE_ERROR @@ -25535,7 +26040,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // filename, check for the "modeof" parameter. If present, interpret // its value as a filename and try to copy the mode, uid and gid from // that file. - var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+2893 /* "modeof" */) + var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+2908 /* "modeof" */) if z != 0 { rc = getFileMode(tls, z, pMode, pUid, pGid) } @@ -25761,7 +26266,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+2373 /* "open" */, zName, 40257) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+2388 /* "open" */, zName, 40257) if !(rc == SQLITE_OK) { goto __20 } @@ -25872,7 +26377,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+2483 /* "unlink" */, zPath, 40396) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+2498 /* "unlink" */, zPath, 40396) } return rc } @@ -25882,7 +26387,7 @@ 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 /* &.pCurrent */))))(tls, zPath, bp /* &fd */) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp /* fd */)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+2900 /* "fsync" */, zPath, 40406) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+2915 /* "fsync" */, zPath, 40406) } robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 40408) } else { @@ -25957,7 +26462,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*12 + 4 /* &.pCurrent */))))(tls, zOut, (uint32(nOut-2))) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+2391 /* "getcwd" */, zPath, 40485) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+2406 /* "getcwd" */, zPath, 40485) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -25968,7 +26473,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) return Xsqlite3CantopenError(tls, 40494) } - Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+2775 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+2790 /* "%s" */, libc.VaList(bp, zPath)) // Remove duplicate '/' characters. Except, two // at the beginning // of a pathname is allowed since this is important on windows. @@ -26043,7 +26548,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 27*12 + 4 /* &.pCurrent */))))(tls, zIn, bp /* &buf */) != 0 { if (*(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+2571 /* "lstat" */, zIn, 40577) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+2586 /* "lstat" */, zIn, 40577) } } else { bLink = (libc.Bool32((((*stat)(unsafe.Pointer(bp /* &buf */)).Fst_mode) & X__mode_t(0170000)) == (X__mode_t(0120000)))) @@ -26063,7 +26568,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if rc == SQLITE_OK { nByte = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*12 + 4 /* &.pCurrent */))))(tls, zIn, zDel, (uint32(nOut - 1))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+2562 /* "readlink" */, zIn, 40595) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+2577 /* "readlink" */, zIn, 40595) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 @@ -26155,7 +26660,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixEnterMutex(tls) zErr = libc.Xdlerror(tls) if zErr != 0 { - Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+2775 /* "%s" */, libc.VaList(bp, zErr)) + Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+2790 /* "%s" */, libc.VaList(bp, zErr)) } unixLeaveMutex(tls) } @@ -26212,7 +26717,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in { var fd int32 var got int32 - fd = robust_open(tls, ts+2906 /* "/dev/urandom" */, O_RDONLY, uint32(0)) + fd = robust_open(tls, ts+2921 /* "/dev/urandom" */, O_RDONLY, uint32(0)) if fd < 0 { // var t Time_t at bp, 4 @@ -26509,10 +27014,10 @@ func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42038:16: */ } var aVfs = [4]Sqlite3_vfs{ - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2919 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2924 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2934 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2814 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2934 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2939 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2949 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2829 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, } /* sqlite3.c:42091:22 */ // Shutdown the operating system interface. @@ -26604,7 +27109,7 @@ var memdb_g MemFS /* sqlite3.c:48620:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) FmxPathname: 1024, // pNext - FzName: ts + 2947, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 2962, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -26836,7 +27341,7 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 var rc int32 = SQLITE_NOTFOUND memdbEnter(tls, p) if op == SQLITE_FCNTL_VFSNAME { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2953 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2968 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == SQLITE_FCNTL_SIZE_LIMIT { @@ -26979,7 +27484,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(8) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+2775 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+2790 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } @@ -27096,7 +27601,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = Xsqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, ts+2968 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+2983 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) } else { @@ -27169,7 +27674,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+2991 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+3006 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) if !(zSql == uintptr(0)) { goto __3 } @@ -32645,7 +33150,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+3006, /* "recovered %d pag..." */ + Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+3021, /* "recovered %d pag..." */ libc.VaList(bp, nPlayback, (*Pager)(unsafe.Pointer(pPager)).FzJournal)) __27: ; @@ -34397,7 +34902,7 @@ __15: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzJournal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint32(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+3033 /* "-journal" */, uint32(8)) + libc.Xmemcpy(tls, pPtr, ts+3048 /* "-journal" */, uint32(8)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -34412,7 +34917,7 @@ __19: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzWal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint32(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+3042 /* "-wal" */, uint32(4)) + libc.Xmemcpy(tls, pPtr, ts+3057 /* "-wal" */, uint32(4)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -34471,9 +34976,9 @@ __27: ; __26: ; - (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3047 /* "nolock" */, 0)) + (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3062 /* "nolock" */, 0)) if !(((iDc & SQLITE_IOCAP_IMMUTABLE) != 0) || - (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3054 /* "immutable" */, 0) != 0)) { + (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3069 /* "immutable" */, 0) != 0)) { goto __30 } vfsFlags = vfsFlags | (SQLITE_OPEN_READONLY) @@ -38367,7 +38872,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+3064, /* "recovered %d fra..." */ + ts+3079, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -39111,7 +39616,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+3101 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) + Xsqlite3_log(tls, rx, ts+3116 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) } } @@ -41891,7 +42396,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:65443: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3127 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3142 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -43931,7 +44436,7 @@ func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt mutexOpen = uintptr(0) rc = SQLITE_OK isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zFilename))) == 0))) - isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+3143 /* ":memory:" */) == 0)) || + isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+3158 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -44805,7 +45310,7 @@ __10: // // The original design allowed these amounts to vary, but as of // version 3.6.0, we require them to be fixed. - if !(libc.Xmemcmp(tls, (page1+21), ts+3152 /* "@ " */, uint32(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+3167 /* "@ " */, uint32(3)) != 0) { goto __14 } goto page1_init_failed @@ -52320,7 +52825,7 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 40 /* &.errMsg */), ts+3156 /* "\n" */, 1) + Xsqlite3_str_append(tls, (pCheck + 40 /* &.errMsg */), ts+3171 /* "\n" */, 1) } if (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, (pCheck + 40 /* &.errMsg */), (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -52356,11 +52861,11 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 defer tls.Free(16) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { - checkAppendMsg(tls, pCheck, ts+3158 /* "invalid page num..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+3173 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+3181 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) + checkAppendMsg(tls, pCheck, ts+3196 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+288 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -52387,13 +52892,13 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 } - checkAppendMsg(tls, pCheck, ts+3206 /* "Failed to read p..." */, libc.VaList(bp, iChild)) + checkAppendMsg(tls, pCheck, ts+3221 /* "Failed to read p..." */, libc.VaList(bp, iChild)) return } if (int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, - ts+3235, /* "Bad ptr map entr..." */ + ts+3250, /* "Bad ptr map entr..." */ libc.VaList(bp+8, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)))) } } @@ -52416,7 +52921,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } N-- if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+40 /* &pOvflPage */, 0) != 0 { - checkAppendMsg(tls, pCheck, ts+3289 /* "failed to get pa..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+3304 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) @@ -52427,7 +52932,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+3311 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) + ts+3326 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -52453,12 +52958,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, - ts+3350, /* "%s is %d but sho..." */ + ts+3365, /* "%s is %d but sho..." */ libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { - return ts + 3376 /* "size" */ + return ts + 3391 /* "size" */ } - return ts + 3381 /* "overflow list le..." */ + return ts + 3396 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -52602,13 +53107,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3402 /* "Page %u: " */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3417 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+96 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, - ts+3412 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+3427 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -52622,7 +53127,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+3450 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) + ts+3465 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; @@ -52630,7 +53135,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+3488 /* "free space corru..." */, libc.VaList(bp+16, rc)) + checkAppendMsg(tls, pCheck, ts+3503 /* "free space corru..." */, libc.VaList(bp+16, rc)) goto end_of_check __5: ; @@ -52638,7 +53143,7 @@ __5: hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FhdrOffset) // Set up for cell analysis - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3510 /* "On tree page %u ..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3525 /* "On tree page %u ..." */ contentOffset = (U32(((((int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5)))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5))) + 1)))) - 1) & 0xffff) + 1)) // Enforced by btreeInitPage() @@ -52660,7 +53165,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3536 /* "On page %u at ri..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3551 /* "On page %u at ri..." */ checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; @@ -52691,7 +53196,7 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+3564, /* "Offset %d out of..." */ + checkAppendMsg(tls, pCheck, ts+3579, /* "Offset %d out of..." */ libc.VaList(bp+24, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 @@ -52702,7 +53207,7 @@ __12: if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+3594 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+3609 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -52720,7 +53225,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+3618 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+3633 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) __15: ; *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 112 /* &info */)).FnKey @@ -52761,7 +53266,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+3642 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+3657 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -52859,7 +53364,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+3667 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) + ts+3682 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) goto __30 goto __32 __31: @@ -52879,7 +53384,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+3704, /* "Fragmentation of..." */ + ts+3719, /* "Fragmentation of..." */ libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -53008,7 +53513,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 3756 /* "Main freelist: " */ + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 3771 /* "Main freelist: " */ checkList(tls, bp+32 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) @@ -53046,7 +53551,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+3772, /* "max rootpage (%d..." */ + ts+3787, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -53056,7 +53561,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+3817 /* "incremental_vacu..." */, 0) + ts+3832 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -53106,13 +53611,13 @@ __23: if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3872 /* "Page %d is never..." */, libc.VaList(bp+16, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3887 /* "Page %d is never..." */, libc.VaList(bp+16, i)) __26: ; if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3894 /* "Pointer map page..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3909 /* "Pointer map page..." */, libc.VaList(bp+24, i)) __27: ; goto __24 @@ -53431,7 +53936,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint32(unsafe.Sizeof(Parse{}))) (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = pDb if Xsqlite3OpenTempDatabase(tls, bp+16 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+2775 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+2790 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg) @@ -53442,7 +53947,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+3928 /* "unknown database..." */, libc.VaList(bp+8, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+3943 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -53463,7 +53968,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76336:12: */ // message in database handle db. func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:76348:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { - Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+3948 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+3963 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -53490,7 +53995,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+3979 /* "source and desti..." */, 0) + pDestDb, SQLITE_ERROR, ts+3994 /* "source and desti..." */, 0) p = uintptr(0) } else { // Allocate space for a new sqlite3_backup object... @@ -54104,7 +54609,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 8 /* x */)), zBuf) } else { Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+4019, /* "%!.15g" */ + Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+4034, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -54745,7 +55250,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -54951,6 +55456,8 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 (*Mem)(unsafe.Pointer(pMem)).Fflags = flags if enc != 0 { (*Mem)(unsafe.Pointer(pMem)).Fenc = enc + } else if (*Mem)(unsafe.Pointer(pMem)).Fdb == uintptr(0) { + (*Mem)(unsafe.Pointer(pMem)).Fenc = U8(SQLITE_UTF8) } else { (*Mem)(unsafe.Pointer(pMem)).Fenc = (*Sqlite3)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fdb)).Fenc @@ -55255,7 +55762,7 @@ __9: goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) + Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: Xsqlite3ValueApplyAffinity(tls, pVal, aff, uint8(SQLITE_UTF8)) @@ -55327,7 +55834,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 zVal = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = uintptr(0) negInt = 1 - zNeg = ts + 740 /* "" */ + zNeg = ts + 755 /* "" */ rc = SQLITE_OK __1: @@ -55376,7 +55883,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 4026 /* "-" */ + zNeg = ts + 4041 /* "-" */ __6: ; @@ -55396,7 +55903,7 @@ __9: Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: - zVal = Xsqlite3MPrintf(tls, db, ts+4028 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + zVal = Xsqlite3MPrintf(tls, db, ts+4043 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) if !(zVal == uintptr(0)) { goto __12 } @@ -56841,34 +57348,34 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4033 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4048 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 20 /* &.aColl */) + uintptr(j)*4)) var zColl uintptr if pColl != 0 { zColl = (*CollSeq)(unsafe.Pointer(pColl)).FzName } else { - zColl = ts + 740 /* "" */ + zColl = ts + 755 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+303 /* "BINARY" */) == 0 { - zColl = ts + 4038 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+318 /* "BINARY" */) == 0 { + zColl = ts + 4053 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4040, /* ",%s%s%s" */ + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4055, /* ",%s%s%s" */ libc.VaList(bp+8, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { - return ts + 4026 /* "-" */ + return ts + 4041 /* "-" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 4048 /* "N." */ + return ts + 4063 /* "N." */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4066 /* ")" */, 1) break } @@ -56876,7 +57383,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4053 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4068 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -56884,32 +57391,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4062 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4077 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4062 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4077 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4069 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4084 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4074 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4089 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+523 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+538 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -56919,14 +57426,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4069 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4084 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+523 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+538 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { - zP4 = ts + 741 /* "NULL" */ + zP4 = ts + 756 /* "NULL" */ } else { - zP4 = ts + 4077 /* "(blob)" */ + zP4 = ts + 4092 /* "(blob)" */ } break @@ -56934,7 +57441,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4084 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4099 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -56945,20 +57452,20 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4092 /* "%c%u" */, libc.VaList(bp+128, func() int32 { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4107 /* "%c%u" */, libc.VaList(bp+128, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4097 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4112 /* "]" */, 1) break } case -4: { - zP4 = ts + 4099 /* "program" */ + zP4 = ts + 4114 /* "program" */ break } @@ -56990,7 +57497,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } -var encnames = [4]uintptr{ts + 4107 /* "?" */, ts + 4109 /* "8" */, ts + 4111 /* "16LE" */, ts + 4116 /* "16BE" */} /* sqlite3.c:80570:25 */ +var encnames = [4]uintptr{ts + 4122 /* "?" */, ts + 4124 /* "8" */, ts + 4126 /* "16LE" */, ts + 4131 /* "16BE" */} /* sqlite3.c:80570:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -57522,8 +58029,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 4121 /* "addr" */, ts + 4126 /* "opcode" */, ts + 4133 /* "p1" */, ts + 4136 /* "p2" */, ts + 4139 /* "p3" */, ts + 4142 /* "p4" */, ts + 4145 /* "p5" */, ts + 4148, /* "comment" */ - ts + 4156 /* "id" */, ts + 4159 /* "parent" */, ts + 4166 /* "notused" */, ts + 4174, /* "detail" */ + ts + 4136 /* "addr" */, ts + 4141 /* "opcode" */, ts + 4148 /* "p1" */, ts + 4151 /* "p2" */, ts + 4154 /* "p3" */, ts + 4157 /* "p4" */, ts + 4160 /* "p5" */, ts + 4163, /* "comment" */ + ts + 4171 /* "id" */, ts + 4174 /* "parent" */, ts + 4181 /* "notused" */, ts + 4189, /* "detail" */ } /* sqlite3.c:81298:23 */ // Close a VDBE cursor and release all the resources that cursor @@ -57771,7 +58278,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Select a super-journal file name nMainFile = Xsqlite3Strlen30(tls, zMainFile) - zSuper = Xsqlite3MPrintf(tls, db, ts+4181 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) + zSuper = Xsqlite3MPrintf(tls, db, ts+4196 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) if zSuper == uintptr(0) { return SQLITE_NOMEM } @@ -57781,16 +58288,16 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+4193 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+4208 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+4207 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+4222 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) } } retryCount++ Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &iRandom */) - Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+4222, /* "-mj%06X9%02X" */ + Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+4237, /* "-mj%06X9%02X" */ libc.VaList(bp+40, ((*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. @@ -57984,7 +58491,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq (!(deferred != 0) && ((*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0))) { (*Vdbe)(unsafe.Pointer(p)).Frc = (SQLITE_CONSTRAINT | (int32(3) << 8)) (*Vdbe)(unsafe.Pointer(p)).FerrorAction = U8(OE_Abort) - Xsqlite3VdbeError(tls, p, ts+4235 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4250 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -58266,7 +58773,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: // called), set the database error in this case as well. Xsqlite3ErrorWithMsg(tls, db, (*Vdbe)(unsafe.Pointer(p)).Frc, func() uintptr { if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -59817,13 +60324,13 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023 var zContext uintptr var zMsg uintptr if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_IsCheck) != 0 { - zContext = ts + 4265 /* "a CHECK constrai..." */ + zContext = ts + 4280 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 4284 /* "a generated colu..." */ + zContext = ts + 4299 /* "a generated colu..." */ } else { - zContext = ts + 4303 /* "an index" */ + zContext = ts + 4318 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+4312, /* "non-deterministi..." */ + zMsg = Xsqlite3_mprintf(tls, ts+4327, /* "non-deterministi..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -59954,7 +60461,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84185:1 // invalid). Return false if it is ok. func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+4348 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+4363 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -59964,7 +60471,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84204:12: */ if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+4393 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+4408 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -60434,7 +60941,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:84708:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG - Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+4433 /* "string or blob t..." */, int64(-1), + Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+4448 /* "string or blob t..." */, int64(-1), uint8(SQLITE_UTF8), uintptr(0)) } @@ -61185,7 +61692,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12 Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+4456 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) + ts+4471 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) return Xsqlite3MisuseError(tls, 85498) } if (i < 1) || (i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar)) { @@ -61962,7 +62469,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4496 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4511 /* "-- " */, 3) Xsqlite3_str_append(tls, bp+48 /* &out */, zStart, ((int32(zRawSql) - int32(zStart)) / 1)) } @@ -62000,11 +62507,11 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 176 /* idx */))-1))*40) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+741 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+756 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4069 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4084 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4019 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4034 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc @@ -62019,21 +62526,21 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = bp + 184 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4500 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4515 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { Xsqlite3VdbeMemRelease(tls, bp+184 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4507 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4522 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4520 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4535 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4523 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4538 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4528 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4543 /* "'" */, 1) } } } @@ -65732,19 +66239,19 @@ __190: goto __193 } - Xsqlite3VdbeError(tls, p, ts+4530 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) + Xsqlite3VdbeError(tls, p, ts+4545 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __195 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+4551 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+4566 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __195: ; goto __194 __193: - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __194: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+4558 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+4573 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __192: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -68294,7 +68801,7 @@ __74: } // A new savepoint cannot be created if there are active write // statements (i.e. open read/write incremental blob handles). - Xsqlite3VdbeError(tls, p, ts+4582 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4597 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __448 __447: @@ -68367,7 +68874,7 @@ __455: if !(!(pSavepoint != 0)) { goto __456 } - Xsqlite3VdbeError(tls, p, ts+4633 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) + Xsqlite3VdbeError(tls, p, ts+4648 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) rc = SQLITE_ERROR goto __457 __456: @@ -68377,7 +68884,7 @@ __456: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+4655 /* "cannot release s..." */, 0) + ts+4670 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __459 __458: @@ -68582,7 +69089,7 @@ __488: // If this instruction implements a COMMIT and other VMs are writing // return an error indicating that the other VMs must complete first. Xsqlite3VdbeError(tls, p, - ts+4709 /* "cannot commit tr..." */, 0) + ts+4724 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __491 @@ -68625,13 +69132,13 @@ __486: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 4764 /* "cannot start a t..." */ + return ts + 4779 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 4812 /* "cannot rollback ..." */ + return ts + 4827 /* "cannot rollback ..." */ } - return ts + 4855 /* "cannot commit - ..." */ + return ts + 4870 /* "cannot commit - ..." */ }() }(), 0) @@ -68749,7 +69256,7 @@ __498: // version is checked to ensure that the schema has not changed since the // SQL statement was prepared. Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+4896 /* "database schema ..." */) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+4911 /* "database schema ..." */) // If the schema-cookie from the database file matches the cookie // stored with the in-memory representation of the schema, do // not reload the schema from the database file. @@ -69131,7 +69638,7 @@ __84: // Only used when number of columns is zero (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*40)).Fn = 0 - (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*40)).Fz = ts + 740 /* "" */ + (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*40)).Fz = ts + 755 /* "" */ __524: ; pCx1 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*4)) @@ -71261,7 +71768,7 @@ __688: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __691 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+4924 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+4939 /* "index corruption" */) goto abort_due_to_error __691: ; @@ -71694,14 +72201,14 @@ __137: goto __720 __719: - zSchema = ts + 4941 /* "sqlite_master" */ + zSchema = ts + 4956 /* "sqlite_master" */ (*InitData)(unsafe.Pointer(bp + 604 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 604 /* &initData */)).FiDb = iDb3 (*InitData)(unsafe.Pointer(bp + 604 /* &initData */)).FpzErrMsg = (p + 124 /* &.zErrMsg */) (*InitData)(unsafe.Pointer(bp + 604 /* &initData */)).FmInitFlags = U32(0) (*InitData)(unsafe.Pointer(bp + 604 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*16)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+4955, /* "SELECT*FROM\"%w\"...." */ + ts+4970, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp+64, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*16)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __721 @@ -72034,7 +72541,7 @@ __741: goto __746 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+4998 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+5013 /* "too many levels ..." */, 0) goto abort_due_to_error __746: ; @@ -72479,7 +72986,7 @@ __781: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __783 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __783: ; @@ -72557,7 +73064,7 @@ __788: if !(rc != 0) { goto __789 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __789: ; @@ -72672,12 +73179,12 @@ __798: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+5035, /* "cannot change %s..." */ + ts+5050, /* "cannot change %s..." */ libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 5087 /* "into" */ + return ts + 5102 /* "into" */ } - return ts + 5092 /* "out of" */ + return ts + 5107 /* "out of" */ }())) goto abort_due_to_error goto __801 @@ -72880,7 +73387,7 @@ __167: goto __816 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+5099 /* "database table i..." */, libc.VaList(bp+112, z1)) + Xsqlite3VdbeError(tls, p, ts+5114 /* "database table i..." */, libc.VaList(bp+112, z1)) __816: ; goto abort_due_to_error @@ -73124,7 +73631,7 @@ __833: if !((*Sqlite3_context)(unsafe.Pointer(bp+716 /* &sContext */)).FisError > 0) { goto __834 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) rc = (*Sqlite3_context)(unsafe.Pointer(bp + 716 /* &sContext */)).FisError __834: ; @@ -73455,7 +73962,7 @@ __857: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __862 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __862: ; @@ -73545,7 +74052,7 @@ __867: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __869 } - z3 = Xsqlite3MPrintf(tls, db, ts+5128 /* "-- %s" */, libc.VaList(bp+136, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+5143 /* "-- %s" */, libc.VaList(bp+136, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 208 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __870 @@ -73648,13 +74155,13 @@ __878: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __880 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) __880: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) - Xsqlite3_log(tls, rc, ts+5134, /* "statement aborts..." */ + Xsqlite3_log(tls, rc, ts+5149, /* "statement aborts..." */ libc.VaList(bp+152, ((int32(pOp)-int32(aOp))/20), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { @@ -73699,14 +74206,14 @@ __884: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+4433 /* "string or blob t..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4448 /* "string or blob t..." */, 0) rc = SQLITE_TOOBIG goto abort_due_to_error // Jump to here if a malloc() fails. no_mem: Xsqlite3OomFault(tls, db) - Xsqlite3VdbeError(tls, p, ts+5166 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+5181 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -73719,8 +74226,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 5180 /* "NOT NULL" */, ts + 5189 /* "UNIQUE" */, ts + 5196, /* "CHECK" */ - ts + 5202 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ +var azType = [4]uintptr{ts + 5195 /* "NOT NULL" */, ts + 5204 /* "UNIQUE" */, ts + 5211, /* "CHECK" */ + ts + 5217 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:88844:32 */ var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:88847:32 */ var aFlag1 = [2]U16{U16(MEM_Blob), (U16(MEM_Str | MEM_Term))} /* sqlite3.c:89315:24 */ @@ -73827,16 +74334,16 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } if type1 < U32(12) { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5214, /* "cannot open valu..." */ + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5229, /* "cannot open valu..." */ libc.VaList(bp, func() uintptr { if type1 == U32(0) { - return ts + 5243 /* "null" */ + return ts + 5258 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 5248 /* "real" */ + return ts + 5263 /* "real" */ } - return ts + 5253 /* "integer" */ + return ts + 5268 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -73856,10 +74363,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5261 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5276 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+2775 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+2790 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -73922,21 +74429,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5281 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5296 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5311 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5326 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5347 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5362 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) __7: ; if !(!(pTab != 0)) { @@ -73981,7 +74488,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5368 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) + *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5383 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -74010,7 +74517,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+36 /* &.aCol */)+uintptr(j)*8)).FiFrom == iCol) { goto __23 } - zFault = ts + 5389 /* "foreign key" */ + zFault = ts + 5404 /* "foreign key" */ __23: ; goto __21 @@ -74043,7 +74550,7 @@ __27: if !((int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == iCol) || (int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == (-2))) { goto __30 } - zFault = ts + 5401 /* "indexed" */ + zFault = ts + 5416 /* "indexed" */ __30: ; goto __28 @@ -74064,7 +74571,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5409 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) + *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5424 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -74173,7 +74680,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)))) @@ -74338,7 +74845,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) @@ -77894,7 +78401,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+5443 /* "main" */, zDb) == 0)) { + if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+5458 /* "main" */, zDb) == 0)) { goto __8 } // This branch is taken when the main database has been renamed @@ -78097,14 +78604,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5448 /* "new" */, zTab) == 0)) { + if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5463 /* "new" */, zTab) == 0)) { goto __41 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 1 pTab = (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab goto __42 __41: - if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5452 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5467 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -78121,7 +78628,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 8 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+5456 /* "excluded" */, zTab) == 0)) { + if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+5471 /* "excluded" */, zTab) == 0)) { goto __45 } pTab = (*SrcItem)(unsafe.Pointer(((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8 /* &.a */))).FpTab @@ -78298,7 +78805,7 @@ __66: if !((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0) && (((*Expr)(unsafe.Pointer((pOrig))).Fflags & (U32(EP_Agg))) != U32(0))) { goto __70 } - Xsqlite3ErrorMsg(tls, pParse, ts+5465 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+5480 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -78306,14 +78813,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+5496 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+5511 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) return WRC_Abort __71: ; if !(Xsqlite3ExprVectorSize(tls, pOrig) != 1) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -78389,7 +78896,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+5551 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) + ts+5566 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 44 /* &.y */)) = uintptr(0) return WRC_Prune @@ -78410,23 +78917,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 5586 /* "no such column" */ + zErr = ts + 5601 /* "no such column" */ } else { - zErr = ts + 5601 /* "ambiguous column..." */ + zErr = ts + 5616 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+5623 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5638 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+5636 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5651 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+5646 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5661 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -78560,15 +79067,15 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp bp := tls.Alloc(16) defer tls.Free(16) - var zIn uintptr = ts + 5653 /* "partial index WH..." */ + var zIn uintptr = ts + 5668 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 5681 /* "index expression..." */ + zIn = ts + 5696 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 5699 /* "CHECK constraint..." */ + zIn = ts + 5714 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 5717 /* "generated column..." */ + zIn = ts + 5732 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+5735 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) + Xsqlite3ErrorMsg(tls, pParse, ts+5750 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) if pExpr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } @@ -78676,10 +79183,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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 /* &.u */)) = ts + 5755 /* "true" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5770 /* "true" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsTrue)) } else { - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5760 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5775 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) } (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) @@ -78732,7 +79239,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (NC_IdxExpr | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+5766 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+5781 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -78799,7 +79306,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+5783 /* "second argument ..." */, 0) + ts+5798 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -78824,7 +79331,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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+5854, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+5869, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -78848,7 +79355,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all // all this. if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & ((NC_IdxExpr | NC_PartIdx) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+5889 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+5904 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -78877,30 +79384,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+5917 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) + ts+5932 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) (*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 + 5961 /* "window" */ + zType = ts + 5976 /* "window" */ } else { - zType = ts + 5968 /* "aggregate" */ + zType = ts + 5983 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+5978 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+5993 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) (*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+6007 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+6022 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6030, /* "wrong number of ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6045, /* "wrong number of ..." */ libc.VaList(bp+64, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, - ts+6075, /* "FILTER may not b..." */ + ts+6090, /* "FILTER may not b..." */ libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -78975,7 +79482,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+6124 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+6139 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */))) @@ -78992,7 +79499,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s { if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+6135 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+6150 /* "parameters" */, pExpr) } break @@ -79052,7 +79559,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) } break @@ -79157,7 +79664,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+6146 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) + ts+6161 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) } // Analyze the ORDER BY clause in a compound SELECT statement. Modify @@ -79189,7 +79696,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 + 112 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6202 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6217 /* "too many terms i..." */, 0) return 1 } for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { @@ -79224,7 +79731,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 } if Xsqlite3ExprIsInteger(tls, pE, bp+8 /* &iCol */) != 0 { if (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { - resolveOutOfRangeError(tls, pParse, ts+6236 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+6251 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -79295,7 +79802,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { if (int32(*(*uint8)(unsafe.Pointer(((pOrderBy + 8 /* &.a */) + uintptr(i)*20) + 12 /* &.done */)) & 0x4 >> 2)) == 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+6242 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+6257 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -79323,7 +79830,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6303 /* "too many terms i..." */, libc.VaList(bp, zType)) + Xsqlite3ErrorMsg(tls, pParse, ts+6318 /* "too many terms i..." */, libc.VaList(bp, zType)) return 1 } pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList @@ -79612,7 +80119,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp /* &sNC */ + 24 /* &.ncFlags */)) |= (NC_UEList) if (*Select)(unsafe.Pointer(p)).FpHaving != 0 { if !(pGroupBy != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+6334 /* "a GROUP BY claus..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6349 /* "a GROUP BY claus..." */, 0) return WRC_Abort } if Xsqlite3ResolveExprNames(tls, bp /* &sNC */, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -79669,7 +80176,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // resolve those symbols on the incorrect ORDER BY for consistency. if (((*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0)) && (isCompound <= nCompound)) && // Defer right-most ORDER BY of a compound - (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6236 /* "ORDER" */) != 0) { + (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6251 /* "ORDER" */) != 0) { return WRC_Abort } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -79682,7 +80189,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql if pGroupBy != 0 { var pItem uintptr - if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+6378 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { + if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+6393 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { return WRC_Abort } i = 0 @@ -79694,7 +80201,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql { if ((*Expr)(unsafe.Pointer(((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr))).Fflags & (U32(EP_Agg))) != U32(0) { Xsqlite3ErrorMsg(tls, pParse, - ts+6384 /* "aggregate functi..." */, 0) + ts+6399 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -80464,7 +80971,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) return } @@ -80540,7 +81047,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 112 /* &.aLimit */) + 3*4)) if nHeight > mxHeight { Xsqlite3ErrorMsg(tls, pParse, - ts+6443 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+6458 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -80781,7 +81288,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+6491 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+6506 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -80803,7 +81310,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u return uintptr(0) } if (pList != 0) && ((*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 112 /* &.aLimit */) + 6*4))) { - Xsqlite3ErrorMsg(tls, pParse, ts+6493 /* "too many argumen..." */, libc.VaList(bp, pToken)) + Xsqlite3ErrorMsg(tls, pParse, ts+6508 /* "too many argumen..." */, libc.VaList(bp, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 20 /* &.x */)) = pList *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_HasFunc)) @@ -80837,7 +81344,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // is tagged with SQLITE_FUNC_UNSAFE) and // SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning // that the schema is possibly tainted). - Xsqlite3ErrorMsg(tls, pParse, ts+6527 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6542 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) } } } @@ -80890,7 +81397,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 9*4)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+6546, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6561, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 9*4)))) return } @@ -80917,7 +81424,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*Expr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 9*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6589 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6604 /* "too many SQL var..." */, 0) } } @@ -81586,7 +82093,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+6612, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6627, /* "%d columns assig..." */ libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error __3: @@ -81721,7 +82228,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 112 /* &.aLimit */) + 2*4)) if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx) { - Xsqlite3ErrorMsg(tls, pParse, ts+6642 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+6657 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -81776,10 +82283,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 { /* sqlite3.c:103208:20: */ - if Xsqlite3StrICmp(tls, zIn, ts+5755 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+5770 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+5760 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+5775 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -82224,13 +82731,13 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 // Return TRUE if the given string is a row-id column name. func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:103650:20: */ - if Xsqlite3StrICmp(tls, z, ts+6665 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6680 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+6673 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6688 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+6679 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6694 /* "OID" */) == 0 { return 1 } return 0 @@ -82458,7 +82965,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, Xsqlite3OpenTable(tls, pParse, iTab, iDb, pTab, OP_OpenRead) eType = IN_INDEX_ROWID - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6683 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6698 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeJumpHere(tls, v, iAddr) } else { var pIdx uintptr // Iterator variable @@ -82549,7 +83056,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6730 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6745 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) @@ -82655,7 +83162,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec defer tls.Free(16) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { - var zFmt uintptr = ts + 6761 /* "sub-select retur..." */ + var zFmt uintptr = ts + 6776 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -82673,7 +83180,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_xIsSelect)) != 0 { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FpEList)).FnExpr, 1) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) } } @@ -82726,7 +83233,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6805 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6820 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FselId)) } Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ /* &.iAddr */))) @@ -82762,11 +83269,11 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6828 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6843 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 6847 /* "CORRELATED " */ + return ts + 6862 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSelect)).FselId)) // If the LHS and RHS of the IN operator do not match, that // error will have been caught long before we reach this point. @@ -82912,7 +83419,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // If this routine has already been coded, then invoke it as a // subroutine. if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6859 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6874 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ /* &.iAddr */))) return (*Expr)(unsafe.Pointer(pExpr)).FiTable @@ -82945,11 +83452,11 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6877 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6892 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 6847 /* "CORRELATED " */ + return ts + 6862 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSel)).FselId)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { nReg = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpEList)).FnExpr @@ -82973,7 +83480,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // The subquery already has a limit. If the pre-existing limit is X // then make the new limit X<>0 so that the new limit is either 1 or 0 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6491 /* "0" */) + pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6506 /* "0" */) if pLimit != 0 { (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, @@ -82983,7 +83490,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { // If there is no pre-existing limit add a limit of 1 - pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+6898 /* "1" */) + pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+6913 /* "1" */) (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -83475,12 +83982,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM c = Xsqlite3DecOrHexToI64(tls, z, bp+16 /* &value */) if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 16 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { - if Xsqlite3_strnicmp(tls, z, ts+6900 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6903 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { + if Xsqlite3_strnicmp(tls, z, ts+6915 /* "0x" */, 2) == 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+6918 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { - return ts + 4026 /* "-" */ + return ts + 4041 /* "-" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -83555,7 +84062,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT } else if (int32((*Column)(unsafe.Pointer((libc.AssignUintptr(&pCol, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20))))).FcolFlags) & COLFLAG_VIRTUAL) != 0 { var pParse uintptr = Xsqlite3VdbeParser(tls, v) if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_BUSY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6929 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6944 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else { var savedSelfTab int32 = (*Parse)(unsafe.Pointer(pParse)).FiSelfTab *(*U16)(unsafe.Pointer(pCol + 16 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) @@ -84114,7 +84621,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+6929, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6944, /* "generated column..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -84366,7 +84873,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+6959 /* "misuse of aggreg..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+6974 /* "misuse of aggreg..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*20)).FiMem @@ -84408,7 +84915,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+6985 /* "unknown function..." */, libc.VaList(bp+16, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+7000 /* "unknown function..." */, libc.VaList(bp+16, zId)) goto __3 __91: ; @@ -84602,7 +85109,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+6612, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6627, /* "%d columns assig..." */ libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -84684,7 +85191,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) goto __3 // TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions @@ -84808,7 +85315,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+7008 /* "RAISE() may only..." */, 0) + ts+7023 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -84847,7 +85354,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7058 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7073 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -86684,11 +87191,11 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq bp := tls.Alloc(8) defer tls.Free(8) - if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7066 /* "sqlite_" */, 7)) || + if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7081 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || ((((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Shadow)) != U32(0)) && (Xsqlite3ReadOnlyShadowTables(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+7074 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7089 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -86706,14 +87213,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+7102, /* "SELECT 1 FROM \"%..." */ + ts+7117, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+7277, /* "SELECT 1 FROM te..." */ + ts+7292, /* "SELECT 1 FROM te..." */ libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -86729,11 +87236,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+7451 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) + ts+7466 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+7598 /* "UPDATE temp.sqli..." */, 0) + ts+7613 /* "UPDATE temp.sqli..." */, 0) } } @@ -86807,7 +87314,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+7749 /* "there is already..." */, libc.VaList(bp, zName)) + ts+7764 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -86820,7 +87327,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+7808 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+7823 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -86830,7 +87337,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+7814 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7829 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -86883,24 +87390,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+7841 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+7856 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, - ts+8025, /* "UPDATE %Q.sqlite..." */ + ts+8040, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+64, zDb, zName, zName, zName, nTabName, zTabName)) // If the sqlite_sequence table exists in this database, then update // it with the new table name. - if !(Xsqlite3FindTable(tls, db, ts+8330 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+8345 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+8346, /* "UPDATE \"%w\".sqli..." */ + ts+8361, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -86913,7 +87420,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+8404 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+8419 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -86931,7 +87438,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+8669 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+8684 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -86946,7 +87453,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, - ts+8682, /* "SELECT raise(ABO..." */ + ts+8697, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -86994,12 +87501,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // If there is a NOT NULL constraint, then the default value for the // column must not be NULL. if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+8720 /* "Cannot add a PRI..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8735 /* "Cannot add a PRI..." */, 0) return } if (*Table)(unsafe.Pointer(pNew)).FpIndex != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+8752 /* "Cannot add a UNI..." */, 0) + ts+8767 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -87012,11 +87519,11 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if ((((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ForeignKeys)) != 0) && ((*Table)(unsafe.Pointer(pNew)).FpFKey != 0)) && (pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+8779 /* "Cannot add a REF..." */) + ts+8794 /* "Cannot add a REF..." */) } if ((*Column)(unsafe.Pointer(pCol)).FnotNull != 0) && !(pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+8838 /* "Cannot add a NOT..." */) + ts+8853 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -87032,12 +87539,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+8891 /* "Cannot add a col..." */) + ts+8906 /* "Cannot add a col..." */) } Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { - sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+8937 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+8952 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -87053,7 +87560,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+8964, /* "UPDATE \"%w\".sqli..." */ + ts+8979, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp, zDb, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zCol, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zTab)) Xsqlite3DbFree(tls, db, zCol) @@ -87124,7 +87631,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+9110 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9125 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -87133,7 +87640,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+9144 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9159 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -87168,7 +87675,7 @@ __6: nAlloc = ((((int32((*Table)(unsafe.Pointer(pNew)).FnCol) - 1) / 8) * 8) + 8) (*Table)(unsafe.Pointer(pNew)).FaCol = Xsqlite3DbMallocZero(tls, db, (uint64(uint32(unsafe.Sizeof(Column{})) * uint32(nAlloc)))) - (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+9174 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+9189 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(!(int32((*Table)(unsafe.Pointer(pNew)).FaCol) != 0) || !(int32((*Table)(unsafe.Pointer(pNew)).FzName) != 0)) { goto __7 } @@ -87215,18 +87722,18 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { - zType = ts + 9193 /* "view" */ + zType = ts + 9208 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 9198 /* "virtual table" */ + zType = ts + 9213 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+9212, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9227, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 9230 /* "drop column from" */ + return ts + 9245 /* "drop column from" */ } - return ts + 9247 /* "rename columns o..." */ + return ts + 9262 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -87319,13 +87826,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+5368 /* "no such column: ..." */, libc.VaList(bp, zOld)) + Xsqlite3ErrorMsg(tls, pParse, ts+5383 /* "no such column: ..." */, libc.VaList(bp, zOld)) goto exit_rename_column __10: ; // Ensure the schema contains no double-quoted strings - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+740 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+755 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iSchema == 1))) // Do the rename operation using a recursive UPDATE statement that @@ -87343,19 +87850,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+9265, /* "UPDATE \"%w\".sqli..." */ + ts+9280, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+8, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, - ts+9483, /* "UPDATE temp.sqli..." */ + ts+9498, /* "UPDATE temp.sqli..." */ libc.VaList(bp+72, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+8669 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+8684 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -87650,12 +88157,12 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui var zN uintptr = Xsqlite3_value_text(tls, pObject) var zErr uintptr - zErr = Xsqlite3_mprintf(tls, ts+9614, /* "error in %s %s%s..." */ + zErr = Xsqlite3_mprintf(tls, ts+9629, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - return ts + 9637 /* " " */ + return ts + 9652 /* " " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -87764,7 +88271,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // ALTER TABLE statement was quoted (bQuote==1), then set zNew to // point to zQuot so that all substitutions are made using the // quoted version of the new column name. - zQuot = Xsqlite3MPrintf(tls, db, ts+9639 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+9654 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -87814,12 +88321,12 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.Xmemcpy(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+9645 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+9660 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { - return ts + 9637 /* " " */ + return ts + 9652 /* " " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -88324,7 +88831,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+20 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+740 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+20 /* &sParse */) + renameColumnParseError(tls, context, ts+755 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+20 /* &sParse */) goto __45 __44: Xsqlite3_result_error_code(tls, context, rc) @@ -88504,7 +89011,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr } if rc != SQLITE_OK { if (*Parse)(unsafe.Pointer(bp+48 /* &sParse */)).FzErrMsg != 0 { - renameColumnParseError(tls, context, ts+740 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+48 /* &sParse */) + renameColumnParseError(tls, context, ts+755 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+48 /* &sParse */) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -88786,7 +89293,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+9650 /* "%.*s%s" */, libc.VaList(bp, ((int32((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int32(zSql))/1), zSql, zEnd)) + zNew = Xsqlite3MPrintf(tls, db, ts+9665 /* "%.*s%s" */, libc.VaList(bp, ((int32((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int32(zSql))/1), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -1, libc.UintptrFromInt32(-1)) Xsqlite3_free(tls, zNew) @@ -88874,7 +89381,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+5368 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5383 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -88884,12 +89391,12 @@ __6: if !((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*20)).FcolFlags) & (COLFLAG_PRIMKEY | COLFLAG_UNIQUE)) != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+9657, /* "cannot drop %s c..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9672, /* "cannot drop %s c..." */ libc.VaList(bp+8, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*20)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - return ts + 9685 /* "PRIMARY KEY" */ + return ts + 9700 /* "PRIMARY KEY" */ } - return ts + 5189 /* "UNIQUE" */ + return ts + 5204 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -88900,7 +89407,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+9697 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+9712 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) goto exit_drop_column __8: ; @@ -88909,15 +89416,15 @@ __8: iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+740 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+755 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+9745 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+9760 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+9866 /* "after drop colum..." */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+9881 /* "after drop colum..." */, 1) // Edit rows of table on disk if !(((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) && ((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*20)).FcolFlags) & COLFLAG_VIRTUAL) == 0)) { @@ -89028,11 +89535,11 @@ func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:109584:21: */ } var aAlterTableFuncs = [5]FuncDef{ - {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9884 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9905 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9925 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9944 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9963 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ + {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9899 /* "sqlite_rename_co..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9920 /* "sqlite_rename_ta..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9940 /* "sqlite_rename_te..." */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9959 /* "sqlite_drop_colu..." */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9978 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -89229,7 +89736,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // of the new table in register pParse->regRoot. This is important // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, - ts+9986 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) + ts+10001 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } @@ -89241,10 +89748,10 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, - ts+10009, /* "DELETE FROM %Q.%..." */ + ts+10024, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+10039 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+10054 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb) @@ -89265,9 +89772,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 10057 /* "sqlite_stat1" */, FzCols: ts + 10070 /* "tbl,idx,stat" */}, - {FzName: ts + 10083 /* "sqlite_stat4" */, FzCols: ts + 10096 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 10124 /* "sqlite_stat3" */}, + {FzName: ts + 10072 /* "sqlite_stat1" */, FzCols: ts + 10085 /* "tbl,idx,stat" */}, + {FzName: ts + 10098 /* "sqlite_stat4" */, FzCols: ts + 10111 /* "tbl,idx,neq,nlt,..." */}, + {FzName: ts + 10139 /* "sqlite_stat3" */}, } /* sqlite3.c:109773:5 */ // Recommended number of samples for sqlite_stat4 @@ -89499,7 +90006,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10137 /* "stat_init" */} /* sqlite3.c:110084:22 */ + FzName: ts + 10152 /* "stat_init" */} /* sqlite3.c:110084:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -89817,7 +90324,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10147 /* "stat_push" */} /* sqlite3.c:110374:22 */ + FzName: ts + 10162 /* "stat_push" */} /* sqlite3.c:110374:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -89874,7 +90381,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+10157, /* "%llu" */ + Xsqlite3_snprintf(tls, 24, zRet, ts+10172, /* "%llu" */ libc.VaList(bp, func() uint64 { if (*StatAccum)(unsafe.Pointer(p)).FnSkipAhead != 0 { return U64((*StatAccum)(unsafe.Pointer(p)).FnEst) @@ -89885,7 +90392,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+10162 /* " %llu" */, libc.VaList(bp+8, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+10177 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -89934,7 +90441,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+10168 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+10183 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -89951,7 +90458,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10174 /* "stat_get" */} /* sqlite3.c:110526:22 */ + FzName: ts + 10189 /* "stat_get" */} /* sqlite3.c:110526:22 */ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:110538:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, (regStat + 1)) @@ -89998,7 +90505,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Do not gather statistics on views or virtual tables return } - if Xsqlite3_strlike(tls, ts+10183 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, ts+10198 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { // Do not gather statistics on system tables return } @@ -90016,7 +90523,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp return } (*Table)(unsafe.Pointer(pStat1)).FzName = (pStat1 + 1*76) - libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+10057 /* "sqlite_stat1" */, uint32(13)) + libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+10072 /* "sqlite_stat1" */, uint32(13)) (*Table)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*Table)(unsafe.Pointer(pStat1)).FiPKey = int16(-1) Xsqlite3VdbeAddOp4(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Noop, 0, 0, 0, pStat1, -17) @@ -90249,7 +90756,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Add the entry to the stat1 table. callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10193 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10208 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP4(tls, v, -1, pStat1, -6) @@ -90311,7 +90818,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp jZeroRows = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, regStat1) Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regIdxname) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10193 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10208 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -90364,9 +90871,9 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) iStatCur = (*Parse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 40 /* &.nTab */)) += (3) if pOnlyIdx != 0 { - openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+10197 /* "idx" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+10212 /* "idx" */) } else { - openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10201 /* "tbl" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10216 /* "tbl" */) } analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1), (*Parse)(unsafe.Pointer(pParse)).FnTab) loadAnalysis(tls, pParse, iDb) @@ -90461,7 +90968,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 740 /* "" */ + z = ts + 755 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -90483,15 +90990,15 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.bUnordered */, uint32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.noSkipScan */, uint32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, ts+10205 /* "unordered*" */, z) == 0 { + if Xsqlite3_strglob(tls, ts+10220 /* "unordered*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.bUnordered */, uint32(1), 2, 0x4) - } else if Xsqlite3_strglob(tls, ts+10216 /* "sz=[0-9]*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+10231 /* "sz=[0-9]*" */, z) == 0 { var sz int32 = Xsqlite3Atoi(tls, (z + uintptr(3))) if sz < 2 { sz = 2 } (*Index)(unsafe.Pointer(pIndex)).FszIdxRow = Xsqlite3LogEst(tls, uint64(sz)) - } else if Xsqlite3_strglob(tls, ts+10226 /* "noskipscan*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+10241 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.noSkipScan */, uint32(1), 6, 0x40) } for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { @@ -90810,10 +91317,10 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:111438:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines - if Xsqlite3FindTable(tls, db, ts+10083 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+10098 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+10238, /* "SELECT idx,count..." */ - ts+10292, /* "SELECT idx,neq,n..." */ + ts+10253, /* "SELECT idx,count..." */ + ts+10307, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -90864,9 +91371,9 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // Load new statistics out of the sqlite_stat1 table (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).Fdb = db (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+10057 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { + if Xsqlite3FindTable(tls, db, ts+10072 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+10344 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) + ts+10359 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { @@ -90958,7 +91465,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // database iDb attached to handle db. func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:111595:20: */ return (libc.Bool32((Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zName) == 0) || - ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+5443 /* "main" */, zName) == 0)))) + ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+5458 /* "main" */, zName) == 0)))) } // An SQL user-function registered to do the work of an ATTACH statement. The @@ -91009,13 +91516,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 740 /* "" */ + zFile = ts + 755 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 740 /* "" */ + zName = ts + 755 /* "" */ __2: ; @@ -91025,7 +91532,7 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+2947 /* "memdb" */) + *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+2962 /* "memdb" */) if !(*(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)) == uintptr(0)) { goto __5 } @@ -91041,7 +91548,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)), ts+10385 /* "x\x00" */, db, (pNew + 4 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)), ts+10400 /* "x\x00" */, db, (pNew + 4 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -91054,7 +91561,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10388, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10403, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -91068,7 +91575,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10425 /* "database %s is a..." */, libc.VaList(bp+8, zName)) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10440 /* "database %s is a..." */, libc.VaList(bp+8, zName)) goto attach_error __11: ; @@ -91139,7 +91646,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10455 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10470 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -91156,7 +91663,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+10484 /* "attached databas..." */, 0) + ts+10499 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -91226,13 +91733,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+5166 /* "out of memory" */, 0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+5181 /* "out of memory" */, 0) goto __31 __30: if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10552 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10567 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) __32: ; __31: @@ -91288,7 +91795,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 740 /* "" */ + zName = ts + 755 /* "" */ __1: ; i = 0 @@ -91320,14 +91827,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10580 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10595 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10601 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10616 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -91335,7 +91842,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10627 /* "database %s is l..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10642 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -91458,7 +91965,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10649 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 10664 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -91471,7 +91978,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10663 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ + FzName: ts + 10678 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ @@ -91486,7 +91993,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer((*DbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit.Fbusy != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } else { - Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+10677 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) + Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+10692 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) return WRC_Abort } } @@ -91519,7 +92026,7 @@ __1: if (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != Xsqlite3FindDbName(tls, db, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) { Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, - ts+10701, /* "%s %T cannot ref..." */ + ts+10716, /* "%s %T cannot ref..." */ libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType, (*DbFixer)(unsafe.Pointer(pFix)).FpName, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return WRC_Abort } @@ -91718,7 +92225,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112233:13: */ - Xsqlite3ErrorMsg(tls, pParse, ts+10747 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10762 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -91742,11 +92249,11 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 352 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - var z uintptr = Xsqlite3_mprintf(tls, ts+10770 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) + var z uintptr = Xsqlite3_mprintf(tls, ts+10785 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+10776 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+10791 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+10782 /* "access to %z is ..." */, libc.VaList(bp+32, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+10797 /* "access to %z is ..." */, libc.VaList(bp+32, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -91798,7 +92305,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*20)).FzName } else { - zCol = ts + 6673 /* "ROWID" */ + zCol = ts + 6688 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -91830,7 +92337,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 352 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+10809 /* "not authorized" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10824 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_OK) && (rc != SQLITE_IGNORE) { rc = SQLITE_DENY @@ -92140,25 +92647,25 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb { // No match against the official names. But always match "main" // to schema 0 as a legacy fallback. - if Xsqlite3StrICmp(tls, zDatabase, ts+5443 /* "main" */) == 0 { + if Xsqlite3StrICmp(tls, zDatabase, ts+5458 /* "main" */) == 0 { i = 0 } else { return uintptr(0) } } p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*16)).FpSchema + 8 /* &.tblHash */), zName) - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7066 /* "sqlite_" */, 7) == 0) { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7081 /* "sqlite_" */, 7) == 0) { if i == 1 { - if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10824 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10843 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+4941 /* "sqlite_master" */ +7)) == 0) { + if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10839 /* "sqlite_temp_sche..." */ +7)) == 0) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10858 /* "sqlite_schema" */ +7)) == 0)) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+4956 /* "sqlite_master" */ +7)) == 0) { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 8 /* &.tblHash */), - ts+10857 /* "sqlite_temp_mast..." */) + ts+10872 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10843 /* "sqlite_schema" */ +7)) == 0 { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10858 /* "sqlite_schema" */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*16)).FpSchema + 8 /* &.tblHash */), - ts+4941 /* "sqlite_master" */) + ts+4956 /* "sqlite_master" */) } } } @@ -92181,12 +92688,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7066 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10843 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+4941 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10824 /* "sqlite_temp_sche..." */ +7)) == 0 { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7081 /* "sqlite_" */, 7) == 0) { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10858 /* "sqlite_schema" */ +7)) == 0 { + p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+4956 /* "sqlite_master" */) + } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10839 /* "sqlite_temp_sche..." */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 8 /* &.tblHash */), - ts+10857 /* "sqlite_temp_mast..." */) + ts+10872 /* "sqlite_temp_mast..." */) } } } @@ -92222,7 +92729,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // can be an eponymous virtual table. if (int32((*Parse)(unsafe.Pointer(pParse)).FdisableVtab) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { var pMod uintptr = Xsqlite3HashFind(tls, (db + 376 /* &.aModule */), zName) - if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10876 /* "pragma_" */, 7) == 0) { + if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10891 /* "pragma_" */, 7) == 0) { pMod = Xsqlite3PragmaVtabRegister(tls, db, zName) } if (pMod != 0) && (Xsqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0) { @@ -92240,14 +92747,14 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if p == uintptr(0) { var zMsg uintptr if (flags & U32(LOCATE_VIEW)) != 0 { - zMsg = ts + 10884 /* "no such view" */ + zMsg = ts + 10899 /* "no such view" */ } else { - zMsg = ts + 10897 /* "no such table" */ + zMsg = ts + 10912 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+5636 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+5651 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+5646 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+5661 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -92560,7 +93067,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // writing. The table is opened using cursor 0. func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:113223:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) - Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+4941 /* "sqlite_master" */) + Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+4956 /* "sqlite_master" */) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) if (*Parse)(unsafe.Pointer(p)).FnTab == 0 { (*Parse)(unsafe.Pointer(p)).FnTab = 1 @@ -92587,7 +93094,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql } // "main" is always an acceptable alias for the primary database // even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. - if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+5443 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+5458 /* "main" */, zName)) { goto __3 } @@ -92640,13 +93147,13 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if (*Token)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10911 /* "corrupt database" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10926 /* "corrupt database" */, 0) return -1 } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = Xsqlite3FindDb(tls, db, pName1) if iDb < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10928 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+10943 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -92687,13 +93194,13 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType if ((Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit))) != 0) || (Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 1*4))) != 0)) || (Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 2*4))) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+740 /* "" */, 0) // corruptSchema() will supply the error + Xsqlite3ErrorMsg(tls, pParse, ts+755 /* "" */, 0) // corruptSchema() will supply the error return SQLITE_ERROR } } else { - if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+7066 /* "sqlite_" */, 7))) || + if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+7081 /* "sqlite_" */, 7))) || ((Xsqlite3ReadOnlyShadowTables(tls, db) != 0) && (Xsqlite3ShadowTableName(tls, db, zName) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+10948, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10963, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -92862,9 +93369,9 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui iDb = int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) zName = Xsqlite3DbStrDup(tls, db, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 @@ -92882,7 +93389,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+10990 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11005 /* "temporary table ..." */, 0) return __4: ; @@ -92910,9 +93417,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 9193 /* "view" */ + return ts + 9208 /* "view" */ } - return ts + 7808 /* "table" */ + return ts + 7823 /* "table" */ }(), zName) != 0) { goto __8 } @@ -92929,9 +93436,9 @@ __9: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (isTemp == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -92969,7 +93476,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+11031 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+11046 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) goto __16 __15: ; @@ -92983,7 +93490,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+11055 /* "there is already..." */, libc.VaList(bp+8, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11070 /* "there is already..." */, libc.VaList(bp+8, zName)) goto begin_table_error __17: ; @@ -93099,7 +93606,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:113716:13: */ var pHash uintptr pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 40 /* &.trigHash */) - Xsqlite3HashInsert(tls, pHash, ts+11090 /* "sqlite_returning" */, uintptr(0)) + Xsqlite3HashInsert(tls, pHash, ts+11105 /* "sqlite_returning" */, uintptr(0)) Xsqlite3ExprListDelete(tls, db, (*Returning)(unsafe.Pointer(pRet)).FpReturnEL) Xsqlite3DbFree(tls, db, pRet) } @@ -93123,7 +93630,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Parse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11107 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11122 /* "cannot use RETUR..." */, 0) } else { } @@ -93144,7 +93651,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 11090 /* "sqlite_returning" */ + (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 11105 /* "sqlite_returning" */ (*Returning)(unsafe.Pointer(pRet)).FretTrig.Fop = U8(TK_RETURNING) (*Returning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = U8(TRIGGER_AFTER) (*Returning)(unsafe.Pointer(pRet)).FretTrig.FbReturning = U8(1) @@ -93156,7 +93663,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql (*Returning)(unsafe.Pointer(pRet)).FretTStep.FpExprList = pList pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 40 /* &.trigHash */) - if Xsqlite3HashInsert(tls, pHash, ts+11090 /* "sqlite_returning" */, (pRet+8 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+11105 /* "sqlite_returning" */, (pRet+8 /* &.retTrig */)) == (pRet + 8 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -93184,7 +93691,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp return } if (int32((*Table)(unsafe.Pointer(p)).FnCol) + 1) > *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+11141 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11156 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } z = Xsqlite3DbMallocRaw(tls, db, (uint64(((*Token)(unsafe.Pointer(pName)).Fn + (*Token)(unsafe.Pointer(pType)).Fn) + uint32(2)))) @@ -93200,7 +93707,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*20)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*20)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11164 /* "duplicate column..." */, libc.VaList(bp+8, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+11179 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -93374,11 +93881,11 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar var isInit int32 = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) != 1))) pCol = ((*Table)(unsafe.Pointer(p)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(p)).FnCol)-1))*20) if !(Xsqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11190, /* "default value of..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11205, /* "default value of..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11235 /* "cannot use DEFAU..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11250 /* "cannot use DEFAU..." */, 0) } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. @@ -93428,7 +93935,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+11276 /* "generated column..." */, 0) + ts+11291 /* "generated column..." */, 0) } } @@ -93473,7 +93980,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+11328 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+11343 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit __2: ; @@ -93533,7 +94040,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+740 /* "" */), ts+11369 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+755 /* "" */), ts+11384 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -93561,7 +94068,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+11377 /* "AUTOINCREMENT is..." */, 0) + ts+11392 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -93665,7 +94172,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+11433 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11448 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -93678,13 +94185,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+11476 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+11491 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { goto __5 } // no-op goto __6 __5: - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+11484 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+11499 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { goto __7 } eType = U8(COLFLAG_STORED) @@ -93717,7 +94224,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+11491, /* "error in generat..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11506, /* "error in generat..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) generated_done: Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -93859,13 +94366,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 740 /* "" */ - zSep2 = ts + 11522 /* "," */ - zEnd = ts + 4051 /* ")" */ + zSep = ts + 755 /* "" */ + zSep2 = ts + 11537 /* "," */ + zEnd = ts + 4066 /* ")" */ } else { - zSep = ts + 11524 /* "\n " */ - zSep2 = ts + 11528 /* ",\n " */ - zEnd = ts + 11533 /* "\n)" */ + zSep = ts + 11539 /* "\n " */ + zSep2 = ts + 11543 /* ",\n " */ + zEnd = ts + 11548 /* "\n)" */ } n = n + (35 + (6 * int32((*Table)(unsafe.Pointer(p)).FnCol))) zStmt = Xsqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -93873,7 +94380,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+11536 /* "CREATE TABLE " */, 0) + Xsqlite3_snprintf(tls, n, zStmt, ts+11551 /* "CREATE TABLE " */, 0) *(*int32)(unsafe.Pointer(bp + 8 /* k */)) = Xsqlite3Strlen30(tls, zStmt) identPut(tls, zStmt, bp+8 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = int8('(') @@ -93907,16 +94414,16 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+2775 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+2790 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } var azType1 = [5]uintptr{ - /* SQLITE_AFF_BLOB */ ts + 740, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 11550, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 11556, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 11561, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 11566, /* " REAL" */ + /* SQLITE_AFF_BLOB */ ts + 755, /* "" */ + /* SQLITE_AFF_TEXT */ ts + 11565, /* " TEXT" */ + /* SQLITE_AFF_NUMERIC */ ts + 11571, /* " NUM" */ + /* SQLITE_AFF_INTEGER */ ts + 11576, /* " INT" */ + /* SQLITE_AFF_REAL */ ts + 11581, /* " REAL" */ } /* sqlite3.c:114391:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK @@ -94353,7 +94860,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // table itself. So mark it read-only. if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { if pSelect != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+740 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+755 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -94366,11 +94873,11 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (int32(tabOpts) & TF_WithoutRowid) != 0 { if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+11572 /* "AUTOINCREMENT no..." */, 0) + ts+11587 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11622 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11637 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } *(*U32)(unsafe.Pointer(p + 36 /* &.tabFlags */)) |= (U32(TF_WithoutRowid | TF_NoVisibleRowid)) @@ -94414,7 +94921,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11654 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11669 /* "must have at lea..." */, 0) return } } @@ -94447,12 +94954,12 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // Initialize zType for the new view or table. if (*Table)(unsafe.Pointer(p)).FpSelect == uintptr(0) { // A regular table - zType = ts + 7808 /* "table" */ - zType2 = ts + 11698 /* "TABLE" */ + zType = ts + 7823 /* "table" */ + zType2 = ts + 11713 /* "TABLE" */ } else { // A view - zType = ts + 9193 /* "view" */ - zType2 = ts + 11704 /* "VIEW" */ + zType = ts + 9208 /* "view" */ + zType2 = ts + 11719 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -94533,7 +95040,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+11709 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+11724 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -94541,7 +95048,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+11724, /* "UPDATE %Q.sqlite..." */ + ts+11739, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, @@ -94559,14 +95066,14 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+11822, /* "CREATE TABLE %Q...." */ + ts+11837, /* "CREATE TABLE %Q...." */ libc.VaList(bp+88, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+11864 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+11879 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -94587,7 +95094,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // then record a pointer to this table in the main database structure // so that INSERT can find the table easily. - if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+8330 /* "sqlite_sequence" */) == 0 { + if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+8345 /* "sqlite_sequence" */) == 0 { (*Schema)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -94624,7 +95131,7 @@ func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui if !(int32((*Parse)(unsafe.Pointer(pParse)).FnVar) > 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+11898 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11913 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -94646,7 +95153,7 @@ __2: Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp /* &pName */) iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(p)).FpSchema) - Xsqlite3FixInit(tls, bp+4 /* &sFix */, pParse, iDb, ts+9193 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) + Xsqlite3FixInit(tls, bp+4 /* &sFix */, pParse, iDb, ts+9208 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) if !(Xsqlite3FixSelect(tls, bp+4 /* &sFix */, pSelect) != 0) { goto __3 } @@ -94763,7 +95270,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i // CREATE TEMP VIEW ex1 AS SELECT a FROM ex1; // SELECT * FROM temp.ex1; if int32((*Table)(unsafe.Pointer(pTable)).FnCol) < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11934 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11949 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) return 1 } @@ -94905,7 +95412,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) if iTable < 2 { - Xsqlite3ErrorMsg(tls, pParse, ts+11964 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11979 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -94919,7 +95426,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+11979, /* "UPDATE %Q.sqlite..." */ + ts+11994, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb+uintptr(iDb)*16)).FzDbSName, iTable, r1, r1)) Xsqlite3ReleaseTempReg(tls, pParse, r1) } @@ -94983,10 +95490,10 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint for i = 1; i <= 4; i++ { // var zTab [24]int8 at bp+40, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+12046 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+12061 /* "sqlite_stat%d" */, libc.VaList(bp, i)) if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+40 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+10009, /* "DELETE FROM %Q.%..." */ + ts+10024, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } @@ -95026,7 +95533,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // move as a result of the drop (can happen in auto-vacuum mode). if ((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+12060, /* "DELETE FROM %Q.s..." */ + ts+12075, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -95038,7 +95545,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+12105, /* "DELETE FROM %Q.s..." */ + ts+12120, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) @@ -95068,11 +95575,11 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Return true if it is not allowed to drop the given table func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:115607:12: */ - if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7066 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+2398 /* "stat" */, 4) == 0 { + if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7081 /* "sqlite_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+2413 /* "stat" */, 4) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+6135 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+6150 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -95153,9 +95660,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName zArg2 = uintptr(0) @@ -95215,7 +95722,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+12172 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12187 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __19: ; @@ -95225,14 +95732,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+12200 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12215 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+12234 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12249 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -95247,7 +95754,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+10201 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+10216 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -95312,7 +95819,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+12266, /* "foreign key on %..." */ + ts+12281, /* "foreign key on %..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(iCol)*20)).FzName, pTo)) goto fk_end __5: @@ -95325,7 +95832,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+12329 /* "number of column..." */, 0) + ts+12344 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -95409,7 +95916,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+12423, /* "unknown column \"..." */ + ts+12438, /* "unknown column \"..." */ libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*20)).FzEName)) goto fk_end __23: @@ -95659,12 +96166,12 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pList)).FnExpr; i++ { if (uint32(int32(*(*uint8)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*20 + 12 /* &.bNulls */)) & 0x20 >> 5))) != 0 { var sf U8 = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*20)).FsortFlags - Xsqlite3ErrorMsg(tls, pParse, ts+12469, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12484, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 12497 /* "FIRST" */ + return ts + 12512 /* "FIRST" */ } - return ts + 12503 /* "LAST" */ + return ts + 12518 /* "LAST" */ }())) return 1 } @@ -95822,7 +96329,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+132 /* &sFix */, pParse, iDb, ts+12508 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) + Xsqlite3FixInit(tls, bp+132 /* &sFix */, pParse, iDb, ts+12523 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+132 /* &sFix */, pTblName) != 0) { goto __10 } @@ -95843,7 +96350,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+12514, /* "cannot create a ..." */ + ts+12529, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -95870,26 +96377,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7066 /* "sqlite_" */, 7) == 0) && + if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7081 /* "sqlite_" */, 7) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0)) && (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+12564 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12579 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+12592 /* "views may not be..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12607 /* "views may not be..." */, 0) goto exit_create_index __16: ; if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+12617 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12632 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -95916,7 +96423,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+12508 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+12523 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { goto __21 } goto exit_create_index @@ -95931,7 +96438,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+12651 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12666 /* "there is already..." */, libc.VaList(bp+16, zName)) goto exit_create_index __24: ; @@ -95943,7 +96450,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+12685 /* "index %s already..." */, libc.VaList(bp+24, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12700 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -95972,7 +96479,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+12709 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+12724 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -96001,9 +96508,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -96047,7 +96554,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12508 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12523 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -96164,7 +96671,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+12732 /* "expressions proh..." */, 0) + ts+12747 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -96393,7 +96900,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+12793 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) + ts+12808 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -96449,7 +96956,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+12835 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12850 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -96507,12 +97014,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+12852, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+12867, /* "CREATE%s INDEX %..." */ libc.VaList(bp+56, func() uintptr { if onError == OE_None { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 12872 /* " UNIQUE" */ + return ts + 12887 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: @@ -96524,7 +97031,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+12880, /* "INSERT INTO %Q.s..." */ + ts+12895, /* "INSERT INTO %Q.s..." */ libc.VaList(bp+80, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -96540,7 +97047,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+12939 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+12954 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -96724,7 +97231,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+12966 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+12981 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __5 __4: Xsqlite3CodeVerifyNamedSchema(tls, pParse, (*SrcItem)(unsafe.Pointer((pName + 8 /* &.a */))).FzDatabase) @@ -96739,7 +97246,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+12984 /* "index associated..." */, libc.VaList(bp+8, 0)) + ts+12999 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -96750,9 +97257,9 @@ __6: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -96780,9 +97287,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+13057, /* "DELETE FROM %Q.s..." */ + ts+13072, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) - sqlite3ClearStatTables(tls, pParse, iDb, ts+10197 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+10212 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) Xsqlite3VdbeAddOp4(tls, v, OP_DropIndex, iDb, 0, 0, (*Index)(unsafe.Pointer(pIndex)).FzName, 0) @@ -96933,7 +97440,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*SrcList)(unsafe.Pointer(pSrc)).FnSrc + nExtra) >= SQLITE_MAX_SRCLIST { - Xsqlite3ErrorMsg(tls, pParse, ts+13117, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13132, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -97145,12 +97652,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+13153, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13168, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 13189 /* "ON" */ + return ts + 13204 /* "ON" */ } - return ts + 13192 /* "USING" */ + return ts + 13207 /* "USING" */ }())) goto append_from_error __1: @@ -97278,7 +97785,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+13198 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { + if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+13213 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { return } v = Xsqlite3GetVdbe(tls, pParse) @@ -97314,9 +97821,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 13204 /* "ROLLBACK" */ + return ts + 13219 /* "ROLLBACK" */ } - return ts + 13213 /* "COMMIT" */ + return ts + 13228 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -97341,7 +97848,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 13198 /* "BEGIN" */, ts + 13220 /* "RELEASE" */, ts + 13204 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ +var az = [3]uintptr{ts + 13213 /* "BEGIN" */, ts + 13235 /* "RELEASE" */, ts + 13219 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. @@ -97357,7 +97864,7 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp /* &pBt */, 0, flags) if rc != SQLITE_OK { Xsqlite3ErrorMsg(tls, pParse, - ts+13228 /* "unable to open a..." */, 0) + ts+13243 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -97500,17 +98007,17 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx Xsqlite3StrAccumInit(tls, bp+8 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 112 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+13298 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+13313 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*20)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+13309 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+13324 /* ", " */, 2) } Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+753 /* "." */, 1) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+768 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } @@ -97533,11 +98040,11 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr var rc int32 if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10770 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10785 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*20)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+13312 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+13327 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -97680,7 +98187,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+13321 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13336 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -97790,7 +98297,7 @@ func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) var i int32 for i = 0; i < (*With)(unsafe.Pointer(pWith)).FnCte; i++ { if Xsqlite3StrICmp(tls, zName, (*Cte)(unsafe.Pointer((pWith+12 /* &.a */)+uintptr(i)*24)).FzName) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13367 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13382 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -98024,7 +98531,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+13397 /* "no such collatio..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13412 /* "no such collatio..." */, libc.VaList(bp, zName)) (*Parse)(unsafe.Pointer(pParse)).Frc = (SQLITE_ERROR | (int32(1) << 8)) } return p @@ -98390,11 +98897,11 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 defer tls.Free(16) if tabIsReadOnly(tls, pParse, pTab) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13428 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13443 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+13457 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13472 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -98987,7 +99494,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+13495 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+13510 /* "rows deleted" */, uintptr(0)) __61: ; @@ -99132,7 +99639,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri } return 0 }()) - if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10057 /* "sqlite_stat1" */)) { + if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10072 /* "sqlite_stat1" */)) { Xsqlite3VdbeAppendP4(tls, v, pTab, -6) } if int32(eMode) != ONEPASS_OFF { @@ -99410,7 +99917,7 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 5253 /* "integer" */, ts + 5248 /* "real" */, ts + 13508 /* "text" */, ts + 13513 /* "blob" */, ts + 5243 /* "null" */} /* sqlite3.c:119398:21 */ +var azType2 = [5]uintptr{ts + 5268 /* "integer" */, ts + 5263 /* "real" */, ts + 13523 /* "text" */, ts + 13528 /* "blob" */, ts + 5258 /* "null" */} /* sqlite3.c:119398:21 */ // Implementation of the length() function func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119418:13: */ @@ -99474,7 +99981,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // IMP: R-31676-45509 If X is the integer -9223372036854775808 // then abs(X) throws an integer overflow error since there is no // equivalent positive 64-bit two complement value. - Xsqlite3_result_error(tls, context, ts+13518 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+13533 /* "integer overflow" */, -1) return } iVal = -iVal @@ -99812,7 +100319,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+13535 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+13550 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -100262,7 +100769,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 8*4)) { - Xsqlite3_result_error(tls, context, ts+13540 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+13555 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -100274,7 +100781,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } if Xsqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp /* zEsc */)), -1) != 1 { Xsqlite3_result_error(tls, context, - ts+13573 /* "ESCAPE expressio..." */, -1) + ts+13588 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -100340,7 +100847,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))) } // Implementation of the sqlite_compileoption_used() function. @@ -100397,10 +100904,10 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // var zBuf [50]int8 at bp+16, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+4019 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+4034 /* "%!.15g" */, libc.VaList(bp, r1)) Xsqlite3AtoF(tls, bp+16 /* &zBuf[0] */, bp+72 /* &r2 */, 20, uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp + 72 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+13618 /* "%!.20e" */, libc.VaList(bp+8, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+13633 /* "%!.20e" */, libc.VaList(bp+8, r1)) } Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -100474,7 +100981,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+741 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+756 /* "NULL" */, 4, uintptr(0)) break } @@ -100785,7 +101292,7 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:120648:27 */ -var azOne = [1]uintptr{uintptr(ts + 9637 /* " " */)} /* sqlite3.c:120649:26 */ +var azOne = [1]uintptr{uintptr(ts + 9652 /* " " */)} /* sqlite3.c:120649:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -100806,7 +101313,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = ts + 740 /* "" */ + zIn = ts + 755 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -100832,7 +101339,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else { // IMP: R-64894-50321 The string "?000" is returned if the argument // is NULL or contains no ASCII alphabetic characters. - Xsqlite3_result_text(tls, context, ts+13625 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+13640 /* "?000" */, 4, uintptr(0)) } } @@ -100860,7 +101367,7 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // Disallow the load_extension() SQL function unless the SQLITE_LoadExtFunc // flag is set. See the sqlite3_enable_load_extension() API. if ((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_LoadExtFunc)) == uint64(0) { - Xsqlite3_result_error(tls, context, ts+10809 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+10824 /* "not authorized" */, -1) return } @@ -100948,7 +101455,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:120889:13: */ p = Xsqlite3_aggregate_context(tls, context, 0) if (p != 0) && ((*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0)) { if (*SumCtx)(unsafe.Pointer(p)).Foverflow != 0 { - Xsqlite3_result_error(tls, context, ts+13518 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+13533 /* "integer overflow" */, -1) } else if (*SumCtx)(unsafe.Pointer(p)).Fapprox != 0 { Xsqlite3_result_double(tls, context, (*SumCtx)(unsafe.Pointer(p)).FrSum) } else { @@ -101102,7 +101609,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zSep = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) nSep = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) } else { - zSep = ts + 11522 /* "," */ + zSep = ts + 11537 /* "," */ nSep = 1 } if zSep != 0 { @@ -101180,7 +101687,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:121112:13: // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:121135:21: */ - var rc int32 = Xsqlite3_overload_function(tls, db, ts+13630 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+13645 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -101200,14 +101707,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+13636 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+13651 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3CreateFunc(tls, db, ts+13636 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+13651 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13636 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13636 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13651 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13651 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) } // pExpr points to an expression which implements a function. If @@ -101312,76 +101819,76 @@ func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:121427:21: * var aBuiltinFunc = [68]FuncDef{ //**** Functions only available with SQLITE_TESTCTRL_INTERNAL_FUNCTIONS **** - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_implies_nonnull_row), FxSFunc: 0, FzName: ts + 13641 /* "implies_nonnull_..." */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_compare), FxSFunc: 0, FzName: ts + 13661 /* "expr_compare" */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_implies_expr), FxSFunc: 0, FzName: ts + 13674 /* "expr_implies_exp..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_implies_nonnull_row), FxSFunc: 0, FzName: ts + 13656 /* "implies_nonnull_..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_compare), FxSFunc: 0, FzName: ts + 13676 /* "expr_compare" */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_implies_expr), FxSFunc: 0, FzName: ts + 13689 /* "expr_implies_exp..." */}, //**** Regular functions **** - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13692 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13700 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13700 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13715 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13741 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 13766 /* "unlikely" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 13775 /* "likelihood" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 13786 /* "likely" */}, - {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13793 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 13807 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 13807 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 13813 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 13813 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 13819 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 13819 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13824 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 13824 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13824 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 13828 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FzName: ts + 13828 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(1), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13828 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13832 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 13839 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13846 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13852 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13859 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13867 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13872 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13876 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13876 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13882 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13888 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13894 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 13898 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13905 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13912 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13923 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13930 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13945 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13962 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13973 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13979 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13997 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14005 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14019 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14027 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14036 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14036 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14043 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14043 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14053 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14057 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14063 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14067 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14067 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14073 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14073 /* "group_concat" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13707 /* "soundex" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13715 /* "load_extension" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13715 /* "load_extension" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13730 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13756 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 13781 /* "unlikely" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 13790 /* "likelihood" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 13801 /* "likely" */}, + {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13808 /* "sqlite_offset" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 13822 /* "ltrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 13822 /* "ltrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 13828 /* "rtrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 13828 /* "rtrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 13834 /* "trim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 13834 /* "trim" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13839 /* "min" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 13839 /* "min" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13839 /* "min" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 13843 /* "max" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FzName: ts + 13843 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(1), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13843 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13847 /* "typeof" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 13854 /* "length" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13861 /* "instr" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13867 /* "printf" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13874 /* "unicode" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13882 /* "char" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13887 /* "abs" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13891 /* "round" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13891 /* "round" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13897 /* "upper" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13903 /* "lower" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13909 /* "hex" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 13913 /* "ifnull" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13920 /* "random" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13927 /* "randomblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13938 /* "nullif" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13945 /* "sqlite_version" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13960 /* "sqlite_source_id" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13977 /* "sqlite_log" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13988 /* "quote" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13994 /* "last_insert_rowi..." */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14012 /* "changes" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14020 /* "total_changes" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14034 /* "replace" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14042 /* "zeroblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14051 /* "substr" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14051 /* "substr" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14058 /* "substring" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14058 /* "substring" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14068 /* "sum" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14072 /* "total" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14078 /* "avg" */}, + {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14082 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14082 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14088 /* "group_concat" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14088 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14086 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13636 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13636 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14091 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14091 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14100 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14091 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 14105 /* "iif" */}} /* sqlite3.c:121438:18 */ + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14101 /* "glob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13651 /* "like" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13651 /* "like" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14106 /* "coalesce" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14106 /* "coalesce" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14115 /* "sign" */}, + {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14106 /* "coalesce" */}, + {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 14120 /* "iif" */}} /* sqlite3.c:121438:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -101667,7 +102174,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey if !(pIdx != 0) { if !(int32((*Parse)(unsafe.Pointer(pParse)).FdisableTriggers) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+14109, /* "foreign key mism..." */ + ts+14124, /* "foreign key mism..." */ libc.VaList(bp, (*Table)(unsafe.Pointer((*FKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*FKey)(unsafe.Pointer(pFKey)).FzTo)) } Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiCol) @@ -102563,8 +103070,8 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, } for i = 0; i < (*FKey)(unsafe.Pointer(pFKey)).FnCol; i++ { - *(*Token)(unsafe.Pointer(bp + 24 /* tOld */)) = Token{Fz: ts + 5452 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 32 /* tNew */)) = Token{Fz: ts + 5448 /* "new" */, Fn: uint32(3)} // Literal "new" token + *(*Token)(unsafe.Pointer(bp + 24 /* tOld */)) = Token{Fz: ts + 5467 /* "old" */, Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 32 /* tNew */)) = Token{Fz: ts + 5463 /* "new" */, Fn: uint32(3)} // Literal "new" token // var tFromCol Token at bp+16, 8 // Name of column in child table // var tToCol Token at bp+8, 8 @@ -102652,7 +103159,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, (*Token)(unsafe.Pointer(bp + 40 /* &tFrom */)).Fz = zFrom (*Token)(unsafe.Pointer(bp + 40 /* &tFrom */)).Fn = uint32(nFrom) - pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+4235 /* "FOREIGN KEY cons..." */) + pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+4250 /* "FOREIGN KEY cons..." */) if pRaise != 0 { (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -103082,7 +103589,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6929 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6944 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) } (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -103646,7 +104153,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+14154, /* "cannot INSERT in..." */ + ts+14169, /* "cannot INSERT in..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*20)).FzName)) goto insert_cleanup __24: @@ -103671,7 +104178,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+14195, /* "table %S has no ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14210, /* "table %S has no ..." */ libc.VaList(bp+8, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*8)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup @@ -103841,7 +104348,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+14227, /* "table %S has %d ..." */ + ts+14242, /* "table %S has %d ..." */ libc.VaList(bp+24, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: @@ -103851,7 +104358,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+14279 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+14294 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -103907,7 +104414,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+14304, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14319, /* "UPSERT not imple..." */ libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -103915,7 +104422,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+14350 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14365 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -104395,7 +104902,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14371 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14386 /* "rows inserted" */, uintptr(0)) __123: ; @@ -104738,7 +105245,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10770 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10785 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_HaltIfNull, (SQLITE_CONSTRAINT | (int32(5) << 8)), onError, iReg) @@ -106141,7 +106648,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 740 /* "" */ + zSql = ts + 755 /* "" */ __2: ; @@ -106702,7 +107209,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+10809 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+10824 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -106712,7 +107219,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 14385 /* "sqlite3_extensio..." */ + zEntry = ts + 14400 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -106732,7 +107239,7 @@ __5: if !((ii < (int32(uint32(unsafe.Sizeof(azEndings)) / uint32(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+10770 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) + zAltFile = Xsqlite3_mprintf(tls, ts+10785 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) if !(zAltFile == uintptr(0)) { goto __8 } @@ -106778,7 +107285,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.Xmemcpy(tls, zAltEntry, ts+14408 /* "sqlite3_" */, uint32(8)) + libc.Xmemcpy(tls, zAltEntry, ts+14423 /* "sqlite3_" */, uint32(8)) iFile = (ncFile - 1) __12: if !((iFile >= 0) && !((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/')) { @@ -106792,7 +107299,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14417 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14432 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -106816,7 +107323,7 @@ __17: goto __18 __18: ; - libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+14421 /* "_init" */, uint32(6)) + libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+14436 /* "_init" */, uint32(6)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -106834,7 +107341,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+14427 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) + ts+14442 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __22: ; @@ -106859,7 +107366,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14470 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14485 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) __25: ; Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) @@ -106899,7 +107406,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+14502 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) + ts+14517 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __29: ; @@ -106909,7 +107416,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 14539, /* "so" */ + ts + 14554, /* "so" */ } /* sqlite3.c:127457:21 */ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127590:16: */ @@ -107075,7 +107582,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+14542 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) + ts+14557 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */))) @@ -107120,61 +107627,61 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 // or that return single-column results where the name of the // result column is different from the name of the pragma var pragCName = [51]uintptr{ - /* 0 */ ts + 4156, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 14581, /* "seq" */ - /* 2 */ ts + 7808, /* "table" */ - /* 3 */ ts + 14585, /* "from" */ - /* 4 */ ts + 14590, /* "to" */ - /* 5 */ ts + 14593, /* "on_update" */ - /* 6 */ ts + 14603, /* "on_delete" */ - /* 7 */ ts + 14613, /* "match" */ - /* 8 */ ts + 14619, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 14623, /* "name" */ - /* 10 */ ts + 14628, /* "type" */ - /* 11 */ ts + 14633, /* "notnull" */ - /* 12 */ ts + 14641, /* "dflt_value" */ - /* 13 */ ts + 14652, /* "pk" */ - /* 14 */ ts + 14655, /* "hidden" */ + /* 0 */ ts + 4171, /* "id" */ // Used by: foreign_key_list + /* 1 */ ts + 14596, /* "seq" */ + /* 2 */ ts + 7823, /* "table" */ + /* 3 */ ts + 14600, /* "from" */ + /* 4 */ ts + 14605, /* "to" */ + /* 5 */ ts + 14608, /* "on_update" */ + /* 6 */ ts + 14618, /* "on_delete" */ + /* 7 */ ts + 14628, /* "match" */ + /* 8 */ ts + 14634, /* "cid" */ // Used by: table_xinfo + /* 9 */ ts + 14638, /* "name" */ + /* 10 */ ts + 14643, /* "type" */ + /* 11 */ ts + 14648, /* "notnull" */ + /* 12 */ ts + 14656, /* "dflt_value" */ + /* 13 */ ts + 14667, /* "pk" */ + /* 14 */ ts + 14670, /* "hidden" */ // table_info reuses 8 - /* 15 */ ts + 14662, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 14619, /* "cid" */ - /* 17 */ ts + 14623, /* "name" */ - /* 18 */ ts + 14668, /* "desc" */ - /* 19 */ ts + 14673, /* "coll" */ - /* 20 */ ts + 14678, /* "key" */ - /* 21 */ ts + 14623, /* "name" */ // Used by: function_list - /* 22 */ ts + 14682, /* "builtin" */ - /* 23 */ ts + 14628, /* "type" */ - /* 24 */ ts + 14690, /* "enc" */ - /* 25 */ ts + 14694, /* "narg" */ - /* 26 */ ts + 14699, /* "flags" */ - /* 27 */ ts + 10201, /* "tbl" */ // Used by: stats - /* 28 */ ts + 10197, /* "idx" */ - /* 29 */ ts + 14705, /* "wdth" */ - /* 30 */ ts + 14710, /* "hght" */ - /* 31 */ ts + 14715, /* "flgs" */ - /* 32 */ ts + 14581, /* "seq" */ // Used by: index_list - /* 33 */ ts + 14623, /* "name" */ - /* 34 */ ts + 14720, /* "unique" */ - /* 35 */ ts + 14727, /* "origin" */ - /* 36 */ ts + 14734, /* "partial" */ - /* 37 */ ts + 7808, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 14742, /* "rowid" */ - /* 39 */ ts + 4159, /* "parent" */ - /* 40 */ ts + 14748, /* "fkid" */ + /* 15 */ ts + 14677, /* "seqno" */ // Used by: index_xinfo + /* 16 */ ts + 14634, /* "cid" */ + /* 17 */ ts + 14638, /* "name" */ + /* 18 */ ts + 14683, /* "desc" */ + /* 19 */ ts + 14688, /* "coll" */ + /* 20 */ ts + 14693, /* "key" */ + /* 21 */ ts + 14638, /* "name" */ // Used by: function_list + /* 22 */ ts + 14697, /* "builtin" */ + /* 23 */ ts + 14643, /* "type" */ + /* 24 */ ts + 14705, /* "enc" */ + /* 25 */ ts + 14709, /* "narg" */ + /* 26 */ ts + 14714, /* "flags" */ + /* 27 */ ts + 10216, /* "tbl" */ // Used by: stats + /* 28 */ ts + 10212, /* "idx" */ + /* 29 */ ts + 14720, /* "wdth" */ + /* 30 */ ts + 14725, /* "hght" */ + /* 31 */ ts + 14730, /* "flgs" */ + /* 32 */ ts + 14596, /* "seq" */ // Used by: index_list + /* 33 */ ts + 14638, /* "name" */ + /* 34 */ ts + 14735, /* "unique" */ + /* 35 */ ts + 14742, /* "origin" */ + /* 36 */ ts + 14749, /* "partial" */ + /* 37 */ ts + 7823, /* "table" */ // Used by: foreign_key_check + /* 38 */ ts + 14757, /* "rowid" */ + /* 39 */ ts + 4174, /* "parent" */ + /* 40 */ ts + 14763, /* "fkid" */ // index_info reuses 15 - /* 41 */ ts + 14581, /* "seq" */ // Used by: database_list - /* 42 */ ts + 14623, /* "name" */ - /* 43 */ ts + 14753, /* "file" */ - /* 44 */ ts + 14758, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 14763, /* "log" */ - /* 46 */ ts + 14767, /* "checkpointed" */ + /* 41 */ ts + 14596, /* "seq" */ // Used by: database_list + /* 42 */ ts + 14638, /* "name" */ + /* 43 */ ts + 14768, /* "file" */ + /* 44 */ ts + 14773, /* "busy" */ // Used by: wal_checkpoint + /* 45 */ ts + 14778, /* "log" */ + /* 46 */ ts + 14782, /* "checkpointed" */ // collation_list reuses 32 - /* 47 */ ts + 14780, /* "database" */ // Used by: lock_status - /* 48 */ ts + 14789, /* "status" */ - /* 49 */ ts + 14796, /* "cache_size" */ // Used by: default_cache_size + /* 47 */ ts + 14795, /* "database" */ // Used by: lock_status + /* 48 */ ts + 14804, /* "status" */ + /* 49 */ ts + 14811, /* "cache_size" */ // Used by: default_cache_size // module_list pragma_list reuses 9 - /* 50 */ ts + 14807, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 14822, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas @@ -107190,234 +107697,234 @@ type PragmaName1 = struct { // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [65]PragmaName{ - { /* zName: */ FzName: ts + 14815, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 14830, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 14830, /* "application_id" */ + { /* zName: */ FzName: ts + 14845, /* "application_id" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_APPLICATION_ID)}, - { /* zName: */ FzName: ts + 14845, /* "auto_vacuum" */ + { /* zName: */ FzName: ts + 14860, /* "auto_vacuum" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_AUTO_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 14857, /* "automatic_index" */ + { /* zName: */ FzName: ts + 14872, /* "automatic_index" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_AutoIndex)}, - { /* zName: */ FzName: ts + 14873, /* "busy_timeout" */ + { /* zName: */ FzName: ts + 14888, /* "busy_timeout" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_BUSY_TIMEOUT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(50), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 14796, /* "cache_size" */ + { /* zName: */ FzName: ts + 14811, /* "cache_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 14886, /* "cache_spill" */ + { /* zName: */ FzName: ts + 14901, /* "cache_spill" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SPILL), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 14898, /* "case_sensitive_l..." */ + { /* zName: */ FzName: ts + 14913, /* "case_sensitive_l..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CASE_SENSITIVE_LIKE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 14918, /* "cell_size_check" */ + { /* zName: */ FzName: ts + 14933, /* "cell_size_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CellSizeCk)}, - { /* zName: */ FzName: ts + 14934, /* "checkpoint_fullf..." */ + { /* zName: */ FzName: ts + 14949, /* "checkpoint_fullf..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CkptFullFSync)}, - { /* zName: */ FzName: ts + 14955, /* "collation_list" */ + { /* zName: */ FzName: ts + 14970, /* "collation_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COLLATION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 14970, /* "compile_options" */ + { /* zName: */ FzName: ts + 14985, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 14986, /* "count_changes" */ + { /* zName: */ FzName: ts + 15001, /* "count_changes" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (U64((uint64(0x00001))) << 32)}, - { /* zName: */ FzName: ts + 15000, /* "data_version" */ + { /* zName: */ FzName: ts + 15015, /* "data_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_DATA_VERSION)}, - { /* zName: */ FzName: ts + 15013, /* "database_list" */ + { /* zName: */ FzName: ts + 15028, /* "database_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATABASE_LIST), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_Result0)), /* ColNames: */ FiPragCName: U8(41), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15027, /* "default_cache_si..." */ + { /* zName: */ FzName: ts + 15042, /* "default_cache_si..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DEFAULT_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1)), /* ColNames: */ FiPragCName: U8(49), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15046, /* "defer_foreign_ke..." */ + { /* zName: */ FzName: ts + 15061, /* "defer_foreign_ke..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_DeferFKs)}, - { /* zName: */ FzName: ts + 15065, /* "empty_result_cal..." */ + { /* zName: */ FzName: ts + 15080, /* "empty_result_cal..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_NullCallback)}, - { /* zName: */ FzName: ts + 15088, /* "encoding" */ + { /* zName: */ FzName: ts + 15103, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15097, /* "foreign_key_chec..." */ + { /* zName: */ FzName: ts + 15112, /* "foreign_key_chec..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_CHECK), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(37), FnPragCName: U8(4)}, - { /* zName: */ FzName: ts + 15115, /* "foreign_key_list" */ + { /* zName: */ FzName: ts + 15130, /* "foreign_key_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), FnPragCName: U8(8)}, - { /* zName: */ FzName: ts + 15132, /* "foreign_keys" */ + { /* zName: */ FzName: ts + 15147, /* "foreign_keys" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ForeignKeys)}, - { /* zName: */ FzName: ts + 15145, /* "freelist_count" */ + { /* zName: */ FzName: ts + 15160, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 15160, /* "full_column_name..." */ + { /* zName: */ FzName: ts + 15175, /* "full_column_name..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullColNames)}, - { /* zName: */ FzName: ts + 15178, /* "fullfsync" */ + { /* zName: */ FzName: ts + 15193, /* "fullfsync" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullFSync)}, - { /* zName: */ FzName: ts + 15188, /* "function_list" */ + { /* zName: */ FzName: ts + 15203, /* "function_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FUNCTION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(21), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 15202, /* "hard_heap_limit" */ + { /* zName: */ FzName: ts + 15217, /* "hard_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HARD_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15218, /* "ignore_check_con..." */ + { /* zName: */ FzName: ts + 15233, /* "ignore_check_con..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_IgnoreChecks)}, - { /* zName: */ FzName: ts + 15243, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 15258, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 15262, /* "index_info" */ + { /* zName: */ FzName: ts + 15277, /* "index_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15273, /* "index_list" */ + { /* zName: */ FzName: ts + 15288, /* "index_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(5)}, - { /* zName: */ FzName: ts + 15284, /* "index_xinfo" */ + { /* zName: */ FzName: ts + 15299, /* "index_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(6), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 15296, /* "integrity_check" */ + { /* zName: */ FzName: ts + 15311, /* "integrity_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 15312, /* "journal_mode" */ + { /* zName: */ FzName: ts + 15327, /* "journal_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_MODE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15325, /* "journal_size_lim..." */ + { /* zName: */ FzName: ts + 15340, /* "journal_size_lim..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_SIZE_LIMIT), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15344, /* "legacy_alter_tab..." */ + { /* zName: */ FzName: ts + 15359, /* "legacy_alter_tab..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_LegacyAlter)}, - { /* zName: */ FzName: ts + 15363, /* "locking_mode" */ + { /* zName: */ FzName: ts + 15378, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15376, /* "max_page_count" */ + { /* zName: */ FzName: ts + 15391, /* "max_page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15391, /* "mmap_size" */ + { /* zName: */ FzName: ts + 15406, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 15401, /* "module_list" */ + { /* zName: */ FzName: ts + 15416, /* "module_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MODULE_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15413, /* "optimize" */ + { /* zName: */ FzName: ts + 15428, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 15422, /* "page_count" */ + { /* zName: */ FzName: ts + 15437, /* "page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15433, /* "page_size" */ + { /* zName: */ FzName: ts + 15448, /* "page_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_SIZE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15443, /* "pragma_list" */ + { /* zName: */ FzName: ts + 15458, /* "pragma_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PRAGMA_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15455, /* "query_only" */ + { /* zName: */ FzName: ts + 15470, /* "query_only" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_QueryOnly)}, - { /* zName: */ FzName: ts + 15466, /* "quick_check" */ + { /* zName: */ FzName: ts + 15481, /* "quick_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 15478, /* "read_uncommitted" */ + { /* zName: */ FzName: ts + 15493, /* "read_uncommitted" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReadUncommit)}, - { /* zName: */ FzName: ts + 15495, /* "recursive_trigge..." */ + { /* zName: */ FzName: ts + 15510, /* "recursive_trigge..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_RecTriggers)}, - { /* zName: */ FzName: ts + 15514, /* "reverse_unordere..." */ + { /* zName: */ FzName: ts + 15529, /* "reverse_unordere..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReverseOrder)}, - { /* zName: */ FzName: ts + 15540, /* "schema_version" */ + { /* zName: */ FzName: ts + 15555, /* "schema_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_SCHEMA_VERSION)}, - { /* zName: */ FzName: ts + 15555, /* "secure_delete" */ + { /* zName: */ FzName: ts + 15570, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15569, /* "short_column_nam..." */ + { /* zName: */ FzName: ts + 15584, /* "short_column_nam..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ShortColNames)}, - { /* zName: */ FzName: ts + 15588, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 15603, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 15602, /* "soft_heap_limit" */ + { /* zName: */ FzName: ts + 15617, /* "soft_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SOFT_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15618, /* "synchronous" */ + { /* zName: */ FzName: ts + 15633, /* "synchronous" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SYNCHRONOUS), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15630, /* "table_info" */ + { /* zName: */ FzName: ts + 15645, /* "table_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 15641, /* "table_xinfo" */ + { /* zName: */ FzName: ts + 15656, /* "table_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(7), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 15653, /* "temp_store" */ + { /* zName: */ FzName: ts + 15668, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15664, /* "temp_store_direc..." */ + { /* zName: */ FzName: ts + 15679, /* "temp_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 15685, /* "threads" */ + { /* zName: */ FzName: ts + 15700, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15693, /* "trusted_schema" */ + { /* zName: */ FzName: ts + 15708, /* "trusted_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_TrustedSchema)}, - { /* zName: */ FzName: ts + 15708, /* "user_version" */ + { /* zName: */ FzName: ts + 15723, /* "user_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_USER_VERSION)}, - { /* zName: */ FzName: ts + 15721, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 15736, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 15740, /* "wal_checkpoint" */ + { /* zName: */ FzName: ts + 15755, /* "wal_checkpoint" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_CHECKPOINT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NeedSchema), /* ColNames: */ FiPragCName: U8(44), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15755, /* "writable_schema" */ + { /* zName: */ FzName: ts + 15770, /* "writable_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError))}, @@ -107454,7 +107961,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 15771 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 15786 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ @@ -107471,10 +107978,10 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:128 // Interpret the given string as a locking mode value. func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ if z != 0 { - if 0 == Xsqlite3StrICmp(tls, z, ts+15796 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15811 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+15806 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15821 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -107487,13 +107994,13 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ var i int32 - if 0 == Xsqlite3StrICmp(tls, z, ts+15813 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15828 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+15818 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15833 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+15823 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15838 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -107511,9 +108018,9 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128566:12: */ if (int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '2') { return (int32(*(*int8)(unsafe.Pointer(z))) - '0') - } else if Xsqlite3StrICmp(tls, z, ts+14753 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+14768 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+15835 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+15850 /* "memory" */) == 0 { return 2 } else { return 0 @@ -107529,7 +108036,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || (Xsqlite3BtreeTxnState(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpBt) != SQLITE_TXN_NONE) { Xsqlite3ErrorMsg(tls, pParse, - ts+15842 /* "temporary storag..." */, 0) + ts+15857 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpBt) @@ -107629,19 +108136,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 15904 /* "SET NULL" */ + zName = ts + 15919 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 15913 /* "SET DEFAULT" */ + zName = ts + 15928 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 15925 /* "CASCADE" */ + zName = ts + 15940 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 15933 /* "RESTRICT" */ + zName = ts + 15948 /* "RESTRICT" */ break default: - zName = ts + 15942 /* "NO ACTION" */ + zName = ts + 15957 /* "NO ACTION" */ break } return zName @@ -107659,7 +108166,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 15952 /* "delete" */, ts + 15959 /* "persist" */, ts + 15967 /* "off" */, ts + 15971 /* "truncate" */, ts + 15835 /* "memory" */, ts + 15980, /* "wal" */ + ts + 15967 /* "delete" */, ts + 15974 /* "persist" */, ts + 15982 /* "off" */, ts + 15986 /* "truncate" */, ts + 15850 /* "memory" */, ts + 15995, /* "wal" */ } /* sqlite3.c:128715:15 */ // Locate a pragma in the aPragmaName[] array. @@ -107705,13 +108212,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 15984 /* "w" */ + zType = ts + 15999 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 15986 /* "a" */ + zType = ts + 16001 /* "a" */ } else { - zType = ts + 15988 /* "s" */ + zType = ts + 16003 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15990, /* "sissii" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16005, /* "sissii" */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, azEnc[((*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK))], int32((*FuncDef)(unsafe.Pointer(p)).FnArg), @@ -107720,7 +108227,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } var mask U32 = (U32((((SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY) | SQLITE_SUBTYPE) | SQLITE_INNOCUOUS) | SQLITE_FUNC_INTERNAL)) /* sqlite3.c:128765:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 15997 /* "utf8" */, ts + 16002 /* "utf16le" */, ts + 16010 /* "utf16be" */} /* sqlite3.c:128772:23 */ +var azEnc = [4]uintptr{uintptr(0), ts + 16012 /* "utf8" */, ts + 16017 /* "utf16le" */, ts + 16025 /* "utf16be" */} /* sqlite3.c:128772:23 */ // Helper subroutine for PRAGMA integrity_check: // @@ -107982,7 +108489,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+16018 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+16033 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -108037,7 +108544,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 364 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 364 /* &aFcntl[0] */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 364 /* &aFcntl[0] */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 364 /* &aFcntl[0] */))) __10: ; @@ -108609,7 +109116,7 @@ __18: if !(zRight != 0) { goto __62 } - if !(Xsqlite3_stricmp(tls, zRight, ts+16022 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+16037 /* "fast" */) == 0) { goto __63 } b = 2 @@ -108698,7 +109205,7 @@ __70: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 15806 /* "normal" */ + zRet = ts + 15821 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -108739,7 +109246,7 @@ __77: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __82 } - zRet = ts + 15796 /* "exclusive" */ + zRet = ts + 15811 /* "exclusive" */ __82: ; returnSingleText(tls, v, zRet) @@ -109104,7 +109611,7 @@ __122: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 416 /* res */)) == 0)) { goto __125 } - Xsqlite3ErrorMsg(tls, pParse, ts+16027 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16042 /* "not a writable d..." */, 0) goto pragma_out __125: ; @@ -109122,7 +109629,7 @@ __126: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __127 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+16, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+16, zRight)) goto __128 __127: Xsqlite3_temp_directory = uintptr(0) @@ -109150,7 +109657,7 @@ __129: goto __131 } Xsqlite3ErrorMsg(tls, pParse, - ts+16052 /* "Safety level may..." */, 0) + ts+16067 /* "Safety level may..." */, 0) goto __132 __131: if !(iDb != 1) { @@ -109309,13 +109816,13 @@ __153: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 16105 /* "issisii" */ + return ts + 16120 /* "issisii" */ } - return ts + 16113 /* "issisi" */ + return ts + 16128 /* "issisi" */ }(), libc.VaList(bp+24, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+740 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+755 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -109390,7 +109897,7 @@ __165: goto __167 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16120 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16135 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -109400,7 +109907,7 @@ __165: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __168 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+16125, /* "isiX" */ + Xsqlite3VdbeMultiLoad(tls, v, 4, ts+16140, /* "isiX" */ libc.VaList(bp+104, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*4)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) @@ -109437,8 +109944,8 @@ __171: if !(pIdx1 != 0) { goto __173 } - *(*[3]uintptr)(unsafe.Pointer(bp + 420 /* azOrigin */)) = [3]uintptr{ts + 16130 /* "c" */, ts + 16132 /* "u" */, ts + 14652 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16134, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 420 /* azOrigin */)) = [3]uintptr{ts + 16145 /* "c" */, ts + 16147 /* "u" */, ts + 14667 /* "pk" */} + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16149, /* "isisi" */ libc.VaList(bp+128, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), @@ -109472,7 +109979,7 @@ __174: __177: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16140, /* "iss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16155, /* "iss" */ libc.VaList(bp+168, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*16)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*16)).FpBt))) @@ -109495,7 +110002,7 @@ __178: goto __180 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16144 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16159 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __179 __179: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -109559,7 +110066,7 @@ __190: goto __192 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15988 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16003 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __191 __191: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -109576,7 +110083,7 @@ __193: if !(i6 < (int32(uint32(unsafe.Sizeof(aPragmaName)) / uint32(unsafe.Sizeof(PragmaName{}))))) { goto __195 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15988 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16003 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) goto __194 __194: i6++ @@ -109612,7 +110119,7 @@ __201: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __203 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16147, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16162, /* "iissssss" */ libc.VaList(bp+224, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -109620,7 +110127,7 @@ __201: (*sColMap)(unsafe.Pointer((pFK+36 /* &.aCol */)+uintptr(j2)*8)).FzCol, actionName(tls, *(*U8)(unsafe.Pointer((pFK + 25 /* &.aAction */) + 1))), // ON UPDATE actionName(tls, *(*U8)(unsafe.Pointer((pFK + 25 /* &.aAction */)))), // ON DELETE - ts+16156 /* "NONE" */)) + ts+16171 /* "NONE" */)) goto __202 __202: j2++ @@ -109813,7 +110320,7 @@ __230: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __231: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+16161 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+16176 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 436 /* aiCols */))) @@ -110079,7 +110586,7 @@ __258: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+16165 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*16)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+16180 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*16)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -110169,7 +110676,7 @@ __277: __278: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+16189 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+16204 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*20)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -110209,7 +110716,7 @@ __283: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+16209, /* "CHECK constraint..." */ + zErr1 = Xsqlite3MPrintf(tls, db, ts+16224, /* "CHECK constraint..." */ libc.VaList(bp+328, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) @@ -110243,9 +110750,9 @@ __288: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 448 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16239 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16254 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+16244 /* " missing from in..." */) + Xsqlite3VdbeLoadString(tls, v, 4, ts+16259 /* " missing from in..." */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) jmp5 = Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) @@ -110285,7 +110792,7 @@ __292: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 448 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16265 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16280 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __289: @@ -110307,7 +110814,7 @@ __284: if !(!(isQuick != 0)) { goto __294 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+16292 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+16307 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __295: @@ -110358,7 +110865,7 @@ __240: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 440 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*20)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16 /* &.p4 */)) = ts + 16321 /* "ok" */ + *(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16 /* &.p4 */)) = ts + 16336 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*20)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 5*20 + 16 /* &.p4 */)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT) __299: @@ -110436,7 +110943,7 @@ __306: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __308 } - Xsqlite3ErrorMsg(tls, pParse, ts+16324 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+16339 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) __308: ; __303: @@ -110548,19 +111055,19 @@ __47: if !(zRight != 0) { goto __315 } - if !(Xsqlite3StrICmp(tls, zRight, ts+15818 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+15833 /* "full" */) == 0) { goto __316 } eMode2 = SQLITE_CHECKPOINT_FULL goto __317 __316: - if !(Xsqlite3StrICmp(tls, zRight, ts+16349 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+16364 /* "restart" */) == 0) { goto __318 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __319 __318: - if !(Xsqlite3StrICmp(tls, zRight, ts+15971 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+15986 /* "truncate" */) == 0) { goto __320 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -110747,7 +111254,7 @@ __335: __337: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+16357, /* "ANALYZE \"%w\".\"%w..." */ + zSubSql = Xsqlite3MPrintf(tls, db, ts+16372, /* "ANALYZE \"%w\".\"%w..." */ libc.VaList(bp+344, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __338 @@ -110931,14 +111438,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 16375 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 16380 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 16386 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 16395 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 16404 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 16412 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 16420 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 16427 /* "UTF16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 16390 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, + {FzName: ts + 16395 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] + {FzName: ts + 16401 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] + {FzName: ts + 16410 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] + {FzName: ts + 16419 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, + {FzName: ts + 16427 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, + {FzName: ts + 16435 /* "UTF-16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 16442 /* "UTF16" */}, // SQLITE_UTF16NATIVE {}, } /* sqlite3.c:130285:7 */ var setCookie = [2]VdbeOpList{ @@ -110995,7 +111502,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argc _ = argv Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+56 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16433 /* "CREATE TABLE x" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16448 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -111003,7 +111510,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16448 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16463 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -111016,19 +111523,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16455 /* "(\"%s\"" */, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16470 /* "(\"%s\"" */, 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 /* &acc */, ts+16461 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16476 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16473 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16488 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+4066 /* ")" */, 1) Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) rc = Xsqlite3_declare_vtab(tls, db, bp+56 /* &zBuf[0] */) @@ -111044,7 +111551,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -111207,7 +111714,7 @@ __1: var zText uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) if zText != 0 { - *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + uintptr(j)*4)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, zText)) + *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + uintptr(j)*4)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, zText)) if *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + uintptr(j)*4)) == uintptr(0) { return SQLITE_NOMEM } @@ -111223,13 +111730,13 @@ __2: __3: ; Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 112 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16488 /* "PRAGMA " */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16503 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + 1*4)) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16496 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + 1*4)))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16511 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + 1*4)))) } Xsqlite3_str_appendall(tls, bp+32 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16500 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16515 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */))))) } zSql = Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) if zSql == uintptr(0) { @@ -111238,7 +111745,7 @@ __3: rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 4 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -111331,12 +111838,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) // A error message has already been generated. Do not overwrite it } else if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & (U32(INITFLAG_AlterRename | INITFLAG_AlterDrop))) != 0 { *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db, - ts+16504 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)), + ts+16519 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)), func() uintptr { if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & U32(INITFLAG_AlterRename)) != 0 { - return ts + 16532 /* "rename" */ + return ts + 16547 /* "rename" */ } - return ts + 16539 /* "drop column" */ + return ts + 16554 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -111348,11 +111855,11 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) if *(*uintptr)(unsafe.Pointer(azObj + 1*4)) != 0 { zObj = *(*uintptr)(unsafe.Pointer(azObj + 1*4)) } else { - zObj = ts + 4107 /* "?" */ + zObj = ts + 4122 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+16551 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+16566 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+16582 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+16597 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -111429,7 +111936,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr if (Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), (db+164 /* &.init */ /* &.newTnum */)) == 0) || (((*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum > (*InitData)(unsafe.Pointer(pData)).FmxPage) && ((*InitData)(unsafe.Pointer(pData)).FmxPage > Pgno(0))) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+12835 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+12850 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+164 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -111466,13 +111973,13 @@ 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+16590 /* "orphan index" */) + corruptSchema(tls, pData, argv, ts+16605 /* "orphan index" */) } else if (((Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), (pIndex+44 /* &.tnum */)) == 0) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2))) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage)) || (Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+12835 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+12850 /* "invalid rootpage" */) } } } @@ -111515,16 +112022,16 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 7808 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 7823 /* "table" */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*4)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 2*4)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*4)) - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*4)) = ts + 6898 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*4)) = ts + 16603 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*4)) = ts + 6913 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*4)) = ts + 16618 /* "CREATE TABLE x(t..." */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 5*4)) = uintptr(0) (*InitData)(unsafe.Pointer(bp + 40 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 40 /* &initData */)).FiDb = iDb @@ -111637,7 +112144,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+10484 /* "attached databas..." */) + ts+10499 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -111677,7 +112184,7 @@ __16: if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) { goto __17 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+16675 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+16690 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -111699,7 +112206,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 40 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+16699, /* "SELECT*FROM\"%w\"...." */ + ts+16714, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zSchemaTabName)) xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth @@ -112059,7 +112566,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+16733 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+16748 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -112087,7 +112594,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+16763 /* "statement too lo..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+16778 /* "statement too lo..." */, 0) rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG) goto end_prepare __10: @@ -112150,7 +112657,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+2775 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */)))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+2790 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */))) goto __21 __20: @@ -112625,24 +113132,24 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC } } if ((jointype & (JT_INNER | JT_OUTER)) == (JT_INNER | JT_OUTER)) || ((jointype & JT_ERROR) != 0) { - var zSp uintptr = ts + 9637 /* " " */ + var zSp uintptr = ts + 9652 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+16782 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) + ts+16797 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) jointype = JT_INNER } else if ((jointype & JT_OUTER) != 0) && ((jointype & (JT_LEFT | JT_RIGHT)) != JT_LEFT) { Xsqlite3ErrorMsg(tls, pParse, - ts+16826 /* "RIGHT and FULL O..." */, 0) + ts+16841 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 16881 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 16896 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -112848,7 +113355,7 @@ __1: if (int32((*SrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype) & JT_NATURAL) != 0 { if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) || ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+16915 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) + ts+16930 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) return 1 } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { @@ -112872,7 +113379,7 @@ __1: // Disallow both ON and USING clauses in the same join if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) && ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+16965 /* "cannot have both..." */, 0) + ts+16980 /* "cannot have both..." */, 0) return 1 } @@ -112907,7 +113414,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+17020 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) + ts+17035 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) return 1 } addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 24 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 28 /* iLeftCol */)), (i + 1), iRightCol, @@ -113698,16 +114205,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 17084 /* "UNION ALL" */ + z = ts + 17099 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 17094 /* "INTERSECT" */ + z = ts + 17109 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 17104 /* "EXCEPT" */ + z = ts + 17119 /* "EXCEPT" */ break default: - z = ts + 17111 /* "UNION" */ + z = ts + 17126 /* "UNION" */ break } return z @@ -113725,7 +114232,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite bp := tls.Alloc(8) defer tls.Free(8) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17117 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17132 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } // Assign expression b to lvalue a. A second, no-op, version of this macro @@ -113991,8 +114498,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 11369 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 40 /* zOrigCol */)) = ts + 14742 /* "rowid" */ + zType = ts + 11384 /* "INTEGER" */ + *(*uintptr)(unsafe.Pointer(bp + 40 /* zOrigCol */)) = ts + 14757 /* "rowid" */ } else { *(*uintptr)(unsafe.Pointer(bp + 40 /* zOrigCol */)) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20)).FzName zType = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20), uintptr(0)) @@ -114145,13 +114652,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 14742 /* "rowid" */ + zCol = ts + 14757 /* "rowid" */ } else { zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20)).FzName } if fullName != 0 { var zName uintptr = uintptr(0) - zName = Xsqlite3MPrintf(tls, db, ts+10770 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) + zName = Xsqlite3MPrintf(tls, db, ts+10785 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } else { Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, libc.UintptrFromInt32(-1)) @@ -114159,7 +114666,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*20)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+17140 /* "column%d" */, libc.VaList(bp+16, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+17155 /* "column%d" */, libc.VaList(bp+16, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -114248,7 +114755,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20)).FzName } else { - zName = ts + 14742 /* "rowid" */ + zName = ts + 14757 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -114261,7 +114768,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+17140 /* "column%d" */, libc.VaList(bp, (i+1))) + zName = Xsqlite3MPrintf(tls, db, ts+17155 /* "column%d" */, libc.VaList(bp, (i+1))) } // Make sure the column name is unique. If the name is not unique, @@ -114276,7 +114783,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+17149 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48 /* cnt */)), 1))) + zName = Xsqlite3MPrintf(tls, db, ts+17164 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48 /* cnt */)), 1))) if *(*U32)(unsafe.Pointer(bp + 48 /* cnt */)) > U32(3) { Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+48 /* &cnt */) } @@ -114633,7 +115140,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+17157 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17172 /* "cannot use windo..." */, 0) return __1: ; @@ -114744,7 +115251,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+17206 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17221 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -114766,7 +115273,7 @@ __14: // Store the results of the setup-query in Queue. pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior (*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17248 /* "SETUP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17263 /* "SETUP" */, 0) rc = Xsqlite3Select(tls, pParse, pSetup, bp /* &destQueue */) (*Select)(unsafe.Pointer(pSetup)).FpNext = p if !(rc != 0) { @@ -114809,7 +115316,7 @@ __20: // Execute the recursive SELECT taking the single row in Current as // the value for the recursive-table. Store the results in the Queue. (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17254 /* "RECURSIVE STEP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17269 /* "RECURSIVE STEP" */, 0) Xsqlite3Select(tls, pParse, p, bp /* &destQueue */) (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -114859,11 +115366,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+17269 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17284 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { if nRow == 1 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 17292 /* "S" */ + return ts + 17307 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -115015,8 +115522,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17294 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17309 /* "LEFT-MOST SUBQUE..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17309 /* "COMPOUND QUERY" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17324 /* "LEFT-MOST SUBQUE..." */, 0) __8: ; @@ -115065,7 +115572,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17084 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17099 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) @@ -115141,7 +115648,7 @@ __23: pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 48 /* &uniondest */)).FeDest = op - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17328 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17343 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+48 /* &uniondest */) @@ -115213,7 +115720,7 @@ __26: pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 76 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17328 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17343 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+76 /* &intersectdest */) @@ -115374,10 +115881,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+17349 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17364 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+17395, /* "SELECTs to the l..." */ + ts+17410, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -115757,9 +116264,9 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Separate the left and the right query from one another (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) (*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) - Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6236 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6251 /* "ORDER" */) if (*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+6236 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+6251 /* "ORDER" */) } // Compute the limit registers @@ -115788,7 +116295,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) Xsqlite3SelectDestInit(tls, bp+8 /* &destA */, SRT_Coroutine, regAddrA) Xsqlite3SelectDestInit(tls, bp+36 /* &destB */, SRT_Coroutine, regAddrB) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17477 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17492 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) // Generate a coroutine to evaluate the SELECT statement to the // left of the compound operator - the "A" select. @@ -115796,7 +116303,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17488 /* "LEFT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17503 /* "LEFT" */, 0) Xsqlite3Select(tls, pParse, pPrior, bp+8 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -115810,7 +116317,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+17493 /* "RIGHT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17508 /* "RIGHT" */, 0) Xsqlite3Select(tls, pParse, p, bp+36 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -116006,7 +116513,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 303 /* "BINARY" */ + return ts + 318 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -117219,12 +117726,12 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 return U8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8 /* &.u */)) - if Xsqlite3StrICmp(tls, zFunc, ts+13824 /* "min" */) == 0 { + if Xsqlite3StrICmp(tls, zFunc, ts+13839 /* "min" */) == 0 { eRet = WHERE_ORDERBY_MIN if Xsqlite3ExprCanBeNull(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */))).FpExpr) != 0 { sortFlags = U8(KEYINFO_ORDER_BIGNULL) } - } else if Xsqlite3StrICmp(tls, zFunc, ts+13828 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+13843 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -117293,7 +117800,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+17499 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) + Xsqlite3ErrorMsg(tls, pParse, ts+17514 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) return SQLITE_ERROR } @@ -117404,7 +117911,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s defer tls.Free(8) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 36 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+17517 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17532 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) return 1 } return 0 @@ -117592,7 +118099,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+36 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+17540 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+17555 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -117608,7 +118115,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17583 /* "circular referen..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17598 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { @@ -117634,7 +118141,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+17606, /* "table %s has %d ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17621, /* "table %s has %d ..." */ libc.VaList(bp+16, (*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 @@ -117645,9 +118152,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom Xsqlite3ColumnsFromExprList(tls, pParse, pEList, (pTab + 42 /* &.nCol */), (pTab + 4 /* &.aCol */)) if bMayRecursive != 0 { if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17644 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17659 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17678 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17693 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -117695,7 +118202,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+17716 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + (*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+17731 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) } for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior @@ -117822,7 +118329,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+17728, /* "too many referen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17743, /* "too many referen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) (*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return WRC_Abort @@ -117841,7 +118348,7 @@ __1: if (((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (((*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+17767, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17782, /* "access to view \"..." */ libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -117849,7 +118356,7 @@ __1: ((uint32(int32(*(*uint16)(unsafe.Pointer((pFrom + 36 /* &.fg */) + 4 /* &.fromDDL */)) & 0x40 >> 6))) != 0)) && ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+17798, /* "unsafe use of vi..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17813, /* "unsafe use of vi..." */ libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) @@ -117964,7 +118471,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName } else { - zSchemaName = ts + 17831 /* "*" */ + zSchemaName = ts + 17846 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -118013,7 +118520,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+10770 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+10785 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) zToFree = zColname } } else { @@ -118029,7 +118536,7 @@ __3: (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSub)).FpEList+8 /* &.a */)+uintptr(j)*20)).FzEName) } else { - (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+17833, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+17848, /* "%s.%s.%s" */ libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } @@ -118049,9 +118556,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+17842 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17857 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+17860 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17875 /* "no tables specif..." */, 0) } } } @@ -118061,7 +118568,7 @@ __3: } if (*Select)(unsafe.Pointer(p)).FpEList != 0 { if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+17880 /* "too many columns..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17895 /* "too many columns..." */, 0) return WRC_Abort } if (elistFlags & (U32(EP_HasFunc | EP_Subquery))) != U32(0) { @@ -118249,13 +118756,13 @@ __1: if (*(*uintptr)(unsafe.Pointer(pE + 20 /* &.x */)) == uintptr(0)) || ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 20 /* &.x */)))).FnExpr != 1) { Xsqlite3ErrorMsg(tls, pParse, - ts+17911 /* "DISTINCT aggrega..." */, 0) + ts+17926 /* "DISTINCT aggrega..." */, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1 } else { var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 20 /* &.x */)), 0, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -9) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17962 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17977 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } @@ -118455,19 +118962,19 @@ 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 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17995, /* "SCAN %s%s%s" */ + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18010, /* "SCAN %s%s%s" */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if bCover != 0 { - return ts + 18007 /* " USING COVERING ..." */ + return ts + 18022 /* " USING COVERING ..." */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) } } @@ -118487,7 +118994,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { if (Xsqlite3ExprIsConstantOrGroupBy(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*Select)(unsafe.Pointer(pS)).FpGroupBy) != 0) && ((libc.Bool32(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromJoin | EP_IsFalse))) == U32(EP_IsFalse))) == 0) { var db uintptr = (*Parse)(unsafe.Pointer((*Walker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6898 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6913 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -118789,7 +119296,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+18030, /* "target object/al..." */ + ts+18045, /* "target object/al..." */ libc.VaList(bp, func() uintptr { if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 { return (*SrcItem)(unsafe.Pointer(p0)).FzAlias @@ -118869,7 +119376,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+18084, /* "expected %d colu..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18099, /* "expected %d colu..." */ 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 __18: @@ -119010,7 +119517,7 @@ __29: if !(((*SrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0)) && ((*SrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0))) { goto __32 } - Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+740 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+755 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -119075,7 +119582,7 @@ __35: (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop Xsqlite3SelectDestInit(tls, bp+88 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18124 /* "CO-ROUTINE %!S" */, libc.VaList(bp+32, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18139 /* "CO-ROUTINE %!S" */, libc.VaList(bp+32, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+88 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+36 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) @@ -119137,7 +119644,7 @@ __44: __45: ; Xsqlite3SelectDestInit(tls, bp+88 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18139 /* "MATERIALIZE %!S" */, libc.VaList(bp+40, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18154 /* "MATERIALIZE %!S" */, libc.VaList(bp+40, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+88 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { @@ -119657,9 +120164,9 @@ __97: explainTempTable(tls, pParse, func() uintptr { if ((*DistinctCtx)(unsafe.Pointer(bp+116 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { - return ts + 18155 /* "DISTINCT" */ + return ts + 18170 /* "DISTINCT" */ } - return ts + 18164 /* "GROUP BY" */ + return ts + 18179 /* "GROUP BY" */ }()) groupBySort = 1 @@ -120071,7 +120578,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+116 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+18155 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+18170 /* "DISTINCT" */) __140: ; @@ -120083,9 +120590,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FnOBSat > 0 { - return ts + 18173 /* "RIGHT PART OF OR..." */ + return ts + 18188 /* "RIGHT PART OF OR..." */ } - return ts + 18196 /* "ORDER BY" */ + return ts + 18211 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+48 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -120218,7 +120725,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*4)))) + z = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*4)))) if !(z == uintptr(0)) { goto __10 } @@ -120240,7 +120747,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+18205 /* "sqlite3_get_tabl..." */, 0) + ts+18220 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -120339,7 +120846,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) } @@ -120500,7 +121007,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+18270 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18285 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -120561,7 +121068,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+36 /* &sFix */, pParse, iDb, ts+18316 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + Xsqlite3FixInit(tls, bp+36 /* &sFix */, pParse, iDb, ts+18331 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+36 /* &sFix */, pTableName) != 0) { goto __9 } @@ -120579,7 +121086,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+18324 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18339 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -120594,7 +121101,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+18316 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { + if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+18331 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { goto __13 } goto trigger_cleanup @@ -120610,7 +121117,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+18365 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+18380 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __17 __16: ; @@ -120624,10 +121131,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7066 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7081 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+18391 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18406 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -120637,12 +121144,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+18429, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18444, /* "cannot create %s..." */ libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 18466 /* "BEFORE" */ + return ts + 18481 /* "BEFORE" */ } - return ts + 18473 /* "AFTER" */ + return ts + 18488 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -120651,7 +121158,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+18479 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) + ts+18494 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -120681,9 +121188,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -120817,7 +121324,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+48 /* &sFix */, pParse, iDb, ts+18316 /* "trigger" */, bp+40 /* &nameToken */) + Xsqlite3FixInit(tls, bp+48 /* &sFix */, pParse, iDb, ts+18331 /* "trigger" */, bp+40 /* &nameToken */) if !((Xsqlite3FixTriggerStep(tls, bp+48 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || (Xsqlite3FixExpr(tls, bp+48 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 @@ -120854,13 +121361,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+18525, /* "INSERT INTO %Q.s..." */ + ts+18540, /* "INSERT INTO %Q.s..." */ libc.VaList(bp, (*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+18600 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+18615 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) __7: ; __6: @@ -121126,7 +121633,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+18629 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+18644 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __10 __9: Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb) @@ -121167,9 +121674,9 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName var zTab uintptr = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -121182,7 +121689,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / // Generate code to destroy the database record of the trigger. if (libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse))) != uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+18649, /* "DELETE FROM %Q.s..." */ + ts+18664, /* "DELETE FROM %Q.s..." */ 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) @@ -121301,12 +121808,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+18711, /* "%s RETURNING is ..." */ + ts+18726, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 18759 /* "DELETE" */ + return ts + 18774 /* "DELETE" */ } - return ts + 18766 /* "UPDATE" */ + return ts + 18781 /* "UPDATE" */ }())) __15: ; @@ -121402,7 +121909,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK { return 0 } - Xsqlite3ErrorMsg(tls, pParse, ts+18773 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18788 /* "RETURNING may no..." */, 0) return 1 } @@ -121543,7 +122050,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf if (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { Xsqlite3VdbeAddOp4(tls, v, OP_Trace, 0x7fffffff, 1, 0, - Xsqlite3MPrintf(tls, db, ts+5128 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+5143 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -121673,7 +122180,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+18815 /* "-- TRIGGER %s" */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) + Xsqlite3MPrintf(tls, db, ts+18830 /* "-- TRIGGER %s" */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -122376,7 +122883,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+18829, /* "cannot UPDATE ge..." */ + ts+18844, /* "cannot UPDATE ge..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*20)).FzName)) goto update_cleanup __27: @@ -122408,7 +122915,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+18865 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*20)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+18880 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*20)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -122419,7 +122926,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 6673 /* "ROWID" */ + return ts + 6688 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*20)).FzName }(), @@ -123450,7 +123957,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+18884 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+18899 /* "rows updated" */, uintptr(0)) __169: ; @@ -123837,10 +124344,10 @@ __1: if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { *(*int8)(unsafe.Pointer(bp + 152 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+152 /* &zWhich[0] */, ts+18897 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+152 /* &zWhich[0] */, ts+18912 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+18901 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+152 /* &zWhich[0] */)) + ts+18916 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+152 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -123931,7 +124438,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, iDataCur, 0, iPk, nPk) Xsqlite3VdbeAddOp4(tls, v, OP_Halt, SQLITE_CORRUPT, OE_Abort, 0, - ts+10911 /* "corrupt database" */, -1) + ts+10926 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -123999,7 +124506,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { // then run VACUUM to get those statements to execute at inappropriate // times. if (zSubSql != 0) && - ((libc.Xstrncmp(tls, zSubSql, ts+18974 /* "CRE" */, uint32(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+18978 /* "INS" */, uint32(3)) == 0)) { + ((libc.Xstrncmp(tls, zSubSql, ts+18989 /* "CRE" */, uint32(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+18993 /* "INS" */, uint32(3)) == 0)) { rc = execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -124149,14 +124656,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+18982 /* "cannot VACUUM fr..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+18997 /* "cannot VACUUM fr..." */) return SQLITE_ERROR // IMP: R-12218-18073 __1: ; if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) { goto __2 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+19022 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19037 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -124167,7 +124674,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+19065 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19080 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -124176,7 +124683,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 60 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 740 /* "" */ + zOut = ts + 755 /* "" */ __4: ; @@ -124212,7 +124719,7 @@ __4: // time to parse and run the PRAGMA to turn journalling off than it does // to write the journal header file. nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb - rc = execSqlF(tls, db, pzErrMsg, ts+19083 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) + rc = execSqlF(tls, db, pzErrMsg, ts+19098 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if !(rc != SQLITE_OK) { goto __6 @@ -124233,7 +124740,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+19106 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19121 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -124249,7 +124756,7 @@ __7: // Begin a transaction and take an exclusive lock on the main database // file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, // to ensure that we do not try to change the page-size on a WAL database. - rc = execSql(tls, db, pzErrMsg, ts+13198 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+13213 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -124300,7 +124807,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+19133, /* "SELECT sql FROM ..." */ + ts+19148, /* "SELECT sql FROM ..." */ libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -124310,7 +124817,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+19241, /* "SELECT sql FROM ..." */ + ts+19256, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -124325,7 +124832,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+19295, /* "SELECT'INSERT IN..." */ + ts+19310, /* "SELECT'INSERT IN..." */ libc.VaList(bp+24, zDbMain)) *(*U32)(unsafe.Pointer(db + 24 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) @@ -124342,7 +124849,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+19446, /* "INSERT INTO vacu..." */ + ts+19461, /* "INSERT INTO vacu..." */ libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 @@ -124722,7 +125229,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp var azModuleArg uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*Table)(unsafe.Pointer(pTable)).FnModuleArg + 3) >= *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+11141 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11156 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = Xsqlite3DbRealloc(tls, db, (*Table)(unsafe.Pointer(pTable)).FazModuleArg, uint64(nBytes)) if azModuleArg == uintptr(0) { @@ -124816,7 +125323,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s 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+19576 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+180 /* &.sNameToken */))) + zStmt = Xsqlite3MPrintf(tls, db, ts+19591 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+180 /* &.sNameToken */))) // A slot for the record has already been allocated in the // schema table. We just need to update that slot with all @@ -124828,7 +125335,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+19600, /* "UPDATE %Q.sqlite..." */ + ts+19615, /* "UPDATE %Q.sqlite..." */ 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, @@ -124838,7 +125345,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+19699 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+19714 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -124903,7 +125410,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+19718 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+19733 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return SQLITE_LOCKED } } @@ -124941,9 +125448,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+19760 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+19775 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+2775 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+2790 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) @@ -124955,7 +125462,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 /* &sCtx */)).FbDeclared == 0 { - var zFormat uintptr = ts + 19790 /* "vtable construct..." */ + var zFormat uintptr = ts + 19805 /* "vtable construct..." */ *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR @@ -124971,12 +125478,12 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Table)(unsafe.Pointer(pTab)).FpVTable = pVTable for iCol = 0; iCol < int32((*Table)(unsafe.Pointer(pTab)).FnCol); iCol++ { - var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20), ts+740 /* "" */) + var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20), ts+755 /* "" */) var nType int32 var i int32 = 0 nType = Xsqlite3Strlen30(tls, zType) for i = 0; i < nType; i++ { - if ((0 == Xsqlite3_strnicmp(tls, ts+14655 /* "hidden" */, (zType+uintptr(i)), 6)) && + if ((0 == Xsqlite3_strnicmp(tls, ts+14670 /* "hidden" */, (zType+uintptr(i)), 6)) && ((i == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && ((int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { break @@ -125035,13 +125542,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 if !(pMod != 0) { var zModule uintptr = *(*uintptr)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FazModuleArg)) - Xsqlite3ErrorMsg(tls, pParse, ts+19836 /* "no such module: ..." */, libc.VaList(bp, zModule)) + Xsqlite3ErrorMsg(tls, pParse, ts+19851 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+16 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -125103,7 +125610,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // invoke it now. If the module has not been registered, return an // error. Otherwise, do nothing. 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+19836 /* "no such module: ..." */, libc.VaList(bp, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+19851 /* "no such module: ..." */, 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) @@ -125180,7 +125687,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 280 /* zErr */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 280 /* zErr */)))) @@ -125552,7 +126059,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+8 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 @@ -125982,10 +126489,10 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:144931:29 */ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:145112:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == (-2) { - return ts + 19855 /* "" */ + return ts + 19870 /* "" */ } if i == (-1) { - return ts + 14742 /* "rowid" */ + return ts + 14757 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*20)).FzName } @@ -126000,35 +126507,35 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i var i int32 if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, ts+19862 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+19877 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+19868 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+19883 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11522 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+11537 /* "," */, 1) } Xsqlite3_str_appendall(tls, pStr, explainIndexColumnName(tls, pIdx, (iTerm+i))) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4066 /* ")" */, 1) } Xsqlite3_str_append(tls, pStr, zOp, 1) if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+19868 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+19883 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11522 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+11537 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+4107 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4122 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4066 /* ")" */, 1) } } @@ -126057,29 +126564,29 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. 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+19870 /* " (" */, 2) + Xsqlite3_str_append(tls, pStr, ts+19885 /* " (" */, 2) for i = 0; i < int32(nEq); i++ { var z uintptr = explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+19862 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+19877 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 19873 /* "%s=?" */ + return ts + 19888 /* "%s=?" */ } - return ts + 19878 /* "ANY(%s)" */ + return ts + 19893 /* "ANY(%s)" */ }(), 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 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+19886 /* ">" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+19901 /* ">" */) i = 1 } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_TOP_LIMIT)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+19888 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+19903 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4066 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -126124,11 +126631,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+72 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) (*StrAccum)(unsafe.Pointer(bp + 48 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+19890 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+19905 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { - return ts + 19896 /* "SEARCH" */ + return ts + 19911 /* "SEARCH" */ } - return ts + 19903 /* "SCAN" */ + return ts + 19918 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -126138,38 +126645,38 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr if !(((*Table)(unsafe.Pointer(((*SrcItem)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 56 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = ts + 9685 /* "PRIMARY KEY" */ + zFmt = ts + 9700 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 19908 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 19923 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 19941 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 19956 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 19966 /* "COVERING INDEX %..." */ + zFmt = ts + 19981 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 19984 /* "INDEX %s" */ + zFmt = ts + 19999 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+48 /* &str */, ts+19993 /* " USING " */, 7) + Xsqlite3_str_append(tls, bp+48 /* &str */, ts+20008 /* " USING " */, 7) Xsqlite3_str_appendf(tls, bp+48 /* &str */, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) explainIndexRange(tls, bp+48 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr if (flags & (U32(WHERE_COLUMN_EQ | WHERE_COLUMN_IN))) != 0 { - zRangeOp = ts + 20001 /* "=" */ + zRangeOp = ts + 20016 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 20003 /* ">? AND rowid<" */ + zRangeOp = ts + 20018 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 19886 /* ">" */ + zRangeOp = ts + 19901 /* ">" */ } else { - zRangeOp = ts + 19888 /* "<" */ + zRangeOp = ts + 19903 /* "<" */ } Xsqlite3_str_appendf(tls, bp+48, /* &str */ - ts+20017 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) + ts+20032 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+20055, /* " VIRTUAL TABLE I..." */ + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+20070, /* " VIRTUAL TABLE I..." */ libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } zMsg = Xsqlite3StrAccumFinish(tls, bp+48 /* &str */) @@ -127725,7 +128232,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // Run a separate WHERE clause for each term of the OR clause. After // eliminating duplicates from other WHERE clauses, the action for each // sub-WHERE clause is to to invoke the main loop body as a subroutine. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20082 /* "MULTI-INDEX OR" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20097 /* "MULTI-INDEX OR" */, 0) for ii = 0; ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm; ii++ { var pOrTerm uintptr = ((*WhereClause)(unsafe.Pointer(pOrWc)).Fa + uintptr(ii)*48) if ((*WhereTerm)(unsafe.Pointer(pOrTerm)).FleftCursor == iCur) || ((int32((*WhereTerm)(unsafe.Pointer(pOrTerm)).FeOperator) & WO_AND) != 0) { @@ -127744,7 +128251,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } // Loop through table entries that match term pOrTerm. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20097 /* "INDEX %d" */, libc.VaList(bp, (ii+1))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20112 /* "INDEX %d" */, libc.VaList(bp, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -128493,10 +129000,10 @@ type Op2 = struct { } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 14613 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 14086 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 13636 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 20106 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, + {FzOp: ts + 14628 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, + {FzOp: ts + 14101 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, + {FzOp: ts + 13651 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, + {FzOp: ts + 20121 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, } /* sqlite3.c:147958:7 */ // If the pBase expression originated in the ON or USING clause of @@ -129197,7 +129704,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s extraRight = (x - uint64(1)) // ON clause terms may not be used with an index // on left table of a LEFT JOIN. Ticket #3015 if (prereqAll >> 1) >= x { - Xsqlite3ErrorMsg(tls, pParse, ts+20113 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20128 /* "ON clause refere..." */, 0) return } } @@ -129273,7 +129780,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s (*WhereTerm)(unsafe.Pointer(pNew)).FeOperator = (U16((int32(operatorMask(tls, int32((*Expr)(unsafe.Pointer(pDup)).Fop))) + int32(eExtraOp)) & int32(opMask))) } else if (op == TK_ISNULL) && (0 == Xsqlite3ExprCanBeNull(tls, pLeft)) { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5760 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5775 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) (*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0) @@ -129374,7 +129881,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s } zCollSeqName = func() uintptr { if *(*int32)(unsafe.Pointer(bp + 16 /* noCase */)) != 0 { - return ts + 20154 /* "NOCASE" */ + return ts + 20169 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -129676,7 +130183,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+20161, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+20176, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -130499,7 +131006,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+20197 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, + ts+20212 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*20)).FzName)) sentWarning = U8(1) __6: @@ -130580,7 +131087,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 20223 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 20238 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -130813,7 +131320,7 @@ __3: ((uint32(unsafe.Sizeof(sqlite3_index_constraint{})) + uint32(unsafe.Sizeof(sqlite3_index_constraint_usage{}))) * uint32(nTerm))) + (uint32(unsafe.Sizeof(sqlite3_index_orderby{})) * uint32(nOrderBy))) + uint32(unsafe.Sizeof(HiddenIndexInfo1{}))))) if pIdxInfo == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+5166 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5181 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*72) @@ -130940,9 +131447,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -132992,7 +133499,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+20234 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20249 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -133040,7 +133547,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*4)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+20234 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20249 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -133429,7 +133936,7 @@ __1: if (rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { if rc == SQLITE_DONE { // We hit the query planner search limit set by iPlanLimit - Xsqlite3_log(tls, SQLITE_WARNING, ts+20260 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+20275 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -134198,7 +134705,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+20295 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20310 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -134579,7 +135086,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint32(unsafe.Sizeof(Bitmask(0))) * uint32(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+20313 /* "at most %d table..." */, libc.VaList(bp, (int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))) + Xsqlite3ErrorMsg(tls, pParse, ts+20328 /* "at most %d table..." */, libc.VaList(bp, (int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))) return uintptr(0) __3: ; @@ -134654,7 +135161,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20341 /* "SCAN CONSTANT RO..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20356 /* "SCAN CONSTANT RO..." */, 0) goto __6 __5: // Assign a bit from the bitmask to every term in the FROM clause. @@ -135790,7 +136297,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+20359 /* "second argument ..." */, -1) + pCtx, ts+20374 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -135939,7 +136446,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+20415 /* "argument of ntil..." */, -1) + pCtx, ts+20430 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -136035,17 +136542,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155441:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 20460 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 20471 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 20482 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 20487 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 20500 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 20510 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 20516 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 20527 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 20537 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 20549 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 20554 /* "lag" */)) /* sqlite3.c:155469:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 20475 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 20486 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 20497 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 20502 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 20515 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 20525 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 20531 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 20542 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 20552 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 20564 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 20569 /* "lag" */)) /* sqlite3.c:155469:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -136109,7 +136616,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+20558 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20573 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -136153,12 +136660,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+20577 /* "RANGE with offse..." */, 0) + ts+20592 /* "RANGE with offse..." */, 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+20648 /* "FILTER clause ma..." */, 0) + ts+20663 /* "FILTER clause ma..." */, 0) } else { *(*[8]WindowUpdate)(unsafe.Pointer(bp /* aUp */)) = [8]WindowUpdate{ {FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT}, @@ -136181,7 +136688,7 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*Window)(unsafe.Pointer(pWin)).FeEnd = U8((*WindowUpdate)(unsafe.Pointer(bp /* &aUp */ + uintptr(i)*16)).FeEnd) (*Window)(unsafe.Pointer(pWin)).FeExclude = U8(0) if int32((*Window)(unsafe.Pointer(pWin)).FeStart) == TK_FOLLOWING { - (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6898 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6913 /* "1" */) } break } @@ -136422,7 +136929,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+6959 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + ts+6974 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) } return WRC_Continue } @@ -136552,7 +137059,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // keep everything legal in this case. if *(*uintptr)(unsafe.Pointer(bp + 28 /* pSublist */)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(bp + 28 /* pSublist */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3Expr(tls, db, TK_INTEGER, ts+6491 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+6506 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -136692,7 +137199,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+20711 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20726 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -136758,15 +137265,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint var zErr uintptr = uintptr(0) // Check for errors if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = ts + 20743 /* "PARTITION clause" */ + zErr = ts + 20758 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 20760 /* "ORDER BY clause" */ + zErr = ts + 20775 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 20776 /* "frame specificat..." */ + zErr = ts + 20791 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+20796 /* "cannot override ..." */, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase)) + ts+20811 /* "cannot override ..." */, 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 { @@ -136789,7 +137296,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+20829 /* "DISTINCT is not ..." */, 0) + ts+20844 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -136940,7 +137447,7 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regZero) if eCond >= WINDOW_STARTING_NUM { var regString int32 = Xsqlite3GetTempReg(tls, pParse) - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+740 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+755 /* "" */, -1) Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), reg) Xsqlite3VdbeChangeP5(tls, v, (uint16(SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL))) @@ -136962,11 +137469,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 20876, /* "frame starting o..." */ - ts + 20929, /* "frame ending off..." */ - ts + 20359, /* "second argument ..." */ - ts + 20980, /* "frame starting o..." */ - ts + 21032, /* "frame ending off..." */ + ts + 20891, /* "frame starting o..." */ + ts + 20944, /* "frame ending off..." */ + ts + 20374, /* "second argument ..." */ + ts + 20995, /* "frame starting o..." */ + ts + 21047, /* "frame ending off..." */ } /* sqlite3.c:156372:21 */ var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:156379:14 */ @@ -137567,7 +138074,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // the add/subtract is skipped for these, as required. If reg1 is a NULL, // then the arithmetic is performed, but since adding or subtracting from // NULL is always NULL anyway, this case is handled as required too. - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+740 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+755 /* "" */, -1) addrGe = Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, 0, reg1) if ((op == OP_Ge) && (arith == OP_Add)) || ((op == OP_Le) && (arith == OP_Subtract)) { @@ -138580,19 +139087,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit } cnt++ if ((*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0) || ((*Select)(unsafe.Pointer(pLoop)).FpLimit != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+21082, /* "%s clause should..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21097, /* "%s clause should..." */ libc.VaList(bp, func() uintptr { if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - return ts + 18196 /* "ORDER BY" */ + return ts + 18211 /* "ORDER BY" */ } - return ts + 21124 /* "LIMIT" */ + return ts + 21139 /* "LIMIT" */ }(), 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 + 112 /* &.aLimit */) + 4*4)))) > 0)) && (cnt > mxSelect) { - Xsqlite3ErrorMsg(tls, pParse, ts+21130 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21145 /* "too many terms i..." */, 0) } } @@ -138672,7 +139179,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+21164, /* "syntax error aft..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21179, /* "syntax error aft..." */ libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz)) } Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1) @@ -139897,7 +140404,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+21202 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21217 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -140876,11 +141383,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(22): /* table_options ::= WITHOUT nm */ { - if ((*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz, ts+14742 /* "rowid" */, 5) == 0) { + if ((*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz, ts+14757 /* "rowid" */, 5) == 0) { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)) = (TF_WithoutRowid | TF_NoVisibleRowid) } else { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)) = 0 - Xsqlite3ErrorMsg(tls, pParse, ts+21224 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz)) + Xsqlite3ErrorMsg(tls, pParse, ts+21239 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz)) } } break @@ -141615,7 +142122,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in case uint32(155): /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ { Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*12 + 4 /* &.minor */ /* &.yy0 */)) - Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)), ts+21251 /* "set list" */) + Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)), ts+21266 /* "set list" */) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)) = Xsqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */))) Xsqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*12 + 4 /* &.minor */)), uintptr(0), uintptr(0), uintptr(0)) } @@ -141768,7 +142275,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(bp + 68 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 4 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21260 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+68 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+21275 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+68 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) @@ -141972,9 +142479,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 /* &.minor */))) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4 /* &.minor */)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, func() uintptr { if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4 /* &.minor */)) != 0 { - return ts + 6898 /* "1" */ + return ts + 6913 /* "1" */ } - return ts + 6491 /* "0" */ + return ts + 6506 /* "0" */ }()) } else if ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)))).FnExpr == 1) && (Xsqlite3ExprIsConstant(tls, (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */))+8 /* &.a */))).FpExpr) != 0) { var pRHS uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)) + 8 /* &.a */))).FpExpr @@ -142249,21 +142756,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)) = *(*Token)(unsafe.Pointer(yymsp + 4 /* &.minor */)) Xsqlite3ErrorMsg(tls, pParse, - ts+21284 /* "qualified table ..." */, 0) + ts+21299 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21379 /* "the INDEXED BY c..." */, 0) + ts+21394 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21463 /* "the NOT INDEXED ..." */, 0) + ts+21478 /* "the NOT INDEXED ..." */, 0) } break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ @@ -142712,9 +143219,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To _ = yymajor // Silence some compiler warnings if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21260 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) + Xsqlite3ErrorMsg(tls, pParse, ts+21275 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+21548 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21563 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -143921,7 +144428,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin *(*int32)(unsafe.Pointer(bp + 1252 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+21565 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+21580 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -143941,12 +144448,12 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+2775 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+2790 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg - Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+21592, /* "%s in \"%s\"" */ + Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+21607, /* "%s in \"%s\"" */ libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ @@ -144158,7 +144665,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+21603 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+21618 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -144171,11 +144678,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+18316 /* "trigger" */, 7) == 0) { + if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+18331 /* "trigger" */, 7) == 0) { token = U8(TkTRIGGER) - } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+21610 /* "temp" */, 4) == 0) { + } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+21625 /* "temp" */, 4) == 0) { token = U8(TkTEMP) - } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+21615 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+21630 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -144188,9 +144695,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+21625 /* "end" */, 3) == 0) { + if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+21640 /* "end" */, 3) == 0) { token = U8(TkEND) - } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+21629 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+21644 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -145218,7 +145725,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // SQLITE_BUSY if the connection can not be closed immediately. if !(forceZombie != 0) && (connectionIsBusy(tls, db) != 0) { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+21637 /* "unable to close ..." */, 0) + ts+21652 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -145440,23 +145947,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: */ - var zErr uintptr = ts + 21705 /* "unknown error" */ + var zErr uintptr = ts + 21720 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 21719 /* "abort due to ROL..." */ + zErr = ts + 21734 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 21741 /* "another row avai..." */ + zErr = ts + 21756 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 21763 /* "no more rows ava..." */ + zErr = ts + 21778 /* "no more rows ava..." */ break } @@ -145474,35 +145981,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 21786, /* "not an error" */ - /* SQLITE_ERROR */ ts + 21799, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 21801, /* "not an error" */ + /* SQLITE_ERROR */ ts + 21814, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 21815, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 21840, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 21854, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 21873, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 5166, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 21898, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 21935, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 21947, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 21962, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 21995, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 22013, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 22038, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 22067, /* "locking protocol" */ + /* SQLITE_PERM */ ts + 21830, /* "access permissio..." */ + /* SQLITE_ABORT */ ts + 21855, /* "query aborted" */ + /* SQLITE_BUSY */ ts + 21869, /* "database is lock..." */ + /* SQLITE_LOCKED */ ts + 21888, /* "database table i..." */ + /* SQLITE_NOMEM */ ts + 5181, /* "out of memory" */ + /* SQLITE_READONLY */ ts + 21913, /* "attempt to write..." */ + /* SQLITE_INTERRUPT */ ts + 21950, /* "interrupted" */ + /* SQLITE_IOERR */ ts + 21962, /* "disk I/O error" */ + /* SQLITE_CORRUPT */ ts + 21977, /* "database disk im..." */ + /* SQLITE_NOTFOUND */ ts + 22010, /* "unknown operatio..." */ + /* SQLITE_FULL */ ts + 22028, /* "database or disk..." */ + /* SQLITE_CANTOPEN */ ts + 22053, /* "unable to open d..." */ + /* SQLITE_PROTOCOL */ ts + 22082, /* "locking protocol" */ /* SQLITE_EMPTY */ uintptr(0), - /* SQLITE_SCHEMA */ ts + 4896, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 4433, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 22084, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 22102, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 22120, /* "bad parameter or..." */ + /* SQLITE_SCHEMA */ ts + 4911, /* "database schema ..." */ + /* SQLITE_TOOBIG */ ts + 4448, /* "string or blob t..." */ + /* SQLITE_CONSTRAINT */ ts + 22099, /* "constraint faile..." */ + /* SQLITE_MISMATCH */ ts + 22117, /* "datatype mismatc..." */ + /* SQLITE_MISUSE */ ts + 22135, /* "bad parameter or..." */ /* SQLITE_NOLFS */ uintptr(0), - /* SQLITE_AUTH */ ts + 22154, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 22169, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 22175, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 22201, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 22224, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 22245, /* "warning message" */ + /* SQLITE_RANGE */ ts + 22190, /* "column index out..." */ + /* SQLITE_NOTADB */ ts + 22216, /* "file is not a da..." */ + /* SQLITE_NOTICE */ ts + 22239, /* "notification mes..." */ + /* SQLITE_WARNING */ ts + 22260, /* "warning message" */ } /* sqlite3.c:166656:20 */ // This routine implements a busy callback that sleeps and tries @@ -145667,7 +146174,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+22261 /* "unable to delete..." */, 0) + ts+22276 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -145800,7 +146307,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+22324 /* "unable to use fu..." */, libc.VaList(bp, zName)) + ts+22339 /* "unable to use fu..." */, libc.VaList(bp, zName)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } @@ -146022,7 +146529,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+22375 /* "unknown database..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+22390 /* "unknown database..." */, libc.VaList(bp, zDb)) } else { (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -146241,7 +146748,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint if (pColl != 0) && ((*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0) { if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+22396 /* "unable to delete..." */, 0) + ts+22411 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -146384,7 +146891,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u if !(((((flags & uint32(SQLITE_OPEN_URI)) != 0) || // IMP: R-48725-32206 (Xsqlite3Config.FbOpenUri != 0)) && // IMP: R-51689-46548 - (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+22464 /* "file:" */, uint32(5)) == 0)) { + (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+22479 /* "file:" */, uint32(5)) == 0)) { goto __1 } // Input character index iOut = 0 // Output character index @@ -146432,10 +146939,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+22470 /* "localhost" */, (zUri+7), uint32(9)) != 0))) { + if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+22485 /* "localhost" */, (zUri+7), uint32(9)) != 0))) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22480, /* "invalid uri auth..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22495, /* "invalid uri auth..." */ libc.VaList(bp, (iIn-7), (zUri+7))) rc = SQLITE_ERROR goto parse_uri_out @@ -146557,7 +147064,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+22508 /* "vfs" */, zOpt, uint32(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+22523 /* "vfs" */, zOpt, uint32(3)) == 0)) { goto __29 } zVfs = zVal @@ -146568,17 +147075,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+22512 /* "cache" */, zOpt, uint32(5)) == 0)) { + if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+22527 /* "cache" */, zOpt, uint32(5)) == 0)) { goto __31 } mask = (SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&aCacheMode)) limit = mask - zModeType = ts + 22512 /* "cache" */ + zModeType = ts + 22527 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22518 /* "mode" */, zOpt, uint32(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22533 /* "mode" */, zOpt, uint32(4)) == 0)) { goto __32 } @@ -146586,7 +147093,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 2384 /* "access" */ + zModeType = ts + 2399 /* "access" */ __32: ; @@ -146617,7 +147124,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22523 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22538 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -146625,7 +147132,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22543, /* "%s mode not allo..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22558, /* "%s mode not allo..." */ libc.VaList(bp+32, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out @@ -146668,7 +147175,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22567 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22582 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) rc = SQLITE_ERROR __42: ; @@ -146691,15 +147198,15 @@ type OpenMode = struct { } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 22583 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 22590 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, + {Fz: ts + 22598 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, + {Fz: ts + 22605 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, } /* sqlite3.c:168073:34 */ var aOpenMode = [5]OpenMode{ - {Fz: ts + 22598 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 22601 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 22604 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 15835 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, + {Fz: ts + 22613 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, + {Fz: ts + 22616 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, + {Fz: ts + 22619 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, + {Fz: ts + 15850 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, {}, } /* sqlite3.c:168085:34 */ @@ -146881,10 +147388,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+20154 /* "NOCASE" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+20169 /* "NOCASE" */, 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+22608 /* "RTRIM" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+22623 /* "RTRIM" */, 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) { @@ -146930,7 +147437,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)))) @@ -146968,9 +147475,9 @@ __22: // The default safety_level for the main database is FULL; for the temp // database it is OFF. This matches the pager layer defaults. - (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 5443 /* "main" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 5458 /* "main" */ (*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 + 21610 /* "temp" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).FzDbSName = ts + 21625 /* "temp" */ (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF) (*Sqlite3)(unsafe.Pointer(db)).Fmagic = SQLITE_MAGIC_OPEN @@ -147088,7 +147595,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 22614 /* "\x00\x00" */ + zFilename = ts + 22629 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -147191,24 +147698,24 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) bp := tls.Alloc(24) defer tls.Free(24) - Xsqlite3_log(tls, iErr, ts+22617, /* "%s at line %d of..." */ + Xsqlite3_log(tls, iErr, ts+22632, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) return iErr } func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168711:20: */ - return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+22642 /* "database corrupt..." */) + return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+22657 /* "database corrupt..." */) } func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168715:20: */ - return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+22662 /* "misuse" */) + return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+22677 /* "misuse" */) } func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168719:20: */ - return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+22669 /* "cannot open file" */) + return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+22684 /* "cannot open file" */) } // This is a convenience routine that makes sure that all thread-specific @@ -147335,7 +147842,7 @@ __4: autoinc = (libc.Bool32((int32((*Table)(unsafe.Pointer(pTab)).FiPKey) == iCol) && (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != U32(0)))) goto __13 __12: - zDataType = ts + 11369 /* "INTEGER" */ + zDataType = ts + 11384 /* "INTEGER" */ primarykey = 1 __13: ; @@ -147387,14 +147894,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+22686 /* "no such table co..." */, libc.VaList(bp, zTableName, + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+22701 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -148193,7 +148700,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+22714 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+22729 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -148354,7 +148861,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 + 22722 /* "database is dead..." */ + return ts + 22737 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -149153,7 +149660,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 5243 /* "null" */, ts + 5755 /* "true" */, ts + 5760 /* "false" */, ts + 5253 /* "integer" */, ts + 5248 /* "real" */, ts + 13508 /* "text" */, ts + 22745 /* "array" */, ts + 22751, /* "object" */ + ts + 5258 /* "null" */, ts + 5770 /* "true" */, ts + 5775 /* "false" */, ts + 5268 /* "integer" */, ts + 5263 /* "real" */, ts + 13523 /* "text" */, ts + 22760 /* "array" */, ts + 22766, /* "object" */ } /* sqlite3.c:189771:19 */ // Maximum nesting depth of JSON for this implementation. @@ -149333,7 +149840,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 + 22758 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 22773 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -149361,7 +149868,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { - jsonAppendRaw(tls, p, ts+5243 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+5258 /* "null" */, uint32(4)) break } @@ -149390,7 +149897,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 default: { if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { - Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+22775 /* "JSON cannot hold..." */, -1) + Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+22790 /* "JSON cannot hold..." */, -1) (*JsonString)(unsafe.Pointer(p)).FbErr = U8(2) jsonReset(tls, p) } @@ -149467,19 +149974,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+5243 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+5258 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+5755 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+5770 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+5760 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+5775 /* "false" */, uint32(5)) break } @@ -150045,17 +150552,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } return (int32(j + U32(1))) } else if ((int32(c) == 'n') && - (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5243 /* "null" */, uint32(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5258 /* "null" */, uint32(4)) == 0)) && !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { 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+5755 /* "true" */, uint32(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5770 /* "true" */, 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+5760 /* "false" */, uint32(5)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5775 /* "false" */, 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))) @@ -150163,7 +150670,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+22804 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+22819 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -150483,7 +150990,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+22819 /* "[0]" */, uint32(3)) == 0 { + } else if libc.Xstrncmp(tls, zPath, ts+22834 /* "[0]" */, uint32(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) } else { return uintptr(0) @@ -150500,7 +151007,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190 bp := tls.Alloc(8) defer tls.Free(8) - return Xsqlite3_mprintf(tls, ts+22823 /* "JSON path error ..." */, libc.VaList(bp, zErr)) + return Xsqlite3_mprintf(tls, ts+22838 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } // Do a node lookup using zPath. Return a pointer to the node on success. @@ -150567,7 +151074,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit bp := tls.Alloc(8) defer tls.Free(8) - var zMsg uintptr = Xsqlite3_mprintf(tls, ts+22849, /* "json_%s() needs ..." */ + var zMsg uintptr = Xsqlite3_mprintf(tls, ts+22864, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -150711,7 +151218,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* if pNode != 0 { jsonRenderNode(tls, pNode, bp /* &jx */, uintptr(0)) } else { - jsonAppendRaw(tls, bp /* &jx */, ts+5243 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+5258 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -150839,14 +151346,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+22892 /* "json_object() re..." */, -1) + ts+22907 /* "json_object() re..." */, -1) return } jsonInit(tls, bp /* &jx */, ctx) jsonAppendChar(tls, bp /* &jx */, 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+22943 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+22958 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -150954,7 +151461,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+14019 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+14034 /* "replace" */) return __2: ; @@ -151040,9 +151547,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 22977 /* "set" */ + return ts + 22992 /* "set" */ } - return ts + 22981 /* "insert" */ + return ts + 22996 /* "insert" */ }()) return __2: @@ -151190,7 +151697,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+22988 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+23003 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -151295,7 +151802,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+22991 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+23006 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -151348,7 +151855,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+22994 /* "CREATE TABLE x(k..." */) + ts+23009 /* "CREATE TABLE x(k..." */) if rc == SQLITE_OK { pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{})))) if pNew == uintptr(0) { @@ -151486,14 +151993,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql 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+23077 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) + jsonPrintf(tls, 30, pStr, ts+23092 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) } else { if (int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags) & JNODE_LABEL) == 0 { pNode -= 12 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+23082 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+23097 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } @@ -151586,9 +152093,9 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* jsonAppendChar(tls, bp+24 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+24 /* &x */, ts+23077 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+24 /* &x */, ts+23092 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+23082 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+23097 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } jsonResult(tls, bp+24 /* &x */) @@ -151612,7 +152119,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 + 23088 /* "$" */ + zRoot = ts + 23103 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -151744,7 +152251,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+22804 /* "malformed JSON" */, 0) + (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+22819 /* "malformed JSON" */, 0) if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { rc = SQLITE_ERROR } @@ -151884,21 +152391,21 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 23090 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23095 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23106 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23106 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23124 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23137 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23149 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23161 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23172 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23183 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23195 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23208 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 23217 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23217 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23227 /* "json_valid" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23105 /* "json" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23110 /* "json_array" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23121 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23121 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23139 /* "json_extract" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23152 /* "json_insert" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23164 /* "json_object" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23176 /* "json_patch" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23187 /* "json_quote" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23198 /* "json_remove" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23210 /* "json_replace" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23223 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, + {FzName: ts + 23232 /* "json_type" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23232 /* "json_type" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23242 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { FzName uintptr @@ -151907,17 +152414,17 @@ var aAgg = [2]struct { FxFinal uintptr FxValue uintptr }{ - {FzName: ts + 23238 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 23253 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 23255 /* "json_group_objec..." */, FnArg: 2, + {FzName: ts + 23270 /* "json_group_objec..." */, FnArg: 2, FxStep: 0, FxFinal: 0, FxValue: 0}, } /* sqlite3.c:192211:5 */ var aMod = [2]struct { FzName uintptr FpModule uintptr }{ - {FzName: ts + 23273 /* "json_each" */, FpModule: 0}, - {FzName: ts + 23283 /* "json_tree" */, FpModule: 0}, + {FzName: ts + 23288 /* "json_each" */, FpModule: 0}, + {FzName: ts + 23298 /* "json_tree" */, FpModule: 0}, } /* sqlite3.c:192221:5 */ var enc int32 = ((SQLITE_UTF8 | SQLITE_DETERMINISTIC) | SQLITE_INNOCUOUS) /* sqlite3.c:192226:20 */ // In the SQLite core @@ -152264,11 +152771,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+23293 /* "%s_node" */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + var zTab uintptr = Xsqlite3_mprintf(tls, ts+23308 /* "%s_node" */, 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+23301 /* "data" */, iNode, 0, + rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+23316 /* "data" */, iNode, 0, (pRtree + 76 /* &.pNodeBlob */)) Xsqlite3_free(tls, zTab) } @@ -152513,7 +153020,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+23306, /* "DROP TABLE '%q'...." */ + ts+23321, /* "DROP TABLE '%q'...." */ 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)) @@ -153273,7 +153780,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information - pSrc = Xsqlite3_value_pointer(tls, pValue, ts+23388 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+23403 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -153537,7 +154044,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+24 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+24 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -154797,7 +155304,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+23402 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, ts+23417 /* "SELECT * FROM %Q..." */, 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 /* &pStmt */, uintptr(0)) } else { @@ -154809,12 +155316,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 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+23422 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+23437 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), iCol) var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+23454 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+23469 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } @@ -155082,7 +155589,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+23491 /* "ALTER TABLE %Q.'..." */, 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+23506 /* "ALTER TABLE %Q.'..." */, 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)) @@ -155120,7 +155627,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(20) defer tls.Free(20) - var zFmt uintptr = ts + 23636 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 23651 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+16, 4 @@ -155128,7 +155635,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit var nRow I64 = int64(0) rc = Xsqlite3_table_column_metadata(tls, - db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+10057 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+10072 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == SQLITE_ERROR { @@ -155181,7 +155688,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 23692 /* "node" */, ts + 4159 /* "parent" */, ts + 14742, /* "rowid" */ + ts + 23707 /* "node" */, ts + 4174 /* "parent" */, ts + 14757, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -155225,19 +155732,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+23697, /* "CREATE TABLE \"%w..." */ + ts+23712, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+23759 /* ",a%d" */, libc.VaList(bp+16, ii)) + Xsqlite3_str_appendf(tls, p, ts+23774 /* ",a%d" */, libc.VaList(bp+16, ii)) } Xsqlite3_str_appendf(tls, p, - ts+23764, /* ");CREATE TABLE \"..." */ + ts+23779, /* ");CREATE TABLE \"..." */ libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+23828, /* "CREATE TABLE \"%w..." */ + ts+23843, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+23898, /* "INSERT INTO \"%w\"..." */ + ts+23913, /* "INSERT INTO \"%w\"..." */ libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { @@ -155268,7 +155775,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } else { // An UPSERT is very slightly slower than REPLACE, but it is needed // if there are auxiliary columns - zFormat = ts + 23947 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 23962 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { @@ -155280,7 +155787,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+24055, /* "SELECT * FROM \"%..." */ + ts+24070, /* "SELECT * FROM \"%..." */ libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -155288,18 +155795,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+24100 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+112, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+24115 /* "UPDATE \"%w\".\"%w_..." */, 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+11522 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+11537 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+24127 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+24142 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+24149 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+24164 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) } } - Xsqlite3_str_appendf(tls, p, ts+24157 /* " WHERE rowid=?1" */, 0) + Xsqlite3_str_appendf(tls, p, ts+24172 /* " WHERE rowid=?1" */, 0) zSql = Xsqlite3_str_finish(tls, p) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -155315,18 +155822,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 24173, /* "INSERT OR REPLAC..." */ - ts + 24226, /* "DELETE FROM '%q'..." */ + ts + 24188, /* "INSERT OR REPLAC..." */ + ts + 24241, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 24271, /* "SELECT nodeno FR..." */ - ts + 24323, /* "INSERT OR REPLAC..." */ - ts + 24377, /* "DELETE FROM '%q'..." */ + ts + 24286, /* "SELECT nodeno FR..." */ + ts + 24338, /* "INSERT OR REPLAC..." */ + ts + 24392, /* "DELETE FROM '%q'..." */ // Read and write the xxx_parent table - ts + 24422, /* "SELECT parentnod..." */ - ts + 24480, /* "INSERT OR REPLAC..." */ - ts + 24535, /* "DELETE FROM '%q'..." */ + ts + 24437, /* "SELECT parentnod..." */ + ts + 24495, /* "INSERT OR REPLAC..." */ + ts + 24550, /* "DELETE FROM '%q'..." */ } /* sqlite3.c:195763:21 */ // The second argument to this function contains the text of an SQL statement @@ -155373,7 +155880,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr var zSql uintptr if isCreate != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) = 0 - zSql = Xsqlite3_mprintf(tls, ts+24582 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, ts+24597 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) rc = getIntFromStmt(tls, db, zSql, bp+48 /* &iPageSize */) if rc == SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) - 64) @@ -155381,19 +155888,19 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, - ts+24602, /* "SELECT length(da..." */ + ts+24617, /* "SELECT length(da..." */ libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 16 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+24659, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+24674, /* "undersize RTree ..." */ libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -155444,17 +155951,17 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr ii = 4 *(*[5]uintptr)(unsafe.Pointer(bp + 96 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 - ts + 24694, /* "Wrong number of ..." */ // 1 - ts + 24737, /* "Too few columns ..." */ // 2 - ts + 24772, /* "Too many columns..." */ // 3 - ts + 24808, /* "Auxiliary rtree ..." */ // 4 + ts + 24709, /* "Wrong number of ..." */ // 1 + ts + 24752, /* "Too few columns ..." */ // 2 + ts + 24787, /* "Too many columns..." */ // 3 + ts + 24823, /* "Auxiliary rtree ..." */ // 4 } // Aux columns counted by a u8 if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*4)))) return SQLITE_ERROR __1: ; @@ -155484,7 +155991,7 @@ __2: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+24845, /* "CREATE TABLE x(%..." */ + Xsqlite3_str_appendf(tls, pSql, ts+24860, /* "CREATE TABLE x(%..." */ libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))), *(*uintptr)(unsafe.Pointer(argv + 3*4)))) ii = 4 __3: @@ -155496,7 +156003,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+24869 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+24884 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -155519,7 +156026,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+24875 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+24890 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -155530,14 +156037,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*4)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -155580,7 +156087,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*4)))) goto rtreeInit_fail __22: ; @@ -155598,7 +156105,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -155618,7 +156125,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 24878 /* ",%.*s REAL" */, ts + 24889 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ +var azFormat = [2]uintptr{ts + 24893 /* ",%.*s REAL" */, ts + 24904 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -155673,13 +156180,13 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit nodeGetCell(tls, bp+48 /* &tree */, bp+16 /* &node */, ii, bp+552 /* &cell */) if ii > 0 { - Xsqlite3_str_append(tls, pOut, ts+9637 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+9652 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+24899 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+552 /* &cell */)).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, ts+24914 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+552 /* &cell */)).FiRowid)) for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+48 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+24905 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 552 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+24920 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 552 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } - Xsqlite3_str_append(tls, pOut, ts+24909 /* "}" */, 1) + Xsqlite3_str_append(tls, pOut, ts+24924 /* "}" */, 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}))) @@ -155698,7 +156205,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli _ = 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+24911 /* "Invalid argument..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+24926 /* "Invalid argument..." */, -1) } else { var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -155785,12 +156292,12 @@ 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+24944, /* "%z%s%z" */ + (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+24959, /* "%z%s%z" */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - return ts + 3156 /* "\n" */ + return ts + 3171 /* "\n" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -155821,7 +156328,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+24951, /* "SELECT data FROM..." */ + ts+24966, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -155840,7 +156347,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+24996 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+25011 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -155864,8 +156371,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 /* azSql */)) = [2]uintptr{ - ts + 25028, /* "SELECT parentnod..." */ - ts + 25082, /* "SELECT nodeno FR..." */ + ts + 25043, /* "SELECT parentnod..." */ + ts + 25097, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 24 /* &.aCheckMapping */) + uintptr(bLeaf)*4)) == uintptr(0) { @@ -155880,23 +156387,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+25130, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+25145, /* "Mapping (%lld ->..." */ libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 25175 /* "%_rowid" */ + return ts + 25190 /* "%_rowid" */ } - return ts + 25183 /* "%_parent" */ + return ts + 25198 /* "%_parent" */ }())) } else if rc == SQLITE_ROW { var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, - ts+25192, /* "Found (%lld -> %..." */ + ts+25207, /* "Found (%lld -> %..." */ libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 25175 /* "%_rowid" */ + return ts + 25190 /* "%_rowid" */ } - return ts + 25183 /* "%_parent" */ + return ts + 25198 /* "%_parent" */ }(), iKey, iVal)) } } @@ -155939,7 +156446,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, - ts+25250 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+25265 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -155959,7 +156466,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 60 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+25298 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) + ts+25313 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -155982,14 +156489,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr if aNode != 0 { if *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+25365 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) + ts+25380 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+25399 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+25414 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } @@ -155997,7 +156504,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 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, - ts+25429, /* "Node %lld is too..." */ + ts+25444, /* "Node %lld is too..." */ libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { for i = 0; i < nCell; i++ { @@ -156031,14 +156538,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+25484, /* "SELECT count(*) ..." */ + pCount = rtreeCheckPrepare(tls, pCheck, ts+25499, /* "SELECT count(*) ..." */ 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+25515 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) + ts+25530 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -156068,13 +156575,13 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+13198 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+13213 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+25582 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+25597 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) @@ -156083,12 +156590,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+23402 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+23417 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) if pStmt != 0 { var rc int32 (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+25610 /* "Schema corrupt o..." */, 0) + rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+25625 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } @@ -156103,8 +156610,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { rtreeCheckNode(tls, bp+32 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+32 /* &check */, ts+25641 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+32 /* &check */, ts+25648 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+25656 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+25663 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check @@ -156114,7 +156621,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // If one was opened, close the transaction if bEnd != 0 { - var rc int32 = Xsqlite3_exec(tls, db, ts+25656 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) + var rc int32 = Xsqlite3_exec(tls, db, ts+25671 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } @@ -156160,7 +156667,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+25660 /* "wrong number of ..." */, -1) + ts+25675 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -156168,7 +156675,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 5443 /* "main" */ + zDb = ts + 5458 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*4))) } @@ -156178,7 +156685,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if *(*uintptr)(unsafe.Pointer(bp /* zReport */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp /* zReport */)) } - return ts + 16321 /* "ok" */ + return ts + 16336 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -156614,11 +157121,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+25711 /* "[" */, 1) + Xsqlite3_str_append(tls, x, ts+25726 /* "[" */, 1) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { - Xsqlite3_str_appendf(tls, x, ts+25713 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) + Xsqlite3_str_appendf(tls, x, ts+25728 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+25724 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+25739 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 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) } @@ -156642,19 +157149,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+25735 /* "" */, 0) + Xsqlite3_str_appendf(tls, x, ts+25788 /* ">" */, 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) } @@ -157669,7 +158176,7 @@ __1: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+25786 /* "CREATE TABLE x(_..." */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+25801 /* "CREATE TABLE x(_..." */, 0) (*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1) // Add one for _shape (*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1) // The _shape column is always not-null ii = 3 @@ -157678,7 +158185,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+25808 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)))) + Xsqlite3_str_appendf(tls, pSql, ts+25823 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)))) goto __3 __3: ii++ @@ -157686,7 +158193,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+24875 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+24890 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -157697,7 +158204,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -157723,7 +158230,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -157956,7 +158463,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s if iRowidTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 14742 /* "rowid" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 14757 /* "rowid" */ (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).FargvIndex = 1 (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).Fomit = uint8(1) (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 30.0 @@ -157966,7 +158473,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } if iFuncTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25812 /* "rtree" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25827 /* "rtree" */ (*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 @@ -157974,7 +158481,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s return SQLITE_OK } (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25818 /* "fullscan" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25833 /* "fullscan" */ (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -158112,7 +158619,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25827 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25842 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -158257,14 +158764,14 @@ geopoly_update_end: // Report that geopoly_overlap() is an overloaded function suitable // for use in xBestIndex. func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:198361:12: */ - if Xsqlite3_stricmp(tls, zName, ts+25867 /* "geopoly_overlap" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+25882 /* "geopoly_overlap" */) == 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+25883 /* "geopoly_within" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+25898 /* "geopoly_within" */) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{geopolyWithinFunc})) @@ -158329,7 +158836,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 uintptr(0), aAgg1[i].FxStep, aAgg1[i].FxFinal) } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, ts+25898 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+25913 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -158341,25 +158848,25 @@ var aFunc1 = [12]struct { _ [2]byte FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25906 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25919 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25932 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 25945 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25883 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 25957 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25867 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 25980 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25994 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 26007 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 26021 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26037 /* "geopoly_ccw" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25921 /* "geopoly_area" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25934 /* "geopoly_blob" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25947 /* "geopoly_json" */}, + {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 25960 /* "geopoly_svg" */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25898 /* "geopoly_within" */}, + {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 25972 /* "geopoly_contains..." */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25882 /* "geopoly_overlap" */}, + {FxFunc: 0, FnArg: int8(1), FzName: ts + 25995 /* "geopoly_debug" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26009 /* "geopoly_bbox" */}, + {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 26022 /* "geopoly_xform" */}, + {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 26036 /* "geopoly_regular" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26052 /* "geopoly_ccw" */}, } /* sqlite3.c:198416:5 */ var aAgg1 = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ - {FxStep: 0, FxFinal: 0, FzName: ts + 26049 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 26064 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -158372,26 +158879,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 var utf8 int32 = SQLITE_UTF8 var rc int32 - rc = Xsqlite3_create_function(tls, db, ts+26068 /* "rtreenode" */, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26083 /* "rtreenode" */, 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+26078 /* "rtreedepth" */, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26093 /* "rtreedepth" */, 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+26089 /* "rtreecheck" */, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26104 /* "rtreecheck" */, -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+25812 /* "rtree" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+25827 /* "rtree" */, 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+26100 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+26115 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { rc = sqlite3_geopoly_init(tls, db) @@ -158463,7 +158970,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql Xsqlite3_result_error_nomem(tls, ctx) rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, ts+23388 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) + Xsqlite3_result_pointer(tls, ctx, pBlob, ts+23403 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) } } } @@ -159745,7 +160252,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // Figure out the size of the output nOut = rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, ts+26110 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+26125 /* "corrupt fossil d..." */, -1) return } @@ -159756,7 +160263,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+26110 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+26125 /* "corrupt fossil d..." */, -1) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -159777,7 +160284,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -159795,7 +160302,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -159899,7 +160406,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+26131 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + ts+26146 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } if rc == SQLITE_OK { @@ -159983,7 +160490,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+23301 /* "data" */, zIn, uint32(4)) == 0) { + if (libc.Xstrlen(tls, zIn) > Size_t(4)) && (libc.Xmemcmp(tls, ts+23316 /* "data" */, 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++ { } @@ -160011,17 +160518,17 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter /* &.pTblIter */), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26302 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { + ts+26317 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 26452 /* "AND rootpage!=0 ..." */ + return ts + 26467 /* "AND rootpage!=0 ..." */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 4 /* &.pIdxIter */), (p + 36 /* &.zErrmsg */), - ts+26493 /* "SELECT name, roo..." */) + ts+26508 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -160159,7 +160666,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: var rc int32 = Xsqlite3_finalize(tls, pStmt) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (rc != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) } } @@ -160222,7 +160729,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 /* &aStmt */), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26618 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) + ts+26633 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } @@ -160240,7 +160747,7 @@ __2: *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 1*4), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26699 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) + Xsqlite3_mprintf(tls, ts+26714 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -160258,7 +160765,7 @@ __4: } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 2*4), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26720 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) + ts+26735 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } @@ -160282,7 +160789,7 @@ __5: ; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 3*4), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26771 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) + Xsqlite3_mprintf(tls, ts+26786 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } @@ -160331,7 +160838,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pList */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26792 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+26807 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 @@ -160346,7 +160853,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pXInfo */)))) { var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pXInfo */)), 1) if iCid >= 0 { @@ -160396,7 +160903,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 36 /* &.eType */), bp+56 /* &iTnum */, (pIter + 60 /* &.iPkTnum */)) 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+17842 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+17857 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc @@ -160409,18 +160916,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // of the input table. Ignore any input table columns that begin with // "rbu_". (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+60 /* &pStmt */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26849 /* "SELECT * FROM '%..." */, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + Xsqlite3_mprintf(tls, ts+26864 /* "SELECT * FROM '%..." */, 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 /* pStmt */))) 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 /* pStmt */)), i) - if Xsqlite3_strnicmp(tls, ts+26868 /* "rbu_" */, zName, 4) != 0 { + if Xsqlite3_strnicmp(tls, ts+26883 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 32 /* &.rc */)) *(*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+26873 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+26888 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -160432,12 +160939,12 @@ 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+26883 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+26898 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { - return ts + 26912 /* "may not have" */ + return ts + 26927 /* "may not have" */ } - return ts + 26925 /* "requires" */ + return ts + 26940 /* "requires" */ }())) } @@ -160446,7 +160953,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60 /* &pStmt */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26934 /* "PRAGMA table_inf..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+26949 /* "PRAGMA table_inf..." */, 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 /* pStmt */)))) { var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pStmt */)), 1) @@ -160460,7 +160967,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+26956, /* "column missing f..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+26971, /* "column missing f..." */ libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pStmt */)), 5) @@ -160506,12 +161013,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(24) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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+26983 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 13309 /* ", " */ + zList = rbuMPrintf(tls, p, ts+26998 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 13324 /* ", " */ } return zList } @@ -160526,13 +161033,13 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, var iPk int32 = 1 var zRet uintptr = uintptr(0) - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ for 1 != 0 { var i int32 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+26992 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) + zRet = rbuMPrintf(tls, p, ts+27007 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -160571,25 +161078,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 /* &pMax */, (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27005 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + ts+27020 /* "SELECT max(_rowi..." */, 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 /* pMax */)))) { var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+27037 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) + zRet = rbuMPrintf(tls, p, ts+27052 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } else { - var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+740 /* "" */, ts+13309 /* ", " */, ts+27060 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+27066 /* "quote(" */, ts+27073 /* "||','||" */, ts+4051 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+740 /* "" */, ts+13309 /* ", " */, ts+740 /* "" */) + var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+13324 /* ", " */, ts+27075 /* " DESC" */) + var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+27081 /* "quote(" */, ts+27088 /* "||','||" */, ts+4066 /* ")" */) + var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+13324 /* ", " */, ts+755 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27081, /* "SELECT %s FROM \"..." */ + ts+27096, /* "SELECT %s FROM \"..." */ 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 /* pMax */)))) { var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+27123 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) + zRet = rbuMPrintf(tls, p, ts+27138 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } @@ -160647,12 +161154,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 740 /* "" */ + zSep = ts + 755 /* "" */ iCol = 0 *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, 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 /* pXInfo */))))) { goto __2 @@ -160689,7 +161196,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) goto __7 __6: - zCol = ts + 27143 /* "_rowid_" */ + zCol = ts + 27158 /* "_rowid_" */ __7: ; goto __5 @@ -160698,13 +161205,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+27151, /* "%z%s \"%w\" COLLAT..." */ + zLhs = rbuMPrintf(tls, p, ts+27166, /* "%z%s \"%w\" COLLAT..." */ libc.VaList(bp+8, zLhs, zSep, zCol, zCollate)) - zOrder = rbuMPrintf(tls, p, ts+27172, /* "%z%s \"rbu_imp_%d..." */ + zOrder = rbuMPrintf(tls, p, ts+27187, /* "%z%s \"rbu_imp_%d..." */ libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = rbuMPrintf(tls, p, ts+27208, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+27223, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) - zSep = ts + 13309 /* ", " */ + zSep = ts + 13324 /* ", " */ iCol++ goto __1 __2: @@ -160723,12 +161230,12 @@ __11: *(*uintptr)(unsafe.Pointer(bp + 180 /* pSel */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+180 /* &pSel */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27235, /* "SELECT %s FROM \"..." */ + Xsqlite3_mprintf(tls, ts+27250, /* "SELECT %s FROM \"..." */ 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 /* pSel */))))) { goto __13 } - zSep = ts + 740 /* "" */ + zSep = ts + 755 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -160750,8 +161257,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+27283 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) - zSep = ts + 13309 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+27298 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) + zSep = ts + 13324 /* ", " */ goto __15 __15: iCol++ @@ -160763,7 +161270,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+27290 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+27305 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: @@ -160813,14 +161320,14 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var zImpPK uintptr = uintptr(0) // String to return via *pzImposterPK var zWhere uintptr = uintptr(0) // String to return via *pzWhere var nBind int32 = 0 // Value to return via *pnBind - var zCom uintptr = ts + 740 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 740 /* "" */ // Set to " AND " later on + var zCom uintptr = ts + 755 /* "" */ // Set to ", " later on + var zAnd uintptr = ts + 755 /* "" */ // Set to " AND " later on *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)))) { @@ -160832,9 +161339,9 @@ 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 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+27302 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+8, zRet, zCom, + zRet = Xsqlite3_mprintf(tls, ts+27317 /* "%z%s(%.*s) COLLA..." */, 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 + 740 /* "" */ + zType = ts + 755 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -160846,37 +161353,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 + 27143 /* "_rowid_" */ + zCol = ts + 27158 /* "_rowid_" */ } else { - zCol = ts + 26873 /* "rbu_rowid" */ + zCol = ts + 26888 /* "rbu_rowid" */ } - zType = ts + 11369 /* "INTEGER" */ + zType = ts + 11384 /* "INTEGER" */ } 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+27324 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+27339 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) } if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { - return ts + 27060 /* " DESC" */ + return ts + 27075 /* " DESC" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+27344, /* "%z%s\"rbu_imp_%d%..." */ + zImpPK = Xsqlite3_mprintf(tls, ts+27359, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, ts+27365, /* "%z%s\"rbu_imp_%d%..." */ + zImpCols = Xsqlite3_mprintf(tls, ts+27380, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+27398 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol)) + ts+27413 /* "%z%s\"rbu_imp_%d%..." */, 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 + 13309 /* ", " */ - zAnd = ts + 19862 /* " AND " */ + zCom = ts + 13324 /* ", " */ + zAnd = ts + 19877 /* " AND " */ nBind++ } @@ -160919,16 +161426,16 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zS uintptr = ts + 740 /* "" */ + var zS uintptr = ts + 755 /* "" */ var i int32 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+27422 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, ts+27437 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+27434 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+27449 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } - zS = ts + 13309 /* ", " */ + zS = ts + 13324 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -160937,7 +161444,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+27443 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+27458 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) } } return zList @@ -160957,27 +161464,27 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq 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+27458 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) + zList = rbuMPrintf(tls, p, ts+27473 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) } else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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+27472 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) - zSep = ts + 19862 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+27487 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) + zSep = ts + 19877 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+27484 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) + ts+27499 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) - zList = rbuMPrintf(tls, p, ts+27534 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) - zSep = ts + 19862 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+27549 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) + zSep = ts + 19877 /* " AND " */ } } } @@ -160991,7 +161498,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // of the RBU handle to something reflecting this. func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+27547 /* "invalid rbu_cont..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+27562 /* "invalid rbu_cont..." */, 0) } // Return a nul-terminated string containing the comma separated list of @@ -161020,21 +161527,21 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr if int32(libc.Xstrlen(tls, zMask)) != (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { rbuBadControlError(tls, p) } else { - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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+27534, /* "%z%s\"%w\"=?%d" */ + zList = rbuMPrintf(tls, p, ts+27549, /* "%z%s\"%w\"=?%d" */ libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), (i+1))) - zSep = ts + 13309 /* ", " */ + zSep = ts + 13324 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+27573, /* "%z%s\"%w\"=rbu_del..." */ + zList = rbuMPrintf(tls, p, ts+27588, /* "%z%s\"%w\"=rbu_del..." */ 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 + 13309 /* ", " */ + zSep = ts + 13324 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+27603, /* "%z%s\"%w\"=rbu_fos..." */ + zList = rbuMPrintf(tls, p, ts+27618, /* "%z%s\"%w\"=rbu_fos..." */ 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 + 13309 /* ", " */ + zSep = ts + 13324 /* ", " */ } } } @@ -161092,19 +161599,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zSep uintptr = ts + 27640 /* "PRIMARY KEY(" */ + var zSep uintptr = ts + 27655 /* "PRIMARY KEY(" */ *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56 /* &pXList */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26792 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+26807 /* "PRAGMA main.inde..." */, 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 /* pXList */)))) { var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 3) - if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+14652 /* "pk" */) == 0) { + if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+14667 /* "pk" */) == 0) { var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 1) if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } @@ -161117,15 +161624,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */)), 2) var zDesc uintptr if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */)), 3) != 0 { - zDesc = ts + 27060 /* " DESC" */ + zDesc = ts + 27075 /* " DESC" */ } else { - zDesc = ts + 740 /* "" */ + zDesc = ts + 755 /* "" */ } - z = rbuMPrintf(tls, p, ts+27653 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = ts + 13309 /* ", " */ + z = rbuMPrintf(tls, p, ts+27668 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) + zSep = ts + 13324 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+27664 /* "%z)" */, libc.VaList(bp+48, z)) + z = rbuMPrintf(tls, p, ts+27679 /* "%z)" */, libc.VaList(bp+48, z)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */))) } return z @@ -161157,7 +161664,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx - var zComma uintptr = ts + 740 /* "" */ + var zComma uintptr = ts + 755 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -161165,7 +161672,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168 /* &pQuery */, (p + 36 /* &.zErrmsg */), - ts+27668 /* "SELECT name FROM..." */) + ts+27683 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 1, tnum) if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) { @@ -161174,7 +161681,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit } if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+172 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) @@ -161184,25 +161691,25 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)), 1) var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)), 3) var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+27718 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, + zCols = rbuMPrintf(tls, p, ts+27733 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+27740 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+27755 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { - return ts + 27060 /* " DESC" */ + return ts + 27075 /* " DESC" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) - zComma = ts + 13309 /* ", " */ + zComma = ts + 13324 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+27750 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) + zCols = rbuMPrintf(tls, p, ts+27765 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+27765, /* "CREATE TABLE rbu..." */ + ts+27780, /* "CREATE TABLE rbu..." */ libc.VaList(bp+120, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 0)) } } @@ -161230,52 +161737,52 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum - var zComma uintptr = ts + 740 /* "" */ + var zComma uintptr = ts + 755 /* "" */ var zSql uintptr = uintptr(0) var iCol int32 - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 1)) for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { - var zPk uintptr = ts + 740 /* "" */ + var zPk uintptr = ts + 755 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*4)) *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, 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) { // If the target table column is an "INTEGER PRIMARY KEY", add // "PRIMARY KEY" to the imposter table column declaration. - zPk = ts + 27827 /* "PRIMARY KEY " */ + zPk = ts + 27842 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+27840, /* "%z%s\"%w\" %s %sCO..." */ + zSql = rbuMPrintf(tls, p, ts+27855, /* "%z%s\"%w\" %s %sCO..." */ libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*4)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - return ts + 27867 /* " NOT NULL" */ + return ts + 27882 /* " NOT NULL" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) - zComma = ts + 13309 /* ", " */ + zComma = ts + 13324 /* ", " */ } 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+27877 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+27892 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+27884, /* "CREATE TABLE \"rb..." */ + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 1, tnum)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+27899, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { - return ts + 27916 /* " WITHOUT ROWID" */ + return ts + 27931 /* " WITHOUT ROWID" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 0)) } } @@ -161298,7 +161805,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 88 /* &.pTmpInsert */), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27931, /* "INSERT INTO %s.'..." */ + ts+27946, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -161335,7 +161842,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+27988 /* "SELECT trim(sql)..." */) + ts+28003 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -161445,7 +161952,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+28054 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) + zLimit = Xsqlite3_mprintf(tls, ts+28069 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) if !(zLimit != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM } @@ -161466,26 +161973,26 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 612 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+28074, /* "CREATE TABLE \"rb..." */ + ts+28089, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 604 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 0)) // Create the statement to insert index entries (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 612 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 80 /* &.pInsert */), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28139 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+28154 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) } // And to delete index entries 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 /* &.pDelete */), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28175 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+28190 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -161502,7 +162009,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+28209, /* "SELECT %s, 0 AS ..." */ + ts+28224, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -161510,32 +162017,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 28270 /* "AND" */ + return ts + 28285 /* "AND" */ } - return ts + 28274 /* "WHERE" */ + return ts + 28289 /* "WHERE" */ }() } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zStart, zCollist, zLimit)) 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+28280, /* "SELECT %s, rbu_c..." */ + ts+28295, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+216, zCollist, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, - ts+28341, /* "SELECT %s, rbu_c..." */ + ts+28356, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+264, zCollist, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { if zPart != 0 { - return ts + 28270 /* "AND" */ + return ts + 28285 /* "AND" */ } - return ts + 28274 /* "WHERE" */ + return ts + 28289 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -161560,8 +162067,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 var zBindings uintptr = rbuObjIterGetBindlist(tls, p, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + bRbuRowid)) var zWhere uintptr = rbuObjIterGetWhere(tls, p, pIter) - var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5452 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5448 /* "new" */) + var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5467 /* "old" */) + var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5463 /* "new" */) zCollist = rbuObjIterGetCollist(tls, p, pIter) (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -161571,21 +162078,21 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuCreateImposterTable2(tls, p, pIter) zWrite = func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 28500 /* "rbu_imp_" */ + return ts + 28515 /* "rbu_imp_" */ }() // Create the INSERT statement to write to the target PK b-tree if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 80 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, - ts+28509, /* "INSERT INTO \"%s%..." */ + ts+28524, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 28545 /* ", _rowid_" */ + return ts + 28560 /* ", _rowid_" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zBindings))) } @@ -161595,28 +162102,28 @@ 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 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+28555 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+384, zWrite, zTbl, zWhere))) + ts+28570 /* "DELETE FROM \"%s%..." */, 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 + 740 /* "" */ + var zRbuRowid uintptr = ts + 755 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 28583 /* ", rbu_rowid" */ + zRbuRowid = ts + 28598 /* ", rbu_rowid" */ } // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+28595 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+28610 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - return ts + 28671 /* ", 0 AS rbu_rowid" */ + return ts + 28686 /* ", 0 AS rbu_rowid" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+28688, /* "CREATE TEMP TRIG..." */ + ts+28703, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -161624,7 +162131,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 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+28987, /* "CREATE TEMP TRIG..." */ + ts+29002, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } @@ -161633,14 +162140,14 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the SELECT statement to read keys from data_xxx if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zRbuRowid uintptr = ts + 740 /* "" */ + var zRbuRowid uintptr = ts + 755 /* "" */ var zStart uintptr = uintptr(0) var zOrder uintptr = uintptr(0) if bRbuRowid != 0 { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zRbuRowid = ts + 29086 /* ",_rowid_ " */ + zRbuRowid = ts + 29101 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 29096 /* ",rbu_rowid" */ + zRbuRowid = ts + 29111 /* ",rbu_rowid" */ } } @@ -161653,35 +162160,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+27143 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+27158 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+740 /* "" */, ts+13309 /* ", " */, ts+740 /* "" */) + zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+13324 /* ", " */, ts+755 /* "" */) } } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 76 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, - ts+29107, /* "SELECT %s,%s rbu..." */ + ts+29122, /* "SELECT %s,%s rbu..." */ libc.VaList(bp+536, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 29155 /* "0 AS " */ + return ts + 29170 /* "0 AS " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 18196 /* "ORDER BY" */ + return ts + 18211 /* "ORDER BY" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zOrder, zLimit))) } @@ -161756,12 +162263,12 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp (*RbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - var zPrefix uintptr = ts + 740 /* "" */ + var zPrefix uintptr = ts + 755 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 28500 /* "rbu_imp_" */ + zPrefix = ts + 28515 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+29161, /* "UPDATE \"%s%w\" SE..." */ + zUpdate = Xsqlite3_mprintf(tls, ts+29176, /* "UPDATE \"%s%w\" SE..." */ 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 /* &.pUpdate */), (p + 36 /* &.zErrmsg */), zUpdate) @@ -161788,7 +162295,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))) *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) } @@ -161829,7 +162336,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ } *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8 /* &pStmt */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+29191 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+24 /* &.zStateDb */))) + Xsqlite3_mprintf(tls, ts+29206 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+24 /* &.zStateDb */))) for (*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) { case RBU_STATE_STAGE: @@ -161901,31 +162408,31 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5443 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */, 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+5443 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+29221 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) + var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+29236 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) } } // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29248 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+2398 /* "stat" */, uint32(4)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29263 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+2413 /* "stat" */, uint32(4)) } else { - libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+5443 /* "main" */, uint32(4)) + libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+5458 /* "main" */, uint32(4)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29266 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+24 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29281 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+24 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 var rc int32 (*Sqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5443 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */, SQLITE_FCNTL_RBUCNT, p) if rc != SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -161958,11 +162465,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 return } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29332 /* "cannot vacuum wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29347 /* "cannot vacuum wa..." */, 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+22464 /* "file:" */, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5))) { + if (libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= Size_t(5)) && (0 == libc.Xmemcmp(tls, ts+22479 /* "file:" */, (*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)))) == '?' { @@ -161974,16 +162481,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+29364, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5443 /* "main" */), + zTarget = Xsqlite3_mprintf(tls, ts+29379, /* "file:%s-vactmp?r..." */ + libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */), func() uintptr { if zExtra == uintptr(0) { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 29396 /* "&" */ + return ts + 29411 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } return zExtra }())) @@ -161999,40 +162506,40 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+29398 /* "rbu_tmp_insert" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+29413 /* "rbu_tmp_insert" */, -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+29413 /* "rbu_fossil_delta" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + ts+29428 /* "rbu_fossil_delta" */, 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+29430 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+29445 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuTargetNameFunc})), uintptr(0), uintptr(0)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, SQLITE_FCNTL_RBU, p) } - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29446 /* "SELECT * FROM sq..." */, 0) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29461 /* "SELECT * FROM sq..." */, 0) // Mark the database file just opened as an RBU target database. If // this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. // This is an error. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, SQLITE_FCNTL_RBU, p) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29474 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29489 /* "rbu vfs not foun..." */, 0) } } @@ -162101,7 +162608,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+29446 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29461 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -162135,7 +162642,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+29492 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29507 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) if rc2 != SQLITE_INTERNAL { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -162262,16 +162769,16 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ bp := tls.Alloc(16) defer tls.Free(16) - var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */) + var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */) var zMove uintptr = zBase var zOal uintptr var zWal uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5443 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+29527 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+29534 /* "%s-wal" */, libc.VaList(bp+8, zMove)) + zOal = Xsqlite3_mprintf(tls, ts+29542 /* "%s-oal" */, libc.VaList(bp, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+29549 /* "%s-wal" */, libc.VaList(bp+8, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -162411,7 +162918,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) { /* sqlite3.c:203389:1 ((*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+22102 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+22117 /* "datatype mismatc..." */, 0) return } @@ -162529,7 +163036,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // var pStmt uintptr at bp+8, 4 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8 /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+29541 /* "PRAGMA schema_ve..." */) + ts+29556 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There // is already a transaction open, so the prepared statement cannot @@ -162542,7 +163049,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29563 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29578 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) } } } @@ -162567,7 +163074,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168 /* &pInsert */, (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+29590, /* "INSERT OR REPLAC..." */ + ts+29605, /* "INSERT OR REPLAC..." */ libc.VaList(bp, p+24, /* &.zStateDb */ RBU_STATE_STAGE, eStage, RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl, @@ -162612,9 +163119,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24 /* &pPragma */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+29748 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) + Xsqlite3_mprintf(tls, ts+29763 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)))) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29763, /* "PRAGMA main.%s =..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29778, /* "PRAGMA main.%s =..." */ libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)), 0))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */))) @@ -162631,11 +163138,11 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * *(*uintptr)(unsafe.Pointer(bp /* pSql */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 4 /* pInsert */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29783 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29798 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 36 /* &.zErrmsg */), - ts+29808 /* "SELECT sql FROM ..." */) + ts+29823 /* "SELECT sql FROM ..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -162649,12 +163156,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 36 /* &.zErrmsg */), - ts+29916 /* "SELECT * FROM sq..." */) + ts+29931 /* "SELECT * FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4 /* &pInsert */, (p + 36 /* &.zErrmsg */), - ts+29981 /* "INSERT INTO sqli..." */) + ts+29996 /* "INSERT INTO sqli..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -162666,7 +163173,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* pInsert */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30025 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30040 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) @@ -162688,8 +163195,8 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // when this handle was opened, create the target database schema. if (((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FnProgress == 0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { rbuCreateTargetSchema(tls, p) - rbuCopyPragma(tls, p, ts+15708 /* "user_version" */) - rbuCopyPragma(tls, p, ts+14830 /* "application_id" */) + rbuCopyPragma(tls, p, ts+15723 /* "user_version" */) + rbuCopyPragma(tls, p, ts+14845 /* "application_id" */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl != 0) { @@ -162700,7 +163207,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // But the contents can be deleted. 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+30050 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + ts+30065 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) } } else { rbuObjIterPrepareAll(tls, p, pIter, 0) @@ -162726,10 +163233,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: rbuSaveState(tls, p, RBU_STAGE_MOVE) rbuIncrSchemaCookie(tls, p) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_MOVE } @@ -162846,7 +163353,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 if (rc == SQLITE_OK) && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30078 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30093 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -162865,7 +163372,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ bp := tls.Alloc(8) defer tls.Free(8) - var zOal uintptr = rbuMPrintf(tls, p, ts+29527 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) + var zOal uintptr = rbuMPrintf(tls, p, ts+29542 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -162887,7 +163394,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ // var zRnd [64]int8 at bp+12, 64 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+30103 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+30118 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12 /* &zRnd[0] */) @@ -162926,7 +163433,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / rc = prepareFreeAndCollectError(tls, db, bp+8 /* &pStmt */, bp+12, /* &zErrmsg */ Xsqlite3_mprintf(tls, - ts+30114 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) + ts+30129 /* "SELECT count(*) ..." */, 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 /* zErrmsg */)), -1) } else { @@ -162969,7 +163476,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+30186 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+30201 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuIndexCntFunc})), uintptr(0), uintptr(0)) @@ -162977,7 +163484,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ // occurs, nPhaseOneStep will be left set to -1. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+30200 /* "SELECT 1 FROM sq..." */) + ts+30215 /* "SELECT 1 FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { @@ -162989,7 +163496,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (bExists != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+30257 /* "SELECT sum(cnt *..." */) + ts+30272 /* "SELECT sum(cnt *..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) @@ -163035,7 +163542,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) libc.Xmemcpy(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, zRbu, (nRbu + Size_t(1))) pCsr += (uintptr(nRbu + Size_t(1))) if zState != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+2775 /* "%s" */, libc.VaList(bp, zState)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+2790 /* "%s" */, libc.VaList(bp, zState)) } // If the first attempt to open the database file fails and the bRetry @@ -163072,7 +163579,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+30331 /* "cannot update wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30346 /* "cannot update wa..." */, 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 @@ -163094,12 +163601,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // transaction is committed in rollback mode) currently stored on // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30363, /* "database modifie..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30378, /* "database modifie..." */ libc.VaList(bp+8, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 30395 /* "vacuum" */ + return ts + 30410 /* "vacuum" */ } - return ts + 30402 /* "update" */ + return ts + 30417 /* "update" */ }())) } } @@ -163107,7 +163614,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { var db uintptr = (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13198 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13213 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) // Point the object iterator at the first object if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -163121,24 +163628,24 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_DONE } else { if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuState)(unsafe.Pointer(pState)).FeStage == 0)) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - rbuCopyPragma(tls, p, ts+15433 /* "page_size" */) - rbuCopyPragma(tls, p, ts+14845 /* "auto_vacuum" */) + rbuCopyPragma(tls, p, ts+15448 /* "page_size" */) + rbuCopyPragma(tls, p, ts+14860 /* "auto_vacuum" */) } // Open transactions both databases. The *-oal file is opened or // created at this point. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+30409 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+30424 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } // Check if the main database is a zipvfs db. If it is, set the upper // level pager to use "journal_mode=off". This prevents it from // generating a large journal using a temp file. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var frc int32 = Xsqlite3_file_control(tls, db, ts+5443 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) + var frc int32 = Xsqlite3_file_control(tls, db, ts+5458 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) if frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, - db, ts+30425 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + db, ts+30440 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } } @@ -163191,7 +163698,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+30449 /* "-vactmp" */, (zState+uintptr((n-7))), uint32(7))) { + if (n >= 7) && (0 == libc.Xmemcmp(tls, ts+30464 /* "-vactmp" */, (zState+uintptr((n-7))), uint32(7))) { return rbuMisuseError(tls) } } @@ -163221,7 +163728,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:204232:13: */ 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+28500 /* "rbu_imp_" */, uint32(8)) == 0 { + if libc.Xmemcmp(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i)), ts+28515 /* "rbu_imp_" */, 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++ @@ -163240,7 +163747,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Commit the transaction to the *-oal file. if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } // Sync the db file if currently doing an incremental checkpoint @@ -163252,7 +163759,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } // Close any open statement handles. @@ -163264,7 +163771,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // specifying the current target and state databases to start a new // vacuum from scratch. 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+30457 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) + var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+30472 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) && (rc2 != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -163363,7 +163870,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -163380,19 +163887,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { var zBegin uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zBegin = ts + 13198 /* "BEGIN" */ + zBegin = ts + 13213 /* "BEGIN" */ } else { - zBegin = ts + 30409 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 30424 /* "BEGIN IMMEDIATE" */ } 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+30409 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30424 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -163796,7 +164303,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30484 /* "rbu/zipvfs setup..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30499 /* "rbu/zipvfs setup..." */, 0) } else if rc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p (*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu @@ -163819,7 +164326,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+30507 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + var zOut uintptr = Xsqlite3_mprintf(tls, ts+30522 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = SQLITE_NOMEM @@ -163982,7 +164489,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags // This call is to open a *-wal file. Intead, open the *-oal. var nOpen Size_t if (*Sqlite3rbu)(unsafe.Pointer(((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu))).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+5443 /* "main" */) + zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+5458 /* "main" */) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -163997,7 +164504,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+30518 /* "rbu_memory" */, 0) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+30533 /* "rbu_memory" */, 0) != 0) { oflags = ((((SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -164304,6 +164811,5666 @@ func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlit //************* End of dbpage.c ********************************************* //************* Begin file sqlite3session.c ********************************* +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable1 = struct { + FpNext uintptr + FzName uintptr + FnCol int32 + FbStat1 int32 + FazCol uintptr + FabPK uintptr + FnEntry int32 + FnChange int32 + FapChange uintptr +} /* sqlite3.c:11155:9 */ + +//************************************************************************ + +//************* End of sqlite3rbu.c ***************************************** +//************* Begin file dbstat.c ***************************************** +// 2010 July 12 +// +// The author disclaims copyright to this source code. In place of +// a legal notice, here is a blessing: +// +// May you do good and not evil. +// May you find forgiveness for yourself and forgive others. +// May you share freely, never taking more than you give. +// +// +// +// This file contains an implementation of the "dbstat" virtual table. +// +// The dbstat virtual table is used to extract low-level storage +// information from an SQLite database in order to implement the +// "sqlite3_analyzer" utility. See the ../tool/spaceanal.tcl script +// for an example implementation. +// +// Additional information is available on the "dbstat.html" page of the +// official SQLite documentation. + +// #include "sqliteInt.h" ** Requires access to internal data structures ** + +//************* End of dbstat.c ********************************************* +//************* Begin file dbpage.c ***************************************** +// 2017-10-11 +// +// The author disclaims copyright to this source code. In place of +// a legal notice, here is a blessing: +// +// May you do good and not evil. +// May you find forgiveness for yourself and forgive others. +// May you share freely, never taking more than you give. +// +// +// +// This file contains an implementation of the "sqlite_dbpage" virtual table. +// +// The sqlite_dbpage virtual table is used to read or write whole raw +// pages of the database file. The pager interface is used so that +// uncommitted changes and changes recorded in the WAL file are correctly +// retrieved. +// +// Usage example: +// +// SELECT data FROM sqlite_dbpage('aux1') WHERE pgno=123; +// +// This is an eponymous virtual table so it does not need to be created before +// use. The optional argument to the sqlite_dbpage() table name is the +// schema for the database file that is to be read. The default schema is +// "main". +// +// The data field of sqlite_dbpage table can be updated. The new +// value must be a BLOB which is the correct page size, otherwise the +// update fails. Rows may not be deleted or inserted. + +// #include "sqliteInt.h" ** Requires access to internal data structures ** + +//************* End of dbpage.c ********************************************* +//************* Begin file sqlite3session.c ********************************* + +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ +type SessionChange1 = struct { + Fop U8 + FbIndirect U8 + _ [2]byte + FnMaxSize int32 + FnRecord int32 + FaRecord uintptr + FpNext uintptr +} /* sqlite3.c:11155:9 */ + +type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ +type SessionBuffer1 = struct { + FaBuf uintptr + FnBuf int32 + FnAlloc int32 +} /* sqlite3.c:11163:9 */ + +type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ +type SessionInput1 = struct { + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + FaData uintptr + FnData int32 + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 +} /* sqlite3.c:11163:9 */ + +type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ + +// Minimum chunk size used by streaming versions of functions. + +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:206671:12 */ + +type SessionHook1 = struct { + FpCtx uintptr + FxOld uintptr + FxNew uintptr + FxCount uintptr + FxDepth uintptr +} /* sqlite3.c:11155:9 */ + +type SessionHook = SessionHook1 /* sqlite3.c:206673:28 */ + +// Write a varint with value iVal into the buffer at aBuf. Return the +// number of bytes written. +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:206951:12: */ + return int32(func() uint8 { + if (U32(iVal)) < U32(0x80) { + return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) + } + return uint8(Xsqlite3PutVarint(tls, aBuf, uint64(iVal))) + }()) +} + +// Return the number of bytes required to store value iVal as a varint. +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:206958:12: */ + return Xsqlite3VarintLen(tls, uint64(iVal)) +} + +// Read a varint value from aBuf[] into *piVal. Return the number of +// bytes read. +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:206966:12: */ + return int32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { + return uint8(func() int32 { (*(*int32)(unsafe.Pointer(piVal))) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) + } + return Xsqlite3GetVarint32(tls, aBuf, piVal) + }()) +} + +// Load an unaligned and unsigned 32-bit integer + +// Read a 64-bit big-endian integer value from buffer aRec[]. Return +// the value read. +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:206977:22: */ + var x U64 = (U64((((U32(*(*U8)(unsafe.Pointer((aRec)))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec) + 3))))) + var y U32 = ((((U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4))))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 3)))) + x = ((x << 32) + U64(y)) + return Sqlite3_int64(x) +} + +// Write a 64-bit big-endian integer value to the buffer aBuf[]. +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:206987:13: */ + *(*U8)(unsafe.Pointer(aBuf)) = (U8((i >> 56) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 1)) = (U8((i >> 48) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 2)) = (U8((i >> 40) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 3)) = (U8((i >> 32) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 4)) = (U8((i >> 24) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 5)) = (U8((i >> 16) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 6)) = (U8((i >> 8) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 7)) = (U8((i >> 0) & int64(0xFF))) +} + +// This function is used to serialize the contents of value pValue (see +// comment titled "RECORD FORMAT" above). +// +// If it is non-NULL, the serialized form of the value is written to +// buffer aBuf. *pnWrite is set to the number of bytes written before +// returning. Or, if aBuf is NULL, the only thing this function does is +// set *pnWrite. +// +// If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs +// within a call to sqlite3_value_text() (may fail if the db is utf-16)) +// SQLITE_NOMEM is returned. +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:207011:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var nByte int32 // Size of serialized value in bytes + + if pValue != 0 { + var eType int32 // Value type (SQLITE_NULL, TEXT etc.) + + eType = Xsqlite3_value_type(tls, pValue) + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(eType) + } + + switch eType { + case SQLITE_NULL: + nByte = 1 + break + fallthrough + + case SQLITE_INTEGER: + fallthrough + case SQLITE_FLOAT: + if aBuf != 0 { + // TODO: SQLite does something special to deal with mixed-endian + // floating point values (e.g. ARM7). This code probably should + // too. + // var i U64 at bp, 8 + + if eType == SQLITE_INTEGER { + *(*U64)(unsafe.Pointer(bp /* i */)) = U64(Xsqlite3_value_int64(tls, pValue)) + } else { + // var r float64 at bp+8, 8 + + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_value_double(tls, pValue) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint32(8)) + } + sessionPutI64(tls, (aBuf + 1), int64(*(*U64)(unsafe.Pointer(bp /* i */)))) + } + nByte = 9 + break + fallthrough + + default: + { + var z uintptr + var n int32 + var nVarint int32 + + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, pValue) + } else { + z = Xsqlite3_value_blob(tls, pValue) + } + n = Xsqlite3_value_bytes(tls, pValue) + if (z == uintptr(0)) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + nVarint = sessionVarintLen(tls, n) + + if aBuf != 0 { + sessionVarintPut(tls, (aBuf + 1), n) + if n != 0 { + libc.Xmemcpy(tls, (aBuf + uintptr((nVarint + 1))), z, uint32(n)) + } + } + + nByte = ((1 + nVarint) + n) + break + + } + } + } else { + nByte = 1 + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(0) + } + } + + if pnWrite != 0 { + *(*Sqlite3_int64)(unsafe.Pointer(pnWrite)) += (Sqlite3_int64(nByte)) + } + return SQLITE_OK +} + +// Allocate and return a pointer to a buffer nByte bytes in size. If +// pSession is not NULL, increase the sqlite3_session.nMalloc variable +// by the number of bytes allocated. +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:207087:13: */ + var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 40 /* &.nMalloc */)) += I64((Xsqlite3_msize(tls, pRet))) + } + return pRet +} + +// Free buffer pFree, which must have been allocated by an earlier +// call to sessionMalloc64(). If pSession is not NULL, decrease the +// sqlite3_session.nMalloc counter by the number of bytes freed. +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:207098:13: */ + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 40 /* &.nMalloc */)) -= I64((Xsqlite3_msize(tls, pFree))) + } + Xsqlite3_free(tls, pFree) +} + +// This macro is used to calculate hash key values for data structures. In +// order to use this macro, the entire data structure must be represented +// as a series of unsigned integers. In order to calculate a hash-key value +// for a data structure represented as three such integers, the macro may +// then be used as follows: +// +// int hash_key_value; +// hash_key_value = HASH_APPEND(0, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// +// In practice, the data structures this macro is used for are the primary +// key values of modified rows. + +// Append the hash of the 64-bit integer passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:207124:21: */ + h = ((((h) << 3) ^ (h)) ^ (uint32(i & int64(0xFFFFFFFF)))) + return ((((h) << 3) ^ (h)) ^ (uint32((i >> 32) & int64(0xFFFFFFFF)))) +} + +// Append the hash of the blob passed via the second and third arguments to +// the hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:207133:21: */ + var i int32 + for i = 0; i < n; i++ { + h = ((((h) << 3) ^ (h)) ^ (uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))))) + } + return h +} + +// Append the hash of the data type passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:207143:21: */ + return ((((h) << 3) ^ (h)) ^ (uint32(eType))) +} + +// This function may only be called from within a pre-update callback. +// It calculates a hash based on the primary key values of the old.* or +// new.* row currently available and, assuming no error occurs, writes it to +// *piHash before returning. If the primary key contains one or more NULL +// values, *pbNullPK is set to true before returning. +// +// If an error occurs, an SQLite error code is returned and the final values +// of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned +// and the output variables are set as described above. +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:207158:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var h uint32 = uint32(0) // Hash value to return + var i int32 // Used to iterate through columns + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0 { + var rc int32 + var eType int32 + // var pVal uintptr at bp, 4 + + if bNew != 0 { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } else { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } + if rc != SQLITE_OK { + return rc + } + + eType = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var iVal I64 at bp+8, 8 + + if eType == SQLITE_INTEGER { + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + *(*float64)(unsafe.Pointer(bp + 16 /* rVal */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + + libc.Xmemcpy(tls, bp+8 /* &iVal */, bp+16 /* &rVal */, uint32(8)) + } + h = sessionHashAppendI64(tls, h, *(*I64)(unsafe.Pointer(bp + 8 /* iVal */))) + } else if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + var z uintptr + var n int32 + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + n = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + if !(z != 0) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + h = sessionHashAppendBlob(tls, h, n, z) + } else { + + *(*int32)(unsafe.Pointer(pbNullPK)) = 1 + } + } + } + + *(*int32)(unsafe.Pointer(piHash)) = (int32(h % uint32((*SessionTable)(unsafe.Pointer(pTab)).FnChange))) + return SQLITE_OK +} + +// The buffer that the argument points to contains a serialized SQL value. +// Return the number of bytes of space occupied by the value (including +// the type byte). +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:207223:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var e int32 = int32(*(*U8)(unsafe.Pointer(a))) + // var n int32 at bp, 4 + + if (e == 0) || (e == 0xFF) { + return 1 + } + if e == SQLITE_NULL { + return 1 + } + if (e == SQLITE_INTEGER) || (e == SQLITE_FLOAT) { + return 9 + } + return ((sessionVarintGet(tls, (a+1), bp /* &n */) + 1) + *(*int32)(unsafe.Pointer(bp /* n */))) +} + +// Based on the primary key values stored in change aRecord, calculate a +// hash key. Assume the has table has nBucket buckets. The hash keys +// calculated by this function are compatible with those calculated by +// sessionPreupdateHash(). +// +// The bPkOnly argument is non-zero if the record at aRecord[] is from +// a patchset DELETE. In this case the non-PK fields are omitted entirely. +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:207241:21: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var h uint32 = uint32(0) // Value to return + var i int32 // Used to iterate through columns + var a uintptr = aRecord // Used to iterate through change record + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(a))) + var isPK int32 = int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) + if (bPkOnly != 0) && (isPK == 0) { + continue + } + + // It is not possible for eType to be SQLITE_NULL here. The session + // module does not record changes for rows with NULL values stored in + // primary key columns. + + if isPK != 0 { + a++ + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + h = sessionHashAppendI64(tls, h, sessionGetI64(tls, a)) + a += uintptr(8) + } else { + // var n int32 at bp, 4 + + a += uintptr(sessionVarintGet(tls, a, bp /* &n */)) + h = sessionHashAppendBlob(tls, h, *(*int32)(unsafe.Pointer(bp /* n */)), a) + a += uintptr(*(*int32)(unsafe.Pointer(bp /* n */))) + } + } else { + a += uintptr(sessionSerialLen(tls, a)) + } + } + return (h % uint32(nBucket)) +} + +// Arguments aLeft and aRight are pointers to change records for table pTab. +// This function returns true if the two records apply to the same row (i.e. +// have the same values stored in the primary key columns), or false +// otherwise. +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:207290:12: */ + var a1 uintptr = aLeft // Cursor to iterate through aLeft + var a2 uintptr = aRight // Cursor to iterate through aRight + var iCol int32 // Used to iterate through table columns + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol))) != 0 { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + + if (n1 != n2) || (libc.Xmemcmp(tls, a1, a2, uint32(n1)) != 0) { + return 0 + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } else { + if bLeftPkOnly == 0 { + a1 += uintptr(sessionSerialLen(tls, a1)) + } + if bRightPkOnly == 0 { + a2 += uintptr(sessionSerialLen(tls, a2)) + } + } + } + + return 1 +} + +// Arguments aLeft and aRight both point to buffers containing change +// records with nCol columns. This function "merges" the two records into +// a single records which is written to the buffer at *paOut. *paOut is +// then set to point to one byte after the last byte written before +// returning. +// +// The merging of records is done as follows: For each column, if the +// aRight record contains a value for the column, copy the value from +// their. Otherwise, if aLeft contains a value, copy it. If neither +// record contains a value for a given column, then neither does the +// output record. +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:207333:13: */ + var a1 uintptr = aLeft // Cursor used to iterate through aLeft + var a2 uintptr = aRight // Cursor used to iterate through aRight + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor + var iCol int32 // Used to iterate from 0 to nCol + + for iCol = 0; iCol < nCol; iCol++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + libc.Xmemcpy(tls, aOut, a2, uint32(n2)) + aOut += uintptr(n2) + } else { + libc.Xmemcpy(tls, aOut, a1, uint32(n1)) + aOut += uintptr(n1) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut +} + +// This is a helper function used by sessionMergeUpdate(). +// +// When this function is called, both *paOne and *paTwo point to a value +// within a change record. Before it returns, both have been advanced so +// as to point to the next value in the record. +// +// If, when this function is called, *paTwo points to a valid value (i.e. +// *paTwo[0] is not 0x00 - the "no value" placeholder), a copy of the *paTwo +// pointer is returned and *pnVal is set to the number of bytes in the +// serialized value. Otherwise, a copy of *paOne is returned and *pnVal +// set to the number of bytes in the value at *paOne. If *paOne points +// to the "no value" placeholder, *pnVal is set to 1. In other words: +// +// if( *paTwo is valid ) return *paTwo; +// return *paOne; +// +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:207379:11: */ + var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) + var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) + var pRet uintptr = uintptr(0) + var n1 int32 + + if a2 != 0 { + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + *(*int32)(unsafe.Pointer(pnVal)) = n2 + pRet = a2 + } + *(*uintptr)(unsafe.Pointer(paTwo)) = (a2 + uintptr(n2)) + } + + n1 = sessionSerialLen(tls, a1) + if pRet == uintptr(0) { + *(*int32)(unsafe.Pointer(pnVal)) = n1 + pRet = a1 + } + *(*uintptr)(unsafe.Pointer(paOne)) = (a1 + uintptr(n1)) + + return pRet +} + +// This function is used by changeset_concat() to merge two UPDATE changes +// on the same row. +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:207413:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 4 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 12 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 16 /* aNew2 */)) = aNewRecord2 + + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) + var i int32 + + if bPatchset == 0 { + var bRequired int32 = 0 + + // Write the old.* vector first. + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+8, 4 + + var aOld uintptr + // var nNew int32 at bp+20, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+4 /* &aOld2 */, bp+8 /* &nOld */) + aNew = sessionMergeValue(tls, bp+12 /* &aNew1 */, bp+16 /* &aNew2 */, bp+20 /* &nNew */) + if ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* nOld */)) != *(*int32)(unsafe.Pointer(bp + 20 /* nNew */)))) || (libc.Xmemcmp(tls, aOld, aNew, uint32(*(*int32)(unsafe.Pointer(bp + 20 /* nNew */)))) != 0) { + if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + bRequired = 1 + } + libc.Xmemcpy(tls, aOut, aOld, uint32(*(*int32)(unsafe.Pointer(bp + 8 /* nOld */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* nOld */))) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } + } + + if !(bRequired != 0) { + return 0 + } + } + + // Write the new.* vector + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 4 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 12 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 16 /* aNew2 */)) = aNewRecord2 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+24, 4 + + var aOld uintptr + // var nNew int32 at bp+28, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+4 /* &aOld2 */, bp+24 /* &nOld */) + aNew = sessionMergeValue(tls, bp+12 /* &aNew1 */, bp+16 /* &aNew2 */, bp+28 /* &nNew */) + if (bPatchset == 0) && + ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || ((*(*int32)(unsafe.Pointer(bp + 24 /* nOld */)) == *(*int32)(unsafe.Pointer(bp + 28 /* nNew */))) && (0 == libc.Xmemcmp(tls, aOld, aNew, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nNew */))))))) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } else { + libc.Xmemcpy(tls, aOut, aNew, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nNew */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 28 /* nNew */))) + } + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut + return 1 +} + +// This function is only called from within a pre-update-hook callback. +// It determines if the current pre-update-hook change affects the same row +// as the change stored in argument pChange. If so, it returns true. Otherwise +// if the pre-update-hook does not affect the same row as pChange, it returns +// false. +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:207490:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var iCol int32 // Used to iterate through columns + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord // Cursor used to scan change record + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol)))) != 0) { + a += uintptr(sessionSerialLen(tls, a)) + } else { + // var pVal uintptr at bp, 4 + // Value returned by preupdate_new/old + var rc int32 + _ = rc // Error code from preupdate_new/old + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) // Type of value from change record + + // The following calls to preupdate_new() and preupdate_old() can not + // fail. This is because they cache their return values, and by the + // time control flows to here they have already been called once from + // within sessionPreupdateHash(). The first two asserts below verify + // this (that the method has already been called). + if op == SQLITE_INSERT { + // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } else { + // assert( db->pPreUpdate->pUnpacked ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } + + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { + return 0 + } + + // A SessionChange object never has a NULL value in a PK column + + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, a) + a += uintptr(8) + if eType == SQLITE_INTEGER { + if Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) { + return 0 + } + } else { + // var rVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &rVal */, bp+16 /* &iVal */, uint32(8)) + if Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*float64)(unsafe.Pointer(bp + 8 /* rVal */)) { + return 0 + } + } + } else { + // var n int32 at bp+24, 4 + + var z uintptr + a += uintptr(sessionVarintGet(tls, a, bp+24 /* &n */)) + if Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*int32)(unsafe.Pointer(bp + 24 /* n */)) { + return 0 + } + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + if (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) > 0) && (libc.Xmemcmp(tls, a, z, uint32(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))) != 0) { + return 0 + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* n */))) + } + } + } + + return 1 +} + +// If required, grow the hash table used to store changes on table pTab +// (part of the session pSession). If a fatal OOM error occurs, set the +// session object to failed and return SQLITE_ERROR. Otherwise, return +// SQLITE_OK. +// +// It is possible that a non-fatal OOM error occurs in this function. In +// that case the hash-table does not grow, but SQLITE_OK is returned anyway. +// Growing the hash table in this case is a performance optimization only, +// it is not required for correct operation. +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:207569:12: */ + if ((*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= ((*SessionTable)(unsafe.Pointer(pTab)).FnChange / 2)) { + var i int32 + var apNew uintptr + var nNew Sqlite3_int64 = (int64(2) * (func() int64 { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange != 0 { + return int64((*SessionTable)(unsafe.Pointer(pTab)).FnChange) + } + return int64(128) + }())) + + apNew = sessionMalloc64(tls, + pSession, (Sqlite3_int64(unsafe.Sizeof(uintptr(0))) * nNew)) + if apNew == uintptr(0) { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 { + return SQLITE_ERROR + } + return SQLITE_OK + } + libc.Xmemset(tls, apNew, 0, (uint32(Sqlite3_int64(unsafe.Sizeof(uintptr(0))) * nNew))) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNext uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); p != 0; p = pNext { + var bPkOnly int32 = (libc.Bool32((int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_DELETE) && (bPatchset != 0))) + var iHash int32 = int32(sessionChangeHash(tls, pTab, bPkOnly, (*SessionChange)(unsafe.Pointer(p)).FaRecord, int32(nNew))) + pNext = (*SessionChange)(unsafe.Pointer(p)).FpNext + (*SessionChange)(unsafe.Pointer(p)).FpNext = *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*4)) + *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*4)) = p + } + } + + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + (*SessionTable)(unsafe.Pointer(pTab)).FnChange = int32(nNew) + (*SessionTable)(unsafe.Pointer(pTab)).FapChange = apNew + } + + return SQLITE_OK +} + +// This function queries the database for the names of the columns of table +// zThis, in schema zDb. +// +// Otherwise, if they are not NULL, variable *pnCol is set to the number +// of columns in the database table and variable *pzTab is set to point to a +// nul-terminated copy of the table name. *pazCol (if not NULL) is set to +// point to an array of pointers to column names. And *pabPK (again, if not +// NULL) is set to point to an array of booleans - true if the corresponding +// column is part of the primary key. +// +// For example, if the table is declared as: +// +// CREATE TABLE tbl1(w, x, y, z, PRIMARY KEY(w, z)); +// +// Then the four output variables are populated as follows: +// +// *pnCol = 4 +// *pzTab = "tbl1" +// *pazCol = {"w", "x", "y", "z"} +// *pabPK = {1, 0, 0, 1} +// +// All returned buffers are part of the same single allocation, which must +// be freed using sqlite3_free() by the caller +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var zPragma uintptr + // var pStmt uintptr at bp+16, 4 + + var rc int32 + var nByte Sqlite3_int64 + var nDbCol int32 = 0 + var nThis int32 + var i int32 + var pAlloc uintptr = uintptr(0) + var azCol uintptr = uintptr(0) + var abPK uintptr = uintptr(0) + + nThis = Xsqlite3Strlen30(tls, zThis) + if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+10072 /* "sqlite_stat1" */, zThis)) { + 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 { + // For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. + zPragma = Xsqlite3_mprintf(tls, + + ts+30544 /* "SELECT 0, 'tbl',..." */, 0) + } else if rc == SQLITE_ERROR { + zPragma = Xsqlite3_mprintf(tls, ts+755 /* "" */, 0) + } else { + return rc + } + } else { + zPragma = Xsqlite3_mprintf(tls, ts+30665 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + } + if !(zPragma != 0) { + return SQLITE_NOMEM + } + + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+16 /* &pStmt */, uintptr(0)) + Xsqlite3_free(tls, zPragma) + if rc != SQLITE_OK { + return rc + } + + nByte = (Sqlite3_int64(nThis + 1)) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) + nDbCol++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + if rc == SQLITE_OK { + nByte = nByte + (Sqlite3_int64(uint32(nDbCol) * ((uint32(unsafe.Sizeof(uintptr(0))) + uint32(unsafe.Sizeof(U8(0)))) + uint32(1)))) + pAlloc = sessionMalloc64(tls, pSession, nByte) + if pAlloc == uintptr(0) { + rc = SQLITE_NOMEM + } + } + if rc == SQLITE_OK { + azCol = pAlloc + pAlloc = (azCol + uintptr(nDbCol)*4) + abPK = pAlloc + pAlloc = (abPK + uintptr(nDbCol)) + if pzTab != 0 { + libc.Xmemcpy(tls, pAlloc, zThis, (uint32(nThis + 1))) + *(*uintptr)(unsafe.Pointer(pzTab)) = pAlloc + pAlloc += (uintptr(nThis + 1)) + } + + i = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + if zName == uintptr(0) { + break + } + libc.Xmemcpy(tls, pAlloc, zName, (uint32(nName + 1))) + *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)) = pAlloc + pAlloc += (uintptr(nName + 1)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 5)) + i++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + } + + // If successful, populate the output variables. Otherwise, zero them and + // free any allocation made. An error code will be returned in this case. + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pazCol)) = azCol + *(*uintptr)(unsafe.Pointer(pabPK)) = abPK + *(*int32)(unsafe.Pointer(pnCol)) = nDbCol + } else { + *(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pabPK)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnCol)) = 0 + if pzTab != 0 { + *(*uintptr)(unsafe.Pointer(pzTab)) = uintptr(0) + } + sessionFree(tls, pSession, azCol) + } + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + return rc +} + +// This function is only called from within a pre-update handler for a +// write to table pTab, part of session pSession. If this is the first +// write to this table, initalize the SessionTable.nCol, azCol[] and +// abPK[] arrays accordingly. +// +// If an error occurs, an error code is stored in sqlite3_session.rc and +// non-zero returned. Or, if no error occurs but the table has no primary +// key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to +// indicate that updates on this table should be ignored. SessionTable.abPK +// is set to NULL in this case. +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:207752:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + if (*SessionTable)(unsafe.Pointer(pTab)).FnCol == 0 { + // var abPK uintptr at bp, 4 + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionTableInfo(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, + (*SessionTable)(unsafe.Pointer(pTab)).FzName, (pTab + 8 /* &.nCol */), uintptr(0), (pTab + 16 /* &.azCol */), bp /* &abPK */) + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc == SQLITE_OK { + var i int32 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* abPK */)) + uintptr(i))) != 0 { + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = *(*uintptr)(unsafe.Pointer(bp /* abPK */)) + break + } + } + if 0 == Xsqlite3_stricmp(tls, ts+10072 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { + *(*I64)(unsafe.Pointer(pSession + 48 /* &.nMaxChangesetSize */)) += (I64(((Size_t((1 + sessionVarintLen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + Size_t(1))) + } + } + } + return (libc.Bool32(((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FabPK == uintptr(0)))) +} + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx1 = struct { + Fhook SessionHook + FpSession uintptr +} /* sqlite3.c:207787:9 */ + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:207787:32 */ + +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207792:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 4 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207802:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 12 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = int64(2) + if int32((*SessionChange)(unsafe.Pointer(pC)).Fop) == SQLITE_INSERT { + if op != SQLITE_DELETE { + var ii int32 + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) + } + } + } else if op == SQLITE_DELETE { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + if Xsqlite3_preupdate_blobwrite(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb) >= 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + } + } else { + var ii int32 + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(pC)).FaRecord + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + var bChanged int32 = 1 + var nOld int32 = 0 + var eType int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) + if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { + return SQLITE_NOMEM + } + + eType = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pCsr, 1)))) + switch eType { + case SQLITE_NULL: + bChanged = (libc.Bool32(Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) != SQLITE_NULL)) + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + if eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) = sessionGetI64(tls, pCsr) + if eType == SQLITE_INTEGER { + bChanged = (libc.Bool32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) != Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } else { + // var dVal float64 at bp+24, 8 + + libc.Xmemcpy(tls, bp+24 /* &dVal */, bp+32 /* &iVal */, uint32(8)) + bChanged = (libc.Bool32(*(*float64)(unsafe.Pointer(bp + 24 /* dVal */)) != Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } + } + nOld = 8 + pCsr += uintptr(8) + break + + } + fallthrough + + default: + { + // var nByte int32 at bp+40, 4 + + nOld = sessionVarintGet(tls, pCsr, bp+40 /* &nByte */) + pCsr += uintptr(nOld) + nOld = nOld + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + + if ((eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)))) && + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) && + ((*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == 0) || (0 == libc.Xmemcmp(tls, pCsr, Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))), uint32(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)))))) { + bChanged = 0 + } + pCsr += uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + break + + } + } + + if (bChanged != 0) && (*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0) { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = (I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord + 2)) + break + } + + if bChanged != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(1 + nOld)) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)), bp+8 /* &nNew */) + } else if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(2 + nOld)) + } else { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += int64(2) + } + } + } + + if *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) > I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize) { + var nIncr int32 = (int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) - I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize))) + (*SessionChange)(unsafe.Pointer(pC)).FnMaxSize = int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */))) + *(*I64)(unsafe.Pointer(pSession + 48 /* &.nMaxChangesetSize */)) += (I64(nIncr)) + } + return SQLITE_OK +} + +// This function is only called from with a pre-update-hook reporting a +// change on table pTab (attached to session pSession). The type of change +// (UPDATE, INSERT, DELETE) is specified by the first argument. +// +// Unless one is already present or an error occurs, an entry is added +// to the changed-rows hash table associated with table pTab. +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:207927:13: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + // var iHash int32 at bp+24, 4 + + // var bNull int32 at bp+28, 4 + + var rc int32 + // var stat1 SessionStat1Ctx at bp, 24 + + var p uintptr + // var p1 uintptr at bp+32, 4 + + // var p2 uintptr at bp+48, 4 + + // Create a new change object containing all the old values (if + // this is an SQLITE_UPDATE or SQLITE_DELETE), or just the PK + // values (if this is an INSERT). + // var nByte Sqlite3_int64 at bp+40, 8 + // Number of bytes to allocate + var i int32 + // Search the hash table for an existing record for this row. + var pC uintptr + *(*int32)(unsafe.Pointer(bp + 28 /* bNull */)) = 0 + rc = SQLITE_OK + *(*SessionStat1Ctx)(unsafe.Pointer(bp /* stat1 */)) = SessionStat1Ctx{} + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) { + goto __1 + } + return +__1: + ; + + // Load table details if required + if !(sessionInitTable(tls, pSession, pTab) != 0) { + goto __2 + } + return +__2: + ; + + // Check the number of columns in this xPreUpdate call matches the + // number of columns in the table. + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 12 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + goto __3 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA + return +__3: + ; + + // Grow the hash table if required + if !(sessionGrowHash(tls, pSession, 0, pTab) != 0) { + goto __4 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_NOMEM + return +__4: + ; + + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __5 + } + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).FpSession = pSession + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = bp /* &stat1 */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1New})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1Old})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Count})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Depth})) + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob == uintptr(0)) { + goto __6 + } + p = Xsqlite3ValueNew(tls, uintptr(0)) + if !(p == uintptr(0)) { + goto __7 + } + rc = SQLITE_NOMEM + goto error_out +__7: + ; + Xsqlite3ValueSetStr(tls, p, 0, ts+755 /* "" */, uint8(0), uintptr(0)) + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p +__6: + ; +__5: + ; + + // Calculate the hash-key for this change. If the primary key of the row + // includes a NULL value, exit early. Such changes are ignored by the + // session module. + rc = sessionPreupdateHash(tls, pSession, pTab, (libc.Bool32(op == SQLITE_INSERT)), bp+24 /* &iHash */, bp+28 /* &bNull */) + if !(rc != SQLITE_OK) { + goto __8 + } + goto error_out +__8: + ; + + if !(*(*int32)(unsafe.Pointer(bp + 28 /* bNull */)) == 0) { + goto __9 + } + pC = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* iHash */)))*4)) +__10: + if !(pC != 0) { + goto __12 + } + if !(sessionPreupdateEqual(tls, pSession, pTab, pC, op) != 0) { + goto __13 + } + goto __12 +__13: + ; + goto __11 +__11: + pC = (*SessionChange)(unsafe.Pointer(pC)).FpNext + goto __10 + goto __12 +__12: + ; + + if !(pC == uintptr(0)) { + goto __14 + } // Used to iterate through columns + + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + + // Figure out how large an allocation is required + *(*Sqlite3_int64)(unsafe.Pointer(bp + 40 /* nByte */)) = Sqlite3_int64(unsafe.Sizeof(SessionChange{})) + i = 0 +__16: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __18 + } + *(*uintptr)(unsafe.Pointer(bp + 32 /* p1 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __19 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &p1 */) + + goto __20 +__19: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __21 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &p1 */) + +__21: + ; +__20: + ; + + // This may fail if SQLite value p contains a utf-16 string that must + // be converted to utf-8 and an OOM error occurs while doing so. + rc = sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 32 /* p1 */)), bp+40 /* &nByte */) + if !(rc != SQLITE_OK) { + goto __22 + } + goto error_out +__22: + ; + goto __17 +__17: + i++ + goto __16 + goto __18 +__18: + ; + + // Allocate the change object + pC = sessionMalloc64(tls, pSession, *(*Sqlite3_int64)(unsafe.Pointer(bp + 40 /* nByte */))) + if !(!(pC != 0)) { + goto __23 + } + rc = SQLITE_NOMEM + goto error_out + goto __24 +__23: + libc.Xmemset(tls, pC, 0, uint32(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pC)).FaRecord = (pC + 1*20) +__24: + ; + + // Populate the change object. None of the preupdate_old(), + // preupdate_new() or SerializeValue() calls below may fail as all + // required values and encodings have already been cached in memory. + // It is not possible for an OOM to occur in this block. + *(*Sqlite3_int64)(unsafe.Pointer(bp + 40 /* nByte */)) = int64(0) + i = 0 +__25: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __27 + } + *(*uintptr)(unsafe.Pointer(bp + 48 /* p2 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __28 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+48 /* &p2 */) + goto __29 +__28: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __30 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+48 /* &p2 */) +__30: + ; +__29: + ; + sessionSerializeValue(tls, ((*SessionChange)(unsafe.Pointer(pC)).FaRecord + uintptr(*(*Sqlite3_int64)(unsafe.Pointer(bp + 40 /* nByte */)))), *(*uintptr)(unsafe.Pointer(bp + 48 /* p2 */)), bp+40 /* &nByte */) + goto __26 +__26: + i++ + goto __25 + goto __27 +__27: + ; + + // Add the change to the hash-table + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 16 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + goto __31 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) +__31: + ; + (*SessionChange)(unsafe.Pointer(pC)).FnRecord = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 40 /* nByte */))) + (*SessionChange)(unsafe.Pointer(pC)).Fop = U8(op) + (*SessionChange)(unsafe.Pointer(pC)).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* iHash */)))*4)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* iHash */)))*4)) = pC + + goto __15 +__14: + if !((*SessionChange)(unsafe.Pointer(pC)).FbIndirect != 0) { + goto __32 + } + // If the existing change is considered "indirect", but this current + // change is "direct", mark the change object as direct. + if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 16 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { + goto __33 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(0) +__33: + ; +__32: + ; +__15: + ; + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0) { + goto __34 + } + rc = sessionUpdateMaxSize(tls, op, pSession, pTab, pC) +__34: + ; +__9: + ; + + // If an error has occurred, mark the session object as failed. +error_out: + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __35 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook = (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook +__35: + ; + if !(rc != SQLITE_OK) { + goto __36 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = rc +__36: +} + +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:208076:12: */ + var rc int32 = SQLITE_OK + var nName int32 = Xsqlite3Strlen30(tls, zName) + var pRet uintptr + + // Search for an existing table + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pRet != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pRet)).FzName, zName, (nName+1)) { + break + } + } + + if (pRet == uintptr(0)) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach != 0) { + // If there is a table-filter configured, invoke it. If it returns 0, + // do not automatically add the new table. + if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || + ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 32 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + rc = Xsqlite3session_attach(tls, pSession, zName) + if rc == SQLITE_OK { + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + } + + } + } + } + + *(*uintptr)(unsafe.Pointer(ppTab)) = pRet + return rc +} + +// The 'pre-update' hook registered by this module with SQLite databases. +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:208112:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var pSession uintptr + var nDb int32 = Xsqlite3Strlen30(tls, zDb) + + for pSession = pCtx; pSession != 0; pSession = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpNext { + // var pTab uintptr at bp, 4 + + // If this session is attached to a different database ("main", "temp" + // etc.), or if it is not currently enabled, there is nothing to do. Skip + // to the next session object attached to this database. + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable == 0 { + continue + } + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + continue + } + if Xsqlite3_strnicmp(tls, zDb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (nDb+1)) != 0 { + continue + } + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionFindTable(tls, pSession, zName, bp /* &pTab */) + if *(*uintptr)(unsafe.Pointer(bp /* pTab */)) != 0 { + + sessionPreupdateOneChange(tls, op, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + if op == SQLITE_UPDATE { + sessionPreupdateOneChange(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + } + } + } +} + +// The pre-update hook implementations. +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208150:12: */ + return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208153:12: */ + return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208156:12: */ + return Xsqlite3_preupdate_count(tls, pCtx) +} + +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208159:12: */ + return Xsqlite3_preupdate_depth(tls, pCtx) +} + +// Install the pre-update hooks on the session object passed as the only +// argument. +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208167:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateDepth})) +} + +type SessionDiffCtx1 = struct { + FpStmt uintptr + FnOldOff int32 +} /* sqlite3.c:208177:9 */ + +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ + +// The diff hook implementations. +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208186:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, (iVal + (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff)) + return SQLITE_OK +} + +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208191:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) + return SQLITE_OK +} + +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208196:12: */ + var p uintptr = pCtx + if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { + return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff + } + return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) +} + +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208200:12: */ + return 0 +} + +// Install the diff hooks on the session object passed as the only +// argument. +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:208208:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffDepth})) +} + +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 755 /* "" */ + var zRet uintptr = uintptr(0) + + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + zRet = Xsqlite3_mprintf(tls, ts+30694, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 19877 /* " AND " */ + if zRet == uintptr(0) { + break + } + } + } + + return zRet +} + +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 755 /* "" */ + var zRet uintptr = uintptr(0) + var bHave int32 = 0 + + for i = 0; i < nCol; i++ { + if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { + bHave = 1 + zRet = Xsqlite3_mprintf(tls, + ts+30728, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 30769 /* " OR " */ + if zRet == uintptr(0) { + break + } + } + } + + if bHave == 0 { + + zRet = Xsqlite3_mprintf(tls, ts+6506 /* "0" */, 0) + } + + return zRet +} + +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var zRet uintptr = Xsqlite3_mprintf(tls, + + ts+30774, /* "SELECT * FROM \"%..." */ + libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) + return zRet +} + +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:208289:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var zStmt uintptr = sessionSelectFindNew(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, zDb1, zDb2, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr) + + if zStmt == uintptr(0) { + rc = SQLITE_NOMEM + } else { + // var pStmt uintptr at bp, 4 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp /* &pStmt */, uintptr(0)) + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { + sessionPreupdateOneChange(tls, op, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + + return rc +} + +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + var rc int32 = SQLITE_OK + + var zExpr2 uintptr = sessionExprCompareOther(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, + (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (*SessionTable)(unsafe.Pointer(pTab)).FazCol, (*SessionTable)(unsafe.Pointer(pTab)).FabPK) + if zExpr2 == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var zStmt uintptr = Xsqlite3_mprintf(tls, + ts+30852, /* "SELECT * FROM \"%..." */ + 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 + } else { + // var pStmt uintptr at bp+48, 4 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+48 /* &pStmt */, uintptr(0)) + + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) { + sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + } + + return rc +} + +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:208360:16: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var zDb uintptr + var rc int32 + // var d SessionDiffCtx at bp, 8 + + var i int32 + var bHasPk int32 + var bMismatch int32 + // var nCol int32 at bp+12, 4 + // Columns in zFrom.zTbl + // var abPK uintptr at bp+20, 4 + + // var azCol uintptr at bp+16, 4 + + var zExpr uintptr + var db uintptr + // var pTo uintptr at bp+8, 4 + zDb = (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + + libc.Xmemset(tls, bp /* &d */, 0, uint32(unsafe.Sizeof(SessionDiffCtx{}))) + sessionDiffHooks(tls, pSession, bp /* &d */) + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if !(pzErrMsg != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) +__1: + ; + if !(rc == SQLITE_OK) { + goto __2 + } + zExpr = uintptr(0) + db = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Table zTbl + + // Locate and if necessary initialize the target table object + rc = sessionFindTable(tls, pSession, zTbl, bp+8 /* &pTo */) + if !(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)) == uintptr(0)) { + goto __3 + } + goto diff_out +__3: + ; + if !(sessionInitTable(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */))) != 0) { + goto __4 + } + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + goto diff_out +__4: + ; + + // Check the table schemas match + if !(rc == SQLITE_OK) { + goto __5 + } + bHasPk = 0 + bMismatch = 0 + *(*uintptr)(unsafe.Pointer(bp + 16 /* azCol */)) = uintptr(0) + rc = sessionTableInfo(tls, uintptr(0), db, zFrom, zTbl, bp+12 /* &nCol */, uintptr(0), bp+16 /* &azCol */, bp+20 /* &abPK */) + if !(rc == SQLITE_OK) { + goto __6 + } + if !((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FnCol != *(*int32)(unsafe.Pointer(bp + 12 /* nCol */))) { + goto __7 + } + bMismatch = 1 + goto __8 +__7: + i = 0 +__9: + if !(i < *(*int32)(unsafe.Pointer(bp + 12 /* nCol */))) { + goto __11 + } + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FabPK + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20 /* abPK */)) + uintptr(i))))) { + goto __12 + } + bMismatch = 1 +__12: + ; + if !(Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* azCol */)) + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FazCol + uintptr(i)*4))) != 0) { + goto __13 + } + bMismatch = 1 +__13: + ; + if !(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20 /* abPK */)) + uintptr(i))) != 0) { + goto __14 + } + bHasPk = 1 +__14: + ; + goto __10 +__10: + i++ + goto __9 + goto __11 +__11: + ; +__8: + ; +__6: + ; + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* azCol */))) + if !(bMismatch != 0) { + goto __15 + } + if !(pzErrMsg != 0) { + goto __16 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+30905 /* "table schemas do..." */, 0) +__16: + ; + rc = SQLITE_SCHEMA +__15: + ; + if !(bHasPk == 0) { + goto __17 + } + // Ignore tables with no primary keys + goto diff_out +__17: + ; +__5: + ; + + if !(rc == SQLITE_OK) { + goto __18 + } + zExpr = sessionExprComparePK(tls, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FnCol, + zDb, zFrom, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FzName, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FazCol, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FabPK) +__18: + ; + + // Find new rows + if !(rc == SQLITE_OK) { + goto __19 + } + rc = sessionDiffFindNew(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)), zDb, zFrom, zExpr) +__19: + ; + + // Find old rows + if !(rc == SQLITE_OK) { + goto __20 + } + rc = sessionDiffFindNew(tls, SQLITE_DELETE, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)), zFrom, zDb, zExpr) +__20: + ; + + // Find modified rows + if !(rc == SQLITE_OK) { + goto __21 + } + rc = sessionDiffFindModified(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)), zFrom, zExpr) +__21: + ; + + Xsqlite3_free(tls, zExpr) +__2: + ; + +diff_out: + sessionPreupdateHooks(tls, pSession) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Create a session object. This session object will record changes to +// database zDb attached to connection db. +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:208455:16: */ + var pNew uintptr // Newly allocated session object + var pOld uintptr // Session object already attached to db + var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes + + // Zero the output value in case an error occurs. + *(*uintptr)(unsafe.Pointer(ppSession)) = uintptr(0) + + // Allocate and populate the new session object. + pNew = Xsqlite3_malloc64(tls, (uint64((uint32(unsafe.Sizeof(Sqlite3_session{})) + uint32(nDb)) + uint32(1)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(Sqlite3_session{}))) + (*Sqlite3_session)(unsafe.Pointer(pNew)).Fdb = db + (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb = (pNew + 1*88) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FbEnable = 1 + libc.Xmemcpy(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, zDb, (uint32(nDb + 1))) + sessionPreupdateHooks(tls, pNew) + + // Add the new session object to the linked list of session objects + // attached to database handle $db. Do this under the cover of the db + // handle mutex. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + pOld = Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), pNew) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FpNext = pOld + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + + *(*uintptr)(unsafe.Pointer(ppSession)) = pNew + return SQLITE_OK +} + +// Free the list of table objects passed as the first argument. The contents +// of the changed-rows hash tables are also deleted. +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:208493:13: */ + var pNext uintptr + var pTab uintptr + + for pTab = pList; pTab != 0; pTab = pNext { + var i int32 + pNext = (*SessionTable)(unsafe.Pointer(pTab)).FpNext + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNextChange uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); p != 0; p = pNextChange { + pNextChange = (*SessionChange)(unsafe.Pointer(p)).FpNext + sessionFree(tls, pSession, p) + } + } + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FazCol) // cast works around VC++ bug + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + sessionFree(tls, pSession, pTab) + } +} + +// Delete a session object previously allocated using sqlite3session_create(). +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208517:17: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + // var pHead uintptr at bp, 4 + + var pp uintptr + + // Unlink the session from the linked list of sessions attached to the + // database handle. Hold the db mutex while doing so. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + *(*uintptr)(unsafe.Pointer(bp /* pHead */)) = Xsqlite3_preupdate_hook(tls, db, uintptr(0), uintptr(0)) + for pp = bp; /* &pHead */ (*(*uintptr)(unsafe.Pointer(pp))) != uintptr(0); pp = (*(*uintptr)(unsafe.Pointer(pp)) + 60 /* &.pNext */) { + if (*(*uintptr)(unsafe.Pointer(pp))) == pSession { + *(*uintptr)(unsafe.Pointer(pp)) = (*Sqlite3_session)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + if *(*uintptr)(unsafe.Pointer(bp /* pHead */)) != 0 { + Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), *(*uintptr)(unsafe.Pointer(bp /* pHead */))) + } + break + } + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + Xsqlite3ValueFree(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob) + + // Delete all attached table objects. And the contents of their + // associated hash-tables. + sessionDeleteTable(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable) + + // Assert that all allocations have been freed and then free the + // session object itself. + + Xsqlite3_free(tls, pSession) +} + +// Set a table filter on a Session Object. +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:208549:17: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter +} + +// Attach a table to a session. All subsequent changes made to the table +// while the session object is enabled will be recorded. +// +// Only tables that have a PRIMARY KEY defined may be attached. It does +// not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) +// or not. +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:208567:16: */ + var rc int32 = SQLITE_OK + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + if !(zName != 0) { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + } else { + var pTab uintptr // New table object (if required) + var nName int32 // Number of bytes in string zName + + // First search for an existing entry. If one is found, this call is + // a no-op. Return early. + nName = Xsqlite3Strlen30(tls, zName) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (nName+1)) { + break + } + } + + if !(pTab != 0) { + // Allocate new SessionTable object. + var nByte int32 = (int32((uint32(unsafe.Sizeof(SessionTable{})) + uint32(nName)) + uint32(1))) + pTab = sessionMalloc64(tls, pSession, int64(nByte)) + if !(pTab != 0) { + rc = SQLITE_NOMEM + } else { + // Populate the new SessionTable object and link it into the list. + // The new object must be linked onto the end of the list, not + // simply added to the start of it in order to ensure that tables + // appear in the correct order when a changeset or patchset is + // eventually generated. + var ppTab uintptr + libc.Xmemset(tls, pTab, 0, uint32(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = (pTab + 1*36) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (uint32(nName + 1))) + for ppTab = (pSession + 64 /* &.pTable */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } + } + } + + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Ensure that there is room in the buffer to append nByte bytes of data. +// If not, use sqlite3_realloc() to grow the buffer so that there is. +// +// If successful, return zero. Otherwise, if an OOM condition is encountered, +// set *pRc to SQLITE_NOMEM and return non-zero. +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:208620:12: */ + var nReq I64 = (I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte) + if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc)) { + var aNew uintptr + var nNew I64 + if (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc != 0 { + nNew = int64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) + } else { + nNew = int64(128) + } + + for ok := true; ok; ok = (nNew < nReq) { + nNew = (nNew * int64(2)) + } + + // The value of SESSION_MAX_BUFFER_SZ is copied from the implementation + // of sqlite3_realloc64(). Allocations greater than this size in bytes + // always fail. It is used here to ensure that this routine can always + // allocate up to this limit - instead of up to the largest power of + // two smaller than the limit. + if nNew > (int64(0x7FFFFF00 - 1)) { + nNew = (int64(0x7FFFFF00 - 1)) + if nNew < nReq { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + return 1 + } + } + + aNew = Xsqlite3_realloc64(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf, uint64(nNew)) + if uintptr(0) == aNew { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } else { + (*SessionBuffer)(unsafe.Pointer(p)).FaBuf = aNew + (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc = int32(nNew) + } + } + return (libc.Bool32(*(*int32)(unsafe.Pointer(pRc)) != SQLITE_OK)) +} + +// Append the value passed as the second argument to the buffer passed +// as the first. +// +// This function is a no-op if *pRc is non-zero when it is called. +// Otherwise, if an error occurs, *pRc is set to an SQLite error code +// before returning. +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:208663:13: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, uintptr(0), pVal, bp /* &nByte */) + sessionBufferGrow(tls, p, *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)), bp+8 /* &rc */) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), pVal, uintptr(0)) + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += int32((*(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)))) + } else { + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) + } + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single byte to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:208685:13: */ + if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { + *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single varint to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:208698:13: */ + if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += (sessionVarintPut(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), v)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a blob of data to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:208711:13: */ + if (nBlob > 0) && (0 == sessionBufferGrow(tls, p, int64(nBlob), pRc)) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), aBlob, uint32(nBlob)) + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += (nBlob) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a string to the buffer. All bytes in the string +// up to (but not including) the nul-terminator are written to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208731:13: */ + var nStr int32 = Xsqlite3Strlen30(tls, zStr) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), zStr, uint32(nStr)) + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += (nStr) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string representation of integer iVal +// to the buffer. No nul-terminator is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aBuf [24]int8 at bp+8, 24 + + Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([24]int8{})) - uint32(1))), bp+8 /* &aBuf[0] */, ts+4089 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string zStr enclosed in quotes (") and +// with any embedded quote characters escaped to the buffer. No +// nul-terminator byte is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208770:13: */ + var nStr int32 = (((Xsqlite3Strlen30(tls, zStr) * 2) + 2) + 1) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + var zOut uintptr = ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)) + var zIn uintptr = zStr + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + for *(*int8)(unsafe.Pointer(zIn)) != 0 { + if int32(*(*int8)(unsafe.Pointer(zIn))) == '"' { + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + (*SessionBuffer)(unsafe.Pointer(p)).FnBuf = ((int32(zOut) - int32((*SessionBuffer)(unsafe.Pointer(p)).FaBuf)) / 1) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwse, it appends the serialized version of the value stored +// in column iCol of the row that SQL statement pStmt currently points +// to to the buffer. +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:208795:13: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var eType int32 = Xsqlite3_column_type(tls, pStmt, iCol) + sessionAppendByte(tls, p, U8(eType), pRc) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var i Sqlite3_int64 at bp, 8 + + // var aBuf [8]U8 at bp+16, 8 + + if eType == SQLITE_INTEGER { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */)) = Xsqlite3_column_int64(tls, pStmt, iCol) + } else { + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_column_double(tls, pStmt, iCol) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint32(8)) + } + sessionPutI64(tls, bp+16 /* &aBuf[0] */, *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */))) + sessionAppendBlob(tls, p, bp+16 /* &aBuf[0] */, 8, pRc) + } + if (eType == SQLITE_BLOB) || (eType == SQLITE_TEXT) { + var z uintptr + var nByte int32 + if eType == SQLITE_BLOB { + z = Xsqlite3_column_blob(tls, pStmt, iCol) + } else { + z = Xsqlite3_column_text(tls, pStmt, iCol) + } + nByte = Xsqlite3_column_bytes(tls, pStmt, iCol) + if (z != 0) || ((eType == SQLITE_BLOB) && (nByte == 0)) { + sessionAppendVarint(tls, p, nByte, pRc) + sessionAppendBlob(tls, p, z, nByte, pRc) + } else { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } + } + } +} + +// +// This function appends an update change to the buffer (see the comments +// under "CHANGESET FORMAT" at the top of the file). An update change +// consists of: +// +// 1 byte: SQLITE_UPDATE (0x17) +// n bytes: old.* record (see RECORD FORMAT) +// m bytes: new.* record (see RECORD FORMAT) +// +// The SessionChange object passed as the third argument contains the +// values that were stored in the row when the session began (the old.* +// values). The statement handle passed as the second argument points +// at the current version of the row (the new.* values). +// +// If all of the old.* values are equal to their corresponding new.* value +// (i.e. nothing has changed), then no data at all is appended to the buffer. +// +// Otherwise, the old.* record contains all primary key values and the +// original values of any fields that have been modified. The new.* record +// contains the new values of only those fields that have been modified. +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:208857:12: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp + 28 /* buf2 */)) = SessionBuffer{} // Buffer to accumulate new.* record in + var bNoop int32 = 1 // Set to zero if any values are modified + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf // Set to zero if any values are modified + var i int32 // Used to iterate through columns + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord // Used to iterate through old.* values + + sessionAppendByte(tls, pBuf, uint8(SQLITE_UPDATE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + for i = 0; i < Xsqlite3_column_count(tls, pStmt); i++ { + var bChanged int32 = 0 + var nAdvance int32 + var eType int32 = int32(*(*U8)(unsafe.Pointer(pCsr))) + switch eType { + case SQLITE_NULL: + nAdvance = 1 + if Xsqlite3_column_type(tls, pStmt, i) != SQLITE_NULL { + bChanged = 1 + } + break + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + nAdvance = 9 + if eType == Xsqlite3_column_type(tls, pStmt, i) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, (pCsr + 1)) + if eType == SQLITE_INTEGER { + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) == Xsqlite3_column_int64(tls, pStmt, i) { + break + } + } else { + // var dVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &dVal */, bp+16 /* &iVal */, uint32(8)) + if *(*float64)(unsafe.Pointer(bp + 8 /* dVal */)) == Xsqlite3_column_double(tls, pStmt, i) { + break + } + } + } + bChanged = 1 + break + + } + + default: + { + // var n int32 at bp+24, 4 + + var nHdr int32 = (1 + sessionVarintGet(tls, (pCsr+1), bp+24 /* &n */)) + + nAdvance = (nHdr + *(*int32)(unsafe.Pointer(bp + 24 /* n */))) + if ((eType == Xsqlite3_column_type(tls, pStmt, i)) && + (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == Xsqlite3_column_bytes(tls, pStmt, i))) && + ((*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == 0) || (0 == libc.Xmemcmp(tls, (pCsr+uintptr(nHdr)), Xsqlite3_column_blob(tls, pStmt, i), uint32(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))))) { + break + } + bChanged = 1 + + } + } + + // If at least one field has been modified, this is not a no-op. + if bChanged != 0 { + bNoop = 0 + } + + // Add a field to the old.* record. This is omitted if this modules is + // currently generating a patchset. + if bPatchset == 0 { + if (bChanged != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + sessionAppendBlob(tls, pBuf, pCsr, nAdvance, bp /* &rc */) + } else { + sessionAppendByte(tls, pBuf, uint8(0), bp /* &rc */) + } + } + + // Add a field to the new.* record. Or the only record if currently + // generating a patchset. + if (bChanged != 0) || ((bPatchset != 0) && (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0)) { + sessionAppendCol(tls, bp+28 /* &buf2 */, pStmt, i, bp /* &rc */) + } else { + sessionAppendByte(tls, bp+28 /* &buf2 */, uint8(0), bp /* &rc */) + } + + pCsr += uintptr(nAdvance) + } + + if bNoop != 0 { + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = nRewind + } else { + sessionAppendBlob(tls, pBuf, (*SessionBuffer)(unsafe.Pointer(bp+28 /* &buf2 */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+28 /* &buf2 */)).FnBuf, bp /* &rc */) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+28 /* &buf2 */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Append a DELETE change to the buffer passed as the first argument. Use +// the changeset format if argument bPatchset is zero, or the patchset +// format otherwise. +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:208956:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + + sessionAppendByte(tls, pBuf, uint8(SQLITE_DELETE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + + if bPatchset == 0 { + sessionAppendBlob(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp /* &rc */) + } else { + var i int32 + var a uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord + for i = 0; i < nCol; i++ { + var pStart uintptr = a + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + a += uintptr(8) + break + fallthrough + + default: + { + // var n int32 at bp+4, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+4 /* &n */)) + a += uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* n */))) + break + + } + } + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendBlob(tls, pBuf, pStart, ((int32(a) - int32(pStart)) / 1), bp /* &rc */) + } + } + + } + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Formulate and prepare a SELECT statement to retrieve a row from table +// zTab in database zDb based on its primary key. i.e. +// +// SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = SQLITE_OK + var zSql uintptr = uintptr(0) + var nSql int32 = -1 + + if 0 == Xsqlite3_stricmp(tls, ts+10072 /* "sqlite_stat1" */, zTab) { + zSql = Xsqlite3_mprintf(tls, + + ts+30932 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + if zSql == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = SQLITE_NOMEM + } + } else { + var i int32 + var zSep uintptr = ts + 755 /* "" */ + *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp+8 /* &buf */, ts+31042 /* "SELECT * FROM " */, bp+20 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zDb, bp+20 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+768 /* "." */, bp+20 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zTab, bp+20 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+31057 /* " WHERE " */, bp+20 /* &rc */) + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendStr(tls, bp+8 /* &buf */, zSep, bp+20 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), bp+20 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+31065 /* " IS ?" */, bp+20 /* &rc */) + sessionAppendInteger(tls, bp+8 /* &buf */, (i + 1), bp+20 /* &rc */) + zSep = ts + 19877 /* " AND " */ + } + } + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FnBuf + } + + if *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + } + Xsqlite3_free(tls, zSql) + return *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) +} + +// Bind the PRIMARY KEY values from the change passed in argument pChange +// to the SELECT statement passed as the first argument. The SELECT statement +// is as prepared by function sessionSelectStmt(). +// +// Return SQLITE_OK if all PK values are successfully bound, or an SQLite +// error code (e.g. SQLITE_NOMEM) otherwise. +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:209068:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 + var rc int32 = SQLITE_OK + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord + + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + + case SQLITE_INTEGER: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + var iVal I64 = sessionGetI64(tls, a) + rc = Xsqlite3_bind_int64(tls, pSelect, (i + 1), iVal) + } + a += uintptr(8) + break + + } + + case SQLITE_FLOAT: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + // var rVal float64 at bp, 8 + + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = sessionGetI64(tls, a) + libc.Xmemcpy(tls, bp /* &rVal */, bp+8 /* &iVal */, uint32(8)) + rc = Xsqlite3_bind_double(tls, pSelect, (i + 1), *(*float64)(unsafe.Pointer(bp /* rVal */))) + } + a += uintptr(8) + break + + } + + case SQLITE_TEXT: + { + // var n int32 at bp+16, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+16 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_text(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 16 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* n */))) + break + + } + + default: + { + // var n int32 at bp+20, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_blob(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 20 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + break + + } + } + } + + return rc +} + +// This function is a no-op if *pRc is set to other than SQLITE_OK when it +// is called. Otherwise, append a serialized table header (part of the binary +// changeset format) to buffer *pBuf. If an error occurs, set *pRc to an +// SQLite error code before returning. +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:209139:13: */ + // Write a table header + sessionAppendByte(tls, pBuf, func() uint8 { + if bPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), pRc) + sessionAppendVarint(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (int32(libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + 1), pRc) +} + +// Generate either a changeset (if argument bPatchset is zero) or a patchset +// (if it is non-zero) based on the current contents of the session object +// passed as the first argument. +// +// If no error occurs, SQLITE_OK is returned and the new changeset/patchset +// stored in output variables *pnChangeset and *ppChangeset. Or, if an error +// occurs, an SQLite error code is returned and both output variables set +// to 0. +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209162:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Source database handle + var pTab uintptr // Used to iterate through attached tables + *(*SessionBuffer)(unsafe.Pointer(bp + 12 /* buf */)) = SessionBuffer{} // Buffer in which to accumlate changeset + // var rc int32 at bp+24, 4 + // Return code + + // Zero the output variables in case an error occurs. If this session + // object is already in the error state (sqlite3_session.rc != SQLITE_OK), + // this call will be a no-op. + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = 0 + *(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0) + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + } + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+31071 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry != 0 { + var zName uintptr = (*SessionTable)(unsafe.Pointer(pTab)).FzName + // var nCol int32 at bp, 4 + // Number of columns in table + // var abPK uintptr at bp+8, 4 + // Primary key array + *(*uintptr)(unsafe.Pointer(bp + 4 /* azCol */)) = uintptr(0) // Table columns + var i int32 // Used to iterate through hash buckets + *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)) = uintptr(0) // SELECT statement to query table pTab + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf // Initial size of write buffer + var nNoop int32 // Size of buffer after writing tbl header + + // Check the table schema is still Ok. + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionTableInfo(tls, uintptr(0), db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, bp /* &nCol */, uintptr(0), bp+4 /* &azCol */, bp+8 /* &abPK */) + if !(*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0) && (((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp /* nCol */))) || (libc.Xmemcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */)), (*SessionTable)(unsafe.Pointer(pTab)).FabPK, uint32(*(*int32)(unsafe.Pointer(bp /* nCol */)))) != 0)) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_SCHEMA + } + + // Write a table header + sessionAppendTableHdr(tls, bp+12 /* &buf */, bPatchset, pTab, bp+24 /* &rc */) + + // Build and compile a statement to execute: + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionSelectStmt(tls, + db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 4 /* azCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */)), bp+28 /* &pSel */) + } + + nNoop = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf + for i = 0; (i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange) && (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK); i++ { + var p uintptr // Used to iterate through changes + + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (p != 0); p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionSelectBind(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)), *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */)), p) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { + continue + } + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */))) == SQLITE_ROW { + if int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_INSERT { + var iCol int32 + sessionAppendByte(tls, bp+12 /* &buf */, uint8(SQLITE_INSERT), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+24 /* &rc */) + for iCol = 0; iCol < *(*int32)(unsafe.Pointer(bp /* nCol */)); iCol++ { + sessionAppendCol(tls, bp+12 /* &buf */, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)), iCol, bp+24 /* &rc */) + } + } else { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionAppendUpdate(tls, bp+12 /* &buf */, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)), p, *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */))) + } + } else if int32((*SessionChange)(unsafe.Pointer(p)).Fop) != SQLITE_INSERT { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionAppendDelete(tls, bp+12 /* &buf */, bPatchset, p, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */))) + } + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */))) + } + + // If the buffer is now larger than sessions_strm_chunk_size, pass + // its contents to the xOutput() callback. + if (((xOutput != 0) && + (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK)) && + ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > nNoop)) && + ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf) + nNoop = -1 + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf = 0 + } + + } + } + + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */))) + if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf == nNoop { + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf = nRewind + } + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* azCol */))) // cast works around VC++ bug + } + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FaBuf = uintptr(0) + } else if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf) + } + } + + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf) + Xsqlite3_exec(tls, db, ts+31091 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Obtain a changeset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209288:16: */ + var rc int32 = sessionGenerateChangeset(tls, pSession, 0, uintptr(0), uintptr(0), pnChangeset, ppChangeset) + + return rc +} + +// Streaming version of sqlite3session_changeset(). +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209303:16: */ + return sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Streaming version of sqlite3session_patchset(). +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209314:16: */ + return sessionGenerateChangeset(tls, pSession, 1, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Obtain a patchset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:209329:16: */ + return sessionGenerateChangeset(tls, pSession, 1, uintptr(0), uintptr(0), pnPatchset, ppPatchset) +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:209340:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bEnable >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable = bEnable + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:209354:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bIndirect >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect = bIndirect + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Return true if there have been no changes to monitored tables recorded +// by the session object passed as the only argument. +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:209369:16: */ + var ret int32 = 0 + var pTab uintptr + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (pTab != 0) && (ret == 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + ret = (libc.Bool32((*SessionTable)(unsafe.Pointer(pTab)).FnEntry > 0)) + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + return (libc.Bool32(ret == 0)) +} + +// Return the amount of heap memory in use. +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209385:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc +} + +// Configure the session object passed as the first argument. +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:209392:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_OBJCONFIG_SIZE: + { + var iArg int32 = *(*int32)(unsafe.Pointer(pArg)) + if iArg >= 0 { + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable != 0 { + rc = SQLITE_MISUSE + } else { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize = (libc.Bool32(iArg != 0)) + } + } + *(*int32)(unsafe.Pointer(pArg)) = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize + break + + } + + default: + rc = SQLITE_MISUSE + } + + return rc +} + +// Return the maximum size of sqlite3session_changeset() output. +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209418:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize +} + +// Do the work for either sqlite3changeset_start() or start_strm(). +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:209425:12: */ + var pRet uintptr // Iterator to return + var nByte int32 // Number of bytes to allocate for iterator + + // Zero the output variable in case an error occurs. + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + + // Allocate and initialize the iterator structure. + nByte = int32(unsafe.Sizeof(Sqlite3_changeset_iter{})) + pRet = Xsqlite3_malloc(tls, nByte) + if !(pRet != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pRet, 0, uint32(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FbEof = func() int32 { + if xInput != 0 { + return 0 + } + return 1 + }() + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbInvert = bInvert + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbSkipEmpty = bSkipEmpty + + // Populate the output variable and return success. + *(*uintptr)(unsafe.Pointer(pp)) = pRet + return SQLITE_OK +} + +// Create an iterator used to iterate through the contents of a changeset. +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:209463:16: */ + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) +} + +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:209470:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) +} + +// Streaming version of sqlite3changeset_start(). +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:209483:16: */ + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) +} + +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:209490:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) +} + +// If the SessionInput object passed as the only argument is a streaming +// object and the buffer is full, discard some data to free up space. +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:209504:13: */ + if ((*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0) && ((*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size) { + var nMove int32 = ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext) + + if nMove > 0 { + libc.Xmemmove(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), uint32(nMove)) + } + *(*int32)(unsafe.Pointer(pIn + 20 /* &.buf */ + 4 /* &.nBuf */)) -= ((*SessionInput)(unsafe.Pointer(pIn)).FiNext) + (*SessionInput)(unsafe.Pointer(pIn)).FiNext = 0 + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } +} + +// Ensure that there are at least nByte bytes available in the buffer. Or, +// if there are not nByte bytes remaining in the input, that all available +// data is in the buffer. +// +// Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:209524:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 { + for (!((*SessionInput)(unsafe.Pointer(pIn)).FbEof != 0) && (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte) >= (*SessionInput)(unsafe.Pointer(pIn)).FnData)) && (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) { + *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) = sessions_strm_chunk_size + + if (*SessionInput)(unsafe.Pointer(pIn)).FbNoDiscard == 0 { + sessionDiscardData(tls, pIn) + } + if SQLITE_OK == sessionBufferGrow(tls, (pIn+20 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 32 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { + (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 + } else { + *(*int32)(unsafe.Pointer(pIn + 20 /* &.buf */ + 4 /* &.nBuf */)) += (*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))) + } + } + + (*SessionInput)(unsafe.Pointer(pIn)).FaData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// When this function is called, *ppRec points to the start of a record +// that contains nCol values. This function advances the pointer *ppRec +// until it points to the byte immediately following that record. +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:209552:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var aRec uintptr = *(*uintptr)(unsafe.Pointer(ppRec)) + var i int32 + for i = 0; i < nCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aRec, 1)))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + aRec += uintptr(sessionVarintGet(tls, aRec, bp /* &nByte */)) + aRec += uintptr(*(*int32)(unsafe.Pointer(bp /* nByte */))) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + aRec += uintptr(8) + } + } + + *(*uintptr)(unsafe.Pointer(ppRec)) = aRec +} + +// This function sets the value of the sqlite3_value object passed as the +// first argument to a copy of the string or blob held in the aData[] +// buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM +// error occurs. +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:209578:12: */ + // In theory this code could just pass SQLITE_TRANSIENT as the final + // argument to sqlite3ValueSetStr() and have the copy created + // automatically. But doing so makes it difficult to detect any OOM + // error. Hence the code to create the copy externally. + var aCopy uintptr = Xsqlite3_malloc64(tls, (uint64(Sqlite3_int64(nData) + int64(1)))) + if aCopy == uintptr(0) { + return SQLITE_NOMEM + } + libc.Xmemcpy(tls, aCopy, aData, uint32(nData)) + Xsqlite3ValueSetStr(tls, pVal, nData, aCopy, enc, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + return SQLITE_OK +} + +// Deserialize a single record from a buffer in memory. See "RECORD FORMAT" +// for details. +// +// When this function is called, *paChange points to the start of the record +// to deserialize. Assuming no error occurs, *paChange is set to point to +// one byte after the end of the same record before this function returns. +// If the argument abPK is NULL, then the record contains nCol values. Or, +// if abPK is other than NULL, then the record contains only the PK fields +// (in other words, it is a patchset DELETE record). +// +// If successful, each element of the apOut[] array (allocated by the caller) +// is set to point to an sqlite3_value object containing the value read +// from the corresponding position in the record. If that value is not +// included in the record (i.e. because the record is part of an UPDATE change +// and the field was not modified), the corresponding element of apOut[] is +// set to NULL. +// +// It is the responsibility of the caller to free all sqlite_value structures +// using sqlite3_free(). +// +// If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +// The apOut[] array may have been partially populated in this case. +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209619:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 // Used to iterate through columns + var rc int32 = SQLITE_OK + + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 1 + } + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = 0 // Type of value (SQLITE_NULL, TEXT etc.) + if (abPK != 0) && (int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0) { + continue + } + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { + rc = Xsqlite3CorruptError(tls, 209637) + } else { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) + + if eType != 0 { + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 0 + } + *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)) = Xsqlite3ValueNew(tls, uintptr(0)) + if !(int32(*(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4))) != 0) { + rc = SQLITE_NOMEM + } + } + } + } + + if rc == SQLITE_OK { + var aVal uintptr = ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (sessionVarintGet(tls, aVal, bp /* &nByte */)) + rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) + if rc == SQLITE_OK { + if (*(*int32)(unsafe.Pointer(bp /* nByte */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nByte */)) > ((*SessionInput)(unsafe.Pointer(pIn)).FnData - (*SessionInput)(unsafe.Pointer(pIn)).FiNext)) { + rc = Xsqlite3CorruptError(tls, 209657) + } else { + var enc U8 = func() uint8 { + if eType == SQLITE_TEXT { + return uint8(SQLITE_UTF8) + } + return uint8(0) + }() + rc = sessionValueSetStr(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)), ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), *(*int32)(unsafe.Pointer(bp /* nByte */)), enc) + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nByte */))) + } + } + } + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */)) = sessionGetI64(tls, aVal) + if eType == SQLITE_INTEGER { + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)), *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */))) + } else { + // var d float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &d */, bp+16 /* &v */, uint32(8)) + Xsqlite3VdbeMemSetDouble(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)), *(*float64)(unsafe.Pointer(bp + 8 /* d */))) + } + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (8) + } + } + } + + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function ensures that all of the above is present in the input +// buffer (i.e. that it can be accessed without any calls to xInput()). +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. +// The input pointer is not moved. +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:209695:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + *(*int32)(unsafe.Pointer(bp /* nCol */)) = 0 + var nRead int32 = 0 + + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + nRead = nRead + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead))), bp /* &nCol */)) + // The hard upper limit for the number of columns in an SQLite + // database table is, according to sqliteLimit.h, 32676. So + // consider any table-header that purports to have more than 65536 + // columns to be corrupt. This is convenient because otherwise, + // if the (nCol>65536) condition below were omitted, a sufficiently + // large value for nCol may cause nRead to wrap around and become + // negative. Leading to a crash. + if (*(*int32)(unsafe.Pointer(bp /* nCol */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nCol */)) > 65536) { + rc = Xsqlite3CorruptError(tls, 209711) + } else { + rc = sessionInputBuffer(tls, pIn, ((nRead + *(*int32)(unsafe.Pointer(bp /* nCol */))) + 100)) + nRead = nRead + (*(*int32)(unsafe.Pointer(bp /* nCol */))) + } + } + + for rc == SQLITE_OK { + for (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData) && (*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead)))) != 0) { + nRead++ + } + if ((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData { + break + } + rc = sessionInputBuffer(tls, pIn, (nRead + 100)) + } + *(*int32)(unsafe.Pointer(pnByte)) = (nRead + 1) + return rc +} + +// The input pointer currently points to the first byte of the first field +// of a record consisting of nCol columns. This function ensures the entire +// record is buffered. It does not move the input pointer. +// +// If successful, SQLITE_OK is returned and *pnByte is set to the size of +// the record in bytes. Otherwise, an SQLite error code is returned. The +// final value of *pnByte is undefined in this case. +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:209738:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var nByte int32 = 0 + var i int32 + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + var eType int32 + rc = sessionInputBuffer(tls, pIn, (nByte + 10)) + if rc == SQLITE_OK { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + libc.PostIncInt32(&nByte, 1)))))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var n int32 at bp, 4 + + nByte = nByte + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte))), bp /* &n */)) + nByte = nByte + (*(*int32)(unsafe.Pointer(bp /* n */))) + rc = sessionInputBuffer(tls, pIn, nByte) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + nByte = nByte + (8) + } + } + } + *(*int32)(unsafe.Pointer(pnByte)) = nByte + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function decodes the table-header and populates the p->nCol, +// p->zTab and p->abPK[] variables accordingly. The p->apValue[] array is +// also allocated or resized according to the new value of p->nCol. The +// input pointer is left pointing to the byte following the table header. +// +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code +// is returned and the final values of the various fields enumerated above +// are undefined. +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209782:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var rc int32 at bp+4, 4 + + // var nCopy int32 at bp, 4 + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetBufferTblhdr(tls, (p /* &.in */), bp /* &nCopy */) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte int32 + var nVarint int32 + nVarint = sessionVarintGet(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), (p + 80 /* &.nCol */)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol > 0 { + *(*int32)(unsafe.Pointer(bp /* nCopy */)) -= nVarint + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (nVarint) + nByte = (int32(((uint32((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol) * uint32(unsafe.Sizeof(uintptr(0)))) * uint32(2)) + uint32(*(*int32)(unsafe.Pointer(bp /* nCopy */))))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 + sessionBufferGrow(tls, (p + 44 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + } else { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 209799) + } + } + + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var iPK Size_t = ((uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint32(2)) + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0, iPK) + libc.Xmemcpy(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + uintptr(iPK)), ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), uint32(*(*int32)(unsafe.Pointer(bp /* nCopy */)))) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nCopy */))) + } + + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue == uintptr(0) { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = uintptr(0) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = uintptr(0) + } else { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol*2))*4) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) + } + return uintptr(0) + }() + } + return libc.AssignPtrInt32(p+68 /* &.rc */, *(*int32)(unsafe.Pointer(bp + 4 /* rc */))) +} + +// Advance the changeset iterator to the next change. The differences between +// this function and sessionChangesetNext() are that +// +// * If pbEmpty is not NULL and the change is a no-op UPDATE (an UPDATE +// that modifies no columns), this function sets (*pbEmpty) to 1. +// +// * If the iterator is configured to skip no-op UPDATEs, +// sessionChangesetNext() does that. This function does not. +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209831:12: */ + var i int32 + var op U8 + + // If the iterator is in the error-state, return immediately. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // Free the current contents of p->apValue[], if any. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4))) + } + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0, ((uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint32(2))) + } + + // Make sure the buffer contains at least 10 bytes of input data, or all + // remaining data if there are less than 10 bytes available. This is + // sufficient either for the 'T' or 'P' byte and the varint that follows + // it, or for the two single byte values otherwise. + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionInputBuffer(tls, (p /* &.in */), 2) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // If the iterator is already at the end of the changeset, return DONE. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + + sessionDiscardData(tls, (p /* &.in */)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + + op = *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))) + for (int32(op) == 'T') || (int32(op) == 'P') { + if pbNew != 0 { + *(*int32)(unsafe.Pointer(pbNew)) = 1 + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset = (libc.Bool32(int32(op) == 'P')) + if sessionChangesetReadTblhdr(tls, p) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + if libc.AssignPtrInt32(p+68 /* &.rc */, sessionInputBuffer(tls, (p /* &.in */), 2)) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + op = *(*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)).FzTab == uintptr(0)) || (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) { + // The first record in the changeset is not a table header. Must be a + // corrupt changeset. + + return libc.AssignPtrInt32(p+68 /* &.rc */, Xsqlite3CorruptError(tls, 209885)) + } + + (*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 /* &.rc */, Xsqlite3CorruptError(tls, 209891)) + } + + if paRec != 0 { + var nVal int32 // Number of values to buffer + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) && (int32(op) == SQLITE_UPDATE) { + nVal = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2) + } else if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && (int32(op) == SQLITE_DELETE) { + nVal = 0 + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { + nVal++ + } + } + } else { + nVal = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionChangesetBufferRecord(tls, (p /* &.in */), nVal, pnRec) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + *(*uintptr)(unsafe.Pointer(paRec)) = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(pnRec))) + } else { + var apOld uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4) + } + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + }() + var apNew uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + } + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4) + }() + + // If this is an UPDATE or DELETE, read the old.* record. + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT) && (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE)) { + var abPK uintptr + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 { + abPK = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + } else { + abPK = uintptr(0) + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, abPK, apOld, uintptr(0)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + // If this is an INSERT or UPDATE, read the new.* record. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, uintptr(0), apNew, pbEmpty) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + if (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_UPDATE) { + // If this is an UPDATE that is part of a patchset, then all PK and + // modified fields are present in the new.* record. The old.* record + // is currently completely empty. This block shifts the PK fields from + // new.* to old.*, to accommodate the code that reads these arrays. + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + + 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 /* &.rc */, Xsqlite3CorruptError(tls, 209935)) + } + *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol))*4)) = uintptr(0) + } + } + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_INSERT { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_DELETE + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_INSERT + } + } + } + + return SQLITE_ROW +} + +// Advance the changeset iterator to the next change. +// +// If both paRec and pnRec are NULL, then this function works like the public +// API sqlite3changeset_next(). If SQLITE_ROW is returned, then the +// sqlite3changeset_new() and old() APIs may be used to query for values. +// +// Otherwise, if paRec and pnRec are not NULL, then a pointer to the change +// record is written to *paRec before returning and the number of bytes in +// the record to *pnRec. +// +// Either way, this function returns SQLITE_ROW if the iterator is +// successfully advanced to the next change in the changeset, an SQLite +// error code if an error occurs, or SQLITE_DONE if there are no further +// changes in the changeset. +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:209964:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var bEmpty int32 at bp, 4 + + var rc int32 + for ok := true; ok; ok = (((rc == SQLITE_ROW) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbSkipEmpty != 0)) && (*(*int32)(unsafe.Pointer(bp /* bEmpty */)) != 0)) { + *(*int32)(unsafe.Pointer(bp /* bEmpty */)) = 0 + rc = sessionChangesetNextOne(tls, p, paRec, pnRec, pbNew, bp /* &bEmpty */) + } + return rc +} + +// Advance an iterator created by sqlite3changeset_start() to the next +// change in the changeset. This function may return SQLITE_ROW, SQLITE_DONE +// or SQLITE_CORRUPT. +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209987:16: */ + return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) +} + +// The following function extracts information on the current change +// from a changeset iterator. It may only be called after changeset_next() +// has returned SQLITE_ROW. +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:209996:16: */ + *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + if pbIndirect != 0 { + *(*int32)(unsafe.Pointer(pbIndirect)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect + } + return SQLITE_OK +} + +// Return information regarding the PRIMARY KEY and number of columns in +// the database table affected by the change that pIter currently points +// to. This function may only be called after changeset_next() returns +// SQLITE_ROW. +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:210016:16: */ + *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + if pnCol != 0 { + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + } + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_DELETE change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the old.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified and is not a PK column), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210039:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(iVal)*4)) + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_INSERT change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the new.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210067:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+iVal))*4)) + return SQLITE_OK +} + +// The following two macros are used internally. They are similar to the +// sqlite3changeset_new() and sqlite3changeset_old() functions, except that +// they omit all error checking and return a pointer to the requested value. + +// This function may only be called with a changeset iterator that has been +// passed to an SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT +// conflict-handler function. Otherwise, SQLITE_MISUSE is returned. +// +// If successful, *ppValue is set to point to an sqlite3_value structure +// containing the iVal'th value of the conflicting record. +// +// If value iVal is out-of-range or some other error occurs, an SQLite error +// code is returned. Otherwise, SQLITE_OK. +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210101:16: */ + if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = Xsqlite3_column_value(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict, iVal) + return SQLITE_OK +} + +// This function may only be called with an iterator passed to an +// SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +// it sets the output variable to the total number of known foreign key +// violations in the destination database and returns SQLITE_OK. +// +// In all other cases this function returns SQLITE_MISUSE. +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:210124:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0) { + return SQLITE_MISUSE + } + *(*int32)(unsafe.Pointer(pnOut)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + return SQLITE_OK +} + +// Finalize an iterator allocated with sqlite3changeset_start(). +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:210142:16: */ + var rc int32 = SQLITE_OK + if p != 0 { + var i int32 // Used to iterate through p->apValue[] + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4))) + } + } + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf) + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.Fbuf.FaBuf) + Xsqlite3_free(tls, p) + } + return rc +} + +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210157:12: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + // var rc int32 at bp+32, 4 + // Return value + // var sOut SessionBuffer at bp, 12 + // Output buffer + // var nCol int32 at bp+16, 4 + // Number of cols in current table + var abPK uintptr // PK array for current table + var apVal uintptr // Space for values for UPDATE inversion + // var sPK SessionBuffer at bp+20, 12 + + // A 'table' record consists of: + // + // * A constant 'T' character, + // * Number of columns in said table (a varint), + // * An array of nCol bytes (sPK), + // * A nul-terminated table name. + // var nByte int32 at bp+12, 4 + + var nVar int32 + // var nByte1 int32 at bp+36, 4 + + var bIndirect int32 + var eType2 int32 + var pVal uintptr + var pVal1 uintptr + var iCol int32 + var eType U8 + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)) = 0 + abPK = uintptr(0) + apVal = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 20 /* sPK */)) = SessionBuffer{} // PK array for current table + + // Initialize the output buffer + libc.Xmemset(tls, bp /* &sOut */, 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + + // Zero the output variables in case an error occurs. + if !(ppInverted != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(ppInverted)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnInverted)) = 0 +__1: + ; + +__2: + if !(1 != 0) { + goto __3 + } + + // Test for EOF. + if !(libc.AssignPtrInt32(bp+32 /* rc */, sessionInputBuffer(tls, pInput, 2)) != 0) { + goto __4 + } + goto finished_invert +__4: + ; + if !((*SessionInput)(unsafe.Pointer(pInput)).FiNext >= (*SessionInput)(unsafe.Pointer(pInput)).FnData) { + goto __5 + } + goto __3 +__5: + ; + eType = *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext))) + + switch int32(eType) { + case 'T': + goto __7 + + case SQLITE_INSERT: + goto __8 + case SQLITE_DELETE: + goto __9 + + case SQLITE_UPDATE: + goto __10 + + default: + goto __11 + } + goto __6 +__7: + (*SessionInput)(unsafe.Pointer(pInput)).FiNext++ + if !(libc.AssignPtrInt32(bp+32 /* rc */, sessionChangesetBufferTblhdr(tls, pInput, bp+12 /* &nByte */)) != 0) { + goto __12 + } + goto finished_invert +__12: + ; + nVar = sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), bp+16 /* &nCol */) + (*SessionBuffer)(unsafe.Pointer(bp + 20 /* &sPK */)).FnBuf = 0 + sessionAppendBlob(tls, bp+20 /* &sPK */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + nVar))), *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), bp+32 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, eType, bp+32 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 12 /* nByte */)), bp+32 /* &rc */) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0) { + goto __13 + } + goto finished_invert +__13: + ; + + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 12 /* nByte */))) + Xsqlite3_free(tls, apVal) + apVal = uintptr(0) + abPK = (*SessionBuffer)(unsafe.Pointer(bp + 20 /* &sPK */)).FaBuf + goto __6 + +__8: +__9: + bIndirect = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1))))) + eType2 = func() int32 { + if int32(eType) == SQLITE_DELETE { + return SQLITE_INSERT + } + return SQLITE_DELETE + }() + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sessionChangesetBufferRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), bp+36 /* &nByte1 */) + sessionAppendByte(tls, bp /* &sOut */, uint8(eType2), bp+32 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, uint8(bIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 36 /* nByte1 */)), bp+32 /* &rc */) + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 36 /* nByte1 */))) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0) { + goto __14 + } + goto finished_invert +__14: + ; + goto __6 + +__10: + + if !(uintptr(0) == apVal) { + goto __15 + } + apVal = Xsqlite3_malloc64(tls, (uint64((uint32(unsafe.Sizeof(uintptr(0))) * uint32(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))) * uint32(2)))) + if !(uintptr(0) == apVal) { + goto __16 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_NOMEM + goto finished_invert +__16: + ; + libc.Xmemset(tls, apVal, 0, ((uint32(unsafe.Sizeof(uintptr(0))) * uint32(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))) * uint32(2))) +__15: + ; + + // Write the header for the new UPDATE change. Same as the original. + sessionAppendByte(tls, bp /* &sOut */, eType, bp+32 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1)))), bp+32 /* &rc */) + + // Read the old.* and new.* records for the update change. + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), uintptr(0), (apVal), uintptr(0)) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) { + goto __17 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), uintptr(0), (apVal + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))*4), uintptr(0)) +__17: + ; + + // Write the new old.* record. Consists of the PK columns from the + // original old.* record, and the other values from the original + // new.* record. + iCol = 0 +__18: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 16 /* nCol */))) { + goto __20 + } + pVal = *(*uintptr)(unsafe.Pointer(apVal + uintptr((iCol+(func() int32 { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return 0 + } + return *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)) + }())))*4)) + sessionAppendValue(tls, bp /* &sOut */, pVal, bp+32 /* &rc */) + goto __19 +__19: + iCol++ + goto __18 + goto __20 +__20: + ; + + // Write the new new.* record. Consists of a copy of all values + // from the original old.* record, except for the PK columns, which + // are set to "undefined". + iCol = 0 +__21: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 16 /* nCol */))) { + goto __23 + } + pVal1 = func() uintptr { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return uintptr(0) + } + return *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*4)) + }() + sessionAppendValue(tls, bp /* &sOut */, pVal1, bp+32 /* &rc */) + goto __22 +__22: + iCol++ + goto __21 + goto __23 +__23: + ; + + iCol = 0 +__24: + if !(iCol < (*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)) * 2)) { + goto __26 + } + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*4))) + goto __25 +__25: + iCol++ + goto __24 + goto __26 +__26: + ; + libc.Xmemset(tls, apVal, 0, ((uint32(unsafe.Sizeof(uintptr(0))) * uint32(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))) * uint32(2))) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK) { + goto __27 + } + goto finished_invert +__27: + ; + + goto __6 + +__11: + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 210284) + goto finished_invert +__6: + ; + + if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { + goto __28 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK) { + goto __29 + } + goto finished_invert +__29: + ; +__28: + ; + goto __2 +__3: + ; + + if !(pnInverted != 0) { + goto __30 + } + *(*int32)(unsafe.Pointer(pnInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf = uintptr(0) + goto __31 +__30: + if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { + goto __32 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) +__32: + ; +__31: + ; + +finished_invert: + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf) + Xsqlite3_free(tls, apVal) + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+20 /* &sPK */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Invert a changeset object. +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210316:16: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + // var sInput SessionInput at bp, 44 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint32(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FnData = nChangeset + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FaData = pChangeset + + return sessionChangesetInvert(tls, bp /* &sInput */, uintptr(0), uintptr(0), pnInverted, ppInverted) +} + +// Streaming version of sqlite3changeset_invert(). +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:210335:16: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + // var sInput SessionInput at bp, 44 + + var rc int32 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint32(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FxInput = xInput + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FpIn = pIn + + rc = sessionChangesetInvert(tls, bp /* &sInput */, xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3_free(tls, (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).Fbuf.FaBuf) + return rc +} + +type SessionUpdate1 = struct { + FpStmt uintptr + FaMask uintptr + FpNext uintptr +} /* sqlite3.c:210355:9 */ + +type SessionUpdate = SessionUpdate1 /* sqlite3.c:210355:30 */ + +type SessionApplyCtx1 = struct { + Fdb uintptr + FpDelete uintptr + FpInsert uintptr + FpSelect uintptr + FnCol int32 + FazCol uintptr + FabPK uintptr + FaUpdateMask uintptr + FpUp uintptr + FbStat1 int32 + FbDeferConstraints int32 + FbInvertConstraints int32 + Fconstraints SessionBuffer + Frebase SessionBuffer + FbRebaseStarted U8 + FbRebase U8 + _ [2]byte +} /* sqlite3.c:210362:9 */ + +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ + +// Number of prepared UPDATE statements to cache. + +// Find a prepared UPDATE statement suitable for the UPDATE step currently +// being visited by the iterator. The UPDATE is of the form: +// +// UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:210391:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + var pUp uintptr = uintptr(0) + var nCol int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + var nU32 int32 = (((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + 33) / 32) + var ii int32 + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = Xsqlite3_malloc(tls, (int32(uint32(nU32) * uint32(unsafe.Sizeof(U32(0)))))) + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_NOMEM + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0, (uint32(nU32) * uint32(unsafe.Sizeof(U32(0))))) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_CORRUPT + for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ { + if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(ii)))*4)) != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((ii/32))*4)) |= (U32(int32(1) << (ii % 32))) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + if bPatchset != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((nCol/32))*4)) |= (U32(int32(1) << (nCol % 32))) + } + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp != 0 { + var nUp int32 = 0 + var pp uintptr = (p + 32 /* &.pUp */) + for 1 != 0 { + nUp++ + if 0 == libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaMask, (uint32(nU32)*uint32(unsafe.Sizeof(U32(0))))) { + pUp = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + break + } + + if (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext != 0 { + pp = (*(*uintptr)(unsafe.Pointer(pp)) + 8 /* &.pNext */) + } else { + if nUp >= SESSION_UPDATE_CACHE_SZ { + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpStmt) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pp))) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + } + break + } + } + } + + if pUp == uintptr(0) { + var nByte int32 = (int32((uint32(unsafe.Sizeof(SessionUpdate{})) * uint32(nU32)) * uint32(unsafe.Sizeof(U32(0))))) + var bStat1 int32 = (libc.Bool32(Xsqlite3_stricmp(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, ts+10072 /* "sqlite_stat1" */) == 0)) + pUp = Xsqlite3_malloc(tls, nByte) + if pUp == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_NOMEM + } else { + var zSep uintptr = ts + 755 /* "" */ + // var buf SessionBuffer at bp, 12 + + libc.Xmemset(tls, bp /* &buf */, 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + (*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 /* &buf */, ts+31109 /* "UPDATE main." */, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31122 /* " SET " */, bp+12 /* &rc */) + + // Create the assignments part of the UPDATE + 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 /* &buf */, zSep, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31128 /* " = ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+12 /* &rc */) + zSep = ts + 13324 /* ", " */ + } + } + + // Create the WHERE clause part of the UPDATE + zSep = ts + 755 /* "" */ + sessionAppendStr(tls, bp /* &buf */, ts+31057 /* " WHERE " */, bp+12 /* &rc */) + 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 /* &buf */, zSep, bp+12 /* &rc */) + if (bStat1 != 0) && (ii == 1) { + + sessionAppendStr(tls, bp, /* &buf */ + + ts+31133 /* "idx IS CASE WHEN..." */, bp+12 /* &rc */) + } else { + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31065 /* " IS ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 2), bp+12 /* &rc */) + } + zSep = ts + 19877 /* " AND " */ + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + var zSql uintptr = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_prepare_v2(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, zSql, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (pUp /* &.pStmt */), uintptr(0)) + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, pUp) + pUp = uintptr(0) + } else { + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + } + } + } + + if pUp != 0 { + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt + } else { + *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) + } + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Free all cached UPDATE statements. +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:210530:13: */ + var pUp uintptr + var pNext uintptr + for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { + pNext = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt) + Xsqlite3_free(tls, pUp) + } + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = uintptr(0) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask) + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = uintptr(0) +} + +// Formulate a statement to DELETE a row from database db. Assuming a table +// structure like this: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The DELETE statement looks like this: +// +// DELETE FROM x WHERE a = :1 AND c = :3 AND (:5 OR b IS :2 AND d IS :4) +// +// Variable :5 (nCol+1) is a boolean. It should be set to 0 if we require +// matching b and d values, or 1 otherwise. The second case comes up if the +// conflict handler is invoked with NOTFOUND and returns CHANGESET_REPLACE. +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left +// pointing to the prepared version of the SQL statement. +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210560:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var i int32 + var zSep uintptr = ts + 755 /* "" */ + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var nPk int32 = 0 + + sessionAppendStr(tls, bp /* &buf */, ts+31208 /* "DELETE FROM main..." */, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31057 /* " WHERE " */, bp+12 /* &rc */) + + 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 /* &buf */, zSep, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31128 /* " = ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+12 /* &rc */) + zSep = ts + 19877 /* " AND " */ + } + } + + if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { + sessionAppendStr(tls, bp /* &buf */, ts+31226 /* " AND (?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((*SessionApplyCtx)(unsafe.Pointer(p)).FnCol + 1), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+30769 /* " OR " */, bp+12 /* &rc */) + + zSep = ts + 755 /* "" */ + 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 /* &buf */, zSep, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31065 /* " IS ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+12 /* &rc */) + zSep = ts + 31234 /* "AND " */ + } + } + sessionAppendStr(tls, bp /* &buf */, ts+4066 /* ")" */, bp+12 /* &rc */) + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 4 /* &.pDelete */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Formulate and prepare an SQL statement to query table zTab by primary +// key. Assuming the following table structure: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The SELECT statement looks like this: +// +// SELECT * FROM x WHERE a = ?1 AND c = ?3 +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left +// pointing to the prepared version of the SQL statement. +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210625:12: */ + return sessionSelectStmt(tls, + db, ts+5458 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 12 /* &.pSelect */)) +} + +// Formulate and prepare an INSERT statement to add a record to table zTab. +// For example: +// +// INSERT INTO main."zTab" VALUES(?1, ?2, ?3 ...); +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left +// pointing to the prepared version of the SQL statement. +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210643:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + var i int32 + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp /* &buf */, ts+31239 /* "INSERT INTO main..." */, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+19883 /* "(" */, bp+12 /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + if i != 0 { + sessionAppendStr(tls, bp /* &buf */, ts+13324 /* ", " */, bp+12 /* &rc */) + } + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12 /* &rc */) + } + + sessionAppendStr(tls, bp /* &buf */, ts+31257 /* ") VALUES(?" */, bp+12 /* &rc */) + for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + sessionAppendStr(tls, bp /* &buf */, ts+31268 /* ", ?" */, bp+12 /* &rc */) + } + sessionAppendStr(tls, bp /* &buf */, ts+4066 /* ")" */, bp+12 /* &rc */) + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 8 /* &.pInsert */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:210673:12: */ + return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) +} + +// Prepare statements for applying changes to the sqlite_stat1 table. +// These are similar to those created by sessionSelectRow(), +// sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for +// other tables. +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:210683:12: */ + var rc int32 = sessionSelectRow(tls, db, ts+10072 /* "sqlite_stat1" */, p) + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 8 /* &.pInsert */), + + ts+31272 /* "INSERT INTO main..." */) + } + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 4 /* &.pDelete */), + + ts+31385 /* "DELETE FROM main..." */) + } + return rc +} + +// A wrapper around sqlite3_bind_value() that detects an extra problem. +// See comments in the body of this function for details. +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:210706:12: */ + var eType int32 = Xsqlite3_value_type(tls, pVal) + // COVERAGE: The (pVal->z==0) branch is never true using current versions + // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either + // the (pVal->z) variable remains as it was or the type of the value is + // set to SQLITE_NULL. + if ((eType == SQLITE_TEXT) || (eType == SQLITE_BLOB)) && ((*Sqlite3_value)(unsafe.Pointer(pVal)).Fz == uintptr(0)) { + // This condition occurs when an earlier OOM in a call to + // sqlite3_value_text() or sqlite3_value_blob() (perhaps from within + // a conflict-handler) has zeroed the pVal->z pointer. Return NOMEM. + return SQLITE_NOMEM + } + return Xsqlite3_bind_value(tls, pStmt, i, pVal) +} + +// Iterator pIter must point to an SQLITE_INSERT entry. This function +// transfers new.* values from the current iterator entry to statement +// pStmt. The table being inserted into has nCol columns. +// +// New.* value $i from the iterator is bound to variable ($i+1) of +// statement pStmt. If parameter abPK is NULL, all values from 0 to (nCol-1) +// are transfered to the statement. Otherwise, if abPK is not NULL, it points +// to an array nCol elements in size. In this case only those values for +// which abPK[$i] is true are read from the iterator and bound to the +// statement. +// +// An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK. +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:210739:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var i int32 + var rc int32 = SQLITE_OK + + // Neither sqlite3changeset_old or sqlite3changeset_new can fail if the + // argument iterator points to a suitable entry. Make sure that xValue + // is one of these to guarantee that it is safe to ignore the return + // in the code below. + + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + // var pVal uintptr at bp, 4 + + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { + // The value in the changeset was "undefined". This indicates a + // corrupt changeset blob. + rc = Xsqlite3CorruptError(tls, 210762) + } else { + rc = sessionBindValue(tls, pStmt, (i + 1), *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + } + } + return rc +} + +// SQL statement pSelect is as generated by the sessionSelectRow() function. +// This function binds the primary key values from the change that changeset +// iterator pIter points to to the SELECT and attempts to seek to the table +// entry. If a row is found, the SELECT statement left pointing at the row +// and SQLITE_ROW is returned. Otherwise, if no row is found and no error +// has occured, the statement is reset and SQLITE_OK is returned. If an +// error occurs, the statement is reset and an SQLite error code is returned. +// +// If this function returns SQLITE_ROW, the caller must eventually reset() +// statement pSelect. If any other value is returned, the statement does +// not require a reset(). +// +// If the iterator currently points to an INSERT record, bind values from the +// new.* record to the SELECT statement. Or, if it points to a DELETE or +// UPDATE, bind values from the old.* record. +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:210788:12: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + var rc int32 // Return code + // var nCol int32 at bp+4, 4 + // Number of columns in table + // var op int32 at bp+8, 4 + // Changset operation (SQLITE_UPDATE etc.) + // var zDummy uintptr at bp, 4 + // Unused + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + rc = sessionBindRow(tls, pIter, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_INSERT { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})) + } + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})) + }(), + *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), abPK, pSelect) + + if rc == SQLITE_OK { + rc = Xsqlite3_step(tls, pSelect) + if rc != SQLITE_ROW { + rc = Xsqlite3_reset(tls, pSelect) + } + } + + return rc +} + +// This function is called from within sqlite3changeset_apply_v2() when +// a conflict is encountered and resolved using conflict resolution +// mode eType (either SQLITE_CHANGESET_OMIT or SQLITE_CHANGESET_REPLACE).. +// It adds a conflict resolution record to the buffer in +// SessionApplyCtx.rebase, which will eventually be returned to the caller +// of apply_v2() as the "rebase" buffer. +// +// Return SQLITE_OK if successful, or an SQLite error code otherwise. +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:210823:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebase != 0 { + var i int32 + var eOp int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + if int32((*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted) == 0 { + // Append a table-header to the rebase buffer + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + sessionAppendByte(tls, (p + 60 /* &.rebase */), uint8('T'), bp /* &rc */) + sessionAppendVarint(tls, (p + 60 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 60 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 60 /* &.rebase */), zTab, (int32(libc.Xstrlen(tls, zTab)) + 1), bp /* &rc */) + (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted = U8(1) + } + + sessionAppendByte(tls, (p + 60 /* &.rebase */), + func() uint8 { + if eOp == SQLITE_DELETE { + return uint8(SQLITE_DELETE) + } + return uint8(SQLITE_INSERT) + }(), bp /* &rc */) + sessionAppendByte(tls, (p + 60 /* &.rebase */), (uint8(libc.Bool32(eType == SQLITE_CHANGESET_REPLACE))), bp /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + *(*uintptr)(unsafe.Pointer(bp + 4 /* pVal */)) = uintptr(0) + if (eOp == SQLITE_DELETE) || ((eOp == SQLITE_UPDATE) && (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0)) { + Xsqlite3changeset_old(tls, pIter, i, bp+4 /* &pVal */) + } else { + Xsqlite3changeset_new(tls, pIter, i, bp+4 /* &pVal */) + } + sessionAppendValue(tls, (p + 60 /* &.rebase */), *(*uintptr)(unsafe.Pointer(bp + 4 /* pVal */)), bp /* &rc */) + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Invoke the conflict handler for the change that the changeset iterator +// currently points to. +// +// Argument eType must be either CHANGESET_DATA or CHANGESET_CONFLICT. +// If argument pbReplace is NULL, then the type of conflict handler invoked +// depends solely on eType, as follows: +// +// eType value Value passed to xConflict +// ------------------------------------------------- +// CHANGESET_DATA CHANGESET_NOTFOUND +// CHANGESET_CONFLICT CHANGESET_CONSTRAINT +// +// Or, if pbReplace is not NULL, then an attempt is made to find an existing +// record with the same primary key as the record about to be deleted, updated +// or inserted. If such a record can be found, it is available to the conflict +// handler as the "conflicting" record. In this case the type of conflict +// handler invoked is as follows: +// +// eType value PK Record found? Value passed to xConflict +// ---------------------------------------------------------------- +// CHANGESET_DATA Yes CHANGESET_DATA +// CHANGESET_DATA No CHANGESET_NOTFOUND +// CHANGESET_CONFLICT Yes CHANGESET_CONFLICT +// CHANGESET_CONFLICT No CHANGESET_CONSTRAINT +// +// If pbReplace is not NULL, and a record with a matching PK is found, and +// the conflict handler function returns SQLITE_CHANGESET_REPLACE, *pbReplace +// is set to non-zero before returning SQLITE_OK. +// +// If the conflict handler returns SQLITE_CHANGESET_ABORT, SQLITE_ABORT is +// returned. Or, if the conflict handler returns an invalid value, +// SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT, +// this function returns SQLITE_OK. +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:210897:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var res int32 = 0 // Value returned by conflict handler + // var rc int32 at bp+12, 4 + + // var nCol int32 at bp+4, 4 + + // var op int32 at bp+8, 4 + + // var zDummy uintptr at bp, 4 + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + + // Bind the new.* PRIMARY KEY values to the SELECT statement. + if pbReplace != 0 { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_ROW { + // There exists another row with the new.* primary key. + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + if ((*SessionApplyCtx)(unsafe.Pointer(p)).FbDeferConstraints != 0) && (eType == SQLITE_CHANGESET_CONFLICT) { + // Instead of invoking the conflict handler, append the change blob + // to the SessionApplyCtx.constraints buffer. + var aBlob uintptr = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent)) + var nBlob int32 = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent) + sessionAppendBlob(tls, (p + 48 /* &.constraints */), aBlob, nBlob, bp+12 /* &rc */) + return SQLITE_OK + } else { + // No other row with the new.* primary key. + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + if res == SQLITE_CHANGESET_REPLACE { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_MISUSE + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + switch res { + case SQLITE_CHANGESET_REPLACE: + + *(*int32)(unsafe.Pointer(pbReplace)) = 1 + break + fallthrough + + case SQLITE_CHANGESET_OMIT: + break + fallthrough + + case SQLITE_CHANGESET_ABORT: + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_ABORT + break + fallthrough + + default: + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_MISUSE + break + } + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = sessionRebaseAdd(tls, p, res, pIter) + } + } + + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// If argument pbRetry is NULL, then ignore any CHANGESET_DATA conflict. If +// one is encountered, update or delete the row with the matching primary key +// instead. Or, if pbRetry is not NULL and a CHANGESET_DATA conflict occurs, +// invoke the conflict handler. If it returns CHANGESET_REPLACE, set *pbRetry +// to true before returning. In this case the caller will invoke this function +// again, this time with pbRetry set to NULL. +// +// If argument pbReplace is NULL and a CHANGESET_CONFLICT conflict is +// encountered invoke the conflict handler with CHANGESET_CONSTRAINT instead. +// Or, if pbReplace is not NULL, invoke it with CHANGESET_CONFLICT. If such +// an invocation returns SQLITE_CHANGESET_REPLACE, set *pbReplace to true +// before retrying. In this case the caller attempts to remove the conflicting +// row before invoking this function again, this time with pbReplace set +// to NULL. +// +// If any conflict handler returns SQLITE_CHANGESET_ABORT, this function +// returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is +// returned. +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:210995:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + // var zDummy uintptr at bp, 4 + + // var op int32 at bp+8, 4 + + // var nCol int32 at bp+4, 4 + + var rc int32 = SQLITE_OK + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_DELETE { + + // Bind values to the DELETE statement. If conflict handling is required, + // bind values for all columns and set bound variable (nCol+1) to true. + // Or, if conflict handling is not required, bind just the PK column + // values and, if it exists, set (nCol+1) to false. Conflict handling + // is not required if: + // + // * this is a patchset, or + // * (pbRetry==0), or + // * all columns of the table are PK columns (in this case there is + // no (nCol+1) variable to bind to). + var abPK uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + } + return uintptr(0) + }() + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})), *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), abPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_bind_parameter_count(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) > *(*int32)(unsafe.Pointer(bp + 4 /* nCol */))) { + rc = Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete, (*(*int32)(unsafe.Pointer(bp + 4 /* nCol */)) + 1), (libc.Bool32((pbRetry == uintptr(0)) || (abPK != 0)))) + } + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_UPDATE { + var i int32 + *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */)) = uintptr(0) + var bPatchset int32 = (libc.Bool32((pbRetry == uintptr(0)) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0))) + + rc = sessionUpdateFind(tls, pIter, p, bPatchset, bp+12 /* &pUp */) + + // Bind values to the UPDATE statement. + for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */))); i++ { + var pOld uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(i)*4)) + var pNew uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(i)))*4)) + if (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) || ((bPatchset == 0) && (pOld != 0)) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */)), ((i * 2) + 2), pOld) + } + if (rc == SQLITE_OK) && (pNew != 0) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */)), ((i * 2) + 1), pNew) + } + } + if rc != SQLITE_OK { + return rc + } + + // Attempt the UPDATE. In the case of a NOTFOUND or DATA conflict, + // the result will be SQLITE_OK with 0 rows modified. + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */))) + + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + // A NOTFOUND or DATA error. Search the table to see if it contains + // a row with a matching primary key. If so, this is a DATA conflict. + // Otherwise, if there is no primary key match, it is a NOTFOUND. + + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + // This is always a CONSTRAINT conflict. + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else { + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbStat1 != 0 { + // Check if there is a conflicting row. For sqlite_stat1, this needs + // to be done using a SELECT, as there is no PRIMARY KEY in the + // database schema to throw an exception if a duplicate is inserted. + rc = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + if rc == SQLITE_ROW { + rc = SQLITE_CONSTRAINT + Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } + } + + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), uintptr(0), (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + } + + if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace) + } + } + + return rc +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// The difference between this function and sessionApplyOne() is that this +// function handles the case where the conflict-handler is invoked and +// returns SQLITE_CHANGESET_REPLACE - indicating that the change should be +// retried in some manner. +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211128:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) = 0 + var rc int32 + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp /* &bReplace */, bp+4 /* &bRetry */) + if rc == SQLITE_OK { + // If the bRetry flag is set, the change has not been applied due to an + // SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and + // a row with the correct PK is present in the db, but one or more other + // fields do not contain the expected values) and the conflict handler + // returned SQLITE_CHANGESET_REPLACE. In this case retry the operation, + // but pass NULL as the final argument so that sessionApplyOneOp() ignores + // the SQLITE_CHANGESET_DATA problem. + if *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) != 0 { + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } else if *(*int32)(unsafe.Pointer(bp /* bReplace */)) != 0 { + + rc = Xsqlite3_exec(tls, db, ts+31529 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(0)) + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, ((*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + 1), 1) + } + if rc == SQLITE_OK { + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + } + if rc == SQLITE_OK { + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+31550 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + } + + return rc +} + +// Retry the changes accumulated in the pApply->constraints buffer. +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211185:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = SQLITE_OK + + for (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf != 0 { + *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) = uintptr(0) + var cons = (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints + libc.Xmemset(tls, (pApply + 48 /* &.constraints */), 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetStart(tls, + bp /* &pIter2 */, uintptr(0), uintptr(0), cons.FnBuf, cons.FaBuf, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbInvertConstraints, 1) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte Size_t = ((uint32(2 * (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol)) * uint32(unsafe.Sizeof(uintptr(0)))) + var rc2 int32 + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FbPatchset = bPatchset + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FzTab = zTab + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FnCol = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FabPK = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK + sessionBufferGrow(tls, (*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) + 44 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).Ftblhdr.FaBuf + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0, nByte) + } + + for (*(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))) { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)), pApply, xConflict, pCtx) + } + + rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */))) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = rc2 + } + } + + Xsqlite3_free(tls, cons.FaBuf) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) != SQLITE_OK { + break + } + if (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf >= cons.FnBuf { + // No progress was made on the last round. + (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbDeferConstraints = 0 + } + } + + return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) +} + +// Argument pIter is a changeset iterator that has been initialized, but +// not yet passed to sqlite3changeset_next(). This function applies the +// changeset to the main database attached to handle "db". The supplied +// conflict handler callback is invoked to resolve any conflicts encountered +// while applying the change. +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ + bp := tls.Alloc(252) + defer tls.Free(252) + + var schemaMismatch int32 = 0 + var rc int32 = SQLITE_OK // Return code + *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) = uintptr(0) // Name of current table + var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) + // var sApply SessionApplyCtx at bp+48, 76 + // changeset_apply() context object + var bPatchset int32 + + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 + libc.Xmemset(tls, bp+48 /* &sApply */, 0, uint32(unsafe.Sizeof(SessionApplyCtx{}))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).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+31569 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+31595 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + } + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { + // var nCol int32 at bp+128, 4 + + // var op int32 at bp+132, 4 + + // var zNew uintptr at bp+124, 4 + + Xsqlite3changeset_op(tls, pIter, bp+124 /* &zNew */, bp+128 /* &nCol */, bp+132 /* &op */, uintptr(0)) + + if (*(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+136, 4 + + rc = sessionRetryConstraints(tls, + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + if rc != SQLITE_OK { + break + } + + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebaseStarted = U8(0) + libc.Xmemset(tls, (bp + 48 /* &sApply */ + 48 /* &.constraints */), 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + + // If an xFilter() callback was specified, invoke it now. If the + // xFilter callback returns zero, skip this table. If it returns + // non-zero, proceed. + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)))))) + if schemaMismatch != 0 { + *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) == uintptr(0) { + rc = SQLITE_NOMEM + break + } + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) + } else { + var nMinCol int32 = 0 + var i int32 + + Xsqlite3changeset_pk(tls, pIter, bp+136 /* &abPK */, uintptr(0)) + rc = sessionTableInfo(tls, uintptr(0), + db, ts+5458 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)), (bp + 48 /* &sApply */ + 16 /* &.nCol */), bp+140 /* &zTab */, (bp + 48 /* &sApply */ + 20 /* &.azCol */), (bp + 48 /* &sApply */ + 24 /* &.abPK */)) + if rc != SQLITE_OK { + break + } + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK + uintptr(i))) != 0 { + nMinCol = (i + 1) + } + } + + if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+31625 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 128 /* nCol */)) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + + ts+31669, /* "sqlite3changeset..." */ + libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 128 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 128 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 136 /* abPK */)), uint32(*(*int32)(unsafe.Pointer(bp + 128 /* nCol */)))) != 0) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+31740 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)))) + } else { + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 128 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), ts+10072 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+48 /* &sApply */)) != 0 { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 1 + } else { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */)) != 0) { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + } + } + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */))) + } + } + + // If there is a schema mismatch on the current table, proceed to the + // next change. A log message has already been issued. + if schemaMismatch != 0 { + continue + } + + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+48 /* &sApply */, xConflict, pCtx) + } + + bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + if rc == SQLITE_OK { + rc = Xsqlite3changeset_finalize(tls, pIter) + } else { + Xsqlite3changeset_finalize(tls, pIter) + } + + if rc == SQLITE_OK { + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + } + + if rc == SQLITE_OK { + // var nFk int32 at bp+144, 4 + + // var notUsed int32 at bp+148, 4 + + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+144 /* &nFk */, bp+148 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 144 /* nFk */)) != 0 { + var res int32 = SQLITE_CHANGESET_ABORT + // var sIter Sqlite3_changeset_iter at bp+152, 100 + + libc.Xmemset(tls, bp+152 /* &sIter */, 0, uint32(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 152 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 144 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+152 /* &sIter */) + if res != SQLITE_CHANGESET_OMIT { + rc = SQLITE_CONSTRAINT + } + } + } + Xsqlite3_exec(tls, db, ts+31800 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + + if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+31830 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } else { + Xsqlite3_exec(tls, db, ts+31854 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, ts+31830 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf = uintptr(0) + } + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Frebase.FaBuf) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main +// database attached to handle "db". +func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211439:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator to skip through changeset + var bInv int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211472:16: */ + return Xsqlite3changeset_apply_v2(tls, + db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// Apply the changeset passed via xInput/pIn to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211497:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator to skip through changeset + var bInverse int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, xInput, pIn, 0, uintptr(0), bInverse, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211524:16: */ + return Xsqlite3changeset_apply_v2_strm(tls, + db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// This function is called to merge two changes to the same row together as +// part of an sqlite3changeset_concat() operation. A new change object is +// allocated and a pointer to it stored in *ppNew. +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:211558:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var pNew uintptr = uintptr(0) + var rc int32 = SQLITE_OK + + if !(pExist != 0) { + pNew = Xsqlite3_malloc64(tls, (uint64(uint32(unsafe.Sizeof(SessionChange{})) + uint32(nRec)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = U8(bIndirect) + (*SessionChange)(unsafe.Pointer(pNew)).FaRecord = (pNew + 1*20) + if (bIndirect == 0) || (bRebase == 0) { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = nRec + libc.Xmemcpy(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, aRec, uint32(nRec)) + } else { + var i int32 + var pIn uintptr = aRec + var pOut uintptr = (*SessionChange)(unsafe.Pointer(pNew)).FaRecord + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var nIn int32 = sessionSerialLen(tls, pIn) + if int32(*(*U8)(unsafe.Pointer(pIn))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } else if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else { + libc.Xmemcpy(tls, pOut, pIn, uint32(nIn)) + pOut += uintptr(nIn) + } + pIn += uintptr(nIn) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = ((int32(pOut) - int32((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1) + } + } else if bRebase != 0 { + if (int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) == SQLITE_DELETE) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0) { + *(*uintptr)(unsafe.Pointer(ppNew)) = pExist + } else { + var nByte Sqlite3_int64 = (Sqlite3_int64((uint32(nRec + (*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint32(unsafe.Sizeof(SessionChange{})))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var i int32 + var a1 uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var a2 uintptr = aRec + var pOut uintptr + + libc.Xmemset(tls, pNew, 0, uint32(nByte)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) || ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + pOut = libc.AssignPtrUintptr(pNew+12 /* &.aRecord */, (pNew + 1*20)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) || ((int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0) && (bIndirect != 0)) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else if int32(*(*U8)(unsafe.Pointer(a2))) == 0 { + libc.Xmemcpy(tls, pOut, a1, uint32(n1)) + pOut += uintptr(n1) + } else { + libc.Xmemcpy(tls, pOut, a2, uint32(n2)) + pOut += uintptr(n2) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = ((int32(pOut) - int32((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1) + } + Xsqlite3_free(tls, pExist) + } + } else { + var op1 int32 = int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) + + // op1=INSERT, op2=INSERT -> Unsupported. Discard op2. + // op1=INSERT, op2=UPDATE -> INSERT. + // op1=INSERT, op2=DELETE -> (none) + // + // op1=UPDATE, op2=INSERT -> Unsupported. Discard op2. + // op1=UPDATE, op2=UPDATE -> UPDATE. + // op1=UPDATE, op2=DELETE -> DELETE. + // + // op1=DELETE, op2=INSERT -> UPDATE. + // op1=DELETE, op2=UPDATE -> Unsupported. Discard op2. + // op1=DELETE, op2=DELETE -> Unsupported. Discard op2. + if ((((op1 == SQLITE_INSERT) && (op2 == SQLITE_INSERT)) || + ((op1 == SQLITE_UPDATE) && (op2 == SQLITE_INSERT))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_UPDATE))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_DELETE)) { + pNew = pExist + } else if (op1 == SQLITE_INSERT) && (op2 == SQLITE_DELETE) { + Xsqlite3_free(tls, pExist) + + } else { + var aExist uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var nByte Sqlite3_int64 + // var aCsr uintptr at bp+4, 4 + + // Allocate a new SessionChange object. Ensure that the aRecord[] + // buffer of the new object is large enough to hold any record that + // may be generated by combining the input records. + nByte = (Sqlite3_int64((uint32(unsafe.Sizeof(SessionChange{})) + uint32((*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint32(nRec))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if !(pNew != 0) { + Xsqlite3_free(tls, pExist) + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)) = libc.AssignPtrUintptr(pNew+12 /* &.aRecord */, (pNew + 1*20)) + + if op1 == SQLITE_INSERT { // INSERT + UPDATE + *(*uintptr)(unsafe.Pointer(bp /* a1 */)) = aRec + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_INSERT) + if bPatchset == 0 { + sessionSkipRecord(tls, bp /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + sessionMergeRecord(tls, bp+4 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aExist, *(*uintptr)(unsafe.Pointer(bp /* a1 */))) + } else if op1 == SQLITE_DELETE { // DELETE + INSERT + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)), aRec, uint32(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)) += uintptr(nRec) + } else { + if 0 == sessionMergeUpdate(tls, bp+4 /* &aCsr */, pTab, bPatchset, aExist, uintptr(0), aRec, uintptr(0)) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } + } else if op2 == SQLITE_UPDATE { // UPDATE + UPDATE + *(*uintptr)(unsafe.Pointer(bp + 8 /* a1 */)) = aExist + *(*uintptr)(unsafe.Pointer(bp + 12 /* a2 */)) = aRec + + if bPatchset == 0 { + sessionSkipRecord(tls, bp+8 /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + sessionSkipRecord(tls, bp+12 /* &a2 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if 0 == sessionMergeUpdate(tls, bp+4 /* &aCsr */, pTab, bPatchset, aRec, aExist, *(*uintptr)(unsafe.Pointer(bp + 8 /* a1 */)), *(*uintptr)(unsafe.Pointer(bp + 12 /* a2 */))) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } else { // UPDATE + DELETE + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_DELETE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)), aRec, uint32(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)) += uintptr(nRec) + } else { + sessionMergeRecord(tls, bp+4 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aRec, aExist) + } + } + + if pNew != 0 { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = ((int32(*(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */))) - int32((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1) + } + Xsqlite3_free(tls, pExist) + } + } + + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Add all changes in the changeset traversed by the iterator passed as +// the first argument to the changegroup hash tables. +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:211740:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aRec uintptr at bp, 4 + + // var nRec int32 at bp+4, 4 + + var rc int32 = SQLITE_OK + var pTab uintptr = uintptr(0) + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+4 /* &nRec */, uintptr(0)) { + // var zNew uintptr at bp+8, 4 + + // var nCol int32 at bp+12, 4 + + // var op int32 at bp+16, 4 + + var iHash int32 + // var bIndirect int32 at bp+20, 4 + + // var pChange uintptr at bp+28, 4 + + var pExist uintptr = uintptr(0) + var pp uintptr + + if (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = SQLITE_ERROR + break + } + + Xsqlite3changeset_op(tls, pIter, bp+8 /* &zNew */, bp+12 /* &nCol */, bp+16 /* &op */, bp+20 /* &bIndirect */) + if !(pTab != 0) || (Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)), (*SessionTable)(unsafe.Pointer(pTab)).FzName) != 0) { + // Search the list for a matching table + var nNew int32 = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)))) + // var abPK uintptr at bp+24, 4 + + Xsqlite3changeset_pk(tls, pIter, bp+24 /* &abPK */, uintptr(0)) + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)), (nNew+1)) { + break + } + } + if !(pTab != 0) { + var ppTab uintptr + + pTab = Xsqlite3_malloc64(tls, (uint64(((uint32(unsafe.Sizeof(SessionTable{})) + uint32(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) + uint32(nNew)) + uint32(1)))) + if !(pTab != 0) { + rc = SQLITE_NOMEM + break + } + libc.Xmemset(tls, pTab, 0, uint32(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 12 /* nCol */)) + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = (pTab + 1*36) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 24 /* abPK */)), uint32(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = ((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)), (uint32(nNew + 1))) + + // The new object must be linked on to the end of the list, not + // simply added to the start of it. This is to ensure that the + // tables within the output of sqlite3changegroup_output() are in + // the right order. + for ppTab = (pGrp + 8 /* &.pList */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } else if ((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp + 12 /* nCol */))) || (libc.Xmemcmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 24 /* abPK */)), uint32(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) != 0) { + rc = SQLITE_SCHEMA + break + } + } + + if sessionGrowHash(tls, uintptr(0), (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { + rc = SQLITE_NOMEM + break + } + iHash = int32(sessionChangeHash(tls, + pTab, (libc.Bool32(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0) && (*(*int32)(unsafe.Pointer(bp + 16 /* op */)) == SQLITE_DELETE))), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + // Search for existing entry. If found, remove it from the hash table. + // Code below may link it back in. + for pp = ((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = (*(*uintptr)(unsafe.Pointer(pp)) + 16 /* &.pNext */) { + var bPkOnly1 int32 = 0 + var bPkOnly2 int32 = 0 + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + bPkOnly1 = (libc.Bool32(int32((*SessionChange)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pp))))).Fop) == SQLITE_DELETE)) + bPkOnly2 = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 16 /* op */)) == SQLITE_DELETE)) + } + if sessionChangeEqual(tls, pTab, bPkOnly1, (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp /* aRec */))) != 0 { + pExist = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry-- + break + } + } + + rc = sessionChangeMerge(tls, pTab, bRebase, + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 16 /* op */)), *(*int32)(unsafe.Pointer(bp + 20 /* bIndirect */)), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+28 /* &pChange */) + if rc != 0 { + break + } + if *(*uintptr)(unsafe.Pointer(bp + 28 /* pChange */)) != 0 { + (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 28 /* pChange */)))).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)) = *(*uintptr)(unsafe.Pointer(bp + 28 /* pChange */)) + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + } + } + + if rc == SQLITE_OK { + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// Serialize a changeset (or patchset) based on all changesets (or patchsets) +// added to the changegroup object passed as the first argument. +// +// If xOutput is not NULL, then the changeset/patchset is returned to the +// user via one or more calls to xOutput, as with the other streaming +// interfaces. +// +// Or, if xOutput is NULL, then (*ppOut) is populated with a pointer to a +// buffer containing the output changeset before this function returns. In +// this case (*pnOut) is set to the size of the output buffer in bytes. It +// is the responsibility of the caller to free the output buffer using +// sqlite3_free() when it is no longer required. +// +// If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite +// error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut) +// are both set to 0 before returning. +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211863:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var pTab uintptr + + // Create the serialized output changeset based on the contents of the + // hash tables attached to the SessionTable objects in list p->pList. + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; (*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + var i int32 + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry == 0 { + continue + } + + sessionAppendTableHdr(tls, bp /* &buf */, (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch, pTab, bp+12 /* &rc */) + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); p != 0; p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).Fop, bp+12 /* &rc */) + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+12 /* &rc */) + sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+12 /* &rc */) + if ((*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 + } + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Allocate a new, empty, sqlite3_changegroup. +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:211914:16: */ + var rc int32 = SQLITE_OK // Return code + var p uintptr // New object + p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) + if p == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Sqlite3_changegroup{}))) + } + *(*uintptr)(unsafe.Pointer(pp)) = p + return rc +} + +// Add the changeset currently stored in buffer pData, size nData bytes, +// to changeset-group p. +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:211931:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nData, pData) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Obtain a buffer containing a changeset representing the concatenation +// of all changesets added to the group so far. +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:211947:16: */ + return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) +} + +// Streaming versions of changegroup_add(). +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:211958:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Streaming versions of changegroup_output(). +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:211977:16: */ + return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Delete a changegroup object. +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:211988:17: */ + if pGrp != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, pGrp) + } +} + +// Combine two changesets together. +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211998:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pGrp uintptr at bp, 4 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nLeft, pLeft) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nRight, pRight) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), pnOut, ppOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Streaming version of sqlite3changeset_concat(). +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212027:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pGrp uintptr at bp, 4 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputA, pInA) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputB, pInB) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xOutput, pOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Buffers a1 and a2 must both contain a sessions module record nCol +// fields in size. This function appends an nCol sessions module +// record to buffer pBuf that is a copy of a1, except that for +// each field that is undefined in a1[], swap in the field from a2[]. +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:212066:13: */ + sessionBufferGrow(tls, pBuf, (int64(n1 + n2)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var i int32 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + for i = 0; i < nCol; i++ { + var nn1 int32 = sessionSerialLen(tls, a1) + var nn2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0) || (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) { + libc.Xmemcpy(tls, pOut, a2, uint32(nn2)) + pOut += uintptr(nn2) + } else { + libc.Xmemcpy(tls, pOut, a1, uint32(nn1)) + pOut += uintptr(nn1) + } + a1 += uintptr(nn1) + a2 += uintptr(nn2) + } + + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = ((int32(pOut) - int32((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1) + + } +} + +// This function is called when rebasing a local UPDATE change against one +// or more remote UPDATE changes. The aRec/nRec buffer contains the current +// old.* and new.* records for the change. The rebase buffer (a single +// record) is in aChange/nChange. The rebased change is appended to buffer +// pBuf. +// +// Rebasing the UPDATE involves: +// +// * Removing any changes to fields for which the corresponding field +// in the rebase buffer is set to "replaced" (type 0xFF). If this +// means the UPDATE change updates no fields, nothing is appended +// to the output buffer. +// +// * For each field modified by the local change for which the +// corresponding field in the rebase buffer is not "undefined" (0x00) +// or "replaced" (0xFF), the old.* value is replaced by the value +// in the rebase buffer. +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:212115:13: */ + sessionBufferGrow(tls, pBuf, (int64((2 + nRec) + nChange)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var bData int32 = 0 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + var i int32 + var a1 uintptr = aRec + var a2 uintptr = aChange + + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(SQLITE_UPDATE) + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect) + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) == 0) { + if !(int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i)))) != 0) && (*(*U8)(unsafe.Pointer(a1)) != 0) { + bData = 1 + } + libc.Xmemcpy(tls, pOut, a1, uint32(n1)) + pOut += uintptr(n1) + } else if int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF { + bData = 1 + libc.Xmemcpy(tls, pOut, a2, uint32(n2)) + pOut += uintptr(n2) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + if bData != 0 { + a2 = aChange + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF) { + libc.Xmemcpy(tls, pOut, a1, uint32(n1)) + pOut += uintptr(n1) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = ((int32(pOut) - int32((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1) + } + } +} + +// pIter is configured to iterate through a changeset. This function rebases +// that changeset according to the current configuration of the rebaser +// object passed as the first argument. If no error occurs and argument xOutput +// is not NULL, then the changeset is returned to the caller by invoking +// xOutput zero or more times and SQLITE_OK returned. Or, if xOutput is NULL, +// then (*ppOut) is set to point to a buffer containing the rebased changeset +// before this function returns. In this case (*pnOut) is set to the size of +// the buffer in bytes. It is the responsibility of the caller to eventually +// free the (*ppOut) buffer using sqlite3_free(). +// +// If an error occurs, an SQLite error code is returned. If ppOut and +// pnOut are not NULL, then the two output parameters are set to 0 before +// returning. +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212183:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp /* aRec */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)) = 0 + *(*int32)(unsafe.Pointer(bp + 8 /* bNew */)) = 0 + var pTab uintptr = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 12 /* sOut */)) = SessionBuffer{} + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+4 /* &nRec */, bp+8 /* &bNew */) { + var pChange uintptr = uintptr(0) + var bDone int32 = 0 + + if *(*int32)(unsafe.Pointer(bp + 8 /* bNew */)) != 0 { + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + for pTab = (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_stricmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zTab) { + break + } + } + *(*int32)(unsafe.Pointer(bp + 8 /* bNew */)) = 0 + + // A patchset may not be rebased + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_ERROR + } + + // Append a table header to the output for this new table + sessionAppendByte(tls, bp+12 /* &sOut */, func() uint8 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), bp+24 /* &rc */) + sessionAppendVarint(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, (int32(libc.Xstrlen(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab)) + 1), bp+24 /* &rc */) + } + + if (pTab != 0) && (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) { + var iHash int32 = int32(sessionChangeHash(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + for pChange = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)); pChange != 0; pChange = (*SessionChange)(unsafe.Pointer(pChange)).FpNext { + if sessionChangeEqual(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), 0, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord) != 0 { + break + } + } + } + + if pChange != 0 { + + switch (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop { + case SQLITE_INSERT: + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + sessionAppendByte(tls, bp+12 /* &sOut */, uint8(SQLITE_UPDATE), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */) + } + } + break + fallthrough + + case SQLITE_UPDATE: + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_DELETE { + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + *(*uintptr)(unsafe.Pointer(bp + 28 /* pCsr */)) = *(*uintptr)(unsafe.Pointer(bp /* aRec */)) + sessionSkipRecord(tls, bp+28 /* &pCsr */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8(SQLITE_INSERT), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendRecordMerge(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + *(*uintptr)(unsafe.Pointer(bp + 28 /* pCsr */)), (*(*int32)(unsafe.Pointer(bp + 4 /* nRec */)) - ((int32(*(*uintptr)(unsafe.Pointer(bp + 28 /* pCsr */))) - int32(*(*uintptr)(unsafe.Pointer(bp /* aRec */)))) / 1)), + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+24 /* &rc */) + } + } else { + sessionAppendPartialUpdate(tls, bp+12 /* &sOut */, pIter, + *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+24 /* &rc */) + } + break + fallthrough + + default: + + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + sessionAppendByte(tls, bp+12 /* &sOut */, uint8(SQLITE_DELETE), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendRecordMerge(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */) + } + break + } + } + + if bDone == 0 { + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */) + } + if ((*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FnBuf = 0 + } + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0 { + break + } + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf) + libc.Xmemset(tls, bp+12 /* &sOut */, 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Create a new rebaser object. +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:212315:16: */ + var rc int32 = SQLITE_OK + var pNew uintptr + + pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_rebaser{}))) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(Sqlite3_rebaser{}))) + } + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Call this one or more times to configure a rebaser. +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:212332:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator opened on pData/nData + var rc int32 // Return code + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nRebase, pRebase) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), (p /* &.grp */), 1) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212349:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start(tls, bp /* &pIter */, nIn, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), uintptr(0), uintptr(0), pnOut, ppOut) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212368:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Destroy a rebaser object +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:212389:17: */ + if p != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, p) + } +} + +// Global configuration +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:212399:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_CONFIG_STRMSIZE: + { + var pInt uintptr = pArg + if *(*int32)(unsafe.Pointer(pInt)) > 0 { + sessions_strm_chunk_size = *(*int32)(unsafe.Pointer(pInt)) + } + *(*int32)(unsafe.Pointer(pInt)) = sessions_strm_chunk_size + break + + } + default: + rc = SQLITE_MISUSE + break + } + return rc +} + //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -164375,71 +170542,6 @@ type Fts5Global1 = struct { FpCsr uintptr } /* sqlite3.c:213118:9 */ -//************************************************************************ - -//************* End of sqlite3rbu.c ***************************************** -//************* Begin file dbstat.c ***************************************** -// 2010 July 12 -// -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: -// -// May you do good and not evil. -// May you find forgiveness for yourself and forgive others. -// May you share freely, never taking more than you give. -// -// -// -// This file contains an implementation of the "dbstat" virtual table. -// -// The dbstat virtual table is used to extract low-level storage -// information from an SQLite database in order to implement the -// "sqlite3_analyzer" utility. See the ../tool/spaceanal.tcl script -// for an example implementation. -// -// Additional information is available on the "dbstat.html" page of the -// official SQLite documentation. - -// #include "sqliteInt.h" ** Requires access to internal data structures ** - -//************* End of dbstat.c ********************************************* -//************* Begin file dbpage.c ***************************************** -// 2017-10-11 -// -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: -// -// May you do good and not evil. -// May you find forgiveness for yourself and forgive others. -// May you share freely, never taking more than you give. -// -// -// -// This file contains an implementation of the "sqlite_dbpage" virtual table. -// -// The sqlite_dbpage virtual table is used to read or write whole raw -// pages of the database file. The pager interface is used so that -// uncommitted changes and changes recorded in the WAL file are correctly -// retrieved. -// -// Usage example: -// -// SELECT data FROM sqlite_dbpage('aux1') WHERE pgno=123; -// -// This is an eponymous virtual table so it does not need to be created before -// use. The optional argument to the sqlite_dbpage() table name is the -// schema for the database file that is to be read. The default schema is -// "main". -// -// The data field of sqlite_dbpage table can be updated. The new -// value must be a BLOB which is the correct page size, otherwise the -// update fails. Rows may not be deleted or inserted. - -// #include "sqliteInt.h" ** Requires access to internal data structures ** - -//************* End of dbpage.c ********************************************* -//************* Begin file sqlite3session.c ********************************* - //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -165257,7 +171359,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+30529 /* "fts5: parser sta..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+31882 /* "fts5: parser sta..." */, 0) //******* End %stack_overflow code ******************************************* (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument var @@ -165580,7 +171682,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+30557 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) + pParse, ts+31910 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) //*********** End %syntax_error code ***************************************** (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument variable @@ -165879,7 +171981,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+30588 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+31941 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } @@ -165953,7 +172055,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 30595 /* "wrong number of ..." */ + var zErr uintptr = ts + 31948 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -166119,7 +172221,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 740 /* "" */ + return ts + 755 /* "" */ } // Implementation of snippet() function. @@ -166146,7 +172248,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 30645 /* "wrong number of ..." */ + var zErr uintptr = ts + 31998 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -166488,13 +172590,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 defer tls.Free(48) *(*[3]Builtin)(unsafe.Pointer(bp /* aBuiltin */)) = [3]Builtin{ - {FzFunc: ts + 30693 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32046 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5SnippetFunction}))}, - {FzFunc: ts + 30701 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32054 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5HighlightFunction}))}, - {FzFunc: ts + 30711 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32064 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5Bm25Function}))}, } @@ -166988,7 +173090,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+5243 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+5258 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -167166,7 +173268,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, ts+30716 /* "prefix" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32069 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint32(unsafe.Sizeof(int32(0))) * uint32(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 @@ -167193,14 +173295,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+30723 /* "malformed prefix..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32076 /* "malformed prefix..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+30754 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) + ts+32107 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -167211,7 +173313,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30787 /* "prefix length ou..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32140 /* "prefix length ou..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -167224,7 +173326,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30824 /* "tokenize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32177 /* "tokenize" */, 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 /* &rc */, (Sqlite3_int64(unsafe.Sizeof(uintptr(0))) * nArg)) @@ -167233,7 +173335,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+30833 /* "multiple tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32186 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { @@ -167252,7 +173354,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30866 /* "parse error in t..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32219 /* "parse error in t..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, @@ -167267,14 +173369,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30900 /* "content" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32253 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30908 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32261 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = 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 /* &rc */, ts+30940 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40 /* &rc */, ts+32293 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } @@ -167282,9 +173384,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30946 /* "content_rowid" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32299 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30960 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32313 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, zArg, -1) @@ -167292,9 +173394,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30998 /* "columnsize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32351 /* "columnsize" */, 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+31009 /* "malformed column..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32362 /* "malformed column..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) @@ -167302,21 +173404,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+4174 /* "detail" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+4189 /* "detail" */, zCmd, nCmd) == 0 { *(*[4]Fts5Enum)(unsafe.Pointer(bp + 44 /* aDetail */)) = [4]Fts5Enum{ - {FzName: ts + 15813 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 15818 /* "full" */}, - {FzName: ts + 31044 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, + {FzName: ts + 15828 /* "none" */, FeVal: FTS5_DETAIL_NONE}, + {FzName: ts + 15833 /* "full" */}, + {FzName: ts + 32397 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } if libc.AssignPtrInt32(bp+40 /* rc */, fts5ConfigSetEnum(tls, bp+44 /* &aDetail[0] */, zArg, (pConfig+48 /* &.eDetail */))) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31052 /* "malformed detail..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32405 /* "malformed detail..." */, 0) } return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31083 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32436 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) return SQLITE_ERROR } @@ -167380,15 +173482,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+20482 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+14742 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31111 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) + if (0 == Xsqlite3_stricmp(tls, zCol, ts+20497 /* "rank" */)) || + (0 == Xsqlite3_stricmp(tls, zCol, ts+14757 /* "rowid" */)) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32464 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) rc = SQLITE_ERROR } else if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, ts+31141 /* "unindexed" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+32494 /* "unindexed" */) { *(*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+31151 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32504 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) rc = SQLITE_ERROR } } @@ -167406,13 +173508,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK *(*Fts5Buffer)(unsafe.Pointer(bp + 28 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+31182 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+32535 /* "T.%Q" */, 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 /* &rc */, bp+28 /* &buf */, ts+31187 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+32540 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+31194 /* ", T.c%d" */, libc.VaList(bp+16, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+32547 /* ", T.c%d" */, libc.VaList(bp+16, i)) } } } @@ -167460,8 +173562,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*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 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+20482 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31202 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+20497 /* "rank" */) == 0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32555 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } @@ -167494,7 +173596,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31231 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32584 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { @@ -167502,7 +173604,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*uintptr)(unsafe.Pointer(bp + 52 /* zTwo */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp + 52 /* zTwo */)) } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), pzErr) } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 44 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 52 /* zTwo */)), pzErr) @@ -167527,19 +173629,19 @@ 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 + 30900 /* "content" */ + zTail = ts + 32253 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 31251 /* "docsize" */ + zTail = ts + 32604 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+40 /* &rc */, ts+31259 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+40 /* &rc */, ts+32612 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+14742 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+14757 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -167588,18 +173690,18 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31270 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+32623 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 13309 /* ", " */ + return ts + 13324 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31286 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4)))) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+32639 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31293, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+20482 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+32646, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+20497 /* "rank" */)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -167739,7 +173841,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+31319 /* "pgsz" */) { + if 0 == Xsqlite3_stricmp(tls, zKey, ts+32672 /* "pgsz" */) { var pgsz int32 = 0 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -167749,7 +173851,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+31324 /* "hashsize" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32677 /* "hashsize" */) { var nHashSize int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -167759,7 +173861,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+31333 /* "automerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32686 /* "automerge" */) { var nAutomerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -167772,7 +173874,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+31343 /* "usermerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32696 /* "usermerge" */) { var nUsermerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -167782,7 +173884,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+31353 /* "crisismerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32706 /* "crisismerge" */) { var nCrisisMerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -167798,7 +173900,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+20482 /* "rank" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+20497 /* "rank" */) { var zIn uintptr = Xsqlite3_value_text(tls, pVal) // var zRank uintptr at bp, 4 @@ -167825,7 +173927,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(44) defer tls.Free(44) - var zSelect uintptr = ts + 31365 /* "SELECT k, v FROM..." */ + var zSelect uintptr = ts + 32718 /* "SELECT k, v FROM..." */ var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 36 /* p */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK @@ -167848,7 +173950,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 36 /* p */))) { var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 36 /* p */)), 0) var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 36 /* p */)), 1) - if 0 == Xsqlite3_stricmp(tls, zK, ts+31397 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+32750 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 40 /* bDummy */)) = 0 @@ -167863,7 +173965,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+31405, /* "invalid fts5 fil..." */ + ts+32758, /* "invalid fts5 fil..." */ libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } @@ -167997,7 +174099,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+31470 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+32823 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -168010,20 +174112,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+31490 /* "fts5: syntax err..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+32843 /* "fts5: syntax err..." */, 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+31521 /* "OR" */, uint32(2)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+32874 /* "OR" */, uint32(2)) == 0) { tok = FTS5_OR } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+31524 /* "NOT" */, uint32(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+32877 /* "NOT" */, uint32(3)) == 0) { tok = FTS5_NOT } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+28270 /* "AND" */, uint32(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+28285 /* "AND" */, uint32(3)) == 0) { tok = FTS5_AND } break @@ -169997,9 +176099,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli bp := tls.Alloc(16) defer tls.Free(16) - if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+31528 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0) { + if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+32881 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0) { sqlite3Fts5ParseError(tls, - pParse, ts+30557 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) + pParse, ts+31910 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -170015,7 +176117,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+31533 /* "expected integer..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp)) + pParse, ts+32886 /* "expected integer..." */, 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')) @@ -170112,7 +176214,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+18865 /* "no such column: ..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+18880 /* "no such column: ..." */, libc.VaList(bp, z)) } else { pRet = fts5ParseColset(tls, pParse, pColset, iCol) } @@ -170208,7 +176310,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE { (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+31562 /* "fts5: column que..." */, 0) + ts+32915 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -170392,12 +176494,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+31615, /* "fts5: %s queries..." */ + ts+32968, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 31665 /* "phrase" */ + return ts + 33018 /* "phrase" */ } - return ts + 31528 /* "NEAR" */ + return ts + 32881 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -171876,7 +177978,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 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+31672 /* "block" */, iRowid, 0, (p + 40 /* &.pReader */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+33025 /* "block" */, iRowid, 0, (p + 40 /* &.pReader */)) } // If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls @@ -171964,7 +178066,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 /* &.pWriter */), Xsqlite3_mprintf(tls, - ts+31678, /* "REPLACE INTO '%q..." */ + ts+33031, /* "REPLACE INTO '%q..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return @@ -171992,7 +178094,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig var zSql uintptr = Xsqlite3_mprintf(tls, - ts+31729, /* "DELETE FROM '%q'..." */ + ts+33082, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if fts5IndexPrepareStmt(tls, p, (p+48 /* &.pDeleter */), zSql) != 0 { return @@ -172016,7 +178118,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 56 /* &.pIdxDeleter */), Xsqlite3_mprintf(tls, - ts+31778, /* "DELETE FROM '%q'..." */ + ts+33131, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -172224,7 +178326,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12 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 /* &.pDataVersion */), - Xsqlite3_mprintf(tls, ts+31818 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + Xsqlite3_mprintf(tls, ts+33171 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return int64(0) } @@ -173659,7 +179761,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:2 var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 60 /* &.pIdxSelect */), Xsqlite3_mprintf(tls, - ts+31841, /* "SELECT pgno FROM..." */ + ts+33194, /* "SELECT pgno FROM..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect @@ -174915,7 +181017,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { return (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -175256,7 +181358,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 /* &.pIdxWriter */), Xsqlite3_mprintf(tls, - ts+31925, /* "INSERT INTO '%q'..." */ + ts+33278, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -176474,7 +182576,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 fts5StructureInvalidate(tls, p) fts5IndexDiscardData(tls, p) libc.Xmemset(tls, bp /* &s */, 0, uint32(unsafe.Sizeof(Fts5Structure{}))) - fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+740 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+755 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -176495,13 +182597,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == 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 /* &rc */, ts+31982 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8 /* &rc */, ts+33335 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, - pConfig, ts+23301 /* "data" */, ts+31990 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+23316 /* "data" */, ts+33343 /* "id INTEGER PRIMA..." */, 0, pzErr) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+10197, /* "idx" */ - ts+32025, /* "segid, term, pgn..." */ + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+10212, /* "idx" */ + ts+33378, /* "segid, term, pgn..." */ 1, pzErr) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { @@ -176807,7 +182909,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3Fts5Put32(tls, bp /* &aCookie[0] */, iNew) rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, - ts+31672 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+4 /* &pBlob */) + ts+33025 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+4 /* &pBlob */) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* pBlob */)), bp /* &aCookie[0] */, 4, 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* pBlob */))) @@ -176944,7 +183046,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+32069, /* "SELECT segid, te..." */ + ts+33422, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. @@ -177154,7 +183256,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks } else { (*Fts5Buffer)(unsafe.Pointer(bp + 8 /* &poslist */)).Fn = 0 fts5SegiterPoslist(tls, p, ((*(*uintptr)(unsafe.Pointer(bp /* pIter */)) + 80 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter */)))).FaFirst+1*4)).FiFirst)*96), uintptr(0), bp+8 /* &poslist */) - sqlite3Fts5BufferAppendBlob(tls, (p + 36 /* &.rc */), bp+8 /* &poslist */, uint32(4), ts+32155 /* "\x00\x00\x00\x00" */) + sqlite3Fts5BufferAppendBlob(tls, (p + 36 /* &.rc */), bp+8 /* &poslist */, uint32(4), ts+33508 /* "\x00\x00\x00\x00" */) for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+8 /* &poslist */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+8 /* &poslist */)).Fn, bp+20 /* &iOff */, bp+24 /* &iPos */) { var iCol int32 = (int32(*(*I64)(unsafe.Pointer(bp + 24 /* iPos */)) >> 32)) var iTokOff int32 = (int32(*(*I64)(unsafe.Pointer(bp + 24 /* iPos */)) & int64(0x7FFFFFFF))) @@ -177565,7 +183667,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+32160 /* "recursively defi..." */, 0) + ts+33513 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -177599,7 +183701,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } else if iCol >= 0 { bSeenMatch = 1 *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('M') - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4074 /* "%d" */, libc.VaList(bp, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4089 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) } @@ -177615,7 +183717,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4074 /* "%d" */, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4089 /* "%d" */, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -177958,7 +184060,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: rc = Xsqlite3_reset(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -177990,7 +184092,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, uint32(SQLITE_PREPARE_PERSISTENT), bp+8 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -178029,25 +184131,25 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 // // If SQLite a built-in statement cache, this wouldn't be a problem. rc = fts5PrepareStatement(tls, (pSorter /* &.pStmt */), pConfig, - ts+32199, /* "SELECT rowid, ra..." */ + ts+33552, /* "SELECT rowid, ra..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, func() uintptr { if zRankArgs != 0 { - return ts + 13309 /* ", " */ + return ts + 13324 /* ", " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 32254 /* "DESC" */ + return ts + 33607 /* "DESC" */ } - return ts + 32259 /* "ASC" */ + return ts + 33612 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -178098,13 +184200,13 @@ 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+32263 /* "reads" */, z, n)) { + if (n == 5) && (0 == Xsqlite3_strnicmp(tls, ts+33616 /* "reads" */, 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+4156 /* "id" */, z, n)) { + } else if (n == 2) && (0 == Xsqlite3_strnicmp(tls, ts+4171 /* "id" */, z, n)) { (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { // An unrecognized directive. Return an error message. - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+32269 /* "unknown special ..." */, libc.VaList(bp, n, z)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+33622 /* "unknown special ..." */, libc.VaList(bp, n, z)) rc = SQLITE_ERROR } @@ -178139,7 +184241,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+32297 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+33650 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 20 /* pStmt */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, @@ -178171,7 +184273,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+32307 /* "no such function..." */, libc.VaList(bp+8, zRank)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+33660 /* "no such function..." */, libc.VaList(bp+8, zRank)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } } @@ -178203,14 +184305,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin *(*int32)(unsafe.Pointer(pCsr + 60 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+32328 /* "parse error in r..." */, libc.VaList(bp, z)) + ts+33681 /* "parse error in r..." */, 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 + 30711 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 32064 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -178276,7 +184378,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+32160 /* "recursively defi..." */, 0) + ts+33513 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -178322,7 +184424,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 740 /* "" */ + zText = ts + 755 /* "" */ __14: ; iCol = 0 @@ -178511,7 +184613,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+32361 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + ts+33714 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = SQLITE_ERROR goto __41 __40: @@ -178648,7 +184750,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql rc = (SQLITE_CORRUPT | (int32(1) << 8)) } else if (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) + ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) } } } @@ -178685,29 +184787,29 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) var rc int32 = SQLITE_OK *(*int32)(unsafe.Pointer(bp /* bError */)) = 0 - if 0 == Xsqlite3_stricmp(tls, ts+32397 /* "delete-all" */, zCmd) { + if 0 == Xsqlite3_stricmp(tls, ts+33750 /* "delete-all" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { fts5SetVtabError(tls, pTab, - ts+32408 /* "'delete-all' may..." */, 0) + ts+33761 /* "'delete-all' may..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+32488 /* "rebuild" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+33841 /* "rebuild" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE { fts5SetVtabError(tls, pTab, - ts+32496 /* "'rebuild' may no..." */, 0) + ts+33849 /* "'rebuild' may no..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+15413 /* "optimize" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+15428 /* "optimize" */, zCmd) { rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) - } else if 0 == Xsqlite3_stricmp(tls, ts+32552 /* "merge" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+33905 /* "merge" */, 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+32558 /* "integrity-check" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+33911 /* "integrity-check" */, zCmd) { var iArg int32 = Xsqlite3_value_int(tls, pVal) rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg) } else { @@ -178781,7 +184883,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // A "special" INSERT op. These are handled separately. var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*4))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && - (0 == Xsqlite3_stricmp(tls, ts+15952 /* "delete" */, z)) { + (0 == Xsqlite3_stricmp(tls, ts+15967 /* "delete" */, z)) { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*4))) @@ -178806,12 +184908,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // This is not suported. if (eType0 == SQLITE_INTEGER) && (fts5IsContentless(tls, pTab) != 0) { (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+32574, /* "cannot %s conten..." */ + ts+33927, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 18766 /* "UPDATE" */ + return ts + 18781 /* "UPDATE" */ } - return ts + 32611 /* "DELETE from" */ + return ts + 33964 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -179481,7 +185583,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+32623 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) + var zErr uintptr = Xsqlite3_mprintf(tls, ts+33976 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } else { @@ -179786,7 +185888,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+32644 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33997 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 8 /* &.x */ /* &.xCreate */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { @@ -179803,7 +185905,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg (*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = (pMod + 8 /* &.x */) if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32666 /* "error in tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34019 /* "error in tokeniz..." */, 0) } } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls, @@ -179850,7 +185952,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s var ppApi uintptr _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+32697 /* "fts5_api_ptr" */) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+34050 /* "fts5_api_ptr" */) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = (pGlobal /* &.api */) } @@ -179861,7 +185963,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+32710 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, pCtx, ts+34063 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) } // Return true if zName is the extension on one of the shadow tables used @@ -179877,7 +185979,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 32801 /* "config" */, ts + 30900 /* "content" */, ts + 23301 /* "data" */, ts + 31251 /* "docsize" */, ts + 10197, /* "idx" */ + ts + 34154 /* "config" */, ts + 32253 /* "content" */, ts + 23316 /* "data" */, ts + 32604 /* "docsize" */, ts + 10212, /* "idx" */ } /* sqlite3.c:230593:21 */ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ @@ -179901,7 +186003,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ (*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+32808 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) + rc = Xsqlite3_create_module_v2(tls, db, ts+34161 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) if rc == SQLITE_OK { rc = sqlite3Fts5IndexInit(tls, db) } @@ -179919,13 +186021,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+32808 /* "fts5" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+34161 /* "fts5" */, 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+32813 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+34166 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5SourceIdFunc})), uintptr(0), uintptr(0)) } @@ -179991,20 +186093,20 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p if *(*uintptr)(unsafe.Pointer((p + 28 /* &.aStmt */) + uintptr(eStmt)*4)) == uintptr(0) { *(*[11]uintptr)(unsafe.Pointer(bp + 128 /* azStmt */)) = [11]uintptr{ - ts + 32828, /* "SELECT %s FROM %..." */ - ts + 32896, /* "SELECT %s FROM %..." */ - ts + 32965, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 34181, /* "SELECT %s FROM %..." */ + ts + 34249, /* "SELECT %s FROM %..." */ + ts + 34318, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 32998, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 33037, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 33077, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 33116, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 33157, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE + ts + 34351, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT + ts + 34390, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT + ts + 34430, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT + ts + 34469, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE + ts + 34510, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE - ts + 33196, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 34549, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 33238, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 33278, /* "SELECT %s FROM %..." */ // SCAN + ts + 34591, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG + ts + 34631, /* "SELECT %s FROM %..." */ // SCAN } var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr = uintptr(0) @@ -180071,7 +186173,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -180109,18 +186211,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+33301, /* "DROP TABLE IF EX..." */ + ts+34654, /* "DROP TABLE IF EX..." */ 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+33405, /* "DROP TABLE IF EX..." */ + ts+34758, /* "DROP TABLE IF EX..." */ 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+33443, /* "DROP TABLE IF EX..." */ + ts+34796, /* "DROP TABLE IF EX..." */ libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc @@ -180132,7 +186234,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+33481, /* "ALTER TABLE %Q.'..." */ + ts+34834, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -180144,14 +186246,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp /* rc */)) = sqlite3Fts5StorageSync(tls, pStorage) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+23301 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+10197 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32801 /* "config" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+23316 /* "data" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+10212 /* "idx" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+34154 /* "config" */, zName) if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+31251 /* "docsize" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32604 /* "docsize" */, zName) } if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+30900 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32253 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -180165,17 +186267,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn var rc int32 *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+33523, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+34876, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { - return ts + 27916 /* " WITHOUT ROWID" */ + return ts + 27931 /* " WITHOUT ROWID" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+33553, /* "fts5: error crea..." */ + ts+34906, /* "fts5: error crea..." */ libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } @@ -180217,27 +186319,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+33597 /* "id INTEGER PRIMA..." */, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, ts+34950 /* "id INTEGER PRIMA..." */, 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+33620 /* ", c%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, (nDefn - iOff), (zDefn + uintptr(iOff)), ts+34973 /* ", c%d" */, libc.VaList(bp, i)) iOff = iOff + (int32(libc.Xstrlen(tls, (zDefn + uintptr(iOff))))) } - rc = sqlite3Fts5CreateTable(tls, pConfig, ts+30900 /* "content" */, zDefn, 0, pzErr) + rc = sqlite3Fts5CreateTable(tls, pConfig, ts+32253 /* "content" */, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+31251 /* "docsize" */, ts+33626 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+32604 /* "docsize" */, ts+34979 /* "id INTEGER PRIMA..." */, 0, pzErr) } if rc == SQLITE_OK { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+32801 /* "config" */, ts+33658 /* "k PRIMARY KEY, v" */, 1, pzErr) + pConfig, ts+34154 /* "config" */, ts+35011 /* "k PRIMARY KEY, v" */, 1, pzErr) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+31397 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+32750 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -180474,12 +186576,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: // Delete the contents of the %_data and %_docsize tables. rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+33675, /* "DELETE FROM %Q.'..." */ + ts+35028, /* "DELETE FROM %Q.'..." */ 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+33725, /* "DELETE FROM %Q.'..." */ + ts+35078, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -180489,7 +186591,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+31397 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+32750 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -180684,7 +186786,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+33754, /* "SELECT count(*) ..." */ + zSql = Xsqlite3_mprintf(tls, ts+35107, /* "SELECT count(*) ..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -180881,14 +186983,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // number of rows. if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { *(*I64)(unsafe.Pointer(bp + 40 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+30900 /* "content" */, bp+40 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+32253 /* "content" */, bp+40 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 40 /* nRow */)) != (*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 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+31251 /* "docsize" */, bp+48 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+32604 /* "docsize" */, bp+48 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) } @@ -181124,9 +187226,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, libc.Xmemcpy(tls, p /* &.aTokenChar */, 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+33786 /* "tokenchars" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35139 /* "tokenchars" */) { fts5AsciiAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+33797 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35150 /* "separators" */) { fts5AsciiAddExceptions(tls, p, zArg, 0) } else { rc = SQLITE_ERROR @@ -181365,7 +187467,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 + 33808 /* "L* N* Co" */ + var zCat uintptr = ts + 35161 /* "L* N* Co" */ var i int32 libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Unicode61Tokenizer{}))) @@ -181378,7 +187480,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Search for a "categories" argument for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+33817 /* "categories" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35170 /* "categories" */) { zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*4)) } } @@ -181389,18 +187491,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+33828 /* "remove_diacritic..." */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35181 /* "remove_diacritic..." */) { 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+33786 /* "tokenchars" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35139 /* "tokenchars" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+33797 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35150 /* "separators" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 0) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+33817 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35170 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -181712,7 +187814,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 /* pUserdata */)) = uintptr(0) - var zBase uintptr = ts + 33846 /* "unicode61" */ + var zBase uintptr = ts + 35199 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -181863,7 +187965,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33856 /* "al" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35209 /* "al" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -181871,11 +187973,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33859 /* "ance" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35212 /* "ance" */, (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+33864 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35217 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -181883,7 +187985,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33869 /* "er" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35222 /* "er" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -181891,7 +187993,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33872 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35225 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -181899,11 +188001,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33875 /* "able" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35228 /* "able" */, (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+33880 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35233 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -181911,19 +188013,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33885 /* "ant" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35238 /* "ant" */, (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+33889 /* "ement" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35242 /* "ement" */, (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+33895 /* "ment" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35248 /* "ment" */, (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+33900 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35253 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -181931,11 +188033,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33904 /* "ion" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35257 /* "ion" */, (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+33908 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35261 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -181943,7 +188045,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33911 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35264 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -181951,11 +188053,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33915 /* "ate" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35268 /* "ate" */, (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+33919 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35272 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -181963,7 +188065,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33923 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35276 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -181971,7 +188073,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33927 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35280 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -181979,7 +188081,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33931 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35284 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -181996,24 +188098,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33935 /* "at" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+33915 /* "ate" */, uint32(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35288 /* "at" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35268 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'b': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33938 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+33941 /* "ble" */, uint32(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35291 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35294 /* "ble" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33945 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+33931 /* "ize" */, uint32(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35298 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35284 /* "ize" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } @@ -182029,137 +188131,137 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+33948 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35301 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33915 /* "ate" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35268 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+33956 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+35309 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+33963 /* "tion" */, uint32(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+35316 /* "tion" */, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 4) } } break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33968 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35321 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33864 /* "ence" */, uint32(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35217 /* "ence" */, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33973 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35326 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33859 /* "ance" */, uint32(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35212 /* "ance" */, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } } break case 'e': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33978 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35331 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33931 /* "ize" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35284 /* "ize" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'g': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33983 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35336 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+14763 /* "log" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+14778 /* "log" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'l': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33988 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35341 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+33941 /* "ble" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35294 /* "ble" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33992 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35345 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33856 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35209 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+33997 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35350 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33900 /* "ent" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35253 /* "ent" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34003 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35356 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+34007 /* "e" */, uint32(1)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35360 /* "e" */, uint32(1)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 1) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34009 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35362 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33923 /* "ous" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35276 /* "ous" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } } break case 'o': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34015 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35368 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33931 /* "ize" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35284 /* "ize" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34023 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35376 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33915 /* "ate" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35268 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34029 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35382 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33915 /* "ate" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35268 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 's': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34034 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35387 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33856 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35209 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34040 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35393 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33927 /* "ive" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35280 /* "ive" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34048 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35401 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+34056 /* "ful" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35409 /* "ful" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34060 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35413 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33923 /* "ous" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35276 /* "ous" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } } break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34068 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35421 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33856 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35209 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34074 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35427 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33927 /* "ive" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35280 /* "ive" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+34080 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+35433 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+33941 /* "ble" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+35294 /* "ble" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -182175,16 +188277,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34087 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35440 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33872 /* "ic" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35225 /* "ic" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } } break case 's': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34092 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35445 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -182192,21 +188294,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34097 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35450 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33872 /* "ic" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35225 /* "ic" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34103 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35456 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33872 /* "ic" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35225 /* "ic" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34056 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35409 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -182214,7 +188316,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34109 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35462 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 5) } @@ -182222,9 +188324,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34115 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35468 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33856 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35209 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -182240,12 +188342,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'e': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34121 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35474 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+34125 /* "ee" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35478 /* "ee" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 2) } - } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+34128 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35481 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) ret = 1 @@ -182254,7 +188356,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34131 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35484 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) ret = 1 @@ -182424,7 +188526,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+34135 /* "case_sensitive" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+35488 /* "case_sensitive" */) { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { @@ -182614,22 +188716,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: defer tls.Free(64) *(*[4]BuiltinTokenizer)(unsafe.Pointer(bp /* aBuiltin */)) = [4]BuiltinTokenizer{ - {FzName: ts + 33846 /* "unicode61" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35199 /* "unicode61" */, 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 + 34150 /* "ascii" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35503 /* "ascii" */, 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 + 34156 /* "porter" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35509 /* "porter" */, 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 + 34163 /* "trigram" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35516 /* "trigram" */, 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 @@ -183974,14 +190076,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8 /* &rc */, zType, -1) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, ts+34171 /* "col" */) == 0 { + if Xsqlite3_stricmp(tls, zCopy, ts+35524 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL - } else if Xsqlite3_stricmp(tls, zCopy, ts+34175 /* "row" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+35528 /* "row" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW - } else if Xsqlite3_stricmp(tls, zCopy, ts+34179 /* "instance" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+35532 /* "instance" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34188 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35541 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) @@ -184028,19 +190130,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv defer tls.Free(20) *(*[3]uintptr)(unsafe.Pointer(bp + 4 /* azSchema */)) = [3]uintptr{ - ts + 34222, /* "CREATE TABlE voc..." */ - ts + 34262, /* "CREATE TABlE voc..." */ - ts + 34297, /* "CREATE TABlE voc..." */ + ts + 35575, /* "CREATE TABlE voc..." */ + ts + 35615, /* "CREATE TABlE voc..." */ + ts + 35650, /* "CREATE TABlE voc..." */ } var pRet uintptr = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK // Return code var bDb int32 - bDb = (libc.Bool32(((argc == 6) && (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == Size_t(4))) && (libc.Xmemcmp(tls, ts+21610 /* "temp" */, *(*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+21625 /* "temp" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0))) if (argc != 5) && (bDb == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34340 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35693 /* "wrong number of ..." */, 0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else { var nByte int32 // Bytes of space to allocate @@ -184192,11 +190294,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+34373 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+35726 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } zSql = sqlite3Fts5Mprintf(tls, bp+64, /* &rc */ - ts+34404, /* "SELECT t.%Q FROM..." */ + ts+35757, /* "SELECT t.%Q FROM..." */ 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 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+68 /* &pStmt */, uintptr(0)) @@ -184220,7 +190322,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* *(*uintptr)(unsafe.Pointer(bp + 68 /* pStmt */)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+34455 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+35808 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } else { @@ -184508,7 +190610,7 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused if pLe != 0 { var zCopy uintptr = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = ts + 740 /* "" */ + zCopy = ts + 755 /* "" */ } (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm + 1)) @@ -184625,7 +190727,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:235171:12: */ var p uintptr = pGlobal - return Xsqlite3_create_module_v2(tls, db, ts+34481 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, ts+35834 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } var fts5Vocab = Sqlite3_module{ @@ -184670,7 +190772,7 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:235516:23: */ - return ts + 34491 /* "2021-06-18 18:36..." */ + return ts + 35844 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -185558,5 +191660,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68 /* .xGetLastError */)) = rbuVfsGetLastError // sqlite3.c:205300:5: } -var ts1 = "COMPILER=gcc-8.3.0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\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\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\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\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%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing 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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\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\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\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: \"%.*s\"\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=gcc-8.3.0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\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\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\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\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\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\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%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing 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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\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\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\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: \"%.*s\"\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/lib/sqlite_linux_arm64.go b/lib/sqlite_linux_arm64.go index 256616b..a10a552 100644 --- a/lib/sqlite_linux_arm64.go +++ b/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 "" -pkgname sqlite3 -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 "" -pkgname sqlite3 -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. package sqlite3 @@ -1415,6 +1415,9 @@ const ( SEEK_HOLE = 4 SEEK_SET = 0 SELECTTRACE_ENABLED = 0 + SESSIONS_STRM_CHUNK_SIZE = 1024 + SESSION_MAX_BUFFER_SZ = 2147483391 + SESSION_UPDATE_CACHE_SZ = 12 SF_Aggregate = 0x0000008 SF_All = 0x0000002 SF_ComplexResult = 0x0040000 @@ -1561,6 +1564,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -1717,6 +1731,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -2084,6 +2099,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3714,7 +3731,7 @@ type X__float128 = float64 /* :47:21 */ // This array looks large, but in a typical installation actually uses // only a handful of compile-time options, so most times this array is usually // rather short and uses little memory space. -var sqlite3azCompileOpt = [18]uintptr{ +var sqlite3azCompileOpt = [19]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl ts, /* "COMPILER=gcc-8.3..." */ @@ -3727,14 +3744,15 @@ var sqlite3azCompileOpt = [18]uintptr{ ts + 130, /* "ENABLE_PREUPDATE..." */ ts + 152, /* "ENABLE_RBU" */ ts + 163, /* "ENABLE_RTREE" */ - ts + 176, /* "ENABLE_SNAPSHOT" */ - ts + 192, /* "ENABLE_STAT4" */ - ts + 205, /* "ENABLE_UNLOCK_NO..." */ - ts + 226, /* "LIKE_DOESNT_MATC..." */ - ts + 250, /* "MUTEX_NOOP" */ - ts + 261, /* "SOUNDEX" */ - ts + 269, /* "SYSTEM_MALLOC" */ - ts + 283, /* "THREADSAFE=1" */ + ts + 176, /* "ENABLE_SESSION" */ + ts + 191, /* "ENABLE_SNAPSHOT" */ + ts + 207, /* "ENABLE_STAT4" */ + ts + 220, /* "ENABLE_UNLOCK_NO..." */ + ts + 241, /* "LIKE_DOESNT_MATC..." */ + ts + 265, /* "MUTEX_NOOP" */ + ts + 276, /* "SOUNDEX" */ + ts + 284, /* "SYSTEM_MALLOC" */ + ts + 298, /* "THREADSAFE=1" */ // END CODE GENERATED BY tool/mkctime.tcl } /* sqlite3.c:72:19 */ @@ -4050,7 +4068,7 @@ type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ // of the hash might be different from [SQLITE_SOURCE_ID].)^ // // See also: [sqlite_version()] and [sqlite_source_id()]. -var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 296 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ +var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 311 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -6601,6 +6619,495 @@ type Sqlite3_rtree_dbl = float64 /* sqlite3.c:11048:18 */ //******* End of sqlite3rtree.h ******** //******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type sqlite3_session = struct { + Fdb uintptr + FzDb uintptr + FbEnableSize int32 + FbEnable int32 + FbIndirect int32 + FbAutoAttach int32 + Frc int32 + _ [4]byte + FpFilterCtx uintptr + FxTableFilter uintptr + FnMalloc I64 + FnMaxChangesetSize I64 + FpZeroBlob uintptr + FpNext uintptr + FpTable uintptr + Fhook SessionHook +} /* sqlite3.c:11155:9 */ + +// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. + +//******* End of sqlite3rtree.h ******** +//******* Begin file sqlite3session.h ******** + +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type sqlite3_changeset_iter = struct { + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + _ [4]byte + FabPK uintptr + FapValue uintptr +} /* sqlite3.c:11163:9 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type Sqlite3_changeset_iter = sqlite3_changeset_iter /* sqlite3.c:11163:39 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type sqlite3_changegroup = struct { + Frc int32 + FbPatch int32 + FpList uintptr +} /* sqlite3.c:12015:9 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type Sqlite3_changegroup = sqlite3_changegroup /* sqlite3.c:12015:36 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type sqlite3_rebaser = struct{ Fgrp Sqlite3_changegroup } /* sqlite3.c:12579:9 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ + +// CAPI3REF: Values for sqlite3session_config(). + +// Make sure we can call this stuff from C++. + //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** // 2014 May 31 @@ -6651,10 +7158,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.c:12895:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -11168,7 +11674,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 303 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 318 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -12319,7 +12825,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+310 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+325 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { goto __9 } return 1 @@ -12356,13 +12862,13 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 // var s int32 at bp+32, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+318 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+333 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+326 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+341 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -12481,7 +12987,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+330 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+345 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -12562,7 +13068,7 @@ func parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) i return 0 } else if parseHhMmSs(tls, zDate, p) == 0 { return 0 - } else if (Xsqlite3StrICmp(tls, zDate, ts+342 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { + } else if (Xsqlite3StrICmp(tls, zDate, ts+357 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { return setDateTimeToCurrent(tls, context, p) } else if Xsqlite3AtoF(tls, zDate, bp /* &r */, Xsqlite3Strlen30(tls, zDate), uint8(SQLITE_UTF8)) > 0 { setRawDateNumber(tls, p, *(*float64)(unsafe.Pointer(bp /* r */))) @@ -12744,7 +13250,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite computeJD(tls, bp+56 /* &x */) *(*Time_t)(unsafe.Pointer(bp + 104 /* t */)) = (Time_t(((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000)))) if osLocaltime(tls, bp+104 /* &t */, bp /* &sLocal */) != 0 { - Xsqlite3_result_error(tls, pCtx, ts+346 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+361 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -12779,12 +13285,12 @@ var aXformType = [6]struct { FrLimit float64 FrXform float64 }{ - {FnName: U8(6), FzName: ts + 369 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, - {FnName: U8(6), FzName: ts + 376 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, - {FnName: U8(4), FzName: ts + 383 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, - {FnName: U8(3), FzName: ts + 388 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, - {FeType: U8(1), FnName: U8(5), FzName: ts + 392 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, - {FeType: U8(2), FnName: U8(4), FzName: ts + 398 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, + {FnName: U8(6), FzName: ts + 384 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, + {FnName: U8(6), FzName: ts + 391 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, + {FnName: U8(4), FzName: ts + 398 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, + {FnName: U8(3), FzName: ts + 403 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, + {FeType: U8(1), FnName: U8(5), FzName: ts + 407 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, + {FeType: U8(2), FnName: U8(4), FzName: ts + 413 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, } /* sqlite3.c:22795:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -12823,7 +13329,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Assuming the current time value is UTC (a.k.a. GMT), shift it to // show local time. - if (Xsqlite3_stricmp(tls, z, ts+403 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + if (Xsqlite3_stricmp(tls, z, ts+418 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { computeJD(tls, p) *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (localtimeOffset(tls, p, pCtx, bp /* &rc */)) clearYMD_HMS_TZ(tls, p) @@ -12837,7 +13343,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Treat the current value of p->s as the number of // seconds since 1970. Convert to a real julian day number. - if (Xsqlite3_stricmp(tls, z, ts+413 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { + if (Xsqlite3_stricmp(tls, z, ts+428 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) @@ -12846,7 +13352,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+423 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + } else if (Xsqlite3_stricmp(tls, z, ts+438 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { if int32((*DateTime)(unsafe.Pointer(p)).FtzSet) == 0 { var c1 Sqlite3_int64 computeJD(tls, p) @@ -12871,7 +13377,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // Move the date to the same time on the next occurrence of // weekday N where 0==Sunday, 1==Monday, and so forth. If the // date is already on the appropriate weekday, this is a no-op. - if ((((Xsqlite3_strnicmp(tls, z, ts+427 /* "weekday " */, 8) == 0) && + if ((((Xsqlite3_strnicmp(tls, z, ts+442 /* "weekday " */, 8) == 0) && (Xsqlite3AtoF(tls, (z+8), bp+8 /* &r */, Xsqlite3Strlen30(tls, (z+8)), uint8(SQLITE_UTF8)) > 0)) && ((float64(libc.AssignInt32(&n, int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */)))))) == *(*float64)(unsafe.Pointer(bp + 8 /* r */)))) && (n >= 0)) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < float64(7)) { var Z Sqlite3_int64 @@ -12896,7 +13402,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Move the date backwards to the beginning of the current day, // or month or year. - if Xsqlite3_strnicmp(tls, z, ts+436 /* "start of " */, 9) != 0 { + if Xsqlite3_strnicmp(tls, z, ts+451 /* "start of " */, 9) != 0 { break } if (!(int32((*DateTime)(unsafe.Pointer(p)).FvalidJD) != 0) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidYMD) != 0)) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidHMS) != 0) { @@ -12910,14 +13416,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - if Xsqlite3_stricmp(tls, z, ts+392 /* "month" */) == 0 { + if Xsqlite3_stricmp(tls, z, ts+407 /* "month" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+398 /* "year" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+413 /* "year" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FM = 1 (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+388 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+403 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -13138,7 +13644,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // var zBuf [100]int8 at bp+96, 100 computeYMD_HMS(tls, bp+48 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+446, /* "%04d-%02d-%02d %..." */ + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+461, /* "%04d-%02d-%02d %..." */ libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } @@ -13157,7 +13663,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeHMS(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+476 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+491 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13175,7 +13681,7 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeYMD(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+491 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+506 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13302,7 +13808,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (uint64(2)) break fallthrough @@ -13312,14 +13818,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+511 /* "%06.3f" */, libc.VaList(bp+8, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+526 /* "%06.3f" */, libc.VaList(bp+8, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) j = j + (uint64(2)) break fallthrough @@ -13337,10 +13843,10 @@ __3: if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday wd = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) j = j + (uint64(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+518 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+533 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) j = j + (uint64(3)) } break @@ -13349,19 +13855,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+523 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+538 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) j = j + (uint64(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) j = j + (uint64(2)) break fallthrough @@ -13375,7 +13881,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough @@ -13388,7 +13894,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+529 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+544 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -13445,14 +13951,14 @@ func Xsqlite3RegisterDateTimeFunctions(tls *libc.TLS) { /* sqlite3.c:23404:21: * } var aDateTimeFuncs = [8]FuncDef{ - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 534 /* "julianday" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 544 /* "date" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 549 /* "time" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 554 /* "datetime" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 563 /* "strftime" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 572 /* "current_time" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 585 /* "current_timestam..." */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 603 /* "current_date" */}} /* sqlite3.c:23405:18 */ + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 549 /* "julianday" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 559 /* "date" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 564 /* "time" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 569 /* "datetime" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 578 /* "strftime" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 587 /* "current_time" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 600 /* "current_timestam..." */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 618 /* "current_date" */}} /* sqlite3.c:23405:18 */ //************* End of date.c *********************************************** //************* Begin file os.c ********************************************* @@ -14029,7 +14535,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p += 8 } else { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+616 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+631 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -14080,7 +14586,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* } else { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+654, /* "failed memory re..." */ + ts+669, /* "failed memory re..." */ libc.VaList(bp, sqlite3MemSize(tls, pPrior), nByte)) } return p @@ -15265,8 +15771,8 @@ type Et_info = et_info /* sqlite3.c:28672:3 */ // The following table is searched linearly, so it is good to put the // most frequently used conversion types first. -var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 690 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 723 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ +var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 705 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 738 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ var fmtinfo = [23]Et_info{ {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, {Ffmttype: int8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, @@ -15520,7 +16026,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+730 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+745 /* "%" */, 1) goto __5 __11: ; @@ -16103,7 +16609,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 732 /* "NaN" */ + bufpt = ts + 747 /* "NaN" */ length = 3 goto __58 __127: @@ -16163,7 +16669,7 @@ __138: } bufpt = bp + 8 /* &buf[0] */ *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix - libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+736 /* "Inf" */, uint64(4)) + libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+751 /* "Inf" */, uint64(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: @@ -16520,7 +17026,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 740 /* "" */ + bufpt = ts + 755 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -16649,9 +17155,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 741 /* "NULL" */ + return ts + 756 /* "NULL" */ } - return ts + 746 /* "(NULL)" */ + return ts + 761 /* "(NULL)" */ }() __220: ; @@ -16786,7 +17292,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+753 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+768 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -16801,7 +17307,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+755 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, ts+770 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) __247: ; __246: @@ -16864,7 +17370,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 767 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 782 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -19136,7 +19642,7 @@ func compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) int32 { /* sqlite3.c var c int32 = 0 var i int32 // 012345678901234567 - var pow63 uintptr = ts + 776 /* "9223372036854775..." */ + var pow63 uintptr = ts + 791 /* "9223372036854775..." */ for i = 0; (c == 0) && (i < 18); i++ { c = ((int32(*(*int8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) } @@ -19786,7 +20292,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+795, /* "API call with %s..." */ + ts+810, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -19805,14 +20311,14 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ func Xsqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:33054:20: */ var magic U32 if db == uintptr(0) { - logBadConnection(tls, ts+741 /* "NULL" */) + logBadConnection(tls, ts+756 /* "NULL" */) return 0 } magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if magic != SQLITE_MAGIC_OPEN { if Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 { - logBadConnection(tls, ts+840 /* "unopened" */) + logBadConnection(tls, ts+855 /* "unopened" */) } return 0 } else { @@ -19826,7 +20332,7 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if ((magic != U32(SQLITE_MAGIC_SICK)) && (magic != SQLITE_MAGIC_OPEN)) && (magic != SQLITE_MAGIC_BUSY) { - logBadConnection(tls, ts+849 /* "invalid" */) + logBadConnection(tls, ts+864 /* "invalid" */) return 0 } else { return 1 @@ -20354,186 +20860,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 0 */ ts + 857, /* "Savepoint" */ - /* 1 */ ts + 867, /* "AutoCommit" */ - /* 2 */ ts + 878, /* "Transaction" */ - /* 3 */ ts + 890, /* "SorterNext" */ - /* 4 */ ts + 901, /* "Prev" */ - /* 5 */ ts + 906, /* "Next" */ - /* 6 */ ts + 911, /* "Checkpoint" */ - /* 7 */ ts + 922, /* "JournalMode" */ - /* 8 */ ts + 934, /* "Vacuum" */ - /* 9 */ ts + 941, /* "VFilter" */ - /* 10 */ ts + 949, /* "VUpdate" */ - /* 11 */ ts + 957, /* "Goto" */ - /* 12 */ ts + 962, /* "Gosub" */ - /* 13 */ ts + 968, /* "InitCoroutine" */ - /* 14 */ ts + 982, /* "Yield" */ - /* 15 */ ts + 988, /* "MustBeInt" */ - /* 16 */ ts + 998, /* "Jump" */ - /* 17 */ ts + 1003, /* "Once" */ - /* 18 */ ts + 1008, /* "If" */ - /* 19 */ ts + 1011, /* "Not" */ - /* 20 */ ts + 1015, /* "IfNot" */ - /* 21 */ ts + 1021, /* "IfNullRow" */ - /* 22 */ ts + 1031, /* "SeekLT" */ - /* 23 */ ts + 1038, /* "SeekLE" */ - /* 24 */ ts + 1045, /* "SeekGE" */ - /* 25 */ ts + 1052, /* "SeekGT" */ - /* 26 */ ts + 1059, /* "IfNotOpen" */ - /* 27 */ ts + 1069, /* "IfNoHope" */ - /* 28 */ ts + 1078, /* "NoConflict" */ - /* 29 */ ts + 1089, /* "NotFound" */ - /* 30 */ ts + 1098, /* "Found" */ - /* 31 */ ts + 1104, /* "SeekRowid" */ - /* 32 */ ts + 1114, /* "NotExists" */ - /* 33 */ ts + 1124, /* "Last" */ - /* 34 */ ts + 1129, /* "IfSmaller" */ - /* 35 */ ts + 1139, /* "SorterSort" */ - /* 36 */ ts + 1150, /* "Sort" */ - /* 37 */ ts + 1155, /* "Rewind" */ - /* 38 */ ts + 1162, /* "IdxLE" */ - /* 39 */ ts + 1168, /* "IdxGT" */ - /* 40 */ ts + 1174, /* "IdxLT" */ - /* 41 */ ts + 1180, /* "IdxGE" */ - /* 42 */ ts + 1186, /* "RowSetRead" */ - /* 43 */ ts + 1197, /* "Or" */ - /* 44 */ ts + 1200, /* "And" */ - /* 45 */ ts + 1204, /* "RowSetTest" */ - /* 46 */ ts + 1215, /* "Program" */ - /* 47 */ ts + 1223, /* "FkIfZero" */ - /* 48 */ ts + 1232, /* "IfPos" */ - /* 49 */ ts + 1238, /* "IfNotZero" */ - /* 50 */ ts + 1248, /* "IsNull" */ - /* 51 */ ts + 1255, /* "NotNull" */ - /* 52 */ ts + 1263, /* "Ne" */ - /* 53 */ ts + 1266, /* "Eq" */ - /* 54 */ ts + 1269, /* "Gt" */ - /* 55 */ ts + 1272, /* "Le" */ - /* 56 */ ts + 1275, /* "Lt" */ - /* 57 */ ts + 1278, /* "Ge" */ - /* 58 */ ts + 1281, /* "ElseEq" */ - /* 59 */ ts + 1288, /* "DecrJumpZero" */ - /* 60 */ ts + 1301, /* "IncrVacuum" */ - /* 61 */ ts + 1312, /* "VNext" */ - /* 62 */ ts + 1318, /* "Init" */ - /* 63 */ ts + 1323, /* "PureFunc" */ - /* 64 */ ts + 1332, /* "Function" */ - /* 65 */ ts + 1341, /* "Return" */ - /* 66 */ ts + 1348, /* "EndCoroutine" */ - /* 67 */ ts + 1361, /* "HaltIfNull" */ - /* 68 */ ts + 1372, /* "Halt" */ - /* 69 */ ts + 1377, /* "Integer" */ - /* 70 */ ts + 1385, /* "Int64" */ - /* 71 */ ts + 1391, /* "String" */ - /* 72 */ ts + 1398, /* "Null" */ - /* 73 */ ts + 1403, /* "SoftNull" */ - /* 74 */ ts + 1412, /* "Blob" */ - /* 75 */ ts + 1417, /* "Variable" */ - /* 76 */ ts + 1426, /* "Move" */ - /* 77 */ ts + 1431, /* "Copy" */ - /* 78 */ ts + 1436, /* "SCopy" */ - /* 79 */ ts + 1442, /* "IntCopy" */ - /* 80 */ ts + 1450, /* "ChngCntRow" */ - /* 81 */ ts + 1461, /* "ResultRow" */ - /* 82 */ ts + 1471, /* "CollSeq" */ - /* 83 */ ts + 1479, /* "AddImm" */ - /* 84 */ ts + 1486, /* "RealAffinity" */ - /* 85 */ ts + 1499, /* "Cast" */ - /* 86 */ ts + 1504, /* "Permutation" */ - /* 87 */ ts + 1516, /* "Compare" */ - /* 88 */ ts + 1524, /* "IsTrue" */ - /* 89 */ ts + 1531, /* "ZeroOrNull" */ - /* 90 */ ts + 1542, /* "Offset" */ - /* 91 */ ts + 1549, /* "Column" */ - /* 92 */ ts + 1556, /* "Affinity" */ - /* 93 */ ts + 1565, /* "MakeRecord" */ - /* 94 */ ts + 1576, /* "Count" */ - /* 95 */ ts + 1582, /* "ReadCookie" */ - /* 96 */ ts + 1593, /* "SetCookie" */ - /* 97 */ ts + 1603, /* "ReopenIdx" */ - /* 98 */ ts + 1613, /* "OpenRead" */ - /* 99 */ ts + 1622, /* "OpenWrite" */ - /* 100 */ ts + 1632, /* "OpenDup" */ - /* 101 */ ts + 1640, /* "OpenAutoindex" */ - /* 102 */ ts + 1654, /* "BitAnd" */ - /* 103 */ ts + 1661, /* "BitOr" */ - /* 104 */ ts + 1667, /* "ShiftLeft" */ - /* 105 */ ts + 1677, /* "ShiftRight" */ - /* 106 */ ts + 1688, /* "Add" */ - /* 107 */ ts + 1692, /* "Subtract" */ - /* 108 */ ts + 1701, /* "Multiply" */ - /* 109 */ ts + 1710, /* "Divide" */ - /* 110 */ ts + 1717, /* "Remainder" */ - /* 111 */ ts + 1727, /* "Concat" */ - /* 112 */ ts + 1734, /* "OpenEphemeral" */ - /* 113 */ ts + 1748, /* "BitNot" */ - /* 114 */ ts + 1755, /* "SorterOpen" */ - /* 115 */ ts + 1766, /* "SequenceTest" */ - /* 116 */ ts + 1779, /* "String8" */ - /* 117 */ ts + 1787, /* "OpenPseudo" */ - /* 118 */ ts + 1798, /* "Close" */ - /* 119 */ ts + 1804, /* "ColumnsUsed" */ - /* 120 */ ts + 1816, /* "SeekScan" */ - /* 121 */ ts + 1825, /* "SeekHit" */ - /* 122 */ ts + 1833, /* "Sequence" */ - /* 123 */ ts + 1842, /* "NewRowid" */ - /* 124 */ ts + 1851, /* "Insert" */ - /* 125 */ ts + 1858, /* "RowCell" */ - /* 126 */ ts + 1866, /* "Delete" */ - /* 127 */ ts + 1873, /* "ResetCount" */ - /* 128 */ ts + 1884, /* "SorterCompare" */ - /* 129 */ ts + 1898, /* "SorterData" */ - /* 130 */ ts + 1909, /* "RowData" */ - /* 131 */ ts + 1917, /* "Rowid" */ - /* 132 */ ts + 1923, /* "NullRow" */ - /* 133 */ ts + 1931, /* "SeekEnd" */ - /* 134 */ ts + 1939, /* "IdxInsert" */ - /* 135 */ ts + 1949, /* "SorterInsert" */ - /* 136 */ ts + 1962, /* "IdxDelete" */ - /* 137 */ ts + 1972, /* "DeferredSeek" */ - /* 138 */ ts + 1985, /* "IdxRowid" */ - /* 139 */ ts + 1994, /* "FinishSeek" */ - /* 140 */ ts + 2005, /* "Destroy" */ - /* 141 */ ts + 2013, /* "Clear" */ - /* 142 */ ts + 2019, /* "ResetSorter" */ - /* 143 */ ts + 2031, /* "CreateBtree" */ - /* 144 */ ts + 2043, /* "SqlExec" */ - /* 145 */ ts + 2051, /* "ParseSchema" */ - /* 146 */ ts + 2063, /* "LoadAnalysis" */ - /* 147 */ ts + 2076, /* "DropTable" */ - /* 148 */ ts + 2086, /* "DropIndex" */ - /* 149 */ ts + 2096, /* "DropTrigger" */ - /* 150 */ ts + 2108, /* "IntegrityCk" */ - /* 151 */ ts + 2120, /* "RowSetAdd" */ - /* 152 */ ts + 2130, /* "Real" */ - /* 153 */ ts + 2135, /* "Param" */ - /* 154 */ ts + 2141, /* "FkCounter" */ - /* 155 */ ts + 2151, /* "MemMax" */ - /* 156 */ ts + 2158, /* "OffsetLimit" */ - /* 157 */ ts + 2170, /* "AggInverse" */ - /* 158 */ ts + 2181, /* "AggStep" */ - /* 159 */ ts + 2189, /* "AggStep1" */ - /* 160 */ ts + 2198, /* "AggValue" */ - /* 161 */ ts + 2207, /* "AggFinal" */ - /* 162 */ ts + 2216, /* "Expire" */ - /* 163 */ ts + 2223, /* "CursorLock" */ - /* 164 */ ts + 2234, /* "CursorUnlock" */ - /* 165 */ ts + 2247, /* "TableLock" */ - /* 166 */ ts + 2257, /* "VBegin" */ - /* 167 */ ts + 2264, /* "VCreate" */ - /* 168 */ ts + 2272, /* "VDestroy" */ - /* 169 */ ts + 2281, /* "VOpen" */ - /* 170 */ ts + 2287, /* "VColumn" */ - /* 171 */ ts + 2295, /* "VRename" */ - /* 172 */ ts + 2303, /* "Pagecount" */ - /* 173 */ ts + 2313, /* "MaxPgcnt" */ - /* 174 */ ts + 2322, /* "Trace" */ - /* 175 */ ts + 2328, /* "CursorHint" */ - /* 176 */ ts + 2339, /* "ReleaseReg" */ - /* 177 */ ts + 2350, /* "Noop" */ - /* 178 */ ts + 2355, /* "Explain" */ - /* 179 */ ts + 2363, /* "Abortable" */ + /* 0 */ ts + 872, /* "Savepoint" */ + /* 1 */ ts + 882, /* "AutoCommit" */ + /* 2 */ ts + 893, /* "Transaction" */ + /* 3 */ ts + 905, /* "SorterNext" */ + /* 4 */ ts + 916, /* "Prev" */ + /* 5 */ ts + 921, /* "Next" */ + /* 6 */ ts + 926, /* "Checkpoint" */ + /* 7 */ ts + 937, /* "JournalMode" */ + /* 8 */ ts + 949, /* "Vacuum" */ + /* 9 */ ts + 956, /* "VFilter" */ + /* 10 */ ts + 964, /* "VUpdate" */ + /* 11 */ ts + 972, /* "Goto" */ + /* 12 */ ts + 977, /* "Gosub" */ + /* 13 */ ts + 983, /* "InitCoroutine" */ + /* 14 */ ts + 997, /* "Yield" */ + /* 15 */ ts + 1003, /* "MustBeInt" */ + /* 16 */ ts + 1013, /* "Jump" */ + /* 17 */ ts + 1018, /* "Once" */ + /* 18 */ ts + 1023, /* "If" */ + /* 19 */ ts + 1026, /* "Not" */ + /* 20 */ ts + 1030, /* "IfNot" */ + /* 21 */ ts + 1036, /* "IfNullRow" */ + /* 22 */ ts + 1046, /* "SeekLT" */ + /* 23 */ ts + 1053, /* "SeekLE" */ + /* 24 */ ts + 1060, /* "SeekGE" */ + /* 25 */ ts + 1067, /* "SeekGT" */ + /* 26 */ ts + 1074, /* "IfNotOpen" */ + /* 27 */ ts + 1084, /* "IfNoHope" */ + /* 28 */ ts + 1093, /* "NoConflict" */ + /* 29 */ ts + 1104, /* "NotFound" */ + /* 30 */ ts + 1113, /* "Found" */ + /* 31 */ ts + 1119, /* "SeekRowid" */ + /* 32 */ ts + 1129, /* "NotExists" */ + /* 33 */ ts + 1139, /* "Last" */ + /* 34 */ ts + 1144, /* "IfSmaller" */ + /* 35 */ ts + 1154, /* "SorterSort" */ + /* 36 */ ts + 1165, /* "Sort" */ + /* 37 */ ts + 1170, /* "Rewind" */ + /* 38 */ ts + 1177, /* "IdxLE" */ + /* 39 */ ts + 1183, /* "IdxGT" */ + /* 40 */ ts + 1189, /* "IdxLT" */ + /* 41 */ ts + 1195, /* "IdxGE" */ + /* 42 */ ts + 1201, /* "RowSetRead" */ + /* 43 */ ts + 1212, /* "Or" */ + /* 44 */ ts + 1215, /* "And" */ + /* 45 */ ts + 1219, /* "RowSetTest" */ + /* 46 */ ts + 1230, /* "Program" */ + /* 47 */ ts + 1238, /* "FkIfZero" */ + /* 48 */ ts + 1247, /* "IfPos" */ + /* 49 */ ts + 1253, /* "IfNotZero" */ + /* 50 */ ts + 1263, /* "IsNull" */ + /* 51 */ ts + 1270, /* "NotNull" */ + /* 52 */ ts + 1278, /* "Ne" */ + /* 53 */ ts + 1281, /* "Eq" */ + /* 54 */ ts + 1284, /* "Gt" */ + /* 55 */ ts + 1287, /* "Le" */ + /* 56 */ ts + 1290, /* "Lt" */ + /* 57 */ ts + 1293, /* "Ge" */ + /* 58 */ ts + 1296, /* "ElseEq" */ + /* 59 */ ts + 1303, /* "DecrJumpZero" */ + /* 60 */ ts + 1316, /* "IncrVacuum" */ + /* 61 */ ts + 1327, /* "VNext" */ + /* 62 */ ts + 1333, /* "Init" */ + /* 63 */ ts + 1338, /* "PureFunc" */ + /* 64 */ ts + 1347, /* "Function" */ + /* 65 */ ts + 1356, /* "Return" */ + /* 66 */ ts + 1363, /* "EndCoroutine" */ + /* 67 */ ts + 1376, /* "HaltIfNull" */ + /* 68 */ ts + 1387, /* "Halt" */ + /* 69 */ ts + 1392, /* "Integer" */ + /* 70 */ ts + 1400, /* "Int64" */ + /* 71 */ ts + 1406, /* "String" */ + /* 72 */ ts + 1413, /* "Null" */ + /* 73 */ ts + 1418, /* "SoftNull" */ + /* 74 */ ts + 1427, /* "Blob" */ + /* 75 */ ts + 1432, /* "Variable" */ + /* 76 */ ts + 1441, /* "Move" */ + /* 77 */ ts + 1446, /* "Copy" */ + /* 78 */ ts + 1451, /* "SCopy" */ + /* 79 */ ts + 1457, /* "IntCopy" */ + /* 80 */ ts + 1465, /* "ChngCntRow" */ + /* 81 */ ts + 1476, /* "ResultRow" */ + /* 82 */ ts + 1486, /* "CollSeq" */ + /* 83 */ ts + 1494, /* "AddImm" */ + /* 84 */ ts + 1501, /* "RealAffinity" */ + /* 85 */ ts + 1514, /* "Cast" */ + /* 86 */ ts + 1519, /* "Permutation" */ + /* 87 */ ts + 1531, /* "Compare" */ + /* 88 */ ts + 1539, /* "IsTrue" */ + /* 89 */ ts + 1546, /* "ZeroOrNull" */ + /* 90 */ ts + 1557, /* "Offset" */ + /* 91 */ ts + 1564, /* "Column" */ + /* 92 */ ts + 1571, /* "Affinity" */ + /* 93 */ ts + 1580, /* "MakeRecord" */ + /* 94 */ ts + 1591, /* "Count" */ + /* 95 */ ts + 1597, /* "ReadCookie" */ + /* 96 */ ts + 1608, /* "SetCookie" */ + /* 97 */ ts + 1618, /* "ReopenIdx" */ + /* 98 */ ts + 1628, /* "OpenRead" */ + /* 99 */ ts + 1637, /* "OpenWrite" */ + /* 100 */ ts + 1647, /* "OpenDup" */ + /* 101 */ ts + 1655, /* "OpenAutoindex" */ + /* 102 */ ts + 1669, /* "BitAnd" */ + /* 103 */ ts + 1676, /* "BitOr" */ + /* 104 */ ts + 1682, /* "ShiftLeft" */ + /* 105 */ ts + 1692, /* "ShiftRight" */ + /* 106 */ ts + 1703, /* "Add" */ + /* 107 */ ts + 1707, /* "Subtract" */ + /* 108 */ ts + 1716, /* "Multiply" */ + /* 109 */ ts + 1725, /* "Divide" */ + /* 110 */ ts + 1732, /* "Remainder" */ + /* 111 */ ts + 1742, /* "Concat" */ + /* 112 */ ts + 1749, /* "OpenEphemeral" */ + /* 113 */ ts + 1763, /* "BitNot" */ + /* 114 */ ts + 1770, /* "SorterOpen" */ + /* 115 */ ts + 1781, /* "SequenceTest" */ + /* 116 */ ts + 1794, /* "String8" */ + /* 117 */ ts + 1802, /* "OpenPseudo" */ + /* 118 */ ts + 1813, /* "Close" */ + /* 119 */ ts + 1819, /* "ColumnsUsed" */ + /* 120 */ ts + 1831, /* "SeekScan" */ + /* 121 */ ts + 1840, /* "SeekHit" */ + /* 122 */ ts + 1848, /* "Sequence" */ + /* 123 */ ts + 1857, /* "NewRowid" */ + /* 124 */ ts + 1866, /* "Insert" */ + /* 125 */ ts + 1873, /* "RowCell" */ + /* 126 */ ts + 1881, /* "Delete" */ + /* 127 */ ts + 1888, /* "ResetCount" */ + /* 128 */ ts + 1899, /* "SorterCompare" */ + /* 129 */ ts + 1913, /* "SorterData" */ + /* 130 */ ts + 1924, /* "RowData" */ + /* 131 */ ts + 1932, /* "Rowid" */ + /* 132 */ ts + 1938, /* "NullRow" */ + /* 133 */ ts + 1946, /* "SeekEnd" */ + /* 134 */ ts + 1954, /* "IdxInsert" */ + /* 135 */ ts + 1964, /* "SorterInsert" */ + /* 136 */ ts + 1977, /* "IdxDelete" */ + /* 137 */ ts + 1987, /* "DeferredSeek" */ + /* 138 */ ts + 2000, /* "IdxRowid" */ + /* 139 */ ts + 2009, /* "FinishSeek" */ + /* 140 */ ts + 2020, /* "Destroy" */ + /* 141 */ ts + 2028, /* "Clear" */ + /* 142 */ ts + 2034, /* "ResetSorter" */ + /* 143 */ ts + 2046, /* "CreateBtree" */ + /* 144 */ ts + 2058, /* "SqlExec" */ + /* 145 */ ts + 2066, /* "ParseSchema" */ + /* 146 */ ts + 2078, /* "LoadAnalysis" */ + /* 147 */ ts + 2091, /* "DropTable" */ + /* 148 */ ts + 2101, /* "DropIndex" */ + /* 149 */ ts + 2111, /* "DropTrigger" */ + /* 150 */ ts + 2123, /* "IntegrityCk" */ + /* 151 */ ts + 2135, /* "RowSetAdd" */ + /* 152 */ ts + 2145, /* "Real" */ + /* 153 */ ts + 2150, /* "Param" */ + /* 154 */ ts + 2156, /* "FkCounter" */ + /* 155 */ ts + 2166, /* "MemMax" */ + /* 156 */ ts + 2173, /* "OffsetLimit" */ + /* 157 */ ts + 2185, /* "AggInverse" */ + /* 158 */ ts + 2196, /* "AggStep" */ + /* 159 */ ts + 2204, /* "AggStep1" */ + /* 160 */ ts + 2213, /* "AggValue" */ + /* 161 */ ts + 2222, /* "AggFinal" */ + /* 162 */ ts + 2231, /* "Expire" */ + /* 163 */ ts + 2238, /* "CursorLock" */ + /* 164 */ ts + 2249, /* "CursorUnlock" */ + /* 165 */ ts + 2262, /* "TableLock" */ + /* 166 */ ts + 2272, /* "VBegin" */ + /* 167 */ ts + 2279, /* "VCreate" */ + /* 168 */ ts + 2287, /* "VDestroy" */ + /* 169 */ ts + 2296, /* "VOpen" */ + /* 170 */ ts + 2302, /* "VColumn" */ + /* 171 */ ts + 2310, /* "VRename" */ + /* 172 */ ts + 2318, /* "Pagecount" */ + /* 173 */ ts + 2328, /* "MaxPgcnt" */ + /* 174 */ ts + 2337, /* "Trace" */ + /* 175 */ ts + 2343, /* "CursorHint" */ + /* 176 */ ts + 2354, /* "ReleaseReg" */ + /* 177 */ ts + 2365, /* "Noop" */ + /* 178 */ ts + 2370, /* "Explain" */ + /* 179 */ ts + 2378, /* "Abortable" */ } /* sqlite3.c:33673:20 */ //************* End of opcodes.c ******************************************** @@ -22195,67 +22701,67 @@ type unix_syscall = struct { // testing and sandboxing. The following array holds the names and pointers // to all overrideable system calls. var aSyscall = [29]unix_syscall{ - {FzName: ts + 2373 /* "open" */, FpCurrent: 0}, + {FzName: ts + 2388 /* "open" */, FpCurrent: 0}, - {FzName: ts + 2378 /* "close" */, FpCurrent: 0}, + {FzName: ts + 2393 /* "close" */, FpCurrent: 0}, - {FzName: ts + 2384 /* "access" */, FpCurrent: 0}, + {FzName: ts + 2399 /* "access" */, FpCurrent: 0}, - {FzName: ts + 2391 /* "getcwd" */, FpCurrent: 0}, + {FzName: ts + 2406 /* "getcwd" */, FpCurrent: 0}, - {FzName: ts + 2398 /* "stat" */, FpCurrent: 0}, + {FzName: ts + 2413 /* "stat" */, FpCurrent: 0}, // The DJGPP compiler environment looks mostly like Unix, but it // lacks the fcntl() system call. So redefine fcntl() to be something // that always succeeds. This means that locking does not occur under // DJGPP. But it is DOS - what did you expect? - {FzName: ts + 2403 /* "fstat" */, FpCurrent: 0}, + {FzName: ts + 2418 /* "fstat" */, FpCurrent: 0}, - {FzName: ts + 2409 /* "ftruncate" */, FpCurrent: 0}, + {FzName: ts + 2424 /* "ftruncate" */, FpCurrent: 0}, - {FzName: ts + 2419 /* "fcntl" */, FpCurrent: 0}, + {FzName: ts + 2434 /* "fcntl" */, FpCurrent: 0}, - {FzName: ts + 2425 /* "read" */, FpCurrent: 0}, + {FzName: ts + 2440 /* "read" */, FpCurrent: 0}, - {FzName: ts + 2430 /* "pread" */}, + {FzName: ts + 2445 /* "pread" */}, - {FzName: ts + 2436 /* "pread64" */}, + {FzName: ts + 2451 /* "pread64" */}, - {FzName: ts + 2444 /* "write" */, FpCurrent: 0}, + {FzName: ts + 2459 /* "write" */, FpCurrent: 0}, - {FzName: ts + 2450 /* "pwrite" */}, + {FzName: ts + 2465 /* "pwrite" */}, - {FzName: ts + 2457 /* "pwrite64" */}, + {FzName: ts + 2472 /* "pwrite64" */}, - {FzName: ts + 2466 /* "fchmod" */, FpCurrent: 0}, + {FzName: ts + 2481 /* "fchmod" */, FpCurrent: 0}, - {FzName: ts + 2473 /* "fallocate" */}, + {FzName: ts + 2488 /* "fallocate" */}, - {FzName: ts + 2483 /* "unlink" */, FpCurrent: 0}, + {FzName: ts + 2498 /* "unlink" */, FpCurrent: 0}, - {FzName: ts + 2490 /* "openDirectory" */, FpCurrent: 0}, + {FzName: ts + 2505 /* "openDirectory" */, FpCurrent: 0}, - {FzName: ts + 2504 /* "mkdir" */, FpCurrent: 0}, + {FzName: ts + 2519 /* "mkdir" */, FpCurrent: 0}, - {FzName: ts + 2510 /* "rmdir" */, FpCurrent: 0}, + {FzName: ts + 2525 /* "rmdir" */, FpCurrent: 0}, - {FzName: ts + 2516 /* "fchown" */, FpCurrent: 0}, + {FzName: ts + 2531 /* "fchown" */, FpCurrent: 0}, - {FzName: ts + 2523 /* "geteuid" */, FpCurrent: 0}, + {FzName: ts + 2538 /* "geteuid" */, FpCurrent: 0}, - {FzName: ts + 2531 /* "mmap" */, FpCurrent: 0}, + {FzName: ts + 2546 /* "mmap" */, FpCurrent: 0}, - {FzName: ts + 2536 /* "munmap" */, FpCurrent: 0}, + {FzName: ts + 2551 /* "munmap" */, FpCurrent: 0}, - {FzName: ts + 2543 /* "mremap" */, FpCurrent: 0}, + {FzName: ts + 2558 /* "mremap" */, FpCurrent: 0}, - {FzName: ts + 2550 /* "getpagesize" */, FpCurrent: 0}, + {FzName: ts + 2565 /* "getpagesize" */, FpCurrent: 0}, - {FzName: ts + 2562 /* "readlink" */, FpCurrent: 0}, + {FzName: ts + 2577 /* "readlink" */, FpCurrent: 0}, - {FzName: ts + 2571 /* "lstat" */, FpCurrent: 0}, + {FzName: ts + 2586 /* "lstat" */, FpCurrent: 0}, - {FzName: ts + 2577 /* "ioctl" */}, + {FzName: ts + 2592 /* "ioctl" */}, } /* sqlite3.c:34446:3 */ // End of the overrideable system calls @@ -22389,9 +22895,9 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3 } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, fd) Xsqlite3_log(tls, SQLITE_WARNING, - ts+2583 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) + ts+2598 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) fd = -1 - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, ts+2626 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, ts+2641 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { break } } @@ -22649,13 +23155,13 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // the strerror() function to obtain the human-readable error message // equivalent to errno. Otherwise, use strerror_r(). // This is a threadsafe build, but strerror_r() is not available. - zErr = ts + 740 /* "" */ + zErr = ts + 755 /* "" */ if zPath == uintptr(0) { - zPath = ts + 740 /* "" */ + zPath = ts + 755 /* "" */ } Xsqlite3_log(tls, errcode, - ts+2636, /* "os_unix.c:%d: (%..." */ + ts+2651, /* "os_unix.c:%d: (%..." */ libc.VaList(bp, iLine, iErrno, zFunc, zPath, zErr)) return errcode @@ -22674,7 +23180,7 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // and move on. func robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { /* sqlite3.c:35345:13: */ if (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, h) != 0 { - unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+2378, /* "close" */ + unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+2393, /* "close" */ func() uintptr { if pFile != 0 { return (*UnixFile)(unsafe.Pointer(pFile)).FzPath @@ -22833,19 +23339,19 @@ func verifyDbFile(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:35532:13: */ rc = (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, bp+32 /* &buf */) if rc != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2667 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2682 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink == X__nlink_t(0) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2691 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2706 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink > X__nlink_t(1) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2720 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2735 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2747 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2762 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -23959,7 +24465,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql var fd int32 = -1 // var zDirname [513]int8 at bp+8, 513 - Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+8 /* &zDirname[0] */, ts+2775 /* "%s" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+8 /* &zDirname[0] */, ts+2790 /* "%s" */, libc.VaList(bp, zFilename)) for ii = int32(libc.Xstrlen(tls, bp+8 /* &zDirname[0] */)); (ii > 0) && (int32(*(*int8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */ + uintptr(ii)))) != '/'); ii-- { } if ii > 0 { @@ -23978,7 +24484,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql if fd >= 0 { return SQLITE_OK } - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+2490 /* "openDirectory" */, bp+8 /* &zDirname[0] */, 37775) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+2505 /* "openDirectory" */, bp+8 /* &zDirname[0] */, 37775) } // Make sure all writes to a particular file are committed to disk. @@ -24013,7 +24519,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 if rc != 0 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+2778 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+2793 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) } // Also fsync the directory containing the file if the DIRSYNC flag @@ -24051,7 +24557,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 { /* sqlite3.c:378 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+2409 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2424 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) } else { // If the file was just truncated to a size smaller than the currently @@ -24130,7 +24636,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c if iWrite >= nSize { iWrite = (nSize - int64(1)) } - nWrite = seekAndWrite(tls, pFile, iWrite, ts+740 /* "" */, 1) + nWrite = seekAndWrite(tls, pFile, iWrite, ts+755 /* "" */, 1) if nWrite != 1 { return (SQLITE_IOERR | (int32(3) << 8)) } @@ -24143,7 +24649,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c 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+2409 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2424 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) } } @@ -24217,7 +24723,7 @@ func unixFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { } case SQLITE_FCNTL_VFSNAME: { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) return SQLITE_OK } @@ -24503,7 +25009,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32 // help detect if a -shm file truncation is legitimate or is the work // or a rogue process. if (rc == SQLITE_OK) && (robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0) { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+2409 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+2424 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) } } } else if int32((*flock)(unsafe.Pointer(bp+8 /* &lock */)).Fl_type) == F_WRLCK { @@ -24609,7 +25115,7 @@ __4: ; libc.Xmemset(tls, pShmNode, 0, (uint64(unsafe.Sizeof(unixShmNode{})) + uint64(nShmFilename))) zShm = libc.AssignPtrUintptr(pShmNode+16 /* &.zFilename */, (pShmNode + 1*96)) - Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+2789 /* "%s-shm" */, libc.VaList(bp, zBasePath)) + Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+2804 /* "%s-shm" */, libc.VaList(bp, zBasePath)) (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = -1 (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pDbFd)).FpInode)).FpShmNode = pShmNode @@ -24631,7 +25137,7 @@ __5: if !(int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FbProcessLock) == 0) { goto __7 } - if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+2796 /* "readonly_shm" */, 0)) { + if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+2811 /* "readonly_shm" */, 0)) { goto __8 } (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = robust_open(tls, zShm, ((O_RDWR | O_CREAT) | 0100000), @@ -24646,7 +25152,7 @@ __8: if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) { goto __10 } - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+2373 /* "open" */, zShm, 38716) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+2388 /* "open" */, zShm, 38716) goto shm_open_err __10: ; @@ -24813,11 +25319,11 @@ __11: goto __13 } *(*int32)(unsafe.Pointer(bp + 128 /* x */)) = 0 - if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+740 /* "" */, 1, bp+128 /* &x */) != 1) { + if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+755 /* "" */, 1, bp+128 /* &x */) != 1) { goto __14 } zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+2444 /* "write" */, zFile, 38860) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+2459 /* "write" */, zFile, 38860) goto shmpage_out __14: ; @@ -24865,7 +25371,7 @@ __16: if !(pMem == (libc.UintptrFromInt32(-1))) { goto __20 } - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+2531 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+2546 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) goto shmpage_out __20: ; @@ -25124,7 +25630,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39165:13: */ // continue accessing the database using the xRead() and xWrite() // methods. func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13: */ - var zErr uintptr = ts + 2531 /* "mmap" */ + var zErr uintptr = ts + 2546 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping var nOrig I64 = (*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual // Size of pOrig region in bytes @@ -25141,7 +25647,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13 } pNew = (*(*func(*libc.TLS, uintptr, Size_t, Size_t, int32, uintptr) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 24*24 + 8 /* &.pCurrent */))))(tls, pOrig, uint64(nReuse), uint64(nNew), MREMAP_MAYMOVE, 0) - zErr = ts + 2543 /* "mremap" */ + zErr = ts + 2558 /* "mremap" */ // The attempt to extend the existing mapping failed. Free it. if (pNew == (libc.UintptrFromInt32(-1))) || (pNew == uintptr(0)) { @@ -25377,10 +25883,10 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename } return uintptr(0) }(), - ts+2809 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { + ts+2824 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { *(*uint16)(unsafe.Pointer(pNew + 30 /* &.ctrlFlags */)) |= uint16((UNIXFILE_PSOW)) } - if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+2814 /* "unix-excl" */) == 0 { + if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+2829 /* "unix-excl" */) == 0 { *(*uint16)(unsafe.Pointer(pNew + 30 /* &.ctrlFlags */)) |= uint16((UNIXFILE_EXCL)) } @@ -25426,7 +25932,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename if zLockFile == uintptr(0) { rc = SQLITE_NOMEM } else { - Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+2824 /* "%s.lock" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+2839 /* "%s.lock" */, libc.VaList(bp, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext = zLockFile } @@ -25456,10 +25962,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var zDir uintptr = Xsqlite3_temp_directory if !(int32(azDirs[0]) != 0) { - azDirs[0] = libc.Xgetenv(tls, ts+2832 /* "SQLITE_TMPDIR" */) + azDirs[0] = libc.Xgetenv(tls, ts+2847 /* "SQLITE_TMPDIR" */) } if !(int32(azDirs[1]) != 0) { - azDirs[1] = libc.Xgetenv(tls, ts+2846 /* "TMPDIR" */) + azDirs[1] = libc.Xgetenv(tls, ts+2861 /* "TMPDIR" */) } for 1 != 0 { if (((zDir != uintptr(0)) && @@ -25479,10 +25985,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var azDirs = [6]uintptr{ uintptr(0), uintptr(0), - ts + 2853, /* "/var/tmp" */ - ts + 2862, /* "/usr/tmp" */ - ts + 2871, /* "/tmp" */ - ts + 753, /* "." */ + ts + 2868, /* "/var/tmp" */ + ts + 2877, /* "/usr/tmp" */ + ts + 2886, /* "/tmp" */ + ts + 768, /* "." */ } /* sqlite3.c:39857:21 */ // Create a temporary file name in zBuf. zBuf must be allocated @@ -25510,7 +26016,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U64(0))), bp+24 /* &r */) *(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2)))) = int8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+2876, /* "%s/etilqs_%llx%c" */ + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+2891, /* "%s/etilqs_%llx%c" */ libc.VaList(bp, zDir, *(*U64)(unsafe.Pointer(bp + 24 /* r */)), 0)) if (int32(*(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2))))) != 0) || ((libc.PostIncInt32(&iLimit, 1)) > 10) { return SQLITE_ERROR @@ -25666,7 +26172,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // filename, check for the "modeof" parameter. If present, interpret // its value as a filename and try to copy the mode, uid and gid from // that file. - var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+2893 /* "modeof" */) + var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+2908 /* "modeof" */) if z != 0 { rc = getFileMode(tls, z, pMode, pUid, pGid) } @@ -25892,7 +26398,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+2373 /* "open" */, zName, 40257) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+2388 /* "open" */, zName, 40257) if !(rc == SQLITE_OK) { goto __20 } @@ -26003,7 +26509,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+2483 /* "unlink" */, zPath, 40396) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+2498 /* "unlink" */, zPath, 40396) } return rc } @@ -26013,7 +26519,7 @@ 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 /* &.pCurrent */))))(tls, zPath, bp /* &fd */) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp /* fd */)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+2900 /* "fsync" */, zPath, 40406) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+2915 /* "fsync" */, zPath, 40406) } robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 40408) } else { @@ -26088,7 +26594,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(tls, zOut, (uint64(nOut-2))) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+2391 /* "getcwd" */, zPath, 40485) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+2406 /* "getcwd" */, zPath, 40485) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -26099,7 +26605,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) return Xsqlite3CantopenError(tls, 40494) } - Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+2775 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+2790 /* "%s" */, libc.VaList(bp, zPath)) // Remove duplicate '/' characters. Except, two // at the beginning // of a pathname is allowed since this is important on windows. @@ -26174,7 +26680,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8 /* &.pCurrent */))))(tls, zIn, bp /* &buf */) != 0 { if (*(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+2571 /* "lstat" */, zIn, 40577) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+2586 /* "lstat" */, zIn, 40577) } } else { bLink = (libc.Bool32((((*stat)(unsafe.Pointer(bp /* &buf */)).Fst_mode) & X__mode_t(0170000)) == (X__mode_t(0120000)))) @@ -26194,7 +26700,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls, zIn, zDel, (uint64(nOut - 1)))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+2562 /* "readlink" */, zIn, 40595) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+2577 /* "readlink" */, zIn, 40595) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 @@ -26288,7 +26794,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixEnterMutex(tls) zErr = libc.Xdlerror(tls) if zErr != 0 { - Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+2775 /* "%s" */, libc.VaList(bp, zErr)) + Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+2790 /* "%s" */, libc.VaList(bp, zErr)) } unixLeaveMutex(tls) } @@ -26345,7 +26851,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in { var fd int32 var got int32 - fd = robust_open(tls, ts+2906 /* "/dev/urandom" */, O_RDONLY, uint32(0)) + fd = robust_open(tls, ts+2921 /* "/dev/urandom" */, O_RDONLY, uint32(0)) if fd < 0 { // var t Time_t at bp, 8 @@ -26642,10 +27148,10 @@ func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42038:16: */ } var aVfs = [4]Sqlite3_vfs{ - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2919 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2924 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2934 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2814 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2934 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2939 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2949 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 2829 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, } /* sqlite3.c:42091:22 */ // Shutdown the operating system interface. @@ -26740,7 +27246,7 @@ var memdb_g MemFS /* sqlite3.c:48620:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) FmxPathname: 1024, // pNext - FzName: ts + 2947, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 2962, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -26972,7 +27478,7 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 var rc int32 = SQLITE_NOTFOUND memdbEnter(tls, p) if op == SQLITE_FCNTL_VFSNAME { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2953 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+2968 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == SQLITE_FCNTL_SIZE_LIMIT { @@ -27115,7 +27621,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(8) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+2775 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+2790 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } @@ -27232,7 +27738,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = Xsqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, ts+2968 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+2983 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) } else { @@ -27305,7 +27811,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+2991 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+3006 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) if !(zSql == uintptr(0)) { goto __3 } @@ -32783,7 +33289,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+3006, /* "recovered %d pag..." */ + Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+3021, /* "recovered %d pag..." */ libc.VaList(bp, nPlayback, (*Pager)(unsafe.Pointer(pPager)).FzJournal)) __27: ; @@ -34535,7 +35041,7 @@ __15: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzJournal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint64(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+3033 /* "-journal" */, uint64(8)) + libc.Xmemcpy(tls, pPtr, ts+3048 /* "-journal" */, uint64(8)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -34550,7 +35056,7 @@ __19: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzWal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint64(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+3042 /* "-wal" */, uint64(4)) + libc.Xmemcpy(tls, pPtr, ts+3057 /* "-wal" */, uint64(4)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -34609,9 +35115,9 @@ __27: ; __26: ; - (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3047 /* "nolock" */, 0)) + (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3062 /* "nolock" */, 0)) if !(((iDc & SQLITE_IOCAP_IMMUTABLE) != 0) || - (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3054 /* "immutable" */, 0) != 0)) { + (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+3069 /* "immutable" */, 0) != 0)) { goto __30 } vfsFlags = vfsFlags | (SQLITE_OPEN_READONLY) @@ -38508,7 +39014,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+3064, /* "recovered %d fra..." */ + ts+3079, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -39253,7 +39759,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+3101 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) + Xsqlite3_log(tls, rx, ts+3116 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) } } @@ -42033,7 +42539,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:65443: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3127 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 3142 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -44073,7 +44579,7 @@ func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt mutexOpen = uintptr(0) rc = SQLITE_OK isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zFilename))) == 0))) - isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+3143 /* ":memory:" */) == 0)) || + isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+3158 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -44947,7 +45453,7 @@ __10: // // The original design allowed these amounts to vary, but as of // version 3.6.0, we require them to be fixed. - if !(libc.Xmemcmp(tls, (page1+21), ts+3152 /* "@ " */, uint64(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+3167 /* "@ " */, uint64(3)) != 0) { goto __14 } goto page1_init_failed @@ -52463,7 +52969,7 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+3156 /* "\n" */, 1) + Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+3171 /* "\n" */, 1) } if (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, (pCheck + 56 /* &.errMsg */), (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -52499,11 +53005,11 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 defer tls.Free(16) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { - checkAppendMsg(tls, pCheck, ts+3158 /* "invalid page num..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+3173 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+3181 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) + checkAppendMsg(tls, pCheck, ts+3196 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -52530,13 +53036,13 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 } - checkAppendMsg(tls, pCheck, ts+3206 /* "Failed to read p..." */, libc.VaList(bp, iChild)) + checkAppendMsg(tls, pCheck, ts+3221 /* "Failed to read p..." */, libc.VaList(bp, iChild)) return } if (int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, - ts+3235, /* "Bad ptr map entr..." */ + ts+3250, /* "Bad ptr map entr..." */ libc.VaList(bp+8, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)))) } } @@ -52559,7 +53065,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } N-- if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+40 /* &pOvflPage */, 0) != 0 { - checkAppendMsg(tls, pCheck, ts+3289 /* "failed to get pa..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+3304 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) @@ -52570,7 +53076,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+3311 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) + ts+3326 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -52596,12 +53102,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, - ts+3350, /* "%s is %d but sho..." */ + ts+3365, /* "%s is %d but sho..." */ libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { - return ts + 3376 /* "size" */ + return ts + 3391 /* "size" */ } - return ts + 3381 /* "overflow list le..." */ + return ts + 3396 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -52745,13 +53251,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3402 /* "Page %u: " */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3417 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+96 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, - ts+3412 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+3427 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -52765,7 +53271,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+3450 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) + ts+3465 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; @@ -52773,7 +53279,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+3488 /* "free space corru..." */, libc.VaList(bp+16, rc)) + checkAppendMsg(tls, pCheck, ts+3503 /* "free space corru..." */, libc.VaList(bp+16, rc)) goto end_of_check __5: ; @@ -52781,7 +53287,7 @@ __5: hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FhdrOffset) // Set up for cell analysis - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3510 /* "On tree page %u ..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3525 /* "On tree page %u ..." */ contentOffset = (U32(((((int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5)))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5))) + 1)))) - 1) & 0xffff) + 1)) // Enforced by btreeInitPage() @@ -52803,7 +53309,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3536 /* "On page %u at ri..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3551 /* "On page %u at ri..." */ checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; @@ -52834,7 +53340,7 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+3564, /* "Offset %d out of..." */ + checkAppendMsg(tls, pCheck, ts+3579, /* "Offset %d out of..." */ libc.VaList(bp+24, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 @@ -52845,7 +53351,7 @@ __12: if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+3594 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+3609 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -52863,7 +53369,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+3618 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+3633 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) __15: ; *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 112 /* &info */)).FnKey @@ -52904,7 +53410,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+3642 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+3657 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -53002,7 +53508,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+3667 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) + ts+3682 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) goto __30 goto __32 __31: @@ -53022,7 +53528,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+3704, /* "Fragmentation of..." */ + ts+3719, /* "Fragmentation of..." */ libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -53151,7 +53657,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 3756 /* "Main freelist: " */ + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 3771 /* "Main freelist: " */ checkList(tls, bp+32 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) @@ -53189,7 +53695,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+3772, /* "max rootpage (%d..." */ + ts+3787, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -53199,7 +53705,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+3817 /* "incremental_vacu..." */, 0) + ts+3832 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -53249,13 +53755,13 @@ __23: if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3872 /* "Page %d is never..." */, libc.VaList(bp+16, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3887 /* "Page %d is never..." */, libc.VaList(bp+16, i)) __26: ; if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3894 /* "Pointer map page..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+3909 /* "Pointer map page..." */, libc.VaList(bp+24, i)) __27: ; goto __24 @@ -53574,7 +54080,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = pDb if Xsqlite3OpenTempDatabase(tls, bp+16 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+2775 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+2790 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg) @@ -53585,7 +54091,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+3928 /* "unknown database..." */, libc.VaList(bp+8, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+3943 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -53606,7 +54112,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76336:12: */ // message in database handle db. func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:76348:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { - Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+3948 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+3963 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -53633,7 +54139,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+3979 /* "source and desti..." */, 0) + pDestDb, SQLITE_ERROR, ts+3994 /* "source and desti..." */, 0) p = uintptr(0) } else { // Allocate space for a new sqlite3_backup object... @@ -54247,7 +54753,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 8 /* x */)), zBuf) } else { Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+4019, /* "%!.15g" */ + Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+4034, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -54888,7 +55394,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -55094,6 +55600,8 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 (*Mem)(unsafe.Pointer(pMem)).Fflags = flags if enc != 0 { (*Mem)(unsafe.Pointer(pMem)).Fenc = enc + } else if (*Mem)(unsafe.Pointer(pMem)).Fdb == uintptr(0) { + (*Mem)(unsafe.Pointer(pMem)).Fenc = U8(SQLITE_UTF8) } else { (*Mem)(unsafe.Pointer(pMem)).Fenc = (*Sqlite3)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fdb)).Fenc @@ -55399,7 +55907,7 @@ __9: goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) + Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: Xsqlite3ValueApplyAffinity(tls, pVal, aff, uint8(SQLITE_UTF8)) @@ -55471,7 +55979,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 zVal = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = uintptr(0) negInt = 1 - zNeg = ts + 740 /* "" */ + zNeg = ts + 755 /* "" */ rc = SQLITE_OK __1: @@ -55520,7 +56028,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 4026 /* "-" */ + zNeg = ts + 4041 /* "-" */ __6: ; @@ -55540,7 +56048,7 @@ __9: Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: - zVal = Xsqlite3MPrintf(tls, db, ts+4028 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + zVal = Xsqlite3MPrintf(tls, db, ts+4043 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) if !(zVal == uintptr(0)) { goto __12 } @@ -56985,34 +57493,34 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4033 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4048 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 32 /* &.aColl */) + uintptr(j)*8)) var zColl uintptr if pColl != 0 { zColl = (*CollSeq)(unsafe.Pointer(pColl)).FzName } else { - zColl = ts + 740 /* "" */ + zColl = ts + 755 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+303 /* "BINARY" */) == 0 { - zColl = ts + 4038 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+318 /* "BINARY" */) == 0 { + zColl = ts + 4053 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4040, /* ",%s%s%s" */ + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4055, /* ",%s%s%s" */ libc.VaList(bp+8, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { - return ts + 4026 /* "-" */ + return ts + 4041 /* "-" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 4048 /* "N." */ + return ts + 4063 /* "N." */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4066 /* ")" */, 1) break } @@ -57020,7 +57528,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4053 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4068 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -57028,32 +57536,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4062 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4077 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4062 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4077 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4069 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4084 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4074 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4089 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+523 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+538 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -57063,14 +57571,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4069 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4084 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+523 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+538 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { - zP4 = ts + 741 /* "NULL" */ + zP4 = ts + 756 /* "NULL" */ } else { - zP4 = ts + 4077 /* "(blob)" */ + zP4 = ts + 4092 /* "(blob)" */ } break @@ -57078,7 +57586,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4084 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4099 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -57089,20 +57597,20 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4092 /* "%c%u" */, libc.VaList(bp+128, func() int32 { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4107 /* "%c%u" */, libc.VaList(bp+128, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4097 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4112 /* "]" */, 1) break } case -4: { - zP4 = ts + 4099 /* "program" */ + zP4 = ts + 4114 /* "program" */ break } @@ -57134,7 +57642,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } -var encnames = [4]uintptr{ts + 4107 /* "?" */, ts + 4109 /* "8" */, ts + 4111 /* "16LE" */, ts + 4116 /* "16BE" */} /* sqlite3.c:80570:25 */ +var encnames = [4]uintptr{ts + 4122 /* "?" */, ts + 4124 /* "8" */, ts + 4126 /* "16LE" */, ts + 4131 /* "16BE" */} /* sqlite3.c:80570:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -57665,8 +58173,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 4121 /* "addr" */, ts + 4126 /* "opcode" */, ts + 4133 /* "p1" */, ts + 4136 /* "p2" */, ts + 4139 /* "p3" */, ts + 4142 /* "p4" */, ts + 4145 /* "p5" */, ts + 4148, /* "comment" */ - ts + 4156 /* "id" */, ts + 4159 /* "parent" */, ts + 4166 /* "notused" */, ts + 4174, /* "detail" */ + ts + 4136 /* "addr" */, ts + 4141 /* "opcode" */, ts + 4148 /* "p1" */, ts + 4151 /* "p2" */, ts + 4154 /* "p3" */, ts + 4157 /* "p4" */, ts + 4160 /* "p5" */, ts + 4163, /* "comment" */ + ts + 4171 /* "id" */, ts + 4174 /* "parent" */, ts + 4181 /* "notused" */, ts + 4189, /* "detail" */ } /* sqlite3.c:81298:23 */ // Close a VDBE cursor and release all the resources that cursor @@ -57914,7 +58422,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Select a super-journal file name nMainFile = Xsqlite3Strlen30(tls, zMainFile) - zSuper = Xsqlite3MPrintf(tls, db, ts+4181 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) + zSuper = Xsqlite3MPrintf(tls, db, ts+4196 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) if zSuper == uintptr(0) { return SQLITE_NOMEM } @@ -57924,16 +58432,16 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+4193 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+4208 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+4207 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+4222 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) } } retryCount++ Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &iRandom */) - Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+4222, /* "-mj%06X9%02X" */ + Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+4237, /* "-mj%06X9%02X" */ libc.VaList(bp+40, ((*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. @@ -58127,7 +58635,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq (!(deferred != 0) && ((*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0))) { (*Vdbe)(unsafe.Pointer(p)).Frc = (SQLITE_CONSTRAINT | (int32(3) << 8)) (*Vdbe)(unsafe.Pointer(p)).FerrorAction = U8(OE_Abort) - Xsqlite3VdbeError(tls, p, ts+4235 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4250 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -58409,7 +58917,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: // called), set the database error in this case as well. Xsqlite3ErrorWithMsg(tls, db, (*Vdbe)(unsafe.Pointer(p)).Frc, func() uintptr { if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -59960,13 +60468,13 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023 var zContext uintptr var zMsg uintptr if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_IsCheck) != 0 { - zContext = ts + 4265 /* "a CHECK constrai..." */ + zContext = ts + 4280 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 4284 /* "a generated colu..." */ + zContext = ts + 4299 /* "a generated colu..." */ } else { - zContext = ts + 4303 /* "an index" */ + zContext = ts + 4318 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+4312, /* "non-deterministi..." */ + zMsg = Xsqlite3_mprintf(tls, ts+4327, /* "non-deterministi..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -60097,7 +60605,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84185:1 // invalid). Return false if it is ok. func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+4348 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+4363 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -60107,7 +60615,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84204:12: */ if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+4393 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+4408 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -60577,7 +61085,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:84708:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG - Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+4433 /* "string or blob t..." */, int64(-1), + Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+4448 /* "string or blob t..." */, int64(-1), uint8(SQLITE_UTF8), uintptr(0)) } @@ -61328,7 +61836,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12 Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+4456 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) + ts+4471 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) return Xsqlite3MisuseError(tls, 85498) } if (i < 1) || (i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar)) { @@ -62105,7 +62613,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4496 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4511 /* "-- " */, 3) Xsqlite3_str_append(tls, bp+48 /* &out */, zStart, (int32((int64(zRawSql) - int64(zStart)) / 1))) } @@ -62143,11 +62651,11 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 184 /* idx */))-1))*56) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+741 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+756 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4069 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4084 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4019 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4034 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc @@ -62162,21 +62670,21 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = bp + 192 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4500 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4515 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { Xsqlite3VdbeMemRelease(tls, bp+192 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4507 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4522 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4520 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4535 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4523 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+4538 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4528 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4543 /* "'" */, 1) } } } @@ -65875,19 +66383,19 @@ __190: goto __193 } - Xsqlite3VdbeError(tls, p, ts+4530 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) + Xsqlite3VdbeError(tls, p, ts+4545 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __195 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+4551 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+4566 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __195: ; goto __194 __193: - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __194: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+4558 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+4573 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __192: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -68437,7 +68945,7 @@ __74: } // A new savepoint cannot be created if there are active write // statements (i.e. open read/write incremental blob handles). - Xsqlite3VdbeError(tls, p, ts+4582 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4597 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __448 __447: @@ -68510,7 +69018,7 @@ __455: if !(!(pSavepoint != 0)) { goto __456 } - Xsqlite3VdbeError(tls, p, ts+4633 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) + Xsqlite3VdbeError(tls, p, ts+4648 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) rc = SQLITE_ERROR goto __457 __456: @@ -68520,7 +69028,7 @@ __456: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+4655 /* "cannot release s..." */, 0) + ts+4670 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __459 __458: @@ -68725,7 +69233,7 @@ __488: // If this instruction implements a COMMIT and other VMs are writing // return an error indicating that the other VMs must complete first. Xsqlite3VdbeError(tls, p, - ts+4709 /* "cannot commit tr..." */, 0) + ts+4724 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __491 @@ -68768,13 +69276,13 @@ __486: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 4764 /* "cannot start a t..." */ + return ts + 4779 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 4812 /* "cannot rollback ..." */ + return ts + 4827 /* "cannot rollback ..." */ } - return ts + 4855 /* "cannot commit - ..." */ + return ts + 4870 /* "cannot commit - ..." */ }() }(), 0) @@ -68892,7 +69400,7 @@ __498: // version is checked to ensure that the schema has not changed since the // SQL statement was prepared. Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+4896 /* "database schema ..." */) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+4911 /* "database schema ..." */) // If the schema-cookie from the database file matches the cookie // stored with the in-memory representation of the schema, do // not reload the schema from the database file. @@ -69274,7 +69782,7 @@ __84: // Only used when number of columns is zero (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fn = 0 - (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 740 /* "" */ + (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 755 /* "" */ __524: ; pCx1 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -71404,7 +71912,7 @@ __688: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __691 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+4924 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+4939 /* "index corruption" */) goto abort_due_to_error __691: ; @@ -71837,14 +72345,14 @@ __137: goto __720 __719: - zSchema = ts + 4941 /* "sqlite_master" */ + zSchema = ts + 4956 /* "sqlite_master" */ (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FiDb = iDb3 (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FpzErrMsg = (p + 168 /* &.zErrMsg */) (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmInitFlags = U32(0) (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+4955, /* "SELECT*FROM\"%w\"...." */ + ts+4970, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp+64, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __721 @@ -72177,7 +72685,7 @@ __741: goto __746 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+4998 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+5013 /* "too many levels ..." */, 0) goto abort_due_to_error __746: ; @@ -72622,7 +73130,7 @@ __781: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __783 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __783: ; @@ -72700,7 +73208,7 @@ __788: if !(rc != 0) { goto __789 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __789: ; @@ -72815,12 +73323,12 @@ __798: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+5035, /* "cannot change %s..." */ + ts+5050, /* "cannot change %s..." */ libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 5087 /* "into" */ + return ts + 5102 /* "into" */ } - return ts + 5092 /* "out of" */ + return ts + 5107 /* "out of" */ }())) goto abort_due_to_error goto __801 @@ -73023,7 +73531,7 @@ __167: goto __816 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+5099 /* "database table i..." */, libc.VaList(bp+112, z1)) + Xsqlite3VdbeError(tls, p, ts+5114 /* "database table i..." */, libc.VaList(bp+112, z1)) __816: ; goto abort_due_to_error @@ -73267,7 +73775,7 @@ __833: if !((*Sqlite3_context)(unsafe.Pointer(bp+872 /* &sContext */)).FisError > 0) { goto __834 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) rc = (*Sqlite3_context)(unsafe.Pointer(bp + 872 /* &sContext */)).FisError __834: ; @@ -73598,7 +74106,7 @@ __857: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __862 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __862: ; @@ -73688,7 +74196,7 @@ __867: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __869 } - z3 = Xsqlite3MPrintf(tls, db, ts+5128 /* "-- %s" */, libc.VaList(bp+136, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+5143 /* "-- %s" */, libc.VaList(bp+136, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __870 @@ -73791,13 +74299,13 @@ __878: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __880 } - Xsqlite3VdbeError(tls, p, ts+2775 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+2790 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) __880: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) - Xsqlite3_log(tls, rc, ts+5134, /* "statement aborts..." */ + Xsqlite3_log(tls, rc, ts+5149, /* "statement aborts..." */ libc.VaList(bp+152, (int32((int64(pOp)-int64(aOp))/24)), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { @@ -73842,14 +74350,14 @@ __884: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+4433 /* "string or blob t..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4448 /* "string or blob t..." */, 0) rc = SQLITE_TOOBIG goto abort_due_to_error // Jump to here if a malloc() fails. no_mem: Xsqlite3OomFault(tls, db) - Xsqlite3VdbeError(tls, p, ts+5166 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+5181 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -73862,8 +74370,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 5180 /* "NOT NULL" */, ts + 5189 /* "UNIQUE" */, ts + 5196, /* "CHECK" */ - ts + 5202 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ +var azType = [4]uintptr{ts + 5195 /* "NOT NULL" */, ts + 5204 /* "UNIQUE" */, ts + 5211, /* "CHECK" */ + ts + 5217 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:88844:32 */ var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:88847:32 */ var aFlag1 = [2]U16{U16(MEM_Blob), (U16(MEM_Str | MEM_Term))} /* sqlite3.c:89315:24 */ @@ -73970,16 +74478,16 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } if type1 < U32(12) { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5214, /* "cannot open valu..." */ + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5229, /* "cannot open valu..." */ libc.VaList(bp, func() uintptr { if type1 == U32(0) { - return ts + 5243 /* "null" */ + return ts + 5258 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 5248 /* "real" */ + return ts + 5263 /* "real" */ } - return ts + 5253 /* "integer" */ + return ts + 5268 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -73999,10 +74507,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5261 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+5276 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+2775 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+2790 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -74065,21 +74573,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5281 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5296 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5311 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5326 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5347 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5362 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) __7: ; if !(!(pTab != 0)) { @@ -74124,7 +74632,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5368 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5383 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -74153,7 +74661,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+64 /* &.aCol */)+uintptr(j)*16)).FiFrom == iCol) { goto __23 } - zFault = ts + 5389 /* "foreign key" */ + zFault = ts + 5404 /* "foreign key" */ __23: ; goto __21 @@ -74186,7 +74694,7 @@ __27: if !((int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == iCol) || (int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == (-2))) { goto __30 } - zFault = ts + 5401 /* "indexed" */ + zFault = ts + 5416 /* "indexed" */ __30: ; goto __28 @@ -74207,7 +74715,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5409 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5424 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -74316,7 +74824,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)))) @@ -74481,7 +74989,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) @@ -78039,7 +78547,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+5443 /* "main" */, zDb) == 0)) { + if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+5458 /* "main" */, zDb) == 0)) { goto __8 } // This branch is taken when the main database has been renamed @@ -78242,14 +78750,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5448 /* "new" */, zTab) == 0)) { + if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5463 /* "new" */, zTab) == 0)) { goto __41 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 1 pTab = (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab goto __42 __41: - if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5452 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5467 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -78266,7 +78774,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+5456 /* "excluded" */, zTab) == 0)) { + if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+5471 /* "excluded" */, zTab) == 0)) { goto __45 } pTab = (*SrcItem)(unsafe.Pointer(((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8 /* &.a */))).FpTab @@ -78443,7 +78951,7 @@ __66: if !((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0) && (((*Expr)(unsafe.Pointer((pOrig))).Fflags & (U32(EP_Agg))) != U32(0))) { goto __70 } - Xsqlite3ErrorMsg(tls, pParse, ts+5465 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+5480 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -78451,14 +78959,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+5496 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+5511 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) return WRC_Abort __71: ; if !(Xsqlite3ExprVectorSize(tls, pOrig) != 1) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -78534,7 +79042,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+5551 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) + ts+5566 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)) = uintptr(0) return WRC_Prune @@ -78555,23 +79063,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 5586 /* "no such column" */ + zErr = ts + 5601 /* "no such column" */ } else { - zErr = ts + 5601 /* "ambiguous column..." */ + zErr = ts + 5616 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+5623 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5638 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+5636 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5651 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+5646 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5661 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -78705,15 +79213,15 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp bp := tls.Alloc(16) defer tls.Free(16) - var zIn uintptr = ts + 5653 /* "partial index WH..." */ + var zIn uintptr = ts + 5668 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 5681 /* "index expression..." */ + zIn = ts + 5696 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 5699 /* "CHECK constraint..." */ + zIn = ts + 5714 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 5717 /* "generated column..." */ + zIn = ts + 5732 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+5735 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) + Xsqlite3ErrorMsg(tls, pParse, ts+5750 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) if pExpr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } @@ -78821,10 +79329,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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 /* &.u */)) = ts + 5755 /* "true" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5770 /* "true" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsTrue)) } else { - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5760 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5775 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) } (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) @@ -78877,7 +79385,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (NC_IdxExpr | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+5766 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+5781 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -78944,7 +79452,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+5783 /* "second argument ..." */, 0) + ts+5798 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -78969,7 +79477,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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+5854, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+5869, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -78993,7 +79501,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all // all this. if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & ((NC_IdxExpr | NC_PartIdx) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+5889 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+5904 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -79022,30 +79530,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+5917 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) + ts+5932 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) (*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 + 5961 /* "window" */ + zType = ts + 5976 /* "window" */ } else { - zType = ts + 5968 /* "aggregate" */ + zType = ts + 5983 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+5978 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+5993 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) (*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+6007 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+6022 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6030, /* "wrong number of ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6045, /* "wrong number of ..." */ libc.VaList(bp+64, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, - ts+6075, /* "FILTER may not b..." */ + ts+6090, /* "FILTER may not b..." */ libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -79120,7 +79628,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+6124 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+6139 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) @@ -79137,7 +79645,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s { if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+6135 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+6150 /* "parameters" */, pExpr) } break @@ -79197,7 +79705,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) } break @@ -79302,7 +79810,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+6146 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) + ts+6161 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) } // Analyze the ORDER BY clause in a compound SELECT statement. Modify @@ -79334,7 +79842,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 + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6202 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6217 /* "too many terms i..." */, 0) return 1 } for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { @@ -79369,7 +79877,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 } if Xsqlite3ExprIsInteger(tls, pE, bp+8 /* &iCol */) != 0 { if (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { - resolveOutOfRangeError(tls, pParse, ts+6236 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+6251 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -79440,7 +79948,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { if (int32(*(*uint8)(unsafe.Pointer(((pOrderBy + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.done */)) & 0x4 >> 2)) == 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+6242 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+6257 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -79468,7 +79976,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6303 /* "too many terms i..." */, libc.VaList(bp, zType)) + Xsqlite3ErrorMsg(tls, pParse, ts+6318 /* "too many terms i..." */, libc.VaList(bp, zType)) return 1 } pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList @@ -79757,7 +80265,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp /* &sNC */ + 40 /* &.ncFlags */)) |= (NC_UEList) if (*Select)(unsafe.Pointer(p)).FpHaving != 0 { if !(pGroupBy != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+6334 /* "a GROUP BY claus..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6349 /* "a GROUP BY claus..." */, 0) return WRC_Abort } if Xsqlite3ResolveExprNames(tls, bp /* &sNC */, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -79814,7 +80322,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // resolve those symbols on the incorrect ORDER BY for consistency. if (((*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0)) && (isCompound <= nCompound)) && // Defer right-most ORDER BY of a compound - (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6236 /* "ORDER" */) != 0) { + (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6251 /* "ORDER" */) != 0) { return WRC_Abort } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -79827,7 +80335,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql if pGroupBy != 0 { var pItem uintptr - if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+6378 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { + if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+6393 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { return WRC_Abort } i = 0 @@ -79839,7 +80347,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql { if ((*Expr)(unsafe.Pointer(((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr))).Fflags & (U32(EP_Agg))) != U32(0) { Xsqlite3ErrorMsg(tls, pParse, - ts+6384 /* "aggregate functi..." */, 0) + ts+6399 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -80609,7 +81117,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) return } @@ -80685,7 +81193,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 3*4)) if nHeight > mxHeight { Xsqlite3ErrorMsg(tls, pParse, - ts+6443 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+6458 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -80926,7 +81434,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+6491 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+6506 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -80948,7 +81456,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u return uintptr(0) } if (pList != 0) && ((*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 6*4))) { - Xsqlite3ErrorMsg(tls, pParse, ts+6493 /* "too many argumen..." */, libc.VaList(bp, pToken)) + Xsqlite3ErrorMsg(tls, pParse, ts+6508 /* "too many argumen..." */, libc.VaList(bp, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32 /* &.x */)) = pList *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_HasFunc)) @@ -80982,7 +81490,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // is tagged with SQLITE_FUNC_UNSAFE) and // SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning // that the schema is possibly tainted). - Xsqlite3ErrorMsg(tls, pParse, ts+6527 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6542 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) } } } @@ -81035,7 +81543,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+6546, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6561, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) return } @@ -81062,7 +81570,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*Expr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+6589 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6604 /* "too many SQL var..." */, 0) } } @@ -81731,7 +82239,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+6612, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6627, /* "%d columns assig..." */ libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error __3: @@ -81866,7 +82374,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 2*4)) if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx) { - Xsqlite3ErrorMsg(tls, pParse, ts+6642 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+6657 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -81921,10 +82429,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 { /* sqlite3.c:103208:20: */ - if Xsqlite3StrICmp(tls, zIn, ts+5755 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+5770 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+5760 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+5775 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -82369,13 +82877,13 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 // Return TRUE if the given string is a row-id column name. func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:103650:20: */ - if Xsqlite3StrICmp(tls, z, ts+6665 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6680 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+6673 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6688 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+6679 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6694 /* "OID" */) == 0 { return 1 } return 0 @@ -82603,7 +83111,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, Xsqlite3OpenTable(tls, pParse, iTab, iDb, pTab, OP_OpenRead) eType = IN_INDEX_ROWID - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6683 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6698 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeJumpHere(tls, v, iAddr) } else { var pIdx uintptr // Iterator variable @@ -82694,7 +83202,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6730 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6745 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) @@ -82800,7 +83308,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec defer tls.Free(16) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { - var zFmt uintptr = ts + 6761 /* "sub-select retur..." */ + var zFmt uintptr = ts + 6776 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -82818,7 +83326,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_xIsSelect)) != 0 { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FpEList)).FnExpr, 1) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) } } @@ -82871,7 +83379,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6805 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6820 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) @@ -82907,11 +83415,11 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6828 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6843 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 6847 /* "CORRELATED " */ + return ts + 6862 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSelect)).FselId)) // If the LHS and RHS of the IN operator do not match, that // error will have been caught long before we reach this point. @@ -83057,7 +83565,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // If this routine has already been coded, then invoke it as a // subroutine. if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6859 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+6874 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) return (*Expr)(unsafe.Pointer(pExpr)).FiTable @@ -83090,11 +83598,11 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6877 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+6892 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 6847 /* "CORRELATED " */ + return ts + 6862 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSel)).FselId)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { nReg = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpEList)).FnExpr @@ -83118,7 +83626,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // The subquery already has a limit. If the pre-existing limit is X // then make the new limit X<>0 so that the new limit is either 1 or 0 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6491 /* "0" */) + pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6506 /* "0" */) if pLimit != 0 { (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, @@ -83128,7 +83636,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { // If there is no pre-existing limit add a limit of 1 - pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+6898 /* "1" */) + pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+6913 /* "1" */) (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -83620,12 +84128,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM c = Xsqlite3DecOrHexToI64(tls, z, bp+16 /* &value */) if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 16 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { - if Xsqlite3_strnicmp(tls, z, ts+6900 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6903 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { + if Xsqlite3_strnicmp(tls, z, ts+6915 /* "0x" */, 2) == 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+6918 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { - return ts + 4026 /* "-" */ + return ts + 4041 /* "-" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -83700,7 +84208,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT } else if (int32((*Column)(unsafe.Pointer((libc.AssignUintptr(&pCol, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32))))).FcolFlags) & COLFLAG_VIRTUAL) != 0 { var pParse uintptr = Xsqlite3VdbeParser(tls, v) if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_BUSY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6929 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6944 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else { var savedSelfTab int32 = (*Parse)(unsafe.Pointer(pParse)).FiSelfTab *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) @@ -84259,7 +84767,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+6929, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6944, /* "generated column..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -84511,7 +85019,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+6959 /* "misuse of aggreg..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+6974 /* "misuse of aggreg..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*32)).FiMem @@ -84553,7 +85061,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+6985 /* "unknown function..." */, libc.VaList(bp+16, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+7000 /* "unknown function..." */, libc.VaList(bp+16, zId)) goto __3 __91: ; @@ -84747,7 +85255,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+6612, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6627, /* "%d columns assig..." */ libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -84829,7 +85337,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+5533 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) goto __3 // TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions @@ -84953,7 +85461,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+7008 /* "RAISE() may only..." */, 0) + ts+7023 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -84992,7 +85500,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7058 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7073 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -86829,11 +87337,11 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq bp := tls.Alloc(8) defer tls.Free(8) - if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7066 /* "sqlite_" */, 7)) || + if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7081 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || ((((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Shadow)) != U32(0)) && (Xsqlite3ReadOnlyShadowTables(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+7074 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7089 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -86851,14 +87359,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+7102, /* "SELECT 1 FROM \"%..." */ + ts+7117, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+7277, /* "SELECT 1 FROM te..." */ + ts+7292, /* "SELECT 1 FROM te..." */ libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -86874,11 +87382,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+7451 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) + ts+7466 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+7598 /* "UPDATE temp.sqli..." */, 0) + ts+7613 /* "UPDATE temp.sqli..." */, 0) } } @@ -86952,7 +87460,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+7749 /* "there is already..." */, libc.VaList(bp, zName)) + ts+7764 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -86965,7 +87473,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+7808 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+7823 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -86975,7 +87483,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+7814 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7829 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -87028,24 +87536,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+7841 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+7856 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, - ts+8025, /* "UPDATE %Q.sqlite..." */ + ts+8040, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+64, zDb, zName, zName, zName, nTabName, zTabName)) // If the sqlite_sequence table exists in this database, then update // it with the new table name. - if !(Xsqlite3FindTable(tls, db, ts+8330 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+8345 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+8346, /* "UPDATE \"%w\".sqli..." */ + ts+8361, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -87058,7 +87566,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+8404 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+8419 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -87076,7 +87584,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+8669 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+8684 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -87091,7 +87599,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, - ts+8682, /* "SELECT raise(ABO..." */ + ts+8697, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -87139,12 +87647,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // If there is a NOT NULL constraint, then the default value for the // column must not be NULL. if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+8720 /* "Cannot add a PRI..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8735 /* "Cannot add a PRI..." */, 0) return } if (*Table)(unsafe.Pointer(pNew)).FpIndex != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+8752 /* "Cannot add a UNI..." */, 0) + ts+8767 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -87157,11 +87665,11 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if ((((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ForeignKeys)) != 0) && ((*Table)(unsafe.Pointer(pNew)).FpFKey != 0)) && (pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+8779 /* "Cannot add a REF..." */) + ts+8794 /* "Cannot add a REF..." */) } if ((*Column)(unsafe.Pointer(pCol)).FnotNull != 0) && !(pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+8838 /* "Cannot add a NOT..." */) + ts+8853 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -87177,12 +87685,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+8891 /* "Cannot add a col..." */) + ts+8906 /* "Cannot add a col..." */) } Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { - sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+8937 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+8952 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -87198,7 +87706,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+8964, /* "UPDATE \"%w\".sqli..." */ + ts+8979, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp, zDb, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zCol, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zTab)) Xsqlite3DbFree(tls, db, zCol) @@ -87269,7 +87777,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+9110 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9125 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -87278,7 +87786,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+9144 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9159 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -87313,7 +87821,7 @@ __6: nAlloc = ((((int32((*Table)(unsafe.Pointer(pNew)).FnCol) - 1) / 8) * 8) + 8) (*Table)(unsafe.Pointer(pNew)).FaCol = Xsqlite3DbMallocZero(tls, db, (uint64(uint64(unsafe.Sizeof(Column{})) * uint64(nAlloc)))) - (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+9174 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+9189 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(!(int32((*Table)(unsafe.Pointer(pNew)).FaCol) != 0) || !(int32((*Table)(unsafe.Pointer(pNew)).FzName) != 0)) { goto __7 } @@ -87360,18 +87868,18 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { - zType = ts + 9193 /* "view" */ + zType = ts + 9208 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 9198 /* "virtual table" */ + zType = ts + 9213 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+9212, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9227, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 9230 /* "drop column from" */ + return ts + 9245 /* "drop column from" */ } - return ts + 9247 /* "rename columns o..." */ + return ts + 9262 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -87464,13 +87972,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+5368 /* "no such column: ..." */, libc.VaList(bp, zOld)) + Xsqlite3ErrorMsg(tls, pParse, ts+5383 /* "no such column: ..." */, libc.VaList(bp, zOld)) goto exit_rename_column __10: ; // Ensure the schema contains no double-quoted strings - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+740 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+755 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iSchema == 1))) // Do the rename operation using a recursive UPDATE statement that @@ -87488,19 +87996,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+9265, /* "UPDATE \"%w\".sqli..." */ + ts+9280, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+8, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, - ts+9483, /* "UPDATE temp.sqli..." */ + ts+9498, /* "UPDATE temp.sqli..." */ libc.VaList(bp+72, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+8669 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+8684 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -87795,12 +88303,12 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui var zN uintptr = Xsqlite3_value_text(tls, pObject) var zErr uintptr - zErr = Xsqlite3_mprintf(tls, ts+9614, /* "error in %s %s%s..." */ + zErr = Xsqlite3_mprintf(tls, ts+9629, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - return ts + 9637 /* " " */ + return ts + 9652 /* " " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -87909,7 +88417,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // ALTER TABLE statement was quoted (bQuote==1), then set zNew to // point to zQuot so that all substitutions are made using the // quoted version of the new column name. - zQuot = Xsqlite3MPrintf(tls, db, ts+9639 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+9654 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -87959,12 +88467,12 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.Xmemcpy(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, uint64((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+9645 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+9660 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { - return ts + 9637 /* " " */ + return ts + 9652 /* " " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -88469,7 +88977,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+740 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) + renameColumnParseError(tls, context, ts+755 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) goto __45 __44: Xsqlite3_result_error_code(tls, context, rc) @@ -88649,7 +89157,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr } if rc != SQLITE_OK { if (*Parse)(unsafe.Pointer(bp+80 /* &sParse */)).FzErrMsg != 0 { - renameColumnParseError(tls, context, ts+740 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) + renameColumnParseError(tls, context, ts+755 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -88931,7 +89439,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+9650 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) + zNew = Xsqlite3MPrintf(tls, db, ts+9665 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -1, libc.UintptrFromInt32(-1)) Xsqlite3_free(tls, zNew) @@ -89019,7 +89527,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+5368 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5383 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -89029,12 +89537,12 @@ __6: if !((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & (COLFLAG_PRIMKEY | COLFLAG_UNIQUE)) != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+9657, /* "cannot drop %s c..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9672, /* "cannot drop %s c..." */ libc.VaList(bp+8, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - return ts + 9685 /* "PRIMARY KEY" */ + return ts + 9700 /* "PRIMARY KEY" */ } - return ts + 5189 /* "UNIQUE" */ + return ts + 5204 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -89045,7 +89553,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+9697 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+9712 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) goto exit_drop_column __8: ; @@ -89054,15 +89562,15 @@ __8: iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+740 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+755 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+9745 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+9760 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+9866 /* "after drop colum..." */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+9881 /* "after drop colum..." */, 1) // Edit rows of table on disk if !(((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) && ((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_VIRTUAL) == 0)) { @@ -89173,11 +89681,11 @@ func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:109584:21: */ } var aAlterTableFuncs = [5]FuncDef{ - {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9884 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9905 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9925 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9944 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9963 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ + {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9899 /* "sqlite_rename_co..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9920 /* "sqlite_rename_ta..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9940 /* "sqlite_rename_te..." */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9959 /* "sqlite_drop_colu..." */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9978 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -89374,7 +89882,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // of the new table in register pParse->regRoot. This is important // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, - ts+9986 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) + ts+10001 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } @@ -89386,10 +89894,10 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, - ts+10009, /* "DELETE FROM %Q.%..." */ + ts+10024, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+10039 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+10054 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb) @@ -89410,9 +89918,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 10057 /* "sqlite_stat1" */, FzCols: ts + 10070 /* "tbl,idx,stat" */}, - {FzName: ts + 10083 /* "sqlite_stat4" */, FzCols: ts + 10096 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 10124 /* "sqlite_stat3" */}, + {FzName: ts + 10072 /* "sqlite_stat1" */, FzCols: ts + 10085 /* "tbl,idx,stat" */}, + {FzName: ts + 10098 /* "sqlite_stat4" */, FzCols: ts + 10111 /* "tbl,idx,neq,nlt,..." */}, + {FzName: ts + 10139 /* "sqlite_stat3" */}, } /* sqlite3.c:109773:5 */ // Recommended number of samples for sqlite_stat4 @@ -89643,7 +90151,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10137 /* "stat_init" */} /* sqlite3.c:110084:22 */ + FzName: ts + 10152 /* "stat_init" */} /* sqlite3.c:110084:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -89961,7 +90469,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10147 /* "stat_push" */} /* sqlite3.c:110374:22 */ + FzName: ts + 10162 /* "stat_push" */} /* sqlite3.c:110374:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -90018,7 +90526,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+10157, /* "%llu" */ + Xsqlite3_snprintf(tls, 24, zRet, ts+10172, /* "%llu" */ libc.VaList(bp, func() uint64 { if (*StatAccum)(unsafe.Pointer(p)).FnSkipAhead != 0 { return U64((*StatAccum)(unsafe.Pointer(p)).FnEst) @@ -90029,7 +90537,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+10162 /* " %llu" */, libc.VaList(bp+8, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+10177 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -90078,7 +90586,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+10168 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+10183 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -90095,7 +90603,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10174 /* "stat_get" */} /* sqlite3.c:110526:22 */ + FzName: ts + 10189 /* "stat_get" */} /* sqlite3.c:110526:22 */ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:110538:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, (regStat + 1)) @@ -90142,7 +90650,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Do not gather statistics on views or virtual tables return } - if Xsqlite3_strlike(tls, ts+10183 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, ts+10198 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { // Do not gather statistics on system tables return } @@ -90160,7 +90668,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp return } (*Table)(unsafe.Pointer(pStat1)).FzName = (pStat1 + 1*120) - libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+10057 /* "sqlite_stat1" */, uint64(13)) + libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+10072 /* "sqlite_stat1" */, uint64(13)) (*Table)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*Table)(unsafe.Pointer(pStat1)).FiPKey = int16(-1) Xsqlite3VdbeAddOp4(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Noop, 0, 0, 0, pStat1, -17) @@ -90393,7 +90901,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Add the entry to the stat1 table. callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10193 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10208 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP4(tls, v, -1, pStat1, -6) @@ -90455,7 +90963,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp jZeroRows = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, regStat1) Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regIdxname) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10193 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+10208 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -90508,9 +91016,9 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) iStatCur = (*Parse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52 /* &.nTab */)) += (3) if pOnlyIdx != 0 { - openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+10197 /* "idx" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+10212 /* "idx" */) } else { - openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10201 /* "tbl" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10216 /* "tbl" */) } analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1), (*Parse)(unsafe.Pointer(pParse)).FnTab) loadAnalysis(tls, pParse, iDb) @@ -90605,7 +91113,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 740 /* "" */ + z = ts + 755 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -90627,15 +91135,15 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, ts+10205 /* "unordered*" */, z) == 0 { + if Xsqlite3_strglob(tls, ts+10220 /* "unordered*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(1), 2, 0x4) - } else if Xsqlite3_strglob(tls, ts+10216 /* "sz=[0-9]*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+10231 /* "sz=[0-9]*" */, z) == 0 { var sz int32 = Xsqlite3Atoi(tls, (z + uintptr(3))) if sz < 2 { sz = 2 } (*Index)(unsafe.Pointer(pIndex)).FszIdxRow = Xsqlite3LogEst(tls, uint64(sz)) - } else if Xsqlite3_strglob(tls, ts+10226 /* "noskipscan*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+10241 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(1), 6, 0x40) } for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { @@ -90954,10 +91462,10 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:111438:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines - if Xsqlite3FindTable(tls, db, ts+10083 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+10098 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+10238, /* "SELECT idx,count..." */ - ts+10292, /* "SELECT idx,neq,n..." */ + ts+10253, /* "SELECT idx,count..." */ + ts+10307, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -91008,9 +91516,9 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // Load new statistics out of the sqlite_stat1 table (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).Fdb = db (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+10057 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { + if Xsqlite3FindTable(tls, db, ts+10072 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+10344 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) + ts+10359 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { @@ -91102,7 +91610,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // database iDb attached to handle db. func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:111595:20: */ return (libc.Bool32((Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0) || - ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+5443 /* "main" */, zName) == 0)))) + ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+5458 /* "main" */, zName) == 0)))) } // An SQL user-function registered to do the work of an ATTACH statement. The @@ -91153,13 +91661,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 740 /* "" */ + zFile = ts + 755 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 740 /* "" */ + zName = ts + 755 /* "" */ __2: ; @@ -91169,7 +91677,7 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+2947 /* "memdb" */) + *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+2962 /* "memdb" */) if !(*(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) == uintptr(0)) { goto __5 } @@ -91185,7 +91693,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+10385 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+10400 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -91198,7 +91706,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10388, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10403, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -91212,7 +91720,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10425 /* "database %s is a..." */, libc.VaList(bp+8, zName)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10440 /* "database %s is a..." */, libc.VaList(bp+8, zName)) goto attach_error __11: ; @@ -91283,7 +91791,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10455 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10470 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -91300,7 +91808,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+10484 /* "attached databas..." */, 0) + ts+10499 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -91370,13 +91878,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+5166 /* "out of memory" */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+5181 /* "out of memory" */, 0) goto __31 __30: if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10552 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10567 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) __32: ; __31: @@ -91432,7 +91940,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 740 /* "" */ + zName = ts + 755 /* "" */ __1: ; i = 0 @@ -91464,14 +91972,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10580 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10595 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10601 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10616 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -91479,7 +91987,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10627 /* "database %s is l..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10642 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -91602,7 +92110,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10649 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 10664 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -91615,7 +92123,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10663 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ + FzName: ts + 10678 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ @@ -91630,7 +92138,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer((*DbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit.Fbusy != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } else { - Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+10677 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) + Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+10692 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) return WRC_Abort } } @@ -91663,7 +92171,7 @@ __1: if (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != Xsqlite3FindDbName(tls, db, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) { Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, - ts+10701, /* "%s %T cannot ref..." */ + ts+10716, /* "%s %T cannot ref..." */ libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType, (*DbFixer)(unsafe.Pointer(pFix)).FpName, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return WRC_Abort } @@ -91862,7 +92370,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112233:13: */ - Xsqlite3ErrorMsg(tls, pParse, ts+10747 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10762 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -91886,11 +92394,11 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - var z uintptr = Xsqlite3_mprintf(tls, ts+10770 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) + var z uintptr = Xsqlite3_mprintf(tls, ts+10785 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+10776 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+10791 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+10782 /* "access to %z is ..." */, libc.VaList(bp+32, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+10797 /* "access to %z is ..." */, libc.VaList(bp+32, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -91942,7 +92450,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName } else { - zCol = ts + 6673 /* "ROWID" */ + zCol = ts + 6688 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -91974,7 +92482,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+10809 /* "not authorized" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10824 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_OK) && (rc != SQLITE_IGNORE) { rc = SQLITE_DENY @@ -92284,25 +92792,25 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb { // No match against the official names. But always match "main" // to schema 0 as a legacy fallback. - if Xsqlite3StrICmp(tls, zDatabase, ts+5443 /* "main" */) == 0 { + if Xsqlite3StrICmp(tls, zDatabase, ts+5458 /* "main" */) == 0 { i = 0 } else { return uintptr(0) } } p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), zName) - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7066 /* "sqlite_" */, 7) == 0) { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7081 /* "sqlite_" */, 7) == 0) { if i == 1 { - if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10824 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10843 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+4941 /* "sqlite_master" */ +7)) == 0) { + if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10839 /* "sqlite_temp_sche..." */ +7)) == 0) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10858 /* "sqlite_schema" */ +7)) == 0)) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+4956 /* "sqlite_master" */ +7)) == 0) { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+10857 /* "sqlite_temp_mast..." */) + ts+10872 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10843 /* "sqlite_schema" */ +7)) == 0 { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10858 /* "sqlite_schema" */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), - ts+4941 /* "sqlite_master" */) + ts+4956 /* "sqlite_master" */) } } } @@ -92325,12 +92833,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7066 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10843 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+4941 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10824 /* "sqlite_temp_sche..." */ +7)) == 0 { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7081 /* "sqlite_" */, 7) == 0) { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10858 /* "sqlite_schema" */ +7)) == 0 { + p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+4956 /* "sqlite_master" */) + } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10839 /* "sqlite_temp_sche..." */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+10857 /* "sqlite_temp_mast..." */) + ts+10872 /* "sqlite_temp_mast..." */) } } } @@ -92366,7 +92874,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // can be an eponymous virtual table. if (int32((*Parse)(unsafe.Pointer(pParse)).FdisableVtab) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { var pMod uintptr = Xsqlite3HashFind(tls, (db + 536 /* &.aModule */), zName) - if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10876 /* "pragma_" */, 7) == 0) { + if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10891 /* "pragma_" */, 7) == 0) { pMod = Xsqlite3PragmaVtabRegister(tls, db, zName) } if (pMod != 0) && (Xsqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0) { @@ -92384,14 +92892,14 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if p == uintptr(0) { var zMsg uintptr if (flags & U32(LOCATE_VIEW)) != 0 { - zMsg = ts + 10884 /* "no such view" */ + zMsg = ts + 10899 /* "no such view" */ } else { - zMsg = ts + 10897 /* "no such table" */ + zMsg = ts + 10912 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+5636 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+5651 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+5646 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+5661 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -92704,7 +93212,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // writing. The table is opened using cursor 0. func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:113223:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) - Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+4941 /* "sqlite_master" */) + Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+4956 /* "sqlite_master" */) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) if (*Parse)(unsafe.Pointer(p)).FnTab == 0 { (*Parse)(unsafe.Pointer(p)).FnTab = 1 @@ -92731,7 +93239,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql } // "main" is always an acceptable alias for the primary database // even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. - if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+5443 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+5458 /* "main" */, zName)) { goto __3 } @@ -92784,13 +93292,13 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if (*Token)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10911 /* "corrupt database" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10926 /* "corrupt database" */, 0) return -1 } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = Xsqlite3FindDb(tls, db, pName1) if iDb < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10928 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+10943 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -92831,13 +93339,13 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType if ((Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit))) != 0) || (Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 1*8))) != 0)) || (Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 2*8))) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+740 /* "" */, 0) // corruptSchema() will supply the error + Xsqlite3ErrorMsg(tls, pParse, ts+755 /* "" */, 0) // corruptSchema() will supply the error return SQLITE_ERROR } } else { - if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+7066 /* "sqlite_" */, 7))) || + if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+7081 /* "sqlite_" */, 7))) || ((Xsqlite3ReadOnlyShadowTables(tls, db) != 0) && (Xsqlite3ShadowTableName(tls, db, zName) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+10948, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10963, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -93006,9 +93514,9 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui iDb = int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) zName = Xsqlite3DbStrDup(tls, db, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 @@ -93026,7 +93534,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+10990 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11005 /* "temporary table ..." */, 0) return __4: ; @@ -93054,9 +93562,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 9193 /* "view" */ + return ts + 9208 /* "view" */ } - return ts + 7808 /* "table" */ + return ts + 7823 /* "table" */ }(), zName) != 0) { goto __8 } @@ -93073,9 +93581,9 @@ __9: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (isTemp == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -93113,7 +93621,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+11031 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+11046 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) goto __16 __15: ; @@ -93127,7 +93635,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+11055 /* "there is already..." */, libc.VaList(bp+8, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11070 /* "there is already..." */, libc.VaList(bp+8, zName)) goto begin_table_error __17: ; @@ -93243,7 +93751,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:113716:13: */ var pHash uintptr pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - Xsqlite3HashInsert(tls, pHash, ts+11090 /* "sqlite_returning" */, uintptr(0)) + Xsqlite3HashInsert(tls, pHash, ts+11105 /* "sqlite_returning" */, uintptr(0)) Xsqlite3ExprListDelete(tls, db, (*Returning)(unsafe.Pointer(pRet)).FpReturnEL) Xsqlite3DbFree(tls, db, pRet) } @@ -93267,7 +93775,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Parse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11107 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11122 /* "cannot use RETUR..." */, 0) } else { } @@ -93288,7 +93796,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 11090 /* "sqlite_returning" */ + (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 11105 /* "sqlite_returning" */ (*Returning)(unsafe.Pointer(pRet)).FretTrig.Fop = U8(TK_RETURNING) (*Returning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = U8(TRIGGER_AFTER) (*Returning)(unsafe.Pointer(pRet)).FretTrig.FbReturning = U8(1) @@ -93300,7 +93808,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql (*Returning)(unsafe.Pointer(pRet)).FretTStep.FpExprList = pList pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - if Xsqlite3HashInsert(tls, pHash, ts+11090 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+11105 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == (pRet + 16 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -93328,7 +93836,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp return } if (int32((*Table)(unsafe.Pointer(p)).FnCol) + 1) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+11141 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11156 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } z = Xsqlite3DbMallocRaw(tls, db, (uint64(((*Token)(unsafe.Pointer(pName)).Fn + (*Token)(unsafe.Pointer(pType)).Fn) + uint32(2)))) @@ -93344,7 +93852,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11164 /* "duplicate column..." */, libc.VaList(bp+8, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+11179 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -93518,11 +94026,11 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar var isInit int32 = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) != 1))) pCol = ((*Table)(unsafe.Pointer(p)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(p)).FnCol)-1))*32) if !(Xsqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11190, /* "default value of..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11205, /* "default value of..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11235 /* "cannot use DEFAU..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11250 /* "cannot use DEFAU..." */, 0) } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. @@ -93572,7 +94080,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+11276 /* "generated column..." */, 0) + ts+11291 /* "generated column..." */, 0) } } @@ -93617,7 +94125,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+11328 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+11343 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit __2: ; @@ -93677,7 +94185,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+740 /* "" */), ts+11369 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+755 /* "" */), ts+11384 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -93705,7 +94213,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+11377 /* "AUTOINCREMENT is..." */, 0) + ts+11392 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -93809,7 +94317,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+11433 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11448 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -93822,13 +94330,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+11476 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+11491 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { goto __5 } // no-op goto __6 __5: - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+11484 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+11499 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { goto __7 } eType = U8(COLFLAG_STORED) @@ -93861,7 +94369,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+11491, /* "error in generat..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11506, /* "error in generat..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) generated_done: Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -94003,13 +94511,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 740 /* "" */ - zSep2 = ts + 11522 /* "," */ - zEnd = ts + 4051 /* ")" */ + zSep = ts + 755 /* "" */ + zSep2 = ts + 11537 /* "," */ + zEnd = ts + 4066 /* ")" */ } else { - zSep = ts + 11524 /* "\n " */ - zSep2 = ts + 11528 /* ",\n " */ - zEnd = ts + 11533 /* "\n)" */ + zSep = ts + 11539 /* "\n " */ + zSep2 = ts + 11543 /* ",\n " */ + zEnd = ts + 11548 /* "\n)" */ } n = n + (35 + (6 * int32((*Table)(unsafe.Pointer(p)).FnCol))) zStmt = Xsqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -94017,7 +94525,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+11536 /* "CREATE TABLE " */, 0) + Xsqlite3_snprintf(tls, n, zStmt, ts+11551 /* "CREATE TABLE " */, 0) *(*int32)(unsafe.Pointer(bp + 8 /* k */)) = Xsqlite3Strlen30(tls, zStmt) identPut(tls, zStmt, bp+8 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = int8('(') @@ -94051,16 +94559,16 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+2775 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+2790 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } var azType1 = [5]uintptr{ - /* SQLITE_AFF_BLOB */ ts + 740, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 11550, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 11556, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 11561, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 11566, /* " REAL" */ + /* SQLITE_AFF_BLOB */ ts + 755, /* "" */ + /* SQLITE_AFF_TEXT */ ts + 11565, /* " TEXT" */ + /* SQLITE_AFF_NUMERIC */ ts + 11571, /* " NUM" */ + /* SQLITE_AFF_INTEGER */ ts + 11576, /* " INT" */ + /* SQLITE_AFF_REAL */ ts + 11581, /* " REAL" */ } /* sqlite3.c:114391:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK @@ -94497,7 +95005,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // table itself. So mark it read-only. if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { if pSelect != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+740 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+755 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -94510,11 +95018,11 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (int32(tabOpts) & TF_WithoutRowid) != 0 { if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+11572 /* "AUTOINCREMENT no..." */, 0) + ts+11587 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11622 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11637 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } *(*U32)(unsafe.Pointer(p + 64 /* &.tabFlags */)) |= (U32(TF_WithoutRowid | TF_NoVisibleRowid)) @@ -94558,7 +95066,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11654 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11669 /* "must have at lea..." */, 0) return } } @@ -94591,12 +95099,12 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // Initialize zType for the new view or table. if (*Table)(unsafe.Pointer(p)).FpSelect == uintptr(0) { // A regular table - zType = ts + 7808 /* "table" */ - zType2 = ts + 11698 /* "TABLE" */ + zType = ts + 7823 /* "table" */ + zType2 = ts + 11713 /* "TABLE" */ } else { // A view - zType = ts + 9193 /* "view" */ - zType2 = ts + 11704 /* "VIEW" */ + zType = ts + 9208 /* "view" */ + zType2 = ts + 11719 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -94677,7 +95185,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+11709 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+11724 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -94685,7 +95193,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+11724, /* "UPDATE %Q.sqlite..." */ + ts+11739, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, @@ -94703,14 +95211,14 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+11822, /* "CREATE TABLE %Q...." */ + ts+11837, /* "CREATE TABLE %Q...." */ libc.VaList(bp+88, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+11864 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+11879 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -94731,7 +95239,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // then record a pointer to this table in the main database structure // so that INSERT can find the table easily. - if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+8330 /* "sqlite_sequence" */) == 0 { + if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+8345 /* "sqlite_sequence" */) == 0 { (*Schema)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -94768,7 +95276,7 @@ func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui if !(int32((*Parse)(unsafe.Pointer(pParse)).FnVar) > 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+11898 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11913 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -94790,7 +95298,7 @@ __2: Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp /* &pName */) iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(p)).FpSchema) - Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+9193 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) + Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+9208 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) if !(Xsqlite3FixSelect(tls, bp+8 /* &sFix */, pSelect) != 0) { goto __3 } @@ -94907,7 +95415,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i // CREATE TEMP VIEW ex1 AS SELECT a FROM ex1; // SELECT * FROM temp.ex1; if int32((*Table)(unsafe.Pointer(pTable)).FnCol) < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11934 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11949 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) return 1 } @@ -95049,7 +95557,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) if iTable < 2 { - Xsqlite3ErrorMsg(tls, pParse, ts+11964 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11979 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -95063,7 +95571,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+11979, /* "UPDATE %Q.sqlite..." */ + ts+11994, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb+uintptr(iDb)*32)).FzDbSName, iTable, r1, r1)) Xsqlite3ReleaseTempReg(tls, pParse, r1) } @@ -95127,10 +95635,10 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint for i = 1; i <= 4; i++ { // var zTab [24]int8 at bp+40, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+12046 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+12061 /* "sqlite_stat%d" */, libc.VaList(bp, i)) if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+40 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+10009, /* "DELETE FROM %Q.%..." */ + ts+10024, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } @@ -95170,7 +95678,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // move as a result of the drop (can happen in auto-vacuum mode). if ((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+12060, /* "DELETE FROM %Q.s..." */ + ts+12075, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -95182,7 +95690,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+12105, /* "DELETE FROM %Q.s..." */ + ts+12120, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) @@ -95212,11 +95720,11 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Return true if it is not allowed to drop the given table func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:115607:12: */ - if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7066 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+2398 /* "stat" */, 4) == 0 { + if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7081 /* "sqlite_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+2413 /* "stat" */, 4) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+6135 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+6150 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -95297,9 +95805,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zArg2 = uintptr(0) @@ -95359,7 +95867,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+12172 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12187 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __19: ; @@ -95369,14 +95877,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+12200 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12215 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+12234 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12249 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -95391,7 +95899,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+10201 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+10216 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -95456,7 +95964,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+12266, /* "foreign key on %..." */ + ts+12281, /* "foreign key on %..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(iCol)*32)).FzName, pTo)) goto fk_end __5: @@ -95469,7 +95977,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+12329 /* "number of column..." */, 0) + ts+12344 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -95553,7 +96061,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+12423, /* "unknown column \"..." */ + ts+12438, /* "unknown column \"..." */ libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*32)).FzEName)) goto fk_end __23: @@ -95803,12 +96311,12 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pList)).FnExpr; i++ { if (uint32(int32(*(*uint8)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32 + 20 /* &.bNulls */)) & 0x20 >> 5))) != 0 { var sf U8 = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32)).FsortFlags - Xsqlite3ErrorMsg(tls, pParse, ts+12469, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12484, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 12497 /* "FIRST" */ + return ts + 12512 /* "FIRST" */ } - return ts + 12503 /* "LAST" */ + return ts + 12518 /* "LAST" */ }())) return 1 } @@ -95966,7 +96474,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+12508 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) + Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+12523 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+136 /* &sFix */, pTblName) != 0) { goto __10 } @@ -95987,7 +96495,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+12514, /* "cannot create a ..." */ + ts+12529, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -96014,26 +96522,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7066 /* "sqlite_" */, 7) == 0) && + if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7081 /* "sqlite_" */, 7) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0)) && (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+12564 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12579 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+12592 /* "views may not be..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12607 /* "views may not be..." */, 0) goto exit_create_index __16: ; if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+12617 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12632 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -96060,7 +96568,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+12508 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+12523 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { goto __21 } goto exit_create_index @@ -96075,7 +96583,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+12651 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12666 /* "there is already..." */, libc.VaList(bp+16, zName)) goto exit_create_index __24: ; @@ -96087,7 +96595,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+12685 /* "index %s already..." */, libc.VaList(bp+24, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12700 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -96116,7 +96624,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+12709 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+12724 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -96145,9 +96653,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -96191,7 +96699,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12508 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12523 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -96308,7 +96816,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+12732 /* "expressions proh..." */, 0) + ts+12747 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -96537,7 +97045,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+12793 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) + ts+12808 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -96593,7 +97101,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+12835 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12850 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -96651,12 +97159,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+12852, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+12867, /* "CREATE%s INDEX %..." */ libc.VaList(bp+56, func() uintptr { if onError == OE_None { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 12872 /* " UNIQUE" */ + return ts + 12887 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: @@ -96668,7 +97176,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+12880, /* "INSERT INTO %Q.s..." */ + ts+12895, /* "INSERT INTO %Q.s..." */ libc.VaList(bp+80, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -96684,7 +97192,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+12939 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+12954 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -96868,7 +97376,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+12966 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+12981 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __5 __4: Xsqlite3CodeVerifyNamedSchema(tls, pParse, (*SrcItem)(unsafe.Pointer((pName + 8 /* &.a */))).FzDatabase) @@ -96883,7 +97391,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+12984 /* "index associated..." */, libc.VaList(bp+8, 0)) + ts+12999 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -96894,9 +97402,9 @@ __6: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -96924,9 +97432,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+13057, /* "DELETE FROM %Q.s..." */ + ts+13072, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) - sqlite3ClearStatTables(tls, pParse, iDb, ts+10197 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+10212 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) Xsqlite3VdbeAddOp4(tls, v, OP_DropIndex, iDb, 0, 0, (*Index)(unsafe.Pointer(pIndex)).FzName, 0) @@ -97077,7 +97585,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*SrcList)(unsafe.Pointer(pSrc)).FnSrc + nExtra) >= SQLITE_MAX_SRCLIST { - Xsqlite3ErrorMsg(tls, pParse, ts+13117, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13132, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -97289,12 +97797,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+13153, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13168, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 13189 /* "ON" */ + return ts + 13204 /* "ON" */ } - return ts + 13192 /* "USING" */ + return ts + 13207 /* "USING" */ }())) goto append_from_error __1: @@ -97422,7 +97930,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+13198 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { + if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+13213 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { return } v = Xsqlite3GetVdbe(tls, pParse) @@ -97458,9 +97966,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 13204 /* "ROLLBACK" */ + return ts + 13219 /* "ROLLBACK" */ } - return ts + 13213 /* "COMMIT" */ + return ts + 13228 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -97485,7 +97993,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 13198 /* "BEGIN" */, ts + 13220 /* "RELEASE" */, ts + 13204 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ +var az = [3]uintptr{ts + 13213 /* "BEGIN" */, ts + 13235 /* "RELEASE" */, ts + 13219 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. @@ -97501,7 +98009,7 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp /* &pBt */, 0, flags) if rc != SQLITE_OK { Xsqlite3ErrorMsg(tls, pParse, - ts+13228 /* "unable to open a..." */, 0) + ts+13243 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -97644,17 +98152,17 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx Xsqlite3StrAccumInit(tls, bp+8 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+13298 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+13313 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*32)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+13309 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+13324 /* ", " */, 2) } Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+753 /* "." */, 1) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+768 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } @@ -97677,11 +98185,11 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr var rc int32 if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10770 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10785 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+13312 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+13327 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -97824,7 +98332,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+13321 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13336 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -97934,7 +98442,7 @@ func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) var i int32 for i = 0; i < (*With)(unsafe.Pointer(pWith)).FnCte; i++ { if Xsqlite3StrICmp(tls, zName, (*Cte)(unsafe.Pointer((pWith+16 /* &.a */)+uintptr(i)*48)).FzName) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13367 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13382 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -98168,7 +98676,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+13397 /* "no such collatio..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13412 /* "no such collatio..." */, libc.VaList(bp, zName)) (*Parse)(unsafe.Pointer(pParse)).Frc = (SQLITE_ERROR | (int32(1) << 8)) } return p @@ -98534,11 +99042,11 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 defer tls.Free(16) if tabIsReadOnly(tls, pParse, pTab) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13428 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13443 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+13457 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13472 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -99131,7 +99639,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+13495 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+13510 /* "rows deleted" */, uintptr(0)) __61: ; @@ -99276,7 +99784,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri } return 0 }()) - if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10057 /* "sqlite_stat1" */)) { + if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10072 /* "sqlite_stat1" */)) { Xsqlite3VdbeAppendP4(tls, v, pTab, -6) } if int32(eMode) != ONEPASS_OFF { @@ -99554,7 +100062,7 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 5253 /* "integer" */, ts + 5248 /* "real" */, ts + 13508 /* "text" */, ts + 13513 /* "blob" */, ts + 5243 /* "null" */} /* sqlite3.c:119398:21 */ +var azType2 = [5]uintptr{ts + 5268 /* "integer" */, ts + 5263 /* "real" */, ts + 13523 /* "text" */, ts + 13528 /* "blob" */, ts + 5258 /* "null" */} /* sqlite3.c:119398:21 */ // Implementation of the length() function func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119418:13: */ @@ -99618,7 +100126,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // IMP: R-31676-45509 If X is the integer -9223372036854775808 // then abs(X) throws an integer overflow error since there is no // equivalent positive 64-bit two complement value. - Xsqlite3_result_error(tls, context, ts+13518 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+13533 /* "integer overflow" */, -1) return } iVal = -iVal @@ -99956,7 +100464,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+13535 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+13550 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -100406,7 +100914,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 8*4)) { - Xsqlite3_result_error(tls, context, ts+13540 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+13555 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -100418,7 +100926,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } if Xsqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp /* zEsc */)), -1) != 1 { Xsqlite3_result_error(tls, context, - ts+13573 /* "ESCAPE expressio..." */, -1) + ts+13588 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -100484,7 +100992,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // Implementation of the sqlite_compileoption_used() function. @@ -100541,10 +101049,10 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // var zBuf [50]int8 at bp+16, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+4019 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+4034 /* "%!.15g" */, libc.VaList(bp, r1)) Xsqlite3AtoF(tls, bp+16 /* &zBuf[0] */, bp+72 /* &r2 */, 20, uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp + 72 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+13618 /* "%!.20e" */, libc.VaList(bp+8, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+13633 /* "%!.20e" */, libc.VaList(bp+8, r1)) } Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -100618,7 +101126,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+741 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+756 /* "NULL" */, 4, uintptr(0)) break } @@ -100929,7 +101437,7 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:120648:27 */ -var azOne = [1]uintptr{uintptr(ts + 9637 /* " " */)} /* sqlite3.c:120649:26 */ +var azOne = [1]uintptr{uintptr(ts + 9652 /* " " */)} /* sqlite3.c:120649:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -100950,7 +101458,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = ts + 740 /* "" */ + zIn = ts + 755 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -100976,7 +101484,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else { // IMP: R-64894-50321 The string "?000" is returned if the argument // is NULL or contains no ASCII alphabetic characters. - Xsqlite3_result_text(tls, context, ts+13625 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+13640 /* "?000" */, 4, uintptr(0)) } } @@ -101004,7 +101512,7 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // Disallow the load_extension() SQL function unless the SQLITE_LoadExtFunc // flag is set. See the sqlite3_enable_load_extension() API. if ((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_LoadExtFunc)) == uint64(0) { - Xsqlite3_result_error(tls, context, ts+10809 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+10824 /* "not authorized" */, -1) return } @@ -101092,7 +101600,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:120889:13: */ p = Xsqlite3_aggregate_context(tls, context, 0) if (p != 0) && ((*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0)) { if (*SumCtx)(unsafe.Pointer(p)).Foverflow != 0 { - Xsqlite3_result_error(tls, context, ts+13518 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+13533 /* "integer overflow" */, -1) } else if (*SumCtx)(unsafe.Pointer(p)).Fapprox != 0 { Xsqlite3_result_double(tls, context, (*SumCtx)(unsafe.Pointer(p)).FrSum) } else { @@ -101246,7 +101754,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zSep = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) nSep = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) } else { - zSep = ts + 11522 /* "," */ + zSep = ts + 11537 /* "," */ nSep = 1 } if zSep != 0 { @@ -101324,7 +101832,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:121112:13: // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:121135:21: */ - var rc int32 = Xsqlite3_overload_function(tls, db, ts+13630 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+13645 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -101344,14 +101852,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+13636 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+13651 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3CreateFunc(tls, db, ts+13636 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+13651 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13636 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13636 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13651 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13651 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) } // pExpr points to an expression which implements a function. If @@ -101456,76 +101964,76 @@ func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:121427:21: * var aBuiltinFunc = [68]FuncDef{ //**** Functions only available with SQLITE_TESTCTRL_INTERNAL_FUNCTIONS **** - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 13641 /* "implies_nonnull_..." */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 13661 /* "expr_compare" */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 13674 /* "expr_implies_exp..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 13656 /* "implies_nonnull_..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 13676 /* "expr_compare" */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 13689 /* "expr_implies_exp..." */}, //**** Regular functions **** - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13692 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13700 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13700 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13715 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13741 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 13766 /* "unlikely" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 13775 /* "likelihood" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 13786 /* "likely" */}, - {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13793 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13807 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13807 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 13813 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 13813 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 13819 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 13819 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13824 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 13824 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13824 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13828 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 13828 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13828 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13832 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 13839 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13846 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13852 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13859 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13867 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13872 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13876 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13876 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13882 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13888 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13894 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 13898 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13905 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13912 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13923 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13930 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13945 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13962 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13973 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13979 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13997 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14005 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14019 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14027 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14036 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14036 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14043 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14043 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14053 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14057 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14063 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14067 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14067 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14073 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14073 /* "group_concat" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13707 /* "soundex" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13715 /* "load_extension" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13715 /* "load_extension" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13730 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13756 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 13781 /* "unlikely" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 13790 /* "likelihood" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 13801 /* "likely" */}, + {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13808 /* "sqlite_offset" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13822 /* "ltrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13822 /* "ltrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 13828 /* "rtrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 13828 /* "rtrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 13834 /* "trim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 13834 /* "trim" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13839 /* "min" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 13839 /* "min" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13839 /* "min" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13843 /* "max" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 13843 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13843 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13847 /* "typeof" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 13854 /* "length" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13861 /* "instr" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13867 /* "printf" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13874 /* "unicode" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13882 /* "char" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13887 /* "abs" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13891 /* "round" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13891 /* "round" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13897 /* "upper" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13903 /* "lower" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13909 /* "hex" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 13913 /* "ifnull" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13920 /* "random" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13927 /* "randomblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13938 /* "nullif" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13945 /* "sqlite_version" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13960 /* "sqlite_source_id" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13977 /* "sqlite_log" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13988 /* "quote" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13994 /* "last_insert_rowi..." */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14012 /* "changes" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14020 /* "total_changes" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14034 /* "replace" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14042 /* "zeroblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14051 /* "substr" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14051 /* "substr" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14058 /* "substring" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14058 /* "substring" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14068 /* "sum" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14072 /* "total" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14078 /* "avg" */}, + {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14082 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14082 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14088 /* "group_concat" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14088 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14086 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13636 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13636 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14091 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14091 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14100 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14091 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 14105 /* "iif" */}} /* sqlite3.c:121438:18 */ + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14101 /* "glob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13651 /* "like" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13651 /* "like" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14106 /* "coalesce" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14106 /* "coalesce" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14115 /* "sign" */}, + {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14106 /* "coalesce" */}, + {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 14120 /* "iif" */}} /* sqlite3.c:121438:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -101811,7 +102319,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey if !(pIdx != 0) { if !(int32((*Parse)(unsafe.Pointer(pParse)).FdisableTriggers) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+14109, /* "foreign key mism..." */ + ts+14124, /* "foreign key mism..." */ libc.VaList(bp, (*Table)(unsafe.Pointer((*FKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*FKey)(unsafe.Pointer(pFKey)).FzTo)) } Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiCol) @@ -102707,8 +103215,8 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, } for i = 0; i < (*FKey)(unsafe.Pointer(pFKey)).FnCol; i++ { - *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 5452 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 5448 /* "new" */, Fn: uint32(3)} // Literal "new" token + *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 5467 /* "old" */, Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 5463 /* "new" */, Fn: uint32(3)} // Literal "new" token // var tFromCol Token at bp+32, 16 // Name of column in child table // var tToCol Token at bp+16, 16 @@ -102796,7 +103304,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fz = zFrom (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fn = uint32(nFrom) - pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+4235 /* "FOREIGN KEY cons..." */) + pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+4250 /* "FOREIGN KEY cons..." */) if pRaise != 0 { (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -103226,7 +103734,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6929 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+6944 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) } (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -103790,7 +104298,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+14154, /* "cannot INSERT in..." */ + ts+14169, /* "cannot INSERT in..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto insert_cleanup __24: @@ -103815,7 +104323,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+14195, /* "table %S has no ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14210, /* "table %S has no ..." */ libc.VaList(bp+8, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*16)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup @@ -103985,7 +104493,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+14227, /* "table %S has %d ..." */ + ts+14242, /* "table %S has %d ..." */ libc.VaList(bp+24, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: @@ -103995,7 +104503,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+14279 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+14294 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -104051,7 +104559,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+14304, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14319, /* "UPSERT not imple..." */ libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -104059,7 +104567,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+14350 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14365 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -104539,7 +105047,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14371 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14386 /* "rows inserted" */, uintptr(0)) __123: ; @@ -104883,7 +105391,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10770 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10785 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_HaltIfNull, (SQLITE_CONSTRAINT | (int32(5) << 8)), onError, iReg) @@ -106286,7 +106794,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 740 /* "" */ + zSql = ts + 755 /* "" */ __2: ; @@ -106847,7 +107355,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+10809 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+10824 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -106857,7 +107365,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 14385 /* "sqlite3_extensio..." */ + zEntry = ts + 14400 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -106877,7 +107385,7 @@ __5: if !((ii < (int32(uint64(unsafe.Sizeof(azEndings)) / uint64(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+10770 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) + zAltFile = Xsqlite3_mprintf(tls, ts+10785 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) if !(zAltFile == uintptr(0)) { goto __8 } @@ -106923,7 +107431,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.Xmemcpy(tls, zAltEntry, ts+14408 /* "sqlite3_" */, uint64(8)) + libc.Xmemcpy(tls, zAltEntry, ts+14423 /* "sqlite3_" */, uint64(8)) iFile = (ncFile - 1) __12: if !((iFile >= 0) && !((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/')) { @@ -106937,7 +107445,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14417 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14432 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -106961,7 +107469,7 @@ __17: goto __18 __18: ; - libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+14421 /* "_init" */, uint64(6)) + libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+14436 /* "_init" */, uint64(6)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -106979,7 +107487,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+14427 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) + ts+14442 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __22: ; @@ -107004,7 +107512,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14470 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14485 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) __25: ; Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) @@ -107044,7 +107552,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+14502 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) + ts+14517 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __29: ; @@ -107054,7 +107562,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 14539, /* "so" */ + ts + 14554, /* "so" */ } /* sqlite3.c:127457:21 */ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127590:16: */ @@ -107221,7 +107729,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+14542 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) + ts+14557 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */))) @@ -107266,61 +107774,61 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 // or that return single-column results where the name of the // result column is different from the name of the pragma var pragCName = [51]uintptr{ - /* 0 */ ts + 4156, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 14581, /* "seq" */ - /* 2 */ ts + 7808, /* "table" */ - /* 3 */ ts + 14585, /* "from" */ - /* 4 */ ts + 14590, /* "to" */ - /* 5 */ ts + 14593, /* "on_update" */ - /* 6 */ ts + 14603, /* "on_delete" */ - /* 7 */ ts + 14613, /* "match" */ - /* 8 */ ts + 14619, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 14623, /* "name" */ - /* 10 */ ts + 14628, /* "type" */ - /* 11 */ ts + 14633, /* "notnull" */ - /* 12 */ ts + 14641, /* "dflt_value" */ - /* 13 */ ts + 14652, /* "pk" */ - /* 14 */ ts + 14655, /* "hidden" */ + /* 0 */ ts + 4171, /* "id" */ // Used by: foreign_key_list + /* 1 */ ts + 14596, /* "seq" */ + /* 2 */ ts + 7823, /* "table" */ + /* 3 */ ts + 14600, /* "from" */ + /* 4 */ ts + 14605, /* "to" */ + /* 5 */ ts + 14608, /* "on_update" */ + /* 6 */ ts + 14618, /* "on_delete" */ + /* 7 */ ts + 14628, /* "match" */ + /* 8 */ ts + 14634, /* "cid" */ // Used by: table_xinfo + /* 9 */ ts + 14638, /* "name" */ + /* 10 */ ts + 14643, /* "type" */ + /* 11 */ ts + 14648, /* "notnull" */ + /* 12 */ ts + 14656, /* "dflt_value" */ + /* 13 */ ts + 14667, /* "pk" */ + /* 14 */ ts + 14670, /* "hidden" */ // table_info reuses 8 - /* 15 */ ts + 14662, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 14619, /* "cid" */ - /* 17 */ ts + 14623, /* "name" */ - /* 18 */ ts + 14668, /* "desc" */ - /* 19 */ ts + 14673, /* "coll" */ - /* 20 */ ts + 14678, /* "key" */ - /* 21 */ ts + 14623, /* "name" */ // Used by: function_list - /* 22 */ ts + 14682, /* "builtin" */ - /* 23 */ ts + 14628, /* "type" */ - /* 24 */ ts + 14690, /* "enc" */ - /* 25 */ ts + 14694, /* "narg" */ - /* 26 */ ts + 14699, /* "flags" */ - /* 27 */ ts + 10201, /* "tbl" */ // Used by: stats - /* 28 */ ts + 10197, /* "idx" */ - /* 29 */ ts + 14705, /* "wdth" */ - /* 30 */ ts + 14710, /* "hght" */ - /* 31 */ ts + 14715, /* "flgs" */ - /* 32 */ ts + 14581, /* "seq" */ // Used by: index_list - /* 33 */ ts + 14623, /* "name" */ - /* 34 */ ts + 14720, /* "unique" */ - /* 35 */ ts + 14727, /* "origin" */ - /* 36 */ ts + 14734, /* "partial" */ - /* 37 */ ts + 7808, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 14742, /* "rowid" */ - /* 39 */ ts + 4159, /* "parent" */ - /* 40 */ ts + 14748, /* "fkid" */ + /* 15 */ ts + 14677, /* "seqno" */ // Used by: index_xinfo + /* 16 */ ts + 14634, /* "cid" */ + /* 17 */ ts + 14638, /* "name" */ + /* 18 */ ts + 14683, /* "desc" */ + /* 19 */ ts + 14688, /* "coll" */ + /* 20 */ ts + 14693, /* "key" */ + /* 21 */ ts + 14638, /* "name" */ // Used by: function_list + /* 22 */ ts + 14697, /* "builtin" */ + /* 23 */ ts + 14643, /* "type" */ + /* 24 */ ts + 14705, /* "enc" */ + /* 25 */ ts + 14709, /* "narg" */ + /* 26 */ ts + 14714, /* "flags" */ + /* 27 */ ts + 10216, /* "tbl" */ // Used by: stats + /* 28 */ ts + 10212, /* "idx" */ + /* 29 */ ts + 14720, /* "wdth" */ + /* 30 */ ts + 14725, /* "hght" */ + /* 31 */ ts + 14730, /* "flgs" */ + /* 32 */ ts + 14596, /* "seq" */ // Used by: index_list + /* 33 */ ts + 14638, /* "name" */ + /* 34 */ ts + 14735, /* "unique" */ + /* 35 */ ts + 14742, /* "origin" */ + /* 36 */ ts + 14749, /* "partial" */ + /* 37 */ ts + 7823, /* "table" */ // Used by: foreign_key_check + /* 38 */ ts + 14757, /* "rowid" */ + /* 39 */ ts + 4174, /* "parent" */ + /* 40 */ ts + 14763, /* "fkid" */ // index_info reuses 15 - /* 41 */ ts + 14581, /* "seq" */ // Used by: database_list - /* 42 */ ts + 14623, /* "name" */ - /* 43 */ ts + 14753, /* "file" */ - /* 44 */ ts + 14758, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 14763, /* "log" */ - /* 46 */ ts + 14767, /* "checkpointed" */ + /* 41 */ ts + 14596, /* "seq" */ // Used by: database_list + /* 42 */ ts + 14638, /* "name" */ + /* 43 */ ts + 14768, /* "file" */ + /* 44 */ ts + 14773, /* "busy" */ // Used by: wal_checkpoint + /* 45 */ ts + 14778, /* "log" */ + /* 46 */ ts + 14782, /* "checkpointed" */ // collation_list reuses 32 - /* 47 */ ts + 14780, /* "database" */ // Used by: lock_status - /* 48 */ ts + 14789, /* "status" */ - /* 49 */ ts + 14796, /* "cache_size" */ // Used by: default_cache_size + /* 47 */ ts + 14795, /* "database" */ // Used by: lock_status + /* 48 */ ts + 14804, /* "status" */ + /* 49 */ ts + 14811, /* "cache_size" */ // Used by: default_cache_size // module_list pragma_list reuses 9 - /* 50 */ ts + 14807, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 14822, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas @@ -107337,234 +107845,234 @@ type PragmaName1 = struct { // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [65]PragmaName{ - { /* zName: */ FzName: ts + 14815, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 14830, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 14830, /* "application_id" */ + { /* zName: */ FzName: ts + 14845, /* "application_id" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_APPLICATION_ID)}, - { /* zName: */ FzName: ts + 14845, /* "auto_vacuum" */ + { /* zName: */ FzName: ts + 14860, /* "auto_vacuum" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_AUTO_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 14857, /* "automatic_index" */ + { /* zName: */ FzName: ts + 14872, /* "automatic_index" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_AutoIndex)}, - { /* zName: */ FzName: ts + 14873, /* "busy_timeout" */ + { /* zName: */ FzName: ts + 14888, /* "busy_timeout" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_BUSY_TIMEOUT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(50), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 14796, /* "cache_size" */ + { /* zName: */ FzName: ts + 14811, /* "cache_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 14886, /* "cache_spill" */ + { /* zName: */ FzName: ts + 14901, /* "cache_spill" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SPILL), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 14898, /* "case_sensitive_l..." */ + { /* zName: */ FzName: ts + 14913, /* "case_sensitive_l..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CASE_SENSITIVE_LIKE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 14918, /* "cell_size_check" */ + { /* zName: */ FzName: ts + 14933, /* "cell_size_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CellSizeCk)}, - { /* zName: */ FzName: ts + 14934, /* "checkpoint_fullf..." */ + { /* zName: */ FzName: ts + 14949, /* "checkpoint_fullf..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CkptFullFSync)}, - { /* zName: */ FzName: ts + 14955, /* "collation_list" */ + { /* zName: */ FzName: ts + 14970, /* "collation_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COLLATION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 14970, /* "compile_options" */ + { /* zName: */ FzName: ts + 14985, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 14986, /* "count_changes" */ + { /* zName: */ FzName: ts + 15001, /* "count_changes" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (U64((uint64(0x00001))) << 32)}, - { /* zName: */ FzName: ts + 15000, /* "data_version" */ + { /* zName: */ FzName: ts + 15015, /* "data_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_DATA_VERSION)}, - { /* zName: */ FzName: ts + 15013, /* "database_list" */ + { /* zName: */ FzName: ts + 15028, /* "database_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATABASE_LIST), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_Result0)), /* ColNames: */ FiPragCName: U8(41), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15027, /* "default_cache_si..." */ + { /* zName: */ FzName: ts + 15042, /* "default_cache_si..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DEFAULT_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1)), /* ColNames: */ FiPragCName: U8(49), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15046, /* "defer_foreign_ke..." */ + { /* zName: */ FzName: ts + 15061, /* "defer_foreign_ke..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_DeferFKs)}, - { /* zName: */ FzName: ts + 15065, /* "empty_result_cal..." */ + { /* zName: */ FzName: ts + 15080, /* "empty_result_cal..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_NullCallback)}, - { /* zName: */ FzName: ts + 15088, /* "encoding" */ + { /* zName: */ FzName: ts + 15103, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15097, /* "foreign_key_chec..." */ + { /* zName: */ FzName: ts + 15112, /* "foreign_key_chec..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_CHECK), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(37), FnPragCName: U8(4)}, - { /* zName: */ FzName: ts + 15115, /* "foreign_key_list" */ + { /* zName: */ FzName: ts + 15130, /* "foreign_key_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), FnPragCName: U8(8)}, - { /* zName: */ FzName: ts + 15132, /* "foreign_keys" */ + { /* zName: */ FzName: ts + 15147, /* "foreign_keys" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ForeignKeys)}, - { /* zName: */ FzName: ts + 15145, /* "freelist_count" */ + { /* zName: */ FzName: ts + 15160, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 15160, /* "full_column_name..." */ + { /* zName: */ FzName: ts + 15175, /* "full_column_name..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullColNames)}, - { /* zName: */ FzName: ts + 15178, /* "fullfsync" */ + { /* zName: */ FzName: ts + 15193, /* "fullfsync" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullFSync)}, - { /* zName: */ FzName: ts + 15188, /* "function_list" */ + { /* zName: */ FzName: ts + 15203, /* "function_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FUNCTION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(21), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 15202, /* "hard_heap_limit" */ + { /* zName: */ FzName: ts + 15217, /* "hard_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HARD_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15218, /* "ignore_check_con..." */ + { /* zName: */ FzName: ts + 15233, /* "ignore_check_con..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_IgnoreChecks)}, - { /* zName: */ FzName: ts + 15243, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 15258, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 15262, /* "index_info" */ + { /* zName: */ FzName: ts + 15277, /* "index_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15273, /* "index_list" */ + { /* zName: */ FzName: ts + 15288, /* "index_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(5)}, - { /* zName: */ FzName: ts + 15284, /* "index_xinfo" */ + { /* zName: */ FzName: ts + 15299, /* "index_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(6), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 15296, /* "integrity_check" */ + { /* zName: */ FzName: ts + 15311, /* "integrity_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 15312, /* "journal_mode" */ + { /* zName: */ FzName: ts + 15327, /* "journal_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_MODE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15325, /* "journal_size_lim..." */ + { /* zName: */ FzName: ts + 15340, /* "journal_size_lim..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_SIZE_LIMIT), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15344, /* "legacy_alter_tab..." */ + { /* zName: */ FzName: ts + 15359, /* "legacy_alter_tab..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_LegacyAlter)}, - { /* zName: */ FzName: ts + 15363, /* "locking_mode" */ + { /* zName: */ FzName: ts + 15378, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15376, /* "max_page_count" */ + { /* zName: */ FzName: ts + 15391, /* "max_page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15391, /* "mmap_size" */ + { /* zName: */ FzName: ts + 15406, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 15401, /* "module_list" */ + { /* zName: */ FzName: ts + 15416, /* "module_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MODULE_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15413, /* "optimize" */ + { /* zName: */ FzName: ts + 15428, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 15422, /* "page_count" */ + { /* zName: */ FzName: ts + 15437, /* "page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15433, /* "page_size" */ + { /* zName: */ FzName: ts + 15448, /* "page_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_SIZE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15443, /* "pragma_list" */ + { /* zName: */ FzName: ts + 15458, /* "pragma_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PRAGMA_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 15455, /* "query_only" */ + { /* zName: */ FzName: ts + 15470, /* "query_only" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_QueryOnly)}, - { /* zName: */ FzName: ts + 15466, /* "quick_check" */ + { /* zName: */ FzName: ts + 15481, /* "quick_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 15478, /* "read_uncommitted" */ + { /* zName: */ FzName: ts + 15493, /* "read_uncommitted" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReadUncommit)}, - { /* zName: */ FzName: ts + 15495, /* "recursive_trigge..." */ + { /* zName: */ FzName: ts + 15510, /* "recursive_trigge..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_RecTriggers)}, - { /* zName: */ FzName: ts + 15514, /* "reverse_unordere..." */ + { /* zName: */ FzName: ts + 15529, /* "reverse_unordere..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReverseOrder)}, - { /* zName: */ FzName: ts + 15540, /* "schema_version" */ + { /* zName: */ FzName: ts + 15555, /* "schema_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_SCHEMA_VERSION)}, - { /* zName: */ FzName: ts + 15555, /* "secure_delete" */ + { /* zName: */ FzName: ts + 15570, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15569, /* "short_column_nam..." */ + { /* zName: */ FzName: ts + 15584, /* "short_column_nam..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ShortColNames)}, - { /* zName: */ FzName: ts + 15588, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 15603, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 15602, /* "soft_heap_limit" */ + { /* zName: */ FzName: ts + 15617, /* "soft_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SOFT_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15618, /* "synchronous" */ + { /* zName: */ FzName: ts + 15633, /* "synchronous" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SYNCHRONOUS), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15630, /* "table_info" */ + { /* zName: */ FzName: ts + 15645, /* "table_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 15641, /* "table_xinfo" */ + { /* zName: */ FzName: ts + 15656, /* "table_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(7), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 15653, /* "temp_store" */ + { /* zName: */ FzName: ts + 15668, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15664, /* "temp_store_direc..." */ + { /* zName: */ FzName: ts + 15679, /* "temp_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 15685, /* "threads" */ + { /* zName: */ FzName: ts + 15700, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15693, /* "trusted_schema" */ + { /* zName: */ FzName: ts + 15708, /* "trusted_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_TrustedSchema)}, - { /* zName: */ FzName: ts + 15708, /* "user_version" */ + { /* zName: */ FzName: ts + 15723, /* "user_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_USER_VERSION)}, - { /* zName: */ FzName: ts + 15721, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 15736, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 15740, /* "wal_checkpoint" */ + { /* zName: */ FzName: ts + 15755, /* "wal_checkpoint" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_CHECKPOINT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NeedSchema), /* ColNames: */ FiPragCName: U8(44), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 15755, /* "writable_schema" */ + { /* zName: */ FzName: ts + 15770, /* "writable_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError))}, @@ -107601,7 +108109,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 15771 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 15786 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ @@ -107618,10 +108126,10 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:128 // Interpret the given string as a locking mode value. func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ if z != 0 { - if 0 == Xsqlite3StrICmp(tls, z, ts+15796 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15811 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+15806 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15821 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -107634,13 +108142,13 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ var i int32 - if 0 == Xsqlite3StrICmp(tls, z, ts+15813 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15828 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+15818 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15833 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+15823 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15838 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -107658,9 +108166,9 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128566:12: */ if (int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '2') { return (int32(*(*int8)(unsafe.Pointer(z))) - '0') - } else if Xsqlite3StrICmp(tls, z, ts+14753 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+14768 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+15835 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+15850 /* "memory" */) == 0 { return 2 } else { return 0 @@ -107676,7 +108184,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || (Xsqlite3BtreeTxnState(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) != SQLITE_TXN_NONE) { Xsqlite3ErrorMsg(tls, pParse, - ts+15842 /* "temporary storag..." */, 0) + ts+15857 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) @@ -107776,19 +108284,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 15904 /* "SET NULL" */ + zName = ts + 15919 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 15913 /* "SET DEFAULT" */ + zName = ts + 15928 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 15925 /* "CASCADE" */ + zName = ts + 15940 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 15933 /* "RESTRICT" */ + zName = ts + 15948 /* "RESTRICT" */ break default: - zName = ts + 15942 /* "NO ACTION" */ + zName = ts + 15957 /* "NO ACTION" */ break } return zName @@ -107806,7 +108314,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 15952 /* "delete" */, ts + 15959 /* "persist" */, ts + 15967 /* "off" */, ts + 15971 /* "truncate" */, ts + 15835 /* "memory" */, ts + 15980, /* "wal" */ + ts + 15967 /* "delete" */, ts + 15974 /* "persist" */, ts + 15982 /* "off" */, ts + 15986 /* "truncate" */, ts + 15850 /* "memory" */, ts + 15995, /* "wal" */ } /* sqlite3.c:128715:15 */ // Locate a pragma in the aPragmaName[] array. @@ -107852,13 +108360,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 15984 /* "w" */ + zType = ts + 15999 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 15986 /* "a" */ + zType = ts + 16001 /* "a" */ } else { - zType = ts + 15988 /* "s" */ + zType = ts + 16003 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15990, /* "sissii" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16005, /* "sissii" */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, azEnc[((*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK))], int32((*FuncDef)(unsafe.Pointer(p)).FnArg), @@ -107867,7 +108375,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } var mask U32 = (U32((((SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY) | SQLITE_SUBTYPE) | SQLITE_INNOCUOUS) | SQLITE_FUNC_INTERNAL)) /* sqlite3.c:128765:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 15997 /* "utf8" */, ts + 16002 /* "utf16le" */, ts + 16010 /* "utf16be" */} /* sqlite3.c:128772:23 */ +var azEnc = [4]uintptr{uintptr(0), ts + 16012 /* "utf8" */, ts + 16017 /* "utf16le" */, ts + 16025 /* "utf16be" */} /* sqlite3.c:128772:23 */ // Helper subroutine for PRAGMA integrity_check: // @@ -108129,7 +108637,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+16018 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+16033 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -108184,7 +108692,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */))) __10: ; @@ -108756,7 +109264,7 @@ __18: if !(zRight != 0) { goto __62 } - if !(Xsqlite3_stricmp(tls, zRight, ts+16022 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+16037 /* "fast" */) == 0) { goto __63 } b = 2 @@ -108845,7 +109353,7 @@ __70: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 15806 /* "normal" */ + zRet = ts + 15821 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -108886,7 +109394,7 @@ __77: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __82 } - zRet = ts + 15796 /* "exclusive" */ + zRet = ts + 15811 /* "exclusive" */ __82: ; returnSingleText(tls, v, zRet) @@ -109251,7 +109759,7 @@ __122: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 432 /* res */)) == 0)) { goto __125 } - Xsqlite3ErrorMsg(tls, pParse, ts+16027 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16042 /* "not a writable d..." */, 0) goto pragma_out __125: ; @@ -109269,7 +109777,7 @@ __126: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __127 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+16, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+16, zRight)) goto __128 __127: Xsqlite3_temp_directory = uintptr(0) @@ -109297,7 +109805,7 @@ __129: goto __131 } Xsqlite3ErrorMsg(tls, pParse, - ts+16052 /* "Safety level may..." */, 0) + ts+16067 /* "Safety level may..." */, 0) goto __132 __131: if !(iDb != 1) { @@ -109456,13 +109964,13 @@ __153: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 16105 /* "issisii" */ + return ts + 16120 /* "issisii" */ } - return ts + 16113 /* "issisi" */ + return ts + 16128 /* "issisi" */ }(), libc.VaList(bp+24, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+740 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+755 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -109537,7 +110045,7 @@ __165: goto __167 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16120 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16135 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -109547,7 +110055,7 @@ __165: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __168 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+16125, /* "isiX" */ + Xsqlite3VdbeMultiLoad(tls, v, 4, ts+16140, /* "isiX" */ libc.VaList(bp+104, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) @@ -109584,8 +110092,8 @@ __171: if !(pIdx1 != 0) { goto __173 } - *(*[3]uintptr)(unsafe.Pointer(bp + 440 /* azOrigin */)) = [3]uintptr{ts + 16130 /* "c" */, ts + 16132 /* "u" */, ts + 14652 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16134, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 440 /* azOrigin */)) = [3]uintptr{ts + 16145 /* "c" */, ts + 16147 /* "u" */, ts + 14667 /* "pk" */} + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16149, /* "isisi" */ libc.VaList(bp+128, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), @@ -109619,7 +110127,7 @@ __174: __177: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16140, /* "iss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16155, /* "iss" */ libc.VaList(bp+168, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FpBt))) @@ -109642,7 +110150,7 @@ __178: goto __180 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16144 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16159 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __179 __179: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -109706,7 +110214,7 @@ __190: goto __192 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15988 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16003 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __191 __191: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -109723,7 +110231,7 @@ __193: if !(i6 < (int32(uint64(unsafe.Sizeof(aPragmaName)) / uint64(unsafe.Sizeof(PragmaName{}))))) { goto __195 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+15988 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16003 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) goto __194 __194: i6++ @@ -109759,7 +110267,7 @@ __201: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __203 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16147, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16162, /* "iissssss" */ libc.VaList(bp+224, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -109767,7 +110275,7 @@ __201: (*sColMap)(unsafe.Pointer((pFK+64 /* &.aCol */)+uintptr(j2)*16)).FzCol, actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */) + 1))), // ON UPDATE actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */)))), // ON DELETE - ts+16156 /* "NONE" */)) + ts+16171 /* "NONE" */)) goto __202 __202: j2++ @@ -109960,7 +110468,7 @@ __230: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __231: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+16161 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+16176 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 472 /* aiCols */))) @@ -110226,7 +110734,7 @@ __258: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+16165 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+16180 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -110316,7 +110824,7 @@ __277: __278: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+16189 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+16204 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*32)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -110356,7 +110864,7 @@ __283: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+16209, /* "CHECK constraint..." */ + zErr1 = Xsqlite3MPrintf(tls, db, ts+16224, /* "CHECK constraint..." */ libc.VaList(bp+328, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) @@ -110390,9 +110898,9 @@ __288: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 488 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16239 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16254 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+16244 /* " missing from in..." */) + Xsqlite3VdbeLoadString(tls, v, 4, ts+16259 /* " missing from in..." */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) jmp5 = Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) @@ -110432,7 +110940,7 @@ __292: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 488 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16265 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16280 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __289: @@ -110454,7 +110962,7 @@ __284: if !(!(isQuick != 0)) { goto __294 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+16292 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+16307 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __295: @@ -110505,7 +111013,7 @@ __240: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 480 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 16321 /* "ok" */ + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 16336 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16 /* &.p4 */)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT) __299: @@ -110583,7 +111091,7 @@ __306: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __308 } - Xsqlite3ErrorMsg(tls, pParse, ts+16324 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+16339 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) __308: ; __303: @@ -110695,19 +111203,19 @@ __47: if !(zRight != 0) { goto __315 } - if !(Xsqlite3StrICmp(tls, zRight, ts+15818 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+15833 /* "full" */) == 0) { goto __316 } eMode2 = SQLITE_CHECKPOINT_FULL goto __317 __316: - if !(Xsqlite3StrICmp(tls, zRight, ts+16349 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+16364 /* "restart" */) == 0) { goto __318 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __319 __318: - if !(Xsqlite3StrICmp(tls, zRight, ts+15971 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+15986 /* "truncate" */) == 0) { goto __320 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -110894,7 +111402,7 @@ __335: __337: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+16357, /* "ANALYZE \"%w\".\"%w..." */ + zSubSql = Xsqlite3MPrintf(tls, db, ts+16372, /* "ANALYZE \"%w\".\"%w..." */ libc.VaList(bp+344, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __338 @@ -111078,14 +111586,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 16375 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 16380 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 16386 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 16395 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 16404 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 16412 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 16420 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 16427 /* "UTF16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 16390 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, + {FzName: ts + 16395 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] + {FzName: ts + 16401 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] + {FzName: ts + 16410 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] + {FzName: ts + 16419 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, + {FzName: ts + 16427 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, + {FzName: ts + 16435 /* "UTF-16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 16442 /* "UTF16" */}, // SQLITE_UTF16NATIVE {}, } /* sqlite3.c:130285:7 */ var setCookie = [2]VdbeOpList{ @@ -111142,7 +111650,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argc _ = argv Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+64 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16433 /* "CREATE TABLE x" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16448 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -111150,7 +111658,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16448 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16463 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -111163,19 +111671,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16455 /* "(\"%s\"" */, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16470 /* "(\"%s\"" */, 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 /* &acc */, ts+16461 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16476 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16473 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16488 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+4066 /* ")" */, 1) Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) rc = Xsqlite3_declare_vtab(tls, db, bp+64 /* &zBuf[0] */) @@ -111191,7 +111699,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -111354,7 +111862,7 @@ __1: var zText uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, zText)) + *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, zText)) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) == uintptr(0) { return SQLITE_NOMEM } @@ -111370,13 +111878,13 @@ __2: __3: ; Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 128 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16488 /* "PRAGMA " */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16503 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16496 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16511 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) } Xsqlite3_str_appendall(tls, bp+32 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16500 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16515 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) } zSql = Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) if zSql == uintptr(0) { @@ -111385,7 +111893,7 @@ __3: rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -111478,12 +111986,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) // A error message has already been generated. Do not overwrite it } else if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & (U32(INITFLAG_AlterRename | INITFLAG_AlterDrop))) != 0 { *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db, - ts+16504 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), + ts+16519 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), func() uintptr { if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & U32(INITFLAG_AlterRename)) != 0 { - return ts + 16532 /* "rename" */ + return ts + 16547 /* "rename" */ } - return ts + 16539 /* "drop column" */ + return ts + 16554 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -111495,11 +112003,11 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { zObj = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - zObj = ts + 4107 /* "?" */ + zObj = ts + 4122 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+16551 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+16566 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+16582 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+16597 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -111576,7 +112084,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr if (Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (db+184 /* &.init */ /* &.newTnum */)) == 0) || (((*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum > (*InitData)(unsafe.Pointer(pData)).FmxPage) && ((*InitData)(unsafe.Pointer(pData)).FmxPage > Pgno(0))) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+12835 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+12850 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -111613,13 +112121,13 @@ 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+16590 /* "orphan index" */) + corruptSchema(tls, pData, argv, ts+16605 /* "orphan index" */) } else if (((Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (pIndex+88 /* &.tnum */)) == 0) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2))) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage)) || (Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+12835 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+12850 /* "invalid rootpage" */) } } } @@ -111662,16 +112170,16 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 7808 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 7823 /* "table" */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 6898 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 16603 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 6913 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 16618 /* "CREATE TABLE x(t..." */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 5*8)) = uintptr(0) (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FiDb = iDb @@ -111784,7 +112292,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+10484 /* "attached databas..." */) + ts+10499 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -111824,7 +112332,7 @@ __16: if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) { goto __17 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+16675 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+16690 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -111846,7 +112354,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+16699, /* "SELECT*FROM\"%w\"...." */ + ts+16714, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName)) xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth @@ -112206,7 +112714,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+16733 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+16748 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -112234,7 +112742,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+16763 /* "statement too lo..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+16778 /* "statement too lo..." */, 0) rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG) goto end_prepare __10: @@ -112297,7 +112805,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+2775 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+2790 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */))) goto __21 __20: @@ -112772,24 +113280,24 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC } } if ((jointype & (JT_INNER | JT_OUTER)) == (JT_INNER | JT_OUTER)) || ((jointype & JT_ERROR) != 0) { - var zSp uintptr = ts + 9637 /* " " */ + var zSp uintptr = ts + 9652 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+16782 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) + ts+16797 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) jointype = JT_INNER } else if ((jointype & JT_OUTER) != 0) && ((jointype & (JT_LEFT | JT_RIGHT)) != JT_LEFT) { Xsqlite3ErrorMsg(tls, pParse, - ts+16826 /* "RIGHT and FULL O..." */, 0) + ts+16841 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 16881 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 16896 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -112995,7 +113503,7 @@ __1: if (int32((*SrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype) & JT_NATURAL) != 0 { if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) || ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+16915 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) + ts+16930 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) return 1 } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { @@ -113019,7 +113527,7 @@ __1: // Disallow both ON and USING clauses in the same join if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) && ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+16965 /* "cannot have both..." */, 0) + ts+16980 /* "cannot have both..." */, 0) return 1 } @@ -113054,7 +113562,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+17020 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) + ts+17035 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) return 1 } addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 24 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 28 /* iLeftCol */)), (i + 1), iRightCol, @@ -113845,16 +114353,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 17084 /* "UNION ALL" */ + z = ts + 17099 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 17094 /* "INTERSECT" */ + z = ts + 17109 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 17104 /* "EXCEPT" */ + z = ts + 17119 /* "EXCEPT" */ break default: - z = ts + 17111 /* "UNION" */ + z = ts + 17126 /* "UNION" */ break } return z @@ -113872,7 +114380,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite bp := tls.Alloc(8) defer tls.Free(8) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17117 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17132 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } // Assign expression b to lvalue a. A second, no-op, version of this macro @@ -114138,8 +114646,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 11369 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 14742 /* "rowid" */ + zType = ts + 11384 /* "INTEGER" */ + *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 14757 /* "rowid" */ } else { *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName zType = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), uintptr(0)) @@ -114292,13 +114800,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 14742 /* "rowid" */ + zCol = ts + 14757 /* "rowid" */ } else { zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } if fullName != 0 { var zName uintptr = uintptr(0) - zName = Xsqlite3MPrintf(tls, db, ts+10770 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) + zName = Xsqlite3MPrintf(tls, db, ts+10785 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } else { Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, libc.UintptrFromInt32(-1)) @@ -114306,7 +114814,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*32)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+17140 /* "column%d" */, libc.VaList(bp+16, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+17155 /* "column%d" */, libc.VaList(bp+16, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -114395,7 +114903,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } else { - zName = ts + 14742 /* "rowid" */ + zName = ts + 14757 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -114408,7 +114916,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+17140 /* "column%d" */, libc.VaList(bp, (i+1))) + zName = Xsqlite3MPrintf(tls, db, ts+17155 /* "column%d" */, libc.VaList(bp, (i+1))) } // Make sure the column name is unique. If the name is not unique, @@ -114423,7 +114931,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+17149 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) + zName = Xsqlite3MPrintf(tls, db, ts+17164 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) if *(*U32)(unsafe.Pointer(bp + 56 /* cnt */)) > U32(3) { Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &cnt */) } @@ -114780,7 +115288,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+17157 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17172 /* "cannot use windo..." */, 0) return __1: ; @@ -114891,7 +115399,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+17206 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17221 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -114913,7 +115421,7 @@ __14: // Store the results of the setup-query in Queue. pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior (*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17248 /* "SETUP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17263 /* "SETUP" */, 0) rc = Xsqlite3Select(tls, pParse, pSetup, bp /* &destQueue */) (*Select)(unsafe.Pointer(pSetup)).FpNext = p if !(rc != 0) { @@ -114956,7 +115464,7 @@ __20: // Execute the recursive SELECT taking the single row in Current as // the value for the recursive-table. Store the results in the Queue. (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17254 /* "RECURSIVE STEP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17269 /* "RECURSIVE STEP" */, 0) Xsqlite3Select(tls, pParse, p, bp /* &destQueue */) (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -115006,11 +115514,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+17269 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17284 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { if nRow == 1 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 17292 /* "S" */ + return ts + 17307 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -115162,8 +115670,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17294 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17309 /* "LEFT-MOST SUBQUE..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17309 /* "COMPOUND QUERY" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17324 /* "LEFT-MOST SUBQUE..." */, 0) __8: ; @@ -115212,7 +115720,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17084 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17099 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) @@ -115288,7 +115796,7 @@ __23: pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 64 /* &uniondest */)).FeDest = op - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17328 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17343 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+64 /* &uniondest */) @@ -115360,7 +115868,7 @@ __26: pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 104 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17328 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17343 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+104 /* &intersectdest */) @@ -115521,10 +116029,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+17349 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17364 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+17395, /* "SELECTs to the l..." */ + ts+17410, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -115904,9 +116412,9 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Separate the left and the right query from one another (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) (*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) - Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6236 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+6251 /* "ORDER" */) if (*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+6236 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+6251 /* "ORDER" */) } // Compute the limit registers @@ -115935,7 +116443,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) Xsqlite3SelectDestInit(tls, bp+8 /* &destA */, SRT_Coroutine, regAddrA) Xsqlite3SelectDestInit(tls, bp+48 /* &destB */, SRT_Coroutine, regAddrB) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17477 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17492 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) // Generate a coroutine to evaluate the SELECT statement to the // left of the compound operator - the "A" select. @@ -115943,7 +116451,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17488 /* "LEFT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17503 /* "LEFT" */, 0) Xsqlite3Select(tls, pParse, pPrior, bp+8 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -115957,7 +116465,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+17493 /* "RIGHT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17508 /* "RIGHT" */, 0) Xsqlite3Select(tls, pParse, p, bp+48 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -116154,7 +116662,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 303 /* "BINARY" */ + return ts + 318 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -117367,12 +117875,12 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 return U8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8 /* &.u */)) - if Xsqlite3StrICmp(tls, zFunc, ts+13824 /* "min" */) == 0 { + if Xsqlite3StrICmp(tls, zFunc, ts+13839 /* "min" */) == 0 { eRet = WHERE_ORDERBY_MIN if Xsqlite3ExprCanBeNull(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */))).FpExpr) != 0 { sortFlags = U8(KEYINFO_ORDER_BIGNULL) } - } else if Xsqlite3StrICmp(tls, zFunc, ts+13828 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+13843 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -117441,7 +117949,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+17499 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) + Xsqlite3ErrorMsg(tls, pParse, ts+17514 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) return SQLITE_ERROR } @@ -117552,7 +118060,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s defer tls.Free(8) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+17517 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17532 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) return 1 } return 0 @@ -117740,7 +118248,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+60 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+17540 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+17555 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -117756,7 +118264,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17583 /* "circular referen..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17598 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { @@ -117782,7 +118290,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+17606, /* "table %s has %d ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17621, /* "table %s has %d ..." */ libc.VaList(bp+16, (*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 @@ -117793,9 +118301,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom Xsqlite3ColumnsFromExprList(tls, pParse, pEList, (pTab + 70 /* &.nCol */), (pTab + 8 /* &.aCol */)) if bMayRecursive != 0 { if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17644 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17659 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17678 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17693 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -117843,7 +118351,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+17716 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + (*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+17731 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) } for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior @@ -117970,7 +118478,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+17728, /* "too many referen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17743, /* "too many referen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) (*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return WRC_Abort @@ -117989,7 +118497,7 @@ __1: if (((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (((*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+17767, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17782, /* "access to view \"..." */ libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -117997,7 +118505,7 @@ __1: ((uint32(int32(*(*uint16)(unsafe.Pointer((pFrom + 60 /* &.fg */) + 4 /* &.fromDDL */)) & 0x40 >> 6))) != 0)) && ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+17798, /* "unsafe use of vi..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17813, /* "unsafe use of vi..." */ libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) @@ -118112,7 +118620,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName } else { - zSchemaName = ts + 17831 /* "*" */ + zSchemaName = ts + 17846 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -118161,7 +118669,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+10770 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+10785 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) zToFree = zColname } } else { @@ -118177,7 +118685,7 @@ __3: (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSub)).FpEList+8 /* &.a */)+uintptr(j)*32)).FzEName) } else { - (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+17833, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+17848, /* "%s.%s.%s" */ libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } @@ -118197,9 +118705,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+17842 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17857 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+17860 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17875 /* "no tables specif..." */, 0) } } } @@ -118209,7 +118717,7 @@ __3: } if (*Select)(unsafe.Pointer(p)).FpEList != 0 { if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+17880 /* "too many columns..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17895 /* "too many columns..." */, 0) return WRC_Abort } if (elistFlags & (U32(EP_HasFunc | EP_Subquery))) != U32(0) { @@ -118397,13 +118905,13 @@ __1: if (*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)) == uintptr(0)) || ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)))).FnExpr != 1) { Xsqlite3ErrorMsg(tls, pParse, - ts+17911 /* "DISTINCT aggrega..." */, 0) + ts+17926 /* "DISTINCT aggrega..." */, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1 } else { var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)), 0, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -9) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17962 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17977 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } @@ -118603,19 +119111,19 @@ 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 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+17995, /* "SCAN %s%s%s" */ + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18010, /* "SCAN %s%s%s" */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if bCover != 0 { - return ts + 18007 /* " USING COVERING ..." */ + return ts + 18022 /* " USING COVERING ..." */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) } } @@ -118635,7 +119143,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { if (Xsqlite3ExprIsConstantOrGroupBy(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*Select)(unsafe.Pointer(pS)).FpGroupBy) != 0) && ((libc.Bool32(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromJoin | EP_IsFalse))) == U32(EP_IsFalse))) == 0) { var db uintptr = (*Parse)(unsafe.Pointer((*Walker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6898 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6913 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -118937,7 +119445,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+18030, /* "target object/al..." */ + ts+18045, /* "target object/al..." */ libc.VaList(bp, func() uintptr { if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 { return (*SrcItem)(unsafe.Pointer(p0)).FzAlias @@ -119017,7 +119525,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+18084, /* "expected %d colu..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18099, /* "expected %d colu..." */ 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 __18: @@ -119158,7 +119666,7 @@ __29: if !(((*SrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0)) && ((*SrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0))) { goto __32 } - Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+740 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+755 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -119223,7 +119731,7 @@ __35: (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop Xsqlite3SelectDestInit(tls, bp+96 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18124 /* "CO-ROUTINE %!S" */, libc.VaList(bp+32, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18139 /* "CO-ROUTINE %!S" */, libc.VaList(bp+32, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+96 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) @@ -119285,7 +119793,7 @@ __44: __45: ; Xsqlite3SelectDestInit(tls, bp+96 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18139 /* "MATERIALIZE %!S" */, libc.VaList(bp+40, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18154 /* "MATERIALIZE %!S" */, libc.VaList(bp+40, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+96 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { @@ -119805,9 +120313,9 @@ __97: explainTempTable(tls, pParse, func() uintptr { if ((*DistinctCtx)(unsafe.Pointer(bp+136 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { - return ts + 18155 /* "DISTINCT" */ + return ts + 18170 /* "DISTINCT" */ } - return ts + 18164 /* "GROUP BY" */ + return ts + 18179 /* "GROUP BY" */ }()) groupBySort = 1 @@ -120219,7 +120727,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+18155 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+18170 /* "DISTINCT" */) __140: ; @@ -120231,9 +120739,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FnOBSat > 0 { - return ts + 18173 /* "RIGHT PART OF OR..." */ + return ts + 18188 /* "RIGHT PART OF OR..." */ } - return ts + 18196 /* "ORDER BY" */ + return ts + 18211 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+48 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -120367,7 +120875,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if !(z == uintptr(0)) { goto __10 } @@ -120389,7 +120897,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+18205 /* "sqlite3_get_tabl..." */, 0) + ts+18220 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -120488,7 +120996,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) } @@ -120649,7 +121157,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+18270 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18285 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -120710,7 +121218,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+18316 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+18331 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+40 /* &sFix */, pTableName) != 0) { goto __9 } @@ -120728,7 +121236,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+18324 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18339 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -120743,7 +121251,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+18316 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { + if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+18331 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { goto __13 } goto trigger_cleanup @@ -120759,7 +121267,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+18365 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+18380 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __17 __16: ; @@ -120773,10 +121281,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7066 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7081 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+18391 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18406 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -120786,12 +121294,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+18429, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18444, /* "cannot create %s..." */ libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 18466 /* "BEFORE" */ + return ts + 18481 /* "BEFORE" */ } - return ts + 18473 /* "AFTER" */ + return ts + 18488 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -120800,7 +121308,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+18479 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) + ts+18494 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -120830,9 +121338,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -120966,7 +121474,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+18316 /* "trigger" */, bp+40 /* &nameToken */) + Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+18331 /* "trigger" */, bp+40 /* &nameToken */) if !((Xsqlite3FixTriggerStep(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || (Xsqlite3FixExpr(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 @@ -121003,13 +121511,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+18525, /* "INSERT INTO %Q.s..." */ + ts+18540, /* "INSERT INTO %Q.s..." */ libc.VaList(bp, (*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+18600 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+18615 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) __7: ; __6: @@ -121275,7 +121783,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+18629 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+18644 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __10 __9: Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb) @@ -121316,9 +121824,9 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName var zTab uintptr = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10857 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4941 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -121331,7 +121839,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / // Generate code to destroy the database record of the trigger. if (libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse))) != uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+18649, /* "DELETE FROM %Q.s..." */ + ts+18664, /* "DELETE FROM %Q.s..." */ 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) @@ -121450,12 +121958,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+18711, /* "%s RETURNING is ..." */ + ts+18726, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 18759 /* "DELETE" */ + return ts + 18774 /* "DELETE" */ } - return ts + 18766 /* "UPDATE" */ + return ts + 18781 /* "UPDATE" */ }())) __15: ; @@ -121551,7 +122059,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK { return 0 } - Xsqlite3ErrorMsg(tls, pParse, ts+18773 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18788 /* "RETURNING may no..." */, 0) return 1 } @@ -121692,7 +122200,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf if (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { Xsqlite3VdbeAddOp4(tls, v, OP_Trace, 0x7fffffff, 1, 0, - Xsqlite3MPrintf(tls, db, ts+5128 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+5143 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -121822,7 +122330,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+18815 /* "-- TRIGGER %s" */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) + Xsqlite3MPrintf(tls, db, ts+18830 /* "-- TRIGGER %s" */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -122525,7 +123033,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+18829, /* "cannot UPDATE ge..." */ + ts+18844, /* "cannot UPDATE ge..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto update_cleanup __27: @@ -122557,7 +123065,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+18865 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+18880 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -122568,7 +123076,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 6673 /* "ROWID" */ + return ts + 6688 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*32)).FzName }(), @@ -123599,7 +124107,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+18884 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+18899 /* "rows updated" */, uintptr(0)) __169: ; @@ -123986,10 +124494,10 @@ __1: if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { *(*int8)(unsafe.Pointer(bp + 216 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+18897 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+18912 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+18901 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) + ts+18916 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -124080,7 +124588,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, iDataCur, 0, iPk, nPk) Xsqlite3VdbeAddOp4(tls, v, OP_Halt, SQLITE_CORRUPT, OE_Abort, 0, - ts+10911 /* "corrupt database" */, -1) + ts+10926 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -124148,7 +124656,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { // then run VACUUM to get those statements to execute at inappropriate // times. if (zSubSql != 0) && - ((libc.Xstrncmp(tls, zSubSql, ts+18974 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+18978 /* "INS" */, uint64(3)) == 0)) { + ((libc.Xstrncmp(tls, zSubSql, ts+18989 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+18993 /* "INS" */, uint64(3)) == 0)) { rc = execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -124298,14 +124806,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+18982 /* "cannot VACUUM fr..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+18997 /* "cannot VACUUM fr..." */) return SQLITE_ERROR // IMP: R-12218-18073 __1: ; if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) { goto __2 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+19022 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19037 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -124316,7 +124824,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+19065 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19080 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -124325,7 +124833,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 76 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 740 /* "" */ + zOut = ts + 755 /* "" */ __4: ; @@ -124361,7 +124869,7 @@ __4: // time to parse and run the PRAGMA to turn journalling off than it does // to write the journal header file. nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb - rc = execSqlF(tls, db, pzErrMsg, ts+19083 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) + rc = execSqlF(tls, db, pzErrMsg, ts+19098 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if !(rc != SQLITE_OK) { goto __6 @@ -124382,7 +124890,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+19106 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19121 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -124398,7 +124906,7 @@ __7: // Begin a transaction and take an exclusive lock on the main database // file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, // to ensure that we do not try to change the page-size on a WAL database. - rc = execSql(tls, db, pzErrMsg, ts+13198 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+13213 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -124449,7 +124957,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+19133, /* "SELECT sql FROM ..." */ + ts+19148, /* "SELECT sql FROM ..." */ libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -124459,7 +124967,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+19241, /* "SELECT sql FROM ..." */ + ts+19256, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -124474,7 +124982,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+19295, /* "SELECT'INSERT IN..." */ + ts+19310, /* "SELECT'INSERT IN..." */ libc.VaList(bp+24, zDbMain)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) @@ -124491,7 +124999,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+19446, /* "INSERT INTO vacu..." */ + ts+19461, /* "INSERT INTO vacu..." */ libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 @@ -124871,7 +125379,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp var azModuleArg uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*Table)(unsafe.Pointer(pTable)).FnModuleArg + 3) >= *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+11141 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11156 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = Xsqlite3DbRealloc(tls, db, (*Table)(unsafe.Pointer(pTable)).FazModuleArg, uint64(nBytes)) if azModuleArg == uintptr(0) { @@ -124965,7 +125473,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s 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+19576 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) + zStmt = Xsqlite3MPrintf(tls, db, ts+19591 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) // A slot for the record has already been allocated in the // schema table. We just need to update that slot with all @@ -124977,7 +125485,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+19600, /* "UPDATE %Q.sqlite..." */ + ts+19615, /* "UPDATE %Q.sqlite..." */ 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, @@ -124987,7 +125495,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+19699 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+19714 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -125052,7 +125560,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+19718 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+19733 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return SQLITE_LOCKED } } @@ -125090,9 +125598,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+19760 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+19775 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+2775 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+2790 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) @@ -125104,7 +125612,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 /* &sCtx */)).FbDeclared == 0 { - var zFormat uintptr = ts + 19790 /* "vtable construct..." */ + var zFormat uintptr = ts + 19805 /* "vtable construct..." */ *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR @@ -125120,12 +125628,12 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Table)(unsafe.Pointer(pTab)).FpVTable = pVTable for iCol = 0; iCol < int32((*Table)(unsafe.Pointer(pTab)).FnCol); iCol++ { - var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+740 /* "" */) + var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+755 /* "" */) var nType int32 var i int32 = 0 nType = Xsqlite3Strlen30(tls, zType) for i = 0; i < nType; i++ { - if ((0 == Xsqlite3_strnicmp(tls, ts+14655 /* "hidden" */, (zType+uintptr(i)), 6)) && + if ((0 == Xsqlite3_strnicmp(tls, ts+14670 /* "hidden" */, (zType+uintptr(i)), 6)) && ((i == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && ((int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { break @@ -125184,13 +125692,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 if !(pMod != 0) { var zModule uintptr = *(*uintptr)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FazModuleArg)) - Xsqlite3ErrorMsg(tls, pParse, ts+19836 /* "no such module: ..." */, libc.VaList(bp, zModule)) + Xsqlite3ErrorMsg(tls, pParse, ts+19851 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+16 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -125252,7 +125760,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // invoke it now. If the module has not been registered, return an // error. Otherwise, do nothing. 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+19836 /* "no such module: ..." */, libc.VaList(bp, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+19851 /* "no such module: ..." */, 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) @@ -125329,7 +125837,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)))) @@ -125701,7 +126209,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+8 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 @@ -126132,10 +126640,10 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:144931:29 */ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:145112:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == (-2) { - return ts + 19855 /* "" */ + return ts + 19870 /* "" */ } if i == (-1) { - return ts + 14742 /* "rowid" */ + return ts + 14757 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*32)).FzName } @@ -126150,35 +126658,35 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i var i int32 if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, ts+19862 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+19877 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+19868 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+19883 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11522 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+11537 /* "," */, 1) } Xsqlite3_str_appendall(tls, pStr, explainIndexColumnName(tls, pIdx, (iTerm+i))) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4066 /* ")" */, 1) } Xsqlite3_str_append(tls, pStr, zOp, 1) if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+19868 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+19883 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11522 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+11537 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+4107 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4122 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4066 /* ")" */, 1) } } @@ -126207,29 +126715,29 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. 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+19870 /* " (" */, 2) + Xsqlite3_str_append(tls, pStr, ts+19885 /* " (" */, 2) for i = 0; i < int32(nEq); i++ { var z uintptr = explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+19862 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+19877 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 19873 /* "%s=?" */ + return ts + 19888 /* "%s=?" */ } - return ts + 19878 /* "ANY(%s)" */ + return ts + 19893 /* "ANY(%s)" */ }(), 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 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+19886 /* ">" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+19901 /* ">" */) i = 1 } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_TOP_LIMIT)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+19888 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+19903 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+4051 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4066 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -126274,11 +126782,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+80 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) (*StrAccum)(unsafe.Pointer(bp + 48 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+19890 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+19905 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { - return ts + 19896 /* "SEARCH" */ + return ts + 19911 /* "SEARCH" */ } - return ts + 19903 /* "SCAN" */ + return ts + 19918 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -126288,38 +126796,38 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr if !(((*Table)(unsafe.Pointer(((*SrcItem)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = ts + 9685 /* "PRIMARY KEY" */ + zFmt = ts + 9700 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 19908 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 19923 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 19941 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 19956 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 19966 /* "COVERING INDEX %..." */ + zFmt = ts + 19981 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 19984 /* "INDEX %s" */ + zFmt = ts + 19999 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+48 /* &str */, ts+19993 /* " USING " */, 7) + Xsqlite3_str_append(tls, bp+48 /* &str */, ts+20008 /* " USING " */, 7) Xsqlite3_str_appendf(tls, bp+48 /* &str */, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) explainIndexRange(tls, bp+48 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr if (flags & (U32(WHERE_COLUMN_EQ | WHERE_COLUMN_IN))) != 0 { - zRangeOp = ts + 20001 /* "=" */ + zRangeOp = ts + 20016 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 20003 /* ">? AND rowid<" */ + zRangeOp = ts + 20018 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 19886 /* ">" */ + zRangeOp = ts + 19901 /* ">" */ } else { - zRangeOp = ts + 19888 /* "<" */ + zRangeOp = ts + 19903 /* "<" */ } Xsqlite3_str_appendf(tls, bp+48, /* &str */ - ts+20017 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) + ts+20032 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+20055, /* " VIRTUAL TABLE I..." */ + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+20070, /* " VIRTUAL TABLE I..." */ libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } zMsg = Xsqlite3StrAccumFinish(tls, bp+48 /* &str */) @@ -127875,7 +128383,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // Run a separate WHERE clause for each term of the OR clause. After // eliminating duplicates from other WHERE clauses, the action for each // sub-WHERE clause is to to invoke the main loop body as a subroutine. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20082 /* "MULTI-INDEX OR" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20097 /* "MULTI-INDEX OR" */, 0) for ii = 0; ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm; ii++ { var pOrTerm uintptr = ((*WhereClause)(unsafe.Pointer(pOrWc)).Fa + uintptr(ii)*56) if ((*WhereTerm)(unsafe.Pointer(pOrTerm)).FleftCursor == iCur) || ((int32((*WhereTerm)(unsafe.Pointer(pOrTerm)).FeOperator) & WO_AND) != 0) { @@ -127894,7 +128402,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } // Loop through table entries that match term pOrTerm. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20097 /* "INDEX %d" */, libc.VaList(bp, (ii+1))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20112 /* "INDEX %d" */, libc.VaList(bp, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -128643,10 +129151,10 @@ type Op2 = struct { } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 14613 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 14086 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 13636 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 20106 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, + {FzOp: ts + 14628 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, + {FzOp: ts + 14101 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, + {FzOp: ts + 13651 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, + {FzOp: ts + 20121 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, } /* sqlite3.c:147958:7 */ // If the pBase expression originated in the ON or USING clause of @@ -129347,7 +129855,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s extraRight = (x - uint64(1)) // ON clause terms may not be used with an index // on left table of a LEFT JOIN. Ticket #3015 if (prereqAll >> 1) >= x { - Xsqlite3ErrorMsg(tls, pParse, ts+20113 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20128 /* "ON clause refere..." */, 0) return } } @@ -129423,7 +129931,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s (*WhereTerm)(unsafe.Pointer(pNew)).FeOperator = (U16((int32(operatorMask(tls, int32((*Expr)(unsafe.Pointer(pDup)).Fop))) + int32(eExtraOp)) & int32(opMask))) } else if (op == TK_ISNULL) && (0 == Xsqlite3ExprCanBeNull(tls, pLeft)) { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5760 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 5775 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) (*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0) @@ -129524,7 +130032,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s } zCollSeqName = func() uintptr { if *(*int32)(unsafe.Pointer(bp + 20 /* noCase */)) != 0 { - return ts + 20154 /* "NOCASE" */ + return ts + 20169 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -129826,7 +130334,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+20161, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+20176, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -130649,7 +131157,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+20197 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, + ts+20212 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*32)).FzName)) sentWarning = U8(1) __6: @@ -130730,7 +131238,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 20223 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 20238 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -130963,7 +131471,7 @@ __3: ((uint64(unsafe.Sizeof(sqlite3_index_constraint{})) + uint64(unsafe.Sizeof(sqlite3_index_constraint_usage{}))) * uint64(nTerm))) + (uint64(unsafe.Sizeof(sqlite3_index_orderby{})) * uint64(nOrderBy))) + uint64(unsafe.Sizeof(HiddenIndexInfo1{}))))) if pIdxInfo == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+5166 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5181 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*96) @@ -131090,9 +131598,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+2775 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -133142,7 +133650,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+20234 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20249 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -133190,7 +133698,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+20234 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20249 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -133579,7 +134087,7 @@ __1: if (rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { if rc == SQLITE_DONE { // We hit the query planner search limit set by iPlanLimit - Xsqlite3_log(tls, SQLITE_WARNING, ts+20260 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+20275 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -134348,7 +134856,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+20295 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20310 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -134729,7 +135237,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+20313 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) + Xsqlite3ErrorMsg(tls, pParse, ts+20328 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) return uintptr(0) __3: ; @@ -134804,7 +135312,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20341 /* "SCAN CONSTANT RO..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20356 /* "SCAN CONSTANT RO..." */, 0) goto __6 __5: // Assign a bit from the bitmask to every term in the FROM clause. @@ -135939,7 +136447,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+20359 /* "second argument ..." */, -1) + pCtx, ts+20374 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -136088,7 +136596,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+20415 /* "argument of ntil..." */, -1) + pCtx, ts+20430 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -136185,17 +136693,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155441:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 20460 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 20471 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 20482 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 20487 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 20500 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 20510 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 20516 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 20527 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 20537 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 20549 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 20554 /* "lag" */)) /* sqlite3.c:155469:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 20475 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 20486 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 20497 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 20502 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 20515 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 20525 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 20531 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 20542 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 20552 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 20564 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 20569 /* "lag" */)) /* sqlite3.c:155469:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -136259,7 +136767,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+20558 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20573 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -136303,12 +136811,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+20577 /* "RANGE with offse..." */, 0) + ts+20592 /* "RANGE with offse..." */, 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+20648 /* "FILTER clause ma..." */, 0) + ts+20663 /* "FILTER clause ma..." */, 0) } else { *(*[8]WindowUpdate)(unsafe.Pointer(bp /* aUp */)) = [8]WindowUpdate{ {FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT}, @@ -136331,7 +136839,7 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*Window)(unsafe.Pointer(pWin)).FeEnd = U8((*WindowUpdate)(unsafe.Pointer(bp /* &aUp */ + uintptr(i)*24)).FeEnd) (*Window)(unsafe.Pointer(pWin)).FeExclude = U8(0) if int32((*Window)(unsafe.Pointer(pWin)).FeStart) == TK_FOLLOWING { - (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6898 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6913 /* "1" */) } break } @@ -136573,7 +137081,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+6959 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + ts+6974 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) } return WRC_Continue } @@ -136703,7 +137211,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // keep everything legal in this case. if *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3Expr(tls, db, TK_INTEGER, ts+6491 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+6506 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -136843,7 +137351,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+20711 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20726 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -136909,15 +137417,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint var zErr uintptr = uintptr(0) // Check for errors if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = ts + 20743 /* "PARTITION clause" */ + zErr = ts + 20758 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 20760 /* "ORDER BY clause" */ + zErr = ts + 20775 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 20776 /* "frame specificat..." */ + zErr = ts + 20791 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+20796 /* "cannot override ..." */, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase)) + ts+20811 /* "cannot override ..." */, 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 { @@ -136940,7 +137448,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+20829 /* "DISTINCT is not ..." */, 0) + ts+20844 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -137091,7 +137599,7 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regZero) if eCond >= WINDOW_STARTING_NUM { var regString int32 = Xsqlite3GetTempReg(tls, pParse) - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+740 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+755 /* "" */, -1) Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), reg) Xsqlite3VdbeChangeP5(tls, v, (uint16(SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL))) @@ -137113,11 +137621,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 20876, /* "frame starting o..." */ - ts + 20929, /* "frame ending off..." */ - ts + 20359, /* "second argument ..." */ - ts + 20980, /* "frame starting o..." */ - ts + 21032, /* "frame ending off..." */ + ts + 20891, /* "frame starting o..." */ + ts + 20944, /* "frame ending off..." */ + ts + 20374, /* "second argument ..." */ + ts + 20995, /* "frame starting o..." */ + ts + 21047, /* "frame ending off..." */ } /* sqlite3.c:156372:21 */ var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:156379:14 */ @@ -137719,7 +138227,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // the add/subtract is skipped for these, as required. If reg1 is a NULL, // then the arithmetic is performed, but since adding or subtracting from // NULL is always NULL anyway, this case is handled as required too. - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+740 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+755 /* "" */, -1) addrGe = Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, 0, reg1) if ((op == OP_Ge) && (arith == OP_Add)) || ((op == OP_Le) && (arith == OP_Subtract)) { @@ -138734,19 +139242,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit } cnt++ if ((*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0) || ((*Select)(unsafe.Pointer(pLoop)).FpLimit != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+21082, /* "%s clause should..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21097, /* "%s clause should..." */ libc.VaList(bp, func() uintptr { if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - return ts + 18196 /* "ORDER BY" */ + return ts + 18211 /* "ORDER BY" */ } - return ts + 21124 /* "LIMIT" */ + return ts + 21139 /* "LIMIT" */ }(), 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 + 128 /* &.aLimit */) + 4*4)))) > 0)) && (cnt > mxSelect) { - Xsqlite3ErrorMsg(tls, pParse, ts+21130 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21145 /* "too many terms i..." */, 0) } } @@ -138826,7 +139334,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+21164, /* "syntax error aft..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21179, /* "syntax error aft..." */ libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz)) } Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1) @@ -140053,7 +140561,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+21202 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21217 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -141032,11 +141540,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(22): /* table_options ::= WITHOUT nm */ { - if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+14742 /* "rowid" */, 5) == 0) { + if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+14757 /* "rowid" */, 5) == 0) { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = (TF_WithoutRowid | TF_NoVisibleRowid) } else { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = 0 - Xsqlite3ErrorMsg(tls, pParse, ts+21224 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) + Xsqlite3ErrorMsg(tls, pParse, ts+21239 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) } } break @@ -141771,7 +142279,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in case uint32(155): /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ { Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */)) - Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+21251 /* "set list" */) + Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+21266 /* "set list" */) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = Xsqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))) Xsqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */)), uintptr(0), uintptr(0), uintptr(0)) } @@ -141924,7 +142432,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(bp + 96 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21260 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+21275 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) @@ -142128,9 +142636,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 /* &.minor */))) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, func() uintptr { if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)) != 0 { - return ts + 6898 /* "1" */ + return ts + 6913 /* "1" */ } - return ts + 6491 /* "0" */ + return ts + 6506 /* "0" */ }()) } else if ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)))).FnExpr == 1) && (Xsqlite3ExprIsConstant(tls, (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))+8 /* &.a */))).FpExpr) != 0) { var pRHS uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) + 8 /* &.a */))).FpExpr @@ -142405,21 +142913,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) Xsqlite3ErrorMsg(tls, pParse, - ts+21284 /* "qualified table ..." */, 0) + ts+21299 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21379 /* "the INDEXED BY c..." */, 0) + ts+21394 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21463 /* "the NOT INDEXED ..." */, 0) + ts+21478 /* "the NOT INDEXED ..." */, 0) } break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ @@ -142868,9 +143376,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To _ = yymajor // Silence some compiler warnings if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21260 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) + Xsqlite3ErrorMsg(tls, pParse, ts+21275 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+21548 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21563 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -144077,7 +144585,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+21565 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+21580 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -144097,12 +144605,12 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+2775 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+2790 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg - Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+21592, /* "%s in \"%s\"" */ + Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+21607, /* "%s in \"%s\"" */ libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ @@ -144314,7 +144822,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+21603 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+21618 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -144327,11 +144835,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+18316 /* "trigger" */, 7) == 0) { + if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+18331 /* "trigger" */, 7) == 0) { token = U8(TkTRIGGER) - } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+21610 /* "temp" */, 4) == 0) { + } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+21625 /* "temp" */, 4) == 0) { token = U8(TkTEMP) - } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+21615 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+21630 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -144344,9 +144852,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+21625 /* "end" */, 3) == 0) { + if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+21640 /* "end" */, 3) == 0) { token = U8(TkEND) - } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+21629 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+21644 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -145374,7 +145882,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // SQLITE_BUSY if the connection can not be closed immediately. if !(forceZombie != 0) && (connectionIsBusy(tls, db) != 0) { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+21637 /* "unable to close ..." */, 0) + ts+21652 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -145596,23 +146104,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: */ - var zErr uintptr = ts + 21705 /* "unknown error" */ + var zErr uintptr = ts + 21720 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 21719 /* "abort due to ROL..." */ + zErr = ts + 21734 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 21741 /* "another row avai..." */ + zErr = ts + 21756 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 21763 /* "no more rows ava..." */ + zErr = ts + 21778 /* "no more rows ava..." */ break } @@ -145630,35 +146138,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 21786, /* "not an error" */ - /* SQLITE_ERROR */ ts + 21799, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 21801, /* "not an error" */ + /* SQLITE_ERROR */ ts + 21814, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 21815, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 21840, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 21854, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 21873, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 5166, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 21898, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 21935, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 21947, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 21962, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 21995, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 22013, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 22038, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 22067, /* "locking protocol" */ + /* SQLITE_PERM */ ts + 21830, /* "access permissio..." */ + /* SQLITE_ABORT */ ts + 21855, /* "query aborted" */ + /* SQLITE_BUSY */ ts + 21869, /* "database is lock..." */ + /* SQLITE_LOCKED */ ts + 21888, /* "database table i..." */ + /* SQLITE_NOMEM */ ts + 5181, /* "out of memory" */ + /* SQLITE_READONLY */ ts + 21913, /* "attempt to write..." */ + /* SQLITE_INTERRUPT */ ts + 21950, /* "interrupted" */ + /* SQLITE_IOERR */ ts + 21962, /* "disk I/O error" */ + /* SQLITE_CORRUPT */ ts + 21977, /* "database disk im..." */ + /* SQLITE_NOTFOUND */ ts + 22010, /* "unknown operatio..." */ + /* SQLITE_FULL */ ts + 22028, /* "database or disk..." */ + /* SQLITE_CANTOPEN */ ts + 22053, /* "unable to open d..." */ + /* SQLITE_PROTOCOL */ ts + 22082, /* "locking protocol" */ /* SQLITE_EMPTY */ uintptr(0), - /* SQLITE_SCHEMA */ ts + 4896, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 4433, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 22084, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 22102, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 22120, /* "bad parameter or..." */ + /* SQLITE_SCHEMA */ ts + 4911, /* "database schema ..." */ + /* SQLITE_TOOBIG */ ts + 4448, /* "string or blob t..." */ + /* SQLITE_CONSTRAINT */ ts + 22099, /* "constraint faile..." */ + /* SQLITE_MISMATCH */ ts + 22117, /* "datatype mismatc..." */ + /* SQLITE_MISUSE */ ts + 22135, /* "bad parameter or..." */ /* SQLITE_NOLFS */ uintptr(0), - /* SQLITE_AUTH */ ts + 22154, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 22169, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 22175, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 22201, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 22224, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 22245, /* "warning message" */ + /* SQLITE_RANGE */ ts + 22190, /* "column index out..." */ + /* SQLITE_NOTADB */ ts + 22216, /* "file is not a da..." */ + /* SQLITE_NOTICE */ ts + 22239, /* "notification mes..." */ + /* SQLITE_WARNING */ ts + 22260, /* "warning message" */ } /* sqlite3.c:166656:20 */ // This routine implements a busy callback that sleeps and tries @@ -145823,7 +146331,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+22261 /* "unable to delete..." */, 0) + ts+22276 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -145956,7 +146464,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+22324 /* "unable to use fu..." */, libc.VaList(bp, zName)) + ts+22339 /* "unable to use fu..." */, libc.VaList(bp, zName)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } @@ -146178,7 +146686,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+22375 /* "unknown database..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+22390 /* "unknown database..." */, libc.VaList(bp, zDb)) } else { (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -146397,7 +146905,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint if (pColl != 0) && ((*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0) { if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+22396 /* "unable to delete..." */, 0) + ts+22411 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -146540,7 +147048,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u if !(((((flags & uint32(SQLITE_OPEN_URI)) != 0) || // IMP: R-48725-32206 (Xsqlite3Config.FbOpenUri != 0)) && // IMP: R-51689-46548 - (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+22464 /* "file:" */, uint64(5)) == 0)) { + (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+22479 /* "file:" */, uint64(5)) == 0)) { goto __1 } // Input character index iOut = 0 // Output character index @@ -146588,10 +147096,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+22470 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { + if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+22485 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22480, /* "invalid uri auth..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22495, /* "invalid uri auth..." */ libc.VaList(bp, (iIn-7), (zUri+7))) rc = SQLITE_ERROR goto parse_uri_out @@ -146713,7 +147221,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+22508 /* "vfs" */, zOpt, uint64(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+22523 /* "vfs" */, zOpt, uint64(3)) == 0)) { goto __29 } zVfs = zVal @@ -146724,17 +147232,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+22512 /* "cache" */, zOpt, uint64(5)) == 0)) { + if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+22527 /* "cache" */, zOpt, uint64(5)) == 0)) { goto __31 } mask = (SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&aCacheMode)) limit = mask - zModeType = ts + 22512 /* "cache" */ + zModeType = ts + 22527 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22518 /* "mode" */, zOpt, uint64(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22533 /* "mode" */, zOpt, uint64(4)) == 0)) { goto __32 } @@ -146742,7 +147250,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 2384 /* "access" */ + zModeType = ts + 2399 /* "access" */ __32: ; @@ -146773,7 +147281,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22523 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22538 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -146781,7 +147289,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22543, /* "%s mode not allo..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22558, /* "%s mode not allo..." */ libc.VaList(bp+32, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out @@ -146824,7 +147332,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22567 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22582 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) rc = SQLITE_ERROR __42: ; @@ -146848,15 +147356,15 @@ type OpenMode = struct { } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 22583 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 22590 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, + {Fz: ts + 22598 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, + {Fz: ts + 22605 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, } /* sqlite3.c:168073:34 */ var aOpenMode = [5]OpenMode{ - {Fz: ts + 22598 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 22601 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 22604 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 15835 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, + {Fz: ts + 22613 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, + {Fz: ts + 22616 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, + {Fz: ts + 22619 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, + {Fz: ts + 15850 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, {}, } /* sqlite3.c:168085:34 */ @@ -147038,10 +147546,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+20154 /* "NOCASE" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+20169 /* "NOCASE" */, 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+22608 /* "RTRIM" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+22623 /* "RTRIM" */, 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) { @@ -147087,7 +147595,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -147125,9 +147633,9 @@ __22: // The default safety_level for the main database is FULL; for the temp // database it is OFF. This matches the pager layer defaults. - (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 5443 /* "main" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 5458 /* "main" */ (*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 + 21610 /* "temp" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 21625 /* "temp" */ (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF) (*Sqlite3)(unsafe.Pointer(db)).Fmagic = SQLITE_MAGIC_OPEN @@ -147245,7 +147753,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 22614 /* "\x00\x00" */ + zFilename = ts + 22629 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -147348,24 +147856,24 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) bp := tls.Alloc(24) defer tls.Free(24) - Xsqlite3_log(tls, iErr, ts+22617, /* "%s at line %d of..." */ + Xsqlite3_log(tls, iErr, ts+22632, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) return iErr } func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168711:20: */ - return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+22642 /* "database corrupt..." */) + return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+22657 /* "database corrupt..." */) } func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168715:20: */ - return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+22662 /* "misuse" */) + return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+22677 /* "misuse" */) } func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168719:20: */ - return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+22669 /* "cannot open file" */) + return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+22684 /* "cannot open file" */) } // This is a convenience routine that makes sure that all thread-specific @@ -147492,7 +148000,7 @@ __4: autoinc = (libc.Bool32((int32((*Table)(unsafe.Pointer(pTab)).FiPKey) == iCol) && (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != U32(0)))) goto __13 __12: - zDataType = ts + 11369 /* "INTEGER" */ + zDataType = ts + 11384 /* "INTEGER" */ primarykey = 1 __13: ; @@ -147544,14 +148052,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+22686 /* "no such table co..." */, libc.VaList(bp, zTableName, + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+22701 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 2775 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -148350,7 +148858,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+22714 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+22729 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -148511,7 +149019,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 + 22722 /* "database is dead..." */ + return ts + 22737 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -149311,7 +149819,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 5243 /* "null" */, ts + 5755 /* "true" */, ts + 5760 /* "false" */, ts + 5253 /* "integer" */, ts + 5248 /* "real" */, ts + 13508 /* "text" */, ts + 22745 /* "array" */, ts + 22751, /* "object" */ + ts + 5258 /* "null" */, ts + 5770 /* "true" */, ts + 5775 /* "false" */, ts + 5268 /* "integer" */, ts + 5263 /* "real" */, ts + 13523 /* "text" */, ts + 22760 /* "array" */, ts + 22766, /* "object" */ } /* sqlite3.c:189771:19 */ // Maximum nesting depth of JSON for this implementation. @@ -149491,7 +149999,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 + 22758 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 22773 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -149519,7 +150027,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { - jsonAppendRaw(tls, p, ts+5243 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+5258 /* "null" */, uint32(4)) break } @@ -149548,7 +150056,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 default: { if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { - Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+22775 /* "JSON cannot hold..." */, -1) + Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+22790 /* "JSON cannot hold..." */, -1) (*JsonString)(unsafe.Pointer(p)).FbErr = U8(2) jsonReset(tls, p) } @@ -149625,19 +150133,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+5243 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+5258 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+5755 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+5770 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+5760 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+5775 /* "false" */, uint32(5)) break } @@ -150203,17 +150711,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } return (int32(j + U32(1))) } else if ((int32(c) == 'n') && - (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5243 /* "null" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5258 /* "null" */, uint64(4)) == 0)) && !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { 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+5755 /* "true" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5770 /* "true" */, 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+5760 /* "false" */, uint64(5)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+5775 /* "false" */, 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))) @@ -150321,7 +150829,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+22804 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+22819 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -150641,7 +151149,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+22819 /* "[0]" */, uint64(3)) == 0 { + } else if libc.Xstrncmp(tls, zPath, ts+22834 /* "[0]" */, uint64(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) } else { return uintptr(0) @@ -150658,7 +151166,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190 bp := tls.Alloc(8) defer tls.Free(8) - return Xsqlite3_mprintf(tls, ts+22823 /* "JSON path error ..." */, libc.VaList(bp, zErr)) + return Xsqlite3_mprintf(tls, ts+22838 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } // Do a node lookup using zPath. Return a pointer to the node on success. @@ -150725,7 +151233,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit bp := tls.Alloc(8) defer tls.Free(8) - var zMsg uintptr = Xsqlite3_mprintf(tls, ts+22849, /* "json_%s() needs ..." */ + var zMsg uintptr = Xsqlite3_mprintf(tls, ts+22864, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -150869,7 +151377,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* if pNode != 0 { jsonRenderNode(tls, pNode, bp /* &jx */, uintptr(0)) } else { - jsonAppendRaw(tls, bp /* &jx */, ts+5243 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+5258 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -150997,14 +151505,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+22892 /* "json_object() re..." */, -1) + ts+22907 /* "json_object() re..." */, -1) return } jsonInit(tls, bp /* &jx */, ctx) jsonAppendChar(tls, bp /* &jx */, 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+22943 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+22958 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -151112,7 +151620,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+14019 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+14034 /* "replace" */) return __2: ; @@ -151198,9 +151706,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 22977 /* "set" */ + return ts + 22992 /* "set" */ } - return ts + 22981 /* "insert" */ + return ts + 22996 /* "insert" */ }()) return __2: @@ -151348,7 +151856,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+22988 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+23003 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -151453,7 +151961,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+22991 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+23006 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -151506,7 +152014,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+22994 /* "CREATE TABLE x(k..." */) + ts+23009 /* "CREATE TABLE x(k..." */) if rc == SQLITE_OK { pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{})))) if pNew == uintptr(0) { @@ -151644,14 +152152,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql 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+23077 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) + jsonPrintf(tls, 30, pStr, ts+23092 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) } else { if (int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags) & JNODE_LABEL) == 0 { pNode -= 16 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+23082 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+23097 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } @@ -151744,9 +152252,9 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* jsonAppendChar(tls, bp+24 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+24 /* &x */, ts+23077 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+24 /* &x */, ts+23092 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+23082 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+23097 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } jsonResult(tls, bp+24 /* &x */) @@ -151770,7 +152278,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 + 23088 /* "$" */ + zRoot = ts + 23103 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -151902,7 +152410,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+22804 /* "malformed JSON" */, 0) + (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+22819 /* "malformed JSON" */, 0) if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { rc = SQLITE_ERROR } @@ -152043,21 +152551,21 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 23090 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23095 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23106 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23106 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23124 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23137 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23149 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23161 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23172 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23183 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23195 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23208 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 23217 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23217 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23227 /* "json_valid" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23105 /* "json" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23110 /* "json_array" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23121 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23121 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23139 /* "json_extract" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23152 /* "json_insert" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23164 /* "json_object" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23176 /* "json_patch" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23187 /* "json_quote" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23198 /* "json_remove" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23210 /* "json_replace" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23223 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, + {FzName: ts + 23232 /* "json_type" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23232 /* "json_type" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23242 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { FzName uintptr @@ -152067,17 +152575,17 @@ var aAgg = [2]struct { FxFinal uintptr FxValue uintptr }{ - {FzName: ts + 23238 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 23253 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 23255 /* "json_group_objec..." */, FnArg: 2, + {FzName: ts + 23270 /* "json_group_objec..." */, FnArg: 2, FxStep: 0, FxFinal: 0, FxValue: 0}, } /* sqlite3.c:192211:5 */ var aMod = [2]struct { FzName uintptr FpModule uintptr }{ - {FzName: ts + 23273 /* "json_each" */, FpModule: 0}, - {FzName: ts + 23283 /* "json_tree" */, FpModule: 0}, + {FzName: ts + 23288 /* "json_each" */, FpModule: 0}, + {FzName: ts + 23298 /* "json_tree" */, FpModule: 0}, } /* sqlite3.c:192221:5 */ var enc int32 = ((SQLITE_UTF8 | SQLITE_DETERMINISTIC) | SQLITE_INNOCUOUS) /* sqlite3.c:192226:20 */ // In the SQLite core @@ -152427,11 +152935,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+23293 /* "%s_node" */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + var zTab uintptr = Xsqlite3_mprintf(tls, ts+23308 /* "%s_node" */, 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+23301 /* "data" */, iNode, 0, + rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+23316 /* "data" */, iNode, 0, (pRtree + 112 /* &.pNodeBlob */)) Xsqlite3_free(tls, zTab) } @@ -152676,7 +153184,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+23306, /* "DROP TABLE '%q'...." */ + ts+23321, /* "DROP TABLE '%q'...." */ 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)) @@ -153436,7 +153944,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information - pSrc = Xsqlite3_value_pointer(tls, pValue, ts+23388 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+23403 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -153700,7 +154208,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -154960,7 +155468,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+23402 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, ts+23417 /* "SELECT * FROM %Q..." */, 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 /* &pStmt */, uintptr(0)) } else { @@ -154972,12 +155480,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 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+23422 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+23437 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), iCol) var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+23454 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+23469 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } @@ -155245,7 +155753,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+23491 /* "ALTER TABLE %Q.'..." */, 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+23506 /* "ALTER TABLE %Q.'..." */, 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)) @@ -155283,7 +155791,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(24) defer tls.Free(24) - var zFmt uintptr = ts + 23636 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 23651 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+16, 8 @@ -155291,7 +155799,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit var nRow I64 = int64(0) rc = Xsqlite3_table_column_metadata(tls, - db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+10057 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+10072 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == SQLITE_ERROR { @@ -155344,7 +155852,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 23692 /* "node" */, ts + 4159 /* "parent" */, ts + 14742, /* "rowid" */ + ts + 23707 /* "node" */, ts + 4174 /* "parent" */, ts + 14757, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -155388,19 +155896,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+23697, /* "CREATE TABLE \"%w..." */ + ts+23712, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+23759 /* ",a%d" */, libc.VaList(bp+16, ii)) + Xsqlite3_str_appendf(tls, p, ts+23774 /* ",a%d" */, libc.VaList(bp+16, ii)) } Xsqlite3_str_appendf(tls, p, - ts+23764, /* ");CREATE TABLE \"..." */ + ts+23779, /* ");CREATE TABLE \"..." */ libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+23828, /* "CREATE TABLE \"%w..." */ + ts+23843, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+23898, /* "INSERT INTO \"%w\"..." */ + ts+23913, /* "INSERT INTO \"%w\"..." */ libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { @@ -155431,7 +155939,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } else { // An UPSERT is very slightly slower than REPLACE, but it is needed // if there are auxiliary columns - zFormat = ts + 23947 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 23962 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { @@ -155443,7 +155951,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+24055, /* "SELECT * FROM \"%..." */ + ts+24070, /* "SELECT * FROM \"%..." */ libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -155451,18 +155959,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+24100 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+112, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+24115 /* "UPDATE \"%w\".\"%w_..." */, 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+11522 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+11537 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+24127 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+24142 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+24149 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+24164 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) } } - Xsqlite3_str_appendf(tls, p, ts+24157 /* " WHERE rowid=?1" */, 0) + Xsqlite3_str_appendf(tls, p, ts+24172 /* " WHERE rowid=?1" */, 0) zSql = Xsqlite3_str_finish(tls, p) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -155478,18 +155986,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 24173, /* "INSERT OR REPLAC..." */ - ts + 24226, /* "DELETE FROM '%q'..." */ + ts + 24188, /* "INSERT OR REPLAC..." */ + ts + 24241, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 24271, /* "SELECT nodeno FR..." */ - ts + 24323, /* "INSERT OR REPLAC..." */ - ts + 24377, /* "DELETE FROM '%q'..." */ + ts + 24286, /* "SELECT nodeno FR..." */ + ts + 24338, /* "INSERT OR REPLAC..." */ + ts + 24392, /* "DELETE FROM '%q'..." */ // Read and write the xxx_parent table - ts + 24422, /* "SELECT parentnod..." */ - ts + 24480, /* "INSERT OR REPLAC..." */ - ts + 24535, /* "DELETE FROM '%q'..." */ + ts + 24437, /* "SELECT parentnod..." */ + ts + 24495, /* "INSERT OR REPLAC..." */ + ts + 24550, /* "DELETE FROM '%q'..." */ } /* sqlite3.c:195763:21 */ // The second argument to this function contains the text of an SQL statement @@ -155536,7 +156044,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr var zSql uintptr if isCreate != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) = 0 - zSql = Xsqlite3_mprintf(tls, ts+24582 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, ts+24597 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) rc = getIntFromStmt(tls, db, zSql, bp+48 /* &iPageSize */) if rc == SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) - 64) @@ -155544,19 +156052,19 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, - ts+24602, /* "SELECT length(da..." */ + ts+24617, /* "SELECT length(da..." */ libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 32 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+24659, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+24674, /* "undersize RTree ..." */ libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -155607,17 +156115,17 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr ii = 4 *(*[5]uintptr)(unsafe.Pointer(bp + 96 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 - ts + 24694, /* "Wrong number of ..." */ // 1 - ts + 24737, /* "Too few columns ..." */ // 2 - ts + 24772, /* "Too many columns..." */ // 3 - ts + 24808, /* "Auxiliary rtree ..." */ // 4 + ts + 24709, /* "Wrong number of ..." */ // 1 + ts + 24752, /* "Too few columns ..." */ // 2 + ts + 24787, /* "Too many columns..." */ // 3 + ts + 24823, /* "Auxiliary rtree ..." */ // 4 } // Aux columns counted by a u8 if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) return SQLITE_ERROR __1: ; @@ -155647,7 +156155,7 @@ __2: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+24845, /* "CREATE TABLE x(%..." */ + Xsqlite3_str_appendf(tls, pSql, ts+24860, /* "CREATE TABLE x(%..." */ libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = 4 __3: @@ -155659,7 +156167,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+24869 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+24884 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -155682,7 +156190,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+24875 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+24890 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -155693,14 +156201,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -155743,7 +156251,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) goto rtreeInit_fail __22: ; @@ -155761,7 +156269,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -155781,7 +156289,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 24878 /* ",%.*s REAL" */, ts + 24889 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ +var azFormat = [2]uintptr{ts + 24893 /* ",%.*s REAL" */, ts + 24904 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -155836,13 +156344,13 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit nodeGetCell(tls, bp+56 /* &tree */, bp+16 /* &node */, ii, bp+1024 /* &cell */) if ii > 0 { - Xsqlite3_str_append(tls, pOut, ts+9637 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+9652 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+24899 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, ts+24914 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+24905 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+24920 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } - Xsqlite3_str_append(tls, pOut, ts+24909 /* "}" */, 1) + Xsqlite3_str_append(tls, pOut, ts+24924 /* "}" */, 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}))) @@ -155861,7 +156369,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli _ = 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+24911 /* "Invalid argument..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+24926 /* "Invalid argument..." */, -1) } else { var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -155950,12 +156458,12 @@ 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+24944, /* "%z%s%z" */ + (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+24959, /* "%z%s%z" */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - return ts + 3156 /* "\n" */ + return ts + 3171 /* "\n" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -155986,7 +156494,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+24951, /* "SELECT data FROM..." */ + ts+24966, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -156005,7 +156513,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+24996 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+25011 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -156029,8 +156537,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 /* azSql */)) = [2]uintptr{ - ts + 25028, /* "SELECT parentnod..." */ - ts + 25082, /* "SELECT nodeno FR..." */ + ts + 25043, /* "SELECT parentnod..." */ + ts + 25097, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) == uintptr(0) { @@ -156045,23 +156553,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+25130, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+25145, /* "Mapping (%lld ->..." */ libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 25175 /* "%_rowid" */ + return ts + 25190 /* "%_rowid" */ } - return ts + 25183 /* "%_parent" */ + return ts + 25198 /* "%_parent" */ }())) } else if rc == SQLITE_ROW { var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, - ts+25192, /* "Found (%lld -> %..." */ + ts+25207, /* "Found (%lld -> %..." */ libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 25175 /* "%_rowid" */ + return ts + 25190 /* "%_rowid" */ } - return ts + 25183 /* "%_parent" */ + return ts + 25198 /* "%_parent" */ }(), iKey, iVal)) } } @@ -156104,7 +156612,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, - ts+25250 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+25265 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -156124,7 +156632,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 60 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+25298 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) + ts+25313 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -156147,14 +156655,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr if aNode != 0 { if *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+25365 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) + ts+25380 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+25399 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+25414 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } @@ -156162,7 +156670,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 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, - ts+25429, /* "Node %lld is too..." */ + ts+25444, /* "Node %lld is too..." */ libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { for i = 0; i < nCell; i++ { @@ -156196,14 +156704,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+25484, /* "SELECT count(*) ..." */ + pCount = rtreeCheckPrepare(tls, pCheck, ts+25499, /* "SELECT count(*) ..." */ 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+25515 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) + ts+25530 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -156233,13 +156741,13 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+13198 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+13213 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+25582 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+25597 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) @@ -156248,12 +156756,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+23402 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+23417 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) if pStmt != 0 { var rc int32 (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+25610 /* "Schema corrupt o..." */, 0) + rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+25625 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } @@ -156268,8 +156776,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { rtreeCheckNode(tls, bp+32 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+32 /* &check */, ts+25641 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+32 /* &check */, ts+25648 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+25656 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+25663 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check @@ -156279,7 +156787,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // If one was opened, close the transaction if bEnd != 0 { - var rc int32 = Xsqlite3_exec(tls, db, ts+25656 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) + var rc int32 = Xsqlite3_exec(tls, db, ts+25671 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } @@ -156325,7 +156833,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+25660 /* "wrong number of ..." */, -1) + ts+25675 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -156333,7 +156841,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 5443 /* "main" */ + zDb = ts + 5458 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -156343,7 +156851,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if *(*uintptr)(unsafe.Pointer(bp /* zReport */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp /* zReport */)) } - return ts + 16321 /* "ok" */ + return ts + 16336 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -156780,11 +157288,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+25711 /* "[" */, 1) + Xsqlite3_str_append(tls, x, ts+25726 /* "[" */, 1) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { - Xsqlite3_str_appendf(tls, x, ts+25713 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) + Xsqlite3_str_appendf(tls, x, ts+25728 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+25724 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+25739 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 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) } @@ -156808,19 +157316,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+25735 /* "" */, 0) + Xsqlite3_str_appendf(tls, x, ts+25788 /* ">" */, 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) } @@ -157836,7 +158344,7 @@ __1: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+25786 /* "CREATE TABLE x(_..." */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+25801 /* "CREATE TABLE x(_..." */, 0) (*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1) // Add one for _shape (*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1) // The _shape column is always not-null ii = 3 @@ -157845,7 +158353,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+25808 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, ts+25823 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto __3 __3: ii++ @@ -157853,7 +158361,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+24875 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+24890 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -157864,7 +158372,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -157890,7 +158398,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -158123,7 +158631,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s if iRowidTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 14742 /* "rowid" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 14757 /* "rowid" */ (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).FargvIndex = 1 (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).Fomit = uint8(1) (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 30.0 @@ -158133,7 +158641,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } if iFuncTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25812 /* "rtree" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25827 /* "rtree" */ (*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 @@ -158141,7 +158649,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s return SQLITE_OK } (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25818 /* "fullscan" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 25833 /* "fullscan" */ (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -158279,7 +158787,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25827 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25842 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -158424,14 +158932,14 @@ geopoly_update_end: // Report that geopoly_overlap() is an overloaded function suitable // for use in xBestIndex. func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:198361:12: */ - if Xsqlite3_stricmp(tls, zName, ts+25867 /* "geopoly_overlap" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+25882 /* "geopoly_overlap" */) == 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+25883 /* "geopoly_within" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+25898 /* "geopoly_within" */) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{geopolyWithinFunc})) @@ -158496,7 +159004,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 uintptr(0), aAgg1[i].FxStep, aAgg1[i].FxFinal) } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, ts+25898 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+25913 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -158508,25 +159016,25 @@ var aFunc1 = [12]struct { _ [6]byte FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25906 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25919 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25932 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 25945 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25883 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 25957 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25867 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 25980 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25994 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 26007 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 26021 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26037 /* "geopoly_ccw" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25921 /* "geopoly_area" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25934 /* "geopoly_blob" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25947 /* "geopoly_json" */}, + {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 25960 /* "geopoly_svg" */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25898 /* "geopoly_within" */}, + {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 25972 /* "geopoly_contains..." */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25882 /* "geopoly_overlap" */}, + {FxFunc: 0, FnArg: int8(1), FzName: ts + 25995 /* "geopoly_debug" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26009 /* "geopoly_bbox" */}, + {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 26022 /* "geopoly_xform" */}, + {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 26036 /* "geopoly_regular" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26052 /* "geopoly_ccw" */}, } /* sqlite3.c:198416:5 */ var aAgg1 = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ - {FxStep: 0, FxFinal: 0, FzName: ts + 26049 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 26064 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -158539,26 +159047,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 var utf8 int32 = SQLITE_UTF8 var rc int32 - rc = Xsqlite3_create_function(tls, db, ts+26068 /* "rtreenode" */, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26083 /* "rtreenode" */, 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+26078 /* "rtreedepth" */, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26093 /* "rtreedepth" */, 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+26089 /* "rtreecheck" */, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+26104 /* "rtreecheck" */, -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+25812 /* "rtree" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+25827 /* "rtree" */, 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+26100 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+26115 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { rc = sqlite3_geopoly_init(tls, db) @@ -158630,7 +159138,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql Xsqlite3_result_error_nomem(tls, ctx) rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, ts+23388 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) + Xsqlite3_result_pointer(tls, ctx, pBlob, ts+23403 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) } } } @@ -159921,7 +160429,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // Figure out the size of the output nOut = rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, ts+26110 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+26125 /* "corrupt fossil d..." */, -1) return } @@ -159932,7 +160440,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+26110 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+26125 /* "corrupt fossil d..." */, -1) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -159953,7 +160461,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -159971,7 +160479,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -160075,7 +160583,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+26131 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + ts+26146 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if rc == SQLITE_OK { @@ -160159,7 +160667,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+23301 /* "data" */, zIn, uint64(4)) == 0) { + if (libc.Xstrlen(tls, zIn) > uint64(4)) && (libc.Xmemcmp(tls, ts+23316 /* "data" */, 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++ { } @@ -160187,17 +160695,17 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter /* &.pTblIter */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26302 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { + ts+26317 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 26452 /* "AND rootpage!=0 ..." */ + return ts + 26467 /* "AND rootpage!=0 ..." */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 8 /* &.pIdxIter */), (p + 64 /* &.zErrmsg */), - ts+26493 /* "SELECT name, roo..." */) + ts+26508 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -160335,7 +160843,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: var rc int32 = Xsqlite3_finalize(tls, pStmt) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (rc != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) } } @@ -160398,7 +160906,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 /* &aStmt */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26618 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) + ts+26633 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } @@ -160416,7 +160924,7 @@ __2: *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 1*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26699 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) + Xsqlite3_mprintf(tls, ts+26714 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -160434,7 +160942,7 @@ __4: } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 2*8), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+26720 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) + ts+26735 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } @@ -160458,7 +160966,7 @@ __5: ; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 3*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26771 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) + Xsqlite3_mprintf(tls, ts+26786 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } @@ -160507,7 +161015,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26792 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+26807 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 @@ -160522,7 +161030,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)))) { var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)), 1) if iCid >= 0 { @@ -160572,7 +161080,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 72 /* &.eType */), bp+56 /* &iTnum */, (pIter + 108 /* &.iPkTnum */)) 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+17842 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+17857 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc @@ -160585,18 +161093,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // of the input table. Ignore any input table columns that begin with // "rbu_". (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26849 /* "SELECT * FROM '%..." */, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + Xsqlite3_mprintf(tls, ts+26864 /* "SELECT * FROM '%..." */, 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 /* pStmt */))) 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 /* pStmt */)), i) - if Xsqlite3_strnicmp(tls, ts+26868 /* "rbu_" */, zName, 4) != 0 { + if Xsqlite3_strnicmp(tls, ts+26883 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 56 /* &.rc */)) *(*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+26873 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+26888 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -160608,12 +161116,12 @@ 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+26883 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+26898 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { - return ts + 26912 /* "may not have" */ + return ts + 26927 /* "may not have" */ } - return ts + 26925 /* "requires" */ + return ts + 26940 /* "requires" */ }())) } @@ -160622,7 +161130,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26934 /* "PRAGMA table_inf..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+26949 /* "PRAGMA table_inf..." */, 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 /* pStmt */)))) { var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 1) @@ -160636,7 +161144,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+26956, /* "column missing f..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+26971, /* "column missing f..." */ libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 5) @@ -160682,12 +161190,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(24) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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+26983 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 13309 /* ", " */ + zList = rbuMPrintf(tls, p, ts+26998 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 13324 /* ", " */ } return zList } @@ -160702,13 +161210,13 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, var iPk int32 = 1 var zRet uintptr = uintptr(0) - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ for 1 != 0 { var i int32 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+26992 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) + zRet = rbuMPrintf(tls, p, ts+27007 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -160747,25 +161255,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 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27005 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + ts+27020 /* "SELECT max(_rowi..." */, 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 /* pMax */)))) { var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+27037 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) + zRet = rbuMPrintf(tls, p, ts+27052 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } else { - var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+740 /* "" */, ts+13309 /* ", " */, ts+27060 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+27066 /* "quote(" */, ts+27073 /* "||','||" */, ts+4051 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+740 /* "" */, ts+13309 /* ", " */, ts+740 /* "" */) + var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+13324 /* ", " */, ts+27075 /* " DESC" */) + var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+27081 /* "quote(" */, ts+27088 /* "||','||" */, ts+4066 /* ")" */) + var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+13324 /* ", " */, ts+755 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27081, /* "SELECT %s FROM \"..." */ + ts+27096, /* "SELECT %s FROM \"..." */ 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 /* pMax */)))) { var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+27123 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) + zRet = rbuMPrintf(tls, p, ts+27138 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } @@ -160823,12 +161331,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 740 /* "" */ + zSep = ts + 755 /* "" */ iCol = 0 *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, 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 /* pXInfo */))))) { goto __2 @@ -160865,7 +161373,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) goto __7 __6: - zCol = ts + 27143 /* "_rowid_" */ + zCol = ts + 27158 /* "_rowid_" */ __7: ; goto __5 @@ -160874,13 +161382,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+27151, /* "%z%s \"%w\" COLLAT..." */ + zLhs = rbuMPrintf(tls, p, ts+27166, /* "%z%s \"%w\" COLLAT..." */ libc.VaList(bp+8, zLhs, zSep, zCol, zCollate)) - zOrder = rbuMPrintf(tls, p, ts+27172, /* "%z%s \"rbu_imp_%d..." */ + zOrder = rbuMPrintf(tls, p, ts+27187, /* "%z%s \"rbu_imp_%d..." */ libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = rbuMPrintf(tls, p, ts+27208, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+27223, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) - zSep = ts + 13309 /* ", " */ + zSep = ts + 13324 /* ", " */ iCol++ goto __1 __2: @@ -160899,12 +161407,12 @@ __11: *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184 /* &pSel */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+27235, /* "SELECT %s FROM \"..." */ + Xsqlite3_mprintf(tls, ts+27250, /* "SELECT %s FROM \"..." */ 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 /* pSel */))))) { goto __13 } - zSep = ts + 740 /* "" */ + zSep = ts + 755 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -160926,8 +161434,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+27283 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) - zSep = ts + 13309 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+27298 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) + zSep = ts + 13324 /* ", " */ goto __15 __15: iCol++ @@ -160939,7 +161447,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+27290 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+27305 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: @@ -160989,14 +161497,14 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var zImpPK uintptr = uintptr(0) // String to return via *pzImposterPK var zWhere uintptr = uintptr(0) // String to return via *pzWhere var nBind int32 = 0 // Value to return via *pnBind - var zCom uintptr = ts + 740 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 740 /* "" */ // Set to " AND " later on + var zCom uintptr = ts + 755 /* "" */ // Set to ", " later on + var zAnd uintptr = ts + 755 /* "" */ // Set to " AND " later on *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)))) { @@ -161008,9 +161516,9 @@ 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 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+27302 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+8, zRet, zCom, + zRet = Xsqlite3_mprintf(tls, ts+27317 /* "%z%s(%.*s) COLLA..." */, 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 + 740 /* "" */ + zType = ts + 755 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -161022,37 +161530,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 + 27143 /* "_rowid_" */ + zCol = ts + 27158 /* "_rowid_" */ } else { - zCol = ts + 26873 /* "rbu_rowid" */ + zCol = ts + 26888 /* "rbu_rowid" */ } - zType = ts + 11369 /* "INTEGER" */ + zType = ts + 11384 /* "INTEGER" */ } 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+27324 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+27339 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) } if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { - return ts + 27060 /* " DESC" */ + return ts + 27075 /* " DESC" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+27344, /* "%z%s\"rbu_imp_%d%..." */ + zImpPK = Xsqlite3_mprintf(tls, ts+27359, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, ts+27365, /* "%z%s\"rbu_imp_%d%..." */ + zImpCols = Xsqlite3_mprintf(tls, ts+27380, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+27398 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol)) + ts+27413 /* "%z%s\"rbu_imp_%d%..." */, 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 + 13309 /* ", " */ - zAnd = ts + 19862 /* " AND " */ + zCom = ts + 13324 /* ", " */ + zAnd = ts + 19877 /* " AND " */ nBind++ } @@ -161095,16 +161603,16 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zS uintptr = ts + 740 /* "" */ + var zS uintptr = ts + 755 /* "" */ var i int32 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+27422 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, ts+27437 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+27434 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+27449 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } - zS = ts + 13309 /* ", " */ + zS = ts + 13324 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -161113,7 +161621,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+27443 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+27458 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) } } return zList @@ -161133,27 +161641,27 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq 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+27458 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) + zList = rbuMPrintf(tls, p, ts+27473 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) } else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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+27472 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) - zSep = ts + 19862 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+27487 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) + zSep = ts + 19877 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+27484 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) + ts+27499 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = rbuMPrintf(tls, p, ts+27534 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) - zSep = ts + 19862 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+27549 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) + zSep = ts + 19877 /* " AND " */ } } } @@ -161167,7 +161675,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // of the RBU handle to something reflecting this. func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+27547 /* "invalid rbu_cont..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+27562 /* "invalid rbu_cont..." */, 0) } // Return a nul-terminated string containing the comma separated list of @@ -161196,21 +161704,21 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr if int32(libc.Xstrlen(tls, zMask)) != (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { rbuBadControlError(tls, p) } else { - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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+27534, /* "%z%s\"%w\"=?%d" */ + zList = rbuMPrintf(tls, p, ts+27549, /* "%z%s\"%w\"=?%d" */ libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) - zSep = ts + 13309 /* ", " */ + zSep = ts + 13324 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+27573, /* "%z%s\"%w\"=rbu_del..." */ + zList = rbuMPrintf(tls, p, ts+27588, /* "%z%s\"%w\"=rbu_del..." */ 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 + 13309 /* ", " */ + zSep = ts + 13324 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+27603, /* "%z%s\"%w\"=rbu_fos..." */ + zList = rbuMPrintf(tls, p, ts+27618, /* "%z%s\"%w\"=rbu_fos..." */ 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 + 13309 /* ", " */ + zSep = ts + 13324 /* ", " */ } } } @@ -161268,19 +161776,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zSep uintptr = ts + 27640 /* "PRIMARY KEY(" */ + var zSep uintptr = ts + 27655 /* "PRIMARY KEY(" */ *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56 /* &pXList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26792 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+26807 /* "PRAGMA main.inde..." */, 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 /* pXList */)))) { var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 3) - if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+14652 /* "pk" */) == 0) { + if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+14667 /* "pk" */) == 0) { var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 1) if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } @@ -161293,15 +161801,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 2) var zDesc uintptr if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 3) != 0 { - zDesc = ts + 27060 /* " DESC" */ + zDesc = ts + 27075 /* " DESC" */ } else { - zDesc = ts + 740 /* "" */ + zDesc = ts + 755 /* "" */ } - z = rbuMPrintf(tls, p, ts+27653 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = ts + 13309 /* ", " */ + z = rbuMPrintf(tls, p, ts+27668 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) + zSep = ts + 13324 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+27664 /* "%z)" */, libc.VaList(bp+48, z)) + z = rbuMPrintf(tls, p, ts+27679 /* "%z)" */, libc.VaList(bp+48, z)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */))) } return z @@ -161333,7 +161841,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx - var zComma uintptr = ts + 740 /* "" */ + var zComma uintptr = ts + 755 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -161341,7 +161849,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168 /* &pQuery */, (p + 64 /* &.zErrmsg */), - ts+27668 /* "SELECT name FROM..." */) + ts+27683 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 1, tnum) if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) { @@ -161350,7 +161858,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit } if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+26820 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) @@ -161360,25 +161868,25 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 1) var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 3) var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+27718 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, + zCols = rbuMPrintf(tls, p, ts+27733 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+27740 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+27755 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { - return ts + 27060 /* " DESC" */ + return ts + 27075 /* " DESC" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) - zComma = ts + 13309 /* ", " */ + zComma = ts + 13324 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+27750 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) + zCols = rbuMPrintf(tls, p, ts+27765 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+27765, /* "CREATE TABLE rbu..." */ + ts+27780, /* "CREATE TABLE rbu..." */ libc.VaList(bp+120, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 0)) } } @@ -161406,52 +161914,52 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum - var zComma uintptr = ts + 740 /* "" */ + var zComma uintptr = ts + 755 /* "" */ var zSql uintptr = uintptr(0) var iCol int32 - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 1)) for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { - var zPk uintptr = ts + 740 /* "" */ + var zPk uintptr = ts + 755 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, 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) { // If the target table column is an "INTEGER PRIMARY KEY", add // "PRIMARY KEY" to the imposter table column declaration. - zPk = ts + 27827 /* "PRIMARY KEY " */ + zPk = ts + 27842 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+27840, /* "%z%s\"%w\" %s %sCO..." */ + zSql = rbuMPrintf(tls, p, ts+27855, /* "%z%s\"%w\" %s %sCO..." */ libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - return ts + 27867 /* " NOT NULL" */ + return ts + 27882 /* " NOT NULL" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) - zComma = ts + 13309 /* ", " */ + zComma = ts + 13324 /* ", " */ } 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+27877 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+27892 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+27884, /* "CREATE TABLE \"rb..." */ + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 1, tnum)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+27899, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { - return ts + 27916 /* " WITHOUT ROWID" */ + return ts + 27931 /* " WITHOUT ROWID" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 0)) } } @@ -161474,7 +161982,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 152 /* &.pTmpInsert */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27931, /* "INSERT INTO %s.'..." */ + ts+27946, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -161511,7 +162019,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+27988 /* "SELECT trim(sql)..." */) + ts+28003 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -161621,7 +162129,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+28054 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) + zLimit = Xsqlite3_mprintf(tls, ts+28069 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) if !(zLimit != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM } @@ -161642,26 +162150,26 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 624 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+28074, /* "CREATE TABLE \"rb..." */ + ts+28089, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 608 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 0)) // Create the statement to insert index entries (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 624 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28139 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+28154 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) } // And to delete index entries 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 /* &.pDelete */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28175 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+28190 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -161678,7 +162186,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+28209, /* "SELECT %s, 0 AS ..." */ + ts+28224, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -161686,32 +162194,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 28270 /* "AND" */ + return ts + 28285 /* "AND" */ } - return ts + 28274 /* "WHERE" */ + return ts + 28289 /* "WHERE" */ }() } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zStart, zCollist, zLimit)) 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+28280, /* "SELECT %s, rbu_c..." */ + ts+28295, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+216, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, - ts+28341, /* "SELECT %s, rbu_c..." */ + ts+28356, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+264, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { if zPart != 0 { - return ts + 28270 /* "AND" */ + return ts + 28285 /* "AND" */ } - return ts + 28274 /* "WHERE" */ + return ts + 28289 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -161736,8 +162244,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 var zBindings uintptr = rbuObjIterGetBindlist(tls, p, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + bRbuRowid)) var zWhere uintptr = rbuObjIterGetWhere(tls, p, pIter) - var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5452 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5448 /* "new" */) + var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5467 /* "old" */) + var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5463 /* "new" */) zCollist = rbuObjIterGetCollist(tls, p, pIter) (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -161747,21 +162255,21 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuCreateImposterTable2(tls, p, pIter) zWrite = func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 28500 /* "rbu_imp_" */ + return ts + 28515 /* "rbu_imp_" */ }() // Create the INSERT statement to write to the target PK b-tree if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, - ts+28509, /* "INSERT INTO \"%s%..." */ + ts+28524, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 28545 /* ", _rowid_" */ + return ts + 28560 /* ", _rowid_" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zBindings))) } @@ -161771,28 +162279,28 @@ 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 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+28555 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+384, zWrite, zTbl, zWhere))) + ts+28570 /* "DELETE FROM \"%s%..." */, 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 + 740 /* "" */ + var zRbuRowid uintptr = ts + 755 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 28583 /* ", rbu_rowid" */ + zRbuRowid = ts + 28598 /* ", rbu_rowid" */ } // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+28595 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+28610 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - return ts + 28671 /* ", 0 AS rbu_rowid" */ + return ts + 28686 /* ", 0 AS rbu_rowid" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+28688, /* "CREATE TEMP TRIG..." */ + ts+28703, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -161800,7 +162308,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 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+28987, /* "CREATE TEMP TRIG..." */ + ts+29002, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } @@ -161809,14 +162317,14 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the SELECT statement to read keys from data_xxx if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zRbuRowid uintptr = ts + 740 /* "" */ + var zRbuRowid uintptr = ts + 755 /* "" */ var zStart uintptr = uintptr(0) var zOrder uintptr = uintptr(0) if bRbuRowid != 0 { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zRbuRowid = ts + 29086 /* ",_rowid_ " */ + zRbuRowid = ts + 29101 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 29096 /* ",rbu_rowid" */ + zRbuRowid = ts + 29111 /* ",rbu_rowid" */ } } @@ -161829,35 +162337,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+27143 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+27158 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+740 /* "" */, ts+13309 /* ", " */, ts+740 /* "" */) + zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+13324 /* ", " */, ts+755 /* "" */) } } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 128 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, - ts+29107, /* "SELECT %s,%s rbu..." */ + ts+29122, /* "SELECT %s,%s rbu..." */ libc.VaList(bp+536, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 29155 /* "0 AS " */ + return ts + 29170 /* "0 AS " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 18196 /* "ORDER BY" */ + return ts + 18211 /* "ORDER BY" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zOrder, zLimit))) } @@ -161932,12 +162440,12 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp (*RbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - var zPrefix uintptr = ts + 740 /* "" */ + var zPrefix uintptr = ts + 755 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 28500 /* "rbu_imp_" */ + zPrefix = ts + 28515 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+29161, /* "UPDATE \"%s%w\" SE..." */ + zUpdate = Xsqlite3_mprintf(tls, ts+29176, /* "UPDATE \"%s%w\" SE..." */ 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 /* &.pUpdate */), (p + 64 /* &.zErrmsg */), zUpdate) @@ -161964,7 +162472,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))) *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) } @@ -162005,7 +162513,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ } *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+29191 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) + Xsqlite3_mprintf(tls, ts+29206 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) for (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) { case RBU_STATE_STAGE: @@ -162077,31 +162585,31 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5443 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */, 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+5443 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+29221 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) + var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+29236 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) } } // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29248 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+2398 /* "stat" */, uint64(4)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29263 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+2413 /* "stat" */, uint64(4)) } else { - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+5443 /* "main" */, uint64(4)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+5458 /* "main" */, uint64(4)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29266 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+29281 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 var rc int32 (*Sqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5443 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */, SQLITE_FCNTL_RBUCNT, p) if rc != SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -162134,11 +162642,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 return } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29332 /* "cannot vacuum wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29347 /* "cannot vacuum wa..." */, 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+22464 /* "file:" */, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5))) { + if (libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5)) && (0 == libc.Xmemcmp(tls, ts+22479 /* "file:" */, (*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)))) == '?' { @@ -162150,16 +162658,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+29364, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5443 /* "main" */), + zTarget = Xsqlite3_mprintf(tls, ts+29379, /* "file:%s-vactmp?r..." */ + libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */), func() uintptr { if zExtra == uintptr(0) { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 29396 /* "&" */ + return ts + 29411 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } return zExtra }())) @@ -162175,40 +162683,40 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+29398 /* "rbu_tmp_insert" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+29413 /* "rbu_tmp_insert" */, -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+29413 /* "rbu_fossil_delta" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + ts+29428 /* "rbu_fossil_delta" */, 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+29430 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+29445 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuTargetNameFunc})), uintptr(0), uintptr(0)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, SQLITE_FCNTL_RBU, p) } - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29446 /* "SELECT * FROM sq..." */, 0) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29461 /* "SELECT * FROM sq..." */, 0) // Mark the database file just opened as an RBU target database. If // this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. // This is an error. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, SQLITE_FCNTL_RBU, p) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29474 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29489 /* "rbu vfs not foun..." */, 0) } } @@ -162277,7 +162785,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+29446 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29461 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -162311,7 +162819,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+29492 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29507 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) if rc2 != SQLITE_INTERNAL { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -162438,16 +162946,16 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ bp := tls.Alloc(16) defer tls.Free(16) - var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5443 /* "main" */) + var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */) var zMove uintptr = zBase var zOal uintptr var zWal uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5443 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+29527 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+29534 /* "%s-wal" */, libc.VaList(bp+8, zMove)) + zOal = Xsqlite3_mprintf(tls, ts+29542 /* "%s-oal" */, libc.VaList(bp, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+29549 /* "%s-wal" */, libc.VaList(bp+8, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -162587,7 +163095,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) { /* sqlite3.c:203389:1 ((*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+22102 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+22117 /* "datatype mismatc..." */, 0) return } @@ -162705,7 +163213,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // var pStmt uintptr at bp+8, 8 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+29541 /* "PRAGMA schema_ve..." */) + ts+29556 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There // is already a transaction open, so the prepared statement cannot @@ -162718,7 +163226,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29563 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29578 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) } } } @@ -162743,7 +163251,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168 /* &pInsert */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+29590, /* "INSERT OR REPLAC..." */ + ts+29605, /* "INSERT OR REPLAC..." */ libc.VaList(bp, p+48, /* &.zStateDb */ RBU_STATE_STAGE, eStage, RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl, @@ -162788,9 +163296,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24 /* &pPragma */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+29748 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) + Xsqlite3_mprintf(tls, ts+29763 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)))) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29763, /* "PRAGMA main.%s =..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29778, /* "PRAGMA main.%s =..." */ libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)), 0))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */))) @@ -162807,11 +163315,11 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * *(*uintptr)(unsafe.Pointer(bp /* pSql */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29783 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29798 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+29808 /* "SELECT sql FROM ..." */) + ts+29823 /* "SELECT sql FROM ..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -162825,12 +163333,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+29916 /* "SELECT * FROM sq..." */) + ts+29931 /* "SELECT * FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8 /* &pInsert */, (p + 64 /* &.zErrmsg */), - ts+29981 /* "INSERT INTO sqli..." */) + ts+29996 /* "INSERT INTO sqli..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -162842,7 +163350,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30025 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30040 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) @@ -162864,8 +163372,8 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // when this handle was opened, create the target database schema. if (((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FnProgress == 0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { rbuCreateTargetSchema(tls, p) - rbuCopyPragma(tls, p, ts+15708 /* "user_version" */) - rbuCopyPragma(tls, p, ts+14830 /* "application_id" */) + rbuCopyPragma(tls, p, ts+15723 /* "user_version" */) + rbuCopyPragma(tls, p, ts+14845 /* "application_id" */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl != 0) { @@ -162876,7 +163384,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // But the contents can be deleted. 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+30050 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + ts+30065 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) } } else { rbuObjIterPrepareAll(tls, p, pIter, 0) @@ -162902,10 +163410,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: rbuSaveState(tls, p, RBU_STAGE_MOVE) rbuIncrSchemaCookie(tls, p) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_MOVE } @@ -163022,7 +163530,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 if (rc == SQLITE_OK) && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30078 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30093 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -163041,7 +163549,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ bp := tls.Alloc(8) defer tls.Free(8) - var zOal uintptr = rbuMPrintf(tls, p, ts+29527 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) + var zOal uintptr = rbuMPrintf(tls, p, ts+29542 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -163063,7 +163571,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ // var zRnd [64]int8 at bp+12, 64 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+30103 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+30118 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12 /* &zRnd[0] */) @@ -163102,7 +163610,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / rc = prepareFreeAndCollectError(tls, db, bp+8 /* &pStmt */, bp+16, /* &zErrmsg */ Xsqlite3_mprintf(tls, - ts+30114 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) + ts+30129 /* "SELECT count(*) ..." */, 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 /* zErrmsg */)), -1) } else { @@ -163145,7 +163653,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+30186 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+30201 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuIndexCntFunc})), uintptr(0), uintptr(0)) @@ -163153,7 +163661,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ // occurs, nPhaseOneStep will be left set to -1. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+30200 /* "SELECT 1 FROM sq..." */) + ts+30215 /* "SELECT 1 FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { @@ -163165,7 +163673,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (bExists != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+30257 /* "SELECT sum(cnt *..." */) + ts+30272 /* "SELECT sum(cnt *..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) @@ -163211,7 +163719,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) libc.Xmemcpy(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, zRbu, (nRbu + uint64(1))) pCsr += (uintptr(nRbu + uint64(1))) if zState != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+2775 /* "%s" */, libc.VaList(bp, zState)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+2790 /* "%s" */, libc.VaList(bp, zState)) } // If the first attempt to open the database file fails and the bRetry @@ -163248,7 +163756,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+30331 /* "cannot update wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30346 /* "cannot update wa..." */, 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 @@ -163270,12 +163778,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // transaction is committed in rollback mode) currently stored on // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30363, /* "database modifie..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30378, /* "database modifie..." */ libc.VaList(bp+8, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 30395 /* "vacuum" */ + return ts + 30410 /* "vacuum" */ } - return ts + 30402 /* "update" */ + return ts + 30417 /* "update" */ }())) } } @@ -163283,7 +163791,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { var db uintptr = (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13198 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13213 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) // Point the object iterator at the first object if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -163297,24 +163805,24 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_DONE } else { if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuState)(unsafe.Pointer(pState)).FeStage == 0)) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - rbuCopyPragma(tls, p, ts+15433 /* "page_size" */) - rbuCopyPragma(tls, p, ts+14845 /* "auto_vacuum" */) + rbuCopyPragma(tls, p, ts+15448 /* "page_size" */) + rbuCopyPragma(tls, p, ts+14860 /* "auto_vacuum" */) } // Open transactions both databases. The *-oal file is opened or // created at this point. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+30409 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+30424 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Check if the main database is a zipvfs db. If it is, set the upper // level pager to use "journal_mode=off". This prevents it from // generating a large journal using a temp file. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var frc int32 = Xsqlite3_file_control(tls, db, ts+5443 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) + var frc int32 = Xsqlite3_file_control(tls, db, ts+5458 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) if frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, - db, ts+30425 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + db, ts+30440 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } } @@ -163367,7 +163875,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+30449 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { + if (n >= 7) && (0 == libc.Xmemcmp(tls, ts+30464 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { return rbuMisuseError(tls) } } @@ -163397,7 +163905,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:204232:13: */ 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+28500 /* "rbu_imp_" */, uint64(8)) == 0 { + if libc.Xmemcmp(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i)), ts+28515 /* "rbu_imp_" */, 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++ @@ -163416,7 +163924,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Commit the transaction to the *-oal file. if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Sync the db file if currently doing an incremental checkpoint @@ -163428,7 +163936,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Close any open statement handles. @@ -163440,7 +163948,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // specifying the current target and state databases to start a new // vacuum from scratch. 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+30457 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) + var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+30472 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) && (rc2 != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -163539,7 +164047,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -163556,19 +164064,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13213 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13228 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { var zBegin uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zBegin = ts + 13198 /* "BEGIN" */ + zBegin = ts + 13213 /* "BEGIN" */ } else { - zBegin = ts + 30409 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 30424 /* "BEGIN IMMEDIATE" */ } 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+30409 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30424 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -163972,7 +164480,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30484 /* "rbu/zipvfs setup..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30499 /* "rbu/zipvfs setup..." */, 0) } else if rc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p (*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu @@ -163995,7 +164503,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+30507 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + var zOut uintptr = Xsqlite3_mprintf(tls, ts+30522 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = SQLITE_NOMEM @@ -164158,7 +164666,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags // This call is to open a *-wal file. Intead, open the *-oal. var nOpen Size_t if (*Sqlite3rbu)(unsafe.Pointer(((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu))).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+5443 /* "main" */) + zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+5458 /* "main" */) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -164173,7 +164681,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+30518 /* "rbu_memory" */, 0) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+30533 /* "rbu_memory" */, 0) != 0) { oflags = ((((SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -164480,6 +164988,5673 @@ func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlit //************* End of dbpage.c ********************************************* //************* Begin file sqlite3session.c ********************************* +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable1 = struct { + FpNext uintptr + FzName uintptr + FnCol int32 + FbStat1 int32 + FazCol uintptr + FabPK uintptr + FnEntry int32 + FnChange int32 + FapChange uintptr +} /* sqlite3.c:11155:9 */ + +//************************************************************************ + +//************* End of sqlite3rbu.c ***************************************** +//************* Begin file dbstat.c ***************************************** +// 2010 July 12 +// +// The author disclaims copyright to this source code. In place of +// a legal notice, here is a blessing: +// +// May you do good and not evil. +// May you find forgiveness for yourself and forgive others. +// May you share freely, never taking more than you give. +// +// +// +// This file contains an implementation of the "dbstat" virtual table. +// +// The dbstat virtual table is used to extract low-level storage +// information from an SQLite database in order to implement the +// "sqlite3_analyzer" utility. See the ../tool/spaceanal.tcl script +// for an example implementation. +// +// Additional information is available on the "dbstat.html" page of the +// official SQLite documentation. + +// #include "sqliteInt.h" ** Requires access to internal data structures ** + +//************* End of dbstat.c ********************************************* +//************* Begin file dbpage.c ***************************************** +// 2017-10-11 +// +// The author disclaims copyright to this source code. In place of +// a legal notice, here is a blessing: +// +// May you do good and not evil. +// May you find forgiveness for yourself and forgive others. +// May you share freely, never taking more than you give. +// +// +// +// This file contains an implementation of the "sqlite_dbpage" virtual table. +// +// The sqlite_dbpage virtual table is used to read or write whole raw +// pages of the database file. The pager interface is used so that +// uncommitted changes and changes recorded in the WAL file are correctly +// retrieved. +// +// Usage example: +// +// SELECT data FROM sqlite_dbpage('aux1') WHERE pgno=123; +// +// This is an eponymous virtual table so it does not need to be created before +// use. The optional argument to the sqlite_dbpage() table name is the +// schema for the database file that is to be read. The default schema is +// "main". +// +// The data field of sqlite_dbpage table can be updated. The new +// value must be a BLOB which is the correct page size, otherwise the +// update fails. Rows may not be deleted or inserted. + +// #include "sqliteInt.h" ** Requires access to internal data structures ** + +//************* End of dbpage.c ********************************************* +//************* Begin file sqlite3session.c ********************************* + +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ +type SessionChange1 = struct { + Fop U8 + FbIndirect U8 + _ [2]byte + FnMaxSize int32 + FnRecord int32 + _ [4]byte + FaRecord uintptr + FpNext uintptr +} /* sqlite3.c:11155:9 */ + +type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ +type SessionBuffer1 = struct { + FaBuf uintptr + FnBuf int32 + FnAlloc int32 +} /* sqlite3.c:11163:9 */ + +type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ +type SessionInput1 = struct { + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + _ [4]byte + FaData uintptr + FnData int32 + _ [4]byte + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 + _ [4]byte +} /* sqlite3.c:11163:9 */ + +type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ + +// Minimum chunk size used by streaming versions of functions. + +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:206671:12 */ + +type SessionHook1 = struct { + FpCtx uintptr + FxOld uintptr + FxNew uintptr + FxCount uintptr + FxDepth uintptr +} /* sqlite3.c:11155:9 */ + +type SessionHook = SessionHook1 /* sqlite3.c:206673:28 */ + +// Write a varint with value iVal into the buffer at aBuf. Return the +// number of bytes written. +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:206951:12: */ + return int32(func() uint8 { + if (U32(iVal)) < U32(0x80) { + return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) + } + return uint8(Xsqlite3PutVarint(tls, aBuf, uint64(iVal))) + }()) +} + +// Return the number of bytes required to store value iVal as a varint. +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:206958:12: */ + return Xsqlite3VarintLen(tls, uint64(iVal)) +} + +// Read a varint value from aBuf[] into *piVal. Return the number of +// bytes read. +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:206966:12: */ + return int32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { + return uint8(func() int32 { (*(*int32)(unsafe.Pointer(piVal))) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) + } + return Xsqlite3GetVarint32(tls, aBuf, piVal) + }()) +} + +// Load an unaligned and unsigned 32-bit integer + +// Read a 64-bit big-endian integer value from buffer aRec[]. Return +// the value read. +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:206977:22: */ + var x U64 = (U64((((U32(*(*U8)(unsafe.Pointer((aRec)))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec) + 3))))) + var y U32 = ((((U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4))))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 3)))) + x = ((x << 32) + U64(y)) + return Sqlite3_int64(x) +} + +// Write a 64-bit big-endian integer value to the buffer aBuf[]. +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:206987:13: */ + *(*U8)(unsafe.Pointer(aBuf)) = (U8((i >> 56) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 1)) = (U8((i >> 48) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 2)) = (U8((i >> 40) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 3)) = (U8((i >> 32) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 4)) = (U8((i >> 24) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 5)) = (U8((i >> 16) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 6)) = (U8((i >> 8) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 7)) = (U8((i >> 0) & int64(0xFF))) +} + +// This function is used to serialize the contents of value pValue (see +// comment titled "RECORD FORMAT" above). +// +// If it is non-NULL, the serialized form of the value is written to +// buffer aBuf. *pnWrite is set to the number of bytes written before +// returning. Or, if aBuf is NULL, the only thing this function does is +// set *pnWrite. +// +// If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs +// within a call to sqlite3_value_text() (may fail if the db is utf-16)) +// SQLITE_NOMEM is returned. +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:207011:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var nByte int32 // Size of serialized value in bytes + + if pValue != 0 { + var eType int32 // Value type (SQLITE_NULL, TEXT etc.) + + eType = Xsqlite3_value_type(tls, pValue) + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(eType) + } + + switch eType { + case SQLITE_NULL: + nByte = 1 + break + fallthrough + + case SQLITE_INTEGER: + fallthrough + case SQLITE_FLOAT: + if aBuf != 0 { + // TODO: SQLite does something special to deal with mixed-endian + // floating point values (e.g. ARM7). This code probably should + // too. + // var i U64 at bp, 8 + + if eType == SQLITE_INTEGER { + *(*U64)(unsafe.Pointer(bp /* i */)) = U64(Xsqlite3_value_int64(tls, pValue)) + } else { + // var r float64 at bp+8, 8 + + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_value_double(tls, pValue) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint64(8)) + } + sessionPutI64(tls, (aBuf + 1), int64(*(*U64)(unsafe.Pointer(bp /* i */)))) + } + nByte = 9 + break + fallthrough + + default: + { + var z uintptr + var n int32 + var nVarint int32 + + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, pValue) + } else { + z = Xsqlite3_value_blob(tls, pValue) + } + n = Xsqlite3_value_bytes(tls, pValue) + if (z == uintptr(0)) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + nVarint = sessionVarintLen(tls, n) + + if aBuf != 0 { + sessionVarintPut(tls, (aBuf + 1), n) + if n != 0 { + libc.Xmemcpy(tls, (aBuf + uintptr((nVarint + 1))), z, uint64(n)) + } + } + + nByte = ((1 + nVarint) + n) + break + + } + } + } else { + nByte = 1 + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(0) + } + } + + if pnWrite != 0 { + *(*Sqlite3_int64)(unsafe.Pointer(pnWrite)) += (Sqlite3_int64(nByte)) + } + return SQLITE_OK +} + +// Allocate and return a pointer to a buffer nByte bytes in size. If +// pSession is not NULL, increase the sqlite3_session.nMalloc variable +// by the number of bytes allocated. +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:207087:13: */ + var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) += I64((Xsqlite3_msize(tls, pRet))) + } + return pRet +} + +// Free buffer pFree, which must have been allocated by an earlier +// call to sessionMalloc64(). If pSession is not NULL, decrease the +// sqlite3_session.nMalloc counter by the number of bytes freed. +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:207098:13: */ + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) -= I64((Xsqlite3_msize(tls, pFree))) + } + Xsqlite3_free(tls, pFree) +} + +// This macro is used to calculate hash key values for data structures. In +// order to use this macro, the entire data structure must be represented +// as a series of unsigned integers. In order to calculate a hash-key value +// for a data structure represented as three such integers, the macro may +// then be used as follows: +// +// int hash_key_value; +// hash_key_value = HASH_APPEND(0, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// +// In practice, the data structures this macro is used for are the primary +// key values of modified rows. + +// Append the hash of the 64-bit integer passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:207124:21: */ + h = ((((h) << 3) ^ (h)) ^ (uint32(i & int64(0xFFFFFFFF)))) + return ((((h) << 3) ^ (h)) ^ (uint32((i >> 32) & int64(0xFFFFFFFF)))) +} + +// Append the hash of the blob passed via the second and third arguments to +// the hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:207133:21: */ + var i int32 + for i = 0; i < n; i++ { + h = ((((h) << 3) ^ (h)) ^ (uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))))) + } + return h +} + +// Append the hash of the data type passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:207143:21: */ + return ((((h) << 3) ^ (h)) ^ (uint32(eType))) +} + +// This function may only be called from within a pre-update callback. +// It calculates a hash based on the primary key values of the old.* or +// new.* row currently available and, assuming no error occurs, writes it to +// *piHash before returning. If the primary key contains one or more NULL +// values, *pbNullPK is set to true before returning. +// +// If an error occurs, an SQLite error code is returned and the final values +// of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned +// and the output variables are set as described above. +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:207158:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var h uint32 = uint32(0) // Hash value to return + var i int32 // Used to iterate through columns + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0 { + var rc int32 + var eType int32 + // var pVal uintptr at bp, 8 + + if bNew != 0 { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } else { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } + if rc != SQLITE_OK { + return rc + } + + eType = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var iVal I64 at bp+8, 8 + + if eType == SQLITE_INTEGER { + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + *(*float64)(unsafe.Pointer(bp + 16 /* rVal */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + + libc.Xmemcpy(tls, bp+8 /* &iVal */, bp+16 /* &rVal */, uint64(8)) + } + h = sessionHashAppendI64(tls, h, *(*I64)(unsafe.Pointer(bp + 8 /* iVal */))) + } else if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + var z uintptr + var n int32 + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + n = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + if !(z != 0) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + h = sessionHashAppendBlob(tls, h, n, z) + } else { + + *(*int32)(unsafe.Pointer(pbNullPK)) = 1 + } + } + } + + *(*int32)(unsafe.Pointer(piHash)) = (int32(h % uint32((*SessionTable)(unsafe.Pointer(pTab)).FnChange))) + return SQLITE_OK +} + +// The buffer that the argument points to contains a serialized SQL value. +// Return the number of bytes of space occupied by the value (including +// the type byte). +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:207223:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var e int32 = int32(*(*U8)(unsafe.Pointer(a))) + // var n int32 at bp, 4 + + if (e == 0) || (e == 0xFF) { + return 1 + } + if e == SQLITE_NULL { + return 1 + } + if (e == SQLITE_INTEGER) || (e == SQLITE_FLOAT) { + return 9 + } + return ((sessionVarintGet(tls, (a+1), bp /* &n */) + 1) + *(*int32)(unsafe.Pointer(bp /* n */))) +} + +// Based on the primary key values stored in change aRecord, calculate a +// hash key. Assume the has table has nBucket buckets. The hash keys +// calculated by this function are compatible with those calculated by +// sessionPreupdateHash(). +// +// The bPkOnly argument is non-zero if the record at aRecord[] is from +// a patchset DELETE. In this case the non-PK fields are omitted entirely. +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:207241:21: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var h uint32 = uint32(0) // Value to return + var i int32 // Used to iterate through columns + var a uintptr = aRecord // Used to iterate through change record + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(a))) + var isPK int32 = int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) + if (bPkOnly != 0) && (isPK == 0) { + continue + } + + // It is not possible for eType to be SQLITE_NULL here. The session + // module does not record changes for rows with NULL values stored in + // primary key columns. + + if isPK != 0 { + a++ + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + h = sessionHashAppendI64(tls, h, sessionGetI64(tls, a)) + a += uintptr(8) + } else { + // var n int32 at bp, 4 + + a += uintptr(sessionVarintGet(tls, a, bp /* &n */)) + h = sessionHashAppendBlob(tls, h, *(*int32)(unsafe.Pointer(bp /* n */)), a) + a += uintptr(*(*int32)(unsafe.Pointer(bp /* n */))) + } + } else { + a += uintptr(sessionSerialLen(tls, a)) + } + } + return (h % uint32(nBucket)) +} + +// Arguments aLeft and aRight are pointers to change records for table pTab. +// This function returns true if the two records apply to the same row (i.e. +// have the same values stored in the primary key columns), or false +// otherwise. +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:207290:12: */ + var a1 uintptr = aLeft // Cursor to iterate through aLeft + var a2 uintptr = aRight // Cursor to iterate through aRight + var iCol int32 // Used to iterate through table columns + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol))) != 0 { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + + if (n1 != n2) || (libc.Xmemcmp(tls, a1, a2, uint64(n1)) != 0) { + return 0 + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } else { + if bLeftPkOnly == 0 { + a1 += uintptr(sessionSerialLen(tls, a1)) + } + if bRightPkOnly == 0 { + a2 += uintptr(sessionSerialLen(tls, a2)) + } + } + } + + return 1 +} + +// Arguments aLeft and aRight both point to buffers containing change +// records with nCol columns. This function "merges" the two records into +// a single records which is written to the buffer at *paOut. *paOut is +// then set to point to one byte after the last byte written before +// returning. +// +// The merging of records is done as follows: For each column, if the +// aRight record contains a value for the column, copy the value from +// their. Otherwise, if aLeft contains a value, copy it. If neither +// record contains a value for a given column, then neither does the +// output record. +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:207333:13: */ + var a1 uintptr = aLeft // Cursor used to iterate through aLeft + var a2 uintptr = aRight // Cursor used to iterate through aRight + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor + var iCol int32 // Used to iterate from 0 to nCol + + for iCol = 0; iCol < nCol; iCol++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + libc.Xmemcpy(tls, aOut, a2, uint64(n2)) + aOut += uintptr(n2) + } else { + libc.Xmemcpy(tls, aOut, a1, uint64(n1)) + aOut += uintptr(n1) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut +} + +// This is a helper function used by sessionMergeUpdate(). +// +// When this function is called, both *paOne and *paTwo point to a value +// within a change record. Before it returns, both have been advanced so +// as to point to the next value in the record. +// +// If, when this function is called, *paTwo points to a valid value (i.e. +// *paTwo[0] is not 0x00 - the "no value" placeholder), a copy of the *paTwo +// pointer is returned and *pnVal is set to the number of bytes in the +// serialized value. Otherwise, a copy of *paOne is returned and *pnVal +// set to the number of bytes in the value at *paOne. If *paOne points +// to the "no value" placeholder, *pnVal is set to 1. In other words: +// +// if( *paTwo is valid ) return *paTwo; +// return *paOne; +// +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:207379:11: */ + var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) + var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) + var pRet uintptr = uintptr(0) + var n1 int32 + + if a2 != 0 { + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + *(*int32)(unsafe.Pointer(pnVal)) = n2 + pRet = a2 + } + *(*uintptr)(unsafe.Pointer(paTwo)) = (a2 + uintptr(n2)) + } + + n1 = sessionSerialLen(tls, a1) + if pRet == uintptr(0) { + *(*int32)(unsafe.Pointer(pnVal)) = n1 + pRet = a1 + } + *(*uintptr)(unsafe.Pointer(paOne)) = (a1 + uintptr(n1)) + + return pRet +} + +// This function is used by changeset_concat() to merge two UPDATE changes +// on the same row. +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:207413:12: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) + var i int32 + + if bPatchset == 0 { + var bRequired int32 = 0 + + // Write the old.* vector first. + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+16, 4 + + var aOld uintptr + // var nNew int32 at bp+40, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+16 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+40 /* &nNew */) + if ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)) != *(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) || (libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) != 0) { + if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + bRequired = 1 + } + libc.Xmemcpy(tls, aOut, aOld, uint64(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */))) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } + } + + if !(bRequired != 0) { + return 0 + } + } + + // Write the new.* vector + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+44, 4 + + var aOld uintptr + // var nNew int32 at bp+48, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+44 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+48 /* &nNew */) + if (bPatchset == 0) && + ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || ((*(*int32)(unsafe.Pointer(bp + 44 /* nOld */)) == *(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) && (0 == libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))))))) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } else { + libc.Xmemcpy(tls, aOut, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) + } + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut + return 1 +} + +// This function is only called from within a pre-update-hook callback. +// It determines if the current pre-update-hook change affects the same row +// as the change stored in argument pChange. If so, it returns true. Otherwise +// if the pre-update-hook does not affect the same row as pChange, it returns +// false. +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:207490:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var iCol int32 // Used to iterate through columns + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord // Cursor used to scan change record + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol)))) != 0) { + a += uintptr(sessionSerialLen(tls, a)) + } else { + // var pVal uintptr at bp, 8 + // Value returned by preupdate_new/old + var rc int32 + _ = rc // Error code from preupdate_new/old + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) // Type of value from change record + + // The following calls to preupdate_new() and preupdate_old() can not + // fail. This is because they cache their return values, and by the + // time control flows to here they have already been called once from + // within sessionPreupdateHash(). The first two asserts below verify + // this (that the method has already been called). + if op == SQLITE_INSERT { + // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } else { + // assert( db->pPreUpdate->pUnpacked ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } + + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { + return 0 + } + + // A SessionChange object never has a NULL value in a PK column + + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, a) + a += uintptr(8) + if eType == SQLITE_INTEGER { + if Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) { + return 0 + } + } else { + // var rVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &rVal */, bp+16 /* &iVal */, uint64(8)) + if Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*float64)(unsafe.Pointer(bp + 8 /* rVal */)) { + return 0 + } + } + } else { + // var n int32 at bp+24, 4 + + var z uintptr + a += uintptr(sessionVarintGet(tls, a, bp+24 /* &n */)) + if Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*int32)(unsafe.Pointer(bp + 24 /* n */)) { + return 0 + } + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + if (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) > 0) && (libc.Xmemcmp(tls, a, z, uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))) != 0) { + return 0 + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* n */))) + } + } + } + + return 1 +} + +// If required, grow the hash table used to store changes on table pTab +// (part of the session pSession). If a fatal OOM error occurs, set the +// session object to failed and return SQLITE_ERROR. Otherwise, return +// SQLITE_OK. +// +// It is possible that a non-fatal OOM error occurs in this function. In +// that case the hash-table does not grow, but SQLITE_OK is returned anyway. +// Growing the hash table in this case is a performance optimization only, +// it is not required for correct operation. +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:207569:12: */ + if ((*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= ((*SessionTable)(unsafe.Pointer(pTab)).FnChange / 2)) { + var i int32 + var apNew uintptr + var nNew Sqlite3_int64 = (int64(2) * (func() int64 { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange != 0 { + return int64((*SessionTable)(unsafe.Pointer(pTab)).FnChange) + } + return int64(128) + }())) + + apNew = sessionMalloc64(tls, + pSession, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew)))) + if apNew == uintptr(0) { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 { + return SQLITE_ERROR + } + return SQLITE_OK + } + libc.Xmemset(tls, apNew, 0, (uint64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew)))) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNext uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNext { + var bPkOnly int32 = (libc.Bool32((int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_DELETE) && (bPatchset != 0))) + var iHash int32 = int32(sessionChangeHash(tls, pTab, bPkOnly, (*SessionChange)(unsafe.Pointer(p)).FaRecord, int32(nNew))) + pNext = (*SessionChange)(unsafe.Pointer(p)).FpNext + (*SessionChange)(unsafe.Pointer(p)).FpNext = *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) = p + } + } + + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + (*SessionTable)(unsafe.Pointer(pTab)).FnChange = int32(nNew) + (*SessionTable)(unsafe.Pointer(pTab)).FapChange = apNew + } + + return SQLITE_OK +} + +// This function queries the database for the names of the columns of table +// zThis, in schema zDb. +// +// Otherwise, if they are not NULL, variable *pnCol is set to the number +// of columns in the database table and variable *pzTab is set to point to a +// nul-terminated copy of the table name. *pazCol (if not NULL) is set to +// point to an array of pointers to column names. And *pabPK (again, if not +// NULL) is set to point to an array of booleans - true if the corresponding +// column is part of the primary key. +// +// For example, if the table is declared as: +// +// CREATE TABLE tbl1(w, x, y, z, PRIMARY KEY(w, z)); +// +// Then the four output variables are populated as follows: +// +// *pnCol = 4 +// *pzTab = "tbl1" +// *pazCol = {"w", "x", "y", "z"} +// *pabPK = {1, 0, 0, 1} +// +// All returned buffers are part of the same single allocation, which must +// be freed using sqlite3_free() by the caller +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var zPragma uintptr + // var pStmt uintptr at bp+16, 8 + + var rc int32 + var nByte Sqlite3_int64 + var nDbCol int32 = 0 + var nThis int32 + var i int32 + var pAlloc uintptr = uintptr(0) + var azCol uintptr = uintptr(0) + var abPK uintptr = uintptr(0) + + nThis = Xsqlite3Strlen30(tls, zThis) + if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+10072 /* "sqlite_stat1" */, zThis)) { + 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 { + // For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. + zPragma = Xsqlite3_mprintf(tls, + + ts+30544 /* "SELECT 0, 'tbl',..." */, 0) + } else if rc == SQLITE_ERROR { + zPragma = Xsqlite3_mprintf(tls, ts+755 /* "" */, 0) + } else { + return rc + } + } else { + zPragma = Xsqlite3_mprintf(tls, ts+30665 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + } + if !(zPragma != 0) { + return SQLITE_NOMEM + } + + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+16 /* &pStmt */, uintptr(0)) + Xsqlite3_free(tls, zPragma) + if rc != SQLITE_OK { + return rc + } + + nByte = (Sqlite3_int64(nThis + 1)) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) + nDbCol++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + if rc == SQLITE_OK { + nByte = Sqlite3_int64(uint64(nByte) + (uint64(uint64(nDbCol) * ((uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(U8(0)))) + uint64(1))))) + pAlloc = sessionMalloc64(tls, pSession, nByte) + if pAlloc == uintptr(0) { + rc = SQLITE_NOMEM + } + } + if rc == SQLITE_OK { + azCol = pAlloc + pAlloc = (azCol + uintptr(nDbCol)*8) + abPK = pAlloc + pAlloc = (abPK + uintptr(nDbCol)) + if pzTab != 0 { + libc.Xmemcpy(tls, pAlloc, zThis, (uint64(nThis + 1))) + *(*uintptr)(unsafe.Pointer(pzTab)) = pAlloc + pAlloc += (uintptr(nThis + 1)) + } + + i = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + if zName == uintptr(0) { + break + } + libc.Xmemcpy(tls, pAlloc, zName, (uint64(nName + 1))) + *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc + pAlloc += (uintptr(nName + 1)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 5)) + i++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + } + + // If successful, populate the output variables. Otherwise, zero them and + // free any allocation made. An error code will be returned in this case. + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pazCol)) = azCol + *(*uintptr)(unsafe.Pointer(pabPK)) = abPK + *(*int32)(unsafe.Pointer(pnCol)) = nDbCol + } else { + *(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pabPK)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnCol)) = 0 + if pzTab != 0 { + *(*uintptr)(unsafe.Pointer(pzTab)) = uintptr(0) + } + sessionFree(tls, pSession, azCol) + } + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + return rc +} + +// This function is only called from within a pre-update handler for a +// write to table pTab, part of session pSession. If this is the first +// write to this table, initalize the SessionTable.nCol, azCol[] and +// abPK[] arrays accordingly. +// +// If an error occurs, an error code is stored in sqlite3_session.rc and +// non-zero returned. Or, if no error occurs but the table has no primary +// key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to +// indicate that updates on this table should be ignored. SessionTable.abPK +// is set to NULL in this case. +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:207752:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + if (*SessionTable)(unsafe.Pointer(pTab)).FnCol == 0 { + // var abPK uintptr at bp, 8 + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionTableInfo(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, + (*SessionTable)(unsafe.Pointer(pTab)).FzName, (pTab + 16 /* &.nCol */), uintptr(0), (pTab + 24 /* &.azCol */), bp /* &abPK */) + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc == SQLITE_OK { + var i int32 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* abPK */)) + uintptr(i))) != 0 { + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = *(*uintptr)(unsafe.Pointer(bp /* abPK */)) + break + } + } + if 0 == Xsqlite3_stricmp(tls, ts+10072 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += I64((uint64(((Size_t((1 + sessionVarintLen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + uint64(1)))) + } + } + } + return (libc.Bool32(((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FabPK == uintptr(0)))) +} + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx1 = struct { + Fhook SessionHook + FpSession uintptr +} /* sqlite3.c:207787:9 */ + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:207787:32 */ + +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207792:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207802:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 24 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 32 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = int64(2) + if int32((*SessionChange)(unsafe.Pointer(pC)).Fop) == SQLITE_INSERT { + if op != SQLITE_DELETE { + var ii int32 + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) + } + } + } else if op == SQLITE_DELETE { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + if Xsqlite3_preupdate_blobwrite(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb) >= 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + } + } else { + var ii int32 + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(pC)).FaRecord + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + var bChanged int32 = 1 + var nOld int32 = 0 + var eType int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) + if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { + return SQLITE_NOMEM + } + + eType = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pCsr, 1)))) + switch eType { + case SQLITE_NULL: + bChanged = (libc.Bool32(Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) != SQLITE_NULL)) + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + if eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) = sessionGetI64(tls, pCsr) + if eType == SQLITE_INTEGER { + bChanged = (libc.Bool32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) != Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } else { + // var dVal float64 at bp+24, 8 + + libc.Xmemcpy(tls, bp+24 /* &dVal */, bp+32 /* &iVal */, uint64(8)) + bChanged = (libc.Bool32(*(*float64)(unsafe.Pointer(bp + 24 /* dVal */)) != Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } + } + nOld = 8 + pCsr += uintptr(8) + break + + } + fallthrough + + default: + { + // var nByte int32 at bp+40, 4 + + nOld = sessionVarintGet(tls, pCsr, bp+40 /* &nByte */) + pCsr += uintptr(nOld) + nOld = nOld + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + + if ((eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)))) && + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) && + ((*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == 0) || (0 == libc.Xmemcmp(tls, pCsr, Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))), uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)))))) { + bChanged = 0 + } + pCsr += uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + break + + } + } + + if (bChanged != 0) && (*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0) { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = (I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord + 2)) + break + } + + if bChanged != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(1 + nOld)) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)), bp+8 /* &nNew */) + } else if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(2 + nOld)) + } else { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += int64(2) + } + } + } + + if *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) > I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize) { + var nIncr int32 = (int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) - I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize))) + (*SessionChange)(unsafe.Pointer(pC)).FnMaxSize = int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */))) + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += (I64(nIncr)) + } + return SQLITE_OK +} + +// This function is only called from with a pre-update-hook reporting a +// change on table pTab (attached to session pSession). The type of change +// (UPDATE, INSERT, DELETE) is specified by the first argument. +// +// Unless one is already present or an error occurs, an entry is added +// to the changed-rows hash table associated with table pTab. +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:207927:13: */ + bp := tls.Alloc(80) + defer tls.Free(80) + + // var iHash int32 at bp+48, 4 + + // var bNull int32 at bp+52, 4 + + var rc int32 + // var stat1 SessionStat1Ctx at bp, 48 + + var p uintptr + // var p1 uintptr at bp+56, 8 + + // var p2 uintptr at bp+72, 8 + + // Create a new change object containing all the old values (if + // this is an SQLITE_UPDATE or SQLITE_DELETE), or just the PK + // values (if this is an INSERT). + // var nByte Sqlite3_int64 at bp+64, 8 + // Number of bytes to allocate + var i int32 + // Search the hash table for an existing record for this row. + var pC uintptr + *(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) = 0 + rc = SQLITE_OK + *(*SessionStat1Ctx)(unsafe.Pointer(bp /* stat1 */)) = SessionStat1Ctx{} + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) { + goto __1 + } + return +__1: + ; + + // Load table details if required + if !(sessionInitTable(tls, pSession, pTab) != 0) { + goto __2 + } + return +__2: + ; + + // Check the number of columns in this xPreUpdate call matches the + // number of columns in the table. + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 24 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + goto __3 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA + return +__3: + ; + + // Grow the hash table if required + if !(sessionGrowHash(tls, pSession, 0, pTab) != 0) { + goto __4 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_NOMEM + return +__4: + ; + + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __5 + } + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).FpSession = pSession + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = bp /* &stat1 */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1New})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1Old})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Count})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Depth})) + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob == uintptr(0)) { + goto __6 + } + p = Xsqlite3ValueNew(tls, uintptr(0)) + if !(p == uintptr(0)) { + goto __7 + } + rc = SQLITE_NOMEM + goto error_out +__7: + ; + Xsqlite3ValueSetStr(tls, p, 0, ts+755 /* "" */, uint8(0), uintptr(0)) + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p +__6: + ; +__5: + ; + + // Calculate the hash-key for this change. If the primary key of the row + // includes a NULL value, exit early. Such changes are ignored by the + // session module. + rc = sessionPreupdateHash(tls, pSession, pTab, (libc.Bool32(op == SQLITE_INSERT)), bp+48 /* &iHash */, bp+52 /* &bNull */) + if !(rc != SQLITE_OK) { + goto __8 + } + goto error_out +__8: + ; + + if !(*(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) == 0) { + goto __9 + } + pC = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) +__10: + if !(pC != 0) { + goto __12 + } + if !(sessionPreupdateEqual(tls, pSession, pTab, pC, op) != 0) { + goto __13 + } + goto __12 +__13: + ; + goto __11 +__11: + pC = (*SessionChange)(unsafe.Pointer(pC)).FpNext + goto __10 + goto __12 +__12: + ; + + if !(pC == uintptr(0)) { + goto __14 + } // Used to iterate through columns + + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + + // Figure out how large an allocation is required + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = Sqlite3_int64(unsafe.Sizeof(SessionChange{})) + i = 0 +__16: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __18 + } + *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __19 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + + goto __20 +__19: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __21 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + +__21: + ; +__20: + ; + + // This may fail if SQLite value p contains a utf-16 string that must + // be converted to utf-8 and an OOM error occurs while doing so. + rc = sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)), bp+64 /* &nByte */) + if !(rc != SQLITE_OK) { + goto __22 + } + goto error_out +__22: + ; + goto __17 +__17: + i++ + goto __16 + goto __18 +__18: + ; + + // Allocate the change object + pC = sessionMalloc64(tls, pSession, *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + if !(!(pC != 0)) { + goto __23 + } + rc = SQLITE_NOMEM + goto error_out + goto __24 +__23: + libc.Xmemset(tls, pC, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pC)).FaRecord = (pC + 1*32) +__24: + ; + + // Populate the change object. None of the preupdate_old(), + // preupdate_new() or SerializeValue() calls below may fail as all + // required values and encodings have already been cached in memory. + // It is not possible for an OOM to occur in this block. + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = int64(0) + i = 0 +__25: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __27 + } + *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __28 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) + goto __29 +__28: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __30 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) +__30: + ; +__29: + ; + sessionSerializeValue(tls, ((*SessionChange)(unsafe.Pointer(pC)).FaRecord + uintptr(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)))), *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)), bp+64 /* &nByte */) + goto __26 +__26: + i++ + goto __25 + goto __27 +__27: + ; + + // Add the change to the hash-table + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + goto __31 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) +__31: + ; + (*SessionChange)(unsafe.Pointer(pC)).FnRecord = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + (*SessionChange)(unsafe.Pointer(pC)).Fop = U8(op) + (*SessionChange)(unsafe.Pointer(pC)).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) = pC + + goto __15 +__14: + if !((*SessionChange)(unsafe.Pointer(pC)).FbIndirect != 0) { + goto __32 + } + // If the existing change is considered "indirect", but this current + // change is "direct", mark the change object as direct. + if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { + goto __33 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(0) +__33: + ; +__32: + ; +__15: + ; + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0) { + goto __34 + } + rc = sessionUpdateMaxSize(tls, op, pSession, pTab, pC) +__34: + ; +__9: + ; + + // If an error has occurred, mark the session object as failed. +error_out: + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __35 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook = (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook +__35: + ; + if !(rc != SQLITE_OK) { + goto __36 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = rc +__36: +} + +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:208076:12: */ + var rc int32 = SQLITE_OK + var nName int32 = Xsqlite3Strlen30(tls, zName) + var pRet uintptr + + // Search for an existing table + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pRet != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pRet)).FzName, zName, (nName+1)) { + break + } + } + + if (pRet == uintptr(0)) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach != 0) { + // If there is a table-filter configured, invoke it. If it returns 0, + // do not automatically add the new table. + if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || + ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 48 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + rc = Xsqlite3session_attach(tls, pSession, zName) + if rc == SQLITE_OK { + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + } + + } + } + } + + *(*uintptr)(unsafe.Pointer(ppTab)) = pRet + return rc +} + +// The 'pre-update' hook registered by this module with SQLite databases. +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:208112:13: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var pSession uintptr + var nDb int32 = Xsqlite3Strlen30(tls, zDb) + + for pSession = pCtx; pSession != 0; pSession = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpNext { + // var pTab uintptr at bp, 8 + + // If this session is attached to a different database ("main", "temp" + // etc.), or if it is not currently enabled, there is nothing to do. Skip + // to the next session object attached to this database. + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable == 0 { + continue + } + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + continue + } + if Xsqlite3_strnicmp(tls, zDb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (nDb+1)) != 0 { + continue + } + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionFindTable(tls, pSession, zName, bp /* &pTab */) + if *(*uintptr)(unsafe.Pointer(bp /* pTab */)) != 0 { + + sessionPreupdateOneChange(tls, op, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + if op == SQLITE_UPDATE { + sessionPreupdateOneChange(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + } + } + } +} + +// The pre-update hook implementations. +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208150:12: */ + return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208153:12: */ + return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208156:12: */ + return Xsqlite3_preupdate_count(tls, pCtx) +} + +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208159:12: */ + return Xsqlite3_preupdate_depth(tls, pCtx) +} + +// Install the pre-update hooks on the session object passed as the only +// argument. +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208167:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateDepth})) +} + +type SessionDiffCtx1 = struct { + FpStmt uintptr + FnOldOff int32 + _ [4]byte +} /* sqlite3.c:208177:9 */ + +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ + +// The diff hook implementations. +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208186:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, (iVal + (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff)) + return SQLITE_OK +} + +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208191:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) + return SQLITE_OK +} + +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208196:12: */ + var p uintptr = pCtx + if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { + return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff + } + return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) +} + +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208200:12: */ + return 0 +} + +// Install the diff hooks on the session object passed as the only +// argument. +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:208208:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffDepth})) +} + +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 755 /* "" */ + var zRet uintptr = uintptr(0) + + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + zRet = Xsqlite3_mprintf(tls, ts+30694, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 19877 /* " AND " */ + if zRet == uintptr(0) { + break + } + } + } + + return zRet +} + +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 755 /* "" */ + var zRet uintptr = uintptr(0) + var bHave int32 = 0 + + for i = 0; i < nCol; i++ { + if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { + bHave = 1 + zRet = Xsqlite3_mprintf(tls, + ts+30728, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 30769 /* " OR " */ + if zRet == uintptr(0) { + break + } + } + } + + if bHave == 0 { + + zRet = Xsqlite3_mprintf(tls, ts+6506 /* "0" */, 0) + } + + return zRet +} + +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var zRet uintptr = Xsqlite3_mprintf(tls, + + ts+30774, /* "SELECT * FROM \"%..." */ + libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) + return zRet +} + +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:208289:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 = SQLITE_OK + var zStmt uintptr = sessionSelectFindNew(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, zDb1, zDb2, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr) + + if zStmt == uintptr(0) { + rc = SQLITE_NOMEM + } else { + // var pStmt uintptr at bp, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp /* &pStmt */, uintptr(0)) + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { + sessionPreupdateOneChange(tls, op, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + + return rc +} + +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var rc int32 = SQLITE_OK + + var zExpr2 uintptr = sessionExprCompareOther(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, + (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (*SessionTable)(unsafe.Pointer(pTab)).FazCol, (*SessionTable)(unsafe.Pointer(pTab)).FabPK) + if zExpr2 == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var zStmt uintptr = Xsqlite3_mprintf(tls, + ts+30852, /* "SELECT * FROM \"%..." */ + 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 + } else { + // var pStmt uintptr at bp+48, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+48 /* &pStmt */, uintptr(0)) + + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) { + sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + } + + return rc +} + +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:208360:16: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var zDb uintptr + var rc int32 + // var d SessionDiffCtx at bp, 16 + + var i int32 + var bHasPk int32 + var bMismatch int32 + // var nCol int32 at bp+24, 4 + // Columns in zFrom.zTbl + // var abPK uintptr at bp+40, 8 + + // var azCol uintptr at bp+32, 8 + + var zExpr uintptr + var db uintptr + // var pTo uintptr at bp+16, 8 + zDb = (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + + libc.Xmemset(tls, bp /* &d */, 0, uint64(unsafe.Sizeof(SessionDiffCtx{}))) + sessionDiffHooks(tls, pSession, bp /* &d */) + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if !(pzErrMsg != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) +__1: + ; + if !(rc == SQLITE_OK) { + goto __2 + } + zExpr = uintptr(0) + db = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Table zTbl + + // Locate and if necessary initialize the target table object + rc = sessionFindTable(tls, pSession, zTbl, bp+16 /* &pTo */) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)) == uintptr(0)) { + goto __3 + } + goto diff_out +__3: + ; + if !(sessionInitTable(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */))) != 0) { + goto __4 + } + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + goto diff_out +__4: + ; + + // Check the table schemas match + if !(rc == SQLITE_OK) { + goto __5 + } + bHasPk = 0 + bMismatch = 0 + *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) = uintptr(0) + rc = sessionTableInfo(tls, uintptr(0), db, zFrom, zTbl, bp+24 /* &nCol */, uintptr(0), bp+32 /* &azCol */, bp+40 /* &abPK */) + if !(rc == SQLITE_OK) { + goto __6 + } + if !((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __7 + } + bMismatch = 1 + goto __8 +__7: + i = 0 +__9: + if !(i < *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __11 + } + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))))) { + goto __12 + } + bMismatch = 1 +__12: + ; + if !(Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol + uintptr(i)*8))) != 0) { + goto __13 + } + bMismatch = 1 +__13: + ; + if !(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))) != 0) { + goto __14 + } + bHasPk = 1 +__14: + ; + goto __10 +__10: + i++ + goto __9 + goto __11 +__11: + ; +__8: + ; +__6: + ; + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */))) + if !(bMismatch != 0) { + goto __15 + } + if !(pzErrMsg != 0) { + goto __16 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+30905 /* "table schemas do..." */, 0) +__16: + ; + rc = SQLITE_SCHEMA +__15: + ; + if !(bHasPk == 0) { + goto __17 + } + // Ignore tables with no primary keys + goto diff_out +__17: + ; +__5: + ; + + if !(rc == SQLITE_OK) { + goto __18 + } + zExpr = sessionExprComparePK(tls, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol, + zDb, zFrom, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FzName, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK) +__18: + ; + + // Find new rows + if !(rc == SQLITE_OK) { + goto __19 + } + rc = sessionDiffFindNew(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zDb, zFrom, zExpr) +__19: + ; + + // Find old rows + if !(rc == SQLITE_OK) { + goto __20 + } + rc = sessionDiffFindNew(tls, SQLITE_DELETE, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zDb, zExpr) +__20: + ; + + // Find modified rows + if !(rc == SQLITE_OK) { + goto __21 + } + rc = sessionDiffFindModified(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zExpr) +__21: + ; + + Xsqlite3_free(tls, zExpr) +__2: + ; + +diff_out: + sessionPreupdateHooks(tls, pSession) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Create a session object. This session object will record changes to +// database zDb attached to connection db. +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:208455:16: */ + var pNew uintptr // Newly allocated session object + var pOld uintptr // Session object already attached to db + var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes + + // Zero the output value in case an error occurs. + *(*uintptr)(unsafe.Pointer(ppSession)) = uintptr(0) + + // Allocate and populate the new session object. + pNew = Xsqlite3_malloc64(tls, (uint64((uint64(unsafe.Sizeof(Sqlite3_session{})) + uint64(nDb)) + uint64(1)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_session{}))) + (*Sqlite3_session)(unsafe.Pointer(pNew)).Fdb = db + (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb = (pNew + 1*136) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FbEnable = 1 + libc.Xmemcpy(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, zDb, (uint64(nDb + 1))) + sessionPreupdateHooks(tls, pNew) + + // Add the new session object to the linked list of session objects + // attached to database handle $db. Do this under the cover of the db + // handle mutex. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + pOld = Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), pNew) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FpNext = pOld + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + + *(*uintptr)(unsafe.Pointer(ppSession)) = pNew + return SQLITE_OK +} + +// Free the list of table objects passed as the first argument. The contents +// of the changed-rows hash tables are also deleted. +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:208493:13: */ + var pNext uintptr + var pTab uintptr + + for pTab = pList; pTab != 0; pTab = pNext { + var i int32 + pNext = (*SessionTable)(unsafe.Pointer(pTab)).FpNext + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNextChange uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNextChange { + pNextChange = (*SessionChange)(unsafe.Pointer(p)).FpNext + sessionFree(tls, pSession, p) + } + } + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FazCol) // cast works around VC++ bug + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + sessionFree(tls, pSession, pTab) + } +} + +// Delete a session object previously allocated using sqlite3session_create(). +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208517:17: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + // var pHead uintptr at bp, 8 + + var pp uintptr + + // Unlink the session from the linked list of sessions attached to the + // database handle. Hold the db mutex while doing so. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + *(*uintptr)(unsafe.Pointer(bp /* pHead */)) = Xsqlite3_preupdate_hook(tls, db, uintptr(0), uintptr(0)) + for pp = bp; /* &pHead */ (*(*uintptr)(unsafe.Pointer(pp))) != uintptr(0); pp = (*(*uintptr)(unsafe.Pointer(pp)) + 80 /* &.pNext */) { + if (*(*uintptr)(unsafe.Pointer(pp))) == pSession { + *(*uintptr)(unsafe.Pointer(pp)) = (*Sqlite3_session)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + if *(*uintptr)(unsafe.Pointer(bp /* pHead */)) != 0 { + Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), *(*uintptr)(unsafe.Pointer(bp /* pHead */))) + } + break + } + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + Xsqlite3ValueFree(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob) + + // Delete all attached table objects. And the contents of their + // associated hash-tables. + sessionDeleteTable(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable) + + // Assert that all allocations have been freed and then free the + // session object itself. + + Xsqlite3_free(tls, pSession) +} + +// Set a table filter on a Session Object. +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:208549:17: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter +} + +// Attach a table to a session. All subsequent changes made to the table +// while the session object is enabled will be recorded. +// +// Only tables that have a PRIMARY KEY defined may be attached. It does +// not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) +// or not. +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:208567:16: */ + var rc int32 = SQLITE_OK + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + if !(zName != 0) { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + } else { + var pTab uintptr // New table object (if required) + var nName int32 // Number of bytes in string zName + + // First search for an existing entry. If one is found, this call is + // a no-op. Return early. + nName = Xsqlite3Strlen30(tls, zName) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (nName+1)) { + break + } + } + + if !(pTab != 0) { + // Allocate new SessionTable object. + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionTable{})) + uint64(nName)) + uint64(1))) + pTab = sessionMalloc64(tls, pSession, int64(nByte)) + if !(pTab != 0) { + rc = SQLITE_NOMEM + } else { + // Populate the new SessionTable object and link it into the list. + // The new object must be linked onto the end of the list, not + // simply added to the start of it in order to ensure that tables + // appear in the correct order when a changeset or patchset is + // eventually generated. + var ppTab uintptr + libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = (pTab + 1*56) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (uint64(nName + 1))) + for ppTab = (pSession + 88 /* &.pTable */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } + } + } + + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Ensure that there is room in the buffer to append nByte bytes of data. +// If not, use sqlite3_realloc() to grow the buffer so that there is. +// +// If successful, return zero. Otherwise, if an OOM condition is encountered, +// set *pRc to SQLITE_NOMEM and return non-zero. +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:208620:12: */ + var nReq I64 = (I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte) + if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc)) { + var aNew uintptr + var nNew I64 + if (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc != 0 { + nNew = int64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) + } else { + nNew = int64(128) + } + + for ok := true; ok; ok = (nNew < nReq) { + nNew = (nNew * int64(2)) + } + + // The value of SESSION_MAX_BUFFER_SZ is copied from the implementation + // of sqlite3_realloc64(). Allocations greater than this size in bytes + // always fail. It is used here to ensure that this routine can always + // allocate up to this limit - instead of up to the largest power of + // two smaller than the limit. + if nNew > (int64(0x7FFFFF00 - 1)) { + nNew = (int64(0x7FFFFF00 - 1)) + if nNew < nReq { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + return 1 + } + } + + aNew = Xsqlite3_realloc64(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf, uint64(nNew)) + if uintptr(0) == aNew { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } else { + (*SessionBuffer)(unsafe.Pointer(p)).FaBuf = aNew + (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc = int32(nNew) + } + } + return (libc.Bool32(*(*int32)(unsafe.Pointer(pRc)) != SQLITE_OK)) +} + +// Append the value passed as the second argument to the buffer passed +// as the first. +// +// This function is a no-op if *pRc is non-zero when it is called. +// Otherwise, if an error occurs, *pRc is set to an SQLite error code +// before returning. +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:208663:13: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, uintptr(0), pVal, bp /* &nByte */) + sessionBufferGrow(tls, p, *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)), bp+8 /* &rc */) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), pVal, uintptr(0)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += int32((*(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)))) + } else { + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) + } + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single byte to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:208685:13: */ + if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { + *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single varint to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:208698:13: */ + if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (sessionVarintPut(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), v)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a blob of data to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:208711:13: */ + if (nBlob > 0) && (0 == sessionBufferGrow(tls, p, int64(nBlob), pRc)) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), aBlob, uint64(nBlob)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nBlob) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a string to the buffer. All bytes in the string +// up to (but not including) the nul-terminator are written to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208731:13: */ + var nStr int32 = Xsqlite3Strlen30(tls, zStr) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), zStr, uint64(nStr)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nStr) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string representation of integer iVal +// to the buffer. No nul-terminator is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aBuf [24]int8 at bp+8, 24 + + Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+8 /* &aBuf[0] */, ts+4089 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string zStr enclosed in quotes (") and +// with any embedded quote characters escaped to the buffer. No +// nul-terminator byte is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208770:13: */ + var nStr int32 = (((Xsqlite3Strlen30(tls, zStr) * 2) + 2) + 1) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + var zOut uintptr = ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)) + var zIn uintptr = zStr + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + for *(*int8)(unsafe.Pointer(zIn)) != 0 { + if int32(*(*int8)(unsafe.Pointer(zIn))) == '"' { + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + (*SessionBuffer)(unsafe.Pointer(p)).FnBuf = (int32((int64(zOut) - int64((*SessionBuffer)(unsafe.Pointer(p)).FaBuf)) / 1)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwse, it appends the serialized version of the value stored +// in column iCol of the row that SQL statement pStmt currently points +// to to the buffer. +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:208795:13: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var eType int32 = Xsqlite3_column_type(tls, pStmt, iCol) + sessionAppendByte(tls, p, U8(eType), pRc) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var i Sqlite3_int64 at bp, 8 + + // var aBuf [8]U8 at bp+16, 8 + + if eType == SQLITE_INTEGER { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */)) = Xsqlite3_column_int64(tls, pStmt, iCol) + } else { + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_column_double(tls, pStmt, iCol) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint64(8)) + } + sessionPutI64(tls, bp+16 /* &aBuf[0] */, *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */))) + sessionAppendBlob(tls, p, bp+16 /* &aBuf[0] */, 8, pRc) + } + if (eType == SQLITE_BLOB) || (eType == SQLITE_TEXT) { + var z uintptr + var nByte int32 + if eType == SQLITE_BLOB { + z = Xsqlite3_column_blob(tls, pStmt, iCol) + } else { + z = Xsqlite3_column_text(tls, pStmt, iCol) + } + nByte = Xsqlite3_column_bytes(tls, pStmt, iCol) + if (z != 0) || ((eType == SQLITE_BLOB) && (nByte == 0)) { + sessionAppendVarint(tls, p, nByte, pRc) + sessionAppendBlob(tls, p, z, nByte, pRc) + } else { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } + } + } +} + +// +// This function appends an update change to the buffer (see the comments +// under "CHANGESET FORMAT" at the top of the file). An update change +// consists of: +// +// 1 byte: SQLITE_UPDATE (0x17) +// n bytes: old.* record (see RECORD FORMAT) +// m bytes: new.* record (see RECORD FORMAT) +// +// The SessionChange object passed as the third argument contains the +// values that were stored in the row when the session began (the old.* +// values). The statement handle passed as the second argument points +// at the current version of the row (the new.* values). +// +// If all of the old.* values are equal to their corresponding new.* value +// (i.e. nothing has changed), then no data at all is appended to the buffer. +// +// Otherwise, the old.* record contains all primary key values and the +// original values of any fields that have been modified. The new.* record +// contains the new values of only those fields that have been modified. +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:208857:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp + 32 /* buf2 */)) = SessionBuffer{} // Buffer to accumulate new.* record in + var bNoop int32 = 1 // Set to zero if any values are modified + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf // Set to zero if any values are modified + var i int32 // Used to iterate through columns + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord // Used to iterate through old.* values + + sessionAppendByte(tls, pBuf, uint8(SQLITE_UPDATE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + for i = 0; i < Xsqlite3_column_count(tls, pStmt); i++ { + var bChanged int32 = 0 + var nAdvance int32 + var eType int32 = int32(*(*U8)(unsafe.Pointer(pCsr))) + switch eType { + case SQLITE_NULL: + nAdvance = 1 + if Xsqlite3_column_type(tls, pStmt, i) != SQLITE_NULL { + bChanged = 1 + } + break + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + nAdvance = 9 + if eType == Xsqlite3_column_type(tls, pStmt, i) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, (pCsr + 1)) + if eType == SQLITE_INTEGER { + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) == Xsqlite3_column_int64(tls, pStmt, i) { + break + } + } else { + // var dVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &dVal */, bp+16 /* &iVal */, uint64(8)) + if *(*float64)(unsafe.Pointer(bp + 8 /* dVal */)) == Xsqlite3_column_double(tls, pStmt, i) { + break + } + } + } + bChanged = 1 + break + + } + + default: + { + // var n int32 at bp+24, 4 + + var nHdr int32 = (1 + sessionVarintGet(tls, (pCsr+1), bp+24 /* &n */)) + + nAdvance = (nHdr + *(*int32)(unsafe.Pointer(bp + 24 /* n */))) + if ((eType == Xsqlite3_column_type(tls, pStmt, i)) && + (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == Xsqlite3_column_bytes(tls, pStmt, i))) && + ((*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == 0) || (0 == libc.Xmemcmp(tls, (pCsr+uintptr(nHdr)), Xsqlite3_column_blob(tls, pStmt, i), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))))) { + break + } + bChanged = 1 + + } + } + + // If at least one field has been modified, this is not a no-op. + if bChanged != 0 { + bNoop = 0 + } + + // Add a field to the old.* record. This is omitted if this modules is + // currently generating a patchset. + if bPatchset == 0 { + if (bChanged != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + sessionAppendBlob(tls, pBuf, pCsr, nAdvance, bp /* &rc */) + } else { + sessionAppendByte(tls, pBuf, uint8(0), bp /* &rc */) + } + } + + // Add a field to the new.* record. Or the only record if currently + // generating a patchset. + if (bChanged != 0) || ((bPatchset != 0) && (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0)) { + sessionAppendCol(tls, bp+32 /* &buf2 */, pStmt, i, bp /* &rc */) + } else { + sessionAppendByte(tls, bp+32 /* &buf2 */, uint8(0), bp /* &rc */) + } + + pCsr += uintptr(nAdvance) + } + + if bNoop != 0 { + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = nRewind + } else { + sessionAppendBlob(tls, pBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FnBuf, bp /* &rc */) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Append a DELETE change to the buffer passed as the first argument. Use +// the changeset format if argument bPatchset is zero, or the patchset +// format otherwise. +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:208956:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + + sessionAppendByte(tls, pBuf, uint8(SQLITE_DELETE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + + if bPatchset == 0 { + sessionAppendBlob(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp /* &rc */) + } else { + var i int32 + var a uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord + for i = 0; i < nCol; i++ { + var pStart uintptr = a + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + a += uintptr(8) + break + fallthrough + + default: + { + // var n int32 at bp+4, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+4 /* &n */)) + a += uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* n */))) + break + + } + } + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendBlob(tls, pBuf, pStart, (int32((int64(a) - int64(pStart)) / 1)), bp /* &rc */) + } + } + + } + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Formulate and prepare a SELECT statement to retrieve a row from table +// zTab in database zDb based on its primary key. i.e. +// +// SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + var zSql uintptr = uintptr(0) + var nSql int32 = -1 + + if 0 == Xsqlite3_stricmp(tls, ts+10072 /* "sqlite_stat1" */, zTab) { + zSql = Xsqlite3_mprintf(tls, + + ts+30932 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + if zSql == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_NOMEM + } + } else { + var i int32 + var zSep uintptr = ts + 755 /* "" */ + *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp+8 /* &buf */, ts+31042 /* "SELECT * FROM " */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zDb, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+768 /* "." */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zTab, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+31057 /* " WHERE " */, bp+24 /* &rc */) + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendStr(tls, bp+8 /* &buf */, zSep, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+31065 /* " IS ?" */, bp+24 /* &rc */) + sessionAppendInteger(tls, bp+8 /* &buf */, (i + 1), bp+24 /* &rc */) + zSep = ts + 19877 /* " AND " */ + } + } + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FnBuf + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + } + Xsqlite3_free(tls, zSql) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Bind the PRIMARY KEY values from the change passed in argument pChange +// to the SELECT statement passed as the first argument. The SELECT statement +// is as prepared by function sessionSelectStmt(). +// +// Return SQLITE_OK if all PK values are successfully bound, or an SQLite +// error code (e.g. SQLITE_NOMEM) otherwise. +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:209068:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 + var rc int32 = SQLITE_OK + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord + + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + + case SQLITE_INTEGER: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + var iVal I64 = sessionGetI64(tls, a) + rc = Xsqlite3_bind_int64(tls, pSelect, (i + 1), iVal) + } + a += uintptr(8) + break + + } + + case SQLITE_FLOAT: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + // var rVal float64 at bp, 8 + + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = sessionGetI64(tls, a) + libc.Xmemcpy(tls, bp /* &rVal */, bp+8 /* &iVal */, uint64(8)) + rc = Xsqlite3_bind_double(tls, pSelect, (i + 1), *(*float64)(unsafe.Pointer(bp /* rVal */))) + } + a += uintptr(8) + break + + } + + case SQLITE_TEXT: + { + // var n int32 at bp+16, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+16 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_text(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 16 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* n */))) + break + + } + + default: + { + // var n int32 at bp+20, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_blob(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 20 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + break + + } + } + } + + return rc +} + +// This function is a no-op if *pRc is set to other than SQLITE_OK when it +// is called. Otherwise, append a serialized table header (part of the binary +// changeset format) to buffer *pBuf. If an error occurs, set *pRc to an +// SQLite error code before returning. +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:209139:13: */ + // Write a table header + sessionAppendByte(tls, pBuf, func() uint8 { + if bPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), pRc) + sessionAppendVarint(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (int32(libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + 1), pRc) +} + +// Generate either a changeset (if argument bPatchset is zero) or a patchset +// (if it is non-zero) based on the current contents of the session object +// passed as the first argument. +// +// If no error occurs, SQLITE_OK is returned and the new changeset/patchset +// stored in output variables *pnChangeset and *ppChangeset. Or, if an error +// occurs, an SQLite error code is returned and both output variables set +// to 0. +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209162:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Source database handle + var pTab uintptr // Used to iterate through attached tables + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* buf */)) = SessionBuffer{} // Buffer in which to accumlate changeset + // var rc int32 at bp+40, 4 + // Return code + + // Zero the output variables in case an error occurs. If this session + // object is already in the error state (sqlite3_session.rc != SQLITE_OK), + // this call will be a no-op. + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = 0 + *(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0) + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+31071 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) + } + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry != 0 { + var zName uintptr = (*SessionTable)(unsafe.Pointer(pTab)).FzName + // var nCol int32 at bp, 4 + // Number of columns in table + // var abPK uintptr at bp+16, 8 + // Primary key array + *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)) = uintptr(0) // Table columns + var i int32 // Used to iterate through hash buckets + *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)) = uintptr(0) // SELECT statement to query table pTab + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf // Initial size of write buffer + var nNoop int32 // Size of buffer after writing tbl header + + // Check the table schema is still Ok. + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionTableInfo(tls, uintptr(0), db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, bp /* &nCol */, uintptr(0), bp+8 /* &azCol */, bp+16 /* &abPK */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) && (((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp /* nCol */))) || (libc.Xmemcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), (*SessionTable)(unsafe.Pointer(pTab)).FabPK, uint64(*(*int32)(unsafe.Pointer(bp /* nCol */)))) != 0)) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_SCHEMA + } + + // Write a table header + sessionAppendTableHdr(tls, bp+24 /* &buf */, bPatchset, pTab, bp+40 /* &rc */) + + // Build and compile a statement to execute: + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectStmt(tls, + db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), bp+48 /* &pSel */) + } + + nNoop = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + for i = 0; (i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange) && (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK); i++ { + var p uintptr // Used to iterate through changes + + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (p != 0); p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectBind(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), p) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + continue + } + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) == SQLITE_ROW { + if int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_INSERT { + var iCol int32 + sessionAppendByte(tls, bp+24 /* &buf */, uint8(SQLITE_INSERT), bp+40 /* &rc */) + sessionAppendByte(tls, bp+24 /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+40 /* &rc */) + for iCol = 0; iCol < *(*int32)(unsafe.Pointer(bp /* nCol */)); iCol++ { + sessionAppendCol(tls, bp+24 /* &buf */, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), iCol, bp+40 /* &rc */) + } + } else { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendUpdate(tls, bp+24 /* &buf */, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), p, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + } else if int32((*SessionChange)(unsafe.Pointer(p)).Fop) != SQLITE_INSERT { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendDelete(tls, bp+24 /* &buf */, bPatchset, p, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + } + + // If the buffer is now larger than sessions_strm_chunk_size, pass + // its contents to the xOutput() callback. + if (((xOutput != 0) && + (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > nNoop)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + nNoop = -1 + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = 0 + } + + } + } + + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf == nNoop { + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = nRewind + } + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */))) // cast works around VC++ bug + } + } + + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf = uintptr(0) + } else if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + } + } + + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf) + Xsqlite3_exec(tls, db, ts+31091 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Obtain a changeset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209288:16: */ + var rc int32 = sessionGenerateChangeset(tls, pSession, 0, uintptr(0), uintptr(0), pnChangeset, ppChangeset) + + return rc +} + +// Streaming version of sqlite3session_changeset(). +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209303:16: */ + return sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Streaming version of sqlite3session_patchset(). +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209314:16: */ + return sessionGenerateChangeset(tls, pSession, 1, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Obtain a patchset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:209329:16: */ + return sessionGenerateChangeset(tls, pSession, 1, uintptr(0), uintptr(0), pnPatchset, ppPatchset) +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:209340:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bEnable >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable = bEnable + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:209354:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bIndirect >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect = bIndirect + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Return true if there have been no changes to monitored tables recorded +// by the session object passed as the only argument. +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:209369:16: */ + var ret int32 = 0 + var pTab uintptr + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (pTab != 0) && (ret == 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + ret = (libc.Bool32((*SessionTable)(unsafe.Pointer(pTab)).FnEntry > 0)) + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + return (libc.Bool32(ret == 0)) +} + +// Return the amount of heap memory in use. +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209385:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc +} + +// Configure the session object passed as the first argument. +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:209392:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_OBJCONFIG_SIZE: + { + var iArg int32 = *(*int32)(unsafe.Pointer(pArg)) + if iArg >= 0 { + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable != 0 { + rc = SQLITE_MISUSE + } else { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize = (libc.Bool32(iArg != 0)) + } + } + *(*int32)(unsafe.Pointer(pArg)) = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize + break + + } + + default: + rc = SQLITE_MISUSE + } + + return rc +} + +// Return the maximum size of sqlite3session_changeset() output. +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209418:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize +} + +// Do the work for either sqlite3changeset_start() or start_strm(). +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:209425:12: */ + var pRet uintptr // Iterator to return + var nByte int32 // Number of bytes to allocate for iterator + + // Zero the output variable in case an error occurs. + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + + // Allocate and initialize the iterator structure. + nByte = int32(unsafe.Sizeof(Sqlite3_changeset_iter{})) + pRet = Xsqlite3_malloc(tls, nByte) + if !(pRet != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pRet, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FbEof = func() int32 { + if xInput != 0 { + return 0 + } + return 1 + }() + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbInvert = bInvert + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbSkipEmpty = bSkipEmpty + + // Populate the output variable and return success. + *(*uintptr)(unsafe.Pointer(pp)) = pRet + return SQLITE_OK +} + +// Create an iterator used to iterate through the contents of a changeset. +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:209463:16: */ + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) +} + +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:209470:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) +} + +// Streaming version of sqlite3changeset_start(). +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:209483:16: */ + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) +} + +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:209490:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) +} + +// If the SessionInput object passed as the only argument is a streaming +// object and the buffer is full, discard some data to free up space. +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:209504:13: */ + if ((*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0) && ((*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size) { + var nMove int32 = ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext) + + if nMove > 0 { + libc.Xmemmove(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), uint64(nMove)) + } + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) -= ((*SessionInput)(unsafe.Pointer(pIn)).FiNext) + (*SessionInput)(unsafe.Pointer(pIn)).FiNext = 0 + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } +} + +// Ensure that there are at least nByte bytes available in the buffer. Or, +// if there are not nByte bytes remaining in the input, that all available +// data is in the buffer. +// +// Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:209524:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 { + for (!((*SessionInput)(unsafe.Pointer(pIn)).FbEof != 0) && (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte) >= (*SessionInput)(unsafe.Pointer(pIn)).FnData)) && (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) { + *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) = sessions_strm_chunk_size + + if (*SessionInput)(unsafe.Pointer(pIn)).FbNoDiscard == 0 { + sessionDiscardData(tls, pIn) + } + if SQLITE_OK == sessionBufferGrow(tls, (pIn+32 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 48 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { + (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 + } else { + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) += (*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))) + } + } + + (*SessionInput)(unsafe.Pointer(pIn)).FaData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// When this function is called, *ppRec points to the start of a record +// that contains nCol values. This function advances the pointer *ppRec +// until it points to the byte immediately following that record. +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:209552:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var aRec uintptr = *(*uintptr)(unsafe.Pointer(ppRec)) + var i int32 + for i = 0; i < nCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aRec, 1)))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + aRec += uintptr(sessionVarintGet(tls, aRec, bp /* &nByte */)) + aRec += uintptr(*(*int32)(unsafe.Pointer(bp /* nByte */))) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + aRec += uintptr(8) + } + } + + *(*uintptr)(unsafe.Pointer(ppRec)) = aRec +} + +// This function sets the value of the sqlite3_value object passed as the +// first argument to a copy of the string or blob held in the aData[] +// buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM +// error occurs. +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:209578:12: */ + // In theory this code could just pass SQLITE_TRANSIENT as the final + // argument to sqlite3ValueSetStr() and have the copy created + // automatically. But doing so makes it difficult to detect any OOM + // error. Hence the code to create the copy externally. + var aCopy uintptr = Xsqlite3_malloc64(tls, (uint64(Sqlite3_int64(nData) + int64(1)))) + if aCopy == uintptr(0) { + return SQLITE_NOMEM + } + libc.Xmemcpy(tls, aCopy, aData, uint64(nData)) + Xsqlite3ValueSetStr(tls, pVal, nData, aCopy, enc, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + return SQLITE_OK +} + +// Deserialize a single record from a buffer in memory. See "RECORD FORMAT" +// for details. +// +// When this function is called, *paChange points to the start of the record +// to deserialize. Assuming no error occurs, *paChange is set to point to +// one byte after the end of the same record before this function returns. +// If the argument abPK is NULL, then the record contains nCol values. Or, +// if abPK is other than NULL, then the record contains only the PK fields +// (in other words, it is a patchset DELETE record). +// +// If successful, each element of the apOut[] array (allocated by the caller) +// is set to point to an sqlite3_value object containing the value read +// from the corresponding position in the record. If that value is not +// included in the record (i.e. because the record is part of an UPDATE change +// and the field was not modified), the corresponding element of apOut[] is +// set to NULL. +// +// It is the responsibility of the caller to free all sqlite_value structures +// using sqlite3_free(). +// +// If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +// The apOut[] array may have been partially populated in this case. +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209619:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 // Used to iterate through columns + var rc int32 = SQLITE_OK + + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 1 + } + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = 0 // Type of value (SQLITE_NULL, TEXT etc.) + if (abPK != 0) && (int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0) { + continue + } + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { + rc = Xsqlite3CorruptError(tls, 209637) + } else { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) + + if eType != 0 { + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 0 + } + *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)) = Xsqlite3ValueNew(tls, uintptr(0)) + if !(int32(*(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8))) != 0) { + rc = SQLITE_NOMEM + } + } + } + } + + if rc == SQLITE_OK { + var aVal uintptr = ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (sessionVarintGet(tls, aVal, bp /* &nByte */)) + rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) + if rc == SQLITE_OK { + if (*(*int32)(unsafe.Pointer(bp /* nByte */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nByte */)) > ((*SessionInput)(unsafe.Pointer(pIn)).FnData - (*SessionInput)(unsafe.Pointer(pIn)).FiNext)) { + rc = Xsqlite3CorruptError(tls, 209657) + } else { + var enc U8 = func() uint8 { + if eType == SQLITE_TEXT { + return uint8(SQLITE_UTF8) + } + return uint8(0) + }() + rc = sessionValueSetStr(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), *(*int32)(unsafe.Pointer(bp /* nByte */)), enc) + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nByte */))) + } + } + } + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */)) = sessionGetI64(tls, aVal) + if eType == SQLITE_INTEGER { + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */))) + } else { + // var d float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &d */, bp+16 /* &v */, uint64(8)) + Xsqlite3VdbeMemSetDouble(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*float64)(unsafe.Pointer(bp + 8 /* d */))) + } + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (8) + } + } + } + + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function ensures that all of the above is present in the input +// buffer (i.e. that it can be accessed without any calls to xInput()). +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. +// The input pointer is not moved. +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:209695:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + *(*int32)(unsafe.Pointer(bp /* nCol */)) = 0 + var nRead int32 = 0 + + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + nRead = nRead + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead))), bp /* &nCol */)) + // The hard upper limit for the number of columns in an SQLite + // database table is, according to sqliteLimit.h, 32676. So + // consider any table-header that purports to have more than 65536 + // columns to be corrupt. This is convenient because otherwise, + // if the (nCol>65536) condition below were omitted, a sufficiently + // large value for nCol may cause nRead to wrap around and become + // negative. Leading to a crash. + if (*(*int32)(unsafe.Pointer(bp /* nCol */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nCol */)) > 65536) { + rc = Xsqlite3CorruptError(tls, 209711) + } else { + rc = sessionInputBuffer(tls, pIn, ((nRead + *(*int32)(unsafe.Pointer(bp /* nCol */))) + 100)) + nRead = nRead + (*(*int32)(unsafe.Pointer(bp /* nCol */))) + } + } + + for rc == SQLITE_OK { + for (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData) && (*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead)))) != 0) { + nRead++ + } + if ((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData { + break + } + rc = sessionInputBuffer(tls, pIn, (nRead + 100)) + } + *(*int32)(unsafe.Pointer(pnByte)) = (nRead + 1) + return rc +} + +// The input pointer currently points to the first byte of the first field +// of a record consisting of nCol columns. This function ensures the entire +// record is buffered. It does not move the input pointer. +// +// If successful, SQLITE_OK is returned and *pnByte is set to the size of +// the record in bytes. Otherwise, an SQLite error code is returned. The +// final value of *pnByte is undefined in this case. +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:209738:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var nByte int32 = 0 + var i int32 + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + var eType int32 + rc = sessionInputBuffer(tls, pIn, (nByte + 10)) + if rc == SQLITE_OK { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + libc.PostIncInt32(&nByte, 1)))))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var n int32 at bp, 4 + + nByte = nByte + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte))), bp /* &n */)) + nByte = nByte + (*(*int32)(unsafe.Pointer(bp /* n */))) + rc = sessionInputBuffer(tls, pIn, nByte) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + nByte = nByte + (8) + } + } + } + *(*int32)(unsafe.Pointer(pnByte)) = nByte + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function decodes the table-header and populates the p->nCol, +// p->zTab and p->abPK[] variables accordingly. The p->apValue[] array is +// also allocated or resized according to the new value of p->nCol. The +// input pointer is left pointing to the byte following the table header. +// +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code +// is returned and the final values of the various fields enumerated above +// are undefined. +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209782:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var rc int32 at bp+4, 4 + + // var nCopy int32 at bp, 4 + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetBufferTblhdr(tls, (p /* &.in */), bp /* &nCopy */) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte int32 + var nVarint int32 + nVarint = sessionVarintGet(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), (p + 120 /* &.nCol */)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol > 0 { + *(*int32)(unsafe.Pointer(bp /* nCopy */)) -= nVarint + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (nVarint) + nByte = (int32(((uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol) * uint64(unsafe.Sizeof(uintptr(0)))) * uint64(2)) + uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */))))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 + sessionBufferGrow(tls, (p + 72 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + } else { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 209799) + } + } + + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var iPK Size_t = ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2)) + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0, iPK) + libc.Xmemcpy(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + uintptr(iPK)), ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */)))) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nCopy */))) + } + + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue == uintptr(0) { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = uintptr(0) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = uintptr(0) + } else { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol*2))*8) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) + } + return uintptr(0) + }() + } + return libc.AssignPtrInt32(p+100 /* &.rc */, *(*int32)(unsafe.Pointer(bp + 4 /* rc */))) +} + +// Advance the changeset iterator to the next change. The differences between +// this function and sessionChangesetNext() are that +// +// * If pbEmpty is not NULL and the change is a no-op UPDATE (an UPDATE +// that modifies no columns), this function sets (*pbEmpty) to 1. +// +// * If the iterator is configured to skip no-op UPDATEs, +// sessionChangesetNext() does that. This function does not. +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209831:12: */ + var i int32 + var op U8 + + // If the iterator is in the error-state, return immediately. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // Free the current contents of p->apValue[], if any. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2))) + } + + // Make sure the buffer contains at least 10 bytes of input data, or all + // remaining data if there are less than 10 bytes available. This is + // sufficient either for the 'T' or 'P' byte and the varint that follows + // it, or for the two single byte values otherwise. + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionInputBuffer(tls, (p /* &.in */), 2) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // If the iterator is already at the end of the changeset, return DONE. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + + sessionDiscardData(tls, (p /* &.in */)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + + op = *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))) + for (int32(op) == 'T') || (int32(op) == 'P') { + if pbNew != 0 { + *(*int32)(unsafe.Pointer(pbNew)) = 1 + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset = (libc.Bool32(int32(op) == 'P')) + if sessionChangesetReadTblhdr(tls, p) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + if libc.AssignPtrInt32(p+100 /* &.rc */, sessionInputBuffer(tls, (p /* &.in */), 2)) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + op = *(*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)).FzTab == uintptr(0)) || (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) { + // The first record in the changeset is not a table header. Must be a + // corrupt changeset. + + return libc.AssignPtrInt32(p+100 /* &.rc */, Xsqlite3CorruptError(tls, 209885)) + } + + (*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 /* &.rc */, Xsqlite3CorruptError(tls, 209891)) + } + + if paRec != 0 { + var nVal int32 // Number of values to buffer + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) && (int32(op) == SQLITE_UPDATE) { + nVal = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2) + } else if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && (int32(op) == SQLITE_DELETE) { + nVal = 0 + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { + nVal++ + } + } + } else { + nVal = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionChangesetBufferRecord(tls, (p /* &.in */), nVal, pnRec) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + *(*uintptr)(unsafe.Pointer(paRec)) = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(pnRec))) + } else { + var apOld uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + } + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + }() + var apNew uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + } + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + }() + + // If this is an UPDATE or DELETE, read the old.* record. + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT) && (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE)) { + var abPK uintptr + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 { + abPK = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + } else { + abPK = uintptr(0) + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, abPK, apOld, uintptr(0)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + // If this is an INSERT or UPDATE, read the new.* record. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, uintptr(0), apNew, pbEmpty) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + if (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_UPDATE) { + // If this is an UPDATE that is part of a patchset, then all PK and + // modified fields are present in the new.* record. The old.* record + // is currently completely empty. This block shifts the PK fields from + // new.* to old.*, to accommodate the code that reads these arrays. + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + + 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 /* &.rc */, Xsqlite3CorruptError(tls, 209935)) + } + *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol))*8)) = uintptr(0) + } + } + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_INSERT { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_DELETE + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_INSERT + } + } + } + + return SQLITE_ROW +} + +// Advance the changeset iterator to the next change. +// +// If both paRec and pnRec are NULL, then this function works like the public +// API sqlite3changeset_next(). If SQLITE_ROW is returned, then the +// sqlite3changeset_new() and old() APIs may be used to query for values. +// +// Otherwise, if paRec and pnRec are not NULL, then a pointer to the change +// record is written to *paRec before returning and the number of bytes in +// the record to *pnRec. +// +// Either way, this function returns SQLITE_ROW if the iterator is +// successfully advanced to the next change in the changeset, an SQLite +// error code if an error occurs, or SQLITE_DONE if there are no further +// changes in the changeset. +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:209964:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var bEmpty int32 at bp, 4 + + var rc int32 + for ok := true; ok; ok = (((rc == SQLITE_ROW) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbSkipEmpty != 0)) && (*(*int32)(unsafe.Pointer(bp /* bEmpty */)) != 0)) { + *(*int32)(unsafe.Pointer(bp /* bEmpty */)) = 0 + rc = sessionChangesetNextOne(tls, p, paRec, pnRec, pbNew, bp /* &bEmpty */) + } + return rc +} + +// Advance an iterator created by sqlite3changeset_start() to the next +// change in the changeset. This function may return SQLITE_ROW, SQLITE_DONE +// or SQLITE_CORRUPT. +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209987:16: */ + return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) +} + +// The following function extracts information on the current change +// from a changeset iterator. It may only be called after changeset_next() +// has returned SQLITE_ROW. +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:209996:16: */ + *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + if pbIndirect != 0 { + *(*int32)(unsafe.Pointer(pbIndirect)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect + } + return SQLITE_OK +} + +// Return information regarding the PRIMARY KEY and number of columns in +// the database table affected by the change that pIter currently points +// to. This function may only be called after changeset_next() returns +// SQLITE_ROW. +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:210016:16: */ + *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + if pnCol != 0 { + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + } + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_DELETE change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the old.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified and is not a PK column), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210039:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(iVal)*8)) + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_INSERT change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the new.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210067:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+iVal))*8)) + return SQLITE_OK +} + +// The following two macros are used internally. They are similar to the +// sqlite3changeset_new() and sqlite3changeset_old() functions, except that +// they omit all error checking and return a pointer to the requested value. + +// This function may only be called with a changeset iterator that has been +// passed to an SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT +// conflict-handler function. Otherwise, SQLITE_MISUSE is returned. +// +// If successful, *ppValue is set to point to an sqlite3_value structure +// containing the iVal'th value of the conflicting record. +// +// If value iVal is out-of-range or some other error occurs, an SQLite error +// code is returned. Otherwise, SQLITE_OK. +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210101:16: */ + if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = Xsqlite3_column_value(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict, iVal) + return SQLITE_OK +} + +// This function may only be called with an iterator passed to an +// SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +// it sets the output variable to the total number of known foreign key +// violations in the destination database and returns SQLITE_OK. +// +// In all other cases this function returns SQLITE_MISUSE. +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:210124:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0) { + return SQLITE_MISUSE + } + *(*int32)(unsafe.Pointer(pnOut)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + return SQLITE_OK +} + +// Finalize an iterator allocated with sqlite3changeset_start(). +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:210142:16: */ + var rc int32 = SQLITE_OK + if p != 0 { + var i int32 // Used to iterate through p->apValue[] + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + } + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf) + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.Fbuf.FaBuf) + Xsqlite3_free(tls, p) + } + return rc +} + +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210157:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + // var rc int32 at bp+40, 4 + // Return value + // var sOut SessionBuffer at bp, 16 + // Output buffer + // var nCol int32 at bp+20, 4 + // Number of cols in current table + var abPK uintptr // PK array for current table + var apVal uintptr // Space for values for UPDATE inversion + // var sPK SessionBuffer at bp+24, 16 + + // A 'table' record consists of: + // + // * A constant 'T' character, + // * Number of columns in said table (a varint), + // * An array of nCol bytes (sPK), + // * A nul-terminated table name. + // var nByte int32 at bp+16, 4 + + var nVar int32 + // var nByte1 int32 at bp+44, 4 + + var bIndirect int32 + var eType2 int32 + var pVal uintptr + var pVal1 uintptr + var iCol int32 + var eType U8 + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) = 0 + abPK = uintptr(0) + apVal = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* sPK */)) = SessionBuffer{} // PK array for current table + + // Initialize the output buffer + libc.Xmemset(tls, bp /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + // Zero the output variables in case an error occurs. + if !(ppInverted != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(ppInverted)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnInverted)) = 0 +__1: + ; + +__2: + if !(1 != 0) { + goto __3 + } + + // Test for EOF. + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionInputBuffer(tls, pInput, 2)) != 0) { + goto __4 + } + goto finished_invert +__4: + ; + if !((*SessionInput)(unsafe.Pointer(pInput)).FiNext >= (*SessionInput)(unsafe.Pointer(pInput)).FnData) { + goto __5 + } + goto __3 +__5: + ; + eType = *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext))) + + switch int32(eType) { + case 'T': + goto __7 + + case SQLITE_INSERT: + goto __8 + case SQLITE_DELETE: + goto __9 + + case SQLITE_UPDATE: + goto __10 + + default: + goto __11 + } + goto __6 +__7: + (*SessionInput)(unsafe.Pointer(pInput)).FiNext++ + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionChangesetBufferTblhdr(tls, pInput, bp+16 /* &nByte */)) != 0) { + goto __12 + } + goto finished_invert +__12: + ; + nVar = sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), bp+20 /* &nCol */) + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FnBuf = 0 + sessionAppendBlob(tls, bp+24 /* &sPK */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + nVar))), *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 16 /* nByte */)), bp+40 /* &rc */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __13 + } + goto finished_invert +__13: + ; + + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 16 /* nByte */))) + Xsqlite3_free(tls, apVal) + apVal = uintptr(0) + abPK = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FaBuf + goto __6 + +__8: +__9: + bIndirect = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1))))) + eType2 = func() int32 { + if int32(eType) == SQLITE_DELETE { + return SQLITE_INSERT + } + return SQLITE_DELETE + }() + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionChangesetBufferRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+44 /* &nByte1 */) + sessionAppendByte(tls, bp /* &sOut */, uint8(eType2), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, uint8(bIndirect), bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */)), bp+40 /* &rc */) + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __14 + } + goto finished_invert +__14: + ; + goto __6 + +__10: + + if !(uintptr(0) == apVal) { + goto __15 + } + apVal = Xsqlite3_malloc64(tls, (uint64((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2)))) + if !(uintptr(0) == apVal) { + goto __16 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_NOMEM + goto finished_invert +__16: + ; + libc.Xmemset(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) +__15: + ; + + // Write the header for the new UPDATE change. Same as the original. + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1)))), bp+40 /* &rc */) + + // Read the old.* and new.* records for the update change. + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal), uintptr(0)) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) { + goto __17 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal + uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))*8), uintptr(0)) +__17: + ; + + // Write the new old.* record. Consists of the PK columns from the + // original old.* record, and the other values from the original + // new.* record. + iCol = 0 +__18: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __20 + } + pVal = *(*uintptr)(unsafe.Pointer(apVal + uintptr((iCol+(func() int32 { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return 0 + } + return *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) + }())))*8)) + sessionAppendValue(tls, bp /* &sOut */, pVal, bp+40 /* &rc */) + goto __19 +__19: + iCol++ + goto __18 + goto __20 +__20: + ; + + // Write the new new.* record. Consists of a copy of all values + // from the original old.* record, except for the PK columns, which + // are set to "undefined". + iCol = 0 +__21: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __23 + } + pVal1 = func() uintptr { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return uintptr(0) + } + return *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8)) + }() + sessionAppendValue(tls, bp /* &sOut */, pVal1, bp+40 /* &rc */) + goto __22 +__22: + iCol++ + goto __21 + goto __23 +__23: + ; + + iCol = 0 +__24: + if !(iCol < (*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) * 2)) { + goto __26 + } + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8))) + goto __25 +__25: + iCol++ + goto __24 + goto __26 +__26: + ; + libc.Xmemset(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __27 + } + goto finished_invert +__27: + ; + + goto __6 + +__11: + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 210284) + goto finished_invert +__6: + ; + + if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { + goto __28 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __29 + } + goto finished_invert +__29: + ; +__28: + ; + goto __2 +__3: + ; + + if !(pnInverted != 0) { + goto __30 + } + *(*int32)(unsafe.Pointer(pnInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf = uintptr(0) + goto __31 +__30: + if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { + goto __32 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) +__32: + ; +__31: + ; + +finished_invert: + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf) + Xsqlite3_free(tls, apVal) + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &sPK */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Invert a changeset object. +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210316:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FnData = nChangeset + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FaData = pChangeset + + return sessionChangesetInvert(tls, bp /* &sInput */, uintptr(0), uintptr(0), pnInverted, ppInverted) +} + +// Streaming version of sqlite3changeset_invert(). +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:210335:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + var rc int32 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FxInput = xInput + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FpIn = pIn + + rc = sessionChangesetInvert(tls, bp /* &sInput */, xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3_free(tls, (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).Fbuf.FaBuf) + return rc +} + +type SessionUpdate1 = struct { + FpStmt uintptr + FaMask uintptr + FpNext uintptr +} /* sqlite3.c:210355:9 */ + +type SessionUpdate = SessionUpdate1 /* sqlite3.c:210355:30 */ + +type SessionApplyCtx1 = struct { + Fdb uintptr + FpDelete uintptr + FpInsert uintptr + FpSelect uintptr + FnCol int32 + _ [4]byte + FazCol uintptr + FabPK uintptr + FaUpdateMask uintptr + FpUp uintptr + FbStat1 int32 + FbDeferConstraints int32 + FbInvertConstraints int32 + _ [4]byte + Fconstraints SessionBuffer + Frebase SessionBuffer + FbRebaseStarted U8 + FbRebase U8 + _ [6]byte +} /* sqlite3.c:210362:9 */ + +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ + +// Number of prepared UPDATE statements to cache. + +// Find a prepared UPDATE statement suitable for the UPDATE step currently +// being visited by the iterator. The UPDATE is of the form: +// +// UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:210391:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var pUp uintptr = uintptr(0) + var nCol int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + var nU32 int32 = (((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + 33) / 32) + var ii int32 + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = Xsqlite3_malloc(tls, (int32(uint64(nU32) * uint64(unsafe.Sizeof(U32(0)))))) + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0, (uint64(nU32) * uint64(unsafe.Sizeof(U32(0))))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_CORRUPT + for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ { + if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(ii)))*8)) != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((ii/32))*4)) |= (U32(int32(1) << (ii % 32))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if bPatchset != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((nCol/32))*4)) |= (U32(int32(1) << (nCol % 32))) + } + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp != 0 { + var nUp int32 = 0 + var pp uintptr = (p + 64 /* &.pUp */) + for 1 != 0 { + nUp++ + if 0 == libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaMask, (uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))) { + pUp = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + break + } + + if (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext != 0 { + pp = (*(*uintptr)(unsafe.Pointer(pp)) + 16 /* &.pNext */) + } else { + if nUp >= SESSION_UPDATE_CACHE_SZ { + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpStmt) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pp))) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + } + break + } + } + } + + if pUp == uintptr(0) { + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionUpdate{})) * uint64(nU32)) * uint64(unsafe.Sizeof(U32(0))))) + var bStat1 int32 = (libc.Bool32(Xsqlite3_stricmp(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, ts+10072 /* "sqlite_stat1" */) == 0)) + pUp = Xsqlite3_malloc(tls, nByte) + if pUp == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } else { + var zSep uintptr = ts + 755 /* "" */ + // var buf SessionBuffer at bp, 16 + + libc.Xmemset(tls, bp /* &buf */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + (*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 /* &buf */, ts+31109 /* "UPDATE main." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31122 /* " SET " */, bp+16 /* &rc */) + + // Create the assignments part of the UPDATE + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31128 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+16 /* &rc */) + zSep = ts + 13324 /* ", " */ + } + } + + // Create the WHERE clause part of the UPDATE + zSep = ts + 755 /* "" */ + sessionAppendStr(tls, bp /* &buf */, ts+31057 /* " WHERE " */, bp+16 /* &rc */) + 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 /* &buf */, zSep, bp+16 /* &rc */) + if (bStat1 != 0) && (ii == 1) { + + sessionAppendStr(tls, bp, /* &buf */ + + ts+31133 /* "idx IS CASE WHEN..." */, bp+16 /* &rc */) + } else { + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31065 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 2), bp+16 /* &rc */) + } + zSep = ts + 19877 /* " AND " */ + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + var zSql uintptr = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, zSql, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (pUp /* &.pStmt */), uintptr(0)) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, pUp) + pUp = uintptr(0) + } else { + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + } + } + } + + if pUp != 0 { + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt + } else { + *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) + } + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Free all cached UPDATE statements. +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:210530:13: */ + var pUp uintptr + var pNext uintptr + for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { + pNext = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt) + Xsqlite3_free(tls, pUp) + } + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = uintptr(0) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask) + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = uintptr(0) +} + +// Formulate a statement to DELETE a row from database db. Assuming a table +// structure like this: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The DELETE statement looks like this: +// +// DELETE FROM x WHERE a = :1 AND c = :3 AND (:5 OR b IS :2 AND d IS :4) +// +// Variable :5 (nCol+1) is a boolean. It should be set to 0 if we require +// matching b and d values, or 1 otherwise. The second case comes up if the +// conflict handler is invoked with NOTFOUND and returns CHANGESET_REPLACE. +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left +// pointing to the prepared version of the SQL statement. +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210560:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var i int32 + var zSep uintptr = ts + 755 /* "" */ + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var nPk int32 = 0 + + sessionAppendStr(tls, bp /* &buf */, ts+31208 /* "DELETE FROM main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31057 /* " WHERE " */, bp+16 /* &rc */) + + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31128 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 19877 /* " AND " */ + } + } + + if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { + sessionAppendStr(tls, bp /* &buf */, ts+31226 /* " AND (?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((*SessionApplyCtx)(unsafe.Pointer(p)).FnCol + 1), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+30769 /* " OR " */, bp+16 /* &rc */) + + zSep = ts + 755 /* "" */ + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31065 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 31234 /* "AND " */ + } + } + sessionAppendStr(tls, bp /* &buf */, ts+4066 /* ")" */, bp+16 /* &rc */) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 8 /* &.pDelete */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Formulate and prepare an SQL statement to query table zTab by primary +// key. Assuming the following table structure: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The SELECT statement looks like this: +// +// SELECT * FROM x WHERE a = ?1 AND c = ?3 +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left +// pointing to the prepared version of the SQL statement. +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210625:12: */ + return sessionSelectStmt(tls, + db, ts+5458 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 24 /* &.pSelect */)) +} + +// Formulate and prepare an INSERT statement to add a record to table zTab. +// For example: +// +// INSERT INTO main."zTab" VALUES(?1, ?2, ?3 ...); +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left +// pointing to the prepared version of the SQL statement. +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210643:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var i int32 + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp /* &buf */, ts+31239 /* "INSERT INTO main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+19883 /* "(" */, bp+16 /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + if i != 0 { + sessionAppendStr(tls, bp /* &buf */, ts+13324 /* ", " */, bp+16 /* &rc */) + } + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + } + + sessionAppendStr(tls, bp /* &buf */, ts+31257 /* ") VALUES(?" */, bp+16 /* &rc */) + for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + sessionAppendStr(tls, bp /* &buf */, ts+31268 /* ", ?" */, bp+16 /* &rc */) + } + sessionAppendStr(tls, bp /* &buf */, ts+4066 /* ")" */, bp+16 /* &rc */) + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 16 /* &.pInsert */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:210673:12: */ + return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) +} + +// Prepare statements for applying changes to the sqlite_stat1 table. +// These are similar to those created by sessionSelectRow(), +// sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for +// other tables. +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:210683:12: */ + var rc int32 = sessionSelectRow(tls, db, ts+10072 /* "sqlite_stat1" */, p) + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 16 /* &.pInsert */), + + ts+31272 /* "INSERT INTO main..." */) + } + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 8 /* &.pDelete */), + + ts+31385 /* "DELETE FROM main..." */) + } + return rc +} + +// A wrapper around sqlite3_bind_value() that detects an extra problem. +// See comments in the body of this function for details. +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:210706:12: */ + var eType int32 = Xsqlite3_value_type(tls, pVal) + // COVERAGE: The (pVal->z==0) branch is never true using current versions + // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either + // the (pVal->z) variable remains as it was or the type of the value is + // set to SQLITE_NULL. + if ((eType == SQLITE_TEXT) || (eType == SQLITE_BLOB)) && ((*Sqlite3_value)(unsafe.Pointer(pVal)).Fz == uintptr(0)) { + // This condition occurs when an earlier OOM in a call to + // sqlite3_value_text() or sqlite3_value_blob() (perhaps from within + // a conflict-handler) has zeroed the pVal->z pointer. Return NOMEM. + return SQLITE_NOMEM + } + return Xsqlite3_bind_value(tls, pStmt, i, pVal) +} + +// Iterator pIter must point to an SQLITE_INSERT entry. This function +// transfers new.* values from the current iterator entry to statement +// pStmt. The table being inserted into has nCol columns. +// +// New.* value $i from the iterator is bound to variable ($i+1) of +// statement pStmt. If parameter abPK is NULL, all values from 0 to (nCol-1) +// are transfered to the statement. Otherwise, if abPK is not NULL, it points +// to an array nCol elements in size. In this case only those values for +// which abPK[$i] is true are read from the iterator and bound to the +// statement. +// +// An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK. +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:210739:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var i int32 + var rc int32 = SQLITE_OK + + // Neither sqlite3changeset_old or sqlite3changeset_new can fail if the + // argument iterator points to a suitable entry. Make sure that xValue + // is one of these to guarantee that it is safe to ignore the return + // in the code below. + + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + // var pVal uintptr at bp, 8 + + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { + // The value in the changeset was "undefined". This indicates a + // corrupt changeset blob. + rc = Xsqlite3CorruptError(tls, 210762) + } else { + rc = sessionBindValue(tls, pStmt, (i + 1), *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + } + } + return rc +} + +// SQL statement pSelect is as generated by the sessionSelectRow() function. +// This function binds the primary key values from the change that changeset +// iterator pIter points to to the SELECT and attempts to seek to the table +// entry. If a row is found, the SELECT statement left pointing at the row +// and SQLITE_ROW is returned. Otherwise, if no row is found and no error +// has occured, the statement is reset and SQLITE_OK is returned. If an +// error occurs, the statement is reset and an SQLite error code is returned. +// +// If this function returns SQLITE_ROW, the caller must eventually reset() +// statement pSelect. If any other value is returned, the statement does +// not require a reset(). +// +// If the iterator currently points to an INSERT record, bind values from the +// new.* record to the SELECT statement. Or, if it points to a DELETE or +// UPDATE, bind values from the old.* record. +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:210788:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var rc int32 // Return code + // var nCol int32 at bp+8, 4 + // Number of columns in table + // var op int32 at bp+12, 4 + // Changset operation (SQLITE_UPDATE etc.) + // var zDummy uintptr at bp, 8 + // Unused + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + rc = sessionBindRow(tls, pIter, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})) + } + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})) + }(), + *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, pSelect) + + if rc == SQLITE_OK { + rc = Xsqlite3_step(tls, pSelect) + if rc != SQLITE_ROW { + rc = Xsqlite3_reset(tls, pSelect) + } + } + + return rc +} + +// This function is called from within sqlite3changeset_apply_v2() when +// a conflict is encountered and resolved using conflict resolution +// mode eType (either SQLITE_CHANGESET_OMIT or SQLITE_CHANGESET_REPLACE).. +// It adds a conflict resolution record to the buffer in +// SessionApplyCtx.rebase, which will eventually be returned to the caller +// of apply_v2() as the "rebase" buffer. +// +// Return SQLITE_OK if successful, or an SQLite error code otherwise. +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:210823:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebase != 0 { + var i int32 + var eOp int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + if int32((*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted) == 0 { + // Append a table-header to the rebase buffer + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + sessionAppendByte(tls, (p + 104 /* &.rebase */), uint8('T'), bp /* &rc */) + sessionAppendVarint(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), zTab, (int32(libc.Xstrlen(tls, zTab)) + 1), bp /* &rc */) + (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted = U8(1) + } + + sessionAppendByte(tls, (p + 104 /* &.rebase */), + func() uint8 { + if eOp == SQLITE_DELETE { + return uint8(SQLITE_DELETE) + } + return uint8(SQLITE_INSERT) + }(), bp /* &rc */) + sessionAppendByte(tls, (p + 104 /* &.rebase */), (uint8(libc.Bool32(eType == SQLITE_CHANGESET_REPLACE))), bp /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)) = uintptr(0) + if (eOp == SQLITE_DELETE) || ((eOp == SQLITE_UPDATE) && (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0)) { + Xsqlite3changeset_old(tls, pIter, i, bp+8 /* &pVal */) + } else { + Xsqlite3changeset_new(tls, pIter, i, bp+8 /* &pVal */) + } + sessionAppendValue(tls, (p + 104 /* &.rebase */), *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)), bp /* &rc */) + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Invoke the conflict handler for the change that the changeset iterator +// currently points to. +// +// Argument eType must be either CHANGESET_DATA or CHANGESET_CONFLICT. +// If argument pbReplace is NULL, then the type of conflict handler invoked +// depends solely on eType, as follows: +// +// eType value Value passed to xConflict +// ------------------------------------------------- +// CHANGESET_DATA CHANGESET_NOTFOUND +// CHANGESET_CONFLICT CHANGESET_CONSTRAINT +// +// Or, if pbReplace is not NULL, then an attempt is made to find an existing +// record with the same primary key as the record about to be deleted, updated +// or inserted. If such a record can be found, it is available to the conflict +// handler as the "conflicting" record. In this case the type of conflict +// handler invoked is as follows: +// +// eType value PK Record found? Value passed to xConflict +// ---------------------------------------------------------------- +// CHANGESET_DATA Yes CHANGESET_DATA +// CHANGESET_DATA No CHANGESET_NOTFOUND +// CHANGESET_CONFLICT Yes CHANGESET_CONFLICT +// CHANGESET_CONFLICT No CHANGESET_CONSTRAINT +// +// If pbReplace is not NULL, and a record with a matching PK is found, and +// the conflict handler function returns SQLITE_CHANGESET_REPLACE, *pbReplace +// is set to non-zero before returning SQLITE_OK. +// +// If the conflict handler returns SQLITE_CHANGESET_ABORT, SQLITE_ABORT is +// returned. Or, if the conflict handler returns an invalid value, +// SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT, +// this function returns SQLITE_OK. +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:210897:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var res int32 = 0 // Value returned by conflict handler + // var rc int32 at bp+16, 4 + + // var nCol int32 at bp+8, 4 + + // var op int32 at bp+12, 4 + + // var zDummy uintptr at bp, 8 + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + // Bind the new.* PRIMARY KEY values to the SELECT statement. + if pbReplace != 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_ROW { + // There exists another row with the new.* primary key. + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if ((*SessionApplyCtx)(unsafe.Pointer(p)).FbDeferConstraints != 0) && (eType == SQLITE_CHANGESET_CONFLICT) { + // Instead of invoking the conflict handler, append the change blob + // to the SessionApplyCtx.constraints buffer. + var aBlob uintptr = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent)) + var nBlob int32 = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent) + sessionAppendBlob(tls, (p + 88 /* &.constraints */), aBlob, nBlob, bp+16 /* &rc */) + return SQLITE_OK + } else { + // No other row with the new.* primary key. + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + if res == SQLITE_CHANGESET_REPLACE { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + switch res { + case SQLITE_CHANGESET_REPLACE: + + *(*int32)(unsafe.Pointer(pbReplace)) = 1 + break + fallthrough + + case SQLITE_CHANGESET_OMIT: + break + fallthrough + + case SQLITE_CHANGESET_ABORT: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ABORT + break + fallthrough + + default: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + break + } + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionRebaseAdd(tls, p, res, pIter) + } + } + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// If argument pbRetry is NULL, then ignore any CHANGESET_DATA conflict. If +// one is encountered, update or delete the row with the matching primary key +// instead. Or, if pbRetry is not NULL and a CHANGESET_DATA conflict occurs, +// invoke the conflict handler. If it returns CHANGESET_REPLACE, set *pbRetry +// to true before returning. In this case the caller will invoke this function +// again, this time with pbRetry set to NULL. +// +// If argument pbReplace is NULL and a CHANGESET_CONFLICT conflict is +// encountered invoke the conflict handler with CHANGESET_CONSTRAINT instead. +// Or, if pbReplace is not NULL, invoke it with CHANGESET_CONFLICT. If such +// an invocation returns SQLITE_CHANGESET_REPLACE, set *pbReplace to true +// before retrying. In this case the caller attempts to remove the conflicting +// row before invoking this function again, this time with pbReplace set +// to NULL. +// +// If any conflict handler returns SQLITE_CHANGESET_ABORT, this function +// returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is +// returned. +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:210995:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + // var zDummy uintptr at bp, 8 + + // var op int32 at bp+12, 4 + + // var nCol int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_DELETE { + + // Bind values to the DELETE statement. If conflict handling is required, + // bind values for all columns and set bound variable (nCol+1) to true. + // Or, if conflict handling is not required, bind just the PK column + // values and, if it exists, set (nCol+1) to false. Conflict handling + // is not required if: + // + // * this is a patchset, or + // * (pbRetry==0), or + // * all columns of the table are PK columns (in this case there is + // no (nCol+1) variable to bind to). + var abPK uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + } + return uintptr(0) + }() + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_bind_parameter_count(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) > *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))) { + rc = Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete, (*(*int32)(unsafe.Pointer(bp + 8 /* nCol */)) + 1), (libc.Bool32((pbRetry == uintptr(0)) || (abPK != 0)))) + } + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_UPDATE { + var i int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)) = uintptr(0) + var bPatchset int32 = (libc.Bool32((pbRetry == uintptr(0)) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0))) + + rc = sessionUpdateFind(tls, pIter, p, bPatchset, bp+16 /* &pUp */) + + // Bind values to the UPDATE statement. + for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))); i++ { + var pOld uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(i)*8)) + var pNew uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(i)))*8)) + if (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) || ((bPatchset == 0) && (pOld != 0)) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 2), pOld) + } + if (rc == SQLITE_OK) && (pNew != 0) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 1), pNew) + } + } + if rc != SQLITE_OK { + return rc + } + + // Attempt the UPDATE. In the case of a NOTFOUND or DATA conflict, + // the result will be SQLITE_OK with 0 rows modified. + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + // A NOTFOUND or DATA error. Search the table to see if it contains + // a row with a matching primary key. If so, this is a DATA conflict. + // Otherwise, if there is no primary key match, it is a NOTFOUND. + + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + // This is always a CONSTRAINT conflict. + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else { + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbStat1 != 0 { + // Check if there is a conflicting row. For sqlite_stat1, this needs + // to be done using a SELECT, as there is no PRIMARY KEY in the + // database schema to throw an exception if a duplicate is inserted. + rc = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + if rc == SQLITE_ROW { + rc = SQLITE_CONSTRAINT + Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } + } + + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), uintptr(0), (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + } + + if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace) + } + } + + return rc +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// The difference between this function and sessionApplyOne() is that this +// function handles the case where the conflict-handler is invoked and +// returns SQLITE_CHANGESET_REPLACE - indicating that the change should be +// retried in some manner. +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211128:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) = 0 + var rc int32 + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp /* &bReplace */, bp+4 /* &bRetry */) + if rc == SQLITE_OK { + // If the bRetry flag is set, the change has not been applied due to an + // SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and + // a row with the correct PK is present in the db, but one or more other + // fields do not contain the expected values) and the conflict handler + // returned SQLITE_CHANGESET_REPLACE. In this case retry the operation, + // but pass NULL as the final argument so that sessionApplyOneOp() ignores + // the SQLITE_CHANGESET_DATA problem. + if *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) != 0 { + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } else if *(*int32)(unsafe.Pointer(bp /* bReplace */)) != 0 { + + rc = Xsqlite3_exec(tls, db, ts+31529 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(0)) + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, ((*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + 1), 1) + } + if rc == SQLITE_OK { + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + } + if rc == SQLITE_OK { + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+31550 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + } + + return rc +} + +// Retry the changes accumulated in the pApply->constraints buffer. +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211185:12: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK + + for (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf != 0 { + *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) = uintptr(0) + var cons = (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints + libc.Xmemset(tls, (pApply + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionChangesetStart(tls, + bp /* &pIter2 */, uintptr(0), uintptr(0), cons.FnBuf, cons.FaBuf, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbInvertConstraints, 1) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + var nByte Size_t = ((uint64(2 * (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol)) * uint64(unsafe.Sizeof(uintptr(0)))) + var rc2 int32 + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FbPatchset = bPatchset + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FzTab = zTab + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FnCol = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FabPK = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK + sessionBufferGrow(tls, (*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) + 72 /* &.tblhdr */), int64(nByte), bp+8 /* &rc */) + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).Ftblhdr.FaBuf + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0, nByte) + } + + for (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))) { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)), pApply, xConflict, pCtx) + } + + rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */))) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = rc2 + } + } + + Xsqlite3_free(tls, cons.FaBuf) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) != SQLITE_OK { + break + } + if (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf >= cons.FnBuf { + // No progress was made on the last round. + (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbDeferConstraints = 0 + } + } + + return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) +} + +// Argument pIter is a changeset iterator that has been initialized, but +// not yet passed to sqlite3changeset_next(). This function applies the +// changeset to the main database attached to handle "db". The supplied +// conflict handler callback is invoked to resolve any conflicts encountered +// while applying the change. +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ + bp := tls.Alloc(368) + defer tls.Free(368) + + var schemaMismatch int32 = 0 + var rc int32 = SQLITE_OK // Return code + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = uintptr(0) // Name of current table + var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) + // var sApply SessionApplyCtx at bp+48, 128 + // changeset_apply() context object + var bPatchset int32 + + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 + libc.Xmemset(tls, bp+48 /* &sApply */, 0, uint64(unsafe.Sizeof(SessionApplyCtx{}))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).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+31569 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+31595 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + } + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { + // var nCol int32 at bp+184, 4 + + // var op int32 at bp+188, 4 + + // var zNew uintptr at bp+176, 8 + + Xsqlite3changeset_op(tls, pIter, bp+176 /* &zNew */, bp+184 /* &nCol */, bp+188 /* &op */, uintptr(0)) + + if (*(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+192, 8 + + rc = sessionRetryConstraints(tls, + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + if rc != SQLITE_OK { + break + } + + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebaseStarted = U8(0) + libc.Xmemset(tls, (bp + 48 /* &sApply */ + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + // If an xFilter() callback was specified, invoke it now. If the + // xFilter callback returns zero, skip this table. If it returns + // non-zero, proceed. + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))))) + if schemaMismatch != 0 { + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0) { + rc = SQLITE_NOMEM + break + } + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) + } else { + var nMinCol int32 = 0 + var i int32 + + Xsqlite3changeset_pk(tls, pIter, bp+192 /* &abPK */, uintptr(0)) + rc = sessionTableInfo(tls, uintptr(0), + db, ts+5458 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), (bp + 48 /* &sApply */ + 32 /* &.nCol */), bp+200 /* &zTab */, (bp + 48 /* &sApply */ + 40 /* &.azCol */), (bp + 48 /* &sApply */ + 48 /* &.abPK */)) + if rc != SQLITE_OK { + break + } + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK + uintptr(i))) != 0 { + nMinCol = (i + 1) + } + } + + if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+31625 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + + ts+31669, /* "sqlite3changeset..." */ + libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) != 0) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+31740 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else { + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), ts+10072 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+48 /* &sApply */)) != 0 { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 1 + } else { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + } + } + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */))) + } + } + + // If there is a schema mismatch on the current table, proceed to the + // next change. A log message has already been issued. + if schemaMismatch != 0 { + continue + } + + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+48 /* &sApply */, xConflict, pCtx) + } + + bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + if rc == SQLITE_OK { + rc = Xsqlite3changeset_finalize(tls, pIter) + } else { + Xsqlite3changeset_finalize(tls, pIter) + } + + if rc == SQLITE_OK { + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + } + + if rc == SQLITE_OK { + // var nFk int32 at bp+208, 4 + + // var notUsed int32 at bp+212, 4 + + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+208 /* &nFk */, bp+212 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) != 0 { + var res int32 = SQLITE_CHANGESET_ABORT + // var sIter Sqlite3_changeset_iter at bp+216, 152 + + libc.Xmemset(tls, bp+216 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 216 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) + if res != SQLITE_CHANGESET_OMIT { + rc = SQLITE_CONSTRAINT + } + } + } + Xsqlite3_exec(tls, db, ts+31800 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + + if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+31830 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } else { + Xsqlite3_exec(tls, db, ts+31854 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, ts+31830 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf = uintptr(0) + } + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Frebase.FaBuf) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main +// database attached to handle "db". +func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211439:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInv int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211472:16: */ + return Xsqlite3changeset_apply_v2(tls, + db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// Apply the changeset passed via xInput/pIn to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211497:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInverse int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, xInput, pIn, 0, uintptr(0), bInverse, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211524:16: */ + return Xsqlite3changeset_apply_v2_strm(tls, + db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// This function is called to merge two changes to the same row together as +// part of an sqlite3changeset_concat() operation. A new change object is +// allocated and a pointer to it stored in *ppNew. +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:211558:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var pNew uintptr = uintptr(0) + var rc int32 = SQLITE_OK + + if !(pExist != 0) { + pNew = Xsqlite3_malloc64(tls, (uint64(uint64(unsafe.Sizeof(SessionChange{})) + uint64(nRec)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = U8(bIndirect) + (*SessionChange)(unsafe.Pointer(pNew)).FaRecord = (pNew + 1*32) + if (bIndirect == 0) || (bRebase == 0) { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = nRec + libc.Xmemcpy(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, aRec, uint64(nRec)) + } else { + var i int32 + var pIn uintptr = aRec + var pOut uintptr = (*SessionChange)(unsafe.Pointer(pNew)).FaRecord + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var nIn int32 = sessionSerialLen(tls, pIn) + if int32(*(*U8)(unsafe.Pointer(pIn))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } else if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else { + libc.Xmemcpy(tls, pOut, pIn, uint64(nIn)) + pOut += uintptr(nIn) + } + pIn += uintptr(nIn) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + } else if bRebase != 0 { + if (int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) == SQLITE_DELETE) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0) { + *(*uintptr)(unsafe.Pointer(ppNew)) = pExist + } else { + var nByte Sqlite3_int64 = (Sqlite3_int64((uint64(nRec + (*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(unsafe.Sizeof(SessionChange{})))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var i int32 + var a1 uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var a2 uintptr = aRec + var pOut uintptr + + libc.Xmemset(tls, pNew, 0, uint64(nByte)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) || ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + pOut = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) || ((int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0) && (bIndirect != 0)) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else if int32(*(*U8)(unsafe.Pointer(a2))) == 0 { + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else { + libc.Xmemcpy(tls, pOut, a2, uint64(n2)) + pOut += uintptr(n2) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } else { + var op1 int32 = int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) + + // op1=INSERT, op2=INSERT -> Unsupported. Discard op2. + // op1=INSERT, op2=UPDATE -> INSERT. + // op1=INSERT, op2=DELETE -> (none) + // + // op1=UPDATE, op2=INSERT -> Unsupported. Discard op2. + // op1=UPDATE, op2=UPDATE -> UPDATE. + // op1=UPDATE, op2=DELETE -> DELETE. + // + // op1=DELETE, op2=INSERT -> UPDATE. + // op1=DELETE, op2=UPDATE -> Unsupported. Discard op2. + // op1=DELETE, op2=DELETE -> Unsupported. Discard op2. + if ((((op1 == SQLITE_INSERT) && (op2 == SQLITE_INSERT)) || + ((op1 == SQLITE_UPDATE) && (op2 == SQLITE_INSERT))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_UPDATE))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_DELETE)) { + pNew = pExist + } else if (op1 == SQLITE_INSERT) && (op2 == SQLITE_DELETE) { + Xsqlite3_free(tls, pExist) + + } else { + var aExist uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var nByte Sqlite3_int64 + // var aCsr uintptr at bp+8, 8 + + // Allocate a new SessionChange object. Ensure that the aRecord[] + // buffer of the new object is large enough to hold any record that + // may be generated by combining the input records. + nByte = (Sqlite3_int64((uint64(unsafe.Sizeof(SessionChange{})) + uint64((*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(nRec))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if !(pNew != 0) { + Xsqlite3_free(tls, pExist) + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + if op1 == SQLITE_INSERT { // INSERT + UPDATE + *(*uintptr)(unsafe.Pointer(bp /* a1 */)) = aRec + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_INSERT) + if bPatchset == 0 { + sessionSkipRecord(tls, bp /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aExist, *(*uintptr)(unsafe.Pointer(bp /* a1 */))) + } else if op1 == SQLITE_DELETE { // DELETE + INSERT + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aExist, uintptr(0), aRec, uintptr(0)) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } + } else if op2 == SQLITE_UPDATE { // UPDATE + UPDATE + *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)) = aExist + *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */)) = aRec + + if bPatchset == 0 { + sessionSkipRecord(tls, bp+16 /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + sessionSkipRecord(tls, bp+24 /* &a2 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aRec, aExist, *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)), *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */))) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } else { // UPDATE + DELETE + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_DELETE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aRec, aExist) + } + } + + if pNew != 0 { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */))) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } + + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Add all changes in the changeset traversed by the iterator passed as +// the first argument to the changegroup hash tables. +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:211740:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + // var aRec uintptr at bp, 8 + + // var nRec int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + var pTab uintptr = uintptr(0) + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, uintptr(0)) { + // var zNew uintptr at bp+16, 8 + + // var nCol int32 at bp+24, 4 + + // var op int32 at bp+28, 4 + + var iHash int32 + // var bIndirect int32 at bp+32, 4 + + // var pChange uintptr at bp+48, 8 + + var pExist uintptr = uintptr(0) + var pp uintptr + + if (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = SQLITE_ERROR + break + } + + Xsqlite3changeset_op(tls, pIter, bp+16 /* &zNew */, bp+24 /* &nCol */, bp+28 /* &op */, bp+32 /* &bIndirect */) + if !(pTab != 0) || (Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (*SessionTable)(unsafe.Pointer(pTab)).FzName) != 0) { + // Search the list for a matching table + var nNew int32 = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)))) + // var abPK uintptr at bp+40, 8 + + Xsqlite3changeset_pk(tls, pIter, bp+40 /* &abPK */, uintptr(0)) + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (nNew+1)) { + break + } + } + if !(pTab != 0) { + var ppTab uintptr + + pTab = Xsqlite3_malloc64(tls, (uint64(((uint64(unsafe.Sizeof(SessionTable{})) + uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + uint64(nNew)) + uint64(1)))) + if !(pTab != 0) { + rc = SQLITE_NOMEM + break + } + libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 24 /* nCol */)) + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = (pTab + 1*56) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = ((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (uint64(nNew + 1))) + + // The new object must be linked on to the end of the list, not + // simply added to the start of it. This is to ensure that the + // tables within the output of sqlite3changegroup_output() are in + // the right order. + for ppTab = (pGrp + 8 /* &.pList */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } else if ((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) || (libc.Xmemcmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) != 0) { + rc = SQLITE_SCHEMA + break + } + } + + if sessionGrowHash(tls, uintptr(0), (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { + rc = SQLITE_NOMEM + break + } + iHash = int32(sessionChangeHash(tls, + pTab, (libc.Bool32(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0) && (*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE))), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + // Search for existing entry. If found, remove it from the hash table. + // Code below may link it back in. + for pp = ((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = (*(*uintptr)(unsafe.Pointer(pp)) + 24 /* &.pNext */) { + var bPkOnly1 int32 = 0 + var bPkOnly2 int32 = 0 + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + bPkOnly1 = (libc.Bool32(int32((*SessionChange)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pp))))).Fop) == SQLITE_DELETE)) + bPkOnly2 = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE)) + } + if sessionChangeEqual(tls, pTab, bPkOnly1, (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp /* aRec */))) != 0 { + pExist = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry-- + break + } + } + + rc = sessionChangeMerge(tls, pTab, bRebase, + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 28 /* op */)), *(*int32)(unsafe.Pointer(bp + 32 /* bIndirect */)), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+48 /* &pChange */) + if rc != 0 { + break + } + if *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) != 0 { + (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)))).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + } + } + + if rc == SQLITE_OK { + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// Serialize a changeset (or patchset) based on all changesets (or patchsets) +// added to the changegroup object passed as the first argument. +// +// If xOutput is not NULL, then the changeset/patchset is returned to the +// user via one or more calls to xOutput, as with the other streaming +// interfaces. +// +// Or, if xOutput is NULL, then (*ppOut) is populated with a pointer to a +// buffer containing the output changeset before this function returns. In +// this case (*pnOut) is set to the size of the output buffer in bytes. It +// is the responsibility of the caller to free the output buffer using +// sqlite3_free() when it is no longer required. +// +// If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite +// error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut) +// are both set to 0 before returning. +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211863:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var pTab uintptr + + // Create the serialized output changeset based on the contents of the + // hash tables attached to the SessionTable objects in list p->pList. + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + var i int32 + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry == 0 { + continue + } + + sessionAppendTableHdr(tls, bp /* &buf */, (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch, pTab, bp+16 /* &rc */) + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).Fop, bp+16 /* &rc */) + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+16 /* &rc */) + sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+16 /* &rc */) + if ((*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 + } + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Allocate a new, empty, sqlite3_changegroup. +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:211914:16: */ + var rc int32 = SQLITE_OK // Return code + var p uintptr // New object + p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) + if p == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Sqlite3_changegroup{}))) + } + *(*uintptr)(unsafe.Pointer(pp)) = p + return rc +} + +// Add the changeset currently stored in buffer pData, size nData bytes, +// to changeset-group p. +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:211931:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nData, pData) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Obtain a buffer containing a changeset representing the concatenation +// of all changesets added to the group so far. +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:211947:16: */ + return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) +} + +// Streaming versions of changegroup_add(). +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:211958:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Streaming versions of changegroup_output(). +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:211977:16: */ + return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Delete a changegroup object. +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:211988:17: */ + if pGrp != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, pGrp) + } +} + +// Combine two changesets together. +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211998:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nLeft, pLeft) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nRight, pRight) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), pnOut, ppOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Streaming version of sqlite3changeset_concat(). +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212027:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputA, pInA) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputB, pInB) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xOutput, pOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Buffers a1 and a2 must both contain a sessions module record nCol +// fields in size. This function appends an nCol sessions module +// record to buffer pBuf that is a copy of a1, except that for +// each field that is undefined in a1[], swap in the field from a2[]. +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:212066:13: */ + sessionBufferGrow(tls, pBuf, (int64(n1 + n2)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var i int32 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + for i = 0; i < nCol; i++ { + var nn1 int32 = sessionSerialLen(tls, a1) + var nn2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0) || (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) { + libc.Xmemcpy(tls, pOut, a2, uint64(nn2)) + pOut += uintptr(nn2) + } else { + libc.Xmemcpy(tls, pOut, a1, uint64(nn1)) + pOut += uintptr(nn1) + } + a1 += uintptr(nn1) + a2 += uintptr(nn2) + } + + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + + } +} + +// This function is called when rebasing a local UPDATE change against one +// or more remote UPDATE changes. The aRec/nRec buffer contains the current +// old.* and new.* records for the change. The rebase buffer (a single +// record) is in aChange/nChange. The rebased change is appended to buffer +// pBuf. +// +// Rebasing the UPDATE involves: +// +// * Removing any changes to fields for which the corresponding field +// in the rebase buffer is set to "replaced" (type 0xFF). If this +// means the UPDATE change updates no fields, nothing is appended +// to the output buffer. +// +// * For each field modified by the local change for which the +// corresponding field in the rebase buffer is not "undefined" (0x00) +// or "replaced" (0xFF), the old.* value is replaced by the value +// in the rebase buffer. +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:212115:13: */ + sessionBufferGrow(tls, pBuf, (int64((2 + nRec) + nChange)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var bData int32 = 0 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + var i int32 + var a1 uintptr = aRec + var a2 uintptr = aChange + + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(SQLITE_UPDATE) + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect) + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) == 0) { + if !(int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i)))) != 0) && (*(*U8)(unsafe.Pointer(a1)) != 0) { + bData = 1 + } + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else if int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF { + bData = 1 + libc.Xmemcpy(tls, pOut, a2, uint64(n2)) + pOut += uintptr(n2) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + if bData != 0 { + a2 = aChange + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF) { + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + } + } +} + +// pIter is configured to iterate through a changeset. This function rebases +// that changeset according to the current configuration of the rebaser +// object passed as the first argument. If no error occurs and argument xOutput +// is not NULL, then the changeset is returned to the caller by invoking +// xOutput zero or more times and SQLITE_OK returned. Or, if xOutput is NULL, +// then (*ppOut) is set to point to a buffer containing the rebased changeset +// before this function returns. In this case (*pnOut) is set to the size of +// the buffer in bytes. It is the responsibility of the caller to eventually +// free the (*ppOut) buffer using sqlite3_free(). +// +// If an error occurs, an SQLite error code is returned. If ppOut and +// pnOut are not NULL, then the two output parameters are set to 0 before +// returning. +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212183:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp /* aRec */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)) = 0 + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + var pTab uintptr = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 16 /* sOut */)) = SessionBuffer{} + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, bp+12 /* &bNew */) { + var pChange uintptr = uintptr(0) + var bDone int32 = 0 + + if *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) != 0 { + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + for pTab = (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_stricmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zTab) { + break + } + } + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + + // A patchset may not be rebased + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR + } + + // Append a table header to the output for this new table + sessionAppendByte(tls, bp+16 /* &sOut */, func() uint8 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), bp+32 /* &rc */) + sessionAppendVarint(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, (int32(libc.Xstrlen(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab)) + 1), bp+32 /* &rc */) + } + + if (pTab != 0) && (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) { + var iHash int32 = int32(sessionChangeHash(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + for pChange = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)); pChange != 0; pChange = (*SessionChange)(unsafe.Pointer(pChange)).FpNext { + if sessionChangeEqual(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), 0, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord) != 0 { + break + } + } + } + + if pChange != 0 { + + switch (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop { + case SQLITE_INSERT: + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_UPDATE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + } + break + fallthrough + + case SQLITE_UPDATE: + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_DELETE { + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)) = *(*uintptr)(unsafe.Pointer(bp /* aRec */)) + sessionSkipRecord(tls, bp+40 /* &pCsr */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_INSERT), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)), (int32(int64(*(*int32)(unsafe.Pointer(bp + 8 /* nRec */))) - ((int64(*(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */))) - int64(*(*uintptr)(unsafe.Pointer(bp /* aRec */)))) / 1))), + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + } else { + sessionAppendPartialUpdate(tls, bp+16 /* &sOut */, pIter, + *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + break + fallthrough + + default: + + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_DELETE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + break + } + } + + if bDone == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + if ((*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf = 0 + } + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0 { + break + } + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + libc.Xmemset(tls, bp+16 /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Create a new rebaser object. +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:212315:16: */ + var rc int32 = SQLITE_OK + var pNew uintptr + + pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_rebaser{}))) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_rebaser{}))) + } + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Call this one or more times to configure a rebaser. +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:212332:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator opened on pData/nData + var rc int32 // Return code + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nRebase, pRebase) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), (p /* &.grp */), 1) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212349:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start(tls, bp /* &pIter */, nIn, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), uintptr(0), uintptr(0), pnOut, ppOut) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212368:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Destroy a rebaser object +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:212389:17: */ + if p != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, p) + } +} + +// Global configuration +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:212399:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_CONFIG_STRMSIZE: + { + var pInt uintptr = pArg + if *(*int32)(unsafe.Pointer(pInt)) > 0 { + sessions_strm_chunk_size = *(*int32)(unsafe.Pointer(pInt)) + } + *(*int32)(unsafe.Pointer(pInt)) = sessions_strm_chunk_size + break + + } + default: + rc = SQLITE_MISUSE + break + } + return rc +} + //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -164550,71 +170725,6 @@ type Fts5Global1 = struct { FpCsr uintptr } /* sqlite3.c:213118:9 */ -//************************************************************************ - -//************* End of sqlite3rbu.c ***************************************** -//************* Begin file dbstat.c ***************************************** -// 2010 July 12 -// -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: -// -// May you do good and not evil. -// May you find forgiveness for yourself and forgive others. -// May you share freely, never taking more than you give. -// -// -// -// This file contains an implementation of the "dbstat" virtual table. -// -// The dbstat virtual table is used to extract low-level storage -// information from an SQLite database in order to implement the -// "sqlite3_analyzer" utility. See the ../tool/spaceanal.tcl script -// for an example implementation. -// -// Additional information is available on the "dbstat.html" page of the -// official SQLite documentation. - -// #include "sqliteInt.h" ** Requires access to internal data structures ** - -//************* End of dbstat.c ********************************************* -//************* Begin file dbpage.c ***************************************** -// 2017-10-11 -// -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: -// -// May you do good and not evil. -// May you find forgiveness for yourself and forgive others. -// May you share freely, never taking more than you give. -// -// -// -// This file contains an implementation of the "sqlite_dbpage" virtual table. -// -// The sqlite_dbpage virtual table is used to read or write whole raw -// pages of the database file. The pager interface is used so that -// uncommitted changes and changes recorded in the WAL file are correctly -// retrieved. -// -// Usage example: -// -// SELECT data FROM sqlite_dbpage('aux1') WHERE pgno=123; -// -// This is an eponymous virtual table so it does not need to be created before -// use. The optional argument to the sqlite_dbpage() table name is the -// schema for the database file that is to be read. The default schema is -// "main". -// -// The data field of sqlite_dbpage table can be updated. The new -// value must be a BLOB which is the correct page size, otherwise the -// update fails. Rows may not be deleted or inserted. - -// #include "sqliteInt.h" ** Requires access to internal data structures ** - -//************* End of dbpage.c ********************************************* -//************* Begin file sqlite3session.c ********************************* - //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -165444,7 +171554,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+30529 /* "fts5: parser sta..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+31882 /* "fts5: parser sta..." */, 0) //******* End %stack_overflow code ******************************************* (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument var @@ -165767,7 +171877,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+30557 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) + pParse, ts+31910 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) //*********** End %syntax_error code ***************************************** (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument variable @@ -166068,7 +172178,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+30588 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+31941 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } @@ -166142,7 +172252,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 30595 /* "wrong number of ..." */ + var zErr uintptr = ts + 31948 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -166309,7 +172419,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 740 /* "" */ + return ts + 755 /* "" */ } // Implementation of snippet() function. @@ -166336,7 +172446,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 30645 /* "wrong number of ..." */ + var zErr uintptr = ts + 31998 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -166678,13 +172788,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 defer tls.Free(96) *(*[3]Builtin)(unsafe.Pointer(bp /* aBuiltin */)) = [3]Builtin{ - {FzFunc: ts + 30693 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32046 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5SnippetFunction}))}, - {FzFunc: ts + 30701 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32054 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5HighlightFunction}))}, - {FzFunc: ts + 30711 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 32064 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5Bm25Function}))}, } @@ -167178,7 +173288,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+5243 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+5258 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -167357,7 +173467,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, ts+30716 /* "prefix" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32069 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 @@ -167384,14 +173494,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+30723 /* "malformed prefix..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32076 /* "malformed prefix..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+30754 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) + ts+32107 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -167402,7 +173512,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30787 /* "prefix length ou..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32140 /* "prefix length ou..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -167415,7 +173525,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30824 /* "tokenize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32177 /* "tokenize" */, 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 /* &rc */, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nArg)))) @@ -167424,7 +173534,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+30833 /* "multiple tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32186 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { @@ -167443,7 +173553,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30866 /* "parse error in t..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32219 /* "parse error in t..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, @@ -167458,14 +173568,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30900 /* "content" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32253 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30908 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32261 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = 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 /* &rc */, ts+30940 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40 /* &rc */, ts+32293 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } @@ -167473,9 +173583,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30946 /* "content_rowid" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32299 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30960 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32313 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, zArg, -1) @@ -167483,9 +173593,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+30998 /* "columnsize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+32351 /* "columnsize" */, 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+31009 /* "malformed column..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32362 /* "malformed column..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) @@ -167493,21 +173603,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+4174 /* "detail" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+4189 /* "detail" */, zCmd, nCmd) == 0 { *(*[4]Fts5Enum)(unsafe.Pointer(bp + 48 /* aDetail */)) = [4]Fts5Enum{ - {FzName: ts + 15813 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 15818 /* "full" */}, - {FzName: ts + 31044 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, + {FzName: ts + 15828 /* "none" */, FeVal: FTS5_DETAIL_NONE}, + {FzName: ts + 15833 /* "full" */}, + {FzName: ts + 32397 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } if libc.AssignPtrInt32(bp+40 /* rc */, fts5ConfigSetEnum(tls, bp+48 /* &aDetail[0] */, zArg, (pConfig+92 /* &.eDetail */))) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31052 /* "malformed detail..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32405 /* "malformed detail..." */, 0) } return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31083 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32436 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) return SQLITE_ERROR } @@ -167571,15 +173681,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+20482 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+14742 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31111 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) + if (0 == Xsqlite3_stricmp(tls, zCol, ts+20497 /* "rank" */)) || + (0 == Xsqlite3_stricmp(tls, zCol, ts+14757 /* "rowid" */)) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32464 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) rc = SQLITE_ERROR } else if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, ts+31141 /* "unindexed" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+32494 /* "unindexed" */) { *(*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+31151 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32504 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) rc = SQLITE_ERROR } } @@ -167597,13 +173707,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK *(*Fts5Buffer)(unsafe.Pointer(bp + 32 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+31182 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+32535 /* "T.%Q" */, 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 /* &rc */, bp+32 /* &buf */, ts+31187 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+32540 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+31194 /* ", T.c%d" */, libc.VaList(bp+16, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+32547 /* ", T.c%d" */, libc.VaList(bp+16, i)) } } } @@ -167651,8 +173761,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*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 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+20482 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31202 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+20497 /* "rank" */) == 0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32555 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } @@ -167685,7 +173795,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31231 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32584 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { @@ -167693,7 +173803,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), pzErr) } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)), pzErr) @@ -167718,19 +173828,19 @@ 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 + 30900 /* "content" */ + zTail = ts + 32253 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 31251 /* "docsize" */ + zTail = ts + 32604 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+40 /* &rc */, ts+31259 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+40 /* &rc */, ts+32612 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+14742 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+14757 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -167779,18 +173889,18 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31270 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+32623 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 13309 /* ", " */ + return ts + 13324 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31286 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+32639 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+31293, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+20482 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+32646, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+20497 /* "rank" */)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -167930,7 +174040,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+31319 /* "pgsz" */) { + if 0 == Xsqlite3_stricmp(tls, zKey, ts+32672 /* "pgsz" */) { var pgsz int32 = 0 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -167940,7 +174050,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+31324 /* "hashsize" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32677 /* "hashsize" */) { var nHashSize int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -167950,7 +174060,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+31333 /* "automerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32686 /* "automerge" */) { var nAutomerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -167963,7 +174073,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+31343 /* "usermerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32696 /* "usermerge" */) { var nUsermerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -167973,7 +174083,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+31353 /* "crisismerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+32706 /* "crisismerge" */) { var nCrisisMerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -167989,7 +174099,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+20482 /* "rank" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+20497 /* "rank" */) { var zIn uintptr = Xsqlite3_value_text(tls, pVal) // var zRank uintptr at bp, 8 @@ -168016,7 +174126,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(52) defer tls.Free(52) - var zSelect uintptr = ts + 31365 /* "SELECT k, v FROM..." */ + var zSelect uintptr = ts + 32718 /* "SELECT k, v FROM..." */ var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK @@ -168039,7 +174149,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */))) { var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 0) var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 1) - if 0 == Xsqlite3_stricmp(tls, zK, ts+31397 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+32750 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 48 /* bDummy */)) = 0 @@ -168054,7 +174164,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+31405, /* "invalid fts5 fil..." */ + ts+32758, /* "invalid fts5 fil..." */ libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } @@ -168188,7 +174298,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+31470 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+32823 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -168201,20 +174311,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+31490 /* "fts5: syntax err..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+32843 /* "fts5: syntax err..." */, 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+31521 /* "OR" */, uint64(2)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+32874 /* "OR" */, uint64(2)) == 0) { tok = FTS5_OR } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+31524 /* "NOT" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+32877 /* "NOT" */, uint64(3)) == 0) { tok = FTS5_NOT } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+28270 /* "AND" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+28285 /* "AND" */, uint64(3)) == 0) { tok = FTS5_AND } break @@ -170187,9 +176297,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli bp := tls.Alloc(16) defer tls.Free(16) - if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+31528 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { + if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+32881 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { sqlite3Fts5ParseError(tls, - pParse, ts+30557 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) + pParse, ts+31910 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -170205,7 +176315,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+31533 /* "expected integer..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp)) + pParse, ts+32886 /* "expected integer..." */, 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')) @@ -170302,7 +176412,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+18865 /* "no such column: ..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+18880 /* "no such column: ..." */, libc.VaList(bp, z)) } else { pRet = fts5ParseColset(tls, pParse, pColset, iCol) } @@ -170398,7 +176508,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE { (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+31562 /* "fts5: column que..." */, 0) + ts+32915 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -170582,12 +176692,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+31615, /* "fts5: %s queries..." */ + ts+32968, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 31665 /* "phrase" */ + return ts + 33018 /* "phrase" */ } - return ts + 31528 /* "NEAR" */ + return ts + 32881 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -172060,7 +178170,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 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+31672 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+33025 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) } // If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls @@ -172148,7 +178258,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 /* &.pWriter */), Xsqlite3_mprintf(tls, - ts+31678, /* "REPLACE INTO '%q..." */ + ts+33031, /* "REPLACE INTO '%q..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return @@ -172176,7 +178286,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig var zSql uintptr = Xsqlite3_mprintf(tls, - ts+31729, /* "DELETE FROM '%q'..." */ + ts+33082, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if fts5IndexPrepareStmt(tls, p, (p+72 /* &.pDeleter */), zSql) != 0 { return @@ -172200,7 +178310,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 88 /* &.pIdxDeleter */), Xsqlite3_mprintf(tls, - ts+31778, /* "DELETE FROM '%q'..." */ + ts+33131, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -172408,7 +178518,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12 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 /* &.pDataVersion */), - Xsqlite3_mprintf(tls, ts+31818 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + Xsqlite3_mprintf(tls, ts+33171 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return int64(0) } @@ -173843,7 +179953,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:2 var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 96 /* &.pIdxSelect */), Xsqlite3_mprintf(tls, - ts+31841, /* "SELECT pgno FROM..." */ + ts+33194, /* "SELECT pgno FROM..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect @@ -175100,7 +181210,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { return (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -175441,7 +181551,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 /* &.pIdxWriter */), Xsqlite3_mprintf(tls, - ts+31925, /* "INSERT INTO '%q'..." */ + ts+33278, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -176658,7 +182768,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 fts5StructureInvalidate(tls, p) fts5IndexDiscardData(tls, p) libc.Xmemset(tls, bp /* &s */, 0, uint64(unsafe.Sizeof(Fts5Structure{}))) - fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+740 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+755 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -176679,13 +182789,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == 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 /* &rc */, ts+31982 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8 /* &rc */, ts+33335 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, - pConfig, ts+23301 /* "data" */, ts+31990 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+23316 /* "data" */, ts+33343 /* "id INTEGER PRIMA..." */, 0, pzErr) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+10197, /* "idx" */ - ts+32025, /* "segid, term, pgn..." */ + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+10212, /* "idx" */ + ts+33378, /* "segid, term, pgn..." */ 1, pzErr) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { @@ -176991,7 +183101,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3Fts5Put32(tls, bp /* &aCookie[0] */, iNew) rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, - ts+31672 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) + ts+33025 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)), bp /* &aCookie[0] */, 4, 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */))) @@ -177128,7 +183238,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+32069, /* "SELECT segid, te..." */ + ts+33422, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. @@ -177338,7 +183448,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks } else { (*Fts5Buffer)(unsafe.Pointer(bp + 16 /* &poslist */)).Fn = 0 fts5SegiterPoslist(tls, p, ((*(*uintptr)(unsafe.Pointer(bp /* pIter */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter */)))).FaFirst+1*4)).FiFirst)*120), uintptr(0), bp+16 /* &poslist */) - sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+32155 /* "\x00\x00\x00\x00" */) + sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+33508 /* "\x00\x00\x00\x00" */) for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fn, bp+32 /* &iOff */, bp+40 /* &iPos */) { var iCol int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) >> 32)) var iTokOff int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) & int64(0x7FFFFFFF))) @@ -177749,7 +183859,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+32160 /* "recursively defi..." */, 0) + ts+33513 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -177783,7 +183893,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } else if iCol >= 0 { bSeenMatch = 1 *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('M') - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4074 /* "%d" */, libc.VaList(bp, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4089 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) } @@ -177799,7 +183909,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4074 /* "%d" */, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4089 /* "%d" */, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -178142,7 +184252,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: rc = Xsqlite3_reset(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -178174,7 +184284,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, uint32(SQLITE_PREPARE_PERSISTENT), bp+8 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -178213,25 +184323,25 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 // // If SQLite a built-in statement cache, this wouldn't be a problem. rc = fts5PrepareStatement(tls, (pSorter /* &.pStmt */), pConfig, - ts+32199, /* "SELECT rowid, ra..." */ + ts+33552, /* "SELECT rowid, ra..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, func() uintptr { if zRankArgs != 0 { - return ts + 13309 /* ", " */ + return ts + 13324 /* ", " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 32254 /* "DESC" */ + return ts + 33607 /* "DESC" */ } - return ts + 32259 /* "ASC" */ + return ts + 33612 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -178282,13 +184392,13 @@ 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+32263 /* "reads" */, z, n)) { + if (n == 5) && (0 == Xsqlite3_strnicmp(tls, ts+33616 /* "reads" */, 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+4156 /* "id" */, z, n)) { + } else if (n == 2) && (0 == Xsqlite3_strnicmp(tls, ts+4171 /* "id" */, z, n)) { (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { // An unrecognized directive. Return an error message. - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+32269 /* "unknown special ..." */, libc.VaList(bp, n, z)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+33622 /* "unknown special ..." */, libc.VaList(bp, n, z)) rc = SQLITE_ERROR } @@ -178323,7 +184433,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+32297 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+33650 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, @@ -178355,7 +184465,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+32307 /* "no such function..." */, libc.VaList(bp+8, zRank)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+33660 /* "no such function..." */, libc.VaList(bp+8, zRank)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } } @@ -178387,14 +184497,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin *(*int32)(unsafe.Pointer(pCsr + 80 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+32328 /* "parse error in r..." */, libc.VaList(bp, z)) + ts+33681 /* "parse error in r..." */, 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 + 30711 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 32064 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -178460,7 +184570,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+32160 /* "recursively defi..." */, 0) + ts+33513 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -178506,7 +184616,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 740 /* "" */ + zText = ts + 755 /* "" */ __14: ; iCol = 0 @@ -178695,7 +184805,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+32361 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + ts+33714 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = SQLITE_ERROR goto __41 __40: @@ -178832,7 +184942,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql rc = (SQLITE_CORRUPT | (int32(1) << 8)) } else if (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+2775 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) + ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) } } } @@ -178869,29 +184979,29 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) var rc int32 = SQLITE_OK *(*int32)(unsafe.Pointer(bp /* bError */)) = 0 - if 0 == Xsqlite3_stricmp(tls, ts+32397 /* "delete-all" */, zCmd) { + if 0 == Xsqlite3_stricmp(tls, ts+33750 /* "delete-all" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { fts5SetVtabError(tls, pTab, - ts+32408 /* "'delete-all' may..." */, 0) + ts+33761 /* "'delete-all' may..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+32488 /* "rebuild" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+33841 /* "rebuild" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE { fts5SetVtabError(tls, pTab, - ts+32496 /* "'rebuild' may no..." */, 0) + ts+33849 /* "'rebuild' may no..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+15413 /* "optimize" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+15428 /* "optimize" */, zCmd) { rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) - } else if 0 == Xsqlite3_stricmp(tls, ts+32552 /* "merge" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+33905 /* "merge" */, 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+32558 /* "integrity-check" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+33911 /* "integrity-check" */, zCmd) { var iArg int32 = Xsqlite3_value_int(tls, pVal) rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg) } else { @@ -178965,7 +185075,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // A "special" INSERT op. These are handled separately. var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*8))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && - (0 == Xsqlite3_stricmp(tls, ts+15952 /* "delete" */, z)) { + (0 == Xsqlite3_stricmp(tls, ts+15967 /* "delete" */, z)) { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*8))) @@ -178990,12 +185100,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // This is not suported. if (eType0 == SQLITE_INTEGER) && (fts5IsContentless(tls, pTab) != 0) { (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+32574, /* "cannot %s conten..." */ + ts+33927, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 18766 /* "UPDATE" */ + return ts + 18781 /* "UPDATE" */ } - return ts + 32611 /* "DELETE from" */ + return ts + 33964 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -179665,7 +185775,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+32623 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) + var zErr uintptr = Xsqlite3_mprintf(tls, ts+33976 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } else { @@ -179970,7 +186080,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+32644 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33997 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 16 /* &.x */ /* &.xCreate */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { @@ -179987,7 +186097,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg (*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = (pMod + 16 /* &.x */) if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32666 /* "error in tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34019 /* "error in tokeniz..." */, 0) } } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls, @@ -180034,7 +186144,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s var ppApi uintptr _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+32697 /* "fts5_api_ptr" */) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+34050 /* "fts5_api_ptr" */) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = (pGlobal /* &.api */) } @@ -180045,7 +186155,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+32710 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, pCtx, ts+34063 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) } // Return true if zName is the extension on one of the shadow tables used @@ -180061,7 +186171,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 32801 /* "config" */, ts + 30900 /* "content" */, ts + 23301 /* "data" */, ts + 31251 /* "docsize" */, ts + 10197, /* "idx" */ + ts + 34154 /* "config" */, ts + 32253 /* "content" */, ts + 23316 /* "data" */, ts + 32604 /* "docsize" */, ts + 10212, /* "idx" */ } /* sqlite3.c:230593:21 */ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ @@ -180085,7 +186195,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ (*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+32808 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) + rc = Xsqlite3_create_module_v2(tls, db, ts+34161 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) if rc == SQLITE_OK { rc = sqlite3Fts5IndexInit(tls, db) } @@ -180103,13 +186213,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+32808 /* "fts5" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+34161 /* "fts5" */, 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+32813 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+34166 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5SourceIdFunc})), uintptr(0), uintptr(0)) } @@ -180175,20 +186285,20 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p if *(*uintptr)(unsafe.Pointer((p + 40 /* &.aStmt */) + uintptr(eStmt)*8)) == uintptr(0) { *(*[11]uintptr)(unsafe.Pointer(bp + 128 /* azStmt */)) = [11]uintptr{ - ts + 32828, /* "SELECT %s FROM %..." */ - ts + 32896, /* "SELECT %s FROM %..." */ - ts + 32965, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 34181, /* "SELECT %s FROM %..." */ + ts + 34249, /* "SELECT %s FROM %..." */ + ts + 34318, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 32998, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 33037, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 33077, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 33116, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 33157, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE + ts + 34351, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT + ts + 34390, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT + ts + 34430, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT + ts + 34469, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE + ts + 34510, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE - ts + 33196, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 34549, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 33238, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 33278, /* "SELECT %s FROM %..." */ // SCAN + ts + 34591, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG + ts + 34631, /* "SELECT %s FROM %..." */ // SCAN } var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr = uintptr(0) @@ -180255,7 +186365,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2775 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -180293,18 +186403,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+33301, /* "DROP TABLE IF EX..." */ + ts+34654, /* "DROP TABLE IF EX..." */ 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+33405, /* "DROP TABLE IF EX..." */ + ts+34758, /* "DROP TABLE IF EX..." */ 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+33443, /* "DROP TABLE IF EX..." */ + ts+34796, /* "DROP TABLE IF EX..." */ libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc @@ -180316,7 +186426,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+33481, /* "ALTER TABLE %Q.'..." */ + ts+34834, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -180328,14 +186438,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp /* rc */)) = sqlite3Fts5StorageSync(tls, pStorage) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+23301 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+10197 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32801 /* "config" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+23316 /* "data" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+10212 /* "idx" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+34154 /* "config" */, zName) if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+31251 /* "docsize" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32604 /* "docsize" */, zName) } if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+30900 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32253 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -180349,17 +186459,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn var rc int32 *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+33523, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+34876, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { - return ts + 27916 /* " WITHOUT ROWID" */ + return ts + 27931 /* " WITHOUT ROWID" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+33553, /* "fts5: error crea..." */ + ts+34906, /* "fts5: error crea..." */ libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } @@ -180401,27 +186511,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+33597 /* "id INTEGER PRIMA..." */, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, ts+34950 /* "id INTEGER PRIMA..." */, 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+33620 /* ", c%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, (nDefn - iOff), (zDefn + uintptr(iOff)), ts+34973 /* ", c%d" */, libc.VaList(bp, i)) iOff = iOff + (int32(libc.Xstrlen(tls, (zDefn + uintptr(iOff))))) } - rc = sqlite3Fts5CreateTable(tls, pConfig, ts+30900 /* "content" */, zDefn, 0, pzErr) + rc = sqlite3Fts5CreateTable(tls, pConfig, ts+32253 /* "content" */, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+31251 /* "docsize" */, ts+33626 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+32604 /* "docsize" */, ts+34979 /* "id INTEGER PRIMA..." */, 0, pzErr) } if rc == SQLITE_OK { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+32801 /* "config" */, ts+33658 /* "k PRIMARY KEY, v" */, 1, pzErr) + pConfig, ts+34154 /* "config" */, ts+35011 /* "k PRIMARY KEY, v" */, 1, pzErr) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+31397 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+32750 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -180658,12 +186768,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: // Delete the contents of the %_data and %_docsize tables. rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+33675, /* "DELETE FROM %Q.'..." */ + ts+35028, /* "DELETE FROM %Q.'..." */ 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+33725, /* "DELETE FROM %Q.'..." */ + ts+35078, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -180673,7 +186783,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+31397 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+32750 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -180868,7 +186978,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+33754, /* "SELECT count(*) ..." */ + zSql = Xsqlite3_mprintf(tls, ts+35107, /* "SELECT count(*) ..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -181065,14 +187175,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // number of rows. if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { *(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+30900 /* "content" */, bp+48 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+32253 /* "content" */, bp+48 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) != (*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 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+31251 /* "docsize" */, bp+56 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+32604 /* "docsize" */, bp+56 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 56 /* nRow */)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) } @@ -181308,9 +187418,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, libc.Xmemcpy(tls, p /* &.aTokenChar */, 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+33786 /* "tokenchars" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35139 /* "tokenchars" */) { fts5AsciiAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+33797 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35150 /* "separators" */) { fts5AsciiAddExceptions(tls, p, zArg, 0) } else { rc = SQLITE_ERROR @@ -181550,7 +187660,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 + 33808 /* "L* N* Co" */ + var zCat uintptr = ts + 35161 /* "L* N* Co" */ var i int32 libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{}))) @@ -181563,7 +187673,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Search for a "categories" argument for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+33817 /* "categories" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35170 /* "categories" */) { zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*8)) } } @@ -181574,18 +187684,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+33828 /* "remove_diacritic..." */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35181 /* "remove_diacritic..." */) { 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+33786 /* "tokenchars" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35139 /* "tokenchars" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+33797 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35150 /* "separators" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 0) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+33817 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35170 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -181897,7 +188007,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 /* pUserdata */)) = uintptr(0) - var zBase uintptr = ts + 33846 /* "unicode61" */ + var zBase uintptr = ts + 35199 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -182050,7 +188160,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33856 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35209 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -182058,11 +188168,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33859 /* "ance" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35212 /* "ance" */, (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+33864 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35217 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -182070,7 +188180,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33869 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35222 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -182078,7 +188188,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33872 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35225 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -182086,11 +188196,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33875 /* "able" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35228 /* "able" */, (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+33880 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35233 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -182098,19 +188208,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33885 /* "ant" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35238 /* "ant" */, (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+33889 /* "ement" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35242 /* "ement" */, (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+33895 /* "ment" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35248 /* "ment" */, (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+33900 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35253 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -182118,11 +188228,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33904 /* "ion" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35257 /* "ion" */, (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+33908 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35261 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -182130,7 +188240,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33911 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35264 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -182138,11 +188248,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33915 /* "ate" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35268 /* "ate" */, (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+33919 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35272 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -182150,7 +188260,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33923 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35276 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -182158,7 +188268,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33927 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35280 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -182166,7 +188276,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33931 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35284 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -182183,24 +188293,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33935 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+33915 /* "ate" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35288 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35268 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'b': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33938 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+33941 /* "ble" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35291 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35294 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+33945 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+33931 /* "ize" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35298 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35284 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } @@ -182216,137 +188326,137 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+33948 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35301 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33915 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35268 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+33956 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+35309 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+33963 /* "tion" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+35316 /* "tion" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 4) } } break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33968 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35321 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33864 /* "ence" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35217 /* "ence" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33973 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35326 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33859 /* "ance" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35212 /* "ance" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } } break case 'e': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33978 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35331 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33931 /* "ize" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35284 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'g': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33983 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35336 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+14763 /* "log" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+14778 /* "log" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'l': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+33988 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35341 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+33941 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35294 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+33992 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35345 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33856 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35209 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+33997 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35350 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33900 /* "ent" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35253 /* "ent" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34003 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35356 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+34007 /* "e" */, uint64(1)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35360 /* "e" */, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 1) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34009 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35362 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33923 /* "ous" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35276 /* "ous" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } } break case 'o': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34015 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35368 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33931 /* "ize" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35284 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34023 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35376 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33915 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35268 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34029 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35382 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33915 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35268 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 's': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34034 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35387 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33856 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35209 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34040 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35393 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33927 /* "ive" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35280 /* "ive" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34048 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35401 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+34056 /* "ful" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35409 /* "ful" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+34060 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35413 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+33923 /* "ous" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35276 /* "ous" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } } break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34068 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35421 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33856 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35209 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34074 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35427 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33927 /* "ive" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35280 /* "ive" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+34080 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+35433 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+33941 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+35294 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -182362,16 +188472,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34087 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35440 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+33872 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35225 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } } break case 's': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+34092 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35445 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -182379,21 +188489,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34097 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35450 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33872 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35225 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34103 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35456 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33872 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35225 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34056 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35409 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -182401,7 +188511,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34109 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35462 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 5) } @@ -182409,9 +188519,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+34115 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35468 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+33856 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35209 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -182427,12 +188537,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'e': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34121 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35474 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+34125 /* "ee" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35478 /* "ee" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 2) } - } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+34128 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35481 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) ret = 1 @@ -182441,7 +188551,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+34131 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35484 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) ret = 1 @@ -182611,7 +188721,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+34135 /* "case_sensitive" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35488 /* "case_sensitive" */) { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { @@ -182801,22 +188911,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: defer tls.Free(128) *(*[4]BuiltinTokenizer)(unsafe.Pointer(bp /* aBuiltin */)) = [4]BuiltinTokenizer{ - {FzName: ts + 33846 /* "unicode61" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35199 /* "unicode61" */, 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 + 34150 /* "ascii" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35503 /* "ascii" */, 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 + 34156 /* "porter" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35509 /* "porter" */, 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 + 34163 /* "trigram" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 35516 /* "trigram" */, 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 @@ -184163,14 +190273,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8 /* &rc */, zType, -1) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, ts+34171 /* "col" */) == 0 { + if Xsqlite3_stricmp(tls, zCopy, ts+35524 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL - } else if Xsqlite3_stricmp(tls, zCopy, ts+34175 /* "row" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+35528 /* "row" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW - } else if Xsqlite3_stricmp(tls, zCopy, ts+34179 /* "instance" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+35532 /* "instance" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34188 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35541 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) @@ -184217,19 +190327,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv defer tls.Free(36) *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azSchema */)) = [3]uintptr{ - ts + 34222, /* "CREATE TABlE voc..." */ - ts + 34262, /* "CREATE TABlE voc..." */ - ts + 34297, /* "CREATE TABlE voc..." */ + ts + 35575, /* "CREATE TABlE voc..." */ + ts + 35615, /* "CREATE TABlE voc..." */ + ts + 35650, /* "CREATE TABlE voc..." */ } var pRet uintptr = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK // Return code var bDb int32 - bDb = (libc.Bool32(((argc == 6) && (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4))) && (libc.Xmemcmp(tls, ts+21610 /* "temp" */, *(*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+21625 /* "temp" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0))) if (argc != 5) && (bDb == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34340 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35693 /* "wrong number of ..." */, 0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR } else { var nByte int32 // Bytes of space to allocate @@ -184381,11 +190491,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+34373 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+35726 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } zSql = sqlite3Fts5Mprintf(tls, bp+64, /* &rc */ - ts+34404, /* "SELECT t.%Q FROM..." */ + ts+35757, /* "SELECT t.%Q FROM..." */ 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 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72 /* &pStmt */, uintptr(0)) @@ -184409,7 +190519,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+34455 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+35808 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } else { @@ -184697,7 +190807,7 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused if pLe != 0 { var zCopy uintptr = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = ts + 740 /* "" */ + zCopy = ts + 755 /* "" */ } (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm + 1)) @@ -184814,7 +190924,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:235171:12: */ var p uintptr = pGlobal - return Xsqlite3_create_module_v2(tls, db, ts+34481 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, ts+35834 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } var fts5Vocab = Sqlite3_module{ @@ -184859,7 +190969,7 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:235516:23: */ - return ts + 34491 /* "2021-06-18 18:36..." */ + return ts + 35844 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -185747,5 +191857,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128 /* .xGetLastError */)) = rbuVfsGetLastError // sqlite3.c:205300:5: } -var ts1 = "COMPILER=gcc-8.3.0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\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\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\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\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%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing 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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\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\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\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: \"%.*s\"\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=gcc-8.3.0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\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\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\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\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\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\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%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing 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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\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\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\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: \"%.*s\"\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/lib/sqlite_windows_amd64.go b/lib/sqlite_windows_amd64.go index f781191..0216835 100644 --- a/lib/sqlite_windows_amd64.go +++ b/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 "" -pkgname sqlite3 -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 "" -pkgname sqlite3 -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT. package sqlite3 @@ -13489,11 +13489,14 @@ const ( SERVICE_WIN32 = 48 SERVICE_WIN32_OWN_PROCESS = 0x00000010 SERVICE_WIN32_SHARE_PROCESS = 0x00000020 + SESSIONS_STRM_CHUNK_SIZE = 1024 SESSION_ABORTED = 0x06 SESSION_ALL_ACCESS = 983043 SESSION_ESTABLISHED = 0x03 + SESSION_MAX_BUFFER_SZ = 2147483391 SESSION_MODIFY_ACCESS = 0x2 SESSION_QUERY_ACCESS = 0x1 + SESSION_UPDATE_CACHE_SZ = 12 SETABORTPROC = 9 SETALLJUSTVALUES = 771 SETBREAK = 8 @@ -14225,6 +14228,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -14379,6 +14393,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -14751,6 +14766,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -21707,7 +21724,7 @@ type Va_list = X__builtin_va_list /* :50:27 */ // This array looks large, but in a typical installation actually uses // only a handful of compile-time options, so most times this array is usually // rather short and uses little memory space. -var sqlite3azCompileOpt = [18]uintptr{ +var sqlite3azCompileOpt = [19]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl ts, /* "COMPILER=msvc-19..." */ @@ -21720,14 +21737,15 @@ var sqlite3azCompileOpt = [18]uintptr{ ts + 130, /* "ENABLE_PREUPDATE..." */ ts + 152, /* "ENABLE_RBU" */ ts + 163, /* "ENABLE_RTREE" */ - ts + 176, /* "ENABLE_SNAPSHOT" */ - ts + 192, /* "ENABLE_STAT4" */ - ts + 205, /* "ENABLE_UNLOCK_NO..." */ - ts + 226, /* "LIKE_DOESNT_MATC..." */ - ts + 250, /* "MUTEX_NOOP" */ - ts + 261, /* "SOUNDEX" */ - ts + 269, /* "SYSTEM_MALLOC" */ - ts + 283, /* "THREADSAFE=1" */ + ts + 176, /* "ENABLE_SESSION" */ + ts + 191, /* "ENABLE_SNAPSHOT" */ + ts + 207, /* "ENABLE_STAT4" */ + ts + 220, /* "ENABLE_UNLOCK_NO..." */ + ts + 241, /* "LIKE_DOESNT_MATC..." */ + ts + 265, /* "MUTEX_NOOP" */ + ts + 276, /* "SOUNDEX" */ + ts + 284, /* "SYSTEM_MALLOC" */ + ts + 298, /* "THREADSAFE=1" */ // END CODE GENERATED BY tool/mkctime.tcl } /* sqlite3.c:72:19 */ @@ -22053,7 +22071,7 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:45:27 */ // of the hash might be different from [SQLITE_SOURCE_ID].)^ // // See also: [sqlite_version()] and [sqlite_source_id()]. -var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 296 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ +var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 311 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -24604,6 +24622,495 @@ type Sqlite3_rtree_dbl = float64 /* sqlite3.c:11048:18 */ //******* End of sqlite3rtree.h ******** //******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type sqlite3_session = struct { + Fdb uintptr + FzDb uintptr + FbEnableSize int32 + FbEnable int32 + FbIndirect int32 + FbAutoAttach int32 + Frc int32 + _ [4]byte + FpFilterCtx uintptr + FxTableFilter uintptr + FnMalloc I64 + FnMaxChangesetSize I64 + FpZeroBlob uintptr + FpNext uintptr + FpTable uintptr + Fhook SessionHook +} /* sqlite3.c:11155:9 */ + +// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. + +//******* End of sqlite3rtree.h ******** +//******* Begin file sqlite3session.h ******** + +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type sqlite3_changeset_iter = struct { + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + _ [4]byte + FabPK uintptr + FapValue uintptr +} /* sqlite3.c:11163:9 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type Sqlite3_changeset_iter = sqlite3_changeset_iter /* sqlite3.c:11163:39 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type sqlite3_changegroup = struct { + Frc int32 + FbPatch int32 + FpList uintptr +} /* sqlite3.c:12015:9 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type Sqlite3_changegroup = sqlite3_changegroup /* sqlite3.c:12015:36 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type sqlite3_rebaser = struct{ Fgrp Sqlite3_changegroup } /* sqlite3.c:12579:9 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ + +// CAPI3REF: Values for sqlite3session_config(). + +// Make sure we can call this stuff from C++. + //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** // 2014 May 31 @@ -24654,10 +25161,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.c:12895:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -28271,7 +28777,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 303 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 318 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -29219,7 +29725,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+310 /* "20b:20e" */, libc.VaList(bp, bp+24 /* &nHr */, bp+28 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+325 /* "20b:20e" */, libc.VaList(bp, bp+24 /* &nHr */, bp+28 /* &nMn */)) != 2) { goto __9 } return 1 @@ -29256,13 +29762,13 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 // var s int32 at bp+48, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+318 /* "20c:20e" */, libc.VaList(bp, bp+40 /* &h */, bp+44 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+333 /* "20c:20e" */, libc.VaList(bp, bp+40 /* &h */, bp+44 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+326 /* "20e" */, libc.VaList(bp+24, bp+48 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+341 /* "20e" */, libc.VaList(bp+24, bp+48 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -29381,7 +29887,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+330 /* "40f-21a-21d" */, libc.VaList(bp, bp+32 /* &Y */, bp+36 /* &M */, bp+40 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+345 /* "40f-21a-21d" */, libc.VaList(bp, bp+32 /* &Y */, bp+36 /* &M */, bp+40 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -29462,7 +29968,7 @@ func parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) i return 0 } else if parseHhMmSs(tls, zDate, p) == 0 { return 0 - } else if (Xsqlite3StrICmp(tls, zDate, ts+342 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { + } else if (Xsqlite3StrICmp(tls, zDate, ts+357 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { return setDateTimeToCurrent(tls, context, p) } else if Xsqlite3AtoF(tls, zDate, bp /* &r */, Xsqlite3Strlen30(tls, zDate), uint8(SQLITE_UTF8)) > 0 { setRawDateNumber(tls, p, *(*float64)(unsafe.Pointer(bp /* r */))) @@ -29644,7 +30150,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite computeJD(tls, bp+40 /* &x */) *(*Time_t)(unsafe.Pointer(bp + 88 /* t */)) = (((*DateTime)(unsafe.Pointer(bp+40 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000))) if osLocaltime(tls, bp+88 /* &t */, bp /* &sLocal */) != 0 { - Xsqlite3_result_error(tls, pCtx, ts+346 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+361 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -29679,12 +30185,12 @@ var aXformType = [6]struct { FrLimit float64 FrXform float64 }{ - {FnName: U8(6), FzName: ts + 369 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, - {FnName: U8(6), FzName: ts + 376 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, - {FnName: U8(4), FzName: ts + 383 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, - {FnName: U8(3), FzName: ts + 388 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, - {FeType: U8(1), FnName: U8(5), FzName: ts + 392 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, - {FeType: U8(2), FnName: U8(4), FzName: ts + 398 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, + {FnName: U8(6), FzName: ts + 384 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, + {FnName: U8(6), FzName: ts + 391 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, + {FnName: U8(4), FzName: ts + 398 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, + {FnName: U8(3), FzName: ts + 403 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, + {FeType: U8(1), FnName: U8(5), FzName: ts + 407 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, + {FeType: U8(2), FnName: U8(4), FzName: ts + 413 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, } /* sqlite3.c:22795:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -29723,7 +30229,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Assuming the current time value is UTC (a.k.a. GMT), shift it to // show local time. - if (Xsqlite3_stricmp(tls, z, ts+403 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + if (Xsqlite3_stricmp(tls, z, ts+418 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { computeJD(tls, p) *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (localtimeOffset(tls, p, pCtx, bp /* &rc */)) clearYMD_HMS_TZ(tls, p) @@ -29737,7 +30243,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Treat the current value of p->s as the number of // seconds since 1970. Convert to a real julian day number. - if (Xsqlite3_stricmp(tls, z, ts+413 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { + if (Xsqlite3_stricmp(tls, z, ts+428 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) @@ -29746,7 +30252,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+423 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + } else if (Xsqlite3_stricmp(tls, z, ts+438 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { if int32((*DateTime)(unsafe.Pointer(p)).FtzSet) == 0 { var c1 Sqlite3_int64 computeJD(tls, p) @@ -29771,7 +30277,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // Move the date to the same time on the next occurrence of // weekday N where 0==Sunday, 1==Monday, and so forth. If the // date is already on the appropriate weekday, this is a no-op. - if ((((Xsqlite3_strnicmp(tls, z, ts+427 /* "weekday " */, 8) == 0) && + if ((((Xsqlite3_strnicmp(tls, z, ts+442 /* "weekday " */, 8) == 0) && (Xsqlite3AtoF(tls, (z+8), bp+8 /* &r */, Xsqlite3Strlen30(tls, (z+8)), uint8(SQLITE_UTF8)) > 0)) && ((float64(libc.AssignInt32(&n, int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */)))))) == *(*float64)(unsafe.Pointer(bp + 8 /* r */)))) && (n >= 0)) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < float64(7)) { var Z Sqlite3_int64 @@ -29796,7 +30302,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Move the date backwards to the beginning of the current day, // or month or year. - if Xsqlite3_strnicmp(tls, z, ts+436 /* "start of " */, 9) != 0 { + if Xsqlite3_strnicmp(tls, z, ts+451 /* "start of " */, 9) != 0 { break } if (!(int32((*DateTime)(unsafe.Pointer(p)).FvalidJD) != 0) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidYMD) != 0)) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidHMS) != 0) { @@ -29810,14 +30316,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - if Xsqlite3_stricmp(tls, z, ts+392 /* "month" */) == 0 { + if Xsqlite3_stricmp(tls, z, ts+407 /* "month" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+398 /* "year" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+413 /* "year" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FM = 1 (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+388 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+403 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -30038,7 +30544,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // var zBuf [100]int8 at bp+104, 100 computeYMD_HMS(tls, bp+56 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &zBuf[0] */, ts+446, /* "%04d-%02d-%02d %..." */ + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &zBuf[0] */, ts+461, /* "%04d-%02d-%02d %..." */ libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+104 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } @@ -30057,7 +30563,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+80, 100 computeHMS(tls, bp+32 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+476 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+491 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+80 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -30075,7 +30581,7 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+80, 100 computeYMD(tls, bp+32 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+491 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FD)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+506 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FD)) Xsqlite3_result_text(tls, context, bp+80 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -30202,7 +30708,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FD)) j = j + (uint64(2)) break fallthrough @@ -30212,14 +30718,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+511 /* "%06.3f" */, libc.VaList(bp+16, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+526 /* "%06.3f" */, libc.VaList(bp+16, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+32, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+32, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fh)) j = j + (uint64(2)) break fallthrough @@ -30237,10 +30743,10 @@ __3: if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday wd = (int32((((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+48, (((nDay+7)-wd)/7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+48, (((nDay+7)-wd)/7))) j = j + (uint64(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+518 /* "%03d" */, libc.VaList(bp+64, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+533 /* "%03d" */, libc.VaList(bp+64, (nDay+1))) j = j + (uint64(3)) } break @@ -30249,19 +30755,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+523 /* "%.16g" */, libc.VaList(bp+80, (float64((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+538 /* "%.16g" */, libc.VaList(bp+80, (float64((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+96, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+96, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FM)) j = j + (uint64(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+112, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+112, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fm)) j = j + (uint64(2)) break fallthrough @@ -30275,7 +30781,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+506 /* "%02d" */, libc.VaList(bp+128, int32((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+128, int32((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough @@ -30288,7 +30794,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+529 /* "%04d" */, libc.VaList(bp+144, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+544 /* "%04d" */, libc.VaList(bp+144, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -30345,14 +30851,14 @@ func Xsqlite3RegisterDateTimeFunctions(tls *libc.TLS) { /* sqlite3.c:23404:21: * } var aDateTimeFuncs = [8]FuncDef{ - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 534 /* "julianday" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 544 /* "date" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 549 /* "time" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 554 /* "datetime" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 563 /* "strftime" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 572 /* "current_time" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 585 /* "current_timestam..." */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 603 /* "current_date" */}} /* sqlite3.c:23405:18 */ + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 549 /* "julianday" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 559 /* "date" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 564 /* "time" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 569 /* "datetime" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 578 /* "strftime" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 587 /* "current_time" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 600 /* "current_timestam..." */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 618 /* "current_date" */}} /* sqlite3.c:23405:18 */ //************* End of date.c *********************************************** //************* Begin file os.c ********************************************* @@ -30930,7 +31436,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p = libc.Xmalloc(tls, uint64(nByte)) if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+616 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+631 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -30968,7 +31474,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+654, /* "failed memory re..." */ + ts+669, /* "failed memory re..." */ libc.VaList(bp, libc.X_msize(tls, pPrior), nByte)) } return p @@ -62690,8 +63196,8 @@ type Et_info = et_info /* sqlite3.c:28672:3 */ // The following table is searched linearly, so it is good to put the // most frequently used conversion types first. -var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 690 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 723 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ +var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 705 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 738 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ var fmtinfo = [23]Et_info{ {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, {Ffmttype: int8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, @@ -62945,7 +63451,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+730 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+745 /* "%" */, 1) goto __5 __11: ; @@ -63528,7 +64034,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 732 /* "NaN" */ + bufpt = ts + 747 /* "NaN" */ length = 3 goto __58 __127: @@ -63588,7 +64094,7 @@ __138: } bufpt = bp + 16 /* &buf[0] */ *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = prefix - libc.Xmemcpy(tls, (bp + 16 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+736 /* "Inf" */, uint64(4)) + libc.Xmemcpy(tls, (bp + 16 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+751 /* "Inf" */, uint64(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: @@ -63945,7 +64451,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 740 /* "" */ + bufpt = ts + 755 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -64074,9 +64580,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 741 /* "NULL" */ + return ts + 756 /* "NULL" */ } - return ts + 746 /* "(NULL)" */ + return ts + 761 /* "(NULL)" */ }() __220: ; @@ -64211,7 +64717,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+753 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+768 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -64226,7 +64732,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+755 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, ts+770 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) __247: ; __246: @@ -64289,7 +64795,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 767 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 782 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -66429,7 +66935,7 @@ func compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) int32 { /* sqlite3.c var c int32 = 0 var i int32 // 012345678901234567 - var pow63 uintptr = ts + 776 /* "9223372036854775..." */ + var pow63 uintptr = ts + 791 /* "9223372036854775..." */ for i = 0; (c == 0) && (i < 18); i++ { c = ((int32(*(*int8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) } @@ -67079,7 +67585,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(16) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+795, /* "API call with %s..." */ + ts+810, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -67098,14 +67604,14 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ func Xsqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:33054:20: */ var magic U32 if db == uintptr(0) { - logBadConnection(tls, ts+741 /* "NULL" */) + logBadConnection(tls, ts+756 /* "NULL" */) return 0 } magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if magic != SQLITE_MAGIC_OPEN { if Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 { - logBadConnection(tls, ts+840 /* "unopened" */) + logBadConnection(tls, ts+855 /* "unopened" */) } return 0 } else { @@ -67119,7 +67625,7 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if ((magic != U32(SQLITE_MAGIC_SICK)) && (magic != SQLITE_MAGIC_OPEN)) && (magic != SQLITE_MAGIC_BUSY) { - logBadConnection(tls, ts+849 /* "invalid" */) + logBadConnection(tls, ts+864 /* "invalid" */) return 0 } else { return 1 @@ -67647,186 +68153,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 0 */ ts + 857, /* "Savepoint" */ - /* 1 */ ts + 867, /* "AutoCommit" */ - /* 2 */ ts + 878, /* "Transaction" */ - /* 3 */ ts + 890, /* "SorterNext" */ - /* 4 */ ts + 901, /* "Prev" */ - /* 5 */ ts + 906, /* "Next" */ - /* 6 */ ts + 911, /* "Checkpoint" */ - /* 7 */ ts + 922, /* "JournalMode" */ - /* 8 */ ts + 934, /* "Vacuum" */ - /* 9 */ ts + 941, /* "VFilter" */ - /* 10 */ ts + 949, /* "VUpdate" */ - /* 11 */ ts + 957, /* "Goto" */ - /* 12 */ ts + 962, /* "Gosub" */ - /* 13 */ ts + 968, /* "InitCoroutine" */ - /* 14 */ ts + 982, /* "Yield" */ - /* 15 */ ts + 988, /* "MustBeInt" */ - /* 16 */ ts + 998, /* "Jump" */ - /* 17 */ ts + 1003, /* "Once" */ - /* 18 */ ts + 1008, /* "If" */ - /* 19 */ ts + 1011, /* "Not" */ - /* 20 */ ts + 1015, /* "IfNot" */ - /* 21 */ ts + 1021, /* "IfNullRow" */ - /* 22 */ ts + 1031, /* "SeekLT" */ - /* 23 */ ts + 1038, /* "SeekLE" */ - /* 24 */ ts + 1045, /* "SeekGE" */ - /* 25 */ ts + 1052, /* "SeekGT" */ - /* 26 */ ts + 1059, /* "IfNotOpen" */ - /* 27 */ ts + 1069, /* "IfNoHope" */ - /* 28 */ ts + 1078, /* "NoConflict" */ - /* 29 */ ts + 1089, /* "NotFound" */ - /* 30 */ ts + 1098, /* "Found" */ - /* 31 */ ts + 1104, /* "SeekRowid" */ - /* 32 */ ts + 1114, /* "NotExists" */ - /* 33 */ ts + 1124, /* "Last" */ - /* 34 */ ts + 1129, /* "IfSmaller" */ - /* 35 */ ts + 1139, /* "SorterSort" */ - /* 36 */ ts + 1150, /* "Sort" */ - /* 37 */ ts + 1155, /* "Rewind" */ - /* 38 */ ts + 1162, /* "IdxLE" */ - /* 39 */ ts + 1168, /* "IdxGT" */ - /* 40 */ ts + 1174, /* "IdxLT" */ - /* 41 */ ts + 1180, /* "IdxGE" */ - /* 42 */ ts + 1186, /* "RowSetRead" */ - /* 43 */ ts + 1197, /* "Or" */ - /* 44 */ ts + 1200, /* "And" */ - /* 45 */ ts + 1204, /* "RowSetTest" */ - /* 46 */ ts + 1215, /* "Program" */ - /* 47 */ ts + 1223, /* "FkIfZero" */ - /* 48 */ ts + 1232, /* "IfPos" */ - /* 49 */ ts + 1238, /* "IfNotZero" */ - /* 50 */ ts + 1248, /* "IsNull" */ - /* 51 */ ts + 1255, /* "NotNull" */ - /* 52 */ ts + 1263, /* "Ne" */ - /* 53 */ ts + 1266, /* "Eq" */ - /* 54 */ ts + 1269, /* "Gt" */ - /* 55 */ ts + 1272, /* "Le" */ - /* 56 */ ts + 1275, /* "Lt" */ - /* 57 */ ts + 1278, /* "Ge" */ - /* 58 */ ts + 1281, /* "ElseEq" */ - /* 59 */ ts + 1288, /* "DecrJumpZero" */ - /* 60 */ ts + 1301, /* "IncrVacuum" */ - /* 61 */ ts + 1312, /* "VNext" */ - /* 62 */ ts + 1318, /* "Init" */ - /* 63 */ ts + 1323, /* "PureFunc" */ - /* 64 */ ts + 1332, /* "Function" */ - /* 65 */ ts + 1341, /* "Return" */ - /* 66 */ ts + 1348, /* "EndCoroutine" */ - /* 67 */ ts + 1361, /* "HaltIfNull" */ - /* 68 */ ts + 1372, /* "Halt" */ - /* 69 */ ts + 1377, /* "Integer" */ - /* 70 */ ts + 1385, /* "Int64" */ - /* 71 */ ts + 1391, /* "String" */ - /* 72 */ ts + 1398, /* "Null" */ - /* 73 */ ts + 1403, /* "SoftNull" */ - /* 74 */ ts + 1412, /* "Blob" */ - /* 75 */ ts + 1417, /* "Variable" */ - /* 76 */ ts + 1426, /* "Move" */ - /* 77 */ ts + 1431, /* "Copy" */ - /* 78 */ ts + 1436, /* "SCopy" */ - /* 79 */ ts + 1442, /* "IntCopy" */ - /* 80 */ ts + 1450, /* "ChngCntRow" */ - /* 81 */ ts + 1461, /* "ResultRow" */ - /* 82 */ ts + 1471, /* "CollSeq" */ - /* 83 */ ts + 1479, /* "AddImm" */ - /* 84 */ ts + 1486, /* "RealAffinity" */ - /* 85 */ ts + 1499, /* "Cast" */ - /* 86 */ ts + 1504, /* "Permutation" */ - /* 87 */ ts + 1516, /* "Compare" */ - /* 88 */ ts + 1524, /* "IsTrue" */ - /* 89 */ ts + 1531, /* "ZeroOrNull" */ - /* 90 */ ts + 1542, /* "Offset" */ - /* 91 */ ts + 1549, /* "Column" */ - /* 92 */ ts + 1556, /* "Affinity" */ - /* 93 */ ts + 1565, /* "MakeRecord" */ - /* 94 */ ts + 1576, /* "Count" */ - /* 95 */ ts + 1582, /* "ReadCookie" */ - /* 96 */ ts + 1593, /* "SetCookie" */ - /* 97 */ ts + 1603, /* "ReopenIdx" */ - /* 98 */ ts + 1613, /* "OpenRead" */ - /* 99 */ ts + 1622, /* "OpenWrite" */ - /* 100 */ ts + 1632, /* "OpenDup" */ - /* 101 */ ts + 1640, /* "OpenAutoindex" */ - /* 102 */ ts + 1654, /* "BitAnd" */ - /* 103 */ ts + 1661, /* "BitOr" */ - /* 104 */ ts + 1667, /* "ShiftLeft" */ - /* 105 */ ts + 1677, /* "ShiftRight" */ - /* 106 */ ts + 1688, /* "Add" */ - /* 107 */ ts + 1692, /* "Subtract" */ - /* 108 */ ts + 1701, /* "Multiply" */ - /* 109 */ ts + 1710, /* "Divide" */ - /* 110 */ ts + 1717, /* "Remainder" */ - /* 111 */ ts + 1727, /* "Concat" */ - /* 112 */ ts + 1734, /* "OpenEphemeral" */ - /* 113 */ ts + 1748, /* "BitNot" */ - /* 114 */ ts + 1755, /* "SorterOpen" */ - /* 115 */ ts + 1766, /* "SequenceTest" */ - /* 116 */ ts + 1779, /* "String8" */ - /* 117 */ ts + 1787, /* "OpenPseudo" */ - /* 118 */ ts + 1798, /* "Close" */ - /* 119 */ ts + 1804, /* "ColumnsUsed" */ - /* 120 */ ts + 1816, /* "SeekScan" */ - /* 121 */ ts + 1825, /* "SeekHit" */ - /* 122 */ ts + 1833, /* "Sequence" */ - /* 123 */ ts + 1842, /* "NewRowid" */ - /* 124 */ ts + 1851, /* "Insert" */ - /* 125 */ ts + 1858, /* "RowCell" */ - /* 126 */ ts + 1866, /* "Delete" */ - /* 127 */ ts + 1873, /* "ResetCount" */ - /* 128 */ ts + 1884, /* "SorterCompare" */ - /* 129 */ ts + 1898, /* "SorterData" */ - /* 130 */ ts + 1909, /* "RowData" */ - /* 131 */ ts + 1917, /* "Rowid" */ - /* 132 */ ts + 1923, /* "NullRow" */ - /* 133 */ ts + 1931, /* "SeekEnd" */ - /* 134 */ ts + 1939, /* "IdxInsert" */ - /* 135 */ ts + 1949, /* "SorterInsert" */ - /* 136 */ ts + 1962, /* "IdxDelete" */ - /* 137 */ ts + 1972, /* "DeferredSeek" */ - /* 138 */ ts + 1985, /* "IdxRowid" */ - /* 139 */ ts + 1994, /* "FinishSeek" */ - /* 140 */ ts + 2005, /* "Destroy" */ - /* 141 */ ts + 2013, /* "Clear" */ - /* 142 */ ts + 2019, /* "ResetSorter" */ - /* 143 */ ts + 2031, /* "CreateBtree" */ - /* 144 */ ts + 2043, /* "SqlExec" */ - /* 145 */ ts + 2051, /* "ParseSchema" */ - /* 146 */ ts + 2063, /* "LoadAnalysis" */ - /* 147 */ ts + 2076, /* "DropTable" */ - /* 148 */ ts + 2086, /* "DropIndex" */ - /* 149 */ ts + 2096, /* "DropTrigger" */ - /* 150 */ ts + 2108, /* "IntegrityCk" */ - /* 151 */ ts + 2120, /* "RowSetAdd" */ - /* 152 */ ts + 2130, /* "Real" */ - /* 153 */ ts + 2135, /* "Param" */ - /* 154 */ ts + 2141, /* "FkCounter" */ - /* 155 */ ts + 2151, /* "MemMax" */ - /* 156 */ ts + 2158, /* "OffsetLimit" */ - /* 157 */ ts + 2170, /* "AggInverse" */ - /* 158 */ ts + 2181, /* "AggStep" */ - /* 159 */ ts + 2189, /* "AggStep1" */ - /* 160 */ ts + 2198, /* "AggValue" */ - /* 161 */ ts + 2207, /* "AggFinal" */ - /* 162 */ ts + 2216, /* "Expire" */ - /* 163 */ ts + 2223, /* "CursorLock" */ - /* 164 */ ts + 2234, /* "CursorUnlock" */ - /* 165 */ ts + 2247, /* "TableLock" */ - /* 166 */ ts + 2257, /* "VBegin" */ - /* 167 */ ts + 2264, /* "VCreate" */ - /* 168 */ ts + 2272, /* "VDestroy" */ - /* 169 */ ts + 2281, /* "VOpen" */ - /* 170 */ ts + 2287, /* "VColumn" */ - /* 171 */ ts + 2295, /* "VRename" */ - /* 172 */ ts + 2303, /* "Pagecount" */ - /* 173 */ ts + 2313, /* "MaxPgcnt" */ - /* 174 */ ts + 2322, /* "Trace" */ - /* 175 */ ts + 2328, /* "CursorHint" */ - /* 176 */ ts + 2339, /* "ReleaseReg" */ - /* 177 */ ts + 2350, /* "Noop" */ - /* 178 */ ts + 2355, /* "Explain" */ - /* 179 */ ts + 2363, /* "Abortable" */ + /* 0 */ ts + 872, /* "Savepoint" */ + /* 1 */ ts + 882, /* "AutoCommit" */ + /* 2 */ ts + 893, /* "Transaction" */ + /* 3 */ ts + 905, /* "SorterNext" */ + /* 4 */ ts + 916, /* "Prev" */ + /* 5 */ ts + 921, /* "Next" */ + /* 6 */ ts + 926, /* "Checkpoint" */ + /* 7 */ ts + 937, /* "JournalMode" */ + /* 8 */ ts + 949, /* "Vacuum" */ + /* 9 */ ts + 956, /* "VFilter" */ + /* 10 */ ts + 964, /* "VUpdate" */ + /* 11 */ ts + 972, /* "Goto" */ + /* 12 */ ts + 977, /* "Gosub" */ + /* 13 */ ts + 983, /* "InitCoroutine" */ + /* 14 */ ts + 997, /* "Yield" */ + /* 15 */ ts + 1003, /* "MustBeInt" */ + /* 16 */ ts + 1013, /* "Jump" */ + /* 17 */ ts + 1018, /* "Once" */ + /* 18 */ ts + 1023, /* "If" */ + /* 19 */ ts + 1026, /* "Not" */ + /* 20 */ ts + 1030, /* "IfNot" */ + /* 21 */ ts + 1036, /* "IfNullRow" */ + /* 22 */ ts + 1046, /* "SeekLT" */ + /* 23 */ ts + 1053, /* "SeekLE" */ + /* 24 */ ts + 1060, /* "SeekGE" */ + /* 25 */ ts + 1067, /* "SeekGT" */ + /* 26 */ ts + 1074, /* "IfNotOpen" */ + /* 27 */ ts + 1084, /* "IfNoHope" */ + /* 28 */ ts + 1093, /* "NoConflict" */ + /* 29 */ ts + 1104, /* "NotFound" */ + /* 30 */ ts + 1113, /* "Found" */ + /* 31 */ ts + 1119, /* "SeekRowid" */ + /* 32 */ ts + 1129, /* "NotExists" */ + /* 33 */ ts + 1139, /* "Last" */ + /* 34 */ ts + 1144, /* "IfSmaller" */ + /* 35 */ ts + 1154, /* "SorterSort" */ + /* 36 */ ts + 1165, /* "Sort" */ + /* 37 */ ts + 1170, /* "Rewind" */ + /* 38 */ ts + 1177, /* "IdxLE" */ + /* 39 */ ts + 1183, /* "IdxGT" */ + /* 40 */ ts + 1189, /* "IdxLT" */ + /* 41 */ ts + 1195, /* "IdxGE" */ + /* 42 */ ts + 1201, /* "RowSetRead" */ + /* 43 */ ts + 1212, /* "Or" */ + /* 44 */ ts + 1215, /* "And" */ + /* 45 */ ts + 1219, /* "RowSetTest" */ + /* 46 */ ts + 1230, /* "Program" */ + /* 47 */ ts + 1238, /* "FkIfZero" */ + /* 48 */ ts + 1247, /* "IfPos" */ + /* 49 */ ts + 1253, /* "IfNotZero" */ + /* 50 */ ts + 1263, /* "IsNull" */ + /* 51 */ ts + 1270, /* "NotNull" */ + /* 52 */ ts + 1278, /* "Ne" */ + /* 53 */ ts + 1281, /* "Eq" */ + /* 54 */ ts + 1284, /* "Gt" */ + /* 55 */ ts + 1287, /* "Le" */ + /* 56 */ ts + 1290, /* "Lt" */ + /* 57 */ ts + 1293, /* "Ge" */ + /* 58 */ ts + 1296, /* "ElseEq" */ + /* 59 */ ts + 1303, /* "DecrJumpZero" */ + /* 60 */ ts + 1316, /* "IncrVacuum" */ + /* 61 */ ts + 1327, /* "VNext" */ + /* 62 */ ts + 1333, /* "Init" */ + /* 63 */ ts + 1338, /* "PureFunc" */ + /* 64 */ ts + 1347, /* "Function" */ + /* 65 */ ts + 1356, /* "Return" */ + /* 66 */ ts + 1363, /* "EndCoroutine" */ + /* 67 */ ts + 1376, /* "HaltIfNull" */ + /* 68 */ ts + 1387, /* "Halt" */ + /* 69 */ ts + 1392, /* "Integer" */ + /* 70 */ ts + 1400, /* "Int64" */ + /* 71 */ ts + 1406, /* "String" */ + /* 72 */ ts + 1413, /* "Null" */ + /* 73 */ ts + 1418, /* "SoftNull" */ + /* 74 */ ts + 1427, /* "Blob" */ + /* 75 */ ts + 1432, /* "Variable" */ + /* 76 */ ts + 1441, /* "Move" */ + /* 77 */ ts + 1446, /* "Copy" */ + /* 78 */ ts + 1451, /* "SCopy" */ + /* 79 */ ts + 1457, /* "IntCopy" */ + /* 80 */ ts + 1465, /* "ChngCntRow" */ + /* 81 */ ts + 1476, /* "ResultRow" */ + /* 82 */ ts + 1486, /* "CollSeq" */ + /* 83 */ ts + 1494, /* "AddImm" */ + /* 84 */ ts + 1501, /* "RealAffinity" */ + /* 85 */ ts + 1514, /* "Cast" */ + /* 86 */ ts + 1519, /* "Permutation" */ + /* 87 */ ts + 1531, /* "Compare" */ + /* 88 */ ts + 1539, /* "IsTrue" */ + /* 89 */ ts + 1546, /* "ZeroOrNull" */ + /* 90 */ ts + 1557, /* "Offset" */ + /* 91 */ ts + 1564, /* "Column" */ + /* 92 */ ts + 1571, /* "Affinity" */ + /* 93 */ ts + 1580, /* "MakeRecord" */ + /* 94 */ ts + 1591, /* "Count" */ + /* 95 */ ts + 1597, /* "ReadCookie" */ + /* 96 */ ts + 1608, /* "SetCookie" */ + /* 97 */ ts + 1618, /* "ReopenIdx" */ + /* 98 */ ts + 1628, /* "OpenRead" */ + /* 99 */ ts + 1637, /* "OpenWrite" */ + /* 100 */ ts + 1647, /* "OpenDup" */ + /* 101 */ ts + 1655, /* "OpenAutoindex" */ + /* 102 */ ts + 1669, /* "BitAnd" */ + /* 103 */ ts + 1676, /* "BitOr" */ + /* 104 */ ts + 1682, /* "ShiftLeft" */ + /* 105 */ ts + 1692, /* "ShiftRight" */ + /* 106 */ ts + 1703, /* "Add" */ + /* 107 */ ts + 1707, /* "Subtract" */ + /* 108 */ ts + 1716, /* "Multiply" */ + /* 109 */ ts + 1725, /* "Divide" */ + /* 110 */ ts + 1732, /* "Remainder" */ + /* 111 */ ts + 1742, /* "Concat" */ + /* 112 */ ts + 1749, /* "OpenEphemeral" */ + /* 113 */ ts + 1763, /* "BitNot" */ + /* 114 */ ts + 1770, /* "SorterOpen" */ + /* 115 */ ts + 1781, /* "SequenceTest" */ + /* 116 */ ts + 1794, /* "String8" */ + /* 117 */ ts + 1802, /* "OpenPseudo" */ + /* 118 */ ts + 1813, /* "Close" */ + /* 119 */ ts + 1819, /* "ColumnsUsed" */ + /* 120 */ ts + 1831, /* "SeekScan" */ + /* 121 */ ts + 1840, /* "SeekHit" */ + /* 122 */ ts + 1848, /* "Sequence" */ + /* 123 */ ts + 1857, /* "NewRowid" */ + /* 124 */ ts + 1866, /* "Insert" */ + /* 125 */ ts + 1873, /* "RowCell" */ + /* 126 */ ts + 1881, /* "Delete" */ + /* 127 */ ts + 1888, /* "ResetCount" */ + /* 128 */ ts + 1899, /* "SorterCompare" */ + /* 129 */ ts + 1913, /* "SorterData" */ + /* 130 */ ts + 1924, /* "RowData" */ + /* 131 */ ts + 1932, /* "Rowid" */ + /* 132 */ ts + 1938, /* "NullRow" */ + /* 133 */ ts + 1946, /* "SeekEnd" */ + /* 134 */ ts + 1954, /* "IdxInsert" */ + /* 135 */ ts + 1964, /* "SorterInsert" */ + /* 136 */ ts + 1977, /* "IdxDelete" */ + /* 137 */ ts + 1987, /* "DeferredSeek" */ + /* 138 */ ts + 2000, /* "IdxRowid" */ + /* 139 */ ts + 2009, /* "FinishSeek" */ + /* 140 */ ts + 2020, /* "Destroy" */ + /* 141 */ ts + 2028, /* "Clear" */ + /* 142 */ ts + 2034, /* "ResetSorter" */ + /* 143 */ ts + 2046, /* "CreateBtree" */ + /* 144 */ ts + 2058, /* "SqlExec" */ + /* 145 */ ts + 2066, /* "ParseSchema" */ + /* 146 */ ts + 2078, /* "LoadAnalysis" */ + /* 147 */ ts + 2091, /* "DropTable" */ + /* 148 */ ts + 2101, /* "DropIndex" */ + /* 149 */ ts + 2111, /* "DropTrigger" */ + /* 150 */ ts + 2123, /* "IntegrityCk" */ + /* 151 */ ts + 2135, /* "RowSetAdd" */ + /* 152 */ ts + 2145, /* "Real" */ + /* 153 */ ts + 2150, /* "Param" */ + /* 154 */ ts + 2156, /* "FkCounter" */ + /* 155 */ ts + 2166, /* "MemMax" */ + /* 156 */ ts + 2173, /* "OffsetLimit" */ + /* 157 */ ts + 2185, /* "AggInverse" */ + /* 158 */ ts + 2196, /* "AggStep" */ + /* 159 */ ts + 2204, /* "AggStep1" */ + /* 160 */ ts + 2213, /* "AggValue" */ + /* 161 */ ts + 2222, /* "AggFinal" */ + /* 162 */ ts + 2231, /* "Expire" */ + /* 163 */ ts + 2238, /* "CursorLock" */ + /* 164 */ ts + 2249, /* "CursorUnlock" */ + /* 165 */ ts + 2262, /* "TableLock" */ + /* 166 */ ts + 2272, /* "VBegin" */ + /* 167 */ ts + 2279, /* "VCreate" */ + /* 168 */ ts + 2287, /* "VDestroy" */ + /* 169 */ ts + 2296, /* "VOpen" */ + /* 170 */ ts + 2302, /* "VColumn" */ + /* 171 */ ts + 2310, /* "VRename" */ + /* 172 */ ts + 2318, /* "Pagecount" */ + /* 173 */ ts + 2328, /* "MaxPgcnt" */ + /* 174 */ ts + 2337, /* "Trace" */ + /* 175 */ ts + 2343, /* "CursorHint" */ + /* 176 */ ts + 2354, /* "ReleaseReg" */ + /* 177 */ ts + 2365, /* "Noop" */ + /* 178 */ ts + 2370, /* "Explain" */ + /* 179 */ ts + 2378, /* "Abortable" */ } /* sqlite3.c:33673:20 */ //************* End of opcodes.c ******************************************** @@ -68235,170 +68741,170 @@ type win_syscall = struct { // testing and sandboxing. The following array holds the names and pointers // to all overrideable system calls. var aSyscall = [80]win_syscall{ - {FzName: ts + 2373 /* "AreFileApisANSI" */, FpCurrent: 0}, + {FzName: ts + 2388 /* "AreFileApisANSI" */, FpCurrent: 0}, - {FzName: ts + 2389 /* "CharLowerW" */}, + {FzName: ts + 2404 /* "CharLowerW" */}, - {FzName: ts + 2400 /* "CharUpperW" */}, + {FzName: ts + 2415 /* "CharUpperW" */}, - {FzName: ts + 2411 /* "CloseHandle" */, FpCurrent: 0}, + {FzName: ts + 2426 /* "CloseHandle" */, FpCurrent: 0}, - {FzName: ts + 2423 /* "CreateFileA" */, FpCurrent: 0}, + {FzName: ts + 2438 /* "CreateFileA" */, FpCurrent: 0}, - {FzName: ts + 2435 /* "CreateFileW" */, FpCurrent: 0}, + {FzName: ts + 2450 /* "CreateFileW" */, FpCurrent: 0}, - {FzName: ts + 2447 /* "CreateFileMappin..." */, FpCurrent: 0}, + {FzName: ts + 2462 /* "CreateFileMappin..." */, FpCurrent: 0}, - {FzName: ts + 2466 /* "CreateFileMappin..." */, FpCurrent: 0}, + {FzName: ts + 2481 /* "CreateFileMappin..." */, FpCurrent: 0}, - {FzName: ts + 2485 /* "CreateMutexW" */, FpCurrent: 0}, + {FzName: ts + 2500 /* "CreateMutexW" */, FpCurrent: 0}, - {FzName: ts + 2498 /* "DeleteFileA" */, FpCurrent: 0}, + {FzName: ts + 2513 /* "DeleteFileA" */, FpCurrent: 0}, - {FzName: ts + 2510 /* "DeleteFileW" */, FpCurrent: 0}, + {FzName: ts + 2525 /* "DeleteFileW" */, FpCurrent: 0}, - {FzName: ts + 2522 /* "FileTimeToLocalF..." */}, + {FzName: ts + 2537 /* "FileTimeToLocalF..." */}, - {FzName: ts + 2546 /* "FileTimeToSystem..." */}, + {FzName: ts + 2561 /* "FileTimeToSystem..." */}, - {FzName: ts + 2567 /* "FlushFileBuffers" */, FpCurrent: 0}, + {FzName: ts + 2582 /* "FlushFileBuffers" */, FpCurrent: 0}, - {FzName: ts + 2584 /* "FormatMessageA" */, FpCurrent: 0}, + {FzName: ts + 2599 /* "FormatMessageA" */, FpCurrent: 0}, - {FzName: ts + 2599 /* "FormatMessageW" */, FpCurrent: 0}, + {FzName: ts + 2614 /* "FormatMessageW" */, FpCurrent: 0}, - {FzName: ts + 2614 /* "FreeLibrary" */, FpCurrent: 0}, + {FzName: ts + 2629 /* "FreeLibrary" */, FpCurrent: 0}, - {FzName: ts + 2626 /* "GetCurrentProces..." */, FpCurrent: 0}, + {FzName: ts + 2641 /* "GetCurrentProces..." */, FpCurrent: 0}, - {FzName: ts + 2646 /* "GetDiskFreeSpace..." */, FpCurrent: 0}, + {FzName: ts + 2661 /* "GetDiskFreeSpace..." */, FpCurrent: 0}, - {FzName: ts + 2664 /* "GetDiskFreeSpace..." */, FpCurrent: 0}, + {FzName: ts + 2679 /* "GetDiskFreeSpace..." */, FpCurrent: 0}, - {FzName: ts + 2682 /* "GetFileAttribute..." */, FpCurrent: 0}, + {FzName: ts + 2697 /* "GetFileAttribute..." */, FpCurrent: 0}, - {FzName: ts + 2701 /* "GetFileAttribute..." */, FpCurrent: 0}, + {FzName: ts + 2716 /* "GetFileAttribute..." */, FpCurrent: 0}, - {FzName: ts + 2720 /* "GetFileAttribute..." */, FpCurrent: 0}, + {FzName: ts + 2735 /* "GetFileAttribute..." */, FpCurrent: 0}, - {FzName: ts + 2741 /* "GetFileSize" */, FpCurrent: 0}, + {FzName: ts + 2756 /* "GetFileSize" */, FpCurrent: 0}, - {FzName: ts + 2753 /* "GetFullPathNameA" */, FpCurrent: 0}, + {FzName: ts + 2768 /* "GetFullPathNameA" */, FpCurrent: 0}, - {FzName: ts + 2770 /* "GetFullPathNameW" */, FpCurrent: 0}, + {FzName: ts + 2785 /* "GetFullPathNameW" */, FpCurrent: 0}, - {FzName: ts + 2787 /* "GetLastError" */, FpCurrent: 0}, + {FzName: ts + 2802 /* "GetLastError" */, FpCurrent: 0}, // All other Windows platforms expect GetProcAddress() to take // an ANSI string regardless of the _UNICODE setting - {FzName: ts + 2800 /* "GetProcAddressA" */, FpCurrent: 0}, + {FzName: ts + 2815 /* "GetProcAddressA" */, FpCurrent: 0}, - {FzName: ts + 2816 /* "GetSystemInfo" */, FpCurrent: 0}, + {FzName: ts + 2831 /* "GetSystemInfo" */, FpCurrent: 0}, - {FzName: ts + 2830 /* "GetSystemTime" */, FpCurrent: 0}, + {FzName: ts + 2845 /* "GetSystemTime" */, FpCurrent: 0}, - {FzName: ts + 2844 /* "GetSystemTimeAsF..." */, FpCurrent: 0}, + {FzName: ts + 2859 /* "GetSystemTimeAsF..." */, FpCurrent: 0}, - {FzName: ts + 2868 /* "GetTempPathA" */, FpCurrent: 0}, + {FzName: ts + 2883 /* "GetTempPathA" */, FpCurrent: 0}, - {FzName: ts + 2881 /* "GetTempPathW" */, FpCurrent: 0}, + {FzName: ts + 2896 /* "GetTempPathW" */, FpCurrent: 0}, - {FzName: ts + 2894 /* "GetTickCount" */, FpCurrent: 0}, + {FzName: ts + 2909 /* "GetTickCount" */, FpCurrent: 0}, - {FzName: ts + 2907 /* "GetVersionExA" */, FpCurrent: 0}, + {FzName: ts + 2922 /* "GetVersionExA" */, FpCurrent: 0}, - {FzName: ts + 2921 /* "GetVersionExW" */, FpCurrent: 0}, + {FzName: ts + 2936 /* "GetVersionExW" */, FpCurrent: 0}, - {FzName: ts + 2935 /* "HeapAlloc" */, FpCurrent: 0}, + {FzName: ts + 2950 /* "HeapAlloc" */, FpCurrent: 0}, - {FzName: ts + 2945 /* "HeapCreate" */, FpCurrent: 0}, + {FzName: ts + 2960 /* "HeapCreate" */, FpCurrent: 0}, - {FzName: ts + 2956 /* "HeapDestroy" */, FpCurrent: 0}, + {FzName: ts + 2971 /* "HeapDestroy" */, FpCurrent: 0}, - {FzName: ts + 2968 /* "HeapFree" */, FpCurrent: 0}, + {FzName: ts + 2983 /* "HeapFree" */, FpCurrent: 0}, - {FzName: ts + 2977 /* "HeapReAlloc" */, FpCurrent: 0}, + {FzName: ts + 2992 /* "HeapReAlloc" */, FpCurrent: 0}, - {FzName: ts + 2989 /* "HeapSize" */, FpCurrent: 0}, + {FzName: ts + 3004 /* "HeapSize" */, FpCurrent: 0}, - {FzName: ts + 2998 /* "HeapValidate" */, FpCurrent: 0}, + {FzName: ts + 3013 /* "HeapValidate" */, FpCurrent: 0}, - {FzName: ts + 3011 /* "HeapCompact" */, FpCurrent: 0}, + {FzName: ts + 3026 /* "HeapCompact" */, FpCurrent: 0}, - {FzName: ts + 3023 /* "LoadLibraryA" */, FpCurrent: 0}, + {FzName: ts + 3038 /* "LoadLibraryA" */, FpCurrent: 0}, - {FzName: ts + 3036 /* "LoadLibraryW" */, FpCurrent: 0}, + {FzName: ts + 3051 /* "LoadLibraryW" */, FpCurrent: 0}, - {FzName: ts + 3049 /* "LocalFree" */, FpCurrent: 0}, + {FzName: ts + 3064 /* "LocalFree" */, FpCurrent: 0}, - {FzName: ts + 3059 /* "LockFile" */, FpCurrent: 0}, + {FzName: ts + 3074 /* "LockFile" */, FpCurrent: 0}, - {FzName: ts + 3068 /* "LockFileEx" */, FpCurrent: 0}, + {FzName: ts + 3083 /* "LockFileEx" */, FpCurrent: 0}, - {FzName: ts + 3079 /* "MapViewOfFile" */, FpCurrent: 0}, + {FzName: ts + 3094 /* "MapViewOfFile" */, FpCurrent: 0}, - {FzName: ts + 3093 /* "MultiByteToWideC..." */, FpCurrent: 0}, + {FzName: ts + 3108 /* "MultiByteToWideC..." */, FpCurrent: 0}, - {FzName: ts + 3113 /* "QueryPerformance..." */, FpCurrent: 0}, + {FzName: ts + 3128 /* "QueryPerformance..." */, FpCurrent: 0}, - {FzName: ts + 3137 /* "ReadFile" */, FpCurrent: 0}, + {FzName: ts + 3152 /* "ReadFile" */, FpCurrent: 0}, - {FzName: ts + 3146 /* "SetEndOfFile" */, FpCurrent: 0}, + {FzName: ts + 3161 /* "SetEndOfFile" */, FpCurrent: 0}, - {FzName: ts + 3159 /* "SetFilePointer" */, FpCurrent: 0}, + {FzName: ts + 3174 /* "SetFilePointer" */, FpCurrent: 0}, - {FzName: ts + 3174 /* "Sleep" */, FpCurrent: 0}, + {FzName: ts + 3189 /* "Sleep" */, FpCurrent: 0}, - {FzName: ts + 3180 /* "SystemTimeToFile..." */, FpCurrent: 0}, + {FzName: ts + 3195 /* "SystemTimeToFile..." */, FpCurrent: 0}, - {FzName: ts + 3201 /* "UnlockFile" */, FpCurrent: 0}, + {FzName: ts + 3216 /* "UnlockFile" */, FpCurrent: 0}, - {FzName: ts + 3212 /* "UnlockFileEx" */, FpCurrent: 0}, + {FzName: ts + 3227 /* "UnlockFileEx" */, FpCurrent: 0}, - {FzName: ts + 3225 /* "UnmapViewOfFile" */, FpCurrent: 0}, + {FzName: ts + 3240 /* "UnmapViewOfFile" */, FpCurrent: 0}, - {FzName: ts + 3241 /* "WideCharToMultiB..." */, FpCurrent: 0}, + {FzName: ts + 3256 /* "WideCharToMultiB..." */, FpCurrent: 0}, - {FzName: ts + 3261 /* "WriteFile" */, FpCurrent: 0}, + {FzName: ts + 3276 /* "WriteFile" */, FpCurrent: 0}, - {FzName: ts + 3271 /* "CreateEventExW" */}, + {FzName: ts + 3286 /* "CreateEventExW" */}, - {FzName: ts + 3286 /* "WaitForSingleObj..." */, FpCurrent: 0}, + {FzName: ts + 3301 /* "WaitForSingleObj..." */, FpCurrent: 0}, - {FzName: ts + 3306 /* "WaitForSingleObj..." */, FpCurrent: 0}, + {FzName: ts + 3321 /* "WaitForSingleObj..." */, FpCurrent: 0}, - {FzName: ts + 3328 /* "SetFilePointerEx" */}, + {FzName: ts + 3343 /* "SetFilePointerEx" */}, - {FzName: ts + 3345 /* "GetFileInformati..." */}, + {FzName: ts + 3360 /* "GetFileInformati..." */}, - {FzName: ts + 3374 /* "MapViewOfFileFro..." */}, + {FzName: ts + 3389 /* "MapViewOfFileFro..." */}, - {FzName: ts + 3395 /* "CreateFile2" */}, + {FzName: ts + 3410 /* "CreateFile2" */}, - {FzName: ts + 3407 /* "LoadPackagedLibr..." */}, + {FzName: ts + 3422 /* "LoadPackagedLibr..." */}, - {FzName: ts + 3427 /* "GetTickCount64" */}, + {FzName: ts + 3442 /* "GetTickCount64" */}, - {FzName: ts + 3442 /* "GetNativeSystemI..." */}, + {FzName: ts + 3457 /* "GetNativeSystemI..." */}, - {FzName: ts + 3462 /* "OutputDebugStrin..." */, FpCurrent: 0}, + {FzName: ts + 3477 /* "OutputDebugStrin..." */, FpCurrent: 0}, - {FzName: ts + 3481 /* "OutputDebugStrin..." */, FpCurrent: 0}, + {FzName: ts + 3496 /* "OutputDebugStrin..." */, FpCurrent: 0}, - {FzName: ts + 3500 /* "GetProcessHeap" */, FpCurrent: 0}, + {FzName: ts + 3515 /* "GetProcessHeap" */, FpCurrent: 0}, - {FzName: ts + 3515 /* "CreateFileMappin..." */}, + {FzName: ts + 3530 /* "CreateFileMappin..." */}, // NOTE: On some sub-platforms, the InterlockedCompareExchange "function" // is really just a macro that uses a compiler intrinsic (e.g. x64). // So do not try to make this is into a redefinable interface. - {FzName: ts + 3540 /* "InterlockedCompa..." */}, + {FzName: ts + 3555 /* "InterlockedCompa..." */}, - {FzName: ts + 3567 /* "UuidCreate" */}, + {FzName: ts + 3582 /* "UuidCreate" */}, - {FzName: ts + 3578 /* "UuidCreateSequen..." */}, + {FzName: ts + 3593 /* "UuidCreateSequen..." */}, - {FzName: ts + 3599 /* "FlushViewOfFile" */, FpCurrent: 0}, + {FzName: ts + 3614 /* "FlushViewOfFile" */, FpCurrent: 0}, } /* sqlite3.c:42872:3 */ // End of the overrideable system calls @@ -68765,7 +69271,7 @@ func Xsqlite3_win32_set_directory8(tls *libc.TLS, type1 uint32, zValue uintptr) if ppDirectory != 0 { var zCopy uintptr = uintptr(0) if (zValue != 0) && (*(*int8)(unsafe.Pointer(zValue)) != 0) { - zCopy = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp, zValue)) + zCopy = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, zValue)) if zCopy == uintptr(0) { return SQLITE_NOMEM } @@ -68853,10 +69359,10 @@ func winGetLastErrorMsg(tls *libc.TLS, lastErrno DWORD, nBuf int32, zBuf uintptr } } if DWORD(0) == dwLen { - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+3618 /* "OsError 0x%lx (%..." */, libc.VaList(bp, lastErrno, lastErrno)) + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+3633 /* "OsError 0x%lx (%..." */, libc.VaList(bp, lastErrno, lastErrno)) } else { // copy a maximum of nBuf chars to output buffer - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+3615 /* "%s" */, libc.VaList(bp+24, zOut)) + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+3630 /* "%s" */, libc.VaList(bp+24, zOut)) // free the UTF8 buffer Xsqlite3_free(tls, zOut) } @@ -68888,13 +69394,13 @@ func winLogErrorAtLine(tls *libc.TLS, errcode int32, lastErrno DWORD, zFunc uint winGetLastErrorMsg(tls, lastErrno, int32(unsafe.Sizeof([500]int8{})), bp+48 /* &zMsg[0] */) if zPath == uintptr(0) { - zPath = ts + 740 /* "" */ + zPath = ts + 755 /* "" */ } for i = 0; ((*(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i))) != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i)))) != '\r')) && (int32(*(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i)))) != '\n'); i++ { } *(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i))) = int8(0) Xsqlite3_log(tls, errcode, - ts+3638, /* "os_win.c:%d: (%l..." */ + ts+3653, /* "os_win.c:%d: (%l..." */ libc.VaList(bp, iLine, lastErrno, zFunc, zPath, bp+48 /* &zMsg[0] */)) return errcode @@ -68951,7 +69457,7 @@ func winLogIoerr(tls *libc.TLS, nRetry int32, lineno int32) { /* sqlite3.c:44540 if nRetry != 0 { Xsqlite3_log(tls, SQLITE_NOTICE, - ts+3669, /* "delayed %dms for..." */ + ts+3684, /* "delayed %dms for..." */ libc.VaList(bp, (((winIoerrRetryDelay*nRetry)*(nRetry+1))/2), lineno)) } } @@ -69032,7 +69538,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 /* &.pCurrent */))))(tls))) != DWORD(0)) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno - winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(22) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3719 /* "winSeekFile" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 44971) + winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(22) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3734 /* "winSeekFile" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 44971) return 1 } @@ -69066,7 +69572,7 @@ func winClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:45020:12: */ 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 /* &.pCurrent */))))(tls), ts+3731 /* "winClose" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45067) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+3746 /* "winClose" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45067) } // Read data from a file into a buffer. Return SQLITE_OK if all @@ -69110,7 +69616,7 @@ func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_ } (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 40 /* lastErrno */)) - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(1) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3740 /* "winRead" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45135) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(1) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3755 /* "winRead" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45135) } winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36 /* nRetry */)), 45138) if *(*DWORD)(unsafe.Pointer(bp + 32 /* nRead */)) < DWORD(amt) { @@ -69175,10 +69681,10 @@ func winWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3 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+3748 /* "winWrite1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45247) + return winLogErrorAtLine(tls, SQLITE_FULL, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3763 /* "winWrite1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45247) } - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(3) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3758 /* "winWrite2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45252) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(3) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3773 /* "winWrite2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45252) } else { winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36 /* nRetry */)), 45255) } @@ -69229,10 +69735,10 @@ func winTruncate(tls *libc.TLS, id uintptr, nByte Sqlite3_int64) int32 { /* sqli // SetEndOfFile() returns non-zero when successful, or zero when it fails. if winSeekFile(tls, pFile, nByte) != 0 { - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3768 /* "winTruncate1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45318) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3783 /* "winTruncate1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45318) } else if (0 == (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 53*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh)) && ((libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls))) != DWORD(1224)) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3781 /* "winTruncate2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45323) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3796 /* "winTruncate2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45323) } if (rc == SQLITE_OK) && (oldMmapSize > int64(0)) { @@ -69269,7 +69775,7 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:45354: } else { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3794 /* "winSync1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45415) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3809 /* "winSync1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45415) } } rc = (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 13*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh) @@ -69280,7 +69786,7 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:45354: } else { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3803 /* "winSync2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45430) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3818 /* "winSync2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45430) } return int32(0) } @@ -69304,7 +69810,7 @@ func winFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c: if (lowerBits == (0xffffffff)) && ((libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls))) != DWORD(0)) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(7) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3812 /* "winFileSize" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45471) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(7) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3827 /* "winFileSize" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45471) } } @@ -69363,7 +69869,7 @@ func winUnlockReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:45552: } if (res == 0) && ((libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls))) != DWORD(158)) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno - winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(8) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3824 /* "winUnlockReadLoc..." */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45566) + winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(8) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3839 /* "winUnlockReadLoc..." */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45566) } return res @@ -69553,7 +70059,7 @@ func winUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:4 if (locktype == SHARED_LOCK) && !(winGetReadLock(tls, pFile) != 0) { // This should never happen. We should always be able to // reacquire the read lock - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(8) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+3842 /* "winUnlock" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45792) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(8) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+3857 /* "winUnlock" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45792) } } if type1 >= RESERVED_LOCK { @@ -69689,7 +70195,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / } case SQLITE_FCNTL_VFSNAME: { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*WinFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*WinFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) return SQLITE_OK @@ -69936,7 +70442,7 @@ func winLockSharedMemory(tls *libc.TLS, pShmNode uintptr) int32 { /* sqlite3.c:4 return (SQLITE_READONLY | (int32(5) << 8)) } else if winTruncate(tls, (pShmNode+16 /* &.hFile */), 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 /* &.pCurrent */))))(tls), ts+3852 /* "winLockSharedMem..." */, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 46258) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+3867 /* "winLockSharedMem..." */, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 46258) } } @@ -69987,7 +70493,7 @@ __1: __2: ; (*WinShmNode)(unsafe.Pointer(pNew)).FzFilename = (pNew + 1*160) - Xsqlite3_snprintf(tls, (nName + 15), (*WinShmNode)(unsafe.Pointer(pNew)).FzFilename, ts+3872 /* "%s-shm" */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath)) + Xsqlite3_snprintf(tls, (nName + 15), (*WinShmNode)(unsafe.Pointer(pNew)).FzFilename, ts+3887 /* "%s-shm" */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath)) // Look to see if there is an existing winShmNode that can be used. // If no matching winShmNode currently exists, create a new one. @@ -70041,7 +70547,7 @@ __10: __9: ; - if !(0 == Xsqlite3_uri_boolean(tls, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, ts+3879 /* "readonly_shm" */, 0)) { + if !(0 == Xsqlite3_uri_boolean(tls, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, ts+3894 /* "readonly_shm" */, 0)) { goto __11 } inFlags = inFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) @@ -70056,7 +70562,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 /* &.pCurrent */))))(tls), ts+3892 /* "winOpenShm" */, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 46340) + rc = winLogErrorAtLine(tls, rc, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+3907 /* "winOpenShm" */, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 46340) goto shm_open_err __13: ; @@ -70333,7 +70839,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 /* &.pCurrent */))))(tls), ts+3903 /* "winShmMap1" */, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 46607) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+3918 /* "winShmMap1" */, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 46607) goto shmpage_out __6: ; @@ -70356,7 +70862,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 /* &.pCurrent */))))(tls), ts+3914 /* "winShmMap2" */, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 46622) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+3929 /* "winShmMap2" */, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 46622) goto shmpage_out __9: ; @@ -70407,7 +70913,7 @@ __14: goto __15 } (*WinShmNode)(unsafe.Pointer(pShmNode)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), (*WinShmNode)(unsafe.Pointer(pShmNode)).FlastErrno, ts+3925 /* "winShmMap3" */, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 46681) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), (*WinShmNode)(unsafe.Pointer(pShmNode)).FlastErrno, ts+3940 /* "winShmMap3" */, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 46681) if !(hMap != 0) { goto __16 } @@ -70457,7 +70963,7 @@ func winUnmapfile(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46718:12: * if !((*(*func(*libc.TLS, LPCVOID) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 59*24 + 8 /* &.pCurrent */))))(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 /* &.pCurrent */))))(tls) - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3936 /* "winUnmapfile1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46730) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3951 /* "winUnmapfile1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46730) } (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion = uintptr(0) (*WinFile)(unsafe.Pointer(pFile)).FmmapSize = int64(0) @@ -70466,7 +70972,7 @@ func winUnmapfile(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46718:12: * if !((*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(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 /* &.pCurrent */))))(tls) - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3950 /* "winUnmapfile2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46741) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+3965 /* "winUnmapfile2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46741) } (*WinFile)(unsafe.Pointer(pFile)).FhMap = uintptr(0) } @@ -70525,7 +71031,7 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 { /* sqli (DWORD(*(*Sqlite3_int64)(unsafe.Pointer(bp /* nMap */)) & 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 /* &.pCurrent */))))(tls) - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+3964 /* "winMapfile1" */, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 46818) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+3979 /* "winMapfile1" */, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 46818) // Log the error, but continue normal operation using xRead/xWrite return SQLITE_OK @@ -70536,7 +71042,7 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 { /* sqli (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(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 /* &.pCurrent */))))(tls) - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+3976 /* "winMapfile2" */, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 46836) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+3991 /* "winMapfile2" */, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 46836) // Log the error, but continue normal operation using xRead/xWrite return SQLITE_OK @@ -70722,7 +71228,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit var i Size_t var j Size_t - var nPre int32 = Xsqlite3Strlen30(tls, ts+3988 /* "etilqs_" */) + var nPre int32 = Xsqlite3Strlen30(tls, ts+4003 /* "etilqs_" */) var nMax int32 var nBuf int32 var nDir int32 @@ -70757,9 +71263,9 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit if nDirLen > nDir { Xsqlite3_free(tls, zBuf) - return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+3996 /* "winGetTempname1" */, uintptr(0), 47124) + return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4011 /* "winGetTempname1" */, uintptr(0), 47124) } - Xsqlite3_snprintf(tls, nMax, zBuf, ts+3615 /* "%s" */, libc.VaList(bp, Xsqlite3_temp_directory)) + Xsqlite3_snprintf(tls, nMax, zBuf, ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_temp_directory)) } } else if (sqlite3_os_type == 2) || (Xsqlite3_win32_is_nt(tls) != 0) { var zMulti uintptr @@ -70773,11 +71279,11 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit 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 /* &.pCurrent */))))(tls), ts+4012 /* "winGetTempname2" */, uintptr(0), 47222) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(25) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+4027 /* "winGetTempname2" */, uintptr(0), 47222) } zMulti = winUnicodeToUtf8(tls, zWidePath) if zMulti != 0 { - Xsqlite3_snprintf(tls, nMax, zBuf, ts+3615 /* "%s" */, libc.VaList(bp+16, zMulti)) + Xsqlite3_snprintf(tls, nMax, zBuf, ts+3630 /* "%s" */, libc.VaList(bp+16, zMulti)) Xsqlite3_free(tls, zMulti) Xsqlite3_free(tls, zWidePath) } else { @@ -70797,11 +71303,11 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit if (*(*func(*libc.TLS, DWORD, LPSTR) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 31*24 + 8 /* &.pCurrent */))))(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 /* &.pCurrent */))))(tls), ts+4028 /* "winGetTempname3" */, uintptr(0), 47249) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(25) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+4043 /* "winGetTempname3" */, uintptr(0), 47249) } zUtf8 = winMbcsToUtf8(tls, zMbcsPath, (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls)) if zUtf8 != 0 { - Xsqlite3_snprintf(tls, nMax, zBuf, ts+3615 /* "%s" */, libc.VaList(bp+32, zUtf8)) + Xsqlite3_snprintf(tls, nMax, zBuf, ts+3630 /* "%s" */, libc.VaList(bp+32, zUtf8)) Xsqlite3_free(tls, zUtf8) } else { Xsqlite3_free(tls, zBuf) @@ -70816,7 +71322,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit if !(winMakeEndInDirSep(tls, (nDir+1), zBuf) != 0) { Xsqlite3_free(tls, zBuf) - return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4044 /* "winGetTempname4" */, uintptr(0), 47273) + return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4059 /* "winGetTempname4" */, uintptr(0), 47273) } // Check that the output buffer is large enough for the temporary file @@ -70832,10 +71338,10 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit if ((nLen + nPre) + 17) > nBuf { Xsqlite3_free(tls, zBuf) - return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4060 /* "winGetTempname5" */, uintptr(0), 47291) + return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4075 /* "winGetTempname5" */, uintptr(0), 47291) } - Xsqlite3_snprintf(tls, ((nBuf - 16) - nLen), (zBuf + uintptr(nLen)), ts+3988 /* "etilqs_" */, 0) + Xsqlite3_snprintf(tls, ((nBuf - 16) - nLen), (zBuf + uintptr(nLen)), ts+4003 /* "etilqs_" */, 0) j = Size_t(Xsqlite3Strlen30(tls, zBuf)) Xsqlite3_randomness(tls, 15, (zBuf + uintptr(j))) @@ -70863,7 +71369,7 @@ __3: return SQLITE_OK } -var zChars = *(*[63]int8)(unsafe.Pointer(ts + 4076 /* "abcdefghijklmnop..." */)) /* sqlite3.c:47084:15 */ +var zChars = *(*[63]int8)(unsafe.Pointer(ts + 4091 /* "abcdefghijklmnop..." */)) /* sqlite3.c:47084:15 */ // Return TRUE if the named file is really a directory. Return false if // it is something other than a directory, or if there is any kind of memory @@ -70991,7 +71497,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 dwCreationDisposition = DWORD(OPEN_EXISTING) } - if 0 == Xsqlite3_uri_boolean(tls, zName, ts+4139 /* "exclusive" */, 0) { + if 0 == Xsqlite3_uri_boolean(tls, zName, ts+4154 /* "exclusive" */, 0) { dwShareMode = (DWORD(FILE_SHARE_READ | FILE_SHARE_WRITE)) } else { dwShareMode = DWORD(0) @@ -71063,7 +71569,7 @@ 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 /* lastErrno */)) - winLogErrorAtLine(tls, SQLITE_CANTOPEN, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4149 /* "winOpen" */, zUtf8Name, 47595) + winLogErrorAtLine(tls, SQLITE_CANTOPEN, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4164 /* "winOpen" */, zUtf8Name, 47595) return Xsqlite3CantopenError(tls, 47596) } } @@ -71096,7 +71602,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 *(*U8)(unsafe.Pointer(pFile + 28 /* &.ctrlFlags */)) |= U8((WINFILE_RDONLY)) } if ((flags & SQLITE_OPEN_MAIN_DB) != 0) && - (Xsqlite3_uri_boolean(tls, zName, ts+4157 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+4172 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0) { *(*U8)(unsafe.Pointer(pFile + 28 /* &.ctrlFlags */)) |= U8((WINFILE_PSOW)) } (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = DWORD(0) @@ -71190,7 +71696,7 @@ 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 /* lastErrno */)), ts+4162 /* "winDelete" */, zFilename, 47768) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), *(*DWORD)(unsafe.Pointer(bp + 4 /* lastErrno */)), ts+4177 /* "winDelete" */, zFilename, 47768) } else { winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp /* cnt */)), 47770) } @@ -71238,7 +71744,7 @@ func winAccess(tls *libc.TLS, pVfs uintptr, zFilename uintptr, flags int32, pRes winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36 /* cnt */)), 47820) if (*(*DWORD)(unsafe.Pointer(bp + 40 /* lastErrno */)) != DWORD(2)) && (*(*DWORD)(unsafe.Pointer(bp + 40 /* lastErrno */)) != DWORD(3)) { Xsqlite3_free(tls, zConverted) - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(13) << 8)), *(*DWORD)(unsafe.Pointer(bp + 40 /* lastErrno */)), ts+4172 /* "winAccess" */, zFilename, 47823) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(13) << 8)), *(*DWORD)(unsafe.Pointer(bp + 40 /* lastErrno */)), ts+4187 /* "winAccess" */, zFilename, 47823) } else { attr = libc.Uint32(libc.Uint32FromInt32(-1)) } @@ -71337,7 +71843,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 return nFull } return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname - }(), zFull, ts+4182, /* "%s%c%s" */ + }(), zFull, ts+4197, /* "%s%c%s" */ libc.VaList(bp, Xsqlite3_data_directory, '\\', zRelative)) return SQLITE_OK } @@ -71350,7 +71856,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 nByte = (*(*func(*libc.TLS, LPCWSTR, DWORD, LPWSTR, uintptr) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 25*24 + 8 /* &.pCurrent */))))(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 /* &.pCurrent */))))(tls), ts+4189 /* "winFullPathname1" */, zRelative, 48040) + return winLogErrorAtLine(tls, (SQLITE_CANTOPEN | (int32(3) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+4204 /* "winFullPathname1" */, zRelative, 48040) } nByte = nByte + (DWORD(3)) zTemp = Xsqlite3MallocZero(tls, (uint64(nByte) * uint64(unsafe.Sizeof(WCHAR(0))))) @@ -71362,7 +71868,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 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 /* &.pCurrent */))))(tls), ts+4206 /* "winFullPathname2" */, zRelative, 48053) + return winLogErrorAtLine(tls, (SQLITE_CANTOPEN | (int32(3) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+4221 /* "winFullPathname2" */, zRelative, 48053) } Xsqlite3_free(tls, zConverted) zOut = winUnicodeToUtf8(tls, zTemp) @@ -71372,7 +71878,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 nByte = (*(*func(*libc.TLS, LPCSTR, DWORD, LPSTR, uintptr) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 24*24 + 8 /* &.pCurrent */))))(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 /* &.pCurrent */))))(tls), ts+4223 /* "winFullPathname3" */, zRelative, 48066) + return winLogErrorAtLine(tls, (SQLITE_CANTOPEN | (int32(3) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+4238 /* "winFullPathname3" */, zRelative, 48066) } nByte = nByte + (DWORD(3)) zTemp = Xsqlite3MallocZero(tls, (uint64(nByte) * uint64(unsafe.Sizeof(int8(0))))) @@ -71384,7 +71890,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 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 /* &.pCurrent */))))(tls), ts+4240 /* "winFullPathname4" */, zRelative, 48079) + return winLogErrorAtLine(tls, (SQLITE_CANTOPEN | (int32(3) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+4255 /* "winFullPathname4" */, zRelative, 48079) } Xsqlite3_free(tls, zConverted) zOut = winMbcsToUtf8(tls, zTemp, (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls)) @@ -71396,7 +71902,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 return nFull } return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname - }(), zFull, ts+3615 /* "%s" */, libc.VaList(bp+32, zOut)) + }(), zFull, ts+3630 /* "%s" */, libc.VaList(bp+32, zOut)) Xsqlite3_free(tls, zOut) return SQLITE_OK } else { @@ -71635,7 +72141,7 @@ var winVfs = Sqlite3_vfs{ FiVersion: 3, // iVersion FszOsFile: int32(unsafe.Sizeof(WinFile{})), // szOsFile FmxPathname: ((MAX_PATH) * 4), // pNext - FzName: ts + 4257, /* "win32" */ // zName + FzName: ts + 4272, /* "win32" */ // zName FpAppData: 0, // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -71658,7 +72164,7 @@ var winLongPathVfs = Sqlite3_vfs{ FiVersion: 3, // iVersion FszOsFile: int32(unsafe.Sizeof(WinFile{})), // szOsFile FmxPathname: (int32(uint64(unsafe.Sizeof(WCHAR(0))) * (uint64(32767)))), // pNext - FzName: ts + 4263, /* "win32-longpath" */ // zName + FzName: ts + 4278, /* "win32-longpath" */ // zName FpAppData: 0, // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -71681,7 +72187,7 @@ var winNolockVfs = Sqlite3_vfs{ FiVersion: 3, // iVersion FszOsFile: int32(unsafe.Sizeof(WinFile{})), // szOsFile FmxPathname: ((MAX_PATH) * 4), // pNext - FzName: ts + 4278, /* "win32-none" */ // zName + FzName: ts + 4293, /* "win32-none" */ // zName FpAppData: 0, // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -71704,7 +72210,7 @@ var winLongPathNolockVfs = Sqlite3_vfs{ FiVersion: 3, // iVersion FszOsFile: int32(unsafe.Sizeof(WinFile{})), // szOsFile FmxPathname: (int32(uint64(unsafe.Sizeof(WCHAR(0))) * (uint64(32767)))), // pNext - FzName: ts + 4289, /* "win32-longpath-n..." */ // zName + FzName: ts + 4304, /* "win32-longpath-n..." */ // zName FpAppData: 0, // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -71797,7 +72303,7 @@ var memdb_g MemFS /* sqlite3.c:48620:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) FmxPathname: 1024, // pNext - FzName: ts + 4309, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 4324, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -72029,7 +72535,7 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 var rc int32 = SQLITE_NOTFOUND memdbEnter(tls, p) if op == SQLITE_FCNTL_VFSNAME { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+4315 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+4330 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == SQLITE_FCNTL_SIZE_LIMIT { @@ -72172,7 +72678,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(16) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+3615 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+3630 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } @@ -72289,7 +72795,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = Xsqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, ts+4330 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+4345 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) } else { @@ -72362,7 +72868,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+4353 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+4368 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) if !(zSql == uintptr(0)) { goto __3 } @@ -77840,7 +78346,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+4368, /* "recovered %d pag..." */ + Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+4383, /* "recovered %d pag..." */ libc.VaList(bp, nPlayback, (*Pager)(unsafe.Pointer(pPager)).FzJournal)) __27: ; @@ -79592,7 +80098,7 @@ __15: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzJournal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint64(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+4395 /* "-journal" */, uint64(8)) + libc.Xmemcpy(tls, pPtr, ts+4410 /* "-journal" */, uint64(8)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -79607,7 +80113,7 @@ __19: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzWal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint64(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+4404 /* "-wal" */, uint64(4)) + libc.Xmemcpy(tls, pPtr, ts+4419 /* "-wal" */, uint64(4)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -79666,9 +80172,9 @@ __27: ; __26: ; - (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+4409 /* "nolock" */, 0)) + (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+4424 /* "nolock" */, 0)) if !(((iDc & SQLITE_IOCAP_IMMUTABLE) != 0) || - (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+4416 /* "immutable" */, 0) != 0)) { + (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+4431 /* "immutable" */, 0) != 0)) { goto __30 } vfsFlags = vfsFlags | (SQLITE_OPEN_READONLY) @@ -83565,7 +84071,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+4426, /* "recovered %d fra..." */ + ts+4441, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -84310,7 +84816,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+4463 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) + Xsqlite3_log(tls, rx, ts+4478 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) } } @@ -87090,7 +87596,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:65443: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 4489 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 4504 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -89130,7 +89636,7 @@ func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt mutexOpen = uintptr(0) rc = SQLITE_OK isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zFilename))) == 0))) - isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+4505 /* ":memory:" */) == 0)) || + isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+4520 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -90004,7 +90510,7 @@ __10: // // The original design allowed these amounts to vary, but as of // version 3.6.0, we require them to be fixed. - if !(libc.Xmemcmp(tls, (page1+21), ts+4514 /* "@ " */, uint64(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+4529 /* "@ " */, uint64(3)) != 0) { goto __14 } goto page1_init_failed @@ -97520,7 +98026,7 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+4518 /* "\n" */, 1) + Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+4533 /* "\n" */, 1) } if (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, (pCheck + 56 /* &.errMsg */), (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -97556,11 +98062,11 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 defer tls.Free(32) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { - checkAppendMsg(tls, pCheck, ts+4520 /* "invalid page num..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+4535 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+4543 /* "2nd reference to..." */, libc.VaList(bp+16, iPage)) + checkAppendMsg(tls, pCheck, ts+4558 /* "2nd reference to..." */, libc.VaList(bp+16, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -97587,13 +98093,13 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 } - checkAppendMsg(tls, pCheck, ts+4568 /* "Failed to read p..." */, libc.VaList(bp, iChild)) + checkAppendMsg(tls, pCheck, ts+4583 /* "Failed to read p..." */, libc.VaList(bp, iChild)) return } if (int32(*(*U8)(unsafe.Pointer(bp + 64 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 68 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, - ts+4597, /* "Bad ptr map entr..." */ + ts+4612, /* "Bad ptr map entr..." */ libc.VaList(bp+16, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 64 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 68 /* iPtrmapParent */)))) } } @@ -97616,7 +98122,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } N-- if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+64 /* &pOvflPage */, 0) != 0 { - checkAppendMsg(tls, pCheck, ts+4651 /* "failed to get pa..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+4666 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pOvflPage */))) @@ -97627,7 +98133,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+4673 /* "freelist leaf co..." */, libc.VaList(bp+16, iPage)) + ts+4688 /* "freelist leaf co..." */, libc.VaList(bp+16, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -97653,12 +98159,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, - ts+4712, /* "%s is %d but sho..." */ + ts+4727, /* "%s is %d but sho..." */ libc.VaList(bp+32, func() uintptr { if isFreeList != 0 { - return ts + 4738 /* "size" */ + return ts + 4753 /* "size" */ } - return ts + 4743 /* "overflow list le..." */ + return ts + 4758 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -97802,13 +98308,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 4764 /* "Page %u: " */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 4779 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+152 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, - ts+4774 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+4789 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -97822,7 +98328,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+4812 /* "btreeInitPage() ..." */, libc.VaList(bp+16, rc)) + ts+4827 /* "btreeInitPage() ..." */, libc.VaList(bp+16, rc)) goto end_of_check __4: ; @@ -97830,7 +98336,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+4850 /* "free space corru..." */, libc.VaList(bp+32, rc)) + checkAppendMsg(tls, pCheck, ts+4865 /* "free space corru..." */, libc.VaList(bp+32, rc)) goto end_of_check __5: ; @@ -97838,7 +98344,7 @@ __5: hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FhdrOffset) // Set up for cell analysis - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 4872 /* "On tree page %u ..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 4887 /* "On tree page %u ..." */ contentOffset = (U32(((((int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5)))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5))) + 1)))) - 1) & 0xffff) + 1)) // Enforced by btreeInitPage() @@ -97860,7 +98366,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 4898 /* "On page %u at ri..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 4913 /* "On page %u at ri..." */ checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; @@ -97891,7 +98397,7 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+4926, /* "Offset %d out of..." */ + checkAppendMsg(tls, pCheck, ts+4941, /* "Offset %d out of..." */ libc.VaList(bp+48, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 @@ -97902,7 +98408,7 @@ __12: if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+4956 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+4971 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -97920,7 +98426,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+4980 /* "Rowid %lld out o..." */, libc.VaList(bp+80, (*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+4995 /* "Rowid %lld out o..." */, libc.VaList(bp+80, (*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnKey)) __15: ; *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 168 /* &info */)).FnKey @@ -97961,7 +98467,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+5004 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+5019 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -98059,7 +98565,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+5029 /* "Multiple uses fo..." */, libc.VaList(bp+96, (*(*U32)(unsafe.Pointer(bp + 192 /* x */))>>16), iPage)) + ts+5044 /* "Multiple uses fo..." */, libc.VaList(bp+96, (*(*U32)(unsafe.Pointer(bp + 192 /* x */))>>16), iPage)) goto __30 goto __32 __31: @@ -98079,7 +98585,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+5066, /* "Fragmentation of..." */ + ts+5081, /* "Fragmentation of..." */ libc.VaList(bp+120, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -98208,7 +98714,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FzPfx = ts + 5118 /* "Main freelist: " */ + (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FzPfx = ts + 5133 /* "Main freelist: " */ checkList(tls, bp+56 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FzPfx = uintptr(0) @@ -98246,7 +98752,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+56, /* &sCheck */ - ts+5134, /* "max rootpage (%d..." */ + ts+5149, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -98256,7 +98762,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+56, /* &sCheck */ - ts+5179 /* "incremental_vacu..." */, 0) + ts+5194 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -98306,13 +98812,13 @@ __23: if !((getPageReferenced(tls, bp+56 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+56 /* &sCheck */, ts+5234 /* "Page %d is never..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+56 /* &sCheck */, ts+5249 /* "Page %d is never..." */, libc.VaList(bp+24, i)) __26: ; if !((getPageReferenced(tls, bp+56 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+56 /* &sCheck */, ts+5256 /* "Pointer map page..." */, libc.VaList(bp+40, i)) + checkAppendMsg(tls, bp+56 /* &sCheck */, ts+5271 /* "Pointer map page..." */, libc.VaList(bp+40, i)) __27: ; goto __24 @@ -98631,7 +99137,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt libc.Xmemset(tls, bp+32 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).Fdb = pDb if Xsqlite3OpenTempDatabase(tls, bp+32 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).Frc, ts+3615 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).Frc, ts+3630 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg) @@ -98642,7 +99148,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+5290 /* "unknown database..." */, libc.VaList(bp+16, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+5305 /* "unknown database..." */, libc.VaList(bp+16, zDb)) return uintptr(0) } @@ -98663,7 +99169,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76336:12: */ // message in database handle db. func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:76348:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { - Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+5310 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+5325 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -98690,7 +99196,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+5341 /* "source and desti..." */, 0) + pDestDb, SQLITE_ERROR, ts+5356 /* "source and desti..." */, 0) p = uintptr(0) } else { // Allocate space for a new sqlite3_backup object... @@ -99304,7 +99810,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 16 /* x */)), zBuf) } else { Xsqlite3StrAccumInit(tls, bp+24 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+24 /* &acc */, ts+5381, /* "%!.15g" */ + Xsqlite3_str_appendf(tls, bp+24 /* &acc */, ts+5396, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -99945,7 +100451,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -100151,6 +100657,8 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 (*Mem)(unsafe.Pointer(pMem)).Fflags = flags if enc != 0 { (*Mem)(unsafe.Pointer(pMem)).Fenc = enc + } else if (*Mem)(unsafe.Pointer(pMem)).Fdb == uintptr(0) { + (*Mem)(unsafe.Pointer(pMem)).Fenc = U8(SQLITE_UTF8) } else { (*Mem)(unsafe.Pointer(pMem)).Fenc = (*Sqlite3)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fdb)).Fenc @@ -100456,7 +100964,7 @@ __9: goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 16 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+3615 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) + Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: Xsqlite3ValueApplyAffinity(tls, pVal, aff, uint8(SQLITE_UTF8)) @@ -100528,7 +101036,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 zVal = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) = uintptr(0) negInt = 1 - zNeg = ts + 740 /* "" */ + zNeg = ts + 755 /* "" */ rc = SQLITE_OK __1: @@ -100577,7 +101085,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 5388 /* "-" */ + zNeg = ts + 5403 /* "-" */ __6: ; @@ -100597,7 +101105,7 @@ __9: Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: - zVal = Xsqlite3MPrintf(tls, db, ts+5390 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + zVal = Xsqlite3MPrintf(tls, db, ts+5405 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) if !(zVal == uintptr(0)) { goto __12 } @@ -102042,34 +102550,34 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5395 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5410 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 32 /* &.aColl */) + uintptr(j)*8)) var zColl uintptr if pColl != 0 { zColl = (*CollSeq)(unsafe.Pointer(pColl)).FzName } else { - zColl = ts + 740 /* "" */ + zColl = ts + 755 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+303 /* "BINARY" */) == 0 { - zColl = ts + 5400 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+318 /* "BINARY" */) == 0 { + zColl = ts + 5415 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5402, /* ",%s%s%s" */ + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5417, /* ",%s%s%s" */ libc.VaList(bp+16, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { - return ts + 5388 /* "-" */ + return ts + 5403 /* "-" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 5410 /* "N." */ + return ts + 5425 /* "N." */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+240 /* &x */, ts+5413 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+240 /* &x */, ts+5428 /* ")" */, 1) break } @@ -102077,7 +102585,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5415 /* "%.18s-%s" */, libc.VaList(bp+48, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5430 /* "%.18s-%s" */, libc.VaList(bp+48, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -102085,32 +102593,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5424 /* "%s(%d)" */, libc.VaList(bp+72, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5439 /* "%s(%d)" */, libc.VaList(bp+72, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5424 /* "%s(%d)" */, libc.VaList(bp+96, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5439 /* "%s(%d)" */, libc.VaList(bp+96, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5431 /* "%lld" */, libc.VaList(bp+120, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5446 /* "%lld" */, libc.VaList(bp+120, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5436 /* "%d" */, libc.VaList(bp+136, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5451 /* "%d" */, libc.VaList(bp+136, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+523 /* "%.16g" */, libc.VaList(bp+152, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+538 /* "%.16g" */, libc.VaList(bp+152, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -102120,14 +102628,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5431 /* "%lld" */, libc.VaList(bp+168, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5446 /* "%lld" */, libc.VaList(bp+168, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+523 /* "%.16g" */, libc.VaList(bp+184, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+538 /* "%.16g" */, libc.VaList(bp+184, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { - zP4 = ts + 741 /* "NULL" */ + zP4 = ts + 756 /* "NULL" */ } else { - zP4 = ts + 5439 /* "(blob)" */ + zP4 = ts + 5454 /* "(blob)" */ } break @@ -102135,7 +102643,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5446 /* "vtab:%p" */, libc.VaList(bp+200, pVtab)) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5461 /* "vtab:%p" */, libc.VaList(bp+200, pVtab)) break } @@ -102146,20 +102654,20 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5454 /* "%c%u" */, libc.VaList(bp+216, func() int32 { + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5469 /* "%c%u" */, libc.VaList(bp+216, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+240 /* &x */, ts+5459 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+240 /* &x */, ts+5474 /* "]" */, 1) break } case -4: { - zP4 = ts + 5461 /* "program" */ + zP4 = ts + 5476 /* "program" */ break } @@ -102191,7 +102699,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+240 /* &x */) } -var encnames = [4]uintptr{ts + 5469 /* "?" */, ts + 5471 /* "8" */, ts + 5473 /* "16LE" */, ts + 5478 /* "16BE" */} /* sqlite3.c:80570:25 */ +var encnames = [4]uintptr{ts + 5484 /* "?" */, ts + 5486 /* "8" */, ts + 5488 /* "16LE" */, ts + 5493 /* "16BE" */} /* sqlite3.c:80570:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -102722,8 +103230,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 5483 /* "addr" */, ts + 5488 /* "opcode" */, ts + 5495 /* "p1" */, ts + 5498 /* "p2" */, ts + 5501 /* "p3" */, ts + 5504 /* "p4" */, ts + 5507 /* "p5" */, ts + 5510, /* "comment" */ - ts + 5518 /* "id" */, ts + 5521 /* "parent" */, ts + 5528 /* "notused" */, ts + 5536, /* "detail" */ + ts + 5498 /* "addr" */, ts + 5503 /* "opcode" */, ts + 5510 /* "p1" */, ts + 5513 /* "p2" */, ts + 5516 /* "p3" */, ts + 5519 /* "p4" */, ts + 5522 /* "p5" */, ts + 5525, /* "comment" */ + ts + 5533 /* "id" */, ts + 5536 /* "parent" */, ts + 5543 /* "notused" */, ts + 5551, /* "detail" */ } /* sqlite3.c:81298:23 */ // Close a VDBE cursor and release all the resources that cursor @@ -102971,7 +103479,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Select a super-journal file name nMainFile = Xsqlite3Strlen30(tls, zMainFile) - zSuper = Xsqlite3MPrintf(tls, db, ts+5543 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) + zSuper = Xsqlite3MPrintf(tls, db, ts+5558 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) if zSuper == uintptr(0) { return SQLITE_NOMEM } @@ -102981,16 +103489,16 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+5555 /* "MJ delete: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+5570 /* "MJ delete: %s" */, libc.VaList(bp+32, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+5569 /* "MJ collide: %s" */, libc.VaList(bp+48, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+5584 /* "MJ collide: %s" */, libc.VaList(bp+48, zSuper)) } } retryCount++ Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+88 /* &iRandom */) - Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+5584, /* "-mj%06X9%02X" */ + Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+5599, /* "-mj%06X9%02X" */ libc.VaList(bp+64, ((*(*U32)(unsafe.Pointer(bp + 88 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 88 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. @@ -103184,7 +103692,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq (!(deferred != 0) && ((*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0))) { (*Vdbe)(unsafe.Pointer(p)).Frc = (SQLITE_CONSTRAINT | (int32(3) << 8)) (*Vdbe)(unsafe.Pointer(p)).FerrorAction = U8(OE_Abort) - Xsqlite3VdbeError(tls, p, ts+5597 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+5612 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -103466,7 +103974,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: // called), set the database error in this case as well. Xsqlite3ErrorWithMsg(tls, db, (*Vdbe)(unsafe.Pointer(p)).Frc, func() uintptr { if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { - return ts + 3615 /* "%s" */ + return ts + 3630 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -105017,13 +105525,13 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023 var zContext uintptr var zMsg uintptr if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_IsCheck) != 0 { - zContext = ts + 5627 /* "a CHECK constrai..." */ + zContext = ts + 5642 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 5646 /* "a generated colu..." */ + zContext = ts + 5661 /* "a generated colu..." */ } else { - zContext = ts + 5665 /* "an index" */ + zContext = ts + 5680 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+5674, /* "non-deterministi..." */ + zMsg = Xsqlite3_mprintf(tls, ts+5689, /* "non-deterministi..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -105154,7 +105662,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84185:1 // invalid). Return false if it is ok. func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+5710 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+5725 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -105164,7 +105672,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84204:12: */ if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+5755 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+5770 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -105634,7 +106142,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:84708:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG - Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+5795 /* "string or blob t..." */, int64(-1), + Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+5810 /* "string or blob t..." */, int64(-1), uint8(SQLITE_UTF8), uintptr(0)) } @@ -106385,7 +106893,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12 Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+5818 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) + ts+5833 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) return Xsqlite3MisuseError(tls, 85498) } if (i < 1) || (i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar)) { @@ -107162,7 +107670,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+5858 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+88 /* &out */, ts+5873 /* "-- " */, 3) Xsqlite3_str_append(tls, bp+88 /* &out */, zStart, (int32((int64(zRawSql) - int64(zStart)) / 1))) } @@ -107200,11 +107708,11 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 224 /* idx */))-1))*56) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+741 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+88 /* &out */, ts+756 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5431 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5446 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5381 /* "%!.15g" */, libc.VaList(bp+16, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5396 /* "%!.15g" */, libc.VaList(bp+16, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc @@ -107219,21 +107727,21 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = bp + 232 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5862 /* "'%.*q'" */, libc.VaList(bp+32, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5877 /* "'%.*q'" */, libc.VaList(bp+32, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { Xsqlite3VdbeMemRelease(tls, bp+232 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5869 /* "zeroblob(%d)" */, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5884 /* "zeroblob(%d)" */, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+5882 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+88 /* &out */, ts+5897 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5885 /* "%02x" */, libc.VaList(bp+72, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5900 /* "%02x" */, libc.VaList(bp+72, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+5890 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+88 /* &out */, ts+5905 /* "'" */, 1) } } } @@ -110932,19 +111440,19 @@ __190: goto __193 } - Xsqlite3VdbeError(tls, p, ts+5892 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) + Xsqlite3VdbeError(tls, p, ts+5907 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __195 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+5913 /* "%z: %s" */, libc.VaList(bp+16, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+5928 /* "%z: %s" */, libc.VaList(bp+16, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __195: ; goto __194 __193: - Xsqlite3VdbeError(tls, p, ts+3615 /* "%s" */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __194: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+5920 /* "abort at %d in [..." */, libc.VaList(bp+56, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+5935 /* "abort at %d in [..." */, libc.VaList(bp+56, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __192: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -113494,7 +114002,7 @@ __74: } // A new savepoint cannot be created if there are active write // statements (i.e. open read/write incremental blob handles). - Xsqlite3VdbeError(tls, p, ts+5944 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+5959 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __448 __447: @@ -113567,7 +114075,7 @@ __455: if !(!(pSavepoint != 0)) { goto __456 } - Xsqlite3VdbeError(tls, p, ts+5995 /* "no such savepoin..." */, libc.VaList(bp+88, zName)) + Xsqlite3VdbeError(tls, p, ts+6010 /* "no such savepoin..." */, libc.VaList(bp+88, zName)) rc = SQLITE_ERROR goto __457 __456: @@ -113577,7 +114085,7 @@ __456: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+6017 /* "cannot release s..." */, 0) + ts+6032 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __459 __458: @@ -113782,7 +114290,7 @@ __488: // If this instruction implements a COMMIT and other VMs are writing // return an error indicating that the other VMs must complete first. Xsqlite3VdbeError(tls, p, - ts+6071 /* "cannot commit tr..." */, 0) + ts+6086 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __491 @@ -113825,13 +114333,13 @@ __486: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 6126 /* "cannot start a t..." */ + return ts + 6141 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 6174 /* "cannot rollback ..." */ + return ts + 6189 /* "cannot rollback ..." */ } - return ts + 6217 /* "cannot commit - ..." */ + return ts + 6232 /* "cannot commit - ..." */ }() }(), 0) @@ -113949,7 +114457,7 @@ __498: // version is checked to ensure that the schema has not changed since the // SQL statement was prepared. Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+6258 /* "database schema ..." */) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+6273 /* "database schema ..." */) // If the schema-cookie from the database file matches the cookie // stored with the in-memory representation of the schema, do // not reload the schema from the database file. @@ -114331,7 +114839,7 @@ __84: // Only used when number of columns is zero (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fn = 0 - (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 740 /* "" */ + (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 755 /* "" */ __524: ; pCx1 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -116461,7 +116969,7 @@ __688: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __691 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+6286 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+6301 /* "index corruption" */) goto abort_due_to_error __691: ; @@ -116894,14 +117402,14 @@ __137: goto __720 __719: - zSchema = ts + 6303 /* "sqlite_master" */ + zSchema = ts + 6318 /* "sqlite_master" */ (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FiDb = iDb3 (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FpzErrMsg = (p + 168 /* &.zErrMsg */) (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FmInitFlags = U32(0) (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+6317, /* "SELECT*FROM\"%w\"...." */ + ts+6332, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp+104, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __721 @@ -117234,7 +117742,7 @@ __741: goto __746 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+6360 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+6375 /* "too many levels ..." */, 0) goto abort_due_to_error __746: ; @@ -117679,7 +118187,7 @@ __781: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __783 } - Xsqlite3VdbeError(tls, p, ts+3615 /* "%s" */, libc.VaList(bp+136, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+136, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __783: ; @@ -117757,7 +118265,7 @@ __788: if !(rc != 0) { goto __789 } - Xsqlite3VdbeError(tls, p, ts+3615 /* "%s" */, libc.VaList(bp+152, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+152, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __789: ; @@ -117872,12 +118380,12 @@ __798: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+6397, /* "cannot change %s..." */ + ts+6412, /* "cannot change %s..." */ libc.VaList(bp+168, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 6449 /* "into" */ + return ts + 6464 /* "into" */ } - return ts + 6454 /* "out of" */ + return ts + 6469 /* "out of" */ }())) goto abort_due_to_error goto __801 @@ -118080,7 +118588,7 @@ __167: goto __816 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+6461 /* "database table i..." */, libc.VaList(bp+184, z1)) + Xsqlite3VdbeError(tls, p, ts+6476 /* "database table i..." */, libc.VaList(bp+184, z1)) __816: ; goto abort_due_to_error @@ -118324,7 +118832,7 @@ __833: if !((*Sqlite3_context)(unsafe.Pointer(bp+992 /* &sContext */)).FisError > 0) { goto __834 } - Xsqlite3VdbeError(tls, p, ts+3615 /* "%s" */, libc.VaList(bp+200, Xsqlite3_value_text(tls, pDest2))) + Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+200, Xsqlite3_value_text(tls, pDest2))) rc = (*Sqlite3_context)(unsafe.Pointer(bp + 992 /* &sContext */)).FisError __834: ; @@ -118655,7 +119163,7 @@ __857: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __862 } - Xsqlite3VdbeError(tls, p, ts+3615 /* "%s" */, libc.VaList(bp+216, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+216, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __862: ; @@ -118745,7 +119253,7 @@ __867: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __869 } - z3 = Xsqlite3MPrintf(tls, db, ts+6490 /* "-- %s" */, libc.VaList(bp+232, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+6505 /* "-- %s" */, libc.VaList(bp+232, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __870 @@ -118848,13 +119356,13 @@ __878: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __880 } - Xsqlite3VdbeError(tls, p, ts+3615 /* "%s" */, libc.VaList(bp+248, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+248, Xsqlite3ErrStr(tls, rc))) __880: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) - Xsqlite3_log(tls, rc, ts+6496, /* "statement aborts..." */ + Xsqlite3_log(tls, rc, ts+6511, /* "statement aborts..." */ libc.VaList(bp+264, (int32((int64(pOp)-int64(aOp))/24)), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { @@ -118899,14 +119407,14 @@ __884: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+5795 /* "string or blob t..." */, 0) + Xsqlite3VdbeError(tls, p, ts+5810 /* "string or blob t..." */, 0) rc = SQLITE_TOOBIG goto abort_due_to_error // Jump to here if a malloc() fails. no_mem: Xsqlite3OomFault(tls, db) - Xsqlite3VdbeError(tls, p, ts+6528 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+6543 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -118919,8 +119427,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 6542 /* "NOT NULL" */, ts + 6551 /* "UNIQUE" */, ts + 6558, /* "CHECK" */ - ts + 6564 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ +var azType = [4]uintptr{ts + 6557 /* "NOT NULL" */, ts + 6566 /* "UNIQUE" */, ts + 6573, /* "CHECK" */ + ts + 6579 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:88844:32 */ var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:88847:32 */ var aFlag1 = [2]U16{U16(MEM_Blob), (U16(MEM_Str | MEM_Term))} /* sqlite3.c:89315:24 */ @@ -119027,16 +119535,16 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } if type1 < U32(12) { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+6576, /* "cannot open valu..." */ + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+6591, /* "cannot open valu..." */ libc.VaList(bp, func() uintptr { if type1 == U32(0) { - return ts + 6605 /* "null" */ + return ts + 6620 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 6610 /* "real" */ + return ts + 6625 /* "real" */ } - return ts + 6615 /* "integer" */ + return ts + 6630 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -119056,10 +119564,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+6623 /* "no such rowid: %..." */, libc.VaList(bp+16, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+6638 /* "no such rowid: %..." */, libc.VaList(bp+16, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+3615 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+3630 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -119122,21 +119630,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+6643 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+6658 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+6673 /* "cannot open tabl..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+6688 /* "cannot open tabl..." */, libc.VaList(bp+16, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+6709 /* "cannot open view..." */, libc.VaList(bp+32, zTable)) + Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+6724 /* "cannot open view..." */, libc.VaList(bp+32, zTable)) __7: ; if !(!(pTab != 0)) { @@ -119181,7 +119689,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+6730 /* "no such column: ..." */, libc.VaList(bp+48, zColumn)) + *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+6745 /* "no such column: ..." */, libc.VaList(bp+48, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -119210,7 +119718,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+64 /* &.aCol */)+uintptr(j)*16)).FiFrom == iCol) { goto __23 } - zFault = ts + 6751 /* "foreign key" */ + zFault = ts + 6766 /* "foreign key" */ __23: ; goto __21 @@ -119243,7 +119751,7 @@ __27: if !((int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == iCol) || (int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == (-2))) { goto __30 } - zFault = ts + 6763 /* "indexed" */ + zFault = ts + 6778 /* "indexed" */ __30: ; goto __28 @@ -119264,7 +119772,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+6771 /* "cannot open %s c..." */, libc.VaList(bp+64, zFault)) + *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+6786 /* "cannot open %s c..." */, libc.VaList(bp+64, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -119373,7 +119881,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) != 0 { - return ts + 3615 /* "%s" */ + return ts + 3630 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)))) @@ -119538,7 +120046,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) != 0 { - return ts + 3615 /* "%s" */ + return ts + 3630 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) @@ -123096,7 +123604,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+6805 /* "main" */, zDb) == 0)) { + if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+6820 /* "main" */, zDb) == 0)) { goto __8 } // This branch is taken when the main database has been renamed @@ -123299,14 +123807,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+6810 /* "new" */, zTab) == 0)) { + if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+6825 /* "new" */, zTab) == 0)) { goto __41 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 1 pTab = (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab goto __42 __41: - if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+6814 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+6829 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -123323,7 +123831,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+6818 /* "excluded" */, zTab) == 0)) { + if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+6833 /* "excluded" */, zTab) == 0)) { goto __45 } pTab = (*SrcItem)(unsafe.Pointer(((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8 /* &.a */))).FpTab @@ -123500,7 +124008,7 @@ __66: if !((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0) && (((*Expr)(unsafe.Pointer((pOrig))).Fflags & (U32(EP_Agg))) != U32(0))) { goto __70 } - Xsqlite3ErrorMsg(tls, pParse, ts+6827 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+6842 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -123508,14 +124016,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+6858 /* "misuse of aliase..." */, libc.VaList(bp+16, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+6873 /* "misuse of aliase..." */, libc.VaList(bp+16, zAs)) return WRC_Abort __71: ; if !(Xsqlite3ExprVectorSize(tls, pOrig) != 1) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+6895 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6910 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -123591,7 +124099,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+6913 /* "double-quoted st..." */, libc.VaList(bp+32, zCol)) + ts+6928 /* "double-quoted st..." */, libc.VaList(bp+32, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)) = uintptr(0) return WRC_Prune @@ -123612,23 +124120,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 6948 /* "no such column" */ + zErr = ts + 6963 /* "no such column" */ } else { - zErr = ts + 6963 /* "ambiguous column..." */ + zErr = ts + 6978 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+6985 /* "%s: %s.%s.%s" */, libc.VaList(bp+48, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+7000 /* "%s: %s.%s.%s" */, libc.VaList(bp+48, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+6998 /* "%s: %s.%s" */, libc.VaList(bp+88, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+7013 /* "%s: %s.%s" */, libc.VaList(bp+88, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+7008 /* "%s: %s" */, libc.VaList(bp+120, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+7023 /* "%s: %s" */, libc.VaList(bp+120, zErr, zCol)) __82: ; __80: @@ -123762,15 +124270,15 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp bp := tls.Alloc(24) defer tls.Free(24) - var zIn uintptr = ts + 7015 /* "partial index WH..." */ + var zIn uintptr = ts + 7030 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 7043 /* "index expression..." */ + zIn = ts + 7058 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 7061 /* "CHECK constraint..." */ + zIn = ts + 7076 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 7079 /* "generated column..." */ + zIn = ts + 7094 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+7097 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) + Xsqlite3ErrorMsg(tls, pParse, ts+7112 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) if pExpr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } @@ -123878,10 +124386,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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 /* &.u */)) = ts + 7117 /* "true" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 7132 /* "true" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsTrue)) } else { - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 7122 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 7137 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) } (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) @@ -123934,7 +124442,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (NC_IdxExpr | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+7128 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+7143 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -124001,7 +124509,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+7145 /* "second argument ..." */, 0) + ts+7160 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -124026,7 +124534,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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+7216, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+7231, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -124050,7 +124558,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all // all this. if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & ((NC_IdxExpr | NC_PartIdx) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+7251 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+7266 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -124079,30 +124587,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+7279 /* "%.*s() may not b..." */, libc.VaList(bp+16, nId, zId)) + ts+7294 /* "%.*s() may not b..." */, libc.VaList(bp+16, nId, zId)) (*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 + 7323 /* "window" */ + zType = ts + 7338 /* "window" */ } else { - zType = ts + 7330 /* "aggregate" */ + zType = ts + 7345 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+7340 /* "misuse of %s fun..." */, libc.VaList(bp+40, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+7355 /* "misuse of %s fun..." */, libc.VaList(bp+40, zType, nId, zId)) (*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+7369 /* "no such function..." */, libc.VaList(bp+72, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+7384 /* "no such function..." */, libc.VaList(bp+72, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+7392, /* "wrong number of ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+7407, /* "wrong number of ..." */ libc.VaList(bp+96, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, - ts+7437, /* "FILTER may not b..." */ + ts+7452, /* "FILTER may not b..." */ libc.VaList(bp+120, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -124177,7 +124685,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+7486 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+7501 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) @@ -124194,7 +124702,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s { if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+7497 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+7512 /* "parameters" */, pExpr) } break @@ -124254,7 +124762,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+6895 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6910 /* "row value misuse..." */, 0) } break @@ -124359,7 +124867,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+7508 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) + ts+7523 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) } // Analyze the ORDER BY clause in a compound SELECT statement. Modify @@ -124391,7 +124899,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 + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+7564 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+7579 /* "too many terms i..." */, 0) return 1 } for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { @@ -124426,7 +124934,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 } if Xsqlite3ExprIsInteger(tls, pE, bp+16 /* &iCol */) != 0 { if (*(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { - resolveOutOfRangeError(tls, pParse, ts+7598 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+7613 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -124497,7 +125005,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { if (int32(*(*uint8)(unsafe.Pointer(((pOrderBy + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.done */)) & 0x4 >> 2)) == 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+7604 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+7619 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -124525,7 +125033,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+7665 /* "too many terms i..." */, libc.VaList(bp, zType)) + Xsqlite3ErrorMsg(tls, pParse, ts+7680 /* "too many terms i..." */, libc.VaList(bp, zType)) return 1 } pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList @@ -124814,7 +125322,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp /* &sNC */ + 40 /* &.ncFlags */)) |= (NC_UEList) if (*Select)(unsafe.Pointer(p)).FpHaving != 0 { if !(pGroupBy != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+7696 /* "a GROUP BY claus..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+7711 /* "a GROUP BY claus..." */, 0) return WRC_Abort } if Xsqlite3ResolveExprNames(tls, bp /* &sNC */, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -124871,7 +125379,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // resolve those symbols on the incorrect ORDER BY for consistency. if (((*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0)) && (isCompound <= nCompound)) && // Defer right-most ORDER BY of a compound - (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7598 /* "ORDER" */) != 0) { + (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7613 /* "ORDER" */) != 0) { return WRC_Abort } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -124884,7 +125392,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql if pGroupBy != 0 { var pItem uintptr - if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+7740 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { + if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+7755 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { return WRC_Abort } i = 0 @@ -124896,7 +125404,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql { if ((*Expr)(unsafe.Pointer(((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr))).Fflags & (U32(EP_Agg))) != U32(0) { Xsqlite3ErrorMsg(tls, pParse, - ts+7746 /* "aggregate functi..." */, 0) + ts+7761 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -125666,7 +126174,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+6895 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6910 /* "row value misuse..." */, 0) return } @@ -125742,7 +126250,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 3*4)) if nHeight > mxHeight { Xsqlite3ErrorMsg(tls, pParse, - ts+7805 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+7820 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -125983,7 +126491,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+7853 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7868 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -126005,7 +126513,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u return uintptr(0) } if (pList != 0) && ((*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 6*4))) { - Xsqlite3ErrorMsg(tls, pParse, ts+7855 /* "too many argumen..." */, libc.VaList(bp, pToken)) + Xsqlite3ErrorMsg(tls, pParse, ts+7870 /* "too many argumen..." */, libc.VaList(bp, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32 /* &.x */)) = pList *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_HasFunc)) @@ -126039,7 +126547,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // is tagged with SQLITE_FUNC_UNSAFE) and // SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning // that the schema is possibly tainted). - Xsqlite3ErrorMsg(tls, pParse, ts+7889 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7904 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) } } } @@ -126092,7 +126600,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 16 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 16 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+7908, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+7923, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) return } @@ -126119,7 +126627,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*Expr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+7951 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+7966 /* "too many SQL var..." */, 0) } } @@ -126788,7 +127296,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+7974, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+7989, /* "%d columns assig..." */ libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error __3: @@ -126923,7 +127431,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 2*4)) if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx) { - Xsqlite3ErrorMsg(tls, pParse, ts+8004 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+8019 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -126978,10 +127486,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 { /* sqlite3.c:103208:20: */ - if Xsqlite3StrICmp(tls, zIn, ts+7117 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+7132 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+7122 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+7137 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -127426,13 +127934,13 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 // Return TRUE if the given string is a row-id column name. func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:103650:20: */ - if Xsqlite3StrICmp(tls, z, ts+8027 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+8042 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+8035 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+8050 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+8041 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+8056 /* "OID" */) == 0 { return 1 } return 0 @@ -127660,7 +128168,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, Xsqlite3OpenTable(tls, pParse, iTab, iDb, pTab, OP_OpenRead) eType = IN_INDEX_ROWID - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+8045 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+8060 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeJumpHere(tls, v, iAddr) } else { var pIdx uintptr // Iterator variable @@ -127751,7 +128259,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+8092 /* "USING INDEX %s F..." */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+8107 /* "USING INDEX %s F..." */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) @@ -127857,7 +128365,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec defer tls.Free(24) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { - var zFmt uintptr = ts + 8123 /* "sub-select retur..." */ + var zFmt uintptr = ts + 8138 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -127875,7 +128383,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_xIsSelect)) != 0 { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FpEList)).FnExpr, 1) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+6895 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6910 /* "row value misuse..." */, 0) } } @@ -127928,7 +128436,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+8167 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+8182 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) @@ -127964,11 +128472,11 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+8190 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+8205 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { if addrOnce != 0 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 8209 /* "CORRELATED " */ + return ts + 8224 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSelect)).FselId)) // If the LHS and RHS of the IN operator do not match, that // error will have been caught long before we reach this point. @@ -128114,7 +128622,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // If this routine has already been coded, then invoke it as a // subroutine. if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+8221 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+8236 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) return (*Expr)(unsafe.Pointer(pExpr)).FiTable @@ -128147,11 +128655,11 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+8239 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+16, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+8254 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+16, func() uintptr { if addrOnce != 0 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 8209 /* "CORRELATED " */ + return ts + 8224 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSel)).FselId)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { nReg = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpEList)).FnExpr @@ -128175,7 +128683,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // The subquery already has a limit. If the pre-existing limit is X // then make the new limit X<>0 so that the new limit is either 1 or 0 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7853 /* "0" */) + pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7868 /* "0" */) if pLimit != 0 { (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, @@ -128185,7 +128693,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { // If there is no pre-existing limit add a limit of 1 - pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+8260 /* "1" */) + pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+8275 /* "1" */) (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -128677,12 +129185,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM c = Xsqlite3DecOrHexToI64(tls, z, bp+24 /* &value */) if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 24 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { - if Xsqlite3_strnicmp(tls, z, ts+8262 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+8265 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { + if Xsqlite3_strnicmp(tls, z, ts+8277 /* "0x" */, 2) == 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+8280 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { - return ts + 5388 /* "-" */ + return ts + 5403 /* "-" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -128757,7 +129265,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT } else if (int32((*Column)(unsafe.Pointer((libc.AssignUintptr(&pCol, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32))))).FcolFlags) & COLFLAG_VIRTUAL) != 0 { var pParse uintptr = Xsqlite3VdbeParser(tls, v) if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_BUSY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+8291 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+8306 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else { var savedSelfTab int32 = (*Parse)(unsafe.Pointer(pParse)).FiSelfTab *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) @@ -129316,7 +129824,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+8291, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+8306, /* "generated column..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -129568,7 +130076,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+8321 /* "misuse of aggreg..." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+8336 /* "misuse of aggreg..." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*32)).FiMem @@ -129610,7 +130118,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+8347 /* "unknown function..." */, libc.VaList(bp+32, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+8362 /* "unknown function..." */, libc.VaList(bp+32, zId)) goto __3 __91: ; @@ -129804,7 +130312,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+7974, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+7989, /* "%d columns assig..." */ libc.VaList(bp+48, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -129886,7 +130394,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+6895 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6910 /* "row value misuse..." */, 0) goto __3 // TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions @@ -130010,7 +130518,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+8370 /* "RAISE() may only..." */, 0) + ts+8385 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -130049,7 +130557,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8420 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 8435 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -131886,11 +132394,11 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq bp := tls.Alloc(16) defer tls.Free(16) - if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8428 /* "sqlite_" */, 7)) || + if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8443 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || ((((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Shadow)) != U32(0)) && (Xsqlite3ReadOnlyShadowTables(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+8436 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+8451 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -131908,14 +132416,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+8464, /* "SELECT 1 FROM \"%..." */ + ts+8479, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+8639, /* "SELECT 1 FROM te..." */ + ts+8654, /* "SELECT 1 FROM te..." */ libc.VaList(bp+48, zDb, zWhen, bNoDQS)) } } @@ -131931,11 +132439,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+8813 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) + ts+8828 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+8960 /* "UPDATE temp.sqli..." */, 0) + ts+8975 /* "UPDATE temp.sqli..." */, 0) } } @@ -132009,7 +132517,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+9111 /* "there is already..." */, libc.VaList(bp, zName)) + ts+9126 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -132022,7 +132530,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+9170 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+9185 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -132032,7 +132540,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+9176 /* "view %s may not ..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+9191 /* "view %s may not ..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -132085,24 +132593,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+9203 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+9218 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, - ts+9387, /* "UPDATE %Q.sqlite..." */ + ts+9402, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+88, zDb, zName, zName, zName, nTabName, zTabName)) // If the sqlite_sequence table exists in this database, then update // it with the new table name. - if !(Xsqlite3FindTable(tls, db, ts+9692 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+9707 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+9708, /* "UPDATE \"%w\".sqli..." */ + ts+9723, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+144, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -132115,7 +132623,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+9766 /* "UPDATE sqlite_te..." */, libc.VaList(bp+176, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+9781 /* "UPDATE sqlite_te..." */, libc.VaList(bp+176, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -132133,7 +132641,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+10031 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+10046 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -132148,7 +132656,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(32) Xsqlite3NestedParse(tls, pParse, - ts+10044, /* "SELECT raise(ABO..." */ + ts+10059, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -132196,12 +132704,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // If there is a NOT NULL constraint, then the default value for the // column must not be NULL. if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10082 /* "Cannot add a PRI..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10097 /* "Cannot add a PRI..." */, 0) return } if (*Table)(unsafe.Pointer(pNew)).FpIndex != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+10114 /* "Cannot add a UNI..." */, 0) + ts+10129 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -132214,11 +132722,11 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if ((((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ForeignKeys)) != 0) && ((*Table)(unsafe.Pointer(pNew)).FpFKey != 0)) && (pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+10141 /* "Cannot add a REF..." */) + ts+10156 /* "Cannot add a REF..." */) } if ((*Column)(unsafe.Pointer(pCol)).FnotNull != 0) && !(pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+10200 /* "Cannot add a NOT..." */) + ts+10215 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -132234,12 +132742,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 48 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+10253 /* "Cannot add a col..." */) + ts+10268 /* "Cannot add a col..." */) } Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { - sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+10299 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+10314 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -132255,7 +132763,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+10326, /* "UPDATE \"%w\".sqli..." */ + ts+10341, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp, zDb, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zCol, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zTab)) Xsqlite3DbFree(tls, db, zCol) @@ -132326,7 +132834,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+10472 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10487 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -132335,7 +132843,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+10506 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10521 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -132370,7 +132878,7 @@ __6: nAlloc = ((((int32((*Table)(unsafe.Pointer(pNew)).FnCol) - 1) / 8) * 8) + 8) (*Table)(unsafe.Pointer(pNew)).FaCol = Xsqlite3DbMallocZero(tls, db, (uint64(unsafe.Sizeof(Column{})) * uint64(nAlloc))) - (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+10536 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+10551 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(!(int32((*Table)(unsafe.Pointer(pNew)).FaCol) != 0) || !(int32((*Table)(unsafe.Pointer(pNew)).FzName) != 0)) { goto __7 } @@ -132417,18 +132925,18 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { - zType = ts + 10555 /* "view" */ + zType = ts + 10570 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 10560 /* "virtual table" */ + zType = ts + 10575 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10574, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10589, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 10592 /* "drop column from" */ + return ts + 10607 /* "drop column from" */ } - return ts + 10609 /* "rename columns o..." */ + return ts + 10624 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -132521,13 +133029,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+6730 /* "no such column: ..." */, libc.VaList(bp, zOld)) + Xsqlite3ErrorMsg(tls, pParse, ts+6745 /* "no such column: ..." */, libc.VaList(bp, zOld)) goto exit_rename_column __10: ; // Ensure the schema contains no double-quoted strings - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+740 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+755 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iSchema == 1))) // Do the rename operation using a recursive UPDATE statement that @@ -132545,19 +133053,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+10627, /* "UPDATE \"%w\".sqli..." */ + ts+10642, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+16, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, - ts+10845, /* "UPDATE temp.sqli..." */ + ts+10860, /* "UPDATE temp.sqli..." */ libc.VaList(bp+88, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+10031 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+10046 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -132852,12 +133360,12 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui var zN uintptr = Xsqlite3_value_text(tls, pObject) var zErr uintptr - zErr = Xsqlite3_mprintf(tls, ts+10976, /* "error in %s %s%s..." */ + zErr = Xsqlite3_mprintf(tls, ts+10991, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - return ts + 10999 /* " " */ + return ts + 11014 /* " " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -132966,7 +133474,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // ALTER TABLE statement was quoted (bQuote==1), then set zNew to // point to zQuot so that all substitutions are made using the // quoted version of the new column name. - zQuot = Xsqlite3MPrintf(tls, db, ts+11001 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+11016 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -133016,12 +133524,12 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.Xmemcpy(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, uint64((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+11007 /* "%Q%s" */, libc.VaList(bp+16, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+11022 /* "%Q%s" */, libc.VaList(bp+16, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { - return ts + 10999 /* " " */ + return ts + 11014 /* " " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -133526,7 +134034,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+740 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) + renameColumnParseError(tls, context, ts+755 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) goto __45 __44: Xsqlite3_result_error_code(tls, context, rc) @@ -133706,7 +134214,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr } if rc != SQLITE_OK { if (*Parse)(unsafe.Pointer(bp+80 /* &sParse */)).FzErrMsg != 0 { - renameColumnParseError(tls, context, ts+740 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) + renameColumnParseError(tls, context, ts+755 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -133988,7 +134496,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+11012 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) + zNew = Xsqlite3MPrintf(tls, db, ts+11027 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -1, libc.UintptrFromInt32(-1)) Xsqlite3_free(tls, zNew) @@ -134076,7 +134584,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+6730 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+6745 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -134086,12 +134594,12 @@ __6: if !((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & (COLFLAG_PRIMKEY | COLFLAG_UNIQUE)) != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+11019, /* "cannot drop %s c..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11034, /* "cannot drop %s c..." */ libc.VaList(bp+16, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - return ts + 11047 /* "PRIMARY KEY" */ + return ts + 11062 /* "PRIMARY KEY" */ } - return ts + 6551 /* "UNIQUE" */ + return ts + 6566 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -134102,7 +134610,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+11059 /* "cannot drop colu..." */, libc.VaList(bp+40, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+11074 /* "cannot drop colu..." */, libc.VaList(bp+40, zCol)) goto exit_drop_column __8: ; @@ -134111,15 +134619,15 @@ __8: iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+740 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+755 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+11107 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+56, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+11122 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+56, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+11228 /* "after drop colum..." */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+11243 /* "after drop colum..." */, 1) // Edit rows of table on disk if !(((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) && ((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_VIRTUAL) == 0)) { @@ -134230,11 +134738,11 @@ func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:109584:21: */ } var aAlterTableFuncs = [5]FuncDef{ - {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 11246 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 11267 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 11287 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 11306 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 11325 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ + {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 11261 /* "sqlite_rename_co..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 11282 /* "sqlite_rename_ta..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 11302 /* "sqlite_rename_te..." */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 11321 /* "sqlite_drop_colu..." */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 11340 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -134431,7 +134939,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // of the new table in register pParse->regRoot. This is important // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, - ts+11348 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) + ts+11363 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) *(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) *(*U8)(unsafe.Pointer(bp + 96 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } @@ -134443,10 +134951,10 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, - ts+11371, /* "DELETE FROM %Q.%..." */ + ts+11386, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+11401 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+72, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+11416 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+72, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4))), iDb) @@ -134467,9 +134975,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 11419 /* "sqlite_stat1" */, FzCols: ts + 11432 /* "tbl,idx,stat" */}, - {FzName: ts + 11445 /* "sqlite_stat4" */, FzCols: ts + 11458 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 11486 /* "sqlite_stat3" */}, + {FzName: ts + 11434 /* "sqlite_stat1" */, FzCols: ts + 11447 /* "tbl,idx,stat" */}, + {FzName: ts + 11460 /* "sqlite_stat4" */, FzCols: ts + 11473 /* "tbl,idx,neq,nlt,..." */}, + {FzName: ts + 11501 /* "sqlite_stat3" */}, } /* sqlite3.c:109773:5 */ // Recommended number of samples for sqlite_stat4 @@ -134700,7 +135208,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11499 /* "stat_init" */} /* sqlite3.c:110084:22 */ + FzName: ts + 11514 /* "stat_init" */} /* sqlite3.c:110084:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -135018,7 +135526,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11509 /* "stat_push" */} /* sqlite3.c:110374:22 */ + FzName: ts + 11524 /* "stat_push" */} /* sqlite3.c:110374:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -135075,7 +135583,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+11519, /* "%llu" */ + Xsqlite3_snprintf(tls, 24, zRet, ts+11534, /* "%llu" */ libc.VaList(bp, func() uint64 { if (*StatAccum)(unsafe.Pointer(p)).FnSkipAhead != 0 { return U64((*StatAccum)(unsafe.Pointer(p)).FnEst) @@ -135086,7 +135594,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+11524 /* " %llu" */, libc.VaList(bp+16, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+11539 /* " %llu" */, libc.VaList(bp+16, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -135135,7 +135643,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+11530 /* "%llu " */, libc.VaList(bp+32, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+11545 /* "%llu " */, libc.VaList(bp+32, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -135152,7 +135660,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 11536 /* "stat_get" */} /* sqlite3.c:110526:22 */ + FzName: ts + 11551 /* "stat_get" */} /* sqlite3.c:110526:22 */ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:110538:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, (regStat + 1)) @@ -135199,7 +135707,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Do not gather statistics on views or virtual tables return } - if Xsqlite3_strlike(tls, ts+11545 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, ts+11560 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { // Do not gather statistics on system tables return } @@ -135217,7 +135725,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp return } (*Table)(unsafe.Pointer(pStat1)).FzName = (pStat1 + 1*120) - libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+11419 /* "sqlite_stat1" */, uint64(13)) + libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+11434 /* "sqlite_stat1" */, uint64(13)) (*Table)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*Table)(unsafe.Pointer(pStat1)).FiPKey = int16(-1) Xsqlite3VdbeAddOp4(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Noop, 0, 0, 0, pStat1, -17) @@ -135450,7 +135958,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Add the entry to the stat1 table. callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+11555 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+11570 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP4(tls, v, -1, pStat1, -6) @@ -135512,7 +136020,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp jZeroRows = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, regStat1) Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regIdxname) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+11555 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+11570 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -135565,9 +136073,9 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) iStatCur = (*Parse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52 /* &.nTab */)) += (3) if pOnlyIdx != 0 { - openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+11559 /* "idx" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+11574 /* "idx" */) } else { - openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+11563 /* "tbl" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+11578 /* "tbl" */) } analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1), (*Parse)(unsafe.Pointer(pParse)).FnTab) loadAnalysis(tls, pParse, iDb) @@ -135662,7 +136170,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 740 /* "" */ + z = ts + 755 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -135684,15 +136192,15 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, ts+11567 /* "unordered*" */, z) == 0 { + if Xsqlite3_strglob(tls, ts+11582 /* "unordered*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(1), 2, 0x4) - } else if Xsqlite3_strglob(tls, ts+11578 /* "sz=[0-9]*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+11593 /* "sz=[0-9]*" */, z) == 0 { var sz int32 = Xsqlite3Atoi(tls, (z + uintptr(3))) if sz < 2 { sz = 2 } (*Index)(unsafe.Pointer(pIndex)).FszIdxRow = Xsqlite3LogEst(tls, uint64(sz)) - } else if Xsqlite3_strglob(tls, ts+11588 /* "noskipscan*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+11603 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(1), 6, 0x40) } for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { @@ -136011,10 +136519,10 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:111438:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines - if Xsqlite3FindTable(tls, db, ts+11445 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+11460 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+11600, /* "SELECT idx,count..." */ - ts+11654, /* "SELECT idx,neq,n..." */ + ts+11615, /* "SELECT idx,count..." */ + ts+11669, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -136065,9 +136573,9 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // Load new statistics out of the sqlite_stat1 table (*AnalysisInfo)(unsafe.Pointer(bp + 16 /* &sInfo */)).Fdb = db (*AnalysisInfo)(unsafe.Pointer(bp + 16 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+11419 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase) != uintptr(0) { + if Xsqlite3FindTable(tls, db, ts+11434 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+11706 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase)) + ts+11721 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { @@ -136159,7 +136667,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // database iDb attached to handle db. func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:111595:20: */ return (libc.Bool32((Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0) || - ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+6805 /* "main" */, zName) == 0)))) + ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+6820 /* "main" */, zName) == 0)))) } // An SQL user-function registered to do the work of an ATTACH statement. The @@ -136210,13 +136718,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 740 /* "" */ + zFile = ts + 755 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 740 /* "" */ + zName = ts + 755 /* "" */ __2: ; @@ -136226,7 +136734,7 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+4309 /* "memdb" */) + *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+4324 /* "memdb" */) if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)) == uintptr(0)) { goto __5 } @@ -136242,7 +136750,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)), ts+11747 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)), ts+11762 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -136255,7 +136763,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11750, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11765, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -136269,7 +136777,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11787 /* "database %s is a..." */, libc.VaList(bp+16, zName)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11802 /* "database %s is a..." */, libc.VaList(bp+16, zName)) goto attach_error __11: ; @@ -136340,7 +136848,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11817 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11832 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -136357,7 +136865,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+11846 /* "attached databas..." */, 0) + ts+11861 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -136427,13 +136935,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+6528 /* "out of memory" */, 0) + *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+6543 /* "out of memory" */, 0) goto __31 __30: if !(*(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11914 /* "unable to open d..." */, libc.VaList(bp+32, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11929 /* "unable to open d..." */, libc.VaList(bp+32, zFile)) __32: ; __31: @@ -136489,7 +136997,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 740 /* "" */ + zName = ts + 755 /* "" */ __1: ; i = 0 @@ -136521,14 +137029,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+11942 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+11957 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+11963 /* "cannot detach da..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+11978 /* "cannot detach da..." */, libc.VaList(bp+16, zName)) goto detach_error __8: ; @@ -136536,7 +137044,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+11989 /* "database %s is l..." */, libc.VaList(bp+32, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+12004 /* "database %s is l..." */, libc.VaList(bp+32, zName)) goto detach_error __9: ; @@ -136659,7 +137167,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 12011 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 12026 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -136672,7 +137180,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 12025 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ + FzName: ts + 12040 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ @@ -136687,7 +137195,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer((*DbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit.Fbusy != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } else { - Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+12039 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) + Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+12054 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) return WRC_Abort } } @@ -136720,7 +137228,7 @@ __1: if (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != Xsqlite3FindDbName(tls, db, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) { Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, - ts+12063, /* "%s %T cannot ref..." */ + ts+12078, /* "%s %T cannot ref..." */ libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType, (*DbFixer)(unsafe.Pointer(pFix)).FpName, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return WRC_Abort } @@ -136919,7 +137427,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112233:13: */ - Xsqlite3ErrorMsg(tls, pParse, ts+12109 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12124 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -136943,11 +137451,11 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - var z uintptr = Xsqlite3_mprintf(tls, ts+12132 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) + var z uintptr = Xsqlite3_mprintf(tls, ts+12147 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+12138 /* "%s.%z" */, libc.VaList(bp+24, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+12153 /* "%s.%z" */, libc.VaList(bp+24, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+12144 /* "access to %z is ..." */, libc.VaList(bp+48, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+12159 /* "access to %z is ..." */, libc.VaList(bp+48, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -136999,7 +137507,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName } else { - zCol = ts + 8035 /* "ROWID" */ + zCol = ts + 8050 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -137031,7 +137539,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+12171 /* "not authorized" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12186 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_OK) && (rc != SQLITE_IGNORE) { rc = SQLITE_DENY @@ -137341,25 +137849,25 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb { // No match against the official names. But always match "main" // to schema 0 as a legacy fallback. - if Xsqlite3StrICmp(tls, zDatabase, ts+6805 /* "main" */) == 0 { + if Xsqlite3StrICmp(tls, zDatabase, ts+6820 /* "main" */) == 0 { i = 0 } else { return uintptr(0) } } p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), zName) - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+8428 /* "sqlite_" */, 7) == 0) { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+8443 /* "sqlite_" */, 7) == 0) { if i == 1 { - if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+12186 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+12205 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+6303 /* "sqlite_master" */ +7)) == 0) { + if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+12201 /* "sqlite_temp_sche..." */ +7)) == 0) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+12220 /* "sqlite_schema" */ +7)) == 0)) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+6318 /* "sqlite_master" */ +7)) == 0) { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+12219 /* "sqlite_temp_mast..." */) + ts+12234 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+12205 /* "sqlite_schema" */ +7)) == 0 { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+12220 /* "sqlite_schema" */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), - ts+6303 /* "sqlite_master" */) + ts+6318 /* "sqlite_master" */) } } } @@ -137382,12 +137890,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+8428 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+12205 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+6303 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+12186 /* "sqlite_temp_sche..." */ +7)) == 0 { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+8443 /* "sqlite_" */, 7) == 0) { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+12220 /* "sqlite_schema" */ +7)) == 0 { + p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+6318 /* "sqlite_master" */) + } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+12201 /* "sqlite_temp_sche..." */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+12219 /* "sqlite_temp_mast..." */) + ts+12234 /* "sqlite_temp_mast..." */) } } } @@ -137423,7 +137931,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // can be an eponymous virtual table. if (int32((*Parse)(unsafe.Pointer(pParse)).FdisableVtab) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { var pMod uintptr = Xsqlite3HashFind(tls, (db + 536 /* &.aModule */), zName) - if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+12238 /* "pragma_" */, 7) == 0) { + if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+12253 /* "pragma_" */, 7) == 0) { pMod = Xsqlite3PragmaVtabRegister(tls, db, zName) } if (pMod != 0) && (Xsqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0) { @@ -137441,14 +137949,14 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if p == uintptr(0) { var zMsg uintptr if (flags & U32(LOCATE_VIEW)) != 0 { - zMsg = ts + 12246 /* "no such view" */ + zMsg = ts + 12261 /* "no such view" */ } else { - zMsg = ts + 12259 /* "no such table" */ + zMsg = ts + 12274 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6998 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7013 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+7008 /* "%s: %s" */, libc.VaList(bp+32, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7023 /* "%s: %s" */, libc.VaList(bp+32, zMsg, zName)) } } else { @@ -137761,7 +138269,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // writing. The table is opened using cursor 0. func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:113223:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) - Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+6303 /* "sqlite_master" */) + Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+6318 /* "sqlite_master" */) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) if (*Parse)(unsafe.Pointer(p)).FnTab == 0 { (*Parse)(unsafe.Pointer(p)).FnTab = 1 @@ -137788,7 +138296,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql } // "main" is always an acceptable alias for the primary database // even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. - if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+6805 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+6820 /* "main" */, zName)) { goto __3 } @@ -137841,13 +138349,13 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if (*Token)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+12273 /* "corrupt database" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12288 /* "corrupt database" */, 0) return -1 } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = Xsqlite3FindDb(tls, db, pName1) if iDb < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+12290 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+12305 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -137888,13 +138396,13 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType if ((Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit))) != 0) || (Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 1*8))) != 0)) || (Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 2*8))) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+740 /* "" */, 0) // corruptSchema() will supply the error + Xsqlite3ErrorMsg(tls, pParse, ts+755 /* "" */, 0) // corruptSchema() will supply the error return SQLITE_ERROR } } else { - if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+8428 /* "sqlite_" */, 7))) || + if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+8443 /* "sqlite_" */, 7))) || ((Xsqlite3ReadOnlyShadowTables(tls, db) != 0) && (Xsqlite3ShadowTableName(tls, db, zName) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+12310, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12325, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -138063,9 +138571,9 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui iDb = int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) zName = Xsqlite3DbStrDup(tls, db, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 12219 /* "sqlite_temp_mast..." */ + return ts + 12234 /* "sqlite_temp_mast..." */ } - return ts + 6303 /* "sqlite_master" */ + return ts + 6318 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)) = pName1 goto __2 @@ -138083,7 +138591,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+12352 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12367 /* "temporary table ..." */, 0) return __4: ; @@ -138111,9 +138619,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 10555 /* "view" */ + return ts + 10570 /* "view" */ } - return ts + 9170 /* "table" */ + return ts + 9185 /* "table" */ }(), zName) != 0) { goto __8 } @@ -138130,9 +138638,9 @@ __9: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (isTemp == 1) { - return ts + 12219 /* "sqlite_temp_mast..." */ + return ts + 12234 /* "sqlite_temp_mast..." */ } - return ts + 6303 /* "sqlite_master" */ + return ts + 6318 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -138170,7 +138678,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+12393 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+12408 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __16 __15: ; @@ -138184,7 +138692,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+12417 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12432 /* "there is already..." */, libc.VaList(bp+16, zName)) goto begin_table_error __17: ; @@ -138300,7 +138808,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:113716:13: */ var pHash uintptr pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - Xsqlite3HashInsert(tls, pHash, ts+12452 /* "sqlite_returning" */, uintptr(0)) + Xsqlite3HashInsert(tls, pHash, ts+12467 /* "sqlite_returning" */, uintptr(0)) Xsqlite3ExprListDelete(tls, db, (*Returning)(unsafe.Pointer(pRet)).FpReturnEL) Xsqlite3DbFree(tls, db, pRet) } @@ -138324,7 +138832,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Parse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+12469 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12484 /* "cannot use RETUR..." */, 0) } else { } @@ -138345,7 +138853,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 12452 /* "sqlite_returning" */ + (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 12467 /* "sqlite_returning" */ (*Returning)(unsafe.Pointer(pRet)).FretTrig.Fop = U8(TK_RETURNING) (*Returning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = U8(TRIGGER_AFTER) (*Returning)(unsafe.Pointer(pRet)).FretTrig.FbReturning = U8(1) @@ -138357,7 +138865,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql (*Returning)(unsafe.Pointer(pRet)).FretTStep.FpExprList = pList pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - if Xsqlite3HashInsert(tls, pHash, ts+12452 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+12467 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == (pRet + 16 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -138385,7 +138893,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp return } if (int32((*Table)(unsafe.Pointer(p)).FnCol) + 1) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+12503 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12518 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } z = Xsqlite3DbMallocRaw(tls, db, (uint64(((*Token)(unsafe.Pointer(pName)).Fn + (*Token)(unsafe.Pointer(pType)).Fn) + uint32(2)))) @@ -138401,7 +138909,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+12526 /* "duplicate column..." */, libc.VaList(bp+16, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+12541 /* "duplicate column..." */, libc.VaList(bp+16, z)) Xsqlite3DbFree(tls, db, z) return } @@ -138575,11 +139083,11 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar var isInit int32 = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) != 1))) pCol = ((*Table)(unsafe.Pointer(p)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(p)).FnCol)-1))*32) if !(Xsqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+12552, /* "default value of..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12567, /* "default value of..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+12597 /* "cannot use DEFAU..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12612 /* "cannot use DEFAU..." */, 0) } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. @@ -138629,7 +139137,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+12638 /* "generated column..." */, 0) + ts+12653 /* "generated column..." */, 0) } } @@ -138674,7 +139182,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+12690 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+12705 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit __2: ; @@ -138734,7 +139242,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+740 /* "" */), ts+12731 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+755 /* "" */), ts+12746 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -138762,7 +139270,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+12739 /* "AUTOINCREMENT is..." */, 0) + ts+12754 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -138866,7 +139374,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+12795 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12810 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -138879,13 +139387,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+12838 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+12853 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { goto __5 } // no-op goto __6 __5: - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+12846 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+12861 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { goto __7 } eType = U8(COLFLAG_STORED) @@ -138918,7 +139426,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+12853, /* "error in generat..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12868, /* "error in generat..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) generated_done: Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -139060,13 +139568,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 740 /* "" */ - zSep2 = ts + 12884 /* "," */ - zEnd = ts + 5413 /* ")" */ + zSep = ts + 755 /* "" */ + zSep2 = ts + 12899 /* "," */ + zEnd = ts + 5428 /* ")" */ } else { - zSep = ts + 12886 /* "\n " */ - zSep2 = ts + 12890 /* ",\n " */ - zEnd = ts + 12895 /* "\n)" */ + zSep = ts + 12901 /* "\n " */ + zSep2 = ts + 12905 /* ",\n " */ + zEnd = ts + 12910 /* "\n)" */ } n = n + (35 + (6 * int32((*Table)(unsafe.Pointer(p)).FnCol))) zStmt = Xsqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -139074,7 +139582,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+12898 /* "CREATE TABLE " */, 0) + Xsqlite3_snprintf(tls, n, zStmt, ts+12913 /* "CREATE TABLE " */, 0) *(*int32)(unsafe.Pointer(bp + 16 /* k */)) = Xsqlite3Strlen30(tls, zStmt) identPut(tls, zStmt, bp+16 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 16 /* k */)), 1)))) = int8('(') @@ -139108,16 +139616,16 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 16 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* k */)))), ts+3615 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 16 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* k */)))), ts+3630 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } var azType1 = [5]uintptr{ - /* SQLITE_AFF_BLOB */ ts + 740, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 12912, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 12918, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 12923, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 12928, /* " REAL" */ + /* SQLITE_AFF_BLOB */ ts + 755, /* "" */ + /* SQLITE_AFF_TEXT */ ts + 12927, /* " TEXT" */ + /* SQLITE_AFF_NUMERIC */ ts + 12933, /* " NUM" */ + /* SQLITE_AFF_INTEGER */ ts + 12938, /* " INT" */ + /* SQLITE_AFF_REAL */ ts + 12943, /* " REAL" */ } /* sqlite3.c:114391:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK @@ -139554,7 +140062,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // table itself. So mark it read-only. if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { if pSelect != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+740 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+755 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -139567,11 +140075,11 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (int32(tabOpts) & TF_WithoutRowid) != 0 { if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+12934 /* "AUTOINCREMENT no..." */, 0) + ts+12949 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+12984 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12999 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } *(*U32)(unsafe.Pointer(p + 64 /* &.tabFlags */)) |= (U32(TF_WithoutRowid | TF_NoVisibleRowid)) @@ -139615,7 +140123,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13016 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13031 /* "must have at lea..." */, 0) return } } @@ -139648,12 +140156,12 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // Initialize zType for the new view or table. if (*Table)(unsafe.Pointer(p)).FpSelect == uintptr(0) { // A regular table - zType = ts + 9170 /* "table" */ - zType2 = ts + 13060 /* "TABLE" */ + zType = ts + 9185 /* "table" */ + zType2 = ts + 13075 /* "TABLE" */ } else { // A view - zType = ts + 10555 /* "view" */ - zType2 = ts + 13066 /* "VIEW" */ + zType = ts + 10570 /* "view" */ + zType2 = ts + 13081 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -139734,7 +140242,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+13071 /* "CREATE %s %.*s" */, libc.VaList(bp+16, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+13086 /* "CREATE %s %.*s" */, libc.VaList(bp+16, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -139742,7 +140250,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+13086, /* "UPDATE %Q.sqlite..." */ + ts+13101, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+48, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, @@ -139760,14 +140268,14 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+13184, /* "CREATE TABLE %Q...." */ + ts+13199, /* "CREATE TABLE %Q...." */ libc.VaList(bp+112, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+13226 /* "tbl_name='%q' AN..." */, libc.VaList(bp+128, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+13241 /* "tbl_name='%q' AN..." */, libc.VaList(bp+128, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -139788,7 +140296,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // then record a pointer to this table in the main database structure // so that INSERT can find the table easily. - if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+9692 /* "sqlite_sequence" */) == 0 { + if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+9707 /* "sqlite_sequence" */) == 0 { (*Schema)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -139825,7 +140333,7 @@ func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui if !(int32((*Parse)(unsafe.Pointer(pParse)).FnVar) > 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+13260 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13275 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -139847,7 +140355,7 @@ __2: Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp /* &pName */) iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(p)).FpSchema) - Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+10555 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) + Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+10570 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) if !(Xsqlite3FixSelect(tls, bp+8 /* &sFix */, pSelect) != 0) { goto __3 } @@ -139964,7 +140472,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i // CREATE TEMP VIEW ex1 AS SELECT a FROM ex1; // SELECT * FROM temp.ex1; if int32((*Table)(unsafe.Pointer(pTable)).FnCol) < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13296 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13311 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) return 1 } @@ -140106,7 +140614,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) if iTable < 2 { - Xsqlite3ErrorMsg(tls, pParse, ts+13326 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13341 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -140120,7 +140628,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+13341, /* "UPDATE %Q.sqlite..." */ + ts+13356, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb+uintptr(iDb)*32)).FzDbSName, iTable, r1, r1)) Xsqlite3ReleaseTempReg(tls, pParse, r1) } @@ -140184,10 +140692,10 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint for i = 1; i <= 4; i++ { // var zTab [24]int8 at bp+56, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+56 /* &zTab[0] */, ts+13408 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+56 /* &zTab[0] */, ts+13423 /* "sqlite_stat%d" */, libc.VaList(bp, i)) if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+56 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+11371, /* "DELETE FROM %Q.%..." */ + ts+11386, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+16, zDbName, bp+56 /* &zTab[0] */, zType, zName)) } } @@ -140227,7 +140735,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // move as a result of the drop (can happen in auto-vacuum mode). if ((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+13422, /* "DELETE FROM %Q.s..." */ + ts+13437, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -140239,7 +140747,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+13467, /* "DELETE FROM %Q.s..." */ + ts+13482, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) @@ -140269,11 +140777,11 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Return true if it is not allowed to drop the given table func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:115607:12: */ - if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8428 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+13534 /* "stat" */, 4) == 0 { + if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8443 /* "sqlite_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+13549 /* "stat" */, 4) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+7497 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+7512 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -140354,9 +140862,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 12219 /* "sqlite_temp_mast..." */ + return ts + 12234 /* "sqlite_temp_mast..." */ } - return ts + 6303 /* "sqlite_master" */ + return ts + 6318 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zArg2 = uintptr(0) @@ -140416,7 +140924,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+13539 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13554 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __19: ; @@ -140426,14 +140934,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+13567 /* "use DROP TABLE t..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13582 /* "use DROP TABLE t..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+13601 /* "use DROP VIEW to..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13616 /* "use DROP VIEW to..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -140448,7 +140956,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+11563 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+11578 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -140513,7 +141021,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+13633, /* "foreign key on %..." */ + ts+13648, /* "foreign key on %..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(iCol)*32)).FzName, pTo)) goto fk_end __5: @@ -140526,7 +141034,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+13696 /* "number of column..." */, 0) + ts+13711 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -140610,7 +141118,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+13790, /* "unknown column \"..." */ + ts+13805, /* "unknown column \"..." */ libc.VaList(bp+24, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*32)).FzEName)) goto fk_end __23: @@ -140860,12 +141368,12 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pList)).FnExpr; i++ { if (uint32(int32(*(*uint8)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32 + 20 /* &.bNulls */)) & 0x20 >> 5))) != 0 { var sf U8 = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32)).FsortFlags - Xsqlite3ErrorMsg(tls, pParse, ts+13836, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13851, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 13864 /* "FIRST" */ + return ts + 13879 /* "FIRST" */ } - return ts + 13870 /* "LAST" */ + return ts + 13885 /* "LAST" */ }())) return 1 } @@ -141023,7 +141531,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+208 /* &sFix */, pParse, iDb, ts+13875 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 200 /* pName */))) + Xsqlite3FixInit(tls, bp+208 /* &sFix */, pParse, iDb, ts+13890 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 200 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+208 /* &sFix */, pTblName) != 0) { goto __10 } @@ -141044,7 +141552,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+13881, /* "cannot create a ..." */ + ts+13896, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -141071,26 +141579,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8428 /* "sqlite_" */, 7) == 0) && + if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8443 /* "sqlite_" */, 7) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0)) && (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+13931 /* "table %s may not..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13946 /* "table %s may not..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+13959 /* "views may not be..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13974 /* "views may not be..." */, 0) goto exit_create_index __16: ; if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+13984 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13999 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -141117,7 +141625,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+13875 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+13890 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { goto __21 } goto exit_create_index @@ -141132,7 +141640,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+14018 /* "there is already..." */, libc.VaList(bp+32, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14033 /* "there is already..." */, libc.VaList(bp+32, zName)) goto exit_create_index __24: ; @@ -141144,7 +141652,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+14052 /* "index %s already..." */, libc.VaList(bp+48, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14067 /* "index %s already..." */, libc.VaList(bp+48, zName)) goto __27 __26: ; @@ -141173,7 +141681,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+14076 /* "sqlite_autoindex..." */, libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+14091 /* "sqlite_autoindex..." */, libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -141202,9 +141710,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 12219 /* "sqlite_temp_mast..." */ + return ts + 12234 /* "sqlite_temp_mast..." */ } - return ts + 6303 /* "sqlite_master" */ + return ts + 6318 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -141248,7 +141756,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+13875 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+13890 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -141365,7 +141873,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+14099 /* "expressions proh..." */, 0) + ts+14114 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -141594,7 +142102,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+14160 /* "conflicting ON C..." */, libc.VaList(bp+88, 0)) + ts+14175 /* "conflicting ON C..." */, libc.VaList(bp+88, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -141650,7 +142158,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+14202 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14217 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -141708,12 +142216,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+14219, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+14234, /* "CREATE%s INDEX %..." */ libc.VaList(bp+104, func() uintptr { if onError == OE_None { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 14239 /* " UNIQUE" */ + return ts + 14254 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pName */)))).Fz)) goto __106 __105: @@ -141725,7 +142233,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+14247, /* "INSERT INTO %Q.s..." */ + ts+14262, /* "INSERT INTO %Q.s..." */ libc.VaList(bp+136, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -141741,7 +142249,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+14306 /* "name='%q' AND ty..." */, libc.VaList(bp+184, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+14321 /* "name='%q' AND ty..." */, libc.VaList(bp+184, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -141925,7 +142433,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+14333 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+14348 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __5 __4: Xsqlite3CodeVerifyNamedSchema(tls, pParse, (*SrcItem)(unsafe.Pointer((pName + 8 /* &.a */))).FzDatabase) @@ -141940,7 +142448,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+14351 /* "index associated..." */, libc.VaList(bp+16, 0)) + ts+14366 /* "index associated..." */, libc.VaList(bp+16, 0)) goto exit_drop_index __6: ; @@ -141951,9 +142459,9 @@ __6: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 12219 /* "sqlite_temp_mast..." */ + return ts + 12234 /* "sqlite_temp_mast..." */ } - return ts + 6303 /* "sqlite_master" */ + return ts + 6318 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -141981,9 +142489,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+14424, /* "DELETE FROM %Q.s..." */ + ts+14439, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) - sqlite3ClearStatTables(tls, pParse, iDb, ts+11559 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+11574 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) Xsqlite3VdbeAddOp4(tls, v, OP_DropIndex, iDb, 0, 0, (*Index)(unsafe.Pointer(pIndex)).FzName, 0) @@ -142134,7 +142642,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*SrcList)(unsafe.Pointer(pSrc)).FnSrc + nExtra) >= SQLITE_MAX_SRCLIST { - Xsqlite3ErrorMsg(tls, pParse, ts+14484, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14499, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -142346,12 +142854,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+14520, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14535, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 14556 /* "ON" */ + return ts + 14571 /* "ON" */ } - return ts + 14559 /* "USING" */ + return ts + 14574 /* "USING" */ }())) goto append_from_error __1: @@ -142479,7 +142987,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+14565 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { + if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+14580 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { return } v = Xsqlite3GetVdbe(tls, pParse) @@ -142515,9 +143023,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 14571 /* "ROLLBACK" */ + return ts + 14586 /* "ROLLBACK" */ } - return ts + 14580 /* "COMMIT" */ + return ts + 14595 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -142542,7 +143050,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 14565 /* "BEGIN" */, ts + 14587 /* "RELEASE" */, ts + 14571 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ +var az = [3]uintptr{ts + 14580 /* "BEGIN" */, ts + 14602 /* "RELEASE" */, ts + 14586 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. @@ -142558,7 +143066,7 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp /* &pBt */, 0, flags) if rc != SQLITE_OK { Xsqlite3ErrorMsg(tls, pParse, - ts+14595 /* "unable to open a..." */, 0) + ts+14610 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -142701,17 +143209,17 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx Xsqlite3StrAccumInit(tls, bp+16 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+16 /* &errMsg */, ts+14665 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+16 /* &errMsg */, ts+14680 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*32)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+16 /* &errMsg */, ts+14676 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+16 /* &errMsg */, ts+14691 /* ", " */, 2) } Xsqlite3_str_appendall(tls, bp+16 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+16 /* &errMsg */, ts+753 /* "." */, 1) + Xsqlite3_str_append(tls, bp+16 /* &errMsg */, ts+768 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+16 /* &errMsg */, zCol) } } @@ -142734,11 +143242,11 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr var rc int32 if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+12132 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+12147 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+14679 /* "%s.rowid" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+14694 /* "%s.rowid" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -142881,7 +143389,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+14688 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14703 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -142991,7 +143499,7 @@ func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) var i int32 for i = 0; i < (*With)(unsafe.Pointer(pWith)).FnCte; i++ { if Xsqlite3StrICmp(tls, zName, (*Cte)(unsafe.Pointer((pWith+16 /* &.a */)+uintptr(i)*48)).FzName) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14734 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14749 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -143225,7 +143733,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14764 /* "no such collatio..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14779 /* "no such collatio..." */, libc.VaList(bp, zName)) (*Parse)(unsafe.Pointer(pParse)).Frc = (SQLITE_ERROR | (int32(1) << 8)) } return p @@ -143591,11 +144099,11 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 defer tls.Free(32) if tabIsReadOnly(tls, pParse, pTab) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14795 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14810 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14824 /* "cannot modify %s..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14839 /* "cannot modify %s..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -144188,7 +144696,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14862 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14877 /* "rows deleted" */, uintptr(0)) __61: ; @@ -144333,7 +144841,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri } return 0 }()) - if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+11419 /* "sqlite_stat1" */)) { + if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+11434 /* "sqlite_stat1" */)) { Xsqlite3VdbeAppendP4(tls, v, pTab, -6) } if int32(eMode) != ONEPASS_OFF { @@ -144611,7 +145119,7 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 6615 /* "integer" */, ts + 6610 /* "real" */, ts + 14875 /* "text" */, ts + 14880 /* "blob" */, ts + 6605 /* "null" */} /* sqlite3.c:119398:21 */ +var azType2 = [5]uintptr{ts + 6630 /* "integer" */, ts + 6625 /* "real" */, ts + 14890 /* "text" */, ts + 14895 /* "blob" */, ts + 6620 /* "null" */} /* sqlite3.c:119398:21 */ // Implementation of the length() function func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119418:13: */ @@ -144675,7 +145183,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // IMP: R-31676-45509 If X is the integer -9223372036854775808 // then abs(X) throws an integer overflow error since there is no // equivalent positive 64-bit two complement value. - Xsqlite3_result_error(tls, context, ts+14885 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+14900 /* "integer overflow" */, -1) return } iVal = -iVal @@ -145013,7 +145521,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+14902 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 24 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+14917 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 24 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -145463,7 +145971,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 8*4)) { - Xsqlite3_result_error(tls, context, ts+14907 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+14922 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -145475,7 +145983,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } if Xsqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp /* zEsc */)), -1) != 1 { Xsqlite3_result_error(tls, context, - ts+14940 /* "ESCAPE expressio..." */, -1) + ts+14955 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -145541,7 +146049,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+3615 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // Implementation of the sqlite_compileoption_used() function. @@ -145598,10 +146106,10 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // var zBuf [50]int8 at bp+32, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+32 /* &zBuf[0] */, ts+5381 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+32 /* &zBuf[0] */, ts+5396 /* "%!.15g" */, libc.VaList(bp, r1)) Xsqlite3AtoF(tls, bp+32 /* &zBuf[0] */, bp+88 /* &r2 */, 20, uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp + 88 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+32 /* &zBuf[0] */, ts+14985 /* "%!.20e" */, libc.VaList(bp+16, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+32 /* &zBuf[0] */, ts+15000 /* "%!.20e" */, libc.VaList(bp+16, r1)) } Xsqlite3_result_text(tls, context, bp+32 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -145675,7 +146183,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+741 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+756 /* "NULL" */, 4, uintptr(0)) break } @@ -145986,7 +146494,7 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:120648:27 */ -var azOne = [1]uintptr{uintptr(ts + 10999 /* " " */)} /* sqlite3.c:120649:26 */ +var azOne = [1]uintptr{uintptr(ts + 11014 /* " " */)} /* sqlite3.c:120649:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -146007,7 +146515,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = ts + 740 /* "" */ + zIn = ts + 755 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -146033,7 +146541,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else { // IMP: R-64894-50321 The string "?000" is returned if the argument // is NULL or contains no ASCII alphabetic characters. - Xsqlite3_result_text(tls, context, ts+14992 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+15007 /* "?000" */, 4, uintptr(0)) } } @@ -146061,7 +146569,7 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // Disallow the load_extension() SQL function unless the SQLITE_LoadExtFunc // flag is set. See the sqlite3_enable_load_extension() API. if ((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_LoadExtFunc)) == uint64(0) { - Xsqlite3_result_error(tls, context, ts+12171 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+12186 /* "not authorized" */, -1) return } @@ -146149,7 +146657,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:120889:13: */ p = Xsqlite3_aggregate_context(tls, context, 0) if (p != 0) && ((*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0)) { if (*SumCtx)(unsafe.Pointer(p)).Foverflow != 0 { - Xsqlite3_result_error(tls, context, ts+14885 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+14900 /* "integer overflow" */, -1) } else if (*SumCtx)(unsafe.Pointer(p)).Fapprox != 0 { Xsqlite3_result_double(tls, context, (*SumCtx)(unsafe.Pointer(p)).FrSum) } else { @@ -146303,7 +146811,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zSep = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) nSep = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) } else { - zSep = ts + 12884 /* "," */ + zSep = ts + 12899 /* "," */ nSep = 1 } if zSep != 0 { @@ -146381,7 +146889,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:121112:13: // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:121135:21: */ - var rc int32 = Xsqlite3_overload_function(tls, db, ts+14997 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+15012 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -146401,14 +146909,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+15003 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+15018 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3CreateFunc(tls, db, ts+15003 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+15018 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+15003 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+15003 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+15018 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+15018 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) } // pExpr points to an expression which implements a function. If @@ -146513,76 +147021,76 @@ func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:121427:21: * var aBuiltinFunc = [68]FuncDef{ //**** Functions only available with SQLITE_TESTCTRL_INTERNAL_FUNCTIONS **** - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 15008 /* "implies_nonnull_..." */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 15028 /* "expr_compare" */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 15041 /* "expr_implies_exp..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 15023 /* "implies_nonnull_..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 15043 /* "expr_compare" */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 15056 /* "expr_implies_exp..." */}, //**** Regular functions **** - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15059 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 15067 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 15067 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 15082 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 15108 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 15133 /* "unlikely" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 15142 /* "likelihood" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 15153 /* "likely" */}, - {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 15160 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 15174 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 15174 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 15180 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 15180 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 15186 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 15186 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15191 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 15191 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 15191 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 15195 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 15195 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 15195 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 15199 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 15206 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15213 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15219 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15226 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15234 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15239 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15243 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15243 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15249 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15255 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15261 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 15265 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15272 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15279 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15290 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 15297 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 15312 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15329 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15340 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15346 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15364 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15372 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15386 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15394 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15403 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15403 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15410 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15410 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15420 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15424 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15430 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15434 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15434 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15440 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15440 /* "group_concat" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15074 /* "soundex" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 15082 /* "load_extension" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 15082 /* "load_extension" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 15097 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 15123 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 15148 /* "unlikely" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 15157 /* "likelihood" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 15168 /* "likely" */}, + {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 15175 /* "sqlite_offset" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 15189 /* "ltrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 15189 /* "ltrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 15195 /* "rtrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 15195 /* "rtrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 15201 /* "trim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 15201 /* "trim" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15206 /* "min" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 15206 /* "min" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 15206 /* "min" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 15210 /* "max" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 15210 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 15210 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 15214 /* "typeof" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 15221 /* "length" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15228 /* "instr" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15234 /* "printf" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15241 /* "unicode" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15249 /* "char" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15254 /* "abs" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15258 /* "round" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15258 /* "round" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15264 /* "upper" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15270 /* "lower" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15276 /* "hex" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 15280 /* "ifnull" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15287 /* "random" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15294 /* "randomblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15305 /* "nullif" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 15312 /* "sqlite_version" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 15327 /* "sqlite_source_id" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15344 /* "sqlite_log" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15355 /* "quote" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15361 /* "last_insert_rowi..." */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15379 /* "changes" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15387 /* "total_changes" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15401 /* "replace" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15409 /* "zeroblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15418 /* "substr" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15418 /* "substr" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15425 /* "substring" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15425 /* "substring" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15435 /* "sum" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15439 /* "total" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15445 /* "avg" */}, + {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15449 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15449 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15455 /* "group_concat" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 15455 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 15453 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 15003 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 15003 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 15458 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 15458 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15467 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 15458 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15472 /* "iif" */}} /* sqlite3.c:121438:18 */ + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 15468 /* "glob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 15018 /* "like" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 15018 /* "like" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 15473 /* "coalesce" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 15473 /* "coalesce" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 15482 /* "sign" */}, + {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 15473 /* "coalesce" */}, + {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 15487 /* "iif" */}} /* sqlite3.c:121438:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -146868,7 +147376,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey if !(pIdx != 0) { if !(int32((*Parse)(unsafe.Pointer(pParse)).FdisableTriggers) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+15476, /* "foreign key mism..." */ + ts+15491, /* "foreign key mism..." */ libc.VaList(bp, (*Table)(unsafe.Pointer((*FKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*FKey)(unsafe.Pointer(pFKey)).FzTo)) } Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiCol) @@ -147764,8 +148272,8 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, } for i = 0; i < (*FKey)(unsafe.Pointer(pFKey)).FnCol; i++ { - *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 6814 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 6810 /* "new" */, Fn: uint32(3)} // Literal "new" token + *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 6829 /* "old" */, Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 6825 /* "new" */, Fn: uint32(3)} // Literal "new" token // var tFromCol Token at bp+32, 16 // Name of column in child table // var tToCol Token at bp+16, 16 @@ -147853,7 +148361,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fz = zFrom (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fn = uint32(nFrom) - pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+5597 /* "FOREIGN KEY cons..." */) + pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+5612 /* "FOREIGN KEY cons..." */) if pRaise != 0 { (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -148283,7 +148791,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+8291 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+8306 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) } (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -148847,7 +149355,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+15521, /* "cannot INSERT in..." */ + ts+15536, /* "cannot INSERT in..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto insert_cleanup __24: @@ -148872,7 +149380,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+15562, /* "table %S has no ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+15577, /* "table %S has no ..." */ libc.VaList(bp+16, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*16)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup @@ -149042,7 +149550,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+15594, /* "table %S has %d ..." */ + ts+15609, /* "table %S has %d ..." */ libc.VaList(bp+40, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: @@ -149052,7 +149560,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+15646 /* "%d values for %d..." */, libc.VaList(bp+72, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+15661 /* "%d values for %d..." */, libc.VaList(bp+72, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -149108,7 +149616,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+15671, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+15686, /* "UPSERT not imple..." */ libc.VaList(bp+96, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -149116,7 +149624,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+15717 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15732 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -149596,7 +150104,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+15738 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+15753 /* "rows inserted" */, uintptr(0)) __123: ; @@ -149940,7 +150448,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+12132 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+12147 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_HaltIfNull, (SQLITE_CONSTRAINT | (int32(5) << 8)), onError, iReg) @@ -151343,7 +151851,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 740 /* "" */ + zSql = ts + 755 /* "" */ __2: ; @@ -151904,7 +152412,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+12171 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+12186 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -151914,7 +152422,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 15752 /* "sqlite3_extensio..." */ + zEntry = ts + 15767 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -151934,7 +152442,7 @@ __5: if !((ii < (int32(uint64(unsafe.Sizeof(azEndings)) / uint64(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+12132 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) + zAltFile = Xsqlite3_mprintf(tls, ts+12147 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) if !(zAltFile == uintptr(0)) { goto __8 } @@ -151980,7 +152488,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.Xmemcpy(tls, zAltEntry, ts+15775 /* "sqlite3_" */, uint64(8)) + libc.Xmemcpy(tls, zAltEntry, ts+15790 /* "sqlite3_" */, uint64(8)) iFile = (ncFile - 1) __12: if !((iFile >= 0) && !(((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/') || ((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '\\'))) { @@ -151994,7 +152502,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+15784 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+15799 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -152018,7 +152526,7 @@ __17: goto __18 __18: ; - libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+15788 /* "_init" */, uint64(6)) + libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+15803 /* "_init" */, uint64(6)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -152036,7 +152544,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)), - ts+15794 /* "no entry point [..." */, libc.VaList(bp+24, zEntry, zFile)) + ts+15809 /* "no entry point [..." */, libc.VaList(bp+24, zEntry, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */))) __22: ; @@ -152061,7 +152569,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+15837 /* "error during ini..." */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+15852 /* "error during ini..." */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)))) __25: ; Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */))) @@ -152101,7 +152609,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)), - ts+15869 /* "unable to open s..." */, libc.VaList(bp+64, FILENAME_MAX, zFile)) + ts+15884 /* "unable to open s..." */, libc.VaList(bp+64, FILENAME_MAX, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */))) __29: ; @@ -152111,7 +152619,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 15906, /* "dll" */ + ts + 15921, /* "dll" */ } /* sqlite3.c:127457:21 */ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127590:16: */ @@ -152278,7 +152786,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)) = uintptr(0) if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+16 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+15910 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)))) + ts+15925 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */))) @@ -152323,61 +152831,61 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 // or that return single-column results where the name of the // result column is different from the name of the pragma var pragCName = [51]uintptr{ - /* 0 */ ts + 5518, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 15949, /* "seq" */ - /* 2 */ ts + 9170, /* "table" */ - /* 3 */ ts + 15953, /* "from" */ - /* 4 */ ts + 15958, /* "to" */ - /* 5 */ ts + 15961, /* "on_update" */ - /* 6 */ ts + 15971, /* "on_delete" */ - /* 7 */ ts + 15981, /* "match" */ - /* 8 */ ts + 15987, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 15991, /* "name" */ - /* 10 */ ts + 15996, /* "type" */ - /* 11 */ ts + 16001, /* "notnull" */ - /* 12 */ ts + 16009, /* "dflt_value" */ - /* 13 */ ts + 16020, /* "pk" */ - /* 14 */ ts + 16023, /* "hidden" */ + /* 0 */ ts + 5533, /* "id" */ // Used by: foreign_key_list + /* 1 */ ts + 15964, /* "seq" */ + /* 2 */ ts + 9185, /* "table" */ + /* 3 */ ts + 15968, /* "from" */ + /* 4 */ ts + 15973, /* "to" */ + /* 5 */ ts + 15976, /* "on_update" */ + /* 6 */ ts + 15986, /* "on_delete" */ + /* 7 */ ts + 15996, /* "match" */ + /* 8 */ ts + 16002, /* "cid" */ // Used by: table_xinfo + /* 9 */ ts + 16006, /* "name" */ + /* 10 */ ts + 16011, /* "type" */ + /* 11 */ ts + 16016, /* "notnull" */ + /* 12 */ ts + 16024, /* "dflt_value" */ + /* 13 */ ts + 16035, /* "pk" */ + /* 14 */ ts + 16038, /* "hidden" */ // table_info reuses 8 - /* 15 */ ts + 16030, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 15987, /* "cid" */ - /* 17 */ ts + 15991, /* "name" */ - /* 18 */ ts + 16036, /* "desc" */ - /* 19 */ ts + 16041, /* "coll" */ - /* 20 */ ts + 16046, /* "key" */ - /* 21 */ ts + 15991, /* "name" */ // Used by: function_list - /* 22 */ ts + 16050, /* "builtin" */ - /* 23 */ ts + 15996, /* "type" */ - /* 24 */ ts + 16058, /* "enc" */ - /* 25 */ ts + 16062, /* "narg" */ - /* 26 */ ts + 16067, /* "flags" */ - /* 27 */ ts + 11563, /* "tbl" */ // Used by: stats - /* 28 */ ts + 11559, /* "idx" */ - /* 29 */ ts + 16073, /* "wdth" */ - /* 30 */ ts + 16078, /* "hght" */ - /* 31 */ ts + 16083, /* "flgs" */ - /* 32 */ ts + 15949, /* "seq" */ // Used by: index_list - /* 33 */ ts + 15991, /* "name" */ - /* 34 */ ts + 16088, /* "unique" */ - /* 35 */ ts + 16095, /* "origin" */ - /* 36 */ ts + 16102, /* "partial" */ - /* 37 */ ts + 9170, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 16110, /* "rowid" */ - /* 39 */ ts + 5521, /* "parent" */ - /* 40 */ ts + 16116, /* "fkid" */ + /* 15 */ ts + 16045, /* "seqno" */ // Used by: index_xinfo + /* 16 */ ts + 16002, /* "cid" */ + /* 17 */ ts + 16006, /* "name" */ + /* 18 */ ts + 16051, /* "desc" */ + /* 19 */ ts + 16056, /* "coll" */ + /* 20 */ ts + 16061, /* "key" */ + /* 21 */ ts + 16006, /* "name" */ // Used by: function_list + /* 22 */ ts + 16065, /* "builtin" */ + /* 23 */ ts + 16011, /* "type" */ + /* 24 */ ts + 16073, /* "enc" */ + /* 25 */ ts + 16077, /* "narg" */ + /* 26 */ ts + 16082, /* "flags" */ + /* 27 */ ts + 11578, /* "tbl" */ // Used by: stats + /* 28 */ ts + 11574, /* "idx" */ + /* 29 */ ts + 16088, /* "wdth" */ + /* 30 */ ts + 16093, /* "hght" */ + /* 31 */ ts + 16098, /* "flgs" */ + /* 32 */ ts + 15964, /* "seq" */ // Used by: index_list + /* 33 */ ts + 16006, /* "name" */ + /* 34 */ ts + 16103, /* "unique" */ + /* 35 */ ts + 16110, /* "origin" */ + /* 36 */ ts + 16117, /* "partial" */ + /* 37 */ ts + 9185, /* "table" */ // Used by: foreign_key_check + /* 38 */ ts + 16125, /* "rowid" */ + /* 39 */ ts + 5536, /* "parent" */ + /* 40 */ ts + 16131, /* "fkid" */ // index_info reuses 15 - /* 41 */ ts + 15949, /* "seq" */ // Used by: database_list - /* 42 */ ts + 15991, /* "name" */ - /* 43 */ ts + 16121, /* "file" */ - /* 44 */ ts + 16126, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 16131, /* "log" */ - /* 46 */ ts + 16135, /* "checkpointed" */ + /* 41 */ ts + 15964, /* "seq" */ // Used by: database_list + /* 42 */ ts + 16006, /* "name" */ + /* 43 */ ts + 16136, /* "file" */ + /* 44 */ ts + 16141, /* "busy" */ // Used by: wal_checkpoint + /* 45 */ ts + 16146, /* "log" */ + /* 46 */ ts + 16150, /* "checkpointed" */ // collation_list reuses 32 - /* 47 */ ts + 16148, /* "database" */ // Used by: lock_status - /* 48 */ ts + 16157, /* "status" */ - /* 49 */ ts + 16164, /* "cache_size" */ // Used by: default_cache_size + /* 47 */ ts + 16163, /* "database" */ // Used by: lock_status + /* 48 */ ts + 16172, /* "status" */ + /* 49 */ ts + 16179, /* "cache_size" */ // Used by: default_cache_size // module_list pragma_list reuses 9 - /* 50 */ ts + 16175, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 16190, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas @@ -152394,237 +152902,237 @@ type PragmaName1 = struct { // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [66]PragmaName{ - { /* zName: */ FzName: ts + 16183, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 16198, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 16198, /* "application_id" */ + { /* zName: */ FzName: ts + 16213, /* "application_id" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_APPLICATION_ID)}, - { /* zName: */ FzName: ts + 16213, /* "auto_vacuum" */ + { /* zName: */ FzName: ts + 16228, /* "auto_vacuum" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_AUTO_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 16225, /* "automatic_index" */ + { /* zName: */ FzName: ts + 16240, /* "automatic_index" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_AutoIndex)}, - { /* zName: */ FzName: ts + 16241, /* "busy_timeout" */ + { /* zName: */ FzName: ts + 16256, /* "busy_timeout" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_BUSY_TIMEOUT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(50), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 16164, /* "cache_size" */ + { /* zName: */ FzName: ts + 16179, /* "cache_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 16254, /* "cache_spill" */ + { /* zName: */ FzName: ts + 16269, /* "cache_spill" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SPILL), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 16266, /* "case_sensitive_l..." */ + { /* zName: */ FzName: ts + 16281, /* "case_sensitive_l..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CASE_SENSITIVE_LIKE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 16286, /* "cell_size_check" */ + { /* zName: */ FzName: ts + 16301, /* "cell_size_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CellSizeCk)}, - { /* zName: */ FzName: ts + 16302, /* "checkpoint_fullf..." */ + { /* zName: */ FzName: ts + 16317, /* "checkpoint_fullf..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CkptFullFSync)}, - { /* zName: */ FzName: ts + 16323, /* "collation_list" */ + { /* zName: */ FzName: ts + 16338, /* "collation_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COLLATION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 16338, /* "compile_options" */ + { /* zName: */ FzName: ts + 16353, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 16354, /* "count_changes" */ + { /* zName: */ FzName: ts + 16369, /* "count_changes" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (U64((uint64(0x00001))) << 32)}, - { /* zName: */ FzName: ts + 16368, /* "data_store_direc..." */ + { /* zName: */ FzName: ts + 16383, /* "data_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATA_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 16389, /* "data_version" */ + { /* zName: */ FzName: ts + 16404, /* "data_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_DATA_VERSION)}, - { /* zName: */ FzName: ts + 16402, /* "database_list" */ + { /* zName: */ FzName: ts + 16417, /* "database_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATABASE_LIST), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_Result0)), /* ColNames: */ FiPragCName: U8(41), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 16416, /* "default_cache_si..." */ + { /* zName: */ FzName: ts + 16431, /* "default_cache_si..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DEFAULT_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1)), /* ColNames: */ FiPragCName: U8(49), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 16435, /* "defer_foreign_ke..." */ + { /* zName: */ FzName: ts + 16450, /* "defer_foreign_ke..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_DeferFKs)}, - { /* zName: */ FzName: ts + 16454, /* "empty_result_cal..." */ + { /* zName: */ FzName: ts + 16469, /* "empty_result_cal..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_NullCallback)}, - { /* zName: */ FzName: ts + 16477, /* "encoding" */ + { /* zName: */ FzName: ts + 16492, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 16486, /* "foreign_key_chec..." */ + { /* zName: */ FzName: ts + 16501, /* "foreign_key_chec..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_CHECK), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(37), FnPragCName: U8(4)}, - { /* zName: */ FzName: ts + 16504, /* "foreign_key_list" */ + { /* zName: */ FzName: ts + 16519, /* "foreign_key_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), FnPragCName: U8(8)}, - { /* zName: */ FzName: ts + 16521, /* "foreign_keys" */ + { /* zName: */ FzName: ts + 16536, /* "foreign_keys" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ForeignKeys)}, - { /* zName: */ FzName: ts + 16534, /* "freelist_count" */ + { /* zName: */ FzName: ts + 16549, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 16549, /* "full_column_name..." */ + { /* zName: */ FzName: ts + 16564, /* "full_column_name..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullColNames)}, - { /* zName: */ FzName: ts + 16567, /* "fullfsync" */ + { /* zName: */ FzName: ts + 16582, /* "fullfsync" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullFSync)}, - { /* zName: */ FzName: ts + 16577, /* "function_list" */ + { /* zName: */ FzName: ts + 16592, /* "function_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FUNCTION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(21), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 16591, /* "hard_heap_limit" */ + { /* zName: */ FzName: ts + 16606, /* "hard_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HARD_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 16607, /* "ignore_check_con..." */ + { /* zName: */ FzName: ts + 16622, /* "ignore_check_con..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_IgnoreChecks)}, - { /* zName: */ FzName: ts + 16632, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 16647, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 16651, /* "index_info" */ + { /* zName: */ FzName: ts + 16666, /* "index_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 16662, /* "index_list" */ + { /* zName: */ FzName: ts + 16677, /* "index_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(5)}, - { /* zName: */ FzName: ts + 16673, /* "index_xinfo" */ + { /* zName: */ FzName: ts + 16688, /* "index_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(6), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 16685, /* "integrity_check" */ + { /* zName: */ FzName: ts + 16700, /* "integrity_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 16701, /* "journal_mode" */ + { /* zName: */ FzName: ts + 16716, /* "journal_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_MODE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 16714, /* "journal_size_lim..." */ + { /* zName: */ FzName: ts + 16729, /* "journal_size_lim..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_SIZE_LIMIT), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 16733, /* "legacy_alter_tab..." */ + { /* zName: */ FzName: ts + 16748, /* "legacy_alter_tab..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_LegacyAlter)}, - { /* zName: */ FzName: ts + 16752, /* "locking_mode" */ + { /* zName: */ FzName: ts + 16767, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 16765, /* "max_page_count" */ + { /* zName: */ FzName: ts + 16780, /* "max_page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 16780, /* "mmap_size" */ + { /* zName: */ FzName: ts + 16795, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 16790, /* "module_list" */ + { /* zName: */ FzName: ts + 16805, /* "module_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MODULE_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 16802, /* "optimize" */ + { /* zName: */ FzName: ts + 16817, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 16811, /* "page_count" */ + { /* zName: */ FzName: ts + 16826, /* "page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 16822, /* "page_size" */ + { /* zName: */ FzName: ts + 16837, /* "page_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_SIZE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 16832, /* "pragma_list" */ + { /* zName: */ FzName: ts + 16847, /* "pragma_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PRAGMA_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 16844, /* "query_only" */ + { /* zName: */ FzName: ts + 16859, /* "query_only" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_QueryOnly)}, - { /* zName: */ FzName: ts + 16855, /* "quick_check" */ + { /* zName: */ FzName: ts + 16870, /* "quick_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 16867, /* "read_uncommitted" */ + { /* zName: */ FzName: ts + 16882, /* "read_uncommitted" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReadUncommit)}, - { /* zName: */ FzName: ts + 16884, /* "recursive_trigge..." */ + { /* zName: */ FzName: ts + 16899, /* "recursive_trigge..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_RecTriggers)}, - { /* zName: */ FzName: ts + 16903, /* "reverse_unordere..." */ + { /* zName: */ FzName: ts + 16918, /* "reverse_unordere..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReverseOrder)}, - { /* zName: */ FzName: ts + 16929, /* "schema_version" */ + { /* zName: */ FzName: ts + 16944, /* "schema_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_SCHEMA_VERSION)}, - { /* zName: */ FzName: ts + 16944, /* "secure_delete" */ + { /* zName: */ FzName: ts + 16959, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 16958, /* "short_column_nam..." */ + { /* zName: */ FzName: ts + 16973, /* "short_column_nam..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ShortColNames)}, - { /* zName: */ FzName: ts + 16977, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 16992, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 16991, /* "soft_heap_limit" */ + { /* zName: */ FzName: ts + 17006, /* "soft_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SOFT_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 17007, /* "synchronous" */ + { /* zName: */ FzName: ts + 17022, /* "synchronous" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SYNCHRONOUS), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 17019, /* "table_info" */ + { /* zName: */ FzName: ts + 17034, /* "table_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 17030, /* "table_xinfo" */ + { /* zName: */ FzName: ts + 17045, /* "table_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(7), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 17042, /* "temp_store" */ + { /* zName: */ FzName: ts + 17057, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 17053, /* "temp_store_direc..." */ + { /* zName: */ FzName: ts + 17068, /* "temp_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 17074, /* "threads" */ + { /* zName: */ FzName: ts + 17089, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 17082, /* "trusted_schema" */ + { /* zName: */ FzName: ts + 17097, /* "trusted_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_TrustedSchema)}, - { /* zName: */ FzName: ts + 17097, /* "user_version" */ + { /* zName: */ FzName: ts + 17112, /* "user_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_USER_VERSION)}, - { /* zName: */ FzName: ts + 17110, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 17125, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 17129, /* "wal_checkpoint" */ + { /* zName: */ FzName: ts + 17144, /* "wal_checkpoint" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_CHECKPOINT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NeedSchema), /* ColNames: */ FiPragCName: U8(44), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 17144, /* "writable_schema" */ + { /* zName: */ FzName: ts + 17159, /* "writable_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError))}, @@ -152661,7 +153169,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 17160 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 17175 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ @@ -152678,10 +153186,10 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:128 // Interpret the given string as a locking mode value. func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ if z != 0 { - if 0 == Xsqlite3StrICmp(tls, z, ts+4139 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+4154 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+17185 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+17200 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -152694,13 +153202,13 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ var i int32 - if 0 == Xsqlite3StrICmp(tls, z, ts+17192 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+17207 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+17197 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+17212 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+17202 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+17217 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -152718,9 +153226,9 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128566:12: */ if (int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '2') { return (int32(*(*int8)(unsafe.Pointer(z))) - '0') - } else if Xsqlite3StrICmp(tls, z, ts+16121 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+16136 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+17214 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+17229 /* "memory" */) == 0 { return 2 } else { return 0 @@ -152736,7 +153244,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || (Xsqlite3BtreeTxnState(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) != SQLITE_TXN_NONE) { Xsqlite3ErrorMsg(tls, pParse, - ts+17221 /* "temporary storag..." */, 0) + ts+17236 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) @@ -152836,19 +153344,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 17283 /* "SET NULL" */ + zName = ts + 17298 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 17292 /* "SET DEFAULT" */ + zName = ts + 17307 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 17304 /* "CASCADE" */ + zName = ts + 17319 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 17312 /* "RESTRICT" */ + zName = ts + 17327 /* "RESTRICT" */ break default: - zName = ts + 17321 /* "NO ACTION" */ + zName = ts + 17336 /* "NO ACTION" */ break } return zName @@ -152866,7 +153374,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 17331 /* "delete" */, ts + 17338 /* "persist" */, ts + 17346 /* "off" */, ts + 17350 /* "truncate" */, ts + 17214 /* "memory" */, ts + 17359, /* "wal" */ + ts + 17346 /* "delete" */, ts + 17353 /* "persist" */, ts + 17361 /* "off" */, ts + 17365 /* "truncate" */, ts + 17229 /* "memory" */, ts + 17374, /* "wal" */ } /* sqlite3.c:128715:15 */ // Locate a pragma in the aPragmaName[] array. @@ -152912,13 +153420,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 17363 /* "w" */ + zType = ts + 17378 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 17365 /* "a" */ + zType = ts + 17380 /* "a" */ } else { - zType = ts + 17367 /* "s" */ + zType = ts + 17382 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17369, /* "sissii" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17384, /* "sissii" */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, azEnc[((*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK))], int32((*FuncDef)(unsafe.Pointer(p)).FnArg), @@ -152927,7 +153435,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } var mask U32 = (U32((((SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY) | SQLITE_SUBTYPE) | SQLITE_INNOCUOUS) | SQLITE_FUNC_INTERNAL)) /* sqlite3.c:128765:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 17376 /* "utf8" */, ts + 17381 /* "utf16le" */, ts + 17389 /* "utf16be" */} /* sqlite3.c:128772:23 */ +var azEnc = [4]uintptr{uintptr(0), ts + 17391 /* "utf8" */, ts + 17396 /* "utf16le" */, ts + 17404 /* "utf16be" */} /* sqlite3.c:128772:23 */ // Helper subroutine for PRAGMA integrity_check: // @@ -153191,7 +153699,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+17397 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+17412 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -153246,7 +153754,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+3615 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */))) __10: ; @@ -153832,7 +154340,7 @@ __18: if !(zRight != 0) { goto __63 } - if !(Xsqlite3_stricmp(tls, zRight, ts+17401 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+17416 /* "fast" */) == 0) { goto __64 } b = 2 @@ -153921,7 +154429,7 @@ __71: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 17185 /* "normal" */ + zRet = ts + 17200 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -153962,7 +154470,7 @@ __78: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __83 } - zRet = ts + 4139 /* "exclusive" */ + zRet = ts + 4154 /* "exclusive" */ __83: ; returnSingleText(tls, v, zRet) @@ -154327,7 +154835,7 @@ __123: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 592 /* res */)) == 0)) { goto __126 } - Xsqlite3ErrorMsg(tls, pParse, ts+17406 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17421 /* "not a writable d..." */, 0) goto pragma_out __126: ; @@ -154345,7 +154853,7 @@ __127: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __128 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp+32, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+32, zRight)) goto __129 __128: Xsqlite3_temp_directory = uintptr(0) @@ -154380,7 +154888,7 @@ __130: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 596 /* res1 */)) == 0)) { goto __133 } - Xsqlite3ErrorMsg(tls, pParse, ts+17406 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17421 /* "not a writable d..." */, 0) goto pragma_out __133: ; @@ -154390,7 +154898,7 @@ __132: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __134 } - Xsqlite3_data_directory = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp+48, zRight)) + Xsqlite3_data_directory = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+48, zRight)) goto __135 __134: Xsqlite3_data_directory = uintptr(0) @@ -154418,7 +154926,7 @@ __136: goto __138 } Xsqlite3ErrorMsg(tls, pParse, - ts+17431 /* "Safety level may..." */, 0) + ts+17446 /* "Safety level may..." */, 0) goto __139 __138: if !(iDb != 1) { @@ -154577,13 +155085,13 @@ __160: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 17484 /* "issisii" */ + return ts + 17499 /* "issisii" */ } - return ts + 17492 /* "issisi" */ + return ts + 17507 /* "issisi" */ }(), libc.VaList(bp+64, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+740 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+755 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -154658,7 +155166,7 @@ __172: goto __174 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17499 /* "iisX" */, libc.VaList(bp+128, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17514 /* "iisX" */, libc.VaList(bp+128, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -154668,7 +155176,7 @@ __172: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __175 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+17504, /* "isiX" */ + Xsqlite3VdbeMultiLoad(tls, v, 4, ts+17519, /* "isiX" */ libc.VaList(bp+160, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) @@ -154705,8 +155213,8 @@ __178: if !(pIdx1 != 0) { goto __180 } - *(*[3]uintptr)(unsafe.Pointer(bp + 600 /* azOrigin */)) = [3]uintptr{ts + 17509 /* "c" */, ts + 17511 /* "u" */, ts + 16020 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17513, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 600 /* azOrigin */)) = [3]uintptr{ts + 17524 /* "c" */, ts + 17526 /* "u" */, ts + 16035 /* "pk" */} + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17528, /* "isisi" */ libc.VaList(bp+192, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), @@ -154740,7 +155248,7 @@ __181: __184: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17519, /* "iss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17534, /* "iss" */ libc.VaList(bp+240, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FpBt))) @@ -154763,7 +155271,7 @@ __185: goto __187 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17523 /* "is" */, libc.VaList(bp+272, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17538 /* "is" */, libc.VaList(bp+272, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __186 __186: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -154827,7 +155335,7 @@ __197: goto __199 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17367 /* "s" */, libc.VaList(bp+296, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17382 /* "s" */, libc.VaList(bp+296, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __198 __198: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -154844,7 +155352,7 @@ __200: if !(i6 < (int32(uint64(unsafe.Sizeof(aPragmaName)) / uint64(unsafe.Sizeof(PragmaName{}))))) { goto __202 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17367 /* "s" */, libc.VaList(bp+312, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17382 /* "s" */, libc.VaList(bp+312, aPragmaName[i6].FzName)) goto __201 __201: i6++ @@ -154880,7 +155388,7 @@ __208: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __210 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17526, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17541, /* "iissssss" */ libc.VaList(bp+328, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -154888,7 +155396,7 @@ __208: (*sColMap)(unsafe.Pointer((pFK+64 /* &.aCol */)+uintptr(j2)*16)).FzCol, actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */) + 1))), // ON UPDATE actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */)))), // ON DELETE - ts+17535 /* "NONE" */)) + ts+17550 /* "NONE" */)) goto __209 __209: j2++ @@ -155081,7 +155589,7 @@ __237: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __238: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+17540 /* "siX" */, libc.VaList(bp+400, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+17555 /* "siX" */, libc.VaList(bp+400, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 632 /* aiCols */))) @@ -155347,7 +155855,7 @@ __265: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+17544 /* "*** in database ..." */, libc.VaList(bp+424, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+17559 /* "*** in database ..." */, libc.VaList(bp+424, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -155437,7 +155945,7 @@ __284: __285: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+17568 /* "NULL value in %s..." */, libc.VaList(bp+440, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+17583 /* "NULL value in %s..." */, libc.VaList(bp+440, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*32)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -155477,7 +155985,7 @@ __290: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+17588, /* "CHECK constraint..." */ + zErr1 = Xsqlite3MPrintf(tls, db, ts+17603, /* "CHECK constraint..." */ libc.VaList(bp+464, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) @@ -155511,9 +156019,9 @@ __295: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 648 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+17618 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+17633 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+17623 /* " missing from in..." */) + Xsqlite3VdbeLoadString(tls, v, 4, ts+17638 /* " missing from in..." */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) jmp5 = Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) @@ -155553,7 +156061,7 @@ __299: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 648 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+17644 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+17659 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __296: @@ -155575,7 +156083,7 @@ __291: if !(!(isQuick != 0)) { goto __301 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+17671 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+17686 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __302: @@ -155626,7 +156134,7 @@ __247: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 640 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 17700 /* "ok" */ + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 17715 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16 /* &.p4 */)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT) __306: @@ -155704,7 +156212,7 @@ __313: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __315 } - Xsqlite3ErrorMsg(tls, pParse, ts+17703 /* "unsupported enco..." */, libc.VaList(bp+480, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+17718 /* "unsupported enco..." */, libc.VaList(bp+480, zRight)) __315: ; __310: @@ -155816,19 +156324,19 @@ __48: if !(zRight != 0) { goto __322 } - if !(Xsqlite3StrICmp(tls, zRight, ts+17197 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+17212 /* "full" */) == 0) { goto __323 } eMode2 = SQLITE_CHECKPOINT_FULL goto __324 __323: - if !(Xsqlite3StrICmp(tls, zRight, ts+17728 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+17743 /* "restart" */) == 0) { goto __325 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __326 __325: - if !(Xsqlite3StrICmp(tls, zRight, ts+17350 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+17365 /* "truncate" */) == 0) { goto __327 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -156015,7 +156523,7 @@ __342: __344: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+17736, /* "ANALYZE \"%w\".\"%w..." */ + zSubSql = Xsqlite3MPrintf(tls, db, ts+17751, /* "ANALYZE \"%w\".\"%w..." */ libc.VaList(bp+496, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __345 @@ -156199,14 +156707,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 17754 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 17759 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 17765 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 17774 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 17783 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 17791 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 17799 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 17806 /* "UTF16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 17769 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, + {FzName: ts + 17774 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] + {FzName: ts + 17780 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] + {FzName: ts + 17789 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] + {FzName: ts + 17798 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, + {FzName: ts + 17806 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, + {FzName: ts + 17814 /* "UTF-16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 17821 /* "UTF16" */}, // SQLITE_UTF16NATIVE {}, } /* sqlite3.c:130285:7 */ var setCookie = [2]VdbeOpList{ @@ -156263,7 +156771,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argc _ = argv Xsqlite3StrAccumInit(tls, bp+56 /* &acc */, uintptr(0), bp+88 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+17812 /* "CREATE TABLE x" */) + Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+17827 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -156271,7 +156779,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+56 /* &acc */, ts+17827 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+56 /* &acc */, ts+17842 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -156284,19 +156792,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+56 /* &acc */, ts+17834 /* "(\"%s\"" */, libc.VaList(bp+24, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+56 /* &acc */, ts+17849 /* "(\"%s\"" */, libc.VaList(bp+24, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+17840 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+17855 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+17852 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+17867 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+56 /* &acc */, ts+5413 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+56 /* &acc */, ts+5428 /* ")" */, 1) Xsqlite3StrAccumFinish(tls, bp+56 /* &acc */) rc = Xsqlite3_declare_vtab(tls, db, bp+88 /* &zBuf[0] */) @@ -156312,7 +156820,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp+40, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+40, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -156475,7 +156983,7 @@ __1: var zText uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp, zText)) + *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, zText)) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) == uintptr(0) { return SQLITE_NOMEM } @@ -156491,13 +156999,13 @@ __2: __3: ; Xsqlite3StrAccumInit(tls, bp+64 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 128 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+64 /* &acc */, ts+17867 /* "PRAGMA " */) + Xsqlite3_str_appendall(tls, bp+64 /* &acc */, ts+17882 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp+64 /* &acc */, ts+17875 /* "%Q." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) + Xsqlite3_str_appendf(tls, bp+64 /* &acc */, ts+17890 /* "%Q." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) } Xsqlite3_str_appendall(tls, bp+64 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+64 /* &acc */, ts+17879 /* "=%Q" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+64 /* &acc */, ts+17894 /* "=%Q" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) } zSql = Xsqlite3StrAccumFinish(tls, bp+64 /* &acc */) if zSql == uintptr(0) { @@ -156506,7 +157014,7 @@ __3: rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp+48, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+48, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -156599,12 +157107,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) // A error message has already been generated. Do not overwrite it } else if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & (U32(INITFLAG_AlterRename | INITFLAG_AlterDrop))) != 0 { *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db, - ts+17883 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), + ts+17898 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), func() uintptr { if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & U32(INITFLAG_AlterRename)) != 0 { - return ts + 17911 /* "rename" */ + return ts + 17926 /* "rename" */ } - return ts + 17918 /* "drop column" */ + return ts + 17933 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -156616,11 +157124,11 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { zObj = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - zObj = ts + 5469 /* "?" */ + zObj = ts + 5484 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+17930 /* "malformed databa..." */, libc.VaList(bp+40, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+17945 /* "malformed databa..." */, libc.VaList(bp+40, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+17961 /* "%z - %s" */, libc.VaList(bp+56, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+17976 /* "%z - %s" */, libc.VaList(bp+56, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -156697,7 +157205,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr if (Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (db+184 /* &.init */ /* &.newTnum */)) == 0) || (((*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum > (*InitData)(unsafe.Pointer(pData)).FmxPage) && ((*InitData)(unsafe.Pointer(pData)).FmxPage > Pgno(0))) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+14202 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+14217 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -156734,13 +157242,13 @@ 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+17969 /* "orphan index" */) + corruptSchema(tls, pData, argv, ts+17984 /* "orphan index" */) } else if (((Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (pIndex+88 /* &.tnum */)) == 0) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2))) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage)) || (Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+14202 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+14217 /* "invalid rootpage" */) } } } @@ -156783,16 +157291,16 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */)) = ts + 9170 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */)) = ts + 9185 /* "table" */ *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 1*8)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 12219 /* "sqlite_temp_mast..." */ + return ts + 12234 /* "sqlite_temp_mast..." */ } - return ts + 6303 /* "sqlite_master" */ + return ts + 6318 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 1*8)) - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 3*8)) = ts + 8260 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 4*8)) = ts + 17982 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 3*8)) = ts + 8275 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 4*8)) = ts + 17997 /* "CREATE TABLE x(t..." */ *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 5*8)) = uintptr(0) (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FiDb = iDb @@ -156905,7 +157413,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+11846 /* "attached databas..." */) + ts+11861 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -156945,7 +157453,7 @@ __16: if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) { goto __17 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+18054 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+18069 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -156967,7 +157475,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+18078, /* "SELECT*FROM\"%w\"...." */ + ts+18093, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName)) xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth @@ -157327,7 +157835,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+18112 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+18127 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -157355,7 +157863,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18142 /* "statement too lo..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18157 /* "statement too lo..." */, 0) rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG) goto end_prepare __10: @@ -157418,7 +157926,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+3615 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */)))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+3630 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */))) goto __21 __20: @@ -157893,24 +158401,24 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC } } if ((jointype & (JT_INNER | JT_OUTER)) == (JT_INNER | JT_OUTER)) || ((jointype & JT_ERROR) != 0) { - var zSp uintptr = ts + 10999 /* " " */ + var zSp uintptr = ts + 11014 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+18161 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) + ts+18176 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) jointype = JT_INNER } else if ((jointype & JT_OUTER) != 0) && ((jointype & (JT_LEFT | JT_RIGHT)) != JT_LEFT) { Xsqlite3ErrorMsg(tls, pParse, - ts+18205 /* "RIGHT and FULL O..." */, 0) + ts+18220 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18260 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18275 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -158116,7 +158624,7 @@ __1: if (int32((*SrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype) & JT_NATURAL) != 0 { if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) || ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+18294 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) + ts+18309 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) return 1 } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { @@ -158140,7 +158648,7 @@ __1: // Disallow both ON and USING clauses in the same join if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) && ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+18344 /* "cannot have both..." */, 0) + ts+18359 /* "cannot have both..." */, 0) return 1 } @@ -158175,7 +158683,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+40 /* &iLeft */, bp+44 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+18399 /* "cannot join usin..." */, libc.VaList(bp+16, zName)) + ts+18414 /* "cannot join usin..." */, libc.VaList(bp+16, zName)) return 1 } addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 40 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 44 /* iLeftCol */)), (i + 1), iRightCol, @@ -158966,16 +159474,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 18463 /* "UNION ALL" */ + z = ts + 18478 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 18473 /* "INTERSECT" */ + z = ts + 18488 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 18483 /* "EXCEPT" */ + z = ts + 18498 /* "EXCEPT" */ break default: - z = ts + 18490 /* "UNION" */ + z = ts + 18505 /* "UNION" */ break } return z @@ -158993,7 +159501,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18496 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18511 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } // Assign expression b to lvalue a. A second, no-op, version of this macro @@ -159259,8 +159767,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 12731 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 16110 /* "rowid" */ + zType = ts + 12746 /* "INTEGER" */ + *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 16125 /* "rowid" */ } else { *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName zType = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), uintptr(0)) @@ -159413,13 +159921,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 16110 /* "rowid" */ + zCol = ts + 16125 /* "rowid" */ } else { zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } if fullName != 0 { var zName uintptr = uintptr(0) - zName = Xsqlite3MPrintf(tls, db, ts+12132 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) + zName = Xsqlite3MPrintf(tls, db, ts+12147 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } else { Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, libc.UintptrFromInt32(-1)) @@ -159427,7 +159935,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*32)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+18519 /* "column%d" */, libc.VaList(bp+24, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+18534 /* "column%d" */, libc.VaList(bp+24, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -159516,7 +160024,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } else { - zName = ts + 16110 /* "rowid" */ + zName = ts + 16125 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -159529,7 +160037,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+18519 /* "column%d" */, libc.VaList(bp, (i+1))) + zName = Xsqlite3MPrintf(tls, db, ts+18534 /* "column%d" */, libc.VaList(bp, (i+1))) } // Make sure the column name is unique. If the name is not unique, @@ -159544,7 +160052,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+18528 /* "%.*z:%u" */, libc.VaList(bp+16, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 72 /* cnt */)), 1))) + zName = Xsqlite3MPrintf(tls, db, ts+18543 /* "%.*z:%u" */, libc.VaList(bp+16, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 72 /* cnt */)), 1))) if *(*U32)(unsafe.Pointer(bp + 72 /* cnt */)) > U32(3) { Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+72 /* &cnt */) } @@ -159901,7 +160409,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+18536 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18551 /* "cannot use windo..." */, 0) return __1: ; @@ -160012,7 +160520,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+18585 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18600 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -160034,7 +160542,7 @@ __14: // Store the results of the setup-query in Queue. pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior (*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18627 /* "SETUP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18642 /* "SETUP" */, 0) rc = Xsqlite3Select(tls, pParse, pSetup, bp /* &destQueue */) (*Select)(unsafe.Pointer(pSetup)).FpNext = p if !(rc != 0) { @@ -160077,7 +160585,7 @@ __20: // Execute the recursive SELECT taking the single row in Current as // the value for the recursive-table. Store the results in the Queue. (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18633 /* "RECURSIVE STEP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18648 /* "RECURSIVE STEP" */, 0) Xsqlite3Select(tls, pParse, p, bp /* &destQueue */) (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -160127,11 +160635,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+18648 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18663 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { if nRow == 1 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 18671 /* "S" */ + return ts + 18686 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -160283,8 +160791,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18673 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18688 /* "LEFT-MOST SUBQUE..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18688 /* "COMPOUND QUERY" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18703 /* "LEFT-MOST SUBQUE..." */, 0) __8: ; @@ -160333,7 +160841,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18463 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18478 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+32 /* &dest */) @@ -160409,7 +160917,7 @@ __23: pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 80 /* &uniondest */)).FeDest = op - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18707 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18722 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+80 /* &uniondest */) @@ -160481,7 +160989,7 @@ __26: pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 120 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18707 /* "%s USING TEMP B-..." */, libc.VaList(bp+16, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18722 /* "%s USING TEMP B-..." */, libc.VaList(bp+16, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+120 /* &intersectdest */) @@ -160642,10 +161150,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) defer tls.Free(16) if ((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Values)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+18728 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18743 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+18774, /* "SELECTs to the l..." */ + ts+18789, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -161025,9 +161533,9 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Separate the left and the right query from one another (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) (*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) - Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7598 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7613 /* "ORDER" */) if (*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7598 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7613 /* "ORDER" */) } // Compute the limit registers @@ -161056,7 +161564,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) Xsqlite3SelectDestInit(tls, bp+16 /* &destA */, SRT_Coroutine, regAddrA) Xsqlite3SelectDestInit(tls, bp+56 /* &destB */, SRT_Coroutine, regAddrB) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18856 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18871 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) // Generate a coroutine to evaluate the SELECT statement to the // left of the compound operator - the "A" select. @@ -161064,7 +161572,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18867 /* "LEFT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18882 /* "LEFT" */, 0) Xsqlite3Select(tls, pParse, pPrior, bp+16 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -161078,7 +161586,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+18872 /* "RIGHT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18887 /* "RIGHT" */, 0) Xsqlite3Select(tls, pParse, p, bp+56 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -161275,7 +161783,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 303 /* "BINARY" */ + return ts + 318 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -162488,12 +162996,12 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 return U8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8 /* &.u */)) - if Xsqlite3StrICmp(tls, zFunc, ts+15191 /* "min" */) == 0 { + if Xsqlite3StrICmp(tls, zFunc, ts+15206 /* "min" */) == 0 { eRet = WHERE_ORDERBY_MIN if Xsqlite3ExprCanBeNull(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */))).FpExpr) != 0 { sortFlags = U8(KEYINFO_ORDER_BIGNULL) } - } else if Xsqlite3StrICmp(tls, zFunc, ts+15195 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+15210 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -162562,7 +163070,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+18878 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) + Xsqlite3ErrorMsg(tls, pParse, ts+18893 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) return SQLITE_ERROR } @@ -162673,7 +163181,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s defer tls.Free(16) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+18896 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+18911 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) return 1 } return 0 @@ -162861,7 +163369,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+60 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+18919 /* "multiple referen..." */, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+18934 /* "multiple referen..." */, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -162877,7 +163385,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 18962 /* "circular referen..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 18977 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 64 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { @@ -162903,7 +163411,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+18985, /* "table %s has %d ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+19000, /* "table %s has %d ..." */ libc.VaList(bp+32, (*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 @@ -162914,9 +163422,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom Xsqlite3ColumnsFromExprList(tls, pParse, pEList, (pTab + 70 /* &.nCol */), (pTab + 8 /* &.aCol */)) if bMayRecursive != 0 { if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19023 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19038 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19057 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19072 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -162964,7 +163472,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+19095 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + (*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19110 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) } for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior @@ -163091,7 +163599,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+19107, /* "too many referen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+19122, /* "too many referen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) (*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return WRC_Abort @@ -163110,7 +163618,7 @@ __1: if (((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (((*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+19146, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+19161, /* "access to view \"..." */ libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -163118,7 +163626,7 @@ __1: ((uint32(int32(*(*uint16)(unsafe.Pointer((pFrom + 60 /* &.fg */) + 4 /* &.fromDDL */)) & 0x40 >> 6))) != 0)) && ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+19177, /* "unsafe use of vi..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+19192, /* "unsafe use of vi..." */ libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) @@ -163233,7 +163741,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName } else { - zSchemaName = ts + 19210 /* "*" */ + zSchemaName = ts + 19225 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -163282,7 +163790,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+12132 /* "%s.%s" */, libc.VaList(bp+48, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+12147 /* "%s.%s" */, libc.VaList(bp+48, zTabName, zName)) zToFree = zColname } } else { @@ -163298,7 +163806,7 @@ __3: (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSub)).FpEList+8 /* &.a */)+uintptr(j)*32)).FzEName) } else { - (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19212, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19227, /* "%s.%s.%s" */ libc.VaList(bp+72, zSchemaName, zTabName, zColname)) } @@ -163318,9 +163826,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+19221 /* "no such table: %..." */, libc.VaList(bp+104, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+19236 /* "no such table: %..." */, libc.VaList(bp+104, zTName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+19239 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19254 /* "no tables specif..." */, 0) } } } @@ -163330,7 +163838,7 @@ __3: } if (*Select)(unsafe.Pointer(p)).FpEList != 0 { if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+19259 /* "too many columns..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19274 /* "too many columns..." */, 0) return WRC_Abort } if (elistFlags & (U32(EP_HasFunc | EP_Subquery))) != U32(0) { @@ -163518,13 +164026,13 @@ __1: if (*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)) == uintptr(0)) || ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)))).FnExpr != 1) { Xsqlite3ErrorMsg(tls, pParse, - ts+19290 /* "DISTINCT aggrega..." */, 0) + ts+19305 /* "DISTINCT aggrega..." */, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1 } else { var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)), 0, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -9) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19341 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19356 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } @@ -163724,19 +164232,19 @@ 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 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19374, /* "SCAN %s%s%s" */ + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19389, /* "SCAN %s%s%s" */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if bCover != 0 { - return ts + 19386 /* " USING COVERING ..." */ + return ts + 19401 /* " USING COVERING ..." */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) } } @@ -163756,7 +164264,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { if (Xsqlite3ExprIsConstantOrGroupBy(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*Select)(unsafe.Pointer(pS)).FpGroupBy) != 0) && ((libc.Bool32(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromJoin | EP_IsFalse))) == U32(EP_IsFalse))) == 0) { var db uintptr = (*Parse)(unsafe.Pointer((*Walker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+8260 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+8275 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -164058,7 +164566,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+19409, /* "target object/al..." */ + ts+19424, /* "target object/al..." */ libc.VaList(bp, func() uintptr { if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 { return (*SrcItem)(unsafe.Pointer(p0)).FzAlias @@ -164138,7 +164646,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+19463, /* "expected %d colu..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+19478, /* "expected %d colu..." */ libc.VaList(bp+16, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end __18: @@ -164279,7 +164787,7 @@ __29: if !(((*SrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0)) && ((*SrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0))) { goto __32 } - Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+740 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+755 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -164344,7 +164852,7 @@ __35: (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop Xsqlite3SelectDestInit(tls, bp+128 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19503 /* "CO-ROUTINE %!S" */, libc.VaList(bp+48, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19518 /* "CO-ROUTINE %!S" */, libc.VaList(bp+48, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+128 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) @@ -164406,7 +164914,7 @@ __44: __45: ; Xsqlite3SelectDestInit(tls, bp+128 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19518 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19533 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+128 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { @@ -164926,9 +165434,9 @@ __97: explainTempTable(tls, pParse, func() uintptr { if ((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { - return ts + 19534 /* "DISTINCT" */ + return ts + 19549 /* "DISTINCT" */ } - return ts + 19543 /* "GROUP BY" */ + return ts + 19558 /* "GROUP BY" */ }()) groupBySort = 1 @@ -165340,7 +165848,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+19534 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+19549 /* "DISTINCT" */) __140: ; @@ -165352,9 +165860,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FnOBSat > 0 { - return ts + 19552 /* "RIGHT PART OF OR..." */ + return ts + 19567 /* "RIGHT PART OF OR..." */ } - return ts + 19575 /* "ORDER BY" */ + return ts + 19590 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+80 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -165488,7 +165996,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if !(z == uintptr(0)) { goto __10 } @@ -165510,7 +166018,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+19584 /* "sqlite3_get_tabl..." */, 0) + ts+19599 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -165609,7 +166117,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg)) } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg) } @@ -165770,7 +166278,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+19649 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19664 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -165831,7 +166339,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+64 /* &sFix */, pParse, iDb, ts+19695 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */))) + Xsqlite3FixInit(tls, bp+64 /* &sFix */, pParse, iDb, ts+19710 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+64 /* &sFix */, pTableName) != 0) { goto __9 } @@ -165849,7 +166357,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+19703 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19718 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -165864,7 +166372,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19695 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { + if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19710 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { goto __13 } goto trigger_cleanup @@ -165880,7 +166388,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+19744 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+19759 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */)))) goto __17 __16: ; @@ -165894,10 +166402,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8428 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8443 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+19770 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19785 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -165907,12 +166415,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+19808, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+19823, /* "cannot create %s..." */ libc.VaList(bp+16, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 19845 /* "BEFORE" */ + return ts + 19860 /* "BEFORE" */ } - return ts + 19852 /* "AFTER" */ + return ts + 19867 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -165921,7 +166429,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+19858 /* "cannot create IN..." */, libc.VaList(bp+40, pTableName+8 /* &.a */)) + ts+19873 /* "cannot create IN..." */, libc.VaList(bp+40, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -165951,9 +166459,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 12219 /* "sqlite_temp_mast..." */ + return ts + 12234 /* "sqlite_temp_mast..." */ } - return ts + 6303 /* "sqlite_master" */ + return ts + 6318 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -166087,7 +166595,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+56 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+72 /* &sFix */, pParse, iDb, ts+19695 /* "trigger" */, bp+56 /* &nameToken */) + Xsqlite3FixInit(tls, bp+72 /* &sFix */, pParse, iDb, ts+19710 /* "trigger" */, bp+56 /* &nameToken */) if !((Xsqlite3FixTriggerStep(tls, bp+72 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || (Xsqlite3FixExpr(tls, bp+72 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 @@ -166124,13 +166632,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+19904, /* "INSERT INTO %Q.s..." */ + ts+19919, /* "INSERT INTO %Q.s..." */ libc.VaList(bp, (*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+19979 /* "type='trigger' A..." */, libc.VaList(bp+40, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+19994 /* "type='trigger' A..." */, libc.VaList(bp+40, zName)), uint16(0)) __7: ; __6: @@ -166396,7 +166904,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+20008 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+20023 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __10 __9: Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb) @@ -166437,9 +166945,9 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName var zTab uintptr = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 12219 /* "sqlite_temp_mast..." */ + return ts + 12234 /* "sqlite_temp_mast..." */ } - return ts + 6303 /* "sqlite_master" */ + return ts + 6318 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -166452,7 +166960,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / // Generate code to destroy the database record of the trigger. if (libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse))) != uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+20028, /* "DELETE FROM %Q.s..." */ + ts+20043, /* "DELETE FROM %Q.s..." */ 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) @@ -166571,12 +167079,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+20090, /* "%s RETURNING is ..." */ + ts+20105, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 20138 /* "DELETE" */ + return ts + 20153 /* "DELETE" */ } - return ts + 20145 /* "UPDATE" */ + return ts + 20160 /* "UPDATE" */ }())) __15: ; @@ -166672,7 +167180,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK { return 0 } - Xsqlite3ErrorMsg(tls, pParse, ts+20152 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20167 /* "RETURNING may no..." */, 0) return 1 } @@ -166813,7 +167321,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf if (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { Xsqlite3VdbeAddOp4(tls, v, OP_Trace, 0x7fffffff, 1, 0, - Xsqlite3MPrintf(tls, db, ts+6490 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+6505 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -166943,7 +167451,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+20194 /* "-- TRIGGER %s" */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) + Xsqlite3MPrintf(tls, db, ts+20209 /* "-- TRIGGER %s" */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -167646,7 +168154,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+20208, /* "cannot UPDATE ge..." */ + ts+20223, /* "cannot UPDATE ge..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto update_cleanup __27: @@ -167678,7 +168186,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+20244 /* "no such column: ..." */, libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20259 /* "no such column: ..." */, libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -167689,7 +168197,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 8035 /* "ROWID" */ + return ts + 8050 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*32)).FzName }(), @@ -168720,7 +169228,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+20263 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+20278 /* "rows updated" */, uintptr(0)) __169: ; @@ -169107,10 +169615,10 @@ __1: if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { *(*int8)(unsafe.Pointer(bp + 232 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+232 /* &zWhich[0] */, ts+20276 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+232 /* &zWhich[0] */, ts+20291 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+20280 /* "%sON CONFLICT cl..." */, libc.VaList(bp+16, bp+232 /* &zWhich[0] */)) + ts+20295 /* "%sON CONFLICT cl..." */, libc.VaList(bp+16, bp+232 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -169201,7 +169709,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, iDataCur, 0, iPk, nPk) Xsqlite3VdbeAddOp4(tls, v, OP_Halt, SQLITE_CORRUPT, OE_Abort, 0, - ts+12273 /* "corrupt database" */, -1) + ts+12288 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -169269,7 +169777,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { // then run VACUUM to get those statements to execute at inappropriate // times. if (zSubSql != 0) && - ((libc.Xstrncmp(tls, zSubSql, ts+20353 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+20357 /* "INS" */, uint64(3)) == 0)) { + ((libc.Xstrncmp(tls, zSubSql, ts+20368 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+20372 /* "INS" */, uint64(3)) == 0)) { rc = execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -169419,14 +169927,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+20361 /* "cannot VACUUM fr..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+20376 /* "cannot VACUUM fr..." */) return SQLITE_ERROR // IMP: R-12218-18073 __1: ; if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) { goto __2 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+20401 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+20416 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -169437,7 +169945,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+20444 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+20459 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -169446,7 +169954,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 76 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 740 /* "" */ + zOut = ts + 755 /* "" */ __4: ; @@ -169482,7 +169990,7 @@ __4: // time to parse and run the PRAGMA to turn journalling off than it does // to write the journal header file. nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb - rc = execSqlF(tls, db, pzErrMsg, ts+20462 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) + rc = execSqlF(tls, db, pzErrMsg, ts+20477 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if !(rc != SQLITE_OK) { goto __6 @@ -169503,7 +170011,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+20485 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+20500 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -169519,7 +170027,7 @@ __7: // Begin a transaction and take an exclusive lock on the main database // file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, // to ensure that we do not try to change the page-size on a WAL database. - rc = execSql(tls, db, pzErrMsg, ts+14565 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+14580 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -169570,7 +170078,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+20512, /* "SELECT sql FROM ..." */ + ts+20527, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -169580,7 +170088,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+20620, /* "SELECT sql FROM ..." */ + ts+20635, /* "SELECT sql FROM ..." */ libc.VaList(bp+32, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -169595,7 +170103,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+20674, /* "SELECT'INSERT IN..." */ + ts+20689, /* "SELECT'INSERT IN..." */ libc.VaList(bp+48, zDbMain)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) @@ -169612,7 +170120,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+20825, /* "INSERT INTO vacu..." */ + ts+20840, /* "INSERT INTO vacu..." */ libc.VaList(bp+64, zDbMain)) if !(rc != 0) { goto __16 @@ -169992,7 +170500,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp var azModuleArg uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*Table)(unsafe.Pointer(pTable)).FnModuleArg + 3) >= *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+12503 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12518 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = Xsqlite3DbRealloc(tls, db, (*Table)(unsafe.Pointer(pTable)).FazModuleArg, uint64(nBytes)) if azModuleArg == uintptr(0) { @@ -170086,7 +170594,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s 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+20955 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) + zStmt = Xsqlite3MPrintf(tls, db, ts+20970 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) // A slot for the record has already been allocated in the // schema table. We just need to update that slot with all @@ -170098,7 +170606,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+20979, /* "UPDATE %Q.sqlite..." */ + ts+20994, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -170108,7 +170616,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+21078 /* "name=%Q AND sql=..." */, libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+21093 /* "name=%Q AND sql=..." */, libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -170173,7 +170681,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+21097 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+21112 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return SQLITE_LOCKED } } @@ -170211,9 +170719,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21139 /* "vtable construct..." */, libc.VaList(bp+16, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21154 /* "vtable construct..." */, libc.VaList(bp+16, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3615 /* "%s" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3630 /* "%s" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) @@ -170225,7 +170733,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+64 /* &sCtx */)).FbDeclared == 0 { - var zFormat uintptr = ts + 21169 /* "vtable construct..." */ + var zFormat uintptr = ts + 21184 /* "vtable construct..." */ *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR @@ -170241,12 +170749,12 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Table)(unsafe.Pointer(pTab)).FpVTable = pVTable for iCol = 0; iCol < int32((*Table)(unsafe.Pointer(pTab)).FnCol); iCol++ { - var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+740 /* "" */) + var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+755 /* "" */) var nType int32 var i int32 = 0 nType = Xsqlite3Strlen30(tls, zType) for i = 0; i < nType; i++ { - if ((0 == Xsqlite3_strnicmp(tls, ts+16023 /* "hidden" */, (zType+uintptr(i)), 6)) && + if ((0 == Xsqlite3_strnicmp(tls, ts+16038 /* "hidden" */, (zType+uintptr(i)), 6)) && ((i == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && ((int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { break @@ -170305,13 +170813,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 if !(pMod != 0) { var zModule uintptr = *(*uintptr)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FazModuleArg)) - Xsqlite3ErrorMsg(tls, pParse, ts+21215 /* "no such module: ..." */, libc.VaList(bp, zModule)) + Xsqlite3ErrorMsg(tls, pParse, ts+21230 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)) = uintptr(0) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+32 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+3615 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */))) @@ -170373,7 +170881,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // invoke it now. If the module has not been registered, return an // error. Otherwise, do nothing. 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+21215 /* "no such module: ..." */, libc.VaList(bp, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21230 /* "no such module: ..." */, 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) @@ -170450,7 +170958,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 424 /* zErr */)) != 0 { - return ts + 3615 /* "%s" */ + return ts + 3630 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErr */)))) @@ -170822,7 +171330,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+16 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+3615 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 @@ -171253,10 +171761,10 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:144931:29 */ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:145112:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == (-2) { - return ts + 21234 /* "" */ + return ts + 21249 /* "" */ } if i == (-1) { - return ts + 16110 /* "rowid" */ + return ts + 16125 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*32)).FzName } @@ -171271,35 +171779,35 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i var i int32 if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, ts+21241 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+21256 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+21247 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+21262 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+12884 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+12899 /* "," */, 1) } Xsqlite3_str_appendall(tls, pStr, explainIndexColumnName(tls, pIdx, (iTerm+i))) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+5413 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+5428 /* ")" */, 1) } Xsqlite3_str_append(tls, pStr, zOp, 1) if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+21247 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+21262 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+12884 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+12899 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+5469 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+5484 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+5413 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+5428 /* ")" */, 1) } } @@ -171328,29 +171836,29 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. 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+21249 /* " (" */, 2) + Xsqlite3_str_append(tls, pStr, ts+21264 /* " (" */, 2) for i = 0; i < int32(nEq); i++ { var z uintptr = explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+21241 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+21256 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 21252 /* "%s=?" */ + return ts + 21267 /* "%s=?" */ } - return ts + 21257 /* "ANY(%s)" */ + return ts + 21272 /* "ANY(%s)" */ }(), 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 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+21265 /* ">" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+21280 /* ">" */) i = 1 } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_TOP_LIMIT)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+21267 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+21282 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+5413 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+5428 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -171395,11 +171903,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr Xsqlite3StrAccumInit(tls, bp+80 /* &str */, db, bp+112 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) (*StrAccum)(unsafe.Pointer(bp + 80 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+80 /* &str */, ts+21269 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3_str_appendf(tls, bp+80 /* &str */, ts+21284 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { - return ts + 21275 /* "SEARCH" */ + return ts + 21290 /* "SEARCH" */ } - return ts + 21282 /* "SCAN" */ + return ts + 21297 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -171409,38 +171917,38 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr if !(((*Table)(unsafe.Pointer(((*SrcItem)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = ts + 11047 /* "PRIMARY KEY" */ + zFmt = ts + 11062 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 21287 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 21302 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 21320 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 21335 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 21345 /* "COVERING INDEX %..." */ + zFmt = ts + 21360 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 21363 /* "INDEX %s" */ + zFmt = ts + 21378 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+80 /* &str */, ts+21372 /* " USING " */, 7) + Xsqlite3_str_append(tls, bp+80 /* &str */, ts+21387 /* " USING " */, 7) Xsqlite3_str_appendf(tls, bp+80 /* &str */, zFmt, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName)) explainIndexRange(tls, bp+80 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr if (flags & (U32(WHERE_COLUMN_EQ | WHERE_COLUMN_IN))) != 0 { - zRangeOp = ts + 21380 /* "=" */ + zRangeOp = ts + 21395 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 21382 /* ">? AND rowid<" */ + zRangeOp = ts + 21397 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 21265 /* ">" */ + zRangeOp = ts + 21280 /* ">" */ } else { - zRangeOp = ts + 21267 /* "<" */ + zRangeOp = ts + 21282 /* "<" */ } Xsqlite3_str_appendf(tls, bp+80, /* &str */ - ts+21396 /* " USING INTEGER P..." */, libc.VaList(bp+40, zRangeOp)) + ts+21411 /* " USING INTEGER P..." */, libc.VaList(bp+40, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+80 /* &str */, ts+21434, /* " VIRTUAL TABLE I..." */ + Xsqlite3_str_appendf(tls, bp+80 /* &str */, ts+21449, /* " VIRTUAL TABLE I..." */ libc.VaList(bp+56, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } zMsg = Xsqlite3StrAccumFinish(tls, bp+80 /* &str */) @@ -172996,7 +173504,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // Run a separate WHERE clause for each term of the OR clause. After // eliminating duplicates from other WHERE clauses, the action for each // sub-WHERE clause is to to invoke the main loop body as a subroutine. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21461 /* "MULTI-INDEX OR" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21476 /* "MULTI-INDEX OR" */, 0) for ii = 0; ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm; ii++ { var pOrTerm uintptr = ((*WhereClause)(unsafe.Pointer(pOrWc)).Fa + uintptr(ii)*56) if ((*WhereTerm)(unsafe.Pointer(pOrTerm)).FleftCursor == iCur) || ((int32((*WhereTerm)(unsafe.Pointer(pOrTerm)).FeOperator) & WO_AND) != 0) { @@ -173015,7 +173523,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } // Loop through table entries that match term pOrTerm. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21476 /* "INDEX %d" */, libc.VaList(bp, (ii+1))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21491 /* "INDEX %d" */, libc.VaList(bp, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -173764,10 +174272,10 @@ type Op2 = struct { } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 15981 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 15453 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 15003 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 21485 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, + {FzOp: ts + 15996 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, + {FzOp: ts + 15468 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, + {FzOp: ts + 15018 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, + {FzOp: ts + 21500 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, } /* sqlite3.c:147958:7 */ // If the pBase expression originated in the ON or USING clause of @@ -174468,7 +174976,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s extraRight = (x - uint64(1)) // ON clause terms may not be used with an index // on left table of a LEFT JOIN. Ticket #3015 if (prereqAll >> 1) >= x { - Xsqlite3ErrorMsg(tls, pParse, ts+21492 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21507 /* "ON clause refere..." */, 0) return } } @@ -174544,7 +175052,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s (*WhereTerm)(unsafe.Pointer(pNew)).FeOperator = (U16((int32(operatorMask(tls, int32((*Expr)(unsafe.Pointer(pDup)).Fop))) + int32(eExtraOp)) & int32(opMask))) } else if (op == TK_ISNULL) && (0 == Xsqlite3ExprCanBeNull(tls, pLeft)) { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 7122 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 7137 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) (*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0) @@ -174645,7 +175153,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s } zCollSeqName = func() uintptr { if *(*int32)(unsafe.Pointer(bp + 20 /* noCase */)) != 0 { - return ts + 21533 /* "NOCASE" */ + return ts + 21548 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -174947,7 +175455,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+21540, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21555, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -175770,7 +176278,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+21576 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, + ts+21591 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*32)).FzName)) sentWarning = U8(1) __6: @@ -175851,7 +176359,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21602 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21617 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -176084,7 +176592,7 @@ __3: ((uint64(unsafe.Sizeof(sqlite3_index_constraint{})) + uint64(unsafe.Sizeof(sqlite3_index_constraint_usage{}))) * uint64(nTerm))) + (uint64(unsafe.Sizeof(sqlite3_index_orderby{})) * uint64(nOrderBy))) + uint64(unsafe.Sizeof(HiddenIndexInfo1{})))) if pIdxInfo == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+6528 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6543 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*96) @@ -176211,9 +176719,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+3615 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+3615 /* "%s" */, libc.VaList(bp+16, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp+16, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -178263,7 +178771,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+21613 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21628 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -178311,7 +178819,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+21613 /* "%s.xBestIndex ma..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21628 /* "%s.xBestIndex ma..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -178700,7 +179208,7 @@ __1: if (rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { if rc == SQLITE_DONE { // We hit the query planner search limit set by iPlanLimit - Xsqlite3_log(tls, SQLITE_WARNING, ts+21639 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+21654 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -179469,7 +179977,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21674 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21689 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -179850,7 +180358,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+21692 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) + Xsqlite3ErrorMsg(tls, pParse, ts+21707 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) return uintptr(0) __3: ; @@ -179925,7 +180433,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21720 /* "SCAN CONSTANT RO..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21735 /* "SCAN CONSTANT RO..." */, 0) goto __6 __5: // Assign a bit from the bitmask to every term in the FROM clause. @@ -181060,7 +181568,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+21738 /* "second argument ..." */, -1) + pCtx, ts+21753 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -181209,7 +181717,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+21794 /* "argument of ntil..." */, -1) + pCtx, ts+21809 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -181306,17 +181814,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155441:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 21839 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 21850 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 21861 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 21866 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 21879 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 21889 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 21895 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 21906 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 21916 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 21928 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 21933 /* "lag" */)) /* sqlite3.c:155469:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 21854 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 21865 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 21876 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 21881 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 21894 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 21904 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 21910 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 21921 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 21931 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 21943 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 21948 /* "lag" */)) /* sqlite3.c:155469:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -181380,7 +181888,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+21937 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21952 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -181424,12 +181932,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+21956 /* "RANGE with offse..." */, 0) + ts+21971 /* "RANGE with offse..." */, 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+22027 /* "FILTER clause ma..." */, 0) + ts+22042 /* "FILTER clause ma..." */, 0) } else { *(*[8]WindowUpdate)(unsafe.Pointer(bp /* aUp */)) = [8]WindowUpdate{ {FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT}, @@ -181452,7 +181960,7 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*Window)(unsafe.Pointer(pWin)).FeEnd = U8((*WindowUpdate)(unsafe.Pointer(bp /* &aUp */ + uintptr(i)*24)).FeEnd) (*Window)(unsafe.Pointer(pWin)).FeExclude = U8(0) if int32((*Window)(unsafe.Pointer(pWin)).FeStart) == TK_FOLLOWING { - (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+8260 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+8275 /* "1" */) } break } @@ -181694,7 +182202,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+8321 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + ts+8336 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) } return WRC_Continue } @@ -181824,7 +182332,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // keep everything legal in this case. if *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3Expr(tls, db, TK_INTEGER, ts+7853 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+7868 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -181964,7 +182472,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+22090 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22105 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -182030,15 +182538,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint var zErr uintptr = uintptr(0) // Check for errors if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = ts + 22122 /* "PARTITION clause" */ + zErr = ts + 22137 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 22139 /* "ORDER BY clause" */ + zErr = ts + 22154 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 22155 /* "frame specificat..." */ + zErr = ts + 22170 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+22175 /* "cannot override ..." */, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase)) + ts+22190 /* "cannot override ..." */, 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 { @@ -182061,7 +182569,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+22208 /* "DISTINCT is not ..." */, 0) + ts+22223 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -182212,7 +182720,7 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regZero) if eCond >= WINDOW_STARTING_NUM { var regString int32 = Xsqlite3GetTempReg(tls, pParse) - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+740 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+755 /* "" */, -1) Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), reg) Xsqlite3VdbeChangeP5(tls, v, (uint16(SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL))) @@ -182234,11 +182742,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 22255, /* "frame starting o..." */ - ts + 22308, /* "frame ending off..." */ - ts + 21738, /* "second argument ..." */ - ts + 22359, /* "frame starting o..." */ - ts + 22411, /* "frame ending off..." */ + ts + 22270, /* "frame starting o..." */ + ts + 22323, /* "frame ending off..." */ + ts + 21753, /* "second argument ..." */ + ts + 22374, /* "frame starting o..." */ + ts + 22426, /* "frame ending off..." */ } /* sqlite3.c:156372:21 */ var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:156379:14 */ @@ -182840,7 +183348,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // the add/subtract is skipped for these, as required. If reg1 is a NULL, // then the arithmetic is performed, but since adding or subtracting from // NULL is always NULL anyway, this case is handled as required too. - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+740 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+755 /* "" */, -1) addrGe = Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, 0, reg1) if ((op == OP_Ge) && (arith == OP_Add)) || ((op == OP_Le) && (arith == OP_Subtract)) { @@ -183855,19 +184363,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit } cnt++ if ((*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0) || ((*Select)(unsafe.Pointer(pLoop)).FpLimit != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+22461, /* "%s clause should..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+22476, /* "%s clause should..." */ libc.VaList(bp, func() uintptr { if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - return ts + 19575 /* "ORDER BY" */ + return ts + 19590 /* "ORDER BY" */ } - return ts + 22503 /* "LIMIT" */ + return ts + 22518 /* "LIMIT" */ }(), 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 + 128 /* &.aLimit */) + 4*4)))) > 0)) && (cnt > mxSelect) { - Xsqlite3ErrorMsg(tls, pParse, ts+22509 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22524 /* "too many terms i..." */, 0) } } @@ -183947,7 +184455,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+22543, /* "syntax error aft..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+22558, /* "syntax error aft..." */ libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz)) } Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1) @@ -185174,7 +185682,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+22581 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22596 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -186153,11 +186661,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(22): /* table_options ::= WITHOUT nm */ { - if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+16110 /* "rowid" */, 5) == 0) { + if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+16125 /* "rowid" */, 5) == 0) { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = (TF_WithoutRowid | TF_NoVisibleRowid) } else { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = 0 - Xsqlite3ErrorMsg(tls, pParse, ts+22603 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) + Xsqlite3ErrorMsg(tls, pParse, ts+22618 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) } } break @@ -186892,7 +187400,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in case uint32(155): /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ { Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */)) - Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+22630 /* "set list" */) + Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+22645 /* "set list" */) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = Xsqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))) Xsqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */)), uintptr(0), uintptr(0), uintptr(0)) } @@ -187045,7 +187553,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(bp + 112 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+22639 /* "near \"%T\": synta..." */, libc.VaList(bp+24, bp+112 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+22654 /* "near \"%T\": synta..." */, libc.VaList(bp+24, bp+112 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) @@ -187249,9 +187757,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 /* &.minor */))) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, func() uintptr { if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)) != 0 { - return ts + 8260 /* "1" */ + return ts + 8275 /* "1" */ } - return ts + 7853 /* "0" */ + return ts + 7868 /* "0" */ }()) } else if ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)))).FnExpr == 1) && (Xsqlite3ExprIsConstant(tls, (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))+8 /* &.a */))).FpExpr) != 0) { var pRHS uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) + 8 /* &.a */))).FpExpr @@ -187526,21 +188034,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) Xsqlite3ErrorMsg(tls, pParse, - ts+22663 /* "qualified table ..." */, 0) + ts+22678 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+22758 /* "the INDEXED BY c..." */, 0) + ts+22773 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+22842 /* "the NOT INDEXED ..." */, 0) + ts+22857 /* "the NOT INDEXED ..." */, 0) } break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ @@ -187989,9 +188497,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To _ = yymajor // Silence some compiler warnings if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 16 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+22639 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+16 /* &yyminor */)) + Xsqlite3ErrorMsg(tls, pParse, ts+22654 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+16 /* &yyminor */)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+22927 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22942 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -189198,7 +189706,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+22944 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+22959 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -189218,12 +189726,12 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3615 /* "%s" */, libc.VaList(bp+24, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3630 /* "%s" */, libc.VaList(bp+24, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg - Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+22971, /* "%s in \"%s\"" */ + Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+22986, /* "%s in \"%s\"" */ libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ @@ -189435,7 +189943,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+22982 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+22997 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -189448,11 +189956,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+19695 /* "trigger" */, 7) == 0) { + if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+19710 /* "trigger" */, 7) == 0) { token = U8(TkTRIGGER) - } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+22989 /* "temp" */, 4) == 0) { + } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+23004 /* "temp" */, 4) == 0) { token = U8(TkTEMP) - } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+22994 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+23009 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -189465,9 +189973,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+23004 /* "end" */, 3) == 0) { + if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+23019 /* "end" */, 3) == 0) { token = U8(TkEND) - } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+23008 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+23023 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -190495,7 +191003,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // SQLITE_BUSY if the connection can not be closed immediately. if !(forceZombie != 0) && (connectionIsBusy(tls, db) != 0) { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+23016 /* "unable to close ..." */, 0) + ts+23031 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -190717,23 +191225,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string that describes the kind of error specified in the // argument. func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: */ - var zErr uintptr = ts + 23084 /* "unknown error" */ + var zErr uintptr = ts + 23099 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 23098 /* "abort due to ROL..." */ + zErr = ts + 23113 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 23120 /* "another row avai..." */ + zErr = ts + 23135 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 23142 /* "no more rows ava..." */ + zErr = ts + 23157 /* "no more rows ava..." */ break } @@ -190751,35 +191259,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 23165, /* "not an error" */ - /* SQLITE_ERROR */ ts + 23178, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 23180, /* "not an error" */ + /* SQLITE_ERROR */ ts + 23193, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 23194, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 23219, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 23233, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 23252, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 6528, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 23277, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 23314, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 23326, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 23341, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 23374, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 23392, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 23417, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 23446, /* "locking protocol" */ + /* SQLITE_PERM */ ts + 23209, /* "access permissio..." */ + /* SQLITE_ABORT */ ts + 23234, /* "query aborted" */ + /* SQLITE_BUSY */ ts + 23248, /* "database is lock..." */ + /* SQLITE_LOCKED */ ts + 23267, /* "database table i..." */ + /* SQLITE_NOMEM */ ts + 6543, /* "out of memory" */ + /* SQLITE_READONLY */ ts + 23292, /* "attempt to write..." */ + /* SQLITE_INTERRUPT */ ts + 23329, /* "interrupted" */ + /* SQLITE_IOERR */ ts + 23341, /* "disk I/O error" */ + /* SQLITE_CORRUPT */ ts + 23356, /* "database disk im..." */ + /* SQLITE_NOTFOUND */ ts + 23389, /* "unknown operatio..." */ + /* SQLITE_FULL */ ts + 23407, /* "database or disk..." */ + /* SQLITE_CANTOPEN */ ts + 23432, /* "unable to open d..." */ + /* SQLITE_PROTOCOL */ ts + 23461, /* "locking protocol" */ /* SQLITE_EMPTY */ uintptr(0), - /* SQLITE_SCHEMA */ ts + 6258, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 5795, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 23463, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 23481, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 23499, /* "bad parameter or..." */ + /* SQLITE_SCHEMA */ ts + 6273, /* "database schema ..." */ + /* SQLITE_TOOBIG */ ts + 5810, /* "string or blob t..." */ + /* SQLITE_CONSTRAINT */ ts + 23478, /* "constraint faile..." */ + /* SQLITE_MISMATCH */ ts + 23496, /* "datatype mismatc..." */ + /* SQLITE_MISUSE */ ts + 23514, /* "bad parameter or..." */ /* SQLITE_NOLFS */ uintptr(0), - /* SQLITE_AUTH */ ts + 23533, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 23548, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 23554, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 23580, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 23603, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 23624, /* "warning message" */ + /* SQLITE_RANGE */ ts + 23569, /* "column index out..." */ + /* SQLITE_NOTADB */ ts + 23595, /* "file is not a da..." */ + /* SQLITE_NOTICE */ ts + 23618, /* "notification mes..." */ + /* SQLITE_WARNING */ ts + 23639, /* "warning message" */ } /* sqlite3.c:166656:20 */ // This routine implements a busy callback that sleeps and tries @@ -190944,7 +191452,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+23640 /* "unable to delete..." */, 0) + ts+23655 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -191077,7 +191585,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+23703 /* "unable to use fu..." */, libc.VaList(bp, zName)) + ts+23718 /* "unable to use fu..." */, libc.VaList(bp, zName)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } @@ -191299,7 +191807,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+23754 /* "unknown database..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+23769 /* "unknown database..." */, libc.VaList(bp, zDb)) } else { (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -191518,7 +192026,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint if (pColl != 0) && ((*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0) { if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+23775 /* "unable to delete..." */, 0) + ts+23790 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -191661,7 +192169,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u if !(((((flags & uint32(SQLITE_OPEN_URI)) != 0) || // IMP: R-48725-32206 (Xsqlite3Config.FbOpenUri != 0)) && // IMP: R-51689-46548 - (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+23843 /* "file:" */, uint64(5)) == 0)) { + (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+23858 /* "file:" */, uint64(5)) == 0)) { goto __1 } // Input character index iOut = 0 // Output character index @@ -191709,10 +192217,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+23849 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { + if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+23864 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23859, /* "invalid uri auth..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23874, /* "invalid uri auth..." */ libc.VaList(bp, (iIn-7), (zUri+7))) rc = SQLITE_ERROR goto parse_uri_out @@ -191834,7 +192342,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+23887 /* "vfs" */, zOpt, uint64(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+23902 /* "vfs" */, zOpt, uint64(3)) == 0)) { goto __29 } zVfs = zVal @@ -191845,17 +192353,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+23891 /* "cache" */, zOpt, uint64(5)) == 0)) { + if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+23906 /* "cache" */, zOpt, uint64(5)) == 0)) { goto __31 } mask = (SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&aCacheMode)) limit = mask - zModeType = ts + 23891 /* "cache" */ + zModeType = ts + 23906 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+23897 /* "mode" */, zOpt, uint64(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+23912 /* "mode" */, zOpt, uint64(4)) == 0)) { goto __32 } @@ -191863,7 +192371,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 23902 /* "access" */ + zModeType = ts + 23917 /* "access" */ __32: ; @@ -191894,7 +192402,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23909 /* "no such %s mode:..." */, libc.VaList(bp+24, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23924 /* "no such %s mode:..." */, libc.VaList(bp+24, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -191902,7 +192410,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23929, /* "%s mode not allo..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23944, /* "%s mode not allo..." */ libc.VaList(bp+48, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out @@ -191945,7 +192453,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23953 /* "no such vfs: %s" */, libc.VaList(bp+72, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23968 /* "no such vfs: %s" */, libc.VaList(bp+72, zVfs)) rc = SQLITE_ERROR __42: ; @@ -191969,15 +192477,15 @@ type OpenMode = struct { } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 23969 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 23976 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, + {Fz: ts + 23984 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, + {Fz: ts + 23991 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, } /* sqlite3.c:168073:34 */ var aOpenMode = [5]OpenMode{ - {Fz: ts + 23984 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 23987 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 23990 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 17214 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, + {Fz: ts + 23999 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, + {Fz: ts + 24002 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, + {Fz: ts + 24005 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, + {Fz: ts + 17229 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, {}, } /* sqlite3.c:168085:34 */ @@ -192159,10 +192667,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+21533 /* "NOCASE" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+21548 /* "NOCASE" */, 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+23994 /* "RTRIM" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+24009 /* "RTRIM" */, 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) { @@ -192208,7 +192716,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 32 /* zErrMsg */)) != 0 { - return ts + 3615 /* "%s" */ + return ts + 3630 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErrMsg */)))) @@ -192246,9 +192754,9 @@ __22: // The default safety_level for the main database is FULL; for the temp // database it is OFF. This matches the pager layer defaults. - (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6805 /* "main" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6820 /* "main" */ (*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 + 22989 /* "temp" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23004 /* "temp" */ (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF) (*Sqlite3)(unsafe.Pointer(db)).Fmagic = SQLITE_MAGIC_OPEN @@ -192366,7 +192874,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 24000 /* "\x00\x00" */ + zFilename = ts + 24015 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -192469,24 +192977,24 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, ts+24003, /* "%s at line %d of..." */ + Xsqlite3_log(tls, iErr, ts+24018, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) return iErr } func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168711:20: */ - return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24028 /* "database corrupt..." */) + return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24043 /* "database corrupt..." */) } func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168715:20: */ - return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24048 /* "misuse" */) + return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24063 /* "misuse" */) } func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168719:20: */ - return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24055 /* "cannot open file" */) + return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24070 /* "cannot open file" */) } // This is a convenience routine that makes sure that all thread-specific @@ -192613,7 +193121,7 @@ __4: autoinc = (libc.Bool32((int32((*Table)(unsafe.Pointer(pTab)).FiPKey) == iCol) && (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != U32(0)))) goto __13 __12: - zDataType = ts + 12731 /* "INTEGER" */ + zDataType = ts + 12746 /* "INTEGER" */ primarykey = 1 __13: ; @@ -192665,14 +193173,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+24072 /* "no such table co..." */, libc.VaList(bp, zTableName, + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+24087 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) != 0 { - return ts + 3615 /* "%s" */ + return ts + 3630 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)))) @@ -193471,7 +193979,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+24100 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+24115 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -193632,7 +194140,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 + 24108 /* "database is dead..." */ + return ts + 24123 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -194432,7 +194940,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 6605 /* "null" */, ts + 7117 /* "true" */, ts + 7122 /* "false" */, ts + 6615 /* "integer" */, ts + 6610 /* "real" */, ts + 14875 /* "text" */, ts + 24131 /* "array" */, ts + 24137, /* "object" */ + ts + 6620 /* "null" */, ts + 7132 /* "true" */, ts + 7137 /* "false" */, ts + 6630 /* "integer" */, ts + 6625 /* "real" */, ts + 14890 /* "text" */, ts + 24146 /* "array" */, ts + 24152, /* "object" */ } /* sqlite3.c:189771:19 */ // Maximum nesting depth of JSON for this implementation. @@ -194612,7 +195120,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 + 24144 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 24159 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -194640,7 +195148,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { - jsonAppendRaw(tls, p, ts+6605 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+6620 /* "null" */, uint32(4)) break } @@ -194669,7 +195177,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 default: { if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { - Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24161 /* "JSON cannot hold..." */, -1) + Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24176 /* "JSON cannot hold..." */, -1) (*JsonString)(unsafe.Pointer(p)).FbErr = U8(2) jsonReset(tls, p) } @@ -194746,19 +195254,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+6605 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+6620 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+7117 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+7132 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+7122 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+7137 /* "false" */, uint32(5)) break } @@ -195324,17 +195832,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } return (int32(j + U32(1))) } else if ((int32(c) == 'n') && - (libc.Xstrncmp(tls, (z+uintptr(i)), ts+6605 /* "null" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+6620 /* "null" */, uint64(4)) == 0)) && !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { 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+7117 /* "true" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+7132 /* "true" */, 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+7122 /* "false" */, uint64(5)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+7137 /* "false" */, 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))) @@ -195442,7 +195950,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+24190 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+24205 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -195762,7 +196270,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+24205 /* "[0]" */, uint64(3)) == 0 { + } else if libc.Xstrncmp(tls, zPath, ts+24220 /* "[0]" */, uint64(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) } else { return uintptr(0) @@ -195779,7 +196287,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190 bp := tls.Alloc(16) defer tls.Free(16) - return Xsqlite3_mprintf(tls, ts+24209 /* "JSON path error ..." */, libc.VaList(bp, zErr)) + return Xsqlite3_mprintf(tls, ts+24224 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } // Do a node lookup using zPath. Return a pointer to the node on success. @@ -195846,7 +196354,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit bp := tls.Alloc(16) defer tls.Free(16) - var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24235, /* "json_%s() needs ..." */ + var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24250, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -195990,7 +196498,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* if pNode != 0 { jsonRenderNode(tls, pNode, bp /* &jx */, uintptr(0)) } else { - jsonAppendRaw(tls, bp /* &jx */, ts+6605 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+6620 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -196118,14 +196626,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+24278 /* "json_object() re..." */, -1) + ts+24293 /* "json_object() re..." */, -1) return } jsonInit(tls, bp /* &jx */, ctx) jsonAppendChar(tls, bp /* &jx */, 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+24329 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+24344 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -196233,7 +196741,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+15386 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+15401 /* "replace" */) return __2: ; @@ -196319,9 +196827,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 24363 /* "set" */ + return ts + 24378 /* "set" */ } - return ts + 24367 /* "insert" */ + return ts + 24382 /* "insert" */ }()) return __2: @@ -196469,7 +196977,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+24374 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+24389 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -196574,7 +197082,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+24377 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+24392 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -196627,7 +197135,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+24380 /* "CREATE TABLE x(k..." */) + ts+24395 /* "CREATE TABLE x(k..." */) if rc == SQLITE_OK { pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{})))) if pNew == uintptr(0) { @@ -196765,14 +197273,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql 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+24463 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) + jsonPrintf(tls, 30, pStr, ts+24478 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) } else { if (int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags) & JNODE_LABEL) == 0 { pNode -= 16 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+24468 /* ".%.*s" */, libc.VaList(bp+16, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+24483 /* ".%.*s" */, libc.VaList(bp+16, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } @@ -196865,9 +197373,9 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* jsonAppendChar(tls, bp+40 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+40 /* &x */, ts+24463 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+40 /* &x */, ts+24478 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+40 /* &x */, ts+24468 /* ".%.*s" */, libc.VaList(bp+16, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+40 /* &x */, ts+24483 /* ".%.*s" */, libc.VaList(bp+16, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } jsonResult(tls, bp+40 /* &x */) @@ -196891,7 +197399,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 + 24474 /* "$" */ + zRoot = ts + 24489 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -197023,7 +197531,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+24190 /* "malformed JSON" */, 0) + (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24205 /* "malformed JSON" */, 0) if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { rc = SQLITE_ERROR } @@ -197164,21 +197672,21 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 24476 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 24481 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 24492 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 24492 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 24510 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 24523 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 24535 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 24547 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 24558 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 24569 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 24581 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 24594 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 24603 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 24603 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 24613 /* "json_valid" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 24491 /* "json" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 24496 /* "json_array" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 24507 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 24507 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 24525 /* "json_extract" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 24538 /* "json_insert" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 24550 /* "json_object" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 24562 /* "json_patch" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 24573 /* "json_quote" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 24584 /* "json_remove" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 24596 /* "json_replace" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 24609 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, + {FzName: ts + 24618 /* "json_type" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 24618 /* "json_type" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 24628 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { FzName uintptr @@ -197188,17 +197696,17 @@ var aAgg = [2]struct { FxFinal uintptr FxValue uintptr }{ - {FzName: ts + 24624 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 24639 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 24641 /* "json_group_objec..." */, FnArg: 2, + {FzName: ts + 24656 /* "json_group_objec..." */, FnArg: 2, FxStep: 0, FxFinal: 0, FxValue: 0}, } /* sqlite3.c:192211:5 */ var aMod = [2]struct { FzName uintptr FpModule uintptr }{ - {FzName: ts + 24659 /* "json_each" */, FpModule: 0}, - {FzName: ts + 24669 /* "json_tree" */, FpModule: 0}, + {FzName: ts + 24674 /* "json_each" */, FpModule: 0}, + {FzName: ts + 24684 /* "json_tree" */, FpModule: 0}, } /* sqlite3.c:192221:5 */ var enc int32 = ((SQLITE_UTF8 | SQLITE_DETERMINISTIC) | SQLITE_INNOCUOUS) /* sqlite3.c:192226:20 */ // In the SQLite core @@ -197549,11 +198057,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+24679 /* "%s_node" */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + var zTab uintptr = Xsqlite3_mprintf(tls, ts+24694 /* "%s_node" */, 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+24687 /* "data" */, iNode, 0, + rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+24702 /* "data" */, iNode, 0, (pRtree + 112 /* &.pNodeBlob */)) Xsqlite3_free(tls, zTab) } @@ -197798,7 +198306,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+24692, /* "DROP TABLE '%q'...." */ + ts+24707, /* "DROP TABLE '%q'...." */ 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)) @@ -198558,7 +199066,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information - pSrc = Xsqlite3_value_pointer(tls, pValue, ts+24774 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+24789 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -198822,7 +199330,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp, bp+16 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, bp+16 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -200082,7 +200590,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+24788 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, ts+24803 /* "SELECT * FROM %Q..." */, 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+80 /* &pStmt */, uintptr(0)) } else { @@ -200094,12 +200602,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 + 80 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+24808 /* "UNIQUE constrain..." */, libc.VaList(bp+24, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+24823 /* "UNIQUE constrain..." */, libc.VaList(bp+24, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), iCol) var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+24840 /* "rtree constraint..." */, libc.VaList(bp+48, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+24855 /* "rtree constraint..." */, libc.VaList(bp+48, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } @@ -200367,7 +200875,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+24877 /* "ALTER TABLE %Q.'..." */, 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+24892 /* "ALTER TABLE %Q.'..." */, 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)) @@ -200405,7 +200913,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(32) defer tls.Free(32) - var zFmt uintptr = ts + 25022 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 25037 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+24, 8 @@ -200413,7 +200921,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit var nRow I64 = int64(0) rc = Xsqlite3_table_column_metadata(tls, - db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+11419 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+11434 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == SQLITE_ERROR { @@ -200466,7 +200974,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 25078 /* "node" */, ts + 5521 /* "parent" */, ts + 16110, /* "rowid" */ + ts + 25093 /* "node" */, ts + 5536 /* "parent" */, ts + 16125, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -200510,19 +201018,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+25083, /* "CREATE TABLE \"%w..." */ + ts+25098, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+25145 /* ",a%d" */, libc.VaList(bp+24, ii)) + Xsqlite3_str_appendf(tls, p, ts+25160 /* ",a%d" */, libc.VaList(bp+24, ii)) } Xsqlite3_str_appendf(tls, p, - ts+25150, /* ");CREATE TABLE \"..." */ + ts+25165, /* ");CREATE TABLE \"..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+25214, /* "CREATE TABLE \"%w..." */ + ts+25229, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+64, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+25284, /* "INSERT INTO \"%w\"..." */ + ts+25299, /* "INSERT INTO \"%w\"..." */ libc.VaList(bp+88, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { @@ -200553,7 +201061,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } else { // An UPSERT is very slightly slower than REPLACE, but it is needed // if there are auxiliary columns - zFormat = ts + 25333 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 25348 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+120, zDb, zPrefix)) if zSql != 0 { @@ -200565,7 +201073,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+25441, /* "SELECT * FROM \"%..." */ + ts+25456, /* "SELECT * FROM \"%..." */ libc.VaList(bp+144, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -200573,18 +201081,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+25486 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+168, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+25501 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+168, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { if ii != 0 { - Xsqlite3_str_append(tls, p, ts+12884 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+12899 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+25513 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+192, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+25528 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+192, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+25535 /* "a%d=?%d" */, libc.VaList(bp+224, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+25550 /* "a%d=?%d" */, libc.VaList(bp+224, ii, (ii+2))) } } - Xsqlite3_str_appendf(tls, p, ts+25543 /* " WHERE rowid=?1" */, 0) + Xsqlite3_str_appendf(tls, p, ts+25558 /* " WHERE rowid=?1" */, 0) zSql = Xsqlite3_str_finish(tls, p) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -200600,18 +201108,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 25559, /* "INSERT OR REPLAC..." */ - ts + 25612, /* "DELETE FROM '%q'..." */ + ts + 25574, /* "INSERT OR REPLAC..." */ + ts + 25627, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 25657, /* "SELECT nodeno FR..." */ - ts + 25709, /* "INSERT OR REPLAC..." */ - ts + 25763, /* "DELETE FROM '%q'..." */ + ts + 25672, /* "SELECT nodeno FR..." */ + ts + 25724, /* "INSERT OR REPLAC..." */ + ts + 25778, /* "DELETE FROM '%q'..." */ // Read and write the xxx_parent table - ts + 25808, /* "SELECT parentnod..." */ - ts + 25866, /* "INSERT OR REPLAC..." */ - ts + 25921, /* "DELETE FROM '%q'..." */ + ts + 25823, /* "SELECT parentnod..." */ + ts + 25881, /* "INSERT OR REPLAC..." */ + ts + 25936, /* "DELETE FROM '%q'..." */ } /* sqlite3.c:195763:21 */ // The second argument to this function contains the text of an SQL statement @@ -200658,7 +201166,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr var zSql uintptr if isCreate != 0 { *(*int32)(unsafe.Pointer(bp + 88 /* iPageSize */)) = 0 - zSql = Xsqlite3_mprintf(tls, ts+25968 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, ts+25983 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) rc = getIntFromStmt(tls, db, zSql, bp+88 /* &iPageSize */) if rc == SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 88 /* iPageSize */)) - 64) @@ -200666,19 +201174,19 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, - ts+25988, /* "SELECT length(da..." */ + ts+26003, /* "SELECT length(da..." */ libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 32 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp+56, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+56, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26045, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26060, /* "undersize RTree ..." */ libc.VaList(bp+72, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -200729,17 +201237,17 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr ii = 4 *(*[5]uintptr)(unsafe.Pointer(bp + 168 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 - ts + 26080, /* "Wrong number of ..." */ // 1 - ts + 26123, /* "Too few columns ..." */ // 2 - ts + 26158, /* "Too many columns..." */ // 3 - ts + 26194, /* "Auxiliary rtree ..." */ // 4 + ts + 26095, /* "Wrong number of ..." */ // 1 + ts + 26138, /* "Too few columns ..." */ // 2 + ts + 26173, /* "Too many columns..." */ // 3 + ts + 26209, /* "Auxiliary rtree ..." */ // 4 } // Aux columns counted by a u8 if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) return SQLITE_ERROR __1: ; @@ -200769,7 +201277,7 @@ __2: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+26231, /* "CREATE TABLE x(%..." */ + Xsqlite3_str_appendf(tls, pSql, ts+26246, /* "CREATE TABLE x(%..." */ libc.VaList(bp+32, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = 4 __3: @@ -200781,7 +201289,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+26255 /* ",%.*s" */, libc.VaList(bp+56, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+26270 /* ",%.*s" */, libc.VaList(bp+56, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -200804,7 +201312,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+26261 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+26276 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -200815,14 +201323,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + 4*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + 4*8)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -200865,7 +201373,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) goto rtreeInit_fail __22: ; @@ -200883,7 +201391,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp+152, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+152, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -200903,7 +201411,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 26264 /* ",%.*s REAL" */, ts + 26275 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ +var azFormat = [2]uintptr{ts + 26279 /* ",%.*s REAL" */, ts + 26290 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -200958,13 +201466,13 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit nodeGetCell(tls, bp+72 /* &tree */, bp+32 /* &node */, ii, bp+1040 /* &cell */) if ii > 0 { - Xsqlite3_str_append(tls, pOut, ts+10999 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+11014 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+26285 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1040 /* &cell */)).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, ts+26300 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1040 /* &cell */)).FiRowid)) for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+26291 /* " %g" */, libc.VaList(bp+16, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1040 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+26306 /* " %g" */, libc.VaList(bp+16, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1040 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } - Xsqlite3_str_append(tls, pOut, ts+26295 /* "}" */, 1) + Xsqlite3_str_append(tls, pOut, ts+26310 /* "}" */, 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}))) @@ -200983,7 +201491,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli _ = 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+26297 /* "Invalid argument..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+26312 /* "Invalid argument..." */, -1) } else { var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -201072,12 +201580,12 @@ 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+26330, /* "%z%s%z" */ + (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26345, /* "%z%s%z" */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - return ts + 4518 /* "\n" */ + return ts + 4533 /* "\n" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -201108,7 +201616,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+26337, /* "SELECT data FROM..." */ + ts+26352, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -201127,7 +201635,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+26382 /* "Node %lld missin..." */, libc.VaList(bp+24, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+26397 /* "Node %lld missin..." */, libc.VaList(bp+24, iNode)) } } @@ -201151,8 +201659,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa var rc int32 var pStmt uintptr *(*[2]uintptr)(unsafe.Pointer(bp + 104 /* azSql */)) = [2]uintptr{ - ts + 26414, /* "SELECT parentnod..." */ - ts + 26468, /* "SELECT nodeno FR..." */ + ts + 26429, /* "SELECT parentnod..." */ + ts + 26483, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) == uintptr(0) { @@ -201167,23 +201675,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+26516, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+26531, /* "Mapping (%lld ->..." */ libc.VaList(bp+24, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 26561 /* "%_rowid" */ + return ts + 26576 /* "%_rowid" */ } - return ts + 26569 /* "%_parent" */ + return ts + 26584 /* "%_parent" */ }())) } else if rc == SQLITE_ROW { var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, - ts+26578, /* "Found (%lld -> %..." */ + ts+26593, /* "Found (%lld -> %..." */ libc.VaList(bp+56, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 26561 /* "%_rowid" */ + return ts + 26576 /* "%_rowid" */ } - return ts + 26569 /* "%_parent" */ + return ts + 26584 /* "%_parent" */ }(), iKey, iVal)) } } @@ -201226,7 +201734,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 64 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 68 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, - ts+26636 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+26651 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -201246,7 +201754,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 68 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 76 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+26684 /* "Dimension %d of ..." */, libc.VaList(bp+32, i, iCell, iNode)) + ts+26699 /* "Dimension %d of ..." */, libc.VaList(bp+32, i, iCell, iNode)) } } } @@ -201269,14 +201777,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr if aNode != 0 { if *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+26751 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)))) + ts+26766 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+26785 /* "Rtree depth out ..." */, libc.VaList(bp+24, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+26800 /* "Rtree depth out ..." */, libc.VaList(bp+24, iDepth)) Xsqlite3_free(tls, aNode) return } @@ -201284,7 +201792,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 + 72 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, - ts+26815, /* "Node %lld is too..." */ + ts+26830, /* "Node %lld is too..." */ libc.VaList(bp+40, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)))) } else { for i = 0; i < nCell; i++ { @@ -201318,14 +201826,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+26870, /* "SELECT count(*) ..." */ + pCount = rtreeCheckPrepare(tls, pCheck, ts+26885, /* "SELECT count(*) ..." */ 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+26901 /* "Wrong number of ..." */, libc.VaList(bp+32, zTbl, nExpect, nActual)) + ts+26916 /* "Wrong number of ..." */, libc.VaList(bp+32, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -201355,13 +201863,13 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+14565 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+14580 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+48 /* &check */, ts+26968 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+48 /* &check */, ts+26983 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) @@ -201370,12 +201878,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+48 /* &check */, ts+24788 /* "SELECT * FROM %Q..." */, libc.VaList(bp+24, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+48 /* &check */, ts+24803 /* "SELECT * FROM %Q..." */, libc.VaList(bp+24, zDb, zTab)) if pStmt != 0 { var rc int32 (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+48 /* &check */, ts+26996 /* "Schema corrupt o..." */, 0) + rtreeCheckAppendMsg(tls, bp+48 /* &check */, ts+27011 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } @@ -201390,8 +201898,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).Frc == SQLITE_OK { rtreeCheckNode(tls, bp+48 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+48 /* &check */, ts+27027 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+48 /* &check */, ts+27034 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+48 /* &check */, ts+27042 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+48 /* &check */, ts+27049 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check @@ -201401,7 +201909,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // If one was opened, close the transaction if bEnd != 0 { - var rc int32 = Xsqlite3_exec(tls, db, ts+27042 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) + var rc int32 = Xsqlite3_exec(tls, db, ts+27057 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = rc } @@ -201447,7 +201955,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+27046 /* "wrong number of ..." */, -1) + ts+27061 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -201455,7 +201963,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 6805 /* "main" */ + zDb = ts + 6820 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -201465,7 +201973,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if *(*uintptr)(unsafe.Pointer(bp /* zReport */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp /* zReport */)) } - return ts + 17700 /* "ok" */ + return ts + 17715 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -201902,11 +202410,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+27097 /* "[" */, 1) + Xsqlite3_str_append(tls, x, ts+27112 /* "[" */, 1) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { - Xsqlite3_str_appendf(tls, x, ts+27099 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) + Xsqlite3_str_appendf(tls, x, ts+27114 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+27110 /* "[%!g,%!g]]" */, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+27125 /* "[%!g,%!g]]" */, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 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) } @@ -201930,19 +202438,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+27121 /* "" */, 0) + Xsqlite3_str_appendf(tls, x, ts+27174 /* ">" */, 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) } @@ -202958,7 +203466,7 @@ __1: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+27172 /* "CREATE TABLE x(_..." */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+27187 /* "CREATE TABLE x(_..." */, 0) (*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1) // Add one for _shape (*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1) // The _shape column is always not-null ii = 3 @@ -202967,7 +203475,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+27194 /* ",%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, ts+27209 /* ",%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto __3 __3: ii++ @@ -202975,7 +203483,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+26261 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+26276 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -202986,7 +203494,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -203012,7 +203520,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp+48, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+48, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -203245,7 +203753,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s if iRowidTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 16110 /* "rowid" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 16125 /* "rowid" */ (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).FargvIndex = 1 (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).Fomit = uint8(1) (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 30.0 @@ -203255,7 +203763,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } if iFuncTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27198 /* "rtree" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27213 /* "rtree" */ (*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 @@ -203263,7 +203771,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s return SQLITE_OK } (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27204 /* "fullscan" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27219 /* "fullscan" */ (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -203401,7 +203909,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27213 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27228 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -203546,14 +204054,14 @@ geopoly_update_end: // Report that geopoly_overlap() is an overloaded function suitable // for use in xBestIndex. func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:198361:12: */ - if Xsqlite3_stricmp(tls, zName, ts+27253 /* "geopoly_overlap" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+27268 /* "geopoly_overlap" */) == 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+27269 /* "geopoly_within" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+27284 /* "geopoly_within" */) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{geopolyWithinFunc})) @@ -203618,7 +204126,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 uintptr(0), aAgg1[i].FxStep, aAgg1[i].FxFinal) } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, ts+27284 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+27299 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -203630,25 +204138,25 @@ var aFunc1 = [12]struct { _ [6]byte FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27292 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27305 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27318 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27331 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27269 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27343 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27253 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 27366 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27380 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27393 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27407 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27423 /* "geopoly_ccw" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27307 /* "geopoly_area" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27320 /* "geopoly_blob" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27333 /* "geopoly_json" */}, + {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27346 /* "geopoly_svg" */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27284 /* "geopoly_within" */}, + {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27358 /* "geopoly_contains..." */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27268 /* "geopoly_overlap" */}, + {FxFunc: 0, FnArg: int8(1), FzName: ts + 27381 /* "geopoly_debug" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27395 /* "geopoly_bbox" */}, + {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27408 /* "geopoly_xform" */}, + {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27422 /* "geopoly_regular" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27438 /* "geopoly_ccw" */}, } /* sqlite3.c:198416:5 */ var aAgg1 = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ - {FxStep: 0, FxFinal: 0, FzName: ts + 27435 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 27450 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -203661,26 +204169,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 var utf8 int32 = SQLITE_UTF8 var rc int32 - rc = Xsqlite3_create_function(tls, db, ts+27454 /* "rtreenode" */, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+27469 /* "rtreenode" */, 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+27464 /* "rtreedepth" */, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+27479 /* "rtreedepth" */, 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+27475 /* "rtreecheck" */, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+27490 /* "rtreecheck" */, -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+27198 /* "rtree" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+27213 /* "rtree" */, 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+27486 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+27501 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { rc = sqlite3_geopoly_init(tls, db) @@ -203752,7 +204260,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql Xsqlite3_result_error_nomem(tls, ctx) rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, ts+24774 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) + Xsqlite3_result_pointer(tls, ctx, pBlob, ts+24789 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) } } } @@ -205043,7 +205551,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // Figure out the size of the output nOut = rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, ts+27496 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+27511 /* "corrupt fossil d..." */, -1) return } @@ -205054,7 +205562,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+27496 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+27511 /* "corrupt fossil d..." */, -1) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -205075,7 +205583,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -205093,7 +205601,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -205197,7 +205705,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+27517 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + ts+27532 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if rc == SQLITE_OK { @@ -205281,7 +205789,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+24687 /* "data" */, zIn, uint64(4)) == 0) { + if (libc.Xstrlen(tls, zIn) > uint64(4)) && (libc.Xmemcmp(tls, ts+24702 /* "data" */, 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++ { } @@ -205309,17 +205817,17 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter /* &.pTblIter */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+27688 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { + ts+27703 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 27838 /* "AND rootpage!=0 ..." */ + return ts + 27853 /* "AND rootpage!=0 ..." */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 8 /* &.pIdxIter */), (p + 64 /* &.zErrmsg */), - ts+27879 /* "SELECT name, roo..." */) + ts+27894 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -205457,7 +205965,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: var rc int32 = Xsqlite3_finalize(tls, pStmt) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (rc != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) } } @@ -205520,7 +206028,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 + 64 /* &aStmt */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+28004 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) + ts+28019 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } @@ -205538,7 +206046,7 @@ __2: *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */)), 1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */ + 1*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28085 /* "PRAGMA index_lis..." */, libc.VaList(bp+16, zTab))) + Xsqlite3_mprintf(tls, ts+28100 /* "PRAGMA index_lis..." */, libc.VaList(bp+16, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -205556,7 +206064,7 @@ __4: } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */ + 2*8), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+28106 /* "SELECT rootpage ..." */, libc.VaList(bp+32, zIdx))) + ts+28121 /* "SELECT rootpage ..." */, libc.VaList(bp+32, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } @@ -205580,7 +206088,7 @@ __5: ; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */ + 3*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28157 /* "PRAGMA table_inf..." */, libc.VaList(bp+48, zTab))) + Xsqlite3_mprintf(tls, ts+28172 /* "PRAGMA table_inf..." */, libc.VaList(bp+48, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } @@ -205629,7 +206137,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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+32 /* &pList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28178 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+28193 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 @@ -205644,7 +206152,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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+40 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28206 /* "PRAGMA main.inde..." */, libc.VaList(bp+16, zIdx))) + Xsqlite3_mprintf(tls, ts+28221 /* "PRAGMA main.inde..." */, libc.VaList(bp+16, zIdx))) for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pXInfo */)))) { var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pXInfo */)), 1) if iCid >= 0 { @@ -205694,7 +206202,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 72 /* &.eType */), bp+96 /* &iTnum */, (pIter + 108 /* &.iPkTnum */)) 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+19221 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19236 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc @@ -205707,18 +206215,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // of the input table. Ignore any input table columns that begin with // "rbu_". (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+104 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28235 /* "SELECT * FROM '%..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + Xsqlite3_mprintf(tls, ts+28250 /* "SELECT * FROM '%..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */))) 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 + 104 /* pStmt */)), i) - if Xsqlite3_strnicmp(tls, ts+28254 /* "rbu_" */, zName, 4) != 0 { + if Xsqlite3_strnicmp(tls, ts+28269 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 56 /* &.rc */)) *(*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+28259 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+28274 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -205730,12 +206238,12 @@ 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+28269 /* "table %q %s rbu_..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+28284 /* "table %q %s rbu_..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { - return ts + 28298 /* "may not have" */ + return ts + 28313 /* "may not have" */ } - return ts + 28311 /* "requires" */ + return ts + 28326 /* "requires" */ }())) } @@ -205744,7 +206252,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+104 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28320 /* "PRAGMA table_inf..." */, libc.VaList(bp+56, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+28335 /* "PRAGMA table_inf..." */, libc.VaList(bp+56, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)))) { var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), 1) @@ -205758,7 +206266,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+28342, /* "column missing f..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28357, /* "column missing f..." */ libc.VaList(bp+72, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), 5) @@ -205804,12 +206312,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(32) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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+28369 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 14676 /* ", " */ + zList = rbuMPrintf(tls, p, ts+28384 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 14691 /* ", " */ } return zList } @@ -205824,13 +206332,13 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, var iPk int32 = 1 var zRet uintptr = uintptr(0) - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ for 1 != 0 { var i int32 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+28378 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) + zRet = rbuMPrintf(tls, p, ts+28393 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -205869,25 +206377,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+104 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+28391 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + ts+28406 /* "SELECT max(_rowi..." */, 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 + 104 /* pMax */)))) { var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+28423 /* " WHERE _rowid_ >..." */, libc.VaList(bp+24, iMax)) + zRet = rbuMPrintf(tls, p, ts+28438 /* " WHERE _rowid_ >..." */, libc.VaList(bp+24, iMax)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */))) } else { - var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+740 /* "" */, ts+14676 /* ", " */, ts+28446 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28452 /* "quote(" */, ts+28459 /* "||','||" */, ts+5413 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+740 /* "" */, ts+14676 /* ", " */, ts+740 /* "" */) + var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+14691 /* ", " */, ts+28461 /* " DESC" */) + var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28467 /* "quote(" */, ts+28474 /* "||','||" */, ts+5428 /* ")" */) + var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+14691 /* ", " */, ts+755 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+104 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+28467, /* "SELECT %s FROM \"..." */ + ts+28482, /* "SELECT %s FROM \"..." */ libc.VaList(bp+40, 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 + 104 /* pMax */)))) { var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+28509 /* " WHERE (%s) > (%..." */, libc.VaList(bp+80, zList, zVal)) + zRet = rbuMPrintf(tls, p, ts+28524 /* " WHERE (%s) > (%..." */, libc.VaList(bp+80, zList, zVal)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */))) } @@ -205945,12 +206453,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 740 /* "" */ + zSep = ts + 755 /* "" */ iCol = 0 *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+232 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28206 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+28221 /* "PRAGMA main.inde..." */, 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 + 232 /* pXInfo */))))) { goto __2 @@ -205987,7 +206495,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) goto __7 __6: - zCol = ts + 28529 /* "_rowid_" */ + zCol = ts + 28544 /* "_rowid_" */ __7: ; goto __5 @@ -205996,13 +206504,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+28537, /* "%z%s \"%w\" COLLAT..." */ + zLhs = rbuMPrintf(tls, p, ts+28552, /* "%z%s \"%w\" COLLAT..." */ libc.VaList(bp+16, zLhs, zSep, zCol, zCollate)) - zOrder = rbuMPrintf(tls, p, ts+28558, /* "%z%s \"rbu_imp_%d..." */ + zOrder = rbuMPrintf(tls, p, ts+28573, /* "%z%s \"rbu_imp_%d..." */ libc.VaList(bp+56, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = rbuMPrintf(tls, p, ts+28594, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+28609, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+104, zSelect, zSep, iCol, zCol)) - zSep = ts + 14676 /* ", " */ + zSep = ts + 14691 /* ", " */ iCol++ goto __1 __2: @@ -206021,12 +206529,12 @@ __11: *(*uintptr)(unsafe.Pointer(bp + 240 /* pSel */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+240 /* &pSel */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28621, /* "SELECT %s FROM \"..." */ + Xsqlite3_mprintf(tls, ts+28636, /* "SELECT %s FROM \"..." */ libc.VaList(bp+144, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 240 /* pSel */))))) { goto __13 } - zSep = ts + 740 /* "" */ + zSep = ts + 755 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -206048,8 +206556,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+28669 /* "%z%s%s" */, libc.VaList(bp+176, zVector, zSep, zQuoted)) - zSep = ts + 14676 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+28684 /* "%z%s%s" */, libc.VaList(bp+176, zVector, zSep, zQuoted)) + zSep = ts + 14691 /* ", " */ goto __15 __15: iCol++ @@ -206061,7 +206569,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+28676 /* "(%s) > (%s)" */, libc.VaList(bp+208, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+28691 /* "(%s) > (%s)" */, libc.VaList(bp+208, zLhs, zVector)) __20: ; __13: @@ -206111,14 +206619,14 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var zImpPK uintptr = uintptr(0) // String to return via *pzImposterPK var zWhere uintptr = uintptr(0) // String to return via *pzWhere var nBind int32 = 0 // Value to return via *pnBind - var zCom uintptr = ts + 740 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 740 /* "" */ // Set to " AND " later on + var zCom uintptr = ts + 755 /* "" */ // Set to ", " later on + var zAnd uintptr = ts + 755 /* "" */ // Set to " AND " later on *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+248 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28206 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+28221 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)))) { @@ -206130,9 +206638,9 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC if iCid == -2 { var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+28688 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+16, zRet, zCom, + zRet = Xsqlite3_mprintf(tls, ts+28703 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+16, 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 + 740 /* "" */ + zType = ts + 755 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -206144,37 +206652,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 + 28529 /* "_rowid_" */ + zCol = ts + 28544 /* "_rowid_" */ } else { - zCol = ts + 28259 /* "rbu_rowid" */ + zCol = ts + 28274 /* "rbu_rowid" */ } - zType = ts + 12731 /* "INTEGER" */ + zType = ts + 12746 /* "INTEGER" */ } 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+28710 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+64, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+28725 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+64, zRet, zCom, zCol, zCollate)) } if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { - return ts + 28446 /* " DESC" */ + return ts + 28461 /* " DESC" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+28730, /* "%z%s\"rbu_imp_%d%..." */ + zImpPK = Xsqlite3_mprintf(tls, ts+28745, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+104, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, ts+28751, /* "%z%s\"rbu_imp_%d%..." */ + zImpCols = Xsqlite3_mprintf(tls, ts+28766, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+152, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+28784 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+208, zWhere, zAnd, nBind, zCol)) + ts+28799 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+208, zWhere, zAnd, nBind, zCol)) if (((zRet == uintptr(0)) || (zImpPK == uintptr(0))) || (zImpCols == uintptr(0))) || (zWhere == uintptr(0)) { rc = SQLITE_NOMEM } - zCom = ts + 14676 /* ", " */ - zAnd = ts + 21241 /* " AND " */ + zCom = ts + 14691 /* ", " */ + zAnd = ts + 21256 /* " AND " */ nBind++ } @@ -206217,16 +206725,16 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zS uintptr = ts + 740 /* "" */ + var zS uintptr = ts + 755 /* "" */ var i int32 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+28808 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, ts+28823 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+28820 /* "%z%sNULL" */, libc.VaList(bp+40, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+28835 /* "%z%sNULL" */, libc.VaList(bp+40, zList, zS)) } - zS = ts + 14676 /* ", " */ + zS = ts + 14691 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -206235,7 +206743,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+28829 /* "%z, %s._rowid_" */, libc.VaList(bp+64, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+28844 /* "%z, %s._rowid_" */, libc.VaList(bp+64, zList, zObj)) } } return zList @@ -206255,27 +206763,27 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq 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+28844 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) + zList = rbuMPrintf(tls, p, ts+28859 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) } else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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+28858 /* "%z%sc%d=?%d" */, libc.VaList(bp+16, zList, zSep, i, (i+1))) - zSep = ts + 21241 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+28873 /* "%z%sc%d=?%d" */, libc.VaList(bp+16, zList, zSep, i, (i+1))) + zSep = ts + 21256 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+28870 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+56, zList)) + ts+28885 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+56, zList)) } else { - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = rbuMPrintf(tls, p, ts+28920 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+72, zList, zSep, zCol, (i+1))) - zSep = ts + 21241 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+28935 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+72, zList, zSep, zCol, (i+1))) + zSep = ts + 21256 /* " AND " */ } } } @@ -206289,7 +206797,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // of the RBU handle to something reflecting this. func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28933 /* "invalid rbu_cont..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28948 /* "invalid rbu_cont..." */, 0) } // Return a nul-terminated string containing the comma separated list of @@ -206318,21 +206826,21 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr if int32(libc.Xstrlen(tls, zMask)) != (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { rbuBadControlError(tls, p) } else { - var zSep uintptr = ts + 740 /* "" */ + var zSep uintptr = ts + 755 /* "" */ 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+28920, /* "%z%s\"%w\"=?%d" */ + zList = rbuMPrintf(tls, p, ts+28935, /* "%z%s\"%w\"=?%d" */ libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) - zSep = ts + 14676 /* ", " */ + zSep = ts + 14691 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+28959, /* "%z%s\"%w\"=rbu_del..." */ + zList = rbuMPrintf(tls, p, ts+28974, /* "%z%s\"%w\"=rbu_del..." */ libc.VaList(bp+40, 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 + 14676 /* ", " */ + zSep = ts + 14691 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+28989, /* "%z%s\"%w\"=rbu_fos..." */ + zList = rbuMPrintf(tls, p, ts+29004, /* "%z%s\"%w\"=rbu_fos..." */ libc.VaList(bp+88, 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 + 14676 /* ", " */ + zSep = ts + 14691 /* ", " */ } } } @@ -206390,19 +206898,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zSep uintptr = ts + 29026 /* "PRIMARY KEY(" */ + var zSep uintptr = ts + 29041 /* "PRIMARY KEY(" */ *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+88 /* &pXList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28178 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+28193 /* "PRAGMA main.inde..." */, 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 + 88 /* pXList */)))) { var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)), 3) - if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+16020 /* "pk" */) == 0) { + if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+16035 /* "pk" */) == 0) { var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)), 1) if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+96 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28206 /* "PRAGMA main.inde..." */, libc.VaList(bp+16, zIdx))) + Xsqlite3_mprintf(tls, ts+28221 /* "PRAGMA main.inde..." */, libc.VaList(bp+16, zIdx))) } break } @@ -206415,15 +206923,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)), 2) var zDesc uintptr if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)), 3) != 0 { - zDesc = ts + 28446 /* " DESC" */ + zDesc = ts + 28461 /* " DESC" */ } else { - zDesc = ts + 740 /* "" */ + zDesc = ts + 755 /* "" */ } - z = rbuMPrintf(tls, p, ts+29039 /* "%z%s\"%w\"%s" */, libc.VaList(bp+32, z, zSep, zCol, zDesc)) - zSep = ts + 14676 /* ", " */ + z = rbuMPrintf(tls, p, ts+29054 /* "%z%s\"%w\"%s" */, libc.VaList(bp+32, z, zSep, zCol, zDesc)) + zSep = ts + 14691 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+29050 /* "%z)" */, libc.VaList(bp+72, z)) + z = rbuMPrintf(tls, p, ts+29065 /* "%z)" */, libc.VaList(bp+72, z)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */))) } return z @@ -206455,7 +206963,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx - var zComma uintptr = ts + 740 /* "" */ + var zComma uintptr = ts + 755 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -206463,7 +206971,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+224 /* &pQuery */, (p + 64 /* &.zErrmsg */), - ts+29054 /* "SELECT name FROM..." */) + ts+29069 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */)), 1, tnum) if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */))) { @@ -206472,7 +206980,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit } if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+232 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28206 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) + Xsqlite3_mprintf(tls, ts+28221 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */))) @@ -206482,25 +206990,25 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 1) var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 3) var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+29104 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+16, zCols, zComma, + zCols = rbuMPrintf(tls, p, ts+29119 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+16, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+29126 /* "%z%sc%d%s" */, libc.VaList(bp+64, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+29141 /* "%z%sc%d%s" */, libc.VaList(bp+64, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { - return ts + 28446 /* " DESC" */ + return ts + 28461 /* " DESC" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) - zComma = ts + 14676 /* ", " */ + zComma = ts + 14691 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+29136 /* "%z, id INTEGER" */, libc.VaList(bp+104, zCols)) + zCols = rbuMPrintf(tls, p, ts+29151 /* "%z, id INTEGER" */, libc.VaList(bp+104, zCols)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+120, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6805 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+120, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+29151, /* "CREATE TABLE rbu..." */ + ts+29166, /* "CREATE TABLE rbu..." */ libc.VaList(bp+160, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+184, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6805 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+184, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 0, 0)) } } @@ -206528,52 +207036,52 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum - var zComma uintptr = ts + 740 /* "" */ + var zComma uintptr = ts + 755 /* "" */ var zSql uintptr = uintptr(0) var iCol int32 - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6805 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 0, 1)) for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { - var zPk uintptr = ts + 740 /* "" */ + var zPk uintptr = ts + 755 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp + 240 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6805 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+240 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+240 /* &zColl */, 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) { // If the target table column is an "INTEGER PRIMARY KEY", add // "PRIMARY KEY" to the imposter table column declaration. - zPk = ts + 29213 /* "PRIMARY KEY " */ + zPk = ts + 29228 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+29226, /* "%z%s\"%w\" %s %sCO..." */ + zSql = rbuMPrintf(tls, p, ts+29241, /* "%z%s\"%w\" %s %sCO..." */ libc.VaList(bp+40, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 240 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - return ts + 29253 /* " NOT NULL" */ + return ts + 29268 /* " NOT NULL" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) - zComma = ts + 14676 /* ", " */ + zComma = ts + 14691 /* ", " */ } 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+29263 /* "%z, %z" */, libc.VaList(bp+104, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+29278 /* "%z, %z" */, libc.VaList(bp+104, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+128, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6805 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29270, /* "CREATE TABLE \"rb..." */ + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+128, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 1, tnum)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29285, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+168, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { - return ts + 29302 /* " WITHOUT ROWID" */ + return ts + 29317 /* " WITHOUT ROWID" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+200, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6805 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+200, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 0, 0)) } } @@ -206596,7 +207104,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 152 /* &.pTmpInsert */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+29317, /* "INSERT INTO %s.'..." */ + ts+29332, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -206633,7 +207141,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+29374 /* "SELECT trim(sql)..." */) + ts+29389 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -206743,7 +207251,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+29440 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) + zLimit = Xsqlite3_mprintf(tls, ts+29455 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) if !(zLimit != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM } @@ -206764,26 +207272,26 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 752 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6805 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+56, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6805 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+56, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+29460, /* "CREATE TABLE \"rb..." */ + ts+29475, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+96, zTbl, *(*uintptr)(unsafe.Pointer(bp + 728 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 736 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+128, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6805 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+128, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 0, 0)) // Create the statement to insert index entries (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 752 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+29525 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+168, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+29540 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+168, zTbl, zBind))) } // And to delete index entries 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 /* &.pDelete */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+29561 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+192, zTbl, *(*uintptr)(unsafe.Pointer(bp + 744 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+29576 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+192, zTbl, *(*uintptr)(unsafe.Pointer(bp + 744 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -206800,7 +207308,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+29595, /* "SELECT %s, 0 AS ..." */ + ts+29610, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+216, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -206808,32 +207316,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 29656 /* "AND" */ + return ts + 29671 /* "AND" */ } - return ts + 29660 /* "WHERE" */ + return ts + 29675 /* "WHERE" */ }() } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zStart, zCollist, zLimit)) 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+29666, /* "SELECT %s, rbu_c..." */ + ts+29681, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+280, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, - ts+29727, /* "SELECT %s, rbu_c..." */ + ts+29742, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+336, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { if zPart != 0 { - return ts + 29656 /* "AND" */ + return ts + 29671 /* "AND" */ } - return ts + 29660 /* "WHERE" */ + return ts + 29675 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -206858,8 +207366,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 var zBindings uintptr = rbuObjIterGetBindlist(tls, p, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + bRbuRowid)) var zWhere uintptr = rbuObjIterGetWhere(tls, p, pIter) - var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+6814 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+6810 /* "new" */) + var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+6829 /* "old" */) + var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+6825 /* "new" */) zCollist = rbuObjIterGetCollist(tls, p, pIter) (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -206869,21 +207377,21 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuCreateImposterTable2(tls, p, pIter) zWrite = func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 29886 /* "rbu_imp_" */ + return ts + 29901 /* "rbu_imp_" */ }() // Create the INSERT statement to write to the target PK b-tree if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, - ts+29895, /* "INSERT INTO \"%s%..." */ + ts+29910, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+424, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 29931 /* ", _rowid_" */ + return ts + 29946 /* ", _rowid_" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zBindings))) } @@ -206893,28 +207401,28 @@ 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 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+29941 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+472, zWrite, zTbl, zWhere))) + ts+29956 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+472, zWrite, zTbl, zWhere))) } if ((libc.Bool32((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0))) == 0) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zRbuRowid uintptr = ts + 740 /* "" */ + var zRbuRowid uintptr = ts + 755 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 29969 /* ", rbu_rowid" */ + zRbuRowid = ts + 29984 /* ", rbu_rowid" */ } // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+29981 /* "CREATE TABLE IF ..." */, libc.VaList(bp+504, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+29996 /* "CREATE TABLE IF ..." */, libc.VaList(bp+504, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - return ts + 30057 /* ", 0 AS rbu_rowid" */ + return ts + 30072 /* ", 0 AS rbu_rowid" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+30074, /* "CREATE TEMP TRIG..." */ + ts+30089, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+544, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -206922,7 +207430,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 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+30373, /* "CREATE TEMP TRIG..." */ + ts+30388, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+624, zWrite, zTbl, zNewlist)) } @@ -206931,14 +207439,14 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the SELECT statement to read keys from data_xxx if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zRbuRowid uintptr = ts + 740 /* "" */ + var zRbuRowid uintptr = ts + 755 /* "" */ var zStart uintptr = uintptr(0) var zOrder uintptr = uintptr(0) if bRbuRowid != 0 { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zRbuRowid = ts + 30472 /* ",_rowid_ " */ + zRbuRowid = ts + 30487 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 30482 /* ",rbu_rowid" */ + zRbuRowid = ts + 30497 /* ",rbu_rowid" */ } } @@ -206951,35 +207459,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+28529 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+28544 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+740 /* "" */, ts+14676 /* ", " */, ts+740 /* "" */) + zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+14691 /* ", " */, ts+755 /* "" */) } } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 128 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, - ts+30493, /* "SELECT %s,%s rbu..." */ + ts+30508, /* "SELECT %s,%s rbu..." */ libc.VaList(bp+656, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 30541 /* "0 AS " */ + return ts + 30556 /* "0 AS " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 19575 /* "ORDER BY" */ + return ts + 19590 /* "ORDER BY" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), zOrder, zLimit))) } @@ -207054,12 +207562,12 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp (*RbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - var zPrefix uintptr = ts + 740 /* "" */ + var zPrefix uintptr = ts + 755 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 29886 /* "rbu_imp_" */ + zPrefix = ts + 29901 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+30547, /* "UPDATE \"%s%w\" SE..." */ + zUpdate = Xsqlite3_mprintf(tls, ts+30562, /* "UPDATE \"%s%w\" SE..." */ 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 /* &.pUpdate */), (p + 64 /* &.zErrmsg */), zUpdate) @@ -207086,7 +207594,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))) *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)) = uintptr(0) } @@ -207127,7 +207635,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ } *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+16 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+30577 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) + Xsqlite3_mprintf(tls, ts+30592 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) for (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) { case RBU_STATE_STAGE: @@ -207199,31 +207707,31 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6805 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6820 /* "main" */, 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+6805 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+30607 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) + var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6820 /* "main" */) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+30622 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) } } // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+30634 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+24, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+13534 /* "stat" */, uint64(4)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+30649 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+24, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+13549 /* "stat" */, uint64(4)) } else { - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+6805 /* "main" */, uint64(4)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+6820 /* "main" */, uint64(4)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+30652 /* "CREATE TABLE IF ..." */, libc.VaList(bp+40, p+48 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+30667 /* "CREATE TABLE IF ..." */, libc.VaList(bp+40, p+48 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 var rc int32 (*Sqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6805 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6820 /* "main" */, SQLITE_FCNTL_RBUCNT, p) if rc != SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -207256,11 +207764,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 return } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30718 /* "cannot vacuum wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30733 /* "cannot vacuum wa..." */, 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+23843 /* "file:" */, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5))) { + if (libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5)) && (0 == libc.Xmemcmp(tls, ts+23858 /* "file:" */, (*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)))) == '?' { @@ -207272,16 +207780,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+30750, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+56, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6805 /* "main" */), + zTarget = Xsqlite3_mprintf(tls, ts+30765, /* "file:%s-vactmp?r..." */ + libc.VaList(bp+56, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6820 /* "main" */), func() uintptr { if zExtra == uintptr(0) { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 30782 /* "&" */ + return ts + 30797 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } return zExtra }())) @@ -207297,40 +207805,40 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+30784 /* "rbu_tmp_insert" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+30799 /* "rbu_tmp_insert" */, -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+30799 /* "rbu_fossil_delta" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + ts+30814 /* "rbu_fossil_delta" */, 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+30816 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+30831 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuTargetNameFunc})), uintptr(0), uintptr(0)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6805 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, SQLITE_FCNTL_RBU, p) } - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30832 /* "SELECT * FROM sq..." */, 0) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30847 /* "SELECT * FROM sq..." */, 0) // Mark the database file just opened as an RBU target database. If // this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. // This is an error. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6805 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, SQLITE_FCNTL_RBU, p) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30860 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30875 /* "rbu vfs not foun..." */, 0) } } @@ -207399,7 +207907,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+30832 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30847 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -207433,7 +207941,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+30878 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30893 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) if rc2 != SQLITE_INTERNAL { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -207560,16 +208068,16 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ bp := tls.Alloc(32) defer tls.Free(32) - var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6805 /* "main" */) + var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */) var zMove uintptr = zBase var zOal uintptr var zWal uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6805 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6820 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+30913 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+30920 /* "%s-wal" */, libc.VaList(bp+16, zMove)) + zOal = Xsqlite3_mprintf(tls, ts+30928 /* "%s-oal" */, libc.VaList(bp, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+30935 /* "%s-wal" */, libc.VaList(bp+16, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -207709,7 +208217,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) { /* sqlite3.c:203389:1 ((*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+23481 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23496 /* "datatype mismatc..." */, 0) return } @@ -207827,7 +208335,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // var pStmt uintptr at bp+16, 8 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+16 /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+30927 /* "PRAGMA schema_ve..." */) + ts+30942 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There // is already a transaction open, so the prepared statement cannot @@ -207840,7 +208348,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30949 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30964 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) } } } @@ -207865,7 +208373,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+176 /* &pInsert */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+30976, /* "INSERT OR REPLAC..." */ + ts+30991, /* "INSERT OR REPLAC..." */ libc.VaList(bp, p+48, /* &.zStateDb */ RBU_STATE_STAGE, eStage, RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl, @@ -207910,9 +208418,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+40 /* &pPragma */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+31134 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) + Xsqlite3_mprintf(tls, ts+31149 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */)))) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31149, /* "PRAGMA main.%s =..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31164, /* "PRAGMA main.%s =..." */ libc.VaList(bp+16, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */)), 0))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */))) @@ -207929,11 +208437,11 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * *(*uintptr)(unsafe.Pointer(bp /* pSql */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31169 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31184 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+31194 /* "SELECT sql FROM ..." */) + ts+31209 /* "SELECT sql FROM ..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -207947,12 +208455,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+31302 /* "SELECT * FROM sq..." */) + ts+31317 /* "SELECT * FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8 /* &pInsert */, (p + 64 /* &.zErrmsg */), - ts+31367 /* "INSERT INTO sqli..." */) + ts+31382 /* "INSERT INTO sqli..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -207964,7 +208472,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31411 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31426 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) @@ -207986,8 +208494,8 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // when this handle was opened, create the target database schema. if (((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FnProgress == 0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { rbuCreateTargetSchema(tls, p) - rbuCopyPragma(tls, p, ts+17097 /* "user_version" */) - rbuCopyPragma(tls, p, ts+16198 /* "application_id" */) + rbuCopyPragma(tls, p, ts+17112 /* "user_version" */) + rbuCopyPragma(tls, p, ts+16213 /* "application_id" */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl != 0) { @@ -207998,7 +208506,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // But the contents can be deleted. 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+31436 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + ts+31451 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) } } else { rbuObjIterPrepareAll(tls, p, pIter, 0) @@ -208024,10 +208532,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: rbuSaveState(tls, p, RBU_STAGE_MOVE) rbuIncrSchemaCookie(tls, p) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+14580 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+14595 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+14580 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+14595 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_MOVE } @@ -208144,7 +208652,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 if (rc == SQLITE_OK) && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31464 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31479 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -208163,7 +208671,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ bp := tls.Alloc(16) defer tls.Free(16) - var zOal uintptr = rbuMPrintf(tls, p, ts+30913 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) + var zOal uintptr = rbuMPrintf(tls, p, ts+30928 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -208185,7 +208693,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ // var zRnd [64]int8 at bp+20, 64 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+16 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+20 /* &zRnd[0] */, ts+31489 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* rnd */)))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+20 /* &zRnd[0] */, ts+31504 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* rnd */)))) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+20 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+20 /* &zRnd[0] */) @@ -208224,7 +208732,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / rc = prepareFreeAndCollectError(tls, db, bp+16 /* &pStmt */, bp+24, /* &zErrmsg */ Xsqlite3_mprintf(tls, - ts+31500 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) + ts+31515 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) if rc != SQLITE_OK { Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrmsg */)), -1) } else { @@ -208267,7 +208775,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+31572 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+31587 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuIndexCntFunc})), uintptr(0), uintptr(0)) @@ -208275,7 +208783,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ // occurs, nPhaseOneStep will be left set to -1. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+31586 /* "SELECT 1 FROM sq..." */) + ts+31601 /* "SELECT 1 FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { @@ -208287,7 +208795,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (bExists != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+31643 /* "SELECT sum(cnt *..." */) + ts+31658 /* "SELECT sum(cnt *..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) @@ -208333,7 +208841,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) libc.Xmemcpy(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, zRbu, (nRbu + uint64(1))) pCsr += (uintptr(nRbu + uint64(1))) if zState != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+3615 /* "%s" */, libc.VaList(bp, zState)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+3630 /* "%s" */, libc.VaList(bp, zState)) } // If the first attempt to open the database file fails and the bRetry @@ -208370,7 +208878,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+31717 /* "cannot update wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31732 /* "cannot update wa..." */, 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 @@ -208392,12 +208900,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // transaction is committed in rollback mode) currently stored on // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31749, /* "database modifie..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31764, /* "database modifie..." */ libc.VaList(bp+16, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 31781 /* "vacuum" */ + return ts + 31796 /* "vacuum" */ } - return ts + 31788 /* "update" */ + return ts + 31803 /* "update" */ }())) } } @@ -208405,7 +208913,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { var db uintptr = (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+14565 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+14580 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) // Point the object iterator at the first object if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -208419,24 +208927,24 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_DONE } else { if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuState)(unsafe.Pointer(pState)).FeStage == 0)) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - rbuCopyPragma(tls, p, ts+16822 /* "page_size" */) - rbuCopyPragma(tls, p, ts+16213 /* "auto_vacuum" */) + rbuCopyPragma(tls, p, ts+16837 /* "page_size" */) + rbuCopyPragma(tls, p, ts+16228 /* "auto_vacuum" */) } // Open transactions both databases. The *-oal file is opened or // created at this point. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+31795 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+31810 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Check if the main database is a zipvfs db. If it is, set the upper // level pager to use "journal_mode=off". This prevents it from // generating a large journal using a temp file. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var frc int32 = Xsqlite3_file_control(tls, db, ts+6805 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) + var frc int32 = Xsqlite3_file_control(tls, db, ts+6820 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) if frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, - db, ts+31811 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + db, ts+31826 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } } @@ -208489,7 +208997,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+31835 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { + if (n >= 7) && (0 == libc.Xmemcmp(tls, ts+31850 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { return rbuMisuseError(tls) } } @@ -208519,7 +209027,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:204232:13: */ 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+29886 /* "rbu_imp_" */, uint64(8)) == 0 { + if libc.Xmemcmp(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i)), ts+29901 /* "rbu_imp_" */, 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++ @@ -208538,7 +209046,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Commit the transaction to the *-oal file. if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+14580 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+14595 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Sync the db file if currently doing an incremental checkpoint @@ -208550,7 +209058,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+14580 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+14595 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Close any open statement handles. @@ -208562,7 +209070,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // specifying the current target and state databases to start a new // vacuum from scratch. 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+31843 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) + var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31858 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) && (rc2 != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -208661,7 +209169,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+14580 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+14595 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -208678,19 +209186,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+14580 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+14595 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { var zBegin uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zBegin = ts + 14565 /* "BEGIN" */ + zBegin = ts + 14580 /* "BEGIN" */ } else { - zBegin = ts + 31795 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 31810 /* "BEGIN IMMEDIATE" */ } 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+31795 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31810 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -209094,7 +209602,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+24 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31870 /* "rbu/zipvfs setup..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31885 /* "rbu/zipvfs setup..." */, 0) } else if rc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p (*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu @@ -209117,7 +209625,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+31893 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + var zOut uintptr = Xsqlite3_mprintf(tls, ts+31908 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = SQLITE_NOMEM @@ -209280,7 +209788,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags // This call is to open a *-wal file. Intead, open the *-oal. var nOpen Size_t if (*Sqlite3rbu)(unsafe.Pointer(((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu))).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+6805 /* "main" */) + zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+6820 /* "main" */) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -209295,7 +209803,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+31904 /* "rbu_memory" */, 0) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+31919 /* "rbu_memory" */, 0) != 0) { oflags = ((((SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -209602,6 +210110,5673 @@ func Xsqlite3rbu_temp_size(tls *libc.TLS, pRbu uintptr) Sqlite3_int64 { /* sqlit //************* End of dbpage.c ********************************************* //************* Begin file sqlite3session.c ********************************* +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable1 = struct { + FpNext uintptr + FzName uintptr + FnCol int32 + FbStat1 int32 + FazCol uintptr + FabPK uintptr + FnEntry int32 + FnChange int32 + FapChange uintptr +} /* sqlite3.c:11155:9 */ + +//************************************************************************ + +//************* End of sqlite3rbu.c ***************************************** +//************* Begin file dbstat.c ***************************************** +// 2010 July 12 +// +// The author disclaims copyright to this source code. In place of +// a legal notice, here is a blessing: +// +// May you do good and not evil. +// May you find forgiveness for yourself and forgive others. +// May you share freely, never taking more than you give. +// +// +// +// This file contains an implementation of the "dbstat" virtual table. +// +// The dbstat virtual table is used to extract low-level storage +// information from an SQLite database in order to implement the +// "sqlite3_analyzer" utility. See the ../tool/spaceanal.tcl script +// for an example implementation. +// +// Additional information is available on the "dbstat.html" page of the +// official SQLite documentation. + +// #include "sqliteInt.h" ** Requires access to internal data structures ** + +//************* End of dbstat.c ********************************************* +//************* Begin file dbpage.c ***************************************** +// 2017-10-11 +// +// The author disclaims copyright to this source code. In place of +// a legal notice, here is a blessing: +// +// May you do good and not evil. +// May you find forgiveness for yourself and forgive others. +// May you share freely, never taking more than you give. +// +// +// +// This file contains an implementation of the "sqlite_dbpage" virtual table. +// +// The sqlite_dbpage virtual table is used to read or write whole raw +// pages of the database file. The pager interface is used so that +// uncommitted changes and changes recorded in the WAL file are correctly +// retrieved. +// +// Usage example: +// +// SELECT data FROM sqlite_dbpage('aux1') WHERE pgno=123; +// +// This is an eponymous virtual table so it does not need to be created before +// use. The optional argument to the sqlite_dbpage() table name is the +// schema for the database file that is to be read. The default schema is +// "main". +// +// The data field of sqlite_dbpage table can be updated. The new +// value must be a BLOB which is the correct page size, otherwise the +// update fails. Rows may not be deleted or inserted. + +// #include "sqliteInt.h" ** Requires access to internal data structures ** + +//************* End of dbpage.c ********************************************* +//************* Begin file sqlite3session.c ********************************* + +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ +type SessionChange1 = struct { + Fop U8 + FbIndirect U8 + _ [2]byte + FnMaxSize int32 + FnRecord int32 + _ [4]byte + FaRecord uintptr + FpNext uintptr +} /* sqlite3.c:11155:9 */ + +type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ +type SessionBuffer1 = struct { + FaBuf uintptr + FnBuf int32 + FnAlloc int32 +} /* sqlite3.c:11163:9 */ + +type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ +type SessionInput1 = struct { + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + _ [4]byte + FaData uintptr + FnData int32 + _ [4]byte + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 + _ [4]byte +} /* sqlite3.c:11163:9 */ + +type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ + +// Minimum chunk size used by streaming versions of functions. + +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:206671:12 */ + +type SessionHook1 = struct { + FpCtx uintptr + FxOld uintptr + FxNew uintptr + FxCount uintptr + FxDepth uintptr +} /* sqlite3.c:11155:9 */ + +type SessionHook = SessionHook1 /* sqlite3.c:206673:28 */ + +// Write a varint with value iVal into the buffer at aBuf. Return the +// number of bytes written. +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:206951:12: */ + return int32(func() uint8 { + if (U32(iVal)) < U32(0x80) { + return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) + } + return uint8(Xsqlite3PutVarint(tls, aBuf, uint64(iVal))) + }()) +} + +// Return the number of bytes required to store value iVal as a varint. +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:206958:12: */ + return Xsqlite3VarintLen(tls, uint64(iVal)) +} + +// Read a varint value from aBuf[] into *piVal. Return the number of +// bytes read. +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:206966:12: */ + return int32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { + return uint8(func() int32 { (*(*int32)(unsafe.Pointer(piVal))) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) + } + return Xsqlite3GetVarint32(tls, aBuf, piVal) + }()) +} + +// Load an unaligned and unsigned 32-bit integer + +// Read a 64-bit big-endian integer value from buffer aRec[]. Return +// the value read. +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:206977:22: */ + var x U64 = (U64((((U32(*(*U8)(unsafe.Pointer((aRec)))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec) + 3))))) + var y U32 = ((((U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4))))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 3)))) + x = ((x << 32) + U64(y)) + return Sqlite3_int64(x) +} + +// Write a 64-bit big-endian integer value to the buffer aBuf[]. +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:206987:13: */ + *(*U8)(unsafe.Pointer(aBuf)) = (U8((i >> 56) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 1)) = (U8((i >> 48) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 2)) = (U8((i >> 40) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 3)) = (U8((i >> 32) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 4)) = (U8((i >> 24) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 5)) = (U8((i >> 16) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 6)) = (U8((i >> 8) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 7)) = (U8((i >> 0) & int64(0xFF))) +} + +// This function is used to serialize the contents of value pValue (see +// comment titled "RECORD FORMAT" above). +// +// If it is non-NULL, the serialized form of the value is written to +// buffer aBuf. *pnWrite is set to the number of bytes written before +// returning. Or, if aBuf is NULL, the only thing this function does is +// set *pnWrite. +// +// If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs +// within a call to sqlite3_value_text() (may fail if the db is utf-16)) +// SQLITE_NOMEM is returned. +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:207011:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var nByte int32 // Size of serialized value in bytes + + if pValue != 0 { + var eType int32 // Value type (SQLITE_NULL, TEXT etc.) + + eType = Xsqlite3_value_type(tls, pValue) + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(eType) + } + + switch eType { + case SQLITE_NULL: + nByte = 1 + break + fallthrough + + case SQLITE_INTEGER: + fallthrough + case SQLITE_FLOAT: + if aBuf != 0 { + // TODO: SQLite does something special to deal with mixed-endian + // floating point values (e.g. ARM7). This code probably should + // too. + // var i U64 at bp, 8 + + if eType == SQLITE_INTEGER { + *(*U64)(unsafe.Pointer(bp /* i */)) = U64(Xsqlite3_value_int64(tls, pValue)) + } else { + // var r float64 at bp+8, 8 + + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_value_double(tls, pValue) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint64(8)) + } + sessionPutI64(tls, (aBuf + 1), int64(*(*U64)(unsafe.Pointer(bp /* i */)))) + } + nByte = 9 + break + fallthrough + + default: + { + var z uintptr + var n int32 + var nVarint int32 + + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, pValue) + } else { + z = Xsqlite3_value_blob(tls, pValue) + } + n = Xsqlite3_value_bytes(tls, pValue) + if (z == uintptr(0)) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + nVarint = sessionVarintLen(tls, n) + + if aBuf != 0 { + sessionVarintPut(tls, (aBuf + 1), n) + if n != 0 { + libc.Xmemcpy(tls, (aBuf + uintptr((nVarint + 1))), z, uint64(n)) + } + } + + nByte = ((1 + nVarint) + n) + break + + } + } + } else { + nByte = 1 + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(0) + } + } + + if pnWrite != 0 { + *(*Sqlite3_int64)(unsafe.Pointer(pnWrite)) += (Sqlite3_int64(nByte)) + } + return SQLITE_OK +} + +// Allocate and return a pointer to a buffer nByte bytes in size. If +// pSession is not NULL, increase the sqlite3_session.nMalloc variable +// by the number of bytes allocated. +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:207087:13: */ + var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) += I64((Xsqlite3_msize(tls, pRet))) + } + return pRet +} + +// Free buffer pFree, which must have been allocated by an earlier +// call to sessionMalloc64(). If pSession is not NULL, decrease the +// sqlite3_session.nMalloc counter by the number of bytes freed. +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:207098:13: */ + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) -= I64((Xsqlite3_msize(tls, pFree))) + } + Xsqlite3_free(tls, pFree) +} + +// This macro is used to calculate hash key values for data structures. In +// order to use this macro, the entire data structure must be represented +// as a series of unsigned integers. In order to calculate a hash-key value +// for a data structure represented as three such integers, the macro may +// then be used as follows: +// +// int hash_key_value; +// hash_key_value = HASH_APPEND(0, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// +// In practice, the data structures this macro is used for are the primary +// key values of modified rows. + +// Append the hash of the 64-bit integer passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:207124:21: */ + h = ((((h) << 3) ^ (h)) ^ (uint32(i & int64(0xFFFFFFFF)))) + return ((((h) << 3) ^ (h)) ^ (uint32((i >> 32) & int64(0xFFFFFFFF)))) +} + +// Append the hash of the blob passed via the second and third arguments to +// the hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:207133:21: */ + var i int32 + for i = 0; i < n; i++ { + h = ((((h) << 3) ^ (h)) ^ (uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))))) + } + return h +} + +// Append the hash of the data type passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:207143:21: */ + return ((((h) << 3) ^ (h)) ^ (uint32(eType))) +} + +// This function may only be called from within a pre-update callback. +// It calculates a hash based on the primary key values of the old.* or +// new.* row currently available and, assuming no error occurs, writes it to +// *piHash before returning. If the primary key contains one or more NULL +// values, *pbNullPK is set to true before returning. +// +// If an error occurs, an SQLite error code is returned and the final values +// of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned +// and the output variables are set as described above. +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:207158:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var h uint32 = uint32(0) // Hash value to return + var i int32 // Used to iterate through columns + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0 { + var rc int32 + var eType int32 + // var pVal uintptr at bp, 8 + + if bNew != 0 { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } else { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } + if rc != SQLITE_OK { + return rc + } + + eType = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var iVal I64 at bp+8, 8 + + if eType == SQLITE_INTEGER { + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + *(*float64)(unsafe.Pointer(bp + 16 /* rVal */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + + libc.Xmemcpy(tls, bp+8 /* &iVal */, bp+16 /* &rVal */, uint64(8)) + } + h = sessionHashAppendI64(tls, h, *(*I64)(unsafe.Pointer(bp + 8 /* iVal */))) + } else if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + var z uintptr + var n int32 + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + n = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + if !(z != 0) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + h = sessionHashAppendBlob(tls, h, n, z) + } else { + + *(*int32)(unsafe.Pointer(pbNullPK)) = 1 + } + } + } + + *(*int32)(unsafe.Pointer(piHash)) = (int32(h % uint32((*SessionTable)(unsafe.Pointer(pTab)).FnChange))) + return SQLITE_OK +} + +// The buffer that the argument points to contains a serialized SQL value. +// Return the number of bytes of space occupied by the value (including +// the type byte). +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:207223:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var e int32 = int32(*(*U8)(unsafe.Pointer(a))) + // var n int32 at bp, 4 + + if (e == 0) || (e == 0xFF) { + return 1 + } + if e == SQLITE_NULL { + return 1 + } + if (e == SQLITE_INTEGER) || (e == SQLITE_FLOAT) { + return 9 + } + return ((sessionVarintGet(tls, (a+1), bp /* &n */) + 1) + *(*int32)(unsafe.Pointer(bp /* n */))) +} + +// Based on the primary key values stored in change aRecord, calculate a +// hash key. Assume the has table has nBucket buckets. The hash keys +// calculated by this function are compatible with those calculated by +// sessionPreupdateHash(). +// +// The bPkOnly argument is non-zero if the record at aRecord[] is from +// a patchset DELETE. In this case the non-PK fields are omitted entirely. +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:207241:21: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var h uint32 = uint32(0) // Value to return + var i int32 // Used to iterate through columns + var a uintptr = aRecord // Used to iterate through change record + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(a))) + var isPK int32 = int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) + if (bPkOnly != 0) && (isPK == 0) { + continue + } + + // It is not possible for eType to be SQLITE_NULL here. The session + // module does not record changes for rows with NULL values stored in + // primary key columns. + + if isPK != 0 { + a++ + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + h = sessionHashAppendI64(tls, h, sessionGetI64(tls, a)) + a += uintptr(8) + } else { + // var n int32 at bp, 4 + + a += uintptr(sessionVarintGet(tls, a, bp /* &n */)) + h = sessionHashAppendBlob(tls, h, *(*int32)(unsafe.Pointer(bp /* n */)), a) + a += uintptr(*(*int32)(unsafe.Pointer(bp /* n */))) + } + } else { + a += uintptr(sessionSerialLen(tls, a)) + } + } + return (h % uint32(nBucket)) +} + +// Arguments aLeft and aRight are pointers to change records for table pTab. +// This function returns true if the two records apply to the same row (i.e. +// have the same values stored in the primary key columns), or false +// otherwise. +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:207290:12: */ + var a1 uintptr = aLeft // Cursor to iterate through aLeft + var a2 uintptr = aRight // Cursor to iterate through aRight + var iCol int32 // Used to iterate through table columns + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol))) != 0 { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + + if (n1 != n2) || (libc.Xmemcmp(tls, a1, a2, uint64(n1)) != 0) { + return 0 + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } else { + if bLeftPkOnly == 0 { + a1 += uintptr(sessionSerialLen(tls, a1)) + } + if bRightPkOnly == 0 { + a2 += uintptr(sessionSerialLen(tls, a2)) + } + } + } + + return 1 +} + +// Arguments aLeft and aRight both point to buffers containing change +// records with nCol columns. This function "merges" the two records into +// a single records which is written to the buffer at *paOut. *paOut is +// then set to point to one byte after the last byte written before +// returning. +// +// The merging of records is done as follows: For each column, if the +// aRight record contains a value for the column, copy the value from +// their. Otherwise, if aLeft contains a value, copy it. If neither +// record contains a value for a given column, then neither does the +// output record. +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:207333:13: */ + var a1 uintptr = aLeft // Cursor used to iterate through aLeft + var a2 uintptr = aRight // Cursor used to iterate through aRight + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor + var iCol int32 // Used to iterate from 0 to nCol + + for iCol = 0; iCol < nCol; iCol++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + libc.Xmemcpy(tls, aOut, a2, uint64(n2)) + aOut += uintptr(n2) + } else { + libc.Xmemcpy(tls, aOut, a1, uint64(n1)) + aOut += uintptr(n1) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut +} + +// This is a helper function used by sessionMergeUpdate(). +// +// When this function is called, both *paOne and *paTwo point to a value +// within a change record. Before it returns, both have been advanced so +// as to point to the next value in the record. +// +// If, when this function is called, *paTwo points to a valid value (i.e. +// *paTwo[0] is not 0x00 - the "no value" placeholder), a copy of the *paTwo +// pointer is returned and *pnVal is set to the number of bytes in the +// serialized value. Otherwise, a copy of *paOne is returned and *pnVal +// set to the number of bytes in the value at *paOne. If *paOne points +// to the "no value" placeholder, *pnVal is set to 1. In other words: +// +// if( *paTwo is valid ) return *paTwo; +// return *paOne; +// +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:207379:11: */ + var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) + var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) + var pRet uintptr = uintptr(0) + var n1 int32 + + if a2 != 0 { + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + *(*int32)(unsafe.Pointer(pnVal)) = n2 + pRet = a2 + } + *(*uintptr)(unsafe.Pointer(paTwo)) = (a2 + uintptr(n2)) + } + + n1 = sessionSerialLen(tls, a1) + if pRet == uintptr(0) { + *(*int32)(unsafe.Pointer(pnVal)) = n1 + pRet = a1 + } + *(*uintptr)(unsafe.Pointer(paOne)) = (a1 + uintptr(n1)) + + return pRet +} + +// This function is used by changeset_concat() to merge two UPDATE changes +// on the same row. +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:207413:12: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) + var i int32 + + if bPatchset == 0 { + var bRequired int32 = 0 + + // Write the old.* vector first. + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+16, 4 + + var aOld uintptr + // var nNew int32 at bp+40, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+16 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+40 /* &nNew */) + if ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)) != *(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) || (libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) != 0) { + if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + bRequired = 1 + } + libc.Xmemcpy(tls, aOut, aOld, uint64(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */))) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } + } + + if !(bRequired != 0) { + return 0 + } + } + + // Write the new.* vector + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+44, 4 + + var aOld uintptr + // var nNew int32 at bp+48, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+44 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+48 /* &nNew */) + if (bPatchset == 0) && + ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || ((*(*int32)(unsafe.Pointer(bp + 44 /* nOld */)) == *(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) && (0 == libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))))))) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } else { + libc.Xmemcpy(tls, aOut, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) + } + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut + return 1 +} + +// This function is only called from within a pre-update-hook callback. +// It determines if the current pre-update-hook change affects the same row +// as the change stored in argument pChange. If so, it returns true. Otherwise +// if the pre-update-hook does not affect the same row as pChange, it returns +// false. +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:207490:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var iCol int32 // Used to iterate through columns + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord // Cursor used to scan change record + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol)))) != 0) { + a += uintptr(sessionSerialLen(tls, a)) + } else { + // var pVal uintptr at bp, 8 + // Value returned by preupdate_new/old + var rc int32 + _ = rc // Error code from preupdate_new/old + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) // Type of value from change record + + // The following calls to preupdate_new() and preupdate_old() can not + // fail. This is because they cache their return values, and by the + // time control flows to here they have already been called once from + // within sessionPreupdateHash(). The first two asserts below verify + // this (that the method has already been called). + if op == SQLITE_INSERT { + // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } else { + // assert( db->pPreUpdate->pUnpacked ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } + + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { + return 0 + } + + // A SessionChange object never has a NULL value in a PK column + + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, a) + a += uintptr(8) + if eType == SQLITE_INTEGER { + if Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) { + return 0 + } + } else { + // var rVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &rVal */, bp+16 /* &iVal */, uint64(8)) + if Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*float64)(unsafe.Pointer(bp + 8 /* rVal */)) { + return 0 + } + } + } else { + // var n int32 at bp+24, 4 + + var z uintptr + a += uintptr(sessionVarintGet(tls, a, bp+24 /* &n */)) + if Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*int32)(unsafe.Pointer(bp + 24 /* n */)) { + return 0 + } + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + if (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) > 0) && (libc.Xmemcmp(tls, a, z, uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))) != 0) { + return 0 + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* n */))) + } + } + } + + return 1 +} + +// If required, grow the hash table used to store changes on table pTab +// (part of the session pSession). If a fatal OOM error occurs, set the +// session object to failed and return SQLITE_ERROR. Otherwise, return +// SQLITE_OK. +// +// It is possible that a non-fatal OOM error occurs in this function. In +// that case the hash-table does not grow, but SQLITE_OK is returned anyway. +// Growing the hash table in this case is a performance optimization only, +// it is not required for correct operation. +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:207569:12: */ + if ((*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= ((*SessionTable)(unsafe.Pointer(pTab)).FnChange / 2)) { + var i int32 + var apNew uintptr + var nNew Sqlite3_int64 = (int64(2) * (func() int64 { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange != 0 { + return int64((*SessionTable)(unsafe.Pointer(pTab)).FnChange) + } + return int64(128) + }())) + + apNew = sessionMalloc64(tls, + pSession, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew)))) + if apNew == uintptr(0) { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 { + return SQLITE_ERROR + } + return SQLITE_OK + } + libc.Xmemset(tls, apNew, 0, (uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew))) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNext uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNext { + var bPkOnly int32 = (libc.Bool32((int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_DELETE) && (bPatchset != 0))) + var iHash int32 = int32(sessionChangeHash(tls, pTab, bPkOnly, (*SessionChange)(unsafe.Pointer(p)).FaRecord, int32(nNew))) + pNext = (*SessionChange)(unsafe.Pointer(p)).FpNext + (*SessionChange)(unsafe.Pointer(p)).FpNext = *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) = p + } + } + + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + (*SessionTable)(unsafe.Pointer(pTab)).FnChange = int32(nNew) + (*SessionTable)(unsafe.Pointer(pTab)).FapChange = apNew + } + + return SQLITE_OK +} + +// This function queries the database for the names of the columns of table +// zThis, in schema zDb. +// +// Otherwise, if they are not NULL, variable *pnCol is set to the number +// of columns in the database table and variable *pzTab is set to point to a +// nul-terminated copy of the table name. *pazCol (if not NULL) is set to +// point to an array of pointers to column names. And *pabPK (again, if not +// NULL) is set to point to an array of booleans - true if the corresponding +// column is part of the primary key. +// +// For example, if the table is declared as: +// +// CREATE TABLE tbl1(w, x, y, z, PRIMARY KEY(w, z)); +// +// Then the four output variables are populated as follows: +// +// *pnCol = 4 +// *pzTab = "tbl1" +// *pazCol = {"w", "x", "y", "z"} +// *pabPK = {1, 0, 0, 1} +// +// All returned buffers are part of the same single allocation, which must +// be freed using sqlite3_free() by the caller +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var zPragma uintptr + // var pStmt uintptr at bp+24, 8 + + var rc int32 + var nByte Sqlite3_int64 + var nDbCol int32 = 0 + var nThis int32 + var i int32 + var pAlloc uintptr = uintptr(0) + var azCol uintptr = uintptr(0) + var abPK uintptr = uintptr(0) + + nThis = Xsqlite3Strlen30(tls, zThis) + if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+11434 /* "sqlite_stat1" */, zThis)) { + 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 { + // For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. + zPragma = Xsqlite3_mprintf(tls, + + ts+31930 /* "SELECT 0, 'tbl',..." */, 0) + } else if rc == SQLITE_ERROR { + zPragma = Xsqlite3_mprintf(tls, ts+755 /* "" */, 0) + } else { + return rc + } + } else { + zPragma = Xsqlite3_mprintf(tls, ts+32051 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + } + if !(zPragma != 0) { + return SQLITE_NOMEM + } + + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+24 /* &pStmt */, uintptr(0)) + Xsqlite3_free(tls, zPragma) + if rc != SQLITE_OK { + return rc + } + + nByte = (Sqlite3_int64(nThis + 1)) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1))) + nDbCol++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) + + if rc == SQLITE_OK { + nByte = Sqlite3_int64(uint64(nByte) + (uint64(nDbCol) * ((uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(U8(0)))) + uint64(1)))) + pAlloc = sessionMalloc64(tls, pSession, nByte) + if pAlloc == uintptr(0) { + rc = SQLITE_NOMEM + } + } + if rc == SQLITE_OK { + azCol = pAlloc + pAlloc = (azCol + uintptr(nDbCol)*8) + abPK = pAlloc + pAlloc = (abPK + uintptr(nDbCol)) + if pzTab != 0 { + libc.Xmemcpy(tls, pAlloc, zThis, (uint64(nThis + 1))) + *(*uintptr)(unsafe.Pointer(pzTab)) = pAlloc + pAlloc += (uintptr(nThis + 1)) + } + + i = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1) + if zName == uintptr(0) { + break + } + libc.Xmemcpy(tls, pAlloc, zName, (uint64(nName + 1))) + *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc + pAlloc += (uintptr(nName + 1)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 5)) + i++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) + + } + + // If successful, populate the output variables. Otherwise, zero them and + // free any allocation made. An error code will be returned in this case. + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pazCol)) = azCol + *(*uintptr)(unsafe.Pointer(pabPK)) = abPK + *(*int32)(unsafe.Pointer(pnCol)) = nDbCol + } else { + *(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pabPK)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnCol)) = 0 + if pzTab != 0 { + *(*uintptr)(unsafe.Pointer(pzTab)) = uintptr(0) + } + sessionFree(tls, pSession, azCol) + } + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) + return rc +} + +// This function is only called from within a pre-update handler for a +// write to table pTab, part of session pSession. If this is the first +// write to this table, initalize the SessionTable.nCol, azCol[] and +// abPK[] arrays accordingly. +// +// If an error occurs, an error code is stored in sqlite3_session.rc and +// non-zero returned. Or, if no error occurs but the table has no primary +// key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to +// indicate that updates on this table should be ignored. SessionTable.abPK +// is set to NULL in this case. +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:207752:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + if (*SessionTable)(unsafe.Pointer(pTab)).FnCol == 0 { + // var abPK uintptr at bp, 8 + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionTableInfo(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, + (*SessionTable)(unsafe.Pointer(pTab)).FzName, (pTab + 16 /* &.nCol */), uintptr(0), (pTab + 24 /* &.azCol */), bp /* &abPK */) + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc == SQLITE_OK { + var i int32 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* abPK */)) + uintptr(i))) != 0 { + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = *(*uintptr)(unsafe.Pointer(bp /* abPK */)) + break + } + } + if 0 == Xsqlite3_stricmp(tls, ts+11434 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += I64((((Size_t((1 + sessionVarintLen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + uint64(1))) + } + } + } + return (libc.Bool32(((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FabPK == uintptr(0)))) +} + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx1 = struct { + Fhook SessionHook + FpSession uintptr +} /* sqlite3.c:207787:9 */ + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:207787:32 */ + +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207792:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207802:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 24 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 32 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = int64(2) + if int32((*SessionChange)(unsafe.Pointer(pC)).Fop) == SQLITE_INSERT { + if op != SQLITE_DELETE { + var ii int32 + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) + } + } + } else if op == SQLITE_DELETE { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + if Xsqlite3_preupdate_blobwrite(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb) >= 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + } + } else { + var ii int32 + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(pC)).FaRecord + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + var bChanged int32 = 1 + var nOld int32 = 0 + var eType int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) + if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { + return SQLITE_NOMEM + } + + eType = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pCsr, 1)))) + switch eType { + case SQLITE_NULL: + bChanged = (libc.Bool32(Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) != SQLITE_NULL)) + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + if eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) = sessionGetI64(tls, pCsr) + if eType == SQLITE_INTEGER { + bChanged = (libc.Bool32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) != Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } else { + // var dVal float64 at bp+24, 8 + + libc.Xmemcpy(tls, bp+24 /* &dVal */, bp+32 /* &iVal */, uint64(8)) + bChanged = (libc.Bool32(*(*float64)(unsafe.Pointer(bp + 24 /* dVal */)) != Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } + } + nOld = 8 + pCsr += uintptr(8) + break + + } + fallthrough + + default: + { + // var nByte int32 at bp+40, 4 + + nOld = sessionVarintGet(tls, pCsr, bp+40 /* &nByte */) + pCsr += uintptr(nOld) + nOld = nOld + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + + if ((eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)))) && + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) && + ((*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == 0) || (0 == libc.Xmemcmp(tls, pCsr, Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))), uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)))))) { + bChanged = 0 + } + pCsr += uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + break + + } + } + + if (bChanged != 0) && (*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0) { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = (I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord + 2)) + break + } + + if bChanged != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(1 + nOld)) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)), bp+8 /* &nNew */) + } else if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(2 + nOld)) + } else { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += int64(2) + } + } + } + + if *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) > I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize) { + var nIncr int32 = (int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) - I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize))) + (*SessionChange)(unsafe.Pointer(pC)).FnMaxSize = int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */))) + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += (I64(nIncr)) + } + return SQLITE_OK +} + +// This function is only called from with a pre-update-hook reporting a +// change on table pTab (attached to session pSession). The type of change +// (UPDATE, INSERT, DELETE) is specified by the first argument. +// +// Unless one is already present or an error occurs, an entry is added +// to the changed-rows hash table associated with table pTab. +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:207927:13: */ + bp := tls.Alloc(80) + defer tls.Free(80) + + // var iHash int32 at bp+48, 4 + + // var bNull int32 at bp+52, 4 + + var rc int32 + // var stat1 SessionStat1Ctx at bp, 48 + + var p uintptr + // var p1 uintptr at bp+56, 8 + + // var p2 uintptr at bp+72, 8 + + // Create a new change object containing all the old values (if + // this is an SQLITE_UPDATE or SQLITE_DELETE), or just the PK + // values (if this is an INSERT). + // var nByte Sqlite3_int64 at bp+64, 8 + // Number of bytes to allocate + var i int32 + // Search the hash table for an existing record for this row. + var pC uintptr + *(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) = 0 + rc = SQLITE_OK + *(*SessionStat1Ctx)(unsafe.Pointer(bp /* stat1 */)) = SessionStat1Ctx{} + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) { + goto __1 + } + return +__1: + ; + + // Load table details if required + if !(sessionInitTable(tls, pSession, pTab) != 0) { + goto __2 + } + return +__2: + ; + + // Check the number of columns in this xPreUpdate call matches the + // number of columns in the table. + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 24 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + goto __3 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA + return +__3: + ; + + // Grow the hash table if required + if !(sessionGrowHash(tls, pSession, 0, pTab) != 0) { + goto __4 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_NOMEM + return +__4: + ; + + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __5 + } + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).FpSession = pSession + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = bp /* &stat1 */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1New})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1Old})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Count})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Depth})) + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob == uintptr(0)) { + goto __6 + } + p = Xsqlite3ValueNew(tls, uintptr(0)) + if !(p == uintptr(0)) { + goto __7 + } + rc = SQLITE_NOMEM + goto error_out +__7: + ; + Xsqlite3ValueSetStr(tls, p, 0, ts+755 /* "" */, uint8(0), uintptr(0)) + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p +__6: + ; +__5: + ; + + // Calculate the hash-key for this change. If the primary key of the row + // includes a NULL value, exit early. Such changes are ignored by the + // session module. + rc = sessionPreupdateHash(tls, pSession, pTab, (libc.Bool32(op == SQLITE_INSERT)), bp+48 /* &iHash */, bp+52 /* &bNull */) + if !(rc != SQLITE_OK) { + goto __8 + } + goto error_out +__8: + ; + + if !(*(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) == 0) { + goto __9 + } + pC = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) +__10: + if !(pC != 0) { + goto __12 + } + if !(sessionPreupdateEqual(tls, pSession, pTab, pC, op) != 0) { + goto __13 + } + goto __12 +__13: + ; + goto __11 +__11: + pC = (*SessionChange)(unsafe.Pointer(pC)).FpNext + goto __10 + goto __12 +__12: + ; + + if !(pC == uintptr(0)) { + goto __14 + } // Used to iterate through columns + + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + + // Figure out how large an allocation is required + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = Sqlite3_int64(unsafe.Sizeof(SessionChange{})) + i = 0 +__16: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __18 + } + *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __19 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + + goto __20 +__19: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __21 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + +__21: + ; +__20: + ; + + // This may fail if SQLite value p contains a utf-16 string that must + // be converted to utf-8 and an OOM error occurs while doing so. + rc = sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)), bp+64 /* &nByte */) + if !(rc != SQLITE_OK) { + goto __22 + } + goto error_out +__22: + ; + goto __17 +__17: + i++ + goto __16 + goto __18 +__18: + ; + + // Allocate the change object + pC = sessionMalloc64(tls, pSession, *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + if !(!(pC != 0)) { + goto __23 + } + rc = SQLITE_NOMEM + goto error_out + goto __24 +__23: + libc.Xmemset(tls, pC, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pC)).FaRecord = (pC + 1*32) +__24: + ; + + // Populate the change object. None of the preupdate_old(), + // preupdate_new() or SerializeValue() calls below may fail as all + // required values and encodings have already been cached in memory. + // It is not possible for an OOM to occur in this block. + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = int64(0) + i = 0 +__25: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __27 + } + *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __28 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) + goto __29 +__28: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __30 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) +__30: + ; +__29: + ; + sessionSerializeValue(tls, ((*SessionChange)(unsafe.Pointer(pC)).FaRecord + uintptr(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)))), *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)), bp+64 /* &nByte */) + goto __26 +__26: + i++ + goto __25 + goto __27 +__27: + ; + + // Add the change to the hash-table + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + goto __31 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) +__31: + ; + (*SessionChange)(unsafe.Pointer(pC)).FnRecord = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + (*SessionChange)(unsafe.Pointer(pC)).Fop = U8(op) + (*SessionChange)(unsafe.Pointer(pC)).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) = pC + + goto __15 +__14: + if !((*SessionChange)(unsafe.Pointer(pC)).FbIndirect != 0) { + goto __32 + } + // If the existing change is considered "indirect", but this current + // change is "direct", mark the change object as direct. + if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { + goto __33 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(0) +__33: + ; +__32: + ; +__15: + ; + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0) { + goto __34 + } + rc = sessionUpdateMaxSize(tls, op, pSession, pTab, pC) +__34: + ; +__9: + ; + + // If an error has occurred, mark the session object as failed. +error_out: + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __35 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook = (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook +__35: + ; + if !(rc != SQLITE_OK) { + goto __36 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = rc +__36: +} + +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:208076:12: */ + var rc int32 = SQLITE_OK + var nName int32 = Xsqlite3Strlen30(tls, zName) + var pRet uintptr + + // Search for an existing table + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pRet != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pRet)).FzName, zName, (nName+1)) { + break + } + } + + if (pRet == uintptr(0)) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach != 0) { + // If there is a table-filter configured, invoke it. If it returns 0, + // do not automatically add the new table. + if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || + ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 48 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + rc = Xsqlite3session_attach(tls, pSession, zName) + if rc == SQLITE_OK { + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + } + + } + } + } + + *(*uintptr)(unsafe.Pointer(ppTab)) = pRet + return rc +} + +// The 'pre-update' hook registered by this module with SQLite databases. +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:208112:13: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var pSession uintptr + var nDb int32 = Xsqlite3Strlen30(tls, zDb) + + for pSession = pCtx; pSession != 0; pSession = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpNext { + // var pTab uintptr at bp, 8 + + // If this session is attached to a different database ("main", "temp" + // etc.), or if it is not currently enabled, there is nothing to do. Skip + // to the next session object attached to this database. + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable == 0 { + continue + } + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + continue + } + if Xsqlite3_strnicmp(tls, zDb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (nDb+1)) != 0 { + continue + } + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionFindTable(tls, pSession, zName, bp /* &pTab */) + if *(*uintptr)(unsafe.Pointer(bp /* pTab */)) != 0 { + + sessionPreupdateOneChange(tls, op, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + if op == SQLITE_UPDATE { + sessionPreupdateOneChange(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + } + } + } +} + +// The pre-update hook implementations. +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208150:12: */ + return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208153:12: */ + return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208156:12: */ + return Xsqlite3_preupdate_count(tls, pCtx) +} + +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208159:12: */ + return Xsqlite3_preupdate_depth(tls, pCtx) +} + +// Install the pre-update hooks on the session object passed as the only +// argument. +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208167:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateDepth})) +} + +type SessionDiffCtx1 = struct { + FpStmt uintptr + FnOldOff int32 + _ [4]byte +} /* sqlite3.c:208177:9 */ + +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ + +// The diff hook implementations. +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208186:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, (iVal + (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff)) + return SQLITE_OK +} + +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208191:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) + return SQLITE_OK +} + +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208196:12: */ + var p uintptr = pCtx + if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { + return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff + } + return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) +} + +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208200:12: */ + return 0 +} + +// Install the diff hooks on the session object passed as the only +// argument. +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:208208:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffDepth})) +} + +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + var i int32 + var zSep uintptr = ts + 755 /* "" */ + var zRet uintptr = uintptr(0) + + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + zRet = Xsqlite3_mprintf(tls, ts+32080, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 21256 /* " AND " */ + if zRet == uintptr(0) { + break + } + } + } + + return zRet +} + +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + var i int32 + var zSep uintptr = ts + 755 /* "" */ + var zRet uintptr = uintptr(0) + var bHave int32 = 0 + + for i = 0; i < nCol; i++ { + if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { + bHave = 1 + zRet = Xsqlite3_mprintf(tls, + ts+32114, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 32155 /* " OR " */ + if zRet == uintptr(0) { + break + } + } + } + + if bHave == 0 { + + zRet = Xsqlite3_mprintf(tls, ts+7868 /* "0" */, 0) + } + + return zRet +} + +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var zRet uintptr = Xsqlite3_mprintf(tls, + + ts+32160, /* "SELECT * FROM \"%..." */ + libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) + return zRet +} + +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:208289:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 = SQLITE_OK + var zStmt uintptr = sessionSelectFindNew(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, zDb1, zDb2, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr) + + if zStmt == uintptr(0) { + rc = SQLITE_NOMEM + } else { + // var pStmt uintptr at bp, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp /* &pStmt */, uintptr(0)) + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { + sessionPreupdateOneChange(tls, op, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + + return rc +} + +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var rc int32 = SQLITE_OK + + var zExpr2 uintptr = sessionExprCompareOther(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, + (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (*SessionTable)(unsafe.Pointer(pTab)).FazCol, (*SessionTable)(unsafe.Pointer(pTab)).FabPK) + if zExpr2 == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var zStmt uintptr = Xsqlite3_mprintf(tls, + ts+32238, /* "SELECT * FROM \"%..." */ + 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 + } else { + // var pStmt uintptr at bp+56, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+56 /* &pStmt */, uintptr(0)) + + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) { + sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + } + + return rc +} + +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:208360:16: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var zDb uintptr + var rc int32 + // var d SessionDiffCtx at bp, 16 + + var i int32 + var bHasPk int32 + var bMismatch int32 + // var nCol int32 at bp+24, 4 + // Columns in zFrom.zTbl + // var abPK uintptr at bp+40, 8 + + // var azCol uintptr at bp+32, 8 + + var zExpr uintptr + var db uintptr + // var pTo uintptr at bp+16, 8 + zDb = (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + + libc.Xmemset(tls, bp /* &d */, 0, uint64(unsafe.Sizeof(SessionDiffCtx{}))) + sessionDiffHooks(tls, pSession, bp /* &d */) + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if !(pzErrMsg != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) +__1: + ; + if !(rc == SQLITE_OK) { + goto __2 + } + zExpr = uintptr(0) + db = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Table zTbl + + // Locate and if necessary initialize the target table object + rc = sessionFindTable(tls, pSession, zTbl, bp+16 /* &pTo */) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)) == uintptr(0)) { + goto __3 + } + goto diff_out +__3: + ; + if !(sessionInitTable(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */))) != 0) { + goto __4 + } + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + goto diff_out +__4: + ; + + // Check the table schemas match + if !(rc == SQLITE_OK) { + goto __5 + } + bHasPk = 0 + bMismatch = 0 + *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) = uintptr(0) + rc = sessionTableInfo(tls, uintptr(0), db, zFrom, zTbl, bp+24 /* &nCol */, uintptr(0), bp+32 /* &azCol */, bp+40 /* &abPK */) + if !(rc == SQLITE_OK) { + goto __6 + } + if !((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __7 + } + bMismatch = 1 + goto __8 +__7: + i = 0 +__9: + if !(i < *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __11 + } + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))))) { + goto __12 + } + bMismatch = 1 +__12: + ; + if !(Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol + uintptr(i)*8))) != 0) { + goto __13 + } + bMismatch = 1 +__13: + ; + if !(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))) != 0) { + goto __14 + } + bHasPk = 1 +__14: + ; + goto __10 +__10: + i++ + goto __9 + goto __11 +__11: + ; +__8: + ; +__6: + ; + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */))) + if !(bMismatch != 0) { + goto __15 + } + if !(pzErrMsg != 0) { + goto __16 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32291 /* "table schemas do..." */, 0) +__16: + ; + rc = SQLITE_SCHEMA +__15: + ; + if !(bHasPk == 0) { + goto __17 + } + // Ignore tables with no primary keys + goto diff_out +__17: + ; +__5: + ; + + if !(rc == SQLITE_OK) { + goto __18 + } + zExpr = sessionExprComparePK(tls, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol, + zDb, zFrom, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FzName, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK) +__18: + ; + + // Find new rows + if !(rc == SQLITE_OK) { + goto __19 + } + rc = sessionDiffFindNew(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zDb, zFrom, zExpr) +__19: + ; + + // Find old rows + if !(rc == SQLITE_OK) { + goto __20 + } + rc = sessionDiffFindNew(tls, SQLITE_DELETE, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zDb, zExpr) +__20: + ; + + // Find modified rows + if !(rc == SQLITE_OK) { + goto __21 + } + rc = sessionDiffFindModified(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zExpr) +__21: + ; + + Xsqlite3_free(tls, zExpr) +__2: + ; + +diff_out: + sessionPreupdateHooks(tls, pSession) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Create a session object. This session object will record changes to +// database zDb attached to connection db. +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:208455:16: */ + var pNew uintptr // Newly allocated session object + var pOld uintptr // Session object already attached to db + var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes + + // Zero the output value in case an error occurs. + *(*uintptr)(unsafe.Pointer(ppSession)) = uintptr(0) + + // Allocate and populate the new session object. + pNew = Xsqlite3_malloc64(tls, ((uint64(unsafe.Sizeof(Sqlite3_session{})) + uint64(nDb)) + uint64(1))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_session{}))) + (*Sqlite3_session)(unsafe.Pointer(pNew)).Fdb = db + (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb = (pNew + 1*136) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FbEnable = 1 + libc.Xmemcpy(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, zDb, (uint64(nDb + 1))) + sessionPreupdateHooks(tls, pNew) + + // Add the new session object to the linked list of session objects + // attached to database handle $db. Do this under the cover of the db + // handle mutex. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + pOld = Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), pNew) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FpNext = pOld + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + + *(*uintptr)(unsafe.Pointer(ppSession)) = pNew + return SQLITE_OK +} + +// Free the list of table objects passed as the first argument. The contents +// of the changed-rows hash tables are also deleted. +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:208493:13: */ + var pNext uintptr + var pTab uintptr + + for pTab = pList; pTab != 0; pTab = pNext { + var i int32 + pNext = (*SessionTable)(unsafe.Pointer(pTab)).FpNext + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNextChange uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNextChange { + pNextChange = (*SessionChange)(unsafe.Pointer(p)).FpNext + sessionFree(tls, pSession, p) + } + } + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FazCol) // cast works around VC++ bug + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + sessionFree(tls, pSession, pTab) + } +} + +// Delete a session object previously allocated using sqlite3session_create(). +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208517:17: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + // var pHead uintptr at bp, 8 + + var pp uintptr + + // Unlink the session from the linked list of sessions attached to the + // database handle. Hold the db mutex while doing so. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + *(*uintptr)(unsafe.Pointer(bp /* pHead */)) = Xsqlite3_preupdate_hook(tls, db, uintptr(0), uintptr(0)) + for pp = bp; /* &pHead */ (*(*uintptr)(unsafe.Pointer(pp))) != uintptr(0); pp = (*(*uintptr)(unsafe.Pointer(pp)) + 80 /* &.pNext */) { + if (*(*uintptr)(unsafe.Pointer(pp))) == pSession { + *(*uintptr)(unsafe.Pointer(pp)) = (*Sqlite3_session)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + if *(*uintptr)(unsafe.Pointer(bp /* pHead */)) != 0 { + Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), *(*uintptr)(unsafe.Pointer(bp /* pHead */))) + } + break + } + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + Xsqlite3ValueFree(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob) + + // Delete all attached table objects. And the contents of their + // associated hash-tables. + sessionDeleteTable(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable) + + // Assert that all allocations have been freed and then free the + // session object itself. + + Xsqlite3_free(tls, pSession) +} + +// Set a table filter on a Session Object. +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:208549:17: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter +} + +// Attach a table to a session. All subsequent changes made to the table +// while the session object is enabled will be recorded. +// +// Only tables that have a PRIMARY KEY defined may be attached. It does +// not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) +// or not. +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:208567:16: */ + var rc int32 = SQLITE_OK + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + if !(zName != 0) { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + } else { + var pTab uintptr // New table object (if required) + var nName int32 // Number of bytes in string zName + + // First search for an existing entry. If one is found, this call is + // a no-op. Return early. + nName = Xsqlite3Strlen30(tls, zName) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (nName+1)) { + break + } + } + + if !(pTab != 0) { + // Allocate new SessionTable object. + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionTable{})) + uint64(nName)) + uint64(1))) + pTab = sessionMalloc64(tls, pSession, int64(nByte)) + if !(pTab != 0) { + rc = SQLITE_NOMEM + } else { + // Populate the new SessionTable object and link it into the list. + // The new object must be linked onto the end of the list, not + // simply added to the start of it in order to ensure that tables + // appear in the correct order when a changeset or patchset is + // eventually generated. + var ppTab uintptr + libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = (pTab + 1*56) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (uint64(nName + 1))) + for ppTab = (pSession + 88 /* &.pTable */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } + } + } + + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Ensure that there is room in the buffer to append nByte bytes of data. +// If not, use sqlite3_realloc() to grow the buffer so that there is. +// +// If successful, return zero. Otherwise, if an OOM condition is encountered, +// set *pRc to SQLITE_NOMEM and return non-zero. +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:208620:12: */ + var nReq I64 = (I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte) + if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc)) { + var aNew uintptr + var nNew I64 + if (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc != 0 { + nNew = int64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) + } else { + nNew = int64(128) + } + + for ok := true; ok; ok = (nNew < nReq) { + nNew = (nNew * int64(2)) + } + + // The value of SESSION_MAX_BUFFER_SZ is copied from the implementation + // of sqlite3_realloc64(). Allocations greater than this size in bytes + // always fail. It is used here to ensure that this routine can always + // allocate up to this limit - instead of up to the largest power of + // two smaller than the limit. + if nNew > (int64(0x7FFFFF00 - 1)) { + nNew = (int64(0x7FFFFF00 - 1)) + if nNew < nReq { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + return 1 + } + } + + aNew = Xsqlite3_realloc64(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf, uint64(nNew)) + if uintptr(0) == aNew { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } else { + (*SessionBuffer)(unsafe.Pointer(p)).FaBuf = aNew + (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc = int32(nNew) + } + } + return (libc.Bool32(*(*int32)(unsafe.Pointer(pRc)) != SQLITE_OK)) +} + +// Append the value passed as the second argument to the buffer passed +// as the first. +// +// This function is a no-op if *pRc is non-zero when it is called. +// Otherwise, if an error occurs, *pRc is set to an SQLite error code +// before returning. +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:208663:13: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, uintptr(0), pVal, bp /* &nByte */) + sessionBufferGrow(tls, p, *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)), bp+8 /* &rc */) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), pVal, uintptr(0)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += int32((*(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)))) + } else { + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) + } + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single byte to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:208685:13: */ + if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { + *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single varint to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:208698:13: */ + if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (sessionVarintPut(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), v)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a blob of data to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:208711:13: */ + if (nBlob > 0) && (0 == sessionBufferGrow(tls, p, int64(nBlob), pRc)) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), aBlob, uint64(nBlob)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nBlob) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a string to the buffer. All bytes in the string +// up to (but not including) the nul-terminator are written to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208731:13: */ + var nStr int32 = Xsqlite3Strlen30(tls, zStr) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), zStr, uint64(nStr)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nStr) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string representation of integer iVal +// to the buffer. No nul-terminator is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + // var aBuf [24]int8 at bp+16, 24 + + Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+16 /* &aBuf[0] */, ts+5451 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+16 /* &aBuf[0] */, pRc) +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string zStr enclosed in quotes (") and +// with any embedded quote characters escaped to the buffer. No +// nul-terminator byte is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208770:13: */ + var nStr int32 = (((Xsqlite3Strlen30(tls, zStr) * 2) + 2) + 1) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + var zOut uintptr = ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)) + var zIn uintptr = zStr + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + for *(*int8)(unsafe.Pointer(zIn)) != 0 { + if int32(*(*int8)(unsafe.Pointer(zIn))) == '"' { + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + (*SessionBuffer)(unsafe.Pointer(p)).FnBuf = (int32((int64(zOut) - int64((*SessionBuffer)(unsafe.Pointer(p)).FaBuf)) / 1)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwse, it appends the serialized version of the value stored +// in column iCol of the row that SQL statement pStmt currently points +// to to the buffer. +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:208795:13: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var eType int32 = Xsqlite3_column_type(tls, pStmt, iCol) + sessionAppendByte(tls, p, U8(eType), pRc) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var i Sqlite3_int64 at bp, 8 + + // var aBuf [8]U8 at bp+16, 8 + + if eType == SQLITE_INTEGER { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */)) = Xsqlite3_column_int64(tls, pStmt, iCol) + } else { + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_column_double(tls, pStmt, iCol) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint64(8)) + } + sessionPutI64(tls, bp+16 /* &aBuf[0] */, *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */))) + sessionAppendBlob(tls, p, bp+16 /* &aBuf[0] */, 8, pRc) + } + if (eType == SQLITE_BLOB) || (eType == SQLITE_TEXT) { + var z uintptr + var nByte int32 + if eType == SQLITE_BLOB { + z = Xsqlite3_column_blob(tls, pStmt, iCol) + } else { + z = Xsqlite3_column_text(tls, pStmt, iCol) + } + nByte = Xsqlite3_column_bytes(tls, pStmt, iCol) + if (z != 0) || ((eType == SQLITE_BLOB) && (nByte == 0)) { + sessionAppendVarint(tls, p, nByte, pRc) + sessionAppendBlob(tls, p, z, nByte, pRc) + } else { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } + } + } +} + +// +// This function appends an update change to the buffer (see the comments +// under "CHANGESET FORMAT" at the top of the file). An update change +// consists of: +// +// 1 byte: SQLITE_UPDATE (0x17) +// n bytes: old.* record (see RECORD FORMAT) +// m bytes: new.* record (see RECORD FORMAT) +// +// The SessionChange object passed as the third argument contains the +// values that were stored in the row when the session began (the old.* +// values). The statement handle passed as the second argument points +// at the current version of the row (the new.* values). +// +// If all of the old.* values are equal to their corresponding new.* value +// (i.e. nothing has changed), then no data at all is appended to the buffer. +// +// Otherwise, the old.* record contains all primary key values and the +// original values of any fields that have been modified. The new.* record +// contains the new values of only those fields that have been modified. +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:208857:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp + 32 /* buf2 */)) = SessionBuffer{} // Buffer to accumulate new.* record in + var bNoop int32 = 1 // Set to zero if any values are modified + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf // Set to zero if any values are modified + var i int32 // Used to iterate through columns + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord // Used to iterate through old.* values + + sessionAppendByte(tls, pBuf, uint8(SQLITE_UPDATE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + for i = 0; i < Xsqlite3_column_count(tls, pStmt); i++ { + var bChanged int32 = 0 + var nAdvance int32 + var eType int32 = int32(*(*U8)(unsafe.Pointer(pCsr))) + switch eType { + case SQLITE_NULL: + nAdvance = 1 + if Xsqlite3_column_type(tls, pStmt, i) != SQLITE_NULL { + bChanged = 1 + } + break + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + nAdvance = 9 + if eType == Xsqlite3_column_type(tls, pStmt, i) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, (pCsr + 1)) + if eType == SQLITE_INTEGER { + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) == Xsqlite3_column_int64(tls, pStmt, i) { + break + } + } else { + // var dVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &dVal */, bp+16 /* &iVal */, uint64(8)) + if *(*float64)(unsafe.Pointer(bp + 8 /* dVal */)) == Xsqlite3_column_double(tls, pStmt, i) { + break + } + } + } + bChanged = 1 + break + + } + + default: + { + // var n int32 at bp+24, 4 + + var nHdr int32 = (1 + sessionVarintGet(tls, (pCsr+1), bp+24 /* &n */)) + + nAdvance = (nHdr + *(*int32)(unsafe.Pointer(bp + 24 /* n */))) + if ((eType == Xsqlite3_column_type(tls, pStmt, i)) && + (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == Xsqlite3_column_bytes(tls, pStmt, i))) && + ((*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == 0) || (0 == libc.Xmemcmp(tls, (pCsr+uintptr(nHdr)), Xsqlite3_column_blob(tls, pStmt, i), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))))) { + break + } + bChanged = 1 + + } + } + + // If at least one field has been modified, this is not a no-op. + if bChanged != 0 { + bNoop = 0 + } + + // Add a field to the old.* record. This is omitted if this modules is + // currently generating a patchset. + if bPatchset == 0 { + if (bChanged != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + sessionAppendBlob(tls, pBuf, pCsr, nAdvance, bp /* &rc */) + } else { + sessionAppendByte(tls, pBuf, uint8(0), bp /* &rc */) + } + } + + // Add a field to the new.* record. Or the only record if currently + // generating a patchset. + if (bChanged != 0) || ((bPatchset != 0) && (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0)) { + sessionAppendCol(tls, bp+32 /* &buf2 */, pStmt, i, bp /* &rc */) + } else { + sessionAppendByte(tls, bp+32 /* &buf2 */, uint8(0), bp /* &rc */) + } + + pCsr += uintptr(nAdvance) + } + + if bNoop != 0 { + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = nRewind + } else { + sessionAppendBlob(tls, pBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FnBuf, bp /* &rc */) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Append a DELETE change to the buffer passed as the first argument. Use +// the changeset format if argument bPatchset is zero, or the patchset +// format otherwise. +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:208956:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + + sessionAppendByte(tls, pBuf, uint8(SQLITE_DELETE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + + if bPatchset == 0 { + sessionAppendBlob(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp /* &rc */) + } else { + var i int32 + var a uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord + for i = 0; i < nCol; i++ { + var pStart uintptr = a + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + a += uintptr(8) + break + fallthrough + + default: + { + // var n int32 at bp+4, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+4 /* &n */)) + a += uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* n */))) + break + + } + } + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendBlob(tls, pBuf, pStart, (int32((int64(a) - int64(pStart)) / 1)), bp /* &rc */) + } + } + + } + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Formulate and prepare a SELECT statement to retrieve a row from table +// zTab in database zDb based on its primary key. i.e. +// +// SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ + bp := tls.Alloc(36) + defer tls.Free(36) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + var zSql uintptr = uintptr(0) + var nSql int32 = -1 + + if 0 == Xsqlite3_stricmp(tls, ts+11434 /* "sqlite_stat1" */, zTab) { + zSql = Xsqlite3_mprintf(tls, + + ts+32318 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + if zSql == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_NOMEM + } + } else { + var i int32 + var zSep uintptr = ts + 755 /* "" */ + *(*SessionBuffer)(unsafe.Pointer(bp + 16 /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp+16 /* &buf */, ts+32428 /* "SELECT * FROM " */, bp+32 /* &rc */) + sessionAppendIdent(tls, bp+16 /* &buf */, zDb, bp+32 /* &rc */) + sessionAppendStr(tls, bp+16 /* &buf */, ts+768 /* "." */, bp+32 /* &rc */) + sessionAppendIdent(tls, bp+16 /* &buf */, zTab, bp+32 /* &rc */) + sessionAppendStr(tls, bp+16 /* &buf */, ts+32443 /* " WHERE " */, bp+32 /* &rc */) + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendStr(tls, bp+16 /* &buf */, zSep, bp+32 /* &rc */) + sessionAppendIdent(tls, bp+16 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+32 /* &rc */) + sessionAppendStr(tls, bp+16 /* &buf */, ts+32451 /* " IS ?" */, bp+32 /* &rc */) + sessionAppendInteger(tls, bp+16 /* &buf */, (i + 1), bp+32 /* &rc */) + zSep = ts + 21256 /* " AND " */ + } + } + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &buf */)).FnBuf + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + } + Xsqlite3_free(tls, zSql) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Bind the PRIMARY KEY values from the change passed in argument pChange +// to the SELECT statement passed as the first argument. The SELECT statement +// is as prepared by function sessionSelectStmt(). +// +// Return SQLITE_OK if all PK values are successfully bound, or an SQLite +// error code (e.g. SQLITE_NOMEM) otherwise. +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:209068:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 + var rc int32 = SQLITE_OK + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord + + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + + case SQLITE_INTEGER: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + var iVal I64 = sessionGetI64(tls, a) + rc = Xsqlite3_bind_int64(tls, pSelect, (i + 1), iVal) + } + a += uintptr(8) + break + + } + + case SQLITE_FLOAT: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + // var rVal float64 at bp, 8 + + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = sessionGetI64(tls, a) + libc.Xmemcpy(tls, bp /* &rVal */, bp+8 /* &iVal */, uint64(8)) + rc = Xsqlite3_bind_double(tls, pSelect, (i + 1), *(*float64)(unsafe.Pointer(bp /* rVal */))) + } + a += uintptr(8) + break + + } + + case SQLITE_TEXT: + { + // var n int32 at bp+16, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+16 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_text(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 16 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* n */))) + break + + } + + default: + { + // var n int32 at bp+20, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_blob(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 20 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + break + + } + } + } + + return rc +} + +// This function is a no-op if *pRc is set to other than SQLITE_OK when it +// is called. Otherwise, append a serialized table header (part of the binary +// changeset format) to buffer *pBuf. If an error occurs, set *pRc to an +// SQLite error code before returning. +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:209139:13: */ + // Write a table header + sessionAppendByte(tls, pBuf, func() uint8 { + if bPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), pRc) + sessionAppendVarint(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (int32(libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + 1), pRc) +} + +// Generate either a changeset (if argument bPatchset is zero) or a patchset +// (if it is non-zero) based on the current contents of the session object +// passed as the first argument. +// +// If no error occurs, SQLITE_OK is returned and the new changeset/patchset +// stored in output variables *pnChangeset and *ppChangeset. Or, if an error +// occurs, an SQLite error code is returned and both output variables set +// to 0. +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209162:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Source database handle + var pTab uintptr // Used to iterate through attached tables + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* buf */)) = SessionBuffer{} // Buffer in which to accumlate changeset + // var rc int32 at bp+40, 4 + // Return code + + // Zero the output variables in case an error occurs. If this session + // object is already in the error state (sqlite3_session.rc != SQLITE_OK), + // this call will be a no-op. + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = 0 + *(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0) + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32457 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) + } + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry != 0 { + var zName uintptr = (*SessionTable)(unsafe.Pointer(pTab)).FzName + // var nCol int32 at bp, 4 + // Number of columns in table + // var abPK uintptr at bp+16, 8 + // Primary key array + *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)) = uintptr(0) // Table columns + var i int32 // Used to iterate through hash buckets + *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)) = uintptr(0) // SELECT statement to query table pTab + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf // Initial size of write buffer + var nNoop int32 // Size of buffer after writing tbl header + + // Check the table schema is still Ok. + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionTableInfo(tls, uintptr(0), db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, bp /* &nCol */, uintptr(0), bp+8 /* &azCol */, bp+16 /* &abPK */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) && (((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp /* nCol */))) || (libc.Xmemcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), (*SessionTable)(unsafe.Pointer(pTab)).FabPK, uint64(*(*int32)(unsafe.Pointer(bp /* nCol */)))) != 0)) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_SCHEMA + } + + // Write a table header + sessionAppendTableHdr(tls, bp+24 /* &buf */, bPatchset, pTab, bp+40 /* &rc */) + + // Build and compile a statement to execute: + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectStmt(tls, + db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), bp+48 /* &pSel */) + } + + nNoop = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + for i = 0; (i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange) && (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK); i++ { + var p uintptr // Used to iterate through changes + + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (p != 0); p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectBind(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), p) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + continue + } + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) == SQLITE_ROW { + if int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_INSERT { + var iCol int32 + sessionAppendByte(tls, bp+24 /* &buf */, uint8(SQLITE_INSERT), bp+40 /* &rc */) + sessionAppendByte(tls, bp+24 /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+40 /* &rc */) + for iCol = 0; iCol < *(*int32)(unsafe.Pointer(bp /* nCol */)); iCol++ { + sessionAppendCol(tls, bp+24 /* &buf */, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), iCol, bp+40 /* &rc */) + } + } else { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendUpdate(tls, bp+24 /* &buf */, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), p, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + } else if int32((*SessionChange)(unsafe.Pointer(p)).Fop) != SQLITE_INSERT { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendDelete(tls, bp+24 /* &buf */, bPatchset, p, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + } + + // If the buffer is now larger than sessions_strm_chunk_size, pass + // its contents to the xOutput() callback. + if (((xOutput != 0) && + (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > nNoop)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + nNoop = -1 + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = 0 + } + + } + } + + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf == nNoop { + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = nRewind + } + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */))) // cast works around VC++ bug + } + } + + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf = uintptr(0) + } else if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + } + } + + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf) + Xsqlite3_exec(tls, db, ts+32477 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Obtain a changeset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209288:16: */ + var rc int32 = sessionGenerateChangeset(tls, pSession, 0, uintptr(0), uintptr(0), pnChangeset, ppChangeset) + + return rc +} + +// Streaming version of sqlite3session_changeset(). +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209303:16: */ + return sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Streaming version of sqlite3session_patchset(). +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209314:16: */ + return sessionGenerateChangeset(tls, pSession, 1, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Obtain a patchset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:209329:16: */ + return sessionGenerateChangeset(tls, pSession, 1, uintptr(0), uintptr(0), pnPatchset, ppPatchset) +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:209340:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bEnable >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable = bEnable + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:209354:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bIndirect >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect = bIndirect + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Return true if there have been no changes to monitored tables recorded +// by the session object passed as the only argument. +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:209369:16: */ + var ret int32 = 0 + var pTab uintptr + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (pTab != 0) && (ret == 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + ret = (libc.Bool32((*SessionTable)(unsafe.Pointer(pTab)).FnEntry > 0)) + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + return (libc.Bool32(ret == 0)) +} + +// Return the amount of heap memory in use. +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209385:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc +} + +// Configure the session object passed as the first argument. +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:209392:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_OBJCONFIG_SIZE: + { + var iArg int32 = *(*int32)(unsafe.Pointer(pArg)) + if iArg >= 0 { + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable != 0 { + rc = SQLITE_MISUSE + } else { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize = (libc.Bool32(iArg != 0)) + } + } + *(*int32)(unsafe.Pointer(pArg)) = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize + break + + } + + default: + rc = SQLITE_MISUSE + } + + return rc +} + +// Return the maximum size of sqlite3session_changeset() output. +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209418:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize +} + +// Do the work for either sqlite3changeset_start() or start_strm(). +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:209425:12: */ + var pRet uintptr // Iterator to return + var nByte int32 // Number of bytes to allocate for iterator + + // Zero the output variable in case an error occurs. + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + + // Allocate and initialize the iterator structure. + nByte = int32(unsafe.Sizeof(Sqlite3_changeset_iter{})) + pRet = Xsqlite3_malloc(tls, nByte) + if !(pRet != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pRet, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FbEof = func() int32 { + if xInput != 0 { + return 0 + } + return 1 + }() + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbInvert = bInvert + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbSkipEmpty = bSkipEmpty + + // Populate the output variable and return success. + *(*uintptr)(unsafe.Pointer(pp)) = pRet + return SQLITE_OK +} + +// Create an iterator used to iterate through the contents of a changeset. +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:209463:16: */ + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) +} + +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:209470:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) +} + +// Streaming version of sqlite3changeset_start(). +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:209483:16: */ + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) +} + +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:209490:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) +} + +// If the SessionInput object passed as the only argument is a streaming +// object and the buffer is full, discard some data to free up space. +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:209504:13: */ + if ((*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0) && ((*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size) { + var nMove int32 = ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext) + + if nMove > 0 { + libc.Xmemmove(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), uint64(nMove)) + } + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) -= ((*SessionInput)(unsafe.Pointer(pIn)).FiNext) + (*SessionInput)(unsafe.Pointer(pIn)).FiNext = 0 + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } +} + +// Ensure that there are at least nByte bytes available in the buffer. Or, +// if there are not nByte bytes remaining in the input, that all available +// data is in the buffer. +// +// Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:209524:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 { + for (!((*SessionInput)(unsafe.Pointer(pIn)).FbEof != 0) && (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte) >= (*SessionInput)(unsafe.Pointer(pIn)).FnData)) && (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) { + *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) = sessions_strm_chunk_size + + if (*SessionInput)(unsafe.Pointer(pIn)).FbNoDiscard == 0 { + sessionDiscardData(tls, pIn) + } + if SQLITE_OK == sessionBufferGrow(tls, (pIn+32 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 48 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { + (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 + } else { + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) += (*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))) + } + } + + (*SessionInput)(unsafe.Pointer(pIn)).FaData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// When this function is called, *ppRec points to the start of a record +// that contains nCol values. This function advances the pointer *ppRec +// until it points to the byte immediately following that record. +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:209552:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var aRec uintptr = *(*uintptr)(unsafe.Pointer(ppRec)) + var i int32 + for i = 0; i < nCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aRec, 1)))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + aRec += uintptr(sessionVarintGet(tls, aRec, bp /* &nByte */)) + aRec += uintptr(*(*int32)(unsafe.Pointer(bp /* nByte */))) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + aRec += uintptr(8) + } + } + + *(*uintptr)(unsafe.Pointer(ppRec)) = aRec +} + +// This function sets the value of the sqlite3_value object passed as the +// first argument to a copy of the string or blob held in the aData[] +// buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM +// error occurs. +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:209578:12: */ + // In theory this code could just pass SQLITE_TRANSIENT as the final + // argument to sqlite3ValueSetStr() and have the copy created + // automatically. But doing so makes it difficult to detect any OOM + // error. Hence the code to create the copy externally. + var aCopy uintptr = Xsqlite3_malloc64(tls, (uint64(Sqlite3_int64(nData) + int64(1)))) + if aCopy == uintptr(0) { + return SQLITE_NOMEM + } + libc.Xmemcpy(tls, aCopy, aData, uint64(nData)) + Xsqlite3ValueSetStr(tls, pVal, nData, aCopy, enc, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + return SQLITE_OK +} + +// Deserialize a single record from a buffer in memory. See "RECORD FORMAT" +// for details. +// +// When this function is called, *paChange points to the start of the record +// to deserialize. Assuming no error occurs, *paChange is set to point to +// one byte after the end of the same record before this function returns. +// If the argument abPK is NULL, then the record contains nCol values. Or, +// if abPK is other than NULL, then the record contains only the PK fields +// (in other words, it is a patchset DELETE record). +// +// If successful, each element of the apOut[] array (allocated by the caller) +// is set to point to an sqlite3_value object containing the value read +// from the corresponding position in the record. If that value is not +// included in the record (i.e. because the record is part of an UPDATE change +// and the field was not modified), the corresponding element of apOut[] is +// set to NULL. +// +// It is the responsibility of the caller to free all sqlite_value structures +// using sqlite3_free(). +// +// If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +// The apOut[] array may have been partially populated in this case. +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209619:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 // Used to iterate through columns + var rc int32 = SQLITE_OK + + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 1 + } + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = 0 // Type of value (SQLITE_NULL, TEXT etc.) + if (abPK != 0) && (int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0) { + continue + } + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { + rc = Xsqlite3CorruptError(tls, 209637) + } else { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) + + if eType != 0 { + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 0 + } + *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)) = Xsqlite3ValueNew(tls, uintptr(0)) + if !(int32(*(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8))) != 0) { + rc = SQLITE_NOMEM + } + } + } + } + + if rc == SQLITE_OK { + var aVal uintptr = ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (sessionVarintGet(tls, aVal, bp /* &nByte */)) + rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) + if rc == SQLITE_OK { + if (*(*int32)(unsafe.Pointer(bp /* nByte */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nByte */)) > ((*SessionInput)(unsafe.Pointer(pIn)).FnData - (*SessionInput)(unsafe.Pointer(pIn)).FiNext)) { + rc = Xsqlite3CorruptError(tls, 209657) + } else { + var enc U8 = func() uint8 { + if eType == SQLITE_TEXT { + return uint8(SQLITE_UTF8) + } + return uint8(0) + }() + rc = sessionValueSetStr(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), *(*int32)(unsafe.Pointer(bp /* nByte */)), enc) + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nByte */))) + } + } + } + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */)) = sessionGetI64(tls, aVal) + if eType == SQLITE_INTEGER { + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */))) + } else { + // var d float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &d */, bp+16 /* &v */, uint64(8)) + Xsqlite3VdbeMemSetDouble(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*float64)(unsafe.Pointer(bp + 8 /* d */))) + } + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (8) + } + } + } + + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function ensures that all of the above is present in the input +// buffer (i.e. that it can be accessed without any calls to xInput()). +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. +// The input pointer is not moved. +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:209695:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + *(*int32)(unsafe.Pointer(bp /* nCol */)) = 0 + var nRead int32 = 0 + + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + nRead = nRead + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead))), bp /* &nCol */)) + // The hard upper limit for the number of columns in an SQLite + // database table is, according to sqliteLimit.h, 32676. So + // consider any table-header that purports to have more than 65536 + // columns to be corrupt. This is convenient because otherwise, + // if the (nCol>65536) condition below were omitted, a sufficiently + // large value for nCol may cause nRead to wrap around and become + // negative. Leading to a crash. + if (*(*int32)(unsafe.Pointer(bp /* nCol */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nCol */)) > 65536) { + rc = Xsqlite3CorruptError(tls, 209711) + } else { + rc = sessionInputBuffer(tls, pIn, ((nRead + *(*int32)(unsafe.Pointer(bp /* nCol */))) + 100)) + nRead = nRead + (*(*int32)(unsafe.Pointer(bp /* nCol */))) + } + } + + for rc == SQLITE_OK { + for (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData) && (*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead)))) != 0) { + nRead++ + } + if ((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData { + break + } + rc = sessionInputBuffer(tls, pIn, (nRead + 100)) + } + *(*int32)(unsafe.Pointer(pnByte)) = (nRead + 1) + return rc +} + +// The input pointer currently points to the first byte of the first field +// of a record consisting of nCol columns. This function ensures the entire +// record is buffered. It does not move the input pointer. +// +// If successful, SQLITE_OK is returned and *pnByte is set to the size of +// the record in bytes. Otherwise, an SQLite error code is returned. The +// final value of *pnByte is undefined in this case. +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:209738:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var nByte int32 = 0 + var i int32 + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + var eType int32 + rc = sessionInputBuffer(tls, pIn, (nByte + 10)) + if rc == SQLITE_OK { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + libc.PostIncInt32(&nByte, 1)))))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var n int32 at bp, 4 + + nByte = nByte + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte))), bp /* &n */)) + nByte = nByte + (*(*int32)(unsafe.Pointer(bp /* n */))) + rc = sessionInputBuffer(tls, pIn, nByte) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + nByte = nByte + (8) + } + } + } + *(*int32)(unsafe.Pointer(pnByte)) = nByte + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function decodes the table-header and populates the p->nCol, +// p->zTab and p->abPK[] variables accordingly. The p->apValue[] array is +// also allocated or resized according to the new value of p->nCol. The +// input pointer is left pointing to the byte following the table header. +// +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code +// is returned and the final values of the various fields enumerated above +// are undefined. +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209782:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var rc int32 at bp+4, 4 + + // var nCopy int32 at bp, 4 + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetBufferTblhdr(tls, (p /* &.in */), bp /* &nCopy */) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte int32 + var nVarint int32 + nVarint = sessionVarintGet(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), (p + 120 /* &.nCol */)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol > 0 { + *(*int32)(unsafe.Pointer(bp /* nCopy */)) -= nVarint + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (nVarint) + nByte = (int32(((uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol) * uint64(unsafe.Sizeof(uintptr(0)))) * uint64(2)) + uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */))))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 + sessionBufferGrow(tls, (p + 72 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + } else { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 209799) + } + } + + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var iPK Size_t = ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2)) + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0, iPK) + libc.Xmemcpy(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + uintptr(iPK)), ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */)))) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nCopy */))) + } + + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue == uintptr(0) { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = uintptr(0) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = uintptr(0) + } else { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol*2))*8) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) + } + return uintptr(0) + }() + } + return libc.AssignPtrInt32(p+100 /* &.rc */, *(*int32)(unsafe.Pointer(bp + 4 /* rc */))) +} + +// Advance the changeset iterator to the next change. The differences between +// this function and sessionChangesetNext() are that +// +// * If pbEmpty is not NULL and the change is a no-op UPDATE (an UPDATE +// that modifies no columns), this function sets (*pbEmpty) to 1. +// +// * If the iterator is configured to skip no-op UPDATEs, +// sessionChangesetNext() does that. This function does not. +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209831:12: */ + var i int32 + var op U8 + + // If the iterator is in the error-state, return immediately. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // Free the current contents of p->apValue[], if any. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2))) + } + + // Make sure the buffer contains at least 10 bytes of input data, or all + // remaining data if there are less than 10 bytes available. This is + // sufficient either for the 'T' or 'P' byte and the varint that follows + // it, or for the two single byte values otherwise. + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionInputBuffer(tls, (p /* &.in */), 2) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // If the iterator is already at the end of the changeset, return DONE. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + + sessionDiscardData(tls, (p /* &.in */)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + + op = *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))) + for (int32(op) == 'T') || (int32(op) == 'P') { + if pbNew != 0 { + *(*int32)(unsafe.Pointer(pbNew)) = 1 + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset = (libc.Bool32(int32(op) == 'P')) + if sessionChangesetReadTblhdr(tls, p) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + if libc.AssignPtrInt32(p+100 /* &.rc */, sessionInputBuffer(tls, (p /* &.in */), 2)) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + op = *(*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)).FzTab == uintptr(0)) || (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) { + // The first record in the changeset is not a table header. Must be a + // corrupt changeset. + + return libc.AssignPtrInt32(p+100 /* &.rc */, Xsqlite3CorruptError(tls, 209885)) + } + + (*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 /* &.rc */, Xsqlite3CorruptError(tls, 209891)) + } + + if paRec != 0 { + var nVal int32 // Number of values to buffer + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) && (int32(op) == SQLITE_UPDATE) { + nVal = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2) + } else if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && (int32(op) == SQLITE_DELETE) { + nVal = 0 + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { + nVal++ + } + } + } else { + nVal = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionChangesetBufferRecord(tls, (p /* &.in */), nVal, pnRec) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + *(*uintptr)(unsafe.Pointer(paRec)) = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(pnRec))) + } else { + var apOld uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + } + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + }() + var apNew uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + } + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + }() + + // If this is an UPDATE or DELETE, read the old.* record. + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT) && (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE)) { + var abPK uintptr + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 { + abPK = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + } else { + abPK = uintptr(0) + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, abPK, apOld, uintptr(0)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + // If this is an INSERT or UPDATE, read the new.* record. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, uintptr(0), apNew, pbEmpty) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + if (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_UPDATE) { + // If this is an UPDATE that is part of a patchset, then all PK and + // modified fields are present in the new.* record. The old.* record + // is currently completely empty. This block shifts the PK fields from + // new.* to old.*, to accommodate the code that reads these arrays. + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + + 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 /* &.rc */, Xsqlite3CorruptError(tls, 209935)) + } + *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol))*8)) = uintptr(0) + } + } + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_INSERT { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_DELETE + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_INSERT + } + } + } + + return SQLITE_ROW +} + +// Advance the changeset iterator to the next change. +// +// If both paRec and pnRec are NULL, then this function works like the public +// API sqlite3changeset_next(). If SQLITE_ROW is returned, then the +// sqlite3changeset_new() and old() APIs may be used to query for values. +// +// Otherwise, if paRec and pnRec are not NULL, then a pointer to the change +// record is written to *paRec before returning and the number of bytes in +// the record to *pnRec. +// +// Either way, this function returns SQLITE_ROW if the iterator is +// successfully advanced to the next change in the changeset, an SQLite +// error code if an error occurs, or SQLITE_DONE if there are no further +// changes in the changeset. +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:209964:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var bEmpty int32 at bp, 4 + + var rc int32 + for ok := true; ok; ok = (((rc == SQLITE_ROW) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbSkipEmpty != 0)) && (*(*int32)(unsafe.Pointer(bp /* bEmpty */)) != 0)) { + *(*int32)(unsafe.Pointer(bp /* bEmpty */)) = 0 + rc = sessionChangesetNextOne(tls, p, paRec, pnRec, pbNew, bp /* &bEmpty */) + } + return rc +} + +// Advance an iterator created by sqlite3changeset_start() to the next +// change in the changeset. This function may return SQLITE_ROW, SQLITE_DONE +// or SQLITE_CORRUPT. +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209987:16: */ + return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) +} + +// The following function extracts information on the current change +// from a changeset iterator. It may only be called after changeset_next() +// has returned SQLITE_ROW. +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:209996:16: */ + *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + if pbIndirect != 0 { + *(*int32)(unsafe.Pointer(pbIndirect)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect + } + return SQLITE_OK +} + +// Return information regarding the PRIMARY KEY and number of columns in +// the database table affected by the change that pIter currently points +// to. This function may only be called after changeset_next() returns +// SQLITE_ROW. +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:210016:16: */ + *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + if pnCol != 0 { + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + } + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_DELETE change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the old.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified and is not a PK column), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210039:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(iVal)*8)) + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_INSERT change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the new.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210067:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+iVal))*8)) + return SQLITE_OK +} + +// The following two macros are used internally. They are similar to the +// sqlite3changeset_new() and sqlite3changeset_old() functions, except that +// they omit all error checking and return a pointer to the requested value. + +// This function may only be called with a changeset iterator that has been +// passed to an SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT +// conflict-handler function. Otherwise, SQLITE_MISUSE is returned. +// +// If successful, *ppValue is set to point to an sqlite3_value structure +// containing the iVal'th value of the conflicting record. +// +// If value iVal is out-of-range or some other error occurs, an SQLite error +// code is returned. Otherwise, SQLITE_OK. +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210101:16: */ + if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = Xsqlite3_column_value(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict, iVal) + return SQLITE_OK +} + +// This function may only be called with an iterator passed to an +// SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +// it sets the output variable to the total number of known foreign key +// violations in the destination database and returns SQLITE_OK. +// +// In all other cases this function returns SQLITE_MISUSE. +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:210124:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0) { + return SQLITE_MISUSE + } + *(*int32)(unsafe.Pointer(pnOut)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + return SQLITE_OK +} + +// Finalize an iterator allocated with sqlite3changeset_start(). +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:210142:16: */ + var rc int32 = SQLITE_OK + if p != 0 { + var i int32 // Used to iterate through p->apValue[] + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + } + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf) + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.Fbuf.FaBuf) + Xsqlite3_free(tls, p) + } + return rc +} + +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210157:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + // var rc int32 at bp+40, 4 + // Return value + // var sOut SessionBuffer at bp, 16 + // Output buffer + // var nCol int32 at bp+20, 4 + // Number of cols in current table + var abPK uintptr // PK array for current table + var apVal uintptr // Space for values for UPDATE inversion + // var sPK SessionBuffer at bp+24, 16 + + // A 'table' record consists of: + // + // * A constant 'T' character, + // * Number of columns in said table (a varint), + // * An array of nCol bytes (sPK), + // * A nul-terminated table name. + // var nByte int32 at bp+16, 4 + + var nVar int32 + // var nByte1 int32 at bp+44, 4 + + var bIndirect int32 + var eType2 int32 + var pVal uintptr + var pVal1 uintptr + var iCol int32 + var eType U8 + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) = 0 + abPK = uintptr(0) + apVal = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* sPK */)) = SessionBuffer{} // PK array for current table + + // Initialize the output buffer + libc.Xmemset(tls, bp /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + // Zero the output variables in case an error occurs. + if !(ppInverted != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(ppInverted)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnInverted)) = 0 +__1: + ; + +__2: + if !(1 != 0) { + goto __3 + } + + // Test for EOF. + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionInputBuffer(tls, pInput, 2)) != 0) { + goto __4 + } + goto finished_invert +__4: + ; + if !((*SessionInput)(unsafe.Pointer(pInput)).FiNext >= (*SessionInput)(unsafe.Pointer(pInput)).FnData) { + goto __5 + } + goto __3 +__5: + ; + eType = *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext))) + + switch int32(eType) { + case 'T': + goto __7 + + case SQLITE_INSERT: + goto __8 + case SQLITE_DELETE: + goto __9 + + case SQLITE_UPDATE: + goto __10 + + default: + goto __11 + } + goto __6 +__7: + (*SessionInput)(unsafe.Pointer(pInput)).FiNext++ + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionChangesetBufferTblhdr(tls, pInput, bp+16 /* &nByte */)) != 0) { + goto __12 + } + goto finished_invert +__12: + ; + nVar = sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), bp+20 /* &nCol */) + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FnBuf = 0 + sessionAppendBlob(tls, bp+24 /* &sPK */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + nVar))), *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 16 /* nByte */)), bp+40 /* &rc */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __13 + } + goto finished_invert +__13: + ; + + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 16 /* nByte */))) + Xsqlite3_free(tls, apVal) + apVal = uintptr(0) + abPK = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FaBuf + goto __6 + +__8: +__9: + bIndirect = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1))))) + eType2 = func() int32 { + if int32(eType) == SQLITE_DELETE { + return SQLITE_INSERT + } + return SQLITE_DELETE + }() + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionChangesetBufferRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+44 /* &nByte1 */) + sessionAppendByte(tls, bp /* &sOut */, uint8(eType2), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, uint8(bIndirect), bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */)), bp+40 /* &rc */) + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __14 + } + goto finished_invert +__14: + ; + goto __6 + +__10: + + if !(uintptr(0) == apVal) { + goto __15 + } + apVal = Xsqlite3_malloc64(tls, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) + if !(uintptr(0) == apVal) { + goto __16 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_NOMEM + goto finished_invert +__16: + ; + libc.Xmemset(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) +__15: + ; + + // Write the header for the new UPDATE change. Same as the original. + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1)))), bp+40 /* &rc */) + + // Read the old.* and new.* records for the update change. + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal), uintptr(0)) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) { + goto __17 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal + uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))*8), uintptr(0)) +__17: + ; + + // Write the new old.* record. Consists of the PK columns from the + // original old.* record, and the other values from the original + // new.* record. + iCol = 0 +__18: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __20 + } + pVal = *(*uintptr)(unsafe.Pointer(apVal + uintptr((iCol+(func() int32 { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return 0 + } + return *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) + }())))*8)) + sessionAppendValue(tls, bp /* &sOut */, pVal, bp+40 /* &rc */) + goto __19 +__19: + iCol++ + goto __18 + goto __20 +__20: + ; + + // Write the new new.* record. Consists of a copy of all values + // from the original old.* record, except for the PK columns, which + // are set to "undefined". + iCol = 0 +__21: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __23 + } + pVal1 = func() uintptr { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return uintptr(0) + } + return *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8)) + }() + sessionAppendValue(tls, bp /* &sOut */, pVal1, bp+40 /* &rc */) + goto __22 +__22: + iCol++ + goto __21 + goto __23 +__23: + ; + + iCol = 0 +__24: + if !(iCol < (*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) * 2)) { + goto __26 + } + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8))) + goto __25 +__25: + iCol++ + goto __24 + goto __26 +__26: + ; + libc.Xmemset(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __27 + } + goto finished_invert +__27: + ; + + goto __6 + +__11: + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 210284) + goto finished_invert +__6: + ; + + if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { + goto __28 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __29 + } + goto finished_invert +__29: + ; +__28: + ; + goto __2 +__3: + ; + + if !(pnInverted != 0) { + goto __30 + } + *(*int32)(unsafe.Pointer(pnInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf = uintptr(0) + goto __31 +__30: + if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { + goto __32 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) +__32: + ; +__31: + ; + +finished_invert: + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf) + Xsqlite3_free(tls, apVal) + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &sPK */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Invert a changeset object. +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210316:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FnData = nChangeset + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FaData = pChangeset + + return sessionChangesetInvert(tls, bp /* &sInput */, uintptr(0), uintptr(0), pnInverted, ppInverted) +} + +// Streaming version of sqlite3changeset_invert(). +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:210335:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + var rc int32 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FxInput = xInput + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FpIn = pIn + + rc = sessionChangesetInvert(tls, bp /* &sInput */, xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3_free(tls, (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).Fbuf.FaBuf) + return rc +} + +type SessionUpdate1 = struct { + FpStmt uintptr + FaMask uintptr + FpNext uintptr +} /* sqlite3.c:210355:9 */ + +type SessionUpdate = SessionUpdate1 /* sqlite3.c:210355:30 */ + +type SessionApplyCtx1 = struct { + Fdb uintptr + FpDelete uintptr + FpInsert uintptr + FpSelect uintptr + FnCol int32 + _ [4]byte + FazCol uintptr + FabPK uintptr + FaUpdateMask uintptr + FpUp uintptr + FbStat1 int32 + FbDeferConstraints int32 + FbInvertConstraints int32 + _ [4]byte + Fconstraints SessionBuffer + Frebase SessionBuffer + FbRebaseStarted U8 + FbRebase U8 + _ [6]byte +} /* sqlite3.c:210362:9 */ + +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ + +// Number of prepared UPDATE statements to cache. + +// Find a prepared UPDATE statement suitable for the UPDATE step currently +// being visited by the iterator. The UPDATE is of the form: +// +// UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:210391:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var pUp uintptr = uintptr(0) + var nCol int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + var nU32 int32 = (((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + 33) / 32) + var ii int32 + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = Xsqlite3_malloc(tls, (int32(uint64(nU32) * uint64(unsafe.Sizeof(U32(0)))))) + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0, (uint64(nU32) * uint64(unsafe.Sizeof(U32(0))))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_CORRUPT + for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ { + if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(ii)))*8)) != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((ii/32))*4)) |= (U32(int32(1) << (ii % 32))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if bPatchset != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((nCol/32))*4)) |= (U32(int32(1) << (nCol % 32))) + } + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp != 0 { + var nUp int32 = 0 + var pp uintptr = (p + 64 /* &.pUp */) + for 1 != 0 { + nUp++ + if 0 == libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaMask, (uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))) { + pUp = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + break + } + + if (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext != 0 { + pp = (*(*uintptr)(unsafe.Pointer(pp)) + 16 /* &.pNext */) + } else { + if nUp >= SESSION_UPDATE_CACHE_SZ { + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpStmt) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pp))) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + } + break + } + } + } + + if pUp == uintptr(0) { + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionUpdate{})) * uint64(nU32)) * uint64(unsafe.Sizeof(U32(0))))) + var bStat1 int32 = (libc.Bool32(Xsqlite3_stricmp(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, ts+11434 /* "sqlite_stat1" */) == 0)) + pUp = Xsqlite3_malloc(tls, nByte) + if pUp == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } else { + var zSep uintptr = ts + 755 /* "" */ + // var buf SessionBuffer at bp, 16 + + libc.Xmemset(tls, bp /* &buf */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + (*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 /* &buf */, ts+32495 /* "UPDATE main." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+32508 /* " SET " */, bp+16 /* &rc */) + + // Create the assignments part of the UPDATE + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+32514 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+16 /* &rc */) + zSep = ts + 14691 /* ", " */ + } + } + + // Create the WHERE clause part of the UPDATE + zSep = ts + 755 /* "" */ + sessionAppendStr(tls, bp /* &buf */, ts+32443 /* " WHERE " */, bp+16 /* &rc */) + 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 /* &buf */, zSep, bp+16 /* &rc */) + if (bStat1 != 0) && (ii == 1) { + + sessionAppendStr(tls, bp, /* &buf */ + + ts+32519 /* "idx IS CASE WHEN..." */, bp+16 /* &rc */) + } else { + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+32451 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 2), bp+16 /* &rc */) + } + zSep = ts + 21256 /* " AND " */ + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + var zSql uintptr = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, zSql, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (pUp /* &.pStmt */), uintptr(0)) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, pUp) + pUp = uintptr(0) + } else { + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + } + } + } + + if pUp != 0 { + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt + } else { + *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) + } + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Free all cached UPDATE statements. +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:210530:13: */ + var pUp uintptr + var pNext uintptr + for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { + pNext = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt) + Xsqlite3_free(tls, pUp) + } + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = uintptr(0) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask) + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = uintptr(0) +} + +// Formulate a statement to DELETE a row from database db. Assuming a table +// structure like this: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The DELETE statement looks like this: +// +// DELETE FROM x WHERE a = :1 AND c = :3 AND (:5 OR b IS :2 AND d IS :4) +// +// Variable :5 (nCol+1) is a boolean. It should be set to 0 if we require +// matching b and d values, or 1 otherwise. The second case comes up if the +// conflict handler is invoked with NOTFOUND and returns CHANGESET_REPLACE. +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left +// pointing to the prepared version of the SQL statement. +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210560:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var i int32 + var zSep uintptr = ts + 755 /* "" */ + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var nPk int32 = 0 + + sessionAppendStr(tls, bp /* &buf */, ts+32594 /* "DELETE FROM main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+32443 /* " WHERE " */, bp+16 /* &rc */) + + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+32514 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 21256 /* " AND " */ + } + } + + if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { + sessionAppendStr(tls, bp /* &buf */, ts+32612 /* " AND (?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((*SessionApplyCtx)(unsafe.Pointer(p)).FnCol + 1), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+32155 /* " OR " */, bp+16 /* &rc */) + + zSep = ts + 755 /* "" */ + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+32451 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 32620 /* "AND " */ + } + } + sessionAppendStr(tls, bp /* &buf */, ts+5428 /* ")" */, bp+16 /* &rc */) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 8 /* &.pDelete */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Formulate and prepare an SQL statement to query table zTab by primary +// key. Assuming the following table structure: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The SELECT statement looks like this: +// +// SELECT * FROM x WHERE a = ?1 AND c = ?3 +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left +// pointing to the prepared version of the SQL statement. +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210625:12: */ + return sessionSelectStmt(tls, + db, ts+6820 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 24 /* &.pSelect */)) +} + +// Formulate and prepare an INSERT statement to add a record to table zTab. +// For example: +// +// INSERT INTO main."zTab" VALUES(?1, ?2, ?3 ...); +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left +// pointing to the prepared version of the SQL statement. +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210643:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var i int32 + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp /* &buf */, ts+32625 /* "INSERT INTO main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+21262 /* "(" */, bp+16 /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + if i != 0 { + sessionAppendStr(tls, bp /* &buf */, ts+14691 /* ", " */, bp+16 /* &rc */) + } + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + } + + sessionAppendStr(tls, bp /* &buf */, ts+32643 /* ") VALUES(?" */, bp+16 /* &rc */) + for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + sessionAppendStr(tls, bp /* &buf */, ts+32654 /* ", ?" */, bp+16 /* &rc */) + } + sessionAppendStr(tls, bp /* &buf */, ts+5428 /* ")" */, bp+16 /* &rc */) + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 16 /* &.pInsert */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:210673:12: */ + return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) +} + +// Prepare statements for applying changes to the sqlite_stat1 table. +// These are similar to those created by sessionSelectRow(), +// sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for +// other tables. +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:210683:12: */ + var rc int32 = sessionSelectRow(tls, db, ts+11434 /* "sqlite_stat1" */, p) + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 16 /* &.pInsert */), + + ts+32658 /* "INSERT INTO main..." */) + } + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 8 /* &.pDelete */), + + ts+32771 /* "DELETE FROM main..." */) + } + return rc +} + +// A wrapper around sqlite3_bind_value() that detects an extra problem. +// See comments in the body of this function for details. +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:210706:12: */ + var eType int32 = Xsqlite3_value_type(tls, pVal) + // COVERAGE: The (pVal->z==0) branch is never true using current versions + // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either + // the (pVal->z) variable remains as it was or the type of the value is + // set to SQLITE_NULL. + if ((eType == SQLITE_TEXT) || (eType == SQLITE_BLOB)) && ((*Sqlite3_value)(unsafe.Pointer(pVal)).Fz == uintptr(0)) { + // This condition occurs when an earlier OOM in a call to + // sqlite3_value_text() or sqlite3_value_blob() (perhaps from within + // a conflict-handler) has zeroed the pVal->z pointer. Return NOMEM. + return SQLITE_NOMEM + } + return Xsqlite3_bind_value(tls, pStmt, i, pVal) +} + +// Iterator pIter must point to an SQLITE_INSERT entry. This function +// transfers new.* values from the current iterator entry to statement +// pStmt. The table being inserted into has nCol columns. +// +// New.* value $i from the iterator is bound to variable ($i+1) of +// statement pStmt. If parameter abPK is NULL, all values from 0 to (nCol-1) +// are transfered to the statement. Otherwise, if abPK is not NULL, it points +// to an array nCol elements in size. In this case only those values for +// which abPK[$i] is true are read from the iterator and bound to the +// statement. +// +// An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK. +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:210739:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var i int32 + var rc int32 = SQLITE_OK + + // Neither sqlite3changeset_old or sqlite3changeset_new can fail if the + // argument iterator points to a suitable entry. Make sure that xValue + // is one of these to guarantee that it is safe to ignore the return + // in the code below. + + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + // var pVal uintptr at bp, 8 + + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { + // The value in the changeset was "undefined". This indicates a + // corrupt changeset blob. + rc = Xsqlite3CorruptError(tls, 210762) + } else { + rc = sessionBindValue(tls, pStmt, (i + 1), *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + } + } + return rc +} + +// SQL statement pSelect is as generated by the sessionSelectRow() function. +// This function binds the primary key values from the change that changeset +// iterator pIter points to to the SELECT and attempts to seek to the table +// entry. If a row is found, the SELECT statement left pointing at the row +// and SQLITE_ROW is returned. Otherwise, if no row is found and no error +// has occured, the statement is reset and SQLITE_OK is returned. If an +// error occurs, the statement is reset and an SQLite error code is returned. +// +// If this function returns SQLITE_ROW, the caller must eventually reset() +// statement pSelect. If any other value is returned, the statement does +// not require a reset(). +// +// If the iterator currently points to an INSERT record, bind values from the +// new.* record to the SELECT statement. Or, if it points to a DELETE or +// UPDATE, bind values from the old.* record. +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:210788:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var rc int32 // Return code + // var nCol int32 at bp+8, 4 + // Number of columns in table + // var op int32 at bp+12, 4 + // Changset operation (SQLITE_UPDATE etc.) + // var zDummy uintptr at bp, 8 + // Unused + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + rc = sessionBindRow(tls, pIter, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})) + } + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})) + }(), + *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, pSelect) + + if rc == SQLITE_OK { + rc = Xsqlite3_step(tls, pSelect) + if rc != SQLITE_ROW { + rc = Xsqlite3_reset(tls, pSelect) + } + } + + return rc +} + +// This function is called from within sqlite3changeset_apply_v2() when +// a conflict is encountered and resolved using conflict resolution +// mode eType (either SQLITE_CHANGESET_OMIT or SQLITE_CHANGESET_REPLACE).. +// It adds a conflict resolution record to the buffer in +// SessionApplyCtx.rebase, which will eventually be returned to the caller +// of apply_v2() as the "rebase" buffer. +// +// Return SQLITE_OK if successful, or an SQLite error code otherwise. +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:210823:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebase != 0 { + var i int32 + var eOp int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + if int32((*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted) == 0 { + // Append a table-header to the rebase buffer + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + sessionAppendByte(tls, (p + 104 /* &.rebase */), uint8('T'), bp /* &rc */) + sessionAppendVarint(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), zTab, (int32(libc.Xstrlen(tls, zTab)) + 1), bp /* &rc */) + (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted = U8(1) + } + + sessionAppendByte(tls, (p + 104 /* &.rebase */), + func() uint8 { + if eOp == SQLITE_DELETE { + return uint8(SQLITE_DELETE) + } + return uint8(SQLITE_INSERT) + }(), bp /* &rc */) + sessionAppendByte(tls, (p + 104 /* &.rebase */), (uint8(libc.Bool32(eType == SQLITE_CHANGESET_REPLACE))), bp /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)) = uintptr(0) + if (eOp == SQLITE_DELETE) || ((eOp == SQLITE_UPDATE) && (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0)) { + Xsqlite3changeset_old(tls, pIter, i, bp+8 /* &pVal */) + } else { + Xsqlite3changeset_new(tls, pIter, i, bp+8 /* &pVal */) + } + sessionAppendValue(tls, (p + 104 /* &.rebase */), *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)), bp /* &rc */) + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Invoke the conflict handler for the change that the changeset iterator +// currently points to. +// +// Argument eType must be either CHANGESET_DATA or CHANGESET_CONFLICT. +// If argument pbReplace is NULL, then the type of conflict handler invoked +// depends solely on eType, as follows: +// +// eType value Value passed to xConflict +// ------------------------------------------------- +// CHANGESET_DATA CHANGESET_NOTFOUND +// CHANGESET_CONFLICT CHANGESET_CONSTRAINT +// +// Or, if pbReplace is not NULL, then an attempt is made to find an existing +// record with the same primary key as the record about to be deleted, updated +// or inserted. If such a record can be found, it is available to the conflict +// handler as the "conflicting" record. In this case the type of conflict +// handler invoked is as follows: +// +// eType value PK Record found? Value passed to xConflict +// ---------------------------------------------------------------- +// CHANGESET_DATA Yes CHANGESET_DATA +// CHANGESET_DATA No CHANGESET_NOTFOUND +// CHANGESET_CONFLICT Yes CHANGESET_CONFLICT +// CHANGESET_CONFLICT No CHANGESET_CONSTRAINT +// +// If pbReplace is not NULL, and a record with a matching PK is found, and +// the conflict handler function returns SQLITE_CHANGESET_REPLACE, *pbReplace +// is set to non-zero before returning SQLITE_OK. +// +// If the conflict handler returns SQLITE_CHANGESET_ABORT, SQLITE_ABORT is +// returned. Or, if the conflict handler returns an invalid value, +// SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT, +// this function returns SQLITE_OK. +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:210897:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var res int32 = 0 // Value returned by conflict handler + // var rc int32 at bp+16, 4 + + // var nCol int32 at bp+8, 4 + + // var op int32 at bp+12, 4 + + // var zDummy uintptr at bp, 8 + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + // Bind the new.* PRIMARY KEY values to the SELECT statement. + if pbReplace != 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_ROW { + // There exists another row with the new.* primary key. + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if ((*SessionApplyCtx)(unsafe.Pointer(p)).FbDeferConstraints != 0) && (eType == SQLITE_CHANGESET_CONFLICT) { + // Instead of invoking the conflict handler, append the change blob + // to the SessionApplyCtx.constraints buffer. + var aBlob uintptr = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent)) + var nBlob int32 = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent) + sessionAppendBlob(tls, (p + 88 /* &.constraints */), aBlob, nBlob, bp+16 /* &rc */) + return SQLITE_OK + } else { + // No other row with the new.* primary key. + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + if res == SQLITE_CHANGESET_REPLACE { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + switch res { + case SQLITE_CHANGESET_REPLACE: + + *(*int32)(unsafe.Pointer(pbReplace)) = 1 + break + fallthrough + + case SQLITE_CHANGESET_OMIT: + break + fallthrough + + case SQLITE_CHANGESET_ABORT: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ABORT + break + fallthrough + + default: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + break + } + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionRebaseAdd(tls, p, res, pIter) + } + } + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// If argument pbRetry is NULL, then ignore any CHANGESET_DATA conflict. If +// one is encountered, update or delete the row with the matching primary key +// instead. Or, if pbRetry is not NULL and a CHANGESET_DATA conflict occurs, +// invoke the conflict handler. If it returns CHANGESET_REPLACE, set *pbRetry +// to true before returning. In this case the caller will invoke this function +// again, this time with pbRetry set to NULL. +// +// If argument pbReplace is NULL and a CHANGESET_CONFLICT conflict is +// encountered invoke the conflict handler with CHANGESET_CONSTRAINT instead. +// Or, if pbReplace is not NULL, invoke it with CHANGESET_CONFLICT. If such +// an invocation returns SQLITE_CHANGESET_REPLACE, set *pbReplace to true +// before retrying. In this case the caller attempts to remove the conflicting +// row before invoking this function again, this time with pbReplace set +// to NULL. +// +// If any conflict handler returns SQLITE_CHANGESET_ABORT, this function +// returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is +// returned. +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:210995:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + // var zDummy uintptr at bp, 8 + + // var op int32 at bp+12, 4 + + // var nCol int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_DELETE { + + // Bind values to the DELETE statement. If conflict handling is required, + // bind values for all columns and set bound variable (nCol+1) to true. + // Or, if conflict handling is not required, bind just the PK column + // values and, if it exists, set (nCol+1) to false. Conflict handling + // is not required if: + // + // * this is a patchset, or + // * (pbRetry==0), or + // * all columns of the table are PK columns (in this case there is + // no (nCol+1) variable to bind to). + var abPK uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + } + return uintptr(0) + }() + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_bind_parameter_count(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) > *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))) { + rc = Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete, (*(*int32)(unsafe.Pointer(bp + 8 /* nCol */)) + 1), (libc.Bool32((pbRetry == uintptr(0)) || (abPK != 0)))) + } + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_UPDATE { + var i int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)) = uintptr(0) + var bPatchset int32 = (libc.Bool32((pbRetry == uintptr(0)) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0))) + + rc = sessionUpdateFind(tls, pIter, p, bPatchset, bp+16 /* &pUp */) + + // Bind values to the UPDATE statement. + for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))); i++ { + var pOld uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(i)*8)) + var pNew uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(i)))*8)) + if (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) || ((bPatchset == 0) && (pOld != 0)) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 2), pOld) + } + if (rc == SQLITE_OK) && (pNew != 0) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 1), pNew) + } + } + if rc != SQLITE_OK { + return rc + } + + // Attempt the UPDATE. In the case of a NOTFOUND or DATA conflict, + // the result will be SQLITE_OK with 0 rows modified. + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + // A NOTFOUND or DATA error. Search the table to see if it contains + // a row with a matching primary key. If so, this is a DATA conflict. + // Otherwise, if there is no primary key match, it is a NOTFOUND. + + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + // This is always a CONSTRAINT conflict. + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else { + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbStat1 != 0 { + // Check if there is a conflicting row. For sqlite_stat1, this needs + // to be done using a SELECT, as there is no PRIMARY KEY in the + // database schema to throw an exception if a duplicate is inserted. + rc = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + if rc == SQLITE_ROW { + rc = SQLITE_CONSTRAINT + Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } + } + + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), uintptr(0), (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + } + + if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace) + } + } + + return rc +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// The difference between this function and sessionApplyOne() is that this +// function handles the case where the conflict-handler is invoked and +// returns SQLITE_CHANGESET_REPLACE - indicating that the change should be +// retried in some manner. +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211128:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) = 0 + var rc int32 + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp /* &bReplace */, bp+4 /* &bRetry */) + if rc == SQLITE_OK { + // If the bRetry flag is set, the change has not been applied due to an + // SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and + // a row with the correct PK is present in the db, but one or more other + // fields do not contain the expected values) and the conflict handler + // returned SQLITE_CHANGESET_REPLACE. In this case retry the operation, + // but pass NULL as the final argument so that sessionApplyOneOp() ignores + // the SQLITE_CHANGESET_DATA problem. + if *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) != 0 { + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } else if *(*int32)(unsafe.Pointer(bp /* bReplace */)) != 0 { + + rc = Xsqlite3_exec(tls, db, ts+32915 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(0)) + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, ((*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + 1), 1) + } + if rc == SQLITE_OK { + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + } + if rc == SQLITE_OK { + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+32936 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + } + + return rc +} + +// Retry the changes accumulated in the pApply->constraints buffer. +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211185:12: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK + + for (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf != 0 { + *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) = uintptr(0) + var cons = (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints + libc.Xmemset(tls, (pApply + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionChangesetStart(tls, + bp /* &pIter2 */, uintptr(0), uintptr(0), cons.FnBuf, cons.FaBuf, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbInvertConstraints, 1) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + var nByte Size_t = ((uint64(2 * (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol)) * uint64(unsafe.Sizeof(uintptr(0)))) + var rc2 int32 + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FbPatchset = bPatchset + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FzTab = zTab + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FnCol = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FabPK = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK + sessionBufferGrow(tls, (*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) + 72 /* &.tblhdr */), int64(nByte), bp+8 /* &rc */) + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).Ftblhdr.FaBuf + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0, nByte) + } + + for (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))) { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)), pApply, xConflict, pCtx) + } + + rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */))) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = rc2 + } + } + + Xsqlite3_free(tls, cons.FaBuf) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) != SQLITE_OK { + break + } + if (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf >= cons.FnBuf { + // No progress was made on the last round. + (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbDeferConstraints = 0 + } + } + + return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) +} + +// Argument pIter is a changeset iterator that has been initialized, but +// not yet passed to sqlite3changeset_next(). This function applies the +// changeset to the main database attached to handle "db". The supplied +// conflict handler callback is invoked to resolve any conflicts encountered +// while applying the change. +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ + bp := tls.Alloc(400) + defer tls.Free(400) + + var schemaMismatch int32 = 0 + var rc int32 = SQLITE_OK // Return code + *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) = uintptr(0) // Name of current table + var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) + // var sApply SessionApplyCtx at bp+80, 128 + // changeset_apply() context object + var bPatchset int32 + + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 + libc.Xmemset(tls, bp+80 /* &sApply */, 0, uint64(unsafe.Sizeof(SessionApplyCtx{}))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).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+32955 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+32981 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + } + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { + // var nCol int32 at bp+216, 4 + + // var op int32 at bp+220, 4 + + // var zNew uintptr at bp+208, 8 + + Xsqlite3changeset_op(tls, pIter, bp+208 /* &zNew */, bp+216 /* &nCol */, bp+220 /* &op */, uintptr(0)) + + if (*(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+224, 8 + + rc = sessionRetryConstraints(tls, + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */, xConflict, pCtx) + if rc != SQLITE_OK { + break + } + + sessionUpdateFree(tls, bp+80 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbRebaseStarted = U8(0) + libc.Xmemset(tls, (bp + 80 /* &sApply */ + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + // If an xFilter() callback was specified, invoke it now. If the + // xFilter callback returns zero, skip this table. If it returns + // non-zero, proceed. + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)))))) + if schemaMismatch != 0 { + *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) == uintptr(0) { + rc = SQLITE_NOMEM + break + } + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) + } else { + var nMinCol int32 = 0 + var i int32 + + Xsqlite3changeset_pk(tls, pIter, bp+224 /* &abPK */, uintptr(0)) + rc = sessionTableInfo(tls, uintptr(0), + db, ts+6820 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)), (bp + 80 /* &sApply */ + 32 /* &.nCol */), bp+232 /* &zTab */, (bp + 80 /* &sApply */ + 40 /* &.azCol */), (bp + 80 /* &sApply */ + 48 /* &.abPK */)) + if rc != SQLITE_OK { + break + } + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FabPK + uintptr(i))) != 0 { + nMinCol = (i + 1) + } + } + + if (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol == 0 { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+33011 /* "sqlite3changeset..." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 216 /* nCol */)) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + + ts+33055, /* "sqlite3changeset..." */ + libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 216 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 216 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 224 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 216 /* nCol */)))) != 0) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+33126 /* "sqlite3changeset..." */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)))) + } else { + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 216 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), ts+11434 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+80 /* &sApply */)) != 0 { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbStat1 = 1 + } else { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */)) != 0) { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbStat1 = 0 + } + } + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */))) + } + } + + // If there is a schema mismatch on the current table, proceed to the + // next change. A log message has already been issued. + if schemaMismatch != 0 { + continue + } + + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+80 /* &sApply */, xConflict, pCtx) + } + + bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + if rc == SQLITE_OK { + rc = Xsqlite3changeset_finalize(tls, pIter) + } else { + Xsqlite3changeset_finalize(tls, pIter) + } + + if rc == SQLITE_OK { + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */, xConflict, pCtx) + } + + if rc == SQLITE_OK { + // var nFk int32 at bp+240, 4 + + // var notUsed int32 at bp+244, 4 + + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+240 /* &nFk */, bp+244 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 240 /* nFk */)) != 0 { + var res int32 = SQLITE_CHANGESET_ABORT + // var sIter Sqlite3_changeset_iter at bp+248, 152 + + libc.Xmemset(tls, bp+248 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 248 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 240 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+248 /* &sIter */) + if res != SQLITE_CHANGESET_OMIT { + rc = SQLITE_CONSTRAINT + } + } + } + Xsqlite3_exec(tls, db, ts+33186 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + + if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+33216 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } else { + Xsqlite3_exec(tls, db, ts+33240 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, ts+33216 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Frebase.FaBuf = uintptr(0) + } + sessionUpdateFree(tls, bp+80 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).Frebase.FaBuf) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main +// database attached to handle "db". +func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211439:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInv int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211472:16: */ + return Xsqlite3changeset_apply_v2(tls, + db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// Apply the changeset passed via xInput/pIn to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211497:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInverse int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, xInput, pIn, 0, uintptr(0), bInverse, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211524:16: */ + return Xsqlite3changeset_apply_v2_strm(tls, + db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// This function is called to merge two changes to the same row together as +// part of an sqlite3changeset_concat() operation. A new change object is +// allocated and a pointer to it stored in *ppNew. +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:211558:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var pNew uintptr = uintptr(0) + var rc int32 = SQLITE_OK + + if !(pExist != 0) { + pNew = Xsqlite3_malloc64(tls, (uint64(unsafe.Sizeof(SessionChange{})) + uint64(nRec))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = U8(bIndirect) + (*SessionChange)(unsafe.Pointer(pNew)).FaRecord = (pNew + 1*32) + if (bIndirect == 0) || (bRebase == 0) { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = nRec + libc.Xmemcpy(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, aRec, uint64(nRec)) + } else { + var i int32 + var pIn uintptr = aRec + var pOut uintptr = (*SessionChange)(unsafe.Pointer(pNew)).FaRecord + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var nIn int32 = sessionSerialLen(tls, pIn) + if int32(*(*U8)(unsafe.Pointer(pIn))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } else if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else { + libc.Xmemcpy(tls, pOut, pIn, uint64(nIn)) + pOut += uintptr(nIn) + } + pIn += uintptr(nIn) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + } else if bRebase != 0 { + if (int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) == SQLITE_DELETE) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0) { + *(*uintptr)(unsafe.Pointer(ppNew)) = pExist + } else { + var nByte Sqlite3_int64 = (Sqlite3_int64((uint64(nRec + (*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(unsafe.Sizeof(SessionChange{})))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var i int32 + var a1 uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var a2 uintptr = aRec + var pOut uintptr + + libc.Xmemset(tls, pNew, 0, uint64(nByte)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) || ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + pOut = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) || ((int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0) && (bIndirect != 0)) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else if int32(*(*U8)(unsafe.Pointer(a2))) == 0 { + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else { + libc.Xmemcpy(tls, pOut, a2, uint64(n2)) + pOut += uintptr(n2) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } else { + var op1 int32 = int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) + + // op1=INSERT, op2=INSERT -> Unsupported. Discard op2. + // op1=INSERT, op2=UPDATE -> INSERT. + // op1=INSERT, op2=DELETE -> (none) + // + // op1=UPDATE, op2=INSERT -> Unsupported. Discard op2. + // op1=UPDATE, op2=UPDATE -> UPDATE. + // op1=UPDATE, op2=DELETE -> DELETE. + // + // op1=DELETE, op2=INSERT -> UPDATE. + // op1=DELETE, op2=UPDATE -> Unsupported. Discard op2. + // op1=DELETE, op2=DELETE -> Unsupported. Discard op2. + if ((((op1 == SQLITE_INSERT) && (op2 == SQLITE_INSERT)) || + ((op1 == SQLITE_UPDATE) && (op2 == SQLITE_INSERT))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_UPDATE))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_DELETE)) { + pNew = pExist + } else if (op1 == SQLITE_INSERT) && (op2 == SQLITE_DELETE) { + Xsqlite3_free(tls, pExist) + + } else { + var aExist uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var nByte Sqlite3_int64 + // var aCsr uintptr at bp+8, 8 + + // Allocate a new SessionChange object. Ensure that the aRecord[] + // buffer of the new object is large enough to hold any record that + // may be generated by combining the input records. + nByte = (Sqlite3_int64((uint64(unsafe.Sizeof(SessionChange{})) + uint64((*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(nRec))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if !(pNew != 0) { + Xsqlite3_free(tls, pExist) + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + if op1 == SQLITE_INSERT { // INSERT + UPDATE + *(*uintptr)(unsafe.Pointer(bp /* a1 */)) = aRec + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_INSERT) + if bPatchset == 0 { + sessionSkipRecord(tls, bp /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aExist, *(*uintptr)(unsafe.Pointer(bp /* a1 */))) + } else if op1 == SQLITE_DELETE { // DELETE + INSERT + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aExist, uintptr(0), aRec, uintptr(0)) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } + } else if op2 == SQLITE_UPDATE { // UPDATE + UPDATE + *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)) = aExist + *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */)) = aRec + + if bPatchset == 0 { + sessionSkipRecord(tls, bp+16 /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + sessionSkipRecord(tls, bp+24 /* &a2 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aRec, aExist, *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)), *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */))) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } else { // UPDATE + DELETE + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_DELETE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aRec, aExist) + } + } + + if pNew != 0 { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */))) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } + + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Add all changes in the changeset traversed by the iterator passed as +// the first argument to the changegroup hash tables. +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:211740:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + // var aRec uintptr at bp, 8 + + // var nRec int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + var pTab uintptr = uintptr(0) + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, uintptr(0)) { + // var zNew uintptr at bp+16, 8 + + // var nCol int32 at bp+24, 4 + + // var op int32 at bp+28, 4 + + var iHash int32 + // var bIndirect int32 at bp+32, 4 + + // var pChange uintptr at bp+48, 8 + + var pExist uintptr = uintptr(0) + var pp uintptr + + if (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = SQLITE_ERROR + break + } + + Xsqlite3changeset_op(tls, pIter, bp+16 /* &zNew */, bp+24 /* &nCol */, bp+28 /* &op */, bp+32 /* &bIndirect */) + if !(pTab != 0) || (Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (*SessionTable)(unsafe.Pointer(pTab)).FzName) != 0) { + // Search the list for a matching table + var nNew int32 = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)))) + // var abPK uintptr at bp+40, 8 + + Xsqlite3changeset_pk(tls, pIter, bp+40 /* &abPK */, uintptr(0)) + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (nNew+1)) { + break + } + } + if !(pTab != 0) { + var ppTab uintptr + + pTab = Xsqlite3_malloc64(tls, (((uint64(unsafe.Sizeof(SessionTable{})) + uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + uint64(nNew)) + uint64(1))) + if !(pTab != 0) { + rc = SQLITE_NOMEM + break + } + libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 24 /* nCol */)) + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = (pTab + 1*56) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = ((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (uint64(nNew + 1))) + + // The new object must be linked on to the end of the list, not + // simply added to the start of it. This is to ensure that the + // tables within the output of sqlite3changegroup_output() are in + // the right order. + for ppTab = (pGrp + 8 /* &.pList */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } else if ((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) || (libc.Xmemcmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) != 0) { + rc = SQLITE_SCHEMA + break + } + } + + if sessionGrowHash(tls, uintptr(0), (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { + rc = SQLITE_NOMEM + break + } + iHash = int32(sessionChangeHash(tls, + pTab, (libc.Bool32(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0) && (*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE))), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + // Search for existing entry. If found, remove it from the hash table. + // Code below may link it back in. + for pp = ((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = (*(*uintptr)(unsafe.Pointer(pp)) + 24 /* &.pNext */) { + var bPkOnly1 int32 = 0 + var bPkOnly2 int32 = 0 + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + bPkOnly1 = (libc.Bool32(int32((*SessionChange)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pp))))).Fop) == SQLITE_DELETE)) + bPkOnly2 = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE)) + } + if sessionChangeEqual(tls, pTab, bPkOnly1, (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp /* aRec */))) != 0 { + pExist = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry-- + break + } + } + + rc = sessionChangeMerge(tls, pTab, bRebase, + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 28 /* op */)), *(*int32)(unsafe.Pointer(bp + 32 /* bIndirect */)), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+48 /* &pChange */) + if rc != 0 { + break + } + if *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) != 0 { + (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)))).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + } + } + + if rc == SQLITE_OK { + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// Serialize a changeset (or patchset) based on all changesets (or patchsets) +// added to the changegroup object passed as the first argument. +// +// If xOutput is not NULL, then the changeset/patchset is returned to the +// user via one or more calls to xOutput, as with the other streaming +// interfaces. +// +// Or, if xOutput is NULL, then (*ppOut) is populated with a pointer to a +// buffer containing the output changeset before this function returns. In +// this case (*pnOut) is set to the size of the output buffer in bytes. It +// is the responsibility of the caller to free the output buffer using +// sqlite3_free() when it is no longer required. +// +// If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite +// error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut) +// are both set to 0 before returning. +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211863:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var pTab uintptr + + // Create the serialized output changeset based on the contents of the + // hash tables attached to the SessionTable objects in list p->pList. + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + var i int32 + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry == 0 { + continue + } + + sessionAppendTableHdr(tls, bp /* &buf */, (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch, pTab, bp+16 /* &rc */) + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).Fop, bp+16 /* &rc */) + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+16 /* &rc */) + sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+16 /* &rc */) + if ((*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 + } + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Allocate a new, empty, sqlite3_changegroup. +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:211914:16: */ + var rc int32 = SQLITE_OK // Return code + var p uintptr // New object + p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) + if p == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Sqlite3_changegroup{}))) + } + *(*uintptr)(unsafe.Pointer(pp)) = p + return rc +} + +// Add the changeset currently stored in buffer pData, size nData bytes, +// to changeset-group p. +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:211931:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nData, pData) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Obtain a buffer containing a changeset representing the concatenation +// of all changesets added to the group so far. +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:211947:16: */ + return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) +} + +// Streaming versions of changegroup_add(). +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:211958:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Streaming versions of changegroup_output(). +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:211977:16: */ + return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Delete a changegroup object. +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:211988:17: */ + if pGrp != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, pGrp) + } +} + +// Combine two changesets together. +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211998:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nLeft, pLeft) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nRight, pRight) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), pnOut, ppOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Streaming version of sqlite3changeset_concat(). +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212027:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputA, pInA) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputB, pInB) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xOutput, pOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Buffers a1 and a2 must both contain a sessions module record nCol +// fields in size. This function appends an nCol sessions module +// record to buffer pBuf that is a copy of a1, except that for +// each field that is undefined in a1[], swap in the field from a2[]. +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:212066:13: */ + sessionBufferGrow(tls, pBuf, (int64(n1 + n2)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var i int32 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + for i = 0; i < nCol; i++ { + var nn1 int32 = sessionSerialLen(tls, a1) + var nn2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0) || (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) { + libc.Xmemcpy(tls, pOut, a2, uint64(nn2)) + pOut += uintptr(nn2) + } else { + libc.Xmemcpy(tls, pOut, a1, uint64(nn1)) + pOut += uintptr(nn1) + } + a1 += uintptr(nn1) + a2 += uintptr(nn2) + } + + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + + } +} + +// This function is called when rebasing a local UPDATE change against one +// or more remote UPDATE changes. The aRec/nRec buffer contains the current +// old.* and new.* records for the change. The rebase buffer (a single +// record) is in aChange/nChange. The rebased change is appended to buffer +// pBuf. +// +// Rebasing the UPDATE involves: +// +// * Removing any changes to fields for which the corresponding field +// in the rebase buffer is set to "replaced" (type 0xFF). If this +// means the UPDATE change updates no fields, nothing is appended +// to the output buffer. +// +// * For each field modified by the local change for which the +// corresponding field in the rebase buffer is not "undefined" (0x00) +// or "replaced" (0xFF), the old.* value is replaced by the value +// in the rebase buffer. +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:212115:13: */ + sessionBufferGrow(tls, pBuf, (int64((2 + nRec) + nChange)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var bData int32 = 0 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + var i int32 + var a1 uintptr = aRec + var a2 uintptr = aChange + + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(SQLITE_UPDATE) + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect) + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) == 0) { + if !(int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i)))) != 0) && (*(*U8)(unsafe.Pointer(a1)) != 0) { + bData = 1 + } + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else if int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF { + bData = 1 + libc.Xmemcpy(tls, pOut, a2, uint64(n2)) + pOut += uintptr(n2) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + if bData != 0 { + a2 = aChange + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF) { + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + } + } +} + +// pIter is configured to iterate through a changeset. This function rebases +// that changeset according to the current configuration of the rebaser +// object passed as the first argument. If no error occurs and argument xOutput +// is not NULL, then the changeset is returned to the caller by invoking +// xOutput zero or more times and SQLITE_OK returned. Or, if xOutput is NULL, +// then (*ppOut) is set to point to a buffer containing the rebased changeset +// before this function returns. In this case (*pnOut) is set to the size of +// the buffer in bytes. It is the responsibility of the caller to eventually +// free the (*ppOut) buffer using sqlite3_free(). +// +// If an error occurs, an SQLite error code is returned. If ppOut and +// pnOut are not NULL, then the two output parameters are set to 0 before +// returning. +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212183:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp /* aRec */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)) = 0 + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + var pTab uintptr = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 16 /* sOut */)) = SessionBuffer{} + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, bp+12 /* &bNew */) { + var pChange uintptr = uintptr(0) + var bDone int32 = 0 + + if *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) != 0 { + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + for pTab = (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_stricmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zTab) { + break + } + } + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + + // A patchset may not be rebased + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR + } + + // Append a table header to the output for this new table + sessionAppendByte(tls, bp+16 /* &sOut */, func() uint8 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), bp+32 /* &rc */) + sessionAppendVarint(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, (int32(libc.Xstrlen(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab)) + 1), bp+32 /* &rc */) + } + + if (pTab != 0) && (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) { + var iHash int32 = int32(sessionChangeHash(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + for pChange = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)); pChange != 0; pChange = (*SessionChange)(unsafe.Pointer(pChange)).FpNext { + if sessionChangeEqual(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), 0, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord) != 0 { + break + } + } + } + + if pChange != 0 { + + switch (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop { + case SQLITE_INSERT: + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_UPDATE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + } + break + fallthrough + + case SQLITE_UPDATE: + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_DELETE { + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)) = *(*uintptr)(unsafe.Pointer(bp /* aRec */)) + sessionSkipRecord(tls, bp+40 /* &pCsr */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_INSERT), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)), (int32(int64(*(*int32)(unsafe.Pointer(bp + 8 /* nRec */))) - ((int64(*(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */))) - int64(*(*uintptr)(unsafe.Pointer(bp /* aRec */)))) / 1))), + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + } else { + sessionAppendPartialUpdate(tls, bp+16 /* &sOut */, pIter, + *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + break + fallthrough + + default: + + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_DELETE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + break + } + } + + if bDone == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + if ((*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf = 0 + } + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0 { + break + } + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + libc.Xmemset(tls, bp+16 /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Create a new rebaser object. +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:212315:16: */ + var rc int32 = SQLITE_OK + var pNew uintptr + + pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_rebaser{}))) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_rebaser{}))) + } + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Call this one or more times to configure a rebaser. +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:212332:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator opened on pData/nData + var rc int32 // Return code + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nRebase, pRebase) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), (p /* &.grp */), 1) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212349:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start(tls, bp /* &pIter */, nIn, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), uintptr(0), uintptr(0), pnOut, ppOut) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212368:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Destroy a rebaser object +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:212389:17: */ + if p != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, p) + } +} + +// Global configuration +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:212399:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_CONFIG_STRMSIZE: + { + var pInt uintptr = pArg + if *(*int32)(unsafe.Pointer(pInt)) > 0 { + sessions_strm_chunk_size = *(*int32)(unsafe.Pointer(pInt)) + } + *(*int32)(unsafe.Pointer(pInt)) = sessions_strm_chunk_size + break + + } + default: + rc = SQLITE_MISUSE + break + } + return rc +} + //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -209672,71 +215847,6 @@ type Fts5Global1 = struct { FpCsr uintptr } /* sqlite3.c:213118:9 */ -//************************************************************************ - -//************* End of sqlite3rbu.c ***************************************** -//************* Begin file dbstat.c ***************************************** -// 2010 July 12 -// -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: -// -// May you do good and not evil. -// May you find forgiveness for yourself and forgive others. -// May you share freely, never taking more than you give. -// -// -// -// This file contains an implementation of the "dbstat" virtual table. -// -// The dbstat virtual table is used to extract low-level storage -// information from an SQLite database in order to implement the -// "sqlite3_analyzer" utility. See the ../tool/spaceanal.tcl script -// for an example implementation. -// -// Additional information is available on the "dbstat.html" page of the -// official SQLite documentation. - -// #include "sqliteInt.h" ** Requires access to internal data structures ** - -//************* End of dbstat.c ********************************************* -//************* Begin file dbpage.c ***************************************** -// 2017-10-11 -// -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: -// -// May you do good and not evil. -// May you find forgiveness for yourself and forgive others. -// May you share freely, never taking more than you give. -// -// -// -// This file contains an implementation of the "sqlite_dbpage" virtual table. -// -// The sqlite_dbpage virtual table is used to read or write whole raw -// pages of the database file. The pager interface is used so that -// uncommitted changes and changes recorded in the WAL file are correctly -// retrieved. -// -// Usage example: -// -// SELECT data FROM sqlite_dbpage('aux1') WHERE pgno=123; -// -// This is an eponymous virtual table so it does not need to be created before -// use. The optional argument to the sqlite_dbpage() table name is the -// schema for the database file that is to be read. The default schema is -// "main". -// -// The data field of sqlite_dbpage table can be updated. The new -// value must be a BLOB which is the correct page size, otherwise the -// update fails. Rows may not be deleted or inserted. - -// #include "sqliteInt.h" ** Requires access to internal data structures ** - -//************* End of dbpage.c ********************************************* -//************* Begin file sqlite3session.c ********************************* - //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -210566,7 +216676,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+31915 /* "fts5: parser sta..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+33268 /* "fts5: parser sta..." */, 0) //******* End %stack_overflow code ******************************************* (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument var @@ -210889,7 +216999,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+31943 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) + pParse, ts+33296 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) //*********** End %syntax_error code ***************************************** (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument variable @@ -211160,7 +217270,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+31974 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33327 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } @@ -211234,7 +217344,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 31981 /* "wrong number of ..." */ + var zErr uintptr = ts + 33334 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -211401,7 +217511,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 740 /* "" */ + return ts + 755 /* "" */ } // Implementation of snippet() function. @@ -211428,7 +217538,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 32031 /* "wrong number of ..." */ + var zErr uintptr = ts + 33384 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -211770,13 +217880,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 defer tls.Free(96) *(*[3]Builtin)(unsafe.Pointer(bp /* aBuiltin */)) = [3]Builtin{ - {FzFunc: ts + 32079 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 33432 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5SnippetFunction}))}, - {FzFunc: ts + 32087 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 33440 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5HighlightFunction}))}, - {FzFunc: ts + 32097 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 33450 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5Bm25Function}))}, } @@ -212270,7 +218380,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+6605 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+6620 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -212449,7 +218559,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, ts+32102 /* "prefix" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+33455 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 @@ -212476,14 +218586,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+32109 /* "malformed prefix..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33462 /* "malformed prefix..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+32140 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) + ts+33493 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR break } @@ -212494,7 +218604,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32173 /* "prefix length ou..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33526 /* "prefix length ou..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR break } @@ -212507,7 +218617,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+32210 /* "tokenize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+33563 /* "tokenize" */, 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+64 /* &rc */, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nArg)))) @@ -212516,7 +218626,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+32219 /* "multiple tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33572 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { @@ -212535,7 +218645,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32252 /* "parse error in t..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33605 /* "parse error in t..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } else { *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, @@ -212550,14 +218660,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+32286 /* "content" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+33639 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32294 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33647 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = 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+64 /* &rc */, ts+32326 /* "%Q.%Q" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+33679 /* "%Q.%Q" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } @@ -212565,9 +218675,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+32332 /* "content_rowid" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+33685 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32346 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33699 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, zArg, -1) @@ -212575,9 +218685,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+32384 /* "columnsize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+33737 /* "columnsize" */, 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+32395 /* "malformed column..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33748 /* "malformed column..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) @@ -212585,21 +218695,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+5536 /* "detail" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+5551 /* "detail" */, zCmd, nCmd) == 0 { *(*[4]Fts5Enum)(unsafe.Pointer(bp + 72 /* aDetail */)) = [4]Fts5Enum{ - {FzName: ts + 17192 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 17197 /* "full" */}, - {FzName: ts + 32430 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, + {FzName: ts + 17207 /* "none" */, FeVal: FTS5_DETAIL_NONE}, + {FzName: ts + 17212 /* "full" */}, + {FzName: ts + 33783 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } if libc.AssignPtrInt32(bp+64 /* rc */, fts5ConfigSetEnum(tls, bp+72 /* &aDetail[0] */, zArg, (pConfig+92 /* &.eDetail */))) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32438 /* "malformed detail..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33791 /* "malformed detail..." */, 0) } return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32469 /* "unrecognized opt..." */, libc.VaList(bp+40, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33822 /* "unrecognized opt..." */, libc.VaList(bp+40, nCmd, zCmd)) return SQLITE_ERROR } @@ -212663,15 +218773,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, defer tls.Free(32) var rc int32 = SQLITE_OK - if (0 == Xsqlite3_stricmp(tls, zCol, ts+21861 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+16110 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32497 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) + if (0 == Xsqlite3_stricmp(tls, zCol, ts+21876 /* "rank" */)) || + (0 == Xsqlite3_stricmp(tls, zCol, ts+16125 /* "rowid" */)) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33850 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) rc = SQLITE_ERROR } else if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, ts+32527 /* "unindexed" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+33880 /* "unindexed" */) { *(*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+32537 /* "unrecognized col..." */, libc.VaList(bp+16, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33890 /* "unrecognized col..." */, libc.VaList(bp+16, zArg)) rc = SQLITE_ERROR } } @@ -212689,13 +218799,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK *(*Fts5Buffer)(unsafe.Pointer(bp + 56 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+32568 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+33921 /* "T.%Q" */, 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+48 /* &rc */, bp+56 /* &buf */, ts+32573 /* ", T.%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+33926 /* ", T.%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+32580 /* ", T.c%d" */, libc.VaList(bp+32, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+33933 /* ", T.c%d" */, libc.VaList(bp+32, i)) } } } @@ -212743,8 +218853,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, *(*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 + 64 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+21861 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32588 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) + if (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+21876 /* "rank" */) == 0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33941 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } @@ -212777,7 +218887,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32617 /* "parse error in \"..." */, libc.VaList(bp+16, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33970 /* "parse error in \"..." */, libc.VaList(bp+16, zOrig)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { @@ -212785,7 +218895,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)) } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), pzErr) } else { *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 72 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)), pzErr) @@ -212810,19 +218920,19 @@ 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 + 32286 /* "content" */ + zTail = ts + 33639 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 32637 /* "docsize" */ + zTail = ts + 33990 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+64 /* &rc */, ts+32645 /* "%Q.'%q_%s'" */, libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+64 /* &rc */, ts+33998 /* "%Q.'%q_%s'" */, libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, ts+16110 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, ts+16125 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -212871,18 +218981,18 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+32656 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+34009 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { - return ts + 740 /* "" */ + return ts + 755 /* "" */ } - return ts + 14676 /* ", " */ + return ts + 14691 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+32672 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+34025 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+32679, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+32, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+21861 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+34032, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+32, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+21876 /* "rank" */)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -213022,7 +219132,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+32705 /* "pgsz" */) { + if 0 == Xsqlite3_stricmp(tls, zKey, ts+34058 /* "pgsz" */) { var pgsz int32 = 0 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -213032,7 +219142,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+32710 /* "hashsize" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34063 /* "hashsize" */) { var nHashSize int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -213042,7 +219152,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+32719 /* "automerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34072 /* "automerge" */) { var nAutomerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -213055,7 +219165,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+32729 /* "usermerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34082 /* "usermerge" */) { var nUsermerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -213065,7 +219175,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+32739 /* "crisismerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34092 /* "crisismerge" */) { var nCrisisMerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -213081,7 +219191,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+21861 /* "rank" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+21876 /* "rank" */) { var zIn uintptr = Xsqlite3_value_text(tls, pVal) // var zRank uintptr at bp, 8 @@ -213108,7 +219218,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(68) defer tls.Free(68) - var zSelect uintptr = ts + 32751 /* "SELECT k, v FROM..." */ + var zSelect uintptr = ts + 34104 /* "SELECT k, v FROM..." */ var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK @@ -213131,7 +219241,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */))) { var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)), 0) var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)), 1) - if 0 == Xsqlite3_stricmp(tls, zK, ts+32783 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+34136 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 64 /* bDummy */)) = 0 @@ -213146,7 +219256,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+32791, /* "invalid fts5 fil..." */ + ts+34144, /* "invalid fts5 fil..." */ libc.VaList(bp+24, iVersion, FTS5_CURRENT_VERSION)) } } @@ -213280,7 +219390,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+32856 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+34209 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -213293,20 +219403,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+32876 /* "fts5: syntax err..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+34229 /* "fts5: syntax err..." */, 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+32907 /* "OR" */, uint64(2)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34260 /* "OR" */, uint64(2)) == 0) { tok = FTS5_OR } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+32910 /* "NOT" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34263 /* "NOT" */, uint64(3)) == 0) { tok = FTS5_NOT } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+29656 /* "AND" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+29671 /* "AND" */, uint64(3)) == 0) { tok = FTS5_AND } break @@ -215279,9 +221389,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli bp := tls.Alloc(24) defer tls.Free(24) - if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+32914 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { + if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+34267 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { sqlite3Fts5ParseError(tls, - pParse, ts+31943 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) + pParse, ts+33296 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -215297,7 +221407,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+32919 /* "expected integer..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp)) + pParse, ts+34272 /* "expected integer..." */, 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')) @@ -215394,7 +221504,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+20244 /* "no such column: ..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+20259 /* "no such column: ..." */, libc.VaList(bp, z)) } else { pRet = fts5ParseColset(tls, pParse, pColset, iCol) } @@ -215490,7 +221600,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE { (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+32948 /* "fts5: column que..." */, 0) + ts+34301 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -215674,12 +221784,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+33001, /* "fts5: %s queries..." */ + ts+34354, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 33051 /* "phrase" */ + return ts + 34404 /* "phrase" */ } - return ts + 32914 /* "NEAR" */ + return ts + 34267 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -217152,7 +223262,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 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+33058 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34411 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) } // If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls @@ -217240,7 +223350,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 /* &.pWriter */), Xsqlite3_mprintf(tls, - ts+33064, /* "REPLACE INTO '%q..." */ + ts+34417, /* "REPLACE INTO '%q..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return @@ -217268,7 +223378,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig var zSql uintptr = Xsqlite3_mprintf(tls, - ts+33115, /* "DELETE FROM '%q'..." */ + ts+34468, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if fts5IndexPrepareStmt(tls, p, (p+72 /* &.pDeleter */), zSql) != 0 { return @@ -217292,7 +223402,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 88 /* &.pIdxDeleter */), Xsqlite3_mprintf(tls, - ts+33164, /* "DELETE FROM '%q'..." */ + ts+34517, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -217500,7 +223610,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12 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 /* &.pDataVersion */), - Xsqlite3_mprintf(tls, ts+33204 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + Xsqlite3_mprintf(tls, ts+34557 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return int64(0) } @@ -218935,7 +225045,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:2 var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 96 /* &.pIdxSelect */), Xsqlite3_mprintf(tls, - ts+33227, /* "SELECT pgno FROM..." */ + ts+34580, /* "SELECT pgno FROM..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect @@ -220192,7 +226302,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { return (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -220533,7 +226643,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 /* &.pIdxWriter */), Xsqlite3_mprintf(tls, - ts+33311, /* "INSERT INTO '%q'..." */ + ts+34664, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -221750,7 +227860,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 fts5StructureInvalidate(tls, p) fts5IndexDiscardData(tls, p) libc.Xmemset(tls, bp /* &s */, 0, uint64(unsafe.Sizeof(Fts5Structure{}))) - fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+740 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+755 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -221771,13 +227881,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { (*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT - (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+33368 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+34721 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5CreateTable(tls, - pConfig, ts+24687 /* "data" */, ts+33376 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+24702 /* "data" */, ts+34729 /* "id INTEGER PRIMA..." */, 0, pzErr) if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11559, /* "idx" */ - ts+33411, /* "segid, term, pgn..." */ + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11574, /* "idx" */ + ts+34764, /* "segid, term, pgn..." */ 1, pzErr) } if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { @@ -222083,7 +228193,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3Fts5Put32(tls, bp /* &aCookie[0] */, iNew) rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, - ts+33058 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) + ts+34411 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)), bp /* &aCookie[0] */, 4, 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */))) @@ -222220,7 +228330,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+32 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+33455, /* "SELECT segid, te..." */ + ts+34808, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. @@ -222430,7 +228540,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks } else { (*Fts5Buffer)(unsafe.Pointer(bp + 16 /* &poslist */)).Fn = 0 fts5SegiterPoslist(tls, p, ((*(*uintptr)(unsafe.Pointer(bp /* pIter */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter */)))).FaFirst+1*4)).FiFirst)*120), uintptr(0), bp+16 /* &poslist */) - sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+33541 /* "\x00\x00\x00\x00" */) + sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+34894 /* "\x00\x00\x00\x00" */) for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fn, bp+32 /* &iOff */, bp+40 /* &iPos */) { var iCol int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) >> 32)) var iTokOff int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) & int64(0x7FFFFFFF))) @@ -222841,7 +228951,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+33546 /* "recursively defi..." */, 0) + ts+34899 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -222875,7 +228985,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } else if iCol >= 0 { bSeenMatch = 1 *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('M') - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+5436 /* "%d" */, libc.VaList(bp, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+5451 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) } @@ -222891,7 +229001,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+5436 /* "%d" */, libc.VaList(bp+16, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+5451 /* "%d" */, libc.VaList(bp+16, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -223234,7 +229344,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: rc = Xsqlite3_reset(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+3615 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -223266,7 +229376,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, uint32(SQLITE_PREPARE_PERSISTENT), bp+16 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -223305,25 +229415,25 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 // // If SQLite a built-in statement cache, this wouldn't be a problem. rc = fts5PrepareStatement(tls, (pSorter /* &.pStmt */), pConfig, - ts+33585, /* "SELECT rowid, ra..." */ + ts+34938, /* "SELECT rowid, ra..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, func() uintptr { if zRankArgs != 0 { - return ts + 14676 /* ", " */ + return ts + 14691 /* ", " */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 33640 /* "DESC" */ + return ts + 34993 /* "DESC" */ } - return ts + 33645 /* "ASC" */ + return ts + 34998 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -223374,13 +229484,13 @@ 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+33649 /* "reads" */, z, n)) { + if (n == 5) && (0 == Xsqlite3_strnicmp(tls, ts+35002 /* "reads" */, 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+5518 /* "id" */, z, n)) { + } else if (n == 2) && (0 == Xsqlite3_strnicmp(tls, ts+5533 /* "id" */, z, n)) { (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { // An unrecognized directive. Return an error message. - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+33655 /* "unknown special ..." */, libc.VaList(bp, n, z)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35008 /* "unknown special ..." */, libc.VaList(bp, n, z)) rc = SQLITE_ERROR } @@ -223415,7 +229525,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+32 /* &rc */, ts+33683 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+32 /* &rc */, ts+35036 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, @@ -223447,7 +229557,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+33693 /* "no such function..." */, libc.VaList(bp+16, zRank)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35046 /* "no such function..." */, libc.VaList(bp+16, zRank)) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR } } @@ -223479,14 +229589,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin *(*int32)(unsafe.Pointer(pCsr + 80 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+33714 /* "parse error in r..." */, libc.VaList(bp, z)) + ts+35067 /* "parse error in r..." */, 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 + 32097 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33450 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -223552,7 +229662,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+33546 /* "recursively defi..." */, 0) + ts+34899 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -223598,7 +229708,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 740 /* "" */ + zText = ts + 755 /* "" */ __14: ; iCol = 0 @@ -223787,7 +229897,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+33747 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + ts+35100 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = SQLITE_ERROR goto __41 __40: @@ -223924,7 +230034,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql rc = (SQLITE_CORRUPT | (int32(1) << 8)) } else if (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+3615 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) + ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) } } } @@ -223961,29 +230071,29 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) var rc int32 = SQLITE_OK *(*int32)(unsafe.Pointer(bp /* bError */)) = 0 - if 0 == Xsqlite3_stricmp(tls, ts+33783 /* "delete-all" */, zCmd) { + if 0 == Xsqlite3_stricmp(tls, ts+35136 /* "delete-all" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { fts5SetVtabError(tls, pTab, - ts+33794 /* "'delete-all' may..." */, 0) + ts+35147 /* "'delete-all' may..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+33874 /* "rebuild" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+35227 /* "rebuild" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE { fts5SetVtabError(tls, pTab, - ts+33882 /* "'rebuild' may no..." */, 0) + ts+35235 /* "'rebuild' may no..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+16802 /* "optimize" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+16817 /* "optimize" */, zCmd) { rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) - } else if 0 == Xsqlite3_stricmp(tls, ts+33938 /* "merge" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+35291 /* "merge" */, 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+33944 /* "integrity-check" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+35297 /* "integrity-check" */, zCmd) { var iArg int32 = Xsqlite3_value_int(tls, pVal) rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg) } else { @@ -224057,7 +230167,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // A "special" INSERT op. These are handled separately. var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*8))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && - (0 == Xsqlite3_stricmp(tls, ts+17331 /* "delete" */, z)) { + (0 == Xsqlite3_stricmp(tls, ts+17346 /* "delete" */, z)) { *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*8))) @@ -224082,12 +230192,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // This is not suported. if (eType0 == SQLITE_INTEGER) && (fts5IsContentless(tls, pTab) != 0) { (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+33960, /* "cannot %s conten..." */ + ts+35313, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 20145 /* "UPDATE" */ + return ts + 20160 /* "UPDATE" */ } - return ts + 33997 /* "DELETE from" */ + return ts + 35350 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -224757,7 +230867,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+34009 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) + var zErr uintptr = Xsqlite3_mprintf(tls, ts+35362 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } else { @@ -225062,7 +231172,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+34030 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35383 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 16 /* &.x */ /* &.xCreate */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { @@ -225079,7 +231189,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg (*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = (pMod + 16 /* &.x */) if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34052 /* "error in tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35405 /* "error in tokeniz..." */, 0) } } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls, @@ -225126,7 +231236,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s var ppApi uintptr _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+34083 /* "fts5_api_ptr" */) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35436 /* "fts5_api_ptr" */) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = (pGlobal /* &.api */) } @@ -225137,7 +231247,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+34096 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, pCtx, ts+35449 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) } // Return true if zName is the extension on one of the shadow tables used @@ -225153,7 +231263,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 34187 /* "config" */, ts + 32286 /* "content" */, ts + 24687 /* "data" */, ts + 32637 /* "docsize" */, ts + 11559, /* "idx" */ + ts + 35540 /* "config" */, ts + 33639 /* "content" */, ts + 24702 /* "data" */, ts + 33990 /* "docsize" */, ts + 11574, /* "idx" */ } /* sqlite3.c:230593:21 */ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ @@ -225177,7 +231287,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ (*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+34194 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) + rc = Xsqlite3_create_module_v2(tls, db, ts+35547 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) if rc == SQLITE_OK { rc = sqlite3Fts5IndexInit(tls, db) } @@ -225195,13 +231305,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+34194 /* "fts5" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+35547 /* "fts5" */, 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+34199 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+35552 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5SourceIdFunc})), uintptr(0), uintptr(0)) } @@ -225267,20 +231377,20 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p if *(*uintptr)(unsafe.Pointer((p + 40 /* &.aStmt */) + uintptr(eStmt)*8)) == uintptr(0) { *(*[11]uintptr)(unsafe.Pointer(bp + 176 /* azStmt */)) = [11]uintptr{ - ts + 34214, /* "SELECT %s FROM %..." */ - ts + 34282, /* "SELECT %s FROM %..." */ - ts + 34351, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 35567, /* "SELECT %s FROM %..." */ + ts + 35635, /* "SELECT %s FROM %..." */ + ts + 35704, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 34384, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 34423, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 34463, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 34502, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 34543, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE + ts + 35737, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT + ts + 35776, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT + ts + 35816, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT + ts + 35855, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE + ts + 35896, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE - ts + 34582, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 35935, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 34624, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 34664, /* "SELECT %s FROM %..." */ // SCAN + ts + 35977, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG + ts + 36017, /* "SELECT %s FROM %..." */ // SCAN } var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr = uintptr(0) @@ -225347,7 +231457,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+3615 /* "%s" */, libc.VaList(bp+160, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+160, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -225385,18 +231495,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+34687, /* "DROP TABLE IF EX..." */ + ts+36040, /* "DROP TABLE IF EX..." */ 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+34791, /* "DROP TABLE IF EX..." */ + ts+36144, /* "DROP TABLE IF EX..." */ libc.VaList(bp+56, (*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+34829, /* "DROP TABLE IF EX..." */ + ts+36182, /* "DROP TABLE IF EX..." */ libc.VaList(bp+80, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc @@ -225408,7 +231518,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+34867, /* "ALTER TABLE %Q.'..." */ + ts+36220, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -225420,14 +231530,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp /* rc */)) = sqlite3Fts5StorageSync(tls, pStorage) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+24687 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+11559 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+34187 /* "config" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+24702 /* "data" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+11574 /* "idx" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+35540 /* "config" */, zName) if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32637 /* "docsize" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+33990 /* "docsize" */, zName) } if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32286 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+33639 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -225441,17 +231551,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn var rc int32 *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+80 /* &zErr */, ts+34909, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+80 /* &zErr */, ts+36262, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { - return ts + 29302 /* " WITHOUT ROWID" */ + return ts + 29317 /* " WITHOUT ROWID" */ } - return ts + 740 /* "" */ + return ts + 755 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+34939, /* "fts5: error crea..." */ + ts+36292, /* "fts5: error crea..." */ libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */))) } @@ -225493,27 +231603,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+34983 /* "id INTEGER PRIMA..." */, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36336 /* "id INTEGER PRIMA..." */, 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+35006 /* ", c%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, (nDefn - iOff), (zDefn + uintptr(iOff)), ts+36359 /* ", c%d" */, libc.VaList(bp, i)) iOff = iOff + (int32(libc.Xstrlen(tls, (zDefn + uintptr(iOff))))) } - rc = sqlite3Fts5CreateTable(tls, pConfig, ts+32286 /* "content" */, zDefn, 0, pzErr) + rc = sqlite3Fts5CreateTable(tls, pConfig, ts+33639 /* "content" */, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+32637 /* "docsize" */, ts+35012 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+33990 /* "docsize" */, ts+36365 /* "id INTEGER PRIMA..." */, 0, pzErr) } if rc == SQLITE_OK { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+34187 /* "config" */, ts+35044 /* "k PRIMARY KEY, v" */, 1, pzErr) + pConfig, ts+35540 /* "config" */, ts+36397 /* "k PRIMARY KEY, v" */, 1, pzErr) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+32783 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34136 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -225750,12 +231860,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: // Delete the contents of the %_data and %_docsize tables. rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+35061, /* "DELETE FROM %Q.'..." */ + ts+36414, /* "DELETE FROM %Q.'..." */ 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+35111, /* "DELETE FROM %Q.'..." */ + ts+36464, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -225765,7 +231875,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+32783 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34136 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -225960,7 +232070,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+35140, /* "SELECT count(*) ..." */ + zSql = Xsqlite3_mprintf(tls, ts+36493, /* "SELECT count(*) ..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -226157,14 +232267,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // number of rows. if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { *(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+32286 /* "content" */, bp+48 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+33639 /* "content" */, bp+48 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) != (*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 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+32637 /* "docsize" */, bp+56 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+33990 /* "docsize" */, bp+56 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 56 /* nRow */)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) } @@ -226400,9 +232510,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, libc.Xmemcpy(tls, p /* &.aTokenChar */, 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+35172 /* "tokenchars" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36525 /* "tokenchars" */) { fts5AsciiAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35183 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36536 /* "separators" */) { fts5AsciiAddExceptions(tls, p, zArg, 0) } else { rc = SQLITE_ERROR @@ -226642,7 +232752,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 + 35194 /* "L* N* Co" */ + var zCat uintptr = ts + 36547 /* "L* N* Co" */ var i int32 libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{}))) @@ -226655,7 +232765,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Search for a "categories" argument for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35203 /* "categories" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36556 /* "categories" */) { zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*8)) } } @@ -226666,18 +232776,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+35214 /* "remove_diacritic..." */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36567 /* "remove_diacritic..." */) { 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+35172 /* "tokenchars" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36525 /* "tokenchars" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35183 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36536 /* "separators" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 0) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35203 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36556 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -226989,7 +233099,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 /* pUserdata */)) = uintptr(0) - var zBase uintptr = ts + 35232 /* "unicode61" */ + var zBase uintptr = ts + 36585 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -227142,7 +233252,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35242 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+36595 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -227150,11 +233260,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35245 /* "ance" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+36598 /* "ance" */, (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+35250 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+36603 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -227162,7 +233272,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35255 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+36608 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -227170,7 +233280,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35258 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+36611 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -227178,11 +233288,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35261 /* "able" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+36614 /* "able" */, (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+35266 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+36619 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -227190,19 +233300,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35271 /* "ant" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36624 /* "ant" */, (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+35275 /* "ement" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+36628 /* "ement" */, (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+35281 /* "ment" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+36634 /* "ment" */, (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+35286 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36639 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -227210,11 +233320,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35290 /* "ion" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36643 /* "ion" */, (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+35294 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+36647 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -227222,7 +233332,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35297 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36650 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -227230,11 +233340,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35301 /* "ate" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36654 /* "ate" */, (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+35305 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36658 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -227242,7 +233352,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35309 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36662 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -227250,7 +233360,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35313 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36666 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -227258,7 +233368,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35317 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36670 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -227275,24 +233385,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35321 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35301 /* "ate" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+36674 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+36654 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'b': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35324 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35327 /* "ble" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+36677 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+36680 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35331 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35317 /* "ize" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+36684 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+36670 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } @@ -227308,137 +233418,137 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35334 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+36687 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35301 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+36654 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+35342 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+36695 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+35349 /* "tion" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+36702 /* "tion" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 4) } } break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35354 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+36707 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35250 /* "ence" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+36603 /* "ence" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35359 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+36712 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35245 /* "ance" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+36598 /* "ance" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } } break case 'e': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35364 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+36717 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35317 /* "ize" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+36670 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'g': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35369 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+36722 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+16131 /* "log" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+16146 /* "log" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'l': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35374 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36727 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35327 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+36680 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35378 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+36731 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35242 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+36595 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35383 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+36736 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35286 /* "ent" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+36639 /* "ent" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35389 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36742 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35393 /* "e" */, uint64(1)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+36746 /* "e" */, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 1) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35395 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+36748 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35309 /* "ous" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+36662 /* "ous" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } } break case 'o': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35401 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+36754 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35317 /* "ize" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+36670 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35409 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+36762 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35301 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+36654 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35415 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+36768 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35301 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+36654 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 's': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35420 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+36773 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35242 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+36595 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35426 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+36779 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35313 /* "ive" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+36666 /* "ive" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35434 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+36787 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35442 /* "ful" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+36795 /* "ful" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+35446 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+36799 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+35309 /* "ous" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+36662 /* "ous" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } } break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35454 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+36807 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35242 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+36595 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35460 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+36813 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35313 /* "ive" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+36666 /* "ive" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+35466 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+36819 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+35327 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+36680 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -227454,16 +233564,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35473 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+36826 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+35258 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+36611 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } } break case 's': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35478 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+36831 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -227471,21 +233581,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35483 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+36836 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35258 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+36611 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35489 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+36842 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35258 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+36611 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35442 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36795 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -227493,7 +233603,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35495 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+36848 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 5) } @@ -227501,9 +233611,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35501 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+36854 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35242 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+36595 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -227519,12 +233629,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'e': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35507 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36860 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+35511 /* "ee" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+36864 /* "ee" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 2) } - } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35514 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+36867 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) ret = 1 @@ -227533,7 +233643,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35517 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+36870 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) ret = 1 @@ -227703,7 +233813,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+35521 /* "case_sensitive" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36874 /* "case_sensitive" */) { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { @@ -227893,22 +234003,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: defer tls.Free(128) *(*[4]BuiltinTokenizer)(unsafe.Pointer(bp /* aBuiltin */)) = [4]BuiltinTokenizer{ - {FzName: ts + 35232 /* "unicode61" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 36585 /* "unicode61" */, 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 + 35536 /* "ascii" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 36889 /* "ascii" */, 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 + 35542 /* "porter" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 36895 /* "porter" */, 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 + 35549 /* "trigram" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 36902 /* "trigram" */, 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 @@ -229255,14 +235365,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+16 /* &rc */, zType, -1) if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, ts+35557 /* "col" */) == 0 { + if Xsqlite3_stricmp(tls, zCopy, ts+36910 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL - } else if Xsqlite3_stricmp(tls, zCopy, ts+35561 /* "row" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+36914 /* "row" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW - } else if Xsqlite3_stricmp(tls, zCopy, ts+35565 /* "instance" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+36918 /* "instance" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35574 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+36927 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) @@ -229309,19 +235419,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv defer tls.Free(36) *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azSchema */)) = [3]uintptr{ - ts + 35608, /* "CREATE TABlE voc..." */ - ts + 35648, /* "CREATE TABlE voc..." */ - ts + 35683, /* "CREATE TABlE voc..." */ + ts + 36961, /* "CREATE TABlE voc..." */ + ts + 37001, /* "CREATE TABlE voc..." */ + ts + 37036, /* "CREATE TABlE voc..." */ } var pRet uintptr = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK // Return code var bDb int32 - bDb = (libc.Bool32(((argc == 6) && (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4))) && (libc.Xmemcmp(tls, ts+22989 /* "temp" */, *(*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+23004 /* "temp" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0))) if (argc != 5) && (bDb == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35726 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37079 /* "wrong number of ..." */, 0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR } else { var nByte int32 // Bytes of space to allocate @@ -229473,11 +235583,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+35759 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+37112 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } zSql = sqlite3Fts5Mprintf(tls, bp+88, /* &rc */ - ts+35790, /* "SELECT t.%Q FROM..." */ + ts+37143, /* "SELECT t.%Q FROM..." */ libc.VaList(bp+24, (*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 + 88 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+96 /* &pStmt */, uintptr(0)) @@ -229501,7 +235611,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+35841 /* "no such fts5 tab..." */, libc.VaList(bp+64, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+37194 /* "no such fts5 tab..." */, libc.VaList(bp+64, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_ERROR } } else { @@ -229789,7 +235899,7 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused if pLe != 0 { var zCopy uintptr = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = ts + 740 /* "" */ + zCopy = ts + 755 /* "" */ } (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm + 1)) @@ -229906,7 +236016,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:235171:12: */ var p uintptr = pGlobal - return Xsqlite3_create_module_v2(tls, db, ts+35867 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, ts+37220 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } var fts5Vocab = Sqlite3_module{ @@ -229951,7 +236061,7 @@ var fts5Vocab = Sqlite3_module{ //************* End of stmt.c *********************************************** // Return the source-id for this library func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:235516:23: */ - return ts + 35877 /* "2021-06-18 18:36..." */ + return ts + 37230 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -230929,5 +237039,5 @@ func init() { *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 160 /* .xNextSystemCall */)) = winNextSystemCall // sqlite3.c:48390:5: } -var ts1 = "COMPILER=msvc-1900\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\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\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing 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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\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\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\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: \"%.*s\"\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=msvc-1900\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\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\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00SorterNext\x00Prev\x00Next\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00Not\x00IfNot\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00IdxLE\x00IdxGT\x00IdxLT\x00IdxGE\x00RowSetRead\x00Or\x00And\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IfNotZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Init\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00ChngCntRow\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00OpenWrite\x00OpenDup\x00OpenAutoindex\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenEphemeral\x00BitNot\x00SorterOpen\x00SequenceTest\x00String8\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\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Real\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\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\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%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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%s\x00generated column loop on \"%s\"\x00misuse of aggregate: %s()\x00unknown function: %s()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00log\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing 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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\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\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00MULTI-INDEX OR\x00INDEX %d\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\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\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: \"%.*s\"\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/libtest/capi_darwin_amd64.go b/libtest/capi_darwin_amd64.go index ba60150..fba4ba5 100644 --- a/libtest/capi_darwin_amd64.go +++ b/libtest/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 -pkgname sqlite3 -o libtest/sqlite_darwin_amd64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 -pkgname sqlite3 -o libtest/sqlite_darwin_amd64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. package sqlite3 @@ -1284,6 +1284,32 @@ var CAPI = map[string]struct{}{ "sqlite3aEQb": {}, "sqlite3aGTb": {}, "sqlite3aLTb": {}, + "sqlite3changegroup_add": {}, + "sqlite3changegroup_add_strm": {}, + "sqlite3changegroup_delete": {}, + "sqlite3changegroup_new": {}, + "sqlite3changegroup_output": {}, + "sqlite3changegroup_output_strm": {}, + "sqlite3changeset_apply": {}, + "sqlite3changeset_apply_strm": {}, + "sqlite3changeset_apply_v2": {}, + "sqlite3changeset_apply_v2_strm": {}, + "sqlite3changeset_concat": {}, + "sqlite3changeset_concat_strm": {}, + "sqlite3changeset_conflict": {}, + "sqlite3changeset_finalize": {}, + "sqlite3changeset_fk_conflicts": {}, + "sqlite3changeset_invert": {}, + "sqlite3changeset_invert_strm": {}, + "sqlite3changeset_new": {}, + "sqlite3changeset_next": {}, + "sqlite3changeset_old": {}, + "sqlite3changeset_op": {}, + "sqlite3changeset_pk": {}, + "sqlite3changeset_start": {}, + "sqlite3changeset_start_strm": {}, + "sqlite3changeset_start_v2": {}, + "sqlite3changeset_start_v2_strm": {}, "sqlite3rbu_bp_progress": {}, "sqlite3rbu_close": {}, "sqlite3rbu_create_vfs": {}, @@ -1297,4 +1323,25 @@ var CAPI = map[string]struct{}{ "sqlite3rbu_temp_size": {}, "sqlite3rbu_temp_size_limit": {}, "sqlite3rbu_vacuum": {}, + "sqlite3rebaser_configure": {}, + "sqlite3rebaser_create": {}, + "sqlite3rebaser_delete": {}, + "sqlite3rebaser_rebase": {}, + "sqlite3rebaser_rebase_strm": {}, + "sqlite3session_attach": {}, + "sqlite3session_changeset": {}, + "sqlite3session_changeset_size": {}, + "sqlite3session_changeset_strm": {}, + "sqlite3session_config": {}, + "sqlite3session_create": {}, + "sqlite3session_delete": {}, + "sqlite3session_diff": {}, + "sqlite3session_enable": {}, + "sqlite3session_indirect": {}, + "sqlite3session_isempty": {}, + "sqlite3session_memory_used": {}, + "sqlite3session_object_config": {}, + "sqlite3session_patchset": {}, + "sqlite3session_patchset_strm": {}, + "sqlite3session_table_filter": {}, } diff --git a/libtest/capi_linux_386.go b/libtest/capi_linux_386.go index 957c783..8d896a0 100644 --- a/libtest/capi_linux_386.go +++ b/libtest/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 -pkgname sqlite3 -o libtest/sqlite_linux_386.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -pkgname sqlite3 -o libtest/sqlite_linux_386.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP', DO NOT EDIT. package sqlite3 @@ -1283,6 +1283,32 @@ var CAPI = map[string]struct{}{ "sqlite3aEQb": {}, "sqlite3aGTb": {}, "sqlite3aLTb": {}, + "sqlite3changegroup_add": {}, + "sqlite3changegroup_add_strm": {}, + "sqlite3changegroup_delete": {}, + "sqlite3changegroup_new": {}, + "sqlite3changegroup_output": {}, + "sqlite3changegroup_output_strm": {}, + "sqlite3changeset_apply": {}, + "sqlite3changeset_apply_strm": {}, + "sqlite3changeset_apply_v2": {}, + "sqlite3changeset_apply_v2_strm": {}, + "sqlite3changeset_concat": {}, + "sqlite3changeset_concat_strm": {}, + "sqlite3changeset_conflict": {}, + "sqlite3changeset_finalize": {}, + "sqlite3changeset_fk_conflicts": {}, + "sqlite3changeset_invert": {}, + "sqlite3changeset_invert_strm": {}, + "sqlite3changeset_new": {}, + "sqlite3changeset_next": {}, + "sqlite3changeset_old": {}, + "sqlite3changeset_op": {}, + "sqlite3changeset_pk": {}, + "sqlite3changeset_start": {}, + "sqlite3changeset_start_strm": {}, + "sqlite3changeset_start_v2": {}, + "sqlite3changeset_start_v2_strm": {}, "sqlite3rbu_bp_progress": {}, "sqlite3rbu_close": {}, "sqlite3rbu_create_vfs": {}, @@ -1296,4 +1322,25 @@ var CAPI = map[string]struct{}{ "sqlite3rbu_temp_size": {}, "sqlite3rbu_temp_size_limit": {}, "sqlite3rbu_vacuum": {}, + "sqlite3rebaser_configure": {}, + "sqlite3rebaser_create": {}, + "sqlite3rebaser_delete": {}, + "sqlite3rebaser_rebase": {}, + "sqlite3rebaser_rebase_strm": {}, + "sqlite3session_attach": {}, + "sqlite3session_changeset": {}, + "sqlite3session_changeset_size": {}, + "sqlite3session_changeset_strm": {}, + "sqlite3session_config": {}, + "sqlite3session_create": {}, + "sqlite3session_delete": {}, + "sqlite3session_diff": {}, + "sqlite3session_enable": {}, + "sqlite3session_indirect": {}, + "sqlite3session_isempty": {}, + "sqlite3session_memory_used": {}, + "sqlite3session_object_config": {}, + "sqlite3session_patchset": {}, + "sqlite3session_patchset_strm": {}, + "sqlite3session_table_filter": {}, } diff --git a/libtest/capi_linux_amd64.go b/libtest/capi_linux_amd64.go index f81ff26..381818f 100644 --- a/libtest/capi_linux_amd64.go +++ b/libtest/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 -pkgname sqlite3 -o libtest/sqlite_linux_amd64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -pkgname sqlite3 -o libtest/sqlite_linux_amd64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1', DO NOT EDIT. package sqlite3 @@ -1284,6 +1284,32 @@ var CAPI = map[string]struct{}{ "sqlite3aEQb": {}, "sqlite3aGTb": {}, "sqlite3aLTb": {}, + "sqlite3changegroup_add": {}, + "sqlite3changegroup_add_strm": {}, + "sqlite3changegroup_delete": {}, + "sqlite3changegroup_new": {}, + "sqlite3changegroup_output": {}, + "sqlite3changegroup_output_strm": {}, + "sqlite3changeset_apply": {}, + "sqlite3changeset_apply_strm": {}, + "sqlite3changeset_apply_v2": {}, + "sqlite3changeset_apply_v2_strm": {}, + "sqlite3changeset_concat": {}, + "sqlite3changeset_concat_strm": {}, + "sqlite3changeset_conflict": {}, + "sqlite3changeset_finalize": {}, + "sqlite3changeset_fk_conflicts": {}, + "sqlite3changeset_invert": {}, + "sqlite3changeset_invert_strm": {}, + "sqlite3changeset_new": {}, + "sqlite3changeset_next": {}, + "sqlite3changeset_old": {}, + "sqlite3changeset_op": {}, + "sqlite3changeset_pk": {}, + "sqlite3changeset_start": {}, + "sqlite3changeset_start_strm": {}, + "sqlite3changeset_start_v2": {}, + "sqlite3changeset_start_v2_strm": {}, "sqlite3rbu_bp_progress": {}, "sqlite3rbu_close": {}, "sqlite3rbu_create_vfs": {}, @@ -1297,4 +1323,25 @@ var CAPI = map[string]struct{}{ "sqlite3rbu_temp_size": {}, "sqlite3rbu_temp_size_limit": {}, "sqlite3rbu_vacuum": {}, + "sqlite3rebaser_configure": {}, + "sqlite3rebaser_create": {}, + "sqlite3rebaser_delete": {}, + "sqlite3rebaser_rebase": {}, + "sqlite3rebaser_rebase_strm": {}, + "sqlite3session_attach": {}, + "sqlite3session_changeset": {}, + "sqlite3session_changeset_size": {}, + "sqlite3session_changeset_strm": {}, + "sqlite3session_config": {}, + "sqlite3session_create": {}, + "sqlite3session_delete": {}, + "sqlite3session_diff": {}, + "sqlite3session_enable": {}, + "sqlite3session_indirect": {}, + "sqlite3session_isempty": {}, + "sqlite3session_memory_used": {}, + "sqlite3session_object_config": {}, + "sqlite3session_patchset": {}, + "sqlite3session_patchset_strm": {}, + "sqlite3session_table_filter": {}, } diff --git a/libtest/capi_linux_arm.go b/libtest/capi_linux_arm.go index fa74d28..66b3c15 100644 --- a/libtest/capi_linux_arm.go +++ b/libtest/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 -pkgname sqlite3 -o libtest/sqlite_linux_arm.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -pkgname sqlite3 -o libtest/sqlite_linux_arm.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP', DO NOT EDIT. package sqlite3 @@ -1283,6 +1283,32 @@ var CAPI = map[string]struct{}{ "sqlite3aEQb": {}, "sqlite3aGTb": {}, "sqlite3aLTb": {}, + "sqlite3changegroup_add": {}, + "sqlite3changegroup_add_strm": {}, + "sqlite3changegroup_delete": {}, + "sqlite3changegroup_new": {}, + "sqlite3changegroup_output": {}, + "sqlite3changegroup_output_strm": {}, + "sqlite3changeset_apply": {}, + "sqlite3changeset_apply_strm": {}, + "sqlite3changeset_apply_v2": {}, + "sqlite3changeset_apply_v2_strm": {}, + "sqlite3changeset_concat": {}, + "sqlite3changeset_concat_strm": {}, + "sqlite3changeset_conflict": {}, + "sqlite3changeset_finalize": {}, + "sqlite3changeset_fk_conflicts": {}, + "sqlite3changeset_invert": {}, + "sqlite3changeset_invert_strm": {}, + "sqlite3changeset_new": {}, + "sqlite3changeset_next": {}, + "sqlite3changeset_old": {}, + "sqlite3changeset_op": {}, + "sqlite3changeset_pk": {}, + "sqlite3changeset_start": {}, + "sqlite3changeset_start_strm": {}, + "sqlite3changeset_start_v2": {}, + "sqlite3changeset_start_v2_strm": {}, "sqlite3rbu_bp_progress": {}, "sqlite3rbu_close": {}, "sqlite3rbu_create_vfs": {}, @@ -1296,4 +1322,25 @@ var CAPI = map[string]struct{}{ "sqlite3rbu_temp_size": {}, "sqlite3rbu_temp_size_limit": {}, "sqlite3rbu_vacuum": {}, + "sqlite3rebaser_configure": {}, + "sqlite3rebaser_create": {}, + "sqlite3rebaser_delete": {}, + "sqlite3rebaser_rebase": {}, + "sqlite3rebaser_rebase_strm": {}, + "sqlite3session_attach": {}, + "sqlite3session_changeset": {}, + "sqlite3session_changeset_size": {}, + "sqlite3session_changeset_strm": {}, + "sqlite3session_config": {}, + "sqlite3session_create": {}, + "sqlite3session_delete": {}, + "sqlite3session_diff": {}, + "sqlite3session_enable": {}, + "sqlite3session_indirect": {}, + "sqlite3session_isempty": {}, + "sqlite3session_memory_used": {}, + "sqlite3session_object_config": {}, + "sqlite3session_patchset": {}, + "sqlite3session_patchset_strm": {}, + "sqlite3session_table_filter": {}, } diff --git a/libtest/capi_linux_arm64.go b/libtest/capi_linux_arm64.go index fe90239..a517336 100644 --- a/libtest/capi_linux_arm64.go +++ b/libtest/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 -pkgname sqlite3 -o libtest/sqlite_linux_arm64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -pkgname sqlite3 -o libtest/sqlite_linux_arm64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP', DO NOT EDIT. package sqlite3 @@ -1283,6 +1283,32 @@ var CAPI = map[string]struct{}{ "sqlite3aEQb": {}, "sqlite3aGTb": {}, "sqlite3aLTb": {}, + "sqlite3changegroup_add": {}, + "sqlite3changegroup_add_strm": {}, + "sqlite3changegroup_delete": {}, + "sqlite3changegroup_new": {}, + "sqlite3changegroup_output": {}, + "sqlite3changegroup_output_strm": {}, + "sqlite3changeset_apply": {}, + "sqlite3changeset_apply_strm": {}, + "sqlite3changeset_apply_v2": {}, + "sqlite3changeset_apply_v2_strm": {}, + "sqlite3changeset_concat": {}, + "sqlite3changeset_concat_strm": {}, + "sqlite3changeset_conflict": {}, + "sqlite3changeset_finalize": {}, + "sqlite3changeset_fk_conflicts": {}, + "sqlite3changeset_invert": {}, + "sqlite3changeset_invert_strm": {}, + "sqlite3changeset_new": {}, + "sqlite3changeset_next": {}, + "sqlite3changeset_old": {}, + "sqlite3changeset_op": {}, + "sqlite3changeset_pk": {}, + "sqlite3changeset_start": {}, + "sqlite3changeset_start_strm": {}, + "sqlite3changeset_start_v2": {}, + "sqlite3changeset_start_v2_strm": {}, "sqlite3rbu_bp_progress": {}, "sqlite3rbu_close": {}, "sqlite3rbu_create_vfs": {}, @@ -1296,4 +1322,25 @@ var CAPI = map[string]struct{}{ "sqlite3rbu_temp_size": {}, "sqlite3rbu_temp_size_limit": {}, "sqlite3rbu_vacuum": {}, + "sqlite3rebaser_configure": {}, + "sqlite3rebaser_create": {}, + "sqlite3rebaser_delete": {}, + "sqlite3rebaser_rebase": {}, + "sqlite3rebaser_rebase_strm": {}, + "sqlite3session_attach": {}, + "sqlite3session_changeset": {}, + "sqlite3session_changeset_size": {}, + "sqlite3session_changeset_strm": {}, + "sqlite3session_config": {}, + "sqlite3session_create": {}, + "sqlite3session_delete": {}, + "sqlite3session_diff": {}, + "sqlite3session_enable": {}, + "sqlite3session_indirect": {}, + "sqlite3session_isempty": {}, + "sqlite3session_memory_used": {}, + "sqlite3session_object_config": {}, + "sqlite3session_patchset": {}, + "sqlite3session_patchset_strm": {}, + "sqlite3session_table_filter": {}, } diff --git a/libtest/capi_windows_amd64.go b/libtest/capi_windows_amd64.go index 3fccdbe..8fbda98 100644 --- a/libtest/capi_windows_amd64.go +++ b/libtest/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 -pkgname sqlite3 -o libtest/sqlite_windows_amd64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 -pkgname sqlite3 -o libtest/sqlite_windows_amd64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT. package sqlite3 @@ -1301,6 +1301,32 @@ var CAPI = map[string]struct{}{ "sqlite3aEQb": {}, "sqlite3aGTb": {}, "sqlite3aLTb": {}, + "sqlite3changegroup_add": {}, + "sqlite3changegroup_add_strm": {}, + "sqlite3changegroup_delete": {}, + "sqlite3changegroup_new": {}, + "sqlite3changegroup_output": {}, + "sqlite3changegroup_output_strm": {}, + "sqlite3changeset_apply": {}, + "sqlite3changeset_apply_strm": {}, + "sqlite3changeset_apply_v2": {}, + "sqlite3changeset_apply_v2_strm": {}, + "sqlite3changeset_concat": {}, + "sqlite3changeset_concat_strm": {}, + "sqlite3changeset_conflict": {}, + "sqlite3changeset_finalize": {}, + "sqlite3changeset_fk_conflicts": {}, + "sqlite3changeset_invert": {}, + "sqlite3changeset_invert_strm": {}, + "sqlite3changeset_new": {}, + "sqlite3changeset_next": {}, + "sqlite3changeset_old": {}, + "sqlite3changeset_op": {}, + "sqlite3changeset_pk": {}, + "sqlite3changeset_start": {}, + "sqlite3changeset_start_strm": {}, + "sqlite3changeset_start_v2": {}, + "sqlite3changeset_start_v2_strm": {}, "sqlite3rbu_bp_progress": {}, "sqlite3rbu_close": {}, "sqlite3rbu_create_vfs": {}, @@ -1314,6 +1340,27 @@ var CAPI = map[string]struct{}{ "sqlite3rbu_temp_size": {}, "sqlite3rbu_temp_size_limit": {}, "sqlite3rbu_vacuum": {}, + "sqlite3rebaser_configure": {}, + "sqlite3rebaser_create": {}, + "sqlite3rebaser_delete": {}, + "sqlite3rebaser_rebase": {}, + "sqlite3rebaser_rebase_strm": {}, + "sqlite3session_attach": {}, + "sqlite3session_changeset": {}, + "sqlite3session_changeset_size": {}, + "sqlite3session_changeset_strm": {}, + "sqlite3session_config": {}, + "sqlite3session_create": {}, + "sqlite3session_delete": {}, + "sqlite3session_diff": {}, + "sqlite3session_enable": {}, + "sqlite3session_indirect": {}, + "sqlite3session_isempty": {}, + "sqlite3session_memory_used": {}, + "sqlite3session_object_config": {}, + "sqlite3session_patchset": {}, + "sqlite3session_patchset_strm": {}, + "sqlite3session_table_filter": {}, "timezone": {}, "tzname": {}, } diff --git a/libtest/sqlite_darwin_amd64.go b/libtest/sqlite_darwin_amd64.go index fb4531c..edc52d8 100644 --- a/libtest/sqlite_darwin_amd64.go +++ b/libtest/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 "" -pkgname sqlite3 -o libtest/sqlite_darwin_amd64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 "" -pkgname sqlite3 -o libtest/sqlite_darwin_amd64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. package sqlite3 @@ -1809,6 +1809,9 @@ const ( SEGV_MAPERR = 1 SEGV_NOOP = 0 SELECTTRACE_ENABLED = 0 + SESSIONS_STRM_CHUNK_SIZE = 64 + SESSION_MAX_BUFFER_SZ = 2147483391 + SESSION_UPDATE_CACHE_SZ = 12 SF_APPEND = 0x00040000 SF_ARCHIVED = 0x00010000 SF_Aggregate = 0x0000008 @@ -1959,6 +1962,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -2122,6 +2136,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_STMTVTAB = 1 @@ -2493,6 +2508,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -4323,7 +4340,7 @@ type X__float128 = float64 /* :47:21 */ // This array looks large, but in a typical installation actually uses // only a handful of compile-time options, so most times this array is usually // rather short and uses little memory space. -var sqlite3azCompileOpt = [27]uintptr{ +var sqlite3azCompileOpt = [28]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl ts, /* "COMPILER=gcc-11...." */ @@ -4342,17 +4359,18 @@ var sqlite3azCompileOpt = [27]uintptr{ ts + 257, /* "ENABLE_PREUPDATE..." */ ts + 279, /* "ENABLE_RBU" */ ts + 290, /* "ENABLE_RTREE" */ - ts + 303, /* "ENABLE_SNAPSHOT" */ - ts + 319, /* "ENABLE_STAT4" */ - ts + 332, /* "ENABLE_STMTVTAB" */ - ts + 348, /* "ENABLE_UNLOCK_NO..." */ - ts + 369, /* "LIKE_DOESNT_MATC..." */ - ts + 393, /* "MUTEX_NOOP" */ - ts + 404, /* "SOUNDEX" */ - ts + 412, /* "SYSTEM_MALLOC" */ - ts + 426, /* "TEMP_STORE=1" */ - ts + 439, /* "TEST" */ - ts + 444, /* "THREADSAFE=1" */ + ts + 303, /* "ENABLE_SESSION" */ + ts + 318, /* "ENABLE_SNAPSHOT" */ + ts + 334, /* "ENABLE_STAT4" */ + ts + 347, /* "ENABLE_STMTVTAB" */ + ts + 363, /* "ENABLE_UNLOCK_NO..." */ + ts + 384, /* "LIKE_DOESNT_MATC..." */ + ts + 408, /* "MUTEX_NOOP" */ + ts + 419, /* "SOUNDEX" */ + ts + 427, /* "SYSTEM_MALLOC" */ + ts + 441, /* "TEMP_STORE=1" */ + ts + 454, /* "TEST" */ + ts + 459, /* "THREADSAFE=1" */ // END CODE GENERATED BY tool/mkctime.tcl } /* sqlite3.c:72:19 */ @@ -4668,7 +4686,7 @@ type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ // of the hash might be different from [SQLITE_SOURCE_ID].)^ // // See also: [sqlite_version()] and [sqlite_source_id()]. -var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 457 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ +var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 472 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -7219,6 +7237,495 @@ type Sqlite3_rtree_dbl = float64 /* sqlite3.c:11048:18 */ //******* End of sqlite3rtree.h ******** //******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type sqlite3_session = struct { + Fdb uintptr + FzDb uintptr + FbEnableSize int32 + FbEnable int32 + FbIndirect int32 + FbAutoAttach int32 + Frc int32 + _ [4]byte + FpFilterCtx uintptr + FxTableFilter uintptr + FnMalloc I64 + FnMaxChangesetSize I64 + FpZeroBlob uintptr + FpNext uintptr + FpTable uintptr + Fhook SessionHook +} /* sqlite3.c:11155:9 */ + +// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. + +//******* End of sqlite3rtree.h ******** +//******* Begin file sqlite3session.h ******** + +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type sqlite3_changeset_iter = struct { + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + _ [4]byte + FabPK uintptr + FapValue uintptr +} /* sqlite3.c:11163:9 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type Sqlite3_changeset_iter = sqlite3_changeset_iter /* sqlite3.c:11163:39 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type sqlite3_changegroup = struct { + Frc int32 + FbPatch int32 + FpList uintptr +} /* sqlite3.c:12015:9 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type Sqlite3_changegroup = sqlite3_changegroup /* sqlite3.c:12015:36 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type sqlite3_rebaser = struct{ Fgrp Sqlite3_changegroup } /* sqlite3.c:12579:9 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ + +// CAPI3REF: Values for sqlite3session_config(). + +// Make sure we can call this stuff from C++. + //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** // 2014 May 31 @@ -7269,10 +7776,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.c:12895:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -16356,7 +16862,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 464 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 479 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -17559,7 +18065,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+471 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+486 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { goto __9 } return 1 @@ -17596,13 +18102,13 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 // var s int32 at bp+32, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+479 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+494 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+487 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+502 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -17721,7 +18227,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+491 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+506 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -17802,7 +18308,7 @@ func parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) i return 0 } else if parseHhMmSs(tls, zDate, p) == 0 { return 0 - } else if (Xsqlite3StrICmp(tls, zDate, ts+503 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { + } else if (Xsqlite3StrICmp(tls, zDate, ts+518 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { return setDateTimeToCurrent(tls, context, p) } else if Xsqlite3AtoF(tls, zDate, bp /* &r */, Xsqlite3Strlen30(tls, zDate), uint8(SQLITE_UTF8)) > 0 { setRawDateNumber(tls, p, *(*float64)(unsafe.Pointer(bp /* r */))) @@ -17984,7 +18490,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite computeJD(tls, bp+56 /* &x */) *(*Time_t)(unsafe.Pointer(bp + 104 /* t */)) = (Time_t(((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000)))) if osLocaltime(tls, bp+104 /* &t */, bp /* &sLocal */) != 0 { - Xsqlite3_result_error(tls, pCtx, ts+507 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+522 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -18019,12 +18525,12 @@ var aXformType = [6]struct { FrLimit float64 FrXform float64 }{ - {FnName: U8(6), FzName: ts + 530 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, - {FnName: U8(6), FzName: ts + 537 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, - {FnName: U8(4), FzName: ts + 544 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, - {FnName: U8(3), FzName: ts + 549 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, - {FeType: U8(1), FnName: U8(5), FzName: ts + 553 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, - {FeType: U8(2), FnName: U8(4), FzName: ts + 559 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, + {FnName: U8(6), FzName: ts + 545 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, + {FnName: U8(6), FzName: ts + 552 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, + {FnName: U8(4), FzName: ts + 559 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, + {FnName: U8(3), FzName: ts + 564 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, + {FeType: U8(1), FnName: U8(5), FzName: ts + 568 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, + {FeType: U8(2), FnName: U8(4), FzName: ts + 574 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, } /* sqlite3.c:22795:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -18063,7 +18569,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Assuming the current time value is UTC (a.k.a. GMT), shift it to // show local time. - if (Xsqlite3_stricmp(tls, z, ts+564 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + if (Xsqlite3_stricmp(tls, z, ts+579 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { computeJD(tls, p) *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (localtimeOffset(tls, p, pCtx, bp /* &rc */)) clearYMD_HMS_TZ(tls, p) @@ -18077,7 +18583,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Treat the current value of p->s as the number of // seconds since 1970. Convert to a real julian day number. - if (Xsqlite3_stricmp(tls, z, ts+574 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { + if (Xsqlite3_stricmp(tls, z, ts+589 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) @@ -18086,7 +18592,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+584 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + } else if (Xsqlite3_stricmp(tls, z, ts+599 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { if int32((*DateTime)(unsafe.Pointer(p)).FtzSet) == 0 { var c1 Sqlite3_int64 computeJD(tls, p) @@ -18111,7 +18617,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // Move the date to the same time on the next occurrence of // weekday N where 0==Sunday, 1==Monday, and so forth. If the // date is already on the appropriate weekday, this is a no-op. - if ((((Xsqlite3_strnicmp(tls, z, ts+588 /* "weekday " */, 8) == 0) && + if ((((Xsqlite3_strnicmp(tls, z, ts+603 /* "weekday " */, 8) == 0) && (Xsqlite3AtoF(tls, (z+8), bp+8 /* &r */, Xsqlite3Strlen30(tls, (z+8)), uint8(SQLITE_UTF8)) > 0)) && ((float64(libc.AssignInt32(&n, int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */)))))) == *(*float64)(unsafe.Pointer(bp + 8 /* r */)))) && (n >= 0)) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < float64(7)) { var Z Sqlite3_int64 @@ -18136,7 +18642,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Move the date backwards to the beginning of the current day, // or month or year. - if Xsqlite3_strnicmp(tls, z, ts+597 /* "start of " */, 9) != 0 { + if Xsqlite3_strnicmp(tls, z, ts+612 /* "start of " */, 9) != 0 { break } if (!(int32((*DateTime)(unsafe.Pointer(p)).FvalidJD) != 0) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidYMD) != 0)) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidHMS) != 0) { @@ -18150,14 +18656,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - if Xsqlite3_stricmp(tls, z, ts+553 /* "month" */) == 0 { + if Xsqlite3_stricmp(tls, z, ts+568 /* "month" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+559 /* "year" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+574 /* "year" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FM = 1 (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+549 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+564 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -18378,7 +18884,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // var zBuf [100]int8 at bp+96, 100 computeYMD_HMS(tls, bp+48 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+607, /* "%04d-%02d-%02d %..." */ + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+622, /* "%04d-%02d-%02d %..." */ libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } @@ -18397,7 +18903,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeHMS(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+637 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+652 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -18415,7 +18921,7 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeYMD(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+652 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+667 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -18542,7 +19048,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+667 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+682 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (uint64(2)) break fallthrough @@ -18552,14 +19058,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+672 /* "%06.3f" */, libc.VaList(bp+8, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+687 /* "%06.3f" */, libc.VaList(bp+8, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+667 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+682 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) j = j + (uint64(2)) break fallthrough @@ -18577,10 +19083,10 @@ __3: if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday wd = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+667 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+682 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) j = j + (uint64(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+679 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+694 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) j = j + (uint64(3)) } break @@ -18589,19 +19095,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+684 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+699 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+667 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+682 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) j = j + (uint64(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+667 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+682 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) j = j + (uint64(2)) break fallthrough @@ -18615,7 +19121,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+667 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+682 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough @@ -18628,7 +19134,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+690 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+705 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -18685,14 +19191,14 @@ func Xsqlite3RegisterDateTimeFunctions(tls *libc.TLS) { /* sqlite3.c:23404:21: * } var aDateTimeFuncs = [8]FuncDef{ - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 695 /* "julianday" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 705 /* "date" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 710 /* "time" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 715 /* "datetime" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 724 /* "strftime" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 733 /* "current_time" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 746 /* "current_timestam..." */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 764 /* "current_date" */}} /* sqlite3.c:23405:18 */ + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 710 /* "julianday" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 720 /* "date" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 725 /* "time" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 730 /* "datetime" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 739 /* "strftime" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 748 /* "current_time" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 761 /* "current_timestam..." */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 779 /* "current_date" */}} /* sqlite3.c:23405:18 */ //************* End of date.c *********************************************** //************* Begin file os.c ********************************************* @@ -19389,7 +19895,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p += 8 } else { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+777 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+792 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -19440,7 +19946,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* } else { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+815, /* "failed memory re..." */ + ts+830, /* "failed memory re..." */ libc.VaList(bp, sqlite3MemSize(tls, pPrior), nByte)) } return p @@ -20625,8 +21131,8 @@ type Et_info = et_info /* sqlite3.c:28672:3 */ // The following table is searched linearly, so it is good to put the // most frequently used conversion types first. -var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 851 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 884 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ +var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 866 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 899 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ var fmtinfo = [23]Et_info{ {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, {Ffmttype: int8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, @@ -20880,7 +21386,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+891 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+906 /* "%" */, 1) goto __5 __11: ; @@ -21463,7 +21969,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 893 /* "NaN" */ + bufpt = ts + 908 /* "NaN" */ length = 3 goto __58 __127: @@ -21523,7 +22029,7 @@ __138: } bufpt = bp + 8 /* &buf[0] */ *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix - libc.X__builtin___memcpy_chk(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+897 /* "Inf" */, uint64(4), libc.X__builtin_object_size(tls, (bp+8 /* &buf[0] */ +uintptr((libc.Bool32(int32(prefix) != 0)))), 0)) + libc.X__builtin___memcpy_chk(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+912 /* "Inf" */, uint64(4), libc.X__builtin_object_size(tls, (bp+8 /* &buf[0] */ +uintptr((libc.Bool32(int32(prefix) != 0)))), 0)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: @@ -21880,7 +22386,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 901 /* "" */ + bufpt = ts + 916 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -22009,9 +22515,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 902 /* "NULL" */ + return ts + 917 /* "NULL" */ } - return ts + 907 /* "(NULL)" */ + return ts + 922 /* "(NULL)" */ }() __220: ; @@ -22146,7 +22652,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+914 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+929 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -22161,7 +22667,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+916 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, ts+931 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) __247: ; __246: @@ -22224,7 +22730,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 928 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 943 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -22610,7 +23116,7 @@ func Xsqlite3DebugPrintf(tls *libc.TLS, zFormat uintptr, va uintptr) { /* sqlite Xsqlite3_str_vappendf(tls, bp+8 /* &acc */, zFormat, ap) _ = ap Xsqlite3StrAccumFinish(tls, bp+8 /* &acc */) - libc.Xfprintf(tls, libc.X__stdoutp, ts+937 /* "%s" */, libc.VaList(bp, bp+40 /* &zBuf[0] */)) + libc.Xfprintf(tls, libc.X__stdoutp, ts+952 /* "%s" */, libc.VaList(bp, bp+40 /* &zBuf[0] */)) libc.Xfflush(tls, libc.X__stdoutp) } @@ -24422,7 +24928,7 @@ func compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) int32 { /* sqlite3.c var c int32 = 0 var i int32 // 012345678901234567 - var pow63 uintptr = ts + 940 /* "9223372036854775..." */ + var pow63 uintptr = ts + 955 /* "9223372036854775..." */ for i = 0; (c == 0) && (i < 18); i++ { c = ((int32(*(*int8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) } @@ -25072,7 +25578,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+959, /* "API call with %s..." */ + ts+974, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -25091,14 +25597,14 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ func Xsqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:33054:20: */ var magic U32 if db == uintptr(0) { - logBadConnection(tls, ts+902 /* "NULL" */) + logBadConnection(tls, ts+917 /* "NULL" */) return 0 } magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if magic != SQLITE_MAGIC_OPEN { if Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 { - logBadConnection(tls, ts+1004 /* "unopened" */) + logBadConnection(tls, ts+1019 /* "unopened" */) } return 0 } else { @@ -25112,7 +25618,7 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if ((magic != U32(SQLITE_MAGIC_SICK)) && (magic != SQLITE_MAGIC_OPEN)) && (magic != SQLITE_MAGIC_BUSY) { - logBadConnection(tls, ts+1013 /* "invalid" */) + logBadConnection(tls, ts+1028 /* "invalid" */) return 0 } else { return 1 @@ -25640,186 +26146,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 0 */ ts + 1021, /* "Savepoint\x00" */ - /* 1 */ ts + 1032, /* "AutoCommit\x00" */ - /* 2 */ ts + 1044, /* "Transaction\x00" */ - /* 3 */ ts + 1057, /* "SorterNext\x00" */ - /* 4 */ ts + 1069, /* "Prev\x00" */ - /* 5 */ ts + 1075, /* "Next\x00" */ - /* 6 */ ts + 1081, /* "Checkpoint\x00" */ - /* 7 */ ts + 1093, /* "JournalMode\x00" */ - /* 8 */ ts + 1106, /* "Vacuum\x00" */ - /* 9 */ ts + 1114, /* "VFilter\x00iplan=r[..." */ - /* 10 */ ts + 1145, /* "VUpdate\x00data=r[P..." */ - /* 11 */ ts + 1167, /* "Goto\x00" */ - /* 12 */ ts + 1173, /* "Gosub\x00" */ - /* 13 */ ts + 1180, /* "InitCoroutine\x00" */ - /* 14 */ ts + 1195, /* "Yield\x00" */ - /* 15 */ ts + 1202, /* "MustBeInt\x00" */ - /* 16 */ ts + 1213, /* "Jump\x00" */ - /* 17 */ ts + 1219, /* "Once\x00" */ - /* 18 */ ts + 1225, /* "If\x00" */ - /* 19 */ ts + 1229, /* "Not\x00r[P2]= !r[P1..." */ - /* 20 */ ts + 1247, /* "IfNot\x00" */ - /* 21 */ ts + 1254, /* "IfNullRow\x00if P1...." */ - /* 22 */ ts + 1303, /* "SeekLT\x00key=r[P3@..." */ - /* 23 */ ts + 1323, /* "SeekLE\x00key=r[P3@..." */ - /* 24 */ ts + 1343, /* "SeekGE\x00key=r[P3@..." */ - /* 25 */ ts + 1363, /* "SeekGT\x00key=r[P3@..." */ - /* 26 */ ts + 1383, /* "IfNotOpen\x00if( !c..." */ - /* 27 */ ts + 1416, /* "IfNoHope\x00key=r[P..." */ - /* 28 */ ts + 1438, /* "NoConflict\x00key=r..." */ - /* 29 */ ts + 1462, /* "NotFound\x00key=r[P..." */ - /* 30 */ ts + 1484, /* "Found\x00key=r[P3@P..." */ - /* 31 */ ts + 1503, /* "SeekRowid\x00intkey..." */ - /* 32 */ ts + 1526, /* "NotExists\x00intkey..." */ - /* 33 */ ts + 1549, /* "Last\x00" */ - /* 34 */ ts + 1555, /* "IfSmaller\x00" */ - /* 35 */ ts + 1566, /* "SorterSort\x00" */ - /* 36 */ ts + 1578, /* "Sort\x00" */ - /* 37 */ ts + 1584, /* "Rewind\x00" */ - /* 38 */ ts + 1592, /* "IdxLE\x00key=r[P3@P..." */ - /* 39 */ ts + 1611, /* "IdxGT\x00key=r[P3@P..." */ - /* 40 */ ts + 1630, /* "IdxLT\x00key=r[P3@P..." */ - /* 41 */ ts + 1649, /* "IdxGE\x00key=r[P3@P..." */ - /* 42 */ ts + 1668, /* "RowSetRead\x00r[P3]..." */ - /* 43 */ ts + 1696, /* "Or\x00r[P3]=(r[P1] ..." */ - /* 44 */ ts + 1722, /* "And\x00r[P3]=(r[P1]..." */ - /* 45 */ ts + 1749, /* "RowSetTest\x00if r[..." */ - /* 46 */ ts + 1791, /* "Program\x00" */ - /* 47 */ ts + 1800, /* "FkIfZero\x00if fkct..." */ - /* 48 */ ts + 1833, /* "IfPos\x00if r[P1]>0..." */ - /* 49 */ ts + 1874, /* "IfNotZero\x00if r[P..." */ - /* 50 */ ts + 1918, /* "IsNull\x00if r[P1]=..." */ - /* 51 */ ts + 1948, /* "NotNull\x00if r[P1]..." */ - /* 52 */ ts + 1979, /* "Ne\x00IF r[P3]!=r[P..." */ - /* 53 */ ts + 1998, /* "Eq\x00IF r[P3]==r[P..." */ - /* 54 */ ts + 2017, /* "Gt\x00IF r[P3]>r[P1..." */ - /* 55 */ ts + 2035, /* "Le\x00IF r[P3]<=r[P..." */ - /* 56 */ ts + 2054, /* "Lt\x00IF r[P3]=r[P..." */ - /* 58 */ ts + 2091, /* "ElseEq\x00" */ - /* 59 */ ts + 2099, /* "DecrJumpZero\x00if ..." */ - /* 60 */ ts + 2136, /* "IncrVacuum\x00" */ - /* 61 */ ts + 2148, /* "VNext\x00" */ - /* 62 */ ts + 2155, /* "Init\x00Start at P2" */ - /* 63 */ ts + 2172, /* "PureFunc\x00r[P3]=f..." */ - /* 64 */ ts + 2202, /* "Function\x00r[P3]=f..." */ - /* 65 */ ts + 2232, /* "Return\x00" */ - /* 66 */ ts + 2240, /* "EndCoroutine\x00" */ - /* 67 */ ts + 2254, /* "HaltIfNull\x00if r[..." */ - /* 68 */ ts + 2284, /* "Halt\x00" */ - /* 69 */ ts + 2290, /* "Integer\x00r[P2]=P1" */ - /* 70 */ ts + 2307, /* "Int64\x00r[P2]=P4" */ - /* 71 */ ts + 2322, /* "String\x00r[P2]='P4..." */ - /* 72 */ ts + 2349, /* "Null\x00r[P2..P3]=N..." */ - /* 73 */ ts + 2369, /* "SoftNull\x00r[P1]=N..." */ - /* 74 */ ts + 2389, /* "Blob\x00r[P2]=P4 (l..." */ - /* 75 */ ts + 2412, /* "Variable\x00r[P2]=p..." */ - /* 76 */ ts + 2444, /* "Move\x00r[P2@P3]=r[..." */ - /* 77 */ ts + 2467, /* "Copy\x00r[P2@P3+1]=..." */ - /* 78 */ ts + 2494, /* "SCopy\x00r[P2]=r[P1..." */ - /* 79 */ ts + 2512, /* "IntCopy\x00r[P2]=r[..." */ - /* 80 */ ts + 2532, /* "ChngCntRow\x00outpu..." */ - /* 81 */ ts + 2556, /* "ResultRow\x00output..." */ - /* 82 */ ts + 2582, /* "CollSeq\x00" */ - /* 83 */ ts + 2591, /* "AddImm\x00r[P1]=r[P..." */ - /* 84 */ ts + 2613, /* "RealAffinity\x00" */ - /* 85 */ ts + 2627, /* "Cast\x00affinity(r[..." */ - /* 86 */ ts + 2648, /* "Permutation\x00" */ - /* 87 */ ts + 2661, /* "Compare\x00r[P1@P3]..." */ - /* 88 */ ts + 2691, /* "IsTrue\x00r[P2] = c..." */ - /* 89 */ ts + 2736, /* "ZeroOrNull\x00r[P2]..." */ - /* 90 */ ts + 2765, /* "Offset\x00r[P3] = s..." */ - /* 91 */ ts + 2798, /* "Column\x00r[P3]=PX" */ - /* 92 */ ts + 2814, /* "Affinity\x00affinit..." */ - /* 93 */ ts + 2842, /* "MakeRecord\x00r[P3]..." */ - /* 94 */ ts + 2875, /* "Count\x00r[P2]=coun..." */ - /* 95 */ ts + 2895, /* "ReadCookie\x00" */ - /* 96 */ ts + 2907, /* "SetCookie\x00" */ - /* 97 */ ts + 2918, /* "ReopenIdx\x00root=P..." */ - /* 98 */ ts + 2943, /* "OpenRead\x00root=P2..." */ - /* 99 */ ts + 2967, /* "OpenWrite\x00root=P..." */ - /* 100 */ ts + 2992, /* "OpenDup\x00" */ - /* 101 */ ts + 3001, /* "OpenAutoindex\x00nC..." */ - /* 102 */ ts + 3026, /* "BitAnd\x00r[P3]=r[P..." */ - /* 103 */ ts + 3051, /* "BitOr\x00r[P3]=r[P1..." */ - /* 104 */ ts + 3075, /* "ShiftLeft\x00r[P3]=..." */ - /* 105 */ ts + 3104, /* "ShiftRight\x00r[P3]..." */ - /* 106 */ ts + 3134, /* "Add\x00r[P3]=r[P1]+..." */ - /* 107 */ ts + 3156, /* "Subtract\x00r[P3]=r..." */ - /* 108 */ ts + 3183, /* "Multiply\x00r[P3]=r..." */ - /* 109 */ ts + 3210, /* "Divide\x00r[P3]=r[P..." */ - /* 110 */ ts + 3235, /* "Remainder\x00r[P3]=..." */ - /* 111 */ ts + 3263, /* "Concat\x00r[P3]=r[P..." */ - /* 112 */ ts + 3288, /* "OpenEphemeral\x00nC..." */ - /* 113 */ ts + 3313, /* "BitNot\x00r[P2]= ~r..." */ - /* 114 */ ts + 3334, /* "SorterOpen\x00" */ - /* 115 */ ts + 3346, /* "SequenceTest\x00if(..." */ - /* 116 */ ts + 3390, /* "String8\x00r[P2]='P..." */ - /* 117 */ ts + 3409, /* "OpenPseudo\x00P3 co..." */ - /* 118 */ ts + 3440, /* "Close\x00" */ - /* 119 */ ts + 3447, /* "ColumnsUsed\x00" */ - /* 120 */ ts + 3460, /* "SeekScan\x00Scan-ah..." */ - /* 121 */ ts + 3494, /* "SeekHit\x00set P2<=..." */ - /* 122 */ ts + 3522, /* "Sequence\x00r[P2]=c..." */ - /* 123 */ ts + 3554, /* "NewRowid\x00r[P2]=r..." */ - /* 124 */ ts + 3575, /* "Insert\x00intkey=r[..." */ - /* 125 */ ts + 3606, /* "RowCell\x00" */ - /* 126 */ ts + 3615, /* "Delete\x00" */ - /* 127 */ ts + 3623, /* "ResetCount\x00" */ - /* 128 */ ts + 3635, /* "SorterCompare\x00if..." */ - /* 129 */ ts + 3684, /* "SorterData\x00r[P2]..." */ - /* 130 */ ts + 3706, /* "RowData\x00r[P2]=da..." */ - /* 131 */ ts + 3725, /* "Rowid\x00r[P2]=rowi..." */ - /* 132 */ ts + 3743, /* "NullRow\x00" */ - /* 133 */ ts + 3752, /* "SeekEnd\x00" */ - /* 134 */ ts + 3761, /* "IdxInsert\x00key=r[..." */ - /* 135 */ ts + 3781, /* "SorterInsert\x00key..." */ - /* 136 */ ts + 3804, /* "IdxDelete\x00key=r[..." */ - /* 137 */ ts + 3827, /* "DeferredSeek\x00Mov..." */ - /* 138 */ ts + 3870, /* "IdxRowid\x00r[P2]=r..." */ - /* 139 */ ts + 3891, /* "FinishSeek\x00" */ - /* 140 */ ts + 3903, /* "Destroy\x00" */ - /* 141 */ ts + 3912, /* "Clear\x00" */ - /* 142 */ ts + 3919, /* "ResetSorter\x00" */ - /* 143 */ ts + 3932, /* "CreateBtree\x00r[P2..." */ - /* 144 */ ts + 3971, /* "SqlExec\x00" */ - /* 145 */ ts + 3980, /* "ParseSchema\x00" */ - /* 146 */ ts + 3993, /* "LoadAnalysis\x00" */ - /* 147 */ ts + 4007, /* "DropTable\x00" */ - /* 148 */ ts + 4018, /* "DropIndex\x00" */ - /* 149 */ ts + 4029, /* "DropTrigger\x00" */ - /* 150 */ ts + 4042, /* "IntegrityCk\x00" */ - /* 151 */ ts + 4055, /* "RowSetAdd\x00rowset..." */ - /* 152 */ ts + 4082, /* "Real\x00r[P2]=P4" */ - /* 153 */ ts + 4096, /* "Param\x00" */ - /* 154 */ ts + 4103, /* "FkCounter\x00fkctr[..." */ - /* 155 */ ts + 4127, /* "MemMax\x00r[P1]=max..." */ - /* 156 */ ts + 4157, /* "OffsetLimit\x00if r..." */ - /* 157 */ ts + 4226, /* "AggInverse\x00accum..." */ - /* 158 */ ts + 4267, /* "AggStep\x00accum=r[..." */ - /* 159 */ ts + 4302, /* "AggStep1\x00accum=r..." */ - /* 160 */ ts + 4338, /* "AggValue\x00r[P3]=v..." */ - /* 161 */ ts + 4364, /* "AggFinal\x00accum=r..." */ - /* 162 */ ts + 4390, /* "Expire\x00" */ - /* 163 */ ts + 4398, /* "CursorLock\x00" */ - /* 164 */ ts + 4410, /* "CursorUnlock\x00" */ - /* 165 */ ts + 4424, /* "TableLock\x00iDb=P1..." */ - /* 166 */ ts + 4458, /* "VBegin\x00" */ - /* 167 */ ts + 4466, /* "VCreate\x00" */ - /* 168 */ ts + 4475, /* "VDestroy\x00" */ - /* 169 */ ts + 4485, /* "VOpen\x00" */ - /* 170 */ ts + 4492, /* "VColumn\x00r[P3]=vc..." */ - /* 171 */ ts + 4518, /* "VRename\x00" */ - /* 172 */ ts + 4527, /* "Pagecount\x00" */ - /* 173 */ ts + 4538, /* "MaxPgcnt\x00" */ - /* 174 */ ts + 4548, /* "Trace\x00" */ - /* 175 */ ts + 4555, /* "CursorHint\x00" */ - /* 176 */ ts + 4567, /* "ReleaseReg\x00relea..." */ - /* 177 */ ts + 4603, /* "Noop\x00" */ - /* 178 */ ts + 4609, /* "Explain\x00" */ - /* 179 */ ts + 4618, /* "Abortable\x00" */ + /* 0 */ ts + 1036, /* "Savepoint\x00" */ + /* 1 */ ts + 1047, /* "AutoCommit\x00" */ + /* 2 */ ts + 1059, /* "Transaction\x00" */ + /* 3 */ ts + 1072, /* "SorterNext\x00" */ + /* 4 */ ts + 1084, /* "Prev\x00" */ + /* 5 */ ts + 1090, /* "Next\x00" */ + /* 6 */ ts + 1096, /* "Checkpoint\x00" */ + /* 7 */ ts + 1108, /* "JournalMode\x00" */ + /* 8 */ ts + 1121, /* "Vacuum\x00" */ + /* 9 */ ts + 1129, /* "VFilter\x00iplan=r[..." */ + /* 10 */ ts + 1160, /* "VUpdate\x00data=r[P..." */ + /* 11 */ ts + 1182, /* "Goto\x00" */ + /* 12 */ ts + 1188, /* "Gosub\x00" */ + /* 13 */ ts + 1195, /* "InitCoroutine\x00" */ + /* 14 */ ts + 1210, /* "Yield\x00" */ + /* 15 */ ts + 1217, /* "MustBeInt\x00" */ + /* 16 */ ts + 1228, /* "Jump\x00" */ + /* 17 */ ts + 1234, /* "Once\x00" */ + /* 18 */ ts + 1240, /* "If\x00" */ + /* 19 */ ts + 1244, /* "Not\x00r[P2]= !r[P1..." */ + /* 20 */ ts + 1262, /* "IfNot\x00" */ + /* 21 */ ts + 1269, /* "IfNullRow\x00if P1...." */ + /* 22 */ ts + 1318, /* "SeekLT\x00key=r[P3@..." */ + /* 23 */ ts + 1338, /* "SeekLE\x00key=r[P3@..." */ + /* 24 */ ts + 1358, /* "SeekGE\x00key=r[P3@..." */ + /* 25 */ ts + 1378, /* "SeekGT\x00key=r[P3@..." */ + /* 26 */ ts + 1398, /* "IfNotOpen\x00if( !c..." */ + /* 27 */ ts + 1431, /* "IfNoHope\x00key=r[P..." */ + /* 28 */ ts + 1453, /* "NoConflict\x00key=r..." */ + /* 29 */ ts + 1477, /* "NotFound\x00key=r[P..." */ + /* 30 */ ts + 1499, /* "Found\x00key=r[P3@P..." */ + /* 31 */ ts + 1518, /* "SeekRowid\x00intkey..." */ + /* 32 */ ts + 1541, /* "NotExists\x00intkey..." */ + /* 33 */ ts + 1564, /* "Last\x00" */ + /* 34 */ ts + 1570, /* "IfSmaller\x00" */ + /* 35 */ ts + 1581, /* "SorterSort\x00" */ + /* 36 */ ts + 1593, /* "Sort\x00" */ + /* 37 */ ts + 1599, /* "Rewind\x00" */ + /* 38 */ ts + 1607, /* "IdxLE\x00key=r[P3@P..." */ + /* 39 */ ts + 1626, /* "IdxGT\x00key=r[P3@P..." */ + /* 40 */ ts + 1645, /* "IdxLT\x00key=r[P3@P..." */ + /* 41 */ ts + 1664, /* "IdxGE\x00key=r[P3@P..." */ + /* 42 */ ts + 1683, /* "RowSetRead\x00r[P3]..." */ + /* 43 */ ts + 1711, /* "Or\x00r[P3]=(r[P1] ..." */ + /* 44 */ ts + 1737, /* "And\x00r[P3]=(r[P1]..." */ + /* 45 */ ts + 1764, /* "RowSetTest\x00if r[..." */ + /* 46 */ ts + 1806, /* "Program\x00" */ + /* 47 */ ts + 1815, /* "FkIfZero\x00if fkct..." */ + /* 48 */ ts + 1848, /* "IfPos\x00if r[P1]>0..." */ + /* 49 */ ts + 1889, /* "IfNotZero\x00if r[P..." */ + /* 50 */ ts + 1933, /* "IsNull\x00if r[P1]=..." */ + /* 51 */ ts + 1963, /* "NotNull\x00if r[P1]..." */ + /* 52 */ ts + 1994, /* "Ne\x00IF r[P3]!=r[P..." */ + /* 53 */ ts + 2013, /* "Eq\x00IF r[P3]==r[P..." */ + /* 54 */ ts + 2032, /* "Gt\x00IF r[P3]>r[P1..." */ + /* 55 */ ts + 2050, /* "Le\x00IF r[P3]<=r[P..." */ + /* 56 */ ts + 2069, /* "Lt\x00IF r[P3]=r[P..." */ + /* 58 */ ts + 2106, /* "ElseEq\x00" */ + /* 59 */ ts + 2114, /* "DecrJumpZero\x00if ..." */ + /* 60 */ ts + 2151, /* "IncrVacuum\x00" */ + /* 61 */ ts + 2163, /* "VNext\x00" */ + /* 62 */ ts + 2170, /* "Init\x00Start at P2" */ + /* 63 */ ts + 2187, /* "PureFunc\x00r[P3]=f..." */ + /* 64 */ ts + 2217, /* "Function\x00r[P3]=f..." */ + /* 65 */ ts + 2247, /* "Return\x00" */ + /* 66 */ ts + 2255, /* "EndCoroutine\x00" */ + /* 67 */ ts + 2269, /* "HaltIfNull\x00if r[..." */ + /* 68 */ ts + 2299, /* "Halt\x00" */ + /* 69 */ ts + 2305, /* "Integer\x00r[P2]=P1" */ + /* 70 */ ts + 2322, /* "Int64\x00r[P2]=P4" */ + /* 71 */ ts + 2337, /* "String\x00r[P2]='P4..." */ + /* 72 */ ts + 2364, /* "Null\x00r[P2..P3]=N..." */ + /* 73 */ ts + 2384, /* "SoftNull\x00r[P1]=N..." */ + /* 74 */ ts + 2404, /* "Blob\x00r[P2]=P4 (l..." */ + /* 75 */ ts + 2427, /* "Variable\x00r[P2]=p..." */ + /* 76 */ ts + 2459, /* "Move\x00r[P2@P3]=r[..." */ + /* 77 */ ts + 2482, /* "Copy\x00r[P2@P3+1]=..." */ + /* 78 */ ts + 2509, /* "SCopy\x00r[P2]=r[P1..." */ + /* 79 */ ts + 2527, /* "IntCopy\x00r[P2]=r[..." */ + /* 80 */ ts + 2547, /* "ChngCntRow\x00outpu..." */ + /* 81 */ ts + 2571, /* "ResultRow\x00output..." */ + /* 82 */ ts + 2597, /* "CollSeq\x00" */ + /* 83 */ ts + 2606, /* "AddImm\x00r[P1]=r[P..." */ + /* 84 */ ts + 2628, /* "RealAffinity\x00" */ + /* 85 */ ts + 2642, /* "Cast\x00affinity(r[..." */ + /* 86 */ ts + 2663, /* "Permutation\x00" */ + /* 87 */ ts + 2676, /* "Compare\x00r[P1@P3]..." */ + /* 88 */ ts + 2706, /* "IsTrue\x00r[P2] = c..." */ + /* 89 */ ts + 2751, /* "ZeroOrNull\x00r[P2]..." */ + /* 90 */ ts + 2780, /* "Offset\x00r[P3] = s..." */ + /* 91 */ ts + 2813, /* "Column\x00r[P3]=PX" */ + /* 92 */ ts + 2829, /* "Affinity\x00affinit..." */ + /* 93 */ ts + 2857, /* "MakeRecord\x00r[P3]..." */ + /* 94 */ ts + 2890, /* "Count\x00r[P2]=coun..." */ + /* 95 */ ts + 2910, /* "ReadCookie\x00" */ + /* 96 */ ts + 2922, /* "SetCookie\x00" */ + /* 97 */ ts + 2933, /* "ReopenIdx\x00root=P..." */ + /* 98 */ ts + 2958, /* "OpenRead\x00root=P2..." */ + /* 99 */ ts + 2982, /* "OpenWrite\x00root=P..." */ + /* 100 */ ts + 3007, /* "OpenDup\x00" */ + /* 101 */ ts + 3016, /* "OpenAutoindex\x00nC..." */ + /* 102 */ ts + 3041, /* "BitAnd\x00r[P3]=r[P..." */ + /* 103 */ ts + 3066, /* "BitOr\x00r[P3]=r[P1..." */ + /* 104 */ ts + 3090, /* "ShiftLeft\x00r[P3]=..." */ + /* 105 */ ts + 3119, /* "ShiftRight\x00r[P3]..." */ + /* 106 */ ts + 3149, /* "Add\x00r[P3]=r[P1]+..." */ + /* 107 */ ts + 3171, /* "Subtract\x00r[P3]=r..." */ + /* 108 */ ts + 3198, /* "Multiply\x00r[P3]=r..." */ + /* 109 */ ts + 3225, /* "Divide\x00r[P3]=r[P..." */ + /* 110 */ ts + 3250, /* "Remainder\x00r[P3]=..." */ + /* 111 */ ts + 3278, /* "Concat\x00r[P3]=r[P..." */ + /* 112 */ ts + 3303, /* "OpenEphemeral\x00nC..." */ + /* 113 */ ts + 3328, /* "BitNot\x00r[P2]= ~r..." */ + /* 114 */ ts + 3349, /* "SorterOpen\x00" */ + /* 115 */ ts + 3361, /* "SequenceTest\x00if(..." */ + /* 116 */ ts + 3405, /* "String8\x00r[P2]='P..." */ + /* 117 */ ts + 3424, /* "OpenPseudo\x00P3 co..." */ + /* 118 */ ts + 3455, /* "Close\x00" */ + /* 119 */ ts + 3462, /* "ColumnsUsed\x00" */ + /* 120 */ ts + 3475, /* "SeekScan\x00Scan-ah..." */ + /* 121 */ ts + 3509, /* "SeekHit\x00set P2<=..." */ + /* 122 */ ts + 3537, /* "Sequence\x00r[P2]=c..." */ + /* 123 */ ts + 3569, /* "NewRowid\x00r[P2]=r..." */ + /* 124 */ ts + 3590, /* "Insert\x00intkey=r[..." */ + /* 125 */ ts + 3621, /* "RowCell\x00" */ + /* 126 */ ts + 3630, /* "Delete\x00" */ + /* 127 */ ts + 3638, /* "ResetCount\x00" */ + /* 128 */ ts + 3650, /* "SorterCompare\x00if..." */ + /* 129 */ ts + 3699, /* "SorterData\x00r[P2]..." */ + /* 130 */ ts + 3721, /* "RowData\x00r[P2]=da..." */ + /* 131 */ ts + 3740, /* "Rowid\x00r[P2]=rowi..." */ + /* 132 */ ts + 3758, /* "NullRow\x00" */ + /* 133 */ ts + 3767, /* "SeekEnd\x00" */ + /* 134 */ ts + 3776, /* "IdxInsert\x00key=r[..." */ + /* 135 */ ts + 3796, /* "SorterInsert\x00key..." */ + /* 136 */ ts + 3819, /* "IdxDelete\x00key=r[..." */ + /* 137 */ ts + 3842, /* "DeferredSeek\x00Mov..." */ + /* 138 */ ts + 3885, /* "IdxRowid\x00r[P2]=r..." */ + /* 139 */ ts + 3906, /* "FinishSeek\x00" */ + /* 140 */ ts + 3918, /* "Destroy\x00" */ + /* 141 */ ts + 3927, /* "Clear\x00" */ + /* 142 */ ts + 3934, /* "ResetSorter\x00" */ + /* 143 */ ts + 3947, /* "CreateBtree\x00r[P2..." */ + /* 144 */ ts + 3986, /* "SqlExec\x00" */ + /* 145 */ ts + 3995, /* "ParseSchema\x00" */ + /* 146 */ ts + 4008, /* "LoadAnalysis\x00" */ + /* 147 */ ts + 4022, /* "DropTable\x00" */ + /* 148 */ ts + 4033, /* "DropIndex\x00" */ + /* 149 */ ts + 4044, /* "DropTrigger\x00" */ + /* 150 */ ts + 4057, /* "IntegrityCk\x00" */ + /* 151 */ ts + 4070, /* "RowSetAdd\x00rowset..." */ + /* 152 */ ts + 4097, /* "Real\x00r[P2]=P4" */ + /* 153 */ ts + 4111, /* "Param\x00" */ + /* 154 */ ts + 4118, /* "FkCounter\x00fkctr[..." */ + /* 155 */ ts + 4142, /* "MemMax\x00r[P1]=max..." */ + /* 156 */ ts + 4172, /* "OffsetLimit\x00if r..." */ + /* 157 */ ts + 4241, /* "AggInverse\x00accum..." */ + /* 158 */ ts + 4282, /* "AggStep\x00accum=r[..." */ + /* 159 */ ts + 4317, /* "AggStep1\x00accum=r..." */ + /* 160 */ ts + 4353, /* "AggValue\x00r[P3]=v..." */ + /* 161 */ ts + 4379, /* "AggFinal\x00accum=r..." */ + /* 162 */ ts + 4405, /* "Expire\x00" */ + /* 163 */ ts + 4413, /* "CursorLock\x00" */ + /* 164 */ ts + 4425, /* "CursorUnlock\x00" */ + /* 165 */ ts + 4439, /* "TableLock\x00iDb=P1..." */ + /* 166 */ ts + 4473, /* "VBegin\x00" */ + /* 167 */ ts + 4481, /* "VCreate\x00" */ + /* 168 */ ts + 4490, /* "VDestroy\x00" */ + /* 169 */ ts + 4500, /* "VOpen\x00" */ + /* 170 */ ts + 4507, /* "VColumn\x00r[P3]=vc..." */ + /* 171 */ ts + 4533, /* "VRename\x00" */ + /* 172 */ ts + 4542, /* "Pagecount\x00" */ + /* 173 */ ts + 4553, /* "MaxPgcnt\x00" */ + /* 174 */ ts + 4563, /* "Trace\x00" */ + /* 175 */ ts + 4570, /* "CursorHint\x00" */ + /* 176 */ ts + 4582, /* "ReleaseReg\x00relea..." */ + /* 177 */ ts + 4618, /* "Noop\x00" */ + /* 178 */ ts + 4624, /* "Explain\x00" */ + /* 179 */ ts + 4633, /* "Abortable\x00" */ } /* sqlite3.c:33673:20 */ //************* End of opcodes.c ******************************************** @@ -34876,67 +35382,67 @@ type unix_syscall = struct { // testing and sandboxing. The following array holds the names and pointers // to all overrideable system calls. var aSyscall = [29]unix_syscall{ - {FzName: ts + 4629 /* "open" */, FpCurrent: 0}, + {FzName: ts + 4644 /* "open" */, FpCurrent: 0}, - {FzName: ts + 4634 /* "close" */, FpCurrent: 0}, + {FzName: ts + 4649 /* "close" */, FpCurrent: 0}, - {FzName: ts + 4640 /* "access" */, FpCurrent: 0}, + {FzName: ts + 4655 /* "access" */, FpCurrent: 0}, - {FzName: ts + 4647 /* "getcwd" */, FpCurrent: 0}, + {FzName: ts + 4662 /* "getcwd" */, FpCurrent: 0}, - {FzName: ts + 4654 /* "stat" */, FpCurrent: 0}, + {FzName: ts + 4669 /* "stat" */, FpCurrent: 0}, // The DJGPP compiler environment looks mostly like Unix, but it // lacks the fcntl() system call. So redefine fcntl() to be something // that always succeeds. This means that locking does not occur under // DJGPP. But it is DOS - what did you expect? - {FzName: ts + 4659 /* "fstat" */, FpCurrent: 0}, + {FzName: ts + 4674 /* "fstat" */, FpCurrent: 0}, - {FzName: ts + 4665 /* "ftruncate" */, FpCurrent: 0}, + {FzName: ts + 4680 /* "ftruncate" */, FpCurrent: 0}, - {FzName: ts + 4675 /* "fcntl" */, FpCurrent: 0}, + {FzName: ts + 4690 /* "fcntl" */, FpCurrent: 0}, - {FzName: ts + 4681 /* "read" */, FpCurrent: 0}, + {FzName: ts + 4696 /* "read" */, FpCurrent: 0}, - {FzName: ts + 4686 /* "pread" */, FpCurrent: 0}, + {FzName: ts + 4701 /* "pread" */, FpCurrent: 0}, - {FzName: ts + 4692 /* "pread64" */}, + {FzName: ts + 4707 /* "pread64" */}, - {FzName: ts + 4700 /* "write" */, FpCurrent: 0}, + {FzName: ts + 4715 /* "write" */, FpCurrent: 0}, - {FzName: ts + 4706 /* "pwrite" */, FpCurrent: 0}, + {FzName: ts + 4721 /* "pwrite" */, FpCurrent: 0}, - {FzName: ts + 4713 /* "pwrite64" */}, + {FzName: ts + 4728 /* "pwrite64" */}, - {FzName: ts + 4722 /* "fchmod" */, FpCurrent: 0}, + {FzName: ts + 4737 /* "fchmod" */, FpCurrent: 0}, - {FzName: ts + 4729 /* "fallocate" */}, + {FzName: ts + 4744 /* "fallocate" */}, - {FzName: ts + 4739 /* "unlink" */, FpCurrent: 0}, + {FzName: ts + 4754 /* "unlink" */, FpCurrent: 0}, - {FzName: ts + 4746 /* "openDirectory" */, FpCurrent: 0}, + {FzName: ts + 4761 /* "openDirectory" */, FpCurrent: 0}, - {FzName: ts + 4760 /* "mkdir" */, FpCurrent: 0}, + {FzName: ts + 4775 /* "mkdir" */, FpCurrent: 0}, - {FzName: ts + 4766 /* "rmdir" */, FpCurrent: 0}, + {FzName: ts + 4781 /* "rmdir" */, FpCurrent: 0}, - {FzName: ts + 4772 /* "fchown" */, FpCurrent: 0}, + {FzName: ts + 4787 /* "fchown" */, FpCurrent: 0}, - {FzName: ts + 4779 /* "geteuid" */, FpCurrent: 0}, + {FzName: ts + 4794 /* "geteuid" */, FpCurrent: 0}, - {FzName: ts + 4787 /* "mmap" */, FpCurrent: 0}, + {FzName: ts + 4802 /* "mmap" */, FpCurrent: 0}, - {FzName: ts + 4792 /* "munmap" */, FpCurrent: 0}, + {FzName: ts + 4807 /* "munmap" */, FpCurrent: 0}, - {FzName: ts + 4799 /* "mremap" */}, + {FzName: ts + 4814 /* "mremap" */}, - {FzName: ts + 4806 /* "getpagesize" */, FpCurrent: 0}, + {FzName: ts + 4821 /* "getpagesize" */, FpCurrent: 0}, - {FzName: ts + 4818 /* "readlink" */, FpCurrent: 0}, + {FzName: ts + 4833 /* "readlink" */, FpCurrent: 0}, - {FzName: ts + 4827 /* "lstat" */, FpCurrent: 0}, + {FzName: ts + 4842 /* "lstat" */, FpCurrent: 0}, - {FzName: ts + 4833 /* "ioctl" */}, + {FzName: ts + 4848 /* "ioctl" */}, } /* sqlite3.c:34446:3 */ // End of the overrideable system calls @@ -35070,9 +35576,9 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3 } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, fd) Xsqlite3_log(tls, SQLITE_WARNING, - ts+4839 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) + ts+4854 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) fd = -1 - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, ts+4882 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, ts+4897 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { break } } @@ -35131,17 +35637,17 @@ func unixLeaveMutex(tls *libc.TLS) { /* sqlite3.c:34800:13: */ func azFileLock(tls *libc.TLS, eFileLock int32) uintptr { /* sqlite3.c:34817:19: */ switch eFileLock { case NO_LOCK: - return ts + 4892 /* "NONE" */ + return ts + 4907 /* "NONE" */ case SHARED_LOCK: - return ts + 4897 /* "SHARED" */ + return ts + 4912 /* "SHARED" */ case RESERVED_LOCK: - return ts + 4904 /* "RESERVED" */ + return ts + 4919 /* "RESERVED" */ case PENDING_LOCK: - return ts + 4913 /* "PENDING" */ + return ts + 4928 /* "PENDING" */ case EXCLUSIVE_LOCK: - return ts + 4921 /* "EXCLUSIVE" */ + return ts + 4936 /* "EXCLUSIVE" */ } - return ts + 4931 /* "ERROR" */ + return ts + 4946 /* "ERROR" */ } // Retry ftruncate() calls that fail due to EINTR @@ -35350,13 +35856,13 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // the strerror() function to obtain the human-readable error message // equivalent to errno. Otherwise, use strerror_r(). // This is a threadsafe build, but strerror_r() is not available. - zErr = ts + 901 /* "" */ + zErr = ts + 916 /* "" */ if zPath == uintptr(0) { - zPath = ts + 901 /* "" */ + zPath = ts + 916 /* "" */ } Xsqlite3_log(tls, errcode, - ts+4937, /* "os_unix.c:%d: (%..." */ + ts+4952, /* "os_unix.c:%d: (%..." */ libc.VaList(bp, iLine, iErrno, zFunc, zPath, zErr)) return errcode @@ -35375,7 +35881,7 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // and move on. func robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { /* sqlite3.c:35345:13: */ if (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, h) != 0 { - unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+4634, /* "close" */ + unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+4649, /* "close" */ func() uintptr { if pFile != 0 { return (*UnixFile)(unsafe.Pointer(pFile)).FzPath @@ -35475,7 +35981,7 @@ func findInodeInfo(tls *libc.TLS, pFile uintptr, ppInode uintptr) int32 { /* sql // the first page of the database, no damage is done. if ((*stat)(unsafe.Pointer(bp /* &statbuf */)).Fst_size == int64(0)) && (((*UnixFile)(unsafe.Pointer(pFile)).FfsFlags & uint32(SQLITE_FSFLAGS_IS_MSDOS)) != uint32(0)) { for ok := true; ok; ok = ((rc < 0) && ((*(*int32)(unsafe.Pointer(libc.X__error(tls)))) == EINTR)) { - rc = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 11*24 + 8 /* &.pCurrent */))))(tls, fd, ts+4968 /* "S" */, uint64(1))) + rc = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 11*24 + 8 /* &.pCurrent */))))(tls, fd, ts+4983 /* "S" */, uint64(1))) } if rc != 1 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) @@ -35558,19 +36064,19 @@ func verifyDbFile(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:35532:13: */ rc = (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, bp+32 /* &buf */) if rc != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+4970 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+4985 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if int32((*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink) == 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+4994 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5009 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if int32((*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink) > 1 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+5023 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5038 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+5050 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5065 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -35617,7 +36123,7 @@ func unixCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { / Xsqlite3_mutex_leave(tls, (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FpLockMutex) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5078 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) + Xsqlite3DebugPrintf(tls, ts+5093 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) } *(*int32)(unsafe.Pointer(pResOut)) = reserved @@ -35760,7 +36266,7 @@ func unixLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:3 if !(Xsqlite3OSTrace != 0) { goto __1 } - Xsqlite3DebugPrintf(tls, ts+5108 /* "LOCK %d %s wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), azFileLock(tls, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock)), azFileLock(tls, int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock)), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5123 /* "LOCK %d %s wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), azFileLock(tls, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock)), azFileLock(tls, int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock)), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) __1: ; @@ -35773,7 +36279,7 @@ __1: if !(Xsqlite3OSTrace != 0) { goto __3 } - Xsqlite3DebugPrintf(tls, ts+5151 /* "LOCK %d %s ok..." */, libc.VaList(bp+48, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock))) + Xsqlite3DebugPrintf(tls, ts+5166 /* "LOCK %d %s ok..." */, libc.VaList(bp+48, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock))) __3: ; return SQLITE_OK @@ -35961,11 +36467,11 @@ end_lock: if !(Xsqlite3OSTrace != 0) { goto __25 } - Xsqlite3DebugPrintf(tls, ts+5191 /* "LOCK %d %s %s..." */, libc.VaList(bp+64, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { + Xsqlite3DebugPrintf(tls, ts+5206 /* "LOCK %d %s %s..." */, libc.VaList(bp+64, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { if rc == SQLITE_OK { - return ts + 5216 /* "ok" */ + return ts + 5231 /* "ok" */ } - return ts + 5219 /* "failed" */ + return ts + 5234 /* "failed" */ }())) __25: ; @@ -36012,7 +36518,7 @@ func posixUnlock(tls *libc.TLS, id uintptr, eFileLock int32, handleNFSUnlock int if !(Xsqlite3OSTrace != 0) { goto __1 } - Xsqlite3DebugPrintf(tls, ts+5226 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5241 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) __1: ; @@ -36213,7 +36719,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:36148:12: */ (*UnixFile)(unsafe.Pointer(pFile)).Fh = -1 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5269 /* "CLOSE %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+5284 /* "CLOSE %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) } libc.AtomicAddInt32(&Xsqlite3_open_file_count, int32(-1)) Xsqlite3_free(tls, (*UnixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -36347,7 +36853,7 @@ func dotlockCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 reserved = (libc.Bool32((*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 2*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext, 0) == 0)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5283 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) + Xsqlite3DebugPrintf(tls, ts+5298 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) } *(*int32)(unsafe.Pointer(pResOut)) = reserved return rc @@ -36429,7 +36935,7 @@ func dotlockUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite var rc int32 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5316 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5331 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), libc.Xgetpid(tls))) } // no-op if possible @@ -36546,7 +37052,7 @@ func flockCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { } } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5355 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) + Xsqlite3DebugPrintf(tls, ts+5370 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) } *(*int32)(unsafe.Pointer(pResOut)) = reserved @@ -36608,11 +37114,11 @@ func flockLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c: (*UnixFile)(unsafe.Pointer(pFile)).FeFileLock = uint8(eFileLock) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5386 /* "LOCK %d %s %s..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { + Xsqlite3DebugPrintf(tls, ts+5401 /* "LOCK %d %s %s..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { if rc == SQLITE_OK { - return ts + 5216 /* "ok" */ + return ts + 5231 /* "ok" */ } - return ts + 5219 /* "failed" */ + return ts + 5234 /* "failed" */ }())) } return rc @@ -36630,7 +37136,7 @@ func flockUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3. var pFile uintptr = id if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5412 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5427 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), libc.Xgetpid(tls))) } // no-op if possible @@ -36765,16 +37271,16 @@ func afpSetLock(tls *libc.TLS, path uintptr, pFile uintptr, offset uint64, lengt (*ByteRangeLockPB2)(unsafe.Pointer(bp + 64 /* &pb */)).Ffd = (*UnixFile)(unsafe.Pointer(pFile)).Fh if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5449 /* "AFPSETLOCK [%s] ..." */, libc.VaList(bp, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+5464 /* "AFPSETLOCK [%s] ..." */, libc.VaList(bp, func() uintptr { if setLockFlag != 0 { - return ts + 5494 /* "ON" */ + return ts + 5509 /* "ON" */ } - return ts + 5497 /* "OFF" */ + return ts + 5512 /* "OFF" */ }(), (*UnixFile)(unsafe.Pointer(pFile)).Fh, func() uintptr { if (*ByteRangeLockPB2)(unsafe.Pointer(bp+64 /* &pb */)).Ffd == -1 { - return ts + 5501 /* "[testval-1]" */ + return ts + 5516 /* "[testval-1]" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), offset, length)) } err = libc.Xfsctl(tls, path, ((((uint64(0x80000000 | X__uint32_t(0x40000000))) | (uint64((uint64(unsafe.Sizeof(ByteRangeLockPB2{})) & uint64(IOCPARM_MASK))) << 16)) | (uint64(int32(('z')) << 8))) | (uint64(23))), bp+64 /* &pb */, uint32(0)) @@ -36782,7 +37288,7 @@ func afpSetLock(tls *libc.TLS, path uintptr, pFile uintptr, offset uint64, lengt var rc int32 var tErrno int32 = *(*int32)(unsafe.Pointer(libc.X__error(tls))) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5513 /* "AFPSETLOCK faile..." */, libc.VaList(bp+40, path, tErrno, libc.Xstrerror(tls, tErrno))) + Xsqlite3DebugPrintf(tls, ts+5528 /* "AFPSETLOCK faile..." */, libc.VaList(bp+40, path, tErrno, libc.Xstrerror(tls, tErrno))) } rc = sqliteErrorFromPosixError(tls, tErrno, func() int32 { @@ -36849,7 +37355,7 @@ func afpCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* Xsqlite3_mutex_leave(tls, (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FpLockMutex) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5554 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) + Xsqlite3DebugPrintf(tls, ts+5569 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) } *(*int32)(unsafe.Pointer(pResOut)) = reserved @@ -36905,7 +37411,7 @@ func afpLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:36 if !(Xsqlite3OSTrace != 0) { goto __1 } - Xsqlite3DebugPrintf(tls, ts+5583 /* "LOCK %d %s wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), azFileLock(tls, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock)), azFileLock(tls, int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FeFileLock)), (*UnixInodeInfo)(unsafe.Pointer(pInode)).FnShared, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5598 /* "LOCK %d %s wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), azFileLock(tls, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock)), azFileLock(tls, int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FeFileLock)), (*UnixInodeInfo)(unsafe.Pointer(pInode)).FnShared, libc.Xgetpid(tls))) __1: ; @@ -36918,7 +37424,7 @@ __1: if !(Xsqlite3OSTrace != 0) { goto __3 } - Xsqlite3DebugPrintf(tls, ts+5625 /* "LOCK %d %s ok..." */, libc.VaList(bp+48, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock))) + Xsqlite3DebugPrintf(tls, ts+5640 /* "LOCK %d %s ok..." */, libc.VaList(bp+48, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock))) __3: ; return SQLITE_OK @@ -37129,11 +37635,11 @@ afp_end_lock: if !(Xsqlite3OSTrace != 0) { goto __29 } - Xsqlite3DebugPrintf(tls, ts+5664 /* "LOCK %d %s %s..." */, libc.VaList(bp+64, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { + Xsqlite3DebugPrintf(tls, ts+5679 /* "LOCK %d %s %s..." */, libc.VaList(bp+64, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { if rc == SQLITE_OK { - return ts + 5216 /* "ok" */ + return ts + 5231 /* "ok" */ } - return ts + 5219 /* "failed" */ + return ts + 5234 /* "failed" */ }())) __29: ; @@ -37158,7 +37664,7 @@ func afpUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c: _ = h if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5688 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5703 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) } if int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock) <= eFileLock { @@ -37349,7 +37855,7 @@ func seekAndRead(tls *libc.TLS, id uintptr, offset Sqlite3_int64, pBuf uintptr, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5730 /* "READ %-3d %5d..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(id)).Fh, (got+prior), (offset-Sqlite3_int64(prior)), uint64(0))) + Xsqlite3DebugPrintf(tls, ts+5745 /* "READ %-3d %5d..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(id)).Fh, (got+prior), (offset-Sqlite3_int64(prior)), uint64(0))) } return (got + prior) } @@ -37427,7 +37933,7 @@ func seekAndWriteFd(tls *libc.TLS, fd int32, iOff I64, pBuf uintptr, nBuf int32, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5759 /* "WRITE %-3d %5d..." */, libc.VaList(bp, fd, rc, iOff, uint64(0))) + Xsqlite3DebugPrintf(tls, ts+5774 /* "WRITE %-3d %5d..." */, libc.VaList(bp, fd, rc, iOff, uint64(0))) } if rc < 0 { @@ -37600,7 +38106,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql var fd int32 = -1 // var zDirname [513]int8 at bp+24, 513 - Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+24 /* &zDirname[0] */, ts+937 /* "%s" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+24 /* &zDirname[0] */, ts+952 /* "%s" */, libc.VaList(bp, zFilename)) for ii = int32(libc.Xstrlen(tls, bp+24 /* &zDirname[0] */)); (ii > 0) && (int32(*(*int8)(unsafe.Pointer(bp + 24 /* &zDirname[0] */ + uintptr(ii)))) != '/'); ii-- { } if ii > 0 { @@ -37614,14 +38120,14 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql fd = robust_open(tls, bp+24 /* &zDirname[0] */, (O_RDONLY | O_BINARY), uint16(0)) if fd >= 0 { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5788 /* "OPENDIR %-3d %s\n" */, libc.VaList(bp+8, fd, bp+24 /* &zDirname[0] */)) + Xsqlite3DebugPrintf(tls, ts+5803 /* "OPENDIR %-3d %s\n" */, libc.VaList(bp+8, fd, bp+24 /* &zDirname[0] */)) } } *(*int32)(unsafe.Pointer(pFd)) = fd if fd >= 0 { return SQLITE_OK } - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+4746 /* "openDirectory" */, bp+24 /* &zDirname[0] */, 37775) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+4761 /* "openDirectory" */, bp+24 /* &zDirname[0] */, 37775) } // Make sure all writes to a particular file are committed to disk. @@ -37663,7 +38169,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5805 /* "SYNC %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+5820 /* "SYNC %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) } rc = full_fsync(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if ((Xsqlite3_io_error_persist != 0) && (Xsqlite3_io_error_hit != 0)) || (libc.PostDecAtomicInt32(&Xsqlite3_io_error_pending, 1) == 1) { @@ -37673,7 +38179,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 if rc != 0 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+5819 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+5834 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) } // Also fsync the directory containing the file if the DIRSYNC flag @@ -37683,7 +38189,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 // var dirfd int32 at bp+32, 4 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5830 /* "DIRSYNC %s (have..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, HAVE_FULLFSYNC, isFullsync)) + Xsqlite3DebugPrintf(tls, ts+5845 /* "DIRSYNC %s (have..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, HAVE_FULLFSYNC, isFullsync)) } rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp+32 /* &dirfd */) if rc == SQLITE_OK { @@ -37719,7 +38225,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 { /* sqlite3.c:378 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+4665 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+4680 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) } else { // If the file was just truncated to a size smaller than the currently @@ -37802,7 +38308,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c if iWrite >= nSize { iWrite = (nSize - int64(1)) } - nWrite = seekAndWrite(tls, pFile, iWrite, ts+901 /* "" */, 1) + nWrite = seekAndWrite(tls, pFile, iWrite, ts+916 /* "" */, 1) if nWrite != 1 { return (SQLITE_IOERR | (int32(3) << 8)) } @@ -37815,7 +38321,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c 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+4665 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+4680 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) } } @@ -37889,7 +38395,7 @@ func unixFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { } case SQLITE_FCNTL_VFSNAME: { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) return SQLITE_OK } @@ -38182,7 +38688,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32 // help detect if a -shm file truncation is legitimate or is the work // or a rogue process. if (rc == SQLITE_OK) && (robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0) { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+4665 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+4680 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) } } } else if int32((*flock)(unsafe.Pointer(bp+8 /* &lock */)).Fl_type) == F_WRLCK { @@ -38288,7 +38794,7 @@ __4: ; libc.X__builtin___memset_chk(tls, pShmNode, 0, (uint64(unsafe.Sizeof(unixShmNode{})) + uint64(nShmFilename)), libc.X__builtin_object_size(tls, pShmNode, 0)) zShm = libc.AssignPtrUintptr(pShmNode+16 /* &.zFilename */, (pShmNode + 1*96)) - Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+5874 /* "%s-shm" */, libc.VaList(bp, zBasePath)) + Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+5889 /* "%s-shm" */, libc.VaList(bp, zBasePath)) (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = -1 (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pDbFd)).FpInode)).FpShmNode = pShmNode @@ -38310,7 +38816,7 @@ __5: if !(int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FbProcessLock) == 0) { goto __7 } - if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+5881 /* "readonly_shm" */, 0)) { + if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+5896 /* "readonly_shm" */, 0)) { goto __8 } (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = robust_open(tls, zShm, ((O_RDWR | O_CREAT) | O_NOFOLLOW), @@ -38325,7 +38831,7 @@ __8: if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) { goto __10 } - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+4629 /* "open" */, zShm, 38716) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+4644 /* "open" */, zShm, 38716) goto shm_open_err __10: ; @@ -38492,11 +38998,11 @@ __11: goto __13 } *(*int32)(unsafe.Pointer(bp + 144 /* x */)) = 0 - if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+901 /* "" */, 1, bp+144 /* &x */) != 1) { + if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+916 /* "" */, 1, bp+144 /* &x */) != 1) { goto __14 } zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+4700 /* "write" */, zFile, 38860) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+4715 /* "write" */, zFile, 38860) goto shmpage_out __14: ; @@ -38544,7 +39050,7 @@ __16: if !(pMem == (libc.UintptrFromInt32(-1))) { goto __20 } - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+4787 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+4802 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) goto shmpage_out __20: ; @@ -38719,7 +39225,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in Xsqlite3_mutex_leave(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5894 /* "SHM-LOCK shmid-%..." */, libc.VaList(bp, int32((*UnixShm)(unsafe.Pointer(p)).Fid), libc.Xgetpid(tls), int32((*UnixShm)(unsafe.Pointer(p)).FsharedMask), int32((*UnixShm)(unsafe.Pointer(p)).FexclMask))) + Xsqlite3DebugPrintf(tls, ts+5909 /* "SHM-LOCK shmid-%..." */, libc.VaList(bp, int32((*UnixShm)(unsafe.Pointer(p)).Fid), libc.Xgetpid(tls), int32((*UnixShm)(unsafe.Pointer(p)).FsharedMask), int32((*UnixShm)(unsafe.Pointer(p)).FexclMask))) } return rc } @@ -38808,7 +39314,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39165:13: */ // continue accessing the database using the xRead() and xWrite() // methods. func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13: */ - var zErr uintptr = ts + 4787 /* "mmap" */ + var zErr uintptr = ts + 4802 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping var nOrig I64 = (*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual // Size of pOrig region in bytes @@ -39105,7 +39611,7 @@ func autolockIoFinderImpl(tls *libc.TLS, filePath uintptr, pNew uintptr) uintptr (*flock)(unsafe.Pointer(bp + 2176 /* &lockInfo */)).Fl_whence = int16(SEEK_SET) (*flock)(unsafe.Pointer(bp + 2176 /* &lockInfo */)).Fl_type = int16(F_RDLCK) if (*(*func(*libc.TLS, int32, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 7*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pNew)).Fh, F_GETLK, libc.VaList(bp, bp+2176 /* &lockInfo */)) != -1 { - if libc.Xstrcmp(tls, bp+8 /* &fsInfo */ +72 /* &.f_fstypename */, ts+5935 /* "nfs" */) == 0 { + if libc.Xstrcmp(tls, bp+8 /* &fsInfo */ +72 /* &.f_fstypename */, ts+5950 /* "nfs" */) == 0 { return uintptr(unsafe.Pointer(&nfsIoMethods)) } else { return uintptr(unsafe.Pointer(&posixIoMethods)) @@ -39122,11 +39628,11 @@ type Mapping = struct { } /* sqlite3.c:39574:16 */ var aMap = [6]Mapping{ - {FzFilesystem: ts + 5939 /* "hfs" */, FpMethods: 0}, - {FzFilesystem: ts + 5943 /* "ufs" */, FpMethods: 0}, - {FzFilesystem: ts + 5947 /* "afpfs" */, FpMethods: 0}, - {FzFilesystem: ts + 5953 /* "smbfs" */, FpMethods: 0}, - {FzFilesystem: ts + 5959 /* "webdav" */, FpMethods: 0}, + {FzFilesystem: ts + 5954 /* "hfs" */, FpMethods: 0}, + {FzFilesystem: ts + 5958 /* "ufs" */, FpMethods: 0}, + {FzFilesystem: ts + 5962 /* "afpfs" */, FpMethods: 0}, + {FzFilesystem: ts + 5968 /* "smbfs" */, FpMethods: 0}, + {FzFilesystem: ts + 5974 /* "webdav" */, FpMethods: 0}, {}, } /* sqlite3.c:39577:5 */ var autolockIoFinder uintptr = 0 /* sqlite3.c:39624:3 */ @@ -39153,7 +39659,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // No locking occurs in temporary files if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5966 /* "OPEN %-3d %s\n" */, libc.VaList(bp, h, zFilename)) + Xsqlite3DebugPrintf(tls, ts+5981 /* "OPEN %-3d %s\n" */, libc.VaList(bp, h, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).Fh = h (*UnixFile)(unsafe.Pointer(pNew)).FpVfs = pVfs @@ -39166,10 +39672,10 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename } return uintptr(0) }(), - ts+5983 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { + ts+5998 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { *(*uint16)(unsafe.Pointer(pNew + 30 /* &.ctrlFlags */)) |= uint16((UNIXFILE_PSOW)) } - if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+5988 /* "unix-excl" */) == 0 { + if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+6003 /* "unix-excl" */) == 0 { *(*uint16)(unsafe.Pointer(pNew + 30 /* &.ctrlFlags */)) |= uint16((UNIXFILE_EXCL)) } @@ -39243,7 +39749,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename if zLockFile == uintptr(0) { rc = SQLITE_NOMEM } else { - Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+5998 /* "%s.lock" */, libc.VaList(bp+16, zFilename)) + Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+6013 /* "%s.lock" */, libc.VaList(bp+16, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext = zLockFile } @@ -39273,10 +39779,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var zDir uintptr = Xsqlite3_temp_directory if !(int32(azDirs[0]) != 0) { - azDirs[0] = libc.Xgetenv(tls, ts+6006 /* "SQLITE_TMPDIR" */) + azDirs[0] = libc.Xgetenv(tls, ts+6021 /* "SQLITE_TMPDIR" */) } if !(int32(azDirs[1]) != 0) { - azDirs[1] = libc.Xgetenv(tls, ts+6020 /* "TMPDIR" */) + azDirs[1] = libc.Xgetenv(tls, ts+6035 /* "TMPDIR" */) } for 1 != 0 { if (((zDir != uintptr(0)) && @@ -39296,10 +39802,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var azDirs = [6]uintptr{ uintptr(0), uintptr(0), - ts + 6027, /* "/var/tmp" */ - ts + 6036, /* "/usr/tmp" */ - ts + 6045, /* "/tmp" */ - ts + 914, /* "." */ + ts + 6042, /* "/var/tmp" */ + ts + 6051, /* "/usr/tmp" */ + ts + 6060, /* "/tmp" */ + ts + 929, /* "." */ } /* sqlite3.c:39857:21 */ // Create a temporary file name in zBuf. zBuf must be allocated @@ -39331,7 +39837,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U64(0))), bp+24 /* &r */) *(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2)))) = int8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+6050, /* "%s/etilqs_%llx%c" */ + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+6065, /* "%s/etilqs_%llx%c" */ libc.VaList(bp, zDir, *(*U64)(unsafe.Pointer(bp + 24 /* r */)), 0)) if (int32(*(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2))))) != 0) || ((libc.PostIncInt32(&iLimit, 1)) > 10) { return SQLITE_ERROR @@ -39487,7 +39993,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // filename, check for the "modeof" parameter. If present, interpret // its value as a filename and try to copy the mode, uid and gid from // that file. - var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+6067 /* "modeof" */) + var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+6082 /* "modeof" */) if z != 0 { rc = getFileMode(tls, z, pMode, pUid, pGid) } @@ -39691,7 +40197,7 @@ __14: if !(Xsqlite3OSTrace != 0) { goto __15 } - Xsqlite3DebugPrintf(tls, ts+6074 /* "OPENX %-3d %s ..." */, libc.VaList(bp, fd, zName, openFlags)) + Xsqlite3DebugPrintf(tls, ts+6089 /* "OPENX %-3d %s ..." */, libc.VaList(bp, fd, zName, openFlags)) __15: ; @@ -39725,7 +40231,7 @@ __16: if !(fd < 0) { goto __20 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+4629 /* "open" */, zName, 40257) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+4644 /* "open" */, zName, 40257) if !(rc == SQLITE_OK) { goto __21 } @@ -39789,13 +40295,13 @@ __26: return (SQLITE_IOERR | (int32(13) << 8)) __27: ; - if !(0 == libc.Xstrncmp(tls, ts+6095 /* "msdos" */, bp+552 /* &fsInfo */ +72 /* &.f_fstypename */, uint64(5))) { + if !(0 == libc.Xstrncmp(tls, ts+6110 /* "msdos" */, bp+552 /* &fsInfo */ +72 /* &.f_fstypename */, uint64(5))) { goto __28 } *(*uint32)(unsafe.Pointer(pFile + 124 /* &.fsFlags */)) |= (uint32(SQLITE_FSFLAGS_IS_MSDOS)) __28: ; - if !(0 == libc.Xstrncmp(tls, ts+6101 /* "exfat" */, bp+552 /* &fsInfo */ +72 /* &.f_fstypename */, uint64(5))) { + if !(0 == libc.Xstrncmp(tls, ts+6116 /* "exfat" */, bp+552 /* &fsInfo */ +72 /* &.f_fstypename */, uint64(5))) { goto __29 } *(*uint32)(unsafe.Pointer(pFile + 124 /* &.fsFlags */)) |= (uint32(SQLITE_FSFLAGS_IS_MSDOS)) @@ -39838,7 +40344,7 @@ __34: if !((((isAutoProxy != 0) && (zPath != (uintptr(0)))) && (!(noLock != 0))) && ((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen != 0)) { goto __35 } - envforce = libc.Xgetenv(tls, ts+6107 /* "SQLITE_FORCE_PRO..." */) + envforce = libc.Xgetenv(tls, ts+6122 /* "SQLITE_FORCE_PRO..." */) useProxy = 0 // SQLITE_FORCE_PROXY_LOCKING==1 means force always use proxy, 0 means @@ -39859,7 +40365,7 @@ __37: if !(rc == SQLITE_OK) { goto __39 } - rc = proxyTransformUnixFile(tls, pFile, ts+6134 /* ":auto:" */) + rc = proxyTransformUnixFile(tls, pFile, ts+6149 /* ":auto:" */) if !(rc != SQLITE_OK) { goto __40 } @@ -39907,7 +40413,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+4739 /* "unlink" */, zPath, 40396) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+4754 /* "unlink" */, zPath, 40396) } return rc } @@ -39917,7 +40423,7 @@ 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 /* &.pCurrent */))))(tls, zPath, bp /* &fd */) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp /* fd */)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+6141 /* "fsync" */, zPath, 40406) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+6156 /* "fsync" */, zPath, 40406) } robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 40408) } else { @@ -39996,7 +40502,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(tls, zOut, (uint64(nOut-2))) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+4647 /* "getcwd" */, zPath, 40485) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+4662 /* "getcwd" */, zPath, 40485) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -40007,7 +40513,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) return Xsqlite3CantopenError(tls, 40494) } - Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+937 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+952 /* "%s" */, libc.VaList(bp, zPath)) // Remove duplicate '/' characters. Except, two // at the beginning // of a pathname is allowed since this is important on windows. @@ -40086,7 +40592,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8 /* &.pCurrent */))))(tls, zIn, bp /* &buf */) != 0 { if (*(*int32)(unsafe.Pointer(libc.X__error(tls)))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+4827 /* "lstat" */, zIn, 40577) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+4842 /* "lstat" */, zIn, 40577) } } else { bLink = (libc.Bool32(((int32((*stat)(unsafe.Pointer(bp /* &buf */)).Fst_mode)) & S_IFMT) == S_IFLNK)) @@ -40106,7 +40612,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls, zIn, zDel, (uint64(nOut - 1)))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+4818 /* "readlink" */, zIn, 40595) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+4833 /* "readlink" */, zIn, 40595) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 @@ -40451,7 +40957,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixEnterMutex(tls) zErr = libc.Xdlerror(tls) if zErr != 0 { - Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+937 /* "%s" */, libc.VaList(bp, zErr)) + Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+952 /* "%s" */, libc.VaList(bp, zErr)) } unixLeaveMutex(tls) } @@ -40926,16 +41432,16 @@ func proxyGetLockPath(tls *libc.TLS, dbPath uintptr, lPath uintptr, maxLen Size_ { if !(libc.Xconfstr(tls, X_CS_DARWIN_USER_TEMP_DIR, lPath, maxLen) != 0) { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6147 /* "GETLOCKPATH fai..." */, libc.VaList(bp, lPath, *(*int32)(unsafe.Pointer(libc.X__error(tls))), libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+6162 /* "GETLOCKPATH fai..." */, libc.VaList(bp, lPath, *(*int32)(unsafe.Pointer(libc.X__error(tls))), libc.Xgetpid(tls))) } return (SQLITE_IOERR | (int32(15) << 8)) } - len = int32(libc.Xstrlcat(tls, lPath, ts+6187 /* "sqliteplocks" */, maxLen)) + len = int32(libc.Xstrlcat(tls, lPath, ts+6202 /* "sqliteplocks" */, maxLen)) } if int32(*(*int8)(unsafe.Pointer(lPath + uintptr((len - 1))))) != '/' { - len = int32(libc.Xstrlcat(tls, lPath, ts+6200 /* "/" */, maxLen)) + len = int32(libc.Xstrlcat(tls, lPath, ts+6215 /* "/" */, maxLen)) } // transform the db path to a unique cache name @@ -40950,9 +41456,9 @@ func proxyGetLockPath(tls *libc.TLS, dbPath uintptr, lPath uintptr, maxLen Size_ }() } *(*int8)(unsafe.Pointer(lPath + uintptr((i + len)))) = int8(0) - libc.Xstrlcat(tls, lPath, ts+6134 /* ":auto:" */, maxLen) + libc.Xstrlcat(tls, lPath, ts+6149 /* ":auto:" */, maxLen) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6202 /* "GETLOCKPATH pro..." */, libc.VaList(bp+24, lPath, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+6217 /* "GETLOCKPATH pro..." */, libc.VaList(bp+24, lPath, libc.Xgetpid(tls))) } return SQLITE_OK } @@ -40981,7 +41487,7 @@ func proxyCreateLockPath(tls *libc.TLS, lockPath uintptr) int32 { /* sqlite3.c:4 var err int32 = *(*int32)(unsafe.Pointer(libc.X__error(tls))) if err != EEXIST { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6242 /* "CREATELOCKPATH ..." */, libc.VaList(bp, bp+48 /* &buf[0] */, libc.Xstrerror(tls, err), lockPath, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+6257 /* "CREATELOCKPATH ..." */, libc.VaList(bp, bp+48 /* &buf[0] */, libc.Xstrerror(tls, err), lockPath, libc.Xgetpid(tls))) } return err } @@ -40992,7 +41498,7 @@ func proxyCreateLockPath(tls *libc.TLS, lockPath uintptr) int32 { /* sqlite3.c:4 *(*int8)(unsafe.Pointer(bp + 48 /* &buf[0] */ + uintptr(i))) = *(*int8)(unsafe.Pointer(lockPath + uintptr(i))) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6310 /* "CREATELOCKPATH ..." */, libc.VaList(bp+32, lockPath, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+6325 /* "CREATELOCKPATH ..." */, libc.VaList(bp+32, lockPath, libc.Xgetpid(tls))) } return 0 } @@ -41108,7 +41614,7 @@ __14: (*UnixFile)(unsafe.Pointer(pNew)).FopenFlags = openFlags libc.X__builtin___memset_chk(tls, bp /* &dummyVfs */, 0, uint64(unsafe.Sizeof(Sqlite3_vfs{})), libc.X__builtin_object_size(tls, bp /* &dummyVfs */, 0)) (*Sqlite3_vfs)(unsafe.Pointer(bp /* &dummyVfs */)).FpAppData = uintptr(unsafe.Pointer(&autolockIoFinder)) - (*Sqlite3_vfs)(unsafe.Pointer(bp /* &dummyVfs */)).FzName = ts + 6353 /* "dummy" */ + (*Sqlite3_vfs)(unsafe.Pointer(bp /* &dummyVfs */)).FzName = ts + 6368 /* "dummy" */ (*UnixUnusedFd)(unsafe.Pointer(pUnused)).Ffd = fd (*UnixUnusedFd)(unsafe.Pointer(pUnused)).Fflags = openFlags (*UnixFile)(unsafe.Pointer(pNew)).FpPreallocatedUnused = pUnused @@ -41185,17 +41691,17 @@ func proxyBreakConchLock(tls *libc.TLS, pFile uintptr, myHostID uintptr) int32 { cPath = (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FconchFilePath readLen = uint64(0) pathLen = uint64(0) - *(*[64]int8)(unsafe.Pointer(bp + 1088 /* errmsg */)) = *(*[64]int8)(unsafe.Pointer(ts + 6359 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." */)) + *(*[64]int8)(unsafe.Pointer(bp + 1088 /* errmsg */)) = *(*[64]int8)(unsafe.Pointer(ts + 6374 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." */)) fd = -1 rc = -1 _ = myHostID // create a new path by replace the trailing '-conch' with '-break' pathLen = libc.Xstrlcpy(tls, bp+64 /* &tPath[0] */, cPath, uint64(PATH_MAX)) - if !(((pathLen > uint64(PATH_MAX)) || (pathLen < uint64(6))) || (libc.Xstrlcpy(tls, (bp+64 /* &tPath */ +uintptr((pathLen-uint64(5)))), ts+6423 /* "break" */, uint64(6)) != uint64(5))) { + if !(((pathLen > uint64(PATH_MAX)) || (pathLen < uint64(6))) || (libc.Xstrlcpy(tls, (bp+64 /* &tPath */ +uintptr((pathLen-uint64(5)))), ts+6438 /* "break" */, uint64(6)) != uint64(5))) { goto __1 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+6429 /* "path error (len ..." */, libc.VaList(bp, int32(pathLen))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+6444 /* "path error (len ..." */, libc.VaList(bp, int32(pathLen))) goto end_breaklock __1: ; @@ -41204,7 +41710,7 @@ __1: if !(readLen < (uint64(PROXY_HEADERLEN + PROXY_HOSTIDLEN))) { goto __2 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+6449 /* "read error (len ..." */, libc.VaList(bp+8, int32(readLen))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+6464 /* "read error (len ..." */, libc.VaList(bp+8, int32(readLen))) goto end_breaklock __2: ; @@ -41213,26 +41719,26 @@ __2: if !(fd < 0) { goto __3 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+6469 /* "create failed (%..." */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+6484 /* "create failed (%..." */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) goto end_breaklock __3: ; if !((*(*func(*libc.TLS, int32, uintptr, Size_t, Off_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 12*24 + 8 /* &.pCurrent */))))(tls, fd, bp+1152 /* &buf[0] */, readLen, int64(0)) != Ssize_t(readLen)) { goto __4 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+6488 /* "write failed (%d..." */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+6503 /* "write failed (%d..." */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) goto end_breaklock __4: ; if !(libc.Xrename(tls, bp+64 /* &tPath[0] */, cPath) != 0) { goto __5 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+6506 /* "rename failed (%..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+1088 /* &errmsg[0] */, ts+6521 /* "rename failed (%..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) goto end_breaklock __5: ; rc = 0 - libc.Xfprintf(tls, libc.X__stderrp, ts+6525 /* "broke stale lock..." */, libc.VaList(bp+40, cPath)) + libc.Xfprintf(tls, libc.X__stderrp, ts+6540 /* "broke stale lock..." */, libc.VaList(bp+40, cPath)) robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, 41282) (*UnixFile)(unsafe.Pointer(conchFile)).Fh = fd (*UnixFile)(unsafe.Pointer(conchFile)).FopenFlags = (O_RDWR | O_CREAT) @@ -41248,7 +41754,7 @@ end_breaklock: robust_close(tls, pFile, fd, 41290) __7: ; - libc.Xfprintf(tls, libc.X__stderrp, ts+6549 /* "failed to break ..." */, libc.VaList(bp+48, cPath, bp+1088 /* &errmsg[0] */)) + libc.Xfprintf(tls, libc.X__stderrp, ts+6564 /* "failed to break ..." */, libc.VaList(bp+48, cPath, bp+1088 /* &errmsg[0] */)) __6: ; return rc @@ -41387,11 +41893,11 @@ __1: if !(Xsqlite3OSTrace != 0) { goto __3 } - Xsqlite3DebugPrintf(tls, ts+6587 /* "TAKECONCH %d fo..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+6602 /* "TAKECONCH %d fo..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, func() uintptr { if (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath != 0 { return (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath } - return ts + 6134 /* ":auto:" */ + return ts + 6149 /* ":auto:" */ }(), libc.Xgetpid(tls))) __3: ; @@ -41570,7 +42076,7 @@ end_takeconch: if !(Xsqlite3OSTrace != 0) { goto __29 } - Xsqlite3DebugPrintf(tls, ts+6616 /* "TRANSPROXY: CLOS..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6631 /* "TRANSPROXY: CLOS..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) __29: ; if !((rc == SQLITE_OK) && ((*UnixFile)(unsafe.Pointer(pFile)).FopenFlags != 0)) { @@ -41587,7 +42093,7 @@ __31: if !(Xsqlite3OSTrace != 0) { goto __32 } - Xsqlite3DebugPrintf(tls, ts+6639 /* "TRANSPROXY: OPEN..." */, libc.VaList(bp+32, fd)) + Xsqlite3DebugPrintf(tls, ts+6654 /* "TRANSPROXY: OPEN..." */, libc.VaList(bp+32, fd)) __32: ; if !(fd >= 0) { @@ -41662,11 +42168,11 @@ __41: if !(Xsqlite3OSTrace != 0) { goto __43 } - Xsqlite3DebugPrintf(tls, ts+6661 /* "TAKECONCH %d %s..." */, libc.VaList(bp+40, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+6676 /* "TAKECONCH %d %s..." */, libc.VaList(bp+40, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, func() uintptr { if rc == SQLITE_OK { - return ts + 5216 /* "ok" */ + return ts + 5231 /* "ok" */ } - return ts + 5219 /* "failed" */ + return ts + 5234 /* "failed" */ }())) __43: ; @@ -41697,11 +42203,11 @@ func proxyReleaseConch(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:41600: pCtx = (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext conchFile = (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FconchFile if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6679 /* "RELEASECONCH %d..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+6694 /* "RELEASECONCH %d..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, func() uintptr { if (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath != 0 { return (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath } - return ts + 6134 /* ":auto:" */ + return ts + 6149 /* ":auto:" */ }(), libc.Xgetpid(tls))) } if (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FconchHeld > 0 { @@ -41709,11 +42215,11 @@ func proxyReleaseConch(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:41600: } (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FconchHeld = 0 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6711 /* "RELEASECONCH %d..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+6726 /* "RELEASECONCH %d..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, func() uintptr { if rc == SQLITE_OK { - return ts + 5216 /* "ok" */ + return ts + 5231 /* "ok" */ } - return ts + 5219 /* "failed" */ + return ts + 5234 /* "failed" */ }())) } return rc @@ -41755,7 +42261,7 @@ func proxyCreateConchPathname(tls *libc.TLS, dbPath uintptr, pConchPath uintptr) } // append the "-conch" suffix to the file - libc.X__builtin___memcpy_chk(tls, (conchPath + uintptr((i + 1))), ts+6732 /* "-conch" */, uint64(7), libc.X__builtin_object_size(tls, (conchPath+uintptr((i+1))), 0)) + libc.X__builtin___memcpy_chk(tls, (conchPath + uintptr((i + 1))), ts+6747 /* "-conch" */, uint64(7), libc.X__builtin_object_size(tls, (conchPath+uintptr((i+1))), 0)) return SQLITE_OK } @@ -41772,7 +42278,7 @@ func switchLockProxyPath(tls *libc.TLS, pFile uintptr, path uintptr) int32 { /* } // nothing to do if the path is NULL, :auto: or matches the existing path - if ((!(path != 0) || (int32(*(*int8)(unsafe.Pointer(path))) == 0)) || !(libc.Xstrcmp(tls, path, ts+6134 /* ":auto:" */) != 0)) || ((oldPath != 0) && !(libc.Xstrncmp(tls, oldPath, path, uint64(PATH_MAX)) != 0)) { + if ((!(path != 0) || (int32(*(*int8)(unsafe.Pointer(path))) == 0)) || !(libc.Xstrcmp(tls, path, ts+6149 /* ":auto:" */) != 0)) || ((oldPath != 0) && !(libc.Xstrncmp(tls, oldPath, path, uint64(PATH_MAX)) != 0)) { return SQLITE_OK } else { var lockProxy uintptr = (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxy @@ -41807,7 +42313,7 @@ func proxyGetDbPathForUnixFile(tls *libc.TLS, pFile uintptr, dbPath uintptr) int } else if (*UnixFile)(unsafe.Pointer(pFile)).FpMethod == uintptr(unsafe.Pointer(&dotlockIoMethods)) { // dot lock style uses the locking context to store the dot lock // file path - var len int32 = (int32(libc.Xstrlen(tls, (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext) - libc.Xstrlen(tls, ts+6739 /* ".lock" */))) + var len int32 = (int32(libc.Xstrlen(tls, (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext) - libc.Xstrlen(tls, ts+6754 /* ".lock" */))) libc.X__builtin___memcpy_chk(tls, dbPath, (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext, (uint64(len + 1)), libc.X__builtin_object_size(tls, dbPath, 0)) } else { // all other styles use the locking context to store the db file path @@ -41837,18 +42343,18 @@ func proxyTransformUnixFile(tls *libc.TLS, pFile uintptr, path uintptr) int32 { return SQLITE_BUSY } proxyGetDbPathForUnixFile(tls, pFile, bp+40 /* &dbPath[0] */) - if (!(path != 0) || (int32(*(*int8)(unsafe.Pointer(path))) == 0)) || !(libc.Xstrcmp(tls, path, ts+6134 /* ":auto:" */) != 0) { + if (!(path != 0) || (int32(*(*int8)(unsafe.Pointer(path))) == 0)) || !(libc.Xstrcmp(tls, path, ts+6149 /* ":auto:" */) != 0) { lockPath = uintptr(0) } else { lockPath = path } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6745 /* "TRANSPROXY %d f..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+6760 /* "TRANSPROXY %d f..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, func() uintptr { if lockPath != 0 { return lockPath } - return ts + 6134 /* ":auto:" */ + return ts + 6149 /* ":auto:" */ }(), libc.Xgetpid(tls))) } @@ -41911,11 +42417,11 @@ func proxyTransformUnixFile(tls *libc.TLS, pFile uintptr, path uintptr) int32 { Xsqlite3_free(tls, pCtx) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6775 /* "TRANSPROXY %d %..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).Fh, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+6790 /* "TRANSPROXY %d %..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).Fh, func() uintptr { if rc == SQLITE_OK { - return ts + 5216 /* "ok" */ + return ts + 5231 /* "ok" */ } - return ts + 5219 /* "failed" */ + return ts + 5234 /* "failed" */ }())) } return rc @@ -41934,7 +42440,7 @@ func proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { if (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath != 0 { *(*uintptr)(unsafe.Pointer(pArg)) = (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath } else { - *(*uintptr)(unsafe.Pointer(pArg)) = ts + 6794 /* ":auto: (not held..." */ + *(*uintptr)(unsafe.Pointer(pArg)) = ts + 6809 /* ":auto: (not held..." */ } } else { *(*uintptr)(unsafe.Pointer(pArg)) = uintptr(0) @@ -41961,7 +42467,7 @@ func proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { var proxyPath uintptr = pArg if isProxyStyle != 0 { var pCtx uintptr = (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext - if !(libc.Xstrcmp(tls, pArg, ts+6134 /* ":auto:" */) != 0) || + if !(libc.Xstrcmp(tls, pArg, ts+6149 /* ":auto:" */) != 0) || (((*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath != 0) && !(libc.Xstrncmp(tls, (*ProxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath, proxyPath, uint64(PATH_MAX)) != 0)) { rc = SQLITE_OK } else { @@ -42164,15 +42670,15 @@ func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42038:16: */ } var aVfs = [9]Sqlite3_vfs{ - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6812 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6817 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6827 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5988 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6840 /* "unix-posix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6851 /* "unix-flock" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6862 /* "unix-afp" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6871 /* "unix-nfs" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6880 /* "unix-proxy" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6827 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6832 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6842 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6003 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6855 /* "unix-posix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6866 /* "unix-flock" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6877 /* "unix-afp" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6886 /* "unix-nfs" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 6895 /* "unix-proxy" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, } /* sqlite3.c:42091:22 */ // Shutdown the operating system interface. @@ -42267,7 +42773,7 @@ var memdb_g MemFS /* sqlite3.c:48620:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) FmxPathname: 1024, // pNext - FzName: ts + 6891, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 6906, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -42499,7 +43005,7 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 var rc int32 = SQLITE_NOTFOUND memdbEnter(tls, p) if op == SQLITE_FCNTL_VFSNAME { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+6897 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+6912 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == SQLITE_FCNTL_SIZE_LIMIT { @@ -42642,7 +43148,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(8) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+937 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+952 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } @@ -42759,7 +43265,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = Xsqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, ts+6912 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+6927 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) } else { @@ -42832,7 +43338,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+6935 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+6950 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) if !(zSql == uintptr(0)) { goto __3 } @@ -48332,7 +48838,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+6950, /* "recovered %d pag..." */ + Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+6965, /* "recovered %d pag..." */ libc.VaList(bp, nPlayback, (*Pager)(unsafe.Pointer(pPager)).FzJournal)) __27: ; @@ -50101,7 +50607,7 @@ __15: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzJournal = pPtr libc.X__builtin___memcpy_chk(tls, pPtr, zPathname, uint64(nPathname), libc.X__builtin_object_size(tls, pPtr, 0)) pPtr += uintptr(nPathname) - libc.X__builtin___memcpy_chk(tls, pPtr, ts+6977 /* "-journal" */, uint64(8), libc.X__builtin_object_size(tls, pPtr, 0)) + libc.X__builtin___memcpy_chk(tls, pPtr, ts+6992 /* "-journal" */, uint64(8), libc.X__builtin_object_size(tls, pPtr, 0)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -50116,7 +50622,7 @@ __19: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzWal = pPtr libc.X__builtin___memcpy_chk(tls, pPtr, zPathname, uint64(nPathname), libc.X__builtin_object_size(tls, pPtr, 0)) pPtr += uintptr(nPathname) - libc.X__builtin___memcpy_chk(tls, pPtr, ts+6986 /* "-wal" */, uint64(4), libc.X__builtin_object_size(tls, pPtr, 0)) + libc.X__builtin___memcpy_chk(tls, pPtr, ts+7001 /* "-wal" */, uint64(4), libc.X__builtin_object_size(tls, pPtr, 0)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -50175,9 +50681,9 @@ __27: ; __26: ; - (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+6991 /* "nolock" */, 0)) + (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+7006 /* "nolock" */, 0)) if !(((iDc & SQLITE_IOCAP_IMMUTABLE) != 0) || - (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+6998 /* "immutable" */, 0) != 0)) { + (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+7013 /* "immutable" */, 0) != 0)) { goto __30 } vfsFlags = vfsFlags | (SQLITE_OPEN_READONLY) @@ -54098,7 +54604,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+7008, /* "recovered %d fra..." */ + ts+7023, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -54843,7 +55349,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+7045 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) + Xsqlite3_log(tls, rx, ts+7060 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) } } @@ -57623,7 +58129,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:65443: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 7071 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 7086 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -59663,7 +60169,7 @@ func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt mutexOpen = uintptr(0) rc = SQLITE_OK isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zFilename))) == 0))) - isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+7087 /* ":memory:" */) == 0)) || + isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+7102 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -60537,7 +61043,7 @@ __10: // // The original design allowed these amounts to vary, but as of // version 3.6.0, we require them to be fixed. - if !(libc.Xmemcmp(tls, (page1+21), ts+7096 /* "@ " */, uint64(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+7111 /* "@ " */, uint64(3)) != 0) { goto __14 } goto page1_init_failed @@ -68051,7 +68557,7 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+7100 /* "\n" */, 1) + Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+7115 /* "\n" */, 1) } if (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, (pCheck + 56 /* &.errMsg */), (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -68087,11 +68593,11 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 defer tls.Free(16) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { - checkAppendMsg(tls, pCheck, ts+7102 /* "invalid page num..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+7117 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+7125 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) + checkAppendMsg(tls, pCheck, ts+7140 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -68118,13 +68624,13 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 } - checkAppendMsg(tls, pCheck, ts+7150 /* "Failed to read p..." */, libc.VaList(bp, iChild)) + checkAppendMsg(tls, pCheck, ts+7165 /* "Failed to read p..." */, libc.VaList(bp, iChild)) return } if (int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, - ts+7179, /* "Bad ptr map entr..." */ + ts+7194, /* "Bad ptr map entr..." */ libc.VaList(bp+8, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)))) } } @@ -68147,7 +68653,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } N-- if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+40 /* &pOvflPage */, 0) != 0 { - checkAppendMsg(tls, pCheck, ts+7233 /* "failed to get pa..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+7248 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) @@ -68158,7 +68664,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+7255 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) + ts+7270 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -68184,12 +68690,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, - ts+7294, /* "%s is %d but sho..." */ + ts+7309, /* "%s is %d but sho..." */ libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { - return ts + 7320 /* "size" */ + return ts + 7335 /* "size" */ } - return ts + 7325 /* "overflow list le..." */ + return ts + 7340 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -68333,13 +68839,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 7346 /* "Page %u: " */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 7361 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+96 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, - ts+7356 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+7371 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -68353,7 +68859,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+7394 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) + ts+7409 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; @@ -68361,7 +68867,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+7432 /* "free space corru..." */, libc.VaList(bp+16, rc)) + checkAppendMsg(tls, pCheck, ts+7447 /* "free space corru..." */, libc.VaList(bp+16, rc)) goto end_of_check __5: ; @@ -68369,7 +68875,7 @@ __5: hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FhdrOffset) // Set up for cell analysis - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 7454 /* "On tree page %u ..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 7469 /* "On tree page %u ..." */ contentOffset = (U32(((((int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5)))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5))) + 1)))) - 1) & 0xffff) + 1)) // Enforced by btreeInitPage() @@ -68391,7 +68897,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 7480 /* "On page %u at ri..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 7495 /* "On page %u at ri..." */ checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; @@ -68422,7 +68928,7 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+7508, /* "Offset %d out of..." */ + checkAppendMsg(tls, pCheck, ts+7523, /* "Offset %d out of..." */ libc.VaList(bp+24, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 @@ -68433,7 +68939,7 @@ __12: if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+7538 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+7553 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -68451,7 +68957,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+7562 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+7577 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) __15: ; *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 112 /* &info */)).FnKey @@ -68492,7 +68998,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+7586 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+7601 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -68590,7 +69096,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+7611 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) + ts+7626 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) goto __30 goto __32 __31: @@ -68610,7 +69116,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+7648, /* "Fragmentation of..." */ + ts+7663, /* "Fragmentation of..." */ libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -68739,7 +69245,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 7700 /* "Main freelist: " */ + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 7715 /* "Main freelist: " */ checkList(tls, bp+32 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) @@ -68777,7 +69283,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+7716, /* "max rootpage (%d..." */ + ts+7731, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -68787,7 +69293,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+7761 /* "incremental_vacu..." */, 0) + ts+7776 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -68837,13 +69343,13 @@ __23: if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+7816 /* "Page %d is never..." */, libc.VaList(bp+16, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+7831 /* "Page %d is never..." */, libc.VaList(bp+16, i)) __26: ; if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+7838 /* "Pointer map page..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+7853 /* "Pointer map page..." */, libc.VaList(bp+24, i)) __27: ; goto __24 @@ -69162,7 +69668,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt libc.X__builtin___memset_chk(tls, bp+16 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{})), libc.X__builtin_object_size(tls, bp+16 /* &sParse */, 0)) (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = pDb if Xsqlite3OpenTempDatabase(tls, bp+16 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+937 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+952 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg) @@ -69173,7 +69679,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+7872 /* "unknown database..." */, libc.VaList(bp+8, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+7887 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -69194,7 +69700,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76336:12: */ // message in database handle db. func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:76348:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { - Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+7892 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+7907 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -69221,7 +69727,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+7923 /* "source and desti..." */, 0) + pDestDb, SQLITE_ERROR, ts+7938 /* "source and desti..." */, 0) p = uintptr(0) } else { // Allocate space for a new sqlite3_backup object... @@ -69835,7 +70341,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 8 /* x */)), zBuf) } else { Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+7963, /* "%!.15g" */ + Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+7978, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -70476,7 +70982,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -70682,6 +71188,8 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 (*Mem)(unsafe.Pointer(pMem)).Fflags = flags if enc != 0 { (*Mem)(unsafe.Pointer(pMem)).Fenc = enc + } else if (*Mem)(unsafe.Pointer(pMem)).Fdb == uintptr(0) { + (*Mem)(unsafe.Pointer(pMem)).Fenc = U8(SQLITE_UTF8) } else { (*Mem)(unsafe.Pointer(pMem)).Fenc = (*Sqlite3)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fdb)).Fenc @@ -70987,7 +71495,7 @@ __9: goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+937 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) + Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+952 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: Xsqlite3ValueApplyAffinity(tls, pVal, aff, uint8(SQLITE_UTF8)) @@ -71059,7 +71567,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 zVal = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = uintptr(0) negInt = 1 - zNeg = ts + 901 /* "" */ + zNeg = ts + 916 /* "" */ rc = SQLITE_OK __1: @@ -71108,7 +71616,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 7970 /* "-" */ + zNeg = ts + 7985 /* "-" */ __6: ; @@ -71128,7 +71636,7 @@ __9: Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: - zVal = Xsqlite3MPrintf(tls, db, ts+7972 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + zVal = Xsqlite3MPrintf(tls, db, ts+7987 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) if !(zVal == uintptr(0)) { goto __12 } @@ -72642,8 +73150,8 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint var seenCom int32 = 0 var c int8 zSynopsis = libc.AssignAddUintptr(&zOpName, (uintptr(nOpName + 1))) - if libc.Xstrncmp(tls, zSynopsis, ts+7977 /* "IF " */, uint64(3)) == 0 { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+104 /* &zAlt[0] */, ts+7981 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) + if libc.Xstrncmp(tls, zSynopsis, ts+7992 /* "IF " */, uint64(3)) == 0 { + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+104 /* &zAlt[0] */, ts+7996 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) zSynopsis = bp + 104 /* &zAlt[0] */ } for ii = 0; (int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zSynopsis + uintptr(ii)))))) != 0; ii++ { @@ -72657,24 +73165,24 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } else { var v1 int32 = translateP(tls, c, pOp) var v2 int32 - if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+7995 /* "@P" */, uint64(2)) == 0 { + if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+8010 /* "@P" */, uint64(2)) == 0 { ii = ii + (3) v2 = translateP(tls, *(*int8)(unsafe.Pointer(zSynopsis + uintptr(ii))), pOp) - if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+7998 /* "+1" */, uint64(2)) == 0 { + if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+8013 /* "+1" */, uint64(2)) == 0 { ii = ii + (2) v2++ } if v2 < 2 { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+8001 /* "%d" */, libc.VaList(bp+8, v1)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+8016 /* "%d" */, libc.VaList(bp+8, v1)) } else { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+8004 /* "%d..%d" */, libc.VaList(bp+16, v1, ((v1+v2)-1))) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+8019 /* "%d..%d" */, libc.VaList(bp+16, v1, ((v1+v2)-1))) } - } else if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+8011 /* "@NP" */, uint64(3)) == 0 { + } else if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+8026 /* "@NP" */, uint64(3)) == 0 { var pCtx uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) if (int32((*Op)(unsafe.Pointer(pOp)).Fp4type) != (-16)) || (int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) == 1) { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+8001 /* "%d" */, libc.VaList(bp+32, v1)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+8016 /* "%d" */, libc.VaList(bp+32, v1)) } else if int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) > 1 { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+8004 /* "%d..%d" */, libc.VaList(bp+40, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+8019 /* "%d..%d" */, libc.VaList(bp+40, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) } else if int32((*StrAccum)(unsafe.Pointer(bp+72 /* &x */)).FaccError) == 0 { *(*U32)(unsafe.Pointer(bp + 72 /* &x */ + 24 /* &.nChar */)) -= (U32(2)) @@ -72682,8 +73190,8 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } ii = ii + (3) } else { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+8001 /* "%d" */, libc.VaList(bp+56, v1)) - if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+8015 /* "..P3" */, uint64(4)) == 0) && ((*Op)(unsafe.Pointer(pOp)).Fp3 == 0) { + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+8016 /* "%d" */, libc.VaList(bp+56, v1)) + if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+8030 /* "..P3" */, uint64(4)) == 0) && ((*Op)(unsafe.Pointer(pOp)).Fp3 == 0) { ii = ii + (4) } } @@ -72693,7 +73201,7 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } } if !(seenCom != 0) && ((*Op)(unsafe.Pointer(pOp)).FzComment != 0) { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+8020 /* "; %s" */, libc.VaList(bp+64, (*Op)(unsafe.Pointer(pOp)).FzComment)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+8035 /* "; %s" */, libc.VaList(bp+64, (*Op)(unsafe.Pointer(pOp)).FzComment)) } } else if (*Op)(unsafe.Pointer(pOp)).FzComment != 0 { Xsqlite3_str_appendall(tls, bp+72 /* &x */, (*Op)(unsafe.Pointer(pOp)).FzComment) @@ -72720,34 +73228,34 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8025 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8040 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 32 /* &.aColl */) + uintptr(j)*8)) var zColl uintptr if pColl != 0 { zColl = (*CollSeq)(unsafe.Pointer(pColl)).FzName } else { - zColl = ts + 901 /* "" */ + zColl = ts + 916 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+464 /* "BINARY" */) == 0 { - zColl = ts + 8030 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+479 /* "BINARY" */) == 0 { + zColl = ts + 8045 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8032, /* ",%s%s%s" */ + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8047, /* ",%s%s%s" */ libc.VaList(bp+8, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { - return ts + 7970 /* "-" */ + return ts + 7985 /* "-" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 8040 /* "N." */ + return ts + 8055 /* "N." */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+8043 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+8058 /* ")" */, 1) break } @@ -72755,7 +73263,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8045 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8060 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -72763,32 +73271,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8054 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8069 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8054 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8069 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8061 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8076 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8001 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8016 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+684 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+699 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -72798,14 +73306,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8061 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8076 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+684 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+699 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { - zP4 = ts + 902 /* "NULL" */ + zP4 = ts + 917 /* "NULL" */ } else { - zP4 = ts + 8066 /* "(blob)" */ + zP4 = ts + 8081 /* "(blob)" */ } break @@ -72813,7 +73321,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8073 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8088 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -72824,20 +73332,20 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8081 /* "%c%u" */, libc.VaList(bp+128, func() int32 { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+8096 /* "%c%u" */, libc.VaList(bp+128, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+8086 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+8101 /* "]" */, 1) break } case -4: { - zP4 = ts + 8088 /* "program" */ + zP4 = ts + 8103 /* "program" */ break } @@ -72869,7 +73377,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } -var encnames = [4]uintptr{ts + 8096 /* "?" */, ts + 8098 /* "8" */, ts + 8100 /* "16LE" */, ts + 8105 /* "16BE" */} /* sqlite3.c:80570:25 */ +var encnames = [4]uintptr{ts + 8111 /* "?" */, ts + 8113 /* "8" */, ts + 8115 /* "16LE" */, ts + 8120 /* "16BE" */} /* sqlite3.c:80570:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -73414,8 +73922,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 8110 /* "addr" */, ts + 8115 /* "opcode" */, ts + 8122 /* "p1" */, ts + 8125 /* "p2" */, ts + 8128 /* "p3" */, ts + 8131 /* "p4" */, ts + 8134 /* "p5" */, ts + 8137, /* "comment" */ - ts + 8145 /* "id" */, ts + 8148 /* "parent" */, ts + 8155 /* "notused" */, ts + 8163, /* "detail" */ + ts + 8125 /* "addr" */, ts + 8130 /* "opcode" */, ts + 8137 /* "p1" */, ts + 8140 /* "p2" */, ts + 8143 /* "p3" */, ts + 8146 /* "p4" */, ts + 8149 /* "p5" */, ts + 8152, /* "comment" */ + ts + 8160 /* "id" */, ts + 8163 /* "parent" */, ts + 8170 /* "notused" */, ts + 8178, /* "detail" */ } /* sqlite3.c:81298:23 */ // Close a VDBE cursor and release all the resources that cursor @@ -73663,7 +74171,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Select a super-journal file name nMainFile = Xsqlite3Strlen30(tls, zMainFile) - zSuper = Xsqlite3MPrintf(tls, db, ts+8170 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) + zSuper = Xsqlite3MPrintf(tls, db, ts+8185 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) if zSuper == uintptr(0) { return SQLITE_NOMEM } @@ -73673,16 +74181,16 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+8182 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+8197 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+8196 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+8211 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) } } retryCount++ Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &iRandom */) - Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+8211, /* "-mj%06X9%02X" */ + Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+8226, /* "-mj%06X9%02X" */ libc.VaList(bp+40, ((*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. @@ -73877,7 +74385,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq (!(deferred != 0) && ((*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0))) { (*Vdbe)(unsafe.Pointer(p)).Frc = (SQLITE_CONSTRAINT | (int32(3) << 8)) (*Vdbe)(unsafe.Pointer(p)).FerrorAction = U8(OE_Abort) - Xsqlite3VdbeError(tls, p, ts+8224 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+8239 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -74159,7 +74667,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: // called), set the database error in this case as well. Xsqlite3ErrorWithMsg(tls, db, (*Vdbe)(unsafe.Pointer(p)).Frc, func() uintptr { if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { - return ts + 937 /* "%s" */ + return ts + 952 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -75711,13 +76219,13 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023 var zContext uintptr var zMsg uintptr if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_IsCheck) != 0 { - zContext = ts + 8254 /* "a CHECK constrai..." */ + zContext = ts + 8269 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 8273 /* "a generated colu..." */ + zContext = ts + 8288 /* "a generated colu..." */ } else { - zContext = ts + 8292 /* "an index" */ + zContext = ts + 8307 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+8301, /* "non-deterministi..." */ + zMsg = Xsqlite3_mprintf(tls, ts+8316, /* "non-deterministi..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -75848,7 +76356,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84185:1 // invalid). Return false if it is ok. func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+8337 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+8352 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -75858,7 +76366,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84204:12: */ if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+8382 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+8397 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -76328,7 +76836,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:84708:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG - Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+8422 /* "string or blob t..." */, int64(-1), + Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+8437 /* "string or blob t..." */, int64(-1), uint8(SQLITE_UTF8), uintptr(0)) } @@ -77079,7 +77587,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12 Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+8445 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) + ts+8460 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) return Xsqlite3MisuseError(tls, 85498) } if (i < 1) || (i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar)) { @@ -77856,7 +78364,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+8485 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+8500 /* "-- " */, 3) Xsqlite3_str_append(tls, bp+48 /* &out */, zStart, (int32((int64(zRawSql) - int64(zStart)) / 1))) } @@ -77894,11 +78402,11 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 184 /* idx */))-1))*56) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+902 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+917 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+8061 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+8076 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7963 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7978 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc @@ -77913,21 +78421,21 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = bp + 192 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+8489 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+8504 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { Xsqlite3VdbeMemRelease(tls, bp+192 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+8496 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+8511 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+8509 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+8524 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+8512 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+8527 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+8517 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+8532 /* "'" */, 1) } } } @@ -81649,19 +82157,19 @@ __192: goto __195 } - Xsqlite3VdbeError(tls, p, ts+8519 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) + Xsqlite3VdbeError(tls, p, ts+8534 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __197 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+8540 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+8555 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __197: ; goto __196 __195: - Xsqlite3VdbeError(tls, p, ts+937 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+952 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __196: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+8547 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+8562 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __194: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -84212,7 +84720,7 @@ __76: } // A new savepoint cannot be created if there are active write // statements (i.e. open read/write incremental blob handles). - Xsqlite3VdbeError(tls, p, ts+8571 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+8586 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __450 __449: @@ -84285,7 +84793,7 @@ __457: if !(!(pSavepoint != 0)) { goto __458 } - Xsqlite3VdbeError(tls, p, ts+8622 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) + Xsqlite3VdbeError(tls, p, ts+8637 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) rc = SQLITE_ERROR goto __459 __458: @@ -84295,7 +84803,7 @@ __458: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+8644 /* "cannot release s..." */, 0) + ts+8659 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __461 __460: @@ -84500,7 +85008,7 @@ __490: // If this instruction implements a COMMIT and other VMs are writing // return an error indicating that the other VMs must complete first. Xsqlite3VdbeError(tls, p, - ts+8698 /* "cannot commit tr..." */, 0) + ts+8713 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __493 @@ -84543,13 +85051,13 @@ __488: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 8753 /* "cannot start a t..." */ + return ts + 8768 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 8801 /* "cannot rollback ..." */ + return ts + 8816 /* "cannot rollback ..." */ } - return ts + 8844 /* "cannot commit - ..." */ + return ts + 8859 /* "cannot commit - ..." */ }() }(), 0) @@ -84667,7 +85175,7 @@ __500: // version is checked to ensure that the schema has not changed since the // SQL statement was prepared. Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+8885 /* "database schema ..." */) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+8900 /* "database schema ..." */) // If the schema-cookie from the database file matches the cookie // stored with the in-memory representation of the schema, do // not reload the schema from the database file. @@ -85049,7 +85557,7 @@ __86: // Only used when number of columns is zero (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fn = 0 - (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 901 /* "" */ + (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 916 /* "" */ __526: ; pCx1 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -87191,7 +87699,7 @@ __691: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __694 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+8913 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+8928 /* "index corruption" */) goto abort_due_to_error __694: ; @@ -87624,14 +88132,14 @@ __139: goto __723 __722: - zSchema = ts + 8930 /* "sqlite_master" */ + zSchema = ts + 8945 /* "sqlite_master" */ (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FiDb = iDb3 (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FpzErrMsg = (p + 168 /* &.zErrMsg */) (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmInitFlags = U32(0) (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+8944, /* "SELECT*FROM\"%w\"...." */ + ts+8959, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp+64, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __724 @@ -87964,7 +88472,7 @@ __744: goto __749 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+8987 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+9002 /* "too many levels ..." */, 0) goto abort_due_to_error __749: ; @@ -88409,7 +88917,7 @@ __784: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __786 } - Xsqlite3VdbeError(tls, p, ts+937 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+952 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __786: ; @@ -88487,7 +88995,7 @@ __791: if !(rc != 0) { goto __792 } - Xsqlite3VdbeError(tls, p, ts+937 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+952 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __792: ; @@ -88602,12 +89110,12 @@ __801: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+9024, /* "cannot change %s..." */ + ts+9039, /* "cannot change %s..." */ libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 9076 /* "into" */ + return ts + 9091 /* "into" */ } - return ts + 9081 /* "out of" */ + return ts + 9096 /* "out of" */ }())) goto abort_due_to_error goto __804 @@ -88810,7 +89318,7 @@ __169: goto __819 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+9088 /* "database table i..." */, libc.VaList(bp+112, z1)) + Xsqlite3VdbeError(tls, p, ts+9103 /* "database table i..." */, libc.VaList(bp+112, z1)) __819: ; goto abort_due_to_error @@ -89054,7 +89562,7 @@ __836: if !((*Sqlite3_context)(unsafe.Pointer(bp+872 /* &sContext */)).FisError > 0) { goto __837 } - Xsqlite3VdbeError(tls, p, ts+937 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) + Xsqlite3VdbeError(tls, p, ts+952 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) rc = (*Sqlite3_context)(unsafe.Pointer(bp + 872 /* &sContext */)).FisError __837: ; @@ -89387,7 +89895,7 @@ __860: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __865 } - Xsqlite3VdbeError(tls, p, ts+937 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+952 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __865: ; @@ -89478,7 +89986,7 @@ __870: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __872 } - z3 = Xsqlite3MPrintf(tls, db, ts+9117 /* "-- %s" */, libc.VaList(bp+136, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+9132 /* "-- %s" */, libc.VaList(bp+136, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __873 @@ -89581,13 +90089,13 @@ __881: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __883 } - Xsqlite3VdbeError(tls, p, ts+937 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+952 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) __883: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) - Xsqlite3_log(tls, rc, ts+9123, /* "statement aborts..." */ + Xsqlite3_log(tls, rc, ts+9138, /* "statement aborts..." */ libc.VaList(bp+152, (int32((int64(pOp)-int64(aOp))/32)), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { @@ -89632,14 +90140,14 @@ __887: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+8422 /* "string or blob t..." */, 0) + Xsqlite3VdbeError(tls, p, ts+8437 /* "string or blob t..." */, 0) rc = SQLITE_TOOBIG goto abort_due_to_error // Jump to here if a malloc() fails. no_mem: Xsqlite3OomFault(tls, db) - Xsqlite3VdbeError(tls, p, ts+9155 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+9170 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -89652,8 +90160,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 9169 /* "NOT NULL" */, ts + 9178 /* "UNIQUE" */, ts + 9185, /* "CHECK" */ - ts + 9191 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ +var azType = [4]uintptr{ts + 9184 /* "NOT NULL" */, ts + 9193 /* "UNIQUE" */, ts + 9200, /* "CHECK" */ + ts + 9206 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:88844:32 */ var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:88847:32 */ var aFlag1 = [2]U16{U16(MEM_Blob), (U16(MEM_Str | MEM_Term))} /* sqlite3.c:89315:24 */ @@ -89760,16 +90268,16 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } if type1 < U32(12) { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+9203, /* "cannot open valu..." */ + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+9218, /* "cannot open valu..." */ libc.VaList(bp, func() uintptr { if type1 == U32(0) { - return ts + 9232 /* "null" */ + return ts + 9247 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 9237 /* "real" */ + return ts + 9252 /* "real" */ } - return ts + 9242 /* "integer" */ + return ts + 9257 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -89789,10 +90297,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+9250 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+9265 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+937 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+952 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -89855,21 +90363,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+9270 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+9285 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+9300 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+9315 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+9336 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+9351 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) __7: ; if !(!(pTab != 0)) { @@ -89914,7 +90422,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+9357 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+9372 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -89943,7 +90451,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+64 /* &.aCol */)+uintptr(j)*16)).FiFrom == iCol) { goto __23 } - zFault = ts + 9378 /* "foreign key" */ + zFault = ts + 9393 /* "foreign key" */ __23: ; goto __21 @@ -89976,7 +90484,7 @@ __27: if !((int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == iCol) || (int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == (-2))) { goto __30 } - zFault = ts + 9390 /* "indexed" */ + zFault = ts + 9405 /* "indexed" */ __30: ; goto __28 @@ -89997,7 +90505,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+9398 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+9413 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -90106,7 +90614,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) != 0 { - return ts + 937 /* "%s" */ + return ts + 952 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)))) @@ -90271,7 +90779,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) != 0 { - return ts + 937 /* "%s" */ + return ts + 952 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) @@ -92896,11 +93404,11 @@ func bytecodevtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, ar *(*[2]uintptr)(unsafe.Pointer(bp /* azSchema */)) = [2]uintptr{ // bytecode() schema - ts + 9432, /* "CREATE TABLE x(a..." */ + ts + 9447, /* "CREATE TABLE x(a..." */ // Tables_used() schema - ts + 9544, /* "CREATE TABLE x(t..." */ + ts + 9559, /* "CREATE TABLE x(t..." */ } rc = Xsqlite3_declare_vtab(tls, db, *(*uintptr)(unsafe.Pointer(bp /* &azSchema[0] */ + uintptr(isTabUsed)*8))) @@ -93024,7 +93532,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 var pTab uintptr = (*HashElem)(unsafe.Pointer(k)).Fdata if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) && ((*Table)(unsafe.Pointer(pTab)).Ftnum == iRoot) { (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzName = (*Table)(unsafe.Pointer(pTab)).FzName - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 9625 /* "table" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 9640 /* "table" */ break } } @@ -93033,7 +93541,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 var pIdx uintptr = (*HashElem)(unsafe.Pointer(k)).Fdata if (*Index)(unsafe.Pointer(pIdx)).Ftnum == iRoot { (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzName = (*Index)(unsafe.Pointer(pIdx)).FzName - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 9631 /* "index" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 9646 /* "index" */ } } } @@ -93083,7 +93591,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 } else if *(*uintptr)(unsafe.Pointer(aOp + 16 /* &.p4 */)) != uintptr(0) { Xsqlite3_result_text(tls, ctx, (*(*uintptr)(unsafe.Pointer(aOp + 16 /* &.p4 */)) + uintptr(3)), -1, uintptr(0)) } else { - Xsqlite3_result_text(tls, ctx, ts+9637 /* "(FK)" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+9652 /* "(FK)" */, 4, uintptr(0)) } break @@ -93138,16 +93646,16 @@ func bytecodevtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FneedFinalize = 1 } } else { - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+9642 /* "stmt-pointer" */) + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+9657 /* "stmt-pointer" */) } if (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt == uintptr(0) { (*Bytecodevtab)(unsafe.Pointer(pVTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+9655, /* "argument to %s()..." */ + ts+9670, /* "argument to %s()..." */ libc.VaList(bp, func() uintptr { if (*Bytecodevtab)(unsafe.Pointer(pVTab)).FbTablesUsed != 0 { - return ts + 9701 /* "tables_used" */ + return ts + 9716 /* "tables_used" */ } - return ts + 9713 /* "bytecode" */ + return ts + 9728 /* "bytecode" */ }())) rc = SQLITE_ERROR } else { @@ -93226,9 +93734,9 @@ func Xsqlite3VdbeBytecodeVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3. *(*uintptr)(unsafe.Pointer(bp)) = db var rc int32 - rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+9713 /* "bytecode" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), uintptr(0)) + rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+9728 /* "bytecode" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+9701 /* "tables_used" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), bp /* &db */) + rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+9716 /* "tables_used" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), bp /* &db */) } return rc } @@ -94209,7 +94717,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+9722 /* "main" */, zDb) == 0)) { + if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+9737 /* "main" */, zDb) == 0)) { goto __8 } // This branch is taken when the main database has been renamed @@ -94412,14 +94920,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+9727 /* "new" */, zTab) == 0)) { + if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+9742 /* "new" */, zTab) == 0)) { goto __41 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 1 pTab = (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab goto __42 __41: - if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+9731 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+9746 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -94436,7 +94944,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+9735 /* "excluded" */, zTab) == 0)) { + if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+9750 /* "excluded" */, zTab) == 0)) { goto __45 } pTab = (*SrcItem)(unsafe.Pointer(((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8 /* &.a */))).FpTab @@ -94613,7 +95121,7 @@ __66: if !((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0) && (((*Expr)(unsafe.Pointer((pOrig))).Fflags & (U32(EP_Agg))) != U32(0))) { goto __70 } - Xsqlite3ErrorMsg(tls, pParse, ts+9744 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+9759 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -94621,14 +95129,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+9775 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+9790 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) return WRC_Abort __71: ; if !(Xsqlite3ExprVectorSize(tls, pOrig) != 1) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+9812 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9827 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -94704,7 +95212,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+9830 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) + ts+9845 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)) = uintptr(0) return WRC_Prune @@ -94725,23 +95233,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 9865 /* "no such column" */ + zErr = ts + 9880 /* "no such column" */ } else { - zErr = ts + 9880 /* "ambiguous column..." */ + zErr = ts + 9895 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+9902 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+9917 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+9915 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+9930 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+9925 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+9940 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -94875,15 +95383,15 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp bp := tls.Alloc(16) defer tls.Free(16) - var zIn uintptr = ts + 9932 /* "partial index WH..." */ + var zIn uintptr = ts + 9947 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 9960 /* "index expression..." */ + zIn = ts + 9975 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 9978 /* "CHECK constraint..." */ + zIn = ts + 9993 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 9996 /* "generated column..." */ + zIn = ts + 10011 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+10014 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) + Xsqlite3ErrorMsg(tls, pParse, ts+10029 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) if pExpr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } @@ -94991,10 +95499,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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 /* &.u */)) = ts + 10034 /* "true" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 10049 /* "true" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsTrue)) } else { - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 10039 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 10054 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) } (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) @@ -95047,7 +95555,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (NC_IdxExpr | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+10045 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+10060 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -95114,7 +95622,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+10062 /* "second argument ..." */, 0) + ts+10077 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -95139,7 +95647,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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+10133, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10148, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -95163,7 +95671,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all // all this. if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & ((NC_IdxExpr | NC_PartIdx) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+10168 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+10183 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -95192,30 +95700,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+10196 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) + ts+10211 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) (*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 + 10240 /* "window" */ + zType = ts + 10255 /* "window" */ } else { - zType = ts + 10247 /* "aggregate" */ + zType = ts + 10262 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+10257 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+10272 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) (*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+10286 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+10301 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10309, /* "wrong number of ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10324, /* "wrong number of ..." */ libc.VaList(bp+64, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, - ts+10354, /* "FILTER may not b..." */ + ts+10369, /* "FILTER may not b..." */ libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -95290,7 +95798,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+10403 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+10418 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) @@ -95307,7 +95815,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s { if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+10414 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+10429 /* "parameters" */, pExpr) } break @@ -95367,7 +95875,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+9812 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9827 /* "row value misuse..." */, 0) } break @@ -95472,7 +95980,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+10425 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) + ts+10440 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) } // Analyze the ORDER BY clause in a compound SELECT statement. Modify @@ -95504,7 +96012,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 + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+10481 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10496 /* "too many terms i..." */, 0) return 1 } for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { @@ -95539,7 +96047,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 } if Xsqlite3ExprIsInteger(tls, pE, bp+8 /* &iCol */) != 0 { if (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { - resolveOutOfRangeError(tls, pParse, ts+10515 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+10530 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -95610,7 +96118,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { if (int32(*(*uint8)(unsafe.Pointer(((pOrderBy + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.done */)) & 0x4 >> 2)) == 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+10521 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+10536 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -95638,7 +96146,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+10582 /* "too many terms i..." */, libc.VaList(bp, zType)) + Xsqlite3ErrorMsg(tls, pParse, ts+10597 /* "too many terms i..." */, libc.VaList(bp, zType)) return 1 } pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList @@ -95927,7 +96435,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp /* &sNC */ + 40 /* &.ncFlags */)) |= (NC_UEList) if (*Select)(unsafe.Pointer(p)).FpHaving != 0 { if !(pGroupBy != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+10613 /* "a GROUP BY claus..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10628 /* "a GROUP BY claus..." */, 0) return WRC_Abort } if Xsqlite3ResolveExprNames(tls, bp /* &sNC */, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -95984,7 +96492,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // resolve those symbols on the incorrect ORDER BY for consistency. if (((*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0)) && (isCompound <= nCompound)) && // Defer right-most ORDER BY of a compound - (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+10515 /* "ORDER" */) != 0) { + (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+10530 /* "ORDER" */) != 0) { return WRC_Abort } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -95997,7 +96505,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql if pGroupBy != 0 { var pItem uintptr - if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+10657 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { + if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+10672 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { return WRC_Abort } i = 0 @@ -96009,7 +96517,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql { if ((*Expr)(unsafe.Pointer(((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr))).Fflags & (U32(EP_Agg))) != U32(0) { Xsqlite3ErrorMsg(tls, pParse, - ts+10663 /* "aggregate functi..." */, 0) + ts+10678 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -96779,7 +97287,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+9812 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9827 /* "row value misuse..." */, 0) return } @@ -96855,7 +97363,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 3*4)) if nHeight > mxHeight { Xsqlite3ErrorMsg(tls, pParse, - ts+10722 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+10737 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -97096,7 +97604,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+10770 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+10785 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -97118,7 +97626,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u return uintptr(0) } if (pList != 0) && ((*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 6*4))) { - Xsqlite3ErrorMsg(tls, pParse, ts+10772 /* "too many argumen..." */, libc.VaList(bp, pToken)) + Xsqlite3ErrorMsg(tls, pParse, ts+10787 /* "too many argumen..." */, libc.VaList(bp, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32 /* &.x */)) = pList *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_HasFunc)) @@ -97152,7 +97660,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // is tagged with SQLITE_FUNC_UNSAFE) and // SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning // that the schema is possibly tainted). - Xsqlite3ErrorMsg(tls, pParse, ts+10806 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+10821 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) } } } @@ -97205,7 +97713,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+10825, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10840, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) return } @@ -97232,7 +97740,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*Expr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+10868 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10883 /* "too many SQL var..." */, 0) } } @@ -97901,7 +98409,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+10891, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10906, /* "%d columns assig..." */ libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error __3: @@ -98036,7 +98544,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 2*4)) if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx) { - Xsqlite3ErrorMsg(tls, pParse, ts+10921 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+10936 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -98091,10 +98599,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 { /* sqlite3.c:103208:20: */ - if Xsqlite3StrICmp(tls, zIn, ts+10034 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+10049 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+10039 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+10054 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -98539,13 +99047,13 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 // Return TRUE if the given string is a row-id column name. func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:103650:20: */ - if Xsqlite3StrICmp(tls, z, ts+10944 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+10959 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+10952 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+10967 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+10958 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+10973 /* "OID" */) == 0 { return 1 } return 0 @@ -98623,7 +99131,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iCur, 0, regHasNull) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_TYPEOFARG)) - Xsqlite3VdbeComment(tls, v, ts+10962 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) + Xsqlite3VdbeComment(tls, v, ts+10977 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) Xsqlite3VdbeJumpHere(tls, v, addr1) } @@ -98776,7 +99284,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, Xsqlite3OpenTable(tls, pParse, iTab, iDb, pTab, OP_OpenRead) eType = IN_INDEX_ROWID - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+10981 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+10996 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeJumpHere(tls, v, iAddr) } else { var pIdx uintptr // Iterator variable @@ -98867,10 +99375,10 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+11028 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+11043 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+937 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+952 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) eType = (IN_INDEX_INDEX_ASC + int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder)))) @@ -98974,7 +99482,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec defer tls.Free(16) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { - var zFmt uintptr = ts + 11059 /* "sub-select retur..." */ + var zFmt uintptr = ts + 11074 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -98992,7 +99500,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_xIsSelect)) != 0 { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FpEList)).FnExpr, 1) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+9812 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9827 /* "row value misuse..." */, 0) } } @@ -99045,7 +99553,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+11103 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+11118 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) @@ -99059,7 +99567,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) - Xsqlite3VdbeComment(tls, v, ts+11126 /* "return address" */, 0) + Xsqlite3VdbeComment(tls, v, ts+11141 /* "return address" */, 0) addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) } @@ -99073,9 +99581,9 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 (*Expr)(unsafe.Pointer(pExpr)).FiTable = iTab addr = Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, (*Expr)(unsafe.Pointer(pExpr)).FiTable, nVal) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeComment(tls, v, ts+11141 /* "Result of SELECT..." */, libc.VaList(bp+8, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) + Xsqlite3VdbeComment(tls, v, ts+11156 /* "Result of SELECT..." */, libc.VaList(bp+8, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } else { - Xsqlite3VdbeComment(tls, v, ts+11161 /* "RHS of IN operat..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+11176 /* "RHS of IN operat..." */, 0) } pKeyInfo = Xsqlite3KeyInfoAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, nVal, 1) @@ -99087,11 +99595,11 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+11180 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+11195 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { if addrOnce != 0 { - return ts + 901 /* "" */ + return ts + 916 /* "" */ } - return ts + 11199 /* "CORRELATED " */ + return ts + 11214 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSelect)).FselId)) // If the LHS and RHS of the IN operator do not match, that // error will have been caught long before we reach this point. @@ -99237,7 +99745,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // If this routine has already been coded, then invoke it as a // subroutine. if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+11211 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+11226 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) return (*Expr)(unsafe.Pointer(pExpr)).FiTable @@ -99247,7 +99755,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_Subrtn)) *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) - Xsqlite3VdbeComment(tls, v, ts+11126 /* "return address" */, 0) + Xsqlite3VdbeComment(tls, v, ts+11141 /* "return address" */, 0) // The evaluation of the EXISTS/SELECT must be repeated every time it // is encountered if any of the following is true: @@ -99271,11 +99779,11 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+11229 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+11244 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 901 /* "" */ + return ts + 916 /* "" */ } - return ts + 11199 /* "CORRELATED " */ + return ts + 11214 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSel)).FselId)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { nReg = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpEList)).FnExpr @@ -99289,17 +99797,17 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSDParm (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FnSdst = nReg Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm, (((*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm + nReg) - 1)) - Xsqlite3VdbeComment(tls, v, ts+11250 /* "Init subquery re..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+11265 /* "Init subquery re..." */, 0) } else { (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FeDest = U8(SRT_Exists) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm) - Xsqlite3VdbeComment(tls, v, ts+11271 /* "Init EXISTS resu..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+11286 /* "Init EXISTS resu..." */, 0) } if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 { // The subquery already has a limit. If the pre-existing limit is X // then make the new limit X<>0 so that the new limit is either 1 or 0 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10770 /* "0" */) + pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10785 /* "0" */) if pLimit != 0 { (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, @@ -99309,7 +99817,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { // If there is no pre-existing limit add a limit of 1 - pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+11290 /* "1" */) + pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+11305 /* "1" */) (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -99444,7 +99952,7 @@ __2: // the RHS has not yet been coded. v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // OOM detected prior to this routine - Xsqlite3VdbeNoopComment(tls, v, ts+11292 /* "begin IN expr" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+11307 /* "begin IN expr" */, 0) eType = Xsqlite3FindInIndex(tls, pParse, pExpr, (uint32(IN_INDEX_MEMBERSHIP | IN_INDEX_NOOP_OK)), func() uintptr { @@ -99749,7 +100257,7 @@ sqlite3ExprCodeIN_finished: Xsqlite3ReleaseTempReg(tls, pParse, rLhs) __40: ; - Xsqlite3VdbeComment(tls, v, ts+11306 /* "end IN expr" */, 0) + Xsqlite3VdbeComment(tls, v, ts+11321 /* "end IN expr" */, 0) sqlite3ExprCodeIN_oom_error: Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiMap) Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, zAff) @@ -99801,12 +100309,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM c = Xsqlite3DecOrHexToI64(tls, z, bp+16 /* &value */) if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 16 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { - if Xsqlite3_strnicmp(tls, z, ts+11318 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11321 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { + if Xsqlite3_strnicmp(tls, z, ts+11333 /* "0x" */, 2) == 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+11336 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { - return ts + 7970 /* "-" */ + return ts + 7985 /* "-" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -99881,7 +100389,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT } else if (int32((*Column)(unsafe.Pointer((libc.AssignUintptr(&pCol, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32))))).FcolFlags) & COLFLAG_VIRTUAL) != 0 { var pParse uintptr = Xsqlite3VdbeParser(tls, v) if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_BUSY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11347 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11362 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else { var savedSelfTab int32 = (*Parse)(unsafe.Pointer(pParse)).FiSelfTab *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) @@ -100372,10 +100880,10 @@ __56: if !(int32((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn) < 0) { goto __59 } - Xsqlite3VdbeComment(tls, v, ts+11377 /* "%s.rowid" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+11392 /* "%s.rowid" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto __60 __59: - Xsqlite3VdbeComment(tls, v, ts+11386 /* "%s.%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+11401 /* "%s.%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).FzName)) if !(int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).Faffinity) == SQLITE_AFF_REAL) { goto __61 } @@ -100440,7 +100948,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+11347, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11362, /* "generated column..." */ libc.VaList(bp+24, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -100692,7 +101200,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+11392 /* "misuse of aggreg..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+11407 /* "misuse of aggreg..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*32)).FiMem @@ -100734,7 +101242,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+11418 /* "unknown function..." */, libc.VaList(bp+40, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+11433 /* "unknown function..." */, libc.VaList(bp+40, zId)) goto __3 __91: ; @@ -100928,7 +101436,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+10891, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10906, /* "%d columns assig..." */ libc.VaList(bp+48, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -100995,14 +101503,14 @@ __51: int32(Xsqlite3TableColumnToStorage(tls, pTab2, int16(iCol1)))) Xsqlite3VdbeAddOp2(tls, v, OP_Param, p1, target) - Xsqlite3VdbeComment(tls, v, ts+11441 /* "r[%d]=%s.%s" */, libc.VaList(bp+64, target, func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+11456 /* "r[%d]=%s.%s" */, libc.VaList(bp+64, target, func() uintptr { if (*Expr)(unsafe.Pointer(pExpr)).FiTable != 0 { - return ts + 9727 /* "new" */ + return ts + 9742 /* "new" */ } - return ts + 9731 /* "old" */ + return ts + 9746 /* "old" */ }(), func() uintptr { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { - return ts + 11453 /* "rowid" */ + return ts + 11468 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)))).FaCol + uintptr(iCol1)*32)).FzName }())) @@ -101021,7 +101529,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+9812 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9827 /* "row value misuse..." */, 0) goto __3 // TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions @@ -101145,7 +101653,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+11459 /* "RAISE() may only..." */, 0) + ts+11474 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -101184,7 +101692,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 11509 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 11524 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -103021,11 +103529,11 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq bp := tls.Alloc(8) defer tls.Free(8) - if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+11517 /* "sqlite_" */, 7)) || + if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+11532 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || ((((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Shadow)) != U32(0)) && (Xsqlite3ReadOnlyShadowTables(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+11525 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11540 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -103043,14 +103551,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+11553, /* "SELECT 1 FROM \"%..." */ + ts+11568, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+11728, /* "SELECT 1 FROM te..." */ + ts+11743, /* "SELECT 1 FROM te..." */ libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -103066,11 +103574,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+11902 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) + ts+11917 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+12049 /* "UPDATE temp.sqli..." */, 0) + ts+12064 /* "UPDATE temp.sqli..." */, 0) } } @@ -103144,7 +103652,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+12200 /* "there is already..." */, libc.VaList(bp, zName)) + ts+12215 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -103157,7 +103665,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+9625 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+9640 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -103167,7 +103675,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+12259 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12274 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -103220,24 +103728,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+12286 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+12301 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, - ts+12470, /* "UPDATE %Q.sqlite..." */ + ts+12485, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+64, zDb, zName, zName, zName, nTabName, zTabName)) // If the sqlite_sequence table exists in this database, then update // it with the new table name. - if !(Xsqlite3FindTable(tls, db, ts+12775 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+12790 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+12791, /* "UPDATE \"%w\".sqli..." */ + ts+12806, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -103250,7 +103758,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+12849 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+12864 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -103268,7 +103776,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+13114 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+13129 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -103283,7 +103791,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, - ts+13127, /* "SELECT raise(ABO..." */ + ts+13142, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -103331,12 +103839,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // If there is a NOT NULL constraint, then the default value for the // column must not be NULL. if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13165 /* "Cannot add a PRI..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13180 /* "Cannot add a PRI..." */, 0) return } if (*Table)(unsafe.Pointer(pNew)).FpIndex != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+13197 /* "Cannot add a UNI..." */, 0) + ts+13212 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -103349,11 +103857,11 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if ((((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ForeignKeys)) != 0) && ((*Table)(unsafe.Pointer(pNew)).FpFKey != 0)) && (pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+13224 /* "Cannot add a REF..." */) + ts+13239 /* "Cannot add a REF..." */) } if ((*Column)(unsafe.Pointer(pCol)).FnotNull != 0) && !(pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+13283 /* "Cannot add a NOT..." */) + ts+13298 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -103369,12 +103877,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+13336 /* "Cannot add a col..." */) + ts+13351 /* "Cannot add a col..." */) } Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { - sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+13382 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+13397 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -103390,7 +103898,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+13409, /* "UPDATE \"%w\".sqli..." */ + ts+13424, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp, zDb, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zCol, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zTab)) Xsqlite3DbFree(tls, db, zCol) @@ -103461,7 +103969,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+13555 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13570 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -103470,7 +103978,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+13589 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13604 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -103505,7 +104013,7 @@ __6: nAlloc = ((((int32((*Table)(unsafe.Pointer(pNew)).FnCol) - 1) / 8) * 8) + 8) (*Table)(unsafe.Pointer(pNew)).FaCol = Xsqlite3DbMallocZero(tls, db, (uint64(uint64(unsafe.Sizeof(Column{})) * uint64(nAlloc)))) - (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+13619 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+13634 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(!(int32((*Table)(unsafe.Pointer(pNew)).FaCol) != 0) || !(int32((*Table)(unsafe.Pointer(pNew)).FzName) != 0)) { goto __7 } @@ -103552,18 +104060,18 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { - zType = ts + 13638 /* "view" */ + zType = ts + 13653 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 13643 /* "virtual table" */ + zType = ts + 13658 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13657, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13672, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 13675 /* "drop column from" */ + return ts + 13690 /* "drop column from" */ } - return ts + 13692 /* "rename columns o..." */ + return ts + 13707 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -103656,13 +104164,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+9357 /* "no such column: ..." */, libc.VaList(bp, zOld)) + Xsqlite3ErrorMsg(tls, pParse, ts+9372 /* "no such column: ..." */, libc.VaList(bp, zOld)) goto exit_rename_column __10: ; // Ensure the schema contains no double-quoted strings - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+901 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+916 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iSchema == 1))) // Do the rename operation using a recursive UPDATE statement that @@ -103680,19 +104188,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+13710, /* "UPDATE \"%w\".sqli..." */ + ts+13725, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+8, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, - ts+13928, /* "UPDATE temp.sqli..." */ + ts+13943, /* "UPDATE temp.sqli..." */ libc.VaList(bp+72, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+13114 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+13129 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -103987,12 +104495,12 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui var zN uintptr = Xsqlite3_value_text(tls, pObject) var zErr uintptr - zErr = Xsqlite3_mprintf(tls, ts+14059, /* "error in %s %s%s..." */ + zErr = Xsqlite3_mprintf(tls, ts+14074, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - return ts + 14082 /* " " */ + return ts + 14097 /* " " */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -104101,7 +104609,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // ALTER TABLE statement was quoted (bQuote==1), then set zNew to // point to zQuot so that all substitutions are made using the // quoted version of the new column name. - zQuot = Xsqlite3MPrintf(tls, db, ts+14084 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+14099 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -104151,12 +104659,12 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.X__builtin___memcpy_chk(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, uint64((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn), libc.X__builtin_object_size(tls, zBuf1, 0)) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+14090 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+14105 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { - return ts + 14082 /* " " */ + return ts + 14097 /* " " */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -104660,7 +105168,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+901 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) + renameColumnParseError(tls, context, ts+916 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) goto __45 __44: Xsqlite3_result_error_code(tls, context, rc) @@ -104840,7 +105348,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr } if rc != SQLITE_OK { if (*Parse)(unsafe.Pointer(bp+80 /* &sParse */)).FzErrMsg != 0 { - renameColumnParseError(tls, context, ts+901 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) + renameColumnParseError(tls, context, ts+916 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -105122,7 +105630,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+14095 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) + zNew = Xsqlite3MPrintf(tls, db, ts+14110 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -1, libc.UintptrFromInt32(-1)) Xsqlite3_free(tls, zNew) @@ -105210,7 +105718,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+9357 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+9372 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -105220,12 +105728,12 @@ __6: if !((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & (COLFLAG_PRIMKEY | COLFLAG_UNIQUE)) != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+14102, /* "cannot drop %s c..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14117, /* "cannot drop %s c..." */ libc.VaList(bp+8, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - return ts + 14130 /* "PRIMARY KEY" */ + return ts + 14145 /* "PRIMARY KEY" */ } - return ts + 9178 /* "UNIQUE" */ + return ts + 9193 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -105236,7 +105744,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+14142 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+14157 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) goto exit_drop_column __8: ; @@ -105245,15 +105753,15 @@ __8: iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+901 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+916 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+14190 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+14205 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+14311 /* "after drop colum..." */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+14326 /* "after drop colum..." */, 1) // Edit rows of table on disk if !(((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) && ((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_VIRTUAL) == 0)) { @@ -105364,11 +105872,11 @@ func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:109584:21: */ } var aAlterTableFuncs = [5]FuncDef{ - {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 14329 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 14350 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 14370 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 14389 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 14408 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ + {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 14344 /* "sqlite_rename_co..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 14365 /* "sqlite_rename_ta..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 14385 /* "sqlite_rename_te..." */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 14404 /* "sqlite_drop_colu..." */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 14423 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -105565,7 +106073,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // of the new table in register pParse->regRoot. This is important // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, - ts+14431 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) + ts+14446 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } @@ -105577,10 +106085,10 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, - ts+14454, /* "DELETE FROM %Q.%..." */ + ts+14469, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+14484 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+14499 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb) @@ -105601,9 +106109,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 14502 /* "sqlite_stat1" */, FzCols: ts + 14515 /* "tbl,idx,stat" */}, - {FzName: ts + 14528 /* "sqlite_stat4" */, FzCols: ts + 14541 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 14569 /* "sqlite_stat3" */}, + {FzName: ts + 14517 /* "sqlite_stat1" */, FzCols: ts + 14530 /* "tbl,idx,stat" */}, + {FzName: ts + 14543 /* "sqlite_stat4" */, FzCols: ts + 14556 /* "tbl,idx,neq,nlt,..." */}, + {FzName: ts + 14584 /* "sqlite_stat3" */}, } /* sqlite3.c:109773:5 */ // Recommended number of samples for sqlite_stat4 @@ -105834,7 +106342,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 14582 /* "stat_init" */} /* sqlite3.c:110084:22 */ + FzName: ts + 14597 /* "stat_init" */} /* sqlite3.c:110084:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -106152,7 +106660,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 14592 /* "stat_push" */} /* sqlite3.c:110374:22 */ + FzName: ts + 14607 /* "stat_push" */} /* sqlite3.c:110374:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -106209,7 +106717,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+14602, /* "%llu" */ + Xsqlite3_snprintf(tls, 24, zRet, ts+14617, /* "%llu" */ libc.VaList(bp, func() uint64 { if (*StatAccum)(unsafe.Pointer(p)).FnSkipAhead != 0 { return U64((*StatAccum)(unsafe.Pointer(p)).FnEst) @@ -106220,7 +106728,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+14607 /* " %llu" */, libc.VaList(bp+8, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+14622 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -106269,7 +106777,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+14613 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+14628 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -106286,7 +106794,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 14619 /* "stat_get" */} /* sqlite3.c:110526:22 */ + FzName: ts + 14634 /* "stat_get" */} /* sqlite3.c:110526:22 */ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:110538:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, (regStat + 1)) @@ -106305,11 +106813,11 @@ func analyzeVdbeCommentIndexWithColumnName(tls *libc.TLS, v uintptr, pIdx uintpt i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(k)*2))) if i == (-1) { - Xsqlite3VdbeComment(tls, v, ts+11377 /* "%s.rowid" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+11392 /* "%s.rowid" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else if i == (-2) { - Xsqlite3VdbeComment(tls, v, ts+14628 /* "%s.expr(%d)" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) + Xsqlite3VdbeComment(tls, v, ts+14643 /* "%s.expr(%d)" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) } else { - Xsqlite3VdbeComment(tls, v, ts+11386 /* "%s.%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+11401 /* "%s.%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*32)).FzName)) } } @@ -106354,7 +106862,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Do not gather statistics on views or virtual tables return } - if Xsqlite3_strlike(tls, ts+14640 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, ts+14655 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { // Do not gather statistics on system tables return } @@ -106372,7 +106880,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp return } (*Table)(unsafe.Pointer(pStat1)).FzName = (pStat1 + 1*120) - libc.X__builtin___memcpy_chk(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+14502 /* "sqlite_stat1" */, uint64(13), libc.X__builtin_object_size(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, 0)) + libc.X__builtin___memcpy_chk(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+14517 /* "sqlite_stat1" */, uint64(13), libc.X__builtin_object_size(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, 0)) (*Table)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*Table)(unsafe.Pointer(pStat1)).FiPKey = int16(-1) Xsqlite3VdbeAddOp4(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Noop, 0, 0, 0, pStat1, -17) @@ -106423,7 +106931,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Populate the register containing the index name. Xsqlite3VdbeLoadString(tls, v, regIdxname, zIdxName) - Xsqlite3VdbeComment(tls, v, ts+14650 /* "Analysis for %s...." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zIdxName)) + Xsqlite3VdbeComment(tls, v, ts+14665 /* "Analysis for %s...." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zIdxName)) // Pseudo-code for loop that calls stat_push(): // @@ -106470,7 +106978,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iIdxCur, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+937 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+952 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) // Invoke the stat_init() function. The arguments are: // @@ -106607,7 +107115,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Add the entry to the stat1 table. callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+14669 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+14684 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP4(tls, v, -1, pStat1, -6) @@ -106664,12 +107172,12 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Create a single sqlite_stat1 entry containing NULL as the index // name and the row count as the content. if (pOnlyIdx == uintptr(0)) && (needTableCnt != 0) { - Xsqlite3VdbeComment(tls, v, ts+937 /* "%s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+952 /* "%s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeAddOp2(tls, v, OP_Count, iTabCur, regStat1) jZeroRows = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, regStat1) Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regIdxname) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+14669 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+14684 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -106722,9 +107230,9 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) iStatCur = (*Parse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52 /* &.nTab */)) += (3) if pOnlyIdx != 0 { - openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+14673 /* "idx" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+14688 /* "idx" */) } else { - openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+14677 /* "tbl" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+14692 /* "tbl" */) } analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1), (*Parse)(unsafe.Pointer(pParse)).FnTab) loadAnalysis(tls, pParse, iDb) @@ -106819,7 +107327,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 901 /* "" */ + z = ts + 916 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -106841,15 +107349,15 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, ts+14681 /* "unordered*" */, z) == 0 { + if Xsqlite3_strglob(tls, ts+14696 /* "unordered*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(1), 2, 0x4) - } else if Xsqlite3_strglob(tls, ts+14692 /* "sz=[0-9]*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+14707 /* "sz=[0-9]*" */, z) == 0 { var sz int32 = Xsqlite3Atoi(tls, (z + uintptr(3))) if sz < 2 { sz = 2 } (*Index)(unsafe.Pointer(pIndex)).FszIdxRow = Xsqlite3LogEst(tls, uint64(sz)) - } else if Xsqlite3_strglob(tls, ts+14702 /* "noskipscan*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+14717 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(1), 6, 0x40) } for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { @@ -107168,10 +107676,10 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:111438:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines - if Xsqlite3FindTable(tls, db, ts+14528 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+14543 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+14714, /* "SELECT idx,count..." */ - ts+14768, /* "SELECT idx,neq,n..." */ + ts+14729, /* "SELECT idx,count..." */ + ts+14783, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -107222,9 +107730,9 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // Load new statistics out of the sqlite_stat1 table (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).Fdb = db (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+14502 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { + if Xsqlite3FindTable(tls, db, ts+14517 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+14820 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) + ts+14835 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { @@ -107316,7 +107824,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // database iDb attached to handle db. func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:111595:20: */ return (libc.Bool32((Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0) || - ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+9722 /* "main" */, zName) == 0)))) + ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+9737 /* "main" */, zName) == 0)))) } // An SQL user-function registered to do the work of an ATTACH statement. The @@ -107367,13 +107875,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 901 /* "" */ + zFile = ts + 916 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 901 /* "" */ + zName = ts + 916 /* "" */ __2: ; @@ -107383,7 +107891,7 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+6891 /* "memdb" */) + *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+6906 /* "memdb" */) if !(*(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) == uintptr(0)) { goto __5 } @@ -107399,7 +107907,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+14861 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+14876 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -107412,7 +107920,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+14864, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+14879, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -107426,7 +107934,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+14901 /* "database %s is a..." */, libc.VaList(bp+8, zName)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+14916 /* "database %s is a..." */, libc.VaList(bp+8, zName)) goto attach_error __11: ; @@ -107497,7 +108005,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+14931 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+14946 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -107514,7 +108022,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+14960 /* "attached databas..." */, 0) + ts+14975 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -107584,13 +108092,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+9155 /* "out of memory" */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+9170 /* "out of memory" */, 0) goto __31 __30: if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+15028 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+15043 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) __32: ; __31: @@ -107646,7 +108154,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 901 /* "" */ + zName = ts + 916 /* "" */ __1: ; i = 0 @@ -107678,14 +108186,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+15056 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+15071 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+15077 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+15092 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -107693,7 +108201,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+15103 /* "database %s is l..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+15118 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -107816,7 +108324,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 15125 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 15140 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -107829,7 +108337,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 15139 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ + FzName: ts + 15154 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ @@ -107844,7 +108352,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer((*DbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit.Fbusy != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } else { - Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+15153 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) + Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+15168 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) return WRC_Abort } } @@ -107877,7 +108385,7 @@ __1: if (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != Xsqlite3FindDbName(tls, db, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) { Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, - ts+15177, /* "%s %T cannot ref..." */ + ts+15192, /* "%s %T cannot ref..." */ libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType, (*DbFixer)(unsafe.Pointer(pFix)).FpName, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return WRC_Abort } @@ -108076,7 +108584,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112233:13: */ - Xsqlite3ErrorMsg(tls, pParse, ts+15223 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15238 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -108100,11 +108608,11 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - var z uintptr = Xsqlite3_mprintf(tls, ts+11386 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) + var z uintptr = Xsqlite3_mprintf(tls, ts+11401 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+15246 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+15261 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+15252 /* "access to %z is ..." */, libc.VaList(bp+32, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+15267 /* "access to %z is ..." */, libc.VaList(bp+32, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -108156,7 +108664,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName } else { - zCol = ts + 10952 /* "ROWID" */ + zCol = ts + 10967 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -108188,7 +108696,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+15279 /* "not authorized" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15294 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_OK) && (rc != SQLITE_IGNORE) { rc = SQLITE_DENY @@ -108373,7 +108881,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112554:2 if int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0 { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) } - Xsqlite3VdbeComment(tls, v, ts+15294 /* "usesStmtJournal=..." */, libc.VaList(bp, (libc.Bool32(((*Parse)(unsafe.Pointer(pParse)).FmayAbort != 0) && ((*Parse)(unsafe.Pointer(pParse)).FisMultiWrite != 0))))) + Xsqlite3VdbeComment(tls, v, ts+15309 /* "usesStmtJournal=..." */, libc.VaList(bp, (libc.Bool32(((*Parse)(unsafe.Pointer(pParse)).FmayAbort != 0) && ((*Parse)(unsafe.Pointer(pParse)).FisMultiWrite != 0))))) } for i = 0; i < (*Parse)(unsafe.Pointer(pParse)).FnVtabLock; i++ { var vtab uintptr = Xsqlite3GetVTable(tls, db, *(*uintptr)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).FapVtabLock + uintptr(i)*8))) @@ -108501,25 +109009,25 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb { // No match against the official names. But always match "main" // to schema 0 as a legacy fallback. - if Xsqlite3StrICmp(tls, zDatabase, ts+9722 /* "main" */) == 0 { + if Xsqlite3StrICmp(tls, zDatabase, ts+9737 /* "main" */) == 0 { i = 0 } else { return uintptr(0) } } p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), zName) - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+11517 /* "sqlite_" */, 7) == 0) { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+11532 /* "sqlite_" */, 7) == 0) { if i == 1 { - if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+15313 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+15332 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+8930 /* "sqlite_master" */ +7)) == 0) { + if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+15328 /* "sqlite_temp_sche..." */ +7)) == 0) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+15347 /* "sqlite_schema" */ +7)) == 0)) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+8945 /* "sqlite_master" */ +7)) == 0) { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+15346 /* "sqlite_temp_mast..." */) + ts+15361 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+15332 /* "sqlite_schema" */ +7)) == 0 { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+15347 /* "sqlite_schema" */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), - ts+8930 /* "sqlite_master" */) + ts+8945 /* "sqlite_master" */) } } } @@ -108542,12 +109050,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+11517 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+15332 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+8930 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+15313 /* "sqlite_temp_sche..." */ +7)) == 0 { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+11532 /* "sqlite_" */, 7) == 0) { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+15347 /* "sqlite_schema" */ +7)) == 0 { + p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+8945 /* "sqlite_master" */) + } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+15328 /* "sqlite_temp_sche..." */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+15346 /* "sqlite_temp_mast..." */) + ts+15361 /* "sqlite_temp_mast..." */) } } } @@ -108583,7 +109091,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // can be an eponymous virtual table. if (int32((*Parse)(unsafe.Pointer(pParse)).FdisableVtab) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { var pMod uintptr = Xsqlite3HashFind(tls, (db + 536 /* &.aModule */), zName) - if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+15365 /* "pragma_" */, 7) == 0) { + if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+15380 /* "pragma_" */, 7) == 0) { pMod = Xsqlite3PragmaVtabRegister(tls, db, zName) } if (pMod != 0) && (Xsqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0) { @@ -108601,14 +109109,14 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if p == uintptr(0) { var zMsg uintptr if (flags & U32(LOCATE_VIEW)) != 0 { - zMsg = ts + 15373 /* "no such view" */ + zMsg = ts + 15388 /* "no such view" */ } else { - zMsg = ts + 15386 /* "no such table" */ + zMsg = ts + 15401 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+9915 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+9930 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+9925 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+9940 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -108921,7 +109429,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // writing. The table is opened using cursor 0. func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:113223:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) - Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+8930 /* "sqlite_master" */) + Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+8945 /* "sqlite_master" */) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) if (*Parse)(unsafe.Pointer(p)).FnTab == 0 { (*Parse)(unsafe.Pointer(p)).FnTab = 1 @@ -108948,7 +109456,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql } // "main" is always an acceptable alias for the primary database // even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. - if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+9722 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+9737 /* "main" */, zName)) { goto __3 } @@ -109001,13 +109509,13 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if (*Token)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+15400 /* "corrupt database" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15415 /* "corrupt database" */, 0) return -1 } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = Xsqlite3FindDb(tls, db, pName1) if iDb < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+15417 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+15432 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -109048,13 +109556,13 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType if ((Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit))) != 0) || (Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 1*8))) != 0)) || (Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 2*8))) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+901 /* "" */, 0) // corruptSchema() will supply the error + Xsqlite3ErrorMsg(tls, pParse, ts+916 /* "" */, 0) // corruptSchema() will supply the error return SQLITE_ERROR } } else { - if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+11517 /* "sqlite_" */, 7))) || + if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+11532 /* "sqlite_" */, 7))) || ((Xsqlite3ReadOnlyShadowTables(tls, db) != 0) && (Xsqlite3ShadowTableName(tls, db, zName) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+15437, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+15452, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -109223,9 +109731,9 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui iDb = int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) zName = Xsqlite3DbStrDup(tls, db, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 15346 /* "sqlite_temp_mast..." */ + return ts + 15361 /* "sqlite_temp_mast..." */ } - return ts + 8930 /* "sqlite_master" */ + return ts + 8945 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 @@ -109243,7 +109751,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+15479 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15494 /* "temporary table ..." */, 0) return __4: ; @@ -109271,9 +109779,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 13638 /* "view" */ + return ts + 13653 /* "view" */ } - return ts + 9625 /* "table" */ + return ts + 9640 /* "table" */ }(), zName) != 0) { goto __8 } @@ -109290,9 +109798,9 @@ __9: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (isTemp == 1) { - return ts + 15346 /* "sqlite_temp_mast..." */ + return ts + 15361 /* "sqlite_temp_mast..." */ } - return ts + 8930 /* "sqlite_master" */ + return ts + 8945 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -109330,7 +109838,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+15520 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+15535 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) goto __16 __15: ; @@ -109344,7 +109852,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+15544 /* "there is already..." */, libc.VaList(bp+8, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15559 /* "there is already..." */, libc.VaList(bp+8, zName)) goto begin_table_error __17: ; @@ -109460,7 +109968,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:113716:13: */ var pHash uintptr pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - Xsqlite3HashInsert(tls, pHash, ts+15579 /* "sqlite_returning" */, uintptr(0)) + Xsqlite3HashInsert(tls, pHash, ts+15594 /* "sqlite_returning" */, uintptr(0)) Xsqlite3ExprListDelete(tls, db, (*Returning)(unsafe.Pointer(pRet)).FpReturnEL) Xsqlite3DbFree(tls, db, pRet) } @@ -109484,7 +109992,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Parse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+15596 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15611 /* "cannot use RETUR..." */, 0) } else { } @@ -109505,7 +110013,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 15579 /* "sqlite_returning" */ + (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 15594 /* "sqlite_returning" */ (*Returning)(unsafe.Pointer(pRet)).FretTrig.Fop = U8(TK_RETURNING) (*Returning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = U8(TRIGGER_AFTER) (*Returning)(unsafe.Pointer(pRet)).FretTrig.FbReturning = U8(1) @@ -109517,7 +110025,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql (*Returning)(unsafe.Pointer(pRet)).FretTStep.FpExprList = pList pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - if Xsqlite3HashInsert(tls, pHash, ts+15579 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+15594 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == (pRet + 16 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -109545,7 +110053,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp return } if (int32((*Table)(unsafe.Pointer(p)).FnCol) + 1) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+15630 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15645 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } z = Xsqlite3DbMallocRaw(tls, db, (uint64(((*Token)(unsafe.Pointer(pName)).Fn + (*Token)(unsafe.Pointer(pType)).Fn) + uint32(2)))) @@ -109561,7 +110069,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+15653 /* "duplicate column..." */, libc.VaList(bp+8, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+15668 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -109735,11 +110243,11 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar var isInit int32 = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) != 1))) pCol = ((*Table)(unsafe.Pointer(p)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(p)).FnCol)-1))*32) if !(Xsqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+15679, /* "default value of..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+15694, /* "default value of..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+15724 /* "cannot use DEFAU..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15739 /* "cannot use DEFAU..." */, 0) } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. @@ -109789,7 +110297,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+15765 /* "generated column..." */, 0) + ts+15780 /* "generated column..." */, 0) } } @@ -109834,7 +110342,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+15817 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+15832 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit __2: ; @@ -109894,7 +110402,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+901 /* "" */), ts+15858 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+916 /* "" */), ts+15873 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -109922,7 +110430,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+15866 /* "AUTOINCREMENT is..." */, 0) + ts+15881 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -110026,7 +110534,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+15922 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15937 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -110039,13 +110547,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+15965 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+15980 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { goto __5 } // no-op goto __6 __5: - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+15973 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+15988 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { goto __7 } eType = U8(COLFLAG_STORED) @@ -110078,7 +110586,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+15980, /* "error in generat..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+15995, /* "error in generat..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) generated_done: Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -110220,13 +110728,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 901 /* "" */ - zSep2 = ts + 16011 /* "," */ - zEnd = ts + 8043 /* ")" */ + zSep = ts + 916 /* "" */ + zSep2 = ts + 16026 /* "," */ + zEnd = ts + 8058 /* ")" */ } else { - zSep = ts + 16013 /* "\n " */ - zSep2 = ts + 16017 /* ",\n " */ - zEnd = ts + 16022 /* "\n)" */ + zSep = ts + 16028 /* "\n " */ + zSep2 = ts + 16032 /* ",\n " */ + zEnd = ts + 16037 /* "\n)" */ } n = n + (35 + (6 * int32((*Table)(unsafe.Pointer(p)).FnCol))) zStmt = Xsqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -110234,7 +110742,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+16025 /* "CREATE TABLE " */, 0) + Xsqlite3_snprintf(tls, n, zStmt, ts+16040 /* "CREATE TABLE " */, 0) *(*int32)(unsafe.Pointer(bp + 8 /* k */)) = Xsqlite3Strlen30(tls, zStmt) identPut(tls, zStmt, bp+8 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = int8('(') @@ -110268,16 +110776,16 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+937 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+952 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } var azType1 = [5]uintptr{ - /* SQLITE_AFF_BLOB */ ts + 901, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 16039, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 16045, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 16050, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 16055, /* " REAL" */ + /* SQLITE_AFF_BLOB */ ts + 916, /* "" */ + /* SQLITE_AFF_TEXT */ ts + 16054, /* " TEXT" */ + /* SQLITE_AFF_NUMERIC */ ts + 16060, /* " NUM" */ + /* SQLITE_AFF_INTEGER */ ts + 16065, /* " INT" */ + /* SQLITE_AFF_REAL */ ts + 16070, /* " REAL" */ } /* sqlite3.c:114391:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK @@ -110714,7 +111222,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // table itself. So mark it read-only. if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { if pSelect != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+901 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+916 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -110727,11 +111235,11 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (int32(tabOpts) & TF_WithoutRowid) != 0 { if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+16061 /* "AUTOINCREMENT no..." */, 0) + ts+16076 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+16111 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16126 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } *(*U32)(unsafe.Pointer(p + 64 /* &.tabFlags */)) |= (U32(TF_WithoutRowid | TF_NoVisibleRowid)) @@ -110775,7 +111283,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+16143 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16158 /* "must have at lea..." */, 0) return } } @@ -110808,12 +111316,12 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // Initialize zType for the new view or table. if (*Table)(unsafe.Pointer(p)).FpSelect == uintptr(0) { // A regular table - zType = ts + 9625 /* "table" */ - zType2 = ts + 16187 /* "TABLE" */ + zType = ts + 9640 /* "table" */ + zType2 = ts + 16202 /* "TABLE" */ } else { // A view - zType = ts + 13638 /* "view" */ - zType2 = ts + 16193 /* "VIEW" */ + zType = ts + 13653 /* "view" */ + zType2 = ts + 16208 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -110894,7 +111402,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+16198 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+16213 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -110902,7 +111410,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+16213, /* "UPDATE %Q.sqlite..." */ + ts+16228, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, @@ -110920,14 +111428,14 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+16311, /* "CREATE TABLE %Q...." */ + ts+16326, /* "CREATE TABLE %Q...." */ libc.VaList(bp+88, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+16353 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+16368 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -110948,7 +111456,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // then record a pointer to this table in the main database structure // so that INSERT can find the table easily. - if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+12775 /* "sqlite_sequence" */) == 0 { + if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+12790 /* "sqlite_sequence" */) == 0 { (*Schema)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -110985,7 +111493,7 @@ func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui if !(int32((*Parse)(unsafe.Pointer(pParse)).FnVar) > 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+16387 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16402 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -111007,7 +111515,7 @@ __2: Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp /* &pName */) iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(p)).FpSchema) - Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+13638 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) + Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+13653 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) if !(Xsqlite3FixSelect(tls, bp+8 /* &sFix */, pSelect) != 0) { goto __3 } @@ -111124,7 +111632,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i // CREATE TEMP VIEW ex1 AS SELECT a FROM ex1; // SELECT * FROM temp.ex1; if int32((*Table)(unsafe.Pointer(pTable)).FnCol) < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+16423 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16438 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) return 1 } @@ -111266,7 +111774,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) if iTable < 2 { - Xsqlite3ErrorMsg(tls, pParse, ts+16453 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16468 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -111280,7 +111788,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+16468, /* "UPDATE %Q.sqlite..." */ + ts+16483, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb+uintptr(iDb)*32)).FzDbSName, iTable, r1, r1)) Xsqlite3ReleaseTempReg(tls, pParse, r1) } @@ -111344,10 +111852,10 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint for i = 1; i <= 4; i++ { // var zTab [24]int8 at bp+40, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+16535 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+16550 /* "sqlite_stat%d" */, libc.VaList(bp, i)) if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+40 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+14454, /* "DELETE FROM %Q.%..." */ + ts+14469, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } @@ -111387,7 +111895,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // move as a result of the drop (can happen in auto-vacuum mode). if ((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+16549, /* "DELETE FROM %Q.s..." */ + ts+16564, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -111399,7 +111907,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+16594, /* "DELETE FROM %Q.s..." */ + ts+16609, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) @@ -111429,11 +111937,11 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Return true if it is not allowed to drop the given table func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:115607:12: */ - if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+11517 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+4654 /* "stat" */, 4) == 0 { + if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+11532 /* "sqlite_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+4669 /* "stat" */, 4) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+10414 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+10429 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -111514,9 +112022,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 15346 /* "sqlite_temp_mast..." */ + return ts + 15361 /* "sqlite_temp_mast..." */ } - return ts + 8930 /* "sqlite_master" */ + return ts + 8945 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zArg2 = uintptr(0) @@ -111576,7 +112084,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+16661 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16676 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __19: ; @@ -111586,14 +112094,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+16689 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16704 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+16723 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16738 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -111608,7 +112116,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+14677 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+14692 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -111673,7 +112181,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+16755, /* "foreign key on %..." */ + ts+16770, /* "foreign key on %..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(iCol)*32)).FzName, pTo)) goto fk_end __5: @@ -111686,7 +112194,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+16818 /* "number of column..." */, 0) + ts+16833 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -111770,7 +112278,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+16912, /* "unknown column \"..." */ + ts+16927, /* "unknown column \"..." */ libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*32)).FzEName)) goto fk_end __23: @@ -112020,12 +112528,12 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pList)).FnExpr; i++ { if (uint32(int32(*(*uint8)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32 + 20 /* &.bNulls */)) & 0x20 >> 5))) != 0 { var sf U8 = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32)).FsortFlags - Xsqlite3ErrorMsg(tls, pParse, ts+16958, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+16973, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 16986 /* "FIRST" */ + return ts + 17001 /* "FIRST" */ } - return ts + 16992 /* "LAST" */ + return ts + 17007 /* "LAST" */ }())) return 1 } @@ -112183,7 +112691,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+9631 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) + Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+9646 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+136 /* &sFix */, pTblName) != 0) { goto __10 } @@ -112204,7 +112712,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+16997, /* "cannot create a ..." */ + ts+17012, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -112231,26 +112739,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+11517 /* "sqlite_" */, 7) == 0) && + if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+11532 /* "sqlite_" */, 7) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0)) && (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+17047 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17062 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+17075 /* "views may not be..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17090 /* "views may not be..." */, 0) goto exit_create_index __16: ; if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+17100 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17115 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -112277,7 +112785,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+9631 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+9646 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { goto __21 } goto exit_create_index @@ -112292,7 +112800,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+17134 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17149 /* "there is already..." */, libc.VaList(bp+16, zName)) goto exit_create_index __24: ; @@ -112304,7 +112812,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+17168 /* "index %s already..." */, libc.VaList(bp+24, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17183 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -112333,7 +112841,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+17192 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+17207 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -112362,9 +112870,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 15346 /* "sqlite_temp_mast..." */ + return ts + 15361 /* "sqlite_temp_mast..." */ } - return ts + 8930 /* "sqlite_master" */ + return ts + 8945 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -112408,7 +112916,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+9631 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+9646 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -112525,7 +113033,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+17215 /* "expressions proh..." */, 0) + ts+17230 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -112754,7 +113262,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+17276 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) + ts+17291 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -112810,7 +113318,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+17318 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17333 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -112868,12 +113376,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+17335, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+17350, /* "CREATE%s INDEX %..." */ libc.VaList(bp+56, func() uintptr { if onError == OE_None { - return ts + 901 /* "" */ + return ts + 916 /* "" */ } - return ts + 17355 /* " UNIQUE" */ + return ts + 17370 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: @@ -112885,7 +113393,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+17363, /* "INSERT INTO %Q.s..." */ + ts+17378, /* "INSERT INTO %Q.s..." */ libc.VaList(bp+80, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -112901,7 +113409,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+17422 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+17437 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -113085,7 +113593,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+17449 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+17464 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __5 __4: Xsqlite3CodeVerifyNamedSchema(tls, pParse, (*SrcItem)(unsafe.Pointer((pName + 8 /* &.a */))).FzDatabase) @@ -113100,7 +113608,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+17467 /* "index associated..." */, libc.VaList(bp+8, 0)) + ts+17482 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -113111,9 +113619,9 @@ __6: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 15346 /* "sqlite_temp_mast..." */ + return ts + 15361 /* "sqlite_temp_mast..." */ } - return ts + 8930 /* "sqlite_master" */ + return ts + 8945 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -113141,9 +113649,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+17540, /* "DELETE FROM %Q.s..." */ + ts+17555, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) - sqlite3ClearStatTables(tls, pParse, iDb, ts+14673 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+14688 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) Xsqlite3VdbeAddOp4(tls, v, OP_DropIndex, iDb, 0, 0, (*Index)(unsafe.Pointer(pIndex)).FzName, 0) @@ -113294,7 +113802,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*SrcList)(unsafe.Pointer(pSrc)).FnSrc + nExtra) >= SQLITE_MAX_SRCLIST { - Xsqlite3ErrorMsg(tls, pParse, ts+17600, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17615, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -113506,12 +114014,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+17636, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17651, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 5494 /* "ON" */ + return ts + 5509 /* "ON" */ } - return ts + 17672 /* "USING" */ + return ts + 17687 /* "USING" */ }())) goto append_from_error __1: @@ -113639,7 +114147,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+17678 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { + if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+17693 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { return } v = Xsqlite3GetVdbe(tls, pParse) @@ -113675,9 +114183,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 17684 /* "ROLLBACK" */ + return ts + 17699 /* "ROLLBACK" */ } - return ts + 17693 /* "COMMIT" */ + return ts + 17708 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -113702,7 +114210,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 17678 /* "BEGIN" */, ts + 17700 /* "RELEASE" */, ts + 17684 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ +var az = [3]uintptr{ts + 17693 /* "BEGIN" */, ts + 17715 /* "RELEASE" */, ts + 17699 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. @@ -113718,7 +114226,7 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp /* &pBt */, 0, flags) if rc != SQLITE_OK { Xsqlite3ErrorMsg(tls, pParse, - ts+17708 /* "unable to open a..." */, 0) + ts+17723 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -113861,17 +114369,17 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx Xsqlite3StrAccumInit(tls, bp+8 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+17778 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+17793 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*32)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+17789 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+17804 /* ", " */, 2) } Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+914 /* "." */, 1) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+929 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } @@ -113894,11 +114402,11 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr var rc int32 if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+11386 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+11401 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+11377 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+11392 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -114041,7 +114549,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+17792 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17807 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -114151,7 +114659,7 @@ func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) var i int32 for i = 0; i < (*With)(unsafe.Pointer(pWith)).FnCte; i++ { if Xsqlite3StrICmp(tls, zName, (*Cte)(unsafe.Pointer((pWith+16 /* &.a */)+uintptr(i)*48)).FzName) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+17838 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17853 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -114385,7 +114893,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+17868 /* "no such collatio..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17883 /* "no such collatio..." */, libc.VaList(bp, zName)) (*Parse)(unsafe.Pointer(pParse)).Frc = (SQLITE_ERROR | (int32(1) << 8)) } return p @@ -114751,11 +115259,11 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 defer tls.Free(16) if tabIsReadOnly(tls, pParse, pTab) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+17899 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17914 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+17928 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+17943 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -115348,7 +115856,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+17966 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+17981 /* "rows deleted" */, uintptr(0)) __61: ; @@ -115493,7 +116001,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri } return 0 }()) - if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+14502 /* "sqlite_stat1" */)) { + if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+14517 /* "sqlite_stat1" */)) { Xsqlite3VdbeAppendP4(tls, v, pTab, -6) } if int32(eMode) != ONEPASS_OFF { @@ -115771,7 +116279,7 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 9242 /* "integer" */, ts + 9237 /* "real" */, ts + 17979 /* "text" */, ts + 17984 /* "blob" */, ts + 9232 /* "null" */} /* sqlite3.c:119398:21 */ +var azType2 = [5]uintptr{ts + 9257 /* "integer" */, ts + 9252 /* "real" */, ts + 17994 /* "text" */, ts + 17999 /* "blob" */, ts + 9247 /* "null" */} /* sqlite3.c:119398:21 */ // Implementation of the length() function func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119418:13: */ @@ -115835,7 +116343,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // IMP: R-31676-45509 If X is the integer -9223372036854775808 // then abs(X) throws an integer overflow error since there is no // equivalent positive 64-bit two complement value. - Xsqlite3_result_error(tls, context, ts+17989 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+18004 /* "integer overflow" */, -1) return } iVal = -iVal @@ -116173,7 +116681,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+18006 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+18021 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -116625,7 +117133,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 8*4)) { - Xsqlite3_result_error(tls, context, ts+18011 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+18026 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -116637,7 +117145,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } if Xsqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp /* zEsc */)), -1) != 1 { Xsqlite3_result_error(tls, context, - ts+18044 /* "ESCAPE expressio..." */, -1) + ts+18059 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -116704,7 +117212,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+937 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+952 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // Implementation of the sqlite_compileoption_used() function. @@ -116761,10 +117269,10 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // var zBuf [50]int8 at bp+16, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+7963 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+7978 /* "%!.15g" */, libc.VaList(bp, r1)) Xsqlite3AtoF(tls, bp+16 /* &zBuf[0] */, bp+72 /* &r2 */, 20, uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp + 72 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+18089 /* "%!.20e" */, libc.VaList(bp+8, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+18104 /* "%!.20e" */, libc.VaList(bp+8, r1)) } Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -116838,7 +117346,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+902 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+917 /* "NULL" */, 4, uintptr(0)) break } @@ -117149,7 +117657,7 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:120648:27 */ -var azOne = [1]uintptr{uintptr(ts + 14082 /* " " */)} /* sqlite3.c:120649:26 */ +var azOne = [1]uintptr{uintptr(ts + 14097 /* " " */)} /* sqlite3.c:120649:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -117170,7 +117678,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = ts + 901 /* "" */ + zIn = ts + 916 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -117196,7 +117704,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else { // IMP: R-64894-50321 The string "?000" is returned if the argument // is NULL or contains no ASCII alphabetic characters. - Xsqlite3_result_text(tls, context, ts+18096 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+18111 /* "?000" */, 4, uintptr(0)) } } @@ -117224,7 +117732,7 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // Disallow the load_extension() SQL function unless the SQLITE_LoadExtFunc // flag is set. See the sqlite3_enable_load_extension() API. if ((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_LoadExtFunc)) == uint64(0) { - Xsqlite3_result_error(tls, context, ts+15279 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+15294 /* "not authorized" */, -1) return } @@ -117312,7 +117820,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:120889:13: */ p = Xsqlite3_aggregate_context(tls, context, 0) if (p != 0) && ((*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0)) { if (*SumCtx)(unsafe.Pointer(p)).Foverflow != 0 { - Xsqlite3_result_error(tls, context, ts+17989 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+18004 /* "integer overflow" */, -1) } else if (*SumCtx)(unsafe.Pointer(p)).Fapprox != 0 { Xsqlite3_result_double(tls, context, (*SumCtx)(unsafe.Pointer(p)).FrSum) } else { @@ -117466,7 +117974,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zSep = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) nSep = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) } else { - zSep = ts + 16011 /* "," */ + zSep = ts + 16026 /* "," */ nSep = 1 } if zSep != 0 { @@ -117544,7 +118052,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:121112:13: // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:121135:21: */ - var rc int32 = Xsqlite3_overload_function(tls, db, ts+18101 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+18116 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -117564,14 +118072,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+18107 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+18122 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3CreateFunc(tls, db, ts+18107 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+18122 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+18107 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+18107 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+18122 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+18122 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) } // pExpr points to an expression which implements a function. If @@ -117676,76 +118184,76 @@ func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:121427:21: * var aBuiltinFunc = [68]FuncDef{ //**** Functions only available with SQLITE_TESTCTRL_INTERNAL_FUNCTIONS **** - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 18112 /* "implies_nonnull_..." */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 18132 /* "expr_compare" */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 18145 /* "expr_implies_exp..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 18127 /* "implies_nonnull_..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 18147 /* "expr_compare" */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 18160 /* "expr_implies_exp..." */}, //**** Regular functions **** - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18163 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 18171 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 18171 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 18186 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 18212 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 18237 /* "unlikely" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 18246 /* "likelihood" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 18257 /* "likely" */}, - {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 18264 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 18278 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 18278 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 18284 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 18284 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 18290 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 18290 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18295 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 18295 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 18295 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 18299 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 18299 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 18299 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 18303 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 18310 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18317 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18323 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18330 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18338 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18343 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18347 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18347 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18353 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18359 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18365 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 18369 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18376 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18383 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18394 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 18401 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 18416 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18433 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18444 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18450 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18468 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18476 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18490 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18498 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18507 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18507 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18514 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18514 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18524 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18528 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18534 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18538 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18538 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18544 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18544 /* "group_concat" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18178 /* "soundex" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 18186 /* "load_extension" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 18186 /* "load_extension" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 18201 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 18227 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 18252 /* "unlikely" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 18261 /* "likelihood" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 18272 /* "likely" */}, + {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 18279 /* "sqlite_offset" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 18293 /* "ltrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 18293 /* "ltrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 18299 /* "rtrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 18299 /* "rtrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 18305 /* "trim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 18305 /* "trim" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18310 /* "min" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 18310 /* "min" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 18310 /* "min" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 18314 /* "max" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 18314 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 18314 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 18318 /* "typeof" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 18325 /* "length" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18332 /* "instr" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18338 /* "printf" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18345 /* "unicode" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18353 /* "char" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18358 /* "abs" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18362 /* "round" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18362 /* "round" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18368 /* "upper" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18374 /* "lower" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18380 /* "hex" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 18384 /* "ifnull" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18391 /* "random" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18398 /* "randomblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18409 /* "nullif" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 18416 /* "sqlite_version" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 18431 /* "sqlite_source_id" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18448 /* "sqlite_log" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18459 /* "quote" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18465 /* "last_insert_rowi..." */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18483 /* "changes" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18491 /* "total_changes" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18505 /* "replace" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18513 /* "zeroblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18522 /* "substr" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18522 /* "substr" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18529 /* "substring" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18529 /* "substring" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18539 /* "sum" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18543 /* "total" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18549 /* "avg" */}, + {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18553 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18553 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18559 /* "group_concat" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 18559 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 18557 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 18107 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 18107 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 18562 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 18562 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18571 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 18562 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 18576 /* "iif" */}} /* sqlite3.c:121438:18 */ + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 18572 /* "glob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 18122 /* "like" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 18122 /* "like" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 18577 /* "coalesce" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 18577 /* "coalesce" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 18586 /* "sign" */}, + {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 18577 /* "coalesce" */}, + {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 18591 /* "iif" */}} /* sqlite3.c:121438:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -118031,7 +118539,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey if !(pIdx != 0) { if !(int32((*Parse)(unsafe.Pointer(pParse)).FdisableTriggers) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+18580, /* "foreign key mism..." */ + ts+18595, /* "foreign key mism..." */ libc.VaList(bp, (*Table)(unsafe.Pointer((*FKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*FKey)(unsafe.Pointer(pFKey)).FzTo)) } Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiCol) @@ -118927,8 +119435,8 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, } for i = 0; i < (*FKey)(unsafe.Pointer(pFKey)).FnCol; i++ { - *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 9731 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 9727 /* "new" */, Fn: uint32(3)} // Literal "new" token + *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 9746 /* "old" */, Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 9742 /* "new" */, Fn: uint32(3)} // Literal "new" token // var tFromCol Token at bp+32, 16 // Name of column in child table // var tToCol Token at bp+16, 16 @@ -119016,7 +119524,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fz = zFrom (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fn = uint32(nFrom) - pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+8224 /* "FOREIGN KEY cons..." */) + pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+8239 /* "FOREIGN KEY cons..." */) if pRaise != 0 { (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -119195,13 +119703,13 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa }(), (*Table)(unsafe.Pointer(pTab)).FzName) if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { Xsqlite3VdbeAddOp4Int(tls, v, opcode, iCur, int32((*Table)(unsafe.Pointer(pTab)).Ftnum), iDb, int32((*Table)(unsafe.Pointer(pTab)).FnNVCol)) - Xsqlite3VdbeComment(tls, v, ts+937 /* "%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+952 /* "%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) } else { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) Xsqlite3VdbeAddOp3(tls, v, opcode, iCur, int32((*Index)(unsafe.Pointer(pPk)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pPk) - Xsqlite3VdbeComment(tls, v, ts+937 /* "%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+952 /* "%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } } @@ -119449,7 +119957,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11347 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11362 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) } (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -120013,7 +120521,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+18625, /* "cannot INSERT in..." */ + ts+18640, /* "cannot INSERT in..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto insert_cleanup __24: @@ -120038,7 +120546,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+18666, /* "table %S has no ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18681, /* "table %S has no ..." */ libc.VaList(bp+8, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*16)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup @@ -120208,7 +120716,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+18698, /* "table %S has %d ..." */ + ts+18713, /* "table %S has %d ..." */ libc.VaList(bp+24, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: @@ -120218,7 +120726,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+18750 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+18765 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -120274,7 +120782,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+18775, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18790, /* "UPSERT not imple..." */ libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -120282,7 +120790,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+18821 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18836 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -120762,7 +121270,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+18842 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+18857 /* "rows inserted" */, uintptr(0)) __123: ; @@ -121106,7 +121614,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+11386 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+11401 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_HaltIfNull, (SQLITE_CONSTRAINT | (int32(5) << 8)), onError, iReg) @@ -121357,7 +121865,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // initialize it to zero. regTrigCnt = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regTrigCnt) - Xsqlite3VdbeComment(tls, v, ts+18856 /* "trigger count" */, 0) + Xsqlite3VdbeComment(tls, v, ts+18871 /* "trigger count" */, 0) lblRecheckOk = Xsqlite3VdbeMakeLabel(tls, pParse) addrRecheck = lblRecheckOk } @@ -121402,7 +121910,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt (onError != int32(overrideError))) && // Rules for other constraints are different ((*Table)(unsafe.Pointer(pTab)).FpIndex != 0) { ipkTop = (Xsqlite3VdbeAddOp0(tls, v, OP_Goto) + 1) - Xsqlite3VdbeComment(tls, v, ts+18870 /* "defer IPK REPLAC..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+18885 /* "defer IPK REPLAC..." */, 0) } if isUpdate != 0 { @@ -121416,7 +121924,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // Check to see if the new rowid already exists in the table. Skip // the following conflict logic if it does not. - Xsqlite3VdbeNoopComment(tls, v, ts+18899 /* "uniqueness check..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+18914 /* "uniqueness check..." */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_NotExists, iDataCur, addrRowidOk, regNewData) @@ -121536,7 +122044,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3TableAffinity(tls, v, pTab, (regNewData + 1)) bAffinityDone = U8(1) } - Xsqlite3VdbeNoopComment(tls, v, ts+18926 /* "prep index %s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeNoopComment(tls, v, ts+18941 /* "prep index %s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) iThisCur = (iIdxCur + *(*int32)(unsafe.Pointer(bp + 96 /* ix */))) // Skip partial indices for which the WHERE clause is not true @@ -121558,20 +122066,20 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = -(regNewData + 1) Xsqlite3ExprCodeCopy(tls, pParse, (*ExprList_item)(unsafe.Pointer(((*Index)(unsafe.Pointer(pIdx)).FaColExpr+8 /* &.a */)+uintptr(i)*32)).FpExpr, (regIdx + i)) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - Xsqlite3VdbeComment(tls, v, ts+18940 /* "%s column %d" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) + Xsqlite3VdbeComment(tls, v, ts+18955 /* "%s column %d" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) } else if (iField == (-1)) || (iField == int32((*Table)(unsafe.Pointer(pTab)).FiPKey)) { x = regNewData Xsqlite3VdbeAddOp2(tls, v, OP_IntCopy, x, (regIdx + i)) - Xsqlite3VdbeComment(tls, v, ts+11453 /* "rowid" */, 0) + Xsqlite3VdbeComment(tls, v, ts+11468 /* "rowid" */, 0) } else { x = ((int32(Xsqlite3TableColumnToStorage(tls, pTab, int16(iField))) + regNewData) + 1) Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, x, (regIdx + i)) - Xsqlite3VdbeComment(tls, v, ts+937 /* "%s" */, libc.VaList(bp+40, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+952 /* "%s" */, libc.VaList(bp+40, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*32)).FzName)) } } Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, regIdx, int32((*Index)(unsafe.Pointer(pIdx)).FnColumn), *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 96 /* ix */)))*4))) - Xsqlite3VdbeComment(tls, v, ts+18953 /* "for %s" */, libc.VaList(bp+48, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+18968 /* "for %s" */, libc.VaList(bp+48, (*Index)(unsafe.Pointer(pIdx)).FzName)) // In an UPDATE operation, if this index is the PRIMARY KEY index // of a WITHOUT ROWID table and there has been no change the @@ -121644,7 +122152,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt x = int32(Xsqlite3TableColumnToIndex(tls, pIdx, *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iThisCur, x, (regR + i)) - Xsqlite3VdbeComment(tls, v, ts+11386 /* "%s.%s" */, libc.VaList(bp+56, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+11401 /* "%s.%s" */, libc.VaList(bp+56, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) } } if isUpdate != 0 { @@ -121738,7 +122246,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3VdbeAddOp2(tls, v, OP_AddImm, regTrigCnt, 1) // incr trigger cnt addrBypass = Xsqlite3VdbeAddOp0(tls, v, OP_Goto) // Bypass recheck - Xsqlite3VdbeComment(tls, v, ts+18960 /* "bypass recheck" */, 0) + Xsqlite3VdbeComment(tls, v, ts+18975 /* "bypass recheck" */, 0) // Here we insert code that will be invoked after all constraint // checks have run, if and only if one or more replace triggers @@ -121807,7 +122315,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // If the IPK constraint is a REPLACE, run it last if ipkTop != 0 { Xsqlite3VdbeGoto(tls, v, ipkTop) - Xsqlite3VdbeComment(tls, v, ts+18975 /* "Do IPK REPLACE" */, 0) + Xsqlite3VdbeComment(tls, v, ts+18990 /* "Do IPK REPLACE" */, 0) Xsqlite3VdbeJumpHere(tls, v, ipkBottom) } @@ -122023,7 +122531,7 @@ __1: Xsqlite3VdbeAddOp3(tls, v, op, iIdxCur, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) Xsqlite3VdbeChangeP5(tls, v, uint16(p5)) - Xsqlite3VdbeComment(tls, v, ts+937 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+952 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } } @@ -122404,11 +122912,11 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iSrc, int32((*Index)(unsafe.Pointer(pSrcIdx)).Ftnum), iDbSrc) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pSrcIdx) - Xsqlite3VdbeComment(tls, v, ts+937 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pSrcIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+952 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pSrcIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenWrite, iDest, int32((*Index)(unsafe.Pointer(pDestIdx)).Ftnum), iDbDest) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pDestIdx) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_BULKCSR)) - Xsqlite3VdbeComment(tls, v, ts+937 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+952 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) addr1 = Xsqlite3VdbeAddOp2(tls, v, OP_Rewind, iSrc, 0) if ((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags & U32(DBFLAG_Vacuum)) != 0 { // This INSERT command is part of a VACUUM operation, which guarantees @@ -122525,7 +123033,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 901 /* "" */ + zSql = ts + 916 /* "" */ __2: ; @@ -123086,7 +123594,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+15279 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+15294 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -123096,7 +123604,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 18990 /* "sqlite3_extensio..." */ + zEntry = ts + 19005 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -123116,7 +123624,7 @@ __5: if !((ii < (int32(uint64(unsafe.Sizeof(azEndings)) / uint64(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+11386 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) + zAltFile = Xsqlite3_mprintf(tls, ts+11401 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) if !(zAltFile == uintptr(0)) { goto __8 } @@ -123162,7 +123670,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.X__builtin___memcpy_chk(tls, zAltEntry, ts+19013 /* "sqlite3_" */, uint64(8), libc.X__builtin_object_size(tls, zAltEntry, 0)) + libc.X__builtin___memcpy_chk(tls, zAltEntry, ts+19028 /* "sqlite3_" */, uint64(8), libc.X__builtin_object_size(tls, zAltEntry, 0)) iFile = (ncFile - 1) __12: if !((iFile >= 0) && !((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/')) { @@ -123176,7 +123684,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+19022 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+19037 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -123200,7 +123708,7 @@ __17: goto __18 __18: ; - libc.X__builtin___memcpy_chk(tls, (zAltEntry + uintptr(iEntry)), ts+19026 /* "_init" */, uint64(6), libc.X__builtin_object_size(tls, (zAltEntry+uintptr(iEntry)), 0)) + libc.X__builtin___memcpy_chk(tls, (zAltEntry + uintptr(iEntry)), ts+19041 /* "_init" */, uint64(6), libc.X__builtin_object_size(tls, (zAltEntry+uintptr(iEntry)), 0)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -123218,7 +123726,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+19032 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) + ts+19047 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __22: ; @@ -123243,7 +123751,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+19075 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+19090 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) __25: ; Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) @@ -123283,7 +123791,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+19107 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) + ts+19122 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __29: ; @@ -123293,7 +123801,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 19144, /* "dylib" */ + ts + 19159, /* "dylib" */ } /* sqlite3.c:127457:21 */ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127590:16: */ @@ -123460,7 +123968,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+19150 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) + ts+19165 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */))) @@ -123505,61 +124013,61 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 // or that return single-column results where the name of the // result column is different from the name of the pragma var pragCName = [51]uintptr{ - /* 0 */ ts + 8145, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 19189, /* "seq" */ - /* 2 */ ts + 9625, /* "table" */ - /* 3 */ ts + 19193, /* "from" */ - /* 4 */ ts + 19198, /* "to" */ - /* 5 */ ts + 19201, /* "on_update" */ - /* 6 */ ts + 19211, /* "on_delete" */ - /* 7 */ ts + 19221, /* "match" */ - /* 8 */ ts + 19227, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 19231, /* "name" */ - /* 10 */ ts + 19236, /* "type" */ - /* 11 */ ts + 19241, /* "notnull" */ - /* 12 */ ts + 19249, /* "dflt_value" */ - /* 13 */ ts + 19260, /* "pk" */ - /* 14 */ ts + 19263, /* "hidden" */ + /* 0 */ ts + 8160, /* "id" */ // Used by: foreign_key_list + /* 1 */ ts + 19204, /* "seq" */ + /* 2 */ ts + 9640, /* "table" */ + /* 3 */ ts + 19208, /* "from" */ + /* 4 */ ts + 19213, /* "to" */ + /* 5 */ ts + 19216, /* "on_update" */ + /* 6 */ ts + 19226, /* "on_delete" */ + /* 7 */ ts + 19236, /* "match" */ + /* 8 */ ts + 19242, /* "cid" */ // Used by: table_xinfo + /* 9 */ ts + 19246, /* "name" */ + /* 10 */ ts + 19251, /* "type" */ + /* 11 */ ts + 19256, /* "notnull" */ + /* 12 */ ts + 19264, /* "dflt_value" */ + /* 13 */ ts + 19275, /* "pk" */ + /* 14 */ ts + 19278, /* "hidden" */ // table_info reuses 8 - /* 15 */ ts + 19270, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 19227, /* "cid" */ - /* 17 */ ts + 19231, /* "name" */ - /* 18 */ ts + 19276, /* "desc" */ - /* 19 */ ts + 19281, /* "coll" */ - /* 20 */ ts + 19286, /* "key" */ - /* 21 */ ts + 19231, /* "name" */ // Used by: function_list - /* 22 */ ts + 19290, /* "builtin" */ - /* 23 */ ts + 19236, /* "type" */ - /* 24 */ ts + 19298, /* "enc" */ - /* 25 */ ts + 19302, /* "narg" */ - /* 26 */ ts + 19307, /* "flags" */ - /* 27 */ ts + 14677, /* "tbl" */ // Used by: stats - /* 28 */ ts + 14673, /* "idx" */ - /* 29 */ ts + 19313, /* "wdth" */ - /* 30 */ ts + 19318, /* "hght" */ - /* 31 */ ts + 19323, /* "flgs" */ - /* 32 */ ts + 19189, /* "seq" */ // Used by: index_list - /* 33 */ ts + 19231, /* "name" */ - /* 34 */ ts + 19328, /* "unique" */ - /* 35 */ ts + 19335, /* "origin" */ - /* 36 */ ts + 19342, /* "partial" */ - /* 37 */ ts + 9625, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 11453, /* "rowid" */ - /* 39 */ ts + 8148, /* "parent" */ - /* 40 */ ts + 19350, /* "fkid" */ + /* 15 */ ts + 19285, /* "seqno" */ // Used by: index_xinfo + /* 16 */ ts + 19242, /* "cid" */ + /* 17 */ ts + 19246, /* "name" */ + /* 18 */ ts + 19291, /* "desc" */ + /* 19 */ ts + 19296, /* "coll" */ + /* 20 */ ts + 19301, /* "key" */ + /* 21 */ ts + 19246, /* "name" */ // Used by: function_list + /* 22 */ ts + 19305, /* "builtin" */ + /* 23 */ ts + 19251, /* "type" */ + /* 24 */ ts + 19313, /* "enc" */ + /* 25 */ ts + 19317, /* "narg" */ + /* 26 */ ts + 19322, /* "flags" */ + /* 27 */ ts + 14692, /* "tbl" */ // Used by: stats + /* 28 */ ts + 14688, /* "idx" */ + /* 29 */ ts + 19328, /* "wdth" */ + /* 30 */ ts + 19333, /* "hght" */ + /* 31 */ ts + 19338, /* "flgs" */ + /* 32 */ ts + 19204, /* "seq" */ // Used by: index_list + /* 33 */ ts + 19246, /* "name" */ + /* 34 */ ts + 19343, /* "unique" */ + /* 35 */ ts + 19350, /* "origin" */ + /* 36 */ ts + 19357, /* "partial" */ + /* 37 */ ts + 9640, /* "table" */ // Used by: foreign_key_check + /* 38 */ ts + 11468, /* "rowid" */ + /* 39 */ ts + 8163, /* "parent" */ + /* 40 */ ts + 19365, /* "fkid" */ // index_info reuses 15 - /* 41 */ ts + 19189, /* "seq" */ // Used by: database_list - /* 42 */ ts + 19231, /* "name" */ - /* 43 */ ts + 19355, /* "file" */ - /* 44 */ ts + 19360, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 19365, /* "log" */ - /* 46 */ ts + 19369, /* "checkpointed" */ + /* 41 */ ts + 19204, /* "seq" */ // Used by: database_list + /* 42 */ ts + 19246, /* "name" */ + /* 43 */ ts + 19370, /* "file" */ + /* 44 */ ts + 19375, /* "busy" */ // Used by: wal_checkpoint + /* 45 */ ts + 19380, /* "log" */ + /* 46 */ ts + 19384, /* "checkpointed" */ // collation_list reuses 32 - /* 47 */ ts + 19382, /* "database" */ // Used by: lock_status - /* 48 */ ts + 19391, /* "status" */ - /* 49 */ ts + 19398, /* "cache_size" */ // Used by: default_cache_size + /* 47 */ ts + 19397, /* "database" */ // Used by: lock_status + /* 48 */ ts + 19406, /* "status" */ + /* 49 */ ts + 19413, /* "cache_size" */ // Used by: default_cache_size // module_list pragma_list reuses 9 - /* 50 */ ts + 19409, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 19424, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas @@ -123576,241 +124084,241 @@ type PragmaName1 = struct { // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [67]PragmaName{ - { /* zName: */ FzName: ts + 19417, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 19432, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19432, /* "application_id" */ + { /* zName: */ FzName: ts + 19447, /* "application_id" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_APPLICATION_ID)}, - { /* zName: */ FzName: ts + 19447, /* "auto_vacuum" */ + { /* zName: */ FzName: ts + 19462, /* "auto_vacuum" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_AUTO_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 19459, /* "automatic_index" */ + { /* zName: */ FzName: ts + 19474, /* "automatic_index" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_AutoIndex)}, - { /* zName: */ FzName: ts + 19475, /* "busy_timeout" */ + { /* zName: */ FzName: ts + 19490, /* "busy_timeout" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_BUSY_TIMEOUT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(50), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 19398, /* "cache_size" */ + { /* zName: */ FzName: ts + 19413, /* "cache_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 19488, /* "cache_spill" */ + { /* zName: */ FzName: ts + 19503, /* "cache_spill" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SPILL), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 19500, /* "case_sensitive_l..." */ + { /* zName: */ FzName: ts + 19515, /* "case_sensitive_l..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CASE_SENSITIVE_LIKE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 19520, /* "cell_size_check" */ + { /* zName: */ FzName: ts + 19535, /* "cell_size_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CellSizeCk)}, - { /* zName: */ FzName: ts + 19536, /* "checkpoint_fullf..." */ + { /* zName: */ FzName: ts + 19551, /* "checkpoint_fullf..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CkptFullFSync)}, - { /* zName: */ FzName: ts + 19557, /* "collation_list" */ + { /* zName: */ FzName: ts + 19572, /* "collation_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COLLATION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 19572, /* "compile_options" */ + { /* zName: */ FzName: ts + 19587, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19588, /* "count_changes" */ + { /* zName: */ FzName: ts + 19603, /* "count_changes" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (U64((uint64(0x00001))) << 32)}, - { /* zName: */ FzName: ts + 19602, /* "data_version" */ + { /* zName: */ FzName: ts + 19617, /* "data_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_DATA_VERSION)}, - { /* zName: */ FzName: ts + 19615, /* "database_list" */ + { /* zName: */ FzName: ts + 19630, /* "database_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATABASE_LIST), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_Result0)), /* ColNames: */ FiPragCName: U8(41), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 19629, /* "default_cache_si..." */ + { /* zName: */ FzName: ts + 19644, /* "default_cache_si..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DEFAULT_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1)), /* ColNames: */ FiPragCName: U8(49), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 19648, /* "defer_foreign_ke..." */ + { /* zName: */ FzName: ts + 19663, /* "defer_foreign_ke..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_DeferFKs)}, - { /* zName: */ FzName: ts + 19667, /* "empty_result_cal..." */ + { /* zName: */ FzName: ts + 19682, /* "empty_result_cal..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_NullCallback)}, - { /* zName: */ FzName: ts + 19690, /* "encoding" */ + { /* zName: */ FzName: ts + 19705, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 19699, /* "foreign_key_chec..." */ + { /* zName: */ FzName: ts + 19714, /* "foreign_key_chec..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_CHECK), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(37), FnPragCName: U8(4)}, - { /* zName: */ FzName: ts + 19717, /* "foreign_key_list" */ + { /* zName: */ FzName: ts + 19732, /* "foreign_key_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), FnPragCName: U8(8)}, - { /* zName: */ FzName: ts + 19734, /* "foreign_keys" */ + { /* zName: */ FzName: ts + 19749, /* "foreign_keys" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ForeignKeys)}, - { /* zName: */ FzName: ts + 19747, /* "freelist_count" */ + { /* zName: */ FzName: ts + 19762, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 19762, /* "full_column_name..." */ + { /* zName: */ FzName: ts + 19777, /* "full_column_name..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullColNames)}, - { /* zName: */ FzName: ts + 19780, /* "fullfsync" */ + { /* zName: */ FzName: ts + 19795, /* "fullfsync" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullFSync)}, - { /* zName: */ FzName: ts + 19790, /* "function_list" */ + { /* zName: */ FzName: ts + 19805, /* "function_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FUNCTION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(21), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 19804, /* "hard_heap_limit" */ + { /* zName: */ FzName: ts + 19819, /* "hard_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HARD_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19820, /* "ignore_check_con..." */ + { /* zName: */ FzName: ts + 19835, /* "ignore_check_con..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_IgnoreChecks)}, - { /* zName: */ FzName: ts + 19845, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 19860, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 19864, /* "index_info" */ + { /* zName: */ FzName: ts + 19879, /* "index_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 19875, /* "index_list" */ + { /* zName: */ FzName: ts + 19890, /* "index_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(5)}, - { /* zName: */ FzName: ts + 19886, /* "index_xinfo" */ + { /* zName: */ FzName: ts + 19901, /* "index_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(6), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 19898, /* "integrity_check" */ + { /* zName: */ FzName: ts + 19913, /* "integrity_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 19914, /* "journal_mode" */ + { /* zName: */ FzName: ts + 19929, /* "journal_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_MODE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 19927, /* "journal_size_lim..." */ + { /* zName: */ FzName: ts + 19942, /* "journal_size_lim..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_SIZE_LIMIT), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 19946, /* "legacy_alter_tab..." */ + { /* zName: */ FzName: ts + 19961, /* "legacy_alter_tab..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_LegacyAlter)}, - { /* zName: */ FzName: ts + 19965, /* "lock_proxy_file" */ + { /* zName: */ FzName: ts + 19980, /* "lock_proxy_file" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCK_PROXY_FILE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 19981, /* "lock_status" */ + { /* zName: */ FzName: ts + 19996, /* "lock_status" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCK_STATUS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(47), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 19993, /* "locking_mode" */ + { /* zName: */ FzName: ts + 20008, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 20006, /* "max_page_count" */ + { /* zName: */ FzName: ts + 20021, /* "max_page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 20021, /* "mmap_size" */ + { /* zName: */ FzName: ts + 20036, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 20031, /* "module_list" */ + { /* zName: */ FzName: ts + 20046, /* "module_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MODULE_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 20043, /* "optimize" */ + { /* zName: */ FzName: ts + 20058, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 20052, /* "page_count" */ + { /* zName: */ FzName: ts + 20067, /* "page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 20063, /* "page_size" */ + { /* zName: */ FzName: ts + 20078, /* "page_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_SIZE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 20073, /* "pragma_list" */ + { /* zName: */ FzName: ts + 20088, /* "pragma_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PRAGMA_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 20085, /* "query_only" */ + { /* zName: */ FzName: ts + 20100, /* "query_only" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_QueryOnly)}, - { /* zName: */ FzName: ts + 20096, /* "quick_check" */ + { /* zName: */ FzName: ts + 20111, /* "quick_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 20108, /* "read_uncommitted" */ + { /* zName: */ FzName: ts + 20123, /* "read_uncommitted" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReadUncommit)}, - { /* zName: */ FzName: ts + 20125, /* "recursive_trigge..." */ + { /* zName: */ FzName: ts + 20140, /* "recursive_trigge..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_RecTriggers)}, - { /* zName: */ FzName: ts + 20144, /* "reverse_unordere..." */ + { /* zName: */ FzName: ts + 20159, /* "reverse_unordere..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReverseOrder)}, - { /* zName: */ FzName: ts + 20170, /* "schema_version" */ + { /* zName: */ FzName: ts + 20185, /* "schema_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_SCHEMA_VERSION)}, - { /* zName: */ FzName: ts + 20185, /* "secure_delete" */ + { /* zName: */ FzName: ts + 20200, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 20199, /* "short_column_nam..." */ + { /* zName: */ FzName: ts + 20214, /* "short_column_nam..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ShortColNames)}, - { /* zName: */ FzName: ts + 20218, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 20233, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 20232, /* "soft_heap_limit" */ + { /* zName: */ FzName: ts + 20247, /* "soft_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SOFT_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 20248, /* "synchronous" */ + { /* zName: */ FzName: ts + 20263, /* "synchronous" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SYNCHRONOUS), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 20260, /* "table_info" */ + { /* zName: */ FzName: ts + 20275, /* "table_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 20271, /* "table_xinfo" */ + { /* zName: */ FzName: ts + 20286, /* "table_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(7), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 20283, /* "temp_store" */ + { /* zName: */ FzName: ts + 20298, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 20294, /* "temp_store_direc..." */ + { /* zName: */ FzName: ts + 20309, /* "temp_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 20315, /* "threads" */ + { /* zName: */ FzName: ts + 20330, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 20323, /* "trusted_schema" */ + { /* zName: */ FzName: ts + 20338, /* "trusted_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_TrustedSchema)}, - { /* zName: */ FzName: ts + 20338, /* "user_version" */ + { /* zName: */ FzName: ts + 20353, /* "user_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_USER_VERSION)}, - { /* zName: */ FzName: ts + 20351, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 20366, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 20370, /* "wal_checkpoint" */ + { /* zName: */ FzName: ts + 20385, /* "wal_checkpoint" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_CHECKPOINT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NeedSchema), /* ColNames: */ FiPragCName: U8(44), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 20385, /* "writable_schema" */ + { /* zName: */ FzName: ts + 20400, /* "writable_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError))}, @@ -123847,7 +124355,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 20401 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 20416 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ @@ -123864,10 +124372,10 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:128 // Interpret the given string as a locking mode value. func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ if z != 0 { - if 0 == Xsqlite3StrICmp(tls, z, ts+20426 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+20441 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+20436 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+20451 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -123880,13 +124388,13 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ var i int32 - if 0 == Xsqlite3StrICmp(tls, z, ts+20443 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+20458 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+20448 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+20463 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+20453 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+20468 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -123904,9 +124412,9 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128566:12: */ if (int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '2') { return (int32(*(*int8)(unsafe.Pointer(z))) - '0') - } else if Xsqlite3StrICmp(tls, z, ts+19355 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+19370 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+20465 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+20480 /* "memory" */) == 0 { return 2 } else { return 0 @@ -123922,7 +124430,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || (Xsqlite3BtreeTxnState(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) != SQLITE_TXN_NONE) { Xsqlite3ErrorMsg(tls, pParse, - ts+20472 /* "temporary storag..." */, 0) + ts+20487 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) @@ -124022,19 +124530,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 20534 /* "SET NULL" */ + zName = ts + 20549 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 20543 /* "SET DEFAULT" */ + zName = ts + 20558 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 20555 /* "CASCADE" */ + zName = ts + 20570 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 20563 /* "RESTRICT" */ + zName = ts + 20578 /* "RESTRICT" */ break default: - zName = ts + 20572 /* "NO ACTION" */ + zName = ts + 20587 /* "NO ACTION" */ break } return zName @@ -124052,7 +124560,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 20582 /* "delete" */, ts + 20589 /* "persist" */, ts + 20597 /* "off" */, ts + 20601 /* "truncate" */, ts + 20465 /* "memory" */, ts + 20610, /* "wal" */ + ts + 20597 /* "delete" */, ts + 20604 /* "persist" */, ts + 20612 /* "off" */, ts + 20616 /* "truncate" */, ts + 20480 /* "memory" */, ts + 20625, /* "wal" */ } /* sqlite3.c:128715:15 */ // Locate a pragma in the aPragmaName[] array. @@ -124098,13 +124606,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 20614 /* "w" */ + zType = ts + 20629 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 20616 /* "a" */ + zType = ts + 20631 /* "a" */ } else { - zType = ts + 20618 /* "s" */ + zType = ts + 20633 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20620, /* "sissii" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20635, /* "sissii" */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, azEnc[((*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK))], int32((*FuncDef)(unsafe.Pointer(p)).FnArg), @@ -124113,7 +124621,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } var mask U32 = (U32((((SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY) | SQLITE_SUBTYPE) | SQLITE_INNOCUOUS) | SQLITE_FUNC_INTERNAL)) /* sqlite3.c:128765:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 20627 /* "utf8" */, ts + 20632 /* "utf16le" */, ts + 20640 /* "utf16be" */} /* sqlite3.c:128772:23 */ +var azEnc = [4]uintptr{uintptr(0), ts + 20642 /* "utf8" */, ts + 20647 /* "utf16le" */, ts + 20655 /* "utf16be" */} /* sqlite3.c:128772:23 */ // Helper subroutine for PRAGMA integrity_check: // @@ -124388,7 +124896,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+20648 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+20663 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -124443,7 +124951,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 384 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+937 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 384 /* &aFcntl[0] */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+952 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 384 /* &aFcntl[0] */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 384 /* &aFcntl[0] */))) __10: ; @@ -125028,7 +125536,7 @@ __18: if !(zRight != 0) { goto __64 } - if !(Xsqlite3_stricmp(tls, zRight, ts+20652 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+20667 /* "fast" */) == 0) { goto __65 } b = 2 @@ -125117,7 +125625,7 @@ __72: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 20436 /* "normal" */ + zRet = ts + 20451 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -125158,7 +125666,7 @@ __79: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __84 } - zRet = ts + 20426 /* "exclusive" */ + zRet = ts + 20441 /* "exclusive" */ __84: ; returnSingleText(tls, v, zRet) @@ -125523,7 +126031,7 @@ __124: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 448 /* res */)) == 0)) { goto __127 } - Xsqlite3ErrorMsg(tls, pParse, ts+20657 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20672 /* "not a writable d..." */, 0) goto pragma_out __127: ; @@ -125541,7 +126049,7 @@ __128: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __129 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+16, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+16, zRight)) goto __130 __129: Xsqlite3_temp_directory = uintptr(0) @@ -125585,7 +126093,7 @@ __134: if !(res1 != SQLITE_OK) { goto __135 } - Xsqlite3ErrorMsg(tls, pParse, ts+20682 /* "failed to set lo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20697 /* "failed to set lo..." */, 0) goto pragma_out __135: ; @@ -125611,7 +126119,7 @@ __136: goto __138 } Xsqlite3ErrorMsg(tls, pParse, - ts+20712 /* "Safety level may..." */, 0) + ts+20727 /* "Safety level may..." */, 0) goto __139 __138: if !(iDb != 1) { @@ -125770,13 +126278,13 @@ __160: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 20765 /* "issisii" */ + return ts + 20780 /* "issisii" */ } - return ts + 20773 /* "issisi" */ + return ts + 20788 /* "issisi" */ }(), libc.VaList(bp+24, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+901 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+916 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -125851,7 +126359,7 @@ __172: goto __174 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20780 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20795 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -125861,7 +126369,7 @@ __172: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __175 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+20785, /* "isiX" */ + Xsqlite3VdbeMultiLoad(tls, v, 4, ts+20800, /* "isiX" */ libc.VaList(bp+104, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) @@ -125898,8 +126406,8 @@ __178: if !(pIdx1 != 0) { goto __180 } - *(*[3]uintptr)(unsafe.Pointer(bp + 464 /* azOrigin */)) = [3]uintptr{ts + 20790 /* "c" */, ts + 20792 /* "u" */, ts + 19260 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20794, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 464 /* azOrigin */)) = [3]uintptr{ts + 20805 /* "c" */, ts + 20807 /* "u" */, ts + 19275 /* "pk" */} + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20809, /* "isisi" */ libc.VaList(bp+128, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), @@ -125933,7 +126441,7 @@ __181: __184: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20800, /* "iss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20815, /* "iss" */ libc.VaList(bp+168, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FpBt))) @@ -125956,7 +126464,7 @@ __185: goto __187 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20804 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20819 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __186 __186: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -126020,7 +126528,7 @@ __197: goto __199 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20618 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20633 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __198 __198: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -126037,7 +126545,7 @@ __200: if !(i6 < (int32(uint64(unsafe.Sizeof(aPragmaName)) / uint64(unsafe.Sizeof(PragmaName{}))))) { goto __202 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20618 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20633 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) goto __201 __201: i6++ @@ -126073,7 +126581,7 @@ __208: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __210 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20807, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+20822, /* "iissssss" */ libc.VaList(bp+224, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -126081,7 +126589,7 @@ __208: (*sColMap)(unsafe.Pointer((pFK+64 /* &.aCol */)+uintptr(j2)*16)).FzCol, actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */) + 1))), // ON UPDATE actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */)))), // ON DELETE - ts+4892 /* "NONE" */)) + ts+4907 /* "NONE" */)) goto __209 __209: j2++ @@ -126274,7 +126782,7 @@ __237: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __238: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+20816 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+20831 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 496 /* aiCols */))) @@ -126540,7 +127048,7 @@ __265: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+20820 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+20835 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -126630,7 +127138,7 @@ __284: __285: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+20844 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+20859 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*32)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -126670,7 +127178,7 @@ __290: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+20864, /* "CHECK constraint..." */ + zErr1 = Xsqlite3MPrintf(tls, db, ts+20879, /* "CHECK constraint..." */ libc.VaList(bp+328, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) @@ -126704,9 +127212,9 @@ __295: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 512 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+20894 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+20909 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+20899 /* " missing from in..." */) + Xsqlite3VdbeLoadString(tls, v, 4, ts+20914 /* " missing from in..." */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) jmp5 = Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) @@ -126746,7 +127254,7 @@ __299: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 512 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+20920 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+20935 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __296: @@ -126768,7 +127276,7 @@ __291: if !(!(isQuick != 0)) { goto __301 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+20947 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+20962 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __302: @@ -126819,7 +127327,7 @@ __247: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 504 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*32)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*32 + 16 /* &.p4 */)) = ts + 5216 /* "ok" */ + *(*uintptr)(unsafe.Pointer(aOp2 + 2*32 + 16 /* &.p4 */)) = ts + 5231 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*32)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 5*32 + 16 /* &.p4 */)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT) __306: @@ -126897,7 +127405,7 @@ __313: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __315 } - Xsqlite3ErrorMsg(tls, pParse, ts+20976 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+20991 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) __315: ; __310: @@ -127009,19 +127517,19 @@ __48: if !(zRight != 0) { goto __322 } - if !(Xsqlite3StrICmp(tls, zRight, ts+20448 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+20463 /* "full" */) == 0) { goto __323 } eMode2 = SQLITE_CHECKPOINT_FULL goto __324 __323: - if !(Xsqlite3StrICmp(tls, zRight, ts+21001 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+21016 /* "restart" */) == 0) { goto __325 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __326 __325: - if !(Xsqlite3StrICmp(tls, zRight, ts+20601 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+20616 /* "truncate" */) == 0) { goto __327 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -127208,7 +127716,7 @@ __342: __344: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+21009, /* "ANALYZE \"%w\".\"%w..." */ + zSubSql = Xsqlite3MPrintf(tls, db, ts+21024, /* "ANALYZE \"%w\".\"%w..." */ libc.VaList(bp+344, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __345 @@ -127343,7 +127851,7 @@ __353: if !(i11 < (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __355 } - zState = ts + 21027 /* "unknown" */ + zState = ts + 21042 /* "unknown" */ if !((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName == uintptr(0)) { goto __356 } @@ -127354,7 +127862,7 @@ __356: if !((pBt3 == uintptr(0)) || (Xsqlite3BtreePager(tls, pBt3) == uintptr(0))) { goto __357 } - zState = ts + 21035 /* "closed" */ + zState = ts + 21050 /* "closed" */ goto __358 __357: if !(Xsqlite3_file_control(tls, db, func() uintptr { @@ -127371,7 +127879,7 @@ __359: ; __358: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+21042 /* "ss" */, libc.VaList(bp+360, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName, zState)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+21057 /* "ss" */, libc.VaList(bp+360, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName, zState)) goto __354 __354: i11++ @@ -127438,14 +127946,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 21045 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 21050 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 21056 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 21065 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 21074 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 21082 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 21090 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 21097 /* "UTF16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 21060 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, + {FzName: ts + 21065 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] + {FzName: ts + 21071 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] + {FzName: ts + 21080 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] + {FzName: ts + 21089 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, + {FzName: ts + 21097 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, + {FzName: ts + 21105 /* "UTF-16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 21112 /* "UTF16" */}, // SQLITE_UTF16NATIVE {}, } /* sqlite3.c:130285:7 */ var setCookie = [2]VdbeOpList{ @@ -127458,7 +127966,7 @@ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, } /* sqlite3.c:130380:31 */ var azLockName = [5]uintptr{ - ts + 21103 /* "unlocked" */, ts + 21112 /* "shared" */, ts + 21119 /* "reserved" */, ts + 21128 /* "pending" */, ts + 20426, /* "exclusive" */ + ts + 21118 /* "unlocked" */, ts + 21127 /* "shared" */, ts + 21134 /* "reserved" */, ts + 21143 /* "pending" */, ts + 20441, /* "exclusive" */ } /* sqlite3.c:130688:23 */ // **************************************************************************** // @@ -127505,7 +128013,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argc _ = argv Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+64 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+21136 /* "CREATE TABLE x" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+21151 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -127513,7 +128021,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+21151 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+21166 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -127526,19 +128034,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+21158 /* "(\"%s\"" */, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+21173 /* "(\"%s\"" */, 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 /* &acc */, ts+21164 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+21179 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+21176 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+21191 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+8043 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+8058 /* ")" */, 1) Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) rc = Xsqlite3_declare_vtab(tls, db, bp+64 /* &zBuf[0] */) @@ -127554,7 +128062,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -127717,7 +128225,7 @@ __1: var zText uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp, zText)) + *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, zText)) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) == uintptr(0) { return SQLITE_NOMEM } @@ -127733,13 +128241,13 @@ __2: __3: ; Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 128 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+21191 /* "PRAGMA " */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+21206 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+21199 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+21214 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) } Xsqlite3_str_appendall(tls, bp+32 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+21203 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+21218 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) } zSql = Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) if zSql == uintptr(0) { @@ -127748,7 +128256,7 @@ __3: rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -127841,12 +128349,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) // A error message has already been generated. Do not overwrite it } else if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & (U32(INITFLAG_AlterRename | INITFLAG_AlterDrop))) != 0 { *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db, - ts+21207 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), + ts+21222 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), func() uintptr { if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & U32(INITFLAG_AlterRename)) != 0 { - return ts + 21235 /* "rename" */ + return ts + 21250 /* "rename" */ } - return ts + 21242 /* "drop column" */ + return ts + 21257 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -127858,11 +128366,11 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { zObj = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - zObj = ts + 8096 /* "?" */ + zObj = ts + 8111 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+21254 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+21269 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+21285 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+21300 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -127939,7 +128447,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr if (Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (db+184 /* &.init */ /* &.newTnum */)) == 0) || (((*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum > (*InitData)(unsafe.Pointer(pData)).FmxPage) && ((*InitData)(unsafe.Pointer(pData)).FmxPage > Pgno(0))) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+17318 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+17333 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -127976,13 +128484,13 @@ 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+21293 /* "orphan index" */) + corruptSchema(tls, pData, argv, ts+21308 /* "orphan index" */) } else if (((Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (pIndex+88 /* &.tnum */)) == 0) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2))) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage)) || (Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+17318 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+17333 /* "invalid rootpage" */) } } } @@ -128025,16 +128533,16 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 9625 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 9640 /* "table" */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 15346 /* "sqlite_temp_mast..." */ + return ts + 15361 /* "sqlite_temp_mast..." */ } - return ts + 8930 /* "sqlite_master" */ + return ts + 8945 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 11290 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 21306 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 11305 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 21321 /* "CREATE TABLE x(t..." */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 5*8)) = uintptr(0) (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FiDb = iDb @@ -128147,7 +128655,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+14960 /* "attached databas..." */) + ts+14975 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -128187,7 +128695,7 @@ __16: if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) { goto __17 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+21378 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+21393 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -128209,7 +128717,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+21402, /* "SELECT*FROM\"%w\"...." */ + ts+21417, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName)) xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth @@ -128569,7 +129077,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+21436 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+21451 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -128597,7 +129105,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+21466 /* "statement too lo..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+21481 /* "statement too lo..." */, 0) rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG) goto end_prepare __10: @@ -128660,7 +129168,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+937 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+952 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */))) goto __21 __20: @@ -129135,24 +129643,24 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC } } if ((jointype & (JT_INNER | JT_OUTER)) == (JT_INNER | JT_OUTER)) || ((jointype & JT_ERROR) != 0) { - var zSp uintptr = ts + 14082 /* " " */ + var zSp uintptr = ts + 14097 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+21485 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) + ts+21500 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) jointype = JT_INNER } else if ((jointype & JT_OUTER) != 0) && ((jointype & (JT_LEFT | JT_RIGHT)) != JT_LEFT) { Xsqlite3ErrorMsg(tls, pParse, - ts+21529 /* "RIGHT and FULL O..." */, 0) + ts+21544 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 21584 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 21599 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -129358,7 +129866,7 @@ __1: if (int32((*SrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype) & JT_NATURAL) != 0 { if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) || ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+21618 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) + ts+21633 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) return 1 } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { @@ -129382,7 +129890,7 @@ __1: // Disallow both ON and USING clauses in the same join if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) && ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+21668 /* "cannot have both..." */, 0) + ts+21683 /* "cannot have both..." */, 0) return 1 } @@ -129417,7 +129925,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+21723 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) + ts+21738 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) return 1 } addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 24 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 28 /* iLeftCol */)), (i + 1), iRightCol, @@ -129612,7 +130120,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:132803:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) - Xsqlite3VdbeComment(tls, v, ts+21787 /* "OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21802 /* "OFFSET" */, 0) } } @@ -129826,7 +130334,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo if srcTab >= 0 { for i = 0; i < nResultCol; i++ { Xsqlite3VdbeAddOp3(tls, v, OP_Column, srcTab, i, (regResult + i)) - Xsqlite3VdbeComment(tls, v, ts+937 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3VdbeComment(tls, v, ts+952 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList+8 /* &.a */)+uintptr(i)*32)).FzEName)) } } else if eDest != SRT_Exists { // If the destination is an EXISTS(...) expression, the actual @@ -130208,16 +130716,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 21794 /* "UNION ALL" */ + z = ts + 21809 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 21804 /* "INTERSECT" */ + z = ts + 21819 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 21814 /* "EXCEPT" */ + z = ts + 21829 /* "EXCEPT" */ break default: - z = ts + 21821 /* "UNION" */ + z = ts + 21836 /* "UNION" */ break } return z @@ -130235,7 +130743,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite bp := tls.Alloc(8) defer tls.Free(8) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21827 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21842 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } // Assign expression b to lvalue a. A second, no-op, version of this macro @@ -130329,7 +130837,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n iRead = libc.PostDecInt32(&iCol, 1) } Xsqlite3VdbeAddOp3(tls, v, OP_Column, iSortTab, iRead, (regRow + i)) - Xsqlite3VdbeComment(tls, v, ts+937 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(aOutEx+uintptr(i)*32)).FzEName)) + Xsqlite3VdbeComment(tls, v, ts+952 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(aOutEx+uintptr(i)*32)).FzEName)) } } @@ -130505,8 +131013,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 15858 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 11453 /* "rowid" */ + zType = ts + 15873 /* "INTEGER" */ + *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 11468 /* "rowid" */ } else { *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName zType = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), uintptr(0)) @@ -130659,13 +131167,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 11453 /* "rowid" */ + zCol = ts + 11468 /* "rowid" */ } else { zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } if fullName != 0 { var zName uintptr = uintptr(0) - zName = Xsqlite3MPrintf(tls, db, ts+11386 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) + zName = Xsqlite3MPrintf(tls, db, ts+11401 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } else { Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, libc.UintptrFromInt32(-1)) @@ -130673,7 +131181,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*32)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+21850 /* "column%d" */, libc.VaList(bp+16, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+21865 /* "column%d" */, libc.VaList(bp+16, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -130762,7 +131270,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } else { - zName = ts + 11453 /* "rowid" */ + zName = ts + 11468 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -130775,7 +131283,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+21850 /* "column%d" */, libc.VaList(bp, (i+1))) + zName = Xsqlite3MPrintf(tls, db, ts+21865 /* "column%d" */, libc.VaList(bp, (i+1))) } // Make sure the column name is unique. If the name is not unique, @@ -130790,7 +131298,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+21859 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) + zName = Xsqlite3MPrintf(tls, db, ts+21874 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) if *(*U32)(unsafe.Pointer(bp + 56 /* cnt */)) > U32(3) { Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &cnt */) } @@ -130991,7 +131499,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 if Xsqlite3ExprIsInteger(tls, (*Expr)(unsafe.Pointer(pLimit)).FpLeft, bp /* &n */) != 0 { Xsqlite3VdbeAddOp2(tls, v, OP_Integer, *(*int32)(unsafe.Pointer(bp /* n */)), iLimit) - Xsqlite3VdbeComment(tls, v, ts+21867 /* "LIMIT counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21882 /* "LIMIT counter" */, 0) if *(*int32)(unsafe.Pointer(bp /* n */)) == 0 { Xsqlite3VdbeGoto(tls, v, iBreak) } else if (*(*int32)(unsafe.Pointer(bp /* n */)) >= 0) && (int32((*Select)(unsafe.Pointer(p)).FnSelectRow) > int32(Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp /* n */)))))) { @@ -131001,7 +131509,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 } else { Xsqlite3ExprCode(tls, pParse, (*Expr)(unsafe.Pointer(pLimit)).FpLeft, iLimit) Xsqlite3VdbeAddOp1(tls, v, OP_MustBeInt, iLimit) - Xsqlite3VdbeComment(tls, v, ts+21867 /* "LIMIT counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21882 /* "LIMIT counter" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_IfNot, iLimit, iBreak) } if (*Expr)(unsafe.Pointer(pLimit)).FpRight != 0 { @@ -131009,9 +131517,9 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 (*Parse)(unsafe.Pointer(pParse)).FnMem++ // Allocate an extra register for limit+offset Xsqlite3ExprCode(tls, pParse, (*Expr)(unsafe.Pointer(pLimit)).FpRight, iOffset) Xsqlite3VdbeAddOp1(tls, v, OP_MustBeInt, iOffset) - Xsqlite3VdbeComment(tls, v, ts+21881 /* "OFFSET counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21896 /* "OFFSET counter" */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_OffsetLimit, iLimit, (iOffset + 1), iOffset) - Xsqlite3VdbeComment(tls, v, ts+21896 /* "LIMIT+OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21911 /* "LIMIT+OFFSET" */, 0) } } } @@ -131147,7 +131655,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+21909 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21924 /* "cannot use windo..." */, 0) return __1: ; @@ -131231,7 +131739,7 @@ __9: Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, iQueue, nCol) __10: ; - Xsqlite3VdbeComment(tls, v, ts+21958 /* "Queue table" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21973 /* "Queue table" */, 0) if !(iDistinct != 0) { goto __11 } @@ -131258,7 +131766,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+21970 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21985 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -131280,7 +131788,7 @@ __14: // Store the results of the setup-query in Queue. pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior (*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22012 /* "SETUP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22027 /* "SETUP" */, 0) rc = Xsqlite3Select(tls, pParse, pSetup, bp /* &destQueue */) (*Select)(unsafe.Pointer(pSetup)).FpNext = p if !(rc != 0) { @@ -131323,7 +131831,7 @@ __20: // Execute the recursive SELECT taking the single row in Current as // the value for the recursive-table. Store the results in the Queue. (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22018 /* "RECURSIVE STEP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22033 /* "RECURSIVE STEP" */, 0) Xsqlite3Select(tls, pParse, p, bp /* &destQueue */) (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -131373,11 +131881,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+22033 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22048 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { if nRow == 1 { - return ts + 901 /* "" */ + return ts + 916 /* "" */ } - return ts + 4968 /* "S" */ + return ts + 4983 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -131529,8 +132037,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22056 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22071 /* "LEFT-MOST SUBQUE..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22071 /* "COMPOUND QUERY" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22086 /* "LEFT-MOST SUBQUE..." */, 0) __8: ; @@ -131569,7 +132077,7 @@ __14: goto __15 } addr = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, (*Select)(unsafe.Pointer(p)).FiLimit) - Xsqlite3VdbeComment(tls, v, ts+22090 /* "Jump ahead if LI..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22105 /* "Jump ahead if LI..." */, 0) if !((*Select)(unsafe.Pointer(p)).FiOffset != 0) { goto __16 } @@ -131579,7 +132087,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21794 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21809 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) @@ -131655,7 +132163,7 @@ __23: pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 64 /* &uniondest */)).FeDest = op - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22118 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22133 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+64 /* &uniondest */) @@ -131727,7 +132235,7 @@ __26: pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 104 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22118 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22133 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+104 /* &intersectdest */) @@ -131888,10 +132396,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+22139 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22154 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+22185, /* "SELECTs to the l..." */ + ts+22200, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -132271,9 +132779,9 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Separate the left and the right query from one another (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) (*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) - Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+10515 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+10530 /* "ORDER" */) if (*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+10515 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+10530 /* "ORDER" */) } // Compute the limit registers @@ -132302,15 +132810,15 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) Xsqlite3SelectDestInit(tls, bp+8 /* &destA */, SRT_Coroutine, regAddrA) Xsqlite3SelectDestInit(tls, bp+48 /* &destB */, SRT_Coroutine, regAddrB) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22267 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22282 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) // Generate a coroutine to evaluate the SELECT statement to the // left of the compound operator - the "A" select. addrSelectA = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA) - Xsqlite3VdbeComment(tls, v, ts+22278 /* "left SELECT" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22293 /* "left SELECT" */, 0) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22290 /* "LEFT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22305 /* "LEFT" */, 0) Xsqlite3Select(tls, pParse, pPrior, bp+8 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -132319,12 +132827,12 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // the right - the "B" select addrSelectB = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrB, 0, addrSelectB) - Xsqlite3VdbeComment(tls, v, ts+22295 /* "right SELECT" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22310 /* "right SELECT" */, 0) savedLimit = (*Select)(unsafe.Pointer(p)).FiLimit savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset (*Select)(unsafe.Pointer(p)).FiLimit = regLimitB (*Select)(unsafe.Pointer(p)).FiOffset = 0 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22308 /* "RIGHT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22323 /* "RIGHT" */, 0) Xsqlite3Select(tls, pParse, p, bp+48 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -132332,7 +132840,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Generate a subroutine that outputs the current row of the A // select as the next output row of the compound select. - Xsqlite3VdbeNoopComment(tls, v, ts+22314 /* "Output routine f..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+22329 /* "Output routine f..." */, 0) addrOutA = generateOutputSubroutine(tls, pParse, p, bp+8 /* &destA */, pDest, regOutA, regPrev, pKeyDup, labelEnd) @@ -132340,7 +132848,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Generate a subroutine that outputs the current row of the B // select as the next output row of the compound select. if (op == TK_ALL) || (op == TK_UNION) { - Xsqlite3VdbeNoopComment(tls, v, ts+22335 /* "Output routine f..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+22350 /* "Output routine f..." */, 0) addrOutB = generateOutputSubroutine(tls, pParse, p, bp+48 /* &destB */, pDest, regOutB, regPrev, pKeyDup, labelEnd) @@ -132352,7 +132860,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) if (op == TK_EXCEPT) || (op == TK_INTERSECT) { addrEofA_noB = libc.AssignInt32(&addrEofA, labelEnd) } else { - Xsqlite3VdbeNoopComment(tls, v, ts+22356 /* "eof-A subroutine" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+22371 /* "eof-A subroutine" */, 0) addrEofA = Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutB, addrOutB) addrEofA_noB = Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regAddrB, labelEnd) @@ -132368,14 +132876,14 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (*Select)(unsafe.Pointer(p)).FnSelectRow = (*Select)(unsafe.Pointer(pPrior)).FnSelectRow } } else { - Xsqlite3VdbeNoopComment(tls, v, ts+22373 /* "eof-B subroutine" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+22388 /* "eof-B subroutine" */, 0) addrEofB = Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutA, addrOutA) Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regAddrA, labelEnd) Xsqlite3VdbeGoto(tls, v, addrEofB) } // Generate code to handle the case of AB - Xsqlite3VdbeNoopComment(tls, v, ts+22426 /* "A-gt-B subroutin..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+22441 /* "A-gt-B subroutin..." */, 0) addrAgtB = Xsqlite3VdbeCurrentAddr(tls, v) if (op == TK_ALL) || (op == TK_UNION) { Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutB, addrOutB) @@ -132521,7 +133029,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 464 /* "BINARY" */ + return ts + 479 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -133734,12 +134242,12 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 return U8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8 /* &.u */)) - if Xsqlite3StrICmp(tls, zFunc, ts+18295 /* "min" */) == 0 { + if Xsqlite3StrICmp(tls, zFunc, ts+18310 /* "min" */) == 0 { eRet = WHERE_ORDERBY_MIN if Xsqlite3ExprCanBeNull(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */))).FpExpr) != 0 { sortFlags = U8(KEYINFO_ORDER_BIGNULL) } - } else if Xsqlite3StrICmp(tls, zFunc, ts+18299 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+18314 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -133808,7 +134316,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+22444 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) + Xsqlite3ErrorMsg(tls, pParse, ts+22459 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) return SQLITE_ERROR } @@ -133919,7 +134427,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s defer tls.Free(8) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+22462 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+22477 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) return 1 } return 0 @@ -134107,7 +134615,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+60 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+22485 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+22500 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -134123,7 +134631,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 22528 /* "circular referen..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 22543 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { @@ -134149,7 +134657,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+22551, /* "table %s has %d ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+22566, /* "table %s has %d ..." */ libc.VaList(bp+16, (*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 @@ -134160,9 +134668,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom Xsqlite3ColumnsFromExprList(tls, pParse, pEList, (pTab + 70 /* &.nCol */), (pTab + 8 /* &.aCol */)) if bMayRecursive != 0 { if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 22589 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 22604 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 22623 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 22638 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -134210,7 +134718,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+22661 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + (*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+22676 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) } for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior @@ -134337,7 +134845,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+22673, /* "too many referen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+22688, /* "too many referen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) (*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return WRC_Abort @@ -134356,7 +134864,7 @@ __1: if (((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (((*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+22712, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+22727, /* "access to view \"..." */ libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -134364,7 +134872,7 @@ __1: ((uint32(int32(*(*uint16)(unsafe.Pointer((pFrom + 60 /* &.fg */) + 4 /* &.fromDDL */)) & 0x40 >> 6))) != 0)) && ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+22743, /* "unsafe use of vi..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+22758, /* "unsafe use of vi..." */ libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) @@ -134479,7 +134987,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName } else { - zSchemaName = ts + 22776 /* "*" */ + zSchemaName = ts + 22791 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -134528,7 +135036,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+11386 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+11401 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) zToFree = zColname } } else { @@ -134544,7 +135052,7 @@ __3: (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSub)).FpEList+8 /* &.a */)+uintptr(j)*32)).FzEName) } else { - (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+22778, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+22793, /* "%s.%s.%s" */ libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } @@ -134564,9 +135072,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+22787 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+22802 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+22805 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22820 /* "no tables specif..." */, 0) } } } @@ -134576,7 +135084,7 @@ __3: } if (*Select)(unsafe.Pointer(p)).FpEList != 0 { if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+22825 /* "too many columns..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22840 /* "too many columns..." */, 0) return WRC_Abort } if (elistFlags & (U32(EP_HasFunc | EP_Subquery))) != U32(0) { @@ -134764,13 +135272,13 @@ __1: if (*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)) == uintptr(0)) || ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)))).FnExpr != 1) { Xsqlite3ErrorMsg(tls, pParse, - ts+22856 /* "DISTINCT aggrega..." */, 0) + ts+22871 /* "DISTINCT aggrega..." */, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1 } else { var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)), 0, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -9) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22907 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22922 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } @@ -134970,19 +135478,19 @@ 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 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22940, /* "SCAN %s%s%s" */ + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22955, /* "SCAN %s%s%s" */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if bCover != 0 { - return ts + 22952 /* " USING COVERING ..." */ + return ts + 22967 /* " USING COVERING ..." */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }())) } } @@ -135002,7 +135510,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { if (Xsqlite3ExprIsConstantOrGroupBy(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*Select)(unsafe.Pointer(pS)).FpGroupBy) != 0) && ((libc.Bool32(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromJoin | EP_IsFalse))) == U32(EP_IsFalse))) == 0) { var db uintptr = (*Parse)(unsafe.Pointer((*Walker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+11290 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+11305 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -135304,7 +135812,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+22975, /* "target object/al..." */ + ts+22990, /* "target object/al..." */ libc.VaList(bp, func() uintptr { if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 { return (*SrcItem)(unsafe.Pointer(p0)).FzAlias @@ -135384,7 +135892,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+23029, /* "expected %d colu..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+23044, /* "expected %d colu..." */ 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 __18: @@ -135525,7 +136033,7 @@ __29: if !(((*SrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0)) && ((*SrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0))) { goto __32 } - Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+901 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+916 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -135587,10 +136095,10 @@ __35: (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) - Xsqlite3VdbeComment(tls, v, ts+23069 /* "%!S" */, libc.VaList(bp+32, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+23084 /* "%!S" */, libc.VaList(bp+32, pItem1)) (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop Xsqlite3SelectDestInit(tls, bp+128 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23073 /* "CO-ROUTINE %!S" */, libc.VaList(bp+40, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23088 /* "CO-ROUTINE %!S" */, libc.VaList(bp+40, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+128 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) @@ -135645,14 +136153,14 @@ __41: // a trigger, then we only need to compute the value of the subquery // once. onceAddr = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeComment(tls, v, ts+23088 /* "materialize %!S" */, libc.VaList(bp+48, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+23103 /* "materialize %!S" */, libc.VaList(bp+48, pItem1)) goto __45 __44: - Xsqlite3VdbeNoopComment(tls, v, ts+23088 /* "materialize %!S" */, libc.VaList(bp+56, pItem1)) + Xsqlite3VdbeNoopComment(tls, v, ts+23103 /* "materialize %!S" */, libc.VaList(bp+56, pItem1)) __45: ; Xsqlite3SelectDestInit(tls, bp+128 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23104 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23119 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+128 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { @@ -135662,7 +136170,7 @@ __45: __46: ; retAddr = Xsqlite3VdbeAddOp1(tls, v, OP_Return, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeComment(tls, v, ts+23120 /* "end %!S" */, libc.VaList(bp+72, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+23135 /* "end %!S" */, libc.VaList(bp+72, pItem1)) Xsqlite3VdbeChangeP1(tls, v, topAddr, retAddr) Xsqlite3ClearTempRegCache(tls, pParse) if !(((uint32(int32(*(*uint16)(unsafe.Pointer((pItem1 + 60 /* &.fg */) + 4 /* &.isCte */)) & 0x80 >> 7))) != 0) && ((int32(*(*uint16)(unsafe.Pointer((pItem1 + 60 /* &.fg */) + 4 /* &.isCorrelated */)) & 0x8 >> 3)) == 0)) { @@ -135875,12 +136383,12 @@ __65: Xsqlite3VdbeAddOp2(tls, v, OP_Goto, 0, iBreak) Xsqlite3VdbeResolveLabel(tls, v, addrGosub) - Xsqlite3VdbeNoopComment(tls, v, ts+23128 /* "inner-loop subro..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+23143 /* "inner-loop subro..." */, 0) (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FlabelOBLopt = 0 selectInnerLoop(tls, pParse, p, -1, bp+80 /* &sSort */, bp+168 /* &sDistinct */, pDest, iCont, iBreak) Xsqlite3VdbeResolveLabel(tls, v, iCont) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regGosub) - Xsqlite3VdbeComment(tls, v, ts+23150 /* "end inner-loop s..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+23165 /* "end inner-loop s..." */, 0) Xsqlite3VdbeResolveLabel(tls, v, iBreak) goto __67 __66: @@ -136134,7 +136642,7 @@ __95: iBMem = ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1) *(*int32)(unsafe.Pointer(pParse + 56 /* &.nMem */)) += ((*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, iAbortFlag) - Xsqlite3VdbeComment(tls, v, ts+23176 /* "clear abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+23191 /* "clear abort flag" */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, iAMem, ((iAMem + (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) - 1)) // Begin a loop that will extract all source rows in GROUP BY order. @@ -136172,9 +136680,9 @@ __97: explainTempTable(tls, pParse, func() uintptr { if ((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { - return ts + 23193 /* "DISTINCT" */ + return ts + 23208 /* "DISTINCT" */ } - return ts + 23202 /* "GROUP BY" */ + return ts + 23217 /* "GROUP BY" */ }()) groupBySort = 1 @@ -136236,7 +136744,7 @@ __105: sortOut = Xsqlite3GetTempReg(tls, pParse) Xsqlite3VdbeAddOp3(tls, v, OP_OpenPseudo, sortPTab, sortOut, nCol) Xsqlite3VdbeAddOp2(tls, v, OP_SorterSort, (*AggInfo)(unsafe.Pointer(pAggInfo)).FsortingIdx, addrEnd) - Xsqlite3VdbeComment(tls, v, ts+23211 /* "GROUP BY sort" */, 0) + Xsqlite3VdbeComment(tls, v, ts+23226 /* "GROUP BY sort" */, 0) (*AggInfo)(unsafe.Pointer(pAggInfo)).FuseSortingIdx = U8(1) __98: ; @@ -136306,18 +136814,18 @@ __111: // for the next GROUP BY batch. Xsqlite3ExprCodeMove(tls, pParse, iBMem, iAMem, (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutputRow, addrOutputRow) - Xsqlite3VdbeComment(tls, v, ts+23225 /* "output one row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+23240 /* "output one row" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_IfPos, iAbortFlag, addrEnd) - Xsqlite3VdbeComment(tls, v, ts+23240 /* "check abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+23255 /* "check abort flag" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regReset, addrReset) - Xsqlite3VdbeComment(tls, v, ts+23257 /* "reset accumulato..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+23272 /* "reset accumulato..." */, 0) // Update the aggregate accumulators based on the content of // the current row Xsqlite3VdbeJumpHere(tls, v, addr1) updateAccumulator(tls, pParse, iUseFlag, pAggInfo, eDist) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, iUseFlag) - Xsqlite3VdbeComment(tls, v, ts+23275 /* "indicate data in..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+23290 /* "indicate data in..." */, 0) // End of the loop if !(groupBySort != 0) { @@ -136336,7 +136844,7 @@ __115: // Output the final row of result Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutputRow, addrOutputRow) - Xsqlite3VdbeComment(tls, v, ts+23304 /* "output final row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+23319 /* "output final row" */, 0) // Jump over the subroutines Xsqlite3VdbeGoto(tls, v, addrEnd) @@ -136349,13 +136857,13 @@ __115: // order to signal the caller to abort. addrSetAbort = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, iAbortFlag) - Xsqlite3VdbeComment(tls, v, ts+23321 /* "set abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+23336 /* "set abort flag" */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) Xsqlite3VdbeResolveLabel(tls, v, addrOutputRow) addrOutputRow = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_IfPos, iUseFlag, (addrOutputRow + 2)) - Xsqlite3VdbeComment(tls, v, ts+23336 /* "Groupby result g..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+23351 /* "Groupby result g..." */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) finalizeAggFunctions(tls, pParse, pAggInfo) Xsqlite3ExprIfFalse(tls, pParse, pHaving, (addrOutputRow + 1), SQLITE_JUMPIFNULL) @@ -136363,13 +136871,13 @@ __115: bp+168 /* &sDistinct */, pDest, (addrOutputRow + 1), addrSetAbort) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) - Xsqlite3VdbeComment(tls, v, ts+23373 /* "end groupby resu..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+23388 /* "end groupby resu..." */, 0) // Generate a subroutine that will reset the group-by accumulator Xsqlite3VdbeResolveLabel(tls, v, addrReset) resetAccumulator(tls, pParse, pAggInfo) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, iUseFlag) - Xsqlite3VdbeComment(tls, v, ts+23402 /* "indicate accumul..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+23417 /* "indicate accumul..." */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regReset) if !(eDist != WHERE_DISTINCT_NOOP) { @@ -136591,7 +137099,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+23193 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+23208 /* "DISTINCT" */) __140: ; @@ -136603,9 +137111,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FnOBSat > 0 { - return ts + 23429 /* "RIGHT PART OF OR..." */ + return ts + 23444 /* "RIGHT PART OF OR..." */ } - return ts + 23452 /* "ORDER BY" */ + return ts + 23467 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+80 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -136739,7 +137247,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if !(z == uintptr(0)) { goto __10 } @@ -136761,7 +137269,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+23461 /* "sqlite3_get_tabl..." */, 0) + ts+23476 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -136860,7 +137368,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) } @@ -137021,7 +137529,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+23526 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+23541 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -137082,7 +137590,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+23572 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+23587 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+40 /* &sFix */, pTableName) != 0) { goto __9 } @@ -137100,7 +137608,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+23580 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+23595 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -137115,7 +137623,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+23572 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { + if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+23587 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { goto __13 } goto trigger_cleanup @@ -137131,7 +137639,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+23621 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+23636 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __17 __16: ; @@ -137145,10 +137653,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+11517 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+11532 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+23647 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+23662 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -137158,12 +137666,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+23685, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+23700, /* "cannot create %s..." */ libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 23722 /* "BEFORE" */ + return ts + 23737 /* "BEFORE" */ } - return ts + 23729 /* "AFTER" */ + return ts + 23744 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -137172,7 +137680,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+23735 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) + ts+23750 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -137202,9 +137710,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 15346 /* "sqlite_temp_mast..." */ + return ts + 15361 /* "sqlite_temp_mast..." */ } - return ts + 8930 /* "sqlite_master" */ + return ts + 8945 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -137338,7 +137846,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+23572 /* "trigger" */, bp+40 /* &nameToken */) + Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+23587 /* "trigger" */, bp+40 /* &nameToken */) if !((Xsqlite3FixTriggerStep(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || (Xsqlite3FixExpr(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 @@ -137375,13 +137883,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+23781, /* "INSERT INTO %Q.s..." */ + ts+23796, /* "INSERT INTO %Q.s..." */ libc.VaList(bp, (*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+23856 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+23871 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) __7: ; __6: @@ -137647,7 +138155,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+23885 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+23900 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __10 __9: Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb) @@ -137688,9 +138196,9 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName var zTab uintptr = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 15346 /* "sqlite_temp_mast..." */ + return ts + 15361 /* "sqlite_temp_mast..." */ } - return ts + 8930 /* "sqlite_master" */ + return ts + 8945 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -137703,7 +138211,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / // Generate code to destroy the database record of the trigger. if (libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse))) != uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+23905, /* "DELETE FROM %Q.s..." */ + ts+23920, /* "DELETE FROM %Q.s..." */ 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) @@ -137822,12 +138330,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+23967, /* "%s RETURNING is ..." */ + ts+23982, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 24015 /* "DELETE" */ + return ts + 24030 /* "DELETE" */ } - return ts + 24022 /* "UPDATE" */ + return ts + 24037 /* "UPDATE" */ }())) __15: ; @@ -137923,7 +138431,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK { return 0 } - Xsqlite3ErrorMsg(tls, pParse, ts+24029 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+24044 /* "RETURNING may no..." */, 0) return 1 } @@ -138064,7 +138572,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf if (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { Xsqlite3VdbeAddOp4(tls, v, OP_Trace, 0x7fffffff, 1, 0, - Xsqlite3MPrintf(tls, db, ts+9117 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+9132 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -138123,19 +138631,19 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf func onErrorText(tls *libc.TLS, onError int32) uintptr { /* sqlite3.c:140731:19: */ switch onError { case OE_Abort: - return ts + 24071 /* "abort" */ + return ts + 24086 /* "abort" */ case OE_Rollback: - return ts + 24077 /* "rollback" */ + return ts + 24092 /* "rollback" */ case OE_Fail: - return ts + 24086 /* "fail" */ + return ts + 24101 /* "fail" */ case OE_Replace: - return ts + 18490 /* "replace" */ + return ts + 18505 /* "replace" */ case OE_Ignore: - return ts + 24091 /* "ignore" */ + return ts + 24106 /* "ignore" */ case OE_Default: - return ts + 24098 /* "default" */ + return ts + 24113 /* "default" */ } - return ts + 24106 /* "n/a" */ + return ts + 24121 /* "n/a" */ } // Parse context structure pFrom has just been used to create a sub-vdbe @@ -138211,30 +138719,30 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt v = Xsqlite3GetVdbe(tls, pSubParse) if v != 0 { - Xsqlite3VdbeComment(tls, v, ts+24110 /* "Start: %s.%s (%s..." */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf), func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+24125 /* "Start: %s.%s (%s..." */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Ftr_tm) == TRIGGER_BEFORE { - return ts + 23722 /* "BEFORE" */ + return ts + 23737 /* "BEFORE" */ } - return ts + 23729 /* "AFTER" */ + return ts + 23744 /* "AFTER" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_UPDATE { - return ts + 24022 /* "UPDATE" */ + return ts + 24037 /* "UPDATE" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_INSERT { - return ts + 24141 /* "INSERT" */ + return ts + 24156 /* "INSERT" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_DELETE { - return ts + 24015 /* "DELETE" */ + return ts + 24030 /* "DELETE" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), (*Table)(unsafe.Pointer(pTab)).FzName)) if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+24148 /* "-- TRIGGER %s" */, libc.VaList(bp+56, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) + Xsqlite3MPrintf(tls, db, ts+24163 /* "-- TRIGGER %s" */, libc.VaList(bp+56, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -138258,7 +138766,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt Xsqlite3VdbeResolveLabel(tls, v, iEndTrigger) } Xsqlite3VdbeAddOp0(tls, v, OP_Halt) - Xsqlite3VdbeComment(tls, v, ts+24162 /* "End: %s.%s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) + Xsqlite3VdbeComment(tls, v, ts+24177 /* "End: %s.%s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) transferParseError(tls, pParse, pSubParse) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0) && ((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) { @@ -138325,11 +138833,11 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab Xsqlite3VdbeAddOp4(tls, v, OP_Program, reg, ignoreJump, libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1), (*TriggerPrg)(unsafe.Pointer(pPrg)).FpProgram, -4) - Xsqlite3VdbeComment(tls, v, ts+24173 /* "Call: %s.%s" */, libc.VaList(bp, func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+24188 /* "Call: %s.%s" */, libc.VaList(bp, func() uintptr { if (*Trigger)(unsafe.Pointer(p)).FzName != 0 { return (*Trigger)(unsafe.Pointer(p)).FzName } - return ts + 24185 /* "fkey" */ + return ts + 24200 /* "fkey" */ }(), onErrorText(tls, orconf))) // Set the P5 operand of the OP_Program instruction to non-zero if @@ -138492,7 +139000,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg *(*uintptr)(unsafe.Pointer(bp + 16 /* pValue */)) = uintptr(0) var enc U8 = (*Sqlite3)(unsafe.Pointer(Xsqlite3VdbeDb(tls, v))).Fenc var pCol uintptr = ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*32) - Xsqlite3VdbeComment(tls, v, ts+11386 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+11401 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3ValueFromExpr(tls, Xsqlite3VdbeDb(tls, v), (*Column)(unsafe.Pointer(pCol)).FpDflt, enc, uint8((*Column)(unsafe.Pointer(pCol)).Faffinity), bp+16 /* &pValue */) @@ -138948,7 +139456,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+24190, /* "cannot UPDATE ge..." */ + ts+24205, /* "cannot UPDATE ge..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto update_cleanup __27: @@ -138980,7 +139488,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+24226 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24241 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -138991,7 +139499,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 10952 /* "ROWID" */ + return ts + 10967 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*32)).FzName }(), @@ -140022,7 +140530,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+24245 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+24260 /* "rows updated" */, uintptr(0)) __169: ; @@ -140409,10 +140917,10 @@ __1: if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { *(*int8)(unsafe.Pointer(bp + 216 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+24258 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+24273 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+24262 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) + ts+24277 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -140482,7 +140990,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab iDataCur = (*Upsert)(unsafe.Pointer(pUpsert)).FiDataCur pUpsert = Xsqlite3UpsertOfIndex(tls, pTop, pIdx) - Xsqlite3VdbeNoopComment(tls, v, ts+24335 /* "Begin DO UPDATE ..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+24350 /* "Begin DO UPDATE ..." */, 0) if (pIdx != 0) && (iCur != iDataCur) { if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { var regRowid int32 = Xsqlite3GetTempReg(tls, pParse) @@ -140500,13 +141008,13 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab k = int32(Xsqlite3TableColumnToIndex(tls, pIdx, *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iCur, k, (iPk + i)) - Xsqlite3VdbeComment(tls, v, ts+11386 /* "%s.%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+11401 /* "%s.%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) } i = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, iDataCur, 0, iPk, nPk) Xsqlite3VdbeAddOp4(tls, v, OP_Halt, SQLITE_CORRUPT, OE_Abort, 0, - ts+15400 /* "corrupt database" */, -1) + ts+15415 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -140522,7 +141030,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab } Xsqlite3Update(tls, pParse, pSrc, Xsqlite3ExprListDup(tls, db, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSet, 0), Xsqlite3ExprDup(tls, db, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertWhere, 0), OE_Abort, uintptr(0), uintptr(0), pUpsert) - Xsqlite3VdbeNoopComment(tls, v, ts+24361 /* "End DO UPDATE of..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+24376 /* "End DO UPDATE of..." */, 0) } //************* End of upsert.c ********************************************* @@ -140574,7 +141082,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { // then run VACUUM to get those statements to execute at inappropriate // times. if (zSubSql != 0) && - ((libc.Xstrncmp(tls, zSubSql, ts+24385 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+24389 /* "INS" */, uint64(3)) == 0)) { + ((libc.Xstrncmp(tls, zSubSql, ts+24400 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+24404 /* "INS" */, uint64(3)) == 0)) { rc = execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -140724,14 +141232,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+24393 /* "cannot VACUUM fr..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+24408 /* "cannot VACUUM fr..." */) return SQLITE_ERROR // IMP: R-12218-18073 __1: ; if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) { goto __2 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+24433 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+24448 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -140742,7 +141250,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+24476 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+24491 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -140751,7 +141259,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 76 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 901 /* "" */ + zOut = ts + 916 /* "" */ __4: ; @@ -140787,7 +141295,7 @@ __4: // time to parse and run the PRAGMA to turn journalling off than it does // to write the journal header file. nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb - rc = execSqlF(tls, db, pzErrMsg, ts+24494 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) + rc = execSqlF(tls, db, pzErrMsg, ts+24509 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if !(rc != SQLITE_OK) { goto __6 @@ -140808,7 +141316,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+24517 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+24532 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -140824,7 +141332,7 @@ __7: // Begin a transaction and take an exclusive lock on the main database // file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, // to ensure that we do not try to change the page-size on a WAL database. - rc = execSql(tls, db, pzErrMsg, ts+17678 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+17693 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -140875,7 +141383,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+24544, /* "SELECT sql FROM ..." */ + ts+24559, /* "SELECT sql FROM ..." */ libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -140885,7 +141393,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+24652, /* "SELECT sql FROM ..." */ + ts+24667, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -140900,7 +141408,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+24706, /* "SELECT'INSERT IN..." */ + ts+24721, /* "SELECT'INSERT IN..." */ libc.VaList(bp+24, zDbMain)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) @@ -140917,7 +141425,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+24857, /* "INSERT INTO vacu..." */ + ts+24872, /* "INSERT INTO vacu..." */ libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 @@ -141297,7 +141805,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp var azModuleArg uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*Table)(unsafe.Pointer(pTable)).FnModuleArg + 3) >= *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+15630 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15645 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = Xsqlite3DbRealloc(tls, db, (*Table)(unsafe.Pointer(pTable)).FazModuleArg, uint64(nBytes)) if azModuleArg == uintptr(0) { @@ -141391,7 +141899,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s 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+24987 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) + zStmt = Xsqlite3MPrintf(tls, db, ts+25002 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) // A slot for the record has already been allocated in the // schema table. We just need to update that slot with all @@ -141403,7 +141911,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+25011, /* "UPDATE %Q.sqlite..." */ + ts+25026, /* "UPDATE %Q.sqlite..." */ 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, @@ -141413,7 +141921,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+25110 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+25125 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -141478,7 +141986,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+25129 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+25144 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return SQLITE_LOCKED } } @@ -141516,9 +142024,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+25171 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+25186 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+937 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+952 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) @@ -141530,7 +142038,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 /* &sCtx */)).FbDeclared == 0 { - var zFormat uintptr = ts + 25201 /* "vtable construct..." */ + var zFormat uintptr = ts + 25216 /* "vtable construct..." */ *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR @@ -141546,12 +142054,12 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Table)(unsafe.Pointer(pTab)).FpVTable = pVTable for iCol = 0; iCol < int32((*Table)(unsafe.Pointer(pTab)).FnCol); iCol++ { - var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+901 /* "" */) + var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+916 /* "" */) var nType int32 var i int32 = 0 nType = Xsqlite3Strlen30(tls, zType) for i = 0; i < nType; i++ { - if ((0 == Xsqlite3_strnicmp(tls, ts+19263 /* "hidden" */, (zType+uintptr(i)), 6)) && + if ((0 == Xsqlite3_strnicmp(tls, ts+19278 /* "hidden" */, (zType+uintptr(i)), 6)) && ((i == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && ((int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { break @@ -141610,13 +142118,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 if !(pMod != 0) { var zModule uintptr = *(*uintptr)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FazModuleArg)) - Xsqlite3ErrorMsg(tls, pParse, ts+25247 /* "no such module: ..." */, libc.VaList(bp, zModule)) + Xsqlite3ErrorMsg(tls, pParse, ts+25262 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+16 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+937 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+952 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -141678,7 +142186,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // invoke it now. If the module has not been registered, return an // error. Otherwise, do nothing. 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+25247 /* "no such module: ..." */, libc.VaList(bp, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+25262 /* "no such module: ..." */, 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) @@ -141755,7 +142263,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)) != 0 { - return ts + 937 /* "%s" */ + return ts + 952 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)))) @@ -142127,7 +142635,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+8 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+937 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+952 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 @@ -142558,10 +143066,10 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:144931:29 */ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:145112:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == (-2) { - return ts + 25266 /* "" */ + return ts + 25281 /* "" */ } if i == (-1) { - return ts + 11453 /* "rowid" */ + return ts + 11468 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*32)).FzName } @@ -142576,35 +143084,35 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i var i int32 if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, ts+25273 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+25288 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+25279 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+25294 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+16011 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+16026 /* "," */, 1) } Xsqlite3_str_appendall(tls, pStr, explainIndexColumnName(tls, pIdx, (iTerm+i))) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+8043 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+8058 /* ")" */, 1) } Xsqlite3_str_append(tls, pStr, zOp, 1) if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+25279 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+25294 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+16011 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+16026 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+8096 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+8111 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+8043 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+8058 /* ")" */, 1) } } @@ -142633,29 +143141,29 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. 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+25281 /* " (" */, 2) + Xsqlite3_str_append(tls, pStr, ts+25296 /* " (" */, 2) for i = 0; i < int32(nEq); i++ { var z uintptr = explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+25273 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+25288 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 25284 /* "%s=?" */ + return ts + 25299 /* "%s=?" */ } - return ts + 25289 /* "ANY(%s)" */ + return ts + 25304 /* "ANY(%s)" */ }(), 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 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+25297 /* ">" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+25312 /* ">" */) i = 1 } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_TOP_LIMIT)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+25299 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+25314 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+8043 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+8058 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -142700,11 +143208,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+80 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) (*StrAccum)(unsafe.Pointer(bp + 48 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+25301 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+25316 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { - return ts + 25307 /* "SEARCH" */ + return ts + 25322 /* "SEARCH" */ } - return ts + 25314 /* "SCAN" */ + return ts + 25329 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -142714,38 +143222,38 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr if !(((*Table)(unsafe.Pointer(((*SrcItem)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = ts + 14130 /* "PRIMARY KEY" */ + zFmt = ts + 14145 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 25319 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 25334 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 25352 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 25367 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 25377 /* "COVERING INDEX %..." */ + zFmt = ts + 25392 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 25395 /* "INDEX %s" */ + zFmt = ts + 25410 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+48 /* &str */, ts+25404 /* " USING " */, 7) + Xsqlite3_str_append(tls, bp+48 /* &str */, ts+25419 /* " USING " */, 7) Xsqlite3_str_appendf(tls, bp+48 /* &str */, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) explainIndexRange(tls, bp+48 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr if (flags & (U32(WHERE_COLUMN_EQ | WHERE_COLUMN_IN))) != 0 { - zRangeOp = ts + 25412 /* "=" */ + zRangeOp = ts + 25427 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 25414 /* ">? AND rowid<" */ + zRangeOp = ts + 25429 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 25297 /* ">" */ + zRangeOp = ts + 25312 /* ">" */ } else { - zRangeOp = ts + 25299 /* "<" */ + zRangeOp = ts + 25314 /* "<" */ } Xsqlite3_str_appendf(tls, bp+48, /* &str */ - ts+25428 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) + ts+25443 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+25466, /* " VIRTUAL TABLE I..." */ + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+25481, /* " VIRTUAL TABLE I..." */ libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } zMsg = Xsqlite3StrAccumFinish(tls, bp+48 /* &str */) @@ -143202,7 +143710,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in return OP_Rewind }(), iIdxCur) - Xsqlite3VdbeComment(tls, v, ts+25493 /* "begin skip-scan ..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+25508 /* "begin skip-scan ..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) j = Xsqlite3VdbeAddOp0(tls, v, OP_Goto) (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip = Xsqlite3VdbeAddOp4Int(tls, v, func() int32 { if bRev != 0 { @@ -143216,7 +143724,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in for j = 0; j < int32(nSkip); j++ { Xsqlite3VdbeAddOp3(tls, v, OP_Column, iIdxCur, j, (regBase + j)) - Xsqlite3VdbeComment(tls, v, ts+937 /* "%s" */, libc.VaList(bp+8, explainIndexColumnName(tls, pIdx, j))) + Xsqlite3VdbeComment(tls, v, ts+952 /* "%s" */, libc.VaList(bp+8, explainIndexColumnName(tls, pIdx, j))) } } @@ -143561,7 +144069,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if (int32((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom) > 0) && ((int32((*SrcItem)(unsafe.Pointer(pTabItem)).Ffg.Fjointype) & JT_LEFT) != 0) { (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) - Xsqlite3VdbeComment(tls, v, ts+25515 /* "init LEFT JOIN n..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+25530 /* "init LEFT JOIN n..." */, 0) } // Compute a safe address to jump to if we discover that the table for @@ -143576,7 +144084,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, (*SrcItem)(unsafe.Pointer(pTabItem)).FaddrFillSub) (*WhereLevel)(unsafe.Pointer(pLevel)).Fp2 = Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regYield, addrBrk) - Xsqlite3VdbeComment(tls, v, ts+25544 /* "next row of %s" */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+25559 /* "next row of %s" */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) (*WhereLevel)(unsafe.Pointer(pLevel)).Fop = U8(OP_Goto) } else if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_VIRTUALTABLE)) != U32(0) { // Case 1: The table is a virtual-table. Use the VFilter and VNext @@ -143756,7 +144264,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI op = int32(*(*U8)(unsafe.Pointer(bp + 16 /* &aMoveOp[0] */ + uintptr((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT))))) } Xsqlite3VdbeAddOp3(tls, v, op, iCur, addrBrk, r1) - Xsqlite3VdbeComment(tls, v, ts+19260 /* "pk" */, 0) + Xsqlite3VdbeComment(tls, v, ts+19275 /* "pk" */, 0) Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 20 /* rTemp */))) } else { @@ -143975,7 +144483,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI } else { if regBignull != 0 { Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, regBignull) - Xsqlite3VdbeComment(tls, v, ts+25559 /* "NULL-scan pass c..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+25574 /* "NULL-scan pass c..." */, 0) } op = int32(aStartOp[(((start_constraints << 2) + (startEq << 1)) + bRev)]) @@ -144049,7 +144557,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if regBignull != 0 { // Except, skip the end-of-range check while doing the NULL-scan Xsqlite3VdbeAddOp2(tls, v, OP_IfNot, regBignull, (Xsqlite3VdbeCurrentAddr(tls, v) + 3)) - Xsqlite3VdbeComment(tls, v, ts+25578 /* "If NULL-scan 2nd..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+25593 /* "If NULL-scan 2nd..." */, 0) } op = int32(aEndOp[((bRev * 2) + endEq)]) @@ -144064,7 +144572,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // the NULLs Xsqlite3VdbeAddOp2(tls, v, OP_If, regBignull, (Xsqlite3VdbeCurrentAddr(tls, v) + 2)) - Xsqlite3VdbeComment(tls, v, ts+25600 /* "If NULL-scan 1st..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+25615 /* "If NULL-scan 1st..." */, 0) op = int32(aEndOp[((bRev * 2) + int32(bSeekPastNull))]) Xsqlite3VdbeAddOp4Int(tls, v, op, iIdxCur, addrNxt, regBase, @@ -144310,7 +144818,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // Run a separate WHERE clause for each term of the OR clause. After // eliminating duplicates from other WHERE clauses, the action for each // sub-WHERE clause is to to invoke the main loop body as a subroutine. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25622 /* "MULTI-INDEX OR" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25637 /* "MULTI-INDEX OR" */, 0) for ii = 0; ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm; ii++ { var pOrTerm uintptr = ((*WhereClause)(unsafe.Pointer(pOrWc)).Fa + uintptr(ii)*56) if ((*WhereTerm)(unsafe.Pointer(pOrTerm)).FleftCursor == iCur) || ((int32((*WhereTerm)(unsafe.Pointer(pOrTerm)).FeOperator) & WO_AND) != 0) { @@ -144329,7 +144837,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } // Loop through table entries that match term pOrTerm. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25637 /* "INDEX %d" */, libc.VaList(bp+8, (ii+1))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25652 /* "INDEX %d" */, libc.VaList(bp+8, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -144634,7 +145142,7 @@ __6: if (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin != 0 { (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrFirst = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) - Xsqlite3VdbeComment(tls, v, ts+25646 /* "record LEFT JOIN..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+25661 /* "record LEFT JOIN..." */, 0) pTerm = (*WhereClause)(unsafe.Pointer(pWC)).Fa j = 0 __7: @@ -145077,10 +145585,10 @@ type Op2 = struct { } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 19221 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 18557 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 18107 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 25667 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, + {FzOp: ts + 19236 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, + {FzOp: ts + 18572 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, + {FzOp: ts + 18122 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, + {FzOp: ts + 25682 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, } /* sqlite3.c:147958:7 */ // If the pBase expression originated in the ON or USING clause of @@ -145781,7 +146289,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s extraRight = (x - uint64(1)) // ON clause terms may not be used with an index // on left table of a LEFT JOIN. Ticket #3015 if (prereqAll >> 1) >= x { - Xsqlite3ErrorMsg(tls, pParse, ts+25674 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25689 /* "ON clause refere..." */, 0) return } } @@ -145857,7 +146365,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s (*WhereTerm)(unsafe.Pointer(pNew)).FeOperator = (U16((int32(operatorMask(tls, int32((*Expr)(unsafe.Pointer(pDup)).Fop))) + int32(eExtraOp)) & int32(opMask))) } else if (op == TK_ISNULL) && (0 == Xsqlite3ExprCanBeNull(tls, pLeft)) { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 10039 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 10054 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) (*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0) @@ -145958,7 +146466,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s } zCollSeqName = func() uintptr { if *(*int32)(unsafe.Pointer(bp + 20 /* noCase */)) != 0 { - return ts + 25715 /* "NOCASE" */ + return ts + 25730 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -146260,7 +146768,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+25722, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+25737, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -147083,7 +147591,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+25758 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, + ts+25773 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*32)).FzName)) sentWarning = U8(1) __6: @@ -147164,7 +147672,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 25784 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 25799 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -147261,7 +147769,7 @@ __24: (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) Xsqlite3VdbeAddOp2(tls, v, OP_OpenAutoindex, (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur, (nKeyCol + 1)) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+18953 /* "for %s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+18968 /* "for %s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTable)).FzName)) // Fill the automatic index with content pTabItem = (((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList + 8 /* &.a */) + uintptr((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*112) @@ -147273,7 +147781,7 @@ __24: Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, (*SrcItem)(unsafe.Pointer(pTabItem)).FaddrFillSub) addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, regYield) - Xsqlite3VdbeComment(tls, v, ts+25544 /* "next row of %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+25559 /* "next row of %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) goto __29 __28: addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, (*WhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) @@ -147399,7 +147907,7 @@ __3: ((uint64(unsafe.Sizeof(sqlite3_index_constraint{})) + uint64(unsafe.Sizeof(sqlite3_index_constraint_usage{}))) * uint64(nTerm))) + (uint64(unsafe.Sizeof(sqlite3_index_orderby{})) * uint64(nOrderBy))) + uint64(unsafe.Sizeof(HiddenIndexInfo1{}))))) if pIdxInfo == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+9155 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9170 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*96) @@ -147526,9 +148034,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+937 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+952 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+937 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+952 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -149578,7 +150086,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+25795 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+25810 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -149626,7 +150134,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+25795 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+25810 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -150015,7 +150523,7 @@ __1: if (rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { if rc == SQLITE_DONE { // We hit the query planner search limit set by iPlanLimit - Xsqlite3_log(tls, SQLITE_WARNING, ts+25821 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+25836 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -150784,7 +151292,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+25856 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25871 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -151165,7 +151673,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+25874 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) + Xsqlite3ErrorMsg(tls, pParse, ts+25889 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) return uintptr(0) __3: ; @@ -151239,7 +151747,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+25902 /* "SCAN CONSTANT RO..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+25917 /* "SCAN CONSTANT RO..." */, 0) goto __6 __5: // Assign a bit from the bitmask to every term in the FROM clause. @@ -151763,7 +152271,7 @@ __74: Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_SEEKEQ)) __82: ; - Xsqlite3VdbeComment(tls, v, ts+937 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+952 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIx)).FzName)) __81: ; __72: @@ -151978,7 +152486,7 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * Xsqlite3VdbeResolveLabel(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrBrk) if (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip != 0 { Xsqlite3VdbeGoto(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) - Xsqlite3VdbeComment(tls, v, ts+25920 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzName)) + Xsqlite3VdbeComment(tls, v, ts+25935 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzName)) Xsqlite3VdbeJumpHere(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) Xsqlite3VdbeJumpHere(tls, v, ((*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip - 2)) } @@ -152377,7 +152885,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+25941 /* "second argument ..." */, -1) + pCtx, ts+25956 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -152526,7 +153034,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+25997 /* "argument of ntil..." */, -1) + pCtx, ts+26012 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -152623,17 +153131,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155441:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 26042 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 26053 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 26064 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 26069 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 26082 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 26092 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 26098 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 26109 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 26119 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 26131 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 26136 /* "lag" */)) /* sqlite3.c:155469:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 26057 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 26068 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 26079 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 26084 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 26097 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 26107 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 26113 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 26124 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 26134 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 26146 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 26151 /* "lag" */)) /* sqlite3.c:155469:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -152697,7 +153205,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+26140 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+26155 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -152741,12 +153249,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+26159 /* "RANGE with offse..." */, 0) + ts+26174 /* "RANGE with offse..." */, 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+26230 /* "FILTER clause ma..." */, 0) + ts+26245 /* "FILTER clause ma..." */, 0) } else { *(*[8]WindowUpdate)(unsafe.Pointer(bp /* aUp */)) = [8]WindowUpdate{ {FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT}, @@ -152769,7 +153277,7 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*Window)(unsafe.Pointer(pWin)).FeEnd = U8((*WindowUpdate)(unsafe.Pointer(bp /* &aUp */ + uintptr(i)*24)).FeEnd) (*Window)(unsafe.Pointer(pWin)).FeExclude = U8(0) if int32((*Window)(unsafe.Pointer(pWin)).FeStart) == TK_FOLLOWING { - (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+11290 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+11305 /* "1" */) } break } @@ -153011,7 +153519,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+11392 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + ts+11407 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) } return WRC_Continue } @@ -153141,7 +153649,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // keep everything legal in this case. if *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3Expr(tls, db, TK_INTEGER, ts+10770 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+10785 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -153281,7 +153789,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+26293 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+26308 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -153347,15 +153855,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint var zErr uintptr = uintptr(0) // Check for errors if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = ts + 26325 /* "PARTITION clause" */ + zErr = ts + 26340 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 26342 /* "ORDER BY clause" */ + zErr = ts + 26357 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 26358 /* "frame specificat..." */ + zErr = ts + 26373 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+26378 /* "cannot override ..." */, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase)) + ts+26393 /* "cannot override ..." */, 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 { @@ -153378,7 +153886,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+26411 /* "DISTINCT is not ..." */, 0) + ts+26426 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -153529,7 +154037,7 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regZero) if eCond >= WINDOW_STARTING_NUM { var regString int32 = Xsqlite3GetTempReg(tls, pParse) - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+901 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+916 /* "" */, -1) Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), reg) Xsqlite3VdbeChangeP5(tls, v, (uint16(SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL))) @@ -153551,11 +154059,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 26458, /* "frame starting o..." */ - ts + 26511, /* "frame ending off..." */ - ts + 25941, /* "second argument ..." */ - ts + 26562, /* "frame starting o..." */ - ts + 26614, /* "frame ending off..." */ + ts + 26473, /* "frame starting o..." */ + ts + 26526, /* "frame ending off..." */ + ts + 25956, /* "second argument ..." */ + ts + 26577, /* "frame starting o..." */ + ts + 26629, /* "frame ending off..." */ } /* sqlite3.c:156372:21 */ var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:156379:14 */ @@ -154157,7 +154665,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // the add/subtract is skipped for these, as required. If reg1 is a NULL, // then the arithmetic is performed, but since adding or subtracting from // NULL is always NULL anyway, this case is handled as required too. - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+901 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+916 /* "" */, -1) addrGe = Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, 0, reg1) if ((op == OP_Ge) && (arith == OP_Add)) || ((op == OP_Le) && (arith == OP_Subtract)) { @@ -154874,7 +155382,7 @@ func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uin Xsqlite3VdbeAddOp3(tls, v, OP_Jump, (addr + 2), (addr + 4), (addr + 2)) addrGosubFlush = Xsqlite3VdbeAddOp1(tls, v, OP_Gosub, regFlushPart) - Xsqlite3VdbeComment(tls, v, ts+26664 /* "call flush_parti..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+26679 /* "call flush_parti..." */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_Copy, regNewPart, (*Window)(unsafe.Pointer(pMWin)).FregPart, (nPart - 1)) } @@ -155172,19 +155680,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit } cnt++ if ((*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0) || ((*Select)(unsafe.Pointer(pLoop)).FpLimit != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+26685, /* "%s clause should..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+26700, /* "%s clause should..." */ libc.VaList(bp, func() uintptr { if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - return ts + 23452 /* "ORDER BY" */ + return ts + 23467 /* "ORDER BY" */ } - return ts + 26727 /* "LIMIT" */ + return ts + 26742 /* "LIMIT" */ }(), 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 + 128 /* &.aLimit */) + 4*4)))) > 0)) && (cnt > mxSelect) { - Xsqlite3ErrorMsg(tls, pParse, ts+26733 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+26748 /* "too many terms i..." */, 0) } } @@ -155264,7 +155772,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+26767, /* "syntax error aft..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+26782, /* "syntax error aft..." */ libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz)) } Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1) @@ -156491,7 +156999,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+26805 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+26820 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -157470,11 +157978,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(22): /* table_options ::= WITHOUT nm */ { - if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+11453 /* "rowid" */, 5) == 0) { + if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+11468 /* "rowid" */, 5) == 0) { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = (TF_WithoutRowid | TF_NoVisibleRowid) } else { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = 0 - Xsqlite3ErrorMsg(tls, pParse, ts+26827 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) + Xsqlite3ErrorMsg(tls, pParse, ts+26842 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) } } break @@ -158209,7 +158717,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in case uint32(155): /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ { Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */)) - Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+26854 /* "set list" */) + Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+26869 /* "set list" */) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = Xsqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))) Xsqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */)), uintptr(0), uintptr(0), uintptr(0)) } @@ -158362,7 +158870,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(bp + 96 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+26863 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+26878 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) @@ -158566,9 +159074,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 /* &.minor */))) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, func() uintptr { if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)) != 0 { - return ts + 11290 /* "1" */ + return ts + 11305 /* "1" */ } - return ts + 10770 /* "0" */ + return ts + 10785 /* "0" */ }()) } else if ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)))).FnExpr == 1) && (Xsqlite3ExprIsConstant(tls, (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))+8 /* &.a */))).FpExpr) != 0) { var pRHS uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) + 8 /* &.a */))).FpExpr @@ -158843,21 +159351,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) Xsqlite3ErrorMsg(tls, pParse, - ts+26887 /* "qualified table ..." */, 0) + ts+26902 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+26982 /* "the INDEXED BY c..." */, 0) + ts+26997 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+27066 /* "the NOT INDEXED ..." */, 0) + ts+27081 /* "the NOT INDEXED ..." */, 0) } break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ @@ -159306,9 +159814,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To _ = yymajor // Silence some compiler warnings if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+26863 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) + Xsqlite3ErrorMsg(tls, pParse, ts+26878 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+27151 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+27166 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -160515,7 +161023,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+27168 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+27183 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -160535,12 +161043,12 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+937 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+952 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg - Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+27195, /* "%s in \"%s\"" */ + Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+27210, /* "%s in \"%s\"" */ libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ @@ -160752,7 +161260,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+27206 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+27221 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -160765,11 +161273,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+23572 /* "trigger" */, 7) == 0) { + if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+23587 /* "trigger" */, 7) == 0) { token = U8(TkTRIGGER) - } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+27213 /* "temp" */, 4) == 0) { + } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+27228 /* "temp" */, 4) == 0) { token = U8(TkTEMP) - } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+27218 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+27233 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -160782,9 +161290,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+27228 /* "end" */, 3) == 0) { + if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+27243 /* "end" */, 3) == 0) { token = U8(TkEND) - } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+27232 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+27247 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -161817,7 +162325,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // SQLITE_BUSY if the connection can not be closed immediately. if !(forceZombie != 0) && (connectionIsBusy(tls, db) != 0) { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+27240 /* "unable to close ..." */, 0) + ts+27255 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -162050,259 +162558,259 @@ __1: { switch rc { case SQLITE_OK: - zName = ts + 27308 /* "SQLITE_OK" */ + zName = ts + 27323 /* "SQLITE_OK" */ break case SQLITE_ERROR: - zName = ts + 27318 /* "SQLITE_ERROR" */ + zName = ts + 27333 /* "SQLITE_ERROR" */ break case (SQLITE_ERROR | (int32(3) << 8)): - zName = ts + 27331 /* "SQLITE_ERROR_SNA..." */ + zName = ts + 27346 /* "SQLITE_ERROR_SNA..." */ break case SQLITE_INTERNAL: - zName = ts + 27353 /* "SQLITE_INTERNAL" */ + zName = ts + 27368 /* "SQLITE_INTERNAL" */ break case SQLITE_PERM: - zName = ts + 27369 /* "SQLITE_PERM" */ + zName = ts + 27384 /* "SQLITE_PERM" */ break case SQLITE_ABORT: - zName = ts + 27381 /* "SQLITE_ABORT" */ + zName = ts + 27396 /* "SQLITE_ABORT" */ break case (SQLITE_ABORT | (int32(2) << 8)): - zName = ts + 27394 /* "SQLITE_ABORT_ROL..." */ + zName = ts + 27409 /* "SQLITE_ABORT_ROL..." */ break case SQLITE_BUSY: - zName = ts + 27416 /* "SQLITE_BUSY" */ + zName = ts + 27431 /* "SQLITE_BUSY" */ break case (SQLITE_BUSY | (int32(1) << 8)): - zName = ts + 27428 /* "SQLITE_BUSY_RECO..." */ + zName = ts + 27443 /* "SQLITE_BUSY_RECO..." */ break case (SQLITE_BUSY | (int32(2) << 8)): - zName = ts + 27449 /* "SQLITE_BUSY_SNAP..." */ + zName = ts + 27464 /* "SQLITE_BUSY_SNAP..." */ break case SQLITE_LOCKED: - zName = ts + 27470 /* "SQLITE_LOCKED" */ + zName = ts + 27485 /* "SQLITE_LOCKED" */ break case (SQLITE_LOCKED | (int32(1) << 8)): - zName = ts + 27484 /* "SQLITE_LOCKED_SH..." */ + zName = ts + 27499 /* "SQLITE_LOCKED_SH..." */ break case SQLITE_NOMEM: - zName = ts + 27510 /* "SQLITE_NOMEM" */ + zName = ts + 27525 /* "SQLITE_NOMEM" */ break case SQLITE_READONLY: - zName = ts + 27523 /* "SQLITE_READONLY" */ + zName = ts + 27538 /* "SQLITE_READONLY" */ break case (SQLITE_READONLY | (int32(1) << 8)): - zName = ts + 27539 /* "SQLITE_READONLY_..." */ + zName = ts + 27554 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(5) << 8)): - zName = ts + 27564 /* "SQLITE_READONLY_..." */ + zName = ts + 27579 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(3) << 8)): - zName = ts + 27589 /* "SQLITE_READONLY_..." */ + zName = ts + 27604 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(4) << 8)): - zName = ts + 27614 /* "SQLITE_READONLY_..." */ + zName = ts + 27629 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(6) << 8)): - zName = ts + 27638 /* "SQLITE_READONLY_..." */ + zName = ts + 27653 /* "SQLITE_READONLY_..." */ break case SQLITE_INTERRUPT: - zName = ts + 27664 /* "SQLITE_INTERRUPT" */ + zName = ts + 27679 /* "SQLITE_INTERRUPT" */ break case SQLITE_IOERR: - zName = ts + 27681 /* "SQLITE_IOERR" */ + zName = ts + 27696 /* "SQLITE_IOERR" */ break case (SQLITE_IOERR | (int32(1) << 8)): - zName = ts + 27694 /* "SQLITE_IOERR_REA..." */ + zName = ts + 27709 /* "SQLITE_IOERR_REA..." */ break case (SQLITE_IOERR | (int32(2) << 8)): - zName = ts + 27712 /* "SQLITE_IOERR_SHO..." */ + zName = ts + 27727 /* "SQLITE_IOERR_SHO..." */ break case (SQLITE_IOERR | (int32(3) << 8)): - zName = ts + 27736 /* "SQLITE_IOERR_WRI..." */ + zName = ts + 27751 /* "SQLITE_IOERR_WRI..." */ break case (SQLITE_IOERR | (int32(4) << 8)): - zName = ts + 27755 /* "SQLITE_IOERR_FSY..." */ + zName = ts + 27770 /* "SQLITE_IOERR_FSY..." */ break case (SQLITE_IOERR | (int32(5) << 8)): - zName = ts + 27774 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 27789 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(6) << 8)): - zName = ts + 27797 /* "SQLITE_IOERR_TRU..." */ + zName = ts + 27812 /* "SQLITE_IOERR_TRU..." */ break case (SQLITE_IOERR | (int32(7) << 8)): - zName = ts + 27819 /* "SQLITE_IOERR_FST..." */ + zName = ts + 27834 /* "SQLITE_IOERR_FST..." */ break case (SQLITE_IOERR | (int32(8) << 8)): - zName = ts + 27838 /* "SQLITE_IOERR_UNL..." */ + zName = ts + 27853 /* "SQLITE_IOERR_UNL..." */ break case (SQLITE_IOERR | (int32(9) << 8)): - zName = ts + 27858 /* "SQLITE_IOERR_RDL..." */ + zName = ts + 27873 /* "SQLITE_IOERR_RDL..." */ break case (SQLITE_IOERR | (int32(10) << 8)): - zName = ts + 27878 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 27893 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(12) << 8)): - zName = ts + 27898 /* "SQLITE_IOERR_NOM..." */ + zName = ts + 27913 /* "SQLITE_IOERR_NOM..." */ break case (SQLITE_IOERR | (int32(13) << 8)): - zName = ts + 27917 /* "SQLITE_IOERR_ACC..." */ + zName = ts + 27932 /* "SQLITE_IOERR_ACC..." */ break case (SQLITE_IOERR | (int32(14) << 8)): - zName = ts + 27937 /* "SQLITE_IOERR_CHE..." */ + zName = ts + 27952 /* "SQLITE_IOERR_CHE..." */ break case (SQLITE_IOERR | (int32(15) << 8)): - zName = ts + 27968 /* "SQLITE_IOERR_LOC..." */ + zName = ts + 27983 /* "SQLITE_IOERR_LOC..." */ break case (SQLITE_IOERR | (int32(16) << 8)): - zName = ts + 27986 /* "SQLITE_IOERR_CLO..." */ + zName = ts + 28001 /* "SQLITE_IOERR_CLO..." */ break case (SQLITE_IOERR | (int32(17) << 8)): - zName = ts + 28005 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 28020 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(18) << 8)): - zName = ts + 28028 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 28043 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(19) << 8)): - zName = ts + 28049 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 28064 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(20) << 8)): - zName = ts + 28070 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 28085 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(21) << 8)): - zName = ts + 28091 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 28106 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(22) << 8)): - zName = ts + 28111 /* "SQLITE_IOERR_SEE..." */ + zName = ts + 28126 /* "SQLITE_IOERR_SEE..." */ break case (SQLITE_IOERR | (int32(23) << 8)): - zName = ts + 28129 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 28144 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(24) << 8)): - zName = ts + 28155 /* "SQLITE_IOERR_MMA..." */ + zName = ts + 28170 /* "SQLITE_IOERR_MMA..." */ break case (SQLITE_IOERR | (int32(25) << 8)): - zName = ts + 28173 /* "SQLITE_IOERR_GET..." */ + zName = ts + 28188 /* "SQLITE_IOERR_GET..." */ break case (SQLITE_IOERR | (int32(26) << 8)): - zName = ts + 28198 /* "SQLITE_IOERR_CON..." */ + zName = ts + 28213 /* "SQLITE_IOERR_CON..." */ break case SQLITE_CORRUPT: - zName = ts + 28220 /* "SQLITE_CORRUPT" */ + zName = ts + 28235 /* "SQLITE_CORRUPT" */ break case (SQLITE_CORRUPT | (int32(1) << 8)): - zName = ts + 28235 /* "SQLITE_CORRUPT_V..." */ + zName = ts + 28250 /* "SQLITE_CORRUPT_V..." */ break case SQLITE_NOTFOUND: - zName = ts + 28255 /* "SQLITE_NOTFOUND" */ + zName = ts + 28270 /* "SQLITE_NOTFOUND" */ break case SQLITE_FULL: - zName = ts + 28271 /* "SQLITE_FULL" */ + zName = ts + 28286 /* "SQLITE_FULL" */ break case SQLITE_CANTOPEN: - zName = ts + 28283 /* "SQLITE_CANTOPEN" */ + zName = ts + 28298 /* "SQLITE_CANTOPEN" */ break case (SQLITE_CANTOPEN | (int32(1) << 8)): - zName = ts + 28299 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 28314 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(2) << 8)): - zName = ts + 28325 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 28340 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(3) << 8)): - zName = ts + 28347 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 28362 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(4) << 8)): - zName = ts + 28372 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 28387 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(6) << 8)): - zName = ts + 28397 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 28412 /* "SQLITE_CANTOPEN_..." */ break case SQLITE_PROTOCOL: - zName = ts + 28421 /* "SQLITE_PROTOCOL" */ + zName = ts + 28436 /* "SQLITE_PROTOCOL" */ break case SQLITE_EMPTY: - zName = ts + 28437 /* "SQLITE_EMPTY" */ + zName = ts + 28452 /* "SQLITE_EMPTY" */ break case SQLITE_SCHEMA: - zName = ts + 28450 /* "SQLITE_SCHEMA" */ + zName = ts + 28465 /* "SQLITE_SCHEMA" */ break case SQLITE_TOOBIG: - zName = ts + 28464 /* "SQLITE_TOOBIG" */ + zName = ts + 28479 /* "SQLITE_TOOBIG" */ break case SQLITE_CONSTRAINT: - zName = ts + 28478 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 28493 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(8) << 8)): - zName = ts + 28496 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 28511 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(7) << 8)): - zName = ts + 28521 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 28536 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(3) << 8)): - zName = ts + 28547 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 28562 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(1) << 8)): - zName = ts + 28576 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 28591 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(6) << 8)): - zName = ts + 28600 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 28615 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(5) << 8)): - zName = ts + 28629 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 28644 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(2) << 8)): - zName = ts + 28655 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 28670 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(9) << 8)): - zName = ts + 28684 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 28699 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(4) << 8)): - zName = ts + 28707 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 28722 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(10) << 8)): - zName = ts + 28734 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 28749 /* "SQLITE_CONSTRAIN..." */ break case SQLITE_MISMATCH: - zName = ts + 28758 /* "SQLITE_MISMATCH" */ + zName = ts + 28773 /* "SQLITE_MISMATCH" */ break case SQLITE_MISUSE: - zName = ts + 28774 /* "SQLITE_MISUSE" */ + zName = ts + 28789 /* "SQLITE_MISUSE" */ break case SQLITE_NOLFS: - zName = ts + 28788 /* "SQLITE_NOLFS" */ + zName = ts + 28803 /* "SQLITE_NOLFS" */ break case SQLITE_AUTH: - zName = ts + 28801 /* "SQLITE_AUTH" */ + zName = ts + 28816 /* "SQLITE_AUTH" */ break case SQLITE_FORMAT: - zName = ts + 28813 /* "SQLITE_FORMAT" */ + zName = ts + 28828 /* "SQLITE_FORMAT" */ break case SQLITE_RANGE: - zName = ts + 28827 /* "SQLITE_RANGE" */ + zName = ts + 28842 /* "SQLITE_RANGE" */ break case SQLITE_NOTADB: - zName = ts + 28840 /* "SQLITE_NOTADB" */ + zName = ts + 28855 /* "SQLITE_NOTADB" */ break case SQLITE_ROW: - zName = ts + 28854 /* "SQLITE_ROW" */ + zName = ts + 28869 /* "SQLITE_ROW" */ break case SQLITE_NOTICE: - zName = ts + 28865 /* "SQLITE_NOTICE" */ + zName = ts + 28880 /* "SQLITE_NOTICE" */ break case (SQLITE_NOTICE | (int32(1) << 8)): - zName = ts + 28879 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 28894 /* "SQLITE_NOTICE_RE..." */ break case (SQLITE_NOTICE | (int32(2) << 8)): - zName = ts + 28905 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 28920 /* "SQLITE_NOTICE_RE..." */ break case SQLITE_WARNING: - zName = ts + 28936 /* "SQLITE_WARNING" */ + zName = ts + 28951 /* "SQLITE_WARNING" */ break case (SQLITE_WARNING | (int32(1) << 8)): - zName = ts + 28951 /* "SQLITE_WARNING_A..." */ + zName = ts + 28966 /* "SQLITE_WARNING_A..." */ break case SQLITE_DONE: - zName = ts + 28976 /* "SQLITE_DONE" */ + zName = ts + 28991 /* "SQLITE_DONE" */ break } @@ -162316,7 +162824,7 @@ __2: __3: ; if zName == uintptr(0) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof(zBuf)), uintptr(unsafe.Pointer(&zBuf)), ts+28988 /* "SQLITE_UNKNOWN(%..." */, libc.VaList(bp, origRc)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof(zBuf)), uintptr(unsafe.Pointer(&zBuf)), ts+29003 /* "SQLITE_UNKNOWN(%..." */, libc.VaList(bp, origRc)) zName = uintptr(unsafe.Pointer(&zBuf)) } return zName @@ -162327,23 +162835,23 @@ var zBuf [50]int8 /* sqlite3.c:166643:17: */ // Return a static string that describes the kind of error specified in the // argument. func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: */ - var zErr uintptr = ts + 29007 /* "unknown error" */ + var zErr uintptr = ts + 29022 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 29021 /* "abort due to ROL..." */ + zErr = ts + 29036 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 29043 /* "another row avai..." */ + zErr = ts + 29058 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 29065 /* "no more rows ava..." */ + zErr = ts + 29080 /* "no more rows ava..." */ break } @@ -162361,35 +162869,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 29088, /* "not an error" */ - /* SQLITE_ERROR */ ts + 29101, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 29103, /* "not an error" */ + /* SQLITE_ERROR */ ts + 29116, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 29117, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 29142, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 29156, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 29175, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 9155, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 29200, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 29237, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 29249, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 29264, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 29297, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 29315, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 29340, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 29369, /* "locking protocol" */ + /* SQLITE_PERM */ ts + 29132, /* "access permissio..." */ + /* SQLITE_ABORT */ ts + 29157, /* "query aborted" */ + /* SQLITE_BUSY */ ts + 29171, /* "database is lock..." */ + /* SQLITE_LOCKED */ ts + 29190, /* "database table i..." */ + /* SQLITE_NOMEM */ ts + 9170, /* "out of memory" */ + /* SQLITE_READONLY */ ts + 29215, /* "attempt to write..." */ + /* SQLITE_INTERRUPT */ ts + 29252, /* "interrupted" */ + /* SQLITE_IOERR */ ts + 29264, /* "disk I/O error" */ + /* SQLITE_CORRUPT */ ts + 29279, /* "database disk im..." */ + /* SQLITE_NOTFOUND */ ts + 29312, /* "unknown operatio..." */ + /* SQLITE_FULL */ ts + 29330, /* "database or disk..." */ + /* SQLITE_CANTOPEN */ ts + 29355, /* "unable to open d..." */ + /* SQLITE_PROTOCOL */ ts + 29384, /* "locking protocol" */ /* SQLITE_EMPTY */ uintptr(0), - /* SQLITE_SCHEMA */ ts + 8885, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 8422, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 29386, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 29404, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 29422, /* "bad parameter or..." */ + /* SQLITE_SCHEMA */ ts + 8900, /* "database schema ..." */ + /* SQLITE_TOOBIG */ ts + 8437, /* "string or blob t..." */ + /* SQLITE_CONSTRAINT */ ts + 29401, /* "constraint faile..." */ + /* SQLITE_MISMATCH */ ts + 29419, /* "datatype mismatc..." */ + /* SQLITE_MISUSE */ ts + 29437, /* "bad parameter or..." */ /* SQLITE_NOLFS */ uintptr(0), - /* SQLITE_AUTH */ ts + 29456, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 29471, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 29477, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 29503, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 29526, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 29547, /* "warning message" */ + /* SQLITE_RANGE */ ts + 29492, /* "column index out..." */ + /* SQLITE_NOTADB */ ts + 29518, /* "file is not a da..." */ + /* SQLITE_NOTICE */ ts + 29541, /* "notification mes..." */ + /* SQLITE_WARNING */ ts + 29562, /* "warning message" */ } /* sqlite3.c:166656:20 */ // This routine implements a busy callback that sleeps and tries @@ -162554,7 +163062,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+29563 /* "unable to delete..." */, 0) + ts+29578 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -162687,7 +163195,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+29626 /* "unable to use fu..." */, libc.VaList(bp, zName)) + ts+29641 /* "unable to use fu..." */, libc.VaList(bp, zName)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } @@ -162909,7 +163417,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+29677 /* "unknown database..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+29692 /* "unknown database..." */, libc.VaList(bp, zDb)) } else { (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -163128,7 +163636,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint if (pColl != 0) && ((*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0) { if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+29698 /* "unable to delete..." */, 0) + ts+29713 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -163271,7 +163779,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u if !(((((flags & uint32(SQLITE_OPEN_URI)) != 0) || // IMP: R-48725-32206 (Xsqlite3Config.FbOpenUri != 0)) && // IMP: R-51689-46548 - (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+29766 /* "file:" */, uint64(5)) == 0)) { + (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+29781 /* "file:" */, uint64(5)) == 0)) { goto __1 } // Input character index iOut = 0 // Output character index @@ -163319,10 +163827,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+29772 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { + if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+29787 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+29782, /* "invalid uri auth..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+29797, /* "invalid uri auth..." */ libc.VaList(bp, (iIn-7), (zUri+7))) rc = SQLITE_ERROR goto parse_uri_out @@ -163444,7 +163952,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+29810 /* "vfs" */, zOpt, uint64(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+29825 /* "vfs" */, zOpt, uint64(3)) == 0)) { goto __29 } zVfs = zVal @@ -163455,17 +163963,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+29814 /* "cache" */, zOpt, uint64(5)) == 0)) { + if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+29829 /* "cache" */, zOpt, uint64(5)) == 0)) { goto __31 } mask = (SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&aCacheMode)) limit = mask - zModeType = ts + 29814 /* "cache" */ + zModeType = ts + 29829 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+29820 /* "mode" */, zOpt, uint64(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+29835 /* "mode" */, zOpt, uint64(4)) == 0)) { goto __32 } @@ -163473,7 +163981,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 4640 /* "access" */ + zModeType = ts + 4655 /* "access" */ __32: ; @@ -163504,7 +164012,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+29825 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+29840 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -163512,7 +164020,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+29845, /* "%s mode not allo..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+29860, /* "%s mode not allo..." */ libc.VaList(bp+32, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out @@ -163555,7 +164063,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+29869 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+29884 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) rc = SQLITE_ERROR __42: ; @@ -163579,15 +164087,15 @@ type OpenMode = struct { } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 21112 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 29885 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, + {Fz: ts + 21127 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, + {Fz: ts + 29900 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, } /* sqlite3.c:168073:34 */ var aOpenMode = [5]OpenMode{ - {Fz: ts + 29893 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 29896 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 29899 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 20465 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, + {Fz: ts + 29908 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, + {Fz: ts + 29911 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, + {Fz: ts + 29914 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, + {Fz: ts + 20480 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, {}, } /* sqlite3.c:168085:34 */ @@ -163769,10 +164277,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+25715 /* "NOCASE" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+25730 /* "NOCASE" */, 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+29903 /* "RTRIM" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+29918 /* "RTRIM" */, 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) { @@ -163818,7 +164326,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 937 /* "%s" */ + return ts + 952 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -163856,9 +164364,9 @@ __22: // The default safety_level for the main database is FULL; for the temp // database it is OFF. This matches the pager layer defaults. - (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 9722 /* "main" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 9737 /* "main" */ (*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 + 27213 /* "temp" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 27228 /* "temp" */ (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF) (*Sqlite3)(unsafe.Pointer(db)).Fmagic = SQLITE_MAGIC_OPEN @@ -163976,7 +164484,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 29909 /* "\x00\x00" */ + zFilename = ts + 29924 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -164079,24 +164587,24 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) bp := tls.Alloc(24) defer tls.Free(24) - Xsqlite3_log(tls, iErr, ts+29912, /* "%s at line %d of..." */ + Xsqlite3_log(tls, iErr, ts+29927, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) return iErr } func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168711:20: */ - return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+29937 /* "database corrupt..." */) + return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+29952 /* "database corrupt..." */) } func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168715:20: */ - return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+29957 /* "misuse" */) + return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+29972 /* "misuse" */) } func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168719:20: */ - return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+29964 /* "cannot open file" */) + return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+29979 /* "cannot open file" */) } // This is a convenience routine that makes sure that all thread-specific @@ -164223,7 +164731,7 @@ __4: autoinc = (libc.Bool32((int32((*Table)(unsafe.Pointer(pTab)).FiPKey) == iCol) && (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != U32(0)))) goto __13 __12: - zDataType = ts + 15858 /* "INTEGER" */ + zDataType = ts + 15873 /* "INTEGER" */ primarykey = 1 __13: ; @@ -164275,14 +164783,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+29981 /* "no such table co..." */, libc.VaList(bp, zTableName, + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+29996 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 937 /* "%s" */ + return ts + 952 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -165081,7 +165589,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+30009 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+30024 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -165242,7 +165750,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 + 30017 /* "database is dead..." */ + return ts + 30032 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -166042,7 +166550,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 9232 /* "null" */, ts + 10034 /* "true" */, ts + 10039 /* "false" */, ts + 9242 /* "integer" */, ts + 9237 /* "real" */, ts + 17979 /* "text" */, ts + 30040 /* "array" */, ts + 30046, /* "object" */ + ts + 9247 /* "null" */, ts + 10049 /* "true" */, ts + 10054 /* "false" */, ts + 9257 /* "integer" */, ts + 9252 /* "real" */, ts + 17994 /* "text" */, ts + 30055 /* "array" */, ts + 30061, /* "object" */ } /* sqlite3.c:189771:19 */ // Maximum nesting depth of JSON for this implementation. @@ -166222,7 +166730,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 + 30053 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 30068 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -166250,7 +166758,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { - jsonAppendRaw(tls, p, ts+9232 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+9247 /* "null" */, uint32(4)) break } @@ -166279,7 +166787,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 default: { if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { - Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+30070 /* "JSON cannot hold..." */, -1) + Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+30085 /* "JSON cannot hold..." */, -1) (*JsonString)(unsafe.Pointer(p)).FbErr = U8(2) jsonReset(tls, p) } @@ -166356,19 +166864,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+9232 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+9247 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+10034 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+10049 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+10039 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+10054 /* "false" */, uint32(5)) break } @@ -166934,17 +167442,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } return (int32(j + U32(1))) } else if ((int32(c) == 'n') && - (libc.Xstrncmp(tls, (z+uintptr(i)), ts+9232 /* "null" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+9247 /* "null" */, uint64(4)) == 0)) && !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { 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+10034 /* "true" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+10049 /* "true" */, 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+10039 /* "false" */, uint64(5)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+10054 /* "false" */, 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))) @@ -167052,7 +167560,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+30099 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+30114 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -167372,7 +167880,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+30114 /* "[0]" */, uint64(3)) == 0 { + } else if libc.Xstrncmp(tls, zPath, ts+30129 /* "[0]" */, uint64(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) } else { return uintptr(0) @@ -167389,7 +167897,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190 bp := tls.Alloc(8) defer tls.Free(8) - return Xsqlite3_mprintf(tls, ts+30118 /* "JSON path error ..." */, libc.VaList(bp, zErr)) + return Xsqlite3_mprintf(tls, ts+30133 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } // Do a node lookup using zPath. Return a pointer to the node on success. @@ -167456,7 +167964,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit bp := tls.Alloc(8) defer tls.Free(8) - var zMsg uintptr = Xsqlite3_mprintf(tls, ts+30144, /* "json_%s() needs ..." */ + var zMsg uintptr = Xsqlite3_mprintf(tls, ts+30159, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -167600,7 +168108,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* if pNode != 0 { jsonRenderNode(tls, pNode, bp /* &jx */, uintptr(0)) } else { - jsonAppendRaw(tls, bp /* &jx */, ts+9232 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+9247 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -167728,14 +168236,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+30187 /* "json_object() re..." */, -1) + ts+30202 /* "json_object() re..." */, -1) return } jsonInit(tls, bp /* &jx */, ctx) jsonAppendChar(tls, bp /* &jx */, 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+30238 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+30253 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -167843,7 +168351,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+18490 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+18505 /* "replace" */) return __2: ; @@ -167929,9 +168437,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 30272 /* "set" */ + return ts + 30287 /* "set" */ } - return ts + 30276 /* "insert" */ + return ts + 30291 /* "insert" */ }()) return __2: @@ -168079,7 +168587,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+30283 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+30298 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -168184,7 +168692,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+30286 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+30301 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -168237,7 +168745,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+30289 /* "CREATE TABLE x(k..." */) + ts+30304 /* "CREATE TABLE x(k..." */) if rc == SQLITE_OK { pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{})))) if pNew == uintptr(0) { @@ -168375,14 +168883,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql 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+30372 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) + jsonPrintf(tls, 30, pStr, ts+30387 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) } else { if (int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags) & JNODE_LABEL) == 0 { pNode -= 16 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+30377 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+30392 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } @@ -168475,9 +168983,9 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* jsonAppendChar(tls, bp+24 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+24 /* &x */, ts+30372 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+24 /* &x */, ts+30387 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+30377 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+30392 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } jsonResult(tls, bp+24 /* &x */) @@ -168501,7 +169009,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 + 30383 /* "$" */ + zRoot = ts + 30398 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -168633,7 +169141,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+30099 /* "malformed JSON" */, 0) + (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+30114 /* "malformed JSON" */, 0) if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { rc = SQLITE_ERROR } @@ -168774,21 +169282,21 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 30385 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 30390 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 30401 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 30401 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 30419 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 30432 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 30444 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 30456 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 30467 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 30478 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 30490 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 30503 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 30512 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 30512 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 30522 /* "json_valid" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 30400 /* "json" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 30405 /* "json_array" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 30416 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 30416 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 30434 /* "json_extract" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 30447 /* "json_insert" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 30459 /* "json_object" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 30471 /* "json_patch" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 30482 /* "json_quote" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 30493 /* "json_remove" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 30505 /* "json_replace" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 30518 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, + {FzName: ts + 30527 /* "json_type" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 30527 /* "json_type" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 30537 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { FzName uintptr @@ -168798,17 +169306,17 @@ var aAgg = [2]struct { FxFinal uintptr FxValue uintptr }{ - {FzName: ts + 30533 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 30548 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 30550 /* "json_group_objec..." */, FnArg: 2, + {FzName: ts + 30565 /* "json_group_objec..." */, FnArg: 2, FxStep: 0, FxFinal: 0, FxValue: 0}, } /* sqlite3.c:192211:5 */ var aMod = [2]struct { FzName uintptr FpModule uintptr }{ - {FzName: ts + 30568 /* "json_each" */, FpModule: 0}, - {FzName: ts + 30578 /* "json_tree" */, FpModule: 0}, + {FzName: ts + 30583 /* "json_each" */, FpModule: 0}, + {FzName: ts + 30593 /* "json_tree" */, FpModule: 0}, } /* sqlite3.c:192221:5 */ var enc int32 = ((SQLITE_UTF8 | SQLITE_DETERMINISTIC) | SQLITE_INNOCUOUS) /* sqlite3.c:192226:20 */ // In the SQLite core @@ -169158,11 +169666,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+30588 /* "%s_node" */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + var zTab uintptr = Xsqlite3_mprintf(tls, ts+30603 /* "%s_node" */, 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+30596 /* "data" */, iNode, 0, + rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+30611 /* "data" */, iNode, 0, (pRtree + 112 /* &.pNodeBlob */)) Xsqlite3_free(tls, zTab) } @@ -169407,7 +169915,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+30601, /* "DROP TABLE '%q'...." */ + ts+30616, /* "DROP TABLE '%q'...." */ 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)) @@ -170167,7 +170675,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information - pSrc = Xsqlite3_value_pointer(tls, pValue, ts+30683 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+30698 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -170431,7 +170939,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -171691,7 +172199,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+30697 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, ts+30712 /* "SELECT * FROM %Q..." */, 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 /* &pStmt */, uintptr(0)) } else { @@ -171703,12 +172211,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 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+30717 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+30732 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), iCol) var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+30749 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+30764 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } @@ -171976,7 +172484,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+30786 /* "ALTER TABLE %Q.'..." */, 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+30801 /* "ALTER TABLE %Q.'..." */, 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)) @@ -172014,7 +172522,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(24) defer tls.Free(24) - var zFmt uintptr = ts + 30931 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 30946 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+16, 8 @@ -172022,7 +172530,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit var nRow I64 = int64(0) rc = Xsqlite3_table_column_metadata(tls, - db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+14502 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+14517 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == SQLITE_ERROR { @@ -172075,7 +172583,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 30987 /* "node" */, ts + 8148 /* "parent" */, ts + 11453, /* "rowid" */ + ts + 31002 /* "node" */, ts + 8163 /* "parent" */, ts + 11468, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -172119,19 +172627,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+30992, /* "CREATE TABLE \"%w..." */ + ts+31007, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+31054 /* ",a%d" */, libc.VaList(bp+16, ii)) + Xsqlite3_str_appendf(tls, p, ts+31069 /* ",a%d" */, libc.VaList(bp+16, ii)) } Xsqlite3_str_appendf(tls, p, - ts+31059, /* ");CREATE TABLE \"..." */ + ts+31074, /* ");CREATE TABLE \"..." */ libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+31123, /* "CREATE TABLE \"%w..." */ + ts+31138, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+31193, /* "INSERT INTO \"%w\"..." */ + ts+31208, /* "INSERT INTO \"%w\"..." */ libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { @@ -172162,7 +172670,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } else { // An UPSERT is very slightly slower than REPLACE, but it is needed // if there are auxiliary columns - zFormat = ts + 31242 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 31257 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { @@ -172174,7 +172682,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+31350, /* "SELECT * FROM \"%..." */ + ts+31365, /* "SELECT * FROM \"%..." */ libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -172182,18 +172690,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+31395 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+112, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+31410 /* "UPDATE \"%w\".\"%w_..." */, 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+16011 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+16026 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+31422 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+31437 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+31444 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+31459 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) } } - Xsqlite3_str_appendf(tls, p, ts+31452 /* " WHERE rowid=?1" */, 0) + Xsqlite3_str_appendf(tls, p, ts+31467 /* " WHERE rowid=?1" */, 0) zSql = Xsqlite3_str_finish(tls, p) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -172209,18 +172717,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 31468, /* "INSERT OR REPLAC..." */ - ts + 31521, /* "DELETE FROM '%q'..." */ + ts + 31483, /* "INSERT OR REPLAC..." */ + ts + 31536, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 31566, /* "SELECT nodeno FR..." */ - ts + 31618, /* "INSERT OR REPLAC..." */ - ts + 31672, /* "DELETE FROM '%q'..." */ + ts + 31581, /* "SELECT nodeno FR..." */ + ts + 31633, /* "INSERT OR REPLAC..." */ + ts + 31687, /* "DELETE FROM '%q'..." */ // Read and write the xxx_parent table - ts + 31717, /* "SELECT parentnod..." */ - ts + 31775, /* "INSERT OR REPLAC..." */ - ts + 31830, /* "DELETE FROM '%q'..." */ + ts + 31732, /* "SELECT parentnod..." */ + ts + 31790, /* "INSERT OR REPLAC..." */ + ts + 31845, /* "DELETE FROM '%q'..." */ } /* sqlite3.c:195763:21 */ // The second argument to this function contains the text of an SQL statement @@ -172267,7 +172775,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr var zSql uintptr if isCreate != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) = 0 - zSql = Xsqlite3_mprintf(tls, ts+31877 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, ts+31892 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) rc = getIntFromStmt(tls, db, zSql, bp+48 /* &iPageSize */) if rc == SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) - 64) @@ -172275,19 +172783,19 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, - ts+31897, /* "SELECT length(da..." */ + ts+31912, /* "SELECT length(da..." */ libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 32 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31954, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+31969, /* "undersize RTree ..." */ libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -172338,17 +172846,17 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr ii = 4 *(*[5]uintptr)(unsafe.Pointer(bp + 96 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 - ts + 31989, /* "Wrong number of ..." */ // 1 - ts + 32032, /* "Too few columns ..." */ // 2 - ts + 32067, /* "Too many columns..." */ // 3 - ts + 32103, /* "Auxiliary rtree ..." */ // 4 + ts + 32004, /* "Wrong number of ..." */ // 1 + ts + 32047, /* "Too few columns ..." */ // 2 + ts + 32082, /* "Too many columns..." */ // 3 + ts + 32118, /* "Auxiliary rtree ..." */ // 4 } // Aux columns counted by a u8 if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) return SQLITE_ERROR __1: ; @@ -172378,7 +172886,7 @@ __2: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+32140, /* "CREATE TABLE x(%..." */ + Xsqlite3_str_appendf(tls, pSql, ts+32155, /* "CREATE TABLE x(%..." */ libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = 4 __3: @@ -172390,7 +172898,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+32164 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+32179 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -172413,7 +172921,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+32170 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+32185 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -172424,14 +172932,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -172474,7 +172982,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) goto rtreeInit_fail __22: ; @@ -172492,7 +173000,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -172512,7 +173020,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 32173 /* ",%.*s REAL" */, ts + 32184 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ +var azFormat = [2]uintptr{ts + 32188 /* ",%.*s REAL" */, ts + 32199 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -172567,13 +173075,13 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit nodeGetCell(tls, bp+56 /* &tree */, bp+16 /* &node */, ii, bp+1024 /* &cell */) if ii > 0 { - Xsqlite3_str_append(tls, pOut, ts+14082 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+14097 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+32194 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, ts+32209 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+32200 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+32215 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } - Xsqlite3_str_append(tls, pOut, ts+32204 /* "}" */, 1) + Xsqlite3_str_append(tls, pOut, ts+32219 /* "}" */, 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}))) @@ -172592,7 +173100,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli _ = 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+32206 /* "Invalid argument..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+32221 /* "Invalid argument..." */, -1) } else { var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -172681,12 +173189,12 @@ 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+32239, /* "%z%s%z" */ + (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+32254, /* "%z%s%z" */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - return ts + 7100 /* "\n" */ + return ts + 7115 /* "\n" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -172717,7 +173225,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+32246, /* "SELECT data FROM..." */ + ts+32261, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -172736,7 +173244,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+32291 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+32306 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -172760,8 +173268,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 /* azSql */)) = [2]uintptr{ - ts + 32323, /* "SELECT parentnod..." */ - ts + 32377, /* "SELECT nodeno FR..." */ + ts + 32338, /* "SELECT parentnod..." */ + ts + 32392, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) == uintptr(0) { @@ -172776,23 +173284,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+32425, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+32440, /* "Mapping (%lld ->..." */ libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 32470 /* "%_rowid" */ + return ts + 32485 /* "%_rowid" */ } - return ts + 32478 /* "%_parent" */ + return ts + 32493 /* "%_parent" */ }())) } else if rc == SQLITE_ROW { var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, - ts+32487, /* "Found (%lld -> %..." */ + ts+32502, /* "Found (%lld -> %..." */ libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 32470 /* "%_rowid" */ + return ts + 32485 /* "%_rowid" */ } - return ts + 32478 /* "%_parent" */ + return ts + 32493 /* "%_parent" */ }(), iKey, iVal)) } } @@ -172835,7 +173343,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, - ts+32545 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+32560 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -172855,7 +173363,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 60 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+32593 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) + ts+32608 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -172878,14 +173386,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr if aNode != 0 { if *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+32660 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) + ts+32675 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+32694 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+32709 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } @@ -172893,7 +173401,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 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, - ts+32724, /* "Node %lld is too..." */ + ts+32739, /* "Node %lld is too..." */ libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { for i = 0; i < nCell; i++ { @@ -172927,14 +173435,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+32779, /* "SELECT count(*) ..." */ + pCount = rtreeCheckPrepare(tls, pCheck, ts+32794, /* "SELECT count(*) ..." */ 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+32810 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) + ts+32825 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -172964,13 +173472,13 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+17678 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+17693 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+32877 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+32892 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) @@ -172979,12 +173487,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+30697 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+30712 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) if pStmt != 0 { var rc int32 (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+32905 /* "Schema corrupt o..." */, 0) + rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+32920 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } @@ -172999,8 +173507,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { rtreeCheckNode(tls, bp+32 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+32 /* &check */, ts+32936 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+32 /* &check */, ts+32943 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+32951 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+32958 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check @@ -173010,7 +173518,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // If one was opened, close the transaction if bEnd != 0 { - var rc int32 = Xsqlite3_exec(tls, db, ts+32951 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) + var rc int32 = Xsqlite3_exec(tls, db, ts+32966 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } @@ -173056,7 +173564,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+32955 /* "wrong number of ..." */, -1) + ts+32970 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -173064,7 +173572,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 9722 /* "main" */ + zDb = ts + 9737 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -173074,7 +173582,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if *(*uintptr)(unsafe.Pointer(bp /* zReport */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp /* zReport */)) } - return ts + 5216 /* "ok" */ + return ts + 5231 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -173511,11 +174019,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+33006 /* "[" */, 1) + Xsqlite3_str_append(tls, x, ts+33021 /* "[" */, 1) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { - Xsqlite3_str_appendf(tls, x, ts+33008 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) + Xsqlite3_str_appendf(tls, x, ts+33023 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+33019 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+33034 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 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) } @@ -173539,19 +174047,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+33030 /* "" */, 0) + Xsqlite3_str_appendf(tls, x, ts+33083 /* ">" */, 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) } @@ -174567,7 +175075,7 @@ __1: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+33081 /* "CREATE TABLE x(_..." */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+33096 /* "CREATE TABLE x(_..." */, 0) (*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1) // Add one for _shape (*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1) // The _shape column is always not-null ii = 3 @@ -174576,7 +175084,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+33103 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, ts+33118 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto __3 __3: ii++ @@ -174584,7 +175092,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+32170 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+32185 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -174595,7 +175103,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -174621,7 +175129,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -174854,7 +175362,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s if iRowidTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 11453 /* "rowid" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 11468 /* "rowid" */ (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).FargvIndex = 1 (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).Fomit = uint8(1) (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 30.0 @@ -174864,7 +175372,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } if iFuncTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 33107 /* "rtree" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 33122 /* "rtree" */ (*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 @@ -174872,7 +175380,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s return SQLITE_OK } (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 33113 /* "fullscan" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 33128 /* "fullscan" */ (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -175010,7 +175518,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+33122 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+33137 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -175155,14 +175663,14 @@ geopoly_update_end: // Report that geopoly_overlap() is an overloaded function suitable // for use in xBestIndex. func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:198361:12: */ - if Xsqlite3_stricmp(tls, zName, ts+33162 /* "geopoly_overlap" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+33177 /* "geopoly_overlap" */) == 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+33178 /* "geopoly_within" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+33193 /* "geopoly_within" */) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{geopolyWithinFunc})) @@ -175227,7 +175735,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 uintptr(0), aAgg1[i].FxStep, aAgg1[i].FxFinal) } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, ts+33193 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+33208 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -175239,25 +175747,25 @@ var aFunc1 = [12]struct { _ [6]byte FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 33201 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 33214 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 33227 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 33240 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 33178 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 33252 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 33162 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 33275 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 33289 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 33302 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 33316 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 33332 /* "geopoly_ccw" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 33216 /* "geopoly_area" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 33229 /* "geopoly_blob" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 33242 /* "geopoly_json" */}, + {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 33255 /* "geopoly_svg" */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 33193 /* "geopoly_within" */}, + {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 33267 /* "geopoly_contains..." */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 33177 /* "geopoly_overlap" */}, + {FxFunc: 0, FnArg: int8(1), FzName: ts + 33290 /* "geopoly_debug" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 33304 /* "geopoly_bbox" */}, + {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 33317 /* "geopoly_xform" */}, + {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 33331 /* "geopoly_regular" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 33347 /* "geopoly_ccw" */}, } /* sqlite3.c:198416:5 */ var aAgg1 = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ - {FxStep: 0, FxFinal: 0, FzName: ts + 33344 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 33359 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -175270,26 +175778,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 var utf8 int32 = SQLITE_UTF8 var rc int32 - rc = Xsqlite3_create_function(tls, db, ts+33363 /* "rtreenode" */, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+33378 /* "rtreenode" */, 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+33373 /* "rtreedepth" */, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+33388 /* "rtreedepth" */, 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+33384 /* "rtreecheck" */, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+33399 /* "rtreecheck" */, -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+33107 /* "rtree" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+33122 /* "rtree" */, 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+33395 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+33410 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { rc = sqlite3_geopoly_init(tls, db) @@ -175361,7 +175869,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql Xsqlite3_result_error_nomem(tls, ctx) rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, ts+30683 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) + Xsqlite3_result_pointer(tls, ctx, pBlob, ts+30698 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) } } } @@ -176652,7 +177160,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // Figure out the size of the output nOut = rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, ts+33405 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+33420 /* "corrupt fossil d..." */, -1) return } @@ -176663,7 +177171,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+33405 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+33420 /* "corrupt fossil d..." */, -1) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -176684,7 +177192,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -176702,7 +177210,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -176806,7 +177314,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+33426 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + ts+33441 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if rc == SQLITE_OK { @@ -176890,7 +177398,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+30596 /* "data" */, zIn, uint64(4)) == 0) { + if (libc.Xstrlen(tls, zIn) > uint64(4)) && (libc.Xmemcmp(tls, ts+30611 /* "data" */, 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++ { } @@ -176918,17 +177426,17 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter /* &.pTblIter */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+33597 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { + ts+33612 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 33747 /* "AND rootpage!=0 ..." */ + return ts + 33762 /* "AND rootpage!=0 ..." */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 8 /* &.pIdxIter */), (p + 64 /* &.zErrmsg */), - ts+33788 /* "SELECT name, roo..." */) + ts+33803 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -177066,7 +177574,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: var rc int32 = Xsqlite3_finalize(tls, pStmt) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (rc != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) } } @@ -177129,7 +177637,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 /* &aStmt */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+33913 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) + ts+33928 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } @@ -177147,7 +177655,7 @@ __2: *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 1*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+33994 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) + Xsqlite3_mprintf(tls, ts+34009 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -177165,7 +177673,7 @@ __4: } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 2*8), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+34015 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) + ts+34030 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } @@ -177189,7 +177697,7 @@ __5: ; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 3*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34066 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) + Xsqlite3_mprintf(tls, ts+34081 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } @@ -177238,7 +177746,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34087 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+34102 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 @@ -177253,7 +177761,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34115 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+34130 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)))) { var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)), 1) if iCid >= 0 { @@ -177303,7 +177811,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 72 /* &.eType */), bp+56 /* &iTnum */, (pIter + 108 /* &.iPkTnum */)) 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+22787 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+22802 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc @@ -177316,18 +177824,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // of the input table. Ignore any input table columns that begin with // "rbu_". (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34144 /* "SELECT * FROM '%..." */, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + Xsqlite3_mprintf(tls, ts+34159 /* "SELECT * FROM '%..." */, 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 /* pStmt */))) 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 /* pStmt */)), i) - if Xsqlite3_strnicmp(tls, ts+34163 /* "rbu_" */, zName, 4) != 0 { + if Xsqlite3_strnicmp(tls, ts+34178 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 56 /* &.rc */)) *(*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+34168 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+34183 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -177339,12 +177847,12 @@ 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+34178 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+34193 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { - return ts + 34207 /* "may not have" */ + return ts + 34222 /* "may not have" */ } - return ts + 34220 /* "requires" */ + return ts + 34235 /* "requires" */ }())) } @@ -177353,7 +177861,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34229 /* "PRAGMA table_inf..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+34244 /* "PRAGMA table_inf..." */, 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 /* pStmt */)))) { var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 1) @@ -177367,7 +177875,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+34251, /* "column missing f..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+34266, /* "column missing f..." */ libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 5) @@ -177413,12 +177921,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(24) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 901 /* "" */ + var zSep uintptr = ts + 916 /* "" */ 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+34278 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 17789 /* ", " */ + zList = rbuMPrintf(tls, p, ts+34293 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 17804 /* ", " */ } return zList } @@ -177433,13 +177941,13 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, var iPk int32 = 1 var zRet uintptr = uintptr(0) - var zSep uintptr = ts + 901 /* "" */ + var zSep uintptr = ts + 916 /* "" */ for 1 != 0 { var i int32 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+34287 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) + zRet = rbuMPrintf(tls, p, ts+34302 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -177478,25 +177986,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 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+34300 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + ts+34315 /* "SELECT max(_rowi..." */, 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 /* pMax */)))) { var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+34332 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) + zRet = rbuMPrintf(tls, p, ts+34347 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } else { - var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+901 /* "" */, ts+17789 /* ", " */, ts+34355 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+34361 /* "quote(" */, ts+34368 /* "||','||" */, ts+8043 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+901 /* "" */, ts+17789 /* ", " */, ts+901 /* "" */) + var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+916 /* "" */, ts+17804 /* ", " */, ts+34370 /* " DESC" */) + var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+34376 /* "quote(" */, ts+34383 /* "||','||" */, ts+8058 /* ")" */) + var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+916 /* "" */, ts+17804 /* ", " */, ts+916 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+34376, /* "SELECT %s FROM \"..." */ + ts+34391, /* "SELECT %s FROM \"..." */ 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 /* pMax */)))) { var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+34418 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) + zRet = rbuMPrintf(tls, p, ts+34433 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } @@ -177554,12 +178062,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 901 /* "" */ + zSep = ts + 916 /* "" */ iCol = 0 *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34115 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+34130 /* "PRAGMA main.inde..." */, 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 /* pXInfo */))))) { goto __2 @@ -177596,7 +178104,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) goto __7 __6: - zCol = ts + 34438 /* "_rowid_" */ + zCol = ts + 34453 /* "_rowid_" */ __7: ; goto __5 @@ -177605,13 +178113,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+34446, /* "%z%s \"%w\" COLLAT..." */ + zLhs = rbuMPrintf(tls, p, ts+34461, /* "%z%s \"%w\" COLLAT..." */ libc.VaList(bp+8, zLhs, zSep, zCol, zCollate)) - zOrder = rbuMPrintf(tls, p, ts+34467, /* "%z%s \"rbu_imp_%d..." */ + zOrder = rbuMPrintf(tls, p, ts+34482, /* "%z%s \"rbu_imp_%d..." */ libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = rbuMPrintf(tls, p, ts+34503, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+34518, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) - zSep = ts + 17789 /* ", " */ + zSep = ts + 17804 /* ", " */ iCol++ goto __1 __2: @@ -177630,12 +178138,12 @@ __11: *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184 /* &pSel */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34530, /* "SELECT %s FROM \"..." */ + Xsqlite3_mprintf(tls, ts+34545, /* "SELECT %s FROM \"..." */ 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 /* pSel */))))) { goto __13 } - zSep = ts + 901 /* "" */ + zSep = ts + 916 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -177657,8 +178165,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+34578 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) - zSep = ts + 17789 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+34593 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) + zSep = ts + 17804 /* ", " */ goto __15 __15: iCol++ @@ -177670,7 +178178,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+34585 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+34600 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: @@ -177720,14 +178228,14 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var zImpPK uintptr = uintptr(0) // String to return via *pzImposterPK var zWhere uintptr = uintptr(0) // String to return via *pzWhere var nBind int32 = 0 // Value to return via *pnBind - var zCom uintptr = ts + 901 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 901 /* "" */ // Set to " AND " later on + var zCom uintptr = ts + 916 /* "" */ // Set to ", " later on + var zAnd uintptr = ts + 916 /* "" */ // Set to " AND " later on *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34115 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+34130 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)))) { @@ -177739,9 +178247,9 @@ 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 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+34597 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+8, zRet, zCom, + zRet = Xsqlite3_mprintf(tls, ts+34612 /* "%z%s(%.*s) COLLA..." */, 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 + 901 /* "" */ + zType = ts + 916 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -177753,37 +178261,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 + 34438 /* "_rowid_" */ + zCol = ts + 34453 /* "_rowid_" */ } else { - zCol = ts + 34168 /* "rbu_rowid" */ + zCol = ts + 34183 /* "rbu_rowid" */ } - zType = ts + 15858 /* "INTEGER" */ + zType = ts + 15873 /* "INTEGER" */ } 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+34619 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+34634 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) } if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { - return ts + 34355 /* " DESC" */ + return ts + 34370 /* " DESC" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+34639, /* "%z%s\"rbu_imp_%d%..." */ + zImpPK = Xsqlite3_mprintf(tls, ts+34654, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, ts+34660, /* "%z%s\"rbu_imp_%d%..." */ + zImpCols = Xsqlite3_mprintf(tls, ts+34675, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+34693 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol)) + ts+34708 /* "%z%s\"rbu_imp_%d%..." */, 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 + 17789 /* ", " */ - zAnd = ts + 25273 /* " AND " */ + zCom = ts + 17804 /* ", " */ + zAnd = ts + 25288 /* " AND " */ nBind++ } @@ -177826,16 +178334,16 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zS uintptr = ts + 901 /* "" */ + var zS uintptr = ts + 916 /* "" */ var i int32 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+34717 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, ts+34732 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+34729 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+34744 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } - zS = ts + 17789 /* ", " */ + zS = ts + 17804 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -177844,7 +178352,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+34738 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+34753 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) } } return zList @@ -177864,27 +178372,27 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq 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+34753 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) + zList = rbuMPrintf(tls, p, ts+34768 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) } else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - var zSep uintptr = ts + 901 /* "" */ + var zSep uintptr = ts + 916 /* "" */ 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+34767 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) - zSep = ts + 25273 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+34782 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) + zSep = ts + 25288 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+34779 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) + ts+34794 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { - var zSep uintptr = ts + 901 /* "" */ + var zSep uintptr = ts + 916 /* "" */ 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 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = rbuMPrintf(tls, p, ts+34829 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) - zSep = ts + 25273 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+34844 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) + zSep = ts + 25288 /* " AND " */ } } } @@ -177898,7 +178406,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // of the RBU handle to something reflecting this. func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+34842 /* "invalid rbu_cont..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+34857 /* "invalid rbu_cont..." */, 0) } // Return a nul-terminated string containing the comma separated list of @@ -177927,21 +178435,21 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr if int32(libc.Xstrlen(tls, zMask)) != (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { rbuBadControlError(tls, p) } else { - var zSep uintptr = ts + 901 /* "" */ + var zSep uintptr = ts + 916 /* "" */ 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+34829, /* "%z%s\"%w\"=?%d" */ + zList = rbuMPrintf(tls, p, ts+34844, /* "%z%s\"%w\"=?%d" */ libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) - zSep = ts + 17789 /* ", " */ + zSep = ts + 17804 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+34868, /* "%z%s\"%w\"=rbu_del..." */ + zList = rbuMPrintf(tls, p, ts+34883, /* "%z%s\"%w\"=rbu_del..." */ 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 + 17789 /* ", " */ + zSep = ts + 17804 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+34898, /* "%z%s\"%w\"=rbu_fos..." */ + zList = rbuMPrintf(tls, p, ts+34913, /* "%z%s\"%w\"=rbu_fos..." */ 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 + 17789 /* ", " */ + zSep = ts + 17804 /* ", " */ } } } @@ -177999,19 +178507,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zSep uintptr = ts + 34935 /* "PRIMARY KEY(" */ + var zSep uintptr = ts + 34950 /* "PRIMARY KEY(" */ *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56 /* &pXList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34087 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+34102 /* "PRAGMA main.inde..." */, 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 /* pXList */)))) { var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 3) - if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+19260 /* "pk" */) == 0) { + if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+19275 /* "pk" */) == 0) { var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 1) if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34115 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+34130 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } @@ -178024,15 +178532,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 2) var zDesc uintptr if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 3) != 0 { - zDesc = ts + 34355 /* " DESC" */ + zDesc = ts + 34370 /* " DESC" */ } else { - zDesc = ts + 901 /* "" */ + zDesc = ts + 916 /* "" */ } - z = rbuMPrintf(tls, p, ts+34948 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = ts + 17789 /* ", " */ + z = rbuMPrintf(tls, p, ts+34963 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) + zSep = ts + 17804 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+34959 /* "%z)" */, libc.VaList(bp+48, z)) + z = rbuMPrintf(tls, p, ts+34974 /* "%z)" */, libc.VaList(bp+48, z)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */))) } return z @@ -178064,7 +178572,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx - var zComma uintptr = ts + 901 /* "" */ + var zComma uintptr = ts + 916 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -178072,7 +178580,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168 /* &pQuery */, (p + 64 /* &.zErrmsg */), - ts+34963 /* "SELECT name FROM..." */) + ts+34978 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 1, tnum) if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) { @@ -178081,7 +178589,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit } if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34115 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) + Xsqlite3_mprintf(tls, ts+34130 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) @@ -178091,25 +178599,25 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 1) var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 3) var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+35013 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, + zCols = rbuMPrintf(tls, p, ts+35028 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+35035 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+35050 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { - return ts + 34355 /* " DESC" */ + return ts + 34370 /* " DESC" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }())) - zComma = ts + 17789 /* ", " */ + zComma = ts + 17804 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+35045 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) + zCols = rbuMPrintf(tls, p, ts+35060 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9722 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9737 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+35060, /* "CREATE TABLE rbu..." */ + ts+35075, /* "CREATE TABLE rbu..." */ libc.VaList(bp+120, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9722 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9737 /* "main" */, 0, 0)) } } @@ -178137,52 +178645,52 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum - var zComma uintptr = ts + 901 /* "" */ + var zComma uintptr = ts + 916 /* "" */ var zSql uintptr = uintptr(0) var iCol int32 - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9722 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9737 /* "main" */, 0, 1)) for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { - var zPk uintptr = ts + 901 /* "" */ + var zPk uintptr = ts + 916 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9722 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9737 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, 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) { // If the target table column is an "INTEGER PRIMARY KEY", add // "PRIMARY KEY" to the imposter table column declaration. - zPk = ts + 35122 /* "PRIMARY KEY " */ + zPk = ts + 35137 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+35135, /* "%z%s\"%w\" %s %sCO..." */ + zSql = rbuMPrintf(tls, p, ts+35150, /* "%z%s\"%w\" %s %sCO..." */ libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - return ts + 35162 /* " NOT NULL" */ + return ts + 35177 /* " NOT NULL" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }())) - zComma = ts + 17789 /* ", " */ + zComma = ts + 17804 /* ", " */ } 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+35172 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+35187 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9722 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35179, /* "CREATE TABLE \"rb..." */ + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9737 /* "main" */, 1, tnum)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35194, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { - return ts + 35211 /* " WITHOUT ROWID" */ + return ts + 35226 /* " WITHOUT ROWID" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9722 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9737 /* "main" */, 0, 0)) } } @@ -178205,7 +178713,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 152 /* &.pTmpInsert */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+35226, /* "INSERT INTO %s.'..." */ + ts+35241, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -178242,7 +178750,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+35283 /* "SELECT trim(sql)..." */) + ts+35298 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -178352,7 +178860,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+35349 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) + zLimit = Xsqlite3_mprintf(tls, ts+35364 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) if !(zLimit != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM } @@ -178373,26 +178881,26 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 624 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9722 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9722 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9737 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9737 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+35369, /* "CREATE TABLE \"rb..." */ + ts+35384, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 608 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9722 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9737 /* "main" */, 0, 0)) // Create the statement to insert index entries (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 624 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+35434 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+35449 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) } // And to delete index entries 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 /* &.pDelete */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+35470 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+35485 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -178409,7 +178917,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+35504, /* "SELECT %s, 0 AS ..." */ + ts+35519, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -178417,32 +178925,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 35565 /* "AND" */ + return ts + 35580 /* "AND" */ } - return ts + 35569 /* "WHERE" */ + return ts + 35584 /* "WHERE" */ }() } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), zStart, zCollist, zLimit)) 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+35575, /* "SELECT %s, rbu_c..." */ + ts+35590, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+216, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, - ts+35636, /* "SELECT %s, rbu_c..." */ + ts+35651, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+264, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { if zPart != 0 { - return ts + 35565 /* "AND" */ + return ts + 35580 /* "AND" */ } - return ts + 35569 /* "WHERE" */ + return ts + 35584 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -178467,8 +178975,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 var zBindings uintptr = rbuObjIterGetBindlist(tls, p, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + bRbuRowid)) var zWhere uintptr = rbuObjIterGetWhere(tls, p, pIter) - var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+9731 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+9727 /* "new" */) + var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+9746 /* "old" */) + var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+9742 /* "new" */) zCollist = rbuObjIterGetCollist(tls, p, pIter) (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -178478,21 +178986,21 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuCreateImposterTable2(tls, p, pIter) zWrite = func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB { - return ts + 901 /* "" */ + return ts + 916 /* "" */ } - return ts + 35795 /* "rbu_imp_" */ + return ts + 35810 /* "rbu_imp_" */ }() // Create the INSERT statement to write to the target PK b-tree if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, - ts+35804, /* "INSERT INTO \"%s%..." */ + ts+35819, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 35840 /* ", _rowid_" */ + return ts + 35855 /* ", _rowid_" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), zBindings))) } @@ -178502,28 +179010,28 @@ 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 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+35850 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+384, zWrite, zTbl, zWhere))) + ts+35865 /* "DELETE FROM \"%s%..." */, 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 + 901 /* "" */ + var zRbuRowid uintptr = ts + 916 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 35878 /* ", rbu_rowid" */ + zRbuRowid = ts + 35893 /* ", rbu_rowid" */ } // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+35890 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+35905 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - return ts + 35966 /* ", 0 AS rbu_rowid" */ + return ts + 35981 /* ", 0 AS rbu_rowid" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+35983, /* "CREATE TEMP TRIG..." */ + ts+35998, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -178531,7 +179039,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 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+36282, /* "CREATE TEMP TRIG..." */ + ts+36297, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } @@ -178540,14 +179048,14 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the SELECT statement to read keys from data_xxx if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zRbuRowid uintptr = ts + 901 /* "" */ + var zRbuRowid uintptr = ts + 916 /* "" */ var zStart uintptr = uintptr(0) var zOrder uintptr = uintptr(0) if bRbuRowid != 0 { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zRbuRowid = ts + 36381 /* ",_rowid_ " */ + zRbuRowid = ts + 36396 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 36391 /* ",rbu_rowid" */ + zRbuRowid = ts + 36406 /* ",rbu_rowid" */ } } @@ -178560,35 +179068,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+34438 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+34453 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+901 /* "" */, ts+17789 /* ", " */, ts+901 /* "" */) + zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+916 /* "" */, ts+17804 /* ", " */, ts+916 /* "" */) } } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 128 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, - ts+36402, /* "SELECT %s,%s rbu..." */ + ts+36417, /* "SELECT %s,%s rbu..." */ libc.VaList(bp+536, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 36450 /* "0 AS " */ + return ts + 36465 /* "0 AS " */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 23452 /* "ORDER BY" */ + return ts + 23467 /* "ORDER BY" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), zOrder, zLimit))) } @@ -178663,12 +179171,12 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp (*RbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - var zPrefix uintptr = ts + 901 /* "" */ + var zPrefix uintptr = ts + 916 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 35795 /* "rbu_imp_" */ + zPrefix = ts + 35810 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+36456, /* "UPDATE \"%s%w\" SE..." */ + zUpdate = Xsqlite3_mprintf(tls, ts+36471, /* "UPDATE \"%s%w\" SE..." */ 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 /* &.pUpdate */), (p + 64 /* &.zErrmsg */), zUpdate) @@ -178695,7 +179203,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))) *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) } @@ -178736,7 +179244,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ } *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+36486 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) + Xsqlite3_mprintf(tls, ts+36501 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) for (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) { case RBU_STATE_STAGE: @@ -178808,31 +179316,31 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+9722 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+9737 /* "main" */, 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+9722 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+36516 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) + var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+9737 /* "main" */) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+36531 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) } } // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+36543 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.X__builtin___memcpy_chk(tls, p+48 /* &.zStateDb */, ts+4654 /* "stat" */, uint64(4), libc.X__builtin_object_size(tls, p+48 /* &.zStateDb */, 0)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+36558 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.X__builtin___memcpy_chk(tls, p+48 /* &.zStateDb */, ts+4669 /* "stat" */, uint64(4), libc.X__builtin_object_size(tls, p+48 /* &.zStateDb */, 0)) } else { - libc.X__builtin___memcpy_chk(tls, p+48 /* &.zStateDb */, ts+9722 /* "main" */, uint64(4), libc.X__builtin_object_size(tls, p+48 /* &.zStateDb */, 0)) + libc.X__builtin___memcpy_chk(tls, p+48 /* &.zStateDb */, ts+9737 /* "main" */, uint64(4), libc.X__builtin_object_size(tls, p+48 /* &.zStateDb */, 0)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+36561 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+36576 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 var rc int32 (*Sqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+9722 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+9737 /* "main" */, SQLITE_FCNTL_RBUCNT, p) if rc != SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -178865,11 +179373,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 return } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36627 /* "cannot vacuum wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36642 /* "cannot vacuum wa..." */, 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+29766 /* "file:" */, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5))) { + if (libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5)) && (0 == libc.Xmemcmp(tls, ts+29781 /* "file:" */, (*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)))) == '?' { @@ -178881,16 +179389,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+36659, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+9722 /* "main" */), + zTarget = Xsqlite3_mprintf(tls, ts+36674, /* "file:%s-vactmp?r..." */ + libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+9737 /* "main" */), func() uintptr { if zExtra == uintptr(0) { - return ts + 901 /* "" */ + return ts + 916 /* "" */ } - return ts + 36691 /* "&" */ + return ts + 36706 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 901 /* "" */ + return ts + 916 /* "" */ } return zExtra }())) @@ -178906,40 +179414,40 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+36693 /* "rbu_tmp_insert" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+36708 /* "rbu_tmp_insert" */, -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+36708 /* "rbu_fossil_delta" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + ts+36723 /* "rbu_fossil_delta" */, 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+36725 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+36740 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuTargetNameFunc})), uintptr(0), uintptr(0)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9722 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9737 /* "main" */, SQLITE_FCNTL_RBU, p) } - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36741 /* "SELECT * FROM sq..." */, 0) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36756 /* "SELECT * FROM sq..." */, 0) // Mark the database file just opened as an RBU target database. If // this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. // This is an error. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9722 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9737 /* "main" */, SQLITE_FCNTL_RBU, p) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36769 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36784 /* "rbu vfs not foun..." */, 0) } } @@ -179008,7 +179516,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+36741 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36756 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -179042,7 +179550,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+36787 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36802 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) if rc2 != SQLITE_INTERNAL { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -179169,16 +179677,16 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ bp := tls.Alloc(16) defer tls.Free(16) - var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9722 /* "main" */) + var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+9737 /* "main" */) var zMove uintptr = zBase var zOal uintptr var zWal uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+9722 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+9737 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+36822 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+36829 /* "%s-wal" */, libc.VaList(bp+8, zMove)) + zOal = Xsqlite3_mprintf(tls, ts+36837 /* "%s-oal" */, libc.VaList(bp, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+36844 /* "%s-wal" */, libc.VaList(bp+8, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -179318,7 +179826,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) { /* sqlite3.c:203389:1 ((*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+29404 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29419 /* "datatype mismatc..." */, 0) return } @@ -179436,7 +179944,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // var pStmt uintptr at bp+8, 8 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+36836 /* "PRAGMA schema_ve..." */) + ts+36851 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There // is already a transaction open, so the prepared statement cannot @@ -179449,7 +179957,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36858 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36873 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) } } } @@ -179474,7 +179982,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168 /* &pInsert */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+36885, /* "INSERT OR REPLAC..." */ + ts+36900, /* "INSERT OR REPLAC..." */ libc.VaList(bp, p+48, /* &.zStateDb */ RBU_STATE_STAGE, eStage, RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl, @@ -179519,9 +180027,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24 /* &pPragma */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37043 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) + Xsqlite3_mprintf(tls, ts+37058 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)))) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+37058, /* "PRAGMA main.%s =..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+37073, /* "PRAGMA main.%s =..." */ libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)), 0))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */))) @@ -179538,11 +180046,11 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * *(*uintptr)(unsafe.Pointer(bp /* pSql */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+37078 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+37093 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+37103 /* "SELECT sql FROM ..." */) + ts+37118 /* "SELECT sql FROM ..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -179556,12 +180064,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+37211 /* "SELECT * FROM sq..." */) + ts+37226 /* "SELECT * FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8 /* &pInsert */, (p + 64 /* &.zErrmsg */), - ts+37276 /* "INSERT INTO sqli..." */) + ts+37291 /* "INSERT INTO sqli..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -179573,7 +180081,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+37320 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+37335 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) @@ -179595,8 +180103,8 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // when this handle was opened, create the target database schema. if (((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FnProgress == 0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { rbuCreateTargetSchema(tls, p) - rbuCopyPragma(tls, p, ts+20338 /* "user_version" */) - rbuCopyPragma(tls, p, ts+19432 /* "application_id" */) + rbuCopyPragma(tls, p, ts+20353 /* "user_version" */) + rbuCopyPragma(tls, p, ts+19447 /* "application_id" */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl != 0) { @@ -179607,7 +180115,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // But the contents can be deleted. 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+37345 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + ts+37360 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) } } else { rbuObjIterPrepareAll(tls, p, pIter, 0) @@ -179633,10 +180141,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: rbuSaveState(tls, p, RBU_STAGE_MOVE) rbuIncrSchemaCookie(tls, p) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+17693 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+17708 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+17693 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+17708 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_MOVE } @@ -179753,7 +180261,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 if (rc == SQLITE_OK) && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+37373 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+37388 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -179772,7 +180280,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ bp := tls.Alloc(8) defer tls.Free(8) - var zOal uintptr = rbuMPrintf(tls, p, ts+36822 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) + var zOal uintptr = rbuMPrintf(tls, p, ts+36837 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -179794,7 +180302,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ // var zRnd [64]int8 at bp+12, 64 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+37398 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+37413 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12 /* &zRnd[0] */) @@ -179833,7 +180341,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / rc = prepareFreeAndCollectError(tls, db, bp+8 /* &pStmt */, bp+16, /* &zErrmsg */ Xsqlite3_mprintf(tls, - ts+37409 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) + ts+37424 /* "SELECT count(*) ..." */, 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 /* zErrmsg */)), -1) } else { @@ -179876,7 +180384,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+37481 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+37496 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuIndexCntFunc})), uintptr(0), uintptr(0)) @@ -179884,7 +180392,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ // occurs, nPhaseOneStep will be left set to -1. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+37495 /* "SELECT 1 FROM sq..." */) + ts+37510 /* "SELECT 1 FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { @@ -179896,7 +180404,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (bExists != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+37552 /* "SELECT sum(cnt *..." */) + ts+37567 /* "SELECT sum(cnt *..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) @@ -179942,7 +180450,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) libc.X__builtin___memcpy_chk(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, zRbu, (nRbu + uint64(1)), libc.X__builtin_object_size(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 0)) pCsr += (uintptr(nRbu + uint64(1))) if zState != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+937 /* "%s" */, libc.VaList(bp, zState)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+952 /* "%s" */, libc.VaList(bp, zState)) } // If the first attempt to open the database file fails and the bRetry @@ -179979,7 +180487,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+37626 /* "cannot update wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+37641 /* "cannot update wa..." */, 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 @@ -180001,12 +180509,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // transaction is committed in rollback mode) currently stored on // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+37658, /* "database modifie..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+37673, /* "database modifie..." */ libc.VaList(bp+8, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 37690 /* "vacuum" */ + return ts + 37705 /* "vacuum" */ } - return ts + 37697 /* "update" */ + return ts + 37712 /* "update" */ }())) } } @@ -180014,7 +180522,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { var db uintptr = (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+17678 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+17693 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) // Point the object iterator at the first object if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -180028,24 +180536,24 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_DONE } else { if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuState)(unsafe.Pointer(pState)).FeStage == 0)) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - rbuCopyPragma(tls, p, ts+20063 /* "page_size" */) - rbuCopyPragma(tls, p, ts+19447 /* "auto_vacuum" */) + rbuCopyPragma(tls, p, ts+20078 /* "page_size" */) + rbuCopyPragma(tls, p, ts+19462 /* "auto_vacuum" */) } // Open transactions both databases. The *-oal file is opened or // created at this point. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+37704 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+37719 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Check if the main database is a zipvfs db. If it is, set the upper // level pager to use "journal_mode=off". This prevents it from // generating a large journal using a temp file. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var frc int32 = Xsqlite3_file_control(tls, db, ts+9722 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) + var frc int32 = Xsqlite3_file_control(tls, db, ts+9737 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) if frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, - db, ts+37720 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + db, ts+37735 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } } @@ -180098,7 +180606,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+37744 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { + if (n >= 7) && (0 == libc.Xmemcmp(tls, ts+37759 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { return rbuMisuseError(tls) } } @@ -180128,7 +180636,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:204232:13: */ 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+35795 /* "rbu_imp_" */, uint64(8)) == 0 { + if libc.Xmemcmp(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i)), ts+35810 /* "rbu_imp_" */, 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++ @@ -180147,7 +180655,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Commit the transaction to the *-oal file. if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+17693 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+17708 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Sync the db file if currently doing an incremental checkpoint @@ -180159,7 +180667,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+17693 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+17708 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Close any open statement handles. @@ -180171,7 +180679,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // specifying the current target and state databases to start a new // vacuum from scratch. 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+37752 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) + var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+37767 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) && (rc2 != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -180270,7 +180778,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+17693 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+17708 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -180287,19 +180795,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+17693 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+17708 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { var zBegin uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zBegin = ts + 17678 /* "BEGIN" */ + zBegin = ts + 17693 /* "BEGIN" */ } else { - zBegin = ts + 37704 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 37719 /* "BEGIN IMMEDIATE" */ } 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+37704 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+37719 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -180703,7 +181211,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+37779 /* "rbu/zipvfs setup..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+37794 /* "rbu/zipvfs setup..." */, 0) } else if rc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p (*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu @@ -180726,7 +181234,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+37802 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + var zOut uintptr = Xsqlite3_mprintf(tls, ts+37817 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = SQLITE_NOMEM @@ -180889,7 +181397,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags // This call is to open a *-wal file. Intead, open the *-oal. var nOpen Size_t if (*Sqlite3rbu)(unsafe.Pointer(((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu))).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+9722 /* "main" */) + zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+9737 /* "main" */) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -180904,7 +181412,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+37813 /* "rbu_memory" */, 0) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+37828 /* "rbu_memory" */, 0) != 0) { oflags = ((((SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -181216,7 +181724,7 @@ var zDbstatSchema = // 9 Size of the page (sum for aggregate) // 10 Database schema being analyzed // 11 aggregate info for each table -*(*[258]int8)(unsafe.Pointer(ts + 37824 /* "CREATE TABLE x( ..." */)) /* sqlite3.c:205427:19 */ +*(*[258]int8)(unsafe.Pointer(ts + 37839 /* "CREATE TABLE x( ..." */)) /* sqlite3.c:205427:19 */ // Forward reference to data structured used in this module type StatTable1 = struct { @@ -181297,7 +181805,7 @@ func statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp Xsqlite3TokenInit(tls, bp+8 /* &nm */, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = Xsqlite3FindDb(tls, db, bp+8 /* &nm */) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+15056 /* "no such database..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+15071 /* "no such database..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return SQLITE_ERROR } } else { @@ -181820,7 +182328,7 @@ __5: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __6 } - (*StatPage)(unsafe.Pointer((pCsr + 24 /* &.aPage */))).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+6200 /* "/" */, 0)) + (*StatPage)(unsafe.Pointer((pCsr + 24 /* &.aPage */))).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+6215 /* "/" */, 0)) if !(z == uintptr(0)) { goto __7 } @@ -181878,9 +182386,9 @@ __14: } (*StatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*StatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*StatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*U32)(unsafe.Pointer((*StatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 38082 /* "overflow" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 38097 /* "overflow" */ (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, - ts+38091 /* "%s%.3x+%.6x" */, libc.VaList(bp, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell, iOvfl))) + ts+38106 /* "%s%.3x+%.6x" */, libc.VaList(bp, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell, iOvfl))) if z == uintptr(0) { return SQLITE_NOMEM } @@ -181948,7 +182456,7 @@ __23: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __24 } - (*StatPage)(unsafe.Pointer(p + 1*64)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+38103 /* "%s%.3x/" */, libc.VaList(bp+24, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) + (*StatPage)(unsafe.Pointer(p + 1*64)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+38118 /* "%s%.3x/" */, libc.VaList(bp+24, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) if !(z == uintptr(0)) { goto __25 } @@ -181991,14 +182499,14 @@ __2: goto __28 __29: // table internal __30: // index internal - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 38111 /* "internal" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 38126 /* "internal" */ goto __28 __31: // table leaf __32: // index leaf - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 38120 /* "leaf" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 38135 /* "leaf" */ goto __28 __33: - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 38125 /* "corrupted" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 38140 /* "corrupted" */ goto __28 __28: ; @@ -182013,7 +182521,7 @@ __34: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __35 } - (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+40, (*StatPage)(unsafe.Pointer(p1)).FzPath))) + (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+40, (*StatPage)(unsafe.Pointer(p1)).FzPath))) if !(z == uintptr(0)) { goto __36 } @@ -182102,13 +182610,13 @@ func statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, ar pSql = Xsqlite3_str_new(tls, (*StatTable)(unsafe.Pointer(pTab)).Fdb) Xsqlite3_str_appendf(tls, pSql, - ts+38135, /* "SELECT * FROM (S..." */ + ts+38150, /* "SELECT * FROM (S..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*StatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb+uintptr((*StatCursor)(unsafe.Pointer(pCsr)).FiDb)*32)).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, ts+38290 /* "WHERE name=%Q" */, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, ts+38305 /* "WHERE name=%Q" */, libc.VaList(bp+8, zName)) } if (idxNum & 0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, ts+38304 /* " ORDER BY name" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+38319 /* " ORDER BY name" */, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -182193,7 +182701,7 @@ func statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite // Invoke this routine to register the "dbstat" virtual table module func Xsqlite3DbstatRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:206190:20: */ - return Xsqlite3_create_module(tls, db, ts+38319 /* "dbstat" */, uintptr(unsafe.Pointer(&dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, ts+38334 /* "dbstat" */, uintptr(unsafe.Pointer(&dbstat_module)), uintptr(0)) } var dbstat_module = Sqlite3_module{ // iVersion @@ -182308,7 +182816,7 @@ func dbpageConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_DIRECTONLY, 0) rc = Xsqlite3_declare_vtab(tls, db, - ts+38326 /* "CREATE TABLE x(p..." */) + ts+38341 /* "CREATE TABLE x(p..." */) if rc == SQLITE_OK { pTab = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(DbpageTable{}))) if pTab == uintptr(0) { @@ -182556,14 +183064,14 @@ func dbpageUpdate(tls *libc.TLS, pVtab uintptr, argc int32, argv uintptr, pRowid if !(((*Sqlite3)(unsafe.Pointer((*DbpageTable)(unsafe.Pointer(pTab)).Fdb)).Fflags & uint64(SQLITE_Defensive)) != 0) { goto __1 } - zErr = ts + 38393 /* "read-only" */ + zErr = ts + 38408 /* "read-only" */ goto update_fail __1: ; if !(argc == 1) { goto __2 } - zErr = ts + 38403 /* "cannot delete" */ + zErr = ts + 38418 /* "cannot delete" */ goto update_fail __2: ; @@ -182571,7 +183079,7 @@ __2: if !(Pgno(Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) != pgno) { goto __3 } - zErr = ts + 38417 /* "cannot insert" */ + zErr = ts + 38432 /* "cannot insert" */ goto update_fail __3: ; @@ -182584,7 +183092,7 @@ __3: if !(iDb < 0) { goto __4 } - zErr = ts + 38431 /* "no such schema" */ + zErr = ts + 38446 /* "no such schema" */ goto update_fail __4: ; @@ -182592,7 +183100,7 @@ __4: if !(((pgno < Pgno(1)) || (pBt == uintptr(0))) || (pgno > Pgno(int32(Xsqlite3BtreeLastPage(tls, pBt))))) { goto __5 } - zErr = ts + 38446 /* "bad page number" */ + zErr = ts + 38461 /* "bad page number" */ goto update_fail __5: ; @@ -182601,7 +183109,7 @@ __5: (Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))) != szPage)) { goto __6 } - zErr = ts + 38462 /* "bad page value" */ + zErr = ts + 38477 /* "bad page value" */ goto update_fail __6: ; @@ -182624,7 +183132,7 @@ __7: update_fail: Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp, zErr)) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, zErr)) return SQLITE_ERROR } @@ -182646,7 +183154,7 @@ func dbpageBegin(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:206594:12: * // Invoke this routine to register the "dbpage" virtual table module func Xsqlite3DbpageRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:206609:20: */ - return Xsqlite3_create_module(tls, db, ts+38477 /* "sqlite_dbpage" */, uintptr(unsafe.Pointer(&dbpage_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, ts+38492 /* "sqlite_dbpage" */, uintptr(unsafe.Pointer(&dbpage_module)), uintptr(0)) } var dbpage_module = Sqlite3_module{ // iVersion @@ -182669,6 +183177,5611 @@ var dbpage_module = Sqlite3_module{ // iVersion //************* End of dbpage.c ********************************************* //************* Begin file sqlite3session.c ********************************* +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable1 = struct { + FpNext uintptr + FzName uintptr + FnCol int32 + FbStat1 int32 + FazCol uintptr + FabPK uintptr + FnEntry int32 + FnChange int32 + FapChange uintptr +} /* sqlite3.c:11155:9 */ + +//************* End of dbpage.c ********************************************* +//************* Begin file sqlite3session.c ********************************* + +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ +type SessionChange1 = struct { + Fop U8 + FbIndirect U8 + _ [2]byte + FnMaxSize int32 + FnRecord int32 + _ [4]byte + FaRecord uintptr + FpNext uintptr +} /* sqlite3.c:11155:9 */ + +type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ +type SessionBuffer1 = struct { + FaBuf uintptr + FnBuf int32 + FnAlloc int32 +} /* sqlite3.c:11163:9 */ + +type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ +type SessionInput1 = struct { + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + _ [4]byte + FaData uintptr + FnData int32 + _ [4]byte + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 + _ [4]byte +} /* sqlite3.c:11163:9 */ + +type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ + +// Minimum chunk size used by streaming versions of functions. + +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:206671:12 */ + +type SessionHook1 = struct { + FpCtx uintptr + FxOld uintptr + FxNew uintptr + FxCount uintptr + FxDepth uintptr +} /* sqlite3.c:11155:9 */ + +type SessionHook = SessionHook1 /* sqlite3.c:206673:28 */ + +// Write a varint with value iVal into the buffer at aBuf. Return the +// number of bytes written. +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:206951:12: */ + return int32(func() uint8 { + if (U32(iVal)) < U32(0x80) { + return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) + } + return uint8(Xsqlite3PutVarint(tls, aBuf, uint64(iVal))) + }()) +} + +// Return the number of bytes required to store value iVal as a varint. +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:206958:12: */ + return Xsqlite3VarintLen(tls, uint64(iVal)) +} + +// Read a varint value from aBuf[] into *piVal. Return the number of +// bytes read. +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:206966:12: */ + return int32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { + return uint8(func() int32 { (*(*int32)(unsafe.Pointer(piVal))) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) + } + return Xsqlite3GetVarint32(tls, aBuf, piVal) + }()) +} + +// Load an unaligned and unsigned 32-bit integer + +// Read a 64-bit big-endian integer value from buffer aRec[]. Return +// the value read. +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:206977:22: */ + var x U64 = (U64((((U32(*(*U8)(unsafe.Pointer((aRec)))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec) + 3))))) + var y U32 = ((((U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4))))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 3)))) + x = ((x << 32) + U64(y)) + return Sqlite3_int64(x) +} + +// Write a 64-bit big-endian integer value to the buffer aBuf[]. +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:206987:13: */ + *(*U8)(unsafe.Pointer(aBuf)) = (U8((i >> 56) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 1)) = (U8((i >> 48) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 2)) = (U8((i >> 40) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 3)) = (U8((i >> 32) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 4)) = (U8((i >> 24) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 5)) = (U8((i >> 16) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 6)) = (U8((i >> 8) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 7)) = (U8((i >> 0) & int64(0xFF))) +} + +// This function is used to serialize the contents of value pValue (see +// comment titled "RECORD FORMAT" above). +// +// If it is non-NULL, the serialized form of the value is written to +// buffer aBuf. *pnWrite is set to the number of bytes written before +// returning. Or, if aBuf is NULL, the only thing this function does is +// set *pnWrite. +// +// If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs +// within a call to sqlite3_value_text() (may fail if the db is utf-16)) +// SQLITE_NOMEM is returned. +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:207011:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var nByte int32 // Size of serialized value in bytes + + if pValue != 0 { + var eType int32 // Value type (SQLITE_NULL, TEXT etc.) + + eType = Xsqlite3_value_type(tls, pValue) + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(eType) + } + + switch eType { + case SQLITE_NULL: + nByte = 1 + break + fallthrough + + case SQLITE_INTEGER: + fallthrough + case SQLITE_FLOAT: + if aBuf != 0 { + // TODO: SQLite does something special to deal with mixed-endian + // floating point values (e.g. ARM7). This code probably should + // too. + // var i U64 at bp, 8 + + if eType == SQLITE_INTEGER { + *(*U64)(unsafe.Pointer(bp /* i */)) = U64(Xsqlite3_value_int64(tls, pValue)) + } else { + // var r float64 at bp+8, 8 + + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_value_double(tls, pValue) + libc.X__builtin___memcpy_chk(tls, bp /* &i */, bp+8 /* &r */, uint64(8), libc.X__builtin_object_size(tls, bp /* &i */, 0)) + } + sessionPutI64(tls, (aBuf + 1), int64(*(*U64)(unsafe.Pointer(bp /* i */)))) + } + nByte = 9 + break + fallthrough + + default: + { + var z uintptr + var n int32 + var nVarint int32 + + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, pValue) + } else { + z = Xsqlite3_value_blob(tls, pValue) + } + n = Xsqlite3_value_bytes(tls, pValue) + if (z == uintptr(0)) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + nVarint = sessionVarintLen(tls, n) + + if aBuf != 0 { + sessionVarintPut(tls, (aBuf + 1), n) + if n != 0 { + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nVarint + 1))), z, uint64(n), libc.X__builtin_object_size(tls, (aBuf+uintptr((nVarint+1))), 0)) + } + } + + nByte = ((1 + nVarint) + n) + break + + } + } + } else { + nByte = 1 + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(0) + } + } + + if pnWrite != 0 { + *(*Sqlite3_int64)(unsafe.Pointer(pnWrite)) += (Sqlite3_int64(nByte)) + } + return SQLITE_OK +} + +// Allocate and return a pointer to a buffer nByte bytes in size. If +// pSession is not NULL, increase the sqlite3_session.nMalloc variable +// by the number of bytes allocated. +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:207087:13: */ + var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) += I64((Xsqlite3_msize(tls, pRet))) + } + return pRet +} + +// Free buffer pFree, which must have been allocated by an earlier +// call to sessionMalloc64(). If pSession is not NULL, decrease the +// sqlite3_session.nMalloc counter by the number of bytes freed. +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:207098:13: */ + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) -= I64((Xsqlite3_msize(tls, pFree))) + } + Xsqlite3_free(tls, pFree) +} + +// This macro is used to calculate hash key values for data structures. In +// order to use this macro, the entire data structure must be represented +// as a series of unsigned integers. In order to calculate a hash-key value +// for a data structure represented as three such integers, the macro may +// then be used as follows: +// +// int hash_key_value; +// hash_key_value = HASH_APPEND(0, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// +// In practice, the data structures this macro is used for are the primary +// key values of modified rows. + +// Append the hash of the 64-bit integer passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:207124:21: */ + h = ((((h) << 3) ^ (h)) ^ (uint32(i & int64(0xFFFFFFFF)))) + return ((((h) << 3) ^ (h)) ^ (uint32((i >> 32) & int64(0xFFFFFFFF)))) +} + +// Append the hash of the blob passed via the second and third arguments to +// the hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:207133:21: */ + var i int32 + for i = 0; i < n; i++ { + h = ((((h) << 3) ^ (h)) ^ (uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))))) + } + return h +} + +// Append the hash of the data type passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:207143:21: */ + return ((((h) << 3) ^ (h)) ^ (uint32(eType))) +} + +// This function may only be called from within a pre-update callback. +// It calculates a hash based on the primary key values of the old.* or +// new.* row currently available and, assuming no error occurs, writes it to +// *piHash before returning. If the primary key contains one or more NULL +// values, *pbNullPK is set to true before returning. +// +// If an error occurs, an SQLite error code is returned and the final values +// of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned +// and the output variables are set as described above. +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:207158:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var h uint32 = uint32(0) // Hash value to return + var i int32 // Used to iterate through columns + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0 { + var rc int32 + var eType int32 + // var pVal uintptr at bp, 8 + + if bNew != 0 { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } else { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } + if rc != SQLITE_OK { + return rc + } + + eType = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var iVal I64 at bp+8, 8 + + if eType == SQLITE_INTEGER { + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + *(*float64)(unsafe.Pointer(bp + 16 /* rVal */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + + libc.X__builtin___memcpy_chk(tls, bp+8 /* &iVal */, bp+16 /* &rVal */, uint64(8), libc.X__builtin_object_size(tls, bp+8 /* &iVal */, 0)) + } + h = sessionHashAppendI64(tls, h, *(*I64)(unsafe.Pointer(bp + 8 /* iVal */))) + } else if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + var z uintptr + var n int32 + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + n = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + if !(z != 0) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + h = sessionHashAppendBlob(tls, h, n, z) + } else { + + *(*int32)(unsafe.Pointer(pbNullPK)) = 1 + } + } + } + + *(*int32)(unsafe.Pointer(piHash)) = (int32(h % uint32((*SessionTable)(unsafe.Pointer(pTab)).FnChange))) + return SQLITE_OK +} + +// The buffer that the argument points to contains a serialized SQL value. +// Return the number of bytes of space occupied by the value (including +// the type byte). +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:207223:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var e int32 = int32(*(*U8)(unsafe.Pointer(a))) + // var n int32 at bp, 4 + + if (e == 0) || (e == 0xFF) { + return 1 + } + if e == SQLITE_NULL { + return 1 + } + if (e == SQLITE_INTEGER) || (e == SQLITE_FLOAT) { + return 9 + } + return ((sessionVarintGet(tls, (a+1), bp /* &n */) + 1) + *(*int32)(unsafe.Pointer(bp /* n */))) +} + +// Based on the primary key values stored in change aRecord, calculate a +// hash key. Assume the has table has nBucket buckets. The hash keys +// calculated by this function are compatible with those calculated by +// sessionPreupdateHash(). +// +// The bPkOnly argument is non-zero if the record at aRecord[] is from +// a patchset DELETE. In this case the non-PK fields are omitted entirely. +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:207241:21: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var h uint32 = uint32(0) // Value to return + var i int32 // Used to iterate through columns + var a uintptr = aRecord // Used to iterate through change record + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(a))) + var isPK int32 = int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) + if (bPkOnly != 0) && (isPK == 0) { + continue + } + + // It is not possible for eType to be SQLITE_NULL here. The session + // module does not record changes for rows with NULL values stored in + // primary key columns. + + if isPK != 0 { + a++ + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + h = sessionHashAppendI64(tls, h, sessionGetI64(tls, a)) + a += uintptr(8) + } else { + // var n int32 at bp, 4 + + a += uintptr(sessionVarintGet(tls, a, bp /* &n */)) + h = sessionHashAppendBlob(tls, h, *(*int32)(unsafe.Pointer(bp /* n */)), a) + a += uintptr(*(*int32)(unsafe.Pointer(bp /* n */))) + } + } else { + a += uintptr(sessionSerialLen(tls, a)) + } + } + return (h % uint32(nBucket)) +} + +// Arguments aLeft and aRight are pointers to change records for table pTab. +// This function returns true if the two records apply to the same row (i.e. +// have the same values stored in the primary key columns), or false +// otherwise. +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:207290:12: */ + var a1 uintptr = aLeft // Cursor to iterate through aLeft + var a2 uintptr = aRight // Cursor to iterate through aRight + var iCol int32 // Used to iterate through table columns + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol))) != 0 { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + + if (n1 != n2) || (libc.Xmemcmp(tls, a1, a2, uint64(n1)) != 0) { + return 0 + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } else { + if bLeftPkOnly == 0 { + a1 += uintptr(sessionSerialLen(tls, a1)) + } + if bRightPkOnly == 0 { + a2 += uintptr(sessionSerialLen(tls, a2)) + } + } + } + + return 1 +} + +// Arguments aLeft and aRight both point to buffers containing change +// records with nCol columns. This function "merges" the two records into +// a single records which is written to the buffer at *paOut. *paOut is +// then set to point to one byte after the last byte written before +// returning. +// +// The merging of records is done as follows: For each column, if the +// aRight record contains a value for the column, copy the value from +// their. Otherwise, if aLeft contains a value, copy it. If neither +// record contains a value for a given column, then neither does the +// output record. +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:207333:13: */ + var a1 uintptr = aLeft // Cursor used to iterate through aLeft + var a2 uintptr = aRight // Cursor used to iterate through aRight + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor + var iCol int32 // Used to iterate from 0 to nCol + + for iCol = 0; iCol < nCol; iCol++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + libc.X__builtin___memcpy_chk(tls, aOut, a2, uint64(n2), libc.X__builtin_object_size(tls, aOut, 0)) + aOut += uintptr(n2) + } else { + libc.X__builtin___memcpy_chk(tls, aOut, a1, uint64(n1), libc.X__builtin_object_size(tls, aOut, 0)) + aOut += uintptr(n1) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut +} + +// This is a helper function used by sessionMergeUpdate(). +// +// When this function is called, both *paOne and *paTwo point to a value +// within a change record. Before it returns, both have been advanced so +// as to point to the next value in the record. +// +// If, when this function is called, *paTwo points to a valid value (i.e. +// *paTwo[0] is not 0x00 - the "no value" placeholder), a copy of the *paTwo +// pointer is returned and *pnVal is set to the number of bytes in the +// serialized value. Otherwise, a copy of *paOne is returned and *pnVal +// set to the number of bytes in the value at *paOne. If *paOne points +// to the "no value" placeholder, *pnVal is set to 1. In other words: +// +// if( *paTwo is valid ) return *paTwo; +// return *paOne; +// +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:207379:11: */ + var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) + var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) + var pRet uintptr = uintptr(0) + var n1 int32 + + if a2 != 0 { + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + *(*int32)(unsafe.Pointer(pnVal)) = n2 + pRet = a2 + } + *(*uintptr)(unsafe.Pointer(paTwo)) = (a2 + uintptr(n2)) + } + + n1 = sessionSerialLen(tls, a1) + if pRet == uintptr(0) { + *(*int32)(unsafe.Pointer(pnVal)) = n1 + pRet = a1 + } + *(*uintptr)(unsafe.Pointer(paOne)) = (a1 + uintptr(n1)) + + return pRet +} + +// This function is used by changeset_concat() to merge two UPDATE changes +// on the same row. +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:207413:12: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) + var i int32 + + if bPatchset == 0 { + var bRequired int32 = 0 + + // Write the old.* vector first. + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+16, 4 + + var aOld uintptr + // var nNew int32 at bp+40, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+16 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+40 /* &nNew */) + if ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)) != *(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) || (libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) != 0) { + if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + bRequired = 1 + } + libc.X__builtin___memcpy_chk(tls, aOut, aOld, uint64(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */))), libc.X__builtin_object_size(tls, aOut, 0)) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */))) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } + } + + if !(bRequired != 0) { + return 0 + } + } + + // Write the new.* vector + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+44, 4 + + var aOld uintptr + // var nNew int32 at bp+48, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+44 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+48 /* &nNew */) + if (bPatchset == 0) && + ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || ((*(*int32)(unsafe.Pointer(bp + 44 /* nOld */)) == *(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) && (0 == libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))))))) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } else { + libc.X__builtin___memcpy_chk(tls, aOut, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))), libc.X__builtin_object_size(tls, aOut, 0)) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) + } + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut + return 1 +} + +// This function is only called from within a pre-update-hook callback. +// It determines if the current pre-update-hook change affects the same row +// as the change stored in argument pChange. If so, it returns true. Otherwise +// if the pre-update-hook does not affect the same row as pChange, it returns +// false. +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:207490:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var iCol int32 // Used to iterate through columns + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord // Cursor used to scan change record + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol)))) != 0) { + a += uintptr(sessionSerialLen(tls, a)) + } else { + // var pVal uintptr at bp, 8 + // Value returned by preupdate_new/old + var rc int32 + _ = rc // Error code from preupdate_new/old + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) // Type of value from change record + + // The following calls to preupdate_new() and preupdate_old() can not + // fail. This is because they cache their return values, and by the + // time control flows to here they have already been called once from + // within sessionPreupdateHash(). The first two asserts below verify + // this (that the method has already been called). + if op == SQLITE_INSERT { + // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } else { + // assert( db->pPreUpdate->pUnpacked ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } + + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { + return 0 + } + + // A SessionChange object never has a NULL value in a PK column + + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, a) + a += uintptr(8) + if eType == SQLITE_INTEGER { + if Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) { + return 0 + } + } else { + // var rVal float64 at bp+8, 8 + + libc.X__builtin___memcpy_chk(tls, bp+8 /* &rVal */, bp+16 /* &iVal */, uint64(8), libc.X__builtin_object_size(tls, bp+8 /* &rVal */, 0)) + if Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*float64)(unsafe.Pointer(bp + 8 /* rVal */)) { + return 0 + } + } + } else { + // var n int32 at bp+24, 4 + + var z uintptr + a += uintptr(sessionVarintGet(tls, a, bp+24 /* &n */)) + if Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*int32)(unsafe.Pointer(bp + 24 /* n */)) { + return 0 + } + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + if (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) > 0) && (libc.Xmemcmp(tls, a, z, uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))) != 0) { + return 0 + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* n */))) + } + } + } + + return 1 +} + +// If required, grow the hash table used to store changes on table pTab +// (part of the session pSession). If a fatal OOM error occurs, set the +// session object to failed and return SQLITE_ERROR. Otherwise, return +// SQLITE_OK. +// +// It is possible that a non-fatal OOM error occurs in this function. In +// that case the hash-table does not grow, but SQLITE_OK is returned anyway. +// Growing the hash table in this case is a performance optimization only, +// it is not required for correct operation. +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:207569:12: */ + if ((*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= ((*SessionTable)(unsafe.Pointer(pTab)).FnChange / 2)) { + var i int32 + var apNew uintptr + var nNew Sqlite3_int64 = (int64(2) * (func() int64 { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange != 0 { + return int64((*SessionTable)(unsafe.Pointer(pTab)).FnChange) + } + return int64(128) + }())) + + apNew = sessionMalloc64(tls, + pSession, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew)))) + if apNew == uintptr(0) { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 { + return SQLITE_ERROR + } + return SQLITE_OK + } + libc.X__builtin___memset_chk(tls, apNew, 0, (uint64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew))), libc.X__builtin_object_size(tls, apNew, 0)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNext uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNext { + var bPkOnly int32 = (libc.Bool32((int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_DELETE) && (bPatchset != 0))) + var iHash int32 = int32(sessionChangeHash(tls, pTab, bPkOnly, (*SessionChange)(unsafe.Pointer(p)).FaRecord, int32(nNew))) + pNext = (*SessionChange)(unsafe.Pointer(p)).FpNext + (*SessionChange)(unsafe.Pointer(p)).FpNext = *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) = p + } + } + + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + (*SessionTable)(unsafe.Pointer(pTab)).FnChange = int32(nNew) + (*SessionTable)(unsafe.Pointer(pTab)).FapChange = apNew + } + + return SQLITE_OK +} + +// This function queries the database for the names of the columns of table +// zThis, in schema zDb. +// +// Otherwise, if they are not NULL, variable *pnCol is set to the number +// of columns in the database table and variable *pzTab is set to point to a +// nul-terminated copy of the table name. *pazCol (if not NULL) is set to +// point to an array of pointers to column names. And *pabPK (again, if not +// NULL) is set to point to an array of booleans - true if the corresponding +// column is part of the primary key. +// +// For example, if the table is declared as: +// +// CREATE TABLE tbl1(w, x, y, z, PRIMARY KEY(w, z)); +// +// Then the four output variables are populated as follows: +// +// *pnCol = 4 +// *pzTab = "tbl1" +// *pazCol = {"w", "x", "y", "z"} +// *pabPK = {1, 0, 0, 1} +// +// All returned buffers are part of the same single allocation, which must +// be freed using sqlite3_free() by the caller +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var zPragma uintptr + // var pStmt uintptr at bp+16, 8 + + var rc int32 + var nByte Sqlite3_int64 + var nDbCol int32 = 0 + var nThis int32 + var i int32 + var pAlloc uintptr = uintptr(0) + var azCol uintptr = uintptr(0) + var abPK uintptr = uintptr(0) + + nThis = Xsqlite3Strlen30(tls, zThis) + if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+14517 /* "sqlite_stat1" */, zThis)) { + 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 { + // For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. + zPragma = Xsqlite3_mprintf(tls, + + ts+38506 /* "SELECT 0, 'tbl',..." */, 0) + } else if rc == SQLITE_ERROR { + zPragma = Xsqlite3_mprintf(tls, ts+916 /* "" */, 0) + } else { + return rc + } + } else { + zPragma = Xsqlite3_mprintf(tls, ts+38627 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + } + if !(zPragma != 0) { + return SQLITE_NOMEM + } + + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+16 /* &pStmt */, uintptr(0)) + Xsqlite3_free(tls, zPragma) + if rc != SQLITE_OK { + return rc + } + + nByte = (Sqlite3_int64(nThis + 1)) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) + nDbCol++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + if rc == SQLITE_OK { + nByte = Sqlite3_int64(uint64(nByte) + (uint64(uint64(nDbCol) * ((uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(U8(0)))) + uint64(1))))) + pAlloc = sessionMalloc64(tls, pSession, nByte) + if pAlloc == uintptr(0) { + rc = SQLITE_NOMEM + } + } + if rc == SQLITE_OK { + azCol = pAlloc + pAlloc = (azCol + uintptr(nDbCol)*8) + abPK = pAlloc + pAlloc = (abPK + uintptr(nDbCol)) + if pzTab != 0 { + libc.X__builtin___memcpy_chk(tls, pAlloc, zThis, (uint64(nThis + 1)), libc.X__builtin_object_size(tls, pAlloc, 0)) + *(*uintptr)(unsafe.Pointer(pzTab)) = pAlloc + pAlloc += (uintptr(nThis + 1)) + } + + i = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + if zName == uintptr(0) { + break + } + libc.X__builtin___memcpy_chk(tls, pAlloc, zName, (uint64(nName + 1)), libc.X__builtin_object_size(tls, pAlloc, 0)) + *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc + pAlloc += (uintptr(nName + 1)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 5)) + i++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + } + + // If successful, populate the output variables. Otherwise, zero them and + // free any allocation made. An error code will be returned in this case. + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pazCol)) = azCol + *(*uintptr)(unsafe.Pointer(pabPK)) = abPK + *(*int32)(unsafe.Pointer(pnCol)) = nDbCol + } else { + *(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pabPK)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnCol)) = 0 + if pzTab != 0 { + *(*uintptr)(unsafe.Pointer(pzTab)) = uintptr(0) + } + sessionFree(tls, pSession, azCol) + } + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + return rc +} + +// This function is only called from within a pre-update handler for a +// write to table pTab, part of session pSession. If this is the first +// write to this table, initalize the SessionTable.nCol, azCol[] and +// abPK[] arrays accordingly. +// +// If an error occurs, an error code is stored in sqlite3_session.rc and +// non-zero returned. Or, if no error occurs but the table has no primary +// key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to +// indicate that updates on this table should be ignored. SessionTable.abPK +// is set to NULL in this case. +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:207752:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + if (*SessionTable)(unsafe.Pointer(pTab)).FnCol == 0 { + // var abPK uintptr at bp, 8 + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionTableInfo(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, + (*SessionTable)(unsafe.Pointer(pTab)).FzName, (pTab + 16 /* &.nCol */), uintptr(0), (pTab + 24 /* &.azCol */), bp /* &abPK */) + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc == SQLITE_OK { + var i int32 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* abPK */)) + uintptr(i))) != 0 { + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = *(*uintptr)(unsafe.Pointer(bp /* abPK */)) + break + } + } + if 0 == Xsqlite3_stricmp(tls, ts+14517 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += I64((uint64(((Size_t((1 + sessionVarintLen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + uint64(1)))) + } + } + } + return (libc.Bool32(((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FabPK == uintptr(0)))) +} + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx1 = struct { + Fhook SessionHook + FpSession uintptr +} /* sqlite3.c:207787:9 */ + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:207787:32 */ + +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207792:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207802:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 24 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 32 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = int64(2) + if int32((*SessionChange)(unsafe.Pointer(pC)).Fop) == SQLITE_INSERT { + if op != SQLITE_DELETE { + var ii int32 + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) + } + } + } else if op == SQLITE_DELETE { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + if Xsqlite3_preupdate_blobwrite(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb) >= 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + } + } else { + var ii int32 + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(pC)).FaRecord + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + var bChanged int32 = 1 + var nOld int32 = 0 + var eType int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) + if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { + return SQLITE_NOMEM + } + + eType = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pCsr, 1)))) + switch eType { + case SQLITE_NULL: + bChanged = (libc.Bool32(Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) != SQLITE_NULL)) + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + if eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) = sessionGetI64(tls, pCsr) + if eType == SQLITE_INTEGER { + bChanged = (libc.Bool32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) != Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } else { + // var dVal float64 at bp+24, 8 + + libc.X__builtin___memcpy_chk(tls, bp+24 /* &dVal */, bp+32 /* &iVal */, uint64(8), libc.X__builtin_object_size(tls, bp+24 /* &dVal */, 0)) + bChanged = (libc.Bool32(*(*float64)(unsafe.Pointer(bp + 24 /* dVal */)) != Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } + } + nOld = 8 + pCsr += uintptr(8) + break + + } + fallthrough + + default: + { + // var nByte int32 at bp+40, 4 + + nOld = sessionVarintGet(tls, pCsr, bp+40 /* &nByte */) + pCsr += uintptr(nOld) + nOld = nOld + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + + if ((eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)))) && + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) && + ((*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == 0) || (0 == libc.Xmemcmp(tls, pCsr, Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))), uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)))))) { + bChanged = 0 + } + pCsr += uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + break + + } + } + + if (bChanged != 0) && (*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0) { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = (I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord + 2)) + break + } + + if bChanged != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(1 + nOld)) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)), bp+8 /* &nNew */) + } else if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(2 + nOld)) + } else { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += int64(2) + } + } + } + + if *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) > I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize) { + var nIncr int32 = (int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) - I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize))) + (*SessionChange)(unsafe.Pointer(pC)).FnMaxSize = int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */))) + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += (I64(nIncr)) + } + return SQLITE_OK +} + +// This function is only called from with a pre-update-hook reporting a +// change on table pTab (attached to session pSession). The type of change +// (UPDATE, INSERT, DELETE) is specified by the first argument. +// +// Unless one is already present or an error occurs, an entry is added +// to the changed-rows hash table associated with table pTab. +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:207927:13: */ + bp := tls.Alloc(80) + defer tls.Free(80) + + // var iHash int32 at bp+48, 4 + + // var bNull int32 at bp+52, 4 + + var rc int32 + // var stat1 SessionStat1Ctx at bp, 48 + + var p uintptr + // var p1 uintptr at bp+56, 8 + + // var p2 uintptr at bp+72, 8 + + // Create a new change object containing all the old values (if + // this is an SQLITE_UPDATE or SQLITE_DELETE), or just the PK + // values (if this is an INSERT). + // var nByte Sqlite3_int64 at bp+64, 8 + // Number of bytes to allocate + var i int32 + // Search the hash table for an existing record for this row. + var pC uintptr + *(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) = 0 + rc = SQLITE_OK + *(*SessionStat1Ctx)(unsafe.Pointer(bp /* stat1 */)) = SessionStat1Ctx{} + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) { + goto __1 + } + return +__1: + ; + + // Load table details if required + if !(sessionInitTable(tls, pSession, pTab) != 0) { + goto __2 + } + return +__2: + ; + + // Check the number of columns in this xPreUpdate call matches the + // number of columns in the table. + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 24 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + goto __3 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA + return +__3: + ; + + // Grow the hash table if required + if !(sessionGrowHash(tls, pSession, 0, pTab) != 0) { + goto __4 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_NOMEM + return +__4: + ; + + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __5 + } + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).FpSession = pSession + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = bp /* &stat1 */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1New})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1Old})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Count})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Depth})) + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob == uintptr(0)) { + goto __6 + } + p = Xsqlite3ValueNew(tls, uintptr(0)) + if !(p == uintptr(0)) { + goto __7 + } + rc = SQLITE_NOMEM + goto error_out +__7: + ; + Xsqlite3ValueSetStr(tls, p, 0, ts+916 /* "" */, uint8(0), uintptr(0)) + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p +__6: + ; +__5: + ; + + // Calculate the hash-key for this change. If the primary key of the row + // includes a NULL value, exit early. Such changes are ignored by the + // session module. + rc = sessionPreupdateHash(tls, pSession, pTab, (libc.Bool32(op == SQLITE_INSERT)), bp+48 /* &iHash */, bp+52 /* &bNull */) + if !(rc != SQLITE_OK) { + goto __8 + } + goto error_out +__8: + ; + + if !(*(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) == 0) { + goto __9 + } + pC = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) +__10: + if !(pC != 0) { + goto __12 + } + if !(sessionPreupdateEqual(tls, pSession, pTab, pC, op) != 0) { + goto __13 + } + goto __12 +__13: + ; + goto __11 +__11: + pC = (*SessionChange)(unsafe.Pointer(pC)).FpNext + goto __10 + goto __12 +__12: + ; + + if !(pC == uintptr(0)) { + goto __14 + } // Used to iterate through columns + + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + + // Figure out how large an allocation is required + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = Sqlite3_int64(unsafe.Sizeof(SessionChange{})) + i = 0 +__16: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __18 + } + *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __19 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + + goto __20 +__19: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __21 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + +__21: + ; +__20: + ; + + // This may fail if SQLite value p contains a utf-16 string that must + // be converted to utf-8 and an OOM error occurs while doing so. + rc = sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)), bp+64 /* &nByte */) + if !(rc != SQLITE_OK) { + goto __22 + } + goto error_out +__22: + ; + goto __17 +__17: + i++ + goto __16 + goto __18 +__18: + ; + + // Allocate the change object + pC = sessionMalloc64(tls, pSession, *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + if !(!(pC != 0)) { + goto __23 + } + rc = SQLITE_NOMEM + goto error_out + goto __24 +__23: + libc.X__builtin___memset_chk(tls, pC, 0, uint64(unsafe.Sizeof(SessionChange{})), libc.X__builtin_object_size(tls, pC, 0)) + (*SessionChange)(unsafe.Pointer(pC)).FaRecord = (pC + 1*32) +__24: + ; + + // Populate the change object. None of the preupdate_old(), + // preupdate_new() or SerializeValue() calls below may fail as all + // required values and encodings have already been cached in memory. + // It is not possible for an OOM to occur in this block. + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = int64(0) + i = 0 +__25: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __27 + } + *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __28 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) + goto __29 +__28: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __30 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) +__30: + ; +__29: + ; + sessionSerializeValue(tls, ((*SessionChange)(unsafe.Pointer(pC)).FaRecord + uintptr(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)))), *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)), bp+64 /* &nByte */) + goto __26 +__26: + i++ + goto __25 + goto __27 +__27: + ; + + // Add the change to the hash-table + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + goto __31 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) +__31: + ; + (*SessionChange)(unsafe.Pointer(pC)).FnRecord = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + (*SessionChange)(unsafe.Pointer(pC)).Fop = U8(op) + (*SessionChange)(unsafe.Pointer(pC)).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) = pC + + goto __15 +__14: + if !((*SessionChange)(unsafe.Pointer(pC)).FbIndirect != 0) { + goto __32 + } + // If the existing change is considered "indirect", but this current + // change is "direct", mark the change object as direct. + if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { + goto __33 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(0) +__33: + ; +__32: + ; +__15: + ; + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0) { + goto __34 + } + rc = sessionUpdateMaxSize(tls, op, pSession, pTab, pC) +__34: + ; +__9: + ; + + // If an error has occurred, mark the session object as failed. +error_out: + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __35 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook = (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook +__35: + ; + if !(rc != SQLITE_OK) { + goto __36 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = rc +__36: +} + +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:208076:12: */ + var rc int32 = SQLITE_OK + var nName int32 = Xsqlite3Strlen30(tls, zName) + var pRet uintptr + + // Search for an existing table + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pRet != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pRet)).FzName, zName, (nName+1)) { + break + } + } + + if (pRet == uintptr(0)) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach != 0) { + // If there is a table-filter configured, invoke it. If it returns 0, + // do not automatically add the new table. + if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || + ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 48 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + rc = Xsqlite3session_attach(tls, pSession, zName) + if rc == SQLITE_OK { + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + } + + } + } + } + + *(*uintptr)(unsafe.Pointer(ppTab)) = pRet + return rc +} + +// The 'pre-update' hook registered by this module with SQLite databases. +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:208112:13: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var pSession uintptr + var nDb int32 = Xsqlite3Strlen30(tls, zDb) + + for pSession = pCtx; pSession != 0; pSession = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpNext { + // var pTab uintptr at bp, 8 + + // If this session is attached to a different database ("main", "temp" + // etc.), or if it is not currently enabled, there is nothing to do. Skip + // to the next session object attached to this database. + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable == 0 { + continue + } + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + continue + } + if Xsqlite3_strnicmp(tls, zDb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (nDb+1)) != 0 { + continue + } + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionFindTable(tls, pSession, zName, bp /* &pTab */) + if *(*uintptr)(unsafe.Pointer(bp /* pTab */)) != 0 { + + sessionPreupdateOneChange(tls, op, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + if op == SQLITE_UPDATE { + sessionPreupdateOneChange(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + } + } + } +} + +// The pre-update hook implementations. +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208150:12: */ + return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208153:12: */ + return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208156:12: */ + return Xsqlite3_preupdate_count(tls, pCtx) +} + +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208159:12: */ + return Xsqlite3_preupdate_depth(tls, pCtx) +} + +// Install the pre-update hooks on the session object passed as the only +// argument. +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208167:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateDepth})) +} + +type SessionDiffCtx1 = struct { + FpStmt uintptr + FnOldOff int32 + _ [4]byte +} /* sqlite3.c:208177:9 */ + +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ + +// The diff hook implementations. +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208186:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, (iVal + (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff)) + return SQLITE_OK +} + +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208191:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) + return SQLITE_OK +} + +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208196:12: */ + var p uintptr = pCtx + if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { + return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff + } + return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) +} + +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208200:12: */ + return 0 +} + +// Install the diff hooks on the session object passed as the only +// argument. +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:208208:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffDepth})) +} + +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 916 /* "" */ + var zRet uintptr = uintptr(0) + + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + zRet = Xsqlite3_mprintf(tls, ts+38656, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 25288 /* " AND " */ + if zRet == uintptr(0) { + break + } + } + } + + return zRet +} + +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 916 /* "" */ + var zRet uintptr = uintptr(0) + var bHave int32 = 0 + + for i = 0; i < nCol; i++ { + if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { + bHave = 1 + zRet = Xsqlite3_mprintf(tls, + ts+38690, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 38731 /* " OR " */ + if zRet == uintptr(0) { + break + } + } + } + + if bHave == 0 { + + zRet = Xsqlite3_mprintf(tls, ts+10785 /* "0" */, 0) + } + + return zRet +} + +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var zRet uintptr = Xsqlite3_mprintf(tls, + + ts+38736, /* "SELECT * FROM \"%..." */ + libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) + return zRet +} + +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:208289:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 = SQLITE_OK + var zStmt uintptr = sessionSelectFindNew(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, zDb1, zDb2, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr) + + if zStmt == uintptr(0) { + rc = SQLITE_NOMEM + } else { + // var pStmt uintptr at bp, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp /* &pStmt */, uintptr(0)) + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { + sessionPreupdateOneChange(tls, op, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + + return rc +} + +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var rc int32 = SQLITE_OK + + var zExpr2 uintptr = sessionExprCompareOther(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, + (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (*SessionTable)(unsafe.Pointer(pTab)).FazCol, (*SessionTable)(unsafe.Pointer(pTab)).FabPK) + if zExpr2 == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var zStmt uintptr = Xsqlite3_mprintf(tls, + ts+38814, /* "SELECT * FROM \"%..." */ + 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 + } else { + // var pStmt uintptr at bp+48, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+48 /* &pStmt */, uintptr(0)) + + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) { + sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + } + + return rc +} + +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:208360:16: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var zDb uintptr + var rc int32 + // var d SessionDiffCtx at bp, 16 + + var i int32 + var bHasPk int32 + var bMismatch int32 + // var nCol int32 at bp+24, 4 + // Columns in zFrom.zTbl + // var abPK uintptr at bp+40, 8 + + // var azCol uintptr at bp+32, 8 + + var zExpr uintptr + var db uintptr + // var pTo uintptr at bp+16, 8 + zDb = (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + + libc.X__builtin___memset_chk(tls, bp /* &d */, 0, uint64(unsafe.Sizeof(SessionDiffCtx{})), libc.X__builtin_object_size(tls, bp /* &d */, 0)) + sessionDiffHooks(tls, pSession, bp /* &d */) + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if !(pzErrMsg != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) +__1: + ; + if !(rc == SQLITE_OK) { + goto __2 + } + zExpr = uintptr(0) + db = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Table zTbl + + // Locate and if necessary initialize the target table object + rc = sessionFindTable(tls, pSession, zTbl, bp+16 /* &pTo */) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)) == uintptr(0)) { + goto __3 + } + goto diff_out +__3: + ; + if !(sessionInitTable(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */))) != 0) { + goto __4 + } + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + goto diff_out +__4: + ; + + // Check the table schemas match + if !(rc == SQLITE_OK) { + goto __5 + } + bHasPk = 0 + bMismatch = 0 + *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) = uintptr(0) + rc = sessionTableInfo(tls, uintptr(0), db, zFrom, zTbl, bp+24 /* &nCol */, uintptr(0), bp+32 /* &azCol */, bp+40 /* &abPK */) + if !(rc == SQLITE_OK) { + goto __6 + } + if !((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __7 + } + bMismatch = 1 + goto __8 +__7: + i = 0 +__9: + if !(i < *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __11 + } + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))))) { + goto __12 + } + bMismatch = 1 +__12: + ; + if !(Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol + uintptr(i)*8))) != 0) { + goto __13 + } + bMismatch = 1 +__13: + ; + if !(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))) != 0) { + goto __14 + } + bHasPk = 1 +__14: + ; + goto __10 +__10: + i++ + goto __9 + goto __11 +__11: + ; +__8: + ; +__6: + ; + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */))) + if !(bMismatch != 0) { + goto __15 + } + if !(pzErrMsg != 0) { + goto __16 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+38867 /* "table schemas do..." */, 0) +__16: + ; + rc = SQLITE_SCHEMA +__15: + ; + if !(bHasPk == 0) { + goto __17 + } + // Ignore tables with no primary keys + goto diff_out +__17: + ; +__5: + ; + + if !(rc == SQLITE_OK) { + goto __18 + } + zExpr = sessionExprComparePK(tls, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol, + zDb, zFrom, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FzName, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK) +__18: + ; + + // Find new rows + if !(rc == SQLITE_OK) { + goto __19 + } + rc = sessionDiffFindNew(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zDb, zFrom, zExpr) +__19: + ; + + // Find old rows + if !(rc == SQLITE_OK) { + goto __20 + } + rc = sessionDiffFindNew(tls, SQLITE_DELETE, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zDb, zExpr) +__20: + ; + + // Find modified rows + if !(rc == SQLITE_OK) { + goto __21 + } + rc = sessionDiffFindModified(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zExpr) +__21: + ; + + Xsqlite3_free(tls, zExpr) +__2: + ; + +diff_out: + sessionPreupdateHooks(tls, pSession) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Create a session object. This session object will record changes to +// database zDb attached to connection db. +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:208455:16: */ + var pNew uintptr // Newly allocated session object + var pOld uintptr // Session object already attached to db + var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes + + // Zero the output value in case an error occurs. + *(*uintptr)(unsafe.Pointer(ppSession)) = uintptr(0) + + // Allocate and populate the new session object. + pNew = Xsqlite3_malloc64(tls, (uint64((uint64(unsafe.Sizeof(Sqlite3_session{})) + uint64(nDb)) + uint64(1)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.X__builtin___memset_chk(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_session{})), libc.X__builtin_object_size(tls, pNew, 0)) + (*Sqlite3_session)(unsafe.Pointer(pNew)).Fdb = db + (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb = (pNew + 1*136) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FbEnable = 1 + libc.X__builtin___memcpy_chk(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, zDb, (uint64(nDb + 1)), libc.X__builtin_object_size(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, 0)) + sessionPreupdateHooks(tls, pNew) + + // Add the new session object to the linked list of session objects + // attached to database handle $db. Do this under the cover of the db + // handle mutex. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + pOld = Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), pNew) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FpNext = pOld + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + + *(*uintptr)(unsafe.Pointer(ppSession)) = pNew + return SQLITE_OK +} + +// Free the list of table objects passed as the first argument. The contents +// of the changed-rows hash tables are also deleted. +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:208493:13: */ + var pNext uintptr + var pTab uintptr + + for pTab = pList; pTab != 0; pTab = pNext { + var i int32 + pNext = (*SessionTable)(unsafe.Pointer(pTab)).FpNext + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNextChange uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNextChange { + pNextChange = (*SessionChange)(unsafe.Pointer(p)).FpNext + sessionFree(tls, pSession, p) + } + } + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FazCol) // cast works around VC++ bug + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + sessionFree(tls, pSession, pTab) + } +} + +// Delete a session object previously allocated using sqlite3session_create(). +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208517:17: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + // var pHead uintptr at bp, 8 + + var pp uintptr + + // Unlink the session from the linked list of sessions attached to the + // database handle. Hold the db mutex while doing so. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + *(*uintptr)(unsafe.Pointer(bp /* pHead */)) = Xsqlite3_preupdate_hook(tls, db, uintptr(0), uintptr(0)) + for pp = bp; /* &pHead */ (*(*uintptr)(unsafe.Pointer(pp))) != uintptr(0); pp = (*(*uintptr)(unsafe.Pointer(pp)) + 80 /* &.pNext */) { + if (*(*uintptr)(unsafe.Pointer(pp))) == pSession { + *(*uintptr)(unsafe.Pointer(pp)) = (*Sqlite3_session)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + if *(*uintptr)(unsafe.Pointer(bp /* pHead */)) != 0 { + Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), *(*uintptr)(unsafe.Pointer(bp /* pHead */))) + } + break + } + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + Xsqlite3ValueFree(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob) + + // Delete all attached table objects. And the contents of their + // associated hash-tables. + sessionDeleteTable(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable) + + // Assert that all allocations have been freed and then free the + // session object itself. + + Xsqlite3_free(tls, pSession) +} + +// Set a table filter on a Session Object. +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:208549:17: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter +} + +// Attach a table to a session. All subsequent changes made to the table +// while the session object is enabled will be recorded. +// +// Only tables that have a PRIMARY KEY defined may be attached. It does +// not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) +// or not. +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:208567:16: */ + var rc int32 = SQLITE_OK + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + if !(zName != 0) { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + } else { + var pTab uintptr // New table object (if required) + var nName int32 // Number of bytes in string zName + + // First search for an existing entry. If one is found, this call is + // a no-op. Return early. + nName = Xsqlite3Strlen30(tls, zName) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (nName+1)) { + break + } + } + + if !(pTab != 0) { + // Allocate new SessionTable object. + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionTable{})) + uint64(nName)) + uint64(1))) + pTab = sessionMalloc64(tls, pSession, int64(nByte)) + if !(pTab != 0) { + rc = SQLITE_NOMEM + } else { + // Populate the new SessionTable object and link it into the list. + // The new object must be linked onto the end of the list, not + // simply added to the start of it in order to ensure that tables + // appear in the correct order when a changeset or patchset is + // eventually generated. + var ppTab uintptr + libc.X__builtin___memset_chk(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{})), libc.X__builtin_object_size(tls, pTab, 0)) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = (pTab + 1*56) + libc.X__builtin___memcpy_chk(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (uint64(nName + 1)), libc.X__builtin_object_size(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, 0)) + for ppTab = (pSession + 88 /* &.pTable */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } + } + } + + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Ensure that there is room in the buffer to append nByte bytes of data. +// If not, use sqlite3_realloc() to grow the buffer so that there is. +// +// If successful, return zero. Otherwise, if an OOM condition is encountered, +// set *pRc to SQLITE_NOMEM and return non-zero. +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:208620:12: */ + var nReq I64 = (I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte) + if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc)) { + var aNew uintptr + var nNew I64 + if (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc != 0 { + nNew = int64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) + } else { + nNew = int64(128) + } + + for ok := true; ok; ok = (nNew < nReq) { + nNew = (nNew * int64(2)) + } + + // The value of SESSION_MAX_BUFFER_SZ is copied from the implementation + // of sqlite3_realloc64(). Allocations greater than this size in bytes + // always fail. It is used here to ensure that this routine can always + // allocate up to this limit - instead of up to the largest power of + // two smaller than the limit. + if nNew > (int64(0x7FFFFF00 - 1)) { + nNew = (int64(0x7FFFFF00 - 1)) + if nNew < nReq { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + return 1 + } + } + + aNew = Xsqlite3_realloc64(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf, uint64(nNew)) + if uintptr(0) == aNew { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } else { + (*SessionBuffer)(unsafe.Pointer(p)).FaBuf = aNew + (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc = int32(nNew) + } + } + return (libc.Bool32(*(*int32)(unsafe.Pointer(pRc)) != SQLITE_OK)) +} + +// Append the value passed as the second argument to the buffer passed +// as the first. +// +// This function is a no-op if *pRc is non-zero when it is called. +// Otherwise, if an error occurs, *pRc is set to an SQLite error code +// before returning. +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:208663:13: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, uintptr(0), pVal, bp /* &nByte */) + sessionBufferGrow(tls, p, *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)), bp+8 /* &rc */) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), pVal, uintptr(0)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += int32((*(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)))) + } else { + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) + } + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single byte to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:208685:13: */ + if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { + *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single varint to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:208698:13: */ + if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (sessionVarintPut(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), v)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a blob of data to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:208711:13: */ + if (nBlob > 0) && (0 == sessionBufferGrow(tls, p, int64(nBlob), pRc)) { + libc.X__builtin___memcpy_chk(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), aBlob, uint64(nBlob), libc.X__builtin_object_size(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), 0)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nBlob) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a string to the buffer. All bytes in the string +// up to (but not including) the nul-terminator are written to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208731:13: */ + var nStr int32 = Xsqlite3Strlen30(tls, zStr) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + libc.X__builtin___memcpy_chk(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), zStr, uint64(nStr), libc.X__builtin_object_size(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf+uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), 0)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nStr) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string representation of integer iVal +// to the buffer. No nul-terminator is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aBuf [24]int8 at bp+8, 24 + + Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+8 /* &aBuf[0] */, ts+8016 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string zStr enclosed in quotes (") and +// with any embedded quote characters escaped to the buffer. No +// nul-terminator byte is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208770:13: */ + var nStr int32 = (((Xsqlite3Strlen30(tls, zStr) * 2) + 2) + 1) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + var zOut uintptr = ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)) + var zIn uintptr = zStr + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + for *(*int8)(unsafe.Pointer(zIn)) != 0 { + if int32(*(*int8)(unsafe.Pointer(zIn))) == '"' { + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + (*SessionBuffer)(unsafe.Pointer(p)).FnBuf = (int32((int64(zOut) - int64((*SessionBuffer)(unsafe.Pointer(p)).FaBuf)) / 1)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwse, it appends the serialized version of the value stored +// in column iCol of the row that SQL statement pStmt currently points +// to to the buffer. +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:208795:13: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var eType int32 = Xsqlite3_column_type(tls, pStmt, iCol) + sessionAppendByte(tls, p, U8(eType), pRc) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var i Sqlite3_int64 at bp, 8 + + // var aBuf [8]U8 at bp+16, 8 + + if eType == SQLITE_INTEGER { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */)) = Xsqlite3_column_int64(tls, pStmt, iCol) + } else { + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_column_double(tls, pStmt, iCol) + libc.X__builtin___memcpy_chk(tls, bp /* &i */, bp+8 /* &r */, uint64(8), libc.X__builtin_object_size(tls, bp /* &i */, 0)) + } + sessionPutI64(tls, bp+16 /* &aBuf[0] */, *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */))) + sessionAppendBlob(tls, p, bp+16 /* &aBuf[0] */, 8, pRc) + } + if (eType == SQLITE_BLOB) || (eType == SQLITE_TEXT) { + var z uintptr + var nByte int32 + if eType == SQLITE_BLOB { + z = Xsqlite3_column_blob(tls, pStmt, iCol) + } else { + z = Xsqlite3_column_text(tls, pStmt, iCol) + } + nByte = Xsqlite3_column_bytes(tls, pStmt, iCol) + if (z != 0) || ((eType == SQLITE_BLOB) && (nByte == 0)) { + sessionAppendVarint(tls, p, nByte, pRc) + sessionAppendBlob(tls, p, z, nByte, pRc) + } else { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } + } + } +} + +// +// This function appends an update change to the buffer (see the comments +// under "CHANGESET FORMAT" at the top of the file). An update change +// consists of: +// +// 1 byte: SQLITE_UPDATE (0x17) +// n bytes: old.* record (see RECORD FORMAT) +// m bytes: new.* record (see RECORD FORMAT) +// +// The SessionChange object passed as the third argument contains the +// values that were stored in the row when the session began (the old.* +// values). The statement handle passed as the second argument points +// at the current version of the row (the new.* values). +// +// If all of the old.* values are equal to their corresponding new.* value +// (i.e. nothing has changed), then no data at all is appended to the buffer. +// +// Otherwise, the old.* record contains all primary key values and the +// original values of any fields that have been modified. The new.* record +// contains the new values of only those fields that have been modified. +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:208857:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp + 32 /* buf2 */)) = SessionBuffer{} // Buffer to accumulate new.* record in + var bNoop int32 = 1 // Set to zero if any values are modified + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf // Set to zero if any values are modified + var i int32 // Used to iterate through columns + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord // Used to iterate through old.* values + + sessionAppendByte(tls, pBuf, uint8(SQLITE_UPDATE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + for i = 0; i < Xsqlite3_column_count(tls, pStmt); i++ { + var bChanged int32 = 0 + var nAdvance int32 + var eType int32 = int32(*(*U8)(unsafe.Pointer(pCsr))) + switch eType { + case SQLITE_NULL: + nAdvance = 1 + if Xsqlite3_column_type(tls, pStmt, i) != SQLITE_NULL { + bChanged = 1 + } + break + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + nAdvance = 9 + if eType == Xsqlite3_column_type(tls, pStmt, i) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, (pCsr + 1)) + if eType == SQLITE_INTEGER { + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) == Xsqlite3_column_int64(tls, pStmt, i) { + break + } + } else { + // var dVal float64 at bp+8, 8 + + libc.X__builtin___memcpy_chk(tls, bp+8 /* &dVal */, bp+16 /* &iVal */, uint64(8), libc.X__builtin_object_size(tls, bp+8 /* &dVal */, 0)) + if *(*float64)(unsafe.Pointer(bp + 8 /* dVal */)) == Xsqlite3_column_double(tls, pStmt, i) { + break + } + } + } + bChanged = 1 + break + + } + + default: + { + // var n int32 at bp+24, 4 + + var nHdr int32 = (1 + sessionVarintGet(tls, (pCsr+1), bp+24 /* &n */)) + + nAdvance = (nHdr + *(*int32)(unsafe.Pointer(bp + 24 /* n */))) + if ((eType == Xsqlite3_column_type(tls, pStmt, i)) && + (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == Xsqlite3_column_bytes(tls, pStmt, i))) && + ((*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == 0) || (0 == libc.Xmemcmp(tls, (pCsr+uintptr(nHdr)), Xsqlite3_column_blob(tls, pStmt, i), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))))) { + break + } + bChanged = 1 + + } + } + + // If at least one field has been modified, this is not a no-op. + if bChanged != 0 { + bNoop = 0 + } + + // Add a field to the old.* record. This is omitted if this modules is + // currently generating a patchset. + if bPatchset == 0 { + if (bChanged != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + sessionAppendBlob(tls, pBuf, pCsr, nAdvance, bp /* &rc */) + } else { + sessionAppendByte(tls, pBuf, uint8(0), bp /* &rc */) + } + } + + // Add a field to the new.* record. Or the only record if currently + // generating a patchset. + if (bChanged != 0) || ((bPatchset != 0) && (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0)) { + sessionAppendCol(tls, bp+32 /* &buf2 */, pStmt, i, bp /* &rc */) + } else { + sessionAppendByte(tls, bp+32 /* &buf2 */, uint8(0), bp /* &rc */) + } + + pCsr += uintptr(nAdvance) + } + + if bNoop != 0 { + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = nRewind + } else { + sessionAppendBlob(tls, pBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FnBuf, bp /* &rc */) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Append a DELETE change to the buffer passed as the first argument. Use +// the changeset format if argument bPatchset is zero, or the patchset +// format otherwise. +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:208956:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + + sessionAppendByte(tls, pBuf, uint8(SQLITE_DELETE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + + if bPatchset == 0 { + sessionAppendBlob(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp /* &rc */) + } else { + var i int32 + var a uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord + for i = 0; i < nCol; i++ { + var pStart uintptr = a + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + a += uintptr(8) + break + fallthrough + + default: + { + // var n int32 at bp+4, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+4 /* &n */)) + a += uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* n */))) + break + + } + } + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendBlob(tls, pBuf, pStart, (int32((int64(a) - int64(pStart)) / 1)), bp /* &rc */) + } + } + + } + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Formulate and prepare a SELECT statement to retrieve a row from table +// zTab in database zDb based on its primary key. i.e. +// +// SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + var zSql uintptr = uintptr(0) + var nSql int32 = -1 + + if 0 == Xsqlite3_stricmp(tls, ts+14517 /* "sqlite_stat1" */, zTab) { + zSql = Xsqlite3_mprintf(tls, + + ts+38894 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + if zSql == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_NOMEM + } + } else { + var i int32 + var zSep uintptr = ts + 916 /* "" */ + *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp+8 /* &buf */, ts+39004 /* "SELECT * FROM " */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zDb, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+929 /* "." */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zTab, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+39019 /* " WHERE " */, bp+24 /* &rc */) + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendStr(tls, bp+8 /* &buf */, zSep, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+39027 /* " IS ?" */, bp+24 /* &rc */) + sessionAppendInteger(tls, bp+8 /* &buf */, (i + 1), bp+24 /* &rc */) + zSep = ts + 25288 /* " AND " */ + } + } + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FnBuf + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + } + Xsqlite3_free(tls, zSql) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Bind the PRIMARY KEY values from the change passed in argument pChange +// to the SELECT statement passed as the first argument. The SELECT statement +// is as prepared by function sessionSelectStmt(). +// +// Return SQLITE_OK if all PK values are successfully bound, or an SQLite +// error code (e.g. SQLITE_NOMEM) otherwise. +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:209068:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 + var rc int32 = SQLITE_OK + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord + + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + + case SQLITE_INTEGER: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + var iVal I64 = sessionGetI64(tls, a) + rc = Xsqlite3_bind_int64(tls, pSelect, (i + 1), iVal) + } + a += uintptr(8) + break + + } + + case SQLITE_FLOAT: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + // var rVal float64 at bp, 8 + + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = sessionGetI64(tls, a) + libc.X__builtin___memcpy_chk(tls, bp /* &rVal */, bp+8 /* &iVal */, uint64(8), libc.X__builtin_object_size(tls, bp /* &rVal */, 0)) + rc = Xsqlite3_bind_double(tls, pSelect, (i + 1), *(*float64)(unsafe.Pointer(bp /* rVal */))) + } + a += uintptr(8) + break + + } + + case SQLITE_TEXT: + { + // var n int32 at bp+16, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+16 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_text(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 16 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* n */))) + break + + } + + default: + { + // var n int32 at bp+20, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_blob(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 20 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + break + + } + } + } + + return rc +} + +// This function is a no-op if *pRc is set to other than SQLITE_OK when it +// is called. Otherwise, append a serialized table header (part of the binary +// changeset format) to buffer *pBuf. If an error occurs, set *pRc to an +// SQLite error code before returning. +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:209139:13: */ + // Write a table header + sessionAppendByte(tls, pBuf, func() uint8 { + if bPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), pRc) + sessionAppendVarint(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (int32(libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + 1), pRc) +} + +// Generate either a changeset (if argument bPatchset is zero) or a patchset +// (if it is non-zero) based on the current contents of the session object +// passed as the first argument. +// +// If no error occurs, SQLITE_OK is returned and the new changeset/patchset +// stored in output variables *pnChangeset and *ppChangeset. Or, if an error +// occurs, an SQLite error code is returned and both output variables set +// to 0. +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209162:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Source database handle + var pTab uintptr // Used to iterate through attached tables + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* buf */)) = SessionBuffer{} // Buffer in which to accumlate changeset + // var rc int32 at bp+40, 4 + // Return code + + // Zero the output variables in case an error occurs. If this session + // object is already in the error state (sqlite3_session.rc != SQLITE_OK), + // this call will be a no-op. + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = 0 + *(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0) + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+39033 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) + } + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry != 0 { + var zName uintptr = (*SessionTable)(unsafe.Pointer(pTab)).FzName + // var nCol int32 at bp, 4 + // Number of columns in table + // var abPK uintptr at bp+16, 8 + // Primary key array + *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)) = uintptr(0) // Table columns + var i int32 // Used to iterate through hash buckets + *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)) = uintptr(0) // SELECT statement to query table pTab + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf // Initial size of write buffer + var nNoop int32 // Size of buffer after writing tbl header + + // Check the table schema is still Ok. + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionTableInfo(tls, uintptr(0), db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, bp /* &nCol */, uintptr(0), bp+8 /* &azCol */, bp+16 /* &abPK */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) && (((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp /* nCol */))) || (libc.Xmemcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), (*SessionTable)(unsafe.Pointer(pTab)).FabPK, uint64(*(*int32)(unsafe.Pointer(bp /* nCol */)))) != 0)) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_SCHEMA + } + + // Write a table header + sessionAppendTableHdr(tls, bp+24 /* &buf */, bPatchset, pTab, bp+40 /* &rc */) + + // Build and compile a statement to execute: + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectStmt(tls, + db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), bp+48 /* &pSel */) + } + + nNoop = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + for i = 0; (i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange) && (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK); i++ { + var p uintptr // Used to iterate through changes + + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (p != 0); p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectBind(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), p) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + continue + } + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) == SQLITE_ROW { + if int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_INSERT { + var iCol int32 + sessionAppendByte(tls, bp+24 /* &buf */, uint8(SQLITE_INSERT), bp+40 /* &rc */) + sessionAppendByte(tls, bp+24 /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+40 /* &rc */) + for iCol = 0; iCol < *(*int32)(unsafe.Pointer(bp /* nCol */)); iCol++ { + sessionAppendCol(tls, bp+24 /* &buf */, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), iCol, bp+40 /* &rc */) + } + } else { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendUpdate(tls, bp+24 /* &buf */, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), p, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + } else if int32((*SessionChange)(unsafe.Pointer(p)).Fop) != SQLITE_INSERT { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendDelete(tls, bp+24 /* &buf */, bPatchset, p, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + } + + // If the buffer is now larger than sessions_strm_chunk_size, pass + // its contents to the xOutput() callback. + if (((xOutput != 0) && + (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > nNoop)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + nNoop = -1 + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = 0 + } + + } + } + + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf == nNoop { + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = nRewind + } + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */))) // cast works around VC++ bug + } + } + + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf = uintptr(0) + } else if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + } + } + + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf) + Xsqlite3_exec(tls, db, ts+39053 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Obtain a changeset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209288:16: */ + var rc int32 = sessionGenerateChangeset(tls, pSession, 0, uintptr(0), uintptr(0), pnChangeset, ppChangeset) + + return rc +} + +// Streaming version of sqlite3session_changeset(). +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209303:16: */ + return sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Streaming version of sqlite3session_patchset(). +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209314:16: */ + return sessionGenerateChangeset(tls, pSession, 1, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Obtain a patchset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:209329:16: */ + return sessionGenerateChangeset(tls, pSession, 1, uintptr(0), uintptr(0), pnPatchset, ppPatchset) +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:209340:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bEnable >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable = bEnable + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:209354:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bIndirect >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect = bIndirect + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Return true if there have been no changes to monitored tables recorded +// by the session object passed as the only argument. +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:209369:16: */ + var ret int32 = 0 + var pTab uintptr + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (pTab != 0) && (ret == 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + ret = (libc.Bool32((*SessionTable)(unsafe.Pointer(pTab)).FnEntry > 0)) + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + return (libc.Bool32(ret == 0)) +} + +// Return the amount of heap memory in use. +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209385:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc +} + +// Configure the session object passed as the first argument. +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:209392:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_OBJCONFIG_SIZE: + { + var iArg int32 = *(*int32)(unsafe.Pointer(pArg)) + if iArg >= 0 { + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable != 0 { + rc = SQLITE_MISUSE + } else { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize = (libc.Bool32(iArg != 0)) + } + } + *(*int32)(unsafe.Pointer(pArg)) = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize + break + + } + + default: + rc = SQLITE_MISUSE + } + + return rc +} + +// Return the maximum size of sqlite3session_changeset() output. +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209418:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize +} + +// Do the work for either sqlite3changeset_start() or start_strm(). +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:209425:12: */ + var pRet uintptr // Iterator to return + var nByte int32 // Number of bytes to allocate for iterator + + // Zero the output variable in case an error occurs. + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + + // Allocate and initialize the iterator structure. + nByte = int32(unsafe.Sizeof(Sqlite3_changeset_iter{})) + pRet = Xsqlite3_malloc(tls, nByte) + if !(pRet != 0) { + return SQLITE_NOMEM + } + libc.X__builtin___memset_chk(tls, pRet, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{})), libc.X__builtin_object_size(tls, pRet, 0)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FbEof = func() int32 { + if xInput != 0 { + return 0 + } + return 1 + }() + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbInvert = bInvert + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbSkipEmpty = bSkipEmpty + + // Populate the output variable and return success. + *(*uintptr)(unsafe.Pointer(pp)) = pRet + return SQLITE_OK +} + +// Create an iterator used to iterate through the contents of a changeset. +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:209463:16: */ + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) +} + +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:209470:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) +} + +// Streaming version of sqlite3changeset_start(). +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:209483:16: */ + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) +} + +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:209490:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) +} + +// If the SessionInput object passed as the only argument is a streaming +// object and the buffer is full, discard some data to free up space. +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:209504:13: */ + if ((*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0) && ((*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size) { + var nMove int32 = ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext) + + if nMove > 0 { + libc.X__builtin___memmove_chk(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), uint64(nMove), libc.X__builtin_object_size(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, 0)) + } + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) -= ((*SessionInput)(unsafe.Pointer(pIn)).FiNext) + (*SessionInput)(unsafe.Pointer(pIn)).FiNext = 0 + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } +} + +// Ensure that there are at least nByte bytes available in the buffer. Or, +// if there are not nByte bytes remaining in the input, that all available +// data is in the buffer. +// +// Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:209524:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 { + for (!((*SessionInput)(unsafe.Pointer(pIn)).FbEof != 0) && (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte) >= (*SessionInput)(unsafe.Pointer(pIn)).FnData)) && (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) { + *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) = sessions_strm_chunk_size + + if (*SessionInput)(unsafe.Pointer(pIn)).FbNoDiscard == 0 { + sessionDiscardData(tls, pIn) + } + if SQLITE_OK == sessionBufferGrow(tls, (pIn+32 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 48 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { + (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 + } else { + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) += (*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))) + } + } + + (*SessionInput)(unsafe.Pointer(pIn)).FaData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// When this function is called, *ppRec points to the start of a record +// that contains nCol values. This function advances the pointer *ppRec +// until it points to the byte immediately following that record. +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:209552:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var aRec uintptr = *(*uintptr)(unsafe.Pointer(ppRec)) + var i int32 + for i = 0; i < nCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aRec, 1)))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + aRec += uintptr(sessionVarintGet(tls, aRec, bp /* &nByte */)) + aRec += uintptr(*(*int32)(unsafe.Pointer(bp /* nByte */))) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + aRec += uintptr(8) + } + } + + *(*uintptr)(unsafe.Pointer(ppRec)) = aRec +} + +// This function sets the value of the sqlite3_value object passed as the +// first argument to a copy of the string or blob held in the aData[] +// buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM +// error occurs. +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:209578:12: */ + // In theory this code could just pass SQLITE_TRANSIENT as the final + // argument to sqlite3ValueSetStr() and have the copy created + // automatically. But doing so makes it difficult to detect any OOM + // error. Hence the code to create the copy externally. + var aCopy uintptr = Xsqlite3_malloc64(tls, (uint64(Sqlite3_int64(nData) + int64(1)))) + if aCopy == uintptr(0) { + return SQLITE_NOMEM + } + libc.X__builtin___memcpy_chk(tls, aCopy, aData, uint64(nData), libc.X__builtin_object_size(tls, aCopy, 0)) + Xsqlite3ValueSetStr(tls, pVal, nData, aCopy, enc, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + return SQLITE_OK +} + +// Deserialize a single record from a buffer in memory. See "RECORD FORMAT" +// for details. +// +// When this function is called, *paChange points to the start of the record +// to deserialize. Assuming no error occurs, *paChange is set to point to +// one byte after the end of the same record before this function returns. +// If the argument abPK is NULL, then the record contains nCol values. Or, +// if abPK is other than NULL, then the record contains only the PK fields +// (in other words, it is a patchset DELETE record). +// +// If successful, each element of the apOut[] array (allocated by the caller) +// is set to point to an sqlite3_value object containing the value read +// from the corresponding position in the record. If that value is not +// included in the record (i.e. because the record is part of an UPDATE change +// and the field was not modified), the corresponding element of apOut[] is +// set to NULL. +// +// It is the responsibility of the caller to free all sqlite_value structures +// using sqlite3_free(). +// +// If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +// The apOut[] array may have been partially populated in this case. +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209619:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 // Used to iterate through columns + var rc int32 = SQLITE_OK + + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 1 + } + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = 0 // Type of value (SQLITE_NULL, TEXT etc.) + if (abPK != 0) && (int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0) { + continue + } + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { + rc = Xsqlite3CorruptError(tls, 209637) + } else { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) + + if eType != 0 { + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 0 + } + *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)) = Xsqlite3ValueNew(tls, uintptr(0)) + if !(int32(*(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8))) != 0) { + rc = SQLITE_NOMEM + } + } + } + } + + if rc == SQLITE_OK { + var aVal uintptr = ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (sessionVarintGet(tls, aVal, bp /* &nByte */)) + rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) + if rc == SQLITE_OK { + if (*(*int32)(unsafe.Pointer(bp /* nByte */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nByte */)) > ((*SessionInput)(unsafe.Pointer(pIn)).FnData - (*SessionInput)(unsafe.Pointer(pIn)).FiNext)) { + rc = Xsqlite3CorruptError(tls, 209657) + } else { + var enc U8 = func() uint8 { + if eType == SQLITE_TEXT { + return uint8(SQLITE_UTF8) + } + return uint8(0) + }() + rc = sessionValueSetStr(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), *(*int32)(unsafe.Pointer(bp /* nByte */)), enc) + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nByte */))) + } + } + } + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */)) = sessionGetI64(tls, aVal) + if eType == SQLITE_INTEGER { + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */))) + } else { + // var d float64 at bp+8, 8 + + libc.X__builtin___memcpy_chk(tls, bp+8 /* &d */, bp+16 /* &v */, uint64(8), libc.X__builtin_object_size(tls, bp+8 /* &d */, 0)) + Xsqlite3VdbeMemSetDouble(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*float64)(unsafe.Pointer(bp + 8 /* d */))) + } + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (8) + } + } + } + + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function ensures that all of the above is present in the input +// buffer (i.e. that it can be accessed without any calls to xInput()). +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. +// The input pointer is not moved. +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:209695:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + *(*int32)(unsafe.Pointer(bp /* nCol */)) = 0 + var nRead int32 = 0 + + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + nRead = nRead + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead))), bp /* &nCol */)) + // The hard upper limit for the number of columns in an SQLite + // database table is, according to sqliteLimit.h, 32676. So + // consider any table-header that purports to have more than 65536 + // columns to be corrupt. This is convenient because otherwise, + // if the (nCol>65536) condition below were omitted, a sufficiently + // large value for nCol may cause nRead to wrap around and become + // negative. Leading to a crash. + if (*(*int32)(unsafe.Pointer(bp /* nCol */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nCol */)) > 65536) { + rc = Xsqlite3CorruptError(tls, 209711) + } else { + rc = sessionInputBuffer(tls, pIn, ((nRead + *(*int32)(unsafe.Pointer(bp /* nCol */))) + 100)) + nRead = nRead + (*(*int32)(unsafe.Pointer(bp /* nCol */))) + } + } + + for rc == SQLITE_OK { + for (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData) && (*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead)))) != 0) { + nRead++ + } + if ((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData { + break + } + rc = sessionInputBuffer(tls, pIn, (nRead + 100)) + } + *(*int32)(unsafe.Pointer(pnByte)) = (nRead + 1) + return rc +} + +// The input pointer currently points to the first byte of the first field +// of a record consisting of nCol columns. This function ensures the entire +// record is buffered. It does not move the input pointer. +// +// If successful, SQLITE_OK is returned and *pnByte is set to the size of +// the record in bytes. Otherwise, an SQLite error code is returned. The +// final value of *pnByte is undefined in this case. +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:209738:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var nByte int32 = 0 + var i int32 + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + var eType int32 + rc = sessionInputBuffer(tls, pIn, (nByte + 10)) + if rc == SQLITE_OK { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + libc.PostIncInt32(&nByte, 1)))))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var n int32 at bp, 4 + + nByte = nByte + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte))), bp /* &n */)) + nByte = nByte + (*(*int32)(unsafe.Pointer(bp /* n */))) + rc = sessionInputBuffer(tls, pIn, nByte) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + nByte = nByte + (8) + } + } + } + *(*int32)(unsafe.Pointer(pnByte)) = nByte + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function decodes the table-header and populates the p->nCol, +// p->zTab and p->abPK[] variables accordingly. The p->apValue[] array is +// also allocated or resized according to the new value of p->nCol. The +// input pointer is left pointing to the byte following the table header. +// +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code +// is returned and the final values of the various fields enumerated above +// are undefined. +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209782:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var rc int32 at bp+4, 4 + + // var nCopy int32 at bp, 4 + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetBufferTblhdr(tls, (p /* &.in */), bp /* &nCopy */) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte int32 + var nVarint int32 + nVarint = sessionVarintGet(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), (p + 120 /* &.nCol */)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol > 0 { + *(*int32)(unsafe.Pointer(bp /* nCopy */)) -= nVarint + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (nVarint) + nByte = (int32(((uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol) * uint64(unsafe.Sizeof(uintptr(0)))) * uint64(2)) + uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */))))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 + sessionBufferGrow(tls, (p + 72 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + } else { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 209799) + } + } + + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var iPK Size_t = ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2)) + libc.X__builtin___memset_chk(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0, iPK, libc.X__builtin_object_size(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0)) + libc.X__builtin___memcpy_chk(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + uintptr(iPK)), ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */))), libc.X__builtin_object_size(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf+uintptr(iPK)), 0)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nCopy */))) + } + + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue == uintptr(0) { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = uintptr(0) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = uintptr(0) + } else { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol*2))*8) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) + } + return uintptr(0) + }() + } + return libc.AssignPtrInt32(p+100 /* &.rc */, *(*int32)(unsafe.Pointer(bp + 4 /* rc */))) +} + +// Advance the changeset iterator to the next change. The differences between +// this function and sessionChangesetNext() are that +// +// * If pbEmpty is not NULL and the change is a no-op UPDATE (an UPDATE +// that modifies no columns), this function sets (*pbEmpty) to 1. +// +// * If the iterator is configured to skip no-op UPDATEs, +// sessionChangesetNext() does that. This function does not. +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209831:12: */ + var i int32 + var op U8 + + // If the iterator is in the error-state, return immediately. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // Free the current contents of p->apValue[], if any. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + libc.X__builtin___memset_chk(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2)), libc.X__builtin_object_size(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0)) + } + + // Make sure the buffer contains at least 10 bytes of input data, or all + // remaining data if there are less than 10 bytes available. This is + // sufficient either for the 'T' or 'P' byte and the varint that follows + // it, or for the two single byte values otherwise. + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionInputBuffer(tls, (p /* &.in */), 2) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // If the iterator is already at the end of the changeset, return DONE. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + + sessionDiscardData(tls, (p /* &.in */)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + + op = *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))) + for (int32(op) == 'T') || (int32(op) == 'P') { + if pbNew != 0 { + *(*int32)(unsafe.Pointer(pbNew)) = 1 + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset = (libc.Bool32(int32(op) == 'P')) + if sessionChangesetReadTblhdr(tls, p) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + if libc.AssignPtrInt32(p+100 /* &.rc */, sessionInputBuffer(tls, (p /* &.in */), 2)) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + op = *(*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)).FzTab == uintptr(0)) || (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) { + // The first record in the changeset is not a table header. Must be a + // corrupt changeset. + + return libc.AssignPtrInt32(p+100 /* &.rc */, Xsqlite3CorruptError(tls, 209885)) + } + + (*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 /* &.rc */, Xsqlite3CorruptError(tls, 209891)) + } + + if paRec != 0 { + var nVal int32 // Number of values to buffer + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) && (int32(op) == SQLITE_UPDATE) { + nVal = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2) + } else if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && (int32(op) == SQLITE_DELETE) { + nVal = 0 + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { + nVal++ + } + } + } else { + nVal = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionChangesetBufferRecord(tls, (p /* &.in */), nVal, pnRec) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + *(*uintptr)(unsafe.Pointer(paRec)) = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(pnRec))) + } else { + var apOld uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + } + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + }() + var apNew uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + } + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + }() + + // If this is an UPDATE or DELETE, read the old.* record. + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT) && (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE)) { + var abPK uintptr + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 { + abPK = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + } else { + abPK = uintptr(0) + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, abPK, apOld, uintptr(0)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + // If this is an INSERT or UPDATE, read the new.* record. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, uintptr(0), apNew, pbEmpty) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + if (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_UPDATE) { + // If this is an UPDATE that is part of a patchset, then all PK and + // modified fields are present in the new.* record. The old.* record + // is currently completely empty. This block shifts the PK fields from + // new.* to old.*, to accommodate the code that reads these arrays. + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + + 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 /* &.rc */, Xsqlite3CorruptError(tls, 209935)) + } + *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol))*8)) = uintptr(0) + } + } + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_INSERT { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_DELETE + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_INSERT + } + } + } + + return SQLITE_ROW +} + +// Advance the changeset iterator to the next change. +// +// If both paRec and pnRec are NULL, then this function works like the public +// API sqlite3changeset_next(). If SQLITE_ROW is returned, then the +// sqlite3changeset_new() and old() APIs may be used to query for values. +// +// Otherwise, if paRec and pnRec are not NULL, then a pointer to the change +// record is written to *paRec before returning and the number of bytes in +// the record to *pnRec. +// +// Either way, this function returns SQLITE_ROW if the iterator is +// successfully advanced to the next change in the changeset, an SQLite +// error code if an error occurs, or SQLITE_DONE if there are no further +// changes in the changeset. +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:209964:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var bEmpty int32 at bp, 4 + + var rc int32 + for ok := true; ok; ok = (((rc == SQLITE_ROW) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbSkipEmpty != 0)) && (*(*int32)(unsafe.Pointer(bp /* bEmpty */)) != 0)) { + *(*int32)(unsafe.Pointer(bp /* bEmpty */)) = 0 + rc = sessionChangesetNextOne(tls, p, paRec, pnRec, pbNew, bp /* &bEmpty */) + } + return rc +} + +// Advance an iterator created by sqlite3changeset_start() to the next +// change in the changeset. This function may return SQLITE_ROW, SQLITE_DONE +// or SQLITE_CORRUPT. +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209987:16: */ + return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) +} + +// The following function extracts information on the current change +// from a changeset iterator. It may only be called after changeset_next() +// has returned SQLITE_ROW. +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:209996:16: */ + *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + if pbIndirect != 0 { + *(*int32)(unsafe.Pointer(pbIndirect)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect + } + return SQLITE_OK +} + +// Return information regarding the PRIMARY KEY and number of columns in +// the database table affected by the change that pIter currently points +// to. This function may only be called after changeset_next() returns +// SQLITE_ROW. +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:210016:16: */ + *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + if pnCol != 0 { + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + } + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_DELETE change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the old.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified and is not a PK column), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210039:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(iVal)*8)) + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_INSERT change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the new.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210067:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+iVal))*8)) + return SQLITE_OK +} + +// The following two macros are used internally. They are similar to the +// sqlite3changeset_new() and sqlite3changeset_old() functions, except that +// they omit all error checking and return a pointer to the requested value. + +// This function may only be called with a changeset iterator that has been +// passed to an SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT +// conflict-handler function. Otherwise, SQLITE_MISUSE is returned. +// +// If successful, *ppValue is set to point to an sqlite3_value structure +// containing the iVal'th value of the conflicting record. +// +// If value iVal is out-of-range or some other error occurs, an SQLite error +// code is returned. Otherwise, SQLITE_OK. +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210101:16: */ + if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = Xsqlite3_column_value(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict, iVal) + return SQLITE_OK +} + +// This function may only be called with an iterator passed to an +// SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +// it sets the output variable to the total number of known foreign key +// violations in the destination database and returns SQLITE_OK. +// +// In all other cases this function returns SQLITE_MISUSE. +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:210124:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0) { + return SQLITE_MISUSE + } + *(*int32)(unsafe.Pointer(pnOut)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + return SQLITE_OK +} + +// Finalize an iterator allocated with sqlite3changeset_start(). +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:210142:16: */ + var rc int32 = SQLITE_OK + if p != 0 { + var i int32 // Used to iterate through p->apValue[] + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + } + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf) + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.Fbuf.FaBuf) + Xsqlite3_free(tls, p) + } + return rc +} + +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210157:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + // var rc int32 at bp+40, 4 + // Return value + // var sOut SessionBuffer at bp, 16 + // Output buffer + // var nCol int32 at bp+20, 4 + // Number of cols in current table + var abPK uintptr // PK array for current table + var apVal uintptr // Space for values for UPDATE inversion + // var sPK SessionBuffer at bp+24, 16 + + // A 'table' record consists of: + // + // * A constant 'T' character, + // * Number of columns in said table (a varint), + // * An array of nCol bytes (sPK), + // * A nul-terminated table name. + // var nByte int32 at bp+16, 4 + + var nVar int32 + // var nByte1 int32 at bp+44, 4 + + var bIndirect int32 + var eType2 int32 + var pVal uintptr + var pVal1 uintptr + var iCol int32 + var eType U8 + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) = 0 + abPK = uintptr(0) + apVal = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* sPK */)) = SessionBuffer{} // PK array for current table + + // Initialize the output buffer + libc.X__builtin___memset_chk(tls, bp /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{})), libc.X__builtin_object_size(tls, bp /* &sOut */, 0)) + + // Zero the output variables in case an error occurs. + if !(ppInverted != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(ppInverted)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnInverted)) = 0 +__1: + ; + +__2: + if !(1 != 0) { + goto __3 + } + + // Test for EOF. + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionInputBuffer(tls, pInput, 2)) != 0) { + goto __4 + } + goto finished_invert +__4: + ; + if !((*SessionInput)(unsafe.Pointer(pInput)).FiNext >= (*SessionInput)(unsafe.Pointer(pInput)).FnData) { + goto __5 + } + goto __3 +__5: + ; + eType = *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext))) + + switch int32(eType) { + case 'T': + goto __7 + + case SQLITE_INSERT: + goto __8 + case SQLITE_DELETE: + goto __9 + + case SQLITE_UPDATE: + goto __10 + + default: + goto __11 + } + goto __6 +__7: + (*SessionInput)(unsafe.Pointer(pInput)).FiNext++ + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionChangesetBufferTblhdr(tls, pInput, bp+16 /* &nByte */)) != 0) { + goto __12 + } + goto finished_invert +__12: + ; + nVar = sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), bp+20 /* &nCol */) + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FnBuf = 0 + sessionAppendBlob(tls, bp+24 /* &sPK */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + nVar))), *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 16 /* nByte */)), bp+40 /* &rc */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __13 + } + goto finished_invert +__13: + ; + + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 16 /* nByte */))) + Xsqlite3_free(tls, apVal) + apVal = uintptr(0) + abPK = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FaBuf + goto __6 + +__8: +__9: + bIndirect = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1))))) + eType2 = func() int32 { + if int32(eType) == SQLITE_DELETE { + return SQLITE_INSERT + } + return SQLITE_DELETE + }() + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionChangesetBufferRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+44 /* &nByte1 */) + sessionAppendByte(tls, bp /* &sOut */, uint8(eType2), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, uint8(bIndirect), bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */)), bp+40 /* &rc */) + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __14 + } + goto finished_invert +__14: + ; + goto __6 + +__10: + + if !(uintptr(0) == apVal) { + goto __15 + } + apVal = Xsqlite3_malloc64(tls, (uint64((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2)))) + if !(uintptr(0) == apVal) { + goto __16 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_NOMEM + goto finished_invert +__16: + ; + libc.X__builtin___memset_chk(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2)), libc.X__builtin_object_size(tls, apVal, 0)) +__15: + ; + + // Write the header for the new UPDATE change. Same as the original. + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1)))), bp+40 /* &rc */) + + // Read the old.* and new.* records for the update change. + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal), uintptr(0)) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) { + goto __17 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal + uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))*8), uintptr(0)) +__17: + ; + + // Write the new old.* record. Consists of the PK columns from the + // original old.* record, and the other values from the original + // new.* record. + iCol = 0 +__18: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __20 + } + pVal = *(*uintptr)(unsafe.Pointer(apVal + uintptr((iCol+(func() int32 { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return 0 + } + return *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) + }())))*8)) + sessionAppendValue(tls, bp /* &sOut */, pVal, bp+40 /* &rc */) + goto __19 +__19: + iCol++ + goto __18 + goto __20 +__20: + ; + + // Write the new new.* record. Consists of a copy of all values + // from the original old.* record, except for the PK columns, which + // are set to "undefined". + iCol = 0 +__21: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __23 + } + pVal1 = func() uintptr { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return uintptr(0) + } + return *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8)) + }() + sessionAppendValue(tls, bp /* &sOut */, pVal1, bp+40 /* &rc */) + goto __22 +__22: + iCol++ + goto __21 + goto __23 +__23: + ; + + iCol = 0 +__24: + if !(iCol < (*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) * 2)) { + goto __26 + } + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8))) + goto __25 +__25: + iCol++ + goto __24 + goto __26 +__26: + ; + libc.X__builtin___memset_chk(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2)), libc.X__builtin_object_size(tls, apVal, 0)) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __27 + } + goto finished_invert +__27: + ; + + goto __6 + +__11: + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 210284) + goto finished_invert +__6: + ; + + if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { + goto __28 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __29 + } + goto finished_invert +__29: + ; +__28: + ; + goto __2 +__3: + ; + + if !(pnInverted != 0) { + goto __30 + } + *(*int32)(unsafe.Pointer(pnInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf = uintptr(0) + goto __31 +__30: + if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { + goto __32 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) +__32: + ; +__31: + ; + +finished_invert: + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf) + Xsqlite3_free(tls, apVal) + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &sPK */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Invert a changeset object. +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210316:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + // Set up the input stream + libc.X__builtin___memset_chk(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{})), libc.X__builtin_object_size(tls, bp /* &sInput */, 0)) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FnData = nChangeset + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FaData = pChangeset + + return sessionChangesetInvert(tls, bp /* &sInput */, uintptr(0), uintptr(0), pnInverted, ppInverted) +} + +// Streaming version of sqlite3changeset_invert(). +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:210335:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + var rc int32 + + // Set up the input stream + libc.X__builtin___memset_chk(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{})), libc.X__builtin_object_size(tls, bp /* &sInput */, 0)) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FxInput = xInput + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FpIn = pIn + + rc = sessionChangesetInvert(tls, bp /* &sInput */, xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3_free(tls, (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).Fbuf.FaBuf) + return rc +} + +type SessionUpdate1 = struct { + FpStmt uintptr + FaMask uintptr + FpNext uintptr +} /* sqlite3.c:210355:9 */ + +type SessionUpdate = SessionUpdate1 /* sqlite3.c:210355:30 */ + +type SessionApplyCtx1 = struct { + Fdb uintptr + FpDelete uintptr + FpInsert uintptr + FpSelect uintptr + FnCol int32 + _ [4]byte + FazCol uintptr + FabPK uintptr + FaUpdateMask uintptr + FpUp uintptr + FbStat1 int32 + FbDeferConstraints int32 + FbInvertConstraints int32 + _ [4]byte + Fconstraints SessionBuffer + Frebase SessionBuffer + FbRebaseStarted U8 + FbRebase U8 + _ [6]byte +} /* sqlite3.c:210362:9 */ + +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ + +// Number of prepared UPDATE statements to cache. + +// Find a prepared UPDATE statement suitable for the UPDATE step currently +// being visited by the iterator. The UPDATE is of the form: +// +// UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:210391:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var pUp uintptr = uintptr(0) + var nCol int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + var nU32 int32 = (((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + 33) / 32) + var ii int32 + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = Xsqlite3_malloc(tls, (int32(uint64(nU32) * uint64(unsafe.Sizeof(U32(0)))))) + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + libc.X__builtin___memset_chk(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0, (uint64(nU32) * uint64(unsafe.Sizeof(U32(0)))), libc.X__builtin_object_size(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0)) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_CORRUPT + for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ { + if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(ii)))*8)) != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((ii/32))*4)) |= (U32(int32(1) << (ii % 32))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if bPatchset != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((nCol/32))*4)) |= (U32(int32(1) << (nCol % 32))) + } + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp != 0 { + var nUp int32 = 0 + var pp uintptr = (p + 64 /* &.pUp */) + for 1 != 0 { + nUp++ + if 0 == libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaMask, (uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))) { + pUp = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + break + } + + if (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext != 0 { + pp = (*(*uintptr)(unsafe.Pointer(pp)) + 16 /* &.pNext */) + } else { + if nUp >= SESSION_UPDATE_CACHE_SZ { + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpStmt) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pp))) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + } + break + } + } + } + + if pUp == uintptr(0) { + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionUpdate{})) * uint64(nU32)) * uint64(unsafe.Sizeof(U32(0))))) + var bStat1 int32 = (libc.Bool32(Xsqlite3_stricmp(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, ts+14517 /* "sqlite_stat1" */) == 0)) + pUp = Xsqlite3_malloc(tls, nByte) + if pUp == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } else { + var zSep uintptr = ts + 916 /* "" */ + // var buf SessionBuffer at bp, 16 + + libc.X__builtin___memset_chk(tls, bp /* &buf */, 0, uint64(unsafe.Sizeof(SessionBuffer{})), libc.X__builtin_object_size(tls, bp /* &buf */, 0)) + (*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 /* &buf */, ts+39071 /* "UPDATE main." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+39084 /* " SET " */, bp+16 /* &rc */) + + // Create the assignments part of the UPDATE + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+39090 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+16 /* &rc */) + zSep = ts + 17804 /* ", " */ + } + } + + // Create the WHERE clause part of the UPDATE + zSep = ts + 916 /* "" */ + sessionAppendStr(tls, bp /* &buf */, ts+39019 /* " WHERE " */, bp+16 /* &rc */) + 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 /* &buf */, zSep, bp+16 /* &rc */) + if (bStat1 != 0) && (ii == 1) { + + sessionAppendStr(tls, bp, /* &buf */ + + ts+39095 /* "idx IS CASE WHEN..." */, bp+16 /* &rc */) + } else { + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+39027 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 2), bp+16 /* &rc */) + } + zSep = ts + 25288 /* " AND " */ + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + var zSql uintptr = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, zSql, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (pUp /* &.pStmt */), uintptr(0)) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, pUp) + pUp = uintptr(0) + } else { + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + } + } + } + + if pUp != 0 { + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt + } else { + *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) + } + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Free all cached UPDATE statements. +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:210530:13: */ + var pUp uintptr + var pNext uintptr + for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { + pNext = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt) + Xsqlite3_free(tls, pUp) + } + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = uintptr(0) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask) + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = uintptr(0) +} + +// Formulate a statement to DELETE a row from database db. Assuming a table +// structure like this: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The DELETE statement looks like this: +// +// DELETE FROM x WHERE a = :1 AND c = :3 AND (:5 OR b IS :2 AND d IS :4) +// +// Variable :5 (nCol+1) is a boolean. It should be set to 0 if we require +// matching b and d values, or 1 otherwise. The second case comes up if the +// conflict handler is invoked with NOTFOUND and returns CHANGESET_REPLACE. +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left +// pointing to the prepared version of the SQL statement. +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210560:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var i int32 + var zSep uintptr = ts + 916 /* "" */ + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var nPk int32 = 0 + + sessionAppendStr(tls, bp /* &buf */, ts+39170 /* "DELETE FROM main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+39019 /* " WHERE " */, bp+16 /* &rc */) + + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+39090 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 25288 /* " AND " */ + } + } + + if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { + sessionAppendStr(tls, bp /* &buf */, ts+39188 /* " AND (?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((*SessionApplyCtx)(unsafe.Pointer(p)).FnCol + 1), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+38731 /* " OR " */, bp+16 /* &rc */) + + zSep = ts + 916 /* "" */ + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+39027 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 39196 /* "AND " */ + } + } + sessionAppendStr(tls, bp /* &buf */, ts+8058 /* ")" */, bp+16 /* &rc */) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 8 /* &.pDelete */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Formulate and prepare an SQL statement to query table zTab by primary +// key. Assuming the following table structure: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The SELECT statement looks like this: +// +// SELECT * FROM x WHERE a = ?1 AND c = ?3 +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left +// pointing to the prepared version of the SQL statement. +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210625:12: */ + return sessionSelectStmt(tls, + db, ts+9737 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 24 /* &.pSelect */)) +} + +// Formulate and prepare an INSERT statement to add a record to table zTab. +// For example: +// +// INSERT INTO main."zTab" VALUES(?1, ?2, ?3 ...); +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left +// pointing to the prepared version of the SQL statement. +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210643:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var i int32 + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp /* &buf */, ts+39201 /* "INSERT INTO main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+25294 /* "(" */, bp+16 /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + if i != 0 { + sessionAppendStr(tls, bp /* &buf */, ts+17804 /* ", " */, bp+16 /* &rc */) + } + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + } + + sessionAppendStr(tls, bp /* &buf */, ts+39219 /* ") VALUES(?" */, bp+16 /* &rc */) + for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + sessionAppendStr(tls, bp /* &buf */, ts+39230 /* ", ?" */, bp+16 /* &rc */) + } + sessionAppendStr(tls, bp /* &buf */, ts+8058 /* ")" */, bp+16 /* &rc */) + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 16 /* &.pInsert */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:210673:12: */ + return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) +} + +// Prepare statements for applying changes to the sqlite_stat1 table. +// These are similar to those created by sessionSelectRow(), +// sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for +// other tables. +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:210683:12: */ + var rc int32 = sessionSelectRow(tls, db, ts+14517 /* "sqlite_stat1" */, p) + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 16 /* &.pInsert */), + + ts+39234 /* "INSERT INTO main..." */) + } + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 8 /* &.pDelete */), + + ts+39347 /* "DELETE FROM main..." */) + } + return rc +} + +// A wrapper around sqlite3_bind_value() that detects an extra problem. +// See comments in the body of this function for details. +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:210706:12: */ + var eType int32 = Xsqlite3_value_type(tls, pVal) + // COVERAGE: The (pVal->z==0) branch is never true using current versions + // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either + // the (pVal->z) variable remains as it was or the type of the value is + // set to SQLITE_NULL. + if ((eType == SQLITE_TEXT) || (eType == SQLITE_BLOB)) && ((*Sqlite3_value)(unsafe.Pointer(pVal)).Fz == uintptr(0)) { + // This condition occurs when an earlier OOM in a call to + // sqlite3_value_text() or sqlite3_value_blob() (perhaps from within + // a conflict-handler) has zeroed the pVal->z pointer. Return NOMEM. + return SQLITE_NOMEM + } + return Xsqlite3_bind_value(tls, pStmt, i, pVal) +} + +// Iterator pIter must point to an SQLITE_INSERT entry. This function +// transfers new.* values from the current iterator entry to statement +// pStmt. The table being inserted into has nCol columns. +// +// New.* value $i from the iterator is bound to variable ($i+1) of +// statement pStmt. If parameter abPK is NULL, all values from 0 to (nCol-1) +// are transfered to the statement. Otherwise, if abPK is not NULL, it points +// to an array nCol elements in size. In this case only those values for +// which abPK[$i] is true are read from the iterator and bound to the +// statement. +// +// An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK. +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:210739:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var i int32 + var rc int32 = SQLITE_OK + + // Neither sqlite3changeset_old or sqlite3changeset_new can fail if the + // argument iterator points to a suitable entry. Make sure that xValue + // is one of these to guarantee that it is safe to ignore the return + // in the code below. + + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + // var pVal uintptr at bp, 8 + + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { + // The value in the changeset was "undefined". This indicates a + // corrupt changeset blob. + rc = Xsqlite3CorruptError(tls, 210762) + } else { + rc = sessionBindValue(tls, pStmt, (i + 1), *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + } + } + return rc +} + +// SQL statement pSelect is as generated by the sessionSelectRow() function. +// This function binds the primary key values from the change that changeset +// iterator pIter points to to the SELECT and attempts to seek to the table +// entry. If a row is found, the SELECT statement left pointing at the row +// and SQLITE_ROW is returned. Otherwise, if no row is found and no error +// has occured, the statement is reset and SQLITE_OK is returned. If an +// error occurs, the statement is reset and an SQLite error code is returned. +// +// If this function returns SQLITE_ROW, the caller must eventually reset() +// statement pSelect. If any other value is returned, the statement does +// not require a reset(). +// +// If the iterator currently points to an INSERT record, bind values from the +// new.* record to the SELECT statement. Or, if it points to a DELETE or +// UPDATE, bind values from the old.* record. +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:210788:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var rc int32 // Return code + // var nCol int32 at bp+8, 4 + // Number of columns in table + // var op int32 at bp+12, 4 + // Changset operation (SQLITE_UPDATE etc.) + // var zDummy uintptr at bp, 8 + // Unused + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + rc = sessionBindRow(tls, pIter, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})) + } + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})) + }(), + *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, pSelect) + + if rc == SQLITE_OK { + rc = Xsqlite3_step(tls, pSelect) + if rc != SQLITE_ROW { + rc = Xsqlite3_reset(tls, pSelect) + } + } + + return rc +} + +// This function is called from within sqlite3changeset_apply_v2() when +// a conflict is encountered and resolved using conflict resolution +// mode eType (either SQLITE_CHANGESET_OMIT or SQLITE_CHANGESET_REPLACE).. +// It adds a conflict resolution record to the buffer in +// SessionApplyCtx.rebase, which will eventually be returned to the caller +// of apply_v2() as the "rebase" buffer. +// +// Return SQLITE_OK if successful, or an SQLite error code otherwise. +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:210823:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebase != 0 { + var i int32 + var eOp int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + if int32((*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted) == 0 { + // Append a table-header to the rebase buffer + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + sessionAppendByte(tls, (p + 104 /* &.rebase */), uint8('T'), bp /* &rc */) + sessionAppendVarint(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), zTab, (int32(libc.Xstrlen(tls, zTab)) + 1), bp /* &rc */) + (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted = U8(1) + } + + sessionAppendByte(tls, (p + 104 /* &.rebase */), + func() uint8 { + if eOp == SQLITE_DELETE { + return uint8(SQLITE_DELETE) + } + return uint8(SQLITE_INSERT) + }(), bp /* &rc */) + sessionAppendByte(tls, (p + 104 /* &.rebase */), (uint8(libc.Bool32(eType == SQLITE_CHANGESET_REPLACE))), bp /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)) = uintptr(0) + if (eOp == SQLITE_DELETE) || ((eOp == SQLITE_UPDATE) && (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0)) { + Xsqlite3changeset_old(tls, pIter, i, bp+8 /* &pVal */) + } else { + Xsqlite3changeset_new(tls, pIter, i, bp+8 /* &pVal */) + } + sessionAppendValue(tls, (p + 104 /* &.rebase */), *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)), bp /* &rc */) + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Invoke the conflict handler for the change that the changeset iterator +// currently points to. +// +// Argument eType must be either CHANGESET_DATA or CHANGESET_CONFLICT. +// If argument pbReplace is NULL, then the type of conflict handler invoked +// depends solely on eType, as follows: +// +// eType value Value passed to xConflict +// ------------------------------------------------- +// CHANGESET_DATA CHANGESET_NOTFOUND +// CHANGESET_CONFLICT CHANGESET_CONSTRAINT +// +// Or, if pbReplace is not NULL, then an attempt is made to find an existing +// record with the same primary key as the record about to be deleted, updated +// or inserted. If such a record can be found, it is available to the conflict +// handler as the "conflicting" record. In this case the type of conflict +// handler invoked is as follows: +// +// eType value PK Record found? Value passed to xConflict +// ---------------------------------------------------------------- +// CHANGESET_DATA Yes CHANGESET_DATA +// CHANGESET_DATA No CHANGESET_NOTFOUND +// CHANGESET_CONFLICT Yes CHANGESET_CONFLICT +// CHANGESET_CONFLICT No CHANGESET_CONSTRAINT +// +// If pbReplace is not NULL, and a record with a matching PK is found, and +// the conflict handler function returns SQLITE_CHANGESET_REPLACE, *pbReplace +// is set to non-zero before returning SQLITE_OK. +// +// If the conflict handler returns SQLITE_CHANGESET_ABORT, SQLITE_ABORT is +// returned. Or, if the conflict handler returns an invalid value, +// SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT, +// this function returns SQLITE_OK. +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:210897:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var res int32 = 0 // Value returned by conflict handler + // var rc int32 at bp+16, 4 + + // var nCol int32 at bp+8, 4 + + // var op int32 at bp+12, 4 + + // var zDummy uintptr at bp, 8 + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + // Bind the new.* PRIMARY KEY values to the SELECT statement. + if pbReplace != 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_ROW { + // There exists another row with the new.* primary key. + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if ((*SessionApplyCtx)(unsafe.Pointer(p)).FbDeferConstraints != 0) && (eType == SQLITE_CHANGESET_CONFLICT) { + // Instead of invoking the conflict handler, append the change blob + // to the SessionApplyCtx.constraints buffer. + var aBlob uintptr = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent)) + var nBlob int32 = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent) + sessionAppendBlob(tls, (p + 88 /* &.constraints */), aBlob, nBlob, bp+16 /* &rc */) + return SQLITE_OK + } else { + // No other row with the new.* primary key. + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + if res == SQLITE_CHANGESET_REPLACE { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + switch res { + case SQLITE_CHANGESET_REPLACE: + + *(*int32)(unsafe.Pointer(pbReplace)) = 1 + break + fallthrough + + case SQLITE_CHANGESET_OMIT: + break + fallthrough + + case SQLITE_CHANGESET_ABORT: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ABORT + break + fallthrough + + default: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + break + } + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionRebaseAdd(tls, p, res, pIter) + } + } + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// If argument pbRetry is NULL, then ignore any CHANGESET_DATA conflict. If +// one is encountered, update or delete the row with the matching primary key +// instead. Or, if pbRetry is not NULL and a CHANGESET_DATA conflict occurs, +// invoke the conflict handler. If it returns CHANGESET_REPLACE, set *pbRetry +// to true before returning. In this case the caller will invoke this function +// again, this time with pbRetry set to NULL. +// +// If argument pbReplace is NULL and a CHANGESET_CONFLICT conflict is +// encountered invoke the conflict handler with CHANGESET_CONSTRAINT instead. +// Or, if pbReplace is not NULL, invoke it with CHANGESET_CONFLICT. If such +// an invocation returns SQLITE_CHANGESET_REPLACE, set *pbReplace to true +// before retrying. In this case the caller attempts to remove the conflicting +// row before invoking this function again, this time with pbReplace set +// to NULL. +// +// If any conflict handler returns SQLITE_CHANGESET_ABORT, this function +// returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is +// returned. +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:210995:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + // var zDummy uintptr at bp, 8 + + // var op int32 at bp+12, 4 + + // var nCol int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_DELETE { + + // Bind values to the DELETE statement. If conflict handling is required, + // bind values for all columns and set bound variable (nCol+1) to true. + // Or, if conflict handling is not required, bind just the PK column + // values and, if it exists, set (nCol+1) to false. Conflict handling + // is not required if: + // + // * this is a patchset, or + // * (pbRetry==0), or + // * all columns of the table are PK columns (in this case there is + // no (nCol+1) variable to bind to). + var abPK uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + } + return uintptr(0) + }() + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_bind_parameter_count(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) > *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))) { + rc = Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete, (*(*int32)(unsafe.Pointer(bp + 8 /* nCol */)) + 1), (libc.Bool32((pbRetry == uintptr(0)) || (abPK != 0)))) + } + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_UPDATE { + var i int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)) = uintptr(0) + var bPatchset int32 = (libc.Bool32((pbRetry == uintptr(0)) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0))) + + rc = sessionUpdateFind(tls, pIter, p, bPatchset, bp+16 /* &pUp */) + + // Bind values to the UPDATE statement. + for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))); i++ { + var pOld uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(i)*8)) + var pNew uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(i)))*8)) + if (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) || ((bPatchset == 0) && (pOld != 0)) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 2), pOld) + } + if (rc == SQLITE_OK) && (pNew != 0) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 1), pNew) + } + } + if rc != SQLITE_OK { + return rc + } + + // Attempt the UPDATE. In the case of a NOTFOUND or DATA conflict, + // the result will be SQLITE_OK with 0 rows modified. + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + // A NOTFOUND or DATA error. Search the table to see if it contains + // a row with a matching primary key. If so, this is a DATA conflict. + // Otherwise, if there is no primary key match, it is a NOTFOUND. + + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + // This is always a CONSTRAINT conflict. + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else { + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbStat1 != 0 { + // Check if there is a conflicting row. For sqlite_stat1, this needs + // to be done using a SELECT, as there is no PRIMARY KEY in the + // database schema to throw an exception if a duplicate is inserted. + rc = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + if rc == SQLITE_ROW { + rc = SQLITE_CONSTRAINT + Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } + } + + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), uintptr(0), (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + } + + if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace) + } + } + + return rc +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// The difference between this function and sessionApplyOne() is that this +// function handles the case where the conflict-handler is invoked and +// returns SQLITE_CHANGESET_REPLACE - indicating that the change should be +// retried in some manner. +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211128:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) = 0 + var rc int32 + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp /* &bReplace */, bp+4 /* &bRetry */) + if rc == SQLITE_OK { + // If the bRetry flag is set, the change has not been applied due to an + // SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and + // a row with the correct PK is present in the db, but one or more other + // fields do not contain the expected values) and the conflict handler + // returned SQLITE_CHANGESET_REPLACE. In this case retry the operation, + // but pass NULL as the final argument so that sessionApplyOneOp() ignores + // the SQLITE_CHANGESET_DATA problem. + if *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) != 0 { + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } else if *(*int32)(unsafe.Pointer(bp /* bReplace */)) != 0 { + + rc = Xsqlite3_exec(tls, db, ts+39491 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(0)) + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, ((*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + 1), 1) + } + if rc == SQLITE_OK { + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + } + if rc == SQLITE_OK { + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+39512 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + } + + return rc +} + +// Retry the changes accumulated in the pApply->constraints buffer. +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211185:12: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK + + for (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf != 0 { + *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) = uintptr(0) + var cons = (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints + libc.X__builtin___memset_chk(tls, (pApply + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{})), libc.X__builtin_object_size(tls, (pApply+88 /* &.constraints */), 0)) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionChangesetStart(tls, + bp /* &pIter2 */, uintptr(0), uintptr(0), cons.FnBuf, cons.FaBuf, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbInvertConstraints, 1) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + var nByte Size_t = ((uint64(2 * (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol)) * uint64(unsafe.Sizeof(uintptr(0)))) + var rc2 int32 + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FbPatchset = bPatchset + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FzTab = zTab + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FnCol = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FabPK = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK + sessionBufferGrow(tls, (*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) + 72 /* &.tblhdr */), int64(nByte), bp+8 /* &rc */) + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).Ftblhdr.FaBuf + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + libc.X__builtin___memset_chk(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0, nByte, libc.X__builtin_object_size(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0)) + } + + for (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))) { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)), pApply, xConflict, pCtx) + } + + rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */))) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = rc2 + } + } + + Xsqlite3_free(tls, cons.FaBuf) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) != SQLITE_OK { + break + } + if (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf >= cons.FnBuf { + // No progress was made on the last round. + (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbDeferConstraints = 0 + } + } + + return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) +} + +// Argument pIter is a changeset iterator that has been initialized, but +// not yet passed to sqlite3changeset_next(). This function applies the +// changeset to the main database attached to handle "db". The supplied +// conflict handler callback is invoked to resolve any conflicts encountered +// while applying the change. +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ + bp := tls.Alloc(368) + defer tls.Free(368) + + var schemaMismatch int32 = 0 + var rc int32 = SQLITE_OK // Return code + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = uintptr(0) // Name of current table + var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) + // var sApply SessionApplyCtx at bp+48, 128 + // changeset_apply() context object + var bPatchset int32 + + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 + libc.X__builtin___memset_chk(tls, bp+48 /* &sApply */, 0, uint64(unsafe.Sizeof(SessionApplyCtx{})), libc.X__builtin_object_size(tls, bp+48 /* &sApply */, 0)) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).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+39531 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+39557 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + } + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { + // var nCol int32 at bp+184, 4 + + // var op int32 at bp+188, 4 + + // var zNew uintptr at bp+176, 8 + + Xsqlite3changeset_op(tls, pIter, bp+176 /* &zNew */, bp+184 /* &nCol */, bp+188 /* &op */, uintptr(0)) + + if (*(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+192, 8 + + rc = sessionRetryConstraints(tls, + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + if rc != SQLITE_OK { + break + } + + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebaseStarted = U8(0) + libc.X__builtin___memset_chk(tls, (bp + 48 /* &sApply */ + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{})), libc.X__builtin_object_size(tls, (bp+48 /* &sApply */ +88 /* &.constraints */), 0)) + + // If an xFilter() callback was specified, invoke it now. If the + // xFilter callback returns zero, skip this table. If it returns + // non-zero, proceed. + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))))) + if schemaMismatch != 0 { + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0) { + rc = SQLITE_NOMEM + break + } + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) + } else { + var nMinCol int32 = 0 + var i int32 + + Xsqlite3changeset_pk(tls, pIter, bp+192 /* &abPK */, uintptr(0)) + rc = sessionTableInfo(tls, uintptr(0), + db, ts+9737 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), (bp + 48 /* &sApply */ + 32 /* &.nCol */), bp+200 /* &zTab */, (bp + 48 /* &sApply */ + 40 /* &.azCol */), (bp + 48 /* &sApply */ + 48 /* &.abPK */)) + if rc != SQLITE_OK { + break + } + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK + uintptr(i))) != 0 { + nMinCol = (i + 1) + } + } + + if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+39587 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + + ts+39631, /* "sqlite3changeset..." */ + libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) != 0) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+39702 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else { + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), ts+14517 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+48 /* &sApply */)) != 0 { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 1 + } else { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + } + } + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */))) + } + } + + // If there is a schema mismatch on the current table, proceed to the + // next change. A log message has already been issued. + if schemaMismatch != 0 { + continue + } + + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+48 /* &sApply */, xConflict, pCtx) + } + + bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + if rc == SQLITE_OK { + rc = Xsqlite3changeset_finalize(tls, pIter) + } else { + Xsqlite3changeset_finalize(tls, pIter) + } + + if rc == SQLITE_OK { + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + } + + if rc == SQLITE_OK { + // var nFk int32 at bp+208, 4 + + // var notUsed int32 at bp+212, 4 + + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+208 /* &nFk */, bp+212 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) != 0 { + var res int32 = SQLITE_CHANGESET_ABORT + // var sIter Sqlite3_changeset_iter at bp+216, 152 + + libc.X__builtin___memset_chk(tls, bp+216 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{})), libc.X__builtin_object_size(tls, bp+216 /* &sIter */, 0)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 216 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) + if res != SQLITE_CHANGESET_OMIT { + rc = SQLITE_CONSTRAINT + } + } + } + Xsqlite3_exec(tls, db, ts+39762 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + + if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+39792 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } else { + Xsqlite3_exec(tls, db, ts+39816 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, ts+39792 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf = uintptr(0) + } + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Frebase.FaBuf) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main +// database attached to handle "db". +func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211439:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInv int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211472:16: */ + return Xsqlite3changeset_apply_v2(tls, + db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// Apply the changeset passed via xInput/pIn to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211497:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInverse int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, xInput, pIn, 0, uintptr(0), bInverse, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211524:16: */ + return Xsqlite3changeset_apply_v2_strm(tls, + db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// This function is called to merge two changes to the same row together as +// part of an sqlite3changeset_concat() operation. A new change object is +// allocated and a pointer to it stored in *ppNew. +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:211558:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var pNew uintptr = uintptr(0) + var rc int32 = SQLITE_OK + + if !(pExist != 0) { + pNew = Xsqlite3_malloc64(tls, (uint64(uint64(unsafe.Sizeof(SessionChange{})) + uint64(nRec)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.X__builtin___memset_chk(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{})), libc.X__builtin_object_size(tls, pNew, 0)) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = U8(bIndirect) + (*SessionChange)(unsafe.Pointer(pNew)).FaRecord = (pNew + 1*32) + if (bIndirect == 0) || (bRebase == 0) { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = nRec + libc.X__builtin___memcpy_chk(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, aRec, uint64(nRec), libc.X__builtin_object_size(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, 0)) + } else { + var i int32 + var pIn uintptr = aRec + var pOut uintptr = (*SessionChange)(unsafe.Pointer(pNew)).FaRecord + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var nIn int32 = sessionSerialLen(tls, pIn) + if int32(*(*U8)(unsafe.Pointer(pIn))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } else if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else { + libc.X__builtin___memcpy_chk(tls, pOut, pIn, uint64(nIn), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(nIn) + } + pIn += uintptr(nIn) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + } else if bRebase != 0 { + if (int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) == SQLITE_DELETE) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0) { + *(*uintptr)(unsafe.Pointer(ppNew)) = pExist + } else { + var nByte Sqlite3_int64 = (Sqlite3_int64((uint64(nRec + (*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(unsafe.Sizeof(SessionChange{})))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var i int32 + var a1 uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var a2 uintptr = aRec + var pOut uintptr + + libc.X__builtin___memset_chk(tls, pNew, 0, uint64(nByte), libc.X__builtin_object_size(tls, pNew, 0)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) || ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + pOut = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) || ((int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0) && (bIndirect != 0)) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else if int32(*(*U8)(unsafe.Pointer(a2))) == 0 { + libc.X__builtin___memcpy_chk(tls, pOut, a1, uint64(n1), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(n1) + } else { + libc.X__builtin___memcpy_chk(tls, pOut, a2, uint64(n2), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(n2) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } else { + var op1 int32 = int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) + + // op1=INSERT, op2=INSERT -> Unsupported. Discard op2. + // op1=INSERT, op2=UPDATE -> INSERT. + // op1=INSERT, op2=DELETE -> (none) + // + // op1=UPDATE, op2=INSERT -> Unsupported. Discard op2. + // op1=UPDATE, op2=UPDATE -> UPDATE. + // op1=UPDATE, op2=DELETE -> DELETE. + // + // op1=DELETE, op2=INSERT -> UPDATE. + // op1=DELETE, op2=UPDATE -> Unsupported. Discard op2. + // op1=DELETE, op2=DELETE -> Unsupported. Discard op2. + if ((((op1 == SQLITE_INSERT) && (op2 == SQLITE_INSERT)) || + ((op1 == SQLITE_UPDATE) && (op2 == SQLITE_INSERT))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_UPDATE))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_DELETE)) { + pNew = pExist + } else if (op1 == SQLITE_INSERT) && (op2 == SQLITE_DELETE) { + Xsqlite3_free(tls, pExist) + + } else { + var aExist uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var nByte Sqlite3_int64 + // var aCsr uintptr at bp+8, 8 + + // Allocate a new SessionChange object. Ensure that the aRecord[] + // buffer of the new object is large enough to hold any record that + // may be generated by combining the input records. + nByte = (Sqlite3_int64((uint64(unsafe.Sizeof(SessionChange{})) + uint64((*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(nRec))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if !(pNew != 0) { + Xsqlite3_free(tls, pExist) + return SQLITE_NOMEM + } + libc.X__builtin___memset_chk(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{})), libc.X__builtin_object_size(tls, pNew, 0)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + if op1 == SQLITE_INSERT { // INSERT + UPDATE + *(*uintptr)(unsafe.Pointer(bp /* a1 */)) = aRec + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_INSERT) + if bPatchset == 0 { + sessionSkipRecord(tls, bp /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aExist, *(*uintptr)(unsafe.Pointer(bp /* a1 */))) + } else if op1 == SQLITE_DELETE { // DELETE + INSERT + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if bPatchset != 0 { + libc.X__builtin___memcpy_chk(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec), libc.X__builtin_object_size(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), 0)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aExist, uintptr(0), aRec, uintptr(0)) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } + } else if op2 == SQLITE_UPDATE { // UPDATE + UPDATE + *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)) = aExist + *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */)) = aRec + + if bPatchset == 0 { + sessionSkipRecord(tls, bp+16 /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + sessionSkipRecord(tls, bp+24 /* &a2 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aRec, aExist, *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)), *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */))) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } else { // UPDATE + DELETE + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_DELETE) + if bPatchset != 0 { + libc.X__builtin___memcpy_chk(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec), libc.X__builtin_object_size(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), 0)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aRec, aExist) + } + } + + if pNew != 0 { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */))) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } + + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Add all changes in the changeset traversed by the iterator passed as +// the first argument to the changegroup hash tables. +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:211740:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + // var aRec uintptr at bp, 8 + + // var nRec int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + var pTab uintptr = uintptr(0) + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, uintptr(0)) { + // var zNew uintptr at bp+16, 8 + + // var nCol int32 at bp+24, 4 + + // var op int32 at bp+28, 4 + + var iHash int32 + // var bIndirect int32 at bp+32, 4 + + // var pChange uintptr at bp+48, 8 + + var pExist uintptr = uintptr(0) + var pp uintptr + + if (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = SQLITE_ERROR + break + } + + Xsqlite3changeset_op(tls, pIter, bp+16 /* &zNew */, bp+24 /* &nCol */, bp+28 /* &op */, bp+32 /* &bIndirect */) + if !(pTab != 0) || (Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (*SessionTable)(unsafe.Pointer(pTab)).FzName) != 0) { + // Search the list for a matching table + var nNew int32 = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)))) + // var abPK uintptr at bp+40, 8 + + Xsqlite3changeset_pk(tls, pIter, bp+40 /* &abPK */, uintptr(0)) + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (nNew+1)) { + break + } + } + if !(pTab != 0) { + var ppTab uintptr + + pTab = Xsqlite3_malloc64(tls, (uint64(((uint64(unsafe.Sizeof(SessionTable{})) + uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + uint64(nNew)) + uint64(1)))) + if !(pTab != 0) { + rc = SQLITE_NOMEM + break + } + libc.X__builtin___memset_chk(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{})), libc.X__builtin_object_size(tls, pTab, 0)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 24 /* nCol */)) + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = (pTab + 1*56) + libc.X__builtin___memcpy_chk(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */))), libc.X__builtin_object_size(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, 0)) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = ((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + libc.X__builtin___memcpy_chk(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (uint64(nNew + 1)), libc.X__builtin_object_size(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, 0)) + + // The new object must be linked on to the end of the list, not + // simply added to the start of it. This is to ensure that the + // tables within the output of sqlite3changegroup_output() are in + // the right order. + for ppTab = (pGrp + 8 /* &.pList */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } else if ((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) || (libc.Xmemcmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) != 0) { + rc = SQLITE_SCHEMA + break + } + } + + if sessionGrowHash(tls, uintptr(0), (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { + rc = SQLITE_NOMEM + break + } + iHash = int32(sessionChangeHash(tls, + pTab, (libc.Bool32(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0) && (*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE))), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + // Search for existing entry. If found, remove it from the hash table. + // Code below may link it back in. + for pp = ((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = (*(*uintptr)(unsafe.Pointer(pp)) + 24 /* &.pNext */) { + var bPkOnly1 int32 = 0 + var bPkOnly2 int32 = 0 + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + bPkOnly1 = (libc.Bool32(int32((*SessionChange)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pp))))).Fop) == SQLITE_DELETE)) + bPkOnly2 = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE)) + } + if sessionChangeEqual(tls, pTab, bPkOnly1, (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp /* aRec */))) != 0 { + pExist = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry-- + break + } + } + + rc = sessionChangeMerge(tls, pTab, bRebase, + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 28 /* op */)), *(*int32)(unsafe.Pointer(bp + 32 /* bIndirect */)), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+48 /* &pChange */) + if rc != 0 { + break + } + if *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) != 0 { + (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)))).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + } + } + + if rc == SQLITE_OK { + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// Serialize a changeset (or patchset) based on all changesets (or patchsets) +// added to the changegroup object passed as the first argument. +// +// If xOutput is not NULL, then the changeset/patchset is returned to the +// user via one or more calls to xOutput, as with the other streaming +// interfaces. +// +// Or, if xOutput is NULL, then (*ppOut) is populated with a pointer to a +// buffer containing the output changeset before this function returns. In +// this case (*pnOut) is set to the size of the output buffer in bytes. It +// is the responsibility of the caller to free the output buffer using +// sqlite3_free() when it is no longer required. +// +// If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite +// error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut) +// are both set to 0 before returning. +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211863:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var pTab uintptr + + // Create the serialized output changeset based on the contents of the + // hash tables attached to the SessionTable objects in list p->pList. + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + var i int32 + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry == 0 { + continue + } + + sessionAppendTableHdr(tls, bp /* &buf */, (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch, pTab, bp+16 /* &rc */) + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).Fop, bp+16 /* &rc */) + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+16 /* &rc */) + sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+16 /* &rc */) + if ((*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 + } + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Allocate a new, empty, sqlite3_changegroup. +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:211914:16: */ + var rc int32 = SQLITE_OK // Return code + var p uintptr // New object + p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) + if p == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(Sqlite3_changegroup{})), libc.X__builtin_object_size(tls, p, 0)) + } + *(*uintptr)(unsafe.Pointer(pp)) = p + return rc +} + +// Add the changeset currently stored in buffer pData, size nData bytes, +// to changeset-group p. +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:211931:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nData, pData) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Obtain a buffer containing a changeset representing the concatenation +// of all changesets added to the group so far. +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:211947:16: */ + return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) +} + +// Streaming versions of changegroup_add(). +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:211958:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Streaming versions of changegroup_output(). +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:211977:16: */ + return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Delete a changegroup object. +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:211988:17: */ + if pGrp != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, pGrp) + } +} + +// Combine two changesets together. +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211998:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nLeft, pLeft) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nRight, pRight) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), pnOut, ppOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Streaming version of sqlite3changeset_concat(). +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212027:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputA, pInA) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputB, pInB) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xOutput, pOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Buffers a1 and a2 must both contain a sessions module record nCol +// fields in size. This function appends an nCol sessions module +// record to buffer pBuf that is a copy of a1, except that for +// each field that is undefined in a1[], swap in the field from a2[]. +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:212066:13: */ + sessionBufferGrow(tls, pBuf, (int64(n1 + n2)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var i int32 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + for i = 0; i < nCol; i++ { + var nn1 int32 = sessionSerialLen(tls, a1) + var nn2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0) || (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) { + libc.X__builtin___memcpy_chk(tls, pOut, a2, uint64(nn2), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(nn2) + } else { + libc.X__builtin___memcpy_chk(tls, pOut, a1, uint64(nn1), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(nn1) + } + a1 += uintptr(nn1) + a2 += uintptr(nn2) + } + + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + + } +} + +// This function is called when rebasing a local UPDATE change against one +// or more remote UPDATE changes. The aRec/nRec buffer contains the current +// old.* and new.* records for the change. The rebase buffer (a single +// record) is in aChange/nChange. The rebased change is appended to buffer +// pBuf. +// +// Rebasing the UPDATE involves: +// +// * Removing any changes to fields for which the corresponding field +// in the rebase buffer is set to "replaced" (type 0xFF). If this +// means the UPDATE change updates no fields, nothing is appended +// to the output buffer. +// +// * For each field modified by the local change for which the +// corresponding field in the rebase buffer is not "undefined" (0x00) +// or "replaced" (0xFF), the old.* value is replaced by the value +// in the rebase buffer. +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:212115:13: */ + sessionBufferGrow(tls, pBuf, (int64((2 + nRec) + nChange)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var bData int32 = 0 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + var i int32 + var a1 uintptr = aRec + var a2 uintptr = aChange + + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(SQLITE_UPDATE) + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect) + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) == 0) { + if !(int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i)))) != 0) && (*(*U8)(unsafe.Pointer(a1)) != 0) { + bData = 1 + } + libc.X__builtin___memcpy_chk(tls, pOut, a1, uint64(n1), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(n1) + } else if int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF { + bData = 1 + libc.X__builtin___memcpy_chk(tls, pOut, a2, uint64(n2), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(n2) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + if bData != 0 { + a2 = aChange + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF) { + libc.X__builtin___memcpy_chk(tls, pOut, a1, uint64(n1), libc.X__builtin_object_size(tls, pOut, 0)) + pOut += uintptr(n1) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + } + } +} + +// pIter is configured to iterate through a changeset. This function rebases +// that changeset according to the current configuration of the rebaser +// object passed as the first argument. If no error occurs and argument xOutput +// is not NULL, then the changeset is returned to the caller by invoking +// xOutput zero or more times and SQLITE_OK returned. Or, if xOutput is NULL, +// then (*ppOut) is set to point to a buffer containing the rebased changeset +// before this function returns. In this case (*pnOut) is set to the size of +// the buffer in bytes. It is the responsibility of the caller to eventually +// free the (*ppOut) buffer using sqlite3_free(). +// +// If an error occurs, an SQLite error code is returned. If ppOut and +// pnOut are not NULL, then the two output parameters are set to 0 before +// returning. +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212183:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp /* aRec */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)) = 0 + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + var pTab uintptr = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 16 /* sOut */)) = SessionBuffer{} + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, bp+12 /* &bNew */) { + var pChange uintptr = uintptr(0) + var bDone int32 = 0 + + if *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) != 0 { + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + for pTab = (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_stricmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zTab) { + break + } + } + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + + // A patchset may not be rebased + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR + } + + // Append a table header to the output for this new table + sessionAppendByte(tls, bp+16 /* &sOut */, func() uint8 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), bp+32 /* &rc */) + sessionAppendVarint(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, (int32(libc.Xstrlen(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab)) + 1), bp+32 /* &rc */) + } + + if (pTab != 0) && (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) { + var iHash int32 = int32(sessionChangeHash(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + for pChange = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)); pChange != 0; pChange = (*SessionChange)(unsafe.Pointer(pChange)).FpNext { + if sessionChangeEqual(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), 0, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord) != 0 { + break + } + } + } + + if pChange != 0 { + + switch (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop { + case SQLITE_INSERT: + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_UPDATE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + } + break + fallthrough + + case SQLITE_UPDATE: + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_DELETE { + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)) = *(*uintptr)(unsafe.Pointer(bp /* aRec */)) + sessionSkipRecord(tls, bp+40 /* &pCsr */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_INSERT), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)), (int32(int64(*(*int32)(unsafe.Pointer(bp + 8 /* nRec */))) - ((int64(*(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */))) - int64(*(*uintptr)(unsafe.Pointer(bp /* aRec */)))) / 1))), + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + } else { + sessionAppendPartialUpdate(tls, bp+16 /* &sOut */, pIter, + *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + break + fallthrough + + default: + + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_DELETE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + break + } + } + + if bDone == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + if ((*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf = 0 + } + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0 { + break + } + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + libc.X__builtin___memset_chk(tls, bp+16 /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{})), libc.X__builtin_object_size(tls, bp+16 /* &sOut */, 0)) + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Create a new rebaser object. +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:212315:16: */ + var rc int32 = SQLITE_OK + var pNew uintptr + + pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_rebaser{}))) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.X__builtin___memset_chk(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_rebaser{})), libc.X__builtin_object_size(tls, pNew, 0)) + } + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Call this one or more times to configure a rebaser. +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:212332:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator opened on pData/nData + var rc int32 // Return code + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nRebase, pRebase) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), (p /* &.grp */), 1) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212349:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start(tls, bp /* &pIter */, nIn, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), uintptr(0), uintptr(0), pnOut, ppOut) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212368:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Destroy a rebaser object +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:212389:17: */ + if p != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, p) + } +} + +// Global configuration +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:212399:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_CONFIG_STRMSIZE: + { + var pInt uintptr = pArg + if *(*int32)(unsafe.Pointer(pInt)) > 0 { + sessions_strm_chunk_size = *(*int32)(unsafe.Pointer(pInt)) + } + *(*int32)(unsafe.Pointer(pInt)) = sessions_strm_chunk_size + break + + } + default: + rc = SQLITE_MISUSE + break + } + return rc +} + //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -182739,9 +188852,6 @@ type Fts5Global1 = struct { FpCsr uintptr } /* sqlite3.c:213118:9 */ -//************* End of dbpage.c ********************************************* -//************* Begin file sqlite3session.c ********************************* - //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -183571,7 +189681,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+38491 /* "fts5: parser sta..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+39844 /* "fts5: parser sta..." */, 0) //******* End %stack_overflow code ******************************************* (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument var @@ -183894,7 +190004,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+38519 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) + pParse, ts+39872 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) //*********** End %syntax_error code ***************************************** (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument variable @@ -184173,7 +190283,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+38550 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+39903 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } @@ -184247,7 +190357,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 38557 /* "wrong number of ..." */ + var zErr uintptr = ts + 39910 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -184414,7 +190524,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 901 /* "" */ + return ts + 916 /* "" */ } // Implementation of snippet() function. @@ -184441,7 +190551,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 38607 /* "wrong number of ..." */ + var zErr uintptr = ts + 39960 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -184783,13 +190893,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 defer tls.Free(96) *(*[3]Builtin)(unsafe.Pointer(bp /* aBuiltin */)) = [3]Builtin{ - {FzFunc: ts + 38655 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 40008 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5SnippetFunction}))}, - {FzFunc: ts + 38663 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 40016 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5HighlightFunction}))}, - {FzFunc: ts + 38673 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 40026 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5Bm25Function}))}, } @@ -185283,7 +191393,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+9232 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+9247 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -185462,7 +191572,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, ts+38678 /* "prefix" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+40031 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 @@ -185489,14 +191599,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+38685 /* "malformed prefix..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40038 /* "malformed prefix..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+38716 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) + ts+40069 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -185507,7 +191617,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38749 /* "prefix length ou..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40102 /* "prefix length ou..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -185520,7 +191630,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+38786 /* "tokenize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+40139 /* "tokenize" */, 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 /* &rc */, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nArg)))) @@ -185529,7 +191639,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+38795 /* "multiple tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40148 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { @@ -185548,7 +191658,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38828 /* "parse error in t..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40181 /* "parse error in t..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, @@ -185563,14 +191673,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+38862 /* "content" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+40215 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38870 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40223 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = 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 /* &rc */, ts+38902 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40 /* &rc */, ts+40255 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } @@ -185578,9 +191688,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+38908 /* "content_rowid" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+40261 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38922 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40275 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, zArg, -1) @@ -185588,9 +191698,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+38960 /* "columnsize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+40313 /* "columnsize" */, 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+38971 /* "malformed column..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40324 /* "malformed column..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) @@ -185598,21 +191708,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+8163 /* "detail" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+8178 /* "detail" */, zCmd, nCmd) == 0 { *(*[4]Fts5Enum)(unsafe.Pointer(bp + 48 /* aDetail */)) = [4]Fts5Enum{ - {FzName: ts + 20443 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 20448 /* "full" */}, - {FzName: ts + 39006 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, + {FzName: ts + 20458 /* "none" */, FeVal: FTS5_DETAIL_NONE}, + {FzName: ts + 20463 /* "full" */}, + {FzName: ts + 40359 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } if libc.AssignPtrInt32(bp+40 /* rc */, fts5ConfigSetEnum(tls, bp+48 /* &aDetail[0] */, zArg, (pConfig+92 /* &.eDetail */))) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39014 /* "malformed detail..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40367 /* "malformed detail..." */, 0) } return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39045 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40398 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) return SQLITE_ERROR } @@ -185676,15 +191786,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+26064 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+11453 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39073 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) + if (0 == Xsqlite3_stricmp(tls, zCol, ts+26079 /* "rank" */)) || + (0 == Xsqlite3_stricmp(tls, zCol, ts+11468 /* "rowid" */)) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40426 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) rc = SQLITE_ERROR } else if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, ts+39103 /* "unindexed" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+40456 /* "unindexed" */) { *(*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+39113 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40466 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) rc = SQLITE_ERROR } } @@ -185702,13 +191812,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK *(*Fts5Buffer)(unsafe.Pointer(bp + 32 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+39144 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+40497 /* "T.%Q" */, 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 /* &rc */, bp+32 /* &buf */, ts+39149 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+40502 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+39156 /* ", T.c%d" */, libc.VaList(bp+16, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+40509 /* ", T.c%d" */, libc.VaList(bp+16, i)) } } } @@ -185756,8 +191866,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*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 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+26064 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39164 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+26079 /* "rank" */) == 0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40517 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } @@ -185790,7 +191900,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39193 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40546 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { @@ -185798,7 +191908,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), pzErr) } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)), pzErr) @@ -185823,19 +191933,19 @@ 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 + 38862 /* "content" */ + zTail = ts + 40215 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 39213 /* "docsize" */ + zTail = ts + 40566 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+40 /* &rc */, ts+39221 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+40 /* &rc */, ts+40574 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+11453 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+11468 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -185884,18 +191994,18 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39232 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+40585 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { - return ts + 901 /* "" */ + return ts + 916 /* "" */ } - return ts + 17789 /* ", " */ + return ts + 17804 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39248 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+40601 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39255, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+26064 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+40608, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+26079 /* "rank" */)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -186035,7 +192145,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+39281 /* "pgsz" */) { + if 0 == Xsqlite3_stricmp(tls, zKey, ts+40634 /* "pgsz" */) { var pgsz int32 = 0 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -186045,7 +192155,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+39286 /* "hashsize" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+40639 /* "hashsize" */) { var nHashSize int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -186055,7 +192165,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+39295 /* "automerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+40648 /* "automerge" */) { var nAutomerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -186068,7 +192178,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+39305 /* "usermerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+40658 /* "usermerge" */) { var nUsermerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -186078,7 +192188,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+39315 /* "crisismerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+40668 /* "crisismerge" */) { var nCrisisMerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -186094,7 +192204,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+26064 /* "rank" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+26079 /* "rank" */) { var zIn uintptr = Xsqlite3_value_text(tls, pVal) // var zRank uintptr at bp, 8 @@ -186121,7 +192231,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(52) defer tls.Free(52) - var zSelect uintptr = ts + 39327 /* "SELECT k, v FROM..." */ + var zSelect uintptr = ts + 40680 /* "SELECT k, v FROM..." */ var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK @@ -186144,7 +192254,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */))) { var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 0) var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 1) - if 0 == Xsqlite3_stricmp(tls, zK, ts+39359 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+40712 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 48 /* bDummy */)) = 0 @@ -186159,7 +192269,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+39367, /* "invalid fts5 fil..." */ + ts+40720, /* "invalid fts5 fil..." */ libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } @@ -186293,7 +192403,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+39432 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+40785 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -186306,20 +192416,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+39452 /* "fts5: syntax err..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+40805 /* "fts5: syntax err..." */, 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+39483 /* "OR" */, uint64(2)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+40836 /* "OR" */, uint64(2)) == 0) { tok = FTS5_OR } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+39486 /* "NOT" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+40839 /* "NOT" */, uint64(3)) == 0) { tok = FTS5_NOT } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+35565 /* "AND" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+35580 /* "AND" */, uint64(3)) == 0) { tok = FTS5_AND } break @@ -188292,9 +194402,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli bp := tls.Alloc(16) defer tls.Free(16) - if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+39490 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { + if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+40843 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { sqlite3Fts5ParseError(tls, - pParse, ts+38519 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) + pParse, ts+39872 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -188310,7 +194420,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+39495 /* "expected integer..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp)) + pParse, ts+40848 /* "expected integer..." */, 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')) @@ -188407,7 +194517,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+24226 /* "no such column: ..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+24241 /* "no such column: ..." */, libc.VaList(bp, z)) } else { pRet = fts5ParseColset(tls, pParse, pColset, iCol) } @@ -188503,7 +194613,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE { (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+39524 /* "fts5: column que..." */, 0) + ts+40877 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -188687,12 +194797,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+39577, /* "fts5: %s queries..." */ + ts+40930, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 39627 /* "phrase" */ + return ts + 40980 /* "phrase" */ } - return ts + 39490 /* "NEAR" */ + return ts + 40843 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -188806,7 +194916,7 @@ func fts5PrintfAppend(tls *libc.TLS, zApp uintptr, zFmt uintptr, va uintptr) uin zNew = Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap if (zApp != 0) && (zNew != 0) { - var zNew2 uintptr = Xsqlite3_mprintf(tls, ts+7972 /* "%s%s" */, libc.VaList(bp, zApp, zNew)) + var zNew2 uintptr = Xsqlite3_mprintf(tls, ts+7987 /* "%s%s" */, libc.VaList(bp, zApp, zNew)) Xsqlite3_free(tls, zNew) zNew = zNew2 } @@ -188828,7 +194938,7 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var i int32 var iTerm int32 - zRet = fts5PrintfAppend(tls, zRet, ts+39634 /* "%s " */, libc.VaList(bp, zNearsetCmd)) + zRet = fts5PrintfAppend(tls, zRet, ts+40987 /* "%s " */, libc.VaList(bp, zNearsetCmd)) if zRet == uintptr(0) { return uintptr(0) } @@ -188836,13 +194946,13 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var aiCol uintptr = (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset + 4 /* &.aiCol */ var nCol int32 = (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol if nCol == 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+39638 /* "-col %d " */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+40991 /* "-col %d " */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(aiCol)))) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+39647 /* "-col {%d" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+41000 /* "-col {%d" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) for i = 1; i < (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol; i++ { - zRet = fts5PrintfAppend(tls, zRet, ts+39656 /* " %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) + zRet = fts5PrintfAppend(tls, zRet, ts+41009 /* " %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) } - zRet = fts5PrintfAppend(tls, zRet, ts+39660 /* "} " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+41013 /* "} " */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -188850,13 +194960,13 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+39663 /* "-near %d " */, libc.VaList(bp+32, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+41016 /* "-near %d " */, libc.VaList(bp+32, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } } - zRet = fts5PrintfAppend(tls, zRet, ts+39673 /* "--" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+41026 /* "--" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -188864,22 +194974,22 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((pNear + 24 /* &.apPhrase */) + uintptr(i)*8)) - zRet = fts5PrintfAppend(tls, zRet, ts+39676 /* " {" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+41029 /* " {" */, 0) for iTerm = 0; (zRet != 0) && (iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm); iTerm++ { var zTerm uintptr = (*Fts5ExprTerm)(unsafe.Pointer((pPhrase + 32 /* &.aTerm */) + uintptr(iTerm)*32)).FzTerm - zRet = fts5PrintfAppend(tls, zRet, ts+7972 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+7987 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { if iTerm == 0 { - return ts + 901 /* "" */ + return ts + 916 /* "" */ } - return ts + 14082 /* " " */ + return ts + 14097 /* " " */ }(), zTerm)) if (*Fts5ExprTerm)(unsafe.Pointer((pPhrase+32 /* &.aTerm */)+uintptr(iTerm)*32)).FbPrefix != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+22776 /* "*" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+22791 /* "*" */, 0) } } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+32204 /* "}" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+32219 /* "}" */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -188891,27 +195001,27 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var i int32 switch (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType { case FTS5_AND: - zOp = ts + 35565 /* "AND" */ + zOp = ts + 35580 /* "AND" */ break fallthrough case FTS5_NOT: - zOp = ts + 39486 /* "NOT" */ + zOp = ts + 40839 /* "NOT" */ break fallthrough default: - zOp = ts + 39483 /* "OR" */ + zOp = ts + 40836 /* "OR" */ break } - zRet = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+56, zOp)) + zRet = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+56, zOp)) for i = 0; (zRet != 0) && (i < (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FnChild); i++ { var z uintptr = fts5ExprPrintTcl(tls, pConfig, zNearsetCmd, *(*uintptr)(unsafe.Pointer((pExpr + 48 /* &.apChild */) + uintptr(i)*8))) if !(z != 0) { Xsqlite3_free(tls, zRet) zRet = uintptr(0) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+39679 /* " [%z]" */, libc.VaList(bp+64, z)) + zRet = fts5PrintfAppend(tls, zRet, ts+41032 /* " [%z]" */, libc.VaList(bp+64, z)) } } } @@ -188925,7 +195035,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s var zRet uintptr = uintptr(0) if (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == 0 { - return Xsqlite3_mprintf(tls, ts+39685 /* "\"\"" */, 0) + return Xsqlite3_mprintf(tls, ts+41038 /* "\"\"" */, 0) } else if ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_STRING) || ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_TERM) { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FpNear var i int32 @@ -188935,23 +195045,23 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s var ii int32 var pColset uintptr = (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset if (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+39688 /* "{" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+41041 /* "{" */, 0) } for ii = 0; ii < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; ii++ { - zRet = fts5PrintfAppend(tls, zRet, ts+7972, /* "%s%s" */ + zRet = fts5PrintfAppend(tls, zRet, ts+7987, /* "%s%s" */ libc.VaList(bp, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(*(*int32)(unsafe.Pointer((pColset + 4 /* &.aiCol */) + uintptr(ii)*4)))*8)), func() uintptr { if ii == ((*Fts5Colset)(unsafe.Pointer(pColset)).FnCol - 1) { - return ts + 901 /* "" */ + return ts + 916 /* "" */ } - return ts + 14082 /* " " */ + return ts + 14097 /* " " */ }())) } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+39690 /* "%s : " */, libc.VaList(bp+16, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+41043 /* "%s : " */, libc.VaList(bp+16, func() uintptr { if (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol > 1 { - return ts + 32204 /* "}" */ + return ts + 32219 /* "}" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }())) } if zRet == uintptr(0) { @@ -188960,7 +195070,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+39696 /* "NEAR(" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+41049 /* "NEAR(" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -188969,7 +195079,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((pNear + 24 /* &.apPhrase */) + uintptr(i)*8)) if i != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+14082 /* " " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+14097 /* " " */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -188977,11 +195087,11 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s for iTerm = 0; iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; iTerm++ { var zTerm uintptr = fts5ExprTermPrint(tls, ((pPhrase + 32 /* &.aTerm */) + uintptr(iTerm)*32)) if zTerm != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+7972 /* "%s%s" */, libc.VaList(bp+24, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+7987 /* "%s%s" */, libc.VaList(bp+24, func() uintptr { if iTerm == 0 { - return ts + 901 /* "" */ + return ts + 916 /* "" */ } - return ts + 39702 /* " + " */ + return ts + 41055 /* " + " */ }(), zTerm)) Xsqlite3_free(tls, zTerm) } @@ -188993,7 +195103,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+39706 /* ", %d)" */, libc.VaList(bp+40, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+41059 /* ", %d)" */, libc.VaList(bp+40, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } @@ -189005,16 +195115,16 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s switch (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType { case FTS5_AND: - zOp = ts + 25273 /* " AND " */ + zOp = ts + 25288 /* " AND " */ break fallthrough case FTS5_NOT: - zOp = ts + 39712 /* " NOT " */ + zOp = ts + 41065 /* " NOT " */ break fallthrough default: - zOp = ts + 39718 /* " OR " */ + zOp = ts + 38731 /* " OR " */ break } @@ -189026,23 +195136,23 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } else { var e int32 = (*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((pExpr + 48 /* &.apChild */) + uintptr(i)*8)))).FeType var b int32 = (libc.Bool32(((e != FTS5_STRING) && (e != FTS5_TERM)) && (e != FTS5_EOF))) - zRet = fts5PrintfAppend(tls, zRet, ts+39723, /* "%s%s%z%s" */ + zRet = fts5PrintfAppend(tls, zRet, ts+41071, /* "%s%s%z%s" */ libc.VaList(bp+48, func() uintptr { if i == 0 { - return ts + 901 /* "" */ + return ts + 916 /* "" */ } return zOp }(), func() uintptr { if b != 0 { - return ts + 25279 /* "(" */ + return ts + 25294 /* "(" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), z, func() uintptr { if b != 0 { - return ts + 8043 /* ")" */ + return ts + 8058 /* ")" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }())) } if zRet == uintptr(0) { @@ -189068,18 +195178,18 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT var rc int32 var i int32 var azConfig uintptr // Array of arguments for Fts5Config - var zNearsetCmd uintptr = ts + 39732 /* "nearset" */ + var zNearsetCmd uintptr = ts + 41080 /* "nearset" */ var nConfig int32 // Size of azConfig[] *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)) = uintptr(0) var iArg int32 = 1 if nArg < 1 { - *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = Xsqlite3_mprintf(tls, ts+39740, /* "wrong number of ..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = Xsqlite3_mprintf(tls, ts+41088, /* "wrong number of ..." */ libc.VaList(bp, func() uintptr { if bTcl != 0 { - return ts + 39781 /* "fts5_expr_tcl" */ + return ts + 41129 /* "fts5_expr_tcl" */ } - return ts + 39795 /* "fts5_expr" */ + return ts + 41143 /* "fts5_expr" */ }())) Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)), -1) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -189098,21 +195208,21 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT return } *(*uintptr)(unsafe.Pointer(azConfig)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(azConfig + 1*8)) = ts + 9722 /* "main" */ - *(*uintptr)(unsafe.Pointer(azConfig + 2*8)) = ts + 14677 /* "tbl" */ + *(*uintptr)(unsafe.Pointer(azConfig + 1*8)) = ts + 9737 /* "main" */ + *(*uintptr)(unsafe.Pointer(azConfig + 2*8)) = ts + 14692 /* "tbl" */ for i = 3; iArg < nArg; iArg++ { var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iArg)*8))) *(*uintptr)(unsafe.Pointer(azConfig + uintptr(libc.PostIncInt32(&i, 1))*8)) = func() uintptr { if z != 0 { return z } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }() } zExpr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))) if zExpr == uintptr(0) { - zExpr = ts + 901 /* "" */ + zExpr = ts + 916 /* "" */ } rc = sqlite3Fts5ConfigParse(tls, pGlobal, db, nConfig, azConfig, bp+8 /* &pConfig */, bp+16 /* &zErr */) @@ -189122,7 +195232,7 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT if rc == SQLITE_OK { var zText uintptr if (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pExpr */)))).FpRoot)).FxNext == uintptr(0) { - zText = Xsqlite3_mprintf(tls, ts+901 /* "" */, 0) + zText = Xsqlite3_mprintf(tls, ts+916 /* "" */, 0) } else if bTcl != 0 { zText = fts5ExprPrintTcl(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)), zNearsetCmd, (*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pExpr */)))).FpRoot) } else { @@ -189169,13 +195279,13 @@ func fts5ExprIsAlnum(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { / if nArg != 1 { Xsqlite3_result_error(tls, pCtx, - ts+39805 /* "wrong number of ..." */, -1) + ts+41153 /* "wrong number of ..." */, -1) return } libc.X__builtin___memset_chk(tls, bp /* &aArr[0] */, 0, uint64(unsafe.Sizeof([32]U8{})), libc.X__builtin_object_size(tls, bp /* &aArr[0] */, 0)) - sqlite3Fts5UnicodeCatParse(tls, ts+39856 /* "L*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+39859 /* "N*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+39862 /* "Co" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+41204 /* "L*" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+41207 /* "N*" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+41210 /* "Co" */, bp /* &aArr[0] */) iCode = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal))) Xsqlite3_result_int(tls, pCtx, int32(*(*U8)(unsafe.Pointer(bp /* &aArr[0] */ + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode))))))) } @@ -189183,7 +195293,7 @@ func fts5ExprIsAlnum(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { / func fts5ExprFold(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:220197:13: */ if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, pCtx, - ts+39865 /* "wrong number of ..." */, -1) + ts+41213 /* "wrong number of ..." */, -1) } else { var iCode int32 var bRemoveDiacritics int32 = 0 @@ -189202,16 +195312,16 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* defer tls.Free(64) *(*[4]Fts5ExprFunc)(unsafe.Pointer(bp /* aFunc */)) = [4]Fts5ExprFunc{ - {Fz: ts + 39795 /* "fts5_expr" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 41143 /* "fts5_expr" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFunctionHr}))}, - {Fz: ts + 39781 /* "fts5_expr_tcl" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 41129 /* "fts5_expr_tcl" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFunctionTcl}))}, - {Fz: ts + 39913 /* "fts5_isalnum" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 41261 /* "fts5_isalnum" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprIsAlnum}))}, - {Fz: ts + 39926 /* "fts5_fold" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 41274 /* "fts5_fold" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFold}))}, } @@ -190628,7 +196738,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 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+39936 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+41284 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) } // If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls @@ -190716,7 +196826,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 /* &.pWriter */), Xsqlite3_mprintf(tls, - ts+39942, /* "REPLACE INTO '%q..." */ + ts+41290, /* "REPLACE INTO '%q..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return @@ -190744,7 +196854,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig var zSql uintptr = Xsqlite3_mprintf(tls, - ts+39993, /* "DELETE FROM '%q'..." */ + ts+41341, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if fts5IndexPrepareStmt(tls, p, (p+72 /* &.pDeleter */), zSql) != 0 { return @@ -190768,7 +196878,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 88 /* &.pIdxDeleter */), Xsqlite3_mprintf(tls, - ts+40042, /* "DELETE FROM '%q'..." */ + ts+41390, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -190976,7 +197086,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12 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 /* &.pDataVersion */), - Xsqlite3_mprintf(tls, ts+40082 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + Xsqlite3_mprintf(tls, ts+41430 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return int64(0) } @@ -192411,7 +198521,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:2 var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 96 /* &.pIdxSelect */), Xsqlite3_mprintf(tls, - ts+40105, /* "SELECT pgno FROM..." */ + ts+41453, /* "SELECT pgno FROM..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect @@ -193668,7 +199778,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { return (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -194009,7 +200119,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 /* &.pIdxWriter */), Xsqlite3_mprintf(tls, - ts+40189, /* "INSERT INTO '%q'..." */ + ts+41537, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -195226,7 +201336,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 fts5StructureInvalidate(tls, p) fts5IndexDiscardData(tls, p) libc.X__builtin___memset_chk(tls, bp /* &s */, 0, uint64(unsafe.Sizeof(Fts5Structure{})), libc.X__builtin_object_size(tls, bp /* &s */, 0)) - fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+901 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+916 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -195247,13 +201357,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == 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 /* &rc */, ts+40246 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8 /* &rc */, ts+41594 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, - pConfig, ts+30596 /* "data" */, ts+40254 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+30611 /* "data" */, ts+41602 /* "id INTEGER PRIMA..." */, 0, pzErr) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+14673, /* "idx" */ - ts+40289, /* "segid, term, pgn..." */ + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+14688, /* "idx" */ + ts+41637, /* "segid, term, pgn..." */ 1, pzErr) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { @@ -195559,7 +201669,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3Fts5Put32(tls, bp /* &aCookie[0] */, iNew) rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, - ts+39936 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) + ts+41284 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)), bp /* &aCookie[0] */, 4, 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */))) @@ -195696,7 +201806,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+40333, /* "SELECT segid, te..." */ + ts+41681, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. @@ -195906,7 +202016,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks } else { (*Fts5Buffer)(unsafe.Pointer(bp + 16 /* &poslist */)).Fn = 0 fts5SegiterPoslist(tls, p, ((*(*uintptr)(unsafe.Pointer(bp /* pIter */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter */)))).FaFirst+1*4)).FiFirst)*120), uintptr(0), bp+16 /* &poslist */) - sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+40419 /* "\x00\x00\x00\x00" */) + sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+41767 /* "\x00\x00\x00\x00" */) for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fn, bp+32 /* &iOff */, bp+40 /* &iPos */) { var iCol int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) >> 32)) var iTokOff int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) & int64(0x7FFFFFFF))) @@ -195962,17 +202072,17 @@ func fts5DebugRowid(tls *libc.TLS, pRc uintptr, pBuf uintptr, iKey I64) { /* sql if *(*int32)(unsafe.Pointer(bp + 32 /* iSegid */)) == 0 { if iKey == int64(FTS5_AVERAGES_ROWID) { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40424 /* "{averages} " */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+41772 /* "{averages} " */, 0) } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40436 /* "{structure}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+41784 /* "{structure}" */, 0) } } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40448, /* "{%ssegid=%d h=%d..." */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+41796, /* "{%ssegid=%d h=%d..." */ libc.VaList(bp, func() uintptr { if *(*int32)(unsafe.Pointer(bp + 36 /* bDlidx */)) != 0 { - return ts + 40474 /* "dlidx " */ + return ts + 41822 /* "dlidx " */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), *(*int32)(unsafe.Pointer(bp + 32 /* iSegid */)), *(*int32)(unsafe.Pointer(bp + 40 /* iHeight */)), *(*int32)(unsafe.Pointer(bp + 44 /* iPgno */)))) } } @@ -195987,13 +202097,13 @@ func fts5DebugStructure(tls *libc.TLS, pRc uintptr, pBuf uintptr, p uintptr) { / for iLvl = 0; iLvl < (*Fts5Structure)(unsafe.Pointer(p)).FnLevel; iLvl++ { var pLvl uintptr = ((p + 24 /* &.aLevel */) + uintptr(iLvl)*16) sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, - ts+40481 /* " {lvl=%d nMerge=..." */, libc.VaList(bp, iLvl, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnMerge, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg)) + ts+41829 /* " {lvl=%d nMerge=..." */, libc.VaList(bp, iLvl, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnMerge, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg)) for iSeg = 0; iSeg < (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg; iSeg++ { var pSeg uintptr = ((*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FaSeg + uintptr(iSeg)*12) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40508, /* " {id=%d leaves=%..." */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+41856, /* " {id=%d leaves=%..." */ libc.VaList(bp+24, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast)) } - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+32204 /* "}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+32219 /* "}" */, 0) } } @@ -196029,14 +202139,14 @@ func fts5DecodeAverages(tls *libc.TLS, pRc uintptr, pBuf uintptr, pBlob uintptr, defer tls.Free(24) var i int32 = 0 - var zSpace uintptr = ts + 901 /* "" */ + var zSpace uintptr = ts + 916 /* "" */ for i < nBlob { // var iVal U64 at bp+16, 8 i = i + (int32(sqlite3Fts5GetVarint(tls, (pBlob + uintptr(i)), bp+16 /* &iVal */))) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40531 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 16 /* iVal */))))) - zSpace = ts + 14082 /* " " */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+41879 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 16 /* iVal */))))) + zSpace = ts + 14097 /* " " */ } } @@ -196054,7 +202164,7 @@ func fts5DecodePoslist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // var iVal int32 at bp+8, 4 iOff = iOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff)), bp+8 /* &iVal */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39656 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* iVal */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+41009 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* iVal */)))) } return iOff } @@ -196074,7 +202184,7 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in if n > 0 { iOff = int32(sqlite3Fts5GetVarint(tls, a, bp+32 /* &iDocid */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40536 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+41884 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) } for iOff < n { // var nPos int32 at bp+40, 4 @@ -196082,11 +202192,11 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // var bDel int32 at bp+44, 4 iOff = iOff + (fts5GetPoslistSize(tls, (a + uintptr(iOff)), bp+40 /* &nPos */, bp+44 /* &bDel */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40545 /* " nPos=%d%s" */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(bp + 40 /* nPos */)), func() uintptr { + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+41893 /* " nPos=%d%s" */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(bp + 40 /* nPos */)), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 44 /* bDel */)) != 0 { - return ts + 22776 /* "*" */ + return ts + 22791 /* "*" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }())) iOff = iOff + (fts5DecodePoslist(tls, pRc, pBuf, (a + uintptr(iOff)), func() int32 { if (n - iOff) < (*(*int32)(unsafe.Pointer(bp + 40 /* nPos */))) { @@ -196099,7 +202209,7 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in iOff = iOff + (int32(sqlite3Fts5GetVarint(tls, (a + uintptr(iOff)), bp+48 /* &iDelta */))) *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)) += *(*I64)(unsafe.Pointer(bp + 48 /* iDelta */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40536 /* " id=%lld" */, libc.VaList(bp+24, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+41884 /* " id=%lld" */, libc.VaList(bp+24, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) } } @@ -196125,7 +202235,7 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr var iRowid I64 = int64(0) for i < nData { - var zApp uintptr = ts + 901 /* "" */ + var zApp uintptr = ts + 916 /* "" */ // var iVal U64 at bp+16, 8 i = i + (int32(sqlite3Fts5GetVarint(tls, (pData + uintptr(i)), bp+16 /* &iVal */))) @@ -196135,13 +202245,13 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr i++ if (i < nData) && (int32(*(*U8)(unsafe.Pointer(pData + uintptr(i)))) == 0x00) { i++ - zApp = ts + 40556 /* "+" */ + zApp = ts + 41904 /* "+" */ } else { - zApp = ts + 22776 /* "*" */ + zApp = ts + 22791 /* "*" */ } } - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40558 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+41906 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) } } @@ -196248,7 +202358,7 @@ __5: goto __7 } sqlite3Fts5BufferAppendPrintf(tls, bp+64 /* &rc */, bp+48, /* &s */ - ts+40566 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiRowid)) + ts+41914 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiRowid)) goto __6 __6: fts5DlidxLvlNext(tls, bp+88 /* &lvl */) @@ -196303,7 +202413,7 @@ __16: (*Fts5Buffer)(unsafe.Pointer(bp + 136 /* &term */)).Fn = *(*int32)(unsafe.Pointer(bp + 164 /* nKeep */)) sqlite3Fts5BufferAppendBlob(tls, bp+64 /* &rc */, bp+136 /* &term */, uint32(*(*int32)(unsafe.Pointer(bp + 156 /* nAppend */))), (a + uintptr(iOff))) sqlite3Fts5BufferAppendPrintf(tls, - bp+64 /* &rc */, bp+48 /* &s */, ts+40576 /* " term=%.*s" */, libc.VaList(bp+16, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fp)) + bp+64 /* &rc */, bp+48 /* &s */, ts+41924 /* " term=%.*s" */, libc.VaList(bp+16, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fp)) iOff = iOff + (*(*int32)(unsafe.Pointer(bp + 156 /* nAppend */))) // Figure out where the doclist for this term ends @@ -196342,7 +202452,7 @@ __12: if !(n < 4) { goto __21 } - sqlite3Fts5BufferSet(tls, bp+64 /* &rc */, bp+48 /* &s */, 7, ts+40587 /* "corrupt" */) + sqlite3Fts5BufferSet(tls, bp+64 /* &rc */, bp+48 /* &s */, 7, ts+41935 /* "corrupt" */) goto decode_out goto __22 __21: @@ -196464,7 +202574,7 @@ __39: iOff1 = iOff1 + (*(*int32)(unsafe.Pointer(bp + 188 /* nByte */))) sqlite3Fts5BufferAppendPrintf(tls, - bp+64 /* &rc */, bp+48 /* &s */, ts+40576 /* " term=%.*s" */, libc.VaList(bp+32, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fp)) + bp+64 /* &rc */, bp+48 /* &s */, ts+41924 /* " term=%.*s" */, libc.VaList(bp+32, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fp)) iOff1 = iOff1 + (fts5DecodeDoclist(tls, bp+64 /* &rc */, bp+48 /* &s */, (a + uintptr(iOff1)), (iEnd - iOff1))) goto __32 __33: @@ -196496,16 +202606,16 @@ __41: func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:227717:13: */ var zArg uintptr if nArg == 0 { - Xsqlite3_result_error(tls, pCtx, ts+40595 /* "should be: fts5_..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+41943 /* "should be: fts5_..." */, -1) } else { zArg = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))) - if 0 == Xsqlite3_stricmp(tls, zArg, ts+40632 /* "segment" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+41980 /* "segment" */) { var iRowid I64 var segid int32 var pgno int32 if nArg != 3 { Xsqlite3_result_error(tls, pCtx, - ts+40640 /* "should be: fts5_..." */, -1) + ts+41988 /* "should be: fts5_..." */, -1) } else { segid = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) pgno = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal + 2*8))) @@ -196514,7 +202624,7 @@ func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { } } else { Xsqlite3_result_error(tls, pCtx, - ts+40687 /* "first arg to fts..." */, -1) + ts+42035 /* "first arg to fts..." */, -1) } } } @@ -196527,13 +202637,13 @@ func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { // SQLite error code is returned instead. func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:227757:12: */ var rc int32 = Xsqlite3_create_function(tls, - db, ts+40731 /* "fts5_decode" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + db, ts+42079 /* "fts5_decode" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5DecodeFunction})), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+40743 /* "fts5_decode_none" */, 2, + db, ts+42091 /* "fts5_decode_none" */, 2, SQLITE_UTF8, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5DecodeFunction})), uintptr(0), uintptr(0)) @@ -196541,7 +202651,7 @@ func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:227757 if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+40760 /* "fts5_rowid" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + db, ts+42108 /* "fts5_rowid" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5RowidFunction})), uintptr(0), uintptr(0)) } @@ -196922,7 +203032,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+40771 /* "recursively defi..." */, 0) + ts+42119 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -196956,7 +203066,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } else if iCol >= 0 { bSeenMatch = 1 *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('M') - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+8001 /* "%d" */, libc.VaList(bp, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+8016 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) } @@ -196972,7 +203082,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+8001 /* "%d" */, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+8016 /* "%d" */, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -197315,7 +203425,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: rc = Xsqlite3_reset(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+937 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + ts+952 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -197347,7 +203457,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, uint32(SQLITE_PREPARE_PERSISTENT), bp+8 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -197386,25 +203496,25 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 // // If SQLite a built-in statement cache, this wouldn't be a problem. rc = fts5PrepareStatement(tls, (pSorter /* &.pStmt */), pConfig, - ts+40810, /* "SELECT rowid, ra..." */ + ts+42158, /* "SELECT rowid, ra..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, func() uintptr { if zRankArgs != 0 { - return ts + 17789 /* ", " */ + return ts + 17804 /* ", " */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 40865 /* "DESC" */ + return ts + 42213 /* "DESC" */ } - return ts + 40870 /* "ASC" */ + return ts + 42218 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -197455,13 +203565,13 @@ 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+40874 /* "reads" */, z, n)) { + if (n == 5) && (0 == Xsqlite3_strnicmp(tls, ts+42222 /* "reads" */, 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+8145 /* "id" */, z, n)) { + } else if (n == 2) && (0 == Xsqlite3_strnicmp(tls, ts+8160 /* "id" */, z, n)) { (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { // An unrecognized directive. Return an error message. - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+40880 /* "unknown special ..." */, libc.VaList(bp, n, z)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+42228 /* "unknown special ..." */, libc.VaList(bp, n, z)) rc = SQLITE_ERROR } @@ -197496,7 +203606,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+40908 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+42256 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, @@ -197528,7 +203638,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+40918 /* "no such function..." */, libc.VaList(bp+8, zRank)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+42266 /* "no such function..." */, libc.VaList(bp+8, zRank)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } } @@ -197560,14 +203670,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin *(*int32)(unsafe.Pointer(pCsr + 80 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+40939 /* "parse error in r..." */, libc.VaList(bp, z)) + ts+42287 /* "parse error in r..." */, 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 + 38673 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 40026 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -197633,7 +203743,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+40771 /* "recursively defi..." */, 0) + ts+42119 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -197679,7 +203789,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 901 /* "" */ + zText = ts + 916 /* "" */ __14: ; iCol = 0 @@ -197868,7 +203978,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+40972 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + ts+42320 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = SQLITE_ERROR goto __41 __40: @@ -198005,7 +204115,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql rc = (SQLITE_CORRUPT | (int32(1) << 8)) } else if (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+937 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) + ts+952 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) } } } @@ -198042,29 +204152,29 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) var rc int32 = SQLITE_OK *(*int32)(unsafe.Pointer(bp /* bError */)) = 0 - if 0 == Xsqlite3_stricmp(tls, ts+41008 /* "delete-all" */, zCmd) { + if 0 == Xsqlite3_stricmp(tls, ts+42356 /* "delete-all" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { fts5SetVtabError(tls, pTab, - ts+41019 /* "'delete-all' may..." */, 0) + ts+42367 /* "'delete-all' may..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+41099 /* "rebuild" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+42447 /* "rebuild" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE { fts5SetVtabError(tls, pTab, - ts+41107 /* "'rebuild' may no..." */, 0) + ts+42455 /* "'rebuild' may no..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+20043 /* "optimize" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+20058 /* "optimize" */, zCmd) { rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) - } else if 0 == Xsqlite3_stricmp(tls, ts+41163 /* "merge" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+42511 /* "merge" */, 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+41169 /* "integrity-check" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+42517 /* "integrity-check" */, zCmd) { var iArg int32 = Xsqlite3_value_int(tls, pVal) rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg) } else { @@ -198138,7 +204248,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // A "special" INSERT op. These are handled separately. var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*8))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && - (0 == Xsqlite3_stricmp(tls, ts+20582 /* "delete" */, z)) { + (0 == Xsqlite3_stricmp(tls, ts+20597 /* "delete" */, z)) { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*8))) @@ -198163,12 +204273,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // This is not suported. if (eType0 == SQLITE_INTEGER) && (fts5IsContentless(tls, pTab) != 0) { (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+41185, /* "cannot %s conten..." */ + ts+42533, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 24022 /* "UPDATE" */ + return ts + 24037 /* "UPDATE" */ } - return ts + 41222 /* "DELETE from" */ + return ts + 42570 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -198838,7 +204948,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+41234 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) + var zErr uintptr = Xsqlite3_mprintf(tls, ts+42582 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } else { @@ -199143,7 +205253,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+41255 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42603 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 16 /* &.x */ /* &.xCreate */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { @@ -199160,7 +205270,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg (*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = (pMod + 16 /* &.x */) if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41277 /* "error in tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42625 /* "error in tokeniz..." */, 0) } } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls, @@ -199207,7 +205317,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s var ppApi uintptr _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+41308 /* "fts5_api_ptr" */) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+42656 /* "fts5_api_ptr" */) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = (pGlobal /* &.api */) } @@ -199218,7 +205328,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+41321 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, pCtx, ts+42669 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) } // Return true if zName is the extension on one of the shadow tables used @@ -199234,7 +205344,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 41412 /* "config" */, ts + 38862 /* "content" */, ts + 30596 /* "data" */, ts + 39213 /* "docsize" */, ts + 14673, /* "idx" */ + ts + 42760 /* "config" */, ts + 40215 /* "content" */, ts + 30611 /* "data" */, ts + 40566 /* "docsize" */, ts + 14688, /* "idx" */ } /* sqlite3.c:230593:21 */ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ @@ -199258,7 +205368,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ (*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+41419 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) + rc = Xsqlite3_create_module_v2(tls, db, ts+42767 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) if rc == SQLITE_OK { rc = sqlite3Fts5IndexInit(tls, db) } @@ -199276,13 +205386,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+41419 /* "fts5" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+42767 /* "fts5" */, 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+41424 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+42772 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5SourceIdFunc})), uintptr(0), uintptr(0)) } @@ -199348,20 +205458,20 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p if *(*uintptr)(unsafe.Pointer((p + 40 /* &.aStmt */) + uintptr(eStmt)*8)) == uintptr(0) { *(*[11]uintptr)(unsafe.Pointer(bp + 128 /* azStmt */)) = [11]uintptr{ - ts + 41439, /* "SELECT %s FROM %..." */ - ts + 41507, /* "SELECT %s FROM %..." */ - ts + 41576, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 42787, /* "SELECT %s FROM %..." */ + ts + 42855, /* "SELECT %s FROM %..." */ + ts + 42924, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 41609, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 41648, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 41688, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 41727, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 41768, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE + ts + 42957, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT + ts + 42996, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT + ts + 43036, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT + ts + 43075, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE + ts + 43116, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE - ts + 41807, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 43155, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 41849, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 41889, /* "SELECT %s FROM %..." */ // SCAN + ts + 43197, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG + ts + 43237, /* "SELECT %s FROM %..." */ // SCAN } var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr = uintptr(0) @@ -199428,7 +205538,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+937 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -199466,18 +205576,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+41912, /* "DROP TABLE IF EX..." */ + ts+43260, /* "DROP TABLE IF EX..." */ 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+42016, /* "DROP TABLE IF EX..." */ + ts+43364, /* "DROP TABLE IF EX..." */ 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+42054, /* "DROP TABLE IF EX..." */ + ts+43402, /* "DROP TABLE IF EX..." */ libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc @@ -199489,7 +205599,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+42092, /* "ALTER TABLE %Q.'..." */ + ts+43440, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -199501,14 +205611,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp /* rc */)) = sqlite3Fts5StorageSync(tls, pStorage) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+30596 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+14673 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+41412 /* "config" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+30611 /* "data" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+14688 /* "idx" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+42760 /* "config" */, zName) if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+39213 /* "docsize" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+40566 /* "docsize" */, zName) } if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+38862 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+40215 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -199522,17 +205632,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn var rc int32 *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+42134, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+43482, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { - return ts + 35211 /* " WITHOUT ROWID" */ + return ts + 35226 /* " WITHOUT ROWID" */ } - return ts + 901 /* "" */ + return ts + 916 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+42164, /* "fts5: error crea..." */ + ts+43512, /* "fts5: error crea..." */ libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } @@ -199574,27 +205684,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+42208 /* "id INTEGER PRIMA..." */, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, ts+43556 /* "id INTEGER PRIMA..." */, 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+42231 /* ", c%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, (nDefn - iOff), (zDefn + uintptr(iOff)), ts+43579 /* ", c%d" */, libc.VaList(bp, i)) iOff = iOff + (int32(libc.Xstrlen(tls, (zDefn + uintptr(iOff))))) } - rc = sqlite3Fts5CreateTable(tls, pConfig, ts+38862 /* "content" */, zDefn, 0, pzErr) + rc = sqlite3Fts5CreateTable(tls, pConfig, ts+40215 /* "content" */, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+39213 /* "docsize" */, ts+42237 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+40566 /* "docsize" */, ts+43585 /* "id INTEGER PRIMA..." */, 0, pzErr) } if rc == SQLITE_OK { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+41412 /* "config" */, ts+42269 /* "k PRIMARY KEY, v" */, 1, pzErr) + pConfig, ts+42760 /* "config" */, ts+43617 /* "k PRIMARY KEY, v" */, 1, pzErr) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+39359 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+40712 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -199831,12 +205941,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: // Delete the contents of the %_data and %_docsize tables. rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+42286, /* "DELETE FROM %Q.'..." */ + ts+43634, /* "DELETE FROM %Q.'..." */ 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+42336, /* "DELETE FROM %Q.'..." */ + ts+43684, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -199846,7 +205956,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+39359 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+40712 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -200041,7 +206151,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+42365, /* "SELECT count(*) ..." */ + zSql = Xsqlite3_mprintf(tls, ts+43713, /* "SELECT count(*) ..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -200238,14 +206348,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // number of rows. if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { *(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+38862 /* "content" */, bp+48 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+40215 /* "content" */, bp+48 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) != (*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 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+39213 /* "docsize" */, bp+56 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+40566 /* "docsize" */, bp+56 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 56 /* nRow */)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) } @@ -200481,9 +206591,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, libc.X__builtin___memcpy_chk(tls, p /* &.aTokenChar */, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)), libc.X__builtin_object_size(tls, p /* &.aTokenChar */, 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+42397 /* "tokenchars" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+43745 /* "tokenchars" */) { fts5AsciiAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42408 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+43756 /* "separators" */) { fts5AsciiAddExceptions(tls, p, zArg, 0) } else { rc = SQLITE_ERROR @@ -200723,7 +206833,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 + 42419 /* "L* N* Co" */ + var zCat uintptr = ts + 43767 /* "L* N* Co" */ var i int32 libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})), libc.X__builtin_object_size(tls, p, 0)) @@ -200736,7 +206846,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Search for a "categories" argument for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42428 /* "categories" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+43776 /* "categories" */) { zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*8)) } } @@ -200747,18 +206857,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+42439 /* "remove_diacritic..." */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+43787 /* "remove_diacritic..." */) { 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+42397 /* "tokenchars" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+43745 /* "tokenchars" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42408 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+43756 /* "separators" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 0) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42428 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+43776 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -201070,7 +207180,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 /* pUserdata */)) = uintptr(0) - var zBase uintptr = ts + 42457 /* "unicode61" */ + var zBase uintptr = ts + 43805 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -201223,7 +207333,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42467 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+43815 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -201231,11 +207341,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42470 /* "ance" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+43818 /* "ance" */, (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+42475 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+43823 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -201243,7 +207353,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42480 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+43828 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -201251,7 +207361,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42483 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+43831 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -201259,11 +207369,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42486 /* "able" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+43834 /* "able" */, (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+42491 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+43839 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -201271,19 +207381,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42496 /* "ant" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+43844 /* "ant" */, (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+42500 /* "ement" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+43848 /* "ement" */, (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+42506 /* "ment" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+43854 /* "ment" */, (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+42511 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+43859 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -201291,11 +207401,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42515 /* "ion" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+43863 /* "ion" */, (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+42519 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+43867 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -201303,7 +207413,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42522 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+43870 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -201311,11 +207421,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42526 /* "ate" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+43874 /* "ate" */, (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+42530 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+43878 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -201323,7 +207433,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42534 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+43882 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -201331,7 +207441,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42538 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+43886 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -201339,7 +207449,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42542 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+43890 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -201356,24 +207466,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42546 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 2))), ts+42526 /* "ate" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-2))), 0)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+43894 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 2))), ts+43874 /* "ate" */, 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+42549 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 2))), ts+42552 /* "ble" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-2))), 0)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+43897 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 2))), ts+43900 /* "ble" */, 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+42556 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 2))), ts+42542 /* "ize" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-2))), 0)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+43904 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 2))), ts+43890 /* "ize" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-2))), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } @@ -201389,137 +207499,137 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42559 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+43907 /* "ational" */, (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+42526 /* "ate" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-7))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 7))), ts+43874 /* "ate" */, 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+42567 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+43915 /* "tional" */, (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+42574 /* "tion" */, uint64(4), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-6))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 6))), ts+43922 /* "tion" */, 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+42579 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+43927 /* "enci" */, (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+42475 /* "ence" */, uint64(4), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+43823 /* "ence" */, 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+42584 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+43932 /* "anci" */, (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+42470 /* "ance" */, uint64(4), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+43818 /* "ance" */, 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+42589 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+43937 /* "izer" */, (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+42542 /* "ize" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+43890 /* "ize" */, 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+42594 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+43942 /* "logi" */, (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+19365 /* "log" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+19380 /* "log" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'l': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42599 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+43947 /* "bli" */, (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+42552 /* "ble" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-3))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 3))), ts+43900 /* "ble" */, 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+42603 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+43951 /* "alli" */, (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+42467 /* "al" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+43815 /* "al" */, 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+42608 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+43956 /* "entli" */, (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+42511 /* "ent" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+43859 /* "ent" */, 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+42614 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+43962 /* "eli" */, (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+42618 /* "e" */, uint64(1), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-3))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 3))), ts+43966 /* "e" */, 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+42620 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+43968 /* "ousli" */, (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+42534 /* "ous" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+43882 /* "ous" */, 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+42626 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+43974 /* "ization" */, (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+42542 /* "ize" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-7))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 7))), ts+43890 /* "ize" */, 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+42634 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+43982 /* "ation" */, (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+42526 /* "ate" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+43874 /* "ate" */, 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+42640 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+43988 /* "ator" */, (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+42526 /* "ate" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+43874 /* "ate" */, 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+42645 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+43993 /* "alism" */, (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+42467 /* "al" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+43815 /* "al" */, 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+42651 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+43999 /* "iveness" */, (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+42538 /* "ive" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-7))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 7))), ts+43886 /* "ive" */, 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+42659 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+44007 /* "fulness" */, (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+42667 /* "ful" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-7))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 7))), ts+44015 /* "ful" */, 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+42671 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+44019 /* "ousness" */, (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+42534 /* "ous" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-7))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 7))), ts+43882 /* "ous" */, 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+42679 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+44027 /* "aliti" */, (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+42467 /* "al" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+43815 /* "al" */, 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+42685 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+44033 /* "iviti" */, (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+42538 /* "ive" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+43886 /* "ive" */, 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+42691 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+44039 /* "biliti" */, (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+42552 /* "ble" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-6))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 6))), ts+43900 /* "ble" */, uint64(3), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-6))), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -201535,16 +207645,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42698 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+44046 /* "ical" */, (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+42483 /* "ic" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-4))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 4))), ts+43831 /* "ic" */, 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+42703 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+44051 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -201552,21 +207662,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42708 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+44056 /* "icate" */, (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+42483 /* "ic" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+43831 /* "ic" */, 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+42714 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+44062 /* "iciti" */, (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+42483 /* "ic" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+43831 /* "ic" */, 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+42667 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+44015 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -201574,7 +207684,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42720 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+44068 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 5) } @@ -201582,9 +207692,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42726 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+44074 /* "alize" */, (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+42467 /* "al" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 5))), ts+43815 /* "al" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-5))), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -201600,12 +207710,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'e': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42732 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+44080 /* "eed" */, (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+42736 /* "ee" */, uint64(2), libc.X__builtin_object_size(tls, (aBuf+uintptr((nBuf-3))), 0)) + libc.X__builtin___memcpy_chk(tls, (aBuf + uintptr((nBuf - 3))), ts+44084 /* "ee" */, 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+42739 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+44087 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) ret = 1 @@ -201614,7 +207724,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42742 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+44090 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) ret = 1 @@ -201784,7 +207894,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+42746 /* "case_sensitive" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+44094 /* "case_sensitive" */) { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { @@ -201974,22 +208084,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: defer tls.Free(128) *(*[4]BuiltinTokenizer)(unsafe.Pointer(bp /* aBuiltin */)) = [4]BuiltinTokenizer{ - {FzName: ts + 42457 /* "unicode61" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 43805 /* "unicode61" */, 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 + 42761 /* "ascii" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 44109 /* "ascii" */, 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 + 42767 /* "porter" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 44115 /* "porter" */, 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 + 42774 /* "trigram" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 44122 /* "trigram" */, 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 @@ -203336,14 +209446,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8 /* &rc */, zType, -1) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, ts+42782 /* "col" */) == 0 { + if Xsqlite3_stricmp(tls, zCopy, ts+44130 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL - } else if Xsqlite3_stricmp(tls, zCopy, ts+42786 /* "row" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+44134 /* "row" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW - } else if Xsqlite3_stricmp(tls, zCopy, ts+42790 /* "instance" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+44138 /* "instance" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42799 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+44147 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) @@ -203390,19 +209500,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv defer tls.Free(36) *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azSchema */)) = [3]uintptr{ - ts + 42833, /* "CREATE TABlE voc..." */ - ts + 42873, /* "CREATE TABlE voc..." */ - ts + 42908, /* "CREATE TABlE voc..." */ + ts + 44181, /* "CREATE TABlE voc..." */ + ts + 44221, /* "CREATE TABlE voc..." */ + ts + 44256, /* "CREATE TABlE voc..." */ } var pRet uintptr = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK // Return code var bDb int32 - bDb = (libc.Bool32(((argc == 6) && (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4))) && (libc.Xmemcmp(tls, ts+27213 /* "temp" */, *(*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+27228 /* "temp" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0))) if (argc != 5) && (bDb == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42951 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+44299 /* "wrong number of ..." */, 0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR } else { var nByte int32 // Bytes of space to allocate @@ -203554,11 +209664,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+42984 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+44332 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } zSql = sqlite3Fts5Mprintf(tls, bp+64, /* &rc */ - ts+43015, /* "SELECT t.%Q FROM..." */ + ts+44363, /* "SELECT t.%Q FROM..." */ 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 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72 /* &pStmt */, uintptr(0)) @@ -203582,7 +209692,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+43066 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+44414 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } else { @@ -203870,7 +209980,7 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused if pLe != 0 { var zCopy uintptr = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = ts + 901 /* "" */ + zCopy = ts + 916 /* "" */ } (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm + 1)) @@ -203987,7 +210097,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:235171:12: */ var p uintptr = pGlobal - return Xsqlite3_create_module_v2(tls, db, ts+43092 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, ts+44440 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } var fts5Vocab = Sqlite3_module{ @@ -204103,7 +210213,7 @@ func stmtConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp rc = Xsqlite3_declare_vtab(tls, db, - ts+43102 /* "CREATE TABLE x(s..." */) + ts+44450 /* "CREATE TABLE x(s..." */) if rc == SQLITE_OK { pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Stmt_vtab{}))) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -204260,14 +210370,14 @@ var stmtModule = Sqlite3_module{ // xCreate func Xsqlite3StmtVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:235483:20: */ var rc int32 = SQLITE_OK - rc = Xsqlite3_create_module(tls, db, ts+43174 /* "sqlite_stmt" */, uintptr(unsafe.Pointer(&stmtModule)), uintptr(0)) + rc = Xsqlite3_create_module(tls, db, ts+44522 /* "sqlite_stmt" */, uintptr(unsafe.Pointer(&stmtModule)), uintptr(0)) return rc } //************* End of stmt.c *********************************************** // Return the source-id for this library func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:235516:23: */ - return ts + 43186 /* "2021-06-18 18:36..." */ + return ts + 44534 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -205371,5 +211481,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128 /* .xGetLastError */)) = rbuVfsGetLastError // sqlite3.c:205300:5: } -var ts1 = "COMPILER=gcc-11.1.0\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00NONE\x00SHARED\x00RESERVED\x00PENDING\x00EXCLUSIVE\x00ERROR\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\x00TEST WR-LOCK %d %d %d (unix)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (unix)\n\x00LOCK %d %s ok (already held) (unix)\n\x00LOCK %d %s %s (unix)\n\x00ok\x00failed\x00UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n\x00CLOSE %-3d\n\x00TEST WR-LOCK %d %d %d (dotlock)\n\x00UNLOCK %d %d was %d pid=%d (dotlock)\n\x00TEST WR-LOCK %d %d %d (flock)\n\x00LOCK %d %s %s (flock)\n\x00UNLOCK %d %d was %d pid=%d (flock)\n\x00AFPSETLOCK [%s] for %d%s in range %llx:%llx\n\x00ON\x00OFF\x00[testval-1]\x00AFPSETLOCK failed to fsctl() '%s' %d %s\n\x00TEST WR-LOCK %d %d %d (afp)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (afp)\n\x00LOCK %d %s ok (already held) (afp)\n\x00LOCK %d %s %s (afp)\n\x00UNLOCK %d %d was %d(%d,%d) pid=%d (afp)\n\x00READ %-3d %5d %7lld %llu\n\x00WRITE %-3d %5d %7lld %llu\n\x00OPENDIR %-3d %s\n\x00SYNC %-3d\n\x00full_fsync\x00DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n\x00%s-shm\x00readonly_shm\x00SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n\x00nfs\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00OPEN %-3d %s\n\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00OPENX %-3d %s 0%o\n\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00GETLOCKPATH failed %s errno=%d pid=%d\n\x00sqliteplocks\x00/\x00GETLOCKPATH proxy lock path=%s pid=%d\n\x00CREATELOCKPATH FAILED creating %s, '%s' proxy lock path=%s pid=%d\n\x00CREATELOCKPATH proxy lock path=%s pid=%d\n\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\x00TAKECONCH %d for %s pid=%d\n\x00TRANSPROXY: CLOSE %d\n\x00TRANSPROXY: OPEN %d\n\x00TAKECONCH %d %s\n\x00RELEASECONCH %d for %s pid=%d\n\x00RELEASECONCH %d %s\n\x00-conch\x00.lock\x00TRANSPROXY %d for %s pid=%d\n\x00TRANSPROXY %d %s\n\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\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\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\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.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\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\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\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\x00lock_status\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\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\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\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\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\x00call flush_partition\x00%s clause should come after %s not before\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: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\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\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\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\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00 OR \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\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\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=gcc-11.1.0\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00NONE\x00SHARED\x00RESERVED\x00PENDING\x00EXCLUSIVE\x00ERROR\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\x00TEST WR-LOCK %d %d %d (unix)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (unix)\n\x00LOCK %d %s ok (already held) (unix)\n\x00LOCK %d %s %s (unix)\n\x00ok\x00failed\x00UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n\x00CLOSE %-3d\n\x00TEST WR-LOCK %d %d %d (dotlock)\n\x00UNLOCK %d %d was %d pid=%d (dotlock)\n\x00TEST WR-LOCK %d %d %d (flock)\n\x00LOCK %d %s %s (flock)\n\x00UNLOCK %d %d was %d pid=%d (flock)\n\x00AFPSETLOCK [%s] for %d%s in range %llx:%llx\n\x00ON\x00OFF\x00[testval-1]\x00AFPSETLOCK failed to fsctl() '%s' %d %s\n\x00TEST WR-LOCK %d %d %d (afp)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (afp)\n\x00LOCK %d %s ok (already held) (afp)\n\x00LOCK %d %s %s (afp)\n\x00UNLOCK %d %d was %d(%d,%d) pid=%d (afp)\n\x00READ %-3d %5d %7lld %llu\n\x00WRITE %-3d %5d %7lld %llu\n\x00OPENDIR %-3d %s\n\x00SYNC %-3d\n\x00full_fsync\x00DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n\x00%s-shm\x00readonly_shm\x00SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n\x00nfs\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00OPEN %-3d %s\n\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00OPENX %-3d %s 0%o\n\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00GETLOCKPATH failed %s errno=%d pid=%d\n\x00sqliteplocks\x00/\x00GETLOCKPATH proxy lock path=%s pid=%d\n\x00CREATELOCKPATH FAILED creating %s, '%s' proxy lock path=%s pid=%d\n\x00CREATELOCKPATH proxy lock path=%s pid=%d\n\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\x00TAKECONCH %d for %s pid=%d\n\x00TRANSPROXY: CLOSE %d\n\x00TRANSPROXY: OPEN %d\n\x00TAKECONCH %d %s\n\x00RELEASECONCH %d for %s pid=%d\n\x00RELEASECONCH %d %s\n\x00-conch\x00.lock\x00TRANSPROXY %d for %s pid=%d\n\x00TRANSPROXY %d %s\n\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\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\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\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.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\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\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\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\x00lock_status\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\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\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\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\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\x00call flush_partition\x00%s clause should come after %s not before\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: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\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\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\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\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\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\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/libtest/sqlite_darwin_arm64.go b/libtest/sqlite_darwin_arm64.go index 93141c4..306c460 100644 --- a/libtest/sqlite_darwin_arm64.go +++ b/libtest/sqlite_darwin_arm64.go @@ -119940,7 +119940,6 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __4 goto __6 __6: - } } @@ -175848,7 +175847,6 @@ __15: goto __14 goto __16 __16: - } // This is a helper function for rbuObjIterCacheTableInfo(). It populates diff --git a/libtest/sqlite_linux_386.go b/libtest/sqlite_linux_386.go index afbc9dc..5cbf85c 100644 --- a/libtest/sqlite_linux_386.go +++ b/libtest/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 "" -pkgname sqlite3 -o libtest/sqlite_linux_386.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -pkgname sqlite3 -o libtest/sqlite_linux_386.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP', DO NOT EDIT. package sqlite3 @@ -1417,6 +1417,9 @@ const ( SEEK_HOLE = 4 SEEK_SET = 0 SELECTTRACE_ENABLED = 0 + SESSIONS_STRM_CHUNK_SIZE = 64 + SESSION_MAX_BUFFER_SZ = 2147483391 + SESSION_UPDATE_CACHE_SZ = 12 SF_Aggregate = 0x0000008 SF_All = 0x0000002 SF_ComplexResult = 0x0040000 @@ -1563,6 +1566,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -1726,6 +1740,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_STMTVTAB = 1 @@ -2098,6 +2113,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3724,7 +3741,7 @@ type X__float128 = float64 /* :47:21 */ // This array looks large, but in a typical installation actually uses // only a handful of compile-time options, so most times this array is usually // rather short and uses little memory space. -var sqlite3azCompileOpt = [27]uintptr{ +var sqlite3azCompileOpt = [28]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl ts, /* "COMPILER=gcc-8.3..." */ @@ -3743,17 +3760,18 @@ var sqlite3azCompileOpt = [27]uintptr{ ts + 256, /* "ENABLE_PREUPDATE..." */ ts + 278, /* "ENABLE_RBU" */ ts + 289, /* "ENABLE_RTREE" */ - ts + 302, /* "ENABLE_SNAPSHOT" */ - ts + 318, /* "ENABLE_STAT4" */ - ts + 331, /* "ENABLE_STMTVTAB" */ - ts + 347, /* "ENABLE_UNLOCK_NO..." */ - ts + 368, /* "LIKE_DOESNT_MATC..." */ - ts + 392, /* "MUTEX_NOOP" */ - ts + 403, /* "SOUNDEX" */ - ts + 411, /* "SYSTEM_MALLOC" */ - ts + 425, /* "TEMP_STORE=1" */ - ts + 438, /* "TEST" */ - ts + 443, /* "THREADSAFE=1" */ + ts + 302, /* "ENABLE_SESSION" */ + ts + 317, /* "ENABLE_SNAPSHOT" */ + ts + 333, /* "ENABLE_STAT4" */ + ts + 346, /* "ENABLE_STMTVTAB" */ + ts + 362, /* "ENABLE_UNLOCK_NO..." */ + ts + 383, /* "LIKE_DOESNT_MATC..." */ + ts + 407, /* "MUTEX_NOOP" */ + ts + 418, /* "SOUNDEX" */ + ts + 426, /* "SYSTEM_MALLOC" */ + ts + 440, /* "TEMP_STORE=1" */ + ts + 453, /* "TEST" */ + ts + 458, /* "THREADSAFE=1" */ // END CODE GENERATED BY tool/mkctime.tcl } /* sqlite3.c:72:19 */ @@ -4069,7 +4087,7 @@ type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ // of the hash might be different from [SQLITE_SOURCE_ID].)^ // // See also: [sqlite_version()] and [sqlite_source_id()]. -var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 456 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ +var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 471 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -6605,6 +6623,493 @@ type Sqlite3_rtree_dbl = float64 /* sqlite3.c:11048:18 */ //******* End of sqlite3rtree.h ******** //******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type sqlite3_session = struct { + Fdb uintptr + FzDb uintptr + FbEnableSize int32 + FbEnable int32 + FbIndirect int32 + FbAutoAttach int32 + Frc int32 + FpFilterCtx uintptr + FxTableFilter uintptr + FnMalloc I64 + FnMaxChangesetSize I64 + FpZeroBlob uintptr + FpNext uintptr + FpTable uintptr + Fhook SessionHook +} /* sqlite3.c:11155:9 */ + +// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. + +//******* End of sqlite3rtree.h ******** +//******* Begin file sqlite3session.h ******** + +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type sqlite3_changeset_iter = struct { + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + FabPK uintptr + FapValue uintptr +} /* sqlite3.c:11163:9 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type Sqlite3_changeset_iter = sqlite3_changeset_iter /* sqlite3.c:11163:39 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type sqlite3_changegroup = struct { + Frc int32 + FbPatch int32 + FpList uintptr +} /* sqlite3.c:12015:9 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type Sqlite3_changegroup = sqlite3_changegroup /* sqlite3.c:12015:36 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type sqlite3_rebaser = struct{ Fgrp Sqlite3_changegroup } /* sqlite3.c:12579:9 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ + +// CAPI3REF: Values for sqlite3session_config(). + +// Make sure we can call this stuff from C++. + //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** // 2014 May 31 @@ -6654,10 +7159,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.c:12895:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -10494,7 +10998,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 463 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 478 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -11638,7 +12142,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+470 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+485 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { goto __9 } return 1 @@ -11675,13 +12179,13 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 // var s int32 at bp+32, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+478 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+493 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+486 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+501 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -11800,7 +12304,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+490 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+505 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -11881,7 +12385,7 @@ func parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) i return 0 } else if parseHhMmSs(tls, zDate, p) == 0 { return 0 - } else if (Xsqlite3StrICmp(tls, zDate, ts+502 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { + } else if (Xsqlite3StrICmp(tls, zDate, ts+517 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { return setDateTimeToCurrent(tls, context, p) } else if Xsqlite3AtoF(tls, zDate, bp /* &r */, Xsqlite3Strlen30(tls, zDate), uint8(SQLITE_UTF8)) > 0 { setRawDateNumber(tls, p, *(*float64)(unsafe.Pointer(bp /* r */))) @@ -12063,7 +12567,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite computeJD(tls, bp+44 /* &x */) *(*Time_t)(unsafe.Pointer(bp + 92 /* t */)) = (Time_t(((*DateTime)(unsafe.Pointer(bp+44 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000)))) if osLocaltime(tls, bp+92 /* &t */, bp /* &sLocal */) != 0 { - Xsqlite3_result_error(tls, pCtx, ts+506 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+521 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -12098,12 +12602,12 @@ var aXformType = [6]struct { FrLimit float64 FrXform float64 }{ - {FnName: U8(6), FzName: ts + 529 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, - {FnName: U8(6), FzName: ts + 536 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, - {FnName: U8(4), FzName: ts + 543 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, - {FnName: U8(3), FzName: ts + 548 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, - {FeType: U8(1), FnName: U8(5), FzName: ts + 552 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, - {FeType: U8(2), FnName: U8(4), FzName: ts + 558 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, + {FnName: U8(6), FzName: ts + 544 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, + {FnName: U8(6), FzName: ts + 551 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, + {FnName: U8(4), FzName: ts + 558 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, + {FnName: U8(3), FzName: ts + 563 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, + {FeType: U8(1), FnName: U8(5), FzName: ts + 567 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, + {FeType: U8(2), FnName: U8(4), FzName: ts + 573 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, } /* sqlite3.c:22795:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -12142,7 +12646,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Assuming the current time value is UTC (a.k.a. GMT), shift it to // show local time. - if (Xsqlite3_stricmp(tls, z, ts+563 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + if (Xsqlite3_stricmp(tls, z, ts+578 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { computeJD(tls, p) *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (localtimeOffset(tls, p, pCtx, bp /* &rc */)) clearYMD_HMS_TZ(tls, p) @@ -12156,7 +12660,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Treat the current value of p->s as the number of // seconds since 1970. Convert to a real julian day number. - if (Xsqlite3_stricmp(tls, z, ts+573 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { + if (Xsqlite3_stricmp(tls, z, ts+588 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { *(*float64)(unsafe.Pointer(bp + 4 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 4 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 4 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) @@ -12165,7 +12669,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+583 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + } else if (Xsqlite3_stricmp(tls, z, ts+598 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { if int32((*DateTime)(unsafe.Pointer(p)).FtzSet) == 0 { var c1 Sqlite3_int64 computeJD(tls, p) @@ -12190,7 +12694,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // Move the date to the same time on the next occurrence of // weekday N where 0==Sunday, 1==Monday, and so forth. If the // date is already on the appropriate weekday, this is a no-op. - if ((((Xsqlite3_strnicmp(tls, z, ts+587 /* "weekday " */, 8) == 0) && + if ((((Xsqlite3_strnicmp(tls, z, ts+602 /* "weekday " */, 8) == 0) && (Xsqlite3AtoF(tls, (z+8), bp+4 /* &r */, Xsqlite3Strlen30(tls, (z+8)), uint8(SQLITE_UTF8)) > 0)) && ((float64(libc.AssignInt32(&n, int32(*(*float64)(unsafe.Pointer(bp + 4 /* r */)))))) == *(*float64)(unsafe.Pointer(bp + 4 /* r */)))) && (n >= 0)) && (*(*float64)(unsafe.Pointer(bp + 4 /* r */)) < float64(7)) { var Z Sqlite3_int64 @@ -12215,7 +12719,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Move the date backwards to the beginning of the current day, // or month or year. - if Xsqlite3_strnicmp(tls, z, ts+596 /* "start of " */, 9) != 0 { + if Xsqlite3_strnicmp(tls, z, ts+611 /* "start of " */, 9) != 0 { break } if (!(int32((*DateTime)(unsafe.Pointer(p)).FvalidJD) != 0) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidYMD) != 0)) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidHMS) != 0) { @@ -12229,14 +12733,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - if Xsqlite3_stricmp(tls, z, ts+552 /* "month" */) == 0 { + if Xsqlite3_stricmp(tls, z, ts+567 /* "month" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+558 /* "year" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+573 /* "year" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FM = 1 (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+548 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+563 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -12457,7 +12961,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // var zBuf [100]int8 at bp+96, 100 computeYMD_HMS(tls, bp+48 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+606, /* "%04d-%02d-%02d %..." */ + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+621, /* "%04d-%02d-%02d %..." */ libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } @@ -12476,7 +12980,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeHMS(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+636 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+651 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -12494,7 +12998,7 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeYMD(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+651 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+666 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -12621,7 +13125,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (Size_t(2)) break fallthrough @@ -12631,14 +13135,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+671 /* "%06.3f" */, libc.VaList(bp+8, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+686 /* "%06.3f" */, libc.VaList(bp+8, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) j = j + (Size_t(2)) break fallthrough @@ -12656,10 +13160,10 @@ __3: if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday wd = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) j = j + (Size_t(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+678 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+693 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) j = j + (Size_t(3)) } break @@ -12668,19 +13172,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+683 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+698 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) j = j + (Size_t(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) j = j + (Size_t(2)) break fallthrough @@ -12694,7 +13198,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (Size_t(2)) break fallthrough @@ -12707,7 +13211,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+689 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+704 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -12764,14 +13268,14 @@ func Xsqlite3RegisterDateTimeFunctions(tls *libc.TLS) { /* sqlite3.c:23404:21: * } var aDateTimeFuncs = [8]FuncDef{ - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 694 /* "julianday" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 704 /* "date" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 709 /* "time" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 714 /* "datetime" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 723 /* "strftime" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 732 /* "current_time" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 745 /* "current_timestam..." */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 763 /* "current_date" */}} /* sqlite3.c:23405:18 */ + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 709 /* "julianday" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 719 /* "date" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 724 /* "time" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 729 /* "datetime" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 738 /* "strftime" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 747 /* "current_time" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 760 /* "current_timestam..." */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 778 /* "current_date" */}} /* sqlite3.c:23405:18 */ //************* End of date.c *********************************************** //************* Begin file os.c ********************************************* @@ -13468,7 +13972,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p += 8 } else { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+776 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+791 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -13519,7 +14023,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* } else { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+814, /* "failed memory re..." */ + ts+829, /* "failed memory re..." */ libc.VaList(bp, sqlite3MemSize(tls, pPrior), nByte)) } return p @@ -14703,8 +15207,8 @@ type Et_info = et_info /* sqlite3.c:28672:3 */ // The following table is searched linearly, so it is good to put the // most frequently used conversion types first. -var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 850 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 883 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ +var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 865 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 898 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ var fmtinfo = [23]Et_info{ {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, {Ffmttype: int8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, @@ -14958,7 +15462,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+890 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+905 /* "%" */, 1) goto __5 __11: ; @@ -15541,7 +16045,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 892 /* "NaN" */ + bufpt = ts + 907 /* "NaN" */ length = 3 goto __58 __127: @@ -15601,7 +16105,7 @@ __138: } bufpt = bp + 8 /* &buf[0] */ *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix - libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+896 /* "Inf" */, uint32(4)) + libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+911 /* "Inf" */, uint32(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: @@ -15958,7 +16462,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 900 /* "" */ + bufpt = ts + 915 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -16087,9 +16591,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 901 /* "NULL" */ + return ts + 916 /* "NULL" */ } - return ts + 906 /* "(NULL)" */ + return ts + 921 /* "(NULL)" */ }() __220: ; @@ -16224,7 +16728,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+913 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+928 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -16239,7 +16743,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+915 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, ts+930 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) __247: ; __246: @@ -16302,7 +16806,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 927 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 942 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -16688,7 +17192,7 @@ func Xsqlite3DebugPrintf(tls *libc.TLS, zFormat uintptr, va uintptr) { /* sqlite Xsqlite3_str_vappendf(tls, bp+8 /* &acc */, zFormat, ap) _ = ap Xsqlite3StrAccumFinish(tls, bp+8 /* &acc */) - libc.Xfprintf(tls, libc.Xstdout, ts+936 /* "%s" */, libc.VaList(bp, bp+32 /* &zBuf[0] */)) + libc.Xfprintf(tls, libc.Xstdout, ts+951 /* "%s" */, libc.VaList(bp, bp+32 /* &zBuf[0] */)) libc.Xfflush(tls, libc.Xstdout) } @@ -18599,7 +19103,7 @@ func compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) int32 { /* sqlite3.c var c int32 = 0 var i int32 // 012345678901234567 - var pow63 uintptr = ts + 939 /* "9223372036854775..." */ + var pow63 uintptr = ts + 954 /* "9223372036854775..." */ for i = 0; (c == 0) && (i < 18); i++ { c = ((int32(*(*int8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) } @@ -19249,7 +19753,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+958, /* "API call with %s..." */ + ts+973, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -19268,14 +19772,14 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ func Xsqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:33054:20: */ var magic U32 if db == uintptr(0) { - logBadConnection(tls, ts+901 /* "NULL" */) + logBadConnection(tls, ts+916 /* "NULL" */) return 0 } magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if magic != SQLITE_MAGIC_OPEN { if Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 { - logBadConnection(tls, ts+1003 /* "unopened" */) + logBadConnection(tls, ts+1018 /* "unopened" */) } return 0 } else { @@ -19289,7 +19793,7 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if ((magic != U32(SQLITE_MAGIC_SICK)) && (magic != SQLITE_MAGIC_OPEN)) && (magic != SQLITE_MAGIC_BUSY) { - logBadConnection(tls, ts+1012 /* "invalid" */) + logBadConnection(tls, ts+1027 /* "invalid" */) return 0 } else { return 1 @@ -19817,186 +20321,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 0 */ ts + 1020, /* "Savepoint\x00" */ - /* 1 */ ts + 1031, /* "AutoCommit\x00" */ - /* 2 */ ts + 1043, /* "Transaction\x00" */ - /* 3 */ ts + 1056, /* "SorterNext\x00" */ - /* 4 */ ts + 1068, /* "Prev\x00" */ - /* 5 */ ts + 1074, /* "Next\x00" */ - /* 6 */ ts + 1080, /* "Checkpoint\x00" */ - /* 7 */ ts + 1092, /* "JournalMode\x00" */ - /* 8 */ ts + 1105, /* "Vacuum\x00" */ - /* 9 */ ts + 1113, /* "VFilter\x00iplan=r[..." */ - /* 10 */ ts + 1144, /* "VUpdate\x00data=r[P..." */ - /* 11 */ ts + 1166, /* "Goto\x00" */ - /* 12 */ ts + 1172, /* "Gosub\x00" */ - /* 13 */ ts + 1179, /* "InitCoroutine\x00" */ - /* 14 */ ts + 1194, /* "Yield\x00" */ - /* 15 */ ts + 1201, /* "MustBeInt\x00" */ - /* 16 */ ts + 1212, /* "Jump\x00" */ - /* 17 */ ts + 1218, /* "Once\x00" */ - /* 18 */ ts + 1224, /* "If\x00" */ - /* 19 */ ts + 1228, /* "Not\x00r[P2]= !r[P1..." */ - /* 20 */ ts + 1246, /* "IfNot\x00" */ - /* 21 */ ts + 1253, /* "IfNullRow\x00if P1...." */ - /* 22 */ ts + 1302, /* "SeekLT\x00key=r[P3@..." */ - /* 23 */ ts + 1322, /* "SeekLE\x00key=r[P3@..." */ - /* 24 */ ts + 1342, /* "SeekGE\x00key=r[P3@..." */ - /* 25 */ ts + 1362, /* "SeekGT\x00key=r[P3@..." */ - /* 26 */ ts + 1382, /* "IfNotOpen\x00if( !c..." */ - /* 27 */ ts + 1415, /* "IfNoHope\x00key=r[P..." */ - /* 28 */ ts + 1437, /* "NoConflict\x00key=r..." */ - /* 29 */ ts + 1461, /* "NotFound\x00key=r[P..." */ - /* 30 */ ts + 1483, /* "Found\x00key=r[P3@P..." */ - /* 31 */ ts + 1502, /* "SeekRowid\x00intkey..." */ - /* 32 */ ts + 1525, /* "NotExists\x00intkey..." */ - /* 33 */ ts + 1548, /* "Last\x00" */ - /* 34 */ ts + 1554, /* "IfSmaller\x00" */ - /* 35 */ ts + 1565, /* "SorterSort\x00" */ - /* 36 */ ts + 1577, /* "Sort\x00" */ - /* 37 */ ts + 1583, /* "Rewind\x00" */ - /* 38 */ ts + 1591, /* "IdxLE\x00key=r[P3@P..." */ - /* 39 */ ts + 1610, /* "IdxGT\x00key=r[P3@P..." */ - /* 40 */ ts + 1629, /* "IdxLT\x00key=r[P3@P..." */ - /* 41 */ ts + 1648, /* "IdxGE\x00key=r[P3@P..." */ - /* 42 */ ts + 1667, /* "RowSetRead\x00r[P3]..." */ - /* 43 */ ts + 1695, /* "Or\x00r[P3]=(r[P1] ..." */ - /* 44 */ ts + 1721, /* "And\x00r[P3]=(r[P1]..." */ - /* 45 */ ts + 1748, /* "RowSetTest\x00if r[..." */ - /* 46 */ ts + 1790, /* "Program\x00" */ - /* 47 */ ts + 1799, /* "FkIfZero\x00if fkct..." */ - /* 48 */ ts + 1832, /* "IfPos\x00if r[P1]>0..." */ - /* 49 */ ts + 1873, /* "IfNotZero\x00if r[P..." */ - /* 50 */ ts + 1917, /* "IsNull\x00if r[P1]=..." */ - /* 51 */ ts + 1947, /* "NotNull\x00if r[P1]..." */ - /* 52 */ ts + 1978, /* "Ne\x00IF r[P3]!=r[P..." */ - /* 53 */ ts + 1997, /* "Eq\x00IF r[P3]==r[P..." */ - /* 54 */ ts + 2016, /* "Gt\x00IF r[P3]>r[P1..." */ - /* 55 */ ts + 2034, /* "Le\x00IF r[P3]<=r[P..." */ - /* 56 */ ts + 2053, /* "Lt\x00IF r[P3]=r[P..." */ - /* 58 */ ts + 2090, /* "ElseEq\x00" */ - /* 59 */ ts + 2098, /* "DecrJumpZero\x00if ..." */ - /* 60 */ ts + 2135, /* "IncrVacuum\x00" */ - /* 61 */ ts + 2147, /* "VNext\x00" */ - /* 62 */ ts + 2154, /* "Init\x00Start at P2" */ - /* 63 */ ts + 2171, /* "PureFunc\x00r[P3]=f..." */ - /* 64 */ ts + 2201, /* "Function\x00r[P3]=f..." */ - /* 65 */ ts + 2231, /* "Return\x00" */ - /* 66 */ ts + 2239, /* "EndCoroutine\x00" */ - /* 67 */ ts + 2253, /* "HaltIfNull\x00if r[..." */ - /* 68 */ ts + 2283, /* "Halt\x00" */ - /* 69 */ ts + 2289, /* "Integer\x00r[P2]=P1" */ - /* 70 */ ts + 2306, /* "Int64\x00r[P2]=P4" */ - /* 71 */ ts + 2321, /* "String\x00r[P2]='P4..." */ - /* 72 */ ts + 2348, /* "Null\x00r[P2..P3]=N..." */ - /* 73 */ ts + 2368, /* "SoftNull\x00r[P1]=N..." */ - /* 74 */ ts + 2388, /* "Blob\x00r[P2]=P4 (l..." */ - /* 75 */ ts + 2411, /* "Variable\x00r[P2]=p..." */ - /* 76 */ ts + 2443, /* "Move\x00r[P2@P3]=r[..." */ - /* 77 */ ts + 2466, /* "Copy\x00r[P2@P3+1]=..." */ - /* 78 */ ts + 2493, /* "SCopy\x00r[P2]=r[P1..." */ - /* 79 */ ts + 2511, /* "IntCopy\x00r[P2]=r[..." */ - /* 80 */ ts + 2531, /* "ChngCntRow\x00outpu..." */ - /* 81 */ ts + 2555, /* "ResultRow\x00output..." */ - /* 82 */ ts + 2581, /* "CollSeq\x00" */ - /* 83 */ ts + 2590, /* "AddImm\x00r[P1]=r[P..." */ - /* 84 */ ts + 2612, /* "RealAffinity\x00" */ - /* 85 */ ts + 2626, /* "Cast\x00affinity(r[..." */ - /* 86 */ ts + 2647, /* "Permutation\x00" */ - /* 87 */ ts + 2660, /* "Compare\x00r[P1@P3]..." */ - /* 88 */ ts + 2690, /* "IsTrue\x00r[P2] = c..." */ - /* 89 */ ts + 2735, /* "ZeroOrNull\x00r[P2]..." */ - /* 90 */ ts + 2764, /* "Offset\x00r[P3] = s..." */ - /* 91 */ ts + 2797, /* "Column\x00r[P3]=PX" */ - /* 92 */ ts + 2813, /* "Affinity\x00affinit..." */ - /* 93 */ ts + 2841, /* "MakeRecord\x00r[P3]..." */ - /* 94 */ ts + 2874, /* "Count\x00r[P2]=coun..." */ - /* 95 */ ts + 2894, /* "ReadCookie\x00" */ - /* 96 */ ts + 2906, /* "SetCookie\x00" */ - /* 97 */ ts + 2917, /* "ReopenIdx\x00root=P..." */ - /* 98 */ ts + 2942, /* "OpenRead\x00root=P2..." */ - /* 99 */ ts + 2966, /* "OpenWrite\x00root=P..." */ - /* 100 */ ts + 2991, /* "OpenDup\x00" */ - /* 101 */ ts + 3000, /* "OpenAutoindex\x00nC..." */ - /* 102 */ ts + 3025, /* "BitAnd\x00r[P3]=r[P..." */ - /* 103 */ ts + 3050, /* "BitOr\x00r[P3]=r[P1..." */ - /* 104 */ ts + 3074, /* "ShiftLeft\x00r[P3]=..." */ - /* 105 */ ts + 3103, /* "ShiftRight\x00r[P3]..." */ - /* 106 */ ts + 3133, /* "Add\x00r[P3]=r[P1]+..." */ - /* 107 */ ts + 3155, /* "Subtract\x00r[P3]=r..." */ - /* 108 */ ts + 3182, /* "Multiply\x00r[P3]=r..." */ - /* 109 */ ts + 3209, /* "Divide\x00r[P3]=r[P..." */ - /* 110 */ ts + 3234, /* "Remainder\x00r[P3]=..." */ - /* 111 */ ts + 3262, /* "Concat\x00r[P3]=r[P..." */ - /* 112 */ ts + 3287, /* "OpenEphemeral\x00nC..." */ - /* 113 */ ts + 3312, /* "BitNot\x00r[P2]= ~r..." */ - /* 114 */ ts + 3333, /* "SorterOpen\x00" */ - /* 115 */ ts + 3345, /* "SequenceTest\x00if(..." */ - /* 116 */ ts + 3389, /* "String8\x00r[P2]='P..." */ - /* 117 */ ts + 3408, /* "OpenPseudo\x00P3 co..." */ - /* 118 */ ts + 3439, /* "Close\x00" */ - /* 119 */ ts + 3446, /* "ColumnsUsed\x00" */ - /* 120 */ ts + 3459, /* "SeekScan\x00Scan-ah..." */ - /* 121 */ ts + 3493, /* "SeekHit\x00set P2<=..." */ - /* 122 */ ts + 3521, /* "Sequence\x00r[P2]=c..." */ - /* 123 */ ts + 3553, /* "NewRowid\x00r[P2]=r..." */ - /* 124 */ ts + 3574, /* "Insert\x00intkey=r[..." */ - /* 125 */ ts + 3605, /* "RowCell\x00" */ - /* 126 */ ts + 3614, /* "Delete\x00" */ - /* 127 */ ts + 3622, /* "ResetCount\x00" */ - /* 128 */ ts + 3634, /* "SorterCompare\x00if..." */ - /* 129 */ ts + 3683, /* "SorterData\x00r[P2]..." */ - /* 130 */ ts + 3705, /* "RowData\x00r[P2]=da..." */ - /* 131 */ ts + 3724, /* "Rowid\x00r[P2]=rowi..." */ - /* 132 */ ts + 3742, /* "NullRow\x00" */ - /* 133 */ ts + 3751, /* "SeekEnd\x00" */ - /* 134 */ ts + 3760, /* "IdxInsert\x00key=r[..." */ - /* 135 */ ts + 3780, /* "SorterInsert\x00key..." */ - /* 136 */ ts + 3803, /* "IdxDelete\x00key=r[..." */ - /* 137 */ ts + 3826, /* "DeferredSeek\x00Mov..." */ - /* 138 */ ts + 3869, /* "IdxRowid\x00r[P2]=r..." */ - /* 139 */ ts + 3890, /* "FinishSeek\x00" */ - /* 140 */ ts + 3902, /* "Destroy\x00" */ - /* 141 */ ts + 3911, /* "Clear\x00" */ - /* 142 */ ts + 3918, /* "ResetSorter\x00" */ - /* 143 */ ts + 3931, /* "CreateBtree\x00r[P2..." */ - /* 144 */ ts + 3970, /* "SqlExec\x00" */ - /* 145 */ ts + 3979, /* "ParseSchema\x00" */ - /* 146 */ ts + 3992, /* "LoadAnalysis\x00" */ - /* 147 */ ts + 4006, /* "DropTable\x00" */ - /* 148 */ ts + 4017, /* "DropIndex\x00" */ - /* 149 */ ts + 4028, /* "DropTrigger\x00" */ - /* 150 */ ts + 4041, /* "IntegrityCk\x00" */ - /* 151 */ ts + 4054, /* "RowSetAdd\x00rowset..." */ - /* 152 */ ts + 4081, /* "Real\x00r[P2]=P4" */ - /* 153 */ ts + 4095, /* "Param\x00" */ - /* 154 */ ts + 4102, /* "FkCounter\x00fkctr[..." */ - /* 155 */ ts + 4126, /* "MemMax\x00r[P1]=max..." */ - /* 156 */ ts + 4156, /* "OffsetLimit\x00if r..." */ - /* 157 */ ts + 4225, /* "AggInverse\x00accum..." */ - /* 158 */ ts + 4266, /* "AggStep\x00accum=r[..." */ - /* 159 */ ts + 4301, /* "AggStep1\x00accum=r..." */ - /* 160 */ ts + 4337, /* "AggValue\x00r[P3]=v..." */ - /* 161 */ ts + 4363, /* "AggFinal\x00accum=r..." */ - /* 162 */ ts + 4389, /* "Expire\x00" */ - /* 163 */ ts + 4397, /* "CursorLock\x00" */ - /* 164 */ ts + 4409, /* "CursorUnlock\x00" */ - /* 165 */ ts + 4423, /* "TableLock\x00iDb=P1..." */ - /* 166 */ ts + 4457, /* "VBegin\x00" */ - /* 167 */ ts + 4465, /* "VCreate\x00" */ - /* 168 */ ts + 4474, /* "VDestroy\x00" */ - /* 169 */ ts + 4484, /* "VOpen\x00" */ - /* 170 */ ts + 4491, /* "VColumn\x00r[P3]=vc..." */ - /* 171 */ ts + 4517, /* "VRename\x00" */ - /* 172 */ ts + 4526, /* "Pagecount\x00" */ - /* 173 */ ts + 4537, /* "MaxPgcnt\x00" */ - /* 174 */ ts + 4547, /* "Trace\x00" */ - /* 175 */ ts + 4554, /* "CursorHint\x00" */ - /* 176 */ ts + 4566, /* "ReleaseReg\x00relea..." */ - /* 177 */ ts + 4602, /* "Noop\x00" */ - /* 178 */ ts + 4608, /* "Explain\x00" */ - /* 179 */ ts + 4617, /* "Abortable\x00" */ + /* 0 */ ts + 1035, /* "Savepoint\x00" */ + /* 1 */ ts + 1046, /* "AutoCommit\x00" */ + /* 2 */ ts + 1058, /* "Transaction\x00" */ + /* 3 */ ts + 1071, /* "SorterNext\x00" */ + /* 4 */ ts + 1083, /* "Prev\x00" */ + /* 5 */ ts + 1089, /* "Next\x00" */ + /* 6 */ ts + 1095, /* "Checkpoint\x00" */ + /* 7 */ ts + 1107, /* "JournalMode\x00" */ + /* 8 */ ts + 1120, /* "Vacuum\x00" */ + /* 9 */ ts + 1128, /* "VFilter\x00iplan=r[..." */ + /* 10 */ ts + 1159, /* "VUpdate\x00data=r[P..." */ + /* 11 */ ts + 1181, /* "Goto\x00" */ + /* 12 */ ts + 1187, /* "Gosub\x00" */ + /* 13 */ ts + 1194, /* "InitCoroutine\x00" */ + /* 14 */ ts + 1209, /* "Yield\x00" */ + /* 15 */ ts + 1216, /* "MustBeInt\x00" */ + /* 16 */ ts + 1227, /* "Jump\x00" */ + /* 17 */ ts + 1233, /* "Once\x00" */ + /* 18 */ ts + 1239, /* "If\x00" */ + /* 19 */ ts + 1243, /* "Not\x00r[P2]= !r[P1..." */ + /* 20 */ ts + 1261, /* "IfNot\x00" */ + /* 21 */ ts + 1268, /* "IfNullRow\x00if P1...." */ + /* 22 */ ts + 1317, /* "SeekLT\x00key=r[P3@..." */ + /* 23 */ ts + 1337, /* "SeekLE\x00key=r[P3@..." */ + /* 24 */ ts + 1357, /* "SeekGE\x00key=r[P3@..." */ + /* 25 */ ts + 1377, /* "SeekGT\x00key=r[P3@..." */ + /* 26 */ ts + 1397, /* "IfNotOpen\x00if( !c..." */ + /* 27 */ ts + 1430, /* "IfNoHope\x00key=r[P..." */ + /* 28 */ ts + 1452, /* "NoConflict\x00key=r..." */ + /* 29 */ ts + 1476, /* "NotFound\x00key=r[P..." */ + /* 30 */ ts + 1498, /* "Found\x00key=r[P3@P..." */ + /* 31 */ ts + 1517, /* "SeekRowid\x00intkey..." */ + /* 32 */ ts + 1540, /* "NotExists\x00intkey..." */ + /* 33 */ ts + 1563, /* "Last\x00" */ + /* 34 */ ts + 1569, /* "IfSmaller\x00" */ + /* 35 */ ts + 1580, /* "SorterSort\x00" */ + /* 36 */ ts + 1592, /* "Sort\x00" */ + /* 37 */ ts + 1598, /* "Rewind\x00" */ + /* 38 */ ts + 1606, /* "IdxLE\x00key=r[P3@P..." */ + /* 39 */ ts + 1625, /* "IdxGT\x00key=r[P3@P..." */ + /* 40 */ ts + 1644, /* "IdxLT\x00key=r[P3@P..." */ + /* 41 */ ts + 1663, /* "IdxGE\x00key=r[P3@P..." */ + /* 42 */ ts + 1682, /* "RowSetRead\x00r[P3]..." */ + /* 43 */ ts + 1710, /* "Or\x00r[P3]=(r[P1] ..." */ + /* 44 */ ts + 1736, /* "And\x00r[P3]=(r[P1]..." */ + /* 45 */ ts + 1763, /* "RowSetTest\x00if r[..." */ + /* 46 */ ts + 1805, /* "Program\x00" */ + /* 47 */ ts + 1814, /* "FkIfZero\x00if fkct..." */ + /* 48 */ ts + 1847, /* "IfPos\x00if r[P1]>0..." */ + /* 49 */ ts + 1888, /* "IfNotZero\x00if r[P..." */ + /* 50 */ ts + 1932, /* "IsNull\x00if r[P1]=..." */ + /* 51 */ ts + 1962, /* "NotNull\x00if r[P1]..." */ + /* 52 */ ts + 1993, /* "Ne\x00IF r[P3]!=r[P..." */ + /* 53 */ ts + 2012, /* "Eq\x00IF r[P3]==r[P..." */ + /* 54 */ ts + 2031, /* "Gt\x00IF r[P3]>r[P1..." */ + /* 55 */ ts + 2049, /* "Le\x00IF r[P3]<=r[P..." */ + /* 56 */ ts + 2068, /* "Lt\x00IF r[P3]=r[P..." */ + /* 58 */ ts + 2105, /* "ElseEq\x00" */ + /* 59 */ ts + 2113, /* "DecrJumpZero\x00if ..." */ + /* 60 */ ts + 2150, /* "IncrVacuum\x00" */ + /* 61 */ ts + 2162, /* "VNext\x00" */ + /* 62 */ ts + 2169, /* "Init\x00Start at P2" */ + /* 63 */ ts + 2186, /* "PureFunc\x00r[P3]=f..." */ + /* 64 */ ts + 2216, /* "Function\x00r[P3]=f..." */ + /* 65 */ ts + 2246, /* "Return\x00" */ + /* 66 */ ts + 2254, /* "EndCoroutine\x00" */ + /* 67 */ ts + 2268, /* "HaltIfNull\x00if r[..." */ + /* 68 */ ts + 2298, /* "Halt\x00" */ + /* 69 */ ts + 2304, /* "Integer\x00r[P2]=P1" */ + /* 70 */ ts + 2321, /* "Int64\x00r[P2]=P4" */ + /* 71 */ ts + 2336, /* "String\x00r[P2]='P4..." */ + /* 72 */ ts + 2363, /* "Null\x00r[P2..P3]=N..." */ + /* 73 */ ts + 2383, /* "SoftNull\x00r[P1]=N..." */ + /* 74 */ ts + 2403, /* "Blob\x00r[P2]=P4 (l..." */ + /* 75 */ ts + 2426, /* "Variable\x00r[P2]=p..." */ + /* 76 */ ts + 2458, /* "Move\x00r[P2@P3]=r[..." */ + /* 77 */ ts + 2481, /* "Copy\x00r[P2@P3+1]=..." */ + /* 78 */ ts + 2508, /* "SCopy\x00r[P2]=r[P1..." */ + /* 79 */ ts + 2526, /* "IntCopy\x00r[P2]=r[..." */ + /* 80 */ ts + 2546, /* "ChngCntRow\x00outpu..." */ + /* 81 */ ts + 2570, /* "ResultRow\x00output..." */ + /* 82 */ ts + 2596, /* "CollSeq\x00" */ + /* 83 */ ts + 2605, /* "AddImm\x00r[P1]=r[P..." */ + /* 84 */ ts + 2627, /* "RealAffinity\x00" */ + /* 85 */ ts + 2641, /* "Cast\x00affinity(r[..." */ + /* 86 */ ts + 2662, /* "Permutation\x00" */ + /* 87 */ ts + 2675, /* "Compare\x00r[P1@P3]..." */ + /* 88 */ ts + 2705, /* "IsTrue\x00r[P2] = c..." */ + /* 89 */ ts + 2750, /* "ZeroOrNull\x00r[P2]..." */ + /* 90 */ ts + 2779, /* "Offset\x00r[P3] = s..." */ + /* 91 */ ts + 2812, /* "Column\x00r[P3]=PX" */ + /* 92 */ ts + 2828, /* "Affinity\x00affinit..." */ + /* 93 */ ts + 2856, /* "MakeRecord\x00r[P3]..." */ + /* 94 */ ts + 2889, /* "Count\x00r[P2]=coun..." */ + /* 95 */ ts + 2909, /* "ReadCookie\x00" */ + /* 96 */ ts + 2921, /* "SetCookie\x00" */ + /* 97 */ ts + 2932, /* "ReopenIdx\x00root=P..." */ + /* 98 */ ts + 2957, /* "OpenRead\x00root=P2..." */ + /* 99 */ ts + 2981, /* "OpenWrite\x00root=P..." */ + /* 100 */ ts + 3006, /* "OpenDup\x00" */ + /* 101 */ ts + 3015, /* "OpenAutoindex\x00nC..." */ + /* 102 */ ts + 3040, /* "BitAnd\x00r[P3]=r[P..." */ + /* 103 */ ts + 3065, /* "BitOr\x00r[P3]=r[P1..." */ + /* 104 */ ts + 3089, /* "ShiftLeft\x00r[P3]=..." */ + /* 105 */ ts + 3118, /* "ShiftRight\x00r[P3]..." */ + /* 106 */ ts + 3148, /* "Add\x00r[P3]=r[P1]+..." */ + /* 107 */ ts + 3170, /* "Subtract\x00r[P3]=r..." */ + /* 108 */ ts + 3197, /* "Multiply\x00r[P3]=r..." */ + /* 109 */ ts + 3224, /* "Divide\x00r[P3]=r[P..." */ + /* 110 */ ts + 3249, /* "Remainder\x00r[P3]=..." */ + /* 111 */ ts + 3277, /* "Concat\x00r[P3]=r[P..." */ + /* 112 */ ts + 3302, /* "OpenEphemeral\x00nC..." */ + /* 113 */ ts + 3327, /* "BitNot\x00r[P2]= ~r..." */ + /* 114 */ ts + 3348, /* "SorterOpen\x00" */ + /* 115 */ ts + 3360, /* "SequenceTest\x00if(..." */ + /* 116 */ ts + 3404, /* "String8\x00r[P2]='P..." */ + /* 117 */ ts + 3423, /* "OpenPseudo\x00P3 co..." */ + /* 118 */ ts + 3454, /* "Close\x00" */ + /* 119 */ ts + 3461, /* "ColumnsUsed\x00" */ + /* 120 */ ts + 3474, /* "SeekScan\x00Scan-ah..." */ + /* 121 */ ts + 3508, /* "SeekHit\x00set P2<=..." */ + /* 122 */ ts + 3536, /* "Sequence\x00r[P2]=c..." */ + /* 123 */ ts + 3568, /* "NewRowid\x00r[P2]=r..." */ + /* 124 */ ts + 3589, /* "Insert\x00intkey=r[..." */ + /* 125 */ ts + 3620, /* "RowCell\x00" */ + /* 126 */ ts + 3629, /* "Delete\x00" */ + /* 127 */ ts + 3637, /* "ResetCount\x00" */ + /* 128 */ ts + 3649, /* "SorterCompare\x00if..." */ + /* 129 */ ts + 3698, /* "SorterData\x00r[P2]..." */ + /* 130 */ ts + 3720, /* "RowData\x00r[P2]=da..." */ + /* 131 */ ts + 3739, /* "Rowid\x00r[P2]=rowi..." */ + /* 132 */ ts + 3757, /* "NullRow\x00" */ + /* 133 */ ts + 3766, /* "SeekEnd\x00" */ + /* 134 */ ts + 3775, /* "IdxInsert\x00key=r[..." */ + /* 135 */ ts + 3795, /* "SorterInsert\x00key..." */ + /* 136 */ ts + 3818, /* "IdxDelete\x00key=r[..." */ + /* 137 */ ts + 3841, /* "DeferredSeek\x00Mov..." */ + /* 138 */ ts + 3884, /* "IdxRowid\x00r[P2]=r..." */ + /* 139 */ ts + 3905, /* "FinishSeek\x00" */ + /* 140 */ ts + 3917, /* "Destroy\x00" */ + /* 141 */ ts + 3926, /* "Clear\x00" */ + /* 142 */ ts + 3933, /* "ResetSorter\x00" */ + /* 143 */ ts + 3946, /* "CreateBtree\x00r[P2..." */ + /* 144 */ ts + 3985, /* "SqlExec\x00" */ + /* 145 */ ts + 3994, /* "ParseSchema\x00" */ + /* 146 */ ts + 4007, /* "LoadAnalysis\x00" */ + /* 147 */ ts + 4021, /* "DropTable\x00" */ + /* 148 */ ts + 4032, /* "DropIndex\x00" */ + /* 149 */ ts + 4043, /* "DropTrigger\x00" */ + /* 150 */ ts + 4056, /* "IntegrityCk\x00" */ + /* 151 */ ts + 4069, /* "RowSetAdd\x00rowset..." */ + /* 152 */ ts + 4096, /* "Real\x00r[P2]=P4" */ + /* 153 */ ts + 4110, /* "Param\x00" */ + /* 154 */ ts + 4117, /* "FkCounter\x00fkctr[..." */ + /* 155 */ ts + 4141, /* "MemMax\x00r[P1]=max..." */ + /* 156 */ ts + 4171, /* "OffsetLimit\x00if r..." */ + /* 157 */ ts + 4240, /* "AggInverse\x00accum..." */ + /* 158 */ ts + 4281, /* "AggStep\x00accum=r[..." */ + /* 159 */ ts + 4316, /* "AggStep1\x00accum=r..." */ + /* 160 */ ts + 4352, /* "AggValue\x00r[P3]=v..." */ + /* 161 */ ts + 4378, /* "AggFinal\x00accum=r..." */ + /* 162 */ ts + 4404, /* "Expire\x00" */ + /* 163 */ ts + 4412, /* "CursorLock\x00" */ + /* 164 */ ts + 4424, /* "CursorUnlock\x00" */ + /* 165 */ ts + 4438, /* "TableLock\x00iDb=P1..." */ + /* 166 */ ts + 4472, /* "VBegin\x00" */ + /* 167 */ ts + 4480, /* "VCreate\x00" */ + /* 168 */ ts + 4489, /* "VDestroy\x00" */ + /* 169 */ ts + 4499, /* "VOpen\x00" */ + /* 170 */ ts + 4506, /* "VColumn\x00r[P3]=vc..." */ + /* 171 */ ts + 4532, /* "VRename\x00" */ + /* 172 */ ts + 4541, /* "Pagecount\x00" */ + /* 173 */ ts + 4552, /* "MaxPgcnt\x00" */ + /* 174 */ ts + 4562, /* "Trace\x00" */ + /* 175 */ ts + 4569, /* "CursorHint\x00" */ + /* 176 */ ts + 4581, /* "ReleaseReg\x00relea..." */ + /* 177 */ ts + 4617, /* "Noop\x00" */ + /* 178 */ ts + 4623, /* "Explain\x00" */ + /* 179 */ ts + 4632, /* "Abortable\x00" */ } /* sqlite3.c:33673:20 */ //************* End of opcodes.c ******************************************** @@ -21577,67 +22081,67 @@ type unix_syscall = struct { // testing and sandboxing. The following array holds the names and pointers // to all overrideable system calls. var aSyscall = [29]unix_syscall{ - {FzName: ts + 4628 /* "open" */, FpCurrent: 0}, + {FzName: ts + 4643 /* "open" */, FpCurrent: 0}, - {FzName: ts + 4633 /* "close" */, FpCurrent: 0}, + {FzName: ts + 4648 /* "close" */, FpCurrent: 0}, - {FzName: ts + 4639 /* "access" */, FpCurrent: 0}, + {FzName: ts + 4654 /* "access" */, FpCurrent: 0}, - {FzName: ts + 4646 /* "getcwd" */, FpCurrent: 0}, + {FzName: ts + 4661 /* "getcwd" */, FpCurrent: 0}, - {FzName: ts + 4653 /* "stat" */, FpCurrent: 0}, + {FzName: ts + 4668 /* "stat" */, FpCurrent: 0}, // The DJGPP compiler environment looks mostly like Unix, but it // lacks the fcntl() system call. So redefine fcntl() to be something // that always succeeds. This means that locking does not occur under // DJGPP. But it is DOS - what did you expect? - {FzName: ts + 4658 /* "fstat" */, FpCurrent: 0}, + {FzName: ts + 4673 /* "fstat" */, FpCurrent: 0}, - {FzName: ts + 4664 /* "ftruncate" */, FpCurrent: 0}, + {FzName: ts + 4679 /* "ftruncate" */, FpCurrent: 0}, - {FzName: ts + 4674 /* "fcntl" */, FpCurrent: 0}, + {FzName: ts + 4689 /* "fcntl" */, FpCurrent: 0}, - {FzName: ts + 4680 /* "read" */, FpCurrent: 0}, + {FzName: ts + 4695 /* "read" */, FpCurrent: 0}, - {FzName: ts + 4685 /* "pread" */}, + {FzName: ts + 4700 /* "pread" */}, - {FzName: ts + 4691 /* "pread64" */}, + {FzName: ts + 4706 /* "pread64" */}, - {FzName: ts + 4699 /* "write" */, FpCurrent: 0}, + {FzName: ts + 4714 /* "write" */, FpCurrent: 0}, - {FzName: ts + 4705 /* "pwrite" */}, + {FzName: ts + 4720 /* "pwrite" */}, - {FzName: ts + 4712 /* "pwrite64" */}, + {FzName: ts + 4727 /* "pwrite64" */}, - {FzName: ts + 4721 /* "fchmod" */, FpCurrent: 0}, + {FzName: ts + 4736 /* "fchmod" */, FpCurrent: 0}, - {FzName: ts + 4728 /* "fallocate" */}, + {FzName: ts + 4743 /* "fallocate" */}, - {FzName: ts + 4738 /* "unlink" */, FpCurrent: 0}, + {FzName: ts + 4753 /* "unlink" */, FpCurrent: 0}, - {FzName: ts + 4745 /* "openDirectory" */, FpCurrent: 0}, + {FzName: ts + 4760 /* "openDirectory" */, FpCurrent: 0}, - {FzName: ts + 4759 /* "mkdir" */, FpCurrent: 0}, + {FzName: ts + 4774 /* "mkdir" */, FpCurrent: 0}, - {FzName: ts + 4765 /* "rmdir" */, FpCurrent: 0}, + {FzName: ts + 4780 /* "rmdir" */, FpCurrent: 0}, - {FzName: ts + 4771 /* "fchown" */, FpCurrent: 0}, + {FzName: ts + 4786 /* "fchown" */, FpCurrent: 0}, - {FzName: ts + 4778 /* "geteuid" */, FpCurrent: 0}, + {FzName: ts + 4793 /* "geteuid" */, FpCurrent: 0}, - {FzName: ts + 4786 /* "mmap" */, FpCurrent: 0}, + {FzName: ts + 4801 /* "mmap" */, FpCurrent: 0}, - {FzName: ts + 4791 /* "munmap" */, FpCurrent: 0}, + {FzName: ts + 4806 /* "munmap" */, FpCurrent: 0}, - {FzName: ts + 4798 /* "mremap" */, FpCurrent: 0}, + {FzName: ts + 4813 /* "mremap" */, FpCurrent: 0}, - {FzName: ts + 4805 /* "getpagesize" */, FpCurrent: 0}, + {FzName: ts + 4820 /* "getpagesize" */, FpCurrent: 0}, - {FzName: ts + 4817 /* "readlink" */, FpCurrent: 0}, + {FzName: ts + 4832 /* "readlink" */, FpCurrent: 0}, - {FzName: ts + 4826 /* "lstat" */, FpCurrent: 0}, + {FzName: ts + 4841 /* "lstat" */, FpCurrent: 0}, - {FzName: ts + 4832 /* "ioctl" */}, + {FzName: ts + 4847 /* "ioctl" */}, } /* sqlite3.c:34446:3 */ // End of the overrideable system calls @@ -21771,9 +22275,9 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3 } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*12 + 4 /* &.pCurrent */))))(tls, fd) Xsqlite3_log(tls, SQLITE_WARNING, - ts+4838 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) + ts+4853 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) fd = -1 - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 4 /* &.pCurrent */))))(tls, ts+4881 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 4 /* &.pCurrent */))))(tls, ts+4896 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { break } } @@ -21832,17 +22336,17 @@ func unixLeaveMutex(tls *libc.TLS) { /* sqlite3.c:34800:13: */ func azFileLock(tls *libc.TLS, eFileLock int32) uintptr { /* sqlite3.c:34817:19: */ switch eFileLock { case NO_LOCK: - return ts + 4891 /* "NONE" */ + return ts + 4906 /* "NONE" */ case SHARED_LOCK: - return ts + 4896 /* "SHARED" */ + return ts + 4911 /* "SHARED" */ case RESERVED_LOCK: - return ts + 4903 /* "RESERVED" */ + return ts + 4918 /* "RESERVED" */ case PENDING_LOCK: - return ts + 4912 /* "PENDING" */ + return ts + 4927 /* "PENDING" */ case EXCLUSIVE_LOCK: - return ts + 4920 /* "EXCLUSIVE" */ + return ts + 4935 /* "EXCLUSIVE" */ } - return ts + 4930 /* "ERROR" */ + return ts + 4945 /* "ERROR" */ } // Retry ftruncate() calls that fail due to EINTR @@ -22050,13 +22554,13 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // the strerror() function to obtain the human-readable error message // equivalent to errno. Otherwise, use strerror_r(). // This is a threadsafe build, but strerror_r() is not available. - zErr = ts + 900 /* "" */ + zErr = ts + 915 /* "" */ if zPath == uintptr(0) { - zPath = ts + 900 /* "" */ + zPath = ts + 915 /* "" */ } Xsqlite3_log(tls, errcode, - ts+4936, /* "os_unix.c:%d: (%..." */ + ts+4951, /* "os_unix.c:%d: (%..." */ libc.VaList(bp, iLine, iErrno, zFunc, zPath, zErr)) return errcode @@ -22075,7 +22579,7 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // and move on. func robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { /* sqlite3.c:35345:13: */ if (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*12 + 4 /* &.pCurrent */))))(tls, h) != 0 { - unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+4633, /* "close" */ + unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+4648, /* "close" */ func() uintptr { if pFile != 0 { return (*UnixFile)(unsafe.Pointer(pFile)).FzPath @@ -22234,19 +22738,19 @@ func verifyDbFile(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:35532:13: */ rc = (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*12 + 4 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, bp+32 /* &buf */) if rc != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+4967 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+4982 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink == X__nlink_t(0) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+4991 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5006 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink > X__nlink_t(1) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+5020 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5035 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+5047 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5062 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -22293,7 +22797,7 @@ func unixCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { / Xsqlite3_mutex_leave(tls, (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FpLockMutex) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5075 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) + Xsqlite3DebugPrintf(tls, ts+5090 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) } *(*int32)(unsafe.Pointer(pResOut)) = reserved @@ -22436,7 +22940,7 @@ func unixLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:3 if !(Xsqlite3OSTrace != 0) { goto __1 } - Xsqlite3DebugPrintf(tls, ts+5105 /* "LOCK %d %s wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), azFileLock(tls, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock)), azFileLock(tls, int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock)), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5120 /* "LOCK %d %s wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), azFileLock(tls, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock)), azFileLock(tls, int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock)), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) __1: ; @@ -22449,7 +22953,7 @@ __1: if !(Xsqlite3OSTrace != 0) { goto __3 } - Xsqlite3DebugPrintf(tls, ts+5148 /* "LOCK %d %s ok..." */, libc.VaList(bp+48, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock))) + Xsqlite3DebugPrintf(tls, ts+5163 /* "LOCK %d %s ok..." */, libc.VaList(bp+48, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock))) __3: ; return SQLITE_OK @@ -22637,11 +23141,11 @@ end_lock: if !(Xsqlite3OSTrace != 0) { goto __25 } - Xsqlite3DebugPrintf(tls, ts+5188 /* "LOCK %d %s %s..." */, libc.VaList(bp+64, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { + Xsqlite3DebugPrintf(tls, ts+5203 /* "LOCK %d %s %s..." */, libc.VaList(bp+64, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { if rc == SQLITE_OK { - return ts + 5213 /* "ok" */ + return ts + 5228 /* "ok" */ } - return ts + 5216 /* "failed" */ + return ts + 5231 /* "failed" */ }())) __25: ; @@ -22686,7 +23190,7 @@ func posixUnlock(tls *libc.TLS, id uintptr, eFileLock int32, handleNFSUnlock int if !(Xsqlite3OSTrace != 0) { goto __1 } - Xsqlite3DebugPrintf(tls, ts+5223 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5238 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) __1: ; @@ -22836,7 +23340,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:36148:12: */ (*UnixFile)(unsafe.Pointer(pFile)).Fh = -1 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5266 /* "CLOSE %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+5281 /* "CLOSE %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) } libc.AtomicAddInt32(&Xsqlite3_open_file_count, int32(-1)) Xsqlite3_free(tls, (*UnixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -22970,7 +23474,7 @@ func dotlockCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 reserved = (libc.Bool32((*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 2*12 + 4 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext, 0) == 0)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5280 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) + Xsqlite3DebugPrintf(tls, ts+5295 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) } *(*int32)(unsafe.Pointer(pResOut)) = reserved return rc @@ -23052,7 +23556,7 @@ func dotlockUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite var rc int32 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5313 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5328 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), libc.Xgetpid(tls))) } // no-op if possible @@ -23224,7 +23728,7 @@ func seekAndRead(tls *libc.TLS, id uintptr, offset Sqlite3_int64, pBuf uintptr, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5352 /* "READ %-3d %5d..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(id)).Fh, (got+prior), (offset-Sqlite3_int64(prior)), uint64(0))) + Xsqlite3DebugPrintf(tls, ts+5367 /* "READ %-3d %5d..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(id)).Fh, (got+prior), (offset-Sqlite3_int64(prior)), uint64(0))) } return (got + prior) } @@ -23310,7 +23814,7 @@ func seekAndWriteFd(tls *libc.TLS, fd int32, iOff I64, pBuf uintptr, nBuf int32, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5381 /* "WRITE %-3d %5d..." */, libc.VaList(bp, fd, rc, iOff, uint64(0))) + Xsqlite3DebugPrintf(tls, ts+5396 /* "WRITE %-3d %5d..." */, libc.VaList(bp, fd, rc, iOff, uint64(0))) } if rc < 0 { @@ -23467,7 +23971,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql var fd int32 = -1 // var zDirname [513]int8 at bp+24, 513 - Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+24 /* &zDirname[0] */, ts+936 /* "%s" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+24 /* &zDirname[0] */, ts+951 /* "%s" */, libc.VaList(bp, zFilename)) for ii = int32(libc.Xstrlen(tls, bp+24 /* &zDirname[0] */)); (ii > 0) && (int32(*(*int8)(unsafe.Pointer(bp + 24 /* &zDirname[0] */ + uintptr(ii)))) != '/'); ii-- { } if ii > 0 { @@ -23481,14 +23985,14 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql fd = robust_open(tls, bp+24 /* &zDirname[0] */, (O_RDONLY | O_BINARY), uint32(0)) if fd >= 0 { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5410 /* "OPENDIR %-3d %s\n" */, libc.VaList(bp+8, fd, bp+24 /* &zDirname[0] */)) + Xsqlite3DebugPrintf(tls, ts+5425 /* "OPENDIR %-3d %s\n" */, libc.VaList(bp+8, fd, bp+24 /* &zDirname[0] */)) } } *(*int32)(unsafe.Pointer(pFd)) = fd if fd >= 0 { return SQLITE_OK } - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+4745 /* "openDirectory" */, bp+24 /* &zDirname[0] */, 37775) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+4760 /* "openDirectory" */, bp+24 /* &zDirname[0] */, 37775) } // Make sure all writes to a particular file are committed to disk. @@ -23530,7 +24034,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5427 /* "SYNC %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+5442 /* "SYNC %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) } rc = full_fsync(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if ((Xsqlite3_io_error_persist != 0) && (Xsqlite3_io_error_hit != 0)) || (libc.PostDecAtomicInt32(&Xsqlite3_io_error_pending, 1) == 1) { @@ -23540,7 +24044,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 if rc != 0 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+5441 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+5456 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) } // Also fsync the directory containing the file if the DIRSYNC flag @@ -23550,7 +24054,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 // var dirfd int32 at bp+32, 4 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5452 /* "DIRSYNC %s (have..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, HAVE_FULLFSYNC, isFullsync)) + Xsqlite3DebugPrintf(tls, ts+5467 /* "DIRSYNC %s (have..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, HAVE_FULLFSYNC, isFullsync)) } rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*12 + 4 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp+32 /* &dirfd */) if rc == SQLITE_OK { @@ -23586,7 +24090,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 { /* sqlite3.c:378 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+4664 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+4679 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) } else { // If the file was just truncated to a size smaller than the currently @@ -23669,7 +24173,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c if iWrite >= nSize { iWrite = (nSize - int64(1)) } - nWrite = seekAndWrite(tls, pFile, iWrite, ts+900 /* "" */, 1) + nWrite = seekAndWrite(tls, pFile, iWrite, ts+915 /* "" */, 1) if nWrite != 1 { return (SQLITE_IOERR | (int32(3) << 8)) } @@ -23682,7 +24186,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c 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+4664 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+4679 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) } } @@ -23756,7 +24260,7 @@ func unixFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { } case SQLITE_FCNTL_VFSNAME: { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) return SQLITE_OK } @@ -24042,7 +24546,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32 // help detect if a -shm file truncation is legitimate or is the work // or a rogue process. if (rc == SQLITE_OK) && (robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0) { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+4664 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+4679 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) } } } else if int32((*flock)(unsafe.Pointer(bp+8 /* &lock */)).Fl_type) == F_WRLCK { @@ -24148,7 +24652,7 @@ __4: ; libc.Xmemset(tls, pShmNode, 0, (uint32(unsafe.Sizeof(unixShmNode{})) + uint32(nShmFilename))) zShm = libc.AssignPtrUintptr(pShmNode+8 /* &.zFilename */, (pShmNode + 1*68)) - Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+5496 /* "%s-shm" */, libc.VaList(bp, zBasePath)) + Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+5511 /* "%s-shm" */, libc.VaList(bp, zBasePath)) (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = -1 (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pDbFd)).FpInode)).FpShmNode = pShmNode @@ -24170,7 +24674,7 @@ __5: if !(int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FbProcessLock) == 0) { goto __7 } - if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+5503 /* "readonly_shm" */, 0)) { + if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+5518 /* "readonly_shm" */, 0)) { goto __8 } (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = robust_open(tls, zShm, ((O_RDWR | O_CREAT) | 0400000), @@ -24185,7 +24689,7 @@ __8: if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) { goto __10 } - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+4628 /* "open" */, zShm, 38716) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+4643 /* "open" */, zShm, 38716) goto shm_open_err __10: ; @@ -24352,11 +24856,11 @@ __11: goto __13 } *(*int32)(unsafe.Pointer(bp + 96 /* x */)) = 0 - if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+900 /* "" */, 1, bp+96 /* &x */) != 1) { + if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+915 /* "" */, 1, bp+96 /* &x */) != 1) { goto __14 } zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+4699 /* "write" */, zFile, 38860) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+4714 /* "write" */, zFile, 38860) goto shmpage_out __14: ; @@ -24404,7 +24908,7 @@ __16: if !(pMem == (libc.UintptrFromInt32(-1))) { goto __20 } - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+4786 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+4801 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) goto shmpage_out __20: ; @@ -24579,7 +25083,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in Xsqlite3_mutex_leave(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5516 /* "SHM-LOCK shmid-%..." */, libc.VaList(bp, int32((*UnixShm)(unsafe.Pointer(p)).Fid), libc.Xgetpid(tls), int32((*UnixShm)(unsafe.Pointer(p)).FsharedMask), int32((*UnixShm)(unsafe.Pointer(p)).FexclMask))) + Xsqlite3DebugPrintf(tls, ts+5531 /* "SHM-LOCK shmid-%..." */, libc.VaList(bp, int32((*UnixShm)(unsafe.Pointer(p)).Fid), libc.Xgetpid(tls), int32((*UnixShm)(unsafe.Pointer(p)).FsharedMask), int32((*UnixShm)(unsafe.Pointer(p)).FexclMask))) } return rc } @@ -24668,7 +25172,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39165:13: */ // continue accessing the database using the xRead() and xWrite() // methods. func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13: */ - var zErr uintptr = ts + 4786 /* "mmap" */ + var zErr uintptr = ts + 4801 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping var nOrig I64 = (*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual // Size of pOrig region in bytes @@ -24685,7 +25189,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13 } pNew = (*(*func(*libc.TLS, uintptr, Size_t, Size_t, int32, uintptr) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 24*12 + 4 /* &.pCurrent */))))(tls, pOrig, uint32(nReuse), uint32(nNew), MREMAP_MAYMOVE, 0) - zErr = ts + 4798 /* "mremap" */ + zErr = ts + 4813 /* "mremap" */ // The attempt to extend the existing mapping failed. Free it. if (pNew == (libc.UintptrFromInt32(-1))) || (pNew == uintptr(0)) { @@ -24911,7 +25415,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // No locking occurs in temporary files if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5557 /* "OPEN %-3d %s\n" */, libc.VaList(bp, h, zFilename)) + Xsqlite3DebugPrintf(tls, ts+5572 /* "OPEN %-3d %s\n" */, libc.VaList(bp, h, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).Fh = h (*UnixFile)(unsafe.Pointer(pNew)).FpVfs = pVfs @@ -24924,10 +25428,10 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename } return uintptr(0) }(), - ts+5574 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { + ts+5589 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { *(*uint16)(unsafe.Pointer(pNew + 18 /* &.ctrlFlags */)) |= uint16((UNIXFILE_PSOW)) } - if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+5579 /* "unix-excl" */) == 0 { + if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+5594 /* "unix-excl" */) == 0 { *(*uint16)(unsafe.Pointer(pNew + 18 /* &.ctrlFlags */)) |= uint16((UNIXFILE_EXCL)) } @@ -24973,7 +25477,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename if zLockFile == uintptr(0) { rc = SQLITE_NOMEM } else { - Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+5589 /* "%s.lock" */, libc.VaList(bp+16, zFilename)) + Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+5604 /* "%s.lock" */, libc.VaList(bp+16, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext = zLockFile } @@ -25003,10 +25507,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var zDir uintptr = Xsqlite3_temp_directory if !(int32(azDirs[0]) != 0) { - azDirs[0] = libc.Xgetenv(tls, ts+5597 /* "SQLITE_TMPDIR" */) + azDirs[0] = libc.Xgetenv(tls, ts+5612 /* "SQLITE_TMPDIR" */) } if !(int32(azDirs[1]) != 0) { - azDirs[1] = libc.Xgetenv(tls, ts+5611 /* "TMPDIR" */) + azDirs[1] = libc.Xgetenv(tls, ts+5626 /* "TMPDIR" */) } for 1 != 0 { if (((zDir != uintptr(0)) && @@ -25026,10 +25530,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var azDirs = [6]uintptr{ uintptr(0), uintptr(0), - ts + 5618, /* "/var/tmp" */ - ts + 5627, /* "/usr/tmp" */ - ts + 5636, /* "/tmp" */ - ts + 913, /* "." */ + ts + 5633, /* "/var/tmp" */ + ts + 5642, /* "/usr/tmp" */ + ts + 5651, /* "/tmp" */ + ts + 928, /* "." */ } /* sqlite3.c:39857:21 */ // Create a temporary file name in zBuf. zBuf must be allocated @@ -25061,7 +25565,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U64(0))), bp+24 /* &r */) *(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2)))) = int8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+5641, /* "%s/etilqs_%llx%c" */ + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+5656, /* "%s/etilqs_%llx%c" */ libc.VaList(bp, zDir, *(*U64)(unsafe.Pointer(bp + 24 /* r */)), 0)) if (int32(*(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2))))) != 0) || ((libc.PostIncInt32(&iLimit, 1)) > 10) { return SQLITE_ERROR @@ -25217,7 +25721,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // filename, check for the "modeof" parameter. If present, interpret // its value as a filename and try to copy the mode, uid and gid from // that file. - var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+5658 /* "modeof" */) + var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+5673 /* "modeof" */) if z != 0 { rc = getFileMode(tls, z, pMode, pUid, pGid) } @@ -25415,7 +25919,7 @@ __14: if !(Xsqlite3OSTrace != 0) { goto __15 } - Xsqlite3DebugPrintf(tls, ts+5665 /* "OPENX %-3d %s ..." */, libc.VaList(bp, fd, zName, openFlags)) + Xsqlite3DebugPrintf(tls, ts+5680 /* "OPENX %-3d %s ..." */, libc.VaList(bp, fd, zName, openFlags)) __15: ; @@ -25449,7 +25953,7 @@ __16: if !(fd < 0) { goto __20 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+4628 /* "open" */, zName, 40257) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+4643 /* "open" */, zName, 40257) if !(rc == SQLITE_OK) { goto __21 } @@ -25564,7 +26068,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+4738 /* "unlink" */, zPath, 40396) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+4753 /* "unlink" */, zPath, 40396) } return rc } @@ -25574,7 +26078,7 @@ 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 /* &.pCurrent */))))(tls, zPath, bp /* &fd */) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp /* fd */)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+5686 /* "fsync" */, zPath, 40406) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+5701 /* "fsync" */, zPath, 40406) } robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 40408) } else { @@ -25653,7 +26157,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*12 + 4 /* &.pCurrent */))))(tls, zOut, (uint32(nOut-2))) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+4646 /* "getcwd" */, zPath, 40485) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+4661 /* "getcwd" */, zPath, 40485) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -25664,7 +26168,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) return Xsqlite3CantopenError(tls, 40494) } - Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+936 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+951 /* "%s" */, libc.VaList(bp, zPath)) // Remove duplicate '/' characters. Except, two // at the beginning // of a pathname is allowed since this is important on windows. @@ -25743,7 +26247,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 27*12 + 4 /* &.pCurrent */))))(tls, zIn, bp /* &buf */) != 0 { if (*(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+4826 /* "lstat" */, zIn, 40577) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+4841 /* "lstat" */, zIn, 40577) } } else { bLink = (libc.Bool32((((*stat)(unsafe.Pointer(bp /* &buf */)).Fst_mode) & X__mode_t(0170000)) == (X__mode_t(0120000)))) @@ -25763,7 +26267,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if rc == SQLITE_OK { nByte = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*12 + 4 /* &.pCurrent */))))(tls, zIn, zDel, (uint32(nOut - 1))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+4817 /* "readlink" */, zIn, 40595) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+4832 /* "readlink" */, zIn, 40595) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 @@ -25855,7 +26359,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixEnterMutex(tls) zErr = libc.Xdlerror(tls) if zErr != 0 { - Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+936 /* "%s" */, libc.VaList(bp, zErr)) + Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+951 /* "%s" */, libc.VaList(bp, zErr)) } unixLeaveMutex(tls) } @@ -26192,10 +26696,10 @@ func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42038:16: */ } var aVfs = [4]Sqlite3_vfs{ - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5692 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5697 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5707 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5579 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5707 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5712 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5722 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5594 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, } /* sqlite3.c:42091:22 */ // Shutdown the operating system interface. @@ -26287,7 +26791,7 @@ var memdb_g MemFS /* sqlite3.c:48620:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) FmxPathname: 1024, // pNext - FzName: ts + 5720, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 5735, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -26519,7 +27023,7 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 var rc int32 = SQLITE_NOTFOUND memdbEnter(tls, p) if op == SQLITE_FCNTL_VFSNAME { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+5726 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+5741 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == SQLITE_FCNTL_SIZE_LIMIT { @@ -26662,7 +27166,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(8) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+936 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+951 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } @@ -26779,7 +27283,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = Xsqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, ts+5741 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+5756 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) } else { @@ -26852,7 +27356,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+5764 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+5779 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) if !(zSql == uintptr(0)) { goto __3 } @@ -32350,7 +32854,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+5779, /* "recovered %d pag..." */ + Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+5794, /* "recovered %d pag..." */ libc.VaList(bp, nPlayback, (*Pager)(unsafe.Pointer(pPager)).FzJournal)) __27: ; @@ -34119,7 +34623,7 @@ __15: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzJournal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint32(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+5806 /* "-journal" */, uint32(8)) + libc.Xmemcpy(tls, pPtr, ts+5821 /* "-journal" */, uint32(8)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -34134,7 +34638,7 @@ __19: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzWal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint32(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+5815 /* "-wal" */, uint32(4)) + libc.Xmemcpy(tls, pPtr, ts+5830 /* "-wal" */, uint32(4)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -34193,9 +34697,9 @@ __27: ; __26: ; - (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5820 /* "nolock" */, 0)) + (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5835 /* "nolock" */, 0)) if !(((iDc & SQLITE_IOCAP_IMMUTABLE) != 0) || - (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5827 /* "immutable" */, 0) != 0)) { + (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5842 /* "immutable" */, 0) != 0)) { goto __30 } vfsFlags = vfsFlags | (SQLITE_OPEN_READONLY) @@ -38114,7 +38618,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+5837, /* "recovered %d fra..." */ + ts+5852, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -38858,7 +39362,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+5874 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) + Xsqlite3_log(tls, rx, ts+5889 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) } } @@ -41637,7 +42141,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:65443: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 5900 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 5915 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -43677,7 +44181,7 @@ func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt mutexOpen = uintptr(0) rc = SQLITE_OK isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zFilename))) == 0))) - isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+5916 /* ":memory:" */) == 0)) || + isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+5931 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -44551,7 +45055,7 @@ __10: // // The original design allowed these amounts to vary, but as of // version 3.6.0, we require them to be fixed. - if !(libc.Xmemcmp(tls, (page1+21), ts+5925 /* "@ " */, uint32(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+5940 /* "@ " */, uint32(3)) != 0) { goto __14 } goto page1_init_failed @@ -52066,7 +52570,7 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 40 /* &.errMsg */), ts+5929 /* "\n" */, 1) + Xsqlite3_str_append(tls, (pCheck + 40 /* &.errMsg */), ts+5944 /* "\n" */, 1) } if (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, (pCheck + 40 /* &.errMsg */), (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -52102,11 +52606,11 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 defer tls.Free(16) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { - checkAppendMsg(tls, pCheck, ts+5931 /* "invalid page num..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+5946 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+5954 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) + checkAppendMsg(tls, pCheck, ts+5969 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+284 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -52133,13 +52637,13 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 } - checkAppendMsg(tls, pCheck, ts+5979 /* "Failed to read p..." */, libc.VaList(bp, iChild)) + checkAppendMsg(tls, pCheck, ts+5994 /* "Failed to read p..." */, libc.VaList(bp, iChild)) return } if (int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, - ts+6008, /* "Bad ptr map entr..." */ + ts+6023, /* "Bad ptr map entr..." */ libc.VaList(bp+8, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)))) } } @@ -52162,7 +52666,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } N-- if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+40 /* &pOvflPage */, 0) != 0 { - checkAppendMsg(tls, pCheck, ts+6062 /* "failed to get pa..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+6077 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) @@ -52173,7 +52677,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+6084 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) + ts+6099 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -52199,12 +52703,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, - ts+6123, /* "%s is %d but sho..." */ + ts+6138, /* "%s is %d but sho..." */ libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { - return ts + 6149 /* "size" */ + return ts + 6164 /* "size" */ } - return ts + 6154 /* "overflow list le..." */ + return ts + 6169 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -52348,13 +52852,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6175 /* "Page %u: " */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6190 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+96 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, - ts+6185 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+6200 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -52368,7 +52872,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+6223 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) + ts+6238 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; @@ -52376,7 +52880,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+6261 /* "free space corru..." */, libc.VaList(bp+16, rc)) + checkAppendMsg(tls, pCheck, ts+6276 /* "free space corru..." */, libc.VaList(bp+16, rc)) goto end_of_check __5: ; @@ -52384,7 +52888,7 @@ __5: hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FhdrOffset) // Set up for cell analysis - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6283 /* "On tree page %u ..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6298 /* "On tree page %u ..." */ contentOffset = (U32(((((int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5)))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5))) + 1)))) - 1) & 0xffff) + 1)) // Enforced by btreeInitPage() @@ -52406,7 +52910,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6309 /* "On page %u at ri..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6324 /* "On page %u at ri..." */ checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; @@ -52437,7 +52941,7 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+6337, /* "Offset %d out of..." */ + checkAppendMsg(tls, pCheck, ts+6352, /* "Offset %d out of..." */ libc.VaList(bp+24, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 @@ -52448,7 +52952,7 @@ __12: if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+108 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+6367 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+6382 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -52466,7 +52970,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+6391 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+108 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+6406 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+108 /* &info */)).FnKey)) __15: ; *(*I64)(unsafe.Pointer(bp + 100 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 108 /* &info */)).FnKey @@ -52507,7 +53011,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+6415 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+6430 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -52605,7 +53109,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+6440 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 128 /* x */))>>16), iPage)) + ts+6455 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 128 /* x */))>>16), iPage)) goto __30 goto __32 __31: @@ -52625,7 +53129,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+6477, /* "Fragmentation of..." */ + ts+6492, /* "Fragmentation of..." */ libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -52754,7 +53258,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 6529 /* "Main freelist: " */ + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 6544 /* "Main freelist: " */ checkList(tls, bp+32 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) @@ -52792,7 +53296,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+6545, /* "max rootpage (%d..." */ + ts+6560, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -52802,7 +53306,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+6590 /* "incremental_vacu..." */, 0) + ts+6605 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -52852,13 +53356,13 @@ __23: if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6645 /* "Page %d is never..." */, libc.VaList(bp+16, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6660 /* "Page %d is never..." */, libc.VaList(bp+16, i)) __26: ; if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6667 /* "Pointer map page..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6682 /* "Pointer map page..." */, libc.VaList(bp+24, i)) __27: ; goto __24 @@ -53177,7 +53681,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint32(unsafe.Sizeof(Parse{}))) (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = pDb if Xsqlite3OpenTempDatabase(tls, bp+16 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+936 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+951 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg) @@ -53188,7 +53692,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+6701 /* "unknown database..." */, libc.VaList(bp+8, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+6716 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -53209,7 +53713,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76336:12: */ // message in database handle db. func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:76348:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { - Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+6721 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+6736 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -53236,7 +53740,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+6752 /* "source and desti..." */, 0) + pDestDb, SQLITE_ERROR, ts+6767 /* "source and desti..." */, 0) p = uintptr(0) } else { // Allocate space for a new sqlite3_backup object... @@ -53850,7 +54354,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 8 /* x */)), zBuf) } else { Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+6792, /* "%!.15g" */ + Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+6807, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -54491,7 +54995,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -54697,6 +55201,8 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 (*Mem)(unsafe.Pointer(pMem)).Fflags = flags if enc != 0 { (*Mem)(unsafe.Pointer(pMem)).Fenc = enc + } else if (*Mem)(unsafe.Pointer(pMem)).Fdb == uintptr(0) { + (*Mem)(unsafe.Pointer(pMem)).Fenc = U8(SQLITE_UTF8) } else { (*Mem)(unsafe.Pointer(pMem)).Fenc = (*Sqlite3)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fdb)).Fenc @@ -55001,7 +55507,7 @@ __9: goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) + Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: Xsqlite3ValueApplyAffinity(tls, pVal, aff, uint8(SQLITE_UTF8)) @@ -55073,7 +55579,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 zVal = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = uintptr(0) negInt = 1 - zNeg = ts + 900 /* "" */ + zNeg = ts + 915 /* "" */ rc = SQLITE_OK __1: @@ -55122,7 +55628,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 6799 /* "-" */ + zNeg = ts + 6814 /* "-" */ __6: ; @@ -55142,7 +55648,7 @@ __9: Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: - zVal = Xsqlite3MPrintf(tls, db, ts+6801 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + zVal = Xsqlite3MPrintf(tls, db, ts+6816 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) if !(zVal == uintptr(0)) { goto __12 } @@ -56656,8 +57162,8 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint var seenCom int32 = 0 var c int8 zSynopsis = libc.AssignAddUintptr(&zOpName, (uintptr(nOpName + 1))) - if libc.Xstrncmp(tls, zSynopsis, ts+6806 /* "IF " */, uint32(3)) == 0 { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zAlt[0] */, ts+6810 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) + if libc.Xstrncmp(tls, zSynopsis, ts+6821 /* "IF " */, uint32(3)) == 0 { + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zAlt[0] */, ts+6825 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) zSynopsis = bp + 96 /* &zAlt[0] */ } for ii = 0; (int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zSynopsis + uintptr(ii)))))) != 0; ii++ { @@ -56671,24 +57177,24 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } else { var v1 int32 = translateP(tls, c, pOp) var v2 int32 - if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6824 /* "@P" */, uint32(2)) == 0 { + if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6839 /* "@P" */, uint32(2)) == 0 { ii = ii + (3) v2 = translateP(tls, *(*int8)(unsafe.Pointer(zSynopsis + uintptr(ii))), pOp) - if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6827 /* "+1" */, uint32(2)) == 0 { + if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6842 /* "+1" */, uint32(2)) == 0 { ii = ii + (2) v2++ } if v2 < 2 { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6830 /* "%d" */, libc.VaList(bp+8, v1)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6845 /* "%d" */, libc.VaList(bp+8, v1)) } else { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6833 /* "%d..%d" */, libc.VaList(bp+16, v1, ((v1+v2)-1))) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6848 /* "%d..%d" */, libc.VaList(bp+16, v1, ((v1+v2)-1))) } - } else if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6840 /* "@NP" */, uint32(3)) == 0 { + } else if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6855 /* "@NP" */, uint32(3)) == 0 { var pCtx uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) if (int32((*Op)(unsafe.Pointer(pOp)).Fp4type) != (-16)) || (int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) == 1) { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6830 /* "%d" */, libc.VaList(bp+32, v1)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6845 /* "%d" */, libc.VaList(bp+32, v1)) } else if int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) > 1 { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6833 /* "%d..%d" */, libc.VaList(bp+40, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6848 /* "%d..%d" */, libc.VaList(bp+40, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) } else if int32((*StrAccum)(unsafe.Pointer(bp+72 /* &x */)).FaccError) == 0 { *(*U32)(unsafe.Pointer(bp + 72 /* &x */ + 16 /* &.nChar */)) -= (U32(2)) @@ -56696,8 +57202,8 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } ii = ii + (3) } else { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6830 /* "%d" */, libc.VaList(bp+56, v1)) - if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6844 /* "..P3" */, uint32(4)) == 0) && ((*Op)(unsafe.Pointer(pOp)).Fp3 == 0) { + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6845 /* "%d" */, libc.VaList(bp+56, v1)) + if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6859 /* "..P3" */, uint32(4)) == 0) && ((*Op)(unsafe.Pointer(pOp)).Fp3 == 0) { ii = ii + (4) } } @@ -56707,7 +57213,7 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } } if !(seenCom != 0) && ((*Op)(unsafe.Pointer(pOp)).FzComment != 0) { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6849 /* "; %s" */, libc.VaList(bp+64, (*Op)(unsafe.Pointer(pOp)).FzComment)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6864 /* "; %s" */, libc.VaList(bp+64, (*Op)(unsafe.Pointer(pOp)).FzComment)) } } else if (*Op)(unsafe.Pointer(pOp)).FzComment != 0 { Xsqlite3_str_appendall(tls, bp+72 /* &x */, (*Op)(unsafe.Pointer(pOp)).FzComment) @@ -56734,34 +57240,34 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6854 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6869 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 20 /* &.aColl */) + uintptr(j)*4)) var zColl uintptr if pColl != 0 { zColl = (*CollSeq)(unsafe.Pointer(pColl)).FzName } else { - zColl = ts + 900 /* "" */ + zColl = ts + 915 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+463 /* "BINARY" */) == 0 { - zColl = ts + 6859 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+478 /* "BINARY" */) == 0 { + zColl = ts + 6874 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6861, /* ",%s%s%s" */ + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6876, /* ",%s%s%s" */ libc.VaList(bp+8, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { - return ts + 6799 /* "-" */ + return ts + 6814 /* "-" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 6869 /* "N." */ + return ts + 6884 /* "N." */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6887 /* ")" */, 1) break } @@ -56769,7 +57275,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6874 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6889 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -56777,32 +57283,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6883 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6898 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6883 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6898 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6890 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6905 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6830 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6845 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+683 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+698 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -56812,14 +57318,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6890 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6905 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+683 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+698 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { - zP4 = ts + 901 /* "NULL" */ + zP4 = ts + 916 /* "NULL" */ } else { - zP4 = ts + 6895 /* "(blob)" */ + zP4 = ts + 6910 /* "(blob)" */ } break @@ -56827,7 +57333,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6902 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6917 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -56838,20 +57344,20 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6910 /* "%c%u" */, libc.VaList(bp+128, func() int32 { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6925 /* "%c%u" */, libc.VaList(bp+128, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6915 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6930 /* "]" */, 1) break } case -4: { - zP4 = ts + 6917 /* "program" */ + zP4 = ts + 6932 /* "program" */ break } @@ -56883,7 +57389,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } -var encnames = [4]uintptr{ts + 6925 /* "?" */, ts + 6927 /* "8" */, ts + 6929 /* "16LE" */, ts + 6934 /* "16BE" */} /* sqlite3.c:80570:25 */ +var encnames = [4]uintptr{ts + 6940 /* "?" */, ts + 6942 /* "8" */, ts + 6944 /* "16LE" */, ts + 6949 /* "16BE" */} /* sqlite3.c:80570:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -57428,8 +57934,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 6939 /* "addr" */, ts + 6944 /* "opcode" */, ts + 6951 /* "p1" */, ts + 6954 /* "p2" */, ts + 6957 /* "p3" */, ts + 6960 /* "p4" */, ts + 6963 /* "p5" */, ts + 6966, /* "comment" */ - ts + 6974 /* "id" */, ts + 6977 /* "parent" */, ts + 6984 /* "notused" */, ts + 6992, /* "detail" */ + ts + 6954 /* "addr" */, ts + 6959 /* "opcode" */, ts + 6966 /* "p1" */, ts + 6969 /* "p2" */, ts + 6972 /* "p3" */, ts + 6975 /* "p4" */, ts + 6978 /* "p5" */, ts + 6981, /* "comment" */ + ts + 6989 /* "id" */, ts + 6992 /* "parent" */, ts + 6999 /* "notused" */, ts + 7007, /* "detail" */ } /* sqlite3.c:81298:23 */ // Close a VDBE cursor and release all the resources that cursor @@ -57677,7 +58183,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Select a super-journal file name nMainFile = Xsqlite3Strlen30(tls, zMainFile) - zSuper = Xsqlite3MPrintf(tls, db, ts+6999 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) + zSuper = Xsqlite3MPrintf(tls, db, ts+7014 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) if zSuper == uintptr(0) { return SQLITE_NOMEM } @@ -57687,16 +58193,16 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+7011 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+7026 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+7025 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+7040 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) } } retryCount++ Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &iRandom */) - Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+7040, /* "-mj%06X9%02X" */ + Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+7055, /* "-mj%06X9%02X" */ libc.VaList(bp+40, ((*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. @@ -57891,7 +58397,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq (!(deferred != 0) && ((*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0))) { (*Vdbe)(unsafe.Pointer(p)).Frc = (SQLITE_CONSTRAINT | (int32(3) << 8)) (*Vdbe)(unsafe.Pointer(p)).FerrorAction = U8(OE_Abort) - Xsqlite3VdbeError(tls, p, ts+7053 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7068 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -58173,7 +58679,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: // called), set the database error in this case as well. Xsqlite3ErrorWithMsg(tls, db, (*Vdbe)(unsafe.Pointer(p)).Frc, func() uintptr { if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -59725,13 +60231,13 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023 var zContext uintptr var zMsg uintptr if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_IsCheck) != 0 { - zContext = ts + 7083 /* "a CHECK constrai..." */ + zContext = ts + 7098 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 7102 /* "a generated colu..." */ + zContext = ts + 7117 /* "a generated colu..." */ } else { - zContext = ts + 7121 /* "an index" */ + zContext = ts + 7136 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+7130, /* "non-deterministi..." */ + zMsg = Xsqlite3_mprintf(tls, ts+7145, /* "non-deterministi..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -59862,7 +60368,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84185:1 // invalid). Return false if it is ok. func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+7166 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+7181 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -59872,7 +60378,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84204:12: */ if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+7211 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+7226 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -60342,7 +60848,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:84708:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG - Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+7251 /* "string or blob t..." */, int64(-1), + Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+7266 /* "string or blob t..." */, int64(-1), uint8(SQLITE_UTF8), uintptr(0)) } @@ -61093,7 +61599,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12 Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+7274 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) + ts+7289 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) return Xsqlite3MisuseError(tls, 85498) } if (i < 1) || (i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar)) { @@ -61870,7 +62376,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7314 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7329 /* "-- " */, 3) Xsqlite3_str_append(tls, bp+48 /* &out */, zStart, ((int32(zRawSql) - int32(zStart)) / 1)) } @@ -61908,11 +62414,11 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 176 /* idx */))-1))*40) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+901 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+916 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6890 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6905 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6792 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6807 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc @@ -61927,21 +62433,21 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = bp + 180 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7318 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7333 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { Xsqlite3VdbeMemRelease(tls, bp+180 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7325 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7340 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7338 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7353 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7341 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7356 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7346 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7361 /* "'" */, 1) } } } @@ -65663,19 +66169,19 @@ __192: goto __195 } - Xsqlite3VdbeError(tls, p, ts+7348 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) + Xsqlite3VdbeError(tls, p, ts+7363 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __197 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+7369 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+7384 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __197: ; goto __196 __195: - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __196: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+7376 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+7391 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __194: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -68226,7 +68732,7 @@ __76: } // A new savepoint cannot be created if there are active write // statements (i.e. open read/write incremental blob handles). - Xsqlite3VdbeError(tls, p, ts+7400 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7415 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __450 __449: @@ -68299,7 +68805,7 @@ __457: if !(!(pSavepoint != 0)) { goto __458 } - Xsqlite3VdbeError(tls, p, ts+7451 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) + Xsqlite3VdbeError(tls, p, ts+7466 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) rc = SQLITE_ERROR goto __459 __458: @@ -68309,7 +68815,7 @@ __458: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+7473 /* "cannot release s..." */, 0) + ts+7488 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __461 __460: @@ -68514,7 +69020,7 @@ __490: // If this instruction implements a COMMIT and other VMs are writing // return an error indicating that the other VMs must complete first. Xsqlite3VdbeError(tls, p, - ts+7527 /* "cannot commit tr..." */, 0) + ts+7542 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __493 @@ -68557,13 +69063,13 @@ __488: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 7582 /* "cannot start a t..." */ + return ts + 7597 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 7630 /* "cannot rollback ..." */ + return ts + 7645 /* "cannot rollback ..." */ } - return ts + 7673 /* "cannot commit - ..." */ + return ts + 7688 /* "cannot commit - ..." */ }() }(), 0) @@ -68681,7 +69187,7 @@ __500: // version is checked to ensure that the schema has not changed since the // SQL statement was prepared. Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+7714 /* "database schema ..." */) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+7729 /* "database schema ..." */) // If the schema-cookie from the database file matches the cookie // stored with the in-memory representation of the schema, do // not reload the schema from the database file. @@ -69063,7 +69569,7 @@ __86: // Only used when number of columns is zero (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*40)).Fn = 0 - (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*40)).Fz = ts + 900 /* "" */ + (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*40)).Fz = ts + 915 /* "" */ __526: ; pCx1 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*4)) @@ -71205,7 +71711,7 @@ __691: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __694 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+7742 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+7757 /* "index corruption" */) goto abort_due_to_error __694: ; @@ -71638,14 +72144,14 @@ __139: goto __723 __722: - zSchema = ts + 7759 /* "sqlite_master" */ + zSchema = ts + 7774 /* "sqlite_master" */ (*InitData)(unsafe.Pointer(bp + 568 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 568 /* &initData */)).FiDb = iDb3 (*InitData)(unsafe.Pointer(bp + 568 /* &initData */)).FpzErrMsg = (p + 120 /* &.zErrMsg */) (*InitData)(unsafe.Pointer(bp + 568 /* &initData */)).FmInitFlags = U32(0) (*InitData)(unsafe.Pointer(bp + 568 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*16)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+7773, /* "SELECT*FROM\"%w\"...." */ + ts+7788, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp+64, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*16)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __724 @@ -71978,7 +72484,7 @@ __744: goto __749 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+7816 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7831 /* "too many levels ..." */, 0) goto abort_due_to_error __749: ; @@ -72423,7 +72929,7 @@ __784: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __786 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __786: ; @@ -72501,7 +73007,7 @@ __791: if !(rc != 0) { goto __792 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __792: ; @@ -72616,12 +73122,12 @@ __801: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+7853, /* "cannot change %s..." */ + ts+7868, /* "cannot change %s..." */ libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 7905 /* "into" */ + return ts + 7920 /* "into" */ } - return ts + 7910 /* "out of" */ + return ts + 7925 /* "out of" */ }())) goto abort_due_to_error goto __804 @@ -72824,7 +73330,7 @@ __169: goto __819 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+7917 /* "database table i..." */, libc.VaList(bp+112, z1)) + Xsqlite3VdbeError(tls, p, ts+7932 /* "database table i..." */, libc.VaList(bp+112, z1)) __819: ; goto abort_due_to_error @@ -73068,7 +73574,7 @@ __836: if !((*Sqlite3_context)(unsafe.Pointer(bp+672 /* &sContext */)).FisError > 0) { goto __837 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) rc = (*Sqlite3_context)(unsafe.Pointer(bp + 672 /* &sContext */)).FisError __837: ; @@ -73401,7 +73907,7 @@ __860: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __865 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __865: ; @@ -73492,7 +73998,7 @@ __870: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __872 } - z3 = Xsqlite3MPrintf(tls, db, ts+7946 /* "-- %s" */, libc.VaList(bp+136, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+7961 /* "-- %s" */, libc.VaList(bp+136, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 204 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __873 @@ -73595,13 +74101,13 @@ __881: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __883 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) __883: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) - Xsqlite3_log(tls, rc, ts+7952, /* "statement aborts..." */ + Xsqlite3_log(tls, rc, ts+7967, /* "statement aborts..." */ libc.VaList(bp+152, ((int32(pOp)-int32(aOp))/24), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { @@ -73646,14 +74152,14 @@ __887: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+7251 /* "string or blob t..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7266 /* "string or blob t..." */, 0) rc = SQLITE_TOOBIG goto abort_due_to_error // Jump to here if a malloc() fails. no_mem: Xsqlite3OomFault(tls, db) - Xsqlite3VdbeError(tls, p, ts+7984 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+7999 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -73666,8 +74172,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 7998 /* "NOT NULL" */, ts + 8007 /* "UNIQUE" */, ts + 8014, /* "CHECK" */ - ts + 8020 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ +var azType = [4]uintptr{ts + 8013 /* "NOT NULL" */, ts + 8022 /* "UNIQUE" */, ts + 8029, /* "CHECK" */ + ts + 8035 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:88844:32 */ var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:88847:32 */ var aFlag1 = [2]U16{U16(MEM_Blob), (U16(MEM_Str | MEM_Term))} /* sqlite3.c:89315:24 */ @@ -73774,16 +74280,16 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } if type1 < U32(12) { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8032, /* "cannot open valu..." */ + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8047, /* "cannot open valu..." */ libc.VaList(bp, func() uintptr { if type1 == U32(0) { - return ts + 8061 /* "null" */ + return ts + 8076 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 8066 /* "real" */ + return ts + 8081 /* "real" */ } - return ts + 8071 /* "integer" */ + return ts + 8086 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -73803,10 +74309,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8079 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8094 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+936 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -73869,21 +74375,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8099 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8114 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8129 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8144 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8165 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8180 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) __7: ; if !(!(pTab != 0)) { @@ -73928,7 +74434,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8186 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) + *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8201 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -73957,7 +74463,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+36 /* &.aCol */)+uintptr(j)*8)).FiFrom == iCol) { goto __23 } - zFault = ts + 8207 /* "foreign key" */ + zFault = ts + 8222 /* "foreign key" */ __23: ; goto __21 @@ -73990,7 +74496,7 @@ __27: if !((int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == iCol) || (int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == (-2))) { goto __30 } - zFault = ts + 8219 /* "indexed" */ + zFault = ts + 8234 /* "indexed" */ __30: ; goto __28 @@ -74011,7 +74517,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8227 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) + *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8242 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -74120,7 +74626,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)))) @@ -74285,7 +74791,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) @@ -76900,11 +77406,11 @@ func bytecodevtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, ar *(*[2]uintptr)(unsafe.Pointer(bp /* azSchema */)) = [2]uintptr{ // bytecode() schema - ts + 8261, /* "CREATE TABLE x(a..." */ + ts + 8276, /* "CREATE TABLE x(a..." */ // Tables_used() schema - ts + 8373, /* "CREATE TABLE x(t..." */ + ts + 8388, /* "CREATE TABLE x(t..." */ } rc = Xsqlite3_declare_vtab(tls, db, *(*uintptr)(unsafe.Pointer(bp /* &azSchema[0] */ + uintptr(isTabUsed)*4))) @@ -77028,7 +77534,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 var pTab uintptr = (*HashElem)(unsafe.Pointer(k)).Fdata if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) && ((*Table)(unsafe.Pointer(pTab)).Ftnum == iRoot) { (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzName = (*Table)(unsafe.Pointer(pTab)).FzName - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8454 /* "table" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8469 /* "table" */ break } } @@ -77037,7 +77543,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 var pIdx uintptr = (*HashElem)(unsafe.Pointer(k)).Fdata if (*Index)(unsafe.Pointer(pIdx)).Ftnum == iRoot { (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzName = (*Index)(unsafe.Pointer(pIdx)).FzName - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8460 /* "index" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8475 /* "index" */ } } } @@ -77087,7 +77593,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 } else if *(*uintptr)(unsafe.Pointer(aOp + 16 /* &.p4 */)) != uintptr(0) { Xsqlite3_result_text(tls, ctx, (*(*uintptr)(unsafe.Pointer(aOp + 16 /* &.p4 */)) + uintptr(3)), -1, uintptr(0)) } else { - Xsqlite3_result_text(tls, ctx, ts+8466 /* "(FK)" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+8481 /* "(FK)" */, 4, uintptr(0)) } break @@ -77142,16 +77648,16 @@ func bytecodevtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FneedFinalize = 1 } } else { - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+8471 /* "stmt-pointer" */) + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+8486 /* "stmt-pointer" */) } if (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt == uintptr(0) { (*Bytecodevtab)(unsafe.Pointer(pVTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+8484, /* "argument to %s()..." */ + ts+8499, /* "argument to %s()..." */ libc.VaList(bp, func() uintptr { if (*Bytecodevtab)(unsafe.Pointer(pVTab)).FbTablesUsed != 0 { - return ts + 8530 /* "tables_used" */ + return ts + 8545 /* "tables_used" */ } - return ts + 8542 /* "bytecode" */ + return ts + 8557 /* "bytecode" */ }())) rc = SQLITE_ERROR } else { @@ -77230,9 +77736,9 @@ func Xsqlite3VdbeBytecodeVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3. *(*uintptr)(unsafe.Pointer(bp)) = db var rc int32 - rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8542 /* "bytecode" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), uintptr(0)) + rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8557 /* "bytecode" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8530 /* "tables_used" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), bp /* &db */) + rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8545 /* "tables_used" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), bp /* &db */) } return rc } @@ -78212,7 +78718,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+8551 /* "main" */, zDb) == 0)) { + if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+8566 /* "main" */, zDb) == 0)) { goto __8 } // This branch is taken when the main database has been renamed @@ -78415,14 +78921,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8556 /* "new" */, zTab) == 0)) { + if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8571 /* "new" */, zTab) == 0)) { goto __41 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 1 pTab = (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab goto __42 __41: - if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8560 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8575 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -78439,7 +78945,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 8 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+8564 /* "excluded" */, zTab) == 0)) { + if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+8579 /* "excluded" */, zTab) == 0)) { goto __45 } pTab = (*SrcItem)(unsafe.Pointer(((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8 /* &.a */))).FpTab @@ -78616,7 +79122,7 @@ __66: if !((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0) && (((*Expr)(unsafe.Pointer((pOrig))).Fflags & (U32(EP_Agg))) != U32(0))) { goto __70 } - Xsqlite3ErrorMsg(tls, pParse, ts+8573 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+8588 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -78624,14 +79130,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+8604 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+8619 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) return WRC_Abort __71: ; if !(Xsqlite3ExprVectorSize(tls, pOrig) != 1) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -78707,7 +79213,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+8659 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) + ts+8674 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 44 /* &.y */)) = uintptr(0) return WRC_Prune @@ -78728,23 +79234,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 8694 /* "no such column" */ + zErr = ts + 8709 /* "no such column" */ } else { - zErr = ts + 8709 /* "ambiguous column..." */ + zErr = ts + 8724 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+8731 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8746 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+8744 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8759 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+8754 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8769 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -78878,15 +79384,15 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp bp := tls.Alloc(16) defer tls.Free(16) - var zIn uintptr = ts + 8761 /* "partial index WH..." */ + var zIn uintptr = ts + 8776 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 8789 /* "index expression..." */ + zIn = ts + 8804 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 8807 /* "CHECK constraint..." */ + zIn = ts + 8822 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 8825 /* "generated column..." */ + zIn = ts + 8840 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+8843 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) + Xsqlite3ErrorMsg(tls, pParse, ts+8858 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) if pExpr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } @@ -78994,10 +79500,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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 /* &.u */)) = ts + 8863 /* "true" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8878 /* "true" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsTrue)) } else { - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8868 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8883 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) } (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) @@ -79050,7 +79556,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (NC_IdxExpr | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+8874 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+8889 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -79117,7 +79623,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+8891 /* "second argument ..." */, 0) + ts+8906 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -79142,7 +79648,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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+8962, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+8977, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -79166,7 +79672,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all // all this. if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & ((NC_IdxExpr | NC_PartIdx) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+8997 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+9012 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -79195,30 +79701,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+9025 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) + ts+9040 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) (*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 + 9069 /* "window" */ + zType = ts + 9084 /* "window" */ } else { - zType = ts + 9076 /* "aggregate" */ + zType = ts + 9091 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+9086 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+9101 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) (*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+9115 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+9130 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+9138, /* "wrong number of ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9153, /* "wrong number of ..." */ libc.VaList(bp+64, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, - ts+9183, /* "FILTER may not b..." */ + ts+9198, /* "FILTER may not b..." */ libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -79293,7 +79799,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+9232 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+9247 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */))) @@ -79310,7 +79816,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s { if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+9243 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+9258 /* "parameters" */, pExpr) } break @@ -79370,7 +79876,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) } break @@ -79475,7 +79981,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+9254 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) + ts+9269 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) } // Analyze the ORDER BY clause in a compound SELECT statement. Modify @@ -79507,7 +80013,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 + 108 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+9310 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9325 /* "too many terms i..." */, 0) return 1 } for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { @@ -79542,7 +80048,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 } if Xsqlite3ExprIsInteger(tls, pE, bp+8 /* &iCol */) != 0 { if (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { - resolveOutOfRangeError(tls, pParse, ts+9344 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+9359 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -79613,7 +80119,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { if (int32(*(*uint8)(unsafe.Pointer(((pOrderBy + 8 /* &.a */) + uintptr(i)*20) + 12 /* &.done */)) & 0x4 >> 2)) == 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+9350 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+9365 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -79641,7 +80147,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+9411 /* "too many terms i..." */, libc.VaList(bp, zType)) + Xsqlite3ErrorMsg(tls, pParse, ts+9426 /* "too many terms i..." */, libc.VaList(bp, zType)) return 1 } pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList @@ -79930,7 +80436,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp /* &sNC */ + 24 /* &.ncFlags */)) |= (NC_UEList) if (*Select)(unsafe.Pointer(p)).FpHaving != 0 { if !(pGroupBy != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+9442 /* "a GROUP BY claus..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9457 /* "a GROUP BY claus..." */, 0) return WRC_Abort } if Xsqlite3ResolveExprNames(tls, bp /* &sNC */, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -79987,7 +80493,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // resolve those symbols on the incorrect ORDER BY for consistency. if (((*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0)) && (isCompound <= nCompound)) && // Defer right-most ORDER BY of a compound - (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9344 /* "ORDER" */) != 0) { + (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9359 /* "ORDER" */) != 0) { return WRC_Abort } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -80000,7 +80506,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql if pGroupBy != 0 { var pItem uintptr - if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+9486 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { + if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+9501 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { return WRC_Abort } i = 0 @@ -80012,7 +80518,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql { if ((*Expr)(unsafe.Pointer(((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr))).Fflags & (U32(EP_Agg))) != U32(0) { Xsqlite3ErrorMsg(tls, pParse, - ts+9492 /* "aggregate functi..." */, 0) + ts+9507 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -80782,7 +81288,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) return } @@ -80858,7 +81364,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 108 /* &.aLimit */) + 3*4)) if nHeight > mxHeight { Xsqlite3ErrorMsg(tls, pParse, - ts+9551 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+9566 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -81099,7 +81605,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+9599 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+9614 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -81121,7 +81627,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u return uintptr(0) } if (pList != 0) && ((*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 108 /* &.aLimit */) + 6*4))) { - Xsqlite3ErrorMsg(tls, pParse, ts+9601 /* "too many argumen..." */, libc.VaList(bp, pToken)) + Xsqlite3ErrorMsg(tls, pParse, ts+9616 /* "too many argumen..." */, libc.VaList(bp, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 20 /* &.x */)) = pList *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_HasFunc)) @@ -81155,7 +81661,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // is tagged with SQLITE_FUNC_UNSAFE) and // SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning // that the schema is possibly tainted). - Xsqlite3ErrorMsg(tls, pParse, ts+9635 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+9650 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) } } } @@ -81208,7 +81714,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 9*4)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+9654, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9669, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 9*4)))) return } @@ -81235,7 +81741,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*Expr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 9*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+9697 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9712 /* "too many SQL var..." */, 0) } } @@ -81904,7 +82410,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+9720, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9735, /* "%d columns assig..." */ libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error __3: @@ -82039,7 +82545,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 108 /* &.aLimit */) + 2*4)) if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx) { - Xsqlite3ErrorMsg(tls, pParse, ts+9750 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+9765 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -82094,10 +82600,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 { /* sqlite3.c:103208:20: */ - if Xsqlite3StrICmp(tls, zIn, ts+8863 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+8878 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+8868 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+8883 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -82542,13 +83048,13 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 // Return TRUE if the given string is a row-id column name. func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:103650:20: */ - if Xsqlite3StrICmp(tls, z, ts+9773 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9788 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+9781 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9796 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+9787 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9802 /* "OID" */) == 0 { return 1 } return 0 @@ -82626,7 +83132,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iCur, 0, regHasNull) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_TYPEOFARG)) - Xsqlite3VdbeComment(tls, v, ts+9791 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) + Xsqlite3VdbeComment(tls, v, ts+9806 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) Xsqlite3VdbeJumpHere(tls, v, addr1) } @@ -82779,7 +83285,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, Xsqlite3OpenTable(tls, pParse, iTab, iDb, pTab, OP_OpenRead) eType = IN_INDEX_ROWID - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9810 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9825 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeJumpHere(tls, v, iAddr) } else { var pIdx uintptr // Iterator variable @@ -82870,10 +83376,10 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9857 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9872 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) eType = (IN_INDEX_INDEX_ASC + int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder)))) @@ -82977,7 +83483,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec defer tls.Free(16) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { - var zFmt uintptr = ts + 9888 /* "sub-select retur..." */ + var zFmt uintptr = ts + 9903 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -82995,7 +83501,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_xIsSelect)) != 0 { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FpEList)).FnExpr, 1) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) } } @@ -83048,7 +83554,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9932 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9947 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FselId)) } Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ /* &.iAddr */))) @@ -83062,7 +83568,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) - Xsqlite3VdbeComment(tls, v, ts+9955 /* "return address" */, 0) + Xsqlite3VdbeComment(tls, v, ts+9970 /* "return address" */, 0) addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) } @@ -83076,9 +83582,9 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 (*Expr)(unsafe.Pointer(pExpr)).FiTable = iTab addr = Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, (*Expr)(unsafe.Pointer(pExpr)).FiTable, nVal) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeComment(tls, v, ts+9970 /* "Result of SELECT..." */, libc.VaList(bp+8, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FselId)) + Xsqlite3VdbeComment(tls, v, ts+9985 /* "Result of SELECT..." */, libc.VaList(bp+8, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FselId)) } else { - Xsqlite3VdbeComment(tls, v, ts+9990 /* "RHS of IN operat..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+10005 /* "RHS of IN operat..." */, 0) } pKeyInfo = Xsqlite3KeyInfoAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, nVal, 1) @@ -83090,11 +83596,11 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10009 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10024 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { if addrOnce != 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 10028 /* "CORRELATED " */ + return ts + 10043 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSelect)).FselId)) // If the LHS and RHS of the IN operator do not match, that // error will have been caught long before we reach this point. @@ -83240,7 +83746,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // If this routine has already been coded, then invoke it as a // subroutine. if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+10040 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+10055 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ /* &.iAddr */))) return (*Expr)(unsafe.Pointer(pExpr)).FiTable @@ -83250,7 +83756,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_Subrtn)) *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) - Xsqlite3VdbeComment(tls, v, ts+9955 /* "return address" */, 0) + Xsqlite3VdbeComment(tls, v, ts+9970 /* "return address" */, 0) // The evaluation of the EXISTS/SELECT must be repeated every time it // is encountered if any of the following is true: @@ -83274,11 +83780,11 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10058 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10073 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 10028 /* "CORRELATED " */ + return ts + 10043 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSel)).FselId)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { nReg = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpEList)).FnExpr @@ -83292,17 +83798,17 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSDParm (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FnSdst = nReg Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm, (((*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm + nReg) - 1)) - Xsqlite3VdbeComment(tls, v, ts+10079 /* "Init subquery re..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+10094 /* "Init subquery re..." */, 0) } else { (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FeDest = U8(SRT_Exists) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm) - Xsqlite3VdbeComment(tls, v, ts+10100 /* "Init EXISTS resu..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+10115 /* "Init EXISTS resu..." */, 0) } if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 { // The subquery already has a limit. If the pre-existing limit is X // then make the new limit X<>0 so that the new limit is either 1 or 0 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+9599 /* "0" */) + pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+9614 /* "0" */) if pLimit != 0 { (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, @@ -83312,7 +83818,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { // If there is no pre-existing limit add a limit of 1 - pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+10119 /* "1" */) + pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+10134 /* "1" */) (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -83447,7 +83953,7 @@ __2: // the RHS has not yet been coded. v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // OOM detected prior to this routine - Xsqlite3VdbeNoopComment(tls, v, ts+10121 /* "begin IN expr" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+10136 /* "begin IN expr" */, 0) eType = Xsqlite3FindInIndex(tls, pParse, pExpr, (uint32(IN_INDEX_MEMBERSHIP | IN_INDEX_NOOP_OK)), func() uintptr { @@ -83752,7 +84258,7 @@ sqlite3ExprCodeIN_finished: Xsqlite3ReleaseTempReg(tls, pParse, rLhs) __40: ; - Xsqlite3VdbeComment(tls, v, ts+10135 /* "end IN expr" */, 0) + Xsqlite3VdbeComment(tls, v, ts+10150 /* "end IN expr" */, 0) sqlite3ExprCodeIN_oom_error: Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiMap) Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, zAff) @@ -83804,12 +84310,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM c = Xsqlite3DecOrHexToI64(tls, z, bp+16 /* &value */) if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 16 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { - if Xsqlite3_strnicmp(tls, z, ts+10147 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10150 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { + if Xsqlite3_strnicmp(tls, z, ts+10162 /* "0x" */, 2) == 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+10165 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { - return ts + 6799 /* "-" */ + return ts + 6814 /* "-" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -83884,7 +84390,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT } else if (int32((*Column)(unsafe.Pointer((libc.AssignUintptr(&pCol, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20))))).FcolFlags) & COLFLAG_VIRTUAL) != 0 { var pParse uintptr = Xsqlite3VdbeParser(tls, v) if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_BUSY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10176 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+10191 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else { var savedSelfTab int32 = (*Parse)(unsafe.Pointer(pParse)).FiSelfTab *(*U16)(unsafe.Pointer(pCol + 16 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) @@ -84375,10 +84881,10 @@ __56: if !(int32((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn) < 0) { goto __59 } - Xsqlite3VdbeComment(tls, v, ts+10206 /* "%s.rowid" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10221 /* "%s.rowid" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto __60 __59: - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*20)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*20)).FzName)) if !(int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*20)).Faffinity) == SQLITE_AFF_REAL) { goto __61 } @@ -84443,7 +84949,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+10176, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10191, /* "generated column..." */ libc.VaList(bp+24, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -84695,7 +85201,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+10221 /* "misuse of aggreg..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+10236 /* "misuse of aggreg..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*20)).FiMem @@ -84737,7 +85243,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+10247 /* "unknown function..." */, libc.VaList(bp+40, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+10262 /* "unknown function..." */, libc.VaList(bp+40, zId)) goto __3 __91: ; @@ -84931,7 +85437,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+9720, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9735, /* "%d columns assig..." */ libc.VaList(bp+48, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -84998,14 +85504,14 @@ __51: int32(Xsqlite3TableColumnToStorage(tls, pTab2, int16(iCol1)))) Xsqlite3VdbeAddOp2(tls, v, OP_Param, p1, target) - Xsqlite3VdbeComment(tls, v, ts+10270 /* "r[%d]=%s.%s" */, libc.VaList(bp+64, target, func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+10285 /* "r[%d]=%s.%s" */, libc.VaList(bp+64, target, func() uintptr { if (*Expr)(unsafe.Pointer(pExpr)).FiTable != 0 { - return ts + 8556 /* "new" */ + return ts + 8571 /* "new" */ } - return ts + 8560 /* "old" */ + return ts + 8575 /* "old" */ }(), func() uintptr { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { - return ts + 10282 /* "rowid" */ + return ts + 10297 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 44 /* &.y */)))).FaCol + uintptr(iCol1)*20)).FzName }())) @@ -85024,7 +85530,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) goto __3 // TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions @@ -85148,7 +85654,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+10288 /* "RAISE() may only..." */, 0) + ts+10303 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -85187,7 +85693,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 10338 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 10353 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -87024,11 +87530,11 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq bp := tls.Alloc(8) defer tls.Free(8) - if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10346 /* "sqlite_" */, 7)) || + if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10361 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || ((((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Shadow)) != U32(0)) && (Xsqlite3ReadOnlyShadowTables(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+10354 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+10369 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -87046,14 +87552,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+10382, /* "SELECT 1 FROM \"%..." */ + ts+10397, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+10557, /* "SELECT 1 FROM te..." */ + ts+10572, /* "SELECT 1 FROM te..." */ libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -87069,11 +87575,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+10731 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) + ts+10746 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+10878 /* "UPDATE temp.sqli..." */, 0) + ts+10893 /* "UPDATE temp.sqli..." */, 0) } } @@ -87147,7 +87653,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+11029 /* "there is already..." */, libc.VaList(bp, zName)) + ts+11044 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -87160,7 +87666,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8454 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8469 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -87170,7 +87676,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+11088 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11103 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -87223,24 +87729,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+11115 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+11130 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, - ts+11299, /* "UPDATE %Q.sqlite..." */ + ts+11314, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+64, zDb, zName, zName, zName, nTabName, zTabName)) // If the sqlite_sequence table exists in this database, then update // it with the new table name. - if !(Xsqlite3FindTable(tls, db, ts+11604 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+11619 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+11620, /* "UPDATE \"%w\".sqli..." */ + ts+11635, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -87253,7 +87759,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+11678 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+11693 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -87271,7 +87777,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+11943 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+11958 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -87286,7 +87792,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, - ts+11956, /* "SELECT raise(ABO..." */ + ts+11971, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -87334,12 +87840,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // If there is a NOT NULL constraint, then the default value for the // column must not be NULL. if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11994 /* "Cannot add a PRI..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12009 /* "Cannot add a PRI..." */, 0) return } if (*Table)(unsafe.Pointer(pNew)).FpIndex != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+12026 /* "Cannot add a UNI..." */, 0) + ts+12041 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -87352,11 +87858,11 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if ((((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ForeignKeys)) != 0) && ((*Table)(unsafe.Pointer(pNew)).FpFKey != 0)) && (pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+12053 /* "Cannot add a REF..." */) + ts+12068 /* "Cannot add a REF..." */) } if ((*Column)(unsafe.Pointer(pCol)).FnotNull != 0) && !(pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+12112 /* "Cannot add a NOT..." */) + ts+12127 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -87372,12 +87878,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+12165 /* "Cannot add a col..." */) + ts+12180 /* "Cannot add a col..." */) } Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { - sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+12211 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+12226 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -87393,7 +87899,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+12238, /* "UPDATE \"%w\".sqli..." */ + ts+12253, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp, zDb, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zCol, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zTab)) Xsqlite3DbFree(tls, db, zCol) @@ -87464,7 +87970,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+12384 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12399 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -87473,7 +87979,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+12418 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12433 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -87508,7 +88014,7 @@ __6: nAlloc = ((((int32((*Table)(unsafe.Pointer(pNew)).FnCol) - 1) / 8) * 8) + 8) (*Table)(unsafe.Pointer(pNew)).FaCol = Xsqlite3DbMallocZero(tls, db, (uint64(uint32(unsafe.Sizeof(Column{})) * uint32(nAlloc)))) - (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+12448 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+12463 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(!(int32((*Table)(unsafe.Pointer(pNew)).FaCol) != 0) || !(int32((*Table)(unsafe.Pointer(pNew)).FzName) != 0)) { goto __7 } @@ -87555,18 +88061,18 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { - zType = ts + 12467 /* "view" */ + zType = ts + 12482 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 12472 /* "virtual table" */ + zType = ts + 12487 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+12486, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12501, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 12504 /* "drop column from" */ + return ts + 12519 /* "drop column from" */ } - return ts + 12521 /* "rename columns o..." */ + return ts + 12536 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -87659,13 +88165,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+8186 /* "no such column: ..." */, libc.VaList(bp, zOld)) + Xsqlite3ErrorMsg(tls, pParse, ts+8201 /* "no such column: ..." */, libc.VaList(bp, zOld)) goto exit_rename_column __10: ; // Ensure the schema contains no double-quoted strings - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+900 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+915 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iSchema == 1))) // Do the rename operation using a recursive UPDATE statement that @@ -87683,19 +88189,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+12539, /* "UPDATE \"%w\".sqli..." */ + ts+12554, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+8, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, - ts+12757, /* "UPDATE temp.sqli..." */ + ts+12772, /* "UPDATE temp.sqli..." */ libc.VaList(bp+72, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+11943 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+11958 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -87990,12 +88496,12 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui var zN uintptr = Xsqlite3_value_text(tls, pObject) var zErr uintptr - zErr = Xsqlite3_mprintf(tls, ts+12888, /* "error in %s %s%s..." */ + zErr = Xsqlite3_mprintf(tls, ts+12903, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - return ts + 12911 /* " " */ + return ts + 12926 /* " " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -88104,7 +88610,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // ALTER TABLE statement was quoted (bQuote==1), then set zNew to // point to zQuot so that all substitutions are made using the // quoted version of the new column name. - zQuot = Xsqlite3MPrintf(tls, db, ts+12913 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+12928 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -88154,12 +88660,12 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.Xmemcpy(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+12919 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+12934 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { - return ts + 12911 /* " " */ + return ts + 12926 /* " " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -88664,7 +89170,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+20 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+900 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+20 /* &sParse */) + renameColumnParseError(tls, context, ts+915 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+20 /* &sParse */) goto __45 __44: Xsqlite3_result_error_code(tls, context, rc) @@ -88844,7 +89350,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr } if rc != SQLITE_OK { if (*Parse)(unsafe.Pointer(bp+48 /* &sParse */)).FzErrMsg != 0 { - renameColumnParseError(tls, context, ts+900 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+48 /* &sParse */) + renameColumnParseError(tls, context, ts+915 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+48 /* &sParse */) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -89126,7 +89632,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+12924 /* "%.*s%s" */, libc.VaList(bp, ((int32((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int32(zSql))/1), zSql, zEnd)) + zNew = Xsqlite3MPrintf(tls, db, ts+12939 /* "%.*s%s" */, libc.VaList(bp, ((int32((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int32(zSql))/1), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -1, libc.UintptrFromInt32(-1)) Xsqlite3_free(tls, zNew) @@ -89214,7 +89720,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+8186 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8201 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -89224,12 +89730,12 @@ __6: if !((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*20)).FcolFlags) & (COLFLAG_PRIMKEY | COLFLAG_UNIQUE)) != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+12931, /* "cannot drop %s c..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12946, /* "cannot drop %s c..." */ libc.VaList(bp+8, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*20)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - return ts + 12959 /* "PRIMARY KEY" */ + return ts + 12974 /* "PRIMARY KEY" */ } - return ts + 8007 /* "UNIQUE" */ + return ts + 8022 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -89240,7 +89746,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+12971 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+12986 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) goto exit_drop_column __8: ; @@ -89249,15 +89755,15 @@ __8: iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+900 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+915 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+13019 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+13034 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+13140 /* "after drop colum..." */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+13155 /* "after drop colum..." */, 1) // Edit rows of table on disk if !(((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) && ((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*20)).FcolFlags) & COLFLAG_VIRTUAL) == 0)) { @@ -89368,11 +89874,11 @@ func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:109584:21: */ } var aAlterTableFuncs = [5]FuncDef{ - {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13158 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13179 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13199 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13218 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13237 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ + {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13173 /* "sqlite_rename_co..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13194 /* "sqlite_rename_ta..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13214 /* "sqlite_rename_te..." */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13233 /* "sqlite_drop_colu..." */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13252 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -89569,7 +90075,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // of the new table in register pParse->regRoot. This is important // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, - ts+13260 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) + ts+13275 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } @@ -89581,10 +90087,10 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, - ts+13283, /* "DELETE FROM %Q.%..." */ + ts+13298, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+13313 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+13328 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb) @@ -89605,9 +90111,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 13331 /* "sqlite_stat1" */, FzCols: ts + 13344 /* "tbl,idx,stat" */}, - {FzName: ts + 13357 /* "sqlite_stat4" */, FzCols: ts + 13370 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 13398 /* "sqlite_stat3" */}, + {FzName: ts + 13346 /* "sqlite_stat1" */, FzCols: ts + 13359 /* "tbl,idx,stat" */}, + {FzName: ts + 13372 /* "sqlite_stat4" */, FzCols: ts + 13385 /* "tbl,idx,neq,nlt,..." */}, + {FzName: ts + 13413 /* "sqlite_stat3" */}, } /* sqlite3.c:109773:5 */ // Recommended number of samples for sqlite_stat4 @@ -89837,7 +90343,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13411 /* "stat_init" */} /* sqlite3.c:110084:22 */ + FzName: ts + 13426 /* "stat_init" */} /* sqlite3.c:110084:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -90155,7 +90661,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13421 /* "stat_push" */} /* sqlite3.c:110374:22 */ + FzName: ts + 13436 /* "stat_push" */} /* sqlite3.c:110374:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -90212,7 +90718,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+13431, /* "%llu" */ + Xsqlite3_snprintf(tls, 24, zRet, ts+13446, /* "%llu" */ libc.VaList(bp, func() uint64 { if (*StatAccum)(unsafe.Pointer(p)).FnSkipAhead != 0 { return U64((*StatAccum)(unsafe.Pointer(p)).FnEst) @@ -90223,7 +90729,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+13436 /* " %llu" */, libc.VaList(bp+8, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+13451 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -90272,7 +90778,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+13442 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+13457 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -90289,7 +90795,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13448 /* "stat_get" */} /* sqlite3.c:110526:22 */ + FzName: ts + 13463 /* "stat_get" */} /* sqlite3.c:110526:22 */ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:110538:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, (regStat + 1)) @@ -90308,11 +90814,11 @@ func analyzeVdbeCommentIndexWithColumnName(tls *libc.TLS, v uintptr, pIdx uintpt i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(k)*2))) if i == (-1) { - Xsqlite3VdbeComment(tls, v, ts+10206 /* "%s.rowid" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10221 /* "%s.rowid" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else if i == (-2) { - Xsqlite3VdbeComment(tls, v, ts+13457 /* "%s.expr(%d)" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) + Xsqlite3VdbeComment(tls, v, ts+13472 /* "%s.expr(%d)" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) } else { - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*20)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*20)).FzName)) } } @@ -90357,7 +90863,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Do not gather statistics on views or virtual tables return } - if Xsqlite3_strlike(tls, ts+13469 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, ts+13484 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { // Do not gather statistics on system tables return } @@ -90375,7 +90881,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp return } (*Table)(unsafe.Pointer(pStat1)).FzName = (pStat1 + 1*76) - libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+13331 /* "sqlite_stat1" */, uint32(13)) + libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+13346 /* "sqlite_stat1" */, uint32(13)) (*Table)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*Table)(unsafe.Pointer(pStat1)).FiPKey = int16(-1) Xsqlite3VdbeAddOp4(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Noop, 0, 0, 0, pStat1, -17) @@ -90426,7 +90932,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Populate the register containing the index name. Xsqlite3VdbeLoadString(tls, v, regIdxname, zIdxName) - Xsqlite3VdbeComment(tls, v, ts+13479 /* "Analysis for %s...." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zIdxName)) + Xsqlite3VdbeComment(tls, v, ts+13494 /* "Analysis for %s...." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zIdxName)) // Pseudo-code for loop that calls stat_push(): // @@ -90473,7 +90979,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iIdxCur, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) // Invoke the stat_init() function. The arguments are: // @@ -90610,7 +91116,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Add the entry to the stat1 table. callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13498 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13513 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP4(tls, v, -1, pStat1, -6) @@ -90667,12 +91173,12 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Create a single sqlite_stat1 entry containing NULL as the index // name and the row count as the content. if (pOnlyIdx == uintptr(0)) && (needTableCnt != 0) { - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeAddOp2(tls, v, OP_Count, iTabCur, regStat1) jZeroRows = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, regStat1) Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regIdxname) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13498 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13513 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -90725,9 +91231,9 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) iStatCur = (*Parse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 40 /* &.nTab */)) += (3) if pOnlyIdx != 0 { - openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+13502 /* "idx" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+13517 /* "idx" */) } else { - openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13506 /* "tbl" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13521 /* "tbl" */) } analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1), (*Parse)(unsafe.Pointer(pParse)).FnTab) loadAnalysis(tls, pParse, iDb) @@ -90822,7 +91328,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 900 /* "" */ + z = ts + 915 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -90844,15 +91350,15 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.bUnordered */, uint32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.noSkipScan */, uint32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, ts+13510 /* "unordered*" */, z) == 0 { + if Xsqlite3_strglob(tls, ts+13525 /* "unordered*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.bUnordered */, uint32(1), 2, 0x4) - } else if Xsqlite3_strglob(tls, ts+13521 /* "sz=[0-9]*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+13536 /* "sz=[0-9]*" */, z) == 0 { var sz int32 = Xsqlite3Atoi(tls, (z + uintptr(3))) if sz < 2 { sz = 2 } (*Index)(unsafe.Pointer(pIndex)).FszIdxRow = Xsqlite3LogEst(tls, uint64(sz)) - } else if Xsqlite3_strglob(tls, ts+13531 /* "noskipscan*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+13546 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.noSkipScan */, uint32(1), 6, 0x40) } for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { @@ -91171,10 +91677,10 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:111438:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines - if Xsqlite3FindTable(tls, db, ts+13357 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+13372 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+13543, /* "SELECT idx,count..." */ - ts+13597, /* "SELECT idx,neq,n..." */ + ts+13558, /* "SELECT idx,count..." */ + ts+13612, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -91225,9 +91731,9 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // Load new statistics out of the sqlite_stat1 table (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).Fdb = db (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+13331 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { + if Xsqlite3FindTable(tls, db, ts+13346 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+13649 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) + ts+13664 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { @@ -91319,7 +91825,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // database iDb attached to handle db. func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:111595:20: */ return (libc.Bool32((Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zName) == 0) || - ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+8551 /* "main" */, zName) == 0)))) + ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+8566 /* "main" */, zName) == 0)))) } // An SQL user-function registered to do the work of an ATTACH statement. The @@ -91370,13 +91876,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 900 /* "" */ + zFile = ts + 915 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 900 /* "" */ + zName = ts + 915 /* "" */ __2: ; @@ -91386,7 +91892,7 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+5720 /* "memdb" */) + *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+5735 /* "memdb" */) if !(*(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)) == uintptr(0)) { goto __5 } @@ -91402,7 +91908,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)), ts+13690 /* "x\x00" */, db, (pNew + 4 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)), ts+13705 /* "x\x00" */, db, (pNew + 4 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -91415,7 +91921,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13693, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13708, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -91429,7 +91935,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13730 /* "database %s is a..." */, libc.VaList(bp+8, zName)) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13745 /* "database %s is a..." */, libc.VaList(bp+8, zName)) goto attach_error __11: ; @@ -91500,7 +92006,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13760 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13775 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -91517,7 +92023,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+13789 /* "attached databas..." */, 0) + ts+13804 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -91587,13 +92093,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+7984 /* "out of memory" */, 0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+7999 /* "out of memory" */, 0) goto __31 __30: if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13857 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13872 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) __32: ; __31: @@ -91649,7 +92155,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 900 /* "" */ + zName = ts + 915 /* "" */ __1: ; i = 0 @@ -91681,14 +92187,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13885 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13900 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13906 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13921 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -91696,7 +92202,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13932 /* "database %s is l..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13947 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -91819,7 +92325,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13954 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 13969 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -91832,7 +92338,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13968 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ + FzName: ts + 13983 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ @@ -91847,7 +92353,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer((*DbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit.Fbusy != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } else { - Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+13982 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) + Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+13997 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) return WRC_Abort } } @@ -91880,7 +92386,7 @@ __1: if (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != Xsqlite3FindDbName(tls, db, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) { Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, - ts+14006, /* "%s %T cannot ref..." */ + ts+14021, /* "%s %T cannot ref..." */ libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType, (*DbFixer)(unsafe.Pointer(pFix)).FpName, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return WRC_Abort } @@ -92079,7 +92585,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112233:13: */ - Xsqlite3ErrorMsg(tls, pParse, ts+14052 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14067 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -92103,11 +92609,11 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 348 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - var z uintptr = Xsqlite3_mprintf(tls, ts+10215 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) + var z uintptr = Xsqlite3_mprintf(tls, ts+10230 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+14075 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+14090 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+14081 /* "access to %z is ..." */, libc.VaList(bp+32, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+14096 /* "access to %z is ..." */, libc.VaList(bp+32, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -92159,7 +92665,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*20)).FzName } else { - zCol = ts + 9781 /* "ROWID" */ + zCol = ts + 9796 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -92191,7 +92697,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 348 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+14108 /* "not authorized" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14123 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_OK) && (rc != SQLITE_IGNORE) { rc = SQLITE_DENY @@ -92376,7 +92882,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112554:2 if int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0 { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) } - Xsqlite3VdbeComment(tls, v, ts+14123 /* "usesStmtJournal=..." */, libc.VaList(bp, (libc.Bool32(((*Parse)(unsafe.Pointer(pParse)).FmayAbort != 0) && ((*Parse)(unsafe.Pointer(pParse)).FisMultiWrite != 0))))) + Xsqlite3VdbeComment(tls, v, ts+14138 /* "usesStmtJournal=..." */, libc.VaList(bp, (libc.Bool32(((*Parse)(unsafe.Pointer(pParse)).FmayAbort != 0) && ((*Parse)(unsafe.Pointer(pParse)).FisMultiWrite != 0))))) } for i = 0; i < (*Parse)(unsafe.Pointer(pParse)).FnVtabLock; i++ { var vtab uintptr = Xsqlite3GetVTable(tls, db, *(*uintptr)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).FapVtabLock + uintptr(i)*4))) @@ -92504,25 +93010,25 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb { // No match against the official names. But always match "main" // to schema 0 as a legacy fallback. - if Xsqlite3StrICmp(tls, zDatabase, ts+8551 /* "main" */) == 0 { + if Xsqlite3StrICmp(tls, zDatabase, ts+8566 /* "main" */) == 0 { i = 0 } else { return uintptr(0) } } p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*16)).FpSchema + 8 /* &.tblHash */), zName) - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10346 /* "sqlite_" */, 7) == 0) { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10361 /* "sqlite_" */, 7) == 0) { if i == 1 { - if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14142 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14161 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+7759 /* "sqlite_master" */ +7)) == 0) { + if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14157 /* "sqlite_temp_sche..." */ +7)) == 0) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14176 /* "sqlite_schema" */ +7)) == 0)) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+7774 /* "sqlite_master" */ +7)) == 0) { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 8 /* &.tblHash */), - ts+14175 /* "sqlite_temp_mast..." */) + ts+14190 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14161 /* "sqlite_schema" */ +7)) == 0 { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14176 /* "sqlite_schema" */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*16)).FpSchema + 8 /* &.tblHash */), - ts+7759 /* "sqlite_master" */) + ts+7774 /* "sqlite_master" */) } } } @@ -92545,12 +93051,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10346 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14161 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+7759 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14142 /* "sqlite_temp_sche..." */ +7)) == 0 { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10361 /* "sqlite_" */, 7) == 0) { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14176 /* "sqlite_schema" */ +7)) == 0 { + p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+7774 /* "sqlite_master" */) + } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14157 /* "sqlite_temp_sche..." */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 8 /* &.tblHash */), - ts+14175 /* "sqlite_temp_mast..." */) + ts+14190 /* "sqlite_temp_mast..." */) } } } @@ -92586,7 +93092,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // can be an eponymous virtual table. if (int32((*Parse)(unsafe.Pointer(pParse)).FdisableVtab) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { var pMod uintptr = Xsqlite3HashFind(tls, (db + 372 /* &.aModule */), zName) - if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+14194 /* "pragma_" */, 7) == 0) { + if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+14209 /* "pragma_" */, 7) == 0) { pMod = Xsqlite3PragmaVtabRegister(tls, db, zName) } if (pMod != 0) && (Xsqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0) { @@ -92604,14 +93110,14 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if p == uintptr(0) { var zMsg uintptr if (flags & U32(LOCATE_VIEW)) != 0 { - zMsg = ts + 14202 /* "no such view" */ + zMsg = ts + 14217 /* "no such view" */ } else { - zMsg = ts + 14215 /* "no such table" */ + zMsg = ts + 14230 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+8744 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+8759 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+8754 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+8769 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -92924,7 +93430,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // writing. The table is opened using cursor 0. func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:113223:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) - Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+7759 /* "sqlite_master" */) + Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+7774 /* "sqlite_master" */) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) if (*Parse)(unsafe.Pointer(p)).FnTab == 0 { (*Parse)(unsafe.Pointer(p)).FnTab = 1 @@ -92951,7 +93457,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql } // "main" is always an acceptable alias for the primary database // even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. - if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+8551 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+8566 /* "main" */, zName)) { goto __3 } @@ -93004,13 +93510,13 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if (*Token)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14229 /* "corrupt database" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14244 /* "corrupt database" */, 0) return -1 } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = Xsqlite3FindDb(tls, db, pName1) if iDb < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14246 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+14261 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -93051,13 +93557,13 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType if ((Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit))) != 0) || (Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 1*4))) != 0)) || (Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 2*4))) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+900 /* "" */, 0) // corruptSchema() will supply the error + Xsqlite3ErrorMsg(tls, pParse, ts+915 /* "" */, 0) // corruptSchema() will supply the error return SQLITE_ERROR } } else { - if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+10346 /* "sqlite_" */, 7))) || + if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+10361 /* "sqlite_" */, 7))) || ((Xsqlite3ReadOnlyShadowTables(tls, db) != 0) && (Xsqlite3ShadowTableName(tls, db, zName) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14266, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14281, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -93226,9 +93732,9 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui iDb = int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) zName = Xsqlite3DbStrDup(tls, db, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 @@ -93246,7 +93752,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+14308 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14323 /* "temporary table ..." */, 0) return __4: ; @@ -93274,9 +93780,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 12467 /* "view" */ + return ts + 12482 /* "view" */ } - return ts + 8454 /* "table" */ + return ts + 8469 /* "table" */ }(), zName) != 0) { goto __8 } @@ -93293,9 +93799,9 @@ __9: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (isTemp == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -93333,7 +93839,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+14349 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+14364 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) goto __16 __15: ; @@ -93347,7 +93853,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+14373 /* "there is already..." */, libc.VaList(bp+8, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14388 /* "there is already..." */, libc.VaList(bp+8, zName)) goto begin_table_error __17: ; @@ -93463,7 +93969,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:113716:13: */ var pHash uintptr pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 40 /* &.trigHash */) - Xsqlite3HashInsert(tls, pHash, ts+14408 /* "sqlite_returning" */, uintptr(0)) + Xsqlite3HashInsert(tls, pHash, ts+14423 /* "sqlite_returning" */, uintptr(0)) Xsqlite3ExprListDelete(tls, db, (*Returning)(unsafe.Pointer(pRet)).FpReturnEL) Xsqlite3DbFree(tls, db, pRet) } @@ -93487,7 +93993,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Parse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14425 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14440 /* "cannot use RETUR..." */, 0) } else { } @@ -93508,7 +94014,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 14408 /* "sqlite_returning" */ + (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 14423 /* "sqlite_returning" */ (*Returning)(unsafe.Pointer(pRet)).FretTrig.Fop = U8(TK_RETURNING) (*Returning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = U8(TRIGGER_AFTER) (*Returning)(unsafe.Pointer(pRet)).FretTrig.FbReturning = U8(1) @@ -93520,7 +94026,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql (*Returning)(unsafe.Pointer(pRet)).FretTStep.FpExprList = pList pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 40 /* &.trigHash */) - if Xsqlite3HashInsert(tls, pHash, ts+14408 /* "sqlite_returning" */, (pRet+8 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+14423 /* "sqlite_returning" */, (pRet+8 /* &.retTrig */)) == (pRet + 8 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -93548,7 +94054,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp return } if (int32((*Table)(unsafe.Pointer(p)).FnCol) + 1) > *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14459 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14474 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } z = Xsqlite3DbMallocRaw(tls, db, (uint64(((*Token)(unsafe.Pointer(pName)).Fn + (*Token)(unsafe.Pointer(pType)).Fn) + uint32(2)))) @@ -93564,7 +94070,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*20)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*20)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14482 /* "duplicate column..." */, libc.VaList(bp+8, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+14497 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -93738,11 +94244,11 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar var isInit int32 = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) != 1))) pCol = ((*Table)(unsafe.Pointer(p)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(p)).FnCol)-1))*20) if !(Xsqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14508, /* "default value of..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14523, /* "default value of..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14553 /* "cannot use DEFAU..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14568 /* "cannot use DEFAU..." */, 0) } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. @@ -93792,7 +94298,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+14594 /* "generated column..." */, 0) + ts+14609 /* "generated column..." */, 0) } } @@ -93837,7 +94343,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+14646 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+14661 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit __2: ; @@ -93897,7 +94403,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+900 /* "" */), ts+14687 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+915 /* "" */), ts+14702 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -93925,7 +94431,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+14695 /* "AUTOINCREMENT is..." */, 0) + ts+14710 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -94029,7 +94535,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+14751 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14766 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -94042,13 +94548,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+14794 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+14809 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { goto __5 } // no-op goto __6 __5: - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+14802 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+14817 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { goto __7 } eType = U8(COLFLAG_STORED) @@ -94081,7 +94587,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+14809, /* "error in generat..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14824, /* "error in generat..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) generated_done: Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -94223,13 +94729,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 900 /* "" */ - zSep2 = ts + 14840 /* "," */ - zEnd = ts + 6872 /* ")" */ + zSep = ts + 915 /* "" */ + zSep2 = ts + 14855 /* "," */ + zEnd = ts + 6887 /* ")" */ } else { - zSep = ts + 14842 /* "\n " */ - zSep2 = ts + 14846 /* ",\n " */ - zEnd = ts + 14851 /* "\n)" */ + zSep = ts + 14857 /* "\n " */ + zSep2 = ts + 14861 /* ",\n " */ + zEnd = ts + 14866 /* "\n)" */ } n = n + (35 + (6 * int32((*Table)(unsafe.Pointer(p)).FnCol))) zStmt = Xsqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -94237,7 +94743,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+14854 /* "CREATE TABLE " */, 0) + Xsqlite3_snprintf(tls, n, zStmt, ts+14869 /* "CREATE TABLE " */, 0) *(*int32)(unsafe.Pointer(bp + 8 /* k */)) = Xsqlite3Strlen30(tls, zStmt) identPut(tls, zStmt, bp+8 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = int8('(') @@ -94271,16 +94777,16 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+936 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+951 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } var azType1 = [5]uintptr{ - /* SQLITE_AFF_BLOB */ ts + 900, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 14868, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 14874, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 14879, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 14884, /* " REAL" */ + /* SQLITE_AFF_BLOB */ ts + 915, /* "" */ + /* SQLITE_AFF_TEXT */ ts + 14883, /* " TEXT" */ + /* SQLITE_AFF_NUMERIC */ ts + 14889, /* " NUM" */ + /* SQLITE_AFF_INTEGER */ ts + 14894, /* " INT" */ + /* SQLITE_AFF_REAL */ ts + 14899, /* " REAL" */ } /* sqlite3.c:114391:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK @@ -94717,7 +95223,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // table itself. So mark it read-only. if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { if pSelect != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+900 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+915 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -94730,11 +95236,11 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (int32(tabOpts) & TF_WithoutRowid) != 0 { if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+14890 /* "AUTOINCREMENT no..." */, 0) + ts+14905 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14940 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14955 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } *(*U32)(unsafe.Pointer(p + 36 /* &.tabFlags */)) |= (U32(TF_WithoutRowid | TF_NoVisibleRowid)) @@ -94778,7 +95284,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14972 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14987 /* "must have at lea..." */, 0) return } } @@ -94811,12 +95317,12 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // Initialize zType for the new view or table. if (*Table)(unsafe.Pointer(p)).FpSelect == uintptr(0) { // A regular table - zType = ts + 8454 /* "table" */ - zType2 = ts + 15016 /* "TABLE" */ + zType = ts + 8469 /* "table" */ + zType2 = ts + 15031 /* "TABLE" */ } else { // A view - zType = ts + 12467 /* "view" */ - zType2 = ts + 15022 /* "VIEW" */ + zType = ts + 12482 /* "view" */ + zType2 = ts + 15037 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -94897,7 +95403,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+15027 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+15042 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -94905,7 +95411,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+15042, /* "UPDATE %Q.sqlite..." */ + ts+15057, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, @@ -94923,14 +95429,14 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+15140, /* "CREATE TABLE %Q...." */ + ts+15155, /* "CREATE TABLE %Q...." */ libc.VaList(bp+88, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+15182 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+15197 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -94951,7 +95457,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // then record a pointer to this table in the main database structure // so that INSERT can find the table easily. - if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+11604 /* "sqlite_sequence" */) == 0 { + if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+11619 /* "sqlite_sequence" */) == 0 { (*Schema)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -94988,7 +95494,7 @@ func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui if !(int32((*Parse)(unsafe.Pointer(pParse)).FnVar) > 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+15216 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15231 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -95010,7 +95516,7 @@ __2: Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp /* &pName */) iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(p)).FpSchema) - Xsqlite3FixInit(tls, bp+4 /* &sFix */, pParse, iDb, ts+12467 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) + Xsqlite3FixInit(tls, bp+4 /* &sFix */, pParse, iDb, ts+12482 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) if !(Xsqlite3FixSelect(tls, bp+4 /* &sFix */, pSelect) != 0) { goto __3 } @@ -95127,7 +95633,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i // CREATE TEMP VIEW ex1 AS SELECT a FROM ex1; // SELECT * FROM temp.ex1; if int32((*Table)(unsafe.Pointer(pTable)).FnCol) < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+15252 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15267 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) return 1 } @@ -95269,7 +95775,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) if iTable < 2 { - Xsqlite3ErrorMsg(tls, pParse, ts+15282 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15297 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -95283,7 +95789,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+15297, /* "UPDATE %Q.sqlite..." */ + ts+15312, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb+uintptr(iDb)*16)).FzDbSName, iTable, r1, r1)) Xsqlite3ReleaseTempReg(tls, pParse, r1) } @@ -95347,10 +95853,10 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint for i = 1; i <= 4; i++ { // var zTab [24]int8 at bp+40, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+15364 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+15379 /* "sqlite_stat%d" */, libc.VaList(bp, i)) if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+40 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+13283, /* "DELETE FROM %Q.%..." */ + ts+13298, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } @@ -95390,7 +95896,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // move as a result of the drop (can happen in auto-vacuum mode). if ((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+15378, /* "DELETE FROM %Q.s..." */ + ts+15393, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -95402,7 +95908,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+15423, /* "DELETE FROM %Q.s..." */ + ts+15438, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) @@ -95432,11 +95938,11 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Return true if it is not allowed to drop the given table func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:115607:12: */ - if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10346 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+4653 /* "stat" */, 4) == 0 { + if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10361 /* "sqlite_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+4668 /* "stat" */, 4) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+9243 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+9258 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -95517,9 +96023,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName zArg2 = uintptr(0) @@ -95579,7 +96085,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+15490 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15505 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __19: ; @@ -95589,14 +96095,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+15518 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15533 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+15552 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15567 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -95611,7 +96117,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+13506 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+13521 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -95676,7 +96182,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+15584, /* "foreign key on %..." */ + ts+15599, /* "foreign key on %..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(iCol)*20)).FzName, pTo)) goto fk_end __5: @@ -95689,7 +96195,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+15647 /* "number of column..." */, 0) + ts+15662 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -95773,7 +96279,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+15741, /* "unknown column \"..." */ + ts+15756, /* "unknown column \"..." */ libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*20)).FzEName)) goto fk_end __23: @@ -96023,12 +96529,12 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pList)).FnExpr; i++ { if (uint32(int32(*(*uint8)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*20 + 12 /* &.bNulls */)) & 0x20 >> 5))) != 0 { var sf U8 = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*20)).FsortFlags - Xsqlite3ErrorMsg(tls, pParse, ts+15787, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+15802, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 15815 /* "FIRST" */ + return ts + 15830 /* "FIRST" */ } - return ts + 15821 /* "LAST" */ + return ts + 15836 /* "LAST" */ }())) return 1 } @@ -96186,7 +96692,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+132 /* &sFix */, pParse, iDb, ts+8460 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) + Xsqlite3FixInit(tls, bp+132 /* &sFix */, pParse, iDb, ts+8475 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+132 /* &sFix */, pTblName) != 0) { goto __10 } @@ -96207,7 +96713,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+15826, /* "cannot create a ..." */ + ts+15841, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -96234,26 +96740,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10346 /* "sqlite_" */, 7) == 0) && + if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10361 /* "sqlite_" */, 7) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0)) && (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+15876 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15891 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+15904 /* "views may not be..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15919 /* "views may not be..." */, 0) goto exit_create_index __16: ; if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+15929 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15944 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -96280,7 +96786,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8460 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8475 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { goto __21 } goto exit_create_index @@ -96295,7 +96801,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+15963 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15978 /* "there is already..." */, libc.VaList(bp+16, zName)) goto exit_create_index __24: ; @@ -96307,7 +96813,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+15997 /* "index %s already..." */, libc.VaList(bp+24, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16012 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -96336,7 +96842,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+16021 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+16036 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -96365,9 +96871,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -96411,7 +96917,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+8460 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+8475 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -96528,7 +97034,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+16044 /* "expressions proh..." */, 0) + ts+16059 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -96757,7 +97263,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+16105 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) + ts+16120 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -96813,7 +97319,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+16147 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16162 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -96871,12 +97377,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+16164, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+16179, /* "CREATE%s INDEX %..." */ libc.VaList(bp+56, func() uintptr { if onError == OE_None { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 16184 /* " UNIQUE" */ + return ts + 16199 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: @@ -96888,7 +97394,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+16192, /* "INSERT INTO %Q.s..." */ + ts+16207, /* "INSERT INTO %Q.s..." */ libc.VaList(bp+80, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -96904,7 +97410,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+16251 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+16266 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -97088,7 +97594,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+16278 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+16293 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __5 __4: Xsqlite3CodeVerifyNamedSchema(tls, pParse, (*SrcItem)(unsafe.Pointer((pName + 8 /* &.a */))).FzDatabase) @@ -97103,7 +97609,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+16296 /* "index associated..." */, libc.VaList(bp+8, 0)) + ts+16311 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -97114,9 +97620,9 @@ __6: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -97144,9 +97650,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+16369, /* "DELETE FROM %Q.s..." */ + ts+16384, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) - sqlite3ClearStatTables(tls, pParse, iDb, ts+13502 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+13517 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) Xsqlite3VdbeAddOp4(tls, v, OP_DropIndex, iDb, 0, 0, (*Index)(unsafe.Pointer(pIndex)).FzName, 0) @@ -97297,7 +97803,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*SrcList)(unsafe.Pointer(pSrc)).FnSrc + nExtra) >= SQLITE_MAX_SRCLIST { - Xsqlite3ErrorMsg(tls, pParse, ts+16429, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+16444, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -97509,12 +98015,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+16465, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+16480, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 16501 /* "ON" */ + return ts + 16516 /* "ON" */ } - return ts + 16504 /* "USING" */ + return ts + 16519 /* "USING" */ }())) goto append_from_error __1: @@ -97642,7 +98148,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+16510 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { + if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+16525 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { return } v = Xsqlite3GetVdbe(tls, pParse) @@ -97678,9 +98184,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 16516 /* "ROLLBACK" */ + return ts + 16531 /* "ROLLBACK" */ } - return ts + 16525 /* "COMMIT" */ + return ts + 16540 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -97705,7 +98211,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 16510 /* "BEGIN" */, ts + 16532 /* "RELEASE" */, ts + 16516 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ +var az = [3]uintptr{ts + 16525 /* "BEGIN" */, ts + 16547 /* "RELEASE" */, ts + 16531 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. @@ -97721,7 +98227,7 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp /* &pBt */, 0, flags) if rc != SQLITE_OK { Xsqlite3ErrorMsg(tls, pParse, - ts+16540 /* "unable to open a..." */, 0) + ts+16555 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -97864,17 +98370,17 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx Xsqlite3StrAccumInit(tls, bp+8 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 108 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+16610 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+16625 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*20)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+16621 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+16636 /* ", " */, 2) } Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+913 /* "." */, 1) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+928 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } @@ -97897,11 +98403,11 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr var rc int32 if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*20)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10206 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10221 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -98044,7 +98550,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+16624 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16639 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -98154,7 +98660,7 @@ func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) var i int32 for i = 0; i < (*With)(unsafe.Pointer(pWith)).FnCte; i++ { if Xsqlite3StrICmp(tls, zName, (*Cte)(unsafe.Pointer((pWith+12 /* &.a */)+uintptr(i)*24)).FzName) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+16670 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16685 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -98388,7 +98894,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+16700 /* "no such collatio..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16715 /* "no such collatio..." */, libc.VaList(bp, zName)) (*Parse)(unsafe.Pointer(pParse)).Frc = (SQLITE_ERROR | (int32(1) << 8)) } return p @@ -98754,11 +99260,11 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 defer tls.Free(16) if tabIsReadOnly(tls, pParse, pTab) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+16731 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16746 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+16760 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16775 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -99351,7 +99857,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+16798 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+16813 /* "rows deleted" */, uintptr(0)) __61: ; @@ -99496,7 +100002,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri } return 0 }()) - if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13331 /* "sqlite_stat1" */)) { + if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13346 /* "sqlite_stat1" */)) { Xsqlite3VdbeAppendP4(tls, v, pTab, -6) } if int32(eMode) != ONEPASS_OFF { @@ -99774,7 +100280,7 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 8071 /* "integer" */, ts + 8066 /* "real" */, ts + 16811 /* "text" */, ts + 16816 /* "blob" */, ts + 8061 /* "null" */} /* sqlite3.c:119398:21 */ +var azType2 = [5]uintptr{ts + 8086 /* "integer" */, ts + 8081 /* "real" */, ts + 16826 /* "text" */, ts + 16831 /* "blob" */, ts + 8076 /* "null" */} /* sqlite3.c:119398:21 */ // Implementation of the length() function func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119418:13: */ @@ -99838,7 +100344,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // IMP: R-31676-45509 If X is the integer -9223372036854775808 // then abs(X) throws an integer overflow error since there is no // equivalent positive 64-bit two complement value. - Xsqlite3_result_error(tls, context, ts+16821 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+16836 /* "integer overflow" */, -1) return } iVal = -iVal @@ -100176,7 +100682,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+16838 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+16853 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -100628,7 +101134,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 8*4)) { - Xsqlite3_result_error(tls, context, ts+16843 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+16858 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -100640,7 +101146,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } if Xsqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp /* zEsc */)), -1) != 1 { Xsqlite3_result_error(tls, context, - ts+16876 /* "ESCAPE expressio..." */, -1) + ts+16891 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -100707,7 +101213,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))) } // Implementation of the sqlite_compileoption_used() function. @@ -100764,10 +101270,10 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // var zBuf [50]int8 at bp+16, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+6792 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+6807 /* "%!.15g" */, libc.VaList(bp, r1)) Xsqlite3AtoF(tls, bp+16 /* &zBuf[0] */, bp+68 /* &r2 */, 20, uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp + 68 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+16921 /* "%!.20e" */, libc.VaList(bp+8, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+16936 /* "%!.20e" */, libc.VaList(bp+8, r1)) } Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -100841,7 +101347,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+901 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+916 /* "NULL" */, 4, uintptr(0)) break } @@ -101152,7 +101658,7 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:120648:27 */ -var azOne = [1]uintptr{uintptr(ts + 12911 /* " " */)} /* sqlite3.c:120649:26 */ +var azOne = [1]uintptr{uintptr(ts + 12926 /* " " */)} /* sqlite3.c:120649:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -101173,7 +101679,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = ts + 900 /* "" */ + zIn = ts + 915 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -101199,7 +101705,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else { // IMP: R-64894-50321 The string "?000" is returned if the argument // is NULL or contains no ASCII alphabetic characters. - Xsqlite3_result_text(tls, context, ts+16928 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+16943 /* "?000" */, 4, uintptr(0)) } } @@ -101227,7 +101733,7 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // Disallow the load_extension() SQL function unless the SQLITE_LoadExtFunc // flag is set. See the sqlite3_enable_load_extension() API. if ((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_LoadExtFunc)) == uint64(0) { - Xsqlite3_result_error(tls, context, ts+14108 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+14123 /* "not authorized" */, -1) return } @@ -101315,7 +101821,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:120889:13: */ p = Xsqlite3_aggregate_context(tls, context, 0) if (p != 0) && ((*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0)) { if (*SumCtx)(unsafe.Pointer(p)).Foverflow != 0 { - Xsqlite3_result_error(tls, context, ts+16821 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+16836 /* "integer overflow" */, -1) } else if (*SumCtx)(unsafe.Pointer(p)).Fapprox != 0 { Xsqlite3_result_double(tls, context, (*SumCtx)(unsafe.Pointer(p)).FrSum) } else { @@ -101469,7 +101975,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zSep = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) nSep = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) } else { - zSep = ts + 14840 /* "," */ + zSep = ts + 14855 /* "," */ nSep = 1 } if zSep != 0 { @@ -101547,7 +102053,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:121112:13: // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:121135:21: */ - var rc int32 = Xsqlite3_overload_function(tls, db, ts+16933 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+16948 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -101567,14 +102073,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+16939 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+16954 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3CreateFunc(tls, db, ts+16939 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+16954 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16939 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16939 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16954 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16954 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) } // pExpr points to an expression which implements a function. If @@ -101679,76 +102185,76 @@ func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:121427:21: * var aBuiltinFunc = [68]FuncDef{ //**** Functions only available with SQLITE_TESTCTRL_INTERNAL_FUNCTIONS **** - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_implies_nonnull_row), FxSFunc: 0, FzName: ts + 16944 /* "implies_nonnull_..." */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_compare), FxSFunc: 0, FzName: ts + 16964 /* "expr_compare" */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_implies_expr), FxSFunc: 0, FzName: ts + 16977 /* "expr_implies_exp..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_implies_nonnull_row), FxSFunc: 0, FzName: ts + 16959 /* "implies_nonnull_..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_compare), FxSFunc: 0, FzName: ts + 16979 /* "expr_compare" */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_implies_expr), FxSFunc: 0, FzName: ts + 16992 /* "expr_implies_exp..." */}, //**** Regular functions **** - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 16995 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17003 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17003 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17018 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17044 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 17069 /* "unlikely" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 17078 /* "likelihood" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 17089 /* "likely" */}, - {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17096 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 17110 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 17110 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 17116 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 17116 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 17122 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 17122 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17127 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17127 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17127 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 17131 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FzName: ts + 17131 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(1), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17131 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17135 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 17142 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17149 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17155 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17162 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17170 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17175 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17179 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17179 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17185 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17191 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17197 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17201 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17208 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17215 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17226 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17233 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17248 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17265 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17276 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17282 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17300 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17308 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17322 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17330 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17339 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17339 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17346 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17346 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17356 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17360 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17366 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17370 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17370 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17376 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17376 /* "group_concat" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17010 /* "soundex" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17018 /* "load_extension" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17018 /* "load_extension" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17033 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17059 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 17084 /* "unlikely" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 17093 /* "likelihood" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 17104 /* "likely" */}, + {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17111 /* "sqlite_offset" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 17125 /* "ltrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 17125 /* "ltrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 17131 /* "rtrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 17131 /* "rtrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 17137 /* "trim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 17137 /* "trim" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17142 /* "min" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17142 /* "min" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17142 /* "min" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 17146 /* "max" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FzName: ts + 17146 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(1), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17146 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17150 /* "typeof" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 17157 /* "length" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17164 /* "instr" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17170 /* "printf" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17177 /* "unicode" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17185 /* "char" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17190 /* "abs" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17194 /* "round" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17194 /* "round" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17200 /* "upper" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17206 /* "lower" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17212 /* "hex" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17216 /* "ifnull" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17223 /* "random" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17230 /* "randomblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17241 /* "nullif" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17248 /* "sqlite_version" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17263 /* "sqlite_source_id" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17280 /* "sqlite_log" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17291 /* "quote" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17297 /* "last_insert_rowi..." */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17315 /* "changes" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17323 /* "total_changes" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17337 /* "replace" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17345 /* "zeroblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17354 /* "substr" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17354 /* "substr" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17361 /* "substring" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17361 /* "substring" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17371 /* "sum" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17375 /* "total" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17381 /* "avg" */}, + {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17385 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17385 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17391 /* "group_concat" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17391 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 17389 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16939 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16939 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17394 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17394 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17403 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17394 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 17408 /* "iif" */}} /* sqlite3.c:121438:18 */ + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 17404 /* "glob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16954 /* "like" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16954 /* "like" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17409 /* "coalesce" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17409 /* "coalesce" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17418 /* "sign" */}, + {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17409 /* "coalesce" */}, + {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 17423 /* "iif" */}} /* sqlite3.c:121438:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -102034,7 +102540,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey if !(pIdx != 0) { if !(int32((*Parse)(unsafe.Pointer(pParse)).FdisableTriggers) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+17412, /* "foreign key mism..." */ + ts+17427, /* "foreign key mism..." */ libc.VaList(bp, (*Table)(unsafe.Pointer((*FKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*FKey)(unsafe.Pointer(pFKey)).FzTo)) } Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiCol) @@ -102930,8 +103436,8 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, } for i = 0; i < (*FKey)(unsafe.Pointer(pFKey)).FnCol; i++ { - *(*Token)(unsafe.Pointer(bp + 24 /* tOld */)) = Token{Fz: ts + 8560 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 32 /* tNew */)) = Token{Fz: ts + 8556 /* "new" */, Fn: uint32(3)} // Literal "new" token + *(*Token)(unsafe.Pointer(bp + 24 /* tOld */)) = Token{Fz: ts + 8575 /* "old" */, Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 32 /* tNew */)) = Token{Fz: ts + 8571 /* "new" */, Fn: uint32(3)} // Literal "new" token // var tFromCol Token at bp+16, 8 // Name of column in child table // var tToCol Token at bp+8, 8 @@ -103019,7 +103525,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, (*Token)(unsafe.Pointer(bp + 40 /* &tFrom */)).Fz = zFrom (*Token)(unsafe.Pointer(bp + 40 /* &tFrom */)).Fn = uint32(nFrom) - pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+7053 /* "FOREIGN KEY cons..." */) + pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+7068 /* "FOREIGN KEY cons..." */) if pRaise != 0 { (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -103198,13 +103704,13 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa }(), (*Table)(unsafe.Pointer(pTab)).FzName) if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { Xsqlite3VdbeAddOp4Int(tls, v, opcode, iCur, int32((*Table)(unsafe.Pointer(pTab)).Ftnum), iDb, int32((*Table)(unsafe.Pointer(pTab)).FnNVCol)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) } else { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) Xsqlite3VdbeAddOp3(tls, v, opcode, iCur, int32((*Index)(unsafe.Pointer(pPk)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pPk) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } } @@ -103452,7 +103958,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10176 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+10191 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) } (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -104016,7 +104522,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+17457, /* "cannot INSERT in..." */ + ts+17472, /* "cannot INSERT in..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*20)).FzName)) goto insert_cleanup __24: @@ -104041,7 +104547,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+17498, /* "table %S has no ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17513, /* "table %S has no ..." */ libc.VaList(bp+8, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*8)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup @@ -104211,7 +104717,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+17530, /* "table %S has %d ..." */ + ts+17545, /* "table %S has %d ..." */ libc.VaList(bp+24, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: @@ -104221,7 +104727,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+17582 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+17597 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -104277,7 +104783,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+17607, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17622, /* "UPSERT not imple..." */ libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -104285,7 +104791,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+17653 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17668 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -104765,7 +105271,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+17674 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+17689 /* "rows inserted" */, uintptr(0)) __123: ; @@ -105108,7 +105614,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_HaltIfNull, (SQLITE_CONSTRAINT | (int32(5) << 8)), onError, iReg) @@ -105359,7 +105865,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // initialize it to zero. regTrigCnt = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regTrigCnt) - Xsqlite3VdbeComment(tls, v, ts+17688 /* "trigger count" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17703 /* "trigger count" */, 0) lblRecheckOk = Xsqlite3VdbeMakeLabel(tls, pParse) addrRecheck = lblRecheckOk } @@ -105404,7 +105910,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt (onError != int32(overrideError))) && // Rules for other constraints are different ((*Table)(unsafe.Pointer(pTab)).FpIndex != 0) { ipkTop = (Xsqlite3VdbeAddOp0(tls, v, OP_Goto) + 1) - Xsqlite3VdbeComment(tls, v, ts+17702 /* "defer IPK REPLAC..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+17717 /* "defer IPK REPLAC..." */, 0) } if isUpdate != 0 { @@ -105418,7 +105924,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // Check to see if the new rowid already exists in the table. Skip // the following conflict logic if it does not. - Xsqlite3VdbeNoopComment(tls, v, ts+17731 /* "uniqueness check..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+17746 /* "uniqueness check..." */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_NotExists, iDataCur, addrRowidOk, regNewData) @@ -105538,7 +106044,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3TableAffinity(tls, v, pTab, (regNewData + 1)) bAffinityDone = U8(1) } - Xsqlite3VdbeNoopComment(tls, v, ts+17758 /* "prep index %s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeNoopComment(tls, v, ts+17773 /* "prep index %s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) iThisCur = (iIdxCur + *(*int32)(unsafe.Pointer(bp + 88 /* ix */))) // Skip partial indices for which the WHERE clause is not true @@ -105560,20 +106066,20 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = -(regNewData + 1) Xsqlite3ExprCodeCopy(tls, pParse, (*ExprList_item)(unsafe.Pointer(((*Index)(unsafe.Pointer(pIdx)).FaColExpr+8 /* &.a */)+uintptr(i)*20)).FpExpr, (regIdx + i)) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - Xsqlite3VdbeComment(tls, v, ts+17772 /* "%s column %d" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) + Xsqlite3VdbeComment(tls, v, ts+17787 /* "%s column %d" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) } else if (iField == (-1)) || (iField == int32((*Table)(unsafe.Pointer(pTab)).FiPKey)) { x = regNewData Xsqlite3VdbeAddOp2(tls, v, OP_IntCopy, x, (regIdx + i)) - Xsqlite3VdbeComment(tls, v, ts+10282 /* "rowid" */, 0) + Xsqlite3VdbeComment(tls, v, ts+10297 /* "rowid" */, 0) } else { x = ((int32(Xsqlite3TableColumnToStorage(tls, pTab, int16(iField))) + regNewData) + 1) Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, x, (regIdx + i)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+40, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*20)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+40, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*20)).FzName)) } } Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, regIdx, int32((*Index)(unsafe.Pointer(pIdx)).FnColumn), *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 88 /* ix */)))*4))) - Xsqlite3VdbeComment(tls, v, ts+17785 /* "for %s" */, libc.VaList(bp+48, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+17800 /* "for %s" */, libc.VaList(bp+48, (*Index)(unsafe.Pointer(pIdx)).FzName)) // In an UPDATE operation, if this index is the PRIMARY KEY index // of a WITHOUT ROWID table and there has been no change the @@ -105646,7 +106152,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt x = int32(Xsqlite3TableColumnToIndex(tls, pIdx, *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iThisCur, x, (regR + i)) - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp+56, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*20)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp+56, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*20)).FzName)) } } if isUpdate != 0 { @@ -105740,7 +106246,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3VdbeAddOp2(tls, v, OP_AddImm, regTrigCnt, 1) // incr trigger cnt addrBypass = Xsqlite3VdbeAddOp0(tls, v, OP_Goto) // Bypass recheck - Xsqlite3VdbeComment(tls, v, ts+17792 /* "bypass recheck" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17807 /* "bypass recheck" */, 0) // Here we insert code that will be invoked after all constraint // checks have run, if and only if one or more replace triggers @@ -105809,7 +106315,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // If the IPK constraint is a REPLACE, run it last if ipkTop != 0 { Xsqlite3VdbeGoto(tls, v, ipkTop) - Xsqlite3VdbeComment(tls, v, ts+17807 /* "Do IPK REPLACE" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17822 /* "Do IPK REPLACE" */, 0) Xsqlite3VdbeJumpHere(tls, v, ipkBottom) } @@ -106025,7 +106531,7 @@ __1: Xsqlite3VdbeAddOp3(tls, v, op, iIdxCur, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) Xsqlite3VdbeChangeP5(tls, v, uint16(p5)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } } @@ -106406,11 +106912,11 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iSrc, int32((*Index)(unsafe.Pointer(pSrcIdx)).Ftnum), iDbSrc) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pSrcIdx) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pSrcIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pSrcIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenWrite, iDest, int32((*Index)(unsafe.Pointer(pDestIdx)).Ftnum), iDbDest) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pDestIdx) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_BULKCSR)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) addr1 = Xsqlite3VdbeAddOp2(tls, v, OP_Rewind, iSrc, 0) if ((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags & U32(DBFLAG_Vacuum)) != 0 { // This INSERT command is part of a VACUUM operation, which guarantees @@ -106527,7 +107033,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 900 /* "" */ + zSql = ts + 915 /* "" */ __2: ; @@ -107088,7 +107594,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14108 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14123 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -107098,7 +107604,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 17822 /* "sqlite3_extensio..." */ + zEntry = ts + 17837 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -107118,7 +107624,7 @@ __5: if !((ii < (int32(uint32(unsafe.Sizeof(azEndings)) / uint32(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+10215 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) + zAltFile = Xsqlite3_mprintf(tls, ts+10230 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) if !(zAltFile == uintptr(0)) { goto __8 } @@ -107164,7 +107670,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.Xmemcpy(tls, zAltEntry, ts+17845 /* "sqlite3_" */, uint32(8)) + libc.Xmemcpy(tls, zAltEntry, ts+17860 /* "sqlite3_" */, uint32(8)) iFile = (ncFile - 1) __12: if !((iFile >= 0) && !((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/')) { @@ -107178,7 +107684,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+17854 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+17869 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -107202,7 +107708,7 @@ __17: goto __18 __18: ; - libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+17858 /* "_init" */, uint32(6)) + libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+17873 /* "_init" */, uint32(6)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -107220,7 +107726,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+17864 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) + ts+17879 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __22: ; @@ -107245,7 +107751,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+17907 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+17922 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) __25: ; Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) @@ -107285,7 +107791,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+17939 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) + ts+17954 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __29: ; @@ -107295,7 +107801,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 17976, /* "so" */ + ts + 17991, /* "so" */ } /* sqlite3.c:127457:21 */ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127590:16: */ @@ -107461,7 +107967,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+17979 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) + ts+17994 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */))) @@ -107506,61 +108012,61 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 // or that return single-column results where the name of the // result column is different from the name of the pragma var pragCName = [51]uintptr{ - /* 0 */ ts + 6974, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 18018, /* "seq" */ - /* 2 */ ts + 8454, /* "table" */ - /* 3 */ ts + 18022, /* "from" */ - /* 4 */ ts + 18027, /* "to" */ - /* 5 */ ts + 18030, /* "on_update" */ - /* 6 */ ts + 18040, /* "on_delete" */ - /* 7 */ ts + 18050, /* "match" */ - /* 8 */ ts + 18056, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 18060, /* "name" */ - /* 10 */ ts + 18065, /* "type" */ - /* 11 */ ts + 18070, /* "notnull" */ - /* 12 */ ts + 18078, /* "dflt_value" */ - /* 13 */ ts + 18089, /* "pk" */ - /* 14 */ ts + 18092, /* "hidden" */ + /* 0 */ ts + 6989, /* "id" */ // Used by: foreign_key_list + /* 1 */ ts + 18033, /* "seq" */ + /* 2 */ ts + 8469, /* "table" */ + /* 3 */ ts + 18037, /* "from" */ + /* 4 */ ts + 18042, /* "to" */ + /* 5 */ ts + 18045, /* "on_update" */ + /* 6 */ ts + 18055, /* "on_delete" */ + /* 7 */ ts + 18065, /* "match" */ + /* 8 */ ts + 18071, /* "cid" */ // Used by: table_xinfo + /* 9 */ ts + 18075, /* "name" */ + /* 10 */ ts + 18080, /* "type" */ + /* 11 */ ts + 18085, /* "notnull" */ + /* 12 */ ts + 18093, /* "dflt_value" */ + /* 13 */ ts + 18104, /* "pk" */ + /* 14 */ ts + 18107, /* "hidden" */ // table_info reuses 8 - /* 15 */ ts + 18099, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 18056, /* "cid" */ - /* 17 */ ts + 18060, /* "name" */ - /* 18 */ ts + 18105, /* "desc" */ - /* 19 */ ts + 18110, /* "coll" */ - /* 20 */ ts + 18115, /* "key" */ - /* 21 */ ts + 18060, /* "name" */ // Used by: function_list - /* 22 */ ts + 18119, /* "builtin" */ - /* 23 */ ts + 18065, /* "type" */ - /* 24 */ ts + 18127, /* "enc" */ - /* 25 */ ts + 18131, /* "narg" */ - /* 26 */ ts + 18136, /* "flags" */ - /* 27 */ ts + 13506, /* "tbl" */ // Used by: stats - /* 28 */ ts + 13502, /* "idx" */ - /* 29 */ ts + 18142, /* "wdth" */ - /* 30 */ ts + 18147, /* "hght" */ - /* 31 */ ts + 18152, /* "flgs" */ - /* 32 */ ts + 18018, /* "seq" */ // Used by: index_list - /* 33 */ ts + 18060, /* "name" */ - /* 34 */ ts + 18157, /* "unique" */ - /* 35 */ ts + 18164, /* "origin" */ - /* 36 */ ts + 18171, /* "partial" */ - /* 37 */ ts + 8454, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 10282, /* "rowid" */ - /* 39 */ ts + 6977, /* "parent" */ - /* 40 */ ts + 18179, /* "fkid" */ + /* 15 */ ts + 18114, /* "seqno" */ // Used by: index_xinfo + /* 16 */ ts + 18071, /* "cid" */ + /* 17 */ ts + 18075, /* "name" */ + /* 18 */ ts + 18120, /* "desc" */ + /* 19 */ ts + 18125, /* "coll" */ + /* 20 */ ts + 18130, /* "key" */ + /* 21 */ ts + 18075, /* "name" */ // Used by: function_list + /* 22 */ ts + 18134, /* "builtin" */ + /* 23 */ ts + 18080, /* "type" */ + /* 24 */ ts + 18142, /* "enc" */ + /* 25 */ ts + 18146, /* "narg" */ + /* 26 */ ts + 18151, /* "flags" */ + /* 27 */ ts + 13521, /* "tbl" */ // Used by: stats + /* 28 */ ts + 13517, /* "idx" */ + /* 29 */ ts + 18157, /* "wdth" */ + /* 30 */ ts + 18162, /* "hght" */ + /* 31 */ ts + 18167, /* "flgs" */ + /* 32 */ ts + 18033, /* "seq" */ // Used by: index_list + /* 33 */ ts + 18075, /* "name" */ + /* 34 */ ts + 18172, /* "unique" */ + /* 35 */ ts + 18179, /* "origin" */ + /* 36 */ ts + 18186, /* "partial" */ + /* 37 */ ts + 8469, /* "table" */ // Used by: foreign_key_check + /* 38 */ ts + 10297, /* "rowid" */ + /* 39 */ ts + 6992, /* "parent" */ + /* 40 */ ts + 18194, /* "fkid" */ // index_info reuses 15 - /* 41 */ ts + 18018, /* "seq" */ // Used by: database_list - /* 42 */ ts + 18060, /* "name" */ - /* 43 */ ts + 18184, /* "file" */ - /* 44 */ ts + 18189, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 18194, /* "log" */ - /* 46 */ ts + 18198, /* "checkpointed" */ + /* 41 */ ts + 18033, /* "seq" */ // Used by: database_list + /* 42 */ ts + 18075, /* "name" */ + /* 43 */ ts + 18199, /* "file" */ + /* 44 */ ts + 18204, /* "busy" */ // Used by: wal_checkpoint + /* 45 */ ts + 18209, /* "log" */ + /* 46 */ ts + 18213, /* "checkpointed" */ // collation_list reuses 32 - /* 47 */ ts + 18211, /* "database" */ // Used by: lock_status - /* 48 */ ts + 18220, /* "status" */ - /* 49 */ ts + 18227, /* "cache_size" */ // Used by: default_cache_size + /* 47 */ ts + 18226, /* "database" */ // Used by: lock_status + /* 48 */ ts + 18235, /* "status" */ + /* 49 */ ts + 18242, /* "cache_size" */ // Used by: default_cache_size // module_list pragma_list reuses 9 - /* 50 */ ts + 18238, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 18253, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas @@ -107576,238 +108082,238 @@ type PragmaName1 = struct { // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [66]PragmaName{ - { /* zName: */ FzName: ts + 18246, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 18261, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18261, /* "application_id" */ + { /* zName: */ FzName: ts + 18276, /* "application_id" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_APPLICATION_ID)}, - { /* zName: */ FzName: ts + 18276, /* "auto_vacuum" */ + { /* zName: */ FzName: ts + 18291, /* "auto_vacuum" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_AUTO_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18288, /* "automatic_index" */ + { /* zName: */ FzName: ts + 18303, /* "automatic_index" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_AutoIndex)}, - { /* zName: */ FzName: ts + 18304, /* "busy_timeout" */ + { /* zName: */ FzName: ts + 18319, /* "busy_timeout" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_BUSY_TIMEOUT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(50), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18227, /* "cache_size" */ + { /* zName: */ FzName: ts + 18242, /* "cache_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18317, /* "cache_spill" */ + { /* zName: */ FzName: ts + 18332, /* "cache_spill" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SPILL), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18329, /* "case_sensitive_l..." */ + { /* zName: */ FzName: ts + 18344, /* "case_sensitive_l..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CASE_SENSITIVE_LIKE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 18349, /* "cell_size_check" */ + { /* zName: */ FzName: ts + 18364, /* "cell_size_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CellSizeCk)}, - { /* zName: */ FzName: ts + 18365, /* "checkpoint_fullf..." */ + { /* zName: */ FzName: ts + 18380, /* "checkpoint_fullf..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CkptFullFSync)}, - { /* zName: */ FzName: ts + 18386, /* "collation_list" */ + { /* zName: */ FzName: ts + 18401, /* "collation_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COLLATION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 18401, /* "compile_options" */ + { /* zName: */ FzName: ts + 18416, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18417, /* "count_changes" */ + { /* zName: */ FzName: ts + 18432, /* "count_changes" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (U64((uint64(0x00001))) << 32)}, - { /* zName: */ FzName: ts + 18431, /* "data_version" */ + { /* zName: */ FzName: ts + 18446, /* "data_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_DATA_VERSION)}, - { /* zName: */ FzName: ts + 18444, /* "database_list" */ + { /* zName: */ FzName: ts + 18459, /* "database_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATABASE_LIST), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_Result0)), /* ColNames: */ FiPragCName: U8(41), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 18458, /* "default_cache_si..." */ + { /* zName: */ FzName: ts + 18473, /* "default_cache_si..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DEFAULT_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1)), /* ColNames: */ FiPragCName: U8(49), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18477, /* "defer_foreign_ke..." */ + { /* zName: */ FzName: ts + 18492, /* "defer_foreign_ke..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_DeferFKs)}, - { /* zName: */ FzName: ts + 18496, /* "empty_result_cal..." */ + { /* zName: */ FzName: ts + 18511, /* "empty_result_cal..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_NullCallback)}, - { /* zName: */ FzName: ts + 18519, /* "encoding" */ + { /* zName: */ FzName: ts + 18534, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18528, /* "foreign_key_chec..." */ + { /* zName: */ FzName: ts + 18543, /* "foreign_key_chec..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_CHECK), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(37), FnPragCName: U8(4)}, - { /* zName: */ FzName: ts + 18546, /* "foreign_key_list" */ + { /* zName: */ FzName: ts + 18561, /* "foreign_key_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), FnPragCName: U8(8)}, - { /* zName: */ FzName: ts + 18563, /* "foreign_keys" */ + { /* zName: */ FzName: ts + 18578, /* "foreign_keys" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ForeignKeys)}, - { /* zName: */ FzName: ts + 18576, /* "freelist_count" */ + { /* zName: */ FzName: ts + 18591, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 18591, /* "full_column_name..." */ + { /* zName: */ FzName: ts + 18606, /* "full_column_name..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullColNames)}, - { /* zName: */ FzName: ts + 18609, /* "fullfsync" */ + { /* zName: */ FzName: ts + 18624, /* "fullfsync" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullFSync)}, - { /* zName: */ FzName: ts + 18619, /* "function_list" */ + { /* zName: */ FzName: ts + 18634, /* "function_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FUNCTION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(21), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 18633, /* "hard_heap_limit" */ + { /* zName: */ FzName: ts + 18648, /* "hard_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HARD_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18649, /* "ignore_check_con..." */ + { /* zName: */ FzName: ts + 18664, /* "ignore_check_con..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_IgnoreChecks)}, - { /* zName: */ FzName: ts + 18674, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 18689, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 18693, /* "index_info" */ + { /* zName: */ FzName: ts + 18708, /* "index_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 18704, /* "index_list" */ + { /* zName: */ FzName: ts + 18719, /* "index_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(5)}, - { /* zName: */ FzName: ts + 18715, /* "index_xinfo" */ + { /* zName: */ FzName: ts + 18730, /* "index_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(6), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 18727, /* "integrity_check" */ + { /* zName: */ FzName: ts + 18742, /* "integrity_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 18743, /* "journal_mode" */ + { /* zName: */ FzName: ts + 18758, /* "journal_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_MODE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18756, /* "journal_size_lim..." */ + { /* zName: */ FzName: ts + 18771, /* "journal_size_lim..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_SIZE_LIMIT), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18775, /* "legacy_alter_tab..." */ + { /* zName: */ FzName: ts + 18790, /* "legacy_alter_tab..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_LegacyAlter)}, - { /* zName: */ FzName: ts + 18794, /* "lock_status" */ + { /* zName: */ FzName: ts + 18809, /* "lock_status" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCK_STATUS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(47), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 18806, /* "locking_mode" */ + { /* zName: */ FzName: ts + 18821, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18819, /* "max_page_count" */ + { /* zName: */ FzName: ts + 18834, /* "max_page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18834, /* "mmap_size" */ + { /* zName: */ FzName: ts + 18849, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 18844, /* "module_list" */ + { /* zName: */ FzName: ts + 18859, /* "module_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MODULE_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18856, /* "optimize" */ + { /* zName: */ FzName: ts + 18871, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 18865, /* "page_count" */ + { /* zName: */ FzName: ts + 18880, /* "page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18876, /* "page_size" */ + { /* zName: */ FzName: ts + 18891, /* "page_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_SIZE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18886, /* "pragma_list" */ + { /* zName: */ FzName: ts + 18901, /* "pragma_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PRAGMA_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18898, /* "query_only" */ + { /* zName: */ FzName: ts + 18913, /* "query_only" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_QueryOnly)}, - { /* zName: */ FzName: ts + 18909, /* "quick_check" */ + { /* zName: */ FzName: ts + 18924, /* "quick_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 18921, /* "read_uncommitted" */ + { /* zName: */ FzName: ts + 18936, /* "read_uncommitted" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReadUncommit)}, - { /* zName: */ FzName: ts + 18938, /* "recursive_trigge..." */ + { /* zName: */ FzName: ts + 18953, /* "recursive_trigge..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_RecTriggers)}, - { /* zName: */ FzName: ts + 18957, /* "reverse_unordere..." */ + { /* zName: */ FzName: ts + 18972, /* "reverse_unordere..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReverseOrder)}, - { /* zName: */ FzName: ts + 18983, /* "schema_version" */ + { /* zName: */ FzName: ts + 18998, /* "schema_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_SCHEMA_VERSION)}, - { /* zName: */ FzName: ts + 18998, /* "secure_delete" */ + { /* zName: */ FzName: ts + 19013, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19012, /* "short_column_nam..." */ + { /* zName: */ FzName: ts + 19027, /* "short_column_nam..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ShortColNames)}, - { /* zName: */ FzName: ts + 19031, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 19046, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 19045, /* "soft_heap_limit" */ + { /* zName: */ FzName: ts + 19060, /* "soft_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SOFT_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19061, /* "synchronous" */ + { /* zName: */ FzName: ts + 19076, /* "synchronous" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SYNCHRONOUS), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 19073, /* "table_info" */ + { /* zName: */ FzName: ts + 19088, /* "table_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 19084, /* "table_xinfo" */ + { /* zName: */ FzName: ts + 19099, /* "table_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(7), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 19096, /* "temp_store" */ + { /* zName: */ FzName: ts + 19111, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 19107, /* "temp_store_direc..." */ + { /* zName: */ FzName: ts + 19122, /* "temp_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 19128, /* "threads" */ + { /* zName: */ FzName: ts + 19143, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19136, /* "trusted_schema" */ + { /* zName: */ FzName: ts + 19151, /* "trusted_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_TrustedSchema)}, - { /* zName: */ FzName: ts + 19151, /* "user_version" */ + { /* zName: */ FzName: ts + 19166, /* "user_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_USER_VERSION)}, - { /* zName: */ FzName: ts + 19164, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 19179, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 19183, /* "wal_checkpoint" */ + { /* zName: */ FzName: ts + 19198, /* "wal_checkpoint" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_CHECKPOINT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NeedSchema), /* ColNames: */ FiPragCName: U8(44), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 19198, /* "writable_schema" */ + { /* zName: */ FzName: ts + 19213, /* "writable_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError))}, @@ -107844,7 +108350,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 19214 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 19229 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ @@ -107861,10 +108367,10 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:128 // Interpret the given string as a locking mode value. func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ if z != 0 { - if 0 == Xsqlite3StrICmp(tls, z, ts+19239 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19254 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+19249 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19264 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -107877,13 +108383,13 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ var i int32 - if 0 == Xsqlite3StrICmp(tls, z, ts+19256 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19271 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+19261 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19276 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+19266 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19281 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -107901,9 +108407,9 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128566:12: */ if (int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '2') { return (int32(*(*int8)(unsafe.Pointer(z))) - '0') - } else if Xsqlite3StrICmp(tls, z, ts+18184 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+18199 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+19278 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+19293 /* "memory" */) == 0 { return 2 } else { return 0 @@ -107919,7 +108425,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || (Xsqlite3BtreeTxnState(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpBt) != SQLITE_TXN_NONE) { Xsqlite3ErrorMsg(tls, pParse, - ts+19285 /* "temporary storag..." */, 0) + ts+19300 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpBt) @@ -108019,19 +108525,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 19347 /* "SET NULL" */ + zName = ts + 19362 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 19356 /* "SET DEFAULT" */ + zName = ts + 19371 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 19368 /* "CASCADE" */ + zName = ts + 19383 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 19376 /* "RESTRICT" */ + zName = ts + 19391 /* "RESTRICT" */ break default: - zName = ts + 19385 /* "NO ACTION" */ + zName = ts + 19400 /* "NO ACTION" */ break } return zName @@ -108049,7 +108555,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 19395 /* "delete" */, ts + 19402 /* "persist" */, ts + 19410 /* "off" */, ts + 19414 /* "truncate" */, ts + 19278 /* "memory" */, ts + 19423, /* "wal" */ + ts + 19410 /* "delete" */, ts + 19417 /* "persist" */, ts + 19425 /* "off" */, ts + 19429 /* "truncate" */, ts + 19293 /* "memory" */, ts + 19438, /* "wal" */ } /* sqlite3.c:128715:15 */ // Locate a pragma in the aPragmaName[] array. @@ -108095,13 +108601,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 19427 /* "w" */ + zType = ts + 19442 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 19429 /* "a" */ + zType = ts + 19444 /* "a" */ } else { - zType = ts + 19431 /* "s" */ + zType = ts + 19446 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19433, /* "sissii" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19448, /* "sissii" */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, azEnc[((*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK))], int32((*FuncDef)(unsafe.Pointer(p)).FnArg), @@ -108110,7 +108616,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } var mask U32 = (U32((((SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY) | SQLITE_SUBTYPE) | SQLITE_INNOCUOUS) | SQLITE_FUNC_INTERNAL)) /* sqlite3.c:128765:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 19440 /* "utf8" */, ts + 19445 /* "utf16le" */, ts + 19453 /* "utf16be" */} /* sqlite3.c:128772:23 */ +var azEnc = [4]uintptr{uintptr(0), ts + 19455 /* "utf8" */, ts + 19460 /* "utf16le" */, ts + 19468 /* "utf16be" */} /* sqlite3.c:128772:23 */ // Helper subroutine for PRAGMA integrity_check: // @@ -108378,7 +108884,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+19461 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+19476 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -108433,7 +108939,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 380 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 380 /* &aFcntl[0] */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 380 /* &aFcntl[0] */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 380 /* &aFcntl[0] */))) __10: ; @@ -109009,7 +109515,7 @@ __18: if !(zRight != 0) { goto __63 } - if !(Xsqlite3_stricmp(tls, zRight, ts+19465 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+19480 /* "fast" */) == 0) { goto __64 } b = 2 @@ -109098,7 +109604,7 @@ __71: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 19249 /* "normal" */ + zRet = ts + 19264 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -109139,7 +109645,7 @@ __78: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __83 } - zRet = ts + 19239 /* "exclusive" */ + zRet = ts + 19254 /* "exclusive" */ __83: ; returnSingleText(tls, v, zRet) @@ -109504,7 +110010,7 @@ __123: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 428 /* res */)) == 0)) { goto __126 } - Xsqlite3ErrorMsg(tls, pParse, ts+19470 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19485 /* "not a writable d..." */, 0) goto pragma_out __126: ; @@ -109522,7 +110028,7 @@ __127: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __128 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+16, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+16, zRight)) goto __129 __128: Xsqlite3_temp_directory = uintptr(0) @@ -109550,7 +110056,7 @@ __130: goto __132 } Xsqlite3ErrorMsg(tls, pParse, - ts+19495 /* "Safety level may..." */, 0) + ts+19510 /* "Safety level may..." */, 0) goto __133 __132: if !(iDb != 1) { @@ -109709,13 +110215,13 @@ __154: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 19548 /* "issisii" */ + return ts + 19563 /* "issisii" */ } - return ts + 19556 /* "issisi" */ + return ts + 19571 /* "issisi" */ }(), libc.VaList(bp+24, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+900 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+915 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -109790,7 +110296,7 @@ __166: goto __168 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19563 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19578 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -109800,7 +110306,7 @@ __166: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __169 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+19568, /* "isiX" */ + Xsqlite3VdbeMultiLoad(tls, v, 4, ts+19583, /* "isiX" */ libc.VaList(bp+104, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*4)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) @@ -109837,8 +110343,8 @@ __172: if !(pIdx1 != 0) { goto __174 } - *(*[3]uintptr)(unsafe.Pointer(bp + 432 /* azOrigin */)) = [3]uintptr{ts + 19573 /* "c" */, ts + 19575 /* "u" */, ts + 18089 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19577, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 432 /* azOrigin */)) = [3]uintptr{ts + 19588 /* "c" */, ts + 19590 /* "u" */, ts + 18104 /* "pk" */} + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19592, /* "isisi" */ libc.VaList(bp+128, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), @@ -109872,7 +110378,7 @@ __175: __178: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19583, /* "iss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19598, /* "iss" */ libc.VaList(bp+168, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*16)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*16)).FpBt))) @@ -109895,7 +110401,7 @@ __179: goto __181 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19587 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19602 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __180 __180: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -109959,7 +110465,7 @@ __191: goto __193 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19431 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19446 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __192 __192: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -109976,7 +110482,7 @@ __194: if !(i6 < (int32(uint32(unsafe.Sizeof(aPragmaName)) / uint32(unsafe.Sizeof(PragmaName{}))))) { goto __196 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19431 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19446 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) goto __195 __195: i6++ @@ -110012,7 +110518,7 @@ __202: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __204 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19590, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19605, /* "iissssss" */ libc.VaList(bp+224, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -110020,7 +110526,7 @@ __202: (*sColMap)(unsafe.Pointer((pFK+36 /* &.aCol */)+uintptr(j2)*8)).FzCol, actionName(tls, *(*U8)(unsafe.Pointer((pFK + 25 /* &.aAction */) + 1))), // ON UPDATE actionName(tls, *(*U8)(unsafe.Pointer((pFK + 25 /* &.aAction */)))), // ON DELETE - ts+4891 /* "NONE" */)) + ts+4906 /* "NONE" */)) goto __203 __203: j2++ @@ -110213,7 +110719,7 @@ __231: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __232: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+19599 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+19614 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 448 /* aiCols */))) @@ -110479,7 +110985,7 @@ __259: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+19603 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*16)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+19618 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*16)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -110569,7 +111075,7 @@ __278: __279: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+19627 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+19642 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*20)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -110609,7 +111115,7 @@ __284: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+19647, /* "CHECK constraint..." */ + zErr1 = Xsqlite3MPrintf(tls, db, ts+19662, /* "CHECK constraint..." */ libc.VaList(bp+328, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) @@ -110643,9 +111149,9 @@ __289: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 460 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+19677 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+19692 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+19682 /* " missing from in..." */) + Xsqlite3VdbeLoadString(tls, v, 4, ts+19697 /* " missing from in..." */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) jmp5 = Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) @@ -110685,7 +111191,7 @@ __293: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 460 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+19703 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+19718 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __290: @@ -110707,7 +111213,7 @@ __285: if !(!(isQuick != 0)) { goto __295 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+19730 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+19745 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __296: @@ -110758,7 +111264,7 @@ __241: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 452 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 5213 /* "ok" */ + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 5228 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16 /* &.p4 */)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT) __300: @@ -110836,7 +111342,7 @@ __307: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __309 } - Xsqlite3ErrorMsg(tls, pParse, ts+19759 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+19774 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) __309: ; __304: @@ -110948,19 +111454,19 @@ __47: if !(zRight != 0) { goto __316 } - if !(Xsqlite3StrICmp(tls, zRight, ts+19261 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19276 /* "full" */) == 0) { goto __317 } eMode2 = SQLITE_CHECKPOINT_FULL goto __318 __317: - if !(Xsqlite3StrICmp(tls, zRight, ts+19784 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19799 /* "restart" */) == 0) { goto __319 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __320 __319: - if !(Xsqlite3StrICmp(tls, zRight, ts+19414 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19429 /* "truncate" */) == 0) { goto __321 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -111147,7 +111653,7 @@ __336: __338: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+19792, /* "ANALYZE \"%w\".\"%w..." */ + zSubSql = Xsqlite3MPrintf(tls, db, ts+19807, /* "ANALYZE \"%w\".\"%w..." */ libc.VaList(bp+344, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __339 @@ -111282,7 +111788,7 @@ __347: if !(i11 < (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __349 } - zState = ts + 19810 /* "unknown" */ + zState = ts + 19825 /* "unknown" */ if !((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*16)).FzDbSName == uintptr(0)) { goto __350 } @@ -111293,7 +111799,7 @@ __350: if !((pBt3 == uintptr(0)) || (Xsqlite3BtreePager(tls, pBt3) == uintptr(0))) { goto __351 } - zState = ts + 19818 /* "closed" */ + zState = ts + 19833 /* "closed" */ goto __352 __351: if !(Xsqlite3_file_control(tls, db, func() uintptr { @@ -111310,7 +111816,7 @@ __353: ; __352: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19825 /* "ss" */, libc.VaList(bp+360, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*16)).FzDbSName, zState)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19840 /* "ss" */, libc.VaList(bp+360, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*16)).FzDbSName, zState)) goto __348 __348: i11++ @@ -111377,14 +111883,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 19828 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 19833 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 19839 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 19848 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 19857 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 19865 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 19873 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 19880 /* "UTF16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 19843 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, + {FzName: ts + 19848 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] + {FzName: ts + 19854 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] + {FzName: ts + 19863 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] + {FzName: ts + 19872 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, + {FzName: ts + 19880 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, + {FzName: ts + 19888 /* "UTF-16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 19895 /* "UTF16" */}, // SQLITE_UTF16NATIVE {}, } /* sqlite3.c:130285:7 */ var setCookie = [2]VdbeOpList{ @@ -111397,7 +111903,7 @@ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, } /* sqlite3.c:130380:31 */ var azLockName = [5]uintptr{ - ts + 19886 /* "unlocked" */, ts + 19895 /* "shared" */, ts + 19902 /* "reserved" */, ts + 19911 /* "pending" */, ts + 19239, /* "exclusive" */ + ts + 19901 /* "unlocked" */, ts + 19910 /* "shared" */, ts + 19917 /* "reserved" */, ts + 19926 /* "pending" */, ts + 19254, /* "exclusive" */ } /* sqlite3.c:130688:23 */ // **************************************************************************** // @@ -111444,7 +111950,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argc _ = argv Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+56 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19919 /* "CREATE TABLE x" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19934 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -111452,7 +111958,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19934 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19949 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -111465,19 +111971,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19941 /* "(\"%s\"" */, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19956 /* "(\"%s\"" */, 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 /* &acc */, ts+19947 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19962 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19959 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19974 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+6887 /* ")" */, 1) Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) rc = Xsqlite3_declare_vtab(tls, db, bp+56 /* &zBuf[0] */) @@ -111493,7 +111999,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -111656,7 +112162,7 @@ __1: var zText uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) if zText != 0 { - *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + uintptr(j)*4)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, zText)) + *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + uintptr(j)*4)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, zText)) if *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + uintptr(j)*4)) == uintptr(0) { return SQLITE_NOMEM } @@ -111672,13 +112178,13 @@ __2: __3: ; Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 108 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19974 /* "PRAGMA " */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19989 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + 1*4)) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19982 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + 1*4)))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19997 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + 1*4)))) } Xsqlite3_str_appendall(tls, bp+32 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19986 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+20001 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */))))) } zSql = Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) if zSql == uintptr(0) { @@ -111687,7 +112193,7 @@ __3: rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 4 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -111780,12 +112286,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) // A error message has already been generated. Do not overwrite it } else if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & (U32(INITFLAG_AlterRename | INITFLAG_AlterDrop))) != 0 { *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db, - ts+19990 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)), + ts+20005 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)), func() uintptr { if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & U32(INITFLAG_AlterRename)) != 0 { - return ts + 20018 /* "rename" */ + return ts + 20033 /* "rename" */ } - return ts + 20025 /* "drop column" */ + return ts + 20040 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -111797,11 +112303,11 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) if *(*uintptr)(unsafe.Pointer(azObj + 1*4)) != 0 { zObj = *(*uintptr)(unsafe.Pointer(azObj + 1*4)) } else { - zObj = ts + 6925 /* "?" */ + zObj = ts + 6940 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+20037 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+20052 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+20068 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+20083 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -111878,7 +112384,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr if (Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), (db+160 /* &.init */ /* &.newTnum */)) == 0) || (((*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum > (*InitData)(unsafe.Pointer(pData)).FmxPage) && ((*InitData)(unsafe.Pointer(pData)).FmxPage > Pgno(0))) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+16147 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+16162 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+160 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -111915,13 +112421,13 @@ 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+20076 /* "orphan index" */) + corruptSchema(tls, pData, argv, ts+20091 /* "orphan index" */) } else if (((Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), (pIndex+44 /* &.tnum */)) == 0) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2))) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage)) || (Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+16147 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+16162 /* "invalid rootpage" */) } } } @@ -111964,16 +112470,16 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 8454 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 8469 /* "table" */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*4)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 2*4)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*4)) - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*4)) = ts + 10119 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*4)) = ts + 20089 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*4)) = ts + 10134 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*4)) = ts + 20104 /* "CREATE TABLE x(t..." */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 5*4)) = uintptr(0) (*InitData)(unsafe.Pointer(bp + 40 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 40 /* &initData */)).FiDb = iDb @@ -112086,7 +112592,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+13789 /* "attached databas..." */) + ts+13804 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -112126,7 +112632,7 @@ __16: if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) { goto __17 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+20161 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+20176 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -112148,7 +112654,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 40 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+20185, /* "SELECT*FROM\"%w\"...." */ + ts+20200, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zSchemaTabName)) xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth @@ -112508,7 +113014,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+20219 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+20234 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -112536,7 +113042,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+20249 /* "statement too lo..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+20264 /* "statement too lo..." */, 0) rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG) goto end_prepare __10: @@ -112599,7 +113105,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+936 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */)))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+951 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */))) goto __21 __20: @@ -113074,24 +113580,24 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC } } if ((jointype & (JT_INNER | JT_OUTER)) == (JT_INNER | JT_OUTER)) || ((jointype & JT_ERROR) != 0) { - var zSp uintptr = ts + 12911 /* " " */ + var zSp uintptr = ts + 12926 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+20268 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) + ts+20283 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) jointype = JT_INNER } else if ((jointype & JT_OUTER) != 0) && ((jointype & (JT_LEFT | JT_RIGHT)) != JT_LEFT) { Xsqlite3ErrorMsg(tls, pParse, - ts+20312 /* "RIGHT and FULL O..." */, 0) + ts+20327 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 20367 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 20382 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -113297,7 +113803,7 @@ __1: if (int32((*SrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype) & JT_NATURAL) != 0 { if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) || ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+20401 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) + ts+20416 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) return 1 } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { @@ -113321,7 +113827,7 @@ __1: // Disallow both ON and USING clauses in the same join if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) && ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+20451 /* "cannot have both..." */, 0) + ts+20466 /* "cannot have both..." */, 0) return 1 } @@ -113356,7 +113862,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+20506 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) + ts+20521 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) return 1 } addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 24 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 28 /* iLeftCol */)), (i + 1), iRightCol, @@ -113551,7 +114057,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:132803:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) - Xsqlite3VdbeComment(tls, v, ts+20570 /* "OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20585 /* "OFFSET" */, 0) } } @@ -113765,7 +114271,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo if srcTab >= 0 { for i = 0; i < nResultCol; i++ { Xsqlite3VdbeAddOp3(tls, v, OP_Column, srcTab, i, (regResult + i)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList+8 /* &.a */)+uintptr(i)*20)).FzEName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList+8 /* &.a */)+uintptr(i)*20)).FzEName)) } } else if eDest != SRT_Exists { // If the destination is an EXISTS(...) expression, the actual @@ -114147,16 +114653,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 20577 /* "UNION ALL" */ + z = ts + 20592 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 20587 /* "INTERSECT" */ + z = ts + 20602 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 20597 /* "EXCEPT" */ + z = ts + 20612 /* "EXCEPT" */ break default: - z = ts + 20604 /* "UNION" */ + z = ts + 20619 /* "UNION" */ break } return z @@ -114174,7 +114680,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite bp := tls.Alloc(8) defer tls.Free(8) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20610 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20625 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } // Assign expression b to lvalue a. A second, no-op, version of this macro @@ -114268,7 +114774,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n iRead = libc.PostDecInt32(&iCol, 1) } Xsqlite3VdbeAddOp3(tls, v, OP_Column, iSortTab, iRead, (regRow + i)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(aOutEx+uintptr(i)*20)).FzEName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(aOutEx+uintptr(i)*20)).FzEName)) } } @@ -114444,8 +114950,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 14687 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 40 /* zOrigCol */)) = ts + 10282 /* "rowid" */ + zType = ts + 14702 /* "INTEGER" */ + *(*uintptr)(unsafe.Pointer(bp + 40 /* zOrigCol */)) = ts + 10297 /* "rowid" */ } else { *(*uintptr)(unsafe.Pointer(bp + 40 /* zOrigCol */)) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20)).FzName zType = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20), uintptr(0)) @@ -114598,13 +115104,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 10282 /* "rowid" */ + zCol = ts + 10297 /* "rowid" */ } else { zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20)).FzName } if fullName != 0 { var zName uintptr = uintptr(0) - zName = Xsqlite3MPrintf(tls, db, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) + zName = Xsqlite3MPrintf(tls, db, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } else { Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, libc.UintptrFromInt32(-1)) @@ -114612,7 +115118,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*20)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+20633 /* "column%d" */, libc.VaList(bp+16, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+20648 /* "column%d" */, libc.VaList(bp+16, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -114701,7 +115207,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20)).FzName } else { - zName = ts + 10282 /* "rowid" */ + zName = ts + 10297 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -114714,7 +115220,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+20633 /* "column%d" */, libc.VaList(bp, (i+1))) + zName = Xsqlite3MPrintf(tls, db, ts+20648 /* "column%d" */, libc.VaList(bp, (i+1))) } // Make sure the column name is unique. If the name is not unique, @@ -114729,7 +115235,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+20642 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48 /* cnt */)), 1))) + zName = Xsqlite3MPrintf(tls, db, ts+20657 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48 /* cnt */)), 1))) if *(*U32)(unsafe.Pointer(bp + 48 /* cnt */)) > U32(3) { Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+48 /* &cnt */) } @@ -114930,7 +115436,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 if Xsqlite3ExprIsInteger(tls, (*Expr)(unsafe.Pointer(pLimit)).FpLeft, bp /* &n */) != 0 { Xsqlite3VdbeAddOp2(tls, v, OP_Integer, *(*int32)(unsafe.Pointer(bp /* n */)), iLimit) - Xsqlite3VdbeComment(tls, v, ts+20650 /* "LIMIT counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20665 /* "LIMIT counter" */, 0) if *(*int32)(unsafe.Pointer(bp /* n */)) == 0 { Xsqlite3VdbeGoto(tls, v, iBreak) } else if (*(*int32)(unsafe.Pointer(bp /* n */)) >= 0) && (int32((*Select)(unsafe.Pointer(p)).FnSelectRow) > int32(Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp /* n */)))))) { @@ -114940,7 +115446,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 } else { Xsqlite3ExprCode(tls, pParse, (*Expr)(unsafe.Pointer(pLimit)).FpLeft, iLimit) Xsqlite3VdbeAddOp1(tls, v, OP_MustBeInt, iLimit) - Xsqlite3VdbeComment(tls, v, ts+20650 /* "LIMIT counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20665 /* "LIMIT counter" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_IfNot, iLimit, iBreak) } if (*Expr)(unsafe.Pointer(pLimit)).FpRight != 0 { @@ -114948,9 +115454,9 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 (*Parse)(unsafe.Pointer(pParse)).FnMem++ // Allocate an extra register for limit+offset Xsqlite3ExprCode(tls, pParse, (*Expr)(unsafe.Pointer(pLimit)).FpRight, iOffset) Xsqlite3VdbeAddOp1(tls, v, OP_MustBeInt, iOffset) - Xsqlite3VdbeComment(tls, v, ts+20664 /* "OFFSET counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20679 /* "OFFSET counter" */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_OffsetLimit, iLimit, (iOffset + 1), iOffset) - Xsqlite3VdbeComment(tls, v, ts+20679 /* "LIMIT+OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20694 /* "LIMIT+OFFSET" */, 0) } } } @@ -115086,7 +115592,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+20692 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20707 /* "cannot use windo..." */, 0) return __1: ; @@ -115170,7 +115676,7 @@ __9: Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, iQueue, nCol) __10: ; - Xsqlite3VdbeComment(tls, v, ts+20741 /* "Queue table" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20756 /* "Queue table" */, 0) if !(iDistinct != 0) { goto __11 } @@ -115197,7 +115703,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+20753 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20768 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -115219,7 +115725,7 @@ __14: // Store the results of the setup-query in Queue. pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior (*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20795 /* "SETUP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20810 /* "SETUP" */, 0) rc = Xsqlite3Select(tls, pParse, pSetup, bp /* &destQueue */) (*Select)(unsafe.Pointer(pSetup)).FpNext = p if !(rc != 0) { @@ -115262,7 +115768,7 @@ __20: // Execute the recursive SELECT taking the single row in Current as // the value for the recursive-table. Store the results in the Queue. (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20801 /* "RECURSIVE STEP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20816 /* "RECURSIVE STEP" */, 0) Xsqlite3Select(tls, pParse, p, bp /* &destQueue */) (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -115312,11 +115818,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+20816 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20831 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { if nRow == 1 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 20839 /* "S" */ + return ts + 20854 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -115468,8 +115974,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20841 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20856 /* "LEFT-MOST SUBQUE..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20856 /* "COMPOUND QUERY" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20871 /* "LEFT-MOST SUBQUE..." */, 0) __8: ; @@ -115508,7 +116014,7 @@ __14: goto __15 } addr = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, (*Select)(unsafe.Pointer(p)).FiLimit) - Xsqlite3VdbeComment(tls, v, ts+20875 /* "Jump ahead if LI..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+20890 /* "Jump ahead if LI..." */, 0) if !((*Select)(unsafe.Pointer(p)).FiOffset != 0) { goto __16 } @@ -115518,7 +116024,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20577 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20592 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) @@ -115594,7 +116100,7 @@ __23: pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 48 /* &uniondest */)).FeDest = op - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20903 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20918 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+48 /* &uniondest */) @@ -115666,7 +116172,7 @@ __26: pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 76 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20903 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20918 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+76 /* &intersectdest */) @@ -115827,10 +116333,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+20924 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20939 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+20970, /* "SELECTs to the l..." */ + ts+20985, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -116210,9 +116716,9 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Separate the left and the right query from one another (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) (*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) - Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9344 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9359 /* "ORDER" */) if (*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+9344 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+9359 /* "ORDER" */) } // Compute the limit registers @@ -116241,15 +116747,15 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) Xsqlite3SelectDestInit(tls, bp+8 /* &destA */, SRT_Coroutine, regAddrA) Xsqlite3SelectDestInit(tls, bp+36 /* &destB */, SRT_Coroutine, regAddrB) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21052 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21067 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) // Generate a coroutine to evaluate the SELECT statement to the // left of the compound operator - the "A" select. addrSelectA = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA) - Xsqlite3VdbeComment(tls, v, ts+21063 /* "left SELECT" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21078 /* "left SELECT" */, 0) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21075 /* "LEFT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21090 /* "LEFT" */, 0) Xsqlite3Select(tls, pParse, pPrior, bp+8 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -116258,12 +116764,12 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // the right - the "B" select addrSelectB = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrB, 0, addrSelectB) - Xsqlite3VdbeComment(tls, v, ts+21080 /* "right SELECT" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21095 /* "right SELECT" */, 0) savedLimit = (*Select)(unsafe.Pointer(p)).FiLimit savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset (*Select)(unsafe.Pointer(p)).FiLimit = regLimitB (*Select)(unsafe.Pointer(p)).FiOffset = 0 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21093 /* "RIGHT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21108 /* "RIGHT" */, 0) Xsqlite3Select(tls, pParse, p, bp+36 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -116271,7 +116777,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Generate a subroutine that outputs the current row of the A // select as the next output row of the compound select. - Xsqlite3VdbeNoopComment(tls, v, ts+21099 /* "Output routine f..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21114 /* "Output routine f..." */, 0) addrOutA = generateOutputSubroutine(tls, pParse, p, bp+8 /* &destA */, pDest, regOutA, regPrev, pKeyDup, labelEnd) @@ -116279,7 +116785,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Generate a subroutine that outputs the current row of the B // select as the next output row of the compound select. if (op == TK_ALL) || (op == TK_UNION) { - Xsqlite3VdbeNoopComment(tls, v, ts+21120 /* "Output routine f..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21135 /* "Output routine f..." */, 0) addrOutB = generateOutputSubroutine(tls, pParse, p, bp+36 /* &destB */, pDest, regOutB, regPrev, pKeyDup, labelEnd) @@ -116291,7 +116797,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) if (op == TK_EXCEPT) || (op == TK_INTERSECT) { addrEofA_noB = libc.AssignInt32(&addrEofA, labelEnd) } else { - Xsqlite3VdbeNoopComment(tls, v, ts+21141 /* "eof-A subroutine" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21156 /* "eof-A subroutine" */, 0) addrEofA = Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutB, addrOutB) addrEofA_noB = Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regAddrB, labelEnd) @@ -116307,14 +116813,14 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (*Select)(unsafe.Pointer(p)).FnSelectRow = (*Select)(unsafe.Pointer(pPrior)).FnSelectRow } } else { - Xsqlite3VdbeNoopComment(tls, v, ts+21158 /* "eof-B subroutine" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21173 /* "eof-B subroutine" */, 0) addrEofB = Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutA, addrOutA) Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regAddrA, labelEnd) Xsqlite3VdbeGoto(tls, v, addrEofB) } // Generate code to handle the case of AB - Xsqlite3VdbeNoopComment(tls, v, ts+21211 /* "A-gt-B subroutin..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21226 /* "A-gt-B subroutin..." */, 0) addrAgtB = Xsqlite3VdbeCurrentAddr(tls, v) if (op == TK_ALL) || (op == TK_UNION) { Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutB, addrOutB) @@ -116459,7 +116965,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 463 /* "BINARY" */ + return ts + 478 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -117672,12 +118178,12 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 return U8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8 /* &.u */)) - if Xsqlite3StrICmp(tls, zFunc, ts+17127 /* "min" */) == 0 { + if Xsqlite3StrICmp(tls, zFunc, ts+17142 /* "min" */) == 0 { eRet = WHERE_ORDERBY_MIN if Xsqlite3ExprCanBeNull(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */))).FpExpr) != 0 { sortFlags = U8(KEYINFO_ORDER_BIGNULL) } - } else if Xsqlite3StrICmp(tls, zFunc, ts+17131 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+17146 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -117746,7 +118252,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+21229 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) + Xsqlite3ErrorMsg(tls, pParse, ts+21244 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) return SQLITE_ERROR } @@ -117857,7 +118363,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s defer tls.Free(8) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 36 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21247 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21262 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) return 1 } return 0 @@ -118045,7 +118551,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+36 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+21270 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+21285 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -118061,7 +118567,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21313 /* "circular referen..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21328 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { @@ -118087,7 +118593,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+21336, /* "table %s has %d ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21351, /* "table %s has %d ..." */ libc.VaList(bp+16, (*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 @@ -118098,9 +118604,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom Xsqlite3ColumnsFromExprList(tls, pParse, pEList, (pTab + 42 /* &.nCol */), (pTab + 4 /* &.aCol */)) if bMayRecursive != 0 { if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21374 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21389 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21408 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21423 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -118148,7 +118654,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+21446 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + (*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+21461 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) } for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior @@ -118275,7 +118781,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+21458, /* "too many referen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21473, /* "too many referen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) (*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return WRC_Abort @@ -118294,7 +118800,7 @@ __1: if (((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (((*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+21497, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21512, /* "access to view \"..." */ libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -118302,7 +118808,7 @@ __1: ((uint32(int32(*(*uint16)(unsafe.Pointer((pFrom + 36 /* &.fg */) + 4 /* &.fromDDL */)) & 0x40 >> 6))) != 0)) && ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+21528, /* "unsafe use of vi..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21543, /* "unsafe use of vi..." */ libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) @@ -118417,7 +118923,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName } else { - zSchemaName = ts + 21561 /* "*" */ + zSchemaName = ts + 21576 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -118466,7 +118972,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+10215 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+10230 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) zToFree = zColname } } else { @@ -118482,7 +118988,7 @@ __3: (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSub)).FpEList+8 /* &.a */)+uintptr(j)*20)).FzEName) } else { - (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+21563, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+21578, /* "%s.%s.%s" */ libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } @@ -118502,9 +119008,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21572 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21587 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+21590 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21605 /* "no tables specif..." */, 0) } } } @@ -118514,7 +119020,7 @@ __3: } if (*Select)(unsafe.Pointer(p)).FpEList != 0 { if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+21610 /* "too many columns..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21625 /* "too many columns..." */, 0) return WRC_Abort } if (elistFlags & (U32(EP_HasFunc | EP_Subquery))) != U32(0) { @@ -118702,13 +119208,13 @@ __1: if (*(*uintptr)(unsafe.Pointer(pE + 20 /* &.x */)) == uintptr(0)) || ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 20 /* &.x */)))).FnExpr != 1) { Xsqlite3ErrorMsg(tls, pParse, - ts+21641 /* "DISTINCT aggrega..." */, 0) + ts+21656 /* "DISTINCT aggrega..." */, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1 } else { var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 20 /* &.x */)), 0, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -9) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21692 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21707 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } @@ -118908,19 +119414,19 @@ 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 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21725, /* "SCAN %s%s%s" */ + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21740, /* "SCAN %s%s%s" */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if bCover != 0 { - return ts + 21737 /* " USING COVERING ..." */ + return ts + 21752 /* " USING COVERING ..." */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) } } @@ -118940,7 +119446,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { if (Xsqlite3ExprIsConstantOrGroupBy(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*Select)(unsafe.Pointer(pS)).FpGroupBy) != 0) && ((libc.Bool32(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromJoin | EP_IsFalse))) == U32(EP_IsFalse))) == 0) { var db uintptr = (*Parse)(unsafe.Pointer((*Walker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10119 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10134 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -119242,7 +119748,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+21760, /* "target object/al..." */ + ts+21775, /* "target object/al..." */ libc.VaList(bp, func() uintptr { if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 { return (*SrcItem)(unsafe.Pointer(p0)).FzAlias @@ -119322,7 +119828,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+21814, /* "expected %d colu..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21829, /* "expected %d colu..." */ 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 __18: @@ -119463,7 +119969,7 @@ __29: if !(((*SrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0)) && ((*SrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0))) { goto __32 } - Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+900 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+915 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -119525,10 +120031,10 @@ __35: (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) - Xsqlite3VdbeComment(tls, v, ts+21854 /* "%!S" */, libc.VaList(bp+32, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+21869 /* "%!S" */, libc.VaList(bp+32, pItem1)) (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop Xsqlite3SelectDestInit(tls, bp+120 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21858 /* "CO-ROUTINE %!S" */, libc.VaList(bp+40, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21873 /* "CO-ROUTINE %!S" */, libc.VaList(bp+40, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+120 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+36 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) @@ -119583,14 +120089,14 @@ __41: // a trigger, then we only need to compute the value of the subquery // once. onceAddr = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeComment(tls, v, ts+21873 /* "materialize %!S" */, libc.VaList(bp+48, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+21888 /* "materialize %!S" */, libc.VaList(bp+48, pItem1)) goto __45 __44: - Xsqlite3VdbeNoopComment(tls, v, ts+21873 /* "materialize %!S" */, libc.VaList(bp+56, pItem1)) + Xsqlite3VdbeNoopComment(tls, v, ts+21888 /* "materialize %!S" */, libc.VaList(bp+56, pItem1)) __45: ; Xsqlite3SelectDestInit(tls, bp+120 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21889 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21904 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+120 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { @@ -119600,7 +120106,7 @@ __45: __46: ; retAddr = Xsqlite3VdbeAddOp1(tls, v, OP_Return, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeComment(tls, v, ts+21905 /* "end %!S" */, libc.VaList(bp+72, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+21920 /* "end %!S" */, libc.VaList(bp+72, pItem1)) Xsqlite3VdbeChangeP1(tls, v, topAddr, retAddr) Xsqlite3ClearTempRegCache(tls, pParse) if !(((uint32(int32(*(*uint16)(unsafe.Pointer((pItem1 + 36 /* &.fg */) + 4 /* &.isCte */)) & 0x80 >> 7))) != 0) && ((int32(*(*uint16)(unsafe.Pointer((pItem1 + 36 /* &.fg */) + 4 /* &.isCorrelated */)) & 0x8 >> 3)) == 0)) { @@ -119813,12 +120319,12 @@ __65: Xsqlite3VdbeAddOp2(tls, v, OP_Goto, 0, iBreak) Xsqlite3VdbeResolveLabel(tls, v, addrGosub) - Xsqlite3VdbeNoopComment(tls, v, ts+21913 /* "inner-loop subro..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21928 /* "inner-loop subro..." */, 0) (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FlabelOBLopt = 0 selectInnerLoop(tls, pParse, p, -1, bp+80 /* &sSort */, bp+148 /* &sDistinct */, pDest, iCont, iBreak) Xsqlite3VdbeResolveLabel(tls, v, iCont) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regGosub) - Xsqlite3VdbeComment(tls, v, ts+21935 /* "end inner-loop s..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+21950 /* "end inner-loop s..." */, 0) Xsqlite3VdbeResolveLabel(tls, v, iBreak) goto __67 __66: @@ -120072,7 +120578,7 @@ __95: iBMem = ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1) *(*int32)(unsafe.Pointer(pParse + 44 /* &.nMem */)) += ((*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, iAbortFlag) - Xsqlite3VdbeComment(tls, v, ts+21961 /* "clear abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21976 /* "clear abort flag" */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, iAMem, ((iAMem + (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) - 1)) // Begin a loop that will extract all source rows in GROUP BY order. @@ -120110,9 +120616,9 @@ __97: explainTempTable(tls, pParse, func() uintptr { if ((*DistinctCtx)(unsafe.Pointer(bp+148 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { - return ts + 21978 /* "DISTINCT" */ + return ts + 21993 /* "DISTINCT" */ } - return ts + 21987 /* "GROUP BY" */ + return ts + 22002 /* "GROUP BY" */ }()) groupBySort = 1 @@ -120174,7 +120680,7 @@ __105: sortOut = Xsqlite3GetTempReg(tls, pParse) Xsqlite3VdbeAddOp3(tls, v, OP_OpenPseudo, sortPTab, sortOut, nCol) Xsqlite3VdbeAddOp2(tls, v, OP_SorterSort, (*AggInfo)(unsafe.Pointer(pAggInfo)).FsortingIdx, addrEnd) - Xsqlite3VdbeComment(tls, v, ts+21996 /* "GROUP BY sort" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22011 /* "GROUP BY sort" */, 0) (*AggInfo)(unsafe.Pointer(pAggInfo)).FuseSortingIdx = U8(1) __98: ; @@ -120244,18 +120750,18 @@ __111: // for the next GROUP BY batch. Xsqlite3ExprCodeMove(tls, pParse, iBMem, iAMem, (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutputRow, addrOutputRow) - Xsqlite3VdbeComment(tls, v, ts+22010 /* "output one row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22025 /* "output one row" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_IfPos, iAbortFlag, addrEnd) - Xsqlite3VdbeComment(tls, v, ts+22025 /* "check abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22040 /* "check abort flag" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regReset, addrReset) - Xsqlite3VdbeComment(tls, v, ts+22042 /* "reset accumulato..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22057 /* "reset accumulato..." */, 0) // Update the aggregate accumulators based on the content of // the current row Xsqlite3VdbeJumpHere(tls, v, addr1) updateAccumulator(tls, pParse, iUseFlag, pAggInfo, eDist) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, iUseFlag) - Xsqlite3VdbeComment(tls, v, ts+22060 /* "indicate data in..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22075 /* "indicate data in..." */, 0) // End of the loop if !(groupBySort != 0) { @@ -120274,7 +120780,7 @@ __115: // Output the final row of result Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutputRow, addrOutputRow) - Xsqlite3VdbeComment(tls, v, ts+22089 /* "output final row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22104 /* "output final row" */, 0) // Jump over the subroutines Xsqlite3VdbeGoto(tls, v, addrEnd) @@ -120287,13 +120793,13 @@ __115: // order to signal the caller to abort. addrSetAbort = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, iAbortFlag) - Xsqlite3VdbeComment(tls, v, ts+22106 /* "set abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22121 /* "set abort flag" */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) Xsqlite3VdbeResolveLabel(tls, v, addrOutputRow) addrOutputRow = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_IfPos, iUseFlag, (addrOutputRow + 2)) - Xsqlite3VdbeComment(tls, v, ts+22121 /* "Groupby result g..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22136 /* "Groupby result g..." */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) finalizeAggFunctions(tls, pParse, pAggInfo) Xsqlite3ExprIfFalse(tls, pParse, pHaving, (addrOutputRow + 1), SQLITE_JUMPIFNULL) @@ -120301,13 +120807,13 @@ __115: bp+148 /* &sDistinct */, pDest, (addrOutputRow + 1), addrSetAbort) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) - Xsqlite3VdbeComment(tls, v, ts+22158 /* "end groupby resu..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22173 /* "end groupby resu..." */, 0) // Generate a subroutine that will reset the group-by accumulator Xsqlite3VdbeResolveLabel(tls, v, addrReset) resetAccumulator(tls, pParse, pAggInfo) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, iUseFlag) - Xsqlite3VdbeComment(tls, v, ts+22187 /* "indicate accumul..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22202 /* "indicate accumul..." */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regReset) if !(eDist != WHERE_DISTINCT_NOOP) { @@ -120529,7 +121035,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+148 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+21978 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+21993 /* "DISTINCT" */) __140: ; @@ -120541,9 +121047,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FnOBSat > 0 { - return ts + 22214 /* "RIGHT PART OF OR..." */ + return ts + 22229 /* "RIGHT PART OF OR..." */ } - return ts + 22237 /* "ORDER BY" */ + return ts + 22252 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+80 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -120676,7 +121182,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*4)))) + z = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*4)))) if !(z == uintptr(0)) { goto __10 } @@ -120698,7 +121204,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+22246 /* "sqlite3_get_tabl..." */, 0) + ts+22261 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -120797,7 +121303,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) } @@ -120958,7 +121464,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+22311 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22326 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -121019,7 +121525,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+36 /* &sFix */, pParse, iDb, ts+22357 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + Xsqlite3FixInit(tls, bp+36 /* &sFix */, pParse, iDb, ts+22372 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+36 /* &sFix */, pTableName) != 0) { goto __9 } @@ -121037,7 +121543,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+22365 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22380 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -121052,7 +121558,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+22357 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { + if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+22372 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { goto __13 } goto trigger_cleanup @@ -121068,7 +121574,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+22406 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+22421 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __17 __16: ; @@ -121082,10 +121588,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10346 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10361 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+22432 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22447 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -121095,12 +121601,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+22470, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+22485, /* "cannot create %s..." */ libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 22507 /* "BEFORE" */ + return ts + 22522 /* "BEFORE" */ } - return ts + 22514 /* "AFTER" */ + return ts + 22529 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -121109,7 +121615,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+22520 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) + ts+22535 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -121139,9 +121645,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -121275,7 +121781,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+48 /* &sFix */, pParse, iDb, ts+22357 /* "trigger" */, bp+40 /* &nameToken */) + Xsqlite3FixInit(tls, bp+48 /* &sFix */, pParse, iDb, ts+22372 /* "trigger" */, bp+40 /* &nameToken */) if !((Xsqlite3FixTriggerStep(tls, bp+48 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || (Xsqlite3FixExpr(tls, bp+48 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 @@ -121312,13 +121818,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+22566, /* "INSERT INTO %Q.s..." */ + ts+22581, /* "INSERT INTO %Q.s..." */ libc.VaList(bp, (*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+22641 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+22656 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) __7: ; __6: @@ -121584,7 +122090,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+22670 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+22685 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __10 __9: Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb) @@ -121625,9 +122131,9 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName var zTab uintptr = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -121640,7 +122146,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / // Generate code to destroy the database record of the trigger. if (libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse))) != uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+22690, /* "DELETE FROM %Q.s..." */ + ts+22705, /* "DELETE FROM %Q.s..." */ 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) @@ -121759,12 +122265,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+22752, /* "%s RETURNING is ..." */ + ts+22767, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 22800 /* "DELETE" */ + return ts + 22815 /* "DELETE" */ } - return ts + 22807 /* "UPDATE" */ + return ts + 22822 /* "UPDATE" */ }())) __15: ; @@ -121860,7 +122366,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK { return 0 } - Xsqlite3ErrorMsg(tls, pParse, ts+22814 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22829 /* "RETURNING may no..." */, 0) return 1 } @@ -122001,7 +122507,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf if (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { Xsqlite3VdbeAddOp4(tls, v, OP_Trace, 0x7fffffff, 1, 0, - Xsqlite3MPrintf(tls, db, ts+7946 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+7961 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -122060,19 +122566,19 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf func onErrorText(tls *libc.TLS, onError int32) uintptr { /* sqlite3.c:140731:19: */ switch onError { case OE_Abort: - return ts + 22856 /* "abort" */ + return ts + 22871 /* "abort" */ case OE_Rollback: - return ts + 22862 /* "rollback" */ + return ts + 22877 /* "rollback" */ case OE_Fail: - return ts + 22871 /* "fail" */ + return ts + 22886 /* "fail" */ case OE_Replace: - return ts + 17322 /* "replace" */ + return ts + 17337 /* "replace" */ case OE_Ignore: - return ts + 22876 /* "ignore" */ + return ts + 22891 /* "ignore" */ case OE_Default: - return ts + 22883 /* "default" */ + return ts + 22898 /* "default" */ } - return ts + 22891 /* "n/a" */ + return ts + 22906 /* "n/a" */ } // Parse context structure pFrom has just been used to create a sub-vdbe @@ -122148,30 +122654,30 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt v = Xsqlite3GetVdbe(tls, pSubParse) if v != 0 { - Xsqlite3VdbeComment(tls, v, ts+22895 /* "Start: %s.%s (%s..." */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf), func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+22910 /* "Start: %s.%s (%s..." */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Ftr_tm) == TRIGGER_BEFORE { - return ts + 22507 /* "BEFORE" */ + return ts + 22522 /* "BEFORE" */ } - return ts + 22514 /* "AFTER" */ + return ts + 22529 /* "AFTER" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_UPDATE { - return ts + 22807 /* "UPDATE" */ + return ts + 22822 /* "UPDATE" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_INSERT { - return ts + 22926 /* "INSERT" */ + return ts + 22941 /* "INSERT" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_DELETE { - return ts + 22800 /* "DELETE" */ + return ts + 22815 /* "DELETE" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), (*Table)(unsafe.Pointer(pTab)).FzName)) if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+22933 /* "-- TRIGGER %s" */, libc.VaList(bp+56, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) + Xsqlite3MPrintf(tls, db, ts+22948 /* "-- TRIGGER %s" */, libc.VaList(bp+56, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -122195,7 +122701,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt Xsqlite3VdbeResolveLabel(tls, v, iEndTrigger) } Xsqlite3VdbeAddOp0(tls, v, OP_Halt) - Xsqlite3VdbeComment(tls, v, ts+22947 /* "End: %s.%s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) + Xsqlite3VdbeComment(tls, v, ts+22962 /* "End: %s.%s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) transferParseError(tls, pParse, pSubParse) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0) && ((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) { @@ -122262,11 +122768,11 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab Xsqlite3VdbeAddOp4(tls, v, OP_Program, reg, ignoreJump, libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1), (*TriggerPrg)(unsafe.Pointer(pPrg)).FpProgram, -4) - Xsqlite3VdbeComment(tls, v, ts+22958 /* "Call: %s.%s" */, libc.VaList(bp, func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+22973 /* "Call: %s.%s" */, libc.VaList(bp, func() uintptr { if (*Trigger)(unsafe.Pointer(p)).FzName != 0 { return (*Trigger)(unsafe.Pointer(p)).FzName } - return ts + 22970 /* "fkey" */ + return ts + 22985 /* "fkey" */ }(), onErrorText(tls, orconf))) // Set the P5 operand of the OP_Program instruction to non-zero if @@ -122429,7 +122935,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg *(*uintptr)(unsafe.Pointer(bp + 16 /* pValue */)) = uintptr(0) var enc U8 = (*Sqlite3)(unsafe.Pointer(Xsqlite3VdbeDb(tls, v))).Fenc var pCol uintptr = ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*20) - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3ValueFromExpr(tls, Xsqlite3VdbeDb(tls, v), (*Column)(unsafe.Pointer(pCol)).FpDflt, enc, uint8((*Column)(unsafe.Pointer(pCol)).Faffinity), bp+16 /* &pValue */) @@ -122885,7 +123391,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+22975, /* "cannot UPDATE ge..." */ + ts+22990, /* "cannot UPDATE ge..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*20)).FzName)) goto update_cleanup __27: @@ -122917,7 +123423,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+23011 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*20)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+23026 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*20)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -122928,7 +123434,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 9781 /* "ROWID" */ + return ts + 9796 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*20)).FzName }(), @@ -123959,7 +124465,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+23030 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+23045 /* "rows updated" */, uintptr(0)) __169: ; @@ -124346,10 +124852,10 @@ __1: if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { *(*int8)(unsafe.Pointer(bp + 152 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+152 /* &zWhich[0] */, ts+23043 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+152 /* &zWhich[0] */, ts+23058 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+23047 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+152 /* &zWhich[0] */)) + ts+23062 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+152 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -124419,7 +124925,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab iDataCur = (*Upsert)(unsafe.Pointer(pUpsert)).FiDataCur pUpsert = Xsqlite3UpsertOfIndex(tls, pTop, pIdx) - Xsqlite3VdbeNoopComment(tls, v, ts+23120 /* "Begin DO UPDATE ..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+23135 /* "Begin DO UPDATE ..." */, 0) if (pIdx != 0) && (iCur != iDataCur) { if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { var regRowid int32 = Xsqlite3GetTempReg(tls, pParse) @@ -124437,13 +124943,13 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab k = int32(Xsqlite3TableColumnToIndex(tls, pIdx, *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iCur, k, (iPk + i)) - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*20)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*20)).FzName)) } i = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, iDataCur, 0, iPk, nPk) Xsqlite3VdbeAddOp4(tls, v, OP_Halt, SQLITE_CORRUPT, OE_Abort, 0, - ts+14229 /* "corrupt database" */, -1) + ts+14244 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -124459,7 +124965,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab } Xsqlite3Update(tls, pParse, pSrc, Xsqlite3ExprListDup(tls, db, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSet, 0), Xsqlite3ExprDup(tls, db, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertWhere, 0), OE_Abort, uintptr(0), uintptr(0), pUpsert) - Xsqlite3VdbeNoopComment(tls, v, ts+23146 /* "End DO UPDATE of..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+23161 /* "End DO UPDATE of..." */, 0) } //************* End of upsert.c ********************************************* @@ -124511,7 +125017,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { // then run VACUUM to get those statements to execute at inappropriate // times. if (zSubSql != 0) && - ((libc.Xstrncmp(tls, zSubSql, ts+23170 /* "CRE" */, uint32(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+23174 /* "INS" */, uint32(3)) == 0)) { + ((libc.Xstrncmp(tls, zSubSql, ts+23185 /* "CRE" */, uint32(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+23189 /* "INS" */, uint32(3)) == 0)) { rc = execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -124661,14 +125167,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+23178 /* "cannot VACUUM fr..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23193 /* "cannot VACUUM fr..." */) return SQLITE_ERROR // IMP: R-12218-18073 __1: ; if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) { goto __2 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+23218 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23233 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -124679,7 +125185,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+23261 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23276 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -124688,7 +125194,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 56 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 900 /* "" */ + zOut = ts + 915 /* "" */ __4: ; @@ -124724,7 +125230,7 @@ __4: // time to parse and run the PRAGMA to turn journalling off than it does // to write the journal header file. nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb - rc = execSqlF(tls, db, pzErrMsg, ts+23279 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) + rc = execSqlF(tls, db, pzErrMsg, ts+23294 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if !(rc != SQLITE_OK) { goto __6 @@ -124745,7 +125251,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+23302 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23317 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -124761,7 +125267,7 @@ __7: // Begin a transaction and take an exclusive lock on the main database // file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, // to ensure that we do not try to change the page-size on a WAL database. - rc = execSql(tls, db, pzErrMsg, ts+16510 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+16525 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -124812,7 +125318,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+23329, /* "SELECT sql FROM ..." */ + ts+23344, /* "SELECT sql FROM ..." */ libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -124822,7 +125328,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+23437, /* "SELECT sql FROM ..." */ + ts+23452, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -124837,7 +125343,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+23491, /* "SELECT'INSERT IN..." */ + ts+23506, /* "SELECT'INSERT IN..." */ libc.VaList(bp+24, zDbMain)) *(*U32)(unsafe.Pointer(db + 24 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) @@ -124854,7 +125360,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+23642, /* "INSERT INTO vacu..." */ + ts+23657, /* "INSERT INTO vacu..." */ libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 @@ -125234,7 +125740,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp var azModuleArg uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*Table)(unsafe.Pointer(pTable)).FnModuleArg + 3) >= *(*int32)(unsafe.Pointer((db + 108 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14459 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14474 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = Xsqlite3DbRealloc(tls, db, (*Table)(unsafe.Pointer(pTable)).FazModuleArg, uint64(nBytes)) if azModuleArg == uintptr(0) { @@ -125328,7 +125834,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s 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+23772 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+180 /* &.sNameToken */))) + zStmt = Xsqlite3MPrintf(tls, db, ts+23787 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+180 /* &.sNameToken */))) // A slot for the record has already been allocated in the // schema table. We just need to update that slot with all @@ -125340,7 +125846,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+23796, /* "UPDATE %Q.sqlite..." */ + ts+23811, /* "UPDATE %Q.sqlite..." */ 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, @@ -125350,7 +125856,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+23895 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+23910 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -125415,7 +125921,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+23914 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+23929 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return SQLITE_LOCKED } } @@ -125453,9 +125959,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+23956 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+23971 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+936 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+951 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) @@ -125467,7 +125973,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 /* &sCtx */)).FbDeclared == 0 { - var zFormat uintptr = ts + 23986 /* "vtable construct..." */ + var zFormat uintptr = ts + 24001 /* "vtable construct..." */ *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR @@ -125483,12 +125989,12 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Table)(unsafe.Pointer(pTab)).FpVTable = pVTable for iCol = 0; iCol < int32((*Table)(unsafe.Pointer(pTab)).FnCol); iCol++ { - var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20), ts+900 /* "" */) + var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20), ts+915 /* "" */) var nType int32 var i int32 = 0 nType = Xsqlite3Strlen30(tls, zType) for i = 0; i < nType; i++ { - if ((0 == Xsqlite3_strnicmp(tls, ts+18092 /* "hidden" */, (zType+uintptr(i)), 6)) && + if ((0 == Xsqlite3_strnicmp(tls, ts+18107 /* "hidden" */, (zType+uintptr(i)), 6)) && ((i == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && ((int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { break @@ -125547,13 +126053,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 if !(pMod != 0) { var zModule uintptr = *(*uintptr)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FazModuleArg)) - Xsqlite3ErrorMsg(tls, pParse, ts+24032 /* "no such module: ..." */, libc.VaList(bp, zModule)) + Xsqlite3ErrorMsg(tls, pParse, ts+24047 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+16 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -125615,7 +126121,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // invoke it now. If the module has not been registered, return an // error. Otherwise, do nothing. 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+24032 /* "no such module: ..." */, libc.VaList(bp, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+24047 /* "no such module: ..." */, 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) @@ -125692,7 +126198,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 280 /* zErr */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 280 /* zErr */)))) @@ -126064,7 +126570,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+8 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 @@ -126490,10 +126996,10 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:144931:29 */ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:145112:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == (-2) { - return ts + 24051 /* "" */ + return ts + 24066 /* "" */ } if i == (-1) { - return ts + 10282 /* "rowid" */ + return ts + 10297 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*20)).FzName } @@ -126508,35 +127014,35 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i var i int32 if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, ts+24058 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+24073 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+24064 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+24079 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+14840 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+14855 /* "," */, 1) } Xsqlite3_str_appendall(tls, pStr, explainIndexColumnName(tls, pIdx, (iTerm+i))) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6887 /* ")" */, 1) } Xsqlite3_str_append(tls, pStr, zOp, 1) if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+24064 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+24079 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+14840 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+14855 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+6925 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6940 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6887 /* ")" */, 1) } } @@ -126565,29 +127071,29 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. 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+24066 /* " (" */, 2) + Xsqlite3_str_append(tls, pStr, ts+24081 /* " (" */, 2) for i = 0; i < int32(nEq); i++ { var z uintptr = explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+24058 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+24073 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 24069 /* "%s=?" */ + return ts + 24084 /* "%s=?" */ } - return ts + 24074 /* "ANY(%s)" */ + return ts + 24089 /* "ANY(%s)" */ }(), 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 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+24082 /* ">" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+24097 /* ">" */) i = 1 } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_TOP_LIMIT)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+24084 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+24099 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6887 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -126632,11 +127138,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+72 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) (*StrAccum)(unsafe.Pointer(bp + 48 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24086 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24101 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { - return ts + 24092 /* "SEARCH" */ + return ts + 24107 /* "SEARCH" */ } - return ts + 24099 /* "SCAN" */ + return ts + 24114 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -126646,38 +127152,38 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr if !(((*Table)(unsafe.Pointer(((*SrcItem)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 56 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = ts + 12959 /* "PRIMARY KEY" */ + zFmt = ts + 12974 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 24104 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 24119 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 24137 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 24152 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 24162 /* "COVERING INDEX %..." */ + zFmt = ts + 24177 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 24180 /* "INDEX %s" */ + zFmt = ts + 24195 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+48 /* &str */, ts+24189 /* " USING " */, 7) + Xsqlite3_str_append(tls, bp+48 /* &str */, ts+24204 /* " USING " */, 7) Xsqlite3_str_appendf(tls, bp+48 /* &str */, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) explainIndexRange(tls, bp+48 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr if (flags & (U32(WHERE_COLUMN_EQ | WHERE_COLUMN_IN))) != 0 { - zRangeOp = ts + 24197 /* "=" */ + zRangeOp = ts + 24212 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 24199 /* ">? AND rowid<" */ + zRangeOp = ts + 24214 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 24082 /* ">" */ + zRangeOp = ts + 24097 /* ">" */ } else { - zRangeOp = ts + 24084 /* "<" */ + zRangeOp = ts + 24099 /* "<" */ } Xsqlite3_str_appendf(tls, bp+48, /* &str */ - ts+24213 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) + ts+24228 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24251, /* " VIRTUAL TABLE I..." */ + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24266, /* " VIRTUAL TABLE I..." */ libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } zMsg = Xsqlite3StrAccumFinish(tls, bp+48 /* &str */) @@ -127134,7 +127640,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in return OP_Rewind }(), iIdxCur) - Xsqlite3VdbeComment(tls, v, ts+24278 /* "begin skip-scan ..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24293 /* "begin skip-scan ..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) j = Xsqlite3VdbeAddOp0(tls, v, OP_Goto) (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip = Xsqlite3VdbeAddOp4Int(tls, v, func() int32 { if bRev != 0 { @@ -127148,7 +127654,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in for j = 0; j < int32(nSkip); j++ { Xsqlite3VdbeAddOp3(tls, v, OP_Column, iIdxCur, j, (regBase + j)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+8, explainIndexColumnName(tls, pIdx, j))) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, explainIndexColumnName(tls, pIdx, j))) } } @@ -127493,7 +127999,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if (int32((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom) > 0) && ((int32((*SrcItem)(unsafe.Pointer(pTabItem)).Ffg.Fjointype) & JT_LEFT) != 0) { (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) - Xsqlite3VdbeComment(tls, v, ts+24300 /* "init LEFT JOIN n..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24315 /* "init LEFT JOIN n..." */, 0) } // Compute a safe address to jump to if we discover that the table for @@ -127508,7 +128014,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, (*SrcItem)(unsafe.Pointer(pTabItem)).FaddrFillSub) (*WhereLevel)(unsafe.Pointer(pLevel)).Fp2 = Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regYield, addrBrk) - Xsqlite3VdbeComment(tls, v, ts+24329 /* "next row of %s" */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24344 /* "next row of %s" */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) (*WhereLevel)(unsafe.Pointer(pLevel)).Fop = U8(OP_Goto) } else if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_VIRTUALTABLE)) != U32(0) { // Case 1: The table is a virtual-table. Use the VFilter and VNext @@ -127688,7 +128194,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI op = int32(*(*U8)(unsafe.Pointer(bp + 16 /* &aMoveOp[0] */ + uintptr((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT))))) } Xsqlite3VdbeAddOp3(tls, v, op, iCur, addrBrk, r1) - Xsqlite3VdbeComment(tls, v, ts+18089 /* "pk" */, 0) + Xsqlite3VdbeComment(tls, v, ts+18104 /* "pk" */, 0) Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 20 /* rTemp */))) } else { @@ -127907,7 +128413,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI } else { if regBignull != 0 { Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, regBignull) - Xsqlite3VdbeComment(tls, v, ts+24344 /* "NULL-scan pass c..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24359 /* "NULL-scan pass c..." */, 0) } op = int32(aStartOp[(((start_constraints << 2) + (startEq << 1)) + bRev)]) @@ -127981,7 +128487,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if regBignull != 0 { // Except, skip the end-of-range check while doing the NULL-scan Xsqlite3VdbeAddOp2(tls, v, OP_IfNot, regBignull, (Xsqlite3VdbeCurrentAddr(tls, v) + 3)) - Xsqlite3VdbeComment(tls, v, ts+24363 /* "If NULL-scan 2nd..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24378 /* "If NULL-scan 2nd..." */, 0) } op = int32(aEndOp[((bRev * 2) + endEq)]) @@ -127996,7 +128502,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // the NULLs Xsqlite3VdbeAddOp2(tls, v, OP_If, regBignull, (Xsqlite3VdbeCurrentAddr(tls, v) + 2)) - Xsqlite3VdbeComment(tls, v, ts+24385 /* "If NULL-scan 1st..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24400 /* "If NULL-scan 1st..." */, 0) op = int32(aEndOp[((bRev * 2) + int32(bSeekPastNull))]) Xsqlite3VdbeAddOp4Int(tls, v, op, iIdxCur, addrNxt, regBase, @@ -128242,7 +128748,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // Run a separate WHERE clause for each term of the OR clause. After // eliminating duplicates from other WHERE clauses, the action for each // sub-WHERE clause is to to invoke the main loop body as a subroutine. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24407 /* "MULTI-INDEX OR" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24422 /* "MULTI-INDEX OR" */, 0) for ii = 0; ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm; ii++ { var pOrTerm uintptr = ((*WhereClause)(unsafe.Pointer(pOrWc)).Fa + uintptr(ii)*48) if ((*WhereTerm)(unsafe.Pointer(pOrTerm)).FleftCursor == iCur) || ((int32((*WhereTerm)(unsafe.Pointer(pOrTerm)).FeOperator) & WO_AND) != 0) { @@ -128261,7 +128767,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } // Loop through table entries that match term pOrTerm. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24422 /* "INDEX %d" */, libc.VaList(bp+8, (ii+1))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24437 /* "INDEX %d" */, libc.VaList(bp+8, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -128566,7 +129072,7 @@ __6: if (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin != 0 { (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrFirst = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) - Xsqlite3VdbeComment(tls, v, ts+24431 /* "record LEFT JOIN..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24446 /* "record LEFT JOIN..." */, 0) pTerm = (*WhereClause)(unsafe.Pointer(pWC)).Fa j = 0 __7: @@ -129010,10 +129516,10 @@ type Op2 = struct { } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 18050 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 17389 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 16939 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 24452 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, + {FzOp: ts + 18065 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, + {FzOp: ts + 17404 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, + {FzOp: ts + 16954 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, + {FzOp: ts + 24467 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, } /* sqlite3.c:147958:7 */ // If the pBase expression originated in the ON or USING clause of @@ -129714,7 +130220,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s extraRight = (x - uint64(1)) // ON clause terms may not be used with an index // on left table of a LEFT JOIN. Ticket #3015 if (prereqAll >> 1) >= x { - Xsqlite3ErrorMsg(tls, pParse, ts+24459 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+24474 /* "ON clause refere..." */, 0) return } } @@ -129790,7 +130296,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s (*WhereTerm)(unsafe.Pointer(pNew)).FeOperator = (U16((int32(operatorMask(tls, int32((*Expr)(unsafe.Pointer(pDup)).Fop))) + int32(eExtraOp)) & int32(opMask))) } else if (op == TK_ISNULL) && (0 == Xsqlite3ExprCanBeNull(tls, pLeft)) { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8868 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8883 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) (*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0) @@ -129891,7 +130397,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s } zCollSeqName = func() uintptr { if *(*int32)(unsafe.Pointer(bp + 16 /* noCase */)) != 0 { - return ts + 24500 /* "NOCASE" */ + return ts + 24515 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -130193,7 +130699,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+24507, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+24522, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -131016,7 +131522,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+24543 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, + ts+24558 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*20)).FzName)) sentWarning = U8(1) __6: @@ -131097,7 +131603,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 24569 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 24584 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -131194,7 +131700,7 @@ __24: (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) Xsqlite3VdbeAddOp2(tls, v, OP_OpenAutoindex, (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur, (nKeyCol + 1)) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+17785 /* "for %s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+17800 /* "for %s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTable)).FzName)) // Fill the automatic index with content pTabItem = (((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList + 8 /* &.a */) + uintptr((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*72) @@ -131206,7 +131712,7 @@ __24: Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, (*SrcItem)(unsafe.Pointer(pTabItem)).FaddrFillSub) addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, regYield) - Xsqlite3VdbeComment(tls, v, ts+24329 /* "next row of %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24344 /* "next row of %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) goto __29 __28: addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, (*WhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) @@ -131332,7 +131838,7 @@ __3: ((uint32(unsafe.Sizeof(sqlite3_index_constraint{})) + uint32(unsafe.Sizeof(sqlite3_index_constraint_usage{}))) * uint32(nTerm))) + (uint32(unsafe.Sizeof(sqlite3_index_orderby{})) * uint32(nOrderBy))) + uint32(unsafe.Sizeof(HiddenIndexInfo1{}))))) if pIdxInfo == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+7984 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+7999 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*64) @@ -131459,9 +131965,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -133511,7 +134017,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+24580 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24595 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -133559,7 +134065,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*4)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+24580 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24595 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -133948,7 +134454,7 @@ __1: if (rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { if rc == SQLITE_DONE { // We hit the query planner search limit set by iPlanLimit - Xsqlite3_log(tls, SQLITE_WARNING, ts+24606 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+24621 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -134717,7 +135223,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+24641 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+24656 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -135098,7 +135604,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint32(unsafe.Sizeof(Bitmask(0))) * uint32(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+24659 /* "at most %d table..." */, libc.VaList(bp, (int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))) + Xsqlite3ErrorMsg(tls, pParse, ts+24674 /* "at most %d table..." */, libc.VaList(bp, (int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))) return uintptr(0) __3: ; @@ -135173,7 +135679,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+24687 /* "SCAN CONSTANT RO..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+24702 /* "SCAN CONSTANT RO..." */, 0) goto __6 __5: // Assign a bit from the bitmask to every term in the FROM clause. @@ -135697,7 +136203,7 @@ __74: Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_SEEKEQ)) __82: ; - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIx)).FzName)) __81: ; __72: @@ -135912,7 +136418,7 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * Xsqlite3VdbeResolveLabel(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrBrk) if (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip != 0 { Xsqlite3VdbeGoto(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) - Xsqlite3VdbeComment(tls, v, ts+24705 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24720 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzName)) Xsqlite3VdbeJumpHere(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) Xsqlite3VdbeJumpHere(tls, v, ((*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip - 2)) } @@ -136311,7 +136817,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+24726 /* "second argument ..." */, -1) + pCtx, ts+24741 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -136460,7 +136966,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+24782 /* "argument of ntil..." */, -1) + pCtx, ts+24797 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -136556,17 +137062,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155441:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 24827 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 24838 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 24849 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 24854 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 24867 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 24877 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 24883 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 24894 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 24904 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 24916 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 24921 /* "lag" */)) /* sqlite3.c:155469:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 24842 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 24853 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 24864 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 24869 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 24882 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 24892 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 24898 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 24909 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 24919 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 24931 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 24936 /* "lag" */)) /* sqlite3.c:155469:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -136630,7 +137136,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+24925 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24940 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -136674,12 +137180,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+24944 /* "RANGE with offse..." */, 0) + ts+24959 /* "RANGE with offse..." */, 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+25015 /* "FILTER clause ma..." */, 0) + ts+25030 /* "FILTER clause ma..." */, 0) } else { *(*[8]WindowUpdate)(unsafe.Pointer(bp /* aUp */)) = [8]WindowUpdate{ {FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT}, @@ -136702,7 +137208,7 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*Window)(unsafe.Pointer(pWin)).FeEnd = U8((*WindowUpdate)(unsafe.Pointer(bp /* &aUp */ + uintptr(i)*16)).FeEnd) (*Window)(unsafe.Pointer(pWin)).FeExclude = U8(0) if int32((*Window)(unsafe.Pointer(pWin)).FeStart) == TK_FOLLOWING { - (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10119 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10134 /* "1" */) } break } @@ -136943,7 +137449,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+10221 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + ts+10236 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) } return WRC_Continue } @@ -137073,7 +137579,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // keep everything legal in this case. if *(*uintptr)(unsafe.Pointer(bp + 28 /* pSublist */)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(bp + 28 /* pSublist */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3Expr(tls, db, TK_INTEGER, ts+9599 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+9614 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -137213,7 +137719,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+25078 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25093 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -137279,15 +137785,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint var zErr uintptr = uintptr(0) // Check for errors if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = ts + 25110 /* "PARTITION clause" */ + zErr = ts + 25125 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 25127 /* "ORDER BY clause" */ + zErr = ts + 25142 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 25143 /* "frame specificat..." */ + zErr = ts + 25158 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+25163 /* "cannot override ..." */, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase)) + ts+25178 /* "cannot override ..." */, 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 { @@ -137310,7 +137816,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+25196 /* "DISTINCT is not ..." */, 0) + ts+25211 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -137461,7 +137967,7 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regZero) if eCond >= WINDOW_STARTING_NUM { var regString int32 = Xsqlite3GetTempReg(tls, pParse) - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+900 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+915 /* "" */, -1) Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), reg) Xsqlite3VdbeChangeP5(tls, v, (uint16(SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL))) @@ -137483,11 +137989,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 25243, /* "frame starting o..." */ - ts + 25296, /* "frame ending off..." */ - ts + 24726, /* "second argument ..." */ - ts + 25347, /* "frame starting o..." */ - ts + 25399, /* "frame ending off..." */ + ts + 25258, /* "frame starting o..." */ + ts + 25311, /* "frame ending off..." */ + ts + 24741, /* "second argument ..." */ + ts + 25362, /* "frame starting o..." */ + ts + 25414, /* "frame ending off..." */ } /* sqlite3.c:156372:21 */ var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:156379:14 */ @@ -138088,7 +138594,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // the add/subtract is skipped for these, as required. If reg1 is a NULL, // then the arithmetic is performed, but since adding or subtracting from // NULL is always NULL anyway, this case is handled as required too. - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+900 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+915 /* "" */, -1) addrGe = Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, 0, reg1) if ((op == OP_Ge) && (arith == OP_Add)) || ((op == OP_Le) && (arith == OP_Subtract)) { @@ -138805,7 +139311,7 @@ func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uin Xsqlite3VdbeAddOp3(tls, v, OP_Jump, (addr + 2), (addr + 4), (addr + 2)) addrGosubFlush = Xsqlite3VdbeAddOp1(tls, v, OP_Gosub, regFlushPart) - Xsqlite3VdbeComment(tls, v, ts+25449 /* "call flush_parti..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+25464 /* "call flush_parti..." */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_Copy, regNewPart, (*Window)(unsafe.Pointer(pMWin)).FregPart, (nPart - 1)) } @@ -139101,19 +139607,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit } cnt++ if ((*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0) || ((*Select)(unsafe.Pointer(pLoop)).FpLimit != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+25470, /* "%s clause should..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+25485, /* "%s clause should..." */ libc.VaList(bp, func() uintptr { if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - return ts + 22237 /* "ORDER BY" */ + return ts + 22252 /* "ORDER BY" */ } - return ts + 25512 /* "LIMIT" */ + return ts + 25527 /* "LIMIT" */ }(), 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 + 108 /* &.aLimit */) + 4*4)))) > 0)) && (cnt > mxSelect) { - Xsqlite3ErrorMsg(tls, pParse, ts+25518 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25533 /* "too many terms i..." */, 0) } } @@ -139193,7 +139699,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+25552, /* "syntax error aft..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+25567, /* "syntax error aft..." */ libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz)) } Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1) @@ -140418,7 +140924,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+25590 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25605 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -141397,11 +141903,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(22): /* table_options ::= WITHOUT nm */ { - if ((*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz, ts+10282 /* "rowid" */, 5) == 0) { + if ((*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz, ts+10297 /* "rowid" */, 5) == 0) { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)) = (TF_WithoutRowid | TF_NoVisibleRowid) } else { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)) = 0 - Xsqlite3ErrorMsg(tls, pParse, ts+25612 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz)) + Xsqlite3ErrorMsg(tls, pParse, ts+25627 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz)) } } break @@ -142136,7 +142642,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in case uint32(155): /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ { Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*12 + 4 /* &.minor */ /* &.yy0 */)) - Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)), ts+25639 /* "set list" */) + Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)), ts+25654 /* "set list" */) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)) = Xsqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */))) Xsqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*12 + 4 /* &.minor */)), uintptr(0), uintptr(0), uintptr(0)) } @@ -142289,7 +142795,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(bp + 68 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 4 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+25648 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+68 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+25663 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+68 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) @@ -142493,9 +142999,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 /* &.minor */))) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4 /* &.minor */)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, func() uintptr { if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4 /* &.minor */)) != 0 { - return ts + 10119 /* "1" */ + return ts + 10134 /* "1" */ } - return ts + 9599 /* "0" */ + return ts + 9614 /* "0" */ }()) } else if ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)))).FnExpr == 1) && (Xsqlite3ExprIsConstant(tls, (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */))+8 /* &.a */))).FpExpr) != 0) { var pRHS uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)) + 8 /* &.a */))).FpExpr @@ -142770,21 +143276,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)) = *(*Token)(unsafe.Pointer(yymsp + 4 /* &.minor */)) Xsqlite3ErrorMsg(tls, pParse, - ts+25672 /* "qualified table ..." */, 0) + ts+25687 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+25767 /* "the INDEXED BY c..." */, 0) + ts+25782 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+25851 /* "the NOT INDEXED ..." */, 0) + ts+25866 /* "the NOT INDEXED ..." */, 0) } break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ @@ -143233,9 +143739,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To _ = yymajor // Silence some compiler warnings if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+25648 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) + Xsqlite3ErrorMsg(tls, pParse, ts+25663 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+25936 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25951 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -144442,7 +144948,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin *(*int32)(unsafe.Pointer(bp + 1252 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+25953 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+25968 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -144462,12 +144968,12 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+936 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg - Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+25980, /* "%s in \"%s\"" */ + Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+25995, /* "%s in \"%s\"" */ libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ @@ -144679,7 +145185,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+25991 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+26006 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -144692,11 +145198,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+22357 /* "trigger" */, 7) == 0) { + if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+22372 /* "trigger" */, 7) == 0) { token = U8(TkTRIGGER) - } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+25998 /* "temp" */, 4) == 0) { + } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+26013 /* "temp" */, 4) == 0) { token = U8(TkTEMP) - } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+26003 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+26018 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -144709,9 +145215,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+26013 /* "end" */, 3) == 0) { + if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+26028 /* "end" */, 3) == 0) { token = U8(TkEND) - } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+26017 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+26032 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -145744,7 +146250,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // SQLITE_BUSY if the connection can not be closed immediately. if !(forceZombie != 0) && (connectionIsBusy(tls, db) != 0) { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+26025 /* "unable to close ..." */, 0) + ts+26040 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -145977,259 +146483,259 @@ __1: { switch rc { case SQLITE_OK: - zName = ts + 26093 /* "SQLITE_OK" */ + zName = ts + 26108 /* "SQLITE_OK" */ break case SQLITE_ERROR: - zName = ts + 26103 /* "SQLITE_ERROR" */ + zName = ts + 26118 /* "SQLITE_ERROR" */ break case (SQLITE_ERROR | (int32(3) << 8)): - zName = ts + 26116 /* "SQLITE_ERROR_SNA..." */ + zName = ts + 26131 /* "SQLITE_ERROR_SNA..." */ break case SQLITE_INTERNAL: - zName = ts + 26138 /* "SQLITE_INTERNAL" */ + zName = ts + 26153 /* "SQLITE_INTERNAL" */ break case SQLITE_PERM: - zName = ts + 26154 /* "SQLITE_PERM" */ + zName = ts + 26169 /* "SQLITE_PERM" */ break case SQLITE_ABORT: - zName = ts + 26166 /* "SQLITE_ABORT" */ + zName = ts + 26181 /* "SQLITE_ABORT" */ break case (SQLITE_ABORT | (int32(2) << 8)): - zName = ts + 26179 /* "SQLITE_ABORT_ROL..." */ + zName = ts + 26194 /* "SQLITE_ABORT_ROL..." */ break case SQLITE_BUSY: - zName = ts + 26201 /* "SQLITE_BUSY" */ + zName = ts + 26216 /* "SQLITE_BUSY" */ break case (SQLITE_BUSY | (int32(1) << 8)): - zName = ts + 26213 /* "SQLITE_BUSY_RECO..." */ + zName = ts + 26228 /* "SQLITE_BUSY_RECO..." */ break case (SQLITE_BUSY | (int32(2) << 8)): - zName = ts + 26234 /* "SQLITE_BUSY_SNAP..." */ + zName = ts + 26249 /* "SQLITE_BUSY_SNAP..." */ break case SQLITE_LOCKED: - zName = ts + 26255 /* "SQLITE_LOCKED" */ + zName = ts + 26270 /* "SQLITE_LOCKED" */ break case (SQLITE_LOCKED | (int32(1) << 8)): - zName = ts + 26269 /* "SQLITE_LOCKED_SH..." */ + zName = ts + 26284 /* "SQLITE_LOCKED_SH..." */ break case SQLITE_NOMEM: - zName = ts + 26295 /* "SQLITE_NOMEM" */ + zName = ts + 26310 /* "SQLITE_NOMEM" */ break case SQLITE_READONLY: - zName = ts + 26308 /* "SQLITE_READONLY" */ + zName = ts + 26323 /* "SQLITE_READONLY" */ break case (SQLITE_READONLY | (int32(1) << 8)): - zName = ts + 26324 /* "SQLITE_READONLY_..." */ + zName = ts + 26339 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(5) << 8)): - zName = ts + 26349 /* "SQLITE_READONLY_..." */ + zName = ts + 26364 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(3) << 8)): - zName = ts + 26374 /* "SQLITE_READONLY_..." */ + zName = ts + 26389 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(4) << 8)): - zName = ts + 26399 /* "SQLITE_READONLY_..." */ + zName = ts + 26414 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(6) << 8)): - zName = ts + 26423 /* "SQLITE_READONLY_..." */ + zName = ts + 26438 /* "SQLITE_READONLY_..." */ break case SQLITE_INTERRUPT: - zName = ts + 26449 /* "SQLITE_INTERRUPT" */ + zName = ts + 26464 /* "SQLITE_INTERRUPT" */ break case SQLITE_IOERR: - zName = ts + 26466 /* "SQLITE_IOERR" */ + zName = ts + 26481 /* "SQLITE_IOERR" */ break case (SQLITE_IOERR | (int32(1) << 8)): - zName = ts + 26479 /* "SQLITE_IOERR_REA..." */ + zName = ts + 26494 /* "SQLITE_IOERR_REA..." */ break case (SQLITE_IOERR | (int32(2) << 8)): - zName = ts + 26497 /* "SQLITE_IOERR_SHO..." */ + zName = ts + 26512 /* "SQLITE_IOERR_SHO..." */ break case (SQLITE_IOERR | (int32(3) << 8)): - zName = ts + 26521 /* "SQLITE_IOERR_WRI..." */ + zName = ts + 26536 /* "SQLITE_IOERR_WRI..." */ break case (SQLITE_IOERR | (int32(4) << 8)): - zName = ts + 26540 /* "SQLITE_IOERR_FSY..." */ + zName = ts + 26555 /* "SQLITE_IOERR_FSY..." */ break case (SQLITE_IOERR | (int32(5) << 8)): - zName = ts + 26559 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 26574 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(6) << 8)): - zName = ts + 26582 /* "SQLITE_IOERR_TRU..." */ + zName = ts + 26597 /* "SQLITE_IOERR_TRU..." */ break case (SQLITE_IOERR | (int32(7) << 8)): - zName = ts + 26604 /* "SQLITE_IOERR_FST..." */ + zName = ts + 26619 /* "SQLITE_IOERR_FST..." */ break case (SQLITE_IOERR | (int32(8) << 8)): - zName = ts + 26623 /* "SQLITE_IOERR_UNL..." */ + zName = ts + 26638 /* "SQLITE_IOERR_UNL..." */ break case (SQLITE_IOERR | (int32(9) << 8)): - zName = ts + 26643 /* "SQLITE_IOERR_RDL..." */ + zName = ts + 26658 /* "SQLITE_IOERR_RDL..." */ break case (SQLITE_IOERR | (int32(10) << 8)): - zName = ts + 26663 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 26678 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(12) << 8)): - zName = ts + 26683 /* "SQLITE_IOERR_NOM..." */ + zName = ts + 26698 /* "SQLITE_IOERR_NOM..." */ break case (SQLITE_IOERR | (int32(13) << 8)): - zName = ts + 26702 /* "SQLITE_IOERR_ACC..." */ + zName = ts + 26717 /* "SQLITE_IOERR_ACC..." */ break case (SQLITE_IOERR | (int32(14) << 8)): - zName = ts + 26722 /* "SQLITE_IOERR_CHE..." */ + zName = ts + 26737 /* "SQLITE_IOERR_CHE..." */ break case (SQLITE_IOERR | (int32(15) << 8)): - zName = ts + 26753 /* "SQLITE_IOERR_LOC..." */ + zName = ts + 26768 /* "SQLITE_IOERR_LOC..." */ break case (SQLITE_IOERR | (int32(16) << 8)): - zName = ts + 26771 /* "SQLITE_IOERR_CLO..." */ + zName = ts + 26786 /* "SQLITE_IOERR_CLO..." */ break case (SQLITE_IOERR | (int32(17) << 8)): - zName = ts + 26790 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 26805 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(18) << 8)): - zName = ts + 26813 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26828 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(19) << 8)): - zName = ts + 26834 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26849 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(20) << 8)): - zName = ts + 26855 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26870 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(21) << 8)): - zName = ts + 26876 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26891 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(22) << 8)): - zName = ts + 26896 /* "SQLITE_IOERR_SEE..." */ + zName = ts + 26911 /* "SQLITE_IOERR_SEE..." */ break case (SQLITE_IOERR | (int32(23) << 8)): - zName = ts + 26914 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 26929 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(24) << 8)): - zName = ts + 26940 /* "SQLITE_IOERR_MMA..." */ + zName = ts + 26955 /* "SQLITE_IOERR_MMA..." */ break case (SQLITE_IOERR | (int32(25) << 8)): - zName = ts + 26958 /* "SQLITE_IOERR_GET..." */ + zName = ts + 26973 /* "SQLITE_IOERR_GET..." */ break case (SQLITE_IOERR | (int32(26) << 8)): - zName = ts + 26983 /* "SQLITE_IOERR_CON..." */ + zName = ts + 26998 /* "SQLITE_IOERR_CON..." */ break case SQLITE_CORRUPT: - zName = ts + 27005 /* "SQLITE_CORRUPT" */ + zName = ts + 27020 /* "SQLITE_CORRUPT" */ break case (SQLITE_CORRUPT | (int32(1) << 8)): - zName = ts + 27020 /* "SQLITE_CORRUPT_V..." */ + zName = ts + 27035 /* "SQLITE_CORRUPT_V..." */ break case SQLITE_NOTFOUND: - zName = ts + 27040 /* "SQLITE_NOTFOUND" */ + zName = ts + 27055 /* "SQLITE_NOTFOUND" */ break case SQLITE_FULL: - zName = ts + 27056 /* "SQLITE_FULL" */ + zName = ts + 27071 /* "SQLITE_FULL" */ break case SQLITE_CANTOPEN: - zName = ts + 27068 /* "SQLITE_CANTOPEN" */ + zName = ts + 27083 /* "SQLITE_CANTOPEN" */ break case (SQLITE_CANTOPEN | (int32(1) << 8)): - zName = ts + 27084 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27099 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(2) << 8)): - zName = ts + 27110 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27125 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(3) << 8)): - zName = ts + 27132 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27147 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(4) << 8)): - zName = ts + 27157 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27172 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(6) << 8)): - zName = ts + 27182 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27197 /* "SQLITE_CANTOPEN_..." */ break case SQLITE_PROTOCOL: - zName = ts + 27206 /* "SQLITE_PROTOCOL" */ + zName = ts + 27221 /* "SQLITE_PROTOCOL" */ break case SQLITE_EMPTY: - zName = ts + 27222 /* "SQLITE_EMPTY" */ + zName = ts + 27237 /* "SQLITE_EMPTY" */ break case SQLITE_SCHEMA: - zName = ts + 27235 /* "SQLITE_SCHEMA" */ + zName = ts + 27250 /* "SQLITE_SCHEMA" */ break case SQLITE_TOOBIG: - zName = ts + 27249 /* "SQLITE_TOOBIG" */ + zName = ts + 27264 /* "SQLITE_TOOBIG" */ break case SQLITE_CONSTRAINT: - zName = ts + 27263 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27278 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(8) << 8)): - zName = ts + 27281 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27296 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(7) << 8)): - zName = ts + 27306 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27321 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(3) << 8)): - zName = ts + 27332 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27347 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(1) << 8)): - zName = ts + 27361 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27376 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(6) << 8)): - zName = ts + 27385 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27400 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(5) << 8)): - zName = ts + 27414 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27429 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(2) << 8)): - zName = ts + 27440 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27455 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(9) << 8)): - zName = ts + 27469 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27484 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(4) << 8)): - zName = ts + 27492 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27507 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(10) << 8)): - zName = ts + 27519 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27534 /* "SQLITE_CONSTRAIN..." */ break case SQLITE_MISMATCH: - zName = ts + 27543 /* "SQLITE_MISMATCH" */ + zName = ts + 27558 /* "SQLITE_MISMATCH" */ break case SQLITE_MISUSE: - zName = ts + 27559 /* "SQLITE_MISUSE" */ + zName = ts + 27574 /* "SQLITE_MISUSE" */ break case SQLITE_NOLFS: - zName = ts + 27573 /* "SQLITE_NOLFS" */ + zName = ts + 27588 /* "SQLITE_NOLFS" */ break case SQLITE_AUTH: - zName = ts + 27586 /* "SQLITE_AUTH" */ + zName = ts + 27601 /* "SQLITE_AUTH" */ break case SQLITE_FORMAT: - zName = ts + 27598 /* "SQLITE_FORMAT" */ + zName = ts + 27613 /* "SQLITE_FORMAT" */ break case SQLITE_RANGE: - zName = ts + 27612 /* "SQLITE_RANGE" */ + zName = ts + 27627 /* "SQLITE_RANGE" */ break case SQLITE_NOTADB: - zName = ts + 27625 /* "SQLITE_NOTADB" */ + zName = ts + 27640 /* "SQLITE_NOTADB" */ break case SQLITE_ROW: - zName = ts + 27639 /* "SQLITE_ROW" */ + zName = ts + 27654 /* "SQLITE_ROW" */ break case SQLITE_NOTICE: - zName = ts + 27650 /* "SQLITE_NOTICE" */ + zName = ts + 27665 /* "SQLITE_NOTICE" */ break case (SQLITE_NOTICE | (int32(1) << 8)): - zName = ts + 27664 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 27679 /* "SQLITE_NOTICE_RE..." */ break case (SQLITE_NOTICE | (int32(2) << 8)): - zName = ts + 27690 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 27705 /* "SQLITE_NOTICE_RE..." */ break case SQLITE_WARNING: - zName = ts + 27721 /* "SQLITE_WARNING" */ + zName = ts + 27736 /* "SQLITE_WARNING" */ break case (SQLITE_WARNING | (int32(1) << 8)): - zName = ts + 27736 /* "SQLITE_WARNING_A..." */ + zName = ts + 27751 /* "SQLITE_WARNING_A..." */ break case SQLITE_DONE: - zName = ts + 27761 /* "SQLITE_DONE" */ + zName = ts + 27776 /* "SQLITE_DONE" */ break } @@ -146243,7 +146749,7 @@ __2: __3: ; if zName == uintptr(0) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof(zBuf)), uintptr(unsafe.Pointer(&zBuf)), ts+27773 /* "SQLITE_UNKNOWN(%..." */, libc.VaList(bp, origRc)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof(zBuf)), uintptr(unsafe.Pointer(&zBuf)), ts+27788 /* "SQLITE_UNKNOWN(%..." */, libc.VaList(bp, origRc)) zName = uintptr(unsafe.Pointer(&zBuf)) } return zName @@ -146254,23 +146760,23 @@ var zBuf [50]int8 /* sqlite3.c:166643:17: */ // Return a static string that describes the kind of error specified in the // argument. func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: */ - var zErr uintptr = ts + 27792 /* "unknown error" */ + var zErr uintptr = ts + 27807 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 27806 /* "abort due to ROL..." */ + zErr = ts + 27821 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 27828 /* "another row avai..." */ + zErr = ts + 27843 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 27850 /* "no more rows ava..." */ + zErr = ts + 27865 /* "no more rows ava..." */ break } @@ -146288,35 +146794,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 27873, /* "not an error" */ - /* SQLITE_ERROR */ ts + 27886, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 27888, /* "not an error" */ + /* SQLITE_ERROR */ ts + 27901, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 27902, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 27927, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 27941, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 27960, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 7984, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 27985, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 28022, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 28034, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 28049, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 28082, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 28100, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 28125, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 28154, /* "locking protocol" */ + /* SQLITE_PERM */ ts + 27917, /* "access permissio..." */ + /* SQLITE_ABORT */ ts + 27942, /* "query aborted" */ + /* SQLITE_BUSY */ ts + 27956, /* "database is lock..." */ + /* SQLITE_LOCKED */ ts + 27975, /* "database table i..." */ + /* SQLITE_NOMEM */ ts + 7999, /* "out of memory" */ + /* SQLITE_READONLY */ ts + 28000, /* "attempt to write..." */ + /* SQLITE_INTERRUPT */ ts + 28037, /* "interrupted" */ + /* SQLITE_IOERR */ ts + 28049, /* "disk I/O error" */ + /* SQLITE_CORRUPT */ ts + 28064, /* "database disk im..." */ + /* SQLITE_NOTFOUND */ ts + 28097, /* "unknown operatio..." */ + /* SQLITE_FULL */ ts + 28115, /* "database or disk..." */ + /* SQLITE_CANTOPEN */ ts + 28140, /* "unable to open d..." */ + /* SQLITE_PROTOCOL */ ts + 28169, /* "locking protocol" */ /* SQLITE_EMPTY */ uintptr(0), - /* SQLITE_SCHEMA */ ts + 7714, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 7251, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 28171, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 28189, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 28207, /* "bad parameter or..." */ + /* SQLITE_SCHEMA */ ts + 7729, /* "database schema ..." */ + /* SQLITE_TOOBIG */ ts + 7266, /* "string or blob t..." */ + /* SQLITE_CONSTRAINT */ ts + 28186, /* "constraint faile..." */ + /* SQLITE_MISMATCH */ ts + 28204, /* "datatype mismatc..." */ + /* SQLITE_MISUSE */ ts + 28222, /* "bad parameter or..." */ /* SQLITE_NOLFS */ uintptr(0), - /* SQLITE_AUTH */ ts + 28241, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 28256, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 28262, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 28288, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 28311, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 28332, /* "warning message" */ + /* SQLITE_RANGE */ ts + 28277, /* "column index out..." */ + /* SQLITE_NOTADB */ ts + 28303, /* "file is not a da..." */ + /* SQLITE_NOTICE */ ts + 28326, /* "notification mes..." */ + /* SQLITE_WARNING */ ts + 28347, /* "warning message" */ } /* sqlite3.c:166656:20 */ // This routine implements a busy callback that sleeps and tries @@ -146481,7 +146987,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+28348 /* "unable to delete..." */, 0) + ts+28363 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -146614,7 +147120,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+28411 /* "unable to use fu..." */, libc.VaList(bp, zName)) + ts+28426 /* "unable to use fu..." */, libc.VaList(bp, zName)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } @@ -146836,7 +147342,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+28462 /* "unknown database..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+28477 /* "unknown database..." */, libc.VaList(bp, zDb)) } else { (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -147055,7 +147561,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint if (pColl != 0) && ((*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0) { if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+28483 /* "unable to delete..." */, 0) + ts+28498 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -147198,7 +147704,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u if !(((((flags & uint32(SQLITE_OPEN_URI)) != 0) || // IMP: R-48725-32206 (Xsqlite3Config.FbOpenUri != 0)) && // IMP: R-51689-46548 - (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+28551 /* "file:" */, uint32(5)) == 0)) { + (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+28566 /* "file:" */, uint32(5)) == 0)) { goto __1 } // Input character index iOut = 0 // Output character index @@ -147246,10 +147752,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+28557 /* "localhost" */, (zUri+7), uint32(9)) != 0))) { + if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+28572 /* "localhost" */, (zUri+7), uint32(9)) != 0))) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28567, /* "invalid uri auth..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28582, /* "invalid uri auth..." */ libc.VaList(bp, (iIn-7), (zUri+7))) rc = SQLITE_ERROR goto parse_uri_out @@ -147371,7 +147877,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+28595 /* "vfs" */, zOpt, uint32(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+28610 /* "vfs" */, zOpt, uint32(3)) == 0)) { goto __29 } zVfs = zVal @@ -147382,17 +147888,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+28599 /* "cache" */, zOpt, uint32(5)) == 0)) { + if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+28614 /* "cache" */, zOpt, uint32(5)) == 0)) { goto __31 } mask = (SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&aCacheMode)) limit = mask - zModeType = ts + 28599 /* "cache" */ + zModeType = ts + 28614 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+28605 /* "mode" */, zOpt, uint32(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+28620 /* "mode" */, zOpt, uint32(4)) == 0)) { goto __32 } @@ -147400,7 +147906,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 4639 /* "access" */ + zModeType = ts + 4654 /* "access" */ __32: ; @@ -147431,7 +147937,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28610 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28625 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -147439,7 +147945,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28630, /* "%s mode not allo..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28645, /* "%s mode not allo..." */ libc.VaList(bp+32, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out @@ -147482,7 +147988,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28654 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28669 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) rc = SQLITE_ERROR __42: ; @@ -147505,15 +148011,15 @@ type OpenMode = struct { } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 19895 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 28670 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, + {Fz: ts + 19910 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, + {Fz: ts + 28685 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, } /* sqlite3.c:168073:34 */ var aOpenMode = [5]OpenMode{ - {Fz: ts + 28678 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 28681 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 28684 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 19278 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, + {Fz: ts + 28693 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, + {Fz: ts + 28696 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, + {Fz: ts + 28699 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, + {Fz: ts + 19293 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, {}, } /* sqlite3.c:168085:34 */ @@ -147695,10 +148201,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+24500 /* "NOCASE" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+24515 /* "NOCASE" */, 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+28688 /* "RTRIM" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+28703 /* "RTRIM" */, 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) { @@ -147744,7 +148250,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)))) @@ -147782,9 +148288,9 @@ __22: // The default safety_level for the main database is FULL; for the temp // database it is OFF. This matches the pager layer defaults. - (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 8551 /* "main" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 8566 /* "main" */ (*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 + 25998 /* "temp" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).FzDbSName = ts + 26013 /* "temp" */ (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF) (*Sqlite3)(unsafe.Pointer(db)).Fmagic = SQLITE_MAGIC_OPEN @@ -147902,7 +148408,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 28694 /* "\x00\x00" */ + zFilename = ts + 28709 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -148005,24 +148511,24 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) bp := tls.Alloc(24) defer tls.Free(24) - Xsqlite3_log(tls, iErr, ts+28697, /* "%s at line %d of..." */ + Xsqlite3_log(tls, iErr, ts+28712, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) return iErr } func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168711:20: */ - return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+28722 /* "database corrupt..." */) + return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+28737 /* "database corrupt..." */) } func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168715:20: */ - return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+28742 /* "misuse" */) + return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+28757 /* "misuse" */) } func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168719:20: */ - return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+28749 /* "cannot open file" */) + return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+28764 /* "cannot open file" */) } // This is a convenience routine that makes sure that all thread-specific @@ -148149,7 +148655,7 @@ __4: autoinc = (libc.Bool32((int32((*Table)(unsafe.Pointer(pTab)).FiPKey) == iCol) && (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != U32(0)))) goto __13 __12: - zDataType = ts + 14687 /* "INTEGER" */ + zDataType = ts + 14702 /* "INTEGER" */ primarykey = 1 __13: ; @@ -148201,14 +148707,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+28766 /* "no such table co..." */, libc.VaList(bp, zTableName, + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+28781 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -149007,7 +149513,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+28794 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+28809 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -149168,7 +149674,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 + 28802 /* "database is dead..." */ + return ts + 28817 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -149967,7 +150473,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 8061 /* "null" */, ts + 8863 /* "true" */, ts + 8868 /* "false" */, ts + 8071 /* "integer" */, ts + 8066 /* "real" */, ts + 16811 /* "text" */, ts + 28825 /* "array" */, ts + 28831, /* "object" */ + ts + 8076 /* "null" */, ts + 8878 /* "true" */, ts + 8883 /* "false" */, ts + 8086 /* "integer" */, ts + 8081 /* "real" */, ts + 16826 /* "text" */, ts + 28840 /* "array" */, ts + 28846, /* "object" */ } /* sqlite3.c:189771:19 */ // Maximum nesting depth of JSON for this implementation. @@ -150147,7 +150653,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 + 28838 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 28853 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -150175,7 +150681,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { - jsonAppendRaw(tls, p, ts+8061 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+8076 /* "null" */, uint32(4)) break } @@ -150204,7 +150710,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 default: { if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { - Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+28855 /* "JSON cannot hold..." */, -1) + Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+28870 /* "JSON cannot hold..." */, -1) (*JsonString)(unsafe.Pointer(p)).FbErr = U8(2) jsonReset(tls, p) } @@ -150281,19 +150787,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+8061 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+8076 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+8863 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+8878 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+8868 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+8883 /* "false" */, uint32(5)) break } @@ -150859,17 +151365,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } return (int32(j + U32(1))) } else if ((int32(c) == 'n') && - (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8061 /* "null" */, uint32(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8076 /* "null" */, uint32(4)) == 0)) && !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { 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+8863 /* "true" */, uint32(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8878 /* "true" */, 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+8868 /* "false" */, uint32(5)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8883 /* "false" */, 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))) @@ -150977,7 +151483,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+28884 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+28899 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -151297,7 +151803,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+28899 /* "[0]" */, uint32(3)) == 0 { + } else if libc.Xstrncmp(tls, zPath, ts+28914 /* "[0]" */, uint32(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) } else { return uintptr(0) @@ -151314,7 +151820,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190 bp := tls.Alloc(8) defer tls.Free(8) - return Xsqlite3_mprintf(tls, ts+28903 /* "JSON path error ..." */, libc.VaList(bp, zErr)) + return Xsqlite3_mprintf(tls, ts+28918 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } // Do a node lookup using zPath. Return a pointer to the node on success. @@ -151381,7 +151887,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit bp := tls.Alloc(8) defer tls.Free(8) - var zMsg uintptr = Xsqlite3_mprintf(tls, ts+28929, /* "json_%s() needs ..." */ + var zMsg uintptr = Xsqlite3_mprintf(tls, ts+28944, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -151525,7 +152031,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* if pNode != 0 { jsonRenderNode(tls, pNode, bp /* &jx */, uintptr(0)) } else { - jsonAppendRaw(tls, bp /* &jx */, ts+8061 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+8076 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -151653,14 +152159,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+28972 /* "json_object() re..." */, -1) + ts+28987 /* "json_object() re..." */, -1) return } jsonInit(tls, bp /* &jx */, ctx) jsonAppendChar(tls, bp /* &jx */, 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+29023 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+29038 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -151768,7 +152274,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+17322 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+17337 /* "replace" */) return __2: ; @@ -151854,9 +152360,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 29057 /* "set" */ + return ts + 29072 /* "set" */ } - return ts + 29061 /* "insert" */ + return ts + 29076 /* "insert" */ }()) return __2: @@ -152004,7 +152510,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+29068 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+29083 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -152109,7 +152615,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+29071 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+29086 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -152162,7 +152668,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+29074 /* "CREATE TABLE x(k..." */) + ts+29089 /* "CREATE TABLE x(k..." */) if rc == SQLITE_OK { pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{})))) if pNew == uintptr(0) { @@ -152300,14 +152806,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql 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+29157 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) + jsonPrintf(tls, 30, pStr, ts+29172 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) } else { if (int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags) & JNODE_LABEL) == 0 { pNode -= 12 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+29162 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+29177 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } @@ -152400,9 +152906,9 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* jsonAppendChar(tls, bp+24 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+24 /* &x */, ts+29157 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+24 /* &x */, ts+29172 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+29162 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+29177 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } jsonResult(tls, bp+24 /* &x */) @@ -152426,7 +152932,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 + 29168 /* "$" */ + zRoot = ts + 29183 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -152558,7 +153064,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+28884 /* "malformed JSON" */, 0) + (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+28899 /* "malformed JSON" */, 0) if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { rc = SQLITE_ERROR } @@ -152698,21 +153204,21 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 29170 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29175 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29186 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29186 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29204 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29217 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29229 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29241 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29252 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29263 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29275 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29288 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 29297 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29297 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29307 /* "json_valid" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29185 /* "json" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29190 /* "json_array" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29201 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29201 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 29219 /* "json_extract" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29232 /* "json_insert" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29244 /* "json_object" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29256 /* "json_patch" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 29267 /* "json_quote" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29278 /* "json_remove" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29290 /* "json_replace" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29303 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, + {FzName: ts + 29312 /* "json_type" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29312 /* "json_type" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 29322 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { FzName uintptr @@ -152721,17 +153227,17 @@ var aAgg = [2]struct { FxFinal uintptr FxValue uintptr }{ - {FzName: ts + 29318 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 29333 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 29335 /* "json_group_objec..." */, FnArg: 2, + {FzName: ts + 29350 /* "json_group_objec..." */, FnArg: 2, FxStep: 0, FxFinal: 0, FxValue: 0}, } /* sqlite3.c:192211:5 */ var aMod = [2]struct { FzName uintptr FpModule uintptr }{ - {FzName: ts + 29353 /* "json_each" */, FpModule: 0}, - {FzName: ts + 29363 /* "json_tree" */, FpModule: 0}, + {FzName: ts + 29368 /* "json_each" */, FpModule: 0}, + {FzName: ts + 29378 /* "json_tree" */, FpModule: 0}, } /* sqlite3.c:192221:5 */ var enc int32 = ((SQLITE_UTF8 | SQLITE_DETERMINISTIC) | SQLITE_INNOCUOUS) /* sqlite3.c:192226:20 */ // In the SQLite core @@ -153074,11 +153580,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+29373 /* "%s_node" */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + var zTab uintptr = Xsqlite3_mprintf(tls, ts+29388 /* "%s_node" */, 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+29381 /* "data" */, iNode, 0, + rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+29396 /* "data" */, iNode, 0, (pRtree + 72 /* &.pNodeBlob */)) Xsqlite3_free(tls, zTab) } @@ -153323,7 +153829,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+29386, /* "DROP TABLE '%q'...." */ + ts+29401, /* "DROP TABLE '%q'...." */ 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)) @@ -154083,7 +154589,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information - pSrc = Xsqlite3_value_pointer(tls, pValue, ts+29468 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+29483 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -154347,7 +154853,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+24 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+24 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -155607,7 +156113,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+29482 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, ts+29497 /* "SELECT * FROM %Q..." */, 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 /* &pStmt */, uintptr(0)) } else { @@ -155619,12 +156125,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 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+29502 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+29517 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), iCol) var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+29534 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+29549 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } @@ -155892,7 +156398,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+29571 /* "ALTER TABLE %Q.'..." */, 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+29586 /* "ALTER TABLE %Q.'..." */, 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)) @@ -155930,7 +156436,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(20) defer tls.Free(20) - var zFmt uintptr = ts + 29716 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 29731 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+16, 4 @@ -155938,7 +156444,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit var nRow I64 = int64(0) rc = Xsqlite3_table_column_metadata(tls, - db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+13331 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+13346 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == SQLITE_ERROR { @@ -155991,7 +156497,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 29772 /* "node" */, ts + 6977 /* "parent" */, ts + 10282, /* "rowid" */ + ts + 29787 /* "node" */, ts + 6992 /* "parent" */, ts + 10297, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -156035,19 +156541,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+29777, /* "CREATE TABLE \"%w..." */ + ts+29792, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+29839 /* ",a%d" */, libc.VaList(bp+16, ii)) + Xsqlite3_str_appendf(tls, p, ts+29854 /* ",a%d" */, libc.VaList(bp+16, ii)) } Xsqlite3_str_appendf(tls, p, - ts+29844, /* ");CREATE TABLE \"..." */ + ts+29859, /* ");CREATE TABLE \"..." */ libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+29908, /* "CREATE TABLE \"%w..." */ + ts+29923, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+29978, /* "INSERT INTO \"%w\"..." */ + ts+29993, /* "INSERT INTO \"%w\"..." */ libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { @@ -156078,7 +156584,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } else { // An UPSERT is very slightly slower than REPLACE, but it is needed // if there are auxiliary columns - zFormat = ts + 30027 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 30042 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { @@ -156090,7 +156596,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+30135, /* "SELECT * FROM \"%..." */ + ts+30150, /* "SELECT * FROM \"%..." */ libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -156098,18 +156604,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+30180 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+112, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+30195 /* "UPDATE \"%w\".\"%w_..." */, 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+14840 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+14855 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+30207 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+30222 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+30229 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+30244 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) } } - Xsqlite3_str_appendf(tls, p, ts+30237 /* " WHERE rowid=?1" */, 0) + Xsqlite3_str_appendf(tls, p, ts+30252 /* " WHERE rowid=?1" */, 0) zSql = Xsqlite3_str_finish(tls, p) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -156125,18 +156631,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 30253, /* "INSERT OR REPLAC..." */ - ts + 30306, /* "DELETE FROM '%q'..." */ + ts + 30268, /* "INSERT OR REPLAC..." */ + ts + 30321, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 30351, /* "SELECT nodeno FR..." */ - ts + 30403, /* "INSERT OR REPLAC..." */ - ts + 30457, /* "DELETE FROM '%q'..." */ + ts + 30366, /* "SELECT nodeno FR..." */ + ts + 30418, /* "INSERT OR REPLAC..." */ + ts + 30472, /* "DELETE FROM '%q'..." */ // Read and write the xxx_parent table - ts + 30502, /* "SELECT parentnod..." */ - ts + 30560, /* "INSERT OR REPLAC..." */ - ts + 30615, /* "DELETE FROM '%q'..." */ + ts + 30517, /* "SELECT parentnod..." */ + ts + 30575, /* "INSERT OR REPLAC..." */ + ts + 30630, /* "DELETE FROM '%q'..." */ } /* sqlite3.c:195763:21 */ // The second argument to this function contains the text of an SQL statement @@ -156183,7 +156689,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr var zSql uintptr if isCreate != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) = 0 - zSql = Xsqlite3_mprintf(tls, ts+30662 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, ts+30677 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) rc = getIntFromStmt(tls, db, zSql, bp+48 /* &iPageSize */) if rc == SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) - 64) @@ -156191,19 +156697,19 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, - ts+30682, /* "SELECT length(da..." */ + ts+30697, /* "SELECT length(da..." */ libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 16 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30739, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30754, /* "undersize RTree ..." */ libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -156254,17 +156760,17 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr ii = 4 *(*[5]uintptr)(unsafe.Pointer(bp + 96 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 - ts + 30774, /* "Wrong number of ..." */ // 1 - ts + 30817, /* "Too few columns ..." */ // 2 - ts + 30852, /* "Too many columns..." */ // 3 - ts + 30888, /* "Auxiliary rtree ..." */ // 4 + ts + 30789, /* "Wrong number of ..." */ // 1 + ts + 30832, /* "Too few columns ..." */ // 2 + ts + 30867, /* "Too many columns..." */ // 3 + ts + 30903, /* "Auxiliary rtree ..." */ // 4 } // Aux columns counted by a u8 if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*4)))) return SQLITE_ERROR __1: ; @@ -156294,7 +156800,7 @@ __2: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+30925, /* "CREATE TABLE x(%..." */ + Xsqlite3_str_appendf(tls, pSql, ts+30940, /* "CREATE TABLE x(%..." */ libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))), *(*uintptr)(unsafe.Pointer(argv + 3*4)))) ii = 4 __3: @@ -156306,7 +156812,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+30949 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+30964 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -156329,7 +156835,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+30955 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+30970 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -156340,14 +156846,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*4)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -156390,7 +156896,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*4)))) goto rtreeInit_fail __22: ; @@ -156408,7 +156914,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -156428,7 +156934,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 30958 /* ",%.*s REAL" */, ts + 30969 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ +var azFormat = [2]uintptr{ts + 30973 /* ",%.*s REAL" */, ts + 30984 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -156483,13 +156989,13 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit nodeGetCell(tls, bp+44 /* &tree */, bp+16 /* &node */, ii, bp+544 /* &cell */) if ii > 0 { - Xsqlite3_str_append(tls, pOut, ts+12911 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+12926 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+30979 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+544 /* &cell */)).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, ts+30994 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+544 /* &cell */)).FiRowid)) for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+44 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+30985 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 544 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+31000 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 544 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } - Xsqlite3_str_append(tls, pOut, ts+30989 /* "}" */, 1) + Xsqlite3_str_append(tls, pOut, ts+31004 /* "}" */, 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}))) @@ -156508,7 +157014,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli _ = 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+30991 /* "Invalid argument..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+31006 /* "Invalid argument..." */, -1) } else { var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -156595,12 +157101,12 @@ 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+31024, /* "%z%s%z" */ + (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+31039, /* "%z%s%z" */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - return ts + 5929 /* "\n" */ + return ts + 5944 /* "\n" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -156631,7 +157137,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+31031, /* "SELECT data FROM..." */ + ts+31046, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -156650,7 +157156,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+31076 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+31091 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -156674,8 +157180,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 /* azSql */)) = [2]uintptr{ - ts + 31108, /* "SELECT parentnod..." */ - ts + 31162, /* "SELECT nodeno FR..." */ + ts + 31123, /* "SELECT parentnod..." */ + ts + 31177, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 24 /* &.aCheckMapping */) + uintptr(bLeaf)*4)) == uintptr(0) { @@ -156690,23 +157196,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+31210, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+31225, /* "Mapping (%lld ->..." */ libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 31255 /* "%_rowid" */ + return ts + 31270 /* "%_rowid" */ } - return ts + 31263 /* "%_parent" */ + return ts + 31278 /* "%_parent" */ }())) } else if rc == SQLITE_ROW { var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, - ts+31272, /* "Found (%lld -> %..." */ + ts+31287, /* "Found (%lld -> %..." */ libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 31255 /* "%_rowid" */ + return ts + 31270 /* "%_rowid" */ } - return ts + 31263 /* "%_parent" */ + return ts + 31278 /* "%_parent" */ }(), iKey, iVal)) } } @@ -156749,7 +157255,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, - ts+31330 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+31345 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -156769,7 +157275,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 60 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+31378 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) + ts+31393 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -156792,14 +157298,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr if aNode != 0 { if *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+31445 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) + ts+31460 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+31479 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+31494 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } @@ -156807,7 +157313,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 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, - ts+31509, /* "Node %lld is too..." */ + ts+31524, /* "Node %lld is too..." */ libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { for i = 0; i < nCell; i++ { @@ -156841,14 +157347,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+31564, /* "SELECT count(*) ..." */ + pCount = rtreeCheckPrepare(tls, pCheck, ts+31579, /* "SELECT count(*) ..." */ 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+31595 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) + ts+31610 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -156878,13 +157384,13 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+16510 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+16525 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+31662 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+31677 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) @@ -156893,12 +157399,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+29482 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+29497 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) if pStmt != 0 { var rc int32 (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+31690 /* "Schema corrupt o..." */, 0) + rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+31705 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } @@ -156913,8 +157419,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { rtreeCheckNode(tls, bp+32 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+32 /* &check */, ts+31721 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+32 /* &check */, ts+31728 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+31736 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+31743 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check @@ -156924,7 +157430,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // If one was opened, close the transaction if bEnd != 0 { - var rc int32 = Xsqlite3_exec(tls, db, ts+31736 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) + var rc int32 = Xsqlite3_exec(tls, db, ts+31751 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } @@ -156970,7 +157476,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+31740 /* "wrong number of ..." */, -1) + ts+31755 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -156978,7 +157484,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 8551 /* "main" */ + zDb = ts + 8566 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*4))) } @@ -156988,7 +157494,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if *(*uintptr)(unsafe.Pointer(bp /* zReport */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp /* zReport */)) } - return ts + 5213 /* "ok" */ + return ts + 5228 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -157424,11 +157930,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+31791 /* "[" */, 1) + Xsqlite3_str_append(tls, x, ts+31806 /* "[" */, 1) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { - Xsqlite3_str_appendf(tls, x, ts+31793 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) + Xsqlite3_str_appendf(tls, x, ts+31808 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+31804 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+31819 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 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) } @@ -157452,19 +157958,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+31815 /* "" */, 0) + Xsqlite3_str_appendf(tls, x, ts+31868 /* ">" */, 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) } @@ -158478,7 +158984,7 @@ __1: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+31866 /* "CREATE TABLE x(_..." */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+31881 /* "CREATE TABLE x(_..." */, 0) (*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1) // Add one for _shape (*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1) // The _shape column is always not-null ii = 3 @@ -158487,7 +158993,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+31888 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)))) + Xsqlite3_str_appendf(tls, pSql, ts+31903 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)))) goto __3 __3: ii++ @@ -158495,7 +159001,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+30955 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+30970 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -158506,7 +159012,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -158532,7 +159038,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -158765,7 +159271,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s if iRowidTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 10282 /* "rowid" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 10297 /* "rowid" */ (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).FargvIndex = 1 (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).Fomit = uint8(1) (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 30.0 @@ -158775,7 +159281,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } if iFuncTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31892 /* "rtree" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31907 /* "rtree" */ (*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 @@ -158783,7 +159289,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s return SQLITE_OK } (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31898 /* "fullscan" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31913 /* "fullscan" */ (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -158921,7 +159427,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+31907 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+31922 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -159066,14 +159572,14 @@ geopoly_update_end: // Report that geopoly_overlap() is an overloaded function suitable // for use in xBestIndex. func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:198361:12: */ - if Xsqlite3_stricmp(tls, zName, ts+31947 /* "geopoly_overlap" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+31962 /* "geopoly_overlap" */) == 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+31963 /* "geopoly_within" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+31978 /* "geopoly_within" */) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{geopolyWithinFunc})) @@ -159138,7 +159644,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 uintptr(0), aAgg1[i].FxStep, aAgg1[i].FxFinal) } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, ts+31978 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+31993 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -159150,25 +159656,25 @@ var aFunc1 = [12]struct { _ [2]byte FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 31986 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 31999 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32012 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 32025 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31963 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 32037 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31947 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 32060 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32074 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 32087 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 32101 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32117 /* "geopoly_ccw" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32001 /* "geopoly_area" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32014 /* "geopoly_blob" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32027 /* "geopoly_json" */}, + {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 32040 /* "geopoly_svg" */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31978 /* "geopoly_within" */}, + {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 32052 /* "geopoly_contains..." */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31962 /* "geopoly_overlap" */}, + {FxFunc: 0, FnArg: int8(1), FzName: ts + 32075 /* "geopoly_debug" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32089 /* "geopoly_bbox" */}, + {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 32102 /* "geopoly_xform" */}, + {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 32116 /* "geopoly_regular" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32132 /* "geopoly_ccw" */}, } /* sqlite3.c:198416:5 */ var aAgg1 = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ - {FxStep: 0, FxFinal: 0, FzName: ts + 32129 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 32144 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -159181,26 +159687,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 var utf8 int32 = SQLITE_UTF8 var rc int32 - rc = Xsqlite3_create_function(tls, db, ts+32148 /* "rtreenode" */, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+32163 /* "rtreenode" */, 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+32158 /* "rtreedepth" */, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+32173 /* "rtreedepth" */, 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+32169 /* "rtreecheck" */, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+32184 /* "rtreecheck" */, -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+31892 /* "rtree" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+31907 /* "rtree" */, 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+32180 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+32195 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { rc = sqlite3_geopoly_init(tls, db) @@ -159272,7 +159778,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql Xsqlite3_result_error_nomem(tls, ctx) rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, ts+29468 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) + Xsqlite3_result_pointer(tls, ctx, pBlob, ts+29483 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) } } } @@ -160551,7 +161057,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // Figure out the size of the output nOut = rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, ts+32190 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+32205 /* "corrupt fossil d..." */, -1) return } @@ -160562,7 +161068,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+32190 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+32205 /* "corrupt fossil d..." */, -1) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -160583,7 +161089,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -160601,7 +161107,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -160705,7 +161211,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+32211 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + ts+32226 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } if rc == SQLITE_OK { @@ -160789,7 +161295,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+29381 /* "data" */, zIn, uint32(4)) == 0) { + if (libc.Xstrlen(tls, zIn) > Size_t(4)) && (libc.Xmemcmp(tls, ts+29396 /* "data" */, 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++ { } @@ -160817,17 +161323,17 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter /* &.pTblIter */), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+32382 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { + ts+32397 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 32532 /* "AND rootpage!=0 ..." */ + return ts + 32547 /* "AND rootpage!=0 ..." */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 4 /* &.pIdxIter */), (p + 36 /* &.zErrmsg */), - ts+32573 /* "SELECT name, roo..." */) + ts+32588 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -160965,7 +161471,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: var rc int32 = Xsqlite3_finalize(tls, pStmt) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (rc != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) } } @@ -161028,7 +161534,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 /* &aStmt */), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+32698 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) + ts+32713 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } @@ -161046,7 +161552,7 @@ __2: *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 1*4), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32779 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) + Xsqlite3_mprintf(tls, ts+32794 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -161064,7 +161570,7 @@ __4: } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 2*4), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+32800 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) + ts+32815 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } @@ -161088,7 +161594,7 @@ __5: ; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 3*4), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32851 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) + Xsqlite3_mprintf(tls, ts+32866 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } @@ -161137,7 +161643,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pList */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32872 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+32887 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 @@ -161152,7 +161658,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pXInfo */)))) { var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pXInfo */)), 1) if iCid >= 0 { @@ -161202,7 +161708,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 36 /* &.eType */), bp+56 /* &iTnum */, (pIter + 60 /* &.iPkTnum */)) 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+21572 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+21587 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc @@ -161215,18 +161721,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // of the input table. Ignore any input table columns that begin with // "rbu_". (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+60 /* &pStmt */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32929 /* "SELECT * FROM '%..." */, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + Xsqlite3_mprintf(tls, ts+32944 /* "SELECT * FROM '%..." */, 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 /* pStmt */))) 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 /* pStmt */)), i) - if Xsqlite3_strnicmp(tls, ts+32948 /* "rbu_" */, zName, 4) != 0 { + if Xsqlite3_strnicmp(tls, ts+32963 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 32 /* &.rc */)) *(*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+32953 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+32968 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -161238,12 +161744,12 @@ 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+32963 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+32978 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { - return ts + 32992 /* "may not have" */ + return ts + 33007 /* "may not have" */ } - return ts + 33005 /* "requires" */ + return ts + 33020 /* "requires" */ }())) } @@ -161252,7 +161758,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60 /* &pStmt */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+33014 /* "PRAGMA table_inf..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+33029 /* "PRAGMA table_inf..." */, 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 /* pStmt */)))) { var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pStmt */)), 1) @@ -161266,7 +161772,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+33036, /* "column missing f..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33051, /* "column missing f..." */ libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pStmt */)), 5) @@ -161312,12 +161818,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(24) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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+33063 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 16621 /* ", " */ + zList = rbuMPrintf(tls, p, ts+33078 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 16636 /* ", " */ } return zList } @@ -161332,13 +161838,13 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, var iPk int32 = 1 var zRet uintptr = uintptr(0) - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ for 1 != 0 { var i int32 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+33072 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) + zRet = rbuMPrintf(tls, p, ts+33087 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -161377,25 +161883,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 /* &pMax */, (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+33085 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + ts+33100 /* "SELECT max(_rowi..." */, 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 /* pMax */)))) { var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+33117 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) + zRet = rbuMPrintf(tls, p, ts+33132 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } else { - var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+900 /* "" */, ts+16621 /* ", " */, ts+33140 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+33146 /* "quote(" */, ts+33153 /* "||','||" */, ts+6872 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+900 /* "" */, ts+16621 /* ", " */, ts+900 /* "" */) + var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+16636 /* ", " */, ts+33155 /* " DESC" */) + var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+33161 /* "quote(" */, ts+33168 /* "||','||" */, ts+6887 /* ")" */) + var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+16636 /* ", " */, ts+915 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+33161, /* "SELECT %s FROM \"..." */ + ts+33176, /* "SELECT %s FROM \"..." */ 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 /* pMax */)))) { var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+33203 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) + zRet = rbuMPrintf(tls, p, ts+33218 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } @@ -161453,12 +161959,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 900 /* "" */ + zSep = ts + 915 /* "" */ iCol = 0 *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, 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 /* pXInfo */))))) { goto __2 @@ -161495,7 +162001,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) goto __7 __6: - zCol = ts + 33223 /* "_rowid_" */ + zCol = ts + 33238 /* "_rowid_" */ __7: ; goto __5 @@ -161504,13 +162010,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+33231, /* "%z%s \"%w\" COLLAT..." */ + zLhs = rbuMPrintf(tls, p, ts+33246, /* "%z%s \"%w\" COLLAT..." */ libc.VaList(bp+8, zLhs, zSep, zCol, zCollate)) - zOrder = rbuMPrintf(tls, p, ts+33252, /* "%z%s \"rbu_imp_%d..." */ + zOrder = rbuMPrintf(tls, p, ts+33267, /* "%z%s \"rbu_imp_%d..." */ libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = rbuMPrintf(tls, p, ts+33288, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+33303, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) - zSep = ts + 16621 /* ", " */ + zSep = ts + 16636 /* ", " */ iCol++ goto __1 __2: @@ -161529,12 +162035,12 @@ __11: *(*uintptr)(unsafe.Pointer(bp + 180 /* pSel */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+180 /* &pSel */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+33315, /* "SELECT %s FROM \"..." */ + Xsqlite3_mprintf(tls, ts+33330, /* "SELECT %s FROM \"..." */ 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 /* pSel */))))) { goto __13 } - zSep = ts + 900 /* "" */ + zSep = ts + 915 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -161556,8 +162062,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+33363 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) - zSep = ts + 16621 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+33378 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) + zSep = ts + 16636 /* ", " */ goto __15 __15: iCol++ @@ -161569,7 +162075,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+33370 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+33385 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: @@ -161619,14 +162125,14 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var zImpPK uintptr = uintptr(0) // String to return via *pzImposterPK var zWhere uintptr = uintptr(0) // String to return via *pzWhere var nBind int32 = 0 // Value to return via *pnBind - var zCom uintptr = ts + 900 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 900 /* "" */ // Set to " AND " later on + var zCom uintptr = ts + 915 /* "" */ // Set to ", " later on + var zAnd uintptr = ts + 915 /* "" */ // Set to " AND " later on *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)))) { @@ -161638,9 +162144,9 @@ 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 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+33382 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+8, zRet, zCom, + zRet = Xsqlite3_mprintf(tls, ts+33397 /* "%z%s(%.*s) COLLA..." */, 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 + 900 /* "" */ + zType = ts + 915 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -161652,37 +162158,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 + 33223 /* "_rowid_" */ + zCol = ts + 33238 /* "_rowid_" */ } else { - zCol = ts + 32953 /* "rbu_rowid" */ + zCol = ts + 32968 /* "rbu_rowid" */ } - zType = ts + 14687 /* "INTEGER" */ + zType = ts + 14702 /* "INTEGER" */ } 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+33404 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+33419 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) } if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { - return ts + 33140 /* " DESC" */ + return ts + 33155 /* " DESC" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+33424, /* "%z%s\"rbu_imp_%d%..." */ + zImpPK = Xsqlite3_mprintf(tls, ts+33439, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, ts+33445, /* "%z%s\"rbu_imp_%d%..." */ + zImpCols = Xsqlite3_mprintf(tls, ts+33460, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+33478 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol)) + ts+33493 /* "%z%s\"rbu_imp_%d%..." */, 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 + 16621 /* ", " */ - zAnd = ts + 24058 /* " AND " */ + zCom = ts + 16636 /* ", " */ + zAnd = ts + 24073 /* " AND " */ nBind++ } @@ -161725,16 +162231,16 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zS uintptr = ts + 900 /* "" */ + var zS uintptr = ts + 915 /* "" */ var i int32 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+33502 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, ts+33517 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+33514 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+33529 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } - zS = ts + 16621 /* ", " */ + zS = ts + 16636 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -161743,7 +162249,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+33523 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+33538 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) } } return zList @@ -161763,27 +162269,27 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq 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+33538 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) + zList = rbuMPrintf(tls, p, ts+33553 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) } else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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+33552 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) - zSep = ts + 24058 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+33567 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) + zSep = ts + 24073 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+33564 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) + ts+33579 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) - zList = rbuMPrintf(tls, p, ts+33614 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) - zSep = ts + 24058 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+33629 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) + zSep = ts + 24073 /* " AND " */ } } } @@ -161797,7 +162303,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // of the RBU handle to something reflecting this. func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33627 /* "invalid rbu_cont..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33642 /* "invalid rbu_cont..." */, 0) } // Return a nul-terminated string containing the comma separated list of @@ -161826,21 +162332,21 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr if int32(libc.Xstrlen(tls, zMask)) != (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { rbuBadControlError(tls, p) } else { - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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+33614, /* "%z%s\"%w\"=?%d" */ + zList = rbuMPrintf(tls, p, ts+33629, /* "%z%s\"%w\"=?%d" */ libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), (i+1))) - zSep = ts + 16621 /* ", " */ + zSep = ts + 16636 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+33653, /* "%z%s\"%w\"=rbu_del..." */ + zList = rbuMPrintf(tls, p, ts+33668, /* "%z%s\"%w\"=rbu_del..." */ 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 + 16621 /* ", " */ + zSep = ts + 16636 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+33683, /* "%z%s\"%w\"=rbu_fos..." */ + zList = rbuMPrintf(tls, p, ts+33698, /* "%z%s\"%w\"=rbu_fos..." */ 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 + 16621 /* ", " */ + zSep = ts + 16636 /* ", " */ } } } @@ -161898,19 +162404,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zSep uintptr = ts + 33720 /* "PRIMARY KEY(" */ + var zSep uintptr = ts + 33735 /* "PRIMARY KEY(" */ *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56 /* &pXList */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32872 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+32887 /* "PRAGMA main.inde..." */, 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 /* pXList */)))) { var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 3) - if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+18089 /* "pk" */) == 0) { + if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+18104 /* "pk" */) == 0) { var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 1) if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } @@ -161923,15 +162429,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */)), 2) var zDesc uintptr if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */)), 3) != 0 { - zDesc = ts + 33140 /* " DESC" */ + zDesc = ts + 33155 /* " DESC" */ } else { - zDesc = ts + 900 /* "" */ + zDesc = ts + 915 /* "" */ } - z = rbuMPrintf(tls, p, ts+33733 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = ts + 16621 /* ", " */ + z = rbuMPrintf(tls, p, ts+33748 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) + zSep = ts + 16636 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+33744 /* "%z)" */, libc.VaList(bp+48, z)) + z = rbuMPrintf(tls, p, ts+33759 /* "%z)" */, libc.VaList(bp+48, z)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */))) } return z @@ -161963,7 +162469,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx - var zComma uintptr = ts + 900 /* "" */ + var zComma uintptr = ts + 915 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -161971,7 +162477,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168 /* &pQuery */, (p + 36 /* &.zErrmsg */), - ts+33748 /* "SELECT name FROM..." */) + ts+33763 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 1, tnum) if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) { @@ -161980,7 +162486,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit } if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+172 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) @@ -161990,25 +162496,25 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)), 1) var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)), 3) var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+33798 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, + zCols = rbuMPrintf(tls, p, ts+33813 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+33820 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+33835 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { - return ts + 33140 /* " DESC" */ + return ts + 33155 /* " DESC" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) - zComma = ts + 16621 /* ", " */ + zComma = ts + 16636 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+33830 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) + zCols = rbuMPrintf(tls, p, ts+33845 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+33845, /* "CREATE TABLE rbu..." */ + ts+33860, /* "CREATE TABLE rbu..." */ libc.VaList(bp+120, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 0)) } } @@ -162036,52 +162542,52 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum - var zComma uintptr = ts + 900 /* "" */ + var zComma uintptr = ts + 915 /* "" */ var zSql uintptr = uintptr(0) var iCol int32 - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 1)) for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { - var zPk uintptr = ts + 900 /* "" */ + var zPk uintptr = ts + 915 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*4)) *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, 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) { // If the target table column is an "INTEGER PRIMARY KEY", add // "PRIMARY KEY" to the imposter table column declaration. - zPk = ts + 33907 /* "PRIMARY KEY " */ + zPk = ts + 33922 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+33920, /* "%z%s\"%w\" %s %sCO..." */ + zSql = rbuMPrintf(tls, p, ts+33935, /* "%z%s\"%w\" %s %sCO..." */ libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*4)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - return ts + 33947 /* " NOT NULL" */ + return ts + 33962 /* " NOT NULL" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) - zComma = ts + 16621 /* ", " */ + zComma = ts + 16636 /* ", " */ } 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+33957 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+33972 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33964, /* "CREATE TABLE \"rb..." */ + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 1, tnum)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33979, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { - return ts + 33996 /* " WITHOUT ROWID" */ + return ts + 34011 /* " WITHOUT ROWID" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 0)) } } @@ -162104,7 +162610,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 88 /* &.pTmpInsert */), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+34011, /* "INSERT INTO %s.'..." */ + ts+34026, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -162141,7 +162647,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+34068 /* "SELECT trim(sql)..." */) + ts+34083 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -162251,7 +162757,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+34134 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) + zLimit = Xsqlite3_mprintf(tls, ts+34149 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) if !(zLimit != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM } @@ -162272,26 +162778,26 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 612 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+34154, /* "CREATE TABLE \"rb..." */ + ts+34169, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 604 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 0)) // Create the statement to insert index entries (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 612 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 80 /* &.pInsert */), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34219 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+34234 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) } // And to delete index entries 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 /* &.pDelete */), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34255 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+34270 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -162308,7 +162814,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+34289, /* "SELECT %s, 0 AS ..." */ + ts+34304, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -162316,32 +162822,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 34350 /* "AND" */ + return ts + 34365 /* "AND" */ } - return ts + 34354 /* "WHERE" */ + return ts + 34369 /* "WHERE" */ }() } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zStart, zCollist, zLimit)) 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+34360, /* "SELECT %s, rbu_c..." */ + ts+34375, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+216, zCollist, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, - ts+34421, /* "SELECT %s, rbu_c..." */ + ts+34436, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+264, zCollist, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { if zPart != 0 { - return ts + 34350 /* "AND" */ + return ts + 34365 /* "AND" */ } - return ts + 34354 /* "WHERE" */ + return ts + 34369 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -162366,8 +162872,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 var zBindings uintptr = rbuObjIterGetBindlist(tls, p, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + bRbuRowid)) var zWhere uintptr = rbuObjIterGetWhere(tls, p, pIter) - var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8560 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8556 /* "new" */) + var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8575 /* "old" */) + var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8571 /* "new" */) zCollist = rbuObjIterGetCollist(tls, p, pIter) (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -162377,21 +162883,21 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuCreateImposterTable2(tls, p, pIter) zWrite = func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 34580 /* "rbu_imp_" */ + return ts + 34595 /* "rbu_imp_" */ }() // Create the INSERT statement to write to the target PK b-tree if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 80 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, - ts+34589, /* "INSERT INTO \"%s%..." */ + ts+34604, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 34625 /* ", _rowid_" */ + return ts + 34640 /* ", _rowid_" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zBindings))) } @@ -162401,28 +162907,28 @@ 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 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+34635 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+384, zWrite, zTbl, zWhere))) + ts+34650 /* "DELETE FROM \"%s%..." */, 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 + 900 /* "" */ + var zRbuRowid uintptr = ts + 915 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 34663 /* ", rbu_rowid" */ + zRbuRowid = ts + 34678 /* ", rbu_rowid" */ } // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+34675 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+34690 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - return ts + 34751 /* ", 0 AS rbu_rowid" */ + return ts + 34766 /* ", 0 AS rbu_rowid" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+34768, /* "CREATE TEMP TRIG..." */ + ts+34783, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -162430,7 +162936,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 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+35067, /* "CREATE TEMP TRIG..." */ + ts+35082, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } @@ -162439,14 +162945,14 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the SELECT statement to read keys from data_xxx if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zRbuRowid uintptr = ts + 900 /* "" */ + var zRbuRowid uintptr = ts + 915 /* "" */ var zStart uintptr = uintptr(0) var zOrder uintptr = uintptr(0) if bRbuRowid != 0 { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zRbuRowid = ts + 35166 /* ",_rowid_ " */ + zRbuRowid = ts + 35181 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 35176 /* ",rbu_rowid" */ + zRbuRowid = ts + 35191 /* ",rbu_rowid" */ } } @@ -162459,35 +162965,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+33223 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+33238 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+900 /* "" */, ts+16621 /* ", " */, ts+900 /* "" */) + zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+16636 /* ", " */, ts+915 /* "" */) } } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 76 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, - ts+35187, /* "SELECT %s,%s rbu..." */ + ts+35202, /* "SELECT %s,%s rbu..." */ libc.VaList(bp+536, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 35235 /* "0 AS " */ + return ts + 35250 /* "0 AS " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 22237 /* "ORDER BY" */ + return ts + 22252 /* "ORDER BY" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zOrder, zLimit))) } @@ -162562,12 +163068,12 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp (*RbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - var zPrefix uintptr = ts + 900 /* "" */ + var zPrefix uintptr = ts + 915 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 34580 /* "rbu_imp_" */ + zPrefix = ts + 34595 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+35241, /* "UPDATE \"%s%w\" SE..." */ + zUpdate = Xsqlite3_mprintf(tls, ts+35256, /* "UPDATE \"%s%w\" SE..." */ 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 /* &.pUpdate */), (p + 36 /* &.zErrmsg */), zUpdate) @@ -162594,7 +163100,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))) *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) } @@ -162635,7 +163141,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ } *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8 /* &pStmt */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+35271 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+24 /* &.zStateDb */))) + Xsqlite3_mprintf(tls, ts+35286 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+24 /* &.zStateDb */))) for (*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) { case RBU_STATE_STAGE: @@ -162707,31 +163213,31 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8551 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */, 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+8551 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+35301 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) + var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+35316 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) } } // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35328 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+4653 /* "stat" */, uint32(4)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35343 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+4668 /* "stat" */, uint32(4)) } else { - libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+8551 /* "main" */, uint32(4)) + libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+8566 /* "main" */, uint32(4)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35346 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+24 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35361 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+24 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 var rc int32 (*Sqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8551 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */, SQLITE_FCNTL_RBUCNT, p) if rc != SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -162764,11 +163270,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 return } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35412 /* "cannot vacuum wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35427 /* "cannot vacuum wa..." */, 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+28551 /* "file:" */, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5))) { + if (libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= Size_t(5)) && (0 == libc.Xmemcmp(tls, ts+28566 /* "file:" */, (*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)))) == '?' { @@ -162780,16 +163286,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+35444, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8551 /* "main" */), + zTarget = Xsqlite3_mprintf(tls, ts+35459, /* "file:%s-vactmp?r..." */ + libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */), func() uintptr { if zExtra == uintptr(0) { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 35476 /* "&" */ + return ts + 35491 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } return zExtra }())) @@ -162805,40 +163311,40 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+35478 /* "rbu_tmp_insert" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+35493 /* "rbu_tmp_insert" */, -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+35493 /* "rbu_fossil_delta" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + ts+35508 /* "rbu_fossil_delta" */, 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+35510 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+35525 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuTargetNameFunc})), uintptr(0), uintptr(0)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, SQLITE_FCNTL_RBU, p) } - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35526 /* "SELECT * FROM sq..." */, 0) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35541 /* "SELECT * FROM sq..." */, 0) // Mark the database file just opened as an RBU target database. If // this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. // This is an error. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, SQLITE_FCNTL_RBU, p) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35554 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35569 /* "rbu vfs not foun..." */, 0) } } @@ -162907,7 +163413,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+35526 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35541 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -162941,7 +163447,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+35572 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35587 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) if rc2 != SQLITE_INTERNAL { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -163068,16 +163574,16 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ bp := tls.Alloc(16) defer tls.Free(16) - var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */) + var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */) var zMove uintptr = zBase var zOal uintptr var zWal uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8551 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+35607 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+35614 /* "%s-wal" */, libc.VaList(bp+8, zMove)) + zOal = Xsqlite3_mprintf(tls, ts+35622 /* "%s-oal" */, libc.VaList(bp, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+35629 /* "%s-wal" */, libc.VaList(bp+8, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -163217,7 +163723,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) { /* sqlite3.c:203389:1 ((*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+28189 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28204 /* "datatype mismatc..." */, 0) return } @@ -163335,7 +163841,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // var pStmt uintptr at bp+8, 4 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8 /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+35621 /* "PRAGMA schema_ve..." */) + ts+35636 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There // is already a transaction open, so the prepared statement cannot @@ -163348,7 +163854,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35643 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35658 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) } } } @@ -163373,7 +163879,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168 /* &pInsert */, (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+35670, /* "INSERT OR REPLAC..." */ + ts+35685, /* "INSERT OR REPLAC..." */ libc.VaList(bp, p+24, /* &.zStateDb */ RBU_STATE_STAGE, eStage, RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl, @@ -163418,9 +163924,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24 /* &pPragma */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+35828 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) + Xsqlite3_mprintf(tls, ts+35843 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)))) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35843, /* "PRAGMA main.%s =..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35858, /* "PRAGMA main.%s =..." */ libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)), 0))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */))) @@ -163437,11 +163943,11 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * *(*uintptr)(unsafe.Pointer(bp /* pSql */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 4 /* pInsert */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35863 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35878 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 36 /* &.zErrmsg */), - ts+35888 /* "SELECT sql FROM ..." */) + ts+35903 /* "SELECT sql FROM ..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -163455,12 +163961,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 36 /* &.zErrmsg */), - ts+35996 /* "SELECT * FROM sq..." */) + ts+36011 /* "SELECT * FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4 /* &pInsert */, (p + 36 /* &.zErrmsg */), - ts+36061 /* "INSERT INTO sqli..." */) + ts+36076 /* "INSERT INTO sqli..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -163472,7 +163978,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* pInsert */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36105 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36120 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) @@ -163494,8 +164000,8 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // when this handle was opened, create the target database schema. if (((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FnProgress == 0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { rbuCreateTargetSchema(tls, p) - rbuCopyPragma(tls, p, ts+19151 /* "user_version" */) - rbuCopyPragma(tls, p, ts+18261 /* "application_id" */) + rbuCopyPragma(tls, p, ts+19166 /* "user_version" */) + rbuCopyPragma(tls, p, ts+18276 /* "application_id" */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl != 0) { @@ -163506,7 +164012,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // But the contents can be deleted. 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+36130 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + ts+36145 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) } } else { rbuObjIterPrepareAll(tls, p, pIter, 0) @@ -163532,10 +164038,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: rbuSaveState(tls, p, RBU_STAGE_MOVE) rbuIncrSchemaCookie(tls, p) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_MOVE } @@ -163652,7 +164158,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 if (rc == SQLITE_OK) && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36158 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36173 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -163671,7 +164177,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ bp := tls.Alloc(8) defer tls.Free(8) - var zOal uintptr = rbuMPrintf(tls, p, ts+35607 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) + var zOal uintptr = rbuMPrintf(tls, p, ts+35622 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -163693,7 +164199,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ // var zRnd [64]int8 at bp+12, 64 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+36183 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+36198 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12 /* &zRnd[0] */) @@ -163732,7 +164238,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / rc = prepareFreeAndCollectError(tls, db, bp+8 /* &pStmt */, bp+12, /* &zErrmsg */ Xsqlite3_mprintf(tls, - ts+36194 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) + ts+36209 /* "SELECT count(*) ..." */, 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 /* zErrmsg */)), -1) } else { @@ -163775,7 +164281,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+36266 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+36281 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuIndexCntFunc})), uintptr(0), uintptr(0)) @@ -163783,7 +164289,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ // occurs, nPhaseOneStep will be left set to -1. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+36280 /* "SELECT 1 FROM sq..." */) + ts+36295 /* "SELECT 1 FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { @@ -163795,7 +164301,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (bExists != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+36337 /* "SELECT sum(cnt *..." */) + ts+36352 /* "SELECT sum(cnt *..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) @@ -163841,7 +164347,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) libc.Xmemcpy(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, zRbu, (nRbu + Size_t(1))) pCsr += (uintptr(nRbu + Size_t(1))) if zState != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+936 /* "%s" */, libc.VaList(bp, zState)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+951 /* "%s" */, libc.VaList(bp, zState)) } // If the first attempt to open the database file fails and the bRetry @@ -163878,7 +164384,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+36411 /* "cannot update wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36426 /* "cannot update wa..." */, 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 @@ -163900,12 +164406,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // transaction is committed in rollback mode) currently stored on // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36443, /* "database modifie..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36458, /* "database modifie..." */ libc.VaList(bp+8, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 36475 /* "vacuum" */ + return ts + 36490 /* "vacuum" */ } - return ts + 36482 /* "update" */ + return ts + 36497 /* "update" */ }())) } } @@ -163913,7 +164419,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { var db uintptr = (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16510 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16525 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) // Point the object iterator at the first object if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -163927,24 +164433,24 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_DONE } else { if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuState)(unsafe.Pointer(pState)).FeStage == 0)) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - rbuCopyPragma(tls, p, ts+18876 /* "page_size" */) - rbuCopyPragma(tls, p, ts+18276 /* "auto_vacuum" */) + rbuCopyPragma(tls, p, ts+18891 /* "page_size" */) + rbuCopyPragma(tls, p, ts+18291 /* "auto_vacuum" */) } // Open transactions both databases. The *-oal file is opened or // created at this point. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+36489 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+36504 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } // Check if the main database is a zipvfs db. If it is, set the upper // level pager to use "journal_mode=off". This prevents it from // generating a large journal using a temp file. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var frc int32 = Xsqlite3_file_control(tls, db, ts+8551 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) + var frc int32 = Xsqlite3_file_control(tls, db, ts+8566 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) if frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, - db, ts+36505 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + db, ts+36520 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } } @@ -163997,7 +164503,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+36529 /* "-vactmp" */, (zState+uintptr((n-7))), uint32(7))) { + if (n >= 7) && (0 == libc.Xmemcmp(tls, ts+36544 /* "-vactmp" */, (zState+uintptr((n-7))), uint32(7))) { return rbuMisuseError(tls) } } @@ -164027,7 +164533,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:204232:13: */ 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+34580 /* "rbu_imp_" */, uint32(8)) == 0 { + if libc.Xmemcmp(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i)), ts+34595 /* "rbu_imp_" */, 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++ @@ -164046,7 +164552,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Commit the transaction to the *-oal file. if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } // Sync the db file if currently doing an incremental checkpoint @@ -164058,7 +164564,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } // Close any open statement handles. @@ -164070,7 +164576,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // specifying the current target and state databases to start a new // vacuum from scratch. 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+36537 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) + var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+36552 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) && (rc2 != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -164169,7 +164675,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -164186,19 +164692,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { var zBegin uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zBegin = ts + 16510 /* "BEGIN" */ + zBegin = ts + 16525 /* "BEGIN" */ } else { - zBegin = ts + 36489 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 36504 /* "BEGIN IMMEDIATE" */ } 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+36489 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36504 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -164602,7 +165108,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36564 /* "rbu/zipvfs setup..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36579 /* "rbu/zipvfs setup..." */, 0) } else if rc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p (*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu @@ -164625,7 +165131,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+36587 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + var zOut uintptr = Xsqlite3_mprintf(tls, ts+36602 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = SQLITE_NOMEM @@ -164788,7 +165294,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags // This call is to open a *-wal file. Intead, open the *-oal. var nOpen Size_t if (*Sqlite3rbu)(unsafe.Pointer(((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu))).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+8551 /* "main" */) + zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+8566 /* "main" */) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -164803,7 +165309,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+36598 /* "rbu_memory" */, 0) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+36613 /* "rbu_memory" */, 0) != 0) { oflags = ((((SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -165115,7 +165621,7 @@ var zDbstatSchema = // 9 Size of the page (sum for aggregate) // 10 Database schema being analyzed // 11 aggregate info for each table -*(*[258]int8)(unsafe.Pointer(ts + 36609 /* "CREATE TABLE x( ..." */)) /* sqlite3.c:205427:19 */ +*(*[258]int8)(unsafe.Pointer(ts + 36624 /* "CREATE TABLE x( ..." */)) /* sqlite3.c:205427:19 */ // Forward reference to data structured used in this module type StatTable1 = struct { @@ -165190,7 +165696,7 @@ func statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp Xsqlite3TokenInit(tls, bp+8 /* &nm */, *(*uintptr)(unsafe.Pointer(argv + 3*4))) iDb = Xsqlite3FindDb(tls, db, bp+8 /* &nm */) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+13885 /* "no such database..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+13900 /* "no such database..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*4)))) return SQLITE_ERROR } } else { @@ -165713,7 +166219,7 @@ __5: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __6 } - (*StatPage)(unsafe.Pointer((pCsr + 16 /* &.aPage */))).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36867 /* "/" */, 0)) + (*StatPage)(unsafe.Pointer((pCsr + 16 /* &.aPage */))).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36882 /* "/" */, 0)) if !(z == uintptr(0)) { goto __7 } @@ -165771,9 +166277,9 @@ __14: } (*StatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*StatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*StatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*U32)(unsafe.Pointer((*StatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36869 /* "overflow" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36884 /* "overflow" */ (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, - ts+36878 /* "%s%.3x+%.6x" */, libc.VaList(bp, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell, iOvfl))) + ts+36893 /* "%s%.3x+%.6x" */, libc.VaList(bp, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell, iOvfl))) if z == uintptr(0) { return SQLITE_NOMEM } @@ -165841,7 +166347,7 @@ __23: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __24 } - (*StatPage)(unsafe.Pointer(p + 1*40)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36890 /* "%s%.3x/" */, libc.VaList(bp+24, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) + (*StatPage)(unsafe.Pointer(p + 1*40)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36905 /* "%s%.3x/" */, libc.VaList(bp+24, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) if !(z == uintptr(0)) { goto __25 } @@ -165884,14 +166390,14 @@ __2: goto __28 __29: // table internal __30: // index internal - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36898 /* "internal" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36913 /* "internal" */ goto __28 __31: // table leaf __32: // index leaf - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36907 /* "leaf" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36922 /* "leaf" */ goto __28 __33: - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36912 /* "corrupted" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36927 /* "corrupted" */ goto __28 __28: ; @@ -165906,7 +166412,7 @@ __34: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __35 } - (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+40, (*StatPage)(unsafe.Pointer(p1)).FzPath))) + (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+40, (*StatPage)(unsafe.Pointer(p1)).FzPath))) if !(z == uintptr(0)) { goto __36 } @@ -165995,13 +166501,13 @@ func statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, ar pSql = Xsqlite3_str_new(tls, (*StatTable)(unsafe.Pointer(pTab)).Fdb) Xsqlite3_str_appendf(tls, pSql, - ts+36922, /* "SELECT * FROM (S..." */ + ts+36937, /* "SELECT * FROM (S..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*StatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb+uintptr((*StatCursor)(unsafe.Pointer(pCsr)).FiDb)*16)).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, ts+37077 /* "WHERE name=%Q" */, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, ts+37092 /* "WHERE name=%Q" */, libc.VaList(bp+8, zName)) } if (idxNum & 0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, ts+37091 /* " ORDER BY name" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+37106 /* " ORDER BY name" */, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -166086,7 +166592,7 @@ func statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite // Invoke this routine to register the "dbstat" virtual table module func Xsqlite3DbstatRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:206190:20: */ - return Xsqlite3_create_module(tls, db, ts+37106 /* "dbstat" */, uintptr(unsafe.Pointer(&dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, ts+37121 /* "dbstat" */, uintptr(unsafe.Pointer(&dbstat_module)), uintptr(0)) } var dbstat_module = Sqlite3_module{ // iVersion @@ -166201,7 +166707,7 @@ func dbpageConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_DIRECTONLY, 0) rc = Xsqlite3_declare_vtab(tls, db, - ts+37113 /* "CREATE TABLE x(p..." */) + ts+37128 /* "CREATE TABLE x(p..." */) if rc == SQLITE_OK { pTab = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(DbpageTable{}))) if pTab == uintptr(0) { @@ -166449,14 +166955,14 @@ func dbpageUpdate(tls *libc.TLS, pVtab uintptr, argc int32, argv uintptr, pRowid if !(((*Sqlite3)(unsafe.Pointer((*DbpageTable)(unsafe.Pointer(pTab)).Fdb)).Fflags & uint64(SQLITE_Defensive)) != 0) { goto __1 } - zErr = ts + 37180 /* "read-only" */ + zErr = ts + 37195 /* "read-only" */ goto update_fail __1: ; if !(argc == 1) { goto __2 } - zErr = ts + 37190 /* "cannot delete" */ + zErr = ts + 37205 /* "cannot delete" */ goto update_fail __2: ; @@ -166464,7 +166970,7 @@ __2: if !(Pgno(Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4)))) != pgno) { goto __3 } - zErr = ts + 37204 /* "cannot insert" */ + zErr = ts + 37219 /* "cannot insert" */ goto update_fail __3: ; @@ -166477,7 +166983,7 @@ __3: if !(iDb < 0) { goto __4 } - zErr = ts + 37218 /* "no such schema" */ + zErr = ts + 37233 /* "no such schema" */ goto update_fail __4: ; @@ -166485,7 +166991,7 @@ __4: if !(((pgno < Pgno(1)) || (pBt == uintptr(0))) || (pgno > Pgno(int32(Xsqlite3BtreeLastPage(tls, pBt))))) { goto __5 } - zErr = ts + 37233 /* "bad page number" */ + zErr = ts + 37248 /* "bad page number" */ goto update_fail __5: ; @@ -166494,7 +167000,7 @@ __5: (Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))) != szPage)) { goto __6 } - zErr = ts + 37249 /* "bad page value" */ + zErr = ts + 37264 /* "bad page value" */ goto update_fail __6: ; @@ -166519,7 +167025,7 @@ __7: update_fail: Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, zErr)) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, zErr)) return SQLITE_ERROR } @@ -166541,7 +167047,7 @@ func dbpageBegin(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:206594:12: * // Invoke this routine to register the "dbpage" virtual table module func Xsqlite3DbpageRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:206609:20: */ - return Xsqlite3_create_module(tls, db, ts+37264 /* "sqlite_dbpage" */, uintptr(unsafe.Pointer(&dbpage_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, ts+37279 /* "sqlite_dbpage" */, uintptr(unsafe.Pointer(&dbpage_module)), uintptr(0)) } var dbpage_module = Sqlite3_module{ // iVersion @@ -166564,6 +167070,5604 @@ var dbpage_module = Sqlite3_module{ // iVersion //************* End of dbpage.c ********************************************* //************* Begin file sqlite3session.c ********************************* +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable1 = struct { + FpNext uintptr + FzName uintptr + FnCol int32 + FbStat1 int32 + FazCol uintptr + FabPK uintptr + FnEntry int32 + FnChange int32 + FapChange uintptr +} /* sqlite3.c:11155:9 */ + +//************* End of dbpage.c ********************************************* +//************* Begin file sqlite3session.c ********************************* + +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ +type SessionChange1 = struct { + Fop U8 + FbIndirect U8 + _ [2]byte + FnMaxSize int32 + FnRecord int32 + FaRecord uintptr + FpNext uintptr +} /* sqlite3.c:11155:9 */ + +type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ +type SessionBuffer1 = struct { + FaBuf uintptr + FnBuf int32 + FnAlloc int32 +} /* sqlite3.c:11163:9 */ + +type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ +type SessionInput1 = struct { + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + FaData uintptr + FnData int32 + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 +} /* sqlite3.c:11163:9 */ + +type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ + +// Minimum chunk size used by streaming versions of functions. + +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:206671:12 */ + +type SessionHook1 = struct { + FpCtx uintptr + FxOld uintptr + FxNew uintptr + FxCount uintptr + FxDepth uintptr +} /* sqlite3.c:11155:9 */ + +type SessionHook = SessionHook1 /* sqlite3.c:206673:28 */ + +// Write a varint with value iVal into the buffer at aBuf. Return the +// number of bytes written. +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:206951:12: */ + return int32(func() uint8 { + if (U32(iVal)) < U32(0x80) { + return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) + } + return uint8(Xsqlite3PutVarint(tls, aBuf, uint64(iVal))) + }()) +} + +// Return the number of bytes required to store value iVal as a varint. +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:206958:12: */ + return Xsqlite3VarintLen(tls, uint64(iVal)) +} + +// Read a varint value from aBuf[] into *piVal. Return the number of +// bytes read. +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:206966:12: */ + return int32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { + return uint8(func() int32 { (*(*int32)(unsafe.Pointer(piVal))) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) + } + return Xsqlite3GetVarint32(tls, aBuf, piVal) + }()) +} + +// Load an unaligned and unsigned 32-bit integer + +// Read a 64-bit big-endian integer value from buffer aRec[]. Return +// the value read. +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:206977:22: */ + var x U64 = (U64((((U32(*(*U8)(unsafe.Pointer((aRec)))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec) + 3))))) + var y U32 = ((((U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4))))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 3)))) + x = ((x << 32) + U64(y)) + return Sqlite3_int64(x) +} + +// Write a 64-bit big-endian integer value to the buffer aBuf[]. +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:206987:13: */ + *(*U8)(unsafe.Pointer(aBuf)) = (U8((i >> 56) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 1)) = (U8((i >> 48) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 2)) = (U8((i >> 40) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 3)) = (U8((i >> 32) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 4)) = (U8((i >> 24) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 5)) = (U8((i >> 16) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 6)) = (U8((i >> 8) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 7)) = (U8((i >> 0) & int64(0xFF))) +} + +// This function is used to serialize the contents of value pValue (see +// comment titled "RECORD FORMAT" above). +// +// If it is non-NULL, the serialized form of the value is written to +// buffer aBuf. *pnWrite is set to the number of bytes written before +// returning. Or, if aBuf is NULL, the only thing this function does is +// set *pnWrite. +// +// If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs +// within a call to sqlite3_value_text() (may fail if the db is utf-16)) +// SQLITE_NOMEM is returned. +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:207011:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var nByte int32 // Size of serialized value in bytes + + if pValue != 0 { + var eType int32 // Value type (SQLITE_NULL, TEXT etc.) + + eType = Xsqlite3_value_type(tls, pValue) + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(eType) + } + + switch eType { + case SQLITE_NULL: + nByte = 1 + break + fallthrough + + case SQLITE_INTEGER: + fallthrough + case SQLITE_FLOAT: + if aBuf != 0 { + // TODO: SQLite does something special to deal with mixed-endian + // floating point values (e.g. ARM7). This code probably should + // too. + // var i U64 at bp, 8 + + if eType == SQLITE_INTEGER { + *(*U64)(unsafe.Pointer(bp /* i */)) = U64(Xsqlite3_value_int64(tls, pValue)) + } else { + // var r float64 at bp+8, 8 + + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_value_double(tls, pValue) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint32(8)) + } + sessionPutI64(tls, (aBuf + 1), int64(*(*U64)(unsafe.Pointer(bp /* i */)))) + } + nByte = 9 + break + fallthrough + + default: + { + var z uintptr + var n int32 + var nVarint int32 + + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, pValue) + } else { + z = Xsqlite3_value_blob(tls, pValue) + } + n = Xsqlite3_value_bytes(tls, pValue) + if (z == uintptr(0)) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + nVarint = sessionVarintLen(tls, n) + + if aBuf != 0 { + sessionVarintPut(tls, (aBuf + 1), n) + if n != 0 { + libc.Xmemcpy(tls, (aBuf + uintptr((nVarint + 1))), z, uint32(n)) + } + } + + nByte = ((1 + nVarint) + n) + break + + } + } + } else { + nByte = 1 + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(0) + } + } + + if pnWrite != 0 { + *(*Sqlite3_int64)(unsafe.Pointer(pnWrite)) += (Sqlite3_int64(nByte)) + } + return SQLITE_OK +} + +// Allocate and return a pointer to a buffer nByte bytes in size. If +// pSession is not NULL, increase the sqlite3_session.nMalloc variable +// by the number of bytes allocated. +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:207087:13: */ + var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 36 /* &.nMalloc */)) += I64((Xsqlite3_msize(tls, pRet))) + } + return pRet +} + +// Free buffer pFree, which must have been allocated by an earlier +// call to sessionMalloc64(). If pSession is not NULL, decrease the +// sqlite3_session.nMalloc counter by the number of bytes freed. +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:207098:13: */ + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 36 /* &.nMalloc */)) -= I64((Xsqlite3_msize(tls, pFree))) + } + Xsqlite3_free(tls, pFree) +} + +// This macro is used to calculate hash key values for data structures. In +// order to use this macro, the entire data structure must be represented +// as a series of unsigned integers. In order to calculate a hash-key value +// for a data structure represented as three such integers, the macro may +// then be used as follows: +// +// int hash_key_value; +// hash_key_value = HASH_APPEND(0, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// +// In practice, the data structures this macro is used for are the primary +// key values of modified rows. + +// Append the hash of the 64-bit integer passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:207124:21: */ + h = ((((h) << 3) ^ (h)) ^ (uint32(i & int64(0xFFFFFFFF)))) + return ((((h) << 3) ^ (h)) ^ (uint32((i >> 32) & int64(0xFFFFFFFF)))) +} + +// Append the hash of the blob passed via the second and third arguments to +// the hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:207133:21: */ + var i int32 + for i = 0; i < n; i++ { + h = ((((h) << 3) ^ (h)) ^ (uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))))) + } + return h +} + +// Append the hash of the data type passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:207143:21: */ + return ((((h) << 3) ^ (h)) ^ (uint32(eType))) +} + +// This function may only be called from within a pre-update callback. +// It calculates a hash based on the primary key values of the old.* or +// new.* row currently available and, assuming no error occurs, writes it to +// *piHash before returning. If the primary key contains one or more NULL +// values, *pbNullPK is set to true before returning. +// +// If an error occurs, an SQLite error code is returned and the final values +// of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned +// and the output variables are set as described above. +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:207158:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var h uint32 = uint32(0) // Hash value to return + var i int32 // Used to iterate through columns + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0 { + var rc int32 + var eType int32 + // var pVal uintptr at bp, 4 + + if bNew != 0 { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } else { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } + if rc != SQLITE_OK { + return rc + } + + eType = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var iVal I64 at bp+4, 8 + + if eType == SQLITE_INTEGER { + *(*I64)(unsafe.Pointer(bp + 4 /* iVal */)) = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + *(*float64)(unsafe.Pointer(bp + 12 /* rVal */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + + libc.Xmemcpy(tls, bp+4 /* &iVal */, bp+12 /* &rVal */, uint32(8)) + } + h = sessionHashAppendI64(tls, h, *(*I64)(unsafe.Pointer(bp + 4 /* iVal */))) + } else if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + var z uintptr + var n int32 + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + n = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + if !(z != 0) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + h = sessionHashAppendBlob(tls, h, n, z) + } else { + + *(*int32)(unsafe.Pointer(pbNullPK)) = 1 + } + } + } + + *(*int32)(unsafe.Pointer(piHash)) = (int32(h % uint32((*SessionTable)(unsafe.Pointer(pTab)).FnChange))) + return SQLITE_OK +} + +// The buffer that the argument points to contains a serialized SQL value. +// Return the number of bytes of space occupied by the value (including +// the type byte). +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:207223:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var e int32 = int32(*(*U8)(unsafe.Pointer(a))) + // var n int32 at bp, 4 + + if (e == 0) || (e == 0xFF) { + return 1 + } + if e == SQLITE_NULL { + return 1 + } + if (e == SQLITE_INTEGER) || (e == SQLITE_FLOAT) { + return 9 + } + return ((sessionVarintGet(tls, (a+1), bp /* &n */) + 1) + *(*int32)(unsafe.Pointer(bp /* n */))) +} + +// Based on the primary key values stored in change aRecord, calculate a +// hash key. Assume the has table has nBucket buckets. The hash keys +// calculated by this function are compatible with those calculated by +// sessionPreupdateHash(). +// +// The bPkOnly argument is non-zero if the record at aRecord[] is from +// a patchset DELETE. In this case the non-PK fields are omitted entirely. +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:207241:21: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var h uint32 = uint32(0) // Value to return + var i int32 // Used to iterate through columns + var a uintptr = aRecord // Used to iterate through change record + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(a))) + var isPK int32 = int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) + if (bPkOnly != 0) && (isPK == 0) { + continue + } + + // It is not possible for eType to be SQLITE_NULL here. The session + // module does not record changes for rows with NULL values stored in + // primary key columns. + + if isPK != 0 { + a++ + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + h = sessionHashAppendI64(tls, h, sessionGetI64(tls, a)) + a += uintptr(8) + } else { + // var n int32 at bp, 4 + + a += uintptr(sessionVarintGet(tls, a, bp /* &n */)) + h = sessionHashAppendBlob(tls, h, *(*int32)(unsafe.Pointer(bp /* n */)), a) + a += uintptr(*(*int32)(unsafe.Pointer(bp /* n */))) + } + } else { + a += uintptr(sessionSerialLen(tls, a)) + } + } + return (h % uint32(nBucket)) +} + +// Arguments aLeft and aRight are pointers to change records for table pTab. +// This function returns true if the two records apply to the same row (i.e. +// have the same values stored in the primary key columns), or false +// otherwise. +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:207290:12: */ + var a1 uintptr = aLeft // Cursor to iterate through aLeft + var a2 uintptr = aRight // Cursor to iterate through aRight + var iCol int32 // Used to iterate through table columns + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol))) != 0 { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + + if (n1 != n2) || (libc.Xmemcmp(tls, a1, a2, uint32(n1)) != 0) { + return 0 + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } else { + if bLeftPkOnly == 0 { + a1 += uintptr(sessionSerialLen(tls, a1)) + } + if bRightPkOnly == 0 { + a2 += uintptr(sessionSerialLen(tls, a2)) + } + } + } + + return 1 +} + +// Arguments aLeft and aRight both point to buffers containing change +// records with nCol columns. This function "merges" the two records into +// a single records which is written to the buffer at *paOut. *paOut is +// then set to point to one byte after the last byte written before +// returning. +// +// The merging of records is done as follows: For each column, if the +// aRight record contains a value for the column, copy the value from +// their. Otherwise, if aLeft contains a value, copy it. If neither +// record contains a value for a given column, then neither does the +// output record. +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:207333:13: */ + var a1 uintptr = aLeft // Cursor used to iterate through aLeft + var a2 uintptr = aRight // Cursor used to iterate through aRight + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor + var iCol int32 // Used to iterate from 0 to nCol + + for iCol = 0; iCol < nCol; iCol++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + libc.Xmemcpy(tls, aOut, a2, uint32(n2)) + aOut += uintptr(n2) + } else { + libc.Xmemcpy(tls, aOut, a1, uint32(n1)) + aOut += uintptr(n1) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut +} + +// This is a helper function used by sessionMergeUpdate(). +// +// When this function is called, both *paOne and *paTwo point to a value +// within a change record. Before it returns, both have been advanced so +// as to point to the next value in the record. +// +// If, when this function is called, *paTwo points to a valid value (i.e. +// *paTwo[0] is not 0x00 - the "no value" placeholder), a copy of the *paTwo +// pointer is returned and *pnVal is set to the number of bytes in the +// serialized value. Otherwise, a copy of *paOne is returned and *pnVal +// set to the number of bytes in the value at *paOne. If *paOne points +// to the "no value" placeholder, *pnVal is set to 1. In other words: +// +// if( *paTwo is valid ) return *paTwo; +// return *paOne; +// +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:207379:11: */ + var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) + var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) + var pRet uintptr = uintptr(0) + var n1 int32 + + if a2 != 0 { + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + *(*int32)(unsafe.Pointer(pnVal)) = n2 + pRet = a2 + } + *(*uintptr)(unsafe.Pointer(paTwo)) = (a2 + uintptr(n2)) + } + + n1 = sessionSerialLen(tls, a1) + if pRet == uintptr(0) { + *(*int32)(unsafe.Pointer(pnVal)) = n1 + pRet = a1 + } + *(*uintptr)(unsafe.Pointer(paOne)) = (a1 + uintptr(n1)) + + return pRet +} + +// This function is used by changeset_concat() to merge two UPDATE changes +// on the same row. +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:207413:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 4 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 12 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 16 /* aNew2 */)) = aNewRecord2 + + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) + var i int32 + + if bPatchset == 0 { + var bRequired int32 = 0 + + // Write the old.* vector first. + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+8, 4 + + var aOld uintptr + // var nNew int32 at bp+20, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+4 /* &aOld2 */, bp+8 /* &nOld */) + aNew = sessionMergeValue(tls, bp+12 /* &aNew1 */, bp+16 /* &aNew2 */, bp+20 /* &nNew */) + if ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* nOld */)) != *(*int32)(unsafe.Pointer(bp + 20 /* nNew */)))) || (libc.Xmemcmp(tls, aOld, aNew, uint32(*(*int32)(unsafe.Pointer(bp + 20 /* nNew */)))) != 0) { + if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + bRequired = 1 + } + libc.Xmemcpy(tls, aOut, aOld, uint32(*(*int32)(unsafe.Pointer(bp + 8 /* nOld */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* nOld */))) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } + } + + if !(bRequired != 0) { + return 0 + } + } + + // Write the new.* vector + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 4 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 12 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 16 /* aNew2 */)) = aNewRecord2 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+24, 4 + + var aOld uintptr + // var nNew int32 at bp+28, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+4 /* &aOld2 */, bp+24 /* &nOld */) + aNew = sessionMergeValue(tls, bp+12 /* &aNew1 */, bp+16 /* &aNew2 */, bp+28 /* &nNew */) + if (bPatchset == 0) && + ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || ((*(*int32)(unsafe.Pointer(bp + 24 /* nOld */)) == *(*int32)(unsafe.Pointer(bp + 28 /* nNew */))) && (0 == libc.Xmemcmp(tls, aOld, aNew, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nNew */))))))) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } else { + libc.Xmemcpy(tls, aOut, aNew, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nNew */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 28 /* nNew */))) + } + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut + return 1 +} + +// This function is only called from within a pre-update-hook callback. +// It determines if the current pre-update-hook change affects the same row +// as the change stored in argument pChange. If so, it returns true. Otherwise +// if the pre-update-hook does not affect the same row as pChange, it returns +// false. +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:207490:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var iCol int32 // Used to iterate through columns + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord // Cursor used to scan change record + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol)))) != 0) { + a += uintptr(sessionSerialLen(tls, a)) + } else { + // var pVal uintptr at bp, 4 + // Value returned by preupdate_new/old + var rc int32 + _ = rc // Error code from preupdate_new/old + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) // Type of value from change record + + // The following calls to preupdate_new() and preupdate_old() can not + // fail. This is because they cache their return values, and by the + // time control flows to here they have already been called once from + // within sessionPreupdateHash(). The first two asserts below verify + // this (that the method has already been called). + if op == SQLITE_INSERT { + // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } else { + // assert( db->pPreUpdate->pUnpacked ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } + + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { + return 0 + } + + // A SessionChange object never has a NULL value in a PK column + + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*I64)(unsafe.Pointer(bp + 12 /* iVal */)) = sessionGetI64(tls, a) + a += uintptr(8) + if eType == SQLITE_INTEGER { + if Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*I64)(unsafe.Pointer(bp + 12 /* iVal */)) { + return 0 + } + } else { + // var rVal float64 at bp+4, 8 + + libc.Xmemcpy(tls, bp+4 /* &rVal */, bp+12 /* &iVal */, uint32(8)) + if Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*float64)(unsafe.Pointer(bp + 4 /* rVal */)) { + return 0 + } + } + } else { + // var n int32 at bp+20, 4 + + var z uintptr + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*int32)(unsafe.Pointer(bp + 20 /* n */)) { + return 0 + } + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + if (*(*int32)(unsafe.Pointer(bp + 20 /* n */)) > 0) && (libc.Xmemcmp(tls, a, z, uint32(*(*int32)(unsafe.Pointer(bp + 20 /* n */)))) != 0) { + return 0 + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + } + } + } + + return 1 +} + +// If required, grow the hash table used to store changes on table pTab +// (part of the session pSession). If a fatal OOM error occurs, set the +// session object to failed and return SQLITE_ERROR. Otherwise, return +// SQLITE_OK. +// +// It is possible that a non-fatal OOM error occurs in this function. In +// that case the hash-table does not grow, but SQLITE_OK is returned anyway. +// Growing the hash table in this case is a performance optimization only, +// it is not required for correct operation. +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:207569:12: */ + if ((*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= ((*SessionTable)(unsafe.Pointer(pTab)).FnChange / 2)) { + var i int32 + var apNew uintptr + var nNew Sqlite3_int64 = (int64(2) * (func() int64 { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange != 0 { + return int64((*SessionTable)(unsafe.Pointer(pTab)).FnChange) + } + return int64(128) + }())) + + apNew = sessionMalloc64(tls, + pSession, (Sqlite3_int64(unsafe.Sizeof(uintptr(0))) * nNew)) + if apNew == uintptr(0) { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 { + return SQLITE_ERROR + } + return SQLITE_OK + } + libc.Xmemset(tls, apNew, 0, (uint32(Sqlite3_int64(unsafe.Sizeof(uintptr(0))) * nNew))) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNext uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); p != 0; p = pNext { + var bPkOnly int32 = (libc.Bool32((int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_DELETE) && (bPatchset != 0))) + var iHash int32 = int32(sessionChangeHash(tls, pTab, bPkOnly, (*SessionChange)(unsafe.Pointer(p)).FaRecord, int32(nNew))) + pNext = (*SessionChange)(unsafe.Pointer(p)).FpNext + (*SessionChange)(unsafe.Pointer(p)).FpNext = *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*4)) + *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*4)) = p + } + } + + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + (*SessionTable)(unsafe.Pointer(pTab)).FnChange = int32(nNew) + (*SessionTable)(unsafe.Pointer(pTab)).FapChange = apNew + } + + return SQLITE_OK +} + +// This function queries the database for the names of the columns of table +// zThis, in schema zDb. +// +// Otherwise, if they are not NULL, variable *pnCol is set to the number +// of columns in the database table and variable *pzTab is set to point to a +// nul-terminated copy of the table name. *pazCol (if not NULL) is set to +// point to an array of pointers to column names. And *pabPK (again, if not +// NULL) is set to point to an array of booleans - true if the corresponding +// column is part of the primary key. +// +// For example, if the table is declared as: +// +// CREATE TABLE tbl1(w, x, y, z, PRIMARY KEY(w, z)); +// +// Then the four output variables are populated as follows: +// +// *pnCol = 4 +// *pzTab = "tbl1" +// *pazCol = {"w", "x", "y", "z"} +// *pabPK = {1, 0, 0, 1} +// +// All returned buffers are part of the same single allocation, which must +// be freed using sqlite3_free() by the caller +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var zPragma uintptr + // var pStmt uintptr at bp+16, 4 + + var rc int32 + var nByte Sqlite3_int64 + var nDbCol int32 = 0 + var nThis int32 + var i int32 + var pAlloc uintptr = uintptr(0) + var azCol uintptr = uintptr(0) + var abPK uintptr = uintptr(0) + + nThis = Xsqlite3Strlen30(tls, zThis) + if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+13346 /* "sqlite_stat1" */, zThis)) { + 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 { + // For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. + zPragma = Xsqlite3_mprintf(tls, + + ts+37293 /* "SELECT 0, 'tbl',..." */, 0) + } else if rc == SQLITE_ERROR { + zPragma = Xsqlite3_mprintf(tls, ts+915 /* "" */, 0) + } else { + return rc + } + } else { + zPragma = Xsqlite3_mprintf(tls, ts+37414 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + } + if !(zPragma != 0) { + return SQLITE_NOMEM + } + + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+16 /* &pStmt */, uintptr(0)) + Xsqlite3_free(tls, zPragma) + if rc != SQLITE_OK { + return rc + } + + nByte = (Sqlite3_int64(nThis + 1)) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) + nDbCol++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + if rc == SQLITE_OK { + nByte = nByte + (Sqlite3_int64(uint32(nDbCol) * ((uint32(unsafe.Sizeof(uintptr(0))) + uint32(unsafe.Sizeof(U8(0)))) + uint32(1)))) + pAlloc = sessionMalloc64(tls, pSession, nByte) + if pAlloc == uintptr(0) { + rc = SQLITE_NOMEM + } + } + if rc == SQLITE_OK { + azCol = pAlloc + pAlloc = (azCol + uintptr(nDbCol)*4) + abPK = pAlloc + pAlloc = (abPK + uintptr(nDbCol)) + if pzTab != 0 { + libc.Xmemcpy(tls, pAlloc, zThis, (uint32(nThis + 1))) + *(*uintptr)(unsafe.Pointer(pzTab)) = pAlloc + pAlloc += (uintptr(nThis + 1)) + } + + i = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + if zName == uintptr(0) { + break + } + libc.Xmemcpy(tls, pAlloc, zName, (uint32(nName + 1))) + *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)) = pAlloc + pAlloc += (uintptr(nName + 1)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 5)) + i++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + } + + // If successful, populate the output variables. Otherwise, zero them and + // free any allocation made. An error code will be returned in this case. + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pazCol)) = azCol + *(*uintptr)(unsafe.Pointer(pabPK)) = abPK + *(*int32)(unsafe.Pointer(pnCol)) = nDbCol + } else { + *(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pabPK)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnCol)) = 0 + if pzTab != 0 { + *(*uintptr)(unsafe.Pointer(pzTab)) = uintptr(0) + } + sessionFree(tls, pSession, azCol) + } + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + return rc +} + +// This function is only called from within a pre-update handler for a +// write to table pTab, part of session pSession. If this is the first +// write to this table, initalize the SessionTable.nCol, azCol[] and +// abPK[] arrays accordingly. +// +// If an error occurs, an error code is stored in sqlite3_session.rc and +// non-zero returned. Or, if no error occurs but the table has no primary +// key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to +// indicate that updates on this table should be ignored. SessionTable.abPK +// is set to NULL in this case. +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:207752:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + if (*SessionTable)(unsafe.Pointer(pTab)).FnCol == 0 { + // var abPK uintptr at bp, 4 + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionTableInfo(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, + (*SessionTable)(unsafe.Pointer(pTab)).FzName, (pTab + 8 /* &.nCol */), uintptr(0), (pTab + 16 /* &.azCol */), bp /* &abPK */) + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc == SQLITE_OK { + var i int32 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* abPK */)) + uintptr(i))) != 0 { + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = *(*uintptr)(unsafe.Pointer(bp /* abPK */)) + break + } + } + if 0 == Xsqlite3_stricmp(tls, ts+13346 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { + *(*I64)(unsafe.Pointer(pSession + 44 /* &.nMaxChangesetSize */)) += (I64(((Size_t((1 + sessionVarintLen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + Size_t(1))) + } + } + } + return (libc.Bool32(((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FabPK == uintptr(0)))) +} + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx1 = struct { + Fhook SessionHook + FpSession uintptr +} /* sqlite3.c:207787:9 */ + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:207787:32 */ + +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207792:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 4 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207802:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 12 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ + bp := tls.Alloc(36) + defer tls.Free(36) + + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) = int64(2) + if int32((*SessionChange)(unsafe.Pointer(pC)).Fop) == SQLITE_INSERT { + if op != SQLITE_DELETE { + var ii int32 + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+4 /* &nNew */) + } + } + } else if op == SQLITE_DELETE { + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + if Xsqlite3_preupdate_blobwrite(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb) >= 0 { + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + } + } else { + var ii int32 + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(pC)).FaRecord + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + var bChanged int32 = 1 + var nOld int32 = 0 + var eType int32 + *(*uintptr)(unsafe.Pointer(bp + 12 /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+12 /* &p */) + if *(*uintptr)(unsafe.Pointer(bp + 12 /* p */)) == uintptr(0) { + return SQLITE_NOMEM + } + + eType = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pCsr, 1)))) + switch eType { + case SQLITE_NULL: + bChanged = (libc.Bool32(Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */))) != SQLITE_NULL)) + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + if eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */))) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 24 /* iVal */)) = sessionGetI64(tls, pCsr) + if eType == SQLITE_INTEGER { + bChanged = (libc.Bool32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 24 /* iVal */)) != Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */))))) + } else { + // var dVal float64 at bp+16, 8 + + libc.Xmemcpy(tls, bp+16 /* &dVal */, bp+24 /* &iVal */, uint32(8)) + bChanged = (libc.Bool32(*(*float64)(unsafe.Pointer(bp + 16 /* dVal */)) != Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */))))) + } + } + nOld = 8 + pCsr += uintptr(8) + break + + } + fallthrough + + default: + { + // var nByte int32 at bp+32, 4 + + nOld = sessionVarintGet(tls, pCsr, bp+32 /* &nByte */) + pCsr += uintptr(nOld) + nOld = nOld + (*(*int32)(unsafe.Pointer(bp + 32 /* nByte */))) + + if ((eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */)))) && + (*(*int32)(unsafe.Pointer(bp + 32 /* nByte */)) == Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */))))) && + ((*(*int32)(unsafe.Pointer(bp + 32 /* nByte */)) == 0) || (0 == libc.Xmemcmp(tls, pCsr, Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* p */))), uint32(*(*int32)(unsafe.Pointer(bp + 32 /* nByte */)))))) { + bChanged = 0 + } + pCsr += uintptr(*(*int32)(unsafe.Pointer(bp + 32 /* nByte */))) + break + + } + } + + if (bChanged != 0) && (*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0) { + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) = (I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord + 2)) + break + } + + if bChanged != 0 { + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) += (I64(1 + nOld)) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 12 /* p */)), bp+4 /* &nNew */) + } else if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0 { + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) += (I64(2 + nOld)) + } else { + *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) += int64(2) + } + } + } + + if *(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) > I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize) { + var nIncr int32 = (int32(*(*I64)(unsafe.Pointer(bp + 4 /* nNew */)) - I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize))) + (*SessionChange)(unsafe.Pointer(pC)).FnMaxSize = int32(*(*I64)(unsafe.Pointer(bp + 4 /* nNew */))) + *(*I64)(unsafe.Pointer(pSession + 44 /* &.nMaxChangesetSize */)) += (I64(nIncr)) + } + return SQLITE_OK +} + +// This function is only called from with a pre-update-hook reporting a +// change on table pTab (attached to session pSession). The type of change +// (UPDATE, INSERT, DELETE) is specified by the first argument. +// +// Unless one is already present or an error occurs, an entry is added +// to the changed-rows hash table associated with table pTab. +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:207927:13: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + // var iHash int32 at bp+24, 4 + + // var bNull int32 at bp+28, 4 + + var rc int32 + // var stat1 SessionStat1Ctx at bp, 24 + + var p uintptr + // var p1 uintptr at bp+32, 4 + + // var p2 uintptr at bp+44, 4 + + // Create a new change object containing all the old values (if + // this is an SQLITE_UPDATE or SQLITE_DELETE), or just the PK + // values (if this is an INSERT). + // var nByte Sqlite3_int64 at bp+36, 8 + // Number of bytes to allocate + var i int32 + // Search the hash table for an existing record for this row. + var pC uintptr + *(*int32)(unsafe.Pointer(bp + 28 /* bNull */)) = 0 + rc = SQLITE_OK + *(*SessionStat1Ctx)(unsafe.Pointer(bp /* stat1 */)) = SessionStat1Ctx{} + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) { + goto __1 + } + return +__1: + ; + + // Load table details if required + if !(sessionInitTable(tls, pSession, pTab) != 0) { + goto __2 + } + return +__2: + ; + + // Check the number of columns in this xPreUpdate call matches the + // number of columns in the table. + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 12 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + goto __3 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA + return +__3: + ; + + // Grow the hash table if required + if !(sessionGrowHash(tls, pSession, 0, pTab) != 0) { + goto __4 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_NOMEM + return +__4: + ; + + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __5 + } + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).FpSession = pSession + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = bp /* &stat1 */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1New})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1Old})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Count})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Depth})) + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob == uintptr(0)) { + goto __6 + } + p = Xsqlite3ValueNew(tls, uintptr(0)) + if !(p == uintptr(0)) { + goto __7 + } + rc = SQLITE_NOMEM + goto error_out +__7: + ; + Xsqlite3ValueSetStr(tls, p, 0, ts+915 /* "" */, uint8(0), uintptr(0)) + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p +__6: + ; +__5: + ; + + // Calculate the hash-key for this change. If the primary key of the row + // includes a NULL value, exit early. Such changes are ignored by the + // session module. + rc = sessionPreupdateHash(tls, pSession, pTab, (libc.Bool32(op == SQLITE_INSERT)), bp+24 /* &iHash */, bp+28 /* &bNull */) + if !(rc != SQLITE_OK) { + goto __8 + } + goto error_out +__8: + ; + + if !(*(*int32)(unsafe.Pointer(bp + 28 /* bNull */)) == 0) { + goto __9 + } + pC = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* iHash */)))*4)) +__10: + if !(pC != 0) { + goto __12 + } + if !(sessionPreupdateEqual(tls, pSession, pTab, pC, op) != 0) { + goto __13 + } + goto __12 +__13: + ; + goto __11 +__11: + pC = (*SessionChange)(unsafe.Pointer(pC)).FpNext + goto __10 + goto __12 +__12: + ; + + if !(pC == uintptr(0)) { + goto __14 + } // Used to iterate through columns + + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + + // Figure out how large an allocation is required + *(*Sqlite3_int64)(unsafe.Pointer(bp + 36 /* nByte */)) = Sqlite3_int64(unsafe.Sizeof(SessionChange{})) + i = 0 +__16: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __18 + } + *(*uintptr)(unsafe.Pointer(bp + 32 /* p1 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __19 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &p1 */) + + goto __20 +__19: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __21 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &p1 */) + +__21: + ; +__20: + ; + + // This may fail if SQLite value p contains a utf-16 string that must + // be converted to utf-8 and an OOM error occurs while doing so. + rc = sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 32 /* p1 */)), bp+36 /* &nByte */) + if !(rc != SQLITE_OK) { + goto __22 + } + goto error_out +__22: + ; + goto __17 +__17: + i++ + goto __16 + goto __18 +__18: + ; + + // Allocate the change object + pC = sessionMalloc64(tls, pSession, *(*Sqlite3_int64)(unsafe.Pointer(bp + 36 /* nByte */))) + if !(!(pC != 0)) { + goto __23 + } + rc = SQLITE_NOMEM + goto error_out + goto __24 +__23: + libc.Xmemset(tls, pC, 0, uint32(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pC)).FaRecord = (pC + 1*20) +__24: + ; + + // Populate the change object. None of the preupdate_old(), + // preupdate_new() or SerializeValue() calls below may fail as all + // required values and encodings have already been cached in memory. + // It is not possible for an OOM to occur in this block. + *(*Sqlite3_int64)(unsafe.Pointer(bp + 36 /* nByte */)) = int64(0) + i = 0 +__25: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __27 + } + *(*uintptr)(unsafe.Pointer(bp + 44 /* p2 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __28 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+44 /* &p2 */) + goto __29 +__28: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __30 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+44 /* &p2 */) +__30: + ; +__29: + ; + sessionSerializeValue(tls, ((*SessionChange)(unsafe.Pointer(pC)).FaRecord + uintptr(*(*Sqlite3_int64)(unsafe.Pointer(bp + 36 /* nByte */)))), *(*uintptr)(unsafe.Pointer(bp + 44 /* p2 */)), bp+36 /* &nByte */) + goto __26 +__26: + i++ + goto __25 + goto __27 +__27: + ; + + // Add the change to the hash-table + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 16 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + goto __31 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) +__31: + ; + (*SessionChange)(unsafe.Pointer(pC)).FnRecord = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 36 /* nByte */))) + (*SessionChange)(unsafe.Pointer(pC)).Fop = U8(op) + (*SessionChange)(unsafe.Pointer(pC)).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* iHash */)))*4)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* iHash */)))*4)) = pC + + goto __15 +__14: + if !((*SessionChange)(unsafe.Pointer(pC)).FbIndirect != 0) { + goto __32 + } + // If the existing change is considered "indirect", but this current + // change is "direct", mark the change object as direct. + if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 64 /* &.hook */ + 16 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { + goto __33 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(0) +__33: + ; +__32: + ; +__15: + ; + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0) { + goto __34 + } + rc = sessionUpdateMaxSize(tls, op, pSession, pTab, pC) +__34: + ; +__9: + ; + + // If an error has occurred, mark the session object as failed. +error_out: + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __35 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook = (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook +__35: + ; + if !(rc != SQLITE_OK) { + goto __36 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = rc +__36: +} + +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:208076:12: */ + var rc int32 = SQLITE_OK + var nName int32 = Xsqlite3Strlen30(tls, zName) + var pRet uintptr + + // Search for an existing table + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pRet != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pRet)).FzName, zName, (nName+1)) { + break + } + } + + if (pRet == uintptr(0)) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach != 0) { + // If there is a table-filter configured, invoke it. If it returns 0, + // do not automatically add the new table. + if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || + ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 32 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + rc = Xsqlite3session_attach(tls, pSession, zName) + if rc == SQLITE_OK { + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + } + + } + } + } + + *(*uintptr)(unsafe.Pointer(ppTab)) = pRet + return rc +} + +// The 'pre-update' hook registered by this module with SQLite databases. +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:208112:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var pSession uintptr + var nDb int32 = Xsqlite3Strlen30(tls, zDb) + + for pSession = pCtx; pSession != 0; pSession = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpNext { + // var pTab uintptr at bp, 4 + + // If this session is attached to a different database ("main", "temp" + // etc.), or if it is not currently enabled, there is nothing to do. Skip + // to the next session object attached to this database. + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable == 0 { + continue + } + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + continue + } + if Xsqlite3_strnicmp(tls, zDb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (nDb+1)) != 0 { + continue + } + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionFindTable(tls, pSession, zName, bp /* &pTab */) + if *(*uintptr)(unsafe.Pointer(bp /* pTab */)) != 0 { + + sessionPreupdateOneChange(tls, op, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + if op == SQLITE_UPDATE { + sessionPreupdateOneChange(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + } + } + } +} + +// The pre-update hook implementations. +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208150:12: */ + return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208153:12: */ + return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208156:12: */ + return Xsqlite3_preupdate_count(tls, pCtx) +} + +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208159:12: */ + return Xsqlite3_preupdate_depth(tls, pCtx) +} + +// Install the pre-update hooks on the session object passed as the only +// argument. +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208167:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateDepth})) +} + +type SessionDiffCtx1 = struct { + FpStmt uintptr + FnOldOff int32 +} /* sqlite3.c:208177:9 */ + +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ + +// The diff hook implementations. +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208186:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, (iVal + (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff)) + return SQLITE_OK +} + +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208191:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) + return SQLITE_OK +} + +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208196:12: */ + var p uintptr = pCtx + if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { + return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff + } + return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) +} + +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208200:12: */ + return 0 +} + +// Install the diff hooks on the session object passed as the only +// argument. +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:208208:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffDepth})) +} + +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 915 /* "" */ + var zRet uintptr = uintptr(0) + + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + zRet = Xsqlite3_mprintf(tls, ts+37443, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 24073 /* " AND " */ + if zRet == uintptr(0) { + break + } + } + } + + return zRet +} + +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 915 /* "" */ + var zRet uintptr = uintptr(0) + var bHave int32 = 0 + + for i = 0; i < nCol; i++ { + if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { + bHave = 1 + zRet = Xsqlite3_mprintf(tls, + ts+37477, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 37518 /* " OR " */ + if zRet == uintptr(0) { + break + } + } + } + + if bHave == 0 { + + zRet = Xsqlite3_mprintf(tls, ts+9614 /* "0" */, 0) + } + + return zRet +} + +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var zRet uintptr = Xsqlite3_mprintf(tls, + + ts+37523, /* "SELECT * FROM \"%..." */ + libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) + return zRet +} + +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:208289:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var zStmt uintptr = sessionSelectFindNew(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, zDb1, zDb2, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr) + + if zStmt == uintptr(0) { + rc = SQLITE_NOMEM + } else { + // var pStmt uintptr at bp, 4 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp /* &pStmt */, uintptr(0)) + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { + sessionPreupdateOneChange(tls, op, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + + return rc +} + +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + var rc int32 = SQLITE_OK + + var zExpr2 uintptr = sessionExprCompareOther(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, + (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (*SessionTable)(unsafe.Pointer(pTab)).FazCol, (*SessionTable)(unsafe.Pointer(pTab)).FabPK) + if zExpr2 == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var zStmt uintptr = Xsqlite3_mprintf(tls, + ts+37601, /* "SELECT * FROM \"%..." */ + 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 + } else { + // var pStmt uintptr at bp+48, 4 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+48 /* &pStmt */, uintptr(0)) + + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) { + sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + } + + return rc +} + +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:208360:16: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var zDb uintptr + var rc int32 + // var d SessionDiffCtx at bp, 8 + + var i int32 + var bHasPk int32 + var bMismatch int32 + // var nCol int32 at bp+12, 4 + // Columns in zFrom.zTbl + // var abPK uintptr at bp+20, 4 + + // var azCol uintptr at bp+16, 4 + + var zExpr uintptr + var db uintptr + // var pTo uintptr at bp+8, 4 + zDb = (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + + libc.Xmemset(tls, bp /* &d */, 0, uint32(unsafe.Sizeof(SessionDiffCtx{}))) + sessionDiffHooks(tls, pSession, bp /* &d */) + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if !(pzErrMsg != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) +__1: + ; + if !(rc == SQLITE_OK) { + goto __2 + } + zExpr = uintptr(0) + db = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Table zTbl + + // Locate and if necessary initialize the target table object + rc = sessionFindTable(tls, pSession, zTbl, bp+8 /* &pTo */) + if !(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)) == uintptr(0)) { + goto __3 + } + goto diff_out +__3: + ; + if !(sessionInitTable(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */))) != 0) { + goto __4 + } + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + goto diff_out +__4: + ; + + // Check the table schemas match + if !(rc == SQLITE_OK) { + goto __5 + } + bHasPk = 0 + bMismatch = 0 + *(*uintptr)(unsafe.Pointer(bp + 16 /* azCol */)) = uintptr(0) + rc = sessionTableInfo(tls, uintptr(0), db, zFrom, zTbl, bp+12 /* &nCol */, uintptr(0), bp+16 /* &azCol */, bp+20 /* &abPK */) + if !(rc == SQLITE_OK) { + goto __6 + } + if !((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FnCol != *(*int32)(unsafe.Pointer(bp + 12 /* nCol */))) { + goto __7 + } + bMismatch = 1 + goto __8 +__7: + i = 0 +__9: + if !(i < *(*int32)(unsafe.Pointer(bp + 12 /* nCol */))) { + goto __11 + } + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FabPK + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20 /* abPK */)) + uintptr(i))))) { + goto __12 + } + bMismatch = 1 +__12: + ; + if !(Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* azCol */)) + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FazCol + uintptr(i)*4))) != 0) { + goto __13 + } + bMismatch = 1 +__13: + ; + if !(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20 /* abPK */)) + uintptr(i))) != 0) { + goto __14 + } + bHasPk = 1 +__14: + ; + goto __10 +__10: + i++ + goto __9 + goto __11 +__11: + ; +__8: + ; +__6: + ; + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* azCol */))) + if !(bMismatch != 0) { + goto __15 + } + if !(pzErrMsg != 0) { + goto __16 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+37654 /* "table schemas do..." */, 0) +__16: + ; + rc = SQLITE_SCHEMA +__15: + ; + if !(bHasPk == 0) { + goto __17 + } + // Ignore tables with no primary keys + goto diff_out +__17: + ; +__5: + ; + + if !(rc == SQLITE_OK) { + goto __18 + } + zExpr = sessionExprComparePK(tls, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FnCol, + zDb, zFrom, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FzName, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FazCol, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FabPK) +__18: + ; + + // Find new rows + if !(rc == SQLITE_OK) { + goto __19 + } + rc = sessionDiffFindNew(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)), zDb, zFrom, zExpr) +__19: + ; + + // Find old rows + if !(rc == SQLITE_OK) { + goto __20 + } + rc = sessionDiffFindNew(tls, SQLITE_DELETE, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)), zFrom, zDb, zExpr) +__20: + ; + + // Find modified rows + if !(rc == SQLITE_OK) { + goto __21 + } + rc = sessionDiffFindModified(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)), zFrom, zExpr) +__21: + ; + + Xsqlite3_free(tls, zExpr) +__2: + ; + +diff_out: + sessionPreupdateHooks(tls, pSession) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Create a session object. This session object will record changes to +// database zDb attached to connection db. +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:208455:16: */ + var pNew uintptr // Newly allocated session object + var pOld uintptr // Session object already attached to db + var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes + + // Zero the output value in case an error occurs. + *(*uintptr)(unsafe.Pointer(ppSession)) = uintptr(0) + + // Allocate and populate the new session object. + pNew = Xsqlite3_malloc64(tls, (uint64((uint32(unsafe.Sizeof(Sqlite3_session{})) + uint32(nDb)) + uint32(1)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(Sqlite3_session{}))) + (*Sqlite3_session)(unsafe.Pointer(pNew)).Fdb = db + (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb = (pNew + 1*84) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FbEnable = 1 + libc.Xmemcpy(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, zDb, (uint32(nDb + 1))) + sessionPreupdateHooks(tls, pNew) + + // Add the new session object to the linked list of session objects + // attached to database handle $db. Do this under the cover of the db + // handle mutex. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + pOld = Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), pNew) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FpNext = pOld + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + + *(*uintptr)(unsafe.Pointer(ppSession)) = pNew + return SQLITE_OK +} + +// Free the list of table objects passed as the first argument. The contents +// of the changed-rows hash tables are also deleted. +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:208493:13: */ + var pNext uintptr + var pTab uintptr + + for pTab = pList; pTab != 0; pTab = pNext { + var i int32 + pNext = (*SessionTable)(unsafe.Pointer(pTab)).FpNext + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNextChange uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); p != 0; p = pNextChange { + pNextChange = (*SessionChange)(unsafe.Pointer(p)).FpNext + sessionFree(tls, pSession, p) + } + } + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FazCol) // cast works around VC++ bug + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + sessionFree(tls, pSession, pTab) + } +} + +// Delete a session object previously allocated using sqlite3session_create(). +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208517:17: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + // var pHead uintptr at bp, 4 + + var pp uintptr + + // Unlink the session from the linked list of sessions attached to the + // database handle. Hold the db mutex while doing so. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + *(*uintptr)(unsafe.Pointer(bp /* pHead */)) = Xsqlite3_preupdate_hook(tls, db, uintptr(0), uintptr(0)) + for pp = bp; /* &pHead */ (*(*uintptr)(unsafe.Pointer(pp))) != uintptr(0); pp = (*(*uintptr)(unsafe.Pointer(pp)) + 56 /* &.pNext */) { + if (*(*uintptr)(unsafe.Pointer(pp))) == pSession { + *(*uintptr)(unsafe.Pointer(pp)) = (*Sqlite3_session)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + if *(*uintptr)(unsafe.Pointer(bp /* pHead */)) != 0 { + Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), *(*uintptr)(unsafe.Pointer(bp /* pHead */))) + } + break + } + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + Xsqlite3ValueFree(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob) + + // Delete all attached table objects. And the contents of their + // associated hash-tables. + sessionDeleteTable(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable) + + // Assert that all allocations have been freed and then free the + // session object itself. + + Xsqlite3_free(tls, pSession) +} + +// Set a table filter on a Session Object. +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:208549:17: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter +} + +// Attach a table to a session. All subsequent changes made to the table +// while the session object is enabled will be recorded. +// +// Only tables that have a PRIMARY KEY defined may be attached. It does +// not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) +// or not. +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:208567:16: */ + var rc int32 = SQLITE_OK + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + if !(zName != 0) { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + } else { + var pTab uintptr // New table object (if required) + var nName int32 // Number of bytes in string zName + + // First search for an existing entry. If one is found, this call is + // a no-op. Return early. + nName = Xsqlite3Strlen30(tls, zName) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (nName+1)) { + break + } + } + + if !(pTab != 0) { + // Allocate new SessionTable object. + var nByte int32 = (int32((uint32(unsafe.Sizeof(SessionTable{})) + uint32(nName)) + uint32(1))) + pTab = sessionMalloc64(tls, pSession, int64(nByte)) + if !(pTab != 0) { + rc = SQLITE_NOMEM + } else { + // Populate the new SessionTable object and link it into the list. + // The new object must be linked onto the end of the list, not + // simply added to the start of it in order to ensure that tables + // appear in the correct order when a changeset or patchset is + // eventually generated. + var ppTab uintptr + libc.Xmemset(tls, pTab, 0, uint32(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = (pTab + 1*36) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (uint32(nName + 1))) + for ppTab = (pSession + 60 /* &.pTable */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } + } + } + + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Ensure that there is room in the buffer to append nByte bytes of data. +// If not, use sqlite3_realloc() to grow the buffer so that there is. +// +// If successful, return zero. Otherwise, if an OOM condition is encountered, +// set *pRc to SQLITE_NOMEM and return non-zero. +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:208620:12: */ + var nReq I64 = (I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte) + if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc)) { + var aNew uintptr + var nNew I64 + if (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc != 0 { + nNew = int64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) + } else { + nNew = int64(128) + } + + for ok := true; ok; ok = (nNew < nReq) { + nNew = (nNew * int64(2)) + } + + // The value of SESSION_MAX_BUFFER_SZ is copied from the implementation + // of sqlite3_realloc64(). Allocations greater than this size in bytes + // always fail. It is used here to ensure that this routine can always + // allocate up to this limit - instead of up to the largest power of + // two smaller than the limit. + if nNew > (int64(0x7FFFFF00 - 1)) { + nNew = (int64(0x7FFFFF00 - 1)) + if nNew < nReq { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + return 1 + } + } + + aNew = Xsqlite3_realloc64(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf, uint64(nNew)) + if uintptr(0) == aNew { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } else { + (*SessionBuffer)(unsafe.Pointer(p)).FaBuf = aNew + (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc = int32(nNew) + } + } + return (libc.Bool32(*(*int32)(unsafe.Pointer(pRc)) != SQLITE_OK)) +} + +// Append the value passed as the second argument to the buffer passed +// as the first. +// +// This function is a no-op if *pRc is non-zero when it is called. +// Otherwise, if an error occurs, *pRc is set to an SQLite error code +// before returning. +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:208663:13: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, uintptr(0), pVal, bp /* &nByte */) + sessionBufferGrow(tls, p, *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)), bp+8 /* &rc */) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), pVal, uintptr(0)) + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += int32((*(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)))) + } else { + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) + } + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single byte to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:208685:13: */ + if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { + *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single varint to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:208698:13: */ + if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += (sessionVarintPut(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), v)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a blob of data to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:208711:13: */ + if (nBlob > 0) && (0 == sessionBufferGrow(tls, p, int64(nBlob), pRc)) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), aBlob, uint32(nBlob)) + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += (nBlob) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a string to the buffer. All bytes in the string +// up to (but not including) the nul-terminator are written to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208731:13: */ + var nStr int32 = Xsqlite3Strlen30(tls, zStr) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), zStr, uint32(nStr)) + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += (nStr) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string representation of integer iVal +// to the buffer. No nul-terminator is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aBuf [24]int8 at bp+8, 24 + + Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([24]int8{})) - uint32(1))), bp+8 /* &aBuf[0] */, ts+6845 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string zStr enclosed in quotes (") and +// with any embedded quote characters escaped to the buffer. No +// nul-terminator byte is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208770:13: */ + var nStr int32 = (((Xsqlite3Strlen30(tls, zStr) * 2) + 2) + 1) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + var zOut uintptr = ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)) + var zIn uintptr = zStr + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + for *(*int8)(unsafe.Pointer(zIn)) != 0 { + if int32(*(*int8)(unsafe.Pointer(zIn))) == '"' { + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + (*SessionBuffer)(unsafe.Pointer(p)).FnBuf = ((int32(zOut) - int32((*SessionBuffer)(unsafe.Pointer(p)).FaBuf)) / 1) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwse, it appends the serialized version of the value stored +// in column iCol of the row that SQL statement pStmt currently points +// to to the buffer. +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:208795:13: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var eType int32 = Xsqlite3_column_type(tls, pStmt, iCol) + sessionAppendByte(tls, p, U8(eType), pRc) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var i Sqlite3_int64 at bp, 8 + + // var aBuf [8]U8 at bp+16, 8 + + if eType == SQLITE_INTEGER { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */)) = Xsqlite3_column_int64(tls, pStmt, iCol) + } else { + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_column_double(tls, pStmt, iCol) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint32(8)) + } + sessionPutI64(tls, bp+16 /* &aBuf[0] */, *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */))) + sessionAppendBlob(tls, p, bp+16 /* &aBuf[0] */, 8, pRc) + } + if (eType == SQLITE_BLOB) || (eType == SQLITE_TEXT) { + var z uintptr + var nByte int32 + if eType == SQLITE_BLOB { + z = Xsqlite3_column_blob(tls, pStmt, iCol) + } else { + z = Xsqlite3_column_text(tls, pStmt, iCol) + } + nByte = Xsqlite3_column_bytes(tls, pStmt, iCol) + if (z != 0) || ((eType == SQLITE_BLOB) && (nByte == 0)) { + sessionAppendVarint(tls, p, nByte, pRc) + sessionAppendBlob(tls, p, z, nByte, pRc) + } else { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } + } + } +} + +// +// This function appends an update change to the buffer (see the comments +// under "CHANGESET FORMAT" at the top of the file). An update change +// consists of: +// +// 1 byte: SQLITE_UPDATE (0x17) +// n bytes: old.* record (see RECORD FORMAT) +// m bytes: new.* record (see RECORD FORMAT) +// +// The SessionChange object passed as the third argument contains the +// values that were stored in the row when the session began (the old.* +// values). The statement handle passed as the second argument points +// at the current version of the row (the new.* values). +// +// If all of the old.* values are equal to their corresponding new.* value +// (i.e. nothing has changed), then no data at all is appended to the buffer. +// +// Otherwise, the old.* record contains all primary key values and the +// original values of any fields that have been modified. The new.* record +// contains the new values of only those fields that have been modified. +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:208857:12: */ + bp := tls.Alloc(36) + defer tls.Free(36) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* buf2 */)) = SessionBuffer{} // Buffer to accumulate new.* record in + var bNoop int32 = 1 // Set to zero if any values are modified + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf // Set to zero if any values are modified + var i int32 // Used to iterate through columns + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord // Used to iterate through old.* values + + sessionAppendByte(tls, pBuf, uint8(SQLITE_UPDATE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + for i = 0; i < Xsqlite3_column_count(tls, pStmt); i++ { + var bChanged int32 = 0 + var nAdvance int32 + var eType int32 = int32(*(*U8)(unsafe.Pointer(pCsr))) + switch eType { + case SQLITE_NULL: + nAdvance = 1 + if Xsqlite3_column_type(tls, pStmt, i) != SQLITE_NULL { + bChanged = 1 + } + break + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + nAdvance = 9 + if eType == Xsqlite3_column_type(tls, pStmt, i) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 12 /* iVal */)) = sessionGetI64(tls, (pCsr + 1)) + if eType == SQLITE_INTEGER { + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 12 /* iVal */)) == Xsqlite3_column_int64(tls, pStmt, i) { + break + } + } else { + // var dVal float64 at bp+4, 8 + + libc.Xmemcpy(tls, bp+4 /* &dVal */, bp+12 /* &iVal */, uint32(8)) + if *(*float64)(unsafe.Pointer(bp + 4 /* dVal */)) == Xsqlite3_column_double(tls, pStmt, i) { + break + } + } + } + bChanged = 1 + break + + } + + default: + { + // var n int32 at bp+20, 4 + + var nHdr int32 = (1 + sessionVarintGet(tls, (pCsr+1), bp+20 /* &n */)) + + nAdvance = (nHdr + *(*int32)(unsafe.Pointer(bp + 20 /* n */))) + if ((eType == Xsqlite3_column_type(tls, pStmt, i)) && + (*(*int32)(unsafe.Pointer(bp + 20 /* n */)) == Xsqlite3_column_bytes(tls, pStmt, i))) && + ((*(*int32)(unsafe.Pointer(bp + 20 /* n */)) == 0) || (0 == libc.Xmemcmp(tls, (pCsr+uintptr(nHdr)), Xsqlite3_column_blob(tls, pStmt, i), uint32(*(*int32)(unsafe.Pointer(bp + 20 /* n */)))))) { + break + } + bChanged = 1 + + } + } + + // If at least one field has been modified, this is not a no-op. + if bChanged != 0 { + bNoop = 0 + } + + // Add a field to the old.* record. This is omitted if this modules is + // currently generating a patchset. + if bPatchset == 0 { + if (bChanged != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + sessionAppendBlob(tls, pBuf, pCsr, nAdvance, bp /* &rc */) + } else { + sessionAppendByte(tls, pBuf, uint8(0), bp /* &rc */) + } + } + + // Add a field to the new.* record. Or the only record if currently + // generating a patchset. + if (bChanged != 0) || ((bPatchset != 0) && (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0)) { + sessionAppendCol(tls, bp+24 /* &buf2 */, pStmt, i, bp /* &rc */) + } else { + sessionAppendByte(tls, bp+24 /* &buf2 */, uint8(0), bp /* &rc */) + } + + pCsr += uintptr(nAdvance) + } + + if bNoop != 0 { + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = nRewind + } else { + sessionAppendBlob(tls, pBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf2 */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf2 */)).FnBuf, bp /* &rc */) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf2 */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Append a DELETE change to the buffer passed as the first argument. Use +// the changeset format if argument bPatchset is zero, or the patchset +// format otherwise. +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:208956:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + + sessionAppendByte(tls, pBuf, uint8(SQLITE_DELETE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + + if bPatchset == 0 { + sessionAppendBlob(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp /* &rc */) + } else { + var i int32 + var a uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord + for i = 0; i < nCol; i++ { + var pStart uintptr = a + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + a += uintptr(8) + break + fallthrough + + default: + { + // var n int32 at bp+4, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+4 /* &n */)) + a += uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* n */))) + break + + } + } + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendBlob(tls, pBuf, pStart, ((int32(a) - int32(pStart)) / 1), bp /* &rc */) + } + } + + } + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Formulate and prepare a SELECT statement to retrieve a row from table +// zTab in database zDb based on its primary key. i.e. +// +// SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = SQLITE_OK + var zSql uintptr = uintptr(0) + var nSql int32 = -1 + + if 0 == Xsqlite3_stricmp(tls, ts+13346 /* "sqlite_stat1" */, zTab) { + zSql = Xsqlite3_mprintf(tls, + + ts+37681 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + if zSql == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = SQLITE_NOMEM + } + } else { + var i int32 + var zSep uintptr = ts + 915 /* "" */ + *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp+8 /* &buf */, ts+37791 /* "SELECT * FROM " */, bp+20 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zDb, bp+20 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+928 /* "." */, bp+20 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zTab, bp+20 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+37806 /* " WHERE " */, bp+20 /* &rc */) + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendStr(tls, bp+8 /* &buf */, zSep, bp+20 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), bp+20 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+37814 /* " IS ?" */, bp+20 /* &rc */) + sessionAppendInteger(tls, bp+8 /* &buf */, (i + 1), bp+20 /* &rc */) + zSep = ts + 24073 /* " AND " */ + } + } + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FnBuf + } + + if *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + } + Xsqlite3_free(tls, zSql) + return *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) +} + +// Bind the PRIMARY KEY values from the change passed in argument pChange +// to the SELECT statement passed as the first argument. The SELECT statement +// is as prepared by function sessionSelectStmt(). +// +// Return SQLITE_OK if all PK values are successfully bound, or an SQLite +// error code (e.g. SQLITE_NOMEM) otherwise. +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:209068:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 + var rc int32 = SQLITE_OK + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord + + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + + case SQLITE_INTEGER: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + var iVal I64 = sessionGetI64(tls, a) + rc = Xsqlite3_bind_int64(tls, pSelect, (i + 1), iVal) + } + a += uintptr(8) + break + + } + + case SQLITE_FLOAT: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + // var rVal float64 at bp, 8 + + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = sessionGetI64(tls, a) + libc.Xmemcpy(tls, bp /* &rVal */, bp+8 /* &iVal */, uint32(8)) + rc = Xsqlite3_bind_double(tls, pSelect, (i + 1), *(*float64)(unsafe.Pointer(bp /* rVal */))) + } + a += uintptr(8) + break + + } + + case SQLITE_TEXT: + { + // var n int32 at bp+16, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+16 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_text(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 16 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* n */))) + break + + } + + default: + { + // var n int32 at bp+20, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_blob(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 20 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + break + + } + } + } + + return rc +} + +// This function is a no-op if *pRc is set to other than SQLITE_OK when it +// is called. Otherwise, append a serialized table header (part of the binary +// changeset format) to buffer *pBuf. If an error occurs, set *pRc to an +// SQLite error code before returning. +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:209139:13: */ + // Write a table header + sessionAppendByte(tls, pBuf, func() uint8 { + if bPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), pRc) + sessionAppendVarint(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (int32(libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + 1), pRc) +} + +// Generate either a changeset (if argument bPatchset is zero) or a patchset +// (if it is non-zero) based on the current contents of the session object +// passed as the first argument. +// +// If no error occurs, SQLITE_OK is returned and the new changeset/patchset +// stored in output variables *pnChangeset and *ppChangeset. Or, if an error +// occurs, an SQLite error code is returned and both output variables set +// to 0. +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209162:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Source database handle + var pTab uintptr // Used to iterate through attached tables + *(*SessionBuffer)(unsafe.Pointer(bp + 12 /* buf */)) = SessionBuffer{} // Buffer in which to accumlate changeset + // var rc int32 at bp+24, 4 + // Return code + + // Zero the output variables in case an error occurs. If this session + // object is already in the error state (sqlite3_session.rc != SQLITE_OK), + // this call will be a no-op. + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = 0 + *(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0) + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + } + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+37820 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry != 0 { + var zName uintptr = (*SessionTable)(unsafe.Pointer(pTab)).FzName + // var nCol int32 at bp, 4 + // Number of columns in table + // var abPK uintptr at bp+8, 4 + // Primary key array + *(*uintptr)(unsafe.Pointer(bp + 4 /* azCol */)) = uintptr(0) // Table columns + var i int32 // Used to iterate through hash buckets + *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)) = uintptr(0) // SELECT statement to query table pTab + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf // Initial size of write buffer + var nNoop int32 // Size of buffer after writing tbl header + + // Check the table schema is still Ok. + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionTableInfo(tls, uintptr(0), db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, bp /* &nCol */, uintptr(0), bp+4 /* &azCol */, bp+8 /* &abPK */) + if !(*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0) && (((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp /* nCol */))) || (libc.Xmemcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */)), (*SessionTable)(unsafe.Pointer(pTab)).FabPK, uint32(*(*int32)(unsafe.Pointer(bp /* nCol */)))) != 0)) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_SCHEMA + } + + // Write a table header + sessionAppendTableHdr(tls, bp+12 /* &buf */, bPatchset, pTab, bp+24 /* &rc */) + + // Build and compile a statement to execute: + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionSelectStmt(tls, + db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 4 /* azCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */)), bp+28 /* &pSel */) + } + + nNoop = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf + for i = 0; (i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange) && (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK); i++ { + var p uintptr // Used to iterate through changes + + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (p != 0); p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionSelectBind(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)), *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */)), p) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { + continue + } + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */))) == SQLITE_ROW { + if int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_INSERT { + var iCol int32 + sessionAppendByte(tls, bp+12 /* &buf */, uint8(SQLITE_INSERT), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+24 /* &rc */) + for iCol = 0; iCol < *(*int32)(unsafe.Pointer(bp /* nCol */)); iCol++ { + sessionAppendCol(tls, bp+12 /* &buf */, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)), iCol, bp+24 /* &rc */) + } + } else { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionAppendUpdate(tls, bp+12 /* &buf */, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)), p, *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */))) + } + } else if int32((*SessionChange)(unsafe.Pointer(p)).Fop) != SQLITE_INSERT { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionAppendDelete(tls, bp+12 /* &buf */, bPatchset, p, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */))) + } + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */))) + } + + // If the buffer is now larger than sessions_strm_chunk_size, pass + // its contents to the xOutput() callback. + if (((xOutput != 0) && + (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK)) && + ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > nNoop)) && + ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf) + nNoop = -1 + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf = 0 + } + + } + } + + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */))) + if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf == nNoop { + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf = nRewind + } + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* azCol */))) // cast works around VC++ bug + } + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FaBuf = uintptr(0) + } else if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf) + } + } + + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf) + Xsqlite3_exec(tls, db, ts+37840 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Obtain a changeset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209288:16: */ + var rc int32 = sessionGenerateChangeset(tls, pSession, 0, uintptr(0), uintptr(0), pnChangeset, ppChangeset) + + return rc +} + +// Streaming version of sqlite3session_changeset(). +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209303:16: */ + return sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Streaming version of sqlite3session_patchset(). +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209314:16: */ + return sessionGenerateChangeset(tls, pSession, 1, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Obtain a patchset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:209329:16: */ + return sessionGenerateChangeset(tls, pSession, 1, uintptr(0), uintptr(0), pnPatchset, ppPatchset) +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:209340:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bEnable >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable = bEnable + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:209354:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bIndirect >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect = bIndirect + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Return true if there have been no changes to monitored tables recorded +// by the session object passed as the only argument. +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:209369:16: */ + var ret int32 = 0 + var pTab uintptr + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (pTab != 0) && (ret == 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + ret = (libc.Bool32((*SessionTable)(unsafe.Pointer(pTab)).FnEntry > 0)) + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + return (libc.Bool32(ret == 0)) +} + +// Return the amount of heap memory in use. +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209385:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc +} + +// Configure the session object passed as the first argument. +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:209392:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_OBJCONFIG_SIZE: + { + var iArg int32 = *(*int32)(unsafe.Pointer(pArg)) + if iArg >= 0 { + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable != 0 { + rc = SQLITE_MISUSE + } else { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize = (libc.Bool32(iArg != 0)) + } + } + *(*int32)(unsafe.Pointer(pArg)) = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize + break + + } + + default: + rc = SQLITE_MISUSE + } + + return rc +} + +// Return the maximum size of sqlite3session_changeset() output. +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209418:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize +} + +// Do the work for either sqlite3changeset_start() or start_strm(). +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:209425:12: */ + var pRet uintptr // Iterator to return + var nByte int32 // Number of bytes to allocate for iterator + + // Zero the output variable in case an error occurs. + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + + // Allocate and initialize the iterator structure. + nByte = int32(unsafe.Sizeof(Sqlite3_changeset_iter{})) + pRet = Xsqlite3_malloc(tls, nByte) + if !(pRet != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pRet, 0, uint32(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FbEof = func() int32 { + if xInput != 0 { + return 0 + } + return 1 + }() + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbInvert = bInvert + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbSkipEmpty = bSkipEmpty + + // Populate the output variable and return success. + *(*uintptr)(unsafe.Pointer(pp)) = pRet + return SQLITE_OK +} + +// Create an iterator used to iterate through the contents of a changeset. +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:209463:16: */ + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) +} + +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:209470:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) +} + +// Streaming version of sqlite3changeset_start(). +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:209483:16: */ + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) +} + +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:209490:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) +} + +// If the SessionInput object passed as the only argument is a streaming +// object and the buffer is full, discard some data to free up space. +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:209504:13: */ + if ((*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0) && ((*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size) { + var nMove int32 = ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext) + + if nMove > 0 { + libc.Xmemmove(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), uint32(nMove)) + } + *(*int32)(unsafe.Pointer(pIn + 20 /* &.buf */ + 4 /* &.nBuf */)) -= ((*SessionInput)(unsafe.Pointer(pIn)).FiNext) + (*SessionInput)(unsafe.Pointer(pIn)).FiNext = 0 + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } +} + +// Ensure that there are at least nByte bytes available in the buffer. Or, +// if there are not nByte bytes remaining in the input, that all available +// data is in the buffer. +// +// Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:209524:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 { + for (!((*SessionInput)(unsafe.Pointer(pIn)).FbEof != 0) && (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte) >= (*SessionInput)(unsafe.Pointer(pIn)).FnData)) && (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) { + *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) = sessions_strm_chunk_size + + if (*SessionInput)(unsafe.Pointer(pIn)).FbNoDiscard == 0 { + sessionDiscardData(tls, pIn) + } + if SQLITE_OK == sessionBufferGrow(tls, (pIn+20 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 32 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { + (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 + } else { + *(*int32)(unsafe.Pointer(pIn + 20 /* &.buf */ + 4 /* &.nBuf */)) += (*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))) + } + } + + (*SessionInput)(unsafe.Pointer(pIn)).FaData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// When this function is called, *ppRec points to the start of a record +// that contains nCol values. This function advances the pointer *ppRec +// until it points to the byte immediately following that record. +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:209552:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var aRec uintptr = *(*uintptr)(unsafe.Pointer(ppRec)) + var i int32 + for i = 0; i < nCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aRec, 1)))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + aRec += uintptr(sessionVarintGet(tls, aRec, bp /* &nByte */)) + aRec += uintptr(*(*int32)(unsafe.Pointer(bp /* nByte */))) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + aRec += uintptr(8) + } + } + + *(*uintptr)(unsafe.Pointer(ppRec)) = aRec +} + +// This function sets the value of the sqlite3_value object passed as the +// first argument to a copy of the string or blob held in the aData[] +// buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM +// error occurs. +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:209578:12: */ + // In theory this code could just pass SQLITE_TRANSIENT as the final + // argument to sqlite3ValueSetStr() and have the copy created + // automatically. But doing so makes it difficult to detect any OOM + // error. Hence the code to create the copy externally. + var aCopy uintptr = Xsqlite3_malloc64(tls, (uint64(Sqlite3_int64(nData) + int64(1)))) + if aCopy == uintptr(0) { + return SQLITE_NOMEM + } + libc.Xmemcpy(tls, aCopy, aData, uint32(nData)) + Xsqlite3ValueSetStr(tls, pVal, nData, aCopy, enc, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + return SQLITE_OK +} + +// Deserialize a single record from a buffer in memory. See "RECORD FORMAT" +// for details. +// +// When this function is called, *paChange points to the start of the record +// to deserialize. Assuming no error occurs, *paChange is set to point to +// one byte after the end of the same record before this function returns. +// If the argument abPK is NULL, then the record contains nCol values. Or, +// if abPK is other than NULL, then the record contains only the PK fields +// (in other words, it is a patchset DELETE record). +// +// If successful, each element of the apOut[] array (allocated by the caller) +// is set to point to an sqlite3_value object containing the value read +// from the corresponding position in the record. If that value is not +// included in the record (i.e. because the record is part of an UPDATE change +// and the field was not modified), the corresponding element of apOut[] is +// set to NULL. +// +// It is the responsibility of the caller to free all sqlite_value structures +// using sqlite3_free(). +// +// If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +// The apOut[] array may have been partially populated in this case. +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209619:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var i int32 // Used to iterate through columns + var rc int32 = SQLITE_OK + + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 1 + } + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = 0 // Type of value (SQLITE_NULL, TEXT etc.) + if (abPK != 0) && (int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0) { + continue + } + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { + rc = Xsqlite3CorruptError(tls, 209637) + } else { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) + + if eType != 0 { + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 0 + } + *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)) = Xsqlite3ValueNew(tls, uintptr(0)) + if !(int32(*(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4))) != 0) { + rc = SQLITE_NOMEM + } + } + } + } + + if rc == SQLITE_OK { + var aVal uintptr = ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (sessionVarintGet(tls, aVal, bp /* &nByte */)) + rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) + if rc == SQLITE_OK { + if (*(*int32)(unsafe.Pointer(bp /* nByte */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nByte */)) > ((*SessionInput)(unsafe.Pointer(pIn)).FnData - (*SessionInput)(unsafe.Pointer(pIn)).FiNext)) { + rc = Xsqlite3CorruptError(tls, 209657) + } else { + var enc U8 = func() uint8 { + if eType == SQLITE_TEXT { + return uint8(SQLITE_UTF8) + } + return uint8(0) + }() + rc = sessionValueSetStr(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)), ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), *(*int32)(unsafe.Pointer(bp /* nByte */)), enc) + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nByte */))) + } + } + } + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 12 /* v */)) = sessionGetI64(tls, aVal) + if eType == SQLITE_INTEGER { + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)), *(*Sqlite3_int64)(unsafe.Pointer(bp + 12 /* v */))) + } else { + // var d float64 at bp+4, 8 + + libc.Xmemcpy(tls, bp+4 /* &d */, bp+12 /* &v */, uint32(8)) + Xsqlite3VdbeMemSetDouble(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)), *(*float64)(unsafe.Pointer(bp + 4 /* d */))) + } + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (8) + } + } + } + + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function ensures that all of the above is present in the input +// buffer (i.e. that it can be accessed without any calls to xInput()). +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. +// The input pointer is not moved. +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:209695:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + *(*int32)(unsafe.Pointer(bp /* nCol */)) = 0 + var nRead int32 = 0 + + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + nRead = nRead + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead))), bp /* &nCol */)) + // The hard upper limit for the number of columns in an SQLite + // database table is, according to sqliteLimit.h, 32676. So + // consider any table-header that purports to have more than 65536 + // columns to be corrupt. This is convenient because otherwise, + // if the (nCol>65536) condition below were omitted, a sufficiently + // large value for nCol may cause nRead to wrap around and become + // negative. Leading to a crash. + if (*(*int32)(unsafe.Pointer(bp /* nCol */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nCol */)) > 65536) { + rc = Xsqlite3CorruptError(tls, 209711) + } else { + rc = sessionInputBuffer(tls, pIn, ((nRead + *(*int32)(unsafe.Pointer(bp /* nCol */))) + 100)) + nRead = nRead + (*(*int32)(unsafe.Pointer(bp /* nCol */))) + } + } + + for rc == SQLITE_OK { + for (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData) && (*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead)))) != 0) { + nRead++ + } + if ((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData { + break + } + rc = sessionInputBuffer(tls, pIn, (nRead + 100)) + } + *(*int32)(unsafe.Pointer(pnByte)) = (nRead + 1) + return rc +} + +// The input pointer currently points to the first byte of the first field +// of a record consisting of nCol columns. This function ensures the entire +// record is buffered. It does not move the input pointer. +// +// If successful, SQLITE_OK is returned and *pnByte is set to the size of +// the record in bytes. Otherwise, an SQLite error code is returned. The +// final value of *pnByte is undefined in this case. +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:209738:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var nByte int32 = 0 + var i int32 + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + var eType int32 + rc = sessionInputBuffer(tls, pIn, (nByte + 10)) + if rc == SQLITE_OK { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + libc.PostIncInt32(&nByte, 1)))))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var n int32 at bp, 4 + + nByte = nByte + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte))), bp /* &n */)) + nByte = nByte + (*(*int32)(unsafe.Pointer(bp /* n */))) + rc = sessionInputBuffer(tls, pIn, nByte) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + nByte = nByte + (8) + } + } + } + *(*int32)(unsafe.Pointer(pnByte)) = nByte + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function decodes the table-header and populates the p->nCol, +// p->zTab and p->abPK[] variables accordingly. The p->apValue[] array is +// also allocated or resized according to the new value of p->nCol. The +// input pointer is left pointing to the byte following the table header. +// +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code +// is returned and the final values of the various fields enumerated above +// are undefined. +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209782:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var rc int32 at bp+4, 4 + + // var nCopy int32 at bp, 4 + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetBufferTblhdr(tls, (p /* &.in */), bp /* &nCopy */) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte int32 + var nVarint int32 + nVarint = sessionVarintGet(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), (p + 80 /* &.nCol */)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol > 0 { + *(*int32)(unsafe.Pointer(bp /* nCopy */)) -= nVarint + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (nVarint) + nByte = (int32(((uint32((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol) * uint32(unsafe.Sizeof(uintptr(0)))) * uint32(2)) + uint32(*(*int32)(unsafe.Pointer(bp /* nCopy */))))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 + sessionBufferGrow(tls, (p + 44 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + } else { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 209799) + } + } + + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var iPK Size_t = ((uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint32(2)) + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0, iPK) + libc.Xmemcpy(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + uintptr(iPK)), ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), uint32(*(*int32)(unsafe.Pointer(bp /* nCopy */)))) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nCopy */))) + } + + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue == uintptr(0) { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = uintptr(0) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = uintptr(0) + } else { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol*2))*4) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) + } + return uintptr(0) + }() + } + return libc.AssignPtrInt32(p+68 /* &.rc */, *(*int32)(unsafe.Pointer(bp + 4 /* rc */))) +} + +// Advance the changeset iterator to the next change. The differences between +// this function and sessionChangesetNext() are that +// +// * If pbEmpty is not NULL and the change is a no-op UPDATE (an UPDATE +// that modifies no columns), this function sets (*pbEmpty) to 1. +// +// * If the iterator is configured to skip no-op UPDATEs, +// sessionChangesetNext() does that. This function does not. +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209831:12: */ + var i int32 + var op U8 + + // If the iterator is in the error-state, return immediately. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // Free the current contents of p->apValue[], if any. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4))) + } + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0, ((uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint32(2))) + } + + // Make sure the buffer contains at least 10 bytes of input data, or all + // remaining data if there are less than 10 bytes available. This is + // sufficient either for the 'T' or 'P' byte and the varint that follows + // it, or for the two single byte values otherwise. + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionInputBuffer(tls, (p /* &.in */), 2) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // If the iterator is already at the end of the changeset, return DONE. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + + sessionDiscardData(tls, (p /* &.in */)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + + op = *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))) + for (int32(op) == 'T') || (int32(op) == 'P') { + if pbNew != 0 { + *(*int32)(unsafe.Pointer(pbNew)) = 1 + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset = (libc.Bool32(int32(op) == 'P')) + if sessionChangesetReadTblhdr(tls, p) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + if libc.AssignPtrInt32(p+68 /* &.rc */, sessionInputBuffer(tls, (p /* &.in */), 2)) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + op = *(*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)).FzTab == uintptr(0)) || (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) { + // The first record in the changeset is not a table header. Must be a + // corrupt changeset. + + return libc.AssignPtrInt32(p+68 /* &.rc */, Xsqlite3CorruptError(tls, 209885)) + } + + (*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 /* &.rc */, Xsqlite3CorruptError(tls, 209891)) + } + + if paRec != 0 { + var nVal int32 // Number of values to buffer + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) && (int32(op) == SQLITE_UPDATE) { + nVal = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2) + } else if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && (int32(op) == SQLITE_DELETE) { + nVal = 0 + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { + nVal++ + } + } + } else { + nVal = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionChangesetBufferRecord(tls, (p /* &.in */), nVal, pnRec) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + *(*uintptr)(unsafe.Pointer(paRec)) = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(pnRec))) + } else { + var apOld uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4) + } + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + }() + var apNew uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + } + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4) + }() + + // If this is an UPDATE or DELETE, read the old.* record. + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT) && (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE)) { + var abPK uintptr + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 { + abPK = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + } else { + abPK = uintptr(0) + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, abPK, apOld, uintptr(0)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + // If this is an INSERT or UPDATE, read the new.* record. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, uintptr(0), apNew, pbEmpty) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + if (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_UPDATE) { + // If this is an UPDATE that is part of a patchset, then all PK and + // modified fields are present in the new.* record. The old.* record + // is currently completely empty. This block shifts the PK fields from + // new.* to old.*, to accommodate the code that reads these arrays. + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + + 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 /* &.rc */, Xsqlite3CorruptError(tls, 209935)) + } + *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol))*4)) = uintptr(0) + } + } + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_INSERT { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_DELETE + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_INSERT + } + } + } + + return SQLITE_ROW +} + +// Advance the changeset iterator to the next change. +// +// If both paRec and pnRec are NULL, then this function works like the public +// API sqlite3changeset_next(). If SQLITE_ROW is returned, then the +// sqlite3changeset_new() and old() APIs may be used to query for values. +// +// Otherwise, if paRec and pnRec are not NULL, then a pointer to the change +// record is written to *paRec before returning and the number of bytes in +// the record to *pnRec. +// +// Either way, this function returns SQLITE_ROW if the iterator is +// successfully advanced to the next change in the changeset, an SQLite +// error code if an error occurs, or SQLITE_DONE if there are no further +// changes in the changeset. +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:209964:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var bEmpty int32 at bp, 4 + + var rc int32 + for ok := true; ok; ok = (((rc == SQLITE_ROW) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbSkipEmpty != 0)) && (*(*int32)(unsafe.Pointer(bp /* bEmpty */)) != 0)) { + *(*int32)(unsafe.Pointer(bp /* bEmpty */)) = 0 + rc = sessionChangesetNextOne(tls, p, paRec, pnRec, pbNew, bp /* &bEmpty */) + } + return rc +} + +// Advance an iterator created by sqlite3changeset_start() to the next +// change in the changeset. This function may return SQLITE_ROW, SQLITE_DONE +// or SQLITE_CORRUPT. +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209987:16: */ + return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) +} + +// The following function extracts information on the current change +// from a changeset iterator. It may only be called after changeset_next() +// has returned SQLITE_ROW. +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:209996:16: */ + *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + if pbIndirect != 0 { + *(*int32)(unsafe.Pointer(pbIndirect)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect + } + return SQLITE_OK +} + +// Return information regarding the PRIMARY KEY and number of columns in +// the database table affected by the change that pIter currently points +// to. This function may only be called after changeset_next() returns +// SQLITE_ROW. +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:210016:16: */ + *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + if pnCol != 0 { + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + } + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_DELETE change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the old.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified and is not a PK column), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210039:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(iVal)*4)) + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_INSERT change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the new.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210067:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+iVal))*4)) + return SQLITE_OK +} + +// The following two macros are used internally. They are similar to the +// sqlite3changeset_new() and sqlite3changeset_old() functions, except that +// they omit all error checking and return a pointer to the requested value. + +// This function may only be called with a changeset iterator that has been +// passed to an SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT +// conflict-handler function. Otherwise, SQLITE_MISUSE is returned. +// +// If successful, *ppValue is set to point to an sqlite3_value structure +// containing the iVal'th value of the conflicting record. +// +// If value iVal is out-of-range or some other error occurs, an SQLite error +// code is returned. Otherwise, SQLITE_OK. +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210101:16: */ + if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = Xsqlite3_column_value(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict, iVal) + return SQLITE_OK +} + +// This function may only be called with an iterator passed to an +// SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +// it sets the output variable to the total number of known foreign key +// violations in the destination database and returns SQLITE_OK. +// +// In all other cases this function returns SQLITE_MISUSE. +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:210124:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0) { + return SQLITE_MISUSE + } + *(*int32)(unsafe.Pointer(pnOut)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + return SQLITE_OK +} + +// Finalize an iterator allocated with sqlite3changeset_start(). +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:210142:16: */ + var rc int32 = SQLITE_OK + if p != 0 { + var i int32 // Used to iterate through p->apValue[] + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4))) + } + } + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf) + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.Fbuf.FaBuf) + Xsqlite3_free(tls, p) + } + return rc +} + +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210157:12: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + // var rc int32 at bp+32, 4 + // Return value + // var sOut SessionBuffer at bp, 12 + // Output buffer + // var nCol int32 at bp+16, 4 + // Number of cols in current table + var abPK uintptr // PK array for current table + var apVal uintptr // Space for values for UPDATE inversion + // var sPK SessionBuffer at bp+20, 12 + + // A 'table' record consists of: + // + // * A constant 'T' character, + // * Number of columns in said table (a varint), + // * An array of nCol bytes (sPK), + // * A nul-terminated table name. + // var nByte int32 at bp+12, 4 + + var nVar int32 + // var nByte1 int32 at bp+36, 4 + + var bIndirect int32 + var eType2 int32 + var pVal uintptr + var pVal1 uintptr + var iCol int32 + var eType U8 + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)) = 0 + abPK = uintptr(0) + apVal = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 20 /* sPK */)) = SessionBuffer{} // PK array for current table + + // Initialize the output buffer + libc.Xmemset(tls, bp /* &sOut */, 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + + // Zero the output variables in case an error occurs. + if !(ppInverted != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(ppInverted)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnInverted)) = 0 +__1: + ; + +__2: + if !(1 != 0) { + goto __3 + } + + // Test for EOF. + if !(libc.AssignPtrInt32(bp+32 /* rc */, sessionInputBuffer(tls, pInput, 2)) != 0) { + goto __4 + } + goto finished_invert +__4: + ; + if !((*SessionInput)(unsafe.Pointer(pInput)).FiNext >= (*SessionInput)(unsafe.Pointer(pInput)).FnData) { + goto __5 + } + goto __3 +__5: + ; + eType = *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext))) + + switch int32(eType) { + case 'T': + goto __7 + + case SQLITE_INSERT: + goto __8 + case SQLITE_DELETE: + goto __9 + + case SQLITE_UPDATE: + goto __10 + + default: + goto __11 + } + goto __6 +__7: + (*SessionInput)(unsafe.Pointer(pInput)).FiNext++ + if !(libc.AssignPtrInt32(bp+32 /* rc */, sessionChangesetBufferTblhdr(tls, pInput, bp+12 /* &nByte */)) != 0) { + goto __12 + } + goto finished_invert +__12: + ; + nVar = sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), bp+16 /* &nCol */) + (*SessionBuffer)(unsafe.Pointer(bp + 20 /* &sPK */)).FnBuf = 0 + sessionAppendBlob(tls, bp+20 /* &sPK */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + nVar))), *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), bp+32 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, eType, bp+32 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 12 /* nByte */)), bp+32 /* &rc */) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0) { + goto __13 + } + goto finished_invert +__13: + ; + + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 12 /* nByte */))) + Xsqlite3_free(tls, apVal) + apVal = uintptr(0) + abPK = (*SessionBuffer)(unsafe.Pointer(bp + 20 /* &sPK */)).FaBuf + goto __6 + +__8: +__9: + bIndirect = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1))))) + eType2 = func() int32 { + if int32(eType) == SQLITE_DELETE { + return SQLITE_INSERT + } + return SQLITE_DELETE + }() + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sessionChangesetBufferRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), bp+36 /* &nByte1 */) + sessionAppendByte(tls, bp /* &sOut */, uint8(eType2), bp+32 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, uint8(bIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 36 /* nByte1 */)), bp+32 /* &rc */) + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 36 /* nByte1 */))) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0) { + goto __14 + } + goto finished_invert +__14: + ; + goto __6 + +__10: + + if !(uintptr(0) == apVal) { + goto __15 + } + apVal = Xsqlite3_malloc64(tls, (uint64((uint32(unsafe.Sizeof(uintptr(0))) * uint32(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))) * uint32(2)))) + if !(uintptr(0) == apVal) { + goto __16 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_NOMEM + goto finished_invert +__16: + ; + libc.Xmemset(tls, apVal, 0, ((uint32(unsafe.Sizeof(uintptr(0))) * uint32(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))) * uint32(2))) +__15: + ; + + // Write the header for the new UPDATE change. Same as the original. + sessionAppendByte(tls, bp /* &sOut */, eType, bp+32 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1)))), bp+32 /* &rc */) + + // Read the old.* and new.* records for the update change. + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), uintptr(0), (apVal), uintptr(0)) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) { + goto __17 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), uintptr(0), (apVal + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))*4), uintptr(0)) +__17: + ; + + // Write the new old.* record. Consists of the PK columns from the + // original old.* record, and the other values from the original + // new.* record. + iCol = 0 +__18: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 16 /* nCol */))) { + goto __20 + } + pVal = *(*uintptr)(unsafe.Pointer(apVal + uintptr((iCol+(func() int32 { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return 0 + } + return *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)) + }())))*4)) + sessionAppendValue(tls, bp /* &sOut */, pVal, bp+32 /* &rc */) + goto __19 +__19: + iCol++ + goto __18 + goto __20 +__20: + ; + + // Write the new new.* record. Consists of a copy of all values + // from the original old.* record, except for the PK columns, which + // are set to "undefined". + iCol = 0 +__21: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 16 /* nCol */))) { + goto __23 + } + pVal1 = func() uintptr { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return uintptr(0) + } + return *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*4)) + }() + sessionAppendValue(tls, bp /* &sOut */, pVal1, bp+32 /* &rc */) + goto __22 +__22: + iCol++ + goto __21 + goto __23 +__23: + ; + + iCol = 0 +__24: + if !(iCol < (*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)) * 2)) { + goto __26 + } + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*4))) + goto __25 +__25: + iCol++ + goto __24 + goto __26 +__26: + ; + libc.Xmemset(tls, apVal, 0, ((uint32(unsafe.Sizeof(uintptr(0))) * uint32(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))) * uint32(2))) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK) { + goto __27 + } + goto finished_invert +__27: + ; + + goto __6 + +__11: + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 210284) + goto finished_invert +__6: + ; + + if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { + goto __28 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK) { + goto __29 + } + goto finished_invert +__29: + ; +__28: + ; + goto __2 +__3: + ; + + if !(pnInverted != 0) { + goto __30 + } + *(*int32)(unsafe.Pointer(pnInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf = uintptr(0) + goto __31 +__30: + if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { + goto __32 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) +__32: + ; +__31: + ; + +finished_invert: + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf) + Xsqlite3_free(tls, apVal) + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+20 /* &sPK */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Invert a changeset object. +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210316:16: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + // var sInput SessionInput at bp, 44 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint32(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FnData = nChangeset + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FaData = pChangeset + + return sessionChangesetInvert(tls, bp /* &sInput */, uintptr(0), uintptr(0), pnInverted, ppInverted) +} + +// Streaming version of sqlite3changeset_invert(). +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:210335:16: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + // var sInput SessionInput at bp, 44 + + var rc int32 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint32(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FxInput = xInput + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FpIn = pIn + + rc = sessionChangesetInvert(tls, bp /* &sInput */, xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3_free(tls, (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).Fbuf.FaBuf) + return rc +} + +type SessionUpdate1 = struct { + FpStmt uintptr + FaMask uintptr + FpNext uintptr +} /* sqlite3.c:210355:9 */ + +type SessionUpdate = SessionUpdate1 /* sqlite3.c:210355:30 */ + +type SessionApplyCtx1 = struct { + Fdb uintptr + FpDelete uintptr + FpInsert uintptr + FpSelect uintptr + FnCol int32 + FazCol uintptr + FabPK uintptr + FaUpdateMask uintptr + FpUp uintptr + FbStat1 int32 + FbDeferConstraints int32 + FbInvertConstraints int32 + Fconstraints SessionBuffer + Frebase SessionBuffer + FbRebaseStarted U8 + FbRebase U8 + _ [2]byte +} /* sqlite3.c:210362:9 */ + +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ + +// Number of prepared UPDATE statements to cache. + +// Find a prepared UPDATE statement suitable for the UPDATE step currently +// being visited by the iterator. The UPDATE is of the form: +// +// UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:210391:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + var pUp uintptr = uintptr(0) + var nCol int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + var nU32 int32 = (((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + 33) / 32) + var ii int32 + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = Xsqlite3_malloc(tls, (int32(uint32(nU32) * uint32(unsafe.Sizeof(U32(0)))))) + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_NOMEM + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0, (uint32(nU32) * uint32(unsafe.Sizeof(U32(0))))) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_CORRUPT + for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ { + if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(ii)))*4)) != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((ii/32))*4)) |= (U32(int32(1) << (ii % 32))) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + if bPatchset != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((nCol/32))*4)) |= (U32(int32(1) << (nCol % 32))) + } + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp != 0 { + var nUp int32 = 0 + var pp uintptr = (p + 32 /* &.pUp */) + for 1 != 0 { + nUp++ + if 0 == libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaMask, (uint32(nU32)*uint32(unsafe.Sizeof(U32(0))))) { + pUp = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + break + } + + if (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext != 0 { + pp = (*(*uintptr)(unsafe.Pointer(pp)) + 8 /* &.pNext */) + } else { + if nUp >= SESSION_UPDATE_CACHE_SZ { + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpStmt) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pp))) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + } + break + } + } + } + + if pUp == uintptr(0) { + var nByte int32 = (int32((uint32(unsafe.Sizeof(SessionUpdate{})) * uint32(nU32)) * uint32(unsafe.Sizeof(U32(0))))) + var bStat1 int32 = (libc.Bool32(Xsqlite3_stricmp(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, ts+13346 /* "sqlite_stat1" */) == 0)) + pUp = Xsqlite3_malloc(tls, nByte) + if pUp == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_NOMEM + } else { + var zSep uintptr = ts + 915 /* "" */ + // var buf SessionBuffer at bp, 12 + + libc.Xmemset(tls, bp /* &buf */, 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + (*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 /* &buf */, ts+37858 /* "UPDATE main." */, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37871 /* " SET " */, bp+12 /* &rc */) + + // Create the assignments part of the UPDATE + 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 /* &buf */, zSep, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37877 /* " = ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+12 /* &rc */) + zSep = ts + 16636 /* ", " */ + } + } + + // Create the WHERE clause part of the UPDATE + zSep = ts + 915 /* "" */ + sessionAppendStr(tls, bp /* &buf */, ts+37806 /* " WHERE " */, bp+12 /* &rc */) + 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 /* &buf */, zSep, bp+12 /* &rc */) + if (bStat1 != 0) && (ii == 1) { + + sessionAppendStr(tls, bp, /* &buf */ + + ts+37882 /* "idx IS CASE WHEN..." */, bp+12 /* &rc */) + } else { + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37814 /* " IS ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 2), bp+12 /* &rc */) + } + zSep = ts + 24073 /* " AND " */ + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + var zSql uintptr = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_prepare_v2(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, zSql, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (pUp /* &.pStmt */), uintptr(0)) + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, pUp) + pUp = uintptr(0) + } else { + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + } + } + } + + if pUp != 0 { + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt + } else { + *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) + } + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Free all cached UPDATE statements. +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:210530:13: */ + var pUp uintptr + var pNext uintptr + for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { + pNext = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt) + Xsqlite3_free(tls, pUp) + } + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = uintptr(0) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask) + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = uintptr(0) +} + +// Formulate a statement to DELETE a row from database db. Assuming a table +// structure like this: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The DELETE statement looks like this: +// +// DELETE FROM x WHERE a = :1 AND c = :3 AND (:5 OR b IS :2 AND d IS :4) +// +// Variable :5 (nCol+1) is a boolean. It should be set to 0 if we require +// matching b and d values, or 1 otherwise. The second case comes up if the +// conflict handler is invoked with NOTFOUND and returns CHANGESET_REPLACE. +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left +// pointing to the prepared version of the SQL statement. +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210560:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var i int32 + var zSep uintptr = ts + 915 /* "" */ + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var nPk int32 = 0 + + sessionAppendStr(tls, bp /* &buf */, ts+37957 /* "DELETE FROM main..." */, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37806 /* " WHERE " */, bp+12 /* &rc */) + + 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 /* &buf */, zSep, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37877 /* " = ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+12 /* &rc */) + zSep = ts + 24073 /* " AND " */ + } + } + + if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { + sessionAppendStr(tls, bp /* &buf */, ts+37975 /* " AND (?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((*SessionApplyCtx)(unsafe.Pointer(p)).FnCol + 1), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37518 /* " OR " */, bp+12 /* &rc */) + + zSep = ts + 915 /* "" */ + 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 /* &buf */, zSep, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37814 /* " IS ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+12 /* &rc */) + zSep = ts + 37983 /* "AND " */ + } + } + sessionAppendStr(tls, bp /* &buf */, ts+6887 /* ")" */, bp+12 /* &rc */) + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 4 /* &.pDelete */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Formulate and prepare an SQL statement to query table zTab by primary +// key. Assuming the following table structure: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The SELECT statement looks like this: +// +// SELECT * FROM x WHERE a = ?1 AND c = ?3 +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left +// pointing to the prepared version of the SQL statement. +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210625:12: */ + return sessionSelectStmt(tls, + db, ts+8566 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 12 /* &.pSelect */)) +} + +// Formulate and prepare an INSERT statement to add a record to table zTab. +// For example: +// +// INSERT INTO main."zTab" VALUES(?1, ?2, ?3 ...); +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left +// pointing to the prepared version of the SQL statement. +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210643:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + var i int32 + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp /* &buf */, ts+37988 /* "INSERT INTO main..." */, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+24079 /* "(" */, bp+12 /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + if i != 0 { + sessionAppendStr(tls, bp /* &buf */, ts+16636 /* ", " */, bp+12 /* &rc */) + } + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12 /* &rc */) + } + + sessionAppendStr(tls, bp /* &buf */, ts+38006 /* ") VALUES(?" */, bp+12 /* &rc */) + for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + sessionAppendStr(tls, bp /* &buf */, ts+38017 /* ", ?" */, bp+12 /* &rc */) + } + sessionAppendStr(tls, bp /* &buf */, ts+6887 /* ")" */, bp+12 /* &rc */) + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 8 /* &.pInsert */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:210673:12: */ + return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) +} + +// Prepare statements for applying changes to the sqlite_stat1 table. +// These are similar to those created by sessionSelectRow(), +// sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for +// other tables. +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:210683:12: */ + var rc int32 = sessionSelectRow(tls, db, ts+13346 /* "sqlite_stat1" */, p) + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 8 /* &.pInsert */), + + ts+38021 /* "INSERT INTO main..." */) + } + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 4 /* &.pDelete */), + + ts+38134 /* "DELETE FROM main..." */) + } + return rc +} + +// A wrapper around sqlite3_bind_value() that detects an extra problem. +// See comments in the body of this function for details. +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:210706:12: */ + var eType int32 = Xsqlite3_value_type(tls, pVal) + // COVERAGE: The (pVal->z==0) branch is never true using current versions + // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either + // the (pVal->z) variable remains as it was or the type of the value is + // set to SQLITE_NULL. + if ((eType == SQLITE_TEXT) || (eType == SQLITE_BLOB)) && ((*Sqlite3_value)(unsafe.Pointer(pVal)).Fz == uintptr(0)) { + // This condition occurs when an earlier OOM in a call to + // sqlite3_value_text() or sqlite3_value_blob() (perhaps from within + // a conflict-handler) has zeroed the pVal->z pointer. Return NOMEM. + return SQLITE_NOMEM + } + return Xsqlite3_bind_value(tls, pStmt, i, pVal) +} + +// Iterator pIter must point to an SQLITE_INSERT entry. This function +// transfers new.* values from the current iterator entry to statement +// pStmt. The table being inserted into has nCol columns. +// +// New.* value $i from the iterator is bound to variable ($i+1) of +// statement pStmt. If parameter abPK is NULL, all values from 0 to (nCol-1) +// are transfered to the statement. Otherwise, if abPK is not NULL, it points +// to an array nCol elements in size. In this case only those values for +// which abPK[$i] is true are read from the iterator and bound to the +// statement. +// +// An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK. +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:210739:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var i int32 + var rc int32 = SQLITE_OK + + // Neither sqlite3changeset_old or sqlite3changeset_new can fail if the + // argument iterator points to a suitable entry. Make sure that xValue + // is one of these to guarantee that it is safe to ignore the return + // in the code below. + + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + // var pVal uintptr at bp, 4 + + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { + // The value in the changeset was "undefined". This indicates a + // corrupt changeset blob. + rc = Xsqlite3CorruptError(tls, 210762) + } else { + rc = sessionBindValue(tls, pStmt, (i + 1), *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + } + } + return rc +} + +// SQL statement pSelect is as generated by the sessionSelectRow() function. +// This function binds the primary key values from the change that changeset +// iterator pIter points to to the SELECT and attempts to seek to the table +// entry. If a row is found, the SELECT statement left pointing at the row +// and SQLITE_ROW is returned. Otherwise, if no row is found and no error +// has occured, the statement is reset and SQLITE_OK is returned. If an +// error occurs, the statement is reset and an SQLite error code is returned. +// +// If this function returns SQLITE_ROW, the caller must eventually reset() +// statement pSelect. If any other value is returned, the statement does +// not require a reset(). +// +// If the iterator currently points to an INSERT record, bind values from the +// new.* record to the SELECT statement. Or, if it points to a DELETE or +// UPDATE, bind values from the old.* record. +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:210788:12: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + var rc int32 // Return code + // var nCol int32 at bp+4, 4 + // Number of columns in table + // var op int32 at bp+8, 4 + // Changset operation (SQLITE_UPDATE etc.) + // var zDummy uintptr at bp, 4 + // Unused + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + rc = sessionBindRow(tls, pIter, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_INSERT { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})) + } + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})) + }(), + *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), abPK, pSelect) + + if rc == SQLITE_OK { + rc = Xsqlite3_step(tls, pSelect) + if rc != SQLITE_ROW { + rc = Xsqlite3_reset(tls, pSelect) + } + } + + return rc +} + +// This function is called from within sqlite3changeset_apply_v2() when +// a conflict is encountered and resolved using conflict resolution +// mode eType (either SQLITE_CHANGESET_OMIT or SQLITE_CHANGESET_REPLACE).. +// It adds a conflict resolution record to the buffer in +// SessionApplyCtx.rebase, which will eventually be returned to the caller +// of apply_v2() as the "rebase" buffer. +// +// Return SQLITE_OK if successful, or an SQLite error code otherwise. +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:210823:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebase != 0 { + var i int32 + var eOp int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + if int32((*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted) == 0 { + // Append a table-header to the rebase buffer + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + sessionAppendByte(tls, (p + 60 /* &.rebase */), uint8('T'), bp /* &rc */) + sessionAppendVarint(tls, (p + 60 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 60 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 60 /* &.rebase */), zTab, (int32(libc.Xstrlen(tls, zTab)) + 1), bp /* &rc */) + (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted = U8(1) + } + + sessionAppendByte(tls, (p + 60 /* &.rebase */), + func() uint8 { + if eOp == SQLITE_DELETE { + return uint8(SQLITE_DELETE) + } + return uint8(SQLITE_INSERT) + }(), bp /* &rc */) + sessionAppendByte(tls, (p + 60 /* &.rebase */), (uint8(libc.Bool32(eType == SQLITE_CHANGESET_REPLACE))), bp /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + *(*uintptr)(unsafe.Pointer(bp + 4 /* pVal */)) = uintptr(0) + if (eOp == SQLITE_DELETE) || ((eOp == SQLITE_UPDATE) && (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0)) { + Xsqlite3changeset_old(tls, pIter, i, bp+4 /* &pVal */) + } else { + Xsqlite3changeset_new(tls, pIter, i, bp+4 /* &pVal */) + } + sessionAppendValue(tls, (p + 60 /* &.rebase */), *(*uintptr)(unsafe.Pointer(bp + 4 /* pVal */)), bp /* &rc */) + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Invoke the conflict handler for the change that the changeset iterator +// currently points to. +// +// Argument eType must be either CHANGESET_DATA or CHANGESET_CONFLICT. +// If argument pbReplace is NULL, then the type of conflict handler invoked +// depends solely on eType, as follows: +// +// eType value Value passed to xConflict +// ------------------------------------------------- +// CHANGESET_DATA CHANGESET_NOTFOUND +// CHANGESET_CONFLICT CHANGESET_CONSTRAINT +// +// Or, if pbReplace is not NULL, then an attempt is made to find an existing +// record with the same primary key as the record about to be deleted, updated +// or inserted. If such a record can be found, it is available to the conflict +// handler as the "conflicting" record. In this case the type of conflict +// handler invoked is as follows: +// +// eType value PK Record found? Value passed to xConflict +// ---------------------------------------------------------------- +// CHANGESET_DATA Yes CHANGESET_DATA +// CHANGESET_DATA No CHANGESET_NOTFOUND +// CHANGESET_CONFLICT Yes CHANGESET_CONFLICT +// CHANGESET_CONFLICT No CHANGESET_CONSTRAINT +// +// If pbReplace is not NULL, and a record with a matching PK is found, and +// the conflict handler function returns SQLITE_CHANGESET_REPLACE, *pbReplace +// is set to non-zero before returning SQLITE_OK. +// +// If the conflict handler returns SQLITE_CHANGESET_ABORT, SQLITE_ABORT is +// returned. Or, if the conflict handler returns an invalid value, +// SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT, +// this function returns SQLITE_OK. +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:210897:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var res int32 = 0 // Value returned by conflict handler + // var rc int32 at bp+12, 4 + + // var nCol int32 at bp+4, 4 + + // var op int32 at bp+8, 4 + + // var zDummy uintptr at bp, 4 + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + + // Bind the new.* PRIMARY KEY values to the SELECT statement. + if pbReplace != 0 { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_ROW { + // There exists another row with the new.* primary key. + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + if ((*SessionApplyCtx)(unsafe.Pointer(p)).FbDeferConstraints != 0) && (eType == SQLITE_CHANGESET_CONFLICT) { + // Instead of invoking the conflict handler, append the change blob + // to the SessionApplyCtx.constraints buffer. + var aBlob uintptr = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent)) + var nBlob int32 = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent) + sessionAppendBlob(tls, (p + 48 /* &.constraints */), aBlob, nBlob, bp+12 /* &rc */) + return SQLITE_OK + } else { + // No other row with the new.* primary key. + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + if res == SQLITE_CHANGESET_REPLACE { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_MISUSE + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + switch res { + case SQLITE_CHANGESET_REPLACE: + + *(*int32)(unsafe.Pointer(pbReplace)) = 1 + break + fallthrough + + case SQLITE_CHANGESET_OMIT: + break + fallthrough + + case SQLITE_CHANGESET_ABORT: + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_ABORT + break + fallthrough + + default: + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_MISUSE + break + } + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = sessionRebaseAdd(tls, p, res, pIter) + } + } + + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// If argument pbRetry is NULL, then ignore any CHANGESET_DATA conflict. If +// one is encountered, update or delete the row with the matching primary key +// instead. Or, if pbRetry is not NULL and a CHANGESET_DATA conflict occurs, +// invoke the conflict handler. If it returns CHANGESET_REPLACE, set *pbRetry +// to true before returning. In this case the caller will invoke this function +// again, this time with pbRetry set to NULL. +// +// If argument pbReplace is NULL and a CHANGESET_CONFLICT conflict is +// encountered invoke the conflict handler with CHANGESET_CONSTRAINT instead. +// Or, if pbReplace is not NULL, invoke it with CHANGESET_CONFLICT. If such +// an invocation returns SQLITE_CHANGESET_REPLACE, set *pbReplace to true +// before retrying. In this case the caller attempts to remove the conflicting +// row before invoking this function again, this time with pbReplace set +// to NULL. +// +// If any conflict handler returns SQLITE_CHANGESET_ABORT, this function +// returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is +// returned. +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:210995:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + // var zDummy uintptr at bp, 4 + + // var op int32 at bp+8, 4 + + // var nCol int32 at bp+4, 4 + + var rc int32 = SQLITE_OK + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_DELETE { + + // Bind values to the DELETE statement. If conflict handling is required, + // bind values for all columns and set bound variable (nCol+1) to true. + // Or, if conflict handling is not required, bind just the PK column + // values and, if it exists, set (nCol+1) to false. Conflict handling + // is not required if: + // + // * this is a patchset, or + // * (pbRetry==0), or + // * all columns of the table are PK columns (in this case there is + // no (nCol+1) variable to bind to). + var abPK uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + } + return uintptr(0) + }() + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})), *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), abPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_bind_parameter_count(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) > *(*int32)(unsafe.Pointer(bp + 4 /* nCol */))) { + rc = Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete, (*(*int32)(unsafe.Pointer(bp + 4 /* nCol */)) + 1), (libc.Bool32((pbRetry == uintptr(0)) || (abPK != 0)))) + } + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_UPDATE { + var i int32 + *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */)) = uintptr(0) + var bPatchset int32 = (libc.Bool32((pbRetry == uintptr(0)) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0))) + + rc = sessionUpdateFind(tls, pIter, p, bPatchset, bp+12 /* &pUp */) + + // Bind values to the UPDATE statement. + for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */))); i++ { + var pOld uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(i)*4)) + var pNew uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(i)))*4)) + if (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) || ((bPatchset == 0) && (pOld != 0)) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */)), ((i * 2) + 2), pOld) + } + if (rc == SQLITE_OK) && (pNew != 0) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */)), ((i * 2) + 1), pNew) + } + } + if rc != SQLITE_OK { + return rc + } + + // Attempt the UPDATE. In the case of a NOTFOUND or DATA conflict, + // the result will be SQLITE_OK with 0 rows modified. + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */))) + + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + // A NOTFOUND or DATA error. Search the table to see if it contains + // a row with a matching primary key. If so, this is a DATA conflict. + // Otherwise, if there is no primary key match, it is a NOTFOUND. + + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + // This is always a CONSTRAINT conflict. + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else { + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbStat1 != 0 { + // Check if there is a conflicting row. For sqlite_stat1, this needs + // to be done using a SELECT, as there is no PRIMARY KEY in the + // database schema to throw an exception if a duplicate is inserted. + rc = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + if rc == SQLITE_ROW { + rc = SQLITE_CONSTRAINT + Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } + } + + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), uintptr(0), (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + } + + if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace) + } + } + + return rc +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// The difference between this function and sessionApplyOne() is that this +// function handles the case where the conflict-handler is invoked and +// returns SQLITE_CHANGESET_REPLACE - indicating that the change should be +// retried in some manner. +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211128:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) = 0 + var rc int32 + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp /* &bReplace */, bp+4 /* &bRetry */) + if rc == SQLITE_OK { + // If the bRetry flag is set, the change has not been applied due to an + // SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and + // a row with the correct PK is present in the db, but one or more other + // fields do not contain the expected values) and the conflict handler + // returned SQLITE_CHANGESET_REPLACE. In this case retry the operation, + // but pass NULL as the final argument so that sessionApplyOneOp() ignores + // the SQLITE_CHANGESET_DATA problem. + if *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) != 0 { + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } else if *(*int32)(unsafe.Pointer(bp /* bReplace */)) != 0 { + + rc = Xsqlite3_exec(tls, db, ts+38278 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(0)) + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, ((*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + 1), 1) + } + if rc == SQLITE_OK { + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + } + if rc == SQLITE_OK { + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+38299 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + } + + return rc +} + +// Retry the changes accumulated in the pApply->constraints buffer. +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211185:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = SQLITE_OK + + for (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf != 0 { + *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) = uintptr(0) + var cons = (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints + libc.Xmemset(tls, (pApply + 48 /* &.constraints */), 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetStart(tls, + bp /* &pIter2 */, uintptr(0), uintptr(0), cons.FnBuf, cons.FaBuf, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbInvertConstraints, 1) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte Size_t = ((uint32(2 * (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol)) * uint32(unsafe.Sizeof(uintptr(0)))) + var rc2 int32 + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FbPatchset = bPatchset + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FzTab = zTab + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FnCol = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FabPK = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK + sessionBufferGrow(tls, (*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) + 44 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).Ftblhdr.FaBuf + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0, nByte) + } + + for (*(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))) { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)), pApply, xConflict, pCtx) + } + + rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */))) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = rc2 + } + } + + Xsqlite3_free(tls, cons.FaBuf) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) != SQLITE_OK { + break + } + if (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf >= cons.FnBuf { + // No progress was made on the last round. + (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbDeferConstraints = 0 + } + } + + return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) +} + +// Argument pIter is a changeset iterator that has been initialized, but +// not yet passed to sqlite3changeset_next(). This function applies the +// changeset to the main database attached to handle "db". The supplied +// conflict handler callback is invoked to resolve any conflicts encountered +// while applying the change. +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ + bp := tls.Alloc(252) + defer tls.Free(252) + + var schemaMismatch int32 = 0 + var rc int32 = SQLITE_OK // Return code + *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) = uintptr(0) // Name of current table + var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) + // var sApply SessionApplyCtx at bp+48, 76 + // changeset_apply() context object + var bPatchset int32 + + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 + libc.Xmemset(tls, bp+48 /* &sApply */, 0, uint32(unsafe.Sizeof(SessionApplyCtx{}))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).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+38318 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+38344 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + } + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { + // var nCol int32 at bp+128, 4 + + // var op int32 at bp+132, 4 + + // var zNew uintptr at bp+124, 4 + + Xsqlite3changeset_op(tls, pIter, bp+124 /* &zNew */, bp+128 /* &nCol */, bp+132 /* &op */, uintptr(0)) + + if (*(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+136, 4 + + rc = sessionRetryConstraints(tls, + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + if rc != SQLITE_OK { + break + } + + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebaseStarted = U8(0) + libc.Xmemset(tls, (bp + 48 /* &sApply */ + 48 /* &.constraints */), 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + + // If an xFilter() callback was specified, invoke it now. If the + // xFilter callback returns zero, skip this table. If it returns + // non-zero, proceed. + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)))))) + if schemaMismatch != 0 { + *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) == uintptr(0) { + rc = SQLITE_NOMEM + break + } + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) + } else { + var nMinCol int32 = 0 + var i int32 + + Xsqlite3changeset_pk(tls, pIter, bp+136 /* &abPK */, uintptr(0)) + rc = sessionTableInfo(tls, uintptr(0), + db, ts+8566 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)), (bp + 48 /* &sApply */ + 16 /* &.nCol */), bp+140 /* &zTab */, (bp + 48 /* &sApply */ + 20 /* &.azCol */), (bp + 48 /* &sApply */ + 24 /* &.abPK */)) + if rc != SQLITE_OK { + break + } + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK + uintptr(i))) != 0 { + nMinCol = (i + 1) + } + } + + if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+38374 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 128 /* nCol */)) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + + ts+38418, /* "sqlite3changeset..." */ + libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 128 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 128 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 136 /* abPK */)), uint32(*(*int32)(unsafe.Pointer(bp + 128 /* nCol */)))) != 0) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+38489 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)))) + } else { + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 128 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), ts+13346 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+48 /* &sApply */)) != 0 { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 1 + } else { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */)) != 0) { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + } + } + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */))) + } + } + + // If there is a schema mismatch on the current table, proceed to the + // next change. A log message has already been issued. + if schemaMismatch != 0 { + continue + } + + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+48 /* &sApply */, xConflict, pCtx) + } + + bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + if rc == SQLITE_OK { + rc = Xsqlite3changeset_finalize(tls, pIter) + } else { + Xsqlite3changeset_finalize(tls, pIter) + } + + if rc == SQLITE_OK { + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + } + + if rc == SQLITE_OK { + // var nFk int32 at bp+144, 4 + + // var notUsed int32 at bp+148, 4 + + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+144 /* &nFk */, bp+148 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 144 /* nFk */)) != 0 { + var res int32 = SQLITE_CHANGESET_ABORT + // var sIter Sqlite3_changeset_iter at bp+152, 100 + + libc.Xmemset(tls, bp+152 /* &sIter */, 0, uint32(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 152 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 144 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+152 /* &sIter */) + if res != SQLITE_CHANGESET_OMIT { + rc = SQLITE_CONSTRAINT + } + } + } + Xsqlite3_exec(tls, db, ts+38549 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + + if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+38579 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } else { + Xsqlite3_exec(tls, db, ts+38603 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, ts+38579 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf = uintptr(0) + } + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Frebase.FaBuf) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main +// database attached to handle "db". +func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211439:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator to skip through changeset + var bInv int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211472:16: */ + return Xsqlite3changeset_apply_v2(tls, + db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// Apply the changeset passed via xInput/pIn to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211497:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator to skip through changeset + var bInverse int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, xInput, pIn, 0, uintptr(0), bInverse, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211524:16: */ + return Xsqlite3changeset_apply_v2_strm(tls, + db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// This function is called to merge two changes to the same row together as +// part of an sqlite3changeset_concat() operation. A new change object is +// allocated and a pointer to it stored in *ppNew. +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:211558:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var pNew uintptr = uintptr(0) + var rc int32 = SQLITE_OK + + if !(pExist != 0) { + pNew = Xsqlite3_malloc64(tls, (uint64(uint32(unsafe.Sizeof(SessionChange{})) + uint32(nRec)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = U8(bIndirect) + (*SessionChange)(unsafe.Pointer(pNew)).FaRecord = (pNew + 1*20) + if (bIndirect == 0) || (bRebase == 0) { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = nRec + libc.Xmemcpy(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, aRec, uint32(nRec)) + } else { + var i int32 + var pIn uintptr = aRec + var pOut uintptr = (*SessionChange)(unsafe.Pointer(pNew)).FaRecord + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var nIn int32 = sessionSerialLen(tls, pIn) + if int32(*(*U8)(unsafe.Pointer(pIn))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } else if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else { + libc.Xmemcpy(tls, pOut, pIn, uint32(nIn)) + pOut += uintptr(nIn) + } + pIn += uintptr(nIn) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = ((int32(pOut) - int32((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1) + } + } else if bRebase != 0 { + if (int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) == SQLITE_DELETE) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0) { + *(*uintptr)(unsafe.Pointer(ppNew)) = pExist + } else { + var nByte Sqlite3_int64 = (Sqlite3_int64((uint32(nRec + (*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint32(unsafe.Sizeof(SessionChange{})))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var i int32 + var a1 uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var a2 uintptr = aRec + var pOut uintptr + + libc.Xmemset(tls, pNew, 0, uint32(nByte)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) || ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + pOut = libc.AssignPtrUintptr(pNew+12 /* &.aRecord */, (pNew + 1*20)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) || ((int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0) && (bIndirect != 0)) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else if int32(*(*U8)(unsafe.Pointer(a2))) == 0 { + libc.Xmemcpy(tls, pOut, a1, uint32(n1)) + pOut += uintptr(n1) + } else { + libc.Xmemcpy(tls, pOut, a2, uint32(n2)) + pOut += uintptr(n2) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = ((int32(pOut) - int32((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1) + } + Xsqlite3_free(tls, pExist) + } + } else { + var op1 int32 = int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) + + // op1=INSERT, op2=INSERT -> Unsupported. Discard op2. + // op1=INSERT, op2=UPDATE -> INSERT. + // op1=INSERT, op2=DELETE -> (none) + // + // op1=UPDATE, op2=INSERT -> Unsupported. Discard op2. + // op1=UPDATE, op2=UPDATE -> UPDATE. + // op1=UPDATE, op2=DELETE -> DELETE. + // + // op1=DELETE, op2=INSERT -> UPDATE. + // op1=DELETE, op2=UPDATE -> Unsupported. Discard op2. + // op1=DELETE, op2=DELETE -> Unsupported. Discard op2. + if ((((op1 == SQLITE_INSERT) && (op2 == SQLITE_INSERT)) || + ((op1 == SQLITE_UPDATE) && (op2 == SQLITE_INSERT))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_UPDATE))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_DELETE)) { + pNew = pExist + } else if (op1 == SQLITE_INSERT) && (op2 == SQLITE_DELETE) { + Xsqlite3_free(tls, pExist) + + } else { + var aExist uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var nByte Sqlite3_int64 + // var aCsr uintptr at bp+4, 4 + + // Allocate a new SessionChange object. Ensure that the aRecord[] + // buffer of the new object is large enough to hold any record that + // may be generated by combining the input records. + nByte = (Sqlite3_int64((uint32(unsafe.Sizeof(SessionChange{})) + uint32((*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint32(nRec))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if !(pNew != 0) { + Xsqlite3_free(tls, pExist) + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)) = libc.AssignPtrUintptr(pNew+12 /* &.aRecord */, (pNew + 1*20)) + + if op1 == SQLITE_INSERT { // INSERT + UPDATE + *(*uintptr)(unsafe.Pointer(bp /* a1 */)) = aRec + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_INSERT) + if bPatchset == 0 { + sessionSkipRecord(tls, bp /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + sessionMergeRecord(tls, bp+4 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aExist, *(*uintptr)(unsafe.Pointer(bp /* a1 */))) + } else if op1 == SQLITE_DELETE { // DELETE + INSERT + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)), aRec, uint32(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)) += uintptr(nRec) + } else { + if 0 == sessionMergeUpdate(tls, bp+4 /* &aCsr */, pTab, bPatchset, aExist, uintptr(0), aRec, uintptr(0)) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } + } else if op2 == SQLITE_UPDATE { // UPDATE + UPDATE + *(*uintptr)(unsafe.Pointer(bp + 8 /* a1 */)) = aExist + *(*uintptr)(unsafe.Pointer(bp + 12 /* a2 */)) = aRec + + if bPatchset == 0 { + sessionSkipRecord(tls, bp+8 /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + sessionSkipRecord(tls, bp+12 /* &a2 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if 0 == sessionMergeUpdate(tls, bp+4 /* &aCsr */, pTab, bPatchset, aRec, aExist, *(*uintptr)(unsafe.Pointer(bp + 8 /* a1 */)), *(*uintptr)(unsafe.Pointer(bp + 12 /* a2 */))) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } else { // UPDATE + DELETE + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_DELETE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)), aRec, uint32(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)) += uintptr(nRec) + } else { + sessionMergeRecord(tls, bp+4 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aRec, aExist) + } + } + + if pNew != 0 { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = ((int32(*(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */))) - int32((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1) + } + Xsqlite3_free(tls, pExist) + } + } + + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Add all changes in the changeset traversed by the iterator passed as +// the first argument to the changegroup hash tables. +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:211740:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aRec uintptr at bp, 4 + + // var nRec int32 at bp+4, 4 + + var rc int32 = SQLITE_OK + var pTab uintptr = uintptr(0) + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+4 /* &nRec */, uintptr(0)) { + // var zNew uintptr at bp+8, 4 + + // var nCol int32 at bp+12, 4 + + // var op int32 at bp+16, 4 + + var iHash int32 + // var bIndirect int32 at bp+20, 4 + + // var pChange uintptr at bp+28, 4 + + var pExist uintptr = uintptr(0) + var pp uintptr + + if (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = SQLITE_ERROR + break + } + + Xsqlite3changeset_op(tls, pIter, bp+8 /* &zNew */, bp+12 /* &nCol */, bp+16 /* &op */, bp+20 /* &bIndirect */) + if !(pTab != 0) || (Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)), (*SessionTable)(unsafe.Pointer(pTab)).FzName) != 0) { + // Search the list for a matching table + var nNew int32 = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)))) + // var abPK uintptr at bp+24, 4 + + Xsqlite3changeset_pk(tls, pIter, bp+24 /* &abPK */, uintptr(0)) + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)), (nNew+1)) { + break + } + } + if !(pTab != 0) { + var ppTab uintptr + + pTab = Xsqlite3_malloc64(tls, (uint64(((uint32(unsafe.Sizeof(SessionTable{})) + uint32(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) + uint32(nNew)) + uint32(1)))) + if !(pTab != 0) { + rc = SQLITE_NOMEM + break + } + libc.Xmemset(tls, pTab, 0, uint32(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 12 /* nCol */)) + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = (pTab + 1*36) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 24 /* abPK */)), uint32(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = ((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)), (uint32(nNew + 1))) + + // The new object must be linked on to the end of the list, not + // simply added to the start of it. This is to ensure that the + // tables within the output of sqlite3changegroup_output() are in + // the right order. + for ppTab = (pGrp + 8 /* &.pList */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } else if ((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp + 12 /* nCol */))) || (libc.Xmemcmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 24 /* abPK */)), uint32(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) != 0) { + rc = SQLITE_SCHEMA + break + } + } + + if sessionGrowHash(tls, uintptr(0), (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { + rc = SQLITE_NOMEM + break + } + iHash = int32(sessionChangeHash(tls, + pTab, (libc.Bool32(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0) && (*(*int32)(unsafe.Pointer(bp + 16 /* op */)) == SQLITE_DELETE))), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + // Search for existing entry. If found, remove it from the hash table. + // Code below may link it back in. + for pp = ((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = (*(*uintptr)(unsafe.Pointer(pp)) + 16 /* &.pNext */) { + var bPkOnly1 int32 = 0 + var bPkOnly2 int32 = 0 + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + bPkOnly1 = (libc.Bool32(int32((*SessionChange)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pp))))).Fop) == SQLITE_DELETE)) + bPkOnly2 = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 16 /* op */)) == SQLITE_DELETE)) + } + if sessionChangeEqual(tls, pTab, bPkOnly1, (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp /* aRec */))) != 0 { + pExist = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry-- + break + } + } + + rc = sessionChangeMerge(tls, pTab, bRebase, + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 16 /* op */)), *(*int32)(unsafe.Pointer(bp + 20 /* bIndirect */)), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+28 /* &pChange */) + if rc != 0 { + break + } + if *(*uintptr)(unsafe.Pointer(bp + 28 /* pChange */)) != 0 { + (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 28 /* pChange */)))).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)) = *(*uintptr)(unsafe.Pointer(bp + 28 /* pChange */)) + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + } + } + + if rc == SQLITE_OK { + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// Serialize a changeset (or patchset) based on all changesets (or patchsets) +// added to the changegroup object passed as the first argument. +// +// If xOutput is not NULL, then the changeset/patchset is returned to the +// user via one or more calls to xOutput, as with the other streaming +// interfaces. +// +// Or, if xOutput is NULL, then (*ppOut) is populated with a pointer to a +// buffer containing the output changeset before this function returns. In +// this case (*pnOut) is set to the size of the output buffer in bytes. It +// is the responsibility of the caller to free the output buffer using +// sqlite3_free() when it is no longer required. +// +// If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite +// error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut) +// are both set to 0 before returning. +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211863:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var pTab uintptr + + // Create the serialized output changeset based on the contents of the + // hash tables attached to the SessionTable objects in list p->pList. + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; (*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + var i int32 + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry == 0 { + continue + } + + sessionAppendTableHdr(tls, bp /* &buf */, (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch, pTab, bp+12 /* &rc */) + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); p != 0; p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).Fop, bp+12 /* &rc */) + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+12 /* &rc */) + sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+12 /* &rc */) + if ((*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 + } + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Allocate a new, empty, sqlite3_changegroup. +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:211914:16: */ + var rc int32 = SQLITE_OK // Return code + var p uintptr // New object + p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) + if p == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Sqlite3_changegroup{}))) + } + *(*uintptr)(unsafe.Pointer(pp)) = p + return rc +} + +// Add the changeset currently stored in buffer pData, size nData bytes, +// to changeset-group p. +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:211931:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nData, pData) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Obtain a buffer containing a changeset representing the concatenation +// of all changesets added to the group so far. +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:211947:16: */ + return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) +} + +// Streaming versions of changegroup_add(). +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:211958:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Streaming versions of changegroup_output(). +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:211977:16: */ + return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Delete a changegroup object. +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:211988:17: */ + if pGrp != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, pGrp) + } +} + +// Combine two changesets together. +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211998:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pGrp uintptr at bp, 4 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nLeft, pLeft) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nRight, pRight) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), pnOut, ppOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Streaming version of sqlite3changeset_concat(). +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212027:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pGrp uintptr at bp, 4 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputA, pInA) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputB, pInB) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xOutput, pOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Buffers a1 and a2 must both contain a sessions module record nCol +// fields in size. This function appends an nCol sessions module +// record to buffer pBuf that is a copy of a1, except that for +// each field that is undefined in a1[], swap in the field from a2[]. +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:212066:13: */ + sessionBufferGrow(tls, pBuf, (int64(n1 + n2)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var i int32 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + for i = 0; i < nCol; i++ { + var nn1 int32 = sessionSerialLen(tls, a1) + var nn2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0) || (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) { + libc.Xmemcpy(tls, pOut, a2, uint32(nn2)) + pOut += uintptr(nn2) + } else { + libc.Xmemcpy(tls, pOut, a1, uint32(nn1)) + pOut += uintptr(nn1) + } + a1 += uintptr(nn1) + a2 += uintptr(nn2) + } + + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = ((int32(pOut) - int32((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1) + + } +} + +// This function is called when rebasing a local UPDATE change against one +// or more remote UPDATE changes. The aRec/nRec buffer contains the current +// old.* and new.* records for the change. The rebase buffer (a single +// record) is in aChange/nChange. The rebased change is appended to buffer +// pBuf. +// +// Rebasing the UPDATE involves: +// +// * Removing any changes to fields for which the corresponding field +// in the rebase buffer is set to "replaced" (type 0xFF). If this +// means the UPDATE change updates no fields, nothing is appended +// to the output buffer. +// +// * For each field modified by the local change for which the +// corresponding field in the rebase buffer is not "undefined" (0x00) +// or "replaced" (0xFF), the old.* value is replaced by the value +// in the rebase buffer. +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:212115:13: */ + sessionBufferGrow(tls, pBuf, (int64((2 + nRec) + nChange)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var bData int32 = 0 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + var i int32 + var a1 uintptr = aRec + var a2 uintptr = aChange + + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(SQLITE_UPDATE) + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect) + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) == 0) { + if !(int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i)))) != 0) && (*(*U8)(unsafe.Pointer(a1)) != 0) { + bData = 1 + } + libc.Xmemcpy(tls, pOut, a1, uint32(n1)) + pOut += uintptr(n1) + } else if int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF { + bData = 1 + libc.Xmemcpy(tls, pOut, a2, uint32(n2)) + pOut += uintptr(n2) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + if bData != 0 { + a2 = aChange + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF) { + libc.Xmemcpy(tls, pOut, a1, uint32(n1)) + pOut += uintptr(n1) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = ((int32(pOut) - int32((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1) + } + } +} + +// pIter is configured to iterate through a changeset. This function rebases +// that changeset according to the current configuration of the rebaser +// object passed as the first argument. If no error occurs and argument xOutput +// is not NULL, then the changeset is returned to the caller by invoking +// xOutput zero or more times and SQLITE_OK returned. Or, if xOutput is NULL, +// then (*ppOut) is set to point to a buffer containing the rebased changeset +// before this function returns. In this case (*pnOut) is set to the size of +// the buffer in bytes. It is the responsibility of the caller to eventually +// free the (*ppOut) buffer using sqlite3_free(). +// +// If an error occurs, an SQLite error code is returned. If ppOut and +// pnOut are not NULL, then the two output parameters are set to 0 before +// returning. +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212183:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp /* aRec */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)) = 0 + *(*int32)(unsafe.Pointer(bp + 8 /* bNew */)) = 0 + var pTab uintptr = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 12 /* sOut */)) = SessionBuffer{} + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+4 /* &nRec */, bp+8 /* &bNew */) { + var pChange uintptr = uintptr(0) + var bDone int32 = 0 + + if *(*int32)(unsafe.Pointer(bp + 8 /* bNew */)) != 0 { + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + for pTab = (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_stricmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zTab) { + break + } + } + *(*int32)(unsafe.Pointer(bp + 8 /* bNew */)) = 0 + + // A patchset may not be rebased + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_ERROR + } + + // Append a table header to the output for this new table + sessionAppendByte(tls, bp+12 /* &sOut */, func() uint8 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), bp+24 /* &rc */) + sessionAppendVarint(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, (int32(libc.Xstrlen(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab)) + 1), bp+24 /* &rc */) + } + + if (pTab != 0) && (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) { + var iHash int32 = int32(sessionChangeHash(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + for pChange = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)); pChange != 0; pChange = (*SessionChange)(unsafe.Pointer(pChange)).FpNext { + if sessionChangeEqual(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), 0, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord) != 0 { + break + } + } + } + + if pChange != 0 { + + switch (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop { + case SQLITE_INSERT: + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + sessionAppendByte(tls, bp+12 /* &sOut */, uint8(SQLITE_UPDATE), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */) + } + } + break + fallthrough + + case SQLITE_UPDATE: + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_DELETE { + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + *(*uintptr)(unsafe.Pointer(bp + 28 /* pCsr */)) = *(*uintptr)(unsafe.Pointer(bp /* aRec */)) + sessionSkipRecord(tls, bp+28 /* &pCsr */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8(SQLITE_INSERT), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendRecordMerge(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + *(*uintptr)(unsafe.Pointer(bp + 28 /* pCsr */)), (*(*int32)(unsafe.Pointer(bp + 4 /* nRec */)) - ((int32(*(*uintptr)(unsafe.Pointer(bp + 28 /* pCsr */))) - int32(*(*uintptr)(unsafe.Pointer(bp /* aRec */)))) / 1)), + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+24 /* &rc */) + } + } else { + sessionAppendPartialUpdate(tls, bp+12 /* &sOut */, pIter, + *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+24 /* &rc */) + } + break + fallthrough + + default: + + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + sessionAppendByte(tls, bp+12 /* &sOut */, uint8(SQLITE_DELETE), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendRecordMerge(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */) + } + break + } + } + + if bDone == 0 { + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */) + } + if ((*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FnBuf = 0 + } + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0 { + break + } + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf) + libc.Xmemset(tls, bp+12 /* &sOut */, 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Create a new rebaser object. +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:212315:16: */ + var rc int32 = SQLITE_OK + var pNew uintptr + + pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_rebaser{}))) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(Sqlite3_rebaser{}))) + } + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Call this one or more times to configure a rebaser. +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:212332:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator opened on pData/nData + var rc int32 // Return code + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nRebase, pRebase) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), (p /* &.grp */), 1) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212349:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start(tls, bp /* &pIter */, nIn, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), uintptr(0), uintptr(0), pnOut, ppOut) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212368:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Destroy a rebaser object +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:212389:17: */ + if p != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, p) + } +} + +// Global configuration +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:212399:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_CONFIG_STRMSIZE: + { + var pInt uintptr = pArg + if *(*int32)(unsafe.Pointer(pInt)) > 0 { + sessions_strm_chunk_size = *(*int32)(unsafe.Pointer(pInt)) + } + *(*int32)(unsafe.Pointer(pInt)) = sessions_strm_chunk_size + break + + } + default: + rc = SQLITE_MISUSE + break + } + return rc +} + //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -166634,9 +172738,6 @@ type Fts5Global1 = struct { FpCsr uintptr } /* sqlite3.c:213118:9 */ -//************* End of dbpage.c ********************************************* -//************* Begin file sqlite3session.c ********************************* - //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -167450,7 +173551,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+37278 /* "fts5: parser sta..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+38631 /* "fts5: parser sta..." */, 0) //******* End %stack_overflow code ******************************************* (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument var @@ -167773,7 +173874,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+37306 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) + pParse, ts+38659 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) //*********** End %syntax_error code ***************************************** (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument variable @@ -168072,7 +174173,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+37337 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+38690 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } @@ -168146,7 +174247,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 37344 /* "wrong number of ..." */ + var zErr uintptr = ts + 38697 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -168312,7 +174413,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 900 /* "" */ + return ts + 915 /* "" */ } // Implementation of snippet() function. @@ -168339,7 +174440,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 37394 /* "wrong number of ..." */ + var zErr uintptr = ts + 38747 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -168680,13 +174781,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 defer tls.Free(48) *(*[3]Builtin)(unsafe.Pointer(bp /* aBuiltin */)) = [3]Builtin{ - {FzFunc: ts + 37442 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 38795 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5SnippetFunction}))}, - {FzFunc: ts + 37450 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 38803 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5HighlightFunction}))}, - {FzFunc: ts + 37460 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 38813 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5Bm25Function}))}, } @@ -169180,7 +175281,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+8061 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+8076 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -169358,7 +175459,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, ts+37465 /* "prefix" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+38818 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint32(unsafe.Sizeof(int32(0))) * uint32(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 @@ -169385,14 +175486,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+37472 /* "malformed prefix..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38825 /* "malformed prefix..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+37503 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) + ts+38856 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -169403,7 +175504,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37536 /* "prefix length ou..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38889 /* "prefix length ou..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -169416,7 +175517,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37573 /* "tokenize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+38926 /* "tokenize" */, 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 /* &rc */, (Sqlite3_int64(unsafe.Sizeof(uintptr(0))) * nArg)) @@ -169425,7 +175526,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+37582 /* "multiple tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38935 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { @@ -169444,7 +175545,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37615 /* "parse error in t..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38968 /* "parse error in t..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, @@ -169459,14 +175560,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37649 /* "content" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+39002 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37657 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39010 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = 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 /* &rc */, ts+37689 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40 /* &rc */, ts+39042 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } @@ -169474,9 +175575,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37695 /* "content_rowid" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+39048 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37709 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39062 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, zArg, -1) @@ -169484,9 +175585,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37747 /* "columnsize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+39100 /* "columnsize" */, 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+37758 /* "malformed column..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39111 /* "malformed column..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) @@ -169494,21 +175595,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+6992 /* "detail" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+7007 /* "detail" */, zCmd, nCmd) == 0 { *(*[4]Fts5Enum)(unsafe.Pointer(bp + 44 /* aDetail */)) = [4]Fts5Enum{ - {FzName: ts + 19256 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 19261 /* "full" */}, - {FzName: ts + 37793 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, + {FzName: ts + 19271 /* "none" */, FeVal: FTS5_DETAIL_NONE}, + {FzName: ts + 19276 /* "full" */}, + {FzName: ts + 39146 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } if libc.AssignPtrInt32(bp+40 /* rc */, fts5ConfigSetEnum(tls, bp+44 /* &aDetail[0] */, zArg, (pConfig+48 /* &.eDetail */))) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37801 /* "malformed detail..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39154 /* "malformed detail..." */, 0) } return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37832 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39185 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) return SQLITE_ERROR } @@ -169572,15 +175673,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+24849 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+10282 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37860 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) + if (0 == Xsqlite3_stricmp(tls, zCol, ts+24864 /* "rank" */)) || + (0 == Xsqlite3_stricmp(tls, zCol, ts+10297 /* "rowid" */)) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39213 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) rc = SQLITE_ERROR } else if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, ts+37890 /* "unindexed" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+39243 /* "unindexed" */) { *(*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+37900 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39253 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) rc = SQLITE_ERROR } } @@ -169598,13 +175699,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK *(*Fts5Buffer)(unsafe.Pointer(bp + 28 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+37931 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+39284 /* "T.%Q" */, 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 /* &rc */, bp+28 /* &buf */, ts+37936 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+39289 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+37943 /* ", T.c%d" */, libc.VaList(bp+16, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+39296 /* ", T.c%d" */, libc.VaList(bp+16, i)) } } } @@ -169652,8 +175753,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*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 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+24849 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37951 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+24864 /* "rank" */) == 0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39304 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } @@ -169686,7 +175787,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37980 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39333 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { @@ -169694,7 +175795,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*uintptr)(unsafe.Pointer(bp + 52 /* zTwo */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp + 52 /* zTwo */)) } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), pzErr) } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 44 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 52 /* zTwo */)), pzErr) @@ -169719,19 +175820,19 @@ 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 + 37649 /* "content" */ + zTail = ts + 39002 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 38000 /* "docsize" */ + zTail = ts + 39353 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+40 /* &rc */, ts+38008 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+40 /* &rc */, ts+39361 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+10282 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+10297 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -169780,18 +175881,18 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+38019 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39372 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 16621 /* ", " */ + return ts + 16636 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+38035 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4)))) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39388 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+38042, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+24849 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39395, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+24864 /* "rank" */)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -169931,7 +176032,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+38068 /* "pgsz" */) { + if 0 == Xsqlite3_stricmp(tls, zKey, ts+39421 /* "pgsz" */) { var pgsz int32 = 0 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -169941,7 +176042,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+38073 /* "hashsize" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39426 /* "hashsize" */) { var nHashSize int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -169951,7 +176052,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+38082 /* "automerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39435 /* "automerge" */) { var nAutomerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -169964,7 +176065,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+38092 /* "usermerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39445 /* "usermerge" */) { var nUsermerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -169974,7 +176075,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+38102 /* "crisismerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39455 /* "crisismerge" */) { var nCrisisMerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -169990,7 +176091,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+24849 /* "rank" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+24864 /* "rank" */) { var zIn uintptr = Xsqlite3_value_text(tls, pVal) // var zRank uintptr at bp, 4 @@ -170017,7 +176118,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(44) defer tls.Free(44) - var zSelect uintptr = ts + 38114 /* "SELECT k, v FROM..." */ + var zSelect uintptr = ts + 39467 /* "SELECT k, v FROM..." */ var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 36 /* p */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK @@ -170040,7 +176141,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 36 /* p */))) { var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 36 /* p */)), 0) var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 36 /* p */)), 1) - if 0 == Xsqlite3_stricmp(tls, zK, ts+38146 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+39499 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 40 /* bDummy */)) = 0 @@ -170055,7 +176156,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+38154, /* "invalid fts5 fil..." */ + ts+39507, /* "invalid fts5 fil..." */ libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } @@ -170189,7 +176290,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+38219 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+39572 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -170202,20 +176303,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+38239 /* "fts5: syntax err..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+39592 /* "fts5: syntax err..." */, 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+38270 /* "OR" */, uint32(2)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+39623 /* "OR" */, uint32(2)) == 0) { tok = FTS5_OR } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+38273 /* "NOT" */, uint32(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+39626 /* "NOT" */, uint32(3)) == 0) { tok = FTS5_NOT } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34350 /* "AND" */, uint32(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34365 /* "AND" */, uint32(3)) == 0) { tok = FTS5_AND } break @@ -172187,9 +178288,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli bp := tls.Alloc(16) defer tls.Free(16) - if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+38277 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0) { + if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+39630 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0) { sqlite3Fts5ParseError(tls, - pParse, ts+37306 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) + pParse, ts+38659 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -172205,7 +178306,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+38282 /* "expected integer..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp)) + pParse, ts+39635 /* "expected integer..." */, 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')) @@ -172302,7 +178403,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+23011 /* "no such column: ..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+23026 /* "no such column: ..." */, libc.VaList(bp, z)) } else { pRet = fts5ParseColset(tls, pParse, pColset, iCol) } @@ -172398,7 +178499,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE { (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+38311 /* "fts5: column que..." */, 0) + ts+39664 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -172582,12 +178683,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+38364, /* "fts5: %s queries..." */ + ts+39717, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 38414 /* "phrase" */ + return ts + 39767 /* "phrase" */ } - return ts + 38277 /* "NEAR" */ + return ts + 39630 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -172701,7 +178802,7 @@ func fts5PrintfAppend(tls *libc.TLS, zApp uintptr, zFmt uintptr, va uintptr) uin zNew = Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap if (zApp != 0) && (zNew != 0) { - var zNew2 uintptr = Xsqlite3_mprintf(tls, ts+6801 /* "%s%s" */, libc.VaList(bp, zApp, zNew)) + var zNew2 uintptr = Xsqlite3_mprintf(tls, ts+6816 /* "%s%s" */, libc.VaList(bp, zApp, zNew)) Xsqlite3_free(tls, zNew) zNew = zNew2 } @@ -172723,7 +178824,7 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var i int32 var iTerm int32 - zRet = fts5PrintfAppend(tls, zRet, ts+38421 /* "%s " */, libc.VaList(bp, zNearsetCmd)) + zRet = fts5PrintfAppend(tls, zRet, ts+39774 /* "%s " */, libc.VaList(bp, zNearsetCmd)) if zRet == uintptr(0) { return uintptr(0) } @@ -172731,13 +178832,13 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var aiCol uintptr = (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset + 4 /* &.aiCol */ var nCol int32 = (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol if nCol == 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38425 /* "-col %d " */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+39778 /* "-col %d " */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(aiCol)))) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+38434 /* "-col {%d" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+39787 /* "-col {%d" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) for i = 1; i < (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol; i++ { - zRet = fts5PrintfAppend(tls, zRet, ts+38443 /* " %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) + zRet = fts5PrintfAppend(tls, zRet, ts+39796 /* " %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) } - zRet = fts5PrintfAppend(tls, zRet, ts+38447 /* "} " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39800 /* "} " */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -172745,13 +178846,13 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38450 /* "-near %d " */, libc.VaList(bp+32, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+39803 /* "-near %d " */, libc.VaList(bp+32, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } } - zRet = fts5PrintfAppend(tls, zRet, ts+38460 /* "--" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39813 /* "--" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -172759,22 +178860,22 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((pNear + 12 /* &.apPhrase */) + uintptr(i)*4)) - zRet = fts5PrintfAppend(tls, zRet, ts+38463 /* " {" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39816 /* " {" */, 0) for iTerm = 0; (zRet != 0) && (iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm); iTerm++ { var zTerm uintptr = (*Fts5ExprTerm)(unsafe.Pointer((pPhrase + 20 /* &.aTerm */) + uintptr(iTerm)*16)).FzTerm - zRet = fts5PrintfAppend(tls, zRet, ts+6801 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+6816 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { if iTerm == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 12911 /* " " */ + return ts + 12926 /* " " */ }(), zTerm)) if (*Fts5ExprTerm)(unsafe.Pointer((pPhrase+20 /* &.aTerm */)+uintptr(iTerm)*16)).FbPrefix != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+21561 /* "*" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+21576 /* "*" */, 0) } } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+30989 /* "}" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+31004 /* "}" */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -172786,27 +178887,27 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var i int32 switch (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType { case FTS5_AND: - zOp = ts + 34350 /* "AND" */ + zOp = ts + 34365 /* "AND" */ break fallthrough case FTS5_NOT: - zOp = ts + 38273 /* "NOT" */ + zOp = ts + 39626 /* "NOT" */ break fallthrough default: - zOp = ts + 38270 /* "OR" */ + zOp = ts + 39623 /* "OR" */ break } - zRet = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+56, zOp)) + zRet = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+56, zOp)) for i = 0; (zRet != 0) && (i < (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FnChild); i++ { var z uintptr = fts5ExprPrintTcl(tls, pConfig, zNearsetCmd, *(*uintptr)(unsafe.Pointer((pExpr + 32 /* &.apChild */) + uintptr(i)*4))) if !(z != 0) { Xsqlite3_free(tls, zRet) zRet = uintptr(0) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+38466 /* " [%z]" */, libc.VaList(bp+64, z)) + zRet = fts5PrintfAppend(tls, zRet, ts+39819 /* " [%z]" */, libc.VaList(bp+64, z)) } } } @@ -172820,7 +178921,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s var zRet uintptr = uintptr(0) if (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == 0 { - return Xsqlite3_mprintf(tls, ts+38472 /* "\"\"" */, 0) + return Xsqlite3_mprintf(tls, ts+39825 /* "\"\"" */, 0) } else if ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_STRING) || ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_TERM) { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FpNear var i int32 @@ -172830,23 +178931,23 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s var ii int32 var pColset uintptr = (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset if (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38475 /* "{" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39828 /* "{" */, 0) } for ii = 0; ii < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; ii++ { - zRet = fts5PrintfAppend(tls, zRet, ts+6801, /* "%s%s" */ + zRet = fts5PrintfAppend(tls, zRet, ts+6816, /* "%s%s" */ libc.VaList(bp, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(*(*int32)(unsafe.Pointer((pColset + 4 /* &.aiCol */) + uintptr(ii)*4)))*4)), func() uintptr { if ii == ((*Fts5Colset)(unsafe.Pointer(pColset)).FnCol - 1) { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 12911 /* " " */ + return ts + 12926 /* " " */ }())) } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+38477 /* "%s : " */, libc.VaList(bp+16, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+39830 /* "%s : " */, libc.VaList(bp+16, func() uintptr { if (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol > 1 { - return ts + 30989 /* "}" */ + return ts + 31004 /* "}" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) } if zRet == uintptr(0) { @@ -172855,7 +178956,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38483 /* "NEAR(" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39836 /* "NEAR(" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -172864,7 +178965,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((pNear + 12 /* &.apPhrase */) + uintptr(i)*4)) if i != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+12911 /* " " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+12926 /* " " */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -172872,11 +178973,11 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s for iTerm = 0; iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; iTerm++ { var zTerm uintptr = fts5ExprTermPrint(tls, ((pPhrase + 20 /* &.aTerm */) + uintptr(iTerm)*16)) if zTerm != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+6801 /* "%s%s" */, libc.VaList(bp+24, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+6816 /* "%s%s" */, libc.VaList(bp+24, func() uintptr { if iTerm == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 38489 /* " + " */ + return ts + 39842 /* " + " */ }(), zTerm)) Xsqlite3_free(tls, zTerm) } @@ -172888,7 +178989,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38493 /* ", %d)" */, libc.VaList(bp+40, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+39846 /* ", %d)" */, libc.VaList(bp+40, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } @@ -172900,16 +179001,16 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s switch (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType { case FTS5_AND: - zOp = ts + 24058 /* " AND " */ + zOp = ts + 24073 /* " AND " */ break fallthrough case FTS5_NOT: - zOp = ts + 38499 /* " NOT " */ + zOp = ts + 39852 /* " NOT " */ break fallthrough default: - zOp = ts + 38505 /* " OR " */ + zOp = ts + 37518 /* " OR " */ break } @@ -172921,23 +179022,23 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } else { var e int32 = (*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((pExpr + 32 /* &.apChild */) + uintptr(i)*4)))).FeType var b int32 = (libc.Bool32(((e != FTS5_STRING) && (e != FTS5_TERM)) && (e != FTS5_EOF))) - zRet = fts5PrintfAppend(tls, zRet, ts+38510, /* "%s%s%z%s" */ + zRet = fts5PrintfAppend(tls, zRet, ts+39858, /* "%s%s%z%s" */ libc.VaList(bp+48, func() uintptr { if i == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } return zOp }(), func() uintptr { if b != 0 { - return ts + 24064 /* "(" */ + return ts + 24079 /* "(" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), z, func() uintptr { if b != 0 { - return ts + 6872 /* ")" */ + return ts + 6887 /* ")" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) } if zRet == uintptr(0) { @@ -172963,18 +179064,18 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT var rc int32 var i int32 var azConfig uintptr // Array of arguments for Fts5Config - var zNearsetCmd uintptr = ts + 38519 /* "nearset" */ + var zNearsetCmd uintptr = ts + 39867 /* "nearset" */ var nConfig int32 // Size of azConfig[] *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)) = uintptr(0) var iArg int32 = 1 if nArg < 1 { - *(*uintptr)(unsafe.Pointer(bp + 12 /* zErr */)) = Xsqlite3_mprintf(tls, ts+38527, /* "wrong number of ..." */ + *(*uintptr)(unsafe.Pointer(bp + 12 /* zErr */)) = Xsqlite3_mprintf(tls, ts+39875, /* "wrong number of ..." */ libc.VaList(bp, func() uintptr { if bTcl != 0 { - return ts + 38568 /* "fts5_expr_tcl" */ + return ts + 39916 /* "fts5_expr_tcl" */ } - return ts + 38582 /* "fts5_expr" */ + return ts + 39930 /* "fts5_expr" */ }())) Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 12 /* zErr */)), -1) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* zErr */))) @@ -172993,21 +179094,21 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT return } *(*uintptr)(unsafe.Pointer(azConfig)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(azConfig + 1*4)) = ts + 8551 /* "main" */ - *(*uintptr)(unsafe.Pointer(azConfig + 2*4)) = ts + 13506 /* "tbl" */ + *(*uintptr)(unsafe.Pointer(azConfig + 1*4)) = ts + 8566 /* "main" */ + *(*uintptr)(unsafe.Pointer(azConfig + 2*4)) = ts + 13521 /* "tbl" */ for i = 3; iArg < nArg; iArg++ { var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iArg)*4))) *(*uintptr)(unsafe.Pointer(azConfig + uintptr(libc.PostIncInt32(&i, 1))*4)) = func() uintptr { if z != 0 { return z } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() } zExpr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))) if zExpr == uintptr(0) { - zExpr = ts + 900 /* "" */ + zExpr = ts + 915 /* "" */ } rc = sqlite3Fts5ConfigParse(tls, pGlobal, db, nConfig, azConfig, bp+8 /* &pConfig */, bp+12 /* &zErr */) @@ -173017,7 +179118,7 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT if rc == SQLITE_OK { var zText uintptr if (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */)))).FpRoot)).FxNext == uintptr(0) { - zText = Xsqlite3_mprintf(tls, ts+900 /* "" */, 0) + zText = Xsqlite3_mprintf(tls, ts+915 /* "" */, 0) } else if bTcl != 0 { zText = fts5ExprPrintTcl(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)), zNearsetCmd, (*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */)))).FpRoot) } else { @@ -173064,13 +179165,13 @@ func fts5ExprIsAlnum(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { / if nArg != 1 { Xsqlite3_result_error(tls, pCtx, - ts+38592 /* "wrong number of ..." */, -1) + ts+39940 /* "wrong number of ..." */, -1) return } libc.Xmemset(tls, bp /* &aArr[0] */, 0, uint32(unsafe.Sizeof([32]U8{}))) - sqlite3Fts5UnicodeCatParse(tls, ts+38643 /* "L*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+38646 /* "N*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+38649 /* "Co" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+39991 /* "L*" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+39994 /* "N*" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+39997 /* "Co" */, bp /* &aArr[0] */) iCode = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal))) Xsqlite3_result_int(tls, pCtx, int32(*(*U8)(unsafe.Pointer(bp /* &aArr[0] */ + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode))))))) } @@ -173078,7 +179179,7 @@ func fts5ExprIsAlnum(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { / func fts5ExprFold(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:220197:13: */ if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, pCtx, - ts+38652 /* "wrong number of ..." */, -1) + ts+40000 /* "wrong number of ..." */, -1) } else { var iCode int32 var bRemoveDiacritics int32 = 0 @@ -173097,16 +179198,16 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* defer tls.Free(32) *(*[4]Fts5ExprFunc)(unsafe.Pointer(bp /* aFunc */)) = [4]Fts5ExprFunc{ - {Fz: ts + 38582 /* "fts5_expr" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 39930 /* "fts5_expr" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFunctionHr}))}, - {Fz: ts + 38568 /* "fts5_expr_tcl" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 39916 /* "fts5_expr_tcl" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFunctionTcl}))}, - {Fz: ts + 38700 /* "fts5_isalnum" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 40048 /* "fts5_isalnum" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprIsAlnum}))}, - {Fz: ts + 38713 /* "fts5_fold" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 40061 /* "fts5_fold" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFold}))}, } @@ -174520,7 +180621,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 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+38723 /* "block" */, iRowid, 0, (p + 36 /* &.pReader */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+40071 /* "block" */, iRowid, 0, (p + 36 /* &.pReader */)) } // If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls @@ -174608,7 +180709,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 /* &.pWriter */), Xsqlite3_mprintf(tls, - ts+38729, /* "REPLACE INTO '%q..." */ + ts+40077, /* "REPLACE INTO '%q..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return @@ -174636,7 +180737,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig var zSql uintptr = Xsqlite3_mprintf(tls, - ts+38780, /* "DELETE FROM '%q'..." */ + ts+40128, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if fts5IndexPrepareStmt(tls, p, (p+44 /* &.pDeleter */), zSql) != 0 { return @@ -174660,7 +180761,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 52 /* &.pIdxDeleter */), Xsqlite3_mprintf(tls, - ts+38829, /* "DELETE FROM '%q'..." */ + ts+40177, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -174868,7 +180969,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12 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 /* &.pDataVersion */), - Xsqlite3_mprintf(tls, ts+38869 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + Xsqlite3_mprintf(tls, ts+40217 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return int64(0) } @@ -176303,7 +182404,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:2 var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 56 /* &.pIdxSelect */), Xsqlite3_mprintf(tls, - ts+38892, /* "SELECT pgno FROM..." */ + ts+40240, /* "SELECT pgno FROM..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect @@ -177559,7 +183660,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { return (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -177900,7 +184001,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 /* &.pIdxWriter */), Xsqlite3_mprintf(tls, - ts+38976, /* "INSERT INTO '%q'..." */ + ts+40324, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -179116,7 +185217,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 fts5StructureInvalidate(tls, p) fts5IndexDiscardData(tls, p) libc.Xmemset(tls, bp /* &s */, 0, uint32(unsafe.Sizeof(Fts5Structure{}))) - fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+900 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+915 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -179137,13 +185238,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == 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 /* &rc */, ts+39033 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8 /* &rc */, ts+40381 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, - pConfig, ts+29381 /* "data" */, ts+39041 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+29396 /* "data" */, ts+40389 /* "id INTEGER PRIMA..." */, 0, pzErr) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+13502, /* "idx" */ - ts+39076, /* "segid, term, pgn..." */ + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+13517, /* "idx" */ + ts+40424, /* "segid, term, pgn..." */ 1, pzErr) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { @@ -179449,7 +185550,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3Fts5Put32(tls, bp /* &aCookie[0] */, iNew) rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, - ts+38723 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+4 /* &pBlob */) + ts+40071 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+4 /* &pBlob */) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* pBlob */)), bp /* &aCookie[0] */, 4, 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* pBlob */))) @@ -179586,7 +185687,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+39120, /* "SELECT segid, te..." */ + ts+40468, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. @@ -179796,7 +185897,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks } else { (*Fts5Buffer)(unsafe.Pointer(bp + 8 /* &poslist */)).Fn = 0 fts5SegiterPoslist(tls, p, ((*(*uintptr)(unsafe.Pointer(bp /* pIter */)) + 68 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter */)))).FaFirst+1*4)).FiFirst)*92), uintptr(0), bp+8 /* &poslist */) - sqlite3Fts5BufferAppendBlob(tls, (p + 32 /* &.rc */), bp+8 /* &poslist */, uint32(4), ts+39206 /* "\x00\x00\x00\x00" */) + sqlite3Fts5BufferAppendBlob(tls, (p + 32 /* &.rc */), bp+8 /* &poslist */, uint32(4), ts+40554 /* "\x00\x00\x00\x00" */) for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+8 /* &poslist */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+8 /* &poslist */)).Fn, bp+20 /* &iOff */, bp+24 /* &iPos */) { var iCol int32 = (int32(*(*I64)(unsafe.Pointer(bp + 24 /* iPos */)) >> 32)) var iTokOff int32 = (int32(*(*I64)(unsafe.Pointer(bp + 24 /* iPos */)) & int64(0x7FFFFFFF))) @@ -179852,17 +185953,17 @@ func fts5DebugRowid(tls *libc.TLS, pRc uintptr, pBuf uintptr, iKey I64) { /* sql if *(*int32)(unsafe.Pointer(bp + 32 /* iSegid */)) == 0 { if iKey == int64(FTS5_AVERAGES_ROWID) { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39211 /* "{averages} " */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40559 /* "{averages} " */, 0) } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39223 /* "{structure}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40571 /* "{structure}" */, 0) } } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39235, /* "{%ssegid=%d h=%d..." */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40583, /* "{%ssegid=%d h=%d..." */ libc.VaList(bp, func() uintptr { if *(*int32)(unsafe.Pointer(bp + 36 /* bDlidx */)) != 0 { - return ts + 39261 /* "dlidx " */ + return ts + 40609 /* "dlidx " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), *(*int32)(unsafe.Pointer(bp + 32 /* iSegid */)), *(*int32)(unsafe.Pointer(bp + 40 /* iHeight */)), *(*int32)(unsafe.Pointer(bp + 44 /* iPgno */)))) } } @@ -179877,13 +185978,13 @@ func fts5DebugStructure(tls *libc.TLS, pRc uintptr, pBuf uintptr, p uintptr) { / for iLvl = 0; iLvl < (*Fts5Structure)(unsafe.Pointer(p)).FnLevel; iLvl++ { var pLvl uintptr = ((p + 20 /* &.aLevel */) + uintptr(iLvl)*12) sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, - ts+39268 /* " {lvl=%d nMerge=..." */, libc.VaList(bp, iLvl, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnMerge, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg)) + ts+40616 /* " {lvl=%d nMerge=..." */, libc.VaList(bp, iLvl, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnMerge, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg)) for iSeg = 0; iSeg < (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg; iSeg++ { var pSeg uintptr = ((*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FaSeg + uintptr(iSeg)*12) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39295, /* " {id=%d leaves=%..." */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40643, /* " {id=%d leaves=%..." */ libc.VaList(bp+24, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast)) } - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+30989 /* "}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+31004 /* "}" */, 0) } } @@ -179919,14 +186020,14 @@ func fts5DecodeAverages(tls *libc.TLS, pRc uintptr, pBuf uintptr, pBlob uintptr, defer tls.Free(24) var i int32 = 0 - var zSpace uintptr = ts + 900 /* "" */ + var zSpace uintptr = ts + 915 /* "" */ for i < nBlob { // var iVal U64 at bp+16, 8 i = i + (int32(sqlite3Fts5GetVarint(tls, (pBlob + uintptr(i)), bp+16 /* &iVal */))) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39318 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 16 /* iVal */))))) - zSpace = ts + 12911 /* " " */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40666 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 16 /* iVal */))))) + zSpace = ts + 12926 /* " " */ } } @@ -179944,7 +186045,7 @@ func fts5DecodePoslist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // var iVal int32 at bp+8, 4 iOff = iOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff)), bp+8 /* &iVal */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+38443 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* iVal */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39796 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* iVal */)))) } return iOff } @@ -179964,7 +186065,7 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in if n > 0 { iOff = int32(sqlite3Fts5GetVarint(tls, a, bp+32 /* &iDocid */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39323 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40671 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) } for iOff < n { // var nPos int32 at bp+40, 4 @@ -179972,11 +186073,11 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // var bDel int32 at bp+44, 4 iOff = iOff + (fts5GetPoslistSize(tls, (a + uintptr(iOff)), bp+40 /* &nPos */, bp+44 /* &bDel */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39332 /* " nPos=%d%s" */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(bp + 40 /* nPos */)), func() uintptr { + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40680 /* " nPos=%d%s" */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(bp + 40 /* nPos */)), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 44 /* bDel */)) != 0 { - return ts + 21561 /* "*" */ + return ts + 21576 /* "*" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) iOff = iOff + (fts5DecodePoslist(tls, pRc, pBuf, (a + uintptr(iOff)), func() int32 { if (n - iOff) < (*(*int32)(unsafe.Pointer(bp + 40 /* nPos */))) { @@ -179989,7 +186090,7 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in iOff = iOff + (int32(sqlite3Fts5GetVarint(tls, (a + uintptr(iOff)), bp+48 /* &iDelta */))) *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)) += *(*I64)(unsafe.Pointer(bp + 48 /* iDelta */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39323 /* " id=%lld" */, libc.VaList(bp+24, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40671 /* " id=%lld" */, libc.VaList(bp+24, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) } } @@ -180015,7 +186116,7 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr var iRowid I64 = int64(0) for i < nData { - var zApp uintptr = ts + 900 /* "" */ + var zApp uintptr = ts + 915 /* "" */ // var iVal U64 at bp+16, 8 i = i + (int32(sqlite3Fts5GetVarint(tls, (pData + uintptr(i)), bp+16 /* &iVal */))) @@ -180025,13 +186126,13 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr i++ if (i < nData) && (int32(*(*U8)(unsafe.Pointer(pData + uintptr(i)))) == 0x00) { i++ - zApp = ts + 39343 /* "+" */ + zApp = ts + 40691 /* "+" */ } else { - zApp = ts + 21561 /* "*" */ + zApp = ts + 21576 /* "*" */ } } - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39345 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40693 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) } } @@ -180138,7 +186239,7 @@ __5: goto __7 } sqlite3Fts5BufferAppendPrintf(tls, bp+60 /* &rc */, bp+48, /* &s */ - ts+39353 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+80 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+80 /* &lvl */)).FiRowid)) + ts+40701 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+80 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+80 /* &lvl */)).FiRowid)) goto __6 __6: fts5DlidxLvlNext(tls, bp+80 /* &lvl */) @@ -180193,7 +186294,7 @@ __16: (*Fts5Buffer)(unsafe.Pointer(bp + 120 /* &term */)).Fn = *(*int32)(unsafe.Pointer(bp + 144 /* nKeep */)) sqlite3Fts5BufferAppendBlob(tls, bp+60 /* &rc */, bp+120 /* &term */, uint32(*(*int32)(unsafe.Pointer(bp + 136 /* nAppend */))), (a + uintptr(iOff))) sqlite3Fts5BufferAppendPrintf(tls, - bp+60 /* &rc */, bp+48 /* &s */, ts+39363 /* " term=%.*s" */, libc.VaList(bp+16, (*Fts5Buffer)(unsafe.Pointer(bp+120 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+120 /* &term */)).Fp)) + bp+60 /* &rc */, bp+48 /* &s */, ts+40711 /* " term=%.*s" */, libc.VaList(bp+16, (*Fts5Buffer)(unsafe.Pointer(bp+120 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+120 /* &term */)).Fp)) iOff = iOff + (*(*int32)(unsafe.Pointer(bp + 136 /* nAppend */))) // Figure out where the doclist for this term ends @@ -180232,7 +186333,7 @@ __12: if !(n < 4) { goto __21 } - sqlite3Fts5BufferSet(tls, bp+60 /* &rc */, bp+48 /* &s */, 7, ts+39374 /* "corrupt" */) + sqlite3Fts5BufferSet(tls, bp+60 /* &rc */, bp+48 /* &s */, 7, ts+40722 /* "corrupt" */) goto decode_out goto __22 __21: @@ -180354,7 +186455,7 @@ __39: iOff1 = iOff1 + (*(*int32)(unsafe.Pointer(bp + 164 /* nByte */))) sqlite3Fts5BufferAppendPrintf(tls, - bp+60 /* &rc */, bp+48 /* &s */, ts+39363 /* " term=%.*s" */, libc.VaList(bp+32, (*Fts5Buffer)(unsafe.Pointer(bp+148 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+148 /* &term1 */)).Fp)) + bp+60 /* &rc */, bp+48 /* &s */, ts+40711 /* " term=%.*s" */, libc.VaList(bp+32, (*Fts5Buffer)(unsafe.Pointer(bp+148 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+148 /* &term1 */)).Fp)) iOff1 = iOff1 + (fts5DecodeDoclist(tls, bp+60 /* &rc */, bp+48 /* &s */, (a + uintptr(iOff1)), (iEnd - iOff1))) goto __32 __33: @@ -180386,16 +186487,16 @@ __41: func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:227717:13: */ var zArg uintptr if nArg == 0 { - Xsqlite3_result_error(tls, pCtx, ts+39382 /* "should be: fts5_..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+40730 /* "should be: fts5_..." */, -1) } else { zArg = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))) - if 0 == Xsqlite3_stricmp(tls, zArg, ts+39419 /* "segment" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+40767 /* "segment" */) { var iRowid I64 var segid int32 var pgno int32 if nArg != 3 { Xsqlite3_result_error(tls, pCtx, - ts+39427 /* "should be: fts5_..." */, -1) + ts+40775 /* "should be: fts5_..." */, -1) } else { segid = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*4))) pgno = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal + 2*4))) @@ -180404,7 +186505,7 @@ func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { } } else { Xsqlite3_result_error(tls, pCtx, - ts+39474 /* "first arg to fts..." */, -1) + ts+40822 /* "first arg to fts..." */, -1) } } } @@ -180417,13 +186518,13 @@ func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { // SQLite error code is returned instead. func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:227757:12: */ var rc int32 = Xsqlite3_create_function(tls, - db, ts+39518 /* "fts5_decode" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + db, ts+40866 /* "fts5_decode" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5DecodeFunction})), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+39530 /* "fts5_decode_none" */, 2, + db, ts+40878 /* "fts5_decode_none" */, 2, SQLITE_UTF8, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5DecodeFunction})), uintptr(0), uintptr(0)) @@ -180431,7 +186532,7 @@ func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:227757 if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+39547 /* "fts5_rowid" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + db, ts+40895 /* "fts5_rowid" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5RowidFunction})), uintptr(0), uintptr(0)) } @@ -180809,7 +186910,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+39558 /* "recursively defi..." */, 0) + ts+40906 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -180843,7 +186944,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } else if iCol >= 0 { bSeenMatch = 1 *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('M') - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6830 /* "%d" */, libc.VaList(bp, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6845 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) } @@ -180859,7 +186960,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6830 /* "%d" */, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6845 /* "%d" */, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -181202,7 +187303,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: rc = Xsqlite3_reset(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -181234,7 +187335,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, uint32(SQLITE_PREPARE_PERSISTENT), bp+8 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -181273,25 +187374,25 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 // // If SQLite a built-in statement cache, this wouldn't be a problem. rc = fts5PrepareStatement(tls, (pSorter /* &.pStmt */), pConfig, - ts+39597, /* "SELECT rowid, ra..." */ + ts+40945, /* "SELECT rowid, ra..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, func() uintptr { if zRankArgs != 0 { - return ts + 16621 /* ", " */ + return ts + 16636 /* ", " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 39652 /* "DESC" */ + return ts + 41000 /* "DESC" */ } - return ts + 39657 /* "ASC" */ + return ts + 41005 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -181342,13 +187443,13 @@ 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+39661 /* "reads" */, z, n)) { + if (n == 5) && (0 == Xsqlite3_strnicmp(tls, ts+41009 /* "reads" */, 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+6974 /* "id" */, z, n)) { + } else if (n == 2) && (0 == Xsqlite3_strnicmp(tls, ts+6989 /* "id" */, z, n)) { (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { // An unrecognized directive. Return an error message. - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+39667 /* "unknown special ..." */, libc.VaList(bp, n, z)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+41015 /* "unknown special ..." */, libc.VaList(bp, n, z)) rc = SQLITE_ERROR } @@ -181383,7 +187484,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+39695 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+41043 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 20 /* pStmt */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, @@ -181415,7 +187516,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+39705 /* "no such function..." */, libc.VaList(bp+8, zRank)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+41053 /* "no such function..." */, libc.VaList(bp+8, zRank)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } } @@ -181447,14 +187548,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin *(*int32)(unsafe.Pointer(pCsr + 56 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+39726 /* "parse error in r..." */, libc.VaList(bp, z)) + ts+41074 /* "parse error in r..." */, 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 + 37460 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 38813 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -181520,7 +187621,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+39558 /* "recursively defi..." */, 0) + ts+40906 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -181566,7 +187667,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 900 /* "" */ + zText = ts + 915 /* "" */ __14: ; iCol = 0 @@ -181755,7 +187856,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+39759 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + ts+41107 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = SQLITE_ERROR goto __41 __40: @@ -181892,7 +187993,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql rc = (SQLITE_CORRUPT | (int32(1) << 8)) } else if (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) + ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) } } } @@ -181929,29 +188030,29 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) var rc int32 = SQLITE_OK *(*int32)(unsafe.Pointer(bp /* bError */)) = 0 - if 0 == Xsqlite3_stricmp(tls, ts+39795 /* "delete-all" */, zCmd) { + if 0 == Xsqlite3_stricmp(tls, ts+41143 /* "delete-all" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { fts5SetVtabError(tls, pTab, - ts+39806 /* "'delete-all' may..." */, 0) + ts+41154 /* "'delete-all' may..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+39886 /* "rebuild" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+41234 /* "rebuild" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE { fts5SetVtabError(tls, pTab, - ts+39894 /* "'rebuild' may no..." */, 0) + ts+41242 /* "'rebuild' may no..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+18856 /* "optimize" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+18871 /* "optimize" */, zCmd) { rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) - } else if 0 == Xsqlite3_stricmp(tls, ts+39950 /* "merge" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+41298 /* "merge" */, 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+39956 /* "integrity-check" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+41304 /* "integrity-check" */, zCmd) { var iArg int32 = Xsqlite3_value_int(tls, pVal) rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg) } else { @@ -182025,7 +188126,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // A "special" INSERT op. These are handled separately. var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*4))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && - (0 == Xsqlite3_stricmp(tls, ts+19395 /* "delete" */, z)) { + (0 == Xsqlite3_stricmp(tls, ts+19410 /* "delete" */, z)) { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*4))) @@ -182050,12 +188151,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // This is not suported. if (eType0 == SQLITE_INTEGER) && (fts5IsContentless(tls, pTab) != 0) { (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+39972, /* "cannot %s conten..." */ + ts+41320, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 22807 /* "UPDATE" */ + return ts + 22822 /* "UPDATE" */ } - return ts + 40009 /* "DELETE from" */ + return ts + 41357 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -182725,7 +188826,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+40021 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) + var zErr uintptr = Xsqlite3_mprintf(tls, ts+41369 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } else { @@ -183030,7 +189131,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+40042 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41390 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 8 /* &.x */ /* &.xCreate */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { @@ -183047,7 +189148,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg (*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = (pMod + 8 /* &.x */) if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40064 /* "error in tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41412 /* "error in tokeniz..." */, 0) } } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls, @@ -183094,7 +189195,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s var ppApi uintptr _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+40095 /* "fts5_api_ptr" */) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+41443 /* "fts5_api_ptr" */) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = (pGlobal /* &.api */) } @@ -183105,7 +189206,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+40108 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, pCtx, ts+41456 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) } // Return true if zName is the extension on one of the shadow tables used @@ -183121,7 +189222,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 40199 /* "config" */, ts + 37649 /* "content" */, ts + 29381 /* "data" */, ts + 38000 /* "docsize" */, ts + 13502, /* "idx" */ + ts + 41547 /* "config" */, ts + 39002 /* "content" */, ts + 29396 /* "data" */, ts + 39353 /* "docsize" */, ts + 13517, /* "idx" */ } /* sqlite3.c:230593:21 */ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ @@ -183145,7 +189246,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ (*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+40206 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) + rc = Xsqlite3_create_module_v2(tls, db, ts+41554 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) if rc == SQLITE_OK { rc = sqlite3Fts5IndexInit(tls, db) } @@ -183163,13 +189264,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+40206 /* "fts5" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+41554 /* "fts5" */, 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+40211 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+41559 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5SourceIdFunc})), uintptr(0), uintptr(0)) } @@ -183235,20 +189336,20 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p if *(*uintptr)(unsafe.Pointer((p + 24 /* &.aStmt */) + uintptr(eStmt)*4)) == uintptr(0) { *(*[11]uintptr)(unsafe.Pointer(bp + 128 /* azStmt */)) = [11]uintptr{ - ts + 40226, /* "SELECT %s FROM %..." */ - ts + 40294, /* "SELECT %s FROM %..." */ - ts + 40363, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 41574, /* "SELECT %s FROM %..." */ + ts + 41642, /* "SELECT %s FROM %..." */ + ts + 41711, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 40396, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 40435, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 40475, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 40514, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 40555, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE + ts + 41744, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT + ts + 41783, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT + ts + 41823, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT + ts + 41862, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE + ts + 41903, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE - ts + 40594, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 41942, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 40636, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 40676, /* "SELECT %s FROM %..." */ // SCAN + ts + 41984, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG + ts + 42024, /* "SELECT %s FROM %..." */ // SCAN } var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr = uintptr(0) @@ -183315,7 +189416,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -183353,18 +189454,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+40699, /* "DROP TABLE IF EX..." */ + ts+42047, /* "DROP TABLE IF EX..." */ 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+40803, /* "DROP TABLE IF EX..." */ + ts+42151, /* "DROP TABLE IF EX..." */ 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+40841, /* "DROP TABLE IF EX..." */ + ts+42189, /* "DROP TABLE IF EX..." */ libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc @@ -183376,7 +189477,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+40879, /* "ALTER TABLE %Q.'..." */ + ts+42227, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -183388,14 +189489,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp /* rc */)) = sqlite3Fts5StorageSync(tls, pStorage) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+29381 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+13502 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+40199 /* "config" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+29396 /* "data" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+13517 /* "idx" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+41547 /* "config" */, zName) if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+38000 /* "docsize" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+39353 /* "docsize" */, zName) } if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+37649 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+39002 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -183409,17 +189510,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn var rc int32 *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+40921, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+42269, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { - return ts + 33996 /* " WITHOUT ROWID" */ + return ts + 34011 /* " WITHOUT ROWID" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+40951, /* "fts5: error crea..." */ + ts+42299, /* "fts5: error crea..." */ libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } @@ -183461,27 +189562,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+40995 /* "id INTEGER PRIMA..." */, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, ts+42343 /* "id INTEGER PRIMA..." */, 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+41018 /* ", c%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, (nDefn - iOff), (zDefn + uintptr(iOff)), ts+42366 /* ", c%d" */, libc.VaList(bp, i)) iOff = iOff + (int32(libc.Xstrlen(tls, (zDefn + uintptr(iOff))))) } - rc = sqlite3Fts5CreateTable(tls, pConfig, ts+37649 /* "content" */, zDefn, 0, pzErr) + rc = sqlite3Fts5CreateTable(tls, pConfig, ts+39002 /* "content" */, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+38000 /* "docsize" */, ts+41024 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+39353 /* "docsize" */, ts+42372 /* "id INTEGER PRIMA..." */, 0, pzErr) } if rc == SQLITE_OK { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+40199 /* "config" */, ts+41056 /* "k PRIMARY KEY, v" */, 1, pzErr) + pConfig, ts+41547 /* "config" */, ts+42404 /* "k PRIMARY KEY, v" */, 1, pzErr) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+38146 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+39499 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -183718,12 +189819,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: // Delete the contents of the %_data and %_docsize tables. rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+41073, /* "DELETE FROM %Q.'..." */ + ts+42421, /* "DELETE FROM %Q.'..." */ 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+41123, /* "DELETE FROM %Q.'..." */ + ts+42471, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -183733,7 +189834,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+38146 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+39499 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -183928,7 +190029,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+41152, /* "SELECT count(*) ..." */ + zSql = Xsqlite3_mprintf(tls, ts+42500, /* "SELECT count(*) ..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -184125,14 +190226,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // number of rows. if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { *(*I64)(unsafe.Pointer(bp + 36 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+37649 /* "content" */, bp+36 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+39002 /* "content" */, bp+36 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 36 /* nRow */)) != (*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 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+38000 /* "docsize" */, bp+44 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+39353 /* "docsize" */, bp+44 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 44 /* nRow */)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) } @@ -184368,9 +190469,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, libc.Xmemcpy(tls, p /* &.aTokenChar */, 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+41184 /* "tokenchars" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42532 /* "tokenchars" */) { fts5AsciiAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+41195 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42543 /* "separators" */) { fts5AsciiAddExceptions(tls, p, zArg, 0) } else { rc = SQLITE_ERROR @@ -184609,7 +190710,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 + 41206 /* "L* N* Co" */ + var zCat uintptr = ts + 42554 /* "L* N* Co" */ var i int32 libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Unicode61Tokenizer{}))) @@ -184622,7 +190723,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Search for a "categories" argument for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+41215 /* "categories" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42563 /* "categories" */) { zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*4)) } } @@ -184633,18 +190734,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+41226 /* "remove_diacritic..." */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42574 /* "remove_diacritic..." */) { 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+41184 /* "tokenchars" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42532 /* "tokenchars" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+41195 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42543 /* "separators" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 0) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+41215 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42563 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -184956,7 +191057,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 /* pUserdata */)) = uintptr(0) - var zBase uintptr = ts + 41244 /* "unicode61" */ + var zBase uintptr = ts + 42592 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -185107,7 +191208,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41254 /* "al" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42602 /* "al" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -185115,11 +191216,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41257 /* "ance" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42605 /* "ance" */, (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+41262 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42610 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -185127,7 +191228,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41267 /* "er" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42615 /* "er" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -185135,7 +191236,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41270 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42618 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -185143,11 +191244,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41273 /* "able" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42621 /* "able" */, (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+41278 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42626 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -185155,19 +191256,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41283 /* "ant" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42631 /* "ant" */, (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+41287 /* "ement" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42635 /* "ement" */, (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+41293 /* "ment" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42641 /* "ment" */, (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+41298 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42646 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185175,11 +191276,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41302 /* "ion" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42650 /* "ion" */, (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+41306 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42654 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -185187,7 +191288,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41309 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42657 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185195,11 +191296,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41313 /* "ate" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42661 /* "ate" */, (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+41317 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42665 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185207,7 +191308,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41321 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42669 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185215,7 +191316,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41325 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42673 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185223,7 +191324,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41329 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42677 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185240,24 +191341,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41333 /* "at" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+41313 /* "ate" */, uint32(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42681 /* "at" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42661 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'b': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41336 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+41339 /* "ble" */, uint32(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42684 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42687 /* "ble" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41343 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+41329 /* "ize" */, uint32(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42691 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42677 /* "ize" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } @@ -185273,137 +191374,137 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41346 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42694 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41313 /* "ate" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42661 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+41354 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+42702 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+41361 /* "tion" */, uint32(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+42709 /* "tion" */, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 4) } } break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41366 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42714 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41262 /* "ence" */, uint32(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42610 /* "ence" */, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41371 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42719 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41257 /* "ance" */, uint32(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42605 /* "ance" */, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } } break case 'e': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41376 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42724 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41329 /* "ize" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42677 /* "ize" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'g': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41381 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42729 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+18194 /* "log" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+18209 /* "log" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'l': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41386 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42734 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+41339 /* "ble" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+42687 /* "ble" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41390 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42738 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41254 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42602 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41395 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42743 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41298 /* "ent" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42646 /* "ent" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41401 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42749 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+41405 /* "e" */, uint32(1)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+42753 /* "e" */, uint32(1)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 1) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41407 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42755 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41321 /* "ous" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42669 /* "ous" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } } break case 'o': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41413 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42761 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41329 /* "ize" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42677 /* "ize" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41421 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42769 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41313 /* "ate" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42661 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41427 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42775 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41313 /* "ate" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42661 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 's': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41432 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42780 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41254 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42602 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41438 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42786 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41325 /* "ive" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42673 /* "ive" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41446 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42794 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41454 /* "ful" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42802 /* "ful" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41458 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42806 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41321 /* "ous" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42669 /* "ous" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } } break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41466 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42814 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41254 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42602 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41472 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42820 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41325 /* "ive" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42673 /* "ive" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+41478 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+42826 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+41339 /* "ble" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+42687 /* "ble" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -185419,16 +191520,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41485 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42833 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41270 /* "ic" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42618 /* "ic" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } } break case 's': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41490 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42838 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -185436,21 +191537,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41495 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42843 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41270 /* "ic" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42618 /* "ic" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41501 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42849 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41270 /* "ic" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42618 /* "ic" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41454 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42802 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185458,7 +191559,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41507 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42855 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 5) } @@ -185466,9 +191567,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41513 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42861 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41254 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42602 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -185484,12 +191585,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'e': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41519 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42867 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+41523 /* "ee" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+42871 /* "ee" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 2) } - } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41526 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42874 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) ret = 1 @@ -185498,7 +191599,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41529 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42877 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) ret = 1 @@ -185668,7 +191769,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+41533 /* "case_sensitive" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42881 /* "case_sensitive" */) { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { @@ -185858,22 +191959,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: defer tls.Free(64) *(*[4]BuiltinTokenizer)(unsafe.Pointer(bp /* aBuiltin */)) = [4]BuiltinTokenizer{ - {FzName: ts + 41244 /* "unicode61" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42592 /* "unicode61" */, 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 + 41548 /* "ascii" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42896 /* "ascii" */, 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 + 41554 /* "porter" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42902 /* "porter" */, 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 + 41561 /* "trigram" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42909 /* "trigram" */, 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 @@ -187216,14 +193317,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8 /* &rc */, zType, -1) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, ts+41569 /* "col" */) == 0 { + if Xsqlite3_stricmp(tls, zCopy, ts+42917 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL - } else if Xsqlite3_stricmp(tls, zCopy, ts+41573 /* "row" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+42921 /* "row" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW - } else if Xsqlite3_stricmp(tls, zCopy, ts+41577 /* "instance" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+42925 /* "instance" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41586 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42934 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) @@ -187270,19 +193371,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv defer tls.Free(20) *(*[3]uintptr)(unsafe.Pointer(bp + 4 /* azSchema */)) = [3]uintptr{ - ts + 41620, /* "CREATE TABlE voc..." */ - ts + 41660, /* "CREATE TABlE voc..." */ - ts + 41695, /* "CREATE TABlE voc..." */ + ts + 42968, /* "CREATE TABlE voc..." */ + ts + 43008, /* "CREATE TABlE voc..." */ + ts + 43043, /* "CREATE TABlE voc..." */ } var pRet uintptr = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK // Return code var bDb int32 - bDb = (libc.Bool32(((argc == 6) && (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == Size_t(4))) && (libc.Xmemcmp(tls, ts+25998 /* "temp" */, *(*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+26013 /* "temp" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0))) if (argc != 5) && (bDb == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41738 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43086 /* "wrong number of ..." */, 0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else { var nByte int32 // Bytes of space to allocate @@ -187434,11 +193535,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+41771 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+43119 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } zSql = sqlite3Fts5Mprintf(tls, bp+64, /* &rc */ - ts+41802, /* "SELECT t.%Q FROM..." */ + ts+43150, /* "SELECT t.%Q FROM..." */ 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 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+68 /* &pStmt */, uintptr(0)) @@ -187462,7 +193563,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* *(*uintptr)(unsafe.Pointer(bp + 68 /* pStmt */)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+41853 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+43201 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } else { @@ -187750,7 +193851,7 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused if pLe != 0 { var zCopy uintptr = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = ts + 900 /* "" */ + zCopy = ts + 915 /* "" */ } (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm + 1)) @@ -187867,7 +193968,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:235171:12: */ var p uintptr = pGlobal - return Xsqlite3_create_module_v2(tls, db, ts+41879 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, ts+43227 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } var fts5Vocab = Sqlite3_module{ @@ -187983,7 +194084,7 @@ func stmtConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp rc = Xsqlite3_declare_vtab(tls, db, - ts+41889 /* "CREATE TABLE x(s..." */) + ts+43237 /* "CREATE TABLE x(s..." */) if rc == SQLITE_OK { pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Stmt_vtab{}))) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -188140,14 +194241,14 @@ var stmtModule = Sqlite3_module{ // xCreate func Xsqlite3StmtVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:235483:20: */ var rc int32 = SQLITE_OK - rc = Xsqlite3_create_module(tls, db, ts+41961 /* "sqlite_stmt" */, uintptr(unsafe.Pointer(&stmtModule)), uintptr(0)) + rc = Xsqlite3_create_module(tls, db, ts+43309 /* "sqlite_stmt" */, uintptr(unsafe.Pointer(&stmtModule)), uintptr(0)) return rc } //************* End of stmt.c *********************************************** // Return the source-id for this library func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:235516:23: */ - return ts + 41973 /* "2021-06-18 18:36..." */ + return ts + 43321 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -189085,5 +195186,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68 /* .xGetLastError */)) = rbuVfsGetLastError // sqlite3.c:205300:5: } -var ts1 = "COMPILER=gcc-8.3.0\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00NONE\x00SHARED\x00RESERVED\x00PENDING\x00EXCLUSIVE\x00ERROR\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\x00TEST WR-LOCK %d %d %d (unix)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (unix)\n\x00LOCK %d %s ok (already held) (unix)\n\x00LOCK %d %s %s (unix)\n\x00ok\x00failed\x00UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n\x00CLOSE %-3d\n\x00TEST WR-LOCK %d %d %d (dotlock)\n\x00UNLOCK %d %d was %d pid=%d (dotlock)\n\x00READ %-3d %5d %7lld %llu\n\x00WRITE %-3d %5d %7lld %llu\n\x00OPENDIR %-3d %s\n\x00SYNC %-3d\n\x00full_fsync\x00DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n\x00%s-shm\x00readonly_shm\x00SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n\x00OPEN %-3d %s\n\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00OPENX %-3d %s 0%o\n\x00fsync\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\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\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\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.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\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, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\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_status\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\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\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\x00call flush_partition\x00%s clause should come after %s not before\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: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\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\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\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\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00 OR \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\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\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=gcc-8.3.0\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00NONE\x00SHARED\x00RESERVED\x00PENDING\x00EXCLUSIVE\x00ERROR\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\x00TEST WR-LOCK %d %d %d (unix)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (unix)\n\x00LOCK %d %s ok (already held) (unix)\n\x00LOCK %d %s %s (unix)\n\x00ok\x00failed\x00UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n\x00CLOSE %-3d\n\x00TEST WR-LOCK %d %d %d (dotlock)\n\x00UNLOCK %d %d was %d pid=%d (dotlock)\n\x00READ %-3d %5d %7lld %llu\n\x00WRITE %-3d %5d %7lld %llu\n\x00OPENDIR %-3d %s\n\x00SYNC %-3d\n\x00full_fsync\x00DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n\x00%s-shm\x00readonly_shm\x00SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n\x00OPEN %-3d %s\n\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00OPENX %-3d %s 0%o\n\x00fsync\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\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\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\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.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\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, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\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_status\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\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\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\x00call flush_partition\x00%s clause should come after %s not before\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: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\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\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\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\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\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\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/libtest/sqlite_linux_amd64.go b/libtest/sqlite_linux_amd64.go index 9af3a90..bc1ab31 100644 --- a/libtest/sqlite_linux_amd64.go +++ b/libtest/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 "" -pkgname sqlite3 -o libtest/sqlite_linux_amd64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -pkgname sqlite3 -o libtest/sqlite_linux_amd64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1', DO NOT EDIT. package sqlite3 @@ -1452,6 +1452,9 @@ const ( SEEK_HOLE = 4 SEEK_SET = 0 SELECTTRACE_ENABLED = 0 + SESSIONS_STRM_CHUNK_SIZE = 64 + SESSION_MAX_BUFFER_SZ = 2147483391 + SESSION_UPDATE_CACHE_SZ = 12 SF_Aggregate = 0x0000008 SF_All = 0x0000002 SF_ComplexResult = 0x0040000 @@ -1598,6 +1601,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -1761,6 +1775,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_STMTVTAB = 1 @@ -2134,6 +2149,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3854,7 +3871,7 @@ type X__float128 = float64 /* :47:21 */ // This array looks large, but in a typical installation actually uses // only a handful of compile-time options, so most times this array is usually // rather short and uses little memory space. -var sqlite3azCompileOpt = [26]uintptr{ +var sqlite3azCompileOpt = [27]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl ts, /* "COMPILER=gcc-8.3..." */ @@ -3873,16 +3890,17 @@ var sqlite3azCompileOpt = [26]uintptr{ ts + 256, /* "ENABLE_PREUPDATE..." */ ts + 278, /* "ENABLE_RBU" */ ts + 289, /* "ENABLE_RTREE" */ - ts + 302, /* "ENABLE_SNAPSHOT" */ - ts + 318, /* "ENABLE_STAT4" */ - ts + 331, /* "ENABLE_STMTVTAB" */ - ts + 347, /* "ENABLE_UNLOCK_NO..." */ - ts + 368, /* "LIKE_DOESNT_MATC..." */ - ts + 392, /* "SOUNDEX" */ - ts + 400, /* "SYSTEM_MALLOC" */ - ts + 414, /* "TEMP_STORE=1" */ - ts + 427, /* "TEST" */ - ts + 432, /* "THREADSAFE=1" */ + ts + 302, /* "ENABLE_SESSION" */ + ts + 317, /* "ENABLE_SNAPSHOT" */ + ts + 333, /* "ENABLE_STAT4" */ + ts + 346, /* "ENABLE_STMTVTAB" */ + ts + 362, /* "ENABLE_UNLOCK_NO..." */ + ts + 383, /* "LIKE_DOESNT_MATC..." */ + ts + 407, /* "SOUNDEX" */ + ts + 415, /* "SYSTEM_MALLOC" */ + ts + 429, /* "TEMP_STORE=1" */ + ts + 442, /* "TEST" */ + ts + 447, /* "THREADSAFE=1" */ // END CODE GENERATED BY tool/mkctime.tcl } /* sqlite3.c:72:19 */ @@ -4198,7 +4216,7 @@ type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ // of the hash might be different from [SQLITE_SOURCE_ID].)^ // // See also: [sqlite_version()] and [sqlite_source_id()]. -var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 445 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ +var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 460 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -7449,6 +7467,495 @@ type Sqlite3_rtree_dbl = float64 /* sqlite3.c:11048:18 */ //******* End of sqlite3rtree.h ******** //******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type sqlite3_session = struct { + Fdb uintptr + FzDb uintptr + FbEnableSize int32 + FbEnable int32 + FbIndirect int32 + FbAutoAttach int32 + Frc int32 + _ [4]byte + FpFilterCtx uintptr + FxTableFilter uintptr + FnMalloc I64 + FnMaxChangesetSize I64 + FpZeroBlob uintptr + FpNext uintptr + FpTable uintptr + Fhook SessionHook +} /* sqlite3.c:11155:9 */ + +// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. + +//******* End of sqlite3rtree.h ******** +//******* Begin file sqlite3session.h ******** + +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type sqlite3_changeset_iter = struct { + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + _ [4]byte + FabPK uintptr + FapValue uintptr +} /* sqlite3.c:11163:9 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type Sqlite3_changeset_iter = sqlite3_changeset_iter /* sqlite3.c:11163:39 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type sqlite3_changegroup = struct { + Frc int32 + FbPatch int32 + FpList uintptr +} /* sqlite3.c:12015:9 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type Sqlite3_changegroup = sqlite3_changegroup /* sqlite3.c:12015:36 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type sqlite3_rebaser = struct{ Fgrp Sqlite3_changegroup } /* sqlite3.c:12579:9 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ + +// CAPI3REF: Values for sqlite3session_config(). + +// Make sure we can call this stuff from C++. + //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** // 2014 May 31 @@ -7499,10 +8006,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.c:12895:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -11409,7 +11915,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 452 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 467 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -12560,7 +13066,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+459 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+474 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { goto __9 } return 1 @@ -12597,13 +13103,13 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 // var s int32 at bp+32, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+467 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+482 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+475 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+490 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -12722,7 +13228,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+479 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+494 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -12803,7 +13309,7 @@ func parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) i return 0 } else if parseHhMmSs(tls, zDate, p) == 0 { return 0 - } else if (Xsqlite3StrICmp(tls, zDate, ts+491 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { + } else if (Xsqlite3StrICmp(tls, zDate, ts+506 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { return setDateTimeToCurrent(tls, context, p) } else if Xsqlite3AtoF(tls, zDate, bp /* &r */, Xsqlite3Strlen30(tls, zDate), uint8(SQLITE_UTF8)) > 0 { setRawDateNumber(tls, p, *(*float64)(unsafe.Pointer(bp /* r */))) @@ -12985,7 +13491,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite computeJD(tls, bp+56 /* &x */) *(*Time_t)(unsafe.Pointer(bp + 104 /* t */)) = (Time_t(((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000)))) if osLocaltime(tls, bp+104 /* &t */, bp /* &sLocal */) != 0 { - Xsqlite3_result_error(tls, pCtx, ts+495 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+510 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -13020,12 +13526,12 @@ var aXformType = [6]struct { FrLimit float64 FrXform float64 }{ - {FnName: U8(6), FzName: ts + 518 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, - {FnName: U8(6), FzName: ts + 525 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, - {FnName: U8(4), FzName: ts + 532 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, - {FnName: U8(3), FzName: ts + 537 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, - {FeType: U8(1), FnName: U8(5), FzName: ts + 541 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, - {FeType: U8(2), FnName: U8(4), FzName: ts + 547 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, + {FnName: U8(6), FzName: ts + 533 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, + {FnName: U8(6), FzName: ts + 540 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, + {FnName: U8(4), FzName: ts + 547 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, + {FnName: U8(3), FzName: ts + 552 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, + {FeType: U8(1), FnName: U8(5), FzName: ts + 556 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, + {FeType: U8(2), FnName: U8(4), FzName: ts + 562 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, } /* sqlite3.c:22795:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -13064,7 +13570,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Assuming the current time value is UTC (a.k.a. GMT), shift it to // show local time. - if (Xsqlite3_stricmp(tls, z, ts+552 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + if (Xsqlite3_stricmp(tls, z, ts+567 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { computeJD(tls, p) *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (localtimeOffset(tls, p, pCtx, bp /* &rc */)) clearYMD_HMS_TZ(tls, p) @@ -13078,7 +13584,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Treat the current value of p->s as the number of // seconds since 1970. Convert to a real julian day number. - if (Xsqlite3_stricmp(tls, z, ts+562 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { + if (Xsqlite3_stricmp(tls, z, ts+577 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) @@ -13087,7 +13593,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+572 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + } else if (Xsqlite3_stricmp(tls, z, ts+587 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { if int32((*DateTime)(unsafe.Pointer(p)).FtzSet) == 0 { var c1 Sqlite3_int64 computeJD(tls, p) @@ -13112,7 +13618,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // Move the date to the same time on the next occurrence of // weekday N where 0==Sunday, 1==Monday, and so forth. If the // date is already on the appropriate weekday, this is a no-op. - if ((((Xsqlite3_strnicmp(tls, z, ts+576 /* "weekday " */, 8) == 0) && + if ((((Xsqlite3_strnicmp(tls, z, ts+591 /* "weekday " */, 8) == 0) && (Xsqlite3AtoF(tls, (z+8), bp+8 /* &r */, Xsqlite3Strlen30(tls, (z+8)), uint8(SQLITE_UTF8)) > 0)) && ((float64(libc.AssignInt32(&n, int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */)))))) == *(*float64)(unsafe.Pointer(bp + 8 /* r */)))) && (n >= 0)) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < float64(7)) { var Z Sqlite3_int64 @@ -13137,7 +13643,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Move the date backwards to the beginning of the current day, // or month or year. - if Xsqlite3_strnicmp(tls, z, ts+585 /* "start of " */, 9) != 0 { + if Xsqlite3_strnicmp(tls, z, ts+600 /* "start of " */, 9) != 0 { break } if (!(int32((*DateTime)(unsafe.Pointer(p)).FvalidJD) != 0) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidYMD) != 0)) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidHMS) != 0) { @@ -13151,14 +13657,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - if Xsqlite3_stricmp(tls, z, ts+541 /* "month" */) == 0 { + if Xsqlite3_stricmp(tls, z, ts+556 /* "month" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+547 /* "year" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+562 /* "year" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FM = 1 (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+537 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+552 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -13379,7 +13885,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // var zBuf [100]int8 at bp+96, 100 computeYMD_HMS(tls, bp+48 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+595, /* "%04d-%02d-%02d %..." */ + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+610, /* "%04d-%02d-%02d %..." */ libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } @@ -13398,7 +13904,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeHMS(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+625 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+640 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13416,7 +13922,7 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeYMD(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+640 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+655 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13543,7 +14049,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+655 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+670 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (uint64(2)) break fallthrough @@ -13553,14 +14059,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+660 /* "%06.3f" */, libc.VaList(bp+8, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+675 /* "%06.3f" */, libc.VaList(bp+8, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+655 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+670 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) j = j + (uint64(2)) break fallthrough @@ -13578,10 +14084,10 @@ __3: if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday wd = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+655 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+670 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) j = j + (uint64(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+667 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+682 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) j = j + (uint64(3)) } break @@ -13590,19 +14096,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+672 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+687 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+655 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+670 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) j = j + (uint64(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+655 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+670 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) j = j + (uint64(2)) break fallthrough @@ -13616,7 +14122,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+655 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+670 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough @@ -13629,7 +14135,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+678 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+693 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -13686,14 +14192,14 @@ func Xsqlite3RegisterDateTimeFunctions(tls *libc.TLS) { /* sqlite3.c:23404:21: * } var aDateTimeFuncs = [8]FuncDef{ - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 683 /* "julianday" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 693 /* "date" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 698 /* "time" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 703 /* "datetime" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 712 /* "strftime" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 721 /* "current_time" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 734 /* "current_timestam..." */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 752 /* "current_date" */}} /* sqlite3.c:23405:18 */ + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 698 /* "julianday" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 708 /* "date" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 713 /* "time" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 718 /* "datetime" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 727 /* "strftime" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 736 /* "current_time" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 749 /* "current_timestam..." */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 767 /* "current_date" */}} /* sqlite3.c:23405:18 */ //************* End of date.c *********************************************** //************* Begin file os.c ********************************************* @@ -14390,7 +14896,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p += 8 } else { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+765 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+780 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -14441,7 +14947,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* } else { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+803, /* "failed memory re..." */ + ts+818, /* "failed memory re..." */ libc.VaList(bp, sqlite3MemSize(tls, pPrior), nByte)) } return p @@ -16183,8 +16689,8 @@ type Et_info = et_info /* sqlite3.c:28672:3 */ // The following table is searched linearly, so it is good to put the // most frequently used conversion types first. -var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 839 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 872 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ +var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 854 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 887 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ var fmtinfo = [23]Et_info{ {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, {Ffmttype: int8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, @@ -16438,7 +16944,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+879 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+894 /* "%" */, 1) goto __5 __11: ; @@ -17021,7 +17527,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 881 /* "NaN" */ + bufpt = ts + 896 /* "NaN" */ length = 3 goto __58 __127: @@ -17081,7 +17587,7 @@ __138: } bufpt = bp + 8 /* &buf[0] */ *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix - libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+885 /* "Inf" */, uint64(4)) + libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+900 /* "Inf" */, uint64(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: @@ -17438,7 +17944,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 889 /* "" */ + bufpt = ts + 904 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -17567,9 +18073,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 890 /* "NULL" */ + return ts + 905 /* "NULL" */ } - return ts + 895 /* "(NULL)" */ + return ts + 910 /* "(NULL)" */ }() __220: ; @@ -17704,7 +18210,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+902 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+917 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -17719,7 +18225,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+904 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, ts+919 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) __247: ; __246: @@ -17782,7 +18288,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 916 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 931 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -18168,7 +18674,7 @@ func Xsqlite3DebugPrintf(tls *libc.TLS, zFormat uintptr, va uintptr) { /* sqlite Xsqlite3_str_vappendf(tls, bp+8 /* &acc */, zFormat, ap) _ = ap Xsqlite3StrAccumFinish(tls, bp+8 /* &acc */) - libc.Xfprintf(tls, libc.Xstdout, ts+925 /* "%s" */, libc.VaList(bp, bp+40 /* &zBuf[0] */)) + libc.Xfprintf(tls, libc.Xstdout, ts+940 /* "%s" */, libc.VaList(bp, bp+40 /* &zBuf[0] */)) libc.Xfflush(tls, libc.Xstdout) } @@ -20093,7 +20599,7 @@ func compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) int32 { /* sqlite3.c var c int32 = 0 var i int32 // 012345678901234567 - var pow63 uintptr = ts + 928 /* "9223372036854775..." */ + var pow63 uintptr = ts + 943 /* "9223372036854775..." */ for i = 0; (c == 0) && (i < 18); i++ { c = ((int32(*(*int8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) } @@ -20743,7 +21249,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+947, /* "API call with %s..." */ + ts+962, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -20762,14 +21268,14 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ func Xsqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:33054:20: */ var magic U32 if db == uintptr(0) { - logBadConnection(tls, ts+890 /* "NULL" */) + logBadConnection(tls, ts+905 /* "NULL" */) return 0 } magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if magic != SQLITE_MAGIC_OPEN { if Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 { - logBadConnection(tls, ts+992 /* "unopened" */) + logBadConnection(tls, ts+1007 /* "unopened" */) } return 0 } else { @@ -20783,7 +21289,7 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if ((magic != U32(SQLITE_MAGIC_SICK)) && (magic != SQLITE_MAGIC_OPEN)) && (magic != SQLITE_MAGIC_BUSY) { - logBadConnection(tls, ts+1001 /* "invalid" */) + logBadConnection(tls, ts+1016 /* "invalid" */) return 0 } else { return 1 @@ -21311,186 +21817,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 0 */ ts + 1009, /* "Savepoint\x00" */ - /* 1 */ ts + 1020, /* "AutoCommit\x00" */ - /* 2 */ ts + 1032, /* "Transaction\x00" */ - /* 3 */ ts + 1045, /* "SorterNext\x00" */ - /* 4 */ ts + 1057, /* "Prev\x00" */ - /* 5 */ ts + 1063, /* "Next\x00" */ - /* 6 */ ts + 1069, /* "Checkpoint\x00" */ - /* 7 */ ts + 1081, /* "JournalMode\x00" */ - /* 8 */ ts + 1094, /* "Vacuum\x00" */ - /* 9 */ ts + 1102, /* "VFilter\x00iplan=r[..." */ - /* 10 */ ts + 1133, /* "VUpdate\x00data=r[P..." */ - /* 11 */ ts + 1155, /* "Goto\x00" */ - /* 12 */ ts + 1161, /* "Gosub\x00" */ - /* 13 */ ts + 1168, /* "InitCoroutine\x00" */ - /* 14 */ ts + 1183, /* "Yield\x00" */ - /* 15 */ ts + 1190, /* "MustBeInt\x00" */ - /* 16 */ ts + 1201, /* "Jump\x00" */ - /* 17 */ ts + 1207, /* "Once\x00" */ - /* 18 */ ts + 1213, /* "If\x00" */ - /* 19 */ ts + 1217, /* "Not\x00r[P2]= !r[P1..." */ - /* 20 */ ts + 1235, /* "IfNot\x00" */ - /* 21 */ ts + 1242, /* "IfNullRow\x00if P1...." */ - /* 22 */ ts + 1291, /* "SeekLT\x00key=r[P3@..." */ - /* 23 */ ts + 1311, /* "SeekLE\x00key=r[P3@..." */ - /* 24 */ ts + 1331, /* "SeekGE\x00key=r[P3@..." */ - /* 25 */ ts + 1351, /* "SeekGT\x00key=r[P3@..." */ - /* 26 */ ts + 1371, /* "IfNotOpen\x00if( !c..." */ - /* 27 */ ts + 1404, /* "IfNoHope\x00key=r[P..." */ - /* 28 */ ts + 1426, /* "NoConflict\x00key=r..." */ - /* 29 */ ts + 1450, /* "NotFound\x00key=r[P..." */ - /* 30 */ ts + 1472, /* "Found\x00key=r[P3@P..." */ - /* 31 */ ts + 1491, /* "SeekRowid\x00intkey..." */ - /* 32 */ ts + 1514, /* "NotExists\x00intkey..." */ - /* 33 */ ts + 1537, /* "Last\x00" */ - /* 34 */ ts + 1543, /* "IfSmaller\x00" */ - /* 35 */ ts + 1554, /* "SorterSort\x00" */ - /* 36 */ ts + 1566, /* "Sort\x00" */ - /* 37 */ ts + 1572, /* "Rewind\x00" */ - /* 38 */ ts + 1580, /* "IdxLE\x00key=r[P3@P..." */ - /* 39 */ ts + 1599, /* "IdxGT\x00key=r[P3@P..." */ - /* 40 */ ts + 1618, /* "IdxLT\x00key=r[P3@P..." */ - /* 41 */ ts + 1637, /* "IdxGE\x00key=r[P3@P..." */ - /* 42 */ ts + 1656, /* "RowSetRead\x00r[P3]..." */ - /* 43 */ ts + 1684, /* "Or\x00r[P3]=(r[P1] ..." */ - /* 44 */ ts + 1710, /* "And\x00r[P3]=(r[P1]..." */ - /* 45 */ ts + 1737, /* "RowSetTest\x00if r[..." */ - /* 46 */ ts + 1779, /* "Program\x00" */ - /* 47 */ ts + 1788, /* "FkIfZero\x00if fkct..." */ - /* 48 */ ts + 1821, /* "IfPos\x00if r[P1]>0..." */ - /* 49 */ ts + 1862, /* "IfNotZero\x00if r[P..." */ - /* 50 */ ts + 1906, /* "IsNull\x00if r[P1]=..." */ - /* 51 */ ts + 1936, /* "NotNull\x00if r[P1]..." */ - /* 52 */ ts + 1967, /* "Ne\x00IF r[P3]!=r[P..." */ - /* 53 */ ts + 1986, /* "Eq\x00IF r[P3]==r[P..." */ - /* 54 */ ts + 2005, /* "Gt\x00IF r[P3]>r[P1..." */ - /* 55 */ ts + 2023, /* "Le\x00IF r[P3]<=r[P..." */ - /* 56 */ ts + 2042, /* "Lt\x00IF r[P3]=r[P..." */ - /* 58 */ ts + 2079, /* "ElseEq\x00" */ - /* 59 */ ts + 2087, /* "DecrJumpZero\x00if ..." */ - /* 60 */ ts + 2124, /* "IncrVacuum\x00" */ - /* 61 */ ts + 2136, /* "VNext\x00" */ - /* 62 */ ts + 2143, /* "Init\x00Start at P2" */ - /* 63 */ ts + 2160, /* "PureFunc\x00r[P3]=f..." */ - /* 64 */ ts + 2190, /* "Function\x00r[P3]=f..." */ - /* 65 */ ts + 2220, /* "Return\x00" */ - /* 66 */ ts + 2228, /* "EndCoroutine\x00" */ - /* 67 */ ts + 2242, /* "HaltIfNull\x00if r[..." */ - /* 68 */ ts + 2272, /* "Halt\x00" */ - /* 69 */ ts + 2278, /* "Integer\x00r[P2]=P1" */ - /* 70 */ ts + 2295, /* "Int64\x00r[P2]=P4" */ - /* 71 */ ts + 2310, /* "String\x00r[P2]='P4..." */ - /* 72 */ ts + 2337, /* "Null\x00r[P2..P3]=N..." */ - /* 73 */ ts + 2357, /* "SoftNull\x00r[P1]=N..." */ - /* 74 */ ts + 2377, /* "Blob\x00r[P2]=P4 (l..." */ - /* 75 */ ts + 2400, /* "Variable\x00r[P2]=p..." */ - /* 76 */ ts + 2432, /* "Move\x00r[P2@P3]=r[..." */ - /* 77 */ ts + 2455, /* "Copy\x00r[P2@P3+1]=..." */ - /* 78 */ ts + 2482, /* "SCopy\x00r[P2]=r[P1..." */ - /* 79 */ ts + 2500, /* "IntCopy\x00r[P2]=r[..." */ - /* 80 */ ts + 2520, /* "ChngCntRow\x00outpu..." */ - /* 81 */ ts + 2544, /* "ResultRow\x00output..." */ - /* 82 */ ts + 2570, /* "CollSeq\x00" */ - /* 83 */ ts + 2579, /* "AddImm\x00r[P1]=r[P..." */ - /* 84 */ ts + 2601, /* "RealAffinity\x00" */ - /* 85 */ ts + 2615, /* "Cast\x00affinity(r[..." */ - /* 86 */ ts + 2636, /* "Permutation\x00" */ - /* 87 */ ts + 2649, /* "Compare\x00r[P1@P3]..." */ - /* 88 */ ts + 2679, /* "IsTrue\x00r[P2] = c..." */ - /* 89 */ ts + 2724, /* "ZeroOrNull\x00r[P2]..." */ - /* 90 */ ts + 2753, /* "Offset\x00r[P3] = s..." */ - /* 91 */ ts + 2786, /* "Column\x00r[P3]=PX" */ - /* 92 */ ts + 2802, /* "Affinity\x00affinit..." */ - /* 93 */ ts + 2830, /* "MakeRecord\x00r[P3]..." */ - /* 94 */ ts + 2863, /* "Count\x00r[P2]=coun..." */ - /* 95 */ ts + 2883, /* "ReadCookie\x00" */ - /* 96 */ ts + 2895, /* "SetCookie\x00" */ - /* 97 */ ts + 2906, /* "ReopenIdx\x00root=P..." */ - /* 98 */ ts + 2931, /* "OpenRead\x00root=P2..." */ - /* 99 */ ts + 2955, /* "OpenWrite\x00root=P..." */ - /* 100 */ ts + 2980, /* "OpenDup\x00" */ - /* 101 */ ts + 2989, /* "OpenAutoindex\x00nC..." */ - /* 102 */ ts + 3014, /* "BitAnd\x00r[P3]=r[P..." */ - /* 103 */ ts + 3039, /* "BitOr\x00r[P3]=r[P1..." */ - /* 104 */ ts + 3063, /* "ShiftLeft\x00r[P3]=..." */ - /* 105 */ ts + 3092, /* "ShiftRight\x00r[P3]..." */ - /* 106 */ ts + 3122, /* "Add\x00r[P3]=r[P1]+..." */ - /* 107 */ ts + 3144, /* "Subtract\x00r[P3]=r..." */ - /* 108 */ ts + 3171, /* "Multiply\x00r[P3]=r..." */ - /* 109 */ ts + 3198, /* "Divide\x00r[P3]=r[P..." */ - /* 110 */ ts + 3223, /* "Remainder\x00r[P3]=..." */ - /* 111 */ ts + 3251, /* "Concat\x00r[P3]=r[P..." */ - /* 112 */ ts + 3276, /* "OpenEphemeral\x00nC..." */ - /* 113 */ ts + 3301, /* "BitNot\x00r[P2]= ~r..." */ - /* 114 */ ts + 3322, /* "SorterOpen\x00" */ - /* 115 */ ts + 3334, /* "SequenceTest\x00if(..." */ - /* 116 */ ts + 3378, /* "String8\x00r[P2]='P..." */ - /* 117 */ ts + 3397, /* "OpenPseudo\x00P3 co..." */ - /* 118 */ ts + 3428, /* "Close\x00" */ - /* 119 */ ts + 3435, /* "ColumnsUsed\x00" */ - /* 120 */ ts + 3448, /* "SeekScan\x00Scan-ah..." */ - /* 121 */ ts + 3482, /* "SeekHit\x00set P2<=..." */ - /* 122 */ ts + 3510, /* "Sequence\x00r[P2]=c..." */ - /* 123 */ ts + 3542, /* "NewRowid\x00r[P2]=r..." */ - /* 124 */ ts + 3563, /* "Insert\x00intkey=r[..." */ - /* 125 */ ts + 3594, /* "RowCell\x00" */ - /* 126 */ ts + 3603, /* "Delete\x00" */ - /* 127 */ ts + 3611, /* "ResetCount\x00" */ - /* 128 */ ts + 3623, /* "SorterCompare\x00if..." */ - /* 129 */ ts + 3672, /* "SorterData\x00r[P2]..." */ - /* 130 */ ts + 3694, /* "RowData\x00r[P2]=da..." */ - /* 131 */ ts + 3713, /* "Rowid\x00r[P2]=rowi..." */ - /* 132 */ ts + 3731, /* "NullRow\x00" */ - /* 133 */ ts + 3740, /* "SeekEnd\x00" */ - /* 134 */ ts + 3749, /* "IdxInsert\x00key=r[..." */ - /* 135 */ ts + 3769, /* "SorterInsert\x00key..." */ - /* 136 */ ts + 3792, /* "IdxDelete\x00key=r[..." */ - /* 137 */ ts + 3815, /* "DeferredSeek\x00Mov..." */ - /* 138 */ ts + 3858, /* "IdxRowid\x00r[P2]=r..." */ - /* 139 */ ts + 3879, /* "FinishSeek\x00" */ - /* 140 */ ts + 3891, /* "Destroy\x00" */ - /* 141 */ ts + 3900, /* "Clear\x00" */ - /* 142 */ ts + 3907, /* "ResetSorter\x00" */ - /* 143 */ ts + 3920, /* "CreateBtree\x00r[P2..." */ - /* 144 */ ts + 3959, /* "SqlExec\x00" */ - /* 145 */ ts + 3968, /* "ParseSchema\x00" */ - /* 146 */ ts + 3981, /* "LoadAnalysis\x00" */ - /* 147 */ ts + 3995, /* "DropTable\x00" */ - /* 148 */ ts + 4006, /* "DropIndex\x00" */ - /* 149 */ ts + 4017, /* "DropTrigger\x00" */ - /* 150 */ ts + 4030, /* "IntegrityCk\x00" */ - /* 151 */ ts + 4043, /* "RowSetAdd\x00rowset..." */ - /* 152 */ ts + 4070, /* "Real\x00r[P2]=P4" */ - /* 153 */ ts + 4084, /* "Param\x00" */ - /* 154 */ ts + 4091, /* "FkCounter\x00fkctr[..." */ - /* 155 */ ts + 4115, /* "MemMax\x00r[P1]=max..." */ - /* 156 */ ts + 4145, /* "OffsetLimit\x00if r..." */ - /* 157 */ ts + 4214, /* "AggInverse\x00accum..." */ - /* 158 */ ts + 4255, /* "AggStep\x00accum=r[..." */ - /* 159 */ ts + 4290, /* "AggStep1\x00accum=r..." */ - /* 160 */ ts + 4326, /* "AggValue\x00r[P3]=v..." */ - /* 161 */ ts + 4352, /* "AggFinal\x00accum=r..." */ - /* 162 */ ts + 4378, /* "Expire\x00" */ - /* 163 */ ts + 4386, /* "CursorLock\x00" */ - /* 164 */ ts + 4398, /* "CursorUnlock\x00" */ - /* 165 */ ts + 4412, /* "TableLock\x00iDb=P1..." */ - /* 166 */ ts + 4446, /* "VBegin\x00" */ - /* 167 */ ts + 4454, /* "VCreate\x00" */ - /* 168 */ ts + 4463, /* "VDestroy\x00" */ - /* 169 */ ts + 4473, /* "VOpen\x00" */ - /* 170 */ ts + 4480, /* "VColumn\x00r[P3]=vc..." */ - /* 171 */ ts + 4506, /* "VRename\x00" */ - /* 172 */ ts + 4515, /* "Pagecount\x00" */ - /* 173 */ ts + 4526, /* "MaxPgcnt\x00" */ - /* 174 */ ts + 4536, /* "Trace\x00" */ - /* 175 */ ts + 4543, /* "CursorHint\x00" */ - /* 176 */ ts + 4555, /* "ReleaseReg\x00relea..." */ - /* 177 */ ts + 4591, /* "Noop\x00" */ - /* 178 */ ts + 4597, /* "Explain\x00" */ - /* 179 */ ts + 4606, /* "Abortable\x00" */ + /* 0 */ ts + 1024, /* "Savepoint\x00" */ + /* 1 */ ts + 1035, /* "AutoCommit\x00" */ + /* 2 */ ts + 1047, /* "Transaction\x00" */ + /* 3 */ ts + 1060, /* "SorterNext\x00" */ + /* 4 */ ts + 1072, /* "Prev\x00" */ + /* 5 */ ts + 1078, /* "Next\x00" */ + /* 6 */ ts + 1084, /* "Checkpoint\x00" */ + /* 7 */ ts + 1096, /* "JournalMode\x00" */ + /* 8 */ ts + 1109, /* "Vacuum\x00" */ + /* 9 */ ts + 1117, /* "VFilter\x00iplan=r[..." */ + /* 10 */ ts + 1148, /* "VUpdate\x00data=r[P..." */ + /* 11 */ ts + 1170, /* "Goto\x00" */ + /* 12 */ ts + 1176, /* "Gosub\x00" */ + /* 13 */ ts + 1183, /* "InitCoroutine\x00" */ + /* 14 */ ts + 1198, /* "Yield\x00" */ + /* 15 */ ts + 1205, /* "MustBeInt\x00" */ + /* 16 */ ts + 1216, /* "Jump\x00" */ + /* 17 */ ts + 1222, /* "Once\x00" */ + /* 18 */ ts + 1228, /* "If\x00" */ + /* 19 */ ts + 1232, /* "Not\x00r[P2]= !r[P1..." */ + /* 20 */ ts + 1250, /* "IfNot\x00" */ + /* 21 */ ts + 1257, /* "IfNullRow\x00if P1...." */ + /* 22 */ ts + 1306, /* "SeekLT\x00key=r[P3@..." */ + /* 23 */ ts + 1326, /* "SeekLE\x00key=r[P3@..." */ + /* 24 */ ts + 1346, /* "SeekGE\x00key=r[P3@..." */ + /* 25 */ ts + 1366, /* "SeekGT\x00key=r[P3@..." */ + /* 26 */ ts + 1386, /* "IfNotOpen\x00if( !c..." */ + /* 27 */ ts + 1419, /* "IfNoHope\x00key=r[P..." */ + /* 28 */ ts + 1441, /* "NoConflict\x00key=r..." */ + /* 29 */ ts + 1465, /* "NotFound\x00key=r[P..." */ + /* 30 */ ts + 1487, /* "Found\x00key=r[P3@P..." */ + /* 31 */ ts + 1506, /* "SeekRowid\x00intkey..." */ + /* 32 */ ts + 1529, /* "NotExists\x00intkey..." */ + /* 33 */ ts + 1552, /* "Last\x00" */ + /* 34 */ ts + 1558, /* "IfSmaller\x00" */ + /* 35 */ ts + 1569, /* "SorterSort\x00" */ + /* 36 */ ts + 1581, /* "Sort\x00" */ + /* 37 */ ts + 1587, /* "Rewind\x00" */ + /* 38 */ ts + 1595, /* "IdxLE\x00key=r[P3@P..." */ + /* 39 */ ts + 1614, /* "IdxGT\x00key=r[P3@P..." */ + /* 40 */ ts + 1633, /* "IdxLT\x00key=r[P3@P..." */ + /* 41 */ ts + 1652, /* "IdxGE\x00key=r[P3@P..." */ + /* 42 */ ts + 1671, /* "RowSetRead\x00r[P3]..." */ + /* 43 */ ts + 1699, /* "Or\x00r[P3]=(r[P1] ..." */ + /* 44 */ ts + 1725, /* "And\x00r[P3]=(r[P1]..." */ + /* 45 */ ts + 1752, /* "RowSetTest\x00if r[..." */ + /* 46 */ ts + 1794, /* "Program\x00" */ + /* 47 */ ts + 1803, /* "FkIfZero\x00if fkct..." */ + /* 48 */ ts + 1836, /* "IfPos\x00if r[P1]>0..." */ + /* 49 */ ts + 1877, /* "IfNotZero\x00if r[P..." */ + /* 50 */ ts + 1921, /* "IsNull\x00if r[P1]=..." */ + /* 51 */ ts + 1951, /* "NotNull\x00if r[P1]..." */ + /* 52 */ ts + 1982, /* "Ne\x00IF r[P3]!=r[P..." */ + /* 53 */ ts + 2001, /* "Eq\x00IF r[P3]==r[P..." */ + /* 54 */ ts + 2020, /* "Gt\x00IF r[P3]>r[P1..." */ + /* 55 */ ts + 2038, /* "Le\x00IF r[P3]<=r[P..." */ + /* 56 */ ts + 2057, /* "Lt\x00IF r[P3]=r[P..." */ + /* 58 */ ts + 2094, /* "ElseEq\x00" */ + /* 59 */ ts + 2102, /* "DecrJumpZero\x00if ..." */ + /* 60 */ ts + 2139, /* "IncrVacuum\x00" */ + /* 61 */ ts + 2151, /* "VNext\x00" */ + /* 62 */ ts + 2158, /* "Init\x00Start at P2" */ + /* 63 */ ts + 2175, /* "PureFunc\x00r[P3]=f..." */ + /* 64 */ ts + 2205, /* "Function\x00r[P3]=f..." */ + /* 65 */ ts + 2235, /* "Return\x00" */ + /* 66 */ ts + 2243, /* "EndCoroutine\x00" */ + /* 67 */ ts + 2257, /* "HaltIfNull\x00if r[..." */ + /* 68 */ ts + 2287, /* "Halt\x00" */ + /* 69 */ ts + 2293, /* "Integer\x00r[P2]=P1" */ + /* 70 */ ts + 2310, /* "Int64\x00r[P2]=P4" */ + /* 71 */ ts + 2325, /* "String\x00r[P2]='P4..." */ + /* 72 */ ts + 2352, /* "Null\x00r[P2..P3]=N..." */ + /* 73 */ ts + 2372, /* "SoftNull\x00r[P1]=N..." */ + /* 74 */ ts + 2392, /* "Blob\x00r[P2]=P4 (l..." */ + /* 75 */ ts + 2415, /* "Variable\x00r[P2]=p..." */ + /* 76 */ ts + 2447, /* "Move\x00r[P2@P3]=r[..." */ + /* 77 */ ts + 2470, /* "Copy\x00r[P2@P3+1]=..." */ + /* 78 */ ts + 2497, /* "SCopy\x00r[P2]=r[P1..." */ + /* 79 */ ts + 2515, /* "IntCopy\x00r[P2]=r[..." */ + /* 80 */ ts + 2535, /* "ChngCntRow\x00outpu..." */ + /* 81 */ ts + 2559, /* "ResultRow\x00output..." */ + /* 82 */ ts + 2585, /* "CollSeq\x00" */ + /* 83 */ ts + 2594, /* "AddImm\x00r[P1]=r[P..." */ + /* 84 */ ts + 2616, /* "RealAffinity\x00" */ + /* 85 */ ts + 2630, /* "Cast\x00affinity(r[..." */ + /* 86 */ ts + 2651, /* "Permutation\x00" */ + /* 87 */ ts + 2664, /* "Compare\x00r[P1@P3]..." */ + /* 88 */ ts + 2694, /* "IsTrue\x00r[P2] = c..." */ + /* 89 */ ts + 2739, /* "ZeroOrNull\x00r[P2]..." */ + /* 90 */ ts + 2768, /* "Offset\x00r[P3] = s..." */ + /* 91 */ ts + 2801, /* "Column\x00r[P3]=PX" */ + /* 92 */ ts + 2817, /* "Affinity\x00affinit..." */ + /* 93 */ ts + 2845, /* "MakeRecord\x00r[P3]..." */ + /* 94 */ ts + 2878, /* "Count\x00r[P2]=coun..." */ + /* 95 */ ts + 2898, /* "ReadCookie\x00" */ + /* 96 */ ts + 2910, /* "SetCookie\x00" */ + /* 97 */ ts + 2921, /* "ReopenIdx\x00root=P..." */ + /* 98 */ ts + 2946, /* "OpenRead\x00root=P2..." */ + /* 99 */ ts + 2970, /* "OpenWrite\x00root=P..." */ + /* 100 */ ts + 2995, /* "OpenDup\x00" */ + /* 101 */ ts + 3004, /* "OpenAutoindex\x00nC..." */ + /* 102 */ ts + 3029, /* "BitAnd\x00r[P3]=r[P..." */ + /* 103 */ ts + 3054, /* "BitOr\x00r[P3]=r[P1..." */ + /* 104 */ ts + 3078, /* "ShiftLeft\x00r[P3]=..." */ + /* 105 */ ts + 3107, /* "ShiftRight\x00r[P3]..." */ + /* 106 */ ts + 3137, /* "Add\x00r[P3]=r[P1]+..." */ + /* 107 */ ts + 3159, /* "Subtract\x00r[P3]=r..." */ + /* 108 */ ts + 3186, /* "Multiply\x00r[P3]=r..." */ + /* 109 */ ts + 3213, /* "Divide\x00r[P3]=r[P..." */ + /* 110 */ ts + 3238, /* "Remainder\x00r[P3]=..." */ + /* 111 */ ts + 3266, /* "Concat\x00r[P3]=r[P..." */ + /* 112 */ ts + 3291, /* "OpenEphemeral\x00nC..." */ + /* 113 */ ts + 3316, /* "BitNot\x00r[P2]= ~r..." */ + /* 114 */ ts + 3337, /* "SorterOpen\x00" */ + /* 115 */ ts + 3349, /* "SequenceTest\x00if(..." */ + /* 116 */ ts + 3393, /* "String8\x00r[P2]='P..." */ + /* 117 */ ts + 3412, /* "OpenPseudo\x00P3 co..." */ + /* 118 */ ts + 3443, /* "Close\x00" */ + /* 119 */ ts + 3450, /* "ColumnsUsed\x00" */ + /* 120 */ ts + 3463, /* "SeekScan\x00Scan-ah..." */ + /* 121 */ ts + 3497, /* "SeekHit\x00set P2<=..." */ + /* 122 */ ts + 3525, /* "Sequence\x00r[P2]=c..." */ + /* 123 */ ts + 3557, /* "NewRowid\x00r[P2]=r..." */ + /* 124 */ ts + 3578, /* "Insert\x00intkey=r[..." */ + /* 125 */ ts + 3609, /* "RowCell\x00" */ + /* 126 */ ts + 3618, /* "Delete\x00" */ + /* 127 */ ts + 3626, /* "ResetCount\x00" */ + /* 128 */ ts + 3638, /* "SorterCompare\x00if..." */ + /* 129 */ ts + 3687, /* "SorterData\x00r[P2]..." */ + /* 130 */ ts + 3709, /* "RowData\x00r[P2]=da..." */ + /* 131 */ ts + 3728, /* "Rowid\x00r[P2]=rowi..." */ + /* 132 */ ts + 3746, /* "NullRow\x00" */ + /* 133 */ ts + 3755, /* "SeekEnd\x00" */ + /* 134 */ ts + 3764, /* "IdxInsert\x00key=r[..." */ + /* 135 */ ts + 3784, /* "SorterInsert\x00key..." */ + /* 136 */ ts + 3807, /* "IdxDelete\x00key=r[..." */ + /* 137 */ ts + 3830, /* "DeferredSeek\x00Mov..." */ + /* 138 */ ts + 3873, /* "IdxRowid\x00r[P2]=r..." */ + /* 139 */ ts + 3894, /* "FinishSeek\x00" */ + /* 140 */ ts + 3906, /* "Destroy\x00" */ + /* 141 */ ts + 3915, /* "Clear\x00" */ + /* 142 */ ts + 3922, /* "ResetSorter\x00" */ + /* 143 */ ts + 3935, /* "CreateBtree\x00r[P2..." */ + /* 144 */ ts + 3974, /* "SqlExec\x00" */ + /* 145 */ ts + 3983, /* "ParseSchema\x00" */ + /* 146 */ ts + 3996, /* "LoadAnalysis\x00" */ + /* 147 */ ts + 4010, /* "DropTable\x00" */ + /* 148 */ ts + 4021, /* "DropIndex\x00" */ + /* 149 */ ts + 4032, /* "DropTrigger\x00" */ + /* 150 */ ts + 4045, /* "IntegrityCk\x00" */ + /* 151 */ ts + 4058, /* "RowSetAdd\x00rowset..." */ + /* 152 */ ts + 4085, /* "Real\x00r[P2]=P4" */ + /* 153 */ ts + 4099, /* "Param\x00" */ + /* 154 */ ts + 4106, /* "FkCounter\x00fkctr[..." */ + /* 155 */ ts + 4130, /* "MemMax\x00r[P1]=max..." */ + /* 156 */ ts + 4160, /* "OffsetLimit\x00if r..." */ + /* 157 */ ts + 4229, /* "AggInverse\x00accum..." */ + /* 158 */ ts + 4270, /* "AggStep\x00accum=r[..." */ + /* 159 */ ts + 4305, /* "AggStep1\x00accum=r..." */ + /* 160 */ ts + 4341, /* "AggValue\x00r[P3]=v..." */ + /* 161 */ ts + 4367, /* "AggFinal\x00accum=r..." */ + /* 162 */ ts + 4393, /* "Expire\x00" */ + /* 163 */ ts + 4401, /* "CursorLock\x00" */ + /* 164 */ ts + 4413, /* "CursorUnlock\x00" */ + /* 165 */ ts + 4427, /* "TableLock\x00iDb=P1..." */ + /* 166 */ ts + 4461, /* "VBegin\x00" */ + /* 167 */ ts + 4469, /* "VCreate\x00" */ + /* 168 */ ts + 4478, /* "VDestroy\x00" */ + /* 169 */ ts + 4488, /* "VOpen\x00" */ + /* 170 */ ts + 4495, /* "VColumn\x00r[P3]=vc..." */ + /* 171 */ ts + 4521, /* "VRename\x00" */ + /* 172 */ ts + 4530, /* "Pagecount\x00" */ + /* 173 */ ts + 4541, /* "MaxPgcnt\x00" */ + /* 174 */ ts + 4551, /* "Trace\x00" */ + /* 175 */ ts + 4558, /* "CursorHint\x00" */ + /* 176 */ ts + 4570, /* "ReleaseReg\x00relea..." */ + /* 177 */ ts + 4606, /* "Noop\x00" */ + /* 178 */ ts + 4612, /* "Explain\x00" */ + /* 179 */ ts + 4621, /* "Abortable\x00" */ } /* sqlite3.c:33673:20 */ //************* End of opcodes.c ******************************************** @@ -23076,67 +23582,67 @@ type unix_syscall = struct { // testing and sandboxing. The following array holds the names and pointers // to all overrideable system calls. var aSyscall = [29]unix_syscall{ - {FzName: ts + 4617 /* "open" */, FpCurrent: 0}, + {FzName: ts + 4632 /* "open" */, FpCurrent: 0}, - {FzName: ts + 4622 /* "close" */, FpCurrent: 0}, + {FzName: ts + 4637 /* "close" */, FpCurrent: 0}, - {FzName: ts + 4628 /* "access" */, FpCurrent: 0}, + {FzName: ts + 4643 /* "access" */, FpCurrent: 0}, - {FzName: ts + 4635 /* "getcwd" */, FpCurrent: 0}, + {FzName: ts + 4650 /* "getcwd" */, FpCurrent: 0}, - {FzName: ts + 4642 /* "stat" */, FpCurrent: 0}, + {FzName: ts + 4657 /* "stat" */, FpCurrent: 0}, // The DJGPP compiler environment looks mostly like Unix, but it // lacks the fcntl() system call. So redefine fcntl() to be something // that always succeeds. This means that locking does not occur under // DJGPP. But it is DOS - what did you expect? - {FzName: ts + 4647 /* "fstat" */, FpCurrent: 0}, + {FzName: ts + 4662 /* "fstat" */, FpCurrent: 0}, - {FzName: ts + 4653 /* "ftruncate" */, FpCurrent: 0}, + {FzName: ts + 4668 /* "ftruncate" */, FpCurrent: 0}, - {FzName: ts + 4663 /* "fcntl" */, FpCurrent: 0}, + {FzName: ts + 4678 /* "fcntl" */, FpCurrent: 0}, - {FzName: ts + 4669 /* "read" */, FpCurrent: 0}, + {FzName: ts + 4684 /* "read" */, FpCurrent: 0}, - {FzName: ts + 4674 /* "pread" */}, + {FzName: ts + 4689 /* "pread" */}, - {FzName: ts + 4680 /* "pread64" */}, + {FzName: ts + 4695 /* "pread64" */}, - {FzName: ts + 4688 /* "write" */, FpCurrent: 0}, + {FzName: ts + 4703 /* "write" */, FpCurrent: 0}, - {FzName: ts + 4694 /* "pwrite" */}, + {FzName: ts + 4709 /* "pwrite" */}, - {FzName: ts + 4701 /* "pwrite64" */}, + {FzName: ts + 4716 /* "pwrite64" */}, - {FzName: ts + 4710 /* "fchmod" */, FpCurrent: 0}, + {FzName: ts + 4725 /* "fchmod" */, FpCurrent: 0}, - {FzName: ts + 4717 /* "fallocate" */}, + {FzName: ts + 4732 /* "fallocate" */}, - {FzName: ts + 4727 /* "unlink" */, FpCurrent: 0}, + {FzName: ts + 4742 /* "unlink" */, FpCurrent: 0}, - {FzName: ts + 4734 /* "openDirectory" */, FpCurrent: 0}, + {FzName: ts + 4749 /* "openDirectory" */, FpCurrent: 0}, - {FzName: ts + 4748 /* "mkdir" */, FpCurrent: 0}, + {FzName: ts + 4763 /* "mkdir" */, FpCurrent: 0}, - {FzName: ts + 4754 /* "rmdir" */, FpCurrent: 0}, + {FzName: ts + 4769 /* "rmdir" */, FpCurrent: 0}, - {FzName: ts + 4760 /* "fchown" */, FpCurrent: 0}, + {FzName: ts + 4775 /* "fchown" */, FpCurrent: 0}, - {FzName: ts + 4767 /* "geteuid" */, FpCurrent: 0}, + {FzName: ts + 4782 /* "geteuid" */, FpCurrent: 0}, - {FzName: ts + 4775 /* "mmap" */, FpCurrent: 0}, + {FzName: ts + 4790 /* "mmap" */, FpCurrent: 0}, - {FzName: ts + 4780 /* "munmap" */, FpCurrent: 0}, + {FzName: ts + 4795 /* "munmap" */, FpCurrent: 0}, - {FzName: ts + 4787 /* "mremap" */, FpCurrent: 0}, + {FzName: ts + 4802 /* "mremap" */, FpCurrent: 0}, - {FzName: ts + 4794 /* "getpagesize" */, FpCurrent: 0}, + {FzName: ts + 4809 /* "getpagesize" */, FpCurrent: 0}, - {FzName: ts + 4806 /* "readlink" */, FpCurrent: 0}, + {FzName: ts + 4821 /* "readlink" */, FpCurrent: 0}, - {FzName: ts + 4815 /* "lstat" */, FpCurrent: 0}, + {FzName: ts + 4830 /* "lstat" */, FpCurrent: 0}, - {FzName: ts + 4821 /* "ioctl" */}, + {FzName: ts + 4836 /* "ioctl" */}, } /* sqlite3.c:34446:3 */ // End of the overrideable system calls @@ -23270,9 +23776,9 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3 } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, fd) Xsqlite3_log(tls, SQLITE_WARNING, - ts+4827 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) + ts+4842 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) fd = -1 - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, ts+4870 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, ts+4885 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { break } } @@ -23331,17 +23837,17 @@ func unixLeaveMutex(tls *libc.TLS) { /* sqlite3.c:34800:13: */ func azFileLock(tls *libc.TLS, eFileLock int32) uintptr { /* sqlite3.c:34817:19: */ switch eFileLock { case NO_LOCK: - return ts + 4880 /* "NONE" */ + return ts + 4895 /* "NONE" */ case SHARED_LOCK: - return ts + 4885 /* "SHARED" */ + return ts + 4900 /* "SHARED" */ case RESERVED_LOCK: - return ts + 4892 /* "RESERVED" */ + return ts + 4907 /* "RESERVED" */ case PENDING_LOCK: - return ts + 4901 /* "PENDING" */ + return ts + 4916 /* "PENDING" */ case EXCLUSIVE_LOCK: - return ts + 4909 /* "EXCLUSIVE" */ + return ts + 4924 /* "EXCLUSIVE" */ } - return ts + 4919 /* "ERROR" */ + return ts + 4934 /* "ERROR" */ } // Retry ftruncate() calls that fail due to EINTR @@ -23549,13 +24055,13 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // the strerror() function to obtain the human-readable error message // equivalent to errno. Otherwise, use strerror_r(). // This is a threadsafe build, but strerror_r() is not available. - zErr = ts + 889 /* "" */ + zErr = ts + 904 /* "" */ if zPath == uintptr(0) { - zPath = ts + 889 /* "" */ + zPath = ts + 904 /* "" */ } Xsqlite3_log(tls, errcode, - ts+4925, /* "os_unix.c:%d: (%..." */ + ts+4940, /* "os_unix.c:%d: (%..." */ libc.VaList(bp, iLine, iErrno, zFunc, zPath, zErr)) return errcode @@ -23574,7 +24080,7 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // and move on. func robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { /* sqlite3.c:35345:13: */ if (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, h) != 0 { - unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+4622, /* "close" */ + unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+4637, /* "close" */ func() uintptr { if pFile != 0 { return (*UnixFile)(unsafe.Pointer(pFile)).FzPath @@ -23733,19 +24239,19 @@ func verifyDbFile(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:35532:13: */ rc = (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, bp+32 /* &buf */) if rc != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+4956 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+4971 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink == uint64(0) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+4980 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+4995 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink > uint64(1) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+5009 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5024 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+5036 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5051 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -23792,7 +24298,7 @@ func unixCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { / Xsqlite3_mutex_leave(tls, (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FpLockMutex) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5064 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) + Xsqlite3DebugPrintf(tls, ts+5079 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) } *(*int32)(unsafe.Pointer(pResOut)) = reserved @@ -23935,7 +24441,7 @@ func unixLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:3 if !(Xsqlite3OSTrace != 0) { goto __1 } - Xsqlite3DebugPrintf(tls, ts+5094 /* "LOCK %d %s wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), azFileLock(tls, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock)), azFileLock(tls, int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock)), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5109 /* "LOCK %d %s wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), azFileLock(tls, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock)), azFileLock(tls, int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock)), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) __1: ; @@ -23948,7 +24454,7 @@ __1: if !(Xsqlite3OSTrace != 0) { goto __3 } - Xsqlite3DebugPrintf(tls, ts+5137 /* "LOCK %d %s ok..." */, libc.VaList(bp+48, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock))) + Xsqlite3DebugPrintf(tls, ts+5152 /* "LOCK %d %s ok..." */, libc.VaList(bp+48, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock))) __3: ; return SQLITE_OK @@ -24136,11 +24642,11 @@ end_lock: if !(Xsqlite3OSTrace != 0) { goto __25 } - Xsqlite3DebugPrintf(tls, ts+5177 /* "LOCK %d %s %s..." */, libc.VaList(bp+64, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { + Xsqlite3DebugPrintf(tls, ts+5192 /* "LOCK %d %s %s..." */, libc.VaList(bp+64, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { if rc == SQLITE_OK { - return ts + 5202 /* "ok" */ + return ts + 5217 /* "ok" */ } - return ts + 5205 /* "failed" */ + return ts + 5220 /* "failed" */ }())) __25: ; @@ -24185,7 +24691,7 @@ func posixUnlock(tls *libc.TLS, id uintptr, eFileLock int32, handleNFSUnlock int if !(Xsqlite3OSTrace != 0) { goto __1 } - Xsqlite3DebugPrintf(tls, ts+5212 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5227 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) __1: ; @@ -24335,7 +24841,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:36148:12: */ (*UnixFile)(unsafe.Pointer(pFile)).Fh = -1 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5255 /* "CLOSE %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+5270 /* "CLOSE %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) } libc.AtomicAddInt32(&Xsqlite3_open_file_count, int32(-1)) Xsqlite3_free(tls, (*UnixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -24469,7 +24975,7 @@ func dotlockCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 reserved = (libc.Bool32((*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 2*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext, 0) == 0)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5269 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) + Xsqlite3DebugPrintf(tls, ts+5284 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) } *(*int32)(unsafe.Pointer(pResOut)) = reserved return rc @@ -24551,7 +25057,7 @@ func dotlockUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite var rc int32 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5302 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5317 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), libc.Xgetpid(tls))) } // no-op if possible @@ -24723,7 +25229,7 @@ func seekAndRead(tls *libc.TLS, id uintptr, offset Sqlite3_int64, pBuf uintptr, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5341 /* "READ %-3d %5d..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(id)).Fh, (got+prior), (offset-Sqlite3_int64(prior)), uint64(0))) + Xsqlite3DebugPrintf(tls, ts+5356 /* "READ %-3d %5d..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(id)).Fh, (got+prior), (offset-Sqlite3_int64(prior)), uint64(0))) } return (got + prior) } @@ -24809,7 +25315,7 @@ func seekAndWriteFd(tls *libc.TLS, fd int32, iOff I64, pBuf uintptr, nBuf int32, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5370 /* "WRITE %-3d %5d..." */, libc.VaList(bp, fd, rc, iOff, uint64(0))) + Xsqlite3DebugPrintf(tls, ts+5385 /* "WRITE %-3d %5d..." */, libc.VaList(bp, fd, rc, iOff, uint64(0))) } if rc < 0 { @@ -24966,7 +25472,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql var fd int32 = -1 // var zDirname [513]int8 at bp+24, 513 - Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+24 /* &zDirname[0] */, ts+925 /* "%s" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+24 /* &zDirname[0] */, ts+940 /* "%s" */, libc.VaList(bp, zFilename)) for ii = int32(libc.Xstrlen(tls, bp+24 /* &zDirname[0] */)); (ii > 0) && (int32(*(*int8)(unsafe.Pointer(bp + 24 /* &zDirname[0] */ + uintptr(ii)))) != '/'); ii-- { } if ii > 0 { @@ -24980,14 +25486,14 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql fd = robust_open(tls, bp+24 /* &zDirname[0] */, (O_RDONLY | O_BINARY), uint32(0)) if fd >= 0 { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5399 /* "OPENDIR %-3d %s\n" */, libc.VaList(bp+8, fd, bp+24 /* &zDirname[0] */)) + Xsqlite3DebugPrintf(tls, ts+5414 /* "OPENDIR %-3d %s\n" */, libc.VaList(bp+8, fd, bp+24 /* &zDirname[0] */)) } } *(*int32)(unsafe.Pointer(pFd)) = fd if fd >= 0 { return SQLITE_OK } - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+4734 /* "openDirectory" */, bp+24 /* &zDirname[0] */, 37775) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+4749 /* "openDirectory" */, bp+24 /* &zDirname[0] */, 37775) } // Make sure all writes to a particular file are committed to disk. @@ -25029,7 +25535,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5416 /* "SYNC %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+5431 /* "SYNC %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) } rc = full_fsync(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if ((Xsqlite3_io_error_persist != 0) && (Xsqlite3_io_error_hit != 0)) || (libc.PostDecAtomicInt32(&Xsqlite3_io_error_pending, 1) == 1) { @@ -25039,7 +25545,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 if rc != 0 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+5430 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+5445 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) } // Also fsync the directory containing the file if the DIRSYNC flag @@ -25049,7 +25555,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 // var dirfd int32 at bp+32, 4 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5441 /* "DIRSYNC %s (have..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, HAVE_FULLFSYNC, isFullsync)) + Xsqlite3DebugPrintf(tls, ts+5456 /* "DIRSYNC %s (have..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, HAVE_FULLFSYNC, isFullsync)) } rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp+32 /* &dirfd */) if rc == SQLITE_OK { @@ -25085,7 +25591,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 { /* sqlite3.c:378 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+4653 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+4668 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) } else { // If the file was just truncated to a size smaller than the currently @@ -25168,7 +25674,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c if iWrite >= nSize { iWrite = (nSize - int64(1)) } - nWrite = seekAndWrite(tls, pFile, iWrite, ts+889 /* "" */, 1) + nWrite = seekAndWrite(tls, pFile, iWrite, ts+904 /* "" */, 1) if nWrite != 1 { return (SQLITE_IOERR | (int32(3) << 8)) } @@ -25181,7 +25687,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c 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+4653 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+4668 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) } } @@ -25255,7 +25761,7 @@ func unixFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { } case SQLITE_FCNTL_VFSNAME: { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) return SQLITE_OK } @@ -25541,7 +26047,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32 // help detect if a -shm file truncation is legitimate or is the work // or a rogue process. if (rc == SQLITE_OK) && (robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0) { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+4653 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+4668 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) } } } else if int32((*flock)(unsafe.Pointer(bp+8 /* &lock */)).Fl_type) == F_WRLCK { @@ -25647,7 +26153,7 @@ __4: ; libc.Xmemset(tls, pShmNode, 0, (uint64(unsafe.Sizeof(unixShmNode{})) + uint64(nShmFilename))) zShm = libc.AssignPtrUintptr(pShmNode+16 /* &.zFilename */, (pShmNode + 1*96)) - Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+5485 /* "%s-shm" */, libc.VaList(bp, zBasePath)) + Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+5500 /* "%s-shm" */, libc.VaList(bp, zBasePath)) (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = -1 (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pDbFd)).FpInode)).FpShmNode = pShmNode @@ -25669,7 +26175,7 @@ __5: if !(int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FbProcessLock) == 0) { goto __7 } - if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+5492 /* "readonly_shm" */, 0)) { + if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+5507 /* "readonly_shm" */, 0)) { goto __8 } (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = robust_open(tls, zShm, ((O_RDWR | O_CREAT) | 0400000), @@ -25684,7 +26190,7 @@ __8: if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) { goto __10 } - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+4617 /* "open" */, zShm, 38716) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+4632 /* "open" */, zShm, 38716) goto shm_open_err __10: ; @@ -25851,11 +26357,11 @@ __11: goto __13 } *(*int32)(unsafe.Pointer(bp + 144 /* x */)) = 0 - if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+889 /* "" */, 1, bp+144 /* &x */) != 1) { + if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+904 /* "" */, 1, bp+144 /* &x */) != 1) { goto __14 } zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+4688 /* "write" */, zFile, 38860) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+4703 /* "write" */, zFile, 38860) goto shmpage_out __14: ; @@ -25903,7 +26409,7 @@ __16: if !(pMem == (libc.UintptrFromInt32(-1))) { goto __20 } - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+4775 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+4790 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) goto shmpage_out __20: ; @@ -26078,7 +26584,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in Xsqlite3_mutex_leave(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5505 /* "SHM-LOCK shmid-%..." */, libc.VaList(bp, int32((*UnixShm)(unsafe.Pointer(p)).Fid), libc.Xgetpid(tls), int32((*UnixShm)(unsafe.Pointer(p)).FsharedMask), int32((*UnixShm)(unsafe.Pointer(p)).FexclMask))) + Xsqlite3DebugPrintf(tls, ts+5520 /* "SHM-LOCK shmid-%..." */, libc.VaList(bp, int32((*UnixShm)(unsafe.Pointer(p)).Fid), libc.Xgetpid(tls), int32((*UnixShm)(unsafe.Pointer(p)).FsharedMask), int32((*UnixShm)(unsafe.Pointer(p)).FexclMask))) } return rc } @@ -26167,7 +26673,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39165:13: */ // continue accessing the database using the xRead() and xWrite() // methods. func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13: */ - var zErr uintptr = ts + 4775 /* "mmap" */ + var zErr uintptr = ts + 4790 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping var nOrig I64 = (*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual // Size of pOrig region in bytes @@ -26184,7 +26690,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13 } pNew = (*(*func(*libc.TLS, uintptr, Size_t, Size_t, int32, uintptr) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 24*24 + 8 /* &.pCurrent */))))(tls, pOrig, uint64(nReuse), uint64(nNew), MREMAP_MAYMOVE, 0) - zErr = ts + 4787 /* "mremap" */ + zErr = ts + 4802 /* "mremap" */ // The attempt to extend the existing mapping failed. Free it. if (pNew == (libc.UintptrFromInt32(-1))) || (pNew == uintptr(0)) { @@ -26410,7 +26916,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // No locking occurs in temporary files if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5546 /* "OPEN %-3d %s\n" */, libc.VaList(bp, h, zFilename)) + Xsqlite3DebugPrintf(tls, ts+5561 /* "OPEN %-3d %s\n" */, libc.VaList(bp, h, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).Fh = h (*UnixFile)(unsafe.Pointer(pNew)).FpVfs = pVfs @@ -26423,10 +26929,10 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename } return uintptr(0) }(), - ts+5563 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { + ts+5578 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { *(*uint16)(unsafe.Pointer(pNew + 30 /* &.ctrlFlags */)) |= uint16((UNIXFILE_PSOW)) } - if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+5568 /* "unix-excl" */) == 0 { + if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+5583 /* "unix-excl" */) == 0 { *(*uint16)(unsafe.Pointer(pNew + 30 /* &.ctrlFlags */)) |= uint16((UNIXFILE_EXCL)) } @@ -26472,7 +26978,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename if zLockFile == uintptr(0) { rc = SQLITE_NOMEM } else { - Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+5578 /* "%s.lock" */, libc.VaList(bp+16, zFilename)) + Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+5593 /* "%s.lock" */, libc.VaList(bp+16, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext = zLockFile } @@ -26502,10 +27008,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var zDir uintptr = Xsqlite3_temp_directory if !(int32(azDirs[0]) != 0) { - azDirs[0] = libc.Xgetenv(tls, ts+5586 /* "SQLITE_TMPDIR" */) + azDirs[0] = libc.Xgetenv(tls, ts+5601 /* "SQLITE_TMPDIR" */) } if !(int32(azDirs[1]) != 0) { - azDirs[1] = libc.Xgetenv(tls, ts+5600 /* "TMPDIR" */) + azDirs[1] = libc.Xgetenv(tls, ts+5615 /* "TMPDIR" */) } for 1 != 0 { if (((zDir != uintptr(0)) && @@ -26525,10 +27031,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var azDirs = [6]uintptr{ uintptr(0), uintptr(0), - ts + 5607, /* "/var/tmp" */ - ts + 5616, /* "/usr/tmp" */ - ts + 5625, /* "/tmp" */ - ts + 902, /* "." */ + ts + 5622, /* "/var/tmp" */ + ts + 5631, /* "/usr/tmp" */ + ts + 5640, /* "/tmp" */ + ts + 917, /* "." */ } /* sqlite3.c:39857:21 */ // Create a temporary file name in zBuf. zBuf must be allocated @@ -26560,7 +27066,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U64(0))), bp+24 /* &r */) *(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2)))) = int8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+5630, /* "%s/etilqs_%llx%c" */ + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+5645, /* "%s/etilqs_%llx%c" */ libc.VaList(bp, zDir, *(*U64)(unsafe.Pointer(bp + 24 /* r */)), 0)) if (int32(*(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2))))) != 0) || ((libc.PostIncInt32(&iLimit, 1)) > 10) { return SQLITE_ERROR @@ -26716,7 +27222,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // filename, check for the "modeof" parameter. If present, interpret // its value as a filename and try to copy the mode, uid and gid from // that file. - var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+5647 /* "modeof" */) + var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+5662 /* "modeof" */) if z != 0 { rc = getFileMode(tls, z, pMode, pUid, pGid) } @@ -26914,7 +27420,7 @@ __14: if !(Xsqlite3OSTrace != 0) { goto __15 } - Xsqlite3DebugPrintf(tls, ts+5654 /* "OPENX %-3d %s ..." */, libc.VaList(bp, fd, zName, openFlags)) + Xsqlite3DebugPrintf(tls, ts+5669 /* "OPENX %-3d %s ..." */, libc.VaList(bp, fd, zName, openFlags)) __15: ; @@ -26948,7 +27454,7 @@ __16: if !(fd < 0) { goto __20 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+4617 /* "open" */, zName, 40257) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+4632 /* "open" */, zName, 40257) if !(rc == SQLITE_OK) { goto __21 } @@ -27063,7 +27569,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+4727 /* "unlink" */, zPath, 40396) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+4742 /* "unlink" */, zPath, 40396) } return rc } @@ -27073,7 +27579,7 @@ 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 /* &.pCurrent */))))(tls, zPath, bp /* &fd */) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp /* fd */)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+5675 /* "fsync" */, zPath, 40406) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+5690 /* "fsync" */, zPath, 40406) } robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 40408) } else { @@ -27152,7 +27658,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(tls, zOut, (uint64(nOut-2))) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+4635 /* "getcwd" */, zPath, 40485) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+4650 /* "getcwd" */, zPath, 40485) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -27163,7 +27669,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) return Xsqlite3CantopenError(tls, 40494) } - Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+925 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+940 /* "%s" */, libc.VaList(bp, zPath)) // Remove duplicate '/' characters. Except, two // at the beginning // of a pathname is allowed since this is important on windows. @@ -27242,7 +27748,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8 /* &.pCurrent */))))(tls, zIn, bp /* &buf */) != 0 { if (*(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+4815 /* "lstat" */, zIn, 40577) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+4830 /* "lstat" */, zIn, 40577) } } else { bLink = (libc.Bool32((((*stat)(unsafe.Pointer(bp /* &buf */)).Fst_mode) & X__mode_t(0170000)) == (X__mode_t(0120000)))) @@ -27262,7 +27768,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls, zIn, zDel, (uint64(nOut - 1)))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+4806 /* "readlink" */, zIn, 40595) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+4821 /* "readlink" */, zIn, 40595) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 @@ -27356,7 +27862,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixEnterMutex(tls) zErr = libc.Xdlerror(tls) if zErr != 0 { - Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+925 /* "%s" */, libc.VaList(bp, zErr)) + Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+940 /* "%s" */, libc.VaList(bp, zErr)) } unixLeaveMutex(tls) } @@ -27693,10 +28199,10 @@ func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42038:16: */ } var aVfs = [4]Sqlite3_vfs{ - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5681 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5686 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5696 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5568 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5696 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5701 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5711 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5583 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, } /* sqlite3.c:42091:22 */ // Shutdown the operating system interface. @@ -27791,7 +28297,7 @@ var memdb_g MemFS /* sqlite3.c:48620:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) FmxPathname: 1024, // pNext - FzName: ts + 5709, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 5724, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -28023,7 +28529,7 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 var rc int32 = SQLITE_NOTFOUND memdbEnter(tls, p) if op == SQLITE_FCNTL_VFSNAME { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+5715 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+5730 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == SQLITE_FCNTL_SIZE_LIMIT { @@ -28166,7 +28672,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(8) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+925 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+940 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } @@ -28283,7 +28789,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = Xsqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, ts+5730 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+5745 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) } else { @@ -28356,7 +28862,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+5753 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+5768 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) if !(zSql == uintptr(0)) { goto __3 } @@ -33857,7 +34363,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+5768, /* "recovered %d pag..." */ + Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+5783, /* "recovered %d pag..." */ libc.VaList(bp, nPlayback, (*Pager)(unsafe.Pointer(pPager)).FzJournal)) __27: ; @@ -35626,7 +36132,7 @@ __15: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzJournal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint64(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+5795 /* "-journal" */, uint64(8)) + libc.Xmemcpy(tls, pPtr, ts+5810 /* "-journal" */, uint64(8)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -35641,7 +36147,7 @@ __19: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzWal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint64(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+5804 /* "-wal" */, uint64(4)) + libc.Xmemcpy(tls, pPtr, ts+5819 /* "-wal" */, uint64(4)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -35700,9 +36206,9 @@ __27: ; __26: ; - (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5809 /* "nolock" */, 0)) + (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5824 /* "nolock" */, 0)) if !(((iDc & SQLITE_IOCAP_IMMUTABLE) != 0) || - (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5816 /* "immutable" */, 0) != 0)) { + (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5831 /* "immutable" */, 0) != 0)) { goto __30 } vfsFlags = vfsFlags | (SQLITE_OPEN_READONLY) @@ -39624,7 +40130,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+5826, /* "recovered %d fra..." */ + ts+5841, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -40369,7 +40875,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+5863 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) + Xsqlite3_log(tls, rx, ts+5878 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) } } @@ -43149,7 +43655,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:65443: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 5889 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 5904 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -45189,7 +45695,7 @@ func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt mutexOpen = uintptr(0) rc = SQLITE_OK isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zFilename))) == 0))) - isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+5905 /* ":memory:" */) == 0)) || + isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+5920 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -46063,7 +46569,7 @@ __10: // // The original design allowed these amounts to vary, but as of // version 3.6.0, we require them to be fixed. - if !(libc.Xmemcmp(tls, (page1+21), ts+5914 /* "@ " */, uint64(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+5929 /* "@ " */, uint64(3)) != 0) { goto __14 } goto page1_init_failed @@ -53579,7 +54085,7 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+5918 /* "\n" */, 1) + Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+5933 /* "\n" */, 1) } if (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, (pCheck + 56 /* &.errMsg */), (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -53615,11 +54121,11 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 defer tls.Free(16) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { - checkAppendMsg(tls, pCheck, ts+5920 /* "invalid page num..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+5935 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+5943 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) + checkAppendMsg(tls, pCheck, ts+5958 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -53646,13 +54152,13 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 } - checkAppendMsg(tls, pCheck, ts+5968 /* "Failed to read p..." */, libc.VaList(bp, iChild)) + checkAppendMsg(tls, pCheck, ts+5983 /* "Failed to read p..." */, libc.VaList(bp, iChild)) return } if (int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, - ts+5997, /* "Bad ptr map entr..." */ + ts+6012, /* "Bad ptr map entr..." */ libc.VaList(bp+8, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)))) } } @@ -53675,7 +54181,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } N-- if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+40 /* &pOvflPage */, 0) != 0 { - checkAppendMsg(tls, pCheck, ts+6051 /* "failed to get pa..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+6066 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) @@ -53686,7 +54192,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+6073 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) + ts+6088 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -53712,12 +54218,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, - ts+6112, /* "%s is %d but sho..." */ + ts+6127, /* "%s is %d but sho..." */ libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { - return ts + 6138 /* "size" */ + return ts + 6153 /* "size" */ } - return ts + 6143 /* "overflow list le..." */ + return ts + 6158 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -53861,13 +54367,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6164 /* "Page %u: " */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6179 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+96 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, - ts+6174 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+6189 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -53881,7 +54387,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+6212 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) + ts+6227 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; @@ -53889,7 +54395,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+6250 /* "free space corru..." */, libc.VaList(bp+16, rc)) + checkAppendMsg(tls, pCheck, ts+6265 /* "free space corru..." */, libc.VaList(bp+16, rc)) goto end_of_check __5: ; @@ -53897,7 +54403,7 @@ __5: hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FhdrOffset) // Set up for cell analysis - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6272 /* "On tree page %u ..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6287 /* "On tree page %u ..." */ contentOffset = (U32(((((int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5)))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5))) + 1)))) - 1) & 0xffff) + 1)) // Enforced by btreeInitPage() @@ -53919,7 +54425,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6298 /* "On page %u at ri..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6313 /* "On page %u at ri..." */ checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; @@ -53950,7 +54456,7 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+6326, /* "Offset %d out of..." */ + checkAppendMsg(tls, pCheck, ts+6341, /* "Offset %d out of..." */ libc.VaList(bp+24, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 @@ -53961,7 +54467,7 @@ __12: if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+6356 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+6371 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -53979,7 +54485,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+6380 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+6395 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) __15: ; *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 112 /* &info */)).FnKey @@ -54020,7 +54526,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+6404 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+6419 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -54118,7 +54624,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+6429 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) + ts+6444 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) goto __30 goto __32 __31: @@ -54138,7 +54644,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+6466, /* "Fragmentation of..." */ + ts+6481, /* "Fragmentation of..." */ libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -54267,7 +54773,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 6518 /* "Main freelist: " */ + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 6533 /* "Main freelist: " */ checkList(tls, bp+32 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) @@ -54305,7 +54811,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+6534, /* "max rootpage (%d..." */ + ts+6549, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -54315,7 +54821,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+6579 /* "incremental_vacu..." */, 0) + ts+6594 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -54365,13 +54871,13 @@ __23: if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6634 /* "Page %d is never..." */, libc.VaList(bp+16, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6649 /* "Page %d is never..." */, libc.VaList(bp+16, i)) __26: ; if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6656 /* "Pointer map page..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6671 /* "Pointer map page..." */, libc.VaList(bp+24, i)) __27: ; goto __24 @@ -54690,7 +55196,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = pDb if Xsqlite3OpenTempDatabase(tls, bp+16 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+925 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+940 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg) @@ -54701,7 +55207,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+6690 /* "unknown database..." */, libc.VaList(bp+8, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+6705 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -54722,7 +55228,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76336:12: */ // message in database handle db. func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:76348:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { - Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+6710 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+6725 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -54749,7 +55255,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+6741 /* "source and desti..." */, 0) + pDestDb, SQLITE_ERROR, ts+6756 /* "source and desti..." */, 0) p = uintptr(0) } else { // Allocate space for a new sqlite3_backup object... @@ -55363,7 +55869,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 8 /* x */)), zBuf) } else { Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+6781, /* "%!.15g" */ + Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+6796, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -56004,7 +56510,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -56210,6 +56716,8 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 (*Mem)(unsafe.Pointer(pMem)).Fflags = flags if enc != 0 { (*Mem)(unsafe.Pointer(pMem)).Fenc = enc + } else if (*Mem)(unsafe.Pointer(pMem)).Fdb == uintptr(0) { + (*Mem)(unsafe.Pointer(pMem)).Fenc = U8(SQLITE_UTF8) } else { (*Mem)(unsafe.Pointer(pMem)).Fenc = (*Sqlite3)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fdb)).Fenc @@ -56515,7 +57023,7 @@ __9: goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+925 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) + Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+940 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: Xsqlite3ValueApplyAffinity(tls, pVal, aff, uint8(SQLITE_UTF8)) @@ -56587,7 +57095,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 zVal = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = uintptr(0) negInt = 1 - zNeg = ts + 889 /* "" */ + zNeg = ts + 904 /* "" */ rc = SQLITE_OK __1: @@ -56636,7 +57144,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 6788 /* "-" */ + zNeg = ts + 6803 /* "-" */ __6: ; @@ -56656,7 +57164,7 @@ __9: Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: - zVal = Xsqlite3MPrintf(tls, db, ts+6790 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + zVal = Xsqlite3MPrintf(tls, db, ts+6805 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) if !(zVal == uintptr(0)) { goto __12 } @@ -58170,8 +58678,8 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint var seenCom int32 = 0 var c int8 zSynopsis = libc.AssignAddUintptr(&zOpName, (uintptr(nOpName + 1))) - if libc.Xstrncmp(tls, zSynopsis, ts+6795 /* "IF " */, uint64(3)) == 0 { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+104 /* &zAlt[0] */, ts+6799 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) + if libc.Xstrncmp(tls, zSynopsis, ts+6810 /* "IF " */, uint64(3)) == 0 { + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+104 /* &zAlt[0] */, ts+6814 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) zSynopsis = bp + 104 /* &zAlt[0] */ } for ii = 0; (int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zSynopsis + uintptr(ii)))))) != 0; ii++ { @@ -58185,24 +58693,24 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } else { var v1 int32 = translateP(tls, c, pOp) var v2 int32 - if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6813 /* "@P" */, uint64(2)) == 0 { + if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6828 /* "@P" */, uint64(2)) == 0 { ii = ii + (3) v2 = translateP(tls, *(*int8)(unsafe.Pointer(zSynopsis + uintptr(ii))), pOp) - if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6816 /* "+1" */, uint64(2)) == 0 { + if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6831 /* "+1" */, uint64(2)) == 0 { ii = ii + (2) v2++ } if v2 < 2 { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6819 /* "%d" */, libc.VaList(bp+8, v1)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6834 /* "%d" */, libc.VaList(bp+8, v1)) } else { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6822 /* "%d..%d" */, libc.VaList(bp+16, v1, ((v1+v2)-1))) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6837 /* "%d..%d" */, libc.VaList(bp+16, v1, ((v1+v2)-1))) } - } else if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6829 /* "@NP" */, uint64(3)) == 0 { + } else if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6844 /* "@NP" */, uint64(3)) == 0 { var pCtx uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) if (int32((*Op)(unsafe.Pointer(pOp)).Fp4type) != (-16)) || (int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) == 1) { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6819 /* "%d" */, libc.VaList(bp+32, v1)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6834 /* "%d" */, libc.VaList(bp+32, v1)) } else if int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) > 1 { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6822 /* "%d..%d" */, libc.VaList(bp+40, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6837 /* "%d..%d" */, libc.VaList(bp+40, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) } else if int32((*StrAccum)(unsafe.Pointer(bp+72 /* &x */)).FaccError) == 0 { *(*U32)(unsafe.Pointer(bp + 72 /* &x */ + 24 /* &.nChar */)) -= (U32(2)) @@ -58210,8 +58718,8 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } ii = ii + (3) } else { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6819 /* "%d" */, libc.VaList(bp+56, v1)) - if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6833 /* "..P3" */, uint64(4)) == 0) && ((*Op)(unsafe.Pointer(pOp)).Fp3 == 0) { + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6834 /* "%d" */, libc.VaList(bp+56, v1)) + if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6848 /* "..P3" */, uint64(4)) == 0) && ((*Op)(unsafe.Pointer(pOp)).Fp3 == 0) { ii = ii + (4) } } @@ -58221,7 +58729,7 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } } if !(seenCom != 0) && ((*Op)(unsafe.Pointer(pOp)).FzComment != 0) { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6838 /* "; %s" */, libc.VaList(bp+64, (*Op)(unsafe.Pointer(pOp)).FzComment)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6853 /* "; %s" */, libc.VaList(bp+64, (*Op)(unsafe.Pointer(pOp)).FzComment)) } } else if (*Op)(unsafe.Pointer(pOp)).FzComment != 0 { Xsqlite3_str_appendall(tls, bp+72 /* &x */, (*Op)(unsafe.Pointer(pOp)).FzComment) @@ -58248,34 +58756,34 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6843 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6858 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 32 /* &.aColl */) + uintptr(j)*8)) var zColl uintptr if pColl != 0 { zColl = (*CollSeq)(unsafe.Pointer(pColl)).FzName } else { - zColl = ts + 889 /* "" */ + zColl = ts + 904 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+452 /* "BINARY" */) == 0 { - zColl = ts + 6848 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+467 /* "BINARY" */) == 0 { + zColl = ts + 6863 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6850, /* ",%s%s%s" */ + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6865, /* ",%s%s%s" */ libc.VaList(bp+8, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { - return ts + 6788 /* "-" */ + return ts + 6803 /* "-" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 6858 /* "N." */ + return ts + 6873 /* "N." */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6861 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6876 /* ")" */, 1) break } @@ -58283,7 +58791,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6863 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6878 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -58291,32 +58799,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6872 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6887 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6872 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6887 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6879 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6894 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6819 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6834 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+672 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+687 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -58326,14 +58834,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6879 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6894 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+672 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+687 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { - zP4 = ts + 890 /* "NULL" */ + zP4 = ts + 905 /* "NULL" */ } else { - zP4 = ts + 6884 /* "(blob)" */ + zP4 = ts + 6899 /* "(blob)" */ } break @@ -58341,7 +58849,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6891 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6906 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -58352,20 +58860,20 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6899 /* "%c%u" */, libc.VaList(bp+128, func() int32 { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6914 /* "%c%u" */, libc.VaList(bp+128, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6904 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6919 /* "]" */, 1) break } case -4: { - zP4 = ts + 6906 /* "program" */ + zP4 = ts + 6921 /* "program" */ break } @@ -58397,7 +58905,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } -var encnames = [4]uintptr{ts + 6914 /* "?" */, ts + 6916 /* "8" */, ts + 6918 /* "16LE" */, ts + 6923 /* "16BE" */} /* sqlite3.c:80570:25 */ +var encnames = [4]uintptr{ts + 6929 /* "?" */, ts + 6931 /* "8" */, ts + 6933 /* "16LE" */, ts + 6938 /* "16BE" */} /* sqlite3.c:80570:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -58942,8 +59450,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 6928 /* "addr" */, ts + 6933 /* "opcode" */, ts + 6940 /* "p1" */, ts + 6943 /* "p2" */, ts + 6946 /* "p3" */, ts + 6949 /* "p4" */, ts + 6952 /* "p5" */, ts + 6955, /* "comment" */ - ts + 6963 /* "id" */, ts + 6966 /* "parent" */, ts + 6973 /* "notused" */, ts + 6981, /* "detail" */ + ts + 6943 /* "addr" */, ts + 6948 /* "opcode" */, ts + 6955 /* "p1" */, ts + 6958 /* "p2" */, ts + 6961 /* "p3" */, ts + 6964 /* "p4" */, ts + 6967 /* "p5" */, ts + 6970, /* "comment" */ + ts + 6978 /* "id" */, ts + 6981 /* "parent" */, ts + 6988 /* "notused" */, ts + 6996, /* "detail" */ } /* sqlite3.c:81298:23 */ // Close a VDBE cursor and release all the resources that cursor @@ -59191,7 +59699,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Select a super-journal file name nMainFile = Xsqlite3Strlen30(tls, zMainFile) - zSuper = Xsqlite3MPrintf(tls, db, ts+6988 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) + zSuper = Xsqlite3MPrintf(tls, db, ts+7003 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) if zSuper == uintptr(0) { return SQLITE_NOMEM } @@ -59201,16 +59709,16 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+7000 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+7015 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+7014 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+7029 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) } } retryCount++ Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &iRandom */) - Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+7029, /* "-mj%06X9%02X" */ + Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+7044, /* "-mj%06X9%02X" */ libc.VaList(bp+40, ((*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. @@ -59405,7 +59913,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq (!(deferred != 0) && ((*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0))) { (*Vdbe)(unsafe.Pointer(p)).Frc = (SQLITE_CONSTRAINT | (int32(3) << 8)) (*Vdbe)(unsafe.Pointer(p)).FerrorAction = U8(OE_Abort) - Xsqlite3VdbeError(tls, p, ts+7042 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7057 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -59687,7 +60195,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: // called), set the database error in this case as well. Xsqlite3ErrorWithMsg(tls, db, (*Vdbe)(unsafe.Pointer(p)).Frc, func() uintptr { if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { - return ts + 925 /* "%s" */ + return ts + 940 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -61239,13 +61747,13 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023 var zContext uintptr var zMsg uintptr if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_IsCheck) != 0 { - zContext = ts + 7072 /* "a CHECK constrai..." */ + zContext = ts + 7087 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 7091 /* "a generated colu..." */ + zContext = ts + 7106 /* "a generated colu..." */ } else { - zContext = ts + 7110 /* "an index" */ + zContext = ts + 7125 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+7119, /* "non-deterministi..." */ + zMsg = Xsqlite3_mprintf(tls, ts+7134, /* "non-deterministi..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -61376,7 +61884,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84185:1 // invalid). Return false if it is ok. func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+7155 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+7170 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -61386,7 +61894,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84204:12: */ if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+7200 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+7215 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -61856,7 +62364,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:84708:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG - Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+7240 /* "string or blob t..." */, int64(-1), + Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+7255 /* "string or blob t..." */, int64(-1), uint8(SQLITE_UTF8), uintptr(0)) } @@ -62607,7 +63115,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12 Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+7263 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) + ts+7278 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) return Xsqlite3MisuseError(tls, 85498) } if (i < 1) || (i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar)) { @@ -63384,7 +63892,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7303 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7318 /* "-- " */, 3) Xsqlite3_str_append(tls, bp+48 /* &out */, zStart, (int32((int64(zRawSql) - int64(zStart)) / 1))) } @@ -63422,11 +63930,11 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 184 /* idx */))-1))*56) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+890 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+905 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6879 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6894 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6781 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6796 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc @@ -63441,21 +63949,21 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = bp + 192 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7307 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7322 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { Xsqlite3VdbeMemRelease(tls, bp+192 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7314 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7329 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7327 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7342 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7330 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7345 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7335 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7350 /* "'" */, 1) } } } @@ -67177,19 +67685,19 @@ __192: goto __195 } - Xsqlite3VdbeError(tls, p, ts+7337 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) + Xsqlite3VdbeError(tls, p, ts+7352 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __197 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+7358 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+7373 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __197: ; goto __196 __195: - Xsqlite3VdbeError(tls, p, ts+925 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+940 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __196: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+7365 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+7380 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __194: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -69740,7 +70248,7 @@ __76: } // A new savepoint cannot be created if there are active write // statements (i.e. open read/write incremental blob handles). - Xsqlite3VdbeError(tls, p, ts+7389 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7404 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __450 __449: @@ -69813,7 +70321,7 @@ __457: if !(!(pSavepoint != 0)) { goto __458 } - Xsqlite3VdbeError(tls, p, ts+7440 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) + Xsqlite3VdbeError(tls, p, ts+7455 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) rc = SQLITE_ERROR goto __459 __458: @@ -69823,7 +70331,7 @@ __458: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+7462 /* "cannot release s..." */, 0) + ts+7477 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __461 __460: @@ -70028,7 +70536,7 @@ __490: // If this instruction implements a COMMIT and other VMs are writing // return an error indicating that the other VMs must complete first. Xsqlite3VdbeError(tls, p, - ts+7516 /* "cannot commit tr..." */, 0) + ts+7531 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __493 @@ -70071,13 +70579,13 @@ __488: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 7571 /* "cannot start a t..." */ + return ts + 7586 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 7619 /* "cannot rollback ..." */ + return ts + 7634 /* "cannot rollback ..." */ } - return ts + 7662 /* "cannot commit - ..." */ + return ts + 7677 /* "cannot commit - ..." */ }() }(), 0) @@ -70195,7 +70703,7 @@ __500: // version is checked to ensure that the schema has not changed since the // SQL statement was prepared. Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+7703 /* "database schema ..." */) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+7718 /* "database schema ..." */) // If the schema-cookie from the database file matches the cookie // stored with the in-memory representation of the schema, do // not reload the schema from the database file. @@ -70577,7 +71085,7 @@ __86: // Only used when number of columns is zero (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fn = 0 - (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 889 /* "" */ + (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 904 /* "" */ __526: ; pCx1 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -72719,7 +73227,7 @@ __691: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __694 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+7731 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+7746 /* "index corruption" */) goto abort_due_to_error __694: ; @@ -73152,14 +73660,14 @@ __139: goto __723 __722: - zSchema = ts + 7748 /* "sqlite_master" */ + zSchema = ts + 7763 /* "sqlite_master" */ (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FiDb = iDb3 (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FpzErrMsg = (p + 168 /* &.zErrMsg */) (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmInitFlags = U32(0) (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+7762, /* "SELECT*FROM\"%w\"...." */ + ts+7777, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp+64, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __724 @@ -73492,7 +74000,7 @@ __744: goto __749 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+7805 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7820 /* "too many levels ..." */, 0) goto abort_due_to_error __749: ; @@ -73937,7 +74445,7 @@ __784: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __786 } - Xsqlite3VdbeError(tls, p, ts+925 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+940 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __786: ; @@ -74015,7 +74523,7 @@ __791: if !(rc != 0) { goto __792 } - Xsqlite3VdbeError(tls, p, ts+925 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+940 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __792: ; @@ -74130,12 +74638,12 @@ __801: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+7842, /* "cannot change %s..." */ + ts+7857, /* "cannot change %s..." */ libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 7894 /* "into" */ + return ts + 7909 /* "into" */ } - return ts + 7899 /* "out of" */ + return ts + 7914 /* "out of" */ }())) goto abort_due_to_error goto __804 @@ -74338,7 +74846,7 @@ __169: goto __819 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+7906 /* "database table i..." */, libc.VaList(bp+112, z1)) + Xsqlite3VdbeError(tls, p, ts+7921 /* "database table i..." */, libc.VaList(bp+112, z1)) __819: ; goto abort_due_to_error @@ -74582,7 +75090,7 @@ __836: if !((*Sqlite3_context)(unsafe.Pointer(bp+872 /* &sContext */)).FisError > 0) { goto __837 } - Xsqlite3VdbeError(tls, p, ts+925 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) + Xsqlite3VdbeError(tls, p, ts+940 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) rc = (*Sqlite3_context)(unsafe.Pointer(bp + 872 /* &sContext */)).FisError __837: ; @@ -74915,7 +75423,7 @@ __860: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __865 } - Xsqlite3VdbeError(tls, p, ts+925 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+940 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __865: ; @@ -75006,7 +75514,7 @@ __870: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __872 } - z3 = Xsqlite3MPrintf(tls, db, ts+7935 /* "-- %s" */, libc.VaList(bp+136, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+7950 /* "-- %s" */, libc.VaList(bp+136, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __873 @@ -75109,13 +75617,13 @@ __881: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __883 } - Xsqlite3VdbeError(tls, p, ts+925 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+940 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) __883: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) - Xsqlite3_log(tls, rc, ts+7941, /* "statement aborts..." */ + Xsqlite3_log(tls, rc, ts+7956, /* "statement aborts..." */ libc.VaList(bp+152, (int32((int64(pOp)-int64(aOp))/32)), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { @@ -75160,14 +75668,14 @@ __887: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+7240 /* "string or blob t..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7255 /* "string or blob t..." */, 0) rc = SQLITE_TOOBIG goto abort_due_to_error // Jump to here if a malloc() fails. no_mem: Xsqlite3OomFault(tls, db) - Xsqlite3VdbeError(tls, p, ts+7973 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+7988 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -75180,8 +75688,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 7987 /* "NOT NULL" */, ts + 7996 /* "UNIQUE" */, ts + 8003, /* "CHECK" */ - ts + 8009 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ +var azType = [4]uintptr{ts + 8002 /* "NOT NULL" */, ts + 8011 /* "UNIQUE" */, ts + 8018, /* "CHECK" */ + ts + 8024 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:88844:32 */ var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:88847:32 */ var aFlag1 = [2]U16{U16(MEM_Blob), (U16(MEM_Str | MEM_Term))} /* sqlite3.c:89315:24 */ @@ -75288,16 +75796,16 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } if type1 < U32(12) { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8021, /* "cannot open valu..." */ + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8036, /* "cannot open valu..." */ libc.VaList(bp, func() uintptr { if type1 == U32(0) { - return ts + 8050 /* "null" */ + return ts + 8065 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 8055 /* "real" */ + return ts + 8070 /* "real" */ } - return ts + 8060 /* "integer" */ + return ts + 8075 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -75317,10 +75825,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8068 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8083 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+925 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+940 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -75383,21 +75891,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8088 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8103 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8118 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8133 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8154 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8169 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) __7: ; if !(!(pTab != 0)) { @@ -75442,7 +75950,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8175 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8190 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -75471,7 +75979,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+64 /* &.aCol */)+uintptr(j)*16)).FiFrom == iCol) { goto __23 } - zFault = ts + 8196 /* "foreign key" */ + zFault = ts + 8211 /* "foreign key" */ __23: ; goto __21 @@ -75504,7 +76012,7 @@ __27: if !((int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == iCol) || (int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == (-2))) { goto __30 } - zFault = ts + 8208 /* "indexed" */ + zFault = ts + 8223 /* "indexed" */ __30: ; goto __28 @@ -75525,7 +76033,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8216 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8231 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -75634,7 +76142,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) != 0 { - return ts + 925 /* "%s" */ + return ts + 940 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)))) @@ -75799,7 +76307,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) != 0 { - return ts + 925 /* "%s" */ + return ts + 940 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) @@ -78424,11 +78932,11 @@ func bytecodevtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, ar *(*[2]uintptr)(unsafe.Pointer(bp /* azSchema */)) = [2]uintptr{ // bytecode() schema - ts + 8250, /* "CREATE TABLE x(a..." */ + ts + 8265, /* "CREATE TABLE x(a..." */ // Tables_used() schema - ts + 8362, /* "CREATE TABLE x(t..." */ + ts + 8377, /* "CREATE TABLE x(t..." */ } rc = Xsqlite3_declare_vtab(tls, db, *(*uintptr)(unsafe.Pointer(bp /* &azSchema[0] */ + uintptr(isTabUsed)*8))) @@ -78552,7 +79060,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 var pTab uintptr = (*HashElem)(unsafe.Pointer(k)).Fdata if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) && ((*Table)(unsafe.Pointer(pTab)).Ftnum == iRoot) { (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzName = (*Table)(unsafe.Pointer(pTab)).FzName - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8443 /* "table" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8458 /* "table" */ break } } @@ -78561,7 +79069,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 var pIdx uintptr = (*HashElem)(unsafe.Pointer(k)).Fdata if (*Index)(unsafe.Pointer(pIdx)).Ftnum == iRoot { (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzName = (*Index)(unsafe.Pointer(pIdx)).FzName - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8449 /* "index" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8464 /* "index" */ } } } @@ -78611,7 +79119,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 } else if *(*uintptr)(unsafe.Pointer(aOp + 16 /* &.p4 */)) != uintptr(0) { Xsqlite3_result_text(tls, ctx, (*(*uintptr)(unsafe.Pointer(aOp + 16 /* &.p4 */)) + uintptr(3)), -1, uintptr(0)) } else { - Xsqlite3_result_text(tls, ctx, ts+8455 /* "(FK)" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+8470 /* "(FK)" */, 4, uintptr(0)) } break @@ -78666,16 +79174,16 @@ func bytecodevtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FneedFinalize = 1 } } else { - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+8460 /* "stmt-pointer" */) + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+8475 /* "stmt-pointer" */) } if (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt == uintptr(0) { (*Bytecodevtab)(unsafe.Pointer(pVTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+8473, /* "argument to %s()..." */ + ts+8488, /* "argument to %s()..." */ libc.VaList(bp, func() uintptr { if (*Bytecodevtab)(unsafe.Pointer(pVTab)).FbTablesUsed != 0 { - return ts + 8519 /* "tables_used" */ + return ts + 8534 /* "tables_used" */ } - return ts + 8531 /* "bytecode" */ + return ts + 8546 /* "bytecode" */ }())) rc = SQLITE_ERROR } else { @@ -78754,9 +79262,9 @@ func Xsqlite3VdbeBytecodeVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3. *(*uintptr)(unsafe.Pointer(bp)) = db var rc int32 - rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8531 /* "bytecode" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), uintptr(0)) + rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8546 /* "bytecode" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8519 /* "tables_used" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), bp /* &db */) + rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8534 /* "tables_used" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), bp /* &db */) } return rc } @@ -79737,7 +80245,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+8540 /* "main" */, zDb) == 0)) { + if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+8555 /* "main" */, zDb) == 0)) { goto __8 } // This branch is taken when the main database has been renamed @@ -79940,14 +80448,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8545 /* "new" */, zTab) == 0)) { + if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8560 /* "new" */, zTab) == 0)) { goto __41 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 1 pTab = (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab goto __42 __41: - if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8549 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8564 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -79964,7 +80472,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+8553 /* "excluded" */, zTab) == 0)) { + if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+8568 /* "excluded" */, zTab) == 0)) { goto __45 } pTab = (*SrcItem)(unsafe.Pointer(((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8 /* &.a */))).FpTab @@ -80141,7 +80649,7 @@ __66: if !((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0) && (((*Expr)(unsafe.Pointer((pOrig))).Fflags & (U32(EP_Agg))) != U32(0))) { goto __70 } - Xsqlite3ErrorMsg(tls, pParse, ts+8562 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+8577 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -80149,14 +80657,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+8593 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+8608 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) return WRC_Abort __71: ; if !(Xsqlite3ExprVectorSize(tls, pOrig) != 1) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+8630 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8645 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -80232,7 +80740,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+8648 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) + ts+8663 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)) = uintptr(0) return WRC_Prune @@ -80253,23 +80761,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 8683 /* "no such column" */ + zErr = ts + 8698 /* "no such column" */ } else { - zErr = ts + 8698 /* "ambiguous column..." */ + zErr = ts + 8713 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+8720 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8735 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+8733 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8748 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+8743 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8758 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -80403,15 +80911,15 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp bp := tls.Alloc(16) defer tls.Free(16) - var zIn uintptr = ts + 8750 /* "partial index WH..." */ + var zIn uintptr = ts + 8765 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 8778 /* "index expression..." */ + zIn = ts + 8793 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 8796 /* "CHECK constraint..." */ + zIn = ts + 8811 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 8814 /* "generated column..." */ + zIn = ts + 8829 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+8832 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) + Xsqlite3ErrorMsg(tls, pParse, ts+8847 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) if pExpr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } @@ -80519,10 +81027,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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 /* &.u */)) = ts + 8852 /* "true" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8867 /* "true" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsTrue)) } else { - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8857 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8872 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) } (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) @@ -80575,7 +81083,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (NC_IdxExpr | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+8863 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+8878 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -80642,7 +81150,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+8880 /* "second argument ..." */, 0) + ts+8895 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -80667,7 +81175,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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+8951, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+8966, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -80691,7 +81199,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all // all this. if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & ((NC_IdxExpr | NC_PartIdx) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+8986 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+9001 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -80720,30 +81228,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+9014 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) + ts+9029 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) (*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 + 9058 /* "window" */ + zType = ts + 9073 /* "window" */ } else { - zType = ts + 9065 /* "aggregate" */ + zType = ts + 9080 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+9075 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+9090 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) (*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+9104 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+9119 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+9127, /* "wrong number of ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9142, /* "wrong number of ..." */ libc.VaList(bp+64, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, - ts+9172, /* "FILTER may not b..." */ + ts+9187, /* "FILTER may not b..." */ libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -80818,7 +81326,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+9221 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+9236 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) @@ -80835,7 +81343,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s { if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+9232 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+9247 /* "parameters" */, pExpr) } break @@ -80895,7 +81403,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+8630 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8645 /* "row value misuse..." */, 0) } break @@ -81000,7 +81508,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+9243 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) + ts+9258 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) } // Analyze the ORDER BY clause in a compound SELECT statement. Modify @@ -81032,7 +81540,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 + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+9299 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9314 /* "too many terms i..." */, 0) return 1 } for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { @@ -81067,7 +81575,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 } if Xsqlite3ExprIsInteger(tls, pE, bp+8 /* &iCol */) != 0 { if (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { - resolveOutOfRangeError(tls, pParse, ts+9333 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+9348 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -81138,7 +81646,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { if (int32(*(*uint8)(unsafe.Pointer(((pOrderBy + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.done */)) & 0x4 >> 2)) == 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+9339 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+9354 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -81166,7 +81674,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+9400 /* "too many terms i..." */, libc.VaList(bp, zType)) + Xsqlite3ErrorMsg(tls, pParse, ts+9415 /* "too many terms i..." */, libc.VaList(bp, zType)) return 1 } pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList @@ -81455,7 +81963,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp /* &sNC */ + 40 /* &.ncFlags */)) |= (NC_UEList) if (*Select)(unsafe.Pointer(p)).FpHaving != 0 { if !(pGroupBy != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+9431 /* "a GROUP BY claus..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9446 /* "a GROUP BY claus..." */, 0) return WRC_Abort } if Xsqlite3ResolveExprNames(tls, bp /* &sNC */, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -81512,7 +82020,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // resolve those symbols on the incorrect ORDER BY for consistency. if (((*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0)) && (isCompound <= nCompound)) && // Defer right-most ORDER BY of a compound - (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9333 /* "ORDER" */) != 0) { + (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9348 /* "ORDER" */) != 0) { return WRC_Abort } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -81525,7 +82033,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql if pGroupBy != 0 { var pItem uintptr - if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+9475 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { + if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+9490 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { return WRC_Abort } i = 0 @@ -81537,7 +82045,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql { if ((*Expr)(unsafe.Pointer(((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr))).Fflags & (U32(EP_Agg))) != U32(0) { Xsqlite3ErrorMsg(tls, pParse, - ts+9481 /* "aggregate functi..." */, 0) + ts+9496 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -82307,7 +82815,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+8630 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8645 /* "row value misuse..." */, 0) return } @@ -82383,7 +82891,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 3*4)) if nHeight > mxHeight { Xsqlite3ErrorMsg(tls, pParse, - ts+9540 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+9555 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -82624,7 +83132,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+9588 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+9603 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -82646,7 +83154,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u return uintptr(0) } if (pList != 0) && ((*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 6*4))) { - Xsqlite3ErrorMsg(tls, pParse, ts+9590 /* "too many argumen..." */, libc.VaList(bp, pToken)) + Xsqlite3ErrorMsg(tls, pParse, ts+9605 /* "too many argumen..." */, libc.VaList(bp, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32 /* &.x */)) = pList *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_HasFunc)) @@ -82680,7 +83188,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // is tagged with SQLITE_FUNC_UNSAFE) and // SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning // that the schema is possibly tainted). - Xsqlite3ErrorMsg(tls, pParse, ts+9624 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+9639 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) } } } @@ -82733,7 +83241,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+9643, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9658, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) return } @@ -82760,7 +83268,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*Expr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+9686 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9701 /* "too many SQL var..." */, 0) } } @@ -83429,7 +83937,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+9709, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9724, /* "%d columns assig..." */ libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error __3: @@ -83564,7 +84072,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 2*4)) if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx) { - Xsqlite3ErrorMsg(tls, pParse, ts+9739 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+9754 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -83619,10 +84127,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 { /* sqlite3.c:103208:20: */ - if Xsqlite3StrICmp(tls, zIn, ts+8852 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+8867 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+8857 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+8872 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -84067,13 +84575,13 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 // Return TRUE if the given string is a row-id column name. func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:103650:20: */ - if Xsqlite3StrICmp(tls, z, ts+9762 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9777 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+9770 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9785 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+9776 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9791 /* "OID" */) == 0 { return 1 } return 0 @@ -84151,7 +84659,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iCur, 0, regHasNull) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_TYPEOFARG)) - Xsqlite3VdbeComment(tls, v, ts+9780 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) + Xsqlite3VdbeComment(tls, v, ts+9795 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) Xsqlite3VdbeJumpHere(tls, v, addr1) } @@ -84304,7 +84812,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, Xsqlite3OpenTable(tls, pParse, iTab, iDb, pTab, OP_OpenRead) eType = IN_INDEX_ROWID - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9799 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9814 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeJumpHere(tls, v, iAddr) } else { var pIdx uintptr // Iterator variable @@ -84395,10 +84903,10 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9846 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9861 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+925 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+940 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) eType = (IN_INDEX_INDEX_ASC + int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder)))) @@ -84502,7 +85010,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec defer tls.Free(16) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { - var zFmt uintptr = ts + 9877 /* "sub-select retur..." */ + var zFmt uintptr = ts + 9892 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -84520,7 +85028,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_xIsSelect)) != 0 { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FpEList)).FnExpr, 1) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+8630 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8645 /* "row value misuse..." */, 0) } } @@ -84573,7 +85081,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9921 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9936 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) @@ -84587,7 +85095,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) - Xsqlite3VdbeComment(tls, v, ts+9944 /* "return address" */, 0) + Xsqlite3VdbeComment(tls, v, ts+9959 /* "return address" */, 0) addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) } @@ -84601,9 +85109,9 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 (*Expr)(unsafe.Pointer(pExpr)).FiTable = iTab addr = Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, (*Expr)(unsafe.Pointer(pExpr)).FiTable, nVal) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeComment(tls, v, ts+9959 /* "Result of SELECT..." */, libc.VaList(bp+8, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) + Xsqlite3VdbeComment(tls, v, ts+9974 /* "Result of SELECT..." */, libc.VaList(bp+8, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } else { - Xsqlite3VdbeComment(tls, v, ts+9979 /* "RHS of IN operat..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+9994 /* "RHS of IN operat..." */, 0) } pKeyInfo = Xsqlite3KeyInfoAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, nVal, 1) @@ -84615,11 +85123,11 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+9998 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10013 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { if addrOnce != 0 { - return ts + 889 /* "" */ + return ts + 904 /* "" */ } - return ts + 10017 /* "CORRELATED " */ + return ts + 10032 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSelect)).FselId)) // If the LHS and RHS of the IN operator do not match, that // error will have been caught long before we reach this point. @@ -84765,7 +85273,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // If this routine has already been coded, then invoke it as a // subroutine. if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+10029 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+10044 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) return (*Expr)(unsafe.Pointer(pExpr)).FiTable @@ -84775,7 +85283,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_Subrtn)) *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) - Xsqlite3VdbeComment(tls, v, ts+9944 /* "return address" */, 0) + Xsqlite3VdbeComment(tls, v, ts+9959 /* "return address" */, 0) // The evaluation of the EXISTS/SELECT must be repeated every time it // is encountered if any of the following is true: @@ -84799,11 +85307,11 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10047 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10062 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 889 /* "" */ + return ts + 904 /* "" */ } - return ts + 10017 /* "CORRELATED " */ + return ts + 10032 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSel)).FselId)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { nReg = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpEList)).FnExpr @@ -84817,17 +85325,17 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSDParm (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FnSdst = nReg Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm, (((*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm + nReg) - 1)) - Xsqlite3VdbeComment(tls, v, ts+10068 /* "Init subquery re..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+10083 /* "Init subquery re..." */, 0) } else { (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FeDest = U8(SRT_Exists) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm) - Xsqlite3VdbeComment(tls, v, ts+10089 /* "Init EXISTS resu..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+10104 /* "Init EXISTS resu..." */, 0) } if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 { // The subquery already has a limit. If the pre-existing limit is X // then make the new limit X<>0 so that the new limit is either 1 or 0 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+9588 /* "0" */) + pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+9603 /* "0" */) if pLimit != 0 { (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, @@ -84837,7 +85345,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { // If there is no pre-existing limit add a limit of 1 - pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+10108 /* "1" */) + pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+10123 /* "1" */) (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -84972,7 +85480,7 @@ __2: // the RHS has not yet been coded. v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // OOM detected prior to this routine - Xsqlite3VdbeNoopComment(tls, v, ts+10110 /* "begin IN expr" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+10125 /* "begin IN expr" */, 0) eType = Xsqlite3FindInIndex(tls, pParse, pExpr, (uint32(IN_INDEX_MEMBERSHIP | IN_INDEX_NOOP_OK)), func() uintptr { @@ -85277,7 +85785,7 @@ sqlite3ExprCodeIN_finished: Xsqlite3ReleaseTempReg(tls, pParse, rLhs) __40: ; - Xsqlite3VdbeComment(tls, v, ts+10124 /* "end IN expr" */, 0) + Xsqlite3VdbeComment(tls, v, ts+10139 /* "end IN expr" */, 0) sqlite3ExprCodeIN_oom_error: Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiMap) Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, zAff) @@ -85329,12 +85837,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM c = Xsqlite3DecOrHexToI64(tls, z, bp+16 /* &value */) if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 16 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { - if Xsqlite3_strnicmp(tls, z, ts+10136 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10139 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { + if Xsqlite3_strnicmp(tls, z, ts+10151 /* "0x" */, 2) == 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+10154 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { - return ts + 6788 /* "-" */ + return ts + 6803 /* "-" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -85409,7 +85917,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT } else if (int32((*Column)(unsafe.Pointer((libc.AssignUintptr(&pCol, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32))))).FcolFlags) & COLFLAG_VIRTUAL) != 0 { var pParse uintptr = Xsqlite3VdbeParser(tls, v) if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_BUSY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10165 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+10180 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else { var savedSelfTab int32 = (*Parse)(unsafe.Pointer(pParse)).FiSelfTab *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) @@ -85900,10 +86408,10 @@ __56: if !(int32((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn) < 0) { goto __59 } - Xsqlite3VdbeComment(tls, v, ts+10195 /* "%s.rowid" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10210 /* "%s.rowid" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto __60 __59: - Xsqlite3VdbeComment(tls, v, ts+10204 /* "%s.%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10219 /* "%s.%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).FzName)) if !(int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).Faffinity) == SQLITE_AFF_REAL) { goto __61 } @@ -85968,7 +86476,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+10165, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10180, /* "generated column..." */ libc.VaList(bp+24, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -86220,7 +86728,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+10210 /* "misuse of aggreg..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+10225 /* "misuse of aggreg..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*32)).FiMem @@ -86262,7 +86770,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+10236 /* "unknown function..." */, libc.VaList(bp+40, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+10251 /* "unknown function..." */, libc.VaList(bp+40, zId)) goto __3 __91: ; @@ -86456,7 +86964,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+9709, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9724, /* "%d columns assig..." */ libc.VaList(bp+48, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -86523,14 +87031,14 @@ __51: int32(Xsqlite3TableColumnToStorage(tls, pTab2, int16(iCol1)))) Xsqlite3VdbeAddOp2(tls, v, OP_Param, p1, target) - Xsqlite3VdbeComment(tls, v, ts+10259 /* "r[%d]=%s.%s" */, libc.VaList(bp+64, target, func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+10274 /* "r[%d]=%s.%s" */, libc.VaList(bp+64, target, func() uintptr { if (*Expr)(unsafe.Pointer(pExpr)).FiTable != 0 { - return ts + 8545 /* "new" */ + return ts + 8560 /* "new" */ } - return ts + 8549 /* "old" */ + return ts + 8564 /* "old" */ }(), func() uintptr { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { - return ts + 10271 /* "rowid" */ + return ts + 10286 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)))).FaCol + uintptr(iCol1)*32)).FzName }())) @@ -86549,7 +87057,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+8630 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8645 /* "row value misuse..." */, 0) goto __3 // TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions @@ -86673,7 +87181,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+10277 /* "RAISE() may only..." */, 0) + ts+10292 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -86712,7 +87220,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 10327 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 10342 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -88549,11 +89057,11 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq bp := tls.Alloc(8) defer tls.Free(8) - if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10335 /* "sqlite_" */, 7)) || + if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10350 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || ((((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Shadow)) != U32(0)) && (Xsqlite3ReadOnlyShadowTables(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+10343 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+10358 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -88571,14 +89079,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+10371, /* "SELECT 1 FROM \"%..." */ + ts+10386, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+10546, /* "SELECT 1 FROM te..." */ + ts+10561, /* "SELECT 1 FROM te..." */ libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -88594,11 +89102,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+10720 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) + ts+10735 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+10867 /* "UPDATE temp.sqli..." */, 0) + ts+10882 /* "UPDATE temp.sqli..." */, 0) } } @@ -88672,7 +89180,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+11018 /* "there is already..." */, libc.VaList(bp, zName)) + ts+11033 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -88685,7 +89193,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8443 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8458 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -88695,7 +89203,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+11077 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11092 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -88748,24 +89256,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+11104 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+11119 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, - ts+11288, /* "UPDATE %Q.sqlite..." */ + ts+11303, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+64, zDb, zName, zName, zName, nTabName, zTabName)) // If the sqlite_sequence table exists in this database, then update // it with the new table name. - if !(Xsqlite3FindTable(tls, db, ts+11593 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+11608 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+11609, /* "UPDATE \"%w\".sqli..." */ + ts+11624, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -88778,7 +89286,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+11667 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+11682 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -88796,7 +89304,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+11932 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+11947 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -88811,7 +89319,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, - ts+11945, /* "SELECT raise(ABO..." */ + ts+11960, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -88859,12 +89367,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // If there is a NOT NULL constraint, then the default value for the // column must not be NULL. if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11983 /* "Cannot add a PRI..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11998 /* "Cannot add a PRI..." */, 0) return } if (*Table)(unsafe.Pointer(pNew)).FpIndex != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+12015 /* "Cannot add a UNI..." */, 0) + ts+12030 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -88877,11 +89385,11 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if ((((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ForeignKeys)) != 0) && ((*Table)(unsafe.Pointer(pNew)).FpFKey != 0)) && (pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+12042 /* "Cannot add a REF..." */) + ts+12057 /* "Cannot add a REF..." */) } if ((*Column)(unsafe.Pointer(pCol)).FnotNull != 0) && !(pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+12101 /* "Cannot add a NOT..." */) + ts+12116 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -88897,12 +89405,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+12154 /* "Cannot add a col..." */) + ts+12169 /* "Cannot add a col..." */) } Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { - sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+12200 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+12215 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -88918,7 +89426,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+12227, /* "UPDATE \"%w\".sqli..." */ + ts+12242, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp, zDb, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zCol, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zTab)) Xsqlite3DbFree(tls, db, zCol) @@ -88989,7 +89497,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+12373 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12388 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -88998,7 +89506,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+12407 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12422 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -89033,7 +89541,7 @@ __6: nAlloc = ((((int32((*Table)(unsafe.Pointer(pNew)).FnCol) - 1) / 8) * 8) + 8) (*Table)(unsafe.Pointer(pNew)).FaCol = Xsqlite3DbMallocZero(tls, db, (uint64(uint64(unsafe.Sizeof(Column{})) * uint64(nAlloc)))) - (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+12437 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+12452 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(!(int32((*Table)(unsafe.Pointer(pNew)).FaCol) != 0) || !(int32((*Table)(unsafe.Pointer(pNew)).FzName) != 0)) { goto __7 } @@ -89080,18 +89588,18 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { - zType = ts + 12456 /* "view" */ + zType = ts + 12471 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 12461 /* "virtual table" */ + zType = ts + 12476 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+12475, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12490, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 12493 /* "drop column from" */ + return ts + 12508 /* "drop column from" */ } - return ts + 12510 /* "rename columns o..." */ + return ts + 12525 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -89184,13 +89692,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+8175 /* "no such column: ..." */, libc.VaList(bp, zOld)) + Xsqlite3ErrorMsg(tls, pParse, ts+8190 /* "no such column: ..." */, libc.VaList(bp, zOld)) goto exit_rename_column __10: ; // Ensure the schema contains no double-quoted strings - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+889 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+904 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iSchema == 1))) // Do the rename operation using a recursive UPDATE statement that @@ -89208,19 +89716,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+12528, /* "UPDATE \"%w\".sqli..." */ + ts+12543, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+8, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, - ts+12746, /* "UPDATE temp.sqli..." */ + ts+12761, /* "UPDATE temp.sqli..." */ libc.VaList(bp+72, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+11932 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+11947 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -89515,12 +90023,12 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui var zN uintptr = Xsqlite3_value_text(tls, pObject) var zErr uintptr - zErr = Xsqlite3_mprintf(tls, ts+12877, /* "error in %s %s%s..." */ + zErr = Xsqlite3_mprintf(tls, ts+12892, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - return ts + 12900 /* " " */ + return ts + 12915 /* " " */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -89629,7 +90137,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // ALTER TABLE statement was quoted (bQuote==1), then set zNew to // point to zQuot so that all substitutions are made using the // quoted version of the new column name. - zQuot = Xsqlite3MPrintf(tls, db, ts+12902 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+12917 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -89679,12 +90187,12 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.Xmemcpy(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, uint64((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+12908 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+12923 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { - return ts + 12900 /* " " */ + return ts + 12915 /* " " */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -90189,7 +90697,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+889 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) + renameColumnParseError(tls, context, ts+904 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) goto __45 __44: Xsqlite3_result_error_code(tls, context, rc) @@ -90369,7 +90877,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr } if rc != SQLITE_OK { if (*Parse)(unsafe.Pointer(bp+80 /* &sParse */)).FzErrMsg != 0 { - renameColumnParseError(tls, context, ts+889 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) + renameColumnParseError(tls, context, ts+904 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -90651,7 +91159,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+12913 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) + zNew = Xsqlite3MPrintf(tls, db, ts+12928 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -1, libc.UintptrFromInt32(-1)) Xsqlite3_free(tls, zNew) @@ -90739,7 +91247,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+8175 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8190 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -90749,12 +91257,12 @@ __6: if !((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & (COLFLAG_PRIMKEY | COLFLAG_UNIQUE)) != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+12920, /* "cannot drop %s c..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12935, /* "cannot drop %s c..." */ libc.VaList(bp+8, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - return ts + 12948 /* "PRIMARY KEY" */ + return ts + 12963 /* "PRIMARY KEY" */ } - return ts + 7996 /* "UNIQUE" */ + return ts + 8011 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -90765,7 +91273,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+12960 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+12975 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) goto exit_drop_column __8: ; @@ -90774,15 +91282,15 @@ __8: iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+889 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+904 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+13008 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+13023 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+13129 /* "after drop colum..." */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+13144 /* "after drop colum..." */, 1) // Edit rows of table on disk if !(((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) && ((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_VIRTUAL) == 0)) { @@ -90893,11 +91401,11 @@ func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:109584:21: */ } var aAlterTableFuncs = [5]FuncDef{ - {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13147 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13168 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13188 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13207 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13226 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ + {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13162 /* "sqlite_rename_co..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13183 /* "sqlite_rename_ta..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13203 /* "sqlite_rename_te..." */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13222 /* "sqlite_drop_colu..." */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13241 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -91094,7 +91602,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // of the new table in register pParse->regRoot. This is important // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, - ts+13249 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) + ts+13264 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } @@ -91106,10 +91614,10 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, - ts+13272, /* "DELETE FROM %Q.%..." */ + ts+13287, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+13302 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+13317 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb) @@ -91130,9 +91638,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 13320 /* "sqlite_stat1" */, FzCols: ts + 13333 /* "tbl,idx,stat" */}, - {FzName: ts + 13346 /* "sqlite_stat4" */, FzCols: ts + 13359 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 13387 /* "sqlite_stat3" */}, + {FzName: ts + 13335 /* "sqlite_stat1" */, FzCols: ts + 13348 /* "tbl,idx,stat" */}, + {FzName: ts + 13361 /* "sqlite_stat4" */, FzCols: ts + 13374 /* "tbl,idx,neq,nlt,..." */}, + {FzName: ts + 13402 /* "sqlite_stat3" */}, } /* sqlite3.c:109773:5 */ // Recommended number of samples for sqlite_stat4 @@ -91363,7 +91871,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13400 /* "stat_init" */} /* sqlite3.c:110084:22 */ + FzName: ts + 13415 /* "stat_init" */} /* sqlite3.c:110084:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -91681,7 +92189,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13410 /* "stat_push" */} /* sqlite3.c:110374:22 */ + FzName: ts + 13425 /* "stat_push" */} /* sqlite3.c:110374:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -91738,7 +92246,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+13420, /* "%llu" */ + Xsqlite3_snprintf(tls, 24, zRet, ts+13435, /* "%llu" */ libc.VaList(bp, func() uint64 { if (*StatAccum)(unsafe.Pointer(p)).FnSkipAhead != 0 { return U64((*StatAccum)(unsafe.Pointer(p)).FnEst) @@ -91749,7 +92257,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+13425 /* " %llu" */, libc.VaList(bp+8, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+13440 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -91798,7 +92306,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+13431 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+13446 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -91815,7 +92323,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13437 /* "stat_get" */} /* sqlite3.c:110526:22 */ + FzName: ts + 13452 /* "stat_get" */} /* sqlite3.c:110526:22 */ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:110538:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, (regStat + 1)) @@ -91834,11 +92342,11 @@ func analyzeVdbeCommentIndexWithColumnName(tls *libc.TLS, v uintptr, pIdx uintpt i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(k)*2))) if i == (-1) { - Xsqlite3VdbeComment(tls, v, ts+10195 /* "%s.rowid" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10210 /* "%s.rowid" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else if i == (-2) { - Xsqlite3VdbeComment(tls, v, ts+13446 /* "%s.expr(%d)" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) + Xsqlite3VdbeComment(tls, v, ts+13461 /* "%s.expr(%d)" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) } else { - Xsqlite3VdbeComment(tls, v, ts+10204 /* "%s.%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10219 /* "%s.%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*32)).FzName)) } } @@ -91883,7 +92391,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Do not gather statistics on views or virtual tables return } - if Xsqlite3_strlike(tls, ts+13458 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, ts+13473 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { // Do not gather statistics on system tables return } @@ -91901,7 +92409,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp return } (*Table)(unsafe.Pointer(pStat1)).FzName = (pStat1 + 1*120) - libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+13320 /* "sqlite_stat1" */, uint64(13)) + libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+13335 /* "sqlite_stat1" */, uint64(13)) (*Table)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*Table)(unsafe.Pointer(pStat1)).FiPKey = int16(-1) Xsqlite3VdbeAddOp4(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Noop, 0, 0, 0, pStat1, -17) @@ -91952,7 +92460,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Populate the register containing the index name. Xsqlite3VdbeLoadString(tls, v, regIdxname, zIdxName) - Xsqlite3VdbeComment(tls, v, ts+13468 /* "Analysis for %s...." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zIdxName)) + Xsqlite3VdbeComment(tls, v, ts+13483 /* "Analysis for %s...." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zIdxName)) // Pseudo-code for loop that calls stat_push(): // @@ -91999,7 +92507,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iIdxCur, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+925 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+940 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) // Invoke the stat_init() function. The arguments are: // @@ -92136,7 +92644,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Add the entry to the stat1 table. callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13487 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13502 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP4(tls, v, -1, pStat1, -6) @@ -92193,12 +92701,12 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Create a single sqlite_stat1 entry containing NULL as the index // name and the row count as the content. if (pOnlyIdx == uintptr(0)) && (needTableCnt != 0) { - Xsqlite3VdbeComment(tls, v, ts+925 /* "%s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+940 /* "%s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeAddOp2(tls, v, OP_Count, iTabCur, regStat1) jZeroRows = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, regStat1) Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regIdxname) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13487 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13502 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -92251,9 +92759,9 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) iStatCur = (*Parse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52 /* &.nTab */)) += (3) if pOnlyIdx != 0 { - openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+13491 /* "idx" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+13506 /* "idx" */) } else { - openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13495 /* "tbl" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13510 /* "tbl" */) } analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1), (*Parse)(unsafe.Pointer(pParse)).FnTab) loadAnalysis(tls, pParse, iDb) @@ -92348,7 +92856,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 889 /* "" */ + z = ts + 904 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -92370,15 +92878,15 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, ts+13499 /* "unordered*" */, z) == 0 { + if Xsqlite3_strglob(tls, ts+13514 /* "unordered*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(1), 2, 0x4) - } else if Xsqlite3_strglob(tls, ts+13510 /* "sz=[0-9]*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+13525 /* "sz=[0-9]*" */, z) == 0 { var sz int32 = Xsqlite3Atoi(tls, (z + uintptr(3))) if sz < 2 { sz = 2 } (*Index)(unsafe.Pointer(pIndex)).FszIdxRow = Xsqlite3LogEst(tls, uint64(sz)) - } else if Xsqlite3_strglob(tls, ts+13520 /* "noskipscan*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+13535 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(1), 6, 0x40) } for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { @@ -92697,10 +93205,10 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:111438:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines - if Xsqlite3FindTable(tls, db, ts+13346 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+13361 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+13532, /* "SELECT idx,count..." */ - ts+13586, /* "SELECT idx,neq,n..." */ + ts+13547, /* "SELECT idx,count..." */ + ts+13601, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -92751,9 +93259,9 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // Load new statistics out of the sqlite_stat1 table (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).Fdb = db (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+13320 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { + if Xsqlite3FindTable(tls, db, ts+13335 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+13638 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) + ts+13653 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { @@ -92845,7 +93353,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // database iDb attached to handle db. func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:111595:20: */ return (libc.Bool32((Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0) || - ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+8540 /* "main" */, zName) == 0)))) + ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+8555 /* "main" */, zName) == 0)))) } // An SQL user-function registered to do the work of an ATTACH statement. The @@ -92896,13 +93404,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 889 /* "" */ + zFile = ts + 904 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 889 /* "" */ + zName = ts + 904 /* "" */ __2: ; @@ -92912,7 +93420,7 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+5709 /* "memdb" */) + *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+5724 /* "memdb" */) if !(*(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) == uintptr(0)) { goto __5 } @@ -92928,7 +93436,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+13679 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+13694 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -92941,7 +93449,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13682, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13697, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -92955,7 +93463,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13719 /* "database %s is a..." */, libc.VaList(bp+8, zName)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13734 /* "database %s is a..." */, libc.VaList(bp+8, zName)) goto attach_error __11: ; @@ -93026,7 +93534,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13749 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13764 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -93043,7 +93551,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+13778 /* "attached databas..." */, 0) + ts+13793 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -93113,13 +93621,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+7973 /* "out of memory" */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+7988 /* "out of memory" */, 0) goto __31 __30: if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13846 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13861 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) __32: ; __31: @@ -93175,7 +93683,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 889 /* "" */ + zName = ts + 904 /* "" */ __1: ; i = 0 @@ -93207,14 +93715,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13874 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13889 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13895 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13910 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -93222,7 +93730,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13921 /* "database %s is l..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13936 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -93345,7 +93853,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13943 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 13958 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -93358,7 +93866,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13957 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ + FzName: ts + 13972 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ @@ -93373,7 +93881,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer((*DbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit.Fbusy != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } else { - Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+13971 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) + Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+13986 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) return WRC_Abort } } @@ -93406,7 +93914,7 @@ __1: if (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != Xsqlite3FindDbName(tls, db, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) { Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, - ts+13995, /* "%s %T cannot ref..." */ + ts+14010, /* "%s %T cannot ref..." */ libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType, (*DbFixer)(unsafe.Pointer(pFix)).FpName, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return WRC_Abort } @@ -93605,7 +94113,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112233:13: */ - Xsqlite3ErrorMsg(tls, pParse, ts+14041 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14056 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -93629,11 +94137,11 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - var z uintptr = Xsqlite3_mprintf(tls, ts+10204 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) + var z uintptr = Xsqlite3_mprintf(tls, ts+10219 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+14064 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+14079 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+14070 /* "access to %z is ..." */, libc.VaList(bp+32, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+14085 /* "access to %z is ..." */, libc.VaList(bp+32, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -93685,7 +94193,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName } else { - zCol = ts + 9770 /* "ROWID" */ + zCol = ts + 9785 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -93717,7 +94225,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+14097 /* "not authorized" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14112 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_OK) && (rc != SQLITE_IGNORE) { rc = SQLITE_DENY @@ -93902,7 +94410,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112554:2 if int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0 { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) } - Xsqlite3VdbeComment(tls, v, ts+14112 /* "usesStmtJournal=..." */, libc.VaList(bp, (libc.Bool32(((*Parse)(unsafe.Pointer(pParse)).FmayAbort != 0) && ((*Parse)(unsafe.Pointer(pParse)).FisMultiWrite != 0))))) + Xsqlite3VdbeComment(tls, v, ts+14127 /* "usesStmtJournal=..." */, libc.VaList(bp, (libc.Bool32(((*Parse)(unsafe.Pointer(pParse)).FmayAbort != 0) && ((*Parse)(unsafe.Pointer(pParse)).FisMultiWrite != 0))))) } for i = 0; i < (*Parse)(unsafe.Pointer(pParse)).FnVtabLock; i++ { var vtab uintptr = Xsqlite3GetVTable(tls, db, *(*uintptr)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).FapVtabLock + uintptr(i)*8))) @@ -94030,25 +94538,25 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb { // No match against the official names. But always match "main" // to schema 0 as a legacy fallback. - if Xsqlite3StrICmp(tls, zDatabase, ts+8540 /* "main" */) == 0 { + if Xsqlite3StrICmp(tls, zDatabase, ts+8555 /* "main" */) == 0 { i = 0 } else { return uintptr(0) } } p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), zName) - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10335 /* "sqlite_" */, 7) == 0) { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10350 /* "sqlite_" */, 7) == 0) { if i == 1 { - if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14131 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14150 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+7748 /* "sqlite_master" */ +7)) == 0) { + if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14146 /* "sqlite_temp_sche..." */ +7)) == 0) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14165 /* "sqlite_schema" */ +7)) == 0)) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+7763 /* "sqlite_master" */ +7)) == 0) { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+14164 /* "sqlite_temp_mast..." */) + ts+14179 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14150 /* "sqlite_schema" */ +7)) == 0 { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14165 /* "sqlite_schema" */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), - ts+7748 /* "sqlite_master" */) + ts+7763 /* "sqlite_master" */) } } } @@ -94071,12 +94579,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10335 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14150 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+7748 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14131 /* "sqlite_temp_sche..." */ +7)) == 0 { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10350 /* "sqlite_" */, 7) == 0) { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14165 /* "sqlite_schema" */ +7)) == 0 { + p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+7763 /* "sqlite_master" */) + } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14146 /* "sqlite_temp_sche..." */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+14164 /* "sqlite_temp_mast..." */) + ts+14179 /* "sqlite_temp_mast..." */) } } } @@ -94112,7 +94620,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // can be an eponymous virtual table. if (int32((*Parse)(unsafe.Pointer(pParse)).FdisableVtab) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { var pMod uintptr = Xsqlite3HashFind(tls, (db + 536 /* &.aModule */), zName) - if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+14183 /* "pragma_" */, 7) == 0) { + if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+14198 /* "pragma_" */, 7) == 0) { pMod = Xsqlite3PragmaVtabRegister(tls, db, zName) } if (pMod != 0) && (Xsqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0) { @@ -94130,14 +94638,14 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if p == uintptr(0) { var zMsg uintptr if (flags & U32(LOCATE_VIEW)) != 0 { - zMsg = ts + 14191 /* "no such view" */ + zMsg = ts + 14206 /* "no such view" */ } else { - zMsg = ts + 14204 /* "no such table" */ + zMsg = ts + 14219 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+8733 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+8748 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+8743 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+8758 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -94450,7 +94958,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // writing. The table is opened using cursor 0. func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:113223:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) - Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+7748 /* "sqlite_master" */) + Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+7763 /* "sqlite_master" */) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) if (*Parse)(unsafe.Pointer(p)).FnTab == 0 { (*Parse)(unsafe.Pointer(p)).FnTab = 1 @@ -94477,7 +94985,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql } // "main" is always an acceptable alias for the primary database // even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. - if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+8540 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+8555 /* "main" */, zName)) { goto __3 } @@ -94530,13 +95038,13 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if (*Token)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14218 /* "corrupt database" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14233 /* "corrupt database" */, 0) return -1 } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = Xsqlite3FindDb(tls, db, pName1) if iDb < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14235 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+14250 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -94577,13 +95085,13 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType if ((Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit))) != 0) || (Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 1*8))) != 0)) || (Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 2*8))) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+889 /* "" */, 0) // corruptSchema() will supply the error + Xsqlite3ErrorMsg(tls, pParse, ts+904 /* "" */, 0) // corruptSchema() will supply the error return SQLITE_ERROR } } else { - if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+10335 /* "sqlite_" */, 7))) || + if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+10350 /* "sqlite_" */, 7))) || ((Xsqlite3ReadOnlyShadowTables(tls, db) != 0) && (Xsqlite3ShadowTableName(tls, db, zName) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14255, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14270, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -94752,9 +95260,9 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui iDb = int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) zName = Xsqlite3DbStrDup(tls, db, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14164 /* "sqlite_temp_mast..." */ + return ts + 14179 /* "sqlite_temp_mast..." */ } - return ts + 7748 /* "sqlite_master" */ + return ts + 7763 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 @@ -94772,7 +95280,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+14297 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14312 /* "temporary table ..." */, 0) return __4: ; @@ -94800,9 +95308,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 12456 /* "view" */ + return ts + 12471 /* "view" */ } - return ts + 8443 /* "table" */ + return ts + 8458 /* "table" */ }(), zName) != 0) { goto __8 } @@ -94819,9 +95327,9 @@ __9: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (isTemp == 1) { - return ts + 14164 /* "sqlite_temp_mast..." */ + return ts + 14179 /* "sqlite_temp_mast..." */ } - return ts + 7748 /* "sqlite_master" */ + return ts + 7763 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -94859,7 +95367,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+14338 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+14353 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) goto __16 __15: ; @@ -94873,7 +95381,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+14362 /* "there is already..." */, libc.VaList(bp+8, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14377 /* "there is already..." */, libc.VaList(bp+8, zName)) goto begin_table_error __17: ; @@ -94989,7 +95497,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:113716:13: */ var pHash uintptr pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - Xsqlite3HashInsert(tls, pHash, ts+14397 /* "sqlite_returning" */, uintptr(0)) + Xsqlite3HashInsert(tls, pHash, ts+14412 /* "sqlite_returning" */, uintptr(0)) Xsqlite3ExprListDelete(tls, db, (*Returning)(unsafe.Pointer(pRet)).FpReturnEL) Xsqlite3DbFree(tls, db, pRet) } @@ -95013,7 +95521,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Parse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14414 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14429 /* "cannot use RETUR..." */, 0) } else { } @@ -95034,7 +95542,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 14397 /* "sqlite_returning" */ + (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 14412 /* "sqlite_returning" */ (*Returning)(unsafe.Pointer(pRet)).FretTrig.Fop = U8(TK_RETURNING) (*Returning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = U8(TRIGGER_AFTER) (*Returning)(unsafe.Pointer(pRet)).FretTrig.FbReturning = U8(1) @@ -95046,7 +95554,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql (*Returning)(unsafe.Pointer(pRet)).FretTStep.FpExprList = pList pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - if Xsqlite3HashInsert(tls, pHash, ts+14397 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+14412 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == (pRet + 16 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -95074,7 +95582,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp return } if (int32((*Table)(unsafe.Pointer(p)).FnCol) + 1) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14448 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14463 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } z = Xsqlite3DbMallocRaw(tls, db, (uint64(((*Token)(unsafe.Pointer(pName)).Fn + (*Token)(unsafe.Pointer(pType)).Fn) + uint32(2)))) @@ -95090,7 +95598,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14471 /* "duplicate column..." */, libc.VaList(bp+8, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+14486 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -95264,11 +95772,11 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar var isInit int32 = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) != 1))) pCol = ((*Table)(unsafe.Pointer(p)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(p)).FnCol)-1))*32) if !(Xsqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14497, /* "default value of..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14512, /* "default value of..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14542 /* "cannot use DEFAU..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14557 /* "cannot use DEFAU..." */, 0) } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. @@ -95318,7 +95826,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+14583 /* "generated column..." */, 0) + ts+14598 /* "generated column..." */, 0) } } @@ -95363,7 +95871,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+14635 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+14650 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit __2: ; @@ -95423,7 +95931,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+889 /* "" */), ts+14676 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+904 /* "" */), ts+14691 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -95451,7 +95959,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+14684 /* "AUTOINCREMENT is..." */, 0) + ts+14699 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -95555,7 +96063,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+14740 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14755 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -95568,13 +96076,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+14783 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+14798 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { goto __5 } // no-op goto __6 __5: - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+14791 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+14806 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { goto __7 } eType = U8(COLFLAG_STORED) @@ -95607,7 +96115,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+14798, /* "error in generat..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14813, /* "error in generat..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) generated_done: Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -95749,13 +96257,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 889 /* "" */ - zSep2 = ts + 14829 /* "," */ - zEnd = ts + 6861 /* ")" */ + zSep = ts + 904 /* "" */ + zSep2 = ts + 14844 /* "," */ + zEnd = ts + 6876 /* ")" */ } else { - zSep = ts + 14831 /* "\n " */ - zSep2 = ts + 14835 /* ",\n " */ - zEnd = ts + 14840 /* "\n)" */ + zSep = ts + 14846 /* "\n " */ + zSep2 = ts + 14850 /* ",\n " */ + zEnd = ts + 14855 /* "\n)" */ } n = n + (35 + (6 * int32((*Table)(unsafe.Pointer(p)).FnCol))) zStmt = Xsqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -95763,7 +96271,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+14843 /* "CREATE TABLE " */, 0) + Xsqlite3_snprintf(tls, n, zStmt, ts+14858 /* "CREATE TABLE " */, 0) *(*int32)(unsafe.Pointer(bp + 8 /* k */)) = Xsqlite3Strlen30(tls, zStmt) identPut(tls, zStmt, bp+8 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = int8('(') @@ -95797,16 +96305,16 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+925 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+940 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } var azType1 = [5]uintptr{ - /* SQLITE_AFF_BLOB */ ts + 889, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 14857, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 14863, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 14868, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 14873, /* " REAL" */ + /* SQLITE_AFF_BLOB */ ts + 904, /* "" */ + /* SQLITE_AFF_TEXT */ ts + 14872, /* " TEXT" */ + /* SQLITE_AFF_NUMERIC */ ts + 14878, /* " NUM" */ + /* SQLITE_AFF_INTEGER */ ts + 14883, /* " INT" */ + /* SQLITE_AFF_REAL */ ts + 14888, /* " REAL" */ } /* sqlite3.c:114391:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK @@ -96243,7 +96751,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // table itself. So mark it read-only. if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { if pSelect != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+889 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+904 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -96256,11 +96764,11 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (int32(tabOpts) & TF_WithoutRowid) != 0 { if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+14879 /* "AUTOINCREMENT no..." */, 0) + ts+14894 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14929 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14944 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } *(*U32)(unsafe.Pointer(p + 64 /* &.tabFlags */)) |= (U32(TF_WithoutRowid | TF_NoVisibleRowid)) @@ -96304,7 +96812,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14961 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14976 /* "must have at lea..." */, 0) return } } @@ -96337,12 +96845,12 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // Initialize zType for the new view or table. if (*Table)(unsafe.Pointer(p)).FpSelect == uintptr(0) { // A regular table - zType = ts + 8443 /* "table" */ - zType2 = ts + 15005 /* "TABLE" */ + zType = ts + 8458 /* "table" */ + zType2 = ts + 15020 /* "TABLE" */ } else { // A view - zType = ts + 12456 /* "view" */ - zType2 = ts + 15011 /* "VIEW" */ + zType = ts + 12471 /* "view" */ + zType2 = ts + 15026 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -96423,7 +96931,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+15016 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+15031 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -96431,7 +96939,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+15031, /* "UPDATE %Q.sqlite..." */ + ts+15046, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, @@ -96449,14 +96957,14 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+15129, /* "CREATE TABLE %Q...." */ + ts+15144, /* "CREATE TABLE %Q...." */ libc.VaList(bp+88, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+15171 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+15186 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -96477,7 +96985,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // then record a pointer to this table in the main database structure // so that INSERT can find the table easily. - if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+11593 /* "sqlite_sequence" */) == 0 { + if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+11608 /* "sqlite_sequence" */) == 0 { (*Schema)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -96514,7 +97022,7 @@ func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui if !(int32((*Parse)(unsafe.Pointer(pParse)).FnVar) > 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+15205 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15220 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -96536,7 +97044,7 @@ __2: Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp /* &pName */) iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(p)).FpSchema) - Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+12456 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) + Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+12471 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) if !(Xsqlite3FixSelect(tls, bp+8 /* &sFix */, pSelect) != 0) { goto __3 } @@ -96653,7 +97161,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i // CREATE TEMP VIEW ex1 AS SELECT a FROM ex1; // SELECT * FROM temp.ex1; if int32((*Table)(unsafe.Pointer(pTable)).FnCol) < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+15241 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15256 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) return 1 } @@ -96795,7 +97303,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) if iTable < 2 { - Xsqlite3ErrorMsg(tls, pParse, ts+15271 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15286 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -96809,7 +97317,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+15286, /* "UPDATE %Q.sqlite..." */ + ts+15301, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb+uintptr(iDb)*32)).FzDbSName, iTable, r1, r1)) Xsqlite3ReleaseTempReg(tls, pParse, r1) } @@ -96873,10 +97381,10 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint for i = 1; i <= 4; i++ { // var zTab [24]int8 at bp+40, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+15353 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+15368 /* "sqlite_stat%d" */, libc.VaList(bp, i)) if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+40 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+13272, /* "DELETE FROM %Q.%..." */ + ts+13287, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } @@ -96916,7 +97424,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // move as a result of the drop (can happen in auto-vacuum mode). if ((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+15367, /* "DELETE FROM %Q.s..." */ + ts+15382, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -96928,7 +97436,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+15412, /* "DELETE FROM %Q.s..." */ + ts+15427, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) @@ -96958,11 +97466,11 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Return true if it is not allowed to drop the given table func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:115607:12: */ - if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10335 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+4642 /* "stat" */, 4) == 0 { + if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10350 /* "sqlite_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+4657 /* "stat" */, 4) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+9232 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+9247 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -97043,9 +97551,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14164 /* "sqlite_temp_mast..." */ + return ts + 14179 /* "sqlite_temp_mast..." */ } - return ts + 7748 /* "sqlite_master" */ + return ts + 7763 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zArg2 = uintptr(0) @@ -97105,7 +97613,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+15479 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15494 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __19: ; @@ -97115,14 +97623,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+15507 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15522 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+15541 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15556 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -97137,7 +97645,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+13495 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+13510 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -97202,7 +97710,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+15573, /* "foreign key on %..." */ + ts+15588, /* "foreign key on %..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(iCol)*32)).FzName, pTo)) goto fk_end __5: @@ -97215,7 +97723,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+15636 /* "number of column..." */, 0) + ts+15651 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -97299,7 +97807,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+15730, /* "unknown column \"..." */ + ts+15745, /* "unknown column \"..." */ libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*32)).FzEName)) goto fk_end __23: @@ -97549,12 +98057,12 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pList)).FnExpr; i++ { if (uint32(int32(*(*uint8)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32 + 20 /* &.bNulls */)) & 0x20 >> 5))) != 0 { var sf U8 = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32)).FsortFlags - Xsqlite3ErrorMsg(tls, pParse, ts+15776, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+15791, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 15804 /* "FIRST" */ + return ts + 15819 /* "FIRST" */ } - return ts + 15810 /* "LAST" */ + return ts + 15825 /* "LAST" */ }())) return 1 } @@ -97712,7 +98220,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+8449 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) + Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+8464 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+136 /* &sFix */, pTblName) != 0) { goto __10 } @@ -97733,7 +98241,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+15815, /* "cannot create a ..." */ + ts+15830, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -97760,26 +98268,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10335 /* "sqlite_" */, 7) == 0) && + if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10350 /* "sqlite_" */, 7) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0)) && (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+15865 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15880 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+15893 /* "views may not be..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15908 /* "views may not be..." */, 0) goto exit_create_index __16: ; if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+15918 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15933 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -97806,7 +98314,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8449 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8464 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { goto __21 } goto exit_create_index @@ -97821,7 +98329,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+15952 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15967 /* "there is already..." */, libc.VaList(bp+16, zName)) goto exit_create_index __24: ; @@ -97833,7 +98341,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+15986 /* "index %s already..." */, libc.VaList(bp+24, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16001 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -97862,7 +98370,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+16010 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+16025 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -97891,9 +98399,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14164 /* "sqlite_temp_mast..." */ + return ts + 14179 /* "sqlite_temp_mast..." */ } - return ts + 7748 /* "sqlite_master" */ + return ts + 7763 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -97937,7 +98445,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+8449 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+8464 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -98054,7 +98562,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+16033 /* "expressions proh..." */, 0) + ts+16048 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -98283,7 +98791,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+16094 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) + ts+16109 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -98339,7 +98847,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+16136 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16151 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -98397,12 +98905,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+16153, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+16168, /* "CREATE%s INDEX %..." */ libc.VaList(bp+56, func() uintptr { if onError == OE_None { - return ts + 889 /* "" */ + return ts + 904 /* "" */ } - return ts + 16173 /* " UNIQUE" */ + return ts + 16188 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: @@ -98414,7 +98922,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+16181, /* "INSERT INTO %Q.s..." */ + ts+16196, /* "INSERT INTO %Q.s..." */ libc.VaList(bp+80, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -98430,7 +98938,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+16240 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+16255 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -98614,7 +99122,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+16267 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+16282 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __5 __4: Xsqlite3CodeVerifyNamedSchema(tls, pParse, (*SrcItem)(unsafe.Pointer((pName + 8 /* &.a */))).FzDatabase) @@ -98629,7 +99137,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+16285 /* "index associated..." */, libc.VaList(bp+8, 0)) + ts+16300 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -98640,9 +99148,9 @@ __6: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14164 /* "sqlite_temp_mast..." */ + return ts + 14179 /* "sqlite_temp_mast..." */ } - return ts + 7748 /* "sqlite_master" */ + return ts + 7763 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -98670,9 +99178,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+16358, /* "DELETE FROM %Q.s..." */ + ts+16373, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) - sqlite3ClearStatTables(tls, pParse, iDb, ts+13491 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+13506 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) Xsqlite3VdbeAddOp4(tls, v, OP_DropIndex, iDb, 0, 0, (*Index)(unsafe.Pointer(pIndex)).FzName, 0) @@ -98823,7 +99331,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*SrcList)(unsafe.Pointer(pSrc)).FnSrc + nExtra) >= SQLITE_MAX_SRCLIST { - Xsqlite3ErrorMsg(tls, pParse, ts+16418, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+16433, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -99035,12 +99543,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+16454, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+16469, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 16490 /* "ON" */ + return ts + 16505 /* "ON" */ } - return ts + 16493 /* "USING" */ + return ts + 16508 /* "USING" */ }())) goto append_from_error __1: @@ -99168,7 +99676,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+16499 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { + if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+16514 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { return } v = Xsqlite3GetVdbe(tls, pParse) @@ -99204,9 +99712,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 16505 /* "ROLLBACK" */ + return ts + 16520 /* "ROLLBACK" */ } - return ts + 16514 /* "COMMIT" */ + return ts + 16529 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -99231,7 +99739,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 16499 /* "BEGIN" */, ts + 16521 /* "RELEASE" */, ts + 16505 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ +var az = [3]uintptr{ts + 16514 /* "BEGIN" */, ts + 16536 /* "RELEASE" */, ts + 16520 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. @@ -99247,7 +99755,7 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp /* &pBt */, 0, flags) if rc != SQLITE_OK { Xsqlite3ErrorMsg(tls, pParse, - ts+16529 /* "unable to open a..." */, 0) + ts+16544 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -99390,17 +99898,17 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx Xsqlite3StrAccumInit(tls, bp+8 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+16599 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+16614 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*32)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+16610 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+16625 /* ", " */, 2) } Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+902 /* "." */, 1) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+917 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } @@ -99423,11 +99931,11 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr var rc int32 if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10204 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10219 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10195 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10210 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -99570,7 +100078,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+16613 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16628 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -99680,7 +100188,7 @@ func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) var i int32 for i = 0; i < (*With)(unsafe.Pointer(pWith)).FnCte; i++ { if Xsqlite3StrICmp(tls, zName, (*Cte)(unsafe.Pointer((pWith+16 /* &.a */)+uintptr(i)*48)).FzName) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+16659 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16674 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -99914,7 +100422,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+16689 /* "no such collatio..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16704 /* "no such collatio..." */, libc.VaList(bp, zName)) (*Parse)(unsafe.Pointer(pParse)).Frc = (SQLITE_ERROR | (int32(1) << 8)) } return p @@ -100280,11 +100788,11 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 defer tls.Free(16) if tabIsReadOnly(tls, pParse, pTab) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+16720 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16735 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+16749 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16764 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -100877,7 +101385,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+16787 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+16802 /* "rows deleted" */, uintptr(0)) __61: ; @@ -101022,7 +101530,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri } return 0 }()) - if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13320 /* "sqlite_stat1" */)) { + if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13335 /* "sqlite_stat1" */)) { Xsqlite3VdbeAppendP4(tls, v, pTab, -6) } if int32(eMode) != ONEPASS_OFF { @@ -101300,7 +101808,7 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 8060 /* "integer" */, ts + 8055 /* "real" */, ts + 16800 /* "text" */, ts + 16805 /* "blob" */, ts + 8050 /* "null" */} /* sqlite3.c:119398:21 */ +var azType2 = [5]uintptr{ts + 8075 /* "integer" */, ts + 8070 /* "real" */, ts + 16815 /* "text" */, ts + 16820 /* "blob" */, ts + 8065 /* "null" */} /* sqlite3.c:119398:21 */ // Implementation of the length() function func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119418:13: */ @@ -101364,7 +101872,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // IMP: R-31676-45509 If X is the integer -9223372036854775808 // then abs(X) throws an integer overflow error since there is no // equivalent positive 64-bit two complement value. - Xsqlite3_result_error(tls, context, ts+16810 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+16825 /* "integer overflow" */, -1) return } iVal = -iVal @@ -101702,7 +102210,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+16827 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+16842 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -102154,7 +102662,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 8*4)) { - Xsqlite3_result_error(tls, context, ts+16832 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+16847 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -102166,7 +102674,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } if Xsqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp /* zEsc */)), -1) != 1 { Xsqlite3_result_error(tls, context, - ts+16865 /* "ESCAPE expressio..." */, -1) + ts+16880 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -102233,7 +102741,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+925 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+940 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // Implementation of the sqlite_compileoption_used() function. @@ -102290,10 +102798,10 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // var zBuf [50]int8 at bp+16, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+6781 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+6796 /* "%!.15g" */, libc.VaList(bp, r1)) Xsqlite3AtoF(tls, bp+16 /* &zBuf[0] */, bp+72 /* &r2 */, 20, uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp + 72 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+16910 /* "%!.20e" */, libc.VaList(bp+8, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+16925 /* "%!.20e" */, libc.VaList(bp+8, r1)) } Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -102367,7 +102875,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+890 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+905 /* "NULL" */, 4, uintptr(0)) break } @@ -102678,7 +103186,7 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:120648:27 */ -var azOne = [1]uintptr{uintptr(ts + 12900 /* " " */)} /* sqlite3.c:120649:26 */ +var azOne = [1]uintptr{uintptr(ts + 12915 /* " " */)} /* sqlite3.c:120649:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -102699,7 +103207,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = ts + 889 /* "" */ + zIn = ts + 904 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -102725,7 +103233,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else { // IMP: R-64894-50321 The string "?000" is returned if the argument // is NULL or contains no ASCII alphabetic characters. - Xsqlite3_result_text(tls, context, ts+16917 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+16932 /* "?000" */, 4, uintptr(0)) } } @@ -102753,7 +103261,7 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // Disallow the load_extension() SQL function unless the SQLITE_LoadExtFunc // flag is set. See the sqlite3_enable_load_extension() API. if ((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_LoadExtFunc)) == uint64(0) { - Xsqlite3_result_error(tls, context, ts+14097 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+14112 /* "not authorized" */, -1) return } @@ -102841,7 +103349,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:120889:13: */ p = Xsqlite3_aggregate_context(tls, context, 0) if (p != 0) && ((*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0)) { if (*SumCtx)(unsafe.Pointer(p)).Foverflow != 0 { - Xsqlite3_result_error(tls, context, ts+16810 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+16825 /* "integer overflow" */, -1) } else if (*SumCtx)(unsafe.Pointer(p)).Fapprox != 0 { Xsqlite3_result_double(tls, context, (*SumCtx)(unsafe.Pointer(p)).FrSum) } else { @@ -102995,7 +103503,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zSep = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) nSep = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) } else { - zSep = ts + 14829 /* "," */ + zSep = ts + 14844 /* "," */ nSep = 1 } if zSep != 0 { @@ -103073,7 +103581,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:121112:13: // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:121135:21: */ - var rc int32 = Xsqlite3_overload_function(tls, db, ts+16922 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+16937 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -103093,14 +103601,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+16928 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+16943 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3CreateFunc(tls, db, ts+16928 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+16943 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16928 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16928 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16943 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16943 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) } // pExpr points to an expression which implements a function. If @@ -103205,76 +103713,76 @@ func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:121427:21: * var aBuiltinFunc = [68]FuncDef{ //**** Functions only available with SQLITE_TESTCTRL_INTERNAL_FUNCTIONS **** - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 16933 /* "implies_nonnull_..." */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 16953 /* "expr_compare" */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 16966 /* "expr_implies_exp..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 16948 /* "implies_nonnull_..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 16968 /* "expr_compare" */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 16981 /* "expr_implies_exp..." */}, //**** Regular functions **** - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 16984 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 16992 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 16992 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17007 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17033 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 17058 /* "unlikely" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 17067 /* "likelihood" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 17078 /* "likely" */}, - {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17085 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17099 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17099 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 17105 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 17105 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 17111 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 17111 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17116 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17116 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17116 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17120 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 17120 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17120 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17124 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 17131 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17138 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17144 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17151 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17159 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17164 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17168 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17168 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17174 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17180 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17186 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17190 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17197 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17204 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17215 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17222 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17237 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17254 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17265 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17271 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17289 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17297 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17311 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17319 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17328 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17328 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17335 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17335 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17345 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17349 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17355 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17359 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17359 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17365 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17365 /* "group_concat" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 16999 /* "soundex" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17007 /* "load_extension" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17007 /* "load_extension" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17022 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17048 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 17073 /* "unlikely" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 17082 /* "likelihood" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 17093 /* "likely" */}, + {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17100 /* "sqlite_offset" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17114 /* "ltrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17114 /* "ltrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 17120 /* "rtrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 17120 /* "rtrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 17126 /* "trim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 17126 /* "trim" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17131 /* "min" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17131 /* "min" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17131 /* "min" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17135 /* "max" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 17135 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17135 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17139 /* "typeof" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 17146 /* "length" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17153 /* "instr" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17159 /* "printf" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17166 /* "unicode" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17174 /* "char" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17179 /* "abs" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17183 /* "round" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17183 /* "round" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17189 /* "upper" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17195 /* "lower" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17201 /* "hex" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17205 /* "ifnull" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17212 /* "random" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17219 /* "randomblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17230 /* "nullif" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17237 /* "sqlite_version" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17252 /* "sqlite_source_id" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17269 /* "sqlite_log" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17280 /* "quote" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17286 /* "last_insert_rowi..." */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17304 /* "changes" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17312 /* "total_changes" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17326 /* "replace" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17334 /* "zeroblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17343 /* "substr" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17343 /* "substr" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17350 /* "substring" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17350 /* "substring" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17360 /* "sum" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17364 /* "total" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17370 /* "avg" */}, + {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17374 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17374 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17380 /* "group_concat" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17380 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 17378 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16928 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16928 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17383 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17383 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17392 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17383 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 17397 /* "iif" */}} /* sqlite3.c:121438:18 */ + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 17393 /* "glob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16943 /* "like" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16943 /* "like" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17398 /* "coalesce" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17398 /* "coalesce" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17407 /* "sign" */}, + {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17398 /* "coalesce" */}, + {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 17412 /* "iif" */}} /* sqlite3.c:121438:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -103560,7 +104068,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey if !(pIdx != 0) { if !(int32((*Parse)(unsafe.Pointer(pParse)).FdisableTriggers) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+17401, /* "foreign key mism..." */ + ts+17416, /* "foreign key mism..." */ libc.VaList(bp, (*Table)(unsafe.Pointer((*FKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*FKey)(unsafe.Pointer(pFKey)).FzTo)) } Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiCol) @@ -104456,8 +104964,8 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, } for i = 0; i < (*FKey)(unsafe.Pointer(pFKey)).FnCol; i++ { - *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 8549 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 8545 /* "new" */, Fn: uint32(3)} // Literal "new" token + *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 8564 /* "old" */, Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 8560 /* "new" */, Fn: uint32(3)} // Literal "new" token // var tFromCol Token at bp+32, 16 // Name of column in child table // var tToCol Token at bp+16, 16 @@ -104545,7 +105053,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fz = zFrom (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fn = uint32(nFrom) - pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+7042 /* "FOREIGN KEY cons..." */) + pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+7057 /* "FOREIGN KEY cons..." */) if pRaise != 0 { (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -104724,13 +105232,13 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa }(), (*Table)(unsafe.Pointer(pTab)).FzName) if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { Xsqlite3VdbeAddOp4Int(tls, v, opcode, iCur, int32((*Table)(unsafe.Pointer(pTab)).Ftnum), iDb, int32((*Table)(unsafe.Pointer(pTab)).FnNVCol)) - Xsqlite3VdbeComment(tls, v, ts+925 /* "%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+940 /* "%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) } else { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) Xsqlite3VdbeAddOp3(tls, v, opcode, iCur, int32((*Index)(unsafe.Pointer(pPk)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pPk) - Xsqlite3VdbeComment(tls, v, ts+925 /* "%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+940 /* "%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } } @@ -104978,7 +105486,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10165 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+10180 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) } (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -105542,7 +106050,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+17446, /* "cannot INSERT in..." */ + ts+17461, /* "cannot INSERT in..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto insert_cleanup __24: @@ -105567,7 +106075,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+17487, /* "table %S has no ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17502, /* "table %S has no ..." */ libc.VaList(bp+8, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*16)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup @@ -105737,7 +106245,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+17519, /* "table %S has %d ..." */ + ts+17534, /* "table %S has %d ..." */ libc.VaList(bp+24, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: @@ -105747,7 +106255,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+17571 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+17586 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -105803,7 +106311,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+17596, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17611, /* "UPSERT not imple..." */ libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -105811,7 +106319,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+17642 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17657 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -106291,7 +106799,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+17663 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+17678 /* "rows inserted" */, uintptr(0)) __123: ; @@ -106635,7 +107143,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10204 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10219 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_HaltIfNull, (SQLITE_CONSTRAINT | (int32(5) << 8)), onError, iReg) @@ -106886,7 +107394,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // initialize it to zero. regTrigCnt = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regTrigCnt) - Xsqlite3VdbeComment(tls, v, ts+17677 /* "trigger count" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17692 /* "trigger count" */, 0) lblRecheckOk = Xsqlite3VdbeMakeLabel(tls, pParse) addrRecheck = lblRecheckOk } @@ -106931,7 +107439,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt (onError != int32(overrideError))) && // Rules for other constraints are different ((*Table)(unsafe.Pointer(pTab)).FpIndex != 0) { ipkTop = (Xsqlite3VdbeAddOp0(tls, v, OP_Goto) + 1) - Xsqlite3VdbeComment(tls, v, ts+17691 /* "defer IPK REPLAC..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+17706 /* "defer IPK REPLAC..." */, 0) } if isUpdate != 0 { @@ -106945,7 +107453,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // Check to see if the new rowid already exists in the table. Skip // the following conflict logic if it does not. - Xsqlite3VdbeNoopComment(tls, v, ts+17720 /* "uniqueness check..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+17735 /* "uniqueness check..." */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_NotExists, iDataCur, addrRowidOk, regNewData) @@ -107065,7 +107573,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3TableAffinity(tls, v, pTab, (regNewData + 1)) bAffinityDone = U8(1) } - Xsqlite3VdbeNoopComment(tls, v, ts+17747 /* "prep index %s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeNoopComment(tls, v, ts+17762 /* "prep index %s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) iThisCur = (iIdxCur + *(*int32)(unsafe.Pointer(bp + 96 /* ix */))) // Skip partial indices for which the WHERE clause is not true @@ -107087,20 +107595,20 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = -(regNewData + 1) Xsqlite3ExprCodeCopy(tls, pParse, (*ExprList_item)(unsafe.Pointer(((*Index)(unsafe.Pointer(pIdx)).FaColExpr+8 /* &.a */)+uintptr(i)*32)).FpExpr, (regIdx + i)) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - Xsqlite3VdbeComment(tls, v, ts+17761 /* "%s column %d" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) + Xsqlite3VdbeComment(tls, v, ts+17776 /* "%s column %d" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) } else if (iField == (-1)) || (iField == int32((*Table)(unsafe.Pointer(pTab)).FiPKey)) { x = regNewData Xsqlite3VdbeAddOp2(tls, v, OP_IntCopy, x, (regIdx + i)) - Xsqlite3VdbeComment(tls, v, ts+10271 /* "rowid" */, 0) + Xsqlite3VdbeComment(tls, v, ts+10286 /* "rowid" */, 0) } else { x = ((int32(Xsqlite3TableColumnToStorage(tls, pTab, int16(iField))) + regNewData) + 1) Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, x, (regIdx + i)) - Xsqlite3VdbeComment(tls, v, ts+925 /* "%s" */, libc.VaList(bp+40, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+940 /* "%s" */, libc.VaList(bp+40, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*32)).FzName)) } } Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, regIdx, int32((*Index)(unsafe.Pointer(pIdx)).FnColumn), *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 96 /* ix */)))*4))) - Xsqlite3VdbeComment(tls, v, ts+17774 /* "for %s" */, libc.VaList(bp+48, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+17789 /* "for %s" */, libc.VaList(bp+48, (*Index)(unsafe.Pointer(pIdx)).FzName)) // In an UPDATE operation, if this index is the PRIMARY KEY index // of a WITHOUT ROWID table and there has been no change the @@ -107173,7 +107681,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt x = int32(Xsqlite3TableColumnToIndex(tls, pIdx, *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iThisCur, x, (regR + i)) - Xsqlite3VdbeComment(tls, v, ts+10204 /* "%s.%s" */, libc.VaList(bp+56, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10219 /* "%s.%s" */, libc.VaList(bp+56, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) } } if isUpdate != 0 { @@ -107267,7 +107775,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3VdbeAddOp2(tls, v, OP_AddImm, regTrigCnt, 1) // incr trigger cnt addrBypass = Xsqlite3VdbeAddOp0(tls, v, OP_Goto) // Bypass recheck - Xsqlite3VdbeComment(tls, v, ts+17781 /* "bypass recheck" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17796 /* "bypass recheck" */, 0) // Here we insert code that will be invoked after all constraint // checks have run, if and only if one or more replace triggers @@ -107336,7 +107844,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // If the IPK constraint is a REPLACE, run it last if ipkTop != 0 { Xsqlite3VdbeGoto(tls, v, ipkTop) - Xsqlite3VdbeComment(tls, v, ts+17796 /* "Do IPK REPLACE" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17811 /* "Do IPK REPLACE" */, 0) Xsqlite3VdbeJumpHere(tls, v, ipkBottom) } @@ -107552,7 +108060,7 @@ __1: Xsqlite3VdbeAddOp3(tls, v, op, iIdxCur, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) Xsqlite3VdbeChangeP5(tls, v, uint16(p5)) - Xsqlite3VdbeComment(tls, v, ts+925 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+940 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } } @@ -107933,11 +108441,11 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iSrc, int32((*Index)(unsafe.Pointer(pSrcIdx)).Ftnum), iDbSrc) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pSrcIdx) - Xsqlite3VdbeComment(tls, v, ts+925 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pSrcIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+940 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pSrcIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenWrite, iDest, int32((*Index)(unsafe.Pointer(pDestIdx)).Ftnum), iDbDest) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pDestIdx) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_BULKCSR)) - Xsqlite3VdbeComment(tls, v, ts+925 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+940 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) addr1 = Xsqlite3VdbeAddOp2(tls, v, OP_Rewind, iSrc, 0) if ((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags & U32(DBFLAG_Vacuum)) != 0 { // This INSERT command is part of a VACUUM operation, which guarantees @@ -108054,7 +108562,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 889 /* "" */ + zSql = ts + 904 /* "" */ __2: ; @@ -108615,7 +109123,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14097 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14112 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -108625,7 +109133,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 17811 /* "sqlite3_extensio..." */ + zEntry = ts + 17826 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -108645,7 +109153,7 @@ __5: if !((ii < (int32(uint64(unsafe.Sizeof(azEndings)) / uint64(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+10204 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) + zAltFile = Xsqlite3_mprintf(tls, ts+10219 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) if !(zAltFile == uintptr(0)) { goto __8 } @@ -108691,7 +109199,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.Xmemcpy(tls, zAltEntry, ts+17834 /* "sqlite3_" */, uint64(8)) + libc.Xmemcpy(tls, zAltEntry, ts+17849 /* "sqlite3_" */, uint64(8)) iFile = (ncFile - 1) __12: if !((iFile >= 0) && !((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/')) { @@ -108705,7 +109213,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+17843 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+17858 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -108729,7 +109237,7 @@ __17: goto __18 __18: ; - libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+17847 /* "_init" */, uint64(6)) + libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+17862 /* "_init" */, uint64(6)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -108747,7 +109255,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+17853 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) + ts+17868 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __22: ; @@ -108772,7 +109280,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+17896 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+17911 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) __25: ; Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) @@ -108812,7 +109320,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+17928 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) + ts+17943 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __29: ; @@ -108822,7 +109330,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 17965, /* "so" */ + ts + 17980, /* "so" */ } /* sqlite3.c:127457:21 */ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127590:16: */ @@ -108989,7 +109497,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+17968 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) + ts+17983 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */))) @@ -109034,61 +109542,61 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 // or that return single-column results where the name of the // result column is different from the name of the pragma var pragCName = [51]uintptr{ - /* 0 */ ts + 6963, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 18007, /* "seq" */ - /* 2 */ ts + 8443, /* "table" */ - /* 3 */ ts + 18011, /* "from" */ - /* 4 */ ts + 18016, /* "to" */ - /* 5 */ ts + 18019, /* "on_update" */ - /* 6 */ ts + 18029, /* "on_delete" */ - /* 7 */ ts + 18039, /* "match" */ - /* 8 */ ts + 18045, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 18049, /* "name" */ - /* 10 */ ts + 18054, /* "type" */ - /* 11 */ ts + 18059, /* "notnull" */ - /* 12 */ ts + 18067, /* "dflt_value" */ - /* 13 */ ts + 18078, /* "pk" */ - /* 14 */ ts + 18081, /* "hidden" */ + /* 0 */ ts + 6978, /* "id" */ // Used by: foreign_key_list + /* 1 */ ts + 18022, /* "seq" */ + /* 2 */ ts + 8458, /* "table" */ + /* 3 */ ts + 18026, /* "from" */ + /* 4 */ ts + 18031, /* "to" */ + /* 5 */ ts + 18034, /* "on_update" */ + /* 6 */ ts + 18044, /* "on_delete" */ + /* 7 */ ts + 18054, /* "match" */ + /* 8 */ ts + 18060, /* "cid" */ // Used by: table_xinfo + /* 9 */ ts + 18064, /* "name" */ + /* 10 */ ts + 18069, /* "type" */ + /* 11 */ ts + 18074, /* "notnull" */ + /* 12 */ ts + 18082, /* "dflt_value" */ + /* 13 */ ts + 18093, /* "pk" */ + /* 14 */ ts + 18096, /* "hidden" */ // table_info reuses 8 - /* 15 */ ts + 18088, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 18045, /* "cid" */ - /* 17 */ ts + 18049, /* "name" */ - /* 18 */ ts + 18094, /* "desc" */ - /* 19 */ ts + 18099, /* "coll" */ - /* 20 */ ts + 18104, /* "key" */ - /* 21 */ ts + 18049, /* "name" */ // Used by: function_list - /* 22 */ ts + 18108, /* "builtin" */ - /* 23 */ ts + 18054, /* "type" */ - /* 24 */ ts + 18116, /* "enc" */ - /* 25 */ ts + 18120, /* "narg" */ - /* 26 */ ts + 18125, /* "flags" */ - /* 27 */ ts + 13495, /* "tbl" */ // Used by: stats - /* 28 */ ts + 13491, /* "idx" */ - /* 29 */ ts + 18131, /* "wdth" */ - /* 30 */ ts + 18136, /* "hght" */ - /* 31 */ ts + 18141, /* "flgs" */ - /* 32 */ ts + 18007, /* "seq" */ // Used by: index_list - /* 33 */ ts + 18049, /* "name" */ - /* 34 */ ts + 18146, /* "unique" */ - /* 35 */ ts + 18153, /* "origin" */ - /* 36 */ ts + 18160, /* "partial" */ - /* 37 */ ts + 8443, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 10271, /* "rowid" */ - /* 39 */ ts + 6966, /* "parent" */ - /* 40 */ ts + 18168, /* "fkid" */ + /* 15 */ ts + 18103, /* "seqno" */ // Used by: index_xinfo + /* 16 */ ts + 18060, /* "cid" */ + /* 17 */ ts + 18064, /* "name" */ + /* 18 */ ts + 18109, /* "desc" */ + /* 19 */ ts + 18114, /* "coll" */ + /* 20 */ ts + 18119, /* "key" */ + /* 21 */ ts + 18064, /* "name" */ // Used by: function_list + /* 22 */ ts + 18123, /* "builtin" */ + /* 23 */ ts + 18069, /* "type" */ + /* 24 */ ts + 18131, /* "enc" */ + /* 25 */ ts + 18135, /* "narg" */ + /* 26 */ ts + 18140, /* "flags" */ + /* 27 */ ts + 13510, /* "tbl" */ // Used by: stats + /* 28 */ ts + 13506, /* "idx" */ + /* 29 */ ts + 18146, /* "wdth" */ + /* 30 */ ts + 18151, /* "hght" */ + /* 31 */ ts + 18156, /* "flgs" */ + /* 32 */ ts + 18022, /* "seq" */ // Used by: index_list + /* 33 */ ts + 18064, /* "name" */ + /* 34 */ ts + 18161, /* "unique" */ + /* 35 */ ts + 18168, /* "origin" */ + /* 36 */ ts + 18175, /* "partial" */ + /* 37 */ ts + 8458, /* "table" */ // Used by: foreign_key_check + /* 38 */ ts + 10286, /* "rowid" */ + /* 39 */ ts + 6981, /* "parent" */ + /* 40 */ ts + 18183, /* "fkid" */ // index_info reuses 15 - /* 41 */ ts + 18007, /* "seq" */ // Used by: database_list - /* 42 */ ts + 18049, /* "name" */ - /* 43 */ ts + 18173, /* "file" */ - /* 44 */ ts + 18178, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 18183, /* "log" */ - /* 46 */ ts + 18187, /* "checkpointed" */ + /* 41 */ ts + 18022, /* "seq" */ // Used by: database_list + /* 42 */ ts + 18064, /* "name" */ + /* 43 */ ts + 18188, /* "file" */ + /* 44 */ ts + 18193, /* "busy" */ // Used by: wal_checkpoint + /* 45 */ ts + 18198, /* "log" */ + /* 46 */ ts + 18202, /* "checkpointed" */ // collation_list reuses 32 - /* 47 */ ts + 18200, /* "database" */ // Used by: lock_status - /* 48 */ ts + 18209, /* "status" */ - /* 49 */ ts + 18216, /* "cache_size" */ // Used by: default_cache_size + /* 47 */ ts + 18215, /* "database" */ // Used by: lock_status + /* 48 */ ts + 18224, /* "status" */ + /* 49 */ ts + 18231, /* "cache_size" */ // Used by: default_cache_size // module_list pragma_list reuses 9 - /* 50 */ ts + 18227, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 18242, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas @@ -109105,238 +109613,238 @@ type PragmaName1 = struct { // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [66]PragmaName{ - { /* zName: */ FzName: ts + 18235, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 18250, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18250, /* "application_id" */ + { /* zName: */ FzName: ts + 18265, /* "application_id" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_APPLICATION_ID)}, - { /* zName: */ FzName: ts + 18265, /* "auto_vacuum" */ + { /* zName: */ FzName: ts + 18280, /* "auto_vacuum" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_AUTO_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18277, /* "automatic_index" */ + { /* zName: */ FzName: ts + 18292, /* "automatic_index" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_AutoIndex)}, - { /* zName: */ FzName: ts + 18293, /* "busy_timeout" */ + { /* zName: */ FzName: ts + 18308, /* "busy_timeout" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_BUSY_TIMEOUT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(50), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18216, /* "cache_size" */ + { /* zName: */ FzName: ts + 18231, /* "cache_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18306, /* "cache_spill" */ + { /* zName: */ FzName: ts + 18321, /* "cache_spill" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SPILL), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18318, /* "case_sensitive_l..." */ + { /* zName: */ FzName: ts + 18333, /* "case_sensitive_l..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CASE_SENSITIVE_LIKE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 18338, /* "cell_size_check" */ + { /* zName: */ FzName: ts + 18353, /* "cell_size_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CellSizeCk)}, - { /* zName: */ FzName: ts + 18354, /* "checkpoint_fullf..." */ + { /* zName: */ FzName: ts + 18369, /* "checkpoint_fullf..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CkptFullFSync)}, - { /* zName: */ FzName: ts + 18375, /* "collation_list" */ + { /* zName: */ FzName: ts + 18390, /* "collation_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COLLATION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 18390, /* "compile_options" */ + { /* zName: */ FzName: ts + 18405, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18406, /* "count_changes" */ + { /* zName: */ FzName: ts + 18421, /* "count_changes" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (U64((uint64(0x00001))) << 32)}, - { /* zName: */ FzName: ts + 18420, /* "data_version" */ + { /* zName: */ FzName: ts + 18435, /* "data_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_DATA_VERSION)}, - { /* zName: */ FzName: ts + 18433, /* "database_list" */ + { /* zName: */ FzName: ts + 18448, /* "database_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATABASE_LIST), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_Result0)), /* ColNames: */ FiPragCName: U8(41), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 18447, /* "default_cache_si..." */ + { /* zName: */ FzName: ts + 18462, /* "default_cache_si..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DEFAULT_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1)), /* ColNames: */ FiPragCName: U8(49), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18466, /* "defer_foreign_ke..." */ + { /* zName: */ FzName: ts + 18481, /* "defer_foreign_ke..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_DeferFKs)}, - { /* zName: */ FzName: ts + 18485, /* "empty_result_cal..." */ + { /* zName: */ FzName: ts + 18500, /* "empty_result_cal..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_NullCallback)}, - { /* zName: */ FzName: ts + 18508, /* "encoding" */ + { /* zName: */ FzName: ts + 18523, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18517, /* "foreign_key_chec..." */ + { /* zName: */ FzName: ts + 18532, /* "foreign_key_chec..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_CHECK), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(37), FnPragCName: U8(4)}, - { /* zName: */ FzName: ts + 18535, /* "foreign_key_list" */ + { /* zName: */ FzName: ts + 18550, /* "foreign_key_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), FnPragCName: U8(8)}, - { /* zName: */ FzName: ts + 18552, /* "foreign_keys" */ + { /* zName: */ FzName: ts + 18567, /* "foreign_keys" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ForeignKeys)}, - { /* zName: */ FzName: ts + 18565, /* "freelist_count" */ + { /* zName: */ FzName: ts + 18580, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 18580, /* "full_column_name..." */ + { /* zName: */ FzName: ts + 18595, /* "full_column_name..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullColNames)}, - { /* zName: */ FzName: ts + 18598, /* "fullfsync" */ + { /* zName: */ FzName: ts + 18613, /* "fullfsync" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullFSync)}, - { /* zName: */ FzName: ts + 18608, /* "function_list" */ + { /* zName: */ FzName: ts + 18623, /* "function_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FUNCTION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(21), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 18622, /* "hard_heap_limit" */ + { /* zName: */ FzName: ts + 18637, /* "hard_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HARD_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18638, /* "ignore_check_con..." */ + { /* zName: */ FzName: ts + 18653, /* "ignore_check_con..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_IgnoreChecks)}, - { /* zName: */ FzName: ts + 18663, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 18678, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 18682, /* "index_info" */ + { /* zName: */ FzName: ts + 18697, /* "index_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 18693, /* "index_list" */ + { /* zName: */ FzName: ts + 18708, /* "index_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(5)}, - { /* zName: */ FzName: ts + 18704, /* "index_xinfo" */ + { /* zName: */ FzName: ts + 18719, /* "index_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(6), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 18716, /* "integrity_check" */ + { /* zName: */ FzName: ts + 18731, /* "integrity_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 18732, /* "journal_mode" */ + { /* zName: */ FzName: ts + 18747, /* "journal_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_MODE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18745, /* "journal_size_lim..." */ + { /* zName: */ FzName: ts + 18760, /* "journal_size_lim..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_SIZE_LIMIT), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18764, /* "legacy_alter_tab..." */ + { /* zName: */ FzName: ts + 18779, /* "legacy_alter_tab..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_LegacyAlter)}, - { /* zName: */ FzName: ts + 18783, /* "lock_status" */ + { /* zName: */ FzName: ts + 18798, /* "lock_status" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCK_STATUS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(47), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 18795, /* "locking_mode" */ + { /* zName: */ FzName: ts + 18810, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18808, /* "max_page_count" */ + { /* zName: */ FzName: ts + 18823, /* "max_page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18823, /* "mmap_size" */ + { /* zName: */ FzName: ts + 18838, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 18833, /* "module_list" */ + { /* zName: */ FzName: ts + 18848, /* "module_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MODULE_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18845, /* "optimize" */ + { /* zName: */ FzName: ts + 18860, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 18854, /* "page_count" */ + { /* zName: */ FzName: ts + 18869, /* "page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18865, /* "page_size" */ + { /* zName: */ FzName: ts + 18880, /* "page_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_SIZE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18875, /* "pragma_list" */ + { /* zName: */ FzName: ts + 18890, /* "pragma_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PRAGMA_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18887, /* "query_only" */ + { /* zName: */ FzName: ts + 18902, /* "query_only" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_QueryOnly)}, - { /* zName: */ FzName: ts + 18898, /* "quick_check" */ + { /* zName: */ FzName: ts + 18913, /* "quick_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 18910, /* "read_uncommitted" */ + { /* zName: */ FzName: ts + 18925, /* "read_uncommitted" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReadUncommit)}, - { /* zName: */ FzName: ts + 18927, /* "recursive_trigge..." */ + { /* zName: */ FzName: ts + 18942, /* "recursive_trigge..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_RecTriggers)}, - { /* zName: */ FzName: ts + 18946, /* "reverse_unordere..." */ + { /* zName: */ FzName: ts + 18961, /* "reverse_unordere..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReverseOrder)}, - { /* zName: */ FzName: ts + 18972, /* "schema_version" */ + { /* zName: */ FzName: ts + 18987, /* "schema_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_SCHEMA_VERSION)}, - { /* zName: */ FzName: ts + 18987, /* "secure_delete" */ + { /* zName: */ FzName: ts + 19002, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19001, /* "short_column_nam..." */ + { /* zName: */ FzName: ts + 19016, /* "short_column_nam..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ShortColNames)}, - { /* zName: */ FzName: ts + 19020, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 19035, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 19034, /* "soft_heap_limit" */ + { /* zName: */ FzName: ts + 19049, /* "soft_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SOFT_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19050, /* "synchronous" */ + { /* zName: */ FzName: ts + 19065, /* "synchronous" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SYNCHRONOUS), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 19062, /* "table_info" */ + { /* zName: */ FzName: ts + 19077, /* "table_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 19073, /* "table_xinfo" */ + { /* zName: */ FzName: ts + 19088, /* "table_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(7), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 19085, /* "temp_store" */ + { /* zName: */ FzName: ts + 19100, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 19096, /* "temp_store_direc..." */ + { /* zName: */ FzName: ts + 19111, /* "temp_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 19117, /* "threads" */ + { /* zName: */ FzName: ts + 19132, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19125, /* "trusted_schema" */ + { /* zName: */ FzName: ts + 19140, /* "trusted_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_TrustedSchema)}, - { /* zName: */ FzName: ts + 19140, /* "user_version" */ + { /* zName: */ FzName: ts + 19155, /* "user_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_USER_VERSION)}, - { /* zName: */ FzName: ts + 19153, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 19168, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 19172, /* "wal_checkpoint" */ + { /* zName: */ FzName: ts + 19187, /* "wal_checkpoint" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_CHECKPOINT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NeedSchema), /* ColNames: */ FiPragCName: U8(44), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 19187, /* "writable_schema" */ + { /* zName: */ FzName: ts + 19202, /* "writable_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError))}, @@ -109373,7 +109881,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 19203 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 19218 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ @@ -109390,10 +109898,10 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:128 // Interpret the given string as a locking mode value. func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ if z != 0 { - if 0 == Xsqlite3StrICmp(tls, z, ts+19228 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19243 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+19238 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19253 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -109406,13 +109914,13 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ var i int32 - if 0 == Xsqlite3StrICmp(tls, z, ts+19245 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19260 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+19250 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19265 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+19255 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19270 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -109430,9 +109938,9 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128566:12: */ if (int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '2') { return (int32(*(*int8)(unsafe.Pointer(z))) - '0') - } else if Xsqlite3StrICmp(tls, z, ts+18173 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+18188 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+19267 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+19282 /* "memory" */) == 0 { return 2 } else { return 0 @@ -109448,7 +109956,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || (Xsqlite3BtreeTxnState(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) != SQLITE_TXN_NONE) { Xsqlite3ErrorMsg(tls, pParse, - ts+19274 /* "temporary storag..." */, 0) + ts+19289 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) @@ -109548,19 +110056,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 19336 /* "SET NULL" */ + zName = ts + 19351 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 19345 /* "SET DEFAULT" */ + zName = ts + 19360 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 19357 /* "CASCADE" */ + zName = ts + 19372 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 19365 /* "RESTRICT" */ + zName = ts + 19380 /* "RESTRICT" */ break default: - zName = ts + 19374 /* "NO ACTION" */ + zName = ts + 19389 /* "NO ACTION" */ break } return zName @@ -109578,7 +110086,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 19384 /* "delete" */, ts + 19391 /* "persist" */, ts + 19399 /* "off" */, ts + 19403 /* "truncate" */, ts + 19267 /* "memory" */, ts + 19412, /* "wal" */ + ts + 19399 /* "delete" */, ts + 19406 /* "persist" */, ts + 19414 /* "off" */, ts + 19418 /* "truncate" */, ts + 19282 /* "memory" */, ts + 19427, /* "wal" */ } /* sqlite3.c:128715:15 */ // Locate a pragma in the aPragmaName[] array. @@ -109624,13 +110132,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 19416 /* "w" */ + zType = ts + 19431 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 19418 /* "a" */ + zType = ts + 19433 /* "a" */ } else { - zType = ts + 19420 /* "s" */ + zType = ts + 19435 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19422, /* "sissii" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19437, /* "sissii" */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, azEnc[((*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK))], int32((*FuncDef)(unsafe.Pointer(p)).FnArg), @@ -109639,7 +110147,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } var mask U32 = (U32((((SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY) | SQLITE_SUBTYPE) | SQLITE_INNOCUOUS) | SQLITE_FUNC_INTERNAL)) /* sqlite3.c:128765:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 19429 /* "utf8" */, ts + 19434 /* "utf16le" */, ts + 19442 /* "utf16be" */} /* sqlite3.c:128772:23 */ +var azEnc = [4]uintptr{uintptr(0), ts + 19444 /* "utf8" */, ts + 19449 /* "utf16le" */, ts + 19457 /* "utf16be" */} /* sqlite3.c:128772:23 */ // Helper subroutine for PRAGMA integrity_check: // @@ -109907,7 +110415,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+19450 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+19465 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -109962,7 +110470,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 384 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+925 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 384 /* &aFcntl[0] */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+940 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 384 /* &aFcntl[0] */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 384 /* &aFcntl[0] */))) __10: ; @@ -110538,7 +111046,7 @@ __18: if !(zRight != 0) { goto __63 } - if !(Xsqlite3_stricmp(tls, zRight, ts+19454 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+19469 /* "fast" */) == 0) { goto __64 } b = 2 @@ -110627,7 +111135,7 @@ __71: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 19238 /* "normal" */ + zRet = ts + 19253 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -110668,7 +111176,7 @@ __78: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __83 } - zRet = ts + 19228 /* "exclusive" */ + zRet = ts + 19243 /* "exclusive" */ __83: ; returnSingleText(tls, v, zRet) @@ -111033,7 +111541,7 @@ __123: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 448 /* res */)) == 0)) { goto __126 } - Xsqlite3ErrorMsg(tls, pParse, ts+19459 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19474 /* "not a writable d..." */, 0) goto pragma_out __126: ; @@ -111051,7 +111559,7 @@ __127: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __128 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+16, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+16, zRight)) goto __129 __128: Xsqlite3_temp_directory = uintptr(0) @@ -111079,7 +111587,7 @@ __130: goto __132 } Xsqlite3ErrorMsg(tls, pParse, - ts+19484 /* "Safety level may..." */, 0) + ts+19499 /* "Safety level may..." */, 0) goto __133 __132: if !(iDb != 1) { @@ -111238,13 +111746,13 @@ __154: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 19537 /* "issisii" */ + return ts + 19552 /* "issisii" */ } - return ts + 19545 /* "issisi" */ + return ts + 19560 /* "issisi" */ }(), libc.VaList(bp+24, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+889 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+904 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -111319,7 +111827,7 @@ __166: goto __168 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19552 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19567 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -111329,7 +111837,7 @@ __166: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __169 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+19557, /* "isiX" */ + Xsqlite3VdbeMultiLoad(tls, v, 4, ts+19572, /* "isiX" */ libc.VaList(bp+104, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) @@ -111366,8 +111874,8 @@ __172: if !(pIdx1 != 0) { goto __174 } - *(*[3]uintptr)(unsafe.Pointer(bp + 456 /* azOrigin */)) = [3]uintptr{ts + 19562 /* "c" */, ts + 19564 /* "u" */, ts + 18078 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19566, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 456 /* azOrigin */)) = [3]uintptr{ts + 19577 /* "c" */, ts + 19579 /* "u" */, ts + 18093 /* "pk" */} + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19581, /* "isisi" */ libc.VaList(bp+128, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), @@ -111401,7 +111909,7 @@ __175: __178: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19572, /* "iss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19587, /* "iss" */ libc.VaList(bp+168, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FpBt))) @@ -111424,7 +111932,7 @@ __179: goto __181 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19576 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19591 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __180 __180: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -111488,7 +111996,7 @@ __191: goto __193 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19420 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19435 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __192 __192: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -111505,7 +112013,7 @@ __194: if !(i6 < (int32(uint64(unsafe.Sizeof(aPragmaName)) / uint64(unsafe.Sizeof(PragmaName{}))))) { goto __196 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19420 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19435 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) goto __195 __195: i6++ @@ -111541,7 +112049,7 @@ __202: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __204 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19579, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19594, /* "iissssss" */ libc.VaList(bp+224, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -111549,7 +112057,7 @@ __202: (*sColMap)(unsafe.Pointer((pFK+64 /* &.aCol */)+uintptr(j2)*16)).FzCol, actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */) + 1))), // ON UPDATE actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */)))), // ON DELETE - ts+4880 /* "NONE" */)) + ts+4895 /* "NONE" */)) goto __203 __203: j2++ @@ -111742,7 +112250,7 @@ __231: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __232: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+19588 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+19603 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 488 /* aiCols */))) @@ -112008,7 +112516,7 @@ __259: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+19592 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+19607 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -112098,7 +112606,7 @@ __278: __279: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+19616 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+19631 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*32)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -112138,7 +112646,7 @@ __284: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+19636, /* "CHECK constraint..." */ + zErr1 = Xsqlite3MPrintf(tls, db, ts+19651, /* "CHECK constraint..." */ libc.VaList(bp+328, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) @@ -112172,9 +112680,9 @@ __289: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 504 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+19666 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+19681 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+19671 /* " missing from in..." */) + Xsqlite3VdbeLoadString(tls, v, 4, ts+19686 /* " missing from in..." */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) jmp5 = Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) @@ -112214,7 +112722,7 @@ __293: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 504 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+19692 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+19707 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __290: @@ -112236,7 +112744,7 @@ __285: if !(!(isQuick != 0)) { goto __295 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+19719 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+19734 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __296: @@ -112287,7 +112795,7 @@ __241: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 496 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*32)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*32 + 16 /* &.p4 */)) = ts + 5202 /* "ok" */ + *(*uintptr)(unsafe.Pointer(aOp2 + 2*32 + 16 /* &.p4 */)) = ts + 5217 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*32)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 5*32 + 16 /* &.p4 */)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT) __300: @@ -112365,7 +112873,7 @@ __307: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __309 } - Xsqlite3ErrorMsg(tls, pParse, ts+19748 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+19763 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) __309: ; __304: @@ -112477,19 +112985,19 @@ __47: if !(zRight != 0) { goto __316 } - if !(Xsqlite3StrICmp(tls, zRight, ts+19250 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19265 /* "full" */) == 0) { goto __317 } eMode2 = SQLITE_CHECKPOINT_FULL goto __318 __317: - if !(Xsqlite3StrICmp(tls, zRight, ts+19773 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19788 /* "restart" */) == 0) { goto __319 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __320 __319: - if !(Xsqlite3StrICmp(tls, zRight, ts+19403 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19418 /* "truncate" */) == 0) { goto __321 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -112676,7 +113184,7 @@ __336: __338: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+19781, /* "ANALYZE \"%w\".\"%w..." */ + zSubSql = Xsqlite3MPrintf(tls, db, ts+19796, /* "ANALYZE \"%w\".\"%w..." */ libc.VaList(bp+344, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __339 @@ -112811,7 +113319,7 @@ __347: if !(i11 < (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __349 } - zState = ts + 19799 /* "unknown" */ + zState = ts + 19814 /* "unknown" */ if !((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName == uintptr(0)) { goto __350 } @@ -112822,7 +113330,7 @@ __350: if !((pBt3 == uintptr(0)) || (Xsqlite3BtreePager(tls, pBt3) == uintptr(0))) { goto __351 } - zState = ts + 19807 /* "closed" */ + zState = ts + 19822 /* "closed" */ goto __352 __351: if !(Xsqlite3_file_control(tls, db, func() uintptr { @@ -112839,7 +113347,7 @@ __353: ; __352: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19814 /* "ss" */, libc.VaList(bp+360, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName, zState)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19829 /* "ss" */, libc.VaList(bp+360, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName, zState)) goto __348 __348: i11++ @@ -112906,14 +113414,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 19817 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 19822 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 19828 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 19837 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 19846 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 19854 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 19862 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 19869 /* "UTF16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 19832 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, + {FzName: ts + 19837 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] + {FzName: ts + 19843 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] + {FzName: ts + 19852 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] + {FzName: ts + 19861 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, + {FzName: ts + 19869 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, + {FzName: ts + 19877 /* "UTF-16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 19884 /* "UTF16" */}, // SQLITE_UTF16NATIVE {}, } /* sqlite3.c:130285:7 */ var setCookie = [2]VdbeOpList{ @@ -112926,7 +113434,7 @@ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, } /* sqlite3.c:130380:31 */ var azLockName = [5]uintptr{ - ts + 19875 /* "unlocked" */, ts + 19884 /* "shared" */, ts + 19891 /* "reserved" */, ts + 19900 /* "pending" */, ts + 19228, /* "exclusive" */ + ts + 19890 /* "unlocked" */, ts + 19899 /* "shared" */, ts + 19906 /* "reserved" */, ts + 19915 /* "pending" */, ts + 19243, /* "exclusive" */ } /* sqlite3.c:130688:23 */ // **************************************************************************** // @@ -112973,7 +113481,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argc _ = argv Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+64 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19908 /* "CREATE TABLE x" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19923 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -112981,7 +113489,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19923 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19938 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -112994,19 +113502,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19930 /* "(\"%s\"" */, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19945 /* "(\"%s\"" */, 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 /* &acc */, ts+19936 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19951 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19948 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19963 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+6861 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+6876 /* ")" */, 1) Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) rc = Xsqlite3_declare_vtab(tls, db, bp+64 /* &zBuf[0] */) @@ -113022,7 +113530,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -113185,7 +113693,7 @@ __1: var zText uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp, zText)) + *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp, zText)) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) == uintptr(0) { return SQLITE_NOMEM } @@ -113201,13 +113709,13 @@ __2: __3: ; Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 128 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19963 /* "PRAGMA " */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19978 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19971 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19986 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) } Xsqlite3_str_appendall(tls, bp+32 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19975 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19990 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) } zSql = Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) if zSql == uintptr(0) { @@ -113216,7 +113724,7 @@ __3: rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -113309,12 +113817,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) // A error message has already been generated. Do not overwrite it } else if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & (U32(INITFLAG_AlterRename | INITFLAG_AlterDrop))) != 0 { *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db, - ts+19979 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), + ts+19994 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), func() uintptr { if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & U32(INITFLAG_AlterRename)) != 0 { - return ts + 20007 /* "rename" */ + return ts + 20022 /* "rename" */ } - return ts + 20014 /* "drop column" */ + return ts + 20029 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -113326,11 +113834,11 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { zObj = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - zObj = ts + 6914 /* "?" */ + zObj = ts + 6929 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+20026 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+20041 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+20057 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+20072 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -113407,7 +113915,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr if (Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (db+184 /* &.init */ /* &.newTnum */)) == 0) || (((*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum > (*InitData)(unsafe.Pointer(pData)).FmxPage) && ((*InitData)(unsafe.Pointer(pData)).FmxPage > Pgno(0))) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+16136 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+16151 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -113444,13 +113952,13 @@ 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+20065 /* "orphan index" */) + corruptSchema(tls, pData, argv, ts+20080 /* "orphan index" */) } else if (((Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (pIndex+88 /* &.tnum */)) == 0) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2))) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage)) || (Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+16136 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+16151 /* "invalid rootpage" */) } } } @@ -113493,16 +114001,16 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 8443 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 8458 /* "table" */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14164 /* "sqlite_temp_mast..." */ + return ts + 14179 /* "sqlite_temp_mast..." */ } - return ts + 7748 /* "sqlite_master" */ + return ts + 7763 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 10108 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 20078 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 10123 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 20093 /* "CREATE TABLE x(t..." */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 5*8)) = uintptr(0) (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FiDb = iDb @@ -113615,7 +114123,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+13778 /* "attached databas..." */) + ts+13793 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -113655,7 +114163,7 @@ __16: if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) { goto __17 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+20150 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+20165 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -113677,7 +114185,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+20174, /* "SELECT*FROM\"%w\"...." */ + ts+20189, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName)) xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth @@ -114037,7 +114545,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+20208 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+20223 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -114065,7 +114573,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+20238 /* "statement too lo..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+20253 /* "statement too lo..." */, 0) rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG) goto end_prepare __10: @@ -114128,7 +114636,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+925 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+940 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */))) goto __21 __20: @@ -114603,24 +115111,24 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC } } if ((jointype & (JT_INNER | JT_OUTER)) == (JT_INNER | JT_OUTER)) || ((jointype & JT_ERROR) != 0) { - var zSp uintptr = ts + 12900 /* " " */ + var zSp uintptr = ts + 12915 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+20257 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) + ts+20272 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) jointype = JT_INNER } else if ((jointype & JT_OUTER) != 0) && ((jointype & (JT_LEFT | JT_RIGHT)) != JT_LEFT) { Xsqlite3ErrorMsg(tls, pParse, - ts+20301 /* "RIGHT and FULL O..." */, 0) + ts+20316 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 20356 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 20371 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -114826,7 +115334,7 @@ __1: if (int32((*SrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype) & JT_NATURAL) != 0 { if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) || ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+20390 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) + ts+20405 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) return 1 } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { @@ -114850,7 +115358,7 @@ __1: // Disallow both ON and USING clauses in the same join if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) && ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+20440 /* "cannot have both..." */, 0) + ts+20455 /* "cannot have both..." */, 0) return 1 } @@ -114885,7 +115393,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+20495 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) + ts+20510 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) return 1 } addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 24 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 28 /* iLeftCol */)), (i + 1), iRightCol, @@ -115080,7 +115588,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:132803:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) - Xsqlite3VdbeComment(tls, v, ts+20559 /* "OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20574 /* "OFFSET" */, 0) } } @@ -115294,7 +115802,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo if srcTab >= 0 { for i = 0; i < nResultCol; i++ { Xsqlite3VdbeAddOp3(tls, v, OP_Column, srcTab, i, (regResult + i)) - Xsqlite3VdbeComment(tls, v, ts+925 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3VdbeComment(tls, v, ts+940 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList+8 /* &.a */)+uintptr(i)*32)).FzEName)) } } else if eDest != SRT_Exists { // If the destination is an EXISTS(...) expression, the actual @@ -115676,16 +116184,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 20566 /* "UNION ALL" */ + z = ts + 20581 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 20576 /* "INTERSECT" */ + z = ts + 20591 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 20586 /* "EXCEPT" */ + z = ts + 20601 /* "EXCEPT" */ break default: - z = ts + 20593 /* "UNION" */ + z = ts + 20608 /* "UNION" */ break } return z @@ -115703,7 +116211,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite bp := tls.Alloc(8) defer tls.Free(8) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20599 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20614 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } // Assign expression b to lvalue a. A second, no-op, version of this macro @@ -115797,7 +116305,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n iRead = libc.PostDecInt32(&iCol, 1) } Xsqlite3VdbeAddOp3(tls, v, OP_Column, iSortTab, iRead, (regRow + i)) - Xsqlite3VdbeComment(tls, v, ts+925 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(aOutEx+uintptr(i)*32)).FzEName)) + Xsqlite3VdbeComment(tls, v, ts+940 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(aOutEx+uintptr(i)*32)).FzEName)) } } @@ -115973,8 +116481,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 14676 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 10271 /* "rowid" */ + zType = ts + 14691 /* "INTEGER" */ + *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 10286 /* "rowid" */ } else { *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName zType = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), uintptr(0)) @@ -116127,13 +116635,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 10271 /* "rowid" */ + zCol = ts + 10286 /* "rowid" */ } else { zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } if fullName != 0 { var zName uintptr = uintptr(0) - zName = Xsqlite3MPrintf(tls, db, ts+10204 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) + zName = Xsqlite3MPrintf(tls, db, ts+10219 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } else { Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, libc.UintptrFromInt32(-1)) @@ -116141,7 +116649,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*32)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+20622 /* "column%d" */, libc.VaList(bp+16, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+20637 /* "column%d" */, libc.VaList(bp+16, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -116230,7 +116738,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } else { - zName = ts + 10271 /* "rowid" */ + zName = ts + 10286 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -116243,7 +116751,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+20622 /* "column%d" */, libc.VaList(bp, (i+1))) + zName = Xsqlite3MPrintf(tls, db, ts+20637 /* "column%d" */, libc.VaList(bp, (i+1))) } // Make sure the column name is unique. If the name is not unique, @@ -116258,7 +116766,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+20631 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) + zName = Xsqlite3MPrintf(tls, db, ts+20646 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) if *(*U32)(unsafe.Pointer(bp + 56 /* cnt */)) > U32(3) { Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &cnt */) } @@ -116459,7 +116967,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 if Xsqlite3ExprIsInteger(tls, (*Expr)(unsafe.Pointer(pLimit)).FpLeft, bp /* &n */) != 0 { Xsqlite3VdbeAddOp2(tls, v, OP_Integer, *(*int32)(unsafe.Pointer(bp /* n */)), iLimit) - Xsqlite3VdbeComment(tls, v, ts+20639 /* "LIMIT counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20654 /* "LIMIT counter" */, 0) if *(*int32)(unsafe.Pointer(bp /* n */)) == 0 { Xsqlite3VdbeGoto(tls, v, iBreak) } else if (*(*int32)(unsafe.Pointer(bp /* n */)) >= 0) && (int32((*Select)(unsafe.Pointer(p)).FnSelectRow) > int32(Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp /* n */)))))) { @@ -116469,7 +116977,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 } else { Xsqlite3ExprCode(tls, pParse, (*Expr)(unsafe.Pointer(pLimit)).FpLeft, iLimit) Xsqlite3VdbeAddOp1(tls, v, OP_MustBeInt, iLimit) - Xsqlite3VdbeComment(tls, v, ts+20639 /* "LIMIT counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20654 /* "LIMIT counter" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_IfNot, iLimit, iBreak) } if (*Expr)(unsafe.Pointer(pLimit)).FpRight != 0 { @@ -116477,9 +116985,9 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 (*Parse)(unsafe.Pointer(pParse)).FnMem++ // Allocate an extra register for limit+offset Xsqlite3ExprCode(tls, pParse, (*Expr)(unsafe.Pointer(pLimit)).FpRight, iOffset) Xsqlite3VdbeAddOp1(tls, v, OP_MustBeInt, iOffset) - Xsqlite3VdbeComment(tls, v, ts+20653 /* "OFFSET counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20668 /* "OFFSET counter" */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_OffsetLimit, iLimit, (iOffset + 1), iOffset) - Xsqlite3VdbeComment(tls, v, ts+20668 /* "LIMIT+OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20683 /* "LIMIT+OFFSET" */, 0) } } } @@ -116615,7 +117123,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+20681 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20696 /* "cannot use windo..." */, 0) return __1: ; @@ -116699,7 +117207,7 @@ __9: Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, iQueue, nCol) __10: ; - Xsqlite3VdbeComment(tls, v, ts+20730 /* "Queue table" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20745 /* "Queue table" */, 0) if !(iDistinct != 0) { goto __11 } @@ -116726,7 +117234,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+20742 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20757 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -116748,7 +117256,7 @@ __14: // Store the results of the setup-query in Queue. pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior (*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20784 /* "SETUP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20799 /* "SETUP" */, 0) rc = Xsqlite3Select(tls, pParse, pSetup, bp /* &destQueue */) (*Select)(unsafe.Pointer(pSetup)).FpNext = p if !(rc != 0) { @@ -116791,7 +117299,7 @@ __20: // Execute the recursive SELECT taking the single row in Current as // the value for the recursive-table. Store the results in the Queue. (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20790 /* "RECURSIVE STEP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20805 /* "RECURSIVE STEP" */, 0) Xsqlite3Select(tls, pParse, p, bp /* &destQueue */) (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -116841,11 +117349,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+20805 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20820 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { if nRow == 1 { - return ts + 889 /* "" */ + return ts + 904 /* "" */ } - return ts + 20828 /* "S" */ + return ts + 20843 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -116997,8 +117505,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20830 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20845 /* "LEFT-MOST SUBQUE..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20845 /* "COMPOUND QUERY" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20860 /* "LEFT-MOST SUBQUE..." */, 0) __8: ; @@ -117037,7 +117545,7 @@ __14: goto __15 } addr = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, (*Select)(unsafe.Pointer(p)).FiLimit) - Xsqlite3VdbeComment(tls, v, ts+20864 /* "Jump ahead if LI..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+20879 /* "Jump ahead if LI..." */, 0) if !((*Select)(unsafe.Pointer(p)).FiOffset != 0) { goto __16 } @@ -117047,7 +117555,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20566 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20581 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) @@ -117123,7 +117631,7 @@ __23: pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 64 /* &uniondest */)).FeDest = op - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20892 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20907 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+64 /* &uniondest */) @@ -117195,7 +117703,7 @@ __26: pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 104 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20892 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20907 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+104 /* &intersectdest */) @@ -117356,10 +117864,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+20913 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20928 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+20959, /* "SELECTs to the l..." */ + ts+20974, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -117739,9 +118247,9 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Separate the left and the right query from one another (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) (*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) - Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9333 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9348 /* "ORDER" */) if (*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+9333 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+9348 /* "ORDER" */) } // Compute the limit registers @@ -117770,15 +118278,15 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) Xsqlite3SelectDestInit(tls, bp+8 /* &destA */, SRT_Coroutine, regAddrA) Xsqlite3SelectDestInit(tls, bp+48 /* &destB */, SRT_Coroutine, regAddrB) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21041 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21056 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) // Generate a coroutine to evaluate the SELECT statement to the // left of the compound operator - the "A" select. addrSelectA = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA) - Xsqlite3VdbeComment(tls, v, ts+21052 /* "left SELECT" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21067 /* "left SELECT" */, 0) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21064 /* "LEFT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21079 /* "LEFT" */, 0) Xsqlite3Select(tls, pParse, pPrior, bp+8 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -117787,12 +118295,12 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // the right - the "B" select addrSelectB = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrB, 0, addrSelectB) - Xsqlite3VdbeComment(tls, v, ts+21069 /* "right SELECT" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21084 /* "right SELECT" */, 0) savedLimit = (*Select)(unsafe.Pointer(p)).FiLimit savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset (*Select)(unsafe.Pointer(p)).FiLimit = regLimitB (*Select)(unsafe.Pointer(p)).FiOffset = 0 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21082 /* "RIGHT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21097 /* "RIGHT" */, 0) Xsqlite3Select(tls, pParse, p, bp+48 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -117800,7 +118308,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Generate a subroutine that outputs the current row of the A // select as the next output row of the compound select. - Xsqlite3VdbeNoopComment(tls, v, ts+21088 /* "Output routine f..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21103 /* "Output routine f..." */, 0) addrOutA = generateOutputSubroutine(tls, pParse, p, bp+8 /* &destA */, pDest, regOutA, regPrev, pKeyDup, labelEnd) @@ -117808,7 +118316,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Generate a subroutine that outputs the current row of the B // select as the next output row of the compound select. if (op == TK_ALL) || (op == TK_UNION) { - Xsqlite3VdbeNoopComment(tls, v, ts+21109 /* "Output routine f..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21124 /* "Output routine f..." */, 0) addrOutB = generateOutputSubroutine(tls, pParse, p, bp+48 /* &destB */, pDest, regOutB, regPrev, pKeyDup, labelEnd) @@ -117820,7 +118328,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) if (op == TK_EXCEPT) || (op == TK_INTERSECT) { addrEofA_noB = libc.AssignInt32(&addrEofA, labelEnd) } else { - Xsqlite3VdbeNoopComment(tls, v, ts+21130 /* "eof-A subroutine" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21145 /* "eof-A subroutine" */, 0) addrEofA = Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutB, addrOutB) addrEofA_noB = Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regAddrB, labelEnd) @@ -117836,14 +118344,14 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (*Select)(unsafe.Pointer(p)).FnSelectRow = (*Select)(unsafe.Pointer(pPrior)).FnSelectRow } } else { - Xsqlite3VdbeNoopComment(tls, v, ts+21147 /* "eof-B subroutine" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21162 /* "eof-B subroutine" */, 0) addrEofB = Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutA, addrOutA) Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regAddrA, labelEnd) Xsqlite3VdbeGoto(tls, v, addrEofB) } // Generate code to handle the case of AB - Xsqlite3VdbeNoopComment(tls, v, ts+21200 /* "A-gt-B subroutin..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21215 /* "A-gt-B subroutin..." */, 0) addrAgtB = Xsqlite3VdbeCurrentAddr(tls, v) if (op == TK_ALL) || (op == TK_UNION) { Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutB, addrOutB) @@ -117989,7 +118497,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 452 /* "BINARY" */ + return ts + 467 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -119202,12 +119710,12 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 return U8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8 /* &.u */)) - if Xsqlite3StrICmp(tls, zFunc, ts+17116 /* "min" */) == 0 { + if Xsqlite3StrICmp(tls, zFunc, ts+17131 /* "min" */) == 0 { eRet = WHERE_ORDERBY_MIN if Xsqlite3ExprCanBeNull(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */))).FpExpr) != 0 { sortFlags = U8(KEYINFO_ORDER_BIGNULL) } - } else if Xsqlite3StrICmp(tls, zFunc, ts+17120 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+17135 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -119276,7 +119784,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+21218 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) + Xsqlite3ErrorMsg(tls, pParse, ts+21233 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) return SQLITE_ERROR } @@ -119387,7 +119895,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s defer tls.Free(8) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21236 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21251 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) return 1 } return 0 @@ -119575,7 +120083,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+60 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+21259 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+21274 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -119591,7 +120099,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21302 /* "circular referen..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21317 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { @@ -119617,7 +120125,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+21325, /* "table %s has %d ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21340, /* "table %s has %d ..." */ libc.VaList(bp+16, (*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 @@ -119628,9 +120136,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom Xsqlite3ColumnsFromExprList(tls, pParse, pEList, (pTab + 70 /* &.nCol */), (pTab + 8 /* &.aCol */)) if bMayRecursive != 0 { if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21363 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21378 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21397 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21412 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -119678,7 +120186,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+21435 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + (*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+21450 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) } for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior @@ -119805,7 +120313,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+21447, /* "too many referen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21462, /* "too many referen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) (*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return WRC_Abort @@ -119824,7 +120332,7 @@ __1: if (((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (((*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+21486, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21501, /* "access to view \"..." */ libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -119832,7 +120340,7 @@ __1: ((uint32(int32(*(*uint16)(unsafe.Pointer((pFrom + 60 /* &.fg */) + 4 /* &.fromDDL */)) & 0x40 >> 6))) != 0)) && ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+21517, /* "unsafe use of vi..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21532, /* "unsafe use of vi..." */ libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) @@ -119947,7 +120455,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName } else { - zSchemaName = ts + 21550 /* "*" */ + zSchemaName = ts + 21565 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -119996,7 +120504,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+10204 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+10219 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) zToFree = zColname } } else { @@ -120012,7 +120520,7 @@ __3: (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSub)).FpEList+8 /* &.a */)+uintptr(j)*32)).FzEName) } else { - (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+21552, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+21567, /* "%s.%s.%s" */ libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } @@ -120032,9 +120540,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21561 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21576 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+21579 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21594 /* "no tables specif..." */, 0) } } } @@ -120044,7 +120552,7 @@ __3: } if (*Select)(unsafe.Pointer(p)).FpEList != 0 { if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+21599 /* "too many columns..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21614 /* "too many columns..." */, 0) return WRC_Abort } if (elistFlags & (U32(EP_HasFunc | EP_Subquery))) != U32(0) { @@ -120232,13 +120740,13 @@ __1: if (*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)) == uintptr(0)) || ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)))).FnExpr != 1) { Xsqlite3ErrorMsg(tls, pParse, - ts+21630 /* "DISTINCT aggrega..." */, 0) + ts+21645 /* "DISTINCT aggrega..." */, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1 } else { var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)), 0, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -9) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21681 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21696 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } @@ -120438,19 +120946,19 @@ 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 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21714, /* "SCAN %s%s%s" */ + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21729, /* "SCAN %s%s%s" */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if bCover != 0 { - return ts + 21726 /* " USING COVERING ..." */ + return ts + 21741 /* " USING COVERING ..." */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }())) } } @@ -120470,7 +120978,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { if (Xsqlite3ExprIsConstantOrGroupBy(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*Select)(unsafe.Pointer(pS)).FpGroupBy) != 0) && ((libc.Bool32(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromJoin | EP_IsFalse))) == U32(EP_IsFalse))) == 0) { var db uintptr = (*Parse)(unsafe.Pointer((*Walker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10108 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10123 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -120772,7 +121280,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+21749, /* "target object/al..." */ + ts+21764, /* "target object/al..." */ libc.VaList(bp, func() uintptr { if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 { return (*SrcItem)(unsafe.Pointer(p0)).FzAlias @@ -120852,7 +121360,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+21803, /* "expected %d colu..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21818, /* "expected %d colu..." */ 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 __18: @@ -120993,7 +121501,7 @@ __29: if !(((*SrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0)) && ((*SrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0))) { goto __32 } - Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+889 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+904 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -121055,10 +121563,10 @@ __35: (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) - Xsqlite3VdbeComment(tls, v, ts+21843 /* "%!S" */, libc.VaList(bp+32, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+21858 /* "%!S" */, libc.VaList(bp+32, pItem1)) (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop Xsqlite3SelectDestInit(tls, bp+128 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21847 /* "CO-ROUTINE %!S" */, libc.VaList(bp+40, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21862 /* "CO-ROUTINE %!S" */, libc.VaList(bp+40, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+128 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) @@ -121113,14 +121621,14 @@ __41: // a trigger, then we only need to compute the value of the subquery // once. onceAddr = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeComment(tls, v, ts+21862 /* "materialize %!S" */, libc.VaList(bp+48, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+21877 /* "materialize %!S" */, libc.VaList(bp+48, pItem1)) goto __45 __44: - Xsqlite3VdbeNoopComment(tls, v, ts+21862 /* "materialize %!S" */, libc.VaList(bp+56, pItem1)) + Xsqlite3VdbeNoopComment(tls, v, ts+21877 /* "materialize %!S" */, libc.VaList(bp+56, pItem1)) __45: ; Xsqlite3SelectDestInit(tls, bp+128 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21878 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21893 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+128 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { @@ -121130,7 +121638,7 @@ __45: __46: ; retAddr = Xsqlite3VdbeAddOp1(tls, v, OP_Return, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeComment(tls, v, ts+21894 /* "end %!S" */, libc.VaList(bp+72, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+21909 /* "end %!S" */, libc.VaList(bp+72, pItem1)) Xsqlite3VdbeChangeP1(tls, v, topAddr, retAddr) Xsqlite3ClearTempRegCache(tls, pParse) if !(((uint32(int32(*(*uint16)(unsafe.Pointer((pItem1 + 60 /* &.fg */) + 4 /* &.isCte */)) & 0x80 >> 7))) != 0) && ((int32(*(*uint16)(unsafe.Pointer((pItem1 + 60 /* &.fg */) + 4 /* &.isCorrelated */)) & 0x8 >> 3)) == 0)) { @@ -121343,12 +121851,12 @@ __65: Xsqlite3VdbeAddOp2(tls, v, OP_Goto, 0, iBreak) Xsqlite3VdbeResolveLabel(tls, v, addrGosub) - Xsqlite3VdbeNoopComment(tls, v, ts+21902 /* "inner-loop subro..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21917 /* "inner-loop subro..." */, 0) (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FlabelOBLopt = 0 selectInnerLoop(tls, pParse, p, -1, bp+80 /* &sSort */, bp+168 /* &sDistinct */, pDest, iCont, iBreak) Xsqlite3VdbeResolveLabel(tls, v, iCont) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regGosub) - Xsqlite3VdbeComment(tls, v, ts+21924 /* "end inner-loop s..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+21939 /* "end inner-loop s..." */, 0) Xsqlite3VdbeResolveLabel(tls, v, iBreak) goto __67 __66: @@ -121602,7 +122110,7 @@ __95: iBMem = ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1) *(*int32)(unsafe.Pointer(pParse + 56 /* &.nMem */)) += ((*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, iAbortFlag) - Xsqlite3VdbeComment(tls, v, ts+21950 /* "clear abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21965 /* "clear abort flag" */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, iAMem, ((iAMem + (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) - 1)) // Begin a loop that will extract all source rows in GROUP BY order. @@ -121640,9 +122148,9 @@ __97: explainTempTable(tls, pParse, func() uintptr { if ((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { - return ts + 21967 /* "DISTINCT" */ + return ts + 21982 /* "DISTINCT" */ } - return ts + 21976 /* "GROUP BY" */ + return ts + 21991 /* "GROUP BY" */ }()) groupBySort = 1 @@ -121704,7 +122212,7 @@ __105: sortOut = Xsqlite3GetTempReg(tls, pParse) Xsqlite3VdbeAddOp3(tls, v, OP_OpenPseudo, sortPTab, sortOut, nCol) Xsqlite3VdbeAddOp2(tls, v, OP_SorterSort, (*AggInfo)(unsafe.Pointer(pAggInfo)).FsortingIdx, addrEnd) - Xsqlite3VdbeComment(tls, v, ts+21985 /* "GROUP BY sort" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22000 /* "GROUP BY sort" */, 0) (*AggInfo)(unsafe.Pointer(pAggInfo)).FuseSortingIdx = U8(1) __98: ; @@ -121774,18 +122282,18 @@ __111: // for the next GROUP BY batch. Xsqlite3ExprCodeMove(tls, pParse, iBMem, iAMem, (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutputRow, addrOutputRow) - Xsqlite3VdbeComment(tls, v, ts+21999 /* "output one row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22014 /* "output one row" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_IfPos, iAbortFlag, addrEnd) - Xsqlite3VdbeComment(tls, v, ts+22014 /* "check abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22029 /* "check abort flag" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regReset, addrReset) - Xsqlite3VdbeComment(tls, v, ts+22031 /* "reset accumulato..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22046 /* "reset accumulato..." */, 0) // Update the aggregate accumulators based on the content of // the current row Xsqlite3VdbeJumpHere(tls, v, addr1) updateAccumulator(tls, pParse, iUseFlag, pAggInfo, eDist) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, iUseFlag) - Xsqlite3VdbeComment(tls, v, ts+22049 /* "indicate data in..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22064 /* "indicate data in..." */, 0) // End of the loop if !(groupBySort != 0) { @@ -121804,7 +122312,7 @@ __115: // Output the final row of result Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutputRow, addrOutputRow) - Xsqlite3VdbeComment(tls, v, ts+22078 /* "output final row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22093 /* "output final row" */, 0) // Jump over the subroutines Xsqlite3VdbeGoto(tls, v, addrEnd) @@ -121817,13 +122325,13 @@ __115: // order to signal the caller to abort. addrSetAbort = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, iAbortFlag) - Xsqlite3VdbeComment(tls, v, ts+22095 /* "set abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22110 /* "set abort flag" */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) Xsqlite3VdbeResolveLabel(tls, v, addrOutputRow) addrOutputRow = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_IfPos, iUseFlag, (addrOutputRow + 2)) - Xsqlite3VdbeComment(tls, v, ts+22110 /* "Groupby result g..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22125 /* "Groupby result g..." */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) finalizeAggFunctions(tls, pParse, pAggInfo) Xsqlite3ExprIfFalse(tls, pParse, pHaving, (addrOutputRow + 1), SQLITE_JUMPIFNULL) @@ -121831,13 +122339,13 @@ __115: bp+168 /* &sDistinct */, pDest, (addrOutputRow + 1), addrSetAbort) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) - Xsqlite3VdbeComment(tls, v, ts+22147 /* "end groupby resu..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22162 /* "end groupby resu..." */, 0) // Generate a subroutine that will reset the group-by accumulator Xsqlite3VdbeResolveLabel(tls, v, addrReset) resetAccumulator(tls, pParse, pAggInfo) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, iUseFlag) - Xsqlite3VdbeComment(tls, v, ts+22176 /* "indicate accumul..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22191 /* "indicate accumul..." */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regReset) if !(eDist != WHERE_DISTINCT_NOOP) { @@ -122059,7 +122567,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+21967 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+21982 /* "DISTINCT" */) __140: ; @@ -122071,9 +122579,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FnOBSat > 0 { - return ts + 22203 /* "RIGHT PART OF OR..." */ + return ts + 22218 /* "RIGHT PART OF OR..." */ } - return ts + 22226 /* "ORDER BY" */ + return ts + 22241 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+80 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -122207,7 +122715,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if !(z == uintptr(0)) { goto __10 } @@ -122229,7 +122737,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+22235 /* "sqlite3_get_tabl..." */, 0) + ts+22250 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -122328,7 +122836,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) } @@ -122489,7 +122997,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+22300 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22315 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -122550,7 +123058,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+22346 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+22361 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+40 /* &sFix */, pTableName) != 0) { goto __9 } @@ -122568,7 +123076,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+22354 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22369 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -122583,7 +123091,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+22346 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { + if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+22361 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { goto __13 } goto trigger_cleanup @@ -122599,7 +123107,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+22395 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+22410 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __17 __16: ; @@ -122613,10 +123121,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10335 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10350 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+22421 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22436 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -122626,12 +123134,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+22459, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+22474, /* "cannot create %s..." */ libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 22496 /* "BEFORE" */ + return ts + 22511 /* "BEFORE" */ } - return ts + 22503 /* "AFTER" */ + return ts + 22518 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -122640,7 +123148,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+22509 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) + ts+22524 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -122670,9 +123178,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 14164 /* "sqlite_temp_mast..." */ + return ts + 14179 /* "sqlite_temp_mast..." */ } - return ts + 7748 /* "sqlite_master" */ + return ts + 7763 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -122806,7 +123314,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+22346 /* "trigger" */, bp+40 /* &nameToken */) + Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+22361 /* "trigger" */, bp+40 /* &nameToken */) if !((Xsqlite3FixTriggerStep(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || (Xsqlite3FixExpr(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 @@ -122843,13 +123351,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+22555, /* "INSERT INTO %Q.s..." */ + ts+22570, /* "INSERT INTO %Q.s..." */ libc.VaList(bp, (*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+22630 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+22645 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) __7: ; __6: @@ -123115,7 +123623,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+22659 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+22674 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __10 __9: Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb) @@ -123156,9 +123664,9 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName var zTab uintptr = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14164 /* "sqlite_temp_mast..." */ + return ts + 14179 /* "sqlite_temp_mast..." */ } - return ts + 7748 /* "sqlite_master" */ + return ts + 7763 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -123171,7 +123679,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / // Generate code to destroy the database record of the trigger. if (libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse))) != uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+22679, /* "DELETE FROM %Q.s..." */ + ts+22694, /* "DELETE FROM %Q.s..." */ 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) @@ -123290,12 +123798,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+22741, /* "%s RETURNING is ..." */ + ts+22756, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 22789 /* "DELETE" */ + return ts + 22804 /* "DELETE" */ } - return ts + 22796 /* "UPDATE" */ + return ts + 22811 /* "UPDATE" */ }())) __15: ; @@ -123391,7 +123899,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK { return 0 } - Xsqlite3ErrorMsg(tls, pParse, ts+22803 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22818 /* "RETURNING may no..." */, 0) return 1 } @@ -123532,7 +124040,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf if (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { Xsqlite3VdbeAddOp4(tls, v, OP_Trace, 0x7fffffff, 1, 0, - Xsqlite3MPrintf(tls, db, ts+7935 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+7950 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -123591,19 +124099,19 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf func onErrorText(tls *libc.TLS, onError int32) uintptr { /* sqlite3.c:140731:19: */ switch onError { case OE_Abort: - return ts + 22845 /* "abort" */ + return ts + 22860 /* "abort" */ case OE_Rollback: - return ts + 22851 /* "rollback" */ + return ts + 22866 /* "rollback" */ case OE_Fail: - return ts + 22860 /* "fail" */ + return ts + 22875 /* "fail" */ case OE_Replace: - return ts + 17311 /* "replace" */ + return ts + 17326 /* "replace" */ case OE_Ignore: - return ts + 22865 /* "ignore" */ + return ts + 22880 /* "ignore" */ case OE_Default: - return ts + 22872 /* "default" */ + return ts + 22887 /* "default" */ } - return ts + 22880 /* "n/a" */ + return ts + 22895 /* "n/a" */ } // Parse context structure pFrom has just been used to create a sub-vdbe @@ -123679,30 +124187,30 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt v = Xsqlite3GetVdbe(tls, pSubParse) if v != 0 { - Xsqlite3VdbeComment(tls, v, ts+22884 /* "Start: %s.%s (%s..." */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf), func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+22899 /* "Start: %s.%s (%s..." */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Ftr_tm) == TRIGGER_BEFORE { - return ts + 22496 /* "BEFORE" */ + return ts + 22511 /* "BEFORE" */ } - return ts + 22503 /* "AFTER" */ + return ts + 22518 /* "AFTER" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_UPDATE { - return ts + 22796 /* "UPDATE" */ + return ts + 22811 /* "UPDATE" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_INSERT { - return ts + 22915 /* "INSERT" */ + return ts + 22930 /* "INSERT" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_DELETE { - return ts + 22789 /* "DELETE" */ + return ts + 22804 /* "DELETE" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), (*Table)(unsafe.Pointer(pTab)).FzName)) if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+22922 /* "-- TRIGGER %s" */, libc.VaList(bp+56, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) + Xsqlite3MPrintf(tls, db, ts+22937 /* "-- TRIGGER %s" */, libc.VaList(bp+56, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -123726,7 +124234,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt Xsqlite3VdbeResolveLabel(tls, v, iEndTrigger) } Xsqlite3VdbeAddOp0(tls, v, OP_Halt) - Xsqlite3VdbeComment(tls, v, ts+22936 /* "End: %s.%s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) + Xsqlite3VdbeComment(tls, v, ts+22951 /* "End: %s.%s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) transferParseError(tls, pParse, pSubParse) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0) && ((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) { @@ -123793,11 +124301,11 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab Xsqlite3VdbeAddOp4(tls, v, OP_Program, reg, ignoreJump, libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1), (*TriggerPrg)(unsafe.Pointer(pPrg)).FpProgram, -4) - Xsqlite3VdbeComment(tls, v, ts+22947 /* "Call: %s.%s" */, libc.VaList(bp, func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+22962 /* "Call: %s.%s" */, libc.VaList(bp, func() uintptr { if (*Trigger)(unsafe.Pointer(p)).FzName != 0 { return (*Trigger)(unsafe.Pointer(p)).FzName } - return ts + 22959 /* "fkey" */ + return ts + 22974 /* "fkey" */ }(), onErrorText(tls, orconf))) // Set the P5 operand of the OP_Program instruction to non-zero if @@ -123960,7 +124468,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg *(*uintptr)(unsafe.Pointer(bp + 16 /* pValue */)) = uintptr(0) var enc U8 = (*Sqlite3)(unsafe.Pointer(Xsqlite3VdbeDb(tls, v))).Fenc var pCol uintptr = ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*32) - Xsqlite3VdbeComment(tls, v, ts+10204 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10219 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3ValueFromExpr(tls, Xsqlite3VdbeDb(tls, v), (*Column)(unsafe.Pointer(pCol)).FpDflt, enc, uint8((*Column)(unsafe.Pointer(pCol)).Faffinity), bp+16 /* &pValue */) @@ -124416,7 +124924,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+22964, /* "cannot UPDATE ge..." */ + ts+22979, /* "cannot UPDATE ge..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto update_cleanup __27: @@ -124448,7 +124956,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+23000 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+23015 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -124459,7 +124967,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 9770 /* "ROWID" */ + return ts + 9785 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*32)).FzName }(), @@ -125490,7 +125998,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+23019 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+23034 /* "rows updated" */, uintptr(0)) __169: ; @@ -125877,10 +126385,10 @@ __1: if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { *(*int8)(unsafe.Pointer(bp + 216 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+23032 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+23047 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+23036 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) + ts+23051 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -125950,7 +126458,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab iDataCur = (*Upsert)(unsafe.Pointer(pUpsert)).FiDataCur pUpsert = Xsqlite3UpsertOfIndex(tls, pTop, pIdx) - Xsqlite3VdbeNoopComment(tls, v, ts+23109 /* "Begin DO UPDATE ..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+23124 /* "Begin DO UPDATE ..." */, 0) if (pIdx != 0) && (iCur != iDataCur) { if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { var regRowid int32 = Xsqlite3GetTempReg(tls, pParse) @@ -125968,13 +126476,13 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab k = int32(Xsqlite3TableColumnToIndex(tls, pIdx, *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iCur, k, (iPk + i)) - Xsqlite3VdbeComment(tls, v, ts+10204 /* "%s.%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10219 /* "%s.%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) } i = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, iDataCur, 0, iPk, nPk) Xsqlite3VdbeAddOp4(tls, v, OP_Halt, SQLITE_CORRUPT, OE_Abort, 0, - ts+14218 /* "corrupt database" */, -1) + ts+14233 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -125990,7 +126498,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab } Xsqlite3Update(tls, pParse, pSrc, Xsqlite3ExprListDup(tls, db, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSet, 0), Xsqlite3ExprDup(tls, db, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertWhere, 0), OE_Abort, uintptr(0), uintptr(0), pUpsert) - Xsqlite3VdbeNoopComment(tls, v, ts+23135 /* "End DO UPDATE of..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+23150 /* "End DO UPDATE of..." */, 0) } //************* End of upsert.c ********************************************* @@ -126042,7 +126550,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { // then run VACUUM to get those statements to execute at inappropriate // times. if (zSubSql != 0) && - ((libc.Xstrncmp(tls, zSubSql, ts+23159 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+23163 /* "INS" */, uint64(3)) == 0)) { + ((libc.Xstrncmp(tls, zSubSql, ts+23174 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+23178 /* "INS" */, uint64(3)) == 0)) { rc = execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -126192,14 +126700,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+23167 /* "cannot VACUUM fr..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23182 /* "cannot VACUUM fr..." */) return SQLITE_ERROR // IMP: R-12218-18073 __1: ; if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) { goto __2 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+23207 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23222 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -126210,7 +126718,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+23250 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23265 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -126219,7 +126727,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 76 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 889 /* "" */ + zOut = ts + 904 /* "" */ __4: ; @@ -126255,7 +126763,7 @@ __4: // time to parse and run the PRAGMA to turn journalling off than it does // to write the journal header file. nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb - rc = execSqlF(tls, db, pzErrMsg, ts+23268 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) + rc = execSqlF(tls, db, pzErrMsg, ts+23283 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if !(rc != SQLITE_OK) { goto __6 @@ -126276,7 +126784,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+23291 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23306 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -126292,7 +126800,7 @@ __7: // Begin a transaction and take an exclusive lock on the main database // file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, // to ensure that we do not try to change the page-size on a WAL database. - rc = execSql(tls, db, pzErrMsg, ts+16499 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+16514 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -126343,7 +126851,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+23318, /* "SELECT sql FROM ..." */ + ts+23333, /* "SELECT sql FROM ..." */ libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -126353,7 +126861,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+23426, /* "SELECT sql FROM ..." */ + ts+23441, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -126368,7 +126876,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+23480, /* "SELECT'INSERT IN..." */ + ts+23495, /* "SELECT'INSERT IN..." */ libc.VaList(bp+24, zDbMain)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) @@ -126385,7 +126893,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+23631, /* "INSERT INTO vacu..." */ + ts+23646, /* "INSERT INTO vacu..." */ libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 @@ -126765,7 +127273,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp var azModuleArg uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*Table)(unsafe.Pointer(pTable)).FnModuleArg + 3) >= *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14448 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14463 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = Xsqlite3DbRealloc(tls, db, (*Table)(unsafe.Pointer(pTable)).FazModuleArg, uint64(nBytes)) if azModuleArg == uintptr(0) { @@ -126859,7 +127367,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s 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+23761 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) + zStmt = Xsqlite3MPrintf(tls, db, ts+23776 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) // A slot for the record has already been allocated in the // schema table. We just need to update that slot with all @@ -126871,7 +127379,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+23785, /* "UPDATE %Q.sqlite..." */ + ts+23800, /* "UPDATE %Q.sqlite..." */ 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, @@ -126881,7 +127389,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+23884 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+23899 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -126946,7 +127454,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+23903 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+23918 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return SQLITE_LOCKED } } @@ -126984,9 +127492,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+23945 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+23960 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+925 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+940 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) @@ -126998,7 +127506,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 /* &sCtx */)).FbDeclared == 0 { - var zFormat uintptr = ts + 23975 /* "vtable construct..." */ + var zFormat uintptr = ts + 23990 /* "vtable construct..." */ *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR @@ -127014,12 +127522,12 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Table)(unsafe.Pointer(pTab)).FpVTable = pVTable for iCol = 0; iCol < int32((*Table)(unsafe.Pointer(pTab)).FnCol); iCol++ { - var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+889 /* "" */) + var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+904 /* "" */) var nType int32 var i int32 = 0 nType = Xsqlite3Strlen30(tls, zType) for i = 0; i < nType; i++ { - if ((0 == Xsqlite3_strnicmp(tls, ts+18081 /* "hidden" */, (zType+uintptr(i)), 6)) && + if ((0 == Xsqlite3_strnicmp(tls, ts+18096 /* "hidden" */, (zType+uintptr(i)), 6)) && ((i == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && ((int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { break @@ -127078,13 +127586,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 if !(pMod != 0) { var zModule uintptr = *(*uintptr)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FazModuleArg)) - Xsqlite3ErrorMsg(tls, pParse, ts+24021 /* "no such module: ..." */, libc.VaList(bp, zModule)) + Xsqlite3ErrorMsg(tls, pParse, ts+24036 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+16 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+925 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+940 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -127146,7 +127654,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // invoke it now. If the module has not been registered, return an // error. Otherwise, do nothing. 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+24021 /* "no such module: ..." */, libc.VaList(bp, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+24036 /* "no such module: ..." */, 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) @@ -127223,7 +127731,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)) != 0 { - return ts + 925 /* "%s" */ + return ts + 940 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)))) @@ -127595,7 +128103,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+8 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+925 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+940 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 @@ -128026,10 +128534,10 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:144931:29 */ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:145112:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == (-2) { - return ts + 24040 /* "" */ + return ts + 24055 /* "" */ } if i == (-1) { - return ts + 10271 /* "rowid" */ + return ts + 10286 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*32)).FzName } @@ -128044,35 +128552,35 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i var i int32 if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, ts+24047 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+24062 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+24053 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+24068 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+14829 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+14844 /* "," */, 1) } Xsqlite3_str_appendall(tls, pStr, explainIndexColumnName(tls, pIdx, (iTerm+i))) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+6861 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6876 /* ")" */, 1) } Xsqlite3_str_append(tls, pStr, zOp, 1) if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+24053 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+24068 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+14829 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+14844 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+6914 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6929 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+6861 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6876 /* ")" */, 1) } } @@ -128101,29 +128609,29 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. 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+24055 /* " (" */, 2) + Xsqlite3_str_append(tls, pStr, ts+24070 /* " (" */, 2) for i = 0; i < int32(nEq); i++ { var z uintptr = explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+24047 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+24062 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 24058 /* "%s=?" */ + return ts + 24073 /* "%s=?" */ } - return ts + 24063 /* "ANY(%s)" */ + return ts + 24078 /* "ANY(%s)" */ }(), 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 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+24071 /* ">" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+24086 /* ">" */) i = 1 } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_TOP_LIMIT)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+24073 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+24088 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+6861 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6876 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -128168,11 +128676,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+80 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) (*StrAccum)(unsafe.Pointer(bp + 48 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24075 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24090 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { - return ts + 24081 /* "SEARCH" */ + return ts + 24096 /* "SEARCH" */ } - return ts + 24088 /* "SCAN" */ + return ts + 24103 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -128182,38 +128690,38 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr if !(((*Table)(unsafe.Pointer(((*SrcItem)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = ts + 12948 /* "PRIMARY KEY" */ + zFmt = ts + 12963 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 24093 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 24108 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 24126 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 24141 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 24151 /* "COVERING INDEX %..." */ + zFmt = ts + 24166 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 24169 /* "INDEX %s" */ + zFmt = ts + 24184 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+48 /* &str */, ts+24178 /* " USING " */, 7) + Xsqlite3_str_append(tls, bp+48 /* &str */, ts+24193 /* " USING " */, 7) Xsqlite3_str_appendf(tls, bp+48 /* &str */, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) explainIndexRange(tls, bp+48 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr if (flags & (U32(WHERE_COLUMN_EQ | WHERE_COLUMN_IN))) != 0 { - zRangeOp = ts + 24186 /* "=" */ + zRangeOp = ts + 24201 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 24188 /* ">? AND rowid<" */ + zRangeOp = ts + 24203 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 24071 /* ">" */ + zRangeOp = ts + 24086 /* ">" */ } else { - zRangeOp = ts + 24073 /* "<" */ + zRangeOp = ts + 24088 /* "<" */ } Xsqlite3_str_appendf(tls, bp+48, /* &str */ - ts+24202 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) + ts+24217 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24240, /* " VIRTUAL TABLE I..." */ + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24255, /* " VIRTUAL TABLE I..." */ libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } zMsg = Xsqlite3StrAccumFinish(tls, bp+48 /* &str */) @@ -128670,7 +129178,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in return OP_Rewind }(), iIdxCur) - Xsqlite3VdbeComment(tls, v, ts+24267 /* "begin skip-scan ..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24282 /* "begin skip-scan ..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) j = Xsqlite3VdbeAddOp0(tls, v, OP_Goto) (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip = Xsqlite3VdbeAddOp4Int(tls, v, func() int32 { if bRev != 0 { @@ -128684,7 +129192,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in for j = 0; j < int32(nSkip); j++ { Xsqlite3VdbeAddOp3(tls, v, OP_Column, iIdxCur, j, (regBase + j)) - Xsqlite3VdbeComment(tls, v, ts+925 /* "%s" */, libc.VaList(bp+8, explainIndexColumnName(tls, pIdx, j))) + Xsqlite3VdbeComment(tls, v, ts+940 /* "%s" */, libc.VaList(bp+8, explainIndexColumnName(tls, pIdx, j))) } } @@ -129029,7 +129537,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if (int32((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom) > 0) && ((int32((*SrcItem)(unsafe.Pointer(pTabItem)).Ffg.Fjointype) & JT_LEFT) != 0) { (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) - Xsqlite3VdbeComment(tls, v, ts+24289 /* "init LEFT JOIN n..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24304 /* "init LEFT JOIN n..." */, 0) } // Compute a safe address to jump to if we discover that the table for @@ -129044,7 +129552,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, (*SrcItem)(unsafe.Pointer(pTabItem)).FaddrFillSub) (*WhereLevel)(unsafe.Pointer(pLevel)).Fp2 = Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regYield, addrBrk) - Xsqlite3VdbeComment(tls, v, ts+24318 /* "next row of %s" */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24333 /* "next row of %s" */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) (*WhereLevel)(unsafe.Pointer(pLevel)).Fop = U8(OP_Goto) } else if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_VIRTUALTABLE)) != U32(0) { // Case 1: The table is a virtual-table. Use the VFilter and VNext @@ -129224,7 +129732,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI op = int32(*(*U8)(unsafe.Pointer(bp + 16 /* &aMoveOp[0] */ + uintptr((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT))))) } Xsqlite3VdbeAddOp3(tls, v, op, iCur, addrBrk, r1) - Xsqlite3VdbeComment(tls, v, ts+18078 /* "pk" */, 0) + Xsqlite3VdbeComment(tls, v, ts+18093 /* "pk" */, 0) Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 20 /* rTemp */))) } else { @@ -129443,7 +129951,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI } else { if regBignull != 0 { Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, regBignull) - Xsqlite3VdbeComment(tls, v, ts+24333 /* "NULL-scan pass c..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24348 /* "NULL-scan pass c..." */, 0) } op = int32(aStartOp[(((start_constraints << 2) + (startEq << 1)) + bRev)]) @@ -129517,7 +130025,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if regBignull != 0 { // Except, skip the end-of-range check while doing the NULL-scan Xsqlite3VdbeAddOp2(tls, v, OP_IfNot, regBignull, (Xsqlite3VdbeCurrentAddr(tls, v) + 3)) - Xsqlite3VdbeComment(tls, v, ts+24352 /* "If NULL-scan 2nd..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24367 /* "If NULL-scan 2nd..." */, 0) } op = int32(aEndOp[((bRev * 2) + endEq)]) @@ -129532,7 +130040,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // the NULLs Xsqlite3VdbeAddOp2(tls, v, OP_If, regBignull, (Xsqlite3VdbeCurrentAddr(tls, v) + 2)) - Xsqlite3VdbeComment(tls, v, ts+24374 /* "If NULL-scan 1st..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24389 /* "If NULL-scan 1st..." */, 0) op = int32(aEndOp[((bRev * 2) + int32(bSeekPastNull))]) Xsqlite3VdbeAddOp4Int(tls, v, op, iIdxCur, addrNxt, regBase, @@ -129778,7 +130286,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // Run a separate WHERE clause for each term of the OR clause. After // eliminating duplicates from other WHERE clauses, the action for each // sub-WHERE clause is to to invoke the main loop body as a subroutine. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24396 /* "MULTI-INDEX OR" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24411 /* "MULTI-INDEX OR" */, 0) for ii = 0; ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm; ii++ { var pOrTerm uintptr = ((*WhereClause)(unsafe.Pointer(pOrWc)).Fa + uintptr(ii)*56) if ((*WhereTerm)(unsafe.Pointer(pOrTerm)).FleftCursor == iCur) || ((int32((*WhereTerm)(unsafe.Pointer(pOrTerm)).FeOperator) & WO_AND) != 0) { @@ -129797,7 +130305,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } // Loop through table entries that match term pOrTerm. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24411 /* "INDEX %d" */, libc.VaList(bp+8, (ii+1))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24426 /* "INDEX %d" */, libc.VaList(bp+8, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -130102,7 +130610,7 @@ __6: if (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin != 0 { (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrFirst = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) - Xsqlite3VdbeComment(tls, v, ts+24420 /* "record LEFT JOIN..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24435 /* "record LEFT JOIN..." */, 0) pTerm = (*WhereClause)(unsafe.Pointer(pWC)).Fa j = 0 __7: @@ -130546,10 +131054,10 @@ type Op2 = struct { } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 18039 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 17378 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 16928 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 24441 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, + {FzOp: ts + 18054 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, + {FzOp: ts + 17393 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, + {FzOp: ts + 16943 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, + {FzOp: ts + 24456 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, } /* sqlite3.c:147958:7 */ // If the pBase expression originated in the ON or USING clause of @@ -131250,7 +131758,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s extraRight = (x - uint64(1)) // ON clause terms may not be used with an index // on left table of a LEFT JOIN. Ticket #3015 if (prereqAll >> 1) >= x { - Xsqlite3ErrorMsg(tls, pParse, ts+24448 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+24463 /* "ON clause refere..." */, 0) return } } @@ -131326,7 +131834,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s (*WhereTerm)(unsafe.Pointer(pNew)).FeOperator = (U16((int32(operatorMask(tls, int32((*Expr)(unsafe.Pointer(pDup)).Fop))) + int32(eExtraOp)) & int32(opMask))) } else if (op == TK_ISNULL) && (0 == Xsqlite3ExprCanBeNull(tls, pLeft)) { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8857 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8872 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) (*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0) @@ -131427,7 +131935,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s } zCollSeqName = func() uintptr { if *(*int32)(unsafe.Pointer(bp + 20 /* noCase */)) != 0 { - return ts + 24489 /* "NOCASE" */ + return ts + 24504 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -131729,7 +132237,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+24496, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+24511, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -132552,7 +133060,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+24532 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, + ts+24547 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*32)).FzName)) sentWarning = U8(1) __6: @@ -132633,7 +133141,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 24558 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 24573 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -132730,7 +133238,7 @@ __24: (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) Xsqlite3VdbeAddOp2(tls, v, OP_OpenAutoindex, (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur, (nKeyCol + 1)) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+17774 /* "for %s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+17789 /* "for %s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTable)).FzName)) // Fill the automatic index with content pTabItem = (((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList + 8 /* &.a */) + uintptr((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*112) @@ -132742,7 +133250,7 @@ __24: Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, (*SrcItem)(unsafe.Pointer(pTabItem)).FaddrFillSub) addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, regYield) - Xsqlite3VdbeComment(tls, v, ts+24318 /* "next row of %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24333 /* "next row of %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) goto __29 __28: addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, (*WhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) @@ -132868,7 +133376,7 @@ __3: ((uint64(unsafe.Sizeof(sqlite3_index_constraint{})) + uint64(unsafe.Sizeof(sqlite3_index_constraint_usage{}))) * uint64(nTerm))) + (uint64(unsafe.Sizeof(sqlite3_index_orderby{})) * uint64(nOrderBy))) + uint64(unsafe.Sizeof(HiddenIndexInfo1{}))))) if pIdxInfo == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+7973 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+7988 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*96) @@ -132995,9 +133503,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+925 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+940 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+925 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+940 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -135047,7 +135555,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+24569 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24584 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -135095,7 +135603,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+24569 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24584 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -135484,7 +135992,7 @@ __1: if (rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { if rc == SQLITE_DONE { // We hit the query planner search limit set by iPlanLimit - Xsqlite3_log(tls, SQLITE_WARNING, ts+24595 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+24610 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -136253,7 +136761,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+24630 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+24645 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -136634,7 +137142,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+24648 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) + Xsqlite3ErrorMsg(tls, pParse, ts+24663 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) return uintptr(0) __3: ; @@ -136709,7 +137217,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+24676 /* "SCAN CONSTANT RO..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+24691 /* "SCAN CONSTANT RO..." */, 0) goto __6 __5: // Assign a bit from the bitmask to every term in the FROM clause. @@ -137233,7 +137741,7 @@ __74: Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_SEEKEQ)) __82: ; - Xsqlite3VdbeComment(tls, v, ts+925 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+940 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIx)).FzName)) __81: ; __72: @@ -137448,7 +137956,7 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * Xsqlite3VdbeResolveLabel(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrBrk) if (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip != 0 { Xsqlite3VdbeGoto(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) - Xsqlite3VdbeComment(tls, v, ts+24694 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24709 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzName)) Xsqlite3VdbeJumpHere(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) Xsqlite3VdbeJumpHere(tls, v, ((*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip - 2)) } @@ -137847,7 +138355,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+24715 /* "second argument ..." */, -1) + pCtx, ts+24730 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -137996,7 +138504,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+24771 /* "argument of ntil..." */, -1) + pCtx, ts+24786 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -138093,17 +138601,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155441:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 24816 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 24827 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 24838 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 24843 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 24856 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 24866 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 24872 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 24883 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 24893 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 24905 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 24910 /* "lag" */)) /* sqlite3.c:155469:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 24831 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 24842 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 24853 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 24858 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 24871 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 24881 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 24887 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 24898 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 24908 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 24920 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 24925 /* "lag" */)) /* sqlite3.c:155469:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -138167,7 +138675,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+24914 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24929 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -138211,12 +138719,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+24933 /* "RANGE with offse..." */, 0) + ts+24948 /* "RANGE with offse..." */, 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+25004 /* "FILTER clause ma..." */, 0) + ts+25019 /* "FILTER clause ma..." */, 0) } else { *(*[8]WindowUpdate)(unsafe.Pointer(bp /* aUp */)) = [8]WindowUpdate{ {FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT}, @@ -138239,7 +138747,7 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*Window)(unsafe.Pointer(pWin)).FeEnd = U8((*WindowUpdate)(unsafe.Pointer(bp /* &aUp */ + uintptr(i)*24)).FeEnd) (*Window)(unsafe.Pointer(pWin)).FeExclude = U8(0) if int32((*Window)(unsafe.Pointer(pWin)).FeStart) == TK_FOLLOWING { - (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10108 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10123 /* "1" */) } break } @@ -138481,7 +138989,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+10210 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + ts+10225 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) } return WRC_Continue } @@ -138611,7 +139119,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // keep everything legal in this case. if *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3Expr(tls, db, TK_INTEGER, ts+9588 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+9603 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -138751,7 +139259,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+25067 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25082 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -138817,15 +139325,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint var zErr uintptr = uintptr(0) // Check for errors if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = ts + 25099 /* "PARTITION clause" */ + zErr = ts + 25114 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 25116 /* "ORDER BY clause" */ + zErr = ts + 25131 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 25132 /* "frame specificat..." */ + zErr = ts + 25147 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+25152 /* "cannot override ..." */, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase)) + ts+25167 /* "cannot override ..." */, 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 { @@ -138848,7 +139356,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+25185 /* "DISTINCT is not ..." */, 0) + ts+25200 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -138999,7 +139507,7 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regZero) if eCond >= WINDOW_STARTING_NUM { var regString int32 = Xsqlite3GetTempReg(tls, pParse) - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+889 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+904 /* "" */, -1) Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), reg) Xsqlite3VdbeChangeP5(tls, v, (uint16(SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL))) @@ -139021,11 +139529,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 25232, /* "frame starting o..." */ - ts + 25285, /* "frame ending off..." */ - ts + 24715, /* "second argument ..." */ - ts + 25336, /* "frame starting o..." */ - ts + 25388, /* "frame ending off..." */ + ts + 25247, /* "frame starting o..." */ + ts + 25300, /* "frame ending off..." */ + ts + 24730, /* "second argument ..." */ + ts + 25351, /* "frame starting o..." */ + ts + 25403, /* "frame ending off..." */ } /* sqlite3.c:156372:21 */ var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:156379:14 */ @@ -139627,7 +140135,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // the add/subtract is skipped for these, as required. If reg1 is a NULL, // then the arithmetic is performed, but since adding or subtracting from // NULL is always NULL anyway, this case is handled as required too. - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+889 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+904 /* "" */, -1) addrGe = Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, 0, reg1) if ((op == OP_Ge) && (arith == OP_Add)) || ((op == OP_Le) && (arith == OP_Subtract)) { @@ -140344,7 +140852,7 @@ func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uin Xsqlite3VdbeAddOp3(tls, v, OP_Jump, (addr + 2), (addr + 4), (addr + 2)) addrGosubFlush = Xsqlite3VdbeAddOp1(tls, v, OP_Gosub, regFlushPart) - Xsqlite3VdbeComment(tls, v, ts+25438 /* "call flush_parti..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+25453 /* "call flush_parti..." */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_Copy, regNewPart, (*Window)(unsafe.Pointer(pMWin)).FregPart, (nPart - 1)) } @@ -140642,19 +141150,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit } cnt++ if ((*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0) || ((*Select)(unsafe.Pointer(pLoop)).FpLimit != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+25459, /* "%s clause should..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+25474, /* "%s clause should..." */ libc.VaList(bp, func() uintptr { if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - return ts + 22226 /* "ORDER BY" */ + return ts + 22241 /* "ORDER BY" */ } - return ts + 25501 /* "LIMIT" */ + return ts + 25516 /* "LIMIT" */ }(), 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 + 128 /* &.aLimit */) + 4*4)))) > 0)) && (cnt > mxSelect) { - Xsqlite3ErrorMsg(tls, pParse, ts+25507 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25522 /* "too many terms i..." */, 0) } } @@ -140734,7 +141242,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+25541, /* "syntax error aft..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+25556, /* "syntax error aft..." */ libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz)) } Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1) @@ -141961,7 +142469,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+25579 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25594 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -142940,11 +143448,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(22): /* table_options ::= WITHOUT nm */ { - if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+10271 /* "rowid" */, 5) == 0) { + if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+10286 /* "rowid" */, 5) == 0) { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = (TF_WithoutRowid | TF_NoVisibleRowid) } else { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = 0 - Xsqlite3ErrorMsg(tls, pParse, ts+25601 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) + Xsqlite3ErrorMsg(tls, pParse, ts+25616 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) } } break @@ -143679,7 +144187,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in case uint32(155): /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ { Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */)) - Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+25628 /* "set list" */) + Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+25643 /* "set list" */) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = Xsqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))) Xsqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */)), uintptr(0), uintptr(0), uintptr(0)) } @@ -143832,7 +144340,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(bp + 96 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+25637 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+25652 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) @@ -144036,9 +144544,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 /* &.minor */))) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, func() uintptr { if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)) != 0 { - return ts + 10108 /* "1" */ + return ts + 10123 /* "1" */ } - return ts + 9588 /* "0" */ + return ts + 9603 /* "0" */ }()) } else if ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)))).FnExpr == 1) && (Xsqlite3ExprIsConstant(tls, (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))+8 /* &.a */))).FpExpr) != 0) { var pRHS uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) + 8 /* &.a */))).FpExpr @@ -144313,21 +144821,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) Xsqlite3ErrorMsg(tls, pParse, - ts+25661 /* "qualified table ..." */, 0) + ts+25676 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+25756 /* "the INDEXED BY c..." */, 0) + ts+25771 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+25840 /* "the NOT INDEXED ..." */, 0) + ts+25855 /* "the NOT INDEXED ..." */, 0) } break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ @@ -144776,9 +145284,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To _ = yymajor // Silence some compiler warnings if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+25637 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) + Xsqlite3ErrorMsg(tls, pParse, ts+25652 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+25925 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25940 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -145985,7 +146493,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+25942 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+25957 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -146005,12 +146513,12 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+925 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+940 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg - Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+25969, /* "%s in \"%s\"" */ + Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+25984, /* "%s in \"%s\"" */ libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ @@ -146222,7 +146730,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+25980 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+25995 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -146235,11 +146743,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+22346 /* "trigger" */, 7) == 0) { + if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+22361 /* "trigger" */, 7) == 0) { token = U8(TkTRIGGER) - } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+25987 /* "temp" */, 4) == 0) { + } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+26002 /* "temp" */, 4) == 0) { token = U8(TkTEMP) - } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+25992 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+26007 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -146252,9 +146760,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+26002 /* "end" */, 3) == 0) { + if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+26017 /* "end" */, 3) == 0) { token = U8(TkEND) - } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+26006 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+26021 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -147287,7 +147795,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // SQLITE_BUSY if the connection can not be closed immediately. if !(forceZombie != 0) && (connectionIsBusy(tls, db) != 0) { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+26014 /* "unable to close ..." */, 0) + ts+26029 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -147520,259 +148028,259 @@ __1: { switch rc { case SQLITE_OK: - zName = ts + 26082 /* "SQLITE_OK" */ + zName = ts + 26097 /* "SQLITE_OK" */ break case SQLITE_ERROR: - zName = ts + 26092 /* "SQLITE_ERROR" */ + zName = ts + 26107 /* "SQLITE_ERROR" */ break case (SQLITE_ERROR | (int32(3) << 8)): - zName = ts + 26105 /* "SQLITE_ERROR_SNA..." */ + zName = ts + 26120 /* "SQLITE_ERROR_SNA..." */ break case SQLITE_INTERNAL: - zName = ts + 26127 /* "SQLITE_INTERNAL" */ + zName = ts + 26142 /* "SQLITE_INTERNAL" */ break case SQLITE_PERM: - zName = ts + 26143 /* "SQLITE_PERM" */ + zName = ts + 26158 /* "SQLITE_PERM" */ break case SQLITE_ABORT: - zName = ts + 26155 /* "SQLITE_ABORT" */ + zName = ts + 26170 /* "SQLITE_ABORT" */ break case (SQLITE_ABORT | (int32(2) << 8)): - zName = ts + 26168 /* "SQLITE_ABORT_ROL..." */ + zName = ts + 26183 /* "SQLITE_ABORT_ROL..." */ break case SQLITE_BUSY: - zName = ts + 26190 /* "SQLITE_BUSY" */ + zName = ts + 26205 /* "SQLITE_BUSY" */ break case (SQLITE_BUSY | (int32(1) << 8)): - zName = ts + 26202 /* "SQLITE_BUSY_RECO..." */ + zName = ts + 26217 /* "SQLITE_BUSY_RECO..." */ break case (SQLITE_BUSY | (int32(2) << 8)): - zName = ts + 26223 /* "SQLITE_BUSY_SNAP..." */ + zName = ts + 26238 /* "SQLITE_BUSY_SNAP..." */ break case SQLITE_LOCKED: - zName = ts + 26244 /* "SQLITE_LOCKED" */ + zName = ts + 26259 /* "SQLITE_LOCKED" */ break case (SQLITE_LOCKED | (int32(1) << 8)): - zName = ts + 26258 /* "SQLITE_LOCKED_SH..." */ + zName = ts + 26273 /* "SQLITE_LOCKED_SH..." */ break case SQLITE_NOMEM: - zName = ts + 26284 /* "SQLITE_NOMEM" */ + zName = ts + 26299 /* "SQLITE_NOMEM" */ break case SQLITE_READONLY: - zName = ts + 26297 /* "SQLITE_READONLY" */ + zName = ts + 26312 /* "SQLITE_READONLY" */ break case (SQLITE_READONLY | (int32(1) << 8)): - zName = ts + 26313 /* "SQLITE_READONLY_..." */ + zName = ts + 26328 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(5) << 8)): - zName = ts + 26338 /* "SQLITE_READONLY_..." */ + zName = ts + 26353 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(3) << 8)): - zName = ts + 26363 /* "SQLITE_READONLY_..." */ + zName = ts + 26378 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(4) << 8)): - zName = ts + 26388 /* "SQLITE_READONLY_..." */ + zName = ts + 26403 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(6) << 8)): - zName = ts + 26412 /* "SQLITE_READONLY_..." */ + zName = ts + 26427 /* "SQLITE_READONLY_..." */ break case SQLITE_INTERRUPT: - zName = ts + 26438 /* "SQLITE_INTERRUPT" */ + zName = ts + 26453 /* "SQLITE_INTERRUPT" */ break case SQLITE_IOERR: - zName = ts + 26455 /* "SQLITE_IOERR" */ + zName = ts + 26470 /* "SQLITE_IOERR" */ break case (SQLITE_IOERR | (int32(1) << 8)): - zName = ts + 26468 /* "SQLITE_IOERR_REA..." */ + zName = ts + 26483 /* "SQLITE_IOERR_REA..." */ break case (SQLITE_IOERR | (int32(2) << 8)): - zName = ts + 26486 /* "SQLITE_IOERR_SHO..." */ + zName = ts + 26501 /* "SQLITE_IOERR_SHO..." */ break case (SQLITE_IOERR | (int32(3) << 8)): - zName = ts + 26510 /* "SQLITE_IOERR_WRI..." */ + zName = ts + 26525 /* "SQLITE_IOERR_WRI..." */ break case (SQLITE_IOERR | (int32(4) << 8)): - zName = ts + 26529 /* "SQLITE_IOERR_FSY..." */ + zName = ts + 26544 /* "SQLITE_IOERR_FSY..." */ break case (SQLITE_IOERR | (int32(5) << 8)): - zName = ts + 26548 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 26563 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(6) << 8)): - zName = ts + 26571 /* "SQLITE_IOERR_TRU..." */ + zName = ts + 26586 /* "SQLITE_IOERR_TRU..." */ break case (SQLITE_IOERR | (int32(7) << 8)): - zName = ts + 26593 /* "SQLITE_IOERR_FST..." */ + zName = ts + 26608 /* "SQLITE_IOERR_FST..." */ break case (SQLITE_IOERR | (int32(8) << 8)): - zName = ts + 26612 /* "SQLITE_IOERR_UNL..." */ + zName = ts + 26627 /* "SQLITE_IOERR_UNL..." */ break case (SQLITE_IOERR | (int32(9) << 8)): - zName = ts + 26632 /* "SQLITE_IOERR_RDL..." */ + zName = ts + 26647 /* "SQLITE_IOERR_RDL..." */ break case (SQLITE_IOERR | (int32(10) << 8)): - zName = ts + 26652 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 26667 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(12) << 8)): - zName = ts + 26672 /* "SQLITE_IOERR_NOM..." */ + zName = ts + 26687 /* "SQLITE_IOERR_NOM..." */ break case (SQLITE_IOERR | (int32(13) << 8)): - zName = ts + 26691 /* "SQLITE_IOERR_ACC..." */ + zName = ts + 26706 /* "SQLITE_IOERR_ACC..." */ break case (SQLITE_IOERR | (int32(14) << 8)): - zName = ts + 26711 /* "SQLITE_IOERR_CHE..." */ + zName = ts + 26726 /* "SQLITE_IOERR_CHE..." */ break case (SQLITE_IOERR | (int32(15) << 8)): - zName = ts + 26742 /* "SQLITE_IOERR_LOC..." */ + zName = ts + 26757 /* "SQLITE_IOERR_LOC..." */ break case (SQLITE_IOERR | (int32(16) << 8)): - zName = ts + 26760 /* "SQLITE_IOERR_CLO..." */ + zName = ts + 26775 /* "SQLITE_IOERR_CLO..." */ break case (SQLITE_IOERR | (int32(17) << 8)): - zName = ts + 26779 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 26794 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(18) << 8)): - zName = ts + 26802 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26817 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(19) << 8)): - zName = ts + 26823 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26838 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(20) << 8)): - zName = ts + 26844 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26859 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(21) << 8)): - zName = ts + 26865 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26880 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(22) << 8)): - zName = ts + 26885 /* "SQLITE_IOERR_SEE..." */ + zName = ts + 26900 /* "SQLITE_IOERR_SEE..." */ break case (SQLITE_IOERR | (int32(23) << 8)): - zName = ts + 26903 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 26918 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(24) << 8)): - zName = ts + 26929 /* "SQLITE_IOERR_MMA..." */ + zName = ts + 26944 /* "SQLITE_IOERR_MMA..." */ break case (SQLITE_IOERR | (int32(25) << 8)): - zName = ts + 26947 /* "SQLITE_IOERR_GET..." */ + zName = ts + 26962 /* "SQLITE_IOERR_GET..." */ break case (SQLITE_IOERR | (int32(26) << 8)): - zName = ts + 26972 /* "SQLITE_IOERR_CON..." */ + zName = ts + 26987 /* "SQLITE_IOERR_CON..." */ break case SQLITE_CORRUPT: - zName = ts + 26994 /* "SQLITE_CORRUPT" */ + zName = ts + 27009 /* "SQLITE_CORRUPT" */ break case (SQLITE_CORRUPT | (int32(1) << 8)): - zName = ts + 27009 /* "SQLITE_CORRUPT_V..." */ + zName = ts + 27024 /* "SQLITE_CORRUPT_V..." */ break case SQLITE_NOTFOUND: - zName = ts + 27029 /* "SQLITE_NOTFOUND" */ + zName = ts + 27044 /* "SQLITE_NOTFOUND" */ break case SQLITE_FULL: - zName = ts + 27045 /* "SQLITE_FULL" */ + zName = ts + 27060 /* "SQLITE_FULL" */ break case SQLITE_CANTOPEN: - zName = ts + 27057 /* "SQLITE_CANTOPEN" */ + zName = ts + 27072 /* "SQLITE_CANTOPEN" */ break case (SQLITE_CANTOPEN | (int32(1) << 8)): - zName = ts + 27073 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27088 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(2) << 8)): - zName = ts + 27099 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27114 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(3) << 8)): - zName = ts + 27121 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27136 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(4) << 8)): - zName = ts + 27146 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27161 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(6) << 8)): - zName = ts + 27171 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27186 /* "SQLITE_CANTOPEN_..." */ break case SQLITE_PROTOCOL: - zName = ts + 27195 /* "SQLITE_PROTOCOL" */ + zName = ts + 27210 /* "SQLITE_PROTOCOL" */ break case SQLITE_EMPTY: - zName = ts + 27211 /* "SQLITE_EMPTY" */ + zName = ts + 27226 /* "SQLITE_EMPTY" */ break case SQLITE_SCHEMA: - zName = ts + 27224 /* "SQLITE_SCHEMA" */ + zName = ts + 27239 /* "SQLITE_SCHEMA" */ break case SQLITE_TOOBIG: - zName = ts + 27238 /* "SQLITE_TOOBIG" */ + zName = ts + 27253 /* "SQLITE_TOOBIG" */ break case SQLITE_CONSTRAINT: - zName = ts + 27252 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27267 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(8) << 8)): - zName = ts + 27270 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27285 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(7) << 8)): - zName = ts + 27295 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27310 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(3) << 8)): - zName = ts + 27321 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27336 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(1) << 8)): - zName = ts + 27350 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27365 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(6) << 8)): - zName = ts + 27374 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27389 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(5) << 8)): - zName = ts + 27403 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27418 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(2) << 8)): - zName = ts + 27429 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27444 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(9) << 8)): - zName = ts + 27458 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27473 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(4) << 8)): - zName = ts + 27481 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27496 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(10) << 8)): - zName = ts + 27508 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27523 /* "SQLITE_CONSTRAIN..." */ break case SQLITE_MISMATCH: - zName = ts + 27532 /* "SQLITE_MISMATCH" */ + zName = ts + 27547 /* "SQLITE_MISMATCH" */ break case SQLITE_MISUSE: - zName = ts + 27548 /* "SQLITE_MISUSE" */ + zName = ts + 27563 /* "SQLITE_MISUSE" */ break case SQLITE_NOLFS: - zName = ts + 27562 /* "SQLITE_NOLFS" */ + zName = ts + 27577 /* "SQLITE_NOLFS" */ break case SQLITE_AUTH: - zName = ts + 27575 /* "SQLITE_AUTH" */ + zName = ts + 27590 /* "SQLITE_AUTH" */ break case SQLITE_FORMAT: - zName = ts + 27587 /* "SQLITE_FORMAT" */ + zName = ts + 27602 /* "SQLITE_FORMAT" */ break case SQLITE_RANGE: - zName = ts + 27601 /* "SQLITE_RANGE" */ + zName = ts + 27616 /* "SQLITE_RANGE" */ break case SQLITE_NOTADB: - zName = ts + 27614 /* "SQLITE_NOTADB" */ + zName = ts + 27629 /* "SQLITE_NOTADB" */ break case SQLITE_ROW: - zName = ts + 27628 /* "SQLITE_ROW" */ + zName = ts + 27643 /* "SQLITE_ROW" */ break case SQLITE_NOTICE: - zName = ts + 27639 /* "SQLITE_NOTICE" */ + zName = ts + 27654 /* "SQLITE_NOTICE" */ break case (SQLITE_NOTICE | (int32(1) << 8)): - zName = ts + 27653 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 27668 /* "SQLITE_NOTICE_RE..." */ break case (SQLITE_NOTICE | (int32(2) << 8)): - zName = ts + 27679 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 27694 /* "SQLITE_NOTICE_RE..." */ break case SQLITE_WARNING: - zName = ts + 27710 /* "SQLITE_WARNING" */ + zName = ts + 27725 /* "SQLITE_WARNING" */ break case (SQLITE_WARNING | (int32(1) << 8)): - zName = ts + 27725 /* "SQLITE_WARNING_A..." */ + zName = ts + 27740 /* "SQLITE_WARNING_A..." */ break case SQLITE_DONE: - zName = ts + 27750 /* "SQLITE_DONE" */ + zName = ts + 27765 /* "SQLITE_DONE" */ break } @@ -147786,7 +148294,7 @@ __2: __3: ; if zName == uintptr(0) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof(zBuf)), uintptr(unsafe.Pointer(&zBuf)), ts+27762 /* "SQLITE_UNKNOWN(%..." */, libc.VaList(bp, origRc)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof(zBuf)), uintptr(unsafe.Pointer(&zBuf)), ts+27777 /* "SQLITE_UNKNOWN(%..." */, libc.VaList(bp, origRc)) zName = uintptr(unsafe.Pointer(&zBuf)) } return zName @@ -147797,23 +148305,23 @@ var zBuf [50]int8 /* sqlite3.c:166643:17: */ // Return a static string that describes the kind of error specified in the // argument. func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: */ - var zErr uintptr = ts + 27781 /* "unknown error" */ + var zErr uintptr = ts + 27796 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 27795 /* "abort due to ROL..." */ + zErr = ts + 27810 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 27817 /* "another row avai..." */ + zErr = ts + 27832 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 27839 /* "no more rows ava..." */ + zErr = ts + 27854 /* "no more rows ava..." */ break } @@ -147831,35 +148339,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 27862, /* "not an error" */ - /* SQLITE_ERROR */ ts + 27875, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 27877, /* "not an error" */ + /* SQLITE_ERROR */ ts + 27890, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 27891, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 27916, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 27930, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 27949, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 7973, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 27974, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 28011, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 28023, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 28038, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 28071, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 28089, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 28114, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 28143, /* "locking protocol" */ + /* SQLITE_PERM */ ts + 27906, /* "access permissio..." */ + /* SQLITE_ABORT */ ts + 27931, /* "query aborted" */ + /* SQLITE_BUSY */ ts + 27945, /* "database is lock..." */ + /* SQLITE_LOCKED */ ts + 27964, /* "database table i..." */ + /* SQLITE_NOMEM */ ts + 7988, /* "out of memory" */ + /* SQLITE_READONLY */ ts + 27989, /* "attempt to write..." */ + /* SQLITE_INTERRUPT */ ts + 28026, /* "interrupted" */ + /* SQLITE_IOERR */ ts + 28038, /* "disk I/O error" */ + /* SQLITE_CORRUPT */ ts + 28053, /* "database disk im..." */ + /* SQLITE_NOTFOUND */ ts + 28086, /* "unknown operatio..." */ + /* SQLITE_FULL */ ts + 28104, /* "database or disk..." */ + /* SQLITE_CANTOPEN */ ts + 28129, /* "unable to open d..." */ + /* SQLITE_PROTOCOL */ ts + 28158, /* "locking protocol" */ /* SQLITE_EMPTY */ uintptr(0), - /* SQLITE_SCHEMA */ ts + 7703, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 7240, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 28160, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 28178, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 28196, /* "bad parameter or..." */ + /* SQLITE_SCHEMA */ ts + 7718, /* "database schema ..." */ + /* SQLITE_TOOBIG */ ts + 7255, /* "string or blob t..." */ + /* SQLITE_CONSTRAINT */ ts + 28175, /* "constraint faile..." */ + /* SQLITE_MISMATCH */ ts + 28193, /* "datatype mismatc..." */ + /* SQLITE_MISUSE */ ts + 28211, /* "bad parameter or..." */ /* SQLITE_NOLFS */ uintptr(0), - /* SQLITE_AUTH */ ts + 28230, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 28245, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 28251, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 28277, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 28300, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 28321, /* "warning message" */ + /* SQLITE_RANGE */ ts + 28266, /* "column index out..." */ + /* SQLITE_NOTADB */ ts + 28292, /* "file is not a da..." */ + /* SQLITE_NOTICE */ ts + 28315, /* "notification mes..." */ + /* SQLITE_WARNING */ ts + 28336, /* "warning message" */ } /* sqlite3.c:166656:20 */ // This routine implements a busy callback that sleeps and tries @@ -148024,7 +148532,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+28337 /* "unable to delete..." */, 0) + ts+28352 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -148157,7 +148665,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+28400 /* "unable to use fu..." */, libc.VaList(bp, zName)) + ts+28415 /* "unable to use fu..." */, libc.VaList(bp, zName)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } @@ -148379,7 +148887,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+28451 /* "unknown database..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+28466 /* "unknown database..." */, libc.VaList(bp, zDb)) } else { (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -148598,7 +149106,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint if (pColl != 0) && ((*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0) { if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+28472 /* "unable to delete..." */, 0) + ts+28487 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -148741,7 +149249,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u if !(((((flags & uint32(SQLITE_OPEN_URI)) != 0) || // IMP: R-48725-32206 (Xsqlite3Config.FbOpenUri != 0)) && // IMP: R-51689-46548 - (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+28540 /* "file:" */, uint64(5)) == 0)) { + (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+28555 /* "file:" */, uint64(5)) == 0)) { goto __1 } // Input character index iOut = 0 // Output character index @@ -148789,10 +149297,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+28546 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { + if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+28561 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28556, /* "invalid uri auth..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28571, /* "invalid uri auth..." */ libc.VaList(bp, (iIn-7), (zUri+7))) rc = SQLITE_ERROR goto parse_uri_out @@ -148914,7 +149422,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+28584 /* "vfs" */, zOpt, uint64(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+28599 /* "vfs" */, zOpt, uint64(3)) == 0)) { goto __29 } zVfs = zVal @@ -148925,17 +149433,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+28588 /* "cache" */, zOpt, uint64(5)) == 0)) { + if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+28603 /* "cache" */, zOpt, uint64(5)) == 0)) { goto __31 } mask = (SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&aCacheMode)) limit = mask - zModeType = ts + 28588 /* "cache" */ + zModeType = ts + 28603 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+28594 /* "mode" */, zOpt, uint64(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+28609 /* "mode" */, zOpt, uint64(4)) == 0)) { goto __32 } @@ -148943,7 +149451,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 4628 /* "access" */ + zModeType = ts + 4643 /* "access" */ __32: ; @@ -148974,7 +149482,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28599 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28614 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -148982,7 +149490,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28619, /* "%s mode not allo..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28634, /* "%s mode not allo..." */ libc.VaList(bp+32, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out @@ -149025,7 +149533,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28643 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28658 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) rc = SQLITE_ERROR __42: ; @@ -149049,15 +149557,15 @@ type OpenMode = struct { } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 19884 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 28659 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, + {Fz: ts + 19899 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, + {Fz: ts + 28674 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, } /* sqlite3.c:168073:34 */ var aOpenMode = [5]OpenMode{ - {Fz: ts + 28667 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 28670 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 28673 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 19267 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, + {Fz: ts + 28682 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, + {Fz: ts + 28685 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, + {Fz: ts + 28688 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, + {Fz: ts + 19282 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, {}, } /* sqlite3.c:168085:34 */ @@ -149239,10 +149747,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+24489 /* "NOCASE" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+24504 /* "NOCASE" */, 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+28677 /* "RTRIM" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+28692 /* "RTRIM" */, 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) { @@ -149288,7 +149796,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 925 /* "%s" */ + return ts + 940 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -149326,9 +149834,9 @@ __22: // The default safety_level for the main database is FULL; for the temp // database it is OFF. This matches the pager layer defaults. - (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 8540 /* "main" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 8555 /* "main" */ (*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 + 25987 /* "temp" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 26002 /* "temp" */ (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF) (*Sqlite3)(unsafe.Pointer(db)).Fmagic = SQLITE_MAGIC_OPEN @@ -149446,7 +149954,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 28683 /* "\x00\x00" */ + zFilename = ts + 28698 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -149549,24 +150057,24 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) bp := tls.Alloc(24) defer tls.Free(24) - Xsqlite3_log(tls, iErr, ts+28686, /* "%s at line %d of..." */ + Xsqlite3_log(tls, iErr, ts+28701, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) return iErr } func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168711:20: */ - return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+28711 /* "database corrupt..." */) + return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+28726 /* "database corrupt..." */) } func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168715:20: */ - return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+28731 /* "misuse" */) + return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+28746 /* "misuse" */) } func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168719:20: */ - return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+28738 /* "cannot open file" */) + return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+28753 /* "cannot open file" */) } // This is a convenience routine that makes sure that all thread-specific @@ -149693,7 +150201,7 @@ __4: autoinc = (libc.Bool32((int32((*Table)(unsafe.Pointer(pTab)).FiPKey) == iCol) && (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != U32(0)))) goto __13 __12: - zDataType = ts + 14676 /* "INTEGER" */ + zDataType = ts + 14691 /* "INTEGER" */ primarykey = 1 __13: ; @@ -149745,14 +150253,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+28755 /* "no such table co..." */, libc.VaList(bp, zTableName, + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+28770 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 925 /* "%s" */ + return ts + 940 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -150551,7 +151059,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+28783 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+28798 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -150712,7 +151220,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 + 28791 /* "database is dead..." */ + return ts + 28806 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -151512,7 +152020,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 8050 /* "null" */, ts + 8852 /* "true" */, ts + 8857 /* "false" */, ts + 8060 /* "integer" */, ts + 8055 /* "real" */, ts + 16800 /* "text" */, ts + 28814 /* "array" */, ts + 28820, /* "object" */ + ts + 8065 /* "null" */, ts + 8867 /* "true" */, ts + 8872 /* "false" */, ts + 8075 /* "integer" */, ts + 8070 /* "real" */, ts + 16815 /* "text" */, ts + 28829 /* "array" */, ts + 28835, /* "object" */ } /* sqlite3.c:189771:19 */ // Maximum nesting depth of JSON for this implementation. @@ -151692,7 +152200,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 + 28827 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 28842 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -151720,7 +152228,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { - jsonAppendRaw(tls, p, ts+8050 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+8065 /* "null" */, uint32(4)) break } @@ -151749,7 +152257,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 default: { if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { - Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+28844 /* "JSON cannot hold..." */, -1) + Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+28859 /* "JSON cannot hold..." */, -1) (*JsonString)(unsafe.Pointer(p)).FbErr = U8(2) jsonReset(tls, p) } @@ -151826,19 +152334,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+8050 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+8065 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+8852 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+8867 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+8857 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+8872 /* "false" */, uint32(5)) break } @@ -152404,17 +152912,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } return (int32(j + U32(1))) } else if ((int32(c) == 'n') && - (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8050 /* "null" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8065 /* "null" */, uint64(4)) == 0)) && !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { 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+8852 /* "true" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8867 /* "true" */, 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+8857 /* "false" */, uint64(5)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8872 /* "false" */, 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))) @@ -152522,7 +153030,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+28873 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+28888 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -152842,7 +153350,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+28888 /* "[0]" */, uint64(3)) == 0 { + } else if libc.Xstrncmp(tls, zPath, ts+28903 /* "[0]" */, uint64(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) } else { return uintptr(0) @@ -152859,7 +153367,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190 bp := tls.Alloc(8) defer tls.Free(8) - return Xsqlite3_mprintf(tls, ts+28892 /* "JSON path error ..." */, libc.VaList(bp, zErr)) + return Xsqlite3_mprintf(tls, ts+28907 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } // Do a node lookup using zPath. Return a pointer to the node on success. @@ -152926,7 +153434,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit bp := tls.Alloc(8) defer tls.Free(8) - var zMsg uintptr = Xsqlite3_mprintf(tls, ts+28918, /* "json_%s() needs ..." */ + var zMsg uintptr = Xsqlite3_mprintf(tls, ts+28933, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -153070,7 +153578,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* if pNode != 0 { jsonRenderNode(tls, pNode, bp /* &jx */, uintptr(0)) } else { - jsonAppendRaw(tls, bp /* &jx */, ts+8050 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+8065 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -153198,14 +153706,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+28961 /* "json_object() re..." */, -1) + ts+28976 /* "json_object() re..." */, -1) return } jsonInit(tls, bp /* &jx */, ctx) jsonAppendChar(tls, bp /* &jx */, 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+29012 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+29027 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -153313,7 +153821,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+17311 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+17326 /* "replace" */) return __2: ; @@ -153399,9 +153907,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 29046 /* "set" */ + return ts + 29061 /* "set" */ } - return ts + 29050 /* "insert" */ + return ts + 29065 /* "insert" */ }()) return __2: @@ -153549,7 +154057,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+29057 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+29072 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -153654,7 +154162,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+29060 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+29075 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -153707,7 +154215,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+29063 /* "CREATE TABLE x(k..." */) + ts+29078 /* "CREATE TABLE x(k..." */) if rc == SQLITE_OK { pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{})))) if pNew == uintptr(0) { @@ -153845,14 +154353,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql 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+29146 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) + jsonPrintf(tls, 30, pStr, ts+29161 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) } else { if (int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags) & JNODE_LABEL) == 0 { pNode -= 16 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+29151 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+29166 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } @@ -153945,9 +154453,9 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* jsonAppendChar(tls, bp+24 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+24 /* &x */, ts+29146 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+24 /* &x */, ts+29161 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+29151 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+29166 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } jsonResult(tls, bp+24 /* &x */) @@ -153971,7 +154479,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 + 29157 /* "$" */ + zRoot = ts + 29172 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -154103,7 +154611,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+28873 /* "malformed JSON" */, 0) + (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+28888 /* "malformed JSON" */, 0) if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { rc = SQLITE_ERROR } @@ -154244,21 +154752,21 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 29159 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29164 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29175 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29175 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29193 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29206 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29218 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29230 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29241 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29252 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29264 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29277 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 29286 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29286 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29296 /* "json_valid" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29174 /* "json" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29179 /* "json_array" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29190 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29190 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 29208 /* "json_extract" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29221 /* "json_insert" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29233 /* "json_object" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29245 /* "json_patch" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 29256 /* "json_quote" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29267 /* "json_remove" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29279 /* "json_replace" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29292 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, + {FzName: ts + 29301 /* "json_type" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29301 /* "json_type" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 29311 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { FzName uintptr @@ -154268,17 +154776,17 @@ var aAgg = [2]struct { FxFinal uintptr FxValue uintptr }{ - {FzName: ts + 29307 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 29322 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 29324 /* "json_group_objec..." */, FnArg: 2, + {FzName: ts + 29339 /* "json_group_objec..." */, FnArg: 2, FxStep: 0, FxFinal: 0, FxValue: 0}, } /* sqlite3.c:192211:5 */ var aMod = [2]struct { FzName uintptr FpModule uintptr }{ - {FzName: ts + 29342 /* "json_each" */, FpModule: 0}, - {FzName: ts + 29352 /* "json_tree" */, FpModule: 0}, + {FzName: ts + 29357 /* "json_each" */, FpModule: 0}, + {FzName: ts + 29367 /* "json_tree" */, FpModule: 0}, } /* sqlite3.c:192221:5 */ var enc int32 = ((SQLITE_UTF8 | SQLITE_DETERMINISTIC) | SQLITE_INNOCUOUS) /* sqlite3.c:192226:20 */ // In the SQLite core @@ -154628,11 +155136,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+29362 /* "%s_node" */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + var zTab uintptr = Xsqlite3_mprintf(tls, ts+29377 /* "%s_node" */, 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+29370 /* "data" */, iNode, 0, + rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+29385 /* "data" */, iNode, 0, (pRtree + 112 /* &.pNodeBlob */)) Xsqlite3_free(tls, zTab) } @@ -154877,7 +155385,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+29375, /* "DROP TABLE '%q'...." */ + ts+29390, /* "DROP TABLE '%q'...." */ 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)) @@ -155637,7 +156145,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information - pSrc = Xsqlite3_value_pointer(tls, pValue, ts+29457 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+29472 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -155901,7 +156409,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -157161,7 +157669,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+29471 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, ts+29486 /* "SELECT * FROM %Q..." */, 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 /* &pStmt */, uintptr(0)) } else { @@ -157173,12 +157681,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 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+29491 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+29506 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), iCol) var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+29523 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+29538 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } @@ -157446,7 +157954,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+29560 /* "ALTER TABLE %Q.'..." */, 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+29575 /* "ALTER TABLE %Q.'..." */, 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)) @@ -157484,7 +157992,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(24) defer tls.Free(24) - var zFmt uintptr = ts + 29705 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 29720 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+16, 8 @@ -157492,7 +158000,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit var nRow I64 = int64(0) rc = Xsqlite3_table_column_metadata(tls, - db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+13320 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+13335 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == SQLITE_ERROR { @@ -157545,7 +158053,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 29761 /* "node" */, ts + 6966 /* "parent" */, ts + 10271, /* "rowid" */ + ts + 29776 /* "node" */, ts + 6981 /* "parent" */, ts + 10286, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -157589,19 +158097,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+29766, /* "CREATE TABLE \"%w..." */ + ts+29781, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+29828 /* ",a%d" */, libc.VaList(bp+16, ii)) + Xsqlite3_str_appendf(tls, p, ts+29843 /* ",a%d" */, libc.VaList(bp+16, ii)) } Xsqlite3_str_appendf(tls, p, - ts+29833, /* ");CREATE TABLE \"..." */ + ts+29848, /* ");CREATE TABLE \"..." */ libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+29897, /* "CREATE TABLE \"%w..." */ + ts+29912, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+29967, /* "INSERT INTO \"%w\"..." */ + ts+29982, /* "INSERT INTO \"%w\"..." */ libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { @@ -157632,7 +158140,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } else { // An UPSERT is very slightly slower than REPLACE, but it is needed // if there are auxiliary columns - zFormat = ts + 30016 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 30031 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { @@ -157644,7 +158152,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+30124, /* "SELECT * FROM \"%..." */ + ts+30139, /* "SELECT * FROM \"%..." */ libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -157652,18 +158160,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+30169 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+112, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+30184 /* "UPDATE \"%w\".\"%w_..." */, 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+14829 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+14844 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+30196 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+30211 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+30218 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+30233 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) } } - Xsqlite3_str_appendf(tls, p, ts+30226 /* " WHERE rowid=?1" */, 0) + Xsqlite3_str_appendf(tls, p, ts+30241 /* " WHERE rowid=?1" */, 0) zSql = Xsqlite3_str_finish(tls, p) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -157679,18 +158187,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 30242, /* "INSERT OR REPLAC..." */ - ts + 30295, /* "DELETE FROM '%q'..." */ + ts + 30257, /* "INSERT OR REPLAC..." */ + ts + 30310, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 30340, /* "SELECT nodeno FR..." */ - ts + 30392, /* "INSERT OR REPLAC..." */ - ts + 30446, /* "DELETE FROM '%q'..." */ + ts + 30355, /* "SELECT nodeno FR..." */ + ts + 30407, /* "INSERT OR REPLAC..." */ + ts + 30461, /* "DELETE FROM '%q'..." */ // Read and write the xxx_parent table - ts + 30491, /* "SELECT parentnod..." */ - ts + 30549, /* "INSERT OR REPLAC..." */ - ts + 30604, /* "DELETE FROM '%q'..." */ + ts + 30506, /* "SELECT parentnod..." */ + ts + 30564, /* "INSERT OR REPLAC..." */ + ts + 30619, /* "DELETE FROM '%q'..." */ } /* sqlite3.c:195763:21 */ // The second argument to this function contains the text of an SQL statement @@ -157737,7 +158245,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr var zSql uintptr if isCreate != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) = 0 - zSql = Xsqlite3_mprintf(tls, ts+30651 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, ts+30666 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) rc = getIntFromStmt(tls, db, zSql, bp+48 /* &iPageSize */) if rc == SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) - 64) @@ -157745,19 +158253,19 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, - ts+30671, /* "SELECT length(da..." */ + ts+30686, /* "SELECT length(da..." */ libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 32 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30728, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30743, /* "undersize RTree ..." */ libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -157808,17 +158316,17 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr ii = 4 *(*[5]uintptr)(unsafe.Pointer(bp + 96 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 - ts + 30763, /* "Wrong number of ..." */ // 1 - ts + 30806, /* "Too few columns ..." */ // 2 - ts + 30841, /* "Too many columns..." */ // 3 - ts + 30877, /* "Auxiliary rtree ..." */ // 4 + ts + 30778, /* "Wrong number of ..." */ // 1 + ts + 30821, /* "Too few columns ..." */ // 2 + ts + 30856, /* "Too many columns..." */ // 3 + ts + 30892, /* "Auxiliary rtree ..." */ // 4 } // Aux columns counted by a u8 if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) return SQLITE_ERROR __1: ; @@ -157848,7 +158356,7 @@ __2: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+30914, /* "CREATE TABLE x(%..." */ + Xsqlite3_str_appendf(tls, pSql, ts+30929, /* "CREATE TABLE x(%..." */ libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = 4 __3: @@ -157860,7 +158368,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+30938 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+30953 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -157883,7 +158391,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+30944 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+30959 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -157894,14 +158402,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -157944,7 +158452,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) goto rtreeInit_fail __22: ; @@ -157962,7 +158470,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -157982,7 +158490,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 30947 /* ",%.*s REAL" */, ts + 30958 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ +var azFormat = [2]uintptr{ts + 30962 /* ",%.*s REAL" */, ts + 30973 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -158037,13 +158545,13 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit nodeGetCell(tls, bp+56 /* &tree */, bp+16 /* &node */, ii, bp+1024 /* &cell */) if ii > 0 { - Xsqlite3_str_append(tls, pOut, ts+12900 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+12915 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+30968 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, ts+30983 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+30974 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+30989 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } - Xsqlite3_str_append(tls, pOut, ts+30978 /* "}" */, 1) + Xsqlite3_str_append(tls, pOut, ts+30993 /* "}" */, 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}))) @@ -158062,7 +158570,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli _ = 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+30980 /* "Invalid argument..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+30995 /* "Invalid argument..." */, -1) } else { var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -158151,12 +158659,12 @@ 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+31013, /* "%z%s%z" */ + (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+31028, /* "%z%s%z" */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - return ts + 5918 /* "\n" */ + return ts + 5933 /* "\n" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -158187,7 +158695,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+31020, /* "SELECT data FROM..." */ + ts+31035, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -158206,7 +158714,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+31065 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+31080 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -158230,8 +158738,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 /* azSql */)) = [2]uintptr{ - ts + 31097, /* "SELECT parentnod..." */ - ts + 31151, /* "SELECT nodeno FR..." */ + ts + 31112, /* "SELECT parentnod..." */ + ts + 31166, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) == uintptr(0) { @@ -158246,23 +158754,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+31199, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+31214, /* "Mapping (%lld ->..." */ libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 31244 /* "%_rowid" */ + return ts + 31259 /* "%_rowid" */ } - return ts + 31252 /* "%_parent" */ + return ts + 31267 /* "%_parent" */ }())) } else if rc == SQLITE_ROW { var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, - ts+31261, /* "Found (%lld -> %..." */ + ts+31276, /* "Found (%lld -> %..." */ libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 31244 /* "%_rowid" */ + return ts + 31259 /* "%_rowid" */ } - return ts + 31252 /* "%_parent" */ + return ts + 31267 /* "%_parent" */ }(), iKey, iVal)) } } @@ -158305,7 +158813,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, - ts+31319 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+31334 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -158325,7 +158833,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 60 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+31367 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) + ts+31382 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -158348,14 +158856,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr if aNode != 0 { if *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+31434 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) + ts+31449 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+31468 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+31483 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } @@ -158363,7 +158871,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 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, - ts+31498, /* "Node %lld is too..." */ + ts+31513, /* "Node %lld is too..." */ libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { for i = 0; i < nCell; i++ { @@ -158397,14 +158905,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+31553, /* "SELECT count(*) ..." */ + pCount = rtreeCheckPrepare(tls, pCheck, ts+31568, /* "SELECT count(*) ..." */ 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+31584 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) + ts+31599 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -158434,13 +158942,13 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+16499 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+16514 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+31651 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+31666 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) @@ -158449,12 +158957,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+29471 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+29486 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) if pStmt != 0 { var rc int32 (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+31679 /* "Schema corrupt o..." */, 0) + rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+31694 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } @@ -158469,8 +158977,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { rtreeCheckNode(tls, bp+32 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+32 /* &check */, ts+31710 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+32 /* &check */, ts+31717 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+31725 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+31732 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check @@ -158480,7 +158988,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // If one was opened, close the transaction if bEnd != 0 { - var rc int32 = Xsqlite3_exec(tls, db, ts+31725 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) + var rc int32 = Xsqlite3_exec(tls, db, ts+31740 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } @@ -158526,7 +159034,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+31729 /* "wrong number of ..." */, -1) + ts+31744 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -158534,7 +159042,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 8540 /* "main" */ + zDb = ts + 8555 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -158544,7 +159052,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if *(*uintptr)(unsafe.Pointer(bp /* zReport */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp /* zReport */)) } - return ts + 5202 /* "ok" */ + return ts + 5217 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -158981,11 +159489,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+31780 /* "[" */, 1) + Xsqlite3_str_append(tls, x, ts+31795 /* "[" */, 1) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { - Xsqlite3_str_appendf(tls, x, ts+31782 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) + Xsqlite3_str_appendf(tls, x, ts+31797 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+31793 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+31808 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 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) } @@ -159009,19 +159517,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+31804 /* "" */, 0) + Xsqlite3_str_appendf(tls, x, ts+31857 /* ">" */, 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) } @@ -160037,7 +160545,7 @@ __1: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+31855 /* "CREATE TABLE x(_..." */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+31870 /* "CREATE TABLE x(_..." */, 0) (*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1) // Add one for _shape (*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1) // The _shape column is always not-null ii = 3 @@ -160046,7 +160554,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+31877 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, ts+31892 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto __3 __3: ii++ @@ -160054,7 +160562,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+30944 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+30959 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -160065,7 +160573,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -160091,7 +160599,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -160324,7 +160832,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s if iRowidTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 10271 /* "rowid" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 10286 /* "rowid" */ (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).FargvIndex = 1 (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).Fomit = uint8(1) (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 30.0 @@ -160334,7 +160842,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } if iFuncTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31881 /* "rtree" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31896 /* "rtree" */ (*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 @@ -160342,7 +160850,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s return SQLITE_OK } (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31887 /* "fullscan" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31902 /* "fullscan" */ (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -160480,7 +160988,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+31896 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+31911 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -160625,14 +161133,14 @@ geopoly_update_end: // Report that geopoly_overlap() is an overloaded function suitable // for use in xBestIndex. func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:198361:12: */ - if Xsqlite3_stricmp(tls, zName, ts+31936 /* "geopoly_overlap" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+31951 /* "geopoly_overlap" */) == 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+31952 /* "geopoly_within" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+31967 /* "geopoly_within" */) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{geopolyWithinFunc})) @@ -160697,7 +161205,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 uintptr(0), aAgg1[i].FxStep, aAgg1[i].FxFinal) } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, ts+31967 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+31982 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -160709,25 +161217,25 @@ var aFunc1 = [12]struct { _ [6]byte FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 31975 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 31988 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32001 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 32014 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31952 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 32026 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31936 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 32049 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32063 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 32076 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 32090 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32106 /* "geopoly_ccw" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 31990 /* "geopoly_area" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32003 /* "geopoly_blob" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32016 /* "geopoly_json" */}, + {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 32029 /* "geopoly_svg" */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31967 /* "geopoly_within" */}, + {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 32041 /* "geopoly_contains..." */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31951 /* "geopoly_overlap" */}, + {FxFunc: 0, FnArg: int8(1), FzName: ts + 32064 /* "geopoly_debug" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32078 /* "geopoly_bbox" */}, + {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 32091 /* "geopoly_xform" */}, + {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 32105 /* "geopoly_regular" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32121 /* "geopoly_ccw" */}, } /* sqlite3.c:198416:5 */ var aAgg1 = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ - {FxStep: 0, FxFinal: 0, FzName: ts + 32118 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 32133 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -160740,26 +161248,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 var utf8 int32 = SQLITE_UTF8 var rc int32 - rc = Xsqlite3_create_function(tls, db, ts+32137 /* "rtreenode" */, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+32152 /* "rtreenode" */, 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+32147 /* "rtreedepth" */, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+32162 /* "rtreedepth" */, 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+32158 /* "rtreecheck" */, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+32173 /* "rtreecheck" */, -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+31881 /* "rtree" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+31896 /* "rtree" */, 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+32169 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+32184 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { rc = sqlite3_geopoly_init(tls, db) @@ -160831,7 +161339,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql Xsqlite3_result_error_nomem(tls, ctx) rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, ts+29457 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) + Xsqlite3_result_pointer(tls, ctx, pBlob, ts+29472 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) } } } @@ -162122,7 +162630,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // Figure out the size of the output nOut = rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, ts+32179 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+32194 /* "corrupt fossil d..." */, -1) return } @@ -162133,7 +162641,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+32179 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+32194 /* "corrupt fossil d..." */, -1) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -162154,7 +162662,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -162172,7 +162680,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -162276,7 +162784,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+32200 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + ts+32215 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if rc == SQLITE_OK { @@ -162360,7 +162868,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+29370 /* "data" */, zIn, uint64(4)) == 0) { + if (libc.Xstrlen(tls, zIn) > uint64(4)) && (libc.Xmemcmp(tls, ts+29385 /* "data" */, 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++ { } @@ -162388,17 +162896,17 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter /* &.pTblIter */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+32371 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { + ts+32386 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 32521 /* "AND rootpage!=0 ..." */ + return ts + 32536 /* "AND rootpage!=0 ..." */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 8 /* &.pIdxIter */), (p + 64 /* &.zErrmsg */), - ts+32562 /* "SELECT name, roo..." */) + ts+32577 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -162536,7 +163044,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: var rc int32 = Xsqlite3_finalize(tls, pStmt) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (rc != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) } } @@ -162599,7 +163107,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 /* &aStmt */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+32687 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) + ts+32702 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } @@ -162617,7 +163125,7 @@ __2: *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 1*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32768 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) + Xsqlite3_mprintf(tls, ts+32783 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -162635,7 +163143,7 @@ __4: } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 2*8), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+32789 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) + ts+32804 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } @@ -162659,7 +163167,7 @@ __5: ; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 3*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32840 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) + Xsqlite3_mprintf(tls, ts+32855 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } @@ -162708,7 +163216,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32861 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+32876 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 @@ -162723,7 +163231,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32889 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+32904 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)))) { var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)), 1) if iCid >= 0 { @@ -162773,7 +163281,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 72 /* &.eType */), bp+56 /* &iTnum */, (pIter + 108 /* &.iPkTnum */)) 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+21561 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+21576 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc @@ -162786,18 +163294,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // of the input table. Ignore any input table columns that begin with // "rbu_". (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32918 /* "SELECT * FROM '%..." */, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + Xsqlite3_mprintf(tls, ts+32933 /* "SELECT * FROM '%..." */, 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 /* pStmt */))) 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 /* pStmt */)), i) - if Xsqlite3_strnicmp(tls, ts+32937 /* "rbu_" */, zName, 4) != 0 { + if Xsqlite3_strnicmp(tls, ts+32952 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 56 /* &.rc */)) *(*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+32942 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+32957 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -162809,12 +163317,12 @@ 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+32952 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+32967 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { - return ts + 32981 /* "may not have" */ + return ts + 32996 /* "may not have" */ } - return ts + 32994 /* "requires" */ + return ts + 33009 /* "requires" */ }())) } @@ -162823,7 +163331,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+33003 /* "PRAGMA table_inf..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+33018 /* "PRAGMA table_inf..." */, 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 /* pStmt */)))) { var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 1) @@ -162837,7 +163345,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+33025, /* "column missing f..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33040, /* "column missing f..." */ libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 5) @@ -162883,12 +163391,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(24) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 889 /* "" */ + var zSep uintptr = ts + 904 /* "" */ 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+33052 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 16610 /* ", " */ + zList = rbuMPrintf(tls, p, ts+33067 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 16625 /* ", " */ } return zList } @@ -162903,13 +163411,13 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, var iPk int32 = 1 var zRet uintptr = uintptr(0) - var zSep uintptr = ts + 889 /* "" */ + var zSep uintptr = ts + 904 /* "" */ for 1 != 0 { var i int32 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+33061 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) + zRet = rbuMPrintf(tls, p, ts+33076 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -162948,25 +163456,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 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+33074 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + ts+33089 /* "SELECT max(_rowi..." */, 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 /* pMax */)))) { var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+33106 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) + zRet = rbuMPrintf(tls, p, ts+33121 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } else { - var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+889 /* "" */, ts+16610 /* ", " */, ts+33129 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+33135 /* "quote(" */, ts+33142 /* "||','||" */, ts+6861 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+889 /* "" */, ts+16610 /* ", " */, ts+889 /* "" */) + var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+904 /* "" */, ts+16625 /* ", " */, ts+33144 /* " DESC" */) + var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+33150 /* "quote(" */, ts+33157 /* "||','||" */, ts+6876 /* ")" */) + var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+904 /* "" */, ts+16625 /* ", " */, ts+904 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+33150, /* "SELECT %s FROM \"..." */ + ts+33165, /* "SELECT %s FROM \"..." */ 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 /* pMax */)))) { var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+33192 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) + zRet = rbuMPrintf(tls, p, ts+33207 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } @@ -163024,12 +163532,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 889 /* "" */ + zSep = ts + 904 /* "" */ iCol = 0 *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32889 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+32904 /* "PRAGMA main.inde..." */, 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 /* pXInfo */))))) { goto __2 @@ -163066,7 +163574,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) goto __7 __6: - zCol = ts + 33212 /* "_rowid_" */ + zCol = ts + 33227 /* "_rowid_" */ __7: ; goto __5 @@ -163075,13 +163583,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+33220, /* "%z%s \"%w\" COLLAT..." */ + zLhs = rbuMPrintf(tls, p, ts+33235, /* "%z%s \"%w\" COLLAT..." */ libc.VaList(bp+8, zLhs, zSep, zCol, zCollate)) - zOrder = rbuMPrintf(tls, p, ts+33241, /* "%z%s \"rbu_imp_%d..." */ + zOrder = rbuMPrintf(tls, p, ts+33256, /* "%z%s \"rbu_imp_%d..." */ libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = rbuMPrintf(tls, p, ts+33277, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+33292, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) - zSep = ts + 16610 /* ", " */ + zSep = ts + 16625 /* ", " */ iCol++ goto __1 __2: @@ -163100,12 +163608,12 @@ __11: *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184 /* &pSel */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+33304, /* "SELECT %s FROM \"..." */ + Xsqlite3_mprintf(tls, ts+33319, /* "SELECT %s FROM \"..." */ 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 /* pSel */))))) { goto __13 } - zSep = ts + 889 /* "" */ + zSep = ts + 904 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -163127,8 +163635,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+33352 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) - zSep = ts + 16610 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+33367 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) + zSep = ts + 16625 /* ", " */ goto __15 __15: iCol++ @@ -163140,7 +163648,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+33359 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+33374 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: @@ -163190,14 +163698,14 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var zImpPK uintptr = uintptr(0) // String to return via *pzImposterPK var zWhere uintptr = uintptr(0) // String to return via *pzWhere var nBind int32 = 0 // Value to return via *pnBind - var zCom uintptr = ts + 889 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 889 /* "" */ // Set to " AND " later on + var zCom uintptr = ts + 904 /* "" */ // Set to ", " later on + var zAnd uintptr = ts + 904 /* "" */ // Set to " AND " later on *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32889 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+32904 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)))) { @@ -163209,9 +163717,9 @@ 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 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+33371 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+8, zRet, zCom, + zRet = Xsqlite3_mprintf(tls, ts+33386 /* "%z%s(%.*s) COLLA..." */, 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 + 889 /* "" */ + zType = ts + 904 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -163223,37 +163731,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 + 33212 /* "_rowid_" */ + zCol = ts + 33227 /* "_rowid_" */ } else { - zCol = ts + 32942 /* "rbu_rowid" */ + zCol = ts + 32957 /* "rbu_rowid" */ } - zType = ts + 14676 /* "INTEGER" */ + zType = ts + 14691 /* "INTEGER" */ } 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+33393 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+33408 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) } if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { - return ts + 33129 /* " DESC" */ + return ts + 33144 /* " DESC" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+33413, /* "%z%s\"rbu_imp_%d%..." */ + zImpPK = Xsqlite3_mprintf(tls, ts+33428, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, ts+33434, /* "%z%s\"rbu_imp_%d%..." */ + zImpCols = Xsqlite3_mprintf(tls, ts+33449, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+33467 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol)) + ts+33482 /* "%z%s\"rbu_imp_%d%..." */, 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 + 16610 /* ", " */ - zAnd = ts + 24047 /* " AND " */ + zCom = ts + 16625 /* ", " */ + zAnd = ts + 24062 /* " AND " */ nBind++ } @@ -163296,16 +163804,16 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zS uintptr = ts + 889 /* "" */ + var zS uintptr = ts + 904 /* "" */ var i int32 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+33491 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, ts+33506 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+33503 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+33518 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } - zS = ts + 16610 /* ", " */ + zS = ts + 16625 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -163314,7 +163822,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+33512 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+33527 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) } } return zList @@ -163334,27 +163842,27 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq 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+33527 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) + zList = rbuMPrintf(tls, p, ts+33542 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) } else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - var zSep uintptr = ts + 889 /* "" */ + var zSep uintptr = ts + 904 /* "" */ 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+33541 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) - zSep = ts + 24047 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+33556 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) + zSep = ts + 24062 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+33553 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) + ts+33568 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { - var zSep uintptr = ts + 889 /* "" */ + var zSep uintptr = ts + 904 /* "" */ 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 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = rbuMPrintf(tls, p, ts+33603 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) - zSep = ts + 24047 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+33618 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) + zSep = ts + 24062 /* " AND " */ } } } @@ -163368,7 +163876,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // of the RBU handle to something reflecting this. func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33616 /* "invalid rbu_cont..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33631 /* "invalid rbu_cont..." */, 0) } // Return a nul-terminated string containing the comma separated list of @@ -163397,21 +163905,21 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr if int32(libc.Xstrlen(tls, zMask)) != (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { rbuBadControlError(tls, p) } else { - var zSep uintptr = ts + 889 /* "" */ + var zSep uintptr = ts + 904 /* "" */ 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+33603, /* "%z%s\"%w\"=?%d" */ + zList = rbuMPrintf(tls, p, ts+33618, /* "%z%s\"%w\"=?%d" */ libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) - zSep = ts + 16610 /* ", " */ + zSep = ts + 16625 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+33642, /* "%z%s\"%w\"=rbu_del..." */ + zList = rbuMPrintf(tls, p, ts+33657, /* "%z%s\"%w\"=rbu_del..." */ 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 + 16610 /* ", " */ + zSep = ts + 16625 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+33672, /* "%z%s\"%w\"=rbu_fos..." */ + zList = rbuMPrintf(tls, p, ts+33687, /* "%z%s\"%w\"=rbu_fos..." */ 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 + 16610 /* ", " */ + zSep = ts + 16625 /* ", " */ } } } @@ -163469,19 +163977,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zSep uintptr = ts + 33709 /* "PRIMARY KEY(" */ + var zSep uintptr = ts + 33724 /* "PRIMARY KEY(" */ *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56 /* &pXList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32861 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+32876 /* "PRAGMA main.inde..." */, 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 /* pXList */)))) { var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 3) - if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+18078 /* "pk" */) == 0) { + if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+18093 /* "pk" */) == 0) { var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 1) if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32889 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+32904 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } @@ -163494,15 +164002,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 2) var zDesc uintptr if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 3) != 0 { - zDesc = ts + 33129 /* " DESC" */ + zDesc = ts + 33144 /* " DESC" */ } else { - zDesc = ts + 889 /* "" */ + zDesc = ts + 904 /* "" */ } - z = rbuMPrintf(tls, p, ts+33722 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = ts + 16610 /* ", " */ + z = rbuMPrintf(tls, p, ts+33737 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) + zSep = ts + 16625 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+33733 /* "%z)" */, libc.VaList(bp+48, z)) + z = rbuMPrintf(tls, p, ts+33748 /* "%z)" */, libc.VaList(bp+48, z)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */))) } return z @@ -163534,7 +164042,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx - var zComma uintptr = ts + 889 /* "" */ + var zComma uintptr = ts + 904 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -163542,7 +164050,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168 /* &pQuery */, (p + 64 /* &.zErrmsg */), - ts+33737 /* "SELECT name FROM..." */) + ts+33752 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 1, tnum) if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) { @@ -163551,7 +164059,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit } if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32889 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) + Xsqlite3_mprintf(tls, ts+32904 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) @@ -163561,25 +164069,25 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 1) var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 3) var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+33787 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, + zCols = rbuMPrintf(tls, p, ts+33802 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+33809 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+33824 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { - return ts + 33129 /* " DESC" */ + return ts + 33144 /* " DESC" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }())) - zComma = ts + 16610 /* ", " */ + zComma = ts + 16625 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+33819 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) + zCols = rbuMPrintf(tls, p, ts+33834 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8540 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8555 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+33834, /* "CREATE TABLE rbu..." */ + ts+33849, /* "CREATE TABLE rbu..." */ libc.VaList(bp+120, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8540 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8555 /* "main" */, 0, 0)) } } @@ -163607,52 +164115,52 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum - var zComma uintptr = ts + 889 /* "" */ + var zComma uintptr = ts + 904 /* "" */ var zSql uintptr = uintptr(0) var iCol int32 - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8540 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8555 /* "main" */, 0, 1)) for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { - var zPk uintptr = ts + 889 /* "" */ + var zPk uintptr = ts + 904 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8540 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8555 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, 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) { // If the target table column is an "INTEGER PRIMARY KEY", add // "PRIMARY KEY" to the imposter table column declaration. - zPk = ts + 33896 /* "PRIMARY KEY " */ + zPk = ts + 33911 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+33909, /* "%z%s\"%w\" %s %sCO..." */ + zSql = rbuMPrintf(tls, p, ts+33924, /* "%z%s\"%w\" %s %sCO..." */ libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - return ts + 33936 /* " NOT NULL" */ + return ts + 33951 /* " NOT NULL" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }())) - zComma = ts + 16610 /* ", " */ + zComma = ts + 16625 /* ", " */ } 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+33946 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+33961 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8540 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33953, /* "CREATE TABLE \"rb..." */ + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8555 /* "main" */, 1, tnum)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33968, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { - return ts + 33985 /* " WITHOUT ROWID" */ + return ts + 34000 /* " WITHOUT ROWID" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8540 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8555 /* "main" */, 0, 0)) } } @@ -163675,7 +164183,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 152 /* &.pTmpInsert */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+34000, /* "INSERT INTO %s.'..." */ + ts+34015, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -163712,7 +164220,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+34057 /* "SELECT trim(sql)..." */) + ts+34072 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -163822,7 +164330,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+34123 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) + zLimit = Xsqlite3_mprintf(tls, ts+34138 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) if !(zLimit != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM } @@ -163843,26 +164351,26 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 624 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8540 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8540 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8555 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8555 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+34143, /* "CREATE TABLE \"rb..." */ + ts+34158, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 608 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8540 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8555 /* "main" */, 0, 0)) // Create the statement to insert index entries (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 624 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34208 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+34223 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) } // And to delete index entries 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 /* &.pDelete */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34244 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+34259 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -163879,7 +164387,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+34278, /* "SELECT %s, 0 AS ..." */ + ts+34293, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -163887,32 +164395,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 34339 /* "AND" */ + return ts + 34354 /* "AND" */ } - return ts + 34343 /* "WHERE" */ + return ts + 34358 /* "WHERE" */ }() } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), zStart, zCollist, zLimit)) 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+34349, /* "SELECT %s, rbu_c..." */ + ts+34364, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+216, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, - ts+34410, /* "SELECT %s, rbu_c..." */ + ts+34425, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+264, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { if zPart != 0 { - return ts + 34339 /* "AND" */ + return ts + 34354 /* "AND" */ } - return ts + 34343 /* "WHERE" */ + return ts + 34358 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -163937,8 +164445,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 var zBindings uintptr = rbuObjIterGetBindlist(tls, p, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + bRbuRowid)) var zWhere uintptr = rbuObjIterGetWhere(tls, p, pIter) - var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8549 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8545 /* "new" */) + var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8564 /* "old" */) + var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8560 /* "new" */) zCollist = rbuObjIterGetCollist(tls, p, pIter) (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -163948,21 +164456,21 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuCreateImposterTable2(tls, p, pIter) zWrite = func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB { - return ts + 889 /* "" */ + return ts + 904 /* "" */ } - return ts + 34569 /* "rbu_imp_" */ + return ts + 34584 /* "rbu_imp_" */ }() // Create the INSERT statement to write to the target PK b-tree if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, - ts+34578, /* "INSERT INTO \"%s%..." */ + ts+34593, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 34614 /* ", _rowid_" */ + return ts + 34629 /* ", _rowid_" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), zBindings))) } @@ -163972,28 +164480,28 @@ 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 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+34624 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+384, zWrite, zTbl, zWhere))) + ts+34639 /* "DELETE FROM \"%s%..." */, 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 + 889 /* "" */ + var zRbuRowid uintptr = ts + 904 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 34652 /* ", rbu_rowid" */ + zRbuRowid = ts + 34667 /* ", rbu_rowid" */ } // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+34664 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+34679 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - return ts + 34740 /* ", 0 AS rbu_rowid" */ + return ts + 34755 /* ", 0 AS rbu_rowid" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+34757, /* "CREATE TEMP TRIG..." */ + ts+34772, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -164001,7 +164509,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 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+35056, /* "CREATE TEMP TRIG..." */ + ts+35071, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } @@ -164010,14 +164518,14 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the SELECT statement to read keys from data_xxx if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zRbuRowid uintptr = ts + 889 /* "" */ + var zRbuRowid uintptr = ts + 904 /* "" */ var zStart uintptr = uintptr(0) var zOrder uintptr = uintptr(0) if bRbuRowid != 0 { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zRbuRowid = ts + 35155 /* ",_rowid_ " */ + zRbuRowid = ts + 35170 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 35165 /* ",rbu_rowid" */ + zRbuRowid = ts + 35180 /* ",rbu_rowid" */ } } @@ -164030,35 +164538,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+33212 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+33227 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+889 /* "" */, ts+16610 /* ", " */, ts+889 /* "" */) + zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+904 /* "" */, ts+16625 /* ", " */, ts+904 /* "" */) } } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 128 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, - ts+35176, /* "SELECT %s,%s rbu..." */ + ts+35191, /* "SELECT %s,%s rbu..." */ libc.VaList(bp+536, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 35224 /* "0 AS " */ + return ts + 35239 /* "0 AS " */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 22226 /* "ORDER BY" */ + return ts + 22241 /* "ORDER BY" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), zOrder, zLimit))) } @@ -164133,12 +164641,12 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp (*RbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - var zPrefix uintptr = ts + 889 /* "" */ + var zPrefix uintptr = ts + 904 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 34569 /* "rbu_imp_" */ + zPrefix = ts + 34584 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+35230, /* "UPDATE \"%s%w\" SE..." */ + zUpdate = Xsqlite3_mprintf(tls, ts+35245, /* "UPDATE \"%s%w\" SE..." */ 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 /* &.pUpdate */), (p + 64 /* &.zErrmsg */), zUpdate) @@ -164165,7 +164673,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))) *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) } @@ -164206,7 +164714,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ } *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+35260 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) + Xsqlite3_mprintf(tls, ts+35275 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) for (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) { case RBU_STATE_STAGE: @@ -164278,31 +164786,31 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8540 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8555 /* "main" */, 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+8540 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+35290 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) + var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8555 /* "main" */) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+35305 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) } } // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35317 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+4642 /* "stat" */, uint64(4)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35332 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+4657 /* "stat" */, uint64(4)) } else { - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+8540 /* "main" */, uint64(4)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+8555 /* "main" */, uint64(4)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35335 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35350 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 var rc int32 (*Sqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8540 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8555 /* "main" */, SQLITE_FCNTL_RBUCNT, p) if rc != SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -164335,11 +164843,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 return } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35401 /* "cannot vacuum wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35416 /* "cannot vacuum wa..." */, 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+28540 /* "file:" */, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5))) { + if (libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5)) && (0 == libc.Xmemcmp(tls, ts+28555 /* "file:" */, (*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)))) == '?' { @@ -164351,16 +164859,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+35433, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8540 /* "main" */), + zTarget = Xsqlite3_mprintf(tls, ts+35448, /* "file:%s-vactmp?r..." */ + libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8555 /* "main" */), func() uintptr { if zExtra == uintptr(0) { - return ts + 889 /* "" */ + return ts + 904 /* "" */ } - return ts + 35465 /* "&" */ + return ts + 35480 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 889 /* "" */ + return ts + 904 /* "" */ } return zExtra }())) @@ -164376,40 +164884,40 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+35467 /* "rbu_tmp_insert" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+35482 /* "rbu_tmp_insert" */, -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+35482 /* "rbu_fossil_delta" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + ts+35497 /* "rbu_fossil_delta" */, 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+35499 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+35514 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuTargetNameFunc})), uintptr(0), uintptr(0)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8540 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8555 /* "main" */, SQLITE_FCNTL_RBU, p) } - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35515 /* "SELECT * FROM sq..." */, 0) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35530 /* "SELECT * FROM sq..." */, 0) // Mark the database file just opened as an RBU target database. If // this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. // This is an error. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8540 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8555 /* "main" */, SQLITE_FCNTL_RBU, p) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35543 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35558 /* "rbu vfs not foun..." */, 0) } } @@ -164478,7 +164986,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+35515 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35530 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -164512,7 +165020,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+35561 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35576 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) if rc2 != SQLITE_INTERNAL { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -164639,16 +165147,16 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ bp := tls.Alloc(16) defer tls.Free(16) - var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8540 /* "main" */) + var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8555 /* "main" */) var zMove uintptr = zBase var zOal uintptr var zWal uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8540 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8555 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+35596 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+35603 /* "%s-wal" */, libc.VaList(bp+8, zMove)) + zOal = Xsqlite3_mprintf(tls, ts+35611 /* "%s-oal" */, libc.VaList(bp, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+35618 /* "%s-wal" */, libc.VaList(bp+8, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -164788,7 +165296,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) { /* sqlite3.c:203389:1 ((*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+28178 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28193 /* "datatype mismatc..." */, 0) return } @@ -164906,7 +165414,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // var pStmt uintptr at bp+8, 8 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+35610 /* "PRAGMA schema_ve..." */) + ts+35625 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There // is already a transaction open, so the prepared statement cannot @@ -164919,7 +165427,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35632 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35647 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) } } } @@ -164944,7 +165452,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168 /* &pInsert */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+35659, /* "INSERT OR REPLAC..." */ + ts+35674, /* "INSERT OR REPLAC..." */ libc.VaList(bp, p+48, /* &.zStateDb */ RBU_STATE_STAGE, eStage, RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl, @@ -164989,9 +165497,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24 /* &pPragma */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+35817 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) + Xsqlite3_mprintf(tls, ts+35832 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)))) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35832, /* "PRAGMA main.%s =..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35847, /* "PRAGMA main.%s =..." */ libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)), 0))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */))) @@ -165008,11 +165516,11 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * *(*uintptr)(unsafe.Pointer(bp /* pSql */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35852 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35867 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+35877 /* "SELECT sql FROM ..." */) + ts+35892 /* "SELECT sql FROM ..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -165026,12 +165534,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+35985 /* "SELECT * FROM sq..." */) + ts+36000 /* "SELECT * FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8 /* &pInsert */, (p + 64 /* &.zErrmsg */), - ts+36050 /* "INSERT INTO sqli..." */) + ts+36065 /* "INSERT INTO sqli..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -165043,7 +165551,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36094 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36109 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) @@ -165065,8 +165573,8 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // when this handle was opened, create the target database schema. if (((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FnProgress == 0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { rbuCreateTargetSchema(tls, p) - rbuCopyPragma(tls, p, ts+19140 /* "user_version" */) - rbuCopyPragma(tls, p, ts+18250 /* "application_id" */) + rbuCopyPragma(tls, p, ts+19155 /* "user_version" */) + rbuCopyPragma(tls, p, ts+18265 /* "application_id" */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl != 0) { @@ -165077,7 +165585,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // But the contents can be deleted. 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+36119 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + ts+36134 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) } } else { rbuObjIterPrepareAll(tls, p, pIter, 0) @@ -165103,10 +165611,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: rbuSaveState(tls, p, RBU_STAGE_MOVE) rbuIncrSchemaCookie(tls, p) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16514 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16529 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16514 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16529 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_MOVE } @@ -165223,7 +165731,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 if (rc == SQLITE_OK) && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36147 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36162 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -165242,7 +165750,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ bp := tls.Alloc(8) defer tls.Free(8) - var zOal uintptr = rbuMPrintf(tls, p, ts+35596 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) + var zOal uintptr = rbuMPrintf(tls, p, ts+35611 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -165264,7 +165772,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ // var zRnd [64]int8 at bp+12, 64 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+36172 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+36187 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12 /* &zRnd[0] */) @@ -165303,7 +165811,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / rc = prepareFreeAndCollectError(tls, db, bp+8 /* &pStmt */, bp+16, /* &zErrmsg */ Xsqlite3_mprintf(tls, - ts+36183 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) + ts+36198 /* "SELECT count(*) ..." */, 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 /* zErrmsg */)), -1) } else { @@ -165346,7 +165854,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+36255 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+36270 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuIndexCntFunc})), uintptr(0), uintptr(0)) @@ -165354,7 +165862,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ // occurs, nPhaseOneStep will be left set to -1. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+36269 /* "SELECT 1 FROM sq..." */) + ts+36284 /* "SELECT 1 FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { @@ -165366,7 +165874,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (bExists != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+36326 /* "SELECT sum(cnt *..." */) + ts+36341 /* "SELECT sum(cnt *..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) @@ -165412,7 +165920,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) libc.Xmemcpy(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, zRbu, (nRbu + uint64(1))) pCsr += (uintptr(nRbu + uint64(1))) if zState != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+925 /* "%s" */, libc.VaList(bp, zState)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+940 /* "%s" */, libc.VaList(bp, zState)) } // If the first attempt to open the database file fails and the bRetry @@ -165449,7 +165957,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+36400 /* "cannot update wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36415 /* "cannot update wa..." */, 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 @@ -165471,12 +165979,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // transaction is committed in rollback mode) currently stored on // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36432, /* "database modifie..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36447, /* "database modifie..." */ libc.VaList(bp+8, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 36464 /* "vacuum" */ + return ts + 36479 /* "vacuum" */ } - return ts + 36471 /* "update" */ + return ts + 36486 /* "update" */ }())) } } @@ -165484,7 +165992,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { var db uintptr = (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16499 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16514 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) // Point the object iterator at the first object if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -165498,24 +166006,24 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_DONE } else { if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuState)(unsafe.Pointer(pState)).FeStage == 0)) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - rbuCopyPragma(tls, p, ts+18865 /* "page_size" */) - rbuCopyPragma(tls, p, ts+18265 /* "auto_vacuum" */) + rbuCopyPragma(tls, p, ts+18880 /* "page_size" */) + rbuCopyPragma(tls, p, ts+18280 /* "auto_vacuum" */) } // Open transactions both databases. The *-oal file is opened or // created at this point. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+36478 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+36493 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Check if the main database is a zipvfs db. If it is, set the upper // level pager to use "journal_mode=off". This prevents it from // generating a large journal using a temp file. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var frc int32 = Xsqlite3_file_control(tls, db, ts+8540 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) + var frc int32 = Xsqlite3_file_control(tls, db, ts+8555 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) if frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, - db, ts+36494 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + db, ts+36509 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } } @@ -165568,7 +166076,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+36518 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { + if (n >= 7) && (0 == libc.Xmemcmp(tls, ts+36533 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { return rbuMisuseError(tls) } } @@ -165598,7 +166106,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:204232:13: */ 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+34569 /* "rbu_imp_" */, uint64(8)) == 0 { + if libc.Xmemcmp(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i)), ts+34584 /* "rbu_imp_" */, 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++ @@ -165617,7 +166125,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Commit the transaction to the *-oal file. if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16514 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16529 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Sync the db file if currently doing an incremental checkpoint @@ -165629,7 +166137,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16514 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16529 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Close any open statement handles. @@ -165641,7 +166149,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // specifying the current target and state databases to start a new // vacuum from scratch. 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+36526 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) + var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+36541 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) && (rc2 != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -165740,7 +166248,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16514 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16529 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -165757,19 +166265,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16514 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16529 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { var zBegin uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zBegin = ts + 16499 /* "BEGIN" */ + zBegin = ts + 16514 /* "BEGIN" */ } else { - zBegin = ts + 36478 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 36493 /* "BEGIN IMMEDIATE" */ } 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+36478 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36493 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -166173,7 +166681,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36553 /* "rbu/zipvfs setup..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36568 /* "rbu/zipvfs setup..." */, 0) } else if rc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p (*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu @@ -166196,7 +166704,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+36576 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + var zOut uintptr = Xsqlite3_mprintf(tls, ts+36591 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = SQLITE_NOMEM @@ -166359,7 +166867,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags // This call is to open a *-wal file. Intead, open the *-oal. var nOpen Size_t if (*Sqlite3rbu)(unsafe.Pointer(((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu))).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+8540 /* "main" */) + zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+8555 /* "main" */) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -166374,7 +166882,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+36587 /* "rbu_memory" */, 0) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+36602 /* "rbu_memory" */, 0) != 0) { oflags = ((((SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -166686,7 +167194,7 @@ var zDbstatSchema = // 9 Size of the page (sum for aggregate) // 10 Database schema being analyzed // 11 aggregate info for each table -*(*[258]int8)(unsafe.Pointer(ts + 36598 /* "CREATE TABLE x( ..." */)) /* sqlite3.c:205427:19 */ +*(*[258]int8)(unsafe.Pointer(ts + 36613 /* "CREATE TABLE x( ..." */)) /* sqlite3.c:205427:19 */ // Forward reference to data structured used in this module type StatTable1 = struct { @@ -166767,7 +167275,7 @@ func statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp Xsqlite3TokenInit(tls, bp+8 /* &nm */, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = Xsqlite3FindDb(tls, db, bp+8 /* &nm */) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+13874 /* "no such database..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+13889 /* "no such database..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return SQLITE_ERROR } } else { @@ -167290,7 +167798,7 @@ __5: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __6 } - (*StatPage)(unsafe.Pointer((pCsr + 24 /* &.aPage */))).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36856 /* "/" */, 0)) + (*StatPage)(unsafe.Pointer((pCsr + 24 /* &.aPage */))).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36871 /* "/" */, 0)) if !(z == uintptr(0)) { goto __7 } @@ -167348,9 +167856,9 @@ __14: } (*StatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*StatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*StatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*U32)(unsafe.Pointer((*StatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36858 /* "overflow" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36873 /* "overflow" */ (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, - ts+36867 /* "%s%.3x+%.6x" */, libc.VaList(bp, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell, iOvfl))) + ts+36882 /* "%s%.3x+%.6x" */, libc.VaList(bp, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell, iOvfl))) if z == uintptr(0) { return SQLITE_NOMEM } @@ -167418,7 +167926,7 @@ __23: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __24 } - (*StatPage)(unsafe.Pointer(p + 1*64)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36879 /* "%s%.3x/" */, libc.VaList(bp+24, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) + (*StatPage)(unsafe.Pointer(p + 1*64)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36894 /* "%s%.3x/" */, libc.VaList(bp+24, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) if !(z == uintptr(0)) { goto __25 } @@ -167461,14 +167969,14 @@ __2: goto __28 __29: // table internal __30: // index internal - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36887 /* "internal" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36902 /* "internal" */ goto __28 __31: // table leaf __32: // index leaf - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36896 /* "leaf" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36911 /* "leaf" */ goto __28 __33: - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36901 /* "corrupted" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36916 /* "corrupted" */ goto __28 __28: ; @@ -167483,7 +167991,7 @@ __34: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __35 } - (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+40, (*StatPage)(unsafe.Pointer(p1)).FzPath))) + (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+40, (*StatPage)(unsafe.Pointer(p1)).FzPath))) if !(z == uintptr(0)) { goto __36 } @@ -167572,13 +168080,13 @@ func statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, ar pSql = Xsqlite3_str_new(tls, (*StatTable)(unsafe.Pointer(pTab)).Fdb) Xsqlite3_str_appendf(tls, pSql, - ts+36911, /* "SELECT * FROM (S..." */ + ts+36926, /* "SELECT * FROM (S..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*StatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb+uintptr((*StatCursor)(unsafe.Pointer(pCsr)).FiDb)*32)).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, ts+37066 /* "WHERE name=%Q" */, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, ts+37081 /* "WHERE name=%Q" */, libc.VaList(bp+8, zName)) } if (idxNum & 0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, ts+37080 /* " ORDER BY name" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+37095 /* " ORDER BY name" */, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -167663,7 +168171,7 @@ func statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite // Invoke this routine to register the "dbstat" virtual table module func Xsqlite3DbstatRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:206190:20: */ - return Xsqlite3_create_module(tls, db, ts+37095 /* "dbstat" */, uintptr(unsafe.Pointer(&dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, ts+37110 /* "dbstat" */, uintptr(unsafe.Pointer(&dbstat_module)), uintptr(0)) } var dbstat_module = Sqlite3_module{ // iVersion @@ -167778,7 +168286,7 @@ func dbpageConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_DIRECTONLY, 0) rc = Xsqlite3_declare_vtab(tls, db, - ts+37102 /* "CREATE TABLE x(p..." */) + ts+37117 /* "CREATE TABLE x(p..." */) if rc == SQLITE_OK { pTab = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(DbpageTable{}))) if pTab == uintptr(0) { @@ -168026,14 +168534,14 @@ func dbpageUpdate(tls *libc.TLS, pVtab uintptr, argc int32, argv uintptr, pRowid if !(((*Sqlite3)(unsafe.Pointer((*DbpageTable)(unsafe.Pointer(pTab)).Fdb)).Fflags & uint64(SQLITE_Defensive)) != 0) { goto __1 } - zErr = ts + 37169 /* "read-only" */ + zErr = ts + 37184 /* "read-only" */ goto update_fail __1: ; if !(argc == 1) { goto __2 } - zErr = ts + 37179 /* "cannot delete" */ + zErr = ts + 37194 /* "cannot delete" */ goto update_fail __2: ; @@ -168041,7 +168549,7 @@ __2: if !(Pgno(Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) != pgno) { goto __3 } - zErr = ts + 37193 /* "cannot insert" */ + zErr = ts + 37208 /* "cannot insert" */ goto update_fail __3: ; @@ -168054,7 +168562,7 @@ __3: if !(iDb < 0) { goto __4 } - zErr = ts + 37207 /* "no such schema" */ + zErr = ts + 37222 /* "no such schema" */ goto update_fail __4: ; @@ -168062,7 +168570,7 @@ __4: if !(((pgno < Pgno(1)) || (pBt == uintptr(0))) || (pgno > Pgno(int32(Xsqlite3BtreeLastPage(tls, pBt))))) { goto __5 } - zErr = ts + 37222 /* "bad page number" */ + zErr = ts + 37237 /* "bad page number" */ goto update_fail __5: ; @@ -168071,7 +168579,7 @@ __5: (Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))) != szPage)) { goto __6 } - zErr = ts + 37238 /* "bad page value" */ + zErr = ts + 37253 /* "bad page value" */ goto update_fail __6: ; @@ -168096,7 +168604,7 @@ __7: update_fail: Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp, zErr)) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp, zErr)) return SQLITE_ERROR } @@ -168118,7 +168626,7 @@ func dbpageBegin(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:206594:12: * // Invoke this routine to register the "dbpage" virtual table module func Xsqlite3DbpageRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:206609:20: */ - return Xsqlite3_create_module(tls, db, ts+37253 /* "sqlite_dbpage" */, uintptr(unsafe.Pointer(&dbpage_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, ts+37268 /* "sqlite_dbpage" */, uintptr(unsafe.Pointer(&dbpage_module)), uintptr(0)) } var dbpage_module = Sqlite3_module{ // iVersion @@ -168141,6 +168649,5611 @@ var dbpage_module = Sqlite3_module{ // iVersion //************* End of dbpage.c ********************************************* //************* Begin file sqlite3session.c ********************************* +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable1 = struct { + FpNext uintptr + FzName uintptr + FnCol int32 + FbStat1 int32 + FazCol uintptr + FabPK uintptr + FnEntry int32 + FnChange int32 + FapChange uintptr +} /* sqlite3.c:11155:9 */ + +//************* End of dbpage.c ********************************************* +//************* Begin file sqlite3session.c ********************************* + +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ +type SessionChange1 = struct { + Fop U8 + FbIndirect U8 + _ [2]byte + FnMaxSize int32 + FnRecord int32 + _ [4]byte + FaRecord uintptr + FpNext uintptr +} /* sqlite3.c:11155:9 */ + +type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ +type SessionBuffer1 = struct { + FaBuf uintptr + FnBuf int32 + FnAlloc int32 +} /* sqlite3.c:11163:9 */ + +type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ +type SessionInput1 = struct { + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + _ [4]byte + FaData uintptr + FnData int32 + _ [4]byte + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 + _ [4]byte +} /* sqlite3.c:11163:9 */ + +type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ + +// Minimum chunk size used by streaming versions of functions. + +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:206671:12 */ + +type SessionHook1 = struct { + FpCtx uintptr + FxOld uintptr + FxNew uintptr + FxCount uintptr + FxDepth uintptr +} /* sqlite3.c:11155:9 */ + +type SessionHook = SessionHook1 /* sqlite3.c:206673:28 */ + +// Write a varint with value iVal into the buffer at aBuf. Return the +// number of bytes written. +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:206951:12: */ + return int32(func() uint8 { + if (U32(iVal)) < U32(0x80) { + return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) + } + return uint8(Xsqlite3PutVarint(tls, aBuf, uint64(iVal))) + }()) +} + +// Return the number of bytes required to store value iVal as a varint. +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:206958:12: */ + return Xsqlite3VarintLen(tls, uint64(iVal)) +} + +// Read a varint value from aBuf[] into *piVal. Return the number of +// bytes read. +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:206966:12: */ + return int32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { + return uint8(func() int32 { (*(*int32)(unsafe.Pointer(piVal))) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) + } + return Xsqlite3GetVarint32(tls, aBuf, piVal) + }()) +} + +// Load an unaligned and unsigned 32-bit integer + +// Read a 64-bit big-endian integer value from buffer aRec[]. Return +// the value read. +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:206977:22: */ + var x U64 = (U64((((U32(*(*U8)(unsafe.Pointer((aRec)))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec) + 3))))) + var y U32 = ((((U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4))))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 3)))) + x = ((x << 32) + U64(y)) + return Sqlite3_int64(x) +} + +// Write a 64-bit big-endian integer value to the buffer aBuf[]. +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:206987:13: */ + *(*U8)(unsafe.Pointer(aBuf)) = (U8((i >> 56) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 1)) = (U8((i >> 48) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 2)) = (U8((i >> 40) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 3)) = (U8((i >> 32) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 4)) = (U8((i >> 24) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 5)) = (U8((i >> 16) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 6)) = (U8((i >> 8) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 7)) = (U8((i >> 0) & int64(0xFF))) +} + +// This function is used to serialize the contents of value pValue (see +// comment titled "RECORD FORMAT" above). +// +// If it is non-NULL, the serialized form of the value is written to +// buffer aBuf. *pnWrite is set to the number of bytes written before +// returning. Or, if aBuf is NULL, the only thing this function does is +// set *pnWrite. +// +// If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs +// within a call to sqlite3_value_text() (may fail if the db is utf-16)) +// SQLITE_NOMEM is returned. +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:207011:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var nByte int32 // Size of serialized value in bytes + + if pValue != 0 { + var eType int32 // Value type (SQLITE_NULL, TEXT etc.) + + eType = Xsqlite3_value_type(tls, pValue) + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(eType) + } + + switch eType { + case SQLITE_NULL: + nByte = 1 + break + fallthrough + + case SQLITE_INTEGER: + fallthrough + case SQLITE_FLOAT: + if aBuf != 0 { + // TODO: SQLite does something special to deal with mixed-endian + // floating point values (e.g. ARM7). This code probably should + // too. + // var i U64 at bp, 8 + + if eType == SQLITE_INTEGER { + *(*U64)(unsafe.Pointer(bp /* i */)) = U64(Xsqlite3_value_int64(tls, pValue)) + } else { + // var r float64 at bp+8, 8 + + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_value_double(tls, pValue) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint64(8)) + } + sessionPutI64(tls, (aBuf + 1), int64(*(*U64)(unsafe.Pointer(bp /* i */)))) + } + nByte = 9 + break + fallthrough + + default: + { + var z uintptr + var n int32 + var nVarint int32 + + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, pValue) + } else { + z = Xsqlite3_value_blob(tls, pValue) + } + n = Xsqlite3_value_bytes(tls, pValue) + if (z == uintptr(0)) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + nVarint = sessionVarintLen(tls, n) + + if aBuf != 0 { + sessionVarintPut(tls, (aBuf + 1), n) + if n != 0 { + libc.Xmemcpy(tls, (aBuf + uintptr((nVarint + 1))), z, uint64(n)) + } + } + + nByte = ((1 + nVarint) + n) + break + + } + } + } else { + nByte = 1 + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(0) + } + } + + if pnWrite != 0 { + *(*Sqlite3_int64)(unsafe.Pointer(pnWrite)) += (Sqlite3_int64(nByte)) + } + return SQLITE_OK +} + +// Allocate and return a pointer to a buffer nByte bytes in size. If +// pSession is not NULL, increase the sqlite3_session.nMalloc variable +// by the number of bytes allocated. +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:207087:13: */ + var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) += I64((Xsqlite3_msize(tls, pRet))) + } + return pRet +} + +// Free buffer pFree, which must have been allocated by an earlier +// call to sessionMalloc64(). If pSession is not NULL, decrease the +// sqlite3_session.nMalloc counter by the number of bytes freed. +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:207098:13: */ + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) -= I64((Xsqlite3_msize(tls, pFree))) + } + Xsqlite3_free(tls, pFree) +} + +// This macro is used to calculate hash key values for data structures. In +// order to use this macro, the entire data structure must be represented +// as a series of unsigned integers. In order to calculate a hash-key value +// for a data structure represented as three such integers, the macro may +// then be used as follows: +// +// int hash_key_value; +// hash_key_value = HASH_APPEND(0, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// +// In practice, the data structures this macro is used for are the primary +// key values of modified rows. + +// Append the hash of the 64-bit integer passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:207124:21: */ + h = ((((h) << 3) ^ (h)) ^ (uint32(i & int64(0xFFFFFFFF)))) + return ((((h) << 3) ^ (h)) ^ (uint32((i >> 32) & int64(0xFFFFFFFF)))) +} + +// Append the hash of the blob passed via the second and third arguments to +// the hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:207133:21: */ + var i int32 + for i = 0; i < n; i++ { + h = ((((h) << 3) ^ (h)) ^ (uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))))) + } + return h +} + +// Append the hash of the data type passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:207143:21: */ + return ((((h) << 3) ^ (h)) ^ (uint32(eType))) +} + +// This function may only be called from within a pre-update callback. +// It calculates a hash based on the primary key values of the old.* or +// new.* row currently available and, assuming no error occurs, writes it to +// *piHash before returning. If the primary key contains one or more NULL +// values, *pbNullPK is set to true before returning. +// +// If an error occurs, an SQLite error code is returned and the final values +// of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned +// and the output variables are set as described above. +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:207158:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var h uint32 = uint32(0) // Hash value to return + var i int32 // Used to iterate through columns + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0 { + var rc int32 + var eType int32 + // var pVal uintptr at bp, 8 + + if bNew != 0 { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } else { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } + if rc != SQLITE_OK { + return rc + } + + eType = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var iVal I64 at bp+8, 8 + + if eType == SQLITE_INTEGER { + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + *(*float64)(unsafe.Pointer(bp + 16 /* rVal */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + + libc.Xmemcpy(tls, bp+8 /* &iVal */, bp+16 /* &rVal */, uint64(8)) + } + h = sessionHashAppendI64(tls, h, *(*I64)(unsafe.Pointer(bp + 8 /* iVal */))) + } else if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + var z uintptr + var n int32 + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + n = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + if !(z != 0) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + h = sessionHashAppendBlob(tls, h, n, z) + } else { + + *(*int32)(unsafe.Pointer(pbNullPK)) = 1 + } + } + } + + *(*int32)(unsafe.Pointer(piHash)) = (int32(h % uint32((*SessionTable)(unsafe.Pointer(pTab)).FnChange))) + return SQLITE_OK +} + +// The buffer that the argument points to contains a serialized SQL value. +// Return the number of bytes of space occupied by the value (including +// the type byte). +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:207223:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var e int32 = int32(*(*U8)(unsafe.Pointer(a))) + // var n int32 at bp, 4 + + if (e == 0) || (e == 0xFF) { + return 1 + } + if e == SQLITE_NULL { + return 1 + } + if (e == SQLITE_INTEGER) || (e == SQLITE_FLOAT) { + return 9 + } + return ((sessionVarintGet(tls, (a+1), bp /* &n */) + 1) + *(*int32)(unsafe.Pointer(bp /* n */))) +} + +// Based on the primary key values stored in change aRecord, calculate a +// hash key. Assume the has table has nBucket buckets. The hash keys +// calculated by this function are compatible with those calculated by +// sessionPreupdateHash(). +// +// The bPkOnly argument is non-zero if the record at aRecord[] is from +// a patchset DELETE. In this case the non-PK fields are omitted entirely. +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:207241:21: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var h uint32 = uint32(0) // Value to return + var i int32 // Used to iterate through columns + var a uintptr = aRecord // Used to iterate through change record + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(a))) + var isPK int32 = int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) + if (bPkOnly != 0) && (isPK == 0) { + continue + } + + // It is not possible for eType to be SQLITE_NULL here. The session + // module does not record changes for rows with NULL values stored in + // primary key columns. + + if isPK != 0 { + a++ + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + h = sessionHashAppendI64(tls, h, sessionGetI64(tls, a)) + a += uintptr(8) + } else { + // var n int32 at bp, 4 + + a += uintptr(sessionVarintGet(tls, a, bp /* &n */)) + h = sessionHashAppendBlob(tls, h, *(*int32)(unsafe.Pointer(bp /* n */)), a) + a += uintptr(*(*int32)(unsafe.Pointer(bp /* n */))) + } + } else { + a += uintptr(sessionSerialLen(tls, a)) + } + } + return (h % uint32(nBucket)) +} + +// Arguments aLeft and aRight are pointers to change records for table pTab. +// This function returns true if the two records apply to the same row (i.e. +// have the same values stored in the primary key columns), or false +// otherwise. +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:207290:12: */ + var a1 uintptr = aLeft // Cursor to iterate through aLeft + var a2 uintptr = aRight // Cursor to iterate through aRight + var iCol int32 // Used to iterate through table columns + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol))) != 0 { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + + if (n1 != n2) || (libc.Xmemcmp(tls, a1, a2, uint64(n1)) != 0) { + return 0 + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } else { + if bLeftPkOnly == 0 { + a1 += uintptr(sessionSerialLen(tls, a1)) + } + if bRightPkOnly == 0 { + a2 += uintptr(sessionSerialLen(tls, a2)) + } + } + } + + return 1 +} + +// Arguments aLeft and aRight both point to buffers containing change +// records with nCol columns. This function "merges" the two records into +// a single records which is written to the buffer at *paOut. *paOut is +// then set to point to one byte after the last byte written before +// returning. +// +// The merging of records is done as follows: For each column, if the +// aRight record contains a value for the column, copy the value from +// their. Otherwise, if aLeft contains a value, copy it. If neither +// record contains a value for a given column, then neither does the +// output record. +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:207333:13: */ + var a1 uintptr = aLeft // Cursor used to iterate through aLeft + var a2 uintptr = aRight // Cursor used to iterate through aRight + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor + var iCol int32 // Used to iterate from 0 to nCol + + for iCol = 0; iCol < nCol; iCol++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + libc.Xmemcpy(tls, aOut, a2, uint64(n2)) + aOut += uintptr(n2) + } else { + libc.Xmemcpy(tls, aOut, a1, uint64(n1)) + aOut += uintptr(n1) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut +} + +// This is a helper function used by sessionMergeUpdate(). +// +// When this function is called, both *paOne and *paTwo point to a value +// within a change record. Before it returns, both have been advanced so +// as to point to the next value in the record. +// +// If, when this function is called, *paTwo points to a valid value (i.e. +// *paTwo[0] is not 0x00 - the "no value" placeholder), a copy of the *paTwo +// pointer is returned and *pnVal is set to the number of bytes in the +// serialized value. Otherwise, a copy of *paOne is returned and *pnVal +// set to the number of bytes in the value at *paOne. If *paOne points +// to the "no value" placeholder, *pnVal is set to 1. In other words: +// +// if( *paTwo is valid ) return *paTwo; +// return *paOne; +// +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:207379:11: */ + var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) + var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) + var pRet uintptr = uintptr(0) + var n1 int32 + + if a2 != 0 { + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + *(*int32)(unsafe.Pointer(pnVal)) = n2 + pRet = a2 + } + *(*uintptr)(unsafe.Pointer(paTwo)) = (a2 + uintptr(n2)) + } + + n1 = sessionSerialLen(tls, a1) + if pRet == uintptr(0) { + *(*int32)(unsafe.Pointer(pnVal)) = n1 + pRet = a1 + } + *(*uintptr)(unsafe.Pointer(paOne)) = (a1 + uintptr(n1)) + + return pRet +} + +// This function is used by changeset_concat() to merge two UPDATE changes +// on the same row. +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:207413:12: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) + var i int32 + + if bPatchset == 0 { + var bRequired int32 = 0 + + // Write the old.* vector first. + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+16, 4 + + var aOld uintptr + // var nNew int32 at bp+40, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+16 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+40 /* &nNew */) + if ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)) != *(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) || (libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) != 0) { + if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + bRequired = 1 + } + libc.Xmemcpy(tls, aOut, aOld, uint64(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */))) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } + } + + if !(bRequired != 0) { + return 0 + } + } + + // Write the new.* vector + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+44, 4 + + var aOld uintptr + // var nNew int32 at bp+48, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+44 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+48 /* &nNew */) + if (bPatchset == 0) && + ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || ((*(*int32)(unsafe.Pointer(bp + 44 /* nOld */)) == *(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) && (0 == libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))))))) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } else { + libc.Xmemcpy(tls, aOut, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) + } + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut + return 1 +} + +// This function is only called from within a pre-update-hook callback. +// It determines if the current pre-update-hook change affects the same row +// as the change stored in argument pChange. If so, it returns true. Otherwise +// if the pre-update-hook does not affect the same row as pChange, it returns +// false. +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:207490:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var iCol int32 // Used to iterate through columns + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord // Cursor used to scan change record + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol)))) != 0) { + a += uintptr(sessionSerialLen(tls, a)) + } else { + // var pVal uintptr at bp, 8 + // Value returned by preupdate_new/old + var rc int32 + _ = rc // Error code from preupdate_new/old + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) // Type of value from change record + + // The following calls to preupdate_new() and preupdate_old() can not + // fail. This is because they cache their return values, and by the + // time control flows to here they have already been called once from + // within sessionPreupdateHash(). The first two asserts below verify + // this (that the method has already been called). + if op == SQLITE_INSERT { + // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } else { + // assert( db->pPreUpdate->pUnpacked ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } + + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { + return 0 + } + + // A SessionChange object never has a NULL value in a PK column + + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, a) + a += uintptr(8) + if eType == SQLITE_INTEGER { + if Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) { + return 0 + } + } else { + // var rVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &rVal */, bp+16 /* &iVal */, uint64(8)) + if Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*float64)(unsafe.Pointer(bp + 8 /* rVal */)) { + return 0 + } + } + } else { + // var n int32 at bp+24, 4 + + var z uintptr + a += uintptr(sessionVarintGet(tls, a, bp+24 /* &n */)) + if Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*int32)(unsafe.Pointer(bp + 24 /* n */)) { + return 0 + } + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + if (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) > 0) && (libc.Xmemcmp(tls, a, z, uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))) != 0) { + return 0 + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* n */))) + } + } + } + + return 1 +} + +// If required, grow the hash table used to store changes on table pTab +// (part of the session pSession). If a fatal OOM error occurs, set the +// session object to failed and return SQLITE_ERROR. Otherwise, return +// SQLITE_OK. +// +// It is possible that a non-fatal OOM error occurs in this function. In +// that case the hash-table does not grow, but SQLITE_OK is returned anyway. +// Growing the hash table in this case is a performance optimization only, +// it is not required for correct operation. +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:207569:12: */ + if ((*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= ((*SessionTable)(unsafe.Pointer(pTab)).FnChange / 2)) { + var i int32 + var apNew uintptr + var nNew Sqlite3_int64 = (int64(2) * (func() int64 { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange != 0 { + return int64((*SessionTable)(unsafe.Pointer(pTab)).FnChange) + } + return int64(128) + }())) + + apNew = sessionMalloc64(tls, + pSession, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew)))) + if apNew == uintptr(0) { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 { + return SQLITE_ERROR + } + return SQLITE_OK + } + libc.Xmemset(tls, apNew, 0, (uint64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew)))) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNext uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNext { + var bPkOnly int32 = (libc.Bool32((int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_DELETE) && (bPatchset != 0))) + var iHash int32 = int32(sessionChangeHash(tls, pTab, bPkOnly, (*SessionChange)(unsafe.Pointer(p)).FaRecord, int32(nNew))) + pNext = (*SessionChange)(unsafe.Pointer(p)).FpNext + (*SessionChange)(unsafe.Pointer(p)).FpNext = *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) = p + } + } + + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + (*SessionTable)(unsafe.Pointer(pTab)).FnChange = int32(nNew) + (*SessionTable)(unsafe.Pointer(pTab)).FapChange = apNew + } + + return SQLITE_OK +} + +// This function queries the database for the names of the columns of table +// zThis, in schema zDb. +// +// Otherwise, if they are not NULL, variable *pnCol is set to the number +// of columns in the database table and variable *pzTab is set to point to a +// nul-terminated copy of the table name. *pazCol (if not NULL) is set to +// point to an array of pointers to column names. And *pabPK (again, if not +// NULL) is set to point to an array of booleans - true if the corresponding +// column is part of the primary key. +// +// For example, if the table is declared as: +// +// CREATE TABLE tbl1(w, x, y, z, PRIMARY KEY(w, z)); +// +// Then the four output variables are populated as follows: +// +// *pnCol = 4 +// *pzTab = "tbl1" +// *pazCol = {"w", "x", "y", "z"} +// *pabPK = {1, 0, 0, 1} +// +// All returned buffers are part of the same single allocation, which must +// be freed using sqlite3_free() by the caller +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var zPragma uintptr + // var pStmt uintptr at bp+16, 8 + + var rc int32 + var nByte Sqlite3_int64 + var nDbCol int32 = 0 + var nThis int32 + var i int32 + var pAlloc uintptr = uintptr(0) + var azCol uintptr = uintptr(0) + var abPK uintptr = uintptr(0) + + nThis = Xsqlite3Strlen30(tls, zThis) + if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+13335 /* "sqlite_stat1" */, zThis)) { + 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 { + // For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. + zPragma = Xsqlite3_mprintf(tls, + + ts+37282 /* "SELECT 0, 'tbl',..." */, 0) + } else if rc == SQLITE_ERROR { + zPragma = Xsqlite3_mprintf(tls, ts+904 /* "" */, 0) + } else { + return rc + } + } else { + zPragma = Xsqlite3_mprintf(tls, ts+37403 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + } + if !(zPragma != 0) { + return SQLITE_NOMEM + } + + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+16 /* &pStmt */, uintptr(0)) + Xsqlite3_free(tls, zPragma) + if rc != SQLITE_OK { + return rc + } + + nByte = (Sqlite3_int64(nThis + 1)) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) + nDbCol++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + if rc == SQLITE_OK { + nByte = Sqlite3_int64(uint64(nByte) + (uint64(uint64(nDbCol) * ((uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(U8(0)))) + uint64(1))))) + pAlloc = sessionMalloc64(tls, pSession, nByte) + if pAlloc == uintptr(0) { + rc = SQLITE_NOMEM + } + } + if rc == SQLITE_OK { + azCol = pAlloc + pAlloc = (azCol + uintptr(nDbCol)*8) + abPK = pAlloc + pAlloc = (abPK + uintptr(nDbCol)) + if pzTab != 0 { + libc.Xmemcpy(tls, pAlloc, zThis, (uint64(nThis + 1))) + *(*uintptr)(unsafe.Pointer(pzTab)) = pAlloc + pAlloc += (uintptr(nThis + 1)) + } + + i = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + if zName == uintptr(0) { + break + } + libc.Xmemcpy(tls, pAlloc, zName, (uint64(nName + 1))) + *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc + pAlloc += (uintptr(nName + 1)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 5)) + i++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + } + + // If successful, populate the output variables. Otherwise, zero them and + // free any allocation made. An error code will be returned in this case. + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pazCol)) = azCol + *(*uintptr)(unsafe.Pointer(pabPK)) = abPK + *(*int32)(unsafe.Pointer(pnCol)) = nDbCol + } else { + *(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pabPK)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnCol)) = 0 + if pzTab != 0 { + *(*uintptr)(unsafe.Pointer(pzTab)) = uintptr(0) + } + sessionFree(tls, pSession, azCol) + } + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + return rc +} + +// This function is only called from within a pre-update handler for a +// write to table pTab, part of session pSession. If this is the first +// write to this table, initalize the SessionTable.nCol, azCol[] and +// abPK[] arrays accordingly. +// +// If an error occurs, an error code is stored in sqlite3_session.rc and +// non-zero returned. Or, if no error occurs but the table has no primary +// key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to +// indicate that updates on this table should be ignored. SessionTable.abPK +// is set to NULL in this case. +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:207752:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + if (*SessionTable)(unsafe.Pointer(pTab)).FnCol == 0 { + // var abPK uintptr at bp, 8 + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionTableInfo(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, + (*SessionTable)(unsafe.Pointer(pTab)).FzName, (pTab + 16 /* &.nCol */), uintptr(0), (pTab + 24 /* &.azCol */), bp /* &abPK */) + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc == SQLITE_OK { + var i int32 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* abPK */)) + uintptr(i))) != 0 { + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = *(*uintptr)(unsafe.Pointer(bp /* abPK */)) + break + } + } + if 0 == Xsqlite3_stricmp(tls, ts+13335 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += I64((uint64(((Size_t((1 + sessionVarintLen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + uint64(1)))) + } + } + } + return (libc.Bool32(((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FabPK == uintptr(0)))) +} + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx1 = struct { + Fhook SessionHook + FpSession uintptr +} /* sqlite3.c:207787:9 */ + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:207787:32 */ + +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207792:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207802:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 24 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 32 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = int64(2) + if int32((*SessionChange)(unsafe.Pointer(pC)).Fop) == SQLITE_INSERT { + if op != SQLITE_DELETE { + var ii int32 + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) + } + } + } else if op == SQLITE_DELETE { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + if Xsqlite3_preupdate_blobwrite(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb) >= 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + } + } else { + var ii int32 + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(pC)).FaRecord + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + var bChanged int32 = 1 + var nOld int32 = 0 + var eType int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) + if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { + return SQLITE_NOMEM + } + + eType = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pCsr, 1)))) + switch eType { + case SQLITE_NULL: + bChanged = (libc.Bool32(Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) != SQLITE_NULL)) + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + if eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) = sessionGetI64(tls, pCsr) + if eType == SQLITE_INTEGER { + bChanged = (libc.Bool32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) != Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } else { + // var dVal float64 at bp+24, 8 + + libc.Xmemcpy(tls, bp+24 /* &dVal */, bp+32 /* &iVal */, uint64(8)) + bChanged = (libc.Bool32(*(*float64)(unsafe.Pointer(bp + 24 /* dVal */)) != Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } + } + nOld = 8 + pCsr += uintptr(8) + break + + } + fallthrough + + default: + { + // var nByte int32 at bp+40, 4 + + nOld = sessionVarintGet(tls, pCsr, bp+40 /* &nByte */) + pCsr += uintptr(nOld) + nOld = nOld + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + + if ((eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)))) && + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) && + ((*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == 0) || (0 == libc.Xmemcmp(tls, pCsr, Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))), uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)))))) { + bChanged = 0 + } + pCsr += uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + break + + } + } + + if (bChanged != 0) && (*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0) { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = (I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord + 2)) + break + } + + if bChanged != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(1 + nOld)) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)), bp+8 /* &nNew */) + } else if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(2 + nOld)) + } else { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += int64(2) + } + } + } + + if *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) > I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize) { + var nIncr int32 = (int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) - I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize))) + (*SessionChange)(unsafe.Pointer(pC)).FnMaxSize = int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */))) + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += (I64(nIncr)) + } + return SQLITE_OK +} + +// This function is only called from with a pre-update-hook reporting a +// change on table pTab (attached to session pSession). The type of change +// (UPDATE, INSERT, DELETE) is specified by the first argument. +// +// Unless one is already present or an error occurs, an entry is added +// to the changed-rows hash table associated with table pTab. +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:207927:13: */ + bp := tls.Alloc(80) + defer tls.Free(80) + + // var iHash int32 at bp+48, 4 + + // var bNull int32 at bp+52, 4 + + var rc int32 + // var stat1 SessionStat1Ctx at bp, 48 + + var p uintptr + // var p1 uintptr at bp+56, 8 + + // var p2 uintptr at bp+72, 8 + + // Create a new change object containing all the old values (if + // this is an SQLITE_UPDATE or SQLITE_DELETE), or just the PK + // values (if this is an INSERT). + // var nByte Sqlite3_int64 at bp+64, 8 + // Number of bytes to allocate + var i int32 + // Search the hash table for an existing record for this row. + var pC uintptr + *(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) = 0 + rc = SQLITE_OK + *(*SessionStat1Ctx)(unsafe.Pointer(bp /* stat1 */)) = SessionStat1Ctx{} + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) { + goto __1 + } + return +__1: + ; + + // Load table details if required + if !(sessionInitTable(tls, pSession, pTab) != 0) { + goto __2 + } + return +__2: + ; + + // Check the number of columns in this xPreUpdate call matches the + // number of columns in the table. + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 24 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + goto __3 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA + return +__3: + ; + + // Grow the hash table if required + if !(sessionGrowHash(tls, pSession, 0, pTab) != 0) { + goto __4 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_NOMEM + return +__4: + ; + + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __5 + } + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).FpSession = pSession + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = bp /* &stat1 */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1New})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1Old})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Count})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Depth})) + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob == uintptr(0)) { + goto __6 + } + p = Xsqlite3ValueNew(tls, uintptr(0)) + if !(p == uintptr(0)) { + goto __7 + } + rc = SQLITE_NOMEM + goto error_out +__7: + ; + Xsqlite3ValueSetStr(tls, p, 0, ts+904 /* "" */, uint8(0), uintptr(0)) + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p +__6: + ; +__5: + ; + + // Calculate the hash-key for this change. If the primary key of the row + // includes a NULL value, exit early. Such changes are ignored by the + // session module. + rc = sessionPreupdateHash(tls, pSession, pTab, (libc.Bool32(op == SQLITE_INSERT)), bp+48 /* &iHash */, bp+52 /* &bNull */) + if !(rc != SQLITE_OK) { + goto __8 + } + goto error_out +__8: + ; + + if !(*(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) == 0) { + goto __9 + } + pC = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) +__10: + if !(pC != 0) { + goto __12 + } + if !(sessionPreupdateEqual(tls, pSession, pTab, pC, op) != 0) { + goto __13 + } + goto __12 +__13: + ; + goto __11 +__11: + pC = (*SessionChange)(unsafe.Pointer(pC)).FpNext + goto __10 + goto __12 +__12: + ; + + if !(pC == uintptr(0)) { + goto __14 + } // Used to iterate through columns + + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + + // Figure out how large an allocation is required + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = Sqlite3_int64(unsafe.Sizeof(SessionChange{})) + i = 0 +__16: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __18 + } + *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __19 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + + goto __20 +__19: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __21 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + +__21: + ; +__20: + ; + + // This may fail if SQLite value p contains a utf-16 string that must + // be converted to utf-8 and an OOM error occurs while doing so. + rc = sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)), bp+64 /* &nByte */) + if !(rc != SQLITE_OK) { + goto __22 + } + goto error_out +__22: + ; + goto __17 +__17: + i++ + goto __16 + goto __18 +__18: + ; + + // Allocate the change object + pC = sessionMalloc64(tls, pSession, *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + if !(!(pC != 0)) { + goto __23 + } + rc = SQLITE_NOMEM + goto error_out + goto __24 +__23: + libc.Xmemset(tls, pC, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pC)).FaRecord = (pC + 1*32) +__24: + ; + + // Populate the change object. None of the preupdate_old(), + // preupdate_new() or SerializeValue() calls below may fail as all + // required values and encodings have already been cached in memory. + // It is not possible for an OOM to occur in this block. + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = int64(0) + i = 0 +__25: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __27 + } + *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __28 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) + goto __29 +__28: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __30 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) +__30: + ; +__29: + ; + sessionSerializeValue(tls, ((*SessionChange)(unsafe.Pointer(pC)).FaRecord + uintptr(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)))), *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)), bp+64 /* &nByte */) + goto __26 +__26: + i++ + goto __25 + goto __27 +__27: + ; + + // Add the change to the hash-table + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + goto __31 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) +__31: + ; + (*SessionChange)(unsafe.Pointer(pC)).FnRecord = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + (*SessionChange)(unsafe.Pointer(pC)).Fop = U8(op) + (*SessionChange)(unsafe.Pointer(pC)).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) = pC + + goto __15 +__14: + if !((*SessionChange)(unsafe.Pointer(pC)).FbIndirect != 0) { + goto __32 + } + // If the existing change is considered "indirect", but this current + // change is "direct", mark the change object as direct. + if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { + goto __33 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(0) +__33: + ; +__32: + ; +__15: + ; + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0) { + goto __34 + } + rc = sessionUpdateMaxSize(tls, op, pSession, pTab, pC) +__34: + ; +__9: + ; + + // If an error has occurred, mark the session object as failed. +error_out: + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __35 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook = (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook +__35: + ; + if !(rc != SQLITE_OK) { + goto __36 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = rc +__36: +} + +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:208076:12: */ + var rc int32 = SQLITE_OK + var nName int32 = Xsqlite3Strlen30(tls, zName) + var pRet uintptr + + // Search for an existing table + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pRet != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pRet)).FzName, zName, (nName+1)) { + break + } + } + + if (pRet == uintptr(0)) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach != 0) { + // If there is a table-filter configured, invoke it. If it returns 0, + // do not automatically add the new table. + if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || + ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 48 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + rc = Xsqlite3session_attach(tls, pSession, zName) + if rc == SQLITE_OK { + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + } + + } + } + } + + *(*uintptr)(unsafe.Pointer(ppTab)) = pRet + return rc +} + +// The 'pre-update' hook registered by this module with SQLite databases. +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:208112:13: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var pSession uintptr + var nDb int32 = Xsqlite3Strlen30(tls, zDb) + + for pSession = pCtx; pSession != 0; pSession = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpNext { + // var pTab uintptr at bp, 8 + + // If this session is attached to a different database ("main", "temp" + // etc.), or if it is not currently enabled, there is nothing to do. Skip + // to the next session object attached to this database. + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable == 0 { + continue + } + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + continue + } + if Xsqlite3_strnicmp(tls, zDb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (nDb+1)) != 0 { + continue + } + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionFindTable(tls, pSession, zName, bp /* &pTab */) + if *(*uintptr)(unsafe.Pointer(bp /* pTab */)) != 0 { + + sessionPreupdateOneChange(tls, op, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + if op == SQLITE_UPDATE { + sessionPreupdateOneChange(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + } + } + } +} + +// The pre-update hook implementations. +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208150:12: */ + return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208153:12: */ + return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208156:12: */ + return Xsqlite3_preupdate_count(tls, pCtx) +} + +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208159:12: */ + return Xsqlite3_preupdate_depth(tls, pCtx) +} + +// Install the pre-update hooks on the session object passed as the only +// argument. +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208167:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateDepth})) +} + +type SessionDiffCtx1 = struct { + FpStmt uintptr + FnOldOff int32 + _ [4]byte +} /* sqlite3.c:208177:9 */ + +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ + +// The diff hook implementations. +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208186:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, (iVal + (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff)) + return SQLITE_OK +} + +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208191:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) + return SQLITE_OK +} + +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208196:12: */ + var p uintptr = pCtx + if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { + return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff + } + return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) +} + +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208200:12: */ + return 0 +} + +// Install the diff hooks on the session object passed as the only +// argument. +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:208208:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffDepth})) +} + +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 904 /* "" */ + var zRet uintptr = uintptr(0) + + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + zRet = Xsqlite3_mprintf(tls, ts+37432, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 24062 /* " AND " */ + if zRet == uintptr(0) { + break + } + } + } + + return zRet +} + +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 904 /* "" */ + var zRet uintptr = uintptr(0) + var bHave int32 = 0 + + for i = 0; i < nCol; i++ { + if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { + bHave = 1 + zRet = Xsqlite3_mprintf(tls, + ts+37466, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 37507 /* " OR " */ + if zRet == uintptr(0) { + break + } + } + } + + if bHave == 0 { + + zRet = Xsqlite3_mprintf(tls, ts+9603 /* "0" */, 0) + } + + return zRet +} + +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var zRet uintptr = Xsqlite3_mprintf(tls, + + ts+37512, /* "SELECT * FROM \"%..." */ + libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) + return zRet +} + +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:208289:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 = SQLITE_OK + var zStmt uintptr = sessionSelectFindNew(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, zDb1, zDb2, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr) + + if zStmt == uintptr(0) { + rc = SQLITE_NOMEM + } else { + // var pStmt uintptr at bp, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp /* &pStmt */, uintptr(0)) + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { + sessionPreupdateOneChange(tls, op, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + + return rc +} + +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var rc int32 = SQLITE_OK + + var zExpr2 uintptr = sessionExprCompareOther(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, + (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (*SessionTable)(unsafe.Pointer(pTab)).FazCol, (*SessionTable)(unsafe.Pointer(pTab)).FabPK) + if zExpr2 == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var zStmt uintptr = Xsqlite3_mprintf(tls, + ts+37590, /* "SELECT * FROM \"%..." */ + 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 + } else { + // var pStmt uintptr at bp+48, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+48 /* &pStmt */, uintptr(0)) + + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) { + sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + } + + return rc +} + +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:208360:16: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var zDb uintptr + var rc int32 + // var d SessionDiffCtx at bp, 16 + + var i int32 + var bHasPk int32 + var bMismatch int32 + // var nCol int32 at bp+24, 4 + // Columns in zFrom.zTbl + // var abPK uintptr at bp+40, 8 + + // var azCol uintptr at bp+32, 8 + + var zExpr uintptr + var db uintptr + // var pTo uintptr at bp+16, 8 + zDb = (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + + libc.Xmemset(tls, bp /* &d */, 0, uint64(unsafe.Sizeof(SessionDiffCtx{}))) + sessionDiffHooks(tls, pSession, bp /* &d */) + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if !(pzErrMsg != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) +__1: + ; + if !(rc == SQLITE_OK) { + goto __2 + } + zExpr = uintptr(0) + db = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Table zTbl + + // Locate and if necessary initialize the target table object + rc = sessionFindTable(tls, pSession, zTbl, bp+16 /* &pTo */) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)) == uintptr(0)) { + goto __3 + } + goto diff_out +__3: + ; + if !(sessionInitTable(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */))) != 0) { + goto __4 + } + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + goto diff_out +__4: + ; + + // Check the table schemas match + if !(rc == SQLITE_OK) { + goto __5 + } + bHasPk = 0 + bMismatch = 0 + *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) = uintptr(0) + rc = sessionTableInfo(tls, uintptr(0), db, zFrom, zTbl, bp+24 /* &nCol */, uintptr(0), bp+32 /* &azCol */, bp+40 /* &abPK */) + if !(rc == SQLITE_OK) { + goto __6 + } + if !((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __7 + } + bMismatch = 1 + goto __8 +__7: + i = 0 +__9: + if !(i < *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __11 + } + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))))) { + goto __12 + } + bMismatch = 1 +__12: + ; + if !(Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol + uintptr(i)*8))) != 0) { + goto __13 + } + bMismatch = 1 +__13: + ; + if !(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))) != 0) { + goto __14 + } + bHasPk = 1 +__14: + ; + goto __10 +__10: + i++ + goto __9 + goto __11 +__11: + ; +__8: + ; +__6: + ; + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */))) + if !(bMismatch != 0) { + goto __15 + } + if !(pzErrMsg != 0) { + goto __16 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+37643 /* "table schemas do..." */, 0) +__16: + ; + rc = SQLITE_SCHEMA +__15: + ; + if !(bHasPk == 0) { + goto __17 + } + // Ignore tables with no primary keys + goto diff_out +__17: + ; +__5: + ; + + if !(rc == SQLITE_OK) { + goto __18 + } + zExpr = sessionExprComparePK(tls, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol, + zDb, zFrom, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FzName, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK) +__18: + ; + + // Find new rows + if !(rc == SQLITE_OK) { + goto __19 + } + rc = sessionDiffFindNew(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zDb, zFrom, zExpr) +__19: + ; + + // Find old rows + if !(rc == SQLITE_OK) { + goto __20 + } + rc = sessionDiffFindNew(tls, SQLITE_DELETE, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zDb, zExpr) +__20: + ; + + // Find modified rows + if !(rc == SQLITE_OK) { + goto __21 + } + rc = sessionDiffFindModified(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zExpr) +__21: + ; + + Xsqlite3_free(tls, zExpr) +__2: + ; + +diff_out: + sessionPreupdateHooks(tls, pSession) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Create a session object. This session object will record changes to +// database zDb attached to connection db. +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:208455:16: */ + var pNew uintptr // Newly allocated session object + var pOld uintptr // Session object already attached to db + var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes + + // Zero the output value in case an error occurs. + *(*uintptr)(unsafe.Pointer(ppSession)) = uintptr(0) + + // Allocate and populate the new session object. + pNew = Xsqlite3_malloc64(tls, (uint64((uint64(unsafe.Sizeof(Sqlite3_session{})) + uint64(nDb)) + uint64(1)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_session{}))) + (*Sqlite3_session)(unsafe.Pointer(pNew)).Fdb = db + (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb = (pNew + 1*136) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FbEnable = 1 + libc.Xmemcpy(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, zDb, (uint64(nDb + 1))) + sessionPreupdateHooks(tls, pNew) + + // Add the new session object to the linked list of session objects + // attached to database handle $db. Do this under the cover of the db + // handle mutex. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + pOld = Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), pNew) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FpNext = pOld + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + + *(*uintptr)(unsafe.Pointer(ppSession)) = pNew + return SQLITE_OK +} + +// Free the list of table objects passed as the first argument. The contents +// of the changed-rows hash tables are also deleted. +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:208493:13: */ + var pNext uintptr + var pTab uintptr + + for pTab = pList; pTab != 0; pTab = pNext { + var i int32 + pNext = (*SessionTable)(unsafe.Pointer(pTab)).FpNext + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNextChange uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNextChange { + pNextChange = (*SessionChange)(unsafe.Pointer(p)).FpNext + sessionFree(tls, pSession, p) + } + } + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FazCol) // cast works around VC++ bug + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + sessionFree(tls, pSession, pTab) + } +} + +// Delete a session object previously allocated using sqlite3session_create(). +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208517:17: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + // var pHead uintptr at bp, 8 + + var pp uintptr + + // Unlink the session from the linked list of sessions attached to the + // database handle. Hold the db mutex while doing so. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + *(*uintptr)(unsafe.Pointer(bp /* pHead */)) = Xsqlite3_preupdate_hook(tls, db, uintptr(0), uintptr(0)) + for pp = bp; /* &pHead */ (*(*uintptr)(unsafe.Pointer(pp))) != uintptr(0); pp = (*(*uintptr)(unsafe.Pointer(pp)) + 80 /* &.pNext */) { + if (*(*uintptr)(unsafe.Pointer(pp))) == pSession { + *(*uintptr)(unsafe.Pointer(pp)) = (*Sqlite3_session)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + if *(*uintptr)(unsafe.Pointer(bp /* pHead */)) != 0 { + Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), *(*uintptr)(unsafe.Pointer(bp /* pHead */))) + } + break + } + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + Xsqlite3ValueFree(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob) + + // Delete all attached table objects. And the contents of their + // associated hash-tables. + sessionDeleteTable(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable) + + // Assert that all allocations have been freed and then free the + // session object itself. + + Xsqlite3_free(tls, pSession) +} + +// Set a table filter on a Session Object. +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:208549:17: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter +} + +// Attach a table to a session. All subsequent changes made to the table +// while the session object is enabled will be recorded. +// +// Only tables that have a PRIMARY KEY defined may be attached. It does +// not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) +// or not. +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:208567:16: */ + var rc int32 = SQLITE_OK + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + if !(zName != 0) { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + } else { + var pTab uintptr // New table object (if required) + var nName int32 // Number of bytes in string zName + + // First search for an existing entry. If one is found, this call is + // a no-op. Return early. + nName = Xsqlite3Strlen30(tls, zName) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (nName+1)) { + break + } + } + + if !(pTab != 0) { + // Allocate new SessionTable object. + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionTable{})) + uint64(nName)) + uint64(1))) + pTab = sessionMalloc64(tls, pSession, int64(nByte)) + if !(pTab != 0) { + rc = SQLITE_NOMEM + } else { + // Populate the new SessionTable object and link it into the list. + // The new object must be linked onto the end of the list, not + // simply added to the start of it in order to ensure that tables + // appear in the correct order when a changeset or patchset is + // eventually generated. + var ppTab uintptr + libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = (pTab + 1*56) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (uint64(nName + 1))) + for ppTab = (pSession + 88 /* &.pTable */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } + } + } + + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Ensure that there is room in the buffer to append nByte bytes of data. +// If not, use sqlite3_realloc() to grow the buffer so that there is. +// +// If successful, return zero. Otherwise, if an OOM condition is encountered, +// set *pRc to SQLITE_NOMEM and return non-zero. +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:208620:12: */ + var nReq I64 = (I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte) + if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc)) { + var aNew uintptr + var nNew I64 + if (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc != 0 { + nNew = int64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) + } else { + nNew = int64(128) + } + + for ok := true; ok; ok = (nNew < nReq) { + nNew = (nNew * int64(2)) + } + + // The value of SESSION_MAX_BUFFER_SZ is copied from the implementation + // of sqlite3_realloc64(). Allocations greater than this size in bytes + // always fail. It is used here to ensure that this routine can always + // allocate up to this limit - instead of up to the largest power of + // two smaller than the limit. + if nNew > (int64(0x7FFFFF00 - 1)) { + nNew = (int64(0x7FFFFF00 - 1)) + if nNew < nReq { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + return 1 + } + } + + aNew = Xsqlite3_realloc64(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf, uint64(nNew)) + if uintptr(0) == aNew { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } else { + (*SessionBuffer)(unsafe.Pointer(p)).FaBuf = aNew + (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc = int32(nNew) + } + } + return (libc.Bool32(*(*int32)(unsafe.Pointer(pRc)) != SQLITE_OK)) +} + +// Append the value passed as the second argument to the buffer passed +// as the first. +// +// This function is a no-op if *pRc is non-zero when it is called. +// Otherwise, if an error occurs, *pRc is set to an SQLite error code +// before returning. +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:208663:13: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, uintptr(0), pVal, bp /* &nByte */) + sessionBufferGrow(tls, p, *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)), bp+8 /* &rc */) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), pVal, uintptr(0)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += int32((*(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)))) + } else { + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) + } + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single byte to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:208685:13: */ + if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { + *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single varint to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:208698:13: */ + if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (sessionVarintPut(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), v)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a blob of data to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:208711:13: */ + if (nBlob > 0) && (0 == sessionBufferGrow(tls, p, int64(nBlob), pRc)) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), aBlob, uint64(nBlob)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nBlob) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a string to the buffer. All bytes in the string +// up to (but not including) the nul-terminator are written to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208731:13: */ + var nStr int32 = Xsqlite3Strlen30(tls, zStr) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), zStr, uint64(nStr)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nStr) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string representation of integer iVal +// to the buffer. No nul-terminator is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aBuf [24]int8 at bp+8, 24 + + Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+8 /* &aBuf[0] */, ts+6834 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string zStr enclosed in quotes (") and +// with any embedded quote characters escaped to the buffer. No +// nul-terminator byte is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208770:13: */ + var nStr int32 = (((Xsqlite3Strlen30(tls, zStr) * 2) + 2) + 1) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + var zOut uintptr = ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)) + var zIn uintptr = zStr + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + for *(*int8)(unsafe.Pointer(zIn)) != 0 { + if int32(*(*int8)(unsafe.Pointer(zIn))) == '"' { + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + (*SessionBuffer)(unsafe.Pointer(p)).FnBuf = (int32((int64(zOut) - int64((*SessionBuffer)(unsafe.Pointer(p)).FaBuf)) / 1)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwse, it appends the serialized version of the value stored +// in column iCol of the row that SQL statement pStmt currently points +// to to the buffer. +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:208795:13: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var eType int32 = Xsqlite3_column_type(tls, pStmt, iCol) + sessionAppendByte(tls, p, U8(eType), pRc) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var i Sqlite3_int64 at bp, 8 + + // var aBuf [8]U8 at bp+16, 8 + + if eType == SQLITE_INTEGER { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */)) = Xsqlite3_column_int64(tls, pStmt, iCol) + } else { + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_column_double(tls, pStmt, iCol) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint64(8)) + } + sessionPutI64(tls, bp+16 /* &aBuf[0] */, *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */))) + sessionAppendBlob(tls, p, bp+16 /* &aBuf[0] */, 8, pRc) + } + if (eType == SQLITE_BLOB) || (eType == SQLITE_TEXT) { + var z uintptr + var nByte int32 + if eType == SQLITE_BLOB { + z = Xsqlite3_column_blob(tls, pStmt, iCol) + } else { + z = Xsqlite3_column_text(tls, pStmt, iCol) + } + nByte = Xsqlite3_column_bytes(tls, pStmt, iCol) + if (z != 0) || ((eType == SQLITE_BLOB) && (nByte == 0)) { + sessionAppendVarint(tls, p, nByte, pRc) + sessionAppendBlob(tls, p, z, nByte, pRc) + } else { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } + } + } +} + +// +// This function appends an update change to the buffer (see the comments +// under "CHANGESET FORMAT" at the top of the file). An update change +// consists of: +// +// 1 byte: SQLITE_UPDATE (0x17) +// n bytes: old.* record (see RECORD FORMAT) +// m bytes: new.* record (see RECORD FORMAT) +// +// The SessionChange object passed as the third argument contains the +// values that were stored in the row when the session began (the old.* +// values). The statement handle passed as the second argument points +// at the current version of the row (the new.* values). +// +// If all of the old.* values are equal to their corresponding new.* value +// (i.e. nothing has changed), then no data at all is appended to the buffer. +// +// Otherwise, the old.* record contains all primary key values and the +// original values of any fields that have been modified. The new.* record +// contains the new values of only those fields that have been modified. +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:208857:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp + 32 /* buf2 */)) = SessionBuffer{} // Buffer to accumulate new.* record in + var bNoop int32 = 1 // Set to zero if any values are modified + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf // Set to zero if any values are modified + var i int32 // Used to iterate through columns + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord // Used to iterate through old.* values + + sessionAppendByte(tls, pBuf, uint8(SQLITE_UPDATE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + for i = 0; i < Xsqlite3_column_count(tls, pStmt); i++ { + var bChanged int32 = 0 + var nAdvance int32 + var eType int32 = int32(*(*U8)(unsafe.Pointer(pCsr))) + switch eType { + case SQLITE_NULL: + nAdvance = 1 + if Xsqlite3_column_type(tls, pStmt, i) != SQLITE_NULL { + bChanged = 1 + } + break + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + nAdvance = 9 + if eType == Xsqlite3_column_type(tls, pStmt, i) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, (pCsr + 1)) + if eType == SQLITE_INTEGER { + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) == Xsqlite3_column_int64(tls, pStmt, i) { + break + } + } else { + // var dVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &dVal */, bp+16 /* &iVal */, uint64(8)) + if *(*float64)(unsafe.Pointer(bp + 8 /* dVal */)) == Xsqlite3_column_double(tls, pStmt, i) { + break + } + } + } + bChanged = 1 + break + + } + + default: + { + // var n int32 at bp+24, 4 + + var nHdr int32 = (1 + sessionVarintGet(tls, (pCsr+1), bp+24 /* &n */)) + + nAdvance = (nHdr + *(*int32)(unsafe.Pointer(bp + 24 /* n */))) + if ((eType == Xsqlite3_column_type(tls, pStmt, i)) && + (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == Xsqlite3_column_bytes(tls, pStmt, i))) && + ((*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == 0) || (0 == libc.Xmemcmp(tls, (pCsr+uintptr(nHdr)), Xsqlite3_column_blob(tls, pStmt, i), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))))) { + break + } + bChanged = 1 + + } + } + + // If at least one field has been modified, this is not a no-op. + if bChanged != 0 { + bNoop = 0 + } + + // Add a field to the old.* record. This is omitted if this modules is + // currently generating a patchset. + if bPatchset == 0 { + if (bChanged != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + sessionAppendBlob(tls, pBuf, pCsr, nAdvance, bp /* &rc */) + } else { + sessionAppendByte(tls, pBuf, uint8(0), bp /* &rc */) + } + } + + // Add a field to the new.* record. Or the only record if currently + // generating a patchset. + if (bChanged != 0) || ((bPatchset != 0) && (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0)) { + sessionAppendCol(tls, bp+32 /* &buf2 */, pStmt, i, bp /* &rc */) + } else { + sessionAppendByte(tls, bp+32 /* &buf2 */, uint8(0), bp /* &rc */) + } + + pCsr += uintptr(nAdvance) + } + + if bNoop != 0 { + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = nRewind + } else { + sessionAppendBlob(tls, pBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FnBuf, bp /* &rc */) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Append a DELETE change to the buffer passed as the first argument. Use +// the changeset format if argument bPatchset is zero, or the patchset +// format otherwise. +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:208956:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + + sessionAppendByte(tls, pBuf, uint8(SQLITE_DELETE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + + if bPatchset == 0 { + sessionAppendBlob(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp /* &rc */) + } else { + var i int32 + var a uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord + for i = 0; i < nCol; i++ { + var pStart uintptr = a + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + a += uintptr(8) + break + fallthrough + + default: + { + // var n int32 at bp+4, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+4 /* &n */)) + a += uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* n */))) + break + + } + } + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendBlob(tls, pBuf, pStart, (int32((int64(a) - int64(pStart)) / 1)), bp /* &rc */) + } + } + + } + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Formulate and prepare a SELECT statement to retrieve a row from table +// zTab in database zDb based on its primary key. i.e. +// +// SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + var zSql uintptr = uintptr(0) + var nSql int32 = -1 + + if 0 == Xsqlite3_stricmp(tls, ts+13335 /* "sqlite_stat1" */, zTab) { + zSql = Xsqlite3_mprintf(tls, + + ts+37670 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + if zSql == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_NOMEM + } + } else { + var i int32 + var zSep uintptr = ts + 904 /* "" */ + *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp+8 /* &buf */, ts+37780 /* "SELECT * FROM " */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zDb, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+917 /* "." */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zTab, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+37795 /* " WHERE " */, bp+24 /* &rc */) + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendStr(tls, bp+8 /* &buf */, zSep, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+37803 /* " IS ?" */, bp+24 /* &rc */) + sessionAppendInteger(tls, bp+8 /* &buf */, (i + 1), bp+24 /* &rc */) + zSep = ts + 24062 /* " AND " */ + } + } + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FnBuf + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + } + Xsqlite3_free(tls, zSql) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Bind the PRIMARY KEY values from the change passed in argument pChange +// to the SELECT statement passed as the first argument. The SELECT statement +// is as prepared by function sessionSelectStmt(). +// +// Return SQLITE_OK if all PK values are successfully bound, or an SQLite +// error code (e.g. SQLITE_NOMEM) otherwise. +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:209068:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 + var rc int32 = SQLITE_OK + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord + + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + + case SQLITE_INTEGER: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + var iVal I64 = sessionGetI64(tls, a) + rc = Xsqlite3_bind_int64(tls, pSelect, (i + 1), iVal) + } + a += uintptr(8) + break + + } + + case SQLITE_FLOAT: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + // var rVal float64 at bp, 8 + + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = sessionGetI64(tls, a) + libc.Xmemcpy(tls, bp /* &rVal */, bp+8 /* &iVal */, uint64(8)) + rc = Xsqlite3_bind_double(tls, pSelect, (i + 1), *(*float64)(unsafe.Pointer(bp /* rVal */))) + } + a += uintptr(8) + break + + } + + case SQLITE_TEXT: + { + // var n int32 at bp+16, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+16 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_text(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 16 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* n */))) + break + + } + + default: + { + // var n int32 at bp+20, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_blob(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 20 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + break + + } + } + } + + return rc +} + +// This function is a no-op if *pRc is set to other than SQLITE_OK when it +// is called. Otherwise, append a serialized table header (part of the binary +// changeset format) to buffer *pBuf. If an error occurs, set *pRc to an +// SQLite error code before returning. +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:209139:13: */ + // Write a table header + sessionAppendByte(tls, pBuf, func() uint8 { + if bPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), pRc) + sessionAppendVarint(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (int32(libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + 1), pRc) +} + +// Generate either a changeset (if argument bPatchset is zero) or a patchset +// (if it is non-zero) based on the current contents of the session object +// passed as the first argument. +// +// If no error occurs, SQLITE_OK is returned and the new changeset/patchset +// stored in output variables *pnChangeset and *ppChangeset. Or, if an error +// occurs, an SQLite error code is returned and both output variables set +// to 0. +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209162:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Source database handle + var pTab uintptr // Used to iterate through attached tables + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* buf */)) = SessionBuffer{} // Buffer in which to accumlate changeset + // var rc int32 at bp+40, 4 + // Return code + + // Zero the output variables in case an error occurs. If this session + // object is already in the error state (sqlite3_session.rc != SQLITE_OK), + // this call will be a no-op. + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = 0 + *(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0) + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+37809 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) + } + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry != 0 { + var zName uintptr = (*SessionTable)(unsafe.Pointer(pTab)).FzName + // var nCol int32 at bp, 4 + // Number of columns in table + // var abPK uintptr at bp+16, 8 + // Primary key array + *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)) = uintptr(0) // Table columns + var i int32 // Used to iterate through hash buckets + *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)) = uintptr(0) // SELECT statement to query table pTab + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf // Initial size of write buffer + var nNoop int32 // Size of buffer after writing tbl header + + // Check the table schema is still Ok. + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionTableInfo(tls, uintptr(0), db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, bp /* &nCol */, uintptr(0), bp+8 /* &azCol */, bp+16 /* &abPK */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) && (((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp /* nCol */))) || (libc.Xmemcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), (*SessionTable)(unsafe.Pointer(pTab)).FabPK, uint64(*(*int32)(unsafe.Pointer(bp /* nCol */)))) != 0)) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_SCHEMA + } + + // Write a table header + sessionAppendTableHdr(tls, bp+24 /* &buf */, bPatchset, pTab, bp+40 /* &rc */) + + // Build and compile a statement to execute: + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectStmt(tls, + db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), bp+48 /* &pSel */) + } + + nNoop = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + for i = 0; (i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange) && (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK); i++ { + var p uintptr // Used to iterate through changes + + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (p != 0); p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectBind(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), p) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + continue + } + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) == SQLITE_ROW { + if int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_INSERT { + var iCol int32 + sessionAppendByte(tls, bp+24 /* &buf */, uint8(SQLITE_INSERT), bp+40 /* &rc */) + sessionAppendByte(tls, bp+24 /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+40 /* &rc */) + for iCol = 0; iCol < *(*int32)(unsafe.Pointer(bp /* nCol */)); iCol++ { + sessionAppendCol(tls, bp+24 /* &buf */, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), iCol, bp+40 /* &rc */) + } + } else { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendUpdate(tls, bp+24 /* &buf */, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), p, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + } else if int32((*SessionChange)(unsafe.Pointer(p)).Fop) != SQLITE_INSERT { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendDelete(tls, bp+24 /* &buf */, bPatchset, p, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + } + + // If the buffer is now larger than sessions_strm_chunk_size, pass + // its contents to the xOutput() callback. + if (((xOutput != 0) && + (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > nNoop)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + nNoop = -1 + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = 0 + } + + } + } + + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf == nNoop { + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = nRewind + } + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */))) // cast works around VC++ bug + } + } + + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf = uintptr(0) + } else if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + } + } + + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf) + Xsqlite3_exec(tls, db, ts+37829 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Obtain a changeset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209288:16: */ + var rc int32 = sessionGenerateChangeset(tls, pSession, 0, uintptr(0), uintptr(0), pnChangeset, ppChangeset) + + return rc +} + +// Streaming version of sqlite3session_changeset(). +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209303:16: */ + return sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Streaming version of sqlite3session_patchset(). +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209314:16: */ + return sessionGenerateChangeset(tls, pSession, 1, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Obtain a patchset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:209329:16: */ + return sessionGenerateChangeset(tls, pSession, 1, uintptr(0), uintptr(0), pnPatchset, ppPatchset) +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:209340:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bEnable >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable = bEnable + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:209354:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bIndirect >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect = bIndirect + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Return true if there have been no changes to monitored tables recorded +// by the session object passed as the only argument. +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:209369:16: */ + var ret int32 = 0 + var pTab uintptr + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (pTab != 0) && (ret == 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + ret = (libc.Bool32((*SessionTable)(unsafe.Pointer(pTab)).FnEntry > 0)) + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + return (libc.Bool32(ret == 0)) +} + +// Return the amount of heap memory in use. +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209385:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc +} + +// Configure the session object passed as the first argument. +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:209392:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_OBJCONFIG_SIZE: + { + var iArg int32 = *(*int32)(unsafe.Pointer(pArg)) + if iArg >= 0 { + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable != 0 { + rc = SQLITE_MISUSE + } else { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize = (libc.Bool32(iArg != 0)) + } + } + *(*int32)(unsafe.Pointer(pArg)) = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize + break + + } + + default: + rc = SQLITE_MISUSE + } + + return rc +} + +// Return the maximum size of sqlite3session_changeset() output. +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209418:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize +} + +// Do the work for either sqlite3changeset_start() or start_strm(). +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:209425:12: */ + var pRet uintptr // Iterator to return + var nByte int32 // Number of bytes to allocate for iterator + + // Zero the output variable in case an error occurs. + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + + // Allocate and initialize the iterator structure. + nByte = int32(unsafe.Sizeof(Sqlite3_changeset_iter{})) + pRet = Xsqlite3_malloc(tls, nByte) + if !(pRet != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pRet, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FbEof = func() int32 { + if xInput != 0 { + return 0 + } + return 1 + }() + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbInvert = bInvert + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbSkipEmpty = bSkipEmpty + + // Populate the output variable and return success. + *(*uintptr)(unsafe.Pointer(pp)) = pRet + return SQLITE_OK +} + +// Create an iterator used to iterate through the contents of a changeset. +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:209463:16: */ + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) +} + +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:209470:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) +} + +// Streaming version of sqlite3changeset_start(). +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:209483:16: */ + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) +} + +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:209490:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) +} + +// If the SessionInput object passed as the only argument is a streaming +// object and the buffer is full, discard some data to free up space. +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:209504:13: */ + if ((*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0) && ((*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size) { + var nMove int32 = ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext) + + if nMove > 0 { + libc.Xmemmove(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), uint64(nMove)) + } + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) -= ((*SessionInput)(unsafe.Pointer(pIn)).FiNext) + (*SessionInput)(unsafe.Pointer(pIn)).FiNext = 0 + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } +} + +// Ensure that there are at least nByte bytes available in the buffer. Or, +// if there are not nByte bytes remaining in the input, that all available +// data is in the buffer. +// +// Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:209524:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 { + for (!((*SessionInput)(unsafe.Pointer(pIn)).FbEof != 0) && (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte) >= (*SessionInput)(unsafe.Pointer(pIn)).FnData)) && (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) { + *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) = sessions_strm_chunk_size + + if (*SessionInput)(unsafe.Pointer(pIn)).FbNoDiscard == 0 { + sessionDiscardData(tls, pIn) + } + if SQLITE_OK == sessionBufferGrow(tls, (pIn+32 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 48 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { + (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 + } else { + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) += (*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))) + } + } + + (*SessionInput)(unsafe.Pointer(pIn)).FaData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// When this function is called, *ppRec points to the start of a record +// that contains nCol values. This function advances the pointer *ppRec +// until it points to the byte immediately following that record. +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:209552:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var aRec uintptr = *(*uintptr)(unsafe.Pointer(ppRec)) + var i int32 + for i = 0; i < nCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aRec, 1)))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + aRec += uintptr(sessionVarintGet(tls, aRec, bp /* &nByte */)) + aRec += uintptr(*(*int32)(unsafe.Pointer(bp /* nByte */))) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + aRec += uintptr(8) + } + } + + *(*uintptr)(unsafe.Pointer(ppRec)) = aRec +} + +// This function sets the value of the sqlite3_value object passed as the +// first argument to a copy of the string or blob held in the aData[] +// buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM +// error occurs. +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:209578:12: */ + // In theory this code could just pass SQLITE_TRANSIENT as the final + // argument to sqlite3ValueSetStr() and have the copy created + // automatically. But doing so makes it difficult to detect any OOM + // error. Hence the code to create the copy externally. + var aCopy uintptr = Xsqlite3_malloc64(tls, (uint64(Sqlite3_int64(nData) + int64(1)))) + if aCopy == uintptr(0) { + return SQLITE_NOMEM + } + libc.Xmemcpy(tls, aCopy, aData, uint64(nData)) + Xsqlite3ValueSetStr(tls, pVal, nData, aCopy, enc, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + return SQLITE_OK +} + +// Deserialize a single record from a buffer in memory. See "RECORD FORMAT" +// for details. +// +// When this function is called, *paChange points to the start of the record +// to deserialize. Assuming no error occurs, *paChange is set to point to +// one byte after the end of the same record before this function returns. +// If the argument abPK is NULL, then the record contains nCol values. Or, +// if abPK is other than NULL, then the record contains only the PK fields +// (in other words, it is a patchset DELETE record). +// +// If successful, each element of the apOut[] array (allocated by the caller) +// is set to point to an sqlite3_value object containing the value read +// from the corresponding position in the record. If that value is not +// included in the record (i.e. because the record is part of an UPDATE change +// and the field was not modified), the corresponding element of apOut[] is +// set to NULL. +// +// It is the responsibility of the caller to free all sqlite_value structures +// using sqlite3_free(). +// +// If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +// The apOut[] array may have been partially populated in this case. +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209619:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 // Used to iterate through columns + var rc int32 = SQLITE_OK + + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 1 + } + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = 0 // Type of value (SQLITE_NULL, TEXT etc.) + if (abPK != 0) && (int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0) { + continue + } + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { + rc = Xsqlite3CorruptError(tls, 209637) + } else { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) + + if eType != 0 { + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 0 + } + *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)) = Xsqlite3ValueNew(tls, uintptr(0)) + if !(int32(*(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8))) != 0) { + rc = SQLITE_NOMEM + } + } + } + } + + if rc == SQLITE_OK { + var aVal uintptr = ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (sessionVarintGet(tls, aVal, bp /* &nByte */)) + rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) + if rc == SQLITE_OK { + if (*(*int32)(unsafe.Pointer(bp /* nByte */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nByte */)) > ((*SessionInput)(unsafe.Pointer(pIn)).FnData - (*SessionInput)(unsafe.Pointer(pIn)).FiNext)) { + rc = Xsqlite3CorruptError(tls, 209657) + } else { + var enc U8 = func() uint8 { + if eType == SQLITE_TEXT { + return uint8(SQLITE_UTF8) + } + return uint8(0) + }() + rc = sessionValueSetStr(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), *(*int32)(unsafe.Pointer(bp /* nByte */)), enc) + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nByte */))) + } + } + } + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */)) = sessionGetI64(tls, aVal) + if eType == SQLITE_INTEGER { + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */))) + } else { + // var d float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &d */, bp+16 /* &v */, uint64(8)) + Xsqlite3VdbeMemSetDouble(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*float64)(unsafe.Pointer(bp + 8 /* d */))) + } + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (8) + } + } + } + + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function ensures that all of the above is present in the input +// buffer (i.e. that it can be accessed without any calls to xInput()). +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. +// The input pointer is not moved. +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:209695:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + *(*int32)(unsafe.Pointer(bp /* nCol */)) = 0 + var nRead int32 = 0 + + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + nRead = nRead + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead))), bp /* &nCol */)) + // The hard upper limit for the number of columns in an SQLite + // database table is, according to sqliteLimit.h, 32676. So + // consider any table-header that purports to have more than 65536 + // columns to be corrupt. This is convenient because otherwise, + // if the (nCol>65536) condition below were omitted, a sufficiently + // large value for nCol may cause nRead to wrap around and become + // negative. Leading to a crash. + if (*(*int32)(unsafe.Pointer(bp /* nCol */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nCol */)) > 65536) { + rc = Xsqlite3CorruptError(tls, 209711) + } else { + rc = sessionInputBuffer(tls, pIn, ((nRead + *(*int32)(unsafe.Pointer(bp /* nCol */))) + 100)) + nRead = nRead + (*(*int32)(unsafe.Pointer(bp /* nCol */))) + } + } + + for rc == SQLITE_OK { + for (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData) && (*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead)))) != 0) { + nRead++ + } + if ((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData { + break + } + rc = sessionInputBuffer(tls, pIn, (nRead + 100)) + } + *(*int32)(unsafe.Pointer(pnByte)) = (nRead + 1) + return rc +} + +// The input pointer currently points to the first byte of the first field +// of a record consisting of nCol columns. This function ensures the entire +// record is buffered. It does not move the input pointer. +// +// If successful, SQLITE_OK is returned and *pnByte is set to the size of +// the record in bytes. Otherwise, an SQLite error code is returned. The +// final value of *pnByte is undefined in this case. +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:209738:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var nByte int32 = 0 + var i int32 + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + var eType int32 + rc = sessionInputBuffer(tls, pIn, (nByte + 10)) + if rc == SQLITE_OK { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + libc.PostIncInt32(&nByte, 1)))))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var n int32 at bp, 4 + + nByte = nByte + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte))), bp /* &n */)) + nByte = nByte + (*(*int32)(unsafe.Pointer(bp /* n */))) + rc = sessionInputBuffer(tls, pIn, nByte) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + nByte = nByte + (8) + } + } + } + *(*int32)(unsafe.Pointer(pnByte)) = nByte + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function decodes the table-header and populates the p->nCol, +// p->zTab and p->abPK[] variables accordingly. The p->apValue[] array is +// also allocated or resized according to the new value of p->nCol. The +// input pointer is left pointing to the byte following the table header. +// +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code +// is returned and the final values of the various fields enumerated above +// are undefined. +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209782:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var rc int32 at bp+4, 4 + + // var nCopy int32 at bp, 4 + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetBufferTblhdr(tls, (p /* &.in */), bp /* &nCopy */) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte int32 + var nVarint int32 + nVarint = sessionVarintGet(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), (p + 120 /* &.nCol */)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol > 0 { + *(*int32)(unsafe.Pointer(bp /* nCopy */)) -= nVarint + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (nVarint) + nByte = (int32(((uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol) * uint64(unsafe.Sizeof(uintptr(0)))) * uint64(2)) + uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */))))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 + sessionBufferGrow(tls, (p + 72 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + } else { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 209799) + } + } + + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var iPK Size_t = ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2)) + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0, iPK) + libc.Xmemcpy(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + uintptr(iPK)), ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */)))) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nCopy */))) + } + + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue == uintptr(0) { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = uintptr(0) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = uintptr(0) + } else { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol*2))*8) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) + } + return uintptr(0) + }() + } + return libc.AssignPtrInt32(p+100 /* &.rc */, *(*int32)(unsafe.Pointer(bp + 4 /* rc */))) +} + +// Advance the changeset iterator to the next change. The differences between +// this function and sessionChangesetNext() are that +// +// * If pbEmpty is not NULL and the change is a no-op UPDATE (an UPDATE +// that modifies no columns), this function sets (*pbEmpty) to 1. +// +// * If the iterator is configured to skip no-op UPDATEs, +// sessionChangesetNext() does that. This function does not. +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209831:12: */ + var i int32 + var op U8 + + // If the iterator is in the error-state, return immediately. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // Free the current contents of p->apValue[], if any. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2))) + } + + // Make sure the buffer contains at least 10 bytes of input data, or all + // remaining data if there are less than 10 bytes available. This is + // sufficient either for the 'T' or 'P' byte and the varint that follows + // it, or for the two single byte values otherwise. + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionInputBuffer(tls, (p /* &.in */), 2) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // If the iterator is already at the end of the changeset, return DONE. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + + sessionDiscardData(tls, (p /* &.in */)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + + op = *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))) + for (int32(op) == 'T') || (int32(op) == 'P') { + if pbNew != 0 { + *(*int32)(unsafe.Pointer(pbNew)) = 1 + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset = (libc.Bool32(int32(op) == 'P')) + if sessionChangesetReadTblhdr(tls, p) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + if libc.AssignPtrInt32(p+100 /* &.rc */, sessionInputBuffer(tls, (p /* &.in */), 2)) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + op = *(*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)).FzTab == uintptr(0)) || (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) { + // The first record in the changeset is not a table header. Must be a + // corrupt changeset. + + return libc.AssignPtrInt32(p+100 /* &.rc */, Xsqlite3CorruptError(tls, 209885)) + } + + (*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 /* &.rc */, Xsqlite3CorruptError(tls, 209891)) + } + + if paRec != 0 { + var nVal int32 // Number of values to buffer + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) && (int32(op) == SQLITE_UPDATE) { + nVal = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2) + } else if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && (int32(op) == SQLITE_DELETE) { + nVal = 0 + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { + nVal++ + } + } + } else { + nVal = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionChangesetBufferRecord(tls, (p /* &.in */), nVal, pnRec) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + *(*uintptr)(unsafe.Pointer(paRec)) = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(pnRec))) + } else { + var apOld uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + } + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + }() + var apNew uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + } + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + }() + + // If this is an UPDATE or DELETE, read the old.* record. + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT) && (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE)) { + var abPK uintptr + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 { + abPK = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + } else { + abPK = uintptr(0) + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, abPK, apOld, uintptr(0)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + // If this is an INSERT or UPDATE, read the new.* record. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, uintptr(0), apNew, pbEmpty) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + if (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_UPDATE) { + // If this is an UPDATE that is part of a patchset, then all PK and + // modified fields are present in the new.* record. The old.* record + // is currently completely empty. This block shifts the PK fields from + // new.* to old.*, to accommodate the code that reads these arrays. + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + + 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 /* &.rc */, Xsqlite3CorruptError(tls, 209935)) + } + *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol))*8)) = uintptr(0) + } + } + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_INSERT { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_DELETE + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_INSERT + } + } + } + + return SQLITE_ROW +} + +// Advance the changeset iterator to the next change. +// +// If both paRec and pnRec are NULL, then this function works like the public +// API sqlite3changeset_next(). If SQLITE_ROW is returned, then the +// sqlite3changeset_new() and old() APIs may be used to query for values. +// +// Otherwise, if paRec and pnRec are not NULL, then a pointer to the change +// record is written to *paRec before returning and the number of bytes in +// the record to *pnRec. +// +// Either way, this function returns SQLITE_ROW if the iterator is +// successfully advanced to the next change in the changeset, an SQLite +// error code if an error occurs, or SQLITE_DONE if there are no further +// changes in the changeset. +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:209964:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var bEmpty int32 at bp, 4 + + var rc int32 + for ok := true; ok; ok = (((rc == SQLITE_ROW) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbSkipEmpty != 0)) && (*(*int32)(unsafe.Pointer(bp /* bEmpty */)) != 0)) { + *(*int32)(unsafe.Pointer(bp /* bEmpty */)) = 0 + rc = sessionChangesetNextOne(tls, p, paRec, pnRec, pbNew, bp /* &bEmpty */) + } + return rc +} + +// Advance an iterator created by sqlite3changeset_start() to the next +// change in the changeset. This function may return SQLITE_ROW, SQLITE_DONE +// or SQLITE_CORRUPT. +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209987:16: */ + return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) +} + +// The following function extracts information on the current change +// from a changeset iterator. It may only be called after changeset_next() +// has returned SQLITE_ROW. +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:209996:16: */ + *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + if pbIndirect != 0 { + *(*int32)(unsafe.Pointer(pbIndirect)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect + } + return SQLITE_OK +} + +// Return information regarding the PRIMARY KEY and number of columns in +// the database table affected by the change that pIter currently points +// to. This function may only be called after changeset_next() returns +// SQLITE_ROW. +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:210016:16: */ + *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + if pnCol != 0 { + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + } + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_DELETE change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the old.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified and is not a PK column), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210039:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(iVal)*8)) + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_INSERT change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the new.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210067:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+iVal))*8)) + return SQLITE_OK +} + +// The following two macros are used internally. They are similar to the +// sqlite3changeset_new() and sqlite3changeset_old() functions, except that +// they omit all error checking and return a pointer to the requested value. + +// This function may only be called with a changeset iterator that has been +// passed to an SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT +// conflict-handler function. Otherwise, SQLITE_MISUSE is returned. +// +// If successful, *ppValue is set to point to an sqlite3_value structure +// containing the iVal'th value of the conflicting record. +// +// If value iVal is out-of-range or some other error occurs, an SQLite error +// code is returned. Otherwise, SQLITE_OK. +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210101:16: */ + if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = Xsqlite3_column_value(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict, iVal) + return SQLITE_OK +} + +// This function may only be called with an iterator passed to an +// SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +// it sets the output variable to the total number of known foreign key +// violations in the destination database and returns SQLITE_OK. +// +// In all other cases this function returns SQLITE_MISUSE. +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:210124:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0) { + return SQLITE_MISUSE + } + *(*int32)(unsafe.Pointer(pnOut)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + return SQLITE_OK +} + +// Finalize an iterator allocated with sqlite3changeset_start(). +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:210142:16: */ + var rc int32 = SQLITE_OK + if p != 0 { + var i int32 // Used to iterate through p->apValue[] + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + } + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf) + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.Fbuf.FaBuf) + Xsqlite3_free(tls, p) + } + return rc +} + +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210157:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + // var rc int32 at bp+40, 4 + // Return value + // var sOut SessionBuffer at bp, 16 + // Output buffer + // var nCol int32 at bp+20, 4 + // Number of cols in current table + var abPK uintptr // PK array for current table + var apVal uintptr // Space for values for UPDATE inversion + // var sPK SessionBuffer at bp+24, 16 + + // A 'table' record consists of: + // + // * A constant 'T' character, + // * Number of columns in said table (a varint), + // * An array of nCol bytes (sPK), + // * A nul-terminated table name. + // var nByte int32 at bp+16, 4 + + var nVar int32 + // var nByte1 int32 at bp+44, 4 + + var bIndirect int32 + var eType2 int32 + var pVal uintptr + var pVal1 uintptr + var iCol int32 + var eType U8 + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) = 0 + abPK = uintptr(0) + apVal = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* sPK */)) = SessionBuffer{} // PK array for current table + + // Initialize the output buffer + libc.Xmemset(tls, bp /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + // Zero the output variables in case an error occurs. + if !(ppInverted != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(ppInverted)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnInverted)) = 0 +__1: + ; + +__2: + if !(1 != 0) { + goto __3 + } + + // Test for EOF. + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionInputBuffer(tls, pInput, 2)) != 0) { + goto __4 + } + goto finished_invert +__4: + ; + if !((*SessionInput)(unsafe.Pointer(pInput)).FiNext >= (*SessionInput)(unsafe.Pointer(pInput)).FnData) { + goto __5 + } + goto __3 +__5: + ; + eType = *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext))) + + switch int32(eType) { + case 'T': + goto __7 + + case SQLITE_INSERT: + goto __8 + case SQLITE_DELETE: + goto __9 + + case SQLITE_UPDATE: + goto __10 + + default: + goto __11 + } + goto __6 +__7: + (*SessionInput)(unsafe.Pointer(pInput)).FiNext++ + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionChangesetBufferTblhdr(tls, pInput, bp+16 /* &nByte */)) != 0) { + goto __12 + } + goto finished_invert +__12: + ; + nVar = sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), bp+20 /* &nCol */) + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FnBuf = 0 + sessionAppendBlob(tls, bp+24 /* &sPK */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + nVar))), *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 16 /* nByte */)), bp+40 /* &rc */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __13 + } + goto finished_invert +__13: + ; + + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 16 /* nByte */))) + Xsqlite3_free(tls, apVal) + apVal = uintptr(0) + abPK = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FaBuf + goto __6 + +__8: +__9: + bIndirect = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1))))) + eType2 = func() int32 { + if int32(eType) == SQLITE_DELETE { + return SQLITE_INSERT + } + return SQLITE_DELETE + }() + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionChangesetBufferRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+44 /* &nByte1 */) + sessionAppendByte(tls, bp /* &sOut */, uint8(eType2), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, uint8(bIndirect), bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */)), bp+40 /* &rc */) + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __14 + } + goto finished_invert +__14: + ; + goto __6 + +__10: + + if !(uintptr(0) == apVal) { + goto __15 + } + apVal = Xsqlite3_malloc64(tls, (uint64((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2)))) + if !(uintptr(0) == apVal) { + goto __16 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_NOMEM + goto finished_invert +__16: + ; + libc.Xmemset(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) +__15: + ; + + // Write the header for the new UPDATE change. Same as the original. + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1)))), bp+40 /* &rc */) + + // Read the old.* and new.* records for the update change. + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal), uintptr(0)) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) { + goto __17 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal + uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))*8), uintptr(0)) +__17: + ; + + // Write the new old.* record. Consists of the PK columns from the + // original old.* record, and the other values from the original + // new.* record. + iCol = 0 +__18: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __20 + } + pVal = *(*uintptr)(unsafe.Pointer(apVal + uintptr((iCol+(func() int32 { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return 0 + } + return *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) + }())))*8)) + sessionAppendValue(tls, bp /* &sOut */, pVal, bp+40 /* &rc */) + goto __19 +__19: + iCol++ + goto __18 + goto __20 +__20: + ; + + // Write the new new.* record. Consists of a copy of all values + // from the original old.* record, except for the PK columns, which + // are set to "undefined". + iCol = 0 +__21: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __23 + } + pVal1 = func() uintptr { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return uintptr(0) + } + return *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8)) + }() + sessionAppendValue(tls, bp /* &sOut */, pVal1, bp+40 /* &rc */) + goto __22 +__22: + iCol++ + goto __21 + goto __23 +__23: + ; + + iCol = 0 +__24: + if !(iCol < (*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) * 2)) { + goto __26 + } + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8))) + goto __25 +__25: + iCol++ + goto __24 + goto __26 +__26: + ; + libc.Xmemset(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __27 + } + goto finished_invert +__27: + ; + + goto __6 + +__11: + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 210284) + goto finished_invert +__6: + ; + + if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { + goto __28 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __29 + } + goto finished_invert +__29: + ; +__28: + ; + goto __2 +__3: + ; + + if !(pnInverted != 0) { + goto __30 + } + *(*int32)(unsafe.Pointer(pnInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf = uintptr(0) + goto __31 +__30: + if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { + goto __32 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) +__32: + ; +__31: + ; + +finished_invert: + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf) + Xsqlite3_free(tls, apVal) + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &sPK */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Invert a changeset object. +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210316:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FnData = nChangeset + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FaData = pChangeset + + return sessionChangesetInvert(tls, bp /* &sInput */, uintptr(0), uintptr(0), pnInverted, ppInverted) +} + +// Streaming version of sqlite3changeset_invert(). +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:210335:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + var rc int32 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FxInput = xInput + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FpIn = pIn + + rc = sessionChangesetInvert(tls, bp /* &sInput */, xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3_free(tls, (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).Fbuf.FaBuf) + return rc +} + +type SessionUpdate1 = struct { + FpStmt uintptr + FaMask uintptr + FpNext uintptr +} /* sqlite3.c:210355:9 */ + +type SessionUpdate = SessionUpdate1 /* sqlite3.c:210355:30 */ + +type SessionApplyCtx1 = struct { + Fdb uintptr + FpDelete uintptr + FpInsert uintptr + FpSelect uintptr + FnCol int32 + _ [4]byte + FazCol uintptr + FabPK uintptr + FaUpdateMask uintptr + FpUp uintptr + FbStat1 int32 + FbDeferConstraints int32 + FbInvertConstraints int32 + _ [4]byte + Fconstraints SessionBuffer + Frebase SessionBuffer + FbRebaseStarted U8 + FbRebase U8 + _ [6]byte +} /* sqlite3.c:210362:9 */ + +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ + +// Number of prepared UPDATE statements to cache. + +// Find a prepared UPDATE statement suitable for the UPDATE step currently +// being visited by the iterator. The UPDATE is of the form: +// +// UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:210391:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var pUp uintptr = uintptr(0) + var nCol int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + var nU32 int32 = (((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + 33) / 32) + var ii int32 + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = Xsqlite3_malloc(tls, (int32(uint64(nU32) * uint64(unsafe.Sizeof(U32(0)))))) + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0, (uint64(nU32) * uint64(unsafe.Sizeof(U32(0))))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_CORRUPT + for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ { + if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(ii)))*8)) != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((ii/32))*4)) |= (U32(int32(1) << (ii % 32))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if bPatchset != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((nCol/32))*4)) |= (U32(int32(1) << (nCol % 32))) + } + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp != 0 { + var nUp int32 = 0 + var pp uintptr = (p + 64 /* &.pUp */) + for 1 != 0 { + nUp++ + if 0 == libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaMask, (uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))) { + pUp = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + break + } + + if (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext != 0 { + pp = (*(*uintptr)(unsafe.Pointer(pp)) + 16 /* &.pNext */) + } else { + if nUp >= SESSION_UPDATE_CACHE_SZ { + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpStmt) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pp))) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + } + break + } + } + } + + if pUp == uintptr(0) { + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionUpdate{})) * uint64(nU32)) * uint64(unsafe.Sizeof(U32(0))))) + var bStat1 int32 = (libc.Bool32(Xsqlite3_stricmp(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, ts+13335 /* "sqlite_stat1" */) == 0)) + pUp = Xsqlite3_malloc(tls, nByte) + if pUp == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } else { + var zSep uintptr = ts + 904 /* "" */ + // var buf SessionBuffer at bp, 16 + + libc.Xmemset(tls, bp /* &buf */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + (*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 /* &buf */, ts+37847 /* "UPDATE main." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37860 /* " SET " */, bp+16 /* &rc */) + + // Create the assignments part of the UPDATE + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37866 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+16 /* &rc */) + zSep = ts + 16625 /* ", " */ + } + } + + // Create the WHERE clause part of the UPDATE + zSep = ts + 904 /* "" */ + sessionAppendStr(tls, bp /* &buf */, ts+37795 /* " WHERE " */, bp+16 /* &rc */) + 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 /* &buf */, zSep, bp+16 /* &rc */) + if (bStat1 != 0) && (ii == 1) { + + sessionAppendStr(tls, bp, /* &buf */ + + ts+37871 /* "idx IS CASE WHEN..." */, bp+16 /* &rc */) + } else { + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37803 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 2), bp+16 /* &rc */) + } + zSep = ts + 24062 /* " AND " */ + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + var zSql uintptr = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, zSql, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (pUp /* &.pStmt */), uintptr(0)) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, pUp) + pUp = uintptr(0) + } else { + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + } + } + } + + if pUp != 0 { + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt + } else { + *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) + } + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Free all cached UPDATE statements. +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:210530:13: */ + var pUp uintptr + var pNext uintptr + for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { + pNext = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt) + Xsqlite3_free(tls, pUp) + } + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = uintptr(0) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask) + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = uintptr(0) +} + +// Formulate a statement to DELETE a row from database db. Assuming a table +// structure like this: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The DELETE statement looks like this: +// +// DELETE FROM x WHERE a = :1 AND c = :3 AND (:5 OR b IS :2 AND d IS :4) +// +// Variable :5 (nCol+1) is a boolean. It should be set to 0 if we require +// matching b and d values, or 1 otherwise. The second case comes up if the +// conflict handler is invoked with NOTFOUND and returns CHANGESET_REPLACE. +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left +// pointing to the prepared version of the SQL statement. +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210560:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var i int32 + var zSep uintptr = ts + 904 /* "" */ + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var nPk int32 = 0 + + sessionAppendStr(tls, bp /* &buf */, ts+37946 /* "DELETE FROM main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37795 /* " WHERE " */, bp+16 /* &rc */) + + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37866 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 24062 /* " AND " */ + } + } + + if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { + sessionAppendStr(tls, bp /* &buf */, ts+37964 /* " AND (?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((*SessionApplyCtx)(unsafe.Pointer(p)).FnCol + 1), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37507 /* " OR " */, bp+16 /* &rc */) + + zSep = ts + 904 /* "" */ + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37803 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 37972 /* "AND " */ + } + } + sessionAppendStr(tls, bp /* &buf */, ts+6876 /* ")" */, bp+16 /* &rc */) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 8 /* &.pDelete */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Formulate and prepare an SQL statement to query table zTab by primary +// key. Assuming the following table structure: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The SELECT statement looks like this: +// +// SELECT * FROM x WHERE a = ?1 AND c = ?3 +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left +// pointing to the prepared version of the SQL statement. +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210625:12: */ + return sessionSelectStmt(tls, + db, ts+8555 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 24 /* &.pSelect */)) +} + +// Formulate and prepare an INSERT statement to add a record to table zTab. +// For example: +// +// INSERT INTO main."zTab" VALUES(?1, ?2, ?3 ...); +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left +// pointing to the prepared version of the SQL statement. +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210643:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var i int32 + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp /* &buf */, ts+37977 /* "INSERT INTO main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+24068 /* "(" */, bp+16 /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + if i != 0 { + sessionAppendStr(tls, bp /* &buf */, ts+16625 /* ", " */, bp+16 /* &rc */) + } + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + } + + sessionAppendStr(tls, bp /* &buf */, ts+37995 /* ") VALUES(?" */, bp+16 /* &rc */) + for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + sessionAppendStr(tls, bp /* &buf */, ts+38006 /* ", ?" */, bp+16 /* &rc */) + } + sessionAppendStr(tls, bp /* &buf */, ts+6876 /* ")" */, bp+16 /* &rc */) + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 16 /* &.pInsert */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:210673:12: */ + return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) +} + +// Prepare statements for applying changes to the sqlite_stat1 table. +// These are similar to those created by sessionSelectRow(), +// sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for +// other tables. +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:210683:12: */ + var rc int32 = sessionSelectRow(tls, db, ts+13335 /* "sqlite_stat1" */, p) + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 16 /* &.pInsert */), + + ts+38010 /* "INSERT INTO main..." */) + } + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 8 /* &.pDelete */), + + ts+38123 /* "DELETE FROM main..." */) + } + return rc +} + +// A wrapper around sqlite3_bind_value() that detects an extra problem. +// See comments in the body of this function for details. +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:210706:12: */ + var eType int32 = Xsqlite3_value_type(tls, pVal) + // COVERAGE: The (pVal->z==0) branch is never true using current versions + // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either + // the (pVal->z) variable remains as it was or the type of the value is + // set to SQLITE_NULL. + if ((eType == SQLITE_TEXT) || (eType == SQLITE_BLOB)) && ((*Sqlite3_value)(unsafe.Pointer(pVal)).Fz == uintptr(0)) { + // This condition occurs when an earlier OOM in a call to + // sqlite3_value_text() or sqlite3_value_blob() (perhaps from within + // a conflict-handler) has zeroed the pVal->z pointer. Return NOMEM. + return SQLITE_NOMEM + } + return Xsqlite3_bind_value(tls, pStmt, i, pVal) +} + +// Iterator pIter must point to an SQLITE_INSERT entry. This function +// transfers new.* values from the current iterator entry to statement +// pStmt. The table being inserted into has nCol columns. +// +// New.* value $i from the iterator is bound to variable ($i+1) of +// statement pStmt. If parameter abPK is NULL, all values from 0 to (nCol-1) +// are transfered to the statement. Otherwise, if abPK is not NULL, it points +// to an array nCol elements in size. In this case only those values for +// which abPK[$i] is true are read from the iterator and bound to the +// statement. +// +// An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK. +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:210739:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var i int32 + var rc int32 = SQLITE_OK + + // Neither sqlite3changeset_old or sqlite3changeset_new can fail if the + // argument iterator points to a suitable entry. Make sure that xValue + // is one of these to guarantee that it is safe to ignore the return + // in the code below. + + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + // var pVal uintptr at bp, 8 + + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { + // The value in the changeset was "undefined". This indicates a + // corrupt changeset blob. + rc = Xsqlite3CorruptError(tls, 210762) + } else { + rc = sessionBindValue(tls, pStmt, (i + 1), *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + } + } + return rc +} + +// SQL statement pSelect is as generated by the sessionSelectRow() function. +// This function binds the primary key values from the change that changeset +// iterator pIter points to to the SELECT and attempts to seek to the table +// entry. If a row is found, the SELECT statement left pointing at the row +// and SQLITE_ROW is returned. Otherwise, if no row is found and no error +// has occured, the statement is reset and SQLITE_OK is returned. If an +// error occurs, the statement is reset and an SQLite error code is returned. +// +// If this function returns SQLITE_ROW, the caller must eventually reset() +// statement pSelect. If any other value is returned, the statement does +// not require a reset(). +// +// If the iterator currently points to an INSERT record, bind values from the +// new.* record to the SELECT statement. Or, if it points to a DELETE or +// UPDATE, bind values from the old.* record. +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:210788:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var rc int32 // Return code + // var nCol int32 at bp+8, 4 + // Number of columns in table + // var op int32 at bp+12, 4 + // Changset operation (SQLITE_UPDATE etc.) + // var zDummy uintptr at bp, 8 + // Unused + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + rc = sessionBindRow(tls, pIter, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})) + } + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})) + }(), + *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, pSelect) + + if rc == SQLITE_OK { + rc = Xsqlite3_step(tls, pSelect) + if rc != SQLITE_ROW { + rc = Xsqlite3_reset(tls, pSelect) + } + } + + return rc +} + +// This function is called from within sqlite3changeset_apply_v2() when +// a conflict is encountered and resolved using conflict resolution +// mode eType (either SQLITE_CHANGESET_OMIT or SQLITE_CHANGESET_REPLACE).. +// It adds a conflict resolution record to the buffer in +// SessionApplyCtx.rebase, which will eventually be returned to the caller +// of apply_v2() as the "rebase" buffer. +// +// Return SQLITE_OK if successful, or an SQLite error code otherwise. +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:210823:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebase != 0 { + var i int32 + var eOp int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + if int32((*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted) == 0 { + // Append a table-header to the rebase buffer + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + sessionAppendByte(tls, (p + 104 /* &.rebase */), uint8('T'), bp /* &rc */) + sessionAppendVarint(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), zTab, (int32(libc.Xstrlen(tls, zTab)) + 1), bp /* &rc */) + (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted = U8(1) + } + + sessionAppendByte(tls, (p + 104 /* &.rebase */), + func() uint8 { + if eOp == SQLITE_DELETE { + return uint8(SQLITE_DELETE) + } + return uint8(SQLITE_INSERT) + }(), bp /* &rc */) + sessionAppendByte(tls, (p + 104 /* &.rebase */), (uint8(libc.Bool32(eType == SQLITE_CHANGESET_REPLACE))), bp /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)) = uintptr(0) + if (eOp == SQLITE_DELETE) || ((eOp == SQLITE_UPDATE) && (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0)) { + Xsqlite3changeset_old(tls, pIter, i, bp+8 /* &pVal */) + } else { + Xsqlite3changeset_new(tls, pIter, i, bp+8 /* &pVal */) + } + sessionAppendValue(tls, (p + 104 /* &.rebase */), *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)), bp /* &rc */) + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Invoke the conflict handler for the change that the changeset iterator +// currently points to. +// +// Argument eType must be either CHANGESET_DATA or CHANGESET_CONFLICT. +// If argument pbReplace is NULL, then the type of conflict handler invoked +// depends solely on eType, as follows: +// +// eType value Value passed to xConflict +// ------------------------------------------------- +// CHANGESET_DATA CHANGESET_NOTFOUND +// CHANGESET_CONFLICT CHANGESET_CONSTRAINT +// +// Or, if pbReplace is not NULL, then an attempt is made to find an existing +// record with the same primary key as the record about to be deleted, updated +// or inserted. If such a record can be found, it is available to the conflict +// handler as the "conflicting" record. In this case the type of conflict +// handler invoked is as follows: +// +// eType value PK Record found? Value passed to xConflict +// ---------------------------------------------------------------- +// CHANGESET_DATA Yes CHANGESET_DATA +// CHANGESET_DATA No CHANGESET_NOTFOUND +// CHANGESET_CONFLICT Yes CHANGESET_CONFLICT +// CHANGESET_CONFLICT No CHANGESET_CONSTRAINT +// +// If pbReplace is not NULL, and a record with a matching PK is found, and +// the conflict handler function returns SQLITE_CHANGESET_REPLACE, *pbReplace +// is set to non-zero before returning SQLITE_OK. +// +// If the conflict handler returns SQLITE_CHANGESET_ABORT, SQLITE_ABORT is +// returned. Or, if the conflict handler returns an invalid value, +// SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT, +// this function returns SQLITE_OK. +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:210897:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var res int32 = 0 // Value returned by conflict handler + // var rc int32 at bp+16, 4 + + // var nCol int32 at bp+8, 4 + + // var op int32 at bp+12, 4 + + // var zDummy uintptr at bp, 8 + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + // Bind the new.* PRIMARY KEY values to the SELECT statement. + if pbReplace != 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_ROW { + // There exists another row with the new.* primary key. + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if ((*SessionApplyCtx)(unsafe.Pointer(p)).FbDeferConstraints != 0) && (eType == SQLITE_CHANGESET_CONFLICT) { + // Instead of invoking the conflict handler, append the change blob + // to the SessionApplyCtx.constraints buffer. + var aBlob uintptr = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent)) + var nBlob int32 = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent) + sessionAppendBlob(tls, (p + 88 /* &.constraints */), aBlob, nBlob, bp+16 /* &rc */) + return SQLITE_OK + } else { + // No other row with the new.* primary key. + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + if res == SQLITE_CHANGESET_REPLACE { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + switch res { + case SQLITE_CHANGESET_REPLACE: + + *(*int32)(unsafe.Pointer(pbReplace)) = 1 + break + fallthrough + + case SQLITE_CHANGESET_OMIT: + break + fallthrough + + case SQLITE_CHANGESET_ABORT: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ABORT + break + fallthrough + + default: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + break + } + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionRebaseAdd(tls, p, res, pIter) + } + } + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// If argument pbRetry is NULL, then ignore any CHANGESET_DATA conflict. If +// one is encountered, update or delete the row with the matching primary key +// instead. Or, if pbRetry is not NULL and a CHANGESET_DATA conflict occurs, +// invoke the conflict handler. If it returns CHANGESET_REPLACE, set *pbRetry +// to true before returning. In this case the caller will invoke this function +// again, this time with pbRetry set to NULL. +// +// If argument pbReplace is NULL and a CHANGESET_CONFLICT conflict is +// encountered invoke the conflict handler with CHANGESET_CONSTRAINT instead. +// Or, if pbReplace is not NULL, invoke it with CHANGESET_CONFLICT. If such +// an invocation returns SQLITE_CHANGESET_REPLACE, set *pbReplace to true +// before retrying. In this case the caller attempts to remove the conflicting +// row before invoking this function again, this time with pbReplace set +// to NULL. +// +// If any conflict handler returns SQLITE_CHANGESET_ABORT, this function +// returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is +// returned. +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:210995:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + // var zDummy uintptr at bp, 8 + + // var op int32 at bp+12, 4 + + // var nCol int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_DELETE { + + // Bind values to the DELETE statement. If conflict handling is required, + // bind values for all columns and set bound variable (nCol+1) to true. + // Or, if conflict handling is not required, bind just the PK column + // values and, if it exists, set (nCol+1) to false. Conflict handling + // is not required if: + // + // * this is a patchset, or + // * (pbRetry==0), or + // * all columns of the table are PK columns (in this case there is + // no (nCol+1) variable to bind to). + var abPK uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + } + return uintptr(0) + }() + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_bind_parameter_count(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) > *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))) { + rc = Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete, (*(*int32)(unsafe.Pointer(bp + 8 /* nCol */)) + 1), (libc.Bool32((pbRetry == uintptr(0)) || (abPK != 0)))) + } + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_UPDATE { + var i int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)) = uintptr(0) + var bPatchset int32 = (libc.Bool32((pbRetry == uintptr(0)) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0))) + + rc = sessionUpdateFind(tls, pIter, p, bPatchset, bp+16 /* &pUp */) + + // Bind values to the UPDATE statement. + for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))); i++ { + var pOld uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(i)*8)) + var pNew uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(i)))*8)) + if (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) || ((bPatchset == 0) && (pOld != 0)) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 2), pOld) + } + if (rc == SQLITE_OK) && (pNew != 0) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 1), pNew) + } + } + if rc != SQLITE_OK { + return rc + } + + // Attempt the UPDATE. In the case of a NOTFOUND or DATA conflict, + // the result will be SQLITE_OK with 0 rows modified. + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + // A NOTFOUND or DATA error. Search the table to see if it contains + // a row with a matching primary key. If so, this is a DATA conflict. + // Otherwise, if there is no primary key match, it is a NOTFOUND. + + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + // This is always a CONSTRAINT conflict. + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else { + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbStat1 != 0 { + // Check if there is a conflicting row. For sqlite_stat1, this needs + // to be done using a SELECT, as there is no PRIMARY KEY in the + // database schema to throw an exception if a duplicate is inserted. + rc = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + if rc == SQLITE_ROW { + rc = SQLITE_CONSTRAINT + Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } + } + + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), uintptr(0), (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + } + + if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace) + } + } + + return rc +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// The difference between this function and sessionApplyOne() is that this +// function handles the case where the conflict-handler is invoked and +// returns SQLITE_CHANGESET_REPLACE - indicating that the change should be +// retried in some manner. +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211128:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) = 0 + var rc int32 + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp /* &bReplace */, bp+4 /* &bRetry */) + if rc == SQLITE_OK { + // If the bRetry flag is set, the change has not been applied due to an + // SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and + // a row with the correct PK is present in the db, but one or more other + // fields do not contain the expected values) and the conflict handler + // returned SQLITE_CHANGESET_REPLACE. In this case retry the operation, + // but pass NULL as the final argument so that sessionApplyOneOp() ignores + // the SQLITE_CHANGESET_DATA problem. + if *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) != 0 { + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } else if *(*int32)(unsafe.Pointer(bp /* bReplace */)) != 0 { + + rc = Xsqlite3_exec(tls, db, ts+38267 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(0)) + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, ((*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + 1), 1) + } + if rc == SQLITE_OK { + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + } + if rc == SQLITE_OK { + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+38288 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + } + + return rc +} + +// Retry the changes accumulated in the pApply->constraints buffer. +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211185:12: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK + + for (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf != 0 { + *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) = uintptr(0) + var cons = (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints + libc.Xmemset(tls, (pApply + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionChangesetStart(tls, + bp /* &pIter2 */, uintptr(0), uintptr(0), cons.FnBuf, cons.FaBuf, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbInvertConstraints, 1) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + var nByte Size_t = ((uint64(2 * (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol)) * uint64(unsafe.Sizeof(uintptr(0)))) + var rc2 int32 + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FbPatchset = bPatchset + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FzTab = zTab + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FnCol = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FabPK = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK + sessionBufferGrow(tls, (*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) + 72 /* &.tblhdr */), int64(nByte), bp+8 /* &rc */) + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).Ftblhdr.FaBuf + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0, nByte) + } + + for (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))) { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)), pApply, xConflict, pCtx) + } + + rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */))) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = rc2 + } + } + + Xsqlite3_free(tls, cons.FaBuf) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) != SQLITE_OK { + break + } + if (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf >= cons.FnBuf { + // No progress was made on the last round. + (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbDeferConstraints = 0 + } + } + + return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) +} + +// Argument pIter is a changeset iterator that has been initialized, but +// not yet passed to sqlite3changeset_next(). This function applies the +// changeset to the main database attached to handle "db". The supplied +// conflict handler callback is invoked to resolve any conflicts encountered +// while applying the change. +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ + bp := tls.Alloc(368) + defer tls.Free(368) + + var schemaMismatch int32 = 0 + var rc int32 = SQLITE_OK // Return code + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = uintptr(0) // Name of current table + var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) + // var sApply SessionApplyCtx at bp+48, 128 + // changeset_apply() context object + var bPatchset int32 + + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 + libc.Xmemset(tls, bp+48 /* &sApply */, 0, uint64(unsafe.Sizeof(SessionApplyCtx{}))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).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+38307 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+38333 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + } + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { + // var nCol int32 at bp+184, 4 + + // var op int32 at bp+188, 4 + + // var zNew uintptr at bp+176, 8 + + Xsqlite3changeset_op(tls, pIter, bp+176 /* &zNew */, bp+184 /* &nCol */, bp+188 /* &op */, uintptr(0)) + + if (*(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+192, 8 + + rc = sessionRetryConstraints(tls, + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + if rc != SQLITE_OK { + break + } + + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebaseStarted = U8(0) + libc.Xmemset(tls, (bp + 48 /* &sApply */ + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + // If an xFilter() callback was specified, invoke it now. If the + // xFilter callback returns zero, skip this table. If it returns + // non-zero, proceed. + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))))) + if schemaMismatch != 0 { + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0) { + rc = SQLITE_NOMEM + break + } + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) + } else { + var nMinCol int32 = 0 + var i int32 + + Xsqlite3changeset_pk(tls, pIter, bp+192 /* &abPK */, uintptr(0)) + rc = sessionTableInfo(tls, uintptr(0), + db, ts+8555 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), (bp + 48 /* &sApply */ + 32 /* &.nCol */), bp+200 /* &zTab */, (bp + 48 /* &sApply */ + 40 /* &.azCol */), (bp + 48 /* &sApply */ + 48 /* &.abPK */)) + if rc != SQLITE_OK { + break + } + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK + uintptr(i))) != 0 { + nMinCol = (i + 1) + } + } + + if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+38363 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + + ts+38407, /* "sqlite3changeset..." */ + libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) != 0) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+38478 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else { + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), ts+13335 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+48 /* &sApply */)) != 0 { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 1 + } else { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + } + } + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */))) + } + } + + // If there is a schema mismatch on the current table, proceed to the + // next change. A log message has already been issued. + if schemaMismatch != 0 { + continue + } + + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+48 /* &sApply */, xConflict, pCtx) + } + + bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + if rc == SQLITE_OK { + rc = Xsqlite3changeset_finalize(tls, pIter) + } else { + Xsqlite3changeset_finalize(tls, pIter) + } + + if rc == SQLITE_OK { + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + } + + if rc == SQLITE_OK { + // var nFk int32 at bp+208, 4 + + // var notUsed int32 at bp+212, 4 + + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+208 /* &nFk */, bp+212 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) != 0 { + var res int32 = SQLITE_CHANGESET_ABORT + // var sIter Sqlite3_changeset_iter at bp+216, 152 + + libc.Xmemset(tls, bp+216 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 216 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) + if res != SQLITE_CHANGESET_OMIT { + rc = SQLITE_CONSTRAINT + } + } + } + Xsqlite3_exec(tls, db, ts+38538 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + + if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+38568 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } else { + Xsqlite3_exec(tls, db, ts+38592 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, ts+38568 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf = uintptr(0) + } + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Frebase.FaBuf) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main +// database attached to handle "db". +func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211439:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInv int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211472:16: */ + return Xsqlite3changeset_apply_v2(tls, + db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// Apply the changeset passed via xInput/pIn to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211497:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInverse int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, xInput, pIn, 0, uintptr(0), bInverse, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211524:16: */ + return Xsqlite3changeset_apply_v2_strm(tls, + db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// This function is called to merge two changes to the same row together as +// part of an sqlite3changeset_concat() operation. A new change object is +// allocated and a pointer to it stored in *ppNew. +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:211558:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var pNew uintptr = uintptr(0) + var rc int32 = SQLITE_OK + + if !(pExist != 0) { + pNew = Xsqlite3_malloc64(tls, (uint64(uint64(unsafe.Sizeof(SessionChange{})) + uint64(nRec)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = U8(bIndirect) + (*SessionChange)(unsafe.Pointer(pNew)).FaRecord = (pNew + 1*32) + if (bIndirect == 0) || (bRebase == 0) { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = nRec + libc.Xmemcpy(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, aRec, uint64(nRec)) + } else { + var i int32 + var pIn uintptr = aRec + var pOut uintptr = (*SessionChange)(unsafe.Pointer(pNew)).FaRecord + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var nIn int32 = sessionSerialLen(tls, pIn) + if int32(*(*U8)(unsafe.Pointer(pIn))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } else if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else { + libc.Xmemcpy(tls, pOut, pIn, uint64(nIn)) + pOut += uintptr(nIn) + } + pIn += uintptr(nIn) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + } else if bRebase != 0 { + if (int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) == SQLITE_DELETE) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0) { + *(*uintptr)(unsafe.Pointer(ppNew)) = pExist + } else { + var nByte Sqlite3_int64 = (Sqlite3_int64((uint64(nRec + (*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(unsafe.Sizeof(SessionChange{})))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var i int32 + var a1 uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var a2 uintptr = aRec + var pOut uintptr + + libc.Xmemset(tls, pNew, 0, uint64(nByte)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) || ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + pOut = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) || ((int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0) && (bIndirect != 0)) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else if int32(*(*U8)(unsafe.Pointer(a2))) == 0 { + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else { + libc.Xmemcpy(tls, pOut, a2, uint64(n2)) + pOut += uintptr(n2) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } else { + var op1 int32 = int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) + + // op1=INSERT, op2=INSERT -> Unsupported. Discard op2. + // op1=INSERT, op2=UPDATE -> INSERT. + // op1=INSERT, op2=DELETE -> (none) + // + // op1=UPDATE, op2=INSERT -> Unsupported. Discard op2. + // op1=UPDATE, op2=UPDATE -> UPDATE. + // op1=UPDATE, op2=DELETE -> DELETE. + // + // op1=DELETE, op2=INSERT -> UPDATE. + // op1=DELETE, op2=UPDATE -> Unsupported. Discard op2. + // op1=DELETE, op2=DELETE -> Unsupported. Discard op2. + if ((((op1 == SQLITE_INSERT) && (op2 == SQLITE_INSERT)) || + ((op1 == SQLITE_UPDATE) && (op2 == SQLITE_INSERT))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_UPDATE))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_DELETE)) { + pNew = pExist + } else if (op1 == SQLITE_INSERT) && (op2 == SQLITE_DELETE) { + Xsqlite3_free(tls, pExist) + + } else { + var aExist uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var nByte Sqlite3_int64 + // var aCsr uintptr at bp+8, 8 + + // Allocate a new SessionChange object. Ensure that the aRecord[] + // buffer of the new object is large enough to hold any record that + // may be generated by combining the input records. + nByte = (Sqlite3_int64((uint64(unsafe.Sizeof(SessionChange{})) + uint64((*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(nRec))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if !(pNew != 0) { + Xsqlite3_free(tls, pExist) + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + if op1 == SQLITE_INSERT { // INSERT + UPDATE + *(*uintptr)(unsafe.Pointer(bp /* a1 */)) = aRec + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_INSERT) + if bPatchset == 0 { + sessionSkipRecord(tls, bp /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aExist, *(*uintptr)(unsafe.Pointer(bp /* a1 */))) + } else if op1 == SQLITE_DELETE { // DELETE + INSERT + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aExist, uintptr(0), aRec, uintptr(0)) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } + } else if op2 == SQLITE_UPDATE { // UPDATE + UPDATE + *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)) = aExist + *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */)) = aRec + + if bPatchset == 0 { + sessionSkipRecord(tls, bp+16 /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + sessionSkipRecord(tls, bp+24 /* &a2 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aRec, aExist, *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)), *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */))) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } else { // UPDATE + DELETE + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_DELETE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aRec, aExist) + } + } + + if pNew != 0 { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */))) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } + + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Add all changes in the changeset traversed by the iterator passed as +// the first argument to the changegroup hash tables. +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:211740:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + // var aRec uintptr at bp, 8 + + // var nRec int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + var pTab uintptr = uintptr(0) + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, uintptr(0)) { + // var zNew uintptr at bp+16, 8 + + // var nCol int32 at bp+24, 4 + + // var op int32 at bp+28, 4 + + var iHash int32 + // var bIndirect int32 at bp+32, 4 + + // var pChange uintptr at bp+48, 8 + + var pExist uintptr = uintptr(0) + var pp uintptr + + if (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = SQLITE_ERROR + break + } + + Xsqlite3changeset_op(tls, pIter, bp+16 /* &zNew */, bp+24 /* &nCol */, bp+28 /* &op */, bp+32 /* &bIndirect */) + if !(pTab != 0) || (Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (*SessionTable)(unsafe.Pointer(pTab)).FzName) != 0) { + // Search the list for a matching table + var nNew int32 = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)))) + // var abPK uintptr at bp+40, 8 + + Xsqlite3changeset_pk(tls, pIter, bp+40 /* &abPK */, uintptr(0)) + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (nNew+1)) { + break + } + } + if !(pTab != 0) { + var ppTab uintptr + + pTab = Xsqlite3_malloc64(tls, (uint64(((uint64(unsafe.Sizeof(SessionTable{})) + uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + uint64(nNew)) + uint64(1)))) + if !(pTab != 0) { + rc = SQLITE_NOMEM + break + } + libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 24 /* nCol */)) + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = (pTab + 1*56) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = ((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (uint64(nNew + 1))) + + // The new object must be linked on to the end of the list, not + // simply added to the start of it. This is to ensure that the + // tables within the output of sqlite3changegroup_output() are in + // the right order. + for ppTab = (pGrp + 8 /* &.pList */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } else if ((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) || (libc.Xmemcmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) != 0) { + rc = SQLITE_SCHEMA + break + } + } + + if sessionGrowHash(tls, uintptr(0), (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { + rc = SQLITE_NOMEM + break + } + iHash = int32(sessionChangeHash(tls, + pTab, (libc.Bool32(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0) && (*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE))), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + // Search for existing entry. If found, remove it from the hash table. + // Code below may link it back in. + for pp = ((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = (*(*uintptr)(unsafe.Pointer(pp)) + 24 /* &.pNext */) { + var bPkOnly1 int32 = 0 + var bPkOnly2 int32 = 0 + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + bPkOnly1 = (libc.Bool32(int32((*SessionChange)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pp))))).Fop) == SQLITE_DELETE)) + bPkOnly2 = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE)) + } + if sessionChangeEqual(tls, pTab, bPkOnly1, (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp /* aRec */))) != 0 { + pExist = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry-- + break + } + } + + rc = sessionChangeMerge(tls, pTab, bRebase, + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 28 /* op */)), *(*int32)(unsafe.Pointer(bp + 32 /* bIndirect */)), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+48 /* &pChange */) + if rc != 0 { + break + } + if *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) != 0 { + (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)))).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + } + } + + if rc == SQLITE_OK { + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// Serialize a changeset (or patchset) based on all changesets (or patchsets) +// added to the changegroup object passed as the first argument. +// +// If xOutput is not NULL, then the changeset/patchset is returned to the +// user via one or more calls to xOutput, as with the other streaming +// interfaces. +// +// Or, if xOutput is NULL, then (*ppOut) is populated with a pointer to a +// buffer containing the output changeset before this function returns. In +// this case (*pnOut) is set to the size of the output buffer in bytes. It +// is the responsibility of the caller to free the output buffer using +// sqlite3_free() when it is no longer required. +// +// If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite +// error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut) +// are both set to 0 before returning. +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211863:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var pTab uintptr + + // Create the serialized output changeset based on the contents of the + // hash tables attached to the SessionTable objects in list p->pList. + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + var i int32 + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry == 0 { + continue + } + + sessionAppendTableHdr(tls, bp /* &buf */, (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch, pTab, bp+16 /* &rc */) + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).Fop, bp+16 /* &rc */) + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+16 /* &rc */) + sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+16 /* &rc */) + if ((*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 + } + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Allocate a new, empty, sqlite3_changegroup. +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:211914:16: */ + var rc int32 = SQLITE_OK // Return code + var p uintptr // New object + p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) + if p == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Sqlite3_changegroup{}))) + } + *(*uintptr)(unsafe.Pointer(pp)) = p + return rc +} + +// Add the changeset currently stored in buffer pData, size nData bytes, +// to changeset-group p. +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:211931:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nData, pData) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Obtain a buffer containing a changeset representing the concatenation +// of all changesets added to the group so far. +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:211947:16: */ + return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) +} + +// Streaming versions of changegroup_add(). +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:211958:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Streaming versions of changegroup_output(). +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:211977:16: */ + return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Delete a changegroup object. +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:211988:17: */ + if pGrp != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, pGrp) + } +} + +// Combine two changesets together. +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211998:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nLeft, pLeft) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nRight, pRight) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), pnOut, ppOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Streaming version of sqlite3changeset_concat(). +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212027:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputA, pInA) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputB, pInB) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xOutput, pOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Buffers a1 and a2 must both contain a sessions module record nCol +// fields in size. This function appends an nCol sessions module +// record to buffer pBuf that is a copy of a1, except that for +// each field that is undefined in a1[], swap in the field from a2[]. +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:212066:13: */ + sessionBufferGrow(tls, pBuf, (int64(n1 + n2)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var i int32 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + for i = 0; i < nCol; i++ { + var nn1 int32 = sessionSerialLen(tls, a1) + var nn2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0) || (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) { + libc.Xmemcpy(tls, pOut, a2, uint64(nn2)) + pOut += uintptr(nn2) + } else { + libc.Xmemcpy(tls, pOut, a1, uint64(nn1)) + pOut += uintptr(nn1) + } + a1 += uintptr(nn1) + a2 += uintptr(nn2) + } + + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + + } +} + +// This function is called when rebasing a local UPDATE change against one +// or more remote UPDATE changes. The aRec/nRec buffer contains the current +// old.* and new.* records for the change. The rebase buffer (a single +// record) is in aChange/nChange. The rebased change is appended to buffer +// pBuf. +// +// Rebasing the UPDATE involves: +// +// * Removing any changes to fields for which the corresponding field +// in the rebase buffer is set to "replaced" (type 0xFF). If this +// means the UPDATE change updates no fields, nothing is appended +// to the output buffer. +// +// * For each field modified by the local change for which the +// corresponding field in the rebase buffer is not "undefined" (0x00) +// or "replaced" (0xFF), the old.* value is replaced by the value +// in the rebase buffer. +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:212115:13: */ + sessionBufferGrow(tls, pBuf, (int64((2 + nRec) + nChange)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var bData int32 = 0 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + var i int32 + var a1 uintptr = aRec + var a2 uintptr = aChange + + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(SQLITE_UPDATE) + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect) + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) == 0) { + if !(int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i)))) != 0) && (*(*U8)(unsafe.Pointer(a1)) != 0) { + bData = 1 + } + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else if int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF { + bData = 1 + libc.Xmemcpy(tls, pOut, a2, uint64(n2)) + pOut += uintptr(n2) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + if bData != 0 { + a2 = aChange + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF) { + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + } + } +} + +// pIter is configured to iterate through a changeset. This function rebases +// that changeset according to the current configuration of the rebaser +// object passed as the first argument. If no error occurs and argument xOutput +// is not NULL, then the changeset is returned to the caller by invoking +// xOutput zero or more times and SQLITE_OK returned. Or, if xOutput is NULL, +// then (*ppOut) is set to point to a buffer containing the rebased changeset +// before this function returns. In this case (*pnOut) is set to the size of +// the buffer in bytes. It is the responsibility of the caller to eventually +// free the (*ppOut) buffer using sqlite3_free(). +// +// If an error occurs, an SQLite error code is returned. If ppOut and +// pnOut are not NULL, then the two output parameters are set to 0 before +// returning. +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212183:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp /* aRec */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)) = 0 + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + var pTab uintptr = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 16 /* sOut */)) = SessionBuffer{} + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, bp+12 /* &bNew */) { + var pChange uintptr = uintptr(0) + var bDone int32 = 0 + + if *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) != 0 { + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + for pTab = (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_stricmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zTab) { + break + } + } + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + + // A patchset may not be rebased + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR + } + + // Append a table header to the output for this new table + sessionAppendByte(tls, bp+16 /* &sOut */, func() uint8 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), bp+32 /* &rc */) + sessionAppendVarint(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, (int32(libc.Xstrlen(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab)) + 1), bp+32 /* &rc */) + } + + if (pTab != 0) && (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) { + var iHash int32 = int32(sessionChangeHash(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + for pChange = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)); pChange != 0; pChange = (*SessionChange)(unsafe.Pointer(pChange)).FpNext { + if sessionChangeEqual(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), 0, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord) != 0 { + break + } + } + } + + if pChange != 0 { + + switch (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop { + case SQLITE_INSERT: + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_UPDATE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + } + break + fallthrough + + case SQLITE_UPDATE: + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_DELETE { + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)) = *(*uintptr)(unsafe.Pointer(bp /* aRec */)) + sessionSkipRecord(tls, bp+40 /* &pCsr */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_INSERT), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)), (int32(int64(*(*int32)(unsafe.Pointer(bp + 8 /* nRec */))) - ((int64(*(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */))) - int64(*(*uintptr)(unsafe.Pointer(bp /* aRec */)))) / 1))), + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + } else { + sessionAppendPartialUpdate(tls, bp+16 /* &sOut */, pIter, + *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + break + fallthrough + + default: + + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_DELETE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + break + } + } + + if bDone == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + if ((*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf = 0 + } + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0 { + break + } + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + libc.Xmemset(tls, bp+16 /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Create a new rebaser object. +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:212315:16: */ + var rc int32 = SQLITE_OK + var pNew uintptr + + pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_rebaser{}))) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_rebaser{}))) + } + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Call this one or more times to configure a rebaser. +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:212332:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator opened on pData/nData + var rc int32 // Return code + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nRebase, pRebase) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), (p /* &.grp */), 1) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212349:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start(tls, bp /* &pIter */, nIn, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), uintptr(0), uintptr(0), pnOut, ppOut) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212368:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Destroy a rebaser object +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:212389:17: */ + if p != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, p) + } +} + +// Global configuration +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:212399:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_CONFIG_STRMSIZE: + { + var pInt uintptr = pArg + if *(*int32)(unsafe.Pointer(pInt)) > 0 { + sessions_strm_chunk_size = *(*int32)(unsafe.Pointer(pInt)) + } + *(*int32)(unsafe.Pointer(pInt)) = sessions_strm_chunk_size + break + + } + default: + rc = SQLITE_MISUSE + break + } + return rc +} + //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -168211,9 +174324,6 @@ type Fts5Global1 = struct { FpCsr uintptr } /* sqlite3.c:213118:9 */ -//************* End of dbpage.c ********************************************* -//************* Begin file sqlite3session.c ********************************* - //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -169043,7 +175153,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+37267 /* "fts5: parser sta..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+38620 /* "fts5: parser sta..." */, 0) //******* End %stack_overflow code ******************************************* (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument var @@ -169366,7 +175476,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+37295 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) + pParse, ts+38648 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) //*********** End %syntax_error code ***************************************** (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument variable @@ -169667,7 +175777,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+37326 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+38679 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } @@ -169741,7 +175851,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 37333 /* "wrong number of ..." */ + var zErr uintptr = ts + 38686 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -169908,7 +176018,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 889 /* "" */ + return ts + 904 /* "" */ } // Implementation of snippet() function. @@ -169935,7 +176045,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 37383 /* "wrong number of ..." */ + var zErr uintptr = ts + 38736 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -170277,13 +176387,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 defer tls.Free(96) *(*[3]Builtin)(unsafe.Pointer(bp /* aBuiltin */)) = [3]Builtin{ - {FzFunc: ts + 37431 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 38784 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5SnippetFunction}))}, - {FzFunc: ts + 37439 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 38792 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5HighlightFunction}))}, - {FzFunc: ts + 37449 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 38802 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5Bm25Function}))}, } @@ -170777,7 +176887,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+8050 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+8065 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -170956,7 +177066,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, ts+37454 /* "prefix" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+38807 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 @@ -170983,14 +177093,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+37461 /* "malformed prefix..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38814 /* "malformed prefix..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+37492 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) + ts+38845 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -171001,7 +177111,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37525 /* "prefix length ou..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38878 /* "prefix length ou..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -171014,7 +177124,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37562 /* "tokenize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+38915 /* "tokenize" */, 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 /* &rc */, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nArg)))) @@ -171023,7 +177133,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+37571 /* "multiple tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38924 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { @@ -171042,7 +177152,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37604 /* "parse error in t..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38957 /* "parse error in t..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, @@ -171057,14 +177167,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37638 /* "content" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+38991 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37646 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38999 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = 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 /* &rc */, ts+37678 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40 /* &rc */, ts+39031 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } @@ -171072,9 +177182,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37684 /* "content_rowid" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+39037 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37698 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39051 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, zArg, -1) @@ -171082,9 +177192,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37736 /* "columnsize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+39089 /* "columnsize" */, 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+37747 /* "malformed column..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39100 /* "malformed column..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) @@ -171092,21 +177202,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+6981 /* "detail" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+6996 /* "detail" */, zCmd, nCmd) == 0 { *(*[4]Fts5Enum)(unsafe.Pointer(bp + 48 /* aDetail */)) = [4]Fts5Enum{ - {FzName: ts + 19245 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 19250 /* "full" */}, - {FzName: ts + 37782 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, + {FzName: ts + 19260 /* "none" */, FeVal: FTS5_DETAIL_NONE}, + {FzName: ts + 19265 /* "full" */}, + {FzName: ts + 39135 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } if libc.AssignPtrInt32(bp+40 /* rc */, fts5ConfigSetEnum(tls, bp+48 /* &aDetail[0] */, zArg, (pConfig+92 /* &.eDetail */))) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37790 /* "malformed detail..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39143 /* "malformed detail..." */, 0) } return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37821 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39174 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) return SQLITE_ERROR } @@ -171170,15 +177280,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+24838 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+10271 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37849 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) + if (0 == Xsqlite3_stricmp(tls, zCol, ts+24853 /* "rank" */)) || + (0 == Xsqlite3_stricmp(tls, zCol, ts+10286 /* "rowid" */)) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39202 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) rc = SQLITE_ERROR } else if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, ts+37879 /* "unindexed" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+39232 /* "unindexed" */) { *(*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+37889 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39242 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) rc = SQLITE_ERROR } } @@ -171196,13 +177306,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK *(*Fts5Buffer)(unsafe.Pointer(bp + 32 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+37920 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+39273 /* "T.%Q" */, 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 /* &rc */, bp+32 /* &buf */, ts+37925 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+39278 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+37932 /* ", T.c%d" */, libc.VaList(bp+16, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+39285 /* ", T.c%d" */, libc.VaList(bp+16, i)) } } } @@ -171250,8 +177360,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*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 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+24838 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37940 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+24853 /* "rank" */) == 0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39293 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } @@ -171284,7 +177394,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37969 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39322 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { @@ -171292,7 +177402,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), pzErr) } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)), pzErr) @@ -171317,19 +177427,19 @@ 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 + 37638 /* "content" */ + zTail = ts + 38991 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 37989 /* "docsize" */ + zTail = ts + 39342 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+40 /* &rc */, ts+37997 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+40 /* &rc */, ts+39350 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+10271 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+10286 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -171378,18 +177488,18 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+38008 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39361 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { - return ts + 889 /* "" */ + return ts + 904 /* "" */ } - return ts + 16610 /* ", " */ + return ts + 16625 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+38024 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39377 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+38031, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+24838 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39384, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+24853 /* "rank" */)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -171529,7 +177639,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+38057 /* "pgsz" */) { + if 0 == Xsqlite3_stricmp(tls, zKey, ts+39410 /* "pgsz" */) { var pgsz int32 = 0 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -171539,7 +177649,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+38062 /* "hashsize" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39415 /* "hashsize" */) { var nHashSize int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -171549,7 +177659,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+38071 /* "automerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39424 /* "automerge" */) { var nAutomerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -171562,7 +177672,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+38081 /* "usermerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39434 /* "usermerge" */) { var nUsermerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -171572,7 +177682,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+38091 /* "crisismerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39444 /* "crisismerge" */) { var nCrisisMerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -171588,7 +177698,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+24838 /* "rank" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+24853 /* "rank" */) { var zIn uintptr = Xsqlite3_value_text(tls, pVal) // var zRank uintptr at bp, 8 @@ -171615,7 +177725,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(52) defer tls.Free(52) - var zSelect uintptr = ts + 38103 /* "SELECT k, v FROM..." */ + var zSelect uintptr = ts + 39456 /* "SELECT k, v FROM..." */ var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK @@ -171638,7 +177748,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */))) { var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 0) var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 1) - if 0 == Xsqlite3_stricmp(tls, zK, ts+38135 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+39488 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 48 /* bDummy */)) = 0 @@ -171653,7 +177763,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+38143, /* "invalid fts5 fil..." */ + ts+39496, /* "invalid fts5 fil..." */ libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } @@ -171787,7 +177897,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+38208 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+39561 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -171800,20 +177910,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+38228 /* "fts5: syntax err..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+39581 /* "fts5: syntax err..." */, 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+38259 /* "OR" */, uint64(2)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+39612 /* "OR" */, uint64(2)) == 0) { tok = FTS5_OR } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+38262 /* "NOT" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+39615 /* "NOT" */, uint64(3)) == 0) { tok = FTS5_NOT } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34339 /* "AND" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34354 /* "AND" */, uint64(3)) == 0) { tok = FTS5_AND } break @@ -173786,9 +179896,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli bp := tls.Alloc(16) defer tls.Free(16) - if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+38266 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { + if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+39619 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { sqlite3Fts5ParseError(tls, - pParse, ts+37295 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) + pParse, ts+38648 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -173804,7 +179914,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+38271 /* "expected integer..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp)) + pParse, ts+39624 /* "expected integer..." */, 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')) @@ -173901,7 +180011,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+23000 /* "no such column: ..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+23015 /* "no such column: ..." */, libc.VaList(bp, z)) } else { pRet = fts5ParseColset(tls, pParse, pColset, iCol) } @@ -173997,7 +180107,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE { (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+38300 /* "fts5: column que..." */, 0) + ts+39653 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -174181,12 +180291,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+38353, /* "fts5: %s queries..." */ + ts+39706, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 38403 /* "phrase" */ + return ts + 39756 /* "phrase" */ } - return ts + 38266 /* "NEAR" */ + return ts + 39619 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -174300,7 +180410,7 @@ func fts5PrintfAppend(tls *libc.TLS, zApp uintptr, zFmt uintptr, va uintptr) uin zNew = Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap if (zApp != 0) && (zNew != 0) { - var zNew2 uintptr = Xsqlite3_mprintf(tls, ts+6790 /* "%s%s" */, libc.VaList(bp, zApp, zNew)) + var zNew2 uintptr = Xsqlite3_mprintf(tls, ts+6805 /* "%s%s" */, libc.VaList(bp, zApp, zNew)) Xsqlite3_free(tls, zNew) zNew = zNew2 } @@ -174322,7 +180432,7 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var i int32 var iTerm int32 - zRet = fts5PrintfAppend(tls, zRet, ts+38410 /* "%s " */, libc.VaList(bp, zNearsetCmd)) + zRet = fts5PrintfAppend(tls, zRet, ts+39763 /* "%s " */, libc.VaList(bp, zNearsetCmd)) if zRet == uintptr(0) { return uintptr(0) } @@ -174330,13 +180440,13 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var aiCol uintptr = (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset + 4 /* &.aiCol */ var nCol int32 = (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol if nCol == 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38414 /* "-col %d " */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+39767 /* "-col %d " */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(aiCol)))) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+38423 /* "-col {%d" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+39776 /* "-col {%d" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) for i = 1; i < (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol; i++ { - zRet = fts5PrintfAppend(tls, zRet, ts+38432 /* " %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) + zRet = fts5PrintfAppend(tls, zRet, ts+39785 /* " %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) } - zRet = fts5PrintfAppend(tls, zRet, ts+38436 /* "} " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39789 /* "} " */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -174344,13 +180454,13 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38439 /* "-near %d " */, libc.VaList(bp+32, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+39792 /* "-near %d " */, libc.VaList(bp+32, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } } - zRet = fts5PrintfAppend(tls, zRet, ts+38449 /* "--" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39802 /* "--" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -174358,22 +180468,22 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((pNear + 24 /* &.apPhrase */) + uintptr(i)*8)) - zRet = fts5PrintfAppend(tls, zRet, ts+38452 /* " {" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39805 /* " {" */, 0) for iTerm = 0; (zRet != 0) && (iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm); iTerm++ { var zTerm uintptr = (*Fts5ExprTerm)(unsafe.Pointer((pPhrase + 32 /* &.aTerm */) + uintptr(iTerm)*32)).FzTerm - zRet = fts5PrintfAppend(tls, zRet, ts+6790 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+6805 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { if iTerm == 0 { - return ts + 889 /* "" */ + return ts + 904 /* "" */ } - return ts + 12900 /* " " */ + return ts + 12915 /* " " */ }(), zTerm)) if (*Fts5ExprTerm)(unsafe.Pointer((pPhrase+32 /* &.aTerm */)+uintptr(iTerm)*32)).FbPrefix != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+21550 /* "*" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+21565 /* "*" */, 0) } } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+30978 /* "}" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+30993 /* "}" */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -174385,27 +180495,27 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var i int32 switch (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType { case FTS5_AND: - zOp = ts + 34339 /* "AND" */ + zOp = ts + 34354 /* "AND" */ break fallthrough case FTS5_NOT: - zOp = ts + 38262 /* "NOT" */ + zOp = ts + 39615 /* "NOT" */ break fallthrough default: - zOp = ts + 38259 /* "OR" */ + zOp = ts + 39612 /* "OR" */ break } - zRet = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+56, zOp)) + zRet = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+56, zOp)) for i = 0; (zRet != 0) && (i < (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FnChild); i++ { var z uintptr = fts5ExprPrintTcl(tls, pConfig, zNearsetCmd, *(*uintptr)(unsafe.Pointer((pExpr + 48 /* &.apChild */) + uintptr(i)*8))) if !(z != 0) { Xsqlite3_free(tls, zRet) zRet = uintptr(0) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+38455 /* " [%z]" */, libc.VaList(bp+64, z)) + zRet = fts5PrintfAppend(tls, zRet, ts+39808 /* " [%z]" */, libc.VaList(bp+64, z)) } } } @@ -174419,7 +180529,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s var zRet uintptr = uintptr(0) if (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == 0 { - return Xsqlite3_mprintf(tls, ts+38461 /* "\"\"" */, 0) + return Xsqlite3_mprintf(tls, ts+39814 /* "\"\"" */, 0) } else if ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_STRING) || ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_TERM) { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FpNear var i int32 @@ -174429,23 +180539,23 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s var ii int32 var pColset uintptr = (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset if (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38464 /* "{" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39817 /* "{" */, 0) } for ii = 0; ii < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; ii++ { - zRet = fts5PrintfAppend(tls, zRet, ts+6790, /* "%s%s" */ + zRet = fts5PrintfAppend(tls, zRet, ts+6805, /* "%s%s" */ libc.VaList(bp, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(*(*int32)(unsafe.Pointer((pColset + 4 /* &.aiCol */) + uintptr(ii)*4)))*8)), func() uintptr { if ii == ((*Fts5Colset)(unsafe.Pointer(pColset)).FnCol - 1) { - return ts + 889 /* "" */ + return ts + 904 /* "" */ } - return ts + 12900 /* " " */ + return ts + 12915 /* " " */ }())) } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+38466 /* "%s : " */, libc.VaList(bp+16, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+39819 /* "%s : " */, libc.VaList(bp+16, func() uintptr { if (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol > 1 { - return ts + 30978 /* "}" */ + return ts + 30993 /* "}" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }())) } if zRet == uintptr(0) { @@ -174454,7 +180564,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38472 /* "NEAR(" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39825 /* "NEAR(" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -174463,7 +180573,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((pNear + 24 /* &.apPhrase */) + uintptr(i)*8)) if i != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+12900 /* " " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+12915 /* " " */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -174471,11 +180581,11 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s for iTerm = 0; iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; iTerm++ { var zTerm uintptr = fts5ExprTermPrint(tls, ((pPhrase + 32 /* &.aTerm */) + uintptr(iTerm)*32)) if zTerm != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+6790 /* "%s%s" */, libc.VaList(bp+24, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+6805 /* "%s%s" */, libc.VaList(bp+24, func() uintptr { if iTerm == 0 { - return ts + 889 /* "" */ + return ts + 904 /* "" */ } - return ts + 38478 /* " + " */ + return ts + 39831 /* " + " */ }(), zTerm)) Xsqlite3_free(tls, zTerm) } @@ -174487,7 +180597,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38482 /* ", %d)" */, libc.VaList(bp+40, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+39835 /* ", %d)" */, libc.VaList(bp+40, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } @@ -174499,16 +180609,16 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s switch (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType { case FTS5_AND: - zOp = ts + 24047 /* " AND " */ + zOp = ts + 24062 /* " AND " */ break fallthrough case FTS5_NOT: - zOp = ts + 38488 /* " NOT " */ + zOp = ts + 39841 /* " NOT " */ break fallthrough default: - zOp = ts + 38494 /* " OR " */ + zOp = ts + 37507 /* " OR " */ break } @@ -174520,23 +180630,23 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } else { var e int32 = (*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((pExpr + 48 /* &.apChild */) + uintptr(i)*8)))).FeType var b int32 = (libc.Bool32(((e != FTS5_STRING) && (e != FTS5_TERM)) && (e != FTS5_EOF))) - zRet = fts5PrintfAppend(tls, zRet, ts+38499, /* "%s%s%z%s" */ + zRet = fts5PrintfAppend(tls, zRet, ts+39847, /* "%s%s%z%s" */ libc.VaList(bp+48, func() uintptr { if i == 0 { - return ts + 889 /* "" */ + return ts + 904 /* "" */ } return zOp }(), func() uintptr { if b != 0 { - return ts + 24053 /* "(" */ + return ts + 24068 /* "(" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), z, func() uintptr { if b != 0 { - return ts + 6861 /* ")" */ + return ts + 6876 /* ")" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }())) } if zRet == uintptr(0) { @@ -174562,18 +180672,18 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT var rc int32 var i int32 var azConfig uintptr // Array of arguments for Fts5Config - var zNearsetCmd uintptr = ts + 38508 /* "nearset" */ + var zNearsetCmd uintptr = ts + 39856 /* "nearset" */ var nConfig int32 // Size of azConfig[] *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)) = uintptr(0) var iArg int32 = 1 if nArg < 1 { - *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = Xsqlite3_mprintf(tls, ts+38516, /* "wrong number of ..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = Xsqlite3_mprintf(tls, ts+39864, /* "wrong number of ..." */ libc.VaList(bp, func() uintptr { if bTcl != 0 { - return ts + 38557 /* "fts5_expr_tcl" */ + return ts + 39905 /* "fts5_expr_tcl" */ } - return ts + 38571 /* "fts5_expr" */ + return ts + 39919 /* "fts5_expr" */ }())) Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)), -1) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -174592,21 +180702,21 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT return } *(*uintptr)(unsafe.Pointer(azConfig)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(azConfig + 1*8)) = ts + 8540 /* "main" */ - *(*uintptr)(unsafe.Pointer(azConfig + 2*8)) = ts + 13495 /* "tbl" */ + *(*uintptr)(unsafe.Pointer(azConfig + 1*8)) = ts + 8555 /* "main" */ + *(*uintptr)(unsafe.Pointer(azConfig + 2*8)) = ts + 13510 /* "tbl" */ for i = 3; iArg < nArg; iArg++ { var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iArg)*8))) *(*uintptr)(unsafe.Pointer(azConfig + uintptr(libc.PostIncInt32(&i, 1))*8)) = func() uintptr { if z != 0 { return z } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }() } zExpr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))) if zExpr == uintptr(0) { - zExpr = ts + 889 /* "" */ + zExpr = ts + 904 /* "" */ } rc = sqlite3Fts5ConfigParse(tls, pGlobal, db, nConfig, azConfig, bp+8 /* &pConfig */, bp+16 /* &zErr */) @@ -174616,7 +180726,7 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT if rc == SQLITE_OK { var zText uintptr if (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pExpr */)))).FpRoot)).FxNext == uintptr(0) { - zText = Xsqlite3_mprintf(tls, ts+889 /* "" */, 0) + zText = Xsqlite3_mprintf(tls, ts+904 /* "" */, 0) } else if bTcl != 0 { zText = fts5ExprPrintTcl(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)), zNearsetCmd, (*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pExpr */)))).FpRoot) } else { @@ -174663,13 +180773,13 @@ func fts5ExprIsAlnum(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { / if nArg != 1 { Xsqlite3_result_error(tls, pCtx, - ts+38581 /* "wrong number of ..." */, -1) + ts+39929 /* "wrong number of ..." */, -1) return } libc.Xmemset(tls, bp /* &aArr[0] */, 0, uint64(unsafe.Sizeof([32]U8{}))) - sqlite3Fts5UnicodeCatParse(tls, ts+38632 /* "L*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+38635 /* "N*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+38638 /* "Co" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+39980 /* "L*" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+39983 /* "N*" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+39986 /* "Co" */, bp /* &aArr[0] */) iCode = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal))) Xsqlite3_result_int(tls, pCtx, int32(*(*U8)(unsafe.Pointer(bp /* &aArr[0] */ + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode))))))) } @@ -174677,7 +180787,7 @@ func fts5ExprIsAlnum(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { / func fts5ExprFold(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:220197:13: */ if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, pCtx, - ts+38641 /* "wrong number of ..." */, -1) + ts+39989 /* "wrong number of ..." */, -1) } else { var iCode int32 var bRemoveDiacritics int32 = 0 @@ -174696,16 +180806,16 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* defer tls.Free(64) *(*[4]Fts5ExprFunc)(unsafe.Pointer(bp /* aFunc */)) = [4]Fts5ExprFunc{ - {Fz: ts + 38571 /* "fts5_expr" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 39919 /* "fts5_expr" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFunctionHr}))}, - {Fz: ts + 38557 /* "fts5_expr_tcl" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 39905 /* "fts5_expr_tcl" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFunctionTcl}))}, - {Fz: ts + 38689 /* "fts5_isalnum" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 40037 /* "fts5_isalnum" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprIsAlnum}))}, - {Fz: ts + 38702 /* "fts5_fold" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 40050 /* "fts5_fold" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFold}))}, } @@ -176122,7 +182232,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 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+38712 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+40060 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) } // If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls @@ -176210,7 +182320,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 /* &.pWriter */), Xsqlite3_mprintf(tls, - ts+38718, /* "REPLACE INTO '%q..." */ + ts+40066, /* "REPLACE INTO '%q..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return @@ -176238,7 +182348,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig var zSql uintptr = Xsqlite3_mprintf(tls, - ts+38769, /* "DELETE FROM '%q'..." */ + ts+40117, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if fts5IndexPrepareStmt(tls, p, (p+72 /* &.pDeleter */), zSql) != 0 { return @@ -176262,7 +182372,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 88 /* &.pIdxDeleter */), Xsqlite3_mprintf(tls, - ts+38818, /* "DELETE FROM '%q'..." */ + ts+40166, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -176470,7 +182580,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12 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 /* &.pDataVersion */), - Xsqlite3_mprintf(tls, ts+38858 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + Xsqlite3_mprintf(tls, ts+40206 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return int64(0) } @@ -177905,7 +184015,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:2 var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 96 /* &.pIdxSelect */), Xsqlite3_mprintf(tls, - ts+38881, /* "SELECT pgno FROM..." */ + ts+40229, /* "SELECT pgno FROM..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect @@ -179162,7 +185272,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { return (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -179503,7 +185613,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 /* &.pIdxWriter */), Xsqlite3_mprintf(tls, - ts+38965, /* "INSERT INTO '%q'..." */ + ts+40313, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -180720,7 +186830,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 fts5StructureInvalidate(tls, p) fts5IndexDiscardData(tls, p) libc.Xmemset(tls, bp /* &s */, 0, uint64(unsafe.Sizeof(Fts5Structure{}))) - fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+889 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+904 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -180741,13 +186851,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == 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 /* &rc */, ts+39022 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8 /* &rc */, ts+40370 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, - pConfig, ts+29370 /* "data" */, ts+39030 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+29385 /* "data" */, ts+40378 /* "id INTEGER PRIMA..." */, 0, pzErr) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+13491, /* "idx" */ - ts+39065, /* "segid, term, pgn..." */ + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+13506, /* "idx" */ + ts+40413, /* "segid, term, pgn..." */ 1, pzErr) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { @@ -181053,7 +187163,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3Fts5Put32(tls, bp /* &aCookie[0] */, iNew) rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, - ts+38712 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) + ts+40060 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)), bp /* &aCookie[0] */, 4, 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */))) @@ -181190,7 +187300,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+39109, /* "SELECT segid, te..." */ + ts+40457, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. @@ -181400,7 +187510,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks } else { (*Fts5Buffer)(unsafe.Pointer(bp + 16 /* &poslist */)).Fn = 0 fts5SegiterPoslist(tls, p, ((*(*uintptr)(unsafe.Pointer(bp /* pIter */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter */)))).FaFirst+1*4)).FiFirst)*120), uintptr(0), bp+16 /* &poslist */) - sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+39195 /* "\x00\x00\x00\x00" */) + sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+40543 /* "\x00\x00\x00\x00" */) for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fn, bp+32 /* &iOff */, bp+40 /* &iPos */) { var iCol int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) >> 32)) var iTokOff int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) & int64(0x7FFFFFFF))) @@ -181456,17 +187566,17 @@ func fts5DebugRowid(tls *libc.TLS, pRc uintptr, pBuf uintptr, iKey I64) { /* sql if *(*int32)(unsafe.Pointer(bp + 32 /* iSegid */)) == 0 { if iKey == int64(FTS5_AVERAGES_ROWID) { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39200 /* "{averages} " */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40548 /* "{averages} " */, 0) } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39212 /* "{structure}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40560 /* "{structure}" */, 0) } } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39224, /* "{%ssegid=%d h=%d..." */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40572, /* "{%ssegid=%d h=%d..." */ libc.VaList(bp, func() uintptr { if *(*int32)(unsafe.Pointer(bp + 36 /* bDlidx */)) != 0 { - return ts + 39250 /* "dlidx " */ + return ts + 40598 /* "dlidx " */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), *(*int32)(unsafe.Pointer(bp + 32 /* iSegid */)), *(*int32)(unsafe.Pointer(bp + 40 /* iHeight */)), *(*int32)(unsafe.Pointer(bp + 44 /* iPgno */)))) } } @@ -181481,13 +187591,13 @@ func fts5DebugStructure(tls *libc.TLS, pRc uintptr, pBuf uintptr, p uintptr) { / for iLvl = 0; iLvl < (*Fts5Structure)(unsafe.Pointer(p)).FnLevel; iLvl++ { var pLvl uintptr = ((p + 24 /* &.aLevel */) + uintptr(iLvl)*16) sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, - ts+39257 /* " {lvl=%d nMerge=..." */, libc.VaList(bp, iLvl, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnMerge, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg)) + ts+40605 /* " {lvl=%d nMerge=..." */, libc.VaList(bp, iLvl, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnMerge, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg)) for iSeg = 0; iSeg < (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg; iSeg++ { var pSeg uintptr = ((*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FaSeg + uintptr(iSeg)*12) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39284, /* " {id=%d leaves=%..." */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40632, /* " {id=%d leaves=%..." */ libc.VaList(bp+24, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast)) } - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+30978 /* "}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+30993 /* "}" */, 0) } } @@ -181523,14 +187633,14 @@ func fts5DecodeAverages(tls *libc.TLS, pRc uintptr, pBuf uintptr, pBlob uintptr, defer tls.Free(24) var i int32 = 0 - var zSpace uintptr = ts + 889 /* "" */ + var zSpace uintptr = ts + 904 /* "" */ for i < nBlob { // var iVal U64 at bp+16, 8 i = i + (int32(sqlite3Fts5GetVarint(tls, (pBlob + uintptr(i)), bp+16 /* &iVal */))) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39307 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 16 /* iVal */))))) - zSpace = ts + 12900 /* " " */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40655 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 16 /* iVal */))))) + zSpace = ts + 12915 /* " " */ } } @@ -181548,7 +187658,7 @@ func fts5DecodePoslist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // var iVal int32 at bp+8, 4 iOff = iOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff)), bp+8 /* &iVal */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+38432 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* iVal */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39785 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* iVal */)))) } return iOff } @@ -181568,7 +187678,7 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in if n > 0 { iOff = int32(sqlite3Fts5GetVarint(tls, a, bp+32 /* &iDocid */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39312 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40660 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) } for iOff < n { // var nPos int32 at bp+40, 4 @@ -181576,11 +187686,11 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // var bDel int32 at bp+44, 4 iOff = iOff + (fts5GetPoslistSize(tls, (a + uintptr(iOff)), bp+40 /* &nPos */, bp+44 /* &bDel */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39321 /* " nPos=%d%s" */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(bp + 40 /* nPos */)), func() uintptr { + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40669 /* " nPos=%d%s" */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(bp + 40 /* nPos */)), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 44 /* bDel */)) != 0 { - return ts + 21550 /* "*" */ + return ts + 21565 /* "*" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }())) iOff = iOff + (fts5DecodePoslist(tls, pRc, pBuf, (a + uintptr(iOff)), func() int32 { if (n - iOff) < (*(*int32)(unsafe.Pointer(bp + 40 /* nPos */))) { @@ -181593,7 +187703,7 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in iOff = iOff + (int32(sqlite3Fts5GetVarint(tls, (a + uintptr(iOff)), bp+48 /* &iDelta */))) *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)) += *(*I64)(unsafe.Pointer(bp + 48 /* iDelta */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39312 /* " id=%lld" */, libc.VaList(bp+24, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40660 /* " id=%lld" */, libc.VaList(bp+24, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) } } @@ -181619,7 +187729,7 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr var iRowid I64 = int64(0) for i < nData { - var zApp uintptr = ts + 889 /* "" */ + var zApp uintptr = ts + 904 /* "" */ // var iVal U64 at bp+16, 8 i = i + (int32(sqlite3Fts5GetVarint(tls, (pData + uintptr(i)), bp+16 /* &iVal */))) @@ -181629,13 +187739,13 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr i++ if (i < nData) && (int32(*(*U8)(unsafe.Pointer(pData + uintptr(i)))) == 0x00) { i++ - zApp = ts + 39332 /* "+" */ + zApp = ts + 40680 /* "+" */ } else { - zApp = ts + 21550 /* "*" */ + zApp = ts + 21565 /* "*" */ } } - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39334 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40682 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) } } @@ -181742,7 +187852,7 @@ __5: goto __7 } sqlite3Fts5BufferAppendPrintf(tls, bp+64 /* &rc */, bp+48, /* &s */ - ts+39342 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiRowid)) + ts+40690 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiRowid)) goto __6 __6: fts5DlidxLvlNext(tls, bp+88 /* &lvl */) @@ -181797,7 +187907,7 @@ __16: (*Fts5Buffer)(unsafe.Pointer(bp + 136 /* &term */)).Fn = *(*int32)(unsafe.Pointer(bp + 164 /* nKeep */)) sqlite3Fts5BufferAppendBlob(tls, bp+64 /* &rc */, bp+136 /* &term */, uint32(*(*int32)(unsafe.Pointer(bp + 156 /* nAppend */))), (a + uintptr(iOff))) sqlite3Fts5BufferAppendPrintf(tls, - bp+64 /* &rc */, bp+48 /* &s */, ts+39352 /* " term=%.*s" */, libc.VaList(bp+16, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fp)) + bp+64 /* &rc */, bp+48 /* &s */, ts+40700 /* " term=%.*s" */, libc.VaList(bp+16, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fp)) iOff = iOff + (*(*int32)(unsafe.Pointer(bp + 156 /* nAppend */))) // Figure out where the doclist for this term ends @@ -181836,7 +187946,7 @@ __12: if !(n < 4) { goto __21 } - sqlite3Fts5BufferSet(tls, bp+64 /* &rc */, bp+48 /* &s */, 7, ts+39363 /* "corrupt" */) + sqlite3Fts5BufferSet(tls, bp+64 /* &rc */, bp+48 /* &s */, 7, ts+40711 /* "corrupt" */) goto decode_out goto __22 __21: @@ -181958,7 +188068,7 @@ __39: iOff1 = iOff1 + (*(*int32)(unsafe.Pointer(bp + 188 /* nByte */))) sqlite3Fts5BufferAppendPrintf(tls, - bp+64 /* &rc */, bp+48 /* &s */, ts+39352 /* " term=%.*s" */, libc.VaList(bp+32, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fp)) + bp+64 /* &rc */, bp+48 /* &s */, ts+40700 /* " term=%.*s" */, libc.VaList(bp+32, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fp)) iOff1 = iOff1 + (fts5DecodeDoclist(tls, bp+64 /* &rc */, bp+48 /* &s */, (a + uintptr(iOff1)), (iEnd - iOff1))) goto __32 __33: @@ -181990,16 +188100,16 @@ __41: func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:227717:13: */ var zArg uintptr if nArg == 0 { - Xsqlite3_result_error(tls, pCtx, ts+39371 /* "should be: fts5_..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+40719 /* "should be: fts5_..." */, -1) } else { zArg = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))) - if 0 == Xsqlite3_stricmp(tls, zArg, ts+39408 /* "segment" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+40756 /* "segment" */) { var iRowid I64 var segid int32 var pgno int32 if nArg != 3 { Xsqlite3_result_error(tls, pCtx, - ts+39416 /* "should be: fts5_..." */, -1) + ts+40764 /* "should be: fts5_..." */, -1) } else { segid = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) pgno = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal + 2*8))) @@ -182008,7 +188118,7 @@ func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { } } else { Xsqlite3_result_error(tls, pCtx, - ts+39463 /* "first arg to fts..." */, -1) + ts+40811 /* "first arg to fts..." */, -1) } } } @@ -182021,13 +188131,13 @@ func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { // SQLite error code is returned instead. func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:227757:12: */ var rc int32 = Xsqlite3_create_function(tls, - db, ts+39507 /* "fts5_decode" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + db, ts+40855 /* "fts5_decode" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5DecodeFunction})), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+39519 /* "fts5_decode_none" */, 2, + db, ts+40867 /* "fts5_decode_none" */, 2, SQLITE_UTF8, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5DecodeFunction})), uintptr(0), uintptr(0)) @@ -182035,7 +188145,7 @@ func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:227757 if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+39536 /* "fts5_rowid" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + db, ts+40884 /* "fts5_rowid" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5RowidFunction})), uintptr(0), uintptr(0)) } @@ -182416,7 +188526,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+39547 /* "recursively defi..." */, 0) + ts+40895 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -182450,7 +188560,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } else if iCol >= 0 { bSeenMatch = 1 *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('M') - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6819 /* "%d" */, libc.VaList(bp, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6834 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) } @@ -182466,7 +188576,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6819 /* "%d" */, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6834 /* "%d" */, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -182809,7 +188919,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: rc = Xsqlite3_reset(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+925 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + ts+940 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -182841,7 +188951,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, uint32(SQLITE_PREPARE_PERSISTENT), bp+8 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -182880,25 +188990,25 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 // // If SQLite a built-in statement cache, this wouldn't be a problem. rc = fts5PrepareStatement(tls, (pSorter /* &.pStmt */), pConfig, - ts+39586, /* "SELECT rowid, ra..." */ + ts+40934, /* "SELECT rowid, ra..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, func() uintptr { if zRankArgs != 0 { - return ts + 16610 /* ", " */ + return ts + 16625 /* ", " */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 39641 /* "DESC" */ + return ts + 40989 /* "DESC" */ } - return ts + 39646 /* "ASC" */ + return ts + 40994 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -182949,13 +189059,13 @@ 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+39650 /* "reads" */, z, n)) { + if (n == 5) && (0 == Xsqlite3_strnicmp(tls, ts+40998 /* "reads" */, 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+6963 /* "id" */, z, n)) { + } else if (n == 2) && (0 == Xsqlite3_strnicmp(tls, ts+6978 /* "id" */, z, n)) { (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { // An unrecognized directive. Return an error message. - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+39656 /* "unknown special ..." */, libc.VaList(bp, n, z)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+41004 /* "unknown special ..." */, libc.VaList(bp, n, z)) rc = SQLITE_ERROR } @@ -182990,7 +189100,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+39684 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+41032 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, @@ -183022,7 +189132,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+39694 /* "no such function..." */, libc.VaList(bp+8, zRank)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+41042 /* "no such function..." */, libc.VaList(bp+8, zRank)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } } @@ -183054,14 +189164,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin *(*int32)(unsafe.Pointer(pCsr + 80 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+39715 /* "parse error in r..." */, libc.VaList(bp, z)) + ts+41063 /* "parse error in r..." */, 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 + 37449 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 38802 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -183127,7 +189237,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+39547 /* "recursively defi..." */, 0) + ts+40895 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -183173,7 +189283,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 889 /* "" */ + zText = ts + 904 /* "" */ __14: ; iCol = 0 @@ -183362,7 +189472,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+39748 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + ts+41096 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = SQLITE_ERROR goto __41 __40: @@ -183499,7 +189609,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql rc = (SQLITE_CORRUPT | (int32(1) << 8)) } else if (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+925 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) + ts+940 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) } } } @@ -183536,29 +189646,29 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) var rc int32 = SQLITE_OK *(*int32)(unsafe.Pointer(bp /* bError */)) = 0 - if 0 == Xsqlite3_stricmp(tls, ts+39784 /* "delete-all" */, zCmd) { + if 0 == Xsqlite3_stricmp(tls, ts+41132 /* "delete-all" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { fts5SetVtabError(tls, pTab, - ts+39795 /* "'delete-all' may..." */, 0) + ts+41143 /* "'delete-all' may..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+39875 /* "rebuild" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+41223 /* "rebuild" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE { fts5SetVtabError(tls, pTab, - ts+39883 /* "'rebuild' may no..." */, 0) + ts+41231 /* "'rebuild' may no..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+18845 /* "optimize" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+18860 /* "optimize" */, zCmd) { rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) - } else if 0 == Xsqlite3_stricmp(tls, ts+39939 /* "merge" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+41287 /* "merge" */, 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+39945 /* "integrity-check" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+41293 /* "integrity-check" */, zCmd) { var iArg int32 = Xsqlite3_value_int(tls, pVal) rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg) } else { @@ -183632,7 +189742,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // A "special" INSERT op. These are handled separately. var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*8))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && - (0 == Xsqlite3_stricmp(tls, ts+19384 /* "delete" */, z)) { + (0 == Xsqlite3_stricmp(tls, ts+19399 /* "delete" */, z)) { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*8))) @@ -183657,12 +189767,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // This is not suported. if (eType0 == SQLITE_INTEGER) && (fts5IsContentless(tls, pTab) != 0) { (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+39961, /* "cannot %s conten..." */ + ts+41309, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 22796 /* "UPDATE" */ + return ts + 22811 /* "UPDATE" */ } - return ts + 39998 /* "DELETE from" */ + return ts + 41346 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -184332,7 +190442,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+40010 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) + var zErr uintptr = Xsqlite3_mprintf(tls, ts+41358 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } else { @@ -184637,7 +190747,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+40031 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41379 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 16 /* &.x */ /* &.xCreate */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { @@ -184654,7 +190764,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg (*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = (pMod + 16 /* &.x */) if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40053 /* "error in tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41401 /* "error in tokeniz..." */, 0) } } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls, @@ -184701,7 +190811,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s var ppApi uintptr _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+40084 /* "fts5_api_ptr" */) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+41432 /* "fts5_api_ptr" */) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = (pGlobal /* &.api */) } @@ -184712,7 +190822,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+40097 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, pCtx, ts+41445 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) } // Return true if zName is the extension on one of the shadow tables used @@ -184728,7 +190838,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 40188 /* "config" */, ts + 37638 /* "content" */, ts + 29370 /* "data" */, ts + 37989 /* "docsize" */, ts + 13491, /* "idx" */ + ts + 41536 /* "config" */, ts + 38991 /* "content" */, ts + 29385 /* "data" */, ts + 39342 /* "docsize" */, ts + 13506, /* "idx" */ } /* sqlite3.c:230593:21 */ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ @@ -184752,7 +190862,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ (*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+40195 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) + rc = Xsqlite3_create_module_v2(tls, db, ts+41543 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) if rc == SQLITE_OK { rc = sqlite3Fts5IndexInit(tls, db) } @@ -184770,13 +190880,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+40195 /* "fts5" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+41543 /* "fts5" */, 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+40200 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+41548 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5SourceIdFunc})), uintptr(0), uintptr(0)) } @@ -184842,20 +190952,20 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p if *(*uintptr)(unsafe.Pointer((p + 40 /* &.aStmt */) + uintptr(eStmt)*8)) == uintptr(0) { *(*[11]uintptr)(unsafe.Pointer(bp + 128 /* azStmt */)) = [11]uintptr{ - ts + 40215, /* "SELECT %s FROM %..." */ - ts + 40283, /* "SELECT %s FROM %..." */ - ts + 40352, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 41563, /* "SELECT %s FROM %..." */ + ts + 41631, /* "SELECT %s FROM %..." */ + ts + 41700, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 40385, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 40424, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 40464, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 40503, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 40544, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE + ts + 41733, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT + ts + 41772, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT + ts + 41812, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT + ts + 41851, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE + ts + 41892, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE - ts + 40583, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 41931, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 40625, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 40665, /* "SELECT %s FROM %..." */ // SCAN + ts + 41973, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG + ts + 42013, /* "SELECT %s FROM %..." */ // SCAN } var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr = uintptr(0) @@ -184922,7 +191032,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+925 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+940 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -184960,18 +191070,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+40688, /* "DROP TABLE IF EX..." */ + ts+42036, /* "DROP TABLE IF EX..." */ 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+40792, /* "DROP TABLE IF EX..." */ + ts+42140, /* "DROP TABLE IF EX..." */ 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+40830, /* "DROP TABLE IF EX..." */ + ts+42178, /* "DROP TABLE IF EX..." */ libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc @@ -184983,7 +191093,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+40868, /* "ALTER TABLE %Q.'..." */ + ts+42216, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -184995,14 +191105,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp /* rc */)) = sqlite3Fts5StorageSync(tls, pStorage) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+29370 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+13491 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+40188 /* "config" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+29385 /* "data" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+13506 /* "idx" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+41536 /* "config" */, zName) if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+37989 /* "docsize" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+39342 /* "docsize" */, zName) } if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+37638 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+38991 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -185016,17 +191126,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn var rc int32 *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+40910, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+42258, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { - return ts + 33985 /* " WITHOUT ROWID" */ + return ts + 34000 /* " WITHOUT ROWID" */ } - return ts + 889 /* "" */ + return ts + 904 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+40940, /* "fts5: error crea..." */ + ts+42288, /* "fts5: error crea..." */ libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } @@ -185068,27 +191178,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+40984 /* "id INTEGER PRIMA..." */, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, ts+42332 /* "id INTEGER PRIMA..." */, 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+41007 /* ", c%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, (nDefn - iOff), (zDefn + uintptr(iOff)), ts+42355 /* ", c%d" */, libc.VaList(bp, i)) iOff = iOff + (int32(libc.Xstrlen(tls, (zDefn + uintptr(iOff))))) } - rc = sqlite3Fts5CreateTable(tls, pConfig, ts+37638 /* "content" */, zDefn, 0, pzErr) + rc = sqlite3Fts5CreateTable(tls, pConfig, ts+38991 /* "content" */, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+37989 /* "docsize" */, ts+41013 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+39342 /* "docsize" */, ts+42361 /* "id INTEGER PRIMA..." */, 0, pzErr) } if rc == SQLITE_OK { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+40188 /* "config" */, ts+41045 /* "k PRIMARY KEY, v" */, 1, pzErr) + pConfig, ts+41536 /* "config" */, ts+42393 /* "k PRIMARY KEY, v" */, 1, pzErr) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+38135 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+39488 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -185325,12 +191435,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: // Delete the contents of the %_data and %_docsize tables. rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+41062, /* "DELETE FROM %Q.'..." */ + ts+42410, /* "DELETE FROM %Q.'..." */ 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+41112, /* "DELETE FROM %Q.'..." */ + ts+42460, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -185340,7 +191450,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+38135 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+39488 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -185535,7 +191645,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+41141, /* "SELECT count(*) ..." */ + zSql = Xsqlite3_mprintf(tls, ts+42489, /* "SELECT count(*) ..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -185732,14 +191842,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // number of rows. if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { *(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+37638 /* "content" */, bp+48 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+38991 /* "content" */, bp+48 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) != (*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 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+37989 /* "docsize" */, bp+56 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+39342 /* "docsize" */, bp+56 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 56 /* nRow */)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) } @@ -185975,9 +192085,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, libc.Xmemcpy(tls, p /* &.aTokenChar */, 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+41173 /* "tokenchars" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42521 /* "tokenchars" */) { fts5AsciiAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+41184 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42532 /* "separators" */) { fts5AsciiAddExceptions(tls, p, zArg, 0) } else { rc = SQLITE_ERROR @@ -186217,7 +192327,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 + 41195 /* "L* N* Co" */ + var zCat uintptr = ts + 42543 /* "L* N* Co" */ var i int32 libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{}))) @@ -186230,7 +192340,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Search for a "categories" argument for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+41204 /* "categories" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42552 /* "categories" */) { zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*8)) } } @@ -186241,18 +192351,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+41215 /* "remove_diacritic..." */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42563 /* "remove_diacritic..." */) { 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+41173 /* "tokenchars" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42521 /* "tokenchars" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+41184 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42532 /* "separators" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 0) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+41204 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42552 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -186564,7 +192674,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 /* pUserdata */)) = uintptr(0) - var zBase uintptr = ts + 41233 /* "unicode61" */ + var zBase uintptr = ts + 42581 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -186717,7 +192827,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41243 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42591 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -186725,11 +192835,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41246 /* "ance" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42594 /* "ance" */, (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+41251 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42599 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -186737,7 +192847,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41256 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42604 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -186745,7 +192855,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41259 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42607 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -186753,11 +192863,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41262 /* "able" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42610 /* "able" */, (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+41267 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42615 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -186765,19 +192875,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41272 /* "ant" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42620 /* "ant" */, (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+41276 /* "ement" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42624 /* "ement" */, (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+41282 /* "ment" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42630 /* "ment" */, (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+41287 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42635 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -186785,11 +192895,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41291 /* "ion" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42639 /* "ion" */, (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+41295 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42643 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -186797,7 +192907,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41298 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42646 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -186805,11 +192915,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41302 /* "ate" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42650 /* "ate" */, (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+41306 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42654 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -186817,7 +192927,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41310 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42658 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -186825,7 +192935,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41314 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42662 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -186833,7 +192943,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41318 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42666 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -186850,24 +192960,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41322 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+41302 /* "ate" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42670 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42650 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'b': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41325 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+41328 /* "ble" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42673 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42676 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41332 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+41318 /* "ize" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42680 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42666 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } @@ -186883,137 +192993,137 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41335 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42683 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41302 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42650 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+41343 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+42691 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+41350 /* "tion" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+42698 /* "tion" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 4) } } break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41355 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42703 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41251 /* "ence" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42599 /* "ence" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41360 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42708 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41246 /* "ance" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42594 /* "ance" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } } break case 'e': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41365 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42713 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41318 /* "ize" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42666 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'g': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41370 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42718 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+18183 /* "log" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+18198 /* "log" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'l': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41375 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42723 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+41328 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+42676 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41379 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42727 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41243 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42591 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41384 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42732 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41287 /* "ent" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42635 /* "ent" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41390 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42738 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+41394 /* "e" */, uint64(1)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+42742 /* "e" */, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 1) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41396 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42744 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41310 /* "ous" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42658 /* "ous" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } } break case 'o': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41402 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42750 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41318 /* "ize" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42666 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41410 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42758 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41302 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42650 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41416 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42764 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41302 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42650 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 's': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41421 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42769 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41243 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42591 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41427 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42775 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41314 /* "ive" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42662 /* "ive" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41435 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42783 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41443 /* "ful" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42791 /* "ful" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41447 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42795 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41310 /* "ous" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42658 /* "ous" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } } break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41455 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42803 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41243 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42591 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41461 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42809 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41314 /* "ive" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42662 /* "ive" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+41467 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+42815 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+41328 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+42676 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -187029,16 +193139,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41474 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42822 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41259 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42607 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } } break case 's': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41479 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42827 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -187046,21 +193156,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41484 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42832 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41259 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42607 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41490 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42838 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41259 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42607 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41443 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42791 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -187068,7 +193178,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41496 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42844 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 5) } @@ -187076,9 +193186,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41502 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42850 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41243 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42591 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -187094,12 +193204,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'e': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41508 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42856 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+41512 /* "ee" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+42860 /* "ee" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 2) } - } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41515 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42863 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) ret = 1 @@ -187108,7 +193218,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41518 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42866 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) ret = 1 @@ -187278,7 +193388,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+41522 /* "case_sensitive" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42870 /* "case_sensitive" */) { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { @@ -187468,22 +193578,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: defer tls.Free(128) *(*[4]BuiltinTokenizer)(unsafe.Pointer(bp /* aBuiltin */)) = [4]BuiltinTokenizer{ - {FzName: ts + 41233 /* "unicode61" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42581 /* "unicode61" */, 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 + 41537 /* "ascii" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42885 /* "ascii" */, 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 + 41543 /* "porter" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42891 /* "porter" */, 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 + 41550 /* "trigram" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42898 /* "trigram" */, 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 @@ -188830,14 +194940,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8 /* &rc */, zType, -1) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, ts+41558 /* "col" */) == 0 { + if Xsqlite3_stricmp(tls, zCopy, ts+42906 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL - } else if Xsqlite3_stricmp(tls, zCopy, ts+41562 /* "row" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+42910 /* "row" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW - } else if Xsqlite3_stricmp(tls, zCopy, ts+41566 /* "instance" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+42914 /* "instance" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41575 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42923 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) @@ -188884,19 +194994,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv defer tls.Free(36) *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azSchema */)) = [3]uintptr{ - ts + 41609, /* "CREATE TABlE voc..." */ - ts + 41649, /* "CREATE TABlE voc..." */ - ts + 41684, /* "CREATE TABlE voc..." */ + ts + 42957, /* "CREATE TABlE voc..." */ + ts + 42997, /* "CREATE TABlE voc..." */ + ts + 43032, /* "CREATE TABlE voc..." */ } var pRet uintptr = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK // Return code var bDb int32 - bDb = (libc.Bool32(((argc == 6) && (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4))) && (libc.Xmemcmp(tls, ts+25987 /* "temp" */, *(*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+26002 /* "temp" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0))) if (argc != 5) && (bDb == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41727 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43075 /* "wrong number of ..." */, 0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR } else { var nByte int32 // Bytes of space to allocate @@ -189048,11 +195158,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+41760 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+43108 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } zSql = sqlite3Fts5Mprintf(tls, bp+64, /* &rc */ - ts+41791, /* "SELECT t.%Q FROM..." */ + ts+43139, /* "SELECT t.%Q FROM..." */ 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 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72 /* &pStmt */, uintptr(0)) @@ -189076,7 +195186,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+41842 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+43190 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } else { @@ -189364,7 +195474,7 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused if pLe != 0 { var zCopy uintptr = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = ts + 889 /* "" */ + zCopy = ts + 904 /* "" */ } (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm + 1)) @@ -189481,7 +195591,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:235171:12: */ var p uintptr = pGlobal - return Xsqlite3_create_module_v2(tls, db, ts+41868 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, ts+43216 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } var fts5Vocab = Sqlite3_module{ @@ -189597,7 +195707,7 @@ func stmtConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp rc = Xsqlite3_declare_vtab(tls, db, - ts+41878 /* "CREATE TABLE x(s..." */) + ts+43226 /* "CREATE TABLE x(s..." */) if rc == SQLITE_OK { pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Stmt_vtab{}))) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -189754,14 +195864,14 @@ var stmtModule = Sqlite3_module{ // xCreate func Xsqlite3StmtVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:235483:20: */ var rc int32 = SQLITE_OK - rc = Xsqlite3_create_module(tls, db, ts+41950 /* "sqlite_stmt" */, uintptr(unsafe.Pointer(&stmtModule)), uintptr(0)) + rc = Xsqlite3_create_module(tls, db, ts+43298 /* "sqlite_stmt" */, uintptr(unsafe.Pointer(&stmtModule)), uintptr(0)) return rc } //************* End of stmt.c *********************************************** // Return the source-id for this library func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:235516:23: */ - return ts + 41962 /* "2021-06-18 18:36..." */ + return ts + 43310 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -190706,5 +196816,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128 /* .xGetLastError */)) = rbuVfsGetLastError // sqlite3.c:205300:5: } -var ts1 = "COMPILER=gcc-8.3.0\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00NONE\x00SHARED\x00RESERVED\x00PENDING\x00EXCLUSIVE\x00ERROR\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\x00TEST WR-LOCK %d %d %d (unix)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (unix)\n\x00LOCK %d %s ok (already held) (unix)\n\x00LOCK %d %s %s (unix)\n\x00ok\x00failed\x00UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n\x00CLOSE %-3d\n\x00TEST WR-LOCK %d %d %d (dotlock)\n\x00UNLOCK %d %d was %d pid=%d (dotlock)\n\x00READ %-3d %5d %7lld %llu\n\x00WRITE %-3d %5d %7lld %llu\n\x00OPENDIR %-3d %s\n\x00SYNC %-3d\n\x00full_fsync\x00DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n\x00%s-shm\x00readonly_shm\x00SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n\x00OPEN %-3d %s\n\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00OPENX %-3d %s 0%o\n\x00fsync\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\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\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\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.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\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, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\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_status\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\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\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\x00call flush_partition\x00%s clause should come after %s not before\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: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\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\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\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\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00 OR \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\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\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=gcc-8.3.0\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00NONE\x00SHARED\x00RESERVED\x00PENDING\x00EXCLUSIVE\x00ERROR\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\x00TEST WR-LOCK %d %d %d (unix)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (unix)\n\x00LOCK %d %s ok (already held) (unix)\n\x00LOCK %d %s %s (unix)\n\x00ok\x00failed\x00UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n\x00CLOSE %-3d\n\x00TEST WR-LOCK %d %d %d (dotlock)\n\x00UNLOCK %d %d was %d pid=%d (dotlock)\n\x00READ %-3d %5d %7lld %llu\n\x00WRITE %-3d %5d %7lld %llu\n\x00OPENDIR %-3d %s\n\x00SYNC %-3d\n\x00full_fsync\x00DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n\x00%s-shm\x00readonly_shm\x00SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n\x00OPEN %-3d %s\n\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00OPENX %-3d %s 0%o\n\x00fsync\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\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\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\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.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\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, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\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_status\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\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\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\x00call flush_partition\x00%s clause should come after %s not before\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: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\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\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\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\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\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\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/libtest/sqlite_linux_arm.go b/libtest/sqlite_linux_arm.go index ca8ae44..dbde4f6 100644 --- a/libtest/sqlite_linux_arm.go +++ b/libtest/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 "" -pkgname sqlite3 -o libtest/sqlite_linux_arm.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -pkgname sqlite3 -o libtest/sqlite_linux_arm.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP', DO NOT EDIT. package sqlite3 @@ -1390,6 +1390,9 @@ const ( SEEK_HOLE = 4 SEEK_SET = 0 SELECTTRACE_ENABLED = 0 + SESSIONS_STRM_CHUNK_SIZE = 64 + SESSION_MAX_BUFFER_SZ = 2147483391 + SESSION_UPDATE_CACHE_SZ = 12 SF_Aggregate = 0x0000008 SF_All = 0x0000002 SF_ComplexResult = 0x0040000 @@ -1536,6 +1539,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -1699,6 +1713,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_STMTVTAB = 1 @@ -2071,6 +2086,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3705,7 +3722,7 @@ type X__float128 = float64 /* :47:21 */ // This array looks large, but in a typical installation actually uses // only a handful of compile-time options, so most times this array is usually // rather short and uses little memory space. -var sqlite3azCompileOpt = [27]uintptr{ +var sqlite3azCompileOpt = [28]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl ts, /* "COMPILER=gcc-8.3..." */ @@ -3724,17 +3741,18 @@ var sqlite3azCompileOpt = [27]uintptr{ ts + 256, /* "ENABLE_PREUPDATE..." */ ts + 278, /* "ENABLE_RBU" */ ts + 289, /* "ENABLE_RTREE" */ - ts + 302, /* "ENABLE_SNAPSHOT" */ - ts + 318, /* "ENABLE_STAT4" */ - ts + 331, /* "ENABLE_STMTVTAB" */ - ts + 347, /* "ENABLE_UNLOCK_NO..." */ - ts + 368, /* "LIKE_DOESNT_MATC..." */ - ts + 392, /* "MUTEX_NOOP" */ - ts + 403, /* "SOUNDEX" */ - ts + 411, /* "SYSTEM_MALLOC" */ - ts + 425, /* "TEMP_STORE=1" */ - ts + 438, /* "TEST" */ - ts + 443, /* "THREADSAFE=1" */ + ts + 302, /* "ENABLE_SESSION" */ + ts + 317, /* "ENABLE_SNAPSHOT" */ + ts + 333, /* "ENABLE_STAT4" */ + ts + 346, /* "ENABLE_STMTVTAB" */ + ts + 362, /* "ENABLE_UNLOCK_NO..." */ + ts + 383, /* "LIKE_DOESNT_MATC..." */ + ts + 407, /* "MUTEX_NOOP" */ + ts + 418, /* "SOUNDEX" */ + ts + 426, /* "SYSTEM_MALLOC" */ + ts + 440, /* "TEMP_STORE=1" */ + ts + 453, /* "TEST" */ + ts + 458, /* "THREADSAFE=1" */ // END CODE GENERATED BY tool/mkctime.tcl } /* sqlite3.c:72:19 */ @@ -4050,7 +4068,7 @@ type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ // of the hash might be different from [SQLITE_SOURCE_ID].)^ // // See also: [sqlite_version()] and [sqlite_source_id()]. -var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 456 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ +var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 471 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -6592,6 +6610,494 @@ type Sqlite3_rtree_dbl = float64 /* sqlite3.c:11048:18 */ //******* End of sqlite3rtree.h ******** //******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type sqlite3_session = struct { + Fdb uintptr + FzDb uintptr + FbEnableSize int32 + FbEnable int32 + FbIndirect int32 + FbAutoAttach int32 + Frc int32 + FpFilterCtx uintptr + FxTableFilter uintptr + _ [4]byte + FnMalloc I64 + FnMaxChangesetSize I64 + FpZeroBlob uintptr + FpNext uintptr + FpTable uintptr + Fhook SessionHook +} /* sqlite3.c:11155:9 */ + +// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. + +//******* End of sqlite3rtree.h ******** +//******* Begin file sqlite3session.h ******** + +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type sqlite3_changeset_iter = struct { + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + FabPK uintptr + FapValue uintptr +} /* sqlite3.c:11163:9 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type Sqlite3_changeset_iter = sqlite3_changeset_iter /* sqlite3.c:11163:39 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type sqlite3_changegroup = struct { + Frc int32 + FbPatch int32 + FpList uintptr +} /* sqlite3.c:12015:9 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type Sqlite3_changegroup = sqlite3_changegroup /* sqlite3.c:12015:36 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type sqlite3_rebaser = struct{ Fgrp Sqlite3_changegroup } /* sqlite3.c:12579:9 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ + +// CAPI3REF: Values for sqlite3session_config(). + +// Make sure we can call this stuff from C++. + //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** // 2014 May 31 @@ -6641,10 +7147,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.c:12895:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -10498,7 +11003,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 463 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 478 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -11645,7 +12150,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+470 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+485 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { goto __9 } return 1 @@ -11682,13 +12187,13 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 // var s int32 at bp+32, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+478 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+493 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+486 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+501 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -11807,7 +12312,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+490 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+505 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -11888,7 +12393,7 @@ func parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) i return 0 } else if parseHhMmSs(tls, zDate, p) == 0 { return 0 - } else if (Xsqlite3StrICmp(tls, zDate, ts+502 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { + } else if (Xsqlite3StrICmp(tls, zDate, ts+517 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { return setDateTimeToCurrent(tls, context, p) } else if Xsqlite3AtoF(tls, zDate, bp /* &r */, Xsqlite3Strlen30(tls, zDate), uint8(SQLITE_UTF8)) > 0 { setRawDateNumber(tls, p, *(*float64)(unsafe.Pointer(bp /* r */))) @@ -12070,7 +12575,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite computeJD(tls, bp+48 /* &x */) *(*Time_t)(unsafe.Pointer(bp + 96 /* t */)) = (Time_t(((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000)))) if osLocaltime(tls, bp+96 /* &t */, bp /* &sLocal */) != 0 { - Xsqlite3_result_error(tls, pCtx, ts+506 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+521 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -12105,12 +12610,12 @@ var aXformType = [6]struct { FrLimit float64 FrXform float64 }{ - {FnName: U8(6), FzName: ts + 529 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, - {FnName: U8(6), FzName: ts + 536 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, - {FnName: U8(4), FzName: ts + 543 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, - {FnName: U8(3), FzName: ts + 548 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, - {FeType: U8(1), FnName: U8(5), FzName: ts + 552 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, - {FeType: U8(2), FnName: U8(4), FzName: ts + 558 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, + {FnName: U8(6), FzName: ts + 544 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, + {FnName: U8(6), FzName: ts + 551 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, + {FnName: U8(4), FzName: ts + 558 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, + {FnName: U8(3), FzName: ts + 563 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, + {FeType: U8(1), FnName: U8(5), FzName: ts + 567 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, + {FeType: U8(2), FnName: U8(4), FzName: ts + 573 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, } /* sqlite3.c:22795:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -12149,7 +12654,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Assuming the current time value is UTC (a.k.a. GMT), shift it to // show local time. - if (Xsqlite3_stricmp(tls, z, ts+563 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + if (Xsqlite3_stricmp(tls, z, ts+578 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { computeJD(tls, p) *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (localtimeOffset(tls, p, pCtx, bp /* &rc */)) clearYMD_HMS_TZ(tls, p) @@ -12163,7 +12668,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Treat the current value of p->s as the number of // seconds since 1970. Convert to a real julian day number. - if (Xsqlite3_stricmp(tls, z, ts+573 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { + if (Xsqlite3_stricmp(tls, z, ts+588 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) @@ -12172,7 +12677,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+583 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + } else if (Xsqlite3_stricmp(tls, z, ts+598 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { if int32((*DateTime)(unsafe.Pointer(p)).FtzSet) == 0 { var c1 Sqlite3_int64 computeJD(tls, p) @@ -12197,7 +12702,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // Move the date to the same time on the next occurrence of // weekday N where 0==Sunday, 1==Monday, and so forth. If the // date is already on the appropriate weekday, this is a no-op. - if ((((Xsqlite3_strnicmp(tls, z, ts+587 /* "weekday " */, 8) == 0) && + if ((((Xsqlite3_strnicmp(tls, z, ts+602 /* "weekday " */, 8) == 0) && (Xsqlite3AtoF(tls, (z+8), bp+8 /* &r */, Xsqlite3Strlen30(tls, (z+8)), uint8(SQLITE_UTF8)) > 0)) && ((float64(libc.AssignInt32(&n, int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */)))))) == *(*float64)(unsafe.Pointer(bp + 8 /* r */)))) && (n >= 0)) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < float64(7)) { var Z Sqlite3_int64 @@ -12222,7 +12727,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Move the date backwards to the beginning of the current day, // or month or year. - if Xsqlite3_strnicmp(tls, z, ts+596 /* "start of " */, 9) != 0 { + if Xsqlite3_strnicmp(tls, z, ts+611 /* "start of " */, 9) != 0 { break } if (!(int32((*DateTime)(unsafe.Pointer(p)).FvalidJD) != 0) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidYMD) != 0)) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidHMS) != 0) { @@ -12236,14 +12741,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - if Xsqlite3_stricmp(tls, z, ts+552 /* "month" */) == 0 { + if Xsqlite3_stricmp(tls, z, ts+567 /* "month" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+558 /* "year" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+573 /* "year" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FM = 1 (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+548 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+563 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -12464,7 +12969,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // var zBuf [100]int8 at bp+96, 100 computeYMD_HMS(tls, bp+48 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+606, /* "%04d-%02d-%02d %..." */ + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+621, /* "%04d-%02d-%02d %..." */ libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } @@ -12483,7 +12988,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeHMS(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+636 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+651 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -12501,7 +13006,7 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeYMD(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+651 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+666 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -12628,7 +13133,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (Size_t(2)) break fallthrough @@ -12638,14 +13143,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+671 /* "%06.3f" */, libc.VaList(bp+8, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+686 /* "%06.3f" */, libc.VaList(bp+8, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) j = j + (Size_t(2)) break fallthrough @@ -12663,10 +13168,10 @@ __3: if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday wd = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) j = j + (Size_t(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+678 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+693 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) j = j + (Size_t(3)) } break @@ -12675,19 +13180,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+683 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+698 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) j = j + (Size_t(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) j = j + (Size_t(2)) break fallthrough @@ -12701,7 +13206,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (Size_t(2)) break fallthrough @@ -12714,7 +13219,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+689 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+704 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -12771,14 +13276,14 @@ func Xsqlite3RegisterDateTimeFunctions(tls *libc.TLS) { /* sqlite3.c:23404:21: * } var aDateTimeFuncs = [8]FuncDef{ - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 694 /* "julianday" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 704 /* "date" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 709 /* "time" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 714 /* "datetime" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 723 /* "strftime" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 732 /* "current_time" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 745 /* "current_timestam..." */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 763 /* "current_date" */}} /* sqlite3.c:23405:18 */ + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 709 /* "julianday" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 719 /* "date" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 724 /* "time" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 729 /* "datetime" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 738 /* "strftime" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 747 /* "current_time" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 760 /* "current_timestam..." */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 778 /* "current_date" */}} /* sqlite3.c:23405:18 */ //************* End of date.c *********************************************** //************* Begin file os.c ********************************************* @@ -13475,7 +13980,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p += 8 } else { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+776 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+791 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -13526,7 +14031,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* } else { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+814, /* "failed memory re..." */ + ts+829, /* "failed memory re..." */ libc.VaList(bp, sqlite3MemSize(tls, pPrior), nByte)) } return p @@ -14712,8 +15217,8 @@ type Et_info = et_info /* sqlite3.c:28672:3 */ // The following table is searched linearly, so it is good to put the // most frequently used conversion types first. -var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 850 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 883 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ +var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 865 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 898 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ var fmtinfo = [23]Et_info{ {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, {Ffmttype: int8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, @@ -14967,7 +15472,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+890 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+905 /* "%" */, 1) goto __5 __11: ; @@ -15550,7 +16055,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 892 /* "NaN" */ + bufpt = ts + 907 /* "NaN" */ length = 3 goto __58 __127: @@ -15610,7 +16115,7 @@ __138: } bufpt = bp + 8 /* &buf[0] */ *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix - libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+896 /* "Inf" */, uint32(4)) + libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+911 /* "Inf" */, uint32(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: @@ -15967,7 +16472,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 900 /* "" */ + bufpt = ts + 915 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -16096,9 +16601,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 901 /* "NULL" */ + return ts + 916 /* "NULL" */ } - return ts + 906 /* "(NULL)" */ + return ts + 921 /* "(NULL)" */ }() __220: ; @@ -16233,7 +16738,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+913 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+928 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -16248,7 +16753,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+915 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, ts+930 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) __247: ; __246: @@ -16311,7 +16816,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 927 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 942 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -16697,7 +17202,7 @@ func Xsqlite3DebugPrintf(tls *libc.TLS, zFormat uintptr, va uintptr) { /* sqlite Xsqlite3_str_vappendf(tls, bp+8 /* &acc */, zFormat, ap) _ = ap Xsqlite3StrAccumFinish(tls, bp+8 /* &acc */) - libc.Xfprintf(tls, libc.Xstdout, ts+936 /* "%s" */, libc.VaList(bp, bp+32 /* &zBuf[0] */)) + libc.Xfprintf(tls, libc.Xstdout, ts+951 /* "%s" */, libc.VaList(bp, bp+32 /* &zBuf[0] */)) libc.Xfflush(tls, libc.Xstdout) } @@ -18711,7 +19216,7 @@ func compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) int32 { /* sqlite3.c var c int32 = 0 var i int32 // 012345678901234567 - var pow63 uintptr = ts + 939 /* "9223372036854775..." */ + var pow63 uintptr = ts + 954 /* "9223372036854775..." */ for i = 0; (c == 0) && (i < 18); i++ { c = ((int32(*(*int8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) } @@ -19361,7 +19866,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+958, /* "API call with %s..." */ + ts+973, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -19380,14 +19885,14 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ func Xsqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:33054:20: */ var magic U32 if db == uintptr(0) { - logBadConnection(tls, ts+901 /* "NULL" */) + logBadConnection(tls, ts+916 /* "NULL" */) return 0 } magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if magic != SQLITE_MAGIC_OPEN { if Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 { - logBadConnection(tls, ts+1003 /* "unopened" */) + logBadConnection(tls, ts+1018 /* "unopened" */) } return 0 } else { @@ -19401,7 +19906,7 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if ((magic != U32(SQLITE_MAGIC_SICK)) && (magic != SQLITE_MAGIC_OPEN)) && (magic != SQLITE_MAGIC_BUSY) { - logBadConnection(tls, ts+1012 /* "invalid" */) + logBadConnection(tls, ts+1027 /* "invalid" */) return 0 } else { return 1 @@ -19929,186 +20434,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 0 */ ts + 1020, /* "Savepoint\x00" */ - /* 1 */ ts + 1031, /* "AutoCommit\x00" */ - /* 2 */ ts + 1043, /* "Transaction\x00" */ - /* 3 */ ts + 1056, /* "SorterNext\x00" */ - /* 4 */ ts + 1068, /* "Prev\x00" */ - /* 5 */ ts + 1074, /* "Next\x00" */ - /* 6 */ ts + 1080, /* "Checkpoint\x00" */ - /* 7 */ ts + 1092, /* "JournalMode\x00" */ - /* 8 */ ts + 1105, /* "Vacuum\x00" */ - /* 9 */ ts + 1113, /* "VFilter\x00iplan=r[..." */ - /* 10 */ ts + 1144, /* "VUpdate\x00data=r[P..." */ - /* 11 */ ts + 1166, /* "Goto\x00" */ - /* 12 */ ts + 1172, /* "Gosub\x00" */ - /* 13 */ ts + 1179, /* "InitCoroutine\x00" */ - /* 14 */ ts + 1194, /* "Yield\x00" */ - /* 15 */ ts + 1201, /* "MustBeInt\x00" */ - /* 16 */ ts + 1212, /* "Jump\x00" */ - /* 17 */ ts + 1218, /* "Once\x00" */ - /* 18 */ ts + 1224, /* "If\x00" */ - /* 19 */ ts + 1228, /* "Not\x00r[P2]= !r[P1..." */ - /* 20 */ ts + 1246, /* "IfNot\x00" */ - /* 21 */ ts + 1253, /* "IfNullRow\x00if P1...." */ - /* 22 */ ts + 1302, /* "SeekLT\x00key=r[P3@..." */ - /* 23 */ ts + 1322, /* "SeekLE\x00key=r[P3@..." */ - /* 24 */ ts + 1342, /* "SeekGE\x00key=r[P3@..." */ - /* 25 */ ts + 1362, /* "SeekGT\x00key=r[P3@..." */ - /* 26 */ ts + 1382, /* "IfNotOpen\x00if( !c..." */ - /* 27 */ ts + 1415, /* "IfNoHope\x00key=r[P..." */ - /* 28 */ ts + 1437, /* "NoConflict\x00key=r..." */ - /* 29 */ ts + 1461, /* "NotFound\x00key=r[P..." */ - /* 30 */ ts + 1483, /* "Found\x00key=r[P3@P..." */ - /* 31 */ ts + 1502, /* "SeekRowid\x00intkey..." */ - /* 32 */ ts + 1525, /* "NotExists\x00intkey..." */ - /* 33 */ ts + 1548, /* "Last\x00" */ - /* 34 */ ts + 1554, /* "IfSmaller\x00" */ - /* 35 */ ts + 1565, /* "SorterSort\x00" */ - /* 36 */ ts + 1577, /* "Sort\x00" */ - /* 37 */ ts + 1583, /* "Rewind\x00" */ - /* 38 */ ts + 1591, /* "IdxLE\x00key=r[P3@P..." */ - /* 39 */ ts + 1610, /* "IdxGT\x00key=r[P3@P..." */ - /* 40 */ ts + 1629, /* "IdxLT\x00key=r[P3@P..." */ - /* 41 */ ts + 1648, /* "IdxGE\x00key=r[P3@P..." */ - /* 42 */ ts + 1667, /* "RowSetRead\x00r[P3]..." */ - /* 43 */ ts + 1695, /* "Or\x00r[P3]=(r[P1] ..." */ - /* 44 */ ts + 1721, /* "And\x00r[P3]=(r[P1]..." */ - /* 45 */ ts + 1748, /* "RowSetTest\x00if r[..." */ - /* 46 */ ts + 1790, /* "Program\x00" */ - /* 47 */ ts + 1799, /* "FkIfZero\x00if fkct..." */ - /* 48 */ ts + 1832, /* "IfPos\x00if r[P1]>0..." */ - /* 49 */ ts + 1873, /* "IfNotZero\x00if r[P..." */ - /* 50 */ ts + 1917, /* "IsNull\x00if r[P1]=..." */ - /* 51 */ ts + 1947, /* "NotNull\x00if r[P1]..." */ - /* 52 */ ts + 1978, /* "Ne\x00IF r[P3]!=r[P..." */ - /* 53 */ ts + 1997, /* "Eq\x00IF r[P3]==r[P..." */ - /* 54 */ ts + 2016, /* "Gt\x00IF r[P3]>r[P1..." */ - /* 55 */ ts + 2034, /* "Le\x00IF r[P3]<=r[P..." */ - /* 56 */ ts + 2053, /* "Lt\x00IF r[P3]=r[P..." */ - /* 58 */ ts + 2090, /* "ElseEq\x00" */ - /* 59 */ ts + 2098, /* "DecrJumpZero\x00if ..." */ - /* 60 */ ts + 2135, /* "IncrVacuum\x00" */ - /* 61 */ ts + 2147, /* "VNext\x00" */ - /* 62 */ ts + 2154, /* "Init\x00Start at P2" */ - /* 63 */ ts + 2171, /* "PureFunc\x00r[P3]=f..." */ - /* 64 */ ts + 2201, /* "Function\x00r[P3]=f..." */ - /* 65 */ ts + 2231, /* "Return\x00" */ - /* 66 */ ts + 2239, /* "EndCoroutine\x00" */ - /* 67 */ ts + 2253, /* "HaltIfNull\x00if r[..." */ - /* 68 */ ts + 2283, /* "Halt\x00" */ - /* 69 */ ts + 2289, /* "Integer\x00r[P2]=P1" */ - /* 70 */ ts + 2306, /* "Int64\x00r[P2]=P4" */ - /* 71 */ ts + 2321, /* "String\x00r[P2]='P4..." */ - /* 72 */ ts + 2348, /* "Null\x00r[P2..P3]=N..." */ - /* 73 */ ts + 2368, /* "SoftNull\x00r[P1]=N..." */ - /* 74 */ ts + 2388, /* "Blob\x00r[P2]=P4 (l..." */ - /* 75 */ ts + 2411, /* "Variable\x00r[P2]=p..." */ - /* 76 */ ts + 2443, /* "Move\x00r[P2@P3]=r[..." */ - /* 77 */ ts + 2466, /* "Copy\x00r[P2@P3+1]=..." */ - /* 78 */ ts + 2493, /* "SCopy\x00r[P2]=r[P1..." */ - /* 79 */ ts + 2511, /* "IntCopy\x00r[P2]=r[..." */ - /* 80 */ ts + 2531, /* "ChngCntRow\x00outpu..." */ - /* 81 */ ts + 2555, /* "ResultRow\x00output..." */ - /* 82 */ ts + 2581, /* "CollSeq\x00" */ - /* 83 */ ts + 2590, /* "AddImm\x00r[P1]=r[P..." */ - /* 84 */ ts + 2612, /* "RealAffinity\x00" */ - /* 85 */ ts + 2626, /* "Cast\x00affinity(r[..." */ - /* 86 */ ts + 2647, /* "Permutation\x00" */ - /* 87 */ ts + 2660, /* "Compare\x00r[P1@P3]..." */ - /* 88 */ ts + 2690, /* "IsTrue\x00r[P2] = c..." */ - /* 89 */ ts + 2735, /* "ZeroOrNull\x00r[P2]..." */ - /* 90 */ ts + 2764, /* "Offset\x00r[P3] = s..." */ - /* 91 */ ts + 2797, /* "Column\x00r[P3]=PX" */ - /* 92 */ ts + 2813, /* "Affinity\x00affinit..." */ - /* 93 */ ts + 2841, /* "MakeRecord\x00r[P3]..." */ - /* 94 */ ts + 2874, /* "Count\x00r[P2]=coun..." */ - /* 95 */ ts + 2894, /* "ReadCookie\x00" */ - /* 96 */ ts + 2906, /* "SetCookie\x00" */ - /* 97 */ ts + 2917, /* "ReopenIdx\x00root=P..." */ - /* 98 */ ts + 2942, /* "OpenRead\x00root=P2..." */ - /* 99 */ ts + 2966, /* "OpenWrite\x00root=P..." */ - /* 100 */ ts + 2991, /* "OpenDup\x00" */ - /* 101 */ ts + 3000, /* "OpenAutoindex\x00nC..." */ - /* 102 */ ts + 3025, /* "BitAnd\x00r[P3]=r[P..." */ - /* 103 */ ts + 3050, /* "BitOr\x00r[P3]=r[P1..." */ - /* 104 */ ts + 3074, /* "ShiftLeft\x00r[P3]=..." */ - /* 105 */ ts + 3103, /* "ShiftRight\x00r[P3]..." */ - /* 106 */ ts + 3133, /* "Add\x00r[P3]=r[P1]+..." */ - /* 107 */ ts + 3155, /* "Subtract\x00r[P3]=r..." */ - /* 108 */ ts + 3182, /* "Multiply\x00r[P3]=r..." */ - /* 109 */ ts + 3209, /* "Divide\x00r[P3]=r[P..." */ - /* 110 */ ts + 3234, /* "Remainder\x00r[P3]=..." */ - /* 111 */ ts + 3262, /* "Concat\x00r[P3]=r[P..." */ - /* 112 */ ts + 3287, /* "OpenEphemeral\x00nC..." */ - /* 113 */ ts + 3312, /* "BitNot\x00r[P2]= ~r..." */ - /* 114 */ ts + 3333, /* "SorterOpen\x00" */ - /* 115 */ ts + 3345, /* "SequenceTest\x00if(..." */ - /* 116 */ ts + 3389, /* "String8\x00r[P2]='P..." */ - /* 117 */ ts + 3408, /* "OpenPseudo\x00P3 co..." */ - /* 118 */ ts + 3439, /* "Close\x00" */ - /* 119 */ ts + 3446, /* "ColumnsUsed\x00" */ - /* 120 */ ts + 3459, /* "SeekScan\x00Scan-ah..." */ - /* 121 */ ts + 3493, /* "SeekHit\x00set P2<=..." */ - /* 122 */ ts + 3521, /* "Sequence\x00r[P2]=c..." */ - /* 123 */ ts + 3553, /* "NewRowid\x00r[P2]=r..." */ - /* 124 */ ts + 3574, /* "Insert\x00intkey=r[..." */ - /* 125 */ ts + 3605, /* "RowCell\x00" */ - /* 126 */ ts + 3614, /* "Delete\x00" */ - /* 127 */ ts + 3622, /* "ResetCount\x00" */ - /* 128 */ ts + 3634, /* "SorterCompare\x00if..." */ - /* 129 */ ts + 3683, /* "SorterData\x00r[P2]..." */ - /* 130 */ ts + 3705, /* "RowData\x00r[P2]=da..." */ - /* 131 */ ts + 3724, /* "Rowid\x00r[P2]=rowi..." */ - /* 132 */ ts + 3742, /* "NullRow\x00" */ - /* 133 */ ts + 3751, /* "SeekEnd\x00" */ - /* 134 */ ts + 3760, /* "IdxInsert\x00key=r[..." */ - /* 135 */ ts + 3780, /* "SorterInsert\x00key..." */ - /* 136 */ ts + 3803, /* "IdxDelete\x00key=r[..." */ - /* 137 */ ts + 3826, /* "DeferredSeek\x00Mov..." */ - /* 138 */ ts + 3869, /* "IdxRowid\x00r[P2]=r..." */ - /* 139 */ ts + 3890, /* "FinishSeek\x00" */ - /* 140 */ ts + 3902, /* "Destroy\x00" */ - /* 141 */ ts + 3911, /* "Clear\x00" */ - /* 142 */ ts + 3918, /* "ResetSorter\x00" */ - /* 143 */ ts + 3931, /* "CreateBtree\x00r[P2..." */ - /* 144 */ ts + 3970, /* "SqlExec\x00" */ - /* 145 */ ts + 3979, /* "ParseSchema\x00" */ - /* 146 */ ts + 3992, /* "LoadAnalysis\x00" */ - /* 147 */ ts + 4006, /* "DropTable\x00" */ - /* 148 */ ts + 4017, /* "DropIndex\x00" */ - /* 149 */ ts + 4028, /* "DropTrigger\x00" */ - /* 150 */ ts + 4041, /* "IntegrityCk\x00" */ - /* 151 */ ts + 4054, /* "RowSetAdd\x00rowset..." */ - /* 152 */ ts + 4081, /* "Real\x00r[P2]=P4" */ - /* 153 */ ts + 4095, /* "Param\x00" */ - /* 154 */ ts + 4102, /* "FkCounter\x00fkctr[..." */ - /* 155 */ ts + 4126, /* "MemMax\x00r[P1]=max..." */ - /* 156 */ ts + 4156, /* "OffsetLimit\x00if r..." */ - /* 157 */ ts + 4225, /* "AggInverse\x00accum..." */ - /* 158 */ ts + 4266, /* "AggStep\x00accum=r[..." */ - /* 159 */ ts + 4301, /* "AggStep1\x00accum=r..." */ - /* 160 */ ts + 4337, /* "AggValue\x00r[P3]=v..." */ - /* 161 */ ts + 4363, /* "AggFinal\x00accum=r..." */ - /* 162 */ ts + 4389, /* "Expire\x00" */ - /* 163 */ ts + 4397, /* "CursorLock\x00" */ - /* 164 */ ts + 4409, /* "CursorUnlock\x00" */ - /* 165 */ ts + 4423, /* "TableLock\x00iDb=P1..." */ - /* 166 */ ts + 4457, /* "VBegin\x00" */ - /* 167 */ ts + 4465, /* "VCreate\x00" */ - /* 168 */ ts + 4474, /* "VDestroy\x00" */ - /* 169 */ ts + 4484, /* "VOpen\x00" */ - /* 170 */ ts + 4491, /* "VColumn\x00r[P3]=vc..." */ - /* 171 */ ts + 4517, /* "VRename\x00" */ - /* 172 */ ts + 4526, /* "Pagecount\x00" */ - /* 173 */ ts + 4537, /* "MaxPgcnt\x00" */ - /* 174 */ ts + 4547, /* "Trace\x00" */ - /* 175 */ ts + 4554, /* "CursorHint\x00" */ - /* 176 */ ts + 4566, /* "ReleaseReg\x00relea..." */ - /* 177 */ ts + 4602, /* "Noop\x00" */ - /* 178 */ ts + 4608, /* "Explain\x00" */ - /* 179 */ ts + 4617, /* "Abortable\x00" */ + /* 0 */ ts + 1035, /* "Savepoint\x00" */ + /* 1 */ ts + 1046, /* "AutoCommit\x00" */ + /* 2 */ ts + 1058, /* "Transaction\x00" */ + /* 3 */ ts + 1071, /* "SorterNext\x00" */ + /* 4 */ ts + 1083, /* "Prev\x00" */ + /* 5 */ ts + 1089, /* "Next\x00" */ + /* 6 */ ts + 1095, /* "Checkpoint\x00" */ + /* 7 */ ts + 1107, /* "JournalMode\x00" */ + /* 8 */ ts + 1120, /* "Vacuum\x00" */ + /* 9 */ ts + 1128, /* "VFilter\x00iplan=r[..." */ + /* 10 */ ts + 1159, /* "VUpdate\x00data=r[P..." */ + /* 11 */ ts + 1181, /* "Goto\x00" */ + /* 12 */ ts + 1187, /* "Gosub\x00" */ + /* 13 */ ts + 1194, /* "InitCoroutine\x00" */ + /* 14 */ ts + 1209, /* "Yield\x00" */ + /* 15 */ ts + 1216, /* "MustBeInt\x00" */ + /* 16 */ ts + 1227, /* "Jump\x00" */ + /* 17 */ ts + 1233, /* "Once\x00" */ + /* 18 */ ts + 1239, /* "If\x00" */ + /* 19 */ ts + 1243, /* "Not\x00r[P2]= !r[P1..." */ + /* 20 */ ts + 1261, /* "IfNot\x00" */ + /* 21 */ ts + 1268, /* "IfNullRow\x00if P1...." */ + /* 22 */ ts + 1317, /* "SeekLT\x00key=r[P3@..." */ + /* 23 */ ts + 1337, /* "SeekLE\x00key=r[P3@..." */ + /* 24 */ ts + 1357, /* "SeekGE\x00key=r[P3@..." */ + /* 25 */ ts + 1377, /* "SeekGT\x00key=r[P3@..." */ + /* 26 */ ts + 1397, /* "IfNotOpen\x00if( !c..." */ + /* 27 */ ts + 1430, /* "IfNoHope\x00key=r[P..." */ + /* 28 */ ts + 1452, /* "NoConflict\x00key=r..." */ + /* 29 */ ts + 1476, /* "NotFound\x00key=r[P..." */ + /* 30 */ ts + 1498, /* "Found\x00key=r[P3@P..." */ + /* 31 */ ts + 1517, /* "SeekRowid\x00intkey..." */ + /* 32 */ ts + 1540, /* "NotExists\x00intkey..." */ + /* 33 */ ts + 1563, /* "Last\x00" */ + /* 34 */ ts + 1569, /* "IfSmaller\x00" */ + /* 35 */ ts + 1580, /* "SorterSort\x00" */ + /* 36 */ ts + 1592, /* "Sort\x00" */ + /* 37 */ ts + 1598, /* "Rewind\x00" */ + /* 38 */ ts + 1606, /* "IdxLE\x00key=r[P3@P..." */ + /* 39 */ ts + 1625, /* "IdxGT\x00key=r[P3@P..." */ + /* 40 */ ts + 1644, /* "IdxLT\x00key=r[P3@P..." */ + /* 41 */ ts + 1663, /* "IdxGE\x00key=r[P3@P..." */ + /* 42 */ ts + 1682, /* "RowSetRead\x00r[P3]..." */ + /* 43 */ ts + 1710, /* "Or\x00r[P3]=(r[P1] ..." */ + /* 44 */ ts + 1736, /* "And\x00r[P3]=(r[P1]..." */ + /* 45 */ ts + 1763, /* "RowSetTest\x00if r[..." */ + /* 46 */ ts + 1805, /* "Program\x00" */ + /* 47 */ ts + 1814, /* "FkIfZero\x00if fkct..." */ + /* 48 */ ts + 1847, /* "IfPos\x00if r[P1]>0..." */ + /* 49 */ ts + 1888, /* "IfNotZero\x00if r[P..." */ + /* 50 */ ts + 1932, /* "IsNull\x00if r[P1]=..." */ + /* 51 */ ts + 1962, /* "NotNull\x00if r[P1]..." */ + /* 52 */ ts + 1993, /* "Ne\x00IF r[P3]!=r[P..." */ + /* 53 */ ts + 2012, /* "Eq\x00IF r[P3]==r[P..." */ + /* 54 */ ts + 2031, /* "Gt\x00IF r[P3]>r[P1..." */ + /* 55 */ ts + 2049, /* "Le\x00IF r[P3]<=r[P..." */ + /* 56 */ ts + 2068, /* "Lt\x00IF r[P3]=r[P..." */ + /* 58 */ ts + 2105, /* "ElseEq\x00" */ + /* 59 */ ts + 2113, /* "DecrJumpZero\x00if ..." */ + /* 60 */ ts + 2150, /* "IncrVacuum\x00" */ + /* 61 */ ts + 2162, /* "VNext\x00" */ + /* 62 */ ts + 2169, /* "Init\x00Start at P2" */ + /* 63 */ ts + 2186, /* "PureFunc\x00r[P3]=f..." */ + /* 64 */ ts + 2216, /* "Function\x00r[P3]=f..." */ + /* 65 */ ts + 2246, /* "Return\x00" */ + /* 66 */ ts + 2254, /* "EndCoroutine\x00" */ + /* 67 */ ts + 2268, /* "HaltIfNull\x00if r[..." */ + /* 68 */ ts + 2298, /* "Halt\x00" */ + /* 69 */ ts + 2304, /* "Integer\x00r[P2]=P1" */ + /* 70 */ ts + 2321, /* "Int64\x00r[P2]=P4" */ + /* 71 */ ts + 2336, /* "String\x00r[P2]='P4..." */ + /* 72 */ ts + 2363, /* "Null\x00r[P2..P3]=N..." */ + /* 73 */ ts + 2383, /* "SoftNull\x00r[P1]=N..." */ + /* 74 */ ts + 2403, /* "Blob\x00r[P2]=P4 (l..." */ + /* 75 */ ts + 2426, /* "Variable\x00r[P2]=p..." */ + /* 76 */ ts + 2458, /* "Move\x00r[P2@P3]=r[..." */ + /* 77 */ ts + 2481, /* "Copy\x00r[P2@P3+1]=..." */ + /* 78 */ ts + 2508, /* "SCopy\x00r[P2]=r[P1..." */ + /* 79 */ ts + 2526, /* "IntCopy\x00r[P2]=r[..." */ + /* 80 */ ts + 2546, /* "ChngCntRow\x00outpu..." */ + /* 81 */ ts + 2570, /* "ResultRow\x00output..." */ + /* 82 */ ts + 2596, /* "CollSeq\x00" */ + /* 83 */ ts + 2605, /* "AddImm\x00r[P1]=r[P..." */ + /* 84 */ ts + 2627, /* "RealAffinity\x00" */ + /* 85 */ ts + 2641, /* "Cast\x00affinity(r[..." */ + /* 86 */ ts + 2662, /* "Permutation\x00" */ + /* 87 */ ts + 2675, /* "Compare\x00r[P1@P3]..." */ + /* 88 */ ts + 2705, /* "IsTrue\x00r[P2] = c..." */ + /* 89 */ ts + 2750, /* "ZeroOrNull\x00r[P2]..." */ + /* 90 */ ts + 2779, /* "Offset\x00r[P3] = s..." */ + /* 91 */ ts + 2812, /* "Column\x00r[P3]=PX" */ + /* 92 */ ts + 2828, /* "Affinity\x00affinit..." */ + /* 93 */ ts + 2856, /* "MakeRecord\x00r[P3]..." */ + /* 94 */ ts + 2889, /* "Count\x00r[P2]=coun..." */ + /* 95 */ ts + 2909, /* "ReadCookie\x00" */ + /* 96 */ ts + 2921, /* "SetCookie\x00" */ + /* 97 */ ts + 2932, /* "ReopenIdx\x00root=P..." */ + /* 98 */ ts + 2957, /* "OpenRead\x00root=P2..." */ + /* 99 */ ts + 2981, /* "OpenWrite\x00root=P..." */ + /* 100 */ ts + 3006, /* "OpenDup\x00" */ + /* 101 */ ts + 3015, /* "OpenAutoindex\x00nC..." */ + /* 102 */ ts + 3040, /* "BitAnd\x00r[P3]=r[P..." */ + /* 103 */ ts + 3065, /* "BitOr\x00r[P3]=r[P1..." */ + /* 104 */ ts + 3089, /* "ShiftLeft\x00r[P3]=..." */ + /* 105 */ ts + 3118, /* "ShiftRight\x00r[P3]..." */ + /* 106 */ ts + 3148, /* "Add\x00r[P3]=r[P1]+..." */ + /* 107 */ ts + 3170, /* "Subtract\x00r[P3]=r..." */ + /* 108 */ ts + 3197, /* "Multiply\x00r[P3]=r..." */ + /* 109 */ ts + 3224, /* "Divide\x00r[P3]=r[P..." */ + /* 110 */ ts + 3249, /* "Remainder\x00r[P3]=..." */ + /* 111 */ ts + 3277, /* "Concat\x00r[P3]=r[P..." */ + /* 112 */ ts + 3302, /* "OpenEphemeral\x00nC..." */ + /* 113 */ ts + 3327, /* "BitNot\x00r[P2]= ~r..." */ + /* 114 */ ts + 3348, /* "SorterOpen\x00" */ + /* 115 */ ts + 3360, /* "SequenceTest\x00if(..." */ + /* 116 */ ts + 3404, /* "String8\x00r[P2]='P..." */ + /* 117 */ ts + 3423, /* "OpenPseudo\x00P3 co..." */ + /* 118 */ ts + 3454, /* "Close\x00" */ + /* 119 */ ts + 3461, /* "ColumnsUsed\x00" */ + /* 120 */ ts + 3474, /* "SeekScan\x00Scan-ah..." */ + /* 121 */ ts + 3508, /* "SeekHit\x00set P2<=..." */ + /* 122 */ ts + 3536, /* "Sequence\x00r[P2]=c..." */ + /* 123 */ ts + 3568, /* "NewRowid\x00r[P2]=r..." */ + /* 124 */ ts + 3589, /* "Insert\x00intkey=r[..." */ + /* 125 */ ts + 3620, /* "RowCell\x00" */ + /* 126 */ ts + 3629, /* "Delete\x00" */ + /* 127 */ ts + 3637, /* "ResetCount\x00" */ + /* 128 */ ts + 3649, /* "SorterCompare\x00if..." */ + /* 129 */ ts + 3698, /* "SorterData\x00r[P2]..." */ + /* 130 */ ts + 3720, /* "RowData\x00r[P2]=da..." */ + /* 131 */ ts + 3739, /* "Rowid\x00r[P2]=rowi..." */ + /* 132 */ ts + 3757, /* "NullRow\x00" */ + /* 133 */ ts + 3766, /* "SeekEnd\x00" */ + /* 134 */ ts + 3775, /* "IdxInsert\x00key=r[..." */ + /* 135 */ ts + 3795, /* "SorterInsert\x00key..." */ + /* 136 */ ts + 3818, /* "IdxDelete\x00key=r[..." */ + /* 137 */ ts + 3841, /* "DeferredSeek\x00Mov..." */ + /* 138 */ ts + 3884, /* "IdxRowid\x00r[P2]=r..." */ + /* 139 */ ts + 3905, /* "FinishSeek\x00" */ + /* 140 */ ts + 3917, /* "Destroy\x00" */ + /* 141 */ ts + 3926, /* "Clear\x00" */ + /* 142 */ ts + 3933, /* "ResetSorter\x00" */ + /* 143 */ ts + 3946, /* "CreateBtree\x00r[P2..." */ + /* 144 */ ts + 3985, /* "SqlExec\x00" */ + /* 145 */ ts + 3994, /* "ParseSchema\x00" */ + /* 146 */ ts + 4007, /* "LoadAnalysis\x00" */ + /* 147 */ ts + 4021, /* "DropTable\x00" */ + /* 148 */ ts + 4032, /* "DropIndex\x00" */ + /* 149 */ ts + 4043, /* "DropTrigger\x00" */ + /* 150 */ ts + 4056, /* "IntegrityCk\x00" */ + /* 151 */ ts + 4069, /* "RowSetAdd\x00rowset..." */ + /* 152 */ ts + 4096, /* "Real\x00r[P2]=P4" */ + /* 153 */ ts + 4110, /* "Param\x00" */ + /* 154 */ ts + 4117, /* "FkCounter\x00fkctr[..." */ + /* 155 */ ts + 4141, /* "MemMax\x00r[P1]=max..." */ + /* 156 */ ts + 4171, /* "OffsetLimit\x00if r..." */ + /* 157 */ ts + 4240, /* "AggInverse\x00accum..." */ + /* 158 */ ts + 4281, /* "AggStep\x00accum=r[..." */ + /* 159 */ ts + 4316, /* "AggStep1\x00accum=r..." */ + /* 160 */ ts + 4352, /* "AggValue\x00r[P3]=v..." */ + /* 161 */ ts + 4378, /* "AggFinal\x00accum=r..." */ + /* 162 */ ts + 4404, /* "Expire\x00" */ + /* 163 */ ts + 4412, /* "CursorLock\x00" */ + /* 164 */ ts + 4424, /* "CursorUnlock\x00" */ + /* 165 */ ts + 4438, /* "TableLock\x00iDb=P1..." */ + /* 166 */ ts + 4472, /* "VBegin\x00" */ + /* 167 */ ts + 4480, /* "VCreate\x00" */ + /* 168 */ ts + 4489, /* "VDestroy\x00" */ + /* 169 */ ts + 4499, /* "VOpen\x00" */ + /* 170 */ ts + 4506, /* "VColumn\x00r[P3]=vc..." */ + /* 171 */ ts + 4532, /* "VRename\x00" */ + /* 172 */ ts + 4541, /* "Pagecount\x00" */ + /* 173 */ ts + 4552, /* "MaxPgcnt\x00" */ + /* 174 */ ts + 4562, /* "Trace\x00" */ + /* 175 */ ts + 4569, /* "CursorHint\x00" */ + /* 176 */ ts + 4581, /* "ReleaseReg\x00relea..." */ + /* 177 */ ts + 4617, /* "Noop\x00" */ + /* 178 */ ts + 4623, /* "Explain\x00" */ + /* 179 */ ts + 4632, /* "Abortable\x00" */ } /* sqlite3.c:33673:20 */ //************* End of opcodes.c ******************************************** @@ -21706,67 +22211,67 @@ type unix_syscall = struct { // testing and sandboxing. The following array holds the names and pointers // to all overrideable system calls. var aSyscall = [29]unix_syscall{ - {FzName: ts + 4628 /* "open" */, FpCurrent: 0}, + {FzName: ts + 4643 /* "open" */, FpCurrent: 0}, - {FzName: ts + 4633 /* "close" */, FpCurrent: 0}, + {FzName: ts + 4648 /* "close" */, FpCurrent: 0}, - {FzName: ts + 4639 /* "access" */, FpCurrent: 0}, + {FzName: ts + 4654 /* "access" */, FpCurrent: 0}, - {FzName: ts + 4646 /* "getcwd" */, FpCurrent: 0}, + {FzName: ts + 4661 /* "getcwd" */, FpCurrent: 0}, - {FzName: ts + 4653 /* "stat" */, FpCurrent: 0}, + {FzName: ts + 4668 /* "stat" */, FpCurrent: 0}, // The DJGPP compiler environment looks mostly like Unix, but it // lacks the fcntl() system call. So redefine fcntl() to be something // that always succeeds. This means that locking does not occur under // DJGPP. But it is DOS - what did you expect? - {FzName: ts + 4658 /* "fstat" */, FpCurrent: 0}, + {FzName: ts + 4673 /* "fstat" */, FpCurrent: 0}, - {FzName: ts + 4664 /* "ftruncate" */, FpCurrent: 0}, + {FzName: ts + 4679 /* "ftruncate" */, FpCurrent: 0}, - {FzName: ts + 4674 /* "fcntl" */, FpCurrent: 0}, + {FzName: ts + 4689 /* "fcntl" */, FpCurrent: 0}, - {FzName: ts + 4680 /* "read" */, FpCurrent: 0}, + {FzName: ts + 4695 /* "read" */, FpCurrent: 0}, - {FzName: ts + 4685 /* "pread" */}, + {FzName: ts + 4700 /* "pread" */}, - {FzName: ts + 4691 /* "pread64" */}, + {FzName: ts + 4706 /* "pread64" */}, - {FzName: ts + 4699 /* "write" */, FpCurrent: 0}, + {FzName: ts + 4714 /* "write" */, FpCurrent: 0}, - {FzName: ts + 4705 /* "pwrite" */}, + {FzName: ts + 4720 /* "pwrite" */}, - {FzName: ts + 4712 /* "pwrite64" */}, + {FzName: ts + 4727 /* "pwrite64" */}, - {FzName: ts + 4721 /* "fchmod" */, FpCurrent: 0}, + {FzName: ts + 4736 /* "fchmod" */, FpCurrent: 0}, - {FzName: ts + 4728 /* "fallocate" */}, + {FzName: ts + 4743 /* "fallocate" */}, - {FzName: ts + 4738 /* "unlink" */, FpCurrent: 0}, + {FzName: ts + 4753 /* "unlink" */, FpCurrent: 0}, - {FzName: ts + 4745 /* "openDirectory" */, FpCurrent: 0}, + {FzName: ts + 4760 /* "openDirectory" */, FpCurrent: 0}, - {FzName: ts + 4759 /* "mkdir" */, FpCurrent: 0}, + {FzName: ts + 4774 /* "mkdir" */, FpCurrent: 0}, - {FzName: ts + 4765 /* "rmdir" */, FpCurrent: 0}, + {FzName: ts + 4780 /* "rmdir" */, FpCurrent: 0}, - {FzName: ts + 4771 /* "fchown" */, FpCurrent: 0}, + {FzName: ts + 4786 /* "fchown" */, FpCurrent: 0}, - {FzName: ts + 4778 /* "geteuid" */, FpCurrent: 0}, + {FzName: ts + 4793 /* "geteuid" */, FpCurrent: 0}, - {FzName: ts + 4786 /* "mmap" */, FpCurrent: 0}, + {FzName: ts + 4801 /* "mmap" */, FpCurrent: 0}, - {FzName: ts + 4791 /* "munmap" */, FpCurrent: 0}, + {FzName: ts + 4806 /* "munmap" */, FpCurrent: 0}, - {FzName: ts + 4798 /* "mremap" */, FpCurrent: 0}, + {FzName: ts + 4813 /* "mremap" */, FpCurrent: 0}, - {FzName: ts + 4805 /* "getpagesize" */, FpCurrent: 0}, + {FzName: ts + 4820 /* "getpagesize" */, FpCurrent: 0}, - {FzName: ts + 4817 /* "readlink" */, FpCurrent: 0}, + {FzName: ts + 4832 /* "readlink" */, FpCurrent: 0}, - {FzName: ts + 4826 /* "lstat" */, FpCurrent: 0}, + {FzName: ts + 4841 /* "lstat" */, FpCurrent: 0}, - {FzName: ts + 4832 /* "ioctl" */}, + {FzName: ts + 4847 /* "ioctl" */}, } /* sqlite3.c:34446:3 */ // End of the overrideable system calls @@ -21900,9 +22405,9 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3 } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*12 + 4 /* &.pCurrent */))))(tls, fd) Xsqlite3_log(tls, SQLITE_WARNING, - ts+4838 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) + ts+4853 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) fd = -1 - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 4 /* &.pCurrent */))))(tls, ts+4881 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 4 /* &.pCurrent */))))(tls, ts+4896 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { break } } @@ -21961,17 +22466,17 @@ func unixLeaveMutex(tls *libc.TLS) { /* sqlite3.c:34800:13: */ func azFileLock(tls *libc.TLS, eFileLock int32) uintptr { /* sqlite3.c:34817:19: */ switch eFileLock { case NO_LOCK: - return ts + 4891 /* "NONE" */ + return ts + 4906 /* "NONE" */ case SHARED_LOCK: - return ts + 4896 /* "SHARED" */ + return ts + 4911 /* "SHARED" */ case RESERVED_LOCK: - return ts + 4903 /* "RESERVED" */ + return ts + 4918 /* "RESERVED" */ case PENDING_LOCK: - return ts + 4912 /* "PENDING" */ + return ts + 4927 /* "PENDING" */ case EXCLUSIVE_LOCK: - return ts + 4920 /* "EXCLUSIVE" */ + return ts + 4935 /* "EXCLUSIVE" */ } - return ts + 4930 /* "ERROR" */ + return ts + 4945 /* "ERROR" */ } // Retry ftruncate() calls that fail due to EINTR @@ -22179,13 +22684,13 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // the strerror() function to obtain the human-readable error message // equivalent to errno. Otherwise, use strerror_r(). // This is a threadsafe build, but strerror_r() is not available. - zErr = ts + 900 /* "" */ + zErr = ts + 915 /* "" */ if zPath == uintptr(0) { - zPath = ts + 900 /* "" */ + zPath = ts + 915 /* "" */ } Xsqlite3_log(tls, errcode, - ts+4936, /* "os_unix.c:%d: (%..." */ + ts+4951, /* "os_unix.c:%d: (%..." */ libc.VaList(bp, iLine, iErrno, zFunc, zPath, zErr)) return errcode @@ -22204,7 +22709,7 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // and move on. func robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { /* sqlite3.c:35345:13: */ if (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*12 + 4 /* &.pCurrent */))))(tls, h) != 0 { - unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+4633, /* "close" */ + unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+4648, /* "close" */ func() uintptr { if pFile != 0 { return (*UnixFile)(unsafe.Pointer(pFile)).FzPath @@ -22363,19 +22868,19 @@ func verifyDbFile(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:35532:13: */ rc = (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*12 + 4 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, bp+32 /* &buf */) if rc != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+4967 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+4982 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink == X__nlink_t(0) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+4991 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5006 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink > X__nlink_t(1) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+5020 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5035 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+5047 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5062 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -22422,7 +22927,7 @@ func unixCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { / Xsqlite3_mutex_leave(tls, (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FpLockMutex) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5075 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) + Xsqlite3DebugPrintf(tls, ts+5090 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) } *(*int32)(unsafe.Pointer(pResOut)) = reserved @@ -22565,7 +23070,7 @@ func unixLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:3 if !(Xsqlite3OSTrace != 0) { goto __1 } - Xsqlite3DebugPrintf(tls, ts+5105 /* "LOCK %d %s wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), azFileLock(tls, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock)), azFileLock(tls, int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock)), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5120 /* "LOCK %d %s wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), azFileLock(tls, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock)), azFileLock(tls, int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock)), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) __1: ; @@ -22578,7 +23083,7 @@ __1: if !(Xsqlite3OSTrace != 0) { goto __3 } - Xsqlite3DebugPrintf(tls, ts+5148 /* "LOCK %d %s ok..." */, libc.VaList(bp+48, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock))) + Xsqlite3DebugPrintf(tls, ts+5163 /* "LOCK %d %s ok..." */, libc.VaList(bp+48, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock))) __3: ; return SQLITE_OK @@ -22766,11 +23271,11 @@ end_lock: if !(Xsqlite3OSTrace != 0) { goto __25 } - Xsqlite3DebugPrintf(tls, ts+5188 /* "LOCK %d %s %s..." */, libc.VaList(bp+64, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { + Xsqlite3DebugPrintf(tls, ts+5203 /* "LOCK %d %s %s..." */, libc.VaList(bp+64, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { if rc == SQLITE_OK { - return ts + 5213 /* "ok" */ + return ts + 5228 /* "ok" */ } - return ts + 5216 /* "failed" */ + return ts + 5231 /* "failed" */ }())) __25: ; @@ -22815,7 +23320,7 @@ func posixUnlock(tls *libc.TLS, id uintptr, eFileLock int32, handleNFSUnlock int if !(Xsqlite3OSTrace != 0) { goto __1 } - Xsqlite3DebugPrintf(tls, ts+5223 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5238 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) __1: ; @@ -22965,7 +23470,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:36148:12: */ (*UnixFile)(unsafe.Pointer(pFile)).Fh = -1 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5266 /* "CLOSE %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+5281 /* "CLOSE %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) } libc.AtomicAddInt32(&Xsqlite3_open_file_count, int32(-1)) Xsqlite3_free(tls, (*UnixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -23099,7 +23604,7 @@ func dotlockCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 reserved = (libc.Bool32((*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 2*12 + 4 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext, 0) == 0)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5280 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) + Xsqlite3DebugPrintf(tls, ts+5295 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) } *(*int32)(unsafe.Pointer(pResOut)) = reserved return rc @@ -23181,7 +23686,7 @@ func dotlockUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite var rc int32 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5313 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5328 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), libc.Xgetpid(tls))) } // no-op if possible @@ -23353,7 +23858,7 @@ func seekAndRead(tls *libc.TLS, id uintptr, offset Sqlite3_int64, pBuf uintptr, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5352 /* "READ %-3d %5d..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(id)).Fh, (got+prior), (offset-Sqlite3_int64(prior)), uint64(0))) + Xsqlite3DebugPrintf(tls, ts+5367 /* "READ %-3d %5d..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(id)).Fh, (got+prior), (offset-Sqlite3_int64(prior)), uint64(0))) } return (got + prior) } @@ -23439,7 +23944,7 @@ func seekAndWriteFd(tls *libc.TLS, fd int32, iOff I64, pBuf uintptr, nBuf int32, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5381 /* "WRITE %-3d %5d..." */, libc.VaList(bp, fd, rc, iOff, uint64(0))) + Xsqlite3DebugPrintf(tls, ts+5396 /* "WRITE %-3d %5d..." */, libc.VaList(bp, fd, rc, iOff, uint64(0))) } if rc < 0 { @@ -23596,7 +24101,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql var fd int32 = -1 // var zDirname [513]int8 at bp+24, 513 - Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+24 /* &zDirname[0] */, ts+936 /* "%s" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+24 /* &zDirname[0] */, ts+951 /* "%s" */, libc.VaList(bp, zFilename)) for ii = int32(libc.Xstrlen(tls, bp+24 /* &zDirname[0] */)); (ii > 0) && (int32(*(*int8)(unsafe.Pointer(bp + 24 /* &zDirname[0] */ + uintptr(ii)))) != '/'); ii-- { } if ii > 0 { @@ -23610,14 +24115,14 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql fd = robust_open(tls, bp+24 /* &zDirname[0] */, (O_RDONLY | O_BINARY), uint32(0)) if fd >= 0 { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5410 /* "OPENDIR %-3d %s\n" */, libc.VaList(bp+8, fd, bp+24 /* &zDirname[0] */)) + Xsqlite3DebugPrintf(tls, ts+5425 /* "OPENDIR %-3d %s\n" */, libc.VaList(bp+8, fd, bp+24 /* &zDirname[0] */)) } } *(*int32)(unsafe.Pointer(pFd)) = fd if fd >= 0 { return SQLITE_OK } - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+4745 /* "openDirectory" */, bp+24 /* &zDirname[0] */, 37775) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+4760 /* "openDirectory" */, bp+24 /* &zDirname[0] */, 37775) } // Make sure all writes to a particular file are committed to disk. @@ -23659,7 +24164,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5427 /* "SYNC %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+5442 /* "SYNC %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) } rc = full_fsync(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if ((Xsqlite3_io_error_persist != 0) && (Xsqlite3_io_error_hit != 0)) || (libc.PostDecAtomicInt32(&Xsqlite3_io_error_pending, 1) == 1) { @@ -23669,7 +24174,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 if rc != 0 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+5441 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+5456 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) } // Also fsync the directory containing the file if the DIRSYNC flag @@ -23679,7 +24184,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 // var dirfd int32 at bp+32, 4 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5452 /* "DIRSYNC %s (have..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, HAVE_FULLFSYNC, isFullsync)) + Xsqlite3DebugPrintf(tls, ts+5467 /* "DIRSYNC %s (have..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, HAVE_FULLFSYNC, isFullsync)) } rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*12 + 4 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp+32 /* &dirfd */) if rc == SQLITE_OK { @@ -23715,7 +24220,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 { /* sqlite3.c:378 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+4664 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+4679 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) } else { // If the file was just truncated to a size smaller than the currently @@ -23798,7 +24303,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c if iWrite >= nSize { iWrite = (nSize - int64(1)) } - nWrite = seekAndWrite(tls, pFile, iWrite, ts+900 /* "" */, 1) + nWrite = seekAndWrite(tls, pFile, iWrite, ts+915 /* "" */, 1) if nWrite != 1 { return (SQLITE_IOERR | (int32(3) << 8)) } @@ -23811,7 +24316,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c 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+4664 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+4679 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) } } @@ -23885,7 +24390,7 @@ func unixFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { } case SQLITE_FCNTL_VFSNAME: { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) return SQLITE_OK } @@ -24171,7 +24676,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32 // help detect if a -shm file truncation is legitimate or is the work // or a rogue process. if (rc == SQLITE_OK) && (robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0) { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+4664 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+4679 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) } } } else if int32((*flock)(unsafe.Pointer(bp+8 /* &lock */)).Fl_type) == F_WRLCK { @@ -24277,7 +24782,7 @@ __4: ; libc.Xmemset(tls, pShmNode, 0, (uint32(unsafe.Sizeof(unixShmNode{})) + uint32(nShmFilename))) zShm = libc.AssignPtrUintptr(pShmNode+8 /* &.zFilename */, (pShmNode + 1*68)) - Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+5496 /* "%s-shm" */, libc.VaList(bp, zBasePath)) + Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+5511 /* "%s-shm" */, libc.VaList(bp, zBasePath)) (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = -1 (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pDbFd)).FpInode)).FpShmNode = pShmNode @@ -24299,7 +24804,7 @@ __5: if !(int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FbProcessLock) == 0) { goto __7 } - if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+5503 /* "readonly_shm" */, 0)) { + if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+5518 /* "readonly_shm" */, 0)) { goto __8 } (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = robust_open(tls, zShm, ((O_RDWR | O_CREAT) | 0100000), @@ -24314,7 +24819,7 @@ __8: if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) { goto __10 } - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+4628 /* "open" */, zShm, 38716) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+4643 /* "open" */, zShm, 38716) goto shm_open_err __10: ; @@ -24481,11 +24986,11 @@ __11: goto __13 } *(*int32)(unsafe.Pointer(bp + 104 /* x */)) = 0 - if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+900 /* "" */, 1, bp+104 /* &x */) != 1) { + if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+915 /* "" */, 1, bp+104 /* &x */) != 1) { goto __14 } zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+4699 /* "write" */, zFile, 38860) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+4714 /* "write" */, zFile, 38860) goto shmpage_out __14: ; @@ -24533,7 +25038,7 @@ __16: if !(pMem == (libc.UintptrFromInt32(-1))) { goto __20 } - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+4786 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+4801 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) goto shmpage_out __20: ; @@ -24708,7 +25213,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in Xsqlite3_mutex_leave(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5516 /* "SHM-LOCK shmid-%..." */, libc.VaList(bp, int32((*UnixShm)(unsafe.Pointer(p)).Fid), libc.Xgetpid(tls), int32((*UnixShm)(unsafe.Pointer(p)).FsharedMask), int32((*UnixShm)(unsafe.Pointer(p)).FexclMask))) + Xsqlite3DebugPrintf(tls, ts+5531 /* "SHM-LOCK shmid-%..." */, libc.VaList(bp, int32((*UnixShm)(unsafe.Pointer(p)).Fid), libc.Xgetpid(tls), int32((*UnixShm)(unsafe.Pointer(p)).FsharedMask), int32((*UnixShm)(unsafe.Pointer(p)).FexclMask))) } return rc } @@ -24797,7 +25302,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39165:13: */ // continue accessing the database using the xRead() and xWrite() // methods. func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13: */ - var zErr uintptr = ts + 4786 /* "mmap" */ + var zErr uintptr = ts + 4801 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping var nOrig I64 = (*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual // Size of pOrig region in bytes @@ -24814,7 +25319,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13 } pNew = (*(*func(*libc.TLS, uintptr, Size_t, Size_t, int32, uintptr) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 24*12 + 4 /* &.pCurrent */))))(tls, pOrig, uint32(nReuse), uint32(nNew), MREMAP_MAYMOVE, 0) - zErr = ts + 4798 /* "mremap" */ + zErr = ts + 4813 /* "mremap" */ // The attempt to extend the existing mapping failed. Free it. if (pNew == (libc.UintptrFromInt32(-1))) || (pNew == uintptr(0)) { @@ -25040,7 +25545,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // No locking occurs in temporary files if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5557 /* "OPEN %-3d %s\n" */, libc.VaList(bp, h, zFilename)) + Xsqlite3DebugPrintf(tls, ts+5572 /* "OPEN %-3d %s\n" */, libc.VaList(bp, h, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).Fh = h (*UnixFile)(unsafe.Pointer(pNew)).FpVfs = pVfs @@ -25053,10 +25558,10 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename } return uintptr(0) }(), - ts+5574 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { + ts+5589 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { *(*uint16)(unsafe.Pointer(pNew + 18 /* &.ctrlFlags */)) |= uint16((UNIXFILE_PSOW)) } - if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+5579 /* "unix-excl" */) == 0 { + if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+5594 /* "unix-excl" */) == 0 { *(*uint16)(unsafe.Pointer(pNew + 18 /* &.ctrlFlags */)) |= uint16((UNIXFILE_EXCL)) } @@ -25102,7 +25607,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename if zLockFile == uintptr(0) { rc = SQLITE_NOMEM } else { - Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+5589 /* "%s.lock" */, libc.VaList(bp+16, zFilename)) + Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+5604 /* "%s.lock" */, libc.VaList(bp+16, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext = zLockFile } @@ -25132,10 +25637,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var zDir uintptr = Xsqlite3_temp_directory if !(int32(azDirs[0]) != 0) { - azDirs[0] = libc.Xgetenv(tls, ts+5597 /* "SQLITE_TMPDIR" */) + azDirs[0] = libc.Xgetenv(tls, ts+5612 /* "SQLITE_TMPDIR" */) } if !(int32(azDirs[1]) != 0) { - azDirs[1] = libc.Xgetenv(tls, ts+5611 /* "TMPDIR" */) + azDirs[1] = libc.Xgetenv(tls, ts+5626 /* "TMPDIR" */) } for 1 != 0 { if (((zDir != uintptr(0)) && @@ -25155,10 +25660,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var azDirs = [6]uintptr{ uintptr(0), uintptr(0), - ts + 5618, /* "/var/tmp" */ - ts + 5627, /* "/usr/tmp" */ - ts + 5636, /* "/tmp" */ - ts + 913, /* "." */ + ts + 5633, /* "/var/tmp" */ + ts + 5642, /* "/usr/tmp" */ + ts + 5651, /* "/tmp" */ + ts + 928, /* "." */ } /* sqlite3.c:39857:21 */ // Create a temporary file name in zBuf. zBuf must be allocated @@ -25190,7 +25695,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U64(0))), bp+24 /* &r */) *(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2)))) = int8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+5641, /* "%s/etilqs_%llx%c" */ + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+5656, /* "%s/etilqs_%llx%c" */ libc.VaList(bp, zDir, *(*U64)(unsafe.Pointer(bp + 24 /* r */)), 0)) if (int32(*(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2))))) != 0) || ((libc.PostIncInt32(&iLimit, 1)) > 10) { return SQLITE_ERROR @@ -25346,7 +25851,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // filename, check for the "modeof" parameter. If present, interpret // its value as a filename and try to copy the mode, uid and gid from // that file. - var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+5658 /* "modeof" */) + var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+5673 /* "modeof" */) if z != 0 { rc = getFileMode(tls, z, pMode, pUid, pGid) } @@ -25544,7 +26049,7 @@ __14: if !(Xsqlite3OSTrace != 0) { goto __15 } - Xsqlite3DebugPrintf(tls, ts+5665 /* "OPENX %-3d %s ..." */, libc.VaList(bp, fd, zName, openFlags)) + Xsqlite3DebugPrintf(tls, ts+5680 /* "OPENX %-3d %s ..." */, libc.VaList(bp, fd, zName, openFlags)) __15: ; @@ -25578,7 +26083,7 @@ __16: if !(fd < 0) { goto __20 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+4628 /* "open" */, zName, 40257) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+4643 /* "open" */, zName, 40257) if !(rc == SQLITE_OK) { goto __21 } @@ -25693,7 +26198,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+4738 /* "unlink" */, zPath, 40396) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+4753 /* "unlink" */, zPath, 40396) } return rc } @@ -25703,7 +26208,7 @@ 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 /* &.pCurrent */))))(tls, zPath, bp /* &fd */) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp /* fd */)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+5686 /* "fsync" */, zPath, 40406) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+5701 /* "fsync" */, zPath, 40406) } robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 40408) } else { @@ -25782,7 +26287,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*12 + 4 /* &.pCurrent */))))(tls, zOut, (uint32(nOut-2))) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+4646 /* "getcwd" */, zPath, 40485) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+4661 /* "getcwd" */, zPath, 40485) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -25793,7 +26298,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) return Xsqlite3CantopenError(tls, 40494) } - Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+936 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+951 /* "%s" */, libc.VaList(bp, zPath)) // Remove duplicate '/' characters. Except, two // at the beginning // of a pathname is allowed since this is important on windows. @@ -25872,7 +26377,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 27*12 + 4 /* &.pCurrent */))))(tls, zIn, bp /* &buf */) != 0 { if (*(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+4826 /* "lstat" */, zIn, 40577) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+4841 /* "lstat" */, zIn, 40577) } } else { bLink = (libc.Bool32((((*stat)(unsafe.Pointer(bp /* &buf */)).Fst_mode) & X__mode_t(0170000)) == (X__mode_t(0120000)))) @@ -25892,7 +26397,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if rc == SQLITE_OK { nByte = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*12 + 4 /* &.pCurrent */))))(tls, zIn, zDel, (uint32(nOut - 1))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+4817 /* "readlink" */, zIn, 40595) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+4832 /* "readlink" */, zIn, 40595) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 @@ -25984,7 +26489,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixEnterMutex(tls) zErr = libc.Xdlerror(tls) if zErr != 0 { - Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+936 /* "%s" */, libc.VaList(bp, zErr)) + Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+951 /* "%s" */, libc.VaList(bp, zErr)) } unixLeaveMutex(tls) } @@ -26321,10 +26826,10 @@ func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42038:16: */ } var aVfs = [4]Sqlite3_vfs{ - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5692 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5697 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5707 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5579 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5707 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5712 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5722 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5594 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, } /* sqlite3.c:42091:22 */ // Shutdown the operating system interface. @@ -26416,7 +26921,7 @@ var memdb_g MemFS /* sqlite3.c:48620:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) FmxPathname: 1024, // pNext - FzName: ts + 5720, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 5735, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -26648,7 +27153,7 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 var rc int32 = SQLITE_NOTFOUND memdbEnter(tls, p) if op == SQLITE_FCNTL_VFSNAME { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+5726 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+5741 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == SQLITE_FCNTL_SIZE_LIMIT { @@ -26791,7 +27296,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(8) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+936 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+951 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } @@ -26908,7 +27413,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = Xsqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, ts+5741 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+5756 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) } else { @@ -26981,7 +27486,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+5764 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+5779 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) if !(zSql == uintptr(0)) { goto __3 } @@ -32480,7 +32985,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+5779, /* "recovered %d pag..." */ + Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+5794, /* "recovered %d pag..." */ libc.VaList(bp, nPlayback, (*Pager)(unsafe.Pointer(pPager)).FzJournal)) __27: ; @@ -34249,7 +34754,7 @@ __15: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzJournal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint32(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+5806 /* "-journal" */, uint32(8)) + libc.Xmemcpy(tls, pPtr, ts+5821 /* "-journal" */, uint32(8)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -34264,7 +34769,7 @@ __19: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzWal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint32(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+5815 /* "-wal" */, uint32(4)) + libc.Xmemcpy(tls, pPtr, ts+5830 /* "-wal" */, uint32(4)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -34323,9 +34828,9 @@ __27: ; __26: ; - (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5820 /* "nolock" */, 0)) + (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5835 /* "nolock" */, 0)) if !(((iDc & SQLITE_IOCAP_IMMUTABLE) != 0) || - (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5827 /* "immutable" */, 0) != 0)) { + (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5842 /* "immutable" */, 0) != 0)) { goto __30 } vfsFlags = vfsFlags | (SQLITE_OPEN_READONLY) @@ -38244,7 +38749,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+5837, /* "recovered %d fra..." */ + ts+5852, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -38988,7 +39493,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+5874 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) + Xsqlite3_log(tls, rx, ts+5889 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) } } @@ -41768,7 +42273,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:65443: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 5900 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 5915 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -43808,7 +44313,7 @@ func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt mutexOpen = uintptr(0) rc = SQLITE_OK isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zFilename))) == 0))) - isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+5916 /* ":memory:" */) == 0)) || + isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+5931 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -44682,7 +45187,7 @@ __10: // // The original design allowed these amounts to vary, but as of // version 3.6.0, we require them to be fixed. - if !(libc.Xmemcmp(tls, (page1+21), ts+5925 /* "@ " */, uint32(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+5940 /* "@ " */, uint32(3)) != 0) { goto __14 } goto page1_init_failed @@ -52197,7 +52702,7 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 40 /* &.errMsg */), ts+5929 /* "\n" */, 1) + Xsqlite3_str_append(tls, (pCheck + 40 /* &.errMsg */), ts+5944 /* "\n" */, 1) } if (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, (pCheck + 40 /* &.errMsg */), (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -52233,11 +52738,11 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 defer tls.Free(16) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { - checkAppendMsg(tls, pCheck, ts+5931 /* "invalid page num..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+5946 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+5954 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) + checkAppendMsg(tls, pCheck, ts+5969 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+288 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -52264,13 +52769,13 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 } - checkAppendMsg(tls, pCheck, ts+5979 /* "Failed to read p..." */, libc.VaList(bp, iChild)) + checkAppendMsg(tls, pCheck, ts+5994 /* "Failed to read p..." */, libc.VaList(bp, iChild)) return } if (int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, - ts+6008, /* "Bad ptr map entr..." */ + ts+6023, /* "Bad ptr map entr..." */ libc.VaList(bp+8, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)))) } } @@ -52293,7 +52798,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } N-- if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+40 /* &pOvflPage */, 0) != 0 { - checkAppendMsg(tls, pCheck, ts+6062 /* "failed to get pa..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+6077 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) @@ -52304,7 +52809,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+6084 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) + ts+6099 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -52330,12 +52835,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, - ts+6123, /* "%s is %d but sho..." */ + ts+6138, /* "%s is %d but sho..." */ libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { - return ts + 6149 /* "size" */ + return ts + 6164 /* "size" */ } - return ts + 6154 /* "overflow list le..." */ + return ts + 6169 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -52479,13 +52984,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6175 /* "Page %u: " */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6190 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+96 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, - ts+6185 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+6200 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -52499,7 +53004,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+6223 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) + ts+6238 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; @@ -52507,7 +53012,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+6261 /* "free space corru..." */, libc.VaList(bp+16, rc)) + checkAppendMsg(tls, pCheck, ts+6276 /* "free space corru..." */, libc.VaList(bp+16, rc)) goto end_of_check __5: ; @@ -52515,7 +53020,7 @@ __5: hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FhdrOffset) // Set up for cell analysis - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6283 /* "On tree page %u ..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6298 /* "On tree page %u ..." */ contentOffset = (U32(((((int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5)))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5))) + 1)))) - 1) & 0xffff) + 1)) // Enforced by btreeInitPage() @@ -52537,7 +53042,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6309 /* "On page %u at ri..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6324 /* "On page %u at ri..." */ checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; @@ -52568,7 +53073,7 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+6337, /* "Offset %d out of..." */ + checkAppendMsg(tls, pCheck, ts+6352, /* "Offset %d out of..." */ libc.VaList(bp+24, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 @@ -52579,7 +53084,7 @@ __12: if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+6367 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+6382 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -52597,7 +53102,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+6391 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+6406 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) __15: ; *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 112 /* &info */)).FnKey @@ -52638,7 +53143,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+6415 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+6430 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -52736,7 +53241,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+6440 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) + ts+6455 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) goto __30 goto __32 __31: @@ -52756,7 +53261,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+6477, /* "Fragmentation of..." */ + ts+6492, /* "Fragmentation of..." */ libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -52885,7 +53390,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 6529 /* "Main freelist: " */ + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 6544 /* "Main freelist: " */ checkList(tls, bp+32 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) @@ -52923,7 +53428,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+6545, /* "max rootpage (%d..." */ + ts+6560, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -52933,7 +53438,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+6590 /* "incremental_vacu..." */, 0) + ts+6605 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -52983,13 +53488,13 @@ __23: if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6645 /* "Page %d is never..." */, libc.VaList(bp+16, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6660 /* "Page %d is never..." */, libc.VaList(bp+16, i)) __26: ; if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6667 /* "Pointer map page..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6682 /* "Pointer map page..." */, libc.VaList(bp+24, i)) __27: ; goto __24 @@ -53308,7 +53813,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint32(unsafe.Sizeof(Parse{}))) (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = pDb if Xsqlite3OpenTempDatabase(tls, bp+16 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+936 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+951 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg) @@ -53319,7 +53824,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+6701 /* "unknown database..." */, libc.VaList(bp+8, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+6716 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -53340,7 +53845,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76336:12: */ // message in database handle db. func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:76348:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { - Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+6721 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+6736 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -53367,7 +53872,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+6752 /* "source and desti..." */, 0) + pDestDb, SQLITE_ERROR, ts+6767 /* "source and desti..." */, 0) p = uintptr(0) } else { // Allocate space for a new sqlite3_backup object... @@ -53981,7 +54486,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 8 /* x */)), zBuf) } else { Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+6792, /* "%!.15g" */ + Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+6807, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -54622,7 +55127,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -54828,6 +55333,8 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 (*Mem)(unsafe.Pointer(pMem)).Fflags = flags if enc != 0 { (*Mem)(unsafe.Pointer(pMem)).Fenc = enc + } else if (*Mem)(unsafe.Pointer(pMem)).Fdb == uintptr(0) { + (*Mem)(unsafe.Pointer(pMem)).Fenc = U8(SQLITE_UTF8) } else { (*Mem)(unsafe.Pointer(pMem)).Fenc = (*Sqlite3)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fdb)).Fenc @@ -55132,7 +55639,7 @@ __9: goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) + Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: Xsqlite3ValueApplyAffinity(tls, pVal, aff, uint8(SQLITE_UTF8)) @@ -55204,7 +55711,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 zVal = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = uintptr(0) negInt = 1 - zNeg = ts + 900 /* "" */ + zNeg = ts + 915 /* "" */ rc = SQLITE_OK __1: @@ -55253,7 +55760,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 6799 /* "-" */ + zNeg = ts + 6814 /* "-" */ __6: ; @@ -55273,7 +55780,7 @@ __9: Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: - zVal = Xsqlite3MPrintf(tls, db, ts+6801 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + zVal = Xsqlite3MPrintf(tls, db, ts+6816 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) if !(zVal == uintptr(0)) { goto __12 } @@ -56787,8 +57294,8 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint var seenCom int32 = 0 var c int8 zSynopsis = libc.AssignAddUintptr(&zOpName, (uintptr(nOpName + 1))) - if libc.Xstrncmp(tls, zSynopsis, ts+6806 /* "IF " */, uint32(3)) == 0 { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zAlt[0] */, ts+6810 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) + if libc.Xstrncmp(tls, zSynopsis, ts+6821 /* "IF " */, uint32(3)) == 0 { + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zAlt[0] */, ts+6825 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) zSynopsis = bp + 96 /* &zAlt[0] */ } for ii = 0; (int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zSynopsis + uintptr(ii)))))) != 0; ii++ { @@ -56802,24 +57309,24 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } else { var v1 int32 = translateP(tls, c, pOp) var v2 int32 - if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6824 /* "@P" */, uint32(2)) == 0 { + if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6839 /* "@P" */, uint32(2)) == 0 { ii = ii + (3) v2 = translateP(tls, *(*int8)(unsafe.Pointer(zSynopsis + uintptr(ii))), pOp) - if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6827 /* "+1" */, uint32(2)) == 0 { + if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6842 /* "+1" */, uint32(2)) == 0 { ii = ii + (2) v2++ } if v2 < 2 { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6830 /* "%d" */, libc.VaList(bp+8, v1)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6845 /* "%d" */, libc.VaList(bp+8, v1)) } else { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6833 /* "%d..%d" */, libc.VaList(bp+16, v1, ((v1+v2)-1))) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6848 /* "%d..%d" */, libc.VaList(bp+16, v1, ((v1+v2)-1))) } - } else if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6840 /* "@NP" */, uint32(3)) == 0 { + } else if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6855 /* "@NP" */, uint32(3)) == 0 { var pCtx uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) if (int32((*Op)(unsafe.Pointer(pOp)).Fp4type) != (-16)) || (int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) == 1) { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6830 /* "%d" */, libc.VaList(bp+32, v1)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6845 /* "%d" */, libc.VaList(bp+32, v1)) } else if int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) > 1 { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6833 /* "%d..%d" */, libc.VaList(bp+40, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6848 /* "%d..%d" */, libc.VaList(bp+40, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) } else if int32((*StrAccum)(unsafe.Pointer(bp+72 /* &x */)).FaccError) == 0 { *(*U32)(unsafe.Pointer(bp + 72 /* &x */ + 16 /* &.nChar */)) -= (U32(2)) @@ -56827,8 +57334,8 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } ii = ii + (3) } else { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6830 /* "%d" */, libc.VaList(bp+56, v1)) - if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6844 /* "..P3" */, uint32(4)) == 0) && ((*Op)(unsafe.Pointer(pOp)).Fp3 == 0) { + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6845 /* "%d" */, libc.VaList(bp+56, v1)) + if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6859 /* "..P3" */, uint32(4)) == 0) && ((*Op)(unsafe.Pointer(pOp)).Fp3 == 0) { ii = ii + (4) } } @@ -56838,7 +57345,7 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } } if !(seenCom != 0) && ((*Op)(unsafe.Pointer(pOp)).FzComment != 0) { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6849 /* "; %s" */, libc.VaList(bp+64, (*Op)(unsafe.Pointer(pOp)).FzComment)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6864 /* "; %s" */, libc.VaList(bp+64, (*Op)(unsafe.Pointer(pOp)).FzComment)) } } else if (*Op)(unsafe.Pointer(pOp)).FzComment != 0 { Xsqlite3_str_appendall(tls, bp+72 /* &x */, (*Op)(unsafe.Pointer(pOp)).FzComment) @@ -56865,34 +57372,34 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6854 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6869 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 20 /* &.aColl */) + uintptr(j)*4)) var zColl uintptr if pColl != 0 { zColl = (*CollSeq)(unsafe.Pointer(pColl)).FzName } else { - zColl = ts + 900 /* "" */ + zColl = ts + 915 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+463 /* "BINARY" */) == 0 { - zColl = ts + 6859 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+478 /* "BINARY" */) == 0 { + zColl = ts + 6874 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6861, /* ",%s%s%s" */ + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6876, /* ",%s%s%s" */ libc.VaList(bp+8, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { - return ts + 6799 /* "-" */ + return ts + 6814 /* "-" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 6869 /* "N." */ + return ts + 6884 /* "N." */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6887 /* ")" */, 1) break } @@ -56900,7 +57407,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6874 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6889 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -56908,32 +57415,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6883 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6898 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6883 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6898 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6890 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6905 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6830 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6845 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+683 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+698 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -56943,14 +57450,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6890 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6905 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+683 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+698 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { - zP4 = ts + 901 /* "NULL" */ + zP4 = ts + 916 /* "NULL" */ } else { - zP4 = ts + 6895 /* "(blob)" */ + zP4 = ts + 6910 /* "(blob)" */ } break @@ -56958,7 +57465,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6902 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6917 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -56969,20 +57476,20 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6910 /* "%c%u" */, libc.VaList(bp+128, func() int32 { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6925 /* "%c%u" */, libc.VaList(bp+128, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6915 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6930 /* "]" */, 1) break } case -4: { - zP4 = ts + 6917 /* "program" */ + zP4 = ts + 6932 /* "program" */ break } @@ -57014,7 +57521,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } -var encnames = [4]uintptr{ts + 6925 /* "?" */, ts + 6927 /* "8" */, ts + 6929 /* "16LE" */, ts + 6934 /* "16BE" */} /* sqlite3.c:80570:25 */ +var encnames = [4]uintptr{ts + 6940 /* "?" */, ts + 6942 /* "8" */, ts + 6944 /* "16LE" */, ts + 6949 /* "16BE" */} /* sqlite3.c:80570:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -57560,8 +58067,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 6939 /* "addr" */, ts + 6944 /* "opcode" */, ts + 6951 /* "p1" */, ts + 6954 /* "p2" */, ts + 6957 /* "p3" */, ts + 6960 /* "p4" */, ts + 6963 /* "p5" */, ts + 6966, /* "comment" */ - ts + 6974 /* "id" */, ts + 6977 /* "parent" */, ts + 6984 /* "notused" */, ts + 6992, /* "detail" */ + ts + 6954 /* "addr" */, ts + 6959 /* "opcode" */, ts + 6966 /* "p1" */, ts + 6969 /* "p2" */, ts + 6972 /* "p3" */, ts + 6975 /* "p4" */, ts + 6978 /* "p5" */, ts + 6981, /* "comment" */ + ts + 6989 /* "id" */, ts + 6992 /* "parent" */, ts + 6999 /* "notused" */, ts + 7007, /* "detail" */ } /* sqlite3.c:81298:23 */ // Close a VDBE cursor and release all the resources that cursor @@ -57809,7 +58316,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Select a super-journal file name nMainFile = Xsqlite3Strlen30(tls, zMainFile) - zSuper = Xsqlite3MPrintf(tls, db, ts+6999 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) + zSuper = Xsqlite3MPrintf(tls, db, ts+7014 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) if zSuper == uintptr(0) { return SQLITE_NOMEM } @@ -57819,16 +58326,16 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+7011 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+7026 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+7025 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+7040 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) } } retryCount++ Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &iRandom */) - Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+7040, /* "-mj%06X9%02X" */ + Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+7055, /* "-mj%06X9%02X" */ libc.VaList(bp+40, ((*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. @@ -58023,7 +58530,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq (!(deferred != 0) && ((*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0))) { (*Vdbe)(unsafe.Pointer(p)).Frc = (SQLITE_CONSTRAINT | (int32(3) << 8)) (*Vdbe)(unsafe.Pointer(p)).FerrorAction = U8(OE_Abort) - Xsqlite3VdbeError(tls, p, ts+7053 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7068 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -58305,7 +58812,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: // called), set the database error in this case as well. Xsqlite3ErrorWithMsg(tls, db, (*Vdbe)(unsafe.Pointer(p)).Frc, func() uintptr { if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -59857,13 +60364,13 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023 var zContext uintptr var zMsg uintptr if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_IsCheck) != 0 { - zContext = ts + 7083 /* "a CHECK constrai..." */ + zContext = ts + 7098 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 7102 /* "a generated colu..." */ + zContext = ts + 7117 /* "a generated colu..." */ } else { - zContext = ts + 7121 /* "an index" */ + zContext = ts + 7136 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+7130, /* "non-deterministi..." */ + zMsg = Xsqlite3_mprintf(tls, ts+7145, /* "non-deterministi..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -59994,7 +60501,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84185:1 // invalid). Return false if it is ok. func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+7166 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+7181 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -60004,7 +60511,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84204:12: */ if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+7211 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+7226 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -60474,7 +60981,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:84708:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG - Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+7251 /* "string or blob t..." */, int64(-1), + Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+7266 /* "string or blob t..." */, int64(-1), uint8(SQLITE_UTF8), uintptr(0)) } @@ -61225,7 +61732,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12 Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+7274 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) + ts+7289 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) return Xsqlite3MisuseError(tls, 85498) } if (i < 1) || (i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar)) { @@ -62002,7 +62509,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7314 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7329 /* "-- " */, 3) Xsqlite3_str_append(tls, bp+48 /* &out */, zStart, ((int32(zRawSql) - int32(zStart)) / 1)) } @@ -62040,11 +62547,11 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 176 /* idx */))-1))*40) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+901 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+916 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6890 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6905 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6792 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6807 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc @@ -62059,21 +62566,21 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = bp + 184 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7318 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7333 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { Xsqlite3VdbeMemRelease(tls, bp+184 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7325 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7340 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7338 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7353 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7341 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7356 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7346 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7361 /* "'" */, 1) } } } @@ -65795,19 +66302,19 @@ __192: goto __195 } - Xsqlite3VdbeError(tls, p, ts+7348 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) + Xsqlite3VdbeError(tls, p, ts+7363 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __197 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+7369 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+7384 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __197: ; goto __196 __195: - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __196: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+7376 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+7391 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __194: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -68358,7 +68865,7 @@ __76: } // A new savepoint cannot be created if there are active write // statements (i.e. open read/write incremental blob handles). - Xsqlite3VdbeError(tls, p, ts+7400 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7415 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __450 __449: @@ -68431,7 +68938,7 @@ __457: if !(!(pSavepoint != 0)) { goto __458 } - Xsqlite3VdbeError(tls, p, ts+7451 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) + Xsqlite3VdbeError(tls, p, ts+7466 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) rc = SQLITE_ERROR goto __459 __458: @@ -68441,7 +68948,7 @@ __458: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+7473 /* "cannot release s..." */, 0) + ts+7488 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __461 __460: @@ -68646,7 +69153,7 @@ __490: // If this instruction implements a COMMIT and other VMs are writing // return an error indicating that the other VMs must complete first. Xsqlite3VdbeError(tls, p, - ts+7527 /* "cannot commit tr..." */, 0) + ts+7542 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __493 @@ -68689,13 +69196,13 @@ __488: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 7582 /* "cannot start a t..." */ + return ts + 7597 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 7630 /* "cannot rollback ..." */ + return ts + 7645 /* "cannot rollback ..." */ } - return ts + 7673 /* "cannot commit - ..." */ + return ts + 7688 /* "cannot commit - ..." */ }() }(), 0) @@ -68813,7 +69320,7 @@ __500: // version is checked to ensure that the schema has not changed since the // SQL statement was prepared. Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+7714 /* "database schema ..." */) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+7729 /* "database schema ..." */) // If the schema-cookie from the database file matches the cookie // stored with the in-memory representation of the schema, do // not reload the schema from the database file. @@ -69195,7 +69702,7 @@ __86: // Only used when number of columns is zero (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*40)).Fn = 0 - (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*40)).Fz = ts + 900 /* "" */ + (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*40)).Fz = ts + 915 /* "" */ __526: ; pCx1 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*4)) @@ -71337,7 +71844,7 @@ __691: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __694 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+7742 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+7757 /* "index corruption" */) goto abort_due_to_error __694: ; @@ -71770,14 +72277,14 @@ __139: goto __723 __722: - zSchema = ts + 7759 /* "sqlite_master" */ + zSchema = ts + 7774 /* "sqlite_master" */ (*InitData)(unsafe.Pointer(bp + 604 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 604 /* &initData */)).FiDb = iDb3 (*InitData)(unsafe.Pointer(bp + 604 /* &initData */)).FpzErrMsg = (p + 124 /* &.zErrMsg */) (*InitData)(unsafe.Pointer(bp + 604 /* &initData */)).FmInitFlags = U32(0) (*InitData)(unsafe.Pointer(bp + 604 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*16)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+7773, /* "SELECT*FROM\"%w\"...." */ + ts+7788, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp+64, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*16)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __724 @@ -72110,7 +72617,7 @@ __744: goto __749 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+7816 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7831 /* "too many levels ..." */, 0) goto abort_due_to_error __749: ; @@ -72555,7 +73062,7 @@ __784: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __786 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __786: ; @@ -72633,7 +73140,7 @@ __791: if !(rc != 0) { goto __792 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __792: ; @@ -72748,12 +73255,12 @@ __801: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+7853, /* "cannot change %s..." */ + ts+7868, /* "cannot change %s..." */ libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 7905 /* "into" */ + return ts + 7920 /* "into" */ } - return ts + 7910 /* "out of" */ + return ts + 7925 /* "out of" */ }())) goto abort_due_to_error goto __804 @@ -72956,7 +73463,7 @@ __169: goto __819 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+7917 /* "database table i..." */, libc.VaList(bp+112, z1)) + Xsqlite3VdbeError(tls, p, ts+7932 /* "database table i..." */, libc.VaList(bp+112, z1)) __819: ; goto abort_due_to_error @@ -73200,7 +73707,7 @@ __836: if !((*Sqlite3_context)(unsafe.Pointer(bp+716 /* &sContext */)).FisError > 0) { goto __837 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) rc = (*Sqlite3_context)(unsafe.Pointer(bp + 716 /* &sContext */)).FisError __837: ; @@ -73533,7 +74040,7 @@ __860: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __865 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __865: ; @@ -73624,7 +74131,7 @@ __870: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __872 } - z3 = Xsqlite3MPrintf(tls, db, ts+7946 /* "-- %s" */, libc.VaList(bp+136, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+7961 /* "-- %s" */, libc.VaList(bp+136, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 208 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __873 @@ -73727,13 +74234,13 @@ __881: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __883 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) __883: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) - Xsqlite3_log(tls, rc, ts+7952, /* "statement aborts..." */ + Xsqlite3_log(tls, rc, ts+7967, /* "statement aborts..." */ libc.VaList(bp+152, ((int32(pOp)-int32(aOp))/24), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { @@ -73778,14 +74285,14 @@ __887: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+7251 /* "string or blob t..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7266 /* "string or blob t..." */, 0) rc = SQLITE_TOOBIG goto abort_due_to_error // Jump to here if a malloc() fails. no_mem: Xsqlite3OomFault(tls, db) - Xsqlite3VdbeError(tls, p, ts+7984 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+7999 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -73798,8 +74305,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 7998 /* "NOT NULL" */, ts + 8007 /* "UNIQUE" */, ts + 8014, /* "CHECK" */ - ts + 8020 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ +var azType = [4]uintptr{ts + 8013 /* "NOT NULL" */, ts + 8022 /* "UNIQUE" */, ts + 8029, /* "CHECK" */ + ts + 8035 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:88844:32 */ var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:88847:32 */ var aFlag1 = [2]U16{U16(MEM_Blob), (U16(MEM_Str | MEM_Term))} /* sqlite3.c:89315:24 */ @@ -73906,16 +74413,16 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } if type1 < U32(12) { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8032, /* "cannot open valu..." */ + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8047, /* "cannot open valu..." */ libc.VaList(bp, func() uintptr { if type1 == U32(0) { - return ts + 8061 /* "null" */ + return ts + 8076 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 8066 /* "real" */ + return ts + 8081 /* "real" */ } - return ts + 8071 /* "integer" */ + return ts + 8086 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -73935,10 +74442,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8079 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8094 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+936 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -74001,21 +74508,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8099 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8114 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8129 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8144 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8165 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8180 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) __7: ; if !(!(pTab != 0)) { @@ -74060,7 +74567,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8186 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) + *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8201 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -74089,7 +74596,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+36 /* &.aCol */)+uintptr(j)*8)).FiFrom == iCol) { goto __23 } - zFault = ts + 8207 /* "foreign key" */ + zFault = ts + 8222 /* "foreign key" */ __23: ; goto __21 @@ -74122,7 +74629,7 @@ __27: if !((int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == iCol) || (int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == (-2))) { goto __30 } - zFault = ts + 8219 /* "indexed" */ + zFault = ts + 8234 /* "indexed" */ __30: ; goto __28 @@ -74143,7 +74650,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8227 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) + *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8242 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -74252,7 +74759,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 320 /* zErr */)))) @@ -74417,7 +74924,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) @@ -77039,11 +77546,11 @@ func bytecodevtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, ar *(*[2]uintptr)(unsafe.Pointer(bp /* azSchema */)) = [2]uintptr{ // bytecode() schema - ts + 8261, /* "CREATE TABLE x(a..." */ + ts + 8276, /* "CREATE TABLE x(a..." */ // Tables_used() schema - ts + 8373, /* "CREATE TABLE x(t..." */ + ts + 8388, /* "CREATE TABLE x(t..." */ } rc = Xsqlite3_declare_vtab(tls, db, *(*uintptr)(unsafe.Pointer(bp /* &azSchema[0] */ + uintptr(isTabUsed)*4))) @@ -77167,7 +77674,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 var pTab uintptr = (*HashElem)(unsafe.Pointer(k)).Fdata if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) && ((*Table)(unsafe.Pointer(pTab)).Ftnum == iRoot) { (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzName = (*Table)(unsafe.Pointer(pTab)).FzName - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8454 /* "table" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8469 /* "table" */ break } } @@ -77176,7 +77683,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 var pIdx uintptr = (*HashElem)(unsafe.Pointer(k)).Fdata if (*Index)(unsafe.Pointer(pIdx)).Ftnum == iRoot { (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzName = (*Index)(unsafe.Pointer(pIdx)).FzName - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8460 /* "index" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8475 /* "index" */ } } } @@ -77226,7 +77733,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 } else if *(*uintptr)(unsafe.Pointer(aOp + 16 /* &.p4 */)) != uintptr(0) { Xsqlite3_result_text(tls, ctx, (*(*uintptr)(unsafe.Pointer(aOp + 16 /* &.p4 */)) + uintptr(3)), -1, uintptr(0)) } else { - Xsqlite3_result_text(tls, ctx, ts+8466 /* "(FK)" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+8481 /* "(FK)" */, 4, uintptr(0)) } break @@ -77281,16 +77788,16 @@ func bytecodevtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FneedFinalize = 1 } } else { - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+8471 /* "stmt-pointer" */) + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+8486 /* "stmt-pointer" */) } if (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt == uintptr(0) { (*Bytecodevtab)(unsafe.Pointer(pVTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+8484, /* "argument to %s()..." */ + ts+8499, /* "argument to %s()..." */ libc.VaList(bp, func() uintptr { if (*Bytecodevtab)(unsafe.Pointer(pVTab)).FbTablesUsed != 0 { - return ts + 8530 /* "tables_used" */ + return ts + 8545 /* "tables_used" */ } - return ts + 8542 /* "bytecode" */ + return ts + 8557 /* "bytecode" */ }())) rc = SQLITE_ERROR } else { @@ -77369,9 +77876,9 @@ func Xsqlite3VdbeBytecodeVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3. *(*uintptr)(unsafe.Pointer(bp)) = db var rc int32 - rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8542 /* "bytecode" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), uintptr(0)) + rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8557 /* "bytecode" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8530 /* "tables_used" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), bp /* &db */) + rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8545 /* "tables_used" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), bp /* &db */) } return rc } @@ -78353,7 +78860,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+8551 /* "main" */, zDb) == 0)) { + if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+8566 /* "main" */, zDb) == 0)) { goto __8 } // This branch is taken when the main database has been renamed @@ -78556,14 +79063,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8556 /* "new" */, zTab) == 0)) { + if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8571 /* "new" */, zTab) == 0)) { goto __41 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 1 pTab = (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab goto __42 __41: - if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8560 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8575 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -78580,7 +79087,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 8 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+8564 /* "excluded" */, zTab) == 0)) { + if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+8579 /* "excluded" */, zTab) == 0)) { goto __45 } pTab = (*SrcItem)(unsafe.Pointer(((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8 /* &.a */))).FpTab @@ -78757,7 +79264,7 @@ __66: if !((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0) && (((*Expr)(unsafe.Pointer((pOrig))).Fflags & (U32(EP_Agg))) != U32(0))) { goto __70 } - Xsqlite3ErrorMsg(tls, pParse, ts+8573 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+8588 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -78765,14 +79272,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+8604 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+8619 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) return WRC_Abort __71: ; if !(Xsqlite3ExprVectorSize(tls, pOrig) != 1) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -78848,7 +79355,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+8659 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) + ts+8674 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 44 /* &.y */)) = uintptr(0) return WRC_Prune @@ -78869,23 +79376,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 8694 /* "no such column" */ + zErr = ts + 8709 /* "no such column" */ } else { - zErr = ts + 8709 /* "ambiguous column..." */ + zErr = ts + 8724 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+8731 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8746 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+8744 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8759 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+8754 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8769 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -79019,15 +79526,15 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp bp := tls.Alloc(16) defer tls.Free(16) - var zIn uintptr = ts + 8761 /* "partial index WH..." */ + var zIn uintptr = ts + 8776 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 8789 /* "index expression..." */ + zIn = ts + 8804 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 8807 /* "CHECK constraint..." */ + zIn = ts + 8822 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 8825 /* "generated column..." */ + zIn = ts + 8840 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+8843 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) + Xsqlite3ErrorMsg(tls, pParse, ts+8858 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) if pExpr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } @@ -79135,10 +79642,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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 /* &.u */)) = ts + 8863 /* "true" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8878 /* "true" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsTrue)) } else { - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8868 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8883 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) } (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) @@ -79191,7 +79698,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (NC_IdxExpr | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+8874 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+8889 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -79258,7 +79765,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+8891 /* "second argument ..." */, 0) + ts+8906 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -79283,7 +79790,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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+8962, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+8977, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -79307,7 +79814,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all // all this. if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & ((NC_IdxExpr | NC_PartIdx) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+8997 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+9012 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -79336,30 +79843,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+9025 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) + ts+9040 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) (*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 + 9069 /* "window" */ + zType = ts + 9084 /* "window" */ } else { - zType = ts + 9076 /* "aggregate" */ + zType = ts + 9091 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+9086 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+9101 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) (*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+9115 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+9130 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+9138, /* "wrong number of ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9153, /* "wrong number of ..." */ libc.VaList(bp+64, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, - ts+9183, /* "FILTER may not b..." */ + ts+9198, /* "FILTER may not b..." */ libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -79434,7 +79941,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+9232 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+9247 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */))) @@ -79451,7 +79958,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s { if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+9243 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+9258 /* "parameters" */, pExpr) } break @@ -79511,7 +80018,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) } break @@ -79616,7 +80123,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+9254 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) + ts+9269 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) } // Analyze the ORDER BY clause in a compound SELECT statement. Modify @@ -79648,7 +80155,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 + 112 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+9310 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9325 /* "too many terms i..." */, 0) return 1 } for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { @@ -79683,7 +80190,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 } if Xsqlite3ExprIsInteger(tls, pE, bp+8 /* &iCol */) != 0 { if (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { - resolveOutOfRangeError(tls, pParse, ts+9344 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+9359 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -79754,7 +80261,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { if (int32(*(*uint8)(unsafe.Pointer(((pOrderBy + 8 /* &.a */) + uintptr(i)*20) + 12 /* &.done */)) & 0x4 >> 2)) == 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+9350 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+9365 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -79782,7 +80289,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+9411 /* "too many terms i..." */, libc.VaList(bp, zType)) + Xsqlite3ErrorMsg(tls, pParse, ts+9426 /* "too many terms i..." */, libc.VaList(bp, zType)) return 1 } pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList @@ -80071,7 +80578,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp /* &sNC */ + 24 /* &.ncFlags */)) |= (NC_UEList) if (*Select)(unsafe.Pointer(p)).FpHaving != 0 { if !(pGroupBy != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+9442 /* "a GROUP BY claus..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9457 /* "a GROUP BY claus..." */, 0) return WRC_Abort } if Xsqlite3ResolveExprNames(tls, bp /* &sNC */, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -80128,7 +80635,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // resolve those symbols on the incorrect ORDER BY for consistency. if (((*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0)) && (isCompound <= nCompound)) && // Defer right-most ORDER BY of a compound - (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9344 /* "ORDER" */) != 0) { + (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9359 /* "ORDER" */) != 0) { return WRC_Abort } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -80141,7 +80648,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql if pGroupBy != 0 { var pItem uintptr - if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+9486 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { + if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+9501 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { return WRC_Abort } i = 0 @@ -80153,7 +80660,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql { if ((*Expr)(unsafe.Pointer(((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr))).Fflags & (U32(EP_Agg))) != U32(0) { Xsqlite3ErrorMsg(tls, pParse, - ts+9492 /* "aggregate functi..." */, 0) + ts+9507 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -80923,7 +81430,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) return } @@ -80999,7 +81506,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 112 /* &.aLimit */) + 3*4)) if nHeight > mxHeight { Xsqlite3ErrorMsg(tls, pParse, - ts+9551 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+9566 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -81240,7 +81747,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+9599 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+9614 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -81262,7 +81769,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u return uintptr(0) } if (pList != 0) && ((*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 112 /* &.aLimit */) + 6*4))) { - Xsqlite3ErrorMsg(tls, pParse, ts+9601 /* "too many argumen..." */, libc.VaList(bp, pToken)) + Xsqlite3ErrorMsg(tls, pParse, ts+9616 /* "too many argumen..." */, libc.VaList(bp, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 20 /* &.x */)) = pList *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_HasFunc)) @@ -81296,7 +81803,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // is tagged with SQLITE_FUNC_UNSAFE) and // SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning // that the schema is possibly tainted). - Xsqlite3ErrorMsg(tls, pParse, ts+9635 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+9650 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) } } } @@ -81349,7 +81856,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 9*4)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+9654, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9669, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 9*4)))) return } @@ -81376,7 +81883,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*Expr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 9*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+9697 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9712 /* "too many SQL var..." */, 0) } } @@ -82045,7 +82552,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+9720, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9735, /* "%d columns assig..." */ libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error __3: @@ -82180,7 +82687,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 112 /* &.aLimit */) + 2*4)) if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx) { - Xsqlite3ErrorMsg(tls, pParse, ts+9750 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+9765 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -82235,10 +82742,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 { /* sqlite3.c:103208:20: */ - if Xsqlite3StrICmp(tls, zIn, ts+8863 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+8878 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+8868 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+8883 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -82683,13 +83190,13 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 // Return TRUE if the given string is a row-id column name. func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:103650:20: */ - if Xsqlite3StrICmp(tls, z, ts+9773 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9788 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+9781 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9796 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+9787 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9802 /* "OID" */) == 0 { return 1 } return 0 @@ -82767,7 +83274,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iCur, 0, regHasNull) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_TYPEOFARG)) - Xsqlite3VdbeComment(tls, v, ts+9791 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) + Xsqlite3VdbeComment(tls, v, ts+9806 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) Xsqlite3VdbeJumpHere(tls, v, addr1) } @@ -82920,7 +83427,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, Xsqlite3OpenTable(tls, pParse, iTab, iDb, pTab, OP_OpenRead) eType = IN_INDEX_ROWID - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9810 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9825 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeJumpHere(tls, v, iAddr) } else { var pIdx uintptr // Iterator variable @@ -83011,10 +83518,10 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9857 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9872 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) eType = (IN_INDEX_INDEX_ASC + int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder)))) @@ -83118,7 +83625,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec defer tls.Free(16) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { - var zFmt uintptr = ts + 9888 /* "sub-select retur..." */ + var zFmt uintptr = ts + 9903 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -83136,7 +83643,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_xIsSelect)) != 0 { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FpEList)).FnExpr, 1) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) } } @@ -83189,7 +83696,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9932 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9947 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FselId)) } Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ /* &.iAddr */))) @@ -83203,7 +83710,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) - Xsqlite3VdbeComment(tls, v, ts+9955 /* "return address" */, 0) + Xsqlite3VdbeComment(tls, v, ts+9970 /* "return address" */, 0) addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) } @@ -83217,9 +83724,9 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 (*Expr)(unsafe.Pointer(pExpr)).FiTable = iTab addr = Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, (*Expr)(unsafe.Pointer(pExpr)).FiTable, nVal) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeComment(tls, v, ts+9970 /* "Result of SELECT..." */, libc.VaList(bp+8, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FselId)) + Xsqlite3VdbeComment(tls, v, ts+9985 /* "Result of SELECT..." */, libc.VaList(bp+8, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)))).FselId)) } else { - Xsqlite3VdbeComment(tls, v, ts+9990 /* "RHS of IN operat..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+10005 /* "RHS of IN operat..." */, 0) } pKeyInfo = Xsqlite3KeyInfoAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, nVal, 1) @@ -83231,11 +83738,11 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 20 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10009 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10024 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { if addrOnce != 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 10028 /* "CORRELATED " */ + return ts + 10043 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSelect)).FselId)) // If the LHS and RHS of the IN operator do not match, that // error will have been caught long before we reach this point. @@ -83381,7 +83888,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // If this routine has already been coded, then invoke it as a // subroutine. if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+10040 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+10055 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ /* &.iAddr */))) return (*Expr)(unsafe.Pointer(pExpr)).FiTable @@ -83391,7 +83898,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_Subrtn)) *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, *(*int32)(unsafe.Pointer(pExpr + 44 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) - Xsqlite3VdbeComment(tls, v, ts+9955 /* "return address" */, 0) + Xsqlite3VdbeComment(tls, v, ts+9970 /* "return address" */, 0) // The evaluation of the EXISTS/SELECT must be repeated every time it // is encountered if any of the following is true: @@ -83415,11 +83922,11 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10058 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10073 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 10028 /* "CORRELATED " */ + return ts + 10043 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSel)).FselId)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { nReg = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpEList)).FnExpr @@ -83433,17 +83940,17 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSDParm (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FnSdst = nReg Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm, (((*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm + nReg) - 1)) - Xsqlite3VdbeComment(tls, v, ts+10079 /* "Init subquery re..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+10094 /* "Init subquery re..." */, 0) } else { (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FeDest = U8(SRT_Exists) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm) - Xsqlite3VdbeComment(tls, v, ts+10100 /* "Init EXISTS resu..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+10115 /* "Init EXISTS resu..." */, 0) } if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 { // The subquery already has a limit. If the pre-existing limit is X // then make the new limit X<>0 so that the new limit is either 1 or 0 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+9599 /* "0" */) + pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+9614 /* "0" */) if pLimit != 0 { (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, @@ -83453,7 +83960,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { // If there is no pre-existing limit add a limit of 1 - pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+10119 /* "1" */) + pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+10134 /* "1" */) (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -83588,7 +84095,7 @@ __2: // the RHS has not yet been coded. v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // OOM detected prior to this routine - Xsqlite3VdbeNoopComment(tls, v, ts+10121 /* "begin IN expr" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+10136 /* "begin IN expr" */, 0) eType = Xsqlite3FindInIndex(tls, pParse, pExpr, (uint32(IN_INDEX_MEMBERSHIP | IN_INDEX_NOOP_OK)), func() uintptr { @@ -83893,7 +84400,7 @@ sqlite3ExprCodeIN_finished: Xsqlite3ReleaseTempReg(tls, pParse, rLhs) __40: ; - Xsqlite3VdbeComment(tls, v, ts+10135 /* "end IN expr" */, 0) + Xsqlite3VdbeComment(tls, v, ts+10150 /* "end IN expr" */, 0) sqlite3ExprCodeIN_oom_error: Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiMap) Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, zAff) @@ -83945,12 +84452,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM c = Xsqlite3DecOrHexToI64(tls, z, bp+16 /* &value */) if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 16 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { - if Xsqlite3_strnicmp(tls, z, ts+10147 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10150 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { + if Xsqlite3_strnicmp(tls, z, ts+10162 /* "0x" */, 2) == 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+10165 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { - return ts + 6799 /* "-" */ + return ts + 6814 /* "-" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -84025,7 +84532,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT } else if (int32((*Column)(unsafe.Pointer((libc.AssignUintptr(&pCol, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20))))).FcolFlags) & COLFLAG_VIRTUAL) != 0 { var pParse uintptr = Xsqlite3VdbeParser(tls, v) if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_BUSY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10176 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+10191 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else { var savedSelfTab int32 = (*Parse)(unsafe.Pointer(pParse)).FiSelfTab *(*U16)(unsafe.Pointer(pCol + 16 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) @@ -84516,10 +85023,10 @@ __56: if !(int32((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn) < 0) { goto __59 } - Xsqlite3VdbeComment(tls, v, ts+10206 /* "%s.rowid" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10221 /* "%s.rowid" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto __60 __59: - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*20)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*20)).FzName)) if !(int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*20)).Faffinity) == SQLITE_AFF_REAL) { goto __61 } @@ -84584,7 +85091,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+10176, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10191, /* "generated column..." */ libc.VaList(bp+24, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -84836,7 +85343,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+10221 /* "misuse of aggreg..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+10236 /* "misuse of aggreg..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*20)).FiMem @@ -84878,7 +85385,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+10247 /* "unknown function..." */, libc.VaList(bp+40, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+10262 /* "unknown function..." */, libc.VaList(bp+40, zId)) goto __3 __91: ; @@ -85072,7 +85579,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+9720, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9735, /* "%d columns assig..." */ libc.VaList(bp+48, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -85139,14 +85646,14 @@ __51: int32(Xsqlite3TableColumnToStorage(tls, pTab2, int16(iCol1)))) Xsqlite3VdbeAddOp2(tls, v, OP_Param, p1, target) - Xsqlite3VdbeComment(tls, v, ts+10270 /* "r[%d]=%s.%s" */, libc.VaList(bp+64, target, func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+10285 /* "r[%d]=%s.%s" */, libc.VaList(bp+64, target, func() uintptr { if (*Expr)(unsafe.Pointer(pExpr)).FiTable != 0 { - return ts + 8556 /* "new" */ + return ts + 8571 /* "new" */ } - return ts + 8560 /* "old" */ + return ts + 8575 /* "old" */ }(), func() uintptr { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { - return ts + 10282 /* "rowid" */ + return ts + 10297 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 44 /* &.y */)))).FaCol + uintptr(iCol1)*20)).FzName }())) @@ -85165,7 +85672,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) goto __3 // TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions @@ -85289,7 +85796,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+10288 /* "RAISE() may only..." */, 0) + ts+10303 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -85328,7 +85835,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 10338 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 10353 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -87165,11 +87672,11 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq bp := tls.Alloc(8) defer tls.Free(8) - if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10346 /* "sqlite_" */, 7)) || + if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10361 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || ((((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Shadow)) != U32(0)) && (Xsqlite3ReadOnlyShadowTables(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+10354 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+10369 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -87187,14 +87694,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+10382, /* "SELECT 1 FROM \"%..." */ + ts+10397, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+10557, /* "SELECT 1 FROM te..." */ + ts+10572, /* "SELECT 1 FROM te..." */ libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -87210,11 +87717,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+10731 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) + ts+10746 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+10878 /* "UPDATE temp.sqli..." */, 0) + ts+10893 /* "UPDATE temp.sqli..." */, 0) } } @@ -87288,7 +87795,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+11029 /* "there is already..." */, libc.VaList(bp, zName)) + ts+11044 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -87301,7 +87808,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8454 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8469 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -87311,7 +87818,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+11088 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11103 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -87364,24 +87871,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+11115 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+11130 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, - ts+11299, /* "UPDATE %Q.sqlite..." */ + ts+11314, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+64, zDb, zName, zName, zName, nTabName, zTabName)) // If the sqlite_sequence table exists in this database, then update // it with the new table name. - if !(Xsqlite3FindTable(tls, db, ts+11604 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+11619 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+11620, /* "UPDATE \"%w\".sqli..." */ + ts+11635, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -87394,7 +87901,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+11678 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+11693 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -87412,7 +87919,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+11943 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+11958 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -87427,7 +87934,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, - ts+11956, /* "SELECT raise(ABO..." */ + ts+11971, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -87475,12 +87982,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // If there is a NOT NULL constraint, then the default value for the // column must not be NULL. if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11994 /* "Cannot add a PRI..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12009 /* "Cannot add a PRI..." */, 0) return } if (*Table)(unsafe.Pointer(pNew)).FpIndex != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+12026 /* "Cannot add a UNI..." */, 0) + ts+12041 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -87493,11 +88000,11 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if ((((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ForeignKeys)) != 0) && ((*Table)(unsafe.Pointer(pNew)).FpFKey != 0)) && (pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+12053 /* "Cannot add a REF..." */) + ts+12068 /* "Cannot add a REF..." */) } if ((*Column)(unsafe.Pointer(pCol)).FnotNull != 0) && !(pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+12112 /* "Cannot add a NOT..." */) + ts+12127 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -87513,12 +88020,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+12165 /* "Cannot add a col..." */) + ts+12180 /* "Cannot add a col..." */) } Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { - sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+12211 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+12226 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -87534,7 +88041,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+12238, /* "UPDATE \"%w\".sqli..." */ + ts+12253, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp, zDb, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zCol, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zTab)) Xsqlite3DbFree(tls, db, zCol) @@ -87605,7 +88112,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+12384 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12399 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -87614,7 +88121,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+12418 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12433 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -87649,7 +88156,7 @@ __6: nAlloc = ((((int32((*Table)(unsafe.Pointer(pNew)).FnCol) - 1) / 8) * 8) + 8) (*Table)(unsafe.Pointer(pNew)).FaCol = Xsqlite3DbMallocZero(tls, db, (uint64(uint32(unsafe.Sizeof(Column{})) * uint32(nAlloc)))) - (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+12448 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+12463 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(!(int32((*Table)(unsafe.Pointer(pNew)).FaCol) != 0) || !(int32((*Table)(unsafe.Pointer(pNew)).FzName) != 0)) { goto __7 } @@ -87696,18 +88203,18 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { - zType = ts + 12467 /* "view" */ + zType = ts + 12482 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 12472 /* "virtual table" */ + zType = ts + 12487 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+12486, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12501, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 12504 /* "drop column from" */ + return ts + 12519 /* "drop column from" */ } - return ts + 12521 /* "rename columns o..." */ + return ts + 12536 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -87800,13 +88307,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+8186 /* "no such column: ..." */, libc.VaList(bp, zOld)) + Xsqlite3ErrorMsg(tls, pParse, ts+8201 /* "no such column: ..." */, libc.VaList(bp, zOld)) goto exit_rename_column __10: ; // Ensure the schema contains no double-quoted strings - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+900 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+915 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iSchema == 1))) // Do the rename operation using a recursive UPDATE statement that @@ -87824,19 +88331,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+12539, /* "UPDATE \"%w\".sqli..." */ + ts+12554, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+8, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, - ts+12757, /* "UPDATE temp.sqli..." */ + ts+12772, /* "UPDATE temp.sqli..." */ libc.VaList(bp+72, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+11943 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+11958 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -88131,12 +88638,12 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui var zN uintptr = Xsqlite3_value_text(tls, pObject) var zErr uintptr - zErr = Xsqlite3_mprintf(tls, ts+12888, /* "error in %s %s%s..." */ + zErr = Xsqlite3_mprintf(tls, ts+12903, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - return ts + 12911 /* " " */ + return ts + 12926 /* " " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -88245,7 +88752,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // ALTER TABLE statement was quoted (bQuote==1), then set zNew to // point to zQuot so that all substitutions are made using the // quoted version of the new column name. - zQuot = Xsqlite3MPrintf(tls, db, ts+12913 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+12928 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -88295,12 +88802,12 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.Xmemcpy(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+12919 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+12934 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { - return ts + 12911 /* " " */ + return ts + 12926 /* " " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -88805,7 +89312,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+20 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+900 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+20 /* &sParse */) + renameColumnParseError(tls, context, ts+915 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+20 /* &sParse */) goto __45 __44: Xsqlite3_result_error_code(tls, context, rc) @@ -88985,7 +89492,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr } if rc != SQLITE_OK { if (*Parse)(unsafe.Pointer(bp+48 /* &sParse */)).FzErrMsg != 0 { - renameColumnParseError(tls, context, ts+900 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+48 /* &sParse */) + renameColumnParseError(tls, context, ts+915 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+48 /* &sParse */) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -89267,7 +89774,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+12924 /* "%.*s%s" */, libc.VaList(bp, ((int32((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int32(zSql))/1), zSql, zEnd)) + zNew = Xsqlite3MPrintf(tls, db, ts+12939 /* "%.*s%s" */, libc.VaList(bp, ((int32((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int32(zSql))/1), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -1, libc.UintptrFromInt32(-1)) Xsqlite3_free(tls, zNew) @@ -89355,7 +89862,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+8186 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8201 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -89365,12 +89872,12 @@ __6: if !((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*20)).FcolFlags) & (COLFLAG_PRIMKEY | COLFLAG_UNIQUE)) != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+12931, /* "cannot drop %s c..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12946, /* "cannot drop %s c..." */ libc.VaList(bp+8, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*20)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - return ts + 12959 /* "PRIMARY KEY" */ + return ts + 12974 /* "PRIMARY KEY" */ } - return ts + 8007 /* "UNIQUE" */ + return ts + 8022 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -89381,7 +89888,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+12971 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+12986 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) goto exit_drop_column __8: ; @@ -89390,15 +89897,15 @@ __8: iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+900 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+915 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+13019 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+13034 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+13140 /* "after drop colum..." */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+13155 /* "after drop colum..." */, 1) // Edit rows of table on disk if !(((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) && ((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*20)).FcolFlags) & COLFLAG_VIRTUAL) == 0)) { @@ -89509,11 +90016,11 @@ func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:109584:21: */ } var aAlterTableFuncs = [5]FuncDef{ - {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13158 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13179 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13199 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13218 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13237 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ + {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13173 /* "sqlite_rename_co..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13194 /* "sqlite_rename_ta..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13214 /* "sqlite_rename_te..." */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13233 /* "sqlite_drop_colu..." */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13252 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -89710,7 +90217,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // of the new table in register pParse->regRoot. This is important // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, - ts+13260 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) + ts+13275 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } @@ -89722,10 +90229,10 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, - ts+13283, /* "DELETE FROM %Q.%..." */ + ts+13298, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+13313 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+13328 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb) @@ -89746,9 +90253,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 13331 /* "sqlite_stat1" */, FzCols: ts + 13344 /* "tbl,idx,stat" */}, - {FzName: ts + 13357 /* "sqlite_stat4" */, FzCols: ts + 13370 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 13398 /* "sqlite_stat3" */}, + {FzName: ts + 13346 /* "sqlite_stat1" */, FzCols: ts + 13359 /* "tbl,idx,stat" */}, + {FzName: ts + 13372 /* "sqlite_stat4" */, FzCols: ts + 13385 /* "tbl,idx,neq,nlt,..." */}, + {FzName: ts + 13413 /* "sqlite_stat3" */}, } /* sqlite3.c:109773:5 */ // Recommended number of samples for sqlite_stat4 @@ -89980,7 +90487,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13411 /* "stat_init" */} /* sqlite3.c:110084:22 */ + FzName: ts + 13426 /* "stat_init" */} /* sqlite3.c:110084:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -90298,7 +90805,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13421 /* "stat_push" */} /* sqlite3.c:110374:22 */ + FzName: ts + 13436 /* "stat_push" */} /* sqlite3.c:110374:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -90355,7 +90862,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+13431, /* "%llu" */ + Xsqlite3_snprintf(tls, 24, zRet, ts+13446, /* "%llu" */ libc.VaList(bp, func() uint64 { if (*StatAccum)(unsafe.Pointer(p)).FnSkipAhead != 0 { return U64((*StatAccum)(unsafe.Pointer(p)).FnEst) @@ -90366,7 +90873,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+13436 /* " %llu" */, libc.VaList(bp+8, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+13451 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -90415,7 +90922,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+13442 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+13457 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -90432,7 +90939,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13448 /* "stat_get" */} /* sqlite3.c:110526:22 */ + FzName: ts + 13463 /* "stat_get" */} /* sqlite3.c:110526:22 */ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:110538:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, (regStat + 1)) @@ -90451,11 +90958,11 @@ func analyzeVdbeCommentIndexWithColumnName(tls *libc.TLS, v uintptr, pIdx uintpt i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(k)*2))) if i == (-1) { - Xsqlite3VdbeComment(tls, v, ts+10206 /* "%s.rowid" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10221 /* "%s.rowid" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else if i == (-2) { - Xsqlite3VdbeComment(tls, v, ts+13457 /* "%s.expr(%d)" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) + Xsqlite3VdbeComment(tls, v, ts+13472 /* "%s.expr(%d)" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) } else { - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*20)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*20)).FzName)) } } @@ -90500,7 +91007,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Do not gather statistics on views or virtual tables return } - if Xsqlite3_strlike(tls, ts+13469 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, ts+13484 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { // Do not gather statistics on system tables return } @@ -90518,7 +91025,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp return } (*Table)(unsafe.Pointer(pStat1)).FzName = (pStat1 + 1*76) - libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+13331 /* "sqlite_stat1" */, uint32(13)) + libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+13346 /* "sqlite_stat1" */, uint32(13)) (*Table)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*Table)(unsafe.Pointer(pStat1)).FiPKey = int16(-1) Xsqlite3VdbeAddOp4(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Noop, 0, 0, 0, pStat1, -17) @@ -90569,7 +91076,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Populate the register containing the index name. Xsqlite3VdbeLoadString(tls, v, regIdxname, zIdxName) - Xsqlite3VdbeComment(tls, v, ts+13479 /* "Analysis for %s...." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zIdxName)) + Xsqlite3VdbeComment(tls, v, ts+13494 /* "Analysis for %s...." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zIdxName)) // Pseudo-code for loop that calls stat_push(): // @@ -90616,7 +91123,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iIdxCur, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) // Invoke the stat_init() function. The arguments are: // @@ -90753,7 +91260,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Add the entry to the stat1 table. callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13498 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13513 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP4(tls, v, -1, pStat1, -6) @@ -90810,12 +91317,12 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Create a single sqlite_stat1 entry containing NULL as the index // name and the row count as the content. if (pOnlyIdx == uintptr(0)) && (needTableCnt != 0) { - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeAddOp2(tls, v, OP_Count, iTabCur, regStat1) jZeroRows = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, regStat1) Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regIdxname) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13498 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13513 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -90868,9 +91375,9 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) iStatCur = (*Parse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 40 /* &.nTab */)) += (3) if pOnlyIdx != 0 { - openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+13502 /* "idx" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+13517 /* "idx" */) } else { - openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13506 /* "tbl" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13521 /* "tbl" */) } analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1), (*Parse)(unsafe.Pointer(pParse)).FnTab) loadAnalysis(tls, pParse, iDb) @@ -90965,7 +91472,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 900 /* "" */ + z = ts + 915 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -90987,15 +91494,15 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.bUnordered */, uint32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.noSkipScan */, uint32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, ts+13510 /* "unordered*" */, z) == 0 { + if Xsqlite3_strglob(tls, ts+13525 /* "unordered*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.bUnordered */, uint32(1), 2, 0x4) - } else if Xsqlite3_strglob(tls, ts+13521 /* "sz=[0-9]*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+13536 /* "sz=[0-9]*" */, z) == 0 { var sz int32 = Xsqlite3Atoi(tls, (z + uintptr(3))) if sz < 2 { sz = 2 } (*Index)(unsafe.Pointer(pIndex)).FszIdxRow = Xsqlite3LogEst(tls, uint64(sz)) - } else if Xsqlite3_strglob(tls, ts+13531 /* "noskipscan*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+13546 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56 /* &.noSkipScan */, uint32(1), 6, 0x40) } for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { @@ -91314,10 +91821,10 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:111438:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines - if Xsqlite3FindTable(tls, db, ts+13357 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+13372 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+13543, /* "SELECT idx,count..." */ - ts+13597, /* "SELECT idx,neq,n..." */ + ts+13558, /* "SELECT idx,count..." */ + ts+13612, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -91368,9 +91875,9 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // Load new statistics out of the sqlite_stat1 table (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).Fdb = db (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+13331 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { + if Xsqlite3FindTable(tls, db, ts+13346 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+13649 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) + ts+13664 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { @@ -91462,7 +91969,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // database iDb attached to handle db. func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:111595:20: */ return (libc.Bool32((Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zName) == 0) || - ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+8551 /* "main" */, zName) == 0)))) + ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+8566 /* "main" */, zName) == 0)))) } // An SQL user-function registered to do the work of an ATTACH statement. The @@ -91513,13 +92020,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 900 /* "" */ + zFile = ts + 915 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 900 /* "" */ + zName = ts + 915 /* "" */ __2: ; @@ -91529,7 +92036,7 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+5720 /* "memdb" */) + *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+5735 /* "memdb" */) if !(*(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)) == uintptr(0)) { goto __5 } @@ -91545,7 +92052,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)), ts+13690 /* "x\x00" */, db, (pNew + 4 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pVfs */)), ts+13705 /* "x\x00" */, db, (pNew + 4 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -91558,7 +92065,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13693, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13708, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -91572,7 +92079,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13730 /* "database %s is a..." */, libc.VaList(bp+8, zName)) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13745 /* "database %s is a..." */, libc.VaList(bp+8, zName)) goto attach_error __11: ; @@ -91643,7 +92150,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13760 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13775 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -91660,7 +92167,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+13789 /* "attached databas..." */, 0) + ts+13804 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -91730,13 +92237,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+7984 /* "out of memory" */, 0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+7999 /* "out of memory" */, 0) goto __31 __30: if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13857 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13872 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) __32: ; __31: @@ -91792,7 +92299,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 900 /* "" */ + zName = ts + 915 /* "" */ __1: ; i = 0 @@ -91824,14 +92331,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13885 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13900 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13906 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13921 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -91839,7 +92346,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13932 /* "database %s is l..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13947 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -91962,7 +92469,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13954 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 13969 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -91975,7 +92482,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13968 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ + FzName: ts + 13983 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ @@ -91990,7 +92497,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer((*DbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit.Fbusy != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } else { - Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+13982 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) + Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+13997 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) return WRC_Abort } } @@ -92023,7 +92530,7 @@ __1: if (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != Xsqlite3FindDbName(tls, db, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) { Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, - ts+14006, /* "%s %T cannot ref..." */ + ts+14021, /* "%s %T cannot ref..." */ libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType, (*DbFixer)(unsafe.Pointer(pFix)).FpName, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return WRC_Abort } @@ -92222,7 +92729,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112233:13: */ - Xsqlite3ErrorMsg(tls, pParse, ts+14052 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14067 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -92246,11 +92753,11 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 352 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - var z uintptr = Xsqlite3_mprintf(tls, ts+10215 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) + var z uintptr = Xsqlite3_mprintf(tls, ts+10230 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+14075 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+14090 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+14081 /* "access to %z is ..." */, libc.VaList(bp+32, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+14096 /* "access to %z is ..." */, libc.VaList(bp+32, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -92302,7 +92809,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*20)).FzName } else { - zCol = ts + 9781 /* "ROWID" */ + zCol = ts + 9796 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -92334,7 +92841,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 352 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+14108 /* "not authorized" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14123 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_OK) && (rc != SQLITE_IGNORE) { rc = SQLITE_DENY @@ -92519,7 +93026,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112554:2 if int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0 { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) } - Xsqlite3VdbeComment(tls, v, ts+14123 /* "usesStmtJournal=..." */, libc.VaList(bp, (libc.Bool32(((*Parse)(unsafe.Pointer(pParse)).FmayAbort != 0) && ((*Parse)(unsafe.Pointer(pParse)).FisMultiWrite != 0))))) + Xsqlite3VdbeComment(tls, v, ts+14138 /* "usesStmtJournal=..." */, libc.VaList(bp, (libc.Bool32(((*Parse)(unsafe.Pointer(pParse)).FmayAbort != 0) && ((*Parse)(unsafe.Pointer(pParse)).FisMultiWrite != 0))))) } for i = 0; i < (*Parse)(unsafe.Pointer(pParse)).FnVtabLock; i++ { var vtab uintptr = Xsqlite3GetVTable(tls, db, *(*uintptr)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).FapVtabLock + uintptr(i)*4))) @@ -92647,25 +93154,25 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb { // No match against the official names. But always match "main" // to schema 0 as a legacy fallback. - if Xsqlite3StrICmp(tls, zDatabase, ts+8551 /* "main" */) == 0 { + if Xsqlite3StrICmp(tls, zDatabase, ts+8566 /* "main" */) == 0 { i = 0 } else { return uintptr(0) } } p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*16)).FpSchema + 8 /* &.tblHash */), zName) - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10346 /* "sqlite_" */, 7) == 0) { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10361 /* "sqlite_" */, 7) == 0) { if i == 1 { - if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14142 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14161 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+7759 /* "sqlite_master" */ +7)) == 0) { + if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14157 /* "sqlite_temp_sche..." */ +7)) == 0) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14176 /* "sqlite_schema" */ +7)) == 0)) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+7774 /* "sqlite_master" */ +7)) == 0) { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 8 /* &.tblHash */), - ts+14175 /* "sqlite_temp_mast..." */) + ts+14190 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14161 /* "sqlite_schema" */ +7)) == 0 { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14176 /* "sqlite_schema" */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*16)).FpSchema + 8 /* &.tblHash */), - ts+7759 /* "sqlite_master" */) + ts+7774 /* "sqlite_master" */) } } } @@ -92688,12 +93195,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10346 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14161 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+7759 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14142 /* "sqlite_temp_sche..." */ +7)) == 0 { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10361 /* "sqlite_" */, 7) == 0) { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14176 /* "sqlite_schema" */ +7)) == 0 { + p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+7774 /* "sqlite_master" */) + } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14157 /* "sqlite_temp_sche..." */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 8 /* &.tblHash */), - ts+14175 /* "sqlite_temp_mast..." */) + ts+14190 /* "sqlite_temp_mast..." */) } } } @@ -92729,7 +93236,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // can be an eponymous virtual table. if (int32((*Parse)(unsafe.Pointer(pParse)).FdisableVtab) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { var pMod uintptr = Xsqlite3HashFind(tls, (db + 376 /* &.aModule */), zName) - if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+14194 /* "pragma_" */, 7) == 0) { + if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+14209 /* "pragma_" */, 7) == 0) { pMod = Xsqlite3PragmaVtabRegister(tls, db, zName) } if (pMod != 0) && (Xsqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0) { @@ -92747,14 +93254,14 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if p == uintptr(0) { var zMsg uintptr if (flags & U32(LOCATE_VIEW)) != 0 { - zMsg = ts + 14202 /* "no such view" */ + zMsg = ts + 14217 /* "no such view" */ } else { - zMsg = ts + 14215 /* "no such table" */ + zMsg = ts + 14230 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+8744 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+8759 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+8754 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+8769 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -93067,7 +93574,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // writing. The table is opened using cursor 0. func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:113223:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) - Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+7759 /* "sqlite_master" */) + Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+7774 /* "sqlite_master" */) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) if (*Parse)(unsafe.Pointer(p)).FnTab == 0 { (*Parse)(unsafe.Pointer(p)).FnTab = 1 @@ -93094,7 +93601,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql } // "main" is always an acceptable alias for the primary database // even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. - if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+8551 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+8566 /* "main" */, zName)) { goto __3 } @@ -93147,13 +93654,13 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if (*Token)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14229 /* "corrupt database" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14244 /* "corrupt database" */, 0) return -1 } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = Xsqlite3FindDb(tls, db, pName1) if iDb < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14246 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+14261 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -93194,13 +93701,13 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType if ((Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit))) != 0) || (Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 1*4))) != 0)) || (Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 2*4))) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+900 /* "" */, 0) // corruptSchema() will supply the error + Xsqlite3ErrorMsg(tls, pParse, ts+915 /* "" */, 0) // corruptSchema() will supply the error return SQLITE_ERROR } } else { - if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+10346 /* "sqlite_" */, 7))) || + if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+10361 /* "sqlite_" */, 7))) || ((Xsqlite3ReadOnlyShadowTables(tls, db) != 0) && (Xsqlite3ShadowTableName(tls, db, zName) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14266, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14281, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -93369,9 +93876,9 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui iDb = int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) zName = Xsqlite3DbStrDup(tls, db, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 @@ -93389,7 +93896,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+14308 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14323 /* "temporary table ..." */, 0) return __4: ; @@ -93417,9 +93924,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 12467 /* "view" */ + return ts + 12482 /* "view" */ } - return ts + 8454 /* "table" */ + return ts + 8469 /* "table" */ }(), zName) != 0) { goto __8 } @@ -93436,9 +93943,9 @@ __9: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (isTemp == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -93476,7 +93983,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+14349 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+14364 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) goto __16 __15: ; @@ -93490,7 +93997,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+14373 /* "there is already..." */, libc.VaList(bp+8, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14388 /* "there is already..." */, libc.VaList(bp+8, zName)) goto begin_table_error __17: ; @@ -93606,7 +94113,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:113716:13: */ var pHash uintptr pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 40 /* &.trigHash */) - Xsqlite3HashInsert(tls, pHash, ts+14408 /* "sqlite_returning" */, uintptr(0)) + Xsqlite3HashInsert(tls, pHash, ts+14423 /* "sqlite_returning" */, uintptr(0)) Xsqlite3ExprListDelete(tls, db, (*Returning)(unsafe.Pointer(pRet)).FpReturnEL) Xsqlite3DbFree(tls, db, pRet) } @@ -93630,7 +94137,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Parse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14425 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14440 /* "cannot use RETUR..." */, 0) } else { } @@ -93651,7 +94158,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 14408 /* "sqlite_returning" */ + (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 14423 /* "sqlite_returning" */ (*Returning)(unsafe.Pointer(pRet)).FretTrig.Fop = U8(TK_RETURNING) (*Returning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = U8(TRIGGER_AFTER) (*Returning)(unsafe.Pointer(pRet)).FretTrig.FbReturning = U8(1) @@ -93663,7 +94170,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql (*Returning)(unsafe.Pointer(pRet)).FretTStep.FpExprList = pList pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema + 40 /* &.trigHash */) - if Xsqlite3HashInsert(tls, pHash, ts+14408 /* "sqlite_returning" */, (pRet+8 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+14423 /* "sqlite_returning" */, (pRet+8 /* &.retTrig */)) == (pRet + 8 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -93691,7 +94198,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp return } if (int32((*Table)(unsafe.Pointer(p)).FnCol) + 1) > *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14459 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14474 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } z = Xsqlite3DbMallocRaw(tls, db, (uint64(((*Token)(unsafe.Pointer(pName)).Fn + (*Token)(unsafe.Pointer(pType)).Fn) + uint32(2)))) @@ -93707,7 +94214,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*20)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*20)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14482 /* "duplicate column..." */, libc.VaList(bp+8, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+14497 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -93881,11 +94388,11 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar var isInit int32 = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) != 1))) pCol = ((*Table)(unsafe.Pointer(p)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(p)).FnCol)-1))*20) if !(Xsqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14508, /* "default value of..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14523, /* "default value of..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14553 /* "cannot use DEFAU..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14568 /* "cannot use DEFAU..." */, 0) } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. @@ -93935,7 +94442,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+14594 /* "generated column..." */, 0) + ts+14609 /* "generated column..." */, 0) } } @@ -93980,7 +94487,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+14646 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+14661 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit __2: ; @@ -94040,7 +94547,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+900 /* "" */), ts+14687 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+915 /* "" */), ts+14702 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -94068,7 +94575,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+14695 /* "AUTOINCREMENT is..." */, 0) + ts+14710 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -94172,7 +94679,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+14751 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14766 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -94185,13 +94692,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+14794 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+14809 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { goto __5 } // no-op goto __6 __5: - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+14802 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+14817 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { goto __7 } eType = U8(COLFLAG_STORED) @@ -94224,7 +94731,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+14809, /* "error in generat..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14824, /* "error in generat..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) generated_done: Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -94366,13 +94873,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 900 /* "" */ - zSep2 = ts + 14840 /* "," */ - zEnd = ts + 6872 /* ")" */ + zSep = ts + 915 /* "" */ + zSep2 = ts + 14855 /* "," */ + zEnd = ts + 6887 /* ")" */ } else { - zSep = ts + 14842 /* "\n " */ - zSep2 = ts + 14846 /* ",\n " */ - zEnd = ts + 14851 /* "\n)" */ + zSep = ts + 14857 /* "\n " */ + zSep2 = ts + 14861 /* ",\n " */ + zEnd = ts + 14866 /* "\n)" */ } n = n + (35 + (6 * int32((*Table)(unsafe.Pointer(p)).FnCol))) zStmt = Xsqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -94380,7 +94887,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+14854 /* "CREATE TABLE " */, 0) + Xsqlite3_snprintf(tls, n, zStmt, ts+14869 /* "CREATE TABLE " */, 0) *(*int32)(unsafe.Pointer(bp + 8 /* k */)) = Xsqlite3Strlen30(tls, zStmt) identPut(tls, zStmt, bp+8 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = int8('(') @@ -94414,16 +94921,16 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+936 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+951 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } var azType1 = [5]uintptr{ - /* SQLITE_AFF_BLOB */ ts + 900, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 14868, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 14874, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 14879, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 14884, /* " REAL" */ + /* SQLITE_AFF_BLOB */ ts + 915, /* "" */ + /* SQLITE_AFF_TEXT */ ts + 14883, /* " TEXT" */ + /* SQLITE_AFF_NUMERIC */ ts + 14889, /* " NUM" */ + /* SQLITE_AFF_INTEGER */ ts + 14894, /* " INT" */ + /* SQLITE_AFF_REAL */ ts + 14899, /* " REAL" */ } /* sqlite3.c:114391:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK @@ -94860,7 +95367,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // table itself. So mark it read-only. if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { if pSelect != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+900 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+915 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -94873,11 +95380,11 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (int32(tabOpts) & TF_WithoutRowid) != 0 { if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+14890 /* "AUTOINCREMENT no..." */, 0) + ts+14905 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14940 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14955 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } *(*U32)(unsafe.Pointer(p + 36 /* &.tabFlags */)) |= (U32(TF_WithoutRowid | TF_NoVisibleRowid)) @@ -94921,7 +95428,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14972 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14987 /* "must have at lea..." */, 0) return } } @@ -94954,12 +95461,12 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // Initialize zType for the new view or table. if (*Table)(unsafe.Pointer(p)).FpSelect == uintptr(0) { // A regular table - zType = ts + 8454 /* "table" */ - zType2 = ts + 15016 /* "TABLE" */ + zType = ts + 8469 /* "table" */ + zType2 = ts + 15031 /* "TABLE" */ } else { // A view - zType = ts + 12467 /* "view" */ - zType2 = ts + 15022 /* "VIEW" */ + zType = ts + 12482 /* "view" */ + zType2 = ts + 15037 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -95040,7 +95547,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+15027 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+15042 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -95048,7 +95555,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+15042, /* "UPDATE %Q.sqlite..." */ + ts+15057, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, @@ -95066,14 +95573,14 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+15140, /* "CREATE TABLE %Q...." */ + ts+15155, /* "CREATE TABLE %Q...." */ libc.VaList(bp+88, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+15182 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+15197 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -95094,7 +95601,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // then record a pointer to this table in the main database structure // so that INSERT can find the table easily. - if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+11604 /* "sqlite_sequence" */) == 0 { + if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+11619 /* "sqlite_sequence" */) == 0 { (*Schema)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -95131,7 +95638,7 @@ func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui if !(int32((*Parse)(unsafe.Pointer(pParse)).FnVar) > 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+15216 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15231 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -95153,7 +95660,7 @@ __2: Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp /* &pName */) iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(p)).FpSchema) - Xsqlite3FixInit(tls, bp+4 /* &sFix */, pParse, iDb, ts+12467 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) + Xsqlite3FixInit(tls, bp+4 /* &sFix */, pParse, iDb, ts+12482 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) if !(Xsqlite3FixSelect(tls, bp+4 /* &sFix */, pSelect) != 0) { goto __3 } @@ -95270,7 +95777,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i // CREATE TEMP VIEW ex1 AS SELECT a FROM ex1; // SELECT * FROM temp.ex1; if int32((*Table)(unsafe.Pointer(pTable)).FnCol) < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+15252 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15267 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) return 1 } @@ -95412,7 +95919,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) if iTable < 2 { - Xsqlite3ErrorMsg(tls, pParse, ts+15282 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15297 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -95426,7 +95933,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+15297, /* "UPDATE %Q.sqlite..." */ + ts+15312, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb+uintptr(iDb)*16)).FzDbSName, iTable, r1, r1)) Xsqlite3ReleaseTempReg(tls, pParse, r1) } @@ -95490,10 +95997,10 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint for i = 1; i <= 4; i++ { // var zTab [24]int8 at bp+40, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+15364 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+15379 /* "sqlite_stat%d" */, libc.VaList(bp, i)) if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+40 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+13283, /* "DELETE FROM %Q.%..." */ + ts+13298, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } @@ -95533,7 +96040,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // move as a result of the drop (can happen in auto-vacuum mode). if ((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+15378, /* "DELETE FROM %Q.s..." */ + ts+15393, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -95545,7 +96052,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+15423, /* "DELETE FROM %Q.s..." */ + ts+15438, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) @@ -95575,11 +96082,11 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Return true if it is not allowed to drop the given table func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:115607:12: */ - if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10346 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+4653 /* "stat" */, 4) == 0 { + if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10361 /* "sqlite_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+4668 /* "stat" */, 4) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+9243 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+9258 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -95660,9 +96167,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName zArg2 = uintptr(0) @@ -95722,7 +96229,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+15490 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15505 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __19: ; @@ -95732,14 +96239,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+15518 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15533 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+15552 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15567 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -95754,7 +96261,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+13506 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+13521 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -95819,7 +96326,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+15584, /* "foreign key on %..." */ + ts+15599, /* "foreign key on %..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(iCol)*20)).FzName, pTo)) goto fk_end __5: @@ -95832,7 +96339,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+15647 /* "number of column..." */, 0) + ts+15662 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -95916,7 +96423,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+15741, /* "unknown column \"..." */ + ts+15756, /* "unknown column \"..." */ libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*20)).FzEName)) goto fk_end __23: @@ -96166,12 +96673,12 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pList)).FnExpr; i++ { if (uint32(int32(*(*uint8)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*20 + 12 /* &.bNulls */)) & 0x20 >> 5))) != 0 { var sf U8 = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*20)).FsortFlags - Xsqlite3ErrorMsg(tls, pParse, ts+15787, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+15802, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 15815 /* "FIRST" */ + return ts + 15830 /* "FIRST" */ } - return ts + 15821 /* "LAST" */ + return ts + 15836 /* "LAST" */ }())) return 1 } @@ -96329,7 +96836,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+132 /* &sFix */, pParse, iDb, ts+8460 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) + Xsqlite3FixInit(tls, bp+132 /* &sFix */, pParse, iDb, ts+8475 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+132 /* &sFix */, pTblName) != 0) { goto __10 } @@ -96350,7 +96857,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+15826, /* "cannot create a ..." */ + ts+15841, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -96377,26 +96884,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10346 /* "sqlite_" */, 7) == 0) && + if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10361 /* "sqlite_" */, 7) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0)) && (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+15876 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15891 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+15904 /* "views may not be..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15919 /* "views may not be..." */, 0) goto exit_create_index __16: ; if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+15929 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15944 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -96423,7 +96930,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8460 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8475 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { goto __21 } goto exit_create_index @@ -96438,7 +96945,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+15963 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15978 /* "there is already..." */, libc.VaList(bp+16, zName)) goto exit_create_index __24: ; @@ -96450,7 +96957,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+15997 /* "index %s already..." */, libc.VaList(bp+24, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16012 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -96479,7 +96986,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+16021 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+16036 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -96508,9 +97015,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -96554,7 +97061,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+8460 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+8475 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -96671,7 +97178,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+16044 /* "expressions proh..." */, 0) + ts+16059 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -96900,7 +97407,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+16105 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) + ts+16120 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -96956,7 +97463,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+16147 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16162 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -97014,12 +97521,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+16164, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+16179, /* "CREATE%s INDEX %..." */ libc.VaList(bp+56, func() uintptr { if onError == OE_None { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 16184 /* " UNIQUE" */ + return ts + 16199 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: @@ -97031,7 +97538,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+16192, /* "INSERT INTO %Q.s..." */ + ts+16207, /* "INSERT INTO %Q.s..." */ libc.VaList(bp+80, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -97047,7 +97554,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+16251 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+16266 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -97231,7 +97738,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+16278 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+16293 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __5 __4: Xsqlite3CodeVerifyNamedSchema(tls, pParse, (*SrcItem)(unsafe.Pointer((pName + 8 /* &.a */))).FzDatabase) @@ -97246,7 +97753,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+16296 /* "index associated..." */, libc.VaList(bp+8, 0)) + ts+16311 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -97257,9 +97764,9 @@ __6: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -97287,9 +97794,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+16369, /* "DELETE FROM %Q.s..." */ + ts+16384, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) - sqlite3ClearStatTables(tls, pParse, iDb, ts+13502 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+13517 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) Xsqlite3VdbeAddOp4(tls, v, OP_DropIndex, iDb, 0, 0, (*Index)(unsafe.Pointer(pIndex)).FzName, 0) @@ -97440,7 +97947,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*SrcList)(unsafe.Pointer(pSrc)).FnSrc + nExtra) >= SQLITE_MAX_SRCLIST { - Xsqlite3ErrorMsg(tls, pParse, ts+16429, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+16444, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -97652,12 +98159,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+16465, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+16480, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 16501 /* "ON" */ + return ts + 16516 /* "ON" */ } - return ts + 16504 /* "USING" */ + return ts + 16519 /* "USING" */ }())) goto append_from_error __1: @@ -97785,7 +98292,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+16510 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { + if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+16525 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { return } v = Xsqlite3GetVdbe(tls, pParse) @@ -97821,9 +98328,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 16516 /* "ROLLBACK" */ + return ts + 16531 /* "ROLLBACK" */ } - return ts + 16525 /* "COMMIT" */ + return ts + 16540 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -97848,7 +98355,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 16510 /* "BEGIN" */, ts + 16532 /* "RELEASE" */, ts + 16516 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ +var az = [3]uintptr{ts + 16525 /* "BEGIN" */, ts + 16547 /* "RELEASE" */, ts + 16531 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. @@ -97864,7 +98371,7 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp /* &pBt */, 0, flags) if rc != SQLITE_OK { Xsqlite3ErrorMsg(tls, pParse, - ts+16540 /* "unable to open a..." */, 0) + ts+16555 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -98007,17 +98514,17 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx Xsqlite3StrAccumInit(tls, bp+8 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 112 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+16610 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+16625 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*20)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+16621 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+16636 /* ", " */, 2) } Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+913 /* "." */, 1) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+928 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } @@ -98040,11 +98547,11 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr var rc int32 if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*20)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10206 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10221 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -98187,7 +98694,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+16624 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16639 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -98297,7 +98804,7 @@ func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) var i int32 for i = 0; i < (*With)(unsafe.Pointer(pWith)).FnCte; i++ { if Xsqlite3StrICmp(tls, zName, (*Cte)(unsafe.Pointer((pWith+12 /* &.a */)+uintptr(i)*24)).FzName) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+16670 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16685 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -98531,7 +99038,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+16700 /* "no such collatio..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16715 /* "no such collatio..." */, libc.VaList(bp, zName)) (*Parse)(unsafe.Pointer(pParse)).Frc = (SQLITE_ERROR | (int32(1) << 8)) } return p @@ -98897,11 +99404,11 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 defer tls.Free(16) if tabIsReadOnly(tls, pParse, pTab) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+16731 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16746 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+16760 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16775 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -99494,7 +100001,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+16798 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+16813 /* "rows deleted" */, uintptr(0)) __61: ; @@ -99639,7 +100146,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri } return 0 }()) - if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13331 /* "sqlite_stat1" */)) { + if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13346 /* "sqlite_stat1" */)) { Xsqlite3VdbeAppendP4(tls, v, pTab, -6) } if int32(eMode) != ONEPASS_OFF { @@ -99917,7 +100424,7 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 8071 /* "integer" */, ts + 8066 /* "real" */, ts + 16811 /* "text" */, ts + 16816 /* "blob" */, ts + 8061 /* "null" */} /* sqlite3.c:119398:21 */ +var azType2 = [5]uintptr{ts + 8086 /* "integer" */, ts + 8081 /* "real" */, ts + 16826 /* "text" */, ts + 16831 /* "blob" */, ts + 8076 /* "null" */} /* sqlite3.c:119398:21 */ // Implementation of the length() function func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119418:13: */ @@ -99981,7 +100488,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // IMP: R-31676-45509 If X is the integer -9223372036854775808 // then abs(X) throws an integer overflow error since there is no // equivalent positive 64-bit two complement value. - Xsqlite3_result_error(tls, context, ts+16821 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+16836 /* "integer overflow" */, -1) return } iVal = -iVal @@ -100319,7 +100826,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+16838 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+16853 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -100771,7 +101278,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 8*4)) { - Xsqlite3_result_error(tls, context, ts+16843 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+16858 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -100783,7 +101290,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } if Xsqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp /* zEsc */)), -1) != 1 { Xsqlite3_result_error(tls, context, - ts+16876 /* "ESCAPE expressio..." */, -1) + ts+16891 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -100850,7 +101357,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))) } // Implementation of the sqlite_compileoption_used() function. @@ -100907,10 +101414,10 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // var zBuf [50]int8 at bp+16, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+6792 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+6807 /* "%!.15g" */, libc.VaList(bp, r1)) Xsqlite3AtoF(tls, bp+16 /* &zBuf[0] */, bp+72 /* &r2 */, 20, uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp + 72 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+16921 /* "%!.20e" */, libc.VaList(bp+8, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+16936 /* "%!.20e" */, libc.VaList(bp+8, r1)) } Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -100984,7 +101491,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+901 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+916 /* "NULL" */, 4, uintptr(0)) break } @@ -101295,7 +101802,7 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:120648:27 */ -var azOne = [1]uintptr{uintptr(ts + 12911 /* " " */)} /* sqlite3.c:120649:26 */ +var azOne = [1]uintptr{uintptr(ts + 12926 /* " " */)} /* sqlite3.c:120649:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -101316,7 +101823,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = ts + 900 /* "" */ + zIn = ts + 915 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -101342,7 +101849,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else { // IMP: R-64894-50321 The string "?000" is returned if the argument // is NULL or contains no ASCII alphabetic characters. - Xsqlite3_result_text(tls, context, ts+16928 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+16943 /* "?000" */, 4, uintptr(0)) } } @@ -101370,7 +101877,7 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // Disallow the load_extension() SQL function unless the SQLITE_LoadExtFunc // flag is set. See the sqlite3_enable_load_extension() API. if ((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_LoadExtFunc)) == uint64(0) { - Xsqlite3_result_error(tls, context, ts+14108 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+14123 /* "not authorized" */, -1) return } @@ -101458,7 +101965,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:120889:13: */ p = Xsqlite3_aggregate_context(tls, context, 0) if (p != 0) && ((*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0)) { if (*SumCtx)(unsafe.Pointer(p)).Foverflow != 0 { - Xsqlite3_result_error(tls, context, ts+16821 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+16836 /* "integer overflow" */, -1) } else if (*SumCtx)(unsafe.Pointer(p)).Fapprox != 0 { Xsqlite3_result_double(tls, context, (*SumCtx)(unsafe.Pointer(p)).FrSum) } else { @@ -101612,7 +102119,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zSep = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) nSep = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) } else { - zSep = ts + 14840 /* "," */ + zSep = ts + 14855 /* "," */ nSep = 1 } if zSep != 0 { @@ -101690,7 +102197,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:121112:13: // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:121135:21: */ - var rc int32 = Xsqlite3_overload_function(tls, db, ts+16933 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+16948 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -101710,14 +102217,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+16939 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+16954 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3CreateFunc(tls, db, ts+16939 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+16954 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16939 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16939 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16954 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16954 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) } // pExpr points to an expression which implements a function. If @@ -101822,76 +102329,76 @@ func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:121427:21: * var aBuiltinFunc = [68]FuncDef{ //**** Functions only available with SQLITE_TESTCTRL_INTERNAL_FUNCTIONS **** - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_implies_nonnull_row), FxSFunc: 0, FzName: ts + 16944 /* "implies_nonnull_..." */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_compare), FxSFunc: 0, FzName: ts + 16964 /* "expr_compare" */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_implies_expr), FxSFunc: 0, FzName: ts + 16977 /* "expr_implies_exp..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_implies_nonnull_row), FxSFunc: 0, FzName: ts + 16959 /* "implies_nonnull_..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_compare), FxSFunc: 0, FzName: ts + 16979 /* "expr_compare" */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_expr_implies_expr), FxSFunc: 0, FzName: ts + 16992 /* "expr_implies_exp..." */}, //**** Regular functions **** - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 16995 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17003 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17003 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17018 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17044 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 17069 /* "unlikely" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 17078 /* "likelihood" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 17089 /* "likely" */}, - {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17096 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 17110 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 17110 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 17116 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 17116 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 17122 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 17122 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17127 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17127 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17127 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 17131 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FzName: ts + 17131 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(1), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17131 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17135 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 17142 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17149 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17155 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17162 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17170 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17175 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17179 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17179 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17185 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17191 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17197 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17201 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17208 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17215 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17226 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17233 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17248 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17265 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17276 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17282 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17300 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17308 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17322 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17330 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17339 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17339 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17346 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17346 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17356 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17360 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17366 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17370 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17370 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17376 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17376 /* "group_concat" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17010 /* "soundex" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17018 /* "load_extension" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17018 /* "load_extension" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17033 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17059 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 17084 /* "unlikely" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 17093 /* "likelihood" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(INLINEFUNC_unlikely), FxSFunc: 0, FzName: ts + 17104 /* "likely" */}, + {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17111 /* "sqlite_offset" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 17125 /* "ltrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 17125 /* "ltrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 17131 /* "rtrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(2), FxSFunc: 0, FzName: ts + 17131 /* "rtrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 17137 /* "trim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(3), FxSFunc: 0, FzName: ts + 17137 /* "trim" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17142 /* "min" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17142 /* "min" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17142 /* "min" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FxSFunc: 0, FzName: ts + 17146 /* "max" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(1), FzName: ts + 17146 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(1), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17146 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17150 /* "typeof" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 17157 /* "length" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17164 /* "instr" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17170 /* "printf" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17177 /* "unicode" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17185 /* "char" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17190 /* "abs" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17194 /* "round" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17194 /* "round" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17200 /* "upper" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17206 /* "lower" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17212 /* "hex" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17216 /* "ifnull" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17223 /* "random" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17230 /* "randomblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17241 /* "nullif" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17248 /* "sqlite_version" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17263 /* "sqlite_source_id" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17280 /* "sqlite_log" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17291 /* "quote" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17297 /* "last_insert_rowi..." */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17315 /* "changes" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17323 /* "total_changes" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17337 /* "replace" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17345 /* "zeroblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17354 /* "substr" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17354 /* "substr" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17361 /* "substring" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17361 /* "substring" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17371 /* "sum" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17375 /* "total" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17381 /* "avg" */}, + {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17385 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17385 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17391 /* "group_concat" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17391 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 17389 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16939 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16939 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17394 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17394 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17403 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17394 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 17408 /* "iif" */}} /* sqlite3.c:121438:18 */ + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 17404 /* "glob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16954 /* "like" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16954 /* "like" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17409 /* "coalesce" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17409 /* "coalesce" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17418 /* "sign" */}, + {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17409 /* "coalesce" */}, + {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(INLINEFUNC_iif), FxSFunc: 0, FzName: ts + 17423 /* "iif" */}} /* sqlite3.c:121438:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -102177,7 +102684,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey if !(pIdx != 0) { if !(int32((*Parse)(unsafe.Pointer(pParse)).FdisableTriggers) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+17412, /* "foreign key mism..." */ + ts+17427, /* "foreign key mism..." */ libc.VaList(bp, (*Table)(unsafe.Pointer((*FKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*FKey)(unsafe.Pointer(pFKey)).FzTo)) } Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiCol) @@ -103073,8 +103580,8 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, } for i = 0; i < (*FKey)(unsafe.Pointer(pFKey)).FnCol; i++ { - *(*Token)(unsafe.Pointer(bp + 24 /* tOld */)) = Token{Fz: ts + 8560 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 32 /* tNew */)) = Token{Fz: ts + 8556 /* "new" */, Fn: uint32(3)} // Literal "new" token + *(*Token)(unsafe.Pointer(bp + 24 /* tOld */)) = Token{Fz: ts + 8575 /* "old" */, Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 32 /* tNew */)) = Token{Fz: ts + 8571 /* "new" */, Fn: uint32(3)} // Literal "new" token // var tFromCol Token at bp+16, 8 // Name of column in child table // var tToCol Token at bp+8, 8 @@ -103162,7 +103669,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, (*Token)(unsafe.Pointer(bp + 40 /* &tFrom */)).Fz = zFrom (*Token)(unsafe.Pointer(bp + 40 /* &tFrom */)).Fn = uint32(nFrom) - pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+7053 /* "FOREIGN KEY cons..." */) + pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+7068 /* "FOREIGN KEY cons..." */) if pRaise != 0 { (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -103341,13 +103848,13 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa }(), (*Table)(unsafe.Pointer(pTab)).FzName) if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { Xsqlite3VdbeAddOp4Int(tls, v, opcode, iCur, int32((*Table)(unsafe.Pointer(pTab)).Ftnum), iDb, int32((*Table)(unsafe.Pointer(pTab)).FnNVCol)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) } else { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) Xsqlite3VdbeAddOp3(tls, v, opcode, iCur, int32((*Index)(unsafe.Pointer(pPk)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pPk) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } } @@ -103595,7 +104102,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10176 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+10191 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) } (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -104159,7 +104666,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+17457, /* "cannot INSERT in..." */ + ts+17472, /* "cannot INSERT in..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*20)).FzName)) goto insert_cleanup __24: @@ -104184,7 +104691,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+17498, /* "table %S has no ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17513, /* "table %S has no ..." */ libc.VaList(bp+8, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*8)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup @@ -104354,7 +104861,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+17530, /* "table %S has %d ..." */ + ts+17545, /* "table %S has %d ..." */ libc.VaList(bp+24, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: @@ -104364,7 +104871,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+17582 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+17597 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -104420,7 +104927,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+17607, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17622, /* "UPSERT not imple..." */ libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -104428,7 +104935,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+17653 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17668 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -104908,7 +105415,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+17674 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+17689 /* "rows inserted" */, uintptr(0)) __123: ; @@ -105251,7 +105758,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_HaltIfNull, (SQLITE_CONSTRAINT | (int32(5) << 8)), onError, iReg) @@ -105502,7 +106009,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // initialize it to zero. regTrigCnt = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regTrigCnt) - Xsqlite3VdbeComment(tls, v, ts+17688 /* "trigger count" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17703 /* "trigger count" */, 0) lblRecheckOk = Xsqlite3VdbeMakeLabel(tls, pParse) addrRecheck = lblRecheckOk } @@ -105547,7 +106054,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt (onError != int32(overrideError))) && // Rules for other constraints are different ((*Table)(unsafe.Pointer(pTab)).FpIndex != 0) { ipkTop = (Xsqlite3VdbeAddOp0(tls, v, OP_Goto) + 1) - Xsqlite3VdbeComment(tls, v, ts+17702 /* "defer IPK REPLAC..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+17717 /* "defer IPK REPLAC..." */, 0) } if isUpdate != 0 { @@ -105561,7 +106068,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // Check to see if the new rowid already exists in the table. Skip // the following conflict logic if it does not. - Xsqlite3VdbeNoopComment(tls, v, ts+17731 /* "uniqueness check..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+17746 /* "uniqueness check..." */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_NotExists, iDataCur, addrRowidOk, regNewData) @@ -105681,7 +106188,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3TableAffinity(tls, v, pTab, (regNewData + 1)) bAffinityDone = U8(1) } - Xsqlite3VdbeNoopComment(tls, v, ts+17758 /* "prep index %s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeNoopComment(tls, v, ts+17773 /* "prep index %s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) iThisCur = (iIdxCur + *(*int32)(unsafe.Pointer(bp + 88 /* ix */))) // Skip partial indices for which the WHERE clause is not true @@ -105703,20 +106210,20 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = -(regNewData + 1) Xsqlite3ExprCodeCopy(tls, pParse, (*ExprList_item)(unsafe.Pointer(((*Index)(unsafe.Pointer(pIdx)).FaColExpr+8 /* &.a */)+uintptr(i)*20)).FpExpr, (regIdx + i)) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - Xsqlite3VdbeComment(tls, v, ts+17772 /* "%s column %d" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) + Xsqlite3VdbeComment(tls, v, ts+17787 /* "%s column %d" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) } else if (iField == (-1)) || (iField == int32((*Table)(unsafe.Pointer(pTab)).FiPKey)) { x = regNewData Xsqlite3VdbeAddOp2(tls, v, OP_IntCopy, x, (regIdx + i)) - Xsqlite3VdbeComment(tls, v, ts+10282 /* "rowid" */, 0) + Xsqlite3VdbeComment(tls, v, ts+10297 /* "rowid" */, 0) } else { x = ((int32(Xsqlite3TableColumnToStorage(tls, pTab, int16(iField))) + regNewData) + 1) Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, x, (regIdx + i)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+40, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*20)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+40, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*20)).FzName)) } } Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, regIdx, int32((*Index)(unsafe.Pointer(pIdx)).FnColumn), *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 88 /* ix */)))*4))) - Xsqlite3VdbeComment(tls, v, ts+17785 /* "for %s" */, libc.VaList(bp+48, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+17800 /* "for %s" */, libc.VaList(bp+48, (*Index)(unsafe.Pointer(pIdx)).FzName)) // In an UPDATE operation, if this index is the PRIMARY KEY index // of a WITHOUT ROWID table and there has been no change the @@ -105789,7 +106296,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt x = int32(Xsqlite3TableColumnToIndex(tls, pIdx, *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iThisCur, x, (regR + i)) - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp+56, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*20)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp+56, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*20)).FzName)) } } if isUpdate != 0 { @@ -105883,7 +106390,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3VdbeAddOp2(tls, v, OP_AddImm, regTrigCnt, 1) // incr trigger cnt addrBypass = Xsqlite3VdbeAddOp0(tls, v, OP_Goto) // Bypass recheck - Xsqlite3VdbeComment(tls, v, ts+17792 /* "bypass recheck" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17807 /* "bypass recheck" */, 0) // Here we insert code that will be invoked after all constraint // checks have run, if and only if one or more replace triggers @@ -105952,7 +106459,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // If the IPK constraint is a REPLACE, run it last if ipkTop != 0 { Xsqlite3VdbeGoto(tls, v, ipkTop) - Xsqlite3VdbeComment(tls, v, ts+17807 /* "Do IPK REPLACE" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17822 /* "Do IPK REPLACE" */, 0) Xsqlite3VdbeJumpHere(tls, v, ipkBottom) } @@ -106168,7 +106675,7 @@ __1: Xsqlite3VdbeAddOp3(tls, v, op, iIdxCur, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) Xsqlite3VdbeChangeP5(tls, v, uint16(p5)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } } @@ -106549,11 +107056,11 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iSrc, int32((*Index)(unsafe.Pointer(pSrcIdx)).Ftnum), iDbSrc) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pSrcIdx) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pSrcIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pSrcIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenWrite, iDest, int32((*Index)(unsafe.Pointer(pDestIdx)).Ftnum), iDbDest) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pDestIdx) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_BULKCSR)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) addr1 = Xsqlite3VdbeAddOp2(tls, v, OP_Rewind, iSrc, 0) if ((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags & U32(DBFLAG_Vacuum)) != 0 { // This INSERT command is part of a VACUUM operation, which guarantees @@ -106670,7 +107177,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 900 /* "" */ + zSql = ts + 915 /* "" */ __2: ; @@ -107231,7 +107738,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14108 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14123 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -107241,7 +107748,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 17822 /* "sqlite3_extensio..." */ + zEntry = ts + 17837 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -107261,7 +107768,7 @@ __5: if !((ii < (int32(uint32(unsafe.Sizeof(azEndings)) / uint32(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+10215 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) + zAltFile = Xsqlite3_mprintf(tls, ts+10230 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) if !(zAltFile == uintptr(0)) { goto __8 } @@ -107307,7 +107814,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.Xmemcpy(tls, zAltEntry, ts+17845 /* "sqlite3_" */, uint32(8)) + libc.Xmemcpy(tls, zAltEntry, ts+17860 /* "sqlite3_" */, uint32(8)) iFile = (ncFile - 1) __12: if !((iFile >= 0) && !((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/')) { @@ -107321,7 +107828,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+17854 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+17869 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -107345,7 +107852,7 @@ __17: goto __18 __18: ; - libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+17858 /* "_init" */, uint32(6)) + libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+17873 /* "_init" */, uint32(6)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -107363,7 +107870,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+17864 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) + ts+17879 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __22: ; @@ -107388,7 +107895,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+17907 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+17922 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) __25: ; Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) @@ -107428,7 +107935,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+17939 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) + ts+17954 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __29: ; @@ -107438,7 +107945,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 17976, /* "so" */ + ts + 17991, /* "so" */ } /* sqlite3.c:127457:21 */ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127590:16: */ @@ -107604,7 +108111,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+17979 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) + ts+17994 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */))) @@ -107649,61 +108156,61 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 // or that return single-column results where the name of the // result column is different from the name of the pragma var pragCName = [51]uintptr{ - /* 0 */ ts + 6974, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 18018, /* "seq" */ - /* 2 */ ts + 8454, /* "table" */ - /* 3 */ ts + 18022, /* "from" */ - /* 4 */ ts + 18027, /* "to" */ - /* 5 */ ts + 18030, /* "on_update" */ - /* 6 */ ts + 18040, /* "on_delete" */ - /* 7 */ ts + 18050, /* "match" */ - /* 8 */ ts + 18056, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 18060, /* "name" */ - /* 10 */ ts + 18065, /* "type" */ - /* 11 */ ts + 18070, /* "notnull" */ - /* 12 */ ts + 18078, /* "dflt_value" */ - /* 13 */ ts + 18089, /* "pk" */ - /* 14 */ ts + 18092, /* "hidden" */ + /* 0 */ ts + 6989, /* "id" */ // Used by: foreign_key_list + /* 1 */ ts + 18033, /* "seq" */ + /* 2 */ ts + 8469, /* "table" */ + /* 3 */ ts + 18037, /* "from" */ + /* 4 */ ts + 18042, /* "to" */ + /* 5 */ ts + 18045, /* "on_update" */ + /* 6 */ ts + 18055, /* "on_delete" */ + /* 7 */ ts + 18065, /* "match" */ + /* 8 */ ts + 18071, /* "cid" */ // Used by: table_xinfo + /* 9 */ ts + 18075, /* "name" */ + /* 10 */ ts + 18080, /* "type" */ + /* 11 */ ts + 18085, /* "notnull" */ + /* 12 */ ts + 18093, /* "dflt_value" */ + /* 13 */ ts + 18104, /* "pk" */ + /* 14 */ ts + 18107, /* "hidden" */ // table_info reuses 8 - /* 15 */ ts + 18099, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 18056, /* "cid" */ - /* 17 */ ts + 18060, /* "name" */ - /* 18 */ ts + 18105, /* "desc" */ - /* 19 */ ts + 18110, /* "coll" */ - /* 20 */ ts + 18115, /* "key" */ - /* 21 */ ts + 18060, /* "name" */ // Used by: function_list - /* 22 */ ts + 18119, /* "builtin" */ - /* 23 */ ts + 18065, /* "type" */ - /* 24 */ ts + 18127, /* "enc" */ - /* 25 */ ts + 18131, /* "narg" */ - /* 26 */ ts + 18136, /* "flags" */ - /* 27 */ ts + 13506, /* "tbl" */ // Used by: stats - /* 28 */ ts + 13502, /* "idx" */ - /* 29 */ ts + 18142, /* "wdth" */ - /* 30 */ ts + 18147, /* "hght" */ - /* 31 */ ts + 18152, /* "flgs" */ - /* 32 */ ts + 18018, /* "seq" */ // Used by: index_list - /* 33 */ ts + 18060, /* "name" */ - /* 34 */ ts + 18157, /* "unique" */ - /* 35 */ ts + 18164, /* "origin" */ - /* 36 */ ts + 18171, /* "partial" */ - /* 37 */ ts + 8454, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 10282, /* "rowid" */ - /* 39 */ ts + 6977, /* "parent" */ - /* 40 */ ts + 18179, /* "fkid" */ + /* 15 */ ts + 18114, /* "seqno" */ // Used by: index_xinfo + /* 16 */ ts + 18071, /* "cid" */ + /* 17 */ ts + 18075, /* "name" */ + /* 18 */ ts + 18120, /* "desc" */ + /* 19 */ ts + 18125, /* "coll" */ + /* 20 */ ts + 18130, /* "key" */ + /* 21 */ ts + 18075, /* "name" */ // Used by: function_list + /* 22 */ ts + 18134, /* "builtin" */ + /* 23 */ ts + 18080, /* "type" */ + /* 24 */ ts + 18142, /* "enc" */ + /* 25 */ ts + 18146, /* "narg" */ + /* 26 */ ts + 18151, /* "flags" */ + /* 27 */ ts + 13521, /* "tbl" */ // Used by: stats + /* 28 */ ts + 13517, /* "idx" */ + /* 29 */ ts + 18157, /* "wdth" */ + /* 30 */ ts + 18162, /* "hght" */ + /* 31 */ ts + 18167, /* "flgs" */ + /* 32 */ ts + 18033, /* "seq" */ // Used by: index_list + /* 33 */ ts + 18075, /* "name" */ + /* 34 */ ts + 18172, /* "unique" */ + /* 35 */ ts + 18179, /* "origin" */ + /* 36 */ ts + 18186, /* "partial" */ + /* 37 */ ts + 8469, /* "table" */ // Used by: foreign_key_check + /* 38 */ ts + 10297, /* "rowid" */ + /* 39 */ ts + 6992, /* "parent" */ + /* 40 */ ts + 18194, /* "fkid" */ // index_info reuses 15 - /* 41 */ ts + 18018, /* "seq" */ // Used by: database_list - /* 42 */ ts + 18060, /* "name" */ - /* 43 */ ts + 18184, /* "file" */ - /* 44 */ ts + 18189, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 18194, /* "log" */ - /* 46 */ ts + 18198, /* "checkpointed" */ + /* 41 */ ts + 18033, /* "seq" */ // Used by: database_list + /* 42 */ ts + 18075, /* "name" */ + /* 43 */ ts + 18199, /* "file" */ + /* 44 */ ts + 18204, /* "busy" */ // Used by: wal_checkpoint + /* 45 */ ts + 18209, /* "log" */ + /* 46 */ ts + 18213, /* "checkpointed" */ // collation_list reuses 32 - /* 47 */ ts + 18211, /* "database" */ // Used by: lock_status - /* 48 */ ts + 18220, /* "status" */ - /* 49 */ ts + 18227, /* "cache_size" */ // Used by: default_cache_size + /* 47 */ ts + 18226, /* "database" */ // Used by: lock_status + /* 48 */ ts + 18235, /* "status" */ + /* 49 */ ts + 18242, /* "cache_size" */ // Used by: default_cache_size // module_list pragma_list reuses 9 - /* 50 */ ts + 18238, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 18253, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas @@ -107719,238 +108226,238 @@ type PragmaName1 = struct { // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [66]PragmaName{ - { /* zName: */ FzName: ts + 18246, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 18261, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18261, /* "application_id" */ + { /* zName: */ FzName: ts + 18276, /* "application_id" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_APPLICATION_ID)}, - { /* zName: */ FzName: ts + 18276, /* "auto_vacuum" */ + { /* zName: */ FzName: ts + 18291, /* "auto_vacuum" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_AUTO_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18288, /* "automatic_index" */ + { /* zName: */ FzName: ts + 18303, /* "automatic_index" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_AutoIndex)}, - { /* zName: */ FzName: ts + 18304, /* "busy_timeout" */ + { /* zName: */ FzName: ts + 18319, /* "busy_timeout" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_BUSY_TIMEOUT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(50), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18227, /* "cache_size" */ + { /* zName: */ FzName: ts + 18242, /* "cache_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18317, /* "cache_spill" */ + { /* zName: */ FzName: ts + 18332, /* "cache_spill" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SPILL), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18329, /* "case_sensitive_l..." */ + { /* zName: */ FzName: ts + 18344, /* "case_sensitive_l..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CASE_SENSITIVE_LIKE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 18349, /* "cell_size_check" */ + { /* zName: */ FzName: ts + 18364, /* "cell_size_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CellSizeCk)}, - { /* zName: */ FzName: ts + 18365, /* "checkpoint_fullf..." */ + { /* zName: */ FzName: ts + 18380, /* "checkpoint_fullf..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CkptFullFSync)}, - { /* zName: */ FzName: ts + 18386, /* "collation_list" */ + { /* zName: */ FzName: ts + 18401, /* "collation_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COLLATION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 18401, /* "compile_options" */ + { /* zName: */ FzName: ts + 18416, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18417, /* "count_changes" */ + { /* zName: */ FzName: ts + 18432, /* "count_changes" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (U64((uint64(0x00001))) << 32)}, - { /* zName: */ FzName: ts + 18431, /* "data_version" */ + { /* zName: */ FzName: ts + 18446, /* "data_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_DATA_VERSION)}, - { /* zName: */ FzName: ts + 18444, /* "database_list" */ + { /* zName: */ FzName: ts + 18459, /* "database_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATABASE_LIST), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_Result0)), /* ColNames: */ FiPragCName: U8(41), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 18458, /* "default_cache_si..." */ + { /* zName: */ FzName: ts + 18473, /* "default_cache_si..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DEFAULT_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1)), /* ColNames: */ FiPragCName: U8(49), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18477, /* "defer_foreign_ke..." */ + { /* zName: */ FzName: ts + 18492, /* "defer_foreign_ke..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_DeferFKs)}, - { /* zName: */ FzName: ts + 18496, /* "empty_result_cal..." */ + { /* zName: */ FzName: ts + 18511, /* "empty_result_cal..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_NullCallback)}, - { /* zName: */ FzName: ts + 18519, /* "encoding" */ + { /* zName: */ FzName: ts + 18534, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18528, /* "foreign_key_chec..." */ + { /* zName: */ FzName: ts + 18543, /* "foreign_key_chec..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_CHECK), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(37), FnPragCName: U8(4)}, - { /* zName: */ FzName: ts + 18546, /* "foreign_key_list" */ + { /* zName: */ FzName: ts + 18561, /* "foreign_key_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), FnPragCName: U8(8)}, - { /* zName: */ FzName: ts + 18563, /* "foreign_keys" */ + { /* zName: */ FzName: ts + 18578, /* "foreign_keys" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ForeignKeys)}, - { /* zName: */ FzName: ts + 18576, /* "freelist_count" */ + { /* zName: */ FzName: ts + 18591, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 18591, /* "full_column_name..." */ + { /* zName: */ FzName: ts + 18606, /* "full_column_name..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullColNames)}, - { /* zName: */ FzName: ts + 18609, /* "fullfsync" */ + { /* zName: */ FzName: ts + 18624, /* "fullfsync" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullFSync)}, - { /* zName: */ FzName: ts + 18619, /* "function_list" */ + { /* zName: */ FzName: ts + 18634, /* "function_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FUNCTION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(21), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 18633, /* "hard_heap_limit" */ + { /* zName: */ FzName: ts + 18648, /* "hard_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HARD_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18649, /* "ignore_check_con..." */ + { /* zName: */ FzName: ts + 18664, /* "ignore_check_con..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_IgnoreChecks)}, - { /* zName: */ FzName: ts + 18674, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 18689, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 18693, /* "index_info" */ + { /* zName: */ FzName: ts + 18708, /* "index_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 18704, /* "index_list" */ + { /* zName: */ FzName: ts + 18719, /* "index_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(5)}, - { /* zName: */ FzName: ts + 18715, /* "index_xinfo" */ + { /* zName: */ FzName: ts + 18730, /* "index_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(6), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 18727, /* "integrity_check" */ + { /* zName: */ FzName: ts + 18742, /* "integrity_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 18743, /* "journal_mode" */ + { /* zName: */ FzName: ts + 18758, /* "journal_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_MODE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18756, /* "journal_size_lim..." */ + { /* zName: */ FzName: ts + 18771, /* "journal_size_lim..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_SIZE_LIMIT), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18775, /* "legacy_alter_tab..." */ + { /* zName: */ FzName: ts + 18790, /* "legacy_alter_tab..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_LegacyAlter)}, - { /* zName: */ FzName: ts + 18794, /* "lock_status" */ + { /* zName: */ FzName: ts + 18809, /* "lock_status" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCK_STATUS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(47), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 18806, /* "locking_mode" */ + { /* zName: */ FzName: ts + 18821, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18819, /* "max_page_count" */ + { /* zName: */ FzName: ts + 18834, /* "max_page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18834, /* "mmap_size" */ + { /* zName: */ FzName: ts + 18849, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 18844, /* "module_list" */ + { /* zName: */ FzName: ts + 18859, /* "module_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MODULE_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18856, /* "optimize" */ + { /* zName: */ FzName: ts + 18871, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 18865, /* "page_count" */ + { /* zName: */ FzName: ts + 18880, /* "page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18876, /* "page_size" */ + { /* zName: */ FzName: ts + 18891, /* "page_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_SIZE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18886, /* "pragma_list" */ + { /* zName: */ FzName: ts + 18901, /* "pragma_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PRAGMA_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18898, /* "query_only" */ + { /* zName: */ FzName: ts + 18913, /* "query_only" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_QueryOnly)}, - { /* zName: */ FzName: ts + 18909, /* "quick_check" */ + { /* zName: */ FzName: ts + 18924, /* "quick_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 18921, /* "read_uncommitted" */ + { /* zName: */ FzName: ts + 18936, /* "read_uncommitted" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReadUncommit)}, - { /* zName: */ FzName: ts + 18938, /* "recursive_trigge..." */ + { /* zName: */ FzName: ts + 18953, /* "recursive_trigge..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_RecTriggers)}, - { /* zName: */ FzName: ts + 18957, /* "reverse_unordere..." */ + { /* zName: */ FzName: ts + 18972, /* "reverse_unordere..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReverseOrder)}, - { /* zName: */ FzName: ts + 18983, /* "schema_version" */ + { /* zName: */ FzName: ts + 18998, /* "schema_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_SCHEMA_VERSION)}, - { /* zName: */ FzName: ts + 18998, /* "secure_delete" */ + { /* zName: */ FzName: ts + 19013, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19012, /* "short_column_nam..." */ + { /* zName: */ FzName: ts + 19027, /* "short_column_nam..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ShortColNames)}, - { /* zName: */ FzName: ts + 19031, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 19046, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 19045, /* "soft_heap_limit" */ + { /* zName: */ FzName: ts + 19060, /* "soft_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SOFT_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19061, /* "synchronous" */ + { /* zName: */ FzName: ts + 19076, /* "synchronous" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SYNCHRONOUS), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 19073, /* "table_info" */ + { /* zName: */ FzName: ts + 19088, /* "table_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 19084, /* "table_xinfo" */ + { /* zName: */ FzName: ts + 19099, /* "table_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(7), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 19096, /* "temp_store" */ + { /* zName: */ FzName: ts + 19111, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 19107, /* "temp_store_direc..." */ + { /* zName: */ FzName: ts + 19122, /* "temp_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 19128, /* "threads" */ + { /* zName: */ FzName: ts + 19143, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19136, /* "trusted_schema" */ + { /* zName: */ FzName: ts + 19151, /* "trusted_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_TrustedSchema)}, - { /* zName: */ FzName: ts + 19151, /* "user_version" */ + { /* zName: */ FzName: ts + 19166, /* "user_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_USER_VERSION)}, - { /* zName: */ FzName: ts + 19164, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 19179, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 19183, /* "wal_checkpoint" */ + { /* zName: */ FzName: ts + 19198, /* "wal_checkpoint" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_CHECKPOINT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NeedSchema), /* ColNames: */ FiPragCName: U8(44), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 19198, /* "writable_schema" */ + { /* zName: */ FzName: ts + 19213, /* "writable_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError))}, @@ -107987,7 +108494,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 19214 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 19229 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ @@ -108004,10 +108511,10 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:128 // Interpret the given string as a locking mode value. func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ if z != 0 { - if 0 == Xsqlite3StrICmp(tls, z, ts+19239 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19254 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+19249 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19264 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -108020,13 +108527,13 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ var i int32 - if 0 == Xsqlite3StrICmp(tls, z, ts+19256 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19271 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+19261 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19276 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+19266 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19281 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -108044,9 +108551,9 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128566:12: */ if (int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '2') { return (int32(*(*int8)(unsafe.Pointer(z))) - '0') - } else if Xsqlite3StrICmp(tls, z, ts+18184 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+18199 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+19278 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+19293 /* "memory" */) == 0 { return 2 } else { return 0 @@ -108062,7 +108569,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || (Xsqlite3BtreeTxnState(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpBt) != SQLITE_TXN_NONE) { Xsqlite3ErrorMsg(tls, pParse, - ts+19285 /* "temporary storag..." */, 0) + ts+19300 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpBt) @@ -108162,19 +108669,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 19347 /* "SET NULL" */ + zName = ts + 19362 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 19356 /* "SET DEFAULT" */ + zName = ts + 19371 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 19368 /* "CASCADE" */ + zName = ts + 19383 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 19376 /* "RESTRICT" */ + zName = ts + 19391 /* "RESTRICT" */ break default: - zName = ts + 19385 /* "NO ACTION" */ + zName = ts + 19400 /* "NO ACTION" */ break } return zName @@ -108192,7 +108699,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 19395 /* "delete" */, ts + 19402 /* "persist" */, ts + 19410 /* "off" */, ts + 19414 /* "truncate" */, ts + 19278 /* "memory" */, ts + 19423, /* "wal" */ + ts + 19410 /* "delete" */, ts + 19417 /* "persist" */, ts + 19425 /* "off" */, ts + 19429 /* "truncate" */, ts + 19293 /* "memory" */, ts + 19438, /* "wal" */ } /* sqlite3.c:128715:15 */ // Locate a pragma in the aPragmaName[] array. @@ -108238,13 +108745,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 19427 /* "w" */ + zType = ts + 19442 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 19429 /* "a" */ + zType = ts + 19444 /* "a" */ } else { - zType = ts + 19431 /* "s" */ + zType = ts + 19446 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19433, /* "sissii" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19448, /* "sissii" */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, azEnc[((*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK))], int32((*FuncDef)(unsafe.Pointer(p)).FnArg), @@ -108253,7 +108760,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } var mask U32 = (U32((((SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY) | SQLITE_SUBTYPE) | SQLITE_INNOCUOUS) | SQLITE_FUNC_INTERNAL)) /* sqlite3.c:128765:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 19440 /* "utf8" */, ts + 19445 /* "utf16le" */, ts + 19453 /* "utf16be" */} /* sqlite3.c:128772:23 */ +var azEnc = [4]uintptr{uintptr(0), ts + 19455 /* "utf8" */, ts + 19460 /* "utf16le" */, ts + 19468 /* "utf16be" */} /* sqlite3.c:128772:23 */ // Helper subroutine for PRAGMA integrity_check: // @@ -108521,7 +109028,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+19461 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+19476 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -108576,7 +109083,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 380 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 380 /* &aFcntl[0] */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 380 /* &aFcntl[0] */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 380 /* &aFcntl[0] */))) __10: ; @@ -109152,7 +109659,7 @@ __18: if !(zRight != 0) { goto __63 } - if !(Xsqlite3_stricmp(tls, zRight, ts+19465 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+19480 /* "fast" */) == 0) { goto __64 } b = 2 @@ -109241,7 +109748,7 @@ __71: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 19249 /* "normal" */ + zRet = ts + 19264 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -109282,7 +109789,7 @@ __78: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __83 } - zRet = ts + 19239 /* "exclusive" */ + zRet = ts + 19254 /* "exclusive" */ __83: ; returnSingleText(tls, v, zRet) @@ -109647,7 +110154,7 @@ __123: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 432 /* res */)) == 0)) { goto __126 } - Xsqlite3ErrorMsg(tls, pParse, ts+19470 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19485 /* "not a writable d..." */, 0) goto pragma_out __126: ; @@ -109665,7 +110172,7 @@ __127: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __128 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+16, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+16, zRight)) goto __129 __128: Xsqlite3_temp_directory = uintptr(0) @@ -109693,7 +110200,7 @@ __130: goto __132 } Xsqlite3ErrorMsg(tls, pParse, - ts+19495 /* "Safety level may..." */, 0) + ts+19510 /* "Safety level may..." */, 0) goto __133 __132: if !(iDb != 1) { @@ -109852,13 +110359,13 @@ __154: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 19548 /* "issisii" */ + return ts + 19563 /* "issisii" */ } - return ts + 19556 /* "issisi" */ + return ts + 19571 /* "issisi" */ }(), libc.VaList(bp+24, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+900 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+915 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -109933,7 +110440,7 @@ __166: goto __168 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19563 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19578 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -109943,7 +110450,7 @@ __166: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __169 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+19568, /* "isiX" */ + Xsqlite3VdbeMultiLoad(tls, v, 4, ts+19583, /* "isiX" */ libc.VaList(bp+104, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*4)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) @@ -109980,8 +110487,8 @@ __172: if !(pIdx1 != 0) { goto __174 } - *(*[3]uintptr)(unsafe.Pointer(bp + 436 /* azOrigin */)) = [3]uintptr{ts + 19573 /* "c" */, ts + 19575 /* "u" */, ts + 18089 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19577, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 436 /* azOrigin */)) = [3]uintptr{ts + 19588 /* "c" */, ts + 19590 /* "u" */, ts + 18104 /* "pk" */} + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19592, /* "isisi" */ libc.VaList(bp+128, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), @@ -110015,7 +110522,7 @@ __175: __178: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19583, /* "iss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19598, /* "iss" */ libc.VaList(bp+168, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*16)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*16)).FpBt))) @@ -110038,7 +110545,7 @@ __179: goto __181 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19587 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19602 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __180 __180: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -110102,7 +110609,7 @@ __191: goto __193 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19431 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19446 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __192 __192: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -110119,7 +110626,7 @@ __194: if !(i6 < (int32(uint32(unsafe.Sizeof(aPragmaName)) / uint32(unsafe.Sizeof(PragmaName{}))))) { goto __196 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19431 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19446 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) goto __195 __195: i6++ @@ -110155,7 +110662,7 @@ __202: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __204 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19590, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19605, /* "iissssss" */ libc.VaList(bp+224, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -110163,7 +110670,7 @@ __202: (*sColMap)(unsafe.Pointer((pFK+36 /* &.aCol */)+uintptr(j2)*8)).FzCol, actionName(tls, *(*U8)(unsafe.Pointer((pFK + 25 /* &.aAction */) + 1))), // ON UPDATE actionName(tls, *(*U8)(unsafe.Pointer((pFK + 25 /* &.aAction */)))), // ON DELETE - ts+4891 /* "NONE" */)) + ts+4906 /* "NONE" */)) goto __203 __203: j2++ @@ -110356,7 +110863,7 @@ __231: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __232: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+19599 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+19614 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 452 /* aiCols */))) @@ -110622,7 +111129,7 @@ __259: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+19603 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*16)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+19618 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*16)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -110712,7 +111219,7 @@ __278: __279: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+19627 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+19642 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*20)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -110752,7 +111259,7 @@ __284: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+19647, /* "CHECK constraint..." */ + zErr1 = Xsqlite3MPrintf(tls, db, ts+19662, /* "CHECK constraint..." */ libc.VaList(bp+328, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) @@ -110786,9 +111293,9 @@ __289: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 464 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+19677 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+19692 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+19682 /* " missing from in..." */) + Xsqlite3VdbeLoadString(tls, v, 4, ts+19697 /* " missing from in..." */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) jmp5 = Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) @@ -110828,7 +111335,7 @@ __293: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 464 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+19703 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+19718 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __290: @@ -110850,7 +111357,7 @@ __285: if !(!(isQuick != 0)) { goto __295 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+19730 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+19745 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __296: @@ -110901,7 +111408,7 @@ __241: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 456 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 5213 /* "ok" */ + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 5228 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16 /* &.p4 */)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT) __300: @@ -110979,7 +111486,7 @@ __307: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __309 } - Xsqlite3ErrorMsg(tls, pParse, ts+19759 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+19774 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) __309: ; __304: @@ -111091,19 +111598,19 @@ __47: if !(zRight != 0) { goto __316 } - if !(Xsqlite3StrICmp(tls, zRight, ts+19261 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19276 /* "full" */) == 0) { goto __317 } eMode2 = SQLITE_CHECKPOINT_FULL goto __318 __317: - if !(Xsqlite3StrICmp(tls, zRight, ts+19784 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19799 /* "restart" */) == 0) { goto __319 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __320 __319: - if !(Xsqlite3StrICmp(tls, zRight, ts+19414 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19429 /* "truncate" */) == 0) { goto __321 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -111290,7 +111797,7 @@ __336: __338: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+19792, /* "ANALYZE \"%w\".\"%w..." */ + zSubSql = Xsqlite3MPrintf(tls, db, ts+19807, /* "ANALYZE \"%w\".\"%w..." */ libc.VaList(bp+344, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __339 @@ -111425,7 +111932,7 @@ __347: if !(i11 < (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __349 } - zState = ts + 19810 /* "unknown" */ + zState = ts + 19825 /* "unknown" */ if !((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*16)).FzDbSName == uintptr(0)) { goto __350 } @@ -111436,7 +111943,7 @@ __350: if !((pBt3 == uintptr(0)) || (Xsqlite3BtreePager(tls, pBt3) == uintptr(0))) { goto __351 } - zState = ts + 19818 /* "closed" */ + zState = ts + 19833 /* "closed" */ goto __352 __351: if !(Xsqlite3_file_control(tls, db, func() uintptr { @@ -111453,7 +111960,7 @@ __353: ; __352: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19825 /* "ss" */, libc.VaList(bp+360, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*16)).FzDbSName, zState)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19840 /* "ss" */, libc.VaList(bp+360, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*16)).FzDbSName, zState)) goto __348 __348: i11++ @@ -111520,14 +112027,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 19828 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 19833 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 19839 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 19848 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 19857 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 19865 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 19873 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 19880 /* "UTF16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 19843 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, + {FzName: ts + 19848 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] + {FzName: ts + 19854 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] + {FzName: ts + 19863 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] + {FzName: ts + 19872 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, + {FzName: ts + 19880 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, + {FzName: ts + 19888 /* "UTF-16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 19895 /* "UTF16" */}, // SQLITE_UTF16NATIVE {}, } /* sqlite3.c:130285:7 */ var setCookie = [2]VdbeOpList{ @@ -111540,7 +112047,7 @@ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, } /* sqlite3.c:130380:31 */ var azLockName = [5]uintptr{ - ts + 19886 /* "unlocked" */, ts + 19895 /* "shared" */, ts + 19902 /* "reserved" */, ts + 19911 /* "pending" */, ts + 19239, /* "exclusive" */ + ts + 19901 /* "unlocked" */, ts + 19910 /* "shared" */, ts + 19917 /* "reserved" */, ts + 19926 /* "pending" */, ts + 19254, /* "exclusive" */ } /* sqlite3.c:130688:23 */ // **************************************************************************** // @@ -111587,7 +112094,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argc _ = argv Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+56 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19919 /* "CREATE TABLE x" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19934 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -111595,7 +112102,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19934 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19949 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -111608,19 +112115,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19941 /* "(\"%s\"" */, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19956 /* "(\"%s\"" */, 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 /* &acc */, ts+19947 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19962 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19959 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19974 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+6887 /* ")" */, 1) Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) rc = Xsqlite3_declare_vtab(tls, db, bp+56 /* &zBuf[0] */) @@ -111636,7 +112143,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -111799,7 +112306,7 @@ __1: var zText uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) if zText != 0 { - *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + uintptr(j)*4)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, zText)) + *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + uintptr(j)*4)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, zText)) if *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + uintptr(j)*4)) == uintptr(0) { return SQLITE_NOMEM } @@ -111815,13 +112322,13 @@ __2: __3: ; Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 112 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19974 /* "PRAGMA " */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19989 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + 1*4)) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19982 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + 1*4)))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19997 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */) + 1*4)))) } Xsqlite3_str_appendall(tls, bp+32 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19986 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+20001 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 16 /* &.azArg */))))) } zSql = Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) if zSql == uintptr(0) { @@ -111830,7 +112337,7 @@ __3: rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 4 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -111923,12 +112430,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) // A error message has already been generated. Do not overwrite it } else if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & (U32(INITFLAG_AlterRename | INITFLAG_AlterDrop))) != 0 { *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db, - ts+19990 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)), + ts+20005 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)), func() uintptr { if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & U32(INITFLAG_AlterRename)) != 0 { - return ts + 20018 /* "rename" */ + return ts + 20033 /* "rename" */ } - return ts + 20025 /* "drop column" */ + return ts + 20040 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -111940,11 +112447,11 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) if *(*uintptr)(unsafe.Pointer(azObj + 1*4)) != 0 { zObj = *(*uintptr)(unsafe.Pointer(azObj + 1*4)) } else { - zObj = ts + 6925 /* "?" */ + zObj = ts + 6940 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+20037 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+20052 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+20068 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+20083 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -112021,7 +112528,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr if (Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), (db+164 /* &.init */ /* &.newTnum */)) == 0) || (((*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum > (*InitData)(unsafe.Pointer(pData)).FmxPage) && ((*InitData)(unsafe.Pointer(pData)).FmxPage > Pgno(0))) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+16147 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+16162 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+164 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -112058,13 +112565,13 @@ 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+20076 /* "orphan index" */) + corruptSchema(tls, pData, argv, ts+20091 /* "orphan index" */) } else if (((Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), (pIndex+44 /* &.tnum */)) == 0) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2))) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage)) || (Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+16147 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+16162 /* "invalid rootpage" */) } } } @@ -112107,16 +112614,16 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 8454 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 8469 /* "table" */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*4)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 2*4)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*4)) - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*4)) = ts + 10119 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*4)) = ts + 20089 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*4)) = ts + 10134 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*4)) = ts + 20104 /* "CREATE TABLE x(t..." */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 5*4)) = uintptr(0) (*InitData)(unsafe.Pointer(bp + 40 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 40 /* &initData */)).FiDb = iDb @@ -112229,7 +112736,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+13789 /* "attached databas..." */) + ts+13804 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -112269,7 +112776,7 @@ __16: if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) { goto __17 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+20161 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+20176 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -112291,7 +112798,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 40 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+20185, /* "SELECT*FROM\"%w\"...." */ + ts+20200, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zSchemaTabName)) xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth @@ -112651,7 +113158,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+20219 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+20234 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -112679,7 +113186,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+20249 /* "statement too lo..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+20264 /* "statement too lo..." */, 0) rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG) goto end_prepare __10: @@ -112742,7 +113249,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+936 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */)))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+951 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 288 /* zErrMsg */))) goto __21 __20: @@ -113217,24 +113724,24 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC } } if ((jointype & (JT_INNER | JT_OUTER)) == (JT_INNER | JT_OUTER)) || ((jointype & JT_ERROR) != 0) { - var zSp uintptr = ts + 12911 /* " " */ + var zSp uintptr = ts + 12926 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+20268 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) + ts+20283 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) jointype = JT_INNER } else if ((jointype & JT_OUTER) != 0) && ((jointype & (JT_LEFT | JT_RIGHT)) != JT_LEFT) { Xsqlite3ErrorMsg(tls, pParse, - ts+20312 /* "RIGHT and FULL O..." */, 0) + ts+20327 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 20367 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 20382 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -113440,7 +113947,7 @@ __1: if (int32((*SrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype) & JT_NATURAL) != 0 { if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) || ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+20401 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) + ts+20416 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) return 1 } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { @@ -113464,7 +113971,7 @@ __1: // Disallow both ON and USING clauses in the same join if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) && ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+20451 /* "cannot have both..." */, 0) + ts+20466 /* "cannot have both..." */, 0) return 1 } @@ -113499,7 +114006,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+20506 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) + ts+20521 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) return 1 } addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 24 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 28 /* iLeftCol */)), (i + 1), iRightCol, @@ -113694,7 +114201,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:132803:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) - Xsqlite3VdbeComment(tls, v, ts+20570 /* "OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20585 /* "OFFSET" */, 0) } } @@ -113908,7 +114415,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo if srcTab >= 0 { for i = 0; i < nResultCol; i++ { Xsqlite3VdbeAddOp3(tls, v, OP_Column, srcTab, i, (regResult + i)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList+8 /* &.a */)+uintptr(i)*20)).FzEName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList+8 /* &.a */)+uintptr(i)*20)).FzEName)) } } else if eDest != SRT_Exists { // If the destination is an EXISTS(...) expression, the actual @@ -114290,16 +114797,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 20577 /* "UNION ALL" */ + z = ts + 20592 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 20587 /* "INTERSECT" */ + z = ts + 20602 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 20597 /* "EXCEPT" */ + z = ts + 20612 /* "EXCEPT" */ break default: - z = ts + 20604 /* "UNION" */ + z = ts + 20619 /* "UNION" */ break } return z @@ -114317,7 +114824,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite bp := tls.Alloc(8) defer tls.Free(8) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20610 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20625 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } // Assign expression b to lvalue a. A second, no-op, version of this macro @@ -114411,7 +114918,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n iRead = libc.PostDecInt32(&iCol, 1) } Xsqlite3VdbeAddOp3(tls, v, OP_Column, iSortTab, iRead, (regRow + i)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(aOutEx+uintptr(i)*20)).FzEName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(aOutEx+uintptr(i)*20)).FzEName)) } } @@ -114587,8 +115094,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 14687 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 40 /* zOrigCol */)) = ts + 10282 /* "rowid" */ + zType = ts + 14702 /* "INTEGER" */ + *(*uintptr)(unsafe.Pointer(bp + 40 /* zOrigCol */)) = ts + 10297 /* "rowid" */ } else { *(*uintptr)(unsafe.Pointer(bp + 40 /* zOrigCol */)) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20)).FzName zType = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20), uintptr(0)) @@ -114741,13 +115248,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 10282 /* "rowid" */ + zCol = ts + 10297 /* "rowid" */ } else { zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20)).FzName } if fullName != 0 { var zName uintptr = uintptr(0) - zName = Xsqlite3MPrintf(tls, db, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) + zName = Xsqlite3MPrintf(tls, db, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } else { Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, libc.UintptrFromInt32(-1)) @@ -114755,7 +115262,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*20)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+20633 /* "column%d" */, libc.VaList(bp+16, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+20648 /* "column%d" */, libc.VaList(bp+16, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -114844,7 +115351,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20)).FzName } else { - zName = ts + 10282 /* "rowid" */ + zName = ts + 10297 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -114857,7 +115364,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+20633 /* "column%d" */, libc.VaList(bp, (i+1))) + zName = Xsqlite3MPrintf(tls, db, ts+20648 /* "column%d" */, libc.VaList(bp, (i+1))) } // Make sure the column name is unique. If the name is not unique, @@ -114872,7 +115379,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+20642 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48 /* cnt */)), 1))) + zName = Xsqlite3MPrintf(tls, db, ts+20657 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48 /* cnt */)), 1))) if *(*U32)(unsafe.Pointer(bp + 48 /* cnt */)) > U32(3) { Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+48 /* &cnt */) } @@ -115073,7 +115580,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 if Xsqlite3ExprIsInteger(tls, (*Expr)(unsafe.Pointer(pLimit)).FpLeft, bp /* &n */) != 0 { Xsqlite3VdbeAddOp2(tls, v, OP_Integer, *(*int32)(unsafe.Pointer(bp /* n */)), iLimit) - Xsqlite3VdbeComment(tls, v, ts+20650 /* "LIMIT counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20665 /* "LIMIT counter" */, 0) if *(*int32)(unsafe.Pointer(bp /* n */)) == 0 { Xsqlite3VdbeGoto(tls, v, iBreak) } else if (*(*int32)(unsafe.Pointer(bp /* n */)) >= 0) && (int32((*Select)(unsafe.Pointer(p)).FnSelectRow) > int32(Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp /* n */)))))) { @@ -115083,7 +115590,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 } else { Xsqlite3ExprCode(tls, pParse, (*Expr)(unsafe.Pointer(pLimit)).FpLeft, iLimit) Xsqlite3VdbeAddOp1(tls, v, OP_MustBeInt, iLimit) - Xsqlite3VdbeComment(tls, v, ts+20650 /* "LIMIT counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20665 /* "LIMIT counter" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_IfNot, iLimit, iBreak) } if (*Expr)(unsafe.Pointer(pLimit)).FpRight != 0 { @@ -115091,9 +115598,9 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 (*Parse)(unsafe.Pointer(pParse)).FnMem++ // Allocate an extra register for limit+offset Xsqlite3ExprCode(tls, pParse, (*Expr)(unsafe.Pointer(pLimit)).FpRight, iOffset) Xsqlite3VdbeAddOp1(tls, v, OP_MustBeInt, iOffset) - Xsqlite3VdbeComment(tls, v, ts+20664 /* "OFFSET counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20679 /* "OFFSET counter" */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_OffsetLimit, iLimit, (iOffset + 1), iOffset) - Xsqlite3VdbeComment(tls, v, ts+20679 /* "LIMIT+OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20694 /* "LIMIT+OFFSET" */, 0) } } } @@ -115229,7 +115736,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+20692 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20707 /* "cannot use windo..." */, 0) return __1: ; @@ -115313,7 +115820,7 @@ __9: Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, iQueue, nCol) __10: ; - Xsqlite3VdbeComment(tls, v, ts+20741 /* "Queue table" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20756 /* "Queue table" */, 0) if !(iDistinct != 0) { goto __11 } @@ -115340,7 +115847,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+20753 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20768 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -115362,7 +115869,7 @@ __14: // Store the results of the setup-query in Queue. pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior (*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20795 /* "SETUP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20810 /* "SETUP" */, 0) rc = Xsqlite3Select(tls, pParse, pSetup, bp /* &destQueue */) (*Select)(unsafe.Pointer(pSetup)).FpNext = p if !(rc != 0) { @@ -115405,7 +115912,7 @@ __20: // Execute the recursive SELECT taking the single row in Current as // the value for the recursive-table. Store the results in the Queue. (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20801 /* "RECURSIVE STEP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20816 /* "RECURSIVE STEP" */, 0) Xsqlite3Select(tls, pParse, p, bp /* &destQueue */) (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -115455,11 +115962,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+20816 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20831 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { if nRow == 1 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 20839 /* "S" */ + return ts + 20854 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -115611,8 +116118,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20841 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20856 /* "LEFT-MOST SUBQUE..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20856 /* "COMPOUND QUERY" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20871 /* "LEFT-MOST SUBQUE..." */, 0) __8: ; @@ -115651,7 +116158,7 @@ __14: goto __15 } addr = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, (*Select)(unsafe.Pointer(p)).FiLimit) - Xsqlite3VdbeComment(tls, v, ts+20875 /* "Jump ahead if LI..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+20890 /* "Jump ahead if LI..." */, 0) if !((*Select)(unsafe.Pointer(p)).FiOffset != 0) { goto __16 } @@ -115661,7 +116168,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20577 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20592 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) @@ -115737,7 +116244,7 @@ __23: pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 48 /* &uniondest */)).FeDest = op - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20903 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20918 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+48 /* &uniondest */) @@ -115809,7 +116316,7 @@ __26: pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 76 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20903 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20918 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+76 /* &intersectdest */) @@ -115970,10 +116477,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+20924 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20939 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+20970, /* "SELECTs to the l..." */ + ts+20985, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -116353,9 +116860,9 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Separate the left and the right query from one another (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) (*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) - Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9344 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9359 /* "ORDER" */) if (*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+9344 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+9359 /* "ORDER" */) } // Compute the limit registers @@ -116384,15 +116891,15 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) Xsqlite3SelectDestInit(tls, bp+8 /* &destA */, SRT_Coroutine, regAddrA) Xsqlite3SelectDestInit(tls, bp+36 /* &destB */, SRT_Coroutine, regAddrB) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21052 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21067 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) // Generate a coroutine to evaluate the SELECT statement to the // left of the compound operator - the "A" select. addrSelectA = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA) - Xsqlite3VdbeComment(tls, v, ts+21063 /* "left SELECT" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21078 /* "left SELECT" */, 0) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21075 /* "LEFT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21090 /* "LEFT" */, 0) Xsqlite3Select(tls, pParse, pPrior, bp+8 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -116401,12 +116908,12 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // the right - the "B" select addrSelectB = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrB, 0, addrSelectB) - Xsqlite3VdbeComment(tls, v, ts+21080 /* "right SELECT" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21095 /* "right SELECT" */, 0) savedLimit = (*Select)(unsafe.Pointer(p)).FiLimit savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset (*Select)(unsafe.Pointer(p)).FiLimit = regLimitB (*Select)(unsafe.Pointer(p)).FiOffset = 0 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21093 /* "RIGHT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21108 /* "RIGHT" */, 0) Xsqlite3Select(tls, pParse, p, bp+36 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -116414,7 +116921,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Generate a subroutine that outputs the current row of the A // select as the next output row of the compound select. - Xsqlite3VdbeNoopComment(tls, v, ts+21099 /* "Output routine f..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21114 /* "Output routine f..." */, 0) addrOutA = generateOutputSubroutine(tls, pParse, p, bp+8 /* &destA */, pDest, regOutA, regPrev, pKeyDup, labelEnd) @@ -116422,7 +116929,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Generate a subroutine that outputs the current row of the B // select as the next output row of the compound select. if (op == TK_ALL) || (op == TK_UNION) { - Xsqlite3VdbeNoopComment(tls, v, ts+21120 /* "Output routine f..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21135 /* "Output routine f..." */, 0) addrOutB = generateOutputSubroutine(tls, pParse, p, bp+36 /* &destB */, pDest, regOutB, regPrev, pKeyDup, labelEnd) @@ -116434,7 +116941,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) if (op == TK_EXCEPT) || (op == TK_INTERSECT) { addrEofA_noB = libc.AssignInt32(&addrEofA, labelEnd) } else { - Xsqlite3VdbeNoopComment(tls, v, ts+21141 /* "eof-A subroutine" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21156 /* "eof-A subroutine" */, 0) addrEofA = Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutB, addrOutB) addrEofA_noB = Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regAddrB, labelEnd) @@ -116450,14 +116957,14 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (*Select)(unsafe.Pointer(p)).FnSelectRow = (*Select)(unsafe.Pointer(pPrior)).FnSelectRow } } else { - Xsqlite3VdbeNoopComment(tls, v, ts+21158 /* "eof-B subroutine" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21173 /* "eof-B subroutine" */, 0) addrEofB = Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutA, addrOutA) Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regAddrA, labelEnd) Xsqlite3VdbeGoto(tls, v, addrEofB) } // Generate code to handle the case of AB - Xsqlite3VdbeNoopComment(tls, v, ts+21211 /* "A-gt-B subroutin..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21226 /* "A-gt-B subroutin..." */, 0) addrAgtB = Xsqlite3VdbeCurrentAddr(tls, v) if (op == TK_ALL) || (op == TK_UNION) { Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutB, addrOutB) @@ -116602,7 +117109,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 463 /* "BINARY" */ + return ts + 478 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -117815,12 +118322,12 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 return U8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8 /* &.u */)) - if Xsqlite3StrICmp(tls, zFunc, ts+17127 /* "min" */) == 0 { + if Xsqlite3StrICmp(tls, zFunc, ts+17142 /* "min" */) == 0 { eRet = WHERE_ORDERBY_MIN if Xsqlite3ExprCanBeNull(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */))).FpExpr) != 0 { sortFlags = U8(KEYINFO_ORDER_BIGNULL) } - } else if Xsqlite3StrICmp(tls, zFunc, ts+17131 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+17146 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -117889,7 +118396,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+21229 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) + Xsqlite3ErrorMsg(tls, pParse, ts+21244 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) return SQLITE_ERROR } @@ -118000,7 +118507,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s defer tls.Free(8) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 36 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21247 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21262 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) return 1 } return 0 @@ -118188,7 +118695,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+36 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+21270 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+21285 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -118204,7 +118711,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21313 /* "circular referen..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21328 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { @@ -118230,7 +118737,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+21336, /* "table %s has %d ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21351, /* "table %s has %d ..." */ libc.VaList(bp+16, (*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 @@ -118241,9 +118748,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom Xsqlite3ColumnsFromExprList(tls, pParse, pEList, (pTab + 42 /* &.nCol */), (pTab + 4 /* &.aCol */)) if bMayRecursive != 0 { if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21374 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21389 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21408 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21423 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -118291,7 +118798,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+21446 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + (*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+21461 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) } for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior @@ -118418,7 +118925,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+21458, /* "too many referen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21473, /* "too many referen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) (*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return WRC_Abort @@ -118437,7 +118944,7 @@ __1: if (((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (((*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+21497, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21512, /* "access to view \"..." */ libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -118445,7 +118952,7 @@ __1: ((uint32(int32(*(*uint16)(unsafe.Pointer((pFrom + 36 /* &.fg */) + 4 /* &.fromDDL */)) & 0x40 >> 6))) != 0)) && ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+21528, /* "unsafe use of vi..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21543, /* "unsafe use of vi..." */ libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) @@ -118560,7 +119067,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName } else { - zSchemaName = ts + 21561 /* "*" */ + zSchemaName = ts + 21576 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -118609,7 +119116,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+10215 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+10230 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) zToFree = zColname } } else { @@ -118625,7 +119132,7 @@ __3: (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSub)).FpEList+8 /* &.a */)+uintptr(j)*20)).FzEName) } else { - (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+21563, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+21578, /* "%s.%s.%s" */ libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } @@ -118645,9 +119152,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21572 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21587 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+21590 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21605 /* "no tables specif..." */, 0) } } } @@ -118657,7 +119164,7 @@ __3: } if (*Select)(unsafe.Pointer(p)).FpEList != 0 { if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+21610 /* "too many columns..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21625 /* "too many columns..." */, 0) return WRC_Abort } if (elistFlags & (U32(EP_HasFunc | EP_Subquery))) != U32(0) { @@ -118845,13 +119352,13 @@ __1: if (*(*uintptr)(unsafe.Pointer(pE + 20 /* &.x */)) == uintptr(0)) || ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 20 /* &.x */)))).FnExpr != 1) { Xsqlite3ErrorMsg(tls, pParse, - ts+21641 /* "DISTINCT aggrega..." */, 0) + ts+21656 /* "DISTINCT aggrega..." */, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1 } else { var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 20 /* &.x */)), 0, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -9) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21692 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21707 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } @@ -119051,19 +119558,19 @@ 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 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21725, /* "SCAN %s%s%s" */ + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21740, /* "SCAN %s%s%s" */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if bCover != 0 { - return ts + 21737 /* " USING COVERING ..." */ + return ts + 21752 /* " USING COVERING ..." */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) } } @@ -119083,7 +119590,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { if (Xsqlite3ExprIsConstantOrGroupBy(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*Select)(unsafe.Pointer(pS)).FpGroupBy) != 0) && ((libc.Bool32(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromJoin | EP_IsFalse))) == U32(EP_IsFalse))) == 0) { var db uintptr = (*Parse)(unsafe.Pointer((*Walker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10119 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10134 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -119385,7 +119892,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+21760, /* "target object/al..." */ + ts+21775, /* "target object/al..." */ libc.VaList(bp, func() uintptr { if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 { return (*SrcItem)(unsafe.Pointer(p0)).FzAlias @@ -119465,7 +119972,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+21814, /* "expected %d colu..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21829, /* "expected %d colu..." */ 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 __18: @@ -119606,7 +120113,7 @@ __29: if !(((*SrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0)) && ((*SrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0))) { goto __32 } - Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+900 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+915 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -119668,10 +120175,10 @@ __35: (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) - Xsqlite3VdbeComment(tls, v, ts+21854 /* "%!S" */, libc.VaList(bp+32, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+21869 /* "%!S" */, libc.VaList(bp+32, pItem1)) (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop Xsqlite3SelectDestInit(tls, bp+120 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21858 /* "CO-ROUTINE %!S" */, libc.VaList(bp+40, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21873 /* "CO-ROUTINE %!S" */, libc.VaList(bp+40, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+120 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+36 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) @@ -119726,14 +120233,14 @@ __41: // a trigger, then we only need to compute the value of the subquery // once. onceAddr = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeComment(tls, v, ts+21873 /* "materialize %!S" */, libc.VaList(bp+48, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+21888 /* "materialize %!S" */, libc.VaList(bp+48, pItem1)) goto __45 __44: - Xsqlite3VdbeNoopComment(tls, v, ts+21873 /* "materialize %!S" */, libc.VaList(bp+56, pItem1)) + Xsqlite3VdbeNoopComment(tls, v, ts+21888 /* "materialize %!S" */, libc.VaList(bp+56, pItem1)) __45: ; Xsqlite3SelectDestInit(tls, bp+120 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21889 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21904 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+120 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { @@ -119743,7 +120250,7 @@ __45: __46: ; retAddr = Xsqlite3VdbeAddOp1(tls, v, OP_Return, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeComment(tls, v, ts+21905 /* "end %!S" */, libc.VaList(bp+72, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+21920 /* "end %!S" */, libc.VaList(bp+72, pItem1)) Xsqlite3VdbeChangeP1(tls, v, topAddr, retAddr) Xsqlite3ClearTempRegCache(tls, pParse) if !(((uint32(int32(*(*uint16)(unsafe.Pointer((pItem1 + 36 /* &.fg */) + 4 /* &.isCte */)) & 0x80 >> 7))) != 0) && ((int32(*(*uint16)(unsafe.Pointer((pItem1 + 36 /* &.fg */) + 4 /* &.isCorrelated */)) & 0x8 >> 3)) == 0)) { @@ -119956,12 +120463,12 @@ __65: Xsqlite3VdbeAddOp2(tls, v, OP_Goto, 0, iBreak) Xsqlite3VdbeResolveLabel(tls, v, addrGosub) - Xsqlite3VdbeNoopComment(tls, v, ts+21913 /* "inner-loop subro..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21928 /* "inner-loop subro..." */, 0) (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FlabelOBLopt = 0 selectInnerLoop(tls, pParse, p, -1, bp+80 /* &sSort */, bp+148 /* &sDistinct */, pDest, iCont, iBreak) Xsqlite3VdbeResolveLabel(tls, v, iCont) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regGosub) - Xsqlite3VdbeComment(tls, v, ts+21935 /* "end inner-loop s..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+21950 /* "end inner-loop s..." */, 0) Xsqlite3VdbeResolveLabel(tls, v, iBreak) goto __67 __66: @@ -120215,7 +120722,7 @@ __95: iBMem = ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1) *(*int32)(unsafe.Pointer(pParse + 44 /* &.nMem */)) += ((*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, iAbortFlag) - Xsqlite3VdbeComment(tls, v, ts+21961 /* "clear abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21976 /* "clear abort flag" */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, iAMem, ((iAMem + (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) - 1)) // Begin a loop that will extract all source rows in GROUP BY order. @@ -120253,9 +120760,9 @@ __97: explainTempTable(tls, pParse, func() uintptr { if ((*DistinctCtx)(unsafe.Pointer(bp+148 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { - return ts + 21978 /* "DISTINCT" */ + return ts + 21993 /* "DISTINCT" */ } - return ts + 21987 /* "GROUP BY" */ + return ts + 22002 /* "GROUP BY" */ }()) groupBySort = 1 @@ -120317,7 +120824,7 @@ __105: sortOut = Xsqlite3GetTempReg(tls, pParse) Xsqlite3VdbeAddOp3(tls, v, OP_OpenPseudo, sortPTab, sortOut, nCol) Xsqlite3VdbeAddOp2(tls, v, OP_SorterSort, (*AggInfo)(unsafe.Pointer(pAggInfo)).FsortingIdx, addrEnd) - Xsqlite3VdbeComment(tls, v, ts+21996 /* "GROUP BY sort" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22011 /* "GROUP BY sort" */, 0) (*AggInfo)(unsafe.Pointer(pAggInfo)).FuseSortingIdx = U8(1) __98: ; @@ -120387,18 +120894,18 @@ __111: // for the next GROUP BY batch. Xsqlite3ExprCodeMove(tls, pParse, iBMem, iAMem, (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutputRow, addrOutputRow) - Xsqlite3VdbeComment(tls, v, ts+22010 /* "output one row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22025 /* "output one row" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_IfPos, iAbortFlag, addrEnd) - Xsqlite3VdbeComment(tls, v, ts+22025 /* "check abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22040 /* "check abort flag" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regReset, addrReset) - Xsqlite3VdbeComment(tls, v, ts+22042 /* "reset accumulato..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22057 /* "reset accumulato..." */, 0) // Update the aggregate accumulators based on the content of // the current row Xsqlite3VdbeJumpHere(tls, v, addr1) updateAccumulator(tls, pParse, iUseFlag, pAggInfo, eDist) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, iUseFlag) - Xsqlite3VdbeComment(tls, v, ts+22060 /* "indicate data in..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22075 /* "indicate data in..." */, 0) // End of the loop if !(groupBySort != 0) { @@ -120417,7 +120924,7 @@ __115: // Output the final row of result Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutputRow, addrOutputRow) - Xsqlite3VdbeComment(tls, v, ts+22089 /* "output final row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22104 /* "output final row" */, 0) // Jump over the subroutines Xsqlite3VdbeGoto(tls, v, addrEnd) @@ -120430,13 +120937,13 @@ __115: // order to signal the caller to abort. addrSetAbort = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, iAbortFlag) - Xsqlite3VdbeComment(tls, v, ts+22106 /* "set abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22121 /* "set abort flag" */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) Xsqlite3VdbeResolveLabel(tls, v, addrOutputRow) addrOutputRow = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_IfPos, iUseFlag, (addrOutputRow + 2)) - Xsqlite3VdbeComment(tls, v, ts+22121 /* "Groupby result g..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22136 /* "Groupby result g..." */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) finalizeAggFunctions(tls, pParse, pAggInfo) Xsqlite3ExprIfFalse(tls, pParse, pHaving, (addrOutputRow + 1), SQLITE_JUMPIFNULL) @@ -120444,13 +120951,13 @@ __115: bp+148 /* &sDistinct */, pDest, (addrOutputRow + 1), addrSetAbort) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) - Xsqlite3VdbeComment(tls, v, ts+22158 /* "end groupby resu..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22173 /* "end groupby resu..." */, 0) // Generate a subroutine that will reset the group-by accumulator Xsqlite3VdbeResolveLabel(tls, v, addrReset) resetAccumulator(tls, pParse, pAggInfo) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, iUseFlag) - Xsqlite3VdbeComment(tls, v, ts+22187 /* "indicate accumul..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22202 /* "indicate accumul..." */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regReset) if !(eDist != WHERE_DISTINCT_NOOP) { @@ -120672,7 +121179,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+148 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+21978 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+21993 /* "DISTINCT" */) __140: ; @@ -120684,9 +121191,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FnOBSat > 0 { - return ts + 22214 /* "RIGHT PART OF OR..." */ + return ts + 22229 /* "RIGHT PART OF OR..." */ } - return ts + 22237 /* "ORDER BY" */ + return ts + 22252 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+80 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -120819,7 +121326,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*4)))) + z = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*4)))) if !(z == uintptr(0)) { goto __10 } @@ -120841,7 +121348,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+22246 /* "sqlite3_get_tabl..." */, 0) + ts+22261 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -120940,7 +121447,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) } @@ -121101,7 +121608,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+22311 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22326 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -121162,7 +121669,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+36 /* &sFix */, pParse, iDb, ts+22357 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + Xsqlite3FixInit(tls, bp+36 /* &sFix */, pParse, iDb, ts+22372 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+36 /* &sFix */, pTableName) != 0) { goto __9 } @@ -121180,7 +121687,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+22365 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22380 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -121195,7 +121702,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+22357 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { + if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+22372 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { goto __13 } goto trigger_cleanup @@ -121211,7 +121718,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+22406 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+22421 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __17 __16: ; @@ -121225,10 +121732,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10346 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10361 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+22432 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22447 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -121238,12 +121745,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+22470, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+22485, /* "cannot create %s..." */ libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 22507 /* "BEFORE" */ + return ts + 22522 /* "BEFORE" */ } - return ts + 22514 /* "AFTER" */ + return ts + 22529 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -121252,7 +121759,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+22520 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) + ts+22535 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -121282,9 +121789,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -121418,7 +121925,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+48 /* &sFix */, pParse, iDb, ts+22357 /* "trigger" */, bp+40 /* &nameToken */) + Xsqlite3FixInit(tls, bp+48 /* &sFix */, pParse, iDb, ts+22372 /* "trigger" */, bp+40 /* &nameToken */) if !((Xsqlite3FixTriggerStep(tls, bp+48 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || (Xsqlite3FixExpr(tls, bp+48 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 @@ -121455,13 +121962,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+22566, /* "INSERT INTO %Q.s..." */ + ts+22581, /* "INSERT INTO %Q.s..." */ libc.VaList(bp, (*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+22641 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+22656 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) __7: ; __6: @@ -121727,7 +122234,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+22670 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+22685 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __10 __9: Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb) @@ -121768,9 +122275,9 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FzDbSName var zTab uintptr = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -121783,7 +122290,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / // Generate code to destroy the database record of the trigger. if (libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse))) != uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+22690, /* "DELETE FROM %Q.s..." */ + ts+22705, /* "DELETE FROM %Q.s..." */ 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) @@ -121902,12 +122409,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+22752, /* "%s RETURNING is ..." */ + ts+22767, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 22800 /* "DELETE" */ + return ts + 22815 /* "DELETE" */ } - return ts + 22807 /* "UPDATE" */ + return ts + 22822 /* "UPDATE" */ }())) __15: ; @@ -122003,7 +122510,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK { return 0 } - Xsqlite3ErrorMsg(tls, pParse, ts+22814 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22829 /* "RETURNING may no..." */, 0) return 1 } @@ -122144,7 +122651,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf if (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { Xsqlite3VdbeAddOp4(tls, v, OP_Trace, 0x7fffffff, 1, 0, - Xsqlite3MPrintf(tls, db, ts+7946 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+7961 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -122203,19 +122710,19 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf func onErrorText(tls *libc.TLS, onError int32) uintptr { /* sqlite3.c:140731:19: */ switch onError { case OE_Abort: - return ts + 22856 /* "abort" */ + return ts + 22871 /* "abort" */ case OE_Rollback: - return ts + 22862 /* "rollback" */ + return ts + 22877 /* "rollback" */ case OE_Fail: - return ts + 22871 /* "fail" */ + return ts + 22886 /* "fail" */ case OE_Replace: - return ts + 17322 /* "replace" */ + return ts + 17337 /* "replace" */ case OE_Ignore: - return ts + 22876 /* "ignore" */ + return ts + 22891 /* "ignore" */ case OE_Default: - return ts + 22883 /* "default" */ + return ts + 22898 /* "default" */ } - return ts + 22891 /* "n/a" */ + return ts + 22906 /* "n/a" */ } // Parse context structure pFrom has just been used to create a sub-vdbe @@ -122291,30 +122798,30 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt v = Xsqlite3GetVdbe(tls, pSubParse) if v != 0 { - Xsqlite3VdbeComment(tls, v, ts+22895 /* "Start: %s.%s (%s..." */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf), func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+22910 /* "Start: %s.%s (%s..." */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Ftr_tm) == TRIGGER_BEFORE { - return ts + 22507 /* "BEFORE" */ + return ts + 22522 /* "BEFORE" */ } - return ts + 22514 /* "AFTER" */ + return ts + 22529 /* "AFTER" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_UPDATE { - return ts + 22807 /* "UPDATE" */ + return ts + 22822 /* "UPDATE" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_INSERT { - return ts + 22926 /* "INSERT" */ + return ts + 22941 /* "INSERT" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_DELETE { - return ts + 22800 /* "DELETE" */ + return ts + 22815 /* "DELETE" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), (*Table)(unsafe.Pointer(pTab)).FzName)) if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+22933 /* "-- TRIGGER %s" */, libc.VaList(bp+56, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) + Xsqlite3MPrintf(tls, db, ts+22948 /* "-- TRIGGER %s" */, libc.VaList(bp+56, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -122338,7 +122845,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt Xsqlite3VdbeResolveLabel(tls, v, iEndTrigger) } Xsqlite3VdbeAddOp0(tls, v, OP_Halt) - Xsqlite3VdbeComment(tls, v, ts+22947 /* "End: %s.%s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) + Xsqlite3VdbeComment(tls, v, ts+22962 /* "End: %s.%s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) transferParseError(tls, pParse, pSubParse) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0) && ((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) { @@ -122405,11 +122912,11 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab Xsqlite3VdbeAddOp4(tls, v, OP_Program, reg, ignoreJump, libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1), (*TriggerPrg)(unsafe.Pointer(pPrg)).FpProgram, -4) - Xsqlite3VdbeComment(tls, v, ts+22958 /* "Call: %s.%s" */, libc.VaList(bp, func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+22973 /* "Call: %s.%s" */, libc.VaList(bp, func() uintptr { if (*Trigger)(unsafe.Pointer(p)).FzName != 0 { return (*Trigger)(unsafe.Pointer(p)).FzName } - return ts + 22970 /* "fkey" */ + return ts + 22985 /* "fkey" */ }(), onErrorText(tls, orconf))) // Set the P5 operand of the OP_Program instruction to non-zero if @@ -122572,7 +123079,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg *(*uintptr)(unsafe.Pointer(bp + 16 /* pValue */)) = uintptr(0) var enc U8 = (*Sqlite3)(unsafe.Pointer(Xsqlite3VdbeDb(tls, v))).Fenc var pCol uintptr = ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*20) - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3ValueFromExpr(tls, Xsqlite3VdbeDb(tls, v), (*Column)(unsafe.Pointer(pCol)).FpDflt, enc, uint8((*Column)(unsafe.Pointer(pCol)).Faffinity), bp+16 /* &pValue */) @@ -123028,7 +123535,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+22975, /* "cannot UPDATE ge..." */ + ts+22990, /* "cannot UPDATE ge..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*20)).FzName)) goto update_cleanup __27: @@ -123060,7 +123567,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+23011 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*20)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+23026 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*20)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -123071,7 +123578,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 9781 /* "ROWID" */ + return ts + 9796 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*20)).FzName }(), @@ -124102,7 +124609,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+23030 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+23045 /* "rows updated" */, uintptr(0)) __169: ; @@ -124489,10 +124996,10 @@ __1: if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { *(*int8)(unsafe.Pointer(bp + 152 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+152 /* &zWhich[0] */, ts+23043 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+152 /* &zWhich[0] */, ts+23058 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+23047 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+152 /* &zWhich[0] */)) + ts+23062 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+152 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -124562,7 +125069,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab iDataCur = (*Upsert)(unsafe.Pointer(pUpsert)).FiDataCur pUpsert = Xsqlite3UpsertOfIndex(tls, pTop, pIdx) - Xsqlite3VdbeNoopComment(tls, v, ts+23120 /* "Begin DO UPDATE ..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+23135 /* "Begin DO UPDATE ..." */, 0) if (pIdx != 0) && (iCur != iDataCur) { if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { var regRowid int32 = Xsqlite3GetTempReg(tls, pParse) @@ -124580,13 +125087,13 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab k = int32(Xsqlite3TableColumnToIndex(tls, pIdx, *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iCur, k, (iPk + i)) - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*20)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*20)).FzName)) } i = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, iDataCur, 0, iPk, nPk) Xsqlite3VdbeAddOp4(tls, v, OP_Halt, SQLITE_CORRUPT, OE_Abort, 0, - ts+14229 /* "corrupt database" */, -1) + ts+14244 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -124602,7 +125109,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab } Xsqlite3Update(tls, pParse, pSrc, Xsqlite3ExprListDup(tls, db, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSet, 0), Xsqlite3ExprDup(tls, db, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertWhere, 0), OE_Abort, uintptr(0), uintptr(0), pUpsert) - Xsqlite3VdbeNoopComment(tls, v, ts+23146 /* "End DO UPDATE of..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+23161 /* "End DO UPDATE of..." */, 0) } //************* End of upsert.c ********************************************* @@ -124654,7 +125161,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { // then run VACUUM to get those statements to execute at inappropriate // times. if (zSubSql != 0) && - ((libc.Xstrncmp(tls, zSubSql, ts+23170 /* "CRE" */, uint32(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+23174 /* "INS" */, uint32(3)) == 0)) { + ((libc.Xstrncmp(tls, zSubSql, ts+23185 /* "CRE" */, uint32(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+23189 /* "INS" */, uint32(3)) == 0)) { rc = execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -124804,14 +125311,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+23178 /* "cannot VACUUM fr..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23193 /* "cannot VACUUM fr..." */) return SQLITE_ERROR // IMP: R-12218-18073 __1: ; if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) { goto __2 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+23218 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23233 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -124822,7 +125329,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+23261 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23276 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -124831,7 +125338,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 60 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 900 /* "" */ + zOut = ts + 915 /* "" */ __4: ; @@ -124867,7 +125374,7 @@ __4: // time to parse and run the PRAGMA to turn journalling off than it does // to write the journal header file. nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb - rc = execSqlF(tls, db, pzErrMsg, ts+23279 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) + rc = execSqlF(tls, db, pzErrMsg, ts+23294 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if !(rc != SQLITE_OK) { goto __6 @@ -124888,7 +125395,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+23302 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23317 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -124904,7 +125411,7 @@ __7: // Begin a transaction and take an exclusive lock on the main database // file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, // to ensure that we do not try to change the page-size on a WAL database. - rc = execSql(tls, db, pzErrMsg, ts+16510 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+16525 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -124955,7 +125462,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+23329, /* "SELECT sql FROM ..." */ + ts+23344, /* "SELECT sql FROM ..." */ libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -124965,7 +125472,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+23437, /* "SELECT sql FROM ..." */ + ts+23452, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -124980,7 +125487,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+23491, /* "SELECT'INSERT IN..." */ + ts+23506, /* "SELECT'INSERT IN..." */ libc.VaList(bp+24, zDbMain)) *(*U32)(unsafe.Pointer(db + 24 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) @@ -124997,7 +125504,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+23642, /* "INSERT INTO vacu..." */ + ts+23657, /* "INSERT INTO vacu..." */ libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 @@ -125377,7 +125884,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp var azModuleArg uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*Table)(unsafe.Pointer(pTable)).FnModuleArg + 3) >= *(*int32)(unsafe.Pointer((db + 112 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14459 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14474 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = Xsqlite3DbRealloc(tls, db, (*Table)(unsafe.Pointer(pTable)).FazModuleArg, uint64(nBytes)) if azModuleArg == uintptr(0) { @@ -125471,7 +125978,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s 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+23772 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+180 /* &.sNameToken */))) + zStmt = Xsqlite3MPrintf(tls, db, ts+23787 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+180 /* &.sNameToken */))) // A slot for the record has already been allocated in the // schema table. We just need to update that slot with all @@ -125483,7 +125990,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+23796, /* "UPDATE %Q.sqlite..." */ + ts+23811, /* "UPDATE %Q.sqlite..." */ 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, @@ -125493,7 +126000,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+23895 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+23910 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -125558,7 +126065,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+23914 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+23929 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return SQLITE_LOCKED } } @@ -125596,9 +126103,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+23956 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+23971 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+936 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+951 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) @@ -125610,7 +126117,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 /* &sCtx */)).FbDeclared == 0 { - var zFormat uintptr = ts + 23986 /* "vtable construct..." */ + var zFormat uintptr = ts + 24001 /* "vtable construct..." */ *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR @@ -125626,12 +126133,12 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Table)(unsafe.Pointer(pTab)).FpVTable = pVTable for iCol = 0; iCol < int32((*Table)(unsafe.Pointer(pTab)).FnCol); iCol++ { - var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20), ts+900 /* "" */) + var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*20), ts+915 /* "" */) var nType int32 var i int32 = 0 nType = Xsqlite3Strlen30(tls, zType) for i = 0; i < nType; i++ { - if ((0 == Xsqlite3_strnicmp(tls, ts+18092 /* "hidden" */, (zType+uintptr(i)), 6)) && + if ((0 == Xsqlite3_strnicmp(tls, ts+18107 /* "hidden" */, (zType+uintptr(i)), 6)) && ((i == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && ((int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { break @@ -125690,13 +126197,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 if !(pMod != 0) { var zModule uintptr = *(*uintptr)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FazModuleArg)) - Xsqlite3ErrorMsg(tls, pParse, ts+24032 /* "no such module: ..." */, libc.VaList(bp, zModule)) + Xsqlite3ErrorMsg(tls, pParse, ts+24047 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+16 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -125758,7 +126265,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // invoke it now. If the module has not been registered, return an // error. Otherwise, do nothing. 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+24032 /* "no such module: ..." */, libc.VaList(bp, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+24047 /* "no such module: ..." */, 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) @@ -125835,7 +126342,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 280 /* zErr */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 280 /* zErr */)))) @@ -126207,7 +126714,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+8 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 @@ -126637,10 +127144,10 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:144931:29 */ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:145112:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == (-2) { - return ts + 24051 /* "" */ + return ts + 24066 /* "" */ } if i == (-1) { - return ts + 10282 /* "rowid" */ + return ts + 10297 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*20)).FzName } @@ -126655,35 +127162,35 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i var i int32 if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, ts+24058 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+24073 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+24064 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+24079 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+14840 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+14855 /* "," */, 1) } Xsqlite3_str_appendall(tls, pStr, explainIndexColumnName(tls, pIdx, (iTerm+i))) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6887 /* ")" */, 1) } Xsqlite3_str_append(tls, pStr, zOp, 1) if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+24064 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+24079 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+14840 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+14855 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+6925 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6940 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6887 /* ")" */, 1) } } @@ -126712,29 +127219,29 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. 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+24066 /* " (" */, 2) + Xsqlite3_str_append(tls, pStr, ts+24081 /* " (" */, 2) for i = 0; i < int32(nEq); i++ { var z uintptr = explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+24058 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+24073 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 24069 /* "%s=?" */ + return ts + 24084 /* "%s=?" */ } - return ts + 24074 /* "ANY(%s)" */ + return ts + 24089 /* "ANY(%s)" */ }(), 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 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+24082 /* ">" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+24097 /* ">" */) i = 1 } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_TOP_LIMIT)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+24084 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+24099 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6887 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -126779,11 +127286,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+72 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) (*StrAccum)(unsafe.Pointer(bp + 48 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24086 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24101 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { - return ts + 24092 /* "SEARCH" */ + return ts + 24107 /* "SEARCH" */ } - return ts + 24099 /* "SCAN" */ + return ts + 24114 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -126793,38 +127300,38 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr if !(((*Table)(unsafe.Pointer(((*SrcItem)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 56 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = ts + 12959 /* "PRIMARY KEY" */ + zFmt = ts + 12974 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 24104 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 24119 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 24137 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 24152 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 24162 /* "COVERING INDEX %..." */ + zFmt = ts + 24177 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 24180 /* "INDEX %s" */ + zFmt = ts + 24195 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+48 /* &str */, ts+24189 /* " USING " */, 7) + Xsqlite3_str_append(tls, bp+48 /* &str */, ts+24204 /* " USING " */, 7) Xsqlite3_str_appendf(tls, bp+48 /* &str */, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) explainIndexRange(tls, bp+48 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr if (flags & (U32(WHERE_COLUMN_EQ | WHERE_COLUMN_IN))) != 0 { - zRangeOp = ts + 24197 /* "=" */ + zRangeOp = ts + 24212 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 24199 /* ">? AND rowid<" */ + zRangeOp = ts + 24214 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 24082 /* ">" */ + zRangeOp = ts + 24097 /* ">" */ } else { - zRangeOp = ts + 24084 /* "<" */ + zRangeOp = ts + 24099 /* "<" */ } Xsqlite3_str_appendf(tls, bp+48, /* &str */ - ts+24213 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) + ts+24228 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24251, /* " VIRTUAL TABLE I..." */ + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24266, /* " VIRTUAL TABLE I..." */ libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } zMsg = Xsqlite3StrAccumFinish(tls, bp+48 /* &str */) @@ -127281,7 +127788,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in return OP_Rewind }(), iIdxCur) - Xsqlite3VdbeComment(tls, v, ts+24278 /* "begin skip-scan ..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24293 /* "begin skip-scan ..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) j = Xsqlite3VdbeAddOp0(tls, v, OP_Goto) (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip = Xsqlite3VdbeAddOp4Int(tls, v, func() int32 { if bRev != 0 { @@ -127295,7 +127802,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in for j = 0; j < int32(nSkip); j++ { Xsqlite3VdbeAddOp3(tls, v, OP_Column, iIdxCur, j, (regBase + j)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+8, explainIndexColumnName(tls, pIdx, j))) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, explainIndexColumnName(tls, pIdx, j))) } } @@ -127640,7 +128147,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if (int32((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom) > 0) && ((int32((*SrcItem)(unsafe.Pointer(pTabItem)).Ffg.Fjointype) & JT_LEFT) != 0) { (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) - Xsqlite3VdbeComment(tls, v, ts+24300 /* "init LEFT JOIN n..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24315 /* "init LEFT JOIN n..." */, 0) } // Compute a safe address to jump to if we discover that the table for @@ -127655,7 +128162,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, (*SrcItem)(unsafe.Pointer(pTabItem)).FaddrFillSub) (*WhereLevel)(unsafe.Pointer(pLevel)).Fp2 = Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regYield, addrBrk) - Xsqlite3VdbeComment(tls, v, ts+24329 /* "next row of %s" */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24344 /* "next row of %s" */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) (*WhereLevel)(unsafe.Pointer(pLevel)).Fop = U8(OP_Goto) } else if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_VIRTUALTABLE)) != U32(0) { // Case 1: The table is a virtual-table. Use the VFilter and VNext @@ -127835,7 +128342,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI op = int32(*(*U8)(unsafe.Pointer(bp + 16 /* &aMoveOp[0] */ + uintptr((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT))))) } Xsqlite3VdbeAddOp3(tls, v, op, iCur, addrBrk, r1) - Xsqlite3VdbeComment(tls, v, ts+18089 /* "pk" */, 0) + Xsqlite3VdbeComment(tls, v, ts+18104 /* "pk" */, 0) Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 20 /* rTemp */))) } else { @@ -128054,7 +128561,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI } else { if regBignull != 0 { Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, regBignull) - Xsqlite3VdbeComment(tls, v, ts+24344 /* "NULL-scan pass c..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24359 /* "NULL-scan pass c..." */, 0) } op = int32(aStartOp[(((start_constraints << 2) + (startEq << 1)) + bRev)]) @@ -128128,7 +128635,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if regBignull != 0 { // Except, skip the end-of-range check while doing the NULL-scan Xsqlite3VdbeAddOp2(tls, v, OP_IfNot, regBignull, (Xsqlite3VdbeCurrentAddr(tls, v) + 3)) - Xsqlite3VdbeComment(tls, v, ts+24363 /* "If NULL-scan 2nd..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24378 /* "If NULL-scan 2nd..." */, 0) } op = int32(aEndOp[((bRev * 2) + endEq)]) @@ -128143,7 +128650,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // the NULLs Xsqlite3VdbeAddOp2(tls, v, OP_If, regBignull, (Xsqlite3VdbeCurrentAddr(tls, v) + 2)) - Xsqlite3VdbeComment(tls, v, ts+24385 /* "If NULL-scan 1st..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24400 /* "If NULL-scan 1st..." */, 0) op = int32(aEndOp[((bRev * 2) + int32(bSeekPastNull))]) Xsqlite3VdbeAddOp4Int(tls, v, op, iIdxCur, addrNxt, regBase, @@ -128389,7 +128896,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // Run a separate WHERE clause for each term of the OR clause. After // eliminating duplicates from other WHERE clauses, the action for each // sub-WHERE clause is to to invoke the main loop body as a subroutine. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24407 /* "MULTI-INDEX OR" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24422 /* "MULTI-INDEX OR" */, 0) for ii = 0; ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm; ii++ { var pOrTerm uintptr = ((*WhereClause)(unsafe.Pointer(pOrWc)).Fa + uintptr(ii)*48) if ((*WhereTerm)(unsafe.Pointer(pOrTerm)).FleftCursor == iCur) || ((int32((*WhereTerm)(unsafe.Pointer(pOrTerm)).FeOperator) & WO_AND) != 0) { @@ -128408,7 +128915,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } // Loop through table entries that match term pOrTerm. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24422 /* "INDEX %d" */, libc.VaList(bp+8, (ii+1))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24437 /* "INDEX %d" */, libc.VaList(bp+8, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -128713,7 +129220,7 @@ __6: if (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin != 0 { (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrFirst = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) - Xsqlite3VdbeComment(tls, v, ts+24431 /* "record LEFT JOIN..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24446 /* "record LEFT JOIN..." */, 0) pTerm = (*WhereClause)(unsafe.Pointer(pWC)).Fa j = 0 __7: @@ -129157,10 +129664,10 @@ type Op2 = struct { } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 18050 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 17389 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 16939 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 24452 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, + {FzOp: ts + 18065 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, + {FzOp: ts + 17404 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, + {FzOp: ts + 16954 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, + {FzOp: ts + 24467 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, } /* sqlite3.c:147958:7 */ // If the pBase expression originated in the ON or USING clause of @@ -129861,7 +130368,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s extraRight = (x - uint64(1)) // ON clause terms may not be used with an index // on left table of a LEFT JOIN. Ticket #3015 if (prereqAll >> 1) >= x { - Xsqlite3ErrorMsg(tls, pParse, ts+24459 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+24474 /* "ON clause refere..." */, 0) return } } @@ -129937,7 +130444,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s (*WhereTerm)(unsafe.Pointer(pNew)).FeOperator = (U16((int32(operatorMask(tls, int32((*Expr)(unsafe.Pointer(pDup)).Fop))) + int32(eExtraOp)) & int32(opMask))) } else if (op == TK_ISNULL) && (0 == Xsqlite3ExprCanBeNull(tls, pLeft)) { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8868 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8883 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) (*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0) @@ -130038,7 +130545,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s } zCollSeqName = func() uintptr { if *(*int32)(unsafe.Pointer(bp + 16 /* noCase */)) != 0 { - return ts + 24500 /* "NOCASE" */ + return ts + 24515 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -130340,7 +130847,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+24507, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+24522, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -131163,7 +131670,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+24543 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, + ts+24558 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*20)).FzName)) sentWarning = U8(1) __6: @@ -131244,7 +131751,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 24569 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 24584 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -131341,7 +131848,7 @@ __24: (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) Xsqlite3VdbeAddOp2(tls, v, OP_OpenAutoindex, (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur, (nKeyCol + 1)) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+17785 /* "for %s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+17800 /* "for %s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTable)).FzName)) // Fill the automatic index with content pTabItem = (((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList + 8 /* &.a */) + uintptr((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*72) @@ -131353,7 +131860,7 @@ __24: Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, (*SrcItem)(unsafe.Pointer(pTabItem)).FaddrFillSub) addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, regYield) - Xsqlite3VdbeComment(tls, v, ts+24329 /* "next row of %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24344 /* "next row of %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) goto __29 __28: addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, (*WhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) @@ -131479,7 +131986,7 @@ __3: ((uint32(unsafe.Sizeof(sqlite3_index_constraint{})) + uint32(unsafe.Sizeof(sqlite3_index_constraint_usage{}))) * uint32(nTerm))) + (uint32(unsafe.Sizeof(sqlite3_index_orderby{})) * uint32(nOrderBy))) + uint32(unsafe.Sizeof(HiddenIndexInfo1{}))))) if pIdxInfo == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+7984 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+7999 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*72) @@ -131606,9 +132113,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -133658,7 +134165,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+24580 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24595 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -133706,7 +134213,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*4)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+24580 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24595 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -134095,7 +134602,7 @@ __1: if (rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { if rc == SQLITE_DONE { // We hit the query planner search limit set by iPlanLimit - Xsqlite3_log(tls, SQLITE_WARNING, ts+24606 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+24621 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -134864,7 +135371,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+24641 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+24656 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -135245,7 +135752,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint32(unsafe.Sizeof(Bitmask(0))) * uint32(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+24659 /* "at most %d table..." */, libc.VaList(bp, (int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))) + Xsqlite3ErrorMsg(tls, pParse, ts+24674 /* "at most %d table..." */, libc.VaList(bp, (int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))) return uintptr(0) __3: ; @@ -135320,7 +135827,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+24687 /* "SCAN CONSTANT RO..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+24702 /* "SCAN CONSTANT RO..." */, 0) goto __6 __5: // Assign a bit from the bitmask to every term in the FROM clause. @@ -135844,7 +136351,7 @@ __74: Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_SEEKEQ)) __82: ; - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIx)).FzName)) __81: ; __72: @@ -136059,7 +136566,7 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * Xsqlite3VdbeResolveLabel(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrBrk) if (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip != 0 { Xsqlite3VdbeGoto(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) - Xsqlite3VdbeComment(tls, v, ts+24705 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24720 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzName)) Xsqlite3VdbeJumpHere(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) Xsqlite3VdbeJumpHere(tls, v, ((*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip - 2)) } @@ -136459,7 +136966,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+24726 /* "second argument ..." */, -1) + pCtx, ts+24741 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -136608,7 +137115,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+24782 /* "argument of ntil..." */, -1) + pCtx, ts+24797 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -136704,17 +137211,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155441:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 24827 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 24838 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 24849 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 24854 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 24867 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 24877 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 24883 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 24894 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 24904 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 24916 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 24921 /* "lag" */)) /* sqlite3.c:155469:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 24842 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 24853 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 24864 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 24869 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 24882 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 24892 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 24898 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 24909 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 24919 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 24931 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 24936 /* "lag" */)) /* sqlite3.c:155469:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -136778,7 +137285,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+24925 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24940 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -136822,12 +137329,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+24944 /* "RANGE with offse..." */, 0) + ts+24959 /* "RANGE with offse..." */, 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+25015 /* "FILTER clause ma..." */, 0) + ts+25030 /* "FILTER clause ma..." */, 0) } else { *(*[8]WindowUpdate)(unsafe.Pointer(bp /* aUp */)) = [8]WindowUpdate{ {FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT}, @@ -136850,7 +137357,7 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*Window)(unsafe.Pointer(pWin)).FeEnd = U8((*WindowUpdate)(unsafe.Pointer(bp /* &aUp */ + uintptr(i)*16)).FeEnd) (*Window)(unsafe.Pointer(pWin)).FeExclude = U8(0) if int32((*Window)(unsafe.Pointer(pWin)).FeStart) == TK_FOLLOWING { - (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10119 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10134 /* "1" */) } break } @@ -137091,7 +137598,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+10221 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + ts+10236 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) } return WRC_Continue } @@ -137221,7 +137728,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // keep everything legal in this case. if *(*uintptr)(unsafe.Pointer(bp + 28 /* pSublist */)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(bp + 28 /* pSublist */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3Expr(tls, db, TK_INTEGER, ts+9599 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+9614 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -137361,7 +137868,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+25078 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25093 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -137427,15 +137934,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint var zErr uintptr = uintptr(0) // Check for errors if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = ts + 25110 /* "PARTITION clause" */ + zErr = ts + 25125 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 25127 /* "ORDER BY clause" */ + zErr = ts + 25142 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 25143 /* "frame specificat..." */ + zErr = ts + 25158 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+25163 /* "cannot override ..." */, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase)) + ts+25178 /* "cannot override ..." */, 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 { @@ -137458,7 +137965,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+25196 /* "DISTINCT is not ..." */, 0) + ts+25211 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -137609,7 +138116,7 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regZero) if eCond >= WINDOW_STARTING_NUM { var regString int32 = Xsqlite3GetTempReg(tls, pParse) - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+900 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+915 /* "" */, -1) Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), reg) Xsqlite3VdbeChangeP5(tls, v, (uint16(SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL))) @@ -137631,11 +138138,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 25243, /* "frame starting o..." */ - ts + 25296, /* "frame ending off..." */ - ts + 24726, /* "second argument ..." */ - ts + 25347, /* "frame starting o..." */ - ts + 25399, /* "frame ending off..." */ + ts + 25258, /* "frame starting o..." */ + ts + 25311, /* "frame ending off..." */ + ts + 24741, /* "second argument ..." */ + ts + 25362, /* "frame starting o..." */ + ts + 25414, /* "frame ending off..." */ } /* sqlite3.c:156372:21 */ var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:156379:14 */ @@ -138236,7 +138743,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // the add/subtract is skipped for these, as required. If reg1 is a NULL, // then the arithmetic is performed, but since adding or subtracting from // NULL is always NULL anyway, this case is handled as required too. - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+900 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+915 /* "" */, -1) addrGe = Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, 0, reg1) if ((op == OP_Ge) && (arith == OP_Add)) || ((op == OP_Le) && (arith == OP_Subtract)) { @@ -138953,7 +139460,7 @@ func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uin Xsqlite3VdbeAddOp3(tls, v, OP_Jump, (addr + 2), (addr + 4), (addr + 2)) addrGosubFlush = Xsqlite3VdbeAddOp1(tls, v, OP_Gosub, regFlushPart) - Xsqlite3VdbeComment(tls, v, ts+25449 /* "call flush_parti..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+25464 /* "call flush_parti..." */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_Copy, regNewPart, (*Window)(unsafe.Pointer(pMWin)).FregPart, (nPart - 1)) } @@ -139249,19 +139756,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit } cnt++ if ((*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0) || ((*Select)(unsafe.Pointer(pLoop)).FpLimit != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+25470, /* "%s clause should..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+25485, /* "%s clause should..." */ libc.VaList(bp, func() uintptr { if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - return ts + 22237 /* "ORDER BY" */ + return ts + 22252 /* "ORDER BY" */ } - return ts + 25512 /* "LIMIT" */ + return ts + 25527 /* "LIMIT" */ }(), 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 + 112 /* &.aLimit */) + 4*4)))) > 0)) && (cnt > mxSelect) { - Xsqlite3ErrorMsg(tls, pParse, ts+25518 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25533 /* "too many terms i..." */, 0) } } @@ -139341,7 +139848,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+25552, /* "syntax error aft..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+25567, /* "syntax error aft..." */ libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz)) } Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1) @@ -140566,7 +141073,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+25590 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25605 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -141545,11 +142052,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(22): /* table_options ::= WITHOUT nm */ { - if ((*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz, ts+10282 /* "rowid" */, 5) == 0) { + if ((*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz, ts+10297 /* "rowid" */, 5) == 0) { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)) = (TF_WithoutRowid | TF_NoVisibleRowid) } else { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)) = 0 - Xsqlite3ErrorMsg(tls, pParse, ts+25612 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz)) + Xsqlite3ErrorMsg(tls, pParse, ts+25627 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+4 /* &.minor */)).Fz)) } } break @@ -142284,7 +142791,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in case uint32(155): /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ { Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*12 + 4 /* &.minor */ /* &.yy0 */)) - Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)), ts+25639 /* "set list" */) + Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)), ts+25654 /* "set list" */) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)) = Xsqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */))) Xsqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*12 + 4 /* &.minor */)), uintptr(0), uintptr(0), uintptr(0)) } @@ -142437,7 +142944,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(bp + 68 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 4 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+25648 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+68 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+25663 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+68 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 4 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) @@ -142641,9 +143148,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 /* &.minor */))) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4 /* &.minor */)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, func() uintptr { if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4 /* &.minor */)) != 0 { - return ts + 10119 /* "1" */ + return ts + 10134 /* "1" */ } - return ts + 9599 /* "0" */ + return ts + 9614 /* "0" */ }()) } else if ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)))).FnExpr == 1) && (Xsqlite3ExprIsConstant(tls, (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */))+8 /* &.a */))).FpExpr) != 0) { var pRHS uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4 /* &.minor */)) + 8 /* &.a */))).FpExpr @@ -142918,21 +143425,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4 /* &.minor */)) = *(*Token)(unsafe.Pointer(yymsp + 4 /* &.minor */)) Xsqlite3ErrorMsg(tls, pParse, - ts+25672 /* "qualified table ..." */, 0) + ts+25687 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+25767 /* "the INDEXED BY c..." */, 0) + ts+25782 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+25851 /* "the NOT INDEXED ..." */, 0) + ts+25866 /* "the NOT INDEXED ..." */, 0) } break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ @@ -143381,9 +143888,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To _ = yymajor // Silence some compiler warnings if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+25648 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) + Xsqlite3ErrorMsg(tls, pParse, ts+25663 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+25936 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25951 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -144590,7 +145097,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin *(*int32)(unsafe.Pointer(bp + 1252 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+25953 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+25968 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -144610,12 +145117,12 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+936 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg - Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+25980, /* "%s in \"%s\"" */ + Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+25995, /* "%s in \"%s\"" */ libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ @@ -144827,7 +145334,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+25991 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+26006 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -144840,11 +145347,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+22357 /* "trigger" */, 7) == 0) { + if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+22372 /* "trigger" */, 7) == 0) { token = U8(TkTRIGGER) - } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+25998 /* "temp" */, 4) == 0) { + } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+26013 /* "temp" */, 4) == 0) { token = U8(TkTEMP) - } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+26003 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+26018 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -144857,9 +145364,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+26013 /* "end" */, 3) == 0) { + if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+26028 /* "end" */, 3) == 0) { token = U8(TkEND) - } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+26017 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+26032 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -145892,7 +146399,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // SQLITE_BUSY if the connection can not be closed immediately. if !(forceZombie != 0) && (connectionIsBusy(tls, db) != 0) { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+26025 /* "unable to close ..." */, 0) + ts+26040 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -146125,259 +146632,259 @@ __1: { switch rc { case SQLITE_OK: - zName = ts + 26093 /* "SQLITE_OK" */ + zName = ts + 26108 /* "SQLITE_OK" */ break case SQLITE_ERROR: - zName = ts + 26103 /* "SQLITE_ERROR" */ + zName = ts + 26118 /* "SQLITE_ERROR" */ break case (SQLITE_ERROR | (int32(3) << 8)): - zName = ts + 26116 /* "SQLITE_ERROR_SNA..." */ + zName = ts + 26131 /* "SQLITE_ERROR_SNA..." */ break case SQLITE_INTERNAL: - zName = ts + 26138 /* "SQLITE_INTERNAL" */ + zName = ts + 26153 /* "SQLITE_INTERNAL" */ break case SQLITE_PERM: - zName = ts + 26154 /* "SQLITE_PERM" */ + zName = ts + 26169 /* "SQLITE_PERM" */ break case SQLITE_ABORT: - zName = ts + 26166 /* "SQLITE_ABORT" */ + zName = ts + 26181 /* "SQLITE_ABORT" */ break case (SQLITE_ABORT | (int32(2) << 8)): - zName = ts + 26179 /* "SQLITE_ABORT_ROL..." */ + zName = ts + 26194 /* "SQLITE_ABORT_ROL..." */ break case SQLITE_BUSY: - zName = ts + 26201 /* "SQLITE_BUSY" */ + zName = ts + 26216 /* "SQLITE_BUSY" */ break case (SQLITE_BUSY | (int32(1) << 8)): - zName = ts + 26213 /* "SQLITE_BUSY_RECO..." */ + zName = ts + 26228 /* "SQLITE_BUSY_RECO..." */ break case (SQLITE_BUSY | (int32(2) << 8)): - zName = ts + 26234 /* "SQLITE_BUSY_SNAP..." */ + zName = ts + 26249 /* "SQLITE_BUSY_SNAP..." */ break case SQLITE_LOCKED: - zName = ts + 26255 /* "SQLITE_LOCKED" */ + zName = ts + 26270 /* "SQLITE_LOCKED" */ break case (SQLITE_LOCKED | (int32(1) << 8)): - zName = ts + 26269 /* "SQLITE_LOCKED_SH..." */ + zName = ts + 26284 /* "SQLITE_LOCKED_SH..." */ break case SQLITE_NOMEM: - zName = ts + 26295 /* "SQLITE_NOMEM" */ + zName = ts + 26310 /* "SQLITE_NOMEM" */ break case SQLITE_READONLY: - zName = ts + 26308 /* "SQLITE_READONLY" */ + zName = ts + 26323 /* "SQLITE_READONLY" */ break case (SQLITE_READONLY | (int32(1) << 8)): - zName = ts + 26324 /* "SQLITE_READONLY_..." */ + zName = ts + 26339 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(5) << 8)): - zName = ts + 26349 /* "SQLITE_READONLY_..." */ + zName = ts + 26364 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(3) << 8)): - zName = ts + 26374 /* "SQLITE_READONLY_..." */ + zName = ts + 26389 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(4) << 8)): - zName = ts + 26399 /* "SQLITE_READONLY_..." */ + zName = ts + 26414 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(6) << 8)): - zName = ts + 26423 /* "SQLITE_READONLY_..." */ + zName = ts + 26438 /* "SQLITE_READONLY_..." */ break case SQLITE_INTERRUPT: - zName = ts + 26449 /* "SQLITE_INTERRUPT" */ + zName = ts + 26464 /* "SQLITE_INTERRUPT" */ break case SQLITE_IOERR: - zName = ts + 26466 /* "SQLITE_IOERR" */ + zName = ts + 26481 /* "SQLITE_IOERR" */ break case (SQLITE_IOERR | (int32(1) << 8)): - zName = ts + 26479 /* "SQLITE_IOERR_REA..." */ + zName = ts + 26494 /* "SQLITE_IOERR_REA..." */ break case (SQLITE_IOERR | (int32(2) << 8)): - zName = ts + 26497 /* "SQLITE_IOERR_SHO..." */ + zName = ts + 26512 /* "SQLITE_IOERR_SHO..." */ break case (SQLITE_IOERR | (int32(3) << 8)): - zName = ts + 26521 /* "SQLITE_IOERR_WRI..." */ + zName = ts + 26536 /* "SQLITE_IOERR_WRI..." */ break case (SQLITE_IOERR | (int32(4) << 8)): - zName = ts + 26540 /* "SQLITE_IOERR_FSY..." */ + zName = ts + 26555 /* "SQLITE_IOERR_FSY..." */ break case (SQLITE_IOERR | (int32(5) << 8)): - zName = ts + 26559 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 26574 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(6) << 8)): - zName = ts + 26582 /* "SQLITE_IOERR_TRU..." */ + zName = ts + 26597 /* "SQLITE_IOERR_TRU..." */ break case (SQLITE_IOERR | (int32(7) << 8)): - zName = ts + 26604 /* "SQLITE_IOERR_FST..." */ + zName = ts + 26619 /* "SQLITE_IOERR_FST..." */ break case (SQLITE_IOERR | (int32(8) << 8)): - zName = ts + 26623 /* "SQLITE_IOERR_UNL..." */ + zName = ts + 26638 /* "SQLITE_IOERR_UNL..." */ break case (SQLITE_IOERR | (int32(9) << 8)): - zName = ts + 26643 /* "SQLITE_IOERR_RDL..." */ + zName = ts + 26658 /* "SQLITE_IOERR_RDL..." */ break case (SQLITE_IOERR | (int32(10) << 8)): - zName = ts + 26663 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 26678 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(12) << 8)): - zName = ts + 26683 /* "SQLITE_IOERR_NOM..." */ + zName = ts + 26698 /* "SQLITE_IOERR_NOM..." */ break case (SQLITE_IOERR | (int32(13) << 8)): - zName = ts + 26702 /* "SQLITE_IOERR_ACC..." */ + zName = ts + 26717 /* "SQLITE_IOERR_ACC..." */ break case (SQLITE_IOERR | (int32(14) << 8)): - zName = ts + 26722 /* "SQLITE_IOERR_CHE..." */ + zName = ts + 26737 /* "SQLITE_IOERR_CHE..." */ break case (SQLITE_IOERR | (int32(15) << 8)): - zName = ts + 26753 /* "SQLITE_IOERR_LOC..." */ + zName = ts + 26768 /* "SQLITE_IOERR_LOC..." */ break case (SQLITE_IOERR | (int32(16) << 8)): - zName = ts + 26771 /* "SQLITE_IOERR_CLO..." */ + zName = ts + 26786 /* "SQLITE_IOERR_CLO..." */ break case (SQLITE_IOERR | (int32(17) << 8)): - zName = ts + 26790 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 26805 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(18) << 8)): - zName = ts + 26813 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26828 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(19) << 8)): - zName = ts + 26834 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26849 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(20) << 8)): - zName = ts + 26855 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26870 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(21) << 8)): - zName = ts + 26876 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26891 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(22) << 8)): - zName = ts + 26896 /* "SQLITE_IOERR_SEE..." */ + zName = ts + 26911 /* "SQLITE_IOERR_SEE..." */ break case (SQLITE_IOERR | (int32(23) << 8)): - zName = ts + 26914 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 26929 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(24) << 8)): - zName = ts + 26940 /* "SQLITE_IOERR_MMA..." */ + zName = ts + 26955 /* "SQLITE_IOERR_MMA..." */ break case (SQLITE_IOERR | (int32(25) << 8)): - zName = ts + 26958 /* "SQLITE_IOERR_GET..." */ + zName = ts + 26973 /* "SQLITE_IOERR_GET..." */ break case (SQLITE_IOERR | (int32(26) << 8)): - zName = ts + 26983 /* "SQLITE_IOERR_CON..." */ + zName = ts + 26998 /* "SQLITE_IOERR_CON..." */ break case SQLITE_CORRUPT: - zName = ts + 27005 /* "SQLITE_CORRUPT" */ + zName = ts + 27020 /* "SQLITE_CORRUPT" */ break case (SQLITE_CORRUPT | (int32(1) << 8)): - zName = ts + 27020 /* "SQLITE_CORRUPT_V..." */ + zName = ts + 27035 /* "SQLITE_CORRUPT_V..." */ break case SQLITE_NOTFOUND: - zName = ts + 27040 /* "SQLITE_NOTFOUND" */ + zName = ts + 27055 /* "SQLITE_NOTFOUND" */ break case SQLITE_FULL: - zName = ts + 27056 /* "SQLITE_FULL" */ + zName = ts + 27071 /* "SQLITE_FULL" */ break case SQLITE_CANTOPEN: - zName = ts + 27068 /* "SQLITE_CANTOPEN" */ + zName = ts + 27083 /* "SQLITE_CANTOPEN" */ break case (SQLITE_CANTOPEN | (int32(1) << 8)): - zName = ts + 27084 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27099 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(2) << 8)): - zName = ts + 27110 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27125 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(3) << 8)): - zName = ts + 27132 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27147 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(4) << 8)): - zName = ts + 27157 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27172 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(6) << 8)): - zName = ts + 27182 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27197 /* "SQLITE_CANTOPEN_..." */ break case SQLITE_PROTOCOL: - zName = ts + 27206 /* "SQLITE_PROTOCOL" */ + zName = ts + 27221 /* "SQLITE_PROTOCOL" */ break case SQLITE_EMPTY: - zName = ts + 27222 /* "SQLITE_EMPTY" */ + zName = ts + 27237 /* "SQLITE_EMPTY" */ break case SQLITE_SCHEMA: - zName = ts + 27235 /* "SQLITE_SCHEMA" */ + zName = ts + 27250 /* "SQLITE_SCHEMA" */ break case SQLITE_TOOBIG: - zName = ts + 27249 /* "SQLITE_TOOBIG" */ + zName = ts + 27264 /* "SQLITE_TOOBIG" */ break case SQLITE_CONSTRAINT: - zName = ts + 27263 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27278 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(8) << 8)): - zName = ts + 27281 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27296 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(7) << 8)): - zName = ts + 27306 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27321 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(3) << 8)): - zName = ts + 27332 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27347 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(1) << 8)): - zName = ts + 27361 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27376 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(6) << 8)): - zName = ts + 27385 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27400 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(5) << 8)): - zName = ts + 27414 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27429 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(2) << 8)): - zName = ts + 27440 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27455 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(9) << 8)): - zName = ts + 27469 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27484 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(4) << 8)): - zName = ts + 27492 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27507 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(10) << 8)): - zName = ts + 27519 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27534 /* "SQLITE_CONSTRAIN..." */ break case SQLITE_MISMATCH: - zName = ts + 27543 /* "SQLITE_MISMATCH" */ + zName = ts + 27558 /* "SQLITE_MISMATCH" */ break case SQLITE_MISUSE: - zName = ts + 27559 /* "SQLITE_MISUSE" */ + zName = ts + 27574 /* "SQLITE_MISUSE" */ break case SQLITE_NOLFS: - zName = ts + 27573 /* "SQLITE_NOLFS" */ + zName = ts + 27588 /* "SQLITE_NOLFS" */ break case SQLITE_AUTH: - zName = ts + 27586 /* "SQLITE_AUTH" */ + zName = ts + 27601 /* "SQLITE_AUTH" */ break case SQLITE_FORMAT: - zName = ts + 27598 /* "SQLITE_FORMAT" */ + zName = ts + 27613 /* "SQLITE_FORMAT" */ break case SQLITE_RANGE: - zName = ts + 27612 /* "SQLITE_RANGE" */ + zName = ts + 27627 /* "SQLITE_RANGE" */ break case SQLITE_NOTADB: - zName = ts + 27625 /* "SQLITE_NOTADB" */ + zName = ts + 27640 /* "SQLITE_NOTADB" */ break case SQLITE_ROW: - zName = ts + 27639 /* "SQLITE_ROW" */ + zName = ts + 27654 /* "SQLITE_ROW" */ break case SQLITE_NOTICE: - zName = ts + 27650 /* "SQLITE_NOTICE" */ + zName = ts + 27665 /* "SQLITE_NOTICE" */ break case (SQLITE_NOTICE | (int32(1) << 8)): - zName = ts + 27664 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 27679 /* "SQLITE_NOTICE_RE..." */ break case (SQLITE_NOTICE | (int32(2) << 8)): - zName = ts + 27690 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 27705 /* "SQLITE_NOTICE_RE..." */ break case SQLITE_WARNING: - zName = ts + 27721 /* "SQLITE_WARNING" */ + zName = ts + 27736 /* "SQLITE_WARNING" */ break case (SQLITE_WARNING | (int32(1) << 8)): - zName = ts + 27736 /* "SQLITE_WARNING_A..." */ + zName = ts + 27751 /* "SQLITE_WARNING_A..." */ break case SQLITE_DONE: - zName = ts + 27761 /* "SQLITE_DONE" */ + zName = ts + 27776 /* "SQLITE_DONE" */ break } @@ -146391,7 +146898,7 @@ __2: __3: ; if zName == uintptr(0) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof(zBuf)), uintptr(unsafe.Pointer(&zBuf)), ts+27773 /* "SQLITE_UNKNOWN(%..." */, libc.VaList(bp, origRc)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof(zBuf)), uintptr(unsafe.Pointer(&zBuf)), ts+27788 /* "SQLITE_UNKNOWN(%..." */, libc.VaList(bp, origRc)) zName = uintptr(unsafe.Pointer(&zBuf)) } return zName @@ -146402,23 +146909,23 @@ var zBuf [50]int8 /* sqlite3.c:166643:17: */ // Return a static string that describes the kind of error specified in the // argument. func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: */ - var zErr uintptr = ts + 27792 /* "unknown error" */ + var zErr uintptr = ts + 27807 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 27806 /* "abort due to ROL..." */ + zErr = ts + 27821 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 27828 /* "another row avai..." */ + zErr = ts + 27843 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 27850 /* "no more rows ava..." */ + zErr = ts + 27865 /* "no more rows ava..." */ break } @@ -146436,35 +146943,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 27873, /* "not an error" */ - /* SQLITE_ERROR */ ts + 27886, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 27888, /* "not an error" */ + /* SQLITE_ERROR */ ts + 27901, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 27902, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 27927, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 27941, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 27960, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 7984, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 27985, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 28022, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 28034, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 28049, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 28082, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 28100, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 28125, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 28154, /* "locking protocol" */ + /* SQLITE_PERM */ ts + 27917, /* "access permissio..." */ + /* SQLITE_ABORT */ ts + 27942, /* "query aborted" */ + /* SQLITE_BUSY */ ts + 27956, /* "database is lock..." */ + /* SQLITE_LOCKED */ ts + 27975, /* "database table i..." */ + /* SQLITE_NOMEM */ ts + 7999, /* "out of memory" */ + /* SQLITE_READONLY */ ts + 28000, /* "attempt to write..." */ + /* SQLITE_INTERRUPT */ ts + 28037, /* "interrupted" */ + /* SQLITE_IOERR */ ts + 28049, /* "disk I/O error" */ + /* SQLITE_CORRUPT */ ts + 28064, /* "database disk im..." */ + /* SQLITE_NOTFOUND */ ts + 28097, /* "unknown operatio..." */ + /* SQLITE_FULL */ ts + 28115, /* "database or disk..." */ + /* SQLITE_CANTOPEN */ ts + 28140, /* "unable to open d..." */ + /* SQLITE_PROTOCOL */ ts + 28169, /* "locking protocol" */ /* SQLITE_EMPTY */ uintptr(0), - /* SQLITE_SCHEMA */ ts + 7714, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 7251, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 28171, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 28189, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 28207, /* "bad parameter or..." */ + /* SQLITE_SCHEMA */ ts + 7729, /* "database schema ..." */ + /* SQLITE_TOOBIG */ ts + 7266, /* "string or blob t..." */ + /* SQLITE_CONSTRAINT */ ts + 28186, /* "constraint faile..." */ + /* SQLITE_MISMATCH */ ts + 28204, /* "datatype mismatc..." */ + /* SQLITE_MISUSE */ ts + 28222, /* "bad parameter or..." */ /* SQLITE_NOLFS */ uintptr(0), - /* SQLITE_AUTH */ ts + 28241, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 28256, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 28262, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 28288, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 28311, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 28332, /* "warning message" */ + /* SQLITE_RANGE */ ts + 28277, /* "column index out..." */ + /* SQLITE_NOTADB */ ts + 28303, /* "file is not a da..." */ + /* SQLITE_NOTICE */ ts + 28326, /* "notification mes..." */ + /* SQLITE_WARNING */ ts + 28347, /* "warning message" */ } /* sqlite3.c:166656:20 */ // This routine implements a busy callback that sleeps and tries @@ -146629,7 +147136,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+28348 /* "unable to delete..." */, 0) + ts+28363 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -146762,7 +147269,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+28411 /* "unable to use fu..." */, libc.VaList(bp, zName)) + ts+28426 /* "unable to use fu..." */, libc.VaList(bp, zName)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } @@ -146984,7 +147491,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+28462 /* "unknown database..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+28477 /* "unknown database..." */, libc.VaList(bp, zDb)) } else { (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -147203,7 +147710,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint if (pColl != 0) && ((*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0) { if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+28483 /* "unable to delete..." */, 0) + ts+28498 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -147346,7 +147853,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u if !(((((flags & uint32(SQLITE_OPEN_URI)) != 0) || // IMP: R-48725-32206 (Xsqlite3Config.FbOpenUri != 0)) && // IMP: R-51689-46548 - (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+28551 /* "file:" */, uint32(5)) == 0)) { + (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+28566 /* "file:" */, uint32(5)) == 0)) { goto __1 } // Input character index iOut = 0 // Output character index @@ -147394,10 +147901,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+28557 /* "localhost" */, (zUri+7), uint32(9)) != 0))) { + if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+28572 /* "localhost" */, (zUri+7), uint32(9)) != 0))) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28567, /* "invalid uri auth..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28582, /* "invalid uri auth..." */ libc.VaList(bp, (iIn-7), (zUri+7))) rc = SQLITE_ERROR goto parse_uri_out @@ -147519,7 +148026,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+28595 /* "vfs" */, zOpt, uint32(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+28610 /* "vfs" */, zOpt, uint32(3)) == 0)) { goto __29 } zVfs = zVal @@ -147530,17 +148037,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+28599 /* "cache" */, zOpt, uint32(5)) == 0)) { + if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+28614 /* "cache" */, zOpt, uint32(5)) == 0)) { goto __31 } mask = (SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&aCacheMode)) limit = mask - zModeType = ts + 28599 /* "cache" */ + zModeType = ts + 28614 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+28605 /* "mode" */, zOpt, uint32(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+28620 /* "mode" */, zOpt, uint32(4)) == 0)) { goto __32 } @@ -147548,7 +148055,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 4639 /* "access" */ + zModeType = ts + 4654 /* "access" */ __32: ; @@ -147579,7 +148086,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28610 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28625 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -147587,7 +148094,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28630, /* "%s mode not allo..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28645, /* "%s mode not allo..." */ libc.VaList(bp+32, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out @@ -147630,7 +148137,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28654 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28669 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) rc = SQLITE_ERROR __42: ; @@ -147653,15 +148160,15 @@ type OpenMode = struct { } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 19895 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 28670 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, + {Fz: ts + 19910 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, + {Fz: ts + 28685 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, } /* sqlite3.c:168073:34 */ var aOpenMode = [5]OpenMode{ - {Fz: ts + 28678 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 28681 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 28684 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 19278 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, + {Fz: ts + 28693 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, + {Fz: ts + 28696 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, + {Fz: ts + 28699 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, + {Fz: ts + 19293 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, {}, } /* sqlite3.c:168085:34 */ @@ -147843,10 +148350,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+24500 /* "NOCASE" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+24515 /* "NOCASE" */, 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+28688 /* "RTRIM" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+28703 /* "RTRIM" */, 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) { @@ -147892,7 +148399,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)))) @@ -147930,9 +148437,9 @@ __22: // The default safety_level for the main database is FULL; for the temp // database it is OFF. This matches the pager layer defaults. - (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 8551 /* "main" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 8566 /* "main" */ (*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 + 25998 /* "temp" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).FzDbSName = ts + 26013 /* "temp" */ (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF) (*Sqlite3)(unsafe.Pointer(db)).Fmagic = SQLITE_MAGIC_OPEN @@ -148050,7 +148557,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 28694 /* "\x00\x00" */ + zFilename = ts + 28709 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -148153,24 +148660,24 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) bp := tls.Alloc(24) defer tls.Free(24) - Xsqlite3_log(tls, iErr, ts+28697, /* "%s at line %d of..." */ + Xsqlite3_log(tls, iErr, ts+28712, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) return iErr } func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168711:20: */ - return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+28722 /* "database corrupt..." */) + return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+28737 /* "database corrupt..." */) } func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168715:20: */ - return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+28742 /* "misuse" */) + return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+28757 /* "misuse" */) } func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168719:20: */ - return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+28749 /* "cannot open file" */) + return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+28764 /* "cannot open file" */) } // This is a convenience routine that makes sure that all thread-specific @@ -148297,7 +148804,7 @@ __4: autoinc = (libc.Bool32((int32((*Table)(unsafe.Pointer(pTab)).FiPKey) == iCol) && (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != U32(0)))) goto __13 __12: - zDataType = ts + 14687 /* "INTEGER" */ + zDataType = ts + 14702 /* "INTEGER" */ primarykey = 1 __13: ; @@ -148349,14 +148856,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+28766 /* "no such table co..." */, libc.VaList(bp, zTableName, + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+28781 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -149155,7 +149662,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+28794 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+28809 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -149316,7 +149823,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 + 28802 /* "database is dead..." */ + return ts + 28817 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -150115,7 +150622,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 8061 /* "null" */, ts + 8863 /* "true" */, ts + 8868 /* "false" */, ts + 8071 /* "integer" */, ts + 8066 /* "real" */, ts + 16811 /* "text" */, ts + 28825 /* "array" */, ts + 28831, /* "object" */ + ts + 8076 /* "null" */, ts + 8878 /* "true" */, ts + 8883 /* "false" */, ts + 8086 /* "integer" */, ts + 8081 /* "real" */, ts + 16826 /* "text" */, ts + 28840 /* "array" */, ts + 28846, /* "object" */ } /* sqlite3.c:189771:19 */ // Maximum nesting depth of JSON for this implementation. @@ -150295,7 +150802,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 + 28838 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 28853 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -150323,7 +150830,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { - jsonAppendRaw(tls, p, ts+8061 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+8076 /* "null" */, uint32(4)) break } @@ -150352,7 +150859,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 default: { if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { - Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+28855 /* "JSON cannot hold..." */, -1) + Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+28870 /* "JSON cannot hold..." */, -1) (*JsonString)(unsafe.Pointer(p)).FbErr = U8(2) jsonReset(tls, p) } @@ -150429,19 +150936,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+8061 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+8076 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+8863 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+8878 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+8868 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+8883 /* "false" */, uint32(5)) break } @@ -151007,17 +151514,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } return (int32(j + U32(1))) } else if ((int32(c) == 'n') && - (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8061 /* "null" */, uint32(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8076 /* "null" */, uint32(4)) == 0)) && !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { 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+8863 /* "true" */, uint32(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8878 /* "true" */, 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+8868 /* "false" */, uint32(5)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8883 /* "false" */, 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))) @@ -151125,7 +151632,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+28884 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+28899 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -151445,7 +151952,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+28899 /* "[0]" */, uint32(3)) == 0 { + } else if libc.Xstrncmp(tls, zPath, ts+28914 /* "[0]" */, uint32(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) } else { return uintptr(0) @@ -151462,7 +151969,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190 bp := tls.Alloc(8) defer tls.Free(8) - return Xsqlite3_mprintf(tls, ts+28903 /* "JSON path error ..." */, libc.VaList(bp, zErr)) + return Xsqlite3_mprintf(tls, ts+28918 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } // Do a node lookup using zPath. Return a pointer to the node on success. @@ -151529,7 +152036,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit bp := tls.Alloc(8) defer tls.Free(8) - var zMsg uintptr = Xsqlite3_mprintf(tls, ts+28929, /* "json_%s() needs ..." */ + var zMsg uintptr = Xsqlite3_mprintf(tls, ts+28944, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -151673,7 +152180,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* if pNode != 0 { jsonRenderNode(tls, pNode, bp /* &jx */, uintptr(0)) } else { - jsonAppendRaw(tls, bp /* &jx */, ts+8061 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+8076 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -151801,14 +152308,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+28972 /* "json_object() re..." */, -1) + ts+28987 /* "json_object() re..." */, -1) return } jsonInit(tls, bp /* &jx */, ctx) jsonAppendChar(tls, bp /* &jx */, 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+29023 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+29038 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -151916,7 +152423,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+17322 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+17337 /* "replace" */) return __2: ; @@ -152002,9 +152509,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 29057 /* "set" */ + return ts + 29072 /* "set" */ } - return ts + 29061 /* "insert" */ + return ts + 29076 /* "insert" */ }()) return __2: @@ -152152,7 +152659,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+29068 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+29083 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -152257,7 +152764,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+29071 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+29086 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -152310,7 +152817,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+29074 /* "CREATE TABLE x(k..." */) + ts+29089 /* "CREATE TABLE x(k..." */) if rc == SQLITE_OK { pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{})))) if pNew == uintptr(0) { @@ -152448,14 +152955,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql 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+29157 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) + jsonPrintf(tls, 30, pStr, ts+29172 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) } else { if (int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags) & JNODE_LABEL) == 0 { pNode -= 12 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+29162 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+29177 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } @@ -152548,9 +153055,9 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* jsonAppendChar(tls, bp+24 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+24 /* &x */, ts+29157 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+24 /* &x */, ts+29172 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+29162 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+29177 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } jsonResult(tls, bp+24 /* &x */) @@ -152574,7 +153081,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 + 29168 /* "$" */ + zRoot = ts + 29183 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -152706,7 +153213,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+28884 /* "malformed JSON" */, 0) + (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+28899 /* "malformed JSON" */, 0) if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { rc = SQLITE_ERROR } @@ -152846,21 +153353,21 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 29170 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29175 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29186 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29186 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29204 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29217 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29229 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29241 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29252 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29263 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29275 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29288 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 29297 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29297 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29307 /* "json_valid" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29185 /* "json" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29190 /* "json_array" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29201 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29201 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 29219 /* "json_extract" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29232 /* "json_insert" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29244 /* "json_object" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29256 /* "json_patch" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 29267 /* "json_quote" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29278 /* "json_remove" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29290 /* "json_replace" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29303 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, + {FzName: ts + 29312 /* "json_type" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29312 /* "json_type" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 29322 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { FzName uintptr @@ -152869,17 +153376,17 @@ var aAgg = [2]struct { FxFinal uintptr FxValue uintptr }{ - {FzName: ts + 29318 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 29333 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 29335 /* "json_group_objec..." */, FnArg: 2, + {FzName: ts + 29350 /* "json_group_objec..." */, FnArg: 2, FxStep: 0, FxFinal: 0, FxValue: 0}, } /* sqlite3.c:192211:5 */ var aMod = [2]struct { FzName uintptr FpModule uintptr }{ - {FzName: ts + 29353 /* "json_each" */, FpModule: 0}, - {FzName: ts + 29363 /* "json_tree" */, FpModule: 0}, + {FzName: ts + 29368 /* "json_each" */, FpModule: 0}, + {FzName: ts + 29378 /* "json_tree" */, FpModule: 0}, } /* sqlite3.c:192221:5 */ var enc int32 = ((SQLITE_UTF8 | SQLITE_DETERMINISTIC) | SQLITE_INNOCUOUS) /* sqlite3.c:192226:20 */ // In the SQLite core @@ -153226,11 +153733,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+29373 /* "%s_node" */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + var zTab uintptr = Xsqlite3_mprintf(tls, ts+29388 /* "%s_node" */, 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+29381 /* "data" */, iNode, 0, + rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+29396 /* "data" */, iNode, 0, (pRtree + 76 /* &.pNodeBlob */)) Xsqlite3_free(tls, zTab) } @@ -153475,7 +153982,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+29386, /* "DROP TABLE '%q'...." */ + ts+29401, /* "DROP TABLE '%q'...." */ 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)) @@ -154235,7 +154742,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information - pSrc = Xsqlite3_value_pointer(tls, pValue, ts+29468 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+29483 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -154499,7 +155006,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+24 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+24 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -155759,7 +156266,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+29482 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, ts+29497 /* "SELECT * FROM %Q..." */, 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 /* &pStmt */, uintptr(0)) } else { @@ -155771,12 +156278,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 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+29502 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+29517 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), iCol) var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+29534 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+29549 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } @@ -156044,7 +156551,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+29571 /* "ALTER TABLE %Q.'..." */, 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+29586 /* "ALTER TABLE %Q.'..." */, 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)) @@ -156082,7 +156589,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(20) defer tls.Free(20) - var zFmt uintptr = ts + 29716 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 29731 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+16, 4 @@ -156090,7 +156597,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit var nRow I64 = int64(0) rc = Xsqlite3_table_column_metadata(tls, - db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+13331 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+13346 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == SQLITE_ERROR { @@ -156143,7 +156650,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 29772 /* "node" */, ts + 6977 /* "parent" */, ts + 10282, /* "rowid" */ + ts + 29787 /* "node" */, ts + 6992 /* "parent" */, ts + 10297, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -156187,19 +156694,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+29777, /* "CREATE TABLE \"%w..." */ + ts+29792, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+29839 /* ",a%d" */, libc.VaList(bp+16, ii)) + Xsqlite3_str_appendf(tls, p, ts+29854 /* ",a%d" */, libc.VaList(bp+16, ii)) } Xsqlite3_str_appendf(tls, p, - ts+29844, /* ");CREATE TABLE \"..." */ + ts+29859, /* ");CREATE TABLE \"..." */ libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+29908, /* "CREATE TABLE \"%w..." */ + ts+29923, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+29978, /* "INSERT INTO \"%w\"..." */ + ts+29993, /* "INSERT INTO \"%w\"..." */ libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { @@ -156230,7 +156737,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } else { // An UPSERT is very slightly slower than REPLACE, but it is needed // if there are auxiliary columns - zFormat = ts + 30027 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 30042 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { @@ -156242,7 +156749,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+30135, /* "SELECT * FROM \"%..." */ + ts+30150, /* "SELECT * FROM \"%..." */ libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -156250,18 +156757,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+30180 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+112, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+30195 /* "UPDATE \"%w\".\"%w_..." */, 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+14840 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+14855 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+30207 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+30222 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+30229 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+30244 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) } } - Xsqlite3_str_appendf(tls, p, ts+30237 /* " WHERE rowid=?1" */, 0) + Xsqlite3_str_appendf(tls, p, ts+30252 /* " WHERE rowid=?1" */, 0) zSql = Xsqlite3_str_finish(tls, p) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -156277,18 +156784,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 30253, /* "INSERT OR REPLAC..." */ - ts + 30306, /* "DELETE FROM '%q'..." */ + ts + 30268, /* "INSERT OR REPLAC..." */ + ts + 30321, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 30351, /* "SELECT nodeno FR..." */ - ts + 30403, /* "INSERT OR REPLAC..." */ - ts + 30457, /* "DELETE FROM '%q'..." */ + ts + 30366, /* "SELECT nodeno FR..." */ + ts + 30418, /* "INSERT OR REPLAC..." */ + ts + 30472, /* "DELETE FROM '%q'..." */ // Read and write the xxx_parent table - ts + 30502, /* "SELECT parentnod..." */ - ts + 30560, /* "INSERT OR REPLAC..." */ - ts + 30615, /* "DELETE FROM '%q'..." */ + ts + 30517, /* "SELECT parentnod..." */ + ts + 30575, /* "INSERT OR REPLAC..." */ + ts + 30630, /* "DELETE FROM '%q'..." */ } /* sqlite3.c:195763:21 */ // The second argument to this function contains the text of an SQL statement @@ -156335,7 +156842,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr var zSql uintptr if isCreate != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) = 0 - zSql = Xsqlite3_mprintf(tls, ts+30662 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, ts+30677 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) rc = getIntFromStmt(tls, db, zSql, bp+48 /* &iPageSize */) if rc == SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) - 64) @@ -156343,19 +156850,19 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, - ts+30682, /* "SELECT length(da..." */ + ts+30697, /* "SELECT length(da..." */ libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 16 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30739, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30754, /* "undersize RTree ..." */ libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -156406,17 +156913,17 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr ii = 4 *(*[5]uintptr)(unsafe.Pointer(bp + 96 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 - ts + 30774, /* "Wrong number of ..." */ // 1 - ts + 30817, /* "Too few columns ..." */ // 2 - ts + 30852, /* "Too many columns..." */ // 3 - ts + 30888, /* "Auxiliary rtree ..." */ // 4 + ts + 30789, /* "Wrong number of ..." */ // 1 + ts + 30832, /* "Too few columns ..." */ // 2 + ts + 30867, /* "Too many columns..." */ // 3 + ts + 30903, /* "Auxiliary rtree ..." */ // 4 } // Aux columns counted by a u8 if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*4)))) return SQLITE_ERROR __1: ; @@ -156446,7 +156953,7 @@ __2: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+30925, /* "CREATE TABLE x(%..." */ + Xsqlite3_str_appendf(tls, pSql, ts+30940, /* "CREATE TABLE x(%..." */ libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))), *(*uintptr)(unsafe.Pointer(argv + 3*4)))) ii = 4 __3: @@ -156458,7 +156965,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+30949 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+30964 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -156481,7 +156988,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+30955 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+30970 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -156492,14 +156999,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*4)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -156542,7 +157049,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*4)))) goto rtreeInit_fail __22: ; @@ -156560,7 +157067,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -156580,7 +157087,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 30958 /* ",%.*s REAL" */, ts + 30969 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ +var azFormat = [2]uintptr{ts + 30973 /* ",%.*s REAL" */, ts + 30984 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -156635,13 +157142,13 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit nodeGetCell(tls, bp+48 /* &tree */, bp+16 /* &node */, ii, bp+552 /* &cell */) if ii > 0 { - Xsqlite3_str_append(tls, pOut, ts+12911 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+12926 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+30979 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+552 /* &cell */)).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, ts+30994 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+552 /* &cell */)).FiRowid)) for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+48 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+30985 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 552 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+31000 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 552 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } - Xsqlite3_str_append(tls, pOut, ts+30989 /* "}" */, 1) + Xsqlite3_str_append(tls, pOut, ts+31004 /* "}" */, 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}))) @@ -156660,7 +157167,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli _ = 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+30991 /* "Invalid argument..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+31006 /* "Invalid argument..." */, -1) } else { var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -156747,12 +157254,12 @@ 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+31024, /* "%z%s%z" */ + (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+31039, /* "%z%s%z" */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - return ts + 5929 /* "\n" */ + return ts + 5944 /* "\n" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -156783,7 +157290,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+31031, /* "SELECT data FROM..." */ + ts+31046, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -156802,7 +157309,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+31076 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+31091 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -156826,8 +157333,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 /* azSql */)) = [2]uintptr{ - ts + 31108, /* "SELECT parentnod..." */ - ts + 31162, /* "SELECT nodeno FR..." */ + ts + 31123, /* "SELECT parentnod..." */ + ts + 31177, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 24 /* &.aCheckMapping */) + uintptr(bLeaf)*4)) == uintptr(0) { @@ -156842,23 +157349,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+31210, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+31225, /* "Mapping (%lld ->..." */ libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 31255 /* "%_rowid" */ + return ts + 31270 /* "%_rowid" */ } - return ts + 31263 /* "%_parent" */ + return ts + 31278 /* "%_parent" */ }())) } else if rc == SQLITE_ROW { var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, - ts+31272, /* "Found (%lld -> %..." */ + ts+31287, /* "Found (%lld -> %..." */ libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 31255 /* "%_rowid" */ + return ts + 31270 /* "%_rowid" */ } - return ts + 31263 /* "%_parent" */ + return ts + 31278 /* "%_parent" */ }(), iKey, iVal)) } } @@ -156901,7 +157408,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, - ts+31330 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+31345 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -156921,7 +157428,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 60 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+31378 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) + ts+31393 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -156944,14 +157451,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr if aNode != 0 { if *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+31445 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) + ts+31460 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+31479 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+31494 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } @@ -156959,7 +157466,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 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, - ts+31509, /* "Node %lld is too..." */ + ts+31524, /* "Node %lld is too..." */ libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { for i = 0; i < nCell; i++ { @@ -156993,14 +157500,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+31564, /* "SELECT count(*) ..." */ + pCount = rtreeCheckPrepare(tls, pCheck, ts+31579, /* "SELECT count(*) ..." */ 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+31595 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) + ts+31610 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -157030,13 +157537,13 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+16510 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+16525 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+31662 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+31677 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) @@ -157045,12 +157552,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+29482 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+29497 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) if pStmt != 0 { var rc int32 (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+31690 /* "Schema corrupt o..." */, 0) + rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+31705 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } @@ -157065,8 +157572,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { rtreeCheckNode(tls, bp+32 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+32 /* &check */, ts+31721 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+32 /* &check */, ts+31728 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+31736 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+31743 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check @@ -157076,7 +157583,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // If one was opened, close the transaction if bEnd != 0 { - var rc int32 = Xsqlite3_exec(tls, db, ts+31736 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) + var rc int32 = Xsqlite3_exec(tls, db, ts+31751 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } @@ -157122,7 +157629,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+31740 /* "wrong number of ..." */, -1) + ts+31755 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -157130,7 +157637,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 8551 /* "main" */ + zDb = ts + 8566 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*4))) } @@ -157140,7 +157647,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if *(*uintptr)(unsafe.Pointer(bp /* zReport */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp /* zReport */)) } - return ts + 5213 /* "ok" */ + return ts + 5228 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -157576,11 +158083,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+31791 /* "[" */, 1) + Xsqlite3_str_append(tls, x, ts+31806 /* "[" */, 1) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { - Xsqlite3_str_appendf(tls, x, ts+31793 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) + Xsqlite3_str_appendf(tls, x, ts+31808 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+31804 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+31819 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 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) } @@ -157604,19 +158111,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+31815 /* "" */, 0) + Xsqlite3_str_appendf(tls, x, ts+31868 /* ">" */, 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) } @@ -158631,7 +159138,7 @@ __1: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+31866 /* "CREATE TABLE x(_..." */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+31881 /* "CREATE TABLE x(_..." */, 0) (*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1) // Add one for _shape (*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1) // The _shape column is always not-null ii = 3 @@ -158640,7 +159147,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+31888 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)))) + Xsqlite3_str_appendf(tls, pSql, ts+31903 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)))) goto __3 __3: ii++ @@ -158648,7 +159155,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+30955 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+30970 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -158659,7 +159166,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -158685,7 +159192,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -158918,7 +159425,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s if iRowidTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 10282 /* "rowid" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 10297 /* "rowid" */ (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).FargvIndex = 1 (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).Fomit = uint8(1) (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 30.0 @@ -158928,7 +159435,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } if iFuncTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31892 /* "rtree" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31907 /* "rtree" */ (*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 @@ -158936,7 +159443,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s return SQLITE_OK } (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31898 /* "fullscan" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31913 /* "fullscan" */ (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -159074,7 +159581,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+31907 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+31922 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -159219,14 +159726,14 @@ geopoly_update_end: // Report that geopoly_overlap() is an overloaded function suitable // for use in xBestIndex. func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:198361:12: */ - if Xsqlite3_stricmp(tls, zName, ts+31947 /* "geopoly_overlap" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+31962 /* "geopoly_overlap" */) == 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+31963 /* "geopoly_within" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+31978 /* "geopoly_within" */) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{geopolyWithinFunc})) @@ -159291,7 +159798,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 uintptr(0), aAgg1[i].FxStep, aAgg1[i].FxFinal) } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, ts+31978 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+31993 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -159303,25 +159810,25 @@ var aFunc1 = [12]struct { _ [2]byte FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 31986 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 31999 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32012 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 32025 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31963 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 32037 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31947 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 32060 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32074 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 32087 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 32101 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32117 /* "geopoly_ccw" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32001 /* "geopoly_area" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32014 /* "geopoly_blob" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32027 /* "geopoly_json" */}, + {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 32040 /* "geopoly_svg" */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31978 /* "geopoly_within" */}, + {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 32052 /* "geopoly_contains..." */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31962 /* "geopoly_overlap" */}, + {FxFunc: 0, FnArg: int8(1), FzName: ts + 32075 /* "geopoly_debug" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32089 /* "geopoly_bbox" */}, + {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 32102 /* "geopoly_xform" */}, + {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 32116 /* "geopoly_regular" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32132 /* "geopoly_ccw" */}, } /* sqlite3.c:198416:5 */ var aAgg1 = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ - {FxStep: 0, FxFinal: 0, FzName: ts + 32129 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 32144 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -159334,26 +159841,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 var utf8 int32 = SQLITE_UTF8 var rc int32 - rc = Xsqlite3_create_function(tls, db, ts+32148 /* "rtreenode" */, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+32163 /* "rtreenode" */, 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+32158 /* "rtreedepth" */, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+32173 /* "rtreedepth" */, 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+32169 /* "rtreecheck" */, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+32184 /* "rtreecheck" */, -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+31892 /* "rtree" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+31907 /* "rtree" */, 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+32180 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+32195 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { rc = sqlite3_geopoly_init(tls, db) @@ -159425,7 +159932,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql Xsqlite3_result_error_nomem(tls, ctx) rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, ts+29468 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) + Xsqlite3_result_pointer(tls, ctx, pBlob, ts+29483 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) } } } @@ -160707,7 +161214,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // Figure out the size of the output nOut = rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, ts+32190 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+32205 /* "corrupt fossil d..." */, -1) return } @@ -160718,7 +161225,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+32190 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+32205 /* "corrupt fossil d..." */, -1) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -160739,7 +161246,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -160757,7 +161264,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -160861,7 +161368,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+32211 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + ts+32226 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } if rc == SQLITE_OK { @@ -160945,7 +161452,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+29381 /* "data" */, zIn, uint32(4)) == 0) { + if (libc.Xstrlen(tls, zIn) > Size_t(4)) && (libc.Xmemcmp(tls, ts+29396 /* "data" */, 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++ { } @@ -160973,17 +161480,17 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter /* &.pTblIter */), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+32382 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { + ts+32397 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 32532 /* "AND rootpage!=0 ..." */ + return ts + 32547 /* "AND rootpage!=0 ..." */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 4 /* &.pIdxIter */), (p + 36 /* &.zErrmsg */), - ts+32573 /* "SELECT name, roo..." */) + ts+32588 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -161121,7 +161628,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: var rc int32 = Xsqlite3_finalize(tls, pStmt) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (rc != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) } } @@ -161184,7 +161691,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 /* &aStmt */), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+32698 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) + ts+32713 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } @@ -161202,7 +161709,7 @@ __2: *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 1*4), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32779 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) + Xsqlite3_mprintf(tls, ts+32794 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -161220,7 +161727,7 @@ __4: } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 2*4), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+32800 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) + ts+32815 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } @@ -161244,7 +161751,7 @@ __5: ; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 3*4), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32851 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) + Xsqlite3_mprintf(tls, ts+32866 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } @@ -161293,7 +161800,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pList */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32872 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+32887 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 @@ -161308,7 +161815,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pXInfo */)))) { var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 20 /* pXInfo */)), 1) if iCid >= 0 { @@ -161358,7 +161865,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 36 /* &.eType */), bp+56 /* &iTnum */, (pIter + 60 /* &.iPkTnum */)) 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+21572 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+21587 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc @@ -161371,18 +161878,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // of the input table. Ignore any input table columns that begin with // "rbu_". (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+60 /* &pStmt */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32929 /* "SELECT * FROM '%..." */, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + Xsqlite3_mprintf(tls, ts+32944 /* "SELECT * FROM '%..." */, 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 /* pStmt */))) 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 /* pStmt */)), i) - if Xsqlite3_strnicmp(tls, ts+32948 /* "rbu_" */, zName, 4) != 0 { + if Xsqlite3_strnicmp(tls, ts+32963 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 32 /* &.rc */)) *(*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+32953 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+32968 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -161394,12 +161901,12 @@ 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+32963 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+32978 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { - return ts + 32992 /* "may not have" */ + return ts + 33007 /* "may not have" */ } - return ts + 33005 /* "requires" */ + return ts + 33020 /* "requires" */ }())) } @@ -161408,7 +161915,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60 /* &pStmt */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+33014 /* "PRAGMA table_inf..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+33029 /* "PRAGMA table_inf..." */, 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 /* pStmt */)))) { var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pStmt */)), 1) @@ -161422,7 +161929,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+33036, /* "column missing f..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33051, /* "column missing f..." */ libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pStmt */)), 5) @@ -161468,12 +161975,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(24) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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+33063 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 16621 /* ", " */ + zList = rbuMPrintf(tls, p, ts+33078 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 16636 /* ", " */ } return zList } @@ -161488,13 +161995,13 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, var iPk int32 = 1 var zRet uintptr = uintptr(0) - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ for 1 != 0 { var i int32 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+33072 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) + zRet = rbuMPrintf(tls, p, ts+33087 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -161533,25 +162040,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 /* &pMax */, (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+33085 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + ts+33100 /* "SELECT max(_rowi..." */, 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 /* pMax */)))) { var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+33117 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) + zRet = rbuMPrintf(tls, p, ts+33132 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } else { - var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+900 /* "" */, ts+16621 /* ", " */, ts+33140 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+33146 /* "quote(" */, ts+33153 /* "||','||" */, ts+6872 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+900 /* "" */, ts+16621 /* ", " */, ts+900 /* "" */) + var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+16636 /* ", " */, ts+33155 /* " DESC" */) + var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+33161 /* "quote(" */, ts+33168 /* "||','||" */, ts+6887 /* ")" */) + var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+16636 /* ", " */, ts+915 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+33161, /* "SELECT %s FROM \"..." */ + ts+33176, /* "SELECT %s FROM \"..." */ 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 /* pMax */)))) { var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+33203 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) + zRet = rbuMPrintf(tls, p, ts+33218 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } @@ -161609,12 +162116,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 900 /* "" */ + zSep = ts + 915 /* "" */ iCol = 0 *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, 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 /* pXInfo */))))) { goto __2 @@ -161651,7 +162158,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) goto __7 __6: - zCol = ts + 33223 /* "_rowid_" */ + zCol = ts + 33238 /* "_rowid_" */ __7: ; goto __5 @@ -161660,13 +162167,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+33231, /* "%z%s \"%w\" COLLAT..." */ + zLhs = rbuMPrintf(tls, p, ts+33246, /* "%z%s \"%w\" COLLAT..." */ libc.VaList(bp+8, zLhs, zSep, zCol, zCollate)) - zOrder = rbuMPrintf(tls, p, ts+33252, /* "%z%s \"rbu_imp_%d..." */ + zOrder = rbuMPrintf(tls, p, ts+33267, /* "%z%s \"rbu_imp_%d..." */ libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = rbuMPrintf(tls, p, ts+33288, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+33303, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) - zSep = ts + 16621 /* ", " */ + zSep = ts + 16636 /* ", " */ iCol++ goto __1 __2: @@ -161685,12 +162192,12 @@ __11: *(*uintptr)(unsafe.Pointer(bp + 180 /* pSel */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+180 /* &pSel */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+33315, /* "SELECT %s FROM \"..." */ + Xsqlite3_mprintf(tls, ts+33330, /* "SELECT %s FROM \"..." */ 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 /* pSel */))))) { goto __13 } - zSep = ts + 900 /* "" */ + zSep = ts + 915 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -161712,8 +162219,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+33363 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) - zSep = ts + 16621 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+33378 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) + zSep = ts + 16636 /* ", " */ goto __15 __15: iCol++ @@ -161725,7 +162232,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+33370 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+33385 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: @@ -161775,14 +162282,14 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var zImpPK uintptr = uintptr(0) // String to return via *pzImposterPK var zWhere uintptr = uintptr(0) // String to return via *pzWhere var nBind int32 = 0 // Value to return via *pnBind - var zCom uintptr = ts + 900 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 900 /* "" */ // Set to " AND " later on + var zCom uintptr = ts + 915 /* "" */ // Set to ", " later on + var zAnd uintptr = ts + 915 /* "" */ // Set to " AND " later on *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)))) { @@ -161794,9 +162301,9 @@ 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 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+33382 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+8, zRet, zCom, + zRet = Xsqlite3_mprintf(tls, ts+33397 /* "%z%s(%.*s) COLLA..." */, 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 + 900 /* "" */ + zType = ts + 915 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -161808,37 +162315,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 + 33223 /* "_rowid_" */ + zCol = ts + 33238 /* "_rowid_" */ } else { - zCol = ts + 32953 /* "rbu_rowid" */ + zCol = ts + 32968 /* "rbu_rowid" */ } - zType = ts + 14687 /* "INTEGER" */ + zType = ts + 14702 /* "INTEGER" */ } 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+33404 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+33419 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) } if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { - return ts + 33140 /* " DESC" */ + return ts + 33155 /* " DESC" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+33424, /* "%z%s\"rbu_imp_%d%..." */ + zImpPK = Xsqlite3_mprintf(tls, ts+33439, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, ts+33445, /* "%z%s\"rbu_imp_%d%..." */ + zImpCols = Xsqlite3_mprintf(tls, ts+33460, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+33478 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol)) + ts+33493 /* "%z%s\"rbu_imp_%d%..." */, 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 + 16621 /* ", " */ - zAnd = ts + 24058 /* " AND " */ + zCom = ts + 16636 /* ", " */ + zAnd = ts + 24073 /* " AND " */ nBind++ } @@ -161881,16 +162388,16 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zS uintptr = ts + 900 /* "" */ + var zS uintptr = ts + 915 /* "" */ var i int32 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+33502 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, ts+33517 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+33514 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+33529 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } - zS = ts + 16621 /* ", " */ + zS = ts + 16636 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -161899,7 +162406,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+33523 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+33538 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) } } return zList @@ -161919,27 +162426,27 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq 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+33538 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) + zList = rbuMPrintf(tls, p, ts+33553 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) } else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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+33552 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) - zSep = ts + 24058 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+33567 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) + zSep = ts + 24073 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+33564 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) + ts+33579 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) - zList = rbuMPrintf(tls, p, ts+33614 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) - zSep = ts + 24058 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+33629 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) + zSep = ts + 24073 /* " AND " */ } } } @@ -161953,7 +162460,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // of the RBU handle to something reflecting this. func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33627 /* "invalid rbu_cont..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33642 /* "invalid rbu_cont..." */, 0) } // Return a nul-terminated string containing the comma separated list of @@ -161982,21 +162489,21 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr if int32(libc.Xstrlen(tls, zMask)) != (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { rbuBadControlError(tls, p) } else { - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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+33614, /* "%z%s\"%w\"=?%d" */ + zList = rbuMPrintf(tls, p, ts+33629, /* "%z%s\"%w\"=?%d" */ libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), (i+1))) - zSep = ts + 16621 /* ", " */ + zSep = ts + 16636 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+33653, /* "%z%s\"%w\"=rbu_del..." */ + zList = rbuMPrintf(tls, p, ts+33668, /* "%z%s\"%w\"=rbu_del..." */ 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 + 16621 /* ", " */ + zSep = ts + 16636 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+33683, /* "%z%s\"%w\"=rbu_fos..." */ + zList = rbuMPrintf(tls, p, ts+33698, /* "%z%s\"%w\"=rbu_fos..." */ 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 + 16621 /* ", " */ + zSep = ts + 16636 /* ", " */ } } } @@ -162054,19 +162561,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zSep uintptr = ts + 33720 /* "PRIMARY KEY(" */ + var zSep uintptr = ts + 33735 /* "PRIMARY KEY(" */ *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56 /* &pXList */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32872 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+32887 /* "PRAGMA main.inde..." */, 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 /* pXList */)))) { var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 3) - if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+18089 /* "pk" */) == 0) { + if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+18104 /* "pk" */) == 0) { var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 1) if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } @@ -162079,15 +162586,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */)), 2) var zDesc uintptr if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */)), 3) != 0 { - zDesc = ts + 33140 /* " DESC" */ + zDesc = ts + 33155 /* " DESC" */ } else { - zDesc = ts + 900 /* "" */ + zDesc = ts + 915 /* "" */ } - z = rbuMPrintf(tls, p, ts+33733 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = ts + 16621 /* ", " */ + z = rbuMPrintf(tls, p, ts+33748 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) + zSep = ts + 16636 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+33744 /* "%z)" */, libc.VaList(bp+48, z)) + z = rbuMPrintf(tls, p, ts+33759 /* "%z)" */, libc.VaList(bp+48, z)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 60 /* pXInfo */))) } return z @@ -162119,7 +162626,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx - var zComma uintptr = ts + 900 /* "" */ + var zComma uintptr = ts + 915 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -162127,7 +162634,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168 /* &pQuery */, (p + 36 /* &.zErrmsg */), - ts+33748 /* "SELECT name FROM..." */) + ts+33763 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 1, tnum) if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) { @@ -162136,7 +162643,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit } if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+172 /* &pXInfo */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) @@ -162146,25 +162653,25 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)), 1) var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)), 3) var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+33798 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, + zCols = rbuMPrintf(tls, p, ts+33813 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+33820 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+33835 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { - return ts + 33140 /* " DESC" */ + return ts + 33155 /* " DESC" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) - zComma = ts + 16621 /* ", " */ + zComma = ts + 16636 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+33830 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) + zCols = rbuMPrintf(tls, p, ts+33845 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 172 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+33845, /* "CREATE TABLE rbu..." */ + ts+33860, /* "CREATE TABLE rbu..." */ libc.VaList(bp+120, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 0)) } } @@ -162192,52 +162699,52 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum - var zComma uintptr = ts + 900 /* "" */ + var zComma uintptr = ts + 915 /* "" */ var zSql uintptr = uintptr(0) var iCol int32 - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 1)) for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { - var zPk uintptr = ts + 900 /* "" */ + var zPk uintptr = ts + 915 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*4)) *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, 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) { // If the target table column is an "INTEGER PRIMARY KEY", add // "PRIMARY KEY" to the imposter table column declaration. - zPk = ts + 33907 /* "PRIMARY KEY " */ + zPk = ts + 33922 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+33920, /* "%z%s\"%w\" %s %sCO..." */ + zSql = rbuMPrintf(tls, p, ts+33935, /* "%z%s\"%w\" %s %sCO..." */ libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*4)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - return ts + 33947 /* " NOT NULL" */ + return ts + 33962 /* " NOT NULL" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) - zComma = ts + 16621 /* ", " */ + zComma = ts + 16636 /* ", " */ } 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+33957 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+33972 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33964, /* "CREATE TABLE \"rb..." */ + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 1, tnum)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33979, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { - return ts + 33996 /* " WITHOUT ROWID" */ + return ts + 34011 /* " WITHOUT ROWID" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 0)) } } @@ -162260,7 +162767,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 88 /* &.pTmpInsert */), (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+34011, /* "INSERT INTO %s.'..." */ + ts+34026, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -162297,7 +162804,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+34068 /* "SELECT trim(sql)..." */) + ts+34083 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -162407,7 +162914,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+34134 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) + zLimit = Xsqlite3_mprintf(tls, ts+34149 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) if !(zLimit != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM } @@ -162428,26 +162935,26 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 612 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+34154, /* "CREATE TABLE \"rb..." */ + ts+34169, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 604 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 0)) // Create the statement to insert index entries (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 612 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 80 /* &.pInsert */), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34219 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+34234 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) } // And to delete index entries 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 /* &.pDelete */), (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34255 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+34270 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -162464,7 +162971,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+34289, /* "SELECT %s, 0 AS ..." */ + ts+34304, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -162472,32 +162979,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 34350 /* "AND" */ + return ts + 34365 /* "AND" */ } - return ts + 34354 /* "WHERE" */ + return ts + 34369 /* "WHERE" */ }() } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zStart, zCollist, zLimit)) 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+34360, /* "SELECT %s, rbu_c..." */ + ts+34375, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+216, zCollist, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, - ts+34421, /* "SELECT %s, rbu_c..." */ + ts+34436, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+264, zCollist, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { if zPart != 0 { - return ts + 34350 /* "AND" */ + return ts + 34365 /* "AND" */ } - return ts + 34354 /* "WHERE" */ + return ts + 34369 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -162522,8 +163029,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 var zBindings uintptr = rbuObjIterGetBindlist(tls, p, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + bRbuRowid)) var zWhere uintptr = rbuObjIterGetWhere(tls, p, pIter) - var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8560 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8556 /* "new" */) + var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8575 /* "old" */) + var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8571 /* "new" */) zCollist = rbuObjIterGetCollist(tls, p, pIter) (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -162533,21 +163040,21 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuCreateImposterTable2(tls, p, pIter) zWrite = func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 34580 /* "rbu_imp_" */ + return ts + 34595 /* "rbu_imp_" */ }() // Create the INSERT statement to write to the target PK b-tree if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 80 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, - ts+34589, /* "INSERT INTO \"%s%..." */ + ts+34604, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 34625 /* ", _rowid_" */ + return ts + 34640 /* ", _rowid_" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zBindings))) } @@ -162557,28 +163064,28 @@ 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 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+34635 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+384, zWrite, zTbl, zWhere))) + ts+34650 /* "DELETE FROM \"%s%..." */, 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 + 900 /* "" */ + var zRbuRowid uintptr = ts + 915 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 34663 /* ", rbu_rowid" */ + zRbuRowid = ts + 34678 /* ", rbu_rowid" */ } // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+34675 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+34690 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - return ts + 34751 /* ", 0 AS rbu_rowid" */ + return ts + 34766 /* ", 0 AS rbu_rowid" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+34768, /* "CREATE TEMP TRIG..." */ + ts+34783, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -162586,7 +163093,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 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+35067, /* "CREATE TEMP TRIG..." */ + ts+35082, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } @@ -162595,14 +163102,14 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the SELECT statement to read keys from data_xxx if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zRbuRowid uintptr = ts + 900 /* "" */ + var zRbuRowid uintptr = ts + 915 /* "" */ var zStart uintptr = uintptr(0) var zOrder uintptr = uintptr(0) if bRbuRowid != 0 { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zRbuRowid = ts + 35166 /* ",_rowid_ " */ + zRbuRowid = ts + 35181 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 35176 /* ",rbu_rowid" */ + zRbuRowid = ts + 35191 /* ",rbu_rowid" */ } } @@ -162615,35 +163122,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+33223 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+33238 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+900 /* "" */, ts+16621 /* ", " */, ts+900 /* "" */) + zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+16636 /* ", " */, ts+915 /* "" */) } } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 76 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, - ts+35187, /* "SELECT %s,%s rbu..." */ + ts+35202, /* "SELECT %s,%s rbu..." */ libc.VaList(bp+536, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 35235 /* "0 AS " */ + return ts + 35250 /* "0 AS " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 22237 /* "ORDER BY" */ + return ts + 22252 /* "ORDER BY" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zOrder, zLimit))) } @@ -162718,12 +163225,12 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp (*RbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - var zPrefix uintptr = ts + 900 /* "" */ + var zPrefix uintptr = ts + 915 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 34580 /* "rbu_imp_" */ + zPrefix = ts + 34595 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+35241, /* "UPDATE \"%s%w\" SE..." */ + zUpdate = Xsqlite3_mprintf(tls, ts+35256, /* "UPDATE \"%s%w\" SE..." */ 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 /* &.pUpdate */), (p + 36 /* &.zErrmsg */), zUpdate) @@ -162750,7 +163257,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))) *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) } @@ -162791,7 +163298,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ } *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8 /* &pStmt */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+35271 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+24 /* &.zStateDb */))) + Xsqlite3_mprintf(tls, ts+35286 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+24 /* &.zStateDb */))) for (*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) { case RBU_STATE_STAGE: @@ -162863,31 +163370,31 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8551 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */, 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+8551 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+35301 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) + var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+35316 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) } } // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35328 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+4653 /* "stat" */, uint32(4)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35343 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+4668 /* "stat" */, uint32(4)) } else { - libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+8551 /* "main" */, uint32(4)) + libc.Xmemcpy(tls, p+24 /* &.zStateDb */, ts+8566 /* "main" */, uint32(4)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35346 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+24 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35361 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+24 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 var rc int32 (*Sqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8551 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */, SQLITE_FCNTL_RBUCNT, p) if rc != SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -162920,11 +163427,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 return } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35412 /* "cannot vacuum wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35427 /* "cannot vacuum wa..." */, 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+28551 /* "file:" */, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5))) { + if (libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= Size_t(5)) && (0 == libc.Xmemcmp(tls, ts+28566 /* "file:" */, (*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)))) == '?' { @@ -162936,16 +163443,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+35444, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8551 /* "main" */), + zTarget = Xsqlite3_mprintf(tls, ts+35459, /* "file:%s-vactmp?r..." */ + libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */), func() uintptr { if zExtra == uintptr(0) { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 35476 /* "&" */ + return ts + 35491 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } return zExtra }())) @@ -162961,40 +163468,40 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+35478 /* "rbu_tmp_insert" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+35493 /* "rbu_tmp_insert" */, -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+35493 /* "rbu_fossil_delta" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + ts+35508 /* "rbu_fossil_delta" */, 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+35510 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+35525 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuTargetNameFunc})), uintptr(0), uintptr(0)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, SQLITE_FCNTL_RBU, p) } - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35526 /* "SELECT * FROM sq..." */, 0) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35541 /* "SELECT * FROM sq..." */, 0) // Mark the database file just opened as an RBU target database. If // this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. // This is an error. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, SQLITE_FCNTL_RBU, p) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35554 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35569 /* "rbu vfs not foun..." */, 0) } } @@ -163063,7 +163570,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+35526 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35541 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -163097,7 +163604,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+35572 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35587 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) if rc2 != SQLITE_INTERNAL { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -163224,16 +163731,16 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ bp := tls.Alloc(16) defer tls.Free(16) - var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */) + var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */) var zMove uintptr = zBase var zOal uintptr var zWal uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8551 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+35607 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+35614 /* "%s-wal" */, libc.VaList(bp+8, zMove)) + zOal = Xsqlite3_mprintf(tls, ts+35622 /* "%s-oal" */, libc.VaList(bp, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+35629 /* "%s-wal" */, libc.VaList(bp+8, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -163373,7 +163880,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) { /* sqlite3.c:203389:1 ((*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+28189 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28204 /* "datatype mismatc..." */, 0) return } @@ -163491,7 +163998,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // var pStmt uintptr at bp+8, 4 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8 /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+35621 /* "PRAGMA schema_ve..." */) + ts+35636 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There // is already a transaction open, so the prepared statement cannot @@ -163504,7 +164011,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35643 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35658 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) } } } @@ -163529,7 +164036,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168 /* &pInsert */, (p + 36 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+35670, /* "INSERT OR REPLAC..." */ + ts+35685, /* "INSERT OR REPLAC..." */ libc.VaList(bp, p+24, /* &.zStateDb */ RBU_STATE_STAGE, eStage, RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl, @@ -163574,9 +164081,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24 /* &pPragma */, (p + 36 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+35828 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) + Xsqlite3_mprintf(tls, ts+35843 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)))) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35843, /* "PRAGMA main.%s =..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35858, /* "PRAGMA main.%s =..." */ libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)), 0))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */))) @@ -163593,11 +164100,11 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * *(*uintptr)(unsafe.Pointer(bp /* pSql */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 4 /* pInsert */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35863 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35878 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 36 /* &.zErrmsg */), - ts+35888 /* "SELECT sql FROM ..." */) + ts+35903 /* "SELECT sql FROM ..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -163611,12 +164118,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 36 /* &.zErrmsg */), - ts+35996 /* "SELECT * FROM sq..." */) + ts+36011 /* "SELECT * FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4 /* &pInsert */, (p + 36 /* &.zErrmsg */), - ts+36061 /* "INSERT INTO sqli..." */) + ts+36076 /* "INSERT INTO sqli..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -163628,7 +164135,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* pInsert */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36105 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36120 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) @@ -163650,8 +164157,8 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // when this handle was opened, create the target database schema. if (((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FnProgress == 0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { rbuCreateTargetSchema(tls, p) - rbuCopyPragma(tls, p, ts+19151 /* "user_version" */) - rbuCopyPragma(tls, p, ts+18261 /* "application_id" */) + rbuCopyPragma(tls, p, ts+19166 /* "user_version" */) + rbuCopyPragma(tls, p, ts+18276 /* "application_id" */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl != 0) { @@ -163662,7 +164169,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // But the contents can be deleted. 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+36130 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + ts+36145 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+24 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) } } else { rbuObjIterPrepareAll(tls, p, pIter, 0) @@ -163688,10 +164195,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: rbuSaveState(tls, p, RBU_STAGE_MOVE) rbuIncrSchemaCookie(tls, p) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_MOVE } @@ -163808,7 +164315,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 if (rc == SQLITE_OK) && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36158 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36173 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -163827,7 +164334,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ bp := tls.Alloc(8) defer tls.Free(8) - var zOal uintptr = rbuMPrintf(tls, p, ts+35607 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) + var zOal uintptr = rbuMPrintf(tls, p, ts+35622 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -163849,7 +164356,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ // var zRnd [64]int8 at bp+12, 64 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+36183 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+36198 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12 /* &zRnd[0] */) @@ -163888,7 +164395,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / rc = prepareFreeAndCollectError(tls, db, bp+8 /* &pStmt */, bp+12, /* &zErrmsg */ Xsqlite3_mprintf(tls, - ts+36194 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) + ts+36209 /* "SELECT count(*) ..." */, 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 /* zErrmsg */)), -1) } else { @@ -163931,7 +164438,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+36266 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+36281 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuIndexCntFunc})), uintptr(0), uintptr(0)) @@ -163939,7 +164446,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ // occurs, nPhaseOneStep will be left set to -1. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+36280 /* "SELECT 1 FROM sq..." */) + ts+36295 /* "SELECT 1 FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { @@ -163951,7 +164458,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (bExists != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 36 /* &.zErrmsg */), - ts+36337 /* "SELECT sum(cnt *..." */) + ts+36352 /* "SELECT sum(cnt *..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) @@ -163997,7 +164504,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) libc.Xmemcpy(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, zRbu, (nRbu + Size_t(1))) pCsr += (uintptr(nRbu + Size_t(1))) if zState != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+936 /* "%s" */, libc.VaList(bp, zState)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+951 /* "%s" */, libc.VaList(bp, zState)) } // If the first attempt to open the database file fails and the bRetry @@ -164034,7 +164541,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+36411 /* "cannot update wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36426 /* "cannot update wa..." */, 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 @@ -164056,12 +164563,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // transaction is committed in rollback mode) currently stored on // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36443, /* "database modifie..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36458, /* "database modifie..." */ libc.VaList(bp+8, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 36475 /* "vacuum" */ + return ts + 36490 /* "vacuum" */ } - return ts + 36482 /* "update" */ + return ts + 36497 /* "update" */ }())) } } @@ -164069,7 +164576,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { var db uintptr = (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16510 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16525 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) // Point the object iterator at the first object if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -164083,24 +164590,24 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_DONE } else { if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuState)(unsafe.Pointer(pState)).FeStage == 0)) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - rbuCopyPragma(tls, p, ts+18876 /* "page_size" */) - rbuCopyPragma(tls, p, ts+18276 /* "auto_vacuum" */) + rbuCopyPragma(tls, p, ts+18891 /* "page_size" */) + rbuCopyPragma(tls, p, ts+18291 /* "auto_vacuum" */) } // Open transactions both databases. The *-oal file is opened or // created at this point. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+36489 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+36504 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } // Check if the main database is a zipvfs db. If it is, set the upper // level pager to use "journal_mode=off". This prevents it from // generating a large journal using a temp file. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var frc int32 = Xsqlite3_file_control(tls, db, ts+8551 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) + var frc int32 = Xsqlite3_file_control(tls, db, ts+8566 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) if frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, - db, ts+36505 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + db, ts+36520 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } } @@ -164153,7 +164660,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+36529 /* "-vactmp" */, (zState+uintptr((n-7))), uint32(7))) { + if (n >= 7) && (0 == libc.Xmemcmp(tls, ts+36544 /* "-vactmp" */, (zState+uintptr((n-7))), uint32(7))) { return rbuMisuseError(tls) } } @@ -164183,7 +164690,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:204232:13: */ 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+34580 /* "rbu_imp_" */, uint32(8)) == 0 { + if libc.Xmemcmp(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i)), ts+34595 /* "rbu_imp_" */, 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++ @@ -164202,7 +164709,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Commit the transaction to the *-oal file. if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } // Sync the db file if currently doing an incremental checkpoint @@ -164214,7 +164721,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 36 /* &.zErrmsg */)) } // Close any open statement handles. @@ -164226,7 +164733,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // specifying the current target and state databases to start a new // vacuum from scratch. 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+36537 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) + var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+36552 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) && (rc2 != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -164325,7 +164832,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -164342,19 +164849,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { var zBegin uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zBegin = ts + 16510 /* "BEGIN" */ + zBegin = ts + 16525 /* "BEGIN" */ } else { - zBegin = ts + 36489 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 36504 /* "BEGIN IMMEDIATE" */ } 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+36489 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36504 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -164758,7 +165265,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36564 /* "rbu/zipvfs setup..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36579 /* "rbu/zipvfs setup..." */, 0) } else if rc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p (*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu @@ -164781,7 +165288,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+36587 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + var zOut uintptr = Xsqlite3_mprintf(tls, ts+36602 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = SQLITE_NOMEM @@ -164944,7 +165451,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags // This call is to open a *-wal file. Intead, open the *-oal. var nOpen Size_t if (*Sqlite3rbu)(unsafe.Pointer(((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu))).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+8551 /* "main" */) + zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+8566 /* "main" */) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -164959,7 +165466,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+36598 /* "rbu_memory" */, 0) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+36613 /* "rbu_memory" */, 0) != 0) { oflags = ((((SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -165271,7 +165778,7 @@ var zDbstatSchema = // 9 Size of the page (sum for aggregate) // 10 Database schema being analyzed // 11 aggregate info for each table -*(*[258]int8)(unsafe.Pointer(ts + 36609 /* "CREATE TABLE x( ..." */)) /* sqlite3.c:205427:19 */ +*(*[258]int8)(unsafe.Pointer(ts + 36624 /* "CREATE TABLE x( ..." */)) /* sqlite3.c:205427:19 */ // Forward reference to data structured used in this module type StatTable1 = struct { @@ -165346,7 +165853,7 @@ func statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp Xsqlite3TokenInit(tls, bp+8 /* &nm */, *(*uintptr)(unsafe.Pointer(argv + 3*4))) iDb = Xsqlite3FindDb(tls, db, bp+8 /* &nm */) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+13885 /* "no such database..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+13900 /* "no such database..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*4)))) return SQLITE_ERROR } } else { @@ -165869,7 +166376,7 @@ __5: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __6 } - (*StatPage)(unsafe.Pointer((pCsr + 16 /* &.aPage */))).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36867 /* "/" */, 0)) + (*StatPage)(unsafe.Pointer((pCsr + 16 /* &.aPage */))).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36882 /* "/" */, 0)) if !(z == uintptr(0)) { goto __7 } @@ -165927,9 +166434,9 @@ __14: } (*StatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*StatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*StatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*U32)(unsafe.Pointer((*StatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36869 /* "overflow" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36884 /* "overflow" */ (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, - ts+36878 /* "%s%.3x+%.6x" */, libc.VaList(bp, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell, iOvfl))) + ts+36893 /* "%s%.3x+%.6x" */, libc.VaList(bp, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell, iOvfl))) if z == uintptr(0) { return SQLITE_NOMEM } @@ -165997,7 +166504,7 @@ __23: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __24 } - (*StatPage)(unsafe.Pointer(p + 1*40)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36890 /* "%s%.3x/" */, libc.VaList(bp+24, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) + (*StatPage)(unsafe.Pointer(p + 1*40)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36905 /* "%s%.3x/" */, libc.VaList(bp+24, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) if !(z == uintptr(0)) { goto __25 } @@ -166040,14 +166547,14 @@ __2: goto __28 __29: // table internal __30: // index internal - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36898 /* "internal" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36913 /* "internal" */ goto __28 __31: // table leaf __32: // index leaf - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36907 /* "leaf" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36922 /* "leaf" */ goto __28 __33: - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36912 /* "corrupted" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36927 /* "corrupted" */ goto __28 __28: ; @@ -166062,7 +166569,7 @@ __34: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __35 } - (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+40, (*StatPage)(unsafe.Pointer(p1)).FzPath))) + (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+40, (*StatPage)(unsafe.Pointer(p1)).FzPath))) if !(z == uintptr(0)) { goto __36 } @@ -166151,13 +166658,13 @@ func statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, ar pSql = Xsqlite3_str_new(tls, (*StatTable)(unsafe.Pointer(pTab)).Fdb) Xsqlite3_str_appendf(tls, pSql, - ts+36922, /* "SELECT * FROM (S..." */ + ts+36937, /* "SELECT * FROM (S..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*StatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb+uintptr((*StatCursor)(unsafe.Pointer(pCsr)).FiDb)*16)).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, ts+37077 /* "WHERE name=%Q" */, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, ts+37092 /* "WHERE name=%Q" */, libc.VaList(bp+8, zName)) } if (idxNum & 0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, ts+37091 /* " ORDER BY name" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+37106 /* " ORDER BY name" */, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -166242,7 +166749,7 @@ func statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite // Invoke this routine to register the "dbstat" virtual table module func Xsqlite3DbstatRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:206190:20: */ - return Xsqlite3_create_module(tls, db, ts+37106 /* "dbstat" */, uintptr(unsafe.Pointer(&dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, ts+37121 /* "dbstat" */, uintptr(unsafe.Pointer(&dbstat_module)), uintptr(0)) } var dbstat_module = Sqlite3_module{ // iVersion @@ -166357,7 +166864,7 @@ func dbpageConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_DIRECTONLY, 0) rc = Xsqlite3_declare_vtab(tls, db, - ts+37113 /* "CREATE TABLE x(p..." */) + ts+37128 /* "CREATE TABLE x(p..." */) if rc == SQLITE_OK { pTab = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(DbpageTable{}))) if pTab == uintptr(0) { @@ -166605,14 +167112,14 @@ func dbpageUpdate(tls *libc.TLS, pVtab uintptr, argc int32, argv uintptr, pRowid if !(((*Sqlite3)(unsafe.Pointer((*DbpageTable)(unsafe.Pointer(pTab)).Fdb)).Fflags & uint64(SQLITE_Defensive)) != 0) { goto __1 } - zErr = ts + 37180 /* "read-only" */ + zErr = ts + 37195 /* "read-only" */ goto update_fail __1: ; if !(argc == 1) { goto __2 } - zErr = ts + 37190 /* "cannot delete" */ + zErr = ts + 37205 /* "cannot delete" */ goto update_fail __2: ; @@ -166620,7 +167127,7 @@ __2: if !(Pgno(Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4)))) != pgno) { goto __3 } - zErr = ts + 37204 /* "cannot insert" */ + zErr = ts + 37219 /* "cannot insert" */ goto update_fail __3: ; @@ -166633,7 +167140,7 @@ __3: if !(iDb < 0) { goto __4 } - zErr = ts + 37218 /* "no such schema" */ + zErr = ts + 37233 /* "no such schema" */ goto update_fail __4: ; @@ -166641,7 +167148,7 @@ __4: if !(((pgno < Pgno(1)) || (pBt == uintptr(0))) || (pgno > Pgno(int32(Xsqlite3BtreeLastPage(tls, pBt))))) { goto __5 } - zErr = ts + 37233 /* "bad page number" */ + zErr = ts + 37248 /* "bad page number" */ goto update_fail __5: ; @@ -166650,7 +167157,7 @@ __5: (Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))) != szPage)) { goto __6 } - zErr = ts + 37249 /* "bad page value" */ + zErr = ts + 37264 /* "bad page value" */ goto update_fail __6: ; @@ -166675,7 +167182,7 @@ __7: update_fail: Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, zErr)) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, zErr)) return SQLITE_ERROR } @@ -166697,7 +167204,7 @@ func dbpageBegin(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:206594:12: * // Invoke this routine to register the "dbpage" virtual table module func Xsqlite3DbpageRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:206609:20: */ - return Xsqlite3_create_module(tls, db, ts+37264 /* "sqlite_dbpage" */, uintptr(unsafe.Pointer(&dbpage_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, ts+37279 /* "sqlite_dbpage" */, uintptr(unsafe.Pointer(&dbpage_module)), uintptr(0)) } var dbpage_module = Sqlite3_module{ // iVersion @@ -166720,6 +167227,5604 @@ var dbpage_module = Sqlite3_module{ // iVersion //************* End of dbpage.c ********************************************* //************* Begin file sqlite3session.c ********************************* +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable1 = struct { + FpNext uintptr + FzName uintptr + FnCol int32 + FbStat1 int32 + FazCol uintptr + FabPK uintptr + FnEntry int32 + FnChange int32 + FapChange uintptr +} /* sqlite3.c:11155:9 */ + +//************* End of dbpage.c ********************************************* +//************* Begin file sqlite3session.c ********************************* + +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ +type SessionChange1 = struct { + Fop U8 + FbIndirect U8 + _ [2]byte + FnMaxSize int32 + FnRecord int32 + FaRecord uintptr + FpNext uintptr +} /* sqlite3.c:11155:9 */ + +type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ +type SessionBuffer1 = struct { + FaBuf uintptr + FnBuf int32 + FnAlloc int32 +} /* sqlite3.c:11163:9 */ + +type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ +type SessionInput1 = struct { + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + FaData uintptr + FnData int32 + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 +} /* sqlite3.c:11163:9 */ + +type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ + +// Minimum chunk size used by streaming versions of functions. + +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:206671:12 */ + +type SessionHook1 = struct { + FpCtx uintptr + FxOld uintptr + FxNew uintptr + FxCount uintptr + FxDepth uintptr +} /* sqlite3.c:11155:9 */ + +type SessionHook = SessionHook1 /* sqlite3.c:206673:28 */ + +// Write a varint with value iVal into the buffer at aBuf. Return the +// number of bytes written. +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:206951:12: */ + return int32(func() uint8 { + if (U32(iVal)) < U32(0x80) { + return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) + } + return uint8(Xsqlite3PutVarint(tls, aBuf, uint64(iVal))) + }()) +} + +// Return the number of bytes required to store value iVal as a varint. +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:206958:12: */ + return Xsqlite3VarintLen(tls, uint64(iVal)) +} + +// Read a varint value from aBuf[] into *piVal. Return the number of +// bytes read. +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:206966:12: */ + return int32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { + return uint8(func() int32 { (*(*int32)(unsafe.Pointer(piVal))) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) + } + return Xsqlite3GetVarint32(tls, aBuf, piVal) + }()) +} + +// Load an unaligned and unsigned 32-bit integer + +// Read a 64-bit big-endian integer value from buffer aRec[]. Return +// the value read. +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:206977:22: */ + var x U64 = (U64((((U32(*(*U8)(unsafe.Pointer((aRec)))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec) + 3))))) + var y U32 = ((((U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4))))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 3)))) + x = ((x << 32) + U64(y)) + return Sqlite3_int64(x) +} + +// Write a 64-bit big-endian integer value to the buffer aBuf[]. +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:206987:13: */ + *(*U8)(unsafe.Pointer(aBuf)) = (U8((i >> 56) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 1)) = (U8((i >> 48) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 2)) = (U8((i >> 40) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 3)) = (U8((i >> 32) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 4)) = (U8((i >> 24) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 5)) = (U8((i >> 16) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 6)) = (U8((i >> 8) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 7)) = (U8((i >> 0) & int64(0xFF))) +} + +// This function is used to serialize the contents of value pValue (see +// comment titled "RECORD FORMAT" above). +// +// If it is non-NULL, the serialized form of the value is written to +// buffer aBuf. *pnWrite is set to the number of bytes written before +// returning. Or, if aBuf is NULL, the only thing this function does is +// set *pnWrite. +// +// If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs +// within a call to sqlite3_value_text() (may fail if the db is utf-16)) +// SQLITE_NOMEM is returned. +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:207011:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var nByte int32 // Size of serialized value in bytes + + if pValue != 0 { + var eType int32 // Value type (SQLITE_NULL, TEXT etc.) + + eType = Xsqlite3_value_type(tls, pValue) + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(eType) + } + + switch eType { + case SQLITE_NULL: + nByte = 1 + break + fallthrough + + case SQLITE_INTEGER: + fallthrough + case SQLITE_FLOAT: + if aBuf != 0 { + // TODO: SQLite does something special to deal with mixed-endian + // floating point values (e.g. ARM7). This code probably should + // too. + // var i U64 at bp, 8 + + if eType == SQLITE_INTEGER { + *(*U64)(unsafe.Pointer(bp /* i */)) = U64(Xsqlite3_value_int64(tls, pValue)) + } else { + // var r float64 at bp+8, 8 + + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_value_double(tls, pValue) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint32(8)) + } + sessionPutI64(tls, (aBuf + 1), int64(*(*U64)(unsafe.Pointer(bp /* i */)))) + } + nByte = 9 + break + fallthrough + + default: + { + var z uintptr + var n int32 + var nVarint int32 + + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, pValue) + } else { + z = Xsqlite3_value_blob(tls, pValue) + } + n = Xsqlite3_value_bytes(tls, pValue) + if (z == uintptr(0)) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + nVarint = sessionVarintLen(tls, n) + + if aBuf != 0 { + sessionVarintPut(tls, (aBuf + 1), n) + if n != 0 { + libc.Xmemcpy(tls, (aBuf + uintptr((nVarint + 1))), z, uint32(n)) + } + } + + nByte = ((1 + nVarint) + n) + break + + } + } + } else { + nByte = 1 + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(0) + } + } + + if pnWrite != 0 { + *(*Sqlite3_int64)(unsafe.Pointer(pnWrite)) += (Sqlite3_int64(nByte)) + } + return SQLITE_OK +} + +// Allocate and return a pointer to a buffer nByte bytes in size. If +// pSession is not NULL, increase the sqlite3_session.nMalloc variable +// by the number of bytes allocated. +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:207087:13: */ + var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 40 /* &.nMalloc */)) += I64((Xsqlite3_msize(tls, pRet))) + } + return pRet +} + +// Free buffer pFree, which must have been allocated by an earlier +// call to sessionMalloc64(). If pSession is not NULL, decrease the +// sqlite3_session.nMalloc counter by the number of bytes freed. +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:207098:13: */ + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 40 /* &.nMalloc */)) -= I64((Xsqlite3_msize(tls, pFree))) + } + Xsqlite3_free(tls, pFree) +} + +// This macro is used to calculate hash key values for data structures. In +// order to use this macro, the entire data structure must be represented +// as a series of unsigned integers. In order to calculate a hash-key value +// for a data structure represented as three such integers, the macro may +// then be used as follows: +// +// int hash_key_value; +// hash_key_value = HASH_APPEND(0, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// +// In practice, the data structures this macro is used for are the primary +// key values of modified rows. + +// Append the hash of the 64-bit integer passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:207124:21: */ + h = ((((h) << 3) ^ (h)) ^ (uint32(i & int64(0xFFFFFFFF)))) + return ((((h) << 3) ^ (h)) ^ (uint32((i >> 32) & int64(0xFFFFFFFF)))) +} + +// Append the hash of the blob passed via the second and third arguments to +// the hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:207133:21: */ + var i int32 + for i = 0; i < n; i++ { + h = ((((h) << 3) ^ (h)) ^ (uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))))) + } + return h +} + +// Append the hash of the data type passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:207143:21: */ + return ((((h) << 3) ^ (h)) ^ (uint32(eType))) +} + +// This function may only be called from within a pre-update callback. +// It calculates a hash based on the primary key values of the old.* or +// new.* row currently available and, assuming no error occurs, writes it to +// *piHash before returning. If the primary key contains one or more NULL +// values, *pbNullPK is set to true before returning. +// +// If an error occurs, an SQLite error code is returned and the final values +// of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned +// and the output variables are set as described above. +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:207158:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var h uint32 = uint32(0) // Hash value to return + var i int32 // Used to iterate through columns + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0 { + var rc int32 + var eType int32 + // var pVal uintptr at bp, 4 + + if bNew != 0 { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } else { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } + if rc != SQLITE_OK { + return rc + } + + eType = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var iVal I64 at bp+8, 8 + + if eType == SQLITE_INTEGER { + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + *(*float64)(unsafe.Pointer(bp + 16 /* rVal */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + + libc.Xmemcpy(tls, bp+8 /* &iVal */, bp+16 /* &rVal */, uint32(8)) + } + h = sessionHashAppendI64(tls, h, *(*I64)(unsafe.Pointer(bp + 8 /* iVal */))) + } else if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + var z uintptr + var n int32 + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + n = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + if !(z != 0) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + h = sessionHashAppendBlob(tls, h, n, z) + } else { + + *(*int32)(unsafe.Pointer(pbNullPK)) = 1 + } + } + } + + *(*int32)(unsafe.Pointer(piHash)) = (int32(h % uint32((*SessionTable)(unsafe.Pointer(pTab)).FnChange))) + return SQLITE_OK +} + +// The buffer that the argument points to contains a serialized SQL value. +// Return the number of bytes of space occupied by the value (including +// the type byte). +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:207223:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var e int32 = int32(*(*U8)(unsafe.Pointer(a))) + // var n int32 at bp, 4 + + if (e == 0) || (e == 0xFF) { + return 1 + } + if e == SQLITE_NULL { + return 1 + } + if (e == SQLITE_INTEGER) || (e == SQLITE_FLOAT) { + return 9 + } + return ((sessionVarintGet(tls, (a+1), bp /* &n */) + 1) + *(*int32)(unsafe.Pointer(bp /* n */))) +} + +// Based on the primary key values stored in change aRecord, calculate a +// hash key. Assume the has table has nBucket buckets. The hash keys +// calculated by this function are compatible with those calculated by +// sessionPreupdateHash(). +// +// The bPkOnly argument is non-zero if the record at aRecord[] is from +// a patchset DELETE. In this case the non-PK fields are omitted entirely. +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:207241:21: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var h uint32 = uint32(0) // Value to return + var i int32 // Used to iterate through columns + var a uintptr = aRecord // Used to iterate through change record + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(a))) + var isPK int32 = int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) + if (bPkOnly != 0) && (isPK == 0) { + continue + } + + // It is not possible for eType to be SQLITE_NULL here. The session + // module does not record changes for rows with NULL values stored in + // primary key columns. + + if isPK != 0 { + a++ + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + h = sessionHashAppendI64(tls, h, sessionGetI64(tls, a)) + a += uintptr(8) + } else { + // var n int32 at bp, 4 + + a += uintptr(sessionVarintGet(tls, a, bp /* &n */)) + h = sessionHashAppendBlob(tls, h, *(*int32)(unsafe.Pointer(bp /* n */)), a) + a += uintptr(*(*int32)(unsafe.Pointer(bp /* n */))) + } + } else { + a += uintptr(sessionSerialLen(tls, a)) + } + } + return (h % uint32(nBucket)) +} + +// Arguments aLeft and aRight are pointers to change records for table pTab. +// This function returns true if the two records apply to the same row (i.e. +// have the same values stored in the primary key columns), or false +// otherwise. +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:207290:12: */ + var a1 uintptr = aLeft // Cursor to iterate through aLeft + var a2 uintptr = aRight // Cursor to iterate through aRight + var iCol int32 // Used to iterate through table columns + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol))) != 0 { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + + if (n1 != n2) || (libc.Xmemcmp(tls, a1, a2, uint32(n1)) != 0) { + return 0 + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } else { + if bLeftPkOnly == 0 { + a1 += uintptr(sessionSerialLen(tls, a1)) + } + if bRightPkOnly == 0 { + a2 += uintptr(sessionSerialLen(tls, a2)) + } + } + } + + return 1 +} + +// Arguments aLeft and aRight both point to buffers containing change +// records with nCol columns. This function "merges" the two records into +// a single records which is written to the buffer at *paOut. *paOut is +// then set to point to one byte after the last byte written before +// returning. +// +// The merging of records is done as follows: For each column, if the +// aRight record contains a value for the column, copy the value from +// their. Otherwise, if aLeft contains a value, copy it. If neither +// record contains a value for a given column, then neither does the +// output record. +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:207333:13: */ + var a1 uintptr = aLeft // Cursor used to iterate through aLeft + var a2 uintptr = aRight // Cursor used to iterate through aRight + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor + var iCol int32 // Used to iterate from 0 to nCol + + for iCol = 0; iCol < nCol; iCol++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + libc.Xmemcpy(tls, aOut, a2, uint32(n2)) + aOut += uintptr(n2) + } else { + libc.Xmemcpy(tls, aOut, a1, uint32(n1)) + aOut += uintptr(n1) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut +} + +// This is a helper function used by sessionMergeUpdate(). +// +// When this function is called, both *paOne and *paTwo point to a value +// within a change record. Before it returns, both have been advanced so +// as to point to the next value in the record. +// +// If, when this function is called, *paTwo points to a valid value (i.e. +// *paTwo[0] is not 0x00 - the "no value" placeholder), a copy of the *paTwo +// pointer is returned and *pnVal is set to the number of bytes in the +// serialized value. Otherwise, a copy of *paOne is returned and *pnVal +// set to the number of bytes in the value at *paOne. If *paOne points +// to the "no value" placeholder, *pnVal is set to 1. In other words: +// +// if( *paTwo is valid ) return *paTwo; +// return *paOne; +// +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:207379:11: */ + var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) + var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) + var pRet uintptr = uintptr(0) + var n1 int32 + + if a2 != 0 { + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + *(*int32)(unsafe.Pointer(pnVal)) = n2 + pRet = a2 + } + *(*uintptr)(unsafe.Pointer(paTwo)) = (a2 + uintptr(n2)) + } + + n1 = sessionSerialLen(tls, a1) + if pRet == uintptr(0) { + *(*int32)(unsafe.Pointer(pnVal)) = n1 + pRet = a1 + } + *(*uintptr)(unsafe.Pointer(paOne)) = (a1 + uintptr(n1)) + + return pRet +} + +// This function is used by changeset_concat() to merge two UPDATE changes +// on the same row. +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:207413:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 4 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 12 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 16 /* aNew2 */)) = aNewRecord2 + + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) + var i int32 + + if bPatchset == 0 { + var bRequired int32 = 0 + + // Write the old.* vector first. + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+8, 4 + + var aOld uintptr + // var nNew int32 at bp+20, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+4 /* &aOld2 */, bp+8 /* &nOld */) + aNew = sessionMergeValue(tls, bp+12 /* &aNew1 */, bp+16 /* &aNew2 */, bp+20 /* &nNew */) + if ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* nOld */)) != *(*int32)(unsafe.Pointer(bp + 20 /* nNew */)))) || (libc.Xmemcmp(tls, aOld, aNew, uint32(*(*int32)(unsafe.Pointer(bp + 20 /* nNew */)))) != 0) { + if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + bRequired = 1 + } + libc.Xmemcpy(tls, aOut, aOld, uint32(*(*int32)(unsafe.Pointer(bp + 8 /* nOld */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* nOld */))) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } + } + + if !(bRequired != 0) { + return 0 + } + } + + // Write the new.* vector + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 4 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 12 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 16 /* aNew2 */)) = aNewRecord2 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+24, 4 + + var aOld uintptr + // var nNew int32 at bp+28, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+4 /* &aOld2 */, bp+24 /* &nOld */) + aNew = sessionMergeValue(tls, bp+12 /* &aNew1 */, bp+16 /* &aNew2 */, bp+28 /* &nNew */) + if (bPatchset == 0) && + ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || ((*(*int32)(unsafe.Pointer(bp + 24 /* nOld */)) == *(*int32)(unsafe.Pointer(bp + 28 /* nNew */))) && (0 == libc.Xmemcmp(tls, aOld, aNew, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nNew */))))))) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } else { + libc.Xmemcpy(tls, aOut, aNew, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nNew */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 28 /* nNew */))) + } + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut + return 1 +} + +// This function is only called from within a pre-update-hook callback. +// It determines if the current pre-update-hook change affects the same row +// as the change stored in argument pChange. If so, it returns true. Otherwise +// if the pre-update-hook does not affect the same row as pChange, it returns +// false. +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:207490:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var iCol int32 // Used to iterate through columns + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord // Cursor used to scan change record + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol)))) != 0) { + a += uintptr(sessionSerialLen(tls, a)) + } else { + // var pVal uintptr at bp, 4 + // Value returned by preupdate_new/old + var rc int32 + _ = rc // Error code from preupdate_new/old + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) // Type of value from change record + + // The following calls to preupdate_new() and preupdate_old() can not + // fail. This is because they cache their return values, and by the + // time control flows to here they have already been called once from + // within sessionPreupdateHash(). The first two asserts below verify + // this (that the method has already been called). + if op == SQLITE_INSERT { + // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } else { + // assert( db->pPreUpdate->pUnpacked ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } + + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { + return 0 + } + + // A SessionChange object never has a NULL value in a PK column + + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, a) + a += uintptr(8) + if eType == SQLITE_INTEGER { + if Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) { + return 0 + } + } else { + // var rVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &rVal */, bp+16 /* &iVal */, uint32(8)) + if Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*float64)(unsafe.Pointer(bp + 8 /* rVal */)) { + return 0 + } + } + } else { + // var n int32 at bp+24, 4 + + var z uintptr + a += uintptr(sessionVarintGet(tls, a, bp+24 /* &n */)) + if Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*int32)(unsafe.Pointer(bp + 24 /* n */)) { + return 0 + } + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + if (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) > 0) && (libc.Xmemcmp(tls, a, z, uint32(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))) != 0) { + return 0 + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* n */))) + } + } + } + + return 1 +} + +// If required, grow the hash table used to store changes on table pTab +// (part of the session pSession). If a fatal OOM error occurs, set the +// session object to failed and return SQLITE_ERROR. Otherwise, return +// SQLITE_OK. +// +// It is possible that a non-fatal OOM error occurs in this function. In +// that case the hash-table does not grow, but SQLITE_OK is returned anyway. +// Growing the hash table in this case is a performance optimization only, +// it is not required for correct operation. +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:207569:12: */ + if ((*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= ((*SessionTable)(unsafe.Pointer(pTab)).FnChange / 2)) { + var i int32 + var apNew uintptr + var nNew Sqlite3_int64 = (int64(2) * (func() int64 { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange != 0 { + return int64((*SessionTable)(unsafe.Pointer(pTab)).FnChange) + } + return int64(128) + }())) + + apNew = sessionMalloc64(tls, + pSession, (Sqlite3_int64(unsafe.Sizeof(uintptr(0))) * nNew)) + if apNew == uintptr(0) { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 { + return SQLITE_ERROR + } + return SQLITE_OK + } + libc.Xmemset(tls, apNew, 0, (uint32(Sqlite3_int64(unsafe.Sizeof(uintptr(0))) * nNew))) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNext uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); p != 0; p = pNext { + var bPkOnly int32 = (libc.Bool32((int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_DELETE) && (bPatchset != 0))) + var iHash int32 = int32(sessionChangeHash(tls, pTab, bPkOnly, (*SessionChange)(unsafe.Pointer(p)).FaRecord, int32(nNew))) + pNext = (*SessionChange)(unsafe.Pointer(p)).FpNext + (*SessionChange)(unsafe.Pointer(p)).FpNext = *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*4)) + *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*4)) = p + } + } + + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + (*SessionTable)(unsafe.Pointer(pTab)).FnChange = int32(nNew) + (*SessionTable)(unsafe.Pointer(pTab)).FapChange = apNew + } + + return SQLITE_OK +} + +// This function queries the database for the names of the columns of table +// zThis, in schema zDb. +// +// Otherwise, if they are not NULL, variable *pnCol is set to the number +// of columns in the database table and variable *pzTab is set to point to a +// nul-terminated copy of the table name. *pazCol (if not NULL) is set to +// point to an array of pointers to column names. And *pabPK (again, if not +// NULL) is set to point to an array of booleans - true if the corresponding +// column is part of the primary key. +// +// For example, if the table is declared as: +// +// CREATE TABLE tbl1(w, x, y, z, PRIMARY KEY(w, z)); +// +// Then the four output variables are populated as follows: +// +// *pnCol = 4 +// *pzTab = "tbl1" +// *pazCol = {"w", "x", "y", "z"} +// *pabPK = {1, 0, 0, 1} +// +// All returned buffers are part of the same single allocation, which must +// be freed using sqlite3_free() by the caller +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var zPragma uintptr + // var pStmt uintptr at bp+16, 4 + + var rc int32 + var nByte Sqlite3_int64 + var nDbCol int32 = 0 + var nThis int32 + var i int32 + var pAlloc uintptr = uintptr(0) + var azCol uintptr = uintptr(0) + var abPK uintptr = uintptr(0) + + nThis = Xsqlite3Strlen30(tls, zThis) + if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+13346 /* "sqlite_stat1" */, zThis)) { + 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 { + // For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. + zPragma = Xsqlite3_mprintf(tls, + + ts+37293 /* "SELECT 0, 'tbl',..." */, 0) + } else if rc == SQLITE_ERROR { + zPragma = Xsqlite3_mprintf(tls, ts+915 /* "" */, 0) + } else { + return rc + } + } else { + zPragma = Xsqlite3_mprintf(tls, ts+37414 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + } + if !(zPragma != 0) { + return SQLITE_NOMEM + } + + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+16 /* &pStmt */, uintptr(0)) + Xsqlite3_free(tls, zPragma) + if rc != SQLITE_OK { + return rc + } + + nByte = (Sqlite3_int64(nThis + 1)) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) + nDbCol++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + if rc == SQLITE_OK { + nByte = nByte + (Sqlite3_int64(uint32(nDbCol) * ((uint32(unsafe.Sizeof(uintptr(0))) + uint32(unsafe.Sizeof(U8(0)))) + uint32(1)))) + pAlloc = sessionMalloc64(tls, pSession, nByte) + if pAlloc == uintptr(0) { + rc = SQLITE_NOMEM + } + } + if rc == SQLITE_OK { + azCol = pAlloc + pAlloc = (azCol + uintptr(nDbCol)*4) + abPK = pAlloc + pAlloc = (abPK + uintptr(nDbCol)) + if pzTab != 0 { + libc.Xmemcpy(tls, pAlloc, zThis, (uint32(nThis + 1))) + *(*uintptr)(unsafe.Pointer(pzTab)) = pAlloc + pAlloc += (uintptr(nThis + 1)) + } + + i = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + if zName == uintptr(0) { + break + } + libc.Xmemcpy(tls, pAlloc, zName, (uint32(nName + 1))) + *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)) = pAlloc + pAlloc += (uintptr(nName + 1)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 5)) + i++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + } + + // If successful, populate the output variables. Otherwise, zero them and + // free any allocation made. An error code will be returned in this case. + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pazCol)) = azCol + *(*uintptr)(unsafe.Pointer(pabPK)) = abPK + *(*int32)(unsafe.Pointer(pnCol)) = nDbCol + } else { + *(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pabPK)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnCol)) = 0 + if pzTab != 0 { + *(*uintptr)(unsafe.Pointer(pzTab)) = uintptr(0) + } + sessionFree(tls, pSession, azCol) + } + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + return rc +} + +// This function is only called from within a pre-update handler for a +// write to table pTab, part of session pSession. If this is the first +// write to this table, initalize the SessionTable.nCol, azCol[] and +// abPK[] arrays accordingly. +// +// If an error occurs, an error code is stored in sqlite3_session.rc and +// non-zero returned. Or, if no error occurs but the table has no primary +// key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to +// indicate that updates on this table should be ignored. SessionTable.abPK +// is set to NULL in this case. +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:207752:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + if (*SessionTable)(unsafe.Pointer(pTab)).FnCol == 0 { + // var abPK uintptr at bp, 4 + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionTableInfo(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, + (*SessionTable)(unsafe.Pointer(pTab)).FzName, (pTab + 8 /* &.nCol */), uintptr(0), (pTab + 16 /* &.azCol */), bp /* &abPK */) + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc == SQLITE_OK { + var i int32 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* abPK */)) + uintptr(i))) != 0 { + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = *(*uintptr)(unsafe.Pointer(bp /* abPK */)) + break + } + } + if 0 == Xsqlite3_stricmp(tls, ts+13346 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { + *(*I64)(unsafe.Pointer(pSession + 48 /* &.nMaxChangesetSize */)) += (I64(((Size_t((1 + sessionVarintLen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + Size_t(1))) + } + } + } + return (libc.Bool32(((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FabPK == uintptr(0)))) +} + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx1 = struct { + Fhook SessionHook + FpSession uintptr +} /* sqlite3.c:207787:9 */ + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:207787:32 */ + +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207792:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 4 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207802:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 12 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = int64(2) + if int32((*SessionChange)(unsafe.Pointer(pC)).Fop) == SQLITE_INSERT { + if op != SQLITE_DELETE { + var ii int32 + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) + } + } + } else if op == SQLITE_DELETE { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + if Xsqlite3_preupdate_blobwrite(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb) >= 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + } + } else { + var ii int32 + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(pC)).FaRecord + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + var bChanged int32 = 1 + var nOld int32 = 0 + var eType int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) + if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { + return SQLITE_NOMEM + } + + eType = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pCsr, 1)))) + switch eType { + case SQLITE_NULL: + bChanged = (libc.Bool32(Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) != SQLITE_NULL)) + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + if eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) = sessionGetI64(tls, pCsr) + if eType == SQLITE_INTEGER { + bChanged = (libc.Bool32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) != Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } else { + // var dVal float64 at bp+24, 8 + + libc.Xmemcpy(tls, bp+24 /* &dVal */, bp+32 /* &iVal */, uint32(8)) + bChanged = (libc.Bool32(*(*float64)(unsafe.Pointer(bp + 24 /* dVal */)) != Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } + } + nOld = 8 + pCsr += uintptr(8) + break + + } + fallthrough + + default: + { + // var nByte int32 at bp+40, 4 + + nOld = sessionVarintGet(tls, pCsr, bp+40 /* &nByte */) + pCsr += uintptr(nOld) + nOld = nOld + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + + if ((eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)))) && + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) && + ((*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == 0) || (0 == libc.Xmemcmp(tls, pCsr, Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))), uint32(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)))))) { + bChanged = 0 + } + pCsr += uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + break + + } + } + + if (bChanged != 0) && (*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0) { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = (I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord + 2)) + break + } + + if bChanged != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(1 + nOld)) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)), bp+8 /* &nNew */) + } else if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(2 + nOld)) + } else { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += int64(2) + } + } + } + + if *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) > I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize) { + var nIncr int32 = (int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) - I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize))) + (*SessionChange)(unsafe.Pointer(pC)).FnMaxSize = int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */))) + *(*I64)(unsafe.Pointer(pSession + 48 /* &.nMaxChangesetSize */)) += (I64(nIncr)) + } + return SQLITE_OK +} + +// This function is only called from with a pre-update-hook reporting a +// change on table pTab (attached to session pSession). The type of change +// (UPDATE, INSERT, DELETE) is specified by the first argument. +// +// Unless one is already present or an error occurs, an entry is added +// to the changed-rows hash table associated with table pTab. +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:207927:13: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + // var iHash int32 at bp+24, 4 + + // var bNull int32 at bp+28, 4 + + var rc int32 + // var stat1 SessionStat1Ctx at bp, 24 + + var p uintptr + // var p1 uintptr at bp+32, 4 + + // var p2 uintptr at bp+48, 4 + + // Create a new change object containing all the old values (if + // this is an SQLITE_UPDATE or SQLITE_DELETE), or just the PK + // values (if this is an INSERT). + // var nByte Sqlite3_int64 at bp+40, 8 + // Number of bytes to allocate + var i int32 + // Search the hash table for an existing record for this row. + var pC uintptr + *(*int32)(unsafe.Pointer(bp + 28 /* bNull */)) = 0 + rc = SQLITE_OK + *(*SessionStat1Ctx)(unsafe.Pointer(bp /* stat1 */)) = SessionStat1Ctx{} + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) { + goto __1 + } + return +__1: + ; + + // Load table details if required + if !(sessionInitTable(tls, pSession, pTab) != 0) { + goto __2 + } + return +__2: + ; + + // Check the number of columns in this xPreUpdate call matches the + // number of columns in the table. + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 12 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + goto __3 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA + return +__3: + ; + + // Grow the hash table if required + if !(sessionGrowHash(tls, pSession, 0, pTab) != 0) { + goto __4 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_NOMEM + return +__4: + ; + + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __5 + } + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).FpSession = pSession + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = bp /* &stat1 */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1New})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1Old})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Count})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Depth})) + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob == uintptr(0)) { + goto __6 + } + p = Xsqlite3ValueNew(tls, uintptr(0)) + if !(p == uintptr(0)) { + goto __7 + } + rc = SQLITE_NOMEM + goto error_out +__7: + ; + Xsqlite3ValueSetStr(tls, p, 0, ts+915 /* "" */, uint8(0), uintptr(0)) + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p +__6: + ; +__5: + ; + + // Calculate the hash-key for this change. If the primary key of the row + // includes a NULL value, exit early. Such changes are ignored by the + // session module. + rc = sessionPreupdateHash(tls, pSession, pTab, (libc.Bool32(op == SQLITE_INSERT)), bp+24 /* &iHash */, bp+28 /* &bNull */) + if !(rc != SQLITE_OK) { + goto __8 + } + goto error_out +__8: + ; + + if !(*(*int32)(unsafe.Pointer(bp + 28 /* bNull */)) == 0) { + goto __9 + } + pC = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* iHash */)))*4)) +__10: + if !(pC != 0) { + goto __12 + } + if !(sessionPreupdateEqual(tls, pSession, pTab, pC, op) != 0) { + goto __13 + } + goto __12 +__13: + ; + goto __11 +__11: + pC = (*SessionChange)(unsafe.Pointer(pC)).FpNext + goto __10 + goto __12 +__12: + ; + + if !(pC == uintptr(0)) { + goto __14 + } // Used to iterate through columns + + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + + // Figure out how large an allocation is required + *(*Sqlite3_int64)(unsafe.Pointer(bp + 40 /* nByte */)) = Sqlite3_int64(unsafe.Sizeof(SessionChange{})) + i = 0 +__16: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __18 + } + *(*uintptr)(unsafe.Pointer(bp + 32 /* p1 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __19 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &p1 */) + + goto __20 +__19: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __21 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+32 /* &p1 */) + +__21: + ; +__20: + ; + + // This may fail if SQLite value p contains a utf-16 string that must + // be converted to utf-8 and an OOM error occurs while doing so. + rc = sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 32 /* p1 */)), bp+40 /* &nByte */) + if !(rc != SQLITE_OK) { + goto __22 + } + goto error_out +__22: + ; + goto __17 +__17: + i++ + goto __16 + goto __18 +__18: + ; + + // Allocate the change object + pC = sessionMalloc64(tls, pSession, *(*Sqlite3_int64)(unsafe.Pointer(bp + 40 /* nByte */))) + if !(!(pC != 0)) { + goto __23 + } + rc = SQLITE_NOMEM + goto error_out + goto __24 +__23: + libc.Xmemset(tls, pC, 0, uint32(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pC)).FaRecord = (pC + 1*20) +__24: + ; + + // Populate the change object. None of the preupdate_old(), + // preupdate_new() or SerializeValue() calls below may fail as all + // required values and encodings have already been cached in memory. + // It is not possible for an OOM to occur in this block. + *(*Sqlite3_int64)(unsafe.Pointer(bp + 40 /* nByte */)) = int64(0) + i = 0 +__25: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __27 + } + *(*uintptr)(unsafe.Pointer(bp + 48 /* p2 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __28 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 4 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+48 /* &p2 */) + goto __29 +__28: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __30 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 8 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+48 /* &p2 */) +__30: + ; +__29: + ; + sessionSerializeValue(tls, ((*SessionChange)(unsafe.Pointer(pC)).FaRecord + uintptr(*(*Sqlite3_int64)(unsafe.Pointer(bp + 40 /* nByte */)))), *(*uintptr)(unsafe.Pointer(bp + 48 /* p2 */)), bp+40 /* &nByte */) + goto __26 +__26: + i++ + goto __25 + goto __27 +__27: + ; + + // Add the change to the hash-table + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 16 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + goto __31 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) +__31: + ; + (*SessionChange)(unsafe.Pointer(pC)).FnRecord = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 40 /* nByte */))) + (*SessionChange)(unsafe.Pointer(pC)).Fop = U8(op) + (*SessionChange)(unsafe.Pointer(pC)).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* iHash */)))*4)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* iHash */)))*4)) = pC + + goto __15 +__14: + if !((*SessionChange)(unsafe.Pointer(pC)).FbIndirect != 0) { + goto __32 + } + // If the existing change is considered "indirect", but this current + // change is "direct", mark the change object as direct. + if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 68 /* &.hook */ + 16 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { + goto __33 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(0) +__33: + ; +__32: + ; +__15: + ; + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0) { + goto __34 + } + rc = sessionUpdateMaxSize(tls, op, pSession, pTab, pC) +__34: + ; +__9: + ; + + // If an error has occurred, mark the session object as failed. +error_out: + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __35 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook = (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook +__35: + ; + if !(rc != SQLITE_OK) { + goto __36 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = rc +__36: +} + +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:208076:12: */ + var rc int32 = SQLITE_OK + var nName int32 = Xsqlite3Strlen30(tls, zName) + var pRet uintptr + + // Search for an existing table + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pRet != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pRet)).FzName, zName, (nName+1)) { + break + } + } + + if (pRet == uintptr(0)) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach != 0) { + // If there is a table-filter configured, invoke it. If it returns 0, + // do not automatically add the new table. + if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || + ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 32 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + rc = Xsqlite3session_attach(tls, pSession, zName) + if rc == SQLITE_OK { + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + } + + } + } + } + + *(*uintptr)(unsafe.Pointer(ppTab)) = pRet + return rc +} + +// The 'pre-update' hook registered by this module with SQLite databases. +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:208112:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var pSession uintptr + var nDb int32 = Xsqlite3Strlen30(tls, zDb) + + for pSession = pCtx; pSession != 0; pSession = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpNext { + // var pTab uintptr at bp, 4 + + // If this session is attached to a different database ("main", "temp" + // etc.), or if it is not currently enabled, there is nothing to do. Skip + // to the next session object attached to this database. + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable == 0 { + continue + } + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + continue + } + if Xsqlite3_strnicmp(tls, zDb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (nDb+1)) != 0 { + continue + } + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionFindTable(tls, pSession, zName, bp /* &pTab */) + if *(*uintptr)(unsafe.Pointer(bp /* pTab */)) != 0 { + + sessionPreupdateOneChange(tls, op, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + if op == SQLITE_UPDATE { + sessionPreupdateOneChange(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + } + } + } +} + +// The pre-update hook implementations. +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208150:12: */ + return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208153:12: */ + return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208156:12: */ + return Xsqlite3_preupdate_count(tls, pCtx) +} + +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208159:12: */ + return Xsqlite3_preupdate_depth(tls, pCtx) +} + +// Install the pre-update hooks on the session object passed as the only +// argument. +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208167:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateDepth})) +} + +type SessionDiffCtx1 = struct { + FpStmt uintptr + FnOldOff int32 +} /* sqlite3.c:208177:9 */ + +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ + +// The diff hook implementations. +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208186:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, (iVal + (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff)) + return SQLITE_OK +} + +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208191:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) + return SQLITE_OK +} + +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208196:12: */ + var p uintptr = pCtx + if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { + return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff + } + return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) +} + +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208200:12: */ + return 0 +} + +// Install the diff hooks on the session object passed as the only +// argument. +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:208208:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffDepth})) +} + +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 915 /* "" */ + var zRet uintptr = uintptr(0) + + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + zRet = Xsqlite3_mprintf(tls, ts+37443, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 24073 /* " AND " */ + if zRet == uintptr(0) { + break + } + } + } + + return zRet +} + +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 915 /* "" */ + var zRet uintptr = uintptr(0) + var bHave int32 = 0 + + for i = 0; i < nCol; i++ { + if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { + bHave = 1 + zRet = Xsqlite3_mprintf(tls, + ts+37477, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 37518 /* " OR " */ + if zRet == uintptr(0) { + break + } + } + } + + if bHave == 0 { + + zRet = Xsqlite3_mprintf(tls, ts+9614 /* "0" */, 0) + } + + return zRet +} + +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var zRet uintptr = Xsqlite3_mprintf(tls, + + ts+37523, /* "SELECT * FROM \"%..." */ + libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) + return zRet +} + +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:208289:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var zStmt uintptr = sessionSelectFindNew(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, zDb1, zDb2, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr) + + if zStmt == uintptr(0) { + rc = SQLITE_NOMEM + } else { + // var pStmt uintptr at bp, 4 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp /* &pStmt */, uintptr(0)) + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { + sessionPreupdateOneChange(tls, op, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + + return rc +} + +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + var rc int32 = SQLITE_OK + + var zExpr2 uintptr = sessionExprCompareOther(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, + (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (*SessionTable)(unsafe.Pointer(pTab)).FazCol, (*SessionTable)(unsafe.Pointer(pTab)).FabPK) + if zExpr2 == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var zStmt uintptr = Xsqlite3_mprintf(tls, + ts+37601, /* "SELECT * FROM \"%..." */ + 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 + } else { + // var pStmt uintptr at bp+48, 4 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+48 /* &pStmt */, uintptr(0)) + + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) { + sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + } + + return rc +} + +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:208360:16: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var zDb uintptr + var rc int32 + // var d SessionDiffCtx at bp, 8 + + var i int32 + var bHasPk int32 + var bMismatch int32 + // var nCol int32 at bp+12, 4 + // Columns in zFrom.zTbl + // var abPK uintptr at bp+20, 4 + + // var azCol uintptr at bp+16, 4 + + var zExpr uintptr + var db uintptr + // var pTo uintptr at bp+8, 4 + zDb = (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + + libc.Xmemset(tls, bp /* &d */, 0, uint32(unsafe.Sizeof(SessionDiffCtx{}))) + sessionDiffHooks(tls, pSession, bp /* &d */) + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if !(pzErrMsg != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) +__1: + ; + if !(rc == SQLITE_OK) { + goto __2 + } + zExpr = uintptr(0) + db = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Table zTbl + + // Locate and if necessary initialize the target table object + rc = sessionFindTable(tls, pSession, zTbl, bp+8 /* &pTo */) + if !(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)) == uintptr(0)) { + goto __3 + } + goto diff_out +__3: + ; + if !(sessionInitTable(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */))) != 0) { + goto __4 + } + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + goto diff_out +__4: + ; + + // Check the table schemas match + if !(rc == SQLITE_OK) { + goto __5 + } + bHasPk = 0 + bMismatch = 0 + *(*uintptr)(unsafe.Pointer(bp + 16 /* azCol */)) = uintptr(0) + rc = sessionTableInfo(tls, uintptr(0), db, zFrom, zTbl, bp+12 /* &nCol */, uintptr(0), bp+16 /* &azCol */, bp+20 /* &abPK */) + if !(rc == SQLITE_OK) { + goto __6 + } + if !((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FnCol != *(*int32)(unsafe.Pointer(bp + 12 /* nCol */))) { + goto __7 + } + bMismatch = 1 + goto __8 +__7: + i = 0 +__9: + if !(i < *(*int32)(unsafe.Pointer(bp + 12 /* nCol */))) { + goto __11 + } + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FabPK + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20 /* abPK */)) + uintptr(i))))) { + goto __12 + } + bMismatch = 1 +__12: + ; + if !(Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* azCol */)) + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FazCol + uintptr(i)*4))) != 0) { + goto __13 + } + bMismatch = 1 +__13: + ; + if !(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20 /* abPK */)) + uintptr(i))) != 0) { + goto __14 + } + bHasPk = 1 +__14: + ; + goto __10 +__10: + i++ + goto __9 + goto __11 +__11: + ; +__8: + ; +__6: + ; + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* azCol */))) + if !(bMismatch != 0) { + goto __15 + } + if !(pzErrMsg != 0) { + goto __16 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+37654 /* "table schemas do..." */, 0) +__16: + ; + rc = SQLITE_SCHEMA +__15: + ; + if !(bHasPk == 0) { + goto __17 + } + // Ignore tables with no primary keys + goto diff_out +__17: + ; +__5: + ; + + if !(rc == SQLITE_OK) { + goto __18 + } + zExpr = sessionExprComparePK(tls, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FnCol, + zDb, zFrom, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FzName, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FazCol, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)))).FabPK) +__18: + ; + + // Find new rows + if !(rc == SQLITE_OK) { + goto __19 + } + rc = sessionDiffFindNew(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)), zDb, zFrom, zExpr) +__19: + ; + + // Find old rows + if !(rc == SQLITE_OK) { + goto __20 + } + rc = sessionDiffFindNew(tls, SQLITE_DELETE, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)), zFrom, zDb, zExpr) +__20: + ; + + // Find modified rows + if !(rc == SQLITE_OK) { + goto __21 + } + rc = sessionDiffFindModified(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTo */)), zFrom, zExpr) +__21: + ; + + Xsqlite3_free(tls, zExpr) +__2: + ; + +diff_out: + sessionPreupdateHooks(tls, pSession) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Create a session object. This session object will record changes to +// database zDb attached to connection db. +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:208455:16: */ + var pNew uintptr // Newly allocated session object + var pOld uintptr // Session object already attached to db + var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes + + // Zero the output value in case an error occurs. + *(*uintptr)(unsafe.Pointer(ppSession)) = uintptr(0) + + // Allocate and populate the new session object. + pNew = Xsqlite3_malloc64(tls, (uint64((uint32(unsafe.Sizeof(Sqlite3_session{})) + uint32(nDb)) + uint32(1)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(Sqlite3_session{}))) + (*Sqlite3_session)(unsafe.Pointer(pNew)).Fdb = db + (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb = (pNew + 1*88) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FbEnable = 1 + libc.Xmemcpy(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, zDb, (uint32(nDb + 1))) + sessionPreupdateHooks(tls, pNew) + + // Add the new session object to the linked list of session objects + // attached to database handle $db. Do this under the cover of the db + // handle mutex. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + pOld = Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), pNew) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FpNext = pOld + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + + *(*uintptr)(unsafe.Pointer(ppSession)) = pNew + return SQLITE_OK +} + +// Free the list of table objects passed as the first argument. The contents +// of the changed-rows hash tables are also deleted. +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:208493:13: */ + var pNext uintptr + var pTab uintptr + + for pTab = pList; pTab != 0; pTab = pNext { + var i int32 + pNext = (*SessionTable)(unsafe.Pointer(pTab)).FpNext + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNextChange uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); p != 0; p = pNextChange { + pNextChange = (*SessionChange)(unsafe.Pointer(p)).FpNext + sessionFree(tls, pSession, p) + } + } + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FazCol) // cast works around VC++ bug + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + sessionFree(tls, pSession, pTab) + } +} + +// Delete a session object previously allocated using sqlite3session_create(). +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208517:17: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + // var pHead uintptr at bp, 4 + + var pp uintptr + + // Unlink the session from the linked list of sessions attached to the + // database handle. Hold the db mutex while doing so. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + *(*uintptr)(unsafe.Pointer(bp /* pHead */)) = Xsqlite3_preupdate_hook(tls, db, uintptr(0), uintptr(0)) + for pp = bp; /* &pHead */ (*(*uintptr)(unsafe.Pointer(pp))) != uintptr(0); pp = (*(*uintptr)(unsafe.Pointer(pp)) + 60 /* &.pNext */) { + if (*(*uintptr)(unsafe.Pointer(pp))) == pSession { + *(*uintptr)(unsafe.Pointer(pp)) = (*Sqlite3_session)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + if *(*uintptr)(unsafe.Pointer(bp /* pHead */)) != 0 { + Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), *(*uintptr)(unsafe.Pointer(bp /* pHead */))) + } + break + } + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + Xsqlite3ValueFree(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob) + + // Delete all attached table objects. And the contents of their + // associated hash-tables. + sessionDeleteTable(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable) + + // Assert that all allocations have been freed and then free the + // session object itself. + + Xsqlite3_free(tls, pSession) +} + +// Set a table filter on a Session Object. +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:208549:17: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter +} + +// Attach a table to a session. All subsequent changes made to the table +// while the session object is enabled will be recorded. +// +// Only tables that have a PRIMARY KEY defined may be attached. It does +// not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) +// or not. +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:208567:16: */ + var rc int32 = SQLITE_OK + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + if !(zName != 0) { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + } else { + var pTab uintptr // New table object (if required) + var nName int32 // Number of bytes in string zName + + // First search for an existing entry. If one is found, this call is + // a no-op. Return early. + nName = Xsqlite3Strlen30(tls, zName) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (nName+1)) { + break + } + } + + if !(pTab != 0) { + // Allocate new SessionTable object. + var nByte int32 = (int32((uint32(unsafe.Sizeof(SessionTable{})) + uint32(nName)) + uint32(1))) + pTab = sessionMalloc64(tls, pSession, int64(nByte)) + if !(pTab != 0) { + rc = SQLITE_NOMEM + } else { + // Populate the new SessionTable object and link it into the list. + // The new object must be linked onto the end of the list, not + // simply added to the start of it in order to ensure that tables + // appear in the correct order when a changeset or patchset is + // eventually generated. + var ppTab uintptr + libc.Xmemset(tls, pTab, 0, uint32(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = (pTab + 1*36) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (uint32(nName + 1))) + for ppTab = (pSession + 64 /* &.pTable */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } + } + } + + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Ensure that there is room in the buffer to append nByte bytes of data. +// If not, use sqlite3_realloc() to grow the buffer so that there is. +// +// If successful, return zero. Otherwise, if an OOM condition is encountered, +// set *pRc to SQLITE_NOMEM and return non-zero. +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:208620:12: */ + var nReq I64 = (I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte) + if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc)) { + var aNew uintptr + var nNew I64 + if (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc != 0 { + nNew = int64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) + } else { + nNew = int64(128) + } + + for ok := true; ok; ok = (nNew < nReq) { + nNew = (nNew * int64(2)) + } + + // The value of SESSION_MAX_BUFFER_SZ is copied from the implementation + // of sqlite3_realloc64(). Allocations greater than this size in bytes + // always fail. It is used here to ensure that this routine can always + // allocate up to this limit - instead of up to the largest power of + // two smaller than the limit. + if nNew > (int64(0x7FFFFF00 - 1)) { + nNew = (int64(0x7FFFFF00 - 1)) + if nNew < nReq { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + return 1 + } + } + + aNew = Xsqlite3_realloc64(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf, uint64(nNew)) + if uintptr(0) == aNew { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } else { + (*SessionBuffer)(unsafe.Pointer(p)).FaBuf = aNew + (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc = int32(nNew) + } + } + return (libc.Bool32(*(*int32)(unsafe.Pointer(pRc)) != SQLITE_OK)) +} + +// Append the value passed as the second argument to the buffer passed +// as the first. +// +// This function is a no-op if *pRc is non-zero when it is called. +// Otherwise, if an error occurs, *pRc is set to an SQLite error code +// before returning. +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:208663:13: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, uintptr(0), pVal, bp /* &nByte */) + sessionBufferGrow(tls, p, *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)), bp+8 /* &rc */) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), pVal, uintptr(0)) + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += int32((*(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)))) + } else { + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) + } + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single byte to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:208685:13: */ + if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { + *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single varint to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:208698:13: */ + if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += (sessionVarintPut(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), v)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a blob of data to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:208711:13: */ + if (nBlob > 0) && (0 == sessionBufferGrow(tls, p, int64(nBlob), pRc)) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), aBlob, uint32(nBlob)) + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += (nBlob) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a string to the buffer. All bytes in the string +// up to (but not including) the nul-terminator are written to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208731:13: */ + var nStr int32 = Xsqlite3Strlen30(tls, zStr) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), zStr, uint32(nStr)) + *(*int32)(unsafe.Pointer(p + 4 /* &.nBuf */)) += (nStr) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string representation of integer iVal +// to the buffer. No nul-terminator is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aBuf [24]int8 at bp+8, 24 + + Xsqlite3_snprintf(tls, (int32(uint32(unsafe.Sizeof([24]int8{})) - uint32(1))), bp+8 /* &aBuf[0] */, ts+6845 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string zStr enclosed in quotes (") and +// with any embedded quote characters escaped to the buffer. No +// nul-terminator byte is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208770:13: */ + var nStr int32 = (((Xsqlite3Strlen30(tls, zStr) * 2) + 2) + 1) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + var zOut uintptr = ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)) + var zIn uintptr = zStr + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + for *(*int8)(unsafe.Pointer(zIn)) != 0 { + if int32(*(*int8)(unsafe.Pointer(zIn))) == '"' { + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + (*SessionBuffer)(unsafe.Pointer(p)).FnBuf = ((int32(zOut) - int32((*SessionBuffer)(unsafe.Pointer(p)).FaBuf)) / 1) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwse, it appends the serialized version of the value stored +// in column iCol of the row that SQL statement pStmt currently points +// to to the buffer. +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:208795:13: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var eType int32 = Xsqlite3_column_type(tls, pStmt, iCol) + sessionAppendByte(tls, p, U8(eType), pRc) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var i Sqlite3_int64 at bp, 8 + + // var aBuf [8]U8 at bp+16, 8 + + if eType == SQLITE_INTEGER { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */)) = Xsqlite3_column_int64(tls, pStmt, iCol) + } else { + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_column_double(tls, pStmt, iCol) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint32(8)) + } + sessionPutI64(tls, bp+16 /* &aBuf[0] */, *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */))) + sessionAppendBlob(tls, p, bp+16 /* &aBuf[0] */, 8, pRc) + } + if (eType == SQLITE_BLOB) || (eType == SQLITE_TEXT) { + var z uintptr + var nByte int32 + if eType == SQLITE_BLOB { + z = Xsqlite3_column_blob(tls, pStmt, iCol) + } else { + z = Xsqlite3_column_text(tls, pStmt, iCol) + } + nByte = Xsqlite3_column_bytes(tls, pStmt, iCol) + if (z != 0) || ((eType == SQLITE_BLOB) && (nByte == 0)) { + sessionAppendVarint(tls, p, nByte, pRc) + sessionAppendBlob(tls, p, z, nByte, pRc) + } else { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } + } + } +} + +// +// This function appends an update change to the buffer (see the comments +// under "CHANGESET FORMAT" at the top of the file). An update change +// consists of: +// +// 1 byte: SQLITE_UPDATE (0x17) +// n bytes: old.* record (see RECORD FORMAT) +// m bytes: new.* record (see RECORD FORMAT) +// +// The SessionChange object passed as the third argument contains the +// values that were stored in the row when the session began (the old.* +// values). The statement handle passed as the second argument points +// at the current version of the row (the new.* values). +// +// If all of the old.* values are equal to their corresponding new.* value +// (i.e. nothing has changed), then no data at all is appended to the buffer. +// +// Otherwise, the old.* record contains all primary key values and the +// original values of any fields that have been modified. The new.* record +// contains the new values of only those fields that have been modified. +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:208857:12: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp + 28 /* buf2 */)) = SessionBuffer{} // Buffer to accumulate new.* record in + var bNoop int32 = 1 // Set to zero if any values are modified + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf // Set to zero if any values are modified + var i int32 // Used to iterate through columns + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord // Used to iterate through old.* values + + sessionAppendByte(tls, pBuf, uint8(SQLITE_UPDATE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + for i = 0; i < Xsqlite3_column_count(tls, pStmt); i++ { + var bChanged int32 = 0 + var nAdvance int32 + var eType int32 = int32(*(*U8)(unsafe.Pointer(pCsr))) + switch eType { + case SQLITE_NULL: + nAdvance = 1 + if Xsqlite3_column_type(tls, pStmt, i) != SQLITE_NULL { + bChanged = 1 + } + break + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + nAdvance = 9 + if eType == Xsqlite3_column_type(tls, pStmt, i) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, (pCsr + 1)) + if eType == SQLITE_INTEGER { + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) == Xsqlite3_column_int64(tls, pStmt, i) { + break + } + } else { + // var dVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &dVal */, bp+16 /* &iVal */, uint32(8)) + if *(*float64)(unsafe.Pointer(bp + 8 /* dVal */)) == Xsqlite3_column_double(tls, pStmt, i) { + break + } + } + } + bChanged = 1 + break + + } + + default: + { + // var n int32 at bp+24, 4 + + var nHdr int32 = (1 + sessionVarintGet(tls, (pCsr+1), bp+24 /* &n */)) + + nAdvance = (nHdr + *(*int32)(unsafe.Pointer(bp + 24 /* n */))) + if ((eType == Xsqlite3_column_type(tls, pStmt, i)) && + (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == Xsqlite3_column_bytes(tls, pStmt, i))) && + ((*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == 0) || (0 == libc.Xmemcmp(tls, (pCsr+uintptr(nHdr)), Xsqlite3_column_blob(tls, pStmt, i), uint32(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))))) { + break + } + bChanged = 1 + + } + } + + // If at least one field has been modified, this is not a no-op. + if bChanged != 0 { + bNoop = 0 + } + + // Add a field to the old.* record. This is omitted if this modules is + // currently generating a patchset. + if bPatchset == 0 { + if (bChanged != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + sessionAppendBlob(tls, pBuf, pCsr, nAdvance, bp /* &rc */) + } else { + sessionAppendByte(tls, pBuf, uint8(0), bp /* &rc */) + } + } + + // Add a field to the new.* record. Or the only record if currently + // generating a patchset. + if (bChanged != 0) || ((bPatchset != 0) && (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0)) { + sessionAppendCol(tls, bp+28 /* &buf2 */, pStmt, i, bp /* &rc */) + } else { + sessionAppendByte(tls, bp+28 /* &buf2 */, uint8(0), bp /* &rc */) + } + + pCsr += uintptr(nAdvance) + } + + if bNoop != 0 { + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = nRewind + } else { + sessionAppendBlob(tls, pBuf, (*SessionBuffer)(unsafe.Pointer(bp+28 /* &buf2 */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+28 /* &buf2 */)).FnBuf, bp /* &rc */) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+28 /* &buf2 */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Append a DELETE change to the buffer passed as the first argument. Use +// the changeset format if argument bPatchset is zero, or the patchset +// format otherwise. +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:208956:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + + sessionAppendByte(tls, pBuf, uint8(SQLITE_DELETE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + + if bPatchset == 0 { + sessionAppendBlob(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp /* &rc */) + } else { + var i int32 + var a uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord + for i = 0; i < nCol; i++ { + var pStart uintptr = a + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + a += uintptr(8) + break + fallthrough + + default: + { + // var n int32 at bp+4, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+4 /* &n */)) + a += uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* n */))) + break + + } + } + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendBlob(tls, pBuf, pStart, ((int32(a) - int32(pStart)) / 1), bp /* &rc */) + } + } + + } + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Formulate and prepare a SELECT statement to retrieve a row from table +// zTab in database zDb based on its primary key. i.e. +// +// SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = SQLITE_OK + var zSql uintptr = uintptr(0) + var nSql int32 = -1 + + if 0 == Xsqlite3_stricmp(tls, ts+13346 /* "sqlite_stat1" */, zTab) { + zSql = Xsqlite3_mprintf(tls, + + ts+37681 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + if zSql == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = SQLITE_NOMEM + } + } else { + var i int32 + var zSep uintptr = ts + 915 /* "" */ + *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp+8 /* &buf */, ts+37791 /* "SELECT * FROM " */, bp+20 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zDb, bp+20 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+928 /* "." */, bp+20 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zTab, bp+20 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+37806 /* " WHERE " */, bp+20 /* &rc */) + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendStr(tls, bp+8 /* &buf */, zSep, bp+20 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), bp+20 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+37814 /* " IS ?" */, bp+20 /* &rc */) + sessionAppendInteger(tls, bp+8 /* &buf */, (i + 1), bp+20 /* &rc */) + zSep = ts + 24073 /* " AND " */ + } + } + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FnBuf + } + + if *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + } + Xsqlite3_free(tls, zSql) + return *(*int32)(unsafe.Pointer(bp + 20 /* rc */)) +} + +// Bind the PRIMARY KEY values from the change passed in argument pChange +// to the SELECT statement passed as the first argument. The SELECT statement +// is as prepared by function sessionSelectStmt(). +// +// Return SQLITE_OK if all PK values are successfully bound, or an SQLite +// error code (e.g. SQLITE_NOMEM) otherwise. +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:209068:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 + var rc int32 = SQLITE_OK + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord + + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + + case SQLITE_INTEGER: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + var iVal I64 = sessionGetI64(tls, a) + rc = Xsqlite3_bind_int64(tls, pSelect, (i + 1), iVal) + } + a += uintptr(8) + break + + } + + case SQLITE_FLOAT: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + // var rVal float64 at bp, 8 + + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = sessionGetI64(tls, a) + libc.Xmemcpy(tls, bp /* &rVal */, bp+8 /* &iVal */, uint32(8)) + rc = Xsqlite3_bind_double(tls, pSelect, (i + 1), *(*float64)(unsafe.Pointer(bp /* rVal */))) + } + a += uintptr(8) + break + + } + + case SQLITE_TEXT: + { + // var n int32 at bp+16, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+16 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_text(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 16 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* n */))) + break + + } + + default: + { + // var n int32 at bp+20, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_blob(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 20 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + break + + } + } + } + + return rc +} + +// This function is a no-op if *pRc is set to other than SQLITE_OK when it +// is called. Otherwise, append a serialized table header (part of the binary +// changeset format) to buffer *pBuf. If an error occurs, set *pRc to an +// SQLite error code before returning. +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:209139:13: */ + // Write a table header + sessionAppendByte(tls, pBuf, func() uint8 { + if bPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), pRc) + sessionAppendVarint(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (int32(libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + 1), pRc) +} + +// Generate either a changeset (if argument bPatchset is zero) or a patchset +// (if it is non-zero) based on the current contents of the session object +// passed as the first argument. +// +// If no error occurs, SQLITE_OK is returned and the new changeset/patchset +// stored in output variables *pnChangeset and *ppChangeset. Or, if an error +// occurs, an SQLite error code is returned and both output variables set +// to 0. +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209162:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Source database handle + var pTab uintptr // Used to iterate through attached tables + *(*SessionBuffer)(unsafe.Pointer(bp + 12 /* buf */)) = SessionBuffer{} // Buffer in which to accumlate changeset + // var rc int32 at bp+24, 4 + // Return code + + // Zero the output variables in case an error occurs. If this session + // object is already in the error state (sqlite3_session.rc != SQLITE_OK), + // this call will be a no-op. + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = 0 + *(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0) + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + } + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+37820 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + } + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry != 0 { + var zName uintptr = (*SessionTable)(unsafe.Pointer(pTab)).FzName + // var nCol int32 at bp, 4 + // Number of columns in table + // var abPK uintptr at bp+8, 4 + // Primary key array + *(*uintptr)(unsafe.Pointer(bp + 4 /* azCol */)) = uintptr(0) // Table columns + var i int32 // Used to iterate through hash buckets + *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)) = uintptr(0) // SELECT statement to query table pTab + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf // Initial size of write buffer + var nNoop int32 // Size of buffer after writing tbl header + + // Check the table schema is still Ok. + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionTableInfo(tls, uintptr(0), db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, bp /* &nCol */, uintptr(0), bp+4 /* &azCol */, bp+8 /* &abPK */) + if !(*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0) && (((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp /* nCol */))) || (libc.Xmemcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */)), (*SessionTable)(unsafe.Pointer(pTab)).FabPK, uint32(*(*int32)(unsafe.Pointer(bp /* nCol */)))) != 0)) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_SCHEMA + } + + // Write a table header + sessionAppendTableHdr(tls, bp+12 /* &buf */, bPatchset, pTab, bp+24 /* &rc */) + + // Build and compile a statement to execute: + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionSelectStmt(tls, + db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 4 /* azCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */)), bp+28 /* &pSel */) + } + + nNoop = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf + for i = 0; (i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange) && (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK); i++ { + var p uintptr // Used to iterate through changes + + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (p != 0); p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionSelectBind(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)), *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */)), p) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { + continue + } + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */))) == SQLITE_ROW { + if int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_INSERT { + var iCol int32 + sessionAppendByte(tls, bp+12 /* &buf */, uint8(SQLITE_INSERT), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+24 /* &rc */) + for iCol = 0; iCol < *(*int32)(unsafe.Pointer(bp /* nCol */)); iCol++ { + sessionAppendCol(tls, bp+12 /* &buf */, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)), iCol, bp+24 /* &rc */) + } + } else { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionAppendUpdate(tls, bp+12 /* &buf */, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */)), p, *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */))) + } + } else if int32((*SessionChange)(unsafe.Pointer(p)).Fop) != SQLITE_INSERT { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sessionAppendDelete(tls, bp+12 /* &buf */, bPatchset, p, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* abPK */))) + } + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */))) + } + + // If the buffer is now larger than sessions_strm_chunk_size, pass + // its contents to the xOutput() callback. + if (((xOutput != 0) && + (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK)) && + ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > nNoop)) && + ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf) + nNoop = -1 + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf = 0 + } + + } + } + + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 28 /* pSel */))) + if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf == nNoop { + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf = nRewind + } + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* azCol */))) // cast works around VC++ bug + } + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &buf */)).FaBuf = uintptr(0) + } else if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FnBuf) + } + } + + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &buf */)).FaBuf) + Xsqlite3_exec(tls, db, ts+37840 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Obtain a changeset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209288:16: */ + var rc int32 = sessionGenerateChangeset(tls, pSession, 0, uintptr(0), uintptr(0), pnChangeset, ppChangeset) + + return rc +} + +// Streaming version of sqlite3session_changeset(). +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209303:16: */ + return sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Streaming version of sqlite3session_patchset(). +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209314:16: */ + return sessionGenerateChangeset(tls, pSession, 1, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Obtain a patchset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:209329:16: */ + return sessionGenerateChangeset(tls, pSession, 1, uintptr(0), uintptr(0), pnPatchset, ppPatchset) +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:209340:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bEnable >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable = bEnable + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:209354:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bIndirect >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect = bIndirect + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Return true if there have been no changes to monitored tables recorded +// by the session object passed as the only argument. +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:209369:16: */ + var ret int32 = 0 + var pTab uintptr + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (pTab != 0) && (ret == 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + ret = (libc.Bool32((*SessionTable)(unsafe.Pointer(pTab)).FnEntry > 0)) + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + return (libc.Bool32(ret == 0)) +} + +// Return the amount of heap memory in use. +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209385:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc +} + +// Configure the session object passed as the first argument. +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:209392:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_OBJCONFIG_SIZE: + { + var iArg int32 = *(*int32)(unsafe.Pointer(pArg)) + if iArg >= 0 { + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable != 0 { + rc = SQLITE_MISUSE + } else { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize = (libc.Bool32(iArg != 0)) + } + } + *(*int32)(unsafe.Pointer(pArg)) = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize + break + + } + + default: + rc = SQLITE_MISUSE + } + + return rc +} + +// Return the maximum size of sqlite3session_changeset() output. +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209418:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize +} + +// Do the work for either sqlite3changeset_start() or start_strm(). +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:209425:12: */ + var pRet uintptr // Iterator to return + var nByte int32 // Number of bytes to allocate for iterator + + // Zero the output variable in case an error occurs. + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + + // Allocate and initialize the iterator structure. + nByte = int32(unsafe.Sizeof(Sqlite3_changeset_iter{})) + pRet = Xsqlite3_malloc(tls, nByte) + if !(pRet != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pRet, 0, uint32(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FbEof = func() int32 { + if xInput != 0 { + return 0 + } + return 1 + }() + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbInvert = bInvert + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbSkipEmpty = bSkipEmpty + + // Populate the output variable and return success. + *(*uintptr)(unsafe.Pointer(pp)) = pRet + return SQLITE_OK +} + +// Create an iterator used to iterate through the contents of a changeset. +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:209463:16: */ + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) +} + +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:209470:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) +} + +// Streaming version of sqlite3changeset_start(). +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:209483:16: */ + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) +} + +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:209490:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) +} + +// If the SessionInput object passed as the only argument is a streaming +// object and the buffer is full, discard some data to free up space. +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:209504:13: */ + if ((*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0) && ((*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size) { + var nMove int32 = ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext) + + if nMove > 0 { + libc.Xmemmove(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), uint32(nMove)) + } + *(*int32)(unsafe.Pointer(pIn + 20 /* &.buf */ + 4 /* &.nBuf */)) -= ((*SessionInput)(unsafe.Pointer(pIn)).FiNext) + (*SessionInput)(unsafe.Pointer(pIn)).FiNext = 0 + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } +} + +// Ensure that there are at least nByte bytes available in the buffer. Or, +// if there are not nByte bytes remaining in the input, that all available +// data is in the buffer. +// +// Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:209524:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 { + for (!((*SessionInput)(unsafe.Pointer(pIn)).FbEof != 0) && (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte) >= (*SessionInput)(unsafe.Pointer(pIn)).FnData)) && (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) { + *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) = sessions_strm_chunk_size + + if (*SessionInput)(unsafe.Pointer(pIn)).FbNoDiscard == 0 { + sessionDiscardData(tls, pIn) + } + if SQLITE_OK == sessionBufferGrow(tls, (pIn+20 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 32 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { + (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 + } else { + *(*int32)(unsafe.Pointer(pIn + 20 /* &.buf */ + 4 /* &.nBuf */)) += (*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))) + } + } + + (*SessionInput)(unsafe.Pointer(pIn)).FaData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// When this function is called, *ppRec points to the start of a record +// that contains nCol values. This function advances the pointer *ppRec +// until it points to the byte immediately following that record. +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:209552:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var aRec uintptr = *(*uintptr)(unsafe.Pointer(ppRec)) + var i int32 + for i = 0; i < nCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aRec, 1)))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + aRec += uintptr(sessionVarintGet(tls, aRec, bp /* &nByte */)) + aRec += uintptr(*(*int32)(unsafe.Pointer(bp /* nByte */))) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + aRec += uintptr(8) + } + } + + *(*uintptr)(unsafe.Pointer(ppRec)) = aRec +} + +// This function sets the value of the sqlite3_value object passed as the +// first argument to a copy of the string or blob held in the aData[] +// buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM +// error occurs. +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:209578:12: */ + // In theory this code could just pass SQLITE_TRANSIENT as the final + // argument to sqlite3ValueSetStr() and have the copy created + // automatically. But doing so makes it difficult to detect any OOM + // error. Hence the code to create the copy externally. + var aCopy uintptr = Xsqlite3_malloc64(tls, (uint64(Sqlite3_int64(nData) + int64(1)))) + if aCopy == uintptr(0) { + return SQLITE_NOMEM + } + libc.Xmemcpy(tls, aCopy, aData, uint32(nData)) + Xsqlite3ValueSetStr(tls, pVal, nData, aCopy, enc, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + return SQLITE_OK +} + +// Deserialize a single record from a buffer in memory. See "RECORD FORMAT" +// for details. +// +// When this function is called, *paChange points to the start of the record +// to deserialize. Assuming no error occurs, *paChange is set to point to +// one byte after the end of the same record before this function returns. +// If the argument abPK is NULL, then the record contains nCol values. Or, +// if abPK is other than NULL, then the record contains only the PK fields +// (in other words, it is a patchset DELETE record). +// +// If successful, each element of the apOut[] array (allocated by the caller) +// is set to point to an sqlite3_value object containing the value read +// from the corresponding position in the record. If that value is not +// included in the record (i.e. because the record is part of an UPDATE change +// and the field was not modified), the corresponding element of apOut[] is +// set to NULL. +// +// It is the responsibility of the caller to free all sqlite_value structures +// using sqlite3_free(). +// +// If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +// The apOut[] array may have been partially populated in this case. +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209619:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 // Used to iterate through columns + var rc int32 = SQLITE_OK + + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 1 + } + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = 0 // Type of value (SQLITE_NULL, TEXT etc.) + if (abPK != 0) && (int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0) { + continue + } + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { + rc = Xsqlite3CorruptError(tls, 209637) + } else { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) + + if eType != 0 { + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 0 + } + *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)) = Xsqlite3ValueNew(tls, uintptr(0)) + if !(int32(*(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4))) != 0) { + rc = SQLITE_NOMEM + } + } + } + } + + if rc == SQLITE_OK { + var aVal uintptr = ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (sessionVarintGet(tls, aVal, bp /* &nByte */)) + rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) + if rc == SQLITE_OK { + if (*(*int32)(unsafe.Pointer(bp /* nByte */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nByte */)) > ((*SessionInput)(unsafe.Pointer(pIn)).FnData - (*SessionInput)(unsafe.Pointer(pIn)).FiNext)) { + rc = Xsqlite3CorruptError(tls, 209657) + } else { + var enc U8 = func() uint8 { + if eType == SQLITE_TEXT { + return uint8(SQLITE_UTF8) + } + return uint8(0) + }() + rc = sessionValueSetStr(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)), ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), *(*int32)(unsafe.Pointer(bp /* nByte */)), enc) + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nByte */))) + } + } + } + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */)) = sessionGetI64(tls, aVal) + if eType == SQLITE_INTEGER { + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)), *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */))) + } else { + // var d float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &d */, bp+16 /* &v */, uint32(8)) + Xsqlite3VdbeMemSetDouble(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*4)), *(*float64)(unsafe.Pointer(bp + 8 /* d */))) + } + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (8) + } + } + } + + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function ensures that all of the above is present in the input +// buffer (i.e. that it can be accessed without any calls to xInput()). +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. +// The input pointer is not moved. +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:209695:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + *(*int32)(unsafe.Pointer(bp /* nCol */)) = 0 + var nRead int32 = 0 + + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + nRead = nRead + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead))), bp /* &nCol */)) + // The hard upper limit for the number of columns in an SQLite + // database table is, according to sqliteLimit.h, 32676. So + // consider any table-header that purports to have more than 65536 + // columns to be corrupt. This is convenient because otherwise, + // if the (nCol>65536) condition below were omitted, a sufficiently + // large value for nCol may cause nRead to wrap around and become + // negative. Leading to a crash. + if (*(*int32)(unsafe.Pointer(bp /* nCol */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nCol */)) > 65536) { + rc = Xsqlite3CorruptError(tls, 209711) + } else { + rc = sessionInputBuffer(tls, pIn, ((nRead + *(*int32)(unsafe.Pointer(bp /* nCol */))) + 100)) + nRead = nRead + (*(*int32)(unsafe.Pointer(bp /* nCol */))) + } + } + + for rc == SQLITE_OK { + for (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData) && (*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead)))) != 0) { + nRead++ + } + if ((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData { + break + } + rc = sessionInputBuffer(tls, pIn, (nRead + 100)) + } + *(*int32)(unsafe.Pointer(pnByte)) = (nRead + 1) + return rc +} + +// The input pointer currently points to the first byte of the first field +// of a record consisting of nCol columns. This function ensures the entire +// record is buffered. It does not move the input pointer. +// +// If successful, SQLITE_OK is returned and *pnByte is set to the size of +// the record in bytes. Otherwise, an SQLite error code is returned. The +// final value of *pnByte is undefined in this case. +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:209738:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var nByte int32 = 0 + var i int32 + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + var eType int32 + rc = sessionInputBuffer(tls, pIn, (nByte + 10)) + if rc == SQLITE_OK { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + libc.PostIncInt32(&nByte, 1)))))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var n int32 at bp, 4 + + nByte = nByte + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte))), bp /* &n */)) + nByte = nByte + (*(*int32)(unsafe.Pointer(bp /* n */))) + rc = sessionInputBuffer(tls, pIn, nByte) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + nByte = nByte + (8) + } + } + } + *(*int32)(unsafe.Pointer(pnByte)) = nByte + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function decodes the table-header and populates the p->nCol, +// p->zTab and p->abPK[] variables accordingly. The p->apValue[] array is +// also allocated or resized according to the new value of p->nCol. The +// input pointer is left pointing to the byte following the table header. +// +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code +// is returned and the final values of the various fields enumerated above +// are undefined. +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209782:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var rc int32 at bp+4, 4 + + // var nCopy int32 at bp, 4 + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetBufferTblhdr(tls, (p /* &.in */), bp /* &nCopy */) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte int32 + var nVarint int32 + nVarint = sessionVarintGet(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), (p + 80 /* &.nCol */)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol > 0 { + *(*int32)(unsafe.Pointer(bp /* nCopy */)) -= nVarint + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (nVarint) + nByte = (int32(((uint32((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol) * uint32(unsafe.Sizeof(uintptr(0)))) * uint32(2)) + uint32(*(*int32)(unsafe.Pointer(bp /* nCopy */))))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 + sessionBufferGrow(tls, (p + 44 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + } else { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 209799) + } + } + + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var iPK Size_t = ((uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint32(2)) + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0, iPK) + libc.Xmemcpy(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + uintptr(iPK)), ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), uint32(*(*int32)(unsafe.Pointer(bp /* nCopy */)))) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nCopy */))) + } + + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue == uintptr(0) { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = uintptr(0) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = uintptr(0) + } else { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol*2))*4) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) + } + return uintptr(0) + }() + } + return libc.AssignPtrInt32(p+68 /* &.rc */, *(*int32)(unsafe.Pointer(bp + 4 /* rc */))) +} + +// Advance the changeset iterator to the next change. The differences between +// this function and sessionChangesetNext() are that +// +// * If pbEmpty is not NULL and the change is a no-op UPDATE (an UPDATE +// that modifies no columns), this function sets (*pbEmpty) to 1. +// +// * If the iterator is configured to skip no-op UPDATEs, +// sessionChangesetNext() does that. This function does not. +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209831:12: */ + var i int32 + var op U8 + + // If the iterator is in the error-state, return immediately. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // Free the current contents of p->apValue[], if any. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4))) + } + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0, ((uint32(unsafe.Sizeof(uintptr(0))) * uint32((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint32(2))) + } + + // Make sure the buffer contains at least 10 bytes of input data, or all + // remaining data if there are less than 10 bytes available. This is + // sufficient either for the 'T' or 'P' byte and the varint that follows + // it, or for the two single byte values otherwise. + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionInputBuffer(tls, (p /* &.in */), 2) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // If the iterator is already at the end of the changeset, return DONE. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + + sessionDiscardData(tls, (p /* &.in */)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + + op = *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))) + for (int32(op) == 'T') || (int32(op) == 'P') { + if pbNew != 0 { + *(*int32)(unsafe.Pointer(pbNew)) = 1 + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset = (libc.Bool32(int32(op) == 'P')) + if sessionChangesetReadTblhdr(tls, p) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + if libc.AssignPtrInt32(p+68 /* &.rc */, sessionInputBuffer(tls, (p /* &.in */), 2)) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + op = *(*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)).FzTab == uintptr(0)) || (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) { + // The first record in the changeset is not a table header. Must be a + // corrupt changeset. + + return libc.AssignPtrInt32(p+68 /* &.rc */, Xsqlite3CorruptError(tls, 209885)) + } + + (*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 /* &.rc */, Xsqlite3CorruptError(tls, 209891)) + } + + if paRec != 0 { + var nVal int32 // Number of values to buffer + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) && (int32(op) == SQLITE_UPDATE) { + nVal = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2) + } else if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && (int32(op) == SQLITE_DELETE) { + nVal = 0 + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { + nVal++ + } + } + } else { + nVal = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionChangesetBufferRecord(tls, (p /* &.in */), nVal, pnRec) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + *(*uintptr)(unsafe.Pointer(paRec)) = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(pnRec))) + } else { + var apOld uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4) + } + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + }() + var apNew uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + } + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4) + }() + + // If this is an UPDATE or DELETE, read the old.* record. + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT) && (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE)) { + var abPK uintptr + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 { + abPK = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + } else { + abPK = uintptr(0) + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, abPK, apOld, uintptr(0)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + // If this is an INSERT or UPDATE, read the new.* record. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, uintptr(0), apNew, pbEmpty) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + if (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_UPDATE) { + // If this is an UPDATE that is part of a patchset, then all PK and + // modified fields are present in the new.* record. The old.* record + // is currently completely empty. This block shifts the PK fields from + // new.* to old.*, to accommodate the code that reads these arrays. + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + + 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 /* &.rc */, Xsqlite3CorruptError(tls, 209935)) + } + *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol))*4)) = uintptr(0) + } + } + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_INSERT { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_DELETE + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_INSERT + } + } + } + + return SQLITE_ROW +} + +// Advance the changeset iterator to the next change. +// +// If both paRec and pnRec are NULL, then this function works like the public +// API sqlite3changeset_next(). If SQLITE_ROW is returned, then the +// sqlite3changeset_new() and old() APIs may be used to query for values. +// +// Otherwise, if paRec and pnRec are not NULL, then a pointer to the change +// record is written to *paRec before returning and the number of bytes in +// the record to *pnRec. +// +// Either way, this function returns SQLITE_ROW if the iterator is +// successfully advanced to the next change in the changeset, an SQLite +// error code if an error occurs, or SQLITE_DONE if there are no further +// changes in the changeset. +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:209964:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var bEmpty int32 at bp, 4 + + var rc int32 + for ok := true; ok; ok = (((rc == SQLITE_ROW) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbSkipEmpty != 0)) && (*(*int32)(unsafe.Pointer(bp /* bEmpty */)) != 0)) { + *(*int32)(unsafe.Pointer(bp /* bEmpty */)) = 0 + rc = sessionChangesetNextOne(tls, p, paRec, pnRec, pbNew, bp /* &bEmpty */) + } + return rc +} + +// Advance an iterator created by sqlite3changeset_start() to the next +// change in the changeset. This function may return SQLITE_ROW, SQLITE_DONE +// or SQLITE_CORRUPT. +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209987:16: */ + return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) +} + +// The following function extracts information on the current change +// from a changeset iterator. It may only be called after changeset_next() +// has returned SQLITE_ROW. +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:209996:16: */ + *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + if pbIndirect != 0 { + *(*int32)(unsafe.Pointer(pbIndirect)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect + } + return SQLITE_OK +} + +// Return information regarding the PRIMARY KEY and number of columns in +// the database table affected by the change that pIter currently points +// to. This function may only be called after changeset_next() returns +// SQLITE_ROW. +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:210016:16: */ + *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + if pnCol != 0 { + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + } + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_DELETE change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the old.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified and is not a PK column), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210039:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(iVal)*4)) + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_INSERT change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the new.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210067:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+iVal))*4)) + return SQLITE_OK +} + +// The following two macros are used internally. They are similar to the +// sqlite3changeset_new() and sqlite3changeset_old() functions, except that +// they omit all error checking and return a pointer to the requested value. + +// This function may only be called with a changeset iterator that has been +// passed to an SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT +// conflict-handler function. Otherwise, SQLITE_MISUSE is returned. +// +// If successful, *ppValue is set to point to an sqlite3_value structure +// containing the iVal'th value of the conflicting record. +// +// If value iVal is out-of-range or some other error occurs, an SQLite error +// code is returned. Otherwise, SQLITE_OK. +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210101:16: */ + if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = Xsqlite3_column_value(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict, iVal) + return SQLITE_OK +} + +// This function may only be called with an iterator passed to an +// SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +// it sets the output variable to the total number of known foreign key +// violations in the destination database and returns SQLITE_OK. +// +// In all other cases this function returns SQLITE_MISUSE. +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:210124:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0) { + return SQLITE_MISUSE + } + *(*int32)(unsafe.Pointer(pnOut)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + return SQLITE_OK +} + +// Finalize an iterator allocated with sqlite3changeset_start(). +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:210142:16: */ + var rc int32 = SQLITE_OK + if p != 0 { + var i int32 // Used to iterate through p->apValue[] + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4))) + } + } + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf) + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.Fbuf.FaBuf) + Xsqlite3_free(tls, p) + } + return rc +} + +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210157:12: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + // var rc int32 at bp+32, 4 + // Return value + // var sOut SessionBuffer at bp, 12 + // Output buffer + // var nCol int32 at bp+16, 4 + // Number of cols in current table + var abPK uintptr // PK array for current table + var apVal uintptr // Space for values for UPDATE inversion + // var sPK SessionBuffer at bp+20, 12 + + // A 'table' record consists of: + // + // * A constant 'T' character, + // * Number of columns in said table (a varint), + // * An array of nCol bytes (sPK), + // * A nul-terminated table name. + // var nByte int32 at bp+12, 4 + + var nVar int32 + // var nByte1 int32 at bp+36, 4 + + var bIndirect int32 + var eType2 int32 + var pVal uintptr + var pVal1 uintptr + var iCol int32 + var eType U8 + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)) = 0 + abPK = uintptr(0) + apVal = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 20 /* sPK */)) = SessionBuffer{} // PK array for current table + + // Initialize the output buffer + libc.Xmemset(tls, bp /* &sOut */, 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + + // Zero the output variables in case an error occurs. + if !(ppInverted != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(ppInverted)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnInverted)) = 0 +__1: + ; + +__2: + if !(1 != 0) { + goto __3 + } + + // Test for EOF. + if !(libc.AssignPtrInt32(bp+32 /* rc */, sessionInputBuffer(tls, pInput, 2)) != 0) { + goto __4 + } + goto finished_invert +__4: + ; + if !((*SessionInput)(unsafe.Pointer(pInput)).FiNext >= (*SessionInput)(unsafe.Pointer(pInput)).FnData) { + goto __5 + } + goto __3 +__5: + ; + eType = *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext))) + + switch int32(eType) { + case 'T': + goto __7 + + case SQLITE_INSERT: + goto __8 + case SQLITE_DELETE: + goto __9 + + case SQLITE_UPDATE: + goto __10 + + default: + goto __11 + } + goto __6 +__7: + (*SessionInput)(unsafe.Pointer(pInput)).FiNext++ + if !(libc.AssignPtrInt32(bp+32 /* rc */, sessionChangesetBufferTblhdr(tls, pInput, bp+12 /* &nByte */)) != 0) { + goto __12 + } + goto finished_invert +__12: + ; + nVar = sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), bp+16 /* &nCol */) + (*SessionBuffer)(unsafe.Pointer(bp + 20 /* &sPK */)).FnBuf = 0 + sessionAppendBlob(tls, bp+20 /* &sPK */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + nVar))), *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), bp+32 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, eType, bp+32 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 12 /* nByte */)), bp+32 /* &rc */) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0) { + goto __13 + } + goto finished_invert +__13: + ; + + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 12 /* nByte */))) + Xsqlite3_free(tls, apVal) + apVal = uintptr(0) + abPK = (*SessionBuffer)(unsafe.Pointer(bp + 20 /* &sPK */)).FaBuf + goto __6 + +__8: +__9: + bIndirect = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1))))) + eType2 = func() int32 { + if int32(eType) == SQLITE_DELETE { + return SQLITE_INSERT + } + return SQLITE_DELETE + }() + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sessionChangesetBufferRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), bp+36 /* &nByte1 */) + sessionAppendByte(tls, bp /* &sOut */, uint8(eType2), bp+32 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, uint8(bIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 36 /* nByte1 */)), bp+32 /* &rc */) + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 36 /* nByte1 */))) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0) { + goto __14 + } + goto finished_invert +__14: + ; + goto __6 + +__10: + + if !(uintptr(0) == apVal) { + goto __15 + } + apVal = Xsqlite3_malloc64(tls, (uint64((uint32(unsafe.Sizeof(uintptr(0))) * uint32(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))) * uint32(2)))) + if !(uintptr(0) == apVal) { + goto __16 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_NOMEM + goto finished_invert +__16: + ; + libc.Xmemset(tls, apVal, 0, ((uint32(unsafe.Sizeof(uintptr(0))) * uint32(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))) * uint32(2))) +__15: + ; + + // Write the header for the new UPDATE change. Same as the original. + sessionAppendByte(tls, bp /* &sOut */, eType, bp+32 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1)))), bp+32 /* &rc */) + + // Read the old.* and new.* records for the update change. + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), uintptr(0), (apVal), uintptr(0)) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) { + goto __17 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)), uintptr(0), (apVal + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))*4), uintptr(0)) +__17: + ; + + // Write the new old.* record. Consists of the PK columns from the + // original old.* record, and the other values from the original + // new.* record. + iCol = 0 +__18: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 16 /* nCol */))) { + goto __20 + } + pVal = *(*uintptr)(unsafe.Pointer(apVal + uintptr((iCol+(func() int32 { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return 0 + } + return *(*int32)(unsafe.Pointer(bp + 16 /* nCol */)) + }())))*4)) + sessionAppendValue(tls, bp /* &sOut */, pVal, bp+32 /* &rc */) + goto __19 +__19: + iCol++ + goto __18 + goto __20 +__20: + ; + + // Write the new new.* record. Consists of a copy of all values + // from the original old.* record, except for the PK columns, which + // are set to "undefined". + iCol = 0 +__21: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 16 /* nCol */))) { + goto __23 + } + pVal1 = func() uintptr { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return uintptr(0) + } + return *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*4)) + }() + sessionAppendValue(tls, bp /* &sOut */, pVal1, bp+32 /* &rc */) + goto __22 +__22: + iCol++ + goto __21 + goto __23 +__23: + ; + + iCol = 0 +__24: + if !(iCol < (*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)) * 2)) { + goto __26 + } + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*4))) + goto __25 +__25: + iCol++ + goto __24 + goto __26 +__26: + ; + libc.Xmemset(tls, apVal, 0, ((uint32(unsafe.Sizeof(uintptr(0))) * uint32(*(*int32)(unsafe.Pointer(bp + 16 /* nCol */)))) * uint32(2))) + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK) { + goto __27 + } + goto finished_invert +__27: + ; + + goto __6 + +__11: + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3CorruptError(tls, 210284) + goto finished_invert +__6: + ; + + if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { + goto __28 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 + if !(*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK) { + goto __29 + } + goto finished_invert +__29: + ; +__28: + ; + goto __2 +__3: + ; + + if !(pnInverted != 0) { + goto __30 + } + *(*int32)(unsafe.Pointer(pnInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf = uintptr(0) + goto __31 +__30: + if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { + goto __32 + } + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) +__32: + ; +__31: + ; + +finished_invert: + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf) + Xsqlite3_free(tls, apVal) + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+20 /* &sPK */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Invert a changeset object. +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210316:16: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + // var sInput SessionInput at bp, 44 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint32(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FnData = nChangeset + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FaData = pChangeset + + return sessionChangesetInvert(tls, bp /* &sInput */, uintptr(0), uintptr(0), pnInverted, ppInverted) +} + +// Streaming version of sqlite3changeset_invert(). +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:210335:16: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + // var sInput SessionInput at bp, 44 + + var rc int32 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint32(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FxInput = xInput + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FpIn = pIn + + rc = sessionChangesetInvert(tls, bp /* &sInput */, xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3_free(tls, (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).Fbuf.FaBuf) + return rc +} + +type SessionUpdate1 = struct { + FpStmt uintptr + FaMask uintptr + FpNext uintptr +} /* sqlite3.c:210355:9 */ + +type SessionUpdate = SessionUpdate1 /* sqlite3.c:210355:30 */ + +type SessionApplyCtx1 = struct { + Fdb uintptr + FpDelete uintptr + FpInsert uintptr + FpSelect uintptr + FnCol int32 + FazCol uintptr + FabPK uintptr + FaUpdateMask uintptr + FpUp uintptr + FbStat1 int32 + FbDeferConstraints int32 + FbInvertConstraints int32 + Fconstraints SessionBuffer + Frebase SessionBuffer + FbRebaseStarted U8 + FbRebase U8 + _ [2]byte +} /* sqlite3.c:210362:9 */ + +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ + +// Number of prepared UPDATE statements to cache. + +// Find a prepared UPDATE statement suitable for the UPDATE step currently +// being visited by the iterator. The UPDATE is of the form: +// +// UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:210391:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + var pUp uintptr = uintptr(0) + var nCol int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + var nU32 int32 = (((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + 33) / 32) + var ii int32 + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = Xsqlite3_malloc(tls, (int32(uint32(nU32) * uint32(unsafe.Sizeof(U32(0)))))) + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_NOMEM + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0, (uint32(nU32) * uint32(unsafe.Sizeof(U32(0))))) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_CORRUPT + for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ { + if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(ii)))*4)) != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((ii/32))*4)) |= (U32(int32(1) << (ii % 32))) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + if bPatchset != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((nCol/32))*4)) |= (U32(int32(1) << (nCol % 32))) + } + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp != 0 { + var nUp int32 = 0 + var pp uintptr = (p + 32 /* &.pUp */) + for 1 != 0 { + nUp++ + if 0 == libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaMask, (uint32(nU32)*uint32(unsafe.Sizeof(U32(0))))) { + pUp = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + break + } + + if (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext != 0 { + pp = (*(*uintptr)(unsafe.Pointer(pp)) + 8 /* &.pNext */) + } else { + if nUp >= SESSION_UPDATE_CACHE_SZ { + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpStmt) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pp))) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + } + break + } + } + } + + if pUp == uintptr(0) { + var nByte int32 = (int32((uint32(unsafe.Sizeof(SessionUpdate{})) * uint32(nU32)) * uint32(unsafe.Sizeof(U32(0))))) + var bStat1 int32 = (libc.Bool32(Xsqlite3_stricmp(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, ts+13346 /* "sqlite_stat1" */) == 0)) + pUp = Xsqlite3_malloc(tls, nByte) + if pUp == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_NOMEM + } else { + var zSep uintptr = ts + 915 /* "" */ + // var buf SessionBuffer at bp, 12 + + libc.Xmemset(tls, bp /* &buf */, 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + (*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 /* &buf */, ts+37858 /* "UPDATE main." */, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37871 /* " SET " */, bp+12 /* &rc */) + + // Create the assignments part of the UPDATE + 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 /* &buf */, zSep, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37877 /* " = ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+12 /* &rc */) + zSep = ts + 16636 /* ", " */ + } + } + + // Create the WHERE clause part of the UPDATE + zSep = ts + 915 /* "" */ + sessionAppendStr(tls, bp /* &buf */, ts+37806 /* " WHERE " */, bp+12 /* &rc */) + 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 /* &buf */, zSep, bp+12 /* &rc */) + if (bStat1 != 0) && (ii == 1) { + + sessionAppendStr(tls, bp, /* &buf */ + + ts+37882 /* "idx IS CASE WHEN..." */, bp+12 /* &rc */) + } else { + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37814 /* " IS ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 2), bp+12 /* &rc */) + } + zSep = ts + 24073 /* " AND " */ + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + var zSql uintptr = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_prepare_v2(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, zSql, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (pUp /* &.pStmt */), uintptr(0)) + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, pUp) + pUp = uintptr(0) + } else { + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + } + } + } + + if pUp != 0 { + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt + } else { + *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) + } + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Free all cached UPDATE statements. +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:210530:13: */ + var pUp uintptr + var pNext uintptr + for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { + pNext = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt) + Xsqlite3_free(tls, pUp) + } + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = uintptr(0) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask) + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = uintptr(0) +} + +// Formulate a statement to DELETE a row from database db. Assuming a table +// structure like this: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The DELETE statement looks like this: +// +// DELETE FROM x WHERE a = :1 AND c = :3 AND (:5 OR b IS :2 AND d IS :4) +// +// Variable :5 (nCol+1) is a boolean. It should be set to 0 if we require +// matching b and d values, or 1 otherwise. The second case comes up if the +// conflict handler is invoked with NOTFOUND and returns CHANGESET_REPLACE. +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left +// pointing to the prepared version of the SQL statement. +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210560:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var i int32 + var zSep uintptr = ts + 915 /* "" */ + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var nPk int32 = 0 + + sessionAppendStr(tls, bp /* &buf */, ts+37957 /* "DELETE FROM main..." */, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37806 /* " WHERE " */, bp+12 /* &rc */) + + 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 /* &buf */, zSep, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37877 /* " = ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+12 /* &rc */) + zSep = ts + 24073 /* " AND " */ + } + } + + if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { + sessionAppendStr(tls, bp /* &buf */, ts+37975 /* " AND (?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((*SessionApplyCtx)(unsafe.Pointer(p)).FnCol + 1), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37518 /* " OR " */, bp+12 /* &rc */) + + zSep = ts + 915 /* "" */ + 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 /* &buf */, zSep, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37814 /* " IS ?" */, bp+12 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+12 /* &rc */) + zSep = ts + 37983 /* "AND " */ + } + } + sessionAppendStr(tls, bp /* &buf */, ts+6887 /* ")" */, bp+12 /* &rc */) + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 4 /* &.pDelete */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Formulate and prepare an SQL statement to query table zTab by primary +// key. Assuming the following table structure: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The SELECT statement looks like this: +// +// SELECT * FROM x WHERE a = ?1 AND c = ?3 +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left +// pointing to the prepared version of the SQL statement. +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210625:12: */ + return sessionSelectStmt(tls, + db, ts+8566 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 12 /* &.pSelect */)) +} + +// Formulate and prepare an INSERT statement to add a record to table zTab. +// For example: +// +// INSERT INTO main."zTab" VALUES(?1, ?2, ?3 ...); +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left +// pointing to the prepared version of the SQL statement. +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210643:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + var i int32 + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp /* &buf */, ts+37988 /* "INSERT INTO main..." */, bp+12 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+12 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+24079 /* "(" */, bp+12 /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + if i != 0 { + sessionAppendStr(tls, bp /* &buf */, ts+16636 /* ", " */, bp+12 /* &rc */) + } + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12 /* &rc */) + } + + sessionAppendStr(tls, bp /* &buf */, ts+38006 /* ") VALUES(?" */, bp+12 /* &rc */) + for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + sessionAppendStr(tls, bp /* &buf */, ts+38017 /* ", ?" */, bp+12 /* &rc */) + } + sessionAppendStr(tls, bp /* &buf */, ts+6887 /* ")" */, bp+12 /* &rc */) + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 8 /* &.pInsert */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:210673:12: */ + return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) +} + +// Prepare statements for applying changes to the sqlite_stat1 table. +// These are similar to those created by sessionSelectRow(), +// sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for +// other tables. +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:210683:12: */ + var rc int32 = sessionSelectRow(tls, db, ts+13346 /* "sqlite_stat1" */, p) + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 8 /* &.pInsert */), + + ts+38021 /* "INSERT INTO main..." */) + } + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 4 /* &.pDelete */), + + ts+38134 /* "DELETE FROM main..." */) + } + return rc +} + +// A wrapper around sqlite3_bind_value() that detects an extra problem. +// See comments in the body of this function for details. +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:210706:12: */ + var eType int32 = Xsqlite3_value_type(tls, pVal) + // COVERAGE: The (pVal->z==0) branch is never true using current versions + // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either + // the (pVal->z) variable remains as it was or the type of the value is + // set to SQLITE_NULL. + if ((eType == SQLITE_TEXT) || (eType == SQLITE_BLOB)) && ((*Sqlite3_value)(unsafe.Pointer(pVal)).Fz == uintptr(0)) { + // This condition occurs when an earlier OOM in a call to + // sqlite3_value_text() or sqlite3_value_blob() (perhaps from within + // a conflict-handler) has zeroed the pVal->z pointer. Return NOMEM. + return SQLITE_NOMEM + } + return Xsqlite3_bind_value(tls, pStmt, i, pVal) +} + +// Iterator pIter must point to an SQLITE_INSERT entry. This function +// transfers new.* values from the current iterator entry to statement +// pStmt. The table being inserted into has nCol columns. +// +// New.* value $i from the iterator is bound to variable ($i+1) of +// statement pStmt. If parameter abPK is NULL, all values from 0 to (nCol-1) +// are transfered to the statement. Otherwise, if abPK is not NULL, it points +// to an array nCol elements in size. In this case only those values for +// which abPK[$i] is true are read from the iterator and bound to the +// statement. +// +// An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK. +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:210739:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var i int32 + var rc int32 = SQLITE_OK + + // Neither sqlite3changeset_old or sqlite3changeset_new can fail if the + // argument iterator points to a suitable entry. Make sure that xValue + // is one of these to guarantee that it is safe to ignore the return + // in the code below. + + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + // var pVal uintptr at bp, 4 + + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { + // The value in the changeset was "undefined". This indicates a + // corrupt changeset blob. + rc = Xsqlite3CorruptError(tls, 210762) + } else { + rc = sessionBindValue(tls, pStmt, (i + 1), *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + } + } + return rc +} + +// SQL statement pSelect is as generated by the sessionSelectRow() function. +// This function binds the primary key values from the change that changeset +// iterator pIter points to to the SELECT and attempts to seek to the table +// entry. If a row is found, the SELECT statement left pointing at the row +// and SQLITE_ROW is returned. Otherwise, if no row is found and no error +// has occured, the statement is reset and SQLITE_OK is returned. If an +// error occurs, the statement is reset and an SQLite error code is returned. +// +// If this function returns SQLITE_ROW, the caller must eventually reset() +// statement pSelect. If any other value is returned, the statement does +// not require a reset(). +// +// If the iterator currently points to an INSERT record, bind values from the +// new.* record to the SELECT statement. Or, if it points to a DELETE or +// UPDATE, bind values from the old.* record. +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:210788:12: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + var rc int32 // Return code + // var nCol int32 at bp+4, 4 + // Number of columns in table + // var op int32 at bp+8, 4 + // Changset operation (SQLITE_UPDATE etc.) + // var zDummy uintptr at bp, 4 + // Unused + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + rc = sessionBindRow(tls, pIter, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_INSERT { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})) + } + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})) + }(), + *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), abPK, pSelect) + + if rc == SQLITE_OK { + rc = Xsqlite3_step(tls, pSelect) + if rc != SQLITE_ROW { + rc = Xsqlite3_reset(tls, pSelect) + } + } + + return rc +} + +// This function is called from within sqlite3changeset_apply_v2() when +// a conflict is encountered and resolved using conflict resolution +// mode eType (either SQLITE_CHANGESET_OMIT or SQLITE_CHANGESET_REPLACE).. +// It adds a conflict resolution record to the buffer in +// SessionApplyCtx.rebase, which will eventually be returned to the caller +// of apply_v2() as the "rebase" buffer. +// +// Return SQLITE_OK if successful, or an SQLite error code otherwise. +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:210823:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebase != 0 { + var i int32 + var eOp int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + if int32((*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted) == 0 { + // Append a table-header to the rebase buffer + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + sessionAppendByte(tls, (p + 60 /* &.rebase */), uint8('T'), bp /* &rc */) + sessionAppendVarint(tls, (p + 60 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 60 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 60 /* &.rebase */), zTab, (int32(libc.Xstrlen(tls, zTab)) + 1), bp /* &rc */) + (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted = U8(1) + } + + sessionAppendByte(tls, (p + 60 /* &.rebase */), + func() uint8 { + if eOp == SQLITE_DELETE { + return uint8(SQLITE_DELETE) + } + return uint8(SQLITE_INSERT) + }(), bp /* &rc */) + sessionAppendByte(tls, (p + 60 /* &.rebase */), (uint8(libc.Bool32(eType == SQLITE_CHANGESET_REPLACE))), bp /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + *(*uintptr)(unsafe.Pointer(bp + 4 /* pVal */)) = uintptr(0) + if (eOp == SQLITE_DELETE) || ((eOp == SQLITE_UPDATE) && (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0)) { + Xsqlite3changeset_old(tls, pIter, i, bp+4 /* &pVal */) + } else { + Xsqlite3changeset_new(tls, pIter, i, bp+4 /* &pVal */) + } + sessionAppendValue(tls, (p + 60 /* &.rebase */), *(*uintptr)(unsafe.Pointer(bp + 4 /* pVal */)), bp /* &rc */) + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Invoke the conflict handler for the change that the changeset iterator +// currently points to. +// +// Argument eType must be either CHANGESET_DATA or CHANGESET_CONFLICT. +// If argument pbReplace is NULL, then the type of conflict handler invoked +// depends solely on eType, as follows: +// +// eType value Value passed to xConflict +// ------------------------------------------------- +// CHANGESET_DATA CHANGESET_NOTFOUND +// CHANGESET_CONFLICT CHANGESET_CONSTRAINT +// +// Or, if pbReplace is not NULL, then an attempt is made to find an existing +// record with the same primary key as the record about to be deleted, updated +// or inserted. If such a record can be found, it is available to the conflict +// handler as the "conflicting" record. In this case the type of conflict +// handler invoked is as follows: +// +// eType value PK Record found? Value passed to xConflict +// ---------------------------------------------------------------- +// CHANGESET_DATA Yes CHANGESET_DATA +// CHANGESET_DATA No CHANGESET_NOTFOUND +// CHANGESET_CONFLICT Yes CHANGESET_CONFLICT +// CHANGESET_CONFLICT No CHANGESET_CONSTRAINT +// +// If pbReplace is not NULL, and a record with a matching PK is found, and +// the conflict handler function returns SQLITE_CHANGESET_REPLACE, *pbReplace +// is set to non-zero before returning SQLITE_OK. +// +// If the conflict handler returns SQLITE_CHANGESET_ABORT, SQLITE_ABORT is +// returned. Or, if the conflict handler returns an invalid value, +// SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT, +// this function returns SQLITE_OK. +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:210897:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var res int32 = 0 // Value returned by conflict handler + // var rc int32 at bp+12, 4 + + // var nCol int32 at bp+4, 4 + + // var op int32 at bp+8, 4 + + // var zDummy uintptr at bp, 4 + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + + // Bind the new.* PRIMARY KEY values to the SELECT statement. + if pbReplace != 0 { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_ROW { + // There exists another row with the new.* primary key. + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + if ((*SessionApplyCtx)(unsafe.Pointer(p)).FbDeferConstraints != 0) && (eType == SQLITE_CHANGESET_CONFLICT) { + // Instead of invoking the conflict handler, append the change blob + // to the SessionApplyCtx.constraints buffer. + var aBlob uintptr = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent)) + var nBlob int32 = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent) + sessionAppendBlob(tls, (p + 48 /* &.constraints */), aBlob, nBlob, bp+12 /* &rc */) + return SQLITE_OK + } else { + // No other row with the new.* primary key. + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + if res == SQLITE_CHANGESET_REPLACE { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_MISUSE + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + switch res { + case SQLITE_CHANGESET_REPLACE: + + *(*int32)(unsafe.Pointer(pbReplace)) = 1 + break + fallthrough + + case SQLITE_CHANGESET_OMIT: + break + fallthrough + + case SQLITE_CHANGESET_ABORT: + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_ABORT + break + fallthrough + + default: + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_MISUSE + break + } + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = sessionRebaseAdd(tls, p, res, pIter) + } + } + + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// If argument pbRetry is NULL, then ignore any CHANGESET_DATA conflict. If +// one is encountered, update or delete the row with the matching primary key +// instead. Or, if pbRetry is not NULL and a CHANGESET_DATA conflict occurs, +// invoke the conflict handler. If it returns CHANGESET_REPLACE, set *pbRetry +// to true before returning. In this case the caller will invoke this function +// again, this time with pbRetry set to NULL. +// +// If argument pbReplace is NULL and a CHANGESET_CONFLICT conflict is +// encountered invoke the conflict handler with CHANGESET_CONSTRAINT instead. +// Or, if pbReplace is not NULL, invoke it with CHANGESET_CONFLICT. If such +// an invocation returns SQLITE_CHANGESET_REPLACE, set *pbReplace to true +// before retrying. In this case the caller attempts to remove the conflicting +// row before invoking this function again, this time with pbReplace set +// to NULL. +// +// If any conflict handler returns SQLITE_CHANGESET_ABORT, this function +// returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is +// returned. +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:210995:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + // var zDummy uintptr at bp, 4 + + // var op int32 at bp+8, 4 + + // var nCol int32 at bp+4, 4 + + var rc int32 = SQLITE_OK + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+4 /* &nCol */, bp+8 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_DELETE { + + // Bind values to the DELETE statement. If conflict handling is required, + // bind values for all columns and set bound variable (nCol+1) to true. + // Or, if conflict handling is not required, bind just the PK column + // values and, if it exists, set (nCol+1) to false. Conflict handling + // is not required if: + // + // * this is a patchset, or + // * (pbRetry==0), or + // * all columns of the table are PK columns (in this case there is + // no (nCol+1) variable to bind to). + var abPK uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + } + return uintptr(0) + }() + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})), *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), abPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_bind_parameter_count(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) > *(*int32)(unsafe.Pointer(bp + 4 /* nCol */))) { + rc = Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete, (*(*int32)(unsafe.Pointer(bp + 4 /* nCol */)) + 1), (libc.Bool32((pbRetry == uintptr(0)) || (abPK != 0)))) + } + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else if *(*int32)(unsafe.Pointer(bp + 8 /* op */)) == SQLITE_UPDATE { + var i int32 + *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */)) = uintptr(0) + var bPatchset int32 = (libc.Bool32((pbRetry == uintptr(0)) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0))) + + rc = sessionUpdateFind(tls, pIter, p, bPatchset, bp+12 /* &pUp */) + + // Bind values to the UPDATE statement. + for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 4 /* nCol */))); i++ { + var pOld uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(i)*4)) + var pNew uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(i)))*4)) + if (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) || ((bPatchset == 0) && (pOld != 0)) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */)), ((i * 2) + 2), pOld) + } + if (rc == SQLITE_OK) && (pNew != 0) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */)), ((i * 2) + 1), pNew) + } + } + if rc != SQLITE_OK { + return rc + } + + // Attempt the UPDATE. In the case of a NOTFOUND or DATA conflict, + // the result will be SQLITE_OK with 0 rows modified. + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* pUp */))) + + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + // A NOTFOUND or DATA error. Search the table to see if it contains + // a row with a matching primary key. If so, this is a DATA conflict. + // Otherwise, if there is no primary key match, it is a NOTFOUND. + + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + // This is always a CONSTRAINT conflict. + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else { + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbStat1 != 0 { + // Check if there is a conflicting row. For sqlite_stat1, this needs + // to be done using a SELECT, as there is no PRIMARY KEY in the + // database schema to throw an exception if a duplicate is inserted. + rc = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + if rc == SQLITE_ROW { + rc = SQLITE_CONSTRAINT + Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } + } + + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), *(*int32)(unsafe.Pointer(bp + 4 /* nCol */)), uintptr(0), (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + } + + if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace) + } + } + + return rc +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// The difference between this function and sessionApplyOne() is that this +// function handles the case where the conflict-handler is invoked and +// returns SQLITE_CHANGESET_REPLACE - indicating that the change should be +// retried in some manner. +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211128:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) = 0 + var rc int32 + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp /* &bReplace */, bp+4 /* &bRetry */) + if rc == SQLITE_OK { + // If the bRetry flag is set, the change has not been applied due to an + // SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and + // a row with the correct PK is present in the db, but one or more other + // fields do not contain the expected values) and the conflict handler + // returned SQLITE_CHANGESET_REPLACE. In this case retry the operation, + // but pass NULL as the final argument so that sessionApplyOneOp() ignores + // the SQLITE_CHANGESET_DATA problem. + if *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) != 0 { + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } else if *(*int32)(unsafe.Pointer(bp /* bReplace */)) != 0 { + + rc = Xsqlite3_exec(tls, db, ts+38278 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(0)) + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, ((*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + 1), 1) + } + if rc == SQLITE_OK { + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + } + if rc == SQLITE_OK { + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+38299 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + } + + return rc +} + +// Retry the changes accumulated in the pApply->constraints buffer. +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211185:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = SQLITE_OK + + for (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf != 0 { + *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) = uintptr(0) + var cons = (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints + libc.Xmemset(tls, (pApply + 48 /* &.constraints */), 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetStart(tls, + bp /* &pIter2 */, uintptr(0), uintptr(0), cons.FnBuf, cons.FaBuf, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbInvertConstraints, 1) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte Size_t = ((uint32(2 * (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol)) * uint32(unsafe.Sizeof(uintptr(0)))) + var rc2 int32 + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FbPatchset = bPatchset + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FzTab = zTab + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FnCol = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FabPK = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK + sessionBufferGrow(tls, (*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) + 44 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).Ftblhdr.FaBuf + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0, nByte) + } + + for (*(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))) { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)), pApply, xConflict, pCtx) + } + + rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */))) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = rc2 + } + } + + Xsqlite3_free(tls, cons.FaBuf) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) != SQLITE_OK { + break + } + if (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf >= cons.FnBuf { + // No progress was made on the last round. + (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbDeferConstraints = 0 + } + } + + return *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) +} + +// Argument pIter is a changeset iterator that has been initialized, but +// not yet passed to sqlite3changeset_next(). This function applies the +// changeset to the main database attached to handle "db". The supplied +// conflict handler callback is invoked to resolve any conflicts encountered +// while applying the change. +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ + bp := tls.Alloc(252) + defer tls.Free(252) + + var schemaMismatch int32 = 0 + var rc int32 = SQLITE_OK // Return code + *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) = uintptr(0) // Name of current table + var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) + // var sApply SessionApplyCtx at bp+48, 76 + // changeset_apply() context object + var bPatchset int32 + + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 + libc.Xmemset(tls, bp+48 /* &sApply */, 0, uint32(unsafe.Sizeof(SessionApplyCtx{}))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).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+38318 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+38344 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + } + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { + // var nCol int32 at bp+128, 4 + + // var op int32 at bp+132, 4 + + // var zNew uintptr at bp+124, 4 + + Xsqlite3changeset_op(tls, pIter, bp+124 /* &zNew */, bp+128 /* &nCol */, bp+132 /* &op */, uintptr(0)) + + if (*(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+136, 4 + + rc = sessionRetryConstraints(tls, + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + if rc != SQLITE_OK { + break + } + + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebaseStarted = U8(0) + libc.Xmemset(tls, (bp + 48 /* &sApply */ + 48 /* &.constraints */), 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + + // If an xFilter() callback was specified, invoke it now. If the + // xFilter callback returns zero, skip this table. If it returns + // non-zero, proceed. + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)))))) + if schemaMismatch != 0 { + *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) == uintptr(0) { + rc = SQLITE_NOMEM + break + } + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)) + } else { + var nMinCol int32 = 0 + var i int32 + + Xsqlite3changeset_pk(tls, pIter, bp+136 /* &abPK */, uintptr(0)) + rc = sessionTableInfo(tls, uintptr(0), + db, ts+8566 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 124 /* zNew */)), (bp + 48 /* &sApply */ + 16 /* &.nCol */), bp+140 /* &zTab */, (bp + 48 /* &sApply */ + 20 /* &.azCol */), (bp + 48 /* &sApply */ + 24 /* &.abPK */)) + if rc != SQLITE_OK { + break + } + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK + uintptr(i))) != 0 { + nMinCol = (i + 1) + } + } + + if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+38374 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 128 /* nCol */)) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + + ts+38418, /* "sqlite3changeset..." */ + libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 128 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 128 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 136 /* abPK */)), uint32(*(*int32)(unsafe.Pointer(bp + 128 /* nCol */)))) != 0) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+38489 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)))) + } else { + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 128 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), ts+13346 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+48 /* &sApply */)) != 0 { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 1 + } else { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */)) != 0) { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + } + } + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */))) + } + } + + // If there is a schema mismatch on the current table, proceed to the + // next change. A log message has already been issued. + if schemaMismatch != 0 { + continue + } + + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+48 /* &sApply */, xConflict, pCtx) + } + + bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + if rc == SQLITE_OK { + rc = Xsqlite3changeset_finalize(tls, pIter) + } else { + Xsqlite3changeset_finalize(tls, pIter) + } + + if rc == SQLITE_OK { + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 140 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + } + + if rc == SQLITE_OK { + // var nFk int32 at bp+144, 4 + + // var notUsed int32 at bp+148, 4 + + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+144 /* &nFk */, bp+148 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 144 /* nFk */)) != 0 { + var res int32 = SQLITE_CHANGESET_ABORT + // var sIter Sqlite3_changeset_iter at bp+152, 100 + + libc.Xmemset(tls, bp+152 /* &sIter */, 0, uint32(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 152 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 144 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+152 /* &sIter */) + if res != SQLITE_CHANGESET_OMIT { + rc = SQLITE_CONSTRAINT + } + } + } + Xsqlite3_exec(tls, db, ts+38549 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + + if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+38579 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } else { + Xsqlite3_exec(tls, db, ts+38603 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, ts+38579 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf = uintptr(0) + } + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Frebase.FaBuf) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main +// database attached to handle "db". +func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211439:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator to skip through changeset + var bInv int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211472:16: */ + return Xsqlite3changeset_apply_v2(tls, + db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// Apply the changeset passed via xInput/pIn to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211497:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator to skip through changeset + var bInverse int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, xInput, pIn, 0, uintptr(0), bInverse, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211524:16: */ + return Xsqlite3changeset_apply_v2_strm(tls, + db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// This function is called to merge two changes to the same row together as +// part of an sqlite3changeset_concat() operation. A new change object is +// allocated and a pointer to it stored in *ppNew. +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:211558:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var pNew uintptr = uintptr(0) + var rc int32 = SQLITE_OK + + if !(pExist != 0) { + pNew = Xsqlite3_malloc64(tls, (uint64(uint32(unsafe.Sizeof(SessionChange{})) + uint32(nRec)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = U8(bIndirect) + (*SessionChange)(unsafe.Pointer(pNew)).FaRecord = (pNew + 1*20) + if (bIndirect == 0) || (bRebase == 0) { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = nRec + libc.Xmemcpy(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, aRec, uint32(nRec)) + } else { + var i int32 + var pIn uintptr = aRec + var pOut uintptr = (*SessionChange)(unsafe.Pointer(pNew)).FaRecord + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var nIn int32 = sessionSerialLen(tls, pIn) + if int32(*(*U8)(unsafe.Pointer(pIn))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } else if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else { + libc.Xmemcpy(tls, pOut, pIn, uint32(nIn)) + pOut += uintptr(nIn) + } + pIn += uintptr(nIn) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = ((int32(pOut) - int32((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1) + } + } else if bRebase != 0 { + if (int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) == SQLITE_DELETE) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0) { + *(*uintptr)(unsafe.Pointer(ppNew)) = pExist + } else { + var nByte Sqlite3_int64 = (Sqlite3_int64((uint32(nRec + (*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint32(unsafe.Sizeof(SessionChange{})))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var i int32 + var a1 uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var a2 uintptr = aRec + var pOut uintptr + + libc.Xmemset(tls, pNew, 0, uint32(nByte)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) || ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + pOut = libc.AssignPtrUintptr(pNew+12 /* &.aRecord */, (pNew + 1*20)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) || ((int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0) && (bIndirect != 0)) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else if int32(*(*U8)(unsafe.Pointer(a2))) == 0 { + libc.Xmemcpy(tls, pOut, a1, uint32(n1)) + pOut += uintptr(n1) + } else { + libc.Xmemcpy(tls, pOut, a2, uint32(n2)) + pOut += uintptr(n2) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = ((int32(pOut) - int32((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1) + } + Xsqlite3_free(tls, pExist) + } + } else { + var op1 int32 = int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) + + // op1=INSERT, op2=INSERT -> Unsupported. Discard op2. + // op1=INSERT, op2=UPDATE -> INSERT. + // op1=INSERT, op2=DELETE -> (none) + // + // op1=UPDATE, op2=INSERT -> Unsupported. Discard op2. + // op1=UPDATE, op2=UPDATE -> UPDATE. + // op1=UPDATE, op2=DELETE -> DELETE. + // + // op1=DELETE, op2=INSERT -> UPDATE. + // op1=DELETE, op2=UPDATE -> Unsupported. Discard op2. + // op1=DELETE, op2=DELETE -> Unsupported. Discard op2. + if ((((op1 == SQLITE_INSERT) && (op2 == SQLITE_INSERT)) || + ((op1 == SQLITE_UPDATE) && (op2 == SQLITE_INSERT))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_UPDATE))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_DELETE)) { + pNew = pExist + } else if (op1 == SQLITE_INSERT) && (op2 == SQLITE_DELETE) { + Xsqlite3_free(tls, pExist) + + } else { + var aExist uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var nByte Sqlite3_int64 + // var aCsr uintptr at bp+4, 4 + + // Allocate a new SessionChange object. Ensure that the aRecord[] + // buffer of the new object is large enough to hold any record that + // may be generated by combining the input records. + nByte = (Sqlite3_int64((uint32(unsafe.Sizeof(SessionChange{})) + uint32((*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint32(nRec))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if !(pNew != 0) { + Xsqlite3_free(tls, pExist) + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)) = libc.AssignPtrUintptr(pNew+12 /* &.aRecord */, (pNew + 1*20)) + + if op1 == SQLITE_INSERT { // INSERT + UPDATE + *(*uintptr)(unsafe.Pointer(bp /* a1 */)) = aRec + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_INSERT) + if bPatchset == 0 { + sessionSkipRecord(tls, bp /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + sessionMergeRecord(tls, bp+4 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aExist, *(*uintptr)(unsafe.Pointer(bp /* a1 */))) + } else if op1 == SQLITE_DELETE { // DELETE + INSERT + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)), aRec, uint32(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)) += uintptr(nRec) + } else { + if 0 == sessionMergeUpdate(tls, bp+4 /* &aCsr */, pTab, bPatchset, aExist, uintptr(0), aRec, uintptr(0)) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } + } else if op2 == SQLITE_UPDATE { // UPDATE + UPDATE + *(*uintptr)(unsafe.Pointer(bp + 8 /* a1 */)) = aExist + *(*uintptr)(unsafe.Pointer(bp + 12 /* a2 */)) = aRec + + if bPatchset == 0 { + sessionSkipRecord(tls, bp+8 /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + sessionSkipRecord(tls, bp+12 /* &a2 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if 0 == sessionMergeUpdate(tls, bp+4 /* &aCsr */, pTab, bPatchset, aRec, aExist, *(*uintptr)(unsafe.Pointer(bp + 8 /* a1 */)), *(*uintptr)(unsafe.Pointer(bp + 12 /* a2 */))) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } else { // UPDATE + DELETE + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_DELETE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)), aRec, uint32(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */)) += uintptr(nRec) + } else { + sessionMergeRecord(tls, bp+4 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aRec, aExist) + } + } + + if pNew != 0 { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = ((int32(*(*uintptr)(unsafe.Pointer(bp + 4 /* aCsr */))) - int32((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1) + } + Xsqlite3_free(tls, pExist) + } + } + + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Add all changes in the changeset traversed by the iterator passed as +// the first argument to the changegroup hash tables. +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:211740:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aRec uintptr at bp, 4 + + // var nRec int32 at bp+4, 4 + + var rc int32 = SQLITE_OK + var pTab uintptr = uintptr(0) + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+4 /* &nRec */, uintptr(0)) { + // var zNew uintptr at bp+8, 4 + + // var nCol int32 at bp+12, 4 + + // var op int32 at bp+16, 4 + + var iHash int32 + // var bIndirect int32 at bp+20, 4 + + // var pChange uintptr at bp+28, 4 + + var pExist uintptr = uintptr(0) + var pp uintptr + + if (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = SQLITE_ERROR + break + } + + Xsqlite3changeset_op(tls, pIter, bp+8 /* &zNew */, bp+12 /* &nCol */, bp+16 /* &op */, bp+20 /* &bIndirect */) + if !(pTab != 0) || (Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)), (*SessionTable)(unsafe.Pointer(pTab)).FzName) != 0) { + // Search the list for a matching table + var nNew int32 = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)))) + // var abPK uintptr at bp+24, 4 + + Xsqlite3changeset_pk(tls, pIter, bp+24 /* &abPK */, uintptr(0)) + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)), (nNew+1)) { + break + } + } + if !(pTab != 0) { + var ppTab uintptr + + pTab = Xsqlite3_malloc64(tls, (uint64(((uint32(unsafe.Sizeof(SessionTable{})) + uint32(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) + uint32(nNew)) + uint32(1)))) + if !(pTab != 0) { + rc = SQLITE_NOMEM + break + } + libc.Xmemset(tls, pTab, 0, uint32(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 12 /* nCol */)) + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = (pTab + 1*36) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 24 /* abPK */)), uint32(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = ((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 8 /* zNew */)), (uint32(nNew + 1))) + + // The new object must be linked on to the end of the list, not + // simply added to the start of it. This is to ensure that the + // tables within the output of sqlite3changegroup_output() are in + // the right order. + for ppTab = (pGrp + 8 /* &.pList */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } else if ((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp + 12 /* nCol */))) || (libc.Xmemcmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 24 /* abPK */)), uint32(*(*int32)(unsafe.Pointer(bp + 12 /* nCol */)))) != 0) { + rc = SQLITE_SCHEMA + break + } + } + + if sessionGrowHash(tls, uintptr(0), (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { + rc = SQLITE_NOMEM + break + } + iHash = int32(sessionChangeHash(tls, + pTab, (libc.Bool32(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0) && (*(*int32)(unsafe.Pointer(bp + 16 /* op */)) == SQLITE_DELETE))), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + // Search for existing entry. If found, remove it from the hash table. + // Code below may link it back in. + for pp = ((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = (*(*uintptr)(unsafe.Pointer(pp)) + 16 /* &.pNext */) { + var bPkOnly1 int32 = 0 + var bPkOnly2 int32 = 0 + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + bPkOnly1 = (libc.Bool32(int32((*SessionChange)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pp))))).Fop) == SQLITE_DELETE)) + bPkOnly2 = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 16 /* op */)) == SQLITE_DELETE)) + } + if sessionChangeEqual(tls, pTab, bPkOnly1, (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp /* aRec */))) != 0 { + pExist = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry-- + break + } + } + + rc = sessionChangeMerge(tls, pTab, bRebase, + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 16 /* op */)), *(*int32)(unsafe.Pointer(bp + 20 /* bIndirect */)), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+28 /* &pChange */) + if rc != 0 { + break + } + if *(*uintptr)(unsafe.Pointer(bp + 28 /* pChange */)) != 0 { + (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 28 /* pChange */)))).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)) = *(*uintptr)(unsafe.Pointer(bp + 28 /* pChange */)) + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + } + } + + if rc == SQLITE_OK { + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// Serialize a changeset (or patchset) based on all changesets (or patchsets) +// added to the changegroup object passed as the first argument. +// +// If xOutput is not NULL, then the changeset/patchset is returned to the +// user via one or more calls to xOutput, as with the other streaming +// interfaces. +// +// Or, if xOutput is NULL, then (*ppOut) is populated with a pointer to a +// buffer containing the output changeset before this function returns. In +// this case (*pnOut) is set to the size of the output buffer in bytes. It +// is the responsibility of the caller to free the output buffer using +// sqlite3_free() when it is no longer required. +// +// If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite +// error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut) +// are both set to 0 before returning. +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211863:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var pTab uintptr + + // Create the serialized output changeset based on the contents of the + // hash tables attached to the SessionTable objects in list p->pList. + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; (*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + var i int32 + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry == 0 { + continue + } + + sessionAppendTableHdr(tls, bp /* &buf */, (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch, pTab, bp+12 /* &rc */) + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*4)); p != 0; p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).Fop, bp+12 /* &rc */) + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+12 /* &rc */) + sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+12 /* &rc */) + if ((*(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 + } + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) +} + +// Allocate a new, empty, sqlite3_changegroup. +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:211914:16: */ + var rc int32 = SQLITE_OK // Return code + var p uintptr // New object + p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) + if p == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Sqlite3_changegroup{}))) + } + *(*uintptr)(unsafe.Pointer(pp)) = p + return rc +} + +// Add the changeset currently stored in buffer pData, size nData bytes, +// to changeset-group p. +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:211931:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nData, pData) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Obtain a buffer containing a changeset representing the concatenation +// of all changesets added to the group so far. +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:211947:16: */ + return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) +} + +// Streaming versions of changegroup_add(). +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:211958:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pIter uintptr at bp, 4 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Streaming versions of changegroup_output(). +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:211977:16: */ + return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Delete a changegroup object. +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:211988:17: */ + if pGrp != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, pGrp) + } +} + +// Combine two changesets together. +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211998:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pGrp uintptr at bp, 4 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nLeft, pLeft) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nRight, pRight) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), pnOut, ppOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Streaming version of sqlite3changeset_concat(). +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212027:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var pGrp uintptr at bp, 4 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputA, pInA) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputB, pInB) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xOutput, pOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Buffers a1 and a2 must both contain a sessions module record nCol +// fields in size. This function appends an nCol sessions module +// record to buffer pBuf that is a copy of a1, except that for +// each field that is undefined in a1[], swap in the field from a2[]. +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:212066:13: */ + sessionBufferGrow(tls, pBuf, (int64(n1 + n2)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var i int32 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + for i = 0; i < nCol; i++ { + var nn1 int32 = sessionSerialLen(tls, a1) + var nn2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0) || (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) { + libc.Xmemcpy(tls, pOut, a2, uint32(nn2)) + pOut += uintptr(nn2) + } else { + libc.Xmemcpy(tls, pOut, a1, uint32(nn1)) + pOut += uintptr(nn1) + } + a1 += uintptr(nn1) + a2 += uintptr(nn2) + } + + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = ((int32(pOut) - int32((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1) + + } +} + +// This function is called when rebasing a local UPDATE change against one +// or more remote UPDATE changes. The aRec/nRec buffer contains the current +// old.* and new.* records for the change. The rebase buffer (a single +// record) is in aChange/nChange. The rebased change is appended to buffer +// pBuf. +// +// Rebasing the UPDATE involves: +// +// * Removing any changes to fields for which the corresponding field +// in the rebase buffer is set to "replaced" (type 0xFF). If this +// means the UPDATE change updates no fields, nothing is appended +// to the output buffer. +// +// * For each field modified by the local change for which the +// corresponding field in the rebase buffer is not "undefined" (0x00) +// or "replaced" (0xFF), the old.* value is replaced by the value +// in the rebase buffer. +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:212115:13: */ + sessionBufferGrow(tls, pBuf, (int64((2 + nRec) + nChange)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var bData int32 = 0 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + var i int32 + var a1 uintptr = aRec + var a2 uintptr = aChange + + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(SQLITE_UPDATE) + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect) + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) == 0) { + if !(int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i)))) != 0) && (*(*U8)(unsafe.Pointer(a1)) != 0) { + bData = 1 + } + libc.Xmemcpy(tls, pOut, a1, uint32(n1)) + pOut += uintptr(n1) + } else if int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF { + bData = 1 + libc.Xmemcpy(tls, pOut, a2, uint32(n2)) + pOut += uintptr(n2) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + if bData != 0 { + a2 = aChange + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF) { + libc.Xmemcpy(tls, pOut, a1, uint32(n1)) + pOut += uintptr(n1) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = ((int32(pOut) - int32((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1) + } + } +} + +// pIter is configured to iterate through a changeset. This function rebases +// that changeset according to the current configuration of the rebaser +// object passed as the first argument. If no error occurs and argument xOutput +// is not NULL, then the changeset is returned to the caller by invoking +// xOutput zero or more times and SQLITE_OK returned. Or, if xOutput is NULL, +// then (*ppOut) is set to point to a buffer containing the rebased changeset +// before this function returns. In this case (*pnOut) is set to the size of +// the buffer in bytes. It is the responsibility of the caller to eventually +// free the (*ppOut) buffer using sqlite3_free(). +// +// If an error occurs, an SQLite error code is returned. If ppOut and +// pnOut are not NULL, then the two output parameters are set to 0 before +// returning. +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212183:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp /* aRec */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)) = 0 + *(*int32)(unsafe.Pointer(bp + 8 /* bNew */)) = 0 + var pTab uintptr = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 12 /* sOut */)) = SessionBuffer{} + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+4 /* &nRec */, bp+8 /* &bNew */) { + var pChange uintptr = uintptr(0) + var bDone int32 = 0 + + if *(*int32)(unsafe.Pointer(bp + 8 /* bNew */)) != 0 { + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + for pTab = (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_stricmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zTab) { + break + } + } + *(*int32)(unsafe.Pointer(bp + 8 /* bNew */)) = 0 + + // A patchset may not be rebased + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_ERROR + } + + // Append a table header to the output for this new table + sessionAppendByte(tls, bp+12 /* &sOut */, func() uint8 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), bp+24 /* &rc */) + sessionAppendVarint(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, (int32(libc.Xstrlen(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab)) + 1), bp+24 /* &rc */) + } + + if (pTab != 0) && (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) { + var iHash int32 = int32(sessionChangeHash(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + for pChange = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)); pChange != 0; pChange = (*SessionChange)(unsafe.Pointer(pChange)).FpNext { + if sessionChangeEqual(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), 0, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord) != 0 { + break + } + } + } + + if pChange != 0 { + + switch (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop { + case SQLITE_INSERT: + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + sessionAppendByte(tls, bp+12 /* &sOut */, uint8(SQLITE_UPDATE), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */) + } + } + break + fallthrough + + case SQLITE_UPDATE: + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_DELETE { + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + *(*uintptr)(unsafe.Pointer(bp + 28 /* pCsr */)) = *(*uintptr)(unsafe.Pointer(bp /* aRec */)) + sessionSkipRecord(tls, bp+28 /* &pCsr */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8(SQLITE_INSERT), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendRecordMerge(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + *(*uintptr)(unsafe.Pointer(bp + 28 /* pCsr */)), (*(*int32)(unsafe.Pointer(bp + 4 /* nRec */)) - ((int32(*(*uintptr)(unsafe.Pointer(bp + 28 /* pCsr */))) - int32(*(*uintptr)(unsafe.Pointer(bp /* aRec */)))) / 1)), + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+24 /* &rc */) + } + } else { + sessionAppendPartialUpdate(tls, bp+12 /* &sOut */, pIter, + *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+24 /* &rc */) + } + break + fallthrough + + default: + + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + sessionAppendByte(tls, bp+12 /* &sOut */, uint8(SQLITE_DELETE), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendRecordMerge(tls, bp+12 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */) + } + break + } + } + + if bDone == 0 { + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop), bp+24 /* &rc */) + sessionAppendByte(tls, bp+12 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+24 /* &rc */) + sessionAppendBlob(tls, bp+12 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 4 /* nRec */)), bp+24 /* &rc */) + } + if ((*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FnBuf = 0 + } + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0 { + break + } + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf) + libc.Xmemset(tls, bp+12 /* &sOut */, 0, uint32(unsafe.Sizeof(SessionBuffer{}))) + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp + 12 /* &sOut */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12 /* &sOut */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Create a new rebaser object. +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:212315:16: */ + var rc int32 = SQLITE_OK + var pNew uintptr + + pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_rebaser{}))) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, pNew, 0, uint32(unsafe.Sizeof(Sqlite3_rebaser{}))) + } + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Call this one or more times to configure a rebaser. +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:212332:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator opened on pData/nData + var rc int32 // Return code + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nRebase, pRebase) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), (p /* &.grp */), 1) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212349:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start(tls, bp /* &pIter */, nIn, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), uintptr(0), uintptr(0), pnOut, ppOut) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212368:16: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Destroy a rebaser object +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:212389:17: */ + if p != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, p) + } +} + +// Global configuration +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:212399:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_CONFIG_STRMSIZE: + { + var pInt uintptr = pArg + if *(*int32)(unsafe.Pointer(pInt)) > 0 { + sessions_strm_chunk_size = *(*int32)(unsafe.Pointer(pInt)) + } + *(*int32)(unsafe.Pointer(pInt)) = sessions_strm_chunk_size + break + + } + default: + rc = SQLITE_MISUSE + break + } + return rc +} + //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -166791,9 +172896,6 @@ type Fts5Global1 = struct { FpCsr uintptr } /* sqlite3.c:213118:9 */ -//************* End of dbpage.c ********************************************* -//************* Begin file sqlite3session.c ********************************* - //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -167611,7 +173713,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+37278 /* "fts5: parser sta..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+38631 /* "fts5: parser sta..." */, 0) //******* End %stack_overflow code ******************************************* (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument var @@ -167934,7 +174036,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+37306 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) + pParse, ts+38659 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) //*********** End %syntax_error code ***************************************** (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument variable @@ -168233,7 +174335,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+37337 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+38690 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } @@ -168307,7 +174409,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 37344 /* "wrong number of ..." */ + var zErr uintptr = ts + 38697 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -168473,7 +174575,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 900 /* "" */ + return ts + 915 /* "" */ } // Implementation of snippet() function. @@ -168500,7 +174602,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 37394 /* "wrong number of ..." */ + var zErr uintptr = ts + 38747 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -168842,13 +174944,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 defer tls.Free(48) *(*[3]Builtin)(unsafe.Pointer(bp /* aBuiltin */)) = [3]Builtin{ - {FzFunc: ts + 37442 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 38795 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5SnippetFunction}))}, - {FzFunc: ts + 37450 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 38803 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5HighlightFunction}))}, - {FzFunc: ts + 37460 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 38813 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5Bm25Function}))}, } @@ -169342,7 +175444,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+8061 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+8076 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -169520,7 +175622,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, ts+37465 /* "prefix" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+38818 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint32(unsafe.Sizeof(int32(0))) * uint32(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 @@ -169547,14 +175649,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+37472 /* "malformed prefix..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38825 /* "malformed prefix..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+37503 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) + ts+38856 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -169565,7 +175667,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37536 /* "prefix length ou..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38889 /* "prefix length ou..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -169578,7 +175680,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37573 /* "tokenize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+38926 /* "tokenize" */, 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 /* &rc */, (Sqlite3_int64(unsafe.Sizeof(uintptr(0))) * nArg)) @@ -169587,7 +175689,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+37582 /* "multiple tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38935 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { @@ -169606,7 +175708,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37615 /* "parse error in t..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38968 /* "parse error in t..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, @@ -169621,14 +175723,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37649 /* "content" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+39002 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37657 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39010 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = 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 /* &rc */, ts+37689 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40 /* &rc */, ts+39042 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } @@ -169636,9 +175738,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37695 /* "content_rowid" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+39048 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37709 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39062 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, zArg, -1) @@ -169646,9 +175748,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37747 /* "columnsize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+39100 /* "columnsize" */, 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+37758 /* "malformed column..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39111 /* "malformed column..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) @@ -169656,21 +175758,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+6992 /* "detail" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+7007 /* "detail" */, zCmd, nCmd) == 0 { *(*[4]Fts5Enum)(unsafe.Pointer(bp + 44 /* aDetail */)) = [4]Fts5Enum{ - {FzName: ts + 19256 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 19261 /* "full" */}, - {FzName: ts + 37793 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, + {FzName: ts + 19271 /* "none" */, FeVal: FTS5_DETAIL_NONE}, + {FzName: ts + 19276 /* "full" */}, + {FzName: ts + 39146 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } if libc.AssignPtrInt32(bp+40 /* rc */, fts5ConfigSetEnum(tls, bp+44 /* &aDetail[0] */, zArg, (pConfig+48 /* &.eDetail */))) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37801 /* "malformed detail..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39154 /* "malformed detail..." */, 0) } return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37832 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39185 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) return SQLITE_ERROR } @@ -169734,15 +175836,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+24849 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+10282 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37860 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) + if (0 == Xsqlite3_stricmp(tls, zCol, ts+24864 /* "rank" */)) || + (0 == Xsqlite3_stricmp(tls, zCol, ts+10297 /* "rowid" */)) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39213 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) rc = SQLITE_ERROR } else if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, ts+37890 /* "unindexed" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+39243 /* "unindexed" */) { *(*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+37900 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39253 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) rc = SQLITE_ERROR } } @@ -169760,13 +175862,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK *(*Fts5Buffer)(unsafe.Pointer(bp + 28 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+37931 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+39284 /* "T.%Q" */, 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 /* &rc */, bp+28 /* &buf */, ts+37936 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+39289 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+37943 /* ", T.c%d" */, libc.VaList(bp+16, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+28 /* &buf */, ts+39296 /* ", T.c%d" */, libc.VaList(bp+16, i)) } } } @@ -169814,8 +175916,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*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 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+24849 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37951 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+24864 /* "rank" */) == 0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39304 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } @@ -169848,7 +175950,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37980 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39333 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { @@ -169856,7 +175958,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*uintptr)(unsafe.Pointer(bp + 52 /* zTwo */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp + 52 /* zTwo */)) } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), pzErr) } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 44 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 52 /* zTwo */)), pzErr) @@ -169881,19 +175983,19 @@ 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 + 37649 /* "content" */ + zTail = ts + 39002 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 38000 /* "docsize" */ + zTail = ts + 39353 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+40 /* &rc */, ts+38008 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+40 /* &rc */, ts+39361 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+10282 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+10297 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -169942,18 +176044,18 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+38019 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39372 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 16621 /* ", " */ + return ts + 16636 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+38035 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4)))) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39388 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+38042, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+24849 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39395, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+24864 /* "rank" */)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -170093,7 +176195,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+38068 /* "pgsz" */) { + if 0 == Xsqlite3_stricmp(tls, zKey, ts+39421 /* "pgsz" */) { var pgsz int32 = 0 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -170103,7 +176205,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+38073 /* "hashsize" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39426 /* "hashsize" */) { var nHashSize int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -170113,7 +176215,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+38082 /* "automerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39435 /* "automerge" */) { var nAutomerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -170126,7 +176228,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+38092 /* "usermerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39445 /* "usermerge" */) { var nUsermerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -170136,7 +176238,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+38102 /* "crisismerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39455 /* "crisismerge" */) { var nCrisisMerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -170152,7 +176254,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+24849 /* "rank" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+24864 /* "rank" */) { var zIn uintptr = Xsqlite3_value_text(tls, pVal) // var zRank uintptr at bp, 4 @@ -170179,7 +176281,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(44) defer tls.Free(44) - var zSelect uintptr = ts + 38114 /* "SELECT k, v FROM..." */ + var zSelect uintptr = ts + 39467 /* "SELECT k, v FROM..." */ var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 36 /* p */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK @@ -170202,7 +176304,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 36 /* p */))) { var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 36 /* p */)), 0) var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 36 /* p */)), 1) - if 0 == Xsqlite3_stricmp(tls, zK, ts+38146 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+39499 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 40 /* bDummy */)) = 0 @@ -170217,7 +176319,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+38154, /* "invalid fts5 fil..." */ + ts+39507, /* "invalid fts5 fil..." */ libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } @@ -170351,7 +176453,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+38219 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+39572 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -170364,20 +176466,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+38239 /* "fts5: syntax err..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+39592 /* "fts5: syntax err..." */, 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+38270 /* "OR" */, uint32(2)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+39623 /* "OR" */, uint32(2)) == 0) { tok = FTS5_OR } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+38273 /* "NOT" */, uint32(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+39626 /* "NOT" */, uint32(3)) == 0) { tok = FTS5_NOT } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34350 /* "AND" */, uint32(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34365 /* "AND" */, uint32(3)) == 0) { tok = FTS5_AND } break @@ -172351,9 +178453,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli bp := tls.Alloc(16) defer tls.Free(16) - if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+38277 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0) { + if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+39630 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0) { sqlite3Fts5ParseError(tls, - pParse, ts+37306 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) + pParse, ts+38659 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -172369,7 +178471,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+38282 /* "expected integer..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp)) + pParse, ts+39635 /* "expected integer..." */, 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')) @@ -172466,7 +178568,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+23011 /* "no such column: ..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+23026 /* "no such column: ..." */, libc.VaList(bp, z)) } else { pRet = fts5ParseColset(tls, pParse, pColset, iCol) } @@ -172562,7 +178664,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE { (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+38311 /* "fts5: column que..." */, 0) + ts+39664 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -172746,12 +178848,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+38364, /* "fts5: %s queries..." */ + ts+39717, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 38414 /* "phrase" */ + return ts + 39767 /* "phrase" */ } - return ts + 38277 /* "NEAR" */ + return ts + 39630 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -172865,7 +178967,7 @@ func fts5PrintfAppend(tls *libc.TLS, zApp uintptr, zFmt uintptr, va uintptr) uin zNew = Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap if (zApp != 0) && (zNew != 0) { - var zNew2 uintptr = Xsqlite3_mprintf(tls, ts+6801 /* "%s%s" */, libc.VaList(bp, zApp, zNew)) + var zNew2 uintptr = Xsqlite3_mprintf(tls, ts+6816 /* "%s%s" */, libc.VaList(bp, zApp, zNew)) Xsqlite3_free(tls, zNew) zNew = zNew2 } @@ -172887,7 +178989,7 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var i int32 var iTerm int32 - zRet = fts5PrintfAppend(tls, zRet, ts+38421 /* "%s " */, libc.VaList(bp, zNearsetCmd)) + zRet = fts5PrintfAppend(tls, zRet, ts+39774 /* "%s " */, libc.VaList(bp, zNearsetCmd)) if zRet == uintptr(0) { return uintptr(0) } @@ -172895,13 +178997,13 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var aiCol uintptr = (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset + 4 /* &.aiCol */ var nCol int32 = (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol if nCol == 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38425 /* "-col %d " */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+39778 /* "-col %d " */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(aiCol)))) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+38434 /* "-col {%d" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+39787 /* "-col {%d" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) for i = 1; i < (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol; i++ { - zRet = fts5PrintfAppend(tls, zRet, ts+38443 /* " %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) + zRet = fts5PrintfAppend(tls, zRet, ts+39796 /* " %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) } - zRet = fts5PrintfAppend(tls, zRet, ts+38447 /* "} " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39800 /* "} " */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -172909,13 +179011,13 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38450 /* "-near %d " */, libc.VaList(bp+32, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+39803 /* "-near %d " */, libc.VaList(bp+32, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } } - zRet = fts5PrintfAppend(tls, zRet, ts+38460 /* "--" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39813 /* "--" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -172923,22 +179025,22 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((pNear + 12 /* &.apPhrase */) + uintptr(i)*4)) - zRet = fts5PrintfAppend(tls, zRet, ts+38463 /* " {" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39816 /* " {" */, 0) for iTerm = 0; (zRet != 0) && (iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm); iTerm++ { var zTerm uintptr = (*Fts5ExprTerm)(unsafe.Pointer((pPhrase + 20 /* &.aTerm */) + uintptr(iTerm)*16)).FzTerm - zRet = fts5PrintfAppend(tls, zRet, ts+6801 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+6816 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { if iTerm == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 12911 /* " " */ + return ts + 12926 /* " " */ }(), zTerm)) if (*Fts5ExprTerm)(unsafe.Pointer((pPhrase+20 /* &.aTerm */)+uintptr(iTerm)*16)).FbPrefix != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+21561 /* "*" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+21576 /* "*" */, 0) } } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+30989 /* "}" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+31004 /* "}" */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -172950,27 +179052,27 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var i int32 switch (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType { case FTS5_AND: - zOp = ts + 34350 /* "AND" */ + zOp = ts + 34365 /* "AND" */ break fallthrough case FTS5_NOT: - zOp = ts + 38273 /* "NOT" */ + zOp = ts + 39626 /* "NOT" */ break fallthrough default: - zOp = ts + 38270 /* "OR" */ + zOp = ts + 39623 /* "OR" */ break } - zRet = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+56, zOp)) + zRet = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+56, zOp)) for i = 0; (zRet != 0) && (i < (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FnChild); i++ { var z uintptr = fts5ExprPrintTcl(tls, pConfig, zNearsetCmd, *(*uintptr)(unsafe.Pointer((pExpr + 32 /* &.apChild */) + uintptr(i)*4))) if !(z != 0) { Xsqlite3_free(tls, zRet) zRet = uintptr(0) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+38466 /* " [%z]" */, libc.VaList(bp+64, z)) + zRet = fts5PrintfAppend(tls, zRet, ts+39819 /* " [%z]" */, libc.VaList(bp+64, z)) } } } @@ -172984,7 +179086,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s var zRet uintptr = uintptr(0) if (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == 0 { - return Xsqlite3_mprintf(tls, ts+38472 /* "\"\"" */, 0) + return Xsqlite3_mprintf(tls, ts+39825 /* "\"\"" */, 0) } else if ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_STRING) || ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_TERM) { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FpNear var i int32 @@ -172994,23 +179096,23 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s var ii int32 var pColset uintptr = (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset if (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38475 /* "{" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39828 /* "{" */, 0) } for ii = 0; ii < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; ii++ { - zRet = fts5PrintfAppend(tls, zRet, ts+6801, /* "%s%s" */ + zRet = fts5PrintfAppend(tls, zRet, ts+6816, /* "%s%s" */ libc.VaList(bp, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(*(*int32)(unsafe.Pointer((pColset + 4 /* &.aiCol */) + uintptr(ii)*4)))*4)), func() uintptr { if ii == ((*Fts5Colset)(unsafe.Pointer(pColset)).FnCol - 1) { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 12911 /* " " */ + return ts + 12926 /* " " */ }())) } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+38477 /* "%s : " */, libc.VaList(bp+16, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+39830 /* "%s : " */, libc.VaList(bp+16, func() uintptr { if (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol > 1 { - return ts + 30989 /* "}" */ + return ts + 31004 /* "}" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) } if zRet == uintptr(0) { @@ -173019,7 +179121,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38483 /* "NEAR(" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39836 /* "NEAR(" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -173028,7 +179130,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((pNear + 12 /* &.apPhrase */) + uintptr(i)*4)) if i != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+12911 /* " " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+12926 /* " " */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -173036,11 +179138,11 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s for iTerm = 0; iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; iTerm++ { var zTerm uintptr = fts5ExprTermPrint(tls, ((pPhrase + 20 /* &.aTerm */) + uintptr(iTerm)*16)) if zTerm != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+6801 /* "%s%s" */, libc.VaList(bp+24, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+6816 /* "%s%s" */, libc.VaList(bp+24, func() uintptr { if iTerm == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 38489 /* " + " */ + return ts + 39842 /* " + " */ }(), zTerm)) Xsqlite3_free(tls, zTerm) } @@ -173052,7 +179154,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38493 /* ", %d)" */, libc.VaList(bp+40, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+39846 /* ", %d)" */, libc.VaList(bp+40, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } @@ -173064,16 +179166,16 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s switch (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType { case FTS5_AND: - zOp = ts + 24058 /* " AND " */ + zOp = ts + 24073 /* " AND " */ break fallthrough case FTS5_NOT: - zOp = ts + 38499 /* " NOT " */ + zOp = ts + 39852 /* " NOT " */ break fallthrough default: - zOp = ts + 38505 /* " OR " */ + zOp = ts + 37518 /* " OR " */ break } @@ -173085,23 +179187,23 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } else { var e int32 = (*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((pExpr + 32 /* &.apChild */) + uintptr(i)*4)))).FeType var b int32 = (libc.Bool32(((e != FTS5_STRING) && (e != FTS5_TERM)) && (e != FTS5_EOF))) - zRet = fts5PrintfAppend(tls, zRet, ts+38510, /* "%s%s%z%s" */ + zRet = fts5PrintfAppend(tls, zRet, ts+39858, /* "%s%s%z%s" */ libc.VaList(bp+48, func() uintptr { if i == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } return zOp }(), func() uintptr { if b != 0 { - return ts + 24064 /* "(" */ + return ts + 24079 /* "(" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), z, func() uintptr { if b != 0 { - return ts + 6872 /* ")" */ + return ts + 6887 /* ")" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) } if zRet == uintptr(0) { @@ -173127,18 +179229,18 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT var rc int32 var i int32 var azConfig uintptr // Array of arguments for Fts5Config - var zNearsetCmd uintptr = ts + 38519 /* "nearset" */ + var zNearsetCmd uintptr = ts + 39867 /* "nearset" */ var nConfig int32 // Size of azConfig[] *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)) = uintptr(0) var iArg int32 = 1 if nArg < 1 { - *(*uintptr)(unsafe.Pointer(bp + 12 /* zErr */)) = Xsqlite3_mprintf(tls, ts+38527, /* "wrong number of ..." */ + *(*uintptr)(unsafe.Pointer(bp + 12 /* zErr */)) = Xsqlite3_mprintf(tls, ts+39875, /* "wrong number of ..." */ libc.VaList(bp, func() uintptr { if bTcl != 0 { - return ts + 38568 /* "fts5_expr_tcl" */ + return ts + 39916 /* "fts5_expr_tcl" */ } - return ts + 38582 /* "fts5_expr" */ + return ts + 39930 /* "fts5_expr" */ }())) Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 12 /* zErr */)), -1) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* zErr */))) @@ -173157,21 +179259,21 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT return } *(*uintptr)(unsafe.Pointer(azConfig)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(azConfig + 1*4)) = ts + 8551 /* "main" */ - *(*uintptr)(unsafe.Pointer(azConfig + 2*4)) = ts + 13506 /* "tbl" */ + *(*uintptr)(unsafe.Pointer(azConfig + 1*4)) = ts + 8566 /* "main" */ + *(*uintptr)(unsafe.Pointer(azConfig + 2*4)) = ts + 13521 /* "tbl" */ for i = 3; iArg < nArg; iArg++ { var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iArg)*4))) *(*uintptr)(unsafe.Pointer(azConfig + uintptr(libc.PostIncInt32(&i, 1))*4)) = func() uintptr { if z != 0 { return z } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() } zExpr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))) if zExpr == uintptr(0) { - zExpr = ts + 900 /* "" */ + zExpr = ts + 915 /* "" */ } rc = sqlite3Fts5ConfigParse(tls, pGlobal, db, nConfig, azConfig, bp+8 /* &pConfig */, bp+12 /* &zErr */) @@ -173181,7 +179283,7 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT if rc == SQLITE_OK { var zText uintptr if (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */)))).FpRoot)).FxNext == uintptr(0) { - zText = Xsqlite3_mprintf(tls, ts+900 /* "" */, 0) + zText = Xsqlite3_mprintf(tls, ts+915 /* "" */, 0) } else if bTcl != 0 { zText = fts5ExprPrintTcl(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)), zNearsetCmd, (*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */)))).FpRoot) } else { @@ -173228,13 +179330,13 @@ func fts5ExprIsAlnum(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { / if nArg != 1 { Xsqlite3_result_error(tls, pCtx, - ts+38592 /* "wrong number of ..." */, -1) + ts+39940 /* "wrong number of ..." */, -1) return } libc.Xmemset(tls, bp /* &aArr[0] */, 0, uint32(unsafe.Sizeof([32]U8{}))) - sqlite3Fts5UnicodeCatParse(tls, ts+38643 /* "L*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+38646 /* "N*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+38649 /* "Co" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+39991 /* "L*" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+39994 /* "N*" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+39997 /* "Co" */, bp /* &aArr[0] */) iCode = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal))) Xsqlite3_result_int(tls, pCtx, int32(*(*U8)(unsafe.Pointer(bp /* &aArr[0] */ + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode))))))) } @@ -173242,7 +179344,7 @@ func fts5ExprIsAlnum(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { / func fts5ExprFold(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:220197:13: */ if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, pCtx, - ts+38652 /* "wrong number of ..." */, -1) + ts+40000 /* "wrong number of ..." */, -1) } else { var iCode int32 var bRemoveDiacritics int32 = 0 @@ -173261,16 +179363,16 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* defer tls.Free(32) *(*[4]Fts5ExprFunc)(unsafe.Pointer(bp /* aFunc */)) = [4]Fts5ExprFunc{ - {Fz: ts + 38582 /* "fts5_expr" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 39930 /* "fts5_expr" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFunctionHr}))}, - {Fz: ts + 38568 /* "fts5_expr_tcl" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 39916 /* "fts5_expr_tcl" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFunctionTcl}))}, - {Fz: ts + 38700 /* "fts5_isalnum" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 40048 /* "fts5_isalnum" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprIsAlnum}))}, - {Fz: ts + 38713 /* "fts5_fold" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 40061 /* "fts5_fold" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFold}))}, } @@ -174693,7 +180795,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 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+38723 /* "block" */, iRowid, 0, (p + 40 /* &.pReader */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+40071 /* "block" */, iRowid, 0, (p + 40 /* &.pReader */)) } // If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls @@ -174781,7 +180883,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 /* &.pWriter */), Xsqlite3_mprintf(tls, - ts+38729, /* "REPLACE INTO '%q..." */ + ts+40077, /* "REPLACE INTO '%q..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return @@ -174809,7 +180911,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig var zSql uintptr = Xsqlite3_mprintf(tls, - ts+38780, /* "DELETE FROM '%q'..." */ + ts+40128, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if fts5IndexPrepareStmt(tls, p, (p+48 /* &.pDeleter */), zSql) != 0 { return @@ -174833,7 +180935,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 56 /* &.pIdxDeleter */), Xsqlite3_mprintf(tls, - ts+38829, /* "DELETE FROM '%q'..." */ + ts+40177, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -175041,7 +181143,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12 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 /* &.pDataVersion */), - Xsqlite3_mprintf(tls, ts+38869 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + Xsqlite3_mprintf(tls, ts+40217 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return int64(0) } @@ -176476,7 +182578,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:2 var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 60 /* &.pIdxSelect */), Xsqlite3_mprintf(tls, - ts+38892, /* "SELECT pgno FROM..." */ + ts+40240, /* "SELECT pgno FROM..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect @@ -177732,7 +183834,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { return (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -178073,7 +184175,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 /* &.pIdxWriter */), Xsqlite3_mprintf(tls, - ts+38976, /* "INSERT INTO '%q'..." */ + ts+40324, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -179291,7 +185393,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 fts5StructureInvalidate(tls, p) fts5IndexDiscardData(tls, p) libc.Xmemset(tls, bp /* &s */, 0, uint32(unsafe.Sizeof(Fts5Structure{}))) - fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+900 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+915 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -179312,13 +185414,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == 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 /* &rc */, ts+39033 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8 /* &rc */, ts+40381 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, - pConfig, ts+29381 /* "data" */, ts+39041 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+29396 /* "data" */, ts+40389 /* "id INTEGER PRIMA..." */, 0, pzErr) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+13502, /* "idx" */ - ts+39076, /* "segid, term, pgn..." */ + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+13517, /* "idx" */ + ts+40424, /* "segid, term, pgn..." */ 1, pzErr) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { @@ -179624,7 +185726,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3Fts5Put32(tls, bp /* &aCookie[0] */, iNew) rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, - ts+38723 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+4 /* &pBlob */) + ts+40071 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+4 /* &pBlob */) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* pBlob */)), bp /* &aCookie[0] */, 4, 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 4 /* pBlob */))) @@ -179761,7 +185863,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+39120, /* "SELECT segid, te..." */ + ts+40468, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. @@ -179971,7 +186073,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks } else { (*Fts5Buffer)(unsafe.Pointer(bp + 8 /* &poslist */)).Fn = 0 fts5SegiterPoslist(tls, p, ((*(*uintptr)(unsafe.Pointer(bp /* pIter */)) + 80 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter */)))).FaFirst+1*4)).FiFirst)*96), uintptr(0), bp+8 /* &poslist */) - sqlite3Fts5BufferAppendBlob(tls, (p + 36 /* &.rc */), bp+8 /* &poslist */, uint32(4), ts+39206 /* "\x00\x00\x00\x00" */) + sqlite3Fts5BufferAppendBlob(tls, (p + 36 /* &.rc */), bp+8 /* &poslist */, uint32(4), ts+40554 /* "\x00\x00\x00\x00" */) for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+8 /* &poslist */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+8 /* &poslist */)).Fn, bp+20 /* &iOff */, bp+24 /* &iPos */) { var iCol int32 = (int32(*(*I64)(unsafe.Pointer(bp + 24 /* iPos */)) >> 32)) var iTokOff int32 = (int32(*(*I64)(unsafe.Pointer(bp + 24 /* iPos */)) & int64(0x7FFFFFFF))) @@ -180027,17 +186129,17 @@ func fts5DebugRowid(tls *libc.TLS, pRc uintptr, pBuf uintptr, iKey I64) { /* sql if *(*int32)(unsafe.Pointer(bp + 32 /* iSegid */)) == 0 { if iKey == int64(FTS5_AVERAGES_ROWID) { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39211 /* "{averages} " */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40559 /* "{averages} " */, 0) } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39223 /* "{structure}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40571 /* "{structure}" */, 0) } } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39235, /* "{%ssegid=%d h=%d..." */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40583, /* "{%ssegid=%d h=%d..." */ libc.VaList(bp, func() uintptr { if *(*int32)(unsafe.Pointer(bp + 36 /* bDlidx */)) != 0 { - return ts + 39261 /* "dlidx " */ + return ts + 40609 /* "dlidx " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), *(*int32)(unsafe.Pointer(bp + 32 /* iSegid */)), *(*int32)(unsafe.Pointer(bp + 40 /* iHeight */)), *(*int32)(unsafe.Pointer(bp + 44 /* iPgno */)))) } } @@ -180052,13 +186154,13 @@ func fts5DebugStructure(tls *libc.TLS, pRc uintptr, pBuf uintptr, p uintptr) { / for iLvl = 0; iLvl < (*Fts5Structure)(unsafe.Pointer(p)).FnLevel; iLvl++ { var pLvl uintptr = ((p + 24 /* &.aLevel */) + uintptr(iLvl)*12) sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, - ts+39268 /* " {lvl=%d nMerge=..." */, libc.VaList(bp, iLvl, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnMerge, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg)) + ts+40616 /* " {lvl=%d nMerge=..." */, libc.VaList(bp, iLvl, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnMerge, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg)) for iSeg = 0; iSeg < (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg; iSeg++ { var pSeg uintptr = ((*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FaSeg + uintptr(iSeg)*12) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39295, /* " {id=%d leaves=%..." */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40643, /* " {id=%d leaves=%..." */ libc.VaList(bp+24, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast)) } - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+30989 /* "}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+31004 /* "}" */, 0) } } @@ -180094,14 +186196,14 @@ func fts5DecodeAverages(tls *libc.TLS, pRc uintptr, pBuf uintptr, pBlob uintptr, defer tls.Free(24) var i int32 = 0 - var zSpace uintptr = ts + 900 /* "" */ + var zSpace uintptr = ts + 915 /* "" */ for i < nBlob { // var iVal U64 at bp+16, 8 i = i + (int32(sqlite3Fts5GetVarint(tls, (pBlob + uintptr(i)), bp+16 /* &iVal */))) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39318 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 16 /* iVal */))))) - zSpace = ts + 12911 /* " " */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40666 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 16 /* iVal */))))) + zSpace = ts + 12926 /* " " */ } } @@ -180119,7 +186221,7 @@ func fts5DecodePoslist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // var iVal int32 at bp+8, 4 iOff = iOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff)), bp+8 /* &iVal */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+38443 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* iVal */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39796 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* iVal */)))) } return iOff } @@ -180139,7 +186241,7 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in if n > 0 { iOff = int32(sqlite3Fts5GetVarint(tls, a, bp+32 /* &iDocid */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39323 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40671 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) } for iOff < n { // var nPos int32 at bp+40, 4 @@ -180147,11 +186249,11 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // var bDel int32 at bp+44, 4 iOff = iOff + (fts5GetPoslistSize(tls, (a + uintptr(iOff)), bp+40 /* &nPos */, bp+44 /* &bDel */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39332 /* " nPos=%d%s" */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(bp + 40 /* nPos */)), func() uintptr { + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40680 /* " nPos=%d%s" */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(bp + 40 /* nPos */)), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 44 /* bDel */)) != 0 { - return ts + 21561 /* "*" */ + return ts + 21576 /* "*" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) iOff = iOff + (fts5DecodePoslist(tls, pRc, pBuf, (a + uintptr(iOff)), func() int32 { if (n - iOff) < (*(*int32)(unsafe.Pointer(bp + 40 /* nPos */))) { @@ -180164,7 +186266,7 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in iOff = iOff + (int32(sqlite3Fts5GetVarint(tls, (a + uintptr(iOff)), bp+48 /* &iDelta */))) *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)) += *(*I64)(unsafe.Pointer(bp + 48 /* iDelta */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39323 /* " id=%lld" */, libc.VaList(bp+24, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40671 /* " id=%lld" */, libc.VaList(bp+24, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) } } @@ -180190,7 +186292,7 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr var iRowid I64 = int64(0) for i < nData { - var zApp uintptr = ts + 900 /* "" */ + var zApp uintptr = ts + 915 /* "" */ // var iVal U64 at bp+16, 8 i = i + (int32(sqlite3Fts5GetVarint(tls, (pData + uintptr(i)), bp+16 /* &iVal */))) @@ -180200,13 +186302,13 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr i++ if (i < nData) && (int32(*(*U8)(unsafe.Pointer(pData + uintptr(i)))) == 0x00) { i++ - zApp = ts + 39343 /* "+" */ + zApp = ts + 40691 /* "+" */ } else { - zApp = ts + 21561 /* "*" */ + zApp = ts + 21576 /* "*" */ } } - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39345 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40693 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) } } @@ -180313,7 +186415,7 @@ __5: goto __7 } sqlite3Fts5BufferAppendPrintf(tls, bp+60 /* &rc */, bp+48, /* &s */ - ts+39353 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+80 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+80 /* &lvl */)).FiRowid)) + ts+40701 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+80 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+80 /* &lvl */)).FiRowid)) goto __6 __6: fts5DlidxLvlNext(tls, bp+80 /* &lvl */) @@ -180368,7 +186470,7 @@ __16: (*Fts5Buffer)(unsafe.Pointer(bp + 124 /* &term */)).Fn = *(*int32)(unsafe.Pointer(bp + 148 /* nKeep */)) sqlite3Fts5BufferAppendBlob(tls, bp+60 /* &rc */, bp+124 /* &term */, uint32(*(*int32)(unsafe.Pointer(bp + 140 /* nAppend */))), (a + uintptr(iOff))) sqlite3Fts5BufferAppendPrintf(tls, - bp+60 /* &rc */, bp+48 /* &s */, ts+39363 /* " term=%.*s" */, libc.VaList(bp+16, (*Fts5Buffer)(unsafe.Pointer(bp+124 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+124 /* &term */)).Fp)) + bp+60 /* &rc */, bp+48 /* &s */, ts+40711 /* " term=%.*s" */, libc.VaList(bp+16, (*Fts5Buffer)(unsafe.Pointer(bp+124 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+124 /* &term */)).Fp)) iOff = iOff + (*(*int32)(unsafe.Pointer(bp + 140 /* nAppend */))) // Figure out where the doclist for this term ends @@ -180407,7 +186509,7 @@ __12: if !(n < 4) { goto __21 } - sqlite3Fts5BufferSet(tls, bp+60 /* &rc */, bp+48 /* &s */, 7, ts+39374 /* "corrupt" */) + sqlite3Fts5BufferSet(tls, bp+60 /* &rc */, bp+48 /* &s */, 7, ts+40722 /* "corrupt" */) goto decode_out goto __22 __21: @@ -180529,7 +186631,7 @@ __39: iOff1 = iOff1 + (*(*int32)(unsafe.Pointer(bp + 168 /* nByte */))) sqlite3Fts5BufferAppendPrintf(tls, - bp+60 /* &rc */, bp+48 /* &s */, ts+39363 /* " term=%.*s" */, libc.VaList(bp+32, (*Fts5Buffer)(unsafe.Pointer(bp+152 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+152 /* &term1 */)).Fp)) + bp+60 /* &rc */, bp+48 /* &s */, ts+40711 /* " term=%.*s" */, libc.VaList(bp+32, (*Fts5Buffer)(unsafe.Pointer(bp+152 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+152 /* &term1 */)).Fp)) iOff1 = iOff1 + (fts5DecodeDoclist(tls, bp+60 /* &rc */, bp+48 /* &s */, (a + uintptr(iOff1)), (iEnd - iOff1))) goto __32 __33: @@ -180561,16 +186663,16 @@ __41: func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:227717:13: */ var zArg uintptr if nArg == 0 { - Xsqlite3_result_error(tls, pCtx, ts+39382 /* "should be: fts5_..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+40730 /* "should be: fts5_..." */, -1) } else { zArg = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))) - if 0 == Xsqlite3_stricmp(tls, zArg, ts+39419 /* "segment" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+40767 /* "segment" */) { var iRowid I64 var segid int32 var pgno int32 if nArg != 3 { Xsqlite3_result_error(tls, pCtx, - ts+39427 /* "should be: fts5_..." */, -1) + ts+40775 /* "should be: fts5_..." */, -1) } else { segid = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*4))) pgno = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal + 2*4))) @@ -180579,7 +186681,7 @@ func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { } } else { Xsqlite3_result_error(tls, pCtx, - ts+39474 /* "first arg to fts..." */, -1) + ts+40822 /* "first arg to fts..." */, -1) } } } @@ -180592,13 +186694,13 @@ func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { // SQLite error code is returned instead. func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:227757:12: */ var rc int32 = Xsqlite3_create_function(tls, - db, ts+39518 /* "fts5_decode" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + db, ts+40866 /* "fts5_decode" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5DecodeFunction})), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+39530 /* "fts5_decode_none" */, 2, + db, ts+40878 /* "fts5_decode_none" */, 2, SQLITE_UTF8, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5DecodeFunction})), uintptr(0), uintptr(0)) @@ -180606,7 +186708,7 @@ func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:227757 if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+39547 /* "fts5_rowid" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + db, ts+40895 /* "fts5_rowid" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5RowidFunction})), uintptr(0), uintptr(0)) } @@ -180987,7 +187089,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+39558 /* "recursively defi..." */, 0) + ts+40906 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -181021,7 +187123,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } else if iCol >= 0 { bSeenMatch = 1 *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('M') - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6830 /* "%d" */, libc.VaList(bp, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6845 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) } @@ -181037,7 +187139,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6830 /* "%d" */, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6845 /* "%d" */, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -181380,7 +187482,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: rc = Xsqlite3_reset(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -181412,7 +187514,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, uint32(SQLITE_PREPARE_PERSISTENT), bp+8 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -181451,25 +187553,25 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 // // If SQLite a built-in statement cache, this wouldn't be a problem. rc = fts5PrepareStatement(tls, (pSorter /* &.pStmt */), pConfig, - ts+39597, /* "SELECT rowid, ra..." */ + ts+40945, /* "SELECT rowid, ra..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, func() uintptr { if zRankArgs != 0 { - return ts + 16621 /* ", " */ + return ts + 16636 /* ", " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 39652 /* "DESC" */ + return ts + 41000 /* "DESC" */ } - return ts + 39657 /* "ASC" */ + return ts + 41005 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -181520,13 +187622,13 @@ 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+39661 /* "reads" */, z, n)) { + if (n == 5) && (0 == Xsqlite3_strnicmp(tls, ts+41009 /* "reads" */, 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+6974 /* "id" */, z, n)) { + } else if (n == 2) && (0 == Xsqlite3_strnicmp(tls, ts+6989 /* "id" */, z, n)) { (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { // An unrecognized directive. Return an error message. - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+39667 /* "unknown special ..." */, libc.VaList(bp, n, z)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+41015 /* "unknown special ..." */, libc.VaList(bp, n, z)) rc = SQLITE_ERROR } @@ -181561,7 +187663,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+39695 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+41043 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 20 /* pStmt */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, @@ -181593,7 +187695,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+39705 /* "no such function..." */, libc.VaList(bp+8, zRank)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+41053 /* "no such function..." */, libc.VaList(bp+8, zRank)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } } @@ -181625,14 +187727,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin *(*int32)(unsafe.Pointer(pCsr + 60 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+39726 /* "parse error in r..." */, libc.VaList(bp, z)) + ts+41074 /* "parse error in r..." */, 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 + 37460 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 38813 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -181698,7 +187800,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+39558 /* "recursively defi..." */, 0) + ts+40906 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -181744,7 +187846,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 900 /* "" */ + zText = ts + 915 /* "" */ __14: ; iCol = 0 @@ -181933,7 +188035,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+39759 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + ts+41107 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = SQLITE_ERROR goto __41 __40: @@ -182070,7 +188172,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql rc = (SQLITE_CORRUPT | (int32(1) << 8)) } else if (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) + ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) } } } @@ -182107,29 +188209,29 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) var rc int32 = SQLITE_OK *(*int32)(unsafe.Pointer(bp /* bError */)) = 0 - if 0 == Xsqlite3_stricmp(tls, ts+39795 /* "delete-all" */, zCmd) { + if 0 == Xsqlite3_stricmp(tls, ts+41143 /* "delete-all" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { fts5SetVtabError(tls, pTab, - ts+39806 /* "'delete-all' may..." */, 0) + ts+41154 /* "'delete-all' may..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+39886 /* "rebuild" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+41234 /* "rebuild" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE { fts5SetVtabError(tls, pTab, - ts+39894 /* "'rebuild' may no..." */, 0) + ts+41242 /* "'rebuild' may no..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+18856 /* "optimize" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+18871 /* "optimize" */, zCmd) { rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) - } else if 0 == Xsqlite3_stricmp(tls, ts+39950 /* "merge" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+41298 /* "merge" */, 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+39956 /* "integrity-check" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+41304 /* "integrity-check" */, zCmd) { var iArg int32 = Xsqlite3_value_int(tls, pVal) rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg) } else { @@ -182203,7 +188305,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // A "special" INSERT op. These are handled separately. var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*4))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && - (0 == Xsqlite3_stricmp(tls, ts+19395 /* "delete" */, z)) { + (0 == Xsqlite3_stricmp(tls, ts+19410 /* "delete" */, z)) { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*4))) @@ -182228,12 +188330,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // This is not suported. if (eType0 == SQLITE_INTEGER) && (fts5IsContentless(tls, pTab) != 0) { (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+39972, /* "cannot %s conten..." */ + ts+41320, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 22807 /* "UPDATE" */ + return ts + 22822 /* "UPDATE" */ } - return ts + 40009 /* "DELETE from" */ + return ts + 41357 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -182903,7 +189005,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+40021 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) + var zErr uintptr = Xsqlite3_mprintf(tls, ts+41369 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } else { @@ -183208,7 +189310,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+40042 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41390 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 8 /* &.x */ /* &.xCreate */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { @@ -183225,7 +189327,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg (*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = (pMod + 8 /* &.x */) if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40064 /* "error in tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41412 /* "error in tokeniz..." */, 0) } } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls, @@ -183272,7 +189374,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s var ppApi uintptr _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+40095 /* "fts5_api_ptr" */) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+41443 /* "fts5_api_ptr" */) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = (pGlobal /* &.api */) } @@ -183283,7 +189385,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+40108 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, pCtx, ts+41456 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) } // Return true if zName is the extension on one of the shadow tables used @@ -183299,7 +189401,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 40199 /* "config" */, ts + 37649 /* "content" */, ts + 29381 /* "data" */, ts + 38000 /* "docsize" */, ts + 13502, /* "idx" */ + ts + 41547 /* "config" */, ts + 39002 /* "content" */, ts + 29396 /* "data" */, ts + 39353 /* "docsize" */, ts + 13517, /* "idx" */ } /* sqlite3.c:230593:21 */ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ @@ -183323,7 +189425,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ (*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+40206 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) + rc = Xsqlite3_create_module_v2(tls, db, ts+41554 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) if rc == SQLITE_OK { rc = sqlite3Fts5IndexInit(tls, db) } @@ -183341,13 +189443,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+40206 /* "fts5" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+41554 /* "fts5" */, 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+40211 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+41559 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5SourceIdFunc})), uintptr(0), uintptr(0)) } @@ -183413,20 +189515,20 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p if *(*uintptr)(unsafe.Pointer((p + 28 /* &.aStmt */) + uintptr(eStmt)*4)) == uintptr(0) { *(*[11]uintptr)(unsafe.Pointer(bp + 128 /* azStmt */)) = [11]uintptr{ - ts + 40226, /* "SELECT %s FROM %..." */ - ts + 40294, /* "SELECT %s FROM %..." */ - ts + 40363, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 41574, /* "SELECT %s FROM %..." */ + ts + 41642, /* "SELECT %s FROM %..." */ + ts + 41711, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 40396, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 40435, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 40475, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 40514, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 40555, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE + ts + 41744, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT + ts + 41783, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT + ts + 41823, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT + ts + 41862, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE + ts + 41903, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE - ts + 40594, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 41942, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 40636, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 40676, /* "SELECT %s FROM %..." */ // SCAN + ts + 41984, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG + ts + 42024, /* "SELECT %s FROM %..." */ // SCAN } var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr = uintptr(0) @@ -183493,7 +189595,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -183531,18 +189633,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+40699, /* "DROP TABLE IF EX..." */ + ts+42047, /* "DROP TABLE IF EX..." */ 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+40803, /* "DROP TABLE IF EX..." */ + ts+42151, /* "DROP TABLE IF EX..." */ 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+40841, /* "DROP TABLE IF EX..." */ + ts+42189, /* "DROP TABLE IF EX..." */ libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc @@ -183554,7 +189656,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+40879, /* "ALTER TABLE %Q.'..." */ + ts+42227, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -183566,14 +189668,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp /* rc */)) = sqlite3Fts5StorageSync(tls, pStorage) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+29381 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+13502 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+40199 /* "config" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+29396 /* "data" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+13517 /* "idx" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+41547 /* "config" */, zName) if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+38000 /* "docsize" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+39353 /* "docsize" */, zName) } if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+37649 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+39002 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -183587,17 +189689,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn var rc int32 *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+40921, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+42269, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { - return ts + 33996 /* " WITHOUT ROWID" */ + return ts + 34011 /* " WITHOUT ROWID" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+40951, /* "fts5: error crea..." */ + ts+42299, /* "fts5: error crea..." */ libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } @@ -183639,27 +189741,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+40995 /* "id INTEGER PRIMA..." */, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, ts+42343 /* "id INTEGER PRIMA..." */, 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+41018 /* ", c%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, (nDefn - iOff), (zDefn + uintptr(iOff)), ts+42366 /* ", c%d" */, libc.VaList(bp, i)) iOff = iOff + (int32(libc.Xstrlen(tls, (zDefn + uintptr(iOff))))) } - rc = sqlite3Fts5CreateTable(tls, pConfig, ts+37649 /* "content" */, zDefn, 0, pzErr) + rc = sqlite3Fts5CreateTable(tls, pConfig, ts+39002 /* "content" */, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+38000 /* "docsize" */, ts+41024 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+39353 /* "docsize" */, ts+42372 /* "id INTEGER PRIMA..." */, 0, pzErr) } if rc == SQLITE_OK { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+40199 /* "config" */, ts+41056 /* "k PRIMARY KEY, v" */, 1, pzErr) + pConfig, ts+41547 /* "config" */, ts+42404 /* "k PRIMARY KEY, v" */, 1, pzErr) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+38146 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+39499 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -183896,12 +189998,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: // Delete the contents of the %_data and %_docsize tables. rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+41073, /* "DELETE FROM %Q.'..." */ + ts+42421, /* "DELETE FROM %Q.'..." */ 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+41123, /* "DELETE FROM %Q.'..." */ + ts+42471, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -183911,7 +190013,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+38146 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+39499 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -184106,7 +190208,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+41152, /* "SELECT count(*) ..." */ + zSql = Xsqlite3_mprintf(tls, ts+42500, /* "SELECT count(*) ..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -184303,14 +190405,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // number of rows. if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { *(*I64)(unsafe.Pointer(bp + 40 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+37649 /* "content" */, bp+40 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+39002 /* "content" */, bp+40 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 40 /* nRow */)) != (*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 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+38000 /* "docsize" */, bp+48 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+39353 /* "docsize" */, bp+48 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) } @@ -184546,9 +190648,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, libc.Xmemcpy(tls, p /* &.aTokenChar */, 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+41184 /* "tokenchars" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42532 /* "tokenchars" */) { fts5AsciiAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+41195 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42543 /* "separators" */) { fts5AsciiAddExceptions(tls, p, zArg, 0) } else { rc = SQLITE_ERROR @@ -184787,7 +190889,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 + 41206 /* "L* N* Co" */ + var zCat uintptr = ts + 42554 /* "L* N* Co" */ var i int32 libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Unicode61Tokenizer{}))) @@ -184800,7 +190902,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Search for a "categories" argument for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+41215 /* "categories" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42563 /* "categories" */) { zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*4)) } } @@ -184811,18 +190913,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+41226 /* "remove_diacritic..." */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42574 /* "remove_diacritic..." */) { 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+41184 /* "tokenchars" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42532 /* "tokenchars" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+41195 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42543 /* "separators" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 0) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+41215 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42563 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -185134,7 +191236,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 /* pUserdata */)) = uintptr(0) - var zBase uintptr = ts + 41244 /* "unicode61" */ + var zBase uintptr = ts + 42592 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -185285,7 +191387,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41254 /* "al" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42602 /* "al" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -185293,11 +191395,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41257 /* "ance" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42605 /* "ance" */, (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+41262 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42610 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -185305,7 +191407,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41267 /* "er" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42615 /* "er" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -185313,7 +191415,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41270 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42618 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -185321,11 +191423,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41273 /* "able" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42621 /* "able" */, (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+41278 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42626 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -185333,19 +191435,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41283 /* "ant" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42631 /* "ant" */, (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+41287 /* "ement" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42635 /* "ement" */, (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+41293 /* "ment" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42641 /* "ment" */, (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+41298 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42646 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185353,11 +191455,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41302 /* "ion" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42650 /* "ion" */, (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+41306 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42654 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -185365,7 +191467,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41309 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42657 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185373,11 +191475,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41313 /* "ate" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42661 /* "ate" */, (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+41317 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42665 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185385,7 +191487,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41321 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42669 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185393,7 +191495,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41325 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42673 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185401,7 +191503,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41329 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42677 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185418,24 +191520,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41333 /* "at" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+41313 /* "ate" */, uint32(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42681 /* "at" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42661 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'b': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41336 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+41339 /* "ble" */, uint32(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42684 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42687 /* "ble" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41343 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+41329 /* "ize" */, uint32(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42691 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42677 /* "ize" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } @@ -185451,137 +191553,137 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41346 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42694 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41313 /* "ate" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42661 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+41354 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+42702 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+41361 /* "tion" */, uint32(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+42709 /* "tion" */, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 4) } } break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41366 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42714 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41262 /* "ence" */, uint32(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42610 /* "ence" */, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41371 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42719 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41257 /* "ance" */, uint32(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42605 /* "ance" */, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } } break case 'e': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41376 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42724 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41329 /* "ize" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42677 /* "ize" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'g': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41381 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42729 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+18194 /* "log" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+18209 /* "log" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'l': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41386 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42734 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+41339 /* "ble" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+42687 /* "ble" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41390 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42738 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41254 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42602 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41395 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42743 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41298 /* "ent" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42646 /* "ent" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41401 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42749 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+41405 /* "e" */, uint32(1)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+42753 /* "e" */, uint32(1)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 1) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41407 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42755 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41321 /* "ous" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42669 /* "ous" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } } break case 'o': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41413 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42761 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41329 /* "ize" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42677 /* "ize" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41421 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42769 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41313 /* "ate" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42661 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41427 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42775 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41313 /* "ate" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42661 /* "ate" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 's': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41432 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42780 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41254 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42602 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41438 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42786 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41325 /* "ive" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42673 /* "ive" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41446 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42794 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41454 /* "ful" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42802 /* "ful" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41458 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42806 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint32(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41321 /* "ous" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42669 /* "ous" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } } break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41466 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42814 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41254 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42602 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41472 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42820 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41325 /* "ive" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42673 /* "ive" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+41478 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+42826 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint32(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+41339 /* "ble" */, uint32(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+42687 /* "ble" */, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -185597,16 +191699,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41485 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42833 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41270 /* "ic" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42618 /* "ic" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } } break case 's': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41490 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42838 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint32(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -185614,21 +191716,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41495 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42843 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41270 /* "ic" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42618 /* "ic" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41501 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42849 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41270 /* "ic" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42618 /* "ic" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41454 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42802 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185636,7 +191738,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41507 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42855 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 5) } @@ -185644,9 +191746,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41513 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42861 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint32(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41254 /* "al" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42602 /* "al" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -185662,12 +191764,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'e': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41519 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42867 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+41523 /* "ee" */, uint32(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+42871 /* "ee" */, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 2) } - } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41526 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42874 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint32(2))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) ret = 1 @@ -185676,7 +191778,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41529 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42877 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint32(3))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) ret = 1 @@ -185846,7 +191948,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+41533 /* "case_sensitive" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+42881 /* "case_sensitive" */) { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { @@ -186036,22 +192138,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: defer tls.Free(64) *(*[4]BuiltinTokenizer)(unsafe.Pointer(bp /* aBuiltin */)) = [4]BuiltinTokenizer{ - {FzName: ts + 41244 /* "unicode61" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42592 /* "unicode61" */, 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 + 41548 /* "ascii" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42896 /* "ascii" */, 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 + 41554 /* "porter" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42902 /* "porter" */, 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 + 41561 /* "trigram" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42909 /* "trigram" */, 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 @@ -187396,14 +193498,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8 /* &rc */, zType, -1) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, ts+41569 /* "col" */) == 0 { + if Xsqlite3_stricmp(tls, zCopy, ts+42917 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL - } else if Xsqlite3_stricmp(tls, zCopy, ts+41573 /* "row" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+42921 /* "row" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW - } else if Xsqlite3_stricmp(tls, zCopy, ts+41577 /* "instance" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+42925 /* "instance" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41586 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42934 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) @@ -187450,19 +193552,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv defer tls.Free(20) *(*[3]uintptr)(unsafe.Pointer(bp + 4 /* azSchema */)) = [3]uintptr{ - ts + 41620, /* "CREATE TABlE voc..." */ - ts + 41660, /* "CREATE TABlE voc..." */ - ts + 41695, /* "CREATE TABlE voc..." */ + ts + 42968, /* "CREATE TABlE voc..." */ + ts + 43008, /* "CREATE TABlE voc..." */ + ts + 43043, /* "CREATE TABlE voc..." */ } var pRet uintptr = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK // Return code var bDb int32 - bDb = (libc.Bool32(((argc == 6) && (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == Size_t(4))) && (libc.Xmemcmp(tls, ts+25998 /* "temp" */, *(*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+26013 /* "temp" */, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0))) if (argc != 5) && (bDb == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41738 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43086 /* "wrong number of ..." */, 0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else { var nByte int32 // Bytes of space to allocate @@ -187614,11 +193716,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+41771 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+43119 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } zSql = sqlite3Fts5Mprintf(tls, bp+64, /* &rc */ - ts+41802, /* "SELECT t.%Q FROM..." */ + ts+43150, /* "SELECT t.%Q FROM..." */ 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 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+68 /* &pStmt */, uintptr(0)) @@ -187642,7 +193744,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* *(*uintptr)(unsafe.Pointer(bp + 68 /* pStmt */)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+41853 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+43201 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } else { @@ -187930,7 +194032,7 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused if pLe != 0 { var zCopy uintptr = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = ts + 900 /* "" */ + zCopy = ts + 915 /* "" */ } (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm + 1)) @@ -188047,7 +194149,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:235171:12: */ var p uintptr = pGlobal - return Xsqlite3_create_module_v2(tls, db, ts+41879 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, ts+43227 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } var fts5Vocab = Sqlite3_module{ @@ -188164,7 +194266,7 @@ func stmtConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp rc = Xsqlite3_declare_vtab(tls, db, - ts+41889 /* "CREATE TABLE x(s..." */) + ts+43237 /* "CREATE TABLE x(s..." */) if rc == SQLITE_OK { pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Stmt_vtab{}))) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -188321,14 +194423,14 @@ var stmtModule = Sqlite3_module{ // xCreate func Xsqlite3StmtVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:235483:20: */ var rc int32 = SQLITE_OK - rc = Xsqlite3_create_module(tls, db, ts+41961 /* "sqlite_stmt" */, uintptr(unsafe.Pointer(&stmtModule)), uintptr(0)) + rc = Xsqlite3_create_module(tls, db, ts+43309 /* "sqlite_stmt" */, uintptr(unsafe.Pointer(&stmtModule)), uintptr(0)) return rc } //************* End of stmt.c *********************************************** // Return the source-id for this library func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:235516:23: */ - return ts + 41973 /* "2021-06-18 18:36..." */ + return ts + 43321 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -189266,5 +195368,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68 /* .xGetLastError */)) = rbuVfsGetLastError // sqlite3.c:205300:5: } -var ts1 = "COMPILER=gcc-8.3.0\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00NONE\x00SHARED\x00RESERVED\x00PENDING\x00EXCLUSIVE\x00ERROR\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\x00TEST WR-LOCK %d %d %d (unix)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (unix)\n\x00LOCK %d %s ok (already held) (unix)\n\x00LOCK %d %s %s (unix)\n\x00ok\x00failed\x00UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n\x00CLOSE %-3d\n\x00TEST WR-LOCK %d %d %d (dotlock)\n\x00UNLOCK %d %d was %d pid=%d (dotlock)\n\x00READ %-3d %5d %7lld %llu\n\x00WRITE %-3d %5d %7lld %llu\n\x00OPENDIR %-3d %s\n\x00SYNC %-3d\n\x00full_fsync\x00DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n\x00%s-shm\x00readonly_shm\x00SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n\x00OPEN %-3d %s\n\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00OPENX %-3d %s 0%o\n\x00fsync\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\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\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\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.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\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, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\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_status\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\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\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\x00call flush_partition\x00%s clause should come after %s not before\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: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\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\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\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\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00 OR \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\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\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=gcc-8.3.0\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00NONE\x00SHARED\x00RESERVED\x00PENDING\x00EXCLUSIVE\x00ERROR\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\x00TEST WR-LOCK %d %d %d (unix)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (unix)\n\x00LOCK %d %s ok (already held) (unix)\n\x00LOCK %d %s %s (unix)\n\x00ok\x00failed\x00UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n\x00CLOSE %-3d\n\x00TEST WR-LOCK %d %d %d (dotlock)\n\x00UNLOCK %d %d was %d pid=%d (dotlock)\n\x00READ %-3d %5d %7lld %llu\n\x00WRITE %-3d %5d %7lld %llu\n\x00OPENDIR %-3d %s\n\x00SYNC %-3d\n\x00full_fsync\x00DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n\x00%s-shm\x00readonly_shm\x00SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n\x00OPEN %-3d %s\n\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00OPENX %-3d %s 0%o\n\x00fsync\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\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\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\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.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\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, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\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_status\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\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\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\x00call flush_partition\x00%s clause should come after %s not before\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: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\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\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\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\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\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\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/libtest/sqlite_linux_arm64.go b/libtest/sqlite_linux_arm64.go index 2370e90..c022cfe 100644 --- a/libtest/sqlite_linux_arm64.go +++ b/libtest/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 "" -pkgname sqlite3 -o libtest/sqlite_linux_arm64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP', DO NOT EDIT. +// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -pkgname sqlite3 -o libtest/sqlite_linux_arm64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP', DO NOT EDIT. package sqlite3 @@ -1418,6 +1418,9 @@ const ( SEEK_HOLE = 4 SEEK_SET = 0 SELECTTRACE_ENABLED = 0 + SESSIONS_STRM_CHUNK_SIZE = 64 + SESSION_MAX_BUFFER_SZ = 2147483391 + SESSION_UPDATE_CACHE_SZ = 12 SF_Aggregate = 0x0000008 SF_All = 0x0000002 SF_ComplexResult = 0x0040000 @@ -1564,6 +1567,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -1727,6 +1741,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_STMTVTAB = 1 @@ -2099,6 +2114,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3741,7 +3758,7 @@ type X__float128 = float64 /* :47:21 */ // This array looks large, but in a typical installation actually uses // only a handful of compile-time options, so most times this array is usually // rather short and uses little memory space. -var sqlite3azCompileOpt = [27]uintptr{ +var sqlite3azCompileOpt = [28]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl ts, /* "COMPILER=gcc-8.3..." */ @@ -3760,17 +3777,18 @@ var sqlite3azCompileOpt = [27]uintptr{ ts + 256, /* "ENABLE_PREUPDATE..." */ ts + 278, /* "ENABLE_RBU" */ ts + 289, /* "ENABLE_RTREE" */ - ts + 302, /* "ENABLE_SNAPSHOT" */ - ts + 318, /* "ENABLE_STAT4" */ - ts + 331, /* "ENABLE_STMTVTAB" */ - ts + 347, /* "ENABLE_UNLOCK_NO..." */ - ts + 368, /* "LIKE_DOESNT_MATC..." */ - ts + 392, /* "MUTEX_NOOP" */ - ts + 403, /* "SOUNDEX" */ - ts + 411, /* "SYSTEM_MALLOC" */ - ts + 425, /* "TEMP_STORE=1" */ - ts + 438, /* "TEST" */ - ts + 443, /* "THREADSAFE=1" */ + ts + 302, /* "ENABLE_SESSION" */ + ts + 317, /* "ENABLE_SNAPSHOT" */ + ts + 333, /* "ENABLE_STAT4" */ + ts + 346, /* "ENABLE_STMTVTAB" */ + ts + 362, /* "ENABLE_UNLOCK_NO..." */ + ts + 383, /* "LIKE_DOESNT_MATC..." */ + ts + 407, /* "MUTEX_NOOP" */ + ts + 418, /* "SOUNDEX" */ + ts + 426, /* "SYSTEM_MALLOC" */ + ts + 440, /* "TEMP_STORE=1" */ + ts + 453, /* "TEST" */ + ts + 458, /* "THREADSAFE=1" */ // END CODE GENERATED BY tool/mkctime.tcl } /* sqlite3.c:72:19 */ @@ -4086,7 +4104,7 @@ type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ // of the hash might be different from [SQLITE_SOURCE_ID].)^ // // See also: [sqlite_version()] and [sqlite_source_id()]. -var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 456 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ +var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 471 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -6637,6 +6655,495 @@ type Sqlite3_rtree_dbl = float64 /* sqlite3.c:11048:18 */ //******* End of sqlite3rtree.h ******** //******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type sqlite3_session = struct { + Fdb uintptr + FzDb uintptr + FbEnableSize int32 + FbEnable int32 + FbIndirect int32 + FbAutoAttach int32 + Frc int32 + _ [4]byte + FpFilterCtx uintptr + FxTableFilter uintptr + FnMalloc I64 + FnMaxChangesetSize I64 + FpZeroBlob uintptr + FpNext uintptr + FpTable uintptr + Fhook SessionHook +} /* sqlite3.c:11155:9 */ + +// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. + +//******* End of sqlite3rtree.h ******** +//******* Begin file sqlite3session.h ******** + +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type sqlite3_changeset_iter = struct { + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + _ [4]byte + FabPK uintptr + FapValue uintptr +} /* sqlite3.c:11163:9 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type Sqlite3_changeset_iter = sqlite3_changeset_iter /* sqlite3.c:11163:39 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type sqlite3_changegroup = struct { + Frc int32 + FbPatch int32 + FpList uintptr +} /* sqlite3.c:12015:9 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type Sqlite3_changegroup = sqlite3_changegroup /* sqlite3.c:12015:36 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type sqlite3_rebaser = struct{ Fgrp Sqlite3_changegroup } /* sqlite3.c:12579:9 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ + +// CAPI3REF: Values for sqlite3session_config(). + +// Make sure we can call this stuff from C++. + //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** // 2014 May 31 @@ -6687,10 +7194,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.c:12895:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -10631,7 +11137,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 463 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 478 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -11782,7 +12288,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+470 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+485 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { goto __9 } return 1 @@ -11819,13 +12325,13 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 // var s int32 at bp+32, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+478 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+493 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+486 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+501 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -11944,7 +12450,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+490 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+505 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -12025,7 +12531,7 @@ func parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) i return 0 } else if parseHhMmSs(tls, zDate, p) == 0 { return 0 - } else if (Xsqlite3StrICmp(tls, zDate, ts+502 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { + } else if (Xsqlite3StrICmp(tls, zDate, ts+517 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { return setDateTimeToCurrent(tls, context, p) } else if Xsqlite3AtoF(tls, zDate, bp /* &r */, Xsqlite3Strlen30(tls, zDate), uint8(SQLITE_UTF8)) > 0 { setRawDateNumber(tls, p, *(*float64)(unsafe.Pointer(bp /* r */))) @@ -12207,7 +12713,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite computeJD(tls, bp+56 /* &x */) *(*Time_t)(unsafe.Pointer(bp + 104 /* t */)) = (Time_t(((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000)))) if osLocaltime(tls, bp+104 /* &t */, bp /* &sLocal */) != 0 { - Xsqlite3_result_error(tls, pCtx, ts+506 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+521 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -12242,12 +12748,12 @@ var aXformType = [6]struct { FrLimit float64 FrXform float64 }{ - {FnName: U8(6), FzName: ts + 529 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, - {FnName: U8(6), FzName: ts + 536 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, - {FnName: U8(4), FzName: ts + 543 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, - {FnName: U8(3), FzName: ts + 548 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, - {FeType: U8(1), FnName: U8(5), FzName: ts + 552 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, - {FeType: U8(2), FnName: U8(4), FzName: ts + 558 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, + {FnName: U8(6), FzName: ts + 544 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, + {FnName: U8(6), FzName: ts + 551 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, + {FnName: U8(4), FzName: ts + 558 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, + {FnName: U8(3), FzName: ts + 563 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, + {FeType: U8(1), FnName: U8(5), FzName: ts + 567 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, + {FeType: U8(2), FnName: U8(4), FzName: ts + 573 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, } /* sqlite3.c:22795:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -12286,7 +12792,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Assuming the current time value is UTC (a.k.a. GMT), shift it to // show local time. - if (Xsqlite3_stricmp(tls, z, ts+563 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + if (Xsqlite3_stricmp(tls, z, ts+578 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { computeJD(tls, p) *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (localtimeOffset(tls, p, pCtx, bp /* &rc */)) clearYMD_HMS_TZ(tls, p) @@ -12300,7 +12806,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Treat the current value of p->s as the number of // seconds since 1970. Convert to a real julian day number. - if (Xsqlite3_stricmp(tls, z, ts+573 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { + if (Xsqlite3_stricmp(tls, z, ts+588 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) @@ -12309,7 +12815,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+583 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + } else if (Xsqlite3_stricmp(tls, z, ts+598 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { if int32((*DateTime)(unsafe.Pointer(p)).FtzSet) == 0 { var c1 Sqlite3_int64 computeJD(tls, p) @@ -12334,7 +12840,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // Move the date to the same time on the next occurrence of // weekday N where 0==Sunday, 1==Monday, and so forth. If the // date is already on the appropriate weekday, this is a no-op. - if ((((Xsqlite3_strnicmp(tls, z, ts+587 /* "weekday " */, 8) == 0) && + if ((((Xsqlite3_strnicmp(tls, z, ts+602 /* "weekday " */, 8) == 0) && (Xsqlite3AtoF(tls, (z+8), bp+8 /* &r */, Xsqlite3Strlen30(tls, (z+8)), uint8(SQLITE_UTF8)) > 0)) && ((float64(libc.AssignInt32(&n, int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */)))))) == *(*float64)(unsafe.Pointer(bp + 8 /* r */)))) && (n >= 0)) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < float64(7)) { var Z Sqlite3_int64 @@ -12359,7 +12865,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Move the date backwards to the beginning of the current day, // or month or year. - if Xsqlite3_strnicmp(tls, z, ts+596 /* "start of " */, 9) != 0 { + if Xsqlite3_strnicmp(tls, z, ts+611 /* "start of " */, 9) != 0 { break } if (!(int32((*DateTime)(unsafe.Pointer(p)).FvalidJD) != 0) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidYMD) != 0)) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidHMS) != 0) { @@ -12373,14 +12879,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - if Xsqlite3_stricmp(tls, z, ts+552 /* "month" */) == 0 { + if Xsqlite3_stricmp(tls, z, ts+567 /* "month" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+558 /* "year" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+573 /* "year" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FM = 1 (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+548 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+563 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -12601,7 +13107,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // var zBuf [100]int8 at bp+96, 100 computeYMD_HMS(tls, bp+48 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+606, /* "%04d-%02d-%02d %..." */ + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+621, /* "%04d-%02d-%02d %..." */ libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } @@ -12620,7 +13126,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeHMS(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+636 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+651 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -12638,7 +13144,7 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+72, 100 computeYMD(tls, bp+24 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+651 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+666 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -12765,7 +13271,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (uint64(2)) break fallthrough @@ -12775,14 +13281,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+671 /* "%06.3f" */, libc.VaList(bp+8, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+686 /* "%06.3f" */, libc.VaList(bp+8, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) j = j + (uint64(2)) break fallthrough @@ -12800,10 +13306,10 @@ __3: if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday wd = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) j = j + (uint64(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+678 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+693 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) j = j + (uint64(3)) } break @@ -12812,19 +13318,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+683 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+698 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) j = j + (uint64(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) j = j + (uint64(2)) break fallthrough @@ -12838,7 +13344,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough @@ -12851,7 +13357,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+689 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+704 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -12908,14 +13414,14 @@ func Xsqlite3RegisterDateTimeFunctions(tls *libc.TLS) { /* sqlite3.c:23404:21: * } var aDateTimeFuncs = [8]FuncDef{ - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 694 /* "julianday" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 704 /* "date" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 709 /* "time" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 714 /* "datetime" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 723 /* "strftime" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 732 /* "current_time" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 745 /* "current_timestam..." */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 763 /* "current_date" */}} /* sqlite3.c:23405:18 */ + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 709 /* "julianday" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 719 /* "date" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 724 /* "time" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 729 /* "datetime" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 738 /* "strftime" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 747 /* "current_time" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 760 /* "current_timestam..." */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 778 /* "current_date" */}} /* sqlite3.c:23405:18 */ //************* End of date.c *********************************************** //************* Begin file os.c ********************************************* @@ -13612,7 +14118,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p += 8 } else { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+776 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+791 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -13663,7 +14169,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* } else { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+814, /* "failed memory re..." */ + ts+829, /* "failed memory re..." */ libc.VaList(bp, sqlite3MemSize(tls, pPrior), nByte)) } return p @@ -14848,8 +15354,8 @@ type Et_info = et_info /* sqlite3.c:28672:3 */ // The following table is searched linearly, so it is good to put the // most frequently used conversion types first. -var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 850 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 883 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ +var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 865 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 898 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ var fmtinfo = [23]Et_info{ {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, {Ffmttype: int8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, @@ -15103,7 +15609,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+890 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+905 /* "%" */, 1) goto __5 __11: ; @@ -15686,7 +16192,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 892 /* "NaN" */ + bufpt = ts + 907 /* "NaN" */ length = 3 goto __58 __127: @@ -15746,7 +16252,7 @@ __138: } bufpt = bp + 8 /* &buf[0] */ *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix - libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+896 /* "Inf" */, uint64(4)) + libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+911 /* "Inf" */, uint64(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: @@ -16103,7 +16609,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 900 /* "" */ + bufpt = ts + 915 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -16232,9 +16738,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 901 /* "NULL" */ + return ts + 916 /* "NULL" */ } - return ts + 906 /* "(NULL)" */ + return ts + 921 /* "(NULL)" */ }() __220: ; @@ -16369,7 +16875,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+913 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+928 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -16384,7 +16890,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+915 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, ts+930 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) __247: ; __246: @@ -16447,7 +16953,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 927 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 942 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -16833,7 +17339,7 @@ func Xsqlite3DebugPrintf(tls *libc.TLS, zFormat uintptr, va uintptr) { /* sqlite Xsqlite3_str_vappendf(tls, bp+8 /* &acc */, zFormat, ap) _ = ap Xsqlite3StrAccumFinish(tls, bp+8 /* &acc */) - libc.Xfprintf(tls, libc.Xstdout, ts+936 /* "%s" */, libc.VaList(bp, bp+40 /* &zBuf[0] */)) + libc.Xfprintf(tls, libc.Xstdout, ts+951 /* "%s" */, libc.VaList(bp, bp+40 /* &zBuf[0] */)) libc.Xfflush(tls, libc.Xstdout) } @@ -18805,7 +19311,7 @@ func compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) int32 { /* sqlite3.c var c int32 = 0 var i int32 // 012345678901234567 - var pow63 uintptr = ts + 939 /* "9223372036854775..." */ + var pow63 uintptr = ts + 954 /* "9223372036854775..." */ for i = 0; (c == 0) && (i < 18); i++ { c = ((int32(*(*int8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) } @@ -19455,7 +19961,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+958, /* "API call with %s..." */ + ts+973, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -19474,14 +19980,14 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ func Xsqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:33054:20: */ var magic U32 if db == uintptr(0) { - logBadConnection(tls, ts+901 /* "NULL" */) + logBadConnection(tls, ts+916 /* "NULL" */) return 0 } magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if magic != SQLITE_MAGIC_OPEN { if Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 { - logBadConnection(tls, ts+1003 /* "unopened" */) + logBadConnection(tls, ts+1018 /* "unopened" */) } return 0 } else { @@ -19495,7 +20001,7 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if ((magic != U32(SQLITE_MAGIC_SICK)) && (magic != SQLITE_MAGIC_OPEN)) && (magic != SQLITE_MAGIC_BUSY) { - logBadConnection(tls, ts+1012 /* "invalid" */) + logBadConnection(tls, ts+1027 /* "invalid" */) return 0 } else { return 1 @@ -20023,186 +20529,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 0 */ ts + 1020, /* "Savepoint\x00" */ - /* 1 */ ts + 1031, /* "AutoCommit\x00" */ - /* 2 */ ts + 1043, /* "Transaction\x00" */ - /* 3 */ ts + 1056, /* "SorterNext\x00" */ - /* 4 */ ts + 1068, /* "Prev\x00" */ - /* 5 */ ts + 1074, /* "Next\x00" */ - /* 6 */ ts + 1080, /* "Checkpoint\x00" */ - /* 7 */ ts + 1092, /* "JournalMode\x00" */ - /* 8 */ ts + 1105, /* "Vacuum\x00" */ - /* 9 */ ts + 1113, /* "VFilter\x00iplan=r[..." */ - /* 10 */ ts + 1144, /* "VUpdate\x00data=r[P..." */ - /* 11 */ ts + 1166, /* "Goto\x00" */ - /* 12 */ ts + 1172, /* "Gosub\x00" */ - /* 13 */ ts + 1179, /* "InitCoroutine\x00" */ - /* 14 */ ts + 1194, /* "Yield\x00" */ - /* 15 */ ts + 1201, /* "MustBeInt\x00" */ - /* 16 */ ts + 1212, /* "Jump\x00" */ - /* 17 */ ts + 1218, /* "Once\x00" */ - /* 18 */ ts + 1224, /* "If\x00" */ - /* 19 */ ts + 1228, /* "Not\x00r[P2]= !r[P1..." */ - /* 20 */ ts + 1246, /* "IfNot\x00" */ - /* 21 */ ts + 1253, /* "IfNullRow\x00if P1...." */ - /* 22 */ ts + 1302, /* "SeekLT\x00key=r[P3@..." */ - /* 23 */ ts + 1322, /* "SeekLE\x00key=r[P3@..." */ - /* 24 */ ts + 1342, /* "SeekGE\x00key=r[P3@..." */ - /* 25 */ ts + 1362, /* "SeekGT\x00key=r[P3@..." */ - /* 26 */ ts + 1382, /* "IfNotOpen\x00if( !c..." */ - /* 27 */ ts + 1415, /* "IfNoHope\x00key=r[P..." */ - /* 28 */ ts + 1437, /* "NoConflict\x00key=r..." */ - /* 29 */ ts + 1461, /* "NotFound\x00key=r[P..." */ - /* 30 */ ts + 1483, /* "Found\x00key=r[P3@P..." */ - /* 31 */ ts + 1502, /* "SeekRowid\x00intkey..." */ - /* 32 */ ts + 1525, /* "NotExists\x00intkey..." */ - /* 33 */ ts + 1548, /* "Last\x00" */ - /* 34 */ ts + 1554, /* "IfSmaller\x00" */ - /* 35 */ ts + 1565, /* "SorterSort\x00" */ - /* 36 */ ts + 1577, /* "Sort\x00" */ - /* 37 */ ts + 1583, /* "Rewind\x00" */ - /* 38 */ ts + 1591, /* "IdxLE\x00key=r[P3@P..." */ - /* 39 */ ts + 1610, /* "IdxGT\x00key=r[P3@P..." */ - /* 40 */ ts + 1629, /* "IdxLT\x00key=r[P3@P..." */ - /* 41 */ ts + 1648, /* "IdxGE\x00key=r[P3@P..." */ - /* 42 */ ts + 1667, /* "RowSetRead\x00r[P3]..." */ - /* 43 */ ts + 1695, /* "Or\x00r[P3]=(r[P1] ..." */ - /* 44 */ ts + 1721, /* "And\x00r[P3]=(r[P1]..." */ - /* 45 */ ts + 1748, /* "RowSetTest\x00if r[..." */ - /* 46 */ ts + 1790, /* "Program\x00" */ - /* 47 */ ts + 1799, /* "FkIfZero\x00if fkct..." */ - /* 48 */ ts + 1832, /* "IfPos\x00if r[P1]>0..." */ - /* 49 */ ts + 1873, /* "IfNotZero\x00if r[P..." */ - /* 50 */ ts + 1917, /* "IsNull\x00if r[P1]=..." */ - /* 51 */ ts + 1947, /* "NotNull\x00if r[P1]..." */ - /* 52 */ ts + 1978, /* "Ne\x00IF r[P3]!=r[P..." */ - /* 53 */ ts + 1997, /* "Eq\x00IF r[P3]==r[P..." */ - /* 54 */ ts + 2016, /* "Gt\x00IF r[P3]>r[P1..." */ - /* 55 */ ts + 2034, /* "Le\x00IF r[P3]<=r[P..." */ - /* 56 */ ts + 2053, /* "Lt\x00IF r[P3]=r[P..." */ - /* 58 */ ts + 2090, /* "ElseEq\x00" */ - /* 59 */ ts + 2098, /* "DecrJumpZero\x00if ..." */ - /* 60 */ ts + 2135, /* "IncrVacuum\x00" */ - /* 61 */ ts + 2147, /* "VNext\x00" */ - /* 62 */ ts + 2154, /* "Init\x00Start at P2" */ - /* 63 */ ts + 2171, /* "PureFunc\x00r[P3]=f..." */ - /* 64 */ ts + 2201, /* "Function\x00r[P3]=f..." */ - /* 65 */ ts + 2231, /* "Return\x00" */ - /* 66 */ ts + 2239, /* "EndCoroutine\x00" */ - /* 67 */ ts + 2253, /* "HaltIfNull\x00if r[..." */ - /* 68 */ ts + 2283, /* "Halt\x00" */ - /* 69 */ ts + 2289, /* "Integer\x00r[P2]=P1" */ - /* 70 */ ts + 2306, /* "Int64\x00r[P2]=P4" */ - /* 71 */ ts + 2321, /* "String\x00r[P2]='P4..." */ - /* 72 */ ts + 2348, /* "Null\x00r[P2..P3]=N..." */ - /* 73 */ ts + 2368, /* "SoftNull\x00r[P1]=N..." */ - /* 74 */ ts + 2388, /* "Blob\x00r[P2]=P4 (l..." */ - /* 75 */ ts + 2411, /* "Variable\x00r[P2]=p..." */ - /* 76 */ ts + 2443, /* "Move\x00r[P2@P3]=r[..." */ - /* 77 */ ts + 2466, /* "Copy\x00r[P2@P3+1]=..." */ - /* 78 */ ts + 2493, /* "SCopy\x00r[P2]=r[P1..." */ - /* 79 */ ts + 2511, /* "IntCopy\x00r[P2]=r[..." */ - /* 80 */ ts + 2531, /* "ChngCntRow\x00outpu..." */ - /* 81 */ ts + 2555, /* "ResultRow\x00output..." */ - /* 82 */ ts + 2581, /* "CollSeq\x00" */ - /* 83 */ ts + 2590, /* "AddImm\x00r[P1]=r[P..." */ - /* 84 */ ts + 2612, /* "RealAffinity\x00" */ - /* 85 */ ts + 2626, /* "Cast\x00affinity(r[..." */ - /* 86 */ ts + 2647, /* "Permutation\x00" */ - /* 87 */ ts + 2660, /* "Compare\x00r[P1@P3]..." */ - /* 88 */ ts + 2690, /* "IsTrue\x00r[P2] = c..." */ - /* 89 */ ts + 2735, /* "ZeroOrNull\x00r[P2]..." */ - /* 90 */ ts + 2764, /* "Offset\x00r[P3] = s..." */ - /* 91 */ ts + 2797, /* "Column\x00r[P3]=PX" */ - /* 92 */ ts + 2813, /* "Affinity\x00affinit..." */ - /* 93 */ ts + 2841, /* "MakeRecord\x00r[P3]..." */ - /* 94 */ ts + 2874, /* "Count\x00r[P2]=coun..." */ - /* 95 */ ts + 2894, /* "ReadCookie\x00" */ - /* 96 */ ts + 2906, /* "SetCookie\x00" */ - /* 97 */ ts + 2917, /* "ReopenIdx\x00root=P..." */ - /* 98 */ ts + 2942, /* "OpenRead\x00root=P2..." */ - /* 99 */ ts + 2966, /* "OpenWrite\x00root=P..." */ - /* 100 */ ts + 2991, /* "OpenDup\x00" */ - /* 101 */ ts + 3000, /* "OpenAutoindex\x00nC..." */ - /* 102 */ ts + 3025, /* "BitAnd\x00r[P3]=r[P..." */ - /* 103 */ ts + 3050, /* "BitOr\x00r[P3]=r[P1..." */ - /* 104 */ ts + 3074, /* "ShiftLeft\x00r[P3]=..." */ - /* 105 */ ts + 3103, /* "ShiftRight\x00r[P3]..." */ - /* 106 */ ts + 3133, /* "Add\x00r[P3]=r[P1]+..." */ - /* 107 */ ts + 3155, /* "Subtract\x00r[P3]=r..." */ - /* 108 */ ts + 3182, /* "Multiply\x00r[P3]=r..." */ - /* 109 */ ts + 3209, /* "Divide\x00r[P3]=r[P..." */ - /* 110 */ ts + 3234, /* "Remainder\x00r[P3]=..." */ - /* 111 */ ts + 3262, /* "Concat\x00r[P3]=r[P..." */ - /* 112 */ ts + 3287, /* "OpenEphemeral\x00nC..." */ - /* 113 */ ts + 3312, /* "BitNot\x00r[P2]= ~r..." */ - /* 114 */ ts + 3333, /* "SorterOpen\x00" */ - /* 115 */ ts + 3345, /* "SequenceTest\x00if(..." */ - /* 116 */ ts + 3389, /* "String8\x00r[P2]='P..." */ - /* 117 */ ts + 3408, /* "OpenPseudo\x00P3 co..." */ - /* 118 */ ts + 3439, /* "Close\x00" */ - /* 119 */ ts + 3446, /* "ColumnsUsed\x00" */ - /* 120 */ ts + 3459, /* "SeekScan\x00Scan-ah..." */ - /* 121 */ ts + 3493, /* "SeekHit\x00set P2<=..." */ - /* 122 */ ts + 3521, /* "Sequence\x00r[P2]=c..." */ - /* 123 */ ts + 3553, /* "NewRowid\x00r[P2]=r..." */ - /* 124 */ ts + 3574, /* "Insert\x00intkey=r[..." */ - /* 125 */ ts + 3605, /* "RowCell\x00" */ - /* 126 */ ts + 3614, /* "Delete\x00" */ - /* 127 */ ts + 3622, /* "ResetCount\x00" */ - /* 128 */ ts + 3634, /* "SorterCompare\x00if..." */ - /* 129 */ ts + 3683, /* "SorterData\x00r[P2]..." */ - /* 130 */ ts + 3705, /* "RowData\x00r[P2]=da..." */ - /* 131 */ ts + 3724, /* "Rowid\x00r[P2]=rowi..." */ - /* 132 */ ts + 3742, /* "NullRow\x00" */ - /* 133 */ ts + 3751, /* "SeekEnd\x00" */ - /* 134 */ ts + 3760, /* "IdxInsert\x00key=r[..." */ - /* 135 */ ts + 3780, /* "SorterInsert\x00key..." */ - /* 136 */ ts + 3803, /* "IdxDelete\x00key=r[..." */ - /* 137 */ ts + 3826, /* "DeferredSeek\x00Mov..." */ - /* 138 */ ts + 3869, /* "IdxRowid\x00r[P2]=r..." */ - /* 139 */ ts + 3890, /* "FinishSeek\x00" */ - /* 140 */ ts + 3902, /* "Destroy\x00" */ - /* 141 */ ts + 3911, /* "Clear\x00" */ - /* 142 */ ts + 3918, /* "ResetSorter\x00" */ - /* 143 */ ts + 3931, /* "CreateBtree\x00r[P2..." */ - /* 144 */ ts + 3970, /* "SqlExec\x00" */ - /* 145 */ ts + 3979, /* "ParseSchema\x00" */ - /* 146 */ ts + 3992, /* "LoadAnalysis\x00" */ - /* 147 */ ts + 4006, /* "DropTable\x00" */ - /* 148 */ ts + 4017, /* "DropIndex\x00" */ - /* 149 */ ts + 4028, /* "DropTrigger\x00" */ - /* 150 */ ts + 4041, /* "IntegrityCk\x00" */ - /* 151 */ ts + 4054, /* "RowSetAdd\x00rowset..." */ - /* 152 */ ts + 4081, /* "Real\x00r[P2]=P4" */ - /* 153 */ ts + 4095, /* "Param\x00" */ - /* 154 */ ts + 4102, /* "FkCounter\x00fkctr[..." */ - /* 155 */ ts + 4126, /* "MemMax\x00r[P1]=max..." */ - /* 156 */ ts + 4156, /* "OffsetLimit\x00if r..." */ - /* 157 */ ts + 4225, /* "AggInverse\x00accum..." */ - /* 158 */ ts + 4266, /* "AggStep\x00accum=r[..." */ - /* 159 */ ts + 4301, /* "AggStep1\x00accum=r..." */ - /* 160 */ ts + 4337, /* "AggValue\x00r[P3]=v..." */ - /* 161 */ ts + 4363, /* "AggFinal\x00accum=r..." */ - /* 162 */ ts + 4389, /* "Expire\x00" */ - /* 163 */ ts + 4397, /* "CursorLock\x00" */ - /* 164 */ ts + 4409, /* "CursorUnlock\x00" */ - /* 165 */ ts + 4423, /* "TableLock\x00iDb=P1..." */ - /* 166 */ ts + 4457, /* "VBegin\x00" */ - /* 167 */ ts + 4465, /* "VCreate\x00" */ - /* 168 */ ts + 4474, /* "VDestroy\x00" */ - /* 169 */ ts + 4484, /* "VOpen\x00" */ - /* 170 */ ts + 4491, /* "VColumn\x00r[P3]=vc..." */ - /* 171 */ ts + 4517, /* "VRename\x00" */ - /* 172 */ ts + 4526, /* "Pagecount\x00" */ - /* 173 */ ts + 4537, /* "MaxPgcnt\x00" */ - /* 174 */ ts + 4547, /* "Trace\x00" */ - /* 175 */ ts + 4554, /* "CursorHint\x00" */ - /* 176 */ ts + 4566, /* "ReleaseReg\x00relea..." */ - /* 177 */ ts + 4602, /* "Noop\x00" */ - /* 178 */ ts + 4608, /* "Explain\x00" */ - /* 179 */ ts + 4617, /* "Abortable\x00" */ + /* 0 */ ts + 1035, /* "Savepoint\x00" */ + /* 1 */ ts + 1046, /* "AutoCommit\x00" */ + /* 2 */ ts + 1058, /* "Transaction\x00" */ + /* 3 */ ts + 1071, /* "SorterNext\x00" */ + /* 4 */ ts + 1083, /* "Prev\x00" */ + /* 5 */ ts + 1089, /* "Next\x00" */ + /* 6 */ ts + 1095, /* "Checkpoint\x00" */ + /* 7 */ ts + 1107, /* "JournalMode\x00" */ + /* 8 */ ts + 1120, /* "Vacuum\x00" */ + /* 9 */ ts + 1128, /* "VFilter\x00iplan=r[..." */ + /* 10 */ ts + 1159, /* "VUpdate\x00data=r[P..." */ + /* 11 */ ts + 1181, /* "Goto\x00" */ + /* 12 */ ts + 1187, /* "Gosub\x00" */ + /* 13 */ ts + 1194, /* "InitCoroutine\x00" */ + /* 14 */ ts + 1209, /* "Yield\x00" */ + /* 15 */ ts + 1216, /* "MustBeInt\x00" */ + /* 16 */ ts + 1227, /* "Jump\x00" */ + /* 17 */ ts + 1233, /* "Once\x00" */ + /* 18 */ ts + 1239, /* "If\x00" */ + /* 19 */ ts + 1243, /* "Not\x00r[P2]= !r[P1..." */ + /* 20 */ ts + 1261, /* "IfNot\x00" */ + /* 21 */ ts + 1268, /* "IfNullRow\x00if P1...." */ + /* 22 */ ts + 1317, /* "SeekLT\x00key=r[P3@..." */ + /* 23 */ ts + 1337, /* "SeekLE\x00key=r[P3@..." */ + /* 24 */ ts + 1357, /* "SeekGE\x00key=r[P3@..." */ + /* 25 */ ts + 1377, /* "SeekGT\x00key=r[P3@..." */ + /* 26 */ ts + 1397, /* "IfNotOpen\x00if( !c..." */ + /* 27 */ ts + 1430, /* "IfNoHope\x00key=r[P..." */ + /* 28 */ ts + 1452, /* "NoConflict\x00key=r..." */ + /* 29 */ ts + 1476, /* "NotFound\x00key=r[P..." */ + /* 30 */ ts + 1498, /* "Found\x00key=r[P3@P..." */ + /* 31 */ ts + 1517, /* "SeekRowid\x00intkey..." */ + /* 32 */ ts + 1540, /* "NotExists\x00intkey..." */ + /* 33 */ ts + 1563, /* "Last\x00" */ + /* 34 */ ts + 1569, /* "IfSmaller\x00" */ + /* 35 */ ts + 1580, /* "SorterSort\x00" */ + /* 36 */ ts + 1592, /* "Sort\x00" */ + /* 37 */ ts + 1598, /* "Rewind\x00" */ + /* 38 */ ts + 1606, /* "IdxLE\x00key=r[P3@P..." */ + /* 39 */ ts + 1625, /* "IdxGT\x00key=r[P3@P..." */ + /* 40 */ ts + 1644, /* "IdxLT\x00key=r[P3@P..." */ + /* 41 */ ts + 1663, /* "IdxGE\x00key=r[P3@P..." */ + /* 42 */ ts + 1682, /* "RowSetRead\x00r[P3]..." */ + /* 43 */ ts + 1710, /* "Or\x00r[P3]=(r[P1] ..." */ + /* 44 */ ts + 1736, /* "And\x00r[P3]=(r[P1]..." */ + /* 45 */ ts + 1763, /* "RowSetTest\x00if r[..." */ + /* 46 */ ts + 1805, /* "Program\x00" */ + /* 47 */ ts + 1814, /* "FkIfZero\x00if fkct..." */ + /* 48 */ ts + 1847, /* "IfPos\x00if r[P1]>0..." */ + /* 49 */ ts + 1888, /* "IfNotZero\x00if r[P..." */ + /* 50 */ ts + 1932, /* "IsNull\x00if r[P1]=..." */ + /* 51 */ ts + 1962, /* "NotNull\x00if r[P1]..." */ + /* 52 */ ts + 1993, /* "Ne\x00IF r[P3]!=r[P..." */ + /* 53 */ ts + 2012, /* "Eq\x00IF r[P3]==r[P..." */ + /* 54 */ ts + 2031, /* "Gt\x00IF r[P3]>r[P1..." */ + /* 55 */ ts + 2049, /* "Le\x00IF r[P3]<=r[P..." */ + /* 56 */ ts + 2068, /* "Lt\x00IF r[P3]=r[P..." */ + /* 58 */ ts + 2105, /* "ElseEq\x00" */ + /* 59 */ ts + 2113, /* "DecrJumpZero\x00if ..." */ + /* 60 */ ts + 2150, /* "IncrVacuum\x00" */ + /* 61 */ ts + 2162, /* "VNext\x00" */ + /* 62 */ ts + 2169, /* "Init\x00Start at P2" */ + /* 63 */ ts + 2186, /* "PureFunc\x00r[P3]=f..." */ + /* 64 */ ts + 2216, /* "Function\x00r[P3]=f..." */ + /* 65 */ ts + 2246, /* "Return\x00" */ + /* 66 */ ts + 2254, /* "EndCoroutine\x00" */ + /* 67 */ ts + 2268, /* "HaltIfNull\x00if r[..." */ + /* 68 */ ts + 2298, /* "Halt\x00" */ + /* 69 */ ts + 2304, /* "Integer\x00r[P2]=P1" */ + /* 70 */ ts + 2321, /* "Int64\x00r[P2]=P4" */ + /* 71 */ ts + 2336, /* "String\x00r[P2]='P4..." */ + /* 72 */ ts + 2363, /* "Null\x00r[P2..P3]=N..." */ + /* 73 */ ts + 2383, /* "SoftNull\x00r[P1]=N..." */ + /* 74 */ ts + 2403, /* "Blob\x00r[P2]=P4 (l..." */ + /* 75 */ ts + 2426, /* "Variable\x00r[P2]=p..." */ + /* 76 */ ts + 2458, /* "Move\x00r[P2@P3]=r[..." */ + /* 77 */ ts + 2481, /* "Copy\x00r[P2@P3+1]=..." */ + /* 78 */ ts + 2508, /* "SCopy\x00r[P2]=r[P1..." */ + /* 79 */ ts + 2526, /* "IntCopy\x00r[P2]=r[..." */ + /* 80 */ ts + 2546, /* "ChngCntRow\x00outpu..." */ + /* 81 */ ts + 2570, /* "ResultRow\x00output..." */ + /* 82 */ ts + 2596, /* "CollSeq\x00" */ + /* 83 */ ts + 2605, /* "AddImm\x00r[P1]=r[P..." */ + /* 84 */ ts + 2627, /* "RealAffinity\x00" */ + /* 85 */ ts + 2641, /* "Cast\x00affinity(r[..." */ + /* 86 */ ts + 2662, /* "Permutation\x00" */ + /* 87 */ ts + 2675, /* "Compare\x00r[P1@P3]..." */ + /* 88 */ ts + 2705, /* "IsTrue\x00r[P2] = c..." */ + /* 89 */ ts + 2750, /* "ZeroOrNull\x00r[P2]..." */ + /* 90 */ ts + 2779, /* "Offset\x00r[P3] = s..." */ + /* 91 */ ts + 2812, /* "Column\x00r[P3]=PX" */ + /* 92 */ ts + 2828, /* "Affinity\x00affinit..." */ + /* 93 */ ts + 2856, /* "MakeRecord\x00r[P3]..." */ + /* 94 */ ts + 2889, /* "Count\x00r[P2]=coun..." */ + /* 95 */ ts + 2909, /* "ReadCookie\x00" */ + /* 96 */ ts + 2921, /* "SetCookie\x00" */ + /* 97 */ ts + 2932, /* "ReopenIdx\x00root=P..." */ + /* 98 */ ts + 2957, /* "OpenRead\x00root=P2..." */ + /* 99 */ ts + 2981, /* "OpenWrite\x00root=P..." */ + /* 100 */ ts + 3006, /* "OpenDup\x00" */ + /* 101 */ ts + 3015, /* "OpenAutoindex\x00nC..." */ + /* 102 */ ts + 3040, /* "BitAnd\x00r[P3]=r[P..." */ + /* 103 */ ts + 3065, /* "BitOr\x00r[P3]=r[P1..." */ + /* 104 */ ts + 3089, /* "ShiftLeft\x00r[P3]=..." */ + /* 105 */ ts + 3118, /* "ShiftRight\x00r[P3]..." */ + /* 106 */ ts + 3148, /* "Add\x00r[P3]=r[P1]+..." */ + /* 107 */ ts + 3170, /* "Subtract\x00r[P3]=r..." */ + /* 108 */ ts + 3197, /* "Multiply\x00r[P3]=r..." */ + /* 109 */ ts + 3224, /* "Divide\x00r[P3]=r[P..." */ + /* 110 */ ts + 3249, /* "Remainder\x00r[P3]=..." */ + /* 111 */ ts + 3277, /* "Concat\x00r[P3]=r[P..." */ + /* 112 */ ts + 3302, /* "OpenEphemeral\x00nC..." */ + /* 113 */ ts + 3327, /* "BitNot\x00r[P2]= ~r..." */ + /* 114 */ ts + 3348, /* "SorterOpen\x00" */ + /* 115 */ ts + 3360, /* "SequenceTest\x00if(..." */ + /* 116 */ ts + 3404, /* "String8\x00r[P2]='P..." */ + /* 117 */ ts + 3423, /* "OpenPseudo\x00P3 co..." */ + /* 118 */ ts + 3454, /* "Close\x00" */ + /* 119 */ ts + 3461, /* "ColumnsUsed\x00" */ + /* 120 */ ts + 3474, /* "SeekScan\x00Scan-ah..." */ + /* 121 */ ts + 3508, /* "SeekHit\x00set P2<=..." */ + /* 122 */ ts + 3536, /* "Sequence\x00r[P2]=c..." */ + /* 123 */ ts + 3568, /* "NewRowid\x00r[P2]=r..." */ + /* 124 */ ts + 3589, /* "Insert\x00intkey=r[..." */ + /* 125 */ ts + 3620, /* "RowCell\x00" */ + /* 126 */ ts + 3629, /* "Delete\x00" */ + /* 127 */ ts + 3637, /* "ResetCount\x00" */ + /* 128 */ ts + 3649, /* "SorterCompare\x00if..." */ + /* 129 */ ts + 3698, /* "SorterData\x00r[P2]..." */ + /* 130 */ ts + 3720, /* "RowData\x00r[P2]=da..." */ + /* 131 */ ts + 3739, /* "Rowid\x00r[P2]=rowi..." */ + /* 132 */ ts + 3757, /* "NullRow\x00" */ + /* 133 */ ts + 3766, /* "SeekEnd\x00" */ + /* 134 */ ts + 3775, /* "IdxInsert\x00key=r[..." */ + /* 135 */ ts + 3795, /* "SorterInsert\x00key..." */ + /* 136 */ ts + 3818, /* "IdxDelete\x00key=r[..." */ + /* 137 */ ts + 3841, /* "DeferredSeek\x00Mov..." */ + /* 138 */ ts + 3884, /* "IdxRowid\x00r[P2]=r..." */ + /* 139 */ ts + 3905, /* "FinishSeek\x00" */ + /* 140 */ ts + 3917, /* "Destroy\x00" */ + /* 141 */ ts + 3926, /* "Clear\x00" */ + /* 142 */ ts + 3933, /* "ResetSorter\x00" */ + /* 143 */ ts + 3946, /* "CreateBtree\x00r[P2..." */ + /* 144 */ ts + 3985, /* "SqlExec\x00" */ + /* 145 */ ts + 3994, /* "ParseSchema\x00" */ + /* 146 */ ts + 4007, /* "LoadAnalysis\x00" */ + /* 147 */ ts + 4021, /* "DropTable\x00" */ + /* 148 */ ts + 4032, /* "DropIndex\x00" */ + /* 149 */ ts + 4043, /* "DropTrigger\x00" */ + /* 150 */ ts + 4056, /* "IntegrityCk\x00" */ + /* 151 */ ts + 4069, /* "RowSetAdd\x00rowset..." */ + /* 152 */ ts + 4096, /* "Real\x00r[P2]=P4" */ + /* 153 */ ts + 4110, /* "Param\x00" */ + /* 154 */ ts + 4117, /* "FkCounter\x00fkctr[..." */ + /* 155 */ ts + 4141, /* "MemMax\x00r[P1]=max..." */ + /* 156 */ ts + 4171, /* "OffsetLimit\x00if r..." */ + /* 157 */ ts + 4240, /* "AggInverse\x00accum..." */ + /* 158 */ ts + 4281, /* "AggStep\x00accum=r[..." */ + /* 159 */ ts + 4316, /* "AggStep1\x00accum=r..." */ + /* 160 */ ts + 4352, /* "AggValue\x00r[P3]=v..." */ + /* 161 */ ts + 4378, /* "AggFinal\x00accum=r..." */ + /* 162 */ ts + 4404, /* "Expire\x00" */ + /* 163 */ ts + 4412, /* "CursorLock\x00" */ + /* 164 */ ts + 4424, /* "CursorUnlock\x00" */ + /* 165 */ ts + 4438, /* "TableLock\x00iDb=P1..." */ + /* 166 */ ts + 4472, /* "VBegin\x00" */ + /* 167 */ ts + 4480, /* "VCreate\x00" */ + /* 168 */ ts + 4489, /* "VDestroy\x00" */ + /* 169 */ ts + 4499, /* "VOpen\x00" */ + /* 170 */ ts + 4506, /* "VColumn\x00r[P3]=vc..." */ + /* 171 */ ts + 4532, /* "VRename\x00" */ + /* 172 */ ts + 4541, /* "Pagecount\x00" */ + /* 173 */ ts + 4552, /* "MaxPgcnt\x00" */ + /* 174 */ ts + 4562, /* "Trace\x00" */ + /* 175 */ ts + 4569, /* "CursorHint\x00" */ + /* 176 */ ts + 4581, /* "ReleaseReg\x00relea..." */ + /* 177 */ ts + 4617, /* "Noop\x00" */ + /* 178 */ ts + 4623, /* "Explain\x00" */ + /* 179 */ ts + 4632, /* "Abortable\x00" */ } /* sqlite3.c:33673:20 */ //************* End of opcodes.c ******************************************** @@ -21837,67 +22343,67 @@ type unix_syscall = struct { // testing and sandboxing. The following array holds the names and pointers // to all overrideable system calls. var aSyscall = [29]unix_syscall{ - {FzName: ts + 4628 /* "open" */, FpCurrent: 0}, + {FzName: ts + 4643 /* "open" */, FpCurrent: 0}, - {FzName: ts + 4633 /* "close" */, FpCurrent: 0}, + {FzName: ts + 4648 /* "close" */, FpCurrent: 0}, - {FzName: ts + 4639 /* "access" */, FpCurrent: 0}, + {FzName: ts + 4654 /* "access" */, FpCurrent: 0}, - {FzName: ts + 4646 /* "getcwd" */, FpCurrent: 0}, + {FzName: ts + 4661 /* "getcwd" */, FpCurrent: 0}, - {FzName: ts + 4653 /* "stat" */, FpCurrent: 0}, + {FzName: ts + 4668 /* "stat" */, FpCurrent: 0}, // The DJGPP compiler environment looks mostly like Unix, but it // lacks the fcntl() system call. So redefine fcntl() to be something // that always succeeds. This means that locking does not occur under // DJGPP. But it is DOS - what did you expect? - {FzName: ts + 4658 /* "fstat" */, FpCurrent: 0}, + {FzName: ts + 4673 /* "fstat" */, FpCurrent: 0}, - {FzName: ts + 4664 /* "ftruncate" */, FpCurrent: 0}, + {FzName: ts + 4679 /* "ftruncate" */, FpCurrent: 0}, - {FzName: ts + 4674 /* "fcntl" */, FpCurrent: 0}, + {FzName: ts + 4689 /* "fcntl" */, FpCurrent: 0}, - {FzName: ts + 4680 /* "read" */, FpCurrent: 0}, + {FzName: ts + 4695 /* "read" */, FpCurrent: 0}, - {FzName: ts + 4685 /* "pread" */}, + {FzName: ts + 4700 /* "pread" */}, - {FzName: ts + 4691 /* "pread64" */}, + {FzName: ts + 4706 /* "pread64" */}, - {FzName: ts + 4699 /* "write" */, FpCurrent: 0}, + {FzName: ts + 4714 /* "write" */, FpCurrent: 0}, - {FzName: ts + 4705 /* "pwrite" */}, + {FzName: ts + 4720 /* "pwrite" */}, - {FzName: ts + 4712 /* "pwrite64" */}, + {FzName: ts + 4727 /* "pwrite64" */}, - {FzName: ts + 4721 /* "fchmod" */, FpCurrent: 0}, + {FzName: ts + 4736 /* "fchmod" */, FpCurrent: 0}, - {FzName: ts + 4728 /* "fallocate" */}, + {FzName: ts + 4743 /* "fallocate" */}, - {FzName: ts + 4738 /* "unlink" */, FpCurrent: 0}, + {FzName: ts + 4753 /* "unlink" */, FpCurrent: 0}, - {FzName: ts + 4745 /* "openDirectory" */, FpCurrent: 0}, + {FzName: ts + 4760 /* "openDirectory" */, FpCurrent: 0}, - {FzName: ts + 4759 /* "mkdir" */, FpCurrent: 0}, + {FzName: ts + 4774 /* "mkdir" */, FpCurrent: 0}, - {FzName: ts + 4765 /* "rmdir" */, FpCurrent: 0}, + {FzName: ts + 4780 /* "rmdir" */, FpCurrent: 0}, - {FzName: ts + 4771 /* "fchown" */, FpCurrent: 0}, + {FzName: ts + 4786 /* "fchown" */, FpCurrent: 0}, - {FzName: ts + 4778 /* "geteuid" */, FpCurrent: 0}, + {FzName: ts + 4793 /* "geteuid" */, FpCurrent: 0}, - {FzName: ts + 4786 /* "mmap" */, FpCurrent: 0}, + {FzName: ts + 4801 /* "mmap" */, FpCurrent: 0}, - {FzName: ts + 4791 /* "munmap" */, FpCurrent: 0}, + {FzName: ts + 4806 /* "munmap" */, FpCurrent: 0}, - {FzName: ts + 4798 /* "mremap" */, FpCurrent: 0}, + {FzName: ts + 4813 /* "mremap" */, FpCurrent: 0}, - {FzName: ts + 4805 /* "getpagesize" */, FpCurrent: 0}, + {FzName: ts + 4820 /* "getpagesize" */, FpCurrent: 0}, - {FzName: ts + 4817 /* "readlink" */, FpCurrent: 0}, + {FzName: ts + 4832 /* "readlink" */, FpCurrent: 0}, - {FzName: ts + 4826 /* "lstat" */, FpCurrent: 0}, + {FzName: ts + 4841 /* "lstat" */, FpCurrent: 0}, - {FzName: ts + 4832 /* "ioctl" */}, + {FzName: ts + 4847 /* "ioctl" */}, } /* sqlite3.c:34446:3 */ // End of the overrideable system calls @@ -22031,9 +22537,9 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3 } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, fd) Xsqlite3_log(tls, SQLITE_WARNING, - ts+4838 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) + ts+4853 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) fd = -1 - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, ts+4881 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, ts+4896 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { break } } @@ -22092,17 +22598,17 @@ func unixLeaveMutex(tls *libc.TLS) { /* sqlite3.c:34800:13: */ func azFileLock(tls *libc.TLS, eFileLock int32) uintptr { /* sqlite3.c:34817:19: */ switch eFileLock { case NO_LOCK: - return ts + 4891 /* "NONE" */ + return ts + 4906 /* "NONE" */ case SHARED_LOCK: - return ts + 4896 /* "SHARED" */ + return ts + 4911 /* "SHARED" */ case RESERVED_LOCK: - return ts + 4903 /* "RESERVED" */ + return ts + 4918 /* "RESERVED" */ case PENDING_LOCK: - return ts + 4912 /* "PENDING" */ + return ts + 4927 /* "PENDING" */ case EXCLUSIVE_LOCK: - return ts + 4920 /* "EXCLUSIVE" */ + return ts + 4935 /* "EXCLUSIVE" */ } - return ts + 4930 /* "ERROR" */ + return ts + 4945 /* "ERROR" */ } // Retry ftruncate() calls that fail due to EINTR @@ -22310,13 +22816,13 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // the strerror() function to obtain the human-readable error message // equivalent to errno. Otherwise, use strerror_r(). // This is a threadsafe build, but strerror_r() is not available. - zErr = ts + 900 /* "" */ + zErr = ts + 915 /* "" */ if zPath == uintptr(0) { - zPath = ts + 900 /* "" */ + zPath = ts + 915 /* "" */ } Xsqlite3_log(tls, errcode, - ts+4936, /* "os_unix.c:%d: (%..." */ + ts+4951, /* "os_unix.c:%d: (%..." */ libc.VaList(bp, iLine, iErrno, zFunc, zPath, zErr)) return errcode @@ -22335,7 +22841,7 @@ func unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uintp // and move on. func robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { /* sqlite3.c:35345:13: */ if (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, h) != 0 { - unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+4633, /* "close" */ + unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+4648, /* "close" */ func() uintptr { if pFile != 0 { return (*UnixFile)(unsafe.Pointer(pFile)).FzPath @@ -22494,19 +23000,19 @@ func verifyDbFile(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:35532:13: */ rc = (*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, bp+32 /* &buf */) if rc != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+4967 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+4982 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink == X__nlink_t(0) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+4991 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5006 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink > X__nlink_t(1) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+5020 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5035 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+5047 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+5062 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -22553,7 +23059,7 @@ func unixCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { / Xsqlite3_mutex_leave(tls, (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FpLockMutex) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5075 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) + Xsqlite3DebugPrintf(tls, ts+5090 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) } *(*int32)(unsafe.Pointer(pResOut)) = reserved @@ -22696,7 +23202,7 @@ func unixLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:3 if !(Xsqlite3OSTrace != 0) { goto __1 } - Xsqlite3DebugPrintf(tls, ts+5105 /* "LOCK %d %s wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), azFileLock(tls, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock)), azFileLock(tls, int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock)), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5120 /* "LOCK %d %s wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), azFileLock(tls, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock)), azFileLock(tls, int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock)), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) __1: ; @@ -22709,7 +23215,7 @@ __1: if !(Xsqlite3OSTrace != 0) { goto __3 } - Xsqlite3DebugPrintf(tls, ts+5148 /* "LOCK %d %s ok..." */, libc.VaList(bp+48, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock))) + Xsqlite3DebugPrintf(tls, ts+5163 /* "LOCK %d %s ok..." */, libc.VaList(bp+48, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock))) __3: ; return SQLITE_OK @@ -22897,11 +23403,11 @@ end_lock: if !(Xsqlite3OSTrace != 0) { goto __25 } - Xsqlite3DebugPrintf(tls, ts+5188 /* "LOCK %d %s %s..." */, libc.VaList(bp+64, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { + Xsqlite3DebugPrintf(tls, ts+5203 /* "LOCK %d %s %s..." */, libc.VaList(bp+64, (*UnixFile)(unsafe.Pointer(pFile)).Fh, azFileLock(tls, eFileLock), func() uintptr { if rc == SQLITE_OK { - return ts + 5213 /* "ok" */ + return ts + 5228 /* "ok" */ } - return ts + 5216 /* "failed" */ + return ts + 5231 /* "failed" */ }())) __25: ; @@ -22946,7 +23452,7 @@ func posixUnlock(tls *libc.TLS, id uintptr, eFileLock int32, handleNFSUnlock int if !(Xsqlite3OSTrace != 0) { goto __1 } - Xsqlite3DebugPrintf(tls, ts+5223 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5238 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), int32((*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FeFileLock), (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpInode)).FnShared, libc.Xgetpid(tls))) __1: ; @@ -23096,7 +23602,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:36148:12: */ (*UnixFile)(unsafe.Pointer(pFile)).Fh = -1 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5266 /* "CLOSE %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+5281 /* "CLOSE %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) } libc.AtomicAddInt32(&Xsqlite3_open_file_count, int32(-1)) Xsqlite3_free(tls, (*UnixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -23230,7 +23736,7 @@ func dotlockCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 reserved = (libc.Bool32((*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 2*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FlockingContext, 0) == 0)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5280 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) + Xsqlite3DebugPrintf(tls, ts+5295 /* "TEST WR-LOCK %d ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, rc, reserved)) } *(*int32)(unsafe.Pointer(pResOut)) = reserved return rc @@ -23312,7 +23818,7 @@ func dotlockUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite var rc int32 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5313 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), libc.Xgetpid(tls))) + Xsqlite3DebugPrintf(tls, ts+5328 /* "UNLOCK %d %d wa..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh, eFileLock, int32((*UnixFile)(unsafe.Pointer(pFile)).FeFileLock), libc.Xgetpid(tls))) } // no-op if possible @@ -23484,7 +23990,7 @@ func seekAndRead(tls *libc.TLS, id uintptr, offset Sqlite3_int64, pBuf uintptr, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5352 /* "READ %-3d %5d..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(id)).Fh, (got+prior), (offset-Sqlite3_int64(prior)), uint64(0))) + Xsqlite3DebugPrintf(tls, ts+5367 /* "READ %-3d %5d..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(id)).Fh, (got+prior), (offset-Sqlite3_int64(prior)), uint64(0))) } return (got + prior) } @@ -23570,7 +24076,7 @@ func seekAndWriteFd(tls *libc.TLS, fd int32, iOff I64, pBuf uintptr, nBuf int32, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5381 /* "WRITE %-3d %5d..." */, libc.VaList(bp, fd, rc, iOff, uint64(0))) + Xsqlite3DebugPrintf(tls, ts+5396 /* "WRITE %-3d %5d..." */, libc.VaList(bp, fd, rc, iOff, uint64(0))) } if rc < 0 { @@ -23727,7 +24233,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql var fd int32 = -1 // var zDirname [513]int8 at bp+24, 513 - Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+24 /* &zDirname[0] */, ts+936 /* "%s" */, libc.VaList(bp, zFilename)) + Xsqlite3_snprintf(tls, MAX_PATHNAME, bp+24 /* &zDirname[0] */, ts+951 /* "%s" */, libc.VaList(bp, zFilename)) for ii = int32(libc.Xstrlen(tls, bp+24 /* &zDirname[0] */)); (ii > 0) && (int32(*(*int8)(unsafe.Pointer(bp + 24 /* &zDirname[0] */ + uintptr(ii)))) != '/'); ii-- { } if ii > 0 { @@ -23741,14 +24247,14 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 { /* sql fd = robust_open(tls, bp+24 /* &zDirname[0] */, (O_RDONLY | O_BINARY), uint32(0)) if fd >= 0 { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5410 /* "OPENDIR %-3d %s\n" */, libc.VaList(bp+8, fd, bp+24 /* &zDirname[0] */)) + Xsqlite3DebugPrintf(tls, ts+5425 /* "OPENDIR %-3d %s\n" */, libc.VaList(bp+8, fd, bp+24 /* &zDirname[0] */)) } } *(*int32)(unsafe.Pointer(pFd)) = fd if fd >= 0 { return SQLITE_OK } - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+4745 /* "openDirectory" */, bp+24 /* &zDirname[0] */, 37775) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 37775), ts+4760 /* "openDirectory" */, bp+24 /* &zDirname[0] */, 37775) } // Make sure all writes to a particular file are committed to disk. @@ -23790,7 +24296,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5427 /* "SYNC %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+5442 /* "SYNC %-3d\n" */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).Fh)) } rc = full_fsync(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if ((Xsqlite3_io_error_persist != 0) && (Xsqlite3_io_error_hit != 0)) || (libc.PostDecAtomicInt32(&Xsqlite3_io_error_pending, 1) == 1) { @@ -23800,7 +24306,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 if rc != 0 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+5441 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+5456 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) } // Also fsync the directory containing the file if the DIRSYNC flag @@ -23810,7 +24316,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 // var dirfd int32 at bp+32, 4 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5452 /* "DIRSYNC %s (have..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, HAVE_FULLFSYNC, isFullsync)) + Xsqlite3DebugPrintf(tls, ts+5467 /* "DIRSYNC %s (have..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, HAVE_FULLFSYNC, isFullsync)) } rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp+32 /* &dirfd */) if rc == SQLITE_OK { @@ -23846,7 +24352,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 { /* sqlite3.c:378 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+4664 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+4679 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) } else { // If the file was just truncated to a size smaller than the currently @@ -23929,7 +24435,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c if iWrite >= nSize { iWrite = (nSize - int64(1)) } - nWrite = seekAndWrite(tls, pFile, iWrite, ts+900 /* "" */, 1) + nWrite = seekAndWrite(tls, pFile, iWrite, ts+915 /* "" */, 1) if nWrite != 1 { return (SQLITE_IOERR | (int32(3) << 8)) } @@ -23942,7 +24448,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c 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+4664 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+4679 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) } } @@ -24016,7 +24522,7 @@ func unixFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { } case SQLITE_FCNTL_VFSNAME: { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) return SQLITE_OK } @@ -24302,7 +24808,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32 // help detect if a -shm file truncation is legitimate or is the work // or a rogue process. if (rc == SQLITE_OK) && (robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0) { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+4664 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), ts+4679 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) } } } else if int32((*flock)(unsafe.Pointer(bp+8 /* &lock */)).Fl_type) == F_WRLCK { @@ -24408,7 +24914,7 @@ __4: ; libc.Xmemset(tls, pShmNode, 0, (uint64(unsafe.Sizeof(unixShmNode{})) + uint64(nShmFilename))) zShm = libc.AssignPtrUintptr(pShmNode+16 /* &.zFilename */, (pShmNode + 1*96)) - Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+5496 /* "%s-shm" */, libc.VaList(bp, zBasePath)) + Xsqlite3_snprintf(tls, nShmFilename, zShm, ts+5511 /* "%s-shm" */, libc.VaList(bp, zBasePath)) (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = -1 (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pDbFd)).FpInode)).FpShmNode = pShmNode @@ -24430,7 +24936,7 @@ __5: if !(int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FbProcessLock) == 0) { goto __7 } - if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+5503 /* "readonly_shm" */, 0)) { + if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+5518 /* "readonly_shm" */, 0)) { goto __8 } (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = robust_open(tls, zShm, ((O_RDWR | O_CREAT) | 0100000), @@ -24445,7 +24951,7 @@ __8: if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) { goto __10 } - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+4628 /* "open" */, zShm, 38716) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+4643 /* "open" */, zShm, 38716) goto shm_open_err __10: ; @@ -24612,11 +25118,11 @@ __11: goto __13 } *(*int32)(unsafe.Pointer(bp + 128 /* x */)) = 0 - if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+900 /* "" */, 1, bp+128 /* &x */) != 1) { + if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+915 /* "" */, 1, bp+128 /* &x */) != 1) { goto __14 } zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+4699 /* "write" */, zFile, 38860) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+4714 /* "write" */, zFile, 38860) goto shmpage_out __14: ; @@ -24664,7 +25170,7 @@ __16: if !(pMem == (libc.UintptrFromInt32(-1))) { goto __20 } - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+4786 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+4801 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) goto shmpage_out __20: ; @@ -24839,7 +25345,7 @@ func unixShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) in Xsqlite3_mutex_leave(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5516 /* "SHM-LOCK shmid-%..." */, libc.VaList(bp, int32((*UnixShm)(unsafe.Pointer(p)).Fid), libc.Xgetpid(tls), int32((*UnixShm)(unsafe.Pointer(p)).FsharedMask), int32((*UnixShm)(unsafe.Pointer(p)).FexclMask))) + Xsqlite3DebugPrintf(tls, ts+5531 /* "SHM-LOCK shmid-%..." */, libc.VaList(bp, int32((*UnixShm)(unsafe.Pointer(p)).Fid), libc.Xgetpid(tls), int32((*UnixShm)(unsafe.Pointer(p)).FsharedMask), int32((*UnixShm)(unsafe.Pointer(p)).FexclMask))) } return rc } @@ -24928,7 +25434,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39165:13: */ // continue accessing the database using the xRead() and xWrite() // methods. func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13: */ - var zErr uintptr = ts + 4786 /* "mmap" */ + var zErr uintptr = ts + 4801 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping var nOrig I64 = (*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual // Size of pOrig region in bytes @@ -24945,7 +25451,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13 } pNew = (*(*func(*libc.TLS, uintptr, Size_t, Size_t, int32, uintptr) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 24*24 + 8 /* &.pCurrent */))))(tls, pOrig, uint64(nReuse), uint64(nNew), MREMAP_MAYMOVE, 0) - zErr = ts + 4798 /* "mremap" */ + zErr = ts + 4813 /* "mremap" */ // The attempt to extend the existing mapping failed. Free it. if (pNew == (libc.UintptrFromInt32(-1))) || (pNew == uintptr(0)) { @@ -25171,7 +25677,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename // No locking occurs in temporary files if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5557 /* "OPEN %-3d %s\n" */, libc.VaList(bp, h, zFilename)) + Xsqlite3DebugPrintf(tls, ts+5572 /* "OPEN %-3d %s\n" */, libc.VaList(bp, h, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).Fh = h (*UnixFile)(unsafe.Pointer(pNew)).FpVfs = pVfs @@ -25184,10 +25690,10 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename } return uintptr(0) }(), - ts+5574 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { + ts+5589 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { *(*uint16)(unsafe.Pointer(pNew + 30 /* &.ctrlFlags */)) |= uint16((UNIXFILE_PSOW)) } - if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+5579 /* "unix-excl" */) == 0 { + if libc.Xstrcmp(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, ts+5594 /* "unix-excl" */) == 0 { *(*uint16)(unsafe.Pointer(pNew + 30 /* &.ctrlFlags */)) |= uint16((UNIXFILE_EXCL)) } @@ -25233,7 +25739,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename if zLockFile == uintptr(0) { rc = SQLITE_NOMEM } else { - Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+5589 /* "%s.lock" */, libc.VaList(bp+16, zFilename)) + Xsqlite3_snprintf(tls, nFilename, zLockFile, ts+5604 /* "%s.lock" */, libc.VaList(bp+16, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext = zLockFile } @@ -25263,10 +25769,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var zDir uintptr = Xsqlite3_temp_directory if !(int32(azDirs[0]) != 0) { - azDirs[0] = libc.Xgetenv(tls, ts+5597 /* "SQLITE_TMPDIR" */) + azDirs[0] = libc.Xgetenv(tls, ts+5612 /* "SQLITE_TMPDIR" */) } if !(int32(azDirs[1]) != 0) { - azDirs[1] = libc.Xgetenv(tls, ts+5611 /* "TMPDIR" */) + azDirs[1] = libc.Xgetenv(tls, ts+5626 /* "TMPDIR" */) } for 1 != 0 { if (((zDir != uintptr(0)) && @@ -25286,10 +25792,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var azDirs = [6]uintptr{ uintptr(0), uintptr(0), - ts + 5618, /* "/var/tmp" */ - ts + 5627, /* "/usr/tmp" */ - ts + 5636, /* "/tmp" */ - ts + 913, /* "." */ + ts + 5633, /* "/var/tmp" */ + ts + 5642, /* "/usr/tmp" */ + ts + 5651, /* "/tmp" */ + ts + 928, /* "." */ } /* sqlite3.c:39857:21 */ // Create a temporary file name in zBuf. zBuf must be allocated @@ -25321,7 +25827,7 @@ func unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqlite3 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U64(0))), bp+24 /* &r */) *(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2)))) = int8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+5641, /* "%s/etilqs_%llx%c" */ + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+5656, /* "%s/etilqs_%llx%c" */ libc.VaList(bp, zDir, *(*U64)(unsafe.Pointer(bp + 24 /* r */)), 0)) if (int32(*(*int8)(unsafe.Pointer(zBuf + uintptr((nBuf - 2))))) != 0) || ((libc.PostIncInt32(&iLimit, 1)) > 10) { return SQLITE_ERROR @@ -25477,7 +25983,7 @@ func findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintptr // filename, check for the "modeof" parameter. If present, interpret // its value as a filename and try to copy the mode, uid and gid from // that file. - var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+5658 /* "modeof" */) + var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+5673 /* "modeof" */) if z != 0 { rc = getFileMode(tls, z, pMode, pUid, pGid) } @@ -25675,7 +26181,7 @@ __14: if !(Xsqlite3OSTrace != 0) { goto __15 } - Xsqlite3DebugPrintf(tls, ts+5665 /* "OPENX %-3d %s ..." */, libc.VaList(bp, fd, zName, openFlags)) + Xsqlite3DebugPrintf(tls, ts+5680 /* "OPENX %-3d %s ..." */, libc.VaList(bp, fd, zName, openFlags)) __15: ; @@ -25709,7 +26215,7 @@ __16: if !(fd < 0) { goto __20 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+4628 /* "open" */, zName, 40257) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+4643 /* "open" */, zName, 40257) if !(rc == SQLITE_OK) { goto __21 } @@ -25824,7 +26330,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+4738 /* "unlink" */, zPath, 40396) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+4753 /* "unlink" */, zPath, 40396) } return rc } @@ -25834,7 +26340,7 @@ 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 /* &.pCurrent */))))(tls, zPath, bp /* &fd */) if rc == SQLITE_OK { if full_fsync(tls, *(*int32)(unsafe.Pointer(bp /* fd */)), 0, 0) != 0 { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+5686 /* "fsync" */, zPath, 40406) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(5) << 8)), ts+5701 /* "fsync" */, zPath, 40406) } robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 40408) } else { @@ -25913,7 +26419,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' { if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(tls, zOut, (uint64(nOut-2))) == uintptr(0) { - return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+4646 /* "getcwd" */, zPath, 40485) + return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40485), ts+4661 /* "getcwd" */, zPath, 40485) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -25924,7 +26430,7 @@ func mkFullPathname(tls *libc.TLS, zPath uintptr, zOut uintptr, nOut int32) int3 *(*int8)(unsafe.Pointer(zOut + uintptr(iOff))) = int8(0) return Xsqlite3CantopenError(tls, 40494) } - Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+936 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, (nOut - iOff), (zOut + uintptr(iOff)), ts+951 /* "%s" */, libc.VaList(bp, zPath)) // Remove duplicate '/' characters. Except, two // at the beginning // of a pathname is allowed since this is important on windows. @@ -26003,7 +26509,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8 /* &.pCurrent */))))(tls, zIn, bp /* &buf */) != 0 { if (*(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+4826 /* "lstat" */, zIn, 40577) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+4841 /* "lstat" */, zIn, 40577) } } else { bLink = (libc.Bool32((((*stat)(unsafe.Pointer(bp /* &buf */)).Fst_mode) & X__mode_t(0170000)) == (X__mode_t(0120000)))) @@ -26023,7 +26529,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if rc == SQLITE_OK { nByte = int32((*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls, zIn, zDel, (uint64(nOut - 1)))) if nByte < 0 { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+4817 /* "readlink" */, zIn, 40595) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+4832 /* "readlink" */, zIn, 40595) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 @@ -26117,7 +26623,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { unixEnterMutex(tls) zErr = libc.Xdlerror(tls) if zErr != 0 { - Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+936 /* "%s" */, libc.VaList(bp, zErr)) + Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+951 /* "%s" */, libc.VaList(bp, zErr)) } unixLeaveMutex(tls) } @@ -26454,10 +26960,10 @@ func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:42038:16: */ } var aVfs = [4]Sqlite3_vfs{ - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5692 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5697 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5707 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, - {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5579 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5707 /* "unix" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5712 /* "unix-none" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5722 /* "unix-dotfile" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, + {FiVersion: 3 /* iVersion */, FszOsFile: int32(unsafe.Sizeof(UnixFile{})) /* szOsFile */, FmxPathname: MAX_PATHNAME /* pNext */, FzName: ts + 5594 /* "unix-excl" */ /* zName */, FpAppData: 0 /* pAppData */, FxOpen: 0 /* xOpen */, FxDelete: 0 /* xDelete */, FxAccess: 0 /* xAccess */, FxFullPathname: 0 /* xFullPathname */, FxDlOpen: 0 /* xDlOpen */, FxDlError: 0 /* xDlError */, FxDlSym: 0 /* xDlSym */, FxDlClose: 0 /* xDlClose */, FxRandomness: 0 /* xRandomness */, FxSleep: 0 /* xSleep */, FxCurrentTime: 0 /* xCurrentTime */, FxGetLastError: 0 /* xGetLastError */, FxCurrentTimeInt64: 0 /* xCurrentTimeInt64 */, FxSetSystemCall: 0 /* xSetSystemCall */, FxGetSystemCall: 0 /* xGetSystemCall */, FxNextSystemCall: 0 /* xNextSystemCall */}, } /* sqlite3.c:42091:22 */ // Shutdown the operating system interface. @@ -26552,7 +27058,7 @@ var memdb_g MemFS /* sqlite3.c:48620:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) FmxPathname: 1024, // pNext - FzName: ts + 5720, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 5735, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -26784,7 +27290,7 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 var rc int32 = SQLITE_NOTFOUND memdbEnter(tls, p) if op == SQLITE_FCNTL_VFSNAME { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+5726 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+5741 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == SQLITE_FCNTL_SIZE_LIMIT { @@ -26927,7 +27433,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(8) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+936 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+951 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } @@ -27044,7 +27550,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = Xsqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, ts+5741 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+5756 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) } else { @@ -27117,7 +27623,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+5764 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+5779 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) if !(zSql == uintptr(0)) { goto __3 } @@ -32618,7 +33124,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+5779, /* "recovered %d pag..." */ + Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+5794, /* "recovered %d pag..." */ libc.VaList(bp, nPlayback, (*Pager)(unsafe.Pointer(pPager)).FzJournal)) __27: ; @@ -34387,7 +34893,7 @@ __15: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzJournal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint64(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+5806 /* "-journal" */, uint64(8)) + libc.Xmemcpy(tls, pPtr, ts+5821 /* "-journal" */, uint64(8)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -34402,7 +34908,7 @@ __19: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzWal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint64(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+5815 /* "-wal" */, uint64(4)) + libc.Xmemcpy(tls, pPtr, ts+5830 /* "-wal" */, uint64(4)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -34461,9 +34967,9 @@ __27: ; __26: ; - (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5820 /* "nolock" */, 0)) + (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5835 /* "nolock" */, 0)) if !(((iDc & SQLITE_IOCAP_IMMUTABLE) != 0) || - (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5827 /* "immutable" */, 0) != 0)) { + (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+5842 /* "immutable" */, 0) != 0)) { goto __30 } vfsFlags = vfsFlags | (SQLITE_OPEN_READONLY) @@ -38385,7 +38891,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+5837, /* "recovered %d fra..." */ + ts+5852, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -39130,7 +39636,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+5874 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) + Xsqlite3_log(tls, rx, ts+5889 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) } } @@ -41910,7 +42416,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:65443: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 5900 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 5915 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -43950,7 +44456,7 @@ func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt mutexOpen = uintptr(0) rc = SQLITE_OK isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zFilename))) == 0))) - isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+5916 /* ":memory:" */) == 0)) || + isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+5931 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -44824,7 +45330,7 @@ __10: // // The original design allowed these amounts to vary, but as of // version 3.6.0, we require them to be fixed. - if !(libc.Xmemcmp(tls, (page1+21), ts+5925 /* "@ " */, uint64(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+5940 /* "@ " */, uint64(3)) != 0) { goto __14 } goto page1_init_failed @@ -52340,7 +52846,7 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+5929 /* "\n" */, 1) + Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+5944 /* "\n" */, 1) } if (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, (pCheck + 56 /* &.errMsg */), (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -52376,11 +52882,11 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 defer tls.Free(16) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { - checkAppendMsg(tls, pCheck, ts+5931 /* "invalid page num..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+5946 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+5954 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) + checkAppendMsg(tls, pCheck, ts+5969 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -52407,13 +52913,13 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 } - checkAppendMsg(tls, pCheck, ts+5979 /* "Failed to read p..." */, libc.VaList(bp, iChild)) + checkAppendMsg(tls, pCheck, ts+5994 /* "Failed to read p..." */, libc.VaList(bp, iChild)) return } if (int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, - ts+6008, /* "Bad ptr map entr..." */ + ts+6023, /* "Bad ptr map entr..." */ libc.VaList(bp+8, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)))) } } @@ -52436,7 +52942,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } N-- if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+40 /* &pOvflPage */, 0) != 0 { - checkAppendMsg(tls, pCheck, ts+6062 /* "failed to get pa..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+6077 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) @@ -52447,7 +52953,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+6084 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) + ts+6099 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -52473,12 +52979,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, - ts+6123, /* "%s is %d but sho..." */ + ts+6138, /* "%s is %d but sho..." */ libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { - return ts + 6149 /* "size" */ + return ts + 6164 /* "size" */ } - return ts + 6154 /* "overflow list le..." */ + return ts + 6169 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -52622,13 +53128,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6175 /* "Page %u: " */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6190 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+96 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, - ts+6185 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+6200 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -52642,7 +53148,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+6223 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) + ts+6238 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; @@ -52650,7 +53156,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+6261 /* "free space corru..." */, libc.VaList(bp+16, rc)) + checkAppendMsg(tls, pCheck, ts+6276 /* "free space corru..." */, libc.VaList(bp+16, rc)) goto end_of_check __5: ; @@ -52658,7 +53164,7 @@ __5: hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FhdrOffset) // Set up for cell analysis - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6283 /* "On tree page %u ..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6298 /* "On tree page %u ..." */ contentOffset = (U32(((((int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5)))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5))) + 1)))) - 1) & 0xffff) + 1)) // Enforced by btreeInitPage() @@ -52680,7 +53186,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6309 /* "On page %u at ri..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6324 /* "On page %u at ri..." */ checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; @@ -52711,7 +53217,7 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+6337, /* "Offset %d out of..." */ + checkAppendMsg(tls, pCheck, ts+6352, /* "Offset %d out of..." */ libc.VaList(bp+24, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 @@ -52722,7 +53228,7 @@ __12: if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+6367 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+6382 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -52740,7 +53246,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+6391 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+6406 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) __15: ; *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 112 /* &info */)).FnKey @@ -52781,7 +53287,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+6415 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+6430 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -52879,7 +53385,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+6440 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) + ts+6455 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) goto __30 goto __32 __31: @@ -52899,7 +53405,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+6477, /* "Fragmentation of..." */ + ts+6492, /* "Fragmentation of..." */ libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -53028,7 +53534,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 6529 /* "Main freelist: " */ + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 6544 /* "Main freelist: " */ checkList(tls, bp+32 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) @@ -53066,7 +53572,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+6545, /* "max rootpage (%d..." */ + ts+6560, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -53076,7 +53582,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+6590 /* "incremental_vacu..." */, 0) + ts+6605 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -53126,13 +53632,13 @@ __23: if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6645 /* "Page %d is never..." */, libc.VaList(bp+16, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6660 /* "Page %d is never..." */, libc.VaList(bp+16, i)) __26: ; if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6667 /* "Pointer map page..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+6682 /* "Pointer map page..." */, libc.VaList(bp+24, i)) __27: ; goto __24 @@ -53451,7 +53957,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = pDb if Xsqlite3OpenTempDatabase(tls, bp+16 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+936 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+951 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg) @@ -53462,7 +53968,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+6701 /* "unknown database..." */, libc.VaList(bp+8, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+6716 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -53483,7 +53989,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76336:12: */ // message in database handle db. func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:76348:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { - Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+6721 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+6736 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -53510,7 +54016,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+6752 /* "source and desti..." */, 0) + pDestDb, SQLITE_ERROR, ts+6767 /* "source and desti..." */, 0) p = uintptr(0) } else { // Allocate space for a new sqlite3_backup object... @@ -54124,7 +54630,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 8 /* x */)), zBuf) } else { Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+6792, /* "%!.15g" */ + Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+6807, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -54765,7 +55271,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -54971,6 +55477,8 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 (*Mem)(unsafe.Pointer(pMem)).Fflags = flags if enc != 0 { (*Mem)(unsafe.Pointer(pMem)).Fenc = enc + } else if (*Mem)(unsafe.Pointer(pMem)).Fdb == uintptr(0) { + (*Mem)(unsafe.Pointer(pMem)).Fenc = U8(SQLITE_UTF8) } else { (*Mem)(unsafe.Pointer(pMem)).Fenc = (*Sqlite3)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fdb)).Fenc @@ -55276,7 +55784,7 @@ __9: goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) + Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: Xsqlite3ValueApplyAffinity(tls, pVal, aff, uint8(SQLITE_UTF8)) @@ -55348,7 +55856,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 zVal = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = uintptr(0) negInt = 1 - zNeg = ts + 900 /* "" */ + zNeg = ts + 915 /* "" */ rc = SQLITE_OK __1: @@ -55397,7 +55905,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 6799 /* "-" */ + zNeg = ts + 6814 /* "-" */ __6: ; @@ -55417,7 +55925,7 @@ __9: Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: - zVal = Xsqlite3MPrintf(tls, db, ts+6801 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + zVal = Xsqlite3MPrintf(tls, db, ts+6816 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) if !(zVal == uintptr(0)) { goto __12 } @@ -56931,8 +57439,8 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint var seenCom int32 = 0 var c int8 zSynopsis = libc.AssignAddUintptr(&zOpName, (uintptr(nOpName + 1))) - if libc.Xstrncmp(tls, zSynopsis, ts+6806 /* "IF " */, uint64(3)) == 0 { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+104 /* &zAlt[0] */, ts+6810 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) + if libc.Xstrncmp(tls, zSynopsis, ts+6821 /* "IF " */, uint64(3)) == 0 { + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+104 /* &zAlt[0] */, ts+6825 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) zSynopsis = bp + 104 /* &zAlt[0] */ } for ii = 0; (int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zSynopsis + uintptr(ii)))))) != 0; ii++ { @@ -56946,24 +57454,24 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } else { var v1 int32 = translateP(tls, c, pOp) var v2 int32 - if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6824 /* "@P" */, uint64(2)) == 0 { + if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6839 /* "@P" */, uint64(2)) == 0 { ii = ii + (3) v2 = translateP(tls, *(*int8)(unsafe.Pointer(zSynopsis + uintptr(ii))), pOp) - if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6827 /* "+1" */, uint64(2)) == 0 { + if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6842 /* "+1" */, uint64(2)) == 0 { ii = ii + (2) v2++ } if v2 < 2 { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6830 /* "%d" */, libc.VaList(bp+8, v1)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6845 /* "%d" */, libc.VaList(bp+8, v1)) } else { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6833 /* "%d..%d" */, libc.VaList(bp+16, v1, ((v1+v2)-1))) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6848 /* "%d..%d" */, libc.VaList(bp+16, v1, ((v1+v2)-1))) } - } else if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6840 /* "@NP" */, uint64(3)) == 0 { + } else if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6855 /* "@NP" */, uint64(3)) == 0 { var pCtx uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) if (int32((*Op)(unsafe.Pointer(pOp)).Fp4type) != (-16)) || (int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) == 1) { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6830 /* "%d" */, libc.VaList(bp+32, v1)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6845 /* "%d" */, libc.VaList(bp+32, v1)) } else if int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) > 1 { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6833 /* "%d..%d" */, libc.VaList(bp+40, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6848 /* "%d..%d" */, libc.VaList(bp+40, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) } else if int32((*StrAccum)(unsafe.Pointer(bp+72 /* &x */)).FaccError) == 0 { *(*U32)(unsafe.Pointer(bp + 72 /* &x */ + 24 /* &.nChar */)) -= (U32(2)) @@ -56971,8 +57479,8 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } ii = ii + (3) } else { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6830 /* "%d" */, libc.VaList(bp+56, v1)) - if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6844 /* "..P3" */, uint64(4)) == 0) && ((*Op)(unsafe.Pointer(pOp)).Fp3 == 0) { + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6845 /* "%d" */, libc.VaList(bp+56, v1)) + if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6859 /* "..P3" */, uint64(4)) == 0) && ((*Op)(unsafe.Pointer(pOp)).Fp3 == 0) { ii = ii + (4) } } @@ -56982,7 +57490,7 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } } if !(seenCom != 0) && ((*Op)(unsafe.Pointer(pOp)).FzComment != 0) { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6849 /* "; %s" */, libc.VaList(bp+64, (*Op)(unsafe.Pointer(pOp)).FzComment)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6864 /* "; %s" */, libc.VaList(bp+64, (*Op)(unsafe.Pointer(pOp)).FzComment)) } } else if (*Op)(unsafe.Pointer(pOp)).FzComment != 0 { Xsqlite3_str_appendall(tls, bp+72 /* &x */, (*Op)(unsafe.Pointer(pOp)).FzComment) @@ -57009,34 +57517,34 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6854 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6869 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 32 /* &.aColl */) + uintptr(j)*8)) var zColl uintptr if pColl != 0 { zColl = (*CollSeq)(unsafe.Pointer(pColl)).FzName } else { - zColl = ts + 900 /* "" */ + zColl = ts + 915 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+463 /* "BINARY" */) == 0 { - zColl = ts + 6859 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+478 /* "BINARY" */) == 0 { + zColl = ts + 6874 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6861, /* ",%s%s%s" */ + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6876, /* ",%s%s%s" */ libc.VaList(bp+8, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { - return ts + 6799 /* "-" */ + return ts + 6814 /* "-" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 6869 /* "N." */ + return ts + 6884 /* "N." */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6887 /* ")" */, 1) break } @@ -57044,7 +57552,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6874 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6889 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -57052,32 +57560,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6883 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6898 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6883 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6898 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6890 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6905 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6830 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6845 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+683 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+698 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -57087,14 +57595,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6890 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6905 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+683 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+698 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { - zP4 = ts + 901 /* "NULL" */ + zP4 = ts + 916 /* "NULL" */ } else { - zP4 = ts + 6895 /* "(blob)" */ + zP4 = ts + 6910 /* "(blob)" */ } break @@ -57102,7 +57610,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6902 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6917 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -57113,20 +57621,20 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6910 /* "%c%u" */, libc.VaList(bp+128, func() int32 { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6925 /* "%c%u" */, libc.VaList(bp+128, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6915 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6930 /* "]" */, 1) break } case -4: { - zP4 = ts + 6917 /* "program" */ + zP4 = ts + 6932 /* "program" */ break } @@ -57158,7 +57666,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } -var encnames = [4]uintptr{ts + 6925 /* "?" */, ts + 6927 /* "8" */, ts + 6929 /* "16LE" */, ts + 6934 /* "16BE" */} /* sqlite3.c:80570:25 */ +var encnames = [4]uintptr{ts + 6940 /* "?" */, ts + 6942 /* "8" */, ts + 6944 /* "16LE" */, ts + 6949 /* "16BE" */} /* sqlite3.c:80570:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -57703,8 +58211,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 6939 /* "addr" */, ts + 6944 /* "opcode" */, ts + 6951 /* "p1" */, ts + 6954 /* "p2" */, ts + 6957 /* "p3" */, ts + 6960 /* "p4" */, ts + 6963 /* "p5" */, ts + 6966, /* "comment" */ - ts + 6974 /* "id" */, ts + 6977 /* "parent" */, ts + 6984 /* "notused" */, ts + 6992, /* "detail" */ + ts + 6954 /* "addr" */, ts + 6959 /* "opcode" */, ts + 6966 /* "p1" */, ts + 6969 /* "p2" */, ts + 6972 /* "p3" */, ts + 6975 /* "p4" */, ts + 6978 /* "p5" */, ts + 6981, /* "comment" */ + ts + 6989 /* "id" */, ts + 6992 /* "parent" */, ts + 6999 /* "notused" */, ts + 7007, /* "detail" */ } /* sqlite3.c:81298:23 */ // Close a VDBE cursor and release all the resources that cursor @@ -57952,7 +58460,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Select a super-journal file name nMainFile = Xsqlite3Strlen30(tls, zMainFile) - zSuper = Xsqlite3MPrintf(tls, db, ts+6999 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) + zSuper = Xsqlite3MPrintf(tls, db, ts+7014 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) if zSuper == uintptr(0) { return SQLITE_NOMEM } @@ -57962,16 +58470,16 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+7011 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+7026 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+7025 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+7040 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) } } retryCount++ Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &iRandom */) - Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+7040, /* "-mj%06X9%02X" */ + Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+7055, /* "-mj%06X9%02X" */ libc.VaList(bp+40, ((*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. @@ -58166,7 +58674,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq (!(deferred != 0) && ((*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0))) { (*Vdbe)(unsafe.Pointer(p)).Frc = (SQLITE_CONSTRAINT | (int32(3) << 8)) (*Vdbe)(unsafe.Pointer(p)).FerrorAction = U8(OE_Abort) - Xsqlite3VdbeError(tls, p, ts+7053 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7068 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -58448,7 +58956,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: // called), set the database error in this case as well. Xsqlite3ErrorWithMsg(tls, db, (*Vdbe)(unsafe.Pointer(p)).Frc, func() uintptr { if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -60000,13 +60508,13 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023 var zContext uintptr var zMsg uintptr if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_IsCheck) != 0 { - zContext = ts + 7083 /* "a CHECK constrai..." */ + zContext = ts + 7098 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 7102 /* "a generated colu..." */ + zContext = ts + 7117 /* "a generated colu..." */ } else { - zContext = ts + 7121 /* "an index" */ + zContext = ts + 7136 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+7130, /* "non-deterministi..." */ + zMsg = Xsqlite3_mprintf(tls, ts+7145, /* "non-deterministi..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -60137,7 +60645,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84185:1 // invalid). Return false if it is ok. func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+7166 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+7181 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -60147,7 +60655,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84204:12: */ if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+7211 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+7226 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -60617,7 +61125,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:84708:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG - Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+7251 /* "string or blob t..." */, int64(-1), + Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+7266 /* "string or blob t..." */, int64(-1), uint8(SQLITE_UTF8), uintptr(0)) } @@ -61368,7 +61876,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12 Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+7274 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) + ts+7289 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) return Xsqlite3MisuseError(tls, 85498) } if (i < 1) || (i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar)) { @@ -62145,7 +62653,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7314 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7329 /* "-- " */, 3) Xsqlite3_str_append(tls, bp+48 /* &out */, zStart, (int32((int64(zRawSql) - int64(zStart)) / 1))) } @@ -62183,11 +62691,11 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 184 /* idx */))-1))*56) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+901 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+916 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6890 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6905 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6792 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+6807 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc @@ -62202,21 +62710,21 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = bp + 192 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7318 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7333 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { Xsqlite3VdbeMemRelease(tls, bp+192 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7325 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7340 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7338 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7353 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7341 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+7356 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7346 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7361 /* "'" */, 1) } } } @@ -65938,19 +66446,19 @@ __192: goto __195 } - Xsqlite3VdbeError(tls, p, ts+7348 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) + Xsqlite3VdbeError(tls, p, ts+7363 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __197 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+7369 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+7384 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __197: ; goto __196 __195: - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __196: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+7376 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+7391 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __194: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -68501,7 +69009,7 @@ __76: } // A new savepoint cannot be created if there are active write // statements (i.e. open read/write incremental blob handles). - Xsqlite3VdbeError(tls, p, ts+7400 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7415 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __450 __449: @@ -68574,7 +69082,7 @@ __457: if !(!(pSavepoint != 0)) { goto __458 } - Xsqlite3VdbeError(tls, p, ts+7451 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) + Xsqlite3VdbeError(tls, p, ts+7466 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) rc = SQLITE_ERROR goto __459 __458: @@ -68584,7 +69092,7 @@ __458: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+7473 /* "cannot release s..." */, 0) + ts+7488 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __461 __460: @@ -68789,7 +69297,7 @@ __490: // If this instruction implements a COMMIT and other VMs are writing // return an error indicating that the other VMs must complete first. Xsqlite3VdbeError(tls, p, - ts+7527 /* "cannot commit tr..." */, 0) + ts+7542 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __493 @@ -68832,13 +69340,13 @@ __488: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 7582 /* "cannot start a t..." */ + return ts + 7597 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 7630 /* "cannot rollback ..." */ + return ts + 7645 /* "cannot rollback ..." */ } - return ts + 7673 /* "cannot commit - ..." */ + return ts + 7688 /* "cannot commit - ..." */ }() }(), 0) @@ -68956,7 +69464,7 @@ __500: // version is checked to ensure that the schema has not changed since the // SQL statement was prepared. Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+7714 /* "database schema ..." */) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+7729 /* "database schema ..." */) // If the schema-cookie from the database file matches the cookie // stored with the in-memory representation of the schema, do // not reload the schema from the database file. @@ -69338,7 +69846,7 @@ __86: // Only used when number of columns is zero (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fn = 0 - (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 900 /* "" */ + (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 915 /* "" */ __526: ; pCx1 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -71480,7 +71988,7 @@ __691: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __694 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+7742 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+7757 /* "index corruption" */) goto abort_due_to_error __694: ; @@ -71913,14 +72421,14 @@ __139: goto __723 __722: - zSchema = ts + 7759 /* "sqlite_master" */ + zSchema = ts + 7774 /* "sqlite_master" */ (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FiDb = iDb3 (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FpzErrMsg = (p + 168 /* &.zErrMsg */) (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmInitFlags = U32(0) (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+7773, /* "SELECT*FROM\"%w\"...." */ + ts+7788, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp+64, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __724 @@ -72253,7 +72761,7 @@ __744: goto __749 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+7816 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7831 /* "too many levels ..." */, 0) goto abort_due_to_error __749: ; @@ -72698,7 +73206,7 @@ __784: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __786 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __786: ; @@ -72776,7 +73284,7 @@ __791: if !(rc != 0) { goto __792 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __792: ; @@ -72891,12 +73399,12 @@ __801: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+7853, /* "cannot change %s..." */ + ts+7868, /* "cannot change %s..." */ libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 7905 /* "into" */ + return ts + 7920 /* "into" */ } - return ts + 7910 /* "out of" */ + return ts + 7925 /* "out of" */ }())) goto abort_due_to_error goto __804 @@ -73099,7 +73607,7 @@ __169: goto __819 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+7917 /* "database table i..." */, libc.VaList(bp+112, z1)) + Xsqlite3VdbeError(tls, p, ts+7932 /* "database table i..." */, libc.VaList(bp+112, z1)) __819: ; goto abort_due_to_error @@ -73343,7 +73851,7 @@ __836: if !((*Sqlite3_context)(unsafe.Pointer(bp+872 /* &sContext */)).FisError > 0) { goto __837 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) rc = (*Sqlite3_context)(unsafe.Pointer(bp + 872 /* &sContext */)).FisError __837: ; @@ -73676,7 +74184,7 @@ __860: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __865 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __865: ; @@ -73767,7 +74275,7 @@ __870: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __872 } - z3 = Xsqlite3MPrintf(tls, db, ts+7946 /* "-- %s" */, libc.VaList(bp+136, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+7961 /* "-- %s" */, libc.VaList(bp+136, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __873 @@ -73870,13 +74378,13 @@ __881: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __883 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) __883: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) - Xsqlite3_log(tls, rc, ts+7952, /* "statement aborts..." */ + Xsqlite3_log(tls, rc, ts+7967, /* "statement aborts..." */ libc.VaList(bp+152, (int32((int64(pOp)-int64(aOp))/32)), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { @@ -73921,14 +74429,14 @@ __887: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+7251 /* "string or blob t..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7266 /* "string or blob t..." */, 0) rc = SQLITE_TOOBIG goto abort_due_to_error // Jump to here if a malloc() fails. no_mem: Xsqlite3OomFault(tls, db) - Xsqlite3VdbeError(tls, p, ts+7984 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+7999 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -73941,8 +74449,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 7998 /* "NOT NULL" */, ts + 8007 /* "UNIQUE" */, ts + 8014, /* "CHECK" */ - ts + 8020 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ +var azType = [4]uintptr{ts + 8013 /* "NOT NULL" */, ts + 8022 /* "UNIQUE" */, ts + 8029, /* "CHECK" */ + ts + 8035 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:88844:32 */ var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:88847:32 */ var aFlag1 = [2]U16{U16(MEM_Blob), (U16(MEM_Str | MEM_Term))} /* sqlite3.c:89315:24 */ @@ -74049,16 +74557,16 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } if type1 < U32(12) { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8032, /* "cannot open valu..." */ + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8047, /* "cannot open valu..." */ libc.VaList(bp, func() uintptr { if type1 == U32(0) { - return ts + 8061 /* "null" */ + return ts + 8076 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 8066 /* "real" */ + return ts + 8081 /* "real" */ } - return ts + 8071 /* "integer" */ + return ts + 8086 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -74078,10 +74586,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8079 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+8094 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+936 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -74144,21 +74652,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8099 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8114 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8129 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8144 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8165 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8180 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) __7: ; if !(!(pTab != 0)) { @@ -74203,7 +74711,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8186 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8201 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -74232,7 +74740,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+64 /* &.aCol */)+uintptr(j)*16)).FiFrom == iCol) { goto __23 } - zFault = ts + 8207 /* "foreign key" */ + zFault = ts + 8222 /* "foreign key" */ __23: ; goto __21 @@ -74265,7 +74773,7 @@ __27: if !((int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == iCol) || (int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == (-2))) { goto __30 } - zFault = ts + 8219 /* "indexed" */ + zFault = ts + 8234 /* "indexed" */ __30: ; goto __28 @@ -74286,7 +74794,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8227 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8242 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -74395,7 +74903,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)))) @@ -74560,7 +75068,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) @@ -77185,11 +77693,11 @@ func bytecodevtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, ar *(*[2]uintptr)(unsafe.Pointer(bp /* azSchema */)) = [2]uintptr{ // bytecode() schema - ts + 8261, /* "CREATE TABLE x(a..." */ + ts + 8276, /* "CREATE TABLE x(a..." */ // Tables_used() schema - ts + 8373, /* "CREATE TABLE x(t..." */ + ts + 8388, /* "CREATE TABLE x(t..." */ } rc = Xsqlite3_declare_vtab(tls, db, *(*uintptr)(unsafe.Pointer(bp /* &azSchema[0] */ + uintptr(isTabUsed)*8))) @@ -77313,7 +77821,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 var pTab uintptr = (*HashElem)(unsafe.Pointer(k)).Fdata if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) && ((*Table)(unsafe.Pointer(pTab)).Ftnum == iRoot) { (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzName = (*Table)(unsafe.Pointer(pTab)).FzName - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8454 /* "table" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8469 /* "table" */ break } } @@ -77322,7 +77830,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 var pIdx uintptr = (*HashElem)(unsafe.Pointer(k)).Fdata if (*Index)(unsafe.Pointer(pIdx)).Ftnum == iRoot { (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzName = (*Index)(unsafe.Pointer(pIdx)).FzName - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8460 /* "index" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8475 /* "index" */ } } } @@ -77372,7 +77880,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 } else if *(*uintptr)(unsafe.Pointer(aOp + 16 /* &.p4 */)) != uintptr(0) { Xsqlite3_result_text(tls, ctx, (*(*uintptr)(unsafe.Pointer(aOp + 16 /* &.p4 */)) + uintptr(3)), -1, uintptr(0)) } else { - Xsqlite3_result_text(tls, ctx, ts+8466 /* "(FK)" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+8481 /* "(FK)" */, 4, uintptr(0)) } break @@ -77427,16 +77935,16 @@ func bytecodevtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FneedFinalize = 1 } } else { - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+8471 /* "stmt-pointer" */) + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+8486 /* "stmt-pointer" */) } if (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt == uintptr(0) { (*Bytecodevtab)(unsafe.Pointer(pVTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+8484, /* "argument to %s()..." */ + ts+8499, /* "argument to %s()..." */ libc.VaList(bp, func() uintptr { if (*Bytecodevtab)(unsafe.Pointer(pVTab)).FbTablesUsed != 0 { - return ts + 8530 /* "tables_used" */ + return ts + 8545 /* "tables_used" */ } - return ts + 8542 /* "bytecode" */ + return ts + 8557 /* "bytecode" */ }())) rc = SQLITE_ERROR } else { @@ -77515,9 +78023,9 @@ func Xsqlite3VdbeBytecodeVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3. *(*uintptr)(unsafe.Pointer(bp)) = db var rc int32 - rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8542 /* "bytecode" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), uintptr(0)) + rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8557 /* "bytecode" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8530 /* "tables_used" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), bp /* &db */) + rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+8545 /* "tables_used" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), bp /* &db */) } return rc } @@ -78498,7 +79006,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+8551 /* "main" */, zDb) == 0)) { + if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+8566 /* "main" */, zDb) == 0)) { goto __8 } // This branch is taken when the main database has been renamed @@ -78701,14 +79209,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8556 /* "new" */, zTab) == 0)) { + if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8571 /* "new" */, zTab) == 0)) { goto __41 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 1 pTab = (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab goto __42 __41: - if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8560 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8575 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -78725,7 +79233,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+8564 /* "excluded" */, zTab) == 0)) { + if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+8579 /* "excluded" */, zTab) == 0)) { goto __45 } pTab = (*SrcItem)(unsafe.Pointer(((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8 /* &.a */))).FpTab @@ -78902,7 +79410,7 @@ __66: if !((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0) && (((*Expr)(unsafe.Pointer((pOrig))).Fflags & (U32(EP_Agg))) != U32(0))) { goto __70 } - Xsqlite3ErrorMsg(tls, pParse, ts+8573 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+8588 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -78910,14 +79418,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+8604 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+8619 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) return WRC_Abort __71: ; if !(Xsqlite3ExprVectorSize(tls, pOrig) != 1) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -78993,7 +79501,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+8659 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) + ts+8674 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)) = uintptr(0) return WRC_Prune @@ -79014,23 +79522,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 8694 /* "no such column" */ + zErr = ts + 8709 /* "no such column" */ } else { - zErr = ts + 8709 /* "ambiguous column..." */ + zErr = ts + 8724 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+8731 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8746 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+8744 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8759 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+8754 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8769 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -79164,15 +79672,15 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp bp := tls.Alloc(16) defer tls.Free(16) - var zIn uintptr = ts + 8761 /* "partial index WH..." */ + var zIn uintptr = ts + 8776 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 8789 /* "index expression..." */ + zIn = ts + 8804 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 8807 /* "CHECK constraint..." */ + zIn = ts + 8822 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 8825 /* "generated column..." */ + zIn = ts + 8840 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+8843 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) + Xsqlite3ErrorMsg(tls, pParse, ts+8858 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) if pExpr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } @@ -79280,10 +79788,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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 /* &.u */)) = ts + 8863 /* "true" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8878 /* "true" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsTrue)) } else { - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8868 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8883 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) } (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) @@ -79336,7 +79844,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (NC_IdxExpr | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+8874 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+8889 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -79403,7 +79911,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+8891 /* "second argument ..." */, 0) + ts+8906 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -79428,7 +79936,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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+8962, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+8977, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -79452,7 +79960,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all // all this. if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & ((NC_IdxExpr | NC_PartIdx) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+8997 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+9012 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -79481,30 +79989,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+9025 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) + ts+9040 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) (*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 + 9069 /* "window" */ + zType = ts + 9084 /* "window" */ } else { - zType = ts + 9076 /* "aggregate" */ + zType = ts + 9091 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+9086 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+9101 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) (*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+9115 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+9130 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+9138, /* "wrong number of ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9153, /* "wrong number of ..." */ libc.VaList(bp+64, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, - ts+9183, /* "FILTER may not b..." */ + ts+9198, /* "FILTER may not b..." */ libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -79579,7 +80087,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+9232 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+9247 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) @@ -79596,7 +80104,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s { if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+9243 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+9258 /* "parameters" */, pExpr) } break @@ -79656,7 +80164,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) } break @@ -79761,7 +80269,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+9254 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) + ts+9269 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) } // Analyze the ORDER BY clause in a compound SELECT statement. Modify @@ -79793,7 +80301,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 + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+9310 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9325 /* "too many terms i..." */, 0) return 1 } for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { @@ -79828,7 +80336,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 } if Xsqlite3ExprIsInteger(tls, pE, bp+8 /* &iCol */) != 0 { if (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { - resolveOutOfRangeError(tls, pParse, ts+9344 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+9359 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -79899,7 +80407,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { if (int32(*(*uint8)(unsafe.Pointer(((pOrderBy + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.done */)) & 0x4 >> 2)) == 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+9350 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+9365 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -79927,7 +80435,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+9411 /* "too many terms i..." */, libc.VaList(bp, zType)) + Xsqlite3ErrorMsg(tls, pParse, ts+9426 /* "too many terms i..." */, libc.VaList(bp, zType)) return 1 } pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList @@ -80216,7 +80724,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp /* &sNC */ + 40 /* &.ncFlags */)) |= (NC_UEList) if (*Select)(unsafe.Pointer(p)).FpHaving != 0 { if !(pGroupBy != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+9442 /* "a GROUP BY claus..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9457 /* "a GROUP BY claus..." */, 0) return WRC_Abort } if Xsqlite3ResolveExprNames(tls, bp /* &sNC */, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -80273,7 +80781,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // resolve those symbols on the incorrect ORDER BY for consistency. if (((*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0)) && (isCompound <= nCompound)) && // Defer right-most ORDER BY of a compound - (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9344 /* "ORDER" */) != 0) { + (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9359 /* "ORDER" */) != 0) { return WRC_Abort } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -80286,7 +80794,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql if pGroupBy != 0 { var pItem uintptr - if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+9486 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { + if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+9501 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { return WRC_Abort } i = 0 @@ -80298,7 +80806,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql { if ((*Expr)(unsafe.Pointer(((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr))).Fflags & (U32(EP_Agg))) != U32(0) { Xsqlite3ErrorMsg(tls, pParse, - ts+9492 /* "aggregate functi..." */, 0) + ts+9507 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -81068,7 +81576,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) return } @@ -81144,7 +81652,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 3*4)) if nHeight > mxHeight { Xsqlite3ErrorMsg(tls, pParse, - ts+9551 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+9566 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -81385,7 +81893,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+9599 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+9614 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -81407,7 +81915,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u return uintptr(0) } if (pList != 0) && ((*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 6*4))) { - Xsqlite3ErrorMsg(tls, pParse, ts+9601 /* "too many argumen..." */, libc.VaList(bp, pToken)) + Xsqlite3ErrorMsg(tls, pParse, ts+9616 /* "too many argumen..." */, libc.VaList(bp, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32 /* &.x */)) = pList *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_HasFunc)) @@ -81441,7 +81949,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // is tagged with SQLITE_FUNC_UNSAFE) and // SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning // that the schema is possibly tainted). - Xsqlite3ErrorMsg(tls, pParse, ts+9635 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+9650 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) } } } @@ -81494,7 +82002,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+9654, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9669, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) return } @@ -81521,7 +82029,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*Expr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+9697 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9712 /* "too many SQL var..." */, 0) } } @@ -82190,7 +82698,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+9720, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9735, /* "%d columns assig..." */ libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error __3: @@ -82325,7 +82833,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 2*4)) if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx) { - Xsqlite3ErrorMsg(tls, pParse, ts+9750 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+9765 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -82380,10 +82888,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 { /* sqlite3.c:103208:20: */ - if Xsqlite3StrICmp(tls, zIn, ts+8863 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+8878 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+8868 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+8883 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -82828,13 +83336,13 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 // Return TRUE if the given string is a row-id column name. func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:103650:20: */ - if Xsqlite3StrICmp(tls, z, ts+9773 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9788 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+9781 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9796 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+9787 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9802 /* "OID" */) == 0 { return 1 } return 0 @@ -82912,7 +83420,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iCur, 0, regHasNull) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_TYPEOFARG)) - Xsqlite3VdbeComment(tls, v, ts+9791 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) + Xsqlite3VdbeComment(tls, v, ts+9806 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) Xsqlite3VdbeJumpHere(tls, v, addr1) } @@ -83065,7 +83573,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, Xsqlite3OpenTable(tls, pParse, iTab, iDb, pTab, OP_OpenRead) eType = IN_INDEX_ROWID - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9810 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9825 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeJumpHere(tls, v, iAddr) } else { var pIdx uintptr // Iterator variable @@ -83156,10 +83664,10 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9857 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9872 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) eType = (IN_INDEX_INDEX_ASC + int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder)))) @@ -83263,7 +83771,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec defer tls.Free(16) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { - var zFmt uintptr = ts + 9888 /* "sub-select retur..." */ + var zFmt uintptr = ts + 9903 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -83281,7 +83789,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_xIsSelect)) != 0 { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FpEList)).FnExpr, 1) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) } } @@ -83334,7 +83842,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9932 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9947 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) @@ -83348,7 +83856,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) - Xsqlite3VdbeComment(tls, v, ts+9955 /* "return address" */, 0) + Xsqlite3VdbeComment(tls, v, ts+9970 /* "return address" */, 0) addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) } @@ -83362,9 +83870,9 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 (*Expr)(unsafe.Pointer(pExpr)).FiTable = iTab addr = Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, (*Expr)(unsafe.Pointer(pExpr)).FiTable, nVal) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeComment(tls, v, ts+9970 /* "Result of SELECT..." */, libc.VaList(bp+8, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) + Xsqlite3VdbeComment(tls, v, ts+9985 /* "Result of SELECT..." */, libc.VaList(bp+8, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } else { - Xsqlite3VdbeComment(tls, v, ts+9990 /* "RHS of IN operat..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+10005 /* "RHS of IN operat..." */, 0) } pKeyInfo = Xsqlite3KeyInfoAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, nVal, 1) @@ -83376,11 +83884,11 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10009 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10024 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { if addrOnce != 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 10028 /* "CORRELATED " */ + return ts + 10043 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSelect)).FselId)) // If the LHS and RHS of the IN operator do not match, that // error will have been caught long before we reach this point. @@ -83526,7 +84034,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // If this routine has already been coded, then invoke it as a // subroutine. if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+10040 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+10055 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) return (*Expr)(unsafe.Pointer(pExpr)).FiTable @@ -83536,7 +84044,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_Subrtn)) *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) - Xsqlite3VdbeComment(tls, v, ts+9955 /* "return address" */, 0) + Xsqlite3VdbeComment(tls, v, ts+9970 /* "return address" */, 0) // The evaluation of the EXISTS/SELECT must be repeated every time it // is encountered if any of the following is true: @@ -83560,11 +84068,11 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10058 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+10073 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 10028 /* "CORRELATED " */ + return ts + 10043 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSel)).FselId)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { nReg = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpEList)).FnExpr @@ -83578,17 +84086,17 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSDParm (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FnSdst = nReg Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm, (((*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm + nReg) - 1)) - Xsqlite3VdbeComment(tls, v, ts+10079 /* "Init subquery re..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+10094 /* "Init subquery re..." */, 0) } else { (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FeDest = U8(SRT_Exists) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm) - Xsqlite3VdbeComment(tls, v, ts+10100 /* "Init EXISTS resu..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+10115 /* "Init EXISTS resu..." */, 0) } if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 { // The subquery already has a limit. If the pre-existing limit is X // then make the new limit X<>0 so that the new limit is either 1 or 0 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+9599 /* "0" */) + pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+9614 /* "0" */) if pLimit != 0 { (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, @@ -83598,7 +84106,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { // If there is no pre-existing limit add a limit of 1 - pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+10119 /* "1" */) + pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+10134 /* "1" */) (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -83733,7 +84241,7 @@ __2: // the RHS has not yet been coded. v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // OOM detected prior to this routine - Xsqlite3VdbeNoopComment(tls, v, ts+10121 /* "begin IN expr" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+10136 /* "begin IN expr" */, 0) eType = Xsqlite3FindInIndex(tls, pParse, pExpr, (uint32(IN_INDEX_MEMBERSHIP | IN_INDEX_NOOP_OK)), func() uintptr { @@ -84038,7 +84546,7 @@ sqlite3ExprCodeIN_finished: Xsqlite3ReleaseTempReg(tls, pParse, rLhs) __40: ; - Xsqlite3VdbeComment(tls, v, ts+10135 /* "end IN expr" */, 0) + Xsqlite3VdbeComment(tls, v, ts+10150 /* "end IN expr" */, 0) sqlite3ExprCodeIN_oom_error: Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiMap) Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, zAff) @@ -84090,12 +84598,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM c = Xsqlite3DecOrHexToI64(tls, z, bp+16 /* &value */) if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 16 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { - if Xsqlite3_strnicmp(tls, z, ts+10147 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10150 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { + if Xsqlite3_strnicmp(tls, z, ts+10162 /* "0x" */, 2) == 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+10165 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { - return ts + 6799 /* "-" */ + return ts + 6814 /* "-" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -84170,7 +84678,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT } else if (int32((*Column)(unsafe.Pointer((libc.AssignUintptr(&pCol, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32))))).FcolFlags) & COLFLAG_VIRTUAL) != 0 { var pParse uintptr = Xsqlite3VdbeParser(tls, v) if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_BUSY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10176 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+10191 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else { var savedSelfTab int32 = (*Parse)(unsafe.Pointer(pParse)).FiSelfTab *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) @@ -84661,10 +85169,10 @@ __56: if !(int32((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn) < 0) { goto __59 } - Xsqlite3VdbeComment(tls, v, ts+10206 /* "%s.rowid" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10221 /* "%s.rowid" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto __60 __59: - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).FzName)) if !(int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).Faffinity) == SQLITE_AFF_REAL) { goto __61 } @@ -84729,7 +85237,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+10176, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10191, /* "generated column..." */ libc.VaList(bp+24, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -84981,7 +85489,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+10221 /* "misuse of aggreg..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+10236 /* "misuse of aggreg..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*32)).FiMem @@ -85023,7 +85531,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+10247 /* "unknown function..." */, libc.VaList(bp+40, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+10262 /* "unknown function..." */, libc.VaList(bp+40, zId)) goto __3 __91: ; @@ -85217,7 +85725,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+9720, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9735, /* "%d columns assig..." */ libc.VaList(bp+48, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -85284,14 +85792,14 @@ __51: int32(Xsqlite3TableColumnToStorage(tls, pTab2, int16(iCol1)))) Xsqlite3VdbeAddOp2(tls, v, OP_Param, p1, target) - Xsqlite3VdbeComment(tls, v, ts+10270 /* "r[%d]=%s.%s" */, libc.VaList(bp+64, target, func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+10285 /* "r[%d]=%s.%s" */, libc.VaList(bp+64, target, func() uintptr { if (*Expr)(unsafe.Pointer(pExpr)).FiTable != 0 { - return ts + 8556 /* "new" */ + return ts + 8571 /* "new" */ } - return ts + 8560 /* "old" */ + return ts + 8575 /* "old" */ }(), func() uintptr { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { - return ts + 10282 /* "rowid" */ + return ts + 10297 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)))).FaCol + uintptr(iCol1)*32)).FzName }())) @@ -85310,7 +85818,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+8641 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) goto __3 // TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions @@ -85434,7 +85942,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+10288 /* "RAISE() may only..." */, 0) + ts+10303 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -85473,7 +85981,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 10338 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 10353 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -87310,11 +87818,11 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq bp := tls.Alloc(8) defer tls.Free(8) - if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10346 /* "sqlite_" */, 7)) || + if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10361 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || ((((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Shadow)) != U32(0)) && (Xsqlite3ReadOnlyShadowTables(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+10354 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+10369 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -87332,14 +87840,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+10382, /* "SELECT 1 FROM \"%..." */ + ts+10397, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+10557, /* "SELECT 1 FROM te..." */ + ts+10572, /* "SELECT 1 FROM te..." */ libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -87355,11 +87863,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+10731 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) + ts+10746 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+10878 /* "UPDATE temp.sqli..." */, 0) + ts+10893 /* "UPDATE temp.sqli..." */, 0) } } @@ -87433,7 +87941,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+11029 /* "there is already..." */, libc.VaList(bp, zName)) + ts+11044 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -87446,7 +87954,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8454 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8469 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -87456,7 +87964,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+11088 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+11103 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -87509,24 +88017,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+11115 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+11130 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, - ts+11299, /* "UPDATE %Q.sqlite..." */ + ts+11314, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+64, zDb, zName, zName, zName, nTabName, zTabName)) // If the sqlite_sequence table exists in this database, then update // it with the new table name. - if !(Xsqlite3FindTable(tls, db, ts+11604 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+11619 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+11620, /* "UPDATE \"%w\".sqli..." */ + ts+11635, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -87539,7 +88047,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+11678 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+11693 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -87557,7 +88065,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+11943 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+11958 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -87572,7 +88080,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, - ts+11956, /* "SELECT raise(ABO..." */ + ts+11971, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -87620,12 +88128,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // If there is a NOT NULL constraint, then the default value for the // column must not be NULL. if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11994 /* "Cannot add a PRI..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12009 /* "Cannot add a PRI..." */, 0) return } if (*Table)(unsafe.Pointer(pNew)).FpIndex != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+12026 /* "Cannot add a UNI..." */, 0) + ts+12041 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -87638,11 +88146,11 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if ((((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ForeignKeys)) != 0) && ((*Table)(unsafe.Pointer(pNew)).FpFKey != 0)) && (pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+12053 /* "Cannot add a REF..." */) + ts+12068 /* "Cannot add a REF..." */) } if ((*Column)(unsafe.Pointer(pCol)).FnotNull != 0) && !(pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+12112 /* "Cannot add a NOT..." */) + ts+12127 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -87658,12 +88166,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+12165 /* "Cannot add a col..." */) + ts+12180 /* "Cannot add a col..." */) } Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { - sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+12211 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+12226 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -87679,7 +88187,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+12238, /* "UPDATE \"%w\".sqli..." */ + ts+12253, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp, zDb, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zCol, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zTab)) Xsqlite3DbFree(tls, db, zCol) @@ -87750,7 +88258,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+12384 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12399 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -87759,7 +88267,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+12418 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12433 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -87794,7 +88302,7 @@ __6: nAlloc = ((((int32((*Table)(unsafe.Pointer(pNew)).FnCol) - 1) / 8) * 8) + 8) (*Table)(unsafe.Pointer(pNew)).FaCol = Xsqlite3DbMallocZero(tls, db, (uint64(uint64(unsafe.Sizeof(Column{})) * uint64(nAlloc)))) - (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+12448 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+12463 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(!(int32((*Table)(unsafe.Pointer(pNew)).FaCol) != 0) || !(int32((*Table)(unsafe.Pointer(pNew)).FzName) != 0)) { goto __7 } @@ -87841,18 +88349,18 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { - zType = ts + 12467 /* "view" */ + zType = ts + 12482 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 12472 /* "virtual table" */ + zType = ts + 12487 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+12486, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12501, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 12504 /* "drop column from" */ + return ts + 12519 /* "drop column from" */ } - return ts + 12521 /* "rename columns o..." */ + return ts + 12536 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -87945,13 +88453,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+8186 /* "no such column: ..." */, libc.VaList(bp, zOld)) + Xsqlite3ErrorMsg(tls, pParse, ts+8201 /* "no such column: ..." */, libc.VaList(bp, zOld)) goto exit_rename_column __10: ; // Ensure the schema contains no double-quoted strings - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+900 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+915 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iSchema == 1))) // Do the rename operation using a recursive UPDATE statement that @@ -87969,19 +88477,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+12539, /* "UPDATE \"%w\".sqli..." */ + ts+12554, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+8, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, - ts+12757, /* "UPDATE temp.sqli..." */ + ts+12772, /* "UPDATE temp.sqli..." */ libc.VaList(bp+72, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+11943 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+11958 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -88276,12 +88784,12 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui var zN uintptr = Xsqlite3_value_text(tls, pObject) var zErr uintptr - zErr = Xsqlite3_mprintf(tls, ts+12888, /* "error in %s %s%s..." */ + zErr = Xsqlite3_mprintf(tls, ts+12903, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - return ts + 12911 /* " " */ + return ts + 12926 /* " " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -88390,7 +88898,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // ALTER TABLE statement was quoted (bQuote==1), then set zNew to // point to zQuot so that all substitutions are made using the // quoted version of the new column name. - zQuot = Xsqlite3MPrintf(tls, db, ts+12913 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+12928 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -88440,12 +88948,12 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.Xmemcpy(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, uint64((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+12919 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+12934 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { - return ts + 12911 /* " " */ + return ts + 12926 /* " " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -88950,7 +89458,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+900 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) + renameColumnParseError(tls, context, ts+915 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) goto __45 __44: Xsqlite3_result_error_code(tls, context, rc) @@ -89130,7 +89638,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr } if rc != SQLITE_OK { if (*Parse)(unsafe.Pointer(bp+80 /* &sParse */)).FzErrMsg != 0 { - renameColumnParseError(tls, context, ts+900 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) + renameColumnParseError(tls, context, ts+915 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -89412,7 +89920,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+12924 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) + zNew = Xsqlite3MPrintf(tls, db, ts+12939 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -1, libc.UintptrFromInt32(-1)) Xsqlite3_free(tls, zNew) @@ -89500,7 +90008,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+8186 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8201 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -89510,12 +90018,12 @@ __6: if !((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & (COLFLAG_PRIMKEY | COLFLAG_UNIQUE)) != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+12931, /* "cannot drop %s c..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12946, /* "cannot drop %s c..." */ libc.VaList(bp+8, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - return ts + 12959 /* "PRIMARY KEY" */ + return ts + 12974 /* "PRIMARY KEY" */ } - return ts + 8007 /* "UNIQUE" */ + return ts + 8022 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -89526,7 +90034,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+12971 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+12986 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) goto exit_drop_column __8: ; @@ -89535,15 +90043,15 @@ __8: iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+900 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+915 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+13019 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+13034 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+13140 /* "after drop colum..." */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+13155 /* "after drop colum..." */, 1) // Edit rows of table on disk if !(((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) && ((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_VIRTUAL) == 0)) { @@ -89654,11 +90162,11 @@ func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:109584:21: */ } var aAlterTableFuncs = [5]FuncDef{ - {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13158 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13179 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13199 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13218 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13237 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ + {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13173 /* "sqlite_rename_co..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13194 /* "sqlite_rename_ta..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13214 /* "sqlite_rename_te..." */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13233 /* "sqlite_drop_colu..." */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13252 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -89855,7 +90363,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // of the new table in register pParse->regRoot. This is important // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, - ts+13260 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) + ts+13275 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } @@ -89867,10 +90375,10 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, - ts+13283, /* "DELETE FROM %Q.%..." */ + ts+13298, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+13313 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+13328 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb) @@ -89891,9 +90399,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 13331 /* "sqlite_stat1" */, FzCols: ts + 13344 /* "tbl,idx,stat" */}, - {FzName: ts + 13357 /* "sqlite_stat4" */, FzCols: ts + 13370 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 13398 /* "sqlite_stat3" */}, + {FzName: ts + 13346 /* "sqlite_stat1" */, FzCols: ts + 13359 /* "tbl,idx,stat" */}, + {FzName: ts + 13372 /* "sqlite_stat4" */, FzCols: ts + 13385 /* "tbl,idx,neq,nlt,..." */}, + {FzName: ts + 13413 /* "sqlite_stat3" */}, } /* sqlite3.c:109773:5 */ // Recommended number of samples for sqlite_stat4 @@ -90124,7 +90632,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13411 /* "stat_init" */} /* sqlite3.c:110084:22 */ + FzName: ts + 13426 /* "stat_init" */} /* sqlite3.c:110084:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -90442,7 +90950,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13421 /* "stat_push" */} /* sqlite3.c:110374:22 */ + FzName: ts + 13436 /* "stat_push" */} /* sqlite3.c:110374:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -90499,7 +91007,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+13431, /* "%llu" */ + Xsqlite3_snprintf(tls, 24, zRet, ts+13446, /* "%llu" */ libc.VaList(bp, func() uint64 { if (*StatAccum)(unsafe.Pointer(p)).FnSkipAhead != 0 { return U64((*StatAccum)(unsafe.Pointer(p)).FnEst) @@ -90510,7 +91018,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+13436 /* " %llu" */, libc.VaList(bp+8, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+13451 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -90559,7 +91067,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+13442 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+13457 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -90576,7 +91084,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13448 /* "stat_get" */} /* sqlite3.c:110526:22 */ + FzName: ts + 13463 /* "stat_get" */} /* sqlite3.c:110526:22 */ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:110538:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, (regStat + 1)) @@ -90595,11 +91103,11 @@ func analyzeVdbeCommentIndexWithColumnName(tls *libc.TLS, v uintptr, pIdx uintpt i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(k)*2))) if i == (-1) { - Xsqlite3VdbeComment(tls, v, ts+10206 /* "%s.rowid" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10221 /* "%s.rowid" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else if i == (-2) { - Xsqlite3VdbeComment(tls, v, ts+13457 /* "%s.expr(%d)" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) + Xsqlite3VdbeComment(tls, v, ts+13472 /* "%s.expr(%d)" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) } else { - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*32)).FzName)) } } @@ -90644,7 +91152,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Do not gather statistics on views or virtual tables return } - if Xsqlite3_strlike(tls, ts+13469 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, ts+13484 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { // Do not gather statistics on system tables return } @@ -90662,7 +91170,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp return } (*Table)(unsafe.Pointer(pStat1)).FzName = (pStat1 + 1*120) - libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+13331 /* "sqlite_stat1" */, uint64(13)) + libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+13346 /* "sqlite_stat1" */, uint64(13)) (*Table)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*Table)(unsafe.Pointer(pStat1)).FiPKey = int16(-1) Xsqlite3VdbeAddOp4(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Noop, 0, 0, 0, pStat1, -17) @@ -90713,7 +91221,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Populate the register containing the index name. Xsqlite3VdbeLoadString(tls, v, regIdxname, zIdxName) - Xsqlite3VdbeComment(tls, v, ts+13479 /* "Analysis for %s...." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zIdxName)) + Xsqlite3VdbeComment(tls, v, ts+13494 /* "Analysis for %s...." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zIdxName)) // Pseudo-code for loop that calls stat_push(): // @@ -90760,7 +91268,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iIdxCur, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) // Invoke the stat_init() function. The arguments are: // @@ -90897,7 +91405,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Add the entry to the stat1 table. callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13498 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13513 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP4(tls, v, -1, pStat1, -6) @@ -90954,12 +91462,12 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Create a single sqlite_stat1 entry containing NULL as the index // name and the row count as the content. if (pOnlyIdx == uintptr(0)) && (needTableCnt != 0) { - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeAddOp2(tls, v, OP_Count, iTabCur, regStat1) jZeroRows = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, regStat1) Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regIdxname) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13498 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+13513 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -91012,9 +91520,9 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) iStatCur = (*Parse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52 /* &.nTab */)) += (3) if pOnlyIdx != 0 { - openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+13502 /* "idx" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+13517 /* "idx" */) } else { - openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13506 /* "tbl" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13521 /* "tbl" */) } analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1), (*Parse)(unsafe.Pointer(pParse)).FnTab) loadAnalysis(tls, pParse, iDb) @@ -91109,7 +91617,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 900 /* "" */ + z = ts + 915 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -91131,15 +91639,15 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, ts+13510 /* "unordered*" */, z) == 0 { + if Xsqlite3_strglob(tls, ts+13525 /* "unordered*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(1), 2, 0x4) - } else if Xsqlite3_strglob(tls, ts+13521 /* "sz=[0-9]*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+13536 /* "sz=[0-9]*" */, z) == 0 { var sz int32 = Xsqlite3Atoi(tls, (z + uintptr(3))) if sz < 2 { sz = 2 } (*Index)(unsafe.Pointer(pIndex)).FszIdxRow = Xsqlite3LogEst(tls, uint64(sz)) - } else if Xsqlite3_strglob(tls, ts+13531 /* "noskipscan*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+13546 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(1), 6, 0x40) } for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { @@ -91458,10 +91966,10 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:111438:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines - if Xsqlite3FindTable(tls, db, ts+13357 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+13372 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+13543, /* "SELECT idx,count..." */ - ts+13597, /* "SELECT idx,neq,n..." */ + ts+13558, /* "SELECT idx,count..." */ + ts+13612, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -91512,9 +92020,9 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // Load new statistics out of the sqlite_stat1 table (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).Fdb = db (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+13331 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { + if Xsqlite3FindTable(tls, db, ts+13346 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+13649 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) + ts+13664 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { @@ -91606,7 +92114,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // database iDb attached to handle db. func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:111595:20: */ return (libc.Bool32((Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0) || - ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+8551 /* "main" */, zName) == 0)))) + ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+8566 /* "main" */, zName) == 0)))) } // An SQL user-function registered to do the work of an ATTACH statement. The @@ -91657,13 +92165,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 900 /* "" */ + zFile = ts + 915 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 900 /* "" */ + zName = ts + 915 /* "" */ __2: ; @@ -91673,7 +92181,7 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+5720 /* "memdb" */) + *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+5735 /* "memdb" */) if !(*(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) == uintptr(0)) { goto __5 } @@ -91689,7 +92197,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+13690 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+13705 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -91702,7 +92210,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13693, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13708, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -91716,7 +92224,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13730 /* "database %s is a..." */, libc.VaList(bp+8, zName)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13745 /* "database %s is a..." */, libc.VaList(bp+8, zName)) goto attach_error __11: ; @@ -91787,7 +92295,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13760 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13775 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -91804,7 +92312,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+13789 /* "attached databas..." */, 0) + ts+13804 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -91874,13 +92382,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+7984 /* "out of memory" */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+7999 /* "out of memory" */, 0) goto __31 __30: if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13857 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13872 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) __32: ; __31: @@ -91936,7 +92444,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 900 /* "" */ + zName = ts + 915 /* "" */ __1: ; i = 0 @@ -91968,14 +92476,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13885 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13900 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13906 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13921 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -91983,7 +92491,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13932 /* "database %s is l..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13947 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -92106,7 +92614,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13954 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 13969 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -92119,7 +92627,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13968 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ + FzName: ts + 13983 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ @@ -92134,7 +92642,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer((*DbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit.Fbusy != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } else { - Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+13982 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) + Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+13997 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) return WRC_Abort } } @@ -92167,7 +92675,7 @@ __1: if (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != Xsqlite3FindDbName(tls, db, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) { Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, - ts+14006, /* "%s %T cannot ref..." */ + ts+14021, /* "%s %T cannot ref..." */ libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType, (*DbFixer)(unsafe.Pointer(pFix)).FpName, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return WRC_Abort } @@ -92366,7 +92874,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112233:13: */ - Xsqlite3ErrorMsg(tls, pParse, ts+14052 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14067 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -92390,11 +92898,11 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - var z uintptr = Xsqlite3_mprintf(tls, ts+10215 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) + var z uintptr = Xsqlite3_mprintf(tls, ts+10230 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+14075 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+14090 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+14081 /* "access to %z is ..." */, libc.VaList(bp+32, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+14096 /* "access to %z is ..." */, libc.VaList(bp+32, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -92446,7 +92954,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName } else { - zCol = ts + 9781 /* "ROWID" */ + zCol = ts + 9796 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -92478,7 +92986,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+14108 /* "not authorized" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14123 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_OK) && (rc != SQLITE_IGNORE) { rc = SQLITE_DENY @@ -92663,7 +93171,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112554:2 if int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0 { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) } - Xsqlite3VdbeComment(tls, v, ts+14123 /* "usesStmtJournal=..." */, libc.VaList(bp, (libc.Bool32(((*Parse)(unsafe.Pointer(pParse)).FmayAbort != 0) && ((*Parse)(unsafe.Pointer(pParse)).FisMultiWrite != 0))))) + Xsqlite3VdbeComment(tls, v, ts+14138 /* "usesStmtJournal=..." */, libc.VaList(bp, (libc.Bool32(((*Parse)(unsafe.Pointer(pParse)).FmayAbort != 0) && ((*Parse)(unsafe.Pointer(pParse)).FisMultiWrite != 0))))) } for i = 0; i < (*Parse)(unsafe.Pointer(pParse)).FnVtabLock; i++ { var vtab uintptr = Xsqlite3GetVTable(tls, db, *(*uintptr)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).FapVtabLock + uintptr(i)*8))) @@ -92791,25 +93299,25 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb { // No match against the official names. But always match "main" // to schema 0 as a legacy fallback. - if Xsqlite3StrICmp(tls, zDatabase, ts+8551 /* "main" */) == 0 { + if Xsqlite3StrICmp(tls, zDatabase, ts+8566 /* "main" */) == 0 { i = 0 } else { return uintptr(0) } } p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), zName) - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10346 /* "sqlite_" */, 7) == 0) { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10361 /* "sqlite_" */, 7) == 0) { if i == 1 { - if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14142 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14161 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+7759 /* "sqlite_master" */ +7)) == 0) { + if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14157 /* "sqlite_temp_sche..." */ +7)) == 0) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14176 /* "sqlite_schema" */ +7)) == 0)) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+7774 /* "sqlite_master" */ +7)) == 0) { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+14175 /* "sqlite_temp_mast..." */) + ts+14190 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14161 /* "sqlite_schema" */ +7)) == 0 { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14176 /* "sqlite_schema" */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), - ts+7759 /* "sqlite_master" */) + ts+7774 /* "sqlite_master" */) } } } @@ -92832,12 +93340,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10346 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14161 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+7759 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14142 /* "sqlite_temp_sche..." */ +7)) == 0 { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10361 /* "sqlite_" */, 7) == 0) { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14176 /* "sqlite_schema" */ +7)) == 0 { + p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+7774 /* "sqlite_master" */) + } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14157 /* "sqlite_temp_sche..." */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+14175 /* "sqlite_temp_mast..." */) + ts+14190 /* "sqlite_temp_mast..." */) } } } @@ -92873,7 +93381,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // can be an eponymous virtual table. if (int32((*Parse)(unsafe.Pointer(pParse)).FdisableVtab) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { var pMod uintptr = Xsqlite3HashFind(tls, (db + 536 /* &.aModule */), zName) - if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+14194 /* "pragma_" */, 7) == 0) { + if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+14209 /* "pragma_" */, 7) == 0) { pMod = Xsqlite3PragmaVtabRegister(tls, db, zName) } if (pMod != 0) && (Xsqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0) { @@ -92891,14 +93399,14 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if p == uintptr(0) { var zMsg uintptr if (flags & U32(LOCATE_VIEW)) != 0 { - zMsg = ts + 14202 /* "no such view" */ + zMsg = ts + 14217 /* "no such view" */ } else { - zMsg = ts + 14215 /* "no such table" */ + zMsg = ts + 14230 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+8744 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+8759 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+8754 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+8769 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -93211,7 +93719,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // writing. The table is opened using cursor 0. func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:113223:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) - Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+7759 /* "sqlite_master" */) + Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+7774 /* "sqlite_master" */) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) if (*Parse)(unsafe.Pointer(p)).FnTab == 0 { (*Parse)(unsafe.Pointer(p)).FnTab = 1 @@ -93238,7 +93746,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql } // "main" is always an acceptable alias for the primary database // even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. - if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+8551 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+8566 /* "main" */, zName)) { goto __3 } @@ -93291,13 +93799,13 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if (*Token)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14229 /* "corrupt database" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14244 /* "corrupt database" */, 0) return -1 } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = Xsqlite3FindDb(tls, db, pName1) if iDb < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14246 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+14261 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -93338,13 +93846,13 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType if ((Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit))) != 0) || (Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 1*8))) != 0)) || (Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 2*8))) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+900 /* "" */, 0) // corruptSchema() will supply the error + Xsqlite3ErrorMsg(tls, pParse, ts+915 /* "" */, 0) // corruptSchema() will supply the error return SQLITE_ERROR } } else { - if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+10346 /* "sqlite_" */, 7))) || + if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+10361 /* "sqlite_" */, 7))) || ((Xsqlite3ReadOnlyShadowTables(tls, db) != 0) && (Xsqlite3ShadowTableName(tls, db, zName) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14266, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14281, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -93513,9 +94021,9 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui iDb = int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) zName = Xsqlite3DbStrDup(tls, db, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 @@ -93533,7 +94041,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+14308 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14323 /* "temporary table ..." */, 0) return __4: ; @@ -93561,9 +94069,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 12467 /* "view" */ + return ts + 12482 /* "view" */ } - return ts + 8454 /* "table" */ + return ts + 8469 /* "table" */ }(), zName) != 0) { goto __8 } @@ -93580,9 +94088,9 @@ __9: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (isTemp == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -93620,7 +94128,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+14349 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+14364 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) goto __16 __15: ; @@ -93634,7 +94142,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+14373 /* "there is already..." */, libc.VaList(bp+8, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14388 /* "there is already..." */, libc.VaList(bp+8, zName)) goto begin_table_error __17: ; @@ -93750,7 +94258,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:113716:13: */ var pHash uintptr pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - Xsqlite3HashInsert(tls, pHash, ts+14408 /* "sqlite_returning" */, uintptr(0)) + Xsqlite3HashInsert(tls, pHash, ts+14423 /* "sqlite_returning" */, uintptr(0)) Xsqlite3ExprListDelete(tls, db, (*Returning)(unsafe.Pointer(pRet)).FpReturnEL) Xsqlite3DbFree(tls, db, pRet) } @@ -93774,7 +94282,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Parse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14425 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14440 /* "cannot use RETUR..." */, 0) } else { } @@ -93795,7 +94303,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 14408 /* "sqlite_returning" */ + (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 14423 /* "sqlite_returning" */ (*Returning)(unsafe.Pointer(pRet)).FretTrig.Fop = U8(TK_RETURNING) (*Returning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = U8(TRIGGER_AFTER) (*Returning)(unsafe.Pointer(pRet)).FretTrig.FbReturning = U8(1) @@ -93807,7 +94315,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql (*Returning)(unsafe.Pointer(pRet)).FretTStep.FpExprList = pList pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - if Xsqlite3HashInsert(tls, pHash, ts+14408 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+14423 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == (pRet + 16 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -93835,7 +94343,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp return } if (int32((*Table)(unsafe.Pointer(p)).FnCol) + 1) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14459 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14474 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } z = Xsqlite3DbMallocRaw(tls, db, (uint64(((*Token)(unsafe.Pointer(pName)).Fn + (*Token)(unsafe.Pointer(pType)).Fn) + uint32(2)))) @@ -93851,7 +94359,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14482 /* "duplicate column..." */, libc.VaList(bp+8, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+14497 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -94025,11 +94533,11 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar var isInit int32 = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) != 1))) pCol = ((*Table)(unsafe.Pointer(p)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(p)).FnCol)-1))*32) if !(Xsqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14508, /* "default value of..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14523, /* "default value of..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14553 /* "cannot use DEFAU..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14568 /* "cannot use DEFAU..." */, 0) } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. @@ -94079,7 +94587,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+14594 /* "generated column..." */, 0) + ts+14609 /* "generated column..." */, 0) } } @@ -94124,7 +94632,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+14646 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+14661 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit __2: ; @@ -94184,7 +94692,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+900 /* "" */), ts+14687 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+915 /* "" */), ts+14702 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -94212,7 +94720,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+14695 /* "AUTOINCREMENT is..." */, 0) + ts+14710 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -94316,7 +94824,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+14751 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14766 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -94329,13 +94837,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+14794 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+14809 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { goto __5 } // no-op goto __6 __5: - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+14802 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+14817 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { goto __7 } eType = U8(COLFLAG_STORED) @@ -94368,7 +94876,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+14809, /* "error in generat..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14824, /* "error in generat..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) generated_done: Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -94510,13 +95018,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 900 /* "" */ - zSep2 = ts + 14840 /* "," */ - zEnd = ts + 6872 /* ")" */ + zSep = ts + 915 /* "" */ + zSep2 = ts + 14855 /* "," */ + zEnd = ts + 6887 /* ")" */ } else { - zSep = ts + 14842 /* "\n " */ - zSep2 = ts + 14846 /* ",\n " */ - zEnd = ts + 14851 /* "\n)" */ + zSep = ts + 14857 /* "\n " */ + zSep2 = ts + 14861 /* ",\n " */ + zEnd = ts + 14866 /* "\n)" */ } n = n + (35 + (6 * int32((*Table)(unsafe.Pointer(p)).FnCol))) zStmt = Xsqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -94524,7 +95032,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+14854 /* "CREATE TABLE " */, 0) + Xsqlite3_snprintf(tls, n, zStmt, ts+14869 /* "CREATE TABLE " */, 0) *(*int32)(unsafe.Pointer(bp + 8 /* k */)) = Xsqlite3Strlen30(tls, zStmt) identPut(tls, zStmt, bp+8 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = int8('(') @@ -94558,16 +95066,16 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+936 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+951 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } var azType1 = [5]uintptr{ - /* SQLITE_AFF_BLOB */ ts + 900, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 14868, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 14874, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 14879, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 14884, /* " REAL" */ + /* SQLITE_AFF_BLOB */ ts + 915, /* "" */ + /* SQLITE_AFF_TEXT */ ts + 14883, /* " TEXT" */ + /* SQLITE_AFF_NUMERIC */ ts + 14889, /* " NUM" */ + /* SQLITE_AFF_INTEGER */ ts + 14894, /* " INT" */ + /* SQLITE_AFF_REAL */ ts + 14899, /* " REAL" */ } /* sqlite3.c:114391:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK @@ -95004,7 +95512,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // table itself. So mark it read-only. if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { if pSelect != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+900 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+915 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -95017,11 +95525,11 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (int32(tabOpts) & TF_WithoutRowid) != 0 { if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+14890 /* "AUTOINCREMENT no..." */, 0) + ts+14905 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14940 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14955 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } *(*U32)(unsafe.Pointer(p + 64 /* &.tabFlags */)) |= (U32(TF_WithoutRowid | TF_NoVisibleRowid)) @@ -95065,7 +95573,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14972 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14987 /* "must have at lea..." */, 0) return } } @@ -95098,12 +95606,12 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // Initialize zType for the new view or table. if (*Table)(unsafe.Pointer(p)).FpSelect == uintptr(0) { // A regular table - zType = ts + 8454 /* "table" */ - zType2 = ts + 15016 /* "TABLE" */ + zType = ts + 8469 /* "table" */ + zType2 = ts + 15031 /* "TABLE" */ } else { // A view - zType = ts + 12467 /* "view" */ - zType2 = ts + 15022 /* "VIEW" */ + zType = ts + 12482 /* "view" */ + zType2 = ts + 15037 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -95184,7 +95692,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+15027 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+15042 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -95192,7 +95700,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+15042, /* "UPDATE %Q.sqlite..." */ + ts+15057, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, @@ -95210,14 +95718,14 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+15140, /* "CREATE TABLE %Q...." */ + ts+15155, /* "CREATE TABLE %Q...." */ libc.VaList(bp+88, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+15182 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+15197 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -95238,7 +95746,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // then record a pointer to this table in the main database structure // so that INSERT can find the table easily. - if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+11604 /* "sqlite_sequence" */) == 0 { + if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+11619 /* "sqlite_sequence" */) == 0 { (*Schema)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -95275,7 +95783,7 @@ func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui if !(int32((*Parse)(unsafe.Pointer(pParse)).FnVar) > 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+15216 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15231 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -95297,7 +95805,7 @@ __2: Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp /* &pName */) iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(p)).FpSchema) - Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+12467 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) + Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+12482 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) if !(Xsqlite3FixSelect(tls, bp+8 /* &sFix */, pSelect) != 0) { goto __3 } @@ -95414,7 +95922,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i // CREATE TEMP VIEW ex1 AS SELECT a FROM ex1; // SELECT * FROM temp.ex1; if int32((*Table)(unsafe.Pointer(pTable)).FnCol) < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+15252 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15267 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) return 1 } @@ -95556,7 +96064,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) if iTable < 2 { - Xsqlite3ErrorMsg(tls, pParse, ts+15282 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15297 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -95570,7 +96078,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+15297, /* "UPDATE %Q.sqlite..." */ + ts+15312, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb+uintptr(iDb)*32)).FzDbSName, iTable, r1, r1)) Xsqlite3ReleaseTempReg(tls, pParse, r1) } @@ -95634,10 +96142,10 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint for i = 1; i <= 4; i++ { // var zTab [24]int8 at bp+40, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+15364 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+15379 /* "sqlite_stat%d" */, libc.VaList(bp, i)) if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+40 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+13283, /* "DELETE FROM %Q.%..." */ + ts+13298, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } @@ -95677,7 +96185,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // move as a result of the drop (can happen in auto-vacuum mode). if ((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+15378, /* "DELETE FROM %Q.s..." */ + ts+15393, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -95689,7 +96197,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+15423, /* "DELETE FROM %Q.s..." */ + ts+15438, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) @@ -95719,11 +96227,11 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Return true if it is not allowed to drop the given table func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:115607:12: */ - if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10346 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+4653 /* "stat" */, 4) == 0 { + if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10361 /* "sqlite_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+4668 /* "stat" */, 4) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+9243 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+9258 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -95804,9 +96312,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zArg2 = uintptr(0) @@ -95866,7 +96374,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+15490 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15505 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __19: ; @@ -95876,14 +96384,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+15518 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15533 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+15552 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15567 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -95898,7 +96406,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+13506 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+13521 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -95963,7 +96471,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+15584, /* "foreign key on %..." */ + ts+15599, /* "foreign key on %..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(iCol)*32)).FzName, pTo)) goto fk_end __5: @@ -95976,7 +96484,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+15647 /* "number of column..." */, 0) + ts+15662 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -96060,7 +96568,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+15741, /* "unknown column \"..." */ + ts+15756, /* "unknown column \"..." */ libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*32)).FzEName)) goto fk_end __23: @@ -96310,12 +96818,12 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pList)).FnExpr; i++ { if (uint32(int32(*(*uint8)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32 + 20 /* &.bNulls */)) & 0x20 >> 5))) != 0 { var sf U8 = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32)).FsortFlags - Xsqlite3ErrorMsg(tls, pParse, ts+15787, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+15802, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 15815 /* "FIRST" */ + return ts + 15830 /* "FIRST" */ } - return ts + 15821 /* "LAST" */ + return ts + 15836 /* "LAST" */ }())) return 1 } @@ -96473,7 +96981,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+8460 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) + Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+8475 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+136 /* &sFix */, pTblName) != 0) { goto __10 } @@ -96494,7 +97002,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+15826, /* "cannot create a ..." */ + ts+15841, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -96521,26 +97029,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10346 /* "sqlite_" */, 7) == 0) && + if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10361 /* "sqlite_" */, 7) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0)) && (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+15876 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15891 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+15904 /* "views may not be..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15919 /* "views may not be..." */, 0) goto exit_create_index __16: ; if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+15929 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15944 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -96567,7 +97075,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8460 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8475 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { goto __21 } goto exit_create_index @@ -96582,7 +97090,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+15963 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15978 /* "there is already..." */, libc.VaList(bp+16, zName)) goto exit_create_index __24: ; @@ -96594,7 +97102,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+15997 /* "index %s already..." */, libc.VaList(bp+24, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16012 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -96623,7 +97131,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+16021 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+16036 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -96652,9 +97160,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -96698,7 +97206,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+8460 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+8475 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -96815,7 +97323,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+16044 /* "expressions proh..." */, 0) + ts+16059 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -97044,7 +97552,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+16105 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) + ts+16120 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -97100,7 +97608,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+16147 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16162 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -97158,12 +97666,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+16164, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+16179, /* "CREATE%s INDEX %..." */ libc.VaList(bp+56, func() uintptr { if onError == OE_None { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 16184 /* " UNIQUE" */ + return ts + 16199 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: @@ -97175,7 +97683,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+16192, /* "INSERT INTO %Q.s..." */ + ts+16207, /* "INSERT INTO %Q.s..." */ libc.VaList(bp+80, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -97191,7 +97699,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+16251 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+16266 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -97375,7 +97883,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+16278 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+16293 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __5 __4: Xsqlite3CodeVerifyNamedSchema(tls, pParse, (*SrcItem)(unsafe.Pointer((pName + 8 /* &.a */))).FzDatabase) @@ -97390,7 +97898,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+16296 /* "index associated..." */, libc.VaList(bp+8, 0)) + ts+16311 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -97401,9 +97909,9 @@ __6: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -97431,9 +97939,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+16369, /* "DELETE FROM %Q.s..." */ + ts+16384, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) - sqlite3ClearStatTables(tls, pParse, iDb, ts+13502 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+13517 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) Xsqlite3VdbeAddOp4(tls, v, OP_DropIndex, iDb, 0, 0, (*Index)(unsafe.Pointer(pIndex)).FzName, 0) @@ -97584,7 +98092,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*SrcList)(unsafe.Pointer(pSrc)).FnSrc + nExtra) >= SQLITE_MAX_SRCLIST { - Xsqlite3ErrorMsg(tls, pParse, ts+16429, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+16444, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -97796,12 +98304,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+16465, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+16480, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 16501 /* "ON" */ + return ts + 16516 /* "ON" */ } - return ts + 16504 /* "USING" */ + return ts + 16519 /* "USING" */ }())) goto append_from_error __1: @@ -97929,7 +98437,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+16510 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { + if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+16525 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { return } v = Xsqlite3GetVdbe(tls, pParse) @@ -97965,9 +98473,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 16516 /* "ROLLBACK" */ + return ts + 16531 /* "ROLLBACK" */ } - return ts + 16525 /* "COMMIT" */ + return ts + 16540 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -97992,7 +98500,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 16510 /* "BEGIN" */, ts + 16532 /* "RELEASE" */, ts + 16516 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ +var az = [3]uintptr{ts + 16525 /* "BEGIN" */, ts + 16547 /* "RELEASE" */, ts + 16531 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. @@ -98008,7 +98516,7 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp /* &pBt */, 0, flags) if rc != SQLITE_OK { Xsqlite3ErrorMsg(tls, pParse, - ts+16540 /* "unable to open a..." */, 0) + ts+16555 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -98151,17 +98659,17 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx Xsqlite3StrAccumInit(tls, bp+8 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+16610 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+16625 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*32)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+16621 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+16636 /* ", " */, 2) } Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+913 /* "." */, 1) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+928 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } @@ -98184,11 +98692,11 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr var rc int32 if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10206 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+10221 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -98331,7 +98839,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+16624 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16639 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -98441,7 +98949,7 @@ func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) var i int32 for i = 0; i < (*With)(unsafe.Pointer(pWith)).FnCte; i++ { if Xsqlite3StrICmp(tls, zName, (*Cte)(unsafe.Pointer((pWith+16 /* &.a */)+uintptr(i)*48)).FzName) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+16670 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16685 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -98675,7 +99183,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+16700 /* "no such collatio..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16715 /* "no such collatio..." */, libc.VaList(bp, zName)) (*Parse)(unsafe.Pointer(pParse)).Frc = (SQLITE_ERROR | (int32(1) << 8)) } return p @@ -99041,11 +99549,11 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 defer tls.Free(16) if tabIsReadOnly(tls, pParse, pTab) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+16731 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16746 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+16760 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16775 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -99638,7 +100146,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+16798 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+16813 /* "rows deleted" */, uintptr(0)) __61: ; @@ -99783,7 +100291,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri } return 0 }()) - if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13331 /* "sqlite_stat1" */)) { + if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+13346 /* "sqlite_stat1" */)) { Xsqlite3VdbeAppendP4(tls, v, pTab, -6) } if int32(eMode) != ONEPASS_OFF { @@ -100061,7 +100569,7 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 8071 /* "integer" */, ts + 8066 /* "real" */, ts + 16811 /* "text" */, ts + 16816 /* "blob" */, ts + 8061 /* "null" */} /* sqlite3.c:119398:21 */ +var azType2 = [5]uintptr{ts + 8086 /* "integer" */, ts + 8081 /* "real" */, ts + 16826 /* "text" */, ts + 16831 /* "blob" */, ts + 8076 /* "null" */} /* sqlite3.c:119398:21 */ // Implementation of the length() function func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119418:13: */ @@ -100125,7 +100633,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // IMP: R-31676-45509 If X is the integer -9223372036854775808 // then abs(X) throws an integer overflow error since there is no // equivalent positive 64-bit two complement value. - Xsqlite3_result_error(tls, context, ts+16821 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+16836 /* "integer overflow" */, -1) return } iVal = -iVal @@ -100463,7 +100971,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+16838 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+16853 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -100915,7 +101423,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 8*4)) { - Xsqlite3_result_error(tls, context, ts+16843 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+16858 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -100927,7 +101435,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } if Xsqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp /* zEsc */)), -1) != 1 { Xsqlite3_result_error(tls, context, - ts+16876 /* "ESCAPE expressio..." */, -1) + ts+16891 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -100994,7 +101502,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // Implementation of the sqlite_compileoption_used() function. @@ -101051,10 +101559,10 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // var zBuf [50]int8 at bp+16, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+6792 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+6807 /* "%!.15g" */, libc.VaList(bp, r1)) Xsqlite3AtoF(tls, bp+16 /* &zBuf[0] */, bp+72 /* &r2 */, 20, uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp + 72 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+16921 /* "%!.20e" */, libc.VaList(bp+8, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+16936 /* "%!.20e" */, libc.VaList(bp+8, r1)) } Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -101128,7 +101636,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+901 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+916 /* "NULL" */, 4, uintptr(0)) break } @@ -101439,7 +101947,7 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:120648:27 */ -var azOne = [1]uintptr{uintptr(ts + 12911 /* " " */)} /* sqlite3.c:120649:26 */ +var azOne = [1]uintptr{uintptr(ts + 12926 /* " " */)} /* sqlite3.c:120649:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -101460,7 +101968,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = ts + 900 /* "" */ + zIn = ts + 915 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -101486,7 +101994,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else { // IMP: R-64894-50321 The string "?000" is returned if the argument // is NULL or contains no ASCII alphabetic characters. - Xsqlite3_result_text(tls, context, ts+16928 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+16943 /* "?000" */, 4, uintptr(0)) } } @@ -101514,7 +102022,7 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // Disallow the load_extension() SQL function unless the SQLITE_LoadExtFunc // flag is set. See the sqlite3_enable_load_extension() API. if ((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_LoadExtFunc)) == uint64(0) { - Xsqlite3_result_error(tls, context, ts+14108 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+14123 /* "not authorized" */, -1) return } @@ -101602,7 +102110,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:120889:13: */ p = Xsqlite3_aggregate_context(tls, context, 0) if (p != 0) && ((*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0)) { if (*SumCtx)(unsafe.Pointer(p)).Foverflow != 0 { - Xsqlite3_result_error(tls, context, ts+16821 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+16836 /* "integer overflow" */, -1) } else if (*SumCtx)(unsafe.Pointer(p)).Fapprox != 0 { Xsqlite3_result_double(tls, context, (*SumCtx)(unsafe.Pointer(p)).FrSum) } else { @@ -101756,7 +102264,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zSep = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) nSep = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) } else { - zSep = ts + 14840 /* "," */ + zSep = ts + 14855 /* "," */ nSep = 1 } if zSep != 0 { @@ -101834,7 +102342,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:121112:13: // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:121135:21: */ - var rc int32 = Xsqlite3_overload_function(tls, db, ts+16933 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+16948 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -101854,14 +102362,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+16939 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+16954 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3CreateFunc(tls, db, ts+16939 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+16954 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16939 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16939 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16954 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16954 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) } // pExpr points to an expression which implements a function. If @@ -101966,76 +102474,76 @@ func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:121427:21: * var aBuiltinFunc = [68]FuncDef{ //**** Functions only available with SQLITE_TESTCTRL_INTERNAL_FUNCTIONS **** - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 16944 /* "implies_nonnull_..." */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 16964 /* "expr_compare" */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 16977 /* "expr_implies_exp..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 16959 /* "implies_nonnull_..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 16979 /* "expr_compare" */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 16992 /* "expr_implies_exp..." */}, //**** Regular functions **** - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 16995 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17003 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17003 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17018 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17044 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 17069 /* "unlikely" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 17078 /* "likelihood" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 17089 /* "likely" */}, - {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17096 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17110 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17110 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 17116 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 17116 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 17122 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 17122 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17127 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17127 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17127 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17131 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 17131 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17131 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17135 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 17142 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17149 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17155 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17162 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17170 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17175 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17179 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17179 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17185 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17191 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17197 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17201 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17208 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17215 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17226 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17233 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17248 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17265 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17276 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17282 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17300 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17308 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17322 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17330 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17339 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17339 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17346 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17346 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17356 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17360 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17366 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17370 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17370 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17376 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17376 /* "group_concat" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17010 /* "soundex" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17018 /* "load_extension" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17018 /* "load_extension" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17033 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17059 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 17084 /* "unlikely" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 17093 /* "likelihood" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 17104 /* "likely" */}, + {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17111 /* "sqlite_offset" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17125 /* "ltrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17125 /* "ltrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 17131 /* "rtrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 17131 /* "rtrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 17137 /* "trim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 17137 /* "trim" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17142 /* "min" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17142 /* "min" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17142 /* "min" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17146 /* "max" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 17146 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17146 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17150 /* "typeof" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 17157 /* "length" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17164 /* "instr" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17170 /* "printf" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17177 /* "unicode" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17185 /* "char" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17190 /* "abs" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17194 /* "round" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17194 /* "round" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17200 /* "upper" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17206 /* "lower" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17212 /* "hex" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17216 /* "ifnull" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17223 /* "random" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17230 /* "randomblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17241 /* "nullif" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17248 /* "sqlite_version" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17263 /* "sqlite_source_id" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17280 /* "sqlite_log" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17291 /* "quote" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17297 /* "last_insert_rowi..." */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17315 /* "changes" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17323 /* "total_changes" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17337 /* "replace" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17345 /* "zeroblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17354 /* "substr" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17354 /* "substr" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17361 /* "substring" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17361 /* "substring" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17371 /* "sum" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17375 /* "total" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17381 /* "avg" */}, + {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17385 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17385 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17391 /* "group_concat" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17391 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 17389 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16939 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16939 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17394 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17394 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17403 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17394 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 17408 /* "iif" */}} /* sqlite3.c:121438:18 */ + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 17404 /* "glob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16954 /* "like" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16954 /* "like" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17409 /* "coalesce" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17409 /* "coalesce" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17418 /* "sign" */}, + {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17409 /* "coalesce" */}, + {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 17423 /* "iif" */}} /* sqlite3.c:121438:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -102321,7 +102829,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey if !(pIdx != 0) { if !(int32((*Parse)(unsafe.Pointer(pParse)).FdisableTriggers) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+17412, /* "foreign key mism..." */ + ts+17427, /* "foreign key mism..." */ libc.VaList(bp, (*Table)(unsafe.Pointer((*FKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*FKey)(unsafe.Pointer(pFKey)).FzTo)) } Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiCol) @@ -103217,8 +103725,8 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, } for i = 0; i < (*FKey)(unsafe.Pointer(pFKey)).FnCol; i++ { - *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 8560 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 8556 /* "new" */, Fn: uint32(3)} // Literal "new" token + *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 8575 /* "old" */, Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 8571 /* "new" */, Fn: uint32(3)} // Literal "new" token // var tFromCol Token at bp+32, 16 // Name of column in child table // var tToCol Token at bp+16, 16 @@ -103306,7 +103814,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fz = zFrom (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fn = uint32(nFrom) - pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+7053 /* "FOREIGN KEY cons..." */) + pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+7068 /* "FOREIGN KEY cons..." */) if pRaise != 0 { (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -103485,13 +103993,13 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa }(), (*Table)(unsafe.Pointer(pTab)).FzName) if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { Xsqlite3VdbeAddOp4Int(tls, v, opcode, iCur, int32((*Table)(unsafe.Pointer(pTab)).Ftnum), iDb, int32((*Table)(unsafe.Pointer(pTab)).FnNVCol)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) } else { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) Xsqlite3VdbeAddOp3(tls, v, opcode, iCur, int32((*Index)(unsafe.Pointer(pPk)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pPk) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } } @@ -103739,7 +104247,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10176 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+10191 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) } (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -104303,7 +104811,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+17457, /* "cannot INSERT in..." */ + ts+17472, /* "cannot INSERT in..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto insert_cleanup __24: @@ -104328,7 +104836,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+17498, /* "table %S has no ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17513, /* "table %S has no ..." */ libc.VaList(bp+8, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*16)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup @@ -104498,7 +105006,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+17530, /* "table %S has %d ..." */ + ts+17545, /* "table %S has %d ..." */ libc.VaList(bp+24, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: @@ -104508,7 +105016,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+17582 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+17597 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -104564,7 +105072,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+17607, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17622, /* "UPSERT not imple..." */ libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -104572,7 +105080,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+17653 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17668 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -105052,7 +105560,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+17674 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+17689 /* "rows inserted" */, uintptr(0)) __123: ; @@ -105396,7 +105904,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_HaltIfNull, (SQLITE_CONSTRAINT | (int32(5) << 8)), onError, iReg) @@ -105647,7 +106155,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // initialize it to zero. regTrigCnt = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regTrigCnt) - Xsqlite3VdbeComment(tls, v, ts+17688 /* "trigger count" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17703 /* "trigger count" */, 0) lblRecheckOk = Xsqlite3VdbeMakeLabel(tls, pParse) addrRecheck = lblRecheckOk } @@ -105692,7 +106200,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt (onError != int32(overrideError))) && // Rules for other constraints are different ((*Table)(unsafe.Pointer(pTab)).FpIndex != 0) { ipkTop = (Xsqlite3VdbeAddOp0(tls, v, OP_Goto) + 1) - Xsqlite3VdbeComment(tls, v, ts+17702 /* "defer IPK REPLAC..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+17717 /* "defer IPK REPLAC..." */, 0) } if isUpdate != 0 { @@ -105706,7 +106214,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // Check to see if the new rowid already exists in the table. Skip // the following conflict logic if it does not. - Xsqlite3VdbeNoopComment(tls, v, ts+17731 /* "uniqueness check..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+17746 /* "uniqueness check..." */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_NotExists, iDataCur, addrRowidOk, regNewData) @@ -105826,7 +106334,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3TableAffinity(tls, v, pTab, (regNewData + 1)) bAffinityDone = U8(1) } - Xsqlite3VdbeNoopComment(tls, v, ts+17758 /* "prep index %s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeNoopComment(tls, v, ts+17773 /* "prep index %s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) iThisCur = (iIdxCur + *(*int32)(unsafe.Pointer(bp + 96 /* ix */))) // Skip partial indices for which the WHERE clause is not true @@ -105848,20 +106356,20 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = -(regNewData + 1) Xsqlite3ExprCodeCopy(tls, pParse, (*ExprList_item)(unsafe.Pointer(((*Index)(unsafe.Pointer(pIdx)).FaColExpr+8 /* &.a */)+uintptr(i)*32)).FpExpr, (regIdx + i)) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - Xsqlite3VdbeComment(tls, v, ts+17772 /* "%s column %d" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) + Xsqlite3VdbeComment(tls, v, ts+17787 /* "%s column %d" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) } else if (iField == (-1)) || (iField == int32((*Table)(unsafe.Pointer(pTab)).FiPKey)) { x = regNewData Xsqlite3VdbeAddOp2(tls, v, OP_IntCopy, x, (regIdx + i)) - Xsqlite3VdbeComment(tls, v, ts+10282 /* "rowid" */, 0) + Xsqlite3VdbeComment(tls, v, ts+10297 /* "rowid" */, 0) } else { x = ((int32(Xsqlite3TableColumnToStorage(tls, pTab, int16(iField))) + regNewData) + 1) Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, x, (regIdx + i)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+40, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+40, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*32)).FzName)) } } Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, regIdx, int32((*Index)(unsafe.Pointer(pIdx)).FnColumn), *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 96 /* ix */)))*4))) - Xsqlite3VdbeComment(tls, v, ts+17785 /* "for %s" */, libc.VaList(bp+48, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+17800 /* "for %s" */, libc.VaList(bp+48, (*Index)(unsafe.Pointer(pIdx)).FzName)) // In an UPDATE operation, if this index is the PRIMARY KEY index // of a WITHOUT ROWID table and there has been no change the @@ -105934,7 +106442,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt x = int32(Xsqlite3TableColumnToIndex(tls, pIdx, *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iThisCur, x, (regR + i)) - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp+56, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp+56, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) } } if isUpdate != 0 { @@ -106028,7 +106536,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3VdbeAddOp2(tls, v, OP_AddImm, regTrigCnt, 1) // incr trigger cnt addrBypass = Xsqlite3VdbeAddOp0(tls, v, OP_Goto) // Bypass recheck - Xsqlite3VdbeComment(tls, v, ts+17792 /* "bypass recheck" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17807 /* "bypass recheck" */, 0) // Here we insert code that will be invoked after all constraint // checks have run, if and only if one or more replace triggers @@ -106097,7 +106605,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // If the IPK constraint is a REPLACE, run it last if ipkTop != 0 { Xsqlite3VdbeGoto(tls, v, ipkTop) - Xsqlite3VdbeComment(tls, v, ts+17807 /* "Do IPK REPLACE" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17822 /* "Do IPK REPLACE" */, 0) Xsqlite3VdbeJumpHere(tls, v, ipkBottom) } @@ -106313,7 +106821,7 @@ __1: Xsqlite3VdbeAddOp3(tls, v, op, iIdxCur, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) Xsqlite3VdbeChangeP5(tls, v, uint16(p5)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } } @@ -106694,11 +107202,11 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iSrc, int32((*Index)(unsafe.Pointer(pSrcIdx)).Ftnum), iDbSrc) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pSrcIdx) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pSrcIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pSrcIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenWrite, iDest, int32((*Index)(unsafe.Pointer(pDestIdx)).Ftnum), iDbDest) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pDestIdx) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_BULKCSR)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) addr1 = Xsqlite3VdbeAddOp2(tls, v, OP_Rewind, iSrc, 0) if ((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags & U32(DBFLAG_Vacuum)) != 0 { // This INSERT command is part of a VACUUM operation, which guarantees @@ -106815,7 +107323,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 900 /* "" */ + zSql = ts + 915 /* "" */ __2: ; @@ -107376,7 +107884,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14108 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14123 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -107386,7 +107894,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 17822 /* "sqlite3_extensio..." */ + zEntry = ts + 17837 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -107406,7 +107914,7 @@ __5: if !((ii < (int32(uint64(unsafe.Sizeof(azEndings)) / uint64(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+10215 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) + zAltFile = Xsqlite3_mprintf(tls, ts+10230 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) if !(zAltFile == uintptr(0)) { goto __8 } @@ -107452,7 +107960,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.Xmemcpy(tls, zAltEntry, ts+17845 /* "sqlite3_" */, uint64(8)) + libc.Xmemcpy(tls, zAltEntry, ts+17860 /* "sqlite3_" */, uint64(8)) iFile = (ncFile - 1) __12: if !((iFile >= 0) && !((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/')) { @@ -107466,7 +107974,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+17854 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+17869 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -107490,7 +107998,7 @@ __17: goto __18 __18: ; - libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+17858 /* "_init" */, uint64(6)) + libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+17873 /* "_init" */, uint64(6)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -107508,7 +108016,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+17864 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) + ts+17879 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __22: ; @@ -107533,7 +108041,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+17907 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+17922 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) __25: ; Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) @@ -107573,7 +108081,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+17939 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) + ts+17954 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __29: ; @@ -107583,7 +108091,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 17976, /* "so" */ + ts + 17991, /* "so" */ } /* sqlite3.c:127457:21 */ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127590:16: */ @@ -107750,7 +108258,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+17979 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) + ts+17994 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */))) @@ -107795,61 +108303,61 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 // or that return single-column results where the name of the // result column is different from the name of the pragma var pragCName = [51]uintptr{ - /* 0 */ ts + 6974, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 18018, /* "seq" */ - /* 2 */ ts + 8454, /* "table" */ - /* 3 */ ts + 18022, /* "from" */ - /* 4 */ ts + 18027, /* "to" */ - /* 5 */ ts + 18030, /* "on_update" */ - /* 6 */ ts + 18040, /* "on_delete" */ - /* 7 */ ts + 18050, /* "match" */ - /* 8 */ ts + 18056, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 18060, /* "name" */ - /* 10 */ ts + 18065, /* "type" */ - /* 11 */ ts + 18070, /* "notnull" */ - /* 12 */ ts + 18078, /* "dflt_value" */ - /* 13 */ ts + 18089, /* "pk" */ - /* 14 */ ts + 18092, /* "hidden" */ + /* 0 */ ts + 6989, /* "id" */ // Used by: foreign_key_list + /* 1 */ ts + 18033, /* "seq" */ + /* 2 */ ts + 8469, /* "table" */ + /* 3 */ ts + 18037, /* "from" */ + /* 4 */ ts + 18042, /* "to" */ + /* 5 */ ts + 18045, /* "on_update" */ + /* 6 */ ts + 18055, /* "on_delete" */ + /* 7 */ ts + 18065, /* "match" */ + /* 8 */ ts + 18071, /* "cid" */ // Used by: table_xinfo + /* 9 */ ts + 18075, /* "name" */ + /* 10 */ ts + 18080, /* "type" */ + /* 11 */ ts + 18085, /* "notnull" */ + /* 12 */ ts + 18093, /* "dflt_value" */ + /* 13 */ ts + 18104, /* "pk" */ + /* 14 */ ts + 18107, /* "hidden" */ // table_info reuses 8 - /* 15 */ ts + 18099, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 18056, /* "cid" */ - /* 17 */ ts + 18060, /* "name" */ - /* 18 */ ts + 18105, /* "desc" */ - /* 19 */ ts + 18110, /* "coll" */ - /* 20 */ ts + 18115, /* "key" */ - /* 21 */ ts + 18060, /* "name" */ // Used by: function_list - /* 22 */ ts + 18119, /* "builtin" */ - /* 23 */ ts + 18065, /* "type" */ - /* 24 */ ts + 18127, /* "enc" */ - /* 25 */ ts + 18131, /* "narg" */ - /* 26 */ ts + 18136, /* "flags" */ - /* 27 */ ts + 13506, /* "tbl" */ // Used by: stats - /* 28 */ ts + 13502, /* "idx" */ - /* 29 */ ts + 18142, /* "wdth" */ - /* 30 */ ts + 18147, /* "hght" */ - /* 31 */ ts + 18152, /* "flgs" */ - /* 32 */ ts + 18018, /* "seq" */ // Used by: index_list - /* 33 */ ts + 18060, /* "name" */ - /* 34 */ ts + 18157, /* "unique" */ - /* 35 */ ts + 18164, /* "origin" */ - /* 36 */ ts + 18171, /* "partial" */ - /* 37 */ ts + 8454, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 10282, /* "rowid" */ - /* 39 */ ts + 6977, /* "parent" */ - /* 40 */ ts + 18179, /* "fkid" */ + /* 15 */ ts + 18114, /* "seqno" */ // Used by: index_xinfo + /* 16 */ ts + 18071, /* "cid" */ + /* 17 */ ts + 18075, /* "name" */ + /* 18 */ ts + 18120, /* "desc" */ + /* 19 */ ts + 18125, /* "coll" */ + /* 20 */ ts + 18130, /* "key" */ + /* 21 */ ts + 18075, /* "name" */ // Used by: function_list + /* 22 */ ts + 18134, /* "builtin" */ + /* 23 */ ts + 18080, /* "type" */ + /* 24 */ ts + 18142, /* "enc" */ + /* 25 */ ts + 18146, /* "narg" */ + /* 26 */ ts + 18151, /* "flags" */ + /* 27 */ ts + 13521, /* "tbl" */ // Used by: stats + /* 28 */ ts + 13517, /* "idx" */ + /* 29 */ ts + 18157, /* "wdth" */ + /* 30 */ ts + 18162, /* "hght" */ + /* 31 */ ts + 18167, /* "flgs" */ + /* 32 */ ts + 18033, /* "seq" */ // Used by: index_list + /* 33 */ ts + 18075, /* "name" */ + /* 34 */ ts + 18172, /* "unique" */ + /* 35 */ ts + 18179, /* "origin" */ + /* 36 */ ts + 18186, /* "partial" */ + /* 37 */ ts + 8469, /* "table" */ // Used by: foreign_key_check + /* 38 */ ts + 10297, /* "rowid" */ + /* 39 */ ts + 6992, /* "parent" */ + /* 40 */ ts + 18194, /* "fkid" */ // index_info reuses 15 - /* 41 */ ts + 18018, /* "seq" */ // Used by: database_list - /* 42 */ ts + 18060, /* "name" */ - /* 43 */ ts + 18184, /* "file" */ - /* 44 */ ts + 18189, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 18194, /* "log" */ - /* 46 */ ts + 18198, /* "checkpointed" */ + /* 41 */ ts + 18033, /* "seq" */ // Used by: database_list + /* 42 */ ts + 18075, /* "name" */ + /* 43 */ ts + 18199, /* "file" */ + /* 44 */ ts + 18204, /* "busy" */ // Used by: wal_checkpoint + /* 45 */ ts + 18209, /* "log" */ + /* 46 */ ts + 18213, /* "checkpointed" */ // collation_list reuses 32 - /* 47 */ ts + 18211, /* "database" */ // Used by: lock_status - /* 48 */ ts + 18220, /* "status" */ - /* 49 */ ts + 18227, /* "cache_size" */ // Used by: default_cache_size + /* 47 */ ts + 18226, /* "database" */ // Used by: lock_status + /* 48 */ ts + 18235, /* "status" */ + /* 49 */ ts + 18242, /* "cache_size" */ // Used by: default_cache_size // module_list pragma_list reuses 9 - /* 50 */ ts + 18238, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 18253, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas @@ -107866,238 +108374,238 @@ type PragmaName1 = struct { // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [66]PragmaName{ - { /* zName: */ FzName: ts + 18246, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 18261, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18261, /* "application_id" */ + { /* zName: */ FzName: ts + 18276, /* "application_id" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_APPLICATION_ID)}, - { /* zName: */ FzName: ts + 18276, /* "auto_vacuum" */ + { /* zName: */ FzName: ts + 18291, /* "auto_vacuum" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_AUTO_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18288, /* "automatic_index" */ + { /* zName: */ FzName: ts + 18303, /* "automatic_index" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_AutoIndex)}, - { /* zName: */ FzName: ts + 18304, /* "busy_timeout" */ + { /* zName: */ FzName: ts + 18319, /* "busy_timeout" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_BUSY_TIMEOUT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(50), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18227, /* "cache_size" */ + { /* zName: */ FzName: ts + 18242, /* "cache_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18317, /* "cache_spill" */ + { /* zName: */ FzName: ts + 18332, /* "cache_spill" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SPILL), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18329, /* "case_sensitive_l..." */ + { /* zName: */ FzName: ts + 18344, /* "case_sensitive_l..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CASE_SENSITIVE_LIKE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 18349, /* "cell_size_check" */ + { /* zName: */ FzName: ts + 18364, /* "cell_size_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CellSizeCk)}, - { /* zName: */ FzName: ts + 18365, /* "checkpoint_fullf..." */ + { /* zName: */ FzName: ts + 18380, /* "checkpoint_fullf..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CkptFullFSync)}, - { /* zName: */ FzName: ts + 18386, /* "collation_list" */ + { /* zName: */ FzName: ts + 18401, /* "collation_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COLLATION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 18401, /* "compile_options" */ + { /* zName: */ FzName: ts + 18416, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18417, /* "count_changes" */ + { /* zName: */ FzName: ts + 18432, /* "count_changes" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (U64((uint64(0x00001))) << 32)}, - { /* zName: */ FzName: ts + 18431, /* "data_version" */ + { /* zName: */ FzName: ts + 18446, /* "data_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_DATA_VERSION)}, - { /* zName: */ FzName: ts + 18444, /* "database_list" */ + { /* zName: */ FzName: ts + 18459, /* "database_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATABASE_LIST), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_Result0)), /* ColNames: */ FiPragCName: U8(41), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 18458, /* "default_cache_si..." */ + { /* zName: */ FzName: ts + 18473, /* "default_cache_si..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DEFAULT_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1)), /* ColNames: */ FiPragCName: U8(49), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18477, /* "defer_foreign_ke..." */ + { /* zName: */ FzName: ts + 18492, /* "defer_foreign_ke..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_DeferFKs)}, - { /* zName: */ FzName: ts + 18496, /* "empty_result_cal..." */ + { /* zName: */ FzName: ts + 18511, /* "empty_result_cal..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_NullCallback)}, - { /* zName: */ FzName: ts + 18519, /* "encoding" */ + { /* zName: */ FzName: ts + 18534, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18528, /* "foreign_key_chec..." */ + { /* zName: */ FzName: ts + 18543, /* "foreign_key_chec..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_CHECK), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(37), FnPragCName: U8(4)}, - { /* zName: */ FzName: ts + 18546, /* "foreign_key_list" */ + { /* zName: */ FzName: ts + 18561, /* "foreign_key_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), FnPragCName: U8(8)}, - { /* zName: */ FzName: ts + 18563, /* "foreign_keys" */ + { /* zName: */ FzName: ts + 18578, /* "foreign_keys" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ForeignKeys)}, - { /* zName: */ FzName: ts + 18576, /* "freelist_count" */ + { /* zName: */ FzName: ts + 18591, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 18591, /* "full_column_name..." */ + { /* zName: */ FzName: ts + 18606, /* "full_column_name..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullColNames)}, - { /* zName: */ FzName: ts + 18609, /* "fullfsync" */ + { /* zName: */ FzName: ts + 18624, /* "fullfsync" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullFSync)}, - { /* zName: */ FzName: ts + 18619, /* "function_list" */ + { /* zName: */ FzName: ts + 18634, /* "function_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FUNCTION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(21), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 18633, /* "hard_heap_limit" */ + { /* zName: */ FzName: ts + 18648, /* "hard_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HARD_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18649, /* "ignore_check_con..." */ + { /* zName: */ FzName: ts + 18664, /* "ignore_check_con..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_IgnoreChecks)}, - { /* zName: */ FzName: ts + 18674, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 18689, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 18693, /* "index_info" */ + { /* zName: */ FzName: ts + 18708, /* "index_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 18704, /* "index_list" */ + { /* zName: */ FzName: ts + 18719, /* "index_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(5)}, - { /* zName: */ FzName: ts + 18715, /* "index_xinfo" */ + { /* zName: */ FzName: ts + 18730, /* "index_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(6), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 18727, /* "integrity_check" */ + { /* zName: */ FzName: ts + 18742, /* "integrity_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 18743, /* "journal_mode" */ + { /* zName: */ FzName: ts + 18758, /* "journal_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_MODE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18756, /* "journal_size_lim..." */ + { /* zName: */ FzName: ts + 18771, /* "journal_size_lim..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_SIZE_LIMIT), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18775, /* "legacy_alter_tab..." */ + { /* zName: */ FzName: ts + 18790, /* "legacy_alter_tab..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_LegacyAlter)}, - { /* zName: */ FzName: ts + 18794, /* "lock_status" */ + { /* zName: */ FzName: ts + 18809, /* "lock_status" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCK_STATUS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(47), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 18806, /* "locking_mode" */ + { /* zName: */ FzName: ts + 18821, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18819, /* "max_page_count" */ + { /* zName: */ FzName: ts + 18834, /* "max_page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18834, /* "mmap_size" */ + { /* zName: */ FzName: ts + 18849, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 18844, /* "module_list" */ + { /* zName: */ FzName: ts + 18859, /* "module_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MODULE_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18856, /* "optimize" */ + { /* zName: */ FzName: ts + 18871, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 18865, /* "page_count" */ + { /* zName: */ FzName: ts + 18880, /* "page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18876, /* "page_size" */ + { /* zName: */ FzName: ts + 18891, /* "page_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_SIZE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18886, /* "pragma_list" */ + { /* zName: */ FzName: ts + 18901, /* "pragma_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PRAGMA_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 18898, /* "query_only" */ + { /* zName: */ FzName: ts + 18913, /* "query_only" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_QueryOnly)}, - { /* zName: */ FzName: ts + 18909, /* "quick_check" */ + { /* zName: */ FzName: ts + 18924, /* "quick_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 18921, /* "read_uncommitted" */ + { /* zName: */ FzName: ts + 18936, /* "read_uncommitted" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReadUncommit)}, - { /* zName: */ FzName: ts + 18938, /* "recursive_trigge..." */ + { /* zName: */ FzName: ts + 18953, /* "recursive_trigge..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_RecTriggers)}, - { /* zName: */ FzName: ts + 18957, /* "reverse_unordere..." */ + { /* zName: */ FzName: ts + 18972, /* "reverse_unordere..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReverseOrder)}, - { /* zName: */ FzName: ts + 18983, /* "schema_version" */ + { /* zName: */ FzName: ts + 18998, /* "schema_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_SCHEMA_VERSION)}, - { /* zName: */ FzName: ts + 18998, /* "secure_delete" */ + { /* zName: */ FzName: ts + 19013, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19012, /* "short_column_nam..." */ + { /* zName: */ FzName: ts + 19027, /* "short_column_nam..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ShortColNames)}, - { /* zName: */ FzName: ts + 19031, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 19046, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 19045, /* "soft_heap_limit" */ + { /* zName: */ FzName: ts + 19060, /* "soft_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SOFT_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19061, /* "synchronous" */ + { /* zName: */ FzName: ts + 19076, /* "synchronous" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SYNCHRONOUS), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 19073, /* "table_info" */ + { /* zName: */ FzName: ts + 19088, /* "table_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 19084, /* "table_xinfo" */ + { /* zName: */ FzName: ts + 19099, /* "table_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(7), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 19096, /* "temp_store" */ + { /* zName: */ FzName: ts + 19111, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 19107, /* "temp_store_direc..." */ + { /* zName: */ FzName: ts + 19122, /* "temp_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 19128, /* "threads" */ + { /* zName: */ FzName: ts + 19143, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19136, /* "trusted_schema" */ + { /* zName: */ FzName: ts + 19151, /* "trusted_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_TrustedSchema)}, - { /* zName: */ FzName: ts + 19151, /* "user_version" */ + { /* zName: */ FzName: ts + 19166, /* "user_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_USER_VERSION)}, - { /* zName: */ FzName: ts + 19164, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 19179, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 19183, /* "wal_checkpoint" */ + { /* zName: */ FzName: ts + 19198, /* "wal_checkpoint" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_CHECKPOINT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NeedSchema), /* ColNames: */ FiPragCName: U8(44), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 19198, /* "writable_schema" */ + { /* zName: */ FzName: ts + 19213, /* "writable_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError))}, @@ -108134,7 +108642,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 19214 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 19229 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ @@ -108151,10 +108659,10 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:128 // Interpret the given string as a locking mode value. func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ if z != 0 { - if 0 == Xsqlite3StrICmp(tls, z, ts+19239 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19254 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+19249 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19264 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -108167,13 +108675,13 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ var i int32 - if 0 == Xsqlite3StrICmp(tls, z, ts+19256 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19271 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+19261 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19276 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+19266 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19281 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -108191,9 +108699,9 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128566:12: */ if (int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '2') { return (int32(*(*int8)(unsafe.Pointer(z))) - '0') - } else if Xsqlite3StrICmp(tls, z, ts+18184 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+18199 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+19278 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+19293 /* "memory" */) == 0 { return 2 } else { return 0 @@ -108209,7 +108717,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || (Xsqlite3BtreeTxnState(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) != SQLITE_TXN_NONE) { Xsqlite3ErrorMsg(tls, pParse, - ts+19285 /* "temporary storag..." */, 0) + ts+19300 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) @@ -108309,19 +108817,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 19347 /* "SET NULL" */ + zName = ts + 19362 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 19356 /* "SET DEFAULT" */ + zName = ts + 19371 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 19368 /* "CASCADE" */ + zName = ts + 19383 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 19376 /* "RESTRICT" */ + zName = ts + 19391 /* "RESTRICT" */ break default: - zName = ts + 19385 /* "NO ACTION" */ + zName = ts + 19400 /* "NO ACTION" */ break } return zName @@ -108339,7 +108847,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 19395 /* "delete" */, ts + 19402 /* "persist" */, ts + 19410 /* "off" */, ts + 19414 /* "truncate" */, ts + 19278 /* "memory" */, ts + 19423, /* "wal" */ + ts + 19410 /* "delete" */, ts + 19417 /* "persist" */, ts + 19425 /* "off" */, ts + 19429 /* "truncate" */, ts + 19293 /* "memory" */, ts + 19438, /* "wal" */ } /* sqlite3.c:128715:15 */ // Locate a pragma in the aPragmaName[] array. @@ -108385,13 +108893,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 19427 /* "w" */ + zType = ts + 19442 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 19429 /* "a" */ + zType = ts + 19444 /* "a" */ } else { - zType = ts + 19431 /* "s" */ + zType = ts + 19446 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19433, /* "sissii" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19448, /* "sissii" */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, azEnc[((*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK))], int32((*FuncDef)(unsafe.Pointer(p)).FnArg), @@ -108400,7 +108908,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } var mask U32 = (U32((((SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY) | SQLITE_SUBTYPE) | SQLITE_INNOCUOUS) | SQLITE_FUNC_INTERNAL)) /* sqlite3.c:128765:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 19440 /* "utf8" */, ts + 19445 /* "utf16le" */, ts + 19453 /* "utf16be" */} /* sqlite3.c:128772:23 */ +var azEnc = [4]uintptr{uintptr(0), ts + 19455 /* "utf8" */, ts + 19460 /* "utf16le" */, ts + 19468 /* "utf16be" */} /* sqlite3.c:128772:23 */ // Helper subroutine for PRAGMA integrity_check: // @@ -108668,7 +109176,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+19461 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+19476 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -108723,7 +109231,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 384 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 384 /* &aFcntl[0] */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 384 /* &aFcntl[0] */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 384 /* &aFcntl[0] */))) __10: ; @@ -109299,7 +109807,7 @@ __18: if !(zRight != 0) { goto __63 } - if !(Xsqlite3_stricmp(tls, zRight, ts+19465 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+19480 /* "fast" */) == 0) { goto __64 } b = 2 @@ -109388,7 +109896,7 @@ __71: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 19249 /* "normal" */ + zRet = ts + 19264 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -109429,7 +109937,7 @@ __78: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __83 } - zRet = ts + 19239 /* "exclusive" */ + zRet = ts + 19254 /* "exclusive" */ __83: ; returnSingleText(tls, v, zRet) @@ -109794,7 +110302,7 @@ __123: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 448 /* res */)) == 0)) { goto __126 } - Xsqlite3ErrorMsg(tls, pParse, ts+19470 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19485 /* "not a writable d..." */, 0) goto pragma_out __126: ; @@ -109812,7 +110320,7 @@ __127: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __128 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+16, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+16, zRight)) goto __129 __128: Xsqlite3_temp_directory = uintptr(0) @@ -109840,7 +110348,7 @@ __130: goto __132 } Xsqlite3ErrorMsg(tls, pParse, - ts+19495 /* "Safety level may..." */, 0) + ts+19510 /* "Safety level may..." */, 0) goto __133 __132: if !(iDb != 1) { @@ -109999,13 +110507,13 @@ __154: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 19548 /* "issisii" */ + return ts + 19563 /* "issisii" */ } - return ts + 19556 /* "issisi" */ + return ts + 19571 /* "issisi" */ }(), libc.VaList(bp+24, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+900 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+915 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -110080,7 +110588,7 @@ __166: goto __168 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19563 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19578 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -110090,7 +110598,7 @@ __166: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __169 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+19568, /* "isiX" */ + Xsqlite3VdbeMultiLoad(tls, v, 4, ts+19583, /* "isiX" */ libc.VaList(bp+104, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) @@ -110127,8 +110635,8 @@ __172: if !(pIdx1 != 0) { goto __174 } - *(*[3]uintptr)(unsafe.Pointer(bp + 456 /* azOrigin */)) = [3]uintptr{ts + 19573 /* "c" */, ts + 19575 /* "u" */, ts + 18089 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19577, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 456 /* azOrigin */)) = [3]uintptr{ts + 19588 /* "c" */, ts + 19590 /* "u" */, ts + 18104 /* "pk" */} + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19592, /* "isisi" */ libc.VaList(bp+128, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), @@ -110162,7 +110670,7 @@ __175: __178: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19583, /* "iss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19598, /* "iss" */ libc.VaList(bp+168, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FpBt))) @@ -110185,7 +110693,7 @@ __179: goto __181 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19587 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19602 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __180 __180: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -110249,7 +110757,7 @@ __191: goto __193 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19431 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19446 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __192 __192: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -110266,7 +110774,7 @@ __194: if !(i6 < (int32(uint64(unsafe.Sizeof(aPragmaName)) / uint64(unsafe.Sizeof(PragmaName{}))))) { goto __196 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19431 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19446 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) goto __195 __195: i6++ @@ -110302,7 +110810,7 @@ __202: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __204 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19590, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19605, /* "iissssss" */ libc.VaList(bp+224, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -110310,7 +110818,7 @@ __202: (*sColMap)(unsafe.Pointer((pFK+64 /* &.aCol */)+uintptr(j2)*16)).FzCol, actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */) + 1))), // ON UPDATE actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */)))), // ON DELETE - ts+4891 /* "NONE" */)) + ts+4906 /* "NONE" */)) goto __203 __203: j2++ @@ -110503,7 +111011,7 @@ __231: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __232: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+19599 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+19614 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 488 /* aiCols */))) @@ -110769,7 +111277,7 @@ __259: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+19603 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+19618 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -110859,7 +111367,7 @@ __278: __279: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+19627 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+19642 /* "NULL value in %s..." */, libc.VaList(bp+312, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*32)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -110899,7 +111407,7 @@ __284: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+19647, /* "CHECK constraint..." */ + zErr1 = Xsqlite3MPrintf(tls, db, ts+19662, /* "CHECK constraint..." */ libc.VaList(bp+328, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) @@ -110933,9 +111441,9 @@ __289: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 504 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+19677 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+19692 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+19682 /* " missing from in..." */) + Xsqlite3VdbeLoadString(tls, v, 4, ts+19697 /* " missing from in..." */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) jmp5 = Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) @@ -110975,7 +111483,7 @@ __293: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 504 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+19703 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+19718 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __290: @@ -110997,7 +111505,7 @@ __285: if !(!(isQuick != 0)) { goto __295 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+19730 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+19745 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __296: @@ -111048,7 +111556,7 @@ __241: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 496 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*32)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*32 + 16 /* &.p4 */)) = ts + 5213 /* "ok" */ + *(*uintptr)(unsafe.Pointer(aOp2 + 2*32 + 16 /* &.p4 */)) = ts + 5228 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*32)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 5*32 + 16 /* &.p4 */)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT) __300: @@ -111126,7 +111634,7 @@ __307: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __309 } - Xsqlite3ErrorMsg(tls, pParse, ts+19759 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+19774 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) __309: ; __304: @@ -111238,19 +111746,19 @@ __47: if !(zRight != 0) { goto __316 } - if !(Xsqlite3StrICmp(tls, zRight, ts+19261 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19276 /* "full" */) == 0) { goto __317 } eMode2 = SQLITE_CHECKPOINT_FULL goto __318 __317: - if !(Xsqlite3StrICmp(tls, zRight, ts+19784 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19799 /* "restart" */) == 0) { goto __319 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __320 __319: - if !(Xsqlite3StrICmp(tls, zRight, ts+19414 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19429 /* "truncate" */) == 0) { goto __321 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -111437,7 +111945,7 @@ __336: __338: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+19792, /* "ANALYZE \"%w\".\"%w..." */ + zSubSql = Xsqlite3MPrintf(tls, db, ts+19807, /* "ANALYZE \"%w\".\"%w..." */ libc.VaList(bp+344, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __339 @@ -111572,7 +112080,7 @@ __347: if !(i11 < (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __349 } - zState = ts + 19810 /* "unknown" */ + zState = ts + 19825 /* "unknown" */ if !((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName == uintptr(0)) { goto __350 } @@ -111583,7 +112091,7 @@ __350: if !((pBt3 == uintptr(0)) || (Xsqlite3BtreePager(tls, pBt3) == uintptr(0))) { goto __351 } - zState = ts + 19818 /* "closed" */ + zState = ts + 19833 /* "closed" */ goto __352 __351: if !(Xsqlite3_file_control(tls, db, func() uintptr { @@ -111600,7 +112108,7 @@ __353: ; __352: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19825 /* "ss" */, libc.VaList(bp+360, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName, zState)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19840 /* "ss" */, libc.VaList(bp+360, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName, zState)) goto __348 __348: i11++ @@ -111667,14 +112175,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 19828 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 19833 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 19839 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 19848 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 19857 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 19865 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 19873 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 19880 /* "UTF16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 19843 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, + {FzName: ts + 19848 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] + {FzName: ts + 19854 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] + {FzName: ts + 19863 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] + {FzName: ts + 19872 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, + {FzName: ts + 19880 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, + {FzName: ts + 19888 /* "UTF-16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 19895 /* "UTF16" */}, // SQLITE_UTF16NATIVE {}, } /* sqlite3.c:130285:7 */ var setCookie = [2]VdbeOpList{ @@ -111687,7 +112195,7 @@ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, } /* sqlite3.c:130380:31 */ var azLockName = [5]uintptr{ - ts + 19886 /* "unlocked" */, ts + 19895 /* "shared" */, ts + 19902 /* "reserved" */, ts + 19911 /* "pending" */, ts + 19239, /* "exclusive" */ + ts + 19901 /* "unlocked" */, ts + 19910 /* "shared" */, ts + 19917 /* "reserved" */, ts + 19926 /* "pending" */, ts + 19254, /* "exclusive" */ } /* sqlite3.c:130688:23 */ // **************************************************************************** // @@ -111734,7 +112242,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argc _ = argv Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+64 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19919 /* "CREATE TABLE x" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19934 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -111742,7 +112250,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19934 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19949 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -111755,19 +112263,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19941 /* "(\"%s\"" */, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19956 /* "(\"%s\"" */, 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 /* &acc */, ts+19947 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19962 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19959 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19974 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+6887 /* ")" */, 1) Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) rc = Xsqlite3_declare_vtab(tls, db, bp+64 /* &zBuf[0] */) @@ -111783,7 +112291,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -111946,7 +112454,7 @@ __1: var zText uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, zText)) + *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, zText)) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) == uintptr(0) { return SQLITE_NOMEM } @@ -111962,13 +112470,13 @@ __2: __3: ; Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 128 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19974 /* "PRAGMA " */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19989 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19982 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19997 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) } Xsqlite3_str_appendall(tls, bp+32 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19986 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+20001 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) } zSql = Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) if zSql == uintptr(0) { @@ -111977,7 +112485,7 @@ __3: rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -112070,12 +112578,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) // A error message has already been generated. Do not overwrite it } else if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & (U32(INITFLAG_AlterRename | INITFLAG_AlterDrop))) != 0 { *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db, - ts+19990 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), + ts+20005 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), func() uintptr { if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & U32(INITFLAG_AlterRename)) != 0 { - return ts + 20018 /* "rename" */ + return ts + 20033 /* "rename" */ } - return ts + 20025 /* "drop column" */ + return ts + 20040 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -112087,11 +112595,11 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { zObj = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - zObj = ts + 6925 /* "?" */ + zObj = ts + 6940 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+20037 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+20052 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+20068 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+20083 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -112168,7 +112676,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr if (Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (db+184 /* &.init */ /* &.newTnum */)) == 0) || (((*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum > (*InitData)(unsafe.Pointer(pData)).FmxPage) && ((*InitData)(unsafe.Pointer(pData)).FmxPage > Pgno(0))) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+16147 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+16162 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -112205,13 +112713,13 @@ 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+20076 /* "orphan index" */) + corruptSchema(tls, pData, argv, ts+20091 /* "orphan index" */) } else if (((Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (pIndex+88 /* &.tnum */)) == 0) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2))) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage)) || (Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+16147 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+16162 /* "invalid rootpage" */) } } } @@ -112254,16 +112762,16 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 8454 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 8469 /* "table" */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 10119 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 20089 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 10134 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 20104 /* "CREATE TABLE x(t..." */ *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 5*8)) = uintptr(0) (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FiDb = iDb @@ -112376,7 +112884,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+13789 /* "attached databas..." */) + ts+13804 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -112416,7 +112924,7 @@ __16: if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) { goto __17 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+20161 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+20176 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -112438,7 +112946,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+20185, /* "SELECT*FROM\"%w\"...." */ + ts+20200, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName)) xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth @@ -112798,7 +113306,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+20219 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+20234 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -112826,7 +113334,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+20249 /* "statement too lo..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+20264 /* "statement too lo..." */, 0) rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG) goto end_prepare __10: @@ -112889,7 +113397,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+936 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+951 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */))) goto __21 __20: @@ -113364,24 +113872,24 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC } } if ((jointype & (JT_INNER | JT_OUTER)) == (JT_INNER | JT_OUTER)) || ((jointype & JT_ERROR) != 0) { - var zSp uintptr = ts + 12911 /* " " */ + var zSp uintptr = ts + 12926 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+20268 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) + ts+20283 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) jointype = JT_INNER } else if ((jointype & JT_OUTER) != 0) && ((jointype & (JT_LEFT | JT_RIGHT)) != JT_LEFT) { Xsqlite3ErrorMsg(tls, pParse, - ts+20312 /* "RIGHT and FULL O..." */, 0) + ts+20327 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 20367 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 20382 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -113587,7 +114095,7 @@ __1: if (int32((*SrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype) & JT_NATURAL) != 0 { if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) || ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+20401 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) + ts+20416 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) return 1 } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { @@ -113611,7 +114119,7 @@ __1: // Disallow both ON and USING clauses in the same join if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) && ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+20451 /* "cannot have both..." */, 0) + ts+20466 /* "cannot have both..." */, 0) return 1 } @@ -113646,7 +114154,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+20506 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) + ts+20521 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) return 1 } addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 24 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 28 /* iLeftCol */)), (i + 1), iRightCol, @@ -113841,7 +114349,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:132803:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) - Xsqlite3VdbeComment(tls, v, ts+20570 /* "OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20585 /* "OFFSET" */, 0) } } @@ -114055,7 +114563,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo if srcTab >= 0 { for i = 0; i < nResultCol; i++ { Xsqlite3VdbeAddOp3(tls, v, OP_Column, srcTab, i, (regResult + i)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList+8 /* &.a */)+uintptr(i)*32)).FzEName)) } } else if eDest != SRT_Exists { // If the destination is an EXISTS(...) expression, the actual @@ -114437,16 +114945,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 20577 /* "UNION ALL" */ + z = ts + 20592 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 20587 /* "INTERSECT" */ + z = ts + 20602 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 20597 /* "EXCEPT" */ + z = ts + 20612 /* "EXCEPT" */ break default: - z = ts + 20604 /* "UNION" */ + z = ts + 20619 /* "UNION" */ break } return z @@ -114464,7 +114972,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite bp := tls.Alloc(8) defer tls.Free(8) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20610 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20625 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } // Assign expression b to lvalue a. A second, no-op, version of this macro @@ -114558,7 +115066,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n iRead = libc.PostDecInt32(&iCol, 1) } Xsqlite3VdbeAddOp3(tls, v, OP_Column, iSortTab, iRead, (regRow + i)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(aOutEx+uintptr(i)*32)).FzEName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(aOutEx+uintptr(i)*32)).FzEName)) } } @@ -114734,8 +115242,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 14687 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 10282 /* "rowid" */ + zType = ts + 14702 /* "INTEGER" */ + *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 10297 /* "rowid" */ } else { *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName zType = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), uintptr(0)) @@ -114888,13 +115396,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 10282 /* "rowid" */ + zCol = ts + 10297 /* "rowid" */ } else { zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } if fullName != 0 { var zName uintptr = uintptr(0) - zName = Xsqlite3MPrintf(tls, db, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) + zName = Xsqlite3MPrintf(tls, db, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } else { Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, libc.UintptrFromInt32(-1)) @@ -114902,7 +115410,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*32)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+20633 /* "column%d" */, libc.VaList(bp+16, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+20648 /* "column%d" */, libc.VaList(bp+16, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -114991,7 +115499,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } else { - zName = ts + 10282 /* "rowid" */ + zName = ts + 10297 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -115004,7 +115512,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+20633 /* "column%d" */, libc.VaList(bp, (i+1))) + zName = Xsqlite3MPrintf(tls, db, ts+20648 /* "column%d" */, libc.VaList(bp, (i+1))) } // Make sure the column name is unique. If the name is not unique, @@ -115019,7 +115527,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+20642 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) + zName = Xsqlite3MPrintf(tls, db, ts+20657 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) if *(*U32)(unsafe.Pointer(bp + 56 /* cnt */)) > U32(3) { Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &cnt */) } @@ -115220,7 +115728,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 if Xsqlite3ExprIsInteger(tls, (*Expr)(unsafe.Pointer(pLimit)).FpLeft, bp /* &n */) != 0 { Xsqlite3VdbeAddOp2(tls, v, OP_Integer, *(*int32)(unsafe.Pointer(bp /* n */)), iLimit) - Xsqlite3VdbeComment(tls, v, ts+20650 /* "LIMIT counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20665 /* "LIMIT counter" */, 0) if *(*int32)(unsafe.Pointer(bp /* n */)) == 0 { Xsqlite3VdbeGoto(tls, v, iBreak) } else if (*(*int32)(unsafe.Pointer(bp /* n */)) >= 0) && (int32((*Select)(unsafe.Pointer(p)).FnSelectRow) > int32(Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp /* n */)))))) { @@ -115230,7 +115738,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 } else { Xsqlite3ExprCode(tls, pParse, (*Expr)(unsafe.Pointer(pLimit)).FpLeft, iLimit) Xsqlite3VdbeAddOp1(tls, v, OP_MustBeInt, iLimit) - Xsqlite3VdbeComment(tls, v, ts+20650 /* "LIMIT counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20665 /* "LIMIT counter" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_IfNot, iLimit, iBreak) } if (*Expr)(unsafe.Pointer(pLimit)).FpRight != 0 { @@ -115238,9 +115746,9 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 (*Parse)(unsafe.Pointer(pParse)).FnMem++ // Allocate an extra register for limit+offset Xsqlite3ExprCode(tls, pParse, (*Expr)(unsafe.Pointer(pLimit)).FpRight, iOffset) Xsqlite3VdbeAddOp1(tls, v, OP_MustBeInt, iOffset) - Xsqlite3VdbeComment(tls, v, ts+20664 /* "OFFSET counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20679 /* "OFFSET counter" */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_OffsetLimit, iLimit, (iOffset + 1), iOffset) - Xsqlite3VdbeComment(tls, v, ts+20679 /* "LIMIT+OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20694 /* "LIMIT+OFFSET" */, 0) } } } @@ -115376,7 +115884,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+20692 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20707 /* "cannot use windo..." */, 0) return __1: ; @@ -115460,7 +115968,7 @@ __9: Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, iQueue, nCol) __10: ; - Xsqlite3VdbeComment(tls, v, ts+20741 /* "Queue table" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20756 /* "Queue table" */, 0) if !(iDistinct != 0) { goto __11 } @@ -115487,7 +115995,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+20753 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20768 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -115509,7 +116017,7 @@ __14: // Store the results of the setup-query in Queue. pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior (*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20795 /* "SETUP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20810 /* "SETUP" */, 0) rc = Xsqlite3Select(tls, pParse, pSetup, bp /* &destQueue */) (*Select)(unsafe.Pointer(pSetup)).FpNext = p if !(rc != 0) { @@ -115552,7 +116060,7 @@ __20: // Execute the recursive SELECT taking the single row in Current as // the value for the recursive-table. Store the results in the Queue. (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20801 /* "RECURSIVE STEP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20816 /* "RECURSIVE STEP" */, 0) Xsqlite3Select(tls, pParse, p, bp /* &destQueue */) (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -115602,11 +116110,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+20816 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20831 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { if nRow == 1 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 20839 /* "S" */ + return ts + 20854 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -115758,8 +116266,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20841 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20856 /* "LEFT-MOST SUBQUE..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20856 /* "COMPOUND QUERY" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20871 /* "LEFT-MOST SUBQUE..." */, 0) __8: ; @@ -115798,7 +116306,7 @@ __14: goto __15 } addr = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, (*Select)(unsafe.Pointer(p)).FiLimit) - Xsqlite3VdbeComment(tls, v, ts+20875 /* "Jump ahead if LI..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+20890 /* "Jump ahead if LI..." */, 0) if !((*Select)(unsafe.Pointer(p)).FiOffset != 0) { goto __16 } @@ -115808,7 +116316,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20577 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20592 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) @@ -115884,7 +116392,7 @@ __23: pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 64 /* &uniondest */)).FeDest = op - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20903 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20918 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+64 /* &uniondest */) @@ -115956,7 +116464,7 @@ __26: pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 104 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20903 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20918 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+104 /* &intersectdest */) @@ -116117,10 +116625,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+20924 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20939 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+20970, /* "SELECTs to the l..." */ + ts+20985, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -116500,9 +117008,9 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Separate the left and the right query from one another (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) (*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) - Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9344 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+9359 /* "ORDER" */) if (*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+9344 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+9359 /* "ORDER" */) } // Compute the limit registers @@ -116531,15 +117039,15 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) Xsqlite3SelectDestInit(tls, bp+8 /* &destA */, SRT_Coroutine, regAddrA) Xsqlite3SelectDestInit(tls, bp+48 /* &destB */, SRT_Coroutine, regAddrB) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21052 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21067 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) // Generate a coroutine to evaluate the SELECT statement to the // left of the compound operator - the "A" select. addrSelectA = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA) - Xsqlite3VdbeComment(tls, v, ts+21063 /* "left SELECT" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21078 /* "left SELECT" */, 0) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21075 /* "LEFT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21090 /* "LEFT" */, 0) Xsqlite3Select(tls, pParse, pPrior, bp+8 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -116548,12 +117056,12 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // the right - the "B" select addrSelectB = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrB, 0, addrSelectB) - Xsqlite3VdbeComment(tls, v, ts+21080 /* "right SELECT" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21095 /* "right SELECT" */, 0) savedLimit = (*Select)(unsafe.Pointer(p)).FiLimit savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset (*Select)(unsafe.Pointer(p)).FiLimit = regLimitB (*Select)(unsafe.Pointer(p)).FiOffset = 0 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21093 /* "RIGHT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21108 /* "RIGHT" */, 0) Xsqlite3Select(tls, pParse, p, bp+48 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -116561,7 +117069,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Generate a subroutine that outputs the current row of the A // select as the next output row of the compound select. - Xsqlite3VdbeNoopComment(tls, v, ts+21099 /* "Output routine f..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21114 /* "Output routine f..." */, 0) addrOutA = generateOutputSubroutine(tls, pParse, p, bp+8 /* &destA */, pDest, regOutA, regPrev, pKeyDup, labelEnd) @@ -116569,7 +117077,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Generate a subroutine that outputs the current row of the B // select as the next output row of the compound select. if (op == TK_ALL) || (op == TK_UNION) { - Xsqlite3VdbeNoopComment(tls, v, ts+21120 /* "Output routine f..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21135 /* "Output routine f..." */, 0) addrOutB = generateOutputSubroutine(tls, pParse, p, bp+48 /* &destB */, pDest, regOutB, regPrev, pKeyDup, labelEnd) @@ -116581,7 +117089,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) if (op == TK_EXCEPT) || (op == TK_INTERSECT) { addrEofA_noB = libc.AssignInt32(&addrEofA, labelEnd) } else { - Xsqlite3VdbeNoopComment(tls, v, ts+21141 /* "eof-A subroutine" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21156 /* "eof-A subroutine" */, 0) addrEofA = Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutB, addrOutB) addrEofA_noB = Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regAddrB, labelEnd) @@ -116597,14 +117105,14 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (*Select)(unsafe.Pointer(p)).FnSelectRow = (*Select)(unsafe.Pointer(pPrior)).FnSelectRow } } else { - Xsqlite3VdbeNoopComment(tls, v, ts+21158 /* "eof-B subroutine" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21173 /* "eof-B subroutine" */, 0) addrEofB = Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutA, addrOutA) Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regAddrA, labelEnd) Xsqlite3VdbeGoto(tls, v, addrEofB) } // Generate code to handle the case of AB - Xsqlite3VdbeNoopComment(tls, v, ts+21211 /* "A-gt-B subroutin..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21226 /* "A-gt-B subroutin..." */, 0) addrAgtB = Xsqlite3VdbeCurrentAddr(tls, v) if (op == TK_ALL) || (op == TK_UNION) { Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutB, addrOutB) @@ -116750,7 +117258,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 463 /* "BINARY" */ + return ts + 478 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -117963,12 +118471,12 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 return U8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8 /* &.u */)) - if Xsqlite3StrICmp(tls, zFunc, ts+17127 /* "min" */) == 0 { + if Xsqlite3StrICmp(tls, zFunc, ts+17142 /* "min" */) == 0 { eRet = WHERE_ORDERBY_MIN if Xsqlite3ExprCanBeNull(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */))).FpExpr) != 0 { sortFlags = U8(KEYINFO_ORDER_BIGNULL) } - } else if Xsqlite3StrICmp(tls, zFunc, ts+17131 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+17146 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -118037,7 +118545,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+21229 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) + Xsqlite3ErrorMsg(tls, pParse, ts+21244 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) return SQLITE_ERROR } @@ -118148,7 +118656,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s defer tls.Free(8) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21247 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21262 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) return 1 } return 0 @@ -118336,7 +118844,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+60 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+21270 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+21285 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -118352,7 +118860,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21313 /* "circular referen..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21328 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { @@ -118378,7 +118886,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+21336, /* "table %s has %d ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21351, /* "table %s has %d ..." */ libc.VaList(bp+16, (*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 @@ -118389,9 +118897,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom Xsqlite3ColumnsFromExprList(tls, pParse, pEList, (pTab + 70 /* &.nCol */), (pTab + 8 /* &.aCol */)) if bMayRecursive != 0 { if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21374 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21389 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21408 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21423 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -118439,7 +118947,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+21446 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + (*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+21461 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) } for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior @@ -118566,7 +119074,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+21458, /* "too many referen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21473, /* "too many referen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) (*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return WRC_Abort @@ -118585,7 +119093,7 @@ __1: if (((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (((*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+21497, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21512, /* "access to view \"..." */ libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -118593,7 +119101,7 @@ __1: ((uint32(int32(*(*uint16)(unsafe.Pointer((pFrom + 60 /* &.fg */) + 4 /* &.fromDDL */)) & 0x40 >> 6))) != 0)) && ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+21528, /* "unsafe use of vi..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21543, /* "unsafe use of vi..." */ libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) @@ -118708,7 +119216,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName } else { - zSchemaName = ts + 21561 /* "*" */ + zSchemaName = ts + 21576 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -118757,7 +119265,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+10215 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+10230 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) zToFree = zColname } } else { @@ -118773,7 +119281,7 @@ __3: (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSub)).FpEList+8 /* &.a */)+uintptr(j)*32)).FzEName) } else { - (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+21563, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+21578, /* "%s.%s.%s" */ libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } @@ -118793,9 +119301,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21572 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21587 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+21590 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21605 /* "no tables specif..." */, 0) } } } @@ -118805,7 +119313,7 @@ __3: } if (*Select)(unsafe.Pointer(p)).FpEList != 0 { if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+21610 /* "too many columns..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21625 /* "too many columns..." */, 0) return WRC_Abort } if (elistFlags & (U32(EP_HasFunc | EP_Subquery))) != U32(0) { @@ -118993,13 +119501,13 @@ __1: if (*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)) == uintptr(0)) || ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)))).FnExpr != 1) { Xsqlite3ErrorMsg(tls, pParse, - ts+21641 /* "DISTINCT aggrega..." */, 0) + ts+21656 /* "DISTINCT aggrega..." */, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1 } else { var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)), 0, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -9) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21692 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21707 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } @@ -119199,19 +119707,19 @@ 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 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21725, /* "SCAN %s%s%s" */ + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21740, /* "SCAN %s%s%s" */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if bCover != 0 { - return ts + 21737 /* " USING COVERING ..." */ + return ts + 21752 /* " USING COVERING ..." */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) } } @@ -119231,7 +119739,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { if (Xsqlite3ExprIsConstantOrGroupBy(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*Select)(unsafe.Pointer(pS)).FpGroupBy) != 0) && ((libc.Bool32(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromJoin | EP_IsFalse))) == U32(EP_IsFalse))) == 0) { var db uintptr = (*Parse)(unsafe.Pointer((*Walker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10119 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10134 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -119533,7 +120041,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+21760, /* "target object/al..." */ + ts+21775, /* "target object/al..." */ libc.VaList(bp, func() uintptr { if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 { return (*SrcItem)(unsafe.Pointer(p0)).FzAlias @@ -119613,7 +120121,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+21814, /* "expected %d colu..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21829, /* "expected %d colu..." */ 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 __18: @@ -119754,7 +120262,7 @@ __29: if !(((*SrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0)) && ((*SrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0))) { goto __32 } - Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+900 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+915 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -119816,10 +120324,10 @@ __35: (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) - Xsqlite3VdbeComment(tls, v, ts+21854 /* "%!S" */, libc.VaList(bp+32, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+21869 /* "%!S" */, libc.VaList(bp+32, pItem1)) (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop Xsqlite3SelectDestInit(tls, bp+128 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21858 /* "CO-ROUTINE %!S" */, libc.VaList(bp+40, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21873 /* "CO-ROUTINE %!S" */, libc.VaList(bp+40, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+128 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) @@ -119874,14 +120382,14 @@ __41: // a trigger, then we only need to compute the value of the subquery // once. onceAddr = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeComment(tls, v, ts+21873 /* "materialize %!S" */, libc.VaList(bp+48, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+21888 /* "materialize %!S" */, libc.VaList(bp+48, pItem1)) goto __45 __44: - Xsqlite3VdbeNoopComment(tls, v, ts+21873 /* "materialize %!S" */, libc.VaList(bp+56, pItem1)) + Xsqlite3VdbeNoopComment(tls, v, ts+21888 /* "materialize %!S" */, libc.VaList(bp+56, pItem1)) __45: ; Xsqlite3SelectDestInit(tls, bp+128 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21889 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21904 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+128 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { @@ -119891,7 +120399,7 @@ __45: __46: ; retAddr = Xsqlite3VdbeAddOp1(tls, v, OP_Return, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeComment(tls, v, ts+21905 /* "end %!S" */, libc.VaList(bp+72, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+21920 /* "end %!S" */, libc.VaList(bp+72, pItem1)) Xsqlite3VdbeChangeP1(tls, v, topAddr, retAddr) Xsqlite3ClearTempRegCache(tls, pParse) if !(((uint32(int32(*(*uint16)(unsafe.Pointer((pItem1 + 60 /* &.fg */) + 4 /* &.isCte */)) & 0x80 >> 7))) != 0) && ((int32(*(*uint16)(unsafe.Pointer((pItem1 + 60 /* &.fg */) + 4 /* &.isCorrelated */)) & 0x8 >> 3)) == 0)) { @@ -120104,12 +120612,12 @@ __65: Xsqlite3VdbeAddOp2(tls, v, OP_Goto, 0, iBreak) Xsqlite3VdbeResolveLabel(tls, v, addrGosub) - Xsqlite3VdbeNoopComment(tls, v, ts+21913 /* "inner-loop subro..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+21928 /* "inner-loop subro..." */, 0) (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FlabelOBLopt = 0 selectInnerLoop(tls, pParse, p, -1, bp+80 /* &sSort */, bp+168 /* &sDistinct */, pDest, iCont, iBreak) Xsqlite3VdbeResolveLabel(tls, v, iCont) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regGosub) - Xsqlite3VdbeComment(tls, v, ts+21935 /* "end inner-loop s..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+21950 /* "end inner-loop s..." */, 0) Xsqlite3VdbeResolveLabel(tls, v, iBreak) goto __67 __66: @@ -120363,7 +120871,7 @@ __95: iBMem = ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1) *(*int32)(unsafe.Pointer(pParse + 56 /* &.nMem */)) += ((*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, iAbortFlag) - Xsqlite3VdbeComment(tls, v, ts+21961 /* "clear abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21976 /* "clear abort flag" */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, iAMem, ((iAMem + (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) - 1)) // Begin a loop that will extract all source rows in GROUP BY order. @@ -120401,9 +120909,9 @@ __97: explainTempTable(tls, pParse, func() uintptr { if ((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { - return ts + 21978 /* "DISTINCT" */ + return ts + 21993 /* "DISTINCT" */ } - return ts + 21987 /* "GROUP BY" */ + return ts + 22002 /* "GROUP BY" */ }()) groupBySort = 1 @@ -120465,7 +120973,7 @@ __105: sortOut = Xsqlite3GetTempReg(tls, pParse) Xsqlite3VdbeAddOp3(tls, v, OP_OpenPseudo, sortPTab, sortOut, nCol) Xsqlite3VdbeAddOp2(tls, v, OP_SorterSort, (*AggInfo)(unsafe.Pointer(pAggInfo)).FsortingIdx, addrEnd) - Xsqlite3VdbeComment(tls, v, ts+21996 /* "GROUP BY sort" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22011 /* "GROUP BY sort" */, 0) (*AggInfo)(unsafe.Pointer(pAggInfo)).FuseSortingIdx = U8(1) __98: ; @@ -120535,18 +121043,18 @@ __111: // for the next GROUP BY batch. Xsqlite3ExprCodeMove(tls, pParse, iBMem, iAMem, (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutputRow, addrOutputRow) - Xsqlite3VdbeComment(tls, v, ts+22010 /* "output one row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22025 /* "output one row" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_IfPos, iAbortFlag, addrEnd) - Xsqlite3VdbeComment(tls, v, ts+22025 /* "check abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22040 /* "check abort flag" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regReset, addrReset) - Xsqlite3VdbeComment(tls, v, ts+22042 /* "reset accumulato..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22057 /* "reset accumulato..." */, 0) // Update the aggregate accumulators based on the content of // the current row Xsqlite3VdbeJumpHere(tls, v, addr1) updateAccumulator(tls, pParse, iUseFlag, pAggInfo, eDist) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, iUseFlag) - Xsqlite3VdbeComment(tls, v, ts+22060 /* "indicate data in..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22075 /* "indicate data in..." */, 0) // End of the loop if !(groupBySort != 0) { @@ -120565,7 +121073,7 @@ __115: // Output the final row of result Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutputRow, addrOutputRow) - Xsqlite3VdbeComment(tls, v, ts+22089 /* "output final row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22104 /* "output final row" */, 0) // Jump over the subroutines Xsqlite3VdbeGoto(tls, v, addrEnd) @@ -120578,13 +121086,13 @@ __115: // order to signal the caller to abort. addrSetAbort = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, iAbortFlag) - Xsqlite3VdbeComment(tls, v, ts+22106 /* "set abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22121 /* "set abort flag" */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) Xsqlite3VdbeResolveLabel(tls, v, addrOutputRow) addrOutputRow = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_IfPos, iUseFlag, (addrOutputRow + 2)) - Xsqlite3VdbeComment(tls, v, ts+22121 /* "Groupby result g..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22136 /* "Groupby result g..." */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) finalizeAggFunctions(tls, pParse, pAggInfo) Xsqlite3ExprIfFalse(tls, pParse, pHaving, (addrOutputRow + 1), SQLITE_JUMPIFNULL) @@ -120592,13 +121100,13 @@ __115: bp+168 /* &sDistinct */, pDest, (addrOutputRow + 1), addrSetAbort) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) - Xsqlite3VdbeComment(tls, v, ts+22158 /* "end groupby resu..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22173 /* "end groupby resu..." */, 0) // Generate a subroutine that will reset the group-by accumulator Xsqlite3VdbeResolveLabel(tls, v, addrReset) resetAccumulator(tls, pParse, pAggInfo) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, iUseFlag) - Xsqlite3VdbeComment(tls, v, ts+22187 /* "indicate accumul..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22202 /* "indicate accumul..." */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regReset) if !(eDist != WHERE_DISTINCT_NOOP) { @@ -120820,7 +121328,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+21978 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+21993 /* "DISTINCT" */) __140: ; @@ -120832,9 +121340,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FnOBSat > 0 { - return ts + 22214 /* "RIGHT PART OF OR..." */ + return ts + 22229 /* "RIGHT PART OF OR..." */ } - return ts + 22237 /* "ORDER BY" */ + return ts + 22252 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+80 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -120968,7 +121476,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if !(z == uintptr(0)) { goto __10 } @@ -120990,7 +121498,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+22246 /* "sqlite3_get_tabl..." */, 0) + ts+22261 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -121089,7 +121597,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) } @@ -121250,7 +121758,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+22311 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22326 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -121311,7 +121819,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+22357 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+22372 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+40 /* &sFix */, pTableName) != 0) { goto __9 } @@ -121329,7 +121837,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+22365 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22380 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -121344,7 +121852,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+22357 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { + if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+22372 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { goto __13 } goto trigger_cleanup @@ -121360,7 +121868,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+22406 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+22421 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __17 __16: ; @@ -121374,10 +121882,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10346 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10361 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+22432 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22447 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -121387,12 +121895,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+22470, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+22485, /* "cannot create %s..." */ libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 22507 /* "BEFORE" */ + return ts + 22522 /* "BEFORE" */ } - return ts + 22514 /* "AFTER" */ + return ts + 22529 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -121401,7 +121909,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+22520 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) + ts+22535 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -121431,9 +121939,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -121567,7 +122075,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+22357 /* "trigger" */, bp+40 /* &nameToken */) + Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+22372 /* "trigger" */, bp+40 /* &nameToken */) if !((Xsqlite3FixTriggerStep(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || (Xsqlite3FixExpr(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 @@ -121604,13 +122112,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+22566, /* "INSERT INTO %Q.s..." */ + ts+22581, /* "INSERT INTO %Q.s..." */ libc.VaList(bp, (*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+22641 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+22656 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) __7: ; __6: @@ -121876,7 +122384,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+22670 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+22685 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __10 __9: Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb) @@ -121917,9 +122425,9 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName var zTab uintptr = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14175 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7759 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -121932,7 +122440,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / // Generate code to destroy the database record of the trigger. if (libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse))) != uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+22690, /* "DELETE FROM %Q.s..." */ + ts+22705, /* "DELETE FROM %Q.s..." */ 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) @@ -122051,12 +122559,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+22752, /* "%s RETURNING is ..." */ + ts+22767, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 22800 /* "DELETE" */ + return ts + 22815 /* "DELETE" */ } - return ts + 22807 /* "UPDATE" */ + return ts + 22822 /* "UPDATE" */ }())) __15: ; @@ -122152,7 +122660,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK { return 0 } - Xsqlite3ErrorMsg(tls, pParse, ts+22814 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22829 /* "RETURNING may no..." */, 0) return 1 } @@ -122293,7 +122801,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf if (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { Xsqlite3VdbeAddOp4(tls, v, OP_Trace, 0x7fffffff, 1, 0, - Xsqlite3MPrintf(tls, db, ts+7946 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+7961 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -122352,19 +122860,19 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf func onErrorText(tls *libc.TLS, onError int32) uintptr { /* sqlite3.c:140731:19: */ switch onError { case OE_Abort: - return ts + 22856 /* "abort" */ + return ts + 22871 /* "abort" */ case OE_Rollback: - return ts + 22862 /* "rollback" */ + return ts + 22877 /* "rollback" */ case OE_Fail: - return ts + 22871 /* "fail" */ + return ts + 22886 /* "fail" */ case OE_Replace: - return ts + 17322 /* "replace" */ + return ts + 17337 /* "replace" */ case OE_Ignore: - return ts + 22876 /* "ignore" */ + return ts + 22891 /* "ignore" */ case OE_Default: - return ts + 22883 /* "default" */ + return ts + 22898 /* "default" */ } - return ts + 22891 /* "n/a" */ + return ts + 22906 /* "n/a" */ } // Parse context structure pFrom has just been used to create a sub-vdbe @@ -122440,30 +122948,30 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt v = Xsqlite3GetVdbe(tls, pSubParse) if v != 0 { - Xsqlite3VdbeComment(tls, v, ts+22895 /* "Start: %s.%s (%s..." */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf), func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+22910 /* "Start: %s.%s (%s..." */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Ftr_tm) == TRIGGER_BEFORE { - return ts + 22507 /* "BEFORE" */ + return ts + 22522 /* "BEFORE" */ } - return ts + 22514 /* "AFTER" */ + return ts + 22529 /* "AFTER" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_UPDATE { - return ts + 22807 /* "UPDATE" */ + return ts + 22822 /* "UPDATE" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_INSERT { - return ts + 22926 /* "INSERT" */ + return ts + 22941 /* "INSERT" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_DELETE { - return ts + 22800 /* "DELETE" */ + return ts + 22815 /* "DELETE" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), (*Table)(unsafe.Pointer(pTab)).FzName)) if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+22933 /* "-- TRIGGER %s" */, libc.VaList(bp+56, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) + Xsqlite3MPrintf(tls, db, ts+22948 /* "-- TRIGGER %s" */, libc.VaList(bp+56, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -122487,7 +122995,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt Xsqlite3VdbeResolveLabel(tls, v, iEndTrigger) } Xsqlite3VdbeAddOp0(tls, v, OP_Halt) - Xsqlite3VdbeComment(tls, v, ts+22947 /* "End: %s.%s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) + Xsqlite3VdbeComment(tls, v, ts+22962 /* "End: %s.%s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) transferParseError(tls, pParse, pSubParse) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0) && ((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) { @@ -122554,11 +123062,11 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab Xsqlite3VdbeAddOp4(tls, v, OP_Program, reg, ignoreJump, libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1), (*TriggerPrg)(unsafe.Pointer(pPrg)).FpProgram, -4) - Xsqlite3VdbeComment(tls, v, ts+22958 /* "Call: %s.%s" */, libc.VaList(bp, func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+22973 /* "Call: %s.%s" */, libc.VaList(bp, func() uintptr { if (*Trigger)(unsafe.Pointer(p)).FzName != 0 { return (*Trigger)(unsafe.Pointer(p)).FzName } - return ts + 22970 /* "fkey" */ + return ts + 22985 /* "fkey" */ }(), onErrorText(tls, orconf))) // Set the P5 operand of the OP_Program instruction to non-zero if @@ -122721,7 +123229,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg *(*uintptr)(unsafe.Pointer(bp + 16 /* pValue */)) = uintptr(0) var enc U8 = (*Sqlite3)(unsafe.Pointer(Xsqlite3VdbeDb(tls, v))).Fenc var pCol uintptr = ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*32) - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3ValueFromExpr(tls, Xsqlite3VdbeDb(tls, v), (*Column)(unsafe.Pointer(pCol)).FpDflt, enc, uint8((*Column)(unsafe.Pointer(pCol)).Faffinity), bp+16 /* &pValue */) @@ -123177,7 +123685,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+22975, /* "cannot UPDATE ge..." */ + ts+22990, /* "cannot UPDATE ge..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto update_cleanup __27: @@ -123209,7 +123717,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+23011 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+23026 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -123220,7 +123728,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 9781 /* "ROWID" */ + return ts + 9796 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*32)).FzName }(), @@ -124251,7 +124759,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+23030 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+23045 /* "rows updated" */, uintptr(0)) __169: ; @@ -124638,10 +125146,10 @@ __1: if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { *(*int8)(unsafe.Pointer(bp + 216 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+23043 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+23058 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+23047 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) + ts+23062 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -124711,7 +125219,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab iDataCur = (*Upsert)(unsafe.Pointer(pUpsert)).FiDataCur pUpsert = Xsqlite3UpsertOfIndex(tls, pTop, pIdx) - Xsqlite3VdbeNoopComment(tls, v, ts+23120 /* "Begin DO UPDATE ..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+23135 /* "Begin DO UPDATE ..." */, 0) if (pIdx != 0) && (iCur != iDataCur) { if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { var regRowid int32 = Xsqlite3GetTempReg(tls, pParse) @@ -124729,13 +125237,13 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab k = int32(Xsqlite3TableColumnToIndex(tls, pIdx, *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iCur, k, (iPk + i)) - Xsqlite3VdbeComment(tls, v, ts+10215 /* "%s.%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+10230 /* "%s.%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) } i = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, iDataCur, 0, iPk, nPk) Xsqlite3VdbeAddOp4(tls, v, OP_Halt, SQLITE_CORRUPT, OE_Abort, 0, - ts+14229 /* "corrupt database" */, -1) + ts+14244 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -124751,7 +125259,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab } Xsqlite3Update(tls, pParse, pSrc, Xsqlite3ExprListDup(tls, db, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSet, 0), Xsqlite3ExprDup(tls, db, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertWhere, 0), OE_Abort, uintptr(0), uintptr(0), pUpsert) - Xsqlite3VdbeNoopComment(tls, v, ts+23146 /* "End DO UPDATE of..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+23161 /* "End DO UPDATE of..." */, 0) } //************* End of upsert.c ********************************************* @@ -124803,7 +125311,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { // then run VACUUM to get those statements to execute at inappropriate // times. if (zSubSql != 0) && - ((libc.Xstrncmp(tls, zSubSql, ts+23170 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+23174 /* "INS" */, uint64(3)) == 0)) { + ((libc.Xstrncmp(tls, zSubSql, ts+23185 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+23189 /* "INS" */, uint64(3)) == 0)) { rc = execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -124953,14 +125461,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+23178 /* "cannot VACUUM fr..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23193 /* "cannot VACUUM fr..." */) return SQLITE_ERROR // IMP: R-12218-18073 __1: ; if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) { goto __2 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+23218 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23233 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -124971,7 +125479,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+23261 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23276 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -124980,7 +125488,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 76 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 900 /* "" */ + zOut = ts + 915 /* "" */ __4: ; @@ -125016,7 +125524,7 @@ __4: // time to parse and run the PRAGMA to turn journalling off than it does // to write the journal header file. nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb - rc = execSqlF(tls, db, pzErrMsg, ts+23279 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) + rc = execSqlF(tls, db, pzErrMsg, ts+23294 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if !(rc != SQLITE_OK) { goto __6 @@ -125037,7 +125545,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+23302 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23317 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -125053,7 +125561,7 @@ __7: // Begin a transaction and take an exclusive lock on the main database // file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, // to ensure that we do not try to change the page-size on a WAL database. - rc = execSql(tls, db, pzErrMsg, ts+16510 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+16525 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -125104,7 +125612,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+23329, /* "SELECT sql FROM ..." */ + ts+23344, /* "SELECT sql FROM ..." */ libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -125114,7 +125622,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+23437, /* "SELECT sql FROM ..." */ + ts+23452, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -125129,7 +125637,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+23491, /* "SELECT'INSERT IN..." */ + ts+23506, /* "SELECT'INSERT IN..." */ libc.VaList(bp+24, zDbMain)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) @@ -125146,7 +125654,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+23642, /* "INSERT INTO vacu..." */ + ts+23657, /* "INSERT INTO vacu..." */ libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 @@ -125526,7 +126034,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp var azModuleArg uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*Table)(unsafe.Pointer(pTable)).FnModuleArg + 3) >= *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14459 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14474 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = Xsqlite3DbRealloc(tls, db, (*Table)(unsafe.Pointer(pTable)).FazModuleArg, uint64(nBytes)) if azModuleArg == uintptr(0) { @@ -125620,7 +126128,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s 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+23772 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) + zStmt = Xsqlite3MPrintf(tls, db, ts+23787 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) // A slot for the record has already been allocated in the // schema table. We just need to update that slot with all @@ -125632,7 +126140,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+23796, /* "UPDATE %Q.sqlite..." */ + ts+23811, /* "UPDATE %Q.sqlite..." */ 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, @@ -125642,7 +126150,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+23895 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+23910 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -125707,7 +126215,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+23914 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+23929 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return SQLITE_LOCKED } } @@ -125745,9 +126253,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+23956 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+23971 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+936 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+951 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) @@ -125759,7 +126267,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 /* &sCtx */)).FbDeclared == 0 { - var zFormat uintptr = ts + 23986 /* "vtable construct..." */ + var zFormat uintptr = ts + 24001 /* "vtable construct..." */ *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR @@ -125775,12 +126283,12 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Table)(unsafe.Pointer(pTab)).FpVTable = pVTable for iCol = 0; iCol < int32((*Table)(unsafe.Pointer(pTab)).FnCol); iCol++ { - var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+900 /* "" */) + var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+915 /* "" */) var nType int32 var i int32 = 0 nType = Xsqlite3Strlen30(tls, zType) for i = 0; i < nType; i++ { - if ((0 == Xsqlite3_strnicmp(tls, ts+18092 /* "hidden" */, (zType+uintptr(i)), 6)) && + if ((0 == Xsqlite3_strnicmp(tls, ts+18107 /* "hidden" */, (zType+uintptr(i)), 6)) && ((i == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && ((int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { break @@ -125839,13 +126347,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 if !(pMod != 0) { var zModule uintptr = *(*uintptr)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FazModuleArg)) - Xsqlite3ErrorMsg(tls, pParse, ts+24032 /* "no such module: ..." */, libc.VaList(bp, zModule)) + Xsqlite3ErrorMsg(tls, pParse, ts+24047 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+16 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -125907,7 +126415,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // invoke it now. If the module has not been registered, return an // error. Otherwise, do nothing. 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+24032 /* "no such module: ..." */, libc.VaList(bp, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+24047 /* "no such module: ..." */, 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) @@ -125984,7 +126492,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)))) @@ -126356,7 +126864,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+8 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 @@ -126787,10 +127295,10 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:144931:29 */ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:145112:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == (-2) { - return ts + 24051 /* "" */ + return ts + 24066 /* "" */ } if i == (-1) { - return ts + 10282 /* "rowid" */ + return ts + 10297 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*32)).FzName } @@ -126805,35 +127313,35 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i var i int32 if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, ts+24058 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+24073 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+24064 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+24079 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+14840 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+14855 /* "," */, 1) } Xsqlite3_str_appendall(tls, pStr, explainIndexColumnName(tls, pIdx, (iTerm+i))) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6887 /* ")" */, 1) } Xsqlite3_str_append(tls, pStr, zOp, 1) if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+24064 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+24079 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+14840 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+14855 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+6925 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6940 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6887 /* ")" */, 1) } } @@ -126862,29 +127370,29 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. 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+24066 /* " (" */, 2) + Xsqlite3_str_append(tls, pStr, ts+24081 /* " (" */, 2) for i = 0; i < int32(nEq); i++ { var z uintptr = explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+24058 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+24073 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 24069 /* "%s=?" */ + return ts + 24084 /* "%s=?" */ } - return ts + 24074 /* "ANY(%s)" */ + return ts + 24089 /* "ANY(%s)" */ }(), 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 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+24082 /* ">" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+24097 /* ">" */) i = 1 } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_TOP_LIMIT)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+24084 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+24099 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+6872 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6887 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -126929,11 +127437,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+80 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) (*StrAccum)(unsafe.Pointer(bp + 48 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24086 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24101 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { - return ts + 24092 /* "SEARCH" */ + return ts + 24107 /* "SEARCH" */ } - return ts + 24099 /* "SCAN" */ + return ts + 24114 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -126943,38 +127451,38 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr if !(((*Table)(unsafe.Pointer(((*SrcItem)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = ts + 12959 /* "PRIMARY KEY" */ + zFmt = ts + 12974 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 24104 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 24119 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 24137 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 24152 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 24162 /* "COVERING INDEX %..." */ + zFmt = ts + 24177 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 24180 /* "INDEX %s" */ + zFmt = ts + 24195 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+48 /* &str */, ts+24189 /* " USING " */, 7) + Xsqlite3_str_append(tls, bp+48 /* &str */, ts+24204 /* " USING " */, 7) Xsqlite3_str_appendf(tls, bp+48 /* &str */, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) explainIndexRange(tls, bp+48 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr if (flags & (U32(WHERE_COLUMN_EQ | WHERE_COLUMN_IN))) != 0 { - zRangeOp = ts + 24197 /* "=" */ + zRangeOp = ts + 24212 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 24199 /* ">? AND rowid<" */ + zRangeOp = ts + 24214 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 24082 /* ">" */ + zRangeOp = ts + 24097 /* ">" */ } else { - zRangeOp = ts + 24084 /* "<" */ + zRangeOp = ts + 24099 /* "<" */ } Xsqlite3_str_appendf(tls, bp+48, /* &str */ - ts+24213 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) + ts+24228 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24251, /* " VIRTUAL TABLE I..." */ + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+24266, /* " VIRTUAL TABLE I..." */ libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } zMsg = Xsqlite3StrAccumFinish(tls, bp+48 /* &str */) @@ -127431,7 +127939,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in return OP_Rewind }(), iIdxCur) - Xsqlite3VdbeComment(tls, v, ts+24278 /* "begin skip-scan ..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24293 /* "begin skip-scan ..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) j = Xsqlite3VdbeAddOp0(tls, v, OP_Goto) (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip = Xsqlite3VdbeAddOp4Int(tls, v, func() int32 { if bRev != 0 { @@ -127445,7 +127953,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in for j = 0; j < int32(nSkip); j++ { Xsqlite3VdbeAddOp3(tls, v, OP_Column, iIdxCur, j, (regBase + j)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+8, explainIndexColumnName(tls, pIdx, j))) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, explainIndexColumnName(tls, pIdx, j))) } } @@ -127790,7 +128298,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if (int32((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom) > 0) && ((int32((*SrcItem)(unsafe.Pointer(pTabItem)).Ffg.Fjointype) & JT_LEFT) != 0) { (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) - Xsqlite3VdbeComment(tls, v, ts+24300 /* "init LEFT JOIN n..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24315 /* "init LEFT JOIN n..." */, 0) } // Compute a safe address to jump to if we discover that the table for @@ -127805,7 +128313,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, (*SrcItem)(unsafe.Pointer(pTabItem)).FaddrFillSub) (*WhereLevel)(unsafe.Pointer(pLevel)).Fp2 = Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regYield, addrBrk) - Xsqlite3VdbeComment(tls, v, ts+24329 /* "next row of %s" */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24344 /* "next row of %s" */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) (*WhereLevel)(unsafe.Pointer(pLevel)).Fop = U8(OP_Goto) } else if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_VIRTUALTABLE)) != U32(0) { // Case 1: The table is a virtual-table. Use the VFilter and VNext @@ -127985,7 +128493,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI op = int32(*(*U8)(unsafe.Pointer(bp + 16 /* &aMoveOp[0] */ + uintptr((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT))))) } Xsqlite3VdbeAddOp3(tls, v, op, iCur, addrBrk, r1) - Xsqlite3VdbeComment(tls, v, ts+18089 /* "pk" */, 0) + Xsqlite3VdbeComment(tls, v, ts+18104 /* "pk" */, 0) Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 20 /* rTemp */))) } else { @@ -128204,7 +128712,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI } else { if regBignull != 0 { Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, regBignull) - Xsqlite3VdbeComment(tls, v, ts+24344 /* "NULL-scan pass c..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24359 /* "NULL-scan pass c..." */, 0) } op = int32(aStartOp[(((start_constraints << 2) + (startEq << 1)) + bRev)]) @@ -128278,7 +128786,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if regBignull != 0 { // Except, skip the end-of-range check while doing the NULL-scan Xsqlite3VdbeAddOp2(tls, v, OP_IfNot, regBignull, (Xsqlite3VdbeCurrentAddr(tls, v) + 3)) - Xsqlite3VdbeComment(tls, v, ts+24363 /* "If NULL-scan 2nd..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24378 /* "If NULL-scan 2nd..." */, 0) } op = int32(aEndOp[((bRev * 2) + endEq)]) @@ -128293,7 +128801,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // the NULLs Xsqlite3VdbeAddOp2(tls, v, OP_If, regBignull, (Xsqlite3VdbeCurrentAddr(tls, v) + 2)) - Xsqlite3VdbeComment(tls, v, ts+24385 /* "If NULL-scan 1st..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24400 /* "If NULL-scan 1st..." */, 0) op = int32(aEndOp[((bRev * 2) + int32(bSeekPastNull))]) Xsqlite3VdbeAddOp4Int(tls, v, op, iIdxCur, addrNxt, regBase, @@ -128539,7 +129047,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // Run a separate WHERE clause for each term of the OR clause. After // eliminating duplicates from other WHERE clauses, the action for each // sub-WHERE clause is to to invoke the main loop body as a subroutine. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24407 /* "MULTI-INDEX OR" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24422 /* "MULTI-INDEX OR" */, 0) for ii = 0; ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm; ii++ { var pOrTerm uintptr = ((*WhereClause)(unsafe.Pointer(pOrWc)).Fa + uintptr(ii)*56) if ((*WhereTerm)(unsafe.Pointer(pOrTerm)).FleftCursor == iCur) || ((int32((*WhereTerm)(unsafe.Pointer(pOrTerm)).FeOperator) & WO_AND) != 0) { @@ -128558,7 +129066,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } // Loop through table entries that match term pOrTerm. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24422 /* "INDEX %d" */, libc.VaList(bp+8, (ii+1))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+24437 /* "INDEX %d" */, libc.VaList(bp+8, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -128863,7 +129371,7 @@ __6: if (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin != 0 { (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrFirst = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) - Xsqlite3VdbeComment(tls, v, ts+24431 /* "record LEFT JOIN..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24446 /* "record LEFT JOIN..." */, 0) pTerm = (*WhereClause)(unsafe.Pointer(pWC)).Fa j = 0 __7: @@ -129307,10 +129815,10 @@ type Op2 = struct { } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 18050 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 17389 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 16939 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 24452 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, + {FzOp: ts + 18065 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, + {FzOp: ts + 17404 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, + {FzOp: ts + 16954 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, + {FzOp: ts + 24467 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, } /* sqlite3.c:147958:7 */ // If the pBase expression originated in the ON or USING clause of @@ -130011,7 +130519,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s extraRight = (x - uint64(1)) // ON clause terms may not be used with an index // on left table of a LEFT JOIN. Ticket #3015 if (prereqAll >> 1) >= x { - Xsqlite3ErrorMsg(tls, pParse, ts+24459 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+24474 /* "ON clause refere..." */, 0) return } } @@ -130087,7 +130595,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s (*WhereTerm)(unsafe.Pointer(pNew)).FeOperator = (U16((int32(operatorMask(tls, int32((*Expr)(unsafe.Pointer(pDup)).Fop))) + int32(eExtraOp)) & int32(opMask))) } else if (op == TK_ISNULL) && (0 == Xsqlite3ExprCanBeNull(tls, pLeft)) { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8868 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 8883 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) (*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0) @@ -130188,7 +130696,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s } zCollSeqName = func() uintptr { if *(*int32)(unsafe.Pointer(bp + 20 /* noCase */)) != 0 { - return ts + 24500 /* "NOCASE" */ + return ts + 24515 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -130490,7 +130998,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+24507, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+24522, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -131313,7 +131821,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+24543 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, + ts+24558 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*32)).FzName)) sentWarning = U8(1) __6: @@ -131394,7 +131902,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 24569 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 24584 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -131491,7 +131999,7 @@ __24: (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) Xsqlite3VdbeAddOp2(tls, v, OP_OpenAutoindex, (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur, (nKeyCol + 1)) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+17785 /* "for %s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+17800 /* "for %s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTable)).FzName)) // Fill the automatic index with content pTabItem = (((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList + 8 /* &.a */) + uintptr((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*112) @@ -131503,7 +132011,7 @@ __24: Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, (*SrcItem)(unsafe.Pointer(pTabItem)).FaddrFillSub) addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, regYield) - Xsqlite3VdbeComment(tls, v, ts+24329 /* "next row of %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24344 /* "next row of %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) goto __29 __28: addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, (*WhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) @@ -131629,7 +132137,7 @@ __3: ((uint64(unsafe.Sizeof(sqlite3_index_constraint{})) + uint64(unsafe.Sizeof(sqlite3_index_constraint_usage{}))) * uint64(nTerm))) + (uint64(unsafe.Sizeof(sqlite3_index_orderby{})) * uint64(nOrderBy))) + uint64(unsafe.Sizeof(HiddenIndexInfo1{}))))) if pIdxInfo == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+7984 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+7999 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*96) @@ -131756,9 +132264,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -133808,7 +134316,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+24580 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24595 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -133856,7 +134364,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+24580 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24595 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -134245,7 +134753,7 @@ __1: if (rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { if rc == SQLITE_DONE { // We hit the query planner search limit set by iPlanLimit - Xsqlite3_log(tls, SQLITE_WARNING, ts+24606 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+24621 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -135014,7 +135522,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+24641 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+24656 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -135395,7 +135903,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+24659 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) + Xsqlite3ErrorMsg(tls, pParse, ts+24674 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) return uintptr(0) __3: ; @@ -135470,7 +135978,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+24687 /* "SCAN CONSTANT RO..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+24702 /* "SCAN CONSTANT RO..." */, 0) goto __6 __5: // Assign a bit from the bitmask to every term in the FROM clause. @@ -135994,7 +136502,7 @@ __74: Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_SEEKEQ)) __82: ; - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIx)).FzName)) __81: ; __72: @@ -136209,7 +136717,7 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * Xsqlite3VdbeResolveLabel(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrBrk) if (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip != 0 { Xsqlite3VdbeGoto(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) - Xsqlite3VdbeComment(tls, v, ts+24705 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzName)) + Xsqlite3VdbeComment(tls, v, ts+24720 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzName)) Xsqlite3VdbeJumpHere(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) Xsqlite3VdbeJumpHere(tls, v, ((*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip - 2)) } @@ -136608,7 +137116,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+24726 /* "second argument ..." */, -1) + pCtx, ts+24741 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -136757,7 +137265,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+24782 /* "argument of ntil..." */, -1) + pCtx, ts+24797 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -136854,17 +137362,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155441:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 24827 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 24838 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 24849 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 24854 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 24867 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 24877 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 24883 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 24894 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 24904 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 24916 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 24921 /* "lag" */)) /* sqlite3.c:155469:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 24842 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 24853 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 24864 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 24869 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 24882 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 24892 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 24898 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 24909 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 24919 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 24931 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 24936 /* "lag" */)) /* sqlite3.c:155469:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -136928,7 +137436,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+24925 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24940 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -136972,12 +137480,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+24944 /* "RANGE with offse..." */, 0) + ts+24959 /* "RANGE with offse..." */, 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+25015 /* "FILTER clause ma..." */, 0) + ts+25030 /* "FILTER clause ma..." */, 0) } else { *(*[8]WindowUpdate)(unsafe.Pointer(bp /* aUp */)) = [8]WindowUpdate{ {FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT}, @@ -137000,7 +137508,7 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*Window)(unsafe.Pointer(pWin)).FeEnd = U8((*WindowUpdate)(unsafe.Pointer(bp /* &aUp */ + uintptr(i)*24)).FeEnd) (*Window)(unsafe.Pointer(pWin)).FeExclude = U8(0) if int32((*Window)(unsafe.Pointer(pWin)).FeStart) == TK_FOLLOWING { - (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10119 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10134 /* "1" */) } break } @@ -137242,7 +137750,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+10221 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + ts+10236 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) } return WRC_Continue } @@ -137372,7 +137880,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // keep everything legal in this case. if *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3Expr(tls, db, TK_INTEGER, ts+9599 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+9614 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -137512,7 +138020,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+25078 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25093 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -137578,15 +138086,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint var zErr uintptr = uintptr(0) // Check for errors if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = ts + 25110 /* "PARTITION clause" */ + zErr = ts + 25125 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 25127 /* "ORDER BY clause" */ + zErr = ts + 25142 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 25143 /* "frame specificat..." */ + zErr = ts + 25158 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+25163 /* "cannot override ..." */, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase)) + ts+25178 /* "cannot override ..." */, 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 { @@ -137609,7 +138117,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+25196 /* "DISTINCT is not ..." */, 0) + ts+25211 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -137760,7 +138268,7 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regZero) if eCond >= WINDOW_STARTING_NUM { var regString int32 = Xsqlite3GetTempReg(tls, pParse) - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+900 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+915 /* "" */, -1) Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), reg) Xsqlite3VdbeChangeP5(tls, v, (uint16(SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL))) @@ -137782,11 +138290,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 25243, /* "frame starting o..." */ - ts + 25296, /* "frame ending off..." */ - ts + 24726, /* "second argument ..." */ - ts + 25347, /* "frame starting o..." */ - ts + 25399, /* "frame ending off..." */ + ts + 25258, /* "frame starting o..." */ + ts + 25311, /* "frame ending off..." */ + ts + 24741, /* "second argument ..." */ + ts + 25362, /* "frame starting o..." */ + ts + 25414, /* "frame ending off..." */ } /* sqlite3.c:156372:21 */ var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:156379:14 */ @@ -138388,7 +138896,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // the add/subtract is skipped for these, as required. If reg1 is a NULL, // then the arithmetic is performed, but since adding or subtracting from // NULL is always NULL anyway, this case is handled as required too. - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+900 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+915 /* "" */, -1) addrGe = Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, 0, reg1) if ((op == OP_Ge) && (arith == OP_Add)) || ((op == OP_Le) && (arith == OP_Subtract)) { @@ -139105,7 +139613,7 @@ func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uin Xsqlite3VdbeAddOp3(tls, v, OP_Jump, (addr + 2), (addr + 4), (addr + 2)) addrGosubFlush = Xsqlite3VdbeAddOp1(tls, v, OP_Gosub, regFlushPart) - Xsqlite3VdbeComment(tls, v, ts+25449 /* "call flush_parti..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+25464 /* "call flush_parti..." */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_Copy, regNewPart, (*Window)(unsafe.Pointer(pMWin)).FregPart, (nPart - 1)) } @@ -139403,19 +139911,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit } cnt++ if ((*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0) || ((*Select)(unsafe.Pointer(pLoop)).FpLimit != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+25470, /* "%s clause should..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+25485, /* "%s clause should..." */ libc.VaList(bp, func() uintptr { if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - return ts + 22237 /* "ORDER BY" */ + return ts + 22252 /* "ORDER BY" */ } - return ts + 25512 /* "LIMIT" */ + return ts + 25527 /* "LIMIT" */ }(), 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 + 128 /* &.aLimit */) + 4*4)))) > 0)) && (cnt > mxSelect) { - Xsqlite3ErrorMsg(tls, pParse, ts+25518 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25533 /* "too many terms i..." */, 0) } } @@ -139495,7 +140003,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+25552, /* "syntax error aft..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+25567, /* "syntax error aft..." */ libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz)) } Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1) @@ -140722,7 +141230,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+25590 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25605 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -141701,11 +142209,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(22): /* table_options ::= WITHOUT nm */ { - if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+10282 /* "rowid" */, 5) == 0) { + if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+10297 /* "rowid" */, 5) == 0) { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = (TF_WithoutRowid | TF_NoVisibleRowid) } else { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = 0 - Xsqlite3ErrorMsg(tls, pParse, ts+25612 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) + Xsqlite3ErrorMsg(tls, pParse, ts+25627 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) } } break @@ -142440,7 +142948,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in case uint32(155): /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ { Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */)) - Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+25639 /* "set list" */) + Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+25654 /* "set list" */) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = Xsqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))) Xsqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */)), uintptr(0), uintptr(0), uintptr(0)) } @@ -142593,7 +143101,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(bp + 96 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+25648 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+25663 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) @@ -142797,9 +143305,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 /* &.minor */))) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, func() uintptr { if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)) != 0 { - return ts + 10119 /* "1" */ + return ts + 10134 /* "1" */ } - return ts + 9599 /* "0" */ + return ts + 9614 /* "0" */ }()) } else if ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)))).FnExpr == 1) && (Xsqlite3ExprIsConstant(tls, (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))+8 /* &.a */))).FpExpr) != 0) { var pRHS uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) + 8 /* &.a */))).FpExpr @@ -143074,21 +143582,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) Xsqlite3ErrorMsg(tls, pParse, - ts+25672 /* "qualified table ..." */, 0) + ts+25687 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+25767 /* "the INDEXED BY c..." */, 0) + ts+25782 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+25851 /* "the NOT INDEXED ..." */, 0) + ts+25866 /* "the NOT INDEXED ..." */, 0) } break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ @@ -143537,9 +144045,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To _ = yymajor // Silence some compiler warnings if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+25648 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) + Xsqlite3ErrorMsg(tls, pParse, ts+25663 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+25936 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25951 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -144746,7 +145254,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+25953 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+25968 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -144766,12 +145274,12 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+936 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg - Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+25980, /* "%s in \"%s\"" */ + Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+25995, /* "%s in \"%s\"" */ libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ @@ -144983,7 +145491,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+25991 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+26006 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -144996,11 +145504,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+22357 /* "trigger" */, 7) == 0) { + if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+22372 /* "trigger" */, 7) == 0) { token = U8(TkTRIGGER) - } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+25998 /* "temp" */, 4) == 0) { + } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+26013 /* "temp" */, 4) == 0) { token = U8(TkTEMP) - } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+26003 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+26018 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -145013,9 +145521,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+26013 /* "end" */, 3) == 0) { + if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+26028 /* "end" */, 3) == 0) { token = U8(TkEND) - } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+26017 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+26032 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -146048,7 +146556,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // SQLITE_BUSY if the connection can not be closed immediately. if !(forceZombie != 0) && (connectionIsBusy(tls, db) != 0) { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+26025 /* "unable to close ..." */, 0) + ts+26040 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -146281,259 +146789,259 @@ __1: { switch rc { case SQLITE_OK: - zName = ts + 26093 /* "SQLITE_OK" */ + zName = ts + 26108 /* "SQLITE_OK" */ break case SQLITE_ERROR: - zName = ts + 26103 /* "SQLITE_ERROR" */ + zName = ts + 26118 /* "SQLITE_ERROR" */ break case (SQLITE_ERROR | (int32(3) << 8)): - zName = ts + 26116 /* "SQLITE_ERROR_SNA..." */ + zName = ts + 26131 /* "SQLITE_ERROR_SNA..." */ break case SQLITE_INTERNAL: - zName = ts + 26138 /* "SQLITE_INTERNAL" */ + zName = ts + 26153 /* "SQLITE_INTERNAL" */ break case SQLITE_PERM: - zName = ts + 26154 /* "SQLITE_PERM" */ + zName = ts + 26169 /* "SQLITE_PERM" */ break case SQLITE_ABORT: - zName = ts + 26166 /* "SQLITE_ABORT" */ + zName = ts + 26181 /* "SQLITE_ABORT" */ break case (SQLITE_ABORT | (int32(2) << 8)): - zName = ts + 26179 /* "SQLITE_ABORT_ROL..." */ + zName = ts + 26194 /* "SQLITE_ABORT_ROL..." */ break case SQLITE_BUSY: - zName = ts + 26201 /* "SQLITE_BUSY" */ + zName = ts + 26216 /* "SQLITE_BUSY" */ break case (SQLITE_BUSY | (int32(1) << 8)): - zName = ts + 26213 /* "SQLITE_BUSY_RECO..." */ + zName = ts + 26228 /* "SQLITE_BUSY_RECO..." */ break case (SQLITE_BUSY | (int32(2) << 8)): - zName = ts + 26234 /* "SQLITE_BUSY_SNAP..." */ + zName = ts + 26249 /* "SQLITE_BUSY_SNAP..." */ break case SQLITE_LOCKED: - zName = ts + 26255 /* "SQLITE_LOCKED" */ + zName = ts + 26270 /* "SQLITE_LOCKED" */ break case (SQLITE_LOCKED | (int32(1) << 8)): - zName = ts + 26269 /* "SQLITE_LOCKED_SH..." */ + zName = ts + 26284 /* "SQLITE_LOCKED_SH..." */ break case SQLITE_NOMEM: - zName = ts + 26295 /* "SQLITE_NOMEM" */ + zName = ts + 26310 /* "SQLITE_NOMEM" */ break case SQLITE_READONLY: - zName = ts + 26308 /* "SQLITE_READONLY" */ + zName = ts + 26323 /* "SQLITE_READONLY" */ break case (SQLITE_READONLY | (int32(1) << 8)): - zName = ts + 26324 /* "SQLITE_READONLY_..." */ + zName = ts + 26339 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(5) << 8)): - zName = ts + 26349 /* "SQLITE_READONLY_..." */ + zName = ts + 26364 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(3) << 8)): - zName = ts + 26374 /* "SQLITE_READONLY_..." */ + zName = ts + 26389 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(4) << 8)): - zName = ts + 26399 /* "SQLITE_READONLY_..." */ + zName = ts + 26414 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(6) << 8)): - zName = ts + 26423 /* "SQLITE_READONLY_..." */ + zName = ts + 26438 /* "SQLITE_READONLY_..." */ break case SQLITE_INTERRUPT: - zName = ts + 26449 /* "SQLITE_INTERRUPT" */ + zName = ts + 26464 /* "SQLITE_INTERRUPT" */ break case SQLITE_IOERR: - zName = ts + 26466 /* "SQLITE_IOERR" */ + zName = ts + 26481 /* "SQLITE_IOERR" */ break case (SQLITE_IOERR | (int32(1) << 8)): - zName = ts + 26479 /* "SQLITE_IOERR_REA..." */ + zName = ts + 26494 /* "SQLITE_IOERR_REA..." */ break case (SQLITE_IOERR | (int32(2) << 8)): - zName = ts + 26497 /* "SQLITE_IOERR_SHO..." */ + zName = ts + 26512 /* "SQLITE_IOERR_SHO..." */ break case (SQLITE_IOERR | (int32(3) << 8)): - zName = ts + 26521 /* "SQLITE_IOERR_WRI..." */ + zName = ts + 26536 /* "SQLITE_IOERR_WRI..." */ break case (SQLITE_IOERR | (int32(4) << 8)): - zName = ts + 26540 /* "SQLITE_IOERR_FSY..." */ + zName = ts + 26555 /* "SQLITE_IOERR_FSY..." */ break case (SQLITE_IOERR | (int32(5) << 8)): - zName = ts + 26559 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 26574 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(6) << 8)): - zName = ts + 26582 /* "SQLITE_IOERR_TRU..." */ + zName = ts + 26597 /* "SQLITE_IOERR_TRU..." */ break case (SQLITE_IOERR | (int32(7) << 8)): - zName = ts + 26604 /* "SQLITE_IOERR_FST..." */ + zName = ts + 26619 /* "SQLITE_IOERR_FST..." */ break case (SQLITE_IOERR | (int32(8) << 8)): - zName = ts + 26623 /* "SQLITE_IOERR_UNL..." */ + zName = ts + 26638 /* "SQLITE_IOERR_UNL..." */ break case (SQLITE_IOERR | (int32(9) << 8)): - zName = ts + 26643 /* "SQLITE_IOERR_RDL..." */ + zName = ts + 26658 /* "SQLITE_IOERR_RDL..." */ break case (SQLITE_IOERR | (int32(10) << 8)): - zName = ts + 26663 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 26678 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(12) << 8)): - zName = ts + 26683 /* "SQLITE_IOERR_NOM..." */ + zName = ts + 26698 /* "SQLITE_IOERR_NOM..." */ break case (SQLITE_IOERR | (int32(13) << 8)): - zName = ts + 26702 /* "SQLITE_IOERR_ACC..." */ + zName = ts + 26717 /* "SQLITE_IOERR_ACC..." */ break case (SQLITE_IOERR | (int32(14) << 8)): - zName = ts + 26722 /* "SQLITE_IOERR_CHE..." */ + zName = ts + 26737 /* "SQLITE_IOERR_CHE..." */ break case (SQLITE_IOERR | (int32(15) << 8)): - zName = ts + 26753 /* "SQLITE_IOERR_LOC..." */ + zName = ts + 26768 /* "SQLITE_IOERR_LOC..." */ break case (SQLITE_IOERR | (int32(16) << 8)): - zName = ts + 26771 /* "SQLITE_IOERR_CLO..." */ + zName = ts + 26786 /* "SQLITE_IOERR_CLO..." */ break case (SQLITE_IOERR | (int32(17) << 8)): - zName = ts + 26790 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 26805 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(18) << 8)): - zName = ts + 26813 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26828 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(19) << 8)): - zName = ts + 26834 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26849 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(20) << 8)): - zName = ts + 26855 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26870 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(21) << 8)): - zName = ts + 26876 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26891 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(22) << 8)): - zName = ts + 26896 /* "SQLITE_IOERR_SEE..." */ + zName = ts + 26911 /* "SQLITE_IOERR_SEE..." */ break case (SQLITE_IOERR | (int32(23) << 8)): - zName = ts + 26914 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 26929 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(24) << 8)): - zName = ts + 26940 /* "SQLITE_IOERR_MMA..." */ + zName = ts + 26955 /* "SQLITE_IOERR_MMA..." */ break case (SQLITE_IOERR | (int32(25) << 8)): - zName = ts + 26958 /* "SQLITE_IOERR_GET..." */ + zName = ts + 26973 /* "SQLITE_IOERR_GET..." */ break case (SQLITE_IOERR | (int32(26) << 8)): - zName = ts + 26983 /* "SQLITE_IOERR_CON..." */ + zName = ts + 26998 /* "SQLITE_IOERR_CON..." */ break case SQLITE_CORRUPT: - zName = ts + 27005 /* "SQLITE_CORRUPT" */ + zName = ts + 27020 /* "SQLITE_CORRUPT" */ break case (SQLITE_CORRUPT | (int32(1) << 8)): - zName = ts + 27020 /* "SQLITE_CORRUPT_V..." */ + zName = ts + 27035 /* "SQLITE_CORRUPT_V..." */ break case SQLITE_NOTFOUND: - zName = ts + 27040 /* "SQLITE_NOTFOUND" */ + zName = ts + 27055 /* "SQLITE_NOTFOUND" */ break case SQLITE_FULL: - zName = ts + 27056 /* "SQLITE_FULL" */ + zName = ts + 27071 /* "SQLITE_FULL" */ break case SQLITE_CANTOPEN: - zName = ts + 27068 /* "SQLITE_CANTOPEN" */ + zName = ts + 27083 /* "SQLITE_CANTOPEN" */ break case (SQLITE_CANTOPEN | (int32(1) << 8)): - zName = ts + 27084 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27099 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(2) << 8)): - zName = ts + 27110 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27125 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(3) << 8)): - zName = ts + 27132 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27147 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(4) << 8)): - zName = ts + 27157 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27172 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(6) << 8)): - zName = ts + 27182 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27197 /* "SQLITE_CANTOPEN_..." */ break case SQLITE_PROTOCOL: - zName = ts + 27206 /* "SQLITE_PROTOCOL" */ + zName = ts + 27221 /* "SQLITE_PROTOCOL" */ break case SQLITE_EMPTY: - zName = ts + 27222 /* "SQLITE_EMPTY" */ + zName = ts + 27237 /* "SQLITE_EMPTY" */ break case SQLITE_SCHEMA: - zName = ts + 27235 /* "SQLITE_SCHEMA" */ + zName = ts + 27250 /* "SQLITE_SCHEMA" */ break case SQLITE_TOOBIG: - zName = ts + 27249 /* "SQLITE_TOOBIG" */ + zName = ts + 27264 /* "SQLITE_TOOBIG" */ break case SQLITE_CONSTRAINT: - zName = ts + 27263 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27278 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(8) << 8)): - zName = ts + 27281 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27296 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(7) << 8)): - zName = ts + 27306 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27321 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(3) << 8)): - zName = ts + 27332 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27347 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(1) << 8)): - zName = ts + 27361 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27376 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(6) << 8)): - zName = ts + 27385 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27400 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(5) << 8)): - zName = ts + 27414 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27429 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(2) << 8)): - zName = ts + 27440 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27455 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(9) << 8)): - zName = ts + 27469 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27484 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(4) << 8)): - zName = ts + 27492 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27507 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(10) << 8)): - zName = ts + 27519 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27534 /* "SQLITE_CONSTRAIN..." */ break case SQLITE_MISMATCH: - zName = ts + 27543 /* "SQLITE_MISMATCH" */ + zName = ts + 27558 /* "SQLITE_MISMATCH" */ break case SQLITE_MISUSE: - zName = ts + 27559 /* "SQLITE_MISUSE" */ + zName = ts + 27574 /* "SQLITE_MISUSE" */ break case SQLITE_NOLFS: - zName = ts + 27573 /* "SQLITE_NOLFS" */ + zName = ts + 27588 /* "SQLITE_NOLFS" */ break case SQLITE_AUTH: - zName = ts + 27586 /* "SQLITE_AUTH" */ + zName = ts + 27601 /* "SQLITE_AUTH" */ break case SQLITE_FORMAT: - zName = ts + 27598 /* "SQLITE_FORMAT" */ + zName = ts + 27613 /* "SQLITE_FORMAT" */ break case SQLITE_RANGE: - zName = ts + 27612 /* "SQLITE_RANGE" */ + zName = ts + 27627 /* "SQLITE_RANGE" */ break case SQLITE_NOTADB: - zName = ts + 27625 /* "SQLITE_NOTADB" */ + zName = ts + 27640 /* "SQLITE_NOTADB" */ break case SQLITE_ROW: - zName = ts + 27639 /* "SQLITE_ROW" */ + zName = ts + 27654 /* "SQLITE_ROW" */ break case SQLITE_NOTICE: - zName = ts + 27650 /* "SQLITE_NOTICE" */ + zName = ts + 27665 /* "SQLITE_NOTICE" */ break case (SQLITE_NOTICE | (int32(1) << 8)): - zName = ts + 27664 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 27679 /* "SQLITE_NOTICE_RE..." */ break case (SQLITE_NOTICE | (int32(2) << 8)): - zName = ts + 27690 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 27705 /* "SQLITE_NOTICE_RE..." */ break case SQLITE_WARNING: - zName = ts + 27721 /* "SQLITE_WARNING" */ + zName = ts + 27736 /* "SQLITE_WARNING" */ break case (SQLITE_WARNING | (int32(1) << 8)): - zName = ts + 27736 /* "SQLITE_WARNING_A..." */ + zName = ts + 27751 /* "SQLITE_WARNING_A..." */ break case SQLITE_DONE: - zName = ts + 27761 /* "SQLITE_DONE" */ + zName = ts + 27776 /* "SQLITE_DONE" */ break } @@ -146547,7 +147055,7 @@ __2: __3: ; if zName == uintptr(0) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof(zBuf)), uintptr(unsafe.Pointer(&zBuf)), ts+27773 /* "SQLITE_UNKNOWN(%..." */, libc.VaList(bp, origRc)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof(zBuf)), uintptr(unsafe.Pointer(&zBuf)), ts+27788 /* "SQLITE_UNKNOWN(%..." */, libc.VaList(bp, origRc)) zName = uintptr(unsafe.Pointer(&zBuf)) } return zName @@ -146558,23 +147066,23 @@ var zBuf [50]int8 /* sqlite3.c:166643:17: */ // Return a static string that describes the kind of error specified in the // argument. func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: */ - var zErr uintptr = ts + 27792 /* "unknown error" */ + var zErr uintptr = ts + 27807 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 27806 /* "abort due to ROL..." */ + zErr = ts + 27821 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 27828 /* "another row avai..." */ + zErr = ts + 27843 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 27850 /* "no more rows ava..." */ + zErr = ts + 27865 /* "no more rows ava..." */ break } @@ -146592,35 +147100,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 27873, /* "not an error" */ - /* SQLITE_ERROR */ ts + 27886, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 27888, /* "not an error" */ + /* SQLITE_ERROR */ ts + 27901, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 27902, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 27927, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 27941, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 27960, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 7984, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 27985, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 28022, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 28034, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 28049, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 28082, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 28100, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 28125, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 28154, /* "locking protocol" */ + /* SQLITE_PERM */ ts + 27917, /* "access permissio..." */ + /* SQLITE_ABORT */ ts + 27942, /* "query aborted" */ + /* SQLITE_BUSY */ ts + 27956, /* "database is lock..." */ + /* SQLITE_LOCKED */ ts + 27975, /* "database table i..." */ + /* SQLITE_NOMEM */ ts + 7999, /* "out of memory" */ + /* SQLITE_READONLY */ ts + 28000, /* "attempt to write..." */ + /* SQLITE_INTERRUPT */ ts + 28037, /* "interrupted" */ + /* SQLITE_IOERR */ ts + 28049, /* "disk I/O error" */ + /* SQLITE_CORRUPT */ ts + 28064, /* "database disk im..." */ + /* SQLITE_NOTFOUND */ ts + 28097, /* "unknown operatio..." */ + /* SQLITE_FULL */ ts + 28115, /* "database or disk..." */ + /* SQLITE_CANTOPEN */ ts + 28140, /* "unable to open d..." */ + /* SQLITE_PROTOCOL */ ts + 28169, /* "locking protocol" */ /* SQLITE_EMPTY */ uintptr(0), - /* SQLITE_SCHEMA */ ts + 7714, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 7251, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 28171, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 28189, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 28207, /* "bad parameter or..." */ + /* SQLITE_SCHEMA */ ts + 7729, /* "database schema ..." */ + /* SQLITE_TOOBIG */ ts + 7266, /* "string or blob t..." */ + /* SQLITE_CONSTRAINT */ ts + 28186, /* "constraint faile..." */ + /* SQLITE_MISMATCH */ ts + 28204, /* "datatype mismatc..." */ + /* SQLITE_MISUSE */ ts + 28222, /* "bad parameter or..." */ /* SQLITE_NOLFS */ uintptr(0), - /* SQLITE_AUTH */ ts + 28241, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 28256, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 28262, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 28288, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 28311, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 28332, /* "warning message" */ + /* SQLITE_RANGE */ ts + 28277, /* "column index out..." */ + /* SQLITE_NOTADB */ ts + 28303, /* "file is not a da..." */ + /* SQLITE_NOTICE */ ts + 28326, /* "notification mes..." */ + /* SQLITE_WARNING */ ts + 28347, /* "warning message" */ } /* sqlite3.c:166656:20 */ // This routine implements a busy callback that sleeps and tries @@ -146785,7 +147293,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+28348 /* "unable to delete..." */, 0) + ts+28363 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -146918,7 +147426,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+28411 /* "unable to use fu..." */, libc.VaList(bp, zName)) + ts+28426 /* "unable to use fu..." */, libc.VaList(bp, zName)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } @@ -147140,7 +147648,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+28462 /* "unknown database..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+28477 /* "unknown database..." */, libc.VaList(bp, zDb)) } else { (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -147359,7 +147867,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint if (pColl != 0) && ((*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0) { if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+28483 /* "unable to delete..." */, 0) + ts+28498 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -147502,7 +148010,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u if !(((((flags & uint32(SQLITE_OPEN_URI)) != 0) || // IMP: R-48725-32206 (Xsqlite3Config.FbOpenUri != 0)) && // IMP: R-51689-46548 - (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+28551 /* "file:" */, uint64(5)) == 0)) { + (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+28566 /* "file:" */, uint64(5)) == 0)) { goto __1 } // Input character index iOut = 0 // Output character index @@ -147550,10 +148058,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+28557 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { + if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+28572 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28567, /* "invalid uri auth..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28582, /* "invalid uri auth..." */ libc.VaList(bp, (iIn-7), (zUri+7))) rc = SQLITE_ERROR goto parse_uri_out @@ -147675,7 +148183,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+28595 /* "vfs" */, zOpt, uint64(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+28610 /* "vfs" */, zOpt, uint64(3)) == 0)) { goto __29 } zVfs = zVal @@ -147686,17 +148194,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+28599 /* "cache" */, zOpt, uint64(5)) == 0)) { + if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+28614 /* "cache" */, zOpt, uint64(5)) == 0)) { goto __31 } mask = (SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&aCacheMode)) limit = mask - zModeType = ts + 28599 /* "cache" */ + zModeType = ts + 28614 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+28605 /* "mode" */, zOpt, uint64(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+28620 /* "mode" */, zOpt, uint64(4)) == 0)) { goto __32 } @@ -147704,7 +148212,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 4639 /* "access" */ + zModeType = ts + 4654 /* "access" */ __32: ; @@ -147735,7 +148243,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28610 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28625 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -147743,7 +148251,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28630, /* "%s mode not allo..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28645, /* "%s mode not allo..." */ libc.VaList(bp+32, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out @@ -147786,7 +148294,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28654 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28669 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) rc = SQLITE_ERROR __42: ; @@ -147810,15 +148318,15 @@ type OpenMode = struct { } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 19895 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 28670 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, + {Fz: ts + 19910 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, + {Fz: ts + 28685 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, } /* sqlite3.c:168073:34 */ var aOpenMode = [5]OpenMode{ - {Fz: ts + 28678 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 28681 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 28684 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 19278 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, + {Fz: ts + 28693 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, + {Fz: ts + 28696 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, + {Fz: ts + 28699 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, + {Fz: ts + 19293 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, {}, } /* sqlite3.c:168085:34 */ @@ -148000,10 +148508,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+24500 /* "NOCASE" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+24515 /* "NOCASE" */, 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+28688 /* "RTRIM" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+28703 /* "RTRIM" */, 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) { @@ -148049,7 +148557,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -148087,9 +148595,9 @@ __22: // The default safety_level for the main database is FULL; for the temp // database it is OFF. This matches the pager layer defaults. - (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 8551 /* "main" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 8566 /* "main" */ (*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 + 25998 /* "temp" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 26013 /* "temp" */ (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF) (*Sqlite3)(unsafe.Pointer(db)).Fmagic = SQLITE_MAGIC_OPEN @@ -148207,7 +148715,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 28694 /* "\x00\x00" */ + zFilename = ts + 28709 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -148310,24 +148818,24 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) bp := tls.Alloc(24) defer tls.Free(24) - Xsqlite3_log(tls, iErr, ts+28697, /* "%s at line %d of..." */ + Xsqlite3_log(tls, iErr, ts+28712, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) return iErr } func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168711:20: */ - return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+28722 /* "database corrupt..." */) + return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+28737 /* "database corrupt..." */) } func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168715:20: */ - return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+28742 /* "misuse" */) + return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+28757 /* "misuse" */) } func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168719:20: */ - return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+28749 /* "cannot open file" */) + return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+28764 /* "cannot open file" */) } // This is a convenience routine that makes sure that all thread-specific @@ -148454,7 +148962,7 @@ __4: autoinc = (libc.Bool32((int32((*Table)(unsafe.Pointer(pTab)).FiPKey) == iCol) && (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != U32(0)))) goto __13 __12: - zDataType = ts + 14687 /* "INTEGER" */ + zDataType = ts + 14702 /* "INTEGER" */ primarykey = 1 __13: ; @@ -148506,14 +149014,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+28766 /* "no such table co..." */, libc.VaList(bp, zTableName, + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+28781 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -149312,7 +149820,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+28794 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+28809 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -149473,7 +149981,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 + 28802 /* "database is dead..." */ + return ts + 28817 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -150273,7 +150781,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 8061 /* "null" */, ts + 8863 /* "true" */, ts + 8868 /* "false" */, ts + 8071 /* "integer" */, ts + 8066 /* "real" */, ts + 16811 /* "text" */, ts + 28825 /* "array" */, ts + 28831, /* "object" */ + ts + 8076 /* "null" */, ts + 8878 /* "true" */, ts + 8883 /* "false" */, ts + 8086 /* "integer" */, ts + 8081 /* "real" */, ts + 16826 /* "text" */, ts + 28840 /* "array" */, ts + 28846, /* "object" */ } /* sqlite3.c:189771:19 */ // Maximum nesting depth of JSON for this implementation. @@ -150453,7 +150961,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 + 28838 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 28853 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -150481,7 +150989,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { - jsonAppendRaw(tls, p, ts+8061 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+8076 /* "null" */, uint32(4)) break } @@ -150510,7 +151018,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 default: { if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { - Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+28855 /* "JSON cannot hold..." */, -1) + Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+28870 /* "JSON cannot hold..." */, -1) (*JsonString)(unsafe.Pointer(p)).FbErr = U8(2) jsonReset(tls, p) } @@ -150587,19 +151095,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+8061 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+8076 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+8863 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+8878 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+8868 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+8883 /* "false" */, uint32(5)) break } @@ -151165,17 +151673,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } return (int32(j + U32(1))) } else if ((int32(c) == 'n') && - (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8061 /* "null" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8076 /* "null" */, uint64(4)) == 0)) && !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { 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+8863 /* "true" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8878 /* "true" */, 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+8868 /* "false" */, uint64(5)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+8883 /* "false" */, 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))) @@ -151283,7 +151791,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+28884 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+28899 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -151603,7 +152111,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+28899 /* "[0]" */, uint64(3)) == 0 { + } else if libc.Xstrncmp(tls, zPath, ts+28914 /* "[0]" */, uint64(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) } else { return uintptr(0) @@ -151620,7 +152128,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190 bp := tls.Alloc(8) defer tls.Free(8) - return Xsqlite3_mprintf(tls, ts+28903 /* "JSON path error ..." */, libc.VaList(bp, zErr)) + return Xsqlite3_mprintf(tls, ts+28918 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } // Do a node lookup using zPath. Return a pointer to the node on success. @@ -151687,7 +152195,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit bp := tls.Alloc(8) defer tls.Free(8) - var zMsg uintptr = Xsqlite3_mprintf(tls, ts+28929, /* "json_%s() needs ..." */ + var zMsg uintptr = Xsqlite3_mprintf(tls, ts+28944, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -151831,7 +152339,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* if pNode != 0 { jsonRenderNode(tls, pNode, bp /* &jx */, uintptr(0)) } else { - jsonAppendRaw(tls, bp /* &jx */, ts+8061 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+8076 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -151959,14 +152467,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+28972 /* "json_object() re..." */, -1) + ts+28987 /* "json_object() re..." */, -1) return } jsonInit(tls, bp /* &jx */, ctx) jsonAppendChar(tls, bp /* &jx */, 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+29023 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+29038 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -152074,7 +152582,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+17322 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+17337 /* "replace" */) return __2: ; @@ -152160,9 +152668,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 29057 /* "set" */ + return ts + 29072 /* "set" */ } - return ts + 29061 /* "insert" */ + return ts + 29076 /* "insert" */ }()) return __2: @@ -152310,7 +152818,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+29068 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+29083 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -152415,7 +152923,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+29071 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+29086 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -152468,7 +152976,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+29074 /* "CREATE TABLE x(k..." */) + ts+29089 /* "CREATE TABLE x(k..." */) if rc == SQLITE_OK { pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{})))) if pNew == uintptr(0) { @@ -152606,14 +153114,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql 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+29157 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) + jsonPrintf(tls, 30, pStr, ts+29172 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) } else { if (int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags) & JNODE_LABEL) == 0 { pNode -= 16 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+29162 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+29177 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } @@ -152706,9 +153214,9 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* jsonAppendChar(tls, bp+24 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+24 /* &x */, ts+29157 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+24 /* &x */, ts+29172 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+29162 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+29177 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } jsonResult(tls, bp+24 /* &x */) @@ -152732,7 +153240,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 + 29168 /* "$" */ + zRoot = ts + 29183 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -152864,7 +153372,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+28884 /* "malformed JSON" */, 0) + (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+28899 /* "malformed JSON" */, 0) if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { rc = SQLITE_ERROR } @@ -153005,21 +153513,21 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 29170 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29175 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29186 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29186 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29204 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29217 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29229 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29241 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29252 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29263 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29275 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29288 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 29297 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29297 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29307 /* "json_valid" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29185 /* "json" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29190 /* "json_array" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29201 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29201 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 29219 /* "json_extract" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29232 /* "json_insert" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29244 /* "json_object" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29256 /* "json_patch" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 29267 /* "json_quote" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29278 /* "json_remove" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29290 /* "json_replace" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 29303 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, + {FzName: ts + 29312 /* "json_type" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 29312 /* "json_type" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 29322 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { FzName uintptr @@ -153029,17 +153537,17 @@ var aAgg = [2]struct { FxFinal uintptr FxValue uintptr }{ - {FzName: ts + 29318 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 29333 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 29335 /* "json_group_objec..." */, FnArg: 2, + {FzName: ts + 29350 /* "json_group_objec..." */, FnArg: 2, FxStep: 0, FxFinal: 0, FxValue: 0}, } /* sqlite3.c:192211:5 */ var aMod = [2]struct { FzName uintptr FpModule uintptr }{ - {FzName: ts + 29353 /* "json_each" */, FpModule: 0}, - {FzName: ts + 29363 /* "json_tree" */, FpModule: 0}, + {FzName: ts + 29368 /* "json_each" */, FpModule: 0}, + {FzName: ts + 29378 /* "json_tree" */, FpModule: 0}, } /* sqlite3.c:192221:5 */ var enc int32 = ((SQLITE_UTF8 | SQLITE_DETERMINISTIC) | SQLITE_INNOCUOUS) /* sqlite3.c:192226:20 */ // In the SQLite core @@ -153389,11 +153897,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+29373 /* "%s_node" */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + var zTab uintptr = Xsqlite3_mprintf(tls, ts+29388 /* "%s_node" */, 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+29381 /* "data" */, iNode, 0, + rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+29396 /* "data" */, iNode, 0, (pRtree + 112 /* &.pNodeBlob */)) Xsqlite3_free(tls, zTab) } @@ -153638,7 +154146,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+29386, /* "DROP TABLE '%q'...." */ + ts+29401, /* "DROP TABLE '%q'...." */ 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)) @@ -154398,7 +154906,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information - pSrc = Xsqlite3_value_pointer(tls, pValue, ts+29468 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+29483 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -154662,7 +155170,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -155922,7 +156430,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+29482 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, ts+29497 /* "SELECT * FROM %Q..." */, 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 /* &pStmt */, uintptr(0)) } else { @@ -155934,12 +156442,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 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+29502 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+29517 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), iCol) var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+29534 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+29549 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } @@ -156207,7 +156715,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+29571 /* "ALTER TABLE %Q.'..." */, 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+29586 /* "ALTER TABLE %Q.'..." */, 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)) @@ -156245,7 +156753,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(24) defer tls.Free(24) - var zFmt uintptr = ts + 29716 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 29731 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+16, 8 @@ -156253,7 +156761,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit var nRow I64 = int64(0) rc = Xsqlite3_table_column_metadata(tls, - db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+13331 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+13346 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == SQLITE_ERROR { @@ -156306,7 +156814,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 29772 /* "node" */, ts + 6977 /* "parent" */, ts + 10282, /* "rowid" */ + ts + 29787 /* "node" */, ts + 6992 /* "parent" */, ts + 10297, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -156350,19 +156858,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+29777, /* "CREATE TABLE \"%w..." */ + ts+29792, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+29839 /* ",a%d" */, libc.VaList(bp+16, ii)) + Xsqlite3_str_appendf(tls, p, ts+29854 /* ",a%d" */, libc.VaList(bp+16, ii)) } Xsqlite3_str_appendf(tls, p, - ts+29844, /* ");CREATE TABLE \"..." */ + ts+29859, /* ");CREATE TABLE \"..." */ libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+29908, /* "CREATE TABLE \"%w..." */ + ts+29923, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+29978, /* "INSERT INTO \"%w\"..." */ + ts+29993, /* "INSERT INTO \"%w\"..." */ libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { @@ -156393,7 +156901,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } else { // An UPSERT is very slightly slower than REPLACE, but it is needed // if there are auxiliary columns - zFormat = ts + 30027 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 30042 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { @@ -156405,7 +156913,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+30135, /* "SELECT * FROM \"%..." */ + ts+30150, /* "SELECT * FROM \"%..." */ libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -156413,18 +156921,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+30180 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+112, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+30195 /* "UPDATE \"%w\".\"%w_..." */, 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+14840 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+14855 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+30207 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+30222 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+30229 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+30244 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) } } - Xsqlite3_str_appendf(tls, p, ts+30237 /* " WHERE rowid=?1" */, 0) + Xsqlite3_str_appendf(tls, p, ts+30252 /* " WHERE rowid=?1" */, 0) zSql = Xsqlite3_str_finish(tls, p) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -156440,18 +156948,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 30253, /* "INSERT OR REPLAC..." */ - ts + 30306, /* "DELETE FROM '%q'..." */ + ts + 30268, /* "INSERT OR REPLAC..." */ + ts + 30321, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 30351, /* "SELECT nodeno FR..." */ - ts + 30403, /* "INSERT OR REPLAC..." */ - ts + 30457, /* "DELETE FROM '%q'..." */ + ts + 30366, /* "SELECT nodeno FR..." */ + ts + 30418, /* "INSERT OR REPLAC..." */ + ts + 30472, /* "DELETE FROM '%q'..." */ // Read and write the xxx_parent table - ts + 30502, /* "SELECT parentnod..." */ - ts + 30560, /* "INSERT OR REPLAC..." */ - ts + 30615, /* "DELETE FROM '%q'..." */ + ts + 30517, /* "SELECT parentnod..." */ + ts + 30575, /* "INSERT OR REPLAC..." */ + ts + 30630, /* "DELETE FROM '%q'..." */ } /* sqlite3.c:195763:21 */ // The second argument to this function contains the text of an SQL statement @@ -156498,7 +157006,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr var zSql uintptr if isCreate != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) = 0 - zSql = Xsqlite3_mprintf(tls, ts+30662 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, ts+30677 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) rc = getIntFromStmt(tls, db, zSql, bp+48 /* &iPageSize */) if rc == SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) - 64) @@ -156506,19 +157014,19 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, - ts+30682, /* "SELECT length(da..." */ + ts+30697, /* "SELECT length(da..." */ libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 32 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30739, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30754, /* "undersize RTree ..." */ libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -156569,17 +157077,17 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr ii = 4 *(*[5]uintptr)(unsafe.Pointer(bp + 96 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 - ts + 30774, /* "Wrong number of ..." */ // 1 - ts + 30817, /* "Too few columns ..." */ // 2 - ts + 30852, /* "Too many columns..." */ // 3 - ts + 30888, /* "Auxiliary rtree ..." */ // 4 + ts + 30789, /* "Wrong number of ..." */ // 1 + ts + 30832, /* "Too few columns ..." */ // 2 + ts + 30867, /* "Too many columns..." */ // 3 + ts + 30903, /* "Auxiliary rtree ..." */ // 4 } // Aux columns counted by a u8 if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) return SQLITE_ERROR __1: ; @@ -156609,7 +157117,7 @@ __2: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+30925, /* "CREATE TABLE x(%..." */ + Xsqlite3_str_appendf(tls, pSql, ts+30940, /* "CREATE TABLE x(%..." */ libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = 4 __3: @@ -156621,7 +157129,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+30949 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+30964 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -156644,7 +157152,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+30955 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+30970 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -156655,14 +157163,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -156705,7 +157213,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) goto rtreeInit_fail __22: ; @@ -156723,7 +157231,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -156743,7 +157251,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 30958 /* ",%.*s REAL" */, ts + 30969 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ +var azFormat = [2]uintptr{ts + 30973 /* ",%.*s REAL" */, ts + 30984 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -156798,13 +157306,13 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit nodeGetCell(tls, bp+56 /* &tree */, bp+16 /* &node */, ii, bp+1024 /* &cell */) if ii > 0 { - Xsqlite3_str_append(tls, pOut, ts+12911 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+12926 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+30979 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, ts+30994 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+30985 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+31000 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } - Xsqlite3_str_append(tls, pOut, ts+30989 /* "}" */, 1) + Xsqlite3_str_append(tls, pOut, ts+31004 /* "}" */, 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}))) @@ -156823,7 +157331,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli _ = 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+30991 /* "Invalid argument..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+31006 /* "Invalid argument..." */, -1) } else { var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -156912,12 +157420,12 @@ 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+31024, /* "%z%s%z" */ + (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+31039, /* "%z%s%z" */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - return ts + 5929 /* "\n" */ + return ts + 5944 /* "\n" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -156948,7 +157456,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+31031, /* "SELECT data FROM..." */ + ts+31046, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -156967,7 +157475,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+31076 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+31091 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -156991,8 +157499,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 /* azSql */)) = [2]uintptr{ - ts + 31108, /* "SELECT parentnod..." */ - ts + 31162, /* "SELECT nodeno FR..." */ + ts + 31123, /* "SELECT parentnod..." */ + ts + 31177, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) == uintptr(0) { @@ -157007,23 +157515,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+31210, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+31225, /* "Mapping (%lld ->..." */ libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 31255 /* "%_rowid" */ + return ts + 31270 /* "%_rowid" */ } - return ts + 31263 /* "%_parent" */ + return ts + 31278 /* "%_parent" */ }())) } else if rc == SQLITE_ROW { var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, - ts+31272, /* "Found (%lld -> %..." */ + ts+31287, /* "Found (%lld -> %..." */ libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 31255 /* "%_rowid" */ + return ts + 31270 /* "%_rowid" */ } - return ts + 31263 /* "%_parent" */ + return ts + 31278 /* "%_parent" */ }(), iKey, iVal)) } } @@ -157066,7 +157574,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, - ts+31330 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+31345 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -157086,7 +157594,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 60 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+31378 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) + ts+31393 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -157109,14 +157617,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr if aNode != 0 { if *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+31445 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) + ts+31460 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+31479 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+31494 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } @@ -157124,7 +157632,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 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, - ts+31509, /* "Node %lld is too..." */ + ts+31524, /* "Node %lld is too..." */ libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { for i = 0; i < nCell; i++ { @@ -157158,14 +157666,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+31564, /* "SELECT count(*) ..." */ + pCount = rtreeCheckPrepare(tls, pCheck, ts+31579, /* "SELECT count(*) ..." */ 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+31595 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) + ts+31610 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -157195,13 +157703,13 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+16510 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+16525 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+31662 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+31677 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) @@ -157210,12 +157718,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+29482 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+29497 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) if pStmt != 0 { var rc int32 (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+31690 /* "Schema corrupt o..." */, 0) + rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+31705 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } @@ -157230,8 +157738,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { rtreeCheckNode(tls, bp+32 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+32 /* &check */, ts+31721 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+32 /* &check */, ts+31728 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+31736 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+31743 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check @@ -157241,7 +157749,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // If one was opened, close the transaction if bEnd != 0 { - var rc int32 = Xsqlite3_exec(tls, db, ts+31736 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) + var rc int32 = Xsqlite3_exec(tls, db, ts+31751 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } @@ -157287,7 +157795,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+31740 /* "wrong number of ..." */, -1) + ts+31755 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -157295,7 +157803,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 8551 /* "main" */ + zDb = ts + 8566 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -157305,7 +157813,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if *(*uintptr)(unsafe.Pointer(bp /* zReport */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp /* zReport */)) } - return ts + 5213 /* "ok" */ + return ts + 5228 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -157742,11 +158250,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+31791 /* "[" */, 1) + Xsqlite3_str_append(tls, x, ts+31806 /* "[" */, 1) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { - Xsqlite3_str_appendf(tls, x, ts+31793 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) + Xsqlite3_str_appendf(tls, x, ts+31808 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+31804 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+31819 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 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) } @@ -157770,19 +158278,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+31815 /* "" */, 0) + Xsqlite3_str_appendf(tls, x, ts+31868 /* ">" */, 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) } @@ -158798,7 +159306,7 @@ __1: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+31866 /* "CREATE TABLE x(_..." */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+31881 /* "CREATE TABLE x(_..." */, 0) (*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1) // Add one for _shape (*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1) // The _shape column is always not-null ii = 3 @@ -158807,7 +159315,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+31888 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, ts+31903 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto __3 __3: ii++ @@ -158815,7 +159323,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+30955 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+30970 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -158826,7 +159334,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -158852,7 +159360,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -159085,7 +159593,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s if iRowidTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 10282 /* "rowid" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 10297 /* "rowid" */ (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).FargvIndex = 1 (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).Fomit = uint8(1) (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 30.0 @@ -159095,7 +159603,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } if iFuncTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31892 /* "rtree" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31907 /* "rtree" */ (*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 @@ -159103,7 +159611,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s return SQLITE_OK } (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31898 /* "fullscan" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 31913 /* "fullscan" */ (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -159241,7 +159749,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+31907 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+31922 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -159386,14 +159894,14 @@ geopoly_update_end: // Report that geopoly_overlap() is an overloaded function suitable // for use in xBestIndex. func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:198361:12: */ - if Xsqlite3_stricmp(tls, zName, ts+31947 /* "geopoly_overlap" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+31962 /* "geopoly_overlap" */) == 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+31963 /* "geopoly_within" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+31978 /* "geopoly_within" */) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{geopolyWithinFunc})) @@ -159458,7 +159966,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 uintptr(0), aAgg1[i].FxStep, aAgg1[i].FxFinal) } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, ts+31978 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+31993 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -159470,25 +159978,25 @@ var aFunc1 = [12]struct { _ [6]byte FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 31986 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 31999 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32012 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 32025 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31963 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 32037 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31947 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 32060 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32074 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 32087 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 32101 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32117 /* "geopoly_ccw" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32001 /* "geopoly_area" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32014 /* "geopoly_blob" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32027 /* "geopoly_json" */}, + {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 32040 /* "geopoly_svg" */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31978 /* "geopoly_within" */}, + {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 32052 /* "geopoly_contains..." */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31962 /* "geopoly_overlap" */}, + {FxFunc: 0, FnArg: int8(1), FzName: ts + 32075 /* "geopoly_debug" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32089 /* "geopoly_bbox" */}, + {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 32102 /* "geopoly_xform" */}, + {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 32116 /* "geopoly_regular" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32132 /* "geopoly_ccw" */}, } /* sqlite3.c:198416:5 */ var aAgg1 = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ - {FxStep: 0, FxFinal: 0, FzName: ts + 32129 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 32144 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -159501,26 +160009,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 var utf8 int32 = SQLITE_UTF8 var rc int32 - rc = Xsqlite3_create_function(tls, db, ts+32148 /* "rtreenode" */, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+32163 /* "rtreenode" */, 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+32158 /* "rtreedepth" */, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+32173 /* "rtreedepth" */, 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+32169 /* "rtreecheck" */, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+32184 /* "rtreecheck" */, -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+31892 /* "rtree" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+31907 /* "rtree" */, 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+32180 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+32195 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { rc = sqlite3_geopoly_init(tls, db) @@ -159592,7 +160100,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql Xsqlite3_result_error_nomem(tls, ctx) rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, ts+29468 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) + Xsqlite3_result_pointer(tls, ctx, pBlob, ts+29483 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) } } } @@ -160883,7 +161391,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // Figure out the size of the output nOut = rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, ts+32190 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+32205 /* "corrupt fossil d..." */, -1) return } @@ -160894,7 +161402,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+32190 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+32205 /* "corrupt fossil d..." */, -1) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -160915,7 +161423,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -160933,7 +161441,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -161037,7 +161545,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+32211 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + ts+32226 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if rc == SQLITE_OK { @@ -161121,7 +161629,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+29381 /* "data" */, zIn, uint64(4)) == 0) { + if (libc.Xstrlen(tls, zIn) > uint64(4)) && (libc.Xmemcmp(tls, ts+29396 /* "data" */, 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++ { } @@ -161149,17 +161657,17 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter /* &.pTblIter */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+32382 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { + ts+32397 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 32532 /* "AND rootpage!=0 ..." */ + return ts + 32547 /* "AND rootpage!=0 ..." */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 8 /* &.pIdxIter */), (p + 64 /* &.zErrmsg */), - ts+32573 /* "SELECT name, roo..." */) + ts+32588 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -161297,7 +161805,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: var rc int32 = Xsqlite3_finalize(tls, pStmt) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (rc != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) } } @@ -161360,7 +161868,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 /* &aStmt */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+32698 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) + ts+32713 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } @@ -161378,7 +161886,7 @@ __2: *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 1*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32779 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) + Xsqlite3_mprintf(tls, ts+32794 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -161396,7 +161904,7 @@ __4: } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 2*8), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+32800 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) + ts+32815 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } @@ -161420,7 +161928,7 @@ __5: ; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 3*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32851 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) + Xsqlite3_mprintf(tls, ts+32866 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } @@ -161469,7 +161977,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32872 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+32887 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 @@ -161484,7 +161992,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)))) { var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)), 1) if iCid >= 0 { @@ -161534,7 +162042,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 72 /* &.eType */), bp+56 /* &iTnum */, (pIter + 108 /* &.iPkTnum */)) 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+21572 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+21587 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc @@ -161547,18 +162055,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // of the input table. Ignore any input table columns that begin with // "rbu_". (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32929 /* "SELECT * FROM '%..." */, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + Xsqlite3_mprintf(tls, ts+32944 /* "SELECT * FROM '%..." */, 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 /* pStmt */))) 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 /* pStmt */)), i) - if Xsqlite3_strnicmp(tls, ts+32948 /* "rbu_" */, zName, 4) != 0 { + if Xsqlite3_strnicmp(tls, ts+32963 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 56 /* &.rc */)) *(*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+32953 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+32968 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -161570,12 +162078,12 @@ 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+32963 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+32978 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { - return ts + 32992 /* "may not have" */ + return ts + 33007 /* "may not have" */ } - return ts + 33005 /* "requires" */ + return ts + 33020 /* "requires" */ }())) } @@ -161584,7 +162092,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+33014 /* "PRAGMA table_inf..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+33029 /* "PRAGMA table_inf..." */, 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 /* pStmt */)))) { var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 1) @@ -161598,7 +162106,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+33036, /* "column missing f..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33051, /* "column missing f..." */ libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 5) @@ -161644,12 +162152,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(24) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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+33063 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 16621 /* ", " */ + zList = rbuMPrintf(tls, p, ts+33078 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 16636 /* ", " */ } return zList } @@ -161664,13 +162172,13 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, var iPk int32 = 1 var zRet uintptr = uintptr(0) - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ for 1 != 0 { var i int32 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+33072 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) + zRet = rbuMPrintf(tls, p, ts+33087 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -161709,25 +162217,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 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+33085 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + ts+33100 /* "SELECT max(_rowi..." */, 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 /* pMax */)))) { var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+33117 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) + zRet = rbuMPrintf(tls, p, ts+33132 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } else { - var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+900 /* "" */, ts+16621 /* ", " */, ts+33140 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+33146 /* "quote(" */, ts+33153 /* "||','||" */, ts+6872 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+900 /* "" */, ts+16621 /* ", " */, ts+900 /* "" */) + var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+16636 /* ", " */, ts+33155 /* " DESC" */) + var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+33161 /* "quote(" */, ts+33168 /* "||','||" */, ts+6887 /* ")" */) + var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+16636 /* ", " */, ts+915 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+33161, /* "SELECT %s FROM \"..." */ + ts+33176, /* "SELECT %s FROM \"..." */ 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 /* pMax */)))) { var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+33203 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) + zRet = rbuMPrintf(tls, p, ts+33218 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } @@ -161785,12 +162293,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 900 /* "" */ + zSep = ts + 915 /* "" */ iCol = 0 *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, 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 /* pXInfo */))))) { goto __2 @@ -161827,7 +162335,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) goto __7 __6: - zCol = ts + 33223 /* "_rowid_" */ + zCol = ts + 33238 /* "_rowid_" */ __7: ; goto __5 @@ -161836,13 +162344,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+33231, /* "%z%s \"%w\" COLLAT..." */ + zLhs = rbuMPrintf(tls, p, ts+33246, /* "%z%s \"%w\" COLLAT..." */ libc.VaList(bp+8, zLhs, zSep, zCol, zCollate)) - zOrder = rbuMPrintf(tls, p, ts+33252, /* "%z%s \"rbu_imp_%d..." */ + zOrder = rbuMPrintf(tls, p, ts+33267, /* "%z%s \"rbu_imp_%d..." */ libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = rbuMPrintf(tls, p, ts+33288, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+33303, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) - zSep = ts + 16621 /* ", " */ + zSep = ts + 16636 /* ", " */ iCol++ goto __1 __2: @@ -161861,12 +162369,12 @@ __11: *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184 /* &pSel */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+33315, /* "SELECT %s FROM \"..." */ + Xsqlite3_mprintf(tls, ts+33330, /* "SELECT %s FROM \"..." */ 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 /* pSel */))))) { goto __13 } - zSep = ts + 900 /* "" */ + zSep = ts + 915 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -161888,8 +162396,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+33363 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) - zSep = ts + 16621 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+33378 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) + zSep = ts + 16636 /* ", " */ goto __15 __15: iCol++ @@ -161901,7 +162409,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+33370 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+33385 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: @@ -161951,14 +162459,14 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var zImpPK uintptr = uintptr(0) // String to return via *pzImposterPK var zWhere uintptr = uintptr(0) // String to return via *pzWhere var nBind int32 = 0 // Value to return via *pnBind - var zCom uintptr = ts + 900 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 900 /* "" */ // Set to " AND " later on + var zCom uintptr = ts + 915 /* "" */ // Set to ", " later on + var zAnd uintptr = ts + 915 /* "" */ // Set to " AND " later on *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)))) { @@ -161970,9 +162478,9 @@ 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 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+33382 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+8, zRet, zCom, + zRet = Xsqlite3_mprintf(tls, ts+33397 /* "%z%s(%.*s) COLLA..." */, 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 + 900 /* "" */ + zType = ts + 915 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -161984,37 +162492,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 + 33223 /* "_rowid_" */ + zCol = ts + 33238 /* "_rowid_" */ } else { - zCol = ts + 32953 /* "rbu_rowid" */ + zCol = ts + 32968 /* "rbu_rowid" */ } - zType = ts + 14687 /* "INTEGER" */ + zType = ts + 14702 /* "INTEGER" */ } 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+33404 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+33419 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) } if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { - return ts + 33140 /* " DESC" */ + return ts + 33155 /* " DESC" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+33424, /* "%z%s\"rbu_imp_%d%..." */ + zImpPK = Xsqlite3_mprintf(tls, ts+33439, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, ts+33445, /* "%z%s\"rbu_imp_%d%..." */ + zImpCols = Xsqlite3_mprintf(tls, ts+33460, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+33478 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol)) + ts+33493 /* "%z%s\"rbu_imp_%d%..." */, 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 + 16621 /* ", " */ - zAnd = ts + 24058 /* " AND " */ + zCom = ts + 16636 /* ", " */ + zAnd = ts + 24073 /* " AND " */ nBind++ } @@ -162057,16 +162565,16 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zS uintptr = ts + 900 /* "" */ + var zS uintptr = ts + 915 /* "" */ var i int32 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+33502 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, ts+33517 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+33514 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+33529 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } - zS = ts + 16621 /* ", " */ + zS = ts + 16636 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -162075,7 +162583,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+33523 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+33538 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) } } return zList @@ -162095,27 +162603,27 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq 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+33538 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) + zList = rbuMPrintf(tls, p, ts+33553 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) } else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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+33552 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) - zSep = ts + 24058 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+33567 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) + zSep = ts + 24073 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+33564 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) + ts+33579 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = rbuMPrintf(tls, p, ts+33614 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) - zSep = ts + 24058 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+33629 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) + zSep = ts + 24073 /* " AND " */ } } } @@ -162129,7 +162637,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // of the RBU handle to something reflecting this. func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33627 /* "invalid rbu_cont..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33642 /* "invalid rbu_cont..." */, 0) } // Return a nul-terminated string containing the comma separated list of @@ -162158,21 +162666,21 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr if int32(libc.Xstrlen(tls, zMask)) != (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { rbuBadControlError(tls, p) } else { - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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+33614, /* "%z%s\"%w\"=?%d" */ + zList = rbuMPrintf(tls, p, ts+33629, /* "%z%s\"%w\"=?%d" */ libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) - zSep = ts + 16621 /* ", " */ + zSep = ts + 16636 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+33653, /* "%z%s\"%w\"=rbu_del..." */ + zList = rbuMPrintf(tls, p, ts+33668, /* "%z%s\"%w\"=rbu_del..." */ 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 + 16621 /* ", " */ + zSep = ts + 16636 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+33683, /* "%z%s\"%w\"=rbu_fos..." */ + zList = rbuMPrintf(tls, p, ts+33698, /* "%z%s\"%w\"=rbu_fos..." */ 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 + 16621 /* ", " */ + zSep = ts + 16636 /* ", " */ } } } @@ -162230,19 +162738,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zSep uintptr = ts + 33720 /* "PRIMARY KEY(" */ + var zSep uintptr = ts + 33735 /* "PRIMARY KEY(" */ *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56 /* &pXList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32872 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+32887 /* "PRAGMA main.inde..." */, 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 /* pXList */)))) { var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 3) - if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+18089 /* "pk" */) == 0) { + if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+18104 /* "pk" */) == 0) { var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 1) if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } @@ -162255,15 +162763,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 2) var zDesc uintptr if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 3) != 0 { - zDesc = ts + 33140 /* " DESC" */ + zDesc = ts + 33155 /* " DESC" */ } else { - zDesc = ts + 900 /* "" */ + zDesc = ts + 915 /* "" */ } - z = rbuMPrintf(tls, p, ts+33733 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = ts + 16621 /* ", " */ + z = rbuMPrintf(tls, p, ts+33748 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) + zSep = ts + 16636 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+33744 /* "%z)" */, libc.VaList(bp+48, z)) + z = rbuMPrintf(tls, p, ts+33759 /* "%z)" */, libc.VaList(bp+48, z)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */))) } return z @@ -162295,7 +162803,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx - var zComma uintptr = ts + 900 /* "" */ + var zComma uintptr = ts + 915 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -162303,7 +162811,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168 /* &pQuery */, (p + 64 /* &.zErrmsg */), - ts+33748 /* "SELECT name FROM..." */) + ts+33763 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 1, tnum) if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) { @@ -162312,7 +162820,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit } if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+32900 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) @@ -162322,25 +162830,25 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 1) var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 3) var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+33798 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, + zCols = rbuMPrintf(tls, p, ts+33813 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+33820 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+33835 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { - return ts + 33140 /* " DESC" */ + return ts + 33155 /* " DESC" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) - zComma = ts + 16621 /* ", " */ + zComma = ts + 16636 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+33830 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) + zCols = rbuMPrintf(tls, p, ts+33845 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+33845, /* "CREATE TABLE rbu..." */ + ts+33860, /* "CREATE TABLE rbu..." */ libc.VaList(bp+120, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 0)) } } @@ -162368,52 +162876,52 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum - var zComma uintptr = ts + 900 /* "" */ + var zComma uintptr = ts + 915 /* "" */ var zSql uintptr = uintptr(0) var iCol int32 - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 1)) for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { - var zPk uintptr = ts + 900 /* "" */ + var zPk uintptr = ts + 915 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, 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) { // If the target table column is an "INTEGER PRIMARY KEY", add // "PRIMARY KEY" to the imposter table column declaration. - zPk = ts + 33907 /* "PRIMARY KEY " */ + zPk = ts + 33922 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+33920, /* "%z%s\"%w\" %s %sCO..." */ + zSql = rbuMPrintf(tls, p, ts+33935, /* "%z%s\"%w\" %s %sCO..." */ libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - return ts + 33947 /* " NOT NULL" */ + return ts + 33962 /* " NOT NULL" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) - zComma = ts + 16621 /* ", " */ + zComma = ts + 16636 /* ", " */ } 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+33957 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+33972 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33964, /* "CREATE TABLE \"rb..." */ + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 1, tnum)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33979, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { - return ts + 33996 /* " WITHOUT ROWID" */ + return ts + 34011 /* " WITHOUT ROWID" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 0)) } } @@ -162436,7 +162944,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 152 /* &.pTmpInsert */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+34011, /* "INSERT INTO %s.'..." */ + ts+34026, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -162473,7 +162981,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+34068 /* "SELECT trim(sql)..." */) + ts+34083 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -162583,7 +163091,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+34134 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) + zLimit = Xsqlite3_mprintf(tls, ts+34149 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) if !(zLimit != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM } @@ -162604,26 +163112,26 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 624 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+34154, /* "CREATE TABLE \"rb..." */ + ts+34169, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 608 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 0)) // Create the statement to insert index entries (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 624 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34219 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+34234 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) } // And to delete index entries 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 /* &.pDelete */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+34255 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+34270 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -162640,7 +163148,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+34289, /* "SELECT %s, 0 AS ..." */ + ts+34304, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -162648,32 +163156,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 34350 /* "AND" */ + return ts + 34365 /* "AND" */ } - return ts + 34354 /* "WHERE" */ + return ts + 34369 /* "WHERE" */ }() } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zStart, zCollist, zLimit)) 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+34360, /* "SELECT %s, rbu_c..." */ + ts+34375, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+216, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, - ts+34421, /* "SELECT %s, rbu_c..." */ + ts+34436, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+264, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { if zPart != 0 { - return ts + 34350 /* "AND" */ + return ts + 34365 /* "AND" */ } - return ts + 34354 /* "WHERE" */ + return ts + 34369 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -162698,8 +163206,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 var zBindings uintptr = rbuObjIterGetBindlist(tls, p, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + bRbuRowid)) var zWhere uintptr = rbuObjIterGetWhere(tls, p, pIter) - var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8560 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8556 /* "new" */) + var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8575 /* "old" */) + var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8571 /* "new" */) zCollist = rbuObjIterGetCollist(tls, p, pIter) (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -162709,21 +163217,21 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuCreateImposterTable2(tls, p, pIter) zWrite = func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 34580 /* "rbu_imp_" */ + return ts + 34595 /* "rbu_imp_" */ }() // Create the INSERT statement to write to the target PK b-tree if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, - ts+34589, /* "INSERT INTO \"%s%..." */ + ts+34604, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 34625 /* ", _rowid_" */ + return ts + 34640 /* ", _rowid_" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zBindings))) } @@ -162733,28 +163241,28 @@ 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 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+34635 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+384, zWrite, zTbl, zWhere))) + ts+34650 /* "DELETE FROM \"%s%..." */, 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 + 900 /* "" */ + var zRbuRowid uintptr = ts + 915 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 34663 /* ", rbu_rowid" */ + zRbuRowid = ts + 34678 /* ", rbu_rowid" */ } // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+34675 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+34690 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - return ts + 34751 /* ", 0 AS rbu_rowid" */ + return ts + 34766 /* ", 0 AS rbu_rowid" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+34768, /* "CREATE TEMP TRIG..." */ + ts+34783, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -162762,7 +163270,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 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+35067, /* "CREATE TEMP TRIG..." */ + ts+35082, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } @@ -162771,14 +163279,14 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the SELECT statement to read keys from data_xxx if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zRbuRowid uintptr = ts + 900 /* "" */ + var zRbuRowid uintptr = ts + 915 /* "" */ var zStart uintptr = uintptr(0) var zOrder uintptr = uintptr(0) if bRbuRowid != 0 { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zRbuRowid = ts + 35166 /* ",_rowid_ " */ + zRbuRowid = ts + 35181 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 35176 /* ",rbu_rowid" */ + zRbuRowid = ts + 35191 /* ",rbu_rowid" */ } } @@ -162791,35 +163299,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+33223 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+33238 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+900 /* "" */, ts+16621 /* ", " */, ts+900 /* "" */) + zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+16636 /* ", " */, ts+915 /* "" */) } } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 128 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, - ts+35187, /* "SELECT %s,%s rbu..." */ + ts+35202, /* "SELECT %s,%s rbu..." */ libc.VaList(bp+536, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 35235 /* "0 AS " */ + return ts + 35250 /* "0 AS " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 22237 /* "ORDER BY" */ + return ts + 22252 /* "ORDER BY" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zOrder, zLimit))) } @@ -162894,12 +163402,12 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp (*RbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - var zPrefix uintptr = ts + 900 /* "" */ + var zPrefix uintptr = ts + 915 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 34580 /* "rbu_imp_" */ + zPrefix = ts + 34595 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+35241, /* "UPDATE \"%s%w\" SE..." */ + zUpdate = Xsqlite3_mprintf(tls, ts+35256, /* "UPDATE \"%s%w\" SE..." */ 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 /* &.pUpdate */), (p + 64 /* &.zErrmsg */), zUpdate) @@ -162926,7 +163434,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))) *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) } @@ -162967,7 +163475,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ } *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+35271 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) + Xsqlite3_mprintf(tls, ts+35286 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) for (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) { case RBU_STATE_STAGE: @@ -163039,31 +163547,31 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8551 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */, 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+8551 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+35301 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) + var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+35316 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) } } // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35328 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+4653 /* "stat" */, uint64(4)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35343 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+4668 /* "stat" */, uint64(4)) } else { - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+8551 /* "main" */, uint64(4)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+8566 /* "main" */, uint64(4)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35346 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+35361 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 var rc int32 (*Sqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8551 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */, SQLITE_FCNTL_RBUCNT, p) if rc != SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -163096,11 +163604,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 return } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35412 /* "cannot vacuum wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35427 /* "cannot vacuum wa..." */, 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+28551 /* "file:" */, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5))) { + if (libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5)) && (0 == libc.Xmemcmp(tls, ts+28566 /* "file:" */, (*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)))) == '?' { @@ -163112,16 +163620,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+35444, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8551 /* "main" */), + zTarget = Xsqlite3_mprintf(tls, ts+35459, /* "file:%s-vactmp?r..." */ + libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */), func() uintptr { if zExtra == uintptr(0) { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 35476 /* "&" */ + return ts + 35491 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } return zExtra }())) @@ -163137,40 +163645,40 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+35478 /* "rbu_tmp_insert" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+35493 /* "rbu_tmp_insert" */, -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+35493 /* "rbu_fossil_delta" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + ts+35508 /* "rbu_fossil_delta" */, 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+35510 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+35525 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuTargetNameFunc})), uintptr(0), uintptr(0)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, SQLITE_FCNTL_RBU, p) } - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35526 /* "SELECT * FROM sq..." */, 0) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35541 /* "SELECT * FROM sq..." */, 0) // Mark the database file just opened as an RBU target database. If // this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. // This is an error. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, SQLITE_FCNTL_RBU, p) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35554 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35569 /* "rbu vfs not foun..." */, 0) } } @@ -163239,7 +163747,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+35526 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35541 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -163273,7 +163781,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+35572 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35587 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) if rc2 != SQLITE_INTERNAL { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -163400,16 +163908,16 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ bp := tls.Alloc(16) defer tls.Free(16) - var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8551 /* "main" */) + var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */) var zMove uintptr = zBase var zOal uintptr var zWal uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8551 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+35607 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+35614 /* "%s-wal" */, libc.VaList(bp+8, zMove)) + zOal = Xsqlite3_mprintf(tls, ts+35622 /* "%s-oal" */, libc.VaList(bp, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+35629 /* "%s-wal" */, libc.VaList(bp+8, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -163549,7 +164057,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) { /* sqlite3.c:203389:1 ((*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+28189 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28204 /* "datatype mismatc..." */, 0) return } @@ -163667,7 +164175,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // var pStmt uintptr at bp+8, 8 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+35621 /* "PRAGMA schema_ve..." */) + ts+35636 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There // is already a transaction open, so the prepared statement cannot @@ -163680,7 +164188,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35643 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35658 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) } } } @@ -163705,7 +164213,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168 /* &pInsert */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+35670, /* "INSERT OR REPLAC..." */ + ts+35685, /* "INSERT OR REPLAC..." */ libc.VaList(bp, p+48, /* &.zStateDb */ RBU_STATE_STAGE, eStage, RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl, @@ -163750,9 +164258,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24 /* &pPragma */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+35828 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) + Xsqlite3_mprintf(tls, ts+35843 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)))) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35843, /* "PRAGMA main.%s =..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35858, /* "PRAGMA main.%s =..." */ libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)), 0))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */))) @@ -163769,11 +164277,11 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * *(*uintptr)(unsafe.Pointer(bp /* pSql */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35863 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+35878 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+35888 /* "SELECT sql FROM ..." */) + ts+35903 /* "SELECT sql FROM ..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -163787,12 +164295,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+35996 /* "SELECT * FROM sq..." */) + ts+36011 /* "SELECT * FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8 /* &pInsert */, (p + 64 /* &.zErrmsg */), - ts+36061 /* "INSERT INTO sqli..." */) + ts+36076 /* "INSERT INTO sqli..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -163804,7 +164312,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36105 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36120 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) @@ -163826,8 +164334,8 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // when this handle was opened, create the target database schema. if (((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FnProgress == 0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { rbuCreateTargetSchema(tls, p) - rbuCopyPragma(tls, p, ts+19151 /* "user_version" */) - rbuCopyPragma(tls, p, ts+18261 /* "application_id" */) + rbuCopyPragma(tls, p, ts+19166 /* "user_version" */) + rbuCopyPragma(tls, p, ts+18276 /* "application_id" */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl != 0) { @@ -163838,7 +164346,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // But the contents can be deleted. 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+36130 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + ts+36145 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) } } else { rbuObjIterPrepareAll(tls, p, pIter, 0) @@ -163864,10 +164372,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: rbuSaveState(tls, p, RBU_STAGE_MOVE) rbuIncrSchemaCookie(tls, p) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_MOVE } @@ -163984,7 +164492,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 if (rc == SQLITE_OK) && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36158 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36173 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -164003,7 +164511,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ bp := tls.Alloc(8) defer tls.Free(8) - var zOal uintptr = rbuMPrintf(tls, p, ts+35607 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) + var zOal uintptr = rbuMPrintf(tls, p, ts+35622 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -164025,7 +164533,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ // var zRnd [64]int8 at bp+12, 64 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+36183 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+36198 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12 /* &zRnd[0] */) @@ -164064,7 +164572,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / rc = prepareFreeAndCollectError(tls, db, bp+8 /* &pStmt */, bp+16, /* &zErrmsg */ Xsqlite3_mprintf(tls, - ts+36194 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) + ts+36209 /* "SELECT count(*) ..." */, 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 /* zErrmsg */)), -1) } else { @@ -164107,7 +164615,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+36266 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+36281 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuIndexCntFunc})), uintptr(0), uintptr(0)) @@ -164115,7 +164623,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ // occurs, nPhaseOneStep will be left set to -1. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+36280 /* "SELECT 1 FROM sq..." */) + ts+36295 /* "SELECT 1 FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { @@ -164127,7 +164635,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (bExists != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+36337 /* "SELECT sum(cnt *..." */) + ts+36352 /* "SELECT sum(cnt *..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) @@ -164173,7 +164681,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) libc.Xmemcpy(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, zRbu, (nRbu + uint64(1))) pCsr += (uintptr(nRbu + uint64(1))) if zState != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+936 /* "%s" */, libc.VaList(bp, zState)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+951 /* "%s" */, libc.VaList(bp, zState)) } // If the first attempt to open the database file fails and the bRetry @@ -164210,7 +164718,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+36411 /* "cannot update wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36426 /* "cannot update wa..." */, 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 @@ -164232,12 +164740,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // transaction is committed in rollback mode) currently stored on // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36443, /* "database modifie..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36458, /* "database modifie..." */ libc.VaList(bp+8, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 36475 /* "vacuum" */ + return ts + 36490 /* "vacuum" */ } - return ts + 36482 /* "update" */ + return ts + 36497 /* "update" */ }())) } } @@ -164245,7 +164753,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { var db uintptr = (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16510 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16525 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) // Point the object iterator at the first object if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -164259,24 +164767,24 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_DONE } else { if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuState)(unsafe.Pointer(pState)).FeStage == 0)) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - rbuCopyPragma(tls, p, ts+18876 /* "page_size" */) - rbuCopyPragma(tls, p, ts+18276 /* "auto_vacuum" */) + rbuCopyPragma(tls, p, ts+18891 /* "page_size" */) + rbuCopyPragma(tls, p, ts+18291 /* "auto_vacuum" */) } // Open transactions both databases. The *-oal file is opened or // created at this point. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+36489 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+36504 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Check if the main database is a zipvfs db. If it is, set the upper // level pager to use "journal_mode=off". This prevents it from // generating a large journal using a temp file. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var frc int32 = Xsqlite3_file_control(tls, db, ts+8551 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) + var frc int32 = Xsqlite3_file_control(tls, db, ts+8566 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) if frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, - db, ts+36505 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + db, ts+36520 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } } @@ -164329,7 +164837,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+36529 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { + if (n >= 7) && (0 == libc.Xmemcmp(tls, ts+36544 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { return rbuMisuseError(tls) } } @@ -164359,7 +164867,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:204232:13: */ 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+34580 /* "rbu_imp_" */, uint64(8)) == 0 { + if libc.Xmemcmp(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i)), ts+34595 /* "rbu_imp_" */, 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++ @@ -164378,7 +164886,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Commit the transaction to the *-oal file. if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Sync the db file if currently doing an incremental checkpoint @@ -164390,7 +164898,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Close any open statement handles. @@ -164402,7 +164910,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // specifying the current target and state databases to start a new // vacuum from scratch. 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+36537 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) + var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+36552 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) && (rc2 != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -164501,7 +165009,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -164518,19 +165026,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16525 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+16540 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { var zBegin uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zBegin = ts + 16510 /* "BEGIN" */ + zBegin = ts + 16525 /* "BEGIN" */ } else { - zBegin = ts + 36489 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 36504 /* "BEGIN IMMEDIATE" */ } 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+36489 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+36504 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -164934,7 +165442,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36564 /* "rbu/zipvfs setup..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36579 /* "rbu/zipvfs setup..." */, 0) } else if rc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p (*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu @@ -164957,7 +165465,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+36587 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + var zOut uintptr = Xsqlite3_mprintf(tls, ts+36602 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = SQLITE_NOMEM @@ -165120,7 +165628,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags // This call is to open a *-wal file. Intead, open the *-oal. var nOpen Size_t if (*Sqlite3rbu)(unsafe.Pointer(((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu))).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+8551 /* "main" */) + zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+8566 /* "main" */) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -165135,7 +165643,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+36598 /* "rbu_memory" */, 0) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+36613 /* "rbu_memory" */, 0) != 0) { oflags = ((((SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -165447,7 +165955,7 @@ var zDbstatSchema = // 9 Size of the page (sum for aggregate) // 10 Database schema being analyzed // 11 aggregate info for each table -*(*[258]int8)(unsafe.Pointer(ts + 36609 /* "CREATE TABLE x( ..." */)) /* sqlite3.c:205427:19 */ +*(*[258]int8)(unsafe.Pointer(ts + 36624 /* "CREATE TABLE x( ..." */)) /* sqlite3.c:205427:19 */ // Forward reference to data structured used in this module type StatTable1 = struct { @@ -165528,7 +166036,7 @@ func statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp Xsqlite3TokenInit(tls, bp+8 /* &nm */, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = Xsqlite3FindDb(tls, db, bp+8 /* &nm */) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+13885 /* "no such database..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+13900 /* "no such database..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return SQLITE_ERROR } } else { @@ -166051,7 +166559,7 @@ __5: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __6 } - (*StatPage)(unsafe.Pointer((pCsr + 24 /* &.aPage */))).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36867 /* "/" */, 0)) + (*StatPage)(unsafe.Pointer((pCsr + 24 /* &.aPage */))).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36882 /* "/" */, 0)) if !(z == uintptr(0)) { goto __7 } @@ -166109,9 +166617,9 @@ __14: } (*StatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*StatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*StatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*U32)(unsafe.Pointer((*StatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36869 /* "overflow" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36884 /* "overflow" */ (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, - ts+36878 /* "%s%.3x+%.6x" */, libc.VaList(bp, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell, iOvfl))) + ts+36893 /* "%s%.3x+%.6x" */, libc.VaList(bp, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell, iOvfl))) if z == uintptr(0) { return SQLITE_NOMEM } @@ -166179,7 +166687,7 @@ __23: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __24 } - (*StatPage)(unsafe.Pointer(p + 1*64)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36890 /* "%s%.3x/" */, libc.VaList(bp+24, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) + (*StatPage)(unsafe.Pointer(p + 1*64)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36905 /* "%s%.3x/" */, libc.VaList(bp+24, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) if !(z == uintptr(0)) { goto __25 } @@ -166222,14 +166730,14 @@ __2: goto __28 __29: // table internal __30: // index internal - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36898 /* "internal" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36913 /* "internal" */ goto __28 __31: // table leaf __32: // index leaf - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36907 /* "leaf" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36922 /* "leaf" */ goto __28 __33: - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36912 /* "corrupted" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36927 /* "corrupted" */ goto __28 __28: ; @@ -166244,7 +166752,7 @@ __34: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __35 } - (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+40, (*StatPage)(unsafe.Pointer(p1)).FzPath))) + (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+40, (*StatPage)(unsafe.Pointer(p1)).FzPath))) if !(z == uintptr(0)) { goto __36 } @@ -166333,13 +166841,13 @@ func statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, ar pSql = Xsqlite3_str_new(tls, (*StatTable)(unsafe.Pointer(pTab)).Fdb) Xsqlite3_str_appendf(tls, pSql, - ts+36922, /* "SELECT * FROM (S..." */ + ts+36937, /* "SELECT * FROM (S..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*StatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb+uintptr((*StatCursor)(unsafe.Pointer(pCsr)).FiDb)*32)).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, ts+37077 /* "WHERE name=%Q" */, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, ts+37092 /* "WHERE name=%Q" */, libc.VaList(bp+8, zName)) } if (idxNum & 0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, ts+37091 /* " ORDER BY name" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+37106 /* " ORDER BY name" */, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -166424,7 +166932,7 @@ func statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite // Invoke this routine to register the "dbstat" virtual table module func Xsqlite3DbstatRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:206190:20: */ - return Xsqlite3_create_module(tls, db, ts+37106 /* "dbstat" */, uintptr(unsafe.Pointer(&dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, ts+37121 /* "dbstat" */, uintptr(unsafe.Pointer(&dbstat_module)), uintptr(0)) } var dbstat_module = Sqlite3_module{ // iVersion @@ -166539,7 +167047,7 @@ func dbpageConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_DIRECTONLY, 0) rc = Xsqlite3_declare_vtab(tls, db, - ts+37113 /* "CREATE TABLE x(p..." */) + ts+37128 /* "CREATE TABLE x(p..." */) if rc == SQLITE_OK { pTab = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(DbpageTable{}))) if pTab == uintptr(0) { @@ -166787,14 +167295,14 @@ func dbpageUpdate(tls *libc.TLS, pVtab uintptr, argc int32, argv uintptr, pRowid if !(((*Sqlite3)(unsafe.Pointer((*DbpageTable)(unsafe.Pointer(pTab)).Fdb)).Fflags & uint64(SQLITE_Defensive)) != 0) { goto __1 } - zErr = ts + 37180 /* "read-only" */ + zErr = ts + 37195 /* "read-only" */ goto update_fail __1: ; if !(argc == 1) { goto __2 } - zErr = ts + 37190 /* "cannot delete" */ + zErr = ts + 37205 /* "cannot delete" */ goto update_fail __2: ; @@ -166802,7 +167310,7 @@ __2: if !(Pgno(Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) != pgno) { goto __3 } - zErr = ts + 37204 /* "cannot insert" */ + zErr = ts + 37219 /* "cannot insert" */ goto update_fail __3: ; @@ -166815,7 +167323,7 @@ __3: if !(iDb < 0) { goto __4 } - zErr = ts + 37218 /* "no such schema" */ + zErr = ts + 37233 /* "no such schema" */ goto update_fail __4: ; @@ -166823,7 +167331,7 @@ __4: if !(((pgno < Pgno(1)) || (pBt == uintptr(0))) || (pgno > Pgno(int32(Xsqlite3BtreeLastPage(tls, pBt))))) { goto __5 } - zErr = ts + 37233 /* "bad page number" */ + zErr = ts + 37248 /* "bad page number" */ goto update_fail __5: ; @@ -166832,7 +167340,7 @@ __5: (Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))) != szPage)) { goto __6 } - zErr = ts + 37249 /* "bad page value" */ + zErr = ts + 37264 /* "bad page value" */ goto update_fail __6: ; @@ -166857,7 +167365,7 @@ __7: update_fail: Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, zErr)) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, zErr)) return SQLITE_ERROR } @@ -166879,7 +167387,7 @@ func dbpageBegin(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:206594:12: * // Invoke this routine to register the "dbpage" virtual table module func Xsqlite3DbpageRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:206609:20: */ - return Xsqlite3_create_module(tls, db, ts+37264 /* "sqlite_dbpage" */, uintptr(unsafe.Pointer(&dbpage_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, ts+37279 /* "sqlite_dbpage" */, uintptr(unsafe.Pointer(&dbpage_module)), uintptr(0)) } var dbpage_module = Sqlite3_module{ // iVersion @@ -166902,6 +167410,5611 @@ var dbpage_module = Sqlite3_module{ // iVersion //************* End of dbpage.c ********************************************* //************* Begin file sqlite3session.c ********************************* +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable1 = struct { + FpNext uintptr + FzName uintptr + FnCol int32 + FbStat1 int32 + FazCol uintptr + FabPK uintptr + FnEntry int32 + FnChange int32 + FapChange uintptr +} /* sqlite3.c:11155:9 */ + +//************* End of dbpage.c ********************************************* +//************* Begin file sqlite3session.c ********************************* + +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ +type SessionChange1 = struct { + Fop U8 + FbIndirect U8 + _ [2]byte + FnMaxSize int32 + FnRecord int32 + _ [4]byte + FaRecord uintptr + FpNext uintptr +} /* sqlite3.c:11155:9 */ + +type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ +type SessionBuffer1 = struct { + FaBuf uintptr + FnBuf int32 + FnAlloc int32 +} /* sqlite3.c:11163:9 */ + +type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ +type SessionInput1 = struct { + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + _ [4]byte + FaData uintptr + FnData int32 + _ [4]byte + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 + _ [4]byte +} /* sqlite3.c:11163:9 */ + +type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ + +// Minimum chunk size used by streaming versions of functions. + +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:206671:12 */ + +type SessionHook1 = struct { + FpCtx uintptr + FxOld uintptr + FxNew uintptr + FxCount uintptr + FxDepth uintptr +} /* sqlite3.c:11155:9 */ + +type SessionHook = SessionHook1 /* sqlite3.c:206673:28 */ + +// Write a varint with value iVal into the buffer at aBuf. Return the +// number of bytes written. +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:206951:12: */ + return int32(func() uint8 { + if (U32(iVal)) < U32(0x80) { + return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) + } + return uint8(Xsqlite3PutVarint(tls, aBuf, uint64(iVal))) + }()) +} + +// Return the number of bytes required to store value iVal as a varint. +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:206958:12: */ + return Xsqlite3VarintLen(tls, uint64(iVal)) +} + +// Read a varint value from aBuf[] into *piVal. Return the number of +// bytes read. +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:206966:12: */ + return int32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { + return uint8(func() int32 { (*(*int32)(unsafe.Pointer(piVal))) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) + } + return Xsqlite3GetVarint32(tls, aBuf, piVal) + }()) +} + +// Load an unaligned and unsigned 32-bit integer + +// Read a 64-bit big-endian integer value from buffer aRec[]. Return +// the value read. +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:206977:22: */ + var x U64 = (U64((((U32(*(*U8)(unsafe.Pointer((aRec)))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec) + 3))))) + var y U32 = ((((U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4))))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 3)))) + x = ((x << 32) + U64(y)) + return Sqlite3_int64(x) +} + +// Write a 64-bit big-endian integer value to the buffer aBuf[]. +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:206987:13: */ + *(*U8)(unsafe.Pointer(aBuf)) = (U8((i >> 56) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 1)) = (U8((i >> 48) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 2)) = (U8((i >> 40) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 3)) = (U8((i >> 32) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 4)) = (U8((i >> 24) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 5)) = (U8((i >> 16) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 6)) = (U8((i >> 8) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 7)) = (U8((i >> 0) & int64(0xFF))) +} + +// This function is used to serialize the contents of value pValue (see +// comment titled "RECORD FORMAT" above). +// +// If it is non-NULL, the serialized form of the value is written to +// buffer aBuf. *pnWrite is set to the number of bytes written before +// returning. Or, if aBuf is NULL, the only thing this function does is +// set *pnWrite. +// +// If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs +// within a call to sqlite3_value_text() (may fail if the db is utf-16)) +// SQLITE_NOMEM is returned. +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:207011:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var nByte int32 // Size of serialized value in bytes + + if pValue != 0 { + var eType int32 // Value type (SQLITE_NULL, TEXT etc.) + + eType = Xsqlite3_value_type(tls, pValue) + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(eType) + } + + switch eType { + case SQLITE_NULL: + nByte = 1 + break + fallthrough + + case SQLITE_INTEGER: + fallthrough + case SQLITE_FLOAT: + if aBuf != 0 { + // TODO: SQLite does something special to deal with mixed-endian + // floating point values (e.g. ARM7). This code probably should + // too. + // var i U64 at bp, 8 + + if eType == SQLITE_INTEGER { + *(*U64)(unsafe.Pointer(bp /* i */)) = U64(Xsqlite3_value_int64(tls, pValue)) + } else { + // var r float64 at bp+8, 8 + + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_value_double(tls, pValue) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint64(8)) + } + sessionPutI64(tls, (aBuf + 1), int64(*(*U64)(unsafe.Pointer(bp /* i */)))) + } + nByte = 9 + break + fallthrough + + default: + { + var z uintptr + var n int32 + var nVarint int32 + + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, pValue) + } else { + z = Xsqlite3_value_blob(tls, pValue) + } + n = Xsqlite3_value_bytes(tls, pValue) + if (z == uintptr(0)) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + nVarint = sessionVarintLen(tls, n) + + if aBuf != 0 { + sessionVarintPut(tls, (aBuf + 1), n) + if n != 0 { + libc.Xmemcpy(tls, (aBuf + uintptr((nVarint + 1))), z, uint64(n)) + } + } + + nByte = ((1 + nVarint) + n) + break + + } + } + } else { + nByte = 1 + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(0) + } + } + + if pnWrite != 0 { + *(*Sqlite3_int64)(unsafe.Pointer(pnWrite)) += (Sqlite3_int64(nByte)) + } + return SQLITE_OK +} + +// Allocate and return a pointer to a buffer nByte bytes in size. If +// pSession is not NULL, increase the sqlite3_session.nMalloc variable +// by the number of bytes allocated. +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:207087:13: */ + var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) += I64((Xsqlite3_msize(tls, pRet))) + } + return pRet +} + +// Free buffer pFree, which must have been allocated by an earlier +// call to sessionMalloc64(). If pSession is not NULL, decrease the +// sqlite3_session.nMalloc counter by the number of bytes freed. +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:207098:13: */ + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) -= I64((Xsqlite3_msize(tls, pFree))) + } + Xsqlite3_free(tls, pFree) +} + +// This macro is used to calculate hash key values for data structures. In +// order to use this macro, the entire data structure must be represented +// as a series of unsigned integers. In order to calculate a hash-key value +// for a data structure represented as three such integers, the macro may +// then be used as follows: +// +// int hash_key_value; +// hash_key_value = HASH_APPEND(0, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// +// In practice, the data structures this macro is used for are the primary +// key values of modified rows. + +// Append the hash of the 64-bit integer passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:207124:21: */ + h = ((((h) << 3) ^ (h)) ^ (uint32(i & int64(0xFFFFFFFF)))) + return ((((h) << 3) ^ (h)) ^ (uint32((i >> 32) & int64(0xFFFFFFFF)))) +} + +// Append the hash of the blob passed via the second and third arguments to +// the hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:207133:21: */ + var i int32 + for i = 0; i < n; i++ { + h = ((((h) << 3) ^ (h)) ^ (uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))))) + } + return h +} + +// Append the hash of the data type passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:207143:21: */ + return ((((h) << 3) ^ (h)) ^ (uint32(eType))) +} + +// This function may only be called from within a pre-update callback. +// It calculates a hash based on the primary key values of the old.* or +// new.* row currently available and, assuming no error occurs, writes it to +// *piHash before returning. If the primary key contains one or more NULL +// values, *pbNullPK is set to true before returning. +// +// If an error occurs, an SQLite error code is returned and the final values +// of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned +// and the output variables are set as described above. +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:207158:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var h uint32 = uint32(0) // Hash value to return + var i int32 // Used to iterate through columns + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0 { + var rc int32 + var eType int32 + // var pVal uintptr at bp, 8 + + if bNew != 0 { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } else { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } + if rc != SQLITE_OK { + return rc + } + + eType = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var iVal I64 at bp+8, 8 + + if eType == SQLITE_INTEGER { + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + *(*float64)(unsafe.Pointer(bp + 16 /* rVal */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + + libc.Xmemcpy(tls, bp+8 /* &iVal */, bp+16 /* &rVal */, uint64(8)) + } + h = sessionHashAppendI64(tls, h, *(*I64)(unsafe.Pointer(bp + 8 /* iVal */))) + } else if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + var z uintptr + var n int32 + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + n = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + if !(z != 0) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + h = sessionHashAppendBlob(tls, h, n, z) + } else { + + *(*int32)(unsafe.Pointer(pbNullPK)) = 1 + } + } + } + + *(*int32)(unsafe.Pointer(piHash)) = (int32(h % uint32((*SessionTable)(unsafe.Pointer(pTab)).FnChange))) + return SQLITE_OK +} + +// The buffer that the argument points to contains a serialized SQL value. +// Return the number of bytes of space occupied by the value (including +// the type byte). +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:207223:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var e int32 = int32(*(*U8)(unsafe.Pointer(a))) + // var n int32 at bp, 4 + + if (e == 0) || (e == 0xFF) { + return 1 + } + if e == SQLITE_NULL { + return 1 + } + if (e == SQLITE_INTEGER) || (e == SQLITE_FLOAT) { + return 9 + } + return ((sessionVarintGet(tls, (a+1), bp /* &n */) + 1) + *(*int32)(unsafe.Pointer(bp /* n */))) +} + +// Based on the primary key values stored in change aRecord, calculate a +// hash key. Assume the has table has nBucket buckets. The hash keys +// calculated by this function are compatible with those calculated by +// sessionPreupdateHash(). +// +// The bPkOnly argument is non-zero if the record at aRecord[] is from +// a patchset DELETE. In this case the non-PK fields are omitted entirely. +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:207241:21: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var h uint32 = uint32(0) // Value to return + var i int32 // Used to iterate through columns + var a uintptr = aRecord // Used to iterate through change record + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(a))) + var isPK int32 = int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) + if (bPkOnly != 0) && (isPK == 0) { + continue + } + + // It is not possible for eType to be SQLITE_NULL here. The session + // module does not record changes for rows with NULL values stored in + // primary key columns. + + if isPK != 0 { + a++ + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + h = sessionHashAppendI64(tls, h, sessionGetI64(tls, a)) + a += uintptr(8) + } else { + // var n int32 at bp, 4 + + a += uintptr(sessionVarintGet(tls, a, bp /* &n */)) + h = sessionHashAppendBlob(tls, h, *(*int32)(unsafe.Pointer(bp /* n */)), a) + a += uintptr(*(*int32)(unsafe.Pointer(bp /* n */))) + } + } else { + a += uintptr(sessionSerialLen(tls, a)) + } + } + return (h % uint32(nBucket)) +} + +// Arguments aLeft and aRight are pointers to change records for table pTab. +// This function returns true if the two records apply to the same row (i.e. +// have the same values stored in the primary key columns), or false +// otherwise. +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:207290:12: */ + var a1 uintptr = aLeft // Cursor to iterate through aLeft + var a2 uintptr = aRight // Cursor to iterate through aRight + var iCol int32 // Used to iterate through table columns + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol))) != 0 { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + + if (n1 != n2) || (libc.Xmemcmp(tls, a1, a2, uint64(n1)) != 0) { + return 0 + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } else { + if bLeftPkOnly == 0 { + a1 += uintptr(sessionSerialLen(tls, a1)) + } + if bRightPkOnly == 0 { + a2 += uintptr(sessionSerialLen(tls, a2)) + } + } + } + + return 1 +} + +// Arguments aLeft and aRight both point to buffers containing change +// records with nCol columns. This function "merges" the two records into +// a single records which is written to the buffer at *paOut. *paOut is +// then set to point to one byte after the last byte written before +// returning. +// +// The merging of records is done as follows: For each column, if the +// aRight record contains a value for the column, copy the value from +// their. Otherwise, if aLeft contains a value, copy it. If neither +// record contains a value for a given column, then neither does the +// output record. +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:207333:13: */ + var a1 uintptr = aLeft // Cursor used to iterate through aLeft + var a2 uintptr = aRight // Cursor used to iterate through aRight + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor + var iCol int32 // Used to iterate from 0 to nCol + + for iCol = 0; iCol < nCol; iCol++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + libc.Xmemcpy(tls, aOut, a2, uint64(n2)) + aOut += uintptr(n2) + } else { + libc.Xmemcpy(tls, aOut, a1, uint64(n1)) + aOut += uintptr(n1) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut +} + +// This is a helper function used by sessionMergeUpdate(). +// +// When this function is called, both *paOne and *paTwo point to a value +// within a change record. Before it returns, both have been advanced so +// as to point to the next value in the record. +// +// If, when this function is called, *paTwo points to a valid value (i.e. +// *paTwo[0] is not 0x00 - the "no value" placeholder), a copy of the *paTwo +// pointer is returned and *pnVal is set to the number of bytes in the +// serialized value. Otherwise, a copy of *paOne is returned and *pnVal +// set to the number of bytes in the value at *paOne. If *paOne points +// to the "no value" placeholder, *pnVal is set to 1. In other words: +// +// if( *paTwo is valid ) return *paTwo; +// return *paOne; +// +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:207379:11: */ + var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) + var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) + var pRet uintptr = uintptr(0) + var n1 int32 + + if a2 != 0 { + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + *(*int32)(unsafe.Pointer(pnVal)) = n2 + pRet = a2 + } + *(*uintptr)(unsafe.Pointer(paTwo)) = (a2 + uintptr(n2)) + } + + n1 = sessionSerialLen(tls, a1) + if pRet == uintptr(0) { + *(*int32)(unsafe.Pointer(pnVal)) = n1 + pRet = a1 + } + *(*uintptr)(unsafe.Pointer(paOne)) = (a1 + uintptr(n1)) + + return pRet +} + +// This function is used by changeset_concat() to merge two UPDATE changes +// on the same row. +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:207413:12: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) + var i int32 + + if bPatchset == 0 { + var bRequired int32 = 0 + + // Write the old.* vector first. + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+16, 4 + + var aOld uintptr + // var nNew int32 at bp+40, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+16 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+40 /* &nNew */) + if ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)) != *(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) || (libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) != 0) { + if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + bRequired = 1 + } + libc.Xmemcpy(tls, aOut, aOld, uint64(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */))) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } + } + + if !(bRequired != 0) { + return 0 + } + } + + // Write the new.* vector + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+44, 4 + + var aOld uintptr + // var nNew int32 at bp+48, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+44 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+48 /* &nNew */) + if (bPatchset == 0) && + ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || ((*(*int32)(unsafe.Pointer(bp + 44 /* nOld */)) == *(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) && (0 == libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))))))) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } else { + libc.Xmemcpy(tls, aOut, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) + } + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut + return 1 +} + +// This function is only called from within a pre-update-hook callback. +// It determines if the current pre-update-hook change affects the same row +// as the change stored in argument pChange. If so, it returns true. Otherwise +// if the pre-update-hook does not affect the same row as pChange, it returns +// false. +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:207490:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var iCol int32 // Used to iterate through columns + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord // Cursor used to scan change record + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol)))) != 0) { + a += uintptr(sessionSerialLen(tls, a)) + } else { + // var pVal uintptr at bp, 8 + // Value returned by preupdate_new/old + var rc int32 + _ = rc // Error code from preupdate_new/old + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) // Type of value from change record + + // The following calls to preupdate_new() and preupdate_old() can not + // fail. This is because they cache their return values, and by the + // time control flows to here they have already been called once from + // within sessionPreupdateHash(). The first two asserts below verify + // this (that the method has already been called). + if op == SQLITE_INSERT { + // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } else { + // assert( db->pPreUpdate->pUnpacked ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } + + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { + return 0 + } + + // A SessionChange object never has a NULL value in a PK column + + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, a) + a += uintptr(8) + if eType == SQLITE_INTEGER { + if Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) { + return 0 + } + } else { + // var rVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &rVal */, bp+16 /* &iVal */, uint64(8)) + if Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*float64)(unsafe.Pointer(bp + 8 /* rVal */)) { + return 0 + } + } + } else { + // var n int32 at bp+24, 4 + + var z uintptr + a += uintptr(sessionVarintGet(tls, a, bp+24 /* &n */)) + if Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*int32)(unsafe.Pointer(bp + 24 /* n */)) { + return 0 + } + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + if (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) > 0) && (libc.Xmemcmp(tls, a, z, uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))) != 0) { + return 0 + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* n */))) + } + } + } + + return 1 +} + +// If required, grow the hash table used to store changes on table pTab +// (part of the session pSession). If a fatal OOM error occurs, set the +// session object to failed and return SQLITE_ERROR. Otherwise, return +// SQLITE_OK. +// +// It is possible that a non-fatal OOM error occurs in this function. In +// that case the hash-table does not grow, but SQLITE_OK is returned anyway. +// Growing the hash table in this case is a performance optimization only, +// it is not required for correct operation. +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:207569:12: */ + if ((*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= ((*SessionTable)(unsafe.Pointer(pTab)).FnChange / 2)) { + var i int32 + var apNew uintptr + var nNew Sqlite3_int64 = (int64(2) * (func() int64 { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange != 0 { + return int64((*SessionTable)(unsafe.Pointer(pTab)).FnChange) + } + return int64(128) + }())) + + apNew = sessionMalloc64(tls, + pSession, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew)))) + if apNew == uintptr(0) { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 { + return SQLITE_ERROR + } + return SQLITE_OK + } + libc.Xmemset(tls, apNew, 0, (uint64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew)))) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNext uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNext { + var bPkOnly int32 = (libc.Bool32((int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_DELETE) && (bPatchset != 0))) + var iHash int32 = int32(sessionChangeHash(tls, pTab, bPkOnly, (*SessionChange)(unsafe.Pointer(p)).FaRecord, int32(nNew))) + pNext = (*SessionChange)(unsafe.Pointer(p)).FpNext + (*SessionChange)(unsafe.Pointer(p)).FpNext = *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) = p + } + } + + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + (*SessionTable)(unsafe.Pointer(pTab)).FnChange = int32(nNew) + (*SessionTable)(unsafe.Pointer(pTab)).FapChange = apNew + } + + return SQLITE_OK +} + +// This function queries the database for the names of the columns of table +// zThis, in schema zDb. +// +// Otherwise, if they are not NULL, variable *pnCol is set to the number +// of columns in the database table and variable *pzTab is set to point to a +// nul-terminated copy of the table name. *pazCol (if not NULL) is set to +// point to an array of pointers to column names. And *pabPK (again, if not +// NULL) is set to point to an array of booleans - true if the corresponding +// column is part of the primary key. +// +// For example, if the table is declared as: +// +// CREATE TABLE tbl1(w, x, y, z, PRIMARY KEY(w, z)); +// +// Then the four output variables are populated as follows: +// +// *pnCol = 4 +// *pzTab = "tbl1" +// *pazCol = {"w", "x", "y", "z"} +// *pabPK = {1, 0, 0, 1} +// +// All returned buffers are part of the same single allocation, which must +// be freed using sqlite3_free() by the caller +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var zPragma uintptr + // var pStmt uintptr at bp+16, 8 + + var rc int32 + var nByte Sqlite3_int64 + var nDbCol int32 = 0 + var nThis int32 + var i int32 + var pAlloc uintptr = uintptr(0) + var azCol uintptr = uintptr(0) + var abPK uintptr = uintptr(0) + + nThis = Xsqlite3Strlen30(tls, zThis) + if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+13346 /* "sqlite_stat1" */, zThis)) { + 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 { + // For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. + zPragma = Xsqlite3_mprintf(tls, + + ts+37293 /* "SELECT 0, 'tbl',..." */, 0) + } else if rc == SQLITE_ERROR { + zPragma = Xsqlite3_mprintf(tls, ts+915 /* "" */, 0) + } else { + return rc + } + } else { + zPragma = Xsqlite3_mprintf(tls, ts+37414 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + } + if !(zPragma != 0) { + return SQLITE_NOMEM + } + + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+16 /* &pStmt */, uintptr(0)) + Xsqlite3_free(tls, zPragma) + if rc != SQLITE_OK { + return rc + } + + nByte = (Sqlite3_int64(nThis + 1)) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) + nDbCol++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + if rc == SQLITE_OK { + nByte = Sqlite3_int64(uint64(nByte) + (uint64(uint64(nDbCol) * ((uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(U8(0)))) + uint64(1))))) + pAlloc = sessionMalloc64(tls, pSession, nByte) + if pAlloc == uintptr(0) { + rc = SQLITE_NOMEM + } + } + if rc == SQLITE_OK { + azCol = pAlloc + pAlloc = (azCol + uintptr(nDbCol)*8) + abPK = pAlloc + pAlloc = (abPK + uintptr(nDbCol)) + if pzTab != 0 { + libc.Xmemcpy(tls, pAlloc, zThis, (uint64(nThis + 1))) + *(*uintptr)(unsafe.Pointer(pzTab)) = pAlloc + pAlloc += (uintptr(nThis + 1)) + } + + i = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + if zName == uintptr(0) { + break + } + libc.Xmemcpy(tls, pAlloc, zName, (uint64(nName + 1))) + *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc + pAlloc += (uintptr(nName + 1)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 5)) + i++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + + } + + // If successful, populate the output variables. Otherwise, zero them and + // free any allocation made. An error code will be returned in this case. + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pazCol)) = azCol + *(*uintptr)(unsafe.Pointer(pabPK)) = abPK + *(*int32)(unsafe.Pointer(pnCol)) = nDbCol + } else { + *(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pabPK)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnCol)) = 0 + if pzTab != 0 { + *(*uintptr)(unsafe.Pointer(pzTab)) = uintptr(0) + } + sessionFree(tls, pSession, azCol) + } + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + return rc +} + +// This function is only called from within a pre-update handler for a +// write to table pTab, part of session pSession. If this is the first +// write to this table, initalize the SessionTable.nCol, azCol[] and +// abPK[] arrays accordingly. +// +// If an error occurs, an error code is stored in sqlite3_session.rc and +// non-zero returned. Or, if no error occurs but the table has no primary +// key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to +// indicate that updates on this table should be ignored. SessionTable.abPK +// is set to NULL in this case. +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:207752:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + if (*SessionTable)(unsafe.Pointer(pTab)).FnCol == 0 { + // var abPK uintptr at bp, 8 + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionTableInfo(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, + (*SessionTable)(unsafe.Pointer(pTab)).FzName, (pTab + 16 /* &.nCol */), uintptr(0), (pTab + 24 /* &.azCol */), bp /* &abPK */) + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc == SQLITE_OK { + var i int32 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* abPK */)) + uintptr(i))) != 0 { + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = *(*uintptr)(unsafe.Pointer(bp /* abPK */)) + break + } + } + if 0 == Xsqlite3_stricmp(tls, ts+13346 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += I64((uint64(((Size_t((1 + sessionVarintLen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + uint64(1)))) + } + } + } + return (libc.Bool32(((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FabPK == uintptr(0)))) +} + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx1 = struct { + Fhook SessionHook + FpSession uintptr +} /* sqlite3.c:207787:9 */ + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:207787:32 */ + +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207792:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207802:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 24 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 32 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = int64(2) + if int32((*SessionChange)(unsafe.Pointer(pC)).Fop) == SQLITE_INSERT { + if op != SQLITE_DELETE { + var ii int32 + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) + } + } + } else if op == SQLITE_DELETE { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + if Xsqlite3_preupdate_blobwrite(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb) >= 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + } + } else { + var ii int32 + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(pC)).FaRecord + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + var bChanged int32 = 1 + var nOld int32 = 0 + var eType int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) + if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { + return SQLITE_NOMEM + } + + eType = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pCsr, 1)))) + switch eType { + case SQLITE_NULL: + bChanged = (libc.Bool32(Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) != SQLITE_NULL)) + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + if eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) = sessionGetI64(tls, pCsr) + if eType == SQLITE_INTEGER { + bChanged = (libc.Bool32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) != Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } else { + // var dVal float64 at bp+24, 8 + + libc.Xmemcpy(tls, bp+24 /* &dVal */, bp+32 /* &iVal */, uint64(8)) + bChanged = (libc.Bool32(*(*float64)(unsafe.Pointer(bp + 24 /* dVal */)) != Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } + } + nOld = 8 + pCsr += uintptr(8) + break + + } + fallthrough + + default: + { + // var nByte int32 at bp+40, 4 + + nOld = sessionVarintGet(tls, pCsr, bp+40 /* &nByte */) + pCsr += uintptr(nOld) + nOld = nOld + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + + if ((eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)))) && + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) && + ((*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == 0) || (0 == libc.Xmemcmp(tls, pCsr, Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))), uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)))))) { + bChanged = 0 + } + pCsr += uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + break + + } + } + + if (bChanged != 0) && (*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0) { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = (I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord + 2)) + break + } + + if bChanged != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(1 + nOld)) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)), bp+8 /* &nNew */) + } else if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(2 + nOld)) + } else { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += int64(2) + } + } + } + + if *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) > I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize) { + var nIncr int32 = (int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) - I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize))) + (*SessionChange)(unsafe.Pointer(pC)).FnMaxSize = int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */))) + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += (I64(nIncr)) + } + return SQLITE_OK +} + +// This function is only called from with a pre-update-hook reporting a +// change on table pTab (attached to session pSession). The type of change +// (UPDATE, INSERT, DELETE) is specified by the first argument. +// +// Unless one is already present or an error occurs, an entry is added +// to the changed-rows hash table associated with table pTab. +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:207927:13: */ + bp := tls.Alloc(80) + defer tls.Free(80) + + // var iHash int32 at bp+48, 4 + + // var bNull int32 at bp+52, 4 + + var rc int32 + // var stat1 SessionStat1Ctx at bp, 48 + + var p uintptr + // var p1 uintptr at bp+56, 8 + + // var p2 uintptr at bp+72, 8 + + // Create a new change object containing all the old values (if + // this is an SQLITE_UPDATE or SQLITE_DELETE), or just the PK + // values (if this is an INSERT). + // var nByte Sqlite3_int64 at bp+64, 8 + // Number of bytes to allocate + var i int32 + // Search the hash table for an existing record for this row. + var pC uintptr + *(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) = 0 + rc = SQLITE_OK + *(*SessionStat1Ctx)(unsafe.Pointer(bp /* stat1 */)) = SessionStat1Ctx{} + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) { + goto __1 + } + return +__1: + ; + + // Load table details if required + if !(sessionInitTable(tls, pSession, pTab) != 0) { + goto __2 + } + return +__2: + ; + + // Check the number of columns in this xPreUpdate call matches the + // number of columns in the table. + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 24 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + goto __3 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA + return +__3: + ; + + // Grow the hash table if required + if !(sessionGrowHash(tls, pSession, 0, pTab) != 0) { + goto __4 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_NOMEM + return +__4: + ; + + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __5 + } + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).FpSession = pSession + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = bp /* &stat1 */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1New})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1Old})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Count})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Depth})) + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob == uintptr(0)) { + goto __6 + } + p = Xsqlite3ValueNew(tls, uintptr(0)) + if !(p == uintptr(0)) { + goto __7 + } + rc = SQLITE_NOMEM + goto error_out +__7: + ; + Xsqlite3ValueSetStr(tls, p, 0, ts+915 /* "" */, uint8(0), uintptr(0)) + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p +__6: + ; +__5: + ; + + // Calculate the hash-key for this change. If the primary key of the row + // includes a NULL value, exit early. Such changes are ignored by the + // session module. + rc = sessionPreupdateHash(tls, pSession, pTab, (libc.Bool32(op == SQLITE_INSERT)), bp+48 /* &iHash */, bp+52 /* &bNull */) + if !(rc != SQLITE_OK) { + goto __8 + } + goto error_out +__8: + ; + + if !(*(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) == 0) { + goto __9 + } + pC = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) +__10: + if !(pC != 0) { + goto __12 + } + if !(sessionPreupdateEqual(tls, pSession, pTab, pC, op) != 0) { + goto __13 + } + goto __12 +__13: + ; + goto __11 +__11: + pC = (*SessionChange)(unsafe.Pointer(pC)).FpNext + goto __10 + goto __12 +__12: + ; + + if !(pC == uintptr(0)) { + goto __14 + } // Used to iterate through columns + + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + + // Figure out how large an allocation is required + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = Sqlite3_int64(unsafe.Sizeof(SessionChange{})) + i = 0 +__16: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __18 + } + *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __19 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + + goto __20 +__19: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __21 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + +__21: + ; +__20: + ; + + // This may fail if SQLite value p contains a utf-16 string that must + // be converted to utf-8 and an OOM error occurs while doing so. + rc = sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)), bp+64 /* &nByte */) + if !(rc != SQLITE_OK) { + goto __22 + } + goto error_out +__22: + ; + goto __17 +__17: + i++ + goto __16 + goto __18 +__18: + ; + + // Allocate the change object + pC = sessionMalloc64(tls, pSession, *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + if !(!(pC != 0)) { + goto __23 + } + rc = SQLITE_NOMEM + goto error_out + goto __24 +__23: + libc.Xmemset(tls, pC, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pC)).FaRecord = (pC + 1*32) +__24: + ; + + // Populate the change object. None of the preupdate_old(), + // preupdate_new() or SerializeValue() calls below may fail as all + // required values and encodings have already been cached in memory. + // It is not possible for an OOM to occur in this block. + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = int64(0) + i = 0 +__25: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __27 + } + *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __28 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) + goto __29 +__28: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __30 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) +__30: + ; +__29: + ; + sessionSerializeValue(tls, ((*SessionChange)(unsafe.Pointer(pC)).FaRecord + uintptr(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)))), *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)), bp+64 /* &nByte */) + goto __26 +__26: + i++ + goto __25 + goto __27 +__27: + ; + + // Add the change to the hash-table + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + goto __31 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) +__31: + ; + (*SessionChange)(unsafe.Pointer(pC)).FnRecord = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + (*SessionChange)(unsafe.Pointer(pC)).Fop = U8(op) + (*SessionChange)(unsafe.Pointer(pC)).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) = pC + + goto __15 +__14: + if !((*SessionChange)(unsafe.Pointer(pC)).FbIndirect != 0) { + goto __32 + } + // If the existing change is considered "indirect", but this current + // change is "direct", mark the change object as direct. + if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { + goto __33 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(0) +__33: + ; +__32: + ; +__15: + ; + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0) { + goto __34 + } + rc = sessionUpdateMaxSize(tls, op, pSession, pTab, pC) +__34: + ; +__9: + ; + + // If an error has occurred, mark the session object as failed. +error_out: + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __35 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook = (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook +__35: + ; + if !(rc != SQLITE_OK) { + goto __36 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = rc +__36: +} + +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:208076:12: */ + var rc int32 = SQLITE_OK + var nName int32 = Xsqlite3Strlen30(tls, zName) + var pRet uintptr + + // Search for an existing table + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pRet != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pRet)).FzName, zName, (nName+1)) { + break + } + } + + if (pRet == uintptr(0)) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach != 0) { + // If there is a table-filter configured, invoke it. If it returns 0, + // do not automatically add the new table. + if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || + ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 48 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + rc = Xsqlite3session_attach(tls, pSession, zName) + if rc == SQLITE_OK { + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + } + + } + } + } + + *(*uintptr)(unsafe.Pointer(ppTab)) = pRet + return rc +} + +// The 'pre-update' hook registered by this module with SQLite databases. +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:208112:13: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var pSession uintptr + var nDb int32 = Xsqlite3Strlen30(tls, zDb) + + for pSession = pCtx; pSession != 0; pSession = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpNext { + // var pTab uintptr at bp, 8 + + // If this session is attached to a different database ("main", "temp" + // etc.), or if it is not currently enabled, there is nothing to do. Skip + // to the next session object attached to this database. + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable == 0 { + continue + } + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + continue + } + if Xsqlite3_strnicmp(tls, zDb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (nDb+1)) != 0 { + continue + } + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionFindTable(tls, pSession, zName, bp /* &pTab */) + if *(*uintptr)(unsafe.Pointer(bp /* pTab */)) != 0 { + + sessionPreupdateOneChange(tls, op, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + if op == SQLITE_UPDATE { + sessionPreupdateOneChange(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + } + } + } +} + +// The pre-update hook implementations. +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208150:12: */ + return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208153:12: */ + return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208156:12: */ + return Xsqlite3_preupdate_count(tls, pCtx) +} + +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208159:12: */ + return Xsqlite3_preupdate_depth(tls, pCtx) +} + +// Install the pre-update hooks on the session object passed as the only +// argument. +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208167:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateDepth})) +} + +type SessionDiffCtx1 = struct { + FpStmt uintptr + FnOldOff int32 + _ [4]byte +} /* sqlite3.c:208177:9 */ + +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ + +// The diff hook implementations. +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208186:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, (iVal + (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff)) + return SQLITE_OK +} + +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208191:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) + return SQLITE_OK +} + +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208196:12: */ + var p uintptr = pCtx + if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { + return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff + } + return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) +} + +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208200:12: */ + return 0 +} + +// Install the diff hooks on the session object passed as the only +// argument. +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:208208:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffDepth})) +} + +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 915 /* "" */ + var zRet uintptr = uintptr(0) + + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + zRet = Xsqlite3_mprintf(tls, ts+37443, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 24073 /* " AND " */ + if zRet == uintptr(0) { + break + } + } + } + + return zRet +} + +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var i int32 + var zSep uintptr = ts + 915 /* "" */ + var zRet uintptr = uintptr(0) + var bHave int32 = 0 + + for i = 0; i < nCol; i++ { + if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { + bHave = 1 + zRet = Xsqlite3_mprintf(tls, + ts+37477, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 37518 /* " OR " */ + if zRet == uintptr(0) { + break + } + } + } + + if bHave == 0 { + + zRet = Xsqlite3_mprintf(tls, ts+9614 /* "0" */, 0) + } + + return zRet +} + +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + var zRet uintptr = Xsqlite3_mprintf(tls, + + ts+37523, /* "SELECT * FROM \"%..." */ + libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) + return zRet +} + +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:208289:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 = SQLITE_OK + var zStmt uintptr = sessionSelectFindNew(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, zDb1, zDb2, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr) + + if zStmt == uintptr(0) { + rc = SQLITE_NOMEM + } else { + // var pStmt uintptr at bp, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp /* &pStmt */, uintptr(0)) + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { + sessionPreupdateOneChange(tls, op, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + + return rc +} + +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var rc int32 = SQLITE_OK + + var zExpr2 uintptr = sessionExprCompareOther(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, + (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (*SessionTable)(unsafe.Pointer(pTab)).FazCol, (*SessionTable)(unsafe.Pointer(pTab)).FabPK) + if zExpr2 == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var zStmt uintptr = Xsqlite3_mprintf(tls, + ts+37601, /* "SELECT * FROM \"%..." */ + 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 + } else { + // var pStmt uintptr at bp+48, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+48 /* &pStmt */, uintptr(0)) + + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) { + sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + } + + return rc +} + +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:208360:16: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var zDb uintptr + var rc int32 + // var d SessionDiffCtx at bp, 16 + + var i int32 + var bHasPk int32 + var bMismatch int32 + // var nCol int32 at bp+24, 4 + // Columns in zFrom.zTbl + // var abPK uintptr at bp+40, 8 + + // var azCol uintptr at bp+32, 8 + + var zExpr uintptr + var db uintptr + // var pTo uintptr at bp+16, 8 + zDb = (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + + libc.Xmemset(tls, bp /* &d */, 0, uint64(unsafe.Sizeof(SessionDiffCtx{}))) + sessionDiffHooks(tls, pSession, bp /* &d */) + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if !(pzErrMsg != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) +__1: + ; + if !(rc == SQLITE_OK) { + goto __2 + } + zExpr = uintptr(0) + db = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Table zTbl + + // Locate and if necessary initialize the target table object + rc = sessionFindTable(tls, pSession, zTbl, bp+16 /* &pTo */) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)) == uintptr(0)) { + goto __3 + } + goto diff_out +__3: + ; + if !(sessionInitTable(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */))) != 0) { + goto __4 + } + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + goto diff_out +__4: + ; + + // Check the table schemas match + if !(rc == SQLITE_OK) { + goto __5 + } + bHasPk = 0 + bMismatch = 0 + *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) = uintptr(0) + rc = sessionTableInfo(tls, uintptr(0), db, zFrom, zTbl, bp+24 /* &nCol */, uintptr(0), bp+32 /* &azCol */, bp+40 /* &abPK */) + if !(rc == SQLITE_OK) { + goto __6 + } + if !((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __7 + } + bMismatch = 1 + goto __8 +__7: + i = 0 +__9: + if !(i < *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __11 + } + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))))) { + goto __12 + } + bMismatch = 1 +__12: + ; + if !(Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol + uintptr(i)*8))) != 0) { + goto __13 + } + bMismatch = 1 +__13: + ; + if !(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))) != 0) { + goto __14 + } + bHasPk = 1 +__14: + ; + goto __10 +__10: + i++ + goto __9 + goto __11 +__11: + ; +__8: + ; +__6: + ; + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */))) + if !(bMismatch != 0) { + goto __15 + } + if !(pzErrMsg != 0) { + goto __16 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+37654 /* "table schemas do..." */, 0) +__16: + ; + rc = SQLITE_SCHEMA +__15: + ; + if !(bHasPk == 0) { + goto __17 + } + // Ignore tables with no primary keys + goto diff_out +__17: + ; +__5: + ; + + if !(rc == SQLITE_OK) { + goto __18 + } + zExpr = sessionExprComparePK(tls, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol, + zDb, zFrom, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FzName, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK) +__18: + ; + + // Find new rows + if !(rc == SQLITE_OK) { + goto __19 + } + rc = sessionDiffFindNew(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zDb, zFrom, zExpr) +__19: + ; + + // Find old rows + if !(rc == SQLITE_OK) { + goto __20 + } + rc = sessionDiffFindNew(tls, SQLITE_DELETE, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zDb, zExpr) +__20: + ; + + // Find modified rows + if !(rc == SQLITE_OK) { + goto __21 + } + rc = sessionDiffFindModified(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zExpr) +__21: + ; + + Xsqlite3_free(tls, zExpr) +__2: + ; + +diff_out: + sessionPreupdateHooks(tls, pSession) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Create a session object. This session object will record changes to +// database zDb attached to connection db. +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:208455:16: */ + var pNew uintptr // Newly allocated session object + var pOld uintptr // Session object already attached to db + var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes + + // Zero the output value in case an error occurs. + *(*uintptr)(unsafe.Pointer(ppSession)) = uintptr(0) + + // Allocate and populate the new session object. + pNew = Xsqlite3_malloc64(tls, (uint64((uint64(unsafe.Sizeof(Sqlite3_session{})) + uint64(nDb)) + uint64(1)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_session{}))) + (*Sqlite3_session)(unsafe.Pointer(pNew)).Fdb = db + (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb = (pNew + 1*136) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FbEnable = 1 + libc.Xmemcpy(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, zDb, (uint64(nDb + 1))) + sessionPreupdateHooks(tls, pNew) + + // Add the new session object to the linked list of session objects + // attached to database handle $db. Do this under the cover of the db + // handle mutex. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + pOld = Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), pNew) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FpNext = pOld + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + + *(*uintptr)(unsafe.Pointer(ppSession)) = pNew + return SQLITE_OK +} + +// Free the list of table objects passed as the first argument. The contents +// of the changed-rows hash tables are also deleted. +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:208493:13: */ + var pNext uintptr + var pTab uintptr + + for pTab = pList; pTab != 0; pTab = pNext { + var i int32 + pNext = (*SessionTable)(unsafe.Pointer(pTab)).FpNext + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNextChange uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNextChange { + pNextChange = (*SessionChange)(unsafe.Pointer(p)).FpNext + sessionFree(tls, pSession, p) + } + } + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FazCol) // cast works around VC++ bug + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + sessionFree(tls, pSession, pTab) + } +} + +// Delete a session object previously allocated using sqlite3session_create(). +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208517:17: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + // var pHead uintptr at bp, 8 + + var pp uintptr + + // Unlink the session from the linked list of sessions attached to the + // database handle. Hold the db mutex while doing so. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + *(*uintptr)(unsafe.Pointer(bp /* pHead */)) = Xsqlite3_preupdate_hook(tls, db, uintptr(0), uintptr(0)) + for pp = bp; /* &pHead */ (*(*uintptr)(unsafe.Pointer(pp))) != uintptr(0); pp = (*(*uintptr)(unsafe.Pointer(pp)) + 80 /* &.pNext */) { + if (*(*uintptr)(unsafe.Pointer(pp))) == pSession { + *(*uintptr)(unsafe.Pointer(pp)) = (*Sqlite3_session)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + if *(*uintptr)(unsafe.Pointer(bp /* pHead */)) != 0 { + Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), *(*uintptr)(unsafe.Pointer(bp /* pHead */))) + } + break + } + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + Xsqlite3ValueFree(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob) + + // Delete all attached table objects. And the contents of their + // associated hash-tables. + sessionDeleteTable(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable) + + // Assert that all allocations have been freed and then free the + // session object itself. + + Xsqlite3_free(tls, pSession) +} + +// Set a table filter on a Session Object. +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:208549:17: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter +} + +// Attach a table to a session. All subsequent changes made to the table +// while the session object is enabled will be recorded. +// +// Only tables that have a PRIMARY KEY defined may be attached. It does +// not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) +// or not. +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:208567:16: */ + var rc int32 = SQLITE_OK + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + if !(zName != 0) { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + } else { + var pTab uintptr // New table object (if required) + var nName int32 // Number of bytes in string zName + + // First search for an existing entry. If one is found, this call is + // a no-op. Return early. + nName = Xsqlite3Strlen30(tls, zName) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (nName+1)) { + break + } + } + + if !(pTab != 0) { + // Allocate new SessionTable object. + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionTable{})) + uint64(nName)) + uint64(1))) + pTab = sessionMalloc64(tls, pSession, int64(nByte)) + if !(pTab != 0) { + rc = SQLITE_NOMEM + } else { + // Populate the new SessionTable object and link it into the list. + // The new object must be linked onto the end of the list, not + // simply added to the start of it in order to ensure that tables + // appear in the correct order when a changeset or patchset is + // eventually generated. + var ppTab uintptr + libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = (pTab + 1*56) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (uint64(nName + 1))) + for ppTab = (pSession + 88 /* &.pTable */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } + } + } + + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Ensure that there is room in the buffer to append nByte bytes of data. +// If not, use sqlite3_realloc() to grow the buffer so that there is. +// +// If successful, return zero. Otherwise, if an OOM condition is encountered, +// set *pRc to SQLITE_NOMEM and return non-zero. +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:208620:12: */ + var nReq I64 = (I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte) + if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc)) { + var aNew uintptr + var nNew I64 + if (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc != 0 { + nNew = int64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) + } else { + nNew = int64(128) + } + + for ok := true; ok; ok = (nNew < nReq) { + nNew = (nNew * int64(2)) + } + + // The value of SESSION_MAX_BUFFER_SZ is copied from the implementation + // of sqlite3_realloc64(). Allocations greater than this size in bytes + // always fail. It is used here to ensure that this routine can always + // allocate up to this limit - instead of up to the largest power of + // two smaller than the limit. + if nNew > (int64(0x7FFFFF00 - 1)) { + nNew = (int64(0x7FFFFF00 - 1)) + if nNew < nReq { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + return 1 + } + } + + aNew = Xsqlite3_realloc64(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf, uint64(nNew)) + if uintptr(0) == aNew { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } else { + (*SessionBuffer)(unsafe.Pointer(p)).FaBuf = aNew + (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc = int32(nNew) + } + } + return (libc.Bool32(*(*int32)(unsafe.Pointer(pRc)) != SQLITE_OK)) +} + +// Append the value passed as the second argument to the buffer passed +// as the first. +// +// This function is a no-op if *pRc is non-zero when it is called. +// Otherwise, if an error occurs, *pRc is set to an SQLite error code +// before returning. +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:208663:13: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, uintptr(0), pVal, bp /* &nByte */) + sessionBufferGrow(tls, p, *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)), bp+8 /* &rc */) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), pVal, uintptr(0)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += int32((*(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)))) + } else { + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) + } + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single byte to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:208685:13: */ + if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { + *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single varint to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:208698:13: */ + if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (sessionVarintPut(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), v)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a blob of data to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:208711:13: */ + if (nBlob > 0) && (0 == sessionBufferGrow(tls, p, int64(nBlob), pRc)) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), aBlob, uint64(nBlob)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nBlob) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a string to the buffer. All bytes in the string +// up to (but not including) the nul-terminator are written to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208731:13: */ + var nStr int32 = Xsqlite3Strlen30(tls, zStr) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), zStr, uint64(nStr)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nStr) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string representation of integer iVal +// to the buffer. No nul-terminator is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + // var aBuf [24]int8 at bp+8, 24 + + Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+8 /* &aBuf[0] */, ts+6845 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string zStr enclosed in quotes (") and +// with any embedded quote characters escaped to the buffer. No +// nul-terminator byte is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208770:13: */ + var nStr int32 = (((Xsqlite3Strlen30(tls, zStr) * 2) + 2) + 1) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + var zOut uintptr = ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)) + var zIn uintptr = zStr + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + for *(*int8)(unsafe.Pointer(zIn)) != 0 { + if int32(*(*int8)(unsafe.Pointer(zIn))) == '"' { + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + (*SessionBuffer)(unsafe.Pointer(p)).FnBuf = (int32((int64(zOut) - int64((*SessionBuffer)(unsafe.Pointer(p)).FaBuf)) / 1)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwse, it appends the serialized version of the value stored +// in column iCol of the row that SQL statement pStmt currently points +// to to the buffer. +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:208795:13: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var eType int32 = Xsqlite3_column_type(tls, pStmt, iCol) + sessionAppendByte(tls, p, U8(eType), pRc) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var i Sqlite3_int64 at bp, 8 + + // var aBuf [8]U8 at bp+16, 8 + + if eType == SQLITE_INTEGER { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */)) = Xsqlite3_column_int64(tls, pStmt, iCol) + } else { + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_column_double(tls, pStmt, iCol) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint64(8)) + } + sessionPutI64(tls, bp+16 /* &aBuf[0] */, *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */))) + sessionAppendBlob(tls, p, bp+16 /* &aBuf[0] */, 8, pRc) + } + if (eType == SQLITE_BLOB) || (eType == SQLITE_TEXT) { + var z uintptr + var nByte int32 + if eType == SQLITE_BLOB { + z = Xsqlite3_column_blob(tls, pStmt, iCol) + } else { + z = Xsqlite3_column_text(tls, pStmt, iCol) + } + nByte = Xsqlite3_column_bytes(tls, pStmt, iCol) + if (z != 0) || ((eType == SQLITE_BLOB) && (nByte == 0)) { + sessionAppendVarint(tls, p, nByte, pRc) + sessionAppendBlob(tls, p, z, nByte, pRc) + } else { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } + } + } +} + +// +// This function appends an update change to the buffer (see the comments +// under "CHANGESET FORMAT" at the top of the file). An update change +// consists of: +// +// 1 byte: SQLITE_UPDATE (0x17) +// n bytes: old.* record (see RECORD FORMAT) +// m bytes: new.* record (see RECORD FORMAT) +// +// The SessionChange object passed as the third argument contains the +// values that were stored in the row when the session began (the old.* +// values). The statement handle passed as the second argument points +// at the current version of the row (the new.* values). +// +// If all of the old.* values are equal to their corresponding new.* value +// (i.e. nothing has changed), then no data at all is appended to the buffer. +// +// Otherwise, the old.* record contains all primary key values and the +// original values of any fields that have been modified. The new.* record +// contains the new values of only those fields that have been modified. +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:208857:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp + 32 /* buf2 */)) = SessionBuffer{} // Buffer to accumulate new.* record in + var bNoop int32 = 1 // Set to zero if any values are modified + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf // Set to zero if any values are modified + var i int32 // Used to iterate through columns + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord // Used to iterate through old.* values + + sessionAppendByte(tls, pBuf, uint8(SQLITE_UPDATE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + for i = 0; i < Xsqlite3_column_count(tls, pStmt); i++ { + var bChanged int32 = 0 + var nAdvance int32 + var eType int32 = int32(*(*U8)(unsafe.Pointer(pCsr))) + switch eType { + case SQLITE_NULL: + nAdvance = 1 + if Xsqlite3_column_type(tls, pStmt, i) != SQLITE_NULL { + bChanged = 1 + } + break + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + nAdvance = 9 + if eType == Xsqlite3_column_type(tls, pStmt, i) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, (pCsr + 1)) + if eType == SQLITE_INTEGER { + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) == Xsqlite3_column_int64(tls, pStmt, i) { + break + } + } else { + // var dVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &dVal */, bp+16 /* &iVal */, uint64(8)) + if *(*float64)(unsafe.Pointer(bp + 8 /* dVal */)) == Xsqlite3_column_double(tls, pStmt, i) { + break + } + } + } + bChanged = 1 + break + + } + + default: + { + // var n int32 at bp+24, 4 + + var nHdr int32 = (1 + sessionVarintGet(tls, (pCsr+1), bp+24 /* &n */)) + + nAdvance = (nHdr + *(*int32)(unsafe.Pointer(bp + 24 /* n */))) + if ((eType == Xsqlite3_column_type(tls, pStmt, i)) && + (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == Xsqlite3_column_bytes(tls, pStmt, i))) && + ((*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == 0) || (0 == libc.Xmemcmp(tls, (pCsr+uintptr(nHdr)), Xsqlite3_column_blob(tls, pStmt, i), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))))) { + break + } + bChanged = 1 + + } + } + + // If at least one field has been modified, this is not a no-op. + if bChanged != 0 { + bNoop = 0 + } + + // Add a field to the old.* record. This is omitted if this modules is + // currently generating a patchset. + if bPatchset == 0 { + if (bChanged != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + sessionAppendBlob(tls, pBuf, pCsr, nAdvance, bp /* &rc */) + } else { + sessionAppendByte(tls, pBuf, uint8(0), bp /* &rc */) + } + } + + // Add a field to the new.* record. Or the only record if currently + // generating a patchset. + if (bChanged != 0) || ((bPatchset != 0) && (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0)) { + sessionAppendCol(tls, bp+32 /* &buf2 */, pStmt, i, bp /* &rc */) + } else { + sessionAppendByte(tls, bp+32 /* &buf2 */, uint8(0), bp /* &rc */) + } + + pCsr += uintptr(nAdvance) + } + + if bNoop != 0 { + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = nRewind + } else { + sessionAppendBlob(tls, pBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FnBuf, bp /* &rc */) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Append a DELETE change to the buffer passed as the first argument. Use +// the changeset format if argument bPatchset is zero, or the patchset +// format otherwise. +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:208956:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + + sessionAppendByte(tls, pBuf, uint8(SQLITE_DELETE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + + if bPatchset == 0 { + sessionAppendBlob(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp /* &rc */) + } else { + var i int32 + var a uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord + for i = 0; i < nCol; i++ { + var pStart uintptr = a + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + a += uintptr(8) + break + fallthrough + + default: + { + // var n int32 at bp+4, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+4 /* &n */)) + a += uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* n */))) + break + + } + } + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendBlob(tls, pBuf, pStart, (int32((int64(a) - int64(pStart)) / 1)), bp /* &rc */) + } + } + + } + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Formulate and prepare a SELECT statement to retrieve a row from table +// zTab in database zDb based on its primary key. i.e. +// +// SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + var zSql uintptr = uintptr(0) + var nSql int32 = -1 + + if 0 == Xsqlite3_stricmp(tls, ts+13346 /* "sqlite_stat1" */, zTab) { + zSql = Xsqlite3_mprintf(tls, + + ts+37681 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + if zSql == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_NOMEM + } + } else { + var i int32 + var zSep uintptr = ts + 915 /* "" */ + *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp+8 /* &buf */, ts+37791 /* "SELECT * FROM " */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zDb, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+928 /* "." */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zTab, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+37806 /* " WHERE " */, bp+24 /* &rc */) + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendStr(tls, bp+8 /* &buf */, zSep, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+37814 /* " IS ?" */, bp+24 /* &rc */) + sessionAppendInteger(tls, bp+8 /* &buf */, (i + 1), bp+24 /* &rc */) + zSep = ts + 24073 /* " AND " */ + } + } + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FnBuf + } + + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + } + Xsqlite3_free(tls, zSql) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) +} + +// Bind the PRIMARY KEY values from the change passed in argument pChange +// to the SELECT statement passed as the first argument. The SELECT statement +// is as prepared by function sessionSelectStmt(). +// +// Return SQLITE_OK if all PK values are successfully bound, or an SQLite +// error code (e.g. SQLITE_NOMEM) otherwise. +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:209068:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 + var rc int32 = SQLITE_OK + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord + + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + + case SQLITE_INTEGER: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + var iVal I64 = sessionGetI64(tls, a) + rc = Xsqlite3_bind_int64(tls, pSelect, (i + 1), iVal) + } + a += uintptr(8) + break + + } + + case SQLITE_FLOAT: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + // var rVal float64 at bp, 8 + + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = sessionGetI64(tls, a) + libc.Xmemcpy(tls, bp /* &rVal */, bp+8 /* &iVal */, uint64(8)) + rc = Xsqlite3_bind_double(tls, pSelect, (i + 1), *(*float64)(unsafe.Pointer(bp /* rVal */))) + } + a += uintptr(8) + break + + } + + case SQLITE_TEXT: + { + // var n int32 at bp+16, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+16 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_text(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 16 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* n */))) + break + + } + + default: + { + // var n int32 at bp+20, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_blob(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 20 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + break + + } + } + } + + return rc +} + +// This function is a no-op if *pRc is set to other than SQLITE_OK when it +// is called. Otherwise, append a serialized table header (part of the binary +// changeset format) to buffer *pBuf. If an error occurs, set *pRc to an +// SQLite error code before returning. +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:209139:13: */ + // Write a table header + sessionAppendByte(tls, pBuf, func() uint8 { + if bPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), pRc) + sessionAppendVarint(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (int32(libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + 1), pRc) +} + +// Generate either a changeset (if argument bPatchset is zero) or a patchset +// (if it is non-zero) based on the current contents of the session object +// passed as the first argument. +// +// If no error occurs, SQLITE_OK is returned and the new changeset/patchset +// stored in output variables *pnChangeset and *ppChangeset. Or, if an error +// occurs, an SQLite error code is returned and both output variables set +// to 0. +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209162:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Source database handle + var pTab uintptr // Used to iterate through attached tables + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* buf */)) = SessionBuffer{} // Buffer in which to accumlate changeset + // var rc int32 at bp+40, 4 + // Return code + + // Zero the output variables in case an error occurs. If this session + // object is already in the error state (sqlite3_session.rc != SQLITE_OK), + // this call will be a no-op. + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = 0 + *(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0) + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+37820 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) + } + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry != 0 { + var zName uintptr = (*SessionTable)(unsafe.Pointer(pTab)).FzName + // var nCol int32 at bp, 4 + // Number of columns in table + // var abPK uintptr at bp+16, 8 + // Primary key array + *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)) = uintptr(0) // Table columns + var i int32 // Used to iterate through hash buckets + *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)) = uintptr(0) // SELECT statement to query table pTab + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf // Initial size of write buffer + var nNoop int32 // Size of buffer after writing tbl header + + // Check the table schema is still Ok. + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionTableInfo(tls, uintptr(0), db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, bp /* &nCol */, uintptr(0), bp+8 /* &azCol */, bp+16 /* &abPK */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) && (((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp /* nCol */))) || (libc.Xmemcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), (*SessionTable)(unsafe.Pointer(pTab)).FabPK, uint64(*(*int32)(unsafe.Pointer(bp /* nCol */)))) != 0)) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_SCHEMA + } + + // Write a table header + sessionAppendTableHdr(tls, bp+24 /* &buf */, bPatchset, pTab, bp+40 /* &rc */) + + // Build and compile a statement to execute: + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectStmt(tls, + db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), bp+48 /* &pSel */) + } + + nNoop = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + for i = 0; (i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange) && (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK); i++ { + var p uintptr // Used to iterate through changes + + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (p != 0); p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectBind(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), p) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + continue + } + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) == SQLITE_ROW { + if int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_INSERT { + var iCol int32 + sessionAppendByte(tls, bp+24 /* &buf */, uint8(SQLITE_INSERT), bp+40 /* &rc */) + sessionAppendByte(tls, bp+24 /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+40 /* &rc */) + for iCol = 0; iCol < *(*int32)(unsafe.Pointer(bp /* nCol */)); iCol++ { + sessionAppendCol(tls, bp+24 /* &buf */, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), iCol, bp+40 /* &rc */) + } + } else { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendUpdate(tls, bp+24 /* &buf */, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), p, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + } else if int32((*SessionChange)(unsafe.Pointer(p)).Fop) != SQLITE_INSERT { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendDelete(tls, bp+24 /* &buf */, bPatchset, p, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + } + + // If the buffer is now larger than sessions_strm_chunk_size, pass + // its contents to the xOutput() callback. + if (((xOutput != 0) && + (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > nNoop)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + nNoop = -1 + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = 0 + } + + } + } + + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf == nNoop { + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = nRewind + } + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */))) // cast works around VC++ bug + } + } + + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf = uintptr(0) + } else if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + } + } + + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf) + Xsqlite3_exec(tls, db, ts+37840 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Obtain a changeset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209288:16: */ + var rc int32 = sessionGenerateChangeset(tls, pSession, 0, uintptr(0), uintptr(0), pnChangeset, ppChangeset) + + return rc +} + +// Streaming version of sqlite3session_changeset(). +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209303:16: */ + return sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Streaming version of sqlite3session_patchset(). +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209314:16: */ + return sessionGenerateChangeset(tls, pSession, 1, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Obtain a patchset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:209329:16: */ + return sessionGenerateChangeset(tls, pSession, 1, uintptr(0), uintptr(0), pnPatchset, ppPatchset) +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:209340:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bEnable >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable = bEnable + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:209354:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bIndirect >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect = bIndirect + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Return true if there have been no changes to monitored tables recorded +// by the session object passed as the only argument. +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:209369:16: */ + var ret int32 = 0 + var pTab uintptr + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (pTab != 0) && (ret == 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + ret = (libc.Bool32((*SessionTable)(unsafe.Pointer(pTab)).FnEntry > 0)) + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + return (libc.Bool32(ret == 0)) +} + +// Return the amount of heap memory in use. +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209385:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc +} + +// Configure the session object passed as the first argument. +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:209392:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_OBJCONFIG_SIZE: + { + var iArg int32 = *(*int32)(unsafe.Pointer(pArg)) + if iArg >= 0 { + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable != 0 { + rc = SQLITE_MISUSE + } else { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize = (libc.Bool32(iArg != 0)) + } + } + *(*int32)(unsafe.Pointer(pArg)) = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize + break + + } + + default: + rc = SQLITE_MISUSE + } + + return rc +} + +// Return the maximum size of sqlite3session_changeset() output. +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209418:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize +} + +// Do the work for either sqlite3changeset_start() or start_strm(). +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:209425:12: */ + var pRet uintptr // Iterator to return + var nByte int32 // Number of bytes to allocate for iterator + + // Zero the output variable in case an error occurs. + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + + // Allocate and initialize the iterator structure. + nByte = int32(unsafe.Sizeof(Sqlite3_changeset_iter{})) + pRet = Xsqlite3_malloc(tls, nByte) + if !(pRet != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pRet, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FbEof = func() int32 { + if xInput != 0 { + return 0 + } + return 1 + }() + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbInvert = bInvert + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbSkipEmpty = bSkipEmpty + + // Populate the output variable and return success. + *(*uintptr)(unsafe.Pointer(pp)) = pRet + return SQLITE_OK +} + +// Create an iterator used to iterate through the contents of a changeset. +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:209463:16: */ + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) +} + +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:209470:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) +} + +// Streaming version of sqlite3changeset_start(). +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:209483:16: */ + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) +} + +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:209490:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) +} + +// If the SessionInput object passed as the only argument is a streaming +// object and the buffer is full, discard some data to free up space. +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:209504:13: */ + if ((*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0) && ((*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size) { + var nMove int32 = ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext) + + if nMove > 0 { + libc.Xmemmove(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), uint64(nMove)) + } + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) -= ((*SessionInput)(unsafe.Pointer(pIn)).FiNext) + (*SessionInput)(unsafe.Pointer(pIn)).FiNext = 0 + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } +} + +// Ensure that there are at least nByte bytes available in the buffer. Or, +// if there are not nByte bytes remaining in the input, that all available +// data is in the buffer. +// +// Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:209524:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 { + for (!((*SessionInput)(unsafe.Pointer(pIn)).FbEof != 0) && (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte) >= (*SessionInput)(unsafe.Pointer(pIn)).FnData)) && (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) { + *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) = sessions_strm_chunk_size + + if (*SessionInput)(unsafe.Pointer(pIn)).FbNoDiscard == 0 { + sessionDiscardData(tls, pIn) + } + if SQLITE_OK == sessionBufferGrow(tls, (pIn+32 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 48 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { + (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 + } else { + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) += (*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))) + } + } + + (*SessionInput)(unsafe.Pointer(pIn)).FaData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// When this function is called, *ppRec points to the start of a record +// that contains nCol values. This function advances the pointer *ppRec +// until it points to the byte immediately following that record. +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:209552:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var aRec uintptr = *(*uintptr)(unsafe.Pointer(ppRec)) + var i int32 + for i = 0; i < nCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aRec, 1)))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + aRec += uintptr(sessionVarintGet(tls, aRec, bp /* &nByte */)) + aRec += uintptr(*(*int32)(unsafe.Pointer(bp /* nByte */))) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + aRec += uintptr(8) + } + } + + *(*uintptr)(unsafe.Pointer(ppRec)) = aRec +} + +// This function sets the value of the sqlite3_value object passed as the +// first argument to a copy of the string or blob held in the aData[] +// buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM +// error occurs. +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:209578:12: */ + // In theory this code could just pass SQLITE_TRANSIENT as the final + // argument to sqlite3ValueSetStr() and have the copy created + // automatically. But doing so makes it difficult to detect any OOM + // error. Hence the code to create the copy externally. + var aCopy uintptr = Xsqlite3_malloc64(tls, (uint64(Sqlite3_int64(nData) + int64(1)))) + if aCopy == uintptr(0) { + return SQLITE_NOMEM + } + libc.Xmemcpy(tls, aCopy, aData, uint64(nData)) + Xsqlite3ValueSetStr(tls, pVal, nData, aCopy, enc, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + return SQLITE_OK +} + +// Deserialize a single record from a buffer in memory. See "RECORD FORMAT" +// for details. +// +// When this function is called, *paChange points to the start of the record +// to deserialize. Assuming no error occurs, *paChange is set to point to +// one byte after the end of the same record before this function returns. +// If the argument abPK is NULL, then the record contains nCol values. Or, +// if abPK is other than NULL, then the record contains only the PK fields +// (in other words, it is a patchset DELETE record). +// +// If successful, each element of the apOut[] array (allocated by the caller) +// is set to point to an sqlite3_value object containing the value read +// from the corresponding position in the record. If that value is not +// included in the record (i.e. because the record is part of an UPDATE change +// and the field was not modified), the corresponding element of apOut[] is +// set to NULL. +// +// It is the responsibility of the caller to free all sqlite_value structures +// using sqlite3_free(). +// +// If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +// The apOut[] array may have been partially populated in this case. +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209619:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 // Used to iterate through columns + var rc int32 = SQLITE_OK + + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 1 + } + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = 0 // Type of value (SQLITE_NULL, TEXT etc.) + if (abPK != 0) && (int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0) { + continue + } + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { + rc = Xsqlite3CorruptError(tls, 209637) + } else { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) + + if eType != 0 { + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 0 + } + *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)) = Xsqlite3ValueNew(tls, uintptr(0)) + if !(int32(*(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8))) != 0) { + rc = SQLITE_NOMEM + } + } + } + } + + if rc == SQLITE_OK { + var aVal uintptr = ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (sessionVarintGet(tls, aVal, bp /* &nByte */)) + rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) + if rc == SQLITE_OK { + if (*(*int32)(unsafe.Pointer(bp /* nByte */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nByte */)) > ((*SessionInput)(unsafe.Pointer(pIn)).FnData - (*SessionInput)(unsafe.Pointer(pIn)).FiNext)) { + rc = Xsqlite3CorruptError(tls, 209657) + } else { + var enc U8 = func() uint8 { + if eType == SQLITE_TEXT { + return uint8(SQLITE_UTF8) + } + return uint8(0) + }() + rc = sessionValueSetStr(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), *(*int32)(unsafe.Pointer(bp /* nByte */)), enc) + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nByte */))) + } + } + } + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */)) = sessionGetI64(tls, aVal) + if eType == SQLITE_INTEGER { + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */))) + } else { + // var d float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &d */, bp+16 /* &v */, uint64(8)) + Xsqlite3VdbeMemSetDouble(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*float64)(unsafe.Pointer(bp + 8 /* d */))) + } + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (8) + } + } + } + + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function ensures that all of the above is present in the input +// buffer (i.e. that it can be accessed without any calls to xInput()). +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. +// The input pointer is not moved. +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:209695:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + *(*int32)(unsafe.Pointer(bp /* nCol */)) = 0 + var nRead int32 = 0 + + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + nRead = nRead + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead))), bp /* &nCol */)) + // The hard upper limit for the number of columns in an SQLite + // database table is, according to sqliteLimit.h, 32676. So + // consider any table-header that purports to have more than 65536 + // columns to be corrupt. This is convenient because otherwise, + // if the (nCol>65536) condition below were omitted, a sufficiently + // large value for nCol may cause nRead to wrap around and become + // negative. Leading to a crash. + if (*(*int32)(unsafe.Pointer(bp /* nCol */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nCol */)) > 65536) { + rc = Xsqlite3CorruptError(tls, 209711) + } else { + rc = sessionInputBuffer(tls, pIn, ((nRead + *(*int32)(unsafe.Pointer(bp /* nCol */))) + 100)) + nRead = nRead + (*(*int32)(unsafe.Pointer(bp /* nCol */))) + } + } + + for rc == SQLITE_OK { + for (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData) && (*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead)))) != 0) { + nRead++ + } + if ((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData { + break + } + rc = sessionInputBuffer(tls, pIn, (nRead + 100)) + } + *(*int32)(unsafe.Pointer(pnByte)) = (nRead + 1) + return rc +} + +// The input pointer currently points to the first byte of the first field +// of a record consisting of nCol columns. This function ensures the entire +// record is buffered. It does not move the input pointer. +// +// If successful, SQLITE_OK is returned and *pnByte is set to the size of +// the record in bytes. Otherwise, an SQLite error code is returned. The +// final value of *pnByte is undefined in this case. +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:209738:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var nByte int32 = 0 + var i int32 + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + var eType int32 + rc = sessionInputBuffer(tls, pIn, (nByte + 10)) + if rc == SQLITE_OK { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + libc.PostIncInt32(&nByte, 1)))))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var n int32 at bp, 4 + + nByte = nByte + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte))), bp /* &n */)) + nByte = nByte + (*(*int32)(unsafe.Pointer(bp /* n */))) + rc = sessionInputBuffer(tls, pIn, nByte) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + nByte = nByte + (8) + } + } + } + *(*int32)(unsafe.Pointer(pnByte)) = nByte + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function decodes the table-header and populates the p->nCol, +// p->zTab and p->abPK[] variables accordingly. The p->apValue[] array is +// also allocated or resized according to the new value of p->nCol. The +// input pointer is left pointing to the byte following the table header. +// +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code +// is returned and the final values of the various fields enumerated above +// are undefined. +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209782:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var rc int32 at bp+4, 4 + + // var nCopy int32 at bp, 4 + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetBufferTblhdr(tls, (p /* &.in */), bp /* &nCopy */) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte int32 + var nVarint int32 + nVarint = sessionVarintGet(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), (p + 120 /* &.nCol */)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol > 0 { + *(*int32)(unsafe.Pointer(bp /* nCopy */)) -= nVarint + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (nVarint) + nByte = (int32(((uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol) * uint64(unsafe.Sizeof(uintptr(0)))) * uint64(2)) + uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */))))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 + sessionBufferGrow(tls, (p + 72 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + } else { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 209799) + } + } + + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var iPK Size_t = ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2)) + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0, iPK) + libc.Xmemcpy(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + uintptr(iPK)), ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */)))) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nCopy */))) + } + + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue == uintptr(0) { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = uintptr(0) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = uintptr(0) + } else { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol*2))*8) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) + } + return uintptr(0) + }() + } + return libc.AssignPtrInt32(p+100 /* &.rc */, *(*int32)(unsafe.Pointer(bp + 4 /* rc */))) +} + +// Advance the changeset iterator to the next change. The differences between +// this function and sessionChangesetNext() are that +// +// * If pbEmpty is not NULL and the change is a no-op UPDATE (an UPDATE +// that modifies no columns), this function sets (*pbEmpty) to 1. +// +// * If the iterator is configured to skip no-op UPDATEs, +// sessionChangesetNext() does that. This function does not. +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209831:12: */ + var i int32 + var op U8 + + // If the iterator is in the error-state, return immediately. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // Free the current contents of p->apValue[], if any. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2))) + } + + // Make sure the buffer contains at least 10 bytes of input data, or all + // remaining data if there are less than 10 bytes available. This is + // sufficient either for the 'T' or 'P' byte and the varint that follows + // it, or for the two single byte values otherwise. + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionInputBuffer(tls, (p /* &.in */), 2) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // If the iterator is already at the end of the changeset, return DONE. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + + sessionDiscardData(tls, (p /* &.in */)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + + op = *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))) + for (int32(op) == 'T') || (int32(op) == 'P') { + if pbNew != 0 { + *(*int32)(unsafe.Pointer(pbNew)) = 1 + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset = (libc.Bool32(int32(op) == 'P')) + if sessionChangesetReadTblhdr(tls, p) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + if libc.AssignPtrInt32(p+100 /* &.rc */, sessionInputBuffer(tls, (p /* &.in */), 2)) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + op = *(*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)).FzTab == uintptr(0)) || (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) { + // The first record in the changeset is not a table header. Must be a + // corrupt changeset. + + return libc.AssignPtrInt32(p+100 /* &.rc */, Xsqlite3CorruptError(tls, 209885)) + } + + (*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 /* &.rc */, Xsqlite3CorruptError(tls, 209891)) + } + + if paRec != 0 { + var nVal int32 // Number of values to buffer + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) && (int32(op) == SQLITE_UPDATE) { + nVal = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2) + } else if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && (int32(op) == SQLITE_DELETE) { + nVal = 0 + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { + nVal++ + } + } + } else { + nVal = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionChangesetBufferRecord(tls, (p /* &.in */), nVal, pnRec) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + *(*uintptr)(unsafe.Pointer(paRec)) = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(pnRec))) + } else { + var apOld uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + } + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + }() + var apNew uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + } + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + }() + + // If this is an UPDATE or DELETE, read the old.* record. + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT) && (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE)) { + var abPK uintptr + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 { + abPK = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + } else { + abPK = uintptr(0) + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, abPK, apOld, uintptr(0)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + // If this is an INSERT or UPDATE, read the new.* record. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, uintptr(0), apNew, pbEmpty) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + if (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_UPDATE) { + // If this is an UPDATE that is part of a patchset, then all PK and + // modified fields are present in the new.* record. The old.* record + // is currently completely empty. This block shifts the PK fields from + // new.* to old.*, to accommodate the code that reads these arrays. + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + + 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 /* &.rc */, Xsqlite3CorruptError(tls, 209935)) + } + *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol))*8)) = uintptr(0) + } + } + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_INSERT { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_DELETE + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_INSERT + } + } + } + + return SQLITE_ROW +} + +// Advance the changeset iterator to the next change. +// +// If both paRec and pnRec are NULL, then this function works like the public +// API sqlite3changeset_next(). If SQLITE_ROW is returned, then the +// sqlite3changeset_new() and old() APIs may be used to query for values. +// +// Otherwise, if paRec and pnRec are not NULL, then a pointer to the change +// record is written to *paRec before returning and the number of bytes in +// the record to *pnRec. +// +// Either way, this function returns SQLITE_ROW if the iterator is +// successfully advanced to the next change in the changeset, an SQLite +// error code if an error occurs, or SQLITE_DONE if there are no further +// changes in the changeset. +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:209964:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var bEmpty int32 at bp, 4 + + var rc int32 + for ok := true; ok; ok = (((rc == SQLITE_ROW) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbSkipEmpty != 0)) && (*(*int32)(unsafe.Pointer(bp /* bEmpty */)) != 0)) { + *(*int32)(unsafe.Pointer(bp /* bEmpty */)) = 0 + rc = sessionChangesetNextOne(tls, p, paRec, pnRec, pbNew, bp /* &bEmpty */) + } + return rc +} + +// Advance an iterator created by sqlite3changeset_start() to the next +// change in the changeset. This function may return SQLITE_ROW, SQLITE_DONE +// or SQLITE_CORRUPT. +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209987:16: */ + return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) +} + +// The following function extracts information on the current change +// from a changeset iterator. It may only be called after changeset_next() +// has returned SQLITE_ROW. +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:209996:16: */ + *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + if pbIndirect != 0 { + *(*int32)(unsafe.Pointer(pbIndirect)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect + } + return SQLITE_OK +} + +// Return information regarding the PRIMARY KEY and number of columns in +// the database table affected by the change that pIter currently points +// to. This function may only be called after changeset_next() returns +// SQLITE_ROW. +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:210016:16: */ + *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + if pnCol != 0 { + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + } + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_DELETE change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the old.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified and is not a PK column), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210039:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(iVal)*8)) + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_INSERT change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the new.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210067:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+iVal))*8)) + return SQLITE_OK +} + +// The following two macros are used internally. They are similar to the +// sqlite3changeset_new() and sqlite3changeset_old() functions, except that +// they omit all error checking and return a pointer to the requested value. + +// This function may only be called with a changeset iterator that has been +// passed to an SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT +// conflict-handler function. Otherwise, SQLITE_MISUSE is returned. +// +// If successful, *ppValue is set to point to an sqlite3_value structure +// containing the iVal'th value of the conflicting record. +// +// If value iVal is out-of-range or some other error occurs, an SQLite error +// code is returned. Otherwise, SQLITE_OK. +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210101:16: */ + if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = Xsqlite3_column_value(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict, iVal) + return SQLITE_OK +} + +// This function may only be called with an iterator passed to an +// SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +// it sets the output variable to the total number of known foreign key +// violations in the destination database and returns SQLITE_OK. +// +// In all other cases this function returns SQLITE_MISUSE. +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:210124:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0) { + return SQLITE_MISUSE + } + *(*int32)(unsafe.Pointer(pnOut)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + return SQLITE_OK +} + +// Finalize an iterator allocated with sqlite3changeset_start(). +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:210142:16: */ + var rc int32 = SQLITE_OK + if p != 0 { + var i int32 // Used to iterate through p->apValue[] + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + } + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf) + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.Fbuf.FaBuf) + Xsqlite3_free(tls, p) + } + return rc +} + +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210157:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + // var rc int32 at bp+40, 4 + // Return value + // var sOut SessionBuffer at bp, 16 + // Output buffer + // var nCol int32 at bp+20, 4 + // Number of cols in current table + var abPK uintptr // PK array for current table + var apVal uintptr // Space for values for UPDATE inversion + // var sPK SessionBuffer at bp+24, 16 + + // A 'table' record consists of: + // + // * A constant 'T' character, + // * Number of columns in said table (a varint), + // * An array of nCol bytes (sPK), + // * A nul-terminated table name. + // var nByte int32 at bp+16, 4 + + var nVar int32 + // var nByte1 int32 at bp+44, 4 + + var bIndirect int32 + var eType2 int32 + var pVal uintptr + var pVal1 uintptr + var iCol int32 + var eType U8 + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) = 0 + abPK = uintptr(0) + apVal = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* sPK */)) = SessionBuffer{} // PK array for current table + + // Initialize the output buffer + libc.Xmemset(tls, bp /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + // Zero the output variables in case an error occurs. + if !(ppInverted != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(ppInverted)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnInverted)) = 0 +__1: + ; + +__2: + if !(1 != 0) { + goto __3 + } + + // Test for EOF. + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionInputBuffer(tls, pInput, 2)) != 0) { + goto __4 + } + goto finished_invert +__4: + ; + if !((*SessionInput)(unsafe.Pointer(pInput)).FiNext >= (*SessionInput)(unsafe.Pointer(pInput)).FnData) { + goto __5 + } + goto __3 +__5: + ; + eType = *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext))) + + switch int32(eType) { + case 'T': + goto __7 + + case SQLITE_INSERT: + goto __8 + case SQLITE_DELETE: + goto __9 + + case SQLITE_UPDATE: + goto __10 + + default: + goto __11 + } + goto __6 +__7: + (*SessionInput)(unsafe.Pointer(pInput)).FiNext++ + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionChangesetBufferTblhdr(tls, pInput, bp+16 /* &nByte */)) != 0) { + goto __12 + } + goto finished_invert +__12: + ; + nVar = sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), bp+20 /* &nCol */) + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FnBuf = 0 + sessionAppendBlob(tls, bp+24 /* &sPK */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + nVar))), *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 16 /* nByte */)), bp+40 /* &rc */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __13 + } + goto finished_invert +__13: + ; + + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 16 /* nByte */))) + Xsqlite3_free(tls, apVal) + apVal = uintptr(0) + abPK = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FaBuf + goto __6 + +__8: +__9: + bIndirect = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1))))) + eType2 = func() int32 { + if int32(eType) == SQLITE_DELETE { + return SQLITE_INSERT + } + return SQLITE_DELETE + }() + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionChangesetBufferRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+44 /* &nByte1 */) + sessionAppendByte(tls, bp /* &sOut */, uint8(eType2), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, uint8(bIndirect), bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */)), bp+40 /* &rc */) + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __14 + } + goto finished_invert +__14: + ; + goto __6 + +__10: + + if !(uintptr(0) == apVal) { + goto __15 + } + apVal = Xsqlite3_malloc64(tls, (uint64((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2)))) + if !(uintptr(0) == apVal) { + goto __16 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_NOMEM + goto finished_invert +__16: + ; + libc.Xmemset(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) +__15: + ; + + // Write the header for the new UPDATE change. Same as the original. + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1)))), bp+40 /* &rc */) + + // Read the old.* and new.* records for the update change. + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal), uintptr(0)) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) { + goto __17 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal + uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))*8), uintptr(0)) +__17: + ; + + // Write the new old.* record. Consists of the PK columns from the + // original old.* record, and the other values from the original + // new.* record. + iCol = 0 +__18: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __20 + } + pVal = *(*uintptr)(unsafe.Pointer(apVal + uintptr((iCol+(func() int32 { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return 0 + } + return *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) + }())))*8)) + sessionAppendValue(tls, bp /* &sOut */, pVal, bp+40 /* &rc */) + goto __19 +__19: + iCol++ + goto __18 + goto __20 +__20: + ; + + // Write the new new.* record. Consists of a copy of all values + // from the original old.* record, except for the PK columns, which + // are set to "undefined". + iCol = 0 +__21: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __23 + } + pVal1 = func() uintptr { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return uintptr(0) + } + return *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8)) + }() + sessionAppendValue(tls, bp /* &sOut */, pVal1, bp+40 /* &rc */) + goto __22 +__22: + iCol++ + goto __21 + goto __23 +__23: + ; + + iCol = 0 +__24: + if !(iCol < (*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) * 2)) { + goto __26 + } + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8))) + goto __25 +__25: + iCol++ + goto __24 + goto __26 +__26: + ; + libc.Xmemset(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __27 + } + goto finished_invert +__27: + ; + + goto __6 + +__11: + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 210284) + goto finished_invert +__6: + ; + + if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { + goto __28 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __29 + } + goto finished_invert +__29: + ; +__28: + ; + goto __2 +__3: + ; + + if !(pnInverted != 0) { + goto __30 + } + *(*int32)(unsafe.Pointer(pnInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf = uintptr(0) + goto __31 +__30: + if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { + goto __32 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) +__32: + ; +__31: + ; + +finished_invert: + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf) + Xsqlite3_free(tls, apVal) + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &sPK */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Invert a changeset object. +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210316:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FnData = nChangeset + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FaData = pChangeset + + return sessionChangesetInvert(tls, bp /* &sInput */, uintptr(0), uintptr(0), pnInverted, ppInverted) +} + +// Streaming version of sqlite3changeset_invert(). +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:210335:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + var rc int32 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FxInput = xInput + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FpIn = pIn + + rc = sessionChangesetInvert(tls, bp /* &sInput */, xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3_free(tls, (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).Fbuf.FaBuf) + return rc +} + +type SessionUpdate1 = struct { + FpStmt uintptr + FaMask uintptr + FpNext uintptr +} /* sqlite3.c:210355:9 */ + +type SessionUpdate = SessionUpdate1 /* sqlite3.c:210355:30 */ + +type SessionApplyCtx1 = struct { + Fdb uintptr + FpDelete uintptr + FpInsert uintptr + FpSelect uintptr + FnCol int32 + _ [4]byte + FazCol uintptr + FabPK uintptr + FaUpdateMask uintptr + FpUp uintptr + FbStat1 int32 + FbDeferConstraints int32 + FbInvertConstraints int32 + _ [4]byte + Fconstraints SessionBuffer + Frebase SessionBuffer + FbRebaseStarted U8 + FbRebase U8 + _ [6]byte +} /* sqlite3.c:210362:9 */ + +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ + +// Number of prepared UPDATE statements to cache. + +// Find a prepared UPDATE statement suitable for the UPDATE step currently +// being visited by the iterator. The UPDATE is of the form: +// +// UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:210391:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var pUp uintptr = uintptr(0) + var nCol int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + var nU32 int32 = (((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + 33) / 32) + var ii int32 + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = Xsqlite3_malloc(tls, (int32(uint64(nU32) * uint64(unsafe.Sizeof(U32(0)))))) + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0, (uint64(nU32) * uint64(unsafe.Sizeof(U32(0))))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_CORRUPT + for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ { + if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(ii)))*8)) != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((ii/32))*4)) |= (U32(int32(1) << (ii % 32))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if bPatchset != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((nCol/32))*4)) |= (U32(int32(1) << (nCol % 32))) + } + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp != 0 { + var nUp int32 = 0 + var pp uintptr = (p + 64 /* &.pUp */) + for 1 != 0 { + nUp++ + if 0 == libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaMask, (uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))) { + pUp = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + break + } + + if (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext != 0 { + pp = (*(*uintptr)(unsafe.Pointer(pp)) + 16 /* &.pNext */) + } else { + if nUp >= SESSION_UPDATE_CACHE_SZ { + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpStmt) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pp))) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + } + break + } + } + } + + if pUp == uintptr(0) { + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionUpdate{})) * uint64(nU32)) * uint64(unsafe.Sizeof(U32(0))))) + var bStat1 int32 = (libc.Bool32(Xsqlite3_stricmp(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, ts+13346 /* "sqlite_stat1" */) == 0)) + pUp = Xsqlite3_malloc(tls, nByte) + if pUp == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } else { + var zSep uintptr = ts + 915 /* "" */ + // var buf SessionBuffer at bp, 16 + + libc.Xmemset(tls, bp /* &buf */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + (*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 /* &buf */, ts+37858 /* "UPDATE main." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37871 /* " SET " */, bp+16 /* &rc */) + + // Create the assignments part of the UPDATE + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37877 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+16 /* &rc */) + zSep = ts + 16636 /* ", " */ + } + } + + // Create the WHERE clause part of the UPDATE + zSep = ts + 915 /* "" */ + sessionAppendStr(tls, bp /* &buf */, ts+37806 /* " WHERE " */, bp+16 /* &rc */) + 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 /* &buf */, zSep, bp+16 /* &rc */) + if (bStat1 != 0) && (ii == 1) { + + sessionAppendStr(tls, bp, /* &buf */ + + ts+37882 /* "idx IS CASE WHEN..." */, bp+16 /* &rc */) + } else { + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37814 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 2), bp+16 /* &rc */) + } + zSep = ts + 24073 /* " AND " */ + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + var zSql uintptr = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, zSql, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (pUp /* &.pStmt */), uintptr(0)) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, pUp) + pUp = uintptr(0) + } else { + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + } + } + } + + if pUp != 0 { + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt + } else { + *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) + } + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Free all cached UPDATE statements. +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:210530:13: */ + var pUp uintptr + var pNext uintptr + for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { + pNext = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt) + Xsqlite3_free(tls, pUp) + } + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = uintptr(0) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask) + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = uintptr(0) +} + +// Formulate a statement to DELETE a row from database db. Assuming a table +// structure like this: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The DELETE statement looks like this: +// +// DELETE FROM x WHERE a = :1 AND c = :3 AND (:5 OR b IS :2 AND d IS :4) +// +// Variable :5 (nCol+1) is a boolean. It should be set to 0 if we require +// matching b and d values, or 1 otherwise. The second case comes up if the +// conflict handler is invoked with NOTFOUND and returns CHANGESET_REPLACE. +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left +// pointing to the prepared version of the SQL statement. +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210560:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var i int32 + var zSep uintptr = ts + 915 /* "" */ + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var nPk int32 = 0 + + sessionAppendStr(tls, bp /* &buf */, ts+37957 /* "DELETE FROM main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37806 /* " WHERE " */, bp+16 /* &rc */) + + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37877 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 24073 /* " AND " */ + } + } + + if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { + sessionAppendStr(tls, bp /* &buf */, ts+37975 /* " AND (?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((*SessionApplyCtx)(unsafe.Pointer(p)).FnCol + 1), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37518 /* " OR " */, bp+16 /* &rc */) + + zSep = ts + 915 /* "" */ + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37814 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 37983 /* "AND " */ + } + } + sessionAppendStr(tls, bp /* &buf */, ts+6887 /* ")" */, bp+16 /* &rc */) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 8 /* &.pDelete */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Formulate and prepare an SQL statement to query table zTab by primary +// key. Assuming the following table structure: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The SELECT statement looks like this: +// +// SELECT * FROM x WHERE a = ?1 AND c = ?3 +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left +// pointing to the prepared version of the SQL statement. +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210625:12: */ + return sessionSelectStmt(tls, + db, ts+8566 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 24 /* &.pSelect */)) +} + +// Formulate and prepare an INSERT statement to add a record to table zTab. +// For example: +// +// INSERT INTO main."zTab" VALUES(?1, ?2, ?3 ...); +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left +// pointing to the prepared version of the SQL statement. +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210643:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var i int32 + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp /* &buf */, ts+37988 /* "INSERT INTO main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+24079 /* "(" */, bp+16 /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + if i != 0 { + sessionAppendStr(tls, bp /* &buf */, ts+16636 /* ", " */, bp+16 /* &rc */) + } + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + } + + sessionAppendStr(tls, bp /* &buf */, ts+38006 /* ") VALUES(?" */, bp+16 /* &rc */) + for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + sessionAppendStr(tls, bp /* &buf */, ts+38017 /* ", ?" */, bp+16 /* &rc */) + } + sessionAppendStr(tls, bp /* &buf */, ts+6887 /* ")" */, bp+16 /* &rc */) + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 16 /* &.pInsert */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:210673:12: */ + return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) +} + +// Prepare statements for applying changes to the sqlite_stat1 table. +// These are similar to those created by sessionSelectRow(), +// sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for +// other tables. +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:210683:12: */ + var rc int32 = sessionSelectRow(tls, db, ts+13346 /* "sqlite_stat1" */, p) + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 16 /* &.pInsert */), + + ts+38021 /* "INSERT INTO main..." */) + } + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 8 /* &.pDelete */), + + ts+38134 /* "DELETE FROM main..." */) + } + return rc +} + +// A wrapper around sqlite3_bind_value() that detects an extra problem. +// See comments in the body of this function for details. +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:210706:12: */ + var eType int32 = Xsqlite3_value_type(tls, pVal) + // COVERAGE: The (pVal->z==0) branch is never true using current versions + // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either + // the (pVal->z) variable remains as it was or the type of the value is + // set to SQLITE_NULL. + if ((eType == SQLITE_TEXT) || (eType == SQLITE_BLOB)) && ((*Sqlite3_value)(unsafe.Pointer(pVal)).Fz == uintptr(0)) { + // This condition occurs when an earlier OOM in a call to + // sqlite3_value_text() or sqlite3_value_blob() (perhaps from within + // a conflict-handler) has zeroed the pVal->z pointer. Return NOMEM. + return SQLITE_NOMEM + } + return Xsqlite3_bind_value(tls, pStmt, i, pVal) +} + +// Iterator pIter must point to an SQLITE_INSERT entry. This function +// transfers new.* values from the current iterator entry to statement +// pStmt. The table being inserted into has nCol columns. +// +// New.* value $i from the iterator is bound to variable ($i+1) of +// statement pStmt. If parameter abPK is NULL, all values from 0 to (nCol-1) +// are transfered to the statement. Otherwise, if abPK is not NULL, it points +// to an array nCol elements in size. In this case only those values for +// which abPK[$i] is true are read from the iterator and bound to the +// statement. +// +// An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK. +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:210739:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var i int32 + var rc int32 = SQLITE_OK + + // Neither sqlite3changeset_old or sqlite3changeset_new can fail if the + // argument iterator points to a suitable entry. Make sure that xValue + // is one of these to guarantee that it is safe to ignore the return + // in the code below. + + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + // var pVal uintptr at bp, 8 + + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { + // The value in the changeset was "undefined". This indicates a + // corrupt changeset blob. + rc = Xsqlite3CorruptError(tls, 210762) + } else { + rc = sessionBindValue(tls, pStmt, (i + 1), *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + } + } + return rc +} + +// SQL statement pSelect is as generated by the sessionSelectRow() function. +// This function binds the primary key values from the change that changeset +// iterator pIter points to to the SELECT and attempts to seek to the table +// entry. If a row is found, the SELECT statement left pointing at the row +// and SQLITE_ROW is returned. Otherwise, if no row is found and no error +// has occured, the statement is reset and SQLITE_OK is returned. If an +// error occurs, the statement is reset and an SQLite error code is returned. +// +// If this function returns SQLITE_ROW, the caller must eventually reset() +// statement pSelect. If any other value is returned, the statement does +// not require a reset(). +// +// If the iterator currently points to an INSERT record, bind values from the +// new.* record to the SELECT statement. Or, if it points to a DELETE or +// UPDATE, bind values from the old.* record. +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:210788:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var rc int32 // Return code + // var nCol int32 at bp+8, 4 + // Number of columns in table + // var op int32 at bp+12, 4 + // Changset operation (SQLITE_UPDATE etc.) + // var zDummy uintptr at bp, 8 + // Unused + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + rc = sessionBindRow(tls, pIter, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})) + } + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})) + }(), + *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, pSelect) + + if rc == SQLITE_OK { + rc = Xsqlite3_step(tls, pSelect) + if rc != SQLITE_ROW { + rc = Xsqlite3_reset(tls, pSelect) + } + } + + return rc +} + +// This function is called from within sqlite3changeset_apply_v2() when +// a conflict is encountered and resolved using conflict resolution +// mode eType (either SQLITE_CHANGESET_OMIT or SQLITE_CHANGESET_REPLACE).. +// It adds a conflict resolution record to the buffer in +// SessionApplyCtx.rebase, which will eventually be returned to the caller +// of apply_v2() as the "rebase" buffer. +// +// Return SQLITE_OK if successful, or an SQLite error code otherwise. +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:210823:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebase != 0 { + var i int32 + var eOp int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + if int32((*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted) == 0 { + // Append a table-header to the rebase buffer + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + sessionAppendByte(tls, (p + 104 /* &.rebase */), uint8('T'), bp /* &rc */) + sessionAppendVarint(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), zTab, (int32(libc.Xstrlen(tls, zTab)) + 1), bp /* &rc */) + (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted = U8(1) + } + + sessionAppendByte(tls, (p + 104 /* &.rebase */), + func() uint8 { + if eOp == SQLITE_DELETE { + return uint8(SQLITE_DELETE) + } + return uint8(SQLITE_INSERT) + }(), bp /* &rc */) + sessionAppendByte(tls, (p + 104 /* &.rebase */), (uint8(libc.Bool32(eType == SQLITE_CHANGESET_REPLACE))), bp /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)) = uintptr(0) + if (eOp == SQLITE_DELETE) || ((eOp == SQLITE_UPDATE) && (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0)) { + Xsqlite3changeset_old(tls, pIter, i, bp+8 /* &pVal */) + } else { + Xsqlite3changeset_new(tls, pIter, i, bp+8 /* &pVal */) + } + sessionAppendValue(tls, (p + 104 /* &.rebase */), *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)), bp /* &rc */) + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Invoke the conflict handler for the change that the changeset iterator +// currently points to. +// +// Argument eType must be either CHANGESET_DATA or CHANGESET_CONFLICT. +// If argument pbReplace is NULL, then the type of conflict handler invoked +// depends solely on eType, as follows: +// +// eType value Value passed to xConflict +// ------------------------------------------------- +// CHANGESET_DATA CHANGESET_NOTFOUND +// CHANGESET_CONFLICT CHANGESET_CONSTRAINT +// +// Or, if pbReplace is not NULL, then an attempt is made to find an existing +// record with the same primary key as the record about to be deleted, updated +// or inserted. If such a record can be found, it is available to the conflict +// handler as the "conflicting" record. In this case the type of conflict +// handler invoked is as follows: +// +// eType value PK Record found? Value passed to xConflict +// ---------------------------------------------------------------- +// CHANGESET_DATA Yes CHANGESET_DATA +// CHANGESET_DATA No CHANGESET_NOTFOUND +// CHANGESET_CONFLICT Yes CHANGESET_CONFLICT +// CHANGESET_CONFLICT No CHANGESET_CONSTRAINT +// +// If pbReplace is not NULL, and a record with a matching PK is found, and +// the conflict handler function returns SQLITE_CHANGESET_REPLACE, *pbReplace +// is set to non-zero before returning SQLITE_OK. +// +// If the conflict handler returns SQLITE_CHANGESET_ABORT, SQLITE_ABORT is +// returned. Or, if the conflict handler returns an invalid value, +// SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT, +// this function returns SQLITE_OK. +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:210897:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var res int32 = 0 // Value returned by conflict handler + // var rc int32 at bp+16, 4 + + // var nCol int32 at bp+8, 4 + + // var op int32 at bp+12, 4 + + // var zDummy uintptr at bp, 8 + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + // Bind the new.* PRIMARY KEY values to the SELECT statement. + if pbReplace != 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_ROW { + // There exists another row with the new.* primary key. + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if ((*SessionApplyCtx)(unsafe.Pointer(p)).FbDeferConstraints != 0) && (eType == SQLITE_CHANGESET_CONFLICT) { + // Instead of invoking the conflict handler, append the change blob + // to the SessionApplyCtx.constraints buffer. + var aBlob uintptr = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent)) + var nBlob int32 = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent) + sessionAppendBlob(tls, (p + 88 /* &.constraints */), aBlob, nBlob, bp+16 /* &rc */) + return SQLITE_OK + } else { + // No other row with the new.* primary key. + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + if res == SQLITE_CHANGESET_REPLACE { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + switch res { + case SQLITE_CHANGESET_REPLACE: + + *(*int32)(unsafe.Pointer(pbReplace)) = 1 + break + fallthrough + + case SQLITE_CHANGESET_OMIT: + break + fallthrough + + case SQLITE_CHANGESET_ABORT: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ABORT + break + fallthrough + + default: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + break + } + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionRebaseAdd(tls, p, res, pIter) + } + } + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// If argument pbRetry is NULL, then ignore any CHANGESET_DATA conflict. If +// one is encountered, update or delete the row with the matching primary key +// instead. Or, if pbRetry is not NULL and a CHANGESET_DATA conflict occurs, +// invoke the conflict handler. If it returns CHANGESET_REPLACE, set *pbRetry +// to true before returning. In this case the caller will invoke this function +// again, this time with pbRetry set to NULL. +// +// If argument pbReplace is NULL and a CHANGESET_CONFLICT conflict is +// encountered invoke the conflict handler with CHANGESET_CONSTRAINT instead. +// Or, if pbReplace is not NULL, invoke it with CHANGESET_CONFLICT. If such +// an invocation returns SQLITE_CHANGESET_REPLACE, set *pbReplace to true +// before retrying. In this case the caller attempts to remove the conflicting +// row before invoking this function again, this time with pbReplace set +// to NULL. +// +// If any conflict handler returns SQLITE_CHANGESET_ABORT, this function +// returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is +// returned. +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:210995:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + // var zDummy uintptr at bp, 8 + + // var op int32 at bp+12, 4 + + // var nCol int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_DELETE { + + // Bind values to the DELETE statement. If conflict handling is required, + // bind values for all columns and set bound variable (nCol+1) to true. + // Or, if conflict handling is not required, bind just the PK column + // values and, if it exists, set (nCol+1) to false. Conflict handling + // is not required if: + // + // * this is a patchset, or + // * (pbRetry==0), or + // * all columns of the table are PK columns (in this case there is + // no (nCol+1) variable to bind to). + var abPK uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + } + return uintptr(0) + }() + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_bind_parameter_count(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) > *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))) { + rc = Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete, (*(*int32)(unsafe.Pointer(bp + 8 /* nCol */)) + 1), (libc.Bool32((pbRetry == uintptr(0)) || (abPK != 0)))) + } + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_UPDATE { + var i int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)) = uintptr(0) + var bPatchset int32 = (libc.Bool32((pbRetry == uintptr(0)) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0))) + + rc = sessionUpdateFind(tls, pIter, p, bPatchset, bp+16 /* &pUp */) + + // Bind values to the UPDATE statement. + for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))); i++ { + var pOld uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(i)*8)) + var pNew uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(i)))*8)) + if (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) || ((bPatchset == 0) && (pOld != 0)) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 2), pOld) + } + if (rc == SQLITE_OK) && (pNew != 0) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 1), pNew) + } + } + if rc != SQLITE_OK { + return rc + } + + // Attempt the UPDATE. In the case of a NOTFOUND or DATA conflict, + // the result will be SQLITE_OK with 0 rows modified. + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + // A NOTFOUND or DATA error. Search the table to see if it contains + // a row with a matching primary key. If so, this is a DATA conflict. + // Otherwise, if there is no primary key match, it is a NOTFOUND. + + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + // This is always a CONSTRAINT conflict. + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else { + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbStat1 != 0 { + // Check if there is a conflicting row. For sqlite_stat1, this needs + // to be done using a SELECT, as there is no PRIMARY KEY in the + // database schema to throw an exception if a duplicate is inserted. + rc = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + if rc == SQLITE_ROW { + rc = SQLITE_CONSTRAINT + Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } + } + + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), uintptr(0), (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + } + + if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace) + } + } + + return rc +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// The difference between this function and sessionApplyOne() is that this +// function handles the case where the conflict-handler is invoked and +// returns SQLITE_CHANGESET_REPLACE - indicating that the change should be +// retried in some manner. +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211128:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) = 0 + var rc int32 + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp /* &bReplace */, bp+4 /* &bRetry */) + if rc == SQLITE_OK { + // If the bRetry flag is set, the change has not been applied due to an + // SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and + // a row with the correct PK is present in the db, but one or more other + // fields do not contain the expected values) and the conflict handler + // returned SQLITE_CHANGESET_REPLACE. In this case retry the operation, + // but pass NULL as the final argument so that sessionApplyOneOp() ignores + // the SQLITE_CHANGESET_DATA problem. + if *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) != 0 { + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } else if *(*int32)(unsafe.Pointer(bp /* bReplace */)) != 0 { + + rc = Xsqlite3_exec(tls, db, ts+38278 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(0)) + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, ((*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + 1), 1) + } + if rc == SQLITE_OK { + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + } + if rc == SQLITE_OK { + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+38299 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + } + + return rc +} + +// Retry the changes accumulated in the pApply->constraints buffer. +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211185:12: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK + + for (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf != 0 { + *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) = uintptr(0) + var cons = (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints + libc.Xmemset(tls, (pApply + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionChangesetStart(tls, + bp /* &pIter2 */, uintptr(0), uintptr(0), cons.FnBuf, cons.FaBuf, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbInvertConstraints, 1) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + var nByte Size_t = ((uint64(2 * (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol)) * uint64(unsafe.Sizeof(uintptr(0)))) + var rc2 int32 + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FbPatchset = bPatchset + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FzTab = zTab + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FnCol = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FabPK = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK + sessionBufferGrow(tls, (*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) + 72 /* &.tblhdr */), int64(nByte), bp+8 /* &rc */) + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).Ftblhdr.FaBuf + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0, nByte) + } + + for (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))) { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)), pApply, xConflict, pCtx) + } + + rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */))) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = rc2 + } + } + + Xsqlite3_free(tls, cons.FaBuf) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) != SQLITE_OK { + break + } + if (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf >= cons.FnBuf { + // No progress was made on the last round. + (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbDeferConstraints = 0 + } + } + + return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) +} + +// Argument pIter is a changeset iterator that has been initialized, but +// not yet passed to sqlite3changeset_next(). This function applies the +// changeset to the main database attached to handle "db". The supplied +// conflict handler callback is invoked to resolve any conflicts encountered +// while applying the change. +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ + bp := tls.Alloc(368) + defer tls.Free(368) + + var schemaMismatch int32 = 0 + var rc int32 = SQLITE_OK // Return code + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = uintptr(0) // Name of current table + var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) + // var sApply SessionApplyCtx at bp+48, 128 + // changeset_apply() context object + var bPatchset int32 + + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 + libc.Xmemset(tls, bp+48 /* &sApply */, 0, uint64(unsafe.Sizeof(SessionApplyCtx{}))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).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+38318 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+38344 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + } + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { + // var nCol int32 at bp+184, 4 + + // var op int32 at bp+188, 4 + + // var zNew uintptr at bp+176, 8 + + Xsqlite3changeset_op(tls, pIter, bp+176 /* &zNew */, bp+184 /* &nCol */, bp+188 /* &op */, uintptr(0)) + + if (*(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+192, 8 + + rc = sessionRetryConstraints(tls, + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + if rc != SQLITE_OK { + break + } + + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebaseStarted = U8(0) + libc.Xmemset(tls, (bp + 48 /* &sApply */ + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + // If an xFilter() callback was specified, invoke it now. If the + // xFilter callback returns zero, skip this table. If it returns + // non-zero, proceed. + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))))) + if schemaMismatch != 0 { + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0) { + rc = SQLITE_NOMEM + break + } + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) + } else { + var nMinCol int32 = 0 + var i int32 + + Xsqlite3changeset_pk(tls, pIter, bp+192 /* &abPK */, uintptr(0)) + rc = sessionTableInfo(tls, uintptr(0), + db, ts+8566 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), (bp + 48 /* &sApply */ + 32 /* &.nCol */), bp+200 /* &zTab */, (bp + 48 /* &sApply */ + 40 /* &.azCol */), (bp + 48 /* &sApply */ + 48 /* &.abPK */)) + if rc != SQLITE_OK { + break + } + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK + uintptr(i))) != 0 { + nMinCol = (i + 1) + } + } + + if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+38374 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + + ts+38418, /* "sqlite3changeset..." */ + libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) != 0) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+38489 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else { + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), ts+13346 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+48 /* &sApply */)) != 0 { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 1 + } else { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + } + } + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */))) + } + } + + // If there is a schema mismatch on the current table, proceed to the + // next change. A log message has already been issued. + if schemaMismatch != 0 { + continue + } + + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+48 /* &sApply */, xConflict, pCtx) + } + + bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + if rc == SQLITE_OK { + rc = Xsqlite3changeset_finalize(tls, pIter) + } else { + Xsqlite3changeset_finalize(tls, pIter) + } + + if rc == SQLITE_OK { + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) + } + + if rc == SQLITE_OK { + // var nFk int32 at bp+208, 4 + + // var notUsed int32 at bp+212, 4 + + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+208 /* &nFk */, bp+212 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) != 0 { + var res int32 = SQLITE_CHANGESET_ABORT + // var sIter Sqlite3_changeset_iter at bp+216, 152 + + libc.Xmemset(tls, bp+216 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 216 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) + if res != SQLITE_CHANGESET_OMIT { + rc = SQLITE_CONSTRAINT + } + } + } + Xsqlite3_exec(tls, db, ts+38549 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + + if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+38579 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } else { + Xsqlite3_exec(tls, db, ts+38603 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, ts+38579 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf = uintptr(0) + } + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Frebase.FaBuf) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main +// database attached to handle "db". +func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211439:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInv int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211472:16: */ + return Xsqlite3changeset_apply_v2(tls, + db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// Apply the changeset passed via xInput/pIn to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211497:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInverse int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, xInput, pIn, 0, uintptr(0), bInverse, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211524:16: */ + return Xsqlite3changeset_apply_v2_strm(tls, + db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// This function is called to merge two changes to the same row together as +// part of an sqlite3changeset_concat() operation. A new change object is +// allocated and a pointer to it stored in *ppNew. +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:211558:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var pNew uintptr = uintptr(0) + var rc int32 = SQLITE_OK + + if !(pExist != 0) { + pNew = Xsqlite3_malloc64(tls, (uint64(uint64(unsafe.Sizeof(SessionChange{})) + uint64(nRec)))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = U8(bIndirect) + (*SessionChange)(unsafe.Pointer(pNew)).FaRecord = (pNew + 1*32) + if (bIndirect == 0) || (bRebase == 0) { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = nRec + libc.Xmemcpy(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, aRec, uint64(nRec)) + } else { + var i int32 + var pIn uintptr = aRec + var pOut uintptr = (*SessionChange)(unsafe.Pointer(pNew)).FaRecord + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var nIn int32 = sessionSerialLen(tls, pIn) + if int32(*(*U8)(unsafe.Pointer(pIn))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } else if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else { + libc.Xmemcpy(tls, pOut, pIn, uint64(nIn)) + pOut += uintptr(nIn) + } + pIn += uintptr(nIn) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + } else if bRebase != 0 { + if (int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) == SQLITE_DELETE) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0) { + *(*uintptr)(unsafe.Pointer(ppNew)) = pExist + } else { + var nByte Sqlite3_int64 = (Sqlite3_int64((uint64(nRec + (*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(unsafe.Sizeof(SessionChange{})))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var i int32 + var a1 uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var a2 uintptr = aRec + var pOut uintptr + + libc.Xmemset(tls, pNew, 0, uint64(nByte)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) || ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + pOut = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) || ((int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0) && (bIndirect != 0)) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else if int32(*(*U8)(unsafe.Pointer(a2))) == 0 { + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else { + libc.Xmemcpy(tls, pOut, a2, uint64(n2)) + pOut += uintptr(n2) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } else { + var op1 int32 = int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) + + // op1=INSERT, op2=INSERT -> Unsupported. Discard op2. + // op1=INSERT, op2=UPDATE -> INSERT. + // op1=INSERT, op2=DELETE -> (none) + // + // op1=UPDATE, op2=INSERT -> Unsupported. Discard op2. + // op1=UPDATE, op2=UPDATE -> UPDATE. + // op1=UPDATE, op2=DELETE -> DELETE. + // + // op1=DELETE, op2=INSERT -> UPDATE. + // op1=DELETE, op2=UPDATE -> Unsupported. Discard op2. + // op1=DELETE, op2=DELETE -> Unsupported. Discard op2. + if ((((op1 == SQLITE_INSERT) && (op2 == SQLITE_INSERT)) || + ((op1 == SQLITE_UPDATE) && (op2 == SQLITE_INSERT))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_UPDATE))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_DELETE)) { + pNew = pExist + } else if (op1 == SQLITE_INSERT) && (op2 == SQLITE_DELETE) { + Xsqlite3_free(tls, pExist) + + } else { + var aExist uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var nByte Sqlite3_int64 + // var aCsr uintptr at bp+8, 8 + + // Allocate a new SessionChange object. Ensure that the aRecord[] + // buffer of the new object is large enough to hold any record that + // may be generated by combining the input records. + nByte = (Sqlite3_int64((uint64(unsafe.Sizeof(SessionChange{})) + uint64((*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(nRec))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if !(pNew != 0) { + Xsqlite3_free(tls, pExist) + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + if op1 == SQLITE_INSERT { // INSERT + UPDATE + *(*uintptr)(unsafe.Pointer(bp /* a1 */)) = aRec + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_INSERT) + if bPatchset == 0 { + sessionSkipRecord(tls, bp /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aExist, *(*uintptr)(unsafe.Pointer(bp /* a1 */))) + } else if op1 == SQLITE_DELETE { // DELETE + INSERT + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aExist, uintptr(0), aRec, uintptr(0)) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } + } else if op2 == SQLITE_UPDATE { // UPDATE + UPDATE + *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)) = aExist + *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */)) = aRec + + if bPatchset == 0 { + sessionSkipRecord(tls, bp+16 /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + sessionSkipRecord(tls, bp+24 /* &a2 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aRec, aExist, *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)), *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */))) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } else { // UPDATE + DELETE + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_DELETE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aRec, aExist) + } + } + + if pNew != 0 { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */))) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } + + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Add all changes in the changeset traversed by the iterator passed as +// the first argument to the changegroup hash tables. +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:211740:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + // var aRec uintptr at bp, 8 + + // var nRec int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + var pTab uintptr = uintptr(0) + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, uintptr(0)) { + // var zNew uintptr at bp+16, 8 + + // var nCol int32 at bp+24, 4 + + // var op int32 at bp+28, 4 + + var iHash int32 + // var bIndirect int32 at bp+32, 4 + + // var pChange uintptr at bp+48, 8 + + var pExist uintptr = uintptr(0) + var pp uintptr + + if (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = SQLITE_ERROR + break + } + + Xsqlite3changeset_op(tls, pIter, bp+16 /* &zNew */, bp+24 /* &nCol */, bp+28 /* &op */, bp+32 /* &bIndirect */) + if !(pTab != 0) || (Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (*SessionTable)(unsafe.Pointer(pTab)).FzName) != 0) { + // Search the list for a matching table + var nNew int32 = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)))) + // var abPK uintptr at bp+40, 8 + + Xsqlite3changeset_pk(tls, pIter, bp+40 /* &abPK */, uintptr(0)) + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (nNew+1)) { + break + } + } + if !(pTab != 0) { + var ppTab uintptr + + pTab = Xsqlite3_malloc64(tls, (uint64(((uint64(unsafe.Sizeof(SessionTable{})) + uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + uint64(nNew)) + uint64(1)))) + if !(pTab != 0) { + rc = SQLITE_NOMEM + break + } + libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 24 /* nCol */)) + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = (pTab + 1*56) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = ((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (uint64(nNew + 1))) + + // The new object must be linked on to the end of the list, not + // simply added to the start of it. This is to ensure that the + // tables within the output of sqlite3changegroup_output() are in + // the right order. + for ppTab = (pGrp + 8 /* &.pList */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } else if ((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) || (libc.Xmemcmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) != 0) { + rc = SQLITE_SCHEMA + break + } + } + + if sessionGrowHash(tls, uintptr(0), (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { + rc = SQLITE_NOMEM + break + } + iHash = int32(sessionChangeHash(tls, + pTab, (libc.Bool32(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0) && (*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE))), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + // Search for existing entry. If found, remove it from the hash table. + // Code below may link it back in. + for pp = ((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = (*(*uintptr)(unsafe.Pointer(pp)) + 24 /* &.pNext */) { + var bPkOnly1 int32 = 0 + var bPkOnly2 int32 = 0 + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + bPkOnly1 = (libc.Bool32(int32((*SessionChange)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pp))))).Fop) == SQLITE_DELETE)) + bPkOnly2 = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE)) + } + if sessionChangeEqual(tls, pTab, bPkOnly1, (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp /* aRec */))) != 0 { + pExist = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry-- + break + } + } + + rc = sessionChangeMerge(tls, pTab, bRebase, + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 28 /* op */)), *(*int32)(unsafe.Pointer(bp + 32 /* bIndirect */)), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+48 /* &pChange */) + if rc != 0 { + break + } + if *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) != 0 { + (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)))).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + } + } + + if rc == SQLITE_OK { + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// Serialize a changeset (or patchset) based on all changesets (or patchsets) +// added to the changegroup object passed as the first argument. +// +// If xOutput is not NULL, then the changeset/patchset is returned to the +// user via one or more calls to xOutput, as with the other streaming +// interfaces. +// +// Or, if xOutput is NULL, then (*ppOut) is populated with a pointer to a +// buffer containing the output changeset before this function returns. In +// this case (*pnOut) is set to the size of the output buffer in bytes. It +// is the responsibility of the caller to free the output buffer using +// sqlite3_free() when it is no longer required. +// +// If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite +// error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut) +// are both set to 0 before returning. +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211863:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var pTab uintptr + + // Create the serialized output changeset based on the contents of the + // hash tables attached to the SessionTable objects in list p->pList. + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + var i int32 + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry == 0 { + continue + } + + sessionAppendTableHdr(tls, bp /* &buf */, (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch, pTab, bp+16 /* &rc */) + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).Fop, bp+16 /* &rc */) + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+16 /* &rc */) + sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+16 /* &rc */) + if ((*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 + } + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Allocate a new, empty, sqlite3_changegroup. +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:211914:16: */ + var rc int32 = SQLITE_OK // Return code + var p uintptr // New object + p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) + if p == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Sqlite3_changegroup{}))) + } + *(*uintptr)(unsafe.Pointer(pp)) = p + return rc +} + +// Add the changeset currently stored in buffer pData, size nData bytes, +// to changeset-group p. +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:211931:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nData, pData) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Obtain a buffer containing a changeset representing the concatenation +// of all changesets added to the group so far. +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:211947:16: */ + return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) +} + +// Streaming versions of changegroup_add(). +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:211958:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Streaming versions of changegroup_output(). +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:211977:16: */ + return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Delete a changegroup object. +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:211988:17: */ + if pGrp != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, pGrp) + } +} + +// Combine two changesets together. +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211998:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nLeft, pLeft) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nRight, pRight) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), pnOut, ppOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Streaming version of sqlite3changeset_concat(). +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212027:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputA, pInA) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputB, pInB) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xOutput, pOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Buffers a1 and a2 must both contain a sessions module record nCol +// fields in size. This function appends an nCol sessions module +// record to buffer pBuf that is a copy of a1, except that for +// each field that is undefined in a1[], swap in the field from a2[]. +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:212066:13: */ + sessionBufferGrow(tls, pBuf, (int64(n1 + n2)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var i int32 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + for i = 0; i < nCol; i++ { + var nn1 int32 = sessionSerialLen(tls, a1) + var nn2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0) || (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) { + libc.Xmemcpy(tls, pOut, a2, uint64(nn2)) + pOut += uintptr(nn2) + } else { + libc.Xmemcpy(tls, pOut, a1, uint64(nn1)) + pOut += uintptr(nn1) + } + a1 += uintptr(nn1) + a2 += uintptr(nn2) + } + + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + + } +} + +// This function is called when rebasing a local UPDATE change against one +// or more remote UPDATE changes. The aRec/nRec buffer contains the current +// old.* and new.* records for the change. The rebase buffer (a single +// record) is in aChange/nChange. The rebased change is appended to buffer +// pBuf. +// +// Rebasing the UPDATE involves: +// +// * Removing any changes to fields for which the corresponding field +// in the rebase buffer is set to "replaced" (type 0xFF). If this +// means the UPDATE change updates no fields, nothing is appended +// to the output buffer. +// +// * For each field modified by the local change for which the +// corresponding field in the rebase buffer is not "undefined" (0x00) +// or "replaced" (0xFF), the old.* value is replaced by the value +// in the rebase buffer. +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:212115:13: */ + sessionBufferGrow(tls, pBuf, (int64((2 + nRec) + nChange)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var bData int32 = 0 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + var i int32 + var a1 uintptr = aRec + var a2 uintptr = aChange + + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(SQLITE_UPDATE) + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect) + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) == 0) { + if !(int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i)))) != 0) && (*(*U8)(unsafe.Pointer(a1)) != 0) { + bData = 1 + } + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else if int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF { + bData = 1 + libc.Xmemcpy(tls, pOut, a2, uint64(n2)) + pOut += uintptr(n2) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + if bData != 0 { + a2 = aChange + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF) { + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + } + } +} + +// pIter is configured to iterate through a changeset. This function rebases +// that changeset according to the current configuration of the rebaser +// object passed as the first argument. If no error occurs and argument xOutput +// is not NULL, then the changeset is returned to the caller by invoking +// xOutput zero or more times and SQLITE_OK returned. Or, if xOutput is NULL, +// then (*ppOut) is set to point to a buffer containing the rebased changeset +// before this function returns. In this case (*pnOut) is set to the size of +// the buffer in bytes. It is the responsibility of the caller to eventually +// free the (*ppOut) buffer using sqlite3_free(). +// +// If an error occurs, an SQLite error code is returned. If ppOut and +// pnOut are not NULL, then the two output parameters are set to 0 before +// returning. +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212183:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp /* aRec */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)) = 0 + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + var pTab uintptr = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 16 /* sOut */)) = SessionBuffer{} + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, bp+12 /* &bNew */) { + var pChange uintptr = uintptr(0) + var bDone int32 = 0 + + if *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) != 0 { + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + for pTab = (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_stricmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zTab) { + break + } + } + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + + // A patchset may not be rebased + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR + } + + // Append a table header to the output for this new table + sessionAppendByte(tls, bp+16 /* &sOut */, func() uint8 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), bp+32 /* &rc */) + sessionAppendVarint(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, (int32(libc.Xstrlen(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab)) + 1), bp+32 /* &rc */) + } + + if (pTab != 0) && (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) { + var iHash int32 = int32(sessionChangeHash(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + for pChange = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)); pChange != 0; pChange = (*SessionChange)(unsafe.Pointer(pChange)).FpNext { + if sessionChangeEqual(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), 0, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord) != 0 { + break + } + } + } + + if pChange != 0 { + + switch (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop { + case SQLITE_INSERT: + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_UPDATE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + } + break + fallthrough + + case SQLITE_UPDATE: + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_DELETE { + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)) = *(*uintptr)(unsafe.Pointer(bp /* aRec */)) + sessionSkipRecord(tls, bp+40 /* &pCsr */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_INSERT), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)), (int32(int64(*(*int32)(unsafe.Pointer(bp + 8 /* nRec */))) - ((int64(*(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */))) - int64(*(*uintptr)(unsafe.Pointer(bp /* aRec */)))) / 1))), + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + } else { + sessionAppendPartialUpdate(tls, bp+16 /* &sOut */, pIter, + *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + break + fallthrough + + default: + + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_DELETE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + break + } + } + + if bDone == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + if ((*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf = 0 + } + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0 { + break + } + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + libc.Xmemset(tls, bp+16 /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Create a new rebaser object. +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:212315:16: */ + var rc int32 = SQLITE_OK + var pNew uintptr + + pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_rebaser{}))) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_rebaser{}))) + } + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Call this one or more times to configure a rebaser. +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:212332:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator opened on pData/nData + var rc int32 // Return code + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nRebase, pRebase) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), (p /* &.grp */), 1) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212349:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start(tls, bp /* &pIter */, nIn, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), uintptr(0), uintptr(0), pnOut, ppOut) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212368:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Destroy a rebaser object +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:212389:17: */ + if p != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, p) + } +} + +// Global configuration +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:212399:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_CONFIG_STRMSIZE: + { + var pInt uintptr = pArg + if *(*int32)(unsafe.Pointer(pInt)) > 0 { + sessions_strm_chunk_size = *(*int32)(unsafe.Pointer(pInt)) + } + *(*int32)(unsafe.Pointer(pInt)) = sessions_strm_chunk_size + break + + } + default: + rc = SQLITE_MISUSE + break + } + return rc +} + //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -166972,9 +173085,6 @@ type Fts5Global1 = struct { FpCsr uintptr } /* sqlite3.c:213118:9 */ -//************* End of dbpage.c ********************************************* -//************* Begin file sqlite3session.c ********************************* - //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -167804,7 +173914,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+37278 /* "fts5: parser sta..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+38631 /* "fts5: parser sta..." */, 0) //******* End %stack_overflow code ******************************************* (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument var @@ -168127,7 +174237,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+37306 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) + pParse, ts+38659 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) //*********** End %syntax_error code ***************************************** (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument variable @@ -168428,7 +174538,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+37337 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+38690 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } @@ -168502,7 +174612,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 37344 /* "wrong number of ..." */ + var zErr uintptr = ts + 38697 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -168669,7 +174779,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 900 /* "" */ + return ts + 915 /* "" */ } // Implementation of snippet() function. @@ -168696,7 +174806,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 37394 /* "wrong number of ..." */ + var zErr uintptr = ts + 38747 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -169038,13 +175148,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 defer tls.Free(96) *(*[3]Builtin)(unsafe.Pointer(bp /* aBuiltin */)) = [3]Builtin{ - {FzFunc: ts + 37442 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 38795 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5SnippetFunction}))}, - {FzFunc: ts + 37450 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 38803 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5HighlightFunction}))}, - {FzFunc: ts + 37460 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 38813 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5Bm25Function}))}, } @@ -169538,7 +175648,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+8061 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+8076 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -169717,7 +175827,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, ts+37465 /* "prefix" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+38818 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 @@ -169744,14 +175854,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+37472 /* "malformed prefix..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38825 /* "malformed prefix..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+37503 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) + ts+38856 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -169762,7 +175872,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37536 /* "prefix length ou..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38889 /* "prefix length ou..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -169775,7 +175885,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37573 /* "tokenize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+38926 /* "tokenize" */, 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 /* &rc */, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nArg)))) @@ -169784,7 +175894,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+37582 /* "multiple tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38935 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { @@ -169803,7 +175913,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37615 /* "parse error in t..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38968 /* "parse error in t..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, @@ -169818,14 +175928,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37649 /* "content" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+39002 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37657 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39010 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = 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 /* &rc */, ts+37689 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40 /* &rc */, ts+39042 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } @@ -169833,9 +175943,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37695 /* "content_rowid" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+39048 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37709 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39062 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, zArg, -1) @@ -169843,9 +175953,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+37747 /* "columnsize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+39100 /* "columnsize" */, 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+37758 /* "malformed column..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39111 /* "malformed column..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) @@ -169853,21 +175963,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+6992 /* "detail" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+7007 /* "detail" */, zCmd, nCmd) == 0 { *(*[4]Fts5Enum)(unsafe.Pointer(bp + 48 /* aDetail */)) = [4]Fts5Enum{ - {FzName: ts + 19256 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 19261 /* "full" */}, - {FzName: ts + 37793 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, + {FzName: ts + 19271 /* "none" */, FeVal: FTS5_DETAIL_NONE}, + {FzName: ts + 19276 /* "full" */}, + {FzName: ts + 39146 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } if libc.AssignPtrInt32(bp+40 /* rc */, fts5ConfigSetEnum(tls, bp+48 /* &aDetail[0] */, zArg, (pConfig+92 /* &.eDetail */))) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37801 /* "malformed detail..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39154 /* "malformed detail..." */, 0) } return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37832 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39185 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) return SQLITE_ERROR } @@ -169931,15 +176041,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+24849 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+10282 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37860 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) + if (0 == Xsqlite3_stricmp(tls, zCol, ts+24864 /* "rank" */)) || + (0 == Xsqlite3_stricmp(tls, zCol, ts+10297 /* "rowid" */)) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39213 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) rc = SQLITE_ERROR } else if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, ts+37890 /* "unindexed" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+39243 /* "unindexed" */) { *(*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+37900 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39253 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) rc = SQLITE_ERROR } } @@ -169957,13 +176067,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK *(*Fts5Buffer)(unsafe.Pointer(bp + 32 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+37931 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+39284 /* "T.%Q" */, 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 /* &rc */, bp+32 /* &buf */, ts+37936 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+39289 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+37943 /* ", T.c%d" */, libc.VaList(bp+16, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+39296 /* ", T.c%d" */, libc.VaList(bp+16, i)) } } } @@ -170011,8 +176121,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*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 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+24849 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37951 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+24864 /* "rank" */) == 0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39304 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } @@ -170045,7 +176155,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37980 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39333 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { @@ -170053,7 +176163,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), pzErr) } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)), pzErr) @@ -170078,19 +176188,19 @@ 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 + 37649 /* "content" */ + zTail = ts + 39002 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 38000 /* "docsize" */ + zTail = ts + 39353 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+40 /* &rc */, ts+38008 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+40 /* &rc */, ts+39361 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+10282 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+10297 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -170139,18 +176249,18 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+38019 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39372 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 16621 /* ", " */ + return ts + 16636 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+38035 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39388 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+38042, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+24849 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39395, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+24864 /* "rank" */)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -170290,7 +176400,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+38068 /* "pgsz" */) { + if 0 == Xsqlite3_stricmp(tls, zKey, ts+39421 /* "pgsz" */) { var pgsz int32 = 0 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -170300,7 +176410,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+38073 /* "hashsize" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39426 /* "hashsize" */) { var nHashSize int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -170310,7 +176420,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+38082 /* "automerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39435 /* "automerge" */) { var nAutomerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -170323,7 +176433,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+38092 /* "usermerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39445 /* "usermerge" */) { var nUsermerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -170333,7 +176443,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+38102 /* "crisismerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+39455 /* "crisismerge" */) { var nCrisisMerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -170349,7 +176459,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+24849 /* "rank" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+24864 /* "rank" */) { var zIn uintptr = Xsqlite3_value_text(tls, pVal) // var zRank uintptr at bp, 8 @@ -170376,7 +176486,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(52) defer tls.Free(52) - var zSelect uintptr = ts + 38114 /* "SELECT k, v FROM..." */ + var zSelect uintptr = ts + 39467 /* "SELECT k, v FROM..." */ var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK @@ -170399,7 +176509,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */))) { var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 0) var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 1) - if 0 == Xsqlite3_stricmp(tls, zK, ts+38146 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+39499 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 48 /* bDummy */)) = 0 @@ -170414,7 +176524,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+38154, /* "invalid fts5 fil..." */ + ts+39507, /* "invalid fts5 fil..." */ libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } @@ -170548,7 +176658,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+38219 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+39572 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -170561,20 +176671,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+38239 /* "fts5: syntax err..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+39592 /* "fts5: syntax err..." */, 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+38270 /* "OR" */, uint64(2)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+39623 /* "OR" */, uint64(2)) == 0) { tok = FTS5_OR } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+38273 /* "NOT" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+39626 /* "NOT" */, uint64(3)) == 0) { tok = FTS5_NOT } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34350 /* "AND" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34365 /* "AND" */, uint64(3)) == 0) { tok = FTS5_AND } break @@ -172547,9 +178657,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli bp := tls.Alloc(16) defer tls.Free(16) - if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+38277 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { + if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+39630 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { sqlite3Fts5ParseError(tls, - pParse, ts+37306 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) + pParse, ts+38659 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -172565,7 +178675,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+38282 /* "expected integer..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp)) + pParse, ts+39635 /* "expected integer..." */, 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')) @@ -172662,7 +178772,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+23011 /* "no such column: ..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+23026 /* "no such column: ..." */, libc.VaList(bp, z)) } else { pRet = fts5ParseColset(tls, pParse, pColset, iCol) } @@ -172758,7 +178868,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE { (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+38311 /* "fts5: column que..." */, 0) + ts+39664 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -172942,12 +179052,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+38364, /* "fts5: %s queries..." */ + ts+39717, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 38414 /* "phrase" */ + return ts + 39767 /* "phrase" */ } - return ts + 38277 /* "NEAR" */ + return ts + 39630 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -173061,7 +179171,7 @@ func fts5PrintfAppend(tls *libc.TLS, zApp uintptr, zFmt uintptr, va uintptr) uin zNew = Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap if (zApp != 0) && (zNew != 0) { - var zNew2 uintptr = Xsqlite3_mprintf(tls, ts+6801 /* "%s%s" */, libc.VaList(bp, zApp, zNew)) + var zNew2 uintptr = Xsqlite3_mprintf(tls, ts+6816 /* "%s%s" */, libc.VaList(bp, zApp, zNew)) Xsqlite3_free(tls, zNew) zNew = zNew2 } @@ -173083,7 +179193,7 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var i int32 var iTerm int32 - zRet = fts5PrintfAppend(tls, zRet, ts+38421 /* "%s " */, libc.VaList(bp, zNearsetCmd)) + zRet = fts5PrintfAppend(tls, zRet, ts+39774 /* "%s " */, libc.VaList(bp, zNearsetCmd)) if zRet == uintptr(0) { return uintptr(0) } @@ -173091,13 +179201,13 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var aiCol uintptr = (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset + 4 /* &.aiCol */ var nCol int32 = (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol if nCol == 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38425 /* "-col %d " */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+39778 /* "-col %d " */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(aiCol)))) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+38434 /* "-col {%d" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+39787 /* "-col {%d" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) for i = 1; i < (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol; i++ { - zRet = fts5PrintfAppend(tls, zRet, ts+38443 /* " %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) + zRet = fts5PrintfAppend(tls, zRet, ts+39796 /* " %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) } - zRet = fts5PrintfAppend(tls, zRet, ts+38447 /* "} " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39800 /* "} " */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -173105,13 +179215,13 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38450 /* "-near %d " */, libc.VaList(bp+32, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+39803 /* "-near %d " */, libc.VaList(bp+32, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } } - zRet = fts5PrintfAppend(tls, zRet, ts+38460 /* "--" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39813 /* "--" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -173119,22 +179229,22 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((pNear + 24 /* &.apPhrase */) + uintptr(i)*8)) - zRet = fts5PrintfAppend(tls, zRet, ts+38463 /* " {" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39816 /* " {" */, 0) for iTerm = 0; (zRet != 0) && (iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm); iTerm++ { var zTerm uintptr = (*Fts5ExprTerm)(unsafe.Pointer((pPhrase + 32 /* &.aTerm */) + uintptr(iTerm)*32)).FzTerm - zRet = fts5PrintfAppend(tls, zRet, ts+6801 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+6816 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { if iTerm == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 12911 /* " " */ + return ts + 12926 /* " " */ }(), zTerm)) if (*Fts5ExprTerm)(unsafe.Pointer((pPhrase+32 /* &.aTerm */)+uintptr(iTerm)*32)).FbPrefix != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+21561 /* "*" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+21576 /* "*" */, 0) } } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+30989 /* "}" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+31004 /* "}" */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -173146,27 +179256,27 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var i int32 switch (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType { case FTS5_AND: - zOp = ts + 34350 /* "AND" */ + zOp = ts + 34365 /* "AND" */ break fallthrough case FTS5_NOT: - zOp = ts + 38273 /* "NOT" */ + zOp = ts + 39626 /* "NOT" */ break fallthrough default: - zOp = ts + 38270 /* "OR" */ + zOp = ts + 39623 /* "OR" */ break } - zRet = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+56, zOp)) + zRet = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+56, zOp)) for i = 0; (zRet != 0) && (i < (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FnChild); i++ { var z uintptr = fts5ExprPrintTcl(tls, pConfig, zNearsetCmd, *(*uintptr)(unsafe.Pointer((pExpr + 48 /* &.apChild */) + uintptr(i)*8))) if !(z != 0) { Xsqlite3_free(tls, zRet) zRet = uintptr(0) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+38466 /* " [%z]" */, libc.VaList(bp+64, z)) + zRet = fts5PrintfAppend(tls, zRet, ts+39819 /* " [%z]" */, libc.VaList(bp+64, z)) } } } @@ -173180,7 +179290,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s var zRet uintptr = uintptr(0) if (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == 0 { - return Xsqlite3_mprintf(tls, ts+38472 /* "\"\"" */, 0) + return Xsqlite3_mprintf(tls, ts+39825 /* "\"\"" */, 0) } else if ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_STRING) || ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_TERM) { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FpNear var i int32 @@ -173190,23 +179300,23 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s var ii int32 var pColset uintptr = (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset if (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38475 /* "{" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39828 /* "{" */, 0) } for ii = 0; ii < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; ii++ { - zRet = fts5PrintfAppend(tls, zRet, ts+6801, /* "%s%s" */ + zRet = fts5PrintfAppend(tls, zRet, ts+6816, /* "%s%s" */ libc.VaList(bp, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(*(*int32)(unsafe.Pointer((pColset + 4 /* &.aiCol */) + uintptr(ii)*4)))*8)), func() uintptr { if ii == ((*Fts5Colset)(unsafe.Pointer(pColset)).FnCol - 1) { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 12911 /* " " */ + return ts + 12926 /* " " */ }())) } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+38477 /* "%s : " */, libc.VaList(bp+16, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+39830 /* "%s : " */, libc.VaList(bp+16, func() uintptr { if (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol > 1 { - return ts + 30989 /* "}" */ + return ts + 31004 /* "}" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) } if zRet == uintptr(0) { @@ -173215,7 +179325,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38483 /* "NEAR(" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39836 /* "NEAR(" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -173224,7 +179334,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((pNear + 24 /* &.apPhrase */) + uintptr(i)*8)) if i != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+12911 /* " " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+12926 /* " " */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -173232,11 +179342,11 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s for iTerm = 0; iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; iTerm++ { var zTerm uintptr = fts5ExprTermPrint(tls, ((pPhrase + 32 /* &.aTerm */) + uintptr(iTerm)*32)) if zTerm != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+6801 /* "%s%s" */, libc.VaList(bp+24, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+6816 /* "%s%s" */, libc.VaList(bp+24, func() uintptr { if iTerm == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 38489 /* " + " */ + return ts + 39842 /* " + " */ }(), zTerm)) Xsqlite3_free(tls, zTerm) } @@ -173248,7 +179358,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+38493 /* ", %d)" */, libc.VaList(bp+40, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+39846 /* ", %d)" */, libc.VaList(bp+40, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } @@ -173260,16 +179370,16 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s switch (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType { case FTS5_AND: - zOp = ts + 24058 /* " AND " */ + zOp = ts + 24073 /* " AND " */ break fallthrough case FTS5_NOT: - zOp = ts + 38499 /* " NOT " */ + zOp = ts + 39852 /* " NOT " */ break fallthrough default: - zOp = ts + 38505 /* " OR " */ + zOp = ts + 37518 /* " OR " */ break } @@ -173281,23 +179391,23 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } else { var e int32 = (*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((pExpr + 48 /* &.apChild */) + uintptr(i)*8)))).FeType var b int32 = (libc.Bool32(((e != FTS5_STRING) && (e != FTS5_TERM)) && (e != FTS5_EOF))) - zRet = fts5PrintfAppend(tls, zRet, ts+38510, /* "%s%s%z%s" */ + zRet = fts5PrintfAppend(tls, zRet, ts+39858, /* "%s%s%z%s" */ libc.VaList(bp+48, func() uintptr { if i == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } return zOp }(), func() uintptr { if b != 0 { - return ts + 24064 /* "(" */ + return ts + 24079 /* "(" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), z, func() uintptr { if b != 0 { - return ts + 6872 /* ")" */ + return ts + 6887 /* ")" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) } if zRet == uintptr(0) { @@ -173323,18 +179433,18 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT var rc int32 var i int32 var azConfig uintptr // Array of arguments for Fts5Config - var zNearsetCmd uintptr = ts + 38519 /* "nearset" */ + var zNearsetCmd uintptr = ts + 39867 /* "nearset" */ var nConfig int32 // Size of azConfig[] *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)) = uintptr(0) var iArg int32 = 1 if nArg < 1 { - *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = Xsqlite3_mprintf(tls, ts+38527, /* "wrong number of ..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = Xsqlite3_mprintf(tls, ts+39875, /* "wrong number of ..." */ libc.VaList(bp, func() uintptr { if bTcl != 0 { - return ts + 38568 /* "fts5_expr_tcl" */ + return ts + 39916 /* "fts5_expr_tcl" */ } - return ts + 38582 /* "fts5_expr" */ + return ts + 39930 /* "fts5_expr" */ }())) Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)), -1) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -173353,21 +179463,21 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT return } *(*uintptr)(unsafe.Pointer(azConfig)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(azConfig + 1*8)) = ts + 8551 /* "main" */ - *(*uintptr)(unsafe.Pointer(azConfig + 2*8)) = ts + 13506 /* "tbl" */ + *(*uintptr)(unsafe.Pointer(azConfig + 1*8)) = ts + 8566 /* "main" */ + *(*uintptr)(unsafe.Pointer(azConfig + 2*8)) = ts + 13521 /* "tbl" */ for i = 3; iArg < nArg; iArg++ { var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iArg)*8))) *(*uintptr)(unsafe.Pointer(azConfig + uintptr(libc.PostIncInt32(&i, 1))*8)) = func() uintptr { if z != 0 { return z } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() } zExpr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))) if zExpr == uintptr(0) { - zExpr = ts + 900 /* "" */ + zExpr = ts + 915 /* "" */ } rc = sqlite3Fts5ConfigParse(tls, pGlobal, db, nConfig, azConfig, bp+8 /* &pConfig */, bp+16 /* &zErr */) @@ -173377,7 +179487,7 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT if rc == SQLITE_OK { var zText uintptr if (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pExpr */)))).FpRoot)).FxNext == uintptr(0) { - zText = Xsqlite3_mprintf(tls, ts+900 /* "" */, 0) + zText = Xsqlite3_mprintf(tls, ts+915 /* "" */, 0) } else if bTcl != 0 { zText = fts5ExprPrintTcl(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)), zNearsetCmd, (*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pExpr */)))).FpRoot) } else { @@ -173424,13 +179534,13 @@ func fts5ExprIsAlnum(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { / if nArg != 1 { Xsqlite3_result_error(tls, pCtx, - ts+38592 /* "wrong number of ..." */, -1) + ts+39940 /* "wrong number of ..." */, -1) return } libc.Xmemset(tls, bp /* &aArr[0] */, 0, uint64(unsafe.Sizeof([32]U8{}))) - sqlite3Fts5UnicodeCatParse(tls, ts+38643 /* "L*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+38646 /* "N*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+38649 /* "Co" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+39991 /* "L*" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+39994 /* "N*" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+39997 /* "Co" */, bp /* &aArr[0] */) iCode = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal))) Xsqlite3_result_int(tls, pCtx, int32(*(*U8)(unsafe.Pointer(bp /* &aArr[0] */ + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode))))))) } @@ -173438,7 +179548,7 @@ func fts5ExprIsAlnum(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { / func fts5ExprFold(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:220197:13: */ if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, pCtx, - ts+38652 /* "wrong number of ..." */, -1) + ts+40000 /* "wrong number of ..." */, -1) } else { var iCode int32 var bRemoveDiacritics int32 = 0 @@ -173457,16 +179567,16 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* defer tls.Free(64) *(*[4]Fts5ExprFunc)(unsafe.Pointer(bp /* aFunc */)) = [4]Fts5ExprFunc{ - {Fz: ts + 38582 /* "fts5_expr" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 39930 /* "fts5_expr" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFunctionHr}))}, - {Fz: ts + 38568 /* "fts5_expr_tcl" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 39916 /* "fts5_expr_tcl" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFunctionTcl}))}, - {Fz: ts + 38700 /* "fts5_isalnum" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 40048 /* "fts5_isalnum" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprIsAlnum}))}, - {Fz: ts + 38713 /* "fts5_fold" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 40061 /* "fts5_fold" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFold}))}, } @@ -174883,7 +180993,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 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+38723 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+40071 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) } // If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls @@ -174971,7 +181081,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 /* &.pWriter */), Xsqlite3_mprintf(tls, - ts+38729, /* "REPLACE INTO '%q..." */ + ts+40077, /* "REPLACE INTO '%q..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return @@ -174999,7 +181109,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig var zSql uintptr = Xsqlite3_mprintf(tls, - ts+38780, /* "DELETE FROM '%q'..." */ + ts+40128, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if fts5IndexPrepareStmt(tls, p, (p+72 /* &.pDeleter */), zSql) != 0 { return @@ -175023,7 +181133,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 88 /* &.pIdxDeleter */), Xsqlite3_mprintf(tls, - ts+38829, /* "DELETE FROM '%q'..." */ + ts+40177, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -175231,7 +181341,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12 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 /* &.pDataVersion */), - Xsqlite3_mprintf(tls, ts+38869 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + Xsqlite3_mprintf(tls, ts+40217 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return int64(0) } @@ -176666,7 +182776,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:2 var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 96 /* &.pIdxSelect */), Xsqlite3_mprintf(tls, - ts+38892, /* "SELECT pgno FROM..." */ + ts+40240, /* "SELECT pgno FROM..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect @@ -177923,7 +184033,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { return (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -178264,7 +184374,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 /* &.pIdxWriter */), Xsqlite3_mprintf(tls, - ts+38976, /* "INSERT INTO '%q'..." */ + ts+40324, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -179481,7 +185591,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 fts5StructureInvalidate(tls, p) fts5IndexDiscardData(tls, p) libc.Xmemset(tls, bp /* &s */, 0, uint64(unsafe.Sizeof(Fts5Structure{}))) - fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+900 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+915 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -179502,13 +185612,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == 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 /* &rc */, ts+39033 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8 /* &rc */, ts+40381 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, - pConfig, ts+29381 /* "data" */, ts+39041 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+29396 /* "data" */, ts+40389 /* "id INTEGER PRIMA..." */, 0, pzErr) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+13502, /* "idx" */ - ts+39076, /* "segid, term, pgn..." */ + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+13517, /* "idx" */ + ts+40424, /* "segid, term, pgn..." */ 1, pzErr) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { @@ -179814,7 +185924,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3Fts5Put32(tls, bp /* &aCookie[0] */, iNew) rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, - ts+38723 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) + ts+40071 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)), bp /* &aCookie[0] */, 4, 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */))) @@ -179951,7 +186061,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+39120, /* "SELECT segid, te..." */ + ts+40468, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. @@ -180161,7 +186271,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks } else { (*Fts5Buffer)(unsafe.Pointer(bp + 16 /* &poslist */)).Fn = 0 fts5SegiterPoslist(tls, p, ((*(*uintptr)(unsafe.Pointer(bp /* pIter */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter */)))).FaFirst+1*4)).FiFirst)*120), uintptr(0), bp+16 /* &poslist */) - sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+39206 /* "\x00\x00\x00\x00" */) + sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+40554 /* "\x00\x00\x00\x00" */) for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fn, bp+32 /* &iOff */, bp+40 /* &iPos */) { var iCol int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) >> 32)) var iTokOff int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) & int64(0x7FFFFFFF))) @@ -180217,17 +186327,17 @@ func fts5DebugRowid(tls *libc.TLS, pRc uintptr, pBuf uintptr, iKey I64) { /* sql if *(*int32)(unsafe.Pointer(bp + 32 /* iSegid */)) == 0 { if iKey == int64(FTS5_AVERAGES_ROWID) { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39211 /* "{averages} " */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40559 /* "{averages} " */, 0) } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39223 /* "{structure}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40571 /* "{structure}" */, 0) } } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39235, /* "{%ssegid=%d h=%d..." */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40583, /* "{%ssegid=%d h=%d..." */ libc.VaList(bp, func() uintptr { if *(*int32)(unsafe.Pointer(bp + 36 /* bDlidx */)) != 0 { - return ts + 39261 /* "dlidx " */ + return ts + 40609 /* "dlidx " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), *(*int32)(unsafe.Pointer(bp + 32 /* iSegid */)), *(*int32)(unsafe.Pointer(bp + 40 /* iHeight */)), *(*int32)(unsafe.Pointer(bp + 44 /* iPgno */)))) } } @@ -180242,13 +186352,13 @@ func fts5DebugStructure(tls *libc.TLS, pRc uintptr, pBuf uintptr, p uintptr) { / for iLvl = 0; iLvl < (*Fts5Structure)(unsafe.Pointer(p)).FnLevel; iLvl++ { var pLvl uintptr = ((p + 24 /* &.aLevel */) + uintptr(iLvl)*16) sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, - ts+39268 /* " {lvl=%d nMerge=..." */, libc.VaList(bp, iLvl, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnMerge, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg)) + ts+40616 /* " {lvl=%d nMerge=..." */, libc.VaList(bp, iLvl, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnMerge, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg)) for iSeg = 0; iSeg < (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg; iSeg++ { var pSeg uintptr = ((*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FaSeg + uintptr(iSeg)*12) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39295, /* " {id=%d leaves=%..." */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40643, /* " {id=%d leaves=%..." */ libc.VaList(bp+24, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast)) } - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+30989 /* "}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+31004 /* "}" */, 0) } } @@ -180284,14 +186394,14 @@ func fts5DecodeAverages(tls *libc.TLS, pRc uintptr, pBuf uintptr, pBlob uintptr, defer tls.Free(24) var i int32 = 0 - var zSpace uintptr = ts + 900 /* "" */ + var zSpace uintptr = ts + 915 /* "" */ for i < nBlob { // var iVal U64 at bp+16, 8 i = i + (int32(sqlite3Fts5GetVarint(tls, (pBlob + uintptr(i)), bp+16 /* &iVal */))) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39318 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 16 /* iVal */))))) - zSpace = ts + 12911 /* " " */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40666 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 16 /* iVal */))))) + zSpace = ts + 12926 /* " " */ } } @@ -180309,7 +186419,7 @@ func fts5DecodePoslist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // var iVal int32 at bp+8, 4 iOff = iOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff)), bp+8 /* &iVal */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+38443 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* iVal */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39796 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* iVal */)))) } return iOff } @@ -180329,7 +186439,7 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in if n > 0 { iOff = int32(sqlite3Fts5GetVarint(tls, a, bp+32 /* &iDocid */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39323 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40671 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) } for iOff < n { // var nPos int32 at bp+40, 4 @@ -180337,11 +186447,11 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // var bDel int32 at bp+44, 4 iOff = iOff + (fts5GetPoslistSize(tls, (a + uintptr(iOff)), bp+40 /* &nPos */, bp+44 /* &bDel */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39332 /* " nPos=%d%s" */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(bp + 40 /* nPos */)), func() uintptr { + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40680 /* " nPos=%d%s" */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(bp + 40 /* nPos */)), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 44 /* bDel */)) != 0 { - return ts + 21561 /* "*" */ + return ts + 21576 /* "*" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) iOff = iOff + (fts5DecodePoslist(tls, pRc, pBuf, (a + uintptr(iOff)), func() int32 { if (n - iOff) < (*(*int32)(unsafe.Pointer(bp + 40 /* nPos */))) { @@ -180354,7 +186464,7 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in iOff = iOff + (int32(sqlite3Fts5GetVarint(tls, (a + uintptr(iOff)), bp+48 /* &iDelta */))) *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)) += *(*I64)(unsafe.Pointer(bp + 48 /* iDelta */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39323 /* " id=%lld" */, libc.VaList(bp+24, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40671 /* " id=%lld" */, libc.VaList(bp+24, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) } } @@ -180380,7 +186490,7 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr var iRowid I64 = int64(0) for i < nData { - var zApp uintptr = ts + 900 /* "" */ + var zApp uintptr = ts + 915 /* "" */ // var iVal U64 at bp+16, 8 i = i + (int32(sqlite3Fts5GetVarint(tls, (pData + uintptr(i)), bp+16 /* &iVal */))) @@ -180390,13 +186500,13 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr i++ if (i < nData) && (int32(*(*U8)(unsafe.Pointer(pData + uintptr(i)))) == 0x00) { i++ - zApp = ts + 39343 /* "+" */ + zApp = ts + 40691 /* "+" */ } else { - zApp = ts + 21561 /* "*" */ + zApp = ts + 21576 /* "*" */ } } - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+39345 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40693 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) } } @@ -180503,7 +186613,7 @@ __5: goto __7 } sqlite3Fts5BufferAppendPrintf(tls, bp+64 /* &rc */, bp+48, /* &s */ - ts+39353 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiRowid)) + ts+40701 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiRowid)) goto __6 __6: fts5DlidxLvlNext(tls, bp+88 /* &lvl */) @@ -180558,7 +186668,7 @@ __16: (*Fts5Buffer)(unsafe.Pointer(bp + 136 /* &term */)).Fn = *(*int32)(unsafe.Pointer(bp + 164 /* nKeep */)) sqlite3Fts5BufferAppendBlob(tls, bp+64 /* &rc */, bp+136 /* &term */, uint32(*(*int32)(unsafe.Pointer(bp + 156 /* nAppend */))), (a + uintptr(iOff))) sqlite3Fts5BufferAppendPrintf(tls, - bp+64 /* &rc */, bp+48 /* &s */, ts+39363 /* " term=%.*s" */, libc.VaList(bp+16, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fp)) + bp+64 /* &rc */, bp+48 /* &s */, ts+40711 /* " term=%.*s" */, libc.VaList(bp+16, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fp)) iOff = iOff + (*(*int32)(unsafe.Pointer(bp + 156 /* nAppend */))) // Figure out where the doclist for this term ends @@ -180597,7 +186707,7 @@ __12: if !(n < 4) { goto __21 } - sqlite3Fts5BufferSet(tls, bp+64 /* &rc */, bp+48 /* &s */, 7, ts+39374 /* "corrupt" */) + sqlite3Fts5BufferSet(tls, bp+64 /* &rc */, bp+48 /* &s */, 7, ts+40722 /* "corrupt" */) goto decode_out goto __22 __21: @@ -180719,7 +186829,7 @@ __39: iOff1 = iOff1 + (*(*int32)(unsafe.Pointer(bp + 188 /* nByte */))) sqlite3Fts5BufferAppendPrintf(tls, - bp+64 /* &rc */, bp+48 /* &s */, ts+39363 /* " term=%.*s" */, libc.VaList(bp+32, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fp)) + bp+64 /* &rc */, bp+48 /* &s */, ts+40711 /* " term=%.*s" */, libc.VaList(bp+32, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fp)) iOff1 = iOff1 + (fts5DecodeDoclist(tls, bp+64 /* &rc */, bp+48 /* &s */, (a + uintptr(iOff1)), (iEnd - iOff1))) goto __32 __33: @@ -180751,16 +186861,16 @@ __41: func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:227717:13: */ var zArg uintptr if nArg == 0 { - Xsqlite3_result_error(tls, pCtx, ts+39382 /* "should be: fts5_..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+40730 /* "should be: fts5_..." */, -1) } else { zArg = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))) - if 0 == Xsqlite3_stricmp(tls, zArg, ts+39419 /* "segment" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+40767 /* "segment" */) { var iRowid I64 var segid int32 var pgno int32 if nArg != 3 { Xsqlite3_result_error(tls, pCtx, - ts+39427 /* "should be: fts5_..." */, -1) + ts+40775 /* "should be: fts5_..." */, -1) } else { segid = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) pgno = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal + 2*8))) @@ -180769,7 +186879,7 @@ func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { } } else { Xsqlite3_result_error(tls, pCtx, - ts+39474 /* "first arg to fts..." */, -1) + ts+40822 /* "first arg to fts..." */, -1) } } } @@ -180782,13 +186892,13 @@ func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { // SQLite error code is returned instead. func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:227757:12: */ var rc int32 = Xsqlite3_create_function(tls, - db, ts+39518 /* "fts5_decode" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + db, ts+40866 /* "fts5_decode" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5DecodeFunction})), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+39530 /* "fts5_decode_none" */, 2, + db, ts+40878 /* "fts5_decode_none" */, 2, SQLITE_UTF8, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5DecodeFunction})), uintptr(0), uintptr(0)) @@ -180796,7 +186906,7 @@ func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:227757 if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+39547 /* "fts5_rowid" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + db, ts+40895 /* "fts5_rowid" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5RowidFunction})), uintptr(0), uintptr(0)) } @@ -181177,7 +187287,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+39558 /* "recursively defi..." */, 0) + ts+40906 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -181211,7 +187321,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } else if iCol >= 0 { bSeenMatch = 1 *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('M') - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6830 /* "%d" */, libc.VaList(bp, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6845 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) } @@ -181227,7 +187337,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6830 /* "%d" */, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6845 /* "%d" */, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -181570,7 +187680,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: rc = Xsqlite3_reset(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -181602,7 +187712,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, uint32(SQLITE_PREPARE_PERSISTENT), bp+8 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -181641,25 +187751,25 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 // // If SQLite a built-in statement cache, this wouldn't be a problem. rc = fts5PrepareStatement(tls, (pSorter /* &.pStmt */), pConfig, - ts+39597, /* "SELECT rowid, ra..." */ + ts+40945, /* "SELECT rowid, ra..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, func() uintptr { if zRankArgs != 0 { - return ts + 16621 /* ", " */ + return ts + 16636 /* ", " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 39652 /* "DESC" */ + return ts + 41000 /* "DESC" */ } - return ts + 39657 /* "ASC" */ + return ts + 41005 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -181710,13 +187820,13 @@ 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+39661 /* "reads" */, z, n)) { + if (n == 5) && (0 == Xsqlite3_strnicmp(tls, ts+41009 /* "reads" */, 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+6974 /* "id" */, z, n)) { + } else if (n == 2) && (0 == Xsqlite3_strnicmp(tls, ts+6989 /* "id" */, z, n)) { (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { // An unrecognized directive. Return an error message. - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+39667 /* "unknown special ..." */, libc.VaList(bp, n, z)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+41015 /* "unknown special ..." */, libc.VaList(bp, n, z)) rc = SQLITE_ERROR } @@ -181751,7 +187861,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+39695 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+41043 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, @@ -181783,7 +187893,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+39705 /* "no such function..." */, libc.VaList(bp+8, zRank)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+41053 /* "no such function..." */, libc.VaList(bp+8, zRank)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } } @@ -181815,14 +187925,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin *(*int32)(unsafe.Pointer(pCsr + 80 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+39726 /* "parse error in r..." */, libc.VaList(bp, z)) + ts+41074 /* "parse error in r..." */, 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 + 37460 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 38813 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -181888,7 +187998,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+39558 /* "recursively defi..." */, 0) + ts+40906 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -181934,7 +188044,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 900 /* "" */ + zText = ts + 915 /* "" */ __14: ; iCol = 0 @@ -182123,7 +188233,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+39759 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + ts+41107 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = SQLITE_ERROR goto __41 __40: @@ -182260,7 +188370,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql rc = (SQLITE_CORRUPT | (int32(1) << 8)) } else if (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) + ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) } } } @@ -182297,29 +188407,29 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) var rc int32 = SQLITE_OK *(*int32)(unsafe.Pointer(bp /* bError */)) = 0 - if 0 == Xsqlite3_stricmp(tls, ts+39795 /* "delete-all" */, zCmd) { + if 0 == Xsqlite3_stricmp(tls, ts+41143 /* "delete-all" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { fts5SetVtabError(tls, pTab, - ts+39806 /* "'delete-all' may..." */, 0) + ts+41154 /* "'delete-all' may..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+39886 /* "rebuild" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+41234 /* "rebuild" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE { fts5SetVtabError(tls, pTab, - ts+39894 /* "'rebuild' may no..." */, 0) + ts+41242 /* "'rebuild' may no..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+18856 /* "optimize" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+18871 /* "optimize" */, zCmd) { rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) - } else if 0 == Xsqlite3_stricmp(tls, ts+39950 /* "merge" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+41298 /* "merge" */, 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+39956 /* "integrity-check" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+41304 /* "integrity-check" */, zCmd) { var iArg int32 = Xsqlite3_value_int(tls, pVal) rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg) } else { @@ -182393,7 +188503,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // A "special" INSERT op. These are handled separately. var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*8))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && - (0 == Xsqlite3_stricmp(tls, ts+19395 /* "delete" */, z)) { + (0 == Xsqlite3_stricmp(tls, ts+19410 /* "delete" */, z)) { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*8))) @@ -182418,12 +188528,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // This is not suported. if (eType0 == SQLITE_INTEGER) && (fts5IsContentless(tls, pTab) != 0) { (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+39972, /* "cannot %s conten..." */ + ts+41320, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 22807 /* "UPDATE" */ + return ts + 22822 /* "UPDATE" */ } - return ts + 40009 /* "DELETE from" */ + return ts + 41357 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -183093,7 +189203,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+40021 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) + var zErr uintptr = Xsqlite3_mprintf(tls, ts+41369 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } else { @@ -183398,7 +189508,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+40042 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41390 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 16 /* &.x */ /* &.xCreate */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { @@ -183415,7 +189525,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg (*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = (pMod + 16 /* &.x */) if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+40064 /* "error in tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41412 /* "error in tokeniz..." */, 0) } } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls, @@ -183462,7 +189572,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s var ppApi uintptr _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+40095 /* "fts5_api_ptr" */) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+41443 /* "fts5_api_ptr" */) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = (pGlobal /* &.api */) } @@ -183473,7 +189583,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+40108 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, pCtx, ts+41456 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) } // Return true if zName is the extension on one of the shadow tables used @@ -183489,7 +189599,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 40199 /* "config" */, ts + 37649 /* "content" */, ts + 29381 /* "data" */, ts + 38000 /* "docsize" */, ts + 13502, /* "idx" */ + ts + 41547 /* "config" */, ts + 39002 /* "content" */, ts + 29396 /* "data" */, ts + 39353 /* "docsize" */, ts + 13517, /* "idx" */ } /* sqlite3.c:230593:21 */ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ @@ -183513,7 +189623,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ (*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+40206 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) + rc = Xsqlite3_create_module_v2(tls, db, ts+41554 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) if rc == SQLITE_OK { rc = sqlite3Fts5IndexInit(tls, db) } @@ -183531,13 +189641,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+40206 /* "fts5" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+41554 /* "fts5" */, 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+40211 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+41559 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5SourceIdFunc})), uintptr(0), uintptr(0)) } @@ -183603,20 +189713,20 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p if *(*uintptr)(unsafe.Pointer((p + 40 /* &.aStmt */) + uintptr(eStmt)*8)) == uintptr(0) { *(*[11]uintptr)(unsafe.Pointer(bp + 128 /* azStmt */)) = [11]uintptr{ - ts + 40226, /* "SELECT %s FROM %..." */ - ts + 40294, /* "SELECT %s FROM %..." */ - ts + 40363, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 41574, /* "SELECT %s FROM %..." */ + ts + 41642, /* "SELECT %s FROM %..." */ + ts + 41711, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 40396, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 40435, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 40475, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 40514, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 40555, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE + ts + 41744, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT + ts + 41783, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT + ts + 41823, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT + ts + 41862, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE + ts + 41903, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE - ts + 40594, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 41942, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 40636, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 40676, /* "SELECT %s FROM %..." */ // SCAN + ts + 41984, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG + ts + 42024, /* "SELECT %s FROM %..." */ // SCAN } var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr = uintptr(0) @@ -183683,7 +189793,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -183721,18 +189831,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+40699, /* "DROP TABLE IF EX..." */ + ts+42047, /* "DROP TABLE IF EX..." */ 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+40803, /* "DROP TABLE IF EX..." */ + ts+42151, /* "DROP TABLE IF EX..." */ 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+40841, /* "DROP TABLE IF EX..." */ + ts+42189, /* "DROP TABLE IF EX..." */ libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc @@ -183744,7 +189854,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+40879, /* "ALTER TABLE %Q.'..." */ + ts+42227, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -183756,14 +189866,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp /* rc */)) = sqlite3Fts5StorageSync(tls, pStorage) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+29381 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+13502 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+40199 /* "config" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+29396 /* "data" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+13517 /* "idx" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+41547 /* "config" */, zName) if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+38000 /* "docsize" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+39353 /* "docsize" */, zName) } if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+37649 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+39002 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -183777,17 +189887,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn var rc int32 *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+40921, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+42269, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { - return ts + 33996 /* " WITHOUT ROWID" */ + return ts + 34011 /* " WITHOUT ROWID" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+40951, /* "fts5: error crea..." */ + ts+42299, /* "fts5: error crea..." */ libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } @@ -183829,27 +189939,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+40995 /* "id INTEGER PRIMA..." */, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, ts+42343 /* "id INTEGER PRIMA..." */, 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+41018 /* ", c%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, (nDefn - iOff), (zDefn + uintptr(iOff)), ts+42366 /* ", c%d" */, libc.VaList(bp, i)) iOff = iOff + (int32(libc.Xstrlen(tls, (zDefn + uintptr(iOff))))) } - rc = sqlite3Fts5CreateTable(tls, pConfig, ts+37649 /* "content" */, zDefn, 0, pzErr) + rc = sqlite3Fts5CreateTable(tls, pConfig, ts+39002 /* "content" */, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+38000 /* "docsize" */, ts+41024 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+39353 /* "docsize" */, ts+42372 /* "id INTEGER PRIMA..." */, 0, pzErr) } if rc == SQLITE_OK { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+40199 /* "config" */, ts+41056 /* "k PRIMARY KEY, v" */, 1, pzErr) + pConfig, ts+41547 /* "config" */, ts+42404 /* "k PRIMARY KEY, v" */, 1, pzErr) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+38146 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+39499 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -184086,12 +190196,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: // Delete the contents of the %_data and %_docsize tables. rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+41073, /* "DELETE FROM %Q.'..." */ + ts+42421, /* "DELETE FROM %Q.'..." */ 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+41123, /* "DELETE FROM %Q.'..." */ + ts+42471, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -184101,7 +190211,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+38146 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+39499 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -184296,7 +190406,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+41152, /* "SELECT count(*) ..." */ + zSql = Xsqlite3_mprintf(tls, ts+42500, /* "SELECT count(*) ..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -184493,14 +190603,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // number of rows. if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { *(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+37649 /* "content" */, bp+48 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+39002 /* "content" */, bp+48 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) != (*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 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+38000 /* "docsize" */, bp+56 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+39353 /* "docsize" */, bp+56 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 56 /* nRow */)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) } @@ -184736,9 +190846,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, libc.Xmemcpy(tls, p /* &.aTokenChar */, 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+41184 /* "tokenchars" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42532 /* "tokenchars" */) { fts5AsciiAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+41195 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42543 /* "separators" */) { fts5AsciiAddExceptions(tls, p, zArg, 0) } else { rc = SQLITE_ERROR @@ -184978,7 +191088,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 + 41206 /* "L* N* Co" */ + var zCat uintptr = ts + 42554 /* "L* N* Co" */ var i int32 libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{}))) @@ -184991,7 +191101,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Search for a "categories" argument for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+41215 /* "categories" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42563 /* "categories" */) { zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*8)) } } @@ -185002,18 +191112,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+41226 /* "remove_diacritic..." */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42574 /* "remove_diacritic..." */) { 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+41184 /* "tokenchars" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42532 /* "tokenchars" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+41195 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42543 /* "separators" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 0) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+41215 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42563 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -185325,7 +191435,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 /* pUserdata */)) = uintptr(0) - var zBase uintptr = ts + 41244 /* "unicode61" */ + var zBase uintptr = ts + 42592 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -185478,7 +191588,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41254 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42602 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -185486,11 +191596,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41257 /* "ance" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42605 /* "ance" */, (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+41262 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42610 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -185498,7 +191608,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41267 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42615 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -185506,7 +191616,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41270 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42618 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -185514,11 +191624,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41273 /* "able" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42621 /* "able" */, (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+41278 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42626 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -185526,19 +191636,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41283 /* "ant" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42631 /* "ant" */, (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+41287 /* "ement" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42635 /* "ement" */, (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+41293 /* "ment" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42641 /* "ment" */, (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+41298 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42646 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185546,11 +191656,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41302 /* "ion" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42650 /* "ion" */, (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+41306 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42654 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -185558,7 +191668,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41309 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42657 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185566,11 +191676,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41313 /* "ate" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42661 /* "ate" */, (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+41317 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42665 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185578,7 +191688,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41321 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42669 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185586,7 +191696,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41325 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42673 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185594,7 +191704,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41329 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42677 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185611,24 +191721,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41333 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+41313 /* "ate" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42681 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42661 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'b': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41336 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+41339 /* "ble" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42684 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42687 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41343 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+41329 /* "ize" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42691 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42677 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } @@ -185644,137 +191754,137 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41346 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42694 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41313 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42661 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+41354 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+42702 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+41361 /* "tion" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+42709 /* "tion" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 4) } } break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41366 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42714 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41262 /* "ence" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42610 /* "ence" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41371 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42719 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41257 /* "ance" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42605 /* "ance" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } } break case 'e': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41376 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42724 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41329 /* "ize" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42677 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'g': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41381 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42729 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+18194 /* "log" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+18209 /* "log" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'l': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41386 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42734 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+41339 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+42687 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41390 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42738 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41254 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42602 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41395 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42743 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41298 /* "ent" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42646 /* "ent" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41401 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42749 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+41405 /* "e" */, uint64(1)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+42753 /* "e" */, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 1) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41407 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42755 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41321 /* "ous" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42669 /* "ous" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } } break case 'o': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41413 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42761 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41329 /* "ize" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42677 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41421 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42769 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41313 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42661 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41427 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42775 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41313 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42661 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 's': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41432 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42780 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41254 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42602 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41438 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42786 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41325 /* "ive" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42673 /* "ive" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41446 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42794 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41454 /* "ful" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42802 /* "ful" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+41458 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+42806 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+41321 /* "ous" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+42669 /* "ous" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } } break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41466 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42814 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41254 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42602 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41472 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42820 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41325 /* "ive" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42673 /* "ive" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+41478 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+42826 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+41339 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+42687 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -185790,16 +191900,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41485 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42833 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+41270 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+42618 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } } break case 's': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+41490 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42838 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -185807,21 +191917,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41495 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42843 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41270 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42618 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41501 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42849 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41270 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42618 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41454 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42802 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -185829,7 +191939,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41507 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42855 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 5) } @@ -185837,9 +191947,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+41513 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42861 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+41254 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42602 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -185855,12 +191965,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'e': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41519 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42867 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+41523 /* "ee" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+42871 /* "ee" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 2) } - } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+41526 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42874 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) ret = 1 @@ -185869,7 +191979,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+41529 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42877 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) ret = 1 @@ -186039,7 +192149,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+41533 /* "case_sensitive" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42881 /* "case_sensitive" */) { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { @@ -186229,22 +192339,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: defer tls.Free(128) *(*[4]BuiltinTokenizer)(unsafe.Pointer(bp /* aBuiltin */)) = [4]BuiltinTokenizer{ - {FzName: ts + 41244 /* "unicode61" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42592 /* "unicode61" */, 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 + 41548 /* "ascii" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42896 /* "ascii" */, 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 + 41554 /* "porter" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42902 /* "porter" */, 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 + 41561 /* "trigram" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 42909 /* "trigram" */, 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 @@ -187591,14 +193701,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8 /* &rc */, zType, -1) if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, ts+41569 /* "col" */) == 0 { + if Xsqlite3_stricmp(tls, zCopy, ts+42917 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL - } else if Xsqlite3_stricmp(tls, zCopy, ts+41573 /* "row" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+42921 /* "row" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW - } else if Xsqlite3_stricmp(tls, zCopy, ts+41577 /* "instance" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+42925 /* "instance" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41586 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42934 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) @@ -187645,19 +193755,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv defer tls.Free(36) *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azSchema */)) = [3]uintptr{ - ts + 41620, /* "CREATE TABlE voc..." */ - ts + 41660, /* "CREATE TABlE voc..." */ - ts + 41695, /* "CREATE TABlE voc..." */ + ts + 42968, /* "CREATE TABlE voc..." */ + ts + 43008, /* "CREATE TABlE voc..." */ + ts + 43043, /* "CREATE TABlE voc..." */ } var pRet uintptr = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK // Return code var bDb int32 - bDb = (libc.Bool32(((argc == 6) && (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4))) && (libc.Xmemcmp(tls, ts+25998 /* "temp" */, *(*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+26013 /* "temp" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0))) if (argc != 5) && (bDb == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+41738 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43086 /* "wrong number of ..." */, 0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR } else { var nByte int32 // Bytes of space to allocate @@ -187809,11 +193919,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+41771 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+43119 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } zSql = sqlite3Fts5Mprintf(tls, bp+64, /* &rc */ - ts+41802, /* "SELECT t.%Q FROM..." */ + ts+43150, /* "SELECT t.%Q FROM..." */ 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 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72 /* &pStmt */, uintptr(0)) @@ -187837,7 +193947,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+41853 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+43201 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } else { @@ -188125,7 +194235,7 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused if pLe != 0 { var zCopy uintptr = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = ts + 900 /* "" */ + zCopy = ts + 915 /* "" */ } (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm + 1)) @@ -188242,7 +194352,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:235171:12: */ var p uintptr = pGlobal - return Xsqlite3_create_module_v2(tls, db, ts+41879 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, ts+43227 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } var fts5Vocab = Sqlite3_module{ @@ -188358,7 +194468,7 @@ func stmtConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp rc = Xsqlite3_declare_vtab(tls, db, - ts+41889 /* "CREATE TABLE x(s..." */) + ts+43237 /* "CREATE TABLE x(s..." */) if rc == SQLITE_OK { pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Stmt_vtab{}))) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -188515,14 +194625,14 @@ var stmtModule = Sqlite3_module{ // xCreate func Xsqlite3StmtVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:235483:20: */ var rc int32 = SQLITE_OK - rc = Xsqlite3_create_module(tls, db, ts+41961 /* "sqlite_stmt" */, uintptr(unsafe.Pointer(&stmtModule)), uintptr(0)) + rc = Xsqlite3_create_module(tls, db, ts+43309 /* "sqlite_stmt" */, uintptr(unsafe.Pointer(&stmtModule)), uintptr(0)) return rc } //************* End of stmt.c *********************************************** // Return the source-id for this library func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:235516:23: */ - return ts + 41973 /* "2021-06-18 18:36..." */ + return ts + 43321 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -189460,5 +195570,5 @@ func init() { *(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128 /* .xGetLastError */)) = rbuVfsGetLastError // sqlite3.c:205300:5: } -var ts1 = "COMPILER=gcc-8.3.0\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00NONE\x00SHARED\x00RESERVED\x00PENDING\x00EXCLUSIVE\x00ERROR\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\x00TEST WR-LOCK %d %d %d (unix)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (unix)\n\x00LOCK %d %s ok (already held) (unix)\n\x00LOCK %d %s %s (unix)\n\x00ok\x00failed\x00UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n\x00CLOSE %-3d\n\x00TEST WR-LOCK %d %d %d (dotlock)\n\x00UNLOCK %d %d was %d pid=%d (dotlock)\n\x00READ %-3d %5d %7lld %llu\n\x00WRITE %-3d %5d %7lld %llu\n\x00OPENDIR %-3d %s\n\x00SYNC %-3d\n\x00full_fsync\x00DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n\x00%s-shm\x00readonly_shm\x00SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n\x00OPEN %-3d %s\n\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00OPENX %-3d %s 0%o\n\x00fsync\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\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\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\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.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\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, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\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_status\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\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\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\x00call flush_partition\x00%s clause should come after %s not before\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: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\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\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\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\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00 OR \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\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\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=gcc-8.3.0\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00NONE\x00SHARED\x00RESERVED\x00PENDING\x00EXCLUSIVE\x00ERROR\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\x00TEST WR-LOCK %d %d %d (unix)\n\x00LOCK %d %s was %s(%s,%d) pid=%d (unix)\n\x00LOCK %d %s ok (already held) (unix)\n\x00LOCK %d %s %s (unix)\n\x00ok\x00failed\x00UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n\x00CLOSE %-3d\n\x00TEST WR-LOCK %d %d %d (dotlock)\n\x00UNLOCK %d %d was %d pid=%d (dotlock)\n\x00READ %-3d %5d %7lld %llu\n\x00WRITE %-3d %5d %7lld %llu\n\x00OPENDIR %-3d %s\n\x00SYNC %-3d\n\x00full_fsync\x00DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n\x00%s-shm\x00readonly_shm\x00SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n\x00OPEN %-3d %s\n\x00psow\x00unix-excl\x00%s.lock\x00SQLITE_TMPDIR\x00TMPDIR\x00/var/tmp\x00/usr/tmp\x00/tmp\x00%s/etilqs_%llx%c\x00modeof\x00OPENX %-3d %s 0%o\n\x00fsync\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\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\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\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.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\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, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\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_status\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\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\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\x00call flush_partition\x00%s clause should come after %s not before\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: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\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\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\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\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\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\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/libtest/sqlite_windows_amd64.go b/libtest/sqlite_windows_amd64.go index a33ea2a..c168e04 100644 --- a/libtest/sqlite_windows_amd64.go +++ b/libtest/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 "" -pkgname sqlite3 -o libtest/sqlite_windows_amd64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -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 "" -pkgname sqlite3 -o libtest/sqlite_windows_amd64.go -trace-translation-units -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 testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT. package sqlite3 @@ -13492,11 +13492,14 @@ const ( SERVICE_WIN32 = 48 SERVICE_WIN32_OWN_PROCESS = 0x00000010 SERVICE_WIN32_SHARE_PROCESS = 0x00000020 + SESSIONS_STRM_CHUNK_SIZE = 64 SESSION_ABORTED = 0x06 SESSION_ALL_ACCESS = 983043 SESSION_ESTABLISHED = 0x03 + SESSION_MAX_BUFFER_SZ = 2147483391 SESSION_MODIFY_ACCESS = 0x2 SESSION_QUERY_ACCESS = 0x1 + SESSION_UPDATE_CACHE_SZ = 12 SETABORTPROC = 9 SETALLJUSTVALUES = 771 SETBREAK = 8 @@ -14228,6 +14231,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -14389,6 +14403,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_STMTVTAB = 1 @@ -14765,6 +14780,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -21733,7 +21750,7 @@ type Va_list = X__builtin_va_list /* :50:27 */ // This array looks large, but in a typical installation actually uses // only a handful of compile-time options, so most times this array is usually // rather short and uses little memory space. -var sqlite3azCompileOpt = [27]uintptr{ +var sqlite3azCompileOpt = [28]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl ts, /* "COMPILER=msvc-19..." */ @@ -21752,17 +21769,18 @@ var sqlite3azCompileOpt = [27]uintptr{ ts + 256, /* "ENABLE_PREUPDATE..." */ ts + 278, /* "ENABLE_RBU" */ ts + 289, /* "ENABLE_RTREE" */ - ts + 302, /* "ENABLE_SNAPSHOT" */ - ts + 318, /* "ENABLE_STAT4" */ - ts + 331, /* "ENABLE_STMTVTAB" */ - ts + 347, /* "ENABLE_UNLOCK_NO..." */ - ts + 368, /* "LIKE_DOESNT_MATC..." */ - ts + 392, /* "MUTEX_NOOP" */ - ts + 403, /* "SOUNDEX" */ - ts + 411, /* "SYSTEM_MALLOC" */ - ts + 425, /* "TEMP_STORE=1" */ - ts + 438, /* "TEST" */ - ts + 443, /* "THREADSAFE=1" */ + ts + 302, /* "ENABLE_SESSION" */ + ts + 317, /* "ENABLE_SNAPSHOT" */ + ts + 333, /* "ENABLE_STAT4" */ + ts + 346, /* "ENABLE_STMTVTAB" */ + ts + 362, /* "ENABLE_UNLOCK_NO..." */ + ts + 383, /* "LIKE_DOESNT_MATC..." */ + ts + 407, /* "MUTEX_NOOP" */ + ts + 418, /* "SOUNDEX" */ + ts + 426, /* "SYSTEM_MALLOC" */ + ts + 440, /* "TEMP_STORE=1" */ + ts + 453, /* "TEST" */ + ts + 458, /* "THREADSAFE=1" */ // END CODE GENERATED BY tool/mkctime.tcl } /* sqlite3.c:72:19 */ @@ -22088,7 +22106,7 @@ type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:45:27 */ // of the hash might be different from [SQLITE_SOURCE_ID].)^ // // See also: [sqlite_version()] and [sqlite_source_id()]. -var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 456 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ +var Xsqlite3_version = *(*[7]int8)(unsafe.Pointer(ts + 471 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -24639,6 +24657,495 @@ type Sqlite3_rtree_dbl = float64 /* sqlite3.c:11048:18 */ //******* End of sqlite3rtree.h ******** //******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type sqlite3_session = struct { + Fdb uintptr + FzDb uintptr + FbEnableSize int32 + FbEnable int32 + FbIndirect int32 + FbAutoAttach int32 + Frc int32 + _ [4]byte + FpFilterCtx uintptr + FxTableFilter uintptr + FnMalloc I64 + FnMaxChangesetSize I64 + FpZeroBlob uintptr + FpNext uintptr + FpTable uintptr + Fhook SessionHook +} /* sqlite3.c:11155:9 */ + +// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. + +//******* End of sqlite3rtree.h ******** +//******* Begin file sqlite3session.h ******** + +// Make sure we can call this stuff from C++. + +// CAPI3REF: Session Object Handle +// +// An instance of this object is a [session] that can be used to +// record changes to a database. +type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type sqlite3_changeset_iter = struct { + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + _ [4]byte + FabPK uintptr + FapValue uintptr +} /* sqlite3.c:11163:9 */ + +// CAPI3REF: Changeset Iterator Handle +// +// An instance of this object acts as a cursor for iterating +// over the elements of a [changeset] or [patchset]. +type Sqlite3_changeset_iter = sqlite3_changeset_iter /* sqlite3.c:11163:39 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type sqlite3_changegroup = struct { + Frc int32 + FbPatch int32 + FpList uintptr +} /* sqlite3.c:12015:9 */ + +// CAPI3REF: Changegroup Handle +// +// A changegroup is an object used to combine two or more +// [changesets] or [patchsets] +type Sqlite3_changegroup = sqlite3_changegroup /* sqlite3.c:12015:36 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type sqlite3_rebaser = struct{ Fgrp Sqlite3_changegroup } /* sqlite3.c:12579:9 */ + +// CAPI3REF: Flags for sqlite3changeset_apply_v2 +// +// The following flags may passed via the 9th parameter to +// [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +// +//
+//
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+// Usually, the sessions module encloses all operations performed by +// a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +// SAVEPOINT is committed if the changeset or patchset is successfully +// applied, or rolled back if an error occurs. Specifying this flag +// causes the sessions module to omit this savepoint. In this case, if the +// caller has an open transaction or savepoint when apply_v2() is called, +// it may revert the partially applied changeset by rolling it back. +// +//
SQLITE_CHANGESETAPPLY_INVERT
+// Invert the changeset before applying it. This is equivalent to inverting +// a changeset using sqlite3changeset_invert() before applying it. It is +// an error to specify this flag with a patchset. + +// CAPI3REF: Constants Passed To The Conflict Handler +// +// Values that may be passed as the second argument to a conflict-handler. +// +//
+//
SQLITE_CHANGESET_DATA
+// The conflict handler is invoked with CHANGESET_DATA as the second argument +// when processing a DELETE or UPDATE change if a row with the required +// PRIMARY KEY fields is present in the database, but one or more other +// (non primary-key) fields modified by the update do not contain the +// expected "before" values. +// +// The conflicting row, in this case, is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_NOTFOUND
+// The conflict handler is invoked with CHANGESET_NOTFOUND as the second +// argument when processing a DELETE or UPDATE change if a row with the +// required PRIMARY KEY fields is not present in the database. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
SQLITE_CHANGESET_CONFLICT
+// CHANGESET_CONFLICT is passed as the second argument to the conflict +// handler while processing an INSERT change if the operation would result +// in duplicate primary key values. +// +// The conflicting row in this case is the database row with the matching +// primary key. +// +//
SQLITE_CHANGESET_FOREIGN_KEY
+// If foreign key handling is enabled, and applying a changeset leaves the +// database in a state containing foreign key violations, the conflict +// handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +// exactly once before the changeset is committed. If the conflict handler +// returns CHANGESET_OMIT, the changes, including those that caused the +// foreign key constraint violation, are committed. Or, if it returns +// CHANGESET_ABORT, the changeset is rolled back. +// +// No current or conflicting row information is provided. The only function +// it is possible to call on the supplied sqlite3_changeset_iter handle +// is sqlite3changeset_fk_conflicts(). +// +//
SQLITE_CHANGESET_CONSTRAINT
+// If any other constraint violation occurs while applying a change (i.e. +// a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +// invoked with CHANGESET_CONSTRAINT as the second argument. +// +// There is no conflicting row in this case. The results of invoking the +// sqlite3changeset_conflict() API are undefined. +// +//
+ +// CAPI3REF: Constants Returned By The Conflict Handler +// +// A conflict handler callback must return one of the following three values. +// +//
+//
SQLITE_CHANGESET_OMIT
+// If a conflict handler returns this value no special action is taken. The +// change that caused the conflict is not applied. The session module +// continues to the next change in the changeset. +// +//
SQLITE_CHANGESET_REPLACE
+// This value may only be returned if the second argument to the conflict +// handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +// is not the case, any changes applied so far are rolled back and the +// call to sqlite3changeset_apply() returns SQLITE_MISUSE. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +// handler, then the conflicting row is either updated or deleted, depending +// on the type of change. +// +// If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +// handler, then the conflicting row is removed from the database and a +// second attempt to apply the change is made. If this second attempt fails, +// the original row is restored to the database before continuing. +// +//
SQLITE_CHANGESET_ABORT
+// If this value is returned, any changes applied so far are rolled back +// and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +//
+ +// CAPI3REF: Rebasing changesets +// EXPERIMENTAL +// +// Suppose there is a site hosting a database in state S0. And that +// modifications are made that move that database to state S1 and a +// changeset recorded (the "local" changeset). Then, a changeset based +// on S0 is received from another site (the "remote" changeset) and +// applied to the database. The database is then in state +// (S1+"remote"), where the exact state depends on any conflict +// resolution decisions (OMIT or REPLACE) made while applying "remote". +// Rebasing a changeset is to update it to take those conflict +// resolution decisions into account, so that the same conflicts +// do not have to be resolved elsewhere in the network. +// +// For example, if both the local and remote changesets contain an +// INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +// +// local: INSERT INTO t1 VALUES(1, 'v1'); +// remote: INSERT INTO t1 VALUES(1, 'v2'); +// +// and the conflict resolution is REPLACE, then the INSERT change is +// removed from the local changeset (it was overridden). Or, if the +// conflict resolution was "OMIT", then the local changeset is modified +// to instead contain: +// +// UPDATE t1 SET b = 'v2' WHERE a=1; +// +// Changes within the local changeset are rebased as follows: +// +//
+//
Local INSERT
+// This may only conflict with a remote INSERT. If the conflict +// resolution was OMIT, then add an UPDATE change to the rebased +// changeset. Or, if the conflict resolution was REPLACE, add +// nothing to the rebased changeset. +// +//
Local DELETE
+// This may conflict with a remote UPDATE or DELETE. In both cases the +// only possible resolution is OMIT. If the remote operation was a +// DELETE, then add no change to the rebased changeset. If the remote +// operation was an UPDATE, then the old.* fields of change are updated +// to reflect the new.* values in the UPDATE. +// +//
Local UPDATE
+// This may conflict with a remote UPDATE or DELETE. If it conflicts +// with a DELETE, and the conflict resolution was OMIT, then the update +// is changed into an INSERT. Any undefined values in the new.* record +// from the update change are filled in using the old.* values from +// the conflicting DELETE. Or, if the conflict resolution was REPLACE, +// the UPDATE change is simply omitted from the rebased changeset. +// +// If conflict is with a remote UPDATE and the resolution is OMIT, then +// the old.* values are rebased using the new.* values in the remote +// change. Or, if the resolution is REPLACE, then the change is copied +// into the rebased changeset with updates to columns also updated by +// the conflicting remote UPDATE removed. If this means no columns would +// be updated, the change is omitted. +//
+// +// A local change may be rebased against multiple remote changes +// simultaneously. If a single key is modified by multiple remote +// changesets, they are combined as follows before the local changeset +// is rebased: +// +//
    +//
  • If there has been one or more REPLACE resolutions on a +// key, it is rebased according to a REPLACE. +// +//
  • If there have been no REPLACE resolutions on a key, then +// the local changeset is rebased according to the most recent +// of the OMIT resolutions. +//
+// +// Note that conflict resolutions from multiple remote changesets are +// combined on a per-field basis, not per-row. This means that in the +// case of multiple remote UPDATE operations, some fields of a single +// local change may be rebased for REPLACE while others are rebased for +// OMIT. +// +// In order to rebase a local changeset, the remote changeset must first +// be applied to the local database using sqlite3changeset_apply_v2() and +// the buffer of rebase information captured. Then: +// +//
    +//
  1. An sqlite3_rebaser object is created by calling +// sqlite3rebaser_create(). +//
  2. The new object is configured with the rebase buffer obtained from +// sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +// If the local changeset is to be rebased against multiple remote +// changesets, then sqlite3rebaser_configure() should be called +// multiple times, in the same order that the multiple +// sqlite3changeset_apply_v2() calls were made. +//
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +//
  4. The sqlite3_rebaser object is deleted by calling +// sqlite3rebaser_delete(). +//
+type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ + +// CAPI3REF: Values for sqlite3session_config(). + +// Make sure we can call this stuff from C++. + //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** // 2014 May 31 @@ -24689,10 +25196,9 @@ type Fts5ExtensionApi1 = struct { FxPhraseNextColumn uintptr } /* sqlite3.c:12895:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -28051,7 +28557,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 463 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 478 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -28999,7 +29505,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+470 /* "20b:20e" */, libc.VaList(bp, bp+24 /* &nHr */, bp+28 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+485 /* "20b:20e" */, libc.VaList(bp, bp+24 /* &nHr */, bp+28 /* &nMn */)) != 2) { goto __9 } return 1 @@ -29036,13 +29542,13 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 // var s int32 at bp+48, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+478 /* "20c:20e" */, libc.VaList(bp, bp+40 /* &h */, bp+44 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+493 /* "20c:20e" */, libc.VaList(bp, bp+40 /* &h */, bp+44 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+486 /* "20e" */, libc.VaList(bp+24, bp+48 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+501 /* "20e" */, libc.VaList(bp+24, bp+48 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -29161,7 +29667,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+490 /* "40f-21a-21d" */, libc.VaList(bp, bp+32 /* &Y */, bp+36 /* &M */, bp+40 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+505 /* "40f-21a-21d" */, libc.VaList(bp, bp+32 /* &Y */, bp+36 /* &M */, bp+40 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -29242,7 +29748,7 @@ func parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) i return 0 } else if parseHhMmSs(tls, zDate, p) == 0 { return 0 - } else if (Xsqlite3StrICmp(tls, zDate, ts+502 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { + } else if (Xsqlite3StrICmp(tls, zDate, ts+517 /* "now" */) == 0) && (Xsqlite3NotPureFunc(tls, context) != 0) { return setDateTimeToCurrent(tls, context, p) } else if Xsqlite3AtoF(tls, zDate, bp /* &r */, Xsqlite3Strlen30(tls, zDate), uint8(SQLITE_UTF8)) > 0 { setRawDateNumber(tls, p, *(*float64)(unsafe.Pointer(bp /* r */))) @@ -29424,7 +29930,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite computeJD(tls, bp+40 /* &x */) *(*Time_t)(unsafe.Pointer(bp + 88 /* t */)) = (((*DateTime)(unsafe.Pointer(bp+40 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000))) if osLocaltime(tls, bp+88 /* &t */, bp /* &sLocal */) != 0 { - Xsqlite3_result_error(tls, pCtx, ts+506 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+521 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -29459,12 +29965,12 @@ var aXformType = [6]struct { FrLimit float64 FrXform float64 }{ - {FnName: U8(6), FzName: ts + 529 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, - {FnName: U8(6), FzName: ts + 536 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, - {FnName: U8(4), FzName: ts + 543 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, - {FnName: U8(3), FzName: ts + 548 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, - {FeType: U8(1), FnName: U8(5), FzName: ts + 552 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, - {FeType: U8(2), FnName: U8(4), FzName: ts + 558 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, + {FnName: U8(6), FzName: ts + 544 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, + {FnName: U8(6), FzName: ts + 551 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, + {FnName: U8(4), FzName: ts + 558 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, + {FnName: U8(3), FzName: ts + 563 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, + {FeType: U8(1), FnName: U8(5), FzName: ts + 567 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, + {FeType: U8(2), FnName: U8(4), FzName: ts + 573 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, } /* sqlite3.c:22795:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -29503,7 +30009,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Assuming the current time value is UTC (a.k.a. GMT), shift it to // show local time. - if (Xsqlite3_stricmp(tls, z, ts+563 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + if (Xsqlite3_stricmp(tls, z, ts+578 /* "localtime" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { computeJD(tls, p) *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (localtimeOffset(tls, p, pCtx, bp /* &rc */)) clearYMD_HMS_TZ(tls, p) @@ -29517,7 +30023,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Treat the current value of p->s as the number of // seconds since 1970. Convert to a real julian day number. - if (Xsqlite3_stricmp(tls, z, ts+573 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { + if (Xsqlite3_stricmp(tls, z, ts+588 /* "unixepoch" */) == 0) && ((*DateTime)(unsafe.Pointer(p)).FrawS != 0) { *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = (((*DateTime)(unsafe.Pointer(p)).Fs * 1000.0) + 210866760000000.0) if (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) >= 0.0) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < 464269060800000.0) { clearYMD_HMS_TZ(tls, p) @@ -29526,7 +30032,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+583 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { + } else if (Xsqlite3_stricmp(tls, z, ts+598 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { if int32((*DateTime)(unsafe.Pointer(p)).FtzSet) == 0 { var c1 Sqlite3_int64 computeJD(tls, p) @@ -29551,7 +30057,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // Move the date to the same time on the next occurrence of // weekday N where 0==Sunday, 1==Monday, and so forth. If the // date is already on the appropriate weekday, this is a no-op. - if ((((Xsqlite3_strnicmp(tls, z, ts+587 /* "weekday " */, 8) == 0) && + if ((((Xsqlite3_strnicmp(tls, z, ts+602 /* "weekday " */, 8) == 0) && (Xsqlite3AtoF(tls, (z+8), bp+8 /* &r */, Xsqlite3Strlen30(tls, (z+8)), uint8(SQLITE_UTF8)) > 0)) && ((float64(libc.AssignInt32(&n, int32(*(*float64)(unsafe.Pointer(bp + 8 /* r */)))))) == *(*float64)(unsafe.Pointer(bp + 8 /* r */)))) && (n >= 0)) && (*(*float64)(unsafe.Pointer(bp + 8 /* r */)) < float64(7)) { var Z Sqlite3_int64 @@ -29576,7 +30082,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i // // Move the date backwards to the beginning of the current day, // or month or year. - if Xsqlite3_strnicmp(tls, z, ts+596 /* "start of " */, 9) != 0 { + if Xsqlite3_strnicmp(tls, z, ts+611 /* "start of " */, 9) != 0 { break } if (!(int32((*DateTime)(unsafe.Pointer(p)).FvalidJD) != 0) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidYMD) != 0)) && !(int32((*DateTime)(unsafe.Pointer(p)).FvalidHMS) != 0) { @@ -29590,14 +30096,14 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidTZ = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) - if Xsqlite3_stricmp(tls, z, ts+552 /* "month" */) == 0 { + if Xsqlite3_stricmp(tls, z, ts+567 /* "month" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+558 /* "year" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+573 /* "year" */) == 0 { (*DateTime)(unsafe.Pointer(p)).FM = 1 (*DateTime)(unsafe.Pointer(p)).FD = 1 *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 - } else if Xsqlite3_stricmp(tls, z, ts+548 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+563 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -29818,7 +30324,7 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // var zBuf [100]int8 at bp+104, 100 computeYMD_HMS(tls, bp+56 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &zBuf[0] */, ts+606, /* "%04d-%02d-%02d %..." */ + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &zBuf[0] */, ts+621, /* "%04d-%02d-%02d %..." */ libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+104 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } @@ -29837,7 +30343,7 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+80, 100 computeHMS(tls, bp+32 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+636 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+651 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+80 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -29855,7 +30361,7 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // var zBuf [100]int8 at bp+80, 100 computeYMD(tls, bp+32 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+651 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FD)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+666 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FD)) Xsqlite3_result_text(tls, context, bp+80 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -29982,7 +30488,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FD)) j = j + (uint64(2)) break fallthrough @@ -29992,14 +30498,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+671 /* "%06.3f" */, libc.VaList(bp+16, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+686 /* "%06.3f" */, libc.VaList(bp+16, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+32, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+32, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fh)) j = j + (uint64(2)) break fallthrough @@ -30017,10 +30523,10 @@ __3: if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday wd = (int32((((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+48, (((nDay+7)-wd)/7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+48, (((nDay+7)-wd)/7))) j = j + (uint64(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+678 /* "%03d" */, libc.VaList(bp+64, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+693 /* "%03d" */, libc.VaList(bp+64, (nDay+1))) j = j + (uint64(3)) } break @@ -30029,19 +30535,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+683 /* "%.16g" */, libc.VaList(bp+80, (float64((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+698 /* "%.16g" */, libc.VaList(bp+80, (float64((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+96, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+96, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FM)) j = j + (uint64(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+112, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+112, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fm)) j = j + (uint64(2)) break fallthrough @@ -30055,7 +30561,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+666 /* "%02d" */, libc.VaList(bp+128, int32((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+128, int32((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough @@ -30068,7 +30574,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+689 /* "%04d" */, libc.VaList(bp+144, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+704 /* "%04d" */, libc.VaList(bp+144, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -30125,14 +30631,14 @@ func Xsqlite3RegisterDateTimeFunctions(tls *libc.TLS) { /* sqlite3.c:23404:21: * } var aDateTimeFuncs = [8]FuncDef{ - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 694 /* "julianday" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 704 /* "date" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 709 /* "time" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 714 /* "datetime" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 723 /* "strftime" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 732 /* "current_time" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 745 /* "current_timestam..." */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 763 /* "current_date" */}} /* sqlite3.c:23405:18 */ + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 709 /* "julianday" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 719 /* "date" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 724 /* "time" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 729 /* "datetime" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 738 /* "strftime" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 747 /* "current_time" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 760 /* "current_timestam..." */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 778 /* "current_date" */}} /* sqlite3.c:23405:18 */ //************* End of date.c *********************************************** //************* Begin file os.c ********************************************* @@ -30830,7 +31336,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p = libc.Xmalloc(tls, uint64(nByte)) if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+776 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+791 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -30868,7 +31374,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* if p == uintptr(0) { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+814, /* "failed memory re..." */ + ts+829, /* "failed memory re..." */ libc.VaList(bp, libc.X_msize(tls, pPrior), nByte)) } return p @@ -62528,8 +63034,8 @@ type Et_info = et_info /* sqlite3.c:28672:3 */ // The following table is searched linearly, so it is good to put the // most frequently used conversion types first. -var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 850 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 883 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ +var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 865 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 898 /* "-x0\x00X0" */)) /* sqlite3.c:28686:19 */ var fmtinfo = [23]Et_info{ {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(EtDECIMAL)}, {Ffmttype: int8('s'), Fflags: EtByte(4), Ftype: EtByte(EtSTRING)}, @@ -62783,7 +63289,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+890 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+905 /* "%" */, 1) goto __5 __11: ; @@ -63366,7 +63872,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 892 /* "NaN" */ + bufpt = ts + 907 /* "NaN" */ length = 3 goto __58 __127: @@ -63426,7 +63932,7 @@ __138: } bufpt = bp + 16 /* &buf[0] */ *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = prefix - libc.Xmemcpy(tls, (bp + 16 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+896 /* "Inf" */, uint64(4)) + libc.Xmemcpy(tls, (bp + 16 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+911 /* "Inf" */, uint64(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: @@ -63783,7 +64289,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 900 /* "" */ + bufpt = ts + 915 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -63912,9 +64418,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 901 /* "NULL" */ + return ts + 916 /* "NULL" */ } - return ts + 906 /* "(NULL)" */ + return ts + 921 /* "(NULL)" */ }() __220: ; @@ -64049,7 +64555,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+913 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+928 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -64064,7 +64570,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+915 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, ts+930 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) __247: ; __246: @@ -64127,7 +64633,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 927 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 942 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -64513,7 +65019,7 @@ func Xsqlite3DebugPrintf(tls *libc.TLS, zFormat uintptr, va uintptr) { /* sqlite Xsqlite3_str_vappendf(tls, bp+16 /* &acc */, zFormat, ap) _ = ap Xsqlite3StrAccumFinish(tls, bp+16 /* &acc */) - libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(1)), ts+936 /* "%s" */, libc.VaList(bp, bp+48 /* &zBuf[0] */)) + libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(1)), ts+951 /* "%s" */, libc.VaList(bp, bp+48 /* &zBuf[0] */)) libc.Xfflush(tls, libc.X__acrt_iob_func(tls, uint32(1))) } @@ -66344,7 +66850,7 @@ func compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) int32 { /* sqlite3.c var c int32 = 0 var i int32 // 012345678901234567 - var pow63 uintptr = ts + 939 /* "9223372036854775..." */ + var pow63 uintptr = ts + 954 /* "9223372036854775..." */ for i = 0; (c == 0) && (i < 18); i++ { c = ((int32(*(*int8)(unsafe.Pointer(zNum + uintptr((i * incr))))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10) } @@ -66994,7 +67500,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(16) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+958, /* "API call with %s..." */ + ts+973, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -67013,14 +67519,14 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ func Xsqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:33054:20: */ var magic U32 if db == uintptr(0) { - logBadConnection(tls, ts+901 /* "NULL" */) + logBadConnection(tls, ts+916 /* "NULL" */) return 0 } magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if magic != SQLITE_MAGIC_OPEN { if Xsqlite3SafetyCheckSickOrOk(tls, db) != 0 { - logBadConnection(tls, ts+1003 /* "unopened" */) + logBadConnection(tls, ts+1018 /* "unopened" */) } return 0 } else { @@ -67034,7 +67540,7 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic if ((magic != U32(SQLITE_MAGIC_SICK)) && (magic != SQLITE_MAGIC_OPEN)) && (magic != SQLITE_MAGIC_BUSY) { - logBadConnection(tls, ts+1012 /* "invalid" */) + logBadConnection(tls, ts+1027 /* "invalid" */) return 0 } else { return 1 @@ -67562,186 +68068,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 0 */ ts + 1020, /* "Savepoint\x00" */ - /* 1 */ ts + 1031, /* "AutoCommit\x00" */ - /* 2 */ ts + 1043, /* "Transaction\x00" */ - /* 3 */ ts + 1056, /* "SorterNext\x00" */ - /* 4 */ ts + 1068, /* "Prev\x00" */ - /* 5 */ ts + 1074, /* "Next\x00" */ - /* 6 */ ts + 1080, /* "Checkpoint\x00" */ - /* 7 */ ts + 1092, /* "JournalMode\x00" */ - /* 8 */ ts + 1105, /* "Vacuum\x00" */ - /* 9 */ ts + 1113, /* "VFilter\x00iplan=r[..." */ - /* 10 */ ts + 1144, /* "VUpdate\x00data=r[P..." */ - /* 11 */ ts + 1166, /* "Goto\x00" */ - /* 12 */ ts + 1172, /* "Gosub\x00" */ - /* 13 */ ts + 1179, /* "InitCoroutine\x00" */ - /* 14 */ ts + 1194, /* "Yield\x00" */ - /* 15 */ ts + 1201, /* "MustBeInt\x00" */ - /* 16 */ ts + 1212, /* "Jump\x00" */ - /* 17 */ ts + 1218, /* "Once\x00" */ - /* 18 */ ts + 1224, /* "If\x00" */ - /* 19 */ ts + 1228, /* "Not\x00r[P2]= !r[P1..." */ - /* 20 */ ts + 1246, /* "IfNot\x00" */ - /* 21 */ ts + 1253, /* "IfNullRow\x00if P1...." */ - /* 22 */ ts + 1302, /* "SeekLT\x00key=r[P3@..." */ - /* 23 */ ts + 1322, /* "SeekLE\x00key=r[P3@..." */ - /* 24 */ ts + 1342, /* "SeekGE\x00key=r[P3@..." */ - /* 25 */ ts + 1362, /* "SeekGT\x00key=r[P3@..." */ - /* 26 */ ts + 1382, /* "IfNotOpen\x00if( !c..." */ - /* 27 */ ts + 1415, /* "IfNoHope\x00key=r[P..." */ - /* 28 */ ts + 1437, /* "NoConflict\x00key=r..." */ - /* 29 */ ts + 1461, /* "NotFound\x00key=r[P..." */ - /* 30 */ ts + 1483, /* "Found\x00key=r[P3@P..." */ - /* 31 */ ts + 1502, /* "SeekRowid\x00intkey..." */ - /* 32 */ ts + 1525, /* "NotExists\x00intkey..." */ - /* 33 */ ts + 1548, /* "Last\x00" */ - /* 34 */ ts + 1554, /* "IfSmaller\x00" */ - /* 35 */ ts + 1565, /* "SorterSort\x00" */ - /* 36 */ ts + 1577, /* "Sort\x00" */ - /* 37 */ ts + 1583, /* "Rewind\x00" */ - /* 38 */ ts + 1591, /* "IdxLE\x00key=r[P3@P..." */ - /* 39 */ ts + 1610, /* "IdxGT\x00key=r[P3@P..." */ - /* 40 */ ts + 1629, /* "IdxLT\x00key=r[P3@P..." */ - /* 41 */ ts + 1648, /* "IdxGE\x00key=r[P3@P..." */ - /* 42 */ ts + 1667, /* "RowSetRead\x00r[P3]..." */ - /* 43 */ ts + 1695, /* "Or\x00r[P3]=(r[P1] ..." */ - /* 44 */ ts + 1721, /* "And\x00r[P3]=(r[P1]..." */ - /* 45 */ ts + 1748, /* "RowSetTest\x00if r[..." */ - /* 46 */ ts + 1790, /* "Program\x00" */ - /* 47 */ ts + 1799, /* "FkIfZero\x00if fkct..." */ - /* 48 */ ts + 1832, /* "IfPos\x00if r[P1]>0..." */ - /* 49 */ ts + 1873, /* "IfNotZero\x00if r[P..." */ - /* 50 */ ts + 1917, /* "IsNull\x00if r[P1]=..." */ - /* 51 */ ts + 1947, /* "NotNull\x00if r[P1]..." */ - /* 52 */ ts + 1978, /* "Ne\x00IF r[P3]!=r[P..." */ - /* 53 */ ts + 1997, /* "Eq\x00IF r[P3]==r[P..." */ - /* 54 */ ts + 2016, /* "Gt\x00IF r[P3]>r[P1..." */ - /* 55 */ ts + 2034, /* "Le\x00IF r[P3]<=r[P..." */ - /* 56 */ ts + 2053, /* "Lt\x00IF r[P3]=r[P..." */ - /* 58 */ ts + 2090, /* "ElseEq\x00" */ - /* 59 */ ts + 2098, /* "DecrJumpZero\x00if ..." */ - /* 60 */ ts + 2135, /* "IncrVacuum\x00" */ - /* 61 */ ts + 2147, /* "VNext\x00" */ - /* 62 */ ts + 2154, /* "Init\x00Start at P2" */ - /* 63 */ ts + 2171, /* "PureFunc\x00r[P3]=f..." */ - /* 64 */ ts + 2201, /* "Function\x00r[P3]=f..." */ - /* 65 */ ts + 2231, /* "Return\x00" */ - /* 66 */ ts + 2239, /* "EndCoroutine\x00" */ - /* 67 */ ts + 2253, /* "HaltIfNull\x00if r[..." */ - /* 68 */ ts + 2283, /* "Halt\x00" */ - /* 69 */ ts + 2289, /* "Integer\x00r[P2]=P1" */ - /* 70 */ ts + 2306, /* "Int64\x00r[P2]=P4" */ - /* 71 */ ts + 2321, /* "String\x00r[P2]='P4..." */ - /* 72 */ ts + 2348, /* "Null\x00r[P2..P3]=N..." */ - /* 73 */ ts + 2368, /* "SoftNull\x00r[P1]=N..." */ - /* 74 */ ts + 2388, /* "Blob\x00r[P2]=P4 (l..." */ - /* 75 */ ts + 2411, /* "Variable\x00r[P2]=p..." */ - /* 76 */ ts + 2443, /* "Move\x00r[P2@P3]=r[..." */ - /* 77 */ ts + 2466, /* "Copy\x00r[P2@P3+1]=..." */ - /* 78 */ ts + 2493, /* "SCopy\x00r[P2]=r[P1..." */ - /* 79 */ ts + 2511, /* "IntCopy\x00r[P2]=r[..." */ - /* 80 */ ts + 2531, /* "ChngCntRow\x00outpu..." */ - /* 81 */ ts + 2555, /* "ResultRow\x00output..." */ - /* 82 */ ts + 2581, /* "CollSeq\x00" */ - /* 83 */ ts + 2590, /* "AddImm\x00r[P1]=r[P..." */ - /* 84 */ ts + 2612, /* "RealAffinity\x00" */ - /* 85 */ ts + 2626, /* "Cast\x00affinity(r[..." */ - /* 86 */ ts + 2647, /* "Permutation\x00" */ - /* 87 */ ts + 2660, /* "Compare\x00r[P1@P3]..." */ - /* 88 */ ts + 2690, /* "IsTrue\x00r[P2] = c..." */ - /* 89 */ ts + 2735, /* "ZeroOrNull\x00r[P2]..." */ - /* 90 */ ts + 2764, /* "Offset\x00r[P3] = s..." */ - /* 91 */ ts + 2797, /* "Column\x00r[P3]=PX" */ - /* 92 */ ts + 2813, /* "Affinity\x00affinit..." */ - /* 93 */ ts + 2841, /* "MakeRecord\x00r[P3]..." */ - /* 94 */ ts + 2874, /* "Count\x00r[P2]=coun..." */ - /* 95 */ ts + 2894, /* "ReadCookie\x00" */ - /* 96 */ ts + 2906, /* "SetCookie\x00" */ - /* 97 */ ts + 2917, /* "ReopenIdx\x00root=P..." */ - /* 98 */ ts + 2942, /* "OpenRead\x00root=P2..." */ - /* 99 */ ts + 2966, /* "OpenWrite\x00root=P..." */ - /* 100 */ ts + 2991, /* "OpenDup\x00" */ - /* 101 */ ts + 3000, /* "OpenAutoindex\x00nC..." */ - /* 102 */ ts + 3025, /* "BitAnd\x00r[P3]=r[P..." */ - /* 103 */ ts + 3050, /* "BitOr\x00r[P3]=r[P1..." */ - /* 104 */ ts + 3074, /* "ShiftLeft\x00r[P3]=..." */ - /* 105 */ ts + 3103, /* "ShiftRight\x00r[P3]..." */ - /* 106 */ ts + 3133, /* "Add\x00r[P3]=r[P1]+..." */ - /* 107 */ ts + 3155, /* "Subtract\x00r[P3]=r..." */ - /* 108 */ ts + 3182, /* "Multiply\x00r[P3]=r..." */ - /* 109 */ ts + 3209, /* "Divide\x00r[P3]=r[P..." */ - /* 110 */ ts + 3234, /* "Remainder\x00r[P3]=..." */ - /* 111 */ ts + 3262, /* "Concat\x00r[P3]=r[P..." */ - /* 112 */ ts + 3287, /* "OpenEphemeral\x00nC..." */ - /* 113 */ ts + 3312, /* "BitNot\x00r[P2]= ~r..." */ - /* 114 */ ts + 3333, /* "SorterOpen\x00" */ - /* 115 */ ts + 3345, /* "SequenceTest\x00if(..." */ - /* 116 */ ts + 3389, /* "String8\x00r[P2]='P..." */ - /* 117 */ ts + 3408, /* "OpenPseudo\x00P3 co..." */ - /* 118 */ ts + 3439, /* "Close\x00" */ - /* 119 */ ts + 3446, /* "ColumnsUsed\x00" */ - /* 120 */ ts + 3459, /* "SeekScan\x00Scan-ah..." */ - /* 121 */ ts + 3493, /* "SeekHit\x00set P2<=..." */ - /* 122 */ ts + 3521, /* "Sequence\x00r[P2]=c..." */ - /* 123 */ ts + 3553, /* "NewRowid\x00r[P2]=r..." */ - /* 124 */ ts + 3574, /* "Insert\x00intkey=r[..." */ - /* 125 */ ts + 3605, /* "RowCell\x00" */ - /* 126 */ ts + 3614, /* "Delete\x00" */ - /* 127 */ ts + 3622, /* "ResetCount\x00" */ - /* 128 */ ts + 3634, /* "SorterCompare\x00if..." */ - /* 129 */ ts + 3683, /* "SorterData\x00r[P2]..." */ - /* 130 */ ts + 3705, /* "RowData\x00r[P2]=da..." */ - /* 131 */ ts + 3724, /* "Rowid\x00r[P2]=rowi..." */ - /* 132 */ ts + 3742, /* "NullRow\x00" */ - /* 133 */ ts + 3751, /* "SeekEnd\x00" */ - /* 134 */ ts + 3760, /* "IdxInsert\x00key=r[..." */ - /* 135 */ ts + 3780, /* "SorterInsert\x00key..." */ - /* 136 */ ts + 3803, /* "IdxDelete\x00key=r[..." */ - /* 137 */ ts + 3826, /* "DeferredSeek\x00Mov..." */ - /* 138 */ ts + 3869, /* "IdxRowid\x00r[P2]=r..." */ - /* 139 */ ts + 3890, /* "FinishSeek\x00" */ - /* 140 */ ts + 3902, /* "Destroy\x00" */ - /* 141 */ ts + 3911, /* "Clear\x00" */ - /* 142 */ ts + 3918, /* "ResetSorter\x00" */ - /* 143 */ ts + 3931, /* "CreateBtree\x00r[P2..." */ - /* 144 */ ts + 3970, /* "SqlExec\x00" */ - /* 145 */ ts + 3979, /* "ParseSchema\x00" */ - /* 146 */ ts + 3992, /* "LoadAnalysis\x00" */ - /* 147 */ ts + 4006, /* "DropTable\x00" */ - /* 148 */ ts + 4017, /* "DropIndex\x00" */ - /* 149 */ ts + 4028, /* "DropTrigger\x00" */ - /* 150 */ ts + 4041, /* "IntegrityCk\x00" */ - /* 151 */ ts + 4054, /* "RowSetAdd\x00rowset..." */ - /* 152 */ ts + 4081, /* "Real\x00r[P2]=P4" */ - /* 153 */ ts + 4095, /* "Param\x00" */ - /* 154 */ ts + 4102, /* "FkCounter\x00fkctr[..." */ - /* 155 */ ts + 4126, /* "MemMax\x00r[P1]=max..." */ - /* 156 */ ts + 4156, /* "OffsetLimit\x00if r..." */ - /* 157 */ ts + 4225, /* "AggInverse\x00accum..." */ - /* 158 */ ts + 4266, /* "AggStep\x00accum=r[..." */ - /* 159 */ ts + 4301, /* "AggStep1\x00accum=r..." */ - /* 160 */ ts + 4337, /* "AggValue\x00r[P3]=v..." */ - /* 161 */ ts + 4363, /* "AggFinal\x00accum=r..." */ - /* 162 */ ts + 4389, /* "Expire\x00" */ - /* 163 */ ts + 4397, /* "CursorLock\x00" */ - /* 164 */ ts + 4409, /* "CursorUnlock\x00" */ - /* 165 */ ts + 4423, /* "TableLock\x00iDb=P1..." */ - /* 166 */ ts + 4457, /* "VBegin\x00" */ - /* 167 */ ts + 4465, /* "VCreate\x00" */ - /* 168 */ ts + 4474, /* "VDestroy\x00" */ - /* 169 */ ts + 4484, /* "VOpen\x00" */ - /* 170 */ ts + 4491, /* "VColumn\x00r[P3]=vc..." */ - /* 171 */ ts + 4517, /* "VRename\x00" */ - /* 172 */ ts + 4526, /* "Pagecount\x00" */ - /* 173 */ ts + 4537, /* "MaxPgcnt\x00" */ - /* 174 */ ts + 4547, /* "Trace\x00" */ - /* 175 */ ts + 4554, /* "CursorHint\x00" */ - /* 176 */ ts + 4566, /* "ReleaseReg\x00relea..." */ - /* 177 */ ts + 4602, /* "Noop\x00" */ - /* 178 */ ts + 4608, /* "Explain\x00" */ - /* 179 */ ts + 4617, /* "Abortable\x00" */ + /* 0 */ ts + 1035, /* "Savepoint\x00" */ + /* 1 */ ts + 1046, /* "AutoCommit\x00" */ + /* 2 */ ts + 1058, /* "Transaction\x00" */ + /* 3 */ ts + 1071, /* "SorterNext\x00" */ + /* 4 */ ts + 1083, /* "Prev\x00" */ + /* 5 */ ts + 1089, /* "Next\x00" */ + /* 6 */ ts + 1095, /* "Checkpoint\x00" */ + /* 7 */ ts + 1107, /* "JournalMode\x00" */ + /* 8 */ ts + 1120, /* "Vacuum\x00" */ + /* 9 */ ts + 1128, /* "VFilter\x00iplan=r[..." */ + /* 10 */ ts + 1159, /* "VUpdate\x00data=r[P..." */ + /* 11 */ ts + 1181, /* "Goto\x00" */ + /* 12 */ ts + 1187, /* "Gosub\x00" */ + /* 13 */ ts + 1194, /* "InitCoroutine\x00" */ + /* 14 */ ts + 1209, /* "Yield\x00" */ + /* 15 */ ts + 1216, /* "MustBeInt\x00" */ + /* 16 */ ts + 1227, /* "Jump\x00" */ + /* 17 */ ts + 1233, /* "Once\x00" */ + /* 18 */ ts + 1239, /* "If\x00" */ + /* 19 */ ts + 1243, /* "Not\x00r[P2]= !r[P1..." */ + /* 20 */ ts + 1261, /* "IfNot\x00" */ + /* 21 */ ts + 1268, /* "IfNullRow\x00if P1...." */ + /* 22 */ ts + 1317, /* "SeekLT\x00key=r[P3@..." */ + /* 23 */ ts + 1337, /* "SeekLE\x00key=r[P3@..." */ + /* 24 */ ts + 1357, /* "SeekGE\x00key=r[P3@..." */ + /* 25 */ ts + 1377, /* "SeekGT\x00key=r[P3@..." */ + /* 26 */ ts + 1397, /* "IfNotOpen\x00if( !c..." */ + /* 27 */ ts + 1430, /* "IfNoHope\x00key=r[P..." */ + /* 28 */ ts + 1452, /* "NoConflict\x00key=r..." */ + /* 29 */ ts + 1476, /* "NotFound\x00key=r[P..." */ + /* 30 */ ts + 1498, /* "Found\x00key=r[P3@P..." */ + /* 31 */ ts + 1517, /* "SeekRowid\x00intkey..." */ + /* 32 */ ts + 1540, /* "NotExists\x00intkey..." */ + /* 33 */ ts + 1563, /* "Last\x00" */ + /* 34 */ ts + 1569, /* "IfSmaller\x00" */ + /* 35 */ ts + 1580, /* "SorterSort\x00" */ + /* 36 */ ts + 1592, /* "Sort\x00" */ + /* 37 */ ts + 1598, /* "Rewind\x00" */ + /* 38 */ ts + 1606, /* "IdxLE\x00key=r[P3@P..." */ + /* 39 */ ts + 1625, /* "IdxGT\x00key=r[P3@P..." */ + /* 40 */ ts + 1644, /* "IdxLT\x00key=r[P3@P..." */ + /* 41 */ ts + 1663, /* "IdxGE\x00key=r[P3@P..." */ + /* 42 */ ts + 1682, /* "RowSetRead\x00r[P3]..." */ + /* 43 */ ts + 1710, /* "Or\x00r[P3]=(r[P1] ..." */ + /* 44 */ ts + 1736, /* "And\x00r[P3]=(r[P1]..." */ + /* 45 */ ts + 1763, /* "RowSetTest\x00if r[..." */ + /* 46 */ ts + 1805, /* "Program\x00" */ + /* 47 */ ts + 1814, /* "FkIfZero\x00if fkct..." */ + /* 48 */ ts + 1847, /* "IfPos\x00if r[P1]>0..." */ + /* 49 */ ts + 1888, /* "IfNotZero\x00if r[P..." */ + /* 50 */ ts + 1932, /* "IsNull\x00if r[P1]=..." */ + /* 51 */ ts + 1962, /* "NotNull\x00if r[P1]..." */ + /* 52 */ ts + 1993, /* "Ne\x00IF r[P3]!=r[P..." */ + /* 53 */ ts + 2012, /* "Eq\x00IF r[P3]==r[P..." */ + /* 54 */ ts + 2031, /* "Gt\x00IF r[P3]>r[P1..." */ + /* 55 */ ts + 2049, /* "Le\x00IF r[P3]<=r[P..." */ + /* 56 */ ts + 2068, /* "Lt\x00IF r[P3]=r[P..." */ + /* 58 */ ts + 2105, /* "ElseEq\x00" */ + /* 59 */ ts + 2113, /* "DecrJumpZero\x00if ..." */ + /* 60 */ ts + 2150, /* "IncrVacuum\x00" */ + /* 61 */ ts + 2162, /* "VNext\x00" */ + /* 62 */ ts + 2169, /* "Init\x00Start at P2" */ + /* 63 */ ts + 2186, /* "PureFunc\x00r[P3]=f..." */ + /* 64 */ ts + 2216, /* "Function\x00r[P3]=f..." */ + /* 65 */ ts + 2246, /* "Return\x00" */ + /* 66 */ ts + 2254, /* "EndCoroutine\x00" */ + /* 67 */ ts + 2268, /* "HaltIfNull\x00if r[..." */ + /* 68 */ ts + 2298, /* "Halt\x00" */ + /* 69 */ ts + 2304, /* "Integer\x00r[P2]=P1" */ + /* 70 */ ts + 2321, /* "Int64\x00r[P2]=P4" */ + /* 71 */ ts + 2336, /* "String\x00r[P2]='P4..." */ + /* 72 */ ts + 2363, /* "Null\x00r[P2..P3]=N..." */ + /* 73 */ ts + 2383, /* "SoftNull\x00r[P1]=N..." */ + /* 74 */ ts + 2403, /* "Blob\x00r[P2]=P4 (l..." */ + /* 75 */ ts + 2426, /* "Variable\x00r[P2]=p..." */ + /* 76 */ ts + 2458, /* "Move\x00r[P2@P3]=r[..." */ + /* 77 */ ts + 2481, /* "Copy\x00r[P2@P3+1]=..." */ + /* 78 */ ts + 2508, /* "SCopy\x00r[P2]=r[P1..." */ + /* 79 */ ts + 2526, /* "IntCopy\x00r[P2]=r[..." */ + /* 80 */ ts + 2546, /* "ChngCntRow\x00outpu..." */ + /* 81 */ ts + 2570, /* "ResultRow\x00output..." */ + /* 82 */ ts + 2596, /* "CollSeq\x00" */ + /* 83 */ ts + 2605, /* "AddImm\x00r[P1]=r[P..." */ + /* 84 */ ts + 2627, /* "RealAffinity\x00" */ + /* 85 */ ts + 2641, /* "Cast\x00affinity(r[..." */ + /* 86 */ ts + 2662, /* "Permutation\x00" */ + /* 87 */ ts + 2675, /* "Compare\x00r[P1@P3]..." */ + /* 88 */ ts + 2705, /* "IsTrue\x00r[P2] = c..." */ + /* 89 */ ts + 2750, /* "ZeroOrNull\x00r[P2]..." */ + /* 90 */ ts + 2779, /* "Offset\x00r[P3] = s..." */ + /* 91 */ ts + 2812, /* "Column\x00r[P3]=PX" */ + /* 92 */ ts + 2828, /* "Affinity\x00affinit..." */ + /* 93 */ ts + 2856, /* "MakeRecord\x00r[P3]..." */ + /* 94 */ ts + 2889, /* "Count\x00r[P2]=coun..." */ + /* 95 */ ts + 2909, /* "ReadCookie\x00" */ + /* 96 */ ts + 2921, /* "SetCookie\x00" */ + /* 97 */ ts + 2932, /* "ReopenIdx\x00root=P..." */ + /* 98 */ ts + 2957, /* "OpenRead\x00root=P2..." */ + /* 99 */ ts + 2981, /* "OpenWrite\x00root=P..." */ + /* 100 */ ts + 3006, /* "OpenDup\x00" */ + /* 101 */ ts + 3015, /* "OpenAutoindex\x00nC..." */ + /* 102 */ ts + 3040, /* "BitAnd\x00r[P3]=r[P..." */ + /* 103 */ ts + 3065, /* "BitOr\x00r[P3]=r[P1..." */ + /* 104 */ ts + 3089, /* "ShiftLeft\x00r[P3]=..." */ + /* 105 */ ts + 3118, /* "ShiftRight\x00r[P3]..." */ + /* 106 */ ts + 3148, /* "Add\x00r[P3]=r[P1]+..." */ + /* 107 */ ts + 3170, /* "Subtract\x00r[P3]=r..." */ + /* 108 */ ts + 3197, /* "Multiply\x00r[P3]=r..." */ + /* 109 */ ts + 3224, /* "Divide\x00r[P3]=r[P..." */ + /* 110 */ ts + 3249, /* "Remainder\x00r[P3]=..." */ + /* 111 */ ts + 3277, /* "Concat\x00r[P3]=r[P..." */ + /* 112 */ ts + 3302, /* "OpenEphemeral\x00nC..." */ + /* 113 */ ts + 3327, /* "BitNot\x00r[P2]= ~r..." */ + /* 114 */ ts + 3348, /* "SorterOpen\x00" */ + /* 115 */ ts + 3360, /* "SequenceTest\x00if(..." */ + /* 116 */ ts + 3404, /* "String8\x00r[P2]='P..." */ + /* 117 */ ts + 3423, /* "OpenPseudo\x00P3 co..." */ + /* 118 */ ts + 3454, /* "Close\x00" */ + /* 119 */ ts + 3461, /* "ColumnsUsed\x00" */ + /* 120 */ ts + 3474, /* "SeekScan\x00Scan-ah..." */ + /* 121 */ ts + 3508, /* "SeekHit\x00set P2<=..." */ + /* 122 */ ts + 3536, /* "Sequence\x00r[P2]=c..." */ + /* 123 */ ts + 3568, /* "NewRowid\x00r[P2]=r..." */ + /* 124 */ ts + 3589, /* "Insert\x00intkey=r[..." */ + /* 125 */ ts + 3620, /* "RowCell\x00" */ + /* 126 */ ts + 3629, /* "Delete\x00" */ + /* 127 */ ts + 3637, /* "ResetCount\x00" */ + /* 128 */ ts + 3649, /* "SorterCompare\x00if..." */ + /* 129 */ ts + 3698, /* "SorterData\x00r[P2]..." */ + /* 130 */ ts + 3720, /* "RowData\x00r[P2]=da..." */ + /* 131 */ ts + 3739, /* "Rowid\x00r[P2]=rowi..." */ + /* 132 */ ts + 3757, /* "NullRow\x00" */ + /* 133 */ ts + 3766, /* "SeekEnd\x00" */ + /* 134 */ ts + 3775, /* "IdxInsert\x00key=r[..." */ + /* 135 */ ts + 3795, /* "SorterInsert\x00key..." */ + /* 136 */ ts + 3818, /* "IdxDelete\x00key=r[..." */ + /* 137 */ ts + 3841, /* "DeferredSeek\x00Mov..." */ + /* 138 */ ts + 3884, /* "IdxRowid\x00r[P2]=r..." */ + /* 139 */ ts + 3905, /* "FinishSeek\x00" */ + /* 140 */ ts + 3917, /* "Destroy\x00" */ + /* 141 */ ts + 3926, /* "Clear\x00" */ + /* 142 */ ts + 3933, /* "ResetSorter\x00" */ + /* 143 */ ts + 3946, /* "CreateBtree\x00r[P2..." */ + /* 144 */ ts + 3985, /* "SqlExec\x00" */ + /* 145 */ ts + 3994, /* "ParseSchema\x00" */ + /* 146 */ ts + 4007, /* "LoadAnalysis\x00" */ + /* 147 */ ts + 4021, /* "DropTable\x00" */ + /* 148 */ ts + 4032, /* "DropIndex\x00" */ + /* 149 */ ts + 4043, /* "DropTrigger\x00" */ + /* 150 */ ts + 4056, /* "IntegrityCk\x00" */ + /* 151 */ ts + 4069, /* "RowSetAdd\x00rowset..." */ + /* 152 */ ts + 4096, /* "Real\x00r[P2]=P4" */ + /* 153 */ ts + 4110, /* "Param\x00" */ + /* 154 */ ts + 4117, /* "FkCounter\x00fkctr[..." */ + /* 155 */ ts + 4141, /* "MemMax\x00r[P1]=max..." */ + /* 156 */ ts + 4171, /* "OffsetLimit\x00if r..." */ + /* 157 */ ts + 4240, /* "AggInverse\x00accum..." */ + /* 158 */ ts + 4281, /* "AggStep\x00accum=r[..." */ + /* 159 */ ts + 4316, /* "AggStep1\x00accum=r..." */ + /* 160 */ ts + 4352, /* "AggValue\x00r[P3]=v..." */ + /* 161 */ ts + 4378, /* "AggFinal\x00accum=r..." */ + /* 162 */ ts + 4404, /* "Expire\x00" */ + /* 163 */ ts + 4412, /* "CursorLock\x00" */ + /* 164 */ ts + 4424, /* "CursorUnlock\x00" */ + /* 165 */ ts + 4438, /* "TableLock\x00iDb=P1..." */ + /* 166 */ ts + 4472, /* "VBegin\x00" */ + /* 167 */ ts + 4480, /* "VCreate\x00" */ + /* 168 */ ts + 4489, /* "VDestroy\x00" */ + /* 169 */ ts + 4499, /* "VOpen\x00" */ + /* 170 */ ts + 4506, /* "VColumn\x00r[P3]=vc..." */ + /* 171 */ ts + 4532, /* "VRename\x00" */ + /* 172 */ ts + 4541, /* "Pagecount\x00" */ + /* 173 */ ts + 4552, /* "MaxPgcnt\x00" */ + /* 174 */ ts + 4562, /* "Trace\x00" */ + /* 175 */ ts + 4569, /* "CursorHint\x00" */ + /* 176 */ ts + 4581, /* "ReleaseReg\x00relea..." */ + /* 177 */ ts + 4617, /* "Noop\x00" */ + /* 178 */ ts + 4623, /* "Explain\x00" */ + /* 179 */ ts + 4632, /* "Abortable\x00" */ } /* sqlite3.c:33673:20 */ //************* End of opcodes.c ******************************************** @@ -68153,170 +68659,170 @@ type win_syscall = struct { // testing and sandboxing. The following array holds the names and pointers // to all overrideable system calls. var aSyscall = [80]win_syscall{ - {FzName: ts + 4628 /* "AreFileApisANSI" */, FpCurrent: 0}, + {FzName: ts + 4643 /* "AreFileApisANSI" */, FpCurrent: 0}, - {FzName: ts + 4644 /* "CharLowerW" */}, + {FzName: ts + 4659 /* "CharLowerW" */}, - {FzName: ts + 4655 /* "CharUpperW" */}, + {FzName: ts + 4670 /* "CharUpperW" */}, - {FzName: ts + 4666 /* "CloseHandle" */, FpCurrent: 0}, + {FzName: ts + 4681 /* "CloseHandle" */, FpCurrent: 0}, - {FzName: ts + 4678 /* "CreateFileA" */, FpCurrent: 0}, + {FzName: ts + 4693 /* "CreateFileA" */, FpCurrent: 0}, - {FzName: ts + 4690 /* "CreateFileW" */, FpCurrent: 0}, + {FzName: ts + 4705 /* "CreateFileW" */, FpCurrent: 0}, - {FzName: ts + 4702 /* "CreateFileMappin..." */, FpCurrent: 0}, + {FzName: ts + 4717 /* "CreateFileMappin..." */, FpCurrent: 0}, - {FzName: ts + 4721 /* "CreateFileMappin..." */, FpCurrent: 0}, + {FzName: ts + 4736 /* "CreateFileMappin..." */, FpCurrent: 0}, - {FzName: ts + 4740 /* "CreateMutexW" */, FpCurrent: 0}, + {FzName: ts + 4755 /* "CreateMutexW" */, FpCurrent: 0}, - {FzName: ts + 4753 /* "DeleteFileA" */, FpCurrent: 0}, + {FzName: ts + 4768 /* "DeleteFileA" */, FpCurrent: 0}, - {FzName: ts + 4765 /* "DeleteFileW" */, FpCurrent: 0}, + {FzName: ts + 4780 /* "DeleteFileW" */, FpCurrent: 0}, - {FzName: ts + 4777 /* "FileTimeToLocalF..." */}, + {FzName: ts + 4792 /* "FileTimeToLocalF..." */}, - {FzName: ts + 4801 /* "FileTimeToSystem..." */}, + {FzName: ts + 4816 /* "FileTimeToSystem..." */}, - {FzName: ts + 4822 /* "FlushFileBuffers" */, FpCurrent: 0}, + {FzName: ts + 4837 /* "FlushFileBuffers" */, FpCurrent: 0}, - {FzName: ts + 4839 /* "FormatMessageA" */, FpCurrent: 0}, + {FzName: ts + 4854 /* "FormatMessageA" */, FpCurrent: 0}, - {FzName: ts + 4854 /* "FormatMessageW" */, FpCurrent: 0}, + {FzName: ts + 4869 /* "FormatMessageW" */, FpCurrent: 0}, - {FzName: ts + 4869 /* "FreeLibrary" */, FpCurrent: 0}, + {FzName: ts + 4884 /* "FreeLibrary" */, FpCurrent: 0}, - {FzName: ts + 4881 /* "GetCurrentProces..." */, FpCurrent: 0}, + {FzName: ts + 4896 /* "GetCurrentProces..." */, FpCurrent: 0}, - {FzName: ts + 4901 /* "GetDiskFreeSpace..." */, FpCurrent: 0}, + {FzName: ts + 4916 /* "GetDiskFreeSpace..." */, FpCurrent: 0}, - {FzName: ts + 4919 /* "GetDiskFreeSpace..." */, FpCurrent: 0}, + {FzName: ts + 4934 /* "GetDiskFreeSpace..." */, FpCurrent: 0}, - {FzName: ts + 4937 /* "GetFileAttribute..." */, FpCurrent: 0}, + {FzName: ts + 4952 /* "GetFileAttribute..." */, FpCurrent: 0}, - {FzName: ts + 4956 /* "GetFileAttribute..." */, FpCurrent: 0}, + {FzName: ts + 4971 /* "GetFileAttribute..." */, FpCurrent: 0}, - {FzName: ts + 4975 /* "GetFileAttribute..." */, FpCurrent: 0}, + {FzName: ts + 4990 /* "GetFileAttribute..." */, FpCurrent: 0}, - {FzName: ts + 4996 /* "GetFileSize" */, FpCurrent: 0}, + {FzName: ts + 5011 /* "GetFileSize" */, FpCurrent: 0}, - {FzName: ts + 5008 /* "GetFullPathNameA" */, FpCurrent: 0}, + {FzName: ts + 5023 /* "GetFullPathNameA" */, FpCurrent: 0}, - {FzName: ts + 5025 /* "GetFullPathNameW" */, FpCurrent: 0}, + {FzName: ts + 5040 /* "GetFullPathNameW" */, FpCurrent: 0}, - {FzName: ts + 5042 /* "GetLastError" */, FpCurrent: 0}, + {FzName: ts + 5057 /* "GetLastError" */, FpCurrent: 0}, // All other Windows platforms expect GetProcAddress() to take // an ANSI string regardless of the _UNICODE setting - {FzName: ts + 5055 /* "GetProcAddressA" */, FpCurrent: 0}, + {FzName: ts + 5070 /* "GetProcAddressA" */, FpCurrent: 0}, - {FzName: ts + 5071 /* "GetSystemInfo" */, FpCurrent: 0}, + {FzName: ts + 5086 /* "GetSystemInfo" */, FpCurrent: 0}, - {FzName: ts + 5085 /* "GetSystemTime" */, FpCurrent: 0}, + {FzName: ts + 5100 /* "GetSystemTime" */, FpCurrent: 0}, - {FzName: ts + 5099 /* "GetSystemTimeAsF..." */, FpCurrent: 0}, + {FzName: ts + 5114 /* "GetSystemTimeAsF..." */, FpCurrent: 0}, - {FzName: ts + 5123 /* "GetTempPathA" */, FpCurrent: 0}, + {FzName: ts + 5138 /* "GetTempPathA" */, FpCurrent: 0}, - {FzName: ts + 5136 /* "GetTempPathW" */, FpCurrent: 0}, + {FzName: ts + 5151 /* "GetTempPathW" */, FpCurrent: 0}, - {FzName: ts + 5149 /* "GetTickCount" */, FpCurrent: 0}, + {FzName: ts + 5164 /* "GetTickCount" */, FpCurrent: 0}, - {FzName: ts + 5162 /* "GetVersionExA" */, FpCurrent: 0}, + {FzName: ts + 5177 /* "GetVersionExA" */, FpCurrent: 0}, - {FzName: ts + 5176 /* "GetVersionExW" */, FpCurrent: 0}, + {FzName: ts + 5191 /* "GetVersionExW" */, FpCurrent: 0}, - {FzName: ts + 5190 /* "HeapAlloc" */, FpCurrent: 0}, + {FzName: ts + 5205 /* "HeapAlloc" */, FpCurrent: 0}, - {FzName: ts + 5200 /* "HeapCreate" */, FpCurrent: 0}, + {FzName: ts + 5215 /* "HeapCreate" */, FpCurrent: 0}, - {FzName: ts + 5211 /* "HeapDestroy" */, FpCurrent: 0}, + {FzName: ts + 5226 /* "HeapDestroy" */, FpCurrent: 0}, - {FzName: ts + 5223 /* "HeapFree" */, FpCurrent: 0}, + {FzName: ts + 5238 /* "HeapFree" */, FpCurrent: 0}, - {FzName: ts + 5232 /* "HeapReAlloc" */, FpCurrent: 0}, + {FzName: ts + 5247 /* "HeapReAlloc" */, FpCurrent: 0}, - {FzName: ts + 5244 /* "HeapSize" */, FpCurrent: 0}, + {FzName: ts + 5259 /* "HeapSize" */, FpCurrent: 0}, - {FzName: ts + 5253 /* "HeapValidate" */, FpCurrent: 0}, + {FzName: ts + 5268 /* "HeapValidate" */, FpCurrent: 0}, - {FzName: ts + 5266 /* "HeapCompact" */, FpCurrent: 0}, + {FzName: ts + 5281 /* "HeapCompact" */, FpCurrent: 0}, - {FzName: ts + 5278 /* "LoadLibraryA" */, FpCurrent: 0}, + {FzName: ts + 5293 /* "LoadLibraryA" */, FpCurrent: 0}, - {FzName: ts + 5291 /* "LoadLibraryW" */, FpCurrent: 0}, + {FzName: ts + 5306 /* "LoadLibraryW" */, FpCurrent: 0}, - {FzName: ts + 5304 /* "LocalFree" */, FpCurrent: 0}, + {FzName: ts + 5319 /* "LocalFree" */, FpCurrent: 0}, - {FzName: ts + 5314 /* "LockFile" */, FpCurrent: 0}, + {FzName: ts + 5329 /* "LockFile" */, FpCurrent: 0}, - {FzName: ts + 5323 /* "LockFileEx" */, FpCurrent: 0}, + {FzName: ts + 5338 /* "LockFileEx" */, FpCurrent: 0}, - {FzName: ts + 5334 /* "MapViewOfFile" */, FpCurrent: 0}, + {FzName: ts + 5349 /* "MapViewOfFile" */, FpCurrent: 0}, - {FzName: ts + 5348 /* "MultiByteToWideC..." */, FpCurrent: 0}, + {FzName: ts + 5363 /* "MultiByteToWideC..." */, FpCurrent: 0}, - {FzName: ts + 5368 /* "QueryPerformance..." */, FpCurrent: 0}, + {FzName: ts + 5383 /* "QueryPerformance..." */, FpCurrent: 0}, - {FzName: ts + 5392 /* "ReadFile" */, FpCurrent: 0}, + {FzName: ts + 5407 /* "ReadFile" */, FpCurrent: 0}, - {FzName: ts + 5401 /* "SetEndOfFile" */, FpCurrent: 0}, + {FzName: ts + 5416 /* "SetEndOfFile" */, FpCurrent: 0}, - {FzName: ts + 5414 /* "SetFilePointer" */, FpCurrent: 0}, + {FzName: ts + 5429 /* "SetFilePointer" */, FpCurrent: 0}, - {FzName: ts + 5429 /* "Sleep" */, FpCurrent: 0}, + {FzName: ts + 5444 /* "Sleep" */, FpCurrent: 0}, - {FzName: ts + 5435 /* "SystemTimeToFile..." */, FpCurrent: 0}, + {FzName: ts + 5450 /* "SystemTimeToFile..." */, FpCurrent: 0}, - {FzName: ts + 5456 /* "UnlockFile" */, FpCurrent: 0}, + {FzName: ts + 5471 /* "UnlockFile" */, FpCurrent: 0}, - {FzName: ts + 5467 /* "UnlockFileEx" */, FpCurrent: 0}, + {FzName: ts + 5482 /* "UnlockFileEx" */, FpCurrent: 0}, - {FzName: ts + 5480 /* "UnmapViewOfFile" */, FpCurrent: 0}, + {FzName: ts + 5495 /* "UnmapViewOfFile" */, FpCurrent: 0}, - {FzName: ts + 5496 /* "WideCharToMultiB..." */, FpCurrent: 0}, + {FzName: ts + 5511 /* "WideCharToMultiB..." */, FpCurrent: 0}, - {FzName: ts + 5516 /* "WriteFile" */, FpCurrent: 0}, + {FzName: ts + 5531 /* "WriteFile" */, FpCurrent: 0}, - {FzName: ts + 5526 /* "CreateEventExW" */}, + {FzName: ts + 5541 /* "CreateEventExW" */}, - {FzName: ts + 5541 /* "WaitForSingleObj..." */, FpCurrent: 0}, + {FzName: ts + 5556 /* "WaitForSingleObj..." */, FpCurrent: 0}, - {FzName: ts + 5561 /* "WaitForSingleObj..." */, FpCurrent: 0}, + {FzName: ts + 5576 /* "WaitForSingleObj..." */, FpCurrent: 0}, - {FzName: ts + 5583 /* "SetFilePointerEx" */}, + {FzName: ts + 5598 /* "SetFilePointerEx" */}, - {FzName: ts + 5600 /* "GetFileInformati..." */}, + {FzName: ts + 5615 /* "GetFileInformati..." */}, - {FzName: ts + 5629 /* "MapViewOfFileFro..." */}, + {FzName: ts + 5644 /* "MapViewOfFileFro..." */}, - {FzName: ts + 5650 /* "CreateFile2" */}, + {FzName: ts + 5665 /* "CreateFile2" */}, - {FzName: ts + 5662 /* "LoadPackagedLibr..." */}, + {FzName: ts + 5677 /* "LoadPackagedLibr..." */}, - {FzName: ts + 5682 /* "GetTickCount64" */}, + {FzName: ts + 5697 /* "GetTickCount64" */}, - {FzName: ts + 5697 /* "GetNativeSystemI..." */}, + {FzName: ts + 5712 /* "GetNativeSystemI..." */}, - {FzName: ts + 5717 /* "OutputDebugStrin..." */, FpCurrent: 0}, + {FzName: ts + 5732 /* "OutputDebugStrin..." */, FpCurrent: 0}, - {FzName: ts + 5736 /* "OutputDebugStrin..." */, FpCurrent: 0}, + {FzName: ts + 5751 /* "OutputDebugStrin..." */, FpCurrent: 0}, - {FzName: ts + 5755 /* "GetProcessHeap" */, FpCurrent: 0}, + {FzName: ts + 5770 /* "GetProcessHeap" */, FpCurrent: 0}, - {FzName: ts + 5770 /* "CreateFileMappin..." */}, + {FzName: ts + 5785 /* "CreateFileMappin..." */}, // NOTE: On some sub-platforms, the InterlockedCompareExchange "function" // is really just a macro that uses a compiler intrinsic (e.g. x64). // So do not try to make this is into a redefinable interface. - {FzName: ts + 5795 /* "InterlockedCompa..." */}, + {FzName: ts + 5810 /* "InterlockedCompa..." */}, - {FzName: ts + 5822 /* "UuidCreate" */}, + {FzName: ts + 5837 /* "UuidCreate" */}, - {FzName: ts + 5833 /* "UuidCreateSequen..." */}, + {FzName: ts + 5848 /* "UuidCreateSequen..." */}, - {FzName: ts + 5854 /* "FlushViewOfFile" */, FpCurrent: 0}, + {FzName: ts + 5869 /* "FlushViewOfFile" */, FpCurrent: 0}, } /* sqlite3.c:42872:3 */ // End of the overrideable system calls @@ -68683,7 +69189,7 @@ func Xsqlite3_win32_set_directory8(tls *libc.TLS, type1 uint32, zValue uintptr) if ppDirectory != 0 { var zCopy uintptr = uintptr(0) if (zValue != 0) && (*(*int8)(unsafe.Pointer(zValue)) != 0) { - zCopy = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, zValue)) + zCopy = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, zValue)) if zCopy == uintptr(0) { return SQLITE_NOMEM } @@ -68771,10 +69277,10 @@ func winGetLastErrorMsg(tls *libc.TLS, lastErrno DWORD, nBuf int32, zBuf uintptr } } if DWORD(0) == dwLen { - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+5870 /* "OsError 0x%lx (%..." */, libc.VaList(bp, lastErrno, lastErrno)) + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+5885 /* "OsError 0x%lx (%..." */, libc.VaList(bp, lastErrno, lastErrno)) } else { // copy a maximum of nBuf chars to output buffer - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+936 /* "%s" */, libc.VaList(bp+24, zOut)) + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+951 /* "%s" */, libc.VaList(bp+24, zOut)) // free the UTF8 buffer Xsqlite3_free(tls, zOut) } @@ -68806,13 +69312,13 @@ func winLogErrorAtLine(tls *libc.TLS, errcode int32, lastErrno DWORD, zFunc uint winGetLastErrorMsg(tls, lastErrno, int32(unsafe.Sizeof([500]int8{})), bp+48 /* &zMsg[0] */) if zPath == uintptr(0) { - zPath = ts + 900 /* "" */ + zPath = ts + 915 /* "" */ } for i = 0; ((*(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i))) != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i)))) != '\r')) && (int32(*(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i)))) != '\n'); i++ { } *(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i))) = int8(0) Xsqlite3_log(tls, errcode, - ts+5890, /* "os_win.c:%d: (%l..." */ + ts+5905, /* "os_win.c:%d: (%l..." */ libc.VaList(bp, iLine, lastErrno, zFunc, zPath, bp+48 /* &zMsg[0] */)) return errcode @@ -68869,7 +69375,7 @@ func winLogIoerr(tls *libc.TLS, nRetry int32, lineno int32) { /* sqlite3.c:44540 if nRetry != 0 { Xsqlite3_log(tls, SQLITE_NOTICE, - ts+5921, /* "delayed %dms for..." */ + ts+5936, /* "delayed %dms for..." */ libc.VaList(bp, (((winIoerrRetryDelay*nRetry)*(nRetry+1))/2), lineno)) } } @@ -68937,7 +69443,7 @@ func winSeekFile(tls *libc.TLS, pFile uintptr, iOffset Sqlite3_int64) int32 { /* var lastErrno DWORD // Value returned by GetLastError() if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5971 /* "SEEK file=%p, of..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, iOffset)) + Xsqlite3DebugPrintf(tls, ts+5986 /* "SEEK file=%p, of..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, iOffset)) } *(*LONG)(unsafe.Pointer(bp + 56 /* upperBits */)) = (LONG((iOffset >> 32) & int64(0x7fffffff))) @@ -68954,15 +69460,15 @@ 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 /* &.pCurrent */))))(tls))) != DWORD(0)) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno - winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(22) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+5998 /* "winSeekFile" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 44971) + winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(22) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6013 /* "winSeekFile" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 44971) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6010 /* "SEEK file=%p, rc..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6025 /* "SEEK file=%p, rc..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return 1 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6046 /* "SEEK file=%p, rc..." */, libc.VaList(bp+40, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6061 /* "SEEK file=%p, rc..." */, libc.VaList(bp+40, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return 0 } @@ -68984,7 +69490,7 @@ func winClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:45020:12: */ var pFile uintptr = id if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6074 /* "CLOSE pid=%lu, p..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6089 /* "CLOSE pid=%lu, p..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } winUnmapfile(tls, pFile) @@ -68998,17 +69504,17 @@ func winClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:45020:12: */ } libc.AtomicAddInt32(&Xsqlite3_open_file_count, int32(-1)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6108 /* "CLOSE pid=%lu, p..." */, libc.VaList(bp+32, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+6123 /* "CLOSE pid=%lu, p..." */, libc.VaList(bp+32, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, func() uintptr { if rc != 0 { - return ts + 6149 /* "ok" */ + return ts + 6164 /* "ok" */ } - return ts + 6152 /* "failed" */ + return ts + 6167 /* "failed" */ }())) } 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 /* &.pCurrent */))))(tls), ts+6159 /* "winClose" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45067) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+6174 /* "winClose" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45067) } // Read data from a file into a buffer. Return SQLITE_OK if all @@ -69031,7 +69537,7 @@ func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_ } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6168 /* "READ pid=%lu, pF..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, pBuf, amt, offset, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype))) + Xsqlite3DebugPrintf(tls, ts+6183 /* "READ pid=%lu, pF..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, pBuf, amt, offset, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype))) } // Deal with as much of this read request as possible by transfering @@ -69040,7 +69546,7 @@ func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_ if (offset + Sqlite3_int64(amt)) <= (*WinFile)(unsafe.Pointer(pFile)).FmmapSize { libc.Xmemcpy(tls, pBuf, (((*WinFile)(unsafe.Pointer(pFile)).FpMapRegion) + uintptr(offset)), uint64(amt)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6245 /* "READ-MMAP pid=%l..." */, libc.VaList(bp+64, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6260 /* "READ-MMAP pid=%l..." */, libc.VaList(bp+64, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK } else { @@ -69063,22 +69569,22 @@ func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_ } (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 232 /* lastErrno */)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6297 /* "READ pid=%lu, pF..." */, libc.VaList(bp+96, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6312 /* "READ pid=%lu, pF..." */, libc.VaList(bp+96, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(1) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6352 /* "winRead" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45135) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(1) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6367 /* "winRead" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45135) } winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 228 /* nRetry */)), 45138) if *(*DWORD)(unsafe.Pointer(bp + 224 /* nRead */)) < DWORD(amt) { // Unread parts of the buffer must be zero-filled libc.Xmemset(tls, ((pBuf) + uintptr(*(*DWORD)(unsafe.Pointer(bp + 224 /* nRead */)))), 0, (uint64(DWORD(amt) - *(*DWORD)(unsafe.Pointer(bp + 224 /* nRead */))))) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6360 /* "READ pid=%lu, pF..." */, libc.VaList(bp+128, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6375 /* "READ pid=%lu, pF..." */, libc.VaList(bp+128, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return (SQLITE_IOERR | (int32(2) << 8)) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6421 /* "READ pid=%lu, pF..." */, libc.VaList(bp+160, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6436 /* "READ pid=%lu, pF..." */, libc.VaList(bp+160, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK } @@ -69110,7 +69616,7 @@ func winWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6468 /* "WRITE pid=%lu, p..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, pBuf, amt, offset, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype))) + Xsqlite3DebugPrintf(tls, ts+6483 /* "WRITE pid=%lu, p..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, pBuf, amt, offset, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype))) } { @@ -69155,19 +69661,19 @@ func winWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3 if ((*WinFile)(unsafe.Pointer(pFile)).FlastErrno == DWORD(39)) || ((*WinFile)(unsafe.Pointer(pFile)).FlastErrno == DWORD(112)) { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6546 /* "WRITE pid=%lu, p..." */, libc.VaList(bp+64, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6561 /* "WRITE pid=%lu, p..." */, libc.VaList(bp+64, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } - return winLogErrorAtLine(tls, SQLITE_FULL, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6596 /* "winWrite1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45247) + return winLogErrorAtLine(tls, SQLITE_FULL, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6611 /* "winWrite1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45247) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6606 /* "WRITE pid=%lu, p..." */, libc.VaList(bp+96, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6621 /* "WRITE pid=%lu, p..." */, libc.VaList(bp+96, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(3) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6663 /* "winWrite2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45252) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(3) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6678 /* "winWrite2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45252) } else { winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 196 /* nRetry */)), 45255) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6673 /* "WRITE pid=%lu, p..." */, libc.VaList(bp+128, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6688 /* "WRITE pid=%lu, p..." */, libc.VaList(bp+128, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK } @@ -69207,7 +69713,7 @@ func winTruncate(tls *libc.TLS, id uintptr, nByte Sqlite3_int64) int32 { /* sqli } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6721 /* "TRUNCATE pid=%lu..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, nByte, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype))) + Xsqlite3DebugPrintf(tls, ts+6736 /* "TRUNCATE pid=%lu..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, nByte, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype))) } // If the user has configured a chunk-size for this file, truncate the @@ -69227,10 +69733,10 @@ func winTruncate(tls *libc.TLS, id uintptr, nByte Sqlite3_int64) int32 { /* sqli // SetEndOfFile() returns non-zero when successful, or zero when it fails. if winSeekFile(tls, pFile, nByte) != 0 { - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6778 /* "winTruncate1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45318) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6793 /* "winTruncate1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45318) } else if (0 == (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 53*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh)) && ((libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls))) != DWORD(1224)) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6791 /* "winTruncate2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45323) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6806 /* "winTruncate2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45323) } if (rc == SQLITE_OK) && (oldMmapSize > int64(0)) { @@ -69242,7 +69748,7 @@ func winTruncate(tls *libc.TLS, id uintptr, nByte Sqlite3_int64) int32 { /* sqli } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6804 /* "TRUNCATE pid=%lu..." */, libc.VaList(bp+48, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+6819 /* "TRUNCATE pid=%lu..." */, libc.VaList(bp+48, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) } return rc } @@ -69279,7 +69785,7 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:45354: } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6848 /* "SYNC pid=%lu, pF..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, flags, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype))) + Xsqlite3DebugPrintf(tls, ts+6863 /* "SYNC pid=%lu, pF..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, flags, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype))) } if (flags & 0x0F) == SQLITE_SYNC_FULL { @@ -69292,14 +69798,14 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:45354: if (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion != 0 { if (*(*func(*libc.TLS, LPCVOID, SIZE_T) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 79*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion, uint64(0)) != 0 { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6900 /* "SYNC-MMAP pid=%l..." */, libc.VaList(bp+48, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion)) + Xsqlite3DebugPrintf(tls, ts+6915 /* "SYNC-MMAP pid=%l..." */, libc.VaList(bp+48, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion)) } } else { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6958 /* "SYNC-MMAP pid=%l..." */, libc.VaList(bp+80, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion)) + Xsqlite3DebugPrintf(tls, ts+6973 /* "SYNC-MMAP pid=%l..." */, libc.VaList(bp+80, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion)) } - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+7024 /* "winSync1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45415) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+7039 /* "winSync1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45415) } } rc = (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 13*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh) @@ -69310,15 +69816,15 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:45354: if rc != 0 { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7033 /* "SYNC pid=%lu, pF..." */, libc.VaList(bp+112, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7048 /* "SYNC pid=%lu, pF..." */, libc.VaList(bp+112, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK } else { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7080 /* "SYNC pid=%lu, pF..." */, libc.VaList(bp+144, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7095 /* "SYNC pid=%lu, pF..." */, libc.VaList(bp+144, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+7136 /* "winSync2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45430) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+7151 /* "winSync2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45430) } return int32(0) } @@ -69337,7 +69843,7 @@ func winFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c: } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7145 /* "SIZE file=%p, pS..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, pSize)) + Xsqlite3DebugPrintf(tls, ts+7160 /* "SIZE file=%p, pS..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, pSize)) } { @@ -69351,12 +69857,12 @@ func winFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c: if (lowerBits == (0xffffffff)) && ((libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls))) != DWORD(0)) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(7) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+7169 /* "winFileSize" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45471) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(7) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+7184 /* "winFileSize" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45471) } } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7181 /* "SIZE file=%p, pS..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh, pSize, *(*Sqlite3_int64)(unsafe.Pointer(pSize)), Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7196 /* "SIZE file=%p, pS..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh, pSize, *(*Sqlite3_int64)(unsafe.Pointer(pSize)), Xsqlite3ErrName(tls, rc))) } return rc } @@ -69381,7 +69887,7 @@ func winGetReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:45517:12: var res int32 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7225 /* "READ-LOCK file=%..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype))) + Xsqlite3DebugPrintf(tls, ts+7240 /* "READ-LOCK file=%..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype))) } if (Xsqlite3_os_type == 2) || (Xsqlite3_win32_is_nt(tls) != 0) { res = winLockFile(tls, (pFile + 16 /* &.h */), uint32(LOCKFILE_FAIL_IMMEDIATELY), (uint32(Xsqlite3PendingByte + 2)), uint32(0), @@ -69399,7 +69905,7 @@ func winGetReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:45517:12: // No need to log a failure to lock } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7253 /* "READ-LOCK file=%..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) + Xsqlite3DebugPrintf(tls, ts+7268 /* "READ-LOCK file=%..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) } return res } @@ -69412,7 +69918,7 @@ func winUnlockReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:45552: var res int32 var lastErrno DWORD if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7283 /* "READ-UNLOCK file..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype))) + Xsqlite3DebugPrintf(tls, ts+7298 /* "READ-UNLOCK file..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype))) } if (Xsqlite3_os_type == 2) || (Xsqlite3_win32_is_nt(tls) != 0) { res = winUnlockFile(tls, (pFile + 16 /* &.h */), (uint32(Xsqlite3PendingByte + 2)), uint32(0), uint32(SHARED_SIZE), uint32(0)) @@ -69421,10 +69927,10 @@ func winUnlockReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:45552: } if (res == 0) && ((libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls))) != DWORD(158)) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno - winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(8) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+7313 /* "winUnlockReadLoc..." */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45566) + winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(8) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+7328 /* "winUnlockReadLoc..." */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45566) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7331 /* "READ-UNLOCK file..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) + Xsqlite3DebugPrintf(tls, ts+7346 /* "READ-UNLOCK file..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) } return res } @@ -69465,7 +69971,7 @@ func winLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:455 var lastErrno DWORD = DWORD(0) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7363 /* "LOCK file=%p, ol..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype), int32((*WinFile)(unsafe.Pointer(pFile)).FsharedLockByte), locktype)) + Xsqlite3DebugPrintf(tls, ts+7378 /* "LOCK file=%p, ol..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype), int32((*WinFile)(unsafe.Pointer(pFile)).FsharedLockByte), locktype)) } // If there is already a lock of this type or more restrictive on the @@ -69473,7 +69979,7 @@ func winLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:455 // sqlite3OsEnterMutex() hasn't been called yet. if int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype) >= locktype { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7405 /* "LOCK-HELD file=%..." */, libc.VaList(bp+40, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7420 /* "LOCK-HELD file=%..." */, libc.VaList(bp+40, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK } @@ -69501,13 +70007,13 @@ func winLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:455 // copy this retry logic. It is a hack intended for Windows only. lastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7438 /* "LOCK-PENDING-FAI..." */, libc.VaList(bp+56, (*WinFile)(unsafe.Pointer(pFile)).Fh, cnt, res)) + Xsqlite3DebugPrintf(tls, ts+7453 /* "LOCK-PENDING-FAI..." */, libc.VaList(bp+56, (*WinFile)(unsafe.Pointer(pFile)).Fh, cnt, res)) } if lastErrno == DWORD(6) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno rc = (SQLITE_IOERR | (int32(15) << 8)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7486 /* "LOCK-FAIL file=%..." */, libc.VaList(bp+88, (*WinFile)(unsafe.Pointer(pFile)).Fh, cnt, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7501 /* "LOCK-FAIL file=%..." */, libc.VaList(bp+88, (*WinFile)(unsafe.Pointer(pFile)).Fh, cnt, Xsqlite3ErrName(tls, rc))) } return rc } @@ -69577,12 +70083,12 @@ func winLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:455 (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno rc = SQLITE_BUSY if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7522 /* "LOCK-FAIL file=%..." */, libc.VaList(bp+120, (*WinFile)(unsafe.Pointer(pFile)).Fh, locktype, newLocktype)) + Xsqlite3DebugPrintf(tls, ts+7537 /* "LOCK-FAIL file=%..." */, libc.VaList(bp+120, (*WinFile)(unsafe.Pointer(pFile)).Fh, locktype, newLocktype)) } } (*WinFile)(unsafe.Pointer(pFile)).Flocktype = U8(newLocktype) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7560 /* "LOCK file=%p, lo..." */, libc.VaList(bp+152, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype), Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7575 /* "LOCK file=%p, lo..." */, libc.VaList(bp+152, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype), Xsqlite3ErrName(tls, rc))) } return rc } @@ -69603,13 +70109,13 @@ func winCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7590 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, pResOut)) + Xsqlite3DebugPrintf(tls, ts+7605 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, pResOut)) } if int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype) >= RESERVED_LOCK { res = 1 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7624 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) + Xsqlite3DebugPrintf(tls, ts+7639 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) } } else { res = winLockFile(tls, (pFile + 16 /* &.h */), uint32(LOCKFILE_FAIL_IMMEDIATELY), (uint32(Xsqlite3PendingByte + 1)), uint32(0), uint32(1), uint32(0)) @@ -69618,12 +70124,12 @@ func winCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* } res = libc.BoolInt32(!(res != 0)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7665 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp+48, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) + Xsqlite3DebugPrintf(tls, ts+7680 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp+48, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) } } *(*int32)(unsafe.Pointer(pResOut)) = res if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7707 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp+72, (*WinFile)(unsafe.Pointer(pFile)).Fh, pResOut, *(*int32)(unsafe.Pointer(pResOut)))) + Xsqlite3DebugPrintf(tls, ts+7722 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp+72, (*WinFile)(unsafe.Pointer(pFile)).Fh, pResOut, *(*int32)(unsafe.Pointer(pResOut)))) } return SQLITE_OK } @@ -69646,7 +70152,7 @@ func winUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:4 var rc int32 = SQLITE_OK if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7768 /* "UNLOCK file=%p, ..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype), int32((*WinFile)(unsafe.Pointer(pFile)).FsharedLockByte), locktype)) + Xsqlite3DebugPrintf(tls, ts+7783 /* "UNLOCK file=%p, ..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype), int32((*WinFile)(unsafe.Pointer(pFile)).FsharedLockByte), locktype)) } type1 = int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype) if type1 >= EXCLUSIVE_LOCK { @@ -69654,7 +70160,7 @@ func winUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:4 if (locktype == SHARED_LOCK) && !(winGetReadLock(tls, pFile) != 0) { // This should never happen. We should always be able to // reacquire the read lock - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(8) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+7812 /* "winUnlock" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45792) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(8) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+7827 /* "winUnlock" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45792) } } if type1 >= RESERVED_LOCK { @@ -69668,7 +70174,7 @@ func winUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:4 } (*WinFile)(unsafe.Pointer(pFile)).Flocktype = U8(locktype) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7822 /* "UNLOCK file=%p, ..." */, libc.VaList(bp+40, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype), Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7837 /* "UNLOCK file=%p, ..." */, libc.VaList(bp+40, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype), Xsqlite3ErrName(tls, rc))) } return rc } @@ -69733,14 +70239,14 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / var pFile uintptr = id if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7854 /* "FCNTL file=%p, o..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, op, pArg)) + Xsqlite3DebugPrintf(tls, ts+7869 /* "FCNTL file=%p, o..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, op, pArg)) } switch op { case SQLITE_FCNTL_LOCKSTATE: { *(*int32)(unsafe.Pointer(pArg)) = int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7885 /* "FCNTL file=%p, r..." */, libc.VaList(bp+32, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+32, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -69749,7 +70255,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / { *(*int32)(unsafe.Pointer(pArg)) = int32((*WinFile)(unsafe.Pointer(pFile)).FlastErrno) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7885 /* "FCNTL file=%p, r..." */, libc.VaList(bp+48, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+48, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -69758,7 +70264,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / { (*WinFile)(unsafe.Pointer(pFile)).FszChunk = *(*int32)(unsafe.Pointer(pArg)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7885 /* "FCNTL file=%p, r..." */, libc.VaList(bp+64, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+64, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -69778,12 +70284,12 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / } } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7914 /* "FCNTL file=%p, r..." */, libc.VaList(bp+80, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7929 /* "FCNTL file=%p, r..." */, libc.VaList(bp+80, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) } return rc } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7885 /* "FCNTL file=%p, r..." */, libc.VaList(bp+104, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+104, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -69792,7 +70298,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / { winModeBit(tls, pFile, uint8(WINFILE_PERSIST_WAL), pArg) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7885 /* "FCNTL file=%p, r..." */, libc.VaList(bp+120, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+120, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -69801,16 +70307,16 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / { winModeBit(tls, pFile, uint8(WINFILE_PSOW), pArg) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7885 /* "FCNTL file=%p, r..." */, libc.VaList(bp+136, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+136, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK } case SQLITE_FCNTL_VFSNAME: { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+152, (*Sqlite3_vfs)(unsafe.Pointer((*WinFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+152, (*Sqlite3_vfs)(unsafe.Pointer((*WinFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7885 /* "FCNTL file=%p, r..." */, libc.VaList(bp+168, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+168, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -69829,7 +70335,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / *(*int32)(unsafe.Pointer(a + 1*4)) = winIoerrRetryDelay } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7885 /* "FCNTL file=%p, r..." */, libc.VaList(bp+184, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+184, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -69839,7 +70345,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / var phFile LPHANDLE = pArg *(*HANDLE)(unsafe.Pointer(phFile)) = (*WinFile)(unsafe.Pointer(pFile)).Fh if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7885 /* "FCNTL file=%p, r..." */, libc.VaList(bp+200, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+200, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -69851,7 +70357,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / (*WinFile)(unsafe.Pointer(pFile)).Fh = *(*HANDLE)(unsafe.Pointer(phFile)) *(*HANDLE)(unsafe.Pointer(phFile)) = hOldFile if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7936 /* "FCNTL oldFile=%p..." */, libc.VaList(bp+216, hOldFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7951 /* "FCNTL oldFile=%p..." */, libc.VaList(bp+216, hOldFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -69864,7 +70370,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / *(*uintptr)(unsafe.Pointer(pArg)) = *(*uintptr)(unsafe.Pointer(bp + 312 /* zTFile */)) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7914 /* "FCNTL file=%p, r..." */, libc.VaList(bp+240, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7929 /* "FCNTL file=%p, r..." */, libc.VaList(bp+240, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) } return rc @@ -69893,14 +70399,14 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / } } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7914 /* "FCNTL file=%p, r..." */, libc.VaList(bp+264, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7929 /* "FCNTL file=%p, r..." */, libc.VaList(bp+264, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) } return rc } } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7980 /* "FCNTL file=%p, r..." */, libc.VaList(bp+288, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7995 /* "FCNTL file=%p, r..." */, libc.VaList(bp+288, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_NOTFOUND } @@ -69999,7 +70505,7 @@ func winShmSystemLock(tls *libc.TLS, pFile uintptr, lockType int32, ofst int32, // Access to the winShmNode object is serialized by the caller if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8015 /* "SHM-LOCK file=%p..." */, libc.VaList(bp, (*WinShmNode)(unsafe.Pointer(pFile)).FhFile.Fh, lockType, ofst, nByte)) + Xsqlite3DebugPrintf(tls, ts+8030 /* "SHM-LOCK file=%p..." */, libc.VaList(bp, (*WinShmNode)(unsafe.Pointer(pFile)).FhFile.Fh, lockType, ofst, nByte)) } // Release/Acquire the system-level lock @@ -70022,11 +70528,11 @@ func winShmSystemLock(tls *libc.TLS, pFile uintptr, lockType int32, ofst int32, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8062 /* "SHM-LOCK file=%p..." */, libc.VaList(bp+40, (*WinShmNode)(unsafe.Pointer(pFile)).FhFile.Fh, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+8077 /* "SHM-LOCK file=%p..." */, libc.VaList(bp+40, (*WinShmNode)(unsafe.Pointer(pFile)).FhFile.Fh, func() uintptr { if lockType == WINSHM_UNLCK { - return ts + 8107 /* "winUnlockFile" */ + return ts + 8122 /* "winUnlockFile" */ } - return ts + 8121 /* "winLockFile" */ + return ts + 8136 /* "winLockFile" */ }(), (*WinShmNode)(unsafe.Pointer(pFile)).FlastErrno, Xsqlite3ErrName(tls, rc))) } @@ -70045,7 +70551,7 @@ func winShmPurge(tls *libc.TLS, pVfs uintptr, deleteFlag int32) { /* sqlite3.c:4 var p uintptr if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8133 /* "SHM-PURGE pid=%l..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), deleteFlag)) + Xsqlite3DebugPrintf(tls, ts+8148 /* "SHM-PURGE pid=%l..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), deleteFlag)) } pp = uintptr(unsafe.Pointer(&winShmNodeList)) for (libc.AssignUintptr(&p, *(*uintptr)(unsafe.Pointer(pp)))) != uintptr(0) { @@ -70058,21 +70564,21 @@ func winShmPurge(tls *libc.TLS, pVfs uintptr, deleteFlag int32) { /* sqlite3.c:4 var bRc WINBOOL = (*(*func(*libc.TLS, LPCVOID) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 59*24 + 8 /* &.pCurrent */))))(tls, (*ShmRegion)(unsafe.Pointer((*WinShmNode)(unsafe.Pointer(p)).FaRegion+uintptr(i)*16)).FpMap) _ = bRc if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8167 /* "SHM-PURGE-UNMAP ..." */, libc.VaList(bp+24, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), i, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+8182 /* "SHM-PURGE-UNMAP ..." */, libc.VaList(bp+24, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), i, func() uintptr { if bRc != 0 { - return ts + 6149 /* "ok" */ + return ts + 6164 /* "ok" */ } - return ts + 6152 /* "failed" */ + return ts + 6167 /* "failed" */ }())) } _ = bRc bRc = (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(tls, (*ShmRegion)(unsafe.Pointer((*WinShmNode)(unsafe.Pointer(p)).FaRegion+uintptr(i)*16)).FhMap) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8210 /* "SHM-PURGE-CLOSE ..." */, libc.VaList(bp+56, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), i, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+8225 /* "SHM-PURGE-CLOSE ..." */, libc.VaList(bp+56, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), i, func() uintptr { if bRc != 0 { - return ts + 6149 /* "ok" */ + return ts + 6164 /* "ok" */ } - return ts + 6152 /* "failed" */ + return ts + 6167 /* "failed" */ }())) } _ = bRc @@ -70115,7 +70621,7 @@ func winLockSharedMemory(tls *libc.TLS, pShmNode uintptr) int32 { /* sqlite3.c:4 return (SQLITE_READONLY | (int32(5) << 8)) } else if winTruncate(tls, (pShmNode+16 /* &.hFile */), 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 /* &.pCurrent */))))(tls), ts+8253 /* "winLockSharedMem..." */, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 46258) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(18) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+8268 /* "winLockSharedMem..." */, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 46258) } } @@ -70166,7 +70672,7 @@ __1: __2: ; (*WinShmNode)(unsafe.Pointer(pNew)).FzFilename = (pNew + 1*168) - Xsqlite3_snprintf(tls, (nName + 15), (*WinShmNode)(unsafe.Pointer(pNew)).FzFilename, ts+8273 /* "%s-shm" */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath)) + Xsqlite3_snprintf(tls, (nName + 15), (*WinShmNode)(unsafe.Pointer(pNew)).FzFilename, ts+8288 /* "%s-shm" */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath)) // Look to see if there is an existing winShmNode that can be used. // If no matching winShmNode currently exists, create a new one. @@ -70220,7 +70726,7 @@ __10: __9: ; - if !(0 == Xsqlite3_uri_boolean(tls, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, ts+8280 /* "readonly_shm" */, 0)) { + if !(0 == Xsqlite3_uri_boolean(tls, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, ts+8295 /* "readonly_shm" */, 0)) { goto __11 } inFlags = inFlags | (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) @@ -70235,7 +70741,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 /* &.pCurrent */))))(tls), ts+8293 /* "winOpenShm" */, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 46340) + rc = winLogErrorAtLine(tls, rc, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+8308 /* "winOpenShm" */, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 46340) goto shm_open_err __13: ; @@ -70413,7 +70919,7 @@ func winShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int } Xsqlite3_mutex_leave(tls, (*WinShmNode)(unsafe.Pointer(pShmNode)).Fmutex) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8304 /* "SHM-LOCK pid=%lu..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), int32((*WinShm)(unsafe.Pointer(p)).Fid), int32((*WinShm)(unsafe.Pointer(p)).FsharedMask), int32((*WinShm)(unsafe.Pointer(p)).FexclMask), Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+8319 /* "SHM-LOCK pid=%lu..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), int32((*WinShm)(unsafe.Pointer(p)).Fid), int32((*WinShm)(unsafe.Pointer(p)).FsharedMask), int32((*WinShm)(unsafe.Pointer(p)).FexclMask), Xsqlite3ErrName(tls, rc))) } return rc } @@ -70518,7 +71024,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 /* &.pCurrent */))))(tls), ts+8368 /* "winShmMap1" */, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 46607) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+8383 /* "winShmMap1" */, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 46607) goto shmpage_out __6: ; @@ -70541,7 +71047,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 /* &.pCurrent */))))(tls), ts+8379 /* "winShmMap2" */, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 46622) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+8394 /* "winShmMap2" */, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 46622) goto shmpage_out __9: ; @@ -70580,11 +71086,11 @@ __12: if !(Xsqlite3OSTrace != 0) { goto __14 } - Xsqlite3DebugPrintf(tls, ts+8390 /* "SHM-MAP-CREATE p..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), (*WinShmNode)(unsafe.Pointer(pShmNode)).FnRegion, nByte, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+8405 /* "SHM-MAP-CREATE p..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), (*WinShmNode)(unsafe.Pointer(pShmNode)).FnRegion, nByte, func() uintptr { if hMap != 0 { - return ts + 6149 /* "ok" */ + return ts + 6164 /* "ok" */ } - return ts + 6152 /* "failed" */ + return ts + 6167 /* "failed" */ }())) __14: ; @@ -70598,11 +71104,11 @@ __14: if !(Xsqlite3OSTrace != 0) { goto __16 } - Xsqlite3DebugPrintf(tls, ts+8441 /* "SHM-MAP-MAP pid=..." */, libc.VaList(bp+40, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), (*WinShmNode)(unsafe.Pointer(pShmNode)).FnRegion, iOffset, szRegion, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+8456 /* "SHM-MAP-MAP pid=..." */, libc.VaList(bp+40, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), (*WinShmNode)(unsafe.Pointer(pShmNode)).FnRegion, iOffset, szRegion, func() uintptr { if pMap != 0 { - return ts + 6149 /* "ok" */ + return ts + 6164 /* "ok" */ } - return ts + 6152 /* "failed" */ + return ts + 6167 /* "failed" */ }())) __16: ; @@ -70612,7 +71118,7 @@ __15: goto __17 } (*WinShmNode)(unsafe.Pointer(pShmNode)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), (*WinShmNode)(unsafe.Pointer(pShmNode)).FlastErrno, ts+8500 /* "winShmMap3" */, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 46681) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), (*WinShmNode)(unsafe.Pointer(pShmNode)).FlastErrno, ts+8515 /* "winShmMap3" */, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 46681) if !(hMap != 0) { goto __18 } @@ -70661,15 +71167,15 @@ func winUnmapfile(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46718:12: * defer tls.Free(144) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8511 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FhMap, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion, (*WinFile)(unsafe.Pointer(pFile)).FmmapSize, (*WinFile)(unsafe.Pointer(pFile)).FmmapSizeMax)) + Xsqlite3DebugPrintf(tls, ts+8526 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FhMap, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion, (*WinFile)(unsafe.Pointer(pFile)).FmmapSize, (*WinFile)(unsafe.Pointer(pFile)).FmmapSizeMax)) } if (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion != 0 { if !((*(*func(*libc.TLS, LPCVOID) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 59*24 + 8 /* &.pCurrent */))))(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 /* &.pCurrent */))))(tls) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8598 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp+56, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion)) + Xsqlite3DebugPrintf(tls, ts+8613 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp+56, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion)) } - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+8665 /* "winUnmapfile1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46730) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+8680 /* "winUnmapfile1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46730) } (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion = uintptr(0) (*WinFile)(unsafe.Pointer(pFile)).FmmapSize = int64(0) @@ -70678,14 +71184,14 @@ func winUnmapfile(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46718:12: * if !((*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(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 /* &.pCurrent */))))(tls) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8679 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp+88, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FhMap)) + Xsqlite3DebugPrintf(tls, ts+8694 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp+88, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FhMap)) } - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+8740 /* "winUnmapfile2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46741) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+8755 /* "winUnmapfile2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46741) } (*WinFile)(unsafe.Pointer(pFile)).FhMap = uintptr(0) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8754 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp+120, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile)) + Xsqlite3DebugPrintf(tls, ts+8769 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp+120, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile)) } return SQLITE_OK } @@ -70712,7 +71218,7 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 { /* sqli var rc int32 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8798 /* "MAP-FILE pid=%lu..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, nByte)) + Xsqlite3DebugPrintf(tls, ts+8813 /* "MAP-FILE pid=%lu..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, nByte)) } if (*WinFile)(unsafe.Pointer(pFd)).FnFetchOut > 0 { @@ -70723,7 +71229,7 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 { /* sqli rc = winFileSize(tls, pFd, bp+144 /* &nMap */) if rc != 0 { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8837 /* "MAP-FILE pid=%lu..." */, libc.VaList(bp+32, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd)) + Xsqlite3DebugPrintf(tls, ts+8852 /* "MAP-FILE pid=%lu..." */, libc.VaList(bp+32, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd)) } return (SQLITE_IOERR | (int32(7) << 8)) } @@ -70747,10 +71253,10 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 { /* sqli (DWORD(*(*Sqlite3_int64)(unsafe.Pointer(bp + 144 /* nMap */)) & 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 /* &.pCurrent */))))(tls) - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+8888 /* "winMapfile1" */, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 46818) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+8903 /* "winMapfile1" */, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 46818) // Log the error, but continue normal operation using xRead/xWrite if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8900 /* "MAP-FILE-CREATE ..." */, libc.VaList(bp+56, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+8915 /* "MAP-FILE-CREATE ..." */, libc.VaList(bp+56, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, Xsqlite3ErrName(tls, rc))) } return SQLITE_OK } @@ -70760,10 +71266,10 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 { /* sqli (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(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 /* &.pCurrent */))))(tls) - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+8942 /* "winMapfile2" */, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 46836) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+8957 /* "winMapfile2" */, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 46836) // Log the error, but continue normal operation using xRead/xWrite if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8954 /* "MAP-FILE-MAP pid..." */, libc.VaList(bp+88, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+8969 /* "MAP-FILE-MAP pid..." */, libc.VaList(bp+88, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, Xsqlite3ErrName(tls, rc))) } return SQLITE_OK } @@ -70772,7 +71278,7 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 { /* sqli } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8993 /* "MAP-FILE pid=%lu..." */, libc.VaList(bp+120, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd)) + Xsqlite3DebugPrintf(tls, ts+9008 /* "MAP-FILE pid=%lu..." */, libc.VaList(bp+120, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd)) } return SQLITE_OK } @@ -70795,7 +71301,7 @@ func winFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9035 /* "FETCH pid=%lu, p..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), fd, iOff, nAmt, pp)) + Xsqlite3DebugPrintf(tls, ts+9050 /* "FETCH pid=%lu, p..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), fd, iOff, nAmt, pp)) } if (*WinFile)(unsafe.Pointer(pFd)).FmmapSizeMax > int64(0) { @@ -70803,7 +71309,7 @@ func winFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 var rc int32 = winMapfile(tls, pFd, int64(-1)) if rc != SQLITE_OK { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9091 /* "FETCH pid=%lu, p..." */, libc.VaList(bp+48, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+9106 /* "FETCH pid=%lu, p..." */, libc.VaList(bp+48, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, Xsqlite3ErrName(tls, rc))) } return rc } @@ -70816,7 +71322,7 @@ func winFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9123 /* "FETCH pid=%lu, p..." */, libc.VaList(bp+80, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), fd, pp, *(*uintptr)(unsafe.Pointer(pp)))) + Xsqlite3DebugPrintf(tls, ts+9138 /* "FETCH pid=%lu, p..." */, libc.VaList(bp+80, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), fd, pp, *(*uintptr)(unsafe.Pointer(pp)))) } return SQLITE_OK } @@ -70842,7 +71348,7 @@ func winUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlit // If p!=0, it must match the iOff value. if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9177 /* "UNFETCH pid=%lu,..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, iOff, p)) + Xsqlite3DebugPrintf(tls, ts+9192 /* "UNFETCH pid=%lu,..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, iOff, p)) } if p != 0 { @@ -70856,7 +71362,7 @@ func winUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlit } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9223 /* "UNFETCH pid=%lu,..." */, libc.VaList(bp+40, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), fd)) + Xsqlite3DebugPrintf(tls, ts+9238 /* "UNFETCH pid=%lu,..." */, libc.VaList(bp+40, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), fd)) } return SQLITE_OK } @@ -70973,7 +71479,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit var i Size_t var j Size_t - var nPre int32 = Xsqlite3Strlen30(tls, ts+9264 /* "etilqs_" */) + var nPre int32 = Xsqlite3Strlen30(tls, ts+9279 /* "etilqs_" */) var nMax int32 var nBuf int32 var nDir int32 @@ -70995,7 +71501,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit zBuf = Xsqlite3MallocZero(tls, uint64(nBuf)) if !(zBuf != 0) { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9272 /* "TEMP-FILENAME rc..." */, 0) + Xsqlite3DebugPrintf(tls, ts+9287 /* "TEMP-FILENAME rc..." */, 0) } return (SQLITE_IOERR | (int32(12) << 8)) } @@ -71014,11 +71520,11 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit if nDirLen > nDir { Xsqlite3_free(tls, zBuf) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9309 /* "TEMP-FILENAME rc..." */, 0) + Xsqlite3DebugPrintf(tls, ts+9324 /* "TEMP-FILENAME rc..." */, 0) } - return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+9340 /* "winGetTempname1" */, uintptr(0), 47124) + return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+9355 /* "winGetTempname1" */, uintptr(0), 47124) } - Xsqlite3_snprintf(tls, nMax, zBuf, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_temp_directory)) + Xsqlite3_snprintf(tls, nMax, zBuf, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_temp_directory)) } } else if (Xsqlite3_os_type == 2) || (Xsqlite3_win32_is_nt(tls) != 0) { var zMulti uintptr @@ -71026,7 +71532,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit if !(zWidePath != 0) { Xsqlite3_free(tls, zBuf) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9272 /* "TEMP-FILENAME rc..." */, 0) + Xsqlite3DebugPrintf(tls, ts+9287 /* "TEMP-FILENAME rc..." */, 0) } return (SQLITE_IOERR | (int32(12) << 8)) } @@ -71034,20 +71540,20 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit Xsqlite3_free(tls, zWidePath) Xsqlite3_free(tls, zBuf) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9356 /* "TEMP-FILENAME rc..." */, 0) + Xsqlite3DebugPrintf(tls, ts+9371 /* "TEMP-FILENAME rc..." */, 0) } - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(25) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+9399 /* "winGetTempname2" */, uintptr(0), 47222) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(25) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+9414 /* "winGetTempname2" */, uintptr(0), 47222) } zMulti = winUnicodeToUtf8(tls, zWidePath) if zMulti != 0 { - Xsqlite3_snprintf(tls, nMax, zBuf, ts+936 /* "%s" */, libc.VaList(bp+16, zMulti)) + Xsqlite3_snprintf(tls, nMax, zBuf, ts+951 /* "%s" */, libc.VaList(bp+16, zMulti)) Xsqlite3_free(tls, zMulti) Xsqlite3_free(tls, zWidePath) } else { Xsqlite3_free(tls, zWidePath) Xsqlite3_free(tls, zBuf) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9272 /* "TEMP-FILENAME rc..." */, 0) + Xsqlite3DebugPrintf(tls, ts+9287 /* "TEMP-FILENAME rc..." */, 0) } return (SQLITE_IOERR | (int32(12) << 8)) } @@ -71057,25 +71563,25 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit if !(zMbcsPath != 0) { Xsqlite3_free(tls, zBuf) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9272 /* "TEMP-FILENAME rc..." */, 0) + Xsqlite3DebugPrintf(tls, ts+9287 /* "TEMP-FILENAME rc..." */, 0) } return (SQLITE_IOERR | (int32(12) << 8)) } if (*(*func(*libc.TLS, DWORD, LPSTR) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 31*24 + 8 /* &.pCurrent */))))(tls, uint32(nMax), zMbcsPath) == DWORD(0) { Xsqlite3_free(tls, zBuf) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9356 /* "TEMP-FILENAME rc..." */, 0) + Xsqlite3DebugPrintf(tls, ts+9371 /* "TEMP-FILENAME rc..." */, 0) } - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(25) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+9415 /* "winGetTempname3" */, uintptr(0), 47249) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(25) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+9430 /* "winGetTempname3" */, uintptr(0), 47249) } zUtf8 = winMbcsToUtf8(tls, zMbcsPath, (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls)) if zUtf8 != 0 { - Xsqlite3_snprintf(tls, nMax, zBuf, ts+936 /* "%s" */, libc.VaList(bp+32, zUtf8)) + Xsqlite3_snprintf(tls, nMax, zBuf, ts+951 /* "%s" */, libc.VaList(bp+32, zUtf8)) Xsqlite3_free(tls, zUtf8) } else { Xsqlite3_free(tls, zBuf) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9272 /* "TEMP-FILENAME rc..." */, 0) + Xsqlite3DebugPrintf(tls, ts+9287 /* "TEMP-FILENAME rc..." */, 0) } return (SQLITE_IOERR | (int32(12) << 8)) } @@ -71087,9 +71593,9 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit if !(winMakeEndInDirSep(tls, (nDir+1), zBuf) != 0) { Xsqlite3_free(tls, zBuf) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9309 /* "TEMP-FILENAME rc..." */, 0) + Xsqlite3DebugPrintf(tls, ts+9324 /* "TEMP-FILENAME rc..." */, 0) } - return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+9431 /* "winGetTempname4" */, uintptr(0), 47273) + return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+9446 /* "winGetTempname4" */, uintptr(0), 47273) } // Check that the output buffer is large enough for the temporary file @@ -71105,12 +71611,12 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit if ((nLen + nPre) + 17) > nBuf { Xsqlite3_free(tls, zBuf) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9309 /* "TEMP-FILENAME rc..." */, 0) + Xsqlite3DebugPrintf(tls, ts+9324 /* "TEMP-FILENAME rc..." */, 0) } - return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+9447 /* "winGetTempname5" */, uintptr(0), 47291) + return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+9462 /* "winGetTempname5" */, uintptr(0), 47291) } - Xsqlite3_snprintf(tls, ((nBuf - 16) - nLen), (zBuf + uintptr(nLen)), ts+9264 /* "etilqs_" */, 0) + Xsqlite3_snprintf(tls, ((nBuf - 16) - nLen), (zBuf + uintptr(nLen)), ts+9279 /* "etilqs_" */, 0) j = Size_t(Xsqlite3Strlen30(tls, zBuf)) Xsqlite3_randomness(tls, 15, (zBuf + uintptr(j))) @@ -71136,12 +71642,12 @@ __3: *(*uintptr)(unsafe.Pointer(pzBuf)) = zBuf if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9463 /* "TEMP-FILENAME na..." */, libc.VaList(bp+48, zBuf)) + Xsqlite3DebugPrintf(tls, ts+9478 /* "TEMP-FILENAME na..." */, libc.VaList(bp+48, zBuf)) } return SQLITE_OK } -var zChars = *(*[63]int8)(unsafe.Pointer(ts + 9500 /* "abcdefghijklmnop..." */)) /* sqlite3.c:47084:15 */ +var zChars = *(*[63]int8)(unsafe.Pointer(ts + 9515 /* "abcdefghijklmnop..." */)) /* sqlite3.c:47084:15 */ // Return TRUE if the named file is really a directory. Return false if // it is something other than a directory, or if there is any kind of memory @@ -71203,7 +71709,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 var isReadWrite int32 = (flags & SQLITE_OPEN_READWRITE) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9563 /* "OPEN name=%s, pF..." */, libc.VaList(bp, zUtf8Name, id, flags, pOutFlags)) + Xsqlite3DebugPrintf(tls, ts+9578 /* "OPEN name=%s, pF..." */, libc.VaList(bp, zUtf8Name, id, flags, pOutFlags)) } // Check the following statements are true: @@ -71228,7 +71734,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 rc = winGetTempname(tls, pVfs, bp+192 /* &zTmpname */) if rc != SQLITE_OK { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9611 /* "OPEN name=%s, rc..." */, libc.VaList(bp+40, zUtf8Name, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+9626 /* "OPEN name=%s, rc..." */, libc.VaList(bp+40, zUtf8Name, Xsqlite3ErrName(tls, rc))) } return rc } @@ -71244,7 +71750,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 if zConverted == uintptr(0) { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 192 /* zTmpname */))) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9631 /* "OPEN name=%s, rc..." */, libc.VaList(bp+64, zUtf8Name)) + Xsqlite3DebugPrintf(tls, ts+9646 /* "OPEN name=%s, rc..." */, libc.VaList(bp+64, zUtf8Name)) } return (SQLITE_IOERR | (int32(12) << 8)) } @@ -71253,7 +71759,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 Xsqlite3_free(tls, zConverted) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 192 /* zTmpname */))) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9667 /* "OPEN name=%s, rc..." */, libc.VaList(bp+80, zUtf8Name)) + Xsqlite3DebugPrintf(tls, ts+9682 /* "OPEN name=%s, rc..." */, libc.VaList(bp+80, zUtf8Name)) } return (SQLITE_CANTOPEN | (int32(2) << 8)) } @@ -71279,7 +71785,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 dwCreationDisposition = DWORD(OPEN_EXISTING) } - if 0 == Xsqlite3_uri_boolean(tls, zName, ts+9706 /* "exclusive" */, 0) { + if 0 == Xsqlite3_uri_boolean(tls, zName, ts+9721 /* "exclusive" */, 0) { dwShareMode = (DWORD(FILE_SHARE_READ | FILE_SHARE_WRITE)) } else { dwShareMode = DWORD(0) @@ -71343,11 +71849,11 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 200 /* cnt */)), 47580) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9716 /* "OPEN file=%p, na..." */, libc.VaList(bp+96, h, zUtf8Name, dwDesiredAccess, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+9731 /* "OPEN file=%p, na..." */, libc.VaList(bp+96, h, zUtf8Name, dwDesiredAccess, func() uintptr { if h == (libc.UintptrFromInt64(int64(-1))) { - return ts + 6152 /* "failed" */ + return ts + 6167 /* "failed" */ } - return ts + 6149 /* "ok" */ + return ts + 6164 /* "ok" */ }())) } @@ -71360,7 +71866,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 pOutFlags) } else { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 204 /* lastErrno */)) - winLogErrorAtLine(tls, SQLITE_CANTOPEN, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+9758 /* "winOpen" */, zUtf8Name, 47595) + winLogErrorAtLine(tls, SQLITE_CANTOPEN, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+9773 /* "winOpen" */, zUtf8Name, 47595) return Xsqlite3CantopenError(tls, 47596) } } @@ -71374,16 +71880,16 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9766 /* "OPEN file=%p, na..." */, libc.VaList(bp+136, h, zUtf8Name, dwDesiredAccess, pOutFlags, func() int32 { + Xsqlite3DebugPrintf(tls, ts+9781 /* "OPEN file=%p, na..." */, libc.VaList(bp+136, h, zUtf8Name, dwDesiredAccess, pOutFlags, func() int32 { if pOutFlags != 0 { return *(*int32)(unsafe.Pointer(pOutFlags)) } return 0 }(), func() uintptr { if h == (libc.UintptrFromInt64(int64(-1))) { - return ts + 6152 /* "failed" */ + return ts + 6167 /* "failed" */ } - return ts + 6149 /* "ok" */ + return ts + 6164 /* "ok" */ }())) } @@ -71407,7 +71913,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 *(*U8)(unsafe.Pointer(pFile + 28 /* &.ctrlFlags */)) |= U8((WINFILE_RDONLY)) } if ((flags & SQLITE_OPEN_MAIN_DB) != 0) && - (Xsqlite3_uri_boolean(tls, zName, ts+9837 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+9852 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0) { *(*U8)(unsafe.Pointer(pFile + 28 /* &.ctrlFlags */)) |= U8((WINFILE_PSOW)) } (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = DWORD(0) @@ -71449,13 +71955,13 @@ func winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) in } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9842 /* "DELETE name=%s, ..." */, libc.VaList(bp, zFilename, syncDir)) + Xsqlite3DebugPrintf(tls, ts+9857 /* "DELETE name=%s, ..." */, libc.VaList(bp, zFilename, syncDir)) } zConverted = winConvertFromUtf8Filename(tls, zFilename) if zConverted == uintptr(0) { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9870 /* "DELETE name=%s, ..." */, libc.VaList(bp+24, zFilename)) + Xsqlite3DebugPrintf(tls, ts+9885 /* "DELETE name=%s, ..." */, libc.VaList(bp+24, zFilename)) } return (SQLITE_IOERR | (int32(12) << 8)) } @@ -71513,13 +72019,13 @@ 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 + 68 /* lastErrno */)), ts+9909 /* "winDelete" */, zFilename, 47768) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), *(*DWORD)(unsafe.Pointer(bp + 68 /* lastErrno */)), ts+9924 /* "winDelete" */, zFilename, 47768) } else { winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 64 /* cnt */)), 47770) } Xsqlite3_free(tls, zConverted) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9919 /* "DELETE name=%s, ..." */, libc.VaList(bp+40, zFilename, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+9934 /* "DELETE name=%s, ..." */, libc.VaList(bp+40, zFilename, Xsqlite3ErrName(tls, rc))) } return rc } @@ -71541,13 +72047,13 @@ func winAccess(tls *libc.TLS, pVfs uintptr, zFilename uintptr, flags int32, pRes } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9942 /* "ACCESS name=%s, ..." */, libc.VaList(bp, zFilename, flags, pResOut)) + Xsqlite3DebugPrintf(tls, ts+9957 /* "ACCESS name=%s, ..." */, libc.VaList(bp, zFilename, flags, pResOut)) } zConverted = winConvertFromUtf8Filename(tls, zFilename) if zConverted == uintptr(0) { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9980 /* "ACCESS name=%s, ..." */, libc.VaList(bp+32, zFilename)) + Xsqlite3DebugPrintf(tls, ts+9995 /* "ACCESS name=%s, ..." */, libc.VaList(bp+32, zFilename)) } return (SQLITE_IOERR | (int32(12) << 8)) } @@ -71574,7 +72080,7 @@ func winAccess(tls *libc.TLS, pVfs uintptr, zFilename uintptr, flags int32, pRes winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 116 /* cnt */)), 47820) if (*(*DWORD)(unsafe.Pointer(bp + 120 /* lastErrno */)) != DWORD(2)) && (*(*DWORD)(unsafe.Pointer(bp + 120 /* lastErrno */)) != DWORD(3)) { Xsqlite3_free(tls, zConverted) - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(13) << 8)), *(*DWORD)(unsafe.Pointer(bp + 120 /* lastErrno */)), ts+10019 /* "winAccess" */, zFilename, 47823) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(13) << 8)), *(*DWORD)(unsafe.Pointer(bp + 120 /* lastErrno */)), ts+10034 /* "winAccess" */, zFilename, 47823) } else { attr = libc.Uint32(libc.Uint32FromInt32(-1)) } @@ -71597,7 +72103,7 @@ func winAccess(tls *libc.TLS, pVfs uintptr, zFilename uintptr, flags int32, pRes } *(*int32)(unsafe.Pointer(pResOut)) = rc if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+10029 /* "ACCESS name=%s, ..." */, libc.VaList(bp+48, zFilename, pResOut, *(*int32)(unsafe.Pointer(pResOut)))) + Xsqlite3DebugPrintf(tls, ts+10044 /* "ACCESS name=%s, ..." */, libc.VaList(bp+48, zFilename, pResOut, *(*int32)(unsafe.Pointer(pResOut)))) } return SQLITE_OK } @@ -71679,7 +72185,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 return nFull } return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname - }(), zFull, ts+10084, /* "%s%c%s" */ + }(), zFull, ts+10099, /* "%s%c%s" */ libc.VaList(bp, Xsqlite3_data_directory, '\\', zRelative)) return SQLITE_OK } @@ -71692,7 +72198,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 nByte = (*(*func(*libc.TLS, LPCWSTR, DWORD, LPWSTR, uintptr) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 25*24 + 8 /* &.pCurrent */))))(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 /* &.pCurrent */))))(tls), ts+10091 /* "winFullPathname1" */, zRelative, 48040) + return winLogErrorAtLine(tls, (SQLITE_CANTOPEN | (int32(3) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+10106 /* "winFullPathname1" */, zRelative, 48040) } nByte = nByte + (DWORD(3)) zTemp = Xsqlite3MallocZero(tls, (uint64(nByte) * uint64(unsafe.Sizeof(WCHAR(0))))) @@ -71704,7 +72210,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 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 /* &.pCurrent */))))(tls), ts+10108 /* "winFullPathname2" */, zRelative, 48053) + return winLogErrorAtLine(tls, (SQLITE_CANTOPEN | (int32(3) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+10123 /* "winFullPathname2" */, zRelative, 48053) } Xsqlite3_free(tls, zConverted) zOut = winUnicodeToUtf8(tls, zTemp) @@ -71714,7 +72220,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 nByte = (*(*func(*libc.TLS, LPCSTR, DWORD, LPSTR, uintptr) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 24*24 + 8 /* &.pCurrent */))))(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 /* &.pCurrent */))))(tls), ts+10125 /* "winFullPathname3" */, zRelative, 48066) + return winLogErrorAtLine(tls, (SQLITE_CANTOPEN | (int32(3) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+10140 /* "winFullPathname3" */, zRelative, 48066) } nByte = nByte + (DWORD(3)) zTemp = Xsqlite3MallocZero(tls, (uint64(nByte) * uint64(unsafe.Sizeof(int8(0))))) @@ -71726,7 +72232,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 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 /* &.pCurrent */))))(tls), ts+10142 /* "winFullPathname4" */, zRelative, 48079) + return winLogErrorAtLine(tls, (SQLITE_CANTOPEN | (int32(3) << 8)), (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls), ts+10157 /* "winFullPathname4" */, zRelative, 48079) } Xsqlite3_free(tls, zConverted) zOut = winMbcsToUtf8(tls, zTemp, (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls)) @@ -71738,7 +72244,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 return nFull } return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname - }(), zFull, ts+936 /* "%s" */, libc.VaList(bp+32, zOut)) + }(), zFull, ts+951 /* "%s" */, libc.VaList(bp+32, zOut)) Xsqlite3_free(tls, zOut) return SQLITE_OK } else { @@ -71758,7 +72264,7 @@ func winDlOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr) uintptr { /* sqli _ = pVfs if zConverted == uintptr(0) { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+10159 /* "DLOPEN name=%s, ..." */, libc.VaList(bp, zFilename, uintptr(0))) + Xsqlite3DebugPrintf(tls, ts+10174 /* "DLOPEN name=%s, ..." */, libc.VaList(bp, zFilename, uintptr(0))) } return uintptr(0) } @@ -71768,7 +72274,7 @@ func winDlOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr) uintptr { /* sqli h = (*(*func(*libc.TLS, LPCSTR) HMODULE)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 44*24 + 8 /* &.pCurrent */))))(tls, zConverted) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+10159 /* "DLOPEN name=%s, ..." */, libc.VaList(bp+24, zFilename, h)) + Xsqlite3DebugPrintf(tls, ts+10174 /* "DLOPEN name=%s, ..." */, libc.VaList(bp+24, zFilename, h)) } Xsqlite3_free(tls, zConverted) return h @@ -71787,7 +72293,7 @@ func winDlSym(tls *libc.TLS, pVfs uintptr, pH uintptr, zSym uintptr) uintptr { / _ = pVfs proc = (*(*func(*libc.TLS, HMODULE, LPCSTR) FARPROC)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8 /* &.pCurrent */))))(tls, pH, zSym) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+10186 /* "DLSYM handle=%p,..." */, libc.VaList(bp, pH, zSym, proc)) + Xsqlite3DebugPrintf(tls, ts+10201 /* "DLSYM handle=%p,..." */, libc.VaList(bp, pH, zSym, proc)) } return proc } @@ -71799,7 +72305,7 @@ func winDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:481 _ = pVfs (*(*func(*libc.TLS, HMODULE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 16*24 + 8 /* &.pCurrent */))))(tls, pHandle) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+10226 /* "DLCLOSE handle=%..." */, libc.VaList(bp, pHandle)) + Xsqlite3DebugPrintf(tls, ts+10241 /* "DLCLOSE handle=%..." */, libc.VaList(bp, pHandle)) } } @@ -71949,7 +72455,7 @@ var winVfs = Sqlite3_vfs{ FiVersion: 3, // iVersion FszOsFile: int32(unsafe.Sizeof(WinFile{})), // szOsFile FmxPathname: ((MAX_PATH) * 4), // pNext - FzName: ts + 10245, /* "win32" */ // zName + FzName: ts + 10260, /* "win32" */ // zName FpAppData: 0, // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -71972,7 +72478,7 @@ var winLongPathVfs = Sqlite3_vfs{ FiVersion: 3, // iVersion FszOsFile: int32(unsafe.Sizeof(WinFile{})), // szOsFile FmxPathname: (int32(uint64(unsafe.Sizeof(WCHAR(0))) * (uint64(32767)))), // pNext - FzName: ts + 10251, /* "win32-longpath" */ // zName + FzName: ts + 10266, /* "win32-longpath" */ // zName FpAppData: 0, // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -71995,7 +72501,7 @@ var winNolockVfs = Sqlite3_vfs{ FiVersion: 3, // iVersion FszOsFile: int32(unsafe.Sizeof(WinFile{})), // szOsFile FmxPathname: ((MAX_PATH) * 4), // pNext - FzName: ts + 10266, /* "win32-none" */ // zName + FzName: ts + 10281, /* "win32-none" */ // zName FpAppData: 0, // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -72018,7 +72524,7 @@ var winLongPathNolockVfs = Sqlite3_vfs{ FiVersion: 3, // iVersion FszOsFile: int32(unsafe.Sizeof(WinFile{})), // szOsFile FmxPathname: (int32(uint64(unsafe.Sizeof(WCHAR(0))) * (uint64(32767)))), // pNext - FzName: ts + 10277, /* "win32-longpath-n..." */ // zName + FzName: ts + 10292, /* "win32-longpath-n..." */ // zName FpAppData: 0, // pAppData FxOpen: 0, // xOpen FxDelete: 0, // xDelete @@ -72111,7 +72617,7 @@ var memdb_g MemFS /* sqlite3.c:48620:3: */ var memdb_vfs = Sqlite3_vfs{ FiVersion: 2, // szOsFile (set when registered) FmxPathname: 1024, // pNext - FzName: ts + 10297, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 10312, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -72343,7 +72849,7 @@ func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int3 var rc int32 = SQLITE_NOTFOUND memdbEnter(tls, p) if op == SQLITE_FCNTL_VFSNAME { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+10303 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+10318 /* "memdb(%p,%lld)" */, libc.VaList(bp, (*MemStore)(unsafe.Pointer(p)).FaData, (*MemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == SQLITE_FCNTL_SIZE_LIMIT { @@ -72486,7 +72992,7 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(16) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+936 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+951 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } @@ -72603,7 +73109,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = Xsqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, ts+10318 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+10333 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) } else { @@ -72676,7 +73182,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+10341 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) + zSql = Xsqlite3_mprintf(tls, ts+10356 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) if !(zSql == uintptr(0)) { goto __3 } @@ -78177,7 +78683,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+10356, /* "recovered %d pag..." */ + Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+10371, /* "recovered %d pag..." */ libc.VaList(bp, nPlayback, (*Pager)(unsafe.Pointer(pPager)).FzJournal)) __27: ; @@ -79946,7 +80452,7 @@ __15: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzJournal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint64(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+10383 /* "-journal" */, uint64(8)) + libc.Xmemcpy(tls, pPtr, ts+10398 /* "-journal" */, uint64(8)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -79961,7 +80467,7 @@ __19: (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzWal = pPtr libc.Xmemcpy(tls, pPtr, zPathname, uint64(nPathname)) pPtr += uintptr(nPathname) - libc.Xmemcpy(tls, pPtr, ts+10392 /* "-wal" */, uint64(4)) + libc.Xmemcpy(tls, pPtr, ts+10407 /* "-wal" */, uint64(4)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -80020,9 +80526,9 @@ __27: ; __26: ; - (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+10397 /* "nolock" */, 0)) + (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FnoLock = U8(Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+10412 /* "nolock" */, 0)) if !(((iDc & SQLITE_IOCAP_IMMUTABLE) != 0) || - (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+10404 /* "immutable" */, 0) != 0)) { + (Xsqlite3_uri_boolean(tls, (*Pager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPager */)))).FzFilename, ts+10419 /* "immutable" */, 0) != 0)) { goto __30 } vfsFlags = vfsFlags | (SQLITE_OPEN_READONLY) @@ -83944,7 +84450,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+10414, /* "recovered %d fra..." */ + ts+10429, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -84689,7 +85195,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+10451 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) + Xsqlite3_log(tls, rx, ts+10466 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) } } @@ -87469,7 +87975,7 @@ func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:65443: // The header string that appears at the beginning of every // SQLite database. -var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 10477 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ +var zMagicHeader = *(*[16]int8)(unsafe.Pointer(ts + 10492 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -89509,7 +90015,7 @@ func Xsqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt mutexOpen = uintptr(0) rc = SQLITE_OK isTempDb = (libc.Bool32((zFilename == uintptr(0)) || (int32(*(*int8)(unsafe.Pointer(zFilename))) == 0))) - isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+10493 /* ":memory:" */) == 0)) || + isMemdb = (libc.Bool32((((zFilename != 0) && (libc.Xstrcmp(tls, zFilename, ts+10508 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -90383,7 +90889,7 @@ __10: // // The original design allowed these amounts to vary, but as of // version 3.6.0, we require them to be fixed. - if !(libc.Xmemcmp(tls, (page1+21), ts+10502 /* "@ " */, uint64(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+10517 /* "@ " */, uint64(3)) != 0) { goto __14 } goto page1_init_failed @@ -97899,7 +98405,7 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+10506 /* "\n" */, 1) + Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+10521 /* "\n" */, 1) } if (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, (pCheck + 56 /* &.errMsg */), (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -97935,11 +98441,11 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 defer tls.Free(32) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { - checkAppendMsg(tls, pCheck, ts+10508 /* "invalid page num..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+10523 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+10531 /* "2nd reference to..." */, libc.VaList(bp+16, iPage)) + checkAppendMsg(tls, pCheck, ts+10546 /* "2nd reference to..." */, libc.VaList(bp+16, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -97966,13 +98472,13 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 } - checkAppendMsg(tls, pCheck, ts+10556 /* "Failed to read p..." */, libc.VaList(bp, iChild)) + checkAppendMsg(tls, pCheck, ts+10571 /* "Failed to read p..." */, libc.VaList(bp, iChild)) return } if (int32(*(*U8)(unsafe.Pointer(bp + 64 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 68 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, - ts+10585, /* "Bad ptr map entr..." */ + ts+10600, /* "Bad ptr map entr..." */ libc.VaList(bp+16, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 64 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 68 /* iPtrmapParent */)))) } } @@ -97995,7 +98501,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } N-- if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+64 /* &pOvflPage */, 0) != 0 { - checkAppendMsg(tls, pCheck, ts+10639 /* "failed to get pa..." */, libc.VaList(bp, iPage)) + checkAppendMsg(tls, pCheck, ts+10654 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pOvflPage */))) @@ -98006,7 +98512,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+10661 /* "freelist leaf co..." */, libc.VaList(bp+16, iPage)) + ts+10676 /* "freelist leaf co..." */, libc.VaList(bp+16, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -98032,12 +98538,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, - ts+10700, /* "%s is %d but sho..." */ + ts+10715, /* "%s is %d but sho..." */ libc.VaList(bp+32, func() uintptr { if isFreeList != 0 { - return ts + 10726 /* "size" */ + return ts + 10741 /* "size" */ } - return ts + 10731 /* "overflow list le..." */ + return ts + 10746 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -98181,13 +98687,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 10752 /* "Page %u: " */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 10767 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+152 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, - ts+10762 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+10777 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -98201,7 +98707,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+10800 /* "btreeInitPage() ..." */, libc.VaList(bp+16, rc)) + ts+10815 /* "btreeInitPage() ..." */, libc.VaList(bp+16, rc)) goto end_of_check __4: ; @@ -98209,7 +98715,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+10838 /* "free space corru..." */, libc.VaList(bp+32, rc)) + checkAppendMsg(tls, pCheck, ts+10853 /* "free space corru..." */, libc.VaList(bp+32, rc)) goto end_of_check __5: ; @@ -98217,7 +98723,7 @@ __5: hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FhdrOffset) // Set up for cell analysis - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 10860 /* "On tree page %u ..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 10875 /* "On tree page %u ..." */ contentOffset = (U32(((((int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5)))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((hdr + 5))) + 1)))) - 1) & 0xffff) + 1)) // Enforced by btreeInitPage() @@ -98239,7 +98745,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 10886 /* "On page %u at ri..." */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 10901 /* "On page %u at ri..." */ checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; @@ -98270,7 +98776,7 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+10914, /* "Offset %d out of..." */ + checkAppendMsg(tls, pCheck, ts+10929, /* "Offset %d out of..." */ libc.VaList(bp+48, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 @@ -98281,7 +98787,7 @@ __12: if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+10944 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+10959 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -98299,7 +98805,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+10968 /* "Rowid %lld out o..." */, libc.VaList(bp+80, (*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+10983 /* "Rowid %lld out o..." */, libc.VaList(bp+80, (*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnKey)) __15: ; *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 168 /* &info */)).FnKey @@ -98340,7 +98846,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+10992 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+11007 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -98438,7 +98944,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+11017 /* "Multiple uses fo..." */, libc.VaList(bp+96, (*(*U32)(unsafe.Pointer(bp + 192 /* x */))>>16), iPage)) + ts+11032 /* "Multiple uses fo..." */, libc.VaList(bp+96, (*(*U32)(unsafe.Pointer(bp + 192 /* x */))>>16), iPage)) goto __30 goto __32 __31: @@ -98458,7 +98964,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+11054, /* "Fragmentation of..." */ + ts+11069, /* "Fragmentation of..." */ libc.VaList(bp+120, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -98587,7 +99093,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FzPfx = ts + 11106 /* "Main freelist: " */ + (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FzPfx = ts + 11121 /* "Main freelist: " */ checkList(tls, bp+56 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FzPfx = uintptr(0) @@ -98625,7 +99131,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+56, /* &sCheck */ - ts+11122, /* "max rootpage (%d..." */ + ts+11137, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -98635,7 +99141,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+56, /* &sCheck */ - ts+11167 /* "incremental_vacu..." */, 0) + ts+11182 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -98685,13 +99191,13 @@ __23: if !((getPageReferenced(tls, bp+56 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+56 /* &sCheck */, ts+11222 /* "Page %d is never..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+56 /* &sCheck */, ts+11237 /* "Page %d is never..." */, libc.VaList(bp+24, i)) __26: ; if !((getPageReferenced(tls, bp+56 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+56 /* &sCheck */, ts+11244 /* "Pointer map page..." */, libc.VaList(bp+40, i)) + checkAppendMsg(tls, bp+56 /* &sCheck */, ts+11259 /* "Pointer map page..." */, libc.VaList(bp+40, i)) __27: ; goto __24 @@ -99010,7 +99516,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt libc.Xmemset(tls, bp+32 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).Fdb = pDb if Xsqlite3OpenTempDatabase(tls, bp+32 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).Frc, ts+936 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).Frc, ts+951 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg) @@ -99021,7 +99527,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+11278 /* "unknown database..." */, libc.VaList(bp+16, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+11293 /* "unknown database..." */, libc.VaList(bp+16, zDb)) return uintptr(0) } @@ -99042,7 +99548,7 @@ func setDestPgsz(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:76336:12: */ // message in database handle db. func checkReadTransaction(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:76348:12: */ if Xsqlite3BtreeTxnState(tls, p) != SQLITE_TXN_NONE { - Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+11298 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+11313 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -99069,7 +99575,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+11329 /* "source and desti..." */, 0) + pDestDb, SQLITE_ERROR, ts+11344 /* "source and desti..." */, 0) p = uintptr(0) } else { // Allocate space for a new sqlite3_backup object... @@ -99683,7 +100189,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 16 /* x */)), zBuf) } else { Xsqlite3StrAccumInit(tls, bp+24 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+24 /* &acc */, ts+11369, /* "%!.15g" */ + Xsqlite3_str_appendf(tls, bp+24 /* &acc */, ts+11384, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -100324,7 +100830,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -100530,6 +101036,8 @@ func Xsqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n I64, enc U8 (*Mem)(unsafe.Pointer(pMem)).Fflags = flags if enc != 0 { (*Mem)(unsafe.Pointer(pMem)).Fenc = enc + } else if (*Mem)(unsafe.Pointer(pMem)).Fdb == uintptr(0) { + (*Mem)(unsafe.Pointer(pMem)).Fenc = U8(SQLITE_UTF8) } else { (*Mem)(unsafe.Pointer(pMem)).Fenc = (*Sqlite3)(unsafe.Pointer((*Mem)(unsafe.Pointer(pMem)).Fdb)).Fenc @@ -100835,7 +101343,7 @@ __9: goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 16 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) + Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: Xsqlite3ValueApplyAffinity(tls, pVal, aff, uint8(SQLITE_UTF8)) @@ -100907,7 +101415,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 zVal = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) = uintptr(0) negInt = 1 - zNeg = ts + 900 /* "" */ + zNeg = ts + 915 /* "" */ rc = SQLITE_OK __1: @@ -100956,7 +101464,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 11376 /* "-" */ + zNeg = ts + 11391 /* "-" */ __6: ; @@ -100976,7 +101484,7 @@ __9: Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: - zVal = Xsqlite3MPrintf(tls, db, ts+11378 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + zVal = Xsqlite3MPrintf(tls, db, ts+11393 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) if !(zVal == uintptr(0)) { goto __12 } @@ -102490,8 +102998,8 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint var seenCom int32 = 0 var c int8 zSynopsis = libc.AssignAddUintptr(&zOpName, (uintptr(nOpName + 1))) - if libc.Xstrncmp(tls, zSynopsis, ts+11383 /* "IF " */, uint64(3)) == 0 { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+160 /* &zAlt[0] */, ts+11387 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) + if libc.Xstrncmp(tls, zSynopsis, ts+11398 /* "IF " */, uint64(3)) == 0 { + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+160 /* &zAlt[0] */, ts+11402 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) zSynopsis = bp + 160 /* &zAlt[0] */ } for ii = 0; (int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zSynopsis + uintptr(ii)))))) != 0; ii++ { @@ -102505,24 +103013,24 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } else { var v1 int32 = translateP(tls, c, pOp) var v2 int32 - if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+11401 /* "@P" */, uint64(2)) == 0 { + if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+11416 /* "@P" */, uint64(2)) == 0 { ii = ii + (3) v2 = translateP(tls, *(*int8)(unsafe.Pointer(zSynopsis + uintptr(ii))), pOp) - if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+11404 /* "+1" */, uint64(2)) == 0 { + if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+11419 /* "+1" */, uint64(2)) == 0 { ii = ii + (2) v2++ } if v2 < 2 { - Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11407 /* "%d" */, libc.VaList(bp+16, v1)) + Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11422 /* "%d" */, libc.VaList(bp+16, v1)) } else { - Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11410 /* "%d..%d" */, libc.VaList(bp+32, v1, ((v1+v2)-1))) + Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11425 /* "%d..%d" */, libc.VaList(bp+32, v1, ((v1+v2)-1))) } - } else if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+11417 /* "@NP" */, uint64(3)) == 0 { + } else if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+11432 /* "@NP" */, uint64(3)) == 0 { var pCtx uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) if (int32((*Op)(unsafe.Pointer(pOp)).Fp4type) != (-16)) || (int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) == 1) { - Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11407 /* "%d" */, libc.VaList(bp+56, v1)) + Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11422 /* "%d" */, libc.VaList(bp+56, v1)) } else if int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) > 1 { - Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11410 /* "%d..%d" */, libc.VaList(bp+72, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) + Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11425 /* "%d..%d" */, libc.VaList(bp+72, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) } else if int32((*StrAccum)(unsafe.Pointer(bp+128 /* &x */)).FaccError) == 0 { *(*U32)(unsafe.Pointer(bp + 128 /* &x */ + 24 /* &.nChar */)) -= (U32(2)) @@ -102530,8 +103038,8 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } ii = ii + (3) } else { - Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11407 /* "%d" */, libc.VaList(bp+96, v1)) - if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+11421 /* "..P3" */, uint64(4)) == 0) && ((*Op)(unsafe.Pointer(pOp)).Fp3 == 0) { + Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11422 /* "%d" */, libc.VaList(bp+96, v1)) + if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+11436 /* "..P3" */, uint64(4)) == 0) && ((*Op)(unsafe.Pointer(pOp)).Fp3 == 0) { ii = ii + (4) } } @@ -102541,7 +103049,7 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } } if !(seenCom != 0) && ((*Op)(unsafe.Pointer(pOp)).FzComment != 0) { - Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11426 /* "; %s" */, libc.VaList(bp+112, (*Op)(unsafe.Pointer(pOp)).FzComment)) + Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11441 /* "; %s" */, libc.VaList(bp+112, (*Op)(unsafe.Pointer(pOp)).FzComment)) } } else if (*Op)(unsafe.Pointer(pOp)).FzComment != 0 { Xsqlite3_str_appendall(tls, bp+128 /* &x */, (*Op)(unsafe.Pointer(pOp)).FzComment) @@ -102568,34 +103076,34 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11431 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11446 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 32 /* &.aColl */) + uintptr(j)*8)) var zColl uintptr if pColl != 0 { zColl = (*CollSeq)(unsafe.Pointer(pColl)).FzName } else { - zColl = ts + 900 /* "" */ + zColl = ts + 915 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+463 /* "BINARY" */) == 0 { - zColl = ts + 11436 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+478 /* "BINARY" */) == 0 { + zColl = ts + 11451 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11438, /* ",%s%s%s" */ + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11453, /* ",%s%s%s" */ libc.VaList(bp+16, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { - return ts + 11376 /* "-" */ + return ts + 11391 /* "-" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 11446 /* "N." */ + return ts + 11461 /* "N." */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+240 /* &x */, ts+11449 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+240 /* &x */, ts+11464 /* ")" */, 1) break } @@ -102603,7 +103111,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11451 /* "%.18s-%s" */, libc.VaList(bp+48, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11466 /* "%.18s-%s" */, libc.VaList(bp+48, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -102611,32 +103119,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11460 /* "%s(%d)" */, libc.VaList(bp+72, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11475 /* "%s(%d)" */, libc.VaList(bp+72, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11460 /* "%s(%d)" */, libc.VaList(bp+96, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11475 /* "%s(%d)" */, libc.VaList(bp+96, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11467 /* "%lld" */, libc.VaList(bp+120, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11482 /* "%lld" */, libc.VaList(bp+120, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11407 /* "%d" */, libc.VaList(bp+136, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11422 /* "%d" */, libc.VaList(bp+136, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+683 /* "%.16g" */, libc.VaList(bp+152, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+698 /* "%.16g" */, libc.VaList(bp+152, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -102646,14 +103154,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11467 /* "%lld" */, libc.VaList(bp+168, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11482 /* "%lld" */, libc.VaList(bp+168, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+683 /* "%.16g" */, libc.VaList(bp+184, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+698 /* "%.16g" */, libc.VaList(bp+184, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { - zP4 = ts + 901 /* "NULL" */ + zP4 = ts + 916 /* "NULL" */ } else { - zP4 = ts + 11472 /* "(blob)" */ + zP4 = ts + 11487 /* "(blob)" */ } break @@ -102661,7 +103169,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11479 /* "vtab:%p" */, libc.VaList(bp+200, pVtab)) + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11494 /* "vtab:%p" */, libc.VaList(bp+200, pVtab)) break } @@ -102672,20 +103180,20 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11487 /* "%c%u" */, libc.VaList(bp+216, func() int32 { + Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11502 /* "%c%u" */, libc.VaList(bp+216, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+240 /* &x */, ts+11492 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+240 /* &x */, ts+11507 /* "]" */, 1) break } case -4: { - zP4 = ts + 11494 /* "program" */ + zP4 = ts + 11509 /* "program" */ break } @@ -102717,7 +103225,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+240 /* &x */) } -var encnames = [4]uintptr{ts + 11502 /* "?" */, ts + 11504 /* "8" */, ts + 11506 /* "16LE" */, ts + 11511 /* "16BE" */} /* sqlite3.c:80570:25 */ +var encnames = [4]uintptr{ts + 11517 /* "?" */, ts + 11519 /* "8" */, ts + 11521 /* "16LE" */, ts + 11526 /* "16BE" */} /* sqlite3.c:80570:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -103262,8 +103770,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 11516 /* "addr" */, ts + 11521 /* "opcode" */, ts + 11528 /* "p1" */, ts + 11531 /* "p2" */, ts + 11534 /* "p3" */, ts + 11537 /* "p4" */, ts + 11540 /* "p5" */, ts + 11543, /* "comment" */ - ts + 11551 /* "id" */, ts + 11554 /* "parent" */, ts + 11561 /* "notused" */, ts + 11569, /* "detail" */ + ts + 11531 /* "addr" */, ts + 11536 /* "opcode" */, ts + 11543 /* "p1" */, ts + 11546 /* "p2" */, ts + 11549 /* "p3" */, ts + 11552 /* "p4" */, ts + 11555 /* "p5" */, ts + 11558, /* "comment" */ + ts + 11566 /* "id" */, ts + 11569 /* "parent" */, ts + 11576 /* "notused" */, ts + 11584, /* "detail" */ } /* sqlite3.c:81298:23 */ // Close a VDBE cursor and release all the resources that cursor @@ -103511,7 +104019,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Select a super-journal file name nMainFile = Xsqlite3Strlen30(tls, zMainFile) - zSuper = Xsqlite3MPrintf(tls, db, ts+11576 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) + zSuper = Xsqlite3MPrintf(tls, db, ts+11591 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) if zSuper == uintptr(0) { return SQLITE_NOMEM } @@ -103521,16 +104029,16 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+11588 /* "MJ delete: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+11603 /* "MJ delete: %s" */, libc.VaList(bp+32, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+11602 /* "MJ collide: %s" */, libc.VaList(bp+48, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+11617 /* "MJ collide: %s" */, libc.VaList(bp+48, zSuper)) } } retryCount++ Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+88 /* &iRandom */) - Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+11617, /* "-mj%06X9%02X" */ + Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+11632, /* "-mj%06X9%02X" */ libc.VaList(bp+64, ((*(*U32)(unsafe.Pointer(bp + 88 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 88 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. @@ -103725,7 +104233,7 @@ func Xsqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) int32 { /* sq (!(deferred != 0) && ((*Vdbe)(unsafe.Pointer(p)).FnFkConstraint > int64(0))) { (*Vdbe)(unsafe.Pointer(p)).Frc = (SQLITE_CONSTRAINT | (int32(3) << 8)) (*Vdbe)(unsafe.Pointer(p)).FerrorAction = U8(OE_Abort) - Xsqlite3VdbeError(tls, p, ts+11630 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+11645 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -104007,7 +104515,7 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: // called), set the database error in this case as well. Xsqlite3ErrorWithMsg(tls, db, (*Vdbe)(unsafe.Pointer(p)).Frc, func() uintptr { if (*Vdbe)(unsafe.Pointer(p)).FzErrMsg != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -105559,13 +106067,13 @@ func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023 var zContext uintptr var zMsg uintptr if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_IsCheck) != 0 { - zContext = ts + 11660 /* "a CHECK constrai..." */ + zContext = ts + 11675 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 11679 /* "a generated colu..." */ + zContext = ts + 11694 /* "a generated colu..." */ } else { - zContext = ts + 11698 /* "an index" */ + zContext = ts + 11713 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+11707, /* "non-deterministi..." */ + zMsg = Xsqlite3_mprintf(tls, ts+11722, /* "non-deterministi..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -105696,7 +106204,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84185:1 // invalid). Return false if it is ok. func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ if (*Vdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+11743 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+11758 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -105706,7 +106214,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84196:12: */ func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:84204:12: */ if p == uintptr(0) { - Xsqlite3_log(tls, SQLITE_MISUSE, ts+11788 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+11803 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -106176,7 +106684,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:84708:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = SQLITE_TOOBIG - Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+11828 /* "string or blob t..." */, int64(-1), + Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, ts+11843 /* "string or blob t..." */, int64(-1), uint8(SQLITE_UTF8), uintptr(0)) } @@ -106927,7 +107435,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12 Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_MISUSE) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+11851 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) + ts+11866 /* "bind on a busy p..." */, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql)) return Xsqlite3MisuseError(tls, 85498) } if (i < 1) || (i > int32((*Vdbe)(unsafe.Pointer(p)).FnVar)) { @@ -107704,7 +108212,7 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+11891 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+88 /* &out */, ts+11906 /* "-- " */, 3) Xsqlite3_str_append(tls, bp+88 /* &out */, zStart, (int32((int64(zRawSql) - int64(zStart)) / 1))) } @@ -107742,11 +108250,11 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 224 /* idx */))-1))*56) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+901 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+88 /* &out */, ts+916 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11467 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11482 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11369 /* "%!.15g" */, libc.VaList(bp+16, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11384 /* "%!.15g" */, libc.VaList(bp+16, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc @@ -107761,21 +108269,21 @@ func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { pVar = bp + 232 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11895 /* "'%.*q'" */, libc.VaList(bp+32, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11910 /* "'%.*q'" */, libc.VaList(bp+32, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { Xsqlite3VdbeMemRelease(tls, bp+232 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11902 /* "zeroblob(%d)" */, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11917 /* "zeroblob(%d)" */, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+11915 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+88 /* &out */, ts+11930 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11918 /* "%02x" */, libc.VaList(bp+72, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11933 /* "%02x" */, libc.VaList(bp+72, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+11923 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+88 /* &out */, ts+11938 /* "'" */, 1) } } } @@ -111497,19 +112005,19 @@ __192: goto __195 } - Xsqlite3VdbeError(tls, p, ts+11925 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) + Xsqlite3VdbeError(tls, p, ts+11940 /* "%s constraint fa..." */, libc.VaList(bp, azType[(int32((*Op)(unsafe.Pointer(pOp)).Fp5)-1)])) if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __197 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+11946 /* "%z: %s" */, libc.VaList(bp+16, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+11961 /* "%z: %s" */, libc.VaList(bp+16, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __197: ; goto __196 __195: - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __196: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+11953 /* "abort at %d in [..." */, libc.VaList(bp+56, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+11968 /* "abort at %d in [..." */, libc.VaList(bp+56, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __194: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -114060,7 +114568,7 @@ __76: } // A new savepoint cannot be created if there are active write // statements (i.e. open read/write incremental blob handles). - Xsqlite3VdbeError(tls, p, ts+11977 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+11992 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __450 __449: @@ -114133,7 +114641,7 @@ __457: if !(!(pSavepoint != 0)) { goto __458 } - Xsqlite3VdbeError(tls, p, ts+12028 /* "no such savepoin..." */, libc.VaList(bp+88, zName)) + Xsqlite3VdbeError(tls, p, ts+12043 /* "no such savepoin..." */, libc.VaList(bp+88, zName)) rc = SQLITE_ERROR goto __459 __458: @@ -114143,7 +114651,7 @@ __458: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+12050 /* "cannot release s..." */, 0) + ts+12065 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __461 __460: @@ -114348,7 +114856,7 @@ __490: // If this instruction implements a COMMIT and other VMs are writing // return an error indicating that the other VMs must complete first. Xsqlite3VdbeError(tls, p, - ts+12104 /* "cannot commit tr..." */, 0) + ts+12119 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __493 @@ -114391,13 +114899,13 @@ __488: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 12159 /* "cannot start a t..." */ + return ts + 12174 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 12207 /* "cannot rollback ..." */ + return ts + 12222 /* "cannot rollback ..." */ } - return ts + 12250 /* "cannot commit - ..." */ + return ts + 12265 /* "cannot commit - ..." */ }() }(), 0) @@ -114515,7 +115023,7 @@ __500: // version is checked to ensure that the schema has not changed since the // SQL statement was prepared. Xsqlite3DbFree(tls, db, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+12291 /* "database schema ..." */) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3DbStrDup(tls, db, ts+12306 /* "database schema ..." */) // If the schema-cookie from the database file matches the cookie // stored with the in-memory representation of the schema, do // not reload the schema from the database file. @@ -114897,7 +115405,7 @@ __86: // Only used when number of columns is zero (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fn = 0 - (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 900 /* "" */ + (*Mem)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56)).Fz = ts + 915 /* "" */ __526: ; pCx1 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -117039,7 +117547,7 @@ __691: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __694 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+12319 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+12334 /* "index corruption" */) goto abort_due_to_error __694: ; @@ -117472,14 +117980,14 @@ __139: goto __723 __722: - zSchema = ts + 12336 /* "sqlite_master" */ + zSchema = ts + 12351 /* "sqlite_master" */ (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FiDb = iDb3 (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FpzErrMsg = (p + 168 /* &.zErrMsg */) (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FmInitFlags = U32(0) (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+12350, /* "SELECT*FROM\"%w\"...." */ + ts+12365, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp+104, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __724 @@ -117812,7 +118320,7 @@ __744: goto __749 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+12393 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+12408 /* "too many levels ..." */, 0) goto abort_due_to_error __749: ; @@ -118257,7 +118765,7 @@ __784: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __786 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+136, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+136, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __786: ; @@ -118335,7 +118843,7 @@ __791: if !(rc != 0) { goto __792 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+152, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+152, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __792: ; @@ -118450,12 +118958,12 @@ __801: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+12430, /* "cannot change %s..." */ + ts+12445, /* "cannot change %s..." */ libc.VaList(bp+168, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 12482 /* "into" */ + return ts + 12497 /* "into" */ } - return ts + 12487 /* "out of" */ + return ts + 12502 /* "out of" */ }())) goto abort_due_to_error goto __804 @@ -118658,7 +119166,7 @@ __169: goto __819 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+12494 /* "database table i..." */, libc.VaList(bp+184, z1)) + Xsqlite3VdbeError(tls, p, ts+12509 /* "database table i..." */, libc.VaList(bp+184, z1)) __819: ; goto abort_due_to_error @@ -118902,7 +119410,7 @@ __836: if !((*Sqlite3_context)(unsafe.Pointer(bp+992 /* &sContext */)).FisError > 0) { goto __837 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+200, Xsqlite3_value_text(tls, pDest2))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+200, Xsqlite3_value_text(tls, pDest2))) rc = (*Sqlite3_context)(unsafe.Pointer(bp + 992 /* &sContext */)).FisError __837: ; @@ -119235,7 +119743,7 @@ __860: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __865 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+216, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+216, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __865: ; @@ -119326,7 +119834,7 @@ __870: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __872 } - z3 = Xsqlite3MPrintf(tls, db, ts+12523 /* "-- %s" */, libc.VaList(bp+232, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+12538 /* "-- %s" */, libc.VaList(bp+232, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __873 @@ -119429,13 +119937,13 @@ __881: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __883 } - Xsqlite3VdbeError(tls, p, ts+936 /* "%s" */, libc.VaList(bp+248, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+248, Xsqlite3ErrStr(tls, rc))) __883: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) - Xsqlite3_log(tls, rc, ts+12529, /* "statement aborts..." */ + Xsqlite3_log(tls, rc, ts+12544, /* "statement aborts..." */ libc.VaList(bp+264, (int32((int64(pOp)-int64(aOp))/32)), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { @@ -119480,14 +119988,14 @@ __887: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+11828 /* "string or blob t..." */, 0) + Xsqlite3VdbeError(tls, p, ts+11843 /* "string or blob t..." */, 0) rc = SQLITE_TOOBIG goto abort_due_to_error // Jump to here if a malloc() fails. no_mem: Xsqlite3OomFault(tls, db) - Xsqlite3VdbeError(tls, p, ts+12561 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+12576 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -119500,8 +120008,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 12575 /* "NOT NULL" */, ts + 12584 /* "UNIQUE" */, ts + 12591, /* "CHECK" */ - ts + 12597 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ +var azType = [4]uintptr{ts + 12590 /* "NOT NULL" */, ts + 12599 /* "UNIQUE" */, ts + 12606, /* "CHECK" */ + ts + 12612 /* "FOREIGN KEY" */} /* sqlite3.c:87624:25 */ var and_logic = [9]uint8{uint8(0), uint8(0), uint8(0), uint8(0), uint8(1), uint8(2), uint8(0), uint8(2), uint8(2)} /* sqlite3.c:88844:32 */ var or_logic = [9]uint8{uint8(0), uint8(1), uint8(2), uint8(1), uint8(1), uint8(1), uint8(2), uint8(1), uint8(2)} /* sqlite3.c:88847:32 */ var aFlag1 = [2]U16{U16(MEM_Blob), (U16(MEM_Str | MEM_Term))} /* sqlite3.c:89315:24 */ @@ -119608,16 +120116,16 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) } if type1 < U32(12) { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+12609, /* "cannot open valu..." */ + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+12624, /* "cannot open valu..." */ libc.VaList(bp, func() uintptr { if type1 == U32(0) { - return ts + 12638 /* "null" */ + return ts + 12653 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 12643 /* "real" */ + return ts + 12658 /* "real" */ } - return ts + 12648 /* "integer" */ + return ts + 12663 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -119637,10 +120145,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+12656 /* "no such rowid: %..." */, libc.VaList(bp+16, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+12671 /* "no such rowid: %..." */, libc.VaList(bp+16, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+936 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+951 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -119703,21 +120211,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+12676 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+12691 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+12706 /* "cannot open tabl..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+12721 /* "cannot open tabl..." */, libc.VaList(bp+16, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+12742 /* "cannot open view..." */, libc.VaList(bp+32, zTable)) + Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+12757 /* "cannot open view..." */, libc.VaList(bp+32, zTable)) __7: ; if !(!(pTab != 0)) { @@ -119762,7 +120270,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+12763 /* "no such column: ..." */, libc.VaList(bp+48, zColumn)) + *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+12778 /* "no such column: ..." */, libc.VaList(bp+48, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -119791,7 +120299,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+64 /* &.aCol */)+uintptr(j)*16)).FiFrom == iCol) { goto __23 } - zFault = ts + 12784 /* "foreign key" */ + zFault = ts + 12799 /* "foreign key" */ __23: ; goto __21 @@ -119824,7 +120332,7 @@ __27: if !((int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == iCol) || (int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j1)*2))) == (-2))) { goto __30 } - zFault = ts + 12796 /* "indexed" */ + zFault = ts + 12811 /* "indexed" */ __30: ; goto __28 @@ -119845,7 +120353,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+12804 /* "cannot open %s c..." */, libc.VaList(bp+64, zFault)) + *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+12819 /* "cannot open %s c..." */, libc.VaList(bp+64, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -119954,7 +120462,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)))) @@ -120119,7 +120627,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) @@ -122744,11 +123252,11 @@ func bytecodevtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, ar *(*[2]uintptr)(unsafe.Pointer(bp /* azSchema */)) = [2]uintptr{ // bytecode() schema - ts + 12838, /* "CREATE TABLE x(a..." */ + ts + 12853, /* "CREATE TABLE x(a..." */ // Tables_used() schema - ts + 12950, /* "CREATE TABLE x(t..." */ + ts + 12965, /* "CREATE TABLE x(t..." */ } rc = Xsqlite3_declare_vtab(tls, db, *(*uintptr)(unsafe.Pointer(bp /* &azSchema[0] */ + uintptr(isTabUsed)*8))) @@ -122872,7 +123380,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 var pTab uintptr = (*HashElem)(unsafe.Pointer(k)).Fdata if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) && ((*Table)(unsafe.Pointer(pTab)).Ftnum == iRoot) { (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzName = (*Table)(unsafe.Pointer(pTab)).FzName - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 13031 /* "table" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 13046 /* "table" */ break } } @@ -122881,7 +123389,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 var pIdx uintptr = (*HashElem)(unsafe.Pointer(k)).Fdata if (*Index)(unsafe.Pointer(pIdx)).Ftnum == iRoot { (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzName = (*Index)(unsafe.Pointer(pIdx)).FzName - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 13037 /* "index" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 13052 /* "index" */ } } } @@ -122931,7 +123439,7 @@ func bytecodevtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 } else if *(*uintptr)(unsafe.Pointer(aOp + 16 /* &.p4 */)) != uintptr(0) { Xsqlite3_result_text(tls, ctx, (*(*uintptr)(unsafe.Pointer(aOp + 16 /* &.p4 */)) + uintptr(3)), -1, uintptr(0)) } else { - Xsqlite3_result_text(tls, ctx, ts+13043 /* "(FK)" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+13058 /* "(FK)" */, 4, uintptr(0)) } break @@ -122986,16 +123494,16 @@ func bytecodevtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FneedFinalize = 1 } } else { - (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+13048 /* "stmt-pointer" */) + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+13063 /* "stmt-pointer" */) } if (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FpStmt == uintptr(0) { (*Bytecodevtab)(unsafe.Pointer(pVTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+13061, /* "argument to %s()..." */ + ts+13076, /* "argument to %s()..." */ libc.VaList(bp, func() uintptr { if (*Bytecodevtab)(unsafe.Pointer(pVTab)).FbTablesUsed != 0 { - return ts + 13107 /* "tables_used" */ + return ts + 13122 /* "tables_used" */ } - return ts + 13119 /* "bytecode" */ + return ts + 13134 /* "bytecode" */ }())) rc = SQLITE_ERROR } else { @@ -123074,9 +123582,9 @@ func Xsqlite3VdbeBytecodeVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3. *(*uintptr)(unsafe.Pointer(bp)) = db var rc int32 - rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+13119 /* "bytecode" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), uintptr(0)) + rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+13134 /* "bytecode" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+13107 /* "tables_used" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), bp /* &db */) + rc = Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+13122 /* "tables_used" */, uintptr(unsafe.Pointer(&bytecodevtabModule)), bp /* &db */) } return rc } @@ -124057,7 +124565,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+13128 /* "main" */, zDb) == 0)) { + if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+13143 /* "main" */, zDb) == 0)) { goto __8 } // This branch is taken when the main database has been renamed @@ -124260,14 +124768,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+13133 /* "new" */, zTab) == 0)) { + if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+13148 /* "new" */, zTab) == 0)) { goto __41 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 1 pTab = (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab goto __42 __41: - if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+13137 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+13152 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -124284,7 +124792,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+13141 /* "excluded" */, zTab) == 0)) { + if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+13156 /* "excluded" */, zTab) == 0)) { goto __45 } pTab = (*SrcItem)(unsafe.Pointer(((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8 /* &.a */))).FpTab @@ -124461,7 +124969,7 @@ __66: if !((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0) && (((*Expr)(unsafe.Pointer((pOrig))).Fflags & (U32(EP_Agg))) != U32(0))) { goto __70 } - Xsqlite3ErrorMsg(tls, pParse, ts+13150 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+13165 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -124469,14 +124977,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+13181 /* "misuse of aliase..." */, libc.VaList(bp+16, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+13196 /* "misuse of aliase..." */, libc.VaList(bp+16, zAs)) return WRC_Abort __71: ; if !(Xsqlite3ExprVectorSize(tls, pOrig) != 1) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+13218 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13233 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -124552,7 +125060,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+13236 /* "double-quoted st..." */, libc.VaList(bp+32, zCol)) + ts+13251 /* "double-quoted st..." */, libc.VaList(bp+32, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)) = uintptr(0) return WRC_Prune @@ -124573,23 +125081,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 13271 /* "no such column" */ + zErr = ts + 13286 /* "no such column" */ } else { - zErr = ts + 13286 /* "ambiguous column..." */ + zErr = ts + 13301 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+13308 /* "%s: %s.%s.%s" */, libc.VaList(bp+48, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+13323 /* "%s: %s.%s.%s" */, libc.VaList(bp+48, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+13321 /* "%s: %s.%s" */, libc.VaList(bp+88, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+13336 /* "%s: %s.%s" */, libc.VaList(bp+88, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+13331 /* "%s: %s" */, libc.VaList(bp+120, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+13346 /* "%s: %s" */, libc.VaList(bp+120, zErr, zCol)) __82: ; __80: @@ -124723,15 +125231,15 @@ func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExp bp := tls.Alloc(24) defer tls.Free(24) - var zIn uintptr = ts + 13338 /* "partial index WH..." */ + var zIn uintptr = ts + 13353 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 13366 /* "index expression..." */ + zIn = ts + 13381 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 13384 /* "CHECK constraint..." */ + zIn = ts + 13399 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 13402 /* "generated column..." */ + zIn = ts + 13417 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+13420 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) + Xsqlite3ErrorMsg(tls, pParse, ts+13435 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) if pExpr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } @@ -124839,10 +125347,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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 /* &.u */)) = ts + 13440 /* "true" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 13455 /* "true" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsTrue)) } else { - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 13445 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 13460 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) } (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) @@ -124895,7 +125403,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (NC_IdxExpr | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+13451 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+13466 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -124962,7 +125470,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+13468 /* "second argument ..." */, 0) + ts+13483 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -124987,7 +125495,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s 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+13539, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13554, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -125011,7 +125519,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s // in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all // all this. if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & ((NC_IdxExpr | NC_PartIdx) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+13574 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+13589 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -125040,30 +125548,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+13602 /* "%.*s() may not b..." */, libc.VaList(bp+16, nId, zId)) + ts+13617 /* "%.*s() may not b..." */, libc.VaList(bp+16, nId, zId)) (*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 + 13646 /* "window" */ + zType = ts + 13661 /* "window" */ } else { - zType = ts + 13653 /* "aggregate" */ + zType = ts + 13668 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+13663 /* "misuse of %s fun..." */, libc.VaList(bp+40, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+13678 /* "misuse of %s fun..." */, libc.VaList(bp+40, zType, nId, zId)) (*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+13692 /* "no such function..." */, libc.VaList(bp+72, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+13707 /* "no such function..." */, libc.VaList(bp+72, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13715, /* "wrong number of ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13730, /* "wrong number of ..." */ libc.VaList(bp+96, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, - ts+13760, /* "FILTER may not b..." */ + ts+13775, /* "FILTER may not b..." */ libc.VaList(bp+120, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -125138,7 +125646,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+13809 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+13824 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) @@ -125155,7 +125663,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s { if ((*NameContext)(unsafe.Pointer((pNC))).FncFlags & (((NC_IsCheck | NC_PartIdx) | NC_IdxExpr) | NC_GenCol)) != 0 { - notValidImpl(tls, pParse, pNC, ts+13820 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+13835 /* "parameters" */, pExpr) } break @@ -125215,7 +125723,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+13218 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13233 /* "row value misuse..." */, 0) } break @@ -125320,7 +125828,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+13831 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) + ts+13846 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) } // Analyze the ORDER BY clause in a compound SELECT statement. Modify @@ -125352,7 +125860,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 + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+13887 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13902 /* "too many terms i..." */, 0) return 1 } for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { @@ -125387,7 +125895,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 } if Xsqlite3ExprIsInteger(tls, pE, bp+16 /* &iCol */) != 0 { if (*(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { - resolveOutOfRangeError(tls, pParse, ts+13921 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+13936 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -125458,7 +125966,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { if (int32(*(*uint8)(unsafe.Pointer(((pOrderBy + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.done */)) & 0x4 >> 2)) == 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+13927 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+13942 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -125486,7 +125994,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+13988 /* "too many terms i..." */, libc.VaList(bp, zType)) + Xsqlite3ErrorMsg(tls, pParse, ts+14003 /* "too many terms i..." */, libc.VaList(bp, zType)) return 1 } pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList @@ -125775,7 +126283,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp /* &sNC */ + 40 /* &.ncFlags */)) |= (NC_UEList) if (*Select)(unsafe.Pointer(p)).FpHaving != 0 { if !(pGroupBy != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14019 /* "a GROUP BY claus..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14034 /* "a GROUP BY claus..." */, 0) return WRC_Abort } if Xsqlite3ResolveExprNames(tls, bp /* &sNC */, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -125832,7 +126340,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // resolve those symbols on the incorrect ORDER BY for consistency. if (((*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0)) && (isCompound <= nCompound)) && // Defer right-most ORDER BY of a compound - (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+13921 /* "ORDER" */) != 0) { + (resolveOrderGroupBy(tls, bp /* &sNC */, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+13936 /* "ORDER" */) != 0) { return WRC_Abort } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -125845,7 +126353,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql if pGroupBy != 0 { var pItem uintptr - if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+14063 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { + if (resolveOrderGroupBy(tls, bp /* &sNC */, p, pGroupBy, ts+14078 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { return WRC_Abort } i = 0 @@ -125857,7 +126365,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql { if ((*Expr)(unsafe.Pointer(((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr))).Fflags & (U32(EP_Agg))) != U32(0) { Xsqlite3ErrorMsg(tls, pParse, - ts+14069 /* "aggregate functi..." */, 0) + ts+14084 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -126627,7 +127135,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+13218 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13233 /* "row value misuse..." */, 0) return } @@ -126703,7 +127211,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 3*4)) if nHeight > mxHeight { Xsqlite3ErrorMsg(tls, pParse, - ts+14128 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+14143 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -126944,7 +127452,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+14176 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+14191 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -126966,7 +127474,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u return uintptr(0) } if (pList != 0) && ((*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 6*4))) { - Xsqlite3ErrorMsg(tls, pParse, ts+14178 /* "too many argumen..." */, libc.VaList(bp, pToken)) + Xsqlite3ErrorMsg(tls, pParse, ts+14193 /* "too many argumen..." */, libc.VaList(bp, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32 /* &.x */)) = pList *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_HasFunc)) @@ -127000,7 +127508,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // is tagged with SQLITE_FUNC_UNSAFE) and // SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning // that the schema is possibly tainted). - Xsqlite3ErrorMsg(tls, pParse, ts+14212 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14227 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) } } } @@ -127053,7 +127561,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 16 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 16 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+14231, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14246, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) return } @@ -127080,7 +127588,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*Expr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14274 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14289 /* "too many SQL var..." */, 0) } } @@ -127749,7 +128257,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+14297, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14312, /* "%d columns assig..." */ libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error __3: @@ -127884,7 +128392,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 2*4)) if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx) { - Xsqlite3ErrorMsg(tls, pParse, ts+14327 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+14342 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -127939,10 +128447,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 { /* sqlite3.c:103208:20: */ - if Xsqlite3StrICmp(tls, zIn, ts+13440 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+13455 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+13445 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+13460 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -128387,13 +128895,13 @@ func Xsqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) int32 // Return TRUE if the given string is a row-id column name. func Xsqlite3IsRowid(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:103650:20: */ - if Xsqlite3StrICmp(tls, z, ts+14350 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+14365 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+14358 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+14373 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+14364 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+14379 /* "OID" */) == 0 { return 1 } return 0 @@ -128471,7 +128979,7 @@ func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int3 addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, iCur) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iCur, 0, regHasNull) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_TYPEOFARG)) - Xsqlite3VdbeComment(tls, v, ts+14368 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) + Xsqlite3VdbeComment(tls, v, ts+14383 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) Xsqlite3VdbeJumpHere(tls, v, addr1) } @@ -128624,7 +129132,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, Xsqlite3OpenTable(tls, pParse, iTab, iDb, pTab, OP_OpenRead) eType = IN_INDEX_ROWID - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+14387 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+14402 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeJumpHere(tls, v, iAddr) } else { var pIdx uintptr // Iterator variable @@ -128715,10 +129223,10 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+14434 /* "USING INDEX %s F..." */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+14449 /* "USING INDEX %s F..." */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+32, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+32, (*Index)(unsafe.Pointer(pIdx)).FzName)) eType = (IN_INDEX_INDEX_ASC + int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder)))) @@ -128822,7 +129330,7 @@ func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpec defer tls.Free(24) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { - var zFmt uintptr = ts + 14465 /* "sub-select retur..." */ + var zFmt uintptr = ts + 14480 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -128840,7 +129348,7 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_xIsSelect)) != 0 { Xsqlite3SubselectError(tls, pParse, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FpEList)).FnExpr, 1) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+13218 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13233 /* "row value misuse..." */, 0) } } @@ -128893,7 +129401,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+14509 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+14524 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) @@ -128907,7 +129415,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) - Xsqlite3VdbeComment(tls, v, ts+14532 /* "return address" */, 0) + Xsqlite3VdbeComment(tls, v, ts+14547 /* "return address" */, 0) addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) } @@ -128921,9 +129429,9 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 (*Expr)(unsafe.Pointer(pExpr)).FiTable = iTab addr = Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, (*Expr)(unsafe.Pointer(pExpr)).FiTable, nVal) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeComment(tls, v, ts+14547 /* "Result of SELECT..." */, libc.VaList(bp+16, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) + Xsqlite3VdbeComment(tls, v, ts+14562 /* "Result of SELECT..." */, libc.VaList(bp+16, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } else { - Xsqlite3VdbeComment(tls, v, ts+14567 /* "RHS of IN operat..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+14582 /* "RHS of IN operat..." */, 0) } pKeyInfo = Xsqlite3KeyInfoAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, nVal, 1) @@ -128935,11 +129443,11 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+14586 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+32, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+14601 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+32, func() uintptr { if addrOnce != 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 14605 /* "CORRELATED " */ + return ts + 14620 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSelect)).FselId)) // If the LHS and RHS of the IN operator do not match, that // error will have been caught long before we reach this point. @@ -129085,7 +129593,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // If this routine has already been coded, then invoke it as a // subroutine. if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_Subrtn))) != U32(0) { - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+14617 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+14632 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) return (*Expr)(unsafe.Pointer(pExpr)).FiTable @@ -129095,7 +129603,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_Subrtn)) *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) - Xsqlite3VdbeComment(tls, v, ts+14532 /* "return address" */, 0) + Xsqlite3VdbeComment(tls, v, ts+14547 /* "return address" */, 0) // The evaluation of the EXISTS/SELECT must be repeated every time it // is encountered if any of the following is true: @@ -129119,11 +129627,11 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+14635 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+16, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+14650 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+16, func() uintptr { if addrOnce != 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 14605 /* "CORRELATED " */ + return ts + 14620 /* "CORRELATED " */ }(), (*Select)(unsafe.Pointer(pSel)).FselId)) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { nReg = (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpEList)).FnExpr @@ -129137,17 +129645,17 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FiSDParm (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FnSdst = nReg Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, (*SelectDest)(unsafe.Pointer(bp+40 /* &dest */)).FiSDParm, (((*SelectDest)(unsafe.Pointer(bp+40 /* &dest */)).FiSDParm + nReg) - 1)) - Xsqlite3VdbeComment(tls, v, ts+14656 /* "Init subquery re..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+14671 /* "Init subquery re..." */, 0) } else { (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FeDest = U8(SRT_Exists) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*SelectDest)(unsafe.Pointer(bp+40 /* &dest */)).FiSDParm) - Xsqlite3VdbeComment(tls, v, ts+14677 /* "Init EXISTS resu..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+14692 /* "Init EXISTS resu..." */, 0) } if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 { // The subquery already has a limit. If the pre-existing limit is X // then make the new limit X<>0 so that the new limit is either 1 or 0 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+14176 /* "0" */) + pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+14191 /* "0" */) if pLimit != 0 { (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, @@ -129157,7 +129665,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { // If there is no pre-existing limit add a limit of 1 - pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+14696 /* "1" */) + pLimit = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, ts+14711 /* "1" */) (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -129292,7 +129800,7 @@ __2: // the RHS has not yet been coded. v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // OOM detected prior to this routine - Xsqlite3VdbeNoopComment(tls, v, ts+14698 /* "begin IN expr" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+14713 /* "begin IN expr" */, 0) eType = Xsqlite3FindInIndex(tls, pParse, pExpr, (uint32(IN_INDEX_MEMBERSHIP | IN_INDEX_NOOP_OK)), func() uintptr { @@ -129597,7 +130105,7 @@ sqlite3ExprCodeIN_finished: Xsqlite3ReleaseTempReg(tls, pParse, rLhs) __40: ; - Xsqlite3VdbeComment(tls, v, ts+14712 /* "end IN expr" */, 0) + Xsqlite3VdbeComment(tls, v, ts+14727 /* "end IN expr" */, 0) sqlite3ExprCodeIN_oom_error: Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiMap) Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, zAff) @@ -129649,12 +130157,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM c = Xsqlite3DecOrHexToI64(tls, z, bp+24 /* &value */) if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 24 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { - if Xsqlite3_strnicmp(tls, z, ts+14724 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14727 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { + if Xsqlite3_strnicmp(tls, z, ts+14739 /* "0x" */, 2) == 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+14742 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { - return ts + 11376 /* "-" */ + return ts + 11391 /* "-" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -129729,7 +130237,7 @@ func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iT } else if (int32((*Column)(unsafe.Pointer((libc.AssignUintptr(&pCol, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32))))).FcolFlags) & COLFLAG_VIRTUAL) != 0 { var pParse uintptr = Xsqlite3VdbeParser(tls, v) if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_BUSY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14753 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14768 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else { var savedSelfTab int32 = (*Parse)(unsafe.Pointer(pParse)).FiSelfTab *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) @@ -130220,10 +130728,10 @@ __56: if !(int32((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn) < 0) { goto __59 } - Xsqlite3VdbeComment(tls, v, ts+14783 /* "%s.rowid" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+14798 /* "%s.rowid" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto __60 __59: - Xsqlite3VdbeComment(tls, v, ts+14792 /* "%s.%s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+14807 /* "%s.%s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).FzName)) if !(int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).Faffinity) == SQLITE_AFF_REAL) { goto __61 } @@ -130288,7 +130796,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+14753, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14768, /* "generated column..." */ libc.VaList(bp+40, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -130540,7 +131048,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+14798 /* "misuse of aggreg..." */, libc.VaList(bp+56, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+14813 /* "misuse of aggreg..." */, libc.VaList(bp+56, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*32)).FiMem @@ -130582,7 +131090,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+14824 /* "unknown function..." */, libc.VaList(bp+72, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+14839 /* "unknown function..." */, libc.VaList(bp+72, zId)) goto __3 __91: ; @@ -130776,7 +131284,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+14297, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14312, /* "%d columns assig..." */ libc.VaList(bp+88, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -130843,14 +131351,14 @@ __51: int32(Xsqlite3TableColumnToStorage(tls, pTab2, int16(iCol1)))) Xsqlite3VdbeAddOp2(tls, v, OP_Param, p1, target) - Xsqlite3VdbeComment(tls, v, ts+14847 /* "r[%d]=%s.%s" */, libc.VaList(bp+112, target, func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+14862 /* "r[%d]=%s.%s" */, libc.VaList(bp+112, target, func() uintptr { if (*Expr)(unsafe.Pointer(pExpr)).FiTable != 0 { - return ts + 13133 /* "new" */ + return ts + 13148 /* "new" */ } - return ts + 13137 /* "old" */ + return ts + 13152 /* "old" */ }(), func() uintptr { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { - return ts + 14859 /* "rowid" */ + return ts + 14874 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)))).FaCol + uintptr(iCol1)*32)).FzName }())) @@ -130869,7 +131377,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+13218 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13233 /* "row value misuse..." */, 0) goto __3 // TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions @@ -130993,7 +131501,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+14865 /* "RAISE() may only..." */, 0) + ts+14880 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -131032,7 +131540,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 14915 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ +var zAff = *(*[8]int8)(unsafe.Pointer(ts + 14930 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -132869,11 +133377,11 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq bp := tls.Alloc(16) defer tls.Free(16) - if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+14923 /* "sqlite_" */, 7)) || + if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+14938 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || ((((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Shadow)) != U32(0)) && (Xsqlite3ReadOnlyShadowTables(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+14931 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14946 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -132891,14 +133399,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+14959, /* "SELECT 1 FROM \"%..." */ + ts+14974, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+15134, /* "SELECT 1 FROM te..." */ + ts+15149, /* "SELECT 1 FROM te..." */ libc.VaList(bp+48, zDb, zWhen, bNoDQS)) } } @@ -132914,11 +133422,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+15308 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) + ts+15323 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+15455 /* "UPDATE temp.sqli..." */, 0) + ts+15470 /* "UPDATE temp.sqli..." */, 0) } } @@ -132992,7 +133500,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+15606 /* "there is already..." */, libc.VaList(bp, zName)) + ts+15621 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -133005,7 +133513,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+13031 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+13046 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -133015,7 +133523,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+15665 /* "view %s may not ..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15680 /* "view %s may not ..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -133068,24 +133576,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+15692 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+15707 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, - ts+15876, /* "UPDATE %Q.sqlite..." */ + ts+15891, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+88, zDb, zName, zName, zName, nTabName, zTabName)) // If the sqlite_sequence table exists in this database, then update // it with the new table name. - if !(Xsqlite3FindTable(tls, db, ts+16181 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+16196 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+16197, /* "UPDATE \"%w\".sqli..." */ + ts+16212, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+144, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -133098,7 +133606,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+16255 /* "UPDATE sqlite_te..." */, libc.VaList(bp+176, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+16270 /* "UPDATE sqlite_te..." */, libc.VaList(bp+176, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -133116,7 +133624,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+16520 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+16535 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -133131,7 +133639,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(32) Xsqlite3NestedParse(tls, pParse, - ts+16533, /* "SELECT raise(ABO..." */ + ts+16548, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -133179,12 +133687,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // If there is a NOT NULL constraint, then the default value for the // column must not be NULL. if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+16571 /* "Cannot add a PRI..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16586 /* "Cannot add a PRI..." */, 0) return } if (*Table)(unsafe.Pointer(pNew)).FpIndex != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+16603 /* "Cannot add a UNI..." */, 0) + ts+16618 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -133197,11 +133705,11 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if ((((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ForeignKeys)) != 0) && ((*Table)(unsafe.Pointer(pNew)).FpFKey != 0)) && (pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+16630 /* "Cannot add a REF..." */) + ts+16645 /* "Cannot add a REF..." */) } if ((*Column)(unsafe.Pointer(pCol)).FnotNull != 0) && !(pDflt != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+16689 /* "Cannot add a NOT..." */) + ts+16704 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -133217,12 +133725,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 48 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+16742 /* "Cannot add a col..." */) + ts+16757 /* "Cannot add a col..." */) } Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { - sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+16788 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+16803 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -133238,7 +133746,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+16815, /* "UPDATE \"%w\".sqli..." */ + ts+16830, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp, zDb, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zCol, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zTab)) Xsqlite3DbFree(tls, db, zCol) @@ -133309,7 +133817,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+16961 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16976 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -133318,7 +133826,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+16995 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17010 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -133353,7 +133861,7 @@ __6: nAlloc = ((((int32((*Table)(unsafe.Pointer(pNew)).FnCol) - 1) / 8) * 8) + 8) (*Table)(unsafe.Pointer(pNew)).FaCol = Xsqlite3DbMallocZero(tls, db, (uint64(unsafe.Sizeof(Column{})) * uint64(nAlloc))) - (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+17025 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + (*Table)(unsafe.Pointer(pNew)).FzName = Xsqlite3MPrintf(tls, db, ts+17040 /* "sqlite_altertab_..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(!(int32((*Table)(unsafe.Pointer(pNew)).FaCol) != 0) || !(int32((*Table)(unsafe.Pointer(pNew)).FzName) != 0)) { goto __7 } @@ -133400,18 +133908,18 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { - zType = ts + 17044 /* "view" */ + zType = ts + 17059 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 17049 /* "virtual table" */ + zType = ts + 17064 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+17063, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17078, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 17081 /* "drop column from" */ + return ts + 17096 /* "drop column from" */ } - return ts + 17098 /* "rename columns o..." */ + return ts + 17113 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -133504,13 +134012,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+12763 /* "no such column: ..." */, libc.VaList(bp, zOld)) + Xsqlite3ErrorMsg(tls, pParse, ts+12778 /* "no such column: ..." */, libc.VaList(bp, zOld)) goto exit_rename_column __10: ; // Ensure the schema contains no double-quoted strings - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+900 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+915 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iSchema == 1))) // Do the rename operation using a recursive UPDATE statement that @@ -133528,19 +134036,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+17116, /* "UPDATE \"%w\".sqli..." */ + ts+17131, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+16, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, - ts+17334, /* "UPDATE temp.sqli..." */ + ts+17349, /* "UPDATE temp.sqli..." */ libc.VaList(bp+88, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+16520 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+16535 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -133835,12 +134343,12 @@ func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType ui var zN uintptr = Xsqlite3_value_text(tls, pObject) var zErr uintptr - zErr = Xsqlite3_mprintf(tls, ts+17465, /* "error in %s %s%s..." */ + zErr = Xsqlite3_mprintf(tls, ts+17480, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - return ts + 17488 /* " " */ + return ts + 17503 /* " " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -133949,7 +134457,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z // ALTER TABLE statement was quoted (bQuote==1), then set zNew to // point to zQuot so that all substitutions are made using the // quoted version of the new column name. - zQuot = Xsqlite3MPrintf(tls, db, ts+17490 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+17505 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -133999,12 +134507,12 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.Xmemcpy(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, uint64((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+17496 /* "%Q%s" */, libc.VaList(bp+16, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+17511 /* "%Q%s" */, libc.VaList(bp+16, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { - return ts + 17488 /* " " */ + return ts + 17503 /* " " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -134509,7 +135017,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+900 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) + renameColumnParseError(tls, context, ts+915 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &sParse */) goto __45 __44: Xsqlite3_result_error_code(tls, context, rc) @@ -134689,7 +135197,7 @@ func renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr } if rc != SQLITE_OK { if (*Parse)(unsafe.Pointer(bp+80 /* &sParse */)).FzErrMsg != 0 { - renameColumnParseError(tls, context, ts+900 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) + renameColumnParseError(tls, context, ts+915 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -134971,7 +135479,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+17501 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) + zNew = Xsqlite3MPrintf(tls, db, ts+17516 /* "%.*s%s" */, libc.VaList(bp, ((int64((*RenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql))/1), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -1, libc.UintptrFromInt32(-1)) Xsqlite3_free(tls, zNew) @@ -135059,7 +135567,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+12763 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+12778 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -135069,12 +135577,12 @@ __6: if !((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & (COLFLAG_PRIMKEY | COLFLAG_UNIQUE)) != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+17508, /* "cannot drop %s c..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17523, /* "cannot drop %s c..." */ libc.VaList(bp+16, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { - return ts + 17536 /* "PRIMARY KEY" */ + return ts + 17551 /* "PRIMARY KEY" */ } - return ts + 12584 /* "UNIQUE" */ + return ts + 12599 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -135085,7 +135593,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+17548 /* "cannot drop colu..." */, libc.VaList(bp+40, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+17563 /* "cannot drop colu..." */, libc.VaList(bp+40, zCol)) goto exit_drop_column __8: ; @@ -135094,15 +135602,15 @@ __8: iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+900 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+915 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+17596 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+56, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+17611 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+56, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+17717 /* "after drop colum..." */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+17732 /* "after drop colum..." */, 1) // Edit rows of table on disk if !(((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) && ((int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_VIRTUAL) == 0)) { @@ -135213,11 +135721,11 @@ func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:109584:21: */ } var aAlterTableFuncs = [5]FuncDef{ - {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 17735 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 17756 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 17776 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 17795 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 17814 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ + {FnArg: int8(9), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 17750 /* "sqlite_rename_co..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 17771 /* "sqlite_rename_ta..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 17791 /* "sqlite_rename_te..." */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 17810 /* "sqlite_drop_colu..." */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 17829 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -135414,7 +135922,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // of the new table in register pParse->regRoot. This is important // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, - ts+17837 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) + ts+17852 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) *(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) *(*U8)(unsafe.Pointer(bp + 96 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } @@ -135426,10 +135934,10 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, - ts+17860, /* "DELETE FROM %Q.%..." */ + ts+17875, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+17890 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+72, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+17905 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+72, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4))), iDb) @@ -135450,9 +135958,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 17908 /* "sqlite_stat1" */, FzCols: ts + 17921 /* "tbl,idx,stat" */}, - {FzName: ts + 17934 /* "sqlite_stat4" */, FzCols: ts + 17947 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 17975 /* "sqlite_stat3" */}, + {FzName: ts + 17923 /* "sqlite_stat1" */, FzCols: ts + 17936 /* "tbl,idx,stat" */}, + {FzName: ts + 17949 /* "sqlite_stat4" */, FzCols: ts + 17962 /* "tbl,idx,neq,nlt,..." */}, + {FzName: ts + 17990 /* "sqlite_stat3" */}, } /* sqlite3.c:109773:5 */ // Recommended number of samples for sqlite_stat4 @@ -135683,7 +136191,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 17988 /* "stat_init" */} /* sqlite3.c:110084:22 */ + FzName: ts + 18003 /* "stat_init" */} /* sqlite3.c:110084:22 */ // pNew and pOld are both candidate non-periodic samples selected for // the same column (pNew->iCol==pOld->iCol). Ignoring this column and @@ -136001,7 +136509,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 17998 /* "stat_push" */} /* sqlite3.c:110374:22 */ + FzName: ts + 18013 /* "stat_push" */} /* sqlite3.c:110374:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is // used to query statistical information that has been gathered into @@ -136058,7 +136566,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+18008, /* "%llu" */ + Xsqlite3_snprintf(tls, 24, zRet, ts+18023, /* "%llu" */ libc.VaList(bp, func() uint64 { if (*StatAccum)(unsafe.Pointer(p)).FnSkipAhead != 0 { return U64((*StatAccum)(unsafe.Pointer(p)).FnEst) @@ -136069,7 +136577,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+18013 /* " %llu" */, libc.VaList(bp+16, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+18028 /* " %llu" */, libc.VaList(bp+16, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -136118,7 +136626,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+18019 /* "%llu " */, libc.VaList(bp+32, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+18034 /* "%llu " */, libc.VaList(bp+32, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -136135,7 +136643,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 18025 /* "stat_get" */} /* sqlite3.c:110526:22 */ + FzName: ts + 18040 /* "stat_get" */} /* sqlite3.c:110526:22 */ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:110538:13: */ Xsqlite3VdbeAddOp2(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Integer, iParam, (regStat + 1)) @@ -136154,11 +136662,11 @@ func analyzeVdbeCommentIndexWithColumnName(tls *libc.TLS, v uintptr, pIdx uintpt i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(k)*2))) if i == (-1) { - Xsqlite3VdbeComment(tls, v, ts+14783 /* "%s.rowid" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+14798 /* "%s.rowid" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else if i == (-2) { - Xsqlite3VdbeComment(tls, v, ts+18034 /* "%s.expr(%d)" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) + Xsqlite3VdbeComment(tls, v, ts+18049 /* "%s.expr(%d)" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) } else { - Xsqlite3VdbeComment(tls, v, ts+14792 /* "%s.%s" */, libc.VaList(bp+40, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+14807 /* "%s.%s" */, libc.VaList(bp+40, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*32)).FzName)) } } @@ -136203,7 +136711,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Do not gather statistics on views or virtual tables return } - if Xsqlite3_strlike(tls, ts+18046 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, ts+18061 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { // Do not gather statistics on system tables return } @@ -136221,7 +136729,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp return } (*Table)(unsafe.Pointer(pStat1)).FzName = (pStat1 + 1*120) - libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+17908 /* "sqlite_stat1" */, uint64(13)) + libc.Xmemcpy(tls, (*Table)(unsafe.Pointer(pStat1)).FzName, ts+17923 /* "sqlite_stat1" */, uint64(13)) (*Table)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*Table)(unsafe.Pointer(pStat1)).FiPKey = int16(-1) Xsqlite3VdbeAddOp4(tls, (*Parse)(unsafe.Pointer(pParse)).FpVdbe, OP_Noop, 0, 0, 0, pStat1, -17) @@ -136272,7 +136780,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Populate the register containing the index name. Xsqlite3VdbeLoadString(tls, v, regIdxname, zIdxName) - Xsqlite3VdbeComment(tls, v, ts+18056 /* "Analysis for %s...." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zIdxName)) + Xsqlite3VdbeComment(tls, v, ts+18071 /* "Analysis for %s...." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zIdxName)) // Pseudo-code for loop that calls stat_push(): // @@ -136319,7 +136827,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iIdxCur, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName)) // Invoke the stat_init() function. The arguments are: // @@ -136456,7 +136964,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Add the entry to the stat1 table. callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+18075 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+18090 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP4(tls, v, -1, pStat1, -6) @@ -136513,12 +137021,12 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Create a single sqlite_stat1 entry containing NULL as the index // name and the row count as the content. if (pOnlyIdx == uintptr(0)) && (needTableCnt != 0) { - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+40, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+40, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeAddOp2(tls, v, OP_Count, iTabCur, regStat1) jZeroRows = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, regStat1) Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regIdxname) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+18075 /* "BBB" */, 0) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regTabname, 3, regTemp, ts+18090 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -136571,9 +137079,9 @@ func analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr) iStatCur = (*Parse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52 /* &.nTab */)) += (3) if pOnlyIdx != 0 { - openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+18079 /* "idx" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Index)(unsafe.Pointer(pOnlyIdx)).FzName, ts+18094 /* "idx" */) } else { - openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+18083 /* "tbl" */) + openStatTable(tls, pParse, iDb, iStatCur, (*Table)(unsafe.Pointer(pTab)).FzName, ts+18098 /* "tbl" */) } analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1), (*Parse)(unsafe.Pointer(pParse)).FnTab) loadAnalysis(tls, pParse, iDb) @@ -136668,7 +137176,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 900 /* "" */ + z = ts + 915 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -136690,15 +137198,15 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, ts+18087 /* "unordered*" */, z) == 0 { + if Xsqlite3_strglob(tls, ts+18102 /* "unordered*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.bUnordered */, uint32(1), 2, 0x4) - } else if Xsqlite3_strglob(tls, ts+18098 /* "sz=[0-9]*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+18113 /* "sz=[0-9]*" */, z) == 0 { var sz int32 = Xsqlite3Atoi(tls, (z + uintptr(3))) if sz < 2 { sz = 2 } (*Index)(unsafe.Pointer(pIndex)).FszIdxRow = Xsqlite3LogEst(tls, uint64(sz)) - } else if Xsqlite3_strglob(tls, ts+18108 /* "noskipscan*" */, z) == 0 { + } else if Xsqlite3_strglob(tls, ts+18123 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(1), 6, 0x40) } for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { @@ -137017,10 +137525,10 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:111438:12: */ var rc int32 = SQLITE_OK // Result codes from subroutines - if Xsqlite3FindTable(tls, db, ts+17934 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+17949 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+18120, /* "SELECT idx,count..." */ - ts+18174, /* "SELECT idx,neq,n..." */ + ts+18135, /* "SELECT idx,count..." */ + ts+18189, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -137071,9 +137579,9 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit // Load new statistics out of the sqlite_stat1 table (*AnalysisInfo)(unsafe.Pointer(bp + 16 /* &sInfo */)).Fdb = db (*AnalysisInfo)(unsafe.Pointer(bp + 16 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+17908 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase) != uintptr(0) { + if Xsqlite3FindTable(tls, db, ts+17923 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+18226 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase)) + ts+18241 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { @@ -137165,7 +137673,7 @@ func resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) int32 { /* s // database iDb attached to handle db. func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int32 { /* sqlite3.c:111595:20: */ return (libc.Bool32((Xsqlite3StrICmp(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName) == 0) || - ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+13128 /* "main" */, zName) == 0)))) + ((iDb == 0) && (Xsqlite3StrICmp(tls, ts+13143 /* "main" */, zName) == 0)))) } // An SQL user-function registered to do the work of an ATTACH statement. The @@ -137216,13 +137724,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 900 /* "" */ + zFile = ts + 915 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 900 /* "" */ + zName = ts + 915 /* "" */ __2: ; @@ -137232,7 +137740,7 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+10297 /* "memdb" */) + *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+10312 /* "memdb" */) if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)) == uintptr(0)) { goto __5 } @@ -137248,7 +137756,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)), ts+18267 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)), ts+18282 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -137261,7 +137769,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18270, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18285, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -137275,7 +137783,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18307 /* "database %s is a..." */, libc.VaList(bp+16, zName)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18322 /* "database %s is a..." */, libc.VaList(bp+16, zName)) goto attach_error __11: ; @@ -137346,7 +137854,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18337 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18352 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -137363,7 +137871,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+18366 /* "attached databas..." */, 0) + ts+18381 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -137433,13 +137941,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+12561 /* "out of memory" */, 0) + *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+12576 /* "out of memory" */, 0) goto __31 __30: if !(*(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18434 /* "unable to open d..." */, libc.VaList(bp+32, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18449 /* "unable to open d..." */, libc.VaList(bp+32, zFile)) __32: ; __31: @@ -137495,7 +138003,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 900 /* "" */ + zName = ts + 915 /* "" */ __1: ; i = 0 @@ -137527,14 +138035,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+18462 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+18477 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+18483 /* "cannot detach da..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+18498 /* "cannot detach da..." */, libc.VaList(bp+16, zName)) goto detach_error __8: ; @@ -137542,7 +138050,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+18509 /* "database %s is l..." */, libc.VaList(bp+32, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+18524 /* "database %s is l..." */, libc.VaList(bp+32, zName)) goto detach_error __9: ; @@ -137665,7 +138173,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 18531 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 18546 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -137678,7 +138186,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 18545 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ + FzName: ts + 18560 /* "sqlite_attach" */} /* sqlite3.c:111964:24 */ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ @@ -137693,7 +138201,7 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer((*DbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit.Fbusy != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } else { - Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+18559 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) + Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, ts+18574 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) return WRC_Abort } } @@ -137726,7 +138234,7 @@ __1: if (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != Xsqlite3FindDbName(tls, db, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) { Xsqlite3ErrorMsg(tls, (*DbFixer)(unsafe.Pointer(pFix)).FpParse, - ts+18583, /* "%s %T cannot ref..." */ + ts+18598, /* "%s %T cannot ref..." */ libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType, (*DbFixer)(unsafe.Pointer(pFix)).FpName, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return WRC_Abort } @@ -137925,7 +138433,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // Write an error message into pParse->zErrMsg that explains that the // user-supplied authorization function returned an illegal value. func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112233:13: */ - Xsqlite3ErrorMsg(tls, pParse, ts+18629 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18644 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -137949,11 +138457,11 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, SQLITE_READ, zTab, zCol, zDb, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - var z uintptr = Xsqlite3_mprintf(tls, ts+14792 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) + var z uintptr = Xsqlite3_mprintf(tls, ts+14807 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+18652 /* "%s.%z" */, libc.VaList(bp+24, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+18667 /* "%s.%z" */, libc.VaList(bp+24, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+18658 /* "access to %z is ..." */, libc.VaList(bp+48, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+18673 /* "access to %z is ..." */, libc.VaList(bp+48, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -138005,7 +138513,7 @@ func Xsqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName } else { - zCol = ts + 14358 /* "ROWID" */ + zCol = ts + 14373 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -138037,7 +138545,7 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 496 /* &.xAuth */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+18685 /* "not authorized" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18700 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_OK) && (rc != SQLITE_IGNORE) { rc = SQLITE_DENY @@ -138222,7 +138730,7 @@ func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112554:2 if int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0 { Xsqlite3VdbeChangeP5(tls, v, uint16(1)) } - Xsqlite3VdbeComment(tls, v, ts+18700 /* "usesStmtJournal=..." */, libc.VaList(bp, (libc.Bool32(((*Parse)(unsafe.Pointer(pParse)).FmayAbort != 0) && ((*Parse)(unsafe.Pointer(pParse)).FisMultiWrite != 0))))) + Xsqlite3VdbeComment(tls, v, ts+18715 /* "usesStmtJournal=..." */, libc.VaList(bp, (libc.Bool32(((*Parse)(unsafe.Pointer(pParse)).FmayAbort != 0) && ((*Parse)(unsafe.Pointer(pParse)).FisMultiWrite != 0))))) } for i = 0; i < (*Parse)(unsafe.Pointer(pParse)).FnVtabLock; i++ { var vtab uintptr = Xsqlite3GetVTable(tls, db, *(*uintptr)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).FapVtabLock + uintptr(i)*8))) @@ -138350,25 +138858,25 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb { // No match against the official names. But always match "main" // to schema 0 as a legacy fallback. - if Xsqlite3StrICmp(tls, zDatabase, ts+13128 /* "main" */) == 0 { + if Xsqlite3StrICmp(tls, zDatabase, ts+13143 /* "main" */) == 0 { i = 0 } else { return uintptr(0) } } p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), zName) - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+14923 /* "sqlite_" */, 7) == 0) { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+14938 /* "sqlite_" */, 7) == 0) { if i == 1 { - if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+18719 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+18738 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+12336 /* "sqlite_master" */ +7)) == 0) { + if ((Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+18734 /* "sqlite_temp_sche..." */ +7)) == 0) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+18753 /* "sqlite_schema" */ +7)) == 0)) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+12351 /* "sqlite_master" */ +7)) == 0) { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+18752 /* "sqlite_temp_mast..." */) + ts+18767 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+18738 /* "sqlite_schema" */ +7)) == 0 { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+18753 /* "sqlite_schema" */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpSchema + 8 /* &.tblHash */), - ts+12336 /* "sqlite_master" */) + ts+12351 /* "sqlite_master" */) } } } @@ -138391,12 +138899,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+14923 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+18738 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+12336 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+18719 /* "sqlite_temp_sche..." */ +7)) == 0 { + if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+14938 /* "sqlite_" */, 7) == 0) { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+18753 /* "sqlite_schema" */ +7)) == 0 { + p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+12351 /* "sqlite_master" */) + } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+18734 /* "sqlite_temp_sche..." */ +7)) == 0 { p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 8 /* &.tblHash */), - ts+18752 /* "sqlite_temp_mast..." */) + ts+18767 /* "sqlite_temp_mast..." */) } } } @@ -138432,7 +138940,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr // can be an eponymous virtual table. if (int32((*Parse)(unsafe.Pointer(pParse)).FdisableVtab) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { var pMod uintptr = Xsqlite3HashFind(tls, (db + 536 /* &.aModule */), zName) - if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+18771 /* "pragma_" */, 7) == 0) { + if (pMod == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+18786 /* "pragma_" */, 7) == 0) { pMod = Xsqlite3PragmaVtabRegister(tls, db, zName) } if (pMod != 0) && (Xsqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0) { @@ -138450,14 +138958,14 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if p == uintptr(0) { var zMsg uintptr if (flags & U32(LOCATE_VIEW)) != 0 { - zMsg = ts + 18779 /* "no such view" */ + zMsg = ts + 18794 /* "no such view" */ } else { - zMsg = ts + 18792 /* "no such table" */ + zMsg = ts + 18807 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+13321 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13336 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+13331 /* "%s: %s" */, libc.VaList(bp+32, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13346 /* "%s: %s" */, libc.VaList(bp+32, zMsg, zName)) } } else { @@ -138770,7 +139278,7 @@ func Xsqlite3NameFromToken(tls *libc.TLS, db uintptr, pName uintptr) uintptr { / // writing. The table is opened using cursor 0. func Xsqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { /* sqlite3.c:113223:21: */ var v uintptr = Xsqlite3GetVdbe(tls, p) - Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+12336 /* "sqlite_master" */) + Xsqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), ts+12351 /* "sqlite_master" */) Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, 0, SCHEMA_ROOT, iDb, 5) if (*Parse)(unsafe.Pointer(p)).FnTab == 0 { (*Parse)(unsafe.Pointer(p)).FnTab = 1 @@ -138797,7 +139305,7 @@ func Xsqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) int32 { /* sql } // "main" is always an acceptable alias for the primary database // even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. - if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+13128 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+13143 /* "main" */, zName)) { goto __3 } @@ -138850,13 +139358,13 @@ func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if (*Token)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+18806 /* "corrupt database" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18821 /* "corrupt database" */, 0) return -1 } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = Xsqlite3FindDb(tls, db, pName1) if iDb < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+18823 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+18838 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -138897,13 +139405,13 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType if ((Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit))) != 0) || (Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 1*8))) != 0)) || (Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).Finit.FazInit + 2*8))) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+900 /* "" */, 0) // corruptSchema() will supply the error + Xsqlite3ErrorMsg(tls, pParse, ts+915 /* "" */, 0) // corruptSchema() will supply the error return SQLITE_ERROR } } else { - if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+14923 /* "sqlite_" */, 7))) || + if ((int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) && (0 == Xsqlite3_strnicmp(tls, zName, ts+14938 /* "sqlite_" */, 7))) || ((Xsqlite3ReadOnlyShadowTables(tls, db) != 0) && (Xsqlite3ShadowTableName(tls, db, zName) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+18843, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18858, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -139072,9 +139580,9 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui iDb = int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) zName = Xsqlite3DbStrDup(tls, db, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 18752 /* "sqlite_temp_mast..." */ + return ts + 18767 /* "sqlite_temp_mast..." */ } - return ts + 12336 /* "sqlite_master" */ + return ts + 12351 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)) = pName1 goto __2 @@ -139092,7 +139600,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+18885 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18900 /* "temporary table ..." */, 0) return __4: ; @@ -139120,9 +139628,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 17044 /* "view" */ + return ts + 17059 /* "view" */ } - return ts + 13031 /* "table" */ + return ts + 13046 /* "table" */ }(), zName) != 0) { goto __8 } @@ -139139,9 +139647,9 @@ __9: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (isTemp == 1) { - return ts + 18752 /* "sqlite_temp_mast..." */ + return ts + 18767 /* "sqlite_temp_mast..." */ } - return ts + 12336 /* "sqlite_master" */ + return ts + 12351 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -139179,7 +139687,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+18926 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+18941 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __16 __15: ; @@ -139193,7 +139701,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+18950 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+18965 /* "there is already..." */, libc.VaList(bp+16, zName)) goto begin_table_error __17: ; @@ -139309,7 +139817,7 @@ var nullRow = [6]int8{int8(6), int8(0), int8(0), int8(0), int8(0), int8(0)} /* s func sqlite3DeleteReturning(tls *libc.TLS, db uintptr, pRet uintptr) { /* sqlite3.c:113716:13: */ var pHash uintptr pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - Xsqlite3HashInsert(tls, pHash, ts+18985 /* "sqlite_returning" */, uintptr(0)) + Xsqlite3HashInsert(tls, pHash, ts+19000 /* "sqlite_returning" */, uintptr(0)) Xsqlite3ExprListDelete(tls, db, (*Returning)(unsafe.Pointer(pRet)).FpReturnEL) Xsqlite3DbFree(tls, db, pRet) } @@ -139333,7 +139841,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql var pHash uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Parse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+19002 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19017 /* "cannot use RETUR..." */, 0) } else { } @@ -139354,7 +139862,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 18985 /* "sqlite_returning" */ + (*Returning)(unsafe.Pointer(pRet)).FretTrig.FzName = ts + 19000 /* "sqlite_returning" */ (*Returning)(unsafe.Pointer(pRet)).FretTrig.Fop = U8(TK_RETURNING) (*Returning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = U8(TRIGGER_AFTER) (*Returning)(unsafe.Pointer(pRet)).FretTrig.FbReturning = U8(1) @@ -139366,7 +139874,7 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql (*Returning)(unsafe.Pointer(pRet)).FretTStep.FpExprList = pList pHash = ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema + 56 /* &.trigHash */) - if Xsqlite3HashInsert(tls, pHash, ts+18985 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+19000 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == (pRet + 16 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -139394,7 +139902,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp return } if (int32((*Table)(unsafe.Pointer(p)).FnCol) + 1) > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+19036 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+19051 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } z = Xsqlite3DbMallocRaw(tls, db, (uint64(((*Token)(unsafe.Pointer(pName)).Fn + (*Token)(unsafe.Pointer(pType)).Fn) + uint32(2)))) @@ -139410,7 +139918,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+19059 /* "duplicate column..." */, libc.VaList(bp+16, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+19074 /* "duplicate column..." */, libc.VaList(bp+16, z)) Xsqlite3DbFree(tls, db, z) return } @@ -139584,11 +140092,11 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar var isInit int32 = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb) != 1))) pCol = ((*Table)(unsafe.Pointer(p)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(p)).FnCol)-1))*32) if !(Xsqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+19085, /* "default value of..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+19100, /* "default value of..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+19130 /* "cannot use DEFAU..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19145 /* "cannot use DEFAU..." */, 0) } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. @@ -139638,7 +140146,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+19171 /* "generated column..." */, 0) + ts+19186 /* "generated column..." */, 0) } } @@ -139683,7 +140191,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+19223 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+19238 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit __2: ; @@ -139743,7 +140251,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+900 /* "" */), ts+19264 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+915 /* "" */), ts+19279 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -139771,7 +140279,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+19272 /* "AUTOINCREMENT is..." */, 0) + ts+19287 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -139875,7 +140383,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+19328 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19343 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -139888,13 +140396,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+19371 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+19386 /* "virtual" */, (*Token)(unsafe.Pointer(pType)).Fz, 7) == 0)) { goto __5 } // no-op goto __6 __5: - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+19379 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { + if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(6)) && (Xsqlite3_strnicmp(tls, ts+19394 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { goto __7 } eType = U8(COLFLAG_STORED) @@ -139927,7 +140435,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+19386, /* "error in generat..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+19401, /* "error in generat..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) generated_done: Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -140069,13 +140577,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 900 /* "" */ - zSep2 = ts + 19417 /* "," */ - zEnd = ts + 11449 /* ")" */ + zSep = ts + 915 /* "" */ + zSep2 = ts + 19432 /* "," */ + zEnd = ts + 11464 /* ")" */ } else { - zSep = ts + 19419 /* "\n " */ - zSep2 = ts + 19423 /* ",\n " */ - zEnd = ts + 19428 /* "\n)" */ + zSep = ts + 19434 /* "\n " */ + zSep2 = ts + 19438 /* ",\n " */ + zEnd = ts + 19443 /* "\n)" */ } n = n + (35 + (6 * int32((*Table)(unsafe.Pointer(p)).FnCol))) zStmt = Xsqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -140083,7 +140591,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+19431 /* "CREATE TABLE " */, 0) + Xsqlite3_snprintf(tls, n, zStmt, ts+19446 /* "CREATE TABLE " */, 0) *(*int32)(unsafe.Pointer(bp + 16 /* k */)) = Xsqlite3Strlen30(tls, zStmt) identPut(tls, zStmt, bp+16 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 16 /* k */)), 1)))) = int8('(') @@ -140117,16 +140625,16 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 16 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* k */)))), ts+936 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 16 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* k */)))), ts+951 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } var azType1 = [5]uintptr{ - /* SQLITE_AFF_BLOB */ ts + 900, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 19445, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 19451, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 19456, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 19461, /* " REAL" */ + /* SQLITE_AFF_BLOB */ ts + 915, /* "" */ + /* SQLITE_AFF_TEXT */ ts + 19460, /* " TEXT" */ + /* SQLITE_AFF_NUMERIC */ ts + 19466, /* " NUM" */ + /* SQLITE_AFF_INTEGER */ ts + 19471, /* " INT" */ + /* SQLITE_AFF_REAL */ ts + 19476, /* " REAL" */ } /* sqlite3.c:114391:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK @@ -140563,7 +141071,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // table itself. So mark it read-only. if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { if pSelect != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+900 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+915 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -140576,11 +141084,11 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (int32(tabOpts) & TF_WithoutRowid) != 0 { if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+19467 /* "AUTOINCREMENT no..." */, 0) + ts+19482 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+19517 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+19532 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } *(*U32)(unsafe.Pointer(p + 64 /* &.tabFlags */)) |= (U32(TF_WithoutRowid | TF_NoVisibleRowid)) @@ -140624,7 +141132,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+19549 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19564 /* "must have at lea..." */, 0) return } } @@ -140657,12 +141165,12 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // Initialize zType for the new view or table. if (*Table)(unsafe.Pointer(p)).FpSelect == uintptr(0) { // A regular table - zType = ts + 13031 /* "table" */ - zType2 = ts + 19593 /* "TABLE" */ + zType = ts + 13046 /* "table" */ + zType2 = ts + 19608 /* "TABLE" */ } else { // A view - zType = ts + 17044 /* "view" */ - zType2 = ts + 19599 /* "VIEW" */ + zType = ts + 17059 /* "view" */ + zType2 = ts + 19614 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -140743,7 +141251,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+19604 /* "CREATE %s %.*s" */, libc.VaList(bp+16, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+19619 /* "CREATE %s %.*s" */, libc.VaList(bp+16, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -140751,7 +141259,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+19619, /* "UPDATE %Q.sqlite..." */ + ts+19634, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+48, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, @@ -140769,14 +141277,14 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+19717, /* "CREATE TABLE %Q...." */ + ts+19732, /* "CREATE TABLE %Q...." */ libc.VaList(bp+112, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+19759 /* "tbl_name='%q' AN..." */, libc.VaList(bp+128, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+19774 /* "tbl_name='%q' AN..." */, libc.VaList(bp+128, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -140797,7 +141305,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // then record a pointer to this table in the main database structure // so that INSERT can find the table easily. - if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+16181 /* "sqlite_sequence" */) == 0 { + if libc.Xstrcmp(tls, (*Table)(unsafe.Pointer(p)).FzName, ts+16196 /* "sqlite_sequence" */) == 0 { (*Schema)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -140834,7 +141342,7 @@ func Xsqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui if !(int32((*Parse)(unsafe.Pointer(pParse)).FnVar) > 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+19793 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19808 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -140856,7 +141364,7 @@ __2: Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp /* &pName */) iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(p)).FpSchema) - Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+17044 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) + Xsqlite3FixInit(tls, bp+8 /* &sFix */, pParse, iDb, ts+17059 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) if !(Xsqlite3FixSelect(tls, bp+8 /* &sFix */, pSelect) != 0) { goto __3 } @@ -140973,7 +141481,7 @@ func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) i // CREATE TEMP VIEW ex1 AS SELECT a FROM ex1; // SELECT * FROM temp.ex1; if int32((*Table)(unsafe.Pointer(pTable)).FnCol) < 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+19829 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+19844 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) return 1 } @@ -141115,7 +141623,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) if iTable < 2 { - Xsqlite3ErrorMsg(tls, pParse, ts+19859 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19874 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -141129,7 +141637,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+19874, /* "UPDATE %Q.sqlite..." */ + ts+19889, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb+uintptr(iDb)*32)).FzDbSName, iTable, r1, r1)) Xsqlite3ReleaseTempReg(tls, pParse, r1) } @@ -141193,10 +141701,10 @@ func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uint for i = 1; i <= 4; i++ { // var zTab [24]int8 at bp+56, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+56 /* &zTab[0] */, ts+19941 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+56 /* &zTab[0] */, ts+19956 /* "sqlite_stat%d" */, libc.VaList(bp, i)) if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+56 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+17860, /* "DELETE FROM %Q.%..." */ + ts+17875, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+16, zDbName, bp+56 /* &zTab[0] */, zType, zName)) } } @@ -141236,7 +141744,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // move as a result of the drop (can happen in auto-vacuum mode). if ((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != 0 { Xsqlite3NestedParse(tls, pParse, - ts+19955, /* "DELETE FROM %Q.s..." */ + ts+19970, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -141248,7 +141756,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+20000, /* "DELETE FROM %Q.s..." */ + ts+20015, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) @@ -141278,11 +141786,11 @@ func Xsqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Return true if it is not allowed to drop the given table func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sqlite3.c:115607:12: */ - if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+14923 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+20067 /* "stat" */, 4) == 0 { + if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+14938 /* "sqlite_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+20082 /* "stat" */, 4) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+13820 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+13835 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -141363,9 +141871,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 18752 /* "sqlite_temp_mast..." */ + return ts + 18767 /* "sqlite_temp_mast..." */ } - return ts + 12336 /* "sqlite_master" */ + return ts + 12351 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zArg2 = uintptr(0) @@ -141425,7 +141933,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+20072 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20087 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __19: ; @@ -141435,14 +141943,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+20100 /* "use DROP TABLE t..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20115 /* "use DROP TABLE t..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+20134 /* "use DROP VIEW to..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20149 /* "use DROP VIEW to..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -141457,7 +141965,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+18083 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+18098 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -141522,7 +142030,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+20166, /* "foreign key on %..." */ + ts+20181, /* "foreign key on %..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(iCol)*32)).FzName, pTo)) goto fk_end __5: @@ -141535,7 +142043,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+20229 /* "number of column..." */, 0) + ts+20244 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -141619,7 +142127,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+20323, /* "unknown column \"..." */ + ts+20338, /* "unknown column \"..." */ libc.VaList(bp+24, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*32)).FzEName)) goto fk_end __23: @@ -141869,12 +142377,12 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 for i = 0; i < (*ExprList)(unsafe.Pointer(pList)).FnExpr; i++ { if (uint32(int32(*(*uint8)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32 + 20 /* &.bNulls */)) & 0x20 >> 5))) != 0 { var sf U8 = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32)).FsortFlags - Xsqlite3ErrorMsg(tls, pParse, ts+20369, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+20384, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 20397 /* "FIRST" */ + return ts + 20412 /* "FIRST" */ } - return ts + 20403 /* "LAST" */ + return ts + 20418 /* "LAST" */ }())) return 1 } @@ -142032,7 +142540,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+208 /* &sFix */, pParse, iDb, ts+13037 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 200 /* pName */))) + Xsqlite3FixInit(tls, bp+208 /* &sFix */, pParse, iDb, ts+13052 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 200 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+208 /* &sFix */, pTblName) != 0) { goto __10 } @@ -142053,7 +142561,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+20408, /* "cannot create a ..." */ + ts+20423, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -142080,26 +142588,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+14923 /* "sqlite_" */, 7) == 0) && + if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+14938 /* "sqlite_" */, 7) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0)) && (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+20458 /* "table %s may not..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20473 /* "table %s may not..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+20486 /* "views may not be..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20501 /* "views may not be..." */, 0) goto exit_create_index __16: ; if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+20511 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20526 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -142126,7 +142634,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+13037 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+13052 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { goto __21 } goto exit_create_index @@ -142141,7 +142649,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+20545 /* "there is already..." */, libc.VaList(bp+32, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20560 /* "there is already..." */, libc.VaList(bp+32, zName)) goto exit_create_index __24: ; @@ -142153,7 +142661,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+20579 /* "index %s already..." */, libc.VaList(bp+48, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20594 /* "index %s already..." */, libc.VaList(bp+48, zName)) goto __27 __26: ; @@ -142182,7 +142690,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+20603 /* "sqlite_autoindex..." */, libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+20618 /* "sqlite_autoindex..." */, libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -142211,9 +142719,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 18752 /* "sqlite_temp_mast..." */ + return ts + 18767 /* "sqlite_temp_mast..." */ } - return ts + 12336 /* "sqlite_master" */ + return ts + 12351 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -142257,7 +142765,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+13037 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+13052 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -142374,7 +142882,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+20626 /* "expressions proh..." */, 0) + ts+20641 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -142603,7 +143111,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+20687 /* "conflicting ON C..." */, libc.VaList(bp+88, 0)) + ts+20702 /* "conflicting ON C..." */, libc.VaList(bp+88, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -142659,7 +143167,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+20729 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20744 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -142717,12 +143225,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+20746, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+20761, /* "CREATE%s INDEX %..." */ libc.VaList(bp+104, func() uintptr { if onError == OE_None { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 20766 /* " UNIQUE" */ + return ts + 20781 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pName */)))).Fz)) goto __106 __105: @@ -142734,7 +143242,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+20774, /* "INSERT INTO %Q.s..." */ + ts+20789, /* "INSERT INTO %Q.s..." */ libc.VaList(bp+136, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -142750,7 +143258,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+20833 /* "name='%q' AND ty..." */, libc.VaList(bp+184, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+20848 /* "name='%q' AND ty..." */, libc.VaList(bp+184, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -142934,7 +143442,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+20860 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+20875 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __5 __4: Xsqlite3CodeVerifyNamedSchema(tls, pParse, (*SrcItem)(unsafe.Pointer((pName + 8 /* &.a */))).FzDatabase) @@ -142949,7 +143457,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+20878 /* "index associated..." */, libc.VaList(bp+16, 0)) + ts+20893 /* "index associated..." */, libc.VaList(bp+16, 0)) goto exit_drop_index __6: ; @@ -142960,9 +143468,9 @@ __6: zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 18752 /* "sqlite_temp_mast..." */ + return ts + 18767 /* "sqlite_temp_mast..." */ } - return ts + 12336 /* "sqlite_master" */ + return ts + 12351 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -142990,9 +143498,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+20951, /* "DELETE FROM %Q.s..." */ + ts+20966, /* "DELETE FROM %Q.s..." */ libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) - sqlite3ClearStatTables(tls, pParse, iDb, ts+18079 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+18094 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) Xsqlite3VdbeAddOp4(tls, v, OP_DropIndex, iDb, 0, 0, (*Index)(unsafe.Pointer(pIndex)).FzName, 0) @@ -143143,7 +143651,7 @@ func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*SrcList)(unsafe.Pointer(pSrc)).FnSrc + nExtra) >= SQLITE_MAX_SRCLIST { - Xsqlite3ErrorMsg(tls, pParse, ts+21011, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21026, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -143355,12 +143863,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+21047, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21062, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 21083 /* "ON" */ + return ts + 21098 /* "ON" */ } - return ts + 21086 /* "USING" */ + return ts + 21101 /* "USING" */ }())) goto append_from_error __1: @@ -143488,7 +143996,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+21092 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { + if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+21107 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { return } v = Xsqlite3GetVdbe(tls, pParse) @@ -143524,9 +144032,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 21098 /* "ROLLBACK" */ + return ts + 21113 /* "ROLLBACK" */ } - return ts + 21107 /* "COMMIT" */ + return ts + 21122 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -143551,7 +144059,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 21092 /* "BEGIN" */, ts + 21114 /* "RELEASE" */, ts + 21098 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ +var az = [3]uintptr{ts + 21107 /* "BEGIN" */, ts + 21129 /* "RELEASE" */, ts + 21113 /* "ROLLBACK" */} /* sqlite3.c:117293:23 */ // Make sure the TEMP database is open and available for use. Return // the number of errors. Leave any error messages in the pParse structure. @@ -143567,7 +144075,7 @@ func Xsqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3. rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp /* &pBt */, 0, flags) if rc != SQLITE_OK { Xsqlite3ErrorMsg(tls, pParse, - ts+21122 /* "unable to open a..." */, 0) + ts+21137 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -143710,17 +144218,17 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx Xsqlite3StrAccumInit(tls, bp+16 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+16 /* &errMsg */, ts+21192 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+16 /* &errMsg */, ts+21207 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*32)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+16 /* &errMsg */, ts+21203 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+16 /* &errMsg */, ts+21218 /* ", " */, 2) } Xsqlite3_str_appendall(tls, bp+16 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+16 /* &errMsg */, ts+913 /* "." */, 1) + Xsqlite3_str_append(tls, bp+16 /* &errMsg */, ts+928 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+16 /* &errMsg */, zCol) } } @@ -143743,11 +144251,11 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr var rc int32 if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+14792 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+14807 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+14783 /* "%s.rowid" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+14798 /* "%s.rowid" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -143890,7 +144398,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+21206 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21221 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -144000,7 +144508,7 @@ func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) var i int32 for i = 0; i < (*With)(unsafe.Pointer(pWith)).FnCte; i++ { if Xsqlite3StrICmp(tls, zName, (*Cte)(unsafe.Pointer((pWith+16 /* &.a */)+uintptr(i)*48)).FzName) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21252 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21267 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -144234,7 +144742,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+21282 /* "no such collatio..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21297 /* "no such collatio..." */, libc.VaList(bp, zName)) (*Parse)(unsafe.Pointer(pParse)).Frc = (SQLITE_ERROR | (int32(1) << 8)) } return p @@ -144600,11 +145108,11 @@ func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int3 defer tls.Free(32) if tabIsReadOnly(tls, pParse, pTab) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21313 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21328 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+21342 /* "cannot modify %s..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21357 /* "cannot modify %s..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -145197,7 +145705,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+21380 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+21395 /* "rows deleted" */, uintptr(0)) __61: ; @@ -145342,7 +145850,7 @@ func Xsqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri } return 0 }()) - if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+17908 /* "sqlite_stat1" */)) { + if (int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0) || (0 == Xsqlite3_stricmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+17923 /* "sqlite_stat1" */)) { Xsqlite3VdbeAppendP4(tls, v, pTab, -6) } if int32(eMode) != ONEPASS_OFF { @@ -145620,7 +146128,7 @@ func typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3_result_text(tls, context, azType2[i], -1, uintptr(0)) } -var azType2 = [5]uintptr{ts + 12648 /* "integer" */, ts + 12643 /* "real" */, ts + 21393 /* "text" */, ts + 21398 /* "blob" */, ts + 12638 /* "null" */} /* sqlite3.c:119398:21 */ +var azType2 = [5]uintptr{ts + 12663 /* "integer" */, ts + 12658 /* "real" */, ts + 21408 /* "text" */, ts + 21413 /* "blob" */, ts + 12653 /* "null" */} /* sqlite3.c:119398:21 */ // Implementation of the length() function func lengthFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119418:13: */ @@ -145684,7 +146192,7 @@ func absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // IMP: R-31676-45509 If X is the integer -9223372036854775808 // then abs(X) throws an integer overflow error since there is no // equivalent positive 64-bit two complement value. - Xsqlite3_result_error(tls, context, ts+21403 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+21418 /* "integer overflow" */, -1) return } iVal = -iVal @@ -146022,7 +146530,7 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+21420 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 24 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+21435 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 24 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -146474,7 +146982,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 8*4)) { - Xsqlite3_result_error(tls, context, ts+21425 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+21440 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -146486,7 +146994,7 @@ func likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } if Xsqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp /* zEsc */)), -1) != 1 { Xsqlite3_result_error(tls, context, - ts+21458 /* "ESCAPE expressio..." */, -1) + ts+21473 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -146553,7 +147061,7 @@ func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // Implementation of the sqlite_compileoption_used() function. @@ -146610,10 +147118,10 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // var zBuf [50]int8 at bp+32, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+32 /* &zBuf[0] */, ts+11369 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+32 /* &zBuf[0] */, ts+11384 /* "%!.15g" */, libc.VaList(bp, r1)) Xsqlite3AtoF(tls, bp+32 /* &zBuf[0] */, bp+88 /* &r2 */, 20, uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp + 88 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+32 /* &zBuf[0] */, ts+21503 /* "%!.20e" */, libc.VaList(bp+16, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+32 /* &zBuf[0] */, ts+21518 /* "%!.20e" */, libc.VaList(bp+16, r1)) } Xsqlite3_result_text(tls, context, bp+32 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -146687,7 +147195,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+901 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+916 /* "NULL" */, 4, uintptr(0)) break } @@ -146998,7 +147506,7 @@ func trimFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } var lenOne = [1]uint32{uint32(1)} /* sqlite3.c:120648:27 */ -var azOne = [1]uintptr{uintptr(ts + 17488 /* " " */)} /* sqlite3.c:120649:26 */ +var azOne = [1]uintptr{uintptr(ts + 17503 /* " " */)} /* sqlite3.c:120649:26 */ // IMP: R-25361-16150 This function is omitted from SQLite by default. It // is only available if the SQLITE_SOUNDEX compile-time option is used @@ -147019,7 +147527,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = ts + 900 /* "" */ + zIn = ts + 915 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -147045,7 +147553,7 @@ func soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else { // IMP: R-64894-50321 The string "?000" is returned if the argument // is NULL or contains no ASCII alphabetic characters. - Xsqlite3_result_text(tls, context, ts+21510 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+21525 /* "?000" */, 4, uintptr(0)) } } @@ -147073,7 +147581,7 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // Disallow the load_extension() SQL function unless the SQLITE_LoadExtFunc // flag is set. See the sqlite3_enable_load_extension() API. if ((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_LoadExtFunc)) == uint64(0) { - Xsqlite3_result_error(tls, context, ts+18685 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+18700 /* "not authorized" */, -1) return } @@ -147161,7 +147669,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:120889:13: */ p = Xsqlite3_aggregate_context(tls, context, 0) if (p != 0) && ((*SumCtx)(unsafe.Pointer(p)).Fcnt > int64(0)) { if (*SumCtx)(unsafe.Pointer(p)).Foverflow != 0 { - Xsqlite3_result_error(tls, context, ts+21403 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+21418 /* "integer overflow" */, -1) } else if (*SumCtx)(unsafe.Pointer(p)).Fapprox != 0 { Xsqlite3_result_double(tls, context, (*SumCtx)(unsafe.Pointer(p)).FrSum) } else { @@ -147315,7 +147823,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { zSep = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) nSep = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) } else { - zSep = ts + 19417 /* "," */ + zSep = ts + 19432 /* "," */ nSep = 1 } if zSep != 0 { @@ -147393,7 +147901,7 @@ func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:121112:13: // of the built-in functions above are part of the global function set. // This routine only deals with those that are not global. func Xsqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { /* sqlite3.c:121135:21: */ - var rc int32 = Xsqlite3_overload_function(tls, db, ts+21515 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+21530 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -147413,14 +147921,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+21521 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+21536 /* "like" */, 2, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3CreateFunc(tls, db, ts+21521 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { + Xsqlite3CreateFunc(tls, db, ts+21536 /* "like" */, 3, SQLITE_UTF8, pInfo, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{likeFunc})), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+21521 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+21521 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+21536 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+21536 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) } // pExpr points to an expression which implements a function. If @@ -147525,76 +148033,76 @@ func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:121427:21: * var aBuiltinFunc = [68]FuncDef{ //**** Functions only available with SQLITE_TESTCTRL_INTERNAL_FUNCTIONS **** - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 21526 /* "implies_nonnull_..." */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 21546 /* "expr_compare" */}, - {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 21559 /* "expr_implies_exp..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_implies_nonnull_row)), FxSFunc: 0, FzName: ts + 21541 /* "implies_nonnull_..." */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_compare)), FxSFunc: 0, FzName: ts + 21561 /* "expr_compare" */}, + {FnArg: int8(2), FfuncFlags: (U32(((((SQLITE_UTF8 | SQLITE_FUNC_INTERNAL) | SQLITE_FUNC_TEST) | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_expr_implies_expr)), FxSFunc: 0, FzName: ts + 21574 /* "expr_implies_exp..." */}, //**** Regular functions **** - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21577 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 21585 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 21585 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 21600 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 21626 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 21651 /* "unlikely" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 21660 /* "likelihood" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 21671 /* "likely" */}, - {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 21678 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 21692 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 21692 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 21698 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 21698 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 21704 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 21704 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21709 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 21709 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 21709 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 21713 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 21713 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 21713 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 21717 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 21724 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21731 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21737 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21744 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21752 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21757 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21761 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21761 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21767 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21773 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21779 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 21783 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21790 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21797 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21808 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 21815 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 21830 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21847 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21858 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21864 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21882 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21890 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21904 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21912 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21921 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21921 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21928 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21928 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21938 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21942 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21948 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21952 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21952 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21958 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21958 /* "group_concat" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21592 /* "soundex" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 21600 /* "load_extension" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 21600 /* "load_extension" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 21615 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 21641 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 21666 /* "unlikely" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 21675 /* "likelihood" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (SQLITE_FUNC_UNLIKELY))), FpUserData: uintptr(int64(INLINEFUNC_unlikely)), FxSFunc: 0, FzName: ts + 21686 /* "likely" */}, + {FnArg: int8(1), FfuncFlags: (U32((((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_OFFSET) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 21693 /* "sqlite_offset" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 21707 /* "ltrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 21707 /* "ltrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 21713 /* "rtrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 21713 /* "rtrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 21719 /* "trim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 21719 /* "trim" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21724 /* "min" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 21724 /* "min" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 21724 /* "min" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 21728 /* "max" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 21728 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FpUserData: uintptr(int64(1)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 21728 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 21732 /* "typeof" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 21739 /* "length" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21746 /* "instr" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21752 /* "printf" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21759 /* "unicode" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21767 /* "char" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21772 /* "abs" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21776 /* "round" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21776 /* "round" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21782 /* "upper" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21788 /* "lower" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21794 /* "hex" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 21798 /* "ifnull" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21805 /* "random" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21812 /* "randomblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21823 /* "nullif" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 21830 /* "sqlite_version" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 21845 /* "sqlite_source_id" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21862 /* "sqlite_log" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21873 /* "quote" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21879 /* "last_insert_rowi..." */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21897 /* "changes" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21905 /* "total_changes" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21919 /* "replace" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21927 /* "zeroblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21936 /* "substr" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21936 /* "substr" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21943 /* "substring" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21943 /* "substring" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21953 /* "sum" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21957 /* "total" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21963 /* "avg" */}, + {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21967 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21967 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21973 /* "group_concat" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 21973 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 21971 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 21521 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 21521 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 21976 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 21976 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 21985 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 21976 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 21990 /* "iif" */}} /* sqlite3.c:121438:18 */ + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 21986 /* "glob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 21536 /* "like" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 21536 /* "like" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 21991 /* "coalesce" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 21991 /* "coalesce" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 22000 /* "sign" */}, + {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 21991 /* "coalesce" */}, + {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 22005 /* "iif" */}} /* sqlite3.c:121438:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -147880,7 +148388,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey if !(pIdx != 0) { if !(int32((*Parse)(unsafe.Pointer(pParse)).FdisableTriggers) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+21994, /* "foreign key mism..." */ + ts+22009, /* "foreign key mism..." */ libc.VaList(bp, (*Table)(unsafe.Pointer((*FKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*FKey)(unsafe.Pointer(pFKey)).FzTo)) } Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiCol) @@ -148776,8 +149284,8 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, } for i = 0; i < (*FKey)(unsafe.Pointer(pFKey)).FnCol; i++ { - *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 13137 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 13133 /* "new" */, Fn: uint32(3)} // Literal "new" token + *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{Fz: ts + 13152 /* "old" */, Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 13148 /* "new" */, Fn: uint32(3)} // Literal "new" token // var tFromCol Token at bp+32, 16 // Name of column in child table // var tToCol Token at bp+16, 16 @@ -148865,7 +149373,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fz = zFrom (*Token)(unsafe.Pointer(bp + 80 /* &tFrom */)).Fn = uint32(nFrom) - pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+11630 /* "FOREIGN KEY cons..." */) + pRaise = Xsqlite3Expr(tls, db, TK_RAISE, ts+11645 /* "FOREIGN KEY cons..." */) if pRaise != 0 { (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -149044,13 +149552,13 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa }(), (*Table)(unsafe.Pointer(pTab)).FzName) if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { Xsqlite3VdbeAddOp4Int(tls, v, opcode, iCur, int32((*Table)(unsafe.Pointer(pTab)).Ftnum), iDb, int32((*Table)(unsafe.Pointer(pTab)).FnNVCol)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) } else { var pPk uintptr = Xsqlite3PrimaryKeyIndex(tls, pTab) Xsqlite3VdbeAddOp3(tls, v, opcode, iCur, int32((*Index)(unsafe.Pointer(pPk)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pPk) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } } @@ -149298,7 +149806,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14753 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14768 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) } (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -149862,7 +150370,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+22039, /* "cannot INSERT in..." */ + ts+22054, /* "cannot INSERT in..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto insert_cleanup __24: @@ -149887,7 +150395,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+22080, /* "table %S has no ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+22095, /* "table %S has no ..." */ libc.VaList(bp+16, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*16)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup @@ -150057,7 +150565,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+22112, /* "table %S has %d ..." */ + ts+22127, /* "table %S has %d ..." */ libc.VaList(bp+40, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: @@ -150067,7 +150575,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+22164 /* "%d values for %d..." */, libc.VaList(bp+72, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+22179 /* "%d values for %d..." */, libc.VaList(bp+72, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -150123,7 +150631,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+22189, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+22204, /* "UPSERT not imple..." */ libc.VaList(bp+96, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -150131,7 +150639,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+22235 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22250 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -150611,7 +151119,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+22256 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+22271 /* "rows inserted" */, uintptr(0)) __123: ; @@ -150955,7 +151463,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+14792 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, + var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+14807 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_HaltIfNull, (SQLITE_CONSTRAINT | (int32(5) << 8)), onError, iReg) @@ -151206,7 +151714,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // initialize it to zero. regTrigCnt = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regTrigCnt) - Xsqlite3VdbeComment(tls, v, ts+22270 /* "trigger count" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22285 /* "trigger count" */, 0) lblRecheckOk = Xsqlite3VdbeMakeLabel(tls, pParse) addrRecheck = lblRecheckOk } @@ -151251,7 +151759,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt (onError != int32(overrideError))) && // Rules for other constraints are different ((*Table)(unsafe.Pointer(pTab)).FpIndex != 0) { ipkTop = (Xsqlite3VdbeAddOp0(tls, v, OP_Goto) + 1) - Xsqlite3VdbeComment(tls, v, ts+22284 /* "defer IPK REPLAC..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22299 /* "defer IPK REPLAC..." */, 0) } if isUpdate != 0 { @@ -151265,7 +151773,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // Check to see if the new rowid already exists in the table. Skip // the following conflict logic if it does not. - Xsqlite3VdbeNoopComment(tls, v, ts+22313 /* "uniqueness check..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+22328 /* "uniqueness check..." */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_NotExists, iDataCur, addrRowidOk, regNewData) @@ -151385,7 +151893,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3TableAffinity(tls, v, pTab, (regNewData + 1)) bAffinityDone = U8(1) } - Xsqlite3VdbeNoopComment(tls, v, ts+22340 /* "prep index %s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeNoopComment(tls, v, ts+22355 /* "prep index %s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName)) iThisCur = (iIdxCur + *(*int32)(unsafe.Pointer(bp + 144 /* ix */))) // Skip partial indices for which the WHERE clause is not true @@ -151407,20 +151915,20 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = -(regNewData + 1) Xsqlite3ExprCodeCopy(tls, pParse, (*ExprList_item)(unsafe.Pointer(((*Index)(unsafe.Pointer(pIdx)).FaColExpr+8 /* &.a */)+uintptr(i)*32)).FpExpr, (regIdx + i)) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - Xsqlite3VdbeComment(tls, v, ts+22354 /* "%s column %d" */, libc.VaList(bp+40, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) + Xsqlite3VdbeComment(tls, v, ts+22369 /* "%s column %d" */, libc.VaList(bp+40, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) } else if (iField == (-1)) || (iField == int32((*Table)(unsafe.Pointer(pTab)).FiPKey)) { x = regNewData Xsqlite3VdbeAddOp2(tls, v, OP_IntCopy, x, (regIdx + i)) - Xsqlite3VdbeComment(tls, v, ts+14859 /* "rowid" */, 0) + Xsqlite3VdbeComment(tls, v, ts+14874 /* "rowid" */, 0) } else { x = ((int32(Xsqlite3TableColumnToStorage(tls, pTab, int16(iField))) + regNewData) + 1) Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, x, (regIdx + i)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+64, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+64, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*32)).FzName)) } } Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, regIdx, int32((*Index)(unsafe.Pointer(pIdx)).FnColumn), *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 144 /* ix */)))*4))) - Xsqlite3VdbeComment(tls, v, ts+22367 /* "for %s" */, libc.VaList(bp+80, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+22382 /* "for %s" */, libc.VaList(bp+80, (*Index)(unsafe.Pointer(pIdx)).FzName)) // In an UPDATE operation, if this index is the PRIMARY KEY index // of a WITHOUT ROWID table and there has been no change the @@ -151493,7 +152001,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt x = int32(Xsqlite3TableColumnToIndex(tls, pIdx, *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iThisCur, x, (regR + i)) - Xsqlite3VdbeComment(tls, v, ts+14792 /* "%s.%s" */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+14807 /* "%s.%s" */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) } } if isUpdate != 0 { @@ -151587,7 +152095,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3VdbeAddOp2(tls, v, OP_AddImm, regTrigCnt, 1) // incr trigger cnt addrBypass = Xsqlite3VdbeAddOp0(tls, v, OP_Goto) // Bypass recheck - Xsqlite3VdbeComment(tls, v, ts+22374 /* "bypass recheck" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22389 /* "bypass recheck" */, 0) // Here we insert code that will be invoked after all constraint // checks have run, if and only if one or more replace triggers @@ -151656,7 +152164,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // If the IPK constraint is a REPLACE, run it last if ipkTop != 0 { Xsqlite3VdbeGoto(tls, v, ipkTop) - Xsqlite3VdbeComment(tls, v, ts+22389 /* "Do IPK REPLACE" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22404 /* "Do IPK REPLACE" */, 0) Xsqlite3VdbeJumpHere(tls, v, ipkBottom) } @@ -151872,7 +152380,7 @@ __1: Xsqlite3VdbeAddOp3(tls, v, op, iIdxCur, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) Xsqlite3VdbeChangeP5(tls, v, uint16(p5)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } } @@ -152253,11 +152761,11 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iSrc, int32((*Index)(unsafe.Pointer(pSrcIdx)).Ftnum), iDbSrc) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pSrcIdx) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pSrcIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pSrcIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenWrite, iDest, int32((*Index)(unsafe.Pointer(pDestIdx)).Ftnum), iDbDest) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pDestIdx) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_BULKCSR)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) addr1 = Xsqlite3VdbeAddOp2(tls, v, OP_Rewind, iSrc, 0) if ((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags & U32(DBFLAG_Vacuum)) != 0 { // This INSERT command is part of a VACUUM operation, which guarantees @@ -152374,7 +152882,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 900 /* "" */ + zSql = ts + 915 /* "" */ __2: ; @@ -152935,7 +153443,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+18685 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+18700 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -152945,7 +153453,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 22404 /* "sqlite3_extensio..." */ + zEntry = ts + 22419 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -152965,7 +153473,7 @@ __5: if !((ii < (int32(uint64(unsafe.Sizeof(azEndings)) / uint64(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+14792 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) + zAltFile = Xsqlite3_mprintf(tls, ts+14807 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) if !(zAltFile == uintptr(0)) { goto __8 } @@ -153011,7 +153519,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.Xmemcpy(tls, zAltEntry, ts+22427 /* "sqlite3_" */, uint64(8)) + libc.Xmemcpy(tls, zAltEntry, ts+22442 /* "sqlite3_" */, uint64(8)) iFile = (ncFile - 1) __12: if !((iFile >= 0) && !(((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/') || ((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '\\'))) { @@ -153025,7 +153533,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+22436 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+22451 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -153049,7 +153557,7 @@ __17: goto __18 __18: ; - libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+22440 /* "_init" */, uint64(6)) + libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+22455 /* "_init" */, uint64(6)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -153067,7 +153575,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)), - ts+22446 /* "no entry point [..." */, libc.VaList(bp+24, zEntry, zFile)) + ts+22461 /* "no entry point [..." */, libc.VaList(bp+24, zEntry, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */))) __22: ; @@ -153092,7 +153600,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22489 /* "error during ini..." */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22504 /* "error during ini..." */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)))) __25: ; Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */))) @@ -153132,7 +153640,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)), - ts+22521 /* "unable to open s..." */, libc.VaList(bp+64, FILENAME_MAX, zFile)) + ts+22536 /* "unable to open s..." */, libc.VaList(bp+64, FILENAME_MAX, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */))) __29: ; @@ -153142,7 +153650,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 22558, /* "dll" */ + ts + 22573, /* "dll" */ } /* sqlite3.c:127457:21 */ func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127590:16: */ @@ -153309,7 +153817,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)) = uintptr(0) if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+16 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+22562 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)))) + ts+22577 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */))) @@ -153354,61 +153862,61 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 // or that return single-column results where the name of the // result column is different from the name of the pragma var pragCName = [51]uintptr{ - /* 0 */ ts + 11551, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 22601, /* "seq" */ - /* 2 */ ts + 13031, /* "table" */ - /* 3 */ ts + 22605, /* "from" */ - /* 4 */ ts + 22610, /* "to" */ - /* 5 */ ts + 22613, /* "on_update" */ - /* 6 */ ts + 22623, /* "on_delete" */ - /* 7 */ ts + 22633, /* "match" */ - /* 8 */ ts + 22639, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 22643, /* "name" */ - /* 10 */ ts + 22648, /* "type" */ - /* 11 */ ts + 22653, /* "notnull" */ - /* 12 */ ts + 22661, /* "dflt_value" */ - /* 13 */ ts + 22672, /* "pk" */ - /* 14 */ ts + 22675, /* "hidden" */ + /* 0 */ ts + 11566, /* "id" */ // Used by: foreign_key_list + /* 1 */ ts + 22616, /* "seq" */ + /* 2 */ ts + 13046, /* "table" */ + /* 3 */ ts + 22620, /* "from" */ + /* 4 */ ts + 22625, /* "to" */ + /* 5 */ ts + 22628, /* "on_update" */ + /* 6 */ ts + 22638, /* "on_delete" */ + /* 7 */ ts + 22648, /* "match" */ + /* 8 */ ts + 22654, /* "cid" */ // Used by: table_xinfo + /* 9 */ ts + 22658, /* "name" */ + /* 10 */ ts + 22663, /* "type" */ + /* 11 */ ts + 22668, /* "notnull" */ + /* 12 */ ts + 22676, /* "dflt_value" */ + /* 13 */ ts + 22687, /* "pk" */ + /* 14 */ ts + 22690, /* "hidden" */ // table_info reuses 8 - /* 15 */ ts + 22682, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 22639, /* "cid" */ - /* 17 */ ts + 22643, /* "name" */ - /* 18 */ ts + 22688, /* "desc" */ - /* 19 */ ts + 22693, /* "coll" */ - /* 20 */ ts + 22698, /* "key" */ - /* 21 */ ts + 22643, /* "name" */ // Used by: function_list - /* 22 */ ts + 22702, /* "builtin" */ - /* 23 */ ts + 22648, /* "type" */ - /* 24 */ ts + 22710, /* "enc" */ - /* 25 */ ts + 22714, /* "narg" */ - /* 26 */ ts + 22719, /* "flags" */ - /* 27 */ ts + 18083, /* "tbl" */ // Used by: stats - /* 28 */ ts + 18079, /* "idx" */ - /* 29 */ ts + 22725, /* "wdth" */ - /* 30 */ ts + 22730, /* "hght" */ - /* 31 */ ts + 22735, /* "flgs" */ - /* 32 */ ts + 22601, /* "seq" */ // Used by: index_list - /* 33 */ ts + 22643, /* "name" */ - /* 34 */ ts + 22740, /* "unique" */ - /* 35 */ ts + 22747, /* "origin" */ - /* 36 */ ts + 22754, /* "partial" */ - /* 37 */ ts + 13031, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 14859, /* "rowid" */ - /* 39 */ ts + 11554, /* "parent" */ - /* 40 */ ts + 22762, /* "fkid" */ + /* 15 */ ts + 22697, /* "seqno" */ // Used by: index_xinfo + /* 16 */ ts + 22654, /* "cid" */ + /* 17 */ ts + 22658, /* "name" */ + /* 18 */ ts + 22703, /* "desc" */ + /* 19 */ ts + 22708, /* "coll" */ + /* 20 */ ts + 22713, /* "key" */ + /* 21 */ ts + 22658, /* "name" */ // Used by: function_list + /* 22 */ ts + 22717, /* "builtin" */ + /* 23 */ ts + 22663, /* "type" */ + /* 24 */ ts + 22725, /* "enc" */ + /* 25 */ ts + 22729, /* "narg" */ + /* 26 */ ts + 22734, /* "flags" */ + /* 27 */ ts + 18098, /* "tbl" */ // Used by: stats + /* 28 */ ts + 18094, /* "idx" */ + /* 29 */ ts + 22740, /* "wdth" */ + /* 30 */ ts + 22745, /* "hght" */ + /* 31 */ ts + 22750, /* "flgs" */ + /* 32 */ ts + 22616, /* "seq" */ // Used by: index_list + /* 33 */ ts + 22658, /* "name" */ + /* 34 */ ts + 22755, /* "unique" */ + /* 35 */ ts + 22762, /* "origin" */ + /* 36 */ ts + 22769, /* "partial" */ + /* 37 */ ts + 13046, /* "table" */ // Used by: foreign_key_check + /* 38 */ ts + 14874, /* "rowid" */ + /* 39 */ ts + 11569, /* "parent" */ + /* 40 */ ts + 22777, /* "fkid" */ // index_info reuses 15 - /* 41 */ ts + 22601, /* "seq" */ // Used by: database_list - /* 42 */ ts + 22643, /* "name" */ - /* 43 */ ts + 22767, /* "file" */ - /* 44 */ ts + 22772, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 22777, /* "log" */ - /* 46 */ ts + 22781, /* "checkpointed" */ + /* 41 */ ts + 22616, /* "seq" */ // Used by: database_list + /* 42 */ ts + 22658, /* "name" */ + /* 43 */ ts + 22782, /* "file" */ + /* 44 */ ts + 22787, /* "busy" */ // Used by: wal_checkpoint + /* 45 */ ts + 22792, /* "log" */ + /* 46 */ ts + 22796, /* "checkpointed" */ // collation_list reuses 32 - /* 47 */ ts + 22794, /* "database" */ // Used by: lock_status - /* 48 */ ts + 22803, /* "status" */ - /* 49 */ ts + 22810, /* "cache_size" */ // Used by: default_cache_size + /* 47 */ ts + 22809, /* "database" */ // Used by: lock_status + /* 48 */ ts + 22818, /* "status" */ + /* 49 */ ts + 22825, /* "cache_size" */ // Used by: default_cache_size // module_list pragma_list reuses 9 - /* 50 */ ts + 22821, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 22836, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas @@ -153425,241 +153933,241 @@ type PragmaName1 = struct { // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [67]PragmaName{ - { /* zName: */ FzName: ts + 22829, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 22844, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 22844, /* "application_id" */ + { /* zName: */ FzName: ts + 22859, /* "application_id" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_APPLICATION_ID)}, - { /* zName: */ FzName: ts + 22859, /* "auto_vacuum" */ + { /* zName: */ FzName: ts + 22874, /* "auto_vacuum" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_AUTO_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 22871, /* "automatic_index" */ + { /* zName: */ FzName: ts + 22886, /* "automatic_index" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_AutoIndex)}, - { /* zName: */ FzName: ts + 22887, /* "busy_timeout" */ + { /* zName: */ FzName: ts + 22902, /* "busy_timeout" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_BUSY_TIMEOUT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(50), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 22810, /* "cache_size" */ + { /* zName: */ FzName: ts + 22825, /* "cache_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 22900, /* "cache_spill" */ + { /* zName: */ FzName: ts + 22915, /* "cache_spill" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CACHE_SPILL), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 22912, /* "case_sensitive_l..." */ + { /* zName: */ FzName: ts + 22927, /* "case_sensitive_l..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_CASE_SENSITIVE_LIKE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 22932, /* "cell_size_check" */ + { /* zName: */ FzName: ts + 22947, /* "cell_size_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CellSizeCk)}, - { /* zName: */ FzName: ts + 22948, /* "checkpoint_fullf..." */ + { /* zName: */ FzName: ts + 22963, /* "checkpoint_fullf..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_CkptFullFSync)}, - { /* zName: */ FzName: ts + 22969, /* "collation_list" */ + { /* zName: */ FzName: ts + 22984, /* "collation_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COLLATION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 22984, /* "compile_options" */ + { /* zName: */ FzName: ts + 22999, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 23000, /* "count_changes" */ + { /* zName: */ FzName: ts + 23015, /* "count_changes" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (U64((uint64(0x00001))) << 32)}, - { /* zName: */ FzName: ts + 23014, /* "data_store_direc..." */ + { /* zName: */ FzName: ts + 23029, /* "data_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATA_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 23035, /* "data_version" */ + { /* zName: */ FzName: ts + 23050, /* "data_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_DATA_VERSION)}, - { /* zName: */ FzName: ts + 23048, /* "database_list" */ + { /* zName: */ FzName: ts + 23063, /* "database_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DATABASE_LIST), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_Result0)), /* ColNames: */ FiPragCName: U8(41), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 23062, /* "default_cache_si..." */ + { /* zName: */ FzName: ts + 23077, /* "default_cache_si..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_DEFAULT_CACHE_SIZE), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1)), /* ColNames: */ FiPragCName: U8(49), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 23081, /* "defer_foreign_ke..." */ + { /* zName: */ FzName: ts + 23096, /* "defer_foreign_ke..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_DeferFKs)}, - { /* zName: */ FzName: ts + 23100, /* "empty_result_cal..." */ + { /* zName: */ FzName: ts + 23115, /* "empty_result_cal..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_NullCallback)}, - { /* zName: */ FzName: ts + 23123, /* "encoding" */ + { /* zName: */ FzName: ts + 23138, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 23132, /* "foreign_key_chec..." */ + { /* zName: */ FzName: ts + 23147, /* "foreign_key_chec..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_CHECK), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(37), FnPragCName: U8(4)}, - { /* zName: */ FzName: ts + 23150, /* "foreign_key_list" */ + { /* zName: */ FzName: ts + 23165, /* "foreign_key_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FOREIGN_KEY_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), FnPragCName: U8(8)}, - { /* zName: */ FzName: ts + 23167, /* "foreign_keys" */ + { /* zName: */ FzName: ts + 23182, /* "foreign_keys" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ForeignKeys)}, - { /* zName: */ FzName: ts + 23180, /* "freelist_count" */ + { /* zName: */ FzName: ts + 23195, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 23195, /* "full_column_name..." */ + { /* zName: */ FzName: ts + 23210, /* "full_column_name..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullColNames)}, - { /* zName: */ FzName: ts + 23213, /* "fullfsync" */ + { /* zName: */ FzName: ts + 23228, /* "fullfsync" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_FullFSync)}, - { /* zName: */ FzName: ts + 23223, /* "function_list" */ + { /* zName: */ FzName: ts + 23238, /* "function_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FUNCTION_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(21), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 23237, /* "hard_heap_limit" */ + { /* zName: */ FzName: ts + 23252, /* "hard_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HARD_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 23253, /* "ignore_check_con..." */ + { /* zName: */ FzName: ts + 23268, /* "ignore_check_con..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_IgnoreChecks)}, - { /* zName: */ FzName: ts + 23278, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 23293, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 23297, /* "index_info" */ + { /* zName: */ FzName: ts + 23312, /* "index_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 23308, /* "index_list" */ + { /* zName: */ FzName: ts + 23323, /* "index_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_LIST), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(32), FnPragCName: U8(5)}, - { /* zName: */ FzName: ts + 23319, /* "index_xinfo" */ + { /* zName: */ FzName: ts + 23334, /* "index_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INDEX_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(15), FnPragCName: U8(6), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 23331, /* "integrity_check" */ + { /* zName: */ FzName: ts + 23346, /* "integrity_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 23347, /* "journal_mode" */ + { /* zName: */ FzName: ts + 23362, /* "journal_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_MODE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 23360, /* "journal_size_lim..." */ + { /* zName: */ FzName: ts + 23375, /* "journal_size_lim..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_JOURNAL_SIZE_LIMIT), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 23379, /* "legacy_alter_tab..." */ + { /* zName: */ FzName: ts + 23394, /* "legacy_alter_tab..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_LegacyAlter)}, - { /* zName: */ FzName: ts + 23398, /* "lock_status" */ + { /* zName: */ FzName: ts + 23413, /* "lock_status" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCK_STATUS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(47), FnPragCName: U8(2)}, - { /* zName: */ FzName: ts + 23410, /* "locking_mode" */ + { /* zName: */ FzName: ts + 23425, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 23423, /* "max_page_count" */ + { /* zName: */ FzName: ts + 23438, /* "max_page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 23438, /* "mmap_size" */ + { /* zName: */ FzName: ts + 23453, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 23448, /* "module_list" */ + { /* zName: */ FzName: ts + 23463, /* "module_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MODULE_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 23460, /* "optimize" */ + { /* zName: */ FzName: ts + 23475, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 23469, /* "page_count" */ + { /* zName: */ FzName: ts + 23484, /* "page_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_COUNT), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 23480, /* "page_size" */ + { /* zName: */ FzName: ts + 23495, /* "page_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PAGE_SIZE), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_Result0 | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 23490, /* "pragma_list" */ + { /* zName: */ FzName: ts + 23505, /* "pragma_list" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_PRAGMA_LIST), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0), /* ColNames: */ FiPragCName: U8(9), FnPragCName: U8(1)}, - { /* zName: */ FzName: ts + 23502, /* "query_only" */ + { /* zName: */ FzName: ts + 23517, /* "query_only" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_QueryOnly)}, - { /* zName: */ FzName: ts + 23513, /* "quick_check" */ + { /* zName: */ FzName: ts + 23528, /* "quick_check" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INTEGRITY_CHECK), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_Result1))}, - { /* zName: */ FzName: ts + 23525, /* "read_uncommitted" */ + { /* zName: */ FzName: ts + 23540, /* "read_uncommitted" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReadUncommit)}, - { /* zName: */ FzName: ts + 23542, /* "recursive_trigge..." */ + { /* zName: */ FzName: ts + 23557, /* "recursive_trigge..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_RecTriggers)}, - { /* zName: */ FzName: ts + 23561, /* "reverse_unordere..." */ + { /* zName: */ FzName: ts + 23576, /* "reverse_unordere..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ReverseOrder)}, - { /* zName: */ FzName: ts + 23587, /* "schema_version" */ + { /* zName: */ FzName: ts + 23602, /* "schema_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_SCHEMA_VERSION)}, - { /* zName: */ FzName: ts + 23602, /* "secure_delete" */ + { /* zName: */ FzName: ts + 23617, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 23616, /* "short_column_nam..." */ + { /* zName: */ FzName: ts + 23631, /* "short_column_nam..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_ShortColNames)}, - { /* zName: */ FzName: ts + 23635, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 23650, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 23649, /* "soft_heap_limit" */ + { /* zName: */ FzName: ts + 23664, /* "soft_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SOFT_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 23665, /* "synchronous" */ + { /* zName: */ FzName: ts + 23680, /* "synchronous" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SYNCHRONOUS), /* ePragFlg: */ FmPragFlg: (U8(((PragFlg_NeedSchema | PragFlg_Result0) | PragFlg_SchemaReq) | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 23677, /* "table_info" */ + { /* zName: */ FzName: ts + 23692, /* "table_info" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(6)}, - { /* zName: */ FzName: ts + 23688, /* "table_xinfo" */ + { /* zName: */ FzName: ts + 23703, /* "table_xinfo" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TABLE_INFO), /* ePragFlg: */ FmPragFlg: (U8((PragFlg_NeedSchema | PragFlg_Result1) | PragFlg_SchemaOpt)), /* ColNames: */ FiPragCName: U8(8), FnPragCName: U8(7), /* iArg: */ FiArg: uint64(1)}, - { /* zName: */ FzName: ts + 23700, /* "temp_store" */ + { /* zName: */ FzName: ts + 23715, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 23711, /* "temp_store_direc..." */ + { /* zName: */ FzName: ts + 23726, /* "temp_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 23732, /* "threads" */ + { /* zName: */ FzName: ts + 23747, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 23740, /* "trusted_schema" */ + { /* zName: */ FzName: ts + 23755, /* "trusted_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: uint64(SQLITE_TrustedSchema)}, - { /* zName: */ FzName: ts + 23755, /* "user_version" */ + { /* zName: */ FzName: ts + 23770, /* "user_version" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NoColumns1 | PragFlg_Result0)), /* iArg: */ FiArg: uint64(BTREE_USER_VERSION)}, - { /* zName: */ FzName: ts + 23768, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 23783, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 23787, /* "wal_checkpoint" */ + { /* zName: */ FzName: ts + 23802, /* "wal_checkpoint" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_CHECKPOINT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NeedSchema), /* ColNames: */ FiPragCName: U8(44), FnPragCName: U8(3)}, - { /* zName: */ FzName: ts + 23802, /* "writable_schema" */ + { /* zName: */ FzName: ts + 23817, /* "writable_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError))}, @@ -153696,7 +154204,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 23818 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ +var zText = *(*[25]int8)(unsafe.Pointer(ts + 23833 /* "onoffalseyestrue..." */)) /* sqlite3.c:128499:21 */ var iOffset = [8]U8{U8(0), U8(1), U8(2), U8(4), U8(9), U8(12), U8(15), U8(20)} /* sqlite3.c:128500:19 */ var iLength = [8]U8{U8(2), U8(2), U8(3), U8(5), U8(3), U8(4), U8(5), U8(4)} /* sqlite3.c:128501:19 */ var iValue = [8]U8{U8(1), U8(0), U8(0), U8(0), U8(1), U8(1), U8(3), U8(2)} /* sqlite3.c:128502:19 */ @@ -153713,10 +154221,10 @@ func Xsqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt U8) U8 { /* sqlite3.c:128 // Interpret the given string as a locking mode value. func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ if z != 0 { - if 0 == Xsqlite3StrICmp(tls, z, ts+9706 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+9721 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+23843 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+23858 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -153729,13 +154237,13 @@ func getLockingMode(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128535:12: */ // acceptable, as are their numeric equivalents: 0, 1 and 2 respectively. func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ var i int32 - if 0 == Xsqlite3StrICmp(tls, z, ts+23850 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+23865 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+23855 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+23870 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+23860 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+23875 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -153753,9 +154261,9 @@ func getAutoVacuum(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128550:12: */ func getTempStore(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:128566:12: */ if (int32(*(*int8)(unsafe.Pointer(z))) >= '0') && (int32(*(*int8)(unsafe.Pointer(z))) <= '2') { return (int32(*(*int8)(unsafe.Pointer(z))) - '0') - } else if Xsqlite3StrICmp(tls, z, ts+22767 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+22782 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+23872 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+23887 /* "memory" */) == 0 { return 2 } else { return 0 @@ -153771,7 +154279,7 @@ func invalidateTempStorage(tls *libc.TLS, pParse uintptr) int32 { /* sqlite3.c:1 if !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) || (Xsqlite3BtreeTxnState(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) != SQLITE_TXN_NONE) { Xsqlite3ErrorMsg(tls, pParse, - ts+23879 /* "temporary storag..." */, 0) + ts+23894 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) @@ -153871,19 +154379,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 23941 /* "SET NULL" */ + zName = ts + 23956 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 23950 /* "SET DEFAULT" */ + zName = ts + 23965 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 23962 /* "CASCADE" */ + zName = ts + 23977 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 23970 /* "RESTRICT" */ + zName = ts + 23985 /* "RESTRICT" */ break default: - zName = ts + 23979 /* "NO ACTION" */ + zName = ts + 23994 /* "NO ACTION" */ break } return zName @@ -153901,7 +154409,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 23989 /* "delete" */, ts + 23996 /* "persist" */, ts + 24004 /* "off" */, ts + 24008 /* "truncate" */, ts + 23872 /* "memory" */, ts + 24017, /* "wal" */ + ts + 24004 /* "delete" */, ts + 24011 /* "persist" */, ts + 24019 /* "off" */, ts + 24023 /* "truncate" */, ts + 23887 /* "memory" */, ts + 24032, /* "wal" */ } /* sqlite3.c:128715:15 */ // Locate a pragma in the aPragmaName[] array. @@ -153947,13 +154455,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 24021 /* "w" */ + zType = ts + 24036 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 24023 /* "a" */ + zType = ts + 24038 /* "a" */ } else { - zType = ts + 24025 /* "s" */ + zType = ts + 24040 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24027, /* "sissii" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24042, /* "sissii" */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, azEnc[((*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK))], int32((*FuncDef)(unsafe.Pointer(p)).FnArg), @@ -153962,7 +154470,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh } var mask U32 = (U32((((SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY) | SQLITE_SUBTYPE) | SQLITE_INNOCUOUS) | SQLITE_FUNC_INTERNAL)) /* sqlite3.c:128765:22 */ -var azEnc = [4]uintptr{uintptr(0), ts + 24034 /* "utf8" */, ts + 24039 /* "utf16le" */, ts + 24047 /* "utf16be" */} /* sqlite3.c:128772:23 */ +var azEnc = [4]uintptr{uintptr(0), ts + 24049 /* "utf8" */, ts + 24054 /* "utf16le" */, ts + 24062 /* "utf16be" */} /* sqlite3.c:128772:23 */ // Helper subroutine for PRAGMA integrity_check: // @@ -154232,7 +154740,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+24055 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+24070 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -154287,7 +154795,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */))) __10: ; @@ -154877,7 +155385,7 @@ __18: if !(zRight != 0) { goto __64 } - if !(Xsqlite3_stricmp(tls, zRight, ts+24059 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+24074 /* "fast" */) == 0) { goto __65 } b = 2 @@ -154966,7 +155474,7 @@ __72: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 23843 /* "normal" */ + zRet = ts + 23858 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -155007,7 +155515,7 @@ __79: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __84 } - zRet = ts + 9706 /* "exclusive" */ + zRet = ts + 9721 /* "exclusive" */ __84: ; returnSingleText(tls, v, zRet) @@ -155372,7 +155880,7 @@ __124: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 616 /* res */)) == 0)) { goto __127 } - Xsqlite3ErrorMsg(tls, pParse, ts+24064 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+24079 /* "not a writable d..." */, 0) goto pragma_out __127: ; @@ -155390,7 +155898,7 @@ __128: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __129 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+32, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+32, zRight)) goto __130 __129: Xsqlite3_temp_directory = uintptr(0) @@ -155425,7 +155933,7 @@ __131: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 620 /* res1 */)) == 0)) { goto __134 } - Xsqlite3ErrorMsg(tls, pParse, ts+24064 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+24079 /* "not a writable d..." */, 0) goto pragma_out __134: ; @@ -155435,7 +155943,7 @@ __133: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __135 } - Xsqlite3_data_directory = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+48, zRight)) + Xsqlite3_data_directory = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+48, zRight)) goto __136 __135: Xsqlite3_data_directory = uintptr(0) @@ -155463,7 +155971,7 @@ __137: goto __139 } Xsqlite3ErrorMsg(tls, pParse, - ts+24089 /* "Safety level may..." */, 0) + ts+24104 /* "Safety level may..." */, 0) goto __140 __139: if !(iDb != 1) { @@ -155622,13 +156130,13 @@ __161: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 24142 /* "issisii" */ + return ts + 24157 /* "issisii" */ } - return ts + 24150 /* "issisi" */ + return ts + 24165 /* "issisi" */ }(), libc.VaList(bp+64, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+900 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+915 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -155703,7 +156211,7 @@ __173: goto __175 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24157 /* "iisX" */, libc.VaList(bp+128, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24172 /* "iisX" */, libc.VaList(bp+128, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -155713,7 +156221,7 @@ __173: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __176 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+24162, /* "isiX" */ + Xsqlite3VdbeMultiLoad(tls, v, 4, ts+24177, /* "isiX" */ libc.VaList(bp+160, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) @@ -155750,8 +156258,8 @@ __179: if !(pIdx1 != 0) { goto __181 } - *(*[3]uintptr)(unsafe.Pointer(bp + 624 /* azOrigin */)) = [3]uintptr{ts + 24167 /* "c" */, ts + 24169 /* "u" */, ts + 22672 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24171, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 624 /* azOrigin */)) = [3]uintptr{ts + 24182 /* "c" */, ts + 24184 /* "u" */, ts + 22687 /* "pk" */} + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24186, /* "isisi" */ libc.VaList(bp+192, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), @@ -155785,7 +156293,7 @@ __182: __185: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24177, /* "iss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24192, /* "iss" */ libc.VaList(bp+240, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FpBt))) @@ -155808,7 +156316,7 @@ __186: goto __188 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24181 /* "is" */, libc.VaList(bp+272, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24196 /* "is" */, libc.VaList(bp+272, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __187 __187: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -155872,7 +156380,7 @@ __198: goto __200 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24025 /* "s" */, libc.VaList(bp+296, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24040 /* "s" */, libc.VaList(bp+296, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __199 __199: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -155889,7 +156397,7 @@ __201: if !(i6 < (int32(uint64(unsafe.Sizeof(aPragmaName)) / uint64(unsafe.Sizeof(PragmaName{}))))) { goto __203 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24025 /* "s" */, libc.VaList(bp+312, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24040 /* "s" */, libc.VaList(bp+312, aPragmaName[i6].FzName)) goto __202 __202: i6++ @@ -155925,7 +156433,7 @@ __209: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __211 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24184, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24199, /* "iissssss" */ libc.VaList(bp+328, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -155933,7 +156441,7 @@ __209: (*sColMap)(unsafe.Pointer((pFK+64 /* &.aCol */)+uintptr(j2)*16)).FzCol, actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */) + 1))), // ON UPDATE actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */)))), // ON DELETE - ts+24193 /* "NONE" */)) + ts+24208 /* "NONE" */)) goto __210 __210: j2++ @@ -156126,7 +156634,7 @@ __238: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __239: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+24198 /* "siX" */, libc.VaList(bp+400, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+24213 /* "siX" */, libc.VaList(bp+400, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 656 /* aiCols */))) @@ -156392,7 +156900,7 @@ __266: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+24202 /* "*** in database ..." */, libc.VaList(bp+424, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+24217 /* "*** in database ..." */, libc.VaList(bp+424, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -156482,7 +156990,7 @@ __285: __286: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+24226 /* "NULL value in %s..." */, libc.VaList(bp+440, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+24241 /* "NULL value in %s..." */, libc.VaList(bp+440, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*32)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -156522,7 +157030,7 @@ __291: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+24246, /* "CHECK constraint..." */ + zErr1 = Xsqlite3MPrintf(tls, db, ts+24261, /* "CHECK constraint..." */ libc.VaList(bp+464, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) @@ -156556,9 +157064,9 @@ __296: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 672 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+24276 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+24291 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+24281 /* " missing from in..." */) + Xsqlite3VdbeLoadString(tls, v, 4, ts+24296 /* " missing from in..." */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) jmp5 = Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 3, 3) @@ -156598,7 +157106,7 @@ __300: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 672 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+24302 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+24317 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __297: @@ -156620,7 +157128,7 @@ __292: if !(!(isQuick != 0)) { goto __302 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+24329 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+24344 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __303: @@ -156671,7 +157179,7 @@ __248: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 664 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*32)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*32 + 16 /* &.p4 */)) = ts + 6149 /* "ok" */ + *(*uintptr)(unsafe.Pointer(aOp2 + 2*32 + 16 /* &.p4 */)) = ts + 6164 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*32)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 5*32 + 16 /* &.p4 */)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT) __307: @@ -156749,7 +157257,7 @@ __314: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __316 } - Xsqlite3ErrorMsg(tls, pParse, ts+24358 /* "unsupported enco..." */, libc.VaList(bp+480, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+24373 /* "unsupported enco..." */, libc.VaList(bp+480, zRight)) __316: ; __311: @@ -156861,19 +157369,19 @@ __48: if !(zRight != 0) { goto __323 } - if !(Xsqlite3StrICmp(tls, zRight, ts+23855 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+23870 /* "full" */) == 0) { goto __324 } eMode2 = SQLITE_CHECKPOINT_FULL goto __325 __324: - if !(Xsqlite3StrICmp(tls, zRight, ts+24383 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+24398 /* "restart" */) == 0) { goto __326 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __327 __326: - if !(Xsqlite3StrICmp(tls, zRight, ts+24008 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+24023 /* "truncate" */) == 0) { goto __328 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -157060,7 +157568,7 @@ __343: __345: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+24391, /* "ANALYZE \"%w\".\"%w..." */ + zSubSql = Xsqlite3MPrintf(tls, db, ts+24406, /* "ANALYZE \"%w\".\"%w..." */ libc.VaList(bp+496, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __346 @@ -157195,7 +157703,7 @@ __354: if !(i11 < (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __356 } - zState = ts + 24409 /* "unknown" */ + zState = ts + 24424 /* "unknown" */ if !((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName == uintptr(0)) { goto __357 } @@ -157206,7 +157714,7 @@ __357: if !((pBt3 == uintptr(0)) || (Xsqlite3BtreePager(tls, pBt3) == uintptr(0))) { goto __358 } - zState = ts + 24417 /* "closed" */ + zState = ts + 24432 /* "closed" */ goto __359 __358: if !(Xsqlite3_file_control(tls, db, func() uintptr { @@ -157223,7 +157731,7 @@ __360: ; __359: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24424 /* "ss" */, libc.VaList(bp+520, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName, zState)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24439 /* "ss" */, libc.VaList(bp+520, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName, zState)) goto __355 __355: i11++ @@ -157290,14 +157798,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 24427 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 24432 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 24438 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 24447 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 24456 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 24464 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 24472 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 24479 /* "UTF16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 24442 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, + {FzName: ts + 24447 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] + {FzName: ts + 24453 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] + {FzName: ts + 24462 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] + {FzName: ts + 24471 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, + {FzName: ts + 24479 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, + {FzName: ts + 24487 /* "UTF-16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 24494 /* "UTF16" */}, // SQLITE_UTF16NATIVE {}, } /* sqlite3.c:130285:7 */ var setCookie = [2]VdbeOpList{ @@ -157310,7 +157818,7 @@ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, } /* sqlite3.c:130380:31 */ var azLockName = [5]uintptr{ - ts + 24485 /* "unlocked" */, ts + 24494 /* "shared" */, ts + 24501 /* "reserved" */, ts + 24510 /* "pending" */, ts + 9706, /* "exclusive" */ + ts + 24500 /* "unlocked" */, ts + 24509 /* "shared" */, ts + 24516 /* "reserved" */, ts + 24525 /* "pending" */, ts + 9721, /* "exclusive" */ } /* sqlite3.c:130688:23 */ // **************************************************************************** // @@ -157357,7 +157865,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argc _ = argv Xsqlite3StrAccumInit(tls, bp+56 /* &acc */, uintptr(0), bp+88 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+24518 /* "CREATE TABLE x" */) + Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+24533 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -157365,7 +157873,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+56 /* &acc */, ts+24533 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+56 /* &acc */, ts+24548 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -157378,19 +157886,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+56 /* &acc */, ts+24540 /* "(\"%s\"" */, libc.VaList(bp+24, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+56 /* &acc */, ts+24555 /* "(\"%s\"" */, libc.VaList(bp+24, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+24546 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+24561 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+24558 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+24573 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+56 /* &acc */, ts+11449 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+56 /* &acc */, ts+11464 /* ")" */, 1) Xsqlite3StrAccumFinish(tls, bp+56 /* &acc */) rc = Xsqlite3_declare_vtab(tls, db, bp+88 /* &zBuf[0] */) @@ -157406,7 +157914,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+40, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+40, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -157569,7 +158077,7 @@ __1: var zText uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, zText)) + *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, zText)) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) == uintptr(0) { return SQLITE_NOMEM } @@ -157585,13 +158093,13 @@ __2: __3: ; Xsqlite3StrAccumInit(tls, bp+64 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 128 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+64 /* &acc */, ts+24573 /* "PRAGMA " */) + Xsqlite3_str_appendall(tls, bp+64 /* &acc */, ts+24588 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp+64 /* &acc */, ts+24581 /* "%Q." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) + Xsqlite3_str_appendf(tls, bp+64 /* &acc */, ts+24596 /* "%Q." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) } Xsqlite3_str_appendall(tls, bp+64 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+64 /* &acc */, ts+24585 /* "=%Q" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+64 /* &acc */, ts+24600 /* "=%Q" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) } zSql = Xsqlite3StrAccumFinish(tls, bp+64 /* &acc */) if zSql == uintptr(0) { @@ -157600,7 +158108,7 @@ __3: rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+48, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+48, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -157693,12 +158201,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) // A error message has already been generated. Do not overwrite it } else if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & (U32(INITFLAG_AlterRename | INITFLAG_AlterDrop))) != 0 { *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db, - ts+24589 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), + ts+24604 /* "error in %s %s a..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), func() uintptr { if ((*InitData)(unsafe.Pointer(pData)).FmInitFlags & U32(INITFLAG_AlterRename)) != 0 { - return ts + 24617 /* "rename" */ + return ts + 24632 /* "rename" */ } - return ts + 24624 /* "drop column" */ + return ts + 24639 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -157710,11 +158218,11 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { zObj = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - zObj = ts + 11502 /* "?" */ + zObj = ts + 11517 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+24636 /* "malformed databa..." */, libc.VaList(bp+40, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+24651 /* "malformed databa..." */, libc.VaList(bp+40, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+24667 /* "%z - %s" */, libc.VaList(bp+56, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+24682 /* "%z - %s" */, libc.VaList(bp+56, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -157791,7 +158299,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr if (Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (db+184 /* &.init */ /* &.newTnum */)) == 0) || (((*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum > (*InitData)(unsafe.Pointer(pData)).FmxPage) && ((*InitData)(unsafe.Pointer(pData)).FmxPage > Pgno(0))) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+20729 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+20744 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -157828,13 +158336,13 @@ 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+24675 /* "orphan index" */) + corruptSchema(tls, pData, argv, ts+24690 /* "orphan index" */) } else if (((Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), (pIndex+88 /* &.tnum */)) == 0) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2))) || ((*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage)) || (Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { if Xsqlite3Config.FbExtraSchemaChecks != 0 { - corruptSchema(tls, pData, argv, ts+20729 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+20744 /* "invalid rootpage" */) } } } @@ -157877,16 +158385,16 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */)) = ts + 13031 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */)) = ts + 13046 /* "table" */ *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 1*8)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 18752 /* "sqlite_temp_mast..." */ + return ts + 18767 /* "sqlite_temp_mast..." */ } - return ts + 12336 /* "sqlite_master" */ + return ts + 12351 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 1*8)) - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 3*8)) = ts + 14696 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 4*8)) = ts + 24688 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 3*8)) = ts + 14711 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 4*8)) = ts + 24703 /* "CREATE TABLE x(t..." */ *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 5*8)) = uintptr(0) (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).Fdb = db (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FiDb = iDb @@ -157999,7 +158507,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+18366 /* "attached databas..." */) + ts+18381 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -158039,7 +158547,7 @@ __16: if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) { goto __17 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+24760 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+24775 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -158061,7 +158569,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+24784, /* "SELECT*FROM\"%w\"...." */ + ts+24799, /* "SELECT*FROM\"%w\"...." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName)) xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth @@ -158421,7 +158929,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+24818 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+24833 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -158449,7 +158957,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+24848 /* "statement too lo..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+24863 /* "statement too lo..." */, 0) rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG) goto end_prepare __10: @@ -158512,7 +159020,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+936 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */)))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+951 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */))) goto __21 __20: @@ -158987,24 +159495,24 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC } } if ((jointype & (JT_INNER | JT_OUTER)) == (JT_INNER | JT_OUTER)) || ((jointype & JT_ERROR) != 0) { - var zSp uintptr = ts + 17488 /* " " */ + var zSp uintptr = ts + 17503 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+24867 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) + ts+24882 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) jointype = JT_INNER } else if ((jointype & JT_OUTER) != 0) && ((jointype & (JT_LEFT | JT_RIGHT)) != JT_LEFT) { Xsqlite3ErrorMsg(tls, pParse, - ts+24911 /* "RIGHT and FULL O..." */, 0) + ts+24926 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 24966 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ +var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 24981 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -159210,7 +159718,7 @@ __1: if (int32((*SrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype) & JT_NATURAL) != 0 { if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) || ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+25000 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) + ts+25015 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) return 1 } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { @@ -159234,7 +159742,7 @@ __1: // Disallow both ON and USING clauses in the same join if ((*SrcItem)(unsafe.Pointer(pRight)).FpOn != 0) && ((*SrcItem)(unsafe.Pointer(pRight)).FpUsing != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+25050 /* "cannot have both..." */, 0) + ts+25065 /* "cannot have both..." */, 0) return 1 } @@ -159269,7 +159777,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+40 /* &iLeft */, bp+44 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+25105 /* "cannot join usin..." */, libc.VaList(bp+16, zName)) + ts+25120 /* "cannot join usin..." */, libc.VaList(bp+16, zName)) return 1 } addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 40 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 44 /* iLeftCol */)), (i + 1), iRightCol, @@ -159464,7 +159972,7 @@ func pushOntoSorter(tls *libc.TLS, pParse uintptr, pSort uintptr, pSelect uintpt func codeOffset(tls *libc.TLS, v uintptr, iOffset int32, iContinue int32) { /* sqlite3.c:132803:13: */ if iOffset > 0 { Xsqlite3VdbeAddOp3(tls, v, OP_IfPos, iOffset, iContinue, 1) - Xsqlite3VdbeComment(tls, v, ts+25169 /* "OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+25184 /* "OFFSET" */, 0) } } @@ -159678,7 +160186,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo if srcTab >= 0 { for i = 0; i < nResultCol; i++ { Xsqlite3VdbeAddOp3(tls, v, OP_Column, srcTab, i, (regResult + i)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList+8 /* &.a */)+uintptr(i)*32)).FzEName)) } } else if eDest != SRT_Exists { // If the destination is an EXISTS(...) expression, the actual @@ -160060,16 +160568,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 25176 /* "UNION ALL" */ + z = ts + 25191 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 25186 /* "INTERSECT" */ + z = ts + 25201 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 25196 /* "EXCEPT" */ + z = ts + 25211 /* "EXCEPT" */ break default: - z = ts + 25203 /* "UNION" */ + z = ts + 25218 /* "UNION" */ break } return z @@ -160087,7 +160595,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+25209 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+25224 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } // Assign expression b to lvalue a. A second, no-op, version of this macro @@ -160181,7 +160689,7 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n iRead = libc.PostDecInt32(&iCol, 1) } Xsqlite3VdbeAddOp3(tls, v, OP_Column, iSortTab, iRead, (regRow + i)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(aOutEx+uintptr(i)*32)).FzEName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*ExprList_item)(unsafe.Pointer(aOutEx+uintptr(i)*32)).FzEName)) } } @@ -160357,8 +160865,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 19264 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 14859 /* "rowid" */ + zType = ts + 19279 /* "INTEGER" */ + *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 14874 /* "rowid" */ } else { *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName zType = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), uintptr(0)) @@ -160511,13 +161019,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 14859 /* "rowid" */ + zCol = ts + 14874 /* "rowid" */ } else { zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } if fullName != 0 { var zName uintptr = uintptr(0) - zName = Xsqlite3MPrintf(tls, db, ts+14792 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) + zName = Xsqlite3MPrintf(tls, db, ts+14807 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, zCol)) Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } else { Xsqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, libc.UintptrFromInt32(-1)) @@ -160525,7 +161033,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*32)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+25232 /* "column%d" */, libc.VaList(bp+24, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+25247 /* "column%d" */, libc.VaList(bp+24, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -160614,7 +161122,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } else { - zName = ts + 14859 /* "rowid" */ + zName = ts + 14874 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -160627,7 +161135,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+25232 /* "column%d" */, libc.VaList(bp, (i+1))) + zName = Xsqlite3MPrintf(tls, db, ts+25247 /* "column%d" */, libc.VaList(bp, (i+1))) } // Make sure the column name is unique. If the name is not unique, @@ -160642,7 +161150,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+25241 /* "%.*z:%u" */, libc.VaList(bp+16, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 72 /* cnt */)), 1))) + zName = Xsqlite3MPrintf(tls, db, ts+25256 /* "%.*z:%u" */, libc.VaList(bp+16, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 72 /* cnt */)), 1))) if *(*U32)(unsafe.Pointer(bp + 72 /* cnt */)) > U32(3) { Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+72 /* &cnt */) } @@ -160843,7 +161351,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 if Xsqlite3ExprIsInteger(tls, (*Expr)(unsafe.Pointer(pLimit)).FpLeft, bp /* &n */) != 0 { Xsqlite3VdbeAddOp2(tls, v, OP_Integer, *(*int32)(unsafe.Pointer(bp /* n */)), iLimit) - Xsqlite3VdbeComment(tls, v, ts+25249 /* "LIMIT counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+25264 /* "LIMIT counter" */, 0) if *(*int32)(unsafe.Pointer(bp /* n */)) == 0 { Xsqlite3VdbeGoto(tls, v, iBreak) } else if (*(*int32)(unsafe.Pointer(bp /* n */)) >= 0) && (int32((*Select)(unsafe.Pointer(p)).FnSelectRow) > int32(Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp /* n */)))))) { @@ -160853,7 +161361,7 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 } else { Xsqlite3ExprCode(tls, pParse, (*Expr)(unsafe.Pointer(pLimit)).FpLeft, iLimit) Xsqlite3VdbeAddOp1(tls, v, OP_MustBeInt, iLimit) - Xsqlite3VdbeComment(tls, v, ts+25249 /* "LIMIT counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+25264 /* "LIMIT counter" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_IfNot, iLimit, iBreak) } if (*Expr)(unsafe.Pointer(pLimit)).FpRight != 0 { @@ -160861,9 +161369,9 @@ func computeLimitRegisters(tls *libc.TLS, pParse uintptr, p uintptr, iBreak int3 (*Parse)(unsafe.Pointer(pParse)).FnMem++ // Allocate an extra register for limit+offset Xsqlite3ExprCode(tls, pParse, (*Expr)(unsafe.Pointer(pLimit)).FpRight, iOffset) Xsqlite3VdbeAddOp1(tls, v, OP_MustBeInt, iOffset) - Xsqlite3VdbeComment(tls, v, ts+25263 /* "OFFSET counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+25278 /* "OFFSET counter" */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_OffsetLimit, iLimit, (iOffset + 1), iOffset) - Xsqlite3VdbeComment(tls, v, ts+25278 /* "LIMIT+OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+25293 /* "LIMIT+OFFSET" */, 0) } } } @@ -160999,7 +161507,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+25291 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25306 /* "cannot use windo..." */, 0) return __1: ; @@ -161083,7 +161591,7 @@ __9: Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, iQueue, nCol) __10: ; - Xsqlite3VdbeComment(tls, v, ts+25340 /* "Queue table" */, 0) + Xsqlite3VdbeComment(tls, v, ts+25355 /* "Queue table" */, 0) if !(iDistinct != 0) { goto __11 } @@ -161110,7 +161618,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+25352 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25367 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -161132,7 +161640,7 @@ __14: // Store the results of the setup-query in Queue. pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior (*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25394 /* "SETUP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25409 /* "SETUP" */, 0) rc = Xsqlite3Select(tls, pParse, pSetup, bp /* &destQueue */) (*Select)(unsafe.Pointer(pSetup)).FpNext = p if !(rc != 0) { @@ -161175,7 +161683,7 @@ __20: // Execute the recursive SELECT taking the single row in Current as // the value for the recursive-table. Store the results in the Queue. (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25400 /* "RECURSIVE STEP" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25415 /* "RECURSIVE STEP" */, 0) Xsqlite3Select(tls, pParse, p, bp /* &destQueue */) (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -161225,11 +161733,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+25415 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+25430 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { if nRow == 1 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 25438 /* "S" */ + return ts + 25453 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -161381,8 +161889,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25440 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25455 /* "LEFT-MOST SUBQUE..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25455 /* "COMPOUND QUERY" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25470 /* "LEFT-MOST SUBQUE..." */, 0) __8: ; @@ -161421,7 +161929,7 @@ __14: goto __15 } addr = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, (*Select)(unsafe.Pointer(p)).FiLimit) - Xsqlite3VdbeComment(tls, v, ts+25474 /* "Jump ahead if LI..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+25489 /* "Jump ahead if LI..." */, 0) if !((*Select)(unsafe.Pointer(p)).FiOffset != 0) { goto __16 } @@ -161431,7 +161939,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25176 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25191 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+32 /* &dest */) @@ -161507,7 +162015,7 @@ __23: pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 80 /* &uniondest */)).FeDest = op - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25502 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25517 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+80 /* &uniondest */) @@ -161579,7 +162087,7 @@ __26: pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*SelectDest)(unsafe.Pointer(bp + 120 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25502 /* "%s USING TEMP B-..." */, libc.VaList(bp+16, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25517 /* "%s USING TEMP B-..." */, libc.VaList(bp+16, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+120 /* &intersectdest */) @@ -161740,10 +162248,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) defer tls.Free(16) if ((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Values)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+25523 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25538 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+25569, /* "SELECTs to the l..." */ + ts+25584, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -162123,9 +162631,9 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Separate the left and the right query from one another (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) (*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) - Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+13921 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+13936 /* "ORDER" */) if (*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+13921 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+13936 /* "ORDER" */) } // Compute the limit registers @@ -162154,15 +162662,15 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) Xsqlite3SelectDestInit(tls, bp+16 /* &destA */, SRT_Coroutine, regAddrA) Xsqlite3SelectDestInit(tls, bp+56 /* &destB */, SRT_Coroutine, regAddrB) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25651 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25666 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) // Generate a coroutine to evaluate the SELECT statement to the // left of the compound operator - the "A" select. addrSelectA = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA) - Xsqlite3VdbeComment(tls, v, ts+25662 /* "left SELECT" */, 0) + Xsqlite3VdbeComment(tls, v, ts+25677 /* "left SELECT" */, 0) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25674 /* "LEFT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25689 /* "LEFT" */, 0) Xsqlite3Select(tls, pParse, pPrior, bp+16 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -162171,12 +162679,12 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // the right - the "B" select addrSelectB = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrB, 0, addrSelectB) - Xsqlite3VdbeComment(tls, v, ts+25679 /* "right SELECT" */, 0) + Xsqlite3VdbeComment(tls, v, ts+25694 /* "right SELECT" */, 0) savedLimit = (*Select)(unsafe.Pointer(p)).FiLimit savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset (*Select)(unsafe.Pointer(p)).FiLimit = regLimitB (*Select)(unsafe.Pointer(p)).FiOffset = 0 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25692 /* "RIGHT" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25707 /* "RIGHT" */, 0) Xsqlite3Select(tls, pParse, p, bp+56 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -162184,7 +162692,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Generate a subroutine that outputs the current row of the A // select as the next output row of the compound select. - Xsqlite3VdbeNoopComment(tls, v, ts+25698 /* "Output routine f..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+25713 /* "Output routine f..." */, 0) addrOutA = generateOutputSubroutine(tls, pParse, p, bp+16 /* &destA */, pDest, regOutA, regPrev, pKeyDup, labelEnd) @@ -162192,7 +162700,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Generate a subroutine that outputs the current row of the B // select as the next output row of the compound select. if (op == TK_ALL) || (op == TK_UNION) { - Xsqlite3VdbeNoopComment(tls, v, ts+25719 /* "Output routine f..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+25734 /* "Output routine f..." */, 0) addrOutB = generateOutputSubroutine(tls, pParse, p, bp+56 /* &destB */, pDest, regOutB, regPrev, pKeyDup, labelEnd) @@ -162204,7 +162712,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) if (op == TK_EXCEPT) || (op == TK_INTERSECT) { addrEofA_noB = libc.AssignInt32(&addrEofA, labelEnd) } else { - Xsqlite3VdbeNoopComment(tls, v, ts+25740 /* "eof-A subroutine" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+25755 /* "eof-A subroutine" */, 0) addrEofA = Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutB, addrOutB) addrEofA_noB = Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regAddrB, labelEnd) @@ -162220,14 +162728,14 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (*Select)(unsafe.Pointer(p)).FnSelectRow = (*Select)(unsafe.Pointer(pPrior)).FnSelectRow } } else { - Xsqlite3VdbeNoopComment(tls, v, ts+25757 /* "eof-B subroutine" */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+25772 /* "eof-B subroutine" */, 0) addrEofB = Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutA, addrOutA) Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regAddrA, labelEnd) Xsqlite3VdbeGoto(tls, v, addrEofB) } // Generate code to handle the case of AB - Xsqlite3VdbeNoopComment(tls, v, ts+25810 /* "A-gt-B subroutin..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+25825 /* "A-gt-B subroutin..." */, 0) addrAgtB = Xsqlite3VdbeCurrentAddr(tls, v) if (op == TK_ALL) || (op == TK_UNION) { Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutB, addrOutB) @@ -162373,7 +162881,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 463 /* "BINARY" */ + return ts + 478 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -163586,12 +164094,12 @@ func minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) U8 return U8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8 /* &.u */)) - if Xsqlite3StrICmp(tls, zFunc, ts+21709 /* "min" */) == 0 { + if Xsqlite3StrICmp(tls, zFunc, ts+21724 /* "min" */) == 0 { eRet = WHERE_ORDERBY_MIN if Xsqlite3ExprCanBeNull(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */))).FpExpr) != 0 { sortFlags = U8(KEYINFO_ORDER_BIGNULL) } - } else if Xsqlite3StrICmp(tls, zFunc, ts+21713 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+21728 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -163660,7 +164168,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+25828 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) + Xsqlite3ErrorMsg(tls, pParse, ts+25843 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) return SQLITE_ERROR } @@ -163771,7 +164279,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s defer tls.Free(16) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+25846 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+25861 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) return 1 } return 0 @@ -163959,7 +164467,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+60 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+25869 /* "multiple referen..." */, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+25884 /* "multiple referen..." */, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -163975,7 +164483,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 25912 /* "circular referen..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 25927 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 64 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { @@ -164001,7 +164509,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+25935, /* "table %s has %d ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+25950, /* "table %s has %d ..." */ libc.VaList(bp+32, (*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 @@ -164012,9 +164520,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom Xsqlite3ColumnsFromExprList(tls, pParse, pEList, (pTab + 70 /* &.nCol */), (pTab + 8 /* &.aCol */)) if bMayRecursive != 0 { if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 25973 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 25988 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 26007 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 26022 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -164062,7 +164570,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+26045 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) + (*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+26060 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) } for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior @@ -164189,7 +164697,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+26057, /* "too many referen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+26072, /* "too many referen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) (*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return WRC_Abort @@ -164208,7 +164716,7 @@ __1: if (((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (((*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+26096, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+26111, /* "access to view \"..." */ libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -164216,7 +164724,7 @@ __1: ((uint32(int32(*(*uint16)(unsafe.Pointer((pFrom + 60 /* &.fg */) + 4 /* &.fromDDL */)) & 0x40 >> 6))) != 0)) && ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { - Xsqlite3ErrorMsg(tls, pParse, ts+26127, /* "unsafe use of vi..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+26142, /* "unsafe use of vi..." */ libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) @@ -164331,7 +164839,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName } else { - zSchemaName = ts + 26160 /* "*" */ + zSchemaName = ts + 26175 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -164380,7 +164888,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+14792 /* "%s.%s" */, libc.VaList(bp+48, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+14807 /* "%s.%s" */, libc.VaList(bp+48, zTabName, zName)) zToFree = zColname } } else { @@ -164396,7 +164904,7 @@ __3: (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(((*Select)(unsafe.Pointer(pSub)).FpEList+8 /* &.a */)+uintptr(j)*32)).FzEName) } else { - (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+26162, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+26177, /* "%s.%s.%s" */ libc.VaList(bp+72, zSchemaName, zTabName, zColname)) } @@ -164416,9 +164924,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+26171 /* "no such table: %..." */, libc.VaList(bp+104, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+26186 /* "no such table: %..." */, libc.VaList(bp+104, zTName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+26189 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+26204 /* "no tables specif..." */, 0) } } } @@ -164428,7 +164936,7 @@ __3: } if (*Select)(unsafe.Pointer(p)).FpEList != 0 { if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+26209 /* "too many columns..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+26224 /* "too many columns..." */, 0) return WRC_Abort } if (elistFlags & (U32(EP_HasFunc | EP_Subquery))) != U32(0) { @@ -164616,13 +165124,13 @@ __1: if (*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)) == uintptr(0)) || ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)))).FnExpr != 1) { Xsqlite3ErrorMsg(tls, pParse, - ts+26240 /* "DISTINCT aggrega..." */, 0) + ts+26255 /* "DISTINCT aggrega..." */, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1 } else { var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32 /* &.x */)), 0, 0) (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, (*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -9) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+26291 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+26306 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } @@ -164822,19 +165330,19 @@ 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 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+26324, /* "SCAN %s%s%s" */ + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+26339, /* "SCAN %s%s%s" */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if bCover != 0 { - return ts + 26336 /* " USING COVERING ..." */ + return ts + 26351 /* " USING COVERING ..." */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) } } @@ -164854,7 +165362,7 @@ func havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { if (Xsqlite3ExprIsConstantOrGroupBy(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*Select)(unsafe.Pointer(pS)).FpGroupBy) != 0) && ((libc.Bool32(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromJoin | EP_IsFalse))) == U32(EP_IsFalse))) == 0) { var db uintptr = (*Parse)(unsafe.Pointer((*Walker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+14696 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+14711 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -165156,7 +165664,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+26359, /* "target object/al..." */ + ts+26374, /* "target object/al..." */ libc.VaList(bp, func() uintptr { if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 { return (*SrcItem)(unsafe.Pointer(p0)).FzAlias @@ -165236,7 +165744,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+26413, /* "expected %d colu..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+26428, /* "expected %d colu..." */ libc.VaList(bp+16, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end __18: @@ -165377,7 +165885,7 @@ __29: if !(((*SrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0)) && ((*SrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0))) { goto __32 } - Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+900 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+915 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -165439,10 +165947,10 @@ __35: (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) - Xsqlite3VdbeComment(tls, v, ts+26453 /* "%!S" */, libc.VaList(bp+48, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+26468 /* "%!S" */, libc.VaList(bp+48, pItem1)) (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop Xsqlite3SelectDestInit(tls, bp+192 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+26457 /* "CO-ROUTINE %!S" */, libc.VaList(bp+64, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+26472 /* "CO-ROUTINE %!S" */, libc.VaList(bp+64, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+192 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) @@ -165497,14 +166005,14 @@ __41: // a trigger, then we only need to compute the value of the subquery // once. onceAddr = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeComment(tls, v, ts+26472 /* "materialize %!S" */, libc.VaList(bp+80, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+26487 /* "materialize %!S" */, libc.VaList(bp+80, pItem1)) goto __45 __44: - Xsqlite3VdbeNoopComment(tls, v, ts+26472 /* "materialize %!S" */, libc.VaList(bp+96, pItem1)) + Xsqlite3VdbeNoopComment(tls, v, ts+26487 /* "materialize %!S" */, libc.VaList(bp+96, pItem1)) __45: ; Xsqlite3SelectDestInit(tls, bp+192 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+26488 /* "MATERIALIZE %!S" */, libc.VaList(bp+112, pItem1)) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+26503 /* "MATERIALIZE %!S" */, libc.VaList(bp+112, pItem1)) Xsqlite3Select(tls, pParse, pSub1, bp+192 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { @@ -165514,7 +166022,7 @@ __45: __46: ; retAddr = Xsqlite3VdbeAddOp1(tls, v, OP_Return, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeComment(tls, v, ts+26504 /* "end %!S" */, libc.VaList(bp+128, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+26519 /* "end %!S" */, libc.VaList(bp+128, pItem1)) Xsqlite3VdbeChangeP1(tls, v, topAddr, retAddr) Xsqlite3ClearTempRegCache(tls, pParse) if !(((uint32(int32(*(*uint16)(unsafe.Pointer((pItem1 + 60 /* &.fg */) + 4 /* &.isCte */)) & 0x80 >> 7))) != 0) && ((int32(*(*uint16)(unsafe.Pointer((pItem1 + 60 /* &.fg */) + 4 /* &.isCorrelated */)) & 0x8 >> 3)) == 0)) { @@ -165727,12 +166235,12 @@ __65: Xsqlite3VdbeAddOp2(tls, v, OP_Goto, 0, iBreak) Xsqlite3VdbeResolveLabel(tls, v, addrGosub) - Xsqlite3VdbeNoopComment(tls, v, ts+26512 /* "inner-loop subro..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+26527 /* "inner-loop subro..." */, 0) (*SortCtx)(unsafe.Pointer(bp + 144 /* &sSort */)).FlabelOBLopt = 0 selectInnerLoop(tls, pParse, p, -1, bp+144 /* &sSort */, bp+232 /* &sDistinct */, pDest, iCont, iBreak) Xsqlite3VdbeResolveLabel(tls, v, iCont) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regGosub) - Xsqlite3VdbeComment(tls, v, ts+26534 /* "end inner-loop s..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+26549 /* "end inner-loop s..." */, 0) Xsqlite3VdbeResolveLabel(tls, v, iBreak) goto __67 __66: @@ -165986,7 +166494,7 @@ __95: iBMem = ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1) *(*int32)(unsafe.Pointer(pParse + 56 /* &.nMem */)) += ((*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, iAbortFlag) - Xsqlite3VdbeComment(tls, v, ts+26560 /* "clear abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+26575 /* "clear abort flag" */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, iAMem, ((iAMem + (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) - 1)) // Begin a loop that will extract all source rows in GROUP BY order. @@ -166024,9 +166532,9 @@ __97: explainTempTable(tls, pParse, func() uintptr { if ((*DistinctCtx)(unsafe.Pointer(bp+232 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { - return ts + 26577 /* "DISTINCT" */ + return ts + 26592 /* "DISTINCT" */ } - return ts + 26586 /* "GROUP BY" */ + return ts + 26601 /* "GROUP BY" */ }()) groupBySort = 1 @@ -166088,7 +166596,7 @@ __105: sortOut = Xsqlite3GetTempReg(tls, pParse) Xsqlite3VdbeAddOp3(tls, v, OP_OpenPseudo, sortPTab, sortOut, nCol) Xsqlite3VdbeAddOp2(tls, v, OP_SorterSort, (*AggInfo)(unsafe.Pointer(pAggInfo)).FsortingIdx, addrEnd) - Xsqlite3VdbeComment(tls, v, ts+26595 /* "GROUP BY sort" */, 0) + Xsqlite3VdbeComment(tls, v, ts+26610 /* "GROUP BY sort" */, 0) (*AggInfo)(unsafe.Pointer(pAggInfo)).FuseSortingIdx = U8(1) __98: ; @@ -166158,18 +166666,18 @@ __111: // for the next GROUP BY batch. Xsqlite3ExprCodeMove(tls, pParse, iBMem, iAMem, (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutputRow, addrOutputRow) - Xsqlite3VdbeComment(tls, v, ts+26609 /* "output one row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+26624 /* "output one row" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_IfPos, iAbortFlag, addrEnd) - Xsqlite3VdbeComment(tls, v, ts+26624 /* "check abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+26639 /* "check abort flag" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regReset, addrReset) - Xsqlite3VdbeComment(tls, v, ts+26641 /* "reset accumulato..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+26656 /* "reset accumulato..." */, 0) // Update the aggregate accumulators based on the content of // the current row Xsqlite3VdbeJumpHere(tls, v, addr1) updateAccumulator(tls, pParse, iUseFlag, pAggInfo, eDist) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, iUseFlag) - Xsqlite3VdbeComment(tls, v, ts+26659 /* "indicate data in..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+26674 /* "indicate data in..." */, 0) // End of the loop if !(groupBySort != 0) { @@ -166188,7 +166696,7 @@ __115: // Output the final row of result Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutputRow, addrOutputRow) - Xsqlite3VdbeComment(tls, v, ts+26688 /* "output final row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+26703 /* "output final row" */, 0) // Jump over the subroutines Xsqlite3VdbeGoto(tls, v, addrEnd) @@ -166201,13 +166709,13 @@ __115: // order to signal the caller to abort. addrSetAbort = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, iAbortFlag) - Xsqlite3VdbeComment(tls, v, ts+26705 /* "set abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+26720 /* "set abort flag" */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) Xsqlite3VdbeResolveLabel(tls, v, addrOutputRow) addrOutputRow = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_IfPos, iUseFlag, (addrOutputRow + 2)) - Xsqlite3VdbeComment(tls, v, ts+26720 /* "Groupby result g..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+26735 /* "Groupby result g..." */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) finalizeAggFunctions(tls, pParse, pAggInfo) Xsqlite3ExprIfFalse(tls, pParse, pHaving, (addrOutputRow + 1), SQLITE_JUMPIFNULL) @@ -166215,13 +166723,13 @@ __115: bp+232 /* &sDistinct */, pDest, (addrOutputRow + 1), addrSetAbort) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) - Xsqlite3VdbeComment(tls, v, ts+26757 /* "end groupby resu..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+26772 /* "end groupby resu..." */, 0) // Generate a subroutine that will reset the group-by accumulator Xsqlite3VdbeResolveLabel(tls, v, addrReset) resetAccumulator(tls, pParse, pAggInfo) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, iUseFlag) - Xsqlite3VdbeComment(tls, v, ts+26786 /* "indicate accumul..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+26801 /* "indicate accumul..." */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regReset) if !(eDist != WHERE_DISTINCT_NOOP) { @@ -166443,7 +166951,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+232 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+26577 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+26592 /* "DISTINCT" */) __140: ; @@ -166455,9 +166963,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FnOBSat > 0 { - return ts + 26813 /* "RIGHT PART OF OR..." */ + return ts + 26828 /* "RIGHT PART OF OR..." */ } - return ts + 26836 /* "ORDER BY" */ + return ts + 26851 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+144 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -166591,7 +167099,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if !(z == uintptr(0)) { goto __10 } @@ -166613,7 +167121,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+26845 /* "sqlite3_get_tabl..." */, 0) + ts+26860 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -166712,7 +167220,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg)) } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg) } @@ -166873,7 +167381,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+26910 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+26925 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -166934,7 +167442,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+64 /* &sFix */, pParse, iDb, ts+26956 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */))) + Xsqlite3FixInit(tls, bp+64 /* &sFix */, pParse, iDb, ts+26971 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+64 /* &sFix */, pTableName) != 0) { goto __9 } @@ -166952,7 +167460,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+26964 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+26979 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -166967,7 +167475,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+26956 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { + if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+26971 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { goto __13 } goto trigger_cleanup @@ -166983,7 +167491,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+27005 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+27020 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */)))) goto __17 __16: ; @@ -166997,10 +167505,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+14923 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+14938 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+27031 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+27046 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -167010,12 +167518,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+27069, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+27084, /* "cannot create %s..." */ libc.VaList(bp+16, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 27106 /* "BEFORE" */ + return ts + 27121 /* "BEFORE" */ } - return ts + 27113 /* "AFTER" */ + return ts + 27128 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -167024,7 +167532,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+27119 /* "cannot create IN..." */, libc.VaList(bp+40, pTableName+8 /* &.a */)) + ts+27134 /* "cannot create IN..." */, libc.VaList(bp+40, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -167054,9 +167562,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 18752 /* "sqlite_temp_mast..." */ + return ts + 18767 /* "sqlite_temp_mast..." */ } - return ts + 12336 /* "sqlite_master" */ + return ts + 12351 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -167190,7 +167698,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+56 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+72 /* &sFix */, pParse, iDb, ts+26956 /* "trigger" */, bp+56 /* &nameToken */) + Xsqlite3FixInit(tls, bp+72 /* &sFix */, pParse, iDb, ts+26971 /* "trigger" */, bp+56 /* &nameToken */) if !((Xsqlite3FixTriggerStep(tls, bp+72 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || (Xsqlite3FixExpr(tls, bp+72 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 @@ -167227,13 +167735,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+27165, /* "INSERT INTO %Q.s..." */ + ts+27180, /* "INSERT INTO %Q.s..." */ libc.VaList(bp, (*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+27240 /* "type='trigger' A..." */, libc.VaList(bp+40, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+27255 /* "type='trigger' A..." */, libc.VaList(bp+40, zName)), uint16(0)) __7: ; __6: @@ -167499,7 +168007,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+27269 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) + Xsqlite3ErrorMsg(tls, pParse, ts+27284 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __10 __9: Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb) @@ -167540,9 +168048,9 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName var zTab uintptr = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 18752 /* "sqlite_temp_mast..." */ + return ts + 18767 /* "sqlite_temp_mast..." */ } - return ts + 12336 /* "sqlite_master" */ + return ts + 12351 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -167555,7 +168063,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { / // Generate code to destroy the database record of the trigger. if (libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse))) != uintptr(0) { Xsqlite3NestedParse(tls, pParse, - ts+27289, /* "DELETE FROM %Q.s..." */ + ts+27304, /* "DELETE FROM %Q.s..." */ 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) @@ -167674,12 +168182,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+27351, /* "%s RETURNING is ..." */ + ts+27366, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 27399 /* "DELETE" */ + return ts + 27414 /* "DELETE" */ } - return ts + 27406 /* "UPDATE" */ + return ts + 27421 /* "UPDATE" */ }())) __15: ; @@ -167775,7 +168283,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 { /* sql if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK { return 0 } - Xsqlite3ErrorMsg(tls, pParse, ts+27413 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+27428 /* "RETURNING may no..." */, 0) return 1 } @@ -167916,7 +168424,7 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf if (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { Xsqlite3VdbeAddOp4(tls, v, OP_Trace, 0x7fffffff, 1, 0, - Xsqlite3MPrintf(tls, db, ts+12523 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+12538 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -167975,19 +168483,19 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf func onErrorText(tls *libc.TLS, onError int32) uintptr { /* sqlite3.c:140731:19: */ switch onError { case OE_Abort: - return ts + 27455 /* "abort" */ + return ts + 27470 /* "abort" */ case OE_Rollback: - return ts + 27461 /* "rollback" */ + return ts + 27476 /* "rollback" */ case OE_Fail: - return ts + 27470 /* "fail" */ + return ts + 27485 /* "fail" */ case OE_Replace: - return ts + 21904 /* "replace" */ + return ts + 21919 /* "replace" */ case OE_Ignore: - return ts + 27475 /* "ignore" */ + return ts + 27490 /* "ignore" */ case OE_Default: - return ts + 27482 /* "default" */ + return ts + 27497 /* "default" */ } - return ts + 27490 /* "n/a" */ + return ts + 27505 /* "n/a" */ } // Parse context structure pFrom has just been used to create a sub-vdbe @@ -168063,30 +168571,30 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt v = Xsqlite3GetVdbe(tls, pSubParse) if v != 0 { - Xsqlite3VdbeComment(tls, v, ts+27494 /* "Start: %s.%s (%s..." */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf), func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+27509 /* "Start: %s.%s (%s..." */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Ftr_tm) == TRIGGER_BEFORE { - return ts + 27106 /* "BEFORE" */ + return ts + 27121 /* "BEFORE" */ } - return ts + 27113 /* "AFTER" */ + return ts + 27128 /* "AFTER" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_UPDATE { - return ts + 27406 /* "UPDATE" */ + return ts + 27421 /* "UPDATE" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_INSERT { - return ts + 27525 /* "INSERT" */ + return ts + 27540 /* "INSERT" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_DELETE { - return ts + 27399 /* "DELETE" */ + return ts + 27414 /* "DELETE" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), (*Table)(unsafe.Pointer(pTab)).FzName)) if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+27532 /* "-- TRIGGER %s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) + Xsqlite3MPrintf(tls, db, ts+27547 /* "-- TRIGGER %s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -168110,7 +168618,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt Xsqlite3VdbeResolveLabel(tls, v, iEndTrigger) } Xsqlite3VdbeAddOp0(tls, v, OP_Halt) - Xsqlite3VdbeComment(tls, v, ts+27546 /* "End: %s.%s" */, libc.VaList(bp+80, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) + Xsqlite3VdbeComment(tls, v, ts+27561 /* "End: %s.%s" */, libc.VaList(bp+80, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) transferParseError(tls, pParse, pSubParse) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0) && ((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) { @@ -168177,11 +168685,11 @@ func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab Xsqlite3VdbeAddOp4(tls, v, OP_Program, reg, ignoreJump, libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1), (*TriggerPrg)(unsafe.Pointer(pPrg)).FpProgram, -4) - Xsqlite3VdbeComment(tls, v, ts+27557 /* "Call: %s.%s" */, libc.VaList(bp, func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+27572 /* "Call: %s.%s" */, libc.VaList(bp, func() uintptr { if (*Trigger)(unsafe.Pointer(p)).FzName != 0 { return (*Trigger)(unsafe.Pointer(p)).FzName } - return ts + 27569 /* "fkey" */ + return ts + 27584 /* "fkey" */ }(), onErrorText(tls, orconf))) // Set the P5 operand of the OP_Program instruction to non-zero if @@ -168344,7 +168852,7 @@ func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg *(*uintptr)(unsafe.Pointer(bp + 24 /* pValue */)) = uintptr(0) var enc U8 = (*Sqlite3)(unsafe.Pointer(Xsqlite3VdbeDb(tls, v))).Fenc var pCol uintptr = ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*32) - Xsqlite3VdbeComment(tls, v, ts+14792 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+14807 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3ValueFromExpr(tls, Xsqlite3VdbeDb(tls, v), (*Column)(unsafe.Pointer(pCol)).FpDflt, enc, uint8((*Column)(unsafe.Pointer(pCol)).Faffinity), bp+24 /* &pValue */) @@ -168800,7 +169308,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+27574, /* "cannot UPDATE ge..." */ + ts+27589, /* "cannot UPDATE ge..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto update_cleanup __27: @@ -168832,7 +169340,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+27610 /* "no such column: ..." */, libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+27625 /* "no such column: ..." */, libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -168843,7 +169351,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 14358 /* "ROWID" */ + return ts + 14373 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*32)).FzName }(), @@ -169874,7 +170382,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+27629 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+27644 /* "rows updated" */, uintptr(0)) __169: ; @@ -170261,10 +170769,10 @@ __1: if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { *(*int8)(unsafe.Pointer(bp + 232 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+232 /* &zWhich[0] */, ts+27642 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+232 /* &zWhich[0] */, ts+27657 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+27646 /* "%sON CONFLICT cl..." */, libc.VaList(bp+16, bp+232 /* &zWhich[0] */)) + ts+27661 /* "%sON CONFLICT cl..." */, libc.VaList(bp+16, bp+232 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -170334,7 +170842,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab iDataCur = (*Upsert)(unsafe.Pointer(pUpsert)).FiDataCur pUpsert = Xsqlite3UpsertOfIndex(tls, pTop, pIdx) - Xsqlite3VdbeNoopComment(tls, v, ts+27719 /* "Begin DO UPDATE ..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+27734 /* "Begin DO UPDATE ..." */, 0) if (pIdx != 0) && (iCur != iDataCur) { if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { var regRowid int32 = Xsqlite3GetTempReg(tls, pParse) @@ -170352,13 +170860,13 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab k = int32(Xsqlite3TableColumnToIndex(tls, pIdx, *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iCur, k, (iPk + i)) - Xsqlite3VdbeComment(tls, v, ts+14792 /* "%s.%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+14807 /* "%s.%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) } i = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, iDataCur, 0, iPk, nPk) Xsqlite3VdbeAddOp4(tls, v, OP_Halt, SQLITE_CORRUPT, OE_Abort, 0, - ts+18806 /* "corrupt database" */, -1) + ts+18821 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -170374,7 +170882,7 @@ func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab } Xsqlite3Update(tls, pParse, pSrc, Xsqlite3ExprListDup(tls, db, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSet, 0), Xsqlite3ExprDup(tls, db, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertWhere, 0), OE_Abort, uintptr(0), uintptr(0), pUpsert) - Xsqlite3VdbeNoopComment(tls, v, ts+27745 /* "End DO UPDATE of..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+27760 /* "End DO UPDATE of..." */, 0) } //************* End of upsert.c ********************************************* @@ -170426,7 +170934,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { // then run VACUUM to get those statements to execute at inappropriate // times. if (zSubSql != 0) && - ((libc.Xstrncmp(tls, zSubSql, ts+27769 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+27773 /* "INS" */, uint64(3)) == 0)) { + ((libc.Xstrncmp(tls, zSubSql, ts+27784 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+27788 /* "INS" */, uint64(3)) == 0)) { rc = execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -170576,14 +171084,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+27777 /* "cannot VACUUM fr..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+27792 /* "cannot VACUUM fr..." */) return SQLITE_ERROR // IMP: R-12218-18073 __1: ; if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) { goto __2 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+27817 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+27832 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -170594,7 +171102,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+27860 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+27875 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -170603,7 +171111,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 76 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 900 /* "" */ + zOut = ts + 915 /* "" */ __4: ; @@ -170639,7 +171147,7 @@ __4: // time to parse and run the PRAGMA to turn journalling off than it does // to write the journal header file. nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb - rc = execSqlF(tls, db, pzErrMsg, ts+27878 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) + rc = execSqlF(tls, db, pzErrMsg, ts+27893 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if !(rc != SQLITE_OK) { goto __6 @@ -170660,7 +171168,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+27901 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+27916 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -170676,7 +171184,7 @@ __7: // Begin a transaction and take an exclusive lock on the main database // file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, // to ensure that we do not try to change the page-size on a WAL database. - rc = execSql(tls, db, pzErrMsg, ts+21092 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+21107 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -170727,7 +171235,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+27928, /* "SELECT sql FROM ..." */ + ts+27943, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -170737,7 +171245,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+28036, /* "SELECT sql FROM ..." */ + ts+28051, /* "SELECT sql FROM ..." */ libc.VaList(bp+32, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -170752,7 +171260,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+28090, /* "SELECT'INSERT IN..." */ + ts+28105, /* "SELECT'INSERT IN..." */ libc.VaList(bp+48, zDbMain)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) @@ -170769,7 +171277,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+28241, /* "INSERT INTO vacu..." */ + ts+28256, /* "INSERT INTO vacu..." */ libc.VaList(bp+64, zDbMain)) if !(rc != 0) { goto __16 @@ -171149,7 +171657,7 @@ func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintp var azModuleArg uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((*Table)(unsafe.Pointer(pTable)).FnModuleArg + 3) >= *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 2*4)) { - Xsqlite3ErrorMsg(tls, pParse, ts+19036 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+19051 /* "too many columns..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = Xsqlite3DbRealloc(tls, db, (*Table)(unsafe.Pointer(pTable)).FazModuleArg, uint64(nBytes)) if azModuleArg == uintptr(0) { @@ -171243,7 +171751,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s 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+28371 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) + zStmt = Xsqlite3MPrintf(tls, db, ts+28386 /* "CREATE VIRTUAL T..." */, libc.VaList(bp, (pParse+240 /* &.sNameToken */))) // A slot for the record has already been allocated in the // schema table. We just need to update that slot with all @@ -171255,7 +171763,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+28395, /* "UPDATE %Q.sqlite..." */ + ts+28410, /* "UPDATE %Q.sqlite..." */ libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, @@ -171265,7 +171773,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+28494 /* "name=%Q AND sql=..." */, libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+28509 /* "name=%Q AND sql=..." */, libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -171330,7 +171838,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+28513 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+28528 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return SQLITE_LOCKED } } @@ -171368,9 +171876,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+28555 /* "vtable construct..." */, libc.VaList(bp+16, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+28570 /* "vtable construct..." */, libc.VaList(bp+16, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+936 /* "%s" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+951 /* "%s" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) @@ -171382,7 +171890,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+64 /* &sCtx */)).FbDeclared == 0 { - var zFormat uintptr = ts + 28585 /* "vtable construct..." */ + var zFormat uintptr = ts + 28600 /* "vtable construct..." */ *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR @@ -171398,12 +171906,12 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Table)(unsafe.Pointer(pTab)).FpVTable = pVTable for iCol = 0; iCol < int32((*Table)(unsafe.Pointer(pTab)).FnCol); iCol++ { - var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+900 /* "" */) + var zType uintptr = Xsqlite3ColumnType(tls, ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32), ts+915 /* "" */) var nType int32 var i int32 = 0 nType = Xsqlite3Strlen30(tls, zType) for i = 0; i < nType; i++ { - if ((0 == Xsqlite3_strnicmp(tls, ts+22675 /* "hidden" */, (zType+uintptr(i)), 6)) && + if ((0 == Xsqlite3_strnicmp(tls, ts+22690 /* "hidden" */, (zType+uintptr(i)), 6)) && ((i == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i - 1))))) == ' '))) && ((int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == 0) || (int32(*(*int8)(unsafe.Pointer(zType + uintptr((i + 6))))) == ' ')) { break @@ -171462,13 +171970,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 if !(pMod != 0) { var zModule uintptr = *(*uintptr)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FazModuleArg)) - Xsqlite3ErrorMsg(tls, pParse, ts+28631 /* "no such module: ..." */, libc.VaList(bp, zModule)) + Xsqlite3ErrorMsg(tls, pParse, ts+28646 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)) = uintptr(0) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+32 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */))) @@ -171530,7 +172038,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // invoke it now. If the module has not been registered, return an // error. Otherwise, do nothing. 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+28631 /* "no such module: ..." */, libc.VaList(bp, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+28646 /* "no such module: ..." */, 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) @@ -171607,7 +172115,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 424 /* zErr */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErr */)))) @@ -171979,7 +172487,7 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+16 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 @@ -172410,10 +172918,10 @@ type WhereExprMod = WhereExprMod1 /* sqlite3.c:144931:29 */ func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr { /* sqlite3.c:145112:19: */ i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == (-2) { - return ts + 28650 /* "" */ + return ts + 28665 /* "" */ } if i == (-1) { - return ts + 14859 /* "rowid" */ + return ts + 14874 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*32)).FzName } @@ -172428,35 +172936,35 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i var i int32 if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, ts+28657 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+28672 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+28663 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+28678 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+19417 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+19432 /* "," */, 1) } Xsqlite3_str_appendall(tls, pStr, explainIndexColumnName(tls, pIdx, (iTerm+i))) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+11449 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+11464 /* ")" */, 1) } Xsqlite3_str_append(tls, pStr, zOp, 1) if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+28663 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+28678 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+19417 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+19432 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+11502 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+11517 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+11449 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+11464 /* ")" */, 1) } } @@ -172485,29 +172993,29 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. 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+28665 /* " (" */, 2) + Xsqlite3_str_append(tls, pStr, ts+28680 /* " (" */, 2) for i = 0; i < int32(nEq); i++ { var z uintptr = explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+28657 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+28672 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 28668 /* "%s=?" */ + return ts + 28683 /* "%s=?" */ } - return ts + 28673 /* "ANY(%s)" */ + return ts + 28688 /* "ANY(%s)" */ }(), 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 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+28681 /* ">" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+28696 /* ">" */) i = 1 } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_TOP_LIMIT)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+28683 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+28698 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+11449 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+11464 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -172552,11 +173060,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr Xsqlite3StrAccumInit(tls, bp+80 /* &str */, db, bp+112 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) (*StrAccum)(unsafe.Pointer(bp + 80 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+80 /* &str */, ts+28685 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3_str_appendf(tls, bp+80 /* &str */, ts+28700 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { - return ts + 28691 /* "SEARCH" */ + return ts + 28706 /* "SEARCH" */ } - return ts + 28698 /* "SCAN" */ + return ts + 28713 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -172566,38 +173074,38 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr if !(((*Table)(unsafe.Pointer(((*SrcItem)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = ts + 17536 /* "PRIMARY KEY" */ + zFmt = ts + 17551 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 28703 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 28718 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 28736 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 28751 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 28761 /* "COVERING INDEX %..." */ + zFmt = ts + 28776 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 28779 /* "INDEX %s" */ + zFmt = ts + 28794 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+80 /* &str */, ts+28788 /* " USING " */, 7) + Xsqlite3_str_append(tls, bp+80 /* &str */, ts+28803 /* " USING " */, 7) Xsqlite3_str_appendf(tls, bp+80 /* &str */, zFmt, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName)) explainIndexRange(tls, bp+80 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr if (flags & (U32(WHERE_COLUMN_EQ | WHERE_COLUMN_IN))) != 0 { - zRangeOp = ts + 28796 /* "=" */ + zRangeOp = ts + 28811 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 28798 /* ">? AND rowid<" */ + zRangeOp = ts + 28813 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 28681 /* ">" */ + zRangeOp = ts + 28696 /* ">" */ } else { - zRangeOp = ts + 28683 /* "<" */ + zRangeOp = ts + 28698 /* "<" */ } Xsqlite3_str_appendf(tls, bp+80, /* &str */ - ts+28812 /* " USING INTEGER P..." */, libc.VaList(bp+40, zRangeOp)) + ts+28827 /* " USING INTEGER P..." */, libc.VaList(bp+40, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+80 /* &str */, ts+28850, /* " VIRTUAL TABLE I..." */ + Xsqlite3_str_appendf(tls, bp+80 /* &str */, ts+28865, /* " VIRTUAL TABLE I..." */ libc.VaList(bp+56, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } zMsg = Xsqlite3StrAccumFinish(tls, bp+80 /* &str */) @@ -173054,7 +173562,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in return OP_Rewind }(), iIdxCur) - Xsqlite3VdbeComment(tls, v, ts+28877 /* "begin skip-scan ..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+28892 /* "begin skip-scan ..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) j = Xsqlite3VdbeAddOp0(tls, v, OP_Goto) (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip = Xsqlite3VdbeAddOp4Int(tls, v, func() int32 { if bRev != 0 { @@ -173068,7 +173576,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in for j = 0; j < int32(nSkip); j++ { Xsqlite3VdbeAddOp3(tls, v, OP_Column, iIdxCur, j, (regBase + j)) - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+16, explainIndexColumnName(tls, pIdx, j))) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, explainIndexColumnName(tls, pIdx, j))) } } @@ -173413,7 +173921,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if (int32((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom) > 0) && ((int32((*SrcItem)(unsafe.Pointer(pTabItem)).Ffg.Fjointype) & JT_LEFT) != 0) { (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) - Xsqlite3VdbeComment(tls, v, ts+28899 /* "init LEFT JOIN n..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+28914 /* "init LEFT JOIN n..." */, 0) } // Compute a safe address to jump to if we discover that the table for @@ -173428,7 +173936,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, (*SrcItem)(unsafe.Pointer(pTabItem)).FaddrFillSub) (*WhereLevel)(unsafe.Pointer(pLevel)).Fp2 = Xsqlite3VdbeAddOp2(tls, v, OP_Yield, regYield, addrBrk) - Xsqlite3VdbeComment(tls, v, ts+28928 /* "next row of %s" */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+28943 /* "next row of %s" */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) (*WhereLevel)(unsafe.Pointer(pLevel)).Fop = U8(OP_Goto) } else if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_VIRTUALTABLE)) != U32(0) { // Case 1: The table is a virtual-table. Use the VFilter and VNext @@ -173608,7 +174116,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI op = int32(*(*U8)(unsafe.Pointer(bp + 32 /* &aMoveOp[0] */ + uintptr((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT))))) } Xsqlite3VdbeAddOp3(tls, v, op, iCur, addrBrk, r1) - Xsqlite3VdbeComment(tls, v, ts+22672 /* "pk" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22687 /* "pk" */, 0) Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 36 /* rTemp */))) } else { @@ -173827,7 +174335,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI } else { if regBignull != 0 { Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, regBignull) - Xsqlite3VdbeComment(tls, v, ts+28943 /* "NULL-scan pass c..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+28958 /* "NULL-scan pass c..." */, 0) } op = int32(aStartOp[(((start_constraints << 2) + (startEq << 1)) + bRev)]) @@ -173901,7 +174409,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if regBignull != 0 { // Except, skip the end-of-range check while doing the NULL-scan Xsqlite3VdbeAddOp2(tls, v, OP_IfNot, regBignull, (Xsqlite3VdbeCurrentAddr(tls, v) + 3)) - Xsqlite3VdbeComment(tls, v, ts+28962 /* "If NULL-scan 2nd..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+28977 /* "If NULL-scan 2nd..." */, 0) } op = int32(aEndOp[((bRev * 2) + endEq)]) @@ -173916,7 +174424,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // the NULLs Xsqlite3VdbeAddOp2(tls, v, OP_If, regBignull, (Xsqlite3VdbeCurrentAddr(tls, v) + 2)) - Xsqlite3VdbeComment(tls, v, ts+28984 /* "If NULL-scan 1st..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+28999 /* "If NULL-scan 1st..." */, 0) op = int32(aEndOp[((bRev * 2) + int32(bSeekPastNull))]) Xsqlite3VdbeAddOp4Int(tls, v, op, iIdxCur, addrNxt, regBase, @@ -174162,7 +174670,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // Run a separate WHERE clause for each term of the OR clause. After // eliminating duplicates from other WHERE clauses, the action for each // sub-WHERE clause is to to invoke the main loop body as a subroutine. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+29006 /* "MULTI-INDEX OR" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+29021 /* "MULTI-INDEX OR" */, 0) for ii = 0; ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm; ii++ { var pOrTerm uintptr = ((*WhereClause)(unsafe.Pointer(pOrWc)).Fa + uintptr(ii)*56) if ((*WhereTerm)(unsafe.Pointer(pOrTerm)).FleftCursor == iCur) || ((int32((*WhereTerm)(unsafe.Pointer(pOrTerm)).FeOperator) & WO_AND) != 0) { @@ -174181,7 +174689,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } // Loop through table entries that match term pOrTerm. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+29021 /* "INDEX %d" */, libc.VaList(bp+16, (ii+1))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+29036 /* "INDEX %d" */, libc.VaList(bp+16, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -174486,7 +174994,7 @@ __6: if (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin != 0 { (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrFirst = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) - Xsqlite3VdbeComment(tls, v, ts+29030 /* "record LEFT JOIN..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+29045 /* "record LEFT JOIN..." */, 0) pTerm = (*WhereClause)(unsafe.Pointer(pWC)).Fa j = 0 __7: @@ -174930,10 +175438,10 @@ type Op2 = struct { } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 22633 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 21971 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 21521 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 29051 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, + {FzOp: ts + 22648 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, + {FzOp: ts + 21986 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, + {FzOp: ts + 21536 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, + {FzOp: ts + 29066 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, } /* sqlite3.c:147958:7 */ // If the pBase expression originated in the ON or USING clause of @@ -175634,7 +176142,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s extraRight = (x - uint64(1)) // ON clause terms may not be used with an index // on left table of a LEFT JOIN. Ticket #3015 if (prereqAll >> 1) >= x { - Xsqlite3ErrorMsg(tls, pParse, ts+29058 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+29073 /* "ON clause refere..." */, 0) return } } @@ -175710,7 +176218,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s (*WhereTerm)(unsafe.Pointer(pNew)).FeOperator = (U16((int32(operatorMask(tls, int32((*Expr)(unsafe.Pointer(pDup)).Fop))) + int32(eExtraOp)) & int32(opMask))) } else if (op == TK_ISNULL) && (0 == Xsqlite3ExprCanBeNull(tls, pLeft)) { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) - *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 13445 /* "false" */ + *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) = ts + 13460 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) (*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0) @@ -175811,7 +176319,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { /* s } zCollSeqName = func() uintptr { if *(*int32)(unsafe.Pointer(bp + 20 /* noCase */)) != 0 { - return ts + 29099 /* "NOCASE" */ + return ts + 29114 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -176113,7 +176621,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+29106, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+29121, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -176936,7 +177444,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+29142 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, + ts+29157 /* "automatic index ..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*32)).FzName)) sentWarning = U8(1) __6: @@ -177017,7 +177525,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 29168 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 29183 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -177114,7 +177622,7 @@ __24: (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) Xsqlite3VdbeAddOp2(tls, v, OP_OpenAutoindex, (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur, (nKeyCol + 1)) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+22367 /* "for %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+22382 /* "for %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTable)).FzName)) // Fill the automatic index with content pTabItem = (((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList + 8 /* &.a */) + uintptr((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*112) @@ -177126,7 +177634,7 @@ __24: Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, (*SrcItem)(unsafe.Pointer(pTabItem)).FaddrFillSub) addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, regYield) - Xsqlite3VdbeComment(tls, v, ts+28928 /* "next row of %s" */, libc.VaList(bp+40, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+28943 /* "next row of %s" */, libc.VaList(bp+40, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) goto __29 __28: addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, (*WhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) @@ -177252,7 +177760,7 @@ __3: ((uint64(unsafe.Sizeof(sqlite3_index_constraint{})) + uint64(unsafe.Sizeof(sqlite3_index_constraint_usage{}))) * uint64(nTerm))) + (uint64(unsafe.Sizeof(sqlite3_index_orderby{})) * uint64(nOrderBy))) + uint64(unsafe.Sizeof(HiddenIndexInfo1{})))) if pIdxInfo == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+12561 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12576 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*96) @@ -177379,9 +177887,9 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb) } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+936 /* "%s" */, libc.VaList(bp+16, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+16, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -179431,7 +179939,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+29179 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+29194 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -179479,7 +179987,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+29179 /* "%s.xBestIndex ma..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+29194 /* "%s.xBestIndex ma..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -179868,7 +180376,7 @@ __1: if (rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { if rc == SQLITE_DONE { // We hit the query planner search limit set by iPlanLimit - Xsqlite3_log(tls, SQLITE_WARNING, ts+29205 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+29220 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -180637,7 +181145,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+29240 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+29255 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -181018,7 +181526,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+29258 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) + Xsqlite3ErrorMsg(tls, pParse, ts+29273 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) return uintptr(0) __3: ; @@ -181093,7 +181601,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+29286 /* "SCAN CONSTANT RO..." */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+29301 /* "SCAN CONSTANT RO..." */, 0) goto __6 __5: // Assign a bit from the bitmask to every term in the FROM clause. @@ -181617,7 +182125,7 @@ __74: Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_SEEKEQ)) __82: ; - Xsqlite3VdbeComment(tls, v, ts+936 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIx)).FzName)) __81: ; __72: @@ -181832,7 +182340,7 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * Xsqlite3VdbeResolveLabel(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrBrk) if (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip != 0 { Xsqlite3VdbeGoto(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) - Xsqlite3VdbeComment(tls, v, ts+29304 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzName)) + Xsqlite3VdbeComment(tls, v, ts+29319 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzName)) Xsqlite3VdbeJumpHere(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) Xsqlite3VdbeJumpHere(tls, v, ((*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip - 2)) } @@ -182231,7 +182739,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+29325 /* "second argument ..." */, -1) + pCtx, ts+29340 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -182380,7 +182888,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+29381 /* "argument of ntil..." */, -1) + pCtx, ts+29396 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -182477,17 +182985,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155441:1 // comparison of the zName pointer. Example: // // if( pFuncDef->zName==row_valueName ){ ... } -var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 29426 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 29437 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 29448 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 29453 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 29466 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 29476 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 29482 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 29493 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 29503 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 29515 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 29520 /* "lag" */)) /* sqlite3.c:155469:19 */ +var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 29441 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 29452 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 29463 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 29468 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 29481 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 29491 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 29497 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 29508 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 29518 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 29530 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 29535 /* "lag" */)) /* sqlite3.c:155469:19 */ // No-op implementations of xStep() and xFinalize(). Used as place-holders // for built-in window functions that never call those interfaces. @@ -182551,7 +183059,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+29524 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+29539 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -182595,12 +183103,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+29543 /* "RANGE with offse..." */, 0) + ts+29558 /* "RANGE with offse..." */, 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+29614 /* "FILTER clause ma..." */, 0) + ts+29629 /* "FILTER clause ma..." */, 0) } else { *(*[8]WindowUpdate)(unsafe.Pointer(bp /* aUp */)) = [8]WindowUpdate{ {FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT}, @@ -182623,7 +183131,7 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*Window)(unsafe.Pointer(pWin)).FeEnd = U8((*WindowUpdate)(unsafe.Pointer(bp /* &aUp */ + uintptr(i)*24)).FeEnd) (*Window)(unsafe.Pointer(pWin)).FeExclude = U8(0) if int32((*Window)(unsafe.Pointer(pWin)).FeStart) == TK_FOLLOWING { - (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+14696 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+14711 /* "1" */) } break } @@ -182865,7 +183373,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+14798 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + ts+14813 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) } return WRC_Continue } @@ -182995,7 +183503,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* // keep everything legal in this case. if *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(bp + 48 /* pSublist */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3Expr(tls, db, TK_INTEGER, ts+14176 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+14191 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -183135,7 +183643,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+29677 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+29692 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -183201,15 +183709,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint var zErr uintptr = uintptr(0) // Check for errors if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = ts + 29709 /* "PARTITION clause" */ + zErr = ts + 29724 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 29726 /* "ORDER BY clause" */ + zErr = ts + 29741 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 29742 /* "frame specificat..." */ + zErr = ts + 29757 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+29762 /* "cannot override ..." */, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase)) + ts+29777 /* "cannot override ..." */, 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 { @@ -183232,7 +183740,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+29795 /* "DISTINCT is not ..." */, 0) + ts+29810 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -183383,7 +183891,7 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regZero) if eCond >= WINDOW_STARTING_NUM { var regString int32 = Xsqlite3GetTempReg(tls, pParse) - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+900 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+915 /* "" */, -1) Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), reg) Xsqlite3VdbeChangeP5(tls, v, (uint16(SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL))) @@ -183405,11 +183913,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 29842, /* "frame starting o..." */ - ts + 29895, /* "frame ending off..." */ - ts + 29325, /* "second argument ..." */ - ts + 29946, /* "frame starting o..." */ - ts + 29998, /* "frame ending off..." */ + ts + 29857, /* "frame starting o..." */ + ts + 29910, /* "frame ending off..." */ + ts + 29340, /* "second argument ..." */ + ts + 29961, /* "frame starting o..." */ + ts + 30013, /* "frame ending off..." */ } /* sqlite3.c:156372:21 */ var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge} /* sqlite3.c:156379:14 */ @@ -184011,7 +184519,7 @@ func windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal // the add/subtract is skipped for these, as required. If reg1 is a NULL, // then the arithmetic is performed, but since adding or subtracting from // NULL is always NULL anyway, this case is handled as required too. - Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+900 /* "" */, -1) + Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, regString, 0, ts+915 /* "" */, -1) addrGe = Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, 0, reg1) if ((op == OP_Ge) && (arith == OP_Add)) || ((op == OP_Le) && (arith == OP_Subtract)) { @@ -184728,7 +185236,7 @@ func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uin Xsqlite3VdbeAddOp3(tls, v, OP_Jump, (addr + 2), (addr + 4), (addr + 2)) addrGosubFlush = Xsqlite3VdbeAddOp1(tls, v, OP_Gosub, regFlushPart) - Xsqlite3VdbeComment(tls, v, ts+30048 /* "call flush_parti..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+30063 /* "call flush_parti..." */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_Copy, regNewPart, (*Window)(unsafe.Pointer(pMWin)).FregPart, (nPart - 1)) } @@ -185026,19 +185534,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlit } cnt++ if ((*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0) || ((*Select)(unsafe.Pointer(pLoop)).FpLimit != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+30069, /* "%s clause should..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+30084, /* "%s clause should..." */ libc.VaList(bp, func() uintptr { if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - return ts + 26836 /* "ORDER BY" */ + return ts + 26851 /* "ORDER BY" */ } - return ts + 30111 /* "LIMIT" */ + return ts + 30126 /* "LIMIT" */ }(), 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 + 128 /* &.aLimit */) + 4*4)))) > 0)) && (cnt > mxSelect) { - Xsqlite3ErrorMsg(tls, pParse, ts+30117 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+30132 /* "too many terms i..." */, 0) } } @@ -185118,7 +185626,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+30151, /* "syntax error aft..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+30166, /* "syntax error aft..." */ libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz)) } Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1) @@ -186345,7 +186853,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+30189 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+30204 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -187324,11 +187832,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(22): /* table_options ::= WITHOUT nm */ { - if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+14859 /* "rowid" */, 5) == 0) { + if ((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn == uint32(5)) && (Xsqlite3_strnicmp(tls, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz, ts+14874 /* "rowid" */, 5) == 0) { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = (TF_WithoutRowid | TF_NoVisibleRowid) } else { *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = 0 - Xsqlite3ErrorMsg(tls, pParse, ts+30211 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) + Xsqlite3ErrorMsg(tls, pParse, ts+30226 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) } } break @@ -188063,7 +188571,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in case uint32(155): /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ { Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */)) - Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+30238 /* "set list" */) + Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), ts+30253 /* "set list" */) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = Xsqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))) Xsqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */)), uintptr(0), uintptr(0), uintptr(0)) } @@ -188216,7 +188724,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(bp + 112 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+30247 /* "near \"%T\": synta..." */, libc.VaList(bp+24, bp+112 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+30262 /* "near \"%T\": synta..." */, libc.VaList(bp+24, bp+112 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) @@ -188420,9 +188928,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 /* &.minor */))) *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, func() uintptr { if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)) != 0 { - return ts + 14696 /* "1" */ + return ts + 14711 /* "1" */ } - return ts + 14176 /* "0" */ + return ts + 14191 /* "0" */ }()) } else if ((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)))).FnExpr == 1) && (Xsqlite3ExprIsConstant(tls, (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))+8 /* &.a */))).FpExpr) != 0) { var pRHS uintptr = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) + 8 /* &.a */))).FpExpr @@ -188697,21 +189205,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in *(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) Xsqlite3ErrorMsg(tls, pParse, - ts+30271 /* "qualified table ..." */, 0) + ts+30286 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+30366 /* "the INDEXED BY c..." */, 0) + ts+30381 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+30450 /* "the NOT INDEXED ..." */, 0) + ts+30465 /* "the NOT INDEXED ..." */, 0) } break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ @@ -189160,9 +189668,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To _ = yymajor // Silence some compiler warnings if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 16 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+30247 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+16 /* &yyminor */)) + Xsqlite3ErrorMsg(tls, pParse, ts+30262 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+16 /* &yyminor */)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+30535 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+30550 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -190369,7 +190877,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+30552 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+30567 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -190389,12 +190897,12 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+936 /* "%s" */, libc.VaList(bp+24, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg - Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+30579, /* "%s in \"%s\"" */ + Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+30594, /* "%s in \"%s\"" */ libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ @@ -190606,7 +191114,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+30590 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+30605 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -190619,11 +191127,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+26956 /* "trigger" */, 7) == 0) { + if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+26971 /* "trigger" */, 7) == 0) { token = U8(TkTRIGGER) - } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+30597 /* "temp" */, 4) == 0) { + } else if (nId == 4) && (Xsqlite3_strnicmp(tls, zSql, ts+30612 /* "temp" */, 4) == 0) { token = U8(TkTEMP) - } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+30602 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+30617 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -190636,9 +191144,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+30612 /* "end" */, 3) == 0) { + if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+30627 /* "end" */, 3) == 0) { token = U8(TkEND) - } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+30616 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+30631 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -191671,7 +192179,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit // SQLITE_BUSY if the connection can not be closed immediately. if !(forceZombie != 0) && (connectionIsBusy(tls, db) != 0) { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+30624 /* "unable to close ..." */, 0) + ts+30639 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -191904,259 +192412,259 @@ __1: { switch rc { case SQLITE_OK: - zName = ts + 30692 /* "SQLITE_OK" */ + zName = ts + 30707 /* "SQLITE_OK" */ break case SQLITE_ERROR: - zName = ts + 30702 /* "SQLITE_ERROR" */ + zName = ts + 30717 /* "SQLITE_ERROR" */ break case (SQLITE_ERROR | (int32(3) << 8)): - zName = ts + 30715 /* "SQLITE_ERROR_SNA..." */ + zName = ts + 30730 /* "SQLITE_ERROR_SNA..." */ break case SQLITE_INTERNAL: - zName = ts + 30737 /* "SQLITE_INTERNAL" */ + zName = ts + 30752 /* "SQLITE_INTERNAL" */ break case SQLITE_PERM: - zName = ts + 30753 /* "SQLITE_PERM" */ + zName = ts + 30768 /* "SQLITE_PERM" */ break case SQLITE_ABORT: - zName = ts + 30765 /* "SQLITE_ABORT" */ + zName = ts + 30780 /* "SQLITE_ABORT" */ break case (SQLITE_ABORT | (int32(2) << 8)): - zName = ts + 30778 /* "SQLITE_ABORT_ROL..." */ + zName = ts + 30793 /* "SQLITE_ABORT_ROL..." */ break case SQLITE_BUSY: - zName = ts + 30800 /* "SQLITE_BUSY" */ + zName = ts + 30815 /* "SQLITE_BUSY" */ break case (SQLITE_BUSY | (int32(1) << 8)): - zName = ts + 30812 /* "SQLITE_BUSY_RECO..." */ + zName = ts + 30827 /* "SQLITE_BUSY_RECO..." */ break case (SQLITE_BUSY | (int32(2) << 8)): - zName = ts + 30833 /* "SQLITE_BUSY_SNAP..." */ + zName = ts + 30848 /* "SQLITE_BUSY_SNAP..." */ break case SQLITE_LOCKED: - zName = ts + 30854 /* "SQLITE_LOCKED" */ + zName = ts + 30869 /* "SQLITE_LOCKED" */ break case (SQLITE_LOCKED | (int32(1) << 8)): - zName = ts + 30868 /* "SQLITE_LOCKED_SH..." */ + zName = ts + 30883 /* "SQLITE_LOCKED_SH..." */ break case SQLITE_NOMEM: - zName = ts + 30894 /* "SQLITE_NOMEM" */ + zName = ts + 30909 /* "SQLITE_NOMEM" */ break case SQLITE_READONLY: - zName = ts + 30907 /* "SQLITE_READONLY" */ + zName = ts + 30922 /* "SQLITE_READONLY" */ break case (SQLITE_READONLY | (int32(1) << 8)): - zName = ts + 30923 /* "SQLITE_READONLY_..." */ + zName = ts + 30938 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(5) << 8)): - zName = ts + 30948 /* "SQLITE_READONLY_..." */ + zName = ts + 30963 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(3) << 8)): - zName = ts + 30973 /* "SQLITE_READONLY_..." */ + zName = ts + 30988 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(4) << 8)): - zName = ts + 30998 /* "SQLITE_READONLY_..." */ + zName = ts + 31013 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(6) << 8)): - zName = ts + 31022 /* "SQLITE_READONLY_..." */ + zName = ts + 31037 /* "SQLITE_READONLY_..." */ break case SQLITE_INTERRUPT: - zName = ts + 31048 /* "SQLITE_INTERRUPT" */ + zName = ts + 31063 /* "SQLITE_INTERRUPT" */ break case SQLITE_IOERR: - zName = ts + 31065 /* "SQLITE_IOERR" */ + zName = ts + 31080 /* "SQLITE_IOERR" */ break case (SQLITE_IOERR | (int32(1) << 8)): - zName = ts + 31078 /* "SQLITE_IOERR_REA..." */ + zName = ts + 31093 /* "SQLITE_IOERR_REA..." */ break case (SQLITE_IOERR | (int32(2) << 8)): - zName = ts + 31096 /* "SQLITE_IOERR_SHO..." */ + zName = ts + 31111 /* "SQLITE_IOERR_SHO..." */ break case (SQLITE_IOERR | (int32(3) << 8)): - zName = ts + 31120 /* "SQLITE_IOERR_WRI..." */ + zName = ts + 31135 /* "SQLITE_IOERR_WRI..." */ break case (SQLITE_IOERR | (int32(4) << 8)): - zName = ts + 31139 /* "SQLITE_IOERR_FSY..." */ + zName = ts + 31154 /* "SQLITE_IOERR_FSY..." */ break case (SQLITE_IOERR | (int32(5) << 8)): - zName = ts + 31158 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 31173 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(6) << 8)): - zName = ts + 31181 /* "SQLITE_IOERR_TRU..." */ + zName = ts + 31196 /* "SQLITE_IOERR_TRU..." */ break case (SQLITE_IOERR | (int32(7) << 8)): - zName = ts + 31203 /* "SQLITE_IOERR_FST..." */ + zName = ts + 31218 /* "SQLITE_IOERR_FST..." */ break case (SQLITE_IOERR | (int32(8) << 8)): - zName = ts + 31222 /* "SQLITE_IOERR_UNL..." */ + zName = ts + 31237 /* "SQLITE_IOERR_UNL..." */ break case (SQLITE_IOERR | (int32(9) << 8)): - zName = ts + 31242 /* "SQLITE_IOERR_RDL..." */ + zName = ts + 31257 /* "SQLITE_IOERR_RDL..." */ break case (SQLITE_IOERR | (int32(10) << 8)): - zName = ts + 31262 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 31277 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(12) << 8)): - zName = ts + 31282 /* "SQLITE_IOERR_NOM..." */ + zName = ts + 31297 /* "SQLITE_IOERR_NOM..." */ break case (SQLITE_IOERR | (int32(13) << 8)): - zName = ts + 31301 /* "SQLITE_IOERR_ACC..." */ + zName = ts + 31316 /* "SQLITE_IOERR_ACC..." */ break case (SQLITE_IOERR | (int32(14) << 8)): - zName = ts + 31321 /* "SQLITE_IOERR_CHE..." */ + zName = ts + 31336 /* "SQLITE_IOERR_CHE..." */ break case (SQLITE_IOERR | (int32(15) << 8)): - zName = ts + 31352 /* "SQLITE_IOERR_LOC..." */ + zName = ts + 31367 /* "SQLITE_IOERR_LOC..." */ break case (SQLITE_IOERR | (int32(16) << 8)): - zName = ts + 31370 /* "SQLITE_IOERR_CLO..." */ + zName = ts + 31385 /* "SQLITE_IOERR_CLO..." */ break case (SQLITE_IOERR | (int32(17) << 8)): - zName = ts + 31389 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 31404 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(18) << 8)): - zName = ts + 31412 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 31427 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(19) << 8)): - zName = ts + 31433 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 31448 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(20) << 8)): - zName = ts + 31454 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 31469 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(21) << 8)): - zName = ts + 31475 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 31490 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(22) << 8)): - zName = ts + 31495 /* "SQLITE_IOERR_SEE..." */ + zName = ts + 31510 /* "SQLITE_IOERR_SEE..." */ break case (SQLITE_IOERR | (int32(23) << 8)): - zName = ts + 31513 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 31528 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(24) << 8)): - zName = ts + 31539 /* "SQLITE_IOERR_MMA..." */ + zName = ts + 31554 /* "SQLITE_IOERR_MMA..." */ break case (SQLITE_IOERR | (int32(25) << 8)): - zName = ts + 31557 /* "SQLITE_IOERR_GET..." */ + zName = ts + 31572 /* "SQLITE_IOERR_GET..." */ break case (SQLITE_IOERR | (int32(26) << 8)): - zName = ts + 31582 /* "SQLITE_IOERR_CON..." */ + zName = ts + 31597 /* "SQLITE_IOERR_CON..." */ break case SQLITE_CORRUPT: - zName = ts + 31604 /* "SQLITE_CORRUPT" */ + zName = ts + 31619 /* "SQLITE_CORRUPT" */ break case (SQLITE_CORRUPT | (int32(1) << 8)): - zName = ts + 31619 /* "SQLITE_CORRUPT_V..." */ + zName = ts + 31634 /* "SQLITE_CORRUPT_V..." */ break case SQLITE_NOTFOUND: - zName = ts + 31639 /* "SQLITE_NOTFOUND" */ + zName = ts + 31654 /* "SQLITE_NOTFOUND" */ break case SQLITE_FULL: - zName = ts + 31655 /* "SQLITE_FULL" */ + zName = ts + 31670 /* "SQLITE_FULL" */ break case SQLITE_CANTOPEN: - zName = ts + 31667 /* "SQLITE_CANTOPEN" */ + zName = ts + 31682 /* "SQLITE_CANTOPEN" */ break case (SQLITE_CANTOPEN | (int32(1) << 8)): - zName = ts + 31683 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 31698 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(2) << 8)): - zName = ts + 31709 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 31724 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(3) << 8)): - zName = ts + 31731 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 31746 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(4) << 8)): - zName = ts + 31756 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 31771 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(6) << 8)): - zName = ts + 31781 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 31796 /* "SQLITE_CANTOPEN_..." */ break case SQLITE_PROTOCOL: - zName = ts + 31805 /* "SQLITE_PROTOCOL" */ + zName = ts + 31820 /* "SQLITE_PROTOCOL" */ break case SQLITE_EMPTY: - zName = ts + 31821 /* "SQLITE_EMPTY" */ + zName = ts + 31836 /* "SQLITE_EMPTY" */ break case SQLITE_SCHEMA: - zName = ts + 31834 /* "SQLITE_SCHEMA" */ + zName = ts + 31849 /* "SQLITE_SCHEMA" */ break case SQLITE_TOOBIG: - zName = ts + 31848 /* "SQLITE_TOOBIG" */ + zName = ts + 31863 /* "SQLITE_TOOBIG" */ break case SQLITE_CONSTRAINT: - zName = ts + 31862 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 31877 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(8) << 8)): - zName = ts + 31880 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 31895 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(7) << 8)): - zName = ts + 31905 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 31920 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(3) << 8)): - zName = ts + 31931 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 31946 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(1) << 8)): - zName = ts + 31960 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 31975 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(6) << 8)): - zName = ts + 31984 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 31999 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(5) << 8)): - zName = ts + 32013 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 32028 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(2) << 8)): - zName = ts + 32039 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 32054 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(9) << 8)): - zName = ts + 32068 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 32083 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(4) << 8)): - zName = ts + 32091 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 32106 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(10) << 8)): - zName = ts + 32118 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 32133 /* "SQLITE_CONSTRAIN..." */ break case SQLITE_MISMATCH: - zName = ts + 32142 /* "SQLITE_MISMATCH" */ + zName = ts + 32157 /* "SQLITE_MISMATCH" */ break case SQLITE_MISUSE: - zName = ts + 32158 /* "SQLITE_MISUSE" */ + zName = ts + 32173 /* "SQLITE_MISUSE" */ break case SQLITE_NOLFS: - zName = ts + 32172 /* "SQLITE_NOLFS" */ + zName = ts + 32187 /* "SQLITE_NOLFS" */ break case SQLITE_AUTH: - zName = ts + 32185 /* "SQLITE_AUTH" */ + zName = ts + 32200 /* "SQLITE_AUTH" */ break case SQLITE_FORMAT: - zName = ts + 32197 /* "SQLITE_FORMAT" */ + zName = ts + 32212 /* "SQLITE_FORMAT" */ break case SQLITE_RANGE: - zName = ts + 32211 /* "SQLITE_RANGE" */ + zName = ts + 32226 /* "SQLITE_RANGE" */ break case SQLITE_NOTADB: - zName = ts + 32224 /* "SQLITE_NOTADB" */ + zName = ts + 32239 /* "SQLITE_NOTADB" */ break case SQLITE_ROW: - zName = ts + 32238 /* "SQLITE_ROW" */ + zName = ts + 32253 /* "SQLITE_ROW" */ break case SQLITE_NOTICE: - zName = ts + 32249 /* "SQLITE_NOTICE" */ + zName = ts + 32264 /* "SQLITE_NOTICE" */ break case (SQLITE_NOTICE | (int32(1) << 8)): - zName = ts + 32263 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 32278 /* "SQLITE_NOTICE_RE..." */ break case (SQLITE_NOTICE | (int32(2) << 8)): - zName = ts + 32289 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 32304 /* "SQLITE_NOTICE_RE..." */ break case SQLITE_WARNING: - zName = ts + 32320 /* "SQLITE_WARNING" */ + zName = ts + 32335 /* "SQLITE_WARNING" */ break case (SQLITE_WARNING | (int32(1) << 8)): - zName = ts + 32335 /* "SQLITE_WARNING_A..." */ + zName = ts + 32350 /* "SQLITE_WARNING_A..." */ break case SQLITE_DONE: - zName = ts + 32360 /* "SQLITE_DONE" */ + zName = ts + 32375 /* "SQLITE_DONE" */ break } @@ -192170,7 +192678,7 @@ __2: __3: ; if zName == uintptr(0) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof(zBuf)), uintptr(unsafe.Pointer(&zBuf)), ts+32372 /* "SQLITE_UNKNOWN(%..." */, libc.VaList(bp, origRc)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof(zBuf)), uintptr(unsafe.Pointer(&zBuf)), ts+32387 /* "SQLITE_UNKNOWN(%..." */, libc.VaList(bp, origRc)) zName = uintptr(unsafe.Pointer(&zBuf)) } return zName @@ -192181,23 +192689,23 @@ var zBuf [50]int8 /* sqlite3.c:166643:17: */ // Return a static string that describes the kind of error specified in the // argument. func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: */ - var zErr uintptr = ts + 32391 /* "unknown error" */ + var zErr uintptr = ts + 32406 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 32405 /* "abort due to ROL..." */ + zErr = ts + 32420 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 32427 /* "another row avai..." */ + zErr = ts + 32442 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 32449 /* "no more rows ava..." */ + zErr = ts + 32464 /* "no more rows ava..." */ break } @@ -192215,35 +192723,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 32472, /* "not an error" */ - /* SQLITE_ERROR */ ts + 32485, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 32487, /* "not an error" */ + /* SQLITE_ERROR */ ts + 32500, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 32501, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 32526, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 32540, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 32559, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 12561, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 32584, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 32621, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 32633, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 32648, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 32681, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 32699, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 32724, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 32753, /* "locking protocol" */ + /* SQLITE_PERM */ ts + 32516, /* "access permissio..." */ + /* SQLITE_ABORT */ ts + 32541, /* "query aborted" */ + /* SQLITE_BUSY */ ts + 32555, /* "database is lock..." */ + /* SQLITE_LOCKED */ ts + 32574, /* "database table i..." */ + /* SQLITE_NOMEM */ ts + 12576, /* "out of memory" */ + /* SQLITE_READONLY */ ts + 32599, /* "attempt to write..." */ + /* SQLITE_INTERRUPT */ ts + 32636, /* "interrupted" */ + /* SQLITE_IOERR */ ts + 32648, /* "disk I/O error" */ + /* SQLITE_CORRUPT */ ts + 32663, /* "database disk im..." */ + /* SQLITE_NOTFOUND */ ts + 32696, /* "unknown operatio..." */ + /* SQLITE_FULL */ ts + 32714, /* "database or disk..." */ + /* SQLITE_CANTOPEN */ ts + 32739, /* "unable to open d..." */ + /* SQLITE_PROTOCOL */ ts + 32768, /* "locking protocol" */ /* SQLITE_EMPTY */ uintptr(0), - /* SQLITE_SCHEMA */ ts + 12291, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 11828, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 32770, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 32788, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 32806, /* "bad parameter or..." */ + /* SQLITE_SCHEMA */ ts + 12306, /* "database schema ..." */ + /* SQLITE_TOOBIG */ ts + 11843, /* "string or blob t..." */ + /* SQLITE_CONSTRAINT */ ts + 32785, /* "constraint faile..." */ + /* SQLITE_MISMATCH */ ts + 32803, /* "datatype mismatc..." */ + /* SQLITE_MISUSE */ ts + 32821, /* "bad parameter or..." */ /* SQLITE_NOLFS */ uintptr(0), - /* SQLITE_AUTH */ ts + 32840, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 32855, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 32861, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 32887, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 32910, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 32931, /* "warning message" */ + /* SQLITE_RANGE */ ts + 32876, /* "column index out..." */ + /* SQLITE_NOTADB */ ts + 32902, /* "file is not a da..." */ + /* SQLITE_NOTICE */ ts + 32925, /* "notification mes..." */ + /* SQLITE_WARNING */ ts + 32946, /* "warning message" */ } /* sqlite3.c:166656:20 */ // This routine implements a busy callback that sleeps and tries @@ -192408,7 +192916,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+32947 /* "unable to delete..." */, 0) + ts+32962 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -192541,7 +193049,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+33010 /* "unable to use fu..." */, libc.VaList(bp, zName)) + ts+33025 /* "unable to use fu..." */, libc.VaList(bp, zName)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } @@ -192763,7 +193271,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+33061 /* "unknown database..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+33076 /* "unknown database..." */, libc.VaList(bp, zDb)) } else { (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -192982,7 +193490,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint if (pColl != 0) && ((*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0) { if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY, - ts+33082 /* "unable to delete..." */, 0) + ts+33097 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -193125,7 +193633,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u if !(((((flags & uint32(SQLITE_OPEN_URI)) != 0) || // IMP: R-48725-32206 (Xsqlite3Config.FbOpenUri != 0)) && // IMP: R-51689-46548 - (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+33150 /* "file:" */, uint64(5)) == 0)) { + (nUri >= 5)) && (libc.Xmemcmp(tls, zUri, ts+33165 /* "file:" */, uint64(5)) == 0)) { goto __1 } // Input character index iOut = 0 // Output character index @@ -193173,10 +193681,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+33156 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { + if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+33171 /* "localhost" */, (zUri+7), uint64(9)) != 0))) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33166, /* "invalid uri auth..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33181, /* "invalid uri auth..." */ libc.VaList(bp, (iIn-7), (zUri+7))) rc = SQLITE_ERROR goto parse_uri_out @@ -193298,7 +193806,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+33194 /* "vfs" */, zOpt, uint64(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+33209 /* "vfs" */, zOpt, uint64(3)) == 0)) { goto __29 } zVfs = zVal @@ -193309,17 +193817,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+33198 /* "cache" */, zOpt, uint64(5)) == 0)) { + if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+33213 /* "cache" */, zOpt, uint64(5)) == 0)) { goto __31 } mask = (SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&aCacheMode)) limit = mask - zModeType = ts + 33198 /* "cache" */ + zModeType = ts + 33213 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+33204 /* "mode" */, zOpt, uint64(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+33219 /* "mode" */, zOpt, uint64(4)) == 0)) { goto __32 } @@ -193327,7 +193835,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 33209 /* "access" */ + zModeType = ts + 33224 /* "access" */ __32: ; @@ -193358,7 +193866,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33216 /* "no such %s mode:..." */, libc.VaList(bp+24, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33231 /* "no such %s mode:..." */, libc.VaList(bp+24, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -193366,7 +193874,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33236, /* "%s mode not allo..." */ + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33251, /* "%s mode not allo..." */ libc.VaList(bp+48, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out @@ -193409,7 +193917,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33260 /* "no such vfs: %s" */, libc.VaList(bp+72, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33275 /* "no such vfs: %s" */, libc.VaList(bp+72, zVfs)) rc = SQLITE_ERROR __42: ; @@ -193433,15 +193941,15 @@ type OpenMode = struct { } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 24494 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 33276 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, + {Fz: ts + 24509 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, + {Fz: ts + 33291 /* "private" */, Fmode: SQLITE_OPEN_PRIVATECACHE}, {}, } /* sqlite3.c:168073:34 */ var aOpenMode = [5]OpenMode{ - {Fz: ts + 33284 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 33287 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 33290 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 23872 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, + {Fz: ts + 33299 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, + {Fz: ts + 33302 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, + {Fz: ts + 33305 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, + {Fz: ts + 23887 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, {}, } /* sqlite3.c:168085:34 */ @@ -193623,10 +194131,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+29099 /* "NOCASE" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+29114 /* "NOCASE" */, 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+33294 /* "RTRIM" */, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + createCollation(tls, db, ts+33309 /* "RTRIM" */, 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) { @@ -193672,7 +194180,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 32 /* zErrMsg */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErrMsg */)))) @@ -193710,9 +194218,9 @@ __22: // The default safety_level for the main database is FULL; for the temp // database it is OFF. This matches the pager layer defaults. - (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 13128 /* "main" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 13143 /* "main" */ (*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 + 30597 /* "temp" */ + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 30612 /* "temp" */ (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF) (*Sqlite3)(unsafe.Pointer(db)).Fmagic = SQLITE_MAGIC_OPEN @@ -193830,7 +194338,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 33300 /* "\x00\x00" */ + zFilename = ts + 33315 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -193933,24 +194441,24 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, ts+33303, /* "%s at line %d of..." */ + Xsqlite3_log(tls, iErr, ts+33318, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) return iErr } func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168711:20: */ - return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+33328 /* "database corrupt..." */) + return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+33343 /* "database corrupt..." */) } func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168715:20: */ - return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+33348 /* "misuse" */) + return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+33363 /* "misuse" */) } func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:168719:20: */ - return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+33355 /* "cannot open file" */) + return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+33370 /* "cannot open file" */) } // This is a convenience routine that makes sure that all thread-specific @@ -194077,7 +194585,7 @@ __4: autoinc = (libc.Bool32((int32((*Table)(unsafe.Pointer(pTab)).FiPKey) == iCol) && (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Autoincrement)) != U32(0)))) goto __13 __12: - zDataType = ts + 19264 /* "INTEGER" */ + zDataType = ts + 19279 /* "INTEGER" */ primarykey = 1 __13: ; @@ -194129,14 +194637,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+33372 /* "no such table co..." */, libc.VaList(bp, zTableName, + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+33387 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) != 0 { - return ts + 936 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)))) @@ -194935,7 +195443,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+33400 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+33415 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -195096,7 +195604,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 + 33408 /* "database is dead..." */ + return ts + 33423 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -195896,7 +196404,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 12638 /* "null" */, ts + 13440 /* "true" */, ts + 13445 /* "false" */, ts + 12648 /* "integer" */, ts + 12643 /* "real" */, ts + 21393 /* "text" */, ts + 33431 /* "array" */, ts + 33437, /* "object" */ + ts + 12653 /* "null" */, ts + 13455 /* "true" */, ts + 13460 /* "false" */, ts + 12663 /* "integer" */, ts + 12658 /* "real" */, ts + 21408 /* "text" */, ts + 33446 /* "array" */, ts + 33452, /* "object" */ } /* sqlite3.c:189771:19 */ // Maximum nesting depth of JSON for this implementation. @@ -196076,7 +196584,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 + 33444 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 33459 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -196104,7 +196612,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 switch Xsqlite3_value_type(tls, pValue) { case SQLITE_NULL: { - jsonAppendRaw(tls, p, ts+12638 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+12653 /* "null" */, uint32(4)) break } @@ -196133,7 +196641,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) { /* sqlite3.c:18 default: { if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 { - Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+33461 /* "JSON cannot hold..." */, -1) + Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+33476 /* "JSON cannot hold..." */, -1) (*JsonString)(unsafe.Pointer(p)).FbErr = U8(2) jsonReset(tls, p) } @@ -196210,19 +196718,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+12638 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+12653 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+13440 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+13455 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+13445 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+13460 /* "false" */, uint32(5)) break } @@ -196788,17 +197296,17 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 { /* sqlite3.c:1 } return (int32(j + U32(1))) } else if ((int32(c) == 'n') && - (libc.Xstrncmp(tls, (z+uintptr(i)), ts+12638 /* "null" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+12653 /* "null" */, uint64(4)) == 0)) && !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr((i + U32(4))))))]) & 0x06) != 0) { 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+13440 /* "true" */, uint64(4)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+13455 /* "true" */, 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+13445 /* "false" */, uint64(5)) == 0)) && + (libc.Xstrncmp(tls, (z+uintptr(i)), ts+13460 /* "false" */, 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))) @@ -196906,7 +197414,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+33490 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+33505 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -197226,7 +197734,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+33505 /* "[0]" */, uint64(3)) == 0 { + } else if libc.Xstrncmp(tls, zPath, ts+33520 /* "[0]" */, uint64(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) } else { return uintptr(0) @@ -197243,7 +197751,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190 bp := tls.Alloc(16) defer tls.Free(16) - return Xsqlite3_mprintf(tls, ts+33509 /* "JSON path error ..." */, libc.VaList(bp, zErr)) + return Xsqlite3_mprintf(tls, ts+33524 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } // Do a node lookup using zPath. Return a pointer to the node on success. @@ -197310,7 +197818,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlit bp := tls.Alloc(16) defer tls.Free(16) - var zMsg uintptr = Xsqlite3_mprintf(tls, ts+33535, /* "json_%s() needs ..." */ + var zMsg uintptr = Xsqlite3_mprintf(tls, ts+33550, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -197454,7 +197962,7 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* if pNode != 0 { jsonRenderNode(tls, pNode, bp /* &jx */, uintptr(0)) } else { - jsonAppendRaw(tls, bp /* &jx */, ts+12638 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+12653 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -197582,14 +198090,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+33578 /* "json_object() re..." */, -1) + ts+33593 /* "json_object() re..." */, -1) return } jsonInit(tls, bp /* &jx */, ctx) jsonAppendChar(tls, bp /* &jx */, 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+33629 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+33644 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -197697,7 +198205,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+21904 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+21919 /* "replace" */) return __2: ; @@ -197783,9 +198291,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 33663 /* "set" */ + return ts + 33678 /* "set" */ } - return ts + 33667 /* "insert" */ + return ts + 33682 /* "insert" */ }()) return __2: @@ -197933,7 +198441,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+33674 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+33689 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -198038,7 +198546,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+33677 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+33692 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -198091,7 +198599,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+33680 /* "CREATE TABLE x(k..." */) + ts+33695 /* "CREATE TABLE x(k..." */) if rc == SQLITE_OK { pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{})))) if pNew == uintptr(0) { @@ -198229,14 +198737,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql 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+33763 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) + jsonPrintf(tls, 30, pStr, ts+33778 /* "[%d]" */, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8 /* &.u */)))) } else { if (int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags) & JNODE_LABEL) == 0 { pNode -= 16 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+33768 /* ".%.*s" */, libc.VaList(bp+16, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+33783 /* ".%.*s" */, libc.VaList(bp+16, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } @@ -198329,9 +198837,9 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* jsonAppendChar(tls, bp+40 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+40 /* &x */, ts+33763 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+40 /* &x */, ts+33778 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+40 /* &x */, ts+33768 /* ".%.*s" */, libc.VaList(bp+16, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+40 /* &x */, ts+33783 /* ".%.*s" */, libc.VaList(bp+16, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } jsonResult(tls, bp+40 /* &x */) @@ -198355,7 +198863,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 + 33774 /* "$" */ + zRoot = ts + 33789 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -198487,7 +198995,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+33490 /* "malformed JSON" */, 0) + (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+33505 /* "malformed JSON" */, 0) if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { rc = SQLITE_ERROR } @@ -198628,21 +199136,21 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 33776 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 33781 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 33792 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 33792 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 33810 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 33823 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 33835 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 33847 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 33858 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 33869 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 33881 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 33894 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 33903 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 33903 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 33913 /* "json_valid" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 33791 /* "json" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 33796 /* "json_array" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 33807 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 33807 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 33825 /* "json_extract" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 33838 /* "json_insert" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 33850 /* "json_object" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 33862 /* "json_patch" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 33873 /* "json_quote" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 33884 /* "json_remove" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 33896 /* "json_replace" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 33909 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, + {FzName: ts + 33918 /* "json_type" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 33918 /* "json_type" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 33928 /* "json_valid" */, FnArg: 1, FxFunc: 0}, } /* sqlite3.c:192182:5 */ var aAgg = [2]struct { FzName uintptr @@ -198652,17 +199160,17 @@ var aAgg = [2]struct { FxFinal uintptr FxValue uintptr }{ - {FzName: ts + 33924 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 33939 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 33941 /* "json_group_objec..." */, FnArg: 2, + {FzName: ts + 33956 /* "json_group_objec..." */, FnArg: 2, FxStep: 0, FxFinal: 0, FxValue: 0}, } /* sqlite3.c:192211:5 */ var aMod = [2]struct { FzName uintptr FpModule uintptr }{ - {FzName: ts + 33959 /* "json_each" */, FpModule: 0}, - {FzName: ts + 33969 /* "json_tree" */, FpModule: 0}, + {FzName: ts + 33974 /* "json_each" */, FpModule: 0}, + {FzName: ts + 33984 /* "json_tree" */, FpModule: 0}, } /* sqlite3.c:192221:5 */ var enc int32 = ((SQLITE_UTF8 | SQLITE_DETERMINISTIC) | SQLITE_INNOCUOUS) /* sqlite3.c:192226:20 */ // In the SQLite core @@ -199013,11 +199521,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+33979 /* "%s_node" */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + var zTab uintptr = Xsqlite3_mprintf(tls, ts+33994 /* "%s_node" */, 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+33987 /* "data" */, iNode, 0, + rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+34002 /* "data" */, iNode, 0, (pRtree + 112 /* &.pNodeBlob */)) Xsqlite3_free(tls, zTab) } @@ -199262,7 +199770,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+33992, /* "DROP TABLE '%q'...." */ + ts+34007, /* "DROP TABLE '%q'...." */ 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)) @@ -200022,7 +200530,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 { / var pSrc uintptr // BLOB returned by geometry function var pInfo uintptr // Callback information - pSrc = Xsqlite3_value_pointer(tls, pValue, ts+34074 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+34089 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -200286,7 +200794,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, bp+16 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, bp+16 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -201546,7 +202054,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+34088 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, ts+34103 /* "SELECT * FROM %Q..." */, 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+80 /* &pStmt */, uintptr(0)) } else { @@ -201558,12 +202066,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 + 80 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+34108 /* "UNIQUE constrain..." */, libc.VaList(bp+24, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+34123 /* "UNIQUE constrain..." */, libc.VaList(bp+24, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), iCol) var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+34140 /* "rtree constraint..." */, libc.VaList(bp+48, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+34155 /* "rtree constraint..." */, libc.VaList(bp+48, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } @@ -201831,7 +202339,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+34177 /* "ALTER TABLE %Q.'..." */, 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+34192 /* "ALTER TABLE %Q.'..." */, 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)) @@ -201869,7 +202377,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(32) defer tls.Free(32) - var zFmt uintptr = ts + 34322 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 34337 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+24, 8 @@ -201877,7 +202385,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit var nRow I64 = int64(0) rc = Xsqlite3_table_column_metadata(tls, - db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+17908 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + db, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, ts+17923 /* "sqlite_stat1" */, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == SQLITE_ERROR { @@ -201930,7 +202438,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 34378 /* "node" */, ts + 11554 /* "parent" */, ts + 14859, /* "rowid" */ + ts + 34393 /* "node" */, ts + 11569 /* "parent" */, ts + 14874, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -201974,19 +202482,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+34383, /* "CREATE TABLE \"%w..." */ + ts+34398, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+34445 /* ",a%d" */, libc.VaList(bp+24, ii)) + Xsqlite3_str_appendf(tls, p, ts+34460 /* ",a%d" */, libc.VaList(bp+24, ii)) } Xsqlite3_str_appendf(tls, p, - ts+34450, /* ");CREATE TABLE \"..." */ + ts+34465, /* ");CREATE TABLE \"..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+34514, /* "CREATE TABLE \"%w..." */ + ts+34529, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+64, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+34584, /* "INSERT INTO \"%w\"..." */ + ts+34599, /* "INSERT INTO \"%w\"..." */ libc.VaList(bp+88, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { @@ -202017,7 +202525,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } else { // An UPSERT is very slightly slower than REPLACE, but it is needed // if there are auxiliary columns - zFormat = ts + 34633 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 34648 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+120, zDb, zPrefix)) if zSql != 0 { @@ -202029,7 +202537,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+34741, /* "SELECT * FROM \"%..." */ + ts+34756, /* "SELECT * FROM \"%..." */ libc.VaList(bp+144, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -202037,18 +202545,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+34786 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+168, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+34801 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+168, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { if ii != 0 { - Xsqlite3_str_append(tls, p, ts+19417 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+19432 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+34813 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+192, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+34828 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+192, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+34835 /* "a%d=?%d" */, libc.VaList(bp+224, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+34850 /* "a%d=?%d" */, libc.VaList(bp+224, ii, (ii+2))) } } - Xsqlite3_str_appendf(tls, p, ts+34843 /* " WHERE rowid=?1" */, 0) + Xsqlite3_str_appendf(tls, p, ts+34858 /* " WHERE rowid=?1" */, 0) zSql = Xsqlite3_str_finish(tls, p) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -202064,18 +202572,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 34859, /* "INSERT OR REPLAC..." */ - ts + 34912, /* "DELETE FROM '%q'..." */ + ts + 34874, /* "INSERT OR REPLAC..." */ + ts + 34927, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 34957, /* "SELECT nodeno FR..." */ - ts + 35009, /* "INSERT OR REPLAC..." */ - ts + 35063, /* "DELETE FROM '%q'..." */ + ts + 34972, /* "SELECT nodeno FR..." */ + ts + 35024, /* "INSERT OR REPLAC..." */ + ts + 35078, /* "DELETE FROM '%q'..." */ // Read and write the xxx_parent table - ts + 35108, /* "SELECT parentnod..." */ - ts + 35166, /* "INSERT OR REPLAC..." */ - ts + 35221, /* "DELETE FROM '%q'..." */ + ts + 35123, /* "SELECT parentnod..." */ + ts + 35181, /* "INSERT OR REPLAC..." */ + ts + 35236, /* "DELETE FROM '%q'..." */ } /* sqlite3.c:195763:21 */ // The second argument to this function contains the text of an SQL statement @@ -202122,7 +202630,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr var zSql uintptr if isCreate != 0 { *(*int32)(unsafe.Pointer(bp + 88 /* iPageSize */)) = 0 - zSql = Xsqlite3_mprintf(tls, ts+35268 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, ts+35283 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) rc = getIntFromStmt(tls, db, zSql, bp+88 /* &iPageSize */) if rc == SQLITE_OK { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 88 /* iPageSize */)) - 64) @@ -202130,19 +202638,19 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, - ts+35288, /* "SELECT length(da..." */ + ts+35303, /* "SELECT length(da..." */ libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 32 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+56, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+56, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35345, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35360, /* "undersize RTree ..." */ libc.VaList(bp+72, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -202193,17 +202701,17 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr ii = 4 *(*[5]uintptr)(unsafe.Pointer(bp + 168 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 - ts + 35380, /* "Wrong number of ..." */ // 1 - ts + 35423, /* "Too few columns ..." */ // 2 - ts + 35458, /* "Too many columns..." */ // 3 - ts + 35494, /* "Auxiliary rtree ..." */ // 4 + ts + 35395, /* "Wrong number of ..." */ // 1 + ts + 35438, /* "Too few columns ..." */ // 2 + ts + 35473, /* "Too many columns..." */ // 3 + ts + 35509, /* "Auxiliary rtree ..." */ // 4 } // Aux columns counted by a u8 if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) return SQLITE_ERROR __1: ; @@ -202233,7 +202741,7 @@ __2: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+35531, /* "CREATE TABLE x(%..." */ + Xsqlite3_str_appendf(tls, pSql, ts+35546, /* "CREATE TABLE x(%..." */ libc.VaList(bp+32, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = 4 __3: @@ -202245,7 +202753,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+35555 /* ",%.*s" */, libc.VaList(bp+56, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+35570 /* ",%.*s" */, libc.VaList(bp+56, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -202268,7 +202776,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+35561 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+35576 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -202279,14 +202787,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + 4*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + 4*8)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -202329,7 +202837,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) goto rtreeInit_fail __22: ; @@ -202347,7 +202855,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+152, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+152, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -202367,7 +202875,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 35564 /* ",%.*s REAL" */, ts + 35575 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ +var azFormat = [2]uintptr{ts + 35579 /* ",%.*s REAL" */, ts + 35590 /* ",%.*s INT" */} /* sqlite3.c:196036:25 */ // Implementation of a scalar function that decodes r-tree nodes to // human readable strings. This can be used for debugging and analysis. @@ -202422,13 +202930,13 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit nodeGetCell(tls, bp+72 /* &tree */, bp+32 /* &node */, ii, bp+1040 /* &cell */) if ii > 0 { - Xsqlite3_str_append(tls, pOut, ts+17488 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+17503 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+35585 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1040 /* &cell */)).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, ts+35600 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1040 /* &cell */)).FiRowid)) for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+35591 /* " %g" */, libc.VaList(bp+16, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1040 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+35606 /* " %g" */, libc.VaList(bp+16, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1040 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } - Xsqlite3_str_append(tls, pOut, ts+35595 /* "}" */, 1) + Xsqlite3_str_append(tls, pOut, ts+35610 /* "}" */, 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}))) @@ -202447,7 +202955,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli _ = 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+35597 /* "Invalid argument..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+35612 /* "Invalid argument..." */, -1) } else { var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -202536,12 +203044,12 @@ 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+35630, /* "%z%s%z" */ + (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+35645, /* "%z%s%z" */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - return ts + 10506 /* "\n" */ + return ts + 10521 /* "\n" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -202572,7 +203080,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+35637, /* "SELECT data FROM..." */ + ts+35652, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -202591,7 +203099,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+35682 /* "Node %lld missin..." */, libc.VaList(bp+24, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+35697 /* "Node %lld missin..." */, libc.VaList(bp+24, iNode)) } } @@ -202615,8 +203123,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa var rc int32 var pStmt uintptr *(*[2]uintptr)(unsafe.Pointer(bp + 104 /* azSql */)) = [2]uintptr{ - ts + 35714, /* "SELECT parentnod..." */ - ts + 35768, /* "SELECT nodeno FR..." */ + ts + 35729, /* "SELECT parentnod..." */ + ts + 35783, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) == uintptr(0) { @@ -202631,23 +203139,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+35816, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+35831, /* "Mapping (%lld ->..." */ libc.VaList(bp+24, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 35861 /* "%_rowid" */ + return ts + 35876 /* "%_rowid" */ } - return ts + 35869 /* "%_parent" */ + return ts + 35884 /* "%_parent" */ }())) } else if rc == SQLITE_ROW { var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, - ts+35878, /* "Found (%lld -> %..." */ + ts+35893, /* "Found (%lld -> %..." */ libc.VaList(bp+56, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 35861 /* "%_rowid" */ + return ts + 35876 /* "%_rowid" */ } - return ts + 35869 /* "%_parent" */ + return ts + 35884 /* "%_parent" */ }(), iKey, iVal)) } } @@ -202690,7 +203198,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 64 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 68 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, - ts+35936 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+35951 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -202710,7 +203218,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 68 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 76 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+35984 /* "Dimension %d of ..." */, libc.VaList(bp+32, i, iCell, iNode)) + ts+35999 /* "Dimension %d of ..." */, libc.VaList(bp+32, i, iCell, iNode)) } } } @@ -202733,14 +203241,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr if aNode != 0 { if *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+36051 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)))) + ts+36066 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+36085 /* "Rtree depth out ..." */, libc.VaList(bp+24, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+36100 /* "Rtree depth out ..." */, libc.VaList(bp+24, iDepth)) Xsqlite3_free(tls, aNode) return } @@ -202748,7 +203256,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 + 72 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, - ts+36115, /* "Node %lld is too..." */ + ts+36130, /* "Node %lld is too..." */ libc.VaList(bp+40, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)))) } else { for i = 0; i < nCell; i++ { @@ -202782,14 +203290,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+36170, /* "SELECT count(*) ..." */ + pCount = rtreeCheckPrepare(tls, pCheck, ts+36185, /* "SELECT count(*) ..." */ 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+36201 /* "Wrong number of ..." */, libc.VaList(bp+32, zTbl, nExpect, nActual)) + ts+36216 /* "Wrong number of ..." */, libc.VaList(bp+32, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -202819,13 +203327,13 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+21092 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+21107 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+48 /* &check */, ts+36268 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+48 /* &check */, ts+36283 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) @@ -202834,12 +203342,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+48 /* &check */, ts+34088 /* "SELECT * FROM %Q..." */, libc.VaList(bp+24, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+48 /* &check */, ts+34103 /* "SELECT * FROM %Q..." */, libc.VaList(bp+24, zDb, zTab)) if pStmt != 0 { var rc int32 (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+48 /* &check */, ts+36296 /* "Schema corrupt o..." */, 0) + rtreeCheckAppendMsg(tls, bp+48 /* &check */, ts+36311 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } @@ -202854,8 +203362,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).Frc == SQLITE_OK { rtreeCheckNode(tls, bp+48 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+48 /* &check */, ts+36327 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+48 /* &check */, ts+36334 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+48 /* &check */, ts+36342 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+48 /* &check */, ts+36349 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check @@ -202865,7 +203373,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep // If one was opened, close the transaction if bEnd != 0 { - var rc int32 = Xsqlite3_exec(tls, db, ts+36342 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) + var rc int32 = Xsqlite3_exec(tls, db, ts+36357 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).Frc == SQLITE_OK { (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = rc } @@ -202911,7 +203419,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+36346 /* "wrong number of ..." */, -1) + ts+36361 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -202919,7 +203427,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 13128 /* "main" */ + zDb = ts + 13143 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -202929,7 +203437,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if *(*uintptr)(unsafe.Pointer(bp /* zReport */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp /* zReport */)) } - return ts + 6149 /* "ok" */ + return ts + 6164 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -203366,11 +203874,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+36397 /* "[" */, 1) + Xsqlite3_str_append(tls, x, ts+36412 /* "[" */, 1) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { - Xsqlite3_str_appendf(tls, x, ts+36399 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) + Xsqlite3_str_appendf(tls, x, ts+36414 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+36410 /* "[%!g,%!g]]" */, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+36425 /* "[%!g,%!g]]" */, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 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) } @@ -203394,19 +203902,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+36421 /* "" */, 0) + Xsqlite3_str_appendf(tls, x, ts+36474 /* ">" */, 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) } @@ -204422,7 +204930,7 @@ __1: // that is successful, call sqlite3_declare_vtab() to configure // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, ts+36472 /* "CREATE TABLE x(_..." */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+36487 /* "CREATE TABLE x(_..." */, 0) (*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1) // Add one for _shape (*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1) // The _shape column is always not-null ii = 3 @@ -204431,7 +204939,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+36494 /* ",%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, ts+36509 /* ",%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto __3 __3: ii++ @@ -204439,7 +204947,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+35561 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+35576 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -204450,7 +204958,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -204476,7 +204984,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+48, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+48, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -204709,7 +205217,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s if iRowidTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 14859 /* "rowid" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 14874 /* "rowid" */ (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).FargvIndex = 1 (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).Fomit = uint8(1) (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 30.0 @@ -204719,7 +205227,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s } if iFuncTerm >= 0 { (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 36498 /* "rtree" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 36513 /* "rtree" */ (*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 @@ -204727,7 +205235,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* s return SQLITE_OK } (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4 - (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 36504 /* "fullscan" */ + (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 36519 /* "fullscan" */ (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -204865,7 +205373,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+36513 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+36528 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -205010,14 +205518,14 @@ geopoly_update_end: // Report that geopoly_overlap() is an overloaded function suitable // for use in xBestIndex. func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 { /* sqlite3.c:198361:12: */ - if Xsqlite3_stricmp(tls, zName, ts+36553 /* "geopoly_overlap" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+36568 /* "geopoly_overlap" */) == 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+36569 /* "geopoly_within" */) == 0 { + if Xsqlite3_stricmp(tls, zName, ts+36584 /* "geopoly_within" */) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{geopolyWithinFunc})) @@ -205082,7 +205590,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 uintptr(0), aAgg1[i].FxStep, aAgg1[i].FxFinal) } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, ts+36584 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+36599 /* "geopoly" */, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -205094,25 +205602,25 @@ var aFunc1 = [12]struct { _ [6]byte FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 36592 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 36605 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 36618 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 36631 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 36569 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 36643 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 36553 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 36666 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 36680 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 36693 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 36707 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 36723 /* "geopoly_ccw" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 36607 /* "geopoly_area" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 36620 /* "geopoly_blob" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 36633 /* "geopoly_json" */}, + {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 36646 /* "geopoly_svg" */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 36584 /* "geopoly_within" */}, + {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 36658 /* "geopoly_contains..." */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 36568 /* "geopoly_overlap" */}, + {FxFunc: 0, FnArg: int8(1), FzName: ts + 36681 /* "geopoly_debug" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 36695 /* "geopoly_bbox" */}, + {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 36708 /* "geopoly_xform" */}, + {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 36722 /* "geopoly_regular" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 36738 /* "geopoly_ccw" */}, } /* sqlite3.c:198416:5 */ var aAgg1 = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ - {FxStep: 0, FxFinal: 0, FzName: ts + 36735 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 36750 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -205125,26 +205633,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 var utf8 int32 = SQLITE_UTF8 var rc int32 - rc = Xsqlite3_create_function(tls, db, ts+36754 /* "rtreenode" */, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+36769 /* "rtreenode" */, 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+36764 /* "rtreedepth" */, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+36779 /* "rtreedepth" */, 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+36775 /* "rtreecheck" */, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = Xsqlite3_create_function(tls, db, ts+36790 /* "rtreecheck" */, -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+36498 /* "rtree" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+36513 /* "rtree" */, 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+36786 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, ts+36801 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { rc = sqlite3_geopoly_init(tls, db) @@ -205216,7 +205724,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* sql Xsqlite3_result_error_nomem(tls, ctx) rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, ts+34074 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) + Xsqlite3_result_pointer(tls, ctx, pBlob, ts+34089 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) } } } @@ -206507,7 +207015,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // Figure out the size of the output nOut = rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, ts+36796 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+36811 /* "corrupt fossil d..." */, -1) return } @@ -206518,7 +207026,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+36796 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+36811 /* "corrupt fossil d..." */, -1) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -206539,7 +207047,7 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -206557,7 +207065,7 @@ func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -206661,7 +207169,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3. if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+36817 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + ts+36832 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if rc == SQLITE_OK { @@ -206745,7 +207253,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+33987 /* "data" */, zIn, uint64(4)) == 0) { + if (libc.Xstrlen(tls, zIn) > uint64(4)) && (libc.Xmemcmp(tls, ts+34002 /* "data" */, 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++ { } @@ -206773,17 +207281,17 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3 rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter /* &.pTblIter */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+36988 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { + ts+37003 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 37138 /* "AND rootpage!=0 ..." */ + return ts + 37153 /* "AND rootpage!=0 ..." */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 8 /* &.pIdxIter */), (p + 64 /* &.zErrmsg */), - ts+37179 /* "SELECT name, roo..." */) + ts+37194 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -206921,7 +207429,7 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: var rc int32 = Xsqlite3_finalize(tls, pStmt) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (rc != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) } } @@ -206984,7 +207492,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 + 64 /* &aStmt */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+37304 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) + ts+37319 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } @@ -207002,7 +207510,7 @@ __2: *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */)), 1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */ + 1*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37385 /* "PRAGMA index_lis..." */, libc.VaList(bp+16, zTab))) + Xsqlite3_mprintf(tls, ts+37400 /* "PRAGMA index_lis..." */, libc.VaList(bp+16, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -207020,7 +207528,7 @@ __4: } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */ + 2*8), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+37406 /* "SELECT rootpage ..." */, libc.VaList(bp+32, zIdx))) + ts+37421 /* "SELECT rootpage ..." */, libc.VaList(bp+32, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } @@ -207044,7 +207552,7 @@ __5: ; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */ + 3*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37457 /* "PRAGMA table_inf..." */, libc.VaList(bp+48, zTab))) + Xsqlite3_mprintf(tls, ts+37472 /* "PRAGMA table_inf..." */, libc.VaList(bp+48, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } @@ -207093,7 +207601,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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+32 /* &pList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37478 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+37493 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 @@ -207108,7 +207616,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq 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+40 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37506 /* "PRAGMA main.inde..." */, libc.VaList(bp+16, zIdx))) + Xsqlite3_mprintf(tls, ts+37521 /* "PRAGMA main.inde..." */, libc.VaList(bp+16, zIdx))) for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pXInfo */)))) { var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pXInfo */)), 1) if iCid >= 0 { @@ -207158,7 +207666,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 72 /* &.eType */), bp+96 /* &iTnum */, (pIter + 108 /* &.iPkTnum */)) 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+26171 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+26186 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc @@ -207171,18 +207679,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // of the input table. Ignore any input table columns that begin with // "rbu_". (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+104 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37535 /* "SELECT * FROM '%..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + Xsqlite3_mprintf(tls, ts+37550 /* "SELECT * FROM '%..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */))) 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 + 104 /* pStmt */)), i) - if Xsqlite3_strnicmp(tls, ts+37554 /* "rbu_" */, zName, 4) != 0 { + if Xsqlite3_strnicmp(tls, ts+37569 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 56 /* &.rc */)) *(*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+37559 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+37574 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -207194,12 +207702,12 @@ 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+37569 /* "table %q %s rbu_..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+37584 /* "table %q %s rbu_..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { - return ts + 37598 /* "may not have" */ + return ts + 37613 /* "may not have" */ } - return ts + 37611 /* "requires" */ + return ts + 37626 /* "requires" */ }())) } @@ -207208,7 +207716,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+104 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37620 /* "PRAGMA table_inf..." */, libc.VaList(bp+56, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+37635 /* "PRAGMA table_inf..." */, libc.VaList(bp+56, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)))) { var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), 1) @@ -207222,7 +207730,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+37642, /* "column missing f..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+37657, /* "column missing f..." */ libc.VaList(bp+72, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), 5) @@ -207268,12 +207776,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(32) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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+37669 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 21203 /* ", " */ + zList = rbuMPrintf(tls, p, ts+37684 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 21218 /* ", " */ } return zList } @@ -207288,13 +207796,13 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, var iPk int32 = 1 var zRet uintptr = uintptr(0) - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ for 1 != 0 { var i int32 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+37678 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) + zRet = rbuMPrintf(tls, p, ts+37693 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -207333,25 +207841,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+104 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+37691 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + ts+37706 /* "SELECT max(_rowi..." */, 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 + 104 /* pMax */)))) { var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+37723 /* " WHERE _rowid_ >..." */, libc.VaList(bp+24, iMax)) + zRet = rbuMPrintf(tls, p, ts+37738 /* " WHERE _rowid_ >..." */, libc.VaList(bp+24, iMax)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */))) } else { - var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+900 /* "" */, ts+21203 /* ", " */, ts+37746 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+37752 /* "quote(" */, ts+37759 /* "||','||" */, ts+11449 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+900 /* "" */, ts+21203 /* ", " */, ts+900 /* "" */) + var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+21218 /* ", " */, ts+37761 /* " DESC" */) + var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+37767 /* "quote(" */, ts+37774 /* "||','||" */, ts+11464 /* ")" */) + var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+21218 /* ", " */, ts+915 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+104 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+37767, /* "SELECT %s FROM \"..." */ + ts+37782, /* "SELECT %s FROM \"..." */ libc.VaList(bp+40, 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 + 104 /* pMax */)))) { var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+37809 /* " WHERE (%s) > (%..." */, libc.VaList(bp+80, zList, zVal)) + zRet = rbuMPrintf(tls, p, ts+37824 /* " WHERE (%s) > (%..." */, libc.VaList(bp+80, zList, zVal)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */))) } @@ -207409,12 +207917,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 900 /* "" */ + zSep = ts + 915 /* "" */ iCol = 0 *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+232 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37506 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+37521 /* "PRAGMA main.inde..." */, 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 + 232 /* pXInfo */))))) { goto __2 @@ -207451,7 +207959,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) goto __7 __6: - zCol = ts + 37829 /* "_rowid_" */ + zCol = ts + 37844 /* "_rowid_" */ __7: ; goto __5 @@ -207460,13 +207968,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+37837, /* "%z%s \"%w\" COLLAT..." */ + zLhs = rbuMPrintf(tls, p, ts+37852, /* "%z%s \"%w\" COLLAT..." */ libc.VaList(bp+16, zLhs, zSep, zCol, zCollate)) - zOrder = rbuMPrintf(tls, p, ts+37858, /* "%z%s \"rbu_imp_%d..." */ + zOrder = rbuMPrintf(tls, p, ts+37873, /* "%z%s \"rbu_imp_%d..." */ libc.VaList(bp+56, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = rbuMPrintf(tls, p, ts+37894, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+37909, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+104, zSelect, zSep, iCol, zCol)) - zSep = ts + 21203 /* ", " */ + zSep = ts + 21218 /* ", " */ iCol++ goto __1 __2: @@ -207485,12 +207993,12 @@ __11: *(*uintptr)(unsafe.Pointer(bp + 240 /* pSel */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+240 /* &pSel */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37921, /* "SELECT %s FROM \"..." */ + Xsqlite3_mprintf(tls, ts+37936, /* "SELECT %s FROM \"..." */ libc.VaList(bp+144, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 240 /* pSel */))))) { goto __13 } - zSep = ts + 900 /* "" */ + zSep = ts + 915 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -207512,8 +208020,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+37969 /* "%z%s%s" */, libc.VaList(bp+176, zVector, zSep, zQuoted)) - zSep = ts + 21203 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+37984 /* "%z%s%s" */, libc.VaList(bp+176, zVector, zSep, zQuoted)) + zSep = ts + 21218 /* ", " */ goto __15 __15: iCol++ @@ -207525,7 +208033,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+37976 /* "(%s) > (%s)" */, libc.VaList(bp+208, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+37991 /* "(%s) > (%s)" */, libc.VaList(bp+208, zLhs, zVector)) __20: ; __13: @@ -207575,14 +208083,14 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var zImpPK uintptr = uintptr(0) // String to return via *pzImposterPK var zWhere uintptr = uintptr(0) // String to return via *pzWhere var nBind int32 = 0 // Value to return via *pnBind - var zCom uintptr = ts + 900 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 900 /* "" */ // Set to " AND " later on + var zCom uintptr = ts + 915 /* "" */ // Set to ", " later on + var zAnd uintptr = ts + 915 /* "" */ // Set to " AND " later on *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+248 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37506 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + Xsqlite3_mprintf(tls, ts+37521 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)))) { @@ -207594,9 +208102,9 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC if iCid == -2 { var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+37988 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+16, zRet, zCom, + zRet = Xsqlite3_mprintf(tls, ts+38003 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+16, 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 + 900 /* "" */ + zType = ts + 915 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -207608,37 +208116,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 + 37829 /* "_rowid_" */ + zCol = ts + 37844 /* "_rowid_" */ } else { - zCol = ts + 37559 /* "rbu_rowid" */ + zCol = ts + 37574 /* "rbu_rowid" */ } - zType = ts + 19264 /* "INTEGER" */ + zType = ts + 19279 /* "INTEGER" */ } 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+38010 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+64, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+38025 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+64, zRet, zCom, zCol, zCollate)) } if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { - return ts + 37746 /* " DESC" */ + return ts + 37761 /* " DESC" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+38030, /* "%z%s\"rbu_imp_%d%..." */ + zImpPK = Xsqlite3_mprintf(tls, ts+38045, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+104, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, ts+38051, /* "%z%s\"rbu_imp_%d%..." */ + zImpCols = Xsqlite3_mprintf(tls, ts+38066, /* "%z%s\"rbu_imp_%d%..." */ libc.VaList(bp+152, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+38084 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+208, zWhere, zAnd, nBind, zCol)) + ts+38099 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+208, zWhere, zAnd, nBind, zCol)) if (((zRet == uintptr(0)) || (zImpPK == uintptr(0))) || (zImpCols == uintptr(0))) || (zWhere == uintptr(0)) { rc = SQLITE_NOMEM } - zCom = ts + 21203 /* ", " */ - zAnd = ts + 28657 /* " AND " */ + zCom = ts + 21218 /* ", " */ + zAnd = ts + 28672 /* " AND " */ nBind++ } @@ -207681,16 +208189,16 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zS uintptr = ts + 900 /* "" */ + var zS uintptr = ts + 915 /* "" */ var i int32 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+38108 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, ts+38123 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+38120 /* "%z%sNULL" */, libc.VaList(bp+40, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+38135 /* "%z%sNULL" */, libc.VaList(bp+40, zList, zS)) } - zS = ts + 21203 /* ", " */ + zS = ts + 21218 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -207699,7 +208207,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+38129 /* "%z, %s._rowid_" */, libc.VaList(bp+64, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+38144 /* "%z, %s._rowid_" */, libc.VaList(bp+64, zList, zObj)) } } return zList @@ -207719,27 +208227,27 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq 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+38144 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) + zList = rbuMPrintf(tls, p, ts+38159 /* "_rowid_ = ?%d" */, libc.VaList(bp, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))) } else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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+38158 /* "%z%sc%d=?%d" */, libc.VaList(bp+16, zList, zSep, i, (i+1))) - zSep = ts + 28657 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+38173 /* "%z%sc%d=?%d" */, libc.VaList(bp+16, zList, zSep, i, (i+1))) + zSep = ts + 28672 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+38170 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+56, zList)) + ts+38185 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+56, zList)) } else { - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = rbuMPrintf(tls, p, ts+38220 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+72, zList, zSep, zCol, (i+1))) - zSep = ts + 28657 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+38235 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+72, zList, zSep, zCol, (i+1))) + zSep = ts + 28672 /* " AND " */ } } } @@ -207753,7 +208261,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq // of the RBU handle to something reflecting this. func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+38233 /* "invalid rbu_cont..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+38248 /* "invalid rbu_cont..." */, 0) } // Return a nul-terminated string containing the comma separated list of @@ -207782,21 +208290,21 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr if int32(libc.Xstrlen(tls, zMask)) != (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { rbuBadControlError(tls, p) } else { - var zSep uintptr = ts + 900 /* "" */ + var zSep uintptr = ts + 915 /* "" */ 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+38220, /* "%z%s\"%w\"=?%d" */ + zList = rbuMPrintf(tls, p, ts+38235, /* "%z%s\"%w\"=?%d" */ libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) - zSep = ts + 21203 /* ", " */ + zSep = ts + 21218 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+38259, /* "%z%s\"%w\"=rbu_del..." */ + zList = rbuMPrintf(tls, p, ts+38274, /* "%z%s\"%w\"=rbu_del..." */ libc.VaList(bp+40, 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 + 21203 /* ", " */ + zSep = ts + 21218 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+38289, /* "%z%s\"%w\"=rbu_fos..." */ + zList = rbuMPrintf(tls, p, ts+38304, /* "%z%s\"%w\"=rbu_fos..." */ libc.VaList(bp+88, 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 + 21203 /* ", " */ + zSep = ts + 21218 /* ", " */ } } } @@ -207854,19 +208362,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zSep uintptr = ts + 38326 /* "PRIMARY KEY(" */ + var zSep uintptr = ts + 38341 /* "PRIMARY KEY(" */ *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+88 /* &pXList */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37478 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + Xsqlite3_mprintf(tls, ts+37493 /* "PRAGMA main.inde..." */, 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 + 88 /* pXList */)))) { var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)), 3) - if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+22672 /* "pk" */) == 0) { + if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+22687 /* "pk" */) == 0) { var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)), 1) if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+96 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37506 /* "PRAGMA main.inde..." */, libc.VaList(bp+16, zIdx))) + Xsqlite3_mprintf(tls, ts+37521 /* "PRAGMA main.inde..." */, libc.VaList(bp+16, zIdx))) } break } @@ -207879,15 +208387,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)), 2) var zDesc uintptr if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)), 3) != 0 { - zDesc = ts + 37746 /* " DESC" */ + zDesc = ts + 37761 /* " DESC" */ } else { - zDesc = ts + 900 /* "" */ + zDesc = ts + 915 /* "" */ } - z = rbuMPrintf(tls, p, ts+38339 /* "%z%s\"%w\"%s" */, libc.VaList(bp+32, z, zSep, zCol, zDesc)) - zSep = ts + 21203 /* ", " */ + z = rbuMPrintf(tls, p, ts+38354 /* "%z%s\"%w\"%s" */, libc.VaList(bp+32, z, zSep, zCol, zDesc)) + zSep = ts + 21218 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+38350 /* "%z)" */, libc.VaList(bp+72, z)) + z = rbuMPrintf(tls, p, ts+38365 /* "%z)" */, libc.VaList(bp+72, z)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */))) } return z @@ -207919,7 +208427,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx - var zComma uintptr = ts + 900 /* "" */ + var zComma uintptr = ts + 915 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -207927,7 +208435,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+224 /* &pQuery */, (p + 64 /* &.zErrmsg */), - ts+38354 /* "SELECT name FROM..." */) + ts+38369 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */)), 1, tnum) if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */))) { @@ -207936,7 +208444,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit } if zIdx != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+232 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37506 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) + Xsqlite3_mprintf(tls, ts+37521 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */))) @@ -207946,25 +208454,25 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 1) var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 3) var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+38404 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+16, zCols, zComma, + zCols = rbuMPrintf(tls, p, ts+38419 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+16, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+38426 /* "%z%sc%d%s" */, libc.VaList(bp+64, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+38441 /* "%z%sc%d%s" */, libc.VaList(bp+64, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { - return ts + 37746 /* " DESC" */ + return ts + 37761 /* " DESC" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) - zComma = ts + 21203 /* ", " */ + zComma = ts + 21218 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+38436 /* "%z, id INTEGER" */, libc.VaList(bp+104, zCols)) + zCols = rbuMPrintf(tls, p, ts+38451 /* "%z, id INTEGER" */, libc.VaList(bp+104, zCols)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+120, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13128 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+120, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+38451, /* "CREATE TABLE rbu..." */ + ts+38466, /* "CREATE TABLE rbu..." */ libc.VaList(bp+160, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+184, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13128 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+184, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 0, 0)) } } @@ -207992,52 +208500,52 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum - var zComma uintptr = ts + 900 /* "" */ + var zComma uintptr = ts + 915 /* "" */ var zSql uintptr = uintptr(0) var iCol int32 - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13128 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 0, 1)) for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { - var zPk uintptr = ts + 900 /* "" */ + var zPk uintptr = ts + 915 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp + 240 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13128 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+240 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+240 /* &zColl */, 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) { // If the target table column is an "INTEGER PRIMARY KEY", add // "PRIMARY KEY" to the imposter table column declaration. - zPk = ts + 38513 /* "PRIMARY KEY " */ + zPk = ts + 38528 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+38526, /* "%z%s\"%w\" %s %sCO..." */ + zSql = rbuMPrintf(tls, p, ts+38541, /* "%z%s\"%w\" %s %sCO..." */ libc.VaList(bp+40, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 240 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - return ts + 38553 /* " NOT NULL" */ + return ts + 38568 /* " NOT NULL" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) - zComma = ts + 21203 /* ", " */ + zComma = ts + 21218 /* ", " */ } 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+38563 /* "%z, %z" */, libc.VaList(bp+104, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+38578 /* "%z, %z" */, libc.VaList(bp+104, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+128, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13128 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+38570, /* "CREATE TABLE \"rb..." */ + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+128, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 1, tnum)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+38585, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+168, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { - return ts + 38602 /* " WITHOUT ROWID" */ + return ts + 38617 /* " WITHOUT ROWID" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+200, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13128 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+200, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 0, 0)) } } @@ -208060,7 +208568,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 152 /* &.pTmpInsert */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+38617, /* "INSERT INTO %s.'..." */ + ts+38632, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -208097,7 +208605,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+38674 /* "SELECT trim(sql)..." */) + ts+38689 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -208207,7 +208715,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+38740 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) + zLimit = Xsqlite3_mprintf(tls, ts+38755 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) if !(zLimit != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM } @@ -208228,26 +208736,26 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 752 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13128 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+56, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13128 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+56, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+38760, /* "CREATE TABLE \"rb..." */ + ts+38775, /* "CREATE TABLE \"rb..." */ libc.VaList(bp+96, zTbl, *(*uintptr)(unsafe.Pointer(bp + 728 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 736 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+128, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13128 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+128, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 0, 0)) // Create the statement to insert index entries (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 752 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+38825 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+168, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+38840 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+168, zTbl, zBind))) } // And to delete index entries 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 /* &.pDelete */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+38861 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+192, zTbl, *(*uintptr)(unsafe.Pointer(bp + 744 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+38876 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+192, zTbl, *(*uintptr)(unsafe.Pointer(bp + 744 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -208264,7 +208772,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+38895, /* "SELECT %s, 0 AS ..." */ + ts+38910, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+216, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -208272,32 +208780,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 38956 /* "AND" */ + return ts + 38971 /* "AND" */ } - return ts + 38960 /* "WHERE" */ + return ts + 38975 /* "WHERE" */ }() } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zStart, zCollist, zLimit)) 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+38966, /* "SELECT %s, rbu_c..." */ + ts+38981, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+280, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, - ts+39027, /* "SELECT %s, rbu_c..." */ + ts+39042, /* "SELECT %s, rbu_c..." */ libc.VaList(bp+336, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { if zPart != 0 { - return ts + 38956 /* "AND" */ + return ts + 38971 /* "AND" */ } - return ts + 38960 /* "WHERE" */ + return ts + 38975 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -208322,8 +208830,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 var zBindings uintptr = rbuObjIterGetBindlist(tls, p, ((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + bRbuRowid)) var zWhere uintptr = rbuObjIterGetWhere(tls, p, pIter) - var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+13137 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+13133 /* "new" */) + var zOldlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+13152 /* "old" */) + var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+13148 /* "new" */) zCollist = rbuObjIterGetCollist(tls, p, pIter) (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -208333,21 +208841,21 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuCreateImposterTable2(tls, p, pIter) zWrite = func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 39186 /* "rbu_imp_" */ + return ts + 39201 /* "rbu_imp_" */ }() // Create the INSERT statement to write to the target PK b-tree if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, - ts+39195, /* "INSERT INTO \"%s%..." */ + ts+39210, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+424, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 39231 /* ", _rowid_" */ + return ts + 39246 /* ", _rowid_" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zBindings))) } @@ -208357,28 +208865,28 @@ 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 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+39241 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+472, zWrite, zTbl, zWhere))) + ts+39256 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+472, zWrite, zTbl, zWhere))) } if ((libc.Bool32((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0))) == 0) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { - var zRbuRowid uintptr = ts + 900 /* "" */ + var zRbuRowid uintptr = ts + 915 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 39269 /* ", rbu_rowid" */ + zRbuRowid = ts + 39284 /* ", rbu_rowid" */ } // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+39281 /* "CREATE TABLE IF ..." */, libc.VaList(bp+504, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+39296 /* "CREATE TABLE IF ..." */, libc.VaList(bp+504, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { - return ts + 39357 /* ", 0 AS rbu_rowid" */ + return ts + 39372 /* ", 0 AS rbu_rowid" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+39374, /* "CREATE TEMP TRIG..." */ + ts+39389, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+544, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -208386,7 +208894,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 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+39673, /* "CREATE TEMP TRIG..." */ + ts+39688, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+624, zWrite, zTbl, zNewlist)) } @@ -208395,14 +208903,14 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the SELECT statement to read keys from data_xxx if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var zRbuRowid uintptr = ts + 900 /* "" */ + var zRbuRowid uintptr = ts + 915 /* "" */ var zStart uintptr = uintptr(0) var zOrder uintptr = uintptr(0) if bRbuRowid != 0 { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zRbuRowid = ts + 39772 /* ",_rowid_ " */ + zRbuRowid = ts + 39787 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 39782 /* ",rbu_rowid" */ + zRbuRowid = ts + 39797 /* ",rbu_rowid" */ } } @@ -208415,35 +208923,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+37829 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+37844 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+900 /* "" */, ts+21203 /* ", " */, ts+900 /* "" */) + zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+21218 /* ", " */, ts+915 /* "" */) } } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 128 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, - ts+39793, /* "SELECT %s,%s rbu..." */ + ts+39808, /* "SELECT %s,%s rbu..." */ libc.VaList(bp+656, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 39841 /* "0 AS " */ + return ts + 39856 /* "0 AS " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 26836 /* "ORDER BY" */ + return ts + 26851 /* "ORDER BY" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), zOrder, zLimit))) } @@ -208518,12 +209026,12 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp (*RbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - var zPrefix uintptr = ts + 900 /* "" */ + var zPrefix uintptr = ts + 915 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 39186 /* "rbu_imp_" */ + zPrefix = ts + 39201 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+39847, /* "UPDATE \"%s%w\" SE..." */ + zUpdate = Xsqlite3_mprintf(tls, ts+39862, /* "UPDATE \"%s%w\" SE..." */ 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 /* &.pUpdate */), (p + 64 /* &.zErrmsg */), zUpdate) @@ -208550,7 +209058,7 @@ func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uin return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))))) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))) *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)) = uintptr(0) } @@ -208591,7 +209099,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ } *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+16 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+39877 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) + Xsqlite3_mprintf(tls, ts+39892 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) for (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) { case RBU_STATE_STAGE: @@ -208663,31 +209171,31 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13128 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13143 /* "main" */, 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+13128 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+39907 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) + var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13143 /* "main" */) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+39922 /* "file://%s-vacuum..." */, libc.VaList(bp, zFile, zFile)) } } // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+39934 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+24, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+20067 /* "stat" */, uint64(4)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+39949 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+24, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+20082 /* "stat" */, uint64(4)) } else { - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+13128 /* "main" */, uint64(4)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+13143 /* "main" */, uint64(4)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+39952 /* "CREATE TABLE IF ..." */, libc.VaList(bp+40, p+48 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+39967 /* "CREATE TABLE IF ..." */, libc.VaList(bp+40, p+48 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 var rc int32 (*Sqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13128 /* "main" */, SQLITE_FCNTL_RBUCNT, p) + rc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13143 /* "main" */, SQLITE_FCNTL_RBUCNT, p) if rc != SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -208720,11 +209228,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 return } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+40018 /* "cannot vacuum wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+40033 /* "cannot vacuum wa..." */, 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+33150 /* "file:" */, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5))) { + if (libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5)) && (0 == libc.Xmemcmp(tls, ts+33165 /* "file:" */, (*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)))) == '?' { @@ -208736,16 +209244,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+40050, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+56, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13128 /* "main" */), + zTarget = Xsqlite3_mprintf(tls, ts+40065, /* "file:%s-vactmp?r..." */ + libc.VaList(bp+56, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13143 /* "main" */), func() uintptr { if zExtra == uintptr(0) { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 40082 /* "&" */ + return ts + 40097 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } return zExtra }())) @@ -208761,40 +209269,40 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+40084 /* "rbu_tmp_insert" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+40099 /* "rbu_tmp_insert" */, -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+40099 /* "rbu_fossil_delta" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + ts+40114 /* "rbu_fossil_delta" */, 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+40116 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+40131 /* "rbu_target_name" */, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuTargetNameFunc})), uintptr(0), uintptr(0)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13128 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, SQLITE_FCNTL_RBU, p) } - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40132 /* "SELECT * FROM sq..." */, 0) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40147 /* "SELECT * FROM sq..." */, 0) // Mark the database file just opened as an RBU target database. If // this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. // This is an error. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13128 /* "main" */, SQLITE_FCNTL_RBU, p) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, SQLITE_FCNTL_RBU, p) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+40160 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+40175 /* "rbu vfs not foun..." */, 0) } } @@ -208863,7 +209371,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+40132 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40147 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -208897,7 +209405,7 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c 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+40178 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40193 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) if rc2 != SQLITE_INTERNAL { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -209024,16 +209532,16 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ bp := tls.Alloc(32) defer tls.Free(32) - var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13128 /* "main" */) + var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */) var zMove uintptr = zBase var zOal uintptr var zWal uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13128 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13143 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+40213 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+40220 /* "%s-wal" */, libc.VaList(bp+16, zMove)) + zOal = Xsqlite3_mprintf(tls, ts+40228 /* "%s-oal" */, libc.VaList(bp, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+40235 /* "%s-wal" */, libc.VaList(bp+16, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -209173,7 +209681,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) { /* sqlite3.c:203389:1 ((*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+32788 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32803 /* "datatype mismatc..." */, 0) return } @@ -209291,7 +209799,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // var pStmt uintptr at bp+16, 8 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+16 /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+40227 /* "PRAGMA schema_ve..." */) + ts+40242 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There // is already a transaction open, so the prepared statement cannot @@ -209304,7 +209812,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40249 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40264 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) } } } @@ -209329,7 +209837,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+176 /* &pInsert */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+40276, /* "INSERT OR REPLAC..." */ + ts+40291, /* "INSERT OR REPLAC..." */ libc.VaList(bp, p+48, /* &.zStateDb */ RBU_STATE_STAGE, eStage, RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl, @@ -209374,9 +209882,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+40 /* &pPragma */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+40434 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) + Xsqlite3_mprintf(tls, ts+40449 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */)))) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40449, /* "PRAGMA main.%s =..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40464, /* "PRAGMA main.%s =..." */ libc.VaList(bp+16, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */)), 0))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */))) @@ -209393,11 +209901,11 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * *(*uintptr)(unsafe.Pointer(bp /* pSql */)) = uintptr(0) *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40469 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40484 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+40494 /* "SELECT sql FROM ..." */) + ts+40509 /* "SELECT sql FROM ..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -209411,12 +209919,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pSql */, (p + 64 /* &.zErrmsg */), - ts+40602 /* "SELECT * FROM sq..." */) + ts+40617 /* "SELECT * FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8 /* &pInsert */, (p + 64 /* &.zErrmsg */), - ts+40667 /* "INSERT INTO sqli..." */) + ts+40682 /* "INSERT INTO sqli..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -209428,7 +209936,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pInsert */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40711 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40726 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) @@ -209450,8 +209958,8 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // when this handle was opened, create the target database schema. if (((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FnProgress == 0)) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { rbuCreateTargetSchema(tls, p) - rbuCopyPragma(tls, p, ts+23755 /* "user_version" */) - rbuCopyPragma(tls, p, ts+22844 /* "application_id" */) + rbuCopyPragma(tls, p, ts+23770 /* "user_version" */) + rbuCopyPragma(tls, p, ts+22859 /* "application_id" */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl != 0) { @@ -209462,7 +209970,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // But the contents can be deleted. 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+40736 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + ts+40751 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) } } else { rbuObjIterPrepareAll(tls, p, pIter, 0) @@ -209488,10 +209996,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: rbuSaveState(tls, p, RBU_STAGE_MOVE) rbuIncrSchemaCookie(tls, p) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+21107 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+21122 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+21107 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+21122 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_MOVE } @@ -209608,7 +210116,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 if (rc == SQLITE_OK) && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+40764 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+40779 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -209627,7 +210135,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ bp := tls.Alloc(16) defer tls.Free(16) - var zOal uintptr = rbuMPrintf(tls, p, ts+40213 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) + var zOal uintptr = rbuMPrintf(tls, p, ts+40228 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { var pVfs uintptr = Xsqlite3_vfs_find(tls, uintptr(0)) @@ -209649,7 +210157,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ // var zRnd [64]int8 at bp+20, 64 Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+16 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+20 /* &zRnd[0] */, ts+40789 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* rnd */)))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+20 /* &zRnd[0] */, ts+40804 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* rnd */)))) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+20 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+20 /* &zRnd[0] */) @@ -209688,7 +210196,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / rc = prepareFreeAndCollectError(tls, db, bp+16 /* &pStmt */, bp+24, /* &zErrmsg */ Xsqlite3_mprintf(tls, - ts+40800 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) + ts+40815 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) if rc != SQLITE_OK { Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrmsg */)), -1) } else { @@ -209731,7 +210239,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+40872 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + ts+40887 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuIndexCntFunc})), uintptr(0), uintptr(0)) @@ -209739,7 +210247,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ // occurs, nPhaseOneStep will be left set to -1. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+40886 /* "SELECT 1 FROM sq..." */) + ts+40901 /* "SELECT 1 FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { @@ -209751,7 +210259,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (bExists != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp /* &pStmt */, (p + 64 /* &.zErrmsg */), - ts+40943 /* "SELECT sum(cnt *..." */) + ts+40958 /* "SELECT sum(cnt *..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */)), 0) @@ -209797,7 +210305,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) libc.Xmemcpy(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, zRbu, (nRbu + uint64(1))) pCsr += (uintptr(nRbu + uint64(1))) if zState != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+936 /* "%s" */, libc.VaList(bp, zState)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+951 /* "%s" */, libc.VaList(bp, zState)) } // If the first attempt to open the database file fails and the bRetry @@ -209834,7 +210342,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+41017 /* "cannot update wa..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+41032 /* "cannot update wa..." */, 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 @@ -209856,12 +210364,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // transaction is committed in rollback mode) currently stored on // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+41049, /* "database modifie..." */ + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+41064, /* "database modifie..." */ libc.VaList(bp+16, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 41081 /* "vacuum" */ + return ts + 41096 /* "vacuum" */ } - return ts + 41088 /* "update" */ + return ts + 41103 /* "update" */ }())) } } @@ -209869,7 +210377,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { var db uintptr = (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+21092 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+21107 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) // Point the object iterator at the first object if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -209883,24 +210391,24 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_DONE } else { if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuState)(unsafe.Pointer(pState)).FeStage == 0)) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { - rbuCopyPragma(tls, p, ts+23480 /* "page_size" */) - rbuCopyPragma(tls, p, ts+22859 /* "auto_vacuum" */) + rbuCopyPragma(tls, p, ts+23495 /* "page_size" */) + rbuCopyPragma(tls, p, ts+22874 /* "auto_vacuum" */) } // Open transactions both databases. The *-oal file is opened or // created at this point. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+41095 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+41110 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Check if the main database is a zipvfs db. If it is, set the upper // level pager to use "journal_mode=off". This prevents it from // generating a large journal using a temp file. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var frc int32 = Xsqlite3_file_control(tls, db, ts+13128 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) + var frc int32 = Xsqlite3_file_control(tls, db, ts+13143 /* "main" */, SQLITE_FCNTL_ZIPVFS, uintptr(0)) if frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, - db, ts+41111 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + db, ts+41126 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } } @@ -209953,7 +210461,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+41135 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { + if (n >= 7) && (0 == libc.Xmemcmp(tls, ts+41150 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { return rbuMisuseError(tls) } } @@ -209983,7 +210491,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) { /* sqlite3.c:204232:13: */ 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+39186 /* "rbu_imp_" */, uint64(8)) == 0 { + if libc.Xmemcmp(tls, ((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i)), ts+39201 /* "rbu_imp_" */, 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++ @@ -210002,7 +210510,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // Commit the transaction to the *-oal file. if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+21107 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+21122 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Sync the db file if currently doing an incremental checkpoint @@ -210014,7 +210522,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq rbuSaveState(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL) { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+21107 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+21122 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Close any open statement handles. @@ -210026,7 +210534,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sq // specifying the current target and state databases to start a new // vacuum from scratch. 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+41143 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) + var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+41158 /* "DELETE FROM stat..." */, uintptr(0), uintptr(0), uintptr(0)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) && (rc2 != SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -210125,7 +210633,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+21107 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+21122 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -210142,19 +210650,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:204384 if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+21107 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+21122 /* "COMMIT" */, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { var zBegin uintptr if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - zBegin = ts + 21092 /* "BEGIN" */ + zBegin = ts + 21107 /* "BEGIN" */ } else { - zBegin = ts + 41095 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 41110 /* "BEGIN IMMEDIATE" */ } 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+41095 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+41110 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -210558,7 +211066,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+24 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR - (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+41170 /* "rbu/zipvfs setup..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+41185 /* "rbu/zipvfs setup..." */, 0) } else if rc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p (*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu @@ -210581,7 +211089,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+41193 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + var zOut uintptr = Xsqlite3_mprintf(tls, ts+41208 /* "rbu(%s)/%z" */, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = SQLITE_NOMEM @@ -210744,7 +211252,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags // This call is to open a *-wal file. Intead, open the *-oal. var nOpen Size_t if (*Sqlite3rbu)(unsafe.Pointer(((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu))).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+13128 /* "main" */) + zOpen = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, ts+13143 /* "main" */) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -210759,7 +211267,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+41204 /* "rbu_memory" */, 0) != 0) { + (Xsqlite3_uri_boolean(tls, zName, ts+41219 /* "rbu_memory" */, 0) != 0) { oflags = ((((SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -211071,7 +211579,7 @@ var zDbstatSchema = // 9 Size of the page (sum for aggregate) // 10 Database schema being analyzed // 11 aggregate info for each table -*(*[258]int8)(unsafe.Pointer(ts + 41215 /* "CREATE TABLE x( ..." */)) /* sqlite3.c:205427:19 */ +*(*[258]int8)(unsafe.Pointer(ts + 41230 /* "CREATE TABLE x( ..." */)) /* sqlite3.c:205427:19 */ // Forward reference to data structured used in this module type StatTable1 = struct { @@ -211152,7 +211660,7 @@ func statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp Xsqlite3TokenInit(tls, bp+16 /* &nm */, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = Xsqlite3FindDb(tls, db, bp+16 /* &nm */) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+18462 /* "no such database..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+18477 /* "no such database..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return SQLITE_ERROR } } else { @@ -211675,7 +212183,7 @@ __5: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __6 } - (*StatPage)(unsafe.Pointer((pCsr + 24 /* &.aPage */))).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+41473 /* "/" */, 0)) + (*StatPage)(unsafe.Pointer((pCsr + 24 /* &.aPage */))).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+41488 /* "/" */, 0)) if !(z == uintptr(0)) { goto __7 } @@ -211733,9 +212241,9 @@ __14: } (*StatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*StatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*StatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*U32)(unsafe.Pointer((*StatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 41475 /* "overflow" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 41490 /* "overflow" */ (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, - ts+41484 /* "%s%.3x+%.6x" */, libc.VaList(bp, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell, iOvfl))) + ts+41499 /* "%s%.3x+%.6x" */, libc.VaList(bp, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell, iOvfl))) if z == uintptr(0) { return SQLITE_NOMEM } @@ -211803,7 +212311,7 @@ __23: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __24 } - (*StatPage)(unsafe.Pointer(p + 1*64)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+41496 /* "%s%.3x/" */, libc.VaList(bp+32, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) + (*StatPage)(unsafe.Pointer(p + 1*64)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+41511 /* "%s%.3x/" */, libc.VaList(bp+32, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) if !(z == uintptr(0)) { goto __25 } @@ -211846,14 +212354,14 @@ __2: goto __28 __29: // table internal __30: // index internal - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 41504 /* "internal" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 41519 /* "internal" */ goto __28 __31: // table leaf __32: // index leaf - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 41513 /* "leaf" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 41528 /* "leaf" */ goto __28 __33: - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 41518 /* "corrupted" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 41533 /* "corrupted" */ goto __28 __28: ; @@ -211868,7 +212376,7 @@ __34: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __35 } - (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+56, (*StatPage)(unsafe.Pointer(p1)).FzPath))) + (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+56, (*StatPage)(unsafe.Pointer(p1)).FzPath))) if !(z == uintptr(0)) { goto __36 } @@ -211957,13 +212465,13 @@ func statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, ar pSql = Xsqlite3_str_new(tls, (*StatTable)(unsafe.Pointer(pTab)).Fdb) Xsqlite3_str_appendf(tls, pSql, - ts+41528, /* "SELECT * FROM (S..." */ + ts+41543, /* "SELECT * FROM (S..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*StatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb+uintptr((*StatCursor)(unsafe.Pointer(pCsr)).FiDb)*32)).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, ts+41683 /* "WHERE name=%Q" */, libc.VaList(bp+16, zName)) + Xsqlite3_str_appendf(tls, pSql, ts+41698 /* "WHERE name=%Q" */, libc.VaList(bp+16, zName)) } if (idxNum & 0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, ts+41697 /* " ORDER BY name" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+41712 /* " ORDER BY name" */, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -212048,7 +212556,7 @@ func statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqlite // Invoke this routine to register the "dbstat" virtual table module func Xsqlite3DbstatRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:206190:20: */ - return Xsqlite3_create_module(tls, db, ts+41712 /* "dbstat" */, uintptr(unsafe.Pointer(&dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, ts+41727 /* "dbstat" */, uintptr(unsafe.Pointer(&dbstat_module)), uintptr(0)) } var dbstat_module = Sqlite3_module{ // iVersion @@ -212163,7 +212671,7 @@ func dbpageConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_DIRECTONLY, 0) rc = Xsqlite3_declare_vtab(tls, db, - ts+41719 /* "CREATE TABLE x(p..." */) + ts+41734 /* "CREATE TABLE x(p..." */) if rc == SQLITE_OK { pTab = Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(DbpageTable{}))) if pTab == uintptr(0) { @@ -212411,14 +212919,14 @@ func dbpageUpdate(tls *libc.TLS, pVtab uintptr, argc int32, argv uintptr, pRowid if !(((*Sqlite3)(unsafe.Pointer((*DbpageTable)(unsafe.Pointer(pTab)).Fdb)).Fflags & uint64(SQLITE_Defensive)) != 0) { goto __1 } - zErr = ts + 41786 /* "read-only" */ + zErr = ts + 41801 /* "read-only" */ goto update_fail __1: ; if !(argc == 1) { goto __2 } - zErr = ts + 41796 /* "cannot delete" */ + zErr = ts + 41811 /* "cannot delete" */ goto update_fail __2: ; @@ -212426,7 +212934,7 @@ __2: if !(Pgno(Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) != pgno) { goto __3 } - zErr = ts + 41810 /* "cannot insert" */ + zErr = ts + 41825 /* "cannot insert" */ goto update_fail __3: ; @@ -212439,7 +212947,7 @@ __3: if !(iDb < 0) { goto __4 } - zErr = ts + 41824 /* "no such schema" */ + zErr = ts + 41839 /* "no such schema" */ goto update_fail __4: ; @@ -212447,7 +212955,7 @@ __4: if !(((pgno < Pgno(1)) || (pBt == uintptr(0))) || (pgno > Pgno(int32(Xsqlite3BtreeLastPage(tls, pBt))))) { goto __5 } - zErr = ts + 41839 /* "bad page number" */ + zErr = ts + 41854 /* "bad page number" */ goto update_fail __5: ; @@ -212456,7 +212964,7 @@ __5: (Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))) != szPage)) { goto __6 } - zErr = ts + 41855 /* "bad page value" */ + zErr = ts + 41870 /* "bad page value" */ goto update_fail __6: ; @@ -212481,7 +212989,7 @@ __7: update_fail: Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, zErr)) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, zErr)) return SQLITE_ERROR } @@ -212503,7 +213011,7 @@ func dbpageBegin(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:206594:12: * // Invoke this routine to register the "dbpage" virtual table module func Xsqlite3DbpageRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:206609:20: */ - return Xsqlite3_create_module(tls, db, ts+41870 /* "sqlite_dbpage" */, uintptr(unsafe.Pointer(&dbpage_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, ts+41885 /* "sqlite_dbpage" */, uintptr(unsafe.Pointer(&dbpage_module)), uintptr(0)) } var dbpage_module = Sqlite3_module{ // iVersion @@ -212526,6 +213034,5611 @@ var dbpage_module = Sqlite3_module{ // iVersion //************* End of dbpage.c ********************************************* //************* Begin file sqlite3session.c ********************************* +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable1 = struct { + FpNext uintptr + FzName uintptr + FnCol int32 + FbStat1 int32 + FazCol uintptr + FabPK uintptr + FnEntry int32 + FnChange int32 + FapChange uintptr +} /* sqlite3.c:11155:9 */ + +//************* End of dbpage.c ********************************************* +//************* Begin file sqlite3session.c ********************************* + +// #include "sqlite3session.h" +// #include +// #include + +type SessionTable = SessionTable1 /* sqlite3.c:206655:29 */ +type SessionChange1 = struct { + Fop U8 + FbIndirect U8 + _ [2]byte + FnMaxSize int32 + FnRecord int32 + _ [4]byte + FaRecord uintptr + FpNext uintptr +} /* sqlite3.c:11155:9 */ + +type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ +type SessionBuffer1 = struct { + FaBuf uintptr + FnBuf int32 + FnAlloc int32 +} /* sqlite3.c:11163:9 */ + +type SessionBuffer = SessionBuffer1 /* sqlite3.c:206657:30 */ +type SessionInput1 = struct { + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + _ [4]byte + FaData uintptr + FnData int32 + _ [4]byte + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 + _ [4]byte +} /* sqlite3.c:11163:9 */ + +type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ + +// Minimum chunk size used by streaming versions of functions. + +var sessions_strm_chunk_size int32 = SESSIONS_STRM_CHUNK_SIZE /* sqlite3.c:206671:12 */ + +type SessionHook1 = struct { + FpCtx uintptr + FxOld uintptr + FxNew uintptr + FxCount uintptr + FxDepth uintptr +} /* sqlite3.c:11155:9 */ + +type SessionHook = SessionHook1 /* sqlite3.c:206673:28 */ + +// Write a varint with value iVal into the buffer at aBuf. Return the +// number of bytes written. +func sessionVarintPut(tls *libc.TLS, aBuf uintptr, iVal int32) int32 { /* sqlite3.c:206951:12: */ + return int32(func() uint8 { + if (U32(iVal)) < U32(0x80) { + return uint8(func() int32 { *(*U8)(unsafe.Pointer(aBuf)) = uint8(iVal); return 1 }()) + } + return uint8(Xsqlite3PutVarint(tls, aBuf, uint64(iVal))) + }()) +} + +// Return the number of bytes required to store value iVal as a varint. +func sessionVarintLen(tls *libc.TLS, iVal int32) int32 { /* sqlite3.c:206958:12: */ + return Xsqlite3VarintLen(tls, uint64(iVal)) +} + +// Read a varint value from aBuf[] into *piVal. Return the number of +// bytes read. +func sessionVarintGet(tls *libc.TLS, aBuf uintptr, piVal uintptr) int32 { /* sqlite3.c:206966:12: */ + return int32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer(aBuf))) < int32(U8(0x80)) { + return uint8(func() int32 { (*(*int32)(unsafe.Pointer(piVal))) = int32(U32(*(*U8)(unsafe.Pointer(aBuf)))); return 1 }()) + } + return Xsqlite3GetVarint32(tls, aBuf, piVal) + }()) +} + +// Load an unaligned and unsigned 32-bit integer + +// Read a 64-bit big-endian integer value from buffer aRec[]. Return +// the value read. +func sessionGetI64(tls *libc.TLS, aRec uintptr) Sqlite3_int64 { /* sqlite3.c:206977:22: */ + var x U64 = (U64((((U32(*(*U8)(unsafe.Pointer((aRec)))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec) + 3))))) + var y U32 = ((((U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4))))) << 24) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 1))) << 16))) | (U32(int32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 2))) << 8))) | U32(*(*U8)(unsafe.Pointer((aRec + uintptr(4)) + 3)))) + x = ((x << 32) + U64(y)) + return Sqlite3_int64(x) +} + +// Write a 64-bit big-endian integer value to the buffer aBuf[]. +func sessionPutI64(tls *libc.TLS, aBuf uintptr, i Sqlite3_int64) { /* sqlite3.c:206987:13: */ + *(*U8)(unsafe.Pointer(aBuf)) = (U8((i >> 56) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 1)) = (U8((i >> 48) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 2)) = (U8((i >> 40) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 3)) = (U8((i >> 32) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 4)) = (U8((i >> 24) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 5)) = (U8((i >> 16) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 6)) = (U8((i >> 8) & int64(0xFF))) + *(*U8)(unsafe.Pointer(aBuf + 7)) = (U8((i >> 0) & int64(0xFF))) +} + +// This function is used to serialize the contents of value pValue (see +// comment titled "RECORD FORMAT" above). +// +// If it is non-NULL, the serialized form of the value is written to +// buffer aBuf. *pnWrite is set to the number of bytes written before +// returning. Or, if aBuf is NULL, the only thing this function does is +// set *pnWrite. +// +// If no error occurs, SQLITE_OK is returned. Or, if an OOM error occurs +// within a call to sqlite3_value_text() (may fail if the db is utf-16)) +// SQLITE_NOMEM is returned. +func sessionSerializeValue(tls *libc.TLS, aBuf uintptr, pValue uintptr, pnWrite uintptr) int32 { /* sqlite3.c:207011:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var nByte int32 // Size of serialized value in bytes + + if pValue != 0 { + var eType int32 // Value type (SQLITE_NULL, TEXT etc.) + + eType = Xsqlite3_value_type(tls, pValue) + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(eType) + } + + switch eType { + case SQLITE_NULL: + nByte = 1 + break + fallthrough + + case SQLITE_INTEGER: + fallthrough + case SQLITE_FLOAT: + if aBuf != 0 { + // TODO: SQLite does something special to deal with mixed-endian + // floating point values (e.g. ARM7). This code probably should + // too. + // var i U64 at bp, 8 + + if eType == SQLITE_INTEGER { + *(*U64)(unsafe.Pointer(bp /* i */)) = U64(Xsqlite3_value_int64(tls, pValue)) + } else { + // var r float64 at bp+8, 8 + + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_value_double(tls, pValue) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint64(8)) + } + sessionPutI64(tls, (aBuf + 1), int64(*(*U64)(unsafe.Pointer(bp /* i */)))) + } + nByte = 9 + break + fallthrough + + default: + { + var z uintptr + var n int32 + var nVarint int32 + + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, pValue) + } else { + z = Xsqlite3_value_blob(tls, pValue) + } + n = Xsqlite3_value_bytes(tls, pValue) + if (z == uintptr(0)) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + nVarint = sessionVarintLen(tls, n) + + if aBuf != 0 { + sessionVarintPut(tls, (aBuf + 1), n) + if n != 0 { + libc.Xmemcpy(tls, (aBuf + uintptr((nVarint + 1))), z, uint64(n)) + } + } + + nByte = ((1 + nVarint) + n) + break + + } + } + } else { + nByte = 1 + if aBuf != 0 { + *(*U8)(unsafe.Pointer(aBuf)) = U8(0) + } + } + + if pnWrite != 0 { + *(*Sqlite3_int64)(unsafe.Pointer(pnWrite)) += (Sqlite3_int64(nByte)) + } + return SQLITE_OK +} + +// Allocate and return a pointer to a buffer nByte bytes in size. If +// pSession is not NULL, increase the sqlite3_session.nMalloc variable +// by the number of bytes allocated. +func sessionMalloc64(tls *libc.TLS, pSession uintptr, nByte I64) uintptr { /* sqlite3.c:207087:13: */ + var pRet uintptr = Xsqlite3_malloc64(tls, uint64(nByte)) + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) += I64((Xsqlite3_msize(tls, pRet))) + } + return pRet +} + +// Free buffer pFree, which must have been allocated by an earlier +// call to sessionMalloc64(). If pSession is not NULL, decrease the +// sqlite3_session.nMalloc counter by the number of bytes freed. +func sessionFree(tls *libc.TLS, pSession uintptr, pFree uintptr) { /* sqlite3.c:207098:13: */ + if pSession != 0 { + *(*I64)(unsafe.Pointer(pSession + 56 /* &.nMalloc */)) -= I64((Xsqlite3_msize(tls, pFree))) + } + Xsqlite3_free(tls, pFree) +} + +// This macro is used to calculate hash key values for data structures. In +// order to use this macro, the entire data structure must be represented +// as a series of unsigned integers. In order to calculate a hash-key value +// for a data structure represented as three such integers, the macro may +// then be used as follows: +// +// int hash_key_value; +// hash_key_value = HASH_APPEND(0, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// hash_key_value = HASH_APPEND(hash_key_value, ); +// +// In practice, the data structures this macro is used for are the primary +// key values of modified rows. + +// Append the hash of the 64-bit integer passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendI64(tls *libc.TLS, h uint32, i I64) uint32 { /* sqlite3.c:207124:21: */ + h = ((((h) << 3) ^ (h)) ^ (uint32(i & int64(0xFFFFFFFF)))) + return ((((h) << 3) ^ (h)) ^ (uint32((i >> 32) & int64(0xFFFFFFFF)))) +} + +// Append the hash of the blob passed via the second and third arguments to +// the hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendBlob(tls *libc.TLS, h uint32, n int32, z uintptr) uint32 { /* sqlite3.c:207133:21: */ + var i int32 + for i = 0; i < n; i++ { + h = ((((h) << 3) ^ (h)) ^ (uint32(*(*U8)(unsafe.Pointer(z + uintptr(i)))))) + } + return h +} + +// Append the hash of the data type passed as the second argument to the +// hash-key value passed as the first. Return the new hash-key value. +func sessionHashAppendType(tls *libc.TLS, h uint32, eType int32) uint32 { /* sqlite3.c:207143:21: */ + return ((((h) << 3) ^ (h)) ^ (uint32(eType))) +} + +// This function may only be called from within a pre-update callback. +// It calculates a hash based on the primary key values of the old.* or +// new.* row currently available and, assuming no error occurs, writes it to +// *piHash before returning. If the primary key contains one or more NULL +// values, *pbNullPK is set to true before returning. +// +// If an error occurs, an SQLite error code is returned and the final values +// of *piHash asn *pbNullPK are undefined. Otherwise, SQLITE_OK is returned +// and the output variables are set as described above. +func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew int32, piHash uintptr, pbNullPK uintptr) int32 { /* sqlite3.c:207158:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var h uint32 = uint32(0) // Hash value to return + var i int32 // Used to iterate through columns + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0 { + var rc int32 + var eType int32 + // var pVal uintptr at bp, 8 + + if bNew != 0 { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } else { + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) + } + if rc != SQLITE_OK { + return rc + } + + eType = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var iVal I64 at bp+8, 8 + + if eType == SQLITE_INTEGER { + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + *(*float64)(unsafe.Pointer(bp + 16 /* rVal */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + + libc.Xmemcpy(tls, bp+8 /* &iVal */, bp+16 /* &rVal */, uint64(8)) + } + h = sessionHashAppendI64(tls, h, *(*I64)(unsafe.Pointer(bp + 8 /* iVal */))) + } else if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + var z uintptr + var n int32 + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + n = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + if !(z != 0) && ((eType != SQLITE_BLOB) || (n > 0)) { + return SQLITE_NOMEM + } + h = sessionHashAppendBlob(tls, h, n, z) + } else { + + *(*int32)(unsafe.Pointer(pbNullPK)) = 1 + } + } + } + + *(*int32)(unsafe.Pointer(piHash)) = (int32(h % uint32((*SessionTable)(unsafe.Pointer(pTab)).FnChange))) + return SQLITE_OK +} + +// The buffer that the argument points to contains a serialized SQL value. +// Return the number of bytes of space occupied by the value (including +// the type byte). +func sessionSerialLen(tls *libc.TLS, a uintptr) int32 { /* sqlite3.c:207223:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var e int32 = int32(*(*U8)(unsafe.Pointer(a))) + // var n int32 at bp, 4 + + if (e == 0) || (e == 0xFF) { + return 1 + } + if e == SQLITE_NULL { + return 1 + } + if (e == SQLITE_INTEGER) || (e == SQLITE_FLOAT) { + return 9 + } + return ((sessionVarintGet(tls, (a+1), bp /* &n */) + 1) + *(*int32)(unsafe.Pointer(bp /* n */))) +} + +// Based on the primary key values stored in change aRecord, calculate a +// hash key. Assume the has table has nBucket buckets. The hash keys +// calculated by this function are compatible with those calculated by +// sessionPreupdateHash(). +// +// The bPkOnly argument is non-zero if the record at aRecord[] is from +// a patchset DELETE. In this case the non-PK fields are omitted entirely. +func sessionChangeHash(tls *libc.TLS, pTab uintptr, bPkOnly int32, aRecord uintptr, nBucket int32) uint32 { /* sqlite3.c:207241:21: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var h uint32 = uint32(0) // Value to return + var i int32 // Used to iterate through columns + var a uintptr = aRecord // Used to iterate through change record + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(a))) + var isPK int32 = int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) + if (bPkOnly != 0) && (isPK == 0) { + continue + } + + // It is not possible for eType to be SQLITE_NULL here. The session + // module does not record changes for rows with NULL values stored in + // primary key columns. + + if isPK != 0 { + a++ + h = sessionHashAppendType(tls, h, eType) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + h = sessionHashAppendI64(tls, h, sessionGetI64(tls, a)) + a += uintptr(8) + } else { + // var n int32 at bp, 4 + + a += uintptr(sessionVarintGet(tls, a, bp /* &n */)) + h = sessionHashAppendBlob(tls, h, *(*int32)(unsafe.Pointer(bp /* n */)), a) + a += uintptr(*(*int32)(unsafe.Pointer(bp /* n */))) + } + } else { + a += uintptr(sessionSerialLen(tls, a)) + } + } + return (h % uint32(nBucket)) +} + +// Arguments aLeft and aRight are pointers to change records for table pTab. +// This function returns true if the two records apply to the same row (i.e. +// have the same values stored in the primary key columns), or false +// otherwise. +func sessionChangeEqual(tls *libc.TLS, pTab uintptr, bLeftPkOnly int32, aLeft uintptr, bRightPkOnly int32, aRight uintptr) int32 { /* sqlite3.c:207290:12: */ + var a1 uintptr = aLeft // Cursor to iterate through aLeft + var a2 uintptr = aRight // Cursor to iterate through aRight + var iCol int32 // Used to iterate through table columns + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol))) != 0 { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + + if (n1 != n2) || (libc.Xmemcmp(tls, a1, a2, uint64(n1)) != 0) { + return 0 + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } else { + if bLeftPkOnly == 0 { + a1 += uintptr(sessionSerialLen(tls, a1)) + } + if bRightPkOnly == 0 { + a2 += uintptr(sessionSerialLen(tls, a2)) + } + } + } + + return 1 +} + +// Arguments aLeft and aRight both point to buffers containing change +// records with nCol columns. This function "merges" the two records into +// a single records which is written to the buffer at *paOut. *paOut is +// then set to point to one byte after the last byte written before +// returning. +// +// The merging of records is done as follows: For each column, if the +// aRight record contains a value for the column, copy the value from +// their. Otherwise, if aLeft contains a value, copy it. If neither +// record contains a value for a given column, then neither does the +// output record. +func sessionMergeRecord(tls *libc.TLS, paOut uintptr, nCol int32, aLeft uintptr, aRight uintptr) { /* sqlite3.c:207333:13: */ + var a1 uintptr = aLeft // Cursor used to iterate through aLeft + var a2 uintptr = aRight // Cursor used to iterate through aRight + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) // Output cursor + var iCol int32 // Used to iterate from 0 to nCol + + for iCol = 0; iCol < nCol; iCol++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + libc.Xmemcpy(tls, aOut, a2, uint64(n2)) + aOut += uintptr(n2) + } else { + libc.Xmemcpy(tls, aOut, a1, uint64(n1)) + aOut += uintptr(n1) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut +} + +// This is a helper function used by sessionMergeUpdate(). +// +// When this function is called, both *paOne and *paTwo point to a value +// within a change record. Before it returns, both have been advanced so +// as to point to the next value in the record. +// +// If, when this function is called, *paTwo points to a valid value (i.e. +// *paTwo[0] is not 0x00 - the "no value" placeholder), a copy of the *paTwo +// pointer is returned and *pnVal is set to the number of bytes in the +// serialized value. Otherwise, a copy of *paOne is returned and *pnVal +// set to the number of bytes in the value at *paOne. If *paOne points +// to the "no value" placeholder, *pnVal is set to 1. In other words: +// +// if( *paTwo is valid ) return *paTwo; +// return *paOne; +// +func sessionMergeValue(tls *libc.TLS, paOne uintptr, paTwo uintptr, pnVal uintptr) uintptr { /* sqlite3.c:207379:11: */ + var a1 uintptr = *(*uintptr)(unsafe.Pointer(paOne)) + var a2 uintptr = *(*uintptr)(unsafe.Pointer(paTwo)) + var pRet uintptr = uintptr(0) + var n1 int32 + + if a2 != 0 { + var n2 int32 = sessionSerialLen(tls, a2) + if *(*U8)(unsafe.Pointer(a2)) != 0 { + *(*int32)(unsafe.Pointer(pnVal)) = n2 + pRet = a2 + } + *(*uintptr)(unsafe.Pointer(paTwo)) = (a2 + uintptr(n2)) + } + + n1 = sessionSerialLen(tls, a1) + if pRet == uintptr(0) { + *(*int32)(unsafe.Pointer(pnVal)) = n1 + pRet = a1 + } + *(*uintptr)(unsafe.Pointer(paOne)) = (a1 + uintptr(n1)) + + return pRet +} + +// This function is used by changeset_concat() to merge two UPDATE changes +// on the same row. +func sessionMergeUpdate(tls *libc.TLS, paOut uintptr, pTab uintptr, bPatchset int32, aOldRecord1 uintptr, aOldRecord2 uintptr, aNewRecord1 uintptr, aNewRecord2 uintptr) int32 { /* sqlite3.c:207413:12: */ + bp := tls.Alloc(52) + defer tls.Free(52) + + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + + var aOut uintptr = *(*uintptr)(unsafe.Pointer(paOut)) + var i int32 + + if bPatchset == 0 { + var bRequired int32 = 0 + + // Write the old.* vector first. + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+16, 4 + + var aOld uintptr + // var nNew int32 at bp+40, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+16 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+40 /* &nNew */) + if ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)) != *(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) || (libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nNew */)))) != 0) { + if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + bRequired = 1 + } + libc.Xmemcpy(tls, aOut, aOld, uint64(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* nOld */))) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } + } + + if !(bRequired != 0) { + return 0 + } + } + + // Write the new.* vector + *(*uintptr)(unsafe.Pointer(bp /* aOld1 */)) = aOldRecord1 + *(*uintptr)(unsafe.Pointer(bp + 8 /* aOld2 */)) = aOldRecord2 + *(*uintptr)(unsafe.Pointer(bp + 24 /* aNew1 */)) = aNewRecord1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* aNew2 */)) = aNewRecord2 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + // var nOld int32 at bp+44, 4 + + var aOld uintptr + // var nNew int32 at bp+48, 4 + + var aNew uintptr + + aOld = sessionMergeValue(tls, bp /* &aOld1 */, bp+8 /* &aOld2 */, bp+44 /* &nOld */) + aNew = sessionMergeValue(tls, bp+24 /* &aNew1 */, bp+32 /* &aNew2 */, bp+48 /* &nNew */) + if (bPatchset == 0) && + ((*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) || ((*(*int32)(unsafe.Pointer(bp + 44 /* nOld */)) == *(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) && (0 == libc.Xmemcmp(tls, aOld, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))))))) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aOut, 1))) = U8(0) + } else { + libc.Xmemcpy(tls, aOut, aNew, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */)))) + aOut += uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* nNew */))) + } + } + + *(*uintptr)(unsafe.Pointer(paOut)) = aOut + return 1 +} + +// This function is only called from within a pre-update-hook callback. +// It determines if the current pre-update-hook change affects the same row +// as the change stored in argument pChange. If so, it returns true. Otherwise +// if the pre-update-hook does not affect the same row as pChange, it returns +// false. +func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChange uintptr, op int32) int32 { /* sqlite3.c:207490:12: */ + bp := tls.Alloc(28) + defer tls.Free(28) + + var iCol int32 // Used to iterate through columns + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord // Cursor used to scan change record + + for iCol = 0; iCol < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; iCol++ { + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(iCol)))) != 0) { + a += uintptr(sessionSerialLen(tls, a)) + } else { + // var pVal uintptr at bp, 8 + // Value returned by preupdate_new/old + var rc int32 + _ = rc // Error code from preupdate_new/old + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) // Type of value from change record + + // The following calls to preupdate_new() and preupdate_old() can not + // fail. This is because they cache their return values, and by the + // time control flows to here they have already been called once from + // within sessionPreupdateHash(). The first two asserts below verify + // this (that the method has already been called). + if op == SQLITE_INSERT { + // assert( db->pPreUpdate->pNewUnpacked || db->pPreUpdate->aNew ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } else { + // assert( db->pPreUpdate->pUnpacked ); + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) + } + + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { + return 0 + } + + // A SessionChange object never has a NULL value in a PK column + + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, a) + a += uintptr(8) + if eType == SQLITE_INTEGER { + if Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*I64)(unsafe.Pointer(bp + 16 /* iVal */)) { + return 0 + } + } else { + // var rVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &rVal */, bp+16 /* &iVal */, uint64(8)) + if Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*float64)(unsafe.Pointer(bp + 8 /* rVal */)) { + return 0 + } + } + } else { + // var n int32 at bp+24, 4 + + var z uintptr + a += uintptr(sessionVarintGet(tls, a, bp+24 /* &n */)) + if Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != *(*int32)(unsafe.Pointer(bp + 24 /* n */)) { + return 0 + } + if eType == SQLITE_TEXT { + z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } else { + z = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + if (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) > 0) && (libc.Xmemcmp(tls, a, z, uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))) != 0) { + return 0 + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* n */))) + } + } + } + + return 1 +} + +// If required, grow the hash table used to store changes on table pTab +// (part of the session pSession). If a fatal OOM error occurs, set the +// session object to failed and return SQLITE_ERROR. Otherwise, return +// SQLITE_OK. +// +// It is possible that a non-fatal OOM error occurs in this function. In +// that case the hash-table does not grow, but SQLITE_OK is returned anyway. +// Growing the hash table in this case is a performance optimization only, +// it is not required for correct operation. +func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uintptr) int32 { /* sqlite3.c:207569:12: */ + if ((*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FnEntry >= ((*SessionTable)(unsafe.Pointer(pTab)).FnChange / 2)) { + var i int32 + var apNew uintptr + var nNew Sqlite3_int64 = (int64(2) * (func() int64 { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange != 0 { + return int64((*SessionTable)(unsafe.Pointer(pTab)).FnChange) + } + return int64(128) + }())) + + apNew = sessionMalloc64(tls, + pSession, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew)))) + if apNew == uintptr(0) { + if (*SessionTable)(unsafe.Pointer(pTab)).FnChange == 0 { + return SQLITE_ERROR + } + return SQLITE_OK + } + libc.Xmemset(tls, apNew, 0, (uint64(unsafe.Sizeof(uintptr(0))) * uint64(nNew))) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNext uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNext { + var bPkOnly int32 = (libc.Bool32((int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_DELETE) && (bPatchset != 0))) + var iHash int32 = int32(sessionChangeHash(tls, pTab, bPkOnly, (*SessionChange)(unsafe.Pointer(p)).FaRecord, int32(nNew))) + pNext = (*SessionChange)(unsafe.Pointer(p)).FpNext + (*SessionChange)(unsafe.Pointer(p)).FpNext = *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer(apNew + uintptr(iHash)*8)) = p + } + } + + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + (*SessionTable)(unsafe.Pointer(pTab)).FnChange = int32(nNew) + (*SessionTable)(unsafe.Pointer(pTab)).FapChange = apNew + } + + return SQLITE_OK +} + +// This function queries the database for the names of the columns of table +// zThis, in schema zDb. +// +// Otherwise, if they are not NULL, variable *pnCol is set to the number +// of columns in the database table and variable *pzTab is set to point to a +// nul-terminated copy of the table name. *pazCol (if not NULL) is set to +// point to an array of pointers to column names. And *pabPK (again, if not +// NULL) is set to point to an array of booleans - true if the corresponding +// column is part of the primary key. +// +// For example, if the table is declared as: +// +// CREATE TABLE tbl1(w, x, y, z, PRIMARY KEY(w, z)); +// +// Then the four output variables are populated as follows: +// +// *pnCol = 4 +// *pzTab = "tbl1" +// *pazCol = {"w", "x", "y", "z"} +// *pabPK = {1, 0, 0, 1} +// +// All returned buffers are part of the same single allocation, which must +// be freed using sqlite3_free() by the caller +func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var zPragma uintptr + // var pStmt uintptr at bp+24, 8 + + var rc int32 + var nByte Sqlite3_int64 + var nDbCol int32 = 0 + var nThis int32 + var i int32 + var pAlloc uintptr = uintptr(0) + var azCol uintptr = uintptr(0) + var abPK uintptr = uintptr(0) + + nThis = Xsqlite3Strlen30(tls, zThis) + if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+17923 /* "sqlite_stat1" */, zThis)) { + 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 { + // For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. + zPragma = Xsqlite3_mprintf(tls, + + ts+41899 /* "SELECT 0, 'tbl',..." */, 0) + } else if rc == SQLITE_ERROR { + zPragma = Xsqlite3_mprintf(tls, ts+915 /* "" */, 0) + } else { + return rc + } + } else { + zPragma = Xsqlite3_mprintf(tls, ts+42020 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + } + if !(zPragma != 0) { + return SQLITE_NOMEM + } + + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+24 /* &pStmt */, uintptr(0)) + Xsqlite3_free(tls, zPragma) + if rc != SQLITE_OK { + return rc + } + + nByte = (Sqlite3_int64(nThis + 1)) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1))) + nDbCol++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) + + if rc == SQLITE_OK { + nByte = Sqlite3_int64(uint64(nByte) + (uint64(nDbCol) * ((uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(U8(0)))) + uint64(1)))) + pAlloc = sessionMalloc64(tls, pSession, nByte) + if pAlloc == uintptr(0) { + rc = SQLITE_NOMEM + } + } + if rc == SQLITE_OK { + azCol = pAlloc + pAlloc = (azCol + uintptr(nDbCol)*8) + abPK = pAlloc + pAlloc = (abPK + uintptr(nDbCol)) + if pzTab != 0 { + libc.Xmemcpy(tls, pAlloc, zThis, (uint64(nThis + 1))) + *(*uintptr)(unsafe.Pointer(pzTab)) = pAlloc + pAlloc += (uintptr(nThis + 1)) + } + + i = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1) + if zName == uintptr(0) { + break + } + libc.Xmemcpy(tls, pAlloc, zName, (uint64(nName + 1))) + *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc + pAlloc += (uintptr(nName + 1)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 5)) + i++ + } + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) + + } + + // If successful, populate the output variables. Otherwise, zero them and + // free any allocation made. An error code will be returned in this case. + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pazCol)) = azCol + *(*uintptr)(unsafe.Pointer(pabPK)) = abPK + *(*int32)(unsafe.Pointer(pnCol)) = nDbCol + } else { + *(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pabPK)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnCol)) = 0 + if pzTab != 0 { + *(*uintptr)(unsafe.Pointer(pzTab)) = uintptr(0) + } + sessionFree(tls, pSession, azCol) + } + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) + return rc +} + +// This function is only called from within a pre-update handler for a +// write to table pTab, part of session pSession. If this is the first +// write to this table, initalize the SessionTable.nCol, azCol[] and +// abPK[] arrays accordingly. +// +// If an error occurs, an error code is stored in sqlite3_session.rc and +// non-zero returned. Or, if no error occurs but the table has no primary +// key, sqlite3_session.rc is left set to SQLITE_OK and non-zero returned to +// indicate that updates on this table should be ignored. SessionTable.abPK +// is set to NULL in this case. +func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* sqlite3.c:207752:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + if (*SessionTable)(unsafe.Pointer(pTab)).FnCol == 0 { + // var abPK uintptr at bp, 8 + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionTableInfo(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, + (*SessionTable)(unsafe.Pointer(pTab)).FzName, (pTab + 16 /* &.nCol */), uintptr(0), (pTab + 24 /* &.azCol */), bp /* &abPK */) + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc == SQLITE_OK { + var i int32 + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + if *(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* abPK */)) + uintptr(i))) != 0 { + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = *(*uintptr)(unsafe.Pointer(bp /* abPK */)) + break + } + } + if 0 == Xsqlite3_stricmp(tls, ts+17923 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += I64((((Size_t((1 + sessionVarintLen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol)) + libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + uint64(1))) + } + } + } + return (libc.Bool32(((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) || ((*SessionTable)(unsafe.Pointer(pTab)).FabPK == uintptr(0)))) +} + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx1 = struct { + Fhook SessionHook + FpSession uintptr +} /* sqlite3.c:207787:9 */ + +// Versions of the four methods in object SessionHook for use with the +// sqlite_stat1 table. The purpose of this is to substitute a zero-length +// blob each time a NULL value is read from the "idx" column of the +// sqlite_stat1 table. +type SessionStat1Ctx = SessionStat1Ctx1 /* sqlite3.c:207787:32 */ + +func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207792:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 8 /* &.xOld */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int32 { /* sqlite3.c:207802:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = uintptr(0) + var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 16 /* &.xNew */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx, iCol, bp /* &pVal */) + if ((rc == SQLITE_OK) && (iCol == 1)) && (Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) == SQLITE_NULL) { + *(*uintptr)(unsafe.Pointer(bp /* pVal */)) = (*Sqlite3_session)(unsafe.Pointer((*SessionStat1Ctx)(unsafe.Pointer(p)).FpSession)).FpZeroBlob + } + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp /* pVal */)) + return rc +} + +func sessionStat1Count(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207812:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 24 /* &.xCount */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionStat1Depth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:207816:12: */ + var p uintptr = pCtx + return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((p /* &.hook */ + 32 /* &.xDepth */))))(tls, (*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FpCtx) +} + +func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, pC uintptr) int32 { /* sqlite3.c:207821:12: */ + bp := tls.Alloc(44) + defer tls.Free(44) + + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = int64(2) + if int32((*SessionChange)(unsafe.Pointer(pC)).Fop) == SQLITE_INSERT { + if op != SQLITE_DELETE { + var ii int32 + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + *(*uintptr)(unsafe.Pointer(bp /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) + } + } + } else if op == SQLITE_DELETE { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + if Xsqlite3_preupdate_blobwrite(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb) >= 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord) + } + } else { + var ii int32 + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(pC)).FaRecord + for ii = 0; ii < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; ii++ { + var bChanged int32 = 1 + var nOld int32 = 0 + var eType int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) = uintptr(0) + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) + if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { + return SQLITE_NOMEM + } + + eType = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pCsr, 1)))) + switch eType { + case SQLITE_NULL: + bChanged = (libc.Bool32(Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) != SQLITE_NULL)) + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + if eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) = sessionGetI64(tls, pCsr) + if eType == SQLITE_INTEGER { + bChanged = (libc.Bool32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 32 /* iVal */)) != Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } else { + // var dVal float64 at bp+24, 8 + + libc.Xmemcpy(tls, bp+24 /* &dVal */, bp+32 /* &iVal */, uint64(8)) + bChanged = (libc.Bool32(*(*float64)(unsafe.Pointer(bp + 24 /* dVal */)) != Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) + } + } + nOld = 8 + pCsr += uintptr(8) + break + + } + fallthrough + + default: + { + // var nByte int32 at bp+40, 4 + + nOld = sessionVarintGet(tls, pCsr, bp+40 /* &nByte */) + pCsr += uintptr(nOld) + nOld = nOld + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + + if ((eType == Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)))) && + (*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))))) && + ((*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)) == 0) || (0 == libc.Xmemcmp(tls, pCsr, Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))), uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */)))))) { + bChanged = 0 + } + pCsr += uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))) + break + + } + } + + if (bChanged != 0) && (*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0) { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) = (I64((*SessionChange)(unsafe.Pointer(pC)).FnRecord + 2)) + break + } + + if bChanged != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(1 + nOld)) + sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)), bp+8 /* &nNew */) + } else if *(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(ii))) != 0 { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += (I64(2 + nOld)) + } else { + *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) += int64(2) + } + } + } + + if *(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) > I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize) { + var nIncr int32 = (int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */)) - I64((*SessionChange)(unsafe.Pointer(pC)).FnMaxSize))) + (*SessionChange)(unsafe.Pointer(pC)).FnMaxSize = int32(*(*I64)(unsafe.Pointer(bp + 8 /* nNew */))) + *(*I64)(unsafe.Pointer(pSession + 64 /* &.nMaxChangesetSize */)) += (I64(nIncr)) + } + return SQLITE_OK +} + +// This function is only called from with a pre-update-hook reporting a +// change on table pTab (attached to session pSession). The type of change +// (UPDATE, INSERT, DELETE) is specified by the first argument. +// +// Unless one is already present or an error occurs, an entry is added +// to the changed-rows hash table associated with table pTab. +func sessionPreupdateOneChange(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr) { /* sqlite3.c:207927:13: */ + bp := tls.Alloc(80) + defer tls.Free(80) + + // var iHash int32 at bp+48, 4 + + // var bNull int32 at bp+52, 4 + + var rc int32 + // var stat1 SessionStat1Ctx at bp, 48 + + var p uintptr + // var p1 uintptr at bp+56, 8 + + // var p2 uintptr at bp+72, 8 + + // Create a new change object containing all the old values (if + // this is an SQLITE_UPDATE or SQLITE_DELETE), or just the PK + // values (if this is an INSERT). + // var nByte Sqlite3_int64 at bp+64, 8 + // Number of bytes to allocate + var i int32 + // Search the hash table for an existing record for this row. + var pC uintptr + *(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) = 0 + rc = SQLITE_OK + *(*SessionStat1Ctx)(unsafe.Pointer(bp /* stat1 */)) = SessionStat1Ctx{} + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0) { + goto __1 + } + return +__1: + ; + + // Load table details if required + if !(sessionInitTable(tls, pSession, pTab) != 0) { + goto __2 + } + return +__2: + ; + + // Check the number of columns in this xPreUpdate call matches the + // number of columns in the table. + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 24 /* &.xCount */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { + goto __3 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA + return +__3: + ; + + // Grow the hash table if required + if !(sessionGrowHash(tls, pSession, 0, pTab) != 0) { + goto __4 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_NOMEM + return +__4: + ; + + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __5 + } + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook + (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).FpSession = pSession + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = bp /* &stat1 */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1New})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionStat1Old})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Count})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionStat1Depth})) + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob == uintptr(0)) { + goto __6 + } + p = Xsqlite3ValueNew(tls, uintptr(0)) + if !(p == uintptr(0)) { + goto __7 + } + rc = SQLITE_NOMEM + goto error_out +__7: + ; + Xsqlite3ValueSetStr(tls, p, 0, ts+915 /* "" */, uint8(0), uintptr(0)) + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p +__6: + ; +__5: + ; + + // Calculate the hash-key for this change. If the primary key of the row + // includes a NULL value, exit early. Such changes are ignored by the + // session module. + rc = sessionPreupdateHash(tls, pSession, pTab, (libc.Bool32(op == SQLITE_INSERT)), bp+48 /* &iHash */, bp+52 /* &bNull */) + if !(rc != SQLITE_OK) { + goto __8 + } + goto error_out +__8: + ; + + if !(*(*int32)(unsafe.Pointer(bp + 52 /* bNull */)) == 0) { + goto __9 + } + pC = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) +__10: + if !(pC != 0) { + goto __12 + } + if !(sessionPreupdateEqual(tls, pSession, pTab, pC, op) != 0) { + goto __13 + } + goto __12 +__13: + ; + goto __11 +__11: + pC = (*SessionChange)(unsafe.Pointer(pC)).FpNext + goto __10 + goto __12 +__12: + ; + + if !(pC == uintptr(0)) { + goto __14 + } // Used to iterate through columns + + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + + // Figure out how large an allocation is required + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = Sqlite3_int64(unsafe.Sizeof(SessionChange{})) + i = 0 +__16: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __18 + } + *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __19 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + + goto __20 +__19: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __21 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) + +__21: + ; +__20: + ; + + // This may fail if SQLite value p contains a utf-16 string that must + // be converted to utf-8 and an OOM error occurs while doing so. + rc = sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp + 56 /* p1 */)), bp+64 /* &nByte */) + if !(rc != SQLITE_OK) { + goto __22 + } + goto error_out +__22: + ; + goto __17 +__17: + i++ + goto __16 + goto __18 +__18: + ; + + // Allocate the change object + pC = sessionMalloc64(tls, pSession, *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + if !(!(pC != 0)) { + goto __23 + } + rc = SQLITE_NOMEM + goto error_out + goto __24 +__23: + libc.Xmemset(tls, pC, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pC)).FaRecord = (pC + 1*32) +__24: + ; + + // Populate the change object. None of the preupdate_old(), + // preupdate_new() or SerializeValue() calls below may fail as all + // required values and encodings have already been cached in memory. + // It is not possible for an OOM to occur in this block. + *(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)) = int64(0) + i = 0 +__25: + if !(i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol) { + goto __27 + } + *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)) = uintptr(0) + if !(op != SQLITE_INSERT) { + goto __28 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 8 /* &.xOld */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) + goto __29 +__28: + if !(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i))) != 0) { + goto __30 + } + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 16 /* &.xNew */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) +__30: + ; +__29: + ; + sessionSerializeValue(tls, ((*SessionChange)(unsafe.Pointer(pC)).FaRecord + uintptr(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */)))), *(*uintptr)(unsafe.Pointer(bp + 72 /* p2 */)), bp+64 /* &nByte */) + goto __26 +__26: + i++ + goto __25 + goto __27 +__27: + ; + + // Add the change to the hash-table + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { + goto __31 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) +__31: + ; + (*SessionChange)(unsafe.Pointer(pC)).FnRecord = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 64 /* nByte */))) + (*SessionChange)(unsafe.Pointer(pC)).Fop = U8(op) + (*SessionChange)(unsafe.Pointer(pC)).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* iHash */)))*8)) = pC + + goto __15 +__14: + if !((*SessionChange)(unsafe.Pointer(pC)).FbIndirect != 0) { + goto __32 + } + // If the existing change is considered "indirect", but this current + // change is "direct", mark the change object as direct. + if !(((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pSession + 96 /* &.hook */ + 32 /* &.xDepth */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && + ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { + goto __33 + } + (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(0) +__33: + ; +__32: + ; +__15: + ; + + if !((*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0) { + goto __34 + } + rc = sessionUpdateMaxSize(tls, op, pSession, pTab, pC) +__34: + ; +__9: + ; + + // If an error has occurred, mark the session object as failed. +error_out: + if !((*SessionTable)(unsafe.Pointer(pTab)).FbStat1 != 0) { + goto __35 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook = (*SessionStat1Ctx)(unsafe.Pointer(bp /* &stat1 */)).Fhook +__35: + ; + if !(rc != SQLITE_OK) { + goto __36 + } + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = rc +__36: +} + +func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uintptr) int32 { /* sqlite3.c:208076:12: */ + var rc int32 = SQLITE_OK + var nName int32 = Xsqlite3Strlen30(tls, zName) + var pRet uintptr + + // Search for an existing table + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pRet != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pRet)).FzName, zName, (nName+1)) { + break + } + } + + if (pRet == uintptr(0)) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach != 0) { + // If there is a table-filter configured, invoke it. If it returns 0, + // do not automatically add the new table. + if ((*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter == uintptr(0)) || + ((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pSession + 48 /* &.xTableFilter */))))(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx, zName) != 0) { + rc = Xsqlite3session_attach(tls, pSession, zName) + if rc == SQLITE_OK { + for pRet = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*SessionTable)(unsafe.Pointer(pRet)).FpNext != 0; pRet = (*SessionTable)(unsafe.Pointer(pRet)).FpNext { + } + + } + } + } + + *(*uintptr)(unsafe.Pointer(ppTab)) = pRet + return rc +} + +// The 'pre-update' hook registered by this module with SQLite databases. +func xPreUpdate(tls *libc.TLS, pCtx uintptr, db uintptr, op int32, zDb uintptr, zName uintptr, iKey1 Sqlite3_int64, iKey2 Sqlite3_int64) { /* sqlite3.c:208112:13: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var pSession uintptr + var nDb int32 = Xsqlite3Strlen30(tls, zDb) + + for pSession = pCtx; pSession != 0; pSession = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpNext { + // var pTab uintptr at bp, 8 + + // If this session is attached to a different database ("main", "temp" + // etc.), or if it is not currently enabled, there is nothing to do. Skip + // to the next session object attached to this database. + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable == 0 { + continue + } + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + continue + } + if Xsqlite3_strnicmp(tls, zDb, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (nDb+1)) != 0 { + continue + } + + (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = sessionFindTable(tls, pSession, zName, bp /* &pTab */) + if *(*uintptr)(unsafe.Pointer(bp /* pTab */)) != 0 { + + sessionPreupdateOneChange(tls, op, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + if op == SQLITE_UPDATE { + sessionPreupdateOneChange(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp /* pTab */))) + } + } + } +} + +// The pre-update hook implementations. +func sessionPreupdateOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208150:12: */ + return Xsqlite3_preupdate_old(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208153:12: */ + return Xsqlite3_preupdate_new(tls, pCtx, iVal, ppVal) +} + +func sessionPreupdateCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208156:12: */ + return Xsqlite3_preupdate_count(tls, pCtx) +} + +func sessionPreupdateDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208159:12: */ + return Xsqlite3_preupdate_depth(tls, pCtx) +} + +// Install the pre-update hooks on the session object passed as the only +// argument. +func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208167:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionPreupdateNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionPreupdateDepth})) +} + +type SessionDiffCtx1 = struct { + FpStmt uintptr + FnOldOff int32 + _ [4]byte +} /* sqlite3.c:208177:9 */ + +type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ + +// The diff hook implementations. +func sessionDiffOld(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208186:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, (iVal + (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff)) + return SQLITE_OK +} + +func sessionDiffNew(tls *libc.TLS, pCtx uintptr, iVal int32, ppVal uintptr) int32 { /* sqlite3.c:208191:12: */ + var p uintptr = pCtx + *(*uintptr)(unsafe.Pointer(ppVal)) = Xsqlite3_column_value(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt, iVal) + return SQLITE_OK +} + +func sessionDiffCount(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208196:12: */ + var p uintptr = pCtx + if (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff != 0 { + return (*SessionDiffCtx)(unsafe.Pointer(p)).FnOldOff + } + return Xsqlite3_column_count(tls, (*SessionDiffCtx)(unsafe.Pointer(p)).FpStmt) +} + +func sessionDiffDepth(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:208200:12: */ + return 0 +} + +// Install the diff hooks on the session object passed as the only +// argument. +func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sqlite3.c:208208:13: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx = pDiffCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffOld})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{sessionDiffNew})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffCount})) + (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth = *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr) int32 + }{sessionDiffDepth})) +} + +func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + var i int32 + var zSep uintptr = ts + 915 /* "" */ + var zRet uintptr = uintptr(0) + + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + zRet = Xsqlite3_mprintf(tls, ts+42049, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 28672 /* " AND " */ + if zRet == uintptr(0) { + break + } + } + } + + return zRet +} + +func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + var i int32 + var zSep uintptr = ts + 915 /* "" */ + var zRet uintptr = uintptr(0) + var bHave int32 = 0 + + for i = 0; i < nCol; i++ { + if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { + bHave = 1 + zRet = Xsqlite3_mprintf(tls, + ts+42083, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 42124 /* " OR " */ + if zRet == uintptr(0) { + break + } + } + } + + if bHave == 0 { + + zRet = Xsqlite3_mprintf(tls, ts+14191 /* "0" */, 0) + } + + return zRet +} + +func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var zRet uintptr = Xsqlite3_mprintf(tls, + + ts+42129, /* "SELECT * FROM \"%..." */ + libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) + return zRet +} + +func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, zDb1 uintptr, zDb2 uintptr, zExpr uintptr) int32 { /* sqlite3.c:208289:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var rc int32 = SQLITE_OK + var zStmt uintptr = sessionSelectFindNew(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, zDb1, zDb2, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr) + + if zStmt == uintptr(0) { + rc = SQLITE_NOMEM + } else { + // var pStmt uintptr at bp, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp /* &pStmt */, uintptr(0)) + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = 0 + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { + sessionPreupdateOneChange(tls, op, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + + return rc +} + +func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ + bp := tls.Alloc(64) + defer tls.Free(64) + + var rc int32 = SQLITE_OK + + var zExpr2 uintptr = sessionExprCompareOther(tls, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, + (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (*SessionTable)(unsafe.Pointer(pTab)).FazCol, (*SessionTable)(unsafe.Pointer(pTab)).FabPK) + if zExpr2 == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var zStmt uintptr = Xsqlite3_mprintf(tls, + ts+42207, /* "SELECT * FROM \"%..." */ + 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 + } else { + // var pStmt uintptr at bp+56, 8 + + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+56 /* &pStmt */, uintptr(0)) + + if rc == SQLITE_OK { + var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) { + sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) + } + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) + } + Xsqlite3_free(tls, zStmt) + } + } + + return rc +} + +func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:208360:16: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + var zDb uintptr + var rc int32 + // var d SessionDiffCtx at bp, 16 + + var i int32 + var bHasPk int32 + var bMismatch int32 + // var nCol int32 at bp+24, 4 + // Columns in zFrom.zTbl + // var abPK uintptr at bp+40, 8 + + // var azCol uintptr at bp+32, 8 + + var zExpr uintptr + var db uintptr + // var pTo uintptr at bp+16, 8 + zDb = (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + + libc.Xmemset(tls, bp /* &d */, 0, uint64(unsafe.Sizeof(SessionDiffCtx{}))) + sessionDiffHooks(tls, pSession, bp /* &d */) + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if !(pzErrMsg != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) +__1: + ; + if !(rc == SQLITE_OK) { + goto __2 + } + zExpr = uintptr(0) + db = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Table zTbl + + // Locate and if necessary initialize the target table object + rc = sessionFindTable(tls, pSession, zTbl, bp+16 /* &pTo */) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)) == uintptr(0)) { + goto __3 + } + goto diff_out +__3: + ; + if !(sessionInitTable(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */))) != 0) { + goto __4 + } + rc = (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + goto diff_out +__4: + ; + + // Check the table schemas match + if !(rc == SQLITE_OK) { + goto __5 + } + bHasPk = 0 + bMismatch = 0 + *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) = uintptr(0) + rc = sessionTableInfo(tls, uintptr(0), db, zFrom, zTbl, bp+24 /* &nCol */, uintptr(0), bp+32 /* &azCol */, bp+40 /* &abPK */) + if !(rc == SQLITE_OK) { + goto __6 + } + if !((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __7 + } + bMismatch = 1 + goto __8 +__7: + i = 0 +__9: + if !(i < *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) { + goto __11 + } + if !(int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK + uintptr(i)))) != int32(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))))) { + goto __12 + } + bMismatch = 1 +__12: + ; + if !(Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */)) + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol + uintptr(i)*8))) != 0) { + goto __13 + } + bMismatch = 1 +__13: + ; + if !(*(*U8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)) + uintptr(i))) != 0) { + goto __14 + } + bHasPk = 1 +__14: + ; + goto __10 +__10: + i++ + goto __9 + goto __11 +__11: + ; +__8: + ; +__6: + ; + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* azCol */))) + if !(bMismatch != 0) { + goto __15 + } + if !(pzErrMsg != 0) { + goto __16 + } + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+42260 /* "table schemas do..." */, 0) +__16: + ; + rc = SQLITE_SCHEMA +__15: + ; + if !(bHasPk == 0) { + goto __17 + } + // Ignore tables with no primary keys + goto diff_out +__17: + ; +__5: + ; + + if !(rc == SQLITE_OK) { + goto __18 + } + zExpr = sessionExprComparePK(tls, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FnCol, + zDb, zFrom, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FzName, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FazCol, (*SessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)))).FabPK) +__18: + ; + + // Find new rows + if !(rc == SQLITE_OK) { + goto __19 + } + rc = sessionDiffFindNew(tls, SQLITE_INSERT, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zDb, zFrom, zExpr) +__19: + ; + + // Find old rows + if !(rc == SQLITE_OK) { + goto __20 + } + rc = sessionDiffFindNew(tls, SQLITE_DELETE, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zDb, zExpr) +__20: + ; + + // Find modified rows + if !(rc == SQLITE_OK) { + goto __21 + } + rc = sessionDiffFindModified(tls, pSession, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTo */)), zFrom, zExpr) +__21: + ; + + Xsqlite3_free(tls, zExpr) +__2: + ; + +diff_out: + sessionPreupdateHooks(tls, pSession) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Create a session object. This session object will record changes to +// database zDb attached to connection db. +func Xsqlite3session_create(tls *libc.TLS, db uintptr, zDb uintptr, ppSession uintptr) int32 { /* sqlite3.c:208455:16: */ + var pNew uintptr // Newly allocated session object + var pOld uintptr // Session object already attached to db + var nDb int32 = Xsqlite3Strlen30(tls, zDb) // Length of zDb in bytes + + // Zero the output value in case an error occurs. + *(*uintptr)(unsafe.Pointer(ppSession)) = uintptr(0) + + // Allocate and populate the new session object. + pNew = Xsqlite3_malloc64(tls, ((uint64(unsafe.Sizeof(Sqlite3_session{})) + uint64(nDb)) + uint64(1))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_session{}))) + (*Sqlite3_session)(unsafe.Pointer(pNew)).Fdb = db + (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb = (pNew + 1*136) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FbEnable = 1 + libc.Xmemcpy(tls, (*Sqlite3_session)(unsafe.Pointer(pNew)).FzDb, zDb, (uint64(nDb + 1))) + sessionPreupdateHooks(tls, pNew) + + // Add the new session object to the linked list of session objects + // attached to database handle $db. Do this under the cover of the db + // handle mutex. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + pOld = Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), pNew) + (*Sqlite3_session)(unsafe.Pointer(pNew)).FpNext = pOld + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + + *(*uintptr)(unsafe.Pointer(ppSession)) = pNew + return SQLITE_OK +} + +// Free the list of table objects passed as the first argument. The contents +// of the changed-rows hash tables are also deleted. +func sessionDeleteTable(tls *libc.TLS, pSession uintptr, pList uintptr) { /* sqlite3.c:208493:13: */ + var pNext uintptr + var pTab uintptr + + for pTab = pList; pTab != 0; pTab = pNext { + var i int32 + pNext = (*SessionTable)(unsafe.Pointer(pTab)).FpNext + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + var pNextChange uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = pNextChange { + pNextChange = (*SessionChange)(unsafe.Pointer(p)).FpNext + sessionFree(tls, pSession, p) + } + } + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FazCol) // cast works around VC++ bug + sessionFree(tls, pSession, (*SessionTable)(unsafe.Pointer(pTab)).FapChange) + sessionFree(tls, pSession, pTab) + } +} + +// Delete a session object previously allocated using sqlite3session_create(). +func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:208517:17: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb + // var pHead uintptr at bp, 8 + + var pp uintptr + + // Unlink the session from the linked list of sessions attached to the + // database handle. Hold the db mutex while doing so. + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + *(*uintptr)(unsafe.Pointer(bp /* pHead */)) = Xsqlite3_preupdate_hook(tls, db, uintptr(0), uintptr(0)) + for pp = bp; /* &pHead */ (*(*uintptr)(unsafe.Pointer(pp))) != uintptr(0); pp = (*(*uintptr)(unsafe.Pointer(pp)) + 80 /* &.pNext */) { + if (*(*uintptr)(unsafe.Pointer(pp))) == pSession { + *(*uintptr)(unsafe.Pointer(pp)) = (*Sqlite3_session)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + if *(*uintptr)(unsafe.Pointer(bp /* pHead */)) != 0 { + Xsqlite3_preupdate_hook(tls, db, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + }{xPreUpdate})), *(*uintptr)(unsafe.Pointer(bp /* pHead */))) + } + break + } + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + Xsqlite3ValueFree(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob) + + // Delete all attached table objects. And the contents of their + // associated hash-tables. + sessionDeleteTable(tls, pSession, (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable) + + // Assert that all allocations have been freed and then free the + // session object itself. + + Xsqlite3_free(tls, pSession) +} + +// Set a table filter on a Session Object. +func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) { /* sqlite3.c:208549:17: */ + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + (*Sqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx + (*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter +} + +// Attach a table to a session. All subsequent changes made to the table +// while the session object is enabled will be recorded. +// +// Only tables that have a PRIMARY KEY defined may be attached. It does +// not matter if the PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) +// or not. +func Xsqlite3session_attach(tls *libc.TLS, pSession uintptr, zName uintptr) int32 { /* sqlite3.c:208567:16: */ + var rc int32 = SQLITE_OK + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + if !(zName != 0) { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = 1 + } else { + var pTab uintptr // New table object (if required) + var nName int32 // Number of bytes in string zName + + // First search for an existing entry. If one is found, this call is + // a no-op. Return early. + nName = Xsqlite3Strlen30(tls, zName) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (nName+1)) { + break + } + } + + if !(pTab != 0) { + // Allocate new SessionTable object. + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionTable{})) + uint64(nName)) + uint64(1))) + pTab = sessionMalloc64(tls, pSession, int64(nByte)) + if !(pTab != 0) { + rc = SQLITE_NOMEM + } else { + // Populate the new SessionTable object and link it into the list. + // The new object must be linked onto the end of the list, not + // simply added to the start of it in order to ensure that tables + // appear in the correct order when a changeset or patchset is + // eventually generated. + var ppTab uintptr + libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = (pTab + 1*56) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zName, (uint64(nName + 1))) + for ppTab = (pSession + 88 /* &.pTable */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } + } + } + + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return rc +} + +// Ensure that there is room in the buffer to append nByte bytes of data. +// If not, use sqlite3_realloc() to grow the buffer so that there is. +// +// If successful, return zero. Otherwise, if an OOM condition is encountered, +// set *pRc to SQLITE_NOMEM and return non-zero. +func sessionBufferGrow(tls *libc.TLS, p uintptr, nByte I64, pRc uintptr) int32 { /* sqlite3.c:208620:12: */ + var nReq I64 = (I64((*SessionBuffer)(unsafe.Pointer(p)).FnBuf) + nByte) + if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (nReq > I64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc)) { + var aNew uintptr + var nNew I64 + if (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc != 0 { + nNew = int64((*SessionBuffer)(unsafe.Pointer(p)).FnAlloc) + } else { + nNew = int64(128) + } + + for ok := true; ok; ok = (nNew < nReq) { + nNew = (nNew * int64(2)) + } + + // The value of SESSION_MAX_BUFFER_SZ is copied from the implementation + // of sqlite3_realloc64(). Allocations greater than this size in bytes + // always fail. It is used here to ensure that this routine can always + // allocate up to this limit - instead of up to the largest power of + // two smaller than the limit. + if nNew > (int64(0x7FFFFF00 - 1)) { + nNew = (int64(0x7FFFFF00 - 1)) + if nNew < nReq { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + return 1 + } + } + + aNew = Xsqlite3_realloc64(tls, (*SessionBuffer)(unsafe.Pointer(p)).FaBuf, uint64(nNew)) + if uintptr(0) == aNew { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } else { + (*SessionBuffer)(unsafe.Pointer(p)).FaBuf = aNew + (*SessionBuffer)(unsafe.Pointer(p)).FnAlloc = int32(nNew) + } + } + return (libc.Bool32(*(*int32)(unsafe.Pointer(pRc)) != SQLITE_OK)) +} + +// Append the value passed as the second argument to the buffer passed +// as the first. +// +// This function is a no-op if *pRc is non-zero when it is called. +// Otherwise, if an error occurs, *pRc is set to an SQLite error code +// before returning. +func sessionAppendValue(tls *libc.TLS, p uintptr, pVal uintptr, pRc uintptr) { /* sqlite3.c:208663:13: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, uintptr(0), pVal, bp /* &nByte */) + sessionBufferGrow(tls, p, *(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)), bp+8 /* &rc */) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionSerializeValue(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), pVal, uintptr(0)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += int32((*(*Sqlite3_int64)(unsafe.Pointer(bp /* nByte */)))) + } else { + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) + } + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single byte to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendByte(tls *libc.TLS, p uintptr, v U8, pRc uintptr) { /* sqlite3.c:208685:13: */ + if 0 == sessionBufferGrow(tls, p, int64(1), pRc) { + *(*U8)(unsafe.Pointer((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr(libc.PostIncInt32(&(*SessionBuffer)(unsafe.Pointer(p)).FnBuf, 1)))) = v + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a single varint to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendVarint(tls *libc.TLS, p uintptr, v int32, pRc uintptr) { /* sqlite3.c:208698:13: */ + if 0 == sessionBufferGrow(tls, p, int64(9), pRc) { + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (sessionVarintPut(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), v)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a blob of data to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendBlob(tls *libc.TLS, p uintptr, aBlob uintptr, nBlob int32, pRc uintptr) { /* sqlite3.c:208711:13: */ + if (nBlob > 0) && (0 == sessionBufferGrow(tls, p, int64(nBlob), pRc)) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), aBlob, uint64(nBlob)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nBlob) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append a string to the buffer. All bytes in the string +// up to (but not including) the nul-terminator are written to the buffer. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208731:13: */ + var nStr int32 = Xsqlite3Strlen30(tls, zStr) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + libc.Xmemcpy(tls, ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)), zStr, uint64(nStr)) + *(*int32)(unsafe.Pointer(p + 8 /* &.nBuf */)) += (nStr) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string representation of integer iVal +// to the buffer. No nul-terminator is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ + bp := tls.Alloc(40) + defer tls.Free(40) + + // var aBuf [24]int8 at bp+16, 24 + + Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+16 /* &aBuf[0] */, ts+11422 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+16 /* &aBuf[0] */, pRc) +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwise, append the string zStr enclosed in quotes (") and +// with any embedded quote characters escaped to the buffer. No +// nul-terminator byte is written. +// +// If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before +// returning. +func sessionAppendIdent(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* sqlite3.c:208770:13: */ + var nStr int32 = (((Xsqlite3Strlen30(tls, zStr) * 2) + 2) + 1) + if 0 == sessionBufferGrow(tls, p, int64(nStr), pRc) { + var zOut uintptr = ((*SessionBuffer)(unsafe.Pointer(p)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(p)).FnBuf)) + var zIn uintptr = zStr + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + for *(*int8)(unsafe.Pointer(zIn)) != 0 { + if int32(*(*int8)(unsafe.Pointer(zIn))) == '"' { + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zIn, 1))) + } + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8('"') + (*SessionBuffer)(unsafe.Pointer(p)).FnBuf = (int32((int64(zOut) - int64((*SessionBuffer)(unsafe.Pointer(p)).FaBuf)) / 1)) + } +} + +// This function is a no-op if *pRc is other than SQLITE_OK when it is +// called. Otherwse, it appends the serialized version of the value stored +// in column iCol of the row that SQL statement pStmt currently points +// to to the buffer. +func sessionAppendCol(tls *libc.TLS, p uintptr, pStmt uintptr, iCol int32, pRc uintptr) { /* sqlite3.c:208795:13: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var eType int32 = Xsqlite3_column_type(tls, pStmt, iCol) + sessionAppendByte(tls, p, U8(eType), pRc) + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + // var i Sqlite3_int64 at bp, 8 + + // var aBuf [8]U8 at bp+16, 8 + + if eType == SQLITE_INTEGER { + *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */)) = Xsqlite3_column_int64(tls, pStmt, iCol) + } else { + *(*float64)(unsafe.Pointer(bp + 8 /* r */)) = Xsqlite3_column_double(tls, pStmt, iCol) + libc.Xmemcpy(tls, bp /* &i */, bp+8 /* &r */, uint64(8)) + } + sessionPutI64(tls, bp+16 /* &aBuf[0] */, *(*Sqlite3_int64)(unsafe.Pointer(bp /* i */))) + sessionAppendBlob(tls, p, bp+16 /* &aBuf[0] */, 8, pRc) + } + if (eType == SQLITE_BLOB) || (eType == SQLITE_TEXT) { + var z uintptr + var nByte int32 + if eType == SQLITE_BLOB { + z = Xsqlite3_column_blob(tls, pStmt, iCol) + } else { + z = Xsqlite3_column_text(tls, pStmt, iCol) + } + nByte = Xsqlite3_column_bytes(tls, pStmt, iCol) + if (z != 0) || ((eType == SQLITE_BLOB) && (nByte == 0)) { + sessionAppendVarint(tls, p, nByte, pRc) + sessionAppendBlob(tls, p, z, nByte, pRc) + } else { + *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM + } + } + } +} + +// +// This function appends an update change to the buffer (see the comments +// under "CHANGESET FORMAT" at the top of the file). An update change +// consists of: +// +// 1 byte: SQLITE_UPDATE (0x17) +// n bytes: old.* record (see RECORD FORMAT) +// m bytes: new.* record (see RECORD FORMAT) +// +// The SessionChange object passed as the third argument contains the +// values that were stored in the row when the session began (the old.* +// values). The statement handle passed as the second argument points +// at the current version of the row (the new.* values). +// +// If all of the old.* values are equal to their corresponding new.* value +// (i.e. nothing has changed), then no data at all is appended to the buffer. +// +// Otherwise, the old.* record contains all primary key values and the +// original values of any fields that have been modified. The new.* record +// contains the new values of only those fields that have been modified. +func sessionAppendUpdate(tls *libc.TLS, pBuf uintptr, bPatchset int32, pStmt uintptr, p uintptr, abPK uintptr) int32 { /* sqlite3.c:208857:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp + 32 /* buf2 */)) = SessionBuffer{} // Buffer to accumulate new.* record in + var bNoop int32 = 1 // Set to zero if any values are modified + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf // Set to zero if any values are modified + var i int32 // Used to iterate through columns + var pCsr uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord // Used to iterate through old.* values + + sessionAppendByte(tls, pBuf, uint8(SQLITE_UPDATE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + for i = 0; i < Xsqlite3_column_count(tls, pStmt); i++ { + var bChanged int32 = 0 + var nAdvance int32 + var eType int32 = int32(*(*U8)(unsafe.Pointer(pCsr))) + switch eType { + case SQLITE_NULL: + nAdvance = 1 + if Xsqlite3_column_type(tls, pStmt, i) != SQLITE_NULL { + bChanged = 1 + } + break + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + { + nAdvance = 9 + if eType == Xsqlite3_column_type(tls, pStmt, i) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) = sessionGetI64(tls, (pCsr + 1)) + if eType == SQLITE_INTEGER { + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* iVal */)) == Xsqlite3_column_int64(tls, pStmt, i) { + break + } + } else { + // var dVal float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &dVal */, bp+16 /* &iVal */, uint64(8)) + if *(*float64)(unsafe.Pointer(bp + 8 /* dVal */)) == Xsqlite3_column_double(tls, pStmt, i) { + break + } + } + } + bChanged = 1 + break + + } + + default: + { + // var n int32 at bp+24, 4 + + var nHdr int32 = (1 + sessionVarintGet(tls, (pCsr+1), bp+24 /* &n */)) + + nAdvance = (nHdr + *(*int32)(unsafe.Pointer(bp + 24 /* n */))) + if ((eType == Xsqlite3_column_type(tls, pStmt, i)) && + (*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == Xsqlite3_column_bytes(tls, pStmt, i))) && + ((*(*int32)(unsafe.Pointer(bp + 24 /* n */)) == 0) || (0 == libc.Xmemcmp(tls, (pCsr+uintptr(nHdr)), Xsqlite3_column_blob(tls, pStmt, i), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n */)))))) { + break + } + bChanged = 1 + + } + } + + // If at least one field has been modified, this is not a no-op. + if bChanged != 0 { + bNoop = 0 + } + + // Add a field to the old.* record. This is omitted if this modules is + // currently generating a patchset. + if bPatchset == 0 { + if (bChanged != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + sessionAppendBlob(tls, pBuf, pCsr, nAdvance, bp /* &rc */) + } else { + sessionAppendByte(tls, pBuf, uint8(0), bp /* &rc */) + } + } + + // Add a field to the new.* record. Or the only record if currently + // generating a patchset. + if (bChanged != 0) || ((bPatchset != 0) && (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0)) { + sessionAppendCol(tls, bp+32 /* &buf2 */, pStmt, i, bp /* &rc */) + } else { + sessionAppendByte(tls, bp+32 /* &buf2 */, uint8(0), bp /* &rc */) + } + + pCsr += uintptr(nAdvance) + } + + if bNoop != 0 { + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = nRewind + } else { + sessionAppendBlob(tls, pBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FnBuf, bp /* &rc */) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+32 /* &buf2 */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Append a DELETE change to the buffer passed as the first argument. Use +// the changeset format if argument bPatchset is zero, or the patchset +// format otherwise. +func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr, nCol int32, abPK uintptr) int32 { /* sqlite3.c:208956:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + + sessionAppendByte(tls, pBuf, uint8(SQLITE_DELETE), bp /* &rc */) + sessionAppendByte(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp /* &rc */) + + if bPatchset == 0 { + sessionAppendBlob(tls, pBuf, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp /* &rc */) + } else { + var i int32 + var a uintptr = (*SessionChange)(unsafe.Pointer(p)).FaRecord + for i = 0; i < nCol; i++ { + var pStart uintptr = a + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + fallthrough + + case SQLITE_FLOAT: + fallthrough + case SQLITE_INTEGER: + a += uintptr(8) + break + fallthrough + + default: + { + // var n int32 at bp+4, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+4 /* &n */)) + a += uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* n */))) + break + + } + } + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendBlob(tls, pBuf, pStart, (int32((int64(a) - int64(pStart)) / 1)), bp /* &rc */) + } + } + + } + + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Formulate and prepare a SELECT statement to retrieve a row from table +// zTab in database zDb based on its primary key. i.e. +// +// SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... +func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ + bp := tls.Alloc(36) + defer tls.Free(36) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + var zSql uintptr = uintptr(0) + var nSql int32 = -1 + + if 0 == Xsqlite3_stricmp(tls, ts+17923 /* "sqlite_stat1" */, zTab) { + zSql = Xsqlite3_mprintf(tls, + + ts+42287 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + if zSql == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_NOMEM + } + } else { + var i int32 + var zSep uintptr = ts + 915 /* "" */ + *(*SessionBuffer)(unsafe.Pointer(bp + 16 /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp+16 /* &buf */, ts+42397 /* "SELECT * FROM " */, bp+32 /* &rc */) + sessionAppendIdent(tls, bp+16 /* &buf */, zDb, bp+32 /* &rc */) + sessionAppendStr(tls, bp+16 /* &buf */, ts+928 /* "." */, bp+32 /* &rc */) + sessionAppendIdent(tls, bp+16 /* &buf */, zTab, bp+32 /* &rc */) + sessionAppendStr(tls, bp+16 /* &buf */, ts+42412 /* " WHERE " */, bp+32 /* &rc */) + for i = 0; i < nCol; i++ { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + sessionAppendStr(tls, bp+16 /* &buf */, zSep, bp+32 /* &rc */) + sessionAppendIdent(tls, bp+16 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+32 /* &rc */) + sessionAppendStr(tls, bp+16 /* &buf */, ts+42420 /* " IS ?" */, bp+32 /* &rc */) + sessionAppendInteger(tls, bp+16 /* &buf */, (i + 1), bp+32 /* &rc */) + zSep = ts + 28672 /* " AND " */ + } + } + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &buf */)).FnBuf + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + } + Xsqlite3_free(tls, zSql) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Bind the PRIMARY KEY values from the change passed in argument pChange +// to the SELECT statement passed as the first argument. The SELECT statement +// is as prepared by function sessionSelectStmt(). +// +// Return SQLITE_OK if all PK values are successfully bound, or an SQLite +// error code (e.g. SQLITE_NOMEM) otherwise. +func sessionSelectBind(tls *libc.TLS, pSelect uintptr, nCol int32, abPK uintptr, pChange uintptr) int32 { /* sqlite3.c:209068:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 + var rc int32 = SQLITE_OK + var a uintptr = (*SessionChange)(unsafe.Pointer(pChange)).FaRecord + + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&a, 1)))) + + switch eType { + case 0: + fallthrough + case SQLITE_NULL: + + break + + case SQLITE_INTEGER: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + var iVal I64 = sessionGetI64(tls, a) + rc = Xsqlite3_bind_int64(tls, pSelect, (i + 1), iVal) + } + a += uintptr(8) + break + + } + + case SQLITE_FLOAT: + { + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + // var rVal float64 at bp, 8 + + *(*I64)(unsafe.Pointer(bp + 8 /* iVal */)) = sessionGetI64(tls, a) + libc.Xmemcpy(tls, bp /* &rVal */, bp+8 /* &iVal */, uint64(8)) + rc = Xsqlite3_bind_double(tls, pSelect, (i + 1), *(*float64)(unsafe.Pointer(bp /* rVal */))) + } + a += uintptr(8) + break + + } + + case SQLITE_TEXT: + { + // var n int32 at bp+16, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+16 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_text(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 16 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* n */))) + break + + } + + default: + { + // var n int32 at bp+20, 4 + + a += uintptr(sessionVarintGet(tls, a, bp+20 /* &n */)) + if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { + rc = Xsqlite3_bind_blob(tls, pSelect, (i + 1), a, *(*int32)(unsafe.Pointer(bp + 20 /* n */)), libc.UintptrFromInt32(-1)) + } + a += uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* n */))) + break + + } + } + } + + return rc +} + +// This function is a no-op if *pRc is set to other than SQLITE_OK when it +// is called. Otherwise, append a serialized table header (part of the binary +// changeset format) to buffer *pBuf. If an error occurs, set *pRc to an +// SQLite error code before returning. +func sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab uintptr, pRc uintptr) { /* sqlite3.c:209139:13: */ + // Write a table header + sessionAppendByte(tls, pBuf, func() uint8 { + if bPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), pRc) + sessionAppendVarint(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, pRc) + sessionAppendBlob(tls, pBuf, (*SessionTable)(unsafe.Pointer(pTab)).FzName, (int32(libc.Xstrlen(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName)) + 1), pRc) +} + +// Generate either a changeset (if argument bPatchset is zero) or a patchset +// (if it is non-zero) based on the current contents of the session object +// passed as the first argument. +// +// If no error occurs, SQLITE_OK is returned and the new changeset/patchset +// stored in output variables *pnChangeset and *ppChangeset. Or, if an error +// occurs, an SQLite error code is returned and both output variables set +// to 0. +func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209162:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + var db uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb // Source database handle + var pTab uintptr // Used to iterate through attached tables + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* buf */)) = SessionBuffer{} // Buffer in which to accumlate changeset + // var rc int32 at bp+40, 4 + // Return code + + // Zero the output variables in case an error occurs. If this session + // object is already in the error state (sqlite3_session.rc != SQLITE_OK), + // this call will be a no-op. + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = 0 + *(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0) + } + + if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { + return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+42426 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) + } + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) + + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry != 0 { + var zName uintptr = (*SessionTable)(unsafe.Pointer(pTab)).FzName + // var nCol int32 at bp, 4 + // Number of columns in table + // var abPK uintptr at bp+16, 8 + // Primary key array + *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)) = uintptr(0) // Table columns + var i int32 // Used to iterate through hash buckets + *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)) = uintptr(0) // SELECT statement to query table pTab + var nRewind int32 = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf // Initial size of write buffer + var nNoop int32 // Size of buffer after writing tbl header + + // Check the table schema is still Ok. + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionTableInfo(tls, uintptr(0), db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, bp /* &nCol */, uintptr(0), bp+8 /* &azCol */, bp+16 /* &abPK */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) && (((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp /* nCol */))) || (libc.Xmemcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), (*SessionTable)(unsafe.Pointer(pTab)).FabPK, uint64(*(*int32)(unsafe.Pointer(bp /* nCol */)))) != 0)) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_SCHEMA + } + + // Write a table header + sessionAppendTableHdr(tls, bp+24 /* &buf */, bPatchset, pTab, bp+40 /* &rc */) + + // Build and compile a statement to execute: + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectStmt(tls, + db, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, zName, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), bp+48 /* &pSel */) + } + + nNoop = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + for i = 0; (i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange) && (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK); i++ { + var p uintptr // Used to iterate through changes + + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (p != 0); p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionSelectBind(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */)), p) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { + continue + } + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) == SQLITE_ROW { + if int32((*SessionChange)(unsafe.Pointer(p)).Fop) == SQLITE_INSERT { + var iCol int32 + sessionAppendByte(tls, bp+24 /* &buf */, uint8(SQLITE_INSERT), bp+40 /* &rc */) + sessionAppendByte(tls, bp+24 /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+40 /* &rc */) + for iCol = 0; iCol < *(*int32)(unsafe.Pointer(bp /* nCol */)); iCol++ { + sessionAppendCol(tls, bp+24 /* &buf */, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), iCol, bp+40 /* &rc */) + } + } else { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendUpdate(tls, bp+24 /* &buf */, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */)), p, *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + } else if int32((*SessionChange)(unsafe.Pointer(p)).Fop) != SQLITE_INSERT { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionAppendDelete(tls, bp+24 /* &buf */, bPatchset, p, *(*int32)(unsafe.Pointer(bp /* nCol */)), *(*uintptr)(unsafe.Pointer(bp + 16 /* abPK */))) + } + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + } + + // If the buffer is now larger than sessions_strm_chunk_size, pass + // its contents to the xOutput() callback. + if (((xOutput != 0) && + (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > nNoop)) && + ((*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + nNoop = -1 + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = 0 + } + + } + } + + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pSel */))) + if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf == nNoop { + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf = nRewind + } + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* azCol */))) // cast works around VC++ bug + } + } + + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + if xOutput == uintptr(0) { + *(*int32)(unsafe.Pointer(pnChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppChangeset)) = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &buf */)).FaBuf = uintptr(0) + } else if (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FnBuf) + } + } + + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &buf */)).FaBuf) + Xsqlite3_exec(tls, db, ts+42446 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Obtain a changeset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 { /* sqlite3.c:209288:16: */ + var rc int32 = sessionGenerateChangeset(tls, pSession, 0, uintptr(0), uintptr(0), pnChangeset, ppChangeset) + + return rc +} + +// Streaming version of sqlite3session_changeset(). +func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209303:16: */ + return sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Streaming version of sqlite3session_patchset(). +func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:209314:16: */ + return sessionGenerateChangeset(tls, pSession, 1, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Obtain a patchset object containing all changes recorded by the +// session object passed as the first argument. +// +// It is the responsibility of the caller to eventually free the buffer +// using sqlite3_free(). +func Xsqlite3session_patchset(tls *libc.TLS, pSession uintptr, pnPatchset uintptr, ppPatchset uintptr) int32 { /* sqlite3.c:209329:16: */ + return sessionGenerateChangeset(tls, pSession, 1, uintptr(0), uintptr(0), pnPatchset, ppPatchset) +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_enable(tls *libc.TLS, pSession uintptr, bEnable int32) int32 { /* sqlite3.c:209340:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bEnable >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable = bEnable + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnable + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Enable or disable the session object passed as the first argument. +func Xsqlite3session_indirect(tls *libc.TLS, pSession uintptr, bIndirect int32) int32 { /* sqlite3.c:209354:16: */ + var ret int32 + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + if bIndirect >= 0 { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect = bIndirect + } + ret = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + return ret +} + +// Return true if there have been no changes to monitored tables recorded +// by the session object passed as the only argument. +func Xsqlite3session_isempty(tls *libc.TLS, pSession uintptr) int32 { /* sqlite3.c:209369:16: */ + var ret int32 = 0 + var pTab uintptr + + Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + for pTab = (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable; (pTab != 0) && (ret == 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + ret = (libc.Bool32((*SessionTable)(unsafe.Pointer(pTab)).FnEntry > 0)) + } + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb)) + + return (libc.Bool32(ret == 0)) +} + +// Return the amount of heap memory in use. +func Xsqlite3session_memory_used(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209385:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMalloc +} + +// Configure the session object passed as the first argument. +func Xsqlite3session_object_config(tls *libc.TLS, pSession uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:209392:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_OBJCONFIG_SIZE: + { + var iArg int32 = *(*int32)(unsafe.Pointer(pArg)) + if iArg >= 0 { + if (*Sqlite3_session)(unsafe.Pointer(pSession)).FpTable != 0 { + rc = SQLITE_MISUSE + } else { + (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize = (libc.Bool32(iArg != 0)) + } + } + *(*int32)(unsafe.Pointer(pArg)) = (*Sqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize + break + + } + + default: + rc = SQLITE_MISUSE + } + + return rc +} + +// Return the maximum size of sqlite3session_changeset() output. +func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) Sqlite3_int64 { /* sqlite3.c:209418:26: */ + return (*Sqlite3_session)(unsafe.Pointer(pSession)).FnMaxChangesetSize +} + +// Do the work for either sqlite3changeset_start() or start_strm(). +func sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) int32 { /* sqlite3.c:209425:12: */ + var pRet uintptr // Iterator to return + var nByte int32 // Number of bytes to allocate for iterator + + // Zero the output variable in case an error occurs. + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + + // Allocate and initialize the iterator structure. + nByte = int32(unsafe.Sizeof(Sqlite3_changeset_iter{})) + pRet = Xsqlite3_malloc(tls, nByte) + if !(pRet != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pRet, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FbEof = func() int32 { + if xInput != 0 { + return 0 + } + return 1 + }() + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbInvert = bInvert + (*Sqlite3_changeset_iter)(unsafe.Pointer(pRet)).FbSkipEmpty = bSkipEmpty + + // Populate the output variable and return success. + *(*uintptr)(unsafe.Pointer(pp)) = pRet + return SQLITE_OK +} + +// Create an iterator used to iterate through the contents of a changeset. +func Xsqlite3changeset_start(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr) int32 { /* sqlite3.c:209463:16: */ + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, 0, 0) +} + +func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pChangeset uintptr, flags int32) int32 { /* sqlite3.c:209470:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0) +} + +// Streaming version of sqlite3changeset_start(). +func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:209483:16: */ + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0) +} + +func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) int32 { /* sqlite3.c:209490:16: */ + var bInvert int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETSTART_INVERT) != 0))) + return sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0) +} + +// If the SessionInput object passed as the only argument is a streaming +// object and the buffer is full, discard some data to free up space. +func sessionDiscardData(tls *libc.TLS, pIn uintptr) { /* sqlite3.c:209504:13: */ + if ((*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0) && ((*SessionInput)(unsafe.Pointer(pIn)).FiNext >= sessions_strm_chunk_size) { + var nMove int32 = ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf - (*SessionInput)(unsafe.Pointer(pIn)).FiNext) + + if nMove > 0 { + libc.Xmemmove(tls, (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), uint64(nMove)) + } + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) -= ((*SessionInput)(unsafe.Pointer(pIn)).FiNext) + (*SessionInput)(unsafe.Pointer(pIn)).FiNext = 0 + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } +} + +// Ensure that there are at least nByte bytes available in the buffer. Or, +// if there are not nByte bytes remaining in the input, that all available +// data is in the buffer. +// +// Return an SQLite error code if an error occurs, or SQLITE_OK otherwise. +func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqlite3.c:209524:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionInput)(unsafe.Pointer(pIn)).FxInput != 0 { + for (!((*SessionInput)(unsafe.Pointer(pIn)).FbEof != 0) && (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte) >= (*SessionInput)(unsafe.Pointer(pIn)).FnData)) && (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) { + *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) = sessions_strm_chunk_size + + if (*SessionInput)(unsafe.Pointer(pIn)).FbNoDiscard == 0 { + sessionDiscardData(tls, pIn) + } + if SQLITE_OK == sessionBufferGrow(tls, (pIn+32 /* &.buf */), int64(*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))), bp /* &rc */) { + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pIn + 48 /* &.xInput */))))(tls, (*SessionInput)(unsafe.Pointer(pIn)).FpIn, ((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + uintptr((*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf)), bp+4 /* &nNew */) + if *(*int32)(unsafe.Pointer(bp + 4 /* nNew */)) == 0 { + (*SessionInput)(unsafe.Pointer(pIn)).FbEof = 1 + } else { + *(*int32)(unsafe.Pointer(pIn + 32 /* &.buf */ + 8 /* &.nBuf */)) += (*(*int32)(unsafe.Pointer(bp + 4 /* nNew */))) + } + } + + (*SessionInput)(unsafe.Pointer(pIn)).FaData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FaBuf + (*SessionInput)(unsafe.Pointer(pIn)).FnData = (*SessionInput)(unsafe.Pointer(pIn)).Fbuf.FnBuf + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// When this function is called, *ppRec points to the start of a record +// that contains nCol values. This function advances the pointer *ppRec +// until it points to the byte immediately following that record. +func sessionSkipRecord(tls *libc.TLS, ppRec uintptr, nCol int32) { /* sqlite3.c:209552:13: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var aRec uintptr = *(*uintptr)(unsafe.Pointer(ppRec)) + var i int32 + for i = 0; i < nCol; i++ { + var eType int32 = int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&aRec, 1)))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + aRec += uintptr(sessionVarintGet(tls, aRec, bp /* &nByte */)) + aRec += uintptr(*(*int32)(unsafe.Pointer(bp /* nByte */))) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + aRec += uintptr(8) + } + } + + *(*uintptr)(unsafe.Pointer(ppRec)) = aRec +} + +// This function sets the value of the sqlite3_value object passed as the +// first argument to a copy of the string or blob held in the aData[] +// buffer. SQLITE_OK is returned if successful, or SQLITE_NOMEM if an OOM +// error occurs. +func sessionValueSetStr(tls *libc.TLS, pVal uintptr, aData uintptr, nData int32, enc U8) int32 { /* sqlite3.c:209578:12: */ + // In theory this code could just pass SQLITE_TRANSIENT as the final + // argument to sqlite3ValueSetStr() and have the copy created + // automatically. But doing so makes it difficult to detect any OOM + // error. Hence the code to create the copy externally. + var aCopy uintptr = Xsqlite3_malloc64(tls, (uint64(Sqlite3_int64(nData) + int64(1)))) + if aCopy == uintptr(0) { + return SQLITE_NOMEM + } + libc.Xmemcpy(tls, aCopy, aData, uint64(nData)) + Xsqlite3ValueSetStr(tls, pVal, nData, aCopy, enc, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + return SQLITE_OK +} + +// Deserialize a single record from a buffer in memory. See "RECORD FORMAT" +// for details. +// +// When this function is called, *paChange points to the start of the record +// to deserialize. Assuming no error occurs, *paChange is set to point to +// one byte after the end of the same record before this function returns. +// If the argument abPK is NULL, then the record contains nCol values. Or, +// if abPK is other than NULL, then the record contains only the PK fields +// (in other words, it is a patchset DELETE record). +// +// If successful, each element of the apOut[] array (allocated by the caller) +// is set to point to an sqlite3_value object containing the value read +// from the corresponding position in the record. If that value is not +// included in the record (i.e. because the record is part of an UPDATE change +// and the field was not modified), the corresponding element of apOut[] is +// set to NULL. +// +// It is the responsibility of the caller to free all sqlite_value structures +// using sqlite3_free(). +// +// If an error occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +// The apOut[] array may have been partially populated in this case. +func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apOut uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209619:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + var i int32 // Used to iterate through columns + var rc int32 = SQLITE_OK + + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 1 + } + for i = 0; (i < nCol) && (rc == SQLITE_OK); i++ { + var eType int32 = 0 // Type of value (SQLITE_NULL, TEXT etc.) + if (abPK != 0) && (int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0) { + continue + } + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData { + rc = Xsqlite3CorruptError(tls, 209637) + } else { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1))))) + + if eType != 0 { + if pbEmpty != 0 { + *(*int32)(unsafe.Pointer(pbEmpty)) = 0 + } + *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)) = Xsqlite3ValueNew(tls, uintptr(0)) + if !(int32(*(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8))) != 0) { + rc = SQLITE_NOMEM + } + } + } + } + + if rc == SQLITE_OK { + var aVal uintptr = ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var nByte int32 at bp, 4 + + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (sessionVarintGet(tls, aVal, bp /* &nByte */)) + rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp /* nByte */))) + if rc == SQLITE_OK { + if (*(*int32)(unsafe.Pointer(bp /* nByte */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nByte */)) > ((*SessionInput)(unsafe.Pointer(pIn)).FnData - (*SessionInput)(unsafe.Pointer(pIn)).FiNext)) { + rc = Xsqlite3CorruptError(tls, 209657) + } else { + var enc U8 = func() uint8 { + if eType == SQLITE_TEXT { + return uint8(SQLITE_UTF8) + } + return uint8(0) + }() + rc = sessionValueSetStr(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext)), *(*int32)(unsafe.Pointer(bp /* nByte */)), enc) + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nByte */))) + } + } + } + if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */)) = sessionGetI64(tls, aVal) + if eType == SQLITE_INTEGER { + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* v */))) + } else { + // var d float64 at bp+8, 8 + + libc.Xmemcpy(tls, bp+8 /* &d */, bp+16 /* &v */, uint64(8)) + Xsqlite3VdbeMemSetDouble(tls, *(*uintptr)(unsafe.Pointer(apOut + uintptr(i)*8)), *(*float64)(unsafe.Pointer(bp + 8 /* d */))) + } + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iNext */)) += (8) + } + } + } + + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function ensures that all of the above is present in the input +// buffer (i.e. that it can be accessed without any calls to xInput()). +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code. +// The input pointer is not moved. +func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) int32 { /* sqlite3.c:209695:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + *(*int32)(unsafe.Pointer(bp /* nCol */)) = 0 + var nRead int32 = 0 + + rc = sessionInputBuffer(tls, pIn, 9) + if rc == SQLITE_OK { + nRead = nRead + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead))), bp /* &nCol */)) + // The hard upper limit for the number of columns in an SQLite + // database table is, according to sqliteLimit.h, 32676. So + // consider any table-header that purports to have more than 65536 + // columns to be corrupt. This is convenient because otherwise, + // if the (nCol>65536) condition below were omitted, a sufficiently + // large value for nCol may cause nRead to wrap around and become + // negative. Leading to a crash. + if (*(*int32)(unsafe.Pointer(bp /* nCol */)) < 0) || (*(*int32)(unsafe.Pointer(bp /* nCol */)) > 65536) { + rc = Xsqlite3CorruptError(tls, 209711) + } else { + rc = sessionInputBuffer(tls, pIn, ((nRead + *(*int32)(unsafe.Pointer(bp /* nCol */))) + 100)) + nRead = nRead + (*(*int32)(unsafe.Pointer(bp /* nCol */))) + } + } + + for rc == SQLITE_OK { + for (((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData) && (*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead)))) != 0) { + nRead++ + } + if ((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nRead) < (*SessionInput)(unsafe.Pointer(pIn)).FnData { + break + } + rc = sessionInputBuffer(tls, pIn, (nRead + 100)) + } + *(*int32)(unsafe.Pointer(pnByte)) = (nRead + 1) + return rc +} + +// The input pointer currently points to the first byte of the first field +// of a record consisting of nCol columns. This function ensures the entire +// record is buffered. It does not move the input pointer. +// +// If successful, SQLITE_OK is returned and *pnByte is set to the size of +// the record in bytes. Otherwise, an SQLite error code is returned. The +// final value of *pnByte is undefined in this case. +func sessionChangesetBufferRecord(tls *libc.TLS, pIn uintptr, nCol int32, pnByte uintptr) int32 { /* sqlite3.c:209738:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + var rc int32 = SQLITE_OK + var nByte int32 = 0 + var i int32 + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + var eType int32 + rc = sessionInputBuffer(tls, pIn, (nByte + 10)) + if rc == SQLITE_OK { + eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + libc.PostIncInt32(&nByte, 1)))))) + if (eType == SQLITE_TEXT) || (eType == SQLITE_BLOB) { + // var n int32 at bp, 4 + + nByte = nByte + (sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pIn)).FiNext + nByte))), bp /* &n */)) + nByte = nByte + (*(*int32)(unsafe.Pointer(bp /* n */))) + rc = sessionInputBuffer(tls, pIn, nByte) + } else if (eType == SQLITE_INTEGER) || (eType == SQLITE_FLOAT) { + nByte = nByte + (8) + } + } + } + *(*int32)(unsafe.Pointer(pnByte)) = nByte + return rc +} + +// The input pointer currently points to the second byte of a table-header. +// Specifically, to the following: +// +// + number of columns in table (varint) +// + array of PK flags (1 byte per column), +// + table name (nul terminated). +// +// This function decodes the table-header and populates the p->nCol, +// p->zTab and p->abPK[] variables accordingly. The p->apValue[] array is +// also allocated or resized according to the new value of p->nCol. The +// input pointer is left pointing to the byte following the table header. +// +// If successful, SQLITE_OK is returned. Otherwise, an SQLite error code +// is returned and the final values of the various fields enumerated above +// are undefined. +func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209782:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var rc int32 at bp+4, 4 + + // var nCopy int32 at bp, 4 + + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = sessionChangesetBufferTblhdr(tls, (p /* &.in */), bp /* &nCopy */) + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var nByte int32 + var nVarint int32 + nVarint = sessionVarintGet(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), (p + 120 /* &.nCol */)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol > 0 { + *(*int32)(unsafe.Pointer(bp /* nCopy */)) -= nVarint + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (nVarint) + nByte = (int32(((uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol) * uint64(unsafe.Sizeof(uintptr(0)))) * uint64(2)) + uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */))))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 + sessionBufferGrow(tls, (p + 72 /* &.tblhdr */), int64(nByte), bp+4 /* &rc */) + } else { + *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) = Xsqlite3CorruptError(tls, 209799) + } + } + + if *(*int32)(unsafe.Pointer(bp + 4 /* rc */)) == SQLITE_OK { + var iPK Size_t = ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2)) + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf, 0, iPK) + libc.Xmemcpy(tls, ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + uintptr(iPK)), ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)), uint64(*(*int32)(unsafe.Pointer(bp /* nCopy */)))) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp /* nCopy */))) + } + + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue == uintptr(0) { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = uintptr(0) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = uintptr(0) + } else { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol*2))*8) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) + } + return uintptr(0) + }() + } + return libc.AssignPtrInt32(p+100 /* &.rc */, *(*int32)(unsafe.Pointer(bp + 4 /* rc */))) +} + +// Advance the changeset iterator to the next change. The differences between +// this function and sessionChangesetNext() are that +// +// * If pbEmpty is not NULL and the change is a no-op UPDATE (an UPDATE +// that modifies no columns), this function sets (*pbEmpty) to 1. +// +// * If the iterator is configured to skip no-op UPDATEs, +// sessionChangesetNext() does that. This function does not. +func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr, pbEmpty uintptr) int32 { /* sqlite3.c:209831:12: */ + var i int32 + var op U8 + + // If the iterator is in the error-state, return immediately. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // Free the current contents of p->apValue[], if any. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)) * uint64(2))) + } + + // Make sure the buffer contains at least 10 bytes of input data, or all + // remaining data if there are less than 10 bytes available. This is + // sufficient either for the 'T' or 'P' byte and the varint that follows + // it, or for the two single byte values otherwise. + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionInputBuffer(tls, (p /* &.in */), 2) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + + // If the iterator is already at the end of the changeset, return DONE. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + + sessionDiscardData(tls, (p /* &.in */)) + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + + op = *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))) + for (int32(op) == 'T') || (int32(op) == 'P') { + if pbNew != 0 { + *(*int32)(unsafe.Pointer(pbNew)) = 1 + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset = (libc.Bool32(int32(op) == 'P')) + if sessionChangesetReadTblhdr(tls, p) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + if libc.AssignPtrInt32(p+100 /* &.rc */, sessionInputBuffer(tls, (p /* &.in */), 2)) != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { + return SQLITE_DONE + } + op = *(*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)).FzTab == uintptr(0)) || (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) { + // The first record in the changeset is not a table header. Must be a + // corrupt changeset. + + return libc.AssignPtrInt32(p+100 /* &.rc */, Xsqlite3CorruptError(tls, 209885)) + } + + (*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 /* &.rc */, Xsqlite3CorruptError(tls, 209891)) + } + + if paRec != 0 { + var nVal int32 // Number of values to buffer + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) && (int32(op) == SQLITE_UPDATE) { + nVal = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2) + } else if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) && (int32(op) == SQLITE_DELETE) { + nVal = 0 + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { + nVal++ + } + } + } else { + nVal = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionChangesetBufferRecord(tls, (p /* &.in */), nVal, pnRec) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + *(*uintptr)(unsafe.Pointer(paRec)) = ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext)) + *(*int32)(unsafe.Pointer(p /* &.in */ + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(pnRec))) + } else { + var apOld uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + } + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + }() + var apNew uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + } + return ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8) + }() + + // If this is an UPDATE or DELETE, read the old.* record. + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT) && (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset == 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE)) { + var abPK uintptr + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 { + abPK = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + } else { + abPK = uintptr(0) + } + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, abPK, apOld, uintptr(0)) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + // If this is an INSERT or UPDATE, read the new.* record. + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = sessionReadRecord(tls, (p /* &.in */), (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol, uintptr(0), apNew, pbEmpty) + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { + return (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + } + } + + if (((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0)) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_UPDATE) { + // If this is an UPDATE that is part of a patchset, then all PK and + // modified fields are present in the new.* record. The old.* record + // is currently completely empty. This block shifts the PK fields from + // new.* to old.*, to accommodate the code that reads these arrays. + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol; i++ { + + 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 /* &.rc */, Xsqlite3CorruptError(tls, 209935)) + } + *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr((i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol))*8)) = uintptr(0) + } + } + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_INSERT { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_DELETE + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop == SQLITE_DELETE { + (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = SQLITE_INSERT + } + } + } + + return SQLITE_ROW +} + +// Advance the changeset iterator to the next change. +// +// If both paRec and pnRec are NULL, then this function works like the public +// API sqlite3changeset_next(). If SQLITE_ROW is returned, then the +// sqlite3changeset_new() and old() APIs may be used to query for values. +// +// Otherwise, if paRec and pnRec are not NULL, then a pointer to the change +// record is written to *paRec before returning and the number of bytes in +// the record to *pnRec. +// +// Either way, this function returns SQLITE_ROW if the iterator is +// successfully advanced to the next change in the changeset, an SQLite +// error code if an error occurs, or SQLITE_DONE if there are no further +// changes in the changeset. +func sessionChangesetNext(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uintptr, pbNew uintptr) int32 { /* sqlite3.c:209964:12: */ + bp := tls.Alloc(4) + defer tls.Free(4) + + // var bEmpty int32 at bp, 4 + + var rc int32 + for ok := true; ok; ok = (((rc == SQLITE_ROW) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbSkipEmpty != 0)) && (*(*int32)(unsafe.Pointer(bp /* bEmpty */)) != 0)) { + *(*int32)(unsafe.Pointer(bp /* bEmpty */)) = 0 + rc = sessionChangesetNextOne(tls, p, paRec, pnRec, pbNew, bp /* &bEmpty */) + } + return rc +} + +// Advance an iterator created by sqlite3changeset_start() to the next +// change in the changeset. This function may return SQLITE_ROW, SQLITE_DONE +// or SQLITE_CORRUPT. +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_next(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:209987:16: */ + return sessionChangesetNext(tls, p, uintptr(0), uintptr(0), uintptr(0)) +} + +// The following function extracts information on the current change +// from a changeset iterator. It may only be called after changeset_next() +// has returned SQLITE_ROW. +func Xsqlite3changeset_op(tls *libc.TLS, pIter uintptr, pzTab uintptr, pnCol uintptr, pOp uintptr, pbIndirect uintptr) int32 { /* sqlite3.c:209996:16: */ + *(*int32)(unsafe.Pointer(pOp)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + *(*uintptr)(unsafe.Pointer(pzTab)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + if pbIndirect != 0 { + *(*int32)(unsafe.Pointer(pbIndirect)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect + } + return SQLITE_OK +} + +// Return information regarding the PRIMARY KEY and number of columns in +// the database table affected by the change that pIter currently points +// to. This function may only be called after changeset_next() returns +// SQLITE_ROW. +func Xsqlite3changeset_pk(tls *libc.TLS, pIter uintptr, pabPK uintptr, pnCol uintptr) int32 { /* sqlite3.c:210016:16: */ + *(*uintptr)(unsafe.Pointer(pabPK)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + if pnCol != 0 { + *(*int32)(unsafe.Pointer(pnCol)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + } + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_DELETE change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the old.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified and is not a PK column), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_old(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210039:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_DELETE) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(iVal)*8)) + return SQLITE_OK +} + +// This function may only be called while the iterator is pointing to an +// SQLITE_UPDATE or SQLITE_INSERT change (see sqlite3changeset_op()). +// Otherwise, SQLITE_MISUSE is returned. +// +// It sets *ppValue to point to an sqlite3_value structure containing the +// iVal'th value in the new.* record. Or, if that particular value is not +// included in the record (because the change is an UPDATE and the field +// was not modified), set *ppValue to NULL. +// +// If value iVal is out-of-range, SQLITE_RANGE is returned and *ppValue is +// not modified. Otherwise, SQLITE_OK. +func Xsqlite3changeset_new(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210067:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_UPDATE) && ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop != SQLITE_INSERT) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+iVal))*8)) + return SQLITE_OK +} + +// The following two macros are used internally. They are similar to the +// sqlite3changeset_new() and sqlite3changeset_old() functions, except that +// they omit all error checking and return a pointer to the requested value. + +// This function may only be called with a changeset iterator that has been +// passed to an SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT +// conflict-handler function. Otherwise, SQLITE_MISUSE is returned. +// +// If successful, *ppValue is set to point to an sqlite3_value structure +// containing the iVal'th value of the conflicting record. +// +// If value iVal is out-of-range or some other error occurs, an SQLite error +// code is returned. Otherwise, SQLITE_OK. +func Xsqlite3changeset_conflict(tls *libc.TLS, pIter uintptr, iVal int32, ppValue uintptr) int32 { /* sqlite3.c:210101:16: */ + if !(int32((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict) != 0) { + return SQLITE_MISUSE + } + if (iVal < 0) || (iVal >= (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { + return SQLITE_RANGE + } + *(*uintptr)(unsafe.Pointer(ppValue)) = Xsqlite3_column_value(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict, iVal) + return SQLITE_OK +} + +// This function may only be called with an iterator passed to an +// SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +// it sets the output variable to the total number of known foreign key +// violations in the destination database and returns SQLITE_OK. +// +// In all other cases this function returns SQLITE_MISUSE. +func Xsqlite3changeset_fk_conflicts(tls *libc.TLS, pIter uintptr, pnOut uintptr) int32 { /* sqlite3.c:210124:16: */ + if ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict != 0) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue != 0) { + return SQLITE_MISUSE + } + *(*int32)(unsafe.Pointer(pnOut)) = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + return SQLITE_OK +} + +// Finalize an iterator allocated with sqlite3changeset_start(). +// +// This function may not be called on iterators passed to a conflict handler +// callback by changeset_apply(). +func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:210142:16: */ + var rc int32 = SQLITE_OK + if p != 0 { + var i int32 // Used to iterate through p->apValue[] + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Frc + if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue != 0 { + for i = 0; i < ((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol * 2); i++ { + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8))) + } + } + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FaBuf) + Xsqlite3_free(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.Fbuf.FaBuf) + Xsqlite3_free(tls, p) + } + return rc +} + +func sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210157:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + // var rc int32 at bp+40, 4 + // Return value + // var sOut SessionBuffer at bp, 16 + // Output buffer + // var nCol int32 at bp+20, 4 + // Number of cols in current table + var abPK uintptr // PK array for current table + var apVal uintptr // Space for values for UPDATE inversion + // var sPK SessionBuffer at bp+24, 16 + + // A 'table' record consists of: + // + // * A constant 'T' character, + // * Number of columns in said table (a varint), + // * An array of nCol bytes (sPK), + // * A nul-terminated table name. + // var nByte int32 at bp+16, 4 + + var nVar int32 + // var nByte1 int32 at bp+44, 4 + + var bIndirect int32 + var eType2 int32 + var pVal uintptr + var pVal1 uintptr + var iCol int32 + var eType U8 + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) = 0 + abPK = uintptr(0) + apVal = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 24 /* sPK */)) = SessionBuffer{} // PK array for current table + + // Initialize the output buffer + libc.Xmemset(tls, bp /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + // Zero the output variables in case an error occurs. + if !(ppInverted != 0) { + goto __1 + } + *(*uintptr)(unsafe.Pointer(ppInverted)) = uintptr(0) + *(*int32)(unsafe.Pointer(pnInverted)) = 0 +__1: + ; + +__2: + if !(1 != 0) { + goto __3 + } + + // Test for EOF. + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionInputBuffer(tls, pInput, 2)) != 0) { + goto __4 + } + goto finished_invert +__4: + ; + if !((*SessionInput)(unsafe.Pointer(pInput)).FiNext >= (*SessionInput)(unsafe.Pointer(pInput)).FnData) { + goto __5 + } + goto __3 +__5: + ; + eType = *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext))) + + switch int32(eType) { + case 'T': + goto __7 + + case SQLITE_INSERT: + goto __8 + case SQLITE_DELETE: + goto __9 + + case SQLITE_UPDATE: + goto __10 + + default: + goto __11 + } + goto __6 +__7: + (*SessionInput)(unsafe.Pointer(pInput)).FiNext++ + if !(libc.AssignPtrInt32(bp+40 /* rc */, sessionChangesetBufferTblhdr(tls, pInput, bp+16 /* &nByte */)) != 0) { + goto __12 + } + goto finished_invert +__12: + ; + nVar = sessionVarintGet(tls, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), bp+20 /* &nCol */) + (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FnBuf = 0 + sessionAppendBlob(tls, bp+24 /* &sPK */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + nVar))), *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 16 /* nByte */)), bp+40 /* &rc */) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __13 + } + goto finished_invert +__13: + ; + + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 16 /* nByte */))) + Xsqlite3_free(tls, apVal) + apVal = uintptr(0) + abPK = (*SessionBuffer)(unsafe.Pointer(bp + 24 /* &sPK */)).FaBuf + goto __6 + +__8: +__9: + bIndirect = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1))))) + eType2 = func() int32 { + if int32(eType) == SQLITE_DELETE { + return SQLITE_INSERT + } + return SQLITE_DELETE + }() + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionChangesetBufferRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), bp+44 /* &nByte1 */) + sessionAppendByte(tls, bp /* &sOut */, uint8(eType2), bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, uint8(bIndirect), bp+40 /* &rc */) + sessionAppendBlob(tls, bp /* &sOut */, ((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr((*SessionInput)(unsafe.Pointer(pInput)).FiNext)), *(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */)), bp+40 /* &rc */) + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (*(*int32)(unsafe.Pointer(bp + 44 /* nByte1 */))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0) { + goto __14 + } + goto finished_invert +__14: + ; + goto __6 + +__10: + + if !(uintptr(0) == apVal) { + goto __15 + } + apVal = Xsqlite3_malloc64(tls, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) + if !(uintptr(0) == apVal) { + goto __16 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_NOMEM + goto finished_invert +__16: + ; + libc.Xmemset(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) +__15: + ; + + // Write the header for the new UPDATE change. Same as the original. + sessionAppendByte(tls, bp /* &sOut */, eType, bp+40 /* &rc */) + sessionAppendByte(tls, bp /* &sOut */, *(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pInput)).FaData + uintptr(((*SessionInput)(unsafe.Pointer(pInput)).FiNext + 1)))), bp+40 /* &rc */) + + // Read the old.* and new.* records for the update change. + *(*int32)(unsafe.Pointer(pInput + 8 /* &.iNext */)) += (2) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal), uintptr(0)) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) { + goto __17 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sessionReadRecord(tls, pInput, *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)), uintptr(0), (apVal + uintptr(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))*8), uintptr(0)) +__17: + ; + + // Write the new old.* record. Consists of the PK columns from the + // original old.* record, and the other values from the original + // new.* record. + iCol = 0 +__18: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __20 + } + pVal = *(*uintptr)(unsafe.Pointer(apVal + uintptr((iCol+(func() int32 { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return 0 + } + return *(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) + }())))*8)) + sessionAppendValue(tls, bp /* &sOut */, pVal, bp+40 /* &rc */) + goto __19 +__19: + iCol++ + goto __18 + goto __20 +__20: + ; + + // Write the new new.* record. Consists of a copy of all values + // from the original old.* record, except for the PK columns, which + // are set to "undefined". + iCol = 0 +__21: + if !(iCol < *(*int32)(unsafe.Pointer(bp + 20 /* nCol */))) { + goto __23 + } + pVal1 = func() uintptr { + if *(*U8)(unsafe.Pointer(abPK + uintptr(iCol))) != 0 { + return uintptr(0) + } + return *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8)) + }() + sessionAppendValue(tls, bp /* &sOut */, pVal1, bp+40 /* &rc */) + goto __22 +__22: + iCol++ + goto __21 + goto __23 +__23: + ; + + iCol = 0 +__24: + if !(iCol < (*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)) * 2)) { + goto __26 + } + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol)*8))) + goto __25 +__25: + iCol++ + goto __24 + goto __26 +__26: + ; + libc.Xmemset(tls, apVal, 0, ((uint64(unsafe.Sizeof(uintptr(0))) * uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nCol */)))) * uint64(2))) + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __27 + } + goto finished_invert +__27: + ; + + goto __6 + +__11: + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3CorruptError(tls, 210284) + goto finished_invert +__6: + ; + + if !((xOutput != 0) && ((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf >= sessions_strm_chunk_size)) { + goto __28 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf = 0 + if !(*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK) { + goto __29 + } + goto finished_invert +__29: + ; +__28: + ; + goto __2 +__3: + ; + + if !(pnInverted != 0) { + goto __30 + } + *(*int32)(unsafe.Pointer(pnInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf + *(*uintptr)(unsafe.Pointer(ppInverted)) = (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf = uintptr(0) + goto __31 +__30: + if !((*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf > 0) { + goto __32 + } + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) +__32: + ; +__31: + ; + +finished_invert: + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf) + Xsqlite3_free(tls, apVal) + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24 /* &sPK */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) +} + +// Invert a changeset object. +func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintptr, pnInverted uintptr, ppInverted uintptr) int32 { /* sqlite3.c:210316:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FnData = nChangeset + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FaData = pChangeset + + return sessionChangesetInvert(tls, bp /* &sInput */, uintptr(0), uintptr(0), pnInverted, ppInverted) +} + +// Streaming version of sqlite3changeset_invert(). +func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:210335:16: */ + bp := tls.Alloc(72) + defer tls.Free(72) + + // var sInput SessionInput at bp, 72 + + var rc int32 + + // Set up the input stream + libc.Xmemset(tls, bp /* &sInput */, 0, uint64(unsafe.Sizeof(SessionInput{}))) + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FxInput = xInput + (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).FpIn = pIn + + rc = sessionChangesetInvert(tls, bp /* &sInput */, xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3_free(tls, (*SessionInput)(unsafe.Pointer(bp /* &sInput */)).Fbuf.FaBuf) + return rc +} + +type SessionUpdate1 = struct { + FpStmt uintptr + FaMask uintptr + FpNext uintptr +} /* sqlite3.c:210355:9 */ + +type SessionUpdate = SessionUpdate1 /* sqlite3.c:210355:30 */ + +type SessionApplyCtx1 = struct { + Fdb uintptr + FpDelete uintptr + FpInsert uintptr + FpSelect uintptr + FnCol int32 + _ [4]byte + FazCol uintptr + FabPK uintptr + FaUpdateMask uintptr + FpUp uintptr + FbStat1 int32 + FbDeferConstraints int32 + FbInvertConstraints int32 + _ [4]byte + Fconstraints SessionBuffer + Frebase SessionBuffer + FbRebaseStarted U8 + FbRebase U8 + _ [6]byte +} /* sqlite3.c:210362:9 */ + +type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ + +// Number of prepared UPDATE statements to cache. + +// Find a prepared UPDATE statement suitable for the UPDATE step currently +// being visited by the iterator. The UPDATE is of the form: +// +// UPDATE tbl SET col = ?, col2 = ? WHERE pk1 IS ? AND pk2 IS ? +func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, ppStmt uintptr) int32 { /* sqlite3.c:210391:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var pUp uintptr = uintptr(0) + var nCol int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + var nU32 int32 = (((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol + 33) / 32) + var ii int32 + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = Xsqlite3_malloc(tls, (int32(uint64(nU32) * uint64(unsafe.Sizeof(U32(0)))))) + if (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, 0, (uint64(nU32) * uint64(unsafe.Sizeof(U32(0))))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_CORRUPT + for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ { + if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(ii)))*8)) != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((ii/32))*4)) |= (U32(int32(1) << (ii % 32))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if bPatchset != 0 { + *(*U32)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask + uintptr((nCol/32))*4)) |= (U32(int32(1) << (nCol % 32))) + } + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp != 0 { + var nUp int32 = 0 + var pp uintptr = (p + 64 /* &.pUp */) + for 1 != 0 { + nUp++ + if 0 == libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaMask, (uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))) { + pUp = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + break + } + + if (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext != 0 { + pp = (*(*uintptr)(unsafe.Pointer(pp)) + 16 /* &.pNext */) + } else { + if nUp >= SESSION_UPDATE_CACHE_SZ { + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpStmt) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pp))) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + } + break + } + } + } + + if pUp == uintptr(0) { + var nByte int32 = (int32((uint64(unsafe.Sizeof(SessionUpdate{})) * uint64(nU32)) * uint64(unsafe.Sizeof(U32(0))))) + var bStat1 int32 = (libc.Bool32(Xsqlite3_stricmp(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, ts+17923 /* "sqlite_stat1" */) == 0)) + pUp = Xsqlite3_malloc(tls, nByte) + if pUp == uintptr(0) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_NOMEM + } else { + var zSep uintptr = ts + 915 /* "" */ + // var buf SessionBuffer at bp, 16 + + libc.Xmemset(tls, bp /* &buf */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + (*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 /* &buf */, ts+42464 /* "UPDATE main." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+42477 /* " SET " */, bp+16 /* &rc */) + + // Create the assignments part of the UPDATE + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+42483 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+16 /* &rc */) + zSep = ts + 21218 /* ", " */ + } + } + + // Create the WHERE clause part of the UPDATE + zSep = ts + 915 /* "" */ + sessionAppendStr(tls, bp /* &buf */, ts+42412 /* " WHERE " */, bp+16 /* &rc */) + 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 /* &buf */, zSep, bp+16 /* &rc */) + if (bStat1 != 0) && (ii == 1) { + + sessionAppendStr(tls, bp, /* &buf */ + + ts+42488 /* "idx IS CASE WHEN..." */, bp+16 /* &rc */) + } else { + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+42420 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 2), bp+16 /* &rc */) + } + zSep = ts + 28672 /* " AND " */ + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + var zSql uintptr = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, zSql, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (pUp /* &.pStmt */), uintptr(0)) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, pUp) + pUp = uintptr(0) + } else { + (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = pUp + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + } + } + } + + if pUp != 0 { + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt + } else { + *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) + } + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Free all cached UPDATE statements. +func sessionUpdateFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:210530:13: */ + var pUp uintptr + var pNext uintptr + for pUp = (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp; pUp != 0; pUp = pNext { + pNext = (*SessionUpdate)(unsafe.Pointer(pUp)).FpNext + Xsqlite3_finalize(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FpStmt) + Xsqlite3_free(tls, pUp) + } + (*SessionApplyCtx)(unsafe.Pointer(p)).FpUp = uintptr(0) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask) + (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask = uintptr(0) +} + +// Formulate a statement to DELETE a row from database db. Assuming a table +// structure like this: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The DELETE statement looks like this: +// +// DELETE FROM x WHERE a = :1 AND c = :3 AND (:5 OR b IS :2 AND d IS :4) +// +// Variable :5 (nCol+1) is a boolean. It should be set to 0 if we require +// matching b and d values, or 1 otherwise. The second case comes up if the +// conflict handler is invoked with NOTFOUND and returns CHANGESET_REPLACE. +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pDelete is left +// pointing to the prepared version of the SQL statement. +func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210560:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var i int32 + var zSep uintptr = ts + 915 /* "" */ + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var nPk int32 = 0 + + sessionAppendStr(tls, bp /* &buf */, ts+42563 /* "DELETE FROM main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+42412 /* " WHERE " */, bp+16 /* &rc */) + + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+42483 /* " = ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 28672 /* " AND " */ + } + } + + if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { + sessionAppendStr(tls, bp /* &buf */, ts+42581 /* " AND (?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, ((*SessionApplyCtx)(unsafe.Pointer(p)).FnCol + 1), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+42124 /* " OR " */, bp+16 /* &rc */) + + zSep = ts + 915 /* "" */ + 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 /* &buf */, zSep, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+42420 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) + zSep = ts + 42589 /* "AND " */ + } + } + sessionAppendStr(tls, bp /* &buf */, ts+11464 /* ")" */, bp+16 /* &rc */) + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 8 /* &.pDelete */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Formulate and prepare an SQL statement to query table zTab by primary +// key. Assuming the following table structure: +// +// CREATE TABLE x(a, b, c, d, PRIMARY KEY(a, c)); +// +// The SELECT statement looks like this: +// +// SELECT * FROM x WHERE a = ?1 AND c = ?3 +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left +// pointing to the prepared version of the SQL statement. +func sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210625:12: */ + return sessionSelectStmt(tls, + db, ts+13143 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 24 /* &.pSelect */)) +} + +// Formulate and prepare an INSERT statement to add a record to table zTab. +// For example: +// +// INSERT INTO main."zTab" VALUES(?1, ?2, ?3 ...); +// +// If successful, SQLITE_OK is returned and SessionApplyCtx.pInsert is left +// pointing to the prepared version of the SQL statement. +func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 { /* sqlite3.c:210643:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + var i int32 + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + + sessionAppendStr(tls, bp /* &buf */, ts+42594 /* "INSERT INTO main..." */, bp+16 /* &rc */) + sessionAppendIdent(tls, bp /* &buf */, zTab, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+28678 /* "(" */, bp+16 /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + if i != 0 { + sessionAppendStr(tls, bp /* &buf */, ts+21218 /* ", " */, bp+16 /* &rc */) + } + sessionAppendIdent(tls, bp /* &buf */, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16 /* &rc */) + } + + sessionAppendStr(tls, bp /* &buf */, ts+42612 /* ") VALUES(?" */, bp+16 /* &rc */) + for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + sessionAppendStr(tls, bp /* &buf */, ts+42623 /* ", ?" */, bp+16 /* &rc */) + } + sessionAppendStr(tls, bp /* &buf */, ts+11464 /* ")" */, bp+16 /* &rc */) + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v2(tls, db, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf, (p + 16 /* &.pInsert */), uintptr(0)) + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { /* sqlite3.c:210673:12: */ + return Xsqlite3_prepare_v2(tls, db, zSql, -1, pp, uintptr(0)) +} + +// Prepare statements for applying changes to the sqlite_stat1 table. +// These are similar to those created by sessionSelectRow(), +// sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for +// other tables. +func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:210683:12: */ + var rc int32 = sessionSelectRow(tls, db, ts+17923 /* "sqlite_stat1" */, p) + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 16 /* &.pInsert */), + + ts+42627 /* "INSERT INTO main..." */) + } + if rc == SQLITE_OK { + rc = sessionPrepare(tls, db, (p + 8 /* &.pDelete */), + + ts+42740 /* "DELETE FROM main..." */) + } + return rc +} + +// A wrapper around sqlite3_bind_value() that detects an extra problem. +// See comments in the body of this function for details. +func sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) int32 { /* sqlite3.c:210706:12: */ + var eType int32 = Xsqlite3_value_type(tls, pVal) + // COVERAGE: The (pVal->z==0) branch is never true using current versions + // of SQLite. If a malloc fails in an sqlite3_value_xxx() function, either + // the (pVal->z) variable remains as it was or the type of the value is + // set to SQLITE_NULL. + if ((eType == SQLITE_TEXT) || (eType == SQLITE_BLOB)) && ((*Sqlite3_value)(unsafe.Pointer(pVal)).Fz == uintptr(0)) { + // This condition occurs when an earlier OOM in a call to + // sqlite3_value_text() or sqlite3_value_blob() (perhaps from within + // a conflict-handler) has zeroed the pVal->z pointer. Return NOMEM. + return SQLITE_NOMEM + } + return Xsqlite3_bind_value(tls, pStmt, i, pVal) +} + +// Iterator pIter must point to an SQLITE_INSERT entry. This function +// transfers new.* values from the current iterator entry to statement +// pStmt. The table being inserted into has nCol columns. +// +// New.* value $i from the iterator is bound to variable ($i+1) of +// statement pStmt. If parameter abPK is NULL, all values from 0 to (nCol-1) +// are transfered to the statement. Otherwise, if abPK is not NULL, it points +// to an array nCol elements in size. In this case only those values for +// which abPK[$i] is true are read from the iterator and bound to the +// statement. +// +// An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK. +func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) int32 { /* sqlite3.c:210739:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + var i int32 + var rc int32 = SQLITE_OK + + // Neither sqlite3changeset_old or sqlite3changeset_new can fail if the + // argument iterator points to a suitable entry. Make sure that xValue + // is one of these to guarantee that it is safe to ignore the return + // in the code below. + + for i = 0; (rc == SQLITE_OK) && (i < nCol); i++ { + if !(abPK != 0) || (*(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0) { + // var pVal uintptr at bp, 8 + + (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xValue)))(tls, pIter, i, bp /* &pVal */) + if *(*uintptr)(unsafe.Pointer(bp /* pVal */)) == uintptr(0) { + // The value in the changeset was "undefined". This indicates a + // corrupt changeset blob. + rc = Xsqlite3CorruptError(tls, 210762) + } else { + rc = sessionBindValue(tls, pStmt, (i + 1), *(*uintptr)(unsafe.Pointer(bp /* pVal */))) + } + } + } + return rc +} + +// SQL statement pSelect is as generated by the sessionSelectRow() function. +// This function binds the primary key values from the change that changeset +// iterator pIter points to to the SELECT and attempts to seek to the table +// entry. If a row is found, the SELECT statement left pointing at the row +// and SQLITE_ROW is returned. Otherwise, if no row is found and no error +// has occured, the statement is reset and SQLITE_OK is returned. If an +// error occurs, the statement is reset and an SQLite error code is returned. +// +// If this function returns SQLITE_ROW, the caller must eventually reset() +// statement pSelect. If any other value is returned, the statement does +// not require a reset(). +// +// If the iterator currently points to an INSERT record, bind values from the +// new.* record to the SELECT statement. Or, if it points to a DELETE or +// UPDATE, bind values from the old.* record. +func sessionSeekToRow(tls *libc.TLS, db uintptr, pIter uintptr, abPK uintptr, pSelect uintptr) int32 { /* sqlite3.c:210788:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + var rc int32 // Return code + // var nCol int32 at bp+8, 4 + // Number of columns in table + // var op int32 at bp+12, 4 + // Changset operation (SQLITE_UPDATE etc.) + // var zDummy uintptr at bp, 8 + // Unused + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + rc = sessionBindRow(tls, pIter, + func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_INSERT { + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})) + } + return *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})) + }(), + *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, pSelect) + + if rc == SQLITE_OK { + rc = Xsqlite3_step(tls, pSelect) + if rc != SQLITE_ROW { + rc = Xsqlite3_reset(tls, pSelect) + } + } + + return rc +} + +// This function is called from within sqlite3changeset_apply_v2() when +// a conflict is encountered and resolved using conflict resolution +// mode eType (either SQLITE_CHANGESET_OMIT or SQLITE_CHANGESET_REPLACE).. +// It adds a conflict resolution record to the buffer in +// SessionApplyCtx.rebase, which will eventually be returned to the caller +// of apply_v2() as the "rebase" buffer. +// +// Return SQLITE_OK if successful, or an SQLite error code otherwise. +func sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) int32 { /* sqlite3.c:210823:12: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebase != 0 { + var i int32 + var eOp int32 = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop + if int32((*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted) == 0 { + // Append a table-header to the rebase buffer + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + sessionAppendByte(tls, (p + 104 /* &.rebase */), uint8('T'), bp /* &rc */) + sessionAppendVarint(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, bp /* &rc */) + sessionAppendBlob(tls, (p + 104 /* &.rebase */), zTab, (int32(libc.Xstrlen(tls, zTab)) + 1), bp /* &rc */) + (*SessionApplyCtx)(unsafe.Pointer(p)).FbRebaseStarted = U8(1) + } + + sessionAppendByte(tls, (p + 104 /* &.rebase */), + func() uint8 { + if eOp == SQLITE_DELETE { + return uint8(SQLITE_DELETE) + } + return uint8(SQLITE_INSERT) + }(), bp /* &rc */) + sessionAppendByte(tls, (p + 104 /* &.rebase */), (uint8(libc.Bool32(eType == SQLITE_CHANGESET_REPLACE))), bp /* &rc */) + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ { + *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)) = uintptr(0) + if (eOp == SQLITE_DELETE) || ((eOp == SQLITE_UPDATE) && (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0)) { + Xsqlite3changeset_old(tls, pIter, i, bp+8 /* &pVal */) + } else { + Xsqlite3changeset_new(tls, pIter, i, bp+8 /* &pVal */) + } + sessionAppendValue(tls, (p + 104 /* &.rebase */), *(*uintptr)(unsafe.Pointer(bp + 8 /* pVal */)), bp /* &rc */) + } + } + return *(*int32)(unsafe.Pointer(bp /* rc */)) +} + +// Invoke the conflict handler for the change that the changeset iterator +// currently points to. +// +// Argument eType must be either CHANGESET_DATA or CHANGESET_CONFLICT. +// If argument pbReplace is NULL, then the type of conflict handler invoked +// depends solely on eType, as follows: +// +// eType value Value passed to xConflict +// ------------------------------------------------- +// CHANGESET_DATA CHANGESET_NOTFOUND +// CHANGESET_CONFLICT CHANGESET_CONSTRAINT +// +// Or, if pbReplace is not NULL, then an attempt is made to find an existing +// record with the same primary key as the record about to be deleted, updated +// or inserted. If such a record can be found, it is available to the conflict +// handler as the "conflicting" record. In this case the type of conflict +// handler invoked is as follows: +// +// eType value PK Record found? Value passed to xConflict +// ---------------------------------------------------------------- +// CHANGESET_DATA Yes CHANGESET_DATA +// CHANGESET_DATA No CHANGESET_NOTFOUND +// CHANGESET_CONFLICT Yes CHANGESET_CONFLICT +// CHANGESET_CONFLICT No CHANGESET_CONSTRAINT +// +// If pbReplace is not NULL, and a record with a matching PK is found, and +// the conflict handler function returns SQLITE_CHANGESET_REPLACE, *pbReplace +// is set to non-zero before returning SQLITE_OK. +// +// If the conflict handler returns SQLITE_CHANGESET_ABORT, SQLITE_ABORT is +// returned. Or, if the conflict handler returns an invalid value, +// SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT, +// this function returns SQLITE_OK. +func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) int32 { /* sqlite3.c:210897:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + var res int32 = 0 // Value returned by conflict handler + // var rc int32 at bp+16, 4 + + // var nCol int32 at bp+8, 4 + + // var op int32 at bp+12, 4 + + // var zDummy uintptr at bp, 8 + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + // Bind the new.* PRIMARY KEY values to the SELECT statement. + if pbReplace != 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_ROW { + // There exists another row with the new.* primary key. + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, eType, pIter) + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } else if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if ((*SessionApplyCtx)(unsafe.Pointer(p)).FbDeferConstraints != 0) && (eType == SQLITE_CHANGESET_CONFLICT) { + // Instead of invoking the conflict handler, append the change blob + // to the SessionApplyCtx.constraints buffer. + var aBlob uintptr = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent)) + var nBlob int32 = ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent) + sessionAppendBlob(tls, (p + 88 /* &.constraints */), aBlob, nBlob, bp+16 /* &rc */) + return SQLITE_OK + } else { + // No other row with the new.* primary key. + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, (eType + 1), pIter) + if res == SQLITE_CHANGESET_REPLACE { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + switch res { + case SQLITE_CHANGESET_REPLACE: + + *(*int32)(unsafe.Pointer(pbReplace)) = 1 + break + fallthrough + + case SQLITE_CHANGESET_OMIT: + break + fallthrough + + case SQLITE_CHANGESET_ABORT: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ABORT + break + fallthrough + + default: + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + break + } + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sessionRebaseAdd(tls, p, res, pIter) + } + } + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// If argument pbRetry is NULL, then ignore any CHANGESET_DATA conflict. If +// one is encountered, update or delete the row with the matching primary key +// instead. Or, if pbRetry is not NULL and a CHANGESET_DATA conflict occurs, +// invoke the conflict handler. If it returns CHANGESET_REPLACE, set *pbRetry +// to true before returning. In this case the caller will invoke this function +// again, this time with pbRetry set to NULL. +// +// If argument pbReplace is NULL and a CHANGESET_CONFLICT conflict is +// encountered invoke the conflict handler with CHANGESET_CONSTRAINT instead. +// Or, if pbReplace is not NULL, invoke it with CHANGESET_CONFLICT. If such +// an invocation returns SQLITE_CHANGESET_REPLACE, set *pbReplace to true +// before retrying. In this case the caller attempts to remove the conflicting +// row before invoking this function again, this time with pbReplace set +// to NULL. +// +// If any conflict handler returns SQLITE_CHANGESET_ABORT, this function +// returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is +// returned. +func sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) int32 { /* sqlite3.c:210995:12: */ + bp := tls.Alloc(24) + defer tls.Free(24) + + // var zDummy uintptr at bp, 8 + + // var op int32 at bp+12, 4 + + // var nCol int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + + Xsqlite3changeset_op(tls, pIter, bp /* &zDummy */, bp+8 /* &nCol */, bp+12 /* &op */, uintptr(0)) + + if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_DELETE { + + // Bind values to the DELETE statement. If conflict handling is required, + // bind values for all columns and set bound variable (nCol+1) to true. + // Or, if conflict handling is not required, bind just the PK column + // values and, if it exists, set (nCol+1) to false. Conflict handling + // is not required if: + // + // * this is a patchset, or + // * (pbRetry==0), or + // * all columns of the table are PK columns (in this case there is + // no (nCol+1) variable to bind to). + var abPK uintptr = func() uintptr { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + } + return uintptr(0) + }() + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_old})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), abPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_bind_parameter_count(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) > *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))) { + rc = Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete, (*(*int32)(unsafe.Pointer(bp + 8 /* nCol */)) + 1), (libc.Bool32((pbRetry == uintptr(0)) || (abPK != 0)))) + } + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpDelete) + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else if *(*int32)(unsafe.Pointer(bp + 12 /* op */)) == SQLITE_UPDATE { + var i int32 + *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)) = uintptr(0) + var bPatchset int32 = (libc.Bool32((pbRetry == uintptr(0)) || ((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0))) + + rc = sessionUpdateFind(tls, pIter, p, bPatchset, bp+16 /* &pUp */) + + // Bind values to the UPDATE statement. + for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 8 /* nCol */))); i++ { + var pOld uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(i)*8)) + var pNew uintptr = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FapValue + uintptr(((*Sqlite3_changeset_iter)(unsafe.Pointer((pIter))).FnCol+(i)))*8)) + if (*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) || ((bPatchset == 0) && (pOld != 0)) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 2), pOld) + } + if (rc == SQLITE_OK) && (pNew != 0) { + rc = sessionBindValue(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */)), ((i * 2) + 1), pNew) + } + } + if rc != SQLITE_OK { + return rc + } + + // Attempt the UPDATE. In the case of a NOTFOUND or DATA conflict, + // the result will be SQLITE_OK with 0 rows modified. + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pUp */))) + + if (rc == SQLITE_OK) && (Xsqlite3_changes(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0) { + // A NOTFOUND or DATA error. Search the table to see if it contains + // a row with a matching primary key. If so, this is a DATA conflict. + // Otherwise, if there is no primary key match, it is a NOTFOUND. + + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry) + + } else if (rc & 0xff) == SQLITE_CONSTRAINT { + // This is always a CONSTRAINT conflict. + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, uintptr(0)) + } + + } else { + + if (*SessionApplyCtx)(unsafe.Pointer(p)).FbStat1 != 0 { + // Check if there is a conflicting row. For sqlite_stat1, this needs + // to be done using a SELECT, as there is no PRIMARY KEY in the + // database schema to throw an exception if a duplicate is inserted. + rc = sessionSeekToRow(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).Fdb, pIter, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + if rc == SQLITE_ROW { + rc = SQLITE_CONSTRAINT + Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpSelect) + } + } + + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), *(*int32)(unsafe.Pointer(bp + 8 /* nCol */)), uintptr(0), (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + if rc != SQLITE_OK { + return rc + } + + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(p)).FpInsert) + } + + if (rc & 0xff) == SQLITE_CONSTRAINT { + rc = sessionConflictHandler(tls, + SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace) + } + } + + return rc +} + +// Attempt to apply the change that the iterator passed as the first argument +// currently points to to the database. If a conflict is encountered, invoke +// the conflict handler callback. +// +// The difference between this function and sessionApplyOne() is that this +// function handles the case where the conflict-handler is invoked and +// returns SQLITE_CHANGESET_REPLACE - indicating that the change should be +// retried in some manner. +func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211128:12: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*int32)(unsafe.Pointer(bp /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) = 0 + var rc int32 + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp /* &bReplace */, bp+4 /* &bRetry */) + if rc == SQLITE_OK { + // If the bRetry flag is set, the change has not been applied due to an + // SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and + // a row with the correct PK is present in the db, but one or more other + // fields do not contain the expected values) and the conflict handler + // returned SQLITE_CHANGESET_REPLACE. In this case retry the operation, + // but pass NULL as the final argument so that sessionApplyOneOp() ignores + // the SQLITE_CHANGESET_DATA problem. + if *(*int32)(unsafe.Pointer(bp + 4 /* bRetry */)) != 0 { + + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } else if *(*int32)(unsafe.Pointer(bp /* bReplace */)) != 0 { + + rc = Xsqlite3_exec(tls, db, ts+42884 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(0)) + if rc == SQLITE_OK { + rc = sessionBindRow(tls, pIter, + *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + }{Xsqlite3changeset_new})), (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + Xsqlite3_bind_int(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, ((*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + 1), 1) + } + if rc == SQLITE_OK { + Xsqlite3_step(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + rc = Xsqlite3_reset(tls, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) + } + if rc == SQLITE_OK { + rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+42905 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + } + + return rc +} + +// Retry the changes accumulated in the pApply->constraints buffer. +func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211185:12: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK + + for (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf != 0 { + *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) = uintptr(0) + var cons = (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints + libc.Xmemset(tls, (pApply + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionChangesetStart(tls, + bp /* &pIter2 */, uintptr(0), uintptr(0), cons.FnBuf, cons.FaBuf, (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbInvertConstraints, 1) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + var nByte Size_t = ((uint64(2 * (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol)) * uint64(unsafe.Sizeof(uintptr(0)))) + var rc2 int32 + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FbPatchset = bPatchset + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FzTab = zTab + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FnCol = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FnCol + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FabPK = (*SessionApplyCtx)(unsafe.Pointer(pApply)).FabPK + sessionBufferGrow(tls, (*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)) + 72 /* &.tblhdr */), int64(nByte), bp+8 /* &rc */) + (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue = (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).Ftblhdr.FaBuf + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + libc.Xmemset(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))).FapValue, 0, nByte) + } + + for (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)))) { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */)), pApply, xConflict, pCtx) + } + + rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter2 */))) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = rc2 + } + } + + Xsqlite3_free(tls, cons.FaBuf) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) != SQLITE_OK { + break + } + if (*SessionApplyCtx)(unsafe.Pointer(pApply)).Fconstraints.FnBuf >= cons.FnBuf { + // No progress was made on the last round. + (*SessionApplyCtx)(unsafe.Pointer(pApply)).FbDeferConstraints = 0 + } + } + + return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) +} + +// Argument pIter is a changeset iterator that has been initialized, but +// not yet passed to sqlite3changeset_next(). This function applies the +// changeset to the main database attached to handle "db". The supplied +// conflict handler callback is invoked to resolve any conflicts encountered +// while applying the change. +func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ + bp := tls.Alloc(400) + defer tls.Free(400) + + var schemaMismatch int32 = 0 + var rc int32 = SQLITE_OK // Return code + *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) = uintptr(0) // Name of current table + var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) + // var sApply SessionApplyCtx at bp+80, 128 + // changeset_apply() context object + var bPatchset int32 + + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 + libc.Xmemset(tls, bp+80 /* &sApply */, 0, uint64(unsafe.Sizeof(SessionApplyCtx{}))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).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+42924 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + } + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+42950 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + } + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { + // var nCol int32 at bp+216, 4 + + // var op int32 at bp+220, 4 + + // var zNew uintptr at bp+208, 8 + + Xsqlite3changeset_op(tls, pIter, bp+208 /* &zNew */, bp+216 /* &nCol */, bp+220 /* &op */, uintptr(0)) + + if (*(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+224, 8 + + rc = sessionRetryConstraints(tls, + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */, xConflict, pCtx) + if rc != SQLITE_OK { + break + } + + sessionUpdateFree(tls, bp+80 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbRebaseStarted = U8(0) + libc.Xmemset(tls, (bp + 80 /* &sApply */ + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + + // If an xFilter() callback was specified, invoke it now. If the + // xFilter callback returns zero, skip this table. If it returns + // non-zero, proceed. + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)))))) + if schemaMismatch != 0 { + *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) == uintptr(0) { + rc = SQLITE_NOMEM + break + } + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) + } else { + var nMinCol int32 = 0 + var i int32 + + Xsqlite3changeset_pk(tls, pIter, bp+224 /* &abPK */, uintptr(0)) + rc = sessionTableInfo(tls, uintptr(0), + db, ts+13143 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)), (bp + 80 /* &sApply */ + 32 /* &.nCol */), bp+232 /* &zTab */, (bp + 80 /* &sApply */ + 40 /* &.azCol */), (bp + 80 /* &sApply */ + 48 /* &.abPK */)) + if rc != SQLITE_OK { + break + } + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FabPK + uintptr(i))) != 0 { + nMinCol = (i + 1) + } + } + + if (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol == 0 { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+42980 /* "sqlite3changeset..." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 216 /* nCol */)) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + + ts+43024, /* "sqlite3changeset..." */ + libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 216 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 216 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 224 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 216 /* nCol */)))) != 0) { + schemaMismatch = 1 + Xsqlite3_log(tls, SQLITE_SCHEMA, + ts+43095 /* "sqlite3changeset..." */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)))) + } else { + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 216 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), ts+17923 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+80 /* &sApply */)) != 0 { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbStat1 = 1 + } else { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */)) != 0) { + break + } + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbStat1 = 0 + } + } + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */))) + } + } + + // If there is a schema mismatch on the current table, proceed to the + // next change. A log message has already been issued. + if schemaMismatch != 0 { + continue + } + + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+80 /* &sApply */, xConflict, pCtx) + } + + bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + if rc == SQLITE_OK { + rc = Xsqlite3changeset_finalize(tls, pIter) + } else { + Xsqlite3changeset_finalize(tls, pIter) + } + + if rc == SQLITE_OK { + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */, xConflict, pCtx) + } + + if rc == SQLITE_OK { + // var nFk int32 at bp+240, 4 + + // var notUsed int32 at bp+244, 4 + + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+240 /* &nFk */, bp+244 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 240 /* nFk */)) != 0 { + var res int32 = SQLITE_CHANGESET_ABORT + // var sIter Sqlite3_changeset_iter at bp+248, 152 + + libc.Xmemset(tls, bp+248 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 248 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 240 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+248 /* &sIter */) + if res != SQLITE_CHANGESET_OMIT { + rc = SQLITE_CONSTRAINT + } + } + } + Xsqlite3_exec(tls, db, ts+43155 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + + if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { + if rc == SQLITE_OK { + rc = Xsqlite3_exec(tls, db, ts+43185 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } else { + Xsqlite3_exec(tls, db, ts+43209 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, ts+43185 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + } + } + + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Frebase.FaBuf = uintptr(0) + } + sessionUpdateFree(tls, bp+80 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).Frebase.FaBuf) + Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main +// database attached to handle "db". +func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211439:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInv int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +// Apply the changeset passed via pChangeset/nChangeset to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211472:16: */ + return Xsqlite3changeset_apply_v2(tls, + db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// Apply the changeset passed via xInput/pIn to the main database +// attached to handle "db". Invoke the supplied conflict handler callback +// to resolve any conflicts encountered while applying the change. +func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211497:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator to skip through changeset + var bInverse int32 = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + var rc int32 = sessionChangesetStart(tls, bp /* &pIter */, xInput, pIn, 0, uintptr(0), bInverse, 1) + if rc == SQLITE_OK { + rc = sessionChangesetApply(tls, + db, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags) + } + return rc +} + +func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) int32 { /* sqlite3.c:211524:16: */ + return Xsqlite3changeset_apply_v2_strm(tls, + db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0) +} + +// This function is called to merge two changes to the same row together as +// part of an sqlite3changeset_concat() operation. A new change object is +// allocated and a pointer to it stored in *ppNew. +func sessionChangeMerge(tls *libc.TLS, pTab uintptr, bRebase int32, bPatchset int32, pExist uintptr, op2 int32, bIndirect int32, aRec uintptr, nRec int32, ppNew uintptr) int32 { /* sqlite3.c:211558:12: */ + bp := tls.Alloc(32) + defer tls.Free(32) + + var pNew uintptr = uintptr(0) + var rc int32 = SQLITE_OK + + if !(pExist != 0) { + pNew = Xsqlite3_malloc64(tls, (uint64(unsafe.Sizeof(SessionChange{})) + uint64(nRec))) + if !(pNew != 0) { + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = U8(bIndirect) + (*SessionChange)(unsafe.Pointer(pNew)).FaRecord = (pNew + 1*32) + if (bIndirect == 0) || (bRebase == 0) { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = nRec + libc.Xmemcpy(tls, (*SessionChange)(unsafe.Pointer(pNew)).FaRecord, aRec, uint64(nRec)) + } else { + var i int32 + var pIn uintptr = aRec + var pOut uintptr = (*SessionChange)(unsafe.Pointer(pNew)).FaRecord + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var nIn int32 = sessionSerialLen(tls, pIn) + if int32(*(*U8)(unsafe.Pointer(pIn))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } else if int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0 { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else { + libc.Xmemcpy(tls, pOut, pIn, uint64(nIn)) + pOut += uintptr(nIn) + } + pIn += uintptr(nIn) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + } else if bRebase != 0 { + if (int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) == SQLITE_DELETE) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0) { + *(*uintptr)(unsafe.Pointer(ppNew)) = pExist + } else { + var nByte Sqlite3_int64 = (Sqlite3_int64((uint64(nRec + (*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(unsafe.Sizeof(SessionChange{})))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + var i int32 + var a1 uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var a2 uintptr = aRec + var pOut uintptr + + libc.Xmemset(tls, pNew, 0, uint64(nByte)) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) || ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(op2) + pOut = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) || ((int32(*(*U8)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(i)))) == 0) && (bIndirect != 0)) { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0xFF) + } else if int32(*(*U8)(unsafe.Pointer(a2))) == 0 { + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else { + libc.Xmemcpy(tls, pOut, a2, uint64(n2)) + pOut += uintptr(n2) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(pOut) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } else { + var op1 int32 = int32((*SessionChange)(unsafe.Pointer(pExist)).Fop) + + // op1=INSERT, op2=INSERT -> Unsupported. Discard op2. + // op1=INSERT, op2=UPDATE -> INSERT. + // op1=INSERT, op2=DELETE -> (none) + // + // op1=UPDATE, op2=INSERT -> Unsupported. Discard op2. + // op1=UPDATE, op2=UPDATE -> UPDATE. + // op1=UPDATE, op2=DELETE -> DELETE. + // + // op1=DELETE, op2=INSERT -> UPDATE. + // op1=DELETE, op2=UPDATE -> Unsupported. Discard op2. + // op1=DELETE, op2=DELETE -> Unsupported. Discard op2. + if ((((op1 == SQLITE_INSERT) && (op2 == SQLITE_INSERT)) || + ((op1 == SQLITE_UPDATE) && (op2 == SQLITE_INSERT))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_UPDATE))) || + ((op1 == SQLITE_DELETE) && (op2 == SQLITE_DELETE)) { + pNew = pExist + } else if (op1 == SQLITE_INSERT) && (op2 == SQLITE_DELETE) { + Xsqlite3_free(tls, pExist) + + } else { + var aExist uintptr = (*SessionChange)(unsafe.Pointer(pExist)).FaRecord + var nByte Sqlite3_int64 + // var aCsr uintptr at bp+8, 8 + + // Allocate a new SessionChange object. Ensure that the aRecord[] + // buffer of the new object is large enough to hold any record that + // may be generated by combining the input records. + nByte = (Sqlite3_int64((uint64(unsafe.Sizeof(SessionChange{})) + uint64((*SessionChange)(unsafe.Pointer(pExist)).FnRecord)) + uint64(nRec))) + pNew = Xsqlite3_malloc64(tls, uint64(nByte)) + if !(pNew != 0) { + Xsqlite3_free(tls, pExist) + return SQLITE_NOMEM + } + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(SessionChange{}))) + (*SessionChange)(unsafe.Pointer(pNew)).FbIndirect = (U8(libc.Bool32((bIndirect != 0) && ((*SessionChange)(unsafe.Pointer(pExist)).FbIndirect != 0)))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) = libc.AssignPtrUintptr(pNew+16 /* &.aRecord */, (pNew + 1*32)) + + if op1 == SQLITE_INSERT { // INSERT + UPDATE + *(*uintptr)(unsafe.Pointer(bp /* a1 */)) = aRec + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_INSERT) + if bPatchset == 0 { + sessionSkipRecord(tls, bp /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aExist, *(*uintptr)(unsafe.Pointer(bp /* a1 */))) + } else if op1 == SQLITE_DELETE { // DELETE + INSERT + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aExist, uintptr(0), aRec, uintptr(0)) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } + } else if op2 == SQLITE_UPDATE { // UPDATE + UPDATE + *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)) = aExist + *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */)) = aRec + + if bPatchset == 0 { + sessionSkipRecord(tls, bp+16 /* &a1 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + sessionSkipRecord(tls, bp+24 /* &a2 */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol) + } + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_UPDATE) + if 0 == sessionMergeUpdate(tls, bp+8 /* &aCsr */, pTab, bPatchset, aRec, aExist, *(*uintptr)(unsafe.Pointer(bp + 16 /* a1 */)), *(*uintptr)(unsafe.Pointer(bp + 24 /* a2 */))) { + Xsqlite3_free(tls, pNew) + pNew = uintptr(0) + } + } else { // UPDATE + DELETE + + (*SessionChange)(unsafe.Pointer(pNew)).Fop = U8(SQLITE_DELETE) + if bPatchset != 0 { + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)), aRec, uint64(nRec)) + *(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */)) += uintptr(nRec) + } else { + sessionMergeRecord(tls, bp+8 /* &aCsr */, (*SessionTable)(unsafe.Pointer(pTab)).FnCol, aRec, aExist) + } + } + + if pNew != 0 { + (*SessionChange)(unsafe.Pointer(pNew)).FnRecord = (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 8 /* aCsr */))) - int64((*SessionChange)(unsafe.Pointer(pNew)).FaRecord)) / 1)) + } + Xsqlite3_free(tls, pExist) + } + } + + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Add all changes in the changeset traversed by the iterator passed as +// the first argument to the changegroup hash tables. +func sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) int32 { /* sqlite3.c:211740:12: */ + bp := tls.Alloc(56) + defer tls.Free(56) + + // var aRec uintptr at bp, 8 + + // var nRec int32 at bp+8, 4 + + var rc int32 = SQLITE_OK + var pTab uintptr = uintptr(0) + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, uintptr(0)) { + // var zNew uintptr at bp+16, 8 + + // var nCol int32 at bp+24, 4 + + // var op int32 at bp+28, 4 + + var iHash int32 + // var bIndirect int32 at bp+32, 4 + + // var pChange uintptr at bp+48, 8 + + var pExist uintptr = uintptr(0) + var pp uintptr + + if (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = SQLITE_ERROR + break + } + + Xsqlite3changeset_op(tls, pIter, bp+16 /* &zNew */, bp+24 /* &nCol */, bp+28 /* &op */, bp+32 /* &bIndirect */) + if !(pTab != 0) || (Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (*SessionTable)(unsafe.Pointer(pTab)).FzName) != 0) { + // Search the list for a matching table + var nNew int32 = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)))) + // var abPK uintptr at bp+40, 8 + + Xsqlite3changeset_pk(tls, pIter, bp+40 /* &abPK */, uintptr(0)) + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_strnicmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (nNew+1)) { + break + } + } + if !(pTab != 0) { + var ppTab uintptr + + pTab = Xsqlite3_malloc64(tls, (((uint64(unsafe.Sizeof(SessionTable{})) + uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + uint64(nNew)) + uint64(1))) + if !(pTab != 0) { + rc = SQLITE_NOMEM + break + } + libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(SessionTable{}))) + (*SessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 24 /* nCol */)) + (*SessionTable)(unsafe.Pointer(pTab)).FabPK = (pTab + 1*56) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + (*SessionTable)(unsafe.Pointer(pTab)).FzName = ((*SessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) + libc.Xmemcpy(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 16 /* zNew */)), (uint64(nNew + 1))) + + // The new object must be linked on to the end of the list, not + // simply added to the start of it. This is to ensure that the + // tables within the output of sqlite3changegroup_output() are in + // the right order. + for ppTab = (pGrp + 8 /* &.pList */); *(*uintptr)(unsafe.Pointer(ppTab)) != 0; ppTab = (*(*uintptr)(unsafe.Pointer(ppTab)) /* &.pNext */) { + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + } else if ((*SessionTable)(unsafe.Pointer(pTab)).FnCol != *(*int32)(unsafe.Pointer(bp + 24 /* nCol */))) || (libc.Xmemcmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nCol */)))) != 0) { + rc = SQLITE_SCHEMA + break + } + } + + if sessionGrowHash(tls, uintptr(0), (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { + rc = SQLITE_NOMEM + break + } + iHash = int32(sessionChangeHash(tls, + pTab, (libc.Bool32(((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0) && (*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE))), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + // Search for existing entry. If found, remove it from the hash table. + // Code below may link it back in. + for pp = ((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8); *(*uintptr)(unsafe.Pointer(pp)) != 0; pp = (*(*uintptr)(unsafe.Pointer(pp)) + 24 /* &.pNext */) { + var bPkOnly1 int32 = 0 + var bPkOnly2 int32 = 0 + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + bPkOnly1 = (libc.Bool32(int32((*SessionChange)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pp))))).Fop) == SQLITE_DELETE)) + bPkOnly2 = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 28 /* op */)) == SQLITE_DELETE)) + } + if sessionChangeEqual(tls, pTab, bPkOnly1, (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp /* aRec */))) != 0 { + pExist = *(*uintptr)(unsafe.Pointer(pp)) + *(*uintptr)(unsafe.Pointer(pp)) = (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry-- + break + } + } + + rc = sessionChangeMerge(tls, pTab, bRebase, + (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 28 /* op */)), *(*int32)(unsafe.Pointer(bp + 32 /* bIndirect */)), *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+48 /* &pChange */) + if rc != 0 { + break + } + if *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) != 0 { + (*SessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)))).FpNext = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 48 /* pChange */)) + (*SessionTable)(unsafe.Pointer(pTab)).FnEntry++ + } + } + + if rc == SQLITE_OK { + rc = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// Serialize a changeset (or patchset) based on all changesets (or patchsets) +// added to the changegroup object passed as the first argument. +// +// If xOutput is not NULL, then the changeset/patchset is returned to the +// user via one or more calls to xOutput, as with the other streaming +// interfaces. +// +// Or, if xOutput is NULL, then (*ppOut) is populated with a pointer to a +// buffer containing the output changeset before this function returns. In +// this case (*pnOut) is set to the size of the output buffer in bytes. It +// is the responsibility of the caller to free the output buffer using +// sqlite3_free() when it is no longer required. +// +// If successful, SQLITE_OK is returned. Or, if an error occurs, an SQLite +// error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut) +// are both set to 0 before returning. +func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211863:12: */ + bp := tls.Alloc(20) + defer tls.Free(20) + + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} + var pTab uintptr + + // Create the serialized output changeset based on the contents of the + // hash tables attached to the SessionTable objects in list p->pList. + for pTab = (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList; (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (pTab != 0); pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + var i int32 + if (*SessionTable)(unsafe.Pointer(pTab)).FnEntry == 0 { + continue + } + + sessionAppendTableHdr(tls, bp /* &buf */, (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch, pTab, bp+16 /* &rc */) + for i = 0; i < (*SessionTable)(unsafe.Pointer(pTab)).FnChange; i++ { + var p uintptr + for p = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(i)*8)); p != 0; p = (*SessionChange)(unsafe.Pointer(p)).FpNext { + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).Fop, bp+16 /* &rc */) + sessionAppendByte(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FbIndirect, bp+16 /* &rc */) + sessionAppendBlob(tls, bp /* &buf */, (*SessionChange)(unsafe.Pointer(p)).FaRecord, (*SessionChange)(unsafe.Pointer(p)).FnRecord, bp+16 /* &rc */) + if ((*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf >= sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 + } + } + } + } + + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf) + + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) +} + +// Allocate a new, empty, sqlite3_changegroup. +func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) int32 { /* sqlite3.c:211914:16: */ + var rc int32 = SQLITE_OK // Return code + var p uintptr // New object + p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_changegroup{}))) + if p == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Sqlite3_changegroup{}))) + } + *(*uintptr)(unsafe.Pointer(pp)) = p + return rc +} + +// Add the changeset currently stored in buffer pData, size nData bytes, +// to changeset-group p. +func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uintptr) int32 { /* sqlite3.c:211931:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nData, pData) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Obtain a buffer containing a changeset representing the concatenation +// of all changesets added to the group so far. +func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppData uintptr) int32 { /* sqlite3.c:211947:16: */ + return sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData) +} + +// Streaming versions of changegroup_add(). +func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) int32 { /* sqlite3.c:211958:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pIter uintptr at bp, 8 + // Iterator opened on pData/nData + var rc int32 // Return code + + rc = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), pGrp, 0) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Streaming versions of changegroup_output(). +func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:211977:16: */ + return sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0)) +} + +// Delete a changegroup object. +func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { /* sqlite3.c:211988:17: */ + if pGrp != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, pGrp) + } +} + +// Combine two changesets together. +func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight int32, pRight uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:211998:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nLeft, pLeft) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), nRight, pRight) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), pnOut, ppOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Streaming version of sqlite3changeset_concat(). +func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212027:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + // var pGrp uintptr at bp, 8 + + var rc int32 + + rc = Xsqlite3changegroup_new(tls, bp /* &pGrp */) + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputA, pInA) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xInputB, pInB) + } + if rc == SQLITE_OK { + rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */)), xOutput, pOut) + } + Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp /* pGrp */))) + + return rc +} + +// Buffers a1 and a2 must both contain a sessions module record nCol +// fields in size. This function appends an nCol sessions module +// record to buffer pBuf that is a copy of a1, except that for +// each field that is undefined in a1[], swap in the field from a2[]. +func sessionAppendRecordMerge(tls *libc.TLS, pBuf uintptr, nCol int32, a1 uintptr, n1 int32, a2 uintptr, n2 int32, pRc uintptr) { /* sqlite3.c:212066:13: */ + sessionBufferGrow(tls, pBuf, (int64(n1 + n2)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var i int32 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + for i = 0; i < nCol; i++ { + var nn1 int32 = sessionSerialLen(tls, a1) + var nn2 int32 = sessionSerialLen(tls, a2) + if (int32(*(*U8)(unsafe.Pointer(a1))) == 0) || (int32(*(*U8)(unsafe.Pointer(a1))) == 0xFF) { + libc.Xmemcpy(tls, pOut, a2, uint64(nn2)) + pOut += uintptr(nn2) + } else { + libc.Xmemcpy(tls, pOut, a1, uint64(nn1)) + pOut += uintptr(nn1) + } + a1 += uintptr(nn1) + a2 += uintptr(nn2) + } + + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + + } +} + +// This function is called when rebasing a local UPDATE change against one +// or more remote UPDATE changes. The aRec/nRec buffer contains the current +// old.* and new.* records for the change. The rebase buffer (a single +// record) is in aChange/nChange. The rebased change is appended to buffer +// pBuf. +// +// Rebasing the UPDATE involves: +// +// * Removing any changes to fields for which the corresponding field +// in the rebase buffer is set to "replaced" (type 0xFF). If this +// means the UPDATE change updates no fields, nothing is appended +// to the output buffer. +// +// * For each field modified by the local change for which the +// corresponding field in the rebase buffer is not "undefined" (0x00) +// or "replaced" (0xFF), the old.* value is replaced by the value +// in the rebase buffer. +func sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRec uintptr, nRec int32, aChange uintptr, nChange int32, pRc uintptr) { /* sqlite3.c:212115:13: */ + sessionBufferGrow(tls, pBuf, (int64((2 + nRec) + nChange)), pRc) + if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { + var bData int32 = 0 + var pOut uintptr = ((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + uintptr((*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf)) + var i int32 + var a1 uintptr = aRec + var a2 uintptr = aChange + + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(SQLITE_UPDATE) + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect) + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) == 0) { + if !(int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i)))) != 0) && (*(*U8)(unsafe.Pointer(a1)) != 0) { + bData = 1 + } + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else if int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF { + bData = 1 + libc.Xmemcpy(tls, pOut, a2, uint64(n2)) + pOut += uintptr(n2) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + if bData != 0 { + a2 = aChange + for i = 0; i < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; i++ { + var n1 int32 = sessionSerialLen(tls, a1) + var n2 int32 = sessionSerialLen(tls, a2) + if (*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK + uintptr(i))) != 0) || (int32(*(*U8)(unsafe.Pointer(a2))) != 0xFF) { + libc.Xmemcpy(tls, pOut, a1, uint64(n1)) + pOut += uintptr(n1) + } else { + *(*U8)(unsafe.Pointer(libc.PostIncUintptr(&pOut, 1))) = U8(0) + } + a1 += uintptr(n1) + a2 += uintptr(n2) + } + (*SessionBuffer)(unsafe.Pointer(pBuf)).FnBuf = (int32((int64(pOut) - int64((*SessionBuffer)(unsafe.Pointer(pBuf)).FaBuf)) / 1)) + } + } +} + +// pIter is configured to iterate through a changeset. This function rebases +// that changeset according to the current configuration of the rebaser +// object passed as the first argument. If no error occurs and argument xOutput +// is not NULL, then the changeset is returned to the caller by invoking +// xOutput zero or more times and SQLITE_OK returned. Or, if xOutput is NULL, +// then (*ppOut) is set to point to a buffer containing the rebased changeset +// before this function returns. In this case (*pnOut) is set to the size of +// the buffer in bytes. It is the responsibility of the caller to eventually +// free the (*ppOut) buffer using sqlite3_free(). +// +// If an error occurs, an SQLite error code is returned. If ppOut and +// pnOut are not NULL, then the two output parameters are set to 0 before +// returning. +func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212183:12: */ + bp := tls.Alloc(48) + defer tls.Free(48) + + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp /* aRec */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)) = 0 + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + var pTab uintptr = uintptr(0) + *(*SessionBuffer)(unsafe.Pointer(bp + 16 /* sOut */)) = SessionBuffer{} + + for SQLITE_ROW == sessionChangesetNext(tls, pIter, bp /* &aRec */, bp+8 /* &nRec */, bp+12 /* &bNew */) { + var pChange uintptr = uintptr(0) + var bDone int32 = 0 + + if *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) != 0 { + var zTab uintptr = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab + for pTab = (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList; pTab != 0; pTab = (*SessionTable)(unsafe.Pointer(pTab)).FpNext { + if 0 == Xsqlite3_stricmp(tls, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zTab) { + break + } + } + *(*int32)(unsafe.Pointer(bp + 12 /* bNew */)) = 0 + + // A patchset may not be rebased + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR + } + + // Append a table header to the output for this new table + sessionAppendByte(tls, bp+16 /* &sOut */, func() uint8 { + if (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { + return uint8('P') + } + return uint8('T') + }(), bp+32 /* &rc */) + sessionAppendVarint(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FabPK, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, (int32(libc.Xstrlen(tls, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab)) + 1), bp+32 /* &rc */) + } + + if (pTab != 0) && (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) { + var iHash int32 = int32(sessionChangeHash(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), (*SessionTable)(unsafe.Pointer(pTab)).FnChange)) + + for pChange = *(*uintptr)(unsafe.Pointer((*SessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)); pChange != 0; pChange = (*SessionChange)(unsafe.Pointer(pChange)).FpNext { + if sessionChangeEqual(tls, pTab, 0, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), 0, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord) != 0 { + break + } + } + } + + if pChange != 0 { + + switch (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop { + case SQLITE_INSERT: + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_UPDATE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + } + break + fallthrough + + case SQLITE_UPDATE: + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_DELETE { + if int32((*SessionChange)(unsafe.Pointer(pChange)).FbIndirect) == 0 { + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)) = *(*uintptr)(unsafe.Pointer(bp /* aRec */)) + sessionSkipRecord(tls, bp+40 /* &pCsr */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_INSERT), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + *(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */)), (int32(int64(*(*int32)(unsafe.Pointer(bp + 8 /* nRec */))) - ((int64(*(*uintptr)(unsafe.Pointer(bp + 40 /* pCsr */))) - int64(*(*uintptr)(unsafe.Pointer(bp /* aRec */)))) / 1))), + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + } else { + sessionAppendPartialUpdate(tls, bp+16 /* &sOut */, pIter, + *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, bp+32 /* &rc */) + } + break + fallthrough + + default: + + bDone = 1 + if int32((*SessionChange)(unsafe.Pointer(pChange)).Fop) == SQLITE_INSERT { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8(SQLITE_DELETE), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendRecordMerge(tls, bp+16 /* &sOut */, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol, + (*SessionChange)(unsafe.Pointer(pChange)).FaRecord, (*SessionChange)(unsafe.Pointer(pChange)).FnRecord, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + break + } + } + + if bDone == 0 { + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fop), bp+32 /* &rc */) + sessionAppendByte(tls, bp+16 /* &sOut */, uint8((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp+32 /* &rc */) + sessionAppendBlob(tls, bp+16 /* &sOut */, *(*uintptr)(unsafe.Pointer(bp /* aRec */)), *(*int32)(unsafe.Pointer(bp + 8 /* nRec */)), bp+32 /* &rc */) + } + if ((*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (xOutput != 0)) && ((*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > sessions_strm_chunk_size) { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf = 0 + } + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != 0 { + break + } + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK { + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + libc.Xmemset(tls, bp+16 /* &sOut */, 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + } + + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + if xOutput != 0 { + if (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf > 0 { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&xOutput)))(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FnBuf) + } + } else { + *(*uintptr)(unsafe.Pointer(ppOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf + *(*int32)(unsafe.Pointer(pnOut)) = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FnBuf + (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &sOut */)).FaBuf = uintptr(0) + } + } + Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+16 /* &sOut */)).FaBuf) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) +} + +// Create a new rebaser object. +func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) int32 { /* sqlite3.c:212315:16: */ + var rc int32 = SQLITE_OK + var pNew uintptr + + pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_rebaser{}))) + if pNew == uintptr(0) { + rc = SQLITE_NOMEM + } else { + libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(Sqlite3_rebaser{}))) + } + *(*uintptr)(unsafe.Pointer(ppNew)) = pNew + return rc +} + +// Call this one or more times to configure a rebaser. +func Xsqlite3rebaser_configure(tls *libc.TLS, p uintptr, nRebase int32, pRebase uintptr) int32 { /* sqlite3.c:212332:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator opened on pData/nData + var rc int32 // Return code + rc = Xsqlite3changeset_start(tls, bp /* &pIter */, nRebase, pRebase) + if rc == SQLITE_OK { + rc = sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), (p /* &.grp */), 1) + } + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pnOut uintptr, ppOut uintptr) int32 { /* sqlite3.c:212349:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start(tls, bp /* &pIter */, nIn, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), uintptr(0), uintptr(0), pnOut, ppOut) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Rebase a changeset according to current rebaser configuration +func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) int32 { /* sqlite3.c:212368:16: */ + bp := tls.Alloc(8) + defer tls.Free(8) + + *(*uintptr)(unsafe.Pointer(bp /* pIter */)) = uintptr(0) // Iterator to skip through input + var rc int32 = Xsqlite3changeset_start_strm(tls, bp /* &pIter */, xInput, pIn) + + if rc == SQLITE_OK { + rc = sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pIter */)), xOutput, pOut, uintptr(0), uintptr(0)) + Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pIter */))) + } + + return rc +} + +// Destroy a rebaser object +func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { /* sqlite3.c:212389:17: */ + if p != 0 { + sessionDeleteTable(tls, uintptr(0), (*Sqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, p) + } +} + +// Global configuration +func Xsqlite3session_config(tls *libc.TLS, op int32, pArg uintptr) int32 { /* sqlite3.c:212399:16: */ + var rc int32 = SQLITE_OK + switch op { + case SQLITE_SESSION_CONFIG_STRMSIZE: + { + var pInt uintptr = pArg + if *(*int32)(unsafe.Pointer(pInt)) > 0 { + sessions_strm_chunk_size = *(*int32)(unsafe.Pointer(pInt)) + } + *(*int32)(unsafe.Pointer(pInt)) = sessions_strm_chunk_size + break + + } + default: + rc = SQLITE_MISUSE + break + } + return rc +} + //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -212596,9 +218709,6 @@ type Fts5Global1 = struct { FpCsr uintptr } /* sqlite3.c:213118:9 */ -//************* End of dbpage.c ********************************************* -//************* Begin file sqlite3session.c ********************************* - //************* End of sqlite3session.c ************************************* //************* Begin file fts5.c ******************************************* @@ -213428,7 +219538,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+41884 /* "fts5: parser sta..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+43237 /* "fts5: parser sta..." */, 0) //******* End %stack_overflow code ******************************************* (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument var @@ -213751,7 +219861,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+41912 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) + pParse, ts+43265 /* "fts5: syntax err..." */, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp)) //*********** End %syntax_error code ***************************************** (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument variable @@ -214022,7 +220132,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+41943 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+43296 /* "%z%.*s" */, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM } @@ -214096,7 +220206,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 41950 /* "wrong number of ..." */ + var zErr uintptr = ts + 43303 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -214263,7 +220373,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 900 /* "" */ + return ts + 915 /* "" */ } // Implementation of snippet() function. @@ -214290,7 +220400,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 42000 /* "wrong number of ..." */ + var zErr uintptr = ts + 43353 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -214632,13 +220742,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 defer tls.Free(96) *(*[3]Builtin)(unsafe.Pointer(bp /* aBuiltin */)) = [3]Builtin{ - {FzFunc: ts + 42048 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 43401 /* "snippet" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5SnippetFunction}))}, - {FzFunc: ts + 42056 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 43409 /* "highlight" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5HighlightFunction}))}, - {FzFunc: ts + 42066 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + {FzFunc: ts + 43419 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5Bm25Function}))}, } @@ -215132,7 +221242,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+12638 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+12653 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -215311,7 +221421,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, ts+42071 /* "prefix" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+43424 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 @@ -215338,14 +221448,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+42078 /* "malformed prefix..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43431 /* "malformed prefix..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+42109 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) + ts+43462 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR break } @@ -215356,7 +221466,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42142 /* "prefix length ou..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43495 /* "prefix length ou..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR break } @@ -215369,7 +221479,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+42179 /* "tokenize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+43532 /* "tokenize" */, 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+64 /* &rc */, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nArg)))) @@ -215378,7 +221488,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+42188 /* "multiple tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43541 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { @@ -215397,7 +221507,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42221 /* "parse error in t..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43574 /* "parse error in t..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } else { *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, @@ -215412,14 +221522,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+42255 /* "content" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+43608 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42263 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43616 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = 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+64 /* &rc */, ts+42295 /* "%Q.%Q" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+43648 /* "%Q.%Q" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } @@ -215427,9 +221537,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+42301 /* "content_rowid" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+43654 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42315 /* "multiple content..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43668 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, zArg, -1) @@ -215437,9 +221547,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+42353 /* "columnsize" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+43706 /* "columnsize" */, 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+42364 /* "malformed column..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43717 /* "malformed column..." */, 0) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) @@ -215447,21 +221557,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+11569 /* "detail" */, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, ts+11584 /* "detail" */, zCmd, nCmd) == 0 { *(*[4]Fts5Enum)(unsafe.Pointer(bp + 72 /* aDetail */)) = [4]Fts5Enum{ - {FzName: ts + 23850 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 23855 /* "full" */}, - {FzName: ts + 42399 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, + {FzName: ts + 23865 /* "none" */, FeVal: FTS5_DETAIL_NONE}, + {FzName: ts + 23870 /* "full" */}, + {FzName: ts + 43752 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } if libc.AssignPtrInt32(bp+64 /* rc */, fts5ConfigSetEnum(tls, bp+72 /* &aDetail[0] */, zArg, (pConfig+92 /* &.eDetail */))) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42407 /* "malformed detail..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43760 /* "malformed detail..." */, 0) } return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42438 /* "unrecognized opt..." */, libc.VaList(bp+40, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43791 /* "unrecognized opt..." */, libc.VaList(bp+40, nCmd, zCmd)) return SQLITE_ERROR } @@ -215525,15 +221635,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, defer tls.Free(32) var rc int32 = SQLITE_OK - if (0 == Xsqlite3_stricmp(tls, zCol, ts+29448 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+14859 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42466 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) + if (0 == Xsqlite3_stricmp(tls, zCol, ts+29463 /* "rank" */)) || + (0 == Xsqlite3_stricmp(tls, zCol, ts+14874 /* "rowid" */)) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43819 /* "reserved fts5 co..." */, libc.VaList(bp, zCol)) rc = SQLITE_ERROR } else if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, ts+42496 /* "unindexed" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+43849 /* "unindexed" */) { *(*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+42506 /* "unrecognized col..." */, libc.VaList(bp+16, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43859 /* "unrecognized col..." */, libc.VaList(bp+16, zArg)) rc = SQLITE_ERROR } } @@ -215551,13 +221661,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK *(*Fts5Buffer)(unsafe.Pointer(bp + 56 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+42537 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+43890 /* "T.%Q" */, 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+48 /* &rc */, bp+56 /* &buf */, ts+42542 /* ", T.%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+43895 /* ", T.%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+42549 /* ", T.c%d" */, libc.VaList(bp+32, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+43902 /* ", T.c%d" */, libc.VaList(bp+32, i)) } } } @@ -215605,8 +221715,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, *(*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 + 64 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+29448 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42557 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) + if (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+29463 /* "rank" */) == 0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43910 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } @@ -215639,7 +221749,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+42586 /* "parse error in \"..." */, libc.VaList(bp+16, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43939 /* "parse error in \"..." */, libc.VaList(bp+16, zOrig)) *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { @@ -215647,7 +221757,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)) != 0 { return *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)) } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), pzErr) } else { *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 72 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)), pzErr) @@ -215672,19 +221782,19 @@ 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 + 42255 /* "content" */ + zTail = ts + 43608 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 42606 /* "docsize" */ + zTail = ts + 43959 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+64 /* &rc */, ts+42614 /* "%Q.'%q_%s'" */, libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+64 /* &rc */, ts+43967 /* "%Q.'%q_%s'" */, libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, ts+14859 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, ts+14874 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -215733,18 +221843,18 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+42625 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+43978 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 21203 /* ", " */ + return ts + 21218 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+42641 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+43994 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+42648, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+32, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+29448 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+44001, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+32, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+29463 /* "rank" */)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -215884,7 +221994,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+42674 /* "pgsz" */) { + if 0 == Xsqlite3_stricmp(tls, zKey, ts+44027 /* "pgsz" */) { var pgsz int32 = 0 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -215894,7 +222004,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+42679 /* "hashsize" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+44032 /* "hashsize" */) { var nHashSize int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -215904,7 +222014,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+42688 /* "automerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+44041 /* "automerge" */) { var nAutomerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -215917,7 +222027,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+42698 /* "usermerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+44051 /* "usermerge" */) { var nUsermerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -215927,7 +222037,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+42708 /* "crisismerge" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+44061 /* "crisismerge" */) { var nCrisisMerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -215943,7 +222053,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+29448 /* "rank" */) { + } else if 0 == Xsqlite3_stricmp(tls, zKey, ts+29463 /* "rank" */) { var zIn uintptr = Xsqlite3_value_text(tls, pVal) // var zRank uintptr at bp, 8 @@ -215970,7 +222080,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(68) defer tls.Free(68) - var zSelect uintptr = ts + 42720 /* "SELECT k, v FROM..." */ + var zSelect uintptr = ts + 44073 /* "SELECT k, v FROM..." */ var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK @@ -215993,7 +222103,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */))) { var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)), 0) var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)), 1) - if 0 == Xsqlite3_stricmp(tls, zK, ts+42752 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+44105 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 64 /* bDummy */)) = 0 @@ -216008,7 +222118,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+42760, /* "invalid fts5 fil..." */ + ts+44113, /* "invalid fts5 fil..." */ libc.VaList(bp+24, iVersion, FTS5_CURRENT_VERSION)) } } @@ -216142,7 +222252,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+42825 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+44178 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -216155,20 +222265,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+42845 /* "fts5: syntax err..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+44198 /* "fts5: syntax err..." */, 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+42876 /* "OR" */, uint64(2)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+44229 /* "OR" */, uint64(2)) == 0) { tok = FTS5_OR } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+42879 /* "NOT" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+44232 /* "NOT" */, uint64(3)) == 0) { tok = FTS5_NOT } - if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+38956 /* "AND" */, uint64(3)) == 0) { + if ((*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3) && (libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+38971 /* "AND" */, uint64(3)) == 0) { tok = FTS5_AND } break @@ -218141,9 +224251,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli bp := tls.Alloc(24) defer tls.Free(24) - if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+42883 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { + if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+44236 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { sqlite3Fts5ParseError(tls, - pParse, ts+41912 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) + pParse, ts+43265 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -218159,7 +224269,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+42888 /* "expected integer..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp)) + pParse, ts+44241 /* "expected integer..." */, 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')) @@ -218256,7 +224366,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+27610 /* "no such column: ..." */, libc.VaList(bp, z)) + sqlite3Fts5ParseError(tls, pParse, ts+27625 /* "no such column: ..." */, libc.VaList(bp, z)) } else { pRet = fts5ParseColset(tls, pParse, pColset, iCol) } @@ -218352,7 +224462,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE { (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+42917 /* "fts5: column que..." */, 0) + ts+44270 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -218536,12 +224646,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_mprintf(tls, - ts+42970, /* "fts5: %s queries..." */ + ts+44323, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 43020 /* "phrase" */ + return ts + 44373 /* "phrase" */ } - return ts + 42883 /* "NEAR" */ + return ts + 44236 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -218655,7 +224765,7 @@ func fts5PrintfAppend(tls *libc.TLS, zApp uintptr, zFmt uintptr, va uintptr) uin zNew = Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap if (zApp != 0) && (zNew != 0) { - var zNew2 uintptr = Xsqlite3_mprintf(tls, ts+11378 /* "%s%s" */, libc.VaList(bp, zApp, zNew)) + var zNew2 uintptr = Xsqlite3_mprintf(tls, ts+11393 /* "%s%s" */, libc.VaList(bp, zApp, zNew)) Xsqlite3_free(tls, zNew) zNew = zNew2 } @@ -218677,7 +224787,7 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var i int32 var iTerm int32 - zRet = fts5PrintfAppend(tls, zRet, ts+43027 /* "%s " */, libc.VaList(bp, zNearsetCmd)) + zRet = fts5PrintfAppend(tls, zRet, ts+44380 /* "%s " */, libc.VaList(bp, zNearsetCmd)) if zRet == uintptr(0) { return uintptr(0) } @@ -218685,13 +224795,13 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var aiCol uintptr = (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset + 4 /* &.aiCol */ var nCol int32 = (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol if nCol == 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+43031 /* "-col %d " */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+44384 /* "-col %d " */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+43040 /* "-col {%d" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+44393 /* "-col {%d" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(aiCol)))) for i = 1; i < (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol; i++ { - zRet = fts5PrintfAppend(tls, zRet, ts+43049 /* " %d" */, libc.VaList(bp+48, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) + zRet = fts5PrintfAppend(tls, zRet, ts+44402 /* " %d" */, libc.VaList(bp+48, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) } - zRet = fts5PrintfAppend(tls, zRet, ts+43053 /* "} " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+44406 /* "} " */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -218699,13 +224809,13 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+43056 /* "-near %d " */, libc.VaList(bp+64, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+44409 /* "-near %d " */, libc.VaList(bp+64, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } } - zRet = fts5PrintfAppend(tls, zRet, ts+43066 /* "--" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+44419 /* "--" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -218713,22 +224823,22 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((pNear + 24 /* &.apPhrase */) + uintptr(i)*8)) - zRet = fts5PrintfAppend(tls, zRet, ts+43069 /* " {" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+44422 /* " {" */, 0) for iTerm = 0; (zRet != 0) && (iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm); iTerm++ { var zTerm uintptr = (*Fts5ExprTerm)(unsafe.Pointer((pPhrase + 32 /* &.aTerm */) + uintptr(iTerm)*32)).FzTerm - zRet = fts5PrintfAppend(tls, zRet, ts+11378 /* "%s%s" */, libc.VaList(bp+80, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+11393 /* "%s%s" */, libc.VaList(bp+80, func() uintptr { if iTerm == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 17488 /* " " */ + return ts + 17503 /* " " */ }(), zTerm)) if (*Fts5ExprTerm)(unsafe.Pointer((pPhrase+32 /* &.aTerm */)+uintptr(iTerm)*32)).FbPrefix != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+26160 /* "*" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+26175 /* "*" */, 0) } } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+35595 /* "}" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+35610 /* "}" */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -218740,27 +224850,27 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var i int32 switch (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType { case FTS5_AND: - zOp = ts + 38956 /* "AND" */ + zOp = ts + 38971 /* "AND" */ break fallthrough case FTS5_NOT: - zOp = ts + 42879 /* "NOT" */ + zOp = ts + 44232 /* "NOT" */ break fallthrough default: - zOp = ts + 42876 /* "OR" */ + zOp = ts + 44229 /* "OR" */ break } - zRet = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+104, zOp)) + zRet = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+104, zOp)) for i = 0; (zRet != 0) && (i < (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FnChild); i++ { var z uintptr = fts5ExprPrintTcl(tls, pConfig, zNearsetCmd, *(*uintptr)(unsafe.Pointer((pExpr + 48 /* &.apChild */) + uintptr(i)*8))) if !(z != 0) { Xsqlite3_free(tls, zRet) zRet = uintptr(0) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+43072 /* " [%z]" */, libc.VaList(bp+120, z)) + zRet = fts5PrintfAppend(tls, zRet, ts+44425 /* " [%z]" */, libc.VaList(bp+120, z)) } } } @@ -218774,7 +224884,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s var zRet uintptr = uintptr(0) if (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == 0 { - return Xsqlite3_mprintf(tls, ts+43078 /* "\"\"" */, 0) + return Xsqlite3_mprintf(tls, ts+44431 /* "\"\"" */, 0) } else if ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_STRING) || ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_TERM) { var pNear uintptr = (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FpNear var i int32 @@ -218784,23 +224894,23 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s var ii int32 var pColset uintptr = (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset if (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+43081 /* "{" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+44434 /* "{" */, 0) } for ii = 0; ii < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; ii++ { - zRet = fts5PrintfAppend(tls, zRet, ts+11378, /* "%s%s" */ + zRet = fts5PrintfAppend(tls, zRet, ts+11393, /* "%s%s" */ libc.VaList(bp, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(*(*int32)(unsafe.Pointer((pColset + 4 /* &.aiCol */) + uintptr(ii)*4)))*8)), func() uintptr { if ii == ((*Fts5Colset)(unsafe.Pointer(pColset)).FnCol - 1) { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 17488 /* " " */ + return ts + 17503 /* " " */ }())) } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+43083 /* "%s : " */, libc.VaList(bp+24, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+44436 /* "%s : " */, libc.VaList(bp+24, func() uintptr { if (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol > 1 { - return ts + 35595 /* "}" */ + return ts + 35610 /* "}" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) } if zRet == uintptr(0) { @@ -218809,7 +224919,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+43089 /* "NEAR(" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+44442 /* "NEAR(" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -218818,7 +224928,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s for i = 0; i < (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase; i++ { var pPhrase uintptr = *(*uintptr)(unsafe.Pointer((pNear + 24 /* &.apPhrase */) + uintptr(i)*8)) if i != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+17488 /* " " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+17503 /* " " */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -218826,11 +224936,11 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s for iTerm = 0; iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; iTerm++ { var zTerm uintptr = fts5ExprTermPrint(tls, ((pPhrase + 32 /* &.aTerm */) + uintptr(iTerm)*32)) if zTerm != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+11378 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+11393 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { if iTerm == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } - return ts + 43095 /* " + " */ + return ts + 44448 /* " + " */ }(), zTerm)) Xsqlite3_free(tls, zTerm) } @@ -218842,7 +224952,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+43099 /* ", %d)" */, libc.VaList(bp+64, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+44452 /* ", %d)" */, libc.VaList(bp+64, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } @@ -218854,16 +224964,16 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s switch (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType { case FTS5_AND: - zOp = ts + 28657 /* " AND " */ + zOp = ts + 28672 /* " AND " */ break fallthrough case FTS5_NOT: - zOp = ts + 43105 /* " NOT " */ + zOp = ts + 44458 /* " NOT " */ break fallthrough default: - zOp = ts + 43111 /* " OR " */ + zOp = ts + 42124 /* " OR " */ break } @@ -218875,23 +224985,23 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } else { var e int32 = (*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((pExpr + 48 /* &.apChild */) + uintptr(i)*8)))).FeType var b int32 = (libc.Bool32(((e != FTS5_STRING) && (e != FTS5_TERM)) && (e != FTS5_EOF))) - zRet = fts5PrintfAppend(tls, zRet, ts+43116, /* "%s%s%z%s" */ + zRet = fts5PrintfAppend(tls, zRet, ts+44464, /* "%s%s%z%s" */ libc.VaList(bp+80, func() uintptr { if i == 0 { - return ts + 900 /* "" */ + return ts + 915 /* "" */ } return zOp }(), func() uintptr { if b != 0 { - return ts + 28663 /* "(" */ + return ts + 28678 /* "(" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), z, func() uintptr { if b != 0 { - return ts + 11449 /* ")" */ + return ts + 11464 /* ")" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) } if zRet == uintptr(0) { @@ -218917,18 +225027,18 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT var rc int32 var i int32 var azConfig uintptr // Array of arguments for Fts5Config - var zNearsetCmd uintptr = ts + 43125 /* "nearset" */ + var zNearsetCmd uintptr = ts + 44473 /* "nearset" */ var nConfig int32 // Size of azConfig[] *(*uintptr)(unsafe.Pointer(bp + 16 /* pConfig */)) = uintptr(0) var iArg int32 = 1 if nArg < 1 { - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErr */)) = Xsqlite3_mprintf(tls, ts+43133, /* "wrong number of ..." */ + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErr */)) = Xsqlite3_mprintf(tls, ts+44481, /* "wrong number of ..." */ libc.VaList(bp, func() uintptr { if bTcl != 0 { - return ts + 43174 /* "fts5_expr_tcl" */ + return ts + 44522 /* "fts5_expr_tcl" */ } - return ts + 43188 /* "fts5_expr" */ + return ts + 44536 /* "fts5_expr" */ }())) Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErr */)), -1) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErr */))) @@ -218947,21 +225057,21 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT return } *(*uintptr)(unsafe.Pointer(azConfig)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(azConfig + 1*8)) = ts + 13128 /* "main" */ - *(*uintptr)(unsafe.Pointer(azConfig + 2*8)) = ts + 18083 /* "tbl" */ + *(*uintptr)(unsafe.Pointer(azConfig + 1*8)) = ts + 13143 /* "main" */ + *(*uintptr)(unsafe.Pointer(azConfig + 2*8)) = ts + 18098 /* "tbl" */ for i = 3; iArg < nArg; iArg++ { var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iArg)*8))) *(*uintptr)(unsafe.Pointer(azConfig + uintptr(libc.PostIncInt32(&i, 1))*8)) = func() uintptr { if z != 0 { return z } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() } zExpr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))) if zExpr == uintptr(0) { - zExpr = ts + 900 /* "" */ + zExpr = ts + 915 /* "" */ } rc = sqlite3Fts5ConfigParse(tls, pGlobal, db, nConfig, azConfig, bp+16 /* &pConfig */, bp+24 /* &zErr */) @@ -218971,7 +225081,7 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT if rc == SQLITE_OK { var zText uintptr if (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pExpr */)))).FpRoot)).FxNext == uintptr(0) { - zText = Xsqlite3_mprintf(tls, ts+900 /* "" */, 0) + zText = Xsqlite3_mprintf(tls, ts+915 /* "" */, 0) } else if bTcl != 0 { zText = fts5ExprPrintTcl(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pConfig */)), zNearsetCmd, (*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pExpr */)))).FpRoot) } else { @@ -219018,13 +225128,13 @@ func fts5ExprIsAlnum(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { / if nArg != 1 { Xsqlite3_result_error(tls, pCtx, - ts+43198 /* "wrong number of ..." */, -1) + ts+44546 /* "wrong number of ..." */, -1) return } libc.Xmemset(tls, bp /* &aArr[0] */, 0, uint64(unsafe.Sizeof([32]U8{}))) - sqlite3Fts5UnicodeCatParse(tls, ts+43249 /* "L*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+43252 /* "N*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+43255 /* "Co" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+44597 /* "L*" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+44600 /* "N*" */, bp /* &aArr[0] */) + sqlite3Fts5UnicodeCatParse(tls, ts+44603 /* "Co" */, bp /* &aArr[0] */) iCode = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal))) Xsqlite3_result_int(tls, pCtx, int32(*(*U8)(unsafe.Pointer(bp /* &aArr[0] */ + uintptr(sqlite3Fts5UnicodeCategory(tls, U32(iCode))))))) } @@ -219032,7 +225142,7 @@ func fts5ExprIsAlnum(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { / func fts5ExprFold(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:220197:13: */ if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, pCtx, - ts+43258 /* "wrong number of ..." */, -1) + ts+44606 /* "wrong number of ..." */, -1) } else { var iCode int32 var bRemoveDiacritics int32 = 0 @@ -219051,16 +225161,16 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* defer tls.Free(64) *(*[4]Fts5ExprFunc)(unsafe.Pointer(bp /* aFunc */)) = [4]Fts5ExprFunc{ - {Fz: ts + 43188 /* "fts5_expr" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 44536 /* "fts5_expr" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFunctionHr}))}, - {Fz: ts + 43174 /* "fts5_expr_tcl" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 44522 /* "fts5_expr_tcl" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFunctionTcl}))}, - {Fz: ts + 43306 /* "fts5_isalnum" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 44654 /* "fts5_isalnum" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprIsAlnum}))}, - {Fz: ts + 43319 /* "fts5_fold" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { + {Fz: ts + 44667 /* "fts5_fold" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5ExprFold}))}, } @@ -220477,7 +226587,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr { /* sqlite3.c:2 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+43329 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+44677 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) } // If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls @@ -220565,7 +226675,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 /* &.pWriter */), Xsqlite3_mprintf(tls, - ts+43335, /* "REPLACE INTO '%q..." */ + ts+44683, /* "REPLACE INTO '%q..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return @@ -220593,7 +226703,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig var zSql uintptr = Xsqlite3_mprintf(tls, - ts+43386, /* "DELETE FROM '%q'..." */ + ts+44734, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if fts5IndexPrepareStmt(tls, p, (p+72 /* &.pDeleter */), zSql) != 0 { return @@ -220617,7 +226727,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3. if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 88 /* &.pIdxDeleter */), Xsqlite3_mprintf(tls, - ts+43435, /* "DELETE FROM '%q'..." */ + ts+44783, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -220825,7 +226935,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12 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 /* &.pDataVersion */), - Xsqlite3_mprintf(tls, ts+43475 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + Xsqlite3_mprintf(tls, ts+44823 /* "PRAGMA %Q.data_v..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return int64(0) } @@ -222260,7 +228370,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:2 var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig fts5IndexPrepareStmt(tls, p, (p + 96 /* &.pIdxSelect */), Xsqlite3_mprintf(tls, - ts+43498, /* "SELECT pgno FROM..." */ + ts+44846, /* "SELECT pgno FROM..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect @@ -223517,7 +229627,7 @@ func fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { /* sqlite3 if (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { return (*Fts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -223858,7 +229968,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 /* &.pIdxWriter */), Xsqlite3_mprintf(tls, - ts+43582, /* "INSERT INTO '%q'..." */ + ts+44930, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -225075,7 +231185,7 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 fts5StructureInvalidate(tls, p) fts5IndexDiscardData(tls, p) libc.Xmemset(tls, bp /* &s */, 0, uint64(unsafe.Sizeof(Fts5Structure{}))) - fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+900 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+915 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -225096,13 +231206,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { (*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT - (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+43639 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+44987 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5CreateTable(tls, - pConfig, ts+33987 /* "data" */, ts+43647 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+34002 /* "data" */, ts+44995 /* "id INTEGER PRIMA..." */, 0, pzErr) if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+18079, /* "idx" */ - ts+43682, /* "segid, term, pgn..." */ + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+18094, /* "idx" */ + ts+45030, /* "segid, term, pgn..." */ 1, pzErr) } if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { @@ -225408,7 +231518,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 { /* sqlite3Fts5Put32(tls, bp /* &aCookie[0] */, iNew) rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, - ts+43329 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) + ts+44677 /* "block" */, int64(FTS5_STRUCTURE_ROWID), 1, bp+8 /* &pBlob */) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)), bp /* &aCookie[0] */, 4, 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */))) @@ -225545,7 +231655,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+32 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+43726, /* "SELECT segid, te..." */ + ts+45074, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. @@ -225755,7 +231865,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks } else { (*Fts5Buffer)(unsafe.Pointer(bp + 16 /* &poslist */)).Fn = 0 fts5SegiterPoslist(tls, p, ((*(*uintptr)(unsafe.Pointer(bp /* pIter */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pIter */)))).FaFirst+1*4)).FiFirst)*120), uintptr(0), bp+16 /* &poslist */) - sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+43812 /* "\x00\x00\x00\x00" */) + sqlite3Fts5BufferAppendBlob(tls, (p + 52 /* &.rc */), bp+16 /* &poslist */, uint32(4), ts+45160 /* "\x00\x00\x00\x00" */) for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16 /* &poslist */)).Fn, bp+32 /* &iOff */, bp+40 /* &iPos */) { var iCol int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) >> 32)) var iTokOff int32 = (int32(*(*I64)(unsafe.Pointer(bp + 40 /* iPos */)) & int64(0x7FFFFFFF))) @@ -225811,17 +231921,17 @@ func fts5DebugRowid(tls *libc.TLS, pRc uintptr, pBuf uintptr, iKey I64) { /* sql if *(*int32)(unsafe.Pointer(bp + 40 /* iSegid */)) == 0 { if iKey == int64(FTS5_AVERAGES_ROWID) { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+43817 /* "{averages} " */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45165 /* "{averages} " */, 0) } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+43829 /* "{structure}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45177 /* "{structure}" */, 0) } } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+43841, /* "{%ssegid=%d h=%d..." */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45189, /* "{%ssegid=%d h=%d..." */ libc.VaList(bp, func() uintptr { if *(*int32)(unsafe.Pointer(bp + 44 /* bDlidx */)) != 0 { - return ts + 43867 /* "dlidx " */ + return ts + 45215 /* "dlidx " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), *(*int32)(unsafe.Pointer(bp + 40 /* iSegid */)), *(*int32)(unsafe.Pointer(bp + 48 /* iHeight */)), *(*int32)(unsafe.Pointer(bp + 52 /* iPgno */)))) } } @@ -225836,13 +231946,13 @@ func fts5DebugStructure(tls *libc.TLS, pRc uintptr, pBuf uintptr, p uintptr) { / for iLvl = 0; iLvl < (*Fts5Structure)(unsafe.Pointer(p)).FnLevel; iLvl++ { var pLvl uintptr = ((p + 24 /* &.aLevel */) + uintptr(iLvl)*16) sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, - ts+43874 /* " {lvl=%d nMerge=..." */, libc.VaList(bp, iLvl, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnMerge, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg)) + ts+45222 /* " {lvl=%d nMerge=..." */, libc.VaList(bp, iLvl, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnMerge, (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg)) for iSeg = 0; iSeg < (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg; iSeg++ { var pSeg uintptr = ((*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FaSeg + uintptr(iSeg)*12) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+43901, /* " {id=%d leaves=%..." */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45249, /* " {id=%d leaves=%..." */ libc.VaList(bp+32, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast)) } - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+35595 /* "}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+35610 /* "}" */, 0) } } @@ -225878,14 +231988,14 @@ func fts5DecodeAverages(tls *libc.TLS, pRc uintptr, pBuf uintptr, pBlob uintptr, defer tls.Free(32) var i int32 = 0 - var zSpace uintptr = ts + 900 /* "" */ + var zSpace uintptr = ts + 915 /* "" */ for i < nBlob { // var iVal U64 at bp+24, 8 i = i + (int32(sqlite3Fts5GetVarint(tls, (pBlob + uintptr(i)), bp+24 /* &iVal */))) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+43924 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 24 /* iVal */))))) - zSpace = ts + 17488 /* " " */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45272 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 24 /* iVal */))))) + zSpace = ts + 17503 /* " " */ } } @@ -225903,7 +232013,7 @@ func fts5DecodePoslist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // var iVal int32 at bp+16, 4 iOff = iOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff)), bp+16 /* &iVal */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+43049 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* iVal */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+44402 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* iVal */)))) } return iOff } @@ -225923,7 +232033,7 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in if n > 0 { iOff = int32(sqlite3Fts5GetVarint(tls, a, bp+56 /* &iDocid */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+43929 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 56 /* iDocid */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45277 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 56 /* iDocid */)))) } for iOff < n { // var nPos int32 at bp+64, 4 @@ -225931,11 +232041,11 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // var bDel int32 at bp+68, 4 iOff = iOff + (fts5GetPoslistSize(tls, (a + uintptr(iOff)), bp+64 /* &nPos */, bp+68 /* &bDel */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+43938 /* " nPos=%d%s" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(bp + 64 /* nPos */)), func() uintptr { + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45286 /* " nPos=%d%s" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(bp + 64 /* nPos */)), func() uintptr { if *(*int32)(unsafe.Pointer(bp + 68 /* bDel */)) != 0 { - return ts + 26160 /* "*" */ + return ts + 26175 /* "*" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) iOff = iOff + (fts5DecodePoslist(tls, pRc, pBuf, (a + uintptr(iOff)), func() int32 { if (n - iOff) < (*(*int32)(unsafe.Pointer(bp + 64 /* nPos */))) { @@ -225948,7 +232058,7 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in iOff = iOff + (int32(sqlite3Fts5GetVarint(tls, (a + uintptr(iOff)), bp+72 /* &iDelta */))) *(*I64)(unsafe.Pointer(bp + 56 /* iDocid */)) += *(*I64)(unsafe.Pointer(bp + 72 /* iDelta */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+43929 /* " id=%lld" */, libc.VaList(bp+40, *(*I64)(unsafe.Pointer(bp + 56 /* iDocid */)))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45277 /* " id=%lld" */, libc.VaList(bp+40, *(*I64)(unsafe.Pointer(bp + 56 /* iDocid */)))) } } @@ -225974,7 +232084,7 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr var iRowid I64 = int64(0) for i < nData { - var zApp uintptr = ts + 900 /* "" */ + var zApp uintptr = ts + 915 /* "" */ // var iVal U64 at bp+24, 8 i = i + (int32(sqlite3Fts5GetVarint(tls, (pData + uintptr(i)), bp+24 /* &iVal */))) @@ -225984,13 +232094,13 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr i++ if (i < nData) && (int32(*(*U8)(unsafe.Pointer(pData + uintptr(i)))) == 0x00) { i++ - zApp = ts + 43949 /* "+" */ + zApp = ts + 45297 /* "+" */ } else { - zApp = ts + 26160 /* "*" */ + zApp = ts + 26175 /* "*" */ } } - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+43951 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45299 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) } } @@ -226097,7 +232207,7 @@ __5: goto __7 } sqlite3Fts5BufferAppendPrintf(tls, bp+88 /* &rc */, bp+72, /* &s */ - ts+43959 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+112 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+112 /* &lvl */)).FiRowid)) + ts+45307 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+112 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+112 /* &lvl */)).FiRowid)) goto __6 __6: fts5DlidxLvlNext(tls, bp+112 /* &lvl */) @@ -226152,7 +232262,7 @@ __16: (*Fts5Buffer)(unsafe.Pointer(bp + 160 /* &term */)).Fn = *(*int32)(unsafe.Pointer(bp + 188 /* nKeep */)) sqlite3Fts5BufferAppendBlob(tls, bp+88 /* &rc */, bp+160 /* &term */, uint32(*(*int32)(unsafe.Pointer(bp + 180 /* nAppend */))), (a + uintptr(iOff))) sqlite3Fts5BufferAppendPrintf(tls, - bp+88 /* &rc */, bp+72 /* &s */, ts+43969 /* " term=%.*s" */, libc.VaList(bp+24, (*Fts5Buffer)(unsafe.Pointer(bp+160 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+160 /* &term */)).Fp)) + bp+88 /* &rc */, bp+72 /* &s */, ts+45317 /* " term=%.*s" */, libc.VaList(bp+24, (*Fts5Buffer)(unsafe.Pointer(bp+160 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+160 /* &term */)).Fp)) iOff = iOff + (*(*int32)(unsafe.Pointer(bp + 180 /* nAppend */))) // Figure out where the doclist for this term ends @@ -226191,7 +232301,7 @@ __12: if !(n < 4) { goto __21 } - sqlite3Fts5BufferSet(tls, bp+88 /* &rc */, bp+72 /* &s */, 7, ts+43980 /* "corrupt" */) + sqlite3Fts5BufferSet(tls, bp+88 /* &rc */, bp+72 /* &s */, 7, ts+45328 /* "corrupt" */) goto decode_out goto __22 __21: @@ -226313,7 +232423,7 @@ __39: iOff1 = iOff1 + (*(*int32)(unsafe.Pointer(bp + 212 /* nByte */))) sqlite3Fts5BufferAppendPrintf(tls, - bp+88 /* &rc */, bp+72 /* &s */, ts+43969 /* " term=%.*s" */, libc.VaList(bp+48, (*Fts5Buffer)(unsafe.Pointer(bp+192 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+192 /* &term1 */)).Fp)) + bp+88 /* &rc */, bp+72 /* &s */, ts+45317 /* " term=%.*s" */, libc.VaList(bp+48, (*Fts5Buffer)(unsafe.Pointer(bp+192 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+192 /* &term1 */)).Fp)) iOff1 = iOff1 + (fts5DecodeDoclist(tls, bp+88 /* &rc */, bp+72 /* &s */, (a + uintptr(iOff1)), (iEnd - iOff1))) goto __32 __33: @@ -226345,16 +232455,16 @@ __41: func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:227717:13: */ var zArg uintptr if nArg == 0 { - Xsqlite3_result_error(tls, pCtx, ts+43988 /* "should be: fts5_..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+45336 /* "should be: fts5_..." */, -1) } else { zArg = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))) - if 0 == Xsqlite3_stricmp(tls, zArg, ts+44025 /* "segment" */) { + if 0 == Xsqlite3_stricmp(tls, zArg, ts+45373 /* "segment" */) { var iRowid I64 var segid int32 var pgno int32 if nArg != 3 { Xsqlite3_result_error(tls, pCtx, - ts+44033 /* "should be: fts5_..." */, -1) + ts+45381 /* "should be: fts5_..." */, -1) } else { segid = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) pgno = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal + 2*8))) @@ -226363,7 +232473,7 @@ func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { } } else { Xsqlite3_result_error(tls, pCtx, - ts+44080 /* "first arg to fts..." */, -1) + ts+45428 /* "first arg to fts..." */, -1) } } } @@ -226376,13 +232486,13 @@ func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { // SQLite error code is returned instead. func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:227757:12: */ var rc int32 = Xsqlite3_create_function(tls, - db, ts+44124 /* "fts5_decode" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + db, ts+45472 /* "fts5_decode" */, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5DecodeFunction})), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+44136 /* "fts5_decode_none" */, 2, + db, ts+45484 /* "fts5_decode_none" */, 2, SQLITE_UTF8, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5DecodeFunction})), uintptr(0), uintptr(0)) @@ -226390,7 +232500,7 @@ func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:227757 if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+44153 /* "fts5_rowid" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + db, ts+45501 /* "fts5_rowid" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5RowidFunction})), uintptr(0), uintptr(0)) } @@ -226771,7 +232881,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+44164 /* "recursively defi..." */, 0) + ts+45512 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -226805,7 +232915,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } else if iCol >= 0 { bSeenMatch = 1 *(*int8)(unsafe.Pointer(idxStr + uintptr(libc.PostIncInt32(&iIdxStr, 1)))) = int8('M') - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+11407 /* "%d" */, libc.VaList(bp, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+11422 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) } @@ -226821,7 +232931,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+11407 /* "%d" */, libc.VaList(bp+16, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+11422 /* "%d" */, libc.VaList(bp+16, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -227164,7 +233274,7 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: rc = Xsqlite3_reset(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -227196,7 +233306,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, uint32(SQLITE_PREPARE_PERSISTENT), bp+16 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -227235,25 +233345,25 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3 // // If SQLite a built-in statement cache, this wouldn't be a problem. rc = fts5PrepareStatement(tls, (pSorter /* &.pStmt */), pConfig, - ts+44203, /* "SELECT rowid, ra..." */ + ts+45551, /* "SELECT rowid, ra..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, func() uintptr { if zRankArgs != 0 { - return ts + 21203 /* ", " */ + return ts + 21218 /* ", " */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 44258 /* "DESC" */ + return ts + 45606 /* "DESC" */ } - return ts + 44263 /* "ASC" */ + return ts + 45611 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -227304,13 +233414,13 @@ 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+44267 /* "reads" */, z, n)) { + if (n == 5) && (0 == Xsqlite3_strnicmp(tls, ts+45615 /* "reads" */, 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+11551 /* "id" */, z, n)) { + } else if (n == 2) && (0 == Xsqlite3_strnicmp(tls, ts+11566 /* "id" */, z, n)) { (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { // An unrecognized directive. Return an error message. - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+44273 /* "unknown special ..." */, libc.VaList(bp, n, z)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+45621 /* "unknown special ..." */, libc.VaList(bp, n, z)) rc = SQLITE_ERROR } @@ -227345,7 +233455,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+32 /* &rc */, ts+44301 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+32 /* &rc */, ts+45649 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, @@ -227377,7 +233487,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:2288 pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+44311 /* "no such function..." */, libc.VaList(bp+16, zRank)) + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+45659 /* "no such function..." */, libc.VaList(bp+16, zRank)) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR } } @@ -227409,14 +233519,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin *(*int32)(unsafe.Pointer(pCsr + 80 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+44332 /* "parse error in r..." */, libc.VaList(bp, z)) + ts+45680 /* "parse error in r..." */, 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 + 42066 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 43419 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -227482,7 +233592,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+44164 /* "recursively defi..." */, 0) + ts+45512 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -227528,7 +233638,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 900 /* "" */ + zText = ts + 915 /* "" */ __14: ; iCol = 0 @@ -227717,7 +233827,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+44365 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + ts+45713 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = SQLITE_ERROR goto __41 __40: @@ -227854,7 +233964,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql rc = (SQLITE_CORRUPT | (int32(1) << 8)) } else if (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+936 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) + ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) } } } @@ -227891,29 +234001,29 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr) var rc int32 = SQLITE_OK *(*int32)(unsafe.Pointer(bp /* bError */)) = 0 - if 0 == Xsqlite3_stricmp(tls, ts+44401 /* "delete-all" */, zCmd) { + if 0 == Xsqlite3_stricmp(tls, ts+45749 /* "delete-all" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { fts5SetVtabError(tls, pTab, - ts+44412 /* "'delete-all' may..." */, 0) + ts+45760 /* "'delete-all' may..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+44492 /* "rebuild" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+45840 /* "rebuild" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE { fts5SetVtabError(tls, pTab, - ts+44500 /* "'rebuild' may no..." */, 0) + ts+45848 /* "'rebuild' may no..." */, 0) rc = SQLITE_ERROR } else { rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) } - } else if 0 == Xsqlite3_stricmp(tls, ts+23460 /* "optimize" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+23475 /* "optimize" */, zCmd) { rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage) - } else if 0 == Xsqlite3_stricmp(tls, ts+44556 /* "merge" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+45904 /* "merge" */, 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+44562 /* "integrity-check" */, zCmd) { + } else if 0 == Xsqlite3_stricmp(tls, ts+45910 /* "integrity-check" */, zCmd) { var iArg int32 = Xsqlite3_value_int(tls, pVal) rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg) } else { @@ -227987,7 +234097,7 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // A "special" INSERT op. These are handled separately. var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*8))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && - (0 == Xsqlite3_stricmp(tls, ts+23989 /* "delete" */, z)) { + (0 == Xsqlite3_stricmp(tls, ts+24004 /* "delete" */, z)) { *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*8))) @@ -228012,12 +234122,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p // This is not suported. if (eType0 == SQLITE_INTEGER) && (fts5IsContentless(tls, pTab) != 0) { (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+44578, /* "cannot %s conten..." */ + ts+45926, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 27406 /* "UPDATE" */ + return ts + 27421 /* "UPDATE" */ } - return ts + 44615 /* "DELETE from" */ + return ts + 45963 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -228687,7 +234797,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+44627 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) + var zErr uintptr = Xsqlite3_mprintf(tls, ts+45975 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } else { @@ -228992,7 +235102,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+44648 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+45996 /* "no such tokenize..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg)))) } else { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pMod + 16 /* &.x */ /* &.xCreate */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { @@ -229009,7 +235119,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg (*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = (pMod + 16 /* &.x */) if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+44670 /* "error in tokeniz..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+46018 /* "error in tokeniz..." */, 0) } } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls, @@ -229056,7 +235166,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s var ppApi uintptr _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+44701 /* "fts5_api_ptr" */) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+46049 /* "fts5_api_ptr" */) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = (pGlobal /* &.api */) } @@ -229067,7 +235177,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+44714 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, pCtx, ts+46062 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) } // Return true if zName is the extension on one of the shadow tables used @@ -229083,7 +235193,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 44805 /* "config" */, ts + 42255 /* "content" */, ts + 33987 /* "data" */, ts + 42606 /* "docsize" */, ts + 18079, /* "idx" */ + ts + 46153 /* "config" */, ts + 43608 /* "content" */, ts + 34002 /* "data" */, ts + 43959 /* "docsize" */, ts + 18094, /* "idx" */ } /* sqlite3.c:230593:21 */ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ @@ -229107,7 +235217,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ (*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+44812 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) + rc = Xsqlite3_create_module_v2(tls, db, ts+46160 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) if rc == SQLITE_OK { rc = sqlite3Fts5IndexInit(tls, db) } @@ -229125,13 +235235,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+44812 /* "fts5" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+46160 /* "fts5" */, 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+44817 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { + db, ts+46165 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5SourceIdFunc})), uintptr(0), uintptr(0)) } @@ -229197,20 +235307,20 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p if *(*uintptr)(unsafe.Pointer((p + 40 /* &.aStmt */) + uintptr(eStmt)*8)) == uintptr(0) { *(*[11]uintptr)(unsafe.Pointer(bp + 176 /* azStmt */)) = [11]uintptr{ - ts + 44832, /* "SELECT %s FROM %..." */ - ts + 44900, /* "SELECT %s FROM %..." */ - ts + 44969, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 46180, /* "SELECT %s FROM %..." */ + ts + 46248, /* "SELECT %s FROM %..." */ + ts + 46317, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 45002, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 45041, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 45081, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 45120, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 45161, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE + ts + 46350, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT + ts + 46389, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT + ts + 46429, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT + ts + 46468, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE + ts + 46509, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE - ts + 45200, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 46548, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 45242, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 45282, /* "SELECT %s FROM %..." */ // SCAN + ts + 46590, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG + ts + 46630, /* "SELECT %s FROM %..." */ // SCAN } var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr = uintptr(0) @@ -229277,7 +235387,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+936 /* "%s" */, libc.VaList(bp+160, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+160, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -229315,18 +235425,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+45305, /* "DROP TABLE IF EX..." */ + ts+46653, /* "DROP TABLE IF EX..." */ 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+45409, /* "DROP TABLE IF EX..." */ + ts+46757, /* "DROP TABLE IF EX..." */ libc.VaList(bp+56, (*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+45447, /* "DROP TABLE IF EX..." */ + ts+46795, /* "DROP TABLE IF EX..." */ libc.VaList(bp+80, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc @@ -229338,7 +235448,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+45485, /* "ALTER TABLE %Q.'..." */ + ts+46833, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -229350,14 +235460,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp /* rc */)) = sqlite3Fts5StorageSync(tls, pStorage) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+33987 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+18079 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+44805 /* "config" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+34002 /* "data" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+18094 /* "idx" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+46153 /* "config" */, zName) if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+42606 /* "docsize" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+43959 /* "docsize" */, zName) } if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+42255 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+43608 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -229371,17 +235481,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn var rc int32 *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+80 /* &zErr */, ts+45527, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+80 /* &zErr */, ts+46875, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { - return ts + 38602 /* " WITHOUT ROWID" */ + return ts + 38617 /* " WITHOUT ROWID" */ } - return ts + 900 /* "" */ + return ts + 915 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+45557, /* "fts5: error crea..." */ + ts+46905, /* "fts5: error crea..." */ libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */))) } @@ -229423,27 +235533,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+45601 /* "id INTEGER PRIMA..." */, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, ts+46949 /* "id INTEGER PRIMA..." */, 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+45624 /* ", c%d" */, libc.VaList(bp, i)) + Xsqlite3_snprintf(tls, (nDefn - iOff), (zDefn + uintptr(iOff)), ts+46972 /* ", c%d" */, libc.VaList(bp, i)) iOff = iOff + (int32(libc.Xstrlen(tls, (zDefn + uintptr(iOff))))) } - rc = sqlite3Fts5CreateTable(tls, pConfig, ts+42255 /* "content" */, zDefn, 0, pzErr) + rc = sqlite3Fts5CreateTable(tls, pConfig, ts+43608 /* "content" */, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+42606 /* "docsize" */, ts+45630 /* "id INTEGER PRIMA..." */, 0, pzErr) + pConfig, ts+43959 /* "docsize" */, ts+46978 /* "id INTEGER PRIMA..." */, 0, pzErr) } if rc == SQLITE_OK { rc = sqlite3Fts5CreateTable(tls, - pConfig, ts+44805 /* "config" */, ts+45662 /* "k PRIMARY KEY, v" */, 1, pzErr) + pConfig, ts+46153 /* "config" */, ts+47010 /* "k PRIMARY KEY, v" */, 1, pzErr) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+42752 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+44105 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -229680,12 +235790,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: // Delete the contents of the %_data and %_docsize tables. rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), - ts+45679, /* "DELETE FROM %Q.'..." */ + ts+47027, /* "DELETE FROM %Q.'..." */ 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+45729, /* "DELETE FROM %Q.'..." */ + ts+47077, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -229695,7 +235805,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = sqlite3Fts5StorageConfigValue(tls, p, ts+42752 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+44105 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -229890,7 +236000,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+45758, /* "SELECT count(*) ..." */ + zSql = Xsqlite3_mprintf(tls, ts+47106, /* "SELECT count(*) ..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -230087,14 +236197,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 { / // number of rows. if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { *(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+42255 /* "content" */, bp+48 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+43608 /* "content" */, bp+48 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 48 /* nRow */)) != (*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 /* nRow */)) = int64(0) - rc = fts5StorageCount(tls, p, ts+42606 /* "docsize" */, bp+56 /* &nRow */) + rc = fts5StorageCount(tls, p, ts+43959 /* "docsize" */, bp+56 /* &nRow */) if (rc == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 56 /* nRow */)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) } @@ -230330,9 +236440,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, libc.Xmemcpy(tls, p /* &.aTokenChar */, 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+45790 /* "tokenchars" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+47138 /* "tokenchars" */) { fts5AsciiAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+45801 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+47149 /* "separators" */) { fts5AsciiAddExceptions(tls, p, zArg, 0) } else { rc = SQLITE_ERROR @@ -230572,7 +236682,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 + 45812 /* "L* N* Co" */ + var zCat uintptr = ts + 47160 /* "L* N* Co" */ var i int32 libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{}))) @@ -230585,7 +236695,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32 // Search for a "categories" argument for i = 0; (rc == SQLITE_OK) && (i < nArg); i = i + (2) { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+45821 /* "categories" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+47169 /* "categories" */) { zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*8)) } } @@ -230596,18 +236706,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+45832 /* "remove_diacritic..." */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+47180 /* "remove_diacritic..." */) { 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+45790 /* "tokenchars" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+47138 /* "tokenchars" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 1) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+45801 /* "separators" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+47149 /* "separators" */) { rc = fts5UnicodeAddExceptions(tls, p, zArg, 0) - } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+45821 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+47169 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -230919,7 +237029,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 /* pUserdata */)) = uintptr(0) - var zBase uintptr = ts + 45850 /* "unicode61" */ + var zBase uintptr = ts + 47198 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -231072,7 +237182,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+45860 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+47208 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -231080,11 +237190,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+45863 /* "ance" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+47211 /* "ance" */, (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+45868 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+47216 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -231092,7 +237202,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+45873 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+47221 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -231100,7 +237210,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+45876 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+47224 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -231108,11 +237218,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+45879 /* "able" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+47227 /* "able" */, (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+45884 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+47232 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -231120,19 +237230,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+45889 /* "ant" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47237 /* "ant" */, (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+45893 /* "ement" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+47241 /* "ement" */, (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+45899 /* "ment" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+47247 /* "ment" */, (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+45904 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47252 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -231140,11 +237250,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+45908 /* "ion" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47256 /* "ion" */, (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+45912 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+47260 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -231152,7 +237262,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+45915 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47263 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -231160,11 +237270,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+45919 /* "ate" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47267 /* "ate" */, (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+45923 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47271 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -231172,7 +237282,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+45927 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47275 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -231180,7 +237290,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+45931 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47279 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -231188,7 +237298,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+45935 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47283 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -231205,24 +237315,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sq switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+45939 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+45919 /* "ate" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+47287 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+47267 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'b': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+45942 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+45945 /* "ble" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+47290 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+47293 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+45949 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+45935 /* "ize" */, uint64(3)) + if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+47297 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+47283 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } @@ -231238,137 +237348,137 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+45952 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+47300 /* "ational" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+45919 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+47267 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+45960 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+47308 /* "tional" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+45967 /* "tion" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+47315 /* "tion" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 4) } } break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+45972 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+47320 /* "enci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+45868 /* "ence" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+47216 /* "ence" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+45977 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+47325 /* "anci" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+45863 /* "ance" */, uint64(4)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+47211 /* "ance" */, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 4) } } break case 'e': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+45982 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+47330 /* "izer" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+45935 /* "ize" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+47283 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'g': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+45987 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+47335 /* "logi" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+22777 /* "log" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+22792 /* "log" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 'l': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+45992 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47340 /* "bli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+45945 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+47293 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+45996 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+47344 /* "alli" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+45860 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+47208 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+46001 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+47349 /* "entli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+45904 /* "ent" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+47252 /* "ent" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+46007 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + } else if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47355 /* "eli" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+46011 /* "e" */, uint64(1)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+47359 /* "e" */, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 1) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+46013 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+47361 /* "ousli" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+45927 /* "ous" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+47275 /* "ous" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } } break case 'o': - if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+46019 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+47367 /* "ization" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+45935 /* "ize" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+47283 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+46027 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+47375 /* "ation" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+45919 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+47267 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+46033 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + } else if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+47381 /* "ator" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+45919 /* "ate" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+47267 /* "ate" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 3) } } break case 's': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+46038 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+47386 /* "alism" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+45860 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+47208 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+46044 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+47392 /* "iveness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+45931 /* "ive" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+47279 /* "ive" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+46052 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+47400 /* "fulness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+46060 /* "ful" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+47408 /* "ful" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } - } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+46064 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { + } else if (nBuf > 7) && (0 == libc.Xmemcmp(tls, ts+47412 /* "ousness" */, (aBuf+uintptr((nBuf-7))), uint64(7))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-7)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+45927 /* "ous" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 7))), ts+47275 /* "ous" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 7) + 3) } } break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+46072 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+47420 /* "aliti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+45860 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+47208 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+46078 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+47426 /* "iviti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+45931 /* "ive" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+47279 /* "ive" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 3) } - } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+46084 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { + } else if (nBuf > 6) && (0 == libc.Xmemcmp(tls, ts+47432 /* "biliti" */, (aBuf+uintptr((nBuf-6))), uint64(6))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-6)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+45945 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+47293 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -231384,16 +237494,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'a': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+46091 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+47439 /* "ical" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+45876 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 4))), ts+47224 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 4) + 2) } } break case 's': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+46096 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { + if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+47444 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -231401,21 +237511,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+46101 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+47449 /* "icate" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+45876 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+47224 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } - } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+46107 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + } else if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+47455 /* "iciti" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+45876 /* "ic" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+47224 /* "ic" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+46060 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47408 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -231423,7 +237533,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+46113 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+47461 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 5) } @@ -231431,9 +237541,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+46119 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { + if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+47467 /* "alize" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+45860 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+47208 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -231449,12 +237559,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr((nBuf - 2))))) { case 'e': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+46125 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47473 /* "eed" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+46129 /* "ee" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 3))), ts+47477 /* "ee" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 3) + 2) } - } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+46132 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + } else if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+47480 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) ret = 1 @@ -231463,7 +237573,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+46135 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { + if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+47483 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) ret = 1 @@ -231633,7 +237743,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+46139 /* "case_sensitive" */) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+47487 /* "case_sensitive" */) { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (*(*int8)(unsafe.Pointer(zArg + 1)) != 0) { rc = SQLITE_ERROR } else { @@ -231823,22 +237933,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: defer tls.Free(128) *(*[4]BuiltinTokenizer)(unsafe.Pointer(bp /* aBuiltin */)) = [4]BuiltinTokenizer{ - {FzName: ts + 45850 /* "unicode61" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 47198 /* "unicode61" */, 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 + 46154 /* "ascii" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 47502 /* "ascii" */, 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 + 46160 /* "porter" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 47508 /* "porter" */, 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 + 46167 /* "trigram" */, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct { + {FzName: ts + 47515 /* "trigram" */, 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 @@ -233185,14 +239295,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+16 /* &rc */, zType, -1) if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, ts+46175 /* "col" */) == 0 { + if Xsqlite3_stricmp(tls, zCopy, ts+47523 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL - } else if Xsqlite3_stricmp(tls, zCopy, ts+46179 /* "row" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+47527 /* "row" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW - } else if Xsqlite3_stricmp(tls, zCopy, ts+46183 /* "instance" */) == 0 { + } else if Xsqlite3_stricmp(tls, zCopy, ts+47531 /* "instance" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+46192 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+47540 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) @@ -233239,19 +239349,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv defer tls.Free(36) *(*[3]uintptr)(unsafe.Pointer(bp + 8 /* azSchema */)) = [3]uintptr{ - ts + 46226, /* "CREATE TABlE voc..." */ - ts + 46266, /* "CREATE TABlE voc..." */ - ts + 46301, /* "CREATE TABlE voc..." */ + ts + 47574, /* "CREATE TABlE voc..." */ + ts + 47614, /* "CREATE TABlE voc..." */ + ts + 47649, /* "CREATE TABlE voc..." */ } var pRet uintptr = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK // Return code var bDb int32 - bDb = (libc.Bool32(((argc == 6) && (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4))) && (libc.Xmemcmp(tls, ts+30597 /* "temp" */, *(*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+30612 /* "temp" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0))) if (argc != 5) && (bDb == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+46344 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+47692 /* "wrong number of ..." */, 0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR } else { var nByte int32 // Bytes of space to allocate @@ -233403,11 +239513,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+46377 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+47725 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } zSql = sqlite3Fts5Mprintf(tls, bp+88, /* &rc */ - ts+46408, /* "SELECT t.%Q FROM..." */ + ts+47756, /* "SELECT t.%Q FROM..." */ libc.VaList(bp+24, (*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 + 88 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+96 /* &pStmt */, uintptr(0)) @@ -233431,7 +239541,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+46459 /* "no such fts5 tab..." */, libc.VaList(bp+64, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + ts+47807 /* "no such fts5 tab..." */, libc.VaList(bp+64, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_ERROR } } else { @@ -233719,7 +239829,7 @@ func fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnused if pLe != 0 { var zCopy uintptr = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = ts + 900 /* "" */ + zCopy = ts + 915 /* "" */ } (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm + 1)) @@ -233836,7 +239946,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* sqlite3.c:235171:12: */ var p uintptr = pGlobal - return Xsqlite3_create_module_v2(tls, db, ts+46485 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, ts+47833 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } var fts5Vocab = Sqlite3_module{ @@ -233952,7 +240062,7 @@ func stmtConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp rc = Xsqlite3_declare_vtab(tls, db, - ts+46495 /* "CREATE TABLE x(s..." */) + ts+47843 /* "CREATE TABLE x(s..." */) if rc == SQLITE_OK { pNew = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Stmt_vtab{}))) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -234109,14 +240219,14 @@ var stmtModule = Sqlite3_module{ // xCreate func Xsqlite3StmtVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:235483:20: */ var rc int32 = SQLITE_OK - rc = Xsqlite3_create_module(tls, db, ts+46567 /* "sqlite_stmt" */, uintptr(unsafe.Pointer(&stmtModule)), uintptr(0)) + rc = Xsqlite3_create_module(tls, db, ts+47915 /* "sqlite_stmt" */, uintptr(unsafe.Pointer(&stmtModule)), uintptr(0)) return rc } //************* End of stmt.c *********************************************** // Return the source-id for this library func Xsqlite3_sourceid(tls *libc.TLS) uintptr { /* sqlite3.c:235516:23: */ - return ts + 46579 /* "2021-06-18 18:36..." */ + return ts + 47927 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -235144,5 +241254,5 @@ func init() { *(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 160 /* .xNextSystemCall */)) = winNextSystemCall // sqlite3.c:48390:5: } -var ts1 = "COMPILER=msvc-1900\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00OsError 0x%lx (%lu)\x00os_win.c:%d: (%lu) %s(%s) - %s\x00delayed %dms for lock/sharing conflict at line %d\x00SEEK file=%p, offset=%lld\n\x00winSeekFile\x00SEEK file=%p, rc=SQLITE_IOERR_SEEK\n\x00SEEK file=%p, rc=SQLITE_OK\n\x00CLOSE pid=%lu, pFile=%p, file=%p\n\x00CLOSE pid=%lu, pFile=%p, file=%p, rc=%s\n\x00ok\x00failed\x00winClose\x00READ pid=%lu, pFile=%p, file=%p, buffer=%p, amount=%d, offset=%lld, lock=%d\n\x00READ-MMAP pid=%lu, pFile=%p, file=%p, rc=SQLITE_OK\n\x00READ pid=%lu, pFile=%p, file=%p, rc=SQLITE_IOERR_READ\n\x00winRead\x00READ pid=%lu, pFile=%p, file=%p, rc=SQLITE_IOERR_SHORT_READ\n\x00READ pid=%lu, pFile=%p, file=%p, rc=SQLITE_OK\n\x00WRITE pid=%lu, pFile=%p, file=%p, buffer=%p, amount=%d, offset=%lld, lock=%d\n\x00WRITE pid=%lu, pFile=%p, file=%p, rc=SQLITE_FULL\n\x00winWrite1\x00WRITE pid=%lu, pFile=%p, file=%p, rc=SQLITE_IOERR_WRITE\n\x00winWrite2\x00WRITE pid=%lu, pFile=%p, file=%p, rc=SQLITE_OK\n\x00TRUNCATE pid=%lu, pFile=%p, file=%p, size=%lld, lock=%d\n\x00winTruncate1\x00winTruncate2\x00TRUNCATE pid=%lu, pFile=%p, file=%p, rc=%s\n\x00SYNC pid=%lu, pFile=%p, file=%p, flags=%x, lock=%d\n\x00SYNC-MMAP pid=%lu, pFile=%p, pMapRegion=%p, rc=SQLITE_OK\n\x00SYNC-MMAP pid=%lu, pFile=%p, pMapRegion=%p, rc=SQLITE_IOERR_MMAP\n\x00winSync1\x00SYNC pid=%lu, pFile=%p, file=%p, rc=SQLITE_OK\n\x00SYNC pid=%lu, pFile=%p, file=%p, rc=SQLITE_IOERR_FSYNC\n\x00winSync2\x00SIZE file=%p, pSize=%p\n\x00winFileSize\x00SIZE file=%p, pSize=%p, *pSize=%lld, rc=%s\n\x00READ-LOCK file=%p, lock=%d\n\x00READ-LOCK file=%p, result=%d\n\x00READ-UNLOCK file=%p, lock=%d\n\x00winUnlockReadLock\x00READ-UNLOCK file=%p, result=%d\n\x00LOCK file=%p, oldLock=%d(%d), newLock=%d\n\x00LOCK-HELD file=%p, rc=SQLITE_OK\n\x00LOCK-PENDING-FAIL file=%p, count=%d, result=%d\n\x00LOCK-FAIL file=%p, count=%d, rc=%s\n\x00LOCK-FAIL file=%p, wanted=%d, got=%d\n\x00LOCK file=%p, lock=%d, rc=%s\n\x00TEST-WR-LOCK file=%p, pResOut=%p\n\x00TEST-WR-LOCK file=%p, result=%d (local)\n\x00TEST-WR-LOCK file=%p, result=%d (remote)\n\x00TEST-WR-LOCK file=%p, pResOut=%p, *pResOut=%d, rc=SQLITE_OK\n\x00UNLOCK file=%p, oldLock=%d(%d), newLock=%d\n\x00winUnlock\x00UNLOCK file=%p, lock=%d, rc=%s\n\x00FCNTL file=%p, op=%d, pArg=%p\n\x00FCNTL file=%p, rc=SQLITE_OK\n\x00FCNTL file=%p, rc=%s\n\x00FCNTL oldFile=%p, newFile=%p, rc=SQLITE_OK\n\x00FCNTL file=%p, rc=SQLITE_NOTFOUND\n\x00SHM-LOCK file=%p, lock=%d, offset=%d, size=%d\n\x00SHM-LOCK file=%p, func=%s, errno=%lu, rc=%s\n\x00winUnlockFile\x00winLockFile\x00SHM-PURGE pid=%lu, deleteFlag=%d\n\x00SHM-PURGE-UNMAP pid=%lu, region=%d, rc=%s\n\x00SHM-PURGE-CLOSE pid=%lu, region=%d, rc=%s\n\x00winLockSharedMemory\x00%s-shm\x00readonly_shm\x00winOpenShm\x00SHM-LOCK pid=%lu, id=%d, sharedMask=%03x, exclMask=%03x, rc=%s\n\x00winShmMap1\x00winShmMap2\x00SHM-MAP-CREATE pid=%lu, region=%d, size=%d, rc=%s\n\x00SHM-MAP-MAP pid=%lu, region=%d, offset=%d, size=%d, rc=%s\n\x00winShmMap3\x00UNMAP-FILE pid=%lu, pFile=%p, hMap=%p, pMapRegion=%p, mmapSize=%lld, mmapSizeMax=%lld\n\x00UNMAP-FILE pid=%lu, pFile=%p, pMapRegion=%p, rc=SQLITE_IOERR_MMAP\n\x00winUnmapfile1\x00UNMAP-FILE pid=%lu, pFile=%p, hMap=%p, rc=SQLITE_IOERR_MMAP\n\x00winUnmapfile2\x00UNMAP-FILE pid=%lu, pFile=%p, rc=SQLITE_OK\n\x00MAP-FILE pid=%lu, pFile=%p, size=%lld\n\x00MAP-FILE pid=%lu, pFile=%p, rc=SQLITE_IOERR_FSTAT\n\x00winMapfile1\x00MAP-FILE-CREATE pid=%lu, pFile=%p, rc=%s\n\x00winMapfile2\x00MAP-FILE-MAP pid=%lu, pFile=%p, rc=%s\n\x00MAP-FILE pid=%lu, pFile=%p, rc=SQLITE_OK\n\x00FETCH pid=%lu, pFile=%p, offset=%lld, amount=%d, pp=%p\n\x00FETCH pid=%lu, pFile=%p, rc=%s\n\x00FETCH pid=%lu, pFile=%p, pp=%p, *pp=%p, rc=SQLITE_OK\n\x00UNFETCH pid=%lu, pFile=%p, offset=%lld, p=%p\n\x00UNFETCH pid=%lu, pFile=%p, rc=SQLITE_OK\n\x00etilqs_\x00TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n\x00TEMP-FILENAME rc=SQLITE_ERROR\n\x00winGetTempname1\x00TEMP-FILENAME rc=SQLITE_IOERR_GETTEMPPATH\n\x00winGetTempname2\x00winGetTempname3\x00winGetTempname4\x00winGetTempname5\x00TEMP-FILENAME name=%s, rc=SQLITE_OK\n\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\x00OPEN name=%s, pFile=%p, flags=%x, pOutFlags=%p\n\x00OPEN name=%s, rc=%s\x00OPEN name=%s, rc=SQLITE_IOERR_NOMEM\x00OPEN name=%s, rc=SQLITE_CANTOPEN_ISDIR\x00exclusive\x00OPEN file=%p, name=%s, access=%lx, rc=%s\n\x00winOpen\x00OPEN file=%p, name=%s, access=%lx, pOutFlags=%p, *pOutFlags=%d, rc=%s\n\x00psow\x00DELETE name=%s, syncDir=%d\n\x00DELETE name=%s, rc=SQLITE_IOERR_NOMEM\n\x00winDelete\x00DELETE name=%s, rc=%s\n\x00ACCESS name=%s, flags=%x, pResOut=%p\n\x00ACCESS name=%s, rc=SQLITE_IOERR_NOMEM\n\x00winAccess\x00ACCESS name=%s, pResOut=%p, *pResOut=%d, rc=SQLITE_OK\n\x00%s%c%s\x00winFullPathname1\x00winFullPathname2\x00winFullPathname3\x00winFullPathname4\x00DLOPEN name=%s, handle=%p\n\x00DLSYM handle=%p, symbol=%s, address=%p\n\x00DLCLOSE handle=%p\n\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\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\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\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.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\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, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\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\x00lock_status\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\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\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\x00call flush_partition\x00%s clause should come after %s not before\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: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\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\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\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\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00 OR \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\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\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" +var ts1 = "COMPILER=msvc-1900\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_PAGE_SIZE=1024\x00ENABLE_BYTECODE_VTAB\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBPAGE_VTAB\x00ENABLE_DBSTAT_VTAB\x00ENABLE_EXPLAIN_COMMENTS\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_JSON1\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_STMTVTAB\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00TEST\x00THREADSAFE=1\x003.36.0\x00BINARY\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00day\x00month\x00year\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00%04d-%02d-%02d %02d:%02d:%02d\x00%02d:%02d:%02d\x00%04d-%02d-%02d\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%04d\x00julianday\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00SUBQUERY %u\x00thstndrd\x00%s\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00\x00AutoCommit\x00\x00Transaction\x00\x00SorterNext\x00\x00Prev\x00\x00Next\x00\x00Checkpoint\x00\x00JournalMode\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00VUpdate\x00data=r[P3@P2]\x00Goto\x00\x00Gosub\x00\x00InitCoroutine\x00\x00Yield\x00\x00MustBeInt\x00\x00Jump\x00\x00Once\x00\x00If\x00\x00Not\x00r[P2]= !r[P1]\x00IfNot\x00\x00IfNullRow\x00if P1.nullRow then r[P3]=NULL, goto P2\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00IfNotOpen\x00if( !csr[P1] ) goto P2\x00IfNoHope\x00key=r[P3@P4]\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00Found\x00key=r[P3@P4]\x00SeekRowid\x00intkey=r[P3]\x00NotExists\x00intkey=r[P3]\x00Last\x00\x00IfSmaller\x00\x00SorterSort\x00\x00Sort\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00IdxGT\x00key=r[P3@P4]\x00IdxLT\x00key=r[P3@P4]\x00IdxGE\x00key=r[P3@P4]\x00RowSetRead\x00r[P3]=rowset(P1)\x00Or\x00r[P3]=(r[P1] || r[P2])\x00And\x00r[P3]=(r[P1] && r[P2])\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00Program\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00IsNull\x00if r[P1]==NULL goto P2\x00NotNull\x00if r[P1]!=NULL goto P2\x00Ne\x00IF r[P3]!=r[P1]\x00Eq\x00IF r[P3]==r[P1]\x00Gt\x00IF r[P3]>r[P1]\x00Le\x00IF r[P3]<=r[P1]\x00Lt\x00IF r[P3]=r[P1]\x00ElseEq\x00\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00IncrVacuum\x00\x00VNext\x00\x00Init\x00Start at P2\x00PureFunc\x00r[P3]=func(r[P2@NP])\x00Function\x00r[P3]=func(r[P2@NP])\x00Return\x00\x00EndCoroutine\x00\x00HaltIfNull\x00if r[P3]=null halt\x00Halt\x00\x00Integer\x00r[P2]=P1\x00Int64\x00r[P2]=P4\x00String\x00r[P2]='P4' (len=P1)\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00SCopy\x00r[P2]=r[P1]\x00IntCopy\x00r[P2]=r[P1]\x00ChngCntRow\x00output=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00CollSeq\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00RealAffinity\x00\x00Cast\x00affinity(r[P1])\x00Permutation\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00IsTrue\x00r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4\x00ZeroOrNull\x00r[P2] = 0 OR NULL\x00Offset\x00r[P3] = sqlite_offset(P1)\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00OpenDup\x00\x00OpenAutoindex\x00nColumn=P2\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<>r[P1]\x00Add\x00r[P3]=r[P1]+r[P2]\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00Divide\x00r[P3]=r[P2]/r[P1]\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00OpenEphemeral\x00nColumn=P2\x00BitNot\x00r[P2]= ~r[P1]\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00String8\x00r[P2]='P4'\x00OpenPseudo\x00P3 columns in r[P2]\x00Close\x00\x00ColumnsUsed\x00\x00SeekScan\x00Scan-ahead up to P1 rows\x00SeekHit\x00set P2<=seekHit<=P3\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00Insert\x00intkey=r[P3] data=r[P2]\x00RowCell\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00SorterData\x00r[P2]=data\x00RowData\x00r[P2]=data\x00Rowid\x00r[P2]=rowid\x00NullRow\x00\x00SeekEnd\x00\x00IdxInsert\x00key=r[P2]\x00SorterInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00DeferredSeek\x00Move P3 to P1.rowid if needed\x00IdxRowid\x00r[P2]=rowid\x00FinishSeek\x00\x00Destroy\x00\x00Clear\x00\x00ResetSorter\x00\x00CreateBtree\x00r[P2]=root iDb=P1 flags=P3\x00SqlExec\x00\x00ParseSchema\x00\x00LoadAnalysis\x00\x00DropTable\x00\x00DropIndex\x00\x00DropTrigger\x00\x00IntegrityCk\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00Real\x00r[P2]=P4\x00Param\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00AggInverse\x00accum=r[P3] inverse(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00AggStep1\x00accum=r[P3] step(r[P2@P5])\x00AggValue\x00r[P3]=value N=P2\x00AggFinal\x00accum=r[P1] N=P2\x00Expire\x00\x00CursorLock\x00\x00CursorUnlock\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00VBegin\x00\x00VCreate\x00\x00VDestroy\x00\x00VOpen\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00VRename\x00\x00Pagecount\x00\x00MaxPgcnt\x00\x00Trace\x00\x00CursorHint\x00\x00ReleaseReg\x00release r[P1@P2] mask P3\x00Noop\x00\x00Explain\x00\x00Abortable\x00\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\x00OsError 0x%lx (%lu)\x00os_win.c:%d: (%lu) %s(%s) - %s\x00delayed %dms for lock/sharing conflict at line %d\x00SEEK file=%p, offset=%lld\n\x00winSeekFile\x00SEEK file=%p, rc=SQLITE_IOERR_SEEK\n\x00SEEK file=%p, rc=SQLITE_OK\n\x00CLOSE pid=%lu, pFile=%p, file=%p\n\x00CLOSE pid=%lu, pFile=%p, file=%p, rc=%s\n\x00ok\x00failed\x00winClose\x00READ pid=%lu, pFile=%p, file=%p, buffer=%p, amount=%d, offset=%lld, lock=%d\n\x00READ-MMAP pid=%lu, pFile=%p, file=%p, rc=SQLITE_OK\n\x00READ pid=%lu, pFile=%p, file=%p, rc=SQLITE_IOERR_READ\n\x00winRead\x00READ pid=%lu, pFile=%p, file=%p, rc=SQLITE_IOERR_SHORT_READ\n\x00READ pid=%lu, pFile=%p, file=%p, rc=SQLITE_OK\n\x00WRITE pid=%lu, pFile=%p, file=%p, buffer=%p, amount=%d, offset=%lld, lock=%d\n\x00WRITE pid=%lu, pFile=%p, file=%p, rc=SQLITE_FULL\n\x00winWrite1\x00WRITE pid=%lu, pFile=%p, file=%p, rc=SQLITE_IOERR_WRITE\n\x00winWrite2\x00WRITE pid=%lu, pFile=%p, file=%p, rc=SQLITE_OK\n\x00TRUNCATE pid=%lu, pFile=%p, file=%p, size=%lld, lock=%d\n\x00winTruncate1\x00winTruncate2\x00TRUNCATE pid=%lu, pFile=%p, file=%p, rc=%s\n\x00SYNC pid=%lu, pFile=%p, file=%p, flags=%x, lock=%d\n\x00SYNC-MMAP pid=%lu, pFile=%p, pMapRegion=%p, rc=SQLITE_OK\n\x00SYNC-MMAP pid=%lu, pFile=%p, pMapRegion=%p, rc=SQLITE_IOERR_MMAP\n\x00winSync1\x00SYNC pid=%lu, pFile=%p, file=%p, rc=SQLITE_OK\n\x00SYNC pid=%lu, pFile=%p, file=%p, rc=SQLITE_IOERR_FSYNC\n\x00winSync2\x00SIZE file=%p, pSize=%p\n\x00winFileSize\x00SIZE file=%p, pSize=%p, *pSize=%lld, rc=%s\n\x00READ-LOCK file=%p, lock=%d\n\x00READ-LOCK file=%p, result=%d\n\x00READ-UNLOCK file=%p, lock=%d\n\x00winUnlockReadLock\x00READ-UNLOCK file=%p, result=%d\n\x00LOCK file=%p, oldLock=%d(%d), newLock=%d\n\x00LOCK-HELD file=%p, rc=SQLITE_OK\n\x00LOCK-PENDING-FAIL file=%p, count=%d, result=%d\n\x00LOCK-FAIL file=%p, count=%d, rc=%s\n\x00LOCK-FAIL file=%p, wanted=%d, got=%d\n\x00LOCK file=%p, lock=%d, rc=%s\n\x00TEST-WR-LOCK file=%p, pResOut=%p\n\x00TEST-WR-LOCK file=%p, result=%d (local)\n\x00TEST-WR-LOCK file=%p, result=%d (remote)\n\x00TEST-WR-LOCK file=%p, pResOut=%p, *pResOut=%d, rc=SQLITE_OK\n\x00UNLOCK file=%p, oldLock=%d(%d), newLock=%d\n\x00winUnlock\x00UNLOCK file=%p, lock=%d, rc=%s\n\x00FCNTL file=%p, op=%d, pArg=%p\n\x00FCNTL file=%p, rc=SQLITE_OK\n\x00FCNTL file=%p, rc=%s\n\x00FCNTL oldFile=%p, newFile=%p, rc=SQLITE_OK\n\x00FCNTL file=%p, rc=SQLITE_NOTFOUND\n\x00SHM-LOCK file=%p, lock=%d, offset=%d, size=%d\n\x00SHM-LOCK file=%p, func=%s, errno=%lu, rc=%s\n\x00winUnlockFile\x00winLockFile\x00SHM-PURGE pid=%lu, deleteFlag=%d\n\x00SHM-PURGE-UNMAP pid=%lu, region=%d, rc=%s\n\x00SHM-PURGE-CLOSE pid=%lu, region=%d, rc=%s\n\x00winLockSharedMemory\x00%s-shm\x00readonly_shm\x00winOpenShm\x00SHM-LOCK pid=%lu, id=%d, sharedMask=%03x, exclMask=%03x, rc=%s\n\x00winShmMap1\x00winShmMap2\x00SHM-MAP-CREATE pid=%lu, region=%d, size=%d, rc=%s\n\x00SHM-MAP-MAP pid=%lu, region=%d, offset=%d, size=%d, rc=%s\n\x00winShmMap3\x00UNMAP-FILE pid=%lu, pFile=%p, hMap=%p, pMapRegion=%p, mmapSize=%lld, mmapSizeMax=%lld\n\x00UNMAP-FILE pid=%lu, pFile=%p, pMapRegion=%p, rc=SQLITE_IOERR_MMAP\n\x00winUnmapfile1\x00UNMAP-FILE pid=%lu, pFile=%p, hMap=%p, rc=SQLITE_IOERR_MMAP\n\x00winUnmapfile2\x00UNMAP-FILE pid=%lu, pFile=%p, rc=SQLITE_OK\n\x00MAP-FILE pid=%lu, pFile=%p, size=%lld\n\x00MAP-FILE pid=%lu, pFile=%p, rc=SQLITE_IOERR_FSTAT\n\x00winMapfile1\x00MAP-FILE-CREATE pid=%lu, pFile=%p, rc=%s\n\x00winMapfile2\x00MAP-FILE-MAP pid=%lu, pFile=%p, rc=%s\n\x00MAP-FILE pid=%lu, pFile=%p, rc=SQLITE_OK\n\x00FETCH pid=%lu, pFile=%p, offset=%lld, amount=%d, pp=%p\n\x00FETCH pid=%lu, pFile=%p, rc=%s\n\x00FETCH pid=%lu, pFile=%p, pp=%p, *pp=%p, rc=SQLITE_OK\n\x00UNFETCH pid=%lu, pFile=%p, offset=%lld, p=%p\n\x00UNFETCH pid=%lu, pFile=%p, rc=SQLITE_OK\n\x00etilqs_\x00TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n\x00TEMP-FILENAME rc=SQLITE_ERROR\n\x00winGetTempname1\x00TEMP-FILENAME rc=SQLITE_IOERR_GETTEMPPATH\n\x00winGetTempname2\x00winGetTempname3\x00winGetTempname4\x00winGetTempname5\x00TEMP-FILENAME name=%s, rc=SQLITE_OK\n\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\x00OPEN name=%s, pFile=%p, flags=%x, pOutFlags=%p\n\x00OPEN name=%s, rc=%s\x00OPEN name=%s, rc=SQLITE_IOERR_NOMEM\x00OPEN name=%s, rc=SQLITE_CANTOPEN_ISDIR\x00exclusive\x00OPEN file=%p, name=%s, access=%lx, rc=%s\n\x00winOpen\x00OPEN file=%p, name=%s, access=%lx, pOutFlags=%p, *pOutFlags=%d, rc=%s\n\x00psow\x00DELETE name=%s, syncDir=%d\n\x00DELETE name=%s, rc=SQLITE_IOERR_NOMEM\n\x00winDelete\x00DELETE name=%s, rc=%s\n\x00ACCESS name=%s, flags=%x, pResOut=%p\n\x00ACCESS name=%s, rc=SQLITE_IOERR_NOMEM\n\x00winAccess\x00ACCESS name=%s, pResOut=%p, *pResOut=%d, rc=SQLITE_OK\n\x00%s%c%s\x00winFullPathname1\x00winFullPathname2\x00winFullPathname3\x00winFullPathname4\x00DLOPEN name=%s, handle=%p\n\x00DLSYM handle=%p, symbol=%s, address=%p\n\x00DLCLOSE handle=%p\n\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\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\x00IF \x00if %s goto P2\x00@P\x00+1\x00%d\x00%d..%d\x00@NP\x00..P3\x00; %s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%lld\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 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\x00-- %s\x00statement aborts at %d: [%s] %s\x00out of memory\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\x00CREATE TABLE x(addr INT,opcode TEXT,p1 INT,p2 INT,p3 INT,p4 TEXT,p5 INT,comment TEXT,subprog TEXT,stmt HIDDEN);\x00CREATE TABLE x(type TEXT,schema TEXT,name TEXT,wr INT,subprog TEXT,stmt HIDDEN);\x00table\x00index\x00(FK)\x00stmt-pointer\x00argument to %s() is not a valid SQL statement\x00tables_used\x00bytecode\x00main\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\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 likelihood() must be a constant between 0.0 and 1.0\x00not authorized to use function: %s\x00non-deterministic functions\x00%.*s() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %.*s()\x00no such function: %.*s\x00wrong number of arguments to function %.*s()\x00FILTER may not be used with non-aggregate %.*s()\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\x00a GROUP BY clause is required before HAVING\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x000\x00too many arguments on function %T\x00unsafe use of %s()\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\x00first_entry_in(%d)\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\x00return address\x00Result of SELECT %u\x00RHS of IN operator\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x00Init subquery result\x00Init EXISTS result\x001\x00begin IN expr\x00end IN expr\x000x\x00hex literal too big: %s%s\x00generated column loop on \"%s\"\x00%s.rowid\x00%s.%s\x00misuse of aggregate: %s()\x00unknown function: %s()\x00r[%d]=%s.%s\x00rowid\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00sqlite_\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\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\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\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) AND sql NOT LIKE 'create virtual%%'\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 \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\x00%s.expr(%d)\x00sqlite\\_%\x00Analysis for %s.%s\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.%z\x00access to %z is prohibited\x00not authorized\x00usesStmtJournal=%d\x00sqlite_temp_schema\x00sqlite_schema\x00sqlite_temp_master\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\x00table %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\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\x00INTEGER\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\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\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, \x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00text\x00blob\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00length\x00instr\x00printf\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\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\x00coalesce\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\x00trigger count\x00defer IPK REPLACE until last\x00uniqueness check for ROWID\x00prep index %s\x00%s column %d\x00for %s\x00bypass recheck\x00Do IPK REPLACE\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\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00fkid\x00file\x00busy\x00log\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\x00lock_status\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_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00normal\x00none\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\x00s\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00issisii\x00issisi\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00non-unique entry in index \x00wrong # of entries in index \x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00unknown\x00closed\x00ss\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unlocked\x00shared\x00reserved\x00pending\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\x00rename\x00drop column\x00malformed database schema (%s)\x00%z - %s\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 or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot have both ON and USING clauses in the same join\x00cannot join using column %s - column not present in both tables\x00OFFSET\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00column%d\x00%.*z:%u\x00LIMIT counter\x00OFFSET counter\x00LIMIT+OFFSET\x00cannot use window functions in recursive queries\x00Queue table\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00Jump ahead if LIMIT reached\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 SELECT\x00LEFT\x00right SELECT\x00RIGHT\x00Output routine for A\x00Output routine for B\x00eof-A subroutine\x00eof-B subroutine\x00A-lt-B subroutine\x00A-eq-B subroutine\x00A-gt-B subroutine\x00no such index: %s\x00'%s' is not a function\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\x00subquery_%u\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00unsafe use of virtual table \"%s\"\x00*\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\x00%!S\x00CO-ROUTINE %!S\x00materialize %!S\x00MATERIALIZE %!S\x00end %!S\x00inner-loop subroutine\x00end inner-loop subroutine\x00clear abort flag\x00DISTINCT\x00GROUP BY\x00GROUP BY sort\x00output one row\x00check abort flag\x00reset accumulator\x00indicate data in accumulator\x00output final row\x00set abort flag\x00Groupby result generator entry point\x00end groupby result generator\x00indicate accumulator empty\x00RIGHT PART OF ORDER BY\x00ORDER 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\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\x00abort\x00rollback\x00fail\x00ignore\x00default\x00n/a\x00Start: %s.%s (%s %s%s%s ON %s)\x00INSERT\x00-- TRIGGER %s\x00End: %s.%s\x00Call: %s.%s\x00fkey\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\x00Begin DO UPDATE of UPSERT\x00End DO UPDATE of UPSERT\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\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=\x00>? AND rowid<\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00 VIRTUAL TABLE INDEX %d:%s\x00begin skip-scan on %s\x00init LEFT JOIN no-match flag\x00next row of %s\x00NULL-scan pass ctr\x00If NULL-scan 2nd pass\x00If NULL-scan 1st pass\x00MULTI-INDEX OR\x00INDEX %d\x00record LEFT JOIN hit\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\x00next skip-scan on %s\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\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\x00call flush_partition\x00%s clause should come after %s not before\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: \"%.*s\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00SQLITE_OK\x00SQLITE_ERROR\x00SQLITE_ERROR_SNAPSHOT\x00SQLITE_INTERNAL\x00SQLITE_PERM\x00SQLITE_ABORT\x00SQLITE_ABORT_ROLLBACK\x00SQLITE_BUSY\x00SQLITE_BUSY_RECOVERY\x00SQLITE_BUSY_SNAPSHOT\x00SQLITE_LOCKED\x00SQLITE_LOCKED_SHAREDCACHE\x00SQLITE_NOMEM\x00SQLITE_READONLY\x00SQLITE_READONLY_RECOVERY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_READONLY_ROLLBACK\x00SQLITE_READONLY_DBMOVED\x00SQLITE_READONLY_DIRECTORY\x00SQLITE_INTERRUPT\x00SQLITE_IOERR\x00SQLITE_IOERR_READ\x00SQLITE_IOERR_SHORT_READ\x00SQLITE_IOERR_WRITE\x00SQLITE_IOERR_FSYNC\x00SQLITE_IOERR_DIR_FSYNC\x00SQLITE_IOERR_TRUNCATE\x00SQLITE_IOERR_FSTAT\x00SQLITE_IOERR_UNLOCK\x00SQLITE_IOERR_RDLOCK\x00SQLITE_IOERR_DELETE\x00SQLITE_IOERR_NOMEM\x00SQLITE_IOERR_ACCESS\x00SQLITE_IOERR_CHECKRESERVEDLOCK\x00SQLITE_IOERR_LOCK\x00SQLITE_IOERR_CLOSE\x00SQLITE_IOERR_DIR_CLOSE\x00SQLITE_IOERR_SHMOPEN\x00SQLITE_IOERR_SHMSIZE\x00SQLITE_IOERR_SHMLOCK\x00SQLITE_IOERR_SHMMAP\x00SQLITE_IOERR_SEEK\x00SQLITE_IOERR_DELETE_NOENT\x00SQLITE_IOERR_MMAP\x00SQLITE_IOERR_GETTEMPPATH\x00SQLITE_IOERR_CONVPATH\x00SQLITE_CORRUPT\x00SQLITE_CORRUPT_VTAB\x00SQLITE_NOTFOUND\x00SQLITE_FULL\x00SQLITE_CANTOPEN\x00SQLITE_CANTOPEN_NOTEMPDIR\x00SQLITE_CANTOPEN_ISDIR\x00SQLITE_CANTOPEN_FULLPATH\x00SQLITE_CANTOPEN_CONVPATH\x00SQLITE_CANTOPEN_SYMLINK\x00SQLITE_PROTOCOL\x00SQLITE_EMPTY\x00SQLITE_SCHEMA\x00SQLITE_TOOBIG\x00SQLITE_CONSTRAINT\x00SQLITE_CONSTRAINT_UNIQUE\x00SQLITE_CONSTRAINT_TRIGGER\x00SQLITE_CONSTRAINT_FOREIGNKEY\x00SQLITE_CONSTRAINT_CHECK\x00SQLITE_CONSTRAINT_PRIMARYKEY\x00SQLITE_CONSTRAINT_NOTNULL\x00SQLITE_CONSTRAINT_COMMITHOOK\x00SQLITE_CONSTRAINT_VTAB\x00SQLITE_CONSTRAINT_FUNCTION\x00SQLITE_CONSTRAINT_ROWID\x00SQLITE_MISMATCH\x00SQLITE_MISUSE\x00SQLITE_NOLFS\x00SQLITE_AUTH\x00SQLITE_FORMAT\x00SQLITE_RANGE\x00SQLITE_NOTADB\x00SQLITE_ROW\x00SQLITE_NOTICE\x00SQLITE_NOTICE_RECOVER_WAL\x00SQLITE_NOTICE_RECOVER_ROLLBACK\x00SQLITE_WARNING\x00SQLITE_WARNING_AUTOINDEX\x00SQLITE_DONE\x00SQLITE_UNKNOWN(%d)\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\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\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[%d]\x00.%.*s\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\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\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 LIKE 'create virtual%%'), 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\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\x00CREATE TABLE x( name TEXT, path TEXT, pageno INTEGER, pagetype TEXT, ncell INTEGER, payload INTEGER, unused INTEGER, mx_payload INTEGER, pgoffset INTEGER, pgsize INTEGER, schema TEXT HIDDEN, aggregate BOOLEAN HIDDEN)\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)\x00read-only\x00cannot delete\x00cannot insert\x00no such schema\x00bad page number\x00bad page value\x00sqlite_dbpage\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\x00%s \x00-col %d \x00-col {%d\x00 %d\x00} \x00-near %d \x00--\x00 {\x00 [%z]\x00\"\"\x00{\x00%s : \x00NEAR(\x00 + \x00, %d)\x00 NOT \x00%s%s%z%s\x00nearset\x00wrong number of arguments to function %s\x00fts5_expr_tcl\x00fts5_expr\x00wrong number of arguments to function fts5_isalnum\x00L*\x00N*\x00Co\x00wrong number of arguments to function fts5_fold\x00fts5_isalnum\x00fts5_fold\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\x00{averages} \x00{structure}\x00{%ssegid=%d h=%d pgno=%d}\x00dlidx \x00 {lvl=%d nMerge=%d nSeg=%d\x00 {id=%d leaves=%d..%d}\x00%s%d\x00 id=%lld\x00 nPos=%d%s\x00+\x00 %lld%s\x00 %d(%lld)\x00 term=%.*s\x00corrupt\x00should be: fts5_rowid(subject, ....)\x00segment\x00should be: fts5_rowid('segment', segid, pgno))\x00first arg to fts5_rowid() must be 'segment'\x00fts5_decode\x00fts5_decode_none\x00fts5_rowid\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: 2021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\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\x00CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep,reprep,run,mem)\x00sqlite_stmt\x002021-06-18 18:36:39 5c9a6c06871cb9fe42814af9c039eb6da5427a6ec28f187af7ebfb62eafa66e5\x00" var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data diff --git a/speedtest1/main_darwin_amd64.go b/speedtest1/main_darwin_amd64.go index be79cc0..6fba74a 100644 --- a/speedtest1/main_darwin_amd64.go +++ b/speedtest1/main_darwin_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -export-defines "" -o speedtest1/main_darwin_amd64.go -trace-translation-units testdata/sqlite-src-3360000/test/speedtest1.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. +// Code generated by 'ccgo -export-defines "" -o speedtest1/main_darwin_amd64.go -trace-translation-units testdata/sqlite-src-3360000/test/speedtest1.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT. package main @@ -289,6 +289,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -410,6 +421,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -642,6 +654,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3490,10 +3504,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -3545,10 +3558,9 @@ type Fts5ExtensionApi1 = struct { xPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** diff --git a/speedtest1/main_linux_386.go b/speedtest1/main_linux_386.go index 646558b..77ebf44 100644 --- a/speedtest1/main_linux_386.go +++ b/speedtest1/main_linux_386.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -export-defines "" -o speedtest1/main_linux_386.go -trace-translation-units testdata/sqlite-src-3360000/test/speedtest1.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -export-defines "" -o speedtest1/main_linux_386.go -trace-translation-units testdata/sqlite-src-3360000/test/speedtest1.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. package main @@ -89,6 +89,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -210,6 +221,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -442,6 +454,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3162,10 +3176,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -3216,10 +3229,9 @@ type Fts5ExtensionApi1 = struct { xPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** diff --git a/speedtest1/main_linux_amd64.go b/speedtest1/main_linux_amd64.go index ea21cf8..a532f80 100644 --- a/speedtest1/main_linux_amd64.go +++ b/speedtest1/main_linux_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -export-defines "" -o speedtest1/main_linux_amd64.go -trace-translation-units testdata/sqlite-src-3360000/test/speedtest1.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -export-defines "" -o speedtest1/main_linux_amd64.go -trace-translation-units testdata/sqlite-src-3360000/test/speedtest1.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT. package main @@ -89,6 +89,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -210,6 +221,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -441,6 +453,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3173,10 +3187,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -3228,10 +3241,9 @@ type Fts5ExtensionApi1 = struct { xPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** diff --git a/speedtest1/main_linux_arm.go b/speedtest1/main_linux_arm.go index 18dc217..4daf98a 100644 --- a/speedtest1/main_linux_arm.go +++ b/speedtest1/main_linux_arm.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -export-defines "" -o speedtest1/main_linux_arm.go -trace-translation-units testdata/sqlite-src-3360000/test/speedtest1.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -export-defines "" -o speedtest1/main_linux_arm.go -trace-translation-units testdata/sqlite-src-3360000/test/speedtest1.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. package main @@ -89,6 +89,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -210,6 +221,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -442,6 +454,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3169,10 +3183,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -3223,10 +3236,9 @@ type Fts5ExtensionApi1 = struct { xPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** diff --git a/speedtest1/main_linux_arm64.go b/speedtest1/main_linux_arm64.go index 4c6e82e..f467a07 100644 --- a/speedtest1/main_linux_arm64.go +++ b/speedtest1/main_linux_arm64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -export-defines "" -o speedtest1/main_linux_arm64.go -trace-translation-units testdata/sqlite-src-3360000/test/speedtest1.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. +// Code generated by 'ccgo -export-defines "" -o speedtest1/main_linux_arm64.go -trace-translation-units testdata/sqlite-src-3360000/test/speedtest1.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT. package main @@ -89,6 +89,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -210,6 +221,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -442,6 +454,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -3180,10 +3194,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -3235,10 +3248,9 @@ type Fts5ExtensionApi1 = struct { xPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** diff --git a/speedtest1/main_windows_amd64.go b/speedtest1/main_windows_amd64.go index 4597f23..66dd26b 100644 --- a/speedtest1/main_windows_amd64.go +++ b/speedtest1/main_windows_amd64.go @@ -1,4 +1,4 @@ -// Code generated by 'ccgo -export-defines "" -o speedtest1/main_windows_amd64.go -trace-translation-units testdata/sqlite-src-3360000/test/speedtest1.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT. +// Code generated by 'ccgo -export-defines "" -o speedtest1/main_windows_amd64.go -trace-translation-units testdata/sqlite-src-3360000/test/speedtest1.c -Itestdata/sqlite-amalgamation-3360000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -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_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT. package main @@ -100,6 +100,17 @@ const ( SQLITE_CANTOPEN_NOTEMPDIR = 270 SQLITE_CANTOPEN_SYMLINK = 1550 SQLITE_CDECL = 0 + SQLITE_CHANGESETAPPLY_INVERT = 0x0002 + SQLITE_CHANGESETAPPLY_NOSAVEPOINT = 0x0001 + SQLITE_CHANGESETSTART_INVERT = 0x0002 + SQLITE_CHANGESET_ABORT = 2 + SQLITE_CHANGESET_CONFLICT = 3 + SQLITE_CHANGESET_CONSTRAINT = 4 + SQLITE_CHANGESET_DATA = 1 + SQLITE_CHANGESET_FOREIGN_KEY = 5 + SQLITE_CHANGESET_NOTFOUND = 2 + SQLITE_CHANGESET_OMIT = 0 + SQLITE_CHANGESET_REPLACE = 1 SQLITE_CHECKPOINT_FULL = 1 SQLITE_CHECKPOINT_PASSIVE = 0 SQLITE_CHECKPOINT_RESTART = 2 @@ -221,6 +232,7 @@ const ( SQLITE_ENABLE_PREUPDATE_HOOK = 1 SQLITE_ENABLE_RBU = 1 SQLITE_ENABLE_RTREE = 1 + SQLITE_ENABLE_SESSION = 1 SQLITE_ENABLE_SNAPSHOT = 1 SQLITE_ENABLE_STAT4 = 1 SQLITE_ENABLE_UNLOCK_NOTIFY = 1 @@ -453,6 +465,8 @@ const ( SQLITE_SCHEMA = 17 SQLITE_SELECT = 21 SQLITE_SERIALIZE_NOCOPY = 0x001 + SQLITE_SESSION_CONFIG_STRMSIZE = 1 + SQLITE_SESSION_OBJCONFIG_SIZE = 1 SQLITE_SET_LOCKPROXYFILE = 3 SQLITE_SHM_EXCLUSIVE = 8 SQLITE_SHM_LOCK = 2 @@ -2718,10 +2732,9 @@ type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9958:41 * // SQLITE_RTREE_INT_ONLY compile-time option. type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ******** @@ -2773,10 +2786,9 @@ type Fts5ExtensionApi1 = struct { xPhraseNextColumn uintptr } /* sqlite3.h:11813:9 */ -// Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +// CAPI3REF: Values for sqlite3session_config(). -//******* End of sqlite3rtree.h ******** -//******* Begin file sqlite3session.h ******** +// Make sure we can call this stuff from C++. //******* End of sqlite3session.h ******** //******* Begin file fts5.h ********